litedbmodel 2.1.0 → 2.2.0

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 (186) hide show
  1. package/README.md +7 -0
  2. package/dist/DBConditions.d.ts.map +1 -1
  3. package/dist/DBConditions.js +16 -1
  4. package/dist/DBConditions.js.map +1 -1
  5. package/dist/DBHandler.d.ts.map +1 -1
  6. package/dist/DBHandler.js +6 -0
  7. package/dist/DBHandler.js.map +1 -1
  8. package/dist/DBModel.d.ts +84 -2
  9. package/dist/DBModel.d.ts.map +1 -1
  10. package/dist/DBModel.js +312 -29
  11. package/dist/DBModel.js.map +1 -1
  12. package/dist/decorators.d.ts +52 -0
  13. package/dist/decorators.d.ts.map +1 -1
  14. package/dist/decorators.js +83 -0
  15. package/dist/decorators.js.map +1 -1
  16. package/dist/drivers/mysql.d.ts.map +1 -1
  17. package/dist/drivers/mysql.js +6 -2
  18. package/dist/drivers/mysql.js.map +1 -1
  19. package/dist/drivers/postgres.d.ts.map +1 -1
  20. package/dist/drivers/postgres.js +6 -2
  21. package/dist/drivers/postgres.js.map +1 -1
  22. package/dist/drivers/sqlite.d.ts.map +1 -1
  23. package/dist/drivers/sqlite.js +12 -2
  24. package/dist/drivers/sqlite.js.map +1 -1
  25. package/dist/index.cjs +10741 -0
  26. package/dist/index.d.cts +1 -0
  27. package/dist/scp/coltype.d.ts +26 -1
  28. package/dist/scp/coltype.d.ts.map +1 -1
  29. package/dist/scp/coltype.js +82 -15
  30. package/dist/scp/coltype.js.map +1 -1
  31. package/dist/scp/connection-routing.d.ts +312 -0
  32. package/dist/scp/connection-routing.d.ts.map +1 -0
  33. package/dist/scp/connection-routing.js +394 -0
  34. package/dist/scp/connection-routing.js.map +1 -0
  35. package/dist/scp/dbmodel-runtime.d.ts +101 -0
  36. package/dist/scp/dbmodel-runtime.d.ts.map +1 -0
  37. package/dist/scp/dbmodel-runtime.js +174 -0
  38. package/dist/scp/dbmodel-runtime.js.map +1 -0
  39. package/dist/scp/decorator-adapter.d.ts +196 -0
  40. package/dist/scp/decorator-adapter.d.ts.map +1 -0
  41. package/dist/scp/decorator-adapter.js +286 -0
  42. package/dist/scp/decorator-adapter.js.map +1 -0
  43. package/dist/scp/emit/emitter.d.ts +108 -0
  44. package/dist/scp/emit/emitter.d.ts.map +1 -0
  45. package/dist/scp/emit/emitter.js +782 -0
  46. package/dist/scp/emit/emitter.js.map +1 -0
  47. package/dist/scp/emit/endpoint.d.ts +248 -0
  48. package/dist/scp/emit/endpoint.d.ts.map +1 -0
  49. package/dist/scp/emit/endpoint.js +20 -0
  50. package/dist/scp/emit/endpoint.js.map +1 -0
  51. package/dist/scp/emit/index.d.ts +11 -0
  52. package/dist/scp/emit/index.d.ts.map +1 -0
  53. package/dist/scp/emit/index.js +13 -0
  54. package/dist/scp/emit/index.js.map +1 -0
  55. package/dist/scp/errors.d.ts +45 -1
  56. package/dist/scp/errors.d.ts.map +1 -1
  57. package/dist/scp/errors.js +47 -1
  58. package/dist/scp/errors.js.map +1 -1
  59. package/dist/scp/exec-context.d.ts +390 -0
  60. package/dist/scp/exec-context.d.ts.map +1 -0
  61. package/dist/scp/exec-context.js +540 -0
  62. package/dist/scp/exec-context.js.map +1 -0
  63. package/dist/scp/grouping.d.ts +32 -0
  64. package/dist/scp/grouping.d.ts.map +1 -0
  65. package/dist/scp/grouping.js +0 -0
  66. package/dist/scp/grouping.js.map +1 -0
  67. package/dist/scp/index.cjs +6814 -15731
  68. package/dist/scp/index.d.cts +1 -0
  69. package/dist/scp/index.d.mts +1 -0
  70. package/dist/scp/index.d.ts +47 -49
  71. package/dist/scp/index.d.ts.map +1 -1
  72. package/dist/scp/index.js +174 -152
  73. package/dist/scp/index.js.map +1 -1
  74. package/dist/scp/index.mjs +5561 -3704
  75. package/dist/scp/leaf-transport.d.ts +50 -0
  76. package/dist/scp/leaf-transport.d.ts.map +1 -0
  77. package/dist/scp/leaf-transport.js +92 -0
  78. package/dist/scp/leaf-transport.js.map +1 -0
  79. package/dist/scp/leaves.d.ts +174 -0
  80. package/dist/scp/leaves.d.ts.map +1 -0
  81. package/dist/scp/leaves.js +287 -0
  82. package/dist/scp/leaves.js.map +1 -0
  83. package/dist/scp/limit-config.d.ts +118 -0
  84. package/dist/scp/limit-config.d.ts.map +1 -0
  85. package/dist/scp/limit-config.js +126 -0
  86. package/dist/scp/limit-config.js.map +1 -0
  87. package/dist/scp/makesql/compile-relation.d.ts +49 -23
  88. package/dist/scp/makesql/compile-relation.d.ts.map +1 -1
  89. package/dist/scp/makesql/compile-relation.js +101 -76
  90. package/dist/scp/makesql/compile-relation.js.map +1 -1
  91. package/dist/scp/makesql/compile-select.d.ts +45 -10
  92. package/dist/scp/makesql/compile-select.d.ts.map +1 -1
  93. package/dist/scp/makesql/compile-select.js +50 -10
  94. package/dist/scp/makesql/compile-select.js.map +1 -1
  95. package/dist/scp/makesql/handler.d.ts +1 -1
  96. package/dist/scp/makesql/handler.d.ts.map +1 -1
  97. package/dist/scp/makesql/index.d.ts +7 -9
  98. package/dist/scp/makesql/index.d.ts.map +1 -1
  99. package/dist/scp/makesql/index.js +17 -28
  100. package/dist/scp/makesql/index.js.map +1 -1
  101. package/dist/scp/makesql/json-array.d.ts +65 -0
  102. package/dist/scp/makesql/json-array.d.ts.map +1 -1
  103. package/dist/scp/makesql/json-array.js +99 -10
  104. package/dist/scp/makesql/json-array.js.map +1 -1
  105. package/dist/scp/makesql/json-batch.d.ts.map +1 -1
  106. package/dist/scp/makesql/json-batch.js +15 -18
  107. package/dist/scp/makesql/json-batch.js.map +1 -1
  108. package/dist/scp/makesql/makesql.d.ts +1 -1
  109. package/dist/scp/makesql/makesql.d.ts.map +1 -1
  110. package/dist/scp/makesql/mysql-returning.d.ts +93 -0
  111. package/dist/scp/makesql/mysql-returning.d.ts.map +1 -0
  112. package/dist/scp/makesql/mysql-returning.js +215 -0
  113. package/dist/scp/makesql/mysql-returning.js.map +1 -0
  114. package/dist/scp/makesql/outtype.d.ts +40 -54
  115. package/dist/scp/makesql/outtype.d.ts.map +1 -1
  116. package/dist/scp/makesql/outtype.js +46 -204
  117. package/dist/scp/makesql/outtype.js.map +1 -1
  118. package/dist/scp/makesql/pool-executor.d.ts +86 -34
  119. package/dist/scp/makesql/pool-executor.d.ts.map +1 -1
  120. package/dist/scp/makesql/pool-executor.js +179 -39
  121. package/dist/scp/makesql/pool-executor.js.map +1 -1
  122. package/dist/scp/makesql/tx.d.ts +107 -22
  123. package/dist/scp/makesql/tx.d.ts.map +1 -1
  124. package/dist/scp/makesql/tx.js +451 -97
  125. package/dist/scp/makesql/tx.js.map +1 -1
  126. package/dist/scp/makesql/writeouttype.d.ts +4 -4
  127. package/dist/scp/makesql/writeouttype.d.ts.map +1 -1
  128. package/dist/scp/makesql/writeouttype.js +5 -3
  129. package/dist/scp/makesql/writeouttype.js.map +1 -1
  130. package/dist/scp/middleware.d.ts +287 -0
  131. package/dist/scp/middleware.d.ts.map +1 -0
  132. package/dist/scp/middleware.js +358 -0
  133. package/dist/scp/middleware.js.map +1 -0
  134. package/dist/scp/relation.d.ts +65 -8
  135. package/dist/scp/relation.d.ts.map +1 -1
  136. package/dist/scp/relation.js +154 -93
  137. package/dist/scp/relation.js.map +1 -1
  138. package/dist/scp/tx-options.d.ts +136 -0
  139. package/dist/scp/tx-options.d.ts.map +1 -0
  140. package/dist/scp/tx-options.js +184 -0
  141. package/dist/scp/tx-options.js.map +1 -0
  142. package/dist/scp/write-bundle.d.ts +131 -0
  143. package/dist/scp/write-bundle.d.ts.map +1 -0
  144. package/dist/scp/write-bundle.js +160 -0
  145. package/dist/scp/write-bundle.js.map +1 -0
  146. package/dist/types.d.ts +7 -0
  147. package/dist/types.d.ts.map +1 -1
  148. package/dist/types.js.map +1 -1
  149. package/docs/design/phase-a-execution-context.md +139 -0
  150. package/package.json +14 -13
  151. package/dist/scp/authoring-sql.d.ts +0 -134
  152. package/dist/scp/authoring-sql.d.ts.map +0 -1
  153. package/dist/scp/authoring-sql.js +0 -191
  154. package/dist/scp/authoring-sql.js.map +0 -1
  155. package/dist/scp/authoring.d.ts +0 -218
  156. package/dist/scp/authoring.d.ts.map +0 -1
  157. package/dist/scp/authoring.js +0 -351
  158. package/dist/scp/authoring.js.map +0 -1
  159. package/dist/scp/catalog.d.ts +0 -95
  160. package/dist/scp/catalog.d.ts.map +0 -1
  161. package/dist/scp/catalog.js +0 -245
  162. package/dist/scp/catalog.js.map +0 -1
  163. package/dist/scp/codegen.d.ts +0 -201
  164. package/dist/scp/codegen.d.ts.map +0 -1
  165. package/dist/scp/codegen.js +0 -605
  166. package/dist/scp/codegen.js.map +0 -1
  167. package/dist/scp/find-filter-guard.d.ts +0 -68
  168. package/dist/scp/find-filter-guard.d.ts.map +0 -1
  169. package/dist/scp/find-filter-guard.js +0 -88
  170. package/dist/scp/find-filter-guard.js.map +0 -1
  171. package/dist/scp/guard.d.ts +0 -43
  172. package/dist/scp/guard.d.ts.map +0 -1
  173. package/dist/scp/guard.js +0 -140
  174. package/dist/scp/guard.js.map +0 -1
  175. package/dist/scp/makesql/authoring-compile.d.ts +0 -90
  176. package/dist/scp/makesql/authoring-compile.d.ts.map +0 -1
  177. package/dist/scp/makesql/authoring-compile.js +0 -505
  178. package/dist/scp/makesql/authoring-compile.js.map +0 -1
  179. package/dist/scp/makesql/static-bundle.d.ts +0 -196
  180. package/dist/scp/makesql/static-bundle.d.ts.map +0 -1
  181. package/dist/scp/makesql/static-bundle.js +0 -1244
  182. package/dist/scp/makesql/static-bundle.js.map +0 -1
  183. package/dist/scp/runtime.d.ts +0 -243
  184. package/dist/scp/runtime.d.ts.map +0 -1
  185. package/dist/scp/runtime.js +0 -422
  186. package/dist/scp/runtime.js.map +0 -1
