@enspirit/elo 0.9.5 → 0.9.8

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.
Files changed (54) hide show
  1. package/README.md +9 -3
  2. package/dist/src/bindings/javascript.d.ts.map +1 -1
  3. package/dist/src/bindings/javascript.js +12 -2
  4. package/dist/src/bindings/javascript.js.map +1 -1
  5. package/dist/src/bindings/python.d.ts +20 -0
  6. package/dist/src/bindings/python.d.ts.map +1 -0
  7. package/dist/src/bindings/python.js +403 -0
  8. package/dist/src/bindings/python.js.map +1 -0
  9. package/dist/src/bindings/ruby.d.ts.map +1 -1
  10. package/dist/src/bindings/ruby.js +10 -0
  11. package/dist/src/bindings/ruby.js.map +1 -1
  12. package/dist/src/bindings/sql.d.ts.map +1 -1
  13. package/dist/src/bindings/sql.js +10 -0
  14. package/dist/src/bindings/sql.js.map +1 -1
  15. package/dist/src/compilers/javascript.js +3 -3
  16. package/dist/src/compilers/javascript.js.map +1 -1
  17. package/dist/src/compilers/python.d.ts +28 -0
  18. package/dist/src/compilers/python.d.ts.map +1 -0
  19. package/dist/src/compilers/python.js +297 -0
  20. package/dist/src/compilers/python.js.map +1 -0
  21. package/dist/src/compilers/ruby.js +3 -3
  22. package/dist/src/compilers/ruby.js.map +1 -1
  23. package/dist/src/compilers/sql.js +10 -5
  24. package/dist/src/compilers/sql.js.map +1 -1
  25. package/dist/src/eloc.js +12 -4
  26. package/dist/src/eloc.js.map +1 -1
  27. package/dist/src/index.d.ts +2 -0
  28. package/dist/src/index.d.ts.map +1 -1
  29. package/dist/src/index.js +3 -1
  30. package/dist/src/index.js.map +1 -1
  31. package/dist/src/parser.d.ts +11 -0
  32. package/dist/src/parser.d.ts.map +1 -1
  33. package/dist/src/parser.js +41 -1
  34. package/dist/src/parser.js.map +1 -1
  35. package/dist/src/preludes/index.d.ts +1 -1
  36. package/dist/src/preludes/index.d.ts.map +1 -1
  37. package/dist/src/preludes/index.js +13 -1
  38. package/dist/src/preludes/index.js.map +1 -1
  39. package/dist/src/runtime.d.ts +7 -0
  40. package/dist/src/runtime.d.ts.map +1 -1
  41. package/dist/src/runtime.js +403 -1
  42. package/dist/src/runtime.js.map +1 -1
  43. package/dist/src/typedefs.d.ts.map +1 -1
  44. package/dist/src/typedefs.js +11 -0
  45. package/dist/src/typedefs.js.map +1 -1
  46. package/package.json +1 -1
  47. package/dist/src/cli.d.ts +0 -3
  48. package/dist/src/cli.d.ts.map +0 -1
  49. package/dist/src/cli.js +0 -225
  50. package/dist/src/cli.js.map +0 -1
  51. package/dist/src/eval.d.ts +0 -3
  52. package/dist/src/eval.d.ts.map +0 -1
  53. package/dist/src/eval.js +0 -196
  54. package/dist/src/eval.js.map +0 -1
