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