Socket
Socket
Sign inDemoInstall

@nivo/scales

Package Overview
Dependencies
4
Maintainers
2
Versions
49
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.73.0 to 0.74.0

dist/types/ticks.d.ts

230

dist/nivo-scales.cjs.js

@@ -14,2 +14,3 @@ 'use strict';

var d3Scale = require('d3-scale');
var d3Time = require('d3-time');

@@ -180,2 +181,6 @@ function _arrayLikeToArray(arr, len) {

if (nice === true) scale.nice();else if (typeof nice === 'number') scale.nice(nice);
return castLinearScale(scale, stacked);
};
var castLinearScale = function castLinearScale(scale) {
var stacked = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
var typedScale = scale;

@@ -198,2 +203,5 @@ typedScale.type = 'linear';

var scale = d3Scale.scaleBand().range(axis === 'x' ? [0, size] : [size, 0]).domain(data.all).round(round);
return castBandScale(scale);
};
var castBandScale = function castBandScale(scale) {
var typedScale = scale;

@@ -372,21 +380,41 @@ typedScale.type = 'band';

}
var computeXYScalesForSeries = function computeXYScalesForSeries(_series, xScaleSpec, yScaleSpec, width, height) {
var series = _series.map(function (serie) {
return _objectSpread2(_objectSpread2({}, serie), {}, {
data: serie.data.map(function (d) {
return {
data: _objectSpread2({}, d)
};
})
});
var nestSerieData = function nestSerieData(serie) {
return _objectSpread2(_objectSpread2({}, serie), {}, {
data: serie.data.map(function (d) {
return {
data: _objectSpread2({}, d)
};
})
});
};
var xy = generateSeriesXY(series, xScaleSpec, yScaleSpec);
var getDatumAxisPosition = function getDatumAxisPosition(datum, axis, scale) {
var _scale;
if ('stacked' in scale && scale.stacked) {
var stackedValue = datum.data[axis === 'x' ? 'xStacked' : 'yStacked'];
if (stackedValue === null || stackedValue === undefined) {
return null;
}
return scale(stackedValue);
}
return (_scale = scale(datum.data[axis])) !== null && _scale !== void 0 ? _scale : null;
};
var computeXYScalesForSeries = function computeXYScalesForSeries(series, xScaleSpec, yScaleSpec, width, height) {
var nestedSeries = series.map(function (serie) {
return nestSerieData(serie);
});
var xy = generateSeriesXY(nestedSeries, xScaleSpec, yScaleSpec);
if ('stacked' in xScaleSpec && xScaleSpec.stacked === true) {
stackX(xy, series);
stackX(xy, nestedSeries);
}
if ('stacked' in yScaleSpec && yScaleSpec.stacked === true) {
stackY(xy, series);
stackY(xy, nestedSeries);
}

@@ -396,14 +424,16 @@

var yScale = computeScale(yScaleSpec, xy.y, height, 'y');
series.forEach(function (serie) {
serie.data.forEach(function (d) {
var _xScale, _yScale;
d.position = {
x: 'stacked' in xScale && xScale.stacked === true ? d.data.xStacked === null ? null : xScale(d.data.xStacked) : d.data.x === null ? null : (_xScale = xScale(d.data.x)) !== null && _xScale !== void 0 ? _xScale : null,
y: 'stacked' in yScale && yScale.stacked === true ? d.data.yStacked === null ? null : yScale(d.data.yStacked) : d.data.y === null ? null : (_yScale = yScale(d.data.y)) !== null && _yScale !== void 0 ? _yScale : null
};
var computedSeries = nestedSeries.map(function (serie) {
return _objectSpread2(_objectSpread2({}, serie), {}, {
data: serie.data.map(function (datum) {
return _objectSpread2(_objectSpread2({}, datum), {}, {
position: {
x: getDatumAxisPosition(datum, 'x', xScale),
y: getDatumAxisPosition(datum, 'y', yScale)
}
});
})
});
});
return _objectSpread2(_objectSpread2({}, xy), {}, {
series: series,
series: computedSeries,
xScale: xScale,

@@ -463,3 +493,5 @@ yScale: yScale

{
var all = sortBy(uniq(values), function (v) {
var all = sortBy(uniq(values).filter(function (v) {
return v !== null;
}), function (v) {
return v;

@@ -527,3 +559,3 @@ });

datum.data["".concat(axis, "Stacked")] = stackValue;
datum.data[axis === 'x' ? 'xStacked' : 'yStacked'] = stackValue;
}

@@ -550,2 +582,153 @@

function _arrayWithHoles(arr) {
if (Array.isArray(arr)) return arr;
}
function _iterableToArrayLimit(arr, i) {
if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return;
var _arr = [];
var _n = true;
var _d = false;
var _e = undefined;
try {
for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {
_arr.push(_s.value);
if (i && _arr.length === i) break;
}
} catch (err) {
_d = true;
_e = err;
} finally {
try {
if (!_n && _i["return"] != null) _i["return"]();
} finally {
if (_d) throw _e;
}
}
return _arr;
}
function _nonIterableRest() {
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
function _slicedToArray(arr, i) {
return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
}
var centerScale = function centerScale(scale) {
var bandwidth = scale.bandwidth();
if (bandwidth === 0) return scale;
var offset = bandwidth / 2;
if (scale.round()) {
offset = Math.round(offset);
}
return function (d) {
var _scale;
return ((_scale = scale(d)) !== null && _scale !== void 0 ? _scale : 0) + offset;
};
};
var timeDay = d3Time.timeInterval(function (date) {
return date.setHours(0, 0, 0, 0);
}, function (date, step) {
return date.setDate(date.getDate() + step);
}, function (start, end) {
return (end.getTime() - start.getTime()) / 864e5;
}, function (date) {
return Math.floor(date.getTime() / 864e5);
});
var utcDay = d3Time.timeInterval(function (date) {
return date.setUTCHours(0, 0, 0, 0);
}, function (date, step) {
return date.setUTCDate(date.getUTCDate() + step);
}, function (start, end) {
return (end.getTime() - start.getTime()) / 864e5;
}, function (date) {
return Math.floor(date.getTime() / 864e5);
});
var timeByType = {
millisecond: [d3Time.timeMillisecond, d3Time.utcMillisecond],
second: [d3Time.timeSecond, d3Time.utcSecond],
minute: [d3Time.timeMinute, d3Time.utcMinute],
hour: [d3Time.timeHour, d3Time.utcHour],
day: [timeDay, utcDay],
week: [d3Time.timeWeek, d3Time.utcWeek],
sunday: [d3Time.timeSunday, d3Time.utcSunday],
monday: [d3Time.timeMonday, d3Time.utcMonday],
tuesday: [d3Time.timeTuesday, d3Time.utcTuesday],
wednesday: [d3Time.timeWednesday, d3Time.utcWednesday],
thursday: [d3Time.timeThursday, d3Time.utcThursday],
friday: [d3Time.timeFriday, d3Time.utcFriday],
saturday: [d3Time.timeSaturday, d3Time.utcSaturday],
month: [d3Time.timeMonth, d3Time.utcMonth],
year: [d3Time.timeYear, d3Time.utcYear]
};
var timeTypes = Object.keys(timeByType);
var timeIntervalRegexp = new RegExp("^every\\s*(\\d+)?\\s*(".concat(timeTypes.join('|'), ")s?$"), 'i');
var isInteger = function isInteger(value) {
return typeof value === 'number' && isFinite(value) && Math.floor(value) === value;
};
var getScaleTicks = function getScaleTicks(scale, spec) {
if (Array.isArray(spec)) {
return spec;
}
if (typeof spec === 'string' && 'useUTC' in scale) {
var matches = spec.match(timeIntervalRegexp);
if (matches) {
var _matches = _slicedToArray(matches, 3),
amount = _matches[1],
type = _matches[2];
var timeType = timeByType[type][scale.useUTC ? 1 : 0];
if (type === 'day') {
var _timeType$every$range, _timeType$every;
var _scale$domain = scale.domain(),
_scale$domain2 = _slicedToArray(_scale$domain, 2),
start = _scale$domain2[0],
originalStop = _scale$domain2[1];
var stop = new Date(originalStop);
stop.setDate(stop.getDate() + 1);
return (_timeType$every$range = (_timeType$every = timeType.every(Number(amount !== null && amount !== void 0 ? amount : 1))) === null || _timeType$every === void 0 ? void 0 : _timeType$every.range(start, stop)) !== null && _timeType$every$range !== void 0 ? _timeType$every$range : [];
}
if (amount === undefined) {
return scale.ticks(timeType);
}
var interval = timeType.every(Number(amount));
if (interval) {
return scale.ticks(interval);
}
}
throw new Error("Invalid tickValues: ".concat(spec));
}
if ('ticks' in scale) {
if (spec === undefined) {
return scale.ticks();
}
if (isInteger(spec)) {
return scale.ticks(spec);
}
}
return scale.domain();
};
exports.castBandScale = castBandScale;
exports.castLinearScale = castLinearScale;
exports.centerScale = centerScale;
exports.compareDateValues = compareDateValues;

@@ -566,2 +749,3 @@ exports.compareValues = compareValues;

exports.getOtherAxis = getOtherAxis;
exports.getScaleTicks = getScaleTicks;
exports.precisionCutOffs = precisionCutOffs;

@@ -568,0 +752,0 @@ exports.precisionCutOffsByType = precisionCutOffsByType;

@@ -8,2 +8,3 @@ import uniq from 'lodash/uniq';

import { scaleLinear, scalePoint, scaleBand, scaleUtc, scaleTime, scaleLog, scaleSymlog } from 'd3-scale';
import { timeInterval, timeMillisecond, utcMillisecond, timeSecond, utcSecond, timeMinute, utcMinute, timeHour, utcHour, timeWeek, utcWeek, timeSunday, utcSunday, timeMonday, utcMonday, timeTuesday, utcTuesday, timeWednesday, utcWednesday, timeThursday, utcThursday, timeFriday, utcFriday, timeSaturday, utcSaturday, timeMonth, utcMonth, timeYear, utcYear } from 'd3-time';

@@ -174,2 +175,6 @@ function _arrayLikeToArray(arr, len) {

if (nice === true) scale.nice();else if (typeof nice === 'number') scale.nice(nice);
return castLinearScale(scale, stacked);
};
var castLinearScale = function castLinearScale(scale) {
var stacked = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
var typedScale = scale;

@@ -192,2 +197,5 @@ typedScale.type = 'linear';

var scale = scaleBand().range(axis === 'x' ? [0, size] : [size, 0]).domain(data.all).round(round);
return castBandScale(scale);
};
var castBandScale = function castBandScale(scale) {
var typedScale = scale;

@@ -366,21 +374,41 @@ typedScale.type = 'band';

}
var computeXYScalesForSeries = function computeXYScalesForSeries(_series, xScaleSpec, yScaleSpec, width, height) {
var series = _series.map(function (serie) {
return _objectSpread2(_objectSpread2({}, serie), {}, {
data: serie.data.map(function (d) {
return {
data: _objectSpread2({}, d)
};
})
});
var nestSerieData = function nestSerieData(serie) {
return _objectSpread2(_objectSpread2({}, serie), {}, {
data: serie.data.map(function (d) {
return {
data: _objectSpread2({}, d)
};
})
});
};
var xy = generateSeriesXY(series, xScaleSpec, yScaleSpec);
var getDatumAxisPosition = function getDatumAxisPosition(datum, axis, scale) {
var _scale;
if ('stacked' in scale && scale.stacked) {
var stackedValue = datum.data[axis === 'x' ? 'xStacked' : 'yStacked'];
if (stackedValue === null || stackedValue === undefined) {
return null;
}
return scale(stackedValue);
}
return (_scale = scale(datum.data[axis])) !== null && _scale !== void 0 ? _scale : null;
};
var computeXYScalesForSeries = function computeXYScalesForSeries(series, xScaleSpec, yScaleSpec, width, height) {
var nestedSeries = series.map(function (serie) {
return nestSerieData(serie);
});
var xy = generateSeriesXY(nestedSeries, xScaleSpec, yScaleSpec);
if ('stacked' in xScaleSpec && xScaleSpec.stacked === true) {
stackX(xy, series);
stackX(xy, nestedSeries);
}
if ('stacked' in yScaleSpec && yScaleSpec.stacked === true) {
stackY(xy, series);
stackY(xy, nestedSeries);
}

@@ -390,14 +418,16 @@

var yScale = computeScale(yScaleSpec, xy.y, height, 'y');
series.forEach(function (serie) {
serie.data.forEach(function (d) {
var _xScale, _yScale;
d.position = {
x: 'stacked' in xScale && xScale.stacked === true ? d.data.xStacked === null ? null : xScale(d.data.xStacked) : d.data.x === null ? null : (_xScale = xScale(d.data.x)) !== null && _xScale !== void 0 ? _xScale : null,
y: 'stacked' in yScale && yScale.stacked === true ? d.data.yStacked === null ? null : yScale(d.data.yStacked) : d.data.y === null ? null : (_yScale = yScale(d.data.y)) !== null && _yScale !== void 0 ? _yScale : null
};
var computedSeries = nestedSeries.map(function (serie) {
return _objectSpread2(_objectSpread2({}, serie), {}, {
data: serie.data.map(function (datum) {
return _objectSpread2(_objectSpread2({}, datum), {}, {
position: {
x: getDatumAxisPosition(datum, 'x', xScale),
y: getDatumAxisPosition(datum, 'y', yScale)
}
});
})
});
});
return _objectSpread2(_objectSpread2({}, xy), {}, {
series: series,
series: computedSeries,
xScale: xScale,

@@ -457,3 +487,5 @@ yScale: yScale

{
var all = sortBy(uniq(values), function (v) {
var all = sortBy(uniq(values).filter(function (v) {
return v !== null;
}), function (v) {
return v;

@@ -521,3 +553,3 @@ });

datum.data["".concat(axis, "Stacked")] = stackValue;
datum.data[axis === 'x' ? 'xStacked' : 'yStacked'] = stackValue;
}

@@ -544,3 +576,151 @@

export { compareDateValues, compareValues, computeScale, computeXYScalesForSeries, createBandScale, createDateNormalizer, createLinearScale, createLogScale, createPointScale, createPrecisionMethod, createSymlogScale, createTimeScale, generateSeriesAxis, generateSeriesXY, getOtherAxis, precisionCutOffs, precisionCutOffsByType, stackAxis, timePrecisions };
function _arrayWithHoles(arr) {
if (Array.isArray(arr)) return arr;
}
function _iterableToArrayLimit(arr, i) {
if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return;
var _arr = [];
var _n = true;
var _d = false;
var _e = undefined;
try {
for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {
_arr.push(_s.value);
if (i && _arr.length === i) break;
}
} catch (err) {
_d = true;
_e = err;
} finally {
try {
if (!_n && _i["return"] != null) _i["return"]();
} finally {
if (_d) throw _e;
}
}
return _arr;
}
function _nonIterableRest() {
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
function _slicedToArray(arr, i) {
return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
}
var centerScale = function centerScale(scale) {
var bandwidth = scale.bandwidth();
if (bandwidth === 0) return scale;
var offset = bandwidth / 2;
if (scale.round()) {
offset = Math.round(offset);
}
return function (d) {
var _scale;
return ((_scale = scale(d)) !== null && _scale !== void 0 ? _scale : 0) + offset;
};
};
var timeDay = timeInterval(function (date) {
return date.setHours(0, 0, 0, 0);
}, function (date, step) {
return date.setDate(date.getDate() + step);
}, function (start, end) {
return (end.getTime() - start.getTime()) / 864e5;
}, function (date) {
return Math.floor(date.getTime() / 864e5);
});
var utcDay = timeInterval(function (date) {
return date.setUTCHours(0, 0, 0, 0);
}, function (date, step) {
return date.setUTCDate(date.getUTCDate() + step);
}, function (start, end) {
return (end.getTime() - start.getTime()) / 864e5;
}, function (date) {
return Math.floor(date.getTime() / 864e5);
});
var timeByType = {
millisecond: [timeMillisecond, utcMillisecond],
second: [timeSecond, utcSecond],
minute: [timeMinute, utcMinute],
hour: [timeHour, utcHour],
day: [timeDay, utcDay],
week: [timeWeek, utcWeek],
sunday: [timeSunday, utcSunday],
monday: [timeMonday, utcMonday],
tuesday: [timeTuesday, utcTuesday],
wednesday: [timeWednesday, utcWednesday],
thursday: [timeThursday, utcThursday],
friday: [timeFriday, utcFriday],
saturday: [timeSaturday, utcSaturday],
month: [timeMonth, utcMonth],
year: [timeYear, utcYear]
};
var timeTypes = Object.keys(timeByType);
var timeIntervalRegexp = new RegExp("^every\\s*(\\d+)?\\s*(".concat(timeTypes.join('|'), ")s?$"), 'i');
var isInteger = function isInteger(value) {
return typeof value === 'number' && isFinite(value) && Math.floor(value) === value;
};
var getScaleTicks = function getScaleTicks(scale, spec) {
if (Array.isArray(spec)) {
return spec;
}
if (typeof spec === 'string' && 'useUTC' in scale) {
var matches = spec.match(timeIntervalRegexp);
if (matches) {
var _matches = _slicedToArray(matches, 3),
amount = _matches[1],
type = _matches[2];
var timeType = timeByType[type][scale.useUTC ? 1 : 0];
if (type === 'day') {
var _timeType$every$range, _timeType$every;
var _scale$domain = scale.domain(),
_scale$domain2 = _slicedToArray(_scale$domain, 2),
start = _scale$domain2[0],
originalStop = _scale$domain2[1];
var stop = new Date(originalStop);
stop.setDate(stop.getDate() + 1);
return (_timeType$every$range = (_timeType$every = timeType.every(Number(amount !== null && amount !== void 0 ? amount : 1))) === null || _timeType$every === void 0 ? void 0 : _timeType$every.range(start, stop)) !== null && _timeType$every$range !== void 0 ? _timeType$every$range : [];
}
if (amount === undefined) {
return scale.ticks(timeType);
}
var interval = timeType.every(Number(amount));
if (interval) {
return scale.ticks(interval);
}
}
throw new Error("Invalid tickValues: ".concat(spec));
}
if ('ticks' in scale) {
if (spec === undefined) {
return scale.ticks();
}
if (isInteger(spec)) {
return scale.ticks(spec);
}
}
return scale.domain();
};
export { castBandScale, castLinearScale, centerScale, compareDateValues, compareValues, computeScale, computeXYScalesForSeries, createBandScale, createDateNormalizer, createLinearScale, createLogScale, createPointScale, createPrecisionMethod, createSymlogScale, createTimeScale, generateSeriesAxis, generateSeriesXY, getOtherAxis, getScaleTicks, precisionCutOffs, precisionCutOffsByType, stackAxis, timePrecisions };
//# sourceMappingURL=nivo-scales.es.js.map
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('lodash/uniq'), require('lodash/uniqBy'), require('lodash/sortBy'), require('lodash/last'), require('lodash/isDate'), require('d3-time-format'), require('d3-scale')) :
typeof define === 'function' && define.amd ? define(['exports', 'lodash/uniq', 'lodash/uniqBy', 'lodash/sortBy', 'lodash/last', 'lodash/isDate', 'd3-time-format', 'd3-scale'], factory) :
(global = global || self, factory(global.nivo = global.nivo || {}, global['lodash/uniq'], global['lodash/uniqBy'], global['lodash/sortBy'], global['lodash/last'], global['lodash/isDate'], global.d3, global.d3));
}(this, (function (exports, uniq, uniqBy, sortBy, last, isDate, d3TimeFormat, d3Scale) { 'use strict';
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('lodash/uniq'), require('lodash/uniqBy'), require('lodash/sortBy'), require('lodash/last'), require('lodash/isDate'), require('d3-time-format'), require('d3-scale'), require('d3-time')) :
typeof define === 'function' && define.amd ? define(['exports', 'lodash/uniq', 'lodash/uniqBy', 'lodash/sortBy', 'lodash/last', 'lodash/isDate', 'd3-time-format', 'd3-scale', 'd3-time'], factory) :
(global = global || self, factory(global.nivo = global.nivo || {}, global['lodash/uniq'], global['lodash/uniqBy'], global['lodash/sortBy'], global['lodash/last'], global['lodash/isDate'], global.d3, global.d3, global.d3));
}(this, (function (exports, uniq, uniqBy, sortBy, last, isDate, d3TimeFormat, d3Scale, d3Time) { 'use strict';

@@ -177,2 +177,6 @@ uniq = uniq && Object.prototype.hasOwnProperty.call(uniq, 'default') ? uniq['default'] : uniq;

if (nice === true) scale.nice();else if (typeof nice === 'number') scale.nice(nice);
return castLinearScale(scale, stacked);
};
var castLinearScale = function castLinearScale(scale) {
var stacked = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
var typedScale = scale;

@@ -195,2 +199,5 @@ typedScale.type = 'linear';

var scale = d3Scale.scaleBand().range(axis === 'x' ? [0, size] : [size, 0]).domain(data.all).round(round);
return castBandScale(scale);
};
var castBandScale = function castBandScale(scale) {
var typedScale = scale;

@@ -369,21 +376,41 @@ typedScale.type = 'band';

}
var computeXYScalesForSeries = function computeXYScalesForSeries(_series, xScaleSpec, yScaleSpec, width, height) {
var series = _series.map(function (serie) {
return _objectSpread2(_objectSpread2({}, serie), {}, {
data: serie.data.map(function (d) {
return {
data: _objectSpread2({}, d)
};
})
});
var nestSerieData = function nestSerieData(serie) {
return _objectSpread2(_objectSpread2({}, serie), {}, {
data: serie.data.map(function (d) {
return {
data: _objectSpread2({}, d)
};
})
});
};
var xy = generateSeriesXY(series, xScaleSpec, yScaleSpec);
var getDatumAxisPosition = function getDatumAxisPosition(datum, axis, scale) {
var _scale;
if ('stacked' in scale && scale.stacked) {
var stackedValue = datum.data[axis === 'x' ? 'xStacked' : 'yStacked'];
if (stackedValue === null || stackedValue === undefined) {
return null;
}
return scale(stackedValue);
}
return (_scale = scale(datum.data[axis])) !== null && _scale !== void 0 ? _scale : null;
};
var computeXYScalesForSeries = function computeXYScalesForSeries(series, xScaleSpec, yScaleSpec, width, height) {
var nestedSeries = series.map(function (serie) {
return nestSerieData(serie);
});
var xy = generateSeriesXY(nestedSeries, xScaleSpec, yScaleSpec);
if ('stacked' in xScaleSpec && xScaleSpec.stacked === true) {
stackX(xy, series);
stackX(xy, nestedSeries);
}
if ('stacked' in yScaleSpec && yScaleSpec.stacked === true) {
stackY(xy, series);
stackY(xy, nestedSeries);
}

@@ -393,14 +420,16 @@

var yScale = computeScale(yScaleSpec, xy.y, height, 'y');
series.forEach(function (serie) {
serie.data.forEach(function (d) {
var _xScale, _yScale;
d.position = {
x: 'stacked' in xScale && xScale.stacked === true ? d.data.xStacked === null ? null : xScale(d.data.xStacked) : d.data.x === null ? null : (_xScale = xScale(d.data.x)) !== null && _xScale !== void 0 ? _xScale : null,
y: 'stacked' in yScale && yScale.stacked === true ? d.data.yStacked === null ? null : yScale(d.data.yStacked) : d.data.y === null ? null : (_yScale = yScale(d.data.y)) !== null && _yScale !== void 0 ? _yScale : null
};
var computedSeries = nestedSeries.map(function (serie) {
return _objectSpread2(_objectSpread2({}, serie), {}, {
data: serie.data.map(function (datum) {
return _objectSpread2(_objectSpread2({}, datum), {}, {
position: {
x: getDatumAxisPosition(datum, 'x', xScale),
y: getDatumAxisPosition(datum, 'y', yScale)
}
});
})
});
});
return _objectSpread2(_objectSpread2({}, xy), {}, {
series: series,
series: computedSeries,
xScale: xScale,

@@ -460,3 +489,5 @@ yScale: yScale

{
var all = sortBy(uniq(values), function (v) {
var all = sortBy(uniq(values).filter(function (v) {
return v !== null;
}), function (v) {
return v;

@@ -524,3 +555,3 @@ });

datum.data["".concat(axis, "Stacked")] = stackValue;
datum.data[axis === 'x' ? 'xStacked' : 'yStacked'] = stackValue;
}

@@ -547,2 +578,153 @@

function _arrayWithHoles(arr) {
if (Array.isArray(arr)) return arr;
}
function _iterableToArrayLimit(arr, i) {
if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return;
var _arr = [];
var _n = true;
var _d = false;
var _e = undefined;
try {
for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {
_arr.push(_s.value);
if (i && _arr.length === i) break;
}
} catch (err) {
_d = true;
_e = err;
} finally {
try {
if (!_n && _i["return"] != null) _i["return"]();
} finally {
if (_d) throw _e;
}
}
return _arr;
}
function _nonIterableRest() {
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
function _slicedToArray(arr, i) {
return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
}
var centerScale = function centerScale(scale) {
var bandwidth = scale.bandwidth();
if (bandwidth === 0) return scale;
var offset = bandwidth / 2;
if (scale.round()) {
offset = Math.round(offset);
}
return function (d) {
var _scale;
return ((_scale = scale(d)) !== null && _scale !== void 0 ? _scale : 0) + offset;
};
};
var timeDay = d3Time.timeInterval(function (date) {
return date.setHours(0, 0, 0, 0);
}, function (date, step) {
return date.setDate(date.getDate() + step);
}, function (start, end) {
return (end.getTime() - start.getTime()) / 864e5;
}, function (date) {
return Math.floor(date.getTime() / 864e5);
});
var utcDay = d3Time.timeInterval(function (date) {
return date.setUTCHours(0, 0, 0, 0);
}, function (date, step) {
return date.setUTCDate(date.getUTCDate() + step);
}, function (start, end) {
return (end.getTime() - start.getTime()) / 864e5;
}, function (date) {
return Math.floor(date.getTime() / 864e5);
});
var timeByType = {
millisecond: [d3Time.timeMillisecond, d3Time.utcMillisecond],
second: [d3Time.timeSecond, d3Time.utcSecond],
minute: [d3Time.timeMinute, d3Time.utcMinute],
hour: [d3Time.timeHour, d3Time.utcHour],
day: [timeDay, utcDay],
week: [d3Time.timeWeek, d3Time.utcWeek],
sunday: [d3Time.timeSunday, d3Time.utcSunday],
monday: [d3Time.timeMonday, d3Time.utcMonday],
tuesday: [d3Time.timeTuesday, d3Time.utcTuesday],
wednesday: [d3Time.timeWednesday, d3Time.utcWednesday],
thursday: [d3Time.timeThursday, d3Time.utcThursday],
friday: [d3Time.timeFriday, d3Time.utcFriday],
saturday: [d3Time.timeSaturday, d3Time.utcSaturday],
month: [d3Time.timeMonth, d3Time.utcMonth],
year: [d3Time.timeYear, d3Time.utcYear]
};
var timeTypes = Object.keys(timeByType);
var timeIntervalRegexp = new RegExp("^every\\s*(\\d+)?\\s*(".concat(timeTypes.join('|'), ")s?$"), 'i');
var isInteger = function isInteger(value) {
return typeof value === 'number' && isFinite(value) && Math.floor(value) === value;
};
var getScaleTicks = function getScaleTicks(scale, spec) {
if (Array.isArray(spec)) {
return spec;
}
if (typeof spec === 'string' && 'useUTC' in scale) {
var matches = spec.match(timeIntervalRegexp);
if (matches) {
var _matches = _slicedToArray(matches, 3),
amount = _matches[1],
type = _matches[2];
var timeType = timeByType[type][scale.useUTC ? 1 : 0];
if (type === 'day') {
var _timeType$every$range, _timeType$every;
var _scale$domain = scale.domain(),
_scale$domain2 = _slicedToArray(_scale$domain, 2),
start = _scale$domain2[0],
originalStop = _scale$domain2[1];
var stop = new Date(originalStop);
stop.setDate(stop.getDate() + 1);
return (_timeType$every$range = (_timeType$every = timeType.every(Number(amount !== null && amount !== void 0 ? amount : 1))) === null || _timeType$every === void 0 ? void 0 : _timeType$every.range(start, stop)) !== null && _timeType$every$range !== void 0 ? _timeType$every$range : [];
}
if (amount === undefined) {
return scale.ticks(timeType);
}
var interval = timeType.every(Number(amount));
if (interval) {
return scale.ticks(interval);
}
}
throw new Error("Invalid tickValues: ".concat(spec));
}
if ('ticks' in scale) {
if (spec === undefined) {
return scale.ticks();
}
if (isInteger(spec)) {
return scale.ticks(spec);
}
}
return scale.domain();
};
exports.castBandScale = castBandScale;
exports.castLinearScale = castLinearScale;
exports.centerScale = centerScale;
exports.compareDateValues = compareDateValues;

@@ -563,2 +745,3 @@ exports.compareValues = compareValues;

exports.getOtherAxis = getOtherAxis;
exports.getScaleTicks = getScaleTicks;
exports.precisionCutOffs = precisionCutOffs;

@@ -565,0 +748,0 @@ exports.precisionCutOffsByType = precisionCutOffsByType;

@@ -0,3 +1,5 @@

import { ScaleBand as D3ScaleBand } from 'd3-scale';
import { ComputedSerieAxis, ScaleBand, ScaleBandSpec, StringValue, ScaleAxis } from './types';
export declare const createBandScale: <Input extends StringValue>({ round }: ScaleBandSpec, data: ComputedSerieAxis<Input>, size: number, axis: ScaleAxis) => ScaleBand<Input>;
export declare const castBandScale: <Input>(scale: D3ScaleBand<Input>) => ScaleBand<Input>;
//# sourceMappingURL=bandScale.d.ts.map

56

dist/types/compute.d.ts

@@ -1,2 +0,2 @@

import { ScaleAxis, ScaleSpec, Series, ScaleValue, SerieAxis, ComputedSerieAxis } from './types';
import { ScaleAxis, ScaleSpec, ScaleValue, SerieAxis, ComputedSerieAxis } from './types';
declare type XY = ReturnType<typeof generateSeriesXY>;

@@ -9,22 +9,25 @@ declare type StackedXY = {

};
declare type InputXYSeries = Record<'x' | 'y', number | string | Date | null>;
interface Data {
x: number;
xStacked: number | null;
y: number;
yStacked: number | null;
[key: string]: number | null;
interface SerieDatum {
x: number | string | Date;
xStacked?: number | null;
y: number | string | Date;
yStacked?: number | null;
}
declare type XYSeries = InputXYSeries & {
data: Data[];
declare type Serie<S = never, D extends SerieDatum = SerieDatum> = S & {
data: D[];
};
interface ComputedXYSeries extends InputXYSeries {
data: Array<{
data: Data;
declare type NestedSerie<S = never, D extends SerieDatum = SerieDatum> = S & {
data: {
data: D;
}[];
};
export declare type ComputedSerie<S = never, D extends SerieDatum = SerieDatum> = S & {
data: {
data: D;
position: {
x: ScaleValue | null;
y: ScaleValue | null;
x: number | null;
y: number | null;
};
}>;
}
}[];
};
export declare const getOtherAxis: (axis: ScaleAxis) => ScaleAxis;

@@ -34,6 +37,13 @@ export declare const compareValues: (a: string | number, b: string | number) => boolean;

export declare function computeScale<Input extends ScaleValue>(spec: ScaleSpec, data: ComputedSerieAxis<any>, size: number, axis: ScaleAxis): import("./types").ScaleSymlog | import("d3-scale").ScaleLogarithmic<number, number, never> | import("./types").ScaleLinear<number> | import("./types").ScalePoint<Input> | import("./types").ScaleBand<Input> | import("./types").ScaleTime<Date | import("d3-scale").NumberValue>;
export declare const computeXYScalesForSeries: (_series: XYSeries[], xScaleSpec: ScaleSpec, yScaleSpec: ScaleSpec, width: number, height: number) => {
series: ComputedXYSeries[];
xScale: import("./types").ScaleSymlog | import("d3-scale").ScaleLogarithmic<number, number, never> | import("./types").ScaleLinear<number> | import("./types").ScaleTime<Date | import("d3-scale").NumberValue> | import("./types").ScalePoint<ScaleValue> | import("./types").ScaleBand<ScaleValue>;
yScale: import("./types").ScaleSymlog | import("d3-scale").ScaleLogarithmic<number, number, never> | import("./types").ScaleLinear<number> | import("./types").ScaleTime<Date | import("d3-scale").NumberValue> | import("./types").ScalePoint<ScaleValue> | import("./types").ScaleBand<ScaleValue>;
/**
* Compute x/y d3 scales from an array of data series, and scale specifications.
*
* We use generics as it's not uncommon to have extra properties such as an id
* added to the series, or extra props on data, in such case, you should override
* the default types.
*/
export declare const computeXYScalesForSeries: <S = never, D extends SerieDatum = SerieDatum>(series: Serie<S, D>[], xScaleSpec: ScaleSpec, yScaleSpec: ScaleSpec, width: number, height: number) => {
series: ComputedSerie<S, D>[];
xScale: import("./types").ScaleSymlog | import("d3-scale").ScaleLogarithmic<number, number, never> | import("./types").ScaleLinear<number> | import("./types").ScaleTime<Date | import("d3-scale").NumberValue> | import("./types").ScalePoint<D["x"]> | import("./types").ScaleBand<D["x"]>;
yScale: import("./types").ScaleSymlog | import("d3-scale").ScaleLogarithmic<number, number, never> | import("./types").ScaleLinear<number> | import("./types").ScaleTime<Date | import("d3-scale").NumberValue> | import("./types").ScalePoint<D["y"]> | import("./types").ScaleBand<D["y"]>;
x: {

@@ -50,3 +60,3 @@ all: unknown[];

};
export declare const generateSeriesXY: <XValue extends ScaleValue, YValue extends ScaleValue>(series: Series<XValue, YValue>, xScaleSpec: ScaleSpec, yScaleSpec: ScaleSpec) => {
export declare const generateSeriesXY: <S = never, D extends SerieDatum = SerieDatum>(series: NestedSerie<S, D>[], xScaleSpec: ScaleSpec, yScaleSpec: ScaleSpec) => {
x: {

@@ -79,4 +89,4 @@ all: unknown[];

};
export declare const stackAxis: (axis: ScaleAxis, xy: StackedXY, series: ComputedXYSeries[]) => void;
export declare const stackAxis: <S = never, D extends SerieDatum = SerieDatum>(axis: ScaleAxis, xy: StackedXY, series: NestedSerie<S, D>[]) => void;
export {};
//# sourceMappingURL=compute.d.ts.map

@@ -9,3 +9,4 @@ export * from './compute';

export * from './bandScale';
export * from './ticks';
export * from './types';
//# sourceMappingURL=index.d.ts.map

@@ -1,4 +0,5 @@

import { NumberValue } from 'd3-scale';
import { NumberValue, ScaleLinear as D3ScaleLinear } from 'd3-scale';
import { ScaleLinearSpec, ScaleLinear, ComputedSerieAxis, ScaleAxis } from './types';
export declare const createLinearScale: <Output extends NumberValue>({ min, max, stacked, reverse, clamp, nice, }: ScaleLinearSpec, data: ComputedSerieAxis<Output>, size: number, axis: ScaleAxis) => ScaleLinear<number>;
export declare const castLinearScale: <Range_1, Output>(scale: D3ScaleLinear<Range_1, Output, never>, stacked?: boolean) => ScaleLinear<number>;
//# sourceMappingURL=linearScale.d.ts.map

@@ -89,2 +89,4 @@ import { ScaleLinear as D3ScaleLinear, ScalePoint as D3ScalePoint, ScaleBand as D3ScaleBand, ScaleLogarithmic as D3ScaleLogarithmic, ScaleSymLog as D3ScaleSymLog, ScaleTime as D3ScaleTime } from 'd3-scale';

}
export declare type AnyScale = Scale<any, any>;
export declare type ScaleWithBandwidth = ScaleBand<any> | ScalePoint<any>;
export declare type Series<XValue extends ScaleValue, YValue extends ScaleValue> = {

@@ -110,2 +112,3 @@ data: {

};
export declare type TicksSpec<Value extends ScaleValue> = number | string | Value[];
//# sourceMappingURL=types.d.ts.map
{
"name": "@nivo/scales",
"version": "0.73.0",
"version": "0.74.0",
"license": "MIT",

@@ -31,2 +31,3 @@ "author": {

"@types/d3-scale": "^3.2.2",
"@types/d3-time": "^1.1.1",
"@types/d3-time-format": "^3.0.0"

@@ -37,3 +38,3 @@ },

},
"gitHead": "919f213600a08609939198ea743f7dbde9a572e2"
"gitHead": "5d387c6723bb384f276d2b6ce15ca49c0e49948a"
}

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with āš”ļø by Socket Inc