@genome-spy/core 0.69.1 → 0.70.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/dist/bundle/{AbortablePromiseCache-CcuMrnn7.js → AbortablePromiseCache-Dj0vzLnp.js} +4 -4
- package/dist/bundle/{browser-BRemItdO.js → browser-0iNU5Wit.js} +33 -33
- package/dist/bundle/index-BYsZN7b0.js +1597 -0
- package/dist/bundle/{index-Cq3QFUxX.js → index-C3kClAEN.js} +583 -593
- package/dist/bundle/{index-D-w7Mmt9.js → index-C7wOh6y1.js} +138 -140
- package/dist/bundle/index-CRaQAuki.js +326 -0
- package/dist/bundle/{index-D74H8TTz.js → index-D9v1PCj9.js} +1 -2
- package/dist/bundle/{index-BatuyGAI.js → index-GDOuv_D5.js} +75 -80
- package/dist/bundle/{index-DbJ0oeYM.js → index-Gt44EOIH.js} +160 -163
- package/dist/bundle/index.es.js +8778 -9046
- package/dist/bundle/index.js +123 -165
- package/dist/bundle/{unzip-NywezaRR.js → unzip-Bac01w6X.js} +1 -1
- package/dist/src/gl/colorUtils.d.ts +2 -1
- package/dist/src/gl/colorUtils.d.ts.map +1 -1
- package/dist/src/gl/colorUtils.js +15 -3
- package/dist/src/gl/colorUtils.test.d.ts +2 -0
- package/dist/src/gl/colorUtils.test.d.ts.map +1 -0
- package/dist/src/gl/webGLHelper.d.ts.map +1 -1
- package/dist/src/gl/webGLHelper.js +2 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -5
- package/dist/src/marks/mark.d.ts +0 -2
- package/dist/src/marks/mark.d.ts.map +1 -1
- package/dist/src/marks/mark.js +0 -8
- package/dist/src/marks/rect.d.ts.map +1 -1
- package/dist/src/marks/rect.js +0 -8
- package/dist/src/utils/deepEqual.d.ts +14 -0
- package/dist/src/utils/deepEqual.d.ts.map +1 -0
- package/dist/src/utils/deepEqual.js +63 -0
- package/dist/src/utils/deepEqual.test.d.ts +2 -0
- package/dist/src/utils/deepEqual.test.d.ts.map +1 -0
- package/dist/src/utils/fetchUtils.d.ts +27 -0
- package/dist/src/utils/fetchUtils.d.ts.map +1 -0
- package/dist/src/utils/fetchUtils.js +47 -0
- package/dist/src/utils/fetchUtils.test.d.ts +2 -0
- package/dist/src/utils/fetchUtils.test.d.ts.map +1 -0
- package/dist/src/utils/url.d.ts +12 -0
- package/dist/src/utils/url.d.ts.map +1 -1
- package/dist/src/utils/url.js +45 -0
- package/dist/src/view/viewUtils.d.ts.map +1 -1
- package/dist/src/view/viewUtils.js +4 -5
- package/package.json +2 -2
- package/dist/bundle/index-ByuE8dvu.js +0 -332
- package/dist/bundle/index-D28m8tSW.js +0 -1607
|
@@ -163,7 +163,7 @@ class qI extends Map {
|
|
|
163
163
|
toString() {
|
|
164
164
|
return `QuickLRU(${this.size}/${this.maxSize})`;
|
|
165
165
|
}
|
|
166
|
-
[Symbol.for("nodejs.util.inspect.custom")]() {
|
|
166
|
+
[/* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom")]() {
|
|
167
167
|
return this.toString();
|
|
168
168
|
}
|
|
169
169
|
}
|
|
@@ -3,8 +3,9 @@
|
|
|
3
3
|
* @param {WebGL2RenderingContext} gl
|
|
4
4
|
* @param {number} [count]
|
|
5
5
|
* @param {WebGLTexture} [existingTexture]
|
|
6
|
+
* @param {boolean} [reverse]
|
|
6
7
|
*/
|
|
7
|
-
export function createSchemeTexture(schemeParams: string | import("../spec/scale.js").SchemeParams, gl: WebGL2RenderingContext, count?: number, existingTexture?: WebGLTexture): WebGLTexture;
|
|
8
|
+
export function createSchemeTexture(schemeParams: string | import("../spec/scale.js").SchemeParams, gl: WebGL2RenderingContext, count?: number, existingTexture?: WebGLTexture, reverse?: boolean): WebGLTexture;
|
|
8
9
|
/**
|
|
9
10
|
* @param {string[]} colors
|
|
10
11
|
* @param {import("../spec/scale.js").ScaleInterpolate | import("../spec/scale.js").ScaleInterpolateParams} interpolateParams
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"colorUtils.d.ts","sourceRoot":"","sources":["../../../src/gl/colorUtils.js"],"names":[],"mappings":"AAOA
|
|
1
|
+
{"version":3,"file":"colorUtils.d.ts","sourceRoot":"","sources":["../../../src/gl/colorUtils.js"],"names":[],"mappings":"AAOA;;;;;;GAMG;AACH,kDANW,MAAM,GAAG,OAAO,kBAAkB,EAAE,YAAY,MAChD,sBAAsB,UACtB,MAAM,oBACN,YAAY,YACZ,OAAO,gBAgDjB;AAED;;;;;GAKG;AACH,uDALW,MAAM,EAAE,qBACR,OAAO,kBAAkB,EAAE,gBAAgB,GAAG,OAAO,kBAAkB,EAAE,sBAAsB,MAC/F,sBAAsB,oBACtB,YAAY,gBA6BtB;AAED;;;;;;;;GAQG;AACH,6CALW,MAAM,EAAE,MACR,sBAAsB,UACtB,MAAM,oBACN,YAAY,gBAqBtB;AAED;;;;;;;GAOG;AACH,mDALW,MAAM,EAAE,MACR,sBAAsB,UACtB,MAAM,oBACN,YAAY,gBActB;AAyDD;;GAEG;AACH,uCAFW,MAAM,YAKhB"}
|
|
@@ -10,8 +10,15 @@ import { createOrUpdateTexture } from "./webGLHelper.js";
|
|
|
10
10
|
* @param {WebGL2RenderingContext} gl
|
|
11
11
|
* @param {number} [count]
|
|
12
12
|
* @param {WebGLTexture} [existingTexture]
|
|
13
|
+
* @param {boolean} [reverse]
|
|
13
14
|
*/
|
|
14
|
-
export function createSchemeTexture(
|
|
15
|
+
export function createSchemeTexture(
|
|
16
|
+
schemeParams,
|
|
17
|
+
gl,
|
|
18
|
+
count,
|
|
19
|
+
existingTexture,
|
|
20
|
+
reverse = false
|
|
21
|
+
) {
|
|
15
22
|
const schemeName = isString(schemeParams)
|
|
16
23
|
? schemeParams
|
|
17
24
|
: schemeParams.name;
|
|
@@ -24,10 +31,10 @@ export function createSchemeTexture(schemeParams, gl, count, existingTexture) {
|
|
|
24
31
|
if (schemeName) {
|
|
25
32
|
const scheme = vegaScheme(schemeName);
|
|
26
33
|
if (isFunction(scheme)) {
|
|
27
|
-
// TODO: Reverse
|
|
28
34
|
const textureData = interpolatorToTextureData(scheme, {
|
|
29
35
|
extent,
|
|
30
36
|
count,
|
|
37
|
+
reverse,
|
|
31
38
|
});
|
|
32
39
|
return createOrUpdateTexture(
|
|
33
40
|
gl,
|
|
@@ -41,7 +48,12 @@ export function createSchemeTexture(schemeParams, gl, count, existingTexture) {
|
|
|
41
48
|
existingTexture
|
|
42
49
|
);
|
|
43
50
|
} else if (isArray(scheme)) {
|
|
44
|
-
return createDiscreteColorTexture(
|
|
51
|
+
return createDiscreteColorTexture(
|
|
52
|
+
reverse ? Array.from(scheme).reverse() : scheme,
|
|
53
|
+
gl,
|
|
54
|
+
count,
|
|
55
|
+
existingTexture
|
|
56
|
+
);
|
|
45
57
|
} else {
|
|
46
58
|
throw new Error("Unknown scheme: " + schemeName);
|
|
47
59
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"colorUtils.test.d.ts","sourceRoot":"","sources":["../../../src/gl/colorUtils.test.js"],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webGLHelper.d.ts","sourceRoot":"","sources":["../../../src/gl/webGLHelper.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"webGLHelper.d.ts","sourceRoot":"","sources":["../../../src/gl/webGLHelper.js"],"names":[],"mappings":"AAyZA;;;;GAIG;AACH,kCAJW,sBAAsB,gBACtB,WAAW,kBACX,WAAW;;;;;;EA8CrB;AAED;;;;;GAKG;AACH,0CALW,qBAAqB,WACrB,IAAI,CAAC,OAAO,SAAS,EAAE,cAAc,EAAE,KAAK,CAAC,OAC7C,MAAM,EAAE,GAAG,eAAe,YAC1B,YAAY,gBAYtB;AAED;;;;;;GAMG;AACH,qCALW,sBAAsB,mBACtB,OAAO,SAAS,EAAE,eAAe,KACjC,MAAM,KACN,MAAM,2BAWhB;AAED;;;;;GAKG;AACH,yCAJW,sBAAsB,mBACtB,OAAO,SAAS,EAAE,eAAe,SACjC,MAAM,UA4BhB;AAlfD;IACI;;;;;;;OAOG;IACH,uBANW,WAAW,eACX,MAAM;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC,2BAGrC,sBAAsB,EAsFhC;IAnFG,wBAA2B;IAC3B;;;MAKO;IAEP,uCAAuC;IACvC,cADW,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CACN;IAE7B,6EAA6E;IAC7E,eADW,OAAO,CAAC,OAAO,qBAAqB,EAAE,SAAS,EAAE,YAAY,CAAC,CACvC;IAElC;;OAEG;IACH,mBAFU,OAAO,CAAC,OAAO,4BAA4B,EAAE,mBAAmB,EAAE,YAAY,CAAC,CAEnD;IA8CtC,0BAAoB;IACpB,2BAAY;IAGZ,oDAAoD;IACpD,2BADW,OAAO,SAAS,EAAE,iBAAiB,EAAE,CAQ/C;IACD,sDAGC;IAML,uBAGC;IAFG;;;MAAmC;IAIvC;;;;;OAKG;IACH,oBAHW,MAAM,QACN,MAAM,GAAG,MAAM,EAAE,eA2B3B;IAED,iBAcC;IAED,iBAEC;IAED;;;;OAIG;IACH,oCAFW;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;;;MAS3C;IAED;;;OAGG;IACH;;;MAuBC;IAED;;;;;;;;;OASG;IACH,+BAHW,OAAO,8BAA8B,EAAE,OAAO,WAC9C,OAAO,QA2GjB;IAED;;OAEG;IACH,kCAFW,OAAO,4BAA4B,EAAE,mBAAmB,0BA+BlE;CACJ"}
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.js"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.js"],"names":[],"mappings":";AAgGA;;;;;GAKG;AACH,8BAFW,MAAM,gBAmBhB;sBApHqB,gBAAgB;qBAFjB,KAAK;iBAGT,kBAAkB;oBACf,6BAA6B"}
|
package/dist/src/index.js
CHANGED
|
@@ -4,6 +4,7 @@ import { html } from "lit";
|
|
|
4
4
|
import GenomeSpy from "./genomeSpy.js";
|
|
5
5
|
import icon from "./img/bowtie.svg";
|
|
6
6
|
import favIcon from "./img/genomespy-favicon.svg";
|
|
7
|
+
import { fetchJson } from "./utils/fetchUtils.js";
|
|
7
8
|
|
|
8
9
|
export { GenomeSpy, html, icon, favIcon };
|
|
9
10
|
|
|
@@ -103,11 +104,7 @@ export async function loadSpec(url) {
|
|
|
103
104
|
let spec;
|
|
104
105
|
|
|
105
106
|
try {
|
|
106
|
-
|
|
107
|
-
if (!response.ok) {
|
|
108
|
-
throw new Error(`${response.status} ${response.statusText}`);
|
|
109
|
-
}
|
|
110
|
-
spec = await response.json();
|
|
107
|
+
spec = /** @type {any} */ (await fetchJson(url));
|
|
111
108
|
} catch (e) {
|
|
112
109
|
throw new Error(
|
|
113
110
|
`Could not load or parse configuration: ${url}, reason: ${e.message}`
|
package/dist/src/marks/mark.d.ts
CHANGED
|
@@ -210,8 +210,6 @@ export default class Mark<P extends import("../spec/mark.js").MarkProps = import
|
|
|
210
210
|
get glHelper(): import("../gl/webGLHelper.js").default;
|
|
211
211
|
/** Convenience method */
|
|
212
212
|
get gl(): WebGL2RenderingContext;
|
|
213
|
-
onBeforeSampleAnimation(): void;
|
|
214
|
-
onAfterSampleAnimation(): void;
|
|
215
213
|
isReady(): import("twgl.js").ProgramInfo;
|
|
216
214
|
/**
|
|
217
215
|
* Returns true if this mark instance participates in picking.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mark.d.ts","sourceRoot":"","sources":["../../../src/marks/mark.js"],"names":[],"mappings":"AA6DA,mCAAoC,sBAAsB,CAAC;AAC3D,mCAAoC,sBAAsB,CAAC;AAE3D,uCAAwC,oBAAoB,CAAC;AAE7D;;;;;;;;;;;;;GAaG;AAEH;;GAEG;AACH,0BAF0B,CAAC,SAAd,mCAAW;IAkBpB;;OAEG;IACH,sBAFW,OAAO,qBAAqB,EAAE,OAAO,EA4G/C;IAzGG,gDAAwB;IAExB,8EAA8E;IAC9E,UADW,OAAO,CAAC,MAAM,uCAAU,OAAO,qBAAqB,EAAE,OAAO,CAAC,CAAC,CACjD;IAIzB;;;OAGG;IACH,sBAHU,OAAO,SAAS,EAAE,UAAU,GAAG;QAAE,iBAAiB,CAAC,EAAE,MAAM,CAAA;KAAE,CAG5C;IAE3B;;;;;;;OAOG;IACH,2BAHU,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAGG;IAEhC;;;OAGG;IACH,uBAHU,OAAO,SAAS,EAAE,WAAW,CAGX;IAE5B;;;OAGG;IACH,2BAHU,OAAO,SAAS,EAAE,eAAe,CAGX;IAEhC;;;OAGG;IACH,2BAHU,OAAO,SAAS,EAAE,gBAAgB,CAGZ;IAEhC;;;;;OAKG;IACH,2BAHU,OAAO,SAAS,EAAE,gBAAgB,CAGZ;IAEhC;;;;;OAKG;IACH,uCAA+B;IAE/B;;;;;OAKG;IACH,4BAA6B;IAE7B,kFAAkF;IAClF,UADW,QAAQ,CAAC,GAAG,CAAC,CACM;IAG9B,qBAqBE;IAEF;;;;;;OAMG;IACH,qBAHU,CAAC,CAQV;IAGL;;;OAGG;IACH,0CAHW,OAAO,CAAC,CAAC,CAAC,QAQpB;IAED,sBAEC;IAED;;;OAGG;IACH,0BAFa,WAAW,CAIvB;IAED;;;;;OAKG;IACH,2BAHa,OAAO,oBAAoB,EAAE,OAAO,EAAE,CAMlD;IAED;;OAEG;IACH,wBAFa,sCAAS,CAarB;IAED;;OAEG;IACH,4DAcC;IAED;;;;;OAKG;IACH,oGAEC;IAED;;;;;;OAMG;IACH,oDAHW,CAAC,MAAM,CAAC,CAAC,EAAE,QAqCrB;IAED;;;;OAIG;IACH,sDAiDC;IAED,wDAEC;IAED,uDAEC;IAED,uBAEC;IAED;;;OAGG;IACH,2BAEC;IAED;;OAEG;IACH,oCAEC;IAED;;OAEG;IACH,2BAEC;IAED,sEAeC;IAED;;;;;;OAMG;IAEH,6CANW,MAAM,kBACN,MAAM,iBACN,MAAM,EAAE,QAqelB;IALG;;;;;;MAIC;IAGL;;;;;;OAMG;IACH,uCAwDC;IAED;;;;;;OAMG;IACH,+CAHW,MAAM,GACJ,CAAS,IAAG,EAAH,GAAG,KAAE,IAAI,CAe9B;IAED;;;;;;;;;;OAUG;IACH,mCALa,CAAC,eACH,MAAM,aACN,CAAC,aACD,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,yCAAU,KAAK,GAAG,QA6BzC;IAED;;OAEG;IACH,2BA+BC;IAED,gBAEC;IAED;;;OAGG;IACH,6BAFW,GAAG,QAyCb;IAED,yBAAyB;IACzB,uDAEC;IAED,yBAAyB;IACzB,iCAEC;IAED,
|
|
1
|
+
{"version":3,"file":"mark.d.ts","sourceRoot":"","sources":["../../../src/marks/mark.js"],"names":[],"mappings":"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"}
|
package/dist/src/marks/mark.js
CHANGED
|
@@ -1151,14 +1151,6 @@ export default class Mark {
|
|
|
1151
1151
|
return this.glHelper.gl;
|
|
1152
1152
|
}
|
|
1153
1153
|
|
|
1154
|
-
onBeforeSampleAnimation() {
|
|
1155
|
-
// override
|
|
1156
|
-
}
|
|
1157
|
-
|
|
1158
|
-
onAfterSampleAnimation() {
|
|
1159
|
-
// override
|
|
1160
|
-
}
|
|
1161
|
-
|
|
1162
1154
|
isReady() {
|
|
1163
1155
|
return this.bufferInfo && this.programInfo;
|
|
1164
1156
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rect.d.ts","sourceRoot":"","sources":["../../../src/marks/rect.js"],"names":[],"mappings":"AA2BA;;GAEG;AACH;IACI;;OAEG;IACH,sBAFW,OAAO,qBAAqB,EAAE,OAAO,EAkB/C;
|
|
1
|
+
{"version":3,"file":"rect.d.ts","sourceRoot":"","sources":["../../../src/marks/rect.js"],"names":[],"mappings":"AA2BA;;GAEG;AACH;IACI;;OAEG;IACH,sBAFW,OAAO,qBAAqB,EAAE,OAAO,EAkB/C;IA0ND;;;;;;;;;;OAUG;IACH,8BALW,GAAG,KACH,OAAO,oBAAoB,EAAE,MAAM,GACjC,GAAG,CAyBf;;CACJ;iBAxSgB,WAAW"}
|
package/dist/src/marks/rect.js
CHANGED
|
@@ -120,14 +120,6 @@ export default class RectMark extends Mark {
|
|
|
120
120
|
return encoding;
|
|
121
121
|
}
|
|
122
122
|
|
|
123
|
-
onBeforeSampleAnimation() {
|
|
124
|
-
// TODO: Tessellate rects inside the viewport
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
onAfterSampleAnimation() {
|
|
128
|
-
// TODO: Pop the previous buffers
|
|
129
|
-
}
|
|
130
|
-
|
|
131
123
|
#isRoundedCorners() {
|
|
132
124
|
const p = this.properties;
|
|
133
125
|
return (
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Deep equality for JSON-like values (primitives, arrays, plain objects).
|
|
3
|
+
*
|
|
4
|
+
* Notes:
|
|
5
|
+
* - Non-plain objects (Date, Map, Set, class instances, etc.) are compared by
|
|
6
|
+
* reference (`Object.is`), not by value.
|
|
7
|
+
* - Circular references are not supported.
|
|
8
|
+
*
|
|
9
|
+
* @param {unknown} a
|
|
10
|
+
* @param {unknown} b
|
|
11
|
+
* @returns {boolean}
|
|
12
|
+
*/
|
|
13
|
+
export default function deepEqual(a: unknown, b: unknown): boolean;
|
|
14
|
+
//# sourceMappingURL=deepEqual.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deepEqual.d.ts","sourceRoot":"","sources":["../../../src/utils/deepEqual.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,qCAJW,OAAO,KACP,OAAO,GACL,OAAO,CAuCnB"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Deep equality for JSON-like values (primitives, arrays, plain objects).
|
|
3
|
+
*
|
|
4
|
+
* Notes:
|
|
5
|
+
* - Non-plain objects (Date, Map, Set, class instances, etc.) are compared by
|
|
6
|
+
* reference (`Object.is`), not by value.
|
|
7
|
+
* - Circular references are not supported.
|
|
8
|
+
*
|
|
9
|
+
* @param {unknown} a
|
|
10
|
+
* @param {unknown} b
|
|
11
|
+
* @returns {boolean}
|
|
12
|
+
*/
|
|
13
|
+
export default function deepEqual(a, b) {
|
|
14
|
+
if (Object.is(a, b)) {
|
|
15
|
+
return true;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
if (Array.isArray(a) || Array.isArray(b)) {
|
|
19
|
+
if (!Array.isArray(a) || !Array.isArray(b) || a.length !== b.length) {
|
|
20
|
+
return false;
|
|
21
|
+
}
|
|
22
|
+
for (let i = 0; i < a.length; i++) {
|
|
23
|
+
if (!deepEqual(a[i], b[i])) {
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return true;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
if (!isPlainObject(a) || !isPlainObject(b)) {
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
const keysA = Object.keys(a);
|
|
35
|
+
const keysB = Object.keys(b);
|
|
36
|
+
if (keysA.length !== keysB.length) {
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
for (const key of keysA) {
|
|
41
|
+
if (
|
|
42
|
+
!Object.prototype.hasOwnProperty.call(b, key) ||
|
|
43
|
+
!deepEqual(a[key], b[key])
|
|
44
|
+
) {
|
|
45
|
+
return false;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
return true;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* @param {unknown} value
|
|
54
|
+
* @returns {value is Record<string, any>}
|
|
55
|
+
*/
|
|
56
|
+
function isPlainObject(value) {
|
|
57
|
+
if (value == null || typeof value !== "object" || Array.isArray(value)) {
|
|
58
|
+
return false;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
const proto = Object.getPrototypeOf(value);
|
|
62
|
+
return proto === Object.prototype || proto === null;
|
|
63
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deepEqual.test.d.ts","sourceRoot":"","sources":["../../../src/utils/deepEqual.test.js"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fetches JSON from a URL and throws explicit errors for HTTP status and
|
|
3
|
+
* JSON parsing failures.
|
|
4
|
+
*
|
|
5
|
+
* @param {string} url
|
|
6
|
+
* @param {{ signal?: AbortSignal }} [options]
|
|
7
|
+
* @returns {Promise<unknown>}
|
|
8
|
+
*/
|
|
9
|
+
export function fetchJson(url: string, options?: {
|
|
10
|
+
signal?: AbortSignal;
|
|
11
|
+
}): Promise<unknown>;
|
|
12
|
+
/**
|
|
13
|
+
* @typedef {"network" | "http" | "json"} FetchJsonErrorKind
|
|
14
|
+
*/
|
|
15
|
+
/**
|
|
16
|
+
* @extends {Error}
|
|
17
|
+
*/
|
|
18
|
+
export class FetchJsonError extends Error {
|
|
19
|
+
/**
|
|
20
|
+
* @param {FetchJsonErrorKind} kind
|
|
21
|
+
* @param {string} message
|
|
22
|
+
*/
|
|
23
|
+
constructor(kind: FetchJsonErrorKind, message: string);
|
|
24
|
+
kind: FetchJsonErrorKind;
|
|
25
|
+
}
|
|
26
|
+
export type FetchJsonErrorKind = "network" | "http" | "json";
|
|
27
|
+
//# sourceMappingURL=fetchUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetchUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/fetchUtils.js"],"names":[],"mappings":"AAkBA;;;;;;;GAOG;AACH,+BAJW,MAAM,YACN;IAAE,MAAM,CAAC,EAAE,WAAW,CAAA;CAAE,GACtB,OAAO,CAAC,OAAO,CAAC,CAsB5B;AA9CD;;GAEG;AAEH;;GAEG;AACH;IACI;;;OAGG;IACH,kBAHW,kBAAkB,WAClB,MAAM,EAKhB;IADG,yBAAgB;CAEvB;iCAfY,SAAS,GAAG,MAAM,GAAG,MAAM"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @typedef {"network" | "http" | "json"} FetchJsonErrorKind
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* @extends {Error}
|
|
7
|
+
*/
|
|
8
|
+
export class FetchJsonError extends Error {
|
|
9
|
+
/**
|
|
10
|
+
* @param {FetchJsonErrorKind} kind
|
|
11
|
+
* @param {string} message
|
|
12
|
+
*/
|
|
13
|
+
constructor(kind, message) {
|
|
14
|
+
super(message);
|
|
15
|
+
this.kind = kind;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Fetches JSON from a URL and throws explicit errors for HTTP status and
|
|
21
|
+
* JSON parsing failures.
|
|
22
|
+
*
|
|
23
|
+
* @param {string} url
|
|
24
|
+
* @param {{ signal?: AbortSignal }} [options]
|
|
25
|
+
* @returns {Promise<unknown>}
|
|
26
|
+
*/
|
|
27
|
+
export async function fetchJson(url, options = {}) {
|
|
28
|
+
let response;
|
|
29
|
+
try {
|
|
30
|
+
response = await fetch(url, { signal: options.signal });
|
|
31
|
+
} catch (error) {
|
|
32
|
+
throw new FetchJsonError("network", String(error));
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
if (!response.ok) {
|
|
36
|
+
throw new FetchJsonError(
|
|
37
|
+
"http",
|
|
38
|
+
String(response.status) + " " + response.statusText
|
|
39
|
+
);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
try {
|
|
43
|
+
return await response.json();
|
|
44
|
+
} catch (error) {
|
|
45
|
+
throw new FetchJsonError("json", String(error));
|
|
46
|
+
}
|
|
47
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetchUtils.test.d.ts","sourceRoot":"","sources":["../../../src/utils/fetchUtils.test.js"],"names":[],"mappings":""}
|
package/dist/src/utils/url.d.ts
CHANGED
|
@@ -9,6 +9,18 @@
|
|
|
9
9
|
* @param {string} append
|
|
10
10
|
*/
|
|
11
11
|
export function concatUrl(base: string | (() => string), append: string): string;
|
|
12
|
+
/**
|
|
13
|
+
* Resolves a URL against a possibly relative base URL and runtime location.
|
|
14
|
+
*
|
|
15
|
+
* Unlike concatUrl, this function can normalize path segments ("..", ".")
|
|
16
|
+
* when enough context exists (absolute base or runtime base URI).
|
|
17
|
+
*
|
|
18
|
+
* @param {string | (() => string)} base
|
|
19
|
+
* @param {string} append
|
|
20
|
+
* @param {string | null} [runtimeBase]
|
|
21
|
+
* @returns {string}
|
|
22
|
+
*/
|
|
23
|
+
export function resolveUrl(base: string | (() => string), append: string, runtimeBase?: string | null): string;
|
|
12
24
|
/**
|
|
13
25
|
* @param {string} url
|
|
14
26
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"url.d.ts","sourceRoot":"","sources":["../../../src/utils/url.js"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AACH,gCAHW,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,UACvB,MAAM,UAsBhB;AAED;;GAEG;AACH,kCAFW,MAAM,UAShB"}
|
|
1
|
+
{"version":3,"file":"url.d.ts","sourceRoot":"","sources":["../../../src/utils/url.js"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AACH,gCAHW,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,UACvB,MAAM,UAsBhB;AAED;;;;;;;;;;GAUG;AACH,iCALW,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,UACvB,MAAM,gBACN,MAAM,GAAG,IAAI,GACX,MAAM,CAsBlB;AAED;;GAEG;AACH,kCAFW,MAAM,UAShB"}
|
package/dist/src/utils/url.js
CHANGED
|
@@ -32,6 +32,39 @@ export function concatUrl(base, append) {
|
|
|
32
32
|
return getDirectory(baseString) + append;
|
|
33
33
|
}
|
|
34
34
|
|
|
35
|
+
/**
|
|
36
|
+
* Resolves a URL against a possibly relative base URL and runtime location.
|
|
37
|
+
*
|
|
38
|
+
* Unlike concatUrl, this function can normalize path segments ("..", ".")
|
|
39
|
+
* when enough context exists (absolute base or runtime base URI).
|
|
40
|
+
*
|
|
41
|
+
* @param {string | (() => string)} base
|
|
42
|
+
* @param {string} append
|
|
43
|
+
* @param {string | null} [runtimeBase]
|
|
44
|
+
* @returns {string}
|
|
45
|
+
*/
|
|
46
|
+
export function resolveUrl(base, append, runtimeBase = getRuntimeBase()) {
|
|
47
|
+
const baseString = typeof base == "function" ? base() : base;
|
|
48
|
+
if (!append) {
|
|
49
|
+
return baseString;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
try {
|
|
53
|
+
if (baseString) {
|
|
54
|
+
const absoluteBase = runtimeBase
|
|
55
|
+
? new URL(baseString, runtimeBase).href
|
|
56
|
+
: new URL(baseString).href;
|
|
57
|
+
return new URL(append, absoluteBase).href;
|
|
58
|
+
} else if (runtimeBase) {
|
|
59
|
+
return new URL(append, runtimeBase).href;
|
|
60
|
+
}
|
|
61
|
+
} catch (_error) {
|
|
62
|
+
// Fall back to simple concatenation below.
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
return concatUrl(baseString, append);
|
|
66
|
+
}
|
|
67
|
+
|
|
35
68
|
/**
|
|
36
69
|
* @param {string} url
|
|
37
70
|
*/
|
|
@@ -43,3 +76,15 @@ export function getDirectory(url) {
|
|
|
43
76
|
? url + "/"
|
|
44
77
|
: directory;
|
|
45
78
|
}
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* @returns {string | undefined}
|
|
82
|
+
*/
|
|
83
|
+
function getRuntimeBase() {
|
|
84
|
+
if (typeof document !== "undefined" && document.baseURI) {
|
|
85
|
+
return document.baseURI;
|
|
86
|
+
}
|
|
87
|
+
if (typeof window !== "undefined" && window.location?.href) {
|
|
88
|
+
return window.location.href;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"viewUtils.d.ts","sourceRoot":"","sources":["../../../src/view/viewUtils.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"viewUtils.d.ts","sourceRoot":"","sources":["../../../src/view/viewUtils.js"],"names":[],"mappings":"AAUA;;;;GAIG;AACH,qCAHW,OAAO,oBAAoB,EAAE,UAAU,GAAG,OAAO,iBAAiB,EAAE,YAAY,GAC9E,IAAI,IAAI,aAAa,CAIjC;AAED;;;;GAIG;AACH,oCAHW,OAAO,oBAAoB,EAAE,aAAa,GAAG,OAAO,iBAAiB,EAAE,YAAY,GACjF,IAAI,IAAI,YAAY,CAOhC;AAED;;;GAGG;AACH,+BAFW,IAAI,6EAMd;AAED;;;;GAIG;AACH,wCAFW,IAAI,UASd;AAED;;GAEG;AACH,kDAFW,IAAI,QAiBd;AAED;;;;;;;GAOG;AACH,4CAFW,IAAI,QAUd;AAED;;;;GAIG;AACH,0DAJW,OAAO,CAAC,OAAO,kBAAkB,EAAE,OAAO,CAAC,EAAE,mBAC7C,MAAM,OAAO,GACX,OAAO,CAAC,IAAI,CAAC,CAmBzB;AAED;;;GAGG;AACH,wCAFW,IAAI;UAGO,QAAQ;aAAW,OAAO,oBAAoB,EAAE,OAAO;WAAS,OAAO,oBAAoB,EAAE,KAAK;UAAQ,OAAO,oBAAoB,EAAE,IAAI;IAqBhK;AAED;;;;;GAKG;AACH,2CALW,OAAO,iBAAiB,EAAE,UAAU,WACpC,MAAM,eACN,OAAO,yBAAyB,EAAE,OAAO,GACvC,OAAO,CAAC,OAAO,iBAAiB,EAAE,QAAQ,CAAC,CAoCvD;AAED;;GAEG;AACH,yCAFW,CAAS,IAAI,EAAJ,IAAI,EAAE,IAAM,EAAN,IAAI,EAAE,KAAE,IAAI,+BAkBrC;AAED;;;GAGG;AACH,0CAFW,IAAI,eAqBd;AAED;;GAEG;AACH,8CAFW,OAAO,WAAW,EAAE,OAAO;;;EAoBrC;iBA1P4C,WAAW;qBAFnC,eAAe"}
|
|
@@ -6,6 +6,7 @@ import View, { VISIT_SKIP, VISIT_STOP } from "./view.js";
|
|
|
6
6
|
import { isFieldDef, primaryPositionalChannels } from "../encoder/encoder.js";
|
|
7
7
|
import { rollup } from "d3-array";
|
|
8
8
|
import { concatUrl, getDirectory } from "../utils/url.js";
|
|
9
|
+
import { fetchJson } from "../utils/fetchUtils.js";
|
|
9
10
|
|
|
10
11
|
/**
|
|
11
12
|
*
|
|
@@ -160,11 +161,9 @@ export async function loadExternalViewSpec(spec, baseUrl, viewContext) {
|
|
|
160
161
|
let importedSpec;
|
|
161
162
|
|
|
162
163
|
try {
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
}
|
|
167
|
-
importedSpec = await result.json();
|
|
164
|
+
importedSpec = /** @type {import("../spec/view.js").ViewSpec} */ (
|
|
165
|
+
await fetchJson(url)
|
|
166
|
+
);
|
|
168
167
|
} catch (e) {
|
|
169
168
|
throw new Error(
|
|
170
169
|
`Could not load imported view spec: ${url}. Reason: ${e.message}`
|
package/package.json
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
},
|
|
8
8
|
"contributors": [],
|
|
9
9
|
"license": "MIT",
|
|
10
|
-
"version": "0.
|
|
10
|
+
"version": "0.70.0",
|
|
11
11
|
"jsdelivr": "dist/bundle/index.js",
|
|
12
12
|
"unpkg": "dist/bundle/index.js",
|
|
13
13
|
"browser": "dist/bundle/index.js",
|
|
@@ -67,5 +67,5 @@
|
|
|
67
67
|
"devDependencies": {
|
|
68
68
|
"@types/long": "^4.0.1"
|
|
69
69
|
},
|
|
70
|
-
"gitHead": "
|
|
70
|
+
"gitHead": "7ab5f3feb1bdcc8df7a437a031dbbaac7cbaffd9"
|
|
71
71
|
}
|