Skip to content

Commit 126c3d3

Browse files
committed
build: update d3 and fix dependencies
1 parent 7687147 commit 126c3d3

9 files changed

Lines changed: 1844 additions & 2035 deletions

File tree

package-lock.json

Lines changed: 1725 additions & 34 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
"main": "index.js",
77
"scripts": {
88
"start": "http-server",
9-
"postinstall": "shx rm -rf web_modules/d3 && shx cp -r node_modules/d3 web_modules/ && npm run compile",
9+
"postinstall": "rimraf web_modules/d3 && cpx \"node_modules/d3/{dist/d3.js,dist/d3.min.js,README.md,LICENSE,package.json}\" web_modules/d3 && npm run compile",
1010
"compile": "tsc -p .",
1111
"watch": "tsc -w -p .",
1212
"format": "prettier --print-width 120 --write \"examples/*.(html|ts|css|json)\" index.html README.md package.json"
@@ -22,13 +22,14 @@
2222
},
2323
"homepage": "https://github.com/sgratzl/d3tutorial#readme",
2424
"dependencies": {
25-
"d3": "^6.3.1"
25+
"d3": "^6.5.0"
2626
},
2727
"devDependencies": {
28-
"@types/d3": "^6.2.0",
28+
"@types/d3": "^6.3.0",
29+
"cpx": "^1.5.0",
2930
"http-server": "^0.12.3",
3031
"prettier": "^2.2.1",
31-
"shx": "^0.3.3",
32+
"rimraf": "^3.0.2",
3233
"typescript": "^4.1.3"
3334
}
3435
}

web_modules/d3/CHANGES.md

Lines changed: 0 additions & 1643 deletions
This file was deleted.

web_modules/d3/dist/d3.js

