@bian-womp/spark-graph 0.2.58 → 0.2.60
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 +44 -12
- package/lib/cjs/index.cjs.map +1 -1
- package/lib/cjs/src/index.d.ts +1 -1
- package/lib/cjs/src/index.d.ts.map +1 -1
- package/lib/cjs/src/misc/utils/merge.d.ts +13 -1
- package/lib/cjs/src/misc/utils/merge.d.ts.map +1 -1
- package/lib/cjs/src/runtime/GraphRuntime.d.ts.map +1 -1
- package/lib/esm/index.js +44 -12
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/src/index.d.ts +1 -1
- package/lib/esm/src/index.d.ts.map +1 -1
- package/lib/esm/src/misc/utils/merge.d.ts +13 -1
- package/lib/esm/src/misc/utils/merge.d.ts.map +1 -1
- package/lib/esm/src/runtime/GraphRuntime.d.ts.map +1 -1
- package/package.json +2 -2
package/lib/cjs/src/index.d.ts
CHANGED
|
@@ -21,6 +21,6 @@ export { createProgressGraphRegistry, createProgressGraphDef, } from "./examples
|
|
|
21
21
|
export { createValidationGraphRegistry, createValidationGraphDef, } from "./examples/validation";
|
|
22
22
|
export { installLogging } from "./examples/shared";
|
|
23
23
|
export { registerDelayNode, registerProgressNodes, generateId, } from "./misc/base";
|
|
24
|
-
export { mergeGraphDefinitions, computeGraphCenter, offsetImportedPositions, mergeInputsOutputs, mergeSnapshotData, buildValueConverter, type ConverterConfig, type ValueMappingConfig, type ValueConverter, } from "./misc/utils/merge";
|
|
24
|
+
export { mergeGraphDefinitions, computeGraphCenter, offsetImportedPositions, mergeInputsOutputs, mergeSnapshotData, buildValueConverter, type ConverterConfig, type ValueMappingConfig, type ValueConverter, type ValueConverterConfig, } from "./misc/utils/merge";
|
|
25
25
|
export { parseJsonPath, getValueAtPath, setValueAtPath, findMatchingPaths, type JsonPath, type PathSegment, } from "./misc/utils/json";
|
|
26
26
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,kBAAkB,EAClB,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EAChB,kBAAkB,EAClB,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,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,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,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;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,UAAU,GACX,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,uBAAuB,EACvB,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,kBAAkB,EAClB,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EAChB,kBAAkB,EAClB,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,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,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,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;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,UAAU,GACX,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,uBAAuB,EACvB,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,oBAAoB,GAC1B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,aAAa,EACb,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,KAAK,QAAQ,EACb,KAAK,WAAW,GACjB,MAAM,mBAAmB,CAAC"}
|
|
@@ -1,10 +1,22 @@
|
|
|
1
1
|
import type { GraphDefinition, RuntimeSnapshotFull } from "@bian-womp/spark-protocol";
|
|
2
2
|
import { type JsonPath } from "./json";
|
|
3
|
+
/**
|
|
4
|
+
* Configuration object for value conversion.
|
|
5
|
+
*/
|
|
6
|
+
export interface ValueConverterConfig {
|
|
7
|
+
nodeId: string;
|
|
8
|
+
handleId: string;
|
|
9
|
+
value: unknown;
|
|
10
|
+
type: "input" | "output" | "inputDefault" | "initialInput";
|
|
11
|
+
nodeTypeId?: string;
|
|
12
|
+
handleDataType?: string;
|
|
13
|
+
runtimeTypeId?: string;
|
|
14
|
+
}
|
|
3
15
|
/**
|
|
4
16
|
* Merge two graph definitions, remapping IDs to avoid conflicts.
|
|
5
17
|
* Returns the merged graph and a mapping from source node IDs to new IDs.
|
|
6
18
|
*/
|
|
7
|
-
export type ValueConverter = (
|
|
19
|
+
export type ValueConverter = (config: ValueConverterConfig) => unknown;
|
|
8
20
|
export declare function mergeGraphDefinitions(target: GraphDefinition, source: GraphDefinition, converter?: ValueConverter): {
|
|
9
21
|
merged: GraphDefinition;
|
|
10
22
|
nodeIdMap: Record<string, string>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merge.d.ts","sourceRoot":"","sources":["../../../../../src/misc/utils/merge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EAGf,mBAAmB,EACpB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAIL,KAAK,QAAQ,EACd,MAAM,QAAQ,CAAC;AAQhB
|
|
1
|
+
{"version":3,"file":"merge.d.ts","sourceRoot":"","sources":["../../../../../src/misc/utils/merge.ts"],"names":[],"mappings":"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"}
|
|
@@ -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,EACZ,eAAe,EACf,eAAe,EAKhB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,KAAK,EAIV,gBAAgB,EACjB,MAAM,eAAe,CAAC;AAQvB,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE/C,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,gBAAgB,IAAI,CAC7D,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,KAClB,IAAI,CAAC;AAUV,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,YAAY,GAAG,OAAO,GAAG,OAAO,CAAC;AAE1E,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,YAAY,CAAC;IACpB,UAAU,EAAE,iBAAiB,CAAC;IAC9B,KAAK,EAAE,YAAY,CAAC;IACpB,KAAK,EAAE,YAAY,CAAC;CACrB;AAgCD,qBAAa,YAAY;IACvB,OAAO,CAAC,KAAK,CAAuC;IACpD,OAAO,CAAC,KAAK,CAAqB;IAElC,OAAO,CAAC,QAAQ,CAAC,CAAW;IAE5B,OAAO,CAAC,cAAc,CAAsC;IAC5D,OAAO,CAAC,SAAS,CAGb;IACJ,OAAO,CAAC,WAAW,CAA+B;IAElD,OAAO,CAAC,oBAAoB,CAA6B;IACzD,OAAO,CAAC,MAAM,CAAS;IAIvB,OAAO,CAAC,iBAAiB,CAGrB;IAGJ,OAAO,CAAC,WAAW;IAanB,MAAM,CAAC,MAAM,CACX,GAAG,EAAE,eAAe,EACpB,QAAQ,EAAE,QAAQ,EAClB,IAAI,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,GAC/C,YAAY;IA8Df,EAAE,CAAC,CAAC,SAAS,gBAAgB,EAC3B,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAC/B,MAAM,IAAI;IAOb,OAAO,CAAC,IAAI;IAQZ,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAiEhE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO;IAKlD,OAAO,CAAC,MAAM,CAAC,mBAAmB;
|
|
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
|
@@ -580,7 +580,7 @@ class GraphRuntime {
|
|
|
580
580
|
const node = this.nodes.get(nodeId);
|
|
581
581
|
return node?.outputs[output];
|
|
582
582
|
}
|
|
583
|
-
static buildEdgeConverters(srcDeclared, dstDeclared, registry) {
|
|
583
|
+
static buildEdgeConverters(srcDeclared, dstDeclared, registry, edgeLabel) {
|
|
584
584
|
if (!dstDeclared || !srcDeclared) {
|
|
585
585
|
return {};
|
|
586
586
|
}
|
|
@@ -599,15 +599,15 @@ class GraphRuntime {
|
|
|
599
599
|
const payload = getTypedOutputValue(v);
|
|
600
600
|
if (isUnion) {
|
|
601
601
|
if (!typeId) {
|
|
602
|
-
throw new Error(`Typed output required for union source; allowed: ${srcTypes.join("|")}`);
|
|
602
|
+
throw new Error(`Typed output required for union source (${edgeLabel}); allowed: ${srcTypes.join("|")}`);
|
|
603
603
|
}
|
|
604
604
|
if (!srcTypes.includes(typeId)) {
|
|
605
|
-
throw new Error(`Invalid typed output ${typeId}; allowed: ${srcTypes.join("|")}`);
|
|
605
|
+
throw new Error(`Invalid typed output ${typeId} (${edgeLabel}); allowed: ${srcTypes.join("|")}`);
|
|
606
606
|
}
|
|
607
607
|
}
|
|
608
608
|
else if (typeId) {
|
|
609
609
|
// Warn if typed output is used for non-union source
|
|
610
|
-
console.warn(`Typed output ${typeId} is fed even though source is not union: ${srcDeclared} -> ${dstDeclared}`);
|
|
610
|
+
console.warn(`Typed output ${typeId} is fed even though source is not union (${edgeLabel}): ${srcDeclared} -> ${dstDeclared}`);
|
|
611
611
|
}
|
|
612
612
|
return { typeId: typeId || srcTypes[0], payload };
|
|
613
613
|
};
|
|
@@ -637,7 +637,7 @@ class GraphRuntime {
|
|
|
637
637
|
if (!res)
|
|
638
638
|
return payload;
|
|
639
639
|
if (res.kind === "async") {
|
|
640
|
-
throw new Error(
|
|
640
|
+
throw new Error(`Async coercion required but convert used (${edgeLabel})`);
|
|
641
641
|
}
|
|
642
642
|
return res.convert(payload);
|
|
643
643
|
},
|
|
@@ -1136,7 +1136,7 @@ class GraphRuntime {
|
|
|
1136
1136
|
if (resolved)
|
|
1137
1137
|
dstDeclared = getInputTypeId(resolved.inputs, e.target.handle);
|
|
1138
1138
|
}
|
|
1139
|
-
const { convert, convertAsync } = GraphRuntime.buildEdgeConverters(srcDeclared, dstDeclared, registry);
|
|
1139
|
+
const { convert, convertAsync } = GraphRuntime.buildEdgeConverters(srcDeclared, dstDeclared, registry, `buildEdges: ${srcNode?.typeId || ""}.${e.source.nodeId}.${e.source.handle} -> ${dstNode?.typeId || ""}.${e.target.nodeId}.${e.target.handle}`);
|
|
1140
1140
|
return {
|
|
1141
1141
|
id: e.id,
|
|
1142
1142
|
source: { ...e.source },
|
|
@@ -1166,6 +1166,8 @@ class GraphRuntime {
|
|
|
1166
1166
|
this.resolvedByNode.set(nodeId, handles);
|
|
1167
1167
|
// Recompute edge converter/type for edges where this node is source or target
|
|
1168
1168
|
for (const e of this.edges) {
|
|
1169
|
+
const srcNode = this.nodes.get(e.source.nodeId);
|
|
1170
|
+
const dstNode = this.nodes.get(e.target.nodeId);
|
|
1169
1171
|
let srcDeclared = e.effectiveTypeId; // Use effectiveTypeId as fallback
|
|
1170
1172
|
let dstDeclared = e.dstDeclared;
|
|
1171
1173
|
const oldDstDeclared = dstDeclared; // Track old value to detect resolution
|
|
@@ -1188,7 +1190,7 @@ class GraphRuntime {
|
|
|
1188
1190
|
e.dstDeclared = dstDeclared;
|
|
1189
1191
|
}
|
|
1190
1192
|
}
|
|
1191
|
-
const conv = GraphRuntime.buildEdgeConverters(srcDeclared, dstDeclared, registry);
|
|
1193
|
+
const conv = GraphRuntime.buildEdgeConverters(srcDeclared, dstDeclared, registry, `updateNodeHandles: ${srcNode?.typeId || ""}.${e.source.nodeId}.${e.source.handle} -> ${dstNode?.typeId || ""}.${e.target.nodeId}.${e.target.handle}`);
|
|
1192
1194
|
e.convert = conv.convert;
|
|
1193
1195
|
e.convertAsync = conv.convertAsync;
|
|
1194
1196
|
// If target handle was just resolved (was undefined, now has a type), re-propagate values
|
|
@@ -3764,7 +3766,14 @@ function mergeGraphDefinitions(target, source, converter) {
|
|
|
3764
3766
|
? transformedNode.resolvedHandles.inputs[handleId]
|
|
3765
3767
|
: transformedNode.resolvedHandles.inputs[handleId]?.typeId
|
|
3766
3768
|
: undefined;
|
|
3767
|
-
transformedInitialInputs[handleId] = converter(
|
|
3769
|
+
transformedInitialInputs[handleId] = converter({
|
|
3770
|
+
nodeId: newId,
|
|
3771
|
+
handleId,
|
|
3772
|
+
value,
|
|
3773
|
+
type: "initialInput",
|
|
3774
|
+
nodeTypeId,
|
|
3775
|
+
handleDataType,
|
|
3776
|
+
});
|
|
3768
3777
|
}
|
|
3769
3778
|
transformedNode.initialInputs = transformedInitialInputs;
|
|
3770
3779
|
}
|
|
@@ -3777,7 +3786,14 @@ function mergeGraphDefinitions(target, source, converter) {
|
|
|
3777
3786
|
? transformedNode.resolvedHandles.inputs[handleId]
|
|
3778
3787
|
: transformedNode.resolvedHandles.inputs[handleId]?.typeId
|
|
3779
3788
|
: undefined;
|
|
3780
|
-
transformedInputDefaults[handleId] = converter(
|
|
3789
|
+
transformedInputDefaults[handleId] = converter({
|
|
3790
|
+
nodeId: newId,
|
|
3791
|
+
handleId,
|
|
3792
|
+
value,
|
|
3793
|
+
type: "inputDefault",
|
|
3794
|
+
nodeTypeId,
|
|
3795
|
+
handleDataType,
|
|
3796
|
+
});
|
|
3781
3797
|
}
|
|
3782
3798
|
transformedNode.resolvedHandles = {
|
|
3783
3799
|
...transformedNode.resolvedHandles,
|
|
@@ -3875,7 +3891,14 @@ function mergeInputsOutputs(targetInputs, targetOutputs, sourceInputs, sourceOut
|
|
|
3875
3891
|
for (const [handleId, value] of Object.entries(inputs)) {
|
|
3876
3892
|
const handleDataType = handleTypeMap?.get(oldId)?.get(handleId);
|
|
3877
3893
|
transformedInputs[handleId] = converter
|
|
3878
|
-
? converter(
|
|
3894
|
+
? converter({
|
|
3895
|
+
nodeId: newId,
|
|
3896
|
+
handleId,
|
|
3897
|
+
value,
|
|
3898
|
+
type: "input",
|
|
3899
|
+
nodeTypeId,
|
|
3900
|
+
handleDataType,
|
|
3901
|
+
})
|
|
3879
3902
|
: value;
|
|
3880
3903
|
}
|
|
3881
3904
|
mergedInputs[newId] = mergedInputs[newId]
|
|
@@ -3894,7 +3917,15 @@ function mergeInputsOutputs(targetInputs, targetOutputs, sourceInputs, sourceOut
|
|
|
3894
3917
|
? getTypedOutputTypeId(value)
|
|
3895
3918
|
: undefined;
|
|
3896
3919
|
transformedOutputs[handleId] = converter
|
|
3897
|
-
? converter(
|
|
3920
|
+
? converter({
|
|
3921
|
+
nodeId: newId,
|
|
3922
|
+
handleId,
|
|
3923
|
+
value,
|
|
3924
|
+
type: "output",
|
|
3925
|
+
nodeTypeId,
|
|
3926
|
+
handleDataType,
|
|
3927
|
+
runtimeTypeId,
|
|
3928
|
+
})
|
|
3898
3929
|
: value;
|
|
3899
3930
|
}
|
|
3900
3931
|
mergedOutputs[newId] = mergedOutputs[newId]
|
|
@@ -3967,7 +3998,8 @@ function matchesPattern(value, pattern) {
|
|
|
3967
3998
|
* - value exists in valueMap
|
|
3968
3999
|
*/
|
|
3969
4000
|
function buildValueConverter(config) {
|
|
3970
|
-
return (
|
|
4001
|
+
return (converterConfig) => {
|
|
4002
|
+
const { nodeId, handleId, value, type, nodeTypeId, handleDataType, runtimeTypeId, } = converterConfig;
|
|
3971
4003
|
const isTyped = isTypedOutput(value);
|
|
3972
4004
|
for (const mapping of config.mappings) {
|
|
3973
4005
|
if (!matchesPattern(handleId, mapping.handleId))
|