@elaraai/east 1.0.84 → 1.0.85

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 (239) hide show
  1. package/dist/src/analyze.d.ts.map +1 -1
  2. package/dist/src/analyze.js +48 -0
  3. package/dist/src/analyze.js.map +1 -1
  4. package/dist/src/ast_to_ir.coerce_to.spec.js +4 -4
  5. package/dist/src/ast_to_ir.coerce_to.spec.js.map +1 -1
  6. package/dist/src/ast_to_ir.d.ts +6 -1
  7. package/dist/src/ast_to_ir.d.ts.map +1 -1
  8. package/dist/src/ast_to_ir.js +20 -7
  9. package/dist/src/ast_to_ir.js.map +1 -1
  10. package/dist/src/builtins.d.ts +1 -1
  11. package/dist/src/builtins.d.ts.map +1 -1
  12. package/dist/src/builtins.js +52 -0
  13. package/dist/src/builtins.js.map +1 -1
  14. package/dist/src/codegen/canonical.d.ts +37 -0
  15. package/dist/src/codegen/canonical.d.ts.map +1 -0
  16. package/dist/src/codegen/canonical.js +208 -0
  17. package/dist/src/codegen/canonical.js.map +1 -0
  18. package/dist/src/codegen/codegen.spec.js +132 -201
  19. package/dist/src/codegen/codegen.spec.js.map +1 -1
  20. package/dist/src/codegen/printer.d.ts.map +1 -1
  21. package/dist/src/codegen/printer.js +142 -24
  22. package/dist/src/codegen/printer.js.map +1 -1
  23. package/dist/src/codegen/spellings.d.ts +4 -1
  24. package/dist/src/codegen/spellings.d.ts.map +1 -1
  25. package/dist/src/codegen/spellings.js +5 -1
  26. package/dist/src/codegen/spellings.js.map +1 -1
  27. package/dist/src/compile/builtins/index.d.ts.map +1 -1
  28. package/dist/src/compile/builtins/index.js +2 -0
  29. package/dist/src/compile/builtins/index.js.map +1 -1
  30. package/dist/src/compile/builtins/primitives.d.ts.map +1 -1
  31. package/dist/src/compile/builtins/primitives.js +2 -1
  32. package/dist/src/compile/builtins/primitives.js.map +1 -1
  33. package/dist/src/compile/builtins/query.d.ts +10 -0
  34. package/dist/src/compile/builtins/query.d.ts.map +1 -0
  35. package/dist/src/compile/builtins/query.js +5 -0
  36. package/dist/src/compile/builtins/query.js.map +1 -0
  37. package/dist/src/expr/block.d.ts.map +1 -1
  38. package/dist/src/expr/block.js +2 -1
  39. package/dist/src/expr/block.js.map +1 -1
  40. package/dist/src/expr/index.d.ts +75 -47
  41. package/dist/src/expr/index.d.ts.map +1 -1
  42. package/dist/src/expr/index.js +31 -0
  43. package/dist/src/expr/index.js.map +1 -1
  44. package/dist/src/expr/libs/datetime.d.ts +20 -20
  45. package/dist/src/expr/libs/datetime.d.ts.map +1 -1
  46. package/dist/src/expr/libs/datetime.js +208 -167
  47. package/dist/src/expr/libs/datetime.js.map +1 -1
  48. package/dist/src/expr/libs/float.d.ts +15 -15
  49. package/dist/src/expr/libs/float.d.ts.map +1 -1
  50. package/dist/src/expr/libs/float.js +298 -267
  51. package/dist/src/expr/libs/float.js.map +1 -1
  52. package/dist/src/expr/libs/integer.d.ts +12 -12
  53. package/dist/src/expr/libs/integer.d.ts.map +1 -1
  54. package/dist/src/expr/libs/integer.js +219 -194
  55. package/dist/src/expr/libs/integer.js.map +1 -1
  56. package/dist/src/expr/libs/lazy.d.ts +28 -0
  57. package/dist/src/expr/libs/lazy.d.ts.map +1 -0
  58. package/dist/src/expr/libs/lazy.js +55 -0
  59. package/dist/src/expr/libs/lazy.js.map +1 -0
  60. package/dist/src/expr/libs/lazy.spec.d.ts +6 -0
  61. package/dist/src/expr/libs/lazy.spec.d.ts.map +1 -0
  62. package/dist/src/expr/libs/lazy.spec.js +102 -0
  63. package/dist/src/expr/libs/lazy.spec.js.map +1 -0
  64. package/dist/src/expr/query.d.ts +60 -0
  65. package/dist/src/expr/query.d.ts.map +1 -0
  66. package/dist/src/expr/query.js +84 -0
  67. package/dist/src/expr/query.js.map +1 -0
  68. package/dist/src/index.d.ts +3 -0
  69. package/dist/src/index.d.ts.map +1 -1
  70. package/dist/src/index.js +3 -0
  71. package/dist/src/index.js.map +1 -1
  72. package/dist/src/internal.d.ts +4 -0
  73. package/dist/src/internal.d.ts.map +1 -1
  74. package/dist/src/internal.js +9 -0
  75. package/dist/src/internal.js.map +1 -1
  76. package/dist/src/location.d.ts +22 -0
  77. package/dist/src/location.d.ts.map +1 -1
  78. package/dist/src/location.js +31 -0
  79. package/dist/src/location.js.map +1 -1
  80. package/dist/src/naming.d.ts +5 -3
  81. package/dist/src/naming.d.ts.map +1 -1
  82. package/dist/src/naming.js.map +1 -1
  83. package/dist/src/portable.spec.d.ts +6 -0
  84. package/dist/src/portable.spec.d.ts.map +1 -0
  85. package/dist/src/portable.spec.js +181 -0
  86. package/dist/src/portable.spec.js.map +1 -0
  87. package/dist/src/query/evaluate.d.ts +98 -0
  88. package/dist/src/query/evaluate.d.ts.map +1 -0
  89. package/dist/src/query/evaluate.js +193 -0
  90. package/dist/src/query/evaluate.js.map +1 -0
  91. package/dist/src/query/index.d.ts +17 -0
  92. package/dist/src/query/index.d.ts.map +1 -0
  93. package/dist/src/query/index.js +17 -0
  94. package/dist/src/query/index.js.map +1 -0
  95. package/dist/src/query/jq/catalog.d.ts +174 -0
  96. package/dist/src/query/jq/catalog.d.ts.map +1 -0
  97. package/dist/src/query/jq/catalog.js +1740 -0
  98. package/dist/src/query/jq/catalog.js.map +1 -0
  99. package/dist/src/query/jq/check.d.ts +210 -0
  100. package/dist/src/query/jq/check.d.ts.map +1 -0
  101. package/dist/src/query/jq/check.js +2261 -0
  102. package/dist/src/query/jq/check.js.map +1 -0
  103. package/dist/src/query/jq/complete.d.ts +89 -0
  104. package/dist/src/query/jq/complete.d.ts.map +1 -0
  105. package/dist/src/query/jq/complete.js +320 -0
  106. package/dist/src/query/jq/complete.js.map +1 -0
  107. package/dist/src/query/jq/describe.d.ts +53 -0
  108. package/dist/src/query/jq/describe.d.ts.map +1 -0
  109. package/dist/src/query/jq/describe.js +149 -0
  110. package/dist/src/query/jq/describe.js.map +1 -0
  111. package/dist/src/query/jq/lex.d.ts +118 -0
  112. package/dist/src/query/jq/lex.d.ts.map +1 -0
  113. package/dist/src/query/jq/lex.js +371 -0
  114. package/dist/src/query/jq/lex.js.map +1 -0
  115. package/dist/src/query/jq/literals.d.ts +49 -0
  116. package/dist/src/query/jq/literals.d.ts.map +1 -0
  117. package/dist/src/query/jq/literals.js +78 -0
  118. package/dist/src/query/jq/literals.js.map +1 -0
  119. package/dist/src/query/jq/messages.d.ts +126 -0
  120. package/dist/src/query/jq/messages.d.ts.map +1 -0
  121. package/dist/src/query/jq/messages.js +172 -0
  122. package/dist/src/query/jq/messages.js.map +1 -0
  123. package/dist/src/query/jq/parse.d.ts +70 -0
  124. package/dist/src/query/jq/parse.d.ts.map +1 -0
  125. package/dist/src/query/jq/parse.js +1013 -0
  126. package/dist/src/query/jq/parse.js.map +1 -0
  127. package/dist/src/query/jq/print.d.ts +59 -0
  128. package/dist/src/query/jq/print.d.ts.map +1 -0
  129. package/dist/src/query/jq/print.js +587 -0
  130. package/dist/src/query/jq/print.js.map +1 -0
  131. package/dist/src/query/jq/shapes.d.ts +345 -0
  132. package/dist/src/query/jq/shapes.d.ts.map +1 -0
  133. package/dist/src/query/jq/shapes.js +584 -0
  134. package/dist/src/query/jq/shapes.js.map +1 -0
  135. package/dist/src/query/jq/spans.d.ts +133 -0
  136. package/dist/src/query/jq/spans.d.ts.map +1 -0
  137. package/dist/src/query/jq/spans.js +195 -0
  138. package/dist/src/query/jq/spans.js.map +1 -0
  139. package/dist/src/query/jq/split.d.ts +334 -0
  140. package/dist/src/query/jq/split.d.ts.map +1 -0
  141. package/dist/src/query/jq/split.js +2108 -0
  142. package/dist/src/query/jq/split.js.map +1 -0
  143. package/dist/src/query/jq/strftime.d.ts +20 -0
  144. package/dist/src/query/jq/strftime.d.ts.map +1 -0
  145. package/dist/src/query/jq/strftime.js +65 -0
  146. package/dist/src/query/jq/strftime.js.map +1 -0
  147. package/dist/src/query/jq/summary.d.ts +139 -0
  148. package/dist/src/query/jq/summary.d.ts.map +1 -0
  149. package/dist/src/query/jq/summary.js +222 -0
  150. package/dist/src/query/jq/summary.js.map +1 -0
  151. package/dist/src/query/jq/translate-builtins.d.ts +21 -0
  152. package/dist/src/query/jq/translate-builtins.d.ts.map +1 -0
  153. package/dist/src/query/jq/translate-builtins.js +1873 -0
  154. package/dist/src/query/jq/translate-builtins.js.map +1 -0
  155. package/dist/src/query/jq/translate.d.ts +627 -0
  156. package/dist/src/query/jq/translate.d.ts.map +1 -0
  157. package/dist/src/query/jq/translate.js +3364 -0
  158. package/dist/src/query/jq/translate.js.map +1 -0
  159. package/dist/src/query/types.d.ts +505 -0
  160. package/dist/src/query/types.d.ts.map +1 -0
  161. package/dist/src/query/types.js +231 -0
  162. package/dist/src/query/types.js.map +1 -0
  163. package/dist/src/runner_exec.d.ts +134 -0
  164. package/dist/src/runner_exec.d.ts.map +1 -0
  165. package/dist/src/runner_exec.js +371 -0
  166. package/dist/src/runner_exec.js.map +1 -0
  167. package/dist/src/runner_exec.spec.d.ts +6 -0
  168. package/dist/src/runner_exec.spec.d.ts.map +1 -0
  169. package/dist/src/runner_exec.spec.js +198 -0
  170. package/dist/src/runner_exec.spec.js.map +1 -0
  171. package/dist/src/runner_io.d.ts +370 -0
  172. package/dist/src/runner_io.d.ts.map +1 -0
  173. package/dist/src/runner_io.js +563 -0
  174. package/dist/src/runner_io.js.map +1 -0
  175. package/dist/src/runner_io.spec.d.ts +6 -0
  176. package/dist/src/runner_io.spec.d.ts.map +1 -0
  177. package/dist/src/runner_io.spec.js +224 -0
  178. package/dist/src/runner_io.spec.js.map +1 -0
  179. package/dist/src/runner_merge.d.ts +95 -0
  180. package/dist/src/runner_merge.d.ts.map +1 -0
  181. package/dist/src/runner_merge.js +238 -0
  182. package/dist/src/runner_merge.js.map +1 -0
  183. package/dist/src/runner_protocol.d.ts +11 -4
  184. package/dist/src/runner_protocol.d.ts.map +1 -1
  185. package/dist/src/runner_protocol.js +11 -4
  186. package/dist/src/runner_protocol.js.map +1 -1
  187. package/dist/src/serialization/beast2/index.d.ts +1 -1
  188. package/dist/src/serialization/beast2/index.d.ts.map +1 -1
  189. package/dist/src/serialization/beast2/index.js.map +1 -1
  190. package/dist/src/serialization/beast2/v5/frames.d.ts +10 -6
  191. package/dist/src/serialization/beast2/v5/frames.d.ts.map +1 -1
  192. package/dist/src/serialization/beast2/v5/frames.js +10 -6
  193. package/dist/src/serialization/beast2/v5/frames.js.map +1 -1
  194. package/dist/src/serialization/beast2/v5/frames.spec.d.ts +6 -0
  195. package/dist/src/serialization/beast2/v5/frames.spec.d.ts.map +1 -0
  196. package/dist/src/serialization/beast2/v5/frames.spec.js +42 -0
  197. package/dist/src/serialization/beast2/v5/frames.spec.js.map +1 -0
  198. package/dist/src/serialization/beast2/v5/index.spec.js +108 -0
  199. package/dist/src/serialization/beast2/v5/index.spec.js.map +1 -1
  200. package/dist/src/serialization/beast2/v5/lazy.d.ts +12 -7
  201. package/dist/src/serialization/beast2/v5/lazy.d.ts.map +1 -1
  202. package/dist/src/serialization/beast2/v5/lazy.js +16 -6
  203. package/dist/src/serialization/beast2/v5/lazy.js.map +1 -1
  204. package/dist/src/serialization/beast2/v5/lazy.spec.js +159 -18
  205. package/dist/src/serialization/beast2/v5/lazy.spec.js.map +1 -1
  206. package/dist/src/serialization/beast2/v5/stream.d.ts +110 -21
  207. package/dist/src/serialization/beast2/v5/stream.d.ts.map +1 -1
  208. package/dist/src/serialization/beast2/v5/stream.js +153 -42
  209. package/dist/src/serialization/beast2/v5/stream.js.map +1 -1
  210. package/dist/src/serialization/beast2/v5/weight.d.ts +36 -0
  211. package/dist/src/serialization/beast2/v5/weight.d.ts.map +1 -0
  212. package/dist/src/serialization/beast2/v5/weight.js +238 -0
  213. package/dist/src/serialization/beast2/v5/weight.js.map +1 -0
  214. package/dist/src/serialization/crc32.d.ts +38 -0
  215. package/dist/src/serialization/crc32.d.ts.map +1 -0
  216. package/dist/src/serialization/crc32.js +70 -0
  217. package/dist/src/serialization/crc32.js.map +1 -0
  218. package/dist/src/serialization/crc32.spec.d.ts +6 -0
  219. package/dist/src/serialization/crc32.spec.d.ts.map +1 -0
  220. package/dist/src/serialization/crc32.spec.js +92 -0
  221. package/dist/src/serialization/crc32.spec.js.map +1 -0
  222. package/dist/src/serialization/east-inferred.spec.js +4 -0
  223. package/dist/src/serialization/east-inferred.spec.js.map +1 -1
  224. package/dist/src/serialization/east.d.ts.map +1 -1
  225. package/dist/src/serialization/east.js +134 -110
  226. package/dist/src/serialization/east.js.map +1 -1
  227. package/dist/src/serialization/east.spec.js +185 -4
  228. package/dist/src/serialization/east.spec.js.map +1 -1
  229. package/dist/src/serialization/east_text.d.ts +25 -0
  230. package/dist/src/serialization/east_text.d.ts.map +1 -0
  231. package/dist/src/serialization/east_text.js +29 -0
  232. package/dist/src/serialization/east_text.js.map +1 -0
  233. package/dist/src/serialization/index.d.ts +1 -1
  234. package/dist/src/serialization/index.d.ts.map +1 -1
  235. package/dist/src/types.d.ts +1 -1
  236. package/dist/src/types.d.ts.map +1 -1
  237. package/dist/src/types.js +7 -6
  238. package/dist/src/types.js.map +1 -1
  239. package/package.json +6 -3