Lines changed: 102 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
// https://d3js.org v6.3.1 Copyright 2020 Mike Bostock
1+
// https://d3js.org v6.5.0 Copyright 2021 Mike Bostock
22
(function (global, factory) {
33
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
44
typeof define === 'function' && define.amd ? define(['exports'], factory) :
55
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.d3 = global.d3 || {}));
66
}(this, (function (exports) { 'use strict';
77

8-
var version = "6.3.1";
8+
var version = "6.5.0";
99

1010
function ascending(a, b) {
1111
return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;
@@ -268,6 +268,68 @@ function fsum(values, valueof) {
268268
return +adder;
269269
}
270270

271+
class InternMap extends Map {
272+
constructor(entries = [], key = keyof) {
273+
super();
274+
Object.defineProperties(this, {_intern: {value: new Map()}, _key: {value: key}});
275+
for (const [key, value] of entries) this.set(key, value);
276+
}
277+
get(key) {
278+
return super.get(intern_get(this, key));
279+
}
280+
has(key) {
281+
return super.has(intern_get(this, key));
282+
}
283+
set(key, value) {
284+
return super.set(intern_set(this, key), value);
285+
}
286+
delete(key) {
287+
return super.delete(intern_delete(this, key));
288+
}
289+
}
290+
291+
class InternSet extends Set {
292+
constructor(values = [], key = keyof) {
293+
super();
294+
Object.defineProperties(this, {_intern: {value: new Map()}, _key: {value: key}});
295+
for (const value of values) this.add(value);
296+
}
297+
has(value) {
298+
return super.has(intern_get(this, value));
299+
}
300+
add(value) {
301+
return super.add(intern_set(this, value));
302+
}
303+
delete(value) {
304+
return super.delete(intern_delete(this, value));
305+
}
306+
}
307+
308+
function intern_get({_intern, _key}, value) {
309+
const key = _key(value);
310+
return _intern.has(key) ? _intern.get(key) : value;
311+
}
312+
313+
function intern_set({_intern, _key}, value) {
314+
const key = _key(value);
315+
if (_intern.has(key)) return _intern.get(key);
316+
_intern.set(key, value);
317+
return value;
318+
}
319+
320+
function intern_delete({_intern, _key}, value) {
321+
const key = _key(value);
322+
if (_intern.has(key)) {
323+
value = _intern.get(value);
324+
_intern.delete(key);
325+
}
326+
return value;
327+
}
328+
329+
function keyof(value) {
330+
return value !== null && typeof value === "object" ? value.valueOf() : value;
331+
}
332+
271333
function identity(x) {
272334
return x;
273335
}
@@ -304,7 +366,7 @@ function unique(values) {
304366
function nest(values, map, reduce, keys) {
305367
return (function regroup(values, i) {
306368
if (i >= keys.length) return reduce(values);
307-
const groups = new Map();
369+
const groups = new InternMap();
308370
const keyof = keys[i++];
309371
let index = -1;
310372
for (const value of values) {
@@ -320,6 +382,40 @@ function nest(values, map, reduce, keys) {
320382
})(values, 0);
321383
}
322384

385+
function permute(source, keys) {
386+
return Array.from(keys, key => source[key]);
387+
}
388+
389+
function sort(values, ...F) {
390+
if (typeof values[Symbol.iterator] !== "function") throw new TypeError("values is not iterable");
391+
values = Array.from(values);
392+
let [f = ascending] = F;
393+
if (f.length === 1 || F.length > 1) {
394+
const index = Uint32Array.from(values, (d, i) => i);
395+
if (F.length > 1) {
396+
F = F.map(f => values.map(f));
397+
index.sort((i, j) => {
398+
for (const f of F) {
399+
const c = ascending(f[i], f[j]);
400+
if (c) return c;
401+
}
402+
});
403+
} else {
404+
f = values.map(f);
405+
index.sort((i, j) => ascending(f[i], f[j]));
406+
}
407+
return permute(values, index);
408+
}
409+
return values.sort(f);
410+
}
411+
412+
function groupSort(values, reduce, key) {
413+
return (reduce.length === 1
414+
? sort(rollup(values, reduce, key), (([ak, av], [bk, bv]) => ascending(av, bv) || ascending(ak, bk)))
415+
: sort(group(values, key), (([ak, av], [bk, bv]) => reduce(av, bv) || ascending(ak, bk))))
416+
.map(([key]) => key);
417+
}
418+
323419
var array = Array.prototype;
324420

325421
var slice = array.slice;
@@ -711,10 +807,6 @@ function pair(a, b) {
711807
return [a, b];
712808
}
713809

714-
function permute(source, keys) {
715-
return Array.from(keys, key => source[key]);
716-
}
717-
718810
function sequence(start, stop, step) {
719811
start = +start, stop = +stop, step = (n = arguments.length) < 2 ? (stop = start, start = 0, 1) : n < 3 ? 1 : +step;
720812

@@ -935,16 +1027,6 @@ function reverse(values) {
9351027
return Array.from(values).reverse();
9361028
}
9371029

938-
function sort(values, f = ascending) {
939-
if (typeof values[Symbol.iterator] !== "function") throw new TypeError("values is not iterable");
940-
values = Array.from(values);
941-
if (f.length === 1) {
942-
f = values.map(f);
943-
return permute(values, values.map((d, i) => i).sort((i, j) => ascending(f[i], f[j])));
944-
}
945-
return values.sort(f);
946-
}
947-
9481030
function difference(values, ...others) {
9491031
values = new Set(values);
9501032
for (const other of others) {
@@ -19027,6 +19109,8 @@ function zoom() {
1902719109
exports.Adder = Adder;
1902819110
exports.Delaunay = Delaunay;
1902919111
exports.FormatSpecifier = FormatSpecifier;
19112+
exports.InternMap = InternMap;
19113+
exports.InternSet = InternSet;
1903019114
exports.Voronoi = Voronoi;
1903119115
exports.active = active;
1903219116
exports.arc = arc;
@@ -19204,6 +19288,7 @@ exports.gray = gray;
1920419288
exports.greatest = greatest;
1920519289
exports.greatestIndex = greatestIndex;
1920619290
exports.group = group;
19291+
exports.groupSort = groupSort;
1920719292
exports.groups = groups;
1920819293
exports.hcl = hcl;
1920919294
exports.hierarchy = hierarchy;

web_modules/d3/dist/d3.min.js

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)