@enspirit/elo 1.0.0 → 1.0.2
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/src/ast.d.ts +7 -1
- package/dist/src/ast.d.ts.map +1 -1
- package/dist/src/ast.js +9 -10
- package/dist/src/ast.js.map +1 -1
- package/dist/src/bindings/javascript.d.ts.map +1 -1
- package/dist/src/bindings/javascript.js +41 -24
- package/dist/src/bindings/javascript.js.map +1 -1
- package/dist/src/bindings/python.d.ts.map +1 -1
- package/dist/src/bindings/python.js +42 -35
- package/dist/src/bindings/python.js.map +1 -1
- package/dist/src/bindings/ruby.d.ts.map +1 -1
- package/dist/src/bindings/ruby.js +46 -26
- package/dist/src/bindings/ruby.js.map +1 -1
- package/dist/src/bindings/sql.d.ts.map +1 -1
- package/dist/src/bindings/sql.js +24 -3
- package/dist/src/bindings/sql.js.map +1 -1
- package/dist/src/compilers/_validate.d.ts +9 -0
- package/dist/src/compilers/_validate.d.ts.map +1 -0
- package/dist/src/compilers/_validate.js +39 -0
- package/dist/src/compilers/_validate.js.map +1 -0
- package/dist/src/compilers/javascript.d.ts.map +1 -1
- package/dist/src/compilers/javascript.js +22 -18
- package/dist/src/compilers/javascript.js.map +1 -1
- package/dist/src/compilers/python.d.ts.map +1 -1
- package/dist/src/compilers/python.js +17 -11
- package/dist/src/compilers/python.js.map +1 -1
- package/dist/src/compilers/ruby.d.ts.map +1 -1
- package/dist/src/compilers/ruby.js +41 -21
- package/dist/src/compilers/ruby.js.map +1 -1
- package/dist/src/compilers/sql.d.ts.map +1 -1
- package/dist/src/compilers/sql.js +25 -11
- package/dist/src/compilers/sql.js.map +1 -1
- package/dist/src/elo.js +19 -5
- package/dist/src/elo.js.map +1 -1
- package/dist/src/eloc.js +13 -2
- package/dist/src/eloc.js.map +1 -1
- package/dist/src/formats.d.ts +2 -2
- package/dist/src/formats.d.ts.map +1 -1
- package/dist/src/formats.js +11 -4
- package/dist/src/formats.js.map +1 -1
- package/dist/src/parser.d.ts +7 -0
- package/dist/src/parser.d.ts.map +1 -1
- package/dist/src/parser.js +40 -18
- package/dist/src/parser.js.map +1 -1
- package/dist/src/runtime.d.ts +13 -0
- package/dist/src/runtime.d.ts.map +1 -1
- package/dist/src/runtime.js +66 -1
- package/dist/src/runtime.js.map +1 -1
- package/dist/src/stdlib.d.ts +13 -0
- package/dist/src/stdlib.d.ts.map +1 -1
- package/dist/src/stdlib.js +37 -0
- package/dist/src/stdlib.js.map +1 -1
- package/dist/src/transform.d.ts.map +1 -1
- package/dist/src/transform.js +70 -10
- package/dist/src/transform.js.map +1 -1
- package/package.json +1 -1
package/dist/src/parser.js
CHANGED
|
@@ -411,6 +411,22 @@ class Parser {
|
|
|
411
411
|
throw new Error(`Maximum expression depth exceeded (${this.maxDepth})`);
|
|
412
412
|
}
|
|
413
413
|
}
|
|
414
|
+
/**
|
|
415
|
+
* Count one level of recursive descent against the depth guard. Wrap only the
|
|
416
|
+
* self-recursive call sites of a parse function with this, so that a single,
|
|
417
|
+
* non-recursive call costs nothing and the depth budget keeps its original
|
|
418
|
+
* meaning for ordinary expressions while deep recursion stays bounded.
|
|
419
|
+
*/
|
|
420
|
+
descend(parse) {
|
|
421
|
+
this.depth++;
|
|
422
|
+
this.checkDepth();
|
|
423
|
+
try {
|
|
424
|
+
return parse();
|
|
425
|
+
}
|
|
426
|
+
finally {
|
|
427
|
+
this.depth--;
|
|
428
|
+
}
|
|
429
|
+
}
|
|
414
430
|
saveState() {
|
|
415
431
|
return {
|
|
416
432
|
lexerState: this.lexer.saveState(),
|
|
@@ -438,7 +454,7 @@ class Parser {
|
|
|
438
454
|
const token = this.currentToken;
|
|
439
455
|
if (token.type === 'NUMBER') {
|
|
440
456
|
this.eat('NUMBER');
|
|
441
|
-
return (0, ast_1.literal)(parseFloat(token.value));
|
|
457
|
+
return (0, ast_1.literal)(parseFloat(token.value), token.value.includes('.'));
|
|
442
458
|
}
|
|
443
459
|
if (token.type === 'BOOLEAN') {
|
|
444
460
|
this.eat('BOOLEAN');
|
|
@@ -603,15 +619,15 @@ class Parser {
|
|
|
603
619
|
unary() {
|
|
604
620
|
if (this.currentToken.type === 'NOT') {
|
|
605
621
|
this.eat('NOT');
|
|
606
|
-
return (0, ast_1.unary)('!', this.unary());
|
|
622
|
+
return (0, ast_1.unary)('!', this.descend(() => this.unary()));
|
|
607
623
|
}
|
|
608
624
|
if (this.currentToken.type === 'PLUS') {
|
|
609
625
|
this.eat('PLUS');
|
|
610
|
-
return (0, ast_1.unary)('+', this.unary());
|
|
626
|
+
return (0, ast_1.unary)('+', this.descend(() => this.unary()));
|
|
611
627
|
}
|
|
612
628
|
if (this.currentToken.type === 'MINUS') {
|
|
613
629
|
this.eat('MINUS');
|
|
614
|
-
return (0, ast_1.unary)('-', this.unary());
|
|
630
|
+
return (0, ast_1.unary)('-', this.descend(() => this.unary()));
|
|
615
631
|
}
|
|
616
632
|
return this.postfix();
|
|
617
633
|
}
|
|
@@ -620,7 +636,7 @@ class Parser {
|
|
|
620
636
|
// Right-associative
|
|
621
637
|
if (this.currentToken.type === 'CARET') {
|
|
622
638
|
this.eat('CARET');
|
|
623
|
-
node = (0, ast_1.binary)('^', node, this.power());
|
|
639
|
+
node = (0, ast_1.binary)('^', node, this.descend(() => this.power()));
|
|
624
640
|
}
|
|
625
641
|
return node;
|
|
626
642
|
}
|
|
@@ -930,7 +946,7 @@ class Parser {
|
|
|
930
946
|
}
|
|
931
947
|
else if (nextTokenType === 'UPPER_IDENTIFIER') {
|
|
932
948
|
// Another type definition - recurse
|
|
933
|
-
const body = this.typeDefExpr();
|
|
949
|
+
const body = this.descend(() => this.typeDefExpr());
|
|
934
950
|
return (0, ast_1.typeDef)(typeName, typeExpr, body);
|
|
935
951
|
}
|
|
936
952
|
else {
|
|
@@ -977,17 +993,23 @@ class Parser {
|
|
|
977
993
|
* Handles union types: Int|String|Bool
|
|
978
994
|
*/
|
|
979
995
|
typeExpr() {
|
|
980
|
-
|
|
981
|
-
//
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
996
|
+
// Type expressions recurse through nested arrays ([[Int]]), object schemas
|
|
997
|
+
// and unions. Count each level against the same guard the value grammar
|
|
998
|
+
// uses, so deeply nested types raise "Maximum expression depth exceeded"
|
|
999
|
+
// rather than overflowing the host call stack.
|
|
1000
|
+
return this.descend(() => {
|
|
1001
|
+
const first = this.typeExprPrimary();
|
|
1002
|
+
// Check for union type: Type|Type|...
|
|
1003
|
+
if (this.currentToken.type === 'PIPE') {
|
|
1004
|
+
const types = [first];
|
|
1005
|
+
while (this.currentToken.type === 'PIPE') {
|
|
1006
|
+
this.eat('PIPE');
|
|
1007
|
+
types.push(this.typeExprPrimary());
|
|
1008
|
+
}
|
|
1009
|
+
return (0, ast_1.unionType)(types);
|
|
987
1010
|
}
|
|
988
|
-
return
|
|
989
|
-
}
|
|
990
|
-
return first;
|
|
1011
|
+
return first;
|
|
1012
|
+
});
|
|
991
1013
|
}
|
|
992
1014
|
/**
|
|
993
1015
|
* Parse a primary type expression (without union)
|
|
@@ -1259,12 +1281,12 @@ class Parser {
|
|
|
1259
1281
|
const tok = this.currentToken;
|
|
1260
1282
|
if (tok.type === 'GUARD' && guardType === 'guard') {
|
|
1261
1283
|
// guard...guard sugar (nested guards)
|
|
1262
|
-
const inner = this.guardExprParse('guard');
|
|
1284
|
+
const inner = this.descend(() => this.guardExprParse('guard'));
|
|
1263
1285
|
return (0, ast_1.guardExpr)(constraints, inner, guardType);
|
|
1264
1286
|
}
|
|
1265
1287
|
else if (tok.type === 'CHECK') {
|
|
1266
1288
|
// guard...check sugar: guard cond check cond in body
|
|
1267
|
-
const inner = this.guardExprParse('check');
|
|
1289
|
+
const inner = this.descend(() => this.guardExprParse('check'));
|
|
1268
1290
|
return (0, ast_1.guardExpr)(constraints, inner, guardType);
|
|
1269
1291
|
}
|
|
1270
1292
|
this.eat('IN');
|
package/dist/src/parser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/parser.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/parser.ts"],"names":[],"mappings":"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"}
|
package/dist/src/runtime.d.ts
CHANGED
|
@@ -9,6 +9,19 @@
|
|
|
9
9
|
* Each helper is a standalone function that can be included in the output.
|
|
10
10
|
* Used for dynamically-typed operations where types aren't known at compile time.
|
|
11
11
|
*/
|
|
12
|
+
/**
|
|
13
|
+
* Maximum length, in characters, of a string the compiled code is allowed to
|
|
14
|
+
* build with a single repeat (`'a' * n`) or pad operation. Repeating or padding
|
|
15
|
+
* without a bound lets a short expression allocate gigabytes and OOM the host,
|
|
16
|
+
* so the compiled runtime refuses to cross this ceiling.
|
|
17
|
+
*
|
|
18
|
+
* The default is safe; it is read once, at compile time, from the
|
|
19
|
+
* `ELO_MAX_STRING_LENGTH` environment variable so a deployment can raise or
|
|
20
|
+
* lower it. Raising it re-opens the denial-of-service window — see the security
|
|
21
|
+
* page.
|
|
22
|
+
*/
|
|
23
|
+
export declare const DEFAULT_MAX_STRING_LENGTH = 10000000;
|
|
24
|
+
export declare const MAX_STRING_LENGTH: number;
|
|
12
25
|
/**
|
|
13
26
|
* Dependencies between helpers. If helper A uses helper B, A depends on B.
|
|
14
27
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/runtime.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;GAIG;AACH;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/runtime.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;GAIG;AACH;;;;;;;;;;GAUG;AACH,eAAO,MAAM,yBAAyB,WAAa,CAAC;AACpD,eAAO,MAAM,iBAAiB,EAAE,MAG5B,CAAC;AAEL;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAiBnD,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAsP7C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAcrD,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAiH/C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CA0CnD,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA6X7C,CAAC"}
|
package/dist/src/runtime.js
CHANGED
|
@@ -6,16 +6,35 @@
|
|
|
6
6
|
* when needed, wrapped in an IIFE for encapsulation.
|
|
7
7
|
*/
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.PY_HELPERS = exports.PY_HELPER_DEPS = exports.RUBY_HELPERS = exports.RUBY_HELPER_DEPS = exports.JS_HELPERS = exports.JS_HELPER_DEPS = void 0;
|
|
9
|
+
exports.PY_HELPERS = exports.PY_HELPER_DEPS = exports.RUBY_HELPERS = exports.RUBY_HELPER_DEPS = exports.JS_HELPERS = exports.JS_HELPER_DEPS = exports.MAX_STRING_LENGTH = exports.DEFAULT_MAX_STRING_LENGTH = void 0;
|
|
10
10
|
/**
|
|
11
11
|
* Individual JavaScript helper function snippets.
|
|
12
12
|
* Each helper is a standalone function that can be included in the output.
|
|
13
13
|
* Used for dynamically-typed operations where types aren't known at compile time.
|
|
14
14
|
*/
|
|
15
|
+
/**
|
|
16
|
+
* Maximum length, in characters, of a string the compiled code is allowed to
|
|
17
|
+
* build with a single repeat (`'a' * n`) or pad operation. Repeating or padding
|
|
18
|
+
* without a bound lets a short expression allocate gigabytes and OOM the host,
|
|
19
|
+
* so the compiled runtime refuses to cross this ceiling.
|
|
20
|
+
*
|
|
21
|
+
* The default is safe; it is read once, at compile time, from the
|
|
22
|
+
* `ELO_MAX_STRING_LENGTH` environment variable so a deployment can raise or
|
|
23
|
+
* lower it. Raising it re-opens the denial-of-service window — see the security
|
|
24
|
+
* page.
|
|
25
|
+
*/
|
|
26
|
+
exports.DEFAULT_MAX_STRING_LENGTH = 10000000;
|
|
27
|
+
exports.MAX_STRING_LENGTH = (() => {
|
|
28
|
+
const v = Number(process.env.ELO_MAX_STRING_LENGTH);
|
|
29
|
+
return Number.isFinite(v) && v > 0 ? Math.floor(v) : exports.DEFAULT_MAX_STRING_LENGTH;
|
|
30
|
+
})();
|
|
15
31
|
/**
|
|
16
32
|
* Dependencies between helpers. If helper A uses helper B, A depends on B.
|
|
17
33
|
*/
|
|
18
34
|
exports.JS_HELPER_DEPS = {
|
|
35
|
+
kRepeat: [],
|
|
36
|
+
kPad: [],
|
|
37
|
+
kRound: [],
|
|
19
38
|
kNeq: ['kEq'],
|
|
20
39
|
kFetchObject: ['kFetch'],
|
|
21
40
|
// Parser helpers depend on pOk/pFail
|
|
@@ -31,6 +50,15 @@ exports.JS_HELPER_DEPS = {
|
|
|
31
50
|
pData: ['pOk', 'pFail'],
|
|
32
51
|
};
|
|
33
52
|
exports.JS_HELPERS = {
|
|
53
|
+
kRepeat: `function kRepeat(s, n) {
|
|
54
|
+
if (n <= 0) return "";
|
|
55
|
+
if (s.length * n > ${exports.MAX_STRING_LENGTH}) throw new Error("String length limit (${exports.MAX_STRING_LENGTH}) exceeded; raise ELO_MAX_STRING_LENGTH to allow larger strings");
|
|
56
|
+
return s.repeat(n);
|
|
57
|
+
}`,
|
|
58
|
+
kPad: `function kPad(s, n, p, atStart) {
|
|
59
|
+
if (n > ${exports.MAX_STRING_LENGTH}) throw new Error("String length limit (${exports.MAX_STRING_LENGTH}) exceeded; raise ELO_MAX_STRING_LENGTH to allow larger strings");
|
|
60
|
+
return atStart ? s.padStart(n, p) : s.padEnd(n, p);
|
|
61
|
+
}`,
|
|
34
62
|
kAdd: `function kAdd(l, r) {
|
|
35
63
|
if (DateTime.isDateTime(l) && Duration.isDuration(r)) return l.plus(r);
|
|
36
64
|
if (Duration.isDuration(l) && DateTime.isDateTime(r)) return r.plus(l);
|
|
@@ -44,6 +72,7 @@ exports.JS_HELPERS = {
|
|
|
44
72
|
return l - r;
|
|
45
73
|
}`,
|
|
46
74
|
kMul: `function kMul(l, r) {
|
|
75
|
+
if (Array.isArray(l) || Array.isArray(r)) throw new Error("Array multiplication is not supported");
|
|
47
76
|
if (Duration.isDuration(l)) return Duration.fromMillis(l.toMillis() * r);
|
|
48
77
|
if (Duration.isDuration(r)) return Duration.fromMillis(r.toMillis() * l);
|
|
49
78
|
return l * r;
|
|
@@ -52,6 +81,7 @@ exports.JS_HELPERS = {
|
|
|
52
81
|
if (Duration.isDuration(l) && typeof r === 'number') return Duration.fromMillis(l.toMillis() / r);
|
|
53
82
|
return l / r;
|
|
54
83
|
}`,
|
|
84
|
+
kRound: `function kRound(x) { return x < 0 ? -Math.round(-x) : Math.round(x); }`,
|
|
55
85
|
kMod: `function kMod(l, r) { return l % r; }`,
|
|
56
86
|
kPow: `function kPow(l, r) { return Math.pow(l, r); }`,
|
|
57
87
|
kEq: `function kEq(l, r) {
|
|
@@ -92,6 +122,7 @@ exports.JS_HELPERS = {
|
|
|
92
122
|
}`,
|
|
93
123
|
kIsNull: `function kIsNull(v) { return v === null || v === undefined; }`,
|
|
94
124
|
kFetch: `function kFetch(data, path) {
|
|
125
|
+
var FORBIDDEN = ['constructor', '__proto__', 'prototype', '__defineGetter__', '__defineSetter__', '__lookupGetter__', '__lookupSetter__'];
|
|
95
126
|
let current = data;
|
|
96
127
|
for (const segment of path) {
|
|
97
128
|
if (current === null || current === undefined) return null;
|
|
@@ -100,6 +131,8 @@ exports.JS_HELPERS = {
|
|
|
100
131
|
current = current[segment];
|
|
101
132
|
} else {
|
|
102
133
|
if (typeof current !== 'object' || current === null) return null;
|
|
134
|
+
/* A property read walks the prototype chain, so a meta-property name (reachable via a variable, array or concatenated key the compile-time denylist cannot see) would hand back Object.prototype or the Object constructor. These are never valid data keys. */
|
|
135
|
+
if (FORBIDDEN.indexOf(segment) !== -1) return null;
|
|
103
136
|
current = current[segment];
|
|
104
137
|
}
|
|
105
138
|
}
|
|
@@ -113,9 +146,12 @@ exports.JS_HELPERS = {
|
|
|
113
146
|
return result;
|
|
114
147
|
}`,
|
|
115
148
|
kPatch: `function kPatch(data, path, value) {
|
|
149
|
+
var FORBIDDEN = ['constructor', '__proto__', 'prototype', '__defineGetter__', '__defineSetter__', '__lookupGetter__', '__lookupSetter__'];
|
|
116
150
|
if (path.length === 0) return value;
|
|
117
151
|
const seg = path[0];
|
|
118
152
|
const rest = path.slice(1);
|
|
153
|
+
/* A meta-property name is never a valid data key; writing (or reading) one would reach the host prototype chain, so reject it however the segment was supplied. */
|
|
154
|
+
if (typeof seg === 'string' && FORBIDDEN.indexOf(seg) !== -1) throw new Error("patch() segment '" + seg + "' is forbidden: this name would expose the host runtime and is not a valid Elo property.");
|
|
119
155
|
const nextDefault = rest.length === 0 ? null : typeof rest[0] === 'number' ? [] : {};
|
|
120
156
|
if (typeof seg === 'number') {
|
|
121
157
|
if (data !== null && data !== undefined && !Array.isArray(data)) throw new Error('cannot patch array index on non-array');
|
|
@@ -264,6 +300,9 @@ exports.JS_HELPERS = {
|
|
|
264
300
|
* These are embedded in compiled Ruby output when type definitions are used.
|
|
265
301
|
*/
|
|
266
302
|
exports.RUBY_HELPER_DEPS = {
|
|
303
|
+
k_div: [],
|
|
304
|
+
k_str_mul: [],
|
|
305
|
+
k_pad: [],
|
|
267
306
|
p_any: ['p_ok'],
|
|
268
307
|
p_null: ['p_ok', 'p_fail'],
|
|
269
308
|
p_string: ['p_ok', 'p_fail'],
|
|
@@ -276,6 +315,19 @@ exports.RUBY_HELPER_DEPS = {
|
|
|
276
315
|
p_data: ['p_ok', 'p_fail'],
|
|
277
316
|
};
|
|
278
317
|
exports.RUBY_HELPERS = {
|
|
318
|
+
k_str_mul: `def k_str_mul(s, n)
|
|
319
|
+
return '' if n <= 0
|
|
320
|
+
raise "String length limit (${exports.MAX_STRING_LENGTH}) exceeded; raise ELO_MAX_STRING_LENGTH to allow larger strings" if s.length * n > ${exports.MAX_STRING_LENGTH}
|
|
321
|
+
s * n
|
|
322
|
+
end`,
|
|
323
|
+
k_pad: `def k_pad(s, n, p, at_start)
|
|
324
|
+
raise "String length limit (${exports.MAX_STRING_LENGTH}) exceeded; raise ELO_MAX_STRING_LENGTH to allow larger strings" if n > ${exports.MAX_STRING_LENGTH}
|
|
325
|
+
at_start ? s.rjust(n, p) : s.ljust(n, p)
|
|
326
|
+
end`,
|
|
327
|
+
k_div: `def k_div(l, r)
|
|
328
|
+
return l.fdiv(r) if l.is_a?(Integer) && r.is_a?(Integer)
|
|
329
|
+
l / r
|
|
330
|
+
end`,
|
|
279
331
|
k_deep_merge: `def k_deep_merge(a, b)
|
|
280
332
|
return b unless a.is_a?(Hash) && b.is_a?(Hash)
|
|
281
333
|
result = a.dup
|
|
@@ -382,6 +434,9 @@ end`,
|
|
|
382
434
|
* Special entries starting with _ are import statements, not functions.
|
|
383
435
|
*/
|
|
384
436
|
exports.PY_HELPER_DEPS = {
|
|
437
|
+
kStrMul: [],
|
|
438
|
+
kPad: [],
|
|
439
|
+
kRound: ['_import_math'],
|
|
385
440
|
kEq: [],
|
|
386
441
|
kNeq: ['kEq'],
|
|
387
442
|
kIntersection: ['_EloInterval'],
|
|
@@ -422,6 +477,13 @@ exports.PY_HELPER_DEPS = {
|
|
|
422
477
|
pSubtype: ['pOk', 'pFail'],
|
|
423
478
|
};
|
|
424
479
|
exports.PY_HELPERS = {
|
|
480
|
+
kStrMul: `def kStrMul(s, n):
|
|
481
|
+
if n <= 0: return ""
|
|
482
|
+
if len(s) * n > ${exports.MAX_STRING_LENGTH}: raise ValueError("String length limit (${exports.MAX_STRING_LENGTH}) exceeded; raise ELO_MAX_STRING_LENGTH to allow larger strings")
|
|
483
|
+
return s * n`,
|
|
484
|
+
kPad: `def kPad(s, n, p, at_start):
|
|
485
|
+
if n > ${exports.MAX_STRING_LENGTH}: raise ValueError("String length limit (${exports.MAX_STRING_LENGTH}) exceeded; raise ELO_MAX_STRING_LENGTH to allow larger strings")
|
|
486
|
+
return s.rjust(n, p) if at_start else s.ljust(n, p)`,
|
|
425
487
|
_import_math: `import math`,
|
|
426
488
|
_import_functools: `import functools`,
|
|
427
489
|
_import_datetime: `import datetime as _dt`,
|
|
@@ -651,9 +713,12 @@ def _elo_end_of_year(dt):
|
|
|
651
713
|
if isinstance(l, EloDuration) and isinstance(r, EloDuration): return l.minus(r)
|
|
652
714
|
return l - r`,
|
|
653
715
|
kMul: `def kMul(l, r):
|
|
716
|
+
if isinstance(l, list) or isinstance(r, list): raise ValueError("Array multiplication is not supported")
|
|
654
717
|
if isinstance(l, EloDuration): return l.scale(r)
|
|
655
718
|
if isinstance(r, EloDuration): return r.scale(l)
|
|
656
719
|
return l * r`,
|
|
720
|
+
kRound: `def kRound(x):
|
|
721
|
+
return math.floor(x + 0.5) if x >= 0 else math.ceil(x - 0.5)`,
|
|
657
722
|
kDiv: `def kDiv(l, r):
|
|
658
723
|
if isinstance(l, EloDuration) and isinstance(r, (int, float)): return l.divide(r)
|
|
659
724
|
return l / r`,
|
package/dist/src/runtime.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/runtime.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH;;;;GAIG;AACH;;GAEG;AACU,QAAA,cAAc,GAA6B;IACtD,IAAI,EAAE,CAAC,KAAK,CAAC;IACb,YAAY,EAAE,CAAC,QAAQ,CAAC;IACxB,qCAAqC;IACrC,IAAI,EAAE,CAAC,KAAK,CAAC;IACb,KAAK,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;IACvB,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;IACzB,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;IACtB,KAAK,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;IACvB,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;IAC3B,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,KAAK,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;IACvB,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;IAC3B,KAAK,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;CACxB,CAAC;AAEW,QAAA,UAAU,GAA2B;IAChD,IAAI,EAAE;;;;;EAKN;IACA,IAAI,EAAE;;;;;EAKN;IACA,IAAI,EAAE
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/runtime.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH;;;;GAIG;AACH;;;;;;;;;;GAUG;AACU,QAAA,yBAAyB,GAAG,QAAU,CAAC;AACvC,QAAA,iBAAiB,GAAW,CAAC,GAAG,EAAE;IAC7C,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;IACpD,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,iCAAyB,CAAC;AACjF,CAAC,CAAC,EAAE,CAAC;AAEL;;GAEG;AACU,QAAA,cAAc,GAA6B;IACtD,OAAO,EAAE,EAAE;IACX,IAAI,EAAE,EAAE;IACR,MAAM,EAAE,EAAE;IACV,IAAI,EAAE,CAAC,KAAK,CAAC;IACb,YAAY,EAAE,CAAC,QAAQ,CAAC;IACxB,qCAAqC;IACrC,IAAI,EAAE,CAAC,KAAK,CAAC;IACb,KAAK,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;IACvB,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;IACzB,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;IACtB,KAAK,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;IACvB,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;IAC3B,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,KAAK,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;IACvB,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;IAC3B,KAAK,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;CACxB,CAAC;AAEW,QAAA,UAAU,GAA2B;IAChD,OAAO,EAAE;;uBAEY,yBAAiB,2CAA2C,yBAAiB;;EAElG;IACA,IAAI,EAAE;YACI,yBAAiB,2CAA2C,yBAAiB;;EAEvF;IACA,IAAI,EAAE;;;;;EAKN;IACA,IAAI,EAAE;;;;;EAKN;IACA,IAAI,EAAE;;;;;EAKN;IACA,IAAI,EAAE;;;EAGN;IACA,MAAM,EAAE,wEAAwE;IAChF,IAAI,EAAE,uCAAuC;IAC7C,IAAI,EAAE,gDAAgD;IACtD,GAAG,EAAE;;;;;;;;;;;;;;;;EAgBL;IACA,IAAI,EAAE;;EAEN;IACA,IAAI,EAAE;;;EAGN;IACA,IAAI,EAAE,iCAAiC;IACvC,OAAO,EAAE;;;;;;;;;;EAUT;IACA,OAAO,EAAE,+DAA+D;IACxE,MAAM,EAAE;;;;;;;;;;;;;;;;EAgBR;IACA,YAAY,EAAE;;;;;;EAMd;IACA,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;EAsBR;IACA,MAAM,EAAE;;EAER;IACA,UAAU,EAAE;;;;;;;;EAQZ;IACA,iBAAiB;IACjB,IAAI,EAAE;;;;;EAKN;IACA,MAAM,EAAE;;;;;EAKR;IACA,KAAK,EAAE;;;;;EAKP;IACA,KAAK,EAAE;;;;;EAKP;IACA,SAAS,EAAE;;;;;EAKX;IACA,SAAS,EAAE;;;;;EAKX;IACA,KAAK,EAAE;;;;EAIP;IACA,OAAO,EAAE;;;;;;;;;;;;;EAaT;IACA,aAAa,EAAE;;;;EAIf;IAEA,mHAAmH;IACnH,GAAG,EAAE,6FAA6F;IAClG,KAAK,EAAE,gHAAgH;IACvH,IAAI,EAAE,2CAA2C;IACjD,KAAK,EAAE;;;EAGP;IACA,OAAO,EAAE;;;EAGT;IACA,IAAI,EAAE;;;;EAIN;IACA,KAAK,EAAE;;;;;EAKP;IACA,SAAS,EAAE;;;;EAIX;IACA,MAAM,EAAE;;;;EAIR;IACA,KAAK,EAAE;;;;EAIP;IACA,SAAS,EAAE;;;;EAIX;IACA,KAAK,EAAE;;;EAGP;IACA,OAAO,EAAE;;;;;EAKT;CACD,CAAC;AAEF;;;GAGG;AACU,QAAA,gBAAgB,GAA6B;IACxD,KAAK,EAAE,EAAE;IACT,SAAS,EAAE,EAAE;IACb,KAAK,EAAE,EAAE;IACT,KAAK,EAAE,CAAC,MAAM,CAAC;IACf,MAAM,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1B,QAAQ,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC5B,KAAK,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;IACzB,MAAM,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1B,UAAU,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC9B,OAAO,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC3B,MAAM,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1B,UAAU,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC9B,MAAM,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;CAC3B,CAAC;AAEW,QAAA,YAAY,GAA2B;IAClD,SAAS,EAAE;;gCAEmB,yBAAiB,sFAAsF,yBAAiB;;IAEpJ;IACF,KAAK,EAAE;gCACuB,yBAAiB,2EAA2E,yBAAiB;;IAEzI;IACF,KAAK,EAAE;;;IAGL;IACF,YAAY,EAAE;;;;;IAKZ;IACF,OAAO,EAAE;;;;;;;;;;;;;;;;;;;IAmBP;IACF,cAAc,EAAE;;;;IAId;IACF,IAAI,EAAE,iFAAiF;IACvF,MAAM,EAAE,+GAA+G;IACvH,KAAK,EAAE,gCAAgC;IACvC,MAAM,EAAE;;;IAGN;IACF,QAAQ,EAAE;;;IAGR;IACF,KAAK,EAAE;;;;IAIL;IACF,MAAM,EAAE;;;;;IAKN;IACF,UAAU,EAAE;;;;IAIV;IACF,OAAO,EAAE;;;;IAIP;IACF,MAAM,EAAE;;;;;IAKN;IACF,UAAU,EAAE;;;;IAIV;IACF,MAAM,EAAE;;;IAGN;IACF,QAAQ,EAAE;;;;;;;;;IASR;IACF,QAAQ,EAAE;;;;;;;;;;IAUR;CACH,CAAC;AAEF;;;;GAIG;AACU,QAAA,cAAc,GAA6B;IACtD,OAAO,EAAE,EAAE;IACX,IAAI,EAAE,EAAE;IACR,MAAM,EAAE,CAAC,cAAc,CAAC;IACxB,GAAG,EAAE,EAAE;IACP,IAAI,EAAE,CAAC,KAAK,CAAC;IACb,aAAa,EAAE,CAAC,cAAc,CAAC;IAC/B,MAAM,EAAE,EAAE;IACV,YAAY,EAAE,CAAC,QAAQ,CAAC;IACxB,UAAU,EAAE,EAAE;IACd,MAAM,EAAE,EAAE;IACV,OAAO,EAAE,EAAE;IACX,OAAO,EAAE,EAAE;IACX,KAAK,EAAE,EAAE;IACT,YAAY,EAAE,EAAE;IAChB,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,KAAK,EAAE,EAAE;IACT,OAAO,EAAE,CAAC,iBAAiB,CAAC;IAC5B,UAAU,EAAE,CAAC,iBAAiB,CAAC;IAC/B,cAAc,EAAE,CAAC,iBAAiB,CAAC;IACnC,eAAe,EAAE,CAAC,kBAAkB,EAAE,eAAe,CAAC;IACtD,YAAY,EAAE,CAAC,qBAAqB,CAAC;IACrC,aAAa,EAAE,CAAC,YAAY,CAAC;IAC7B,iBAAiB;IACjB,IAAI,EAAE,CAAC,KAAK,CAAC;IACb,KAAK,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;IACvB,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;IACzB,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;IACtB,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,KAAK,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;IACvB,KAAK,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,YAAY,CAAC;IACrC,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,gBAAgB,CAAC;IAC7C,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;IACzB,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,MAAM,EAAE,CAAC,OAAO,CAAC;IACjB,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEW,QAAA,UAAU,GAA2B;IAChD,OAAO,EAAE;;sBAEW,yBAAiB,4CAA4C,yBAAiB;iBACnF;IACf,IAAI,EAAE;aACK,yBAAiB,4CAA4C,yBAAiB;wDACnC;IACtD,YAAY,EAAE,aAAa;IAC3B,iBAAiB,EAAE,kBAAkB;IACrC,gBAAgB,EAAE,wBAAwB;IAC1C,UAAU,EAAE,WAAW;IACvB,mBAAmB,EAAE,oCAAoC;IACzD,YAAY,EAAE,2DAA2D;IACzE,aAAa,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gEA6C+C;IAC9D,eAAe,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2FAsCwE;IACzF,OAAO,EAAE;;gBAEK;IACd,KAAK,EAAE;yBACgB;IACvB,YAAY,EAAE;;;;;;oBAMI;IAClB,GAAG,EAAE;;;;;;;;;kBASW;IAChB,IAAI,EAAE;yBACiB;IACvB,aAAa,EAAE;;;8DAG6C;IAC5D,OAAO,EAAE;;;;;;;;;;;qBAWU;IACnB,MAAM,EAAE;;;;;;;;;;;mBAWS;IACjB,YAAY,EAAE;4DAC4C;IAC1D,MAAM,EAAE;;;;;;;;;;;;;;;;;mBAiBS;IACjB,UAAU,EAAE;;;;;kBAKI;IAChB,MAAM,EAAE;4CACkC;IAC1C,KAAK,EAAE;6CACoC;IAC3C,GAAG,EAAE;;oBAEa;IAClB,QAAQ,EAAE;;sCAE0B;IACpC,MAAM,EAAE;;wBAEc;IACtB,KAAK,EAAE;;;;;;aAMI;IACX,OAAO,EAAE;;;;;;;;;;;;kBAYO;IAChB,eAAe,EAAE;;;;;;;;;;;;;;;aAeN;IACX,IAAI,EAAE;;;;iBAIS;IACf,IAAI,EAAE;;;;iBAIS;IACf,IAAI,EAAE;;;;iBAIS;IACf,MAAM,EAAE;iEACuD;IAC/D,IAAI,EAAE;;iBAES;IACf,IAAI,EAAE;iBACS;IACf,IAAI,EAAE;kBACU;IAChB,IAAI,EAAE;;cAEM;IACZ,KAAK,EAAE;;;;;;0DAMiD;IACxD,UAAU,EAAE;;;;;qDAKuC;IACnD,cAAc,EAAE;;;;;;;;;;;yDAWuC;IACvD,gHAAgH;IAChH,GAAG,EAAE;gFACyE;IAC9E,KAAK,EAAE;8FACqF;IAC5F,OAAO,EAAE;;;;;;;4FAOiF;IAC1F,IAAI,EAAE;qBACa;IACnB,KAAK,EAAE;;8DAEqD;IAC5D,OAAO,EAAE;;2FAEgF;IACzF,IAAI,EAAE;;;;;;2HAMmH;IACzH,MAAM,EAAE;;;;;;6HAMmH;IAC3H,KAAK,EAAE;;;;4HAImH;IAC1H,KAAK,EAAE;;;;;yIAKgI;IACvI,SAAS,EAAE;;;;;sJAKyI;IACpJ,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;kBAsBO;IAChB,MAAM,EAAE;;;;;;;;;kBASQ;IAChB,MAAM,EAAE;;;;;;;;kBAQQ;IAChB,QAAQ,EAAE;;;;;;;;kBAQM;CACjB,CAAC"}
|
package/dist/src/stdlib.d.ts
CHANGED
|
@@ -75,6 +75,11 @@ export declare class StdLib<T> {
|
|
|
75
75
|
* Emit code for a function call
|
|
76
76
|
*/
|
|
77
77
|
emit(name: string, args: IRExpr[], argTypes: EloType[], ctx: EmitContext<T>): T;
|
|
78
|
+
/**
|
|
79
|
+
* Every registered signature of a function name, formatted for an error
|
|
80
|
+
* message, most specific first and without duplicates.
|
|
81
|
+
*/
|
|
82
|
+
signaturesOf(name: string): string[];
|
|
78
83
|
}
|
|
79
84
|
/**
|
|
80
85
|
* Helper to create a binary operator emitter
|
|
@@ -108,6 +113,14 @@ export declare function isBinaryOp(ir: IRExpr): boolean;
|
|
|
108
113
|
* Helper for Ruby-style postfix method call that wraps binary expressions in parens.
|
|
109
114
|
* Use for: arg0.method() where Ruby's precedence requires parens around binary ops.
|
|
110
115
|
*/
|
|
116
|
+
/**
|
|
117
|
+
* Helper for a conversion that is a no-op in the target language.
|
|
118
|
+
*
|
|
119
|
+
* Returning the operand untouched loses its grouping: the parent sees a call
|
|
120
|
+
* node, decides it needs no parentheses, and re-associates the bare operand.
|
|
121
|
+
* `Float(a - b) / c` would emit as `a - b / c`.
|
|
122
|
+
*/
|
|
123
|
+
export declare function identity(): FunctionEmitter<string>;
|
|
111
124
|
export declare function rubyMethod(method: string): FunctionEmitter<string>;
|
|
112
125
|
/**
|
|
113
126
|
* Helper for function call style: fn(arg0, arg1, ...)
|
package/dist/src/stdlib.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stdlib.d.ts","sourceRoot":"","sources":["../../src/stdlib.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,OAAO,EAA+B,MAAM,SAAS,CAAC;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAE9B;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,EAAE,CAAC;CACrB;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,CAGtE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,CAGzE;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,EAAE,CA2BpE;AAED;;GAEG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC;IAC5B,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,CAAC,CAAC;IACxB,cAAc,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,KAAK,CAAC,CAAC;IAC5E,8DAA8D;IAC9D,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC;AAED;;GAEG;AACH,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAE5E;;GAEG;AACH,qBAAa,MAAM,CAAC,CAAC;IACnB,OAAO,CAAC,eAAe,CAA8C;IACrE,OAAO,CAAC,QAAQ,CAAgG;IAEhH;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,IAAI;IAM9E;;OAEG;IACH,gBAAgB,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI;IAK9G;;;;;;;;;OASG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,eAAe,CAAC,CAAC,CAAC,GAAG,SAAS;IA6BzE;;OAEG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"stdlib.d.ts","sourceRoot":"","sources":["../../src/stdlib.ts"],"names":[],"mappings":"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"}
|