Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
export default function(scale, p0, p1, count, group) {
scale = getScale(scale, (group || this).context);
const gradient = Gradient(p0, p1);
let stops = scale.domain(),
min = stops[0],
max = peek(stops),
fraction = identity
if (!(max - min)) {
// expand scale if domain has zero span, fix #1479
scale = (scale.interpolator
? get('sequential')().interpolator(scale.interpolator())
: get('linear')().interpolate(scale.interpolate()).range(scale.range())
).domain([min=0, max=1]);
} else {
fraction = scaleFraction(scale, min, max);
}
if (scale.ticks) {
stops = scale.ticks(+count || 15);
if (min !== stops[0]) stops.unshift(min);
if (max !== peek(stops)) stops.push(max);
}
stops.forEach(_ => gradient.stop(fraction(_), scale(_)));
return gradient;
}
export default function(scale, p0, p1, count, group) {
scale = getScale(scale, (group || this).context);
const gradient = Gradient(p0, p1);
let stops = scale.domain(),
min = stops[0],
max = peek(stops),
fraction = identity
if (!(max - min)) {
// expand scale if domain has zero span, fix #1479
scale = (scale.interpolator
? get('sequential')().interpolator(scale.interpolator())
: get('linear')().interpolate(scale.interpolate()).range(scale.range())
).domain([min=0, max=1]);
} else {
fraction = scaleFraction(scale, min, max);
}
if (scale.ticks) {
stops = scale.ticks(+count || 15);
if (min !== stops[0]) stops.unshift(min);
if (max !== peek(stops)) stops.push(max);
}
stops.forEach(_ => gradient.stop(fraction(_), scale(_)));
return gradient;
}
if (!(mod || pulse.changed(pulse.ADD_REM) || Params.some(modp))) return;
var data = pulse.materialize(pulse.SOURCE).source,
layout = this.value,
as = _.as || Output,
fontSize = _.fontSize || 14,
range;
isFunction(fontSize)
? (range = _.fontSizeRange)
: (fontSize = constant(fontSize));
// create font size scaling function as needed
if (range) {
var fsize = fontSize,
sizeScale = scale('sqrt')()
.domain(extent(fsize, data))
.range(range);
fontSize = function(x) { return sizeScale(fsize(x)); };
}
data.forEach(function(t) {
t[as[0]] = NaN;
t[as[1]] = NaN;
t[as[3]] = 0;
});
// configure layout
var words = layout
.words(data)
.text(_.text)
.size(_.size || [500, 500])
prototype.transform = function(_, pulse) {
var df = pulse.dataflow,
scale = this.value,
key = scaleKey(_);
if (!scale || key !== scale.type) {
this.value = scale = getScale(key)();
}
for (key in _) if (!SKIP[key]) {
// padding is a scale property for band/point but not others
if (key === 'padding' && includePad(scale.type)) continue;
// invoke scale property setter, raise warning if not found
isFunction(scale[key])
? scale[key](_[key])
: df.warn('Unsupported scale property: ' + key);
}
configureRange(scale, _,
configureBins(scale, _, configureDomain(scale, _, df))
);
return pulse.fork(pulse.NO_SOURCE | pulse.NO_FIELDS);