@rkmodules/rules 0.0.146 → 0.0.148
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/index.cjs.js +136 -37
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +136 -37
- package/dist/index.esm.js.map +1 -1
- package/dist/lib/Engine/index.d.ts +1 -0
- package/dist/lib/Engine/types.d.ts +2 -0
- package/dist/lib/Flow/Components/Input.d.ts +3 -1
- package/dist/lib/Flow/Nodes/NamedInput.d.ts +7 -0
- package/dist/lib/Flow/Nodes/index.d.ts +4 -0
- package/package.json +1 -1
package/dist/index.esm.js
CHANGED
|
@@ -1964,7 +1964,7 @@ var mergeTree = {
|
|
|
1964
1964
|
name: "mergeTree",
|
|
1965
1965
|
label: "Merge Tree",
|
|
1966
1966
|
description: "Merge groups with the same index into a single tree.",
|
|
1967
|
-
nodeType: "
|
|
1967
|
+
nodeType: "NamedInput",
|
|
1968
1968
|
inputs: {},
|
|
1969
1969
|
outputs: {
|
|
1970
1970
|
result: "any",
|
|
@@ -3004,6 +3004,7 @@ var Engine = /** @class */ (function () {
|
|
|
3004
3004
|
});
|
|
3005
3005
|
context = {
|
|
3006
3006
|
scope: { inputs: inputs },
|
|
3007
|
+
calls: {},
|
|
3007
3008
|
inputs: { inputs: inputs },
|
|
3008
3009
|
params: { params: params },
|
|
3009
3010
|
timings: {},
|
|
@@ -3029,6 +3030,7 @@ var Engine = /** @class */ (function () {
|
|
|
3029
3030
|
inputs_1 = interpolate(fnCall.inputs || {}, context.scope);
|
|
3030
3031
|
params_1 = fnCall.params || {};
|
|
3031
3032
|
result_1 = {};
|
|
3033
|
+
context.calls[name_1] = fnCall;
|
|
3032
3034
|
context.inputs[name_1] = inputs_1;
|
|
3033
3035
|
context.params[name_1] = params_1;
|
|
3034
3036
|
cacheResult = this.checkCache(name_1, inputs_1);
|
|
@@ -6290,13 +6292,32 @@ function Control(_a) {
|
|
|
6290
6292
|
}
|
|
6291
6293
|
}
|
|
6292
6294
|
|
|
6295
|
+
function Menu(_a) {
|
|
6296
|
+
var handle = _a.handle, children = _a.children;
|
|
6297
|
+
var _b = __read(React.useState(false), 2), open = _b[0], setOpen = _b[1];
|
|
6298
|
+
var handleOpen = function () {
|
|
6299
|
+
setOpen(!open);
|
|
6300
|
+
};
|
|
6301
|
+
var handleClose = function () {
|
|
6302
|
+
setOpen(false);
|
|
6303
|
+
};
|
|
6304
|
+
return (React.createElement("div", { className: styles$1.Menu },
|
|
6305
|
+
React.createElement("div", { onClick: handleOpen }, handle),
|
|
6306
|
+
open && (React.createElement("div", { className: styles$1.MenuCanvas, onClick: handleClose }, children))));
|
|
6307
|
+
}
|
|
6308
|
+
function MenuItem(_a) {
|
|
6309
|
+
var children = _a.children, props = __rest(_a, ["children"]);
|
|
6310
|
+
return (React.createElement("div", __assign({ className: styles$1.MenuItem }, props), children));
|
|
6311
|
+
}
|
|
6312
|
+
|
|
6293
6313
|
var Input = function (_a) {
|
|
6294
6314
|
var _b;
|
|
6295
|
-
var name = _a.name, varDef = _a.varDef, id = _a.id, data = _a.data, onClick = _a.onClick;
|
|
6315
|
+
var name = _a.name, varDef = _a.varDef, id = _a.id, data = _a.data, onClick = _a.onClick, onRename = _a.onRename, onDelete = _a.onDelete;
|
|
6296
6316
|
var normalized = normalizeVarDef(varDef);
|
|
6297
6317
|
var value = (_b = data.inputs) === null || _b === void 0 ? void 0 : _b[name];
|
|
6298
6318
|
var isRef = isReference(value);
|
|
6299
6319
|
var portId = "".concat(id, "-").concat(safeName(name));
|
|
6320
|
+
var showMenu = onRename || onDelete;
|
|
6300
6321
|
var handleInputChange = function (param) { return function (value) {
|
|
6301
6322
|
var _a;
|
|
6302
6323
|
data.onChange({
|
|
@@ -6307,7 +6328,12 @@ var Input = function (_a) {
|
|
|
6307
6328
|
"--type-color": "var(--color-".concat(normalized.type, ")"),
|
|
6308
6329
|
}, onClick: onClick },
|
|
6309
6330
|
React.createElement("span", { className: styles$1.PortLabel }, normalized.label || name),
|
|
6310
|
-
!isRef && (React.createElement(Control, { vardef: normalized, value: value, onChange: handleInputChange(name), data: data }))
|
|
6331
|
+
!isRef && !showMenu && (React.createElement(Control, { vardef: normalized, value: value, onChange: handleInputChange(name), data: data })),
|
|
6332
|
+
showMenu && (React.createElement("div", { style: { display: "flex" } },
|
|
6333
|
+
React.createElement("span", { style: { flex: 1 } }),
|
|
6334
|
+
React.createElement(Menu, { handle: React.createElement("button", null, "...") },
|
|
6335
|
+
onRename && (React.createElement(MenuItem, { onClick: function () { return onRename(name, normalized); } }, "Rename")),
|
|
6336
|
+
onDelete && (React.createElement(MenuItem, { onClick: function () { return onDelete(name); } }, "Delete")))))));
|
|
6311
6337
|
};
|
|
6312
6338
|
|
|
6313
6339
|
var Param = function (_a) {
|
|
@@ -6566,24 +6592,6 @@ var Default = React.memo(function (_a) {
|
|
|
6566
6592
|
});
|
|
6567
6593
|
Default.displayName = "DefaultNode";
|
|
6568
6594
|
|
|
6569
|
-
function Menu(_a) {
|
|
6570
|
-
var handle = _a.handle, children = _a.children;
|
|
6571
|
-
var _b = __read(React.useState(false), 2), open = _b[0], setOpen = _b[1];
|
|
6572
|
-
var handleOpen = function () {
|
|
6573
|
-
setOpen(!open);
|
|
6574
|
-
};
|
|
6575
|
-
var handleClose = function () {
|
|
6576
|
-
setOpen(false);
|
|
6577
|
-
};
|
|
6578
|
-
return (React.createElement("div", { className: styles$1.Menu },
|
|
6579
|
-
React.createElement("div", { onClick: handleOpen }, handle),
|
|
6580
|
-
open && (React.createElement("div", { className: styles$1.MenuCanvas, onClick: handleClose }, children))));
|
|
6581
|
-
}
|
|
6582
|
-
function MenuItem(_a) {
|
|
6583
|
-
var children = _a.children, props = __rest(_a, ["children"]);
|
|
6584
|
-
return (React.createElement("div", __assign({ className: styles$1.MenuItem }, props), children));
|
|
6585
|
-
}
|
|
6586
|
-
|
|
6587
6595
|
/**
|
|
6588
6596
|
* todo: get input data from graphed function
|
|
6589
6597
|
*/
|
|
@@ -6847,17 +6855,9 @@ var OutputNode = React.memo(function (_a) {
|
|
|
6847
6855
|
var _b = __read(_a, 2), name = _b[0], varDef = _b[1];
|
|
6848
6856
|
return (React.createElement(Output, { key: "".concat(name, "_").concat(index), name: name, varDef: varDef, id: id, onClick: function () { return setFocus(name); }, focus: showPreview && focus === name }));
|
|
6849
6857
|
}),
|
|
6850
|
-
Object.entries(inputs || {}).map(function (_a) {
|
|
6858
|
+
Object.entries(inputs || {}).map(function (_a, index) {
|
|
6851
6859
|
var _b = __read(_a, 2), name = _b[0], varDef = _b[1];
|
|
6852
|
-
return (React.createElement(
|
|
6853
|
-
"--type-color": "var(--color-".concat(varDef.type, ")"),
|
|
6854
|
-
} },
|
|
6855
|
-
React.createElement("span", { className: styles$1.PortLabel }, name),
|
|
6856
|
-
React.createElement("div", { style: { display: "flex" } },
|
|
6857
|
-
React.createElement("span", { style: { flex: 1 } }),
|
|
6858
|
-
React.createElement(Menu, { handle: React.createElement("button", null, "...") },
|
|
6859
|
-
React.createElement(MenuItem, { onClick: function () { return onRename(name); } }, "Rename"),
|
|
6860
|
-
React.createElement(MenuItem, { onClick: function () { return onDelete(name); } }, "Delete")))));
|
|
6860
|
+
return (React.createElement(Input, { key: "".concat(name, "_").concat(index), name: name, varDef: varDef, id: id, data: data, onRename: onRename, onDelete: onDelete }));
|
|
6861
6861
|
}),
|
|
6862
6862
|
paramEntries.map(function (_a, index) {
|
|
6863
6863
|
var _b = __read(_a, 2), name = _b[0], varDef = _b[1];
|
|
@@ -6895,12 +6895,104 @@ var DynamicOutput = React.memo(function (_a) {
|
|
|
6895
6895
|
});
|
|
6896
6896
|
DynamicOutput.displayName = "DynamicOutputNode";
|
|
6897
6897
|
|
|
6898
|
+
var NamedInput = function (_a) {
|
|
6899
|
+
var _b;
|
|
6900
|
+
var _c;
|
|
6901
|
+
var id = _a.id, data = _a.data, selected = _a.selected;
|
|
6902
|
+
var engine = useEngine();
|
|
6903
|
+
// let fn = useGraphedFunction();
|
|
6904
|
+
var prompt = usePrompts().prompt;
|
|
6905
|
+
var inputEntries = Object.entries(data.inputDefs || {});
|
|
6906
|
+
var outputEntries = Object.entries(data.outputDefs || {});
|
|
6907
|
+
var paramEntries = Object.entries(data.paramDefs || {});
|
|
6908
|
+
var _d = __read(React.useState({}), 2), result = _d[0], setResult = _d[1];
|
|
6909
|
+
var _e = __read(React.useState(null), 2), duration = _e[0], setDuration = _e[1];
|
|
6910
|
+
var _f = __read(useInner(((_c = outputEntries[0]) === null || _c === void 0 ? void 0 : _c[0]) || null, [data.outputDefs]), 2), focus = _f[0], setFocus = _f[1];
|
|
6911
|
+
var _g = __read(React.useState(false), 2), showPreview = _g[0], setShowPreview = _g[1];
|
|
6912
|
+
var previewValue = focus ? result[focus] : Object.values(result)[0];
|
|
6913
|
+
React.useEffect(function () {
|
|
6914
|
+
return engine.subscribe("functionResult", function (event) {
|
|
6915
|
+
var _a;
|
|
6916
|
+
if (event.name === id) {
|
|
6917
|
+
setResult(event.result || {});
|
|
6918
|
+
setDuration((_a = event.duration) !== null && _a !== void 0 ? _a : null);
|
|
6919
|
+
}
|
|
6920
|
+
});
|
|
6921
|
+
}, []);
|
|
6922
|
+
var onRename = function (name, def) { return __awaiter(void 0, void 0, void 0, function () {
|
|
6923
|
+
var newLabel, inputDefs;
|
|
6924
|
+
return __generator(this, function (_a) {
|
|
6925
|
+
switch (_a.label) {
|
|
6926
|
+
case 0: return [4 /*yield*/, prompt("Enter new name", def.label || name)];
|
|
6927
|
+
case 1:
|
|
6928
|
+
newLabel = _a.sent();
|
|
6929
|
+
if (newLabel !== null && newLabel !== def.label) {
|
|
6930
|
+
inputDefs = __assign({}, data.inputDefs);
|
|
6931
|
+
inputDefs[name] = __assign(__assign({}, def), { label: newLabel });
|
|
6932
|
+
data.onChange({ inputDefs: inputDefs });
|
|
6933
|
+
}
|
|
6934
|
+
return [2 /*return*/];
|
|
6935
|
+
}
|
|
6936
|
+
});
|
|
6937
|
+
}); };
|
|
6938
|
+
var onAdd = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
6939
|
+
var newName, inputDefs;
|
|
6940
|
+
var _a;
|
|
6941
|
+
return __generator(this, function (_b) {
|
|
6942
|
+
switch (_b.label) {
|
|
6943
|
+
case 0: return [4 /*yield*/, prompt("Enter new name")];
|
|
6944
|
+
case 1:
|
|
6945
|
+
newName = _b.sent();
|
|
6946
|
+
if (newName !== null) {
|
|
6947
|
+
inputDefs = __assign(__assign({}, data.inputDefs), (_a = {}, _a[newName] = { type: "any", label: newName }, _a));
|
|
6948
|
+
data.onChange({ inputDefs: inputDefs });
|
|
6949
|
+
}
|
|
6950
|
+
return [2 /*return*/];
|
|
6951
|
+
}
|
|
6952
|
+
});
|
|
6953
|
+
}); };
|
|
6954
|
+
var onDelete = function (name) {
|
|
6955
|
+
var inputDefs = __assign({}, data.inputDefs);
|
|
6956
|
+
var inputs = __assign({}, data.inputs);
|
|
6957
|
+
delete inputDefs[name];
|
|
6958
|
+
delete inputs[name];
|
|
6959
|
+
data.onChange({ inputs: inputs, inputDefs: inputDefs });
|
|
6960
|
+
};
|
|
6961
|
+
return (React.createElement(NodeContainer, { label: data.label, selected: selected, id: id, noDelete: true },
|
|
6962
|
+
React.createElement("div", { className: styles.Description }, data.description),
|
|
6963
|
+
React.createElement("div", { className: styles.Ports },
|
|
6964
|
+
outputEntries.map(function (_a, index) {
|
|
6965
|
+
var _b = __read(_a, 2), name = _b[0], varDef = _b[1];
|
|
6966
|
+
return (React.createElement(Output, { key: "".concat(name, "_").concat(index), name: name, varDef: varDef, id: id, onClick: function () { return setFocus(name); }, focus: showPreview && focus === name }));
|
|
6967
|
+
}),
|
|
6968
|
+
inputEntries.map(function (_a, index) {
|
|
6969
|
+
var _b = __read(_a, 2), name = _b[0], varDef = _b[1];
|
|
6970
|
+
return (React.createElement(Input, { key: "".concat(name, "_").concat(index), name: name, varDef: varDef, id: id, data: data, onRename: onRename, onDelete: onDelete }));
|
|
6971
|
+
}),
|
|
6972
|
+
React.createElement("div", { className: styles.Body },
|
|
6973
|
+
React.createElement("button", { onClick: function () { return onAdd(); } }, "+")),
|
|
6974
|
+
paramEntries.map(function (_a, index) {
|
|
6975
|
+
var _b = __read(_a, 2), name = _b[0], varDef = _b[1];
|
|
6976
|
+
return (React.createElement(Param, { key: "".concat(name, "_").concat(index), name: name, varDef: varDef, id: id, data: data }));
|
|
6977
|
+
})),
|
|
6978
|
+
!!outputEntries.length && (React.createElement("div", { className: classNames(styles.PreviewHead, (_b = {},
|
|
6979
|
+
_b[styles.expanded] = showPreview,
|
|
6980
|
+
_b)), onClick: function () { return setShowPreview(!showPreview); } }, "Preview")),
|
|
6981
|
+
showPreview && (React.createElement("div", { className: styles.Preview },
|
|
6982
|
+
React.createElement(TreeView, { value: previewValue }),
|
|
6983
|
+
duration !== null && (React.createElement("div", { className: styles.Duration },
|
|
6984
|
+
duration.toFixed(2),
|
|
6985
|
+
" ms"))))));
|
|
6986
|
+
};
|
|
6987
|
+
NamedInput.displayName = "NamedInput";
|
|
6988
|
+
|
|
6898
6989
|
var nodeTypes = {
|
|
6899
6990
|
Default: Default,
|
|
6900
6991
|
Calc: Calc,
|
|
6901
6992
|
Log: Log,
|
|
6902
6993
|
DynamicInput: DynamicInput,
|
|
6903
6994
|
DynamicOutput: DynamicOutput,
|
|
6995
|
+
NamedInput: NamedInput,
|
|
6904
6996
|
Input: InputNode,
|
|
6905
6997
|
Output: OutputNode,
|
|
6906
6998
|
};
|
|
@@ -6982,8 +7074,8 @@ function useUpdatePositions(fn) {
|
|
|
6982
7074
|
}
|
|
6983
7075
|
|
|
6984
7076
|
// helpers
|
|
6985
|
-
function updateNodeArguments(node, inputs, params) {
|
|
6986
|
-
return __assign(__assign({}, node), { data: __assign(__assign({}, node.data), { inputs: inputs, params: params }) });
|
|
7077
|
+
function updateNodeArguments(node, inputs, params, inputDefs, outputDefs) {
|
|
7078
|
+
return __assign(__assign({}, node), { data: __assign(__assign({}, node.data), { inputs: inputs, params: params, inputDefs: inputDefs !== null && inputDefs !== void 0 ? inputDefs : node.data.inputDefs, outputDefs: outputDefs !== null && outputDefs !== void 0 ? outputDefs : node.data.outputDefs }) });
|
|
6987
7079
|
}
|
|
6988
7080
|
/**
|
|
6989
7081
|
* gets the source and target node and field from an edge by de-referencing the handles
|
|
@@ -7009,7 +7101,7 @@ function createNode(engine, id, fncall, options) {
|
|
|
7009
7101
|
description: calledFn === null || calledFn === void 0 ? void 0 : calledFn.description,
|
|
7010
7102
|
inputs: fncall.inputs,
|
|
7011
7103
|
params: fncall.params,
|
|
7012
|
-
inputDefs: (calledFn === null || calledFn === void 0 ? void 0 : calledFn.inputs)
|
|
7104
|
+
inputDefs: __assign(__assign({}, fncall.inputDefs), calledFn === null || calledFn === void 0 ? void 0 : calledFn.inputs),
|
|
7013
7105
|
paramDefs: (calledFn === null || calledFn === void 0 ? void 0 : calledFn.params) || {},
|
|
7014
7106
|
outputDefs: (calledFn === null || calledFn === void 0 ? void 0 : calledFn.outputs) || {},
|
|
7015
7107
|
onChange: ((_a = options.onDataChange) === null || _a === void 0 ? void 0 : _a.call(options, id)) || (function () { }),
|
|
@@ -7067,8 +7159,15 @@ var useFlowState = create$1(function (set, get) { return ({
|
|
|
7067
7159
|
});
|
|
7068
7160
|
// remove all the edges that were removed
|
|
7069
7161
|
edges = edges === null || edges === void 0 ? void 0 : edges.filter(function (edge) {
|
|
7070
|
-
|
|
7071
|
-
|
|
7162
|
+
var _a, _b;
|
|
7163
|
+
var target = deRefEdgeHandle(edge.targetHandle);
|
|
7164
|
+
return (
|
|
7165
|
+
// source node of the edge must be in the document
|
|
7166
|
+
(newKeys.includes(edge.source) || edge.source === "inputs") &&
|
|
7167
|
+
// target node of the edge must be in the document
|
|
7168
|
+
newKeys.includes(edge.target) &&
|
|
7169
|
+
// target field of the edge must be in the target node definition
|
|
7170
|
+
((_b = (_a = fn.body) === null || _a === void 0 ? void 0 : _a[edge.target].inputs) === null || _b === void 0 ? void 0 : _b[target.field]) !== undefined);
|
|
7072
7171
|
});
|
|
7073
7172
|
// make sure there is an output node if outputs are defined
|
|
7074
7173
|
if (fn.outputs && !nodes["output"]) {
|
|
@@ -7123,7 +7222,7 @@ var useFlowState = create$1(function (set, get) { return ({
|
|
|
7123
7222
|
// update the nodes that were changed
|
|
7124
7223
|
var fncall = (_a = fn.body) === null || _a === void 0 ? void 0 : _a[key];
|
|
7125
7224
|
var node = nodes[key];
|
|
7126
|
-
nodes[key] = updateNodeArguments(node, fncall.inputs, fncall.params);
|
|
7225
|
+
nodes[key] = updateNodeArguments(node, fncall.inputs, fncall.params, fncall.inputDefs, fncall.outputDefs);
|
|
7127
7226
|
// update incoming edges
|
|
7128
7227
|
var refs = getReferences(fncall.inputs || {});
|
|
7129
7228
|
// remove all incoming edges
|