@rkmodules/rules 0.0.67 → 0.0.69
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 +272 -7
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +271 -7
- package/dist/index.esm.js.map +1 -1
- package/dist/lib/DataTree/index.d.ts +1 -0
- package/dist/lib/Primitives/List/cartesianGroups.d.ts +2 -0
- package/dist/lib/Primitives/Math/cos.d.ts +2 -0
- package/dist/lib/Primitives/Math/equalTo.d.ts +2 -0
- package/dist/lib/Primitives/Math/modulo.d.ts +2 -0
- package/dist/lib/Primitives/Math/pow.d.ts +2 -0
- package/dist/lib/Primitives/Math/sin.d.ts +2 -0
- package/dist/lib/Primitives/Math/sqrt.d.ts +2 -0
- package/dist/lib/Primitives/Math/tan.d.ts +2 -0
- package/dist/lib/Primitives/Tree/simplifyTree.d.ts +2 -0
- package/package.json +1 -1
package/dist/index.cjs.js
CHANGED
|
@@ -138,7 +138,7 @@ var DISCARD = Symbol("DISCARD");
|
|
|
138
138
|
* @param tree
|
|
139
139
|
* @returns
|
|
140
140
|
*/
|
|
141
|
-
function simplifyTree(tree) {
|
|
141
|
+
function simplifyTree$1(tree) {
|
|
142
142
|
var keys = Object.keys(tree);
|
|
143
143
|
if (keys.length <= 1)
|
|
144
144
|
return tree; // ✅ Don't simplify if only one path
|
|
@@ -254,6 +254,9 @@ function broadCast(value) {
|
|
|
254
254
|
function getBranch(tree, path) {
|
|
255
255
|
return tree[path];
|
|
256
256
|
}
|
|
257
|
+
function getPaths(tree) {
|
|
258
|
+
return Object.keys(tree);
|
|
259
|
+
}
|
|
257
260
|
/**
|
|
258
261
|
* maps a tree, the tree branches are flatmapped, so if an array is returned for each item in the list, a flat list is returned
|
|
259
262
|
* @param tree
|
|
@@ -653,6 +656,8 @@ var add$1 = {
|
|
|
653
656
|
return __generator(this, function (_a) {
|
|
654
657
|
return [2 /*return*/, {
|
|
655
658
|
sum: binaryOnTree(inputs.a, inputs.b, function (itemA, itemB) {
|
|
659
|
+
if (itemA === undefined || itemB === undefined)
|
|
660
|
+
return DISCARD;
|
|
656
661
|
return itemA + itemB;
|
|
657
662
|
}, true),
|
|
658
663
|
}];
|
|
@@ -819,6 +824,29 @@ function getUnboundSymbols(expr, scope, extraBound) {
|
|
|
819
824
|
return Array.from(free).sort();
|
|
820
825
|
}
|
|
821
826
|
|
|
827
|
+
var cosDeg = {
|
|
828
|
+
name: "cosDeg",
|
|
829
|
+
label: "Cosine",
|
|
830
|
+
description: "Cosine of angle in degrees",
|
|
831
|
+
inputs: {
|
|
832
|
+
a: { type: "number", default: 0 },
|
|
833
|
+
},
|
|
834
|
+
outputs: {
|
|
835
|
+
cos: "number",
|
|
836
|
+
},
|
|
837
|
+
impl: function (inputs) { return __awaiter(void 0, void 0, void 0, function () {
|
|
838
|
+
return __generator(this, function (_a) {
|
|
839
|
+
return [2 /*return*/, {
|
|
840
|
+
cos: mapTree(inputs.a, function (angle) {
|
|
841
|
+
if (angle === undefined)
|
|
842
|
+
return DISCARD;
|
|
843
|
+
return Math.cos((angle * Math.PI) / 180);
|
|
844
|
+
}),
|
|
845
|
+
}];
|
|
846
|
+
});
|
|
847
|
+
}); },
|
|
848
|
+
};
|
|
849
|
+
|
|
822
850
|
var divide = {
|
|
823
851
|
name: "divide",
|
|
824
852
|
label: "Divide",
|
|
@@ -834,6 +862,8 @@ var divide = {
|
|
|
834
862
|
return __generator(this, function (_a) {
|
|
835
863
|
return [2 /*return*/, {
|
|
836
864
|
quotient: binaryOnTree(inputs.a, inputs.b, function (itemA, itemB) {
|
|
865
|
+
if (itemA === undefined || itemB === undefined)
|
|
866
|
+
return DISCARD;
|
|
837
867
|
if (itemB === 0)
|
|
838
868
|
return DISCARD;
|
|
839
869
|
return itemA / itemB;
|
|
@@ -843,6 +873,36 @@ var divide = {
|
|
|
843
873
|
}); },
|
|
844
874
|
};
|
|
845
875
|
|
|
876
|
+
var equalTo = {
|
|
877
|
+
name: "equalTo",
|
|
878
|
+
label: "Equal to",
|
|
879
|
+
description: "Compare equal and not equal",
|
|
880
|
+
inputs: {
|
|
881
|
+
a: { type: "number", default: 0 },
|
|
882
|
+
b: { type: "number", default: 0 },
|
|
883
|
+
},
|
|
884
|
+
outputs: {
|
|
885
|
+
eq: "boolean",
|
|
886
|
+
neq: "boolean",
|
|
887
|
+
},
|
|
888
|
+
impl: function (inputs) { return __awaiter(void 0, void 0, void 0, function () {
|
|
889
|
+
return __generator(this, function (_a) {
|
|
890
|
+
return [2 /*return*/, {
|
|
891
|
+
eq: binaryOnTree(inputs.a, inputs.b, function (itemA, itemB) {
|
|
892
|
+
if (itemA === undefined || itemB === undefined)
|
|
893
|
+
return DISCARD;
|
|
894
|
+
return itemA === itemB;
|
|
895
|
+
}, true),
|
|
896
|
+
neq: binaryOnTree(inputs.a, inputs.b, function (itemA, itemB) {
|
|
897
|
+
if (itemA === undefined || itemB === undefined)
|
|
898
|
+
return DISCARD;
|
|
899
|
+
return itemA !== itemB;
|
|
900
|
+
}, true),
|
|
901
|
+
}];
|
|
902
|
+
});
|
|
903
|
+
}); },
|
|
904
|
+
};
|
|
905
|
+
|
|
846
906
|
var greaterThan = {
|
|
847
907
|
name: "greaterThan",
|
|
848
908
|
label: "Greater Than",
|
|
@@ -903,6 +963,30 @@ var lessThan = {
|
|
|
903
963
|
}); },
|
|
904
964
|
};
|
|
905
965
|
|
|
966
|
+
var modulo = {
|
|
967
|
+
name: "modulo",
|
|
968
|
+
label: "Modulo",
|
|
969
|
+
description: "Division remainder of two numbers",
|
|
970
|
+
inputs: {
|
|
971
|
+
a: { type: "number", default: 1 },
|
|
972
|
+
b: { type: "number", default: 1 },
|
|
973
|
+
},
|
|
974
|
+
outputs: {
|
|
975
|
+
mod: "number",
|
|
976
|
+
},
|
|
977
|
+
impl: function (inputs) { return __awaiter(void 0, void 0, void 0, function () {
|
|
978
|
+
return __generator(this, function (_a) {
|
|
979
|
+
return [2 /*return*/, {
|
|
980
|
+
mod: binaryOnTree(inputs.a, inputs.b, function (itemA, itemB) {
|
|
981
|
+
if (itemA === undefined || itemB === undefined)
|
|
982
|
+
return DISCARD;
|
|
983
|
+
return itemA % itemB;
|
|
984
|
+
}, true),
|
|
985
|
+
}];
|
|
986
|
+
});
|
|
987
|
+
}); },
|
|
988
|
+
};
|
|
989
|
+
|
|
906
990
|
var multiply = {
|
|
907
991
|
name: "multiply",
|
|
908
992
|
label: "Multiply",
|
|
@@ -918,6 +1002,8 @@ var multiply = {
|
|
|
918
1002
|
return __generator(this, function (_a) {
|
|
919
1003
|
return [2 /*return*/, {
|
|
920
1004
|
product: binaryOnTree(inputs.a, inputs.b, function (itemA, itemB) {
|
|
1005
|
+
if (itemA === undefined || itemB === undefined)
|
|
1006
|
+
return DISCARD;
|
|
921
1007
|
return itemA * itemB;
|
|
922
1008
|
}, true),
|
|
923
1009
|
}];
|
|
@@ -925,6 +1011,78 @@ var multiply = {
|
|
|
925
1011
|
}); },
|
|
926
1012
|
};
|
|
927
1013
|
|
|
1014
|
+
var pow = {
|
|
1015
|
+
name: "pow",
|
|
1016
|
+
label: "Power",
|
|
1017
|
+
description: "Power a number",
|
|
1018
|
+
inputs: {
|
|
1019
|
+
x: { type: "number", default: 0 },
|
|
1020
|
+
n: { type: "number", default: 2 },
|
|
1021
|
+
},
|
|
1022
|
+
outputs: {
|
|
1023
|
+
pow: "number",
|
|
1024
|
+
},
|
|
1025
|
+
impl: function (inputs) { return __awaiter(void 0, void 0, void 0, function () {
|
|
1026
|
+
return __generator(this, function (_a) {
|
|
1027
|
+
return [2 /*return*/, {
|
|
1028
|
+
pow: binaryOnTree(inputs.x, inputs.n, function (x, n) {
|
|
1029
|
+
if (x === undefined || n === undefined)
|
|
1030
|
+
return DISCARD;
|
|
1031
|
+
return Math.pow(x, n);
|
|
1032
|
+
}),
|
|
1033
|
+
}];
|
|
1034
|
+
});
|
|
1035
|
+
}); },
|
|
1036
|
+
};
|
|
1037
|
+
|
|
1038
|
+
var sinDeg = {
|
|
1039
|
+
name: "sinDeg",
|
|
1040
|
+
label: "Sine",
|
|
1041
|
+
description: "Sine of angle in degrees",
|
|
1042
|
+
inputs: {
|
|
1043
|
+
a: { type: "number", default: 0 },
|
|
1044
|
+
},
|
|
1045
|
+
outputs: {
|
|
1046
|
+
sin: "number",
|
|
1047
|
+
},
|
|
1048
|
+
impl: function (inputs) { return __awaiter(void 0, void 0, void 0, function () {
|
|
1049
|
+
return __generator(this, function (_a) {
|
|
1050
|
+
return [2 /*return*/, {
|
|
1051
|
+
sin: mapTree(inputs.a, function (angle) {
|
|
1052
|
+
if (angle === undefined)
|
|
1053
|
+
return DISCARD;
|
|
1054
|
+
return Math.sin((angle * Math.PI) / 180);
|
|
1055
|
+
}),
|
|
1056
|
+
}];
|
|
1057
|
+
});
|
|
1058
|
+
}); },
|
|
1059
|
+
};
|
|
1060
|
+
|
|
1061
|
+
var sqrt = {
|
|
1062
|
+
name: "sqrt",
|
|
1063
|
+
label: "Square root",
|
|
1064
|
+
description: "Square root of a number",
|
|
1065
|
+
inputs: {
|
|
1066
|
+
x: { type: "number", default: 0 },
|
|
1067
|
+
},
|
|
1068
|
+
outputs: {
|
|
1069
|
+
sqrt: "number",
|
|
1070
|
+
},
|
|
1071
|
+
impl: function (inputs) { return __awaiter(void 0, void 0, void 0, function () {
|
|
1072
|
+
return __generator(this, function (_a) {
|
|
1073
|
+
return [2 /*return*/, {
|
|
1074
|
+
sqrt: mapTree(inputs.x, function (x) {
|
|
1075
|
+
if (x === undefined)
|
|
1076
|
+
return DISCARD;
|
|
1077
|
+
if (x < 0)
|
|
1078
|
+
return DISCARD;
|
|
1079
|
+
return Math.sqrt(x);
|
|
1080
|
+
}),
|
|
1081
|
+
}];
|
|
1082
|
+
});
|
|
1083
|
+
}); },
|
|
1084
|
+
};
|
|
1085
|
+
|
|
928
1086
|
var subtract$1 = {
|
|
929
1087
|
name: "subtract",
|
|
930
1088
|
label: "Subtract",
|
|
@@ -940,6 +1098,8 @@ var subtract$1 = {
|
|
|
940
1098
|
return __generator(this, function (_a) {
|
|
941
1099
|
return [2 /*return*/, {
|
|
942
1100
|
difference: binaryOnTree(inputs.a, inputs.b, function (itemA, itemB) {
|
|
1101
|
+
if (itemA === undefined || itemB === undefined)
|
|
1102
|
+
return DISCARD;
|
|
943
1103
|
return itemA - itemB;
|
|
944
1104
|
}, true),
|
|
945
1105
|
}];
|
|
@@ -947,15 +1107,45 @@ var subtract$1 = {
|
|
|
947
1107
|
}); },
|
|
948
1108
|
};
|
|
949
1109
|
|
|
1110
|
+
var tanDeg = {
|
|
1111
|
+
name: "tanDeg",
|
|
1112
|
+
label: "Tangent",
|
|
1113
|
+
description: "Tangent of angle in degrees",
|
|
1114
|
+
inputs: {
|
|
1115
|
+
a: { type: "number", default: 0 },
|
|
1116
|
+
},
|
|
1117
|
+
outputs: {
|
|
1118
|
+
tan: "number",
|
|
1119
|
+
},
|
|
1120
|
+
impl: function (inputs) { return __awaiter(void 0, void 0, void 0, function () {
|
|
1121
|
+
return __generator(this, function (_a) {
|
|
1122
|
+
return [2 /*return*/, {
|
|
1123
|
+
tan: mapTree(inputs.a, function (angle) {
|
|
1124
|
+
if (angle === undefined)
|
|
1125
|
+
return DISCARD;
|
|
1126
|
+
return Math.tan((angle * Math.PI) / 180);
|
|
1127
|
+
}),
|
|
1128
|
+
}];
|
|
1129
|
+
});
|
|
1130
|
+
}); },
|
|
1131
|
+
};
|
|
1132
|
+
|
|
950
1133
|
var _a$5;
|
|
951
1134
|
var primitives$5 = (_a$5 = {},
|
|
952
1135
|
_a$5[calc.name] = calc,
|
|
1136
|
+
_a$5[equalTo.name] = equalTo,
|
|
953
1137
|
_a$5[lessThan.name] = lessThan,
|
|
954
1138
|
_a$5[greaterThan.name] = greaterThan,
|
|
955
1139
|
_a$5[add$1.name] = add$1,
|
|
956
1140
|
_a$5[subtract$1.name] = subtract$1,
|
|
957
1141
|
_a$5[multiply.name] = multiply,
|
|
958
1142
|
_a$5[divide.name] = divide,
|
|
1143
|
+
_a$5[modulo.name] = modulo,
|
|
1144
|
+
_a$5[sinDeg.name] = sinDeg,
|
|
1145
|
+
_a$5[cosDeg.name] = cosDeg,
|
|
1146
|
+
_a$5[tanDeg.name] = tanDeg,
|
|
1147
|
+
_a$5[sqrt.name] = sqrt,
|
|
1148
|
+
_a$5[pow.name] = pow,
|
|
959
1149
|
_a$5);
|
|
960
1150
|
|
|
961
1151
|
var filterList = {
|
|
@@ -966,24 +1156,35 @@ var filterList = {
|
|
|
966
1156
|
list: "any",
|
|
967
1157
|
keep: "boolean",
|
|
968
1158
|
},
|
|
1159
|
+
params: {
|
|
1160
|
+
removeEmpty: { type: "boolean", default: false },
|
|
1161
|
+
},
|
|
969
1162
|
outputs: {
|
|
970
1163
|
list: "any",
|
|
971
1164
|
others: "any",
|
|
972
1165
|
},
|
|
973
|
-
impl: function (inputs) { return __awaiter(void 0, void 0, void 0, function () {
|
|
1166
|
+
impl: function (inputs, params) { return __awaiter(void 0, void 0, void 0, function () {
|
|
974
1167
|
return __generator(this, function (_a) {
|
|
975
1168
|
return [2 /*return*/, {
|
|
976
1169
|
list: binaryOnTreeBranch(inputs.list || {}, inputs.keep || {}, function (branchA, branchB) {
|
|
977
|
-
|
|
1170
|
+
var result = branchA.filter(function (item, index) {
|
|
978
1171
|
return (branchB[Math.min(index, branchB.length - 1)] ===
|
|
979
1172
|
true);
|
|
980
1173
|
});
|
|
1174
|
+
if (!result.length && params.removeEmpty) {
|
|
1175
|
+
return DISCARD;
|
|
1176
|
+
}
|
|
1177
|
+
return result;
|
|
981
1178
|
}),
|
|
982
1179
|
others: binaryOnTreeBranch(inputs.list || {}, inputs.keep || {}, function (branchA, branchB) {
|
|
983
|
-
|
|
1180
|
+
var result = branchA.filter(function (item, index) {
|
|
984
1181
|
return (branchB[Math.min(index, branchB.length - 1)] ===
|
|
985
1182
|
false);
|
|
986
1183
|
});
|
|
1184
|
+
if (!result.length && params.removeEmpty) {
|
|
1185
|
+
return DISCARD;
|
|
1186
|
+
}
|
|
1187
|
+
return result;
|
|
987
1188
|
}),
|
|
988
1189
|
}];
|
|
989
1190
|
});
|
|
@@ -1123,6 +1324,45 @@ var shiftList = {
|
|
|
1123
1324
|
}); },
|
|
1124
1325
|
};
|
|
1125
1326
|
|
|
1327
|
+
var cartesianGroups = {
|
|
1328
|
+
name: "cartesianGroups",
|
|
1329
|
+
label: "Cartesian Groups",
|
|
1330
|
+
description: "Duplicate groups such that all pairings are created.",
|
|
1331
|
+
inputs: {
|
|
1332
|
+
treeA: "any",
|
|
1333
|
+
treeB: "any",
|
|
1334
|
+
},
|
|
1335
|
+
params: {},
|
|
1336
|
+
outputs: {
|
|
1337
|
+
treeA: "any",
|
|
1338
|
+
treeB: "any",
|
|
1339
|
+
},
|
|
1340
|
+
impl: function (inputs, params) { return __awaiter(void 0, void 0, void 0, function () {
|
|
1341
|
+
var pathsA, pathsB, treeA, treeB;
|
|
1342
|
+
return __generator(this, function (_a) {
|
|
1343
|
+
if (!inputs.treeA || !inputs.treeB) {
|
|
1344
|
+
return [2 /*return*/, {}];
|
|
1345
|
+
}
|
|
1346
|
+
pathsA = getPaths(inputs.treeA);
|
|
1347
|
+
pathsB = getPaths(inputs.treeB);
|
|
1348
|
+
treeA = {};
|
|
1349
|
+
treeB = {};
|
|
1350
|
+
pathsB.forEach(function (pathB, ib) {
|
|
1351
|
+
pathsA.forEach(function (pathA, ia) {
|
|
1352
|
+
var pa = "".concat(ib, ";").concat(pathA);
|
|
1353
|
+
treeA[pa] = inputs.treeA[pathA];
|
|
1354
|
+
var pb = "".concat(pathB, ";").concat(ia);
|
|
1355
|
+
treeB[pb] = inputs.treeB[pathB];
|
|
1356
|
+
});
|
|
1357
|
+
});
|
|
1358
|
+
return [2 /*return*/, {
|
|
1359
|
+
treeA: treeA,
|
|
1360
|
+
treeB: treeB,
|
|
1361
|
+
}];
|
|
1362
|
+
});
|
|
1363
|
+
}); },
|
|
1364
|
+
};
|
|
1365
|
+
|
|
1126
1366
|
var _a$4;
|
|
1127
1367
|
var primitives$4 = (_a$4 = {},
|
|
1128
1368
|
_a$4[splitGroup.name] = splitGroup,
|
|
@@ -1131,6 +1371,7 @@ var primitives$4 = (_a$4 = {},
|
|
|
1131
1371
|
_a$4[listLength.name] = listLength,
|
|
1132
1372
|
_a$4[filterList.name] = filterList,
|
|
1133
1373
|
_a$4[shiftList.name] = shiftList,
|
|
1374
|
+
_a$4[cartesianGroups.name] = cartesianGroups,
|
|
1134
1375
|
_a$4);
|
|
1135
1376
|
|
|
1136
1377
|
var series = {
|
|
@@ -1202,9 +1443,32 @@ var mergeTree = {
|
|
|
1202
1443
|
}); },
|
|
1203
1444
|
};
|
|
1204
1445
|
|
|
1446
|
+
var simplifyTree = {
|
|
1447
|
+
name: "simplifyTree",
|
|
1448
|
+
label: "Simplify Tree",
|
|
1449
|
+
description: "Simplify a tree by removing redundant groups.",
|
|
1450
|
+
inputs: {
|
|
1451
|
+
tree: "any",
|
|
1452
|
+
},
|
|
1453
|
+
outputs: {
|
|
1454
|
+
tree: "any",
|
|
1455
|
+
},
|
|
1456
|
+
impl: function (inputs) { return __awaiter(void 0, void 0, void 0, function () {
|
|
1457
|
+
return __generator(this, function (_a) {
|
|
1458
|
+
if (!inputs.tree) {
|
|
1459
|
+
return [2 /*return*/, {}];
|
|
1460
|
+
}
|
|
1461
|
+
return [2 /*return*/, {
|
|
1462
|
+
tree: simplifyTree$1(inputs.tree),
|
|
1463
|
+
}];
|
|
1464
|
+
});
|
|
1465
|
+
}); },
|
|
1466
|
+
};
|
|
1467
|
+
|
|
1205
1468
|
var _a$2;
|
|
1206
1469
|
var primitives$2 = (_a$2 = {},
|
|
1207
1470
|
_a$2[mergeTree.name] = mergeTree,
|
|
1471
|
+
_a$2[simplifyTree.name] = simplifyTree,
|
|
1208
1472
|
_a$2);
|
|
1209
1473
|
|
|
1210
1474
|
var groupAnd = {
|
|
@@ -1220,7 +1484,7 @@ var groupAnd = {
|
|
|
1220
1484
|
impl: function (inputs) { return __awaiter(void 0, void 0, void 0, function () {
|
|
1221
1485
|
return __generator(this, function (_a) {
|
|
1222
1486
|
return [2 /*return*/, {
|
|
1223
|
-
result: mapTreeBranch(inputs.tree, function (branch) {
|
|
1487
|
+
result: mapTreeBranch(inputs.tree || {}, function (branch) {
|
|
1224
1488
|
return [branch.reduce(function (acc, val) { return acc && val; }, true)];
|
|
1225
1489
|
}),
|
|
1226
1490
|
}];
|
|
@@ -1241,7 +1505,7 @@ var groupOr = {
|
|
|
1241
1505
|
impl: function (inputs) { return __awaiter(void 0, void 0, void 0, function () {
|
|
1242
1506
|
return __generator(this, function (_a) {
|
|
1243
1507
|
return [2 /*return*/, {
|
|
1244
|
-
result: mapTreeBranch(inputs.tree, function (branch) {
|
|
1508
|
+
result: mapTreeBranch(inputs.tree || {}, function (branch) {
|
|
1245
1509
|
return [branch.reduce(function (acc, val) { return acc || val; }, false)];
|
|
1246
1510
|
}),
|
|
1247
1511
|
}];
|
|
@@ -6165,6 +6429,7 @@ exports.binaryOnTreeBranch = binaryOnTreeBranch;
|
|
|
6165
6429
|
exports.broadCast = broadCast;
|
|
6166
6430
|
exports.expandTree = expandTree;
|
|
6167
6431
|
exports.getBranch = getBranch;
|
|
6432
|
+
exports.getPaths = getPaths;
|
|
6168
6433
|
exports.getReferences = getReferences;
|
|
6169
6434
|
exports.getValue = getValue$1;
|
|
6170
6435
|
exports.graftTree = graftTree;
|
|
@@ -6181,7 +6446,7 @@ exports.normalizeVarDef = normalizeVarDef;
|
|
|
6181
6446
|
exports.parseReference = parseReference;
|
|
6182
6447
|
exports.primitives = primitives;
|
|
6183
6448
|
exports.sameShape = sameShape;
|
|
6184
|
-
exports.simplifyTree = simplifyTree;
|
|
6449
|
+
exports.simplifyTree = simplifyTree$1;
|
|
6185
6450
|
exports.toArray = toArray;
|
|
6186
6451
|
exports.topSort = topSort;
|
|
6187
6452
|
exports.treeSize = treeSize;
|