@mui/x-charts-vendor 7.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +76 -0
- package/d3-color.d.ts +5 -0
- package/d3-color.js +7 -0
- package/d3-delaunay.d.ts +5 -0
- package/d3-delaunay.js +7 -0
- package/d3-interpolate.d.ts +5 -0
- package/d3-interpolate.js +7 -0
- package/d3-scale.d.ts +5 -0
- package/d3-scale.js +7 -0
- package/d3-shape.d.ts +5 -0
- package/d3-shape.js +7 -0
- package/d3-time.d.ts +5 -0
- package/d3-time.js +7 -0
- package/es/d3-array.js +6 -0
- package/es/d3-color.js +6 -0
- package/es/d3-delaunay.js +6 -0
- package/es/d3-format.js +6 -0
- package/es/d3-interpolate.js +6 -0
- package/es/d3-path.js +6 -0
- package/es/d3-scale.js +6 -0
- package/es/d3-shape.js +6 -0
- package/es/d3-time-format.js +6 -0
- package/es/d3-time.js +6 -0
- package/es/delaunator.js +6 -0
- package/es/internmap.js +6 -0
- package/es/robust-predicates.js +6 -0
- package/lib/d3-array.js +6 -0
- package/lib/d3-color.js +6 -0
- package/lib/d3-delaunay.js +6 -0
- package/lib/d3-format.js +6 -0
- package/lib/d3-interpolate.js +6 -0
- package/lib/d3-path.js +6 -0
- package/lib/d3-scale.js +6 -0
- package/lib/d3-shape.js +6 -0
- package/lib/d3-time-format.js +6 -0
- package/lib/d3-time.js +6 -0
- package/lib/delaunator.js +6 -0
- package/lib/internmap.js +6 -0
- package/lib/robust-predicates.js +6 -0
- package/lib-vendor/d3-array/LICENSE +13 -0
- package/lib-vendor/d3-array/dist/d3-array.js +1349 -0
- package/lib-vendor/d3-array/dist/d3-array.min.js +777 -0
- package/lib-vendor/d3-array/src/array.js +9 -0
- package/lib-vendor/d3-array/src/ascending.js +9 -0
- package/lib-vendor/d3-array/src/bin.js +126 -0
- package/lib-vendor/d3-array/src/bisect.js +15 -0
- package/lib-vendor/d3-array/src/bisector.js +59 -0
- package/lib-vendor/d3-array/src/blur.js +122 -0
- package/lib-vendor/d3-array/src/constant.js +9 -0
- package/lib-vendor/d3-array/src/count.js +24 -0
- package/lib-vendor/d3-array/src/cross.js +35 -0
- package/lib-vendor/d3-array/src/cumsum.js +11 -0
- package/lib-vendor/d3-array/src/descending.js +9 -0
- package/lib-vendor/d3-array/src/deviation.js +12 -0
- package/lib-vendor/d3-array/src/difference.js +16 -0
- package/lib-vendor/d3-array/src/disjoint.js +24 -0
- package/lib-vendor/d3-array/src/every.js +16 -0
- package/lib-vendor/d3-array/src/extent.js +35 -0
- package/lib-vendor/d3-array/src/filter.js +17 -0
- package/lib-vendor/d3-array/src/fsum.js +77 -0
- package/lib-vendor/d3-array/src/greatest.js +31 -0
- package/lib-vendor/d3-array/src/greatestIndex.js +23 -0
- package/lib-vendor/d3-array/src/group.js +67 -0
- package/lib-vendor/d3-array/src/groupSort.js +15 -0
- package/lib-vendor/d3-array/src/identity.js +9 -0
- package/lib-vendor/d3-array/src/index.js +539 -0
- package/lib-vendor/d3-array/src/intersection.js +23 -0
- package/lib-vendor/d3-array/src/least.js +31 -0
- package/lib-vendor/d3-array/src/leastIndex.js +23 -0
- package/lib-vendor/d3-array/src/map.js +11 -0
- package/lib-vendor/d3-array/src/max.js +24 -0
- package/lib-vendor/d3-array/src/maxIndex.js +26 -0
- package/lib-vendor/d3-array/src/mean.js +25 -0
- package/lib-vendor/d3-array/src/median.js +16 -0
- package/lib-vendor/d3-array/src/merge.js +14 -0
- package/lib-vendor/d3-array/src/min.js +24 -0
- package/lib-vendor/d3-array/src/minIndex.js +26 -0
- package/lib-vendor/d3-array/src/mode.js +33 -0
- package/lib-vendor/d3-array/src/nice.js +23 -0
- package/lib-vendor/d3-array/src/number.js +26 -0
- package/lib-vendor/d3-array/src/pairs.js +21 -0
- package/lib-vendor/d3-array/src/permute.js +9 -0
- package/lib-vendor/d3-array/src/quantile.js +55 -0
- package/lib-vendor/d3-array/src/quickselect.js +47 -0
- package/lib-vendor/d3-array/src/range.js +16 -0
- package/lib-vendor/d3-array/src/rank.js +30 -0
- package/lib-vendor/d3-array/src/reduce.js +28 -0
- package/lib-vendor/d3-array/src/reverse.js +10 -0
- package/lib-vendor/d3-array/src/scan.js +12 -0
- package/lib-vendor/d3-array/src/shuffle.js +20 -0
- package/lib-vendor/d3-array/src/some.js +16 -0
- package/lib-vendor/d3-array/src/sort.js +45 -0
- package/lib-vendor/d3-array/src/subset.js +11 -0
- package/lib-vendor/d3-array/src/sum.js +24 -0
- package/lib-vendor/d3-array/src/superset.js +28 -0
- package/lib-vendor/d3-array/src/threshold/freedmanDiaconis.js +14 -0
- package/lib-vendor/d3-array/src/threshold/scott.js +14 -0
- package/lib-vendor/d3-array/src/threshold/sturges.js +11 -0
- package/lib-vendor/d3-array/src/ticks.js +60 -0
- package/lib-vendor/d3-array/src/transpose.js +20 -0
- package/lib-vendor/d3-array/src/union.js +16 -0
- package/lib-vendor/d3-array/src/variance.js +31 -0
- package/lib-vendor/d3-array/src/zip.js +11 -0
- package/lib-vendor/d3-color/LICENSE +13 -0
- package/lib-vendor/d3-color/dist/d3-color.js +532 -0
- package/lib-vendor/d3-color/dist/d3-color.min.js +446 -0
- package/lib-vendor/d3-color/src/color.js +366 -0
- package/lib-vendor/d3-color/src/cubehelix.js +61 -0
- package/lib-vendor/d3-color/src/define.js +16 -0
- package/lib-vendor/d3-color/src/index.js +59 -0
- package/lib-vendor/d3-color/src/lab.js +117 -0
- package/lib-vendor/d3-color/src/math.js +8 -0
- package/lib-vendor/d3-delaunay/LICENSE +14 -0
- package/lib-vendor/d3-delaunay/dist/d3-delaunay.js +1398 -0
- package/lib-vendor/d3-delaunay/dist/d3-delaunay.min.js +853 -0
- package/lib-vendor/d3-delaunay/src/delaunay.js +282 -0
- package/lib-vendor/d3-delaunay/src/index.js +20 -0
- package/lib-vendor/d3-delaunay/src/path.js +43 -0
- package/lib-vendor/d3-delaunay/src/polygon.js +24 -0
- package/lib-vendor/d3-delaunay/src/voronoi.js +390 -0
- package/lib-vendor/d3-format/LICENSE +13 -0
- package/lib-vendor/d3-format/dist/d3-format.js +313 -0
- package/lib-vendor/d3-format/dist/d3-format.min.js +193 -0
- package/lib-vendor/d3-format/src/defaultLocale.js +23 -0
- package/lib-vendor/d3-format/src/exponent.js +10 -0
- package/lib-vendor/d3-format/src/formatDecimal.js +23 -0
- package/lib-vendor/d3-format/src/formatGroup.js +22 -0
- package/lib-vendor/d3-format/src/formatNumerals.js +13 -0
- package/lib-vendor/d3-format/src/formatPrefixAuto.js +18 -0
- package/lib-vendor/d3-format/src/formatRounded.js +14 -0
- package/lib-vendor/d3-format/src/formatSpecifier.js +42 -0
- package/lib-vendor/d3-format/src/formatTrim.js +25 -0
- package/lib-vendor/d3-format/src/formatTypes.js +25 -0
- package/lib-vendor/d3-format/src/identity.js +9 -0
- package/lib-vendor/d3-format/src/index.js +68 -0
- package/lib-vendor/d3-format/src/locale.js +152 -0
- package/lib-vendor/d3-format/src/precisionFixed.js +11 -0
- package/lib-vendor/d3-format/src/precisionPrefix.js +11 -0
- package/lib-vendor/d3-format/src/precisionRound.js +12 -0
- package/lib-vendor/d3-interpolate/LICENSE +13 -0
- package/lib-vendor/d3-interpolate/dist/d3-interpolate.js +543 -0
- package/lib-vendor/d3-interpolate/dist/d3-interpolate.min.js +362 -0
- package/lib-vendor/d3-interpolate/src/array.js +28 -0
- package/lib-vendor/d3-interpolate/src/basis.js +23 -0
- package/lib-vendor/d3-interpolate/src/basisClosed.js +18 -0
- package/lib-vendor/d3-interpolate/src/color.js +33 -0
- package/lib-vendor/d3-interpolate/src/constant.js +8 -0
- package/lib-vendor/d3-interpolate/src/cubehelix.js +32 -0
- package/lib-vendor/d3-interpolate/src/date.js +12 -0
- package/lib-vendor/d3-interpolate/src/discrete.js +12 -0
- package/lib-vendor/d3-interpolate/src/hcl.js +27 -0
- package/lib-vendor/d3-interpolate/src/hsl.js +27 -0
- package/lib-vendor/d3-interpolate/src/hue.js +14 -0
- package/lib-vendor/d3-interpolate/src/index.js +191 -0
- package/lib-vendor/d3-interpolate/src/lab.js +22 -0
- package/lib-vendor/d3-interpolate/src/number.js +11 -0
- package/lib-vendor/d3-interpolate/src/numberArray.js +20 -0
- package/lib-vendor/d3-interpolate/src/object.js +26 -0
- package/lib-vendor/d3-interpolate/src/piecewise.js +20 -0
- package/lib-vendor/d3-interpolate/src/quantize.js +11 -0
- package/lib-vendor/d3-interpolate/src/rgb.js +59 -0
- package/lib-vendor/d3-interpolate/src/round.js +11 -0
- package/lib-vendor/d3-interpolate/src/string.js +75 -0
- package/lib-vendor/d3-interpolate/src/transform/decompose.js +31 -0
- package/lib-vendor/d3-interpolate/src/transform/index.js +83 -0
- package/lib-vendor/d3-interpolate/src/transform/parse.js +25 -0
- package/lib-vendor/d3-interpolate/src/value.js +23 -0
- package/lib-vendor/d3-interpolate/src/zoom.js +66 -0
- package/lib-vendor/d3-path/LICENSE +13 -0
- package/lib-vendor/d3-path/dist/d3-path.js +161 -0
- package/lib-vendor/d3-path/dist/d3-path.min.js +92 -0
- package/lib-vendor/d3-path/src/index.js +24 -0
- package/lib-vendor/d3-path/src/path.js +158 -0
- package/lib-vendor/d3-scale/LICENSE +13 -0
- package/lib-vendor/d3-scale/dist/d3-scale.js +944 -0
- package/lib-vendor/d3-scale/dist/d3-scale.min.js +690 -0
- package/lib-vendor/d3-scale/src/band.js +87 -0
- package/lib-vendor/d3-scale/src/colors.js +11 -0
- package/lib-vendor/d3-scale/src/constant.js +11 -0
- package/lib-vendor/d3-scale/src/continuous.js +116 -0
- package/lib-vendor/d3-scale/src/diverging.js +91 -0
- package/lib-vendor/d3-scale/src/identity.js +27 -0
- package/lib-vendor/d3-scale/src/index.js +193 -0
- package/lib-vendor/d3-scale/src/init.js +38 -0
- package/lib-vendor/d3-scale/src/linear.js +67 -0
- package/lib-vendor/d3-scale/src/log.js +123 -0
- package/lib-vendor/d3-scale/src/nice.js +21 -0
- package/lib-vendor/d3-scale/src/number.js +9 -0
- package/lib-vendor/d3-scale/src/ordinal.js +44 -0
- package/lib-vendor/d3-scale/src/pow.js +44 -0
- package/lib-vendor/d3-scale/src/quantile.js +48 -0
- package/lib-vendor/d3-scale/src/quantize.js +46 -0
- package/lib-vendor/d3-scale/src/radial.js +53 -0
- package/lib-vendor/d3-scale/src/sequential.js +90 -0
- package/lib-vendor/d3-scale/src/sequentialQuantile.js +38 -0
- package/lib-vendor/d3-scale/src/symlog.js +35 -0
- package/lib-vendor/d3-scale/src/threshold.js +34 -0
- package/lib-vendor/d3-scale/src/tickFormat.js +37 -0
- package/lib-vendor/d3-scale/src/time.js +62 -0
- package/lib-vendor/d3-scale/src/utcTime.js +13 -0
- package/lib-vendor/d3-shape/LICENSE +13 -0
- package/lib-vendor/d3-shape/dist/d3-shape.js +2004 -0
- package/lib-vendor/d3-shape/dist/d3-shape.min.js +1389 -0
- package/lib-vendor/d3-shape/src/arc.js +250 -0
- package/lib-vendor/d3-shape/src/area.js +98 -0
- package/lib-vendor/d3-shape/src/areaRadial.js +42 -0
- package/lib-vendor/d3-shape/src/array.js +12 -0
- package/lib-vendor/d3-shape/src/constant.js +11 -0
- package/lib-vendor/d3-shape/src/curve/basis.js +62 -0
- package/lib-vendor/d3-shape/src/curve/basisClosed.js +70 -0
- package/lib-vendor/d3-shape/src/curve/basisOpen.js +54 -0
- package/lib-vendor/d3-shape/src/curve/bump.js +81 -0
- package/lib-vendor/d3-shape/src/curve/bundle.js +50 -0
- package/lib-vendor/d3-shape/src/curve/cardinal.js +69 -0
- package/lib-vendor/d3-shape/src/curve/cardinalClosed.js +76 -0
- package/lib-vendor/d3-shape/src/curve/cardinalOpen.js +60 -0
- package/lib-vendor/d3-shape/src/curve/catmullRom.js +92 -0
- package/lib-vendor/d3-shape/src/curve/catmullRomClosed.js +83 -0
- package/lib-vendor/d3-shape/src/curve/catmullRomOpen.js +67 -0
- package/lib-vendor/d3-shape/src/curve/linear.js +42 -0
- package/lib-vendor/d3-shape/src/curve/linearClosed.js +28 -0
- package/lib-vendor/d3-shape/src/curve/monotone.js +121 -0
- package/lib-vendor/d3-shape/src/curve/natural.js +67 -0
- package/lib-vendor/d3-shape/src/curve/radial.js +37 -0
- package/lib-vendor/d3-shape/src/curve/step.js +63 -0
- package/lib-vendor/d3-shape/src/descending.js +9 -0
- package/lib-vendor/d3-shape/src/identity.js +9 -0
- package/lib-vendor/d3-shape/src/index.js +436 -0
- package/lib-vendor/d3-shape/src/line.js +52 -0
- package/lib-vendor/d3-shape/src/lineRadial.js +24 -0
- package/lib-vendor/d3-shape/src/link.js +70 -0
- package/lib-vendor/d3-shape/src/math.js +26 -0
- package/lib-vendor/d3-shape/src/noop.js +7 -0
- package/lib-vendor/d3-shape/src/offset/diverging.js +20 -0
- package/lib-vendor/d3-shape/src/offset/expand.js +16 -0
- package/lib-vendor/d3-shape/src/offset/none.js +15 -0
- package/lib-vendor/d3-shape/src/offset/silhouette.js +16 -0
- package/lib-vendor/d3-shape/src/offset/wiggle.js +30 -0
- package/lib-vendor/d3-shape/src/order/appearance.js +23 -0
- package/lib-vendor/d3-shape/src/order/ascending.js +23 -0
- package/lib-vendor/d3-shape/src/order/descending.js +11 -0
- package/lib-vendor/d3-shape/src/order/insideOut.js +31 -0
- package/lib-vendor/d3-shape/src/order/none.js +12 -0
- package/lib-vendor/d3-shape/src/order/reverse.js +11 -0
- package/lib-vendor/d3-shape/src/path.js +22 -0
- package/lib-vendor/d3-shape/src/pie.js +79 -0
- package/lib-vendor/d3-shape/src/point.js +13 -0
- package/lib-vendor/d3-shape/src/pointRadial.js +9 -0
- package/lib-vendor/d3-shape/src/stack.js +55 -0
- package/lib-vendor/d3-shape/src/symbol/asterisk.js +21 -0
- package/lib-vendor/d3-shape/src/symbol/circle.js +14 -0
- package/lib-vendor/d3-shape/src/symbol/cross.js +25 -0
- package/lib-vendor/d3-shape/src/symbol/diamond.js +20 -0
- package/lib-vendor/d3-shape/src/symbol/diamond2.js +17 -0
- package/lib-vendor/d3-shape/src/symbol/plus.js +16 -0
- package/lib-vendor/d3-shape/src/symbol/square.js +14 -0
- package/lib-vendor/d3-shape/src/symbol/square2.js +17 -0
- package/lib-vendor/d3-shape/src/symbol/star.js +28 -0
- package/lib-vendor/d3-shape/src/symbol/times.js +16 -0
- package/lib-vendor/d3-shape/src/symbol/triangle.js +17 -0
- package/lib-vendor/d3-shape/src/symbol/triangle2.js +19 -0
- package/lib-vendor/d3-shape/src/symbol/wye.js +32 -0
- package/lib-vendor/d3-shape/src/symbol.js +50 -0
- package/lib-vendor/d3-time/LICENSE +13 -0
- package/lib-vendor/d3-time/dist/d3-time.js +367 -0
- package/lib-vendor/d3-time/dist/d3-time.min.js +190 -0
- package/lib-vendor/d3-time/src/day.js +30 -0
- package/lib-vendor/d3-time/src/duration.js +13 -0
- package/lib-vendor/d3-time/src/hour.js +28 -0
- package/lib-vendor/d3-time/src/index.js +417 -0
- package/lib-vendor/d3-time/src/interval.js +61 -0
- package/lib-vendor/d3-time/src/millisecond.js +29 -0
- package/lib-vendor/d3-time/src/minute.js +28 -0
- package/lib-vendor/d3-time/src/month.js +29 -0
- package/lib-vendor/d3-time/src/second.js +18 -0
- package/lib-vendor/d3-time/src/ticks.js +41 -0
- package/lib-vendor/d3-time/src/week.js +56 -0
- package/lib-vendor/d3-time/src/year.js +51 -0
- package/lib-vendor/d3-time-format/LICENSE +13 -0
- package/lib-vendor/d3-time-format/dist/d3-time-format.js +648 -0
- package/lib-vendor/d3-time-format/dist/d3-time-format.min.js +528 -0
- package/lib-vendor/d3-time-format/src/defaultLocale.js +32 -0
- package/lib-vendor/d3-time-format/src/index.js +60 -0
- package/lib-vendor/d3-time-format/src/isoFormat.js +13 -0
- package/lib-vendor/d3-time-format/src/isoParse.js +14 -0
- package/lib-vendor/d3-time-format/src/locale.js +606 -0
- package/lib-vendor/delaunator/LICENSE +15 -0
- package/lib-vendor/delaunator/delaunator.js +688 -0
- package/lib-vendor/delaunator/delaunator.min.js +316 -0
- package/lib-vendor/delaunator/index.js +440 -0
- package/lib-vendor/internmap/LICENSE +13 -0
- package/lib-vendor/internmap/dist/internmap.js +93 -0
- package/lib-vendor/internmap/dist/internmap.min.js +81 -0
- package/lib-vendor/internmap/src/index.js +87 -0
- package/lib-vendor/robust-predicates/LICENSE +24 -0
- package/lib-vendor/robust-predicates/esm/incircle.js +667 -0
- package/lib-vendor/robust-predicates/esm/insphere.js +693 -0
- package/lib-vendor/robust-predicates/esm/orient2d.js +174 -0
- package/lib-vendor/robust-predicates/esm/orient3d.js +422 -0
- package/lib-vendor/robust-predicates/esm/util.js +147 -0
- package/lib-vendor/robust-predicates/index.js +57 -0
- package/lib-vendor/robust-predicates/umd/incircle.js +798 -0
- package/lib-vendor/robust-predicates/umd/incircle.min.js +170 -0
- package/lib-vendor/robust-predicates/umd/insphere.js +828 -0
- package/lib-vendor/robust-predicates/umd/insphere.min.js +223 -0
- package/lib-vendor/robust-predicates/umd/orient2d.js +260 -0
- package/lib-vendor/robust-predicates/umd/orient2d.min.js +69 -0
- package/lib-vendor/robust-predicates/umd/orient3d.js +550 -0
- package/lib-vendor/robust-predicates/umd/orient3d.min.js +133 -0
- package/lib-vendor/robust-predicates/umd/predicates.js +2073 -0
- package/lib-vendor/robust-predicates/umd/predicates.min.js +468 -0
- package/package.json +63 -0
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.default = leastIndex;
|
|
8
|
+
var _ascending = _interopRequireDefault(require("./ascending.js"));
|
|
9
|
+
var _minIndex = _interopRequireDefault(require("./minIndex.js"));
|
|
10
|
+
function leastIndex(values, compare = _ascending.default) {
|
|
11
|
+
if (compare.length === 1) return (0, _minIndex.default)(values, compare);
|
|
12
|
+
let minValue;
|
|
13
|
+
let min = -1;
|
|
14
|
+
let index = -1;
|
|
15
|
+
for (const value of values) {
|
|
16
|
+
++index;
|
|
17
|
+
if (min < 0 ? compare(value, value) === 0 : compare(value, minValue) < 0) {
|
|
18
|
+
minValue = value;
|
|
19
|
+
min = index;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
return min;
|
|
23
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = map;
|
|
7
|
+
function map(values, mapper) {
|
|
8
|
+
if (typeof values[Symbol.iterator] !== "function") throw new TypeError("values is not iterable");
|
|
9
|
+
if (typeof mapper !== "function") throw new TypeError("mapper is not a function");
|
|
10
|
+
return Array.from(values, (value, index) => mapper(value, index, values));
|
|
11
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = max;
|
|
7
|
+
function max(values, valueof) {
|
|
8
|
+
let max;
|
|
9
|
+
if (valueof === undefined) {
|
|
10
|
+
for (const value of values) {
|
|
11
|
+
if (value != null && (max < value || max === undefined && value >= value)) {
|
|
12
|
+
max = value;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
} else {
|
|
16
|
+
let index = -1;
|
|
17
|
+
for (let value of values) {
|
|
18
|
+
if ((value = valueof(value, ++index, values)) != null && (max < value || max === undefined && value >= value)) {
|
|
19
|
+
max = value;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
return max;
|
|
24
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = maxIndex;
|
|
7
|
+
function maxIndex(values, valueof) {
|
|
8
|
+
let max;
|
|
9
|
+
let maxIndex = -1;
|
|
10
|
+
let index = -1;
|
|
11
|
+
if (valueof === undefined) {
|
|
12
|
+
for (const value of values) {
|
|
13
|
+
++index;
|
|
14
|
+
if (value != null && (max < value || max === undefined && value >= value)) {
|
|
15
|
+
max = value, maxIndex = index;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
} else {
|
|
19
|
+
for (let value of values) {
|
|
20
|
+
if ((value = valueof(value, ++index, values)) != null && (max < value || max === undefined && value >= value)) {
|
|
21
|
+
max = value, maxIndex = index;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
return maxIndex;
|
|
26
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = mean;
|
|
7
|
+
function mean(values, valueof) {
|
|
8
|
+
let count = 0;
|
|
9
|
+
let sum = 0;
|
|
10
|
+
if (valueof === undefined) {
|
|
11
|
+
for (let value of values) {
|
|
12
|
+
if (value != null && (value = +value) >= value) {
|
|
13
|
+
++count, sum += value;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
} else {
|
|
17
|
+
let index = -1;
|
|
18
|
+
for (let value of values) {
|
|
19
|
+
if ((value = valueof(value, ++index, values)) != null && (value = +value) >= value) {
|
|
20
|
+
++count, sum += value;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
if (count) return sum / count;
|
|
25
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = median;
|
|
7
|
+
exports.medianIndex = medianIndex;
|
|
8
|
+
var _quantile = _interopRequireWildcard(require("./quantile.js"));
|
|
9
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
10
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
11
|
+
function median(values, valueof) {
|
|
12
|
+
return (0, _quantile.default)(values, 0.5, valueof);
|
|
13
|
+
}
|
|
14
|
+
function medianIndex(values, valueof) {
|
|
15
|
+
return (0, _quantile.quantileIndex)(values, 0.5, valueof);
|
|
16
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = merge;
|
|
7
|
+
function* flatten(arrays) {
|
|
8
|
+
for (const array of arrays) {
|
|
9
|
+
yield* array;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
function merge(arrays) {
|
|
13
|
+
return Array.from(flatten(arrays));
|
|
14
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = min;
|
|
7
|
+
function min(values, valueof) {
|
|
8
|
+
let min;
|
|
9
|
+
if (valueof === undefined) {
|
|
10
|
+
for (const value of values) {
|
|
11
|
+
if (value != null && (min > value || min === undefined && value >= value)) {
|
|
12
|
+
min = value;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
} else {
|
|
16
|
+
let index = -1;
|
|
17
|
+
for (let value of values) {
|
|
18
|
+
if ((value = valueof(value, ++index, values)) != null && (min > value || min === undefined && value >= value)) {
|
|
19
|
+
min = value;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
return min;
|
|
24
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = minIndex;
|
|
7
|
+
function minIndex(values, valueof) {
|
|
8
|
+
let min;
|
|
9
|
+
let minIndex = -1;
|
|
10
|
+
let index = -1;
|
|
11
|
+
if (valueof === undefined) {
|
|
12
|
+
for (const value of values) {
|
|
13
|
+
++index;
|
|
14
|
+
if (value != null && (min > value || min === undefined && value >= value)) {
|
|
15
|
+
min = value, minIndex = index;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
} else {
|
|
19
|
+
for (let value of values) {
|
|
20
|
+
if ((value = valueof(value, ++index, values)) != null && (min > value || min === undefined && value >= value)) {
|
|
21
|
+
min = value, minIndex = index;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
return minIndex;
|
|
26
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = mode;
|
|
7
|
+
var _index = require("../../../lib-vendor/internmap/src/index.js");
|
|
8
|
+
function mode(values, valueof) {
|
|
9
|
+
const counts = new _index.InternMap();
|
|
10
|
+
if (valueof === undefined) {
|
|
11
|
+
for (let value of values) {
|
|
12
|
+
if (value != null && value >= value) {
|
|
13
|
+
counts.set(value, (counts.get(value) || 0) + 1);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
} else {
|
|
17
|
+
let index = -1;
|
|
18
|
+
for (let value of values) {
|
|
19
|
+
if ((value = valueof(value, ++index, values)) != null && value >= value) {
|
|
20
|
+
counts.set(value, (counts.get(value) || 0) + 1);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
let modeValue;
|
|
25
|
+
let modeCount = 0;
|
|
26
|
+
for (const [value, count] of counts) {
|
|
27
|
+
if (count > modeCount) {
|
|
28
|
+
modeCount = count;
|
|
29
|
+
modeValue = value;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
return modeValue;
|
|
33
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = nice;
|
|
7
|
+
var _ticks = require("./ticks.js");
|
|
8
|
+
function nice(start, stop, count) {
|
|
9
|
+
let prestep;
|
|
10
|
+
while (true) {
|
|
11
|
+
const step = (0, _ticks.tickIncrement)(start, stop, count);
|
|
12
|
+
if (step === prestep || step === 0 || !isFinite(step)) {
|
|
13
|
+
return [start, stop];
|
|
14
|
+
} else if (step > 0) {
|
|
15
|
+
start = Math.floor(start / step) * step;
|
|
16
|
+
stop = Math.ceil(stop / step) * step;
|
|
17
|
+
} else if (step < 0) {
|
|
18
|
+
start = Math.ceil(start * step) / step;
|
|
19
|
+
stop = Math.floor(stop * step) / step;
|
|
20
|
+
}
|
|
21
|
+
prestep = step;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = number;
|
|
7
|
+
exports.numbers = numbers;
|
|
8
|
+
function number(x) {
|
|
9
|
+
return x === null ? NaN : +x;
|
|
10
|
+
}
|
|
11
|
+
function* numbers(values, valueof) {
|
|
12
|
+
if (valueof === undefined) {
|
|
13
|
+
for (let value of values) {
|
|
14
|
+
if (value != null && (value = +value) >= value) {
|
|
15
|
+
yield value;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
} else {
|
|
19
|
+
let index = -1;
|
|
20
|
+
for (let value of values) {
|
|
21
|
+
if ((value = valueof(value, ++index, values)) != null && (value = +value) >= value) {
|
|
22
|
+
yield value;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = pairs;
|
|
7
|
+
exports.pair = pair;
|
|
8
|
+
function pairs(values, pairof = pair) {
|
|
9
|
+
const pairs = [];
|
|
10
|
+
let previous;
|
|
11
|
+
let first = false;
|
|
12
|
+
for (const value of values) {
|
|
13
|
+
if (first) pairs.push(pairof(previous, value));
|
|
14
|
+
previous = value;
|
|
15
|
+
first = true;
|
|
16
|
+
}
|
|
17
|
+
return pairs;
|
|
18
|
+
}
|
|
19
|
+
function pair(a, b) {
|
|
20
|
+
return [a, b];
|
|
21
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.default = quantile;
|
|
8
|
+
exports.quantileIndex = quantileIndex;
|
|
9
|
+
exports.quantileSorted = quantileSorted;
|
|
10
|
+
var _max = _interopRequireDefault(require("./max.js"));
|
|
11
|
+
var _maxIndex = _interopRequireDefault(require("./maxIndex.js"));
|
|
12
|
+
var _min = _interopRequireDefault(require("./min.js"));
|
|
13
|
+
var _minIndex = _interopRequireDefault(require("./minIndex.js"));
|
|
14
|
+
var _quickselect = _interopRequireDefault(require("./quickselect.js"));
|
|
15
|
+
var _number = _interopRequireWildcard(require("./number.js"));
|
|
16
|
+
var _sort = require("./sort.js");
|
|
17
|
+
var _greatest = _interopRequireDefault(require("./greatest.js"));
|
|
18
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
19
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
20
|
+
function quantile(values, p, valueof) {
|
|
21
|
+
values = Float64Array.from((0, _number.numbers)(values, valueof));
|
|
22
|
+
if (!(n = values.length) || isNaN(p = +p)) return;
|
|
23
|
+
if (p <= 0 || n < 2) return (0, _min.default)(values);
|
|
24
|
+
if (p >= 1) return (0, _max.default)(values);
|
|
25
|
+
var n,
|
|
26
|
+
i = (n - 1) * p,
|
|
27
|
+
i0 = Math.floor(i),
|
|
28
|
+
value0 = (0, _max.default)((0, _quickselect.default)(values, i0).subarray(0, i0 + 1)),
|
|
29
|
+
value1 = (0, _min.default)(values.subarray(i0 + 1));
|
|
30
|
+
return value0 + (value1 - value0) * (i - i0);
|
|
31
|
+
}
|
|
32
|
+
function quantileSorted(values, p, valueof = _number.default) {
|
|
33
|
+
if (!(n = values.length) || isNaN(p = +p)) return;
|
|
34
|
+
if (p <= 0 || n < 2) return +valueof(values[0], 0, values);
|
|
35
|
+
if (p >= 1) return +valueof(values[n - 1], n - 1, values);
|
|
36
|
+
var n,
|
|
37
|
+
i = (n - 1) * p,
|
|
38
|
+
i0 = Math.floor(i),
|
|
39
|
+
value0 = +valueof(values[i0], i0, values),
|
|
40
|
+
value1 = +valueof(values[i0 + 1], i0 + 1, values);
|
|
41
|
+
return value0 + (value1 - value0) * (i - i0);
|
|
42
|
+
}
|
|
43
|
+
function quantileIndex(values, p, valueof = _number.default) {
|
|
44
|
+
if (isNaN(p = +p)) return;
|
|
45
|
+
numbers = Float64Array.from(values, (_, i) => (0, _number.default)(valueof(values[i], i, values)));
|
|
46
|
+
if (p <= 0) return (0, _minIndex.default)(numbers);
|
|
47
|
+
if (p >= 1) return (0, _maxIndex.default)(numbers);
|
|
48
|
+
var numbers,
|
|
49
|
+
index = Uint32Array.from(values, (_, i) => i),
|
|
50
|
+
j = numbers.length - 1,
|
|
51
|
+
i = Math.floor(j * p);
|
|
52
|
+
(0, _quickselect.default)(index, i, 0, j, (i, j) => (0, _sort.ascendingDefined)(numbers[i], numbers[j]));
|
|
53
|
+
i = (0, _greatest.default)(index.subarray(0, i + 1), i => numbers[i]);
|
|
54
|
+
return i >= 0 ? i : -1;
|
|
55
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = quickselect;
|
|
7
|
+
var _sort = require("./sort.js");
|
|
8
|
+
// Based on https://github.com/mourner/quickselect
|
|
9
|
+
// ISC license, Copyright 2018 Vladimir Agafonkin.
|
|
10
|
+
function quickselect(array, k, left = 0, right = Infinity, compare) {
|
|
11
|
+
k = Math.floor(k);
|
|
12
|
+
left = Math.floor(Math.max(0, left));
|
|
13
|
+
right = Math.floor(Math.min(array.length - 1, right));
|
|
14
|
+
if (!(left <= k && k <= right)) return array;
|
|
15
|
+
compare = compare === undefined ? _sort.ascendingDefined : (0, _sort.compareDefined)(compare);
|
|
16
|
+
while (right > left) {
|
|
17
|
+
if (right - left > 600) {
|
|
18
|
+
const n = right - left + 1;
|
|
19
|
+
const m = k - left + 1;
|
|
20
|
+
const z = Math.log(n);
|
|
21
|
+
const s = 0.5 * Math.exp(2 * z / 3);
|
|
22
|
+
const sd = 0.5 * Math.sqrt(z * s * (n - s) / n) * (m - n / 2 < 0 ? -1 : 1);
|
|
23
|
+
const newLeft = Math.max(left, Math.floor(k - m * s / n + sd));
|
|
24
|
+
const newRight = Math.min(right, Math.floor(k + (n - m) * s / n + sd));
|
|
25
|
+
quickselect(array, k, newLeft, newRight, compare);
|
|
26
|
+
}
|
|
27
|
+
const t = array[k];
|
|
28
|
+
let i = left;
|
|
29
|
+
let j = right;
|
|
30
|
+
swap(array, left, k);
|
|
31
|
+
if (compare(array[right], t) > 0) swap(array, left, right);
|
|
32
|
+
while (i < j) {
|
|
33
|
+
swap(array, i, j), ++i, --j;
|
|
34
|
+
while (compare(array[i], t) < 0) ++i;
|
|
35
|
+
while (compare(array[j], t) > 0) --j;
|
|
36
|
+
}
|
|
37
|
+
if (compare(array[left], t) === 0) swap(array, left, j);else ++j, swap(array, j, right);
|
|
38
|
+
if (j <= k) left = j + 1;
|
|
39
|
+
if (k <= j) right = j - 1;
|
|
40
|
+
}
|
|
41
|
+
return array;
|
|
42
|
+
}
|
|
43
|
+
function swap(array, i, j) {
|
|
44
|
+
const t = array[i];
|
|
45
|
+
array[i] = array[j];
|
|
46
|
+
array[j] = t;
|
|
47
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = range;
|
|
7
|
+
function range(start, stop, step) {
|
|
8
|
+
start = +start, stop = +stop, step = (n = arguments.length) < 2 ? (stop = start, start = 0, 1) : n < 3 ? 1 : +step;
|
|
9
|
+
var i = -1,
|
|
10
|
+
n = Math.max(0, Math.ceil((stop - start) / step)) | 0,
|
|
11
|
+
range = new Array(n);
|
|
12
|
+
while (++i < n) {
|
|
13
|
+
range[i] = start + i * step;
|
|
14
|
+
}
|
|
15
|
+
return range;
|
|
16
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.default = rank;
|
|
8
|
+
var _ascending = _interopRequireDefault(require("./ascending.js"));
|
|
9
|
+
var _sort = require("./sort.js");
|
|
10
|
+
function rank(values, valueof = _ascending.default) {
|
|
11
|
+
if (typeof values[Symbol.iterator] !== "function") throw new TypeError("values is not iterable");
|
|
12
|
+
let V = Array.from(values);
|
|
13
|
+
const R = new Float64Array(V.length);
|
|
14
|
+
if (valueof.length !== 2) V = V.map(valueof), valueof = _ascending.default;
|
|
15
|
+
const compareIndex = (i, j) => valueof(V[i], V[j]);
|
|
16
|
+
let k, r;
|
|
17
|
+
values = Uint32Array.from(V, (_, i) => i);
|
|
18
|
+
// Risky chaining due to Safari 14 https://github.com/d3/d3-array/issues/123
|
|
19
|
+
values.sort(valueof === _ascending.default ? (i, j) => (0, _sort.ascendingDefined)(V[i], V[j]) : (0, _sort.compareDefined)(compareIndex));
|
|
20
|
+
values.forEach((j, i) => {
|
|
21
|
+
const c = compareIndex(j, k === undefined ? j : k);
|
|
22
|
+
if (c >= 0) {
|
|
23
|
+
if (k === undefined || c > 0) k = j, r = i;
|
|
24
|
+
R[j] = r;
|
|
25
|
+
} else {
|
|
26
|
+
R[j] = NaN;
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
return R;
|
|
30
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = reduce;
|
|
7
|
+
function reduce(values, reducer, value) {
|
|
8
|
+
if (typeof reducer !== "function") throw new TypeError("reducer is not a function");
|
|
9
|
+
const iterator = values[Symbol.iterator]();
|
|
10
|
+
let done,
|
|
11
|
+
next,
|
|
12
|
+
index = -1;
|
|
13
|
+
if (arguments.length < 3) {
|
|
14
|
+
({
|
|
15
|
+
done,
|
|
16
|
+
value
|
|
17
|
+
} = iterator.next());
|
|
18
|
+
if (done) return;
|
|
19
|
+
++index;
|
|
20
|
+
}
|
|
21
|
+
while (({
|
|
22
|
+
done,
|
|
23
|
+
value: next
|
|
24
|
+
} = iterator.next()), !done) {
|
|
25
|
+
value = reducer(value, next, ++index, values);
|
|
26
|
+
}
|
|
27
|
+
return value;
|
|
28
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = reverse;
|
|
7
|
+
function reverse(values) {
|
|
8
|
+
if (typeof values[Symbol.iterator] !== "function") throw new TypeError("values is not iterable");
|
|
9
|
+
return Array.from(values).reverse();
|
|
10
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.default = scan;
|
|
8
|
+
var _leastIndex = _interopRequireDefault(require("./leastIndex.js"));
|
|
9
|
+
function scan(values, compare) {
|
|
10
|
+
const index = (0, _leastIndex.default)(values, compare);
|
|
11
|
+
return index < 0 ? undefined : index;
|
|
12
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
exports.shuffler = shuffler;
|
|
8
|
+
var _default = exports.default = shuffler(Math.random);
|
|
9
|
+
function shuffler(random) {
|
|
10
|
+
return function shuffle(array, i0 = 0, i1 = array.length) {
|
|
11
|
+
let m = i1 - (i0 = +i0);
|
|
12
|
+
while (m) {
|
|
13
|
+
const i = random() * m-- | 0,
|
|
14
|
+
t = array[m + i0];
|
|
15
|
+
array[m + i0] = array[i + i0];
|
|
16
|
+
array[i + i0] = t;
|
|
17
|
+
}
|
|
18
|
+
return array;
|
|
19
|
+
};
|
|
20
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = some;
|
|
7
|
+
function some(values, test) {
|
|
8
|
+
if (typeof test !== "function") throw new TypeError("test is not a function");
|
|
9
|
+
let index = -1;
|
|
10
|
+
for (const value of values) {
|
|
11
|
+
if (test(value, ++index, values)) {
|
|
12
|
+
return true;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
return false;
|
|
16
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.ascendingDefined = ascendingDefined;
|
|
8
|
+
exports.compareDefined = compareDefined;
|
|
9
|
+
exports.default = sort;
|
|
10
|
+
var _ascending = _interopRequireDefault(require("./ascending.js"));
|
|
11
|
+
var _permute = _interopRequireDefault(require("./permute.js"));
|
|
12
|
+
function sort(values, ...F) {
|
|
13
|
+
if (typeof values[Symbol.iterator] !== "function") throw new TypeError("values is not iterable");
|
|
14
|
+
values = Array.from(values);
|
|
15
|
+
let [f] = F;
|
|
16
|
+
if (f && f.length !== 2 || F.length > 1) {
|
|
17
|
+
const index = Uint32Array.from(values, (d, i) => i);
|
|
18
|
+
if (F.length > 1) {
|
|
19
|
+
F = F.map(f => values.map(f));
|
|
20
|
+
index.sort((i, j) => {
|
|
21
|
+
for (const f of F) {
|
|
22
|
+
const c = ascendingDefined(f[i], f[j]);
|
|
23
|
+
if (c) return c;
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
} else {
|
|
27
|
+
f = values.map(f);
|
|
28
|
+
index.sort((i, j) => ascendingDefined(f[i], f[j]));
|
|
29
|
+
}
|
|
30
|
+
return (0, _permute.default)(values, index);
|
|
31
|
+
}
|
|
32
|
+
return values.sort(compareDefined(f));
|
|
33
|
+
}
|
|
34
|
+
function compareDefined(compare = _ascending.default) {
|
|
35
|
+
if (compare === _ascending.default) return ascendingDefined;
|
|
36
|
+
if (typeof compare !== "function") throw new TypeError("compare is not a function");
|
|
37
|
+
return (a, b) => {
|
|
38
|
+
const x = compare(a, b);
|
|
39
|
+
if (x || x === 0) return x;
|
|
40
|
+
return (compare(b, b) === 0) - (compare(a, a) === 0);
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
function ascendingDefined(a, b) {
|
|
44
|
+
return (a == null || !(a >= a)) - (b == null || !(b >= b)) || (a < b ? -1 : a > b ? 1 : 0);
|
|
45
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.default = subset;
|
|
8
|
+
var _superset = _interopRequireDefault(require("./superset.js"));
|
|
9
|
+
function subset(values, other) {
|
|
10
|
+
return (0, _superset.default)(other, values);
|
|
11
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = sum;
|
|
7
|
+
function sum(values, valueof) {
|
|
8
|
+
let sum = 0;
|
|
9
|
+
if (valueof === undefined) {
|
|
10
|
+
for (let value of values) {
|
|
11
|
+
if (value = +value) {
|
|
12
|
+
sum += value;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
} else {
|
|
16
|
+
let index = -1;
|
|
17
|
+
for (let value of values) {
|
|
18
|
+
if (value = +valueof(value, ++index, values)) {
|
|
19
|
+
sum += value;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
return sum;
|
|
24
|
+
}
|