@elaraai/east 1.0.84 → 1.0.86
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/analyze.d.ts.map +1 -1
- package/dist/src/analyze.js +48 -0
- package/dist/src/analyze.js.map +1 -1
- package/dist/src/ast_to_ir.coerce_to.spec.js +4 -4
- package/dist/src/ast_to_ir.coerce_to.spec.js.map +1 -1
- package/dist/src/ast_to_ir.d.ts +6 -1
- package/dist/src/ast_to_ir.d.ts.map +1 -1
- package/dist/src/ast_to_ir.js +20 -7
- package/dist/src/ast_to_ir.js.map +1 -1
- package/dist/src/builtins.d.ts +1 -1
- package/dist/src/builtins.d.ts.map +1 -1
- package/dist/src/builtins.js +52 -0
- package/dist/src/builtins.js.map +1 -1
- package/dist/src/codegen/canonical.d.ts +37 -0
- package/dist/src/codegen/canonical.d.ts.map +1 -0
- package/dist/src/codegen/canonical.js +208 -0
- package/dist/src/codegen/canonical.js.map +1 -0
- package/dist/src/codegen/codegen.spec.js +132 -201
- package/dist/src/codegen/codegen.spec.js.map +1 -1
- package/dist/src/codegen/printer.d.ts.map +1 -1
- package/dist/src/codegen/printer.js +142 -24
- package/dist/src/codegen/printer.js.map +1 -1
- package/dist/src/codegen/spellings.d.ts +4 -1
- package/dist/src/codegen/spellings.d.ts.map +1 -1
- package/dist/src/codegen/spellings.js +5 -1
- package/dist/src/codegen/spellings.js.map +1 -1
- package/dist/src/compile/builtins/index.d.ts.map +1 -1
- package/dist/src/compile/builtins/index.js +2 -0
- package/dist/src/compile/builtins/index.js.map +1 -1
- package/dist/src/compile/builtins/primitives.d.ts.map +1 -1
- package/dist/src/compile/builtins/primitives.js +2 -1
- package/dist/src/compile/builtins/primitives.js.map +1 -1
- package/dist/src/compile/builtins/query.d.ts +10 -0
- package/dist/src/compile/builtins/query.d.ts.map +1 -0
- package/dist/src/compile/builtins/query.js +5 -0
- package/dist/src/compile/builtins/query.js.map +1 -0
- package/dist/src/expr/block.d.ts.map +1 -1
- package/dist/src/expr/block.js +2 -1
- package/dist/src/expr/block.js.map +1 -1
- package/dist/src/expr/index.d.ts +75 -47
- package/dist/src/expr/index.d.ts.map +1 -1
- package/dist/src/expr/index.js +31 -0
- package/dist/src/expr/index.js.map +1 -1
- package/dist/src/expr/libs/datetime.d.ts +20 -20
- package/dist/src/expr/libs/datetime.d.ts.map +1 -1
- package/dist/src/expr/libs/datetime.js +208 -167
- package/dist/src/expr/libs/datetime.js.map +1 -1
- package/dist/src/expr/libs/float.d.ts +15 -15
- package/dist/src/expr/libs/float.d.ts.map +1 -1
- package/dist/src/expr/libs/float.js +298 -267
- package/dist/src/expr/libs/float.js.map +1 -1
- package/dist/src/expr/libs/integer.d.ts +12 -12
- package/dist/src/expr/libs/integer.d.ts.map +1 -1
- package/dist/src/expr/libs/integer.js +219 -194
- package/dist/src/expr/libs/integer.js.map +1 -1
- package/dist/src/expr/libs/lazy.d.ts +28 -0
- package/dist/src/expr/libs/lazy.d.ts.map +1 -0
- package/dist/src/expr/libs/lazy.js +55 -0
- package/dist/src/expr/libs/lazy.js.map +1 -0
- package/dist/src/expr/libs/lazy.spec.d.ts +6 -0
- package/dist/src/expr/libs/lazy.spec.d.ts.map +1 -0
- package/dist/src/expr/libs/lazy.spec.js +102 -0
- package/dist/src/expr/libs/lazy.spec.js.map +1 -0
- package/dist/src/expr/query.d.ts +60 -0
- package/dist/src/expr/query.d.ts.map +1 -0
- package/dist/src/expr/query.js +84 -0
- package/dist/src/expr/query.js.map +1 -0
- package/dist/src/functions.crossimport.spec.js +8 -0
- package/dist/src/functions.crossimport.spec.js.map +1 -1
- package/dist/src/functions.d.ts +45 -8
- package/dist/src/functions.d.ts.map +1 -1
- package/dist/src/functions.js +138 -28
- package/dist/src/functions.js.map +1 -1
- package/dist/src/functions.spec.js +60 -2
- package/dist/src/functions.spec.js.map +1 -1
- package/dist/src/index.d.ts +3 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +3 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/internal.d.ts +4 -0
- package/dist/src/internal.d.ts.map +1 -1
- package/dist/src/internal.js +9 -0
- package/dist/src/internal.js.map +1 -1
- package/dist/src/location.d.ts +22 -0
- package/dist/src/location.d.ts.map +1 -1
- package/dist/src/location.js +31 -0
- package/dist/src/location.js.map +1 -1
- package/dist/src/naming.d.ts +5 -3
- package/dist/src/naming.d.ts.map +1 -1
- package/dist/src/naming.js.map +1 -1
- package/dist/src/portable.spec.d.ts +6 -0
- package/dist/src/portable.spec.d.ts.map +1 -0
- package/dist/src/portable.spec.js +181 -0
- package/dist/src/portable.spec.js.map +1 -0
- package/dist/src/query/evaluate.d.ts +98 -0
- package/dist/src/query/evaluate.d.ts.map +1 -0
- package/dist/src/query/evaluate.js +193 -0
- package/dist/src/query/evaluate.js.map +1 -0
- package/dist/src/query/index.d.ts +17 -0
- package/dist/src/query/index.d.ts.map +1 -0
- package/dist/src/query/index.js +17 -0
- package/dist/src/query/index.js.map +1 -0
- package/dist/src/query/jq/catalog.d.ts +174 -0
- package/dist/src/query/jq/catalog.d.ts.map +1 -0
- package/dist/src/query/jq/catalog.js +1740 -0
- package/dist/src/query/jq/catalog.js.map +1 -0
- package/dist/src/query/jq/check.d.ts +210 -0
- package/dist/src/query/jq/check.d.ts.map +1 -0
- package/dist/src/query/jq/check.js +2261 -0
- package/dist/src/query/jq/check.js.map +1 -0
- package/dist/src/query/jq/complete.d.ts +89 -0
- package/dist/src/query/jq/complete.d.ts.map +1 -0
- package/dist/src/query/jq/complete.js +320 -0
- package/dist/src/query/jq/complete.js.map +1 -0
- package/dist/src/query/jq/describe.d.ts +53 -0
- package/dist/src/query/jq/describe.d.ts.map +1 -0
- package/dist/src/query/jq/describe.js +149 -0
- package/dist/src/query/jq/describe.js.map +1 -0
- package/dist/src/query/jq/lex.d.ts +118 -0
- package/dist/src/query/jq/lex.d.ts.map +1 -0
- package/dist/src/query/jq/lex.js +371 -0
- package/dist/src/query/jq/lex.js.map +1 -0
- package/dist/src/query/jq/literals.d.ts +49 -0
- package/dist/src/query/jq/literals.d.ts.map +1 -0
- package/dist/src/query/jq/literals.js +78 -0
- package/dist/src/query/jq/literals.js.map +1 -0
- package/dist/src/query/jq/messages.d.ts +126 -0
- package/dist/src/query/jq/messages.d.ts.map +1 -0
- package/dist/src/query/jq/messages.js +172 -0
- package/dist/src/query/jq/messages.js.map +1 -0
- package/dist/src/query/jq/parse.d.ts +70 -0
- package/dist/src/query/jq/parse.d.ts.map +1 -0
- package/dist/src/query/jq/parse.js +1013 -0
- package/dist/src/query/jq/parse.js.map +1 -0
- package/dist/src/query/jq/print.d.ts +59 -0
- package/dist/src/query/jq/print.d.ts.map +1 -0
- package/dist/src/query/jq/print.js +587 -0
- package/dist/src/query/jq/print.js.map +1 -0
- package/dist/src/query/jq/shapes.d.ts +345 -0
- package/dist/src/query/jq/shapes.d.ts.map +1 -0
- package/dist/src/query/jq/shapes.js +584 -0
- package/dist/src/query/jq/shapes.js.map +1 -0
- package/dist/src/query/jq/spans.d.ts +133 -0
- package/dist/src/query/jq/spans.d.ts.map +1 -0
- package/dist/src/query/jq/spans.js +195 -0
- package/dist/src/query/jq/spans.js.map +1 -0
- package/dist/src/query/jq/split.d.ts +334 -0
- package/dist/src/query/jq/split.d.ts.map +1 -0
- package/dist/src/query/jq/split.js +2108 -0
- package/dist/src/query/jq/split.js.map +1 -0
- package/dist/src/query/jq/strftime.d.ts +20 -0
- package/dist/src/query/jq/strftime.d.ts.map +1 -0
- package/dist/src/query/jq/strftime.js +65 -0
- package/dist/src/query/jq/strftime.js.map +1 -0
- package/dist/src/query/jq/summary.d.ts +139 -0
- package/dist/src/query/jq/summary.d.ts.map +1 -0
- package/dist/src/query/jq/summary.js +222 -0
- package/dist/src/query/jq/summary.js.map +1 -0
- package/dist/src/query/jq/translate-builtins.d.ts +21 -0
- package/dist/src/query/jq/translate-builtins.d.ts.map +1 -0
- package/dist/src/query/jq/translate-builtins.js +1873 -0
- package/dist/src/query/jq/translate-builtins.js.map +1 -0
- package/dist/src/query/jq/translate.d.ts +627 -0
- package/dist/src/query/jq/translate.d.ts.map +1 -0
- package/dist/src/query/jq/translate.js +3364 -0
- package/dist/src/query/jq/translate.js.map +1 -0
- package/dist/src/query/types.d.ts +505 -0
- package/dist/src/query/types.d.ts.map +1 -0
- package/dist/src/query/types.js +231 -0
- package/dist/src/query/types.js.map +1 -0
- package/dist/src/runner_exec.d.ts +134 -0
- package/dist/src/runner_exec.d.ts.map +1 -0
- package/dist/src/runner_exec.js +371 -0
- package/dist/src/runner_exec.js.map +1 -0
- package/dist/src/runner_exec.spec.d.ts +6 -0
- package/dist/src/runner_exec.spec.d.ts.map +1 -0
- package/dist/src/runner_exec.spec.js +198 -0
- package/dist/src/runner_exec.spec.js.map +1 -0
- package/dist/src/runner_io.d.ts +370 -0
- package/dist/src/runner_io.d.ts.map +1 -0
- package/dist/src/runner_io.js +563 -0
- package/dist/src/runner_io.js.map +1 -0
- package/dist/src/runner_io.spec.d.ts +6 -0
- package/dist/src/runner_io.spec.d.ts.map +1 -0
- package/dist/src/runner_io.spec.js +224 -0
- package/dist/src/runner_io.spec.js.map +1 -0
- package/dist/src/runner_merge.d.ts +95 -0
- package/dist/src/runner_merge.d.ts.map +1 -0
- package/dist/src/runner_merge.js +238 -0
- package/dist/src/runner_merge.js.map +1 -0
- package/dist/src/runner_protocol.d.ts +11 -4
- package/dist/src/runner_protocol.d.ts.map +1 -1
- package/dist/src/runner_protocol.js +11 -4
- package/dist/src/runner_protocol.js.map +1 -1
- package/dist/src/serialization/beast2/index.d.ts +1 -1
- package/dist/src/serialization/beast2/index.d.ts.map +1 -1
- package/dist/src/serialization/beast2/index.js.map +1 -1
- package/dist/src/serialization/beast2/v5/frames.d.ts +10 -6
- package/dist/src/serialization/beast2/v5/frames.d.ts.map +1 -1
- package/dist/src/serialization/beast2/v5/frames.js +10 -6
- package/dist/src/serialization/beast2/v5/frames.js.map +1 -1
- package/dist/src/serialization/beast2/v5/frames.spec.d.ts +6 -0
- package/dist/src/serialization/beast2/v5/frames.spec.d.ts.map +1 -0
- package/dist/src/serialization/beast2/v5/frames.spec.js +42 -0
- package/dist/src/serialization/beast2/v5/frames.spec.js.map +1 -0
- package/dist/src/serialization/beast2/v5/index.spec.js +108 -0
- package/dist/src/serialization/beast2/v5/index.spec.js.map +1 -1
- package/dist/src/serialization/beast2/v5/lazy.d.ts +12 -7
- package/dist/src/serialization/beast2/v5/lazy.d.ts.map +1 -1
- package/dist/src/serialization/beast2/v5/lazy.js +16 -6
- package/dist/src/serialization/beast2/v5/lazy.js.map +1 -1
- package/dist/src/serialization/beast2/v5/lazy.spec.js +159 -18
- package/dist/src/serialization/beast2/v5/lazy.spec.js.map +1 -1
- package/dist/src/serialization/beast2/v5/stream.d.ts +110 -21
- package/dist/src/serialization/beast2/v5/stream.d.ts.map +1 -1
- package/dist/src/serialization/beast2/v5/stream.js +153 -42
- package/dist/src/serialization/beast2/v5/stream.js.map +1 -1
- package/dist/src/serialization/beast2/v5/weight.d.ts +36 -0
- package/dist/src/serialization/beast2/v5/weight.d.ts.map +1 -0
- package/dist/src/serialization/beast2/v5/weight.js +238 -0
- package/dist/src/serialization/beast2/v5/weight.js.map +1 -0
- package/dist/src/serialization/crc32.d.ts +38 -0
- package/dist/src/serialization/crc32.d.ts.map +1 -0
- package/dist/src/serialization/crc32.js +70 -0
- package/dist/src/serialization/crc32.js.map +1 -0
- package/dist/src/serialization/crc32.spec.d.ts +6 -0
- package/dist/src/serialization/crc32.spec.d.ts.map +1 -0
- package/dist/src/serialization/crc32.spec.js +92 -0
- package/dist/src/serialization/crc32.spec.js.map +1 -0
- package/dist/src/serialization/east-inferred.spec.js +4 -0
- package/dist/src/serialization/east-inferred.spec.js.map +1 -1
- package/dist/src/serialization/east.d.ts.map +1 -1
- package/dist/src/serialization/east.js +134 -110
- package/dist/src/serialization/east.js.map +1 -1
- package/dist/src/serialization/east.spec.js +185 -4
- package/dist/src/serialization/east.spec.js.map +1 -1
- package/dist/src/serialization/east_text.d.ts +25 -0
- package/dist/src/serialization/east_text.d.ts.map +1 -0
- package/dist/src/serialization/east_text.js +29 -0
- package/dist/src/serialization/east_text.js.map +1 -0
- package/dist/src/serialization/index.d.ts +1 -1
- package/dist/src/serialization/index.d.ts.map +1 -1
- package/dist/src/types.d.ts +1 -1
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/types.js +7 -6
- package/dist/src/types.js.map +1 -1
- package/package.json +6 -3
package/dist/src/internal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internal.js","sourceRoot":"","sources":["../../src/internal.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,iBAAiB,EAAE,sBAAsB,EAA4B,MAAM,iCAAiC,CAAC;AACxJ,OAAO,EAAuB,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,kDAAkD;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAgF,MAAM,kBAAkB,CAAC;AAChH,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,+CAA+C;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACxG,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,aAAa,EAAE,cAAc,EAAiB,MAAM,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"internal.js","sourceRoot":"","sources":["../../src/internal.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,iBAAiB,EAAE,sBAAsB,EAA4B,MAAM,iCAAiC,CAAC;AACxJ,OAAO,EAAuB,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,kDAAkD;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAgF,MAAM,kBAAkB,CAAC;AAChH,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,+CAA+C;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACxG,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,aAAa,EAAE,cAAc,EAAiB,MAAM,eAAe,CAAC;AACpJ,yEAAyE;AACzE,sDAAsD;AACtD,OAAO,EACH,gBAAgB,EAAE,cAAc,EAAE,eAAe,EAAE,aAAa,EAAE,iBAAiB,EAAE,cAAc,EAAE,cAAc,EAAE,kBAAkB,GAE1I,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAiD,MAAM,mBAAmB,CAAC;AACzH,6EAA6E;AAC7E,+EAA+E;AAC/E,2DAA2D;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC"}
|
package/dist/src/location.d.ts
CHANGED
|
@@ -126,6 +126,28 @@ export declare function locationsFromStack(stack: string | undefined): Location[
|
|
|
126
126
|
* ```
|
|
127
127
|
*/
|
|
128
128
|
export declare function setLocationCapture(enabled: boolean): void;
|
|
129
|
+
/**
|
|
130
|
+
* Builds with source-location capture switched on or off, then switches it
|
|
131
|
+
* back as it was.
|
|
132
|
+
*
|
|
133
|
+
* @param enabled - `false` to build without capturing locations, `true` to
|
|
134
|
+
* capture them
|
|
135
|
+
* @param build - what to build
|
|
136
|
+
* @returns what `build` returns
|
|
137
|
+
*
|
|
138
|
+
* @remarks
|
|
139
|
+
* A program whose bytes must not depend on the code that built it is built
|
|
140
|
+
* with capture off: one that e3 caches by its hash, which a browser and a
|
|
141
|
+
* server, or two builds of an app, must give alike. Locations given
|
|
142
|
+
* explicitly, as a query's are, still name their place.
|
|
143
|
+
*
|
|
144
|
+
* @example
|
|
145
|
+
* ```ts
|
|
146
|
+
* // The same bytes wherever and however often it is built.
|
|
147
|
+
* const ir = withLocationCapture(false, () => encodeEastIR(fn().toIR()));
|
|
148
|
+
* ```
|
|
149
|
+
*/
|
|
150
|
+
export declare function withLocationCapture<T>(enabled: boolean, build: () => T): T;
|
|
129
151
|
export declare function get_location(): Location[];
|
|
130
152
|
/** Reserved sentinel: resolve(0n) returns [], the "no/unknown location" id. */
|
|
131
153
|
export declare const UNKNOWN_LOC_ID: bigint;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"location.d.ts","sourceRoot":"","sources":["../../src/location.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,MAAM,QAAQ,GAAG;IACrB,2BAA2B;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,gCAAgC;IAChC,MAAM,EAAE,MAAM,CAAC;CAChB,CAAA;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAExD;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,MAAM,CAM5D;AAED;;;;;;;GAOG;AACH;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,MAAM,EAAE,CAU5E;AAyGD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAQlE;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAYtD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,EAAE,CAoBxE;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAEzD;AAOD,wBAAgB,YAAY,IAAI,QAAQ,EAAE,CAEzC;AAID,+EAA+E;AAC/E,eAAO,MAAM,cAAc,EAAE,MAAW,CAAC;AAEzC,qBAAa,SAAS;IACpB,0EAA0E;IAC1E,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsB;IAC7C,0DAA0D;IAC1D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6B;IAEpD;2EACuE;IACvE,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAM;IAWvC,oFAAoF;IACpF,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,QAAQ,EAAE;IAI5C,8EAA8E;IAC9E,IAAI,IAAI,IAAI,MAAM,CAAuC;IAEzD,6EAA6E;IAC7E,OAAO,IAAI,SAAS,QAAQ,EAAE,EAAE;CACjC;AAeD;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,GAAG,MAAM,CAKrE;AAED,8EAA8E;AAC9E,wBAAgB,eAAe,CAAC,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAajE;AAED;6CAC6C;AAC7C,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAGnD;AAED,mFAAmF;AACnF,wBAAgB,sBAAsB,IAAI,SAAS,GAAG,IAAI,CAEzD;AAED;uDACuD;AACvD,wBAAgB,eAAe,IAAI,MAAM,CAIxC"}
|
|
1
|
+
{"version":3,"file":"location.d.ts","sourceRoot":"","sources":["../../src/location.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,MAAM,QAAQ,GAAG;IACrB,2BAA2B;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,gCAAgC;IAChC,MAAM,EAAE,MAAM,CAAC;CAChB,CAAA;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAExD;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,MAAM,CAM5D;AAED;;;;;;;GAOG;AACH;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,MAAM,EAAE,CAU5E;AAyGD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAQlE;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAYtD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,EAAE,CAoBxE;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAEzD;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAQ1E;AAOD,wBAAgB,YAAY,IAAI,QAAQ,EAAE,CAEzC;AAID,+EAA+E;AAC/E,eAAO,MAAM,cAAc,EAAE,MAAW,CAAC;AAEzC,qBAAa,SAAS;IACpB,0EAA0E;IAC1E,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsB;IAC7C,0DAA0D;IAC1D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6B;IAEpD;2EACuE;IACvE,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAM;IAWvC,oFAAoF;IACpF,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,QAAQ,EAAE;IAI5C,8EAA8E;IAC9E,IAAI,IAAI,IAAI,MAAM,CAAuC;IAEzD,6EAA6E;IAC7E,OAAO,IAAI,SAAS,QAAQ,EAAE,EAAE;CACjC;AAeD;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,GAAG,MAAM,CAKrE;AAED,8EAA8E;AAC9E,wBAAgB,eAAe,CAAC,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAajE;AAED;6CAC6C;AAC7C,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAGnD;AAED,mFAAmF;AACnF,wBAAgB,sBAAsB,IAAI,SAAS,GAAG,IAAI,CAEzD;AAED;uDACuD;AACvD,wBAAgB,eAAe,IAAI,MAAM,CAIxC"}
|
package/dist/src/location.js
CHANGED
|
@@ -275,6 +275,37 @@ let captureEnabled = true;
|
|
|
275
275
|
export function setLocationCapture(enabled) {
|
|
276
276
|
captureEnabled = enabled;
|
|
277
277
|
}
|
|
278
|
+
/**
|
|
279
|
+
* Builds with source-location capture switched on or off, then switches it
|
|
280
|
+
* back as it was.
|
|
281
|
+
*
|
|
282
|
+
* @param enabled - `false` to build without capturing locations, `true` to
|
|
283
|
+
* capture them
|
|
284
|
+
* @param build - what to build
|
|
285
|
+
* @returns what `build` returns
|
|
286
|
+
*
|
|
287
|
+
* @remarks
|
|
288
|
+
* A program whose bytes must not depend on the code that built it is built
|
|
289
|
+
* with capture off: one that e3 caches by its hash, which a browser and a
|
|
290
|
+
* server, or two builds of an app, must give alike. Locations given
|
|
291
|
+
* explicitly, as a query's are, still name their place.
|
|
292
|
+
*
|
|
293
|
+
* @example
|
|
294
|
+
* ```ts
|
|
295
|
+
* // The same bytes wherever and however often it is built.
|
|
296
|
+
* const ir = withLocationCapture(false, () => encodeEastIR(fn().toIR()));
|
|
297
|
+
* ```
|
|
298
|
+
*/
|
|
299
|
+
export function withLocationCapture(enabled, build) {
|
|
300
|
+
const previous = captureEnabled;
|
|
301
|
+
captureEnabled = enabled;
|
|
302
|
+
try {
|
|
303
|
+
return build();
|
|
304
|
+
}
|
|
305
|
+
finally {
|
|
306
|
+
captureEnabled = previous;
|
|
307
|
+
}
|
|
308
|
+
}
|
|
278
309
|
function capture_stack_frames() {
|
|
279
310
|
if (!captureEnabled)
|
|
280
311
|
return [];
|
package/dist/src/location.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"location.js","sourceRoot":"","sources":["../../src/location.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"location.js","sourceRoot":"","sources":["../../src/location.ts"],"names":[],"mappings":"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"}
|
package/dist/src/naming.d.ts
CHANGED
|
@@ -21,9 +21,11 @@
|
|
|
21
21
|
* browser, a project without TypeScript, a TypeScript whose package carries no
|
|
22
22
|
* parser (TypeScript 7's exports its version alone) — or a source cannot be
|
|
23
23
|
* read (a REPL line that is gone, a native function), the name stays `_N`,
|
|
24
|
-
* exactly as before:
|
|
25
|
-
*
|
|
26
|
-
*
|
|
24
|
+
* exactly as before: every function's build reads its parameters' names, East's
|
|
25
|
+
* own library functions' too, the first time each is read, so a parser that
|
|
26
|
+
* fails here would fail them all. Nothing is built as East is imported, so
|
|
27
|
+
* importing it loads no compiler (#1127). Uniqueness is the lowering's job
|
|
28
|
+
* (`ast_to_ir` suffixes a collision), not this module's.
|
|
27
29
|
*/
|
|
28
30
|
import type { Location } from "./location.js";
|
|
29
31
|
/**
|
package/dist/src/naming.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"naming.d.ts","sourceRoot":"","sources":["../../src/naming.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH
|
|
1
|
+
{"version":3,"file":"naming.d.ts","sourceRoot":"","sources":["../../src/naming.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAmC9C;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,OAAO,GAAG,MAAM,EAAE,GAAG,IAAI,CAyB3D;AAgHD;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,QAAQ,EAAE,GAAG,MAAM,GAAG,IAAI,CAiBxE"}
|
package/dist/src/naming.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"naming.js","sourceRoot":"","sources":["../../src/naming.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"naming.js","sourceRoot":"","sources":["../../src/naming.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"portable.spec.d.ts","sourceRoot":"","sources":["../../src/portable.spec.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2025 Elara AI Pty Ltd
|
|
3
|
+
* Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* What a browser loads to run a unit reaches no Node module (#1023).
|
|
7
|
+
*
|
|
8
|
+
* `executeUnit`, the `UnitIO` it works over and the merge of a unit's parts run
|
|
9
|
+
* in a browser's Web Worker as they run under east-node. So every module they
|
|
10
|
+
* reach — walked from them through each import and export the compiler keeps,
|
|
11
|
+
* and each dynamic `import()` — imports only east's own modules and the
|
|
12
|
+
* packages a browser loads as they are, and uses neither the `Buffer` nor the
|
|
13
|
+
* `process` global. A module reaches Node only through a guarded
|
|
14
|
+
* `globalThis.process?.getBuiltinModule`, which a browser answers with
|
|
15
|
+
* `undefined`, as the frame layer reaches zlib.
|
|
16
|
+
*
|
|
17
|
+
* A type-only import is erased, so it reaches nothing; `import { type X }` is
|
|
18
|
+
* kept under `verbatimModuleSyntax` as a side-effect import, so it does.
|
|
19
|
+
*/
|
|
20
|
+
import { describe, it } from "node:test";
|
|
21
|
+
import assert from "node:assert/strict";
|
|
22
|
+
import { existsSync, readFileSync } from "node:fs";
|
|
23
|
+
import { join, posix } from "node:path";
|
|
24
|
+
import { fileURLToPath } from "node:url";
|
|
25
|
+
import ts from "typescript";
|
|
26
|
+
/** east's sources: the spec runs from `dist/src`. */
|
|
27
|
+
const SRC = fileURLToPath(new URL("../../src/", import.meta.url));
|
|
28
|
+
/** The modules a browser loads to run a unit. */
|
|
29
|
+
const ENTRIES = ["runner_exec.ts", "runner_io.ts", "runner_merge.ts"];
|
|
30
|
+
/** The packages a module may import besides east's own modules: east's one
|
|
31
|
+
* dependency, which a browser loads as it is. */
|
|
32
|
+
const PACKAGES = new Set(["sorted-btree"]);
|
|
33
|
+
/** The Node globals no module may use. */
|
|
34
|
+
const GLOBALS = new Set(["Buffer", "process"]);
|
|
35
|
+
/** Whether an identifier named for a global is a use of that global: not a
|
|
36
|
+
* property or member named so (`globalThis.process`), not a binding of that
|
|
37
|
+
* name, and not in a type, which is erased. */
|
|
38
|
+
function usesGlobal(node) {
|
|
39
|
+
const parent = node.parent;
|
|
40
|
+
if (ts.isPropertyAccessExpression(parent) && parent.name === node)
|
|
41
|
+
return false;
|
|
42
|
+
if ((ts.isPropertyAssignment(parent) || ts.isPropertyDeclaration(parent) || ts.isPropertySignature(parent) ||
|
|
43
|
+
ts.isMethodDeclaration(parent) || ts.isMethodSignature(parent) || ts.isGetAccessorDeclaration(parent) ||
|
|
44
|
+
ts.isSetAccessorDeclaration(parent) || ts.isEnumMember(parent)) && parent.name === node)
|
|
45
|
+
return false;
|
|
46
|
+
if ((ts.isVariableDeclaration(parent) || ts.isParameter(parent) || ts.isFunctionDeclaration(parent) ||
|
|
47
|
+
ts.isClassDeclaration(parent)) && parent.name === node)
|
|
48
|
+
return false;
|
|
49
|
+
if (ts.isBindingElement(parent) && (parent.name === node || parent.propertyName === node))
|
|
50
|
+
return false;
|
|
51
|
+
for (let at = parent; !ts.isSourceFile(at); at = at.parent) {
|
|
52
|
+
if (ts.isTypeNode(at))
|
|
53
|
+
return false;
|
|
54
|
+
}
|
|
55
|
+
return true;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Walks every module `entries` reach and says what in them reaches Node.
|
|
59
|
+
*
|
|
60
|
+
* @param entries - the modules to start from, by their paths under the source
|
|
61
|
+
* root, forward-slashed
|
|
62
|
+
* @param source - a module's source, or `undefined` when there is none
|
|
63
|
+
* @returns the modules reached, and each import of a module that is neither
|
|
64
|
+
* east's own nor a package in {@link PACKAGES}, and each use of a global in
|
|
65
|
+
* {@link GLOBALS}, as `<module> imports <specifier>` and
|
|
66
|
+
* `<module>:<line> uses the <name> global`
|
|
67
|
+
*/
|
|
68
|
+
function walk(entries, source) {
|
|
69
|
+
const reached = [];
|
|
70
|
+
const problems = [];
|
|
71
|
+
const seen = new Set();
|
|
72
|
+
const pending = [...entries];
|
|
73
|
+
while (pending.length > 0) {
|
|
74
|
+
const module = pending.shift();
|
|
75
|
+
if (seen.has(module))
|
|
76
|
+
continue;
|
|
77
|
+
seen.add(module);
|
|
78
|
+
const text = source(module);
|
|
79
|
+
if (text === undefined) {
|
|
80
|
+
problems.push(`${module} is not there`);
|
|
81
|
+
continue;
|
|
82
|
+
}
|
|
83
|
+
reached.push(module);
|
|
84
|
+
const file = ts.createSourceFile(module, text, ts.ScriptTarget.Latest, true, ts.ScriptKind.TS);
|
|
85
|
+
const imports = (specifier) => {
|
|
86
|
+
if (specifier === undefined)
|
|
87
|
+
return;
|
|
88
|
+
if (!ts.isStringLiteral(specifier)) {
|
|
89
|
+
problems.push(`${module} imports a module it computes`);
|
|
90
|
+
}
|
|
91
|
+
else if (specifier.text.startsWith(".")) {
|
|
92
|
+
pending.push(posix.normalize(posix.join(posix.dirname(module), specifier.text)).replace(/\.js$/, ".ts"));
|
|
93
|
+
}
|
|
94
|
+
else if (!PACKAGES.has(specifier.text)) {
|
|
95
|
+
problems.push(`${module} imports ${specifier.text}`);
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
const visit = (node) => {
|
|
99
|
+
if (ts.isImportDeclaration(node)) {
|
|
100
|
+
if (!node.importClause?.isTypeOnly)
|
|
101
|
+
imports(node.moduleSpecifier);
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
if (ts.isExportDeclaration(node)) {
|
|
105
|
+
if (!node.isTypeOnly)
|
|
106
|
+
imports(node.moduleSpecifier);
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
if (ts.isImportEqualsDeclaration(node)) {
|
|
110
|
+
if (!node.isTypeOnly && ts.isExternalModuleReference(node.moduleReference))
|
|
111
|
+
imports(node.moduleReference.expression);
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
if (ts.isCallExpression(node) && node.expression.kind === ts.SyntaxKind.ImportKeyword)
|
|
115
|
+
imports(node.arguments[0]);
|
|
116
|
+
if (ts.isIdentifier(node) && GLOBALS.has(node.text) && usesGlobal(node)) {
|
|
117
|
+
const { line } = file.getLineAndCharacterOfPosition(node.getStart(file));
|
|
118
|
+
problems.push(`${module}:${line + 1} uses the ${node.text} global`);
|
|
119
|
+
}
|
|
120
|
+
ts.forEachChild(node, visit);
|
|
121
|
+
};
|
|
122
|
+
visit(file);
|
|
123
|
+
}
|
|
124
|
+
return { reached, problems };
|
|
125
|
+
}
|
|
126
|
+
/** A module of east's sources, by its path under `src/`. */
|
|
127
|
+
function eastSource(module) {
|
|
128
|
+
const file = join(SRC, module);
|
|
129
|
+
return existsSync(file) ? readFileSync(file, "utf8") : undefined;
|
|
130
|
+
}
|
|
131
|
+
describe("what a browser loads to run a unit", () => {
|
|
132
|
+
it("reaches no Node module and uses no Node global", () => {
|
|
133
|
+
const { reached, problems } = walk(ENTRIES, eastSource);
|
|
134
|
+
assert.deepEqual(problems, [], "these reach Node: reach it through a guarded globalThis.process?.getBuiltinModule, or not at all");
|
|
135
|
+
// The walk reaches the compiler and the collection layer, the frame layer
|
|
136
|
+
// among them, which reaches zlib the guarded way.
|
|
137
|
+
for (const module of ["eastir.ts", "compile/runtime.ts", "serialization/beast2/v5/lazy.ts", "serialization/beast2/v5/frames.ts", "serialization/beast2/v5/frame-pool.ts"]) {
|
|
138
|
+
assert.ok(reached.includes(module), `the walk reaches ${module}`);
|
|
139
|
+
}
|
|
140
|
+
});
|
|
141
|
+
it("names a planted Node import, however it is written, and each use of a Node global", () => {
|
|
142
|
+
const modules = new Map([
|
|
143
|
+
["entry.ts", [
|
|
144
|
+
'import { helper } from "./helpers/helper.js";',
|
|
145
|
+
'import type { Stats } from "node:fs";',
|
|
146
|
+
'export const run = (stats?: Stats): unknown => helper(stats);',
|
|
147
|
+
].join("\n")],
|
|
148
|
+
["helpers/helper.ts", [
|
|
149
|
+
'import { readFileSync } from "node:fs";',
|
|
150
|
+
'export function helper(_x: unknown): unknown {',
|
|
151
|
+
' return Buffer.from(process.env.X ?? "");',
|
|
152
|
+
'}',
|
|
153
|
+
'export { type Worker } from "node:worker_threads";',
|
|
154
|
+
'export const later = () => import("node:os");',
|
|
155
|
+
].join("\n")],
|
|
156
|
+
]);
|
|
157
|
+
const { reached, problems } = walk(["entry.ts"], (module) => modules.get(module));
|
|
158
|
+
assert.deepEqual(reached, ["entry.ts", "helpers/helper.ts"]);
|
|
159
|
+
assert.deepEqual(problems, [
|
|
160
|
+
"helpers/helper.ts imports node:fs",
|
|
161
|
+
"helpers/helper.ts:3 uses the Buffer global",
|
|
162
|
+
"helpers/helper.ts:3 uses the process global",
|
|
163
|
+
"helpers/helper.ts imports node:worker_threads",
|
|
164
|
+
"helpers/helper.ts imports node:os",
|
|
165
|
+
]);
|
|
166
|
+
});
|
|
167
|
+
it("passes Node reached through a guarded globalThis.process, and Node named only in types", () => {
|
|
168
|
+
const modules = new Map([
|
|
169
|
+
["entry.ts", [
|
|
170
|
+
'import type { Buffer as NodeBuffer } from "node:buffer";',
|
|
171
|
+
'const zlib = (globalThis as { process?: { getBuiltinModule?: (id: string) => unknown } }).process?.getBuiltinModule?.("node:zlib") ?? null;',
|
|
172
|
+
'export type Gauge = { process?: { cwd?: () => string } };',
|
|
173
|
+
'export const bytes = (b: NodeBuffer | Buffer): number => b.length + (zlib === null ? 0 : 1);',
|
|
174
|
+
'export const named = { process: 1, Buffer: 2 };',
|
|
175
|
+
'export const read = ({ process: p }: { process: number }): number => p;',
|
|
176
|
+
].join("\n")],
|
|
177
|
+
]);
|
|
178
|
+
assert.deepEqual(walk(["entry.ts"], (module) => modules.get(module)).problems, []);
|
|
179
|
+
});
|
|
180
|
+
});
|
|
181
|
+
//# sourceMappingURL=portable.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"portable.spec.js","sourceRoot":"","sources":["../../src/portable.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2025 Elara AI Pty Ltd
|
|
3
|
+
* Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
|
|
4
|
+
*/
|
|
5
|
+
import type { PlatformFunction } from "../platform.js";
|
|
6
|
+
import type { EastType, ValueTypeOf } from "../types.js";
|
|
7
|
+
import type { QueryErrorType } from "./types.js";
|
|
8
|
+
import { type CheckJqResult } from "./jq/check.js";
|
|
9
|
+
/** A diagnostic of a query: the checker's, or an error its run raised. */
|
|
10
|
+
export type QueryDiagnostic = ValueTypeOf<typeof QueryErrorType>;
|
|
11
|
+
/**
|
|
12
|
+
* A query that does not check, or whose run raised an error: its diagnostics,
|
|
13
|
+
* and a message that lists each error with its line and column in the jq text.
|
|
14
|
+
*
|
|
15
|
+
* @remarks
|
|
16
|
+
* `diagnostics` holds the checker's diagnostics, lints included, when the
|
|
17
|
+
* query does not check; for an error raised while it ran, one `runtime`
|
|
18
|
+
* diagnostic whose message is the East error's and whose span is the jq
|
|
19
|
+
* node that raised it.
|
|
20
|
+
*/
|
|
21
|
+
export declare class QueryError extends Error {
|
|
22
|
+
/** The diagnostics, in the order found. */
|
|
23
|
+
readonly diagnostics: QueryDiagnostic[];
|
|
24
|
+
/**
|
|
25
|
+
* @param diagnostics - the diagnostics; the message lists those of error severity
|
|
26
|
+
*/
|
|
27
|
+
constructor(diagnostics: QueryDiagnostic[]);
|
|
28
|
+
}
|
|
29
|
+
/** Options for {@link evaluateJq}. */
|
|
30
|
+
export interface EvaluateJqOptions {
|
|
31
|
+
/** The input's type: required with a program's text. */
|
|
32
|
+
inputType?: EastType;
|
|
33
|
+
/** The input is an e3 root, a struct of datasets: each field the query reads is passed alone, so a lazy one stays lazy. */
|
|
34
|
+
root?: boolean;
|
|
35
|
+
/** Allow the tooling-only builtins, whose platform functions `platform` gives (`devdocs/QUERY.md` §15.9). */
|
|
36
|
+
tooling?: boolean;
|
|
37
|
+
/** Platform functions, for function values in the input that need them. */
|
|
38
|
+
platform?: PlatformFunction[];
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Checks, translates, compiles and runs a jq query over a value.
|
|
42
|
+
*
|
|
43
|
+
* @param program - the query's text, or what {@link checkJq} made of it
|
|
44
|
+
* @param input - the input: a decoded value, or a lazy one
|
|
45
|
+
* @param options - `inputType` with text; `root` for an e3 root; `tooling`;
|
|
46
|
+
* `platform` for function values that need one
|
|
47
|
+
* @returns the result: the element for a `one` query, an option for `maybe`,
|
|
48
|
+
* an array for `many`
|
|
49
|
+
* @throws {QueryError} When the query does not check, carrying the
|
|
50
|
+
* checker's diagnostics; or when its run raises an error, as one `runtime`
|
|
51
|
+
* diagnostic at the jq node that raised it.
|
|
52
|
+
*
|
|
53
|
+
* @remarks
|
|
54
|
+
* The compiled function is cached by the query's canonical text, its input
|
|
55
|
+
* type and the options, so a query run again compiles once. With `root`, the
|
|
56
|
+
* input is a struct and each field the query reads is its own argument.
|
|
57
|
+
*
|
|
58
|
+
* @example
|
|
59
|
+
* ```ts
|
|
60
|
+
* const Order = StructType({ id: IntegerType, total: FloatType });
|
|
61
|
+
* const orders = [{ id: 1n, total: 250.0 }, { id: 2n, total: 1200.0 }];
|
|
62
|
+
* evaluateJq("[.[] | select(.total > 1000) | .id]", orders, { inputType: ArrayType(Order) });
|
|
63
|
+
* // [2n]
|
|
64
|
+
* ```
|
|
65
|
+
*/
|
|
66
|
+
export declare function evaluateJq(program: string | CheckJqResult, input: unknown, options?: EvaluateJqOptions): unknown;
|
|
67
|
+
/**
|
|
68
|
+
* The `runtime` diagnostic for an error a query's run raised: its message, at
|
|
69
|
+
* the jq node that raised it.
|
|
70
|
+
*
|
|
71
|
+
* @param checked - what {@link checkJq} made of the query that ran
|
|
72
|
+
* @param message - the error's message, as the runtime raised it
|
|
73
|
+
* @param at - the 1-based line and column in the jq text the error names, when
|
|
74
|
+
* it names one: a translation's IR carries each node's place in the jq, which
|
|
75
|
+
* a runtime reports with the error (`at jq:2:26`)
|
|
76
|
+
* @returns the diagnostic: `runtime`, its message led by the code, and its span
|
|
77
|
+
* the node that raised it — `none` when the error names no place in the jq
|
|
78
|
+
*
|
|
79
|
+
* @remarks
|
|
80
|
+
* The node that raised it is the innermost that starts at that line and
|
|
81
|
+
* column and can raise: a literal, `.` or a variable, which can start at the
|
|
82
|
+
* same place, cannot. When no node that can raise starts there, the span is
|
|
83
|
+
* empty, at that place. {@link evaluateJq} places the errors of the runs it
|
|
84
|
+
* makes so, and a host that runs a query elsewhere — as one-shot runs a
|
|
85
|
+
* translation — places what the runtime reported the same way.
|
|
86
|
+
*
|
|
87
|
+
* @example
|
|
88
|
+
* ```ts
|
|
89
|
+
* const checked = checkJq("[.[] | 10 / .]", ArrayType(IntegerType));
|
|
90
|
+
* runtimeErrorAt(checked, "Division by zero", { line: 1, column: 8 });
|
|
91
|
+
* // { code: "runtime", message: "runtime: Division by zero", span: some({ line: 1n, column: 8n, offset: 7n, length: 6n }), … }
|
|
92
|
+
* ```
|
|
93
|
+
*/
|
|
94
|
+
export declare function runtimeErrorAt(checked: CheckJqResult, message: string, at?: {
|
|
95
|
+
readonly line: number;
|
|
96
|
+
readonly column: number;
|
|
97
|
+
}): QueryDiagnostic;
|
|
98
|
+
//# sourceMappingURL=evaluate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evaluate.d.ts","sourceRoot":"","sources":["../../../src/query/evaluate.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAWH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAGvD,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAW,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAM5D,0EAA0E;AAC1E,MAAM,MAAM,eAAe,GAAG,WAAW,CAAC,OAAO,cAAc,CAAC,CAAC;AAEjE;;;;;;;;;GASG;AACH,qBAAa,UAAW,SAAQ,KAAK;IACnC,2CAA2C;IAC3C,QAAQ,CAAC,WAAW,EAAE,eAAe,EAAE,CAAC;IAExC;;OAEG;gBACS,WAAW,EAAE,eAAe,EAAE;CAS3C;AAED,sCAAsC;AACtC,MAAM,WAAW,iBAAiB;IAChC,wDAAwD;IACxD,SAAS,CAAC,EAAE,QAAQ,CAAC;IACrB,2HAA2H;IAC3H,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,6GAA6G;IAC7G,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,gBAAgB,EAAE,CAAC;CAC/B;AAcD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAYpH;AA8BD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,eAAe,CAahJ"}
|