litedbmodel 2.0.0 → 2.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/scp/authoring-sql.d.ts +78 -0
- package/dist/scp/authoring-sql.d.ts.map +1 -1
- package/dist/scp/authoring-sql.js +110 -2
- package/dist/scp/authoring-sql.js.map +1 -1
- package/dist/scp/catalog.d.ts +5 -2
- package/dist/scp/catalog.d.ts.map +1 -1
- package/dist/scp/catalog.js +32 -1
- package/dist/scp/catalog.js.map +1 -1
- package/dist/scp/codegen.d.ts +143 -85
- package/dist/scp/codegen.d.ts.map +1 -1
- package/dist/scp/codegen.js +374 -90
- package/dist/scp/codegen.js.map +1 -1
- package/dist/scp/coltype.d.ts +41 -0
- package/dist/scp/coltype.d.ts.map +1 -0
- package/dist/scp/coltype.js +188 -0
- package/dist/scp/coltype.js.map +1 -0
- package/dist/scp/dialect.d.ts +12 -3
- package/dist/scp/dialect.d.ts.map +1 -1
- package/dist/scp/dialect.js +12 -3
- package/dist/scp/dialect.js.map +1 -1
- package/dist/scp/find-filter-guard.d.ts +68 -0
- package/dist/scp/find-filter-guard.d.ts.map +1 -0
- package/dist/scp/find-filter-guard.js +88 -0
- package/dist/scp/find-filter-guard.js.map +1 -0
- package/dist/scp/fragment/assemble.d.ts +61 -0
- package/dist/scp/fragment/assemble.d.ts.map +1 -0
- package/dist/scp/fragment/assemble.js +156 -0
- package/dist/scp/fragment/assemble.js.map +1 -0
- package/dist/scp/fragment/compile-pg.d.ts +107 -0
- package/dist/scp/fragment/compile-pg.d.ts.map +1 -0
- package/dist/scp/fragment/compile-pg.js +142 -0
- package/dist/scp/fragment/compile-pg.js.map +1 -0
- package/dist/scp/fragment/index.d.ts +16 -0
- package/dist/scp/fragment/index.d.ts.map +1 -0
- package/dist/scp/fragment/index.js +34 -0
- package/dist/scp/fragment/index.js.map +1 -0
- package/dist/scp/fragment/model.d.ts +119 -0
- package/dist/scp/fragment/model.d.ts.map +1 -0
- package/dist/scp/fragment/model.js +66 -0
- package/dist/scp/fragment/model.js.map +1 -0
- package/dist/scp/fragment/pg-array-type.d.ts +13 -0
- package/dist/scp/fragment/pg-array-type.d.ts.map +1 -0
- package/dist/scp/fragment/pg-array-type.js +34 -0
- package/dist/scp/fragment/pg-array-type.js.map +1 -0
- package/dist/scp/guard.d.ts +2 -6
- package/dist/scp/guard.d.ts.map +1 -1
- package/dist/scp/guard.js +19 -22
- package/dist/scp/guard.js.map +1 -1
- package/dist/scp/index.cjs +18695 -3921
- package/dist/scp/index.d.ts +41 -24
- package/dist/scp/index.d.ts.map +1 -1
- package/dist/scp/index.js +134 -49
- package/dist/scp/index.js.map +1 -1
- package/dist/scp/index.mjs +4830 -1432
- package/dist/scp/makesql/authoring-compile.d.ts +90 -0
- package/dist/scp/makesql/authoring-compile.d.ts.map +1 -0
- package/dist/scp/makesql/authoring-compile.js +494 -0
- package/dist/scp/makesql/authoring-compile.js.map +1 -0
- package/dist/scp/makesql/compile-crud.d.ts +133 -0
- package/dist/scp/makesql/compile-crud.d.ts.map +1 -0
- package/dist/scp/makesql/compile-crud.js +288 -0
- package/dist/scp/makesql/compile-crud.js.map +1 -0
- package/dist/scp/makesql/compile-relation.d.ts +157 -0
- package/dist/scp/makesql/compile-relation.d.ts.map +1 -0
- package/dist/scp/makesql/compile-relation.js +425 -0
- package/dist/scp/makesql/compile-relation.js.map +1 -0
- package/dist/scp/makesql/compile-select.d.ts +52 -0
- package/dist/scp/makesql/compile-select.d.ts.map +1 -0
- package/dist/scp/makesql/compile-select.js +58 -0
- package/dist/scp/makesql/compile-select.js.map +1 -0
- package/dist/scp/makesql/compile.d.ts +63 -0
- package/dist/scp/makesql/compile.d.ts.map +1 -0
- package/dist/scp/makesql/compile.js +99 -0
- package/dist/scp/makesql/compile.js.map +1 -0
- package/dist/scp/makesql/handler.d.ts +58 -0
- package/dist/scp/makesql/handler.d.ts.map +1 -0
- package/dist/scp/makesql/handler.js +113 -0
- package/dist/scp/makesql/handler.js.map +1 -0
- package/dist/scp/makesql/index.d.ts +33 -0
- package/dist/scp/makesql/index.d.ts.map +1 -0
- package/dist/scp/makesql/index.js +114 -0
- package/dist/scp/makesql/index.js.map +1 -0
- package/dist/scp/makesql/ir.d.ts +42 -0
- package/dist/scp/makesql/ir.d.ts.map +1 -0
- package/dist/scp/makesql/ir.js +66 -0
- package/dist/scp/makesql/ir.js.map +1 -0
- package/dist/scp/makesql/json-array.d.ts +84 -0
- package/dist/scp/makesql/json-array.d.ts.map +1 -0
- package/dist/scp/makesql/json-array.js +118 -0
- package/dist/scp/makesql/json-array.js.map +1 -0
- package/dist/scp/makesql/json-batch.d.ts +102 -0
- package/dist/scp/makesql/json-batch.d.ts.map +1 -0
- package/dist/scp/makesql/json-batch.js +269 -0
- package/dist/scp/makesql/json-batch.js.map +1 -0
- package/dist/scp/makesql/makesql.d.ts +99 -0
- package/dist/scp/makesql/makesql.d.ts.map +1 -0
- package/dist/scp/makesql/makesql.js +122 -0
- package/dist/scp/makesql/makesql.js.map +1 -0
- package/dist/scp/makesql/outtype.d.ts +44 -0
- package/dist/scp/makesql/outtype.d.ts.map +1 -0
- package/dist/scp/makesql/outtype.js +197 -0
- package/dist/scp/makesql/outtype.js.map +1 -0
- package/dist/scp/makesql/pool-executor.d.ts +47 -0
- package/dist/scp/makesql/pool-executor.d.ts.map +1 -0
- package/dist/scp/makesql/pool-executor.js +50 -0
- package/dist/scp/makesql/pool-executor.js.map +1 -0
- package/dist/scp/makesql/static-bundle.d.ts +187 -0
- package/dist/scp/makesql/static-bundle.d.ts.map +1 -0
- package/dist/scp/makesql/static-bundle.js +1113 -0
- package/dist/scp/makesql/static-bundle.js.map +1 -0
- package/dist/scp/makesql/tx.d.ts +216 -0
- package/dist/scp/makesql/tx.d.ts.map +1 -0
- package/dist/scp/makesql/tx.js +788 -0
- package/dist/scp/makesql/tx.js.map +1 -0
- package/dist/scp/makesql/writeouttype.d.ts +66 -0
- package/dist/scp/makesql/writeouttype.d.ts.map +1 -0
- package/dist/scp/makesql/writeouttype.js +195 -0
- package/dist/scp/makesql/writeouttype.js.map +1 -0
- package/dist/scp/relation.d.ts +86 -74
- package/dist/scp/relation.d.ts.map +1 -1
- package/dist/scp/relation.js +186 -120
- package/dist/scp/relation.js.map +1 -1
- package/dist/scp/runtime.d.ts +158 -211
- package/dist/scp/runtime.d.ts.map +1 -1
- package/dist/scp/runtime.js +250 -515
- package/dist/scp/runtime.js.map +1 -1
- package/dist/scp/typed-object.d.ts +12 -1
- package/dist/scp/typed-object.d.ts.map +1 -1
- package/dist/scp/typed-object.js +25 -4
- package/dist/scp/typed-object.js.map +1 -1
- package/docs/proposal/litedbmodel-v2-scp-architecture.md +51 -0
- package/docs/proposal/v0-coverage-matrix.md +157 -0
- package/docs/proposal/v2-completeness-plan.md +90 -0
- package/docs/proposal/v2-sql-parity-checklist.md +162 -0
- package/package.json +3 -3
- package/dist/scp/bridge.d.ts +0 -64
- package/dist/scp/bridge.d.ts.map +0 -1
- package/dist/scp/bridge.js +0 -329
- package/dist/scp/bridge.js.map +0 -1
- package/dist/scp/compile-dialect.d.ts +0 -39
- package/dist/scp/compile-dialect.d.ts.map +0 -1
- package/dist/scp/compile-dialect.js +0 -62
- package/dist/scp/compile-dialect.js.map +0 -1
- package/dist/scp/compile-sqlite.d.ts +0 -114
- package/dist/scp/compile-sqlite.d.ts.map +0 -1
- package/dist/scp/compile-sqlite.js +0 -149
- package/dist/scp/compile-sqlite.js.map +0 -1
- package/dist/scp/ir.d.ts +0 -92
- package/dist/scp/ir.d.ts.map +0 -1
- package/dist/scp/ir.js +0 -28
- package/dist/scp/ir.js.map +0 -1
- package/dist/scp/render.d.ts +0 -40
- package/dist/scp/render.d.ts.map +0 -1
- package/dist/scp/render.js +0 -170
- package/dist/scp/render.js.map +0 -1
- package/dist/scp/write-plan.d.ts +0 -161
- package/dist/scp/write-plan.d.ts.map +0 -1
- package/dist/scp/write-plan.js +0 -528
- package/dist/scp/write-plan.js.map +0 -1
- package/dist/scp/write-runtime.d.ts +0 -80
- package/dist/scp/write-runtime.d.ts.map +0 -1
- package/dist/scp/write-runtime.js +0 -167
- package/dist/scp/write-runtime.js.map +0 -1
package/dist/scp/index.d.ts
CHANGED
|
@@ -1,44 +1,61 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* litedbmodel v2 SCP — public surface (WS1, #21).
|
|
3
3
|
*
|
|
4
|
-
* The SQL-backend consumer layer over behavior-contracts (spec §1).
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
4
|
+
* The SQL-backend consumer layer over behavior-contracts (spec §1).
|
|
5
|
+
*
|
|
6
|
+
* ## CANONICAL bc integration (epic #43 / design #45): the `makeSQL` catalog leaf.
|
|
7
|
+
*
|
|
8
|
+
* The LOCKED minimal model is ONE behavior-contracts catalog component
|
|
9
|
+
* **`makeSQL(sql, params, skip?)`** (like graphddb's `GetItem`/`Query`) + its handler
|
|
10
|
+
* (bind params → execute SQL) + the compile that emits tuned dialect SQL text (reusing
|
|
11
|
+
* the original tuned builders — byte-for-byte). A query is a COMPOSITION of `makeSQL`
|
|
12
|
+
* components; a subquery is a NESTED `makeSQL` in a param slot. `= ANY`, `CROSS JOIN
|
|
13
|
+
* LATERAL`, `UNNEST`, cast, batch shapes are all TEXT inside `sql` — never modeled.
|
|
14
|
+
* bc supplies composition / value-eval / envelope / plan. The whole `./makesql`
|
|
15
|
+
* subtree (re-exported below) is the recommended integration surface.
|
|
16
|
+
*
|
|
17
|
+
* ## Superseded (legacy) reduced path.
|
|
18
|
+
*
|
|
19
|
+
* The earlier abstract path (`ir.ts` FragmentTree + `WHERE_SLOT`, `relation.ts`
|
|
20
|
+
* `RelationOp`, `compile-sqlite.ts` reduced SELECT/INSERT/UPDATE forms, `render.ts`,
|
|
21
|
+
* `dialect.ts` strategy table) reduced the tuned SQL to a closed expression/relation-op
|
|
22
|
+
* vocabulary and regressed the byte-parity the library is built on (see
|
|
23
|
+
* `docs/proposal/v2-sql-parity-checklist.md`). It is SUPERSEDED by `./makesql`: SQL
|
|
24
|
+
* structure now lives as text inside `makeSQL`, not as IR "kinds". The legacy modules
|
|
25
|
+
* remain exported (below) only for the historical WS test-suite; new code must use
|
|
26
|
+
* `./makesql`.
|
|
9
27
|
*/
|
|
28
|
+
export { MAKESQL, makeSqlCatalogEntry, LITEDBMODEL_MAKESQL_CATALOG, isMakeSQL, assembleMakeSQL, composeMakeSQL, renderPlaceholders, renderPorts, makeSqlHandler, makeSqlHandlerSync, compileWhere, whereClause, andTrailing, formatterFor, pgCastFormatter, noCastFormatter, compileSelect as compileSelectMakeSQL, builderFor, compileInsert as compileInsertMakeSQL, compileUpdateMany, compileUpdateSingle, compileDelete as compileDeleteMakeSQL, inferPgArrayType, resolvePgArrayCast, PG_ARRAY_CAST_TOKEN, compileSingleKeyUnlimited, compileSingleKeyLimited, compileCompositeKeyUnlimited, compileCompositeKeyStaticUnlimited, compileCompositeKeyLimited, makeSqlComponentIR, makeSqlInput, compileAuthoredBehavior, compileAuthoredNode, compileRelationMap, compileStaticBundle, compileSelectNode, executeStaticBundle, executeStaticWrite, executeReadBehavior, compileReadGraph, executeReadGraph, executeReadGraphAsync, renderReadPrimary, pgPoolExecutor, mysqlPoolExecutor, } from './makesql';
|
|
29
|
+
export type { MakeSQL, SqlParam, AssembledSql, Dialect as MakeSQLDialect, SqlExecutor, SqlExecutorSync, SqlExecutorAsync, SelectDesc as MakeSQLSelectDesc, RelationCompileBase, AuthoredMakeSQL, RelationMapInput, StaticBundle, StaticStatement, ValueSpec, ReadGraph, PgPoolLike, MysqlPoolLike, } from './makesql';
|
|
10
30
|
export { LITEDBMODEL_CATALOG, catalogEntry, CATALOG_NAMES, WRITE_CATALOG_NAMES, WRITE_PORT_FAMILIES, assertComponentsInCatalog, deriveContractEffect, } from './catalog';
|
|
11
31
|
export type { CatalogName, ContractEffect } from './catalog';
|
|
12
|
-
export { WHERE_SLOT } from './ir';
|
|
13
|
-
export type { ExprNode, Fragment, FragmentTree, AssemblySpec, CompiledOperation, } from './ir';
|
|
14
|
-
export { compileSelect, compileInsert, compileUpdate, compileDelete, } from './compile-sqlite';
|
|
15
|
-
export type { Ref, Condition, SelectDesc, InsertDesc, UpdateDesc, DeleteDesc, } from './compile-sqlite';
|
|
16
|
-
export { renderOperation } from './render';
|
|
17
|
-
export type { RenderedSql } from './render';
|
|
18
32
|
export { dialectFor, toDollarPlaceholders, SQLITE, POSTGRES, MYSQL } from './dialect';
|
|
19
|
-
export type { Dialect, DialectName
|
|
20
|
-
export {
|
|
21
|
-
export type {
|
|
22
|
-
export { assertExprPortable, assertOperationPortable, assertComponentPortable, assertComponentGraphPortable, } from './guard';
|
|
33
|
+
export type { Dialect, DialectName } from './dialect';
|
|
34
|
+
export { assertExprPortable, assertComponentPortable, assertComponentGraphPortable, } from './guard';
|
|
35
|
+
export type { ExprNode } from './guard';
|
|
23
36
|
export { components, publishBehaviors, compileEager, } from './authoring';
|
|
24
37
|
export type { ComponentFns, BehaviorMethodSpec, BehaviorModelContract, PublishBehaviorsOptions, EagerBehavior, Component, ComponentGraphIR, MapNode, ComponentRefNode, } from './authoring';
|
|
25
|
-
export {
|
|
26
|
-
export { whereEq, whereNe, whereLt, whereLe, whereGt, whereGe, whereIsNull, whereIn, inColumn, } from './authoring-sql';
|
|
38
|
+
export { whereEq, whereNe, whereLt, whereLe, whereGt, whereGe, whereIsNull, whereIn, inColumn, whereBetween, whereLike, whereILike, whereCast, whereDynamic, whereImmediate, whereTupleIn, whereInSubquery, whereExists, } from './authoring-sql';
|
|
27
39
|
export { mapSqliteError, SqlFailure } from './errors';
|
|
28
40
|
export type { SqlFailureKind } from './errors';
|
|
29
|
-
export {
|
|
41
|
+
export { assertFindFilterFolded, findFilterKeys, FindFilterLeakError } from './find-filter-guard';
|
|
42
|
+
export type { FindFilterSource } from './find-filter-guard';
|
|
43
|
+
export { sqlTypeToBcScalar, parseSchemaColumnTypes, schemaColumnTypeResolver } from './coltype';
|
|
44
|
+
export type { BcScalar, ColumnTypeResolver } from './coltype';
|
|
45
|
+
export { executeBehavior, compileBundle, executeBundle, read, readBundle } from './runtime';
|
|
30
46
|
export type { SqliteDb, ExecuteOptions, SqlBundle, ReadRuntimeOptions } from './runtime';
|
|
47
|
+
export { executeBundleAsync, executeBehaviorAsync } from './runtime';
|
|
48
|
+
export type { AsyncExecuteOptions } from './runtime';
|
|
31
49
|
export { entityWrites, edgeWrites, lifecycleFor, parseEffectPath, ENTITY_ROOT, } from './writes';
|
|
32
50
|
export type { PathRoot, EffectPath, RequiresEffect, UniqueEffect, DeriveEffect, EdgeEffect, EmitEffect, IdempotencyEffect, LifecycleEffects, LifecycleContract, WriteLifecyclePhase, EntityWritesDefinition, EntityWritesShape, WriteRecorder, } from './writes';
|
|
33
|
-
export { deriveTransactionPlan } from './
|
|
34
|
-
export type { StatementRole, GateRule, TxStatement, TransactionPlan, IdempotentHitPolicy, BaseWrite, } from './
|
|
35
|
-
export { executeTransaction, countingDriver } from './write-runtime';
|
|
36
|
-
export type { TransactionResult, ShortCircuitReason } from './write-runtime';
|
|
51
|
+
export { deriveTransactionPlan, executeTransaction, countingDriver, renderTxStatement, compileWriteNode, mysqlPkHint, stripMysqlPkHint } from './makesql';
|
|
52
|
+
export type { TxExpr, TxOp, StatementRole, GateRule, TxStatement, TransactionPlan, IdempotentHitPolicy, BaseWrite, TransactionResult, ShortCircuitReason, } from './makesql';
|
|
37
53
|
export { compileWriteBundle, executeCommand, executeTransactionBundle } from './runtime';
|
|
38
54
|
export { compileCompositeWriteBundle, executeCompositeCommand } from './runtime';
|
|
39
55
|
export type { CompositeWriteEntry } from './runtime';
|
|
40
|
-
export {
|
|
41
|
-
export {
|
|
56
|
+
export { compileCreateManyBundle, compileUpdateManyBundle, compileDeleteManyBundle } from './runtime';
|
|
57
|
+
export { compileDeleteMany } from './makesql';
|
|
58
|
+
export { CODEGEN_LANGUAGES, CODEGEN_EMITTER, generateCodegenArtifact, bundleToPortableIR, lowerReadGraphForTypedNative, codegenEmitterFor, typedEmitterFor, codegenExecuteBundleForTest, TypedNativeCoverageError, } from './codegen';
|
|
42
59
|
export type { CodegenLanguage, SqlCatalogCompanion, CodegenArtifact, } from './codegen';
|
|
43
60
|
export { compileRelationOp, runRelationOp, distributeToParent, RELATION_KEYS_HEAD, } from './relation';
|
|
44
61
|
export type { RelationKind, RelationDecl, RelationOp, RelationBatch, RelationDriver, } from './relation';
|
package/dist/scp/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/scp/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/scp/index.ts"],"names":[],"mappings":"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"}
|
package/dist/scp/index.js
CHANGED
|
@@ -2,15 +2,83 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* litedbmodel v2 SCP — public surface (WS1, #21).
|
|
4
4
|
*
|
|
5
|
-
* The SQL-backend consumer layer over behavior-contracts (spec §1).
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
5
|
+
* The SQL-backend consumer layer over behavior-contracts (spec §1).
|
|
6
|
+
*
|
|
7
|
+
* ## CANONICAL bc integration (epic #43 / design #45): the `makeSQL` catalog leaf.
|
|
8
|
+
*
|
|
9
|
+
* The LOCKED minimal model is ONE behavior-contracts catalog component
|
|
10
|
+
* **`makeSQL(sql, params, skip?)`** (like graphddb's `GetItem`/`Query`) + its handler
|
|
11
|
+
* (bind params → execute SQL) + the compile that emits tuned dialect SQL text (reusing
|
|
12
|
+
* the original tuned builders — byte-for-byte). A query is a COMPOSITION of `makeSQL`
|
|
13
|
+
* components; a subquery is a NESTED `makeSQL` in a param slot. `= ANY`, `CROSS JOIN
|
|
14
|
+
* LATERAL`, `UNNEST`, cast, batch shapes are all TEXT inside `sql` — never modeled.
|
|
15
|
+
* bc supplies composition / value-eval / envelope / plan. The whole `./makesql`
|
|
16
|
+
* subtree (re-exported below) is the recommended integration surface.
|
|
17
|
+
*
|
|
18
|
+
* ## Superseded (legacy) reduced path.
|
|
19
|
+
*
|
|
20
|
+
* The earlier abstract path (`ir.ts` FragmentTree + `WHERE_SLOT`, `relation.ts`
|
|
21
|
+
* `RelationOp`, `compile-sqlite.ts` reduced SELECT/INSERT/UPDATE forms, `render.ts`,
|
|
22
|
+
* `dialect.ts` strategy table) reduced the tuned SQL to a closed expression/relation-op
|
|
23
|
+
* vocabulary and regressed the byte-parity the library is built on (see
|
|
24
|
+
* `docs/proposal/v2-sql-parity-checklist.md`). It is SUPERSEDED by `./makesql`: SQL
|
|
25
|
+
* structure now lives as text inside `makeSQL`, not as IR "kinds". The legacy modules
|
|
26
|
+
* remain exported (below) only for the historical WS test-suite; new code must use
|
|
27
|
+
* `./makesql`.
|
|
10
28
|
*/
|
|
11
29
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.
|
|
13
|
-
exports.
|
|
30
|
+
exports.WRITE_CATALOG_NAMES = exports.CATALOG_NAMES = exports.catalogEntry = exports.LITEDBMODEL_CATALOG = exports.mysqlPoolExecutor = exports.pgPoolExecutor = exports.renderReadPrimary = exports.executeReadGraphAsync = exports.executeReadGraph = exports.compileReadGraph = exports.executeReadBehavior = exports.executeStaticWrite = exports.executeStaticBundle = exports.compileSelectNode = exports.compileStaticBundle = exports.compileRelationMap = exports.compileAuthoredNode = exports.compileAuthoredBehavior = exports.makeSqlInput = exports.makeSqlComponentIR = exports.compileCompositeKeyLimited = exports.compileCompositeKeyStaticUnlimited = exports.compileCompositeKeyUnlimited = exports.compileSingleKeyLimited = exports.compileSingleKeyUnlimited = exports.PG_ARRAY_CAST_TOKEN = exports.resolvePgArrayCast = exports.inferPgArrayType = exports.compileDeleteMakeSQL = exports.compileUpdateSingle = exports.compileUpdateMany = exports.compileInsertMakeSQL = exports.builderFor = exports.compileSelectMakeSQL = exports.noCastFormatter = exports.pgCastFormatter = exports.formatterFor = exports.andTrailing = exports.whereClause = exports.compileWhere = exports.makeSqlHandlerSync = exports.makeSqlHandler = exports.renderPorts = exports.renderPlaceholders = exports.composeMakeSQL = exports.assembleMakeSQL = exports.isMakeSQL = exports.LITEDBMODEL_MAKESQL_CATALOG = exports.makeSqlCatalogEntry = exports.MAKESQL = void 0;
|
|
31
|
+
exports.lifecycleFor = exports.edgeWrites = exports.entityWrites = exports.executeBehaviorAsync = exports.executeBundleAsync = exports.readBundle = exports.read = exports.executeBundle = exports.compileBundle = exports.executeBehavior = exports.schemaColumnTypeResolver = exports.parseSchemaColumnTypes = exports.sqlTypeToBcScalar = exports.FindFilterLeakError = exports.findFilterKeys = exports.assertFindFilterFolded = exports.SqlFailure = exports.mapSqliteError = exports.whereExists = exports.whereInSubquery = exports.whereTupleIn = exports.whereImmediate = exports.whereDynamic = exports.whereCast = exports.whereILike = exports.whereLike = exports.whereBetween = exports.inColumn = exports.whereIn = exports.whereIsNull = exports.whereGe = exports.whereGt = exports.whereLe = exports.whereLt = exports.whereNe = exports.whereEq = exports.compileEager = exports.publishBehaviors = exports.components = exports.assertComponentGraphPortable = exports.assertComponentPortable = exports.assertExprPortable = exports.MYSQL = exports.POSTGRES = exports.SQLITE = exports.toDollarPlaceholders = exports.dialectFor = exports.deriveContractEffect = exports.assertComponentsInCatalog = exports.WRITE_PORT_FAMILIES = void 0;
|
|
32
|
+
exports.gt = exports.le = exports.lt = exports.ne = exports.eq = exports.neg = exports.mod = exports.div = exports.mul = exports.sub = exports.add = exports.concat = exports.when = exports.behavior = exports.SemanticBehavior = exports.RELATION_CONTEXT = exports.RelationContext = exports.readRelationContext = exports.buildResultSet = exports.RELATION_KEYS_HEAD = exports.distributeToParent = exports.runRelationOp = exports.compileRelationOp = exports.TypedNativeCoverageError = exports.codegenExecuteBundleForTest = exports.typedEmitterFor = exports.codegenEmitterFor = exports.lowerReadGraphForTypedNative = exports.bundleToPortableIR = exports.generateCodegenArtifact = exports.CODEGEN_EMITTER = exports.CODEGEN_LANGUAGES = exports.compileDeleteMany = exports.compileDeleteManyBundle = exports.compileUpdateManyBundle = exports.compileCreateManyBundle = exports.executeCompositeCommand = exports.compileCompositeWriteBundle = exports.executeTransactionBundle = exports.executeCommand = exports.compileWriteBundle = exports.stripMysqlPkHint = exports.mysqlPkHint = exports.compileWriteNode = exports.renderTxStatement = exports.countingDriver = exports.executeTransaction = exports.deriveTransactionPlan = exports.ENTITY_ROOT = exports.parseEffectPath = void 0;
|
|
33
|
+
exports.opt = exports.len = exports.coalesce = exports.not = exports.or = exports.and = exports.ge = void 0;
|
|
34
|
+
// ── CANONICAL: the LOCKED `makeSQL` bc integration (epic #43 / design #45). ──────────
|
|
35
|
+
var makesql_1 = require("./makesql");
|
|
36
|
+
Object.defineProperty(exports, "MAKESQL", { enumerable: true, get: function () { return makesql_1.MAKESQL; } });
|
|
37
|
+
Object.defineProperty(exports, "makeSqlCatalogEntry", { enumerable: true, get: function () { return makesql_1.makeSqlCatalogEntry; } });
|
|
38
|
+
Object.defineProperty(exports, "LITEDBMODEL_MAKESQL_CATALOG", { enumerable: true, get: function () { return makesql_1.LITEDBMODEL_MAKESQL_CATALOG; } });
|
|
39
|
+
Object.defineProperty(exports, "isMakeSQL", { enumerable: true, get: function () { return makesql_1.isMakeSQL; } });
|
|
40
|
+
Object.defineProperty(exports, "assembleMakeSQL", { enumerable: true, get: function () { return makesql_1.assembleMakeSQL; } });
|
|
41
|
+
Object.defineProperty(exports, "composeMakeSQL", { enumerable: true, get: function () { return makesql_1.composeMakeSQL; } });
|
|
42
|
+
Object.defineProperty(exports, "renderPlaceholders", { enumerable: true, get: function () { return makesql_1.renderPlaceholders; } });
|
|
43
|
+
Object.defineProperty(exports, "renderPorts", { enumerable: true, get: function () { return makesql_1.renderPorts; } });
|
|
44
|
+
Object.defineProperty(exports, "makeSqlHandler", { enumerable: true, get: function () { return makesql_1.makeSqlHandler; } });
|
|
45
|
+
Object.defineProperty(exports, "makeSqlHandlerSync", { enumerable: true, get: function () { return makesql_1.makeSqlHandlerSync; } });
|
|
46
|
+
Object.defineProperty(exports, "compileWhere", { enumerable: true, get: function () { return makesql_1.compileWhere; } });
|
|
47
|
+
Object.defineProperty(exports, "whereClause", { enumerable: true, get: function () { return makesql_1.whereClause; } });
|
|
48
|
+
Object.defineProperty(exports, "andTrailing", { enumerable: true, get: function () { return makesql_1.andTrailing; } });
|
|
49
|
+
Object.defineProperty(exports, "formatterFor", { enumerable: true, get: function () { return makesql_1.formatterFor; } });
|
|
50
|
+
Object.defineProperty(exports, "pgCastFormatter", { enumerable: true, get: function () { return makesql_1.pgCastFormatter; } });
|
|
51
|
+
Object.defineProperty(exports, "noCastFormatter", { enumerable: true, get: function () { return makesql_1.noCastFormatter; } });
|
|
52
|
+
Object.defineProperty(exports, "compileSelectMakeSQL", { enumerable: true, get: function () { return makesql_1.compileSelect; } });
|
|
53
|
+
Object.defineProperty(exports, "builderFor", { enumerable: true, get: function () { return makesql_1.builderFor; } });
|
|
54
|
+
Object.defineProperty(exports, "compileInsertMakeSQL", { enumerable: true, get: function () { return makesql_1.compileInsert; } });
|
|
55
|
+
Object.defineProperty(exports, "compileUpdateMany", { enumerable: true, get: function () { return makesql_1.compileUpdateMany; } });
|
|
56
|
+
Object.defineProperty(exports, "compileUpdateSingle", { enumerable: true, get: function () { return makesql_1.compileUpdateSingle; } });
|
|
57
|
+
Object.defineProperty(exports, "compileDeleteMakeSQL", { enumerable: true, get: function () { return makesql_1.compileDelete; } });
|
|
58
|
+
Object.defineProperty(exports, "inferPgArrayType", { enumerable: true, get: function () { return makesql_1.inferPgArrayType; } });
|
|
59
|
+
Object.defineProperty(exports, "resolvePgArrayCast", { enumerable: true, get: function () { return makesql_1.resolvePgArrayCast; } });
|
|
60
|
+
Object.defineProperty(exports, "PG_ARRAY_CAST_TOKEN", { enumerable: true, get: function () { return makesql_1.PG_ARRAY_CAST_TOKEN; } });
|
|
61
|
+
Object.defineProperty(exports, "compileSingleKeyUnlimited", { enumerable: true, get: function () { return makesql_1.compileSingleKeyUnlimited; } });
|
|
62
|
+
Object.defineProperty(exports, "compileSingleKeyLimited", { enumerable: true, get: function () { return makesql_1.compileSingleKeyLimited; } });
|
|
63
|
+
Object.defineProperty(exports, "compileCompositeKeyUnlimited", { enumerable: true, get: function () { return makesql_1.compileCompositeKeyUnlimited; } });
|
|
64
|
+
Object.defineProperty(exports, "compileCompositeKeyStaticUnlimited", { enumerable: true, get: function () { return makesql_1.compileCompositeKeyStaticUnlimited; } });
|
|
65
|
+
Object.defineProperty(exports, "compileCompositeKeyLimited", { enumerable: true, get: function () { return makesql_1.compileCompositeKeyLimited; } });
|
|
66
|
+
Object.defineProperty(exports, "makeSqlComponentIR", { enumerable: true, get: function () { return makesql_1.makeSqlComponentIR; } });
|
|
67
|
+
Object.defineProperty(exports, "makeSqlInput", { enumerable: true, get: function () { return makesql_1.makeSqlInput; } });
|
|
68
|
+
Object.defineProperty(exports, "compileAuthoredBehavior", { enumerable: true, get: function () { return makesql_1.compileAuthoredBehavior; } });
|
|
69
|
+
Object.defineProperty(exports, "compileAuthoredNode", { enumerable: true, get: function () { return makesql_1.compileAuthoredNode; } });
|
|
70
|
+
Object.defineProperty(exports, "compileRelationMap", { enumerable: true, get: function () { return makesql_1.compileRelationMap; } });
|
|
71
|
+
Object.defineProperty(exports, "compileStaticBundle", { enumerable: true, get: function () { return makesql_1.compileStaticBundle; } });
|
|
72
|
+
Object.defineProperty(exports, "compileSelectNode", { enumerable: true, get: function () { return makesql_1.compileSelectNode; } });
|
|
73
|
+
Object.defineProperty(exports, "executeStaticBundle", { enumerable: true, get: function () { return makesql_1.executeStaticBundle; } });
|
|
74
|
+
Object.defineProperty(exports, "executeStaticWrite", { enumerable: true, get: function () { return makesql_1.executeStaticWrite; } });
|
|
75
|
+
Object.defineProperty(exports, "executeReadBehavior", { enumerable: true, get: function () { return makesql_1.executeReadBehavior; } });
|
|
76
|
+
Object.defineProperty(exports, "compileReadGraph", { enumerable: true, get: function () { return makesql_1.compileReadGraph; } });
|
|
77
|
+
Object.defineProperty(exports, "executeReadGraph", { enumerable: true, get: function () { return makesql_1.executeReadGraph; } });
|
|
78
|
+
Object.defineProperty(exports, "executeReadGraphAsync", { enumerable: true, get: function () { return makesql_1.executeReadGraphAsync; } });
|
|
79
|
+
Object.defineProperty(exports, "renderReadPrimary", { enumerable: true, get: function () { return makesql_1.renderReadPrimary; } });
|
|
80
|
+
Object.defineProperty(exports, "pgPoolExecutor", { enumerable: true, get: function () { return makesql_1.pgPoolExecutor; } });
|
|
81
|
+
Object.defineProperty(exports, "mysqlPoolExecutor", { enumerable: true, get: function () { return makesql_1.mysqlPoolExecutor; } });
|
|
14
82
|
// Catalog (spec §11 item 1)
|
|
15
83
|
var catalog_1 = require("./catalog");
|
|
16
84
|
Object.defineProperty(exports, "LITEDBMODEL_CATALOG", { enumerable: true, get: function () { return catalog_1.LITEDBMODEL_CATALOG; } });
|
|
@@ -20,18 +88,6 @@ Object.defineProperty(exports, "WRITE_CATALOG_NAMES", { enumerable: true, get: f
|
|
|
20
88
|
Object.defineProperty(exports, "WRITE_PORT_FAMILIES", { enumerable: true, get: function () { return catalog_1.WRITE_PORT_FAMILIES; } });
|
|
21
89
|
Object.defineProperty(exports, "assertComponentsInCatalog", { enumerable: true, get: function () { return catalog_1.assertComponentsInCatalog; } });
|
|
22
90
|
Object.defineProperty(exports, "deriveContractEffect", { enumerable: true, get: function () { return catalog_1.deriveContractEffect; } });
|
|
23
|
-
// SQL IR shapes (spec §8)
|
|
24
|
-
var ir_1 = require("./ir");
|
|
25
|
-
Object.defineProperty(exports, "WHERE_SLOT", { enumerable: true, get: function () { return ir_1.WHERE_SLOT; } });
|
|
26
|
-
// SQLite Backend Compile (spec §11 item 3)
|
|
27
|
-
var compile_sqlite_1 = require("./compile-sqlite");
|
|
28
|
-
Object.defineProperty(exports, "compileSelect", { enumerable: true, get: function () { return compile_sqlite_1.compileSelect; } });
|
|
29
|
-
Object.defineProperty(exports, "compileInsert", { enumerable: true, get: function () { return compile_sqlite_1.compileInsert; } });
|
|
30
|
-
Object.defineProperty(exports, "compileUpdate", { enumerable: true, get: function () { return compile_sqlite_1.compileUpdate; } });
|
|
31
|
-
Object.defineProperty(exports, "compileDelete", { enumerable: true, get: function () { return compile_sqlite_1.compileDelete; } });
|
|
32
|
-
// Dynamic-expansion render (normative reference for byte-identical output)
|
|
33
|
-
var render_1 = require("./render");
|
|
34
|
-
Object.defineProperty(exports, "renderOperation", { enumerable: true, get: function () { return render_1.renderOperation; } });
|
|
35
91
|
// Dialect strategy table (WS6, #26 — the SSoT for PG/MySQL/SQLite SQL divergences + `?`→`$N`).
|
|
36
92
|
var dialect_1 = require("./dialect");
|
|
37
93
|
Object.defineProperty(exports, "dialectFor", { enumerable: true, get: function () { return dialect_1.dialectFor; } });
|
|
@@ -39,13 +95,9 @@ Object.defineProperty(exports, "toDollarPlaceholders", { enumerable: true, get:
|
|
|
39
95
|
Object.defineProperty(exports, "SQLITE", { enumerable: true, get: function () { return dialect_1.SQLITE; } });
|
|
40
96
|
Object.defineProperty(exports, "POSTGRES", { enumerable: true, get: function () { return dialect_1.POSTGRES; } });
|
|
41
97
|
Object.defineProperty(exports, "MYSQL", { enumerable: true, get: function () { return dialect_1.MYSQL; } });
|
|
42
|
-
// Dialect-parameterized Backend Compile (WS6, #26 — shared IR→structure, per-dialect SQL text).
|
|
43
|
-
var compile_dialect_1 = require("./compile-dialect");
|
|
44
|
-
Object.defineProperty(exports, "compileInsertFor", { enumerable: true, get: function () { return compile_dialect_1.compileInsertFor; } });
|
|
45
98
|
// Portability guard (closed Expression IR set only)
|
|
46
99
|
var guard_1 = require("./guard");
|
|
47
100
|
Object.defineProperty(exports, "assertExprPortable", { enumerable: true, get: function () { return guard_1.assertExprPortable; } });
|
|
48
|
-
Object.defineProperty(exports, "assertOperationPortable", { enumerable: true, get: function () { return guard_1.assertOperationPortable; } });
|
|
49
101
|
Object.defineProperty(exports, "assertComponentPortable", { enumerable: true, get: function () { return guard_1.assertComponentPortable; } });
|
|
50
102
|
Object.defineProperty(exports, "assertComponentGraphPortable", { enumerable: true, get: function () { return guard_1.assertComponentGraphPortable; } });
|
|
51
103
|
// Authoring Parse (spec §2.4 / §7 / §9) — SemanticBehavior declaration + eager public-API
|
|
@@ -54,11 +106,6 @@ var authoring_1 = require("./authoring");
|
|
|
54
106
|
Object.defineProperty(exports, "components", { enumerable: true, get: function () { return authoring_1.components; } });
|
|
55
107
|
Object.defineProperty(exports, "publishBehaviors", { enumerable: true, get: function () { return authoring_1.publishBehaviors; } });
|
|
56
108
|
Object.defineProperty(exports, "compileEager", { enumerable: true, get: function () { return authoring_1.compileEager; } });
|
|
57
|
-
// Backend-Compile bridge (WS1↔WS3): real bc ComponentGraphIR port shape → WS1 CompiledOperation.
|
|
58
|
-
var bridge_1 = require("./bridge");
|
|
59
|
-
Object.defineProperty(exports, "compileNode", { enumerable: true, get: function () { return bridge_1.compileNode; } });
|
|
60
|
-
Object.defineProperty(exports, "compileComponentNodes", { enumerable: true, get: function () { return bridge_1.compileComponentNodes; } });
|
|
61
|
-
Object.defineProperty(exports, "IN_SENTINEL", { enumerable: true, get: function () { return bridge_1.IN_SENTINEL; } });
|
|
62
109
|
// SQL WHERE authoring helpers (closed-set encodings the bridge decodes).
|
|
63
110
|
var authoring_sql_1 = require("./authoring-sql");
|
|
64
111
|
Object.defineProperty(exports, "whereEq", { enumerable: true, get: function () { return authoring_sql_1.whereEq; } });
|
|
@@ -70,10 +117,33 @@ Object.defineProperty(exports, "whereGe", { enumerable: true, get: function () {
|
|
|
70
117
|
Object.defineProperty(exports, "whereIsNull", { enumerable: true, get: function () { return authoring_sql_1.whereIsNull; } });
|
|
71
118
|
Object.defineProperty(exports, "whereIn", { enumerable: true, get: function () { return authoring_sql_1.whereIn; } });
|
|
72
119
|
Object.defineProperty(exports, "inColumn", { enumerable: true, get: function () { return authoring_sql_1.inColumn; } });
|
|
120
|
+
// Additive where-primitives (V0 R2/R3): live-reachable, v1-sourced SQL.
|
|
121
|
+
Object.defineProperty(exports, "whereBetween", { enumerable: true, get: function () { return authoring_sql_1.whereBetween; } });
|
|
122
|
+
Object.defineProperty(exports, "whereLike", { enumerable: true, get: function () { return authoring_sql_1.whereLike; } });
|
|
123
|
+
Object.defineProperty(exports, "whereILike", { enumerable: true, get: function () { return authoring_sql_1.whereILike; } });
|
|
124
|
+
Object.defineProperty(exports, "whereCast", { enumerable: true, get: function () { return authoring_sql_1.whereCast; } });
|
|
125
|
+
Object.defineProperty(exports, "whereDynamic", { enumerable: true, get: function () { return authoring_sql_1.whereDynamic; } });
|
|
126
|
+
Object.defineProperty(exports, "whereImmediate", { enumerable: true, get: function () { return authoring_sql_1.whereImmediate; } });
|
|
127
|
+
Object.defineProperty(exports, "whereTupleIn", { enumerable: true, get: function () { return authoring_sql_1.whereTupleIn; } });
|
|
128
|
+
Object.defineProperty(exports, "whereInSubquery", { enumerable: true, get: function () { return authoring_sql_1.whereInSubquery; } });
|
|
129
|
+
Object.defineProperty(exports, "whereExists", { enumerable: true, get: function () { return authoring_sql_1.whereExists; } });
|
|
73
130
|
// Error Mapping (spec §11 item 5): driver error → SCP Failure + Policy Kind.
|
|
74
131
|
var errors_1 = require("./errors");
|
|
75
132
|
Object.defineProperty(exports, "mapSqliteError", { enumerable: true, get: function () { return errors_1.mapSqliteError; } });
|
|
76
133
|
Object.defineProperty(exports, "SqlFailure", { enumerable: true, get: function () { return errors_1.SqlFailure; } });
|
|
134
|
+
// FIND_FILTER fail-closed authoring guard (#47 Finding B / plan R8): a model declaring an
|
|
135
|
+
// implicit per-model scope predicate cannot be SCP-compiled without folding it into the
|
|
136
|
+
// authored WHERE (fail-closed; the SCP compile has no model context to auto-apply it).
|
|
137
|
+
var find_filter_guard_1 = require("./find-filter-guard");
|
|
138
|
+
Object.defineProperty(exports, "assertFindFilterFolded", { enumerable: true, get: function () { return find_filter_guard_1.assertFindFilterFolded; } });
|
|
139
|
+
Object.defineProperty(exports, "findFilterKeys", { enumerable: true, get: function () { return find_filter_guard_1.findFilterKeys; } });
|
|
140
|
+
Object.defineProperty(exports, "FindFilterLeakError", { enumerable: true, get: function () { return find_filter_guard_1.FindFilterLeakError; } });
|
|
141
|
+
// Column type system (spec §4.1; #58): SQL type → bc outType scalar, and the schema/DDL SoT
|
|
142
|
+
// resolver that types a SELECT projection for typed (de-boxed) codegen. Fail-closed throughout.
|
|
143
|
+
var coltype_1 = require("./coltype");
|
|
144
|
+
Object.defineProperty(exports, "sqlTypeToBcScalar", { enumerable: true, get: function () { return coltype_1.sqlTypeToBcScalar; } });
|
|
145
|
+
Object.defineProperty(exports, "parseSchemaColumnTypes", { enumerable: true, get: function () { return coltype_1.parseSchemaColumnTypes; } });
|
|
146
|
+
Object.defineProperty(exports, "schemaColumnTypeResolver", { enumerable: true, get: function () { return coltype_1.schemaColumnTypeResolver; } });
|
|
77
147
|
// Thin TS runtime (spec §3 / §10 / §11): validate → SKIP → expand → eval → bind → execute → assembly.
|
|
78
148
|
// `compileBundle` emits the §8 published artifact (Backend-Compiled once, TS-side);
|
|
79
149
|
// `executeBundle` runs that artifact via bc runtime-core alone (the multi-language target).
|
|
@@ -83,7 +153,11 @@ Object.defineProperty(exports, "compileBundle", { enumerable: true, get: functio
|
|
|
83
153
|
Object.defineProperty(exports, "executeBundle", { enumerable: true, get: function () { return runtime_1.executeBundle; } });
|
|
84
154
|
Object.defineProperty(exports, "read", { enumerable: true, get: function () { return runtime_1.read; } });
|
|
85
155
|
Object.defineProperty(exports, "readBundle", { enumerable: true, get: function () { return runtime_1.readBundle; } });
|
|
86
|
-
|
|
156
|
+
// The ASYNC PG / MySQL production read execution model (#40): bc `runBehaviorAsync` fans out
|
|
157
|
+
// independent sibling read nodes in bounded parallel against a pooled async executor.
|
|
158
|
+
var runtime_2 = require("./runtime");
|
|
159
|
+
Object.defineProperty(exports, "executeBundleAsync", { enumerable: true, get: function () { return runtime_2.executeBundleAsync; } });
|
|
160
|
+
Object.defineProperty(exports, "executeBehaviorAsync", { enumerable: true, get: function () { return runtime_2.executeBehaviorAsync; } });
|
|
87
161
|
// Write-time relations (WS5, #25 — spec §6): entityWrites/edgeWrites declaration vocabulary,
|
|
88
162
|
// the gate-first transaction-plan derivation, and the 1-tx real-SQLite runtime.
|
|
89
163
|
var writes_1 = require("./writes");
|
|
@@ -92,36 +166,47 @@ Object.defineProperty(exports, "edgeWrites", { enumerable: true, get: function (
|
|
|
92
166
|
Object.defineProperty(exports, "lifecycleFor", { enumerable: true, get: function () { return writes_1.lifecycleFor; } });
|
|
93
167
|
Object.defineProperty(exports, "parseEffectPath", { enumerable: true, get: function () { return writes_1.parseEffectPath; } });
|
|
94
168
|
Object.defineProperty(exports, "ENTITY_ROOT", { enumerable: true, get: function () { return writes_1.ENTITY_ROOT; } });
|
|
95
|
-
var
|
|
96
|
-
Object.defineProperty(exports, "deriveTransactionPlan", { enumerable: true, get: function () { return
|
|
97
|
-
|
|
98
|
-
Object.defineProperty(exports, "
|
|
99
|
-
Object.defineProperty(exports, "
|
|
169
|
+
var makesql_2 = require("./makesql");
|
|
170
|
+
Object.defineProperty(exports, "deriveTransactionPlan", { enumerable: true, get: function () { return makesql_2.deriveTransactionPlan; } });
|
|
171
|
+
Object.defineProperty(exports, "executeTransaction", { enumerable: true, get: function () { return makesql_2.executeTransaction; } });
|
|
172
|
+
Object.defineProperty(exports, "countingDriver", { enumerable: true, get: function () { return makesql_2.countingDriver; } });
|
|
173
|
+
Object.defineProperty(exports, "renderTxStatement", { enumerable: true, get: function () { return makesql_2.renderTxStatement; } });
|
|
174
|
+
Object.defineProperty(exports, "compileWriteNode", { enumerable: true, get: function () { return makesql_2.compileWriteNode; } });
|
|
175
|
+
Object.defineProperty(exports, "mysqlPkHint", { enumerable: true, get: function () { return makesql_2.mysqlPkHint; } });
|
|
176
|
+
Object.defineProperty(exports, "stripMysqlPkHint", { enumerable: true, get: function () { return makesql_2.stripMysqlPkHint; } });
|
|
100
177
|
// The Command bundle + 1-tx execution surface (WS5 — the write path of §2.3 / §6).
|
|
101
|
-
var
|
|
102
|
-
Object.defineProperty(exports, "compileWriteBundle", { enumerable: true, get: function () { return
|
|
103
|
-
Object.defineProperty(exports, "executeCommand", { enumerable: true, get: function () { return
|
|
104
|
-
Object.defineProperty(exports, "executeTransactionBundle", { enumerable: true, get: function () { return
|
|
178
|
+
var runtime_3 = require("./runtime");
|
|
179
|
+
Object.defineProperty(exports, "compileWriteBundle", { enumerable: true, get: function () { return runtime_3.compileWriteBundle; } });
|
|
180
|
+
Object.defineProperty(exports, "executeCommand", { enumerable: true, get: function () { return runtime_3.executeCommand; } });
|
|
181
|
+
Object.defineProperty(exports, "executeTransactionBundle", { enumerable: true, get: function () { return runtime_3.executeTransactionBundle; } });
|
|
105
182
|
// Composite (multi-write) Command surface (WS8a, #28 — spec §6 nested write / §14 tx-DAG derivation):
|
|
106
183
|
// several named base writes with data dependencies → ONE topologically-ordered gate-first tx plan.
|
|
107
|
-
var runtime_3 = require("./runtime");
|
|
108
|
-
Object.defineProperty(exports, "compileCompositeWriteBundle", { enumerable: true, get: function () { return runtime_3.compileCompositeWriteBundle; } });
|
|
109
|
-
Object.defineProperty(exports, "executeCompositeCommand", { enumerable: true, get: function () { return runtime_3.executeCompositeCommand; } });
|
|
110
|
-
// Reusable handler/normalization seams (WS3) — exported so the mode-3 codegen path binds the
|
|
111
|
-
// IDENTICAL SQL handlers into bc's generated `bind()` (byte-identity by construction).
|
|
112
184
|
var runtime_4 = require("./runtime");
|
|
113
|
-
Object.defineProperty(exports, "
|
|
114
|
-
Object.defineProperty(exports, "
|
|
185
|
+
Object.defineProperty(exports, "compileCompositeWriteBundle", { enumerable: true, get: function () { return runtime_4.compileCompositeWriteBundle; } });
|
|
186
|
+
Object.defineProperty(exports, "executeCompositeCommand", { enumerable: true, get: function () { return runtime_4.executeCompositeCommand; } });
|
|
187
|
+
// Batch writes (createMany / updateMany / deleteMany): ONE logical op → N grouped statements lowered
|
|
188
|
+
// to a gate-free tx plan (executed by the SAME multi-statement tx loop in all 5 runtimes). The
|
|
189
|
+
// batch SQL is byte-copied from the v1 builders (compileInsertMany/compileUpdateMany/compileDeleteMany).
|
|
190
|
+
var runtime_5 = require("./runtime");
|
|
191
|
+
Object.defineProperty(exports, "compileCreateManyBundle", { enumerable: true, get: function () { return runtime_5.compileCreateManyBundle; } });
|
|
192
|
+
Object.defineProperty(exports, "compileUpdateManyBundle", { enumerable: true, get: function () { return runtime_5.compileUpdateManyBundle; } });
|
|
193
|
+
Object.defineProperty(exports, "compileDeleteManyBundle", { enumerable: true, get: function () { return runtime_5.compileDeleteManyBundle; } });
|
|
194
|
+
var makesql_3 = require("./makesql");
|
|
195
|
+
Object.defineProperty(exports, "compileDeleteMany", { enumerable: true, get: function () { return makesql_3.compileDeleteMany; } });
|
|
115
196
|
// Mode-3 codegen (WS7f, #35 — spec §9 exec-mode 3): supply the litedbmodel SQL catalog to bc's
|
|
116
|
-
// shared generator; emit per-language source (
|
|
117
|
-
//
|
|
118
|
-
// codegen conformance leg).
|
|
197
|
+
// shared generator; emit per-language STATIC straight-line source (de-interpreted, bc#75 — real
|
|
198
|
+
// static code, NOT a baked-IR interpret path) + the SQL catalog companion. Generated code is
|
|
199
|
+
// behavior-identical to the mode-2 thin-runtime (proven by the codegen conformance leg).
|
|
119
200
|
var codegen_1 = require("./codegen");
|
|
120
201
|
Object.defineProperty(exports, "CODEGEN_LANGUAGES", { enumerable: true, get: function () { return codegen_1.CODEGEN_LANGUAGES; } });
|
|
202
|
+
Object.defineProperty(exports, "CODEGEN_EMITTER", { enumerable: true, get: function () { return codegen_1.CODEGEN_EMITTER; } });
|
|
121
203
|
Object.defineProperty(exports, "generateCodegenArtifact", { enumerable: true, get: function () { return codegen_1.generateCodegenArtifact; } });
|
|
122
204
|
Object.defineProperty(exports, "bundleToPortableIR", { enumerable: true, get: function () { return codegen_1.bundleToPortableIR; } });
|
|
123
|
-
Object.defineProperty(exports, "
|
|
205
|
+
Object.defineProperty(exports, "lowerReadGraphForTypedNative", { enumerable: true, get: function () { return codegen_1.lowerReadGraphForTypedNative; } });
|
|
206
|
+
Object.defineProperty(exports, "codegenEmitterFor", { enumerable: true, get: function () { return codegen_1.codegenEmitterFor; } });
|
|
207
|
+
Object.defineProperty(exports, "typedEmitterFor", { enumerable: true, get: function () { return codegen_1.typedEmitterFor; } });
|
|
124
208
|
Object.defineProperty(exports, "codegenExecuteBundleForTest", { enumerable: true, get: function () { return codegen_1.codegenExecuteBundleForTest; } });
|
|
209
|
+
Object.defineProperty(exports, "TypedNativeCoverageError", { enumerable: true, get: function () { return codegen_1.TypedNativeCoverageError; } });
|
|
125
210
|
// Read relations (WS4, #24): pre-compiled batch relation ops + staged batch resolution.
|
|
126
211
|
// BOTH the declarative-select and the lazy surface resolve through the SAME compiled op.
|
|
127
212
|
var relation_1 = require("./relation");
|
package/dist/scp/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/scp/index.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/scp/index.ts"],"names":[],"mappings":"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"}
|