@bian-womp/spark-graph 0.1.20 → 0.1.22
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/lib/cjs/index.cjs +319 -30
- package/lib/cjs/index.cjs.map +1 -1
- package/lib/cjs/src/core/types.d.ts +2 -0
- package/lib/cjs/src/core/types.d.ts.map +1 -1
- package/lib/cjs/src/index.d.ts +2 -4
- package/lib/cjs/src/index.d.ts.map +1 -1
- package/lib/cjs/src/misc/base.d.ts.map +1 -1
- package/lib/cjs/src/runtime/GraphRuntime.d.ts.map +1 -1
- package/lib/esm/index.js +318 -31
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/src/core/types.d.ts +2 -0
- package/lib/esm/src/core/types.d.ts.map +1 -1
- package/lib/esm/src/index.d.ts +2 -4
- package/lib/esm/src/index.d.ts.map +1 -1
- package/lib/esm/src/misc/base.d.ts.map +1 -1
- package/lib/esm/src/runtime/GraphRuntime.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -50,6 +50,8 @@ export type TypedOutputValue<T = unknown> = {
|
|
|
50
50
|
};
|
|
51
51
|
export declare function typed<T = unknown>(typeId: DataTypeId, value: T): TypedOutputValue<T>;
|
|
52
52
|
export declare function isTypedOutput(v: unknown): v is TypedOutputValue<unknown>;
|
|
53
|
+
export declare function getTypedOutputTypeId(v: unknown): DataTypeId | undefined;
|
|
54
|
+
export declare function getTypedOutputValue(v: unknown): unknown;
|
|
53
55
|
export type InputHandleDescriptor = DataTypeId | {
|
|
54
56
|
typeId: DataTypeId;
|
|
55
57
|
private?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/core/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/core/types.ts"],"names":[],"mappings":"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"}
|
package/lib/cjs/src/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
export type { DataTypeId, NodeTypeId, NodeInstanceId, HandleId, EdgeInstanceId, NodeCategoryId, DataTypeDescriptor, InvalidateReason, NodeContext, ExecutionContext, NodeTypeDescriptor, GraphDefinition, RuntimeNodeStats, RuntimeEdgeStats, } from "./core/types";
|
|
1
|
+
export type { DataTypeId, NodeTypeId, NodeInstanceId, HandleId, EdgeInstanceId, NodeCategoryId, DataTypeDescriptor, InvalidateReason, NodeContext, ExecutionContext, NodeTypeDescriptor, GraphDefinition, RuntimeNodeStats, RuntimeEdgeStats, TypedOutputValue, } from "./core/types";
|
|
2
|
+
export { typed, isTypedOutput, getTypedOutputTypeId, getTypedOutputValue, getInputTypeId, isInputPrivate, } from "./core/types";
|
|
2
3
|
export type { CategoryRuntime, NodeCategoryDescriptor, } from "./core/categories";
|
|
3
4
|
export { Registry } from "./builder/Registry";
|
|
4
5
|
export { GraphBuilder } from "./builder/GraphBuilder";
|
|
@@ -7,9 +8,6 @@ export { GraphRuntime } from "./runtime/GraphRuntime";
|
|
|
7
8
|
export type { RunnerControl } from "./runtime/RunnerControl";
|
|
8
9
|
export { LocalRunner } from "./runtime/LocalRunner";
|
|
9
10
|
export type { RuntimeEventName, RuntimeEventMap } from "./runtime/GraphRuntime";
|
|
10
|
-
export { typed, isTypedOutput } from "./core/types";
|
|
11
|
-
export type { TypedOutputValue } from "./core/types";
|
|
12
|
-
export { getInputTypeId, isInputPrivate } from "./core/types";
|
|
13
11
|
export type { Engine, EngineEventListener, EngineEventMap, EngineEventName, } from "./runtime/Engine";
|
|
14
12
|
export { PushEngine } from "./runtime/PushEngine";
|
|
15
13
|
export { BatchedEngine } from "./runtime/BatchedEngine";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,UAAU,EACV,UAAU,EACV,cAAc,EACd,QAAQ,EACR,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,eAAe,EACf,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,YAAY,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAChF,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,UAAU,EACV,UAAU,EACV,cAAc,EACd,QAAQ,EACR,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,KAAK,EACL,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EACnB,cAAc,EACd,cAAc,GACf,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,eAAe,EACf,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,YAAY,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAChF,YAAY,EACV,MAAM,EACN,mBAAmB,EACnB,cAAc,EACd,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EACL,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,wBAAwB,EACxB,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,2BAA2B,EAC3B,sBAAsB,GACvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,6BAA6B,EAC7B,wBAAwB,GACzB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../src/misc/base.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,KAAK,EAEV,eAAe,EAEhB,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../src/misc/base.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,KAAK,EAEV,eAAe,EAEhB,MAAM,eAAe,CAAC;AA2HvB,wBAAgB,uBAAuB,IAAI,QAAQ,CAyqBlD;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,QA+BnD;AAqBD,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,QA6BvD;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,eAAe,6BAUrE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GraphRuntime.d.ts","sourceRoot":"","sources":["../../../../src/runtime/GraphRuntime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACb,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EACV,eAAe,EAIf,gBAAgB,EAGjB,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"GraphRuntime.d.ts","sourceRoot":"","sources":["../../../../src/runtime/GraphRuntime.ts"],"names":[],"mappings":"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"}
|
package/lib/esm/index.js
CHANGED
|
@@ -1,3 +1,32 @@
|
|
|
1
|
+
function typed(typeId, value) {
|
|
2
|
+
return { __spark_type: typeId, __spark_value: value };
|
|
3
|
+
}
|
|
4
|
+
function isTypedOutput(v) {
|
|
5
|
+
return (!!v &&
|
|
6
|
+
typeof v === "object" &&
|
|
7
|
+
Object.prototype.hasOwnProperty.call(v, "__spark_type"));
|
|
8
|
+
}
|
|
9
|
+
function getTypedOutputTypeId(v) {
|
|
10
|
+
if (isTypedOutput(v))
|
|
11
|
+
return String(v.__spark_type);
|
|
12
|
+
return undefined;
|
|
13
|
+
}
|
|
14
|
+
function getTypedOutputValue(v) {
|
|
15
|
+
if (isTypedOutput(v))
|
|
16
|
+
return v.__spark_value;
|
|
17
|
+
return v;
|
|
18
|
+
}
|
|
19
|
+
function getInputTypeId(inputs, handle) {
|
|
20
|
+
const v = inputs ? inputs[handle] : undefined;
|
|
21
|
+
if (!v)
|
|
22
|
+
return undefined;
|
|
23
|
+
return typeof v === "string" ? v : v.typeId;
|
|
24
|
+
}
|
|
25
|
+
function isInputPrivate(inputs, handle) {
|
|
26
|
+
const v = inputs ? inputs[handle] : undefined;
|
|
27
|
+
return !!(v && typeof v === "object" && v.private);
|
|
28
|
+
}
|
|
29
|
+
|
|
1
30
|
class CategoryRegistry {
|
|
2
31
|
constructor() {
|
|
3
32
|
this.categories = new Map();
|
|
@@ -370,25 +399,6 @@ class Registry {
|
|
|
370
399
|
}
|
|
371
400
|
}
|
|
372
401
|
|
|
373
|
-
function typed(typeId, value) {
|
|
374
|
-
return { __spark_type: typeId, __spark_value: value };
|
|
375
|
-
}
|
|
376
|
-
function isTypedOutput(v) {
|
|
377
|
-
return (!!v &&
|
|
378
|
-
typeof v === "object" &&
|
|
379
|
-
Object.prototype.hasOwnProperty.call(v, "__spark_type"));
|
|
380
|
-
}
|
|
381
|
-
function getInputTypeId(inputs, handle) {
|
|
382
|
-
const v = inputs ? inputs[handle] : undefined;
|
|
383
|
-
if (!v)
|
|
384
|
-
return undefined;
|
|
385
|
-
return typeof v === "string" ? v : v.typeId;
|
|
386
|
-
}
|
|
387
|
-
function isInputPrivate(inputs, handle) {
|
|
388
|
-
const v = inputs ? inputs[handle] : undefined;
|
|
389
|
-
return !!(v && typeof v === "object" && v.private);
|
|
390
|
-
}
|
|
391
|
-
|
|
392
402
|
class GraphRuntime {
|
|
393
403
|
constructor() {
|
|
394
404
|
this.nodes = new Map();
|
|
@@ -563,12 +573,12 @@ class GraphRuntime {
|
|
|
563
573
|
});
|
|
564
574
|
if (anyAsync) {
|
|
565
575
|
convertAsync = async (v, signal) => {
|
|
566
|
-
|
|
576
|
+
const typeId = getTypedOutputTypeId(v);
|
|
577
|
+
if (!typeId)
|
|
567
578
|
throw new Error(`Typed output required for union source; allowed: ${srcTypes.join("|")}`);
|
|
568
|
-
const typeId = String(v.__spark_type);
|
|
569
579
|
if (!srcTypes.includes(typeId))
|
|
570
580
|
throw new Error(`Invalid typed output ${typeId}; allowed: ${srcTypes.join("|")}`);
|
|
571
|
-
const payload =
|
|
581
|
+
const payload = typeId;
|
|
572
582
|
const res = registry.resolveCoercion(typeId, dstDeclared);
|
|
573
583
|
if (!res)
|
|
574
584
|
return payload;
|
|
@@ -579,12 +589,12 @@ class GraphRuntime {
|
|
|
579
589
|
}
|
|
580
590
|
else {
|
|
581
591
|
convert = (v) => {
|
|
582
|
-
|
|
592
|
+
const typeId = getTypedOutputTypeId(v);
|
|
593
|
+
if (!typeId)
|
|
583
594
|
throw new Error(`Typed output required for union source; allowed: ${srcTypes.join("|")}`);
|
|
584
|
-
const typeId = String(v.__spark_type);
|
|
585
595
|
if (!srcTypes.includes(typeId))
|
|
586
596
|
throw new Error(`Invalid typed output ${typeId}; allowed: ${srcTypes.join("|")}`);
|
|
587
|
-
const payload =
|
|
597
|
+
const payload = typeId;
|
|
588
598
|
const res = registry.resolveCoercion(typeId, dstDeclared);
|
|
589
599
|
if (!res)
|
|
590
600
|
return payload;
|
|
@@ -775,9 +785,7 @@ class GraphRuntime {
|
|
|
775
785
|
handle: srcHandle,
|
|
776
786
|
value,
|
|
777
787
|
io: "output",
|
|
778
|
-
runtimeTypeId:
|
|
779
|
-
? String(value.__spark_type)
|
|
780
|
-
: undefined,
|
|
788
|
+
runtimeTypeId: getTypedOutputTypeId(value),
|
|
781
789
|
});
|
|
782
790
|
// fan-out along all edges from this output
|
|
783
791
|
const outEdges = this.edges.filter((e) => e.source.nodeId === srcNodeId && e.source.handle === srcHandle);
|
|
@@ -809,7 +817,7 @@ class GraphRuntime {
|
|
|
809
817
|
handle: e.target.handle,
|
|
810
818
|
value: v,
|
|
811
819
|
io: "input",
|
|
812
|
-
runtimeTypeId:
|
|
820
|
+
runtimeTypeId: getTypedOutputTypeId(v),
|
|
813
821
|
});
|
|
814
822
|
if (!this.paused && this.allInboundHaveValue(e.target.nodeId))
|
|
815
823
|
this.scheduleInputsChanged(e.target.nodeId);
|
|
@@ -1776,6 +1784,96 @@ const lcg = (seed) => {
|
|
|
1776
1784
|
let s = seed >>> 0 || 1;
|
|
1777
1785
|
return () => (s = (s * 1664525 + 1013904223) >>> 0) / 0xffffffff;
|
|
1778
1786
|
};
|
|
1787
|
+
// JSON Pointer helpers (RFC 6901 subset)
|
|
1788
|
+
function jsonPointerGet(obj, pointer) {
|
|
1789
|
+
if (!pointer || pointer === "/")
|
|
1790
|
+
return obj;
|
|
1791
|
+
if (!pointer.startsWith("/"))
|
|
1792
|
+
return undefined;
|
|
1793
|
+
const parts = pointer
|
|
1794
|
+
.split("/")
|
|
1795
|
+
.slice(1)
|
|
1796
|
+
.map((p) => p.replace(/~1/g, "/").replace(/~0/g, "~"));
|
|
1797
|
+
let cur = obj;
|
|
1798
|
+
for (const key of parts) {
|
|
1799
|
+
if (cur === undefined || cur === null)
|
|
1800
|
+
return undefined;
|
|
1801
|
+
cur = cur[key];
|
|
1802
|
+
}
|
|
1803
|
+
return cur;
|
|
1804
|
+
}
|
|
1805
|
+
function jsonPointerSet(obj, pointer, value) {
|
|
1806
|
+
if (!pointer || pointer === "/")
|
|
1807
|
+
return value;
|
|
1808
|
+
if (!pointer.startsWith("/"))
|
|
1809
|
+
return obj;
|
|
1810
|
+
const parts = pointer
|
|
1811
|
+
.split("/")
|
|
1812
|
+
.slice(1)
|
|
1813
|
+
.map((p) => p.replace(/~1/g, "/").replace(/~0/g, "~"));
|
|
1814
|
+
const root = structuredClone(obj);
|
|
1815
|
+
let cur = root;
|
|
1816
|
+
for (let i = 0; i < parts.length; i++) {
|
|
1817
|
+
const key = parts[i];
|
|
1818
|
+
if (i === parts.length - 1) {
|
|
1819
|
+
if (Array.isArray(cur) && key === "-")
|
|
1820
|
+
cur.push(value);
|
|
1821
|
+
else
|
|
1822
|
+
cur[key] = value;
|
|
1823
|
+
}
|
|
1824
|
+
else {
|
|
1825
|
+
const next = cur[key];
|
|
1826
|
+
if (next === undefined || next === null) {
|
|
1827
|
+
// create container heuristically
|
|
1828
|
+
const nextKey = parts[i + 1];
|
|
1829
|
+
cur[key] =
|
|
1830
|
+
typeof nextKey === "string" && /^[0-9]+$/.test(nextKey) ? [] : {};
|
|
1831
|
+
}
|
|
1832
|
+
cur = cur[key];
|
|
1833
|
+
}
|
|
1834
|
+
}
|
|
1835
|
+
return root;
|
|
1836
|
+
}
|
|
1837
|
+
function jsonPointerRemove(obj, pointer) {
|
|
1838
|
+
if (!pointer || pointer === "/")
|
|
1839
|
+
return undefined;
|
|
1840
|
+
if (!pointer.startsWith("/"))
|
|
1841
|
+
return obj;
|
|
1842
|
+
const parts = pointer
|
|
1843
|
+
.split("/")
|
|
1844
|
+
.slice(1)
|
|
1845
|
+
.map((p) => p.replace(/~1/g, "/").replace(/~0/g, "~"));
|
|
1846
|
+
const root = structuredClone(obj);
|
|
1847
|
+
let cur = root;
|
|
1848
|
+
for (let i = 0; i < parts.length - 1; i++) {
|
|
1849
|
+
const key = parts[i];
|
|
1850
|
+
if (cur === undefined || cur === null)
|
|
1851
|
+
return root;
|
|
1852
|
+
cur = cur[key];
|
|
1853
|
+
}
|
|
1854
|
+
const last = parts[parts.length - 1];
|
|
1855
|
+
if (Array.isArray(cur)) {
|
|
1856
|
+
const idx = last === "-" ? cur.length - 1 : Number(last);
|
|
1857
|
+
if (Number.isFinite(idx))
|
|
1858
|
+
cur.splice(idx, 1);
|
|
1859
|
+
}
|
|
1860
|
+
else if (cur && typeof cur === "object") {
|
|
1861
|
+
delete cur[last];
|
|
1862
|
+
}
|
|
1863
|
+
return root;
|
|
1864
|
+
}
|
|
1865
|
+
function deepMerge(a, b) {
|
|
1866
|
+
if (Array.isArray(a) && Array.isArray(b))
|
|
1867
|
+
return [...a, ...b];
|
|
1868
|
+
if (isPlainObject(a) && isPlainObject(b)) {
|
|
1869
|
+
const out = { ...a };
|
|
1870
|
+
for (const [k, v] of Object.entries(b)) {
|
|
1871
|
+
out[k] = k in out ? deepMerge(out[k], v) : v;
|
|
1872
|
+
}
|
|
1873
|
+
return out;
|
|
1874
|
+
}
|
|
1875
|
+
return b;
|
|
1876
|
+
}
|
|
1779
1877
|
// JSON helpers
|
|
1780
1878
|
const isPlainObject = (v) => {
|
|
1781
1879
|
if (v === null || typeof v !== "object")
|
|
@@ -1814,7 +1912,7 @@ function setupBasicGraphRegistry() {
|
|
|
1814
1912
|
registry.registerType({
|
|
1815
1913
|
id: "base.object",
|
|
1816
1914
|
validate: (v) => isJson(v),
|
|
1817
|
-
}, { withArray:
|
|
1915
|
+
}, { withArray: false });
|
|
1818
1916
|
registry.registerType({
|
|
1819
1917
|
id: "base.vec3",
|
|
1820
1918
|
validate: (v) => Array.isArray(v) &&
|
|
@@ -2207,6 +2305,195 @@ function setupBasicGraphRegistry() {
|
|
|
2207
2305
|
},
|
|
2208
2306
|
},
|
|
2209
2307
|
});
|
|
2308
|
+
// ------------------------- JSON/object utilities -------------------------
|
|
2309
|
+
registry.registerNode({
|
|
2310
|
+
id: "base.objectGet",
|
|
2311
|
+
categoryId: "compute",
|
|
2312
|
+
inputs: { Object: "base.object", Pointers: "base.string[]" },
|
|
2313
|
+
outputs: { Values: "base.object" },
|
|
2314
|
+
impl: (ins) => {
|
|
2315
|
+
const obj = ins.Object;
|
|
2316
|
+
const pointers = (ins.Pointers || []).map(String);
|
|
2317
|
+
const out = {};
|
|
2318
|
+
for (const p of pointers)
|
|
2319
|
+
out[p] = jsonPointerGet(obj, p);
|
|
2320
|
+
return { Values: out };
|
|
2321
|
+
},
|
|
2322
|
+
});
|
|
2323
|
+
registry.registerNode({
|
|
2324
|
+
id: "base.objectSet",
|
|
2325
|
+
categoryId: "compute",
|
|
2326
|
+
inputs: {
|
|
2327
|
+
Object: "base.object",
|
|
2328
|
+
Pointers: "base.string[]",
|
|
2329
|
+
NewValues: "base.string[]",
|
|
2330
|
+
},
|
|
2331
|
+
outputs: { Result: "base.object" },
|
|
2332
|
+
impl: (ins) => {
|
|
2333
|
+
const pointers = (ins.Pointers || []).map(String);
|
|
2334
|
+
const values = (ins.NewValues || []).map(String);
|
|
2335
|
+
let cur = structuredClone(ins.Object);
|
|
2336
|
+
for (let i = 0; i < pointers.length; i++) {
|
|
2337
|
+
const p = pointers[i];
|
|
2338
|
+
const raw = values[i];
|
|
2339
|
+
let val = raw;
|
|
2340
|
+
if (typeof raw === "string") {
|
|
2341
|
+
try {
|
|
2342
|
+
val = JSON.parse(raw);
|
|
2343
|
+
}
|
|
2344
|
+
catch {
|
|
2345
|
+
/* keep as string */
|
|
2346
|
+
}
|
|
2347
|
+
}
|
|
2348
|
+
cur = jsonPointerSet(cur, p, val);
|
|
2349
|
+
}
|
|
2350
|
+
return { Result: cur };
|
|
2351
|
+
},
|
|
2352
|
+
});
|
|
2353
|
+
registry.registerNode({
|
|
2354
|
+
id: "base.objectRemove",
|
|
2355
|
+
categoryId: "compute",
|
|
2356
|
+
inputs: { Object: "base.object", Pointers: "base.string[]" },
|
|
2357
|
+
outputs: { Result: "base.object" },
|
|
2358
|
+
impl: (ins) => {
|
|
2359
|
+
const pointers = (ins.Pointers || []).map(String);
|
|
2360
|
+
let cur = structuredClone(ins.Object);
|
|
2361
|
+
for (const p of pointers)
|
|
2362
|
+
cur = jsonPointerRemove(cur, p);
|
|
2363
|
+
return { Result: cur };
|
|
2364
|
+
},
|
|
2365
|
+
});
|
|
2366
|
+
registry.registerNode({
|
|
2367
|
+
id: "base.objectMerge",
|
|
2368
|
+
categoryId: "compute",
|
|
2369
|
+
inputs: { A: "base.object", B: "base.object" },
|
|
2370
|
+
outputs: { Result: "base.object" },
|
|
2371
|
+
impl: (ins) => ({
|
|
2372
|
+
Result: deepMerge(ins.A, ins.B),
|
|
2373
|
+
}),
|
|
2374
|
+
});
|
|
2375
|
+
registry.registerNode({
|
|
2376
|
+
id: "base.objectKeys",
|
|
2377
|
+
categoryId: "compute",
|
|
2378
|
+
inputs: { Object: "base.object" },
|
|
2379
|
+
outputs: { Keys: "base.string[]" },
|
|
2380
|
+
impl: (ins) => {
|
|
2381
|
+
const obj = ins.Object;
|
|
2382
|
+
const keys = isPlainObject(obj)
|
|
2383
|
+
? Object.keys(obj)
|
|
2384
|
+
: Array.isArray(obj)
|
|
2385
|
+
? Object.keys(obj)
|
|
2386
|
+
: [];
|
|
2387
|
+
return { Keys: keys };
|
|
2388
|
+
},
|
|
2389
|
+
});
|
|
2390
|
+
registry.registerNode({
|
|
2391
|
+
id: "base.objectValues",
|
|
2392
|
+
categoryId: "compute",
|
|
2393
|
+
inputs: { Object: "base.object" },
|
|
2394
|
+
outputs: { Values: "base.object" },
|
|
2395
|
+
impl: (ins) => {
|
|
2396
|
+
const obj = ins.Object;
|
|
2397
|
+
const vals = isPlainObject(obj)
|
|
2398
|
+
? Object.values(obj)
|
|
2399
|
+
: Array.isArray(obj)
|
|
2400
|
+
? Object.values(obj)
|
|
2401
|
+
: [];
|
|
2402
|
+
return { Values: vals };
|
|
2403
|
+
},
|
|
2404
|
+
});
|
|
2405
|
+
registry.registerNode({
|
|
2406
|
+
id: "base.objectPatch",
|
|
2407
|
+
categoryId: "compute",
|
|
2408
|
+
inputs: { Object: "base.object", Ops: "base.object" },
|
|
2409
|
+
outputs: { Result: "base.object" },
|
|
2410
|
+
impl: (ins) => {
|
|
2411
|
+
const root = structuredClone(ins.Object);
|
|
2412
|
+
const opsRaw = ins.Ops;
|
|
2413
|
+
const ops = Array.isArray(opsRaw)
|
|
2414
|
+
? opsRaw
|
|
2415
|
+
: opsRaw
|
|
2416
|
+
? [opsRaw]
|
|
2417
|
+
: [];
|
|
2418
|
+
let cur = root;
|
|
2419
|
+
for (const op of ops) {
|
|
2420
|
+
if (!op || typeof op !== "object")
|
|
2421
|
+
continue;
|
|
2422
|
+
const kind = String(op.op || "");
|
|
2423
|
+
const path = String(op.path || "");
|
|
2424
|
+
if (kind === "add" || kind === "replace") {
|
|
2425
|
+
cur = jsonPointerSet(cur, path, op.value);
|
|
2426
|
+
}
|
|
2427
|
+
else if (kind === "remove") {
|
|
2428
|
+
cur = jsonPointerRemove(cur, path);
|
|
2429
|
+
}
|
|
2430
|
+
else if (kind === "test") {
|
|
2431
|
+
const got = jsonPointerGet(cur, path);
|
|
2432
|
+
const expected = op.value;
|
|
2433
|
+
const ok = JSON.stringify(got) === JSON.stringify(expected);
|
|
2434
|
+
if (!ok)
|
|
2435
|
+
throw new Error(`objectPatch test failed at ${path}`);
|
|
2436
|
+
}
|
|
2437
|
+
}
|
|
2438
|
+
return { Result: cur };
|
|
2439
|
+
},
|
|
2440
|
+
});
|
|
2441
|
+
registry.registerNode({
|
|
2442
|
+
id: "base.arrayConcat",
|
|
2443
|
+
categoryId: "compute",
|
|
2444
|
+
inputs: { A: "base.object", B: "base.object" },
|
|
2445
|
+
outputs: { Result: "base.object" },
|
|
2446
|
+
impl: (ins) => {
|
|
2447
|
+
const a = Array.isArray(ins.A) ? ins.A : [];
|
|
2448
|
+
const b = Array.isArray(ins.B) ? ins.B : [];
|
|
2449
|
+
return { Result: [...a, ...b] };
|
|
2450
|
+
},
|
|
2451
|
+
});
|
|
2452
|
+
registry.registerNode({
|
|
2453
|
+
id: "base.arrayFlatten",
|
|
2454
|
+
categoryId: "compute",
|
|
2455
|
+
inputs: { Objects: "base.object" },
|
|
2456
|
+
outputs: { Result: "base.object" },
|
|
2457
|
+
impl: (ins) => {
|
|
2458
|
+
const arr = Array.isArray(ins.Objects) ? ins.Objects : [];
|
|
2459
|
+
const out = [];
|
|
2460
|
+
for (const v of arr) {
|
|
2461
|
+
if (Array.isArray(v))
|
|
2462
|
+
out.push(...v);
|
|
2463
|
+
else
|
|
2464
|
+
out.push(v);
|
|
2465
|
+
}
|
|
2466
|
+
return { Result: out };
|
|
2467
|
+
},
|
|
2468
|
+
});
|
|
2469
|
+
registry.registerNode({
|
|
2470
|
+
id: "base.arraySortBy",
|
|
2471
|
+
categoryId: "compute",
|
|
2472
|
+
inputs: { Objects: "base.object", Pointers: "base.string[]" },
|
|
2473
|
+
outputs: { Result: "base.object" },
|
|
2474
|
+
impl: (ins) => {
|
|
2475
|
+
const arr = Array.isArray(ins.Objects) ? ins.Objects : [];
|
|
2476
|
+
const pointers = (ins.Pointers || []).map(String);
|
|
2477
|
+
const out = [...arr].sort((a, b) => {
|
|
2478
|
+
for (const p of pointers) {
|
|
2479
|
+
const av = jsonPointerGet(a, p);
|
|
2480
|
+
const bv = jsonPointerGet(b, p);
|
|
2481
|
+
if (av === bv)
|
|
2482
|
+
continue;
|
|
2483
|
+
if (av === undefined)
|
|
2484
|
+
return 1;
|
|
2485
|
+
if (bv === undefined)
|
|
2486
|
+
return -1;
|
|
2487
|
+
if (av < bv)
|
|
2488
|
+
return -1;
|
|
2489
|
+
if (av > bv)
|
|
2490
|
+
return 1;
|
|
2491
|
+
}
|
|
2492
|
+
return 0;
|
|
2493
|
+
});
|
|
2494
|
+
return { Result: out };
|
|
2495
|
+
},
|
|
2496
|
+
});
|
|
2210
2497
|
return registry;
|
|
2211
2498
|
}
|
|
2212
2499
|
function registerDelayNode(registry) {
|
|
@@ -2465,5 +2752,5 @@ function createValidationGraphRegistry() {
|
|
|
2465
2752
|
return registry;
|
|
2466
2753
|
}
|
|
2467
2754
|
|
|
2468
|
-
export { BatchedEngine, CompositeCategory, ComputeCategory, GraphBuilder, GraphRuntime, HybridEngine, LocalRunner, PullEngine, PushEngine, Registry, StepEngine, createAsyncGraphDef, createAsyncGraphRegistry, createProgressGraphDef, createProgressGraphRegistry, createSimpleGraphDef, createSimpleGraphRegistry, createValidationGraphDef, createValidationGraphRegistry, getInputTypeId, isInputPrivate, isTypedOutput, registerDelayNode, registerProgressNodes, typed };
|
|
2755
|
+
export { BatchedEngine, CompositeCategory, ComputeCategory, GraphBuilder, GraphRuntime, HybridEngine, LocalRunner, PullEngine, PushEngine, Registry, StepEngine, createAsyncGraphDef, createAsyncGraphRegistry, createProgressGraphDef, createProgressGraphRegistry, createSimpleGraphDef, createSimpleGraphRegistry, createValidationGraphDef, createValidationGraphRegistry, getInputTypeId, getTypedOutputTypeId, getTypedOutputValue, isInputPrivate, isTypedOutput, registerDelayNode, registerProgressNodes, typed };
|
|
2469
2756
|
//# sourceMappingURL=index.js.map
|