@bian-womp/spark-graph 0.3.23 → 0.3.24
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.
|
@@ -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,EACnB,eAAe,EACf,eAAe,EACf,oBAAoB,EACrB,MAAM,2BAA2B,CAAC;AAUnC,MAAM,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,oBAAoB,KAAK,OAAO,CAAC;AAkGvE;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,EACnD,OAAO,EAAE,MAAM,EAAE,GAChB;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAkB1B;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,EACzD,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,EACzD,SAAS,EAAE,eAAe,EAC1B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACjC,SAAS,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GAClC,MAAM,CAAC,MAAM,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAsB1C;
|
|
1
|
+
{"version":3,"file":"merge.d.ts","sourceRoot":"","sources":["../../../../../src/misc/utils/merge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EAGf,mBAAmB,EACnB,eAAe,EACf,eAAe,EACf,oBAAoB,EACrB,MAAM,2BAA2B,CAAC;AAUnC,MAAM,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,oBAAoB,KAAK,OAAO,CAAC;AAkGvE;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,EACnD,OAAO,EAAE,MAAM,EAAE,GAChB;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAkB1B;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,EACzD,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,EACzD,SAAS,EAAE,eAAe,EAC1B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACjC,SAAS,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GAClC,MAAM,CAAC,MAAM,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAsB1C;AAoJD,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,mBAAmB,EAC7B,SAAS,EAAE,cAAc,GACxB,mBAAmB,CA+ErB;AA4ID,wBAAgB,cAAc,CAC5B,cAAc,EAAE,mBAAmB,EACnC,cAAc,EAAE,mBAAmB,EACnC,SAAS,CAAC,EAAE,cAAc,GACzB;IACD,MAAM,EAAE,mBAAmB,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC,CAwDA;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,aAAa,EAAE,eAAe,GAAG,IAAI,GAAG,SAAS,EACjD,aAAa,EAAE,eAAe,GAAG,IAAI,GAAG,SAAS,EACjD,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAChC,eAAe,CAgBjB;AAUD;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,eAAe,GAAG,cAAc,CA8M3E"}
|
package/lib/esm/index.js
CHANGED
|
@@ -5550,17 +5550,19 @@ function offsetImportedPositions(targetPositions, sourcePositions, sourceDef, no
|
|
|
5550
5550
|
}
|
|
5551
5551
|
function buildTypeMaps(def) {
|
|
5552
5552
|
const nodeTypeMap = new Map();
|
|
5553
|
-
const
|
|
5553
|
+
const inputHandleTypeMap = new Map();
|
|
5554
|
+
const outputHandleTypeMap = new Map();
|
|
5554
5555
|
for (const node of def.nodes) {
|
|
5555
5556
|
nodeTypeMap.set(node.nodeId, node.typeId);
|
|
5556
|
-
const
|
|
5557
|
+
const nodeInputTypes = new Map();
|
|
5558
|
+
const nodeOutputTypes = new Map();
|
|
5557
5559
|
if (node.resolvedHandles?.inputs) {
|
|
5558
5560
|
for (const [handleId, handleDesc] of Object.entries(node.resolvedHandles.inputs)) {
|
|
5559
5561
|
const typeId = typeof handleDesc === "string"
|
|
5560
5562
|
? handleDesc
|
|
5561
5563
|
: handleDesc?.typeId;
|
|
5562
5564
|
if (typeId)
|
|
5563
|
-
|
|
5565
|
+
nodeInputTypes.set(handleId, typeId);
|
|
5564
5566
|
}
|
|
5565
5567
|
}
|
|
5566
5568
|
if (node.resolvedHandles?.outputs) {
|
|
@@ -5571,14 +5573,33 @@ function buildTypeMaps(def) {
|
|
|
5571
5573
|
? handleDesc[0]
|
|
5572
5574
|
: undefined;
|
|
5573
5575
|
if (typeId)
|
|
5574
|
-
|
|
5576
|
+
nodeOutputTypes.set(handleId, typeId);
|
|
5575
5577
|
}
|
|
5576
5578
|
}
|
|
5577
|
-
|
|
5578
|
-
|
|
5579
|
+
// Also include handles from inputDefaults - they share handle IDs with inputs
|
|
5580
|
+
if (node.resolvedHandles?.inputDefaults) {
|
|
5581
|
+
for (const handleId of Object.keys(node.resolvedHandles.inputDefaults)) {
|
|
5582
|
+
// If not already in map, try to get type from input handles
|
|
5583
|
+
if (!nodeInputTypes.has(handleId) && node.resolvedHandles?.inputs) {
|
|
5584
|
+
const inputDesc = node.resolvedHandles.inputs[handleId];
|
|
5585
|
+
if (inputDesc) {
|
|
5586
|
+
const typeId = typeof inputDesc === "string"
|
|
5587
|
+
? inputDesc
|
|
5588
|
+
: inputDesc?.typeId;
|
|
5589
|
+
if (typeId)
|
|
5590
|
+
nodeInputTypes.set(handleId, typeId);
|
|
5591
|
+
}
|
|
5592
|
+
}
|
|
5593
|
+
}
|
|
5594
|
+
}
|
|
5595
|
+
if (nodeInputTypes.size > 0) {
|
|
5596
|
+
inputHandleTypeMap.set(node.nodeId, nodeInputTypes);
|
|
5597
|
+
}
|
|
5598
|
+
if (nodeOutputTypes.size > 0) {
|
|
5599
|
+
outputHandleTypeMap.set(node.nodeId, nodeOutputTypes);
|
|
5579
5600
|
}
|
|
5580
5601
|
}
|
|
5581
|
-
return { nodeTypeMap,
|
|
5602
|
+
return { nodeTypeMap, inputHandleTypeMap, outputHandleTypeMap };
|
|
5582
5603
|
}
|
|
5583
5604
|
function applyConversion(items, values, converter, type) {
|
|
5584
5605
|
for (const item of items) {
|
|
@@ -5606,21 +5627,21 @@ function applyConversion(items, values, converter, type) {
|
|
|
5606
5627
|
}
|
|
5607
5628
|
}
|
|
5608
5629
|
}
|
|
5609
|
-
function collectValuesToConvert(values, nodeTypeMap,
|
|
5630
|
+
function collectValuesToConvert(values, nodeTypeMap, inputHandleTypeMap, outputHandleTypeMap, type) {
|
|
5610
5631
|
const converted = {};
|
|
5611
5632
|
const toConvert = [];
|
|
5633
|
+
const handleTypeMap = type === "output" ? outputHandleTypeMap : inputHandleTypeMap;
|
|
5612
5634
|
for (const [nodeId, nodeValues] of Object.entries(values)) {
|
|
5613
5635
|
converted[nodeId] = { ...nodeValues };
|
|
5614
|
-
const
|
|
5615
|
-
const nodeTypeId = nodeTypeMap.get(originalNodeId);
|
|
5636
|
+
const nodeTypeId = nodeTypeMap.get(nodeId);
|
|
5616
5637
|
for (const [handleId, value] of Object.entries(nodeValues)) {
|
|
5617
|
-
const handleDataType = handleTypeMap.get(
|
|
5638
|
+
const handleDataType = handleTypeMap.get(nodeId)?.get(handleId);
|
|
5618
5639
|
const runtimeTypeId = isTypedOutput(value)
|
|
5619
5640
|
? getTypedOutputTypeId(value)
|
|
5620
5641
|
: undefined;
|
|
5621
5642
|
toConvert.push({
|
|
5622
5643
|
nodeId,
|
|
5623
|
-
originalNodeId,
|
|
5644
|
+
originalNodeId: nodeId,
|
|
5624
5645
|
handleId,
|
|
5625
5646
|
value,
|
|
5626
5647
|
nodeTypeId,
|
|
@@ -5633,16 +5654,16 @@ function collectValuesToConvert(values, nodeTypeMap, handleTypeMap, originalNode
|
|
|
5633
5654
|
}
|
|
5634
5655
|
function convertSnapshot(snapshot, converter) {
|
|
5635
5656
|
const def = snapshot.def ?? { nodes: [], edges: [] };
|
|
5636
|
-
const { nodeTypeMap,
|
|
5657
|
+
const { nodeTypeMap, inputHandleTypeMap, outputHandleTypeMap } = buildTypeMaps(def);
|
|
5637
5658
|
const inputDefaults = {};
|
|
5638
5659
|
for (const node of def.nodes) {
|
|
5639
5660
|
if (node.resolvedHandles?.inputDefaults) {
|
|
5640
5661
|
inputDefaults[node.nodeId] = { ...node.resolvedHandles.inputDefaults };
|
|
5641
5662
|
}
|
|
5642
5663
|
}
|
|
5643
|
-
const { converted: convertedInputs, toConvert: inputsToConvert } = collectValuesToConvert(snapshot.inputs ?? {}, nodeTypeMap,
|
|
5644
|
-
const { converted: convertedOutputs, toConvert: outputsToConvert } = collectValuesToConvert(snapshot.outputs ?? {}, nodeTypeMap,
|
|
5645
|
-
const { converted: convertedInputDefaults, toConvert: inputDefaultsToConvert, } = collectValuesToConvert(inputDefaults, nodeTypeMap,
|
|
5664
|
+
const { converted: convertedInputs, toConvert: inputsToConvert } = collectValuesToConvert(snapshot.inputs ?? {}, nodeTypeMap, inputHandleTypeMap, outputHandleTypeMap, "input");
|
|
5665
|
+
const { converted: convertedOutputs, toConvert: outputsToConvert } = collectValuesToConvert(snapshot.outputs ?? {}, nodeTypeMap, inputHandleTypeMap, outputHandleTypeMap, "output");
|
|
5666
|
+
const { converted: convertedInputDefaults, toConvert: inputDefaultsToConvert, } = collectValuesToConvert(inputDefaults, nodeTypeMap, inputHandleTypeMap, outputHandleTypeMap, "inputDefault");
|
|
5646
5667
|
applyConversion(inputsToConvert, convertedInputs, converter, "input");
|
|
5647
5668
|
applyConversion(outputsToConvert, convertedOutputs, converter, "output");
|
|
5648
5669
|
applyConversion(inputDefaultsToConvert, convertedInputDefaults, converter, "inputDefault");
|
|
@@ -5673,7 +5694,7 @@ function convertSnapshot(snapshot, converter) {
|
|
|
5673
5694
|
outputs: convertedOutputs,
|
|
5674
5695
|
};
|
|
5675
5696
|
}
|
|
5676
|
-
function mergeInputsOutputs(targetInputs, targetOutputs, sourceInputs, sourceOutputs, targetInputDefaults, sourceInputDefaults, nodeIdMap, nodeTypeMap,
|
|
5697
|
+
function mergeInputsOutputs(targetInputs, targetOutputs, sourceInputs, sourceOutputs, targetInputDefaults, sourceInputDefaults, nodeIdMap, nodeTypeMap, inputHandleTypeMap, outputHandleTypeMap) {
|
|
5677
5698
|
const mergedInputs = { ...targetInputs };
|
|
5678
5699
|
const mergedOutputs = { ...targetOutputs };
|
|
5679
5700
|
const mergedInputDefaults = { ...targetInputDefaults };
|
|
@@ -5688,7 +5709,7 @@ function mergeInputsOutputs(targetInputs, targetOutputs, sourceInputs, sourceOut
|
|
|
5688
5709
|
}
|
|
5689
5710
|
const nodeTypeId = nodeTypeMap?.get(oldId);
|
|
5690
5711
|
for (const [handleId, value] of Object.entries(inputs)) {
|
|
5691
|
-
const handleDataType =
|
|
5712
|
+
const handleDataType = inputHandleTypeMap?.get(oldId)?.get(handleId);
|
|
5692
5713
|
inputsToConvert.push({
|
|
5693
5714
|
nodeId: newId,
|
|
5694
5715
|
originalNodeId: oldId,
|
|
@@ -5709,7 +5730,7 @@ function mergeInputsOutputs(targetInputs, targetOutputs, sourceInputs, sourceOut
|
|
|
5709
5730
|
}
|
|
5710
5731
|
const nodeTypeId = nodeTypeMap?.get(oldId);
|
|
5711
5732
|
for (const [handleId, value] of Object.entries(outputs)) {
|
|
5712
|
-
const handleDataType =
|
|
5733
|
+
const handleDataType = outputHandleTypeMap?.get(oldId)?.get(handleId);
|
|
5713
5734
|
const runtimeTypeId = isTypedOutput(value)
|
|
5714
5735
|
? getTypedOutputTypeId(value)
|
|
5715
5736
|
: undefined;
|
|
@@ -5734,7 +5755,7 @@ function mergeInputsOutputs(targetInputs, targetOutputs, sourceInputs, sourceOut
|
|
|
5734
5755
|
}
|
|
5735
5756
|
const nodeTypeId = nodeTypeMap?.get(oldId);
|
|
5736
5757
|
for (const [handleId, value] of Object.entries(defaults)) {
|
|
5737
|
-
const handleDataType =
|
|
5758
|
+
const handleDataType = inputHandleTypeMap?.get(oldId)?.get(handleId);
|
|
5738
5759
|
inputDefaultsToConvert.push({
|
|
5739
5760
|
nodeId: newId,
|
|
5740
5761
|
originalNodeId: oldId,
|
|
@@ -5758,8 +5779,8 @@ function mergeInputsOutputs(targetInputs, targetOutputs, sourceInputs, sourceOut
|
|
|
5758
5779
|
}
|
|
5759
5780
|
function mergeSnapshotData(targetSnapshot, sourceSnapshot, targetInputDefaults, sourceInputDefaults, nodeIdMap) {
|
|
5760
5781
|
const sourceDef = sourceSnapshot.def ?? { nodes: []};
|
|
5761
|
-
const { nodeTypeMap,
|
|
5762
|
-
return mergeInputsOutputs(targetSnapshot.inputs ?? {}, targetSnapshot.outputs ?? {}, sourceSnapshot.inputs ?? {}, sourceSnapshot.outputs ?? {}, targetInputDefaults, sourceInputDefaults, nodeIdMap, nodeTypeMap,
|
|
5782
|
+
const { nodeTypeMap, inputHandleTypeMap, outputHandleTypeMap } = buildTypeMaps(sourceDef);
|
|
5783
|
+
return mergeInputsOutputs(targetSnapshot.inputs ?? {}, targetSnapshot.outputs ?? {}, sourceSnapshot.inputs ?? {}, sourceSnapshot.outputs ?? {}, targetInputDefaults, sourceInputDefaults, nodeIdMap, nodeTypeMap, inputHandleTypeMap, outputHandleTypeMap);
|
|
5763
5784
|
}
|
|
5764
5785
|
function mergeSnapshots(targetSnapshot, sourceSnapshot, converter) {
|
|
5765
5786
|
const targetDef = targetSnapshot.def ?? { nodes: [], edges: [] };
|