@rkmodules/rules 0.0.76 → 0.0.78

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 CHANGED
@@ -564,11 +564,9 @@ var getValue = {
564
564
  var paths, tree;
565
565
  return __generator(this, function (_a) {
566
566
  paths = toArray(inputs.path || {});
567
- tree = mapTree(inputs.tree, function (value) {
567
+ tree = mapTree(inputs.tree || {}, function (value) {
568
568
  // get the property from the object
569
569
  var val = getValue$1(value, paths[0]);
570
- if (val === undefined)
571
- return DISCARD;
572
570
  return val;
573
571
  });
574
572
  return [2 /*return*/, { tree: tree }];
@@ -1231,11 +1229,24 @@ var listItem = {
1231
1229
  return __generator(this, function (_a) {
1232
1230
  item = binaryOnTreeBranch(inputs.list || {}, inputs.index || {}, function (branch, indices) {
1233
1231
  if (indices) {
1234
- return indices.map(function (i) { return branch[i]; });
1232
+ var n_1 = branch.length;
1233
+ return indices.map(function (i) {
1234
+ i = i % n_1;
1235
+ if (i < 0)
1236
+ i += n_1;
1237
+ return branch[i];
1238
+ });
1235
1239
  }
1236
1240
  return DISCARD;
1237
1241
  });
1238
1242
  others = binaryOnTreeBranch(inputs.list || {}, inputs.index || {}, function (branch, indices) {
1243
+ var n = branch.length;
1244
+ indices = indices.map(function (i) {
1245
+ i = i % n;
1246
+ if (i < 0)
1247
+ i += n;
1248
+ return i;
1249
+ });
1239
1250
  return branch.filter(function (_, i) { return !(indices === null || indices === void 0 ? void 0 : indices.includes(i)); });
1240
1251
  });
1241
1252
  return [2 /*return*/, {
@@ -1292,39 +1303,6 @@ var mergeGroup = {
1292
1303
  }); },
1293
1304
  };
1294
1305
 
1295
- var shiftList = {
1296
- name: "shiftList",
1297
- label: "Shift List",
1298
- description: "Shifts the list to the left, removing the first element and adding it at the end if wrap is enabled",
1299
- inputs: {
1300
- list: "any",
1301
- step: { type: "number", default: 1, step: 1 },
1302
- wrap: "boolean",
1303
- },
1304
- outputs: {
1305
- list: "any",
1306
- },
1307
- impl: function (inputs, params) { return __awaiter(void 0, void 0, void 0, function () {
1308
- return __generator(this, function (_a) {
1309
- return [2 /*return*/, {
1310
- list: nAryOnTreeBranch([inputs.list || {}, inputs.step || {}, inputs.wrap || {}], function (_a) {
1311
- var _b;
1312
- var _c = __read(_a, 3), _d = _c[0], list = _d === void 0 ? [] : _d, _e = _c[1], step = _e === void 0 ? [] : _e, _f = _c[2], wrap = _f === void 0 ? [] : _f;
1313
- var n = (_b = step[0]) !== null && _b !== void 0 ? _b : 1;
1314
- if (wrap[0]) {
1315
- n = n % (list.length || 1);
1316
- }
1317
- var shifted = list.slice(n);
1318
- if (wrap[0]) {
1319
- shifted.push.apply(shifted, __spreadArray([], __read(list.slice(0, n)), false));
1320
- }
1321
- return shifted;
1322
- }),
1323
- }];
1324
- });
1325
- }); },
1326
- };
1327
-
1328
1306
  var cartesianGroups = {
1329
1307
  name: "cartesianGroups",
1330
1308
  label: "Cartesian Groups",
@@ -1390,6 +1368,83 @@ var concat = {
1390
1368
  }); },
1391
1369
  };
1392
1370
 
1371
+ var relativeItem = {
1372
+ name: "relativeItem",
1373
+ label: "Relative Item",
1374
+ description: "Pairs each item in the tree with its next item",
1375
+ inputs: {
1376
+ tree: { type: "any" },
1377
+ offset: { type: "number", default: 1, step: 1 },
1378
+ },
1379
+ params: {
1380
+ wrap: { type: "boolean", default: true },
1381
+ },
1382
+ outputs: {
1383
+ itemA: "any",
1384
+ itemB: "any",
1385
+ },
1386
+ impl: function (inputs, params) { return __awaiter(void 0, void 0, void 0, function () {
1387
+ return __generator(this, function (_a) {
1388
+ return [2 /*return*/, {
1389
+ itemA: inputs.tree || {},
1390
+ itemB: binaryOnTreeBranch(inputs.tree || {}, inputs.offset || {}, function (branch, offsets) {
1391
+ var mapped = branch.map(function (_, i) {
1392
+ var _a, _b;
1393
+ var offset = (_a = offsets[0]) !== null && _a !== void 0 ? _a : 1;
1394
+ var index = i + offset;
1395
+ if (params.wrap) {
1396
+ index = index % branch.length;
1397
+ if (index < 0)
1398
+ index += branch.length;
1399
+ }
1400
+ return (_b = branch[index]) !== null && _b !== void 0 ? _b : DISCARD;
1401
+ });
1402
+ return mapped.filter(function (v) { return v !== DISCARD; });
1403
+ }),
1404
+ }];
1405
+ });
1406
+ }); },
1407
+ };
1408
+
1409
+ var relativeItems = {
1410
+ name: "relativeItems",
1411
+ label: "Relative Items",
1412
+ description: "Pairs each item in the tree with an item in another tree at a specified offset",
1413
+ inputs: {
1414
+ treeA: { type: "any" },
1415
+ treeB: { type: "any" },
1416
+ offset: { type: "number", default: 1, step: 1 },
1417
+ },
1418
+ params: {
1419
+ wrap: { type: "boolean", default: true },
1420
+ },
1421
+ outputs: {
1422
+ itemA: "any",
1423
+ itemB: "any",
1424
+ },
1425
+ impl: function (inputs, params) { return __awaiter(void 0, void 0, void 0, function () {
1426
+ return __generator(this, function (_a) {
1427
+ return [2 /*return*/, {
1428
+ itemA: inputs.treeA || {},
1429
+ itemB: binaryOnTreeBranch(inputs.treeB || {}, inputs.offset || {}, function (branch, offsets) {
1430
+ var mapped = branch.map(function (_, i) {
1431
+ var _a, _b;
1432
+ var offset = (_a = offsets[0]) !== null && _a !== void 0 ? _a : 1;
1433
+ var index = i + offset;
1434
+ if (params.wrap) {
1435
+ index = index % branch.length;
1436
+ if (index < 0)
1437
+ index += branch.length;
1438
+ }
1439
+ return (_b = branch[index]) !== null && _b !== void 0 ? _b : DISCARD;
1440
+ });
1441
+ return mapped.filter(function (v) { return v !== DISCARD; });
1442
+ }),
1443
+ }];
1444
+ });
1445
+ }); },
1446
+ };
1447
+
1393
1448
  var _a$5;
1394
1449
  var primitives$5 = (_a$5 = {},
1395
1450
  _a$5[splitGroup.name] = splitGroup,
@@ -1397,7 +1452,9 @@ var primitives$5 = (_a$5 = {},
1397
1452
  _a$5[listItem.name] = listItem,
1398
1453
  _a$5[listLength.name] = listLength,
1399
1454
  _a$5[filterList.name] = filterList,
1400
- _a$5[shiftList.name] = shiftList,
1455
+ // [shiftList.name]: shiftList,
1456
+ _a$5[relativeItem.name] = relativeItem,
1457
+ _a$5[relativeItems.name] = relativeItems,
1401
1458
  _a$5[cartesianGroups.name] = cartesianGroups,
1402
1459
  _a$5[concat.name] = concat,
1403
1460
  _a$5);
@@ -5269,7 +5326,26 @@ function uid() {
5269
5326
  return Math.random().toString(36).substring(2, 15);
5270
5327
  }
5271
5328
  var Merge = React.memo(function (_a) {
5329
+ var _b;
5330
+ var _c;
5272
5331
  var id = _a.id, data = _a.data, selected = _a.selected;
5332
+ var outputEntries = Object.entries(data.outputDefs || {});
5333
+ var focus = (_c = outputEntries[0]) === null || _c === void 0 ? void 0 : _c[0];
5334
+ var _d = __read(React.useState(false), 2), showPreview = _d[0], setShowPreview = _d[1];
5335
+ var engine = useEngine();
5336
+ var _e = __read(React.useState({}), 2), result = _e[0], setResult = _e[1];
5337
+ var _f = __read(React.useState(null), 2), duration = _f[0], setDuration = _f[1];
5338
+ var previewValue = focus ? result[focus] : Object.values(result)[0];
5339
+ React.useEffect(function () {
5340
+ return engine.subscribe("functionResult", function (event) {
5341
+ var _a;
5342
+ console.log("functionresult", event.name, event);
5343
+ if (event.name === id) {
5344
+ setResult(event.result || {});
5345
+ setDuration((_a = event.duration) !== null && _a !== void 0 ? _a : null);
5346
+ }
5347
+ });
5348
+ }, []);
5273
5349
  var inputs = Object.fromEntries(Object.keys(data.inputs || {}).map(function (name, i) { return [
5274
5350
  name,
5275
5351
  { type: "any", label: "D".concat(i + 1) },
@@ -5287,7 +5363,15 @@ var Merge = React.memo(function (_a) {
5287
5363
  Object.entries(inputs || {}).map(function (_a) {
5288
5364
  var _b = __read(_a, 2), name = _b[0], varDef = _b[1];
5289
5365
  return (React.createElement(Input, { key: name, name: name, varDef: varDef, id: id, data: data }));
5290
- }))));
5366
+ })),
5367
+ React.createElement("div", { className: classNames(styles.PreviewHead, (_b = {},
5368
+ _b[styles.expanded] = showPreview,
5369
+ _b)), onClick: function () { return setShowPreview(!showPreview); } }, "Preview"),
5370
+ showPreview && (React.createElement("div", { className: styles.Preview },
5371
+ React.createElement(TreeView, { value: previewValue }),
5372
+ duration !== null && (React.createElement("div", { className: styles.Duration },
5373
+ duration.toFixed(2),
5374
+ " ms"))))));
5291
5375
  });
5292
5376
  Merge.displayName = "MergeNode";
5293
5377