@@ -0,0 +1,627 @@
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
+ * The jq translator: a checked program as ordinary East IR, typed from the
7
+ * checker's types (`devdocs/QUERY.md` §15).
8
+ *
9
+ * A filter is generated with a continuation that receives each of its
10
+ * outputs: `a | b` generates `b` in `a`'s continuation, `.[]` is a loop, and
11
+ * early exit (`first`, `limit`, `label`) is a labelled break out of every loop
12
+ * between. Every value is built by an East builtin, so a query runs wherever
13
+ * East IR runs; a runtime's only part is the `Query` builtin, which carries a
14
+ * query beside its translation and runs the translation (#1041).
15
+ *
16
+ * @packageDocumentation
17
+ */
18
+ import type { AST, Label } from "../../ast.js";
19
+ import type { BuiltinName } from "../../builtins.js";
20
+ import { BlockBuilder } from "../../expr/block.js";
21
+ import { Expr } from "../../expr/expr.js";
22
+ import type { FunctionExpr } from "../../expr/function.js";
23
+ import { type EastType } from "../../types.js";
24
+ import { type CheckJqResult } from "./check.js";
25
+ import { type Facts, type Result, type Shape } from "./shapes.js";
26
+ import { type JqNode, type JqPattern } from "./spans.js";
27
+ /** Options for {@link translateJq}. */
28
+ export interface TranslateJqOptions {
29
+ /**
30
+ * Stop after this many outputs of a `many` query, and one more, so a caller
31
+ * can tell the result was cut short: the caller's limit.
32
+ */
33
+ maxOutputs?: number;
34
+ /** Translate the tooling-only builtins, `signature`, `source`, `calls` and `captures`, to calls of platform functions the host gives. */
35
+ tooling?: boolean;
36
+ }
37
+ /** A checked program as East IR. */
38
+ export interface JqTranslation {
39
+ /**
40
+ * The translation's parameters, in order: one per field of an e3 root the
41
+ * program reads (`name` the field's), or the one input (`name` `null`).
42
+ */
43
+ inputs: {
44
+ name: string | null;
45
+ type: EastType;
46
+ }[];
47
+ /** The result's type: the element type `T` for `one`, `Option<T>` for `maybe`, `Array<T>` for `many`. */
48
+ resultType: EastType;
49
+ /**
50
+ * The translation over given inputs, as a block expression.
51
+ *
52
+ * @param inputs - one expression per {@link JqTranslation.inputs}, in order
53
+ * @returns the result, of {@link JqTranslation.resultType}
54
+ */
55
+ build(...inputs: Expr[]): Expr;
56
+ /** The translation as an East function of its inputs. */
57
+ fn(): FunctionExpr<any[], any>;
58
+ /**
59
+ * A call of the `Query` builtin over given inputs, as `East.jq` emits it
60
+ * (#1041): the builtin's arguments are the program as written and a root's
61
+ * input names, a typed constant (`QueryCallType`), and the translation, an
62
+ * East function of every input the query was checked against, which reads
63
+ * those the query reads and whose type carries the query's types; the
64
+ * call's arguments are the inputs. Running the call runs the translation,
65
+ * and printers print it back as `East.jq`.
66
+ *
67
+ * @param inputs - one expression per field of a root, in the root's order,
68
+ * or the one input
69
+ * @returns the result, of {@link JqTranslation.resultType}
70
+ * @throws {TranslationError} When the inputs are not one per field of the
71
+ * root, or the one input.
72
+ */
73
+ call(...inputs: Expr[]): Expr;
74
+ }
75
+ /** The input of a program checked as an e3 root: each field it reads, an input of its own. @internal */
76
+ export interface RootValue {
77
+ readonly root: true;
78
+ readonly fields: ReadonlyMap<string, Expr>;
79
+ }
80
+ /** A value the translation passes along: an East expression, or the root. @internal */
81
+ export type Value = Expr | RootValue;
82
+ /**
83
+ * A type with its parts readable, for code that has decided its kind: an
84
+ * array's `value`, a dict's `key`, a struct's `fields`.
85
+ *
86
+ * @internal
87
+ */
88
+ export type TypeParts = EastType & {
89
+ readonly value: EastType;
90
+ readonly key: EastType;
91
+ readonly element: EastType;
92
+ readonly node: EastType;
93
+ readonly fields: Record<string, EastType>;
94
+ readonly cases: Record<string, EastType>;
95
+ readonly inputs: EastType[];
96
+ readonly output: EastType;
97
+ };
98
+ /** A type, its parts readable. @internal */
99
+ export declare function parts(type: EastType): TypeParts;
100
+ /** A block being written. @internal */
101
+ export type Block = BlockBuilder<any>;
102
+ /** What receives each output of a filter: the block to write in, and the output. @internal */
103
+ export type Emit = ($: Block, value: Expr) => void;
104
+ /**
105
+ * A position's new value in an update: the value, and whether it is an
106
+ * option whose `none` deletes the position (`|=` with no output).
107
+ *
108
+ * @internal
109
+ */
110
+ export interface Update {
111
+ readonly value: Expr;
112
+ readonly optional: boolean;
113
+ }
114
+ /**
115
+ * What gives a position's new value in an update, from its old value: the
116
+ * new value, or `undefined` when the update never gives one there.
117
+ *
118
+ * @internal
119
+ */
120
+ export type UpdateFn = ($: Block, old: Expr) => Update | undefined;
121
+ /** A `def` or a filter parameter in scope. */
122
+ type Binding = {
123
+ kind: "def";
124
+ node: Extract<JqNode, {
125
+ type: "def";
126
+ }>;
127
+ path: string;
128
+ env: () => Env;
129
+ } | {
130
+ kind: "param";
131
+ arg: JqNode;
132
+ path: string;
133
+ env: Env;
134
+ };
135
+ /** What is in scope where a node is generated. @internal */
136
+ export interface Env {
137
+ readonly vars: ReadonlyMap<string, Value>;
138
+ readonly defs: ReadonlyMap<string, Binding>;
139
+ readonly labels: ReadonlyMap<string, Label>;
140
+ /** Which instance of a `def`'s body this is, as the checker names it. */
141
+ readonly instance: string;
142
+ /** Recursive defs being generated, by their instance signature: the reference holding each one's function. */
143
+ readonly recursion: ReadonlyMap<string, Expr>;
144
+ /**
145
+ * The path of a fold's update that sets a key of the fold's state in place:
146
+ * nothing else holds the state, so it changes without a copy (#1093).
147
+ */
148
+ readonly inPlace?: string;
149
+ }
150
+ /** A call of a builtin being translated. @internal */
151
+ export interface CallSite {
152
+ /** The builtin as called. */
153
+ readonly name: string;
154
+ readonly path: string;
155
+ readonly args: readonly JqNode[];
156
+ readonly argPaths: readonly string[];
157
+ readonly $: Block;
158
+ readonly x: Value;
159
+ readonly env: Env;
160
+ readonly emit: Emit;
161
+ }
162
+ /** A builtin's translation. @internal */
163
+ export type BuiltinRule = (t: Translator, call: CallSite) => void;
164
+ /**
165
+ * Raised when a checked program holds something the translator cannot
166
+ * express. The checker refuses what a query may not do, so this marks a gap
167
+ * in the translation, never a mistake in the query.
168
+ */
169
+ export declare class TranslationError extends Error {
170
+ constructor(message: string);
171
+ }
172
+ /** Whether a value is the root. @internal */
173
+ export declare function isRoot(value: Value): value is RootValue;
174
+ /** The translator for one checked program. @internal */
175
+ export declare class Translator {
176
+ readonly checked: CheckJqResult;
177
+ readonly options: TranslateJqOptions;
178
+ private readonly locs;
179
+ private readonly retyped;
180
+ constructor(checked: CheckJqResult, options: TranslateJqOptions);
181
+ /** The error for a gap in the translation. */
182
+ gap(message: string): TranslationError;
183
+ /** The location of a node in the jq text, as the IR's source map holds it: file `jq`, its line and column. */
184
+ loc(path: string): bigint;
185
+ mk(ast: AST): Expr;
186
+ ast(e: Expr): AST;
187
+ type(e: Expr): TypeParts;
188
+ block(): Block;
189
+ /** Whether a block has ended: its last statement breaks, raises or returns. */
190
+ ended($: Block): boolean;
191
+ /** A call of an East builtin. */
192
+ b(name: BuiltinName, typeParameters: EastType[], args: Expr[], output: EastType, path: string): Expr;
193
+ /** A constant of a type. */
194
+ value(v: unknown, type: EastType, path?: string): Expr;
195
+ int(n: number | bigint, path?: string): Expr;
196
+ float(n: number, path?: string): Expr;
197
+ str(s: string, path?: string): Expr;
198
+ bool(v: boolean, path?: string): Expr;
199
+ null(path?: string): Expr;
200
+ /**
201
+ * A value as a wider type it is a subtype of. A recursive type equals its
202
+ * node to East's type checks, but a value passes between the two through
203
+ * its wrapper, which this adds or takes away.
204
+ */
205
+ as(e: Expr, type: EastType): Expr;
206
+ /**
207
+ * An option holding a value. An option that can only be none
208
+ * (`Option<Never>`, over an empty collection's elements) is never made
209
+ * some: the payload, a value that never arrives, stands for it, as East's
210
+ * builders cannot spell a case of Never.
211
+ */
212
+ some(payload: Expr, optionType: EastType): Expr;
213
+ none(optionType: EastType): Expr;
214
+ /**
215
+ * A case of a variant type, wrapped when the type is recursive. A case of
216
+ * Never is never made: the payload, which never arrives, stands for it.
217
+ */
218
+ variantOf(type: EastType, name: string, payload: Expr): Expr;
219
+ /**
220
+ * A struct of a type from its fields' values, wrapped when the type is
221
+ * recursive. A struct with a field of Never is never made: that field's
222
+ * value, which never arrives, stands for it.
223
+ */
224
+ struct(type: EastType, fields: Readonly<Record<string, Expr>>): Expr;
225
+ /** A field of a struct value. */
226
+ field(struct: Expr, name: string): Expr;
227
+ /** A value read through its recursive wrapper and references: what jq sees. */
228
+ open(e: Expr): Expr;
229
+ /** A call of a function value. */
230
+ callFn(fn: Expr, args: Expr[], path: string): Expr;
231
+ /** An East function value, built from a body that gives its result. */
232
+ lambda(inputs: EastType[], output: EastType, names: string[], body: ($: Block, ...params: Expr[]) => Expr | void, path: string): Expr;
233
+ /** A function of East's float library, called on a number. */
234
+ round(name: "roundFloor" | "roundCeil" | "roundHalf" | "roundTrunc", v: Expr, $: Block, path: string): Expr;
235
+ /** Declares a variable holding a value: `let` when `mutable`, else `const`. */
236
+ declare($: Block, init: Expr, name: string, mutable?: boolean, type?: EastType): Expr;
237
+ /** A value bound to a variable of its own, unless it is one already or a constant: so it is computed once. */
238
+ bind($: Block, e: Expr, name: string): Expr;
239
+ assign($: Block, variable: Expr, value: Expr): void;
240
+ /** An expression evaluated for its effect. */
241
+ stmt($: Block, e: Expr): void;
242
+ /** A runtime error, located at a node. */
243
+ raise($: Block, message: Expr | string, path: string): void;
244
+ brk($: Block, label: Label): void;
245
+ /** A block's statements as one body, closed as the builder closes a block: null-terminated. */
246
+ body(inner: Block): AST;
247
+ /**
248
+ * Statements the last of which diverges, as one body, assembled as the
249
+ * builders assemble one: a single statement is that statement.
250
+ */
251
+ diverging(statements: AST[]): AST;
252
+ /** A block that gives a value: its statements, then the value. */
253
+ blockValue(build: ($: Block) => Expr, type: EastType): AST;
254
+ /** Loops over an array, set, dict, vector or matrix: each element (a set's key; a dict's value, and its key). */
255
+ forEach($: Block, collection: Expr, each: ($: Block, value: Expr, key: Expr | undefined, label: Label) => void, path: string, name?: string): void;
256
+ /** A loop while a condition holds; `true` for one left only by `break`. */
257
+ whileLoop($: Block, condition: Expr | true, body: ($: Block, label: Label) => void, path: string): void;
258
+ /** A block that runs once, with a label that leaves it early: how a stream stops. */
259
+ once($: Block, body: ($: Block, label: Label) => void, path: string): void;
260
+ /** `if`, with an optional `else`. */
261
+ ifElse($: Block, condition: Expr, then: ($: Block) => void, otherwise: (($: Block) => void) | undefined, path: string): void;
262
+ /** Runs `then` where a condition holds and `otherwise` where it does not; a known condition runs one of them only. */
263
+ branch($: Block, condition: Expr | boolean, then: ($: Block) => void, otherwise: ($: Block) => void, path: string): void;
264
+ /** A statement that runs a handler for the case a variant holds; a case with no handler does nothing. */
265
+ match($: Block, v: Expr, handlers: Readonly<Record<string, ($: Block, payload: Expr) => void>>, path: string): void;
266
+ /** A value chosen by the case a variant holds: each case's block gives it. */
267
+ matchValue(v: Expr, cases: Readonly<Record<string, ($: Block, payload: Expr) => Expr>>, type: EastType, path: string): Expr;
268
+ /** A variant with each case's payload given by `f` of it, of the variant type the new payloads make. */
269
+ mapPayloads(v: Expr, f: ($: Block, name: string, payload: Expr) => Expr, path: string): Expr;
270
+ /** A value chosen by a condition. */
271
+ ifValue(condition: Expr, then: ($: Block) => Expr, otherwise: ($: Block) => Expr, type: EastType, path: string): Expr;
272
+ /** `try`/`catch`: the handler receives the error's message. */
273
+ tryCatch($: Block, body: ($: Block) => void, handler: ($: Block, message: Expr) => void, path: string): void;
274
+ emptyArray(element: EastType): Expr;
275
+ /** Appends a value to an array variable. */
276
+ push($: Block, array: Expr, v: Expr, path: string): void;
277
+ /** Sets a key of a dict variable, inserting it or replacing its value. */
278
+ put($: Block, dict: Expr, key: Expr, v: Expr, path: string): void;
279
+ /** An array-like value as an array: an array itself, a set's keys, a vector's elements, a matrix's rows. */
280
+ asArray($: Block, v: Expr, path: string): Expr | undefined;
281
+ /** The number of elements of an array. */
282
+ size(array: Expr, path: string): Expr;
283
+ lt(a: Expr, b: Expr, path: string): Expr;
284
+ eq(a: Expr, b: Expr, path: string): Expr;
285
+ add(a: Expr, b: Expr, path: string): Expr;
286
+ not(a: Expr, path: string): Expr;
287
+ /** A literal node's value and type, as the program writes it. */
288
+ literal(node: Extract<JqNode, {
289
+ type: "literal";
290
+ }>): {
291
+ type: EastType;
292
+ value: unknown;
293
+ };
294
+ /** A node's value when it is a literal, as the program writes it. */
295
+ literalOf(node: JqNode | undefined): {
296
+ type: EastType;
297
+ value: unknown;
298
+ } | undefined;
299
+ /** An expression's value when it is a constant. */
300
+ constant(e: Expr): {
301
+ value: unknown;
302
+ } | undefined;
303
+ /** What checking a node gave in an instance. */
304
+ result(path: string, env: Env): Result | null;
305
+ /** The one type a node's outputs share, as the checker collects them. */
306
+ typeAt(path: string, env: Env): TypeParts;
307
+ /** A node's text. */
308
+ text(path: string): string;
309
+ /** What narrowing proved about a value of a type in a shape. */
310
+ factsIn(shape: Shape | null | undefined, type: EastType): Facts | undefined;
311
+ /** The instance a node's records are in for an input: its own, or one checked again for this input's type. */
312
+ envFor(path: string, env: Env, x: Value): Env;
313
+ /**
314
+ * A value as a type the checker widened it to: Integer as Float, `T` or
315
+ * `null` as `Option<T>`, and arrays, dicts, structs and variants element by
316
+ * element; and a string literal the checker read as a DateTime, as the
317
+ * DateTime it writes.
318
+ *
319
+ * @throws {TranslationError} When the type is not wider.
320
+ */
321
+ widenTo($: Block, e: Expr, to: EastType, path: string): Expr;
322
+ /**
323
+ * Gives a value to `emit` as the checker's type for it: widened, or
324
+ * narrowed as narrowing proved. A `null` where the checker proved a value
325
+ * never reaches `emit`, and an option it proved present gives its payload.
326
+ */
327
+ emitAs($: Block, e: Expr, to: EastType, path: string, emit: Emit): void;
328
+ /** Whether a value is true to jq, not `false` or `null`: a constant when its type decides it. */
329
+ truthy(e: Expr, path: string): Expr | boolean;
330
+ asExpr(v: Expr | boolean): Expr;
331
+ /**
332
+ * Generates a node: code in `$` that gives each of its outputs to `emit`,
333
+ * as the checker's type for them.
334
+ */
335
+ gen(node: JqNode, path: string, $: Block, x: Value, env: Env, emit: Emit): void;
336
+ /** Generates a node, each output as the one type its outputs share. */
337
+ collected(node: JqNode, path: string, $: Block, x: Value, env: Env, emit: Emit): void;
338
+ /**
339
+ * The one output of a node that gives exactly one, as an expression of a
340
+ * type: the value itself when the node gives it once in `$`, else a
341
+ * variable each place that gives it assigns.
342
+ */
343
+ one(node: JqNode, path: string, $: Block, x: Value, env: Env, type: EastType): Expr;
344
+ /** A value of a type to start a variable with, assigned before it is read. */
345
+ placeholder(type: EastType): Expr;
346
+ /** A plain value of a type, when there is one. */
347
+ zeroOf(type: EastType, seen: ReadonlySet<EastType>): Expr | undefined;
348
+ private genNode;
349
+ /**
350
+ * `-v`: a number negated. Any other value raises jq's error, naming its
351
+ * kind, as a lenient place (`try`, `?`) lets it by; an option is null, or
352
+ * its value.
353
+ */
354
+ negate($: Block, v: Expr, path: string, emit: Emit): void;
355
+ /** `$__loc__`: where a node is, as jq gives it. */
356
+ location(path: string): Expr;
357
+ /** A value that must be an expression: the root is only ever read a field at a time. */
358
+ expr(v: Value, path: string): Expr;
359
+ /** `.name` on a value, as jq reads it: `facts` say which cases a variant can hold. */
360
+ readField($: Block, v: Value, name: string, optional: boolean, path: string, facts: Facts | undefined, emit: Emit): void;
361
+ /** A dict's value at a key: `null` when it lacks the key. */
362
+ dictGet($: Block, dict: Expr, key: Expr, path: string, emit: Emit): void;
363
+ private genIndex;
364
+ /** `.[k]` on a value. */
365
+ indexOf($: Block, v: Expr, k: Expr, optional: boolean, path: string, emit: Emit): void;
366
+ private genSlice;
367
+ /** `.[a:b]` on a value: half-open, negative bounds counted from the end, clamped. */
368
+ sliceOf($: Block, v: Expr, a: Expr | undefined, b: Expr | undefined, optional: boolean, path: string, emit: Emit): void;
369
+ /** A slice bound as an index: absent or null for its default, negative from the end, clamped to the length. */
370
+ boundOf($: Block, b: Expr | undefined, fallback: Expr, length: Expr, path: string): Expr;
371
+ /** `.[]` on a value: an array's elements, a set's, a dict's values in key order, a struct's field values in order. */
372
+ iterate($: Block, v: Expr, optional: boolean, path: string, emit: Emit): void;
373
+ /** The kinds of value `..` finds directly inside a value of a type, as the checker walks them. */
374
+ childKinds(type: EastType): EastType[];
375
+ /** Gives each value `..` finds directly inside a value to `emit`, in order. */
376
+ children($: Block, v: Expr, path: string, emit: Emit): void;
377
+ /**
378
+ * `..`: a value and every value inside it, in pre-order. A recursive type
379
+ * is walked with a stack of the kinds of value it holds, so the IR needs no
380
+ * recursion.
381
+ */
382
+ descend($: Block, v: Expr, path: string, emit: Emit): void;
383
+ /**
384
+ * A depth-first walk with an explicit stack of values of several kinds:
385
+ * `visit` gets each value in pre-order, and a `push` for the values to walk
386
+ * after it, first to last.
387
+ */
388
+ walkStack($: Block, start: Expr, kinds: readonly EastType[], path: string, visit: ($: Block, value: Expr, push: Emit) => void): void;
389
+ private genObject;
390
+ /**
391
+ * A string with interpolations: each combination of the interpolated
392
+ * values, each written by `text` (`tostring`, or a format).
393
+ */
394
+ genString(parts: readonly {
395
+ type: string;
396
+ value: any;
397
+ }[], path: string, $: Block, x: Value, env: Env, emit: Emit, text: ($: Block, v: Expr) => Expr, partsPath: string): void;
398
+ /** Two strings joined. */
399
+ concat(a: Expr, b: Expr, path: string): Expr;
400
+ /** jq's `tostring`: a string as it is, `null` as `null`, anything else as its East text (§13.9). */
401
+ tostring($: Block, v: Expr, path: string): Expr;
402
+ private genBinary;
403
+ /** A comparison: East's order within a kind, jq's order across kinds (null, booleans, numbers, strings, arrays, objects). */
404
+ compare($: Block, op: string, a: Expr, b: Expr, path: string): Expr;
405
+ /**
406
+ * An arithmetic operator on two values, as jq defines it for their kinds:
407
+ * its value, or an error expression (of type Never) for kinds it does not
408
+ * combine, which only a lenient place (`try`, `?`) lets through.
409
+ */
410
+ arith($: Block, op: string, a: Expr, b: Expr, path: string): Expr;
411
+ /**
412
+ * jq's `%`: the remainder of the numbers truncated to 64-bit integers, one
413
+ * beyond the range taken as its end (±Infinity too). Integers give an
414
+ * Integer; with a Float, a NaN gives NaN, and the remainder is a Float. A
415
+ * divisor of 0 raises, as IntegerRemainder does.
416
+ */
417
+ private remainder;
418
+ /** A Float truncated to an Integer as jq's `dtoi` takes it: below the range its least, above it its greatest. */
419
+ private truncated;
420
+ /**
421
+ * jq's string repetition: `n` copies of a string, a Float count truncated,
422
+ * at most 2³¹ − 1 as jq takes it. A negative count, or NaN, gives null.
423
+ */
424
+ private repeat;
425
+ /** jq's split of a string by a separator: an empty string has no parts. */
426
+ split($: Block, s: Expr, separator: Expr, path: string): Expr;
427
+ /** Whether a Float is NaN: East's order puts it above +Infinity. */
428
+ isNan(f: Expr, path: string): Expr;
429
+ /** An expression that raises an error: of type Never, so it stands for a value of any type. */
430
+ failure(message: string, path: string): Expr;
431
+ /** Gives a value to `emit`, unless it is an error expression, which runs as a statement instead. */
432
+ give($: Block, v: Expr, emit: Emit): void;
433
+ /** A value chosen by the case a variant holds, of the one type the cases' values share. */
434
+ matchAuto(v: Expr, cases: Readonly<Record<string, ($: Block, payload: Expr) => Expr>>, path: string): Expr;
435
+ /** `a + b` on structs: `b`'s fields win, and new ones follow; `a * b` merges fields that are objects in both deeply. */
436
+ mergeStructs($: Block, a: Expr, b: Expr, deep: boolean, path: string): Expr;
437
+ /**
438
+ * `a + b` on dicts: every key of both, `b`'s value where both hold one;
439
+ * `a * b` merges those values deeply where both are objects.
440
+ */
441
+ mergeDicts($: Block, a: Expr, b: Expr, deep: boolean, path: string): Expr;
442
+ /**
443
+ * Two values merged as jq's `*` merges them: structs and dicts deeply, an
444
+ * option of one where both hold a value; anything else is `b`.
445
+ */
446
+ deepMerge($: Block, a: Expr, b: Expr, path: string): Expr;
447
+ private genAlternative;
448
+ /** Gives a value to `emit` when it is neither false nor null, out of its option. */
449
+ present($: Block, v: Expr, path: string, emit: Emit): void;
450
+ private genIf;
451
+ /**
452
+ * Runs a condition's continuation with its input opened when the condition
453
+ * tests its type: `type == "number"` on an option then knows which it holds,
454
+ * and the branch it rules out is never generated.
455
+ */
456
+ narrowed($: Block, x: Value, conditionPath: string, env: Env, then: ($: Block, value: Value) => void): void;
457
+ private genTry;
458
+ private genFold;
459
+ /**
460
+ * Whether a fold's update may set a key of its state in place, as jq
461
+ * changes a value nothing else holds (#1093). The state is a dict; the
462
+ * update sets a key of it, `.[k]` or `.name` with `=`, `|=` or an
463
+ * arithmetic update, perhaps further down (`.[k].n += 1`), where only the
464
+ * state's own key is set in place; the value of `=` and of an arithmetic
465
+ * update is one value, which holds nothing of the state; and a `foreach`
466
+ * gives what its `extract` reads of the state, never the state. A key is
467
+ * of an immutable type, so it never holds the state, and `|=`'s update runs
468
+ * on the old value at the key, which cannot reach the state.
469
+ */
470
+ private updatesInPlace;
471
+ /**
472
+ * Whether a filter's outputs on a fold's state hold nothing of it: they
473
+ * are of an immutable type, which holds no dict, or {@link stateHeldBy}
474
+ * finds them read from the state or made without it.
475
+ */
476
+ private holdsNoState;
477
+ private genBind;
478
+ /**
479
+ * Binds a pattern's variables to the parts of a value, each as the type the
480
+ * checker gave the variable where the body runs.
481
+ */
482
+ destructure($: Block, pattern: JqPattern, path: string, value: Value, env: Env, bodyPath: string, then: ($: Block, vars: ReadonlyMap<string, Value>) => void): void;
483
+ private genCall;
484
+ /**
485
+ * A recursive def with value parameters: an East function held in a
486
+ * reference, which its own body calls through the reference. It returns
487
+ * its whole stream as an array, so early exit does not reach into it.
488
+ */
489
+ private genRecursive;
490
+ /** A call of a recursive def through its reference: its stream, in order. */
491
+ private callRecursive;
492
+ /** A builtin, by its rule. */
493
+ genBuiltin(name: string, args: readonly JqNode[], argPaths: readonly string[], path: string, $: Block, x: Value, env: Env, emit: Emit): void;
494
+ private genUpdate;
495
+ /** What an update gives: the value, `null` where it deleted `.` itself (an optional value's `none`), as jq gives it. */
496
+ private whole;
497
+ /** The type of an update's new value: an optional one's payload. */
498
+ updateType(update: Update): EastType;
499
+ /** The first output of a filter: exactly it when there is always one, else an option whose `none` is no output. */
500
+ firstOf(node: JqNode, path: string, $: Block, x: Expr, env: Env): Update | undefined;
501
+ /**
502
+ * A value with the positions a path names updated: `f` gives each
503
+ * position's new value from its old one, or none, which deletes it. With
504
+ * `inPlace`, `v` is a fold's state nothing else holds, and the key of it
505
+ * the path sets is set in place (#1093); a position further down is set in
506
+ * a copy, as any other is.
507
+ *
508
+ * @returns the value updated; an option of it, none where `.` itself was
509
+ * deleted; or `undefined` where it always is
510
+ */
511
+ modify($: Block, v: Expr, target: JqNode, path: string, env: Env, f: UpdateFn, inPlace?: boolean): Update | undefined;
512
+ /**
513
+ * An update where a filter keeps the value (`select(f)`, `numbers`):
514
+ * `each` calls `then` with the value, narrowed, each time the filter keeps
515
+ * it, and `f` gives the new value there; where it is not kept, it stays.
516
+ */
517
+ private selected;
518
+ /** An update's value where the position cannot be deleted (a struct field, a variant's payload): an error where it has none. */
519
+ required($: Block, update: Update, path: string): Expr;
520
+ /**
521
+ * A position that cannot be deleted: its new value, or where the update
522
+ * never gives one, an error raised there (and a value of its type for the
523
+ * code after, which never runs).
524
+ */
525
+ private kept;
526
+ /**
527
+ * A struct of some fields' values: of the original's type, recursive
528
+ * wrapper and all, when its fields' types are the original's.
529
+ */
530
+ private rebuilt;
531
+ /**
532
+ * A struct with one field replaced or added, or deleted by an update that
533
+ * gives none; a dict's string key set, in place with `inPlace`, as
534
+ * {@link Translator.setIndex} sets it; a variant's payload; `null` made a
535
+ * struct. With `?`, a value of another kind is unchanged.
536
+ */
537
+ setField($: Block, v: Expr, name: string, optional: boolean, path: string, env: Env, f: UpdateFn, inPlace?: boolean): Expr;
538
+ /**
539
+ * A variant with its payload updated, in each case the checker found it can
540
+ * hold there; in the others it is as it was. A payload cannot be deleted.
541
+ */
542
+ private setPayload;
543
+ /** An array without the element at an index. */
544
+ private without;
545
+ /**
546
+ * An array or dict with one element replaced, or deleted where the update
547
+ * gives none; an empty struct or `null` made a dict. With `?`, a value of
548
+ * another kind is unchanged. With `inPlace`, a dict nothing else holds is
549
+ * changed itself, not a copy of it, while its values' type stays (#1093).
550
+ */
551
+ setIndex($: Block, v: Expr, key: Expr, optional: boolean, path: string, f: UpdateFn, inPlace?: boolean): Expr;
552
+ /**
553
+ * An array with a slice replaced by the array the update gives, or deleted
554
+ * where it gives none; `null`'s slice is null, so the update's array is
555
+ * the value. With `?`, a value of another kind is unchanged.
556
+ */
557
+ setSlice($: Block, v: Expr, a: Expr | undefined, b: Expr | undefined, optional: boolean, path: string, f: UpdateFn): Expr;
558
+ /**
559
+ * Every element, dict value or struct field replaced; an element or value
560
+ * with no new value is deleted, and a field whose update never gives one.
561
+ * With `?`, a value of another kind is unchanged.
562
+ */
563
+ setEach($: Block, v: Expr, optional: boolean, path: string, f: UpdateFn): Expr;
564
+ /**
565
+ * `..`, `recurse` or `recurse(.a[])` in an update's path: in pre-order,
566
+ * each position the walk visits is updated by `f`, then the positions
567
+ * inside it that it had before its update, in turn. A value of a recursive
568
+ * type is walked by a function its own positions call, through a
569
+ * reference, each declared before the walk.
570
+ */
571
+ private walkUpdate;
572
+ /**
573
+ * A value with the positions `..` finds inside it walked: an option's
574
+ * value's positions, a variant's payload (its case's name is not a
575
+ * position), and the elements, dict values and struct fields of
576
+ * {@link Translator.walkElements}; only those `old`, the value before its
577
+ * own update, had.
578
+ */
579
+ private walkInside;
580
+ /**
581
+ * `recurse(.a.b[])`'s positions inside a value, walked: along the fields,
582
+ * then each element there that `old` had.
583
+ */
584
+ private walkAlong;
585
+ /**
586
+ * The positions `.[]` names inside a value, each walked by `node`: an
587
+ * array's elements, a set's, a dict's values, a struct's fields, and those
588
+ * of an option's value; only those `old` had. An element or dict value the
589
+ * walk gives no value is deleted.
590
+ */
591
+ private walkElements;
592
+ }
593
+ /** How jq names a value's kind in its error messages. @internal */
594
+ export declare function jqKind(type: EastType): string;
595
+ /**
596
+ * Translates a checked jq program to East IR.
597
+ *
598
+ * @param checked - what {@link checkJq} made of the program; it must have no
599
+ * error
600
+ * @param options - `maxOutputs` for a limit, `tooling` for the tooling-only
601
+ * builtins
602
+ * @returns the translation: its inputs, its result type, and builders for the
603
+ * IR
604
+ * @throws {TranslationError} When the program does not check, or holds
605
+ * something the translator cannot express.
606
+ *
607
+ * @remarks
608
+ * Streams become loops that give each output to what consumes it, and the
609
+ * program's result is its sink: the value for `one`, an `Option` for `maybe`,
610
+ * an `Array` for `many`. Checked as an e3 root, each root field the program
611
+ * reads is an input of its own, so a lazy dataset is read only where the
612
+ * query reads it (`devdocs/QUERY.md` §15).
613
+ *
614
+ * @example
615
+ * ```ts
616
+ * const Order = StructType({ id: IntegerType, total: FloatType });
617
+ * const checked = checkJq(".orders | map(.total) | add", StructType({ orders: ArrayType(Order) }), { root: true });
618
+ * const translation = translateJq(checked);
619
+ * translation.inputs; // [{ name: "orders", type: ArrayType(Order) }]
620
+ * translation.resultType; // FloatType
621
+ * const total = East.compile(translation.fn(), []);
622
+ * total([{ id: 1n, total: 2.5 }, { id: 2n, total: 4.0 }]); // 6.5
623
+ * ```
624
+ */
625
+ export declare function translateJq(checked: CheckJqResult, options?: TranslateJqOptions): JqTranslation;
626
+ export {};
627
+ //# sourceMappingURL=translate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"translate.d.ts","sourceRoot":"","sources":["../../../../src/query/jq/translate.ts"],"names":[],"mappings":"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"}