@rkmodules/rules 0.0.110 → 0.0.111
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 +70 -25
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +70 -25
- package/dist/index.esm.js.map +1 -1
- package/dist/lib/Engine/types.d.ts +1 -0
- package/dist/lib/Primitives/Math/isNumber.d.ts +1 -0
- package/dist/lib/Primitives/Util/getType.d.ts +2 -0
- package/package.json +1 -1
package/dist/index.cjs.js
CHANGED
|
@@ -504,6 +504,31 @@ function toArray(a) {
|
|
|
504
504
|
return Object.values(a).flat();
|
|
505
505
|
}
|
|
506
506
|
|
|
507
|
+
var getType = {
|
|
508
|
+
name: "getType",
|
|
509
|
+
label: "Get Type",
|
|
510
|
+
description: "Gets the type of a value as a string",
|
|
511
|
+
inputs: {
|
|
512
|
+
input: { type: "any" },
|
|
513
|
+
},
|
|
514
|
+
outputs: {
|
|
515
|
+
type: "string",
|
|
516
|
+
},
|
|
517
|
+
impl: function (inputs, params) { return __awaiter(void 0, void 0, void 0, function () {
|
|
518
|
+
return __generator(this, function (_a) {
|
|
519
|
+
return [2 /*return*/, {
|
|
520
|
+
type: mapTree(inputs.input, function (x) {
|
|
521
|
+
if (x === undefined)
|
|
522
|
+
return "empty";
|
|
523
|
+
if (x === null)
|
|
524
|
+
return "empty";
|
|
525
|
+
return typeof x;
|
|
526
|
+
}),
|
|
527
|
+
}];
|
|
528
|
+
});
|
|
529
|
+
}); },
|
|
530
|
+
};
|
|
531
|
+
|
|
507
532
|
// utilities
|
|
508
533
|
/**
|
|
509
534
|
* merges two trees by concatenating the branches with the same path
|
|
@@ -738,8 +763,17 @@ var primitives$8 = (_a$8 = {},
|
|
|
738
763
|
_a$8[getValue.name] = getValue,
|
|
739
764
|
_a$8[log.name] = log,
|
|
740
765
|
_a$8[value.name] = value,
|
|
766
|
+
_a$8[getType.name] = getType,
|
|
741
767
|
_a$8);
|
|
742
768
|
|
|
769
|
+
function isNumber() {
|
|
770
|
+
var ns = [];
|
|
771
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
772
|
+
ns[_i] = arguments[_i];
|
|
773
|
+
}
|
|
774
|
+
return ns.every(function (n) { return typeof n === "number" && !isNaN(n); });
|
|
775
|
+
}
|
|
776
|
+
|
|
743
777
|
var add$1 = {
|
|
744
778
|
name: "add",
|
|
745
779
|
label: "Add",
|
|
@@ -755,7 +789,7 @@ var add$1 = {
|
|
|
755
789
|
return __generator(this, function (_a) {
|
|
756
790
|
return [2 /*return*/, {
|
|
757
791
|
sum: binaryOnTree(inputs.a, inputs.b, function (itemA, itemB) {
|
|
758
|
-
if (itemA
|
|
792
|
+
if (!isNumber(itemA, itemB))
|
|
759
793
|
return DISCARD;
|
|
760
794
|
return itemA + itemB;
|
|
761
795
|
}, true),
|
|
@@ -937,7 +971,7 @@ var cosDeg = {
|
|
|
937
971
|
return __generator(this, function (_a) {
|
|
938
972
|
return [2 /*return*/, {
|
|
939
973
|
cos: mapTree(inputs.a, function (angle) {
|
|
940
|
-
if (angle
|
|
974
|
+
if (!isNumber(angle))
|
|
941
975
|
return DISCARD;
|
|
942
976
|
return Math.cos((angle * Math.PI) / 180);
|
|
943
977
|
}),
|
|
@@ -961,7 +995,7 @@ var divide = {
|
|
|
961
995
|
return __generator(this, function (_a) {
|
|
962
996
|
return [2 /*return*/, {
|
|
963
997
|
quotient: binaryOnTree(inputs.a, inputs.b, function (itemA, itemB) {
|
|
964
|
-
if (itemA
|
|
998
|
+
if (!isNumber(itemA, itemB))
|
|
965
999
|
return DISCARD;
|
|
966
1000
|
if (itemB === 0)
|
|
967
1001
|
return DISCARD;
|
|
@@ -988,12 +1022,12 @@ var equalTo = {
|
|
|
988
1022
|
return __generator(this, function (_a) {
|
|
989
1023
|
return [2 /*return*/, {
|
|
990
1024
|
eq: binaryOnTree(inputs.a, inputs.b, function (itemA, itemB) {
|
|
991
|
-
if (itemA
|
|
1025
|
+
if (!isNumber(itemA, itemB))
|
|
992
1026
|
return DISCARD;
|
|
993
1027
|
return itemA === itemB;
|
|
994
1028
|
}, true),
|
|
995
1029
|
neq: binaryOnTree(inputs.a, inputs.b, function (itemA, itemB) {
|
|
996
|
-
if (itemA
|
|
1030
|
+
if (!isNumber(itemA, itemB))
|
|
997
1031
|
return DISCARD;
|
|
998
1032
|
return itemA !== itemB;
|
|
999
1033
|
}, true),
|
|
@@ -1018,12 +1052,12 @@ var greaterThan = {
|
|
|
1018
1052
|
return __generator(this, function (_a) {
|
|
1019
1053
|
return [2 /*return*/, {
|
|
1020
1054
|
gt: binaryOnTree(inputs.a, inputs.b, function (itemA, itemB) {
|
|
1021
|
-
if (itemA
|
|
1055
|
+
if (!isNumber(itemA, itemB))
|
|
1022
1056
|
return DISCARD;
|
|
1023
1057
|
return itemA > itemB;
|
|
1024
1058
|
}, true),
|
|
1025
1059
|
gte: binaryOnTree(inputs.a, inputs.b, function (itemA, itemB) {
|
|
1026
|
-
if (itemA
|
|
1060
|
+
if (!isNumber(itemA, itemB))
|
|
1027
1061
|
return DISCARD;
|
|
1028
1062
|
return itemA >= itemB;
|
|
1029
1063
|
}, true),
|
|
@@ -1048,12 +1082,12 @@ var lessThan = {
|
|
|
1048
1082
|
return __generator(this, function (_a) {
|
|
1049
1083
|
return [2 /*return*/, {
|
|
1050
1084
|
lt: binaryOnTree(inputs.a, inputs.b, function (itemA, itemB) {
|
|
1051
|
-
if (itemA
|
|
1085
|
+
if (!isNumber(itemA, itemB))
|
|
1052
1086
|
return DISCARD;
|
|
1053
1087
|
return itemA < itemB;
|
|
1054
1088
|
}, true),
|
|
1055
1089
|
lte: binaryOnTree(inputs.a, inputs.b, function (itemA, itemB) {
|
|
1056
|
-
if (itemA
|
|
1090
|
+
if (!isNumber(itemA, itemB))
|
|
1057
1091
|
return DISCARD;
|
|
1058
1092
|
return itemA <= itemB;
|
|
1059
1093
|
}, true),
|
|
@@ -1077,7 +1111,7 @@ var modulo = {
|
|
|
1077
1111
|
return __generator(this, function (_a) {
|
|
1078
1112
|
return [2 /*return*/, {
|
|
1079
1113
|
mod: binaryOnTree(inputs.a, inputs.b, function (itemA, itemB) {
|
|
1080
|
-
if (itemA
|
|
1114
|
+
if (!isNumber(itemA, itemB))
|
|
1081
1115
|
return DISCARD;
|
|
1082
1116
|
return itemA % itemB;
|
|
1083
1117
|
}, true),
|
|
@@ -1101,7 +1135,7 @@ var multiply = {
|
|
|
1101
1135
|
return __generator(this, function (_a) {
|
|
1102
1136
|
return [2 /*return*/, {
|
|
1103
1137
|
product: binaryOnTree(inputs.a, inputs.b, function (itemA, itemB) {
|
|
1104
|
-
if (itemA
|
|
1138
|
+
if (!isNumber(itemA, itemB))
|
|
1105
1139
|
return DISCARD;
|
|
1106
1140
|
return itemA * itemB;
|
|
1107
1141
|
}, true),
|
|
@@ -1125,7 +1159,7 @@ var pow = {
|
|
|
1125
1159
|
return __generator(this, function (_a) {
|
|
1126
1160
|
return [2 /*return*/, {
|
|
1127
1161
|
pow: binaryOnTree(inputs.x, inputs.n, function (x, n) {
|
|
1128
|
-
if (x
|
|
1162
|
+
if (!isNumber(x, n))
|
|
1129
1163
|
return DISCARD;
|
|
1130
1164
|
return Math.pow(x, n);
|
|
1131
1165
|
}, true),
|
|
@@ -1148,7 +1182,7 @@ var sinDeg = {
|
|
|
1148
1182
|
return __generator(this, function (_a) {
|
|
1149
1183
|
return [2 /*return*/, {
|
|
1150
1184
|
sin: mapTree(inputs.a, function (angle) {
|
|
1151
|
-
if (angle
|
|
1185
|
+
if (!isNumber(angle))
|
|
1152
1186
|
return DISCARD;
|
|
1153
1187
|
return Math.sin((angle * Math.PI) / 180);
|
|
1154
1188
|
}),
|
|
@@ -1171,7 +1205,7 @@ var sqrt = {
|
|
|
1171
1205
|
return __generator(this, function (_a) {
|
|
1172
1206
|
return [2 /*return*/, {
|
|
1173
1207
|
sqrt: mapTree(inputs.x, function (x) {
|
|
1174
|
-
if (x
|
|
1208
|
+
if (!isNumber(x))
|
|
1175
1209
|
return DISCARD;
|
|
1176
1210
|
if (x < 0)
|
|
1177
1211
|
return DISCARD;
|
|
@@ -1197,7 +1231,7 @@ var subtract$1 = {
|
|
|
1197
1231
|
return __generator(this, function (_a) {
|
|
1198
1232
|
return [2 /*return*/, {
|
|
1199
1233
|
difference: binaryOnTree(inputs.a, inputs.b, function (itemA, itemB) {
|
|
1200
|
-
if (itemA
|
|
1234
|
+
if (!isNumber(itemA, itemB))
|
|
1201
1235
|
return DISCARD;
|
|
1202
1236
|
return itemA - itemB;
|
|
1203
1237
|
}, true),
|
|
@@ -1220,7 +1254,7 @@ var tanDeg = {
|
|
|
1220
1254
|
return __generator(this, function (_a) {
|
|
1221
1255
|
return [2 /*return*/, {
|
|
1222
1256
|
tan: mapTree(inputs.a, function (angle) {
|
|
1223
|
-
if (angle
|
|
1257
|
+
if (!isNumber(angle))
|
|
1224
1258
|
return DISCARD;
|
|
1225
1259
|
return Math.tan((angle * Math.PI) / 180);
|
|
1226
1260
|
}),
|
|
@@ -1248,7 +1282,7 @@ var ceil = {
|
|
|
1248
1282
|
f = Math.pow(10, params.decimals || 0);
|
|
1249
1283
|
return [2 /*return*/, {
|
|
1250
1284
|
ceil: mapTree(inputs.x, function (x) {
|
|
1251
|
-
if (x
|
|
1285
|
+
if (!isNumber(x))
|
|
1252
1286
|
return DISCARD;
|
|
1253
1287
|
return Math.ceil(f * x) / f;
|
|
1254
1288
|
}),
|
|
@@ -1276,7 +1310,7 @@ var floor = {
|
|
|
1276
1310
|
f = Math.pow(10, params.decimals || 0);
|
|
1277
1311
|
return [2 /*return*/, {
|
|
1278
1312
|
floor: mapTree(inputs.x, function (x) {
|
|
1279
|
-
if (x
|
|
1313
|
+
if (!isNumber(x))
|
|
1280
1314
|
return DISCARD;
|
|
1281
1315
|
return Math.floor(f * x) / f;
|
|
1282
1316
|
}),
|
|
@@ -1304,7 +1338,7 @@ var round = {
|
|
|
1304
1338
|
f = Math.pow(10, params.decimals || 0);
|
|
1305
1339
|
return [2 /*return*/, {
|
|
1306
1340
|
round: mapTree(inputs.x, function (x) {
|
|
1307
|
-
if (x
|
|
1341
|
+
if (!isNumber(x))
|
|
1308
1342
|
return DISCARD;
|
|
1309
1343
|
return Math.round(f * x) / f;
|
|
1310
1344
|
}),
|
|
@@ -1664,7 +1698,11 @@ var listInput = {
|
|
|
1664
1698
|
allLines = allLines.map(function (line) { return line.toLowerCase() === "true"; });
|
|
1665
1699
|
}
|
|
1666
1700
|
else if (allLines.every(function (line) { return isNumStr(line); })) {
|
|
1667
|
-
allLines = allLines.map(function (line) {
|
|
1701
|
+
allLines = allLines.map(function (line) {
|
|
1702
|
+
if (!line)
|
|
1703
|
+
return undefined;
|
|
1704
|
+
return Number(line);
|
|
1705
|
+
});
|
|
1668
1706
|
}
|
|
1669
1707
|
return allLines;
|
|
1670
1708
|
}),
|
|
@@ -1953,14 +1991,15 @@ var groupStats = {
|
|
|
1953
1991
|
var stats;
|
|
1954
1992
|
return __generator(this, function (_a) {
|
|
1955
1993
|
stats = mapTreeBranch(inputs.tree || {}, function (branch) {
|
|
1994
|
+
var numbers = branch.filter(function (val) { return typeof val === "number"; });
|
|
1956
1995
|
var min = Infinity;
|
|
1957
1996
|
var max = -Infinity;
|
|
1958
1997
|
var avg = 0;
|
|
1959
1998
|
var std = 0;
|
|
1960
1999
|
var variance = 0;
|
|
1961
2000
|
var sum = 0;
|
|
1962
|
-
var count =
|
|
1963
|
-
|
|
2001
|
+
var count = numbers.length;
|
|
2002
|
+
numbers.forEach(function (val) {
|
|
1964
2003
|
if (val < min)
|
|
1965
2004
|
min = val;
|
|
1966
2005
|
if (val > max)
|
|
@@ -1968,7 +2007,7 @@ var groupStats = {
|
|
|
1968
2007
|
sum += val;
|
|
1969
2008
|
avg += val / count;
|
|
1970
2009
|
});
|
|
1971
|
-
|
|
2010
|
+
numbers.forEach(function (val) {
|
|
1972
2011
|
variance += Math.pow((val - avg), 2) / count;
|
|
1973
2012
|
});
|
|
1974
2013
|
std = Math.sqrt(variance);
|
|
@@ -5345,6 +5384,7 @@ var InputText = React.memo(function (_a) {
|
|
|
5345
5384
|
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 }));
|
|
5346
5385
|
});
|
|
5347
5386
|
function Control(_a) {
|
|
5387
|
+
var _b;
|
|
5348
5388
|
var value = _a.value, vardef = _a.vardef, onChange = _a.onChange;
|
|
5349
5389
|
var customControls = useControls();
|
|
5350
5390
|
if (vardef.type in customControls) {
|
|
@@ -5359,8 +5399,13 @@ function Control(_a) {
|
|
|
5359
5399
|
return React.createElement(InputString, { value: value !== null && value !== void 0 ? value : "", onChange: onChange });
|
|
5360
5400
|
case "text":
|
|
5361
5401
|
return React.createElement(InputText, { value: value !== null && value !== void 0 ? value : "", onChange: onChange });
|
|
5362
|
-
case "number":
|
|
5363
|
-
|
|
5402
|
+
case "number": {
|
|
5403
|
+
if (!vardef.allowEmpty) {
|
|
5404
|
+
value = (_b = value !== null && value !== void 0 ? value : vardef.default) !== null && _b !== void 0 ? _b : 0;
|
|
5405
|
+
}
|
|
5406
|
+
value = value ? Number(value) : value;
|
|
5407
|
+
return (React.createElement(InputNumber, { value: value, onChange: onChange, step: vardef.step, min: vardef.min, max: vardef.max, inputMode: "numeric", onMouseDown: function (e) { return e.stopPropagation(); } }));
|
|
5408
|
+
}
|
|
5364
5409
|
case "boolean":
|
|
5365
5410
|
return (React.createElement("input", { type: "checkbox", checked: Boolean(value), onChange: function (e) { return onChange === null || onChange === void 0 ? void 0 : onChange(e.target.checked); } }));
|
|
5366
5411
|
default:
|