@rkmodules/rules 0.0.94 → 0.0.96
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.css +1 -1
- package/dist/index.cjs.js +344 -161
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.css +1 -1
- package/dist/index.esm.js +344 -161
- package/dist/index.esm.js.map +1 -1
- package/dist/lib/Primitives/{List/shiftList.d.ts → Group/groupAll.d.ts} +1 -1
- package/dist/lib/Primitives/List/listInput.d.ts +2 -0
- package/dist/lib/Primitives/Math/sum.d.ts +2 -0
- package/dist/lib/Primitives/String/index.d.ts +3 -0
- package/dist/lib/Primitives/String/joinStrings.d.ts +2 -0
- package/dist/lib/Primitives/String/toString.d.ts +2 -0
- package/dist/lib/Primitives/index.d.ts +2 -1
- package/package.json +1 -1
- /package/dist/lib/Primitives/{List → Group}/cartesianGroups.d.ts +0 -0
- /package/dist/lib/Primitives/{Tree → Group}/index.d.ts +0 -0
- /package/dist/lib/Primitives/{List → Group}/mergeGroup.d.ts +0 -0
- /package/dist/lib/Primitives/{Tree → Group}/mergeTree.d.ts +0 -0
- /package/dist/lib/Primitives/{Tree → Group}/simplifyTree.d.ts +0 -0
- /package/dist/lib/Primitives/{List → Group}/splitGroup.d.ts +0 -0
package/dist/index.cjs.css
CHANGED
|
@@ -175,6 +175,7 @@
|
|
|
175
175
|
}
|
|
176
176
|
|
|
177
177
|
.NodeContainer_gSdHY input,
|
|
178
|
+
.NodeContainer_gSdHY textarea,
|
|
178
179
|
.NodeContainer_gSdHY select {
|
|
179
180
|
border: 1px solid var(--ln);
|
|
180
181
|
border-radius: 4px;
|
|
@@ -195,7 +196,6 @@
|
|
|
195
196
|
.Ports_fVs5I {
|
|
196
197
|
display: grid;
|
|
197
198
|
grid-template-columns: auto 1fr;
|
|
198
|
-
grid-auto-rows: 26px;
|
|
199
199
|
}
|
|
200
200
|
|
|
201
201
|
.Body_ptEZP {
|
package/dist/index.cjs.js
CHANGED
|
@@ -142,18 +142,19 @@ var DISCARD = Symbol("DISCARD");
|
|
|
142
142
|
*/
|
|
143
143
|
function simplifyTree$1(tree) {
|
|
144
144
|
var keys = Object.keys(tree);
|
|
145
|
-
if (keys.length <= 1)
|
|
146
|
-
return tree; // ✅ Don't simplify if only one path
|
|
147
145
|
// Parse all paths into number arrays
|
|
148
146
|
var parsedPaths = keys.map(function (path) { return path.split(";").map(Number); });
|
|
149
147
|
// Find common prefix
|
|
150
|
-
var prefixLength =
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
for (var
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
148
|
+
var prefixLength = 1;
|
|
149
|
+
if (keys.length > 1) {
|
|
150
|
+
prefixLength = parsedPaths[0].length;
|
|
151
|
+
for (var i = 1; i < parsedPaths.length; i++) {
|
|
152
|
+
var path = parsedPaths[i];
|
|
153
|
+
for (var j = 0; j < prefixLength; j++) {
|
|
154
|
+
if (path[j] !== parsedPaths[0][j]) {
|
|
155
|
+
prefixLength = j;
|
|
156
|
+
break;
|
|
157
|
+
}
|
|
157
158
|
}
|
|
158
159
|
}
|
|
159
160
|
}
|
|
@@ -635,17 +636,17 @@ var value = {
|
|
|
635
636
|
}); },
|
|
636
637
|
};
|
|
637
638
|
|
|
638
|
-
var _a$
|
|
639
|
-
var primitives$
|
|
640
|
-
_a$
|
|
641
|
-
_a$
|
|
642
|
-
_a$
|
|
643
|
-
_a$
|
|
639
|
+
var _a$8;
|
|
640
|
+
var primitives$8 = (_a$8 = {},
|
|
641
|
+
_a$8[getValue.name] = getValue,
|
|
642
|
+
_a$8[log.name] = log,
|
|
643
|
+
_a$8[value.name] = value,
|
|
644
|
+
_a$8);
|
|
644
645
|
|
|
645
646
|
var add$1 = {
|
|
646
647
|
name: "add",
|
|
647
648
|
label: "Add",
|
|
648
|
-
description: "Add two numbers",
|
|
649
|
+
description: "Add two numbers or strings",
|
|
649
650
|
inputs: {
|
|
650
651
|
a: { type: "number", default: 0 },
|
|
651
652
|
b: { type: "number", default: 0 },
|
|
@@ -1138,16 +1139,21 @@ var ceil = {
|
|
|
1138
1139
|
inputs: {
|
|
1139
1140
|
x: { type: "number", default: 0 },
|
|
1140
1141
|
},
|
|
1142
|
+
params: {
|
|
1143
|
+
decimals: { type: "number", default: 0 },
|
|
1144
|
+
},
|
|
1141
1145
|
outputs: {
|
|
1142
1146
|
ceil: "number",
|
|
1143
1147
|
},
|
|
1144
|
-
impl: function (inputs) { return __awaiter(void 0, void 0, void 0, function () {
|
|
1148
|
+
impl: function (inputs, params) { return __awaiter(void 0, void 0, void 0, function () {
|
|
1149
|
+
var f;
|
|
1145
1150
|
return __generator(this, function (_a) {
|
|
1151
|
+
f = Math.pow(10, params.decimals || 0);
|
|
1146
1152
|
return [2 /*return*/, {
|
|
1147
1153
|
ceil: mapTree(inputs.x, function (x) {
|
|
1148
1154
|
if (x === undefined)
|
|
1149
1155
|
return DISCARD;
|
|
1150
|
-
return Math.ceil(x);
|
|
1156
|
+
return Math.ceil(f * x) / f;
|
|
1151
1157
|
}),
|
|
1152
1158
|
}];
|
|
1153
1159
|
});
|
|
@@ -1161,16 +1167,21 @@ var floor = {
|
|
|
1161
1167
|
inputs: {
|
|
1162
1168
|
x: { type: "number", default: 0 },
|
|
1163
1169
|
},
|
|
1170
|
+
params: {
|
|
1171
|
+
decimals: { type: "number", default: 0 },
|
|
1172
|
+
},
|
|
1164
1173
|
outputs: {
|
|
1165
1174
|
floor: "number",
|
|
1166
1175
|
},
|
|
1167
|
-
impl: function (inputs) { return __awaiter(void 0, void 0, void 0, function () {
|
|
1176
|
+
impl: function (inputs, params) { return __awaiter(void 0, void 0, void 0, function () {
|
|
1177
|
+
var f;
|
|
1168
1178
|
return __generator(this, function (_a) {
|
|
1179
|
+
f = Math.pow(10, params.decimals || 0);
|
|
1169
1180
|
return [2 /*return*/, {
|
|
1170
1181
|
floor: mapTree(inputs.x, function (x) {
|
|
1171
1182
|
if (x === undefined)
|
|
1172
1183
|
return DISCARD;
|
|
1173
|
-
return Math.floor(x);
|
|
1184
|
+
return Math.floor(f * x) / f;
|
|
1174
1185
|
}),
|
|
1175
1186
|
}];
|
|
1176
1187
|
});
|
|
@@ -1184,16 +1195,122 @@ var round = {
|
|
|
1184
1195
|
inputs: {
|
|
1185
1196
|
x: { type: "number", default: 0 },
|
|
1186
1197
|
},
|
|
1198
|
+
params: {
|
|
1199
|
+
decimals: { type: "number", default: 0 },
|
|
1200
|
+
},
|
|
1187
1201
|
outputs: {
|
|
1188
1202
|
round: "number",
|
|
1189
1203
|
},
|
|
1190
|
-
impl: function (inputs) { return __awaiter(void 0, void 0, void 0, function () {
|
|
1204
|
+
impl: function (inputs, params) { return __awaiter(void 0, void 0, void 0, function () {
|
|
1205
|
+
var f;
|
|
1191
1206
|
return __generator(this, function (_a) {
|
|
1207
|
+
f = Math.pow(10, params.decimals || 0);
|
|
1192
1208
|
return [2 /*return*/, {
|
|
1193
1209
|
round: mapTree(inputs.x, function (x) {
|
|
1194
1210
|
if (x === undefined)
|
|
1195
1211
|
return DISCARD;
|
|
1196
|
-
return Math.round(x);
|
|
1212
|
+
return Math.round(f * x) / f;
|
|
1213
|
+
}),
|
|
1214
|
+
}];
|
|
1215
|
+
});
|
|
1216
|
+
}); },
|
|
1217
|
+
};
|
|
1218
|
+
|
|
1219
|
+
var sum = {
|
|
1220
|
+
name: "sum",
|
|
1221
|
+
label: "Sum",
|
|
1222
|
+
description: "Sum of all items in a group",
|
|
1223
|
+
inputs: {
|
|
1224
|
+
tree: { type: "number", default: 0 },
|
|
1225
|
+
},
|
|
1226
|
+
outputs: {
|
|
1227
|
+
sum: "number",
|
|
1228
|
+
},
|
|
1229
|
+
impl: function (inputs) { return __awaiter(void 0, void 0, void 0, function () {
|
|
1230
|
+
return __generator(this, function (_a) {
|
|
1231
|
+
return [2 /*return*/, {
|
|
1232
|
+
sum: mapTreeBranch(inputs.tree, function (branch) {
|
|
1233
|
+
if (!branch || branch.length === 0)
|
|
1234
|
+
return DISCARD;
|
|
1235
|
+
var total = branch.reduce(function (acc, item) {
|
|
1236
|
+
if (item === undefined)
|
|
1237
|
+
return acc;
|
|
1238
|
+
return acc + item;
|
|
1239
|
+
});
|
|
1240
|
+
return [total];
|
|
1241
|
+
}),
|
|
1242
|
+
}];
|
|
1243
|
+
});
|
|
1244
|
+
}); },
|
|
1245
|
+
};
|
|
1246
|
+
|
|
1247
|
+
var _a$7;
|
|
1248
|
+
var primitives$7 = (_a$7 = {},
|
|
1249
|
+
_a$7[calc.name] = calc,
|
|
1250
|
+
_a$7[equalTo.name] = equalTo,
|
|
1251
|
+
_a$7[lessThan.name] = lessThan,
|
|
1252
|
+
_a$7[greaterThan.name] = greaterThan,
|
|
1253
|
+
_a$7[add$1.name] = add$1,
|
|
1254
|
+
_a$7[subtract$1.name] = subtract$1,
|
|
1255
|
+
_a$7[multiply.name] = multiply,
|
|
1256
|
+
_a$7[divide.name] = divide,
|
|
1257
|
+
_a$7[modulo.name] = modulo,
|
|
1258
|
+
_a$7[sinDeg.name] = sinDeg,
|
|
1259
|
+
_a$7[cosDeg.name] = cosDeg,
|
|
1260
|
+
_a$7[tanDeg.name] = tanDeg,
|
|
1261
|
+
_a$7[sqrt.name] = sqrt,
|
|
1262
|
+
_a$7[pow.name] = pow,
|
|
1263
|
+
_a$7[round.name] = round,
|
|
1264
|
+
_a$7[ceil.name] = ceil,
|
|
1265
|
+
_a$7[floor.name] = floor,
|
|
1266
|
+
_a$7[sum.name] = sum,
|
|
1267
|
+
_a$7);
|
|
1268
|
+
|
|
1269
|
+
var joinStrings = {
|
|
1270
|
+
name: "joinStrings",
|
|
1271
|
+
label: "Join Strings",
|
|
1272
|
+
description: "Join all strings in a group",
|
|
1273
|
+
inputs: {
|
|
1274
|
+
tree: { type: "string", default: "" },
|
|
1275
|
+
},
|
|
1276
|
+
params: {
|
|
1277
|
+
separator: { type: "string", default: "" },
|
|
1278
|
+
},
|
|
1279
|
+
outputs: {
|
|
1280
|
+
joined: "string",
|
|
1281
|
+
},
|
|
1282
|
+
impl: function (inputs, params) { return __awaiter(void 0, void 0, void 0, function () {
|
|
1283
|
+
var sep;
|
|
1284
|
+
return __generator(this, function (_a) {
|
|
1285
|
+
sep = params.separator || "";
|
|
1286
|
+
return [2 /*return*/, {
|
|
1287
|
+
joined: mapTreeBranch(inputs.tree, function (branch) {
|
|
1288
|
+
if (!branch || branch.length === 0)
|
|
1289
|
+
return DISCARD;
|
|
1290
|
+
return [branch.join(sep)];
|
|
1291
|
+
}),
|
|
1292
|
+
}];
|
|
1293
|
+
});
|
|
1294
|
+
}); },
|
|
1295
|
+
};
|
|
1296
|
+
|
|
1297
|
+
var toString = {
|
|
1298
|
+
name: "toString",
|
|
1299
|
+
label: "To String",
|
|
1300
|
+
description: "convert to string",
|
|
1301
|
+
inputs: {
|
|
1302
|
+
tree: { type: "any", default: 0 },
|
|
1303
|
+
},
|
|
1304
|
+
outputs: {
|
|
1305
|
+
string: "string",
|
|
1306
|
+
},
|
|
1307
|
+
impl: function (inputs) { return __awaiter(void 0, void 0, void 0, function () {
|
|
1308
|
+
return __generator(this, function (_a) {
|
|
1309
|
+
return [2 /*return*/, {
|
|
1310
|
+
string: mapTree(inputs.tree || {}, function (item) {
|
|
1311
|
+
if (item === undefined)
|
|
1312
|
+
return DISCARD;
|
|
1313
|
+
return String(item);
|
|
1197
1314
|
}),
|
|
1198
1315
|
}];
|
|
1199
1316
|
});
|
|
@@ -1202,23 +1319,8 @@ var round = {
|
|
|
1202
1319
|
|
|
1203
1320
|
var _a$6;
|
|
1204
1321
|
var primitives$6 = (_a$6 = {},
|
|
1205
|
-
_a$6[
|
|
1206
|
-
_a$6[
|
|
1207
|
-
_a$6[lessThan.name] = lessThan,
|
|
1208
|
-
_a$6[greaterThan.name] = greaterThan,
|
|
1209
|
-
_a$6[add$1.name] = add$1,
|
|
1210
|
-
_a$6[subtract$1.name] = subtract$1,
|
|
1211
|
-
_a$6[multiply.name] = multiply,
|
|
1212
|
-
_a$6[divide.name] = divide,
|
|
1213
|
-
_a$6[modulo.name] = modulo,
|
|
1214
|
-
_a$6[sinDeg.name] = sinDeg,
|
|
1215
|
-
_a$6[cosDeg.name] = cosDeg,
|
|
1216
|
-
_a$6[tanDeg.name] = tanDeg,
|
|
1217
|
-
_a$6[sqrt.name] = sqrt,
|
|
1218
|
-
_a$6[pow.name] = pow,
|
|
1219
|
-
_a$6[round.name] = round,
|
|
1220
|
-
_a$6[ceil.name] = ceil,
|
|
1221
|
-
_a$6[floor.name] = floor,
|
|
1322
|
+
_a$6[toString.name] = toString,
|
|
1323
|
+
_a$6[joinStrings.name] = joinStrings,
|
|
1222
1324
|
_a$6);
|
|
1223
1325
|
|
|
1224
1326
|
var filterList = {
|
|
@@ -1264,25 +1366,6 @@ var filterList = {
|
|
|
1264
1366
|
}); },
|
|
1265
1367
|
};
|
|
1266
1368
|
|
|
1267
|
-
var splitGroup = {
|
|
1268
|
-
name: "splitGroup",
|
|
1269
|
-
label: "Split Group",
|
|
1270
|
-
description: "Splits every item of a group into its own group",
|
|
1271
|
-
inputs: {
|
|
1272
|
-
tree: "any",
|
|
1273
|
-
},
|
|
1274
|
-
outputs: {
|
|
1275
|
-
tree: "any", // Return the grafted nodes
|
|
1276
|
-
},
|
|
1277
|
-
impl: function (inputs) { return __awaiter(void 0, void 0, void 0, function () {
|
|
1278
|
-
return __generator(this, function (_a) {
|
|
1279
|
-
return [2 /*return*/, {
|
|
1280
|
-
tree: graftTree(inputs.tree || {}),
|
|
1281
|
-
}];
|
|
1282
|
-
});
|
|
1283
|
-
}); },
|
|
1284
|
-
};
|
|
1285
|
-
|
|
1286
1369
|
var listItem = {
|
|
1287
1370
|
name: "listItem",
|
|
1288
1371
|
label: "List Item",
|
|
@@ -1352,73 +1435,9 @@ var listLength = {
|
|
|
1352
1435
|
}); },
|
|
1353
1436
|
};
|
|
1354
1437
|
|
|
1355
|
-
var mergeGroup = {
|
|
1356
|
-
name: "mergeGroup",
|
|
1357
|
-
label: "Merge Group",
|
|
1358
|
-
description: "Merge the deepest groups into their parent.",
|
|
1359
|
-
inputs: {
|
|
1360
|
-
tree: "any",
|
|
1361
|
-
},
|
|
1362
|
-
params: {
|
|
1363
|
-
depth: { type: "number", default: 1 }, // Optional depth to trim the tree
|
|
1364
|
-
},
|
|
1365
|
-
outputs: {
|
|
1366
|
-
tree: "any", // Return the trimed nodes
|
|
1367
|
-
},
|
|
1368
|
-
impl: function (inputs, params) { return __awaiter(void 0, void 0, void 0, function () {
|
|
1369
|
-
var depth;
|
|
1370
|
-
var _a;
|
|
1371
|
-
return __generator(this, function (_b) {
|
|
1372
|
-
depth = (_a = params.depth) !== null && _a !== void 0 ? _a : 1;
|
|
1373
|
-
return [2 /*return*/, {
|
|
1374
|
-
tree: trimTree(inputs.tree, depth),
|
|
1375
|
-
}];
|
|
1376
|
-
});
|
|
1377
|
-
}); },
|
|
1378
|
-
};
|
|
1379
|
-
|
|
1380
|
-
var cartesianGroups = {
|
|
1381
|
-
name: "cartesianGroups",
|
|
1382
|
-
label: "Cartesian Groups",
|
|
1383
|
-
description: "Duplicate groups such that all pairings are created.",
|
|
1384
|
-
inputs: {
|
|
1385
|
-
treeA: "any",
|
|
1386
|
-
treeB: "any",
|
|
1387
|
-
},
|
|
1388
|
-
params: {},
|
|
1389
|
-
outputs: {
|
|
1390
|
-
treeA: "any",
|
|
1391
|
-
treeB: "any",
|
|
1392
|
-
},
|
|
1393
|
-
impl: function (inputs, params) { return __awaiter(void 0, void 0, void 0, function () {
|
|
1394
|
-
var pathsA, pathsB, treeA, treeB;
|
|
1395
|
-
return __generator(this, function (_a) {
|
|
1396
|
-
if (!inputs.treeA || !inputs.treeB) {
|
|
1397
|
-
return [2 /*return*/, {}];
|
|
1398
|
-
}
|
|
1399
|
-
pathsA = getPaths(inputs.treeA);
|
|
1400
|
-
pathsB = getPaths(inputs.treeB);
|
|
1401
|
-
treeA = {};
|
|
1402
|
-
treeB = {};
|
|
1403
|
-
pathsB.forEach(function (pathB, ib) {
|
|
1404
|
-
pathsA.forEach(function (pathA, ia) {
|
|
1405
|
-
var pa = "".concat(ib, ";").concat(pathA);
|
|
1406
|
-
treeA[pa] = inputs.treeA[pathA];
|
|
1407
|
-
var pb = "".concat(pathB, ";").concat(ia);
|
|
1408
|
-
treeB[pb] = inputs.treeB[pathB];
|
|
1409
|
-
});
|
|
1410
|
-
});
|
|
1411
|
-
return [2 /*return*/, {
|
|
1412
|
-
treeA: treeA,
|
|
1413
|
-
treeB: treeB,
|
|
1414
|
-
}];
|
|
1415
|
-
});
|
|
1416
|
-
}); },
|
|
1417
|
-
};
|
|
1418
|
-
|
|
1419
1438
|
var concat = {
|
|
1420
1439
|
name: "concat",
|
|
1421
|
-
label: "Concat",
|
|
1440
|
+
label: "Concat Lists",
|
|
1422
1441
|
description: "Concatenates two lists back to back",
|
|
1423
1442
|
inputs: {
|
|
1424
1443
|
treeA: "any",
|
|
@@ -1519,59 +1538,135 @@ var relativeItems = {
|
|
|
1519
1538
|
}); },
|
|
1520
1539
|
};
|
|
1521
1540
|
|
|
1541
|
+
function isBoolStr(str) {
|
|
1542
|
+
return str.toLowerCase() === "true" || str.toLowerCase() === "false";
|
|
1543
|
+
}
|
|
1544
|
+
function isNumStr(str) {
|
|
1545
|
+
return !isNaN(Number(str));
|
|
1546
|
+
}
|
|
1547
|
+
var listInput = {
|
|
1548
|
+
name: "listInput",
|
|
1549
|
+
label: "List Input",
|
|
1550
|
+
description: "Input a list",
|
|
1551
|
+
inputs: {
|
|
1552
|
+
list: { type: "text", default: "" },
|
|
1553
|
+
},
|
|
1554
|
+
outputs: {
|
|
1555
|
+
tree: "string",
|
|
1556
|
+
},
|
|
1557
|
+
impl: function (inputs) { return __awaiter(void 0, void 0, void 0, function () {
|
|
1558
|
+
return __generator(this, function (_a) {
|
|
1559
|
+
return [2 /*return*/, {
|
|
1560
|
+
tree: mapTreeBranch(inputs.list || {}, function (branch) {
|
|
1561
|
+
if (!branch || branch.length === 0)
|
|
1562
|
+
return DISCARD;
|
|
1563
|
+
var allLines = branch.flatMap(function (text) { return text.split("\n"); });
|
|
1564
|
+
if (allLines.every(function (line) { return isBoolStr(line); })) {
|
|
1565
|
+
allLines = allLines.map(function (line) { return line.toLowerCase() === "true"; });
|
|
1566
|
+
}
|
|
1567
|
+
else if (allLines.every(function (line) { return isNumStr(line); })) {
|
|
1568
|
+
allLines = allLines.map(function (line) { return Number(line); });
|
|
1569
|
+
}
|
|
1570
|
+
return allLines;
|
|
1571
|
+
}),
|
|
1572
|
+
}];
|
|
1573
|
+
});
|
|
1574
|
+
}); },
|
|
1575
|
+
};
|
|
1576
|
+
|
|
1522
1577
|
var _a$5;
|
|
1523
1578
|
var primitives$5 = (_a$5 = {},
|
|
1524
|
-
_a$5[
|
|
1525
|
-
_a$5[mergeGroup.name] = mergeGroup,
|
|
1579
|
+
_a$5[listInput.name] = listInput,
|
|
1526
1580
|
_a$5[listItem.name] = listItem,
|
|
1527
1581
|
_a$5[listLength.name] = listLength,
|
|
1528
1582
|
_a$5[filterList.name] = filterList,
|
|
1529
|
-
// [shiftList.name]: shiftList,
|
|
1530
1583
|
_a$5[relativeItem.name] = relativeItem,
|
|
1531
1584
|
_a$5[relativeItems.name] = relativeItems,
|
|
1532
|
-
_a$5[cartesianGroups.name] = cartesianGroups,
|
|
1533
1585
|
_a$5[concat.name] = concat,
|
|
1534
1586
|
_a$5);
|
|
1535
1587
|
|
|
1536
|
-
var
|
|
1537
|
-
name: "
|
|
1538
|
-
label: "
|
|
1539
|
-
description: "
|
|
1588
|
+
var splitGroup = {
|
|
1589
|
+
name: "splitGroup",
|
|
1590
|
+
label: "Split Group",
|
|
1591
|
+
description: "Splits every item of a group into its own group",
|
|
1540
1592
|
inputs: {
|
|
1541
|
-
|
|
1542
|
-
step: { type: "number", default: 1 },
|
|
1543
|
-
count: { type: "number", default: 10 },
|
|
1593
|
+
tree: "any",
|
|
1544
1594
|
},
|
|
1545
1595
|
outputs: {
|
|
1546
|
-
|
|
1596
|
+
tree: "any", // Return the grafted nodes
|
|
1547
1597
|
},
|
|
1548
1598
|
impl: function (inputs) { return __awaiter(void 0, void 0, void 0, function () {
|
|
1549
1599
|
return __generator(this, function (_a) {
|
|
1550
1600
|
return [2 /*return*/, {
|
|
1551
|
-
|
|
1552
|
-
graftTree(inputs.start),
|
|
1553
|
-
graftTree(inputs.step),
|
|
1554
|
-
graftTree(inputs.count),
|
|
1555
|
-
], function (_a) {
|
|
1556
|
-
var _b = __read(_a, 3), _c = _b[0], starts = _c === void 0 ? [] : _c, _d = _b[1], steps = _d === void 0 ? [] : _d, _e = _b[2], counts = _e === void 0 ? [] : _e;
|
|
1557
|
-
var start = starts[0];
|
|
1558
|
-
var step = steps[0];
|
|
1559
|
-
var count = counts[0];
|
|
1560
|
-
var series = [];
|
|
1561
|
-
for (var i = 0; i < count; i++) {
|
|
1562
|
-
series.push(start + i * step);
|
|
1563
|
-
}
|
|
1564
|
-
return series;
|
|
1565
|
-
}),
|
|
1601
|
+
tree: graftTree(inputs.tree || {}),
|
|
1566
1602
|
}];
|
|
1567
1603
|
});
|
|
1568
1604
|
}); },
|
|
1569
1605
|
};
|
|
1570
1606
|
|
|
1571
|
-
var
|
|
1572
|
-
|
|
1573
|
-
|
|
1574
|
-
|
|
1607
|
+
var mergeGroup = {
|
|
1608
|
+
name: "mergeGroup",
|
|
1609
|
+
label: "Merge Group",
|
|
1610
|
+
description: "Merge the deepest groups into their parent.",
|
|
1611
|
+
inputs: {
|
|
1612
|
+
tree: "any",
|
|
1613
|
+
},
|
|
1614
|
+
params: {
|
|
1615
|
+
depth: { type: "number", default: 1 }, // Optional depth to trim the tree
|
|
1616
|
+
},
|
|
1617
|
+
outputs: {
|
|
1618
|
+
tree: "any", // Return the trimed nodes
|
|
1619
|
+
},
|
|
1620
|
+
impl: function (inputs, params) { return __awaiter(void 0, void 0, void 0, function () {
|
|
1621
|
+
var depth;
|
|
1622
|
+
var _a;
|
|
1623
|
+
return __generator(this, function (_b) {
|
|
1624
|
+
depth = (_a = params.depth) !== null && _a !== void 0 ? _a : 1;
|
|
1625
|
+
return [2 /*return*/, {
|
|
1626
|
+
tree: trimTree(inputs.tree, depth),
|
|
1627
|
+
}];
|
|
1628
|
+
});
|
|
1629
|
+
}); },
|
|
1630
|
+
};
|
|
1631
|
+
|
|
1632
|
+
var cartesianGroups = {
|
|
1633
|
+
name: "cartesianGroups",
|
|
1634
|
+
label: "Cartesian Groups",
|
|
1635
|
+
description: "Duplicate groups such that all pairings are created.",
|
|
1636
|
+
inputs: {
|
|
1637
|
+
treeA: "any",
|
|
1638
|
+
treeB: "any",
|
|
1639
|
+
},
|
|
1640
|
+
params: {},
|
|
1641
|
+
outputs: {
|
|
1642
|
+
treeA: "any",
|
|
1643
|
+
treeB: "any",
|
|
1644
|
+
},
|
|
1645
|
+
impl: function (inputs, params) { return __awaiter(void 0, void 0, void 0, function () {
|
|
1646
|
+
var pathsA, pathsB, treeA, treeB;
|
|
1647
|
+
return __generator(this, function (_a) {
|
|
1648
|
+
if (!inputs.treeA || !inputs.treeB) {
|
|
1649
|
+
return [2 /*return*/, {}];
|
|
1650
|
+
}
|
|
1651
|
+
pathsA = getPaths(inputs.treeA);
|
|
1652
|
+
pathsB = getPaths(inputs.treeB);
|
|
1653
|
+
treeA = {};
|
|
1654
|
+
treeB = {};
|
|
1655
|
+
pathsB.forEach(function (pathB, ib) {
|
|
1656
|
+
pathsA.forEach(function (pathA, ia) {
|
|
1657
|
+
var pa = "".concat(ib, ";").concat(pathA);
|
|
1658
|
+
treeA[pa] = inputs.treeA[pathA];
|
|
1659
|
+
var pb = "".concat(pathB, ";").concat(ia);
|
|
1660
|
+
treeB[pb] = inputs.treeB[pathB];
|
|
1661
|
+
});
|
|
1662
|
+
});
|
|
1663
|
+
return [2 /*return*/, {
|
|
1664
|
+
treeA: treeA,
|
|
1665
|
+
treeB: treeB,
|
|
1666
|
+
}];
|
|
1667
|
+
});
|
|
1668
|
+
}); },
|
|
1669
|
+
};
|
|
1575
1670
|
|
|
1576
1671
|
var mergeTree = {
|
|
1577
1672
|
name: "mergeTree",
|
|
@@ -1604,7 +1699,7 @@ var mergeTree = {
|
|
|
1604
1699
|
|
|
1605
1700
|
var simplifyTree = {
|
|
1606
1701
|
name: "simplifyTree",
|
|
1607
|
-
label: "Simplify
|
|
1702
|
+
label: "Simplify Groups",
|
|
1608
1703
|
description: "Simplify a tree by removing redundant groups.",
|
|
1609
1704
|
inputs: {
|
|
1610
1705
|
tree: "any",
|
|
@@ -1624,10 +1719,78 @@ var simplifyTree = {
|
|
|
1624
1719
|
}); },
|
|
1625
1720
|
};
|
|
1626
1721
|
|
|
1722
|
+
var groupAll = {
|
|
1723
|
+
name: "groupAll",
|
|
1724
|
+
label: "Group All",
|
|
1725
|
+
description: "Adds a group around all groups in the input tree",
|
|
1726
|
+
inputs: {
|
|
1727
|
+
tree: "any",
|
|
1728
|
+
},
|
|
1729
|
+
outputs: {
|
|
1730
|
+
tree: "any",
|
|
1731
|
+
},
|
|
1732
|
+
impl: function (_a) { return __awaiter(void 0, [_a], void 0, function (_b) {
|
|
1733
|
+
var paths, newPaths, newTree;
|
|
1734
|
+
var _c = _b.tree, tree = _c === void 0 ? {} : _c;
|
|
1735
|
+
return __generator(this, function (_d) {
|
|
1736
|
+
paths = getPaths(tree);
|
|
1737
|
+
newPaths = paths.map(function (p) { return "0;".concat(p); });
|
|
1738
|
+
newTree = Object.fromEntries(newPaths.map(function (p, i) { return [p, tree[paths[i]]]; }));
|
|
1739
|
+
return [2 /*return*/, {
|
|
1740
|
+
tree: newTree,
|
|
1741
|
+
}];
|
|
1742
|
+
});
|
|
1743
|
+
}); },
|
|
1744
|
+
};
|
|
1745
|
+
|
|
1746
|
+
var _a$4;
|
|
1747
|
+
var primitives$4 = (_a$4 = {},
|
|
1748
|
+
_a$4[splitGroup.name] = splitGroup,
|
|
1749
|
+
_a$4[mergeGroup.name] = mergeGroup,
|
|
1750
|
+
_a$4[groupAll.name] = groupAll,
|
|
1751
|
+
_a$4[simplifyTree.name] = simplifyTree,
|
|
1752
|
+
_a$4[cartesianGroups.name] = cartesianGroups,
|
|
1753
|
+
_a$4[mergeTree.name] = mergeTree,
|
|
1754
|
+
_a$4);
|
|
1755
|
+
|
|
1756
|
+
var series = {
|
|
1757
|
+
name: "series",
|
|
1758
|
+
label: "Series",
|
|
1759
|
+
description: "Create a series of numbers.",
|
|
1760
|
+
inputs: {
|
|
1761
|
+
start: { type: "number", default: 0 },
|
|
1762
|
+
step: { type: "number", default: 1 },
|
|
1763
|
+
count: { type: "number", default: 10 },
|
|
1764
|
+
},
|
|
1765
|
+
outputs: {
|
|
1766
|
+
series: "number",
|
|
1767
|
+
},
|
|
1768
|
+
impl: function (inputs) { return __awaiter(void 0, void 0, void 0, function () {
|
|
1769
|
+
return __generator(this, function (_a) {
|
|
1770
|
+
return [2 /*return*/, {
|
|
1771
|
+
series: nAryOnTreeBranch([
|
|
1772
|
+
graftTree(inputs.start),
|
|
1773
|
+
graftTree(inputs.step),
|
|
1774
|
+
graftTree(inputs.count),
|
|
1775
|
+
], function (_a) {
|
|
1776
|
+
var _b = __read(_a, 3), _c = _b[0], starts = _c === void 0 ? [] : _c, _d = _b[1], steps = _d === void 0 ? [] : _d, _e = _b[2], counts = _e === void 0 ? [] : _e;
|
|
1777
|
+
var start = starts[0];
|
|
1778
|
+
var step = steps[0];
|
|
1779
|
+
var count = counts[0];
|
|
1780
|
+
var series = [];
|
|
1781
|
+
for (var i = 0; i < count; i++) {
|
|
1782
|
+
series.push(start + i * step);
|
|
1783
|
+
}
|
|
1784
|
+
return series;
|
|
1785
|
+
}),
|
|
1786
|
+
}];
|
|
1787
|
+
});
|
|
1788
|
+
}); },
|
|
1789
|
+
};
|
|
1790
|
+
|
|
1627
1791
|
var _a$3;
|
|
1628
1792
|
var primitives$3 = (_a$3 = {},
|
|
1629
|
-
_a$3[
|
|
1630
|
-
_a$3[simplifyTree.name] = simplifyTree,
|
|
1793
|
+
_a$3[series.name] = series,
|
|
1631
1794
|
_a$3);
|
|
1632
1795
|
|
|
1633
1796
|
var groupAnd = {
|
|
@@ -1712,8 +1875,8 @@ var primitives$1 = (_a$1 = {},
|
|
|
1712
1875
|
_a$1[output.name] = output,
|
|
1713
1876
|
_a$1);
|
|
1714
1877
|
|
|
1715
|
-
var Lib = { Util: primitives$
|
|
1716
|
-
var primitives = __assign(__assign(__assign(__assign(__assign(__assign(__assign({}, primitives$1), primitives$7), primitives$6), primitives$5), primitives$4), primitives$3), primitives$2);
|
|
1878
|
+
var Lib = { Util: primitives$8, Math: primitives$7, String: primitives$6, List: primitives$5, Group: primitives$4, Sequence: primitives$3, Logic: primitives$2, IO: primitives$1 };
|
|
1879
|
+
var primitives = __assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign({}, primitives$1), primitives$8), primitives$7), primitives$6), primitives$5), primitives$4), primitives$3), primitives$2);
|
|
1717
1880
|
|
|
1718
1881
|
function isPrimitive(node) {
|
|
1719
1882
|
return node.impl !== undefined;
|
|
@@ -4996,7 +5159,25 @@ var InputString = React.memo(function (_a) {
|
|
|
4996
5159
|
setInner(value);
|
|
4997
5160
|
}
|
|
4998
5161
|
}, [inner, value, onChange]);
|
|
4999
|
-
return (React.createElement("input", { type: "text", value: inner, onChange: function (e) { return setInner(e.target.value); }, onBlur: handleBlur, onKeyDown: handleKey }));
|
|
5162
|
+
return (React.createElement("input", { type: "text", value: inner, onChange: function (e) { return setInner(e.target.value); }, onBlur: handleBlur, onKeyDown: handleKey, onMouseDown: function (e) { return e.stopPropagation(); } }));
|
|
5163
|
+
});
|
|
5164
|
+
var InputText = React.memo(function (_a) {
|
|
5165
|
+
var value = _a.value, onChange = _a.onChange;
|
|
5166
|
+
var _b = __read(useInner(value), 2), inner = _b[0], setInner = _b[1];
|
|
5167
|
+
var handleBlur = React.useCallback(function () {
|
|
5168
|
+
if (inner !== value) {
|
|
5169
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(inner);
|
|
5170
|
+
}
|
|
5171
|
+
}, [inner, value, onChange]);
|
|
5172
|
+
var handleKey = React.useCallback(function (e) {
|
|
5173
|
+
if (e.key === "Enter" && inner !== value) {
|
|
5174
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(inner);
|
|
5175
|
+
}
|
|
5176
|
+
if (e.key === "Escape") {
|
|
5177
|
+
setInner(value);
|
|
5178
|
+
}
|
|
5179
|
+
}, [inner, value, onChange]);
|
|
5180
|
+
return (React.createElement("textarea", { value: inner, onChange: function (e) { return setInner(e.target.value); }, onBlur: handleBlur, onKeyDown: handleKey, onMouseDown: function (e) { return e.stopPropagation(); }, rows: 4 }));
|
|
5000
5181
|
});
|
|
5001
5182
|
function Control(_a) {
|
|
5002
5183
|
var value = _a.value, vardef = _a.vardef, onChange = _a.onChange;
|
|
@@ -5011,8 +5192,10 @@ function Control(_a) {
|
|
|
5011
5192
|
switch (vardef.type) {
|
|
5012
5193
|
case "string":
|
|
5013
5194
|
return React.createElement(InputString, { value: value !== null && value !== void 0 ? value : "", onChange: onChange });
|
|
5195
|
+
case "text":
|
|
5196
|
+
return React.createElement(InputText, { value: value !== null && value !== void 0 ? value : "", onChange: onChange });
|
|
5014
5197
|
case "number":
|
|
5015
|
-
return (React.createElement(InputNumber, { value: Number(value) || 0, onChange: onChange, step: vardef.step, min: vardef.min, max: vardef.max, inputMode: "numeric" }));
|
|
5198
|
+
return (React.createElement(InputNumber, { value: Number(value) || 0, onChange: onChange, step: vardef.step, min: vardef.min, max: vardef.max, inputMode: "numeric", onMouseDown: function (e) { return e.stopPropagation(); } }));
|
|
5016
5199
|
case "boolean":
|
|
5017
5200
|
return (React.createElement("input", { type: "checkbox", checked: Boolean(value), onChange: function (e) { return onChange === null || onChange === void 0 ? void 0 : onChange(e.target.checked); } }));
|
|
5018
5201
|
default:
|