@enspirit/elo 1.0.1 → 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 +5 -0
- package/dist/src/compilers/_validate.d.ts.map +1 -1
- package/dist/src/compilers/_validate.js +11 -0
- package/dist/src/compilers/_validate.js.map +1 -1
- package/dist/src/compilers/javascript.js +8 -6
- package/dist/src/compilers/javascript.js.map +1 -1
- package/dist/src/compilers/python.js +8 -5
- package/dist/src/compilers/python.js.map +1 -1
- package/dist/src/compilers/ruby.js +8 -6
- package/dist/src/compilers/ruby.js.map +1 -1
- package/dist/src/compilers/sql.js +13 -6
- package/dist/src/compilers/sql.js.map +1 -1
- package/dist/src/elo.js +13 -2
- 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/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.js +40 -10
- package/dist/src/transform.js.map +1 -1
- package/package.json +1 -1
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":"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"}
|
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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"}
|
package/dist/src/stdlib.js
CHANGED
|
@@ -18,6 +18,7 @@ exports.methodCall = methodCall;
|
|
|
18
18
|
exports.nullary = nullary;
|
|
19
19
|
exports.unaryMethod = unaryMethod;
|
|
20
20
|
exports.isBinaryOp = isBinaryOp;
|
|
21
|
+
exports.identity = identity;
|
|
21
22
|
exports.rubyMethod = rubyMethod;
|
|
22
23
|
exports.fnCall = fnCall;
|
|
23
24
|
exports.helperCall = helperCall;
|
|
@@ -142,8 +143,31 @@ class StdLib {
|
|
|
142
143
|
if (this.fallback) {
|
|
143
144
|
return this.fallback(name, args, argTypes, ctx);
|
|
144
145
|
}
|
|
146
|
+
// A name that exists under other signatures is a different mistake from a
|
|
147
|
+
// name that does not exist at all, and the author fixes it differently.
|
|
148
|
+
const known = this.signaturesOf(name);
|
|
149
|
+
if (known.length > 0) {
|
|
150
|
+
throw new Error(`No signature of ${name} accepts ${formatSignature(name, argTypes)}. ` +
|
|
151
|
+
`Known: ${known.join(', ')}`);
|
|
152
|
+
}
|
|
145
153
|
throw new Error(`Unknown function ${formatSignature(name, argTypes)}`);
|
|
146
154
|
}
|
|
155
|
+
/**
|
|
156
|
+
* Every registered signature of a function name, formatted for an error
|
|
157
|
+
* message, most specific first and without duplicates.
|
|
158
|
+
*/
|
|
159
|
+
signaturesOf(name) {
|
|
160
|
+
const seen = new Set();
|
|
161
|
+
for (const key of this.implementations.keys()) {
|
|
162
|
+
const colonIdx = key.indexOf(':');
|
|
163
|
+
if ((colonIdx === -1 ? key : key.substring(0, colonIdx)) !== name)
|
|
164
|
+
continue;
|
|
165
|
+
const types = colonIdx === -1 ? '' : key.substring(colonIdx + 1).split(',')
|
|
166
|
+
.map(t => t.charAt(0).toUpperCase() + t.slice(1)).join(', ');
|
|
167
|
+
seen.add(`${name}(${types})`);
|
|
168
|
+
}
|
|
169
|
+
return [...seen];
|
|
170
|
+
}
|
|
147
171
|
}
|
|
148
172
|
exports.StdLib = StdLib;
|
|
149
173
|
/**
|
|
@@ -207,6 +231,19 @@ function isBinaryOp(ir) {
|
|
|
207
231
|
* Helper for Ruby-style postfix method call that wraps binary expressions in parens.
|
|
208
232
|
* Use for: arg0.method() where Ruby's precedence requires parens around binary ops.
|
|
209
233
|
*/
|
|
234
|
+
/**
|
|
235
|
+
* Helper for a conversion that is a no-op in the target language.
|
|
236
|
+
*
|
|
237
|
+
* Returning the operand untouched loses its grouping: the parent sees a call
|
|
238
|
+
* node, decides it needs no parentheses, and re-associates the bare operand.
|
|
239
|
+
* `Float(a - b) / c` would emit as `a - b / c`.
|
|
240
|
+
*/
|
|
241
|
+
function identity() {
|
|
242
|
+
return (args, ctx) => {
|
|
243
|
+
const emitted = ctx.emit(args[0]);
|
|
244
|
+
return isBinaryOp(args[0]) ? `(${emitted})` : emitted;
|
|
245
|
+
};
|
|
246
|
+
}
|
|
210
247
|
function rubyMethod(method) {
|
|
211
248
|
return (args, ctx) => {
|
|
212
249
|
const emitted = ctx.emit(args[0]);
|
package/dist/src/stdlib.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stdlib.js","sourceRoot":"","sources":["../../src/stdlib.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAiBH,oCAGC;AAMD,0CAGC;AAUD,kDA2BC;
|
|
1
|
+
{"version":3,"file":"stdlib.js","sourceRoot":"","sources":["../../src/stdlib.ts"],"names":[],"mappings":"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"}
|
package/dist/src/transform.js
CHANGED
|
@@ -44,7 +44,7 @@ function transformWithDepth(expr, env, defining, depth, maxDepth, allowUndefined
|
|
|
44
44
|
const recurse = (e, newEnv = env, newDefining = defining) => transformWithDepth(e, newEnv, newDefining, nextDepth, maxDepth, allowUndefinedVariables);
|
|
45
45
|
switch (expr.type) {
|
|
46
46
|
case 'literal':
|
|
47
|
-
return transformLiteral(expr.value);
|
|
47
|
+
return transformLiteral(expr.value, expr.isFloat);
|
|
48
48
|
case 'string':
|
|
49
49
|
return (0, ir_1.irString)(expr.value);
|
|
50
50
|
case 'null':
|
|
@@ -105,6 +105,19 @@ function transformWithDepth(expr, env, defining, depth, maxDepth, allowUndefined
|
|
|
105
105
|
const fnIR = recurse(expr.fn);
|
|
106
106
|
const argsIR = expr.args.map((arg) => recurse(arg));
|
|
107
107
|
const argTypes = argsIR.map(ir_1.inferType);
|
|
108
|
+
// Reject applying a plain variable that is not known to hold a function.
|
|
109
|
+
// A lambda parameter is typed `any`, so applying one to itself — the
|
|
110
|
+
// Y-combinator shape (x)(x) — would otherwise compile to an unbounded
|
|
111
|
+
// self-call and break Elo's termination guarantee. Immediately-invoked
|
|
112
|
+
// lambdas (callee is a lambda), functions stored in data (member_access,
|
|
113
|
+
// handled below) and let-bound functions (variable inferred as `fn`)
|
|
114
|
+
// remain allowed.
|
|
115
|
+
if (fnIR.type === 'variable' && (0, ir_1.inferType)(fnIR).kind !== 'fn') {
|
|
116
|
+
throw new Error(`'${fnIR.name}' cannot be called as a function: only lambdas, ` +
|
|
117
|
+
`let-bound functions and functions stored in data may be applied. ` +
|
|
118
|
+
`Applying an arbitrary value (such as a lambda parameter) is not ` +
|
|
119
|
+
`allowed because it could build non-terminating recursion.`);
|
|
120
|
+
}
|
|
108
121
|
// Reject method-call syntax on member access unless it's a function stored in data
|
|
109
122
|
// This prevents calling runtime methods like DateTime.diff() or String.toUpperCase()
|
|
110
123
|
if (fnIR.type === 'member_access') {
|
|
@@ -164,6 +177,13 @@ const BUILTIN_TYPE_SELECTORS = new Set([
|
|
|
164
177
|
* Transform an AST type expression to IR type expression
|
|
165
178
|
*/
|
|
166
179
|
function transformTypeExprWithContext(typeExpr, env, defining, depth, maxDepth, allowUndefinedVariables) {
|
|
180
|
+
// Type expressions recurse in parallel to value expressions (nested arrays,
|
|
181
|
+
// schemas, unions). Count each level against the same guard so deeply nested
|
|
182
|
+
// types raise a typed error rather than overflowing the host call stack.
|
|
183
|
+
if (depth > maxDepth) {
|
|
184
|
+
throw new Error(`Maximum transform depth exceeded (${maxDepth})`);
|
|
185
|
+
}
|
|
186
|
+
const nextDepth = depth + 1;
|
|
167
187
|
switch (typeExpr.kind) {
|
|
168
188
|
case 'type_ref': {
|
|
169
189
|
const name = typeExpr.name;
|
|
@@ -180,7 +200,7 @@ function transformTypeExprWithContext(typeExpr, env, defining, depth, maxDepth,
|
|
|
180
200
|
case 'type_schema': {
|
|
181
201
|
const props = typeExpr.properties.map(prop => ({
|
|
182
202
|
key: prop.key,
|
|
183
|
-
typeExpr: transformTypeExprWithContext(prop.typeExpr, env, defining,
|
|
203
|
+
typeExpr: transformTypeExprWithContext(prop.typeExpr, env, defining, nextDepth, maxDepth, allowUndefinedVariables),
|
|
184
204
|
optional: prop.optional,
|
|
185
205
|
}));
|
|
186
206
|
// Transform extras if it's a TypeExpr, otherwise pass through as-is
|
|
@@ -189,37 +209,38 @@ function transformTypeExprWithContext(typeExpr, env, defining, depth, maxDepth,
|
|
|
189
209
|
extras = typeExpr.extras;
|
|
190
210
|
}
|
|
191
211
|
else {
|
|
192
|
-
extras = transformTypeExprWithContext(typeExpr.extras, env, defining,
|
|
212
|
+
extras = transformTypeExprWithContext(typeExpr.extras, env, defining, nextDepth, maxDepth, allowUndefinedVariables);
|
|
193
213
|
}
|
|
194
214
|
return (0, ir_1.irTypeSchema)(props, extras);
|
|
195
215
|
}
|
|
196
216
|
case 'subtype_constraint': {
|
|
197
217
|
// Transform the base type
|
|
198
|
-
const baseTypeIR = transformTypeExprWithContext(typeExpr.baseType, env, defining,
|
|
218
|
+
const baseTypeIR = transformTypeExprWithContext(typeExpr.baseType, env, defining, nextDepth, maxDepth, allowUndefinedVariables);
|
|
199
219
|
// Transform each constraint with the variable in scope
|
|
200
220
|
const constraintEnv = new Map(env);
|
|
201
221
|
constraintEnv.set(typeExpr.variable, types_1.Types.any);
|
|
202
222
|
const constraintsIR = typeExpr.constraints.map(c => ({
|
|
203
223
|
label: c.label,
|
|
204
|
-
condition: transformWithDepth(c.condition, constraintEnv, defining,
|
|
224
|
+
condition: transformWithDepth(c.condition, constraintEnv, defining, nextDepth, maxDepth, allowUndefinedVariables)
|
|
205
225
|
}));
|
|
206
226
|
return (0, ir_1.irSubtypeConstraint)(baseTypeIR, typeExpr.variable, constraintsIR);
|
|
207
227
|
}
|
|
208
228
|
case 'array_type':
|
|
209
|
-
return (0, ir_1.irArrayType)(transformTypeExprWithContext(typeExpr.elementType, env, defining,
|
|
229
|
+
return (0, ir_1.irArrayType)(transformTypeExprWithContext(typeExpr.elementType, env, defining, nextDepth, maxDepth, allowUndefinedVariables));
|
|
210
230
|
case 'union_type':
|
|
211
|
-
return (0, ir_1.irUnionType)(typeExpr.types.map(t => transformTypeExprWithContext(t, env, defining,
|
|
231
|
+
return (0, ir_1.irUnionType)(typeExpr.types.map(t => transformTypeExprWithContext(t, env, defining, nextDepth, maxDepth, allowUndefinedVariables)));
|
|
212
232
|
}
|
|
213
233
|
}
|
|
214
234
|
/**
|
|
215
235
|
* Transform a literal value (number or boolean)
|
|
216
236
|
*/
|
|
217
|
-
function transformLiteral(value) {
|
|
237
|
+
function transformLiteral(value, isFloat = false) {
|
|
218
238
|
if (typeof value === 'boolean') {
|
|
219
239
|
return (0, ir_1.irBool)(value);
|
|
220
240
|
}
|
|
221
|
-
// Distinguish int from float
|
|
222
|
-
|
|
241
|
+
// Distinguish int from float. `Number.isInteger(1.0)` is true, so a literal
|
|
242
|
+
// written `1.0` only stays a float thanks to the marker set by the parser.
|
|
243
|
+
if (Number.isInteger(value) && !isFloat) {
|
|
223
244
|
return (0, ir_1.irInt)(value);
|
|
224
245
|
}
|
|
225
246
|
return (0, ir_1.irFloat)(value);
|
|
@@ -236,6 +257,15 @@ function transformBinaryOp(operator, left, right, env, defining, depth, maxDepth
|
|
|
236
257
|
if (!fn) {
|
|
237
258
|
throw new Error(`Unknown binary operator: ${operator}`);
|
|
238
259
|
}
|
|
260
|
+
// Multiplication is numeric (plus the documented String * Number repeat). An
|
|
261
|
+
// array operand is a type error: it is meaningless on SQL, coerces to NaN on
|
|
262
|
+
// JavaScript, and on Ruby/Python repeats the array — an unbounded allocation
|
|
263
|
+
// (`[1] * 1000000000` exhausts host memory). Reject it statically so the DoS
|
|
264
|
+
// cannot be written in Elo source.
|
|
265
|
+
if (fn === 'mul' && (leftType.kind === 'array' || rightType.kind === 'array')) {
|
|
266
|
+
throw new Error(`Array multiplication is not supported: '*' requires numeric operands ` +
|
|
267
|
+
`(or String * Number). Repeating an array is not a valid Elo operation.`);
|
|
268
|
+
}
|
|
239
269
|
const resultType = typedefs_1.eloTypeDefs.lookup(fn, [leftType, rightType]);
|
|
240
270
|
return (0, ir_1.irCall)(fn, [leftIR, rightIR], [leftType, rightType], resultType);
|
|
241
271
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transform.js","sourceRoot":"","sources":["../../src/transform.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"transform.js","sourceRoot":"","sources":["../../src/transform.ts"],"names":[],"mappings":"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"}
|