@@ -204,6 +204,16 @@ function createSQLBinding() {
204
204
  sqlLib.register('floor', [types_1.Types.float], (args, ctx) => `FLOOR(${ctx.emit(args[0])})`);
205
205
  sqlLib.register('ceil', [types_1.Types.int], (args, ctx) => ctx.emit(args[0]));
206
206
  sqlLib.register('ceil', [types_1.Types.float], (args, ctx) => `CEIL(${ctx.emit(args[0])})`);
207
+ // Duration unit conversion functions
208
+ // Approximate units use standard conversions: 1y=365.25d, 1m=30.4375d, 1q=91.3125d
209
+ sqlLib.register('inYears', [types_1.Types.duration], (args, ctx) => `(EXTRACT(EPOCH FROM ${ctx.emit(args[0])}) / 31557600.0)`);
210
+ sqlLib.register('inQuarters', [types_1.Types.duration], (args, ctx) => `(EXTRACT(EPOCH FROM ${ctx.emit(args[0])}) / 7889400.0)`);
211
+ sqlLib.register('inMonths', [types_1.Types.duration], (args, ctx) => `(EXTRACT(EPOCH FROM ${ctx.emit(args[0])}) / 2629800.0)`);
212
+ sqlLib.register('inWeeks', [types_1.Types.duration], (args, ctx) => `(EXTRACT(EPOCH FROM ${ctx.emit(args[0])}) / 604800.0)`);
213
+ sqlLib.register('inDays', [types_1.Types.duration], (args, ctx) => `(EXTRACT(EPOCH FROM ${ctx.emit(args[0])}) / 86400.0)`);
214
+ sqlLib.register('inHours', [types_1.Types.duration], (args, ctx) => `(EXTRACT(EPOCH FROM ${ctx.emit(args[0])}) / 3600.0)`);
215
+ sqlLib.register('inMinutes', [types_1.Types.duration], (args, ctx) => `(EXTRACT(EPOCH FROM ${ctx.emit(args[0])}) / 60.0)`);
216
+ sqlLib.register('inSeconds', [types_1.Types.duration], (args, ctx) => `EXTRACT(EPOCH FROM ${ctx.emit(args[0])})`);
207
217
  // Temporal extraction functions
208
218
  sqlLib.register('year', [types_1.Types.date], (args, ctx) => `EXTRACT(YEAR FROM ${ctx.emit(args[0])})`);
209
219
  sqlLib.register('year', [types_1.Types.datetime], (args, ctx) => `EXTRACT(YEAR FROM ${ctx.emit(args[0])})`);
@@ -1 +1 @@
1
- {"version":3,"file":"sql.js","sourceRoot":"","sources":["../../../src/bindings/sql.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sql.js","sourceRoot":"","sources":["../../../src/bindings/sql.ts"],"names":[],"mappings":"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"}
@@ -130,11 +130,11 @@ function emitJS(ir, requiredHelpers, options) {
130
130
  case 'string_literal':
131
131
  return JSON.stringify(ir.value);
132
132
  case 'date_literal':
133
- return `DateTime.fromISO('${ir.value}')`;
133
+ return `DateTime.fromISO(${JSON.stringify(ir.value)})`;
134
134
  case 'datetime_literal':
135
- return `DateTime.fromISO('${ir.value}')`;
135
+ return `DateTime.fromISO(${JSON.stringify(ir.value)})`;
136
136
  case 'duration_literal':
137
- return `Duration.fromISO('${ir.value}')`;
137
+ return `Duration.fromISO(${JSON.stringify(ir.value)})`;
138
138
  case 'object_literal': {
139
139
  const props = ir.properties.map(p => `${p.key}: ${ctx.emit(p.value)}`).join(', ');
140
140
  // Wrap in parens to avoid parsing ambiguity with blocks
@@ -1 +1 @@
1
- {"version":3,"file":"javascript.js","sourceRoot":"","sources":["../../../src/compilers/javascript.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"javascript.js","sourceRoot":"","sources":["../../../src/compilers/javascript.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import { Expr } from '../ast';
2
+ /**
3
+ * Python compilation options
4
+ */
5
+ export interface PythonCompileOptions {
6
+ /** If true, immediately execute the function with None as input */
7
+ execute?: boolean;
8
+ /** If true, strip guard/check assertions from output */
9
+ stripGuards?: boolean;
10
+ }
11
+ /**
12
+ * Result of Python compilation
13
+ */
14
+ export interface PythonCompileResult {
15
+ /** The generated Python code */
16
+ code: string;
17
+ /** Whether the code uses the input variable _ */
18
+ usesInput: boolean;
19
+ }
20
+ /**
21
+ * Compiles Elo expressions to Python code
22
+ */
23
+ export declare function compileToPython(expr: Expr, options?: PythonCompileOptions): string;
24
+ /**
25
+ * Compiles Elo expressions to Python with metadata about input usage.
26
+ */
27
+ export declare function compileToPythonWithMeta(expr: Expr, options?: PythonCompileOptions): PythonCompileResult;
28
+ //# sourceMappingURL=python.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"python.d.ts","sourceRoot":"","sources":["../../../src/compilers/python.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAO9B;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,mEAAmE;IACnE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,wDAAwD;IACxD,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,iDAAiD;IACjD,SAAS,EAAE,OAAO,CAAC;CACpB;AAoDD;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,MAAM,CAGlF;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,mBAAmB,CAqBvG"}
@@ -0,0 +1,297 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.compileToPython = compileToPython;
4
+ exports.compileToPythonWithMeta = compileToPythonWithMeta;
5
+ const ir_1 = require("../ir");
6
+ const transform_1 = require("../transform");
7
+ const python_1 = require("../bindings/python");
8
+ const runtime_1 = require("../runtime");
9
+ /**
10
+ * Python operator precedence (higher = binds tighter)
11
+ */
12
+ const PY_PRECEDENCE = {
13
+ 'or': 0,
14
+ 'and': 1,
15
+ '==': 2, '!=': 2,
16
+ '<': 3, '>': 3, '<=': 3, '>=': 3,
17
+ '+': 4, '-': 4,
18
+ '*': 5, '/': 5, '%': 5,
19
+ '**': 6,
20
+ };
21
+ /**
22
+ * Check if an IR expression needs parentheses when used as child of a binary op
23
+ */
24
+ function needsParens(child, parentOp, side) {
25
+ if (!(0, python_1.isNativeBinaryOp)(child))
26
+ return false;
27
+ const call = child;
28
+ const childOp = python_1.PYTHON_OP_MAP[call.fn];
29
+ if (!childOp)
30
+ return false;
31
+ const parentPrec = PY_PRECEDENCE[parentOp] || 0;
32
+ const childPrec = PY_PRECEDENCE[childOp] || 0;
33
+ if (childPrec < parentPrec)
34
+ return true;
35
+ if (childPrec === parentPrec && side === 'right' && (parentOp === '-' || parentOp === '/')) {
36
+ return true;
37
+ }
38
+ // Non-associative operators need parens when chained
39
+ const nonAssociative = ['==', '!=', '<', '>', '<=', '>='];
40
+ if (childPrec === parentPrec && nonAssociative.includes(parentOp) && nonAssociative.includes(childOp)) {
41
+ return true;
42
+ }
43
+ return false;
44
+ }
45
+ // Create the Python standard library binding
46
+ const pyLib = (0, python_1.createPythonBinding)();
47
+ /**
48
+ * Compiles Elo expressions to Python code
49
+ */
50
+ function compileToPython(expr, options) {
51
+ const result = compileToPythonWithMeta(expr, options);
52
+ return result.code;
53
+ }
54
+ /**
55
+ * Compiles Elo expressions to Python with metadata about input usage.
56
+ */
57
+ function compileToPythonWithMeta(expr, options) {
58
+ const ir = (0, transform_1.transform)(expr);
59
+ const actuallyUsesInput = (0, ir_1.usesInput)(ir);
60
+ const emitOptions = { stripGuards: options?.stripGuards || false };
61
+ const result = emitPyWithHelpers(ir, emitOptions);
62
+ // Resolve helper dependencies
63
+ const allHelpers = new Set(result.requiredHelpers);
64
+ for (const helper of result.requiredHelpers) {
65
+ const deps = runtime_1.PY_HELPER_DEPS[helper];
66
+ if (deps) {
67
+ for (const dep of deps) {
68
+ allHelpers.add(dep);
69
+ }
70
+ }
71
+ }
72
+ // Helpers are provided by the prelude (--prelude-only), not embedded per-expression.
73
+ // Wrap as lambda: (lambda _: CODE)(None)
74
+ const suffix = options?.execute ? '(None)' : '';
75
+ return { code: `(lambda _: ${result.code})${suffix}`, usesInput: actuallyUsesInput };
76
+ }
77
+ function emitPyWithHelpers(ir, options) {
78
+ const requiredHelpers = new Set();
79
+ const code = emitPy(ir, requiredHelpers, options);
80
+ return { code, requiredHelpers };
81
+ }
82
+ /**
83
+ * Emit Python code from IR
84
+ */
85
+ function emitPy(ir, requiredHelpers, options) {
86
+ const ctx = {
87
+ emit: (child) => emitPy(child, requiredHelpers, options),
88
+ emitWithParens: (child, parentOp, side) => {
89
+ const emitted = emitPy(child, requiredHelpers, options);
90
+ if (needsParens(child, parentOp, side)) {
91
+ return `(${emitted})`;
92
+ }
93
+ return emitted;
94
+ },
95
+ requireHelper: requiredHelpers ? (name) => requiredHelpers.add(name) : undefined,
96
+ };
97
+ switch (ir.type) {
98
+ case 'int_literal':
99
+ case 'float_literal':
100
+ return ir.value.toString();
101
+ case 'bool_literal':
102
+ return ir.value ? 'True' : 'False';
103
+ case 'null_literal':
104
+ return 'None';
105
+ case 'string_literal':
106
+ return JSON.stringify(ir.value);
107
+ case 'date_literal': {
108
+ // Parse date string to emit as _elo_dt(y, m, d)
109
+ const [y, m, d] = ir.value.split('-').map(Number);
110
+ return `_elo_dt(${y}, ${m}, ${d})`;
111
+ }
112
+ case 'datetime_literal': {
113
+ // Parse datetime string: "2024-01-15T10:30:00" or "2024-01-15T10:30:00Z"
114
+ const dtVal = ir.value.replace(/Z$/, '');
115
+ const [datePart, timePart] = dtVal.split('T');
116
+ const [dy, dm, dd] = datePart.split('-').map(Number);
117
+ if (timePart) {
118
+ const [th, tm, ts] = timePart.split(':').map(Number);
119
+ return `_elo_dt(${dy}, ${dm}, ${dd}, ${th}, ${tm}, ${ts || 0})`;
120
+ }
121
+ return `_elo_dt(${dy}, ${dm}, ${dd})`;
122
+ }
123
+ case 'duration_literal':
124
+ return `EloDuration.from_iso(${JSON.stringify(ir.value)})`;
125
+ case 'object_literal': {
126
+ const props = ir.properties.map(p => `${JSON.stringify(p.key)}: ${ctx.emit(p.value)}`).join(', ');
127
+ return `{${props}}`;
128
+ }
129
+ case 'array_literal': {
130
+ const elements = ir.elements.map(e => ctx.emit(e)).join(', ');
131
+ return `[${elements}]`;
132
+ }
133
+ case 'variable':
134
+ return ir.name;
135
+ case 'member_access': {
136
+ const object = ctx.emit(ir.object);
137
+ // Use .get() for safe access (returns None for missing keys)
138
+ return `${object}.get(${JSON.stringify(ir.property)})`;
139
+ }
140
+ case 'let': {
141
+ // Use walrus operator: (x := val, body)[-1]
142
+ // For multiple bindings, chain: (a := 1, b := 2, body)[-1]
143
+ const allBindings = [];
144
+ let current = ir;
145
+ while (current.type === 'let') {
146
+ for (const b of current.bindings) {
147
+ allBindings.push({ name: b.name, value: ctx.emit(b.value) });
148
+ }
149
+ current = current.body;
150
+ }
151
+ const body = ctx.emit(current);
152
+ const assignments = allBindings.map(b => `${b.name} := ${b.value}`);
153
+ return `(${[...assignments, body].join(', ')})[-1]`;
154
+ }
155
+ case 'call':
156
+ return pyLib.emit(ir.fn, ir.args, ir.argTypes, ctx);
157
+ case 'if': {
158
+ const cond = ctx.emit(ir.condition);
159
+ const thenBranch = ctx.emit(ir.then);
160
+ const elseBranch = ctx.emit(ir.else);
161
+ return `(${thenBranch}) if (${cond}) else (${elseBranch})`;
162
+ }
163
+ case 'lambda': {
164
+ const params = ir.params.map(p => p.name).join(', ');
165
+ const body = ctx.emit(ir.body);
166
+ return `lambda ${params}: ${body}`;
167
+ }
168
+ case 'apply': {
169
+ const fn = ctx.emit(ir.fn);
170
+ const args = ir.args.map(a => ctx.emit(a)).join(', ');
171
+ // Wrap lambda in parens
172
+ const needsParensWrap = ir.fn.type === 'lambda';
173
+ const fnExpr = needsParensWrap ? `(${fn})` : fn;
174
+ return `${fnExpr}(${args})`;
175
+ }
176
+ case 'alternative': {
177
+ // Null-coalescing: (lambda: v if (v := a) is not None else b)()
178
+ // For simplicity, use nested ternary
179
+ const alts = ir.alternatives;
180
+ if (alts.length === 1)
181
+ return ctx.emit(alts[0]);
182
+ // Build from right: last is default, each prior checks for None
183
+ let result = ctx.emit(alts[alts.length - 1]);
184
+ for (let i = alts.length - 2; i >= 0; i--) {
185
+ const alt = ctx.emit(alts[i]);
186
+ const tmpVar = `_alt${i}`;
187
+ result = `(${tmpVar}) if (${tmpVar} := ${alt}) is not None else (${result})`;
188
+ }
189
+ return result;
190
+ }
191
+ case 'datapath': {
192
+ const segments = ir.segments.map(s => typeof s === 'string' ? JSON.stringify(s) : s.toString());
193
+ return `[${segments.join(', ')}]`;
194
+ }
195
+ case 'typedef': {
196
+ // Generate parser function for the type and bind it
197
+ const parserCode = emitTypeExprParser(ir.typeExpr, ctx);
198
+ ctx.requireHelper?.('pUnwrap');
199
+ const body = ctx.emit(ir.body);
200
+ // Use walrus pattern: (_p_Name := parser, Name := lambda v: pUnwrap(_p_Name(v, '')), body)[-1]
201
+ return `(_p_${ir.name} := ${parserCode}, ${ir.name} := lambda v: pUnwrap(_p_${ir.name}(v, '')), ${body})[-1]`;
202
+ }
203
+ case 'guard': {
204
+ const body = ctx.emit(ir.body);
205
+ if (options?.stripGuards) {
206
+ return body;
207
+ }
208
+ // Generate guard checks using kAssert helper
209
+ ctx.requireHelper?.('kAssert');
210
+ const guardChecks = ir.constraints.map(c => {
211
+ const conditionCode = ctx.emit(c.condition);
212
+ const errorMsg = c.label
213
+ ? (c.label.includes(' ') ? c.label : `${ir.guardType} '${c.label}' failed`)
214
+ : `${ir.guardType} failed`;
215
+ return `kAssert(${conditionCode}, ${JSON.stringify(errorMsg)})`;
216
+ });
217
+ // Chain with tuple: (check1, check2, body)[-1]
218
+ return `(${[...guardChecks, body].join(', ')})[-1]`;
219
+ }
220
+ }
221
+ }
222
+ /**
223
+ * Emit a parser expression for a type expression in Python.
224
+ * Uses combinator helpers (pSchema, pArray, pUnion, pSubtype) so that
225
+ * each result is a single expression compatible with walrus-operator chains.
226
+ */
227
+ function emitTypeExprParser(typeExpr, ctx) {
228
+ switch (typeExpr.kind) {
229
+ case 'type_ref': {
230
+ const parserMap = {
231
+ 'Any': 'pAny',
232
+ 'Null': 'pNull',
233
+ 'String': 'pString',
234
+ 'Int': 'pInt',
235
+ 'Float': 'pFloat',
236
+ 'Bool': 'pBool',
237
+ 'Boolean': 'pBool',
238
+ 'Datetime': 'pDatetime',
239
+ };
240
+ const parserName = parserMap[typeExpr.name];
241
+ if (parserName) {
242
+ ctx.requireHelper?.(parserName);
243
+ return parserName;
244
+ }
245
+ // User-defined type reference
246
+ const firstChar = typeExpr.name.charAt(0);
247
+ if (firstChar === firstChar.toUpperCase() && firstChar !== firstChar.toLowerCase()) {
248
+ return `_p_${typeExpr.name}`;
249
+ }
250
+ throw new Error(`Unknown type in type definition: ${typeExpr.name}`);
251
+ }
252
+ case 'type_schema': {
253
+ ctx.requireHelper?.('pSchema');
254
+ const propEntries = typeExpr.properties.map(prop => {
255
+ const propParser = emitTypeExprParser(prop.typeExpr, ctx);
256
+ return `(${JSON.stringify(prop.key)}, ${propParser}, ${prop.optional ? 'True' : 'False'})`;
257
+ });
258
+ let extrasMode;
259
+ let extrasParser = 'None';
260
+ if (typeExpr.extras === undefined || typeExpr.extras === 'closed') {
261
+ extrasMode = '"closed"';
262
+ }
263
+ else if (typeExpr.extras === 'ignored') {
264
+ extrasMode = '"ignored"';
265
+ }
266
+ else {
267
+ extrasMode = '"typed"';
268
+ extrasParser = emitTypeExprParser(typeExpr.extras, ctx);
269
+ }
270
+ return `pSchema([${propEntries.join(', ')}], ${extrasMode}, ${extrasParser})`;
271
+ }
272
+ case 'subtype_constraint': {
273
+ ctx.requireHelper?.('pSubtype');
274
+ const baseParser = emitTypeExprParser(typeExpr.baseType, ctx);
275
+ const varName = typeExpr.variable;
276
+ const checks = typeExpr.constraints.map(c => {
277
+ const conditionCode = ctx.emit(c.condition);
278
+ const errorMsg = c.label
279
+ ? (c.label.includes(' ') ? c.label : `constraint '${c.label}' failed`)
280
+ : 'constraint failed';
281
+ return `(${JSON.stringify(errorMsg)}, lambda ${varName}: ${conditionCode})`;
282
+ });
283
+ return `pSubtype(${baseParser}, [${checks.join(', ')}])`;
284
+ }
285
+ case 'array_type': {
286
+ ctx.requireHelper?.('pArray');
287
+ const elemParser = emitTypeExprParser(typeExpr.elementType, ctx);
288
+ return `pArray(${elemParser})`;
289
+ }
290
+ case 'union_type': {
291
+ ctx.requireHelper?.('pUnion');
292
+ const parsers = typeExpr.types.map(t => emitTypeExprParser(t, ctx));
293
+ return `pUnion([${parsers.join(', ')}])`;
294
+ }
295
+ }
296
+ }
297
+ //# sourceMappingURL=python.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"python.js","sourceRoot":"","sources":["../../../src/compilers/python.ts"],"names":[],"mappings":"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"}
@@ -133,11 +133,11 @@ function emitRuby(ir, requiredHelpers, options) {
133
133
  return `"${escaped}"`;
134
134
  }
135
135
  case 'date_literal':
136
- return `Date.parse('${ir.value}')`;
136
+ return `Date.parse(${JSON.stringify(ir.value)})`;
137
137
  case 'datetime_literal':
138
- return `DateTime.parse('${ir.value}')`;
138
+ return `DateTime.parse(${JSON.stringify(ir.value)})`;
139
139
  case 'duration_literal':
140
- return `ActiveSupport::Duration.parse('${ir.value}')`;
140
+ return `ActiveSupport::Duration.parse(${JSON.stringify(ir.value)})`;
141
141
  case 'object_literal': {
142
142
  const props = ir.properties.map(p => `${p.key}: ${ctx.emit(p.value)}`).join(', ');
143
143
  return `{${props}}`;