@@ -1,196 +0,0 @@
1
- /**
2
- * litedbmodel v2 SCP — the STATIC, PORTABLE `makeSQL` bundle + its runtime (epic #43/#45
3
- * Phase B; design #45 owner-confirmed static-bundle decision).
4
- *
5
- * This is the SOLE read/compile path of the makeSQL SCP model, expressed as a compile step
6
- * that is **symbolic** (no concrete input needed) and a runtime that evaluates value-specs +
7
- * skip PER-INPUT via behavior-contracts. It REPLACES the reduced-spine `../runtime.ts`
8
- * `SqlBundle`/`compileBundle`/`executeBundle` for the read path.
9
- *
10
- * ## The static bundle shape (design #45)
11
- *
12
- * A compiled behavior method is a bundle of ordered {@link StaticStatement} — each a
13
- * `makeSQL` TEMPLATE:
14
- * - `sql` — tuned dialect SQL text (`?` placeholders), COMPLETE and value-independent
15
- * (compiled ONCE; the single-JSON-param array forms + PG `= ANY`/UNNEST keep
16
- * the text fixed regardless of the runtime array length — no per-input text).
17
- * - `params` — value-specs = bc Expression IR (`{ref:[…]}` / small ops / literals), 1:1 with
18
- * the top-level `?`, evaluated AT RUNTIME by bc `evaluateExpression`.
19
- * - `skip?` — a bc presence expression, evaluated at runtime; when truthy the whole
20
- * statement (its `sql` and `params`) drops (contributes NOTHING).
21
- *
22
- * So the compile step emits a reusable portable artifact; the runtime (this module's
23
- * {@link executeStaticBundle}) evaluates skip + params per-input via bc, assembles present
24
- * fragments, renders placeholders, and executes. This unifies read/write/codegen on ONE
25
- * `SqlBundle` shape and enables multi-language IR-reference execution.
26
- *
27
- * ## Symbolic compile — reuses `authoring-compile`'s port decoding, defers evaluation
28
- *
29
- * Phase A's `authoring-compile.ts` compiled per-input EAGERLY (it called `evaluateExpression`
30
- * on every value slot to produce concrete `{sql, params}`). Here we keep the SAME closed-set
31
- * port decoding (`../bridge.ts` operators, IN-sentinel, SKIP-`cond` collapse) but DEFER the
32
- * value/skip evaluation to the runtime: a where-member's value operand stays as its raw bc
33
- * Expression IR, a SKIP-`cond` guard becomes the statement's `skip` expression, and the SQL
34
- * text is emitted once.
35
- */
36
- import { type Scope, type Value } from 'behavior-contracts';
37
- import type { ComponentGraphIR, ComponentRefNode, MapNode, BehaviorModelContract } from '../authoring';
38
- import { type Dialect } from './handler';
39
- import { type FindFilterSource } from '../find-filter-guard';
40
- import { type ColumnTypeResolver, type MaterializeClass } from '../coltype';
41
- /** A closed-set bc Expression IR node used as a deferred value-spec or a skip expression. */
42
- export type ValueSpec = unknown;
43
- /**
44
- * One statement of a static bundle — a `makeSQL` TEMPLATE. `sql` is the complete tuned SQL
45
- * text (`?` placeholders, value-independent); `params` are deferred value-specs (bc
46
- * Expression IR) evaluated at runtime; `skip`, when present, is a bc presence expression
47
- * evaluated at runtime (truthy ⇒ drop the whole statement).
48
- */
49
- export interface StaticStatement {
50
- /** Complete tuned SQL text (`?` placeholders). */
51
- readonly sql: string;
52
- /** Deferred value-specs — closed-set bc Expression IR, 1:1 with the top-level `?`. */
53
- readonly params: readonly ValueSpec[];
54
- /** Optional bc presence expression; truthy ⇒ the whole statement drops. */
55
- readonly skip?: ValueSpec;
56
- /**
57
- * A WHERE-clause fragment: its `sql` is a bare predicate body (no leading connector). The
58
- * runtime prepends ` WHERE ` to the FIRST present fragment and ` AND ` to each later one, so
59
- * a skipped fragment never leaves a dangling connector. A statement WITHOUT this flag emits
60
- * its `sql` verbatim.
61
- */
62
- readonly whereFragment?: true;
63
- }
64
- /**
65
- * The static, portable compiled artifact of ONE authored behavior method (the read path).
66
- * Pure JSON — every statement's `sql` is fixed text and its `params`/`skip` are bc Expression
67
- * IR, so `JSON.stringify` round-trips losslessly and a per-language runtime can execute it
68
- * with bc + a SQL driver alone.
69
- */
70
- export interface StaticBundle {
71
- readonly dialect: Dialect;
72
- /** The behavior (component) name. */
73
- readonly name: string;
74
- /** Ordered `makeSQL` statement templates composed into the read query. */
75
- readonly statements: readonly StaticStatement[];
76
- /** Input heads normalized to present-as-null (absent-key SKIP; SSoT-driven). */
77
- readonly optionalHeads: readonly string[];
78
- }
79
- type RefLike = ComponentRefNode | MapNode;
80
- /**
81
- * Compile ONE authored `Select` node into its static `makeSQL` statement templates:
82
- * the head `SELECT … FROM t` fragment plus one guarded WHERE fragment per member, then the
83
- * trailing GROUP BY / ORDER BY / LIMIT / OFFSET tail. The head + GROUP BY + ORDER BY TEXT is
84
- * produced by the ORIGINAL `compileSelect` (which reproduces `_buildSelectSQL` byte-for-byte),
85
- * never a v2 hand-roll. LIMIT/OFFSET are INLINE literals in v1; for the static bundle they are
86
- * deferred value-specs bound as `?` (a portable equivalent a per-language runtime renders
87
- * identically) — evaluated at runtime.
88
- */
89
- export declare function compileSelectNode(node: RefLike, dialect: Dialect): StaticStatement[];
90
- /**
91
- * Compile the primary CRUD query of an authored behavior method into a {@link StaticBundle}.
92
- * Relation `.map` nodes are NOT part of the primary bundle (they are the read-relations concern
93
- * — step 3, still on the reduced spine). The compile is SYMBOLIC (no concrete input); the runtime
94
- * ({@link executeStaticBundle} for reads / {@link executeStaticWrite} for writes) evaluates skip +
95
- * value-specs per-input.
96
- */
97
- export declare function compileStaticBundle(contract: BehaviorModelContract, dialect: Dialect, entry?: string): StaticBundle;
98
- /** The minimal synchronous SQLite driver surface (better-sqlite3 `Database`). */
99
- export interface SqliteDb {
100
- prepare(sql: string): {
101
- all(...params: unknown[]): unknown[];
102
- run(...params: unknown[]): {
103
- changes: number;
104
- lastInsertRowid: number | bigint;
105
- };
106
- };
107
- }
108
- /**
109
- * Execute a {@link StaticBundle} read query end-to-end against real SQLite: normalize optional
110
- * heads, evaluate skip + value-specs per-input, assemble present fragments, render, and run the
111
- * SELECT. Returns the row list.
112
- */
113
- export declare function executeStaticBundle(bundle: StaticBundle, input: Scope, db: SqliteDb): Record<string, unknown>[];
114
- /**
115
- * Execute a single-statement WRITE {@link StaticBundle} (Insert/Update/Delete) against real
116
- * SQLite: evaluate the deferred value-specs per-input, render, and run the statement. A statement
117
- * with a RETURNING tail returns its rows; a non-returning write returns a single-row summary
118
- * `[{ changes, lastInsertRowid }]`. A driver error maps to a {@link SqlFailure} at the boundary.
119
- * (A Command with write-time relations rides the tx-DAG plan of `./tx`, not this path.)
120
- */
121
- export declare function executeStaticWrite(bundle: StaticBundle, input: Scope, db: SqliteDb): Record<string, unknown>[];
122
- /**
123
- * The compiled, portable READ graph of a behavior method (#12 de-surrogated): `compileBehaviors`'
124
- * REAL `ComponentGraphIR` — the authored `Select`/`Count`/map nodes with their own ports (only
125
- * additively annotated with read `outType`/`outputType`), NOT a hand-built `__makeSqlNode`/`__scope`
126
- * surrogate — plus the per-node static `makeSQL` statement templates (opaque, v1-`DBConditions`-
127
- * sourced SQL TEXT) keyed by the real body-node id, and the optional heads. Pure JSON —
128
- * `JSON.stringify` round-trips, so every language runtime walks this real-node IR natively (topology
129
- * from the real nodes, SQL from `statementsById`) with a SQL driver — never bc `runBehavior`.
130
- */
131
- export interface ReadGraph {
132
- readonly dialect: Dialect;
133
- readonly name: string;
134
- /** `compileBehaviors`' real `ComponentGraphIR` (real `Select`/`Count`/map nodes; outType-annotated). */
135
- readonly ir: ComponentGraphIR;
136
- /** Per-node static `makeSQL` statement templates (v1-sourced SQL text), keyed by real body node id. */
137
- readonly statementsById: Record<string, readonly StaticStatement[]>;
138
- /** Input heads normalized to present-as-null (absent-key SKIP; SSoT-driven). */
139
- readonly optionalHeads: readonly string[];
140
- /**
141
- * TS read-path MATERIALIZERS (issue #59), per Select node: `column → MaterializeClass`. Present
142
- * ONLY when a column-type resolver was supplied at compile (same gate as the `outType`
143
- * annotations) — without it the read stays un-materialized (raw driver values), identical to the
144
- * pre-#59 behavior. When present, the read handler coerces each raw row cell to the JS form the
145
- * SQL column type declares (BIGINT→bigint, INT→number, DATE→string, BOOLEAN→boolean), consistent
146
- * across sqlite/pg/mysql.
147
- */
148
- readonly materializersByNode?: Record<string, Record<string, MaterializeClass>>;
149
- }
150
- /**
151
- * Compile a READ behavior method into a portable {@link ReadGraph} (#12 de-surrogated): keep
152
- * `compileBehaviors`' REAL `Select`/`Count`/map body nodes (only additively annotate each with its
153
- * read `outType`), and compile each node's static `makeSQL` statements ONCE into the `statementsById`
154
- * sidecar (keyed by the real body-node id). SYMBOLIC — no concrete input. The native walker
155
- * ({@link executeReadGraph}) owns map iteration / wire binding / Φ output at execute time, rendering
156
- * each node's statements against the walk scope — never bc `runBehavior`, never a `__scope` surrogate.
157
- */
158
- export declare function compileReadGraph(contract: BehaviorModelContract, dialect: Dialect, entry?: string, findFilterModel?: FindFilterSource, resolveColumnType?: ColumnTypeResolver): ReadGraph;
159
- /**
160
- * Execute a compiled {@link ReadGraph} via the NATIVE walker (#12): walk `compileBehaviors`' REAL
161
- * `Select`/`Count`/map node IR in `plan.groups` stage order — computing each node's rows from its
162
- * `statementsById` fragments (rendered against the walk scope) and committing `(nodeId → value)` —
163
- * then evaluate the component's `output` Φ expression. NO bc `runBehavior`, NO `__makeSqlNode`
164
- * surrogate; litedbmodel owns map iteration / wire binding / Φ output. This is the SAME native
165
- * orchestration model the rust/go/py/php runtimes follow — one shape, all 5 languages, interpreter-free.
166
- */
167
- export declare function executeReadGraph(graph: ReadGraph, input: Scope, db: SqliteDb): Value;
168
- /** An async driver seam: run a rendered `{ sql, params }` and resolve to result rows (#40). */
169
- export type SqlExecutorAsync = (sql: string, params: unknown[]) => Promise<Record<string, unknown>[]>;
170
- /**
171
- * Async twin of {@link executeReadGraph} — the live PG / MySQL execution model (#40). Byte-identical
172
- * composition (SAME real-node IR, SAME per-node SQL text + params, SAME Φ output); within a plan stage
173
- * the INDEPENDENT sibling nodes are dispatched concurrently against the pooled async executor (each
174
- * `exec` resolving on its own pooled connection), and a map node's per-element queries fan out in
175
- * bounded parallel. The result is deterministic (stage outcomes commit in declaration order), so it
176
- * equals the serial `executeReadGraph` output exactly; only the wall-clock changes.
177
- */
178
- export declare function executeReadGraphAsync(graph: ReadGraph, input: Scope, exec: SqlExecutorAsync): Promise<Value>;
179
- /**
180
- * Convenience: compile + execute a READ behavior method whose output may be a Φ-merge of SQL
181
- * nodes (including relation `.map` nodes). Equivalent to `executeReadGraph(compileReadGraph(...))`.
182
- */
183
- export declare function executeReadBehavior(contract: BehaviorModelContract, input: Scope, dialect: Dialect, db: SqliteDb, entry?: string): Value;
184
- /**
185
- * Render the PRIMARY read node's statements of a {@link ReadGraph} against an input scope to its
186
- * dialect SQL text + bound params (the render axis for conformance golden). The primary node is
187
- * the first non-map body node (the root SELECT the relations map over). Optional heads are
188
- * normalized to present-as-null first (absent-key SKIP), so an omitted optional head renders the
189
- * SAME text a runtime would produce.
190
- */
191
- export declare function renderReadPrimary(graph: ReadGraph, input: Scope): {
192
- sql: string;
193
- params: unknown[];
194
- };
195
- export {};
196
- //# sourceMappingURL=static-bundle.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"static-bundle.d.ts","sourceRoot":"","sources":["../../../src/scp/makesql/static-bundle.ts"],"names":[],"mappings":"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"}