litedbmodel 2.0.2 → 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.
- package/README.md +7 -0
- package/dist/DBConditions.d.ts.map +1 -1
- package/dist/DBConditions.js +16 -1
- package/dist/DBConditions.js.map +1 -1
- package/dist/DBHandler.d.ts.map +1 -1
- package/dist/DBHandler.js +6 -0
- package/dist/DBHandler.js.map +1 -1
- package/dist/DBModel.d.ts +84 -2
- package/dist/DBModel.d.ts.map +1 -1
- package/dist/DBModel.js +312 -29
- package/dist/DBModel.js.map +1 -1
- package/dist/decorators.d.ts +52 -0
- package/dist/decorators.d.ts.map +1 -1
- package/dist/decorators.js +127 -24
- package/dist/decorators.js.map +1 -1
- package/dist/drivers/mysql.d.ts.map +1 -1
- package/dist/drivers/mysql.js +12 -2
- package/dist/drivers/mysql.js.map +1 -1
- package/dist/drivers/postgres.d.ts.map +1 -1
- package/dist/drivers/postgres.js +13 -2
- package/dist/drivers/postgres.js.map +1 -1
- package/dist/drivers/sqlite.d.ts +2 -0
- package/dist/drivers/sqlite.d.ts.map +1 -1
- package/dist/drivers/sqlite.js +49 -4
- package/dist/drivers/sqlite.js.map +1 -1
- package/dist/index.cjs +10741 -0
- package/dist/index.d.cts +1 -0
- package/dist/scp/coltype.d.ts +108 -0
- package/dist/scp/coltype.d.ts.map +1 -1
- package/dist/scp/coltype.js +293 -6
- package/dist/scp/coltype.js.map +1 -1
- package/dist/scp/connection-routing.d.ts +312 -0
- package/dist/scp/connection-routing.d.ts.map +1 -0
- package/dist/scp/connection-routing.js +394 -0
- package/dist/scp/connection-routing.js.map +1 -0
- package/dist/scp/dbmodel-runtime.d.ts +101 -0
- package/dist/scp/dbmodel-runtime.d.ts.map +1 -0
- package/dist/scp/dbmodel-runtime.js +174 -0
- package/dist/scp/dbmodel-runtime.js.map +1 -0
- package/dist/scp/decorator-adapter.d.ts +196 -0
- package/dist/scp/decorator-adapter.d.ts.map +1 -0
- package/dist/scp/decorator-adapter.js +286 -0
- package/dist/scp/decorator-adapter.js.map +1 -0
- package/dist/scp/emit/emitter.d.ts +108 -0
- package/dist/scp/emit/emitter.d.ts.map +1 -0
- package/dist/scp/emit/emitter.js +782 -0
- package/dist/scp/emit/emitter.js.map +1 -0
- package/dist/scp/emit/endpoint.d.ts +248 -0
- package/dist/scp/emit/endpoint.d.ts.map +1 -0
- package/dist/scp/emit/endpoint.js +20 -0
- package/dist/scp/emit/endpoint.js.map +1 -0
- package/dist/scp/emit/index.d.ts +11 -0
- package/dist/scp/emit/index.d.ts.map +1 -0
- package/dist/scp/emit/index.js +13 -0
- package/dist/scp/emit/index.js.map +1 -0
- package/dist/scp/errors.d.ts +45 -1
- package/dist/scp/errors.d.ts.map +1 -1
- package/dist/scp/errors.js +47 -1
- package/dist/scp/errors.js.map +1 -1
- package/dist/scp/exec-context.d.ts +390 -0
- package/dist/scp/exec-context.d.ts.map +1 -0
- package/dist/scp/exec-context.js +540 -0
- package/dist/scp/exec-context.js.map +1 -0
- package/dist/scp/grouping.d.ts +32 -0
- package/dist/scp/grouping.d.ts.map +1 -0
- package/dist/scp/grouping.js +0 -0
- package/dist/scp/grouping.js.map +1 -0
- package/dist/scp/index.cjs +6432 -17579
- package/dist/scp/index.d.cts +1 -0
- package/dist/scp/index.d.mts +1 -0
- package/dist/scp/index.d.ts +51 -52
- package/dist/scp/index.d.ts.map +1 -1
- package/dist/scp/index.js +189 -152
- package/dist/scp/index.js.map +1 -1
- package/dist/scp/index.mjs +6067 -3659
- package/dist/scp/leaf-transport.d.ts +50 -0
- package/dist/scp/leaf-transport.d.ts.map +1 -0
- package/dist/scp/leaf-transport.js +92 -0
- package/dist/scp/leaf-transport.js.map +1 -0
- package/dist/scp/leaves.d.ts +174 -0
- package/dist/scp/leaves.d.ts.map +1 -0
- package/dist/scp/leaves.js +287 -0
- package/dist/scp/leaves.js.map +1 -0
- package/dist/scp/limit-config.d.ts +118 -0
- package/dist/scp/limit-config.d.ts.map +1 -0
- package/dist/scp/limit-config.js +126 -0
- package/dist/scp/limit-config.js.map +1 -0
- package/dist/scp/makesql/compile-relation.d.ts +49 -23
- package/dist/scp/makesql/compile-relation.d.ts.map +1 -1
- package/dist/scp/makesql/compile-relation.js +101 -76
- package/dist/scp/makesql/compile-relation.js.map +1 -1
- package/dist/scp/makesql/compile-select.d.ts +45 -10
- package/dist/scp/makesql/compile-select.d.ts.map +1 -1
- package/dist/scp/makesql/compile-select.js +50 -10
- package/dist/scp/makesql/compile-select.js.map +1 -1
- package/dist/scp/makesql/handler.d.ts +1 -1
- package/dist/scp/makesql/handler.d.ts.map +1 -1
- package/dist/scp/makesql/index.d.ts +7 -10
- package/dist/scp/makesql/index.d.ts.map +1 -1
- package/dist/scp/makesql/index.js +19 -30
- package/dist/scp/makesql/index.js.map +1 -1
- package/dist/scp/makesql/json-array.d.ts +65 -0
- package/dist/scp/makesql/json-array.d.ts.map +1 -1
- package/dist/scp/makesql/json-array.js +99 -10
- package/dist/scp/makesql/json-array.js.map +1 -1
- package/dist/scp/makesql/json-batch.d.ts.map +1 -1
- package/dist/scp/makesql/json-batch.js +21 -19
- package/dist/scp/makesql/json-batch.js.map +1 -1
- package/dist/scp/makesql/makesql.d.ts +1 -1
- package/dist/scp/makesql/makesql.d.ts.map +1 -1
- package/dist/scp/makesql/mysql-returning.d.ts +93 -0
- package/dist/scp/makesql/mysql-returning.d.ts.map +1 -0
- package/dist/scp/makesql/mysql-returning.js +215 -0
- package/dist/scp/makesql/mysql-returning.js.map +1 -0
- package/dist/scp/makesql/outtype.d.ts +75 -34
- package/dist/scp/makesql/outtype.d.ts.map +1 -1
- package/dist/scp/makesql/outtype.js +91 -118
- package/dist/scp/makesql/outtype.js.map +1 -1
- package/dist/scp/makesql/pool-executor.d.ts +135 -13
- package/dist/scp/makesql/pool-executor.d.ts.map +1 -1
- package/dist/scp/makesql/pool-executor.js +229 -21
- package/dist/scp/makesql/pool-executor.js.map +1 -1
- package/dist/scp/makesql/tx.d.ts +107 -22
- package/dist/scp/makesql/tx.d.ts.map +1 -1
- package/dist/scp/makesql/tx.js +451 -97
- package/dist/scp/makesql/tx.js.map +1 -1
- package/dist/scp/makesql/writeouttype.d.ts +7 -8
- package/dist/scp/makesql/writeouttype.d.ts.map +1 -1
- package/dist/scp/makesql/writeouttype.js +8 -7
- package/dist/scp/makesql/writeouttype.js.map +1 -1
- package/dist/scp/middleware.d.ts +287 -0
- package/dist/scp/middleware.d.ts.map +1 -0
- package/dist/scp/middleware.js +358 -0
- package/dist/scp/middleware.js.map +1 -0
- package/dist/scp/relation.d.ts +80 -9
- package/dist/scp/relation.d.ts.map +1 -1
- package/dist/scp/relation.js +198 -78
- package/dist/scp/relation.js.map +1 -1
- package/dist/scp/tx-options.d.ts +136 -0
- package/dist/scp/tx-options.d.ts.map +1 -0
- package/dist/scp/tx-options.js +184 -0
- package/dist/scp/tx-options.js.map +1 -0
- package/dist/scp/write-bundle.d.ts +131 -0
- package/dist/scp/write-bundle.d.ts.map +1 -0
- package/dist/scp/write-bundle.js +160 -0
- package/dist/scp/write-bundle.js.map +1 -0
- package/dist/types.d.ts +7 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/docs/BENCHMARK.md +58 -56
- package/docs/benchmark-chart.svg +166 -166
- package/docs/design/phase-a-execution-context.md +139 -0
- package/package.json +16 -9
- package/dist/scp/authoring-sql.d.ts +0 -134
- package/dist/scp/authoring-sql.d.ts.map +0 -1
- package/dist/scp/authoring-sql.js +0 -191
- package/dist/scp/authoring-sql.js.map +0 -1
- package/dist/scp/authoring.d.ts +0 -155
- package/dist/scp/authoring.d.ts.map +0 -1
- package/dist/scp/authoring.js +0 -162
- package/dist/scp/authoring.js.map +0 -1
- package/dist/scp/catalog.d.ts +0 -94
- package/dist/scp/catalog.d.ts.map +0 -1
- package/dist/scp/catalog.js +0 -234
- package/dist/scp/catalog.js.map +0 -1
- package/dist/scp/codegen.d.ts +0 -189
- package/dist/scp/codegen.d.ts.map +0 -1
- package/dist/scp/codegen.js +0 -421
- package/dist/scp/codegen.js.map +0 -1
- package/dist/scp/find-filter-guard.d.ts +0 -68
- package/dist/scp/find-filter-guard.d.ts.map +0 -1
- package/dist/scp/find-filter-guard.js +0 -88
- package/dist/scp/find-filter-guard.js.map +0 -1
- package/dist/scp/guard.d.ts +0 -43
- package/dist/scp/guard.d.ts.map +0 -1
- package/dist/scp/guard.js +0 -134
- package/dist/scp/guard.js.map +0 -1
- package/dist/scp/makesql/authoring-compile.d.ts +0 -90
- package/dist/scp/makesql/authoring-compile.d.ts.map +0 -1
- package/dist/scp/makesql/authoring-compile.js +0 -494
- package/dist/scp/makesql/authoring-compile.js.map +0 -1
- package/dist/scp/makesql/ir.d.ts +0 -42
- package/dist/scp/makesql/ir.d.ts.map +0 -1
- package/dist/scp/makesql/ir.js +0 -66
- package/dist/scp/makesql/ir.js.map +0 -1
- package/dist/scp/makesql/static-bundle.d.ts +0 -187
- package/dist/scp/makesql/static-bundle.d.ts.map +0 -1
- package/dist/scp/makesql/static-bundle.js +0 -1113
- package/dist/scp/makesql/static-bundle.js.map +0 -1
- package/dist/scp/runtime.d.ts +0 -242
- package/dist/scp/runtime.d.ts.map +0 -1
- package/dist/scp/runtime.js +0 -400
- package/dist/scp/runtime.js.map +0 -1
package/dist/scp/index.js
CHANGED
|
@@ -1,36 +1,31 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
* litedbmodel v2 SCP — public surface
|
|
3
|
+
* litedbmodel v2 SCP — public surface.
|
|
4
4
|
*
|
|
5
|
-
* The SQL-backend consumer layer over behavior-contracts (spec §1).
|
|
5
|
+
* The SQL-backend consumer layer over behavior-contracts (spec §1). litedbmodel supplies exactly four
|
|
6
|
+
* things and nothing else:
|
|
6
7
|
*
|
|
7
|
-
*
|
|
8
|
+
* 1. **The leaf transport declaration** — `Db` (`@leaf static executeSQL / pluck / group`), the ONE
|
|
9
|
+
* `@leaf` catalog every authored / emitted model imports (`./leaf-transport`). `bc generate --from`
|
|
10
|
+
* reads it; there is no second declaration anywhere in the repo.
|
|
11
|
+
* 2. **The leaf transport implementation** — `leafHandlers` / `leafHandlersAsync` (`./leaves`), the
|
|
12
|
+
* handler map a bc-generated TS module's `bind(handlers)` / `bindAsync(handlers)` consumes. This is
|
|
13
|
+
* the whole TS runtime seam: `bind(leafHandlers({ exec, dialect }))`.
|
|
14
|
+
* 3. **The tuned SQL** — the `./makesql` subtree (dialect SELECT / INSERT / UPDATE / DELETE / relation
|
|
15
|
+
* / batch builders, byte-true to the v1 builders) and the write bundles + gate-first transaction
|
|
16
|
+
* plans built on it.
|
|
17
|
+
* 4. **The language runtime** — the execution context (connection routing, middleware, transactions),
|
|
18
|
+
* the relation grouping core, the column-type de-box SoT, and the typed-object read surface.
|
|
8
19
|
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
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`.
|
|
20
|
+
* WIRING IS AUTOMATIC. A behavior is declared in TypeScript, bc compiles it, and the only per-language
|
|
21
|
+
* hand-wiring is the harness calling the generated module's method with the handler map above. There is
|
|
22
|
+
* no runtime IR, no programmatic compile, and no runtime behavior dispatch in this package.
|
|
28
23
|
*/
|
|
29
24
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
|
-
exports.
|
|
31
|
-
exports.
|
|
32
|
-
exports.
|
|
33
|
-
exports.opt = exports.
|
|
25
|
+
exports.toDollarPlaceholders = exports.dialectFor = exports.emitBehaviorModule = exports.assembleDynamicWhere = exports.spliceWhere = exports.prepareSql = exports.LEAF_TRANSPORT_SYMBOLS = exports.leafHandlersAsync = exports.leafHandlers = exports.group = exports.pluck = exports.executeSQLAsync = exports.executeSQL = exports.Db = exports.mysqlPoolFactory = exports.pgPoolFactory = exports.mysqlConnectionPool = exports.pgConnectionPool = exports.mysqlDeboxPoolOptions = exports.configurePgDeboxTypeParsers = 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;
|
|
26
|
+
exports.rawQueryAsync = exports.rawQuery = exports.rawExecuteAsync = exports.rawExecute = exports.Logger = exports.runMethod = exports.createMiddleware = exports.use = exports.register = exports.activeSqlMiddlewares = exports.withMiddlewareScope = exports.currentRegistry = exports.Registry = exports.currentPinnedAsyncConnection = exports.runWithPinnedAsyncConnection = exports.transaction = exports.withTransactionAsync = exports.PooledAsyncContext = exports.MiddlewareChain = exports.connectionForDriver = exports.contextForConnection = exports.contextForDriver = exports.runGuardedAsync = exports.runGuarded = exports.runAsync = exports.executeAsync = exports.run = exports.executeSafe = exports.execute = exports.columnTypeResolverFromColumnMap = exports.failClosedMaterializeResolverFromColumnMap = exports.materializeResolverFromColumnMap = exports.schemaColumnTypeResolver = exports.parseSchemaColumnTypes = exports.materializeClassOrUndefined = exports.materializeCell = exports.sqlTypeToMaterializeClass = exports.sqlTypeToBcScalar = exports.assertFindHardLimit = exports.resolveHasManyHardLimit = exports.resolveFindHardLimit = exports.resetLimitConfig = exports.getLimitConfig = exports.setLimitConfig = exports.LimitExceededError = exports.SqlFailure = exports.mapSqliteError = exports.MYSQL = exports.POSTGRES = exports.SQLITE = void 0;
|
|
27
|
+
exports.dbCastIn = exports.dbCast = exports.compileInsertMany = exports.compileDeleteMany = exports.compileDeleteManyBundle = exports.compileUpdateManyBundle = exports.compileCreateManyBundle = exports.compileCompositeWriteBundle = exports.executeTransactionBundle = exports.compileWriteBundle = exports.stripMysqlPkHint = exports.mysqlPkHint = exports.compileWriteNode = exports.renderTxStatement = exports.countingDriver = exports.executeTransactionAsync = exports.executeTransaction = exports.deriveTransactionPlan = exports.ENTITY_ROOT = exports.parseEffectPath = exports.lifecycleFor = exports.edgeWrites = exports.entityWrites = exports.WriteInReadOnlyContextError = exports.WriteOutsideTransactionError = exports.checkWriteAllowed = exports.isReadOnly = exports.isInTransaction = exports.withReadOnly = exports.runInTransactionScope = exports.sleep = exports.isRetryableTxError = exports.resolveTxOptions = exports.beginStatements = exports.isolationPhrase = exports.buildRoutingConfig = exports.readerWriterPair = exports.singlePoolPair = exports.configuredPool = exports.sessionResetStatements = exports.sessionStatements = exports.resolveConnectionConfig = exports.resolvePool = exports.inWriterScope = exports.withWriter = exports.DEFAULT_CONNECTION = exports.WriterStickyClock = exports.ConnectionRegistryBuilder = exports.ConnectionRegistry = exports.clearMiddlewares = void 0;
|
|
28
|
+
exports.AuthoringFailure = exports.refsConnection = exports.opt = exports.leaf = exports.behavior = exports.compileRelationOps = exports.relationDeclOf = exports.deriveRelationDecls = exports.relationKeyTypeResolver = exports.modelColumnResolver = exports.compileDeleteBundle = exports.compileUpdateBundle = exports.compileCreateBundle = exports.DEFAULT_UNCAST_SQL_TYPE = exports.COLUMN_FAMILY_SQL_TYPE = exports.tableNameOf = exports.columnSqlType = exports.deriveModelColumns = exports.RELATION_CONTEXT = exports.RelationContext = exports.readRelationContext = exports.buildResultSet = exports.RELATION_KEYS_HEAD = exports.distributeToParent = exports.runRelationOp = exports.compileRelationOp = void 0;
|
|
34
29
|
// ── CANONICAL: the LOCKED `makeSQL` bc integration (epic #43 / design #45). ──────────
|
|
35
30
|
var makesql_1 = require("./makesql");
|
|
36
31
|
Object.defineProperty(exports, "MAKESQL", { enumerable: true, get: function () { return makesql_1.MAKESQL; } });
|
|
@@ -63,31 +58,33 @@ Object.defineProperty(exports, "compileSingleKeyLimited", { enumerable: true, ge
|
|
|
63
58
|
Object.defineProperty(exports, "compileCompositeKeyUnlimited", { enumerable: true, get: function () { return makesql_1.compileCompositeKeyUnlimited; } });
|
|
64
59
|
Object.defineProperty(exports, "compileCompositeKeyStaticUnlimited", { enumerable: true, get: function () { return makesql_1.compileCompositeKeyStaticUnlimited; } });
|
|
65
60
|
Object.defineProperty(exports, "compileCompositeKeyLimited", { enumerable: true, get: function () { return makesql_1.compileCompositeKeyLimited; } });
|
|
66
|
-
Object.defineProperty(exports, "
|
|
67
|
-
Object.defineProperty(exports, "
|
|
68
|
-
Object.defineProperty(exports, "
|
|
69
|
-
Object.defineProperty(exports, "
|
|
70
|
-
Object.defineProperty(exports, "
|
|
71
|
-
Object.defineProperty(exports, "
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
Object.defineProperty(exports, "
|
|
77
|
-
|
|
78
|
-
Object.defineProperty(exports, "
|
|
79
|
-
Object.defineProperty(exports, "
|
|
80
|
-
Object.defineProperty(exports, "
|
|
81
|
-
Object.defineProperty(exports, "
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
Object.defineProperty(exports, "
|
|
85
|
-
Object.defineProperty(exports, "
|
|
86
|
-
Object.defineProperty(exports, "
|
|
87
|
-
Object.defineProperty(exports, "
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
61
|
+
Object.defineProperty(exports, "configurePgDeboxTypeParsers", { enumerable: true, get: function () { return makesql_1.configurePgDeboxTypeParsers; } });
|
|
62
|
+
Object.defineProperty(exports, "mysqlDeboxPoolOptions", { enumerable: true, get: function () { return makesql_1.mysqlDeboxPoolOptions; } });
|
|
63
|
+
Object.defineProperty(exports, "pgConnectionPool", { enumerable: true, get: function () { return makesql_1.pgConnectionPool; } });
|
|
64
|
+
Object.defineProperty(exports, "mysqlConnectionPool", { enumerable: true, get: function () { return makesql_1.mysqlConnectionPool; } });
|
|
65
|
+
Object.defineProperty(exports, "pgPoolFactory", { enumerable: true, get: function () { return makesql_1.pgPoolFactory; } });
|
|
66
|
+
Object.defineProperty(exports, "mysqlPoolFactory", { enumerable: true, get: function () { return makesql_1.mysqlPoolFactory; } });
|
|
67
|
+
// The op-INDEPENDENT leaf transport. `Db` is the `@leaf static` DECLARATION every authored / emitted
|
|
68
|
+
// model imports (the single catalog `bc generate --from` reads); `leafHandlers`/`leafHandlersAsync` are
|
|
69
|
+
// its executable bodies, injected into a generated module's `bind`/`bindAsync`.
|
|
70
|
+
var leaf_transport_1 = require("./leaf-transport");
|
|
71
|
+
Object.defineProperty(exports, "Db", { enumerable: true, get: function () { return leaf_transport_1.Db; } });
|
|
72
|
+
var leaves_1 = require("./leaves");
|
|
73
|
+
Object.defineProperty(exports, "executeSQL", { enumerable: true, get: function () { return leaves_1.executeSQL; } });
|
|
74
|
+
Object.defineProperty(exports, "executeSQLAsync", { enumerable: true, get: function () { return leaves_1.executeSQLAsync; } });
|
|
75
|
+
Object.defineProperty(exports, "pluck", { enumerable: true, get: function () { return leaves_1.pluck; } });
|
|
76
|
+
Object.defineProperty(exports, "group", { enumerable: true, get: function () { return leaves_1.group; } });
|
|
77
|
+
Object.defineProperty(exports, "leafHandlers", { enumerable: true, get: function () { return leaves_1.leafHandlers; } });
|
|
78
|
+
Object.defineProperty(exports, "leafHandlersAsync", { enumerable: true, get: function () { return leaves_1.leafHandlersAsync; } });
|
|
79
|
+
Object.defineProperty(exports, "LEAF_TRANSPORT_SYMBOLS", { enumerable: true, get: function () { return leaves_1.LEAF_TRANSPORT_SYMBOLS; } });
|
|
80
|
+
Object.defineProperty(exports, "prepareSql", { enumerable: true, get: function () { return leaves_1.prepareSql; } });
|
|
81
|
+
Object.defineProperty(exports, "spliceWhere", { enumerable: true, get: function () { return leaves_1.spliceWhere; } });
|
|
82
|
+
Object.defineProperty(exports, "assembleDynamicWhere", { enumerable: true, get: function () { return leaves_1.assembleDynamicWhere; } });
|
|
83
|
+
// ── The decorator → SCP LOWERING (CLAUDE.md §1): declared endpoints + `@column`/`@hasMany` metadata
|
|
84
|
+
// → the SCP-restricted TS `bc generate --from` reads. The emitter builds no SQL of its own — it renders
|
|
85
|
+
// what `makesql` / `compileRelationOp` / `deriveReadRow` produce.
|
|
86
|
+
var emit_1 = require("./emit");
|
|
87
|
+
Object.defineProperty(exports, "emitBehaviorModule", { enumerable: true, get: function () { return emit_1.emitBehaviorModule; } });
|
|
91
88
|
// Dialect strategy table (WS6, #26 — the SSoT for PG/MySQL/SQLite SQL divergences + `?`→`$N`).
|
|
92
89
|
var dialect_1 = require("./dialect");
|
|
93
90
|
Object.defineProperty(exports, "dialectFor", { enumerable: true, get: function () { return dialect_1.dialectFor; } });
|
|
@@ -95,69 +92,116 @@ Object.defineProperty(exports, "toDollarPlaceholders", { enumerable: true, get:
|
|
|
95
92
|
Object.defineProperty(exports, "SQLITE", { enumerable: true, get: function () { return dialect_1.SQLITE; } });
|
|
96
93
|
Object.defineProperty(exports, "POSTGRES", { enumerable: true, get: function () { return dialect_1.POSTGRES; } });
|
|
97
94
|
Object.defineProperty(exports, "MYSQL", { enumerable: true, get: function () { return dialect_1.MYSQL; } });
|
|
98
|
-
// Portability guard (closed Expression IR set only)
|
|
99
|
-
var guard_1 = require("./guard");
|
|
100
|
-
Object.defineProperty(exports, "assertExprPortable", { enumerable: true, get: function () { return guard_1.assertExprPortable; } });
|
|
101
|
-
Object.defineProperty(exports, "assertComponentPortable", { enumerable: true, get: function () { return guard_1.assertComponentPortable; } });
|
|
102
|
-
Object.defineProperty(exports, "assertComponentGraphPortable", { enumerable: true, get: function () { return guard_1.assertComponentGraphPortable; } });
|
|
103
|
-
// Authoring Parse (spec §2.4 / §7 / §9) — SemanticBehavior declaration + eager public-API
|
|
104
|
-
// path → one internal Component-graph IR.
|
|
105
|
-
var authoring_1 = require("./authoring");
|
|
106
|
-
Object.defineProperty(exports, "components", { enumerable: true, get: function () { return authoring_1.components; } });
|
|
107
|
-
Object.defineProperty(exports, "publishBehaviors", { enumerable: true, get: function () { return authoring_1.publishBehaviors; } });
|
|
108
|
-
Object.defineProperty(exports, "compileEager", { enumerable: true, get: function () { return authoring_1.compileEager; } });
|
|
109
|
-
// SQL WHERE authoring helpers (closed-set encodings the bridge decodes).
|
|
110
|
-
var authoring_sql_1 = require("./authoring-sql");
|
|
111
|
-
Object.defineProperty(exports, "whereEq", { enumerable: true, get: function () { return authoring_sql_1.whereEq; } });
|
|
112
|
-
Object.defineProperty(exports, "whereNe", { enumerable: true, get: function () { return authoring_sql_1.whereNe; } });
|
|
113
|
-
Object.defineProperty(exports, "whereLt", { enumerable: true, get: function () { return authoring_sql_1.whereLt; } });
|
|
114
|
-
Object.defineProperty(exports, "whereLe", { enumerable: true, get: function () { return authoring_sql_1.whereLe; } });
|
|
115
|
-
Object.defineProperty(exports, "whereGt", { enumerable: true, get: function () { return authoring_sql_1.whereGt; } });
|
|
116
|
-
Object.defineProperty(exports, "whereGe", { enumerable: true, get: function () { return authoring_sql_1.whereGe; } });
|
|
117
|
-
Object.defineProperty(exports, "whereIsNull", { enumerable: true, get: function () { return authoring_sql_1.whereIsNull; } });
|
|
118
|
-
Object.defineProperty(exports, "whereIn", { enumerable: true, get: function () { return authoring_sql_1.whereIn; } });
|
|
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; } });
|
|
130
95
|
// Error Mapping (spec §11 item 5): driver error → SCP Failure + Policy Kind.
|
|
131
96
|
var errors_1 = require("./errors");
|
|
132
97
|
Object.defineProperty(exports, "mapSqliteError", { enumerable: true, get: function () { return errors_1.mapSqliteError; } });
|
|
133
98
|
Object.defineProperty(exports, "SqlFailure", { enumerable: true, get: function () { return errors_1.SqlFailure; } });
|
|
134
|
-
|
|
135
|
-
//
|
|
136
|
-
//
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
99
|
+
Object.defineProperty(exports, "LimitExceededError", { enumerable: true, get: function () { return errors_1.LimitExceededError; } });
|
|
100
|
+
// Hard-limit runaway prevention (Phase E-2, epic #74; v1 `setLimitConfig`/`LimitExceededError`
|
|
101
|
+
// parity): the global find/hasMany hard-limit config. Read at COMPILE time to bake the effective
|
|
102
|
+
// caps onto the portable artifacts (the ReadGraph `findGuard` + each RelationOp `hardLimit`); the
|
|
103
|
+
// TS runtime + the native ports throw `LimitExceededError` post-fetch when a read / relation batch
|
|
104
|
+
// exceeds its cap. `null` disables; a per-relation `hardLimit` override wins; a relation with an
|
|
105
|
+
// intrinsic per-parent `limit` window skips the batch-total check.
|
|
106
|
+
var limit_config_1 = require("./limit-config");
|
|
107
|
+
Object.defineProperty(exports, "setLimitConfig", { enumerable: true, get: function () { return limit_config_1.setLimitConfig; } });
|
|
108
|
+
Object.defineProperty(exports, "getLimitConfig", { enumerable: true, get: function () { return limit_config_1.getLimitConfig; } });
|
|
109
|
+
Object.defineProperty(exports, "resetLimitConfig", { enumerable: true, get: function () { return limit_config_1.resetLimitConfig; } });
|
|
110
|
+
Object.defineProperty(exports, "resolveFindHardLimit", { enumerable: true, get: function () { return limit_config_1.resolveFindHardLimit; } });
|
|
111
|
+
Object.defineProperty(exports, "resolveHasManyHardLimit", { enumerable: true, get: function () { return limit_config_1.resolveHasManyHardLimit; } });
|
|
112
|
+
Object.defineProperty(exports, "assertFindHardLimit", { enumerable: true, get: function () { return limit_config_1.assertFindHardLimit; } });
|
|
141
113
|
// Column type system (spec §4.1; #58): SQL type → bc outType scalar, and the schema/DDL SoT
|
|
142
114
|
// resolver that types a SELECT projection for typed (de-boxed) codegen. Fail-closed throughout.
|
|
143
115
|
var coltype_1 = require("./coltype");
|
|
144
116
|
Object.defineProperty(exports, "sqlTypeToBcScalar", { enumerable: true, get: function () { return coltype_1.sqlTypeToBcScalar; } });
|
|
117
|
+
Object.defineProperty(exports, "sqlTypeToMaterializeClass", { enumerable: true, get: function () { return coltype_1.sqlTypeToMaterializeClass; } });
|
|
118
|
+
Object.defineProperty(exports, "materializeCell", { enumerable: true, get: function () { return coltype_1.materializeCell; } });
|
|
119
|
+
Object.defineProperty(exports, "materializeClassOrUndefined", { enumerable: true, get: function () { return coltype_1.materializeClassOrUndefined; } });
|
|
145
120
|
Object.defineProperty(exports, "parseSchemaColumnTypes", { enumerable: true, get: function () { return coltype_1.parseSchemaColumnTypes; } });
|
|
146
121
|
Object.defineProperty(exports, "schemaColumnTypeResolver", { enumerable: true, get: function () { return coltype_1.schemaColumnTypeResolver; } });
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
Object.defineProperty(exports, "
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
Object.defineProperty(exports, "
|
|
160
|
-
Object.defineProperty(exports, "
|
|
122
|
+
Object.defineProperty(exports, "materializeResolverFromColumnMap", { enumerable: true, get: function () { return coltype_1.materializeResolverFromColumnMap; } });
|
|
123
|
+
Object.defineProperty(exports, "failClosedMaterializeResolverFromColumnMap", { enumerable: true, get: function () { return coltype_1.failClosedMaterializeResolverFromColumnMap; } });
|
|
124
|
+
Object.defineProperty(exports, "columnTypeResolverFromColumnMap", { enumerable: true, get: function () { return coltype_1.columnTypeResolverFromColumnMap; } });
|
|
125
|
+
// ── Phase A (#75): the ExecutionContext + central execute/run seam + per-execution connection
|
|
126
|
+
// ownership. The CONTRACT-DEFINING artifact the native ports (#76-79) follow. All runtime SQL
|
|
127
|
+
// (read/write/tx/relation) funnels through `execute`/`run`; `contextForDriver` is the backward-
|
|
128
|
+
// compat wrapper (raw driver ⇒ single-DB, empty-middleware ctx) keeping conformance byte-identical.
|
|
129
|
+
var exec_context_1 = require("./exec-context");
|
|
130
|
+
Object.defineProperty(exports, "execute", { enumerable: true, get: function () { return exec_context_1.execute; } });
|
|
131
|
+
Object.defineProperty(exports, "executeSafe", { enumerable: true, get: function () { return exec_context_1.executeSafe; } });
|
|
132
|
+
Object.defineProperty(exports, "run", { enumerable: true, get: function () { return exec_context_1.run; } });
|
|
133
|
+
Object.defineProperty(exports, "executeAsync", { enumerable: true, get: function () { return exec_context_1.executeAsync; } });
|
|
134
|
+
Object.defineProperty(exports, "runAsync", { enumerable: true, get: function () { return exec_context_1.runAsync; } });
|
|
135
|
+
Object.defineProperty(exports, "runGuarded", { enumerable: true, get: function () { return exec_context_1.runGuarded; } });
|
|
136
|
+
Object.defineProperty(exports, "runGuardedAsync", { enumerable: true, get: function () { return exec_context_1.runGuardedAsync; } });
|
|
137
|
+
Object.defineProperty(exports, "contextForDriver", { enumerable: true, get: function () { return exec_context_1.contextForDriver; } });
|
|
138
|
+
Object.defineProperty(exports, "contextForConnection", { enumerable: true, get: function () { return exec_context_1.contextForConnection; } });
|
|
139
|
+
Object.defineProperty(exports, "connectionForDriver", { enumerable: true, get: function () { return exec_context_1.connectionForDriver; } });
|
|
140
|
+
Object.defineProperty(exports, "MiddlewareChain", { enumerable: true, get: function () { return exec_context_1.MiddlewareChain; } });
|
|
141
|
+
Object.defineProperty(exports, "PooledAsyncContext", { enumerable: true, get: function () { return exec_context_1.PooledAsyncContext; } });
|
|
142
|
+
Object.defineProperty(exports, "withTransactionAsync", { enumerable: true, get: function () { return exec_context_1.withTransactionAsync; } });
|
|
143
|
+
Object.defineProperty(exports, "transaction", { enumerable: true, get: function () { return exec_context_1.transaction; } });
|
|
144
|
+
Object.defineProperty(exports, "runWithPinnedAsyncConnection", { enumerable: true, get: function () { return exec_context_1.runWithPinnedAsyncConnection; } });
|
|
145
|
+
Object.defineProperty(exports, "currentPinnedAsyncConnection", { enumerable: true, get: function () { return exec_context_1.currentPinnedAsyncConnection; } });
|
|
146
|
+
// ── Phase D (#92): the MIDDLEWARE layer on the Phase A seam. The API REFERENCE the native ports
|
|
147
|
+
// (#93-96) mirror: registration (`use`/`createMiddleware`), the SQL-level `execute(next, sql, params)`
|
|
148
|
+
// chain contract + applied order (first-registered = outermost), method-level hooks keyed by op kind
|
|
149
|
+
// (`runMethod`), per-execution-scope isolation (`withMiddlewareScope`, TS AsyncLocalStorage), the
|
|
150
|
+
// standard `Logger`, and the raw `execute`/`query` API that goes THROUGH the seam. An unregistered
|
|
151
|
+
// chain is a byte-identical passthrough (conformance/livedb register none ⇒ unchanged).
|
|
152
|
+
var middleware_1 = require("./middleware");
|
|
153
|
+
Object.defineProperty(exports, "Registry", { enumerable: true, get: function () { return middleware_1.Registry; } });
|
|
154
|
+
Object.defineProperty(exports, "currentRegistry", { enumerable: true, get: function () { return middleware_1.currentRegistry; } });
|
|
155
|
+
Object.defineProperty(exports, "withMiddlewareScope", { enumerable: true, get: function () { return middleware_1.withMiddlewareScope; } });
|
|
156
|
+
Object.defineProperty(exports, "activeSqlMiddlewares", { enumerable: true, get: function () { return middleware_1.activeSqlMiddlewares; } });
|
|
157
|
+
Object.defineProperty(exports, "register", { enumerable: true, get: function () { return middleware_1.register; } });
|
|
158
|
+
Object.defineProperty(exports, "use", { enumerable: true, get: function () { return middleware_1.use; } });
|
|
159
|
+
Object.defineProperty(exports, "createMiddleware", { enumerable: true, get: function () { return middleware_1.createMiddleware; } });
|
|
160
|
+
Object.defineProperty(exports, "runMethod", { enumerable: true, get: function () { return middleware_1.runMethod; } });
|
|
161
|
+
Object.defineProperty(exports, "Logger", { enumerable: true, get: function () { return middleware_1.Logger; } });
|
|
162
|
+
Object.defineProperty(exports, "rawExecute", { enumerable: true, get: function () { return middleware_1.rawExecute; } });
|
|
163
|
+
Object.defineProperty(exports, "rawExecuteAsync", { enumerable: true, get: function () { return middleware_1.rawExecuteAsync; } });
|
|
164
|
+
Object.defineProperty(exports, "rawQuery", { enumerable: true, get: function () { return middleware_1.rawQuery; } });
|
|
165
|
+
Object.defineProperty(exports, "rawQueryAsync", { enumerable: true, get: function () { return middleware_1.rawQueryAsync; } });
|
|
166
|
+
Object.defineProperty(exports, "clearMiddlewares", { enumerable: true, get: function () { return middleware_1.clearMiddlewares; } });
|
|
167
|
+
// ── Phase C (#87): connection routing + config. The API REFERENCE the native ports (#88-91) mirror.
|
|
168
|
+
// Completes `connectionFor(intent)`'s resolution (§3 steps 2-4): reader/writer separation + writer-
|
|
169
|
+
// sticky + `withWriter` (C1), a multi-DB name→pools registry + named routing (C2), and the setConfig
|
|
170
|
+
// surface (queryTimeout/keepAlive/pool sizing/searchPath/charset) + closeAllPools (C3). A single-pool
|
|
171
|
+
// `PooledAsyncContext` synthesizes a default-only registry (reader === writer, sticky off) ⇒ byte-
|
|
172
|
+
// identical to Phase A/B; a `buildRoutingConfig`-driven ctx gets the full routing.
|
|
173
|
+
var connection_routing_1 = require("./connection-routing");
|
|
174
|
+
Object.defineProperty(exports, "ConnectionRegistry", { enumerable: true, get: function () { return connection_routing_1.ConnectionRegistry; } });
|
|
175
|
+
Object.defineProperty(exports, "ConnectionRegistryBuilder", { enumerable: true, get: function () { return connection_routing_1.ConnectionRegistryBuilder; } });
|
|
176
|
+
Object.defineProperty(exports, "WriterStickyClock", { enumerable: true, get: function () { return connection_routing_1.WriterStickyClock; } });
|
|
177
|
+
Object.defineProperty(exports, "DEFAULT_CONNECTION", { enumerable: true, get: function () { return connection_routing_1.DEFAULT_CONNECTION; } });
|
|
178
|
+
Object.defineProperty(exports, "withWriter", { enumerable: true, get: function () { return connection_routing_1.withWriter; } });
|
|
179
|
+
Object.defineProperty(exports, "inWriterScope", { enumerable: true, get: function () { return connection_routing_1.inWriterScope; } });
|
|
180
|
+
Object.defineProperty(exports, "resolvePool", { enumerable: true, get: function () { return connection_routing_1.resolvePool; } });
|
|
181
|
+
Object.defineProperty(exports, "resolveConnectionConfig", { enumerable: true, get: function () { return connection_routing_1.resolveConnectionConfig; } });
|
|
182
|
+
Object.defineProperty(exports, "sessionStatements", { enumerable: true, get: function () { return connection_routing_1.sessionStatements; } });
|
|
183
|
+
Object.defineProperty(exports, "sessionResetStatements", { enumerable: true, get: function () { return connection_routing_1.sessionResetStatements; } });
|
|
184
|
+
Object.defineProperty(exports, "configuredPool", { enumerable: true, get: function () { return connection_routing_1.configuredPool; } });
|
|
185
|
+
Object.defineProperty(exports, "singlePoolPair", { enumerable: true, get: function () { return connection_routing_1.singlePoolPair; } });
|
|
186
|
+
Object.defineProperty(exports, "readerWriterPair", { enumerable: true, get: function () { return connection_routing_1.readerWriterPair; } });
|
|
187
|
+
Object.defineProperty(exports, "buildRoutingConfig", { enumerable: true, get: function () { return connection_routing_1.buildRoutingConfig; } });
|
|
188
|
+
// The tx-completeness contract (Phase B-1 / #81): TransactionOptions shape + defaults, the
|
|
189
|
+
// isolation-level enum + per-dialect BEGIN mapping, the retryable-error classifier, the write=tx
|
|
190
|
+
// guards (`checkWriteAllowed` + `withReadOnly` / `runInTransactionScope` scope markers). The API
|
|
191
|
+
// REFERENCE the 4 native ports (rust #82 / go #83 / py #84 / php #85) mirror.
|
|
192
|
+
var tx_options_1 = require("./tx-options");
|
|
193
|
+
Object.defineProperty(exports, "isolationPhrase", { enumerable: true, get: function () { return tx_options_1.isolationPhrase; } });
|
|
194
|
+
Object.defineProperty(exports, "beginStatements", { enumerable: true, get: function () { return tx_options_1.beginStatements; } });
|
|
195
|
+
Object.defineProperty(exports, "resolveTxOptions", { enumerable: true, get: function () { return tx_options_1.resolveTxOptions; } });
|
|
196
|
+
Object.defineProperty(exports, "isRetryableTxError", { enumerable: true, get: function () { return tx_options_1.isRetryableTxError; } });
|
|
197
|
+
Object.defineProperty(exports, "sleep", { enumerable: true, get: function () { return tx_options_1.sleep; } });
|
|
198
|
+
Object.defineProperty(exports, "runInTransactionScope", { enumerable: true, get: function () { return tx_options_1.runInTransactionScope; } });
|
|
199
|
+
Object.defineProperty(exports, "withReadOnly", { enumerable: true, get: function () { return tx_options_1.withReadOnly; } });
|
|
200
|
+
Object.defineProperty(exports, "isInTransaction", { enumerable: true, get: function () { return tx_options_1.isInTransaction; } });
|
|
201
|
+
Object.defineProperty(exports, "isReadOnly", { enumerable: true, get: function () { return tx_options_1.isReadOnly; } });
|
|
202
|
+
Object.defineProperty(exports, "checkWriteAllowed", { enumerable: true, get: function () { return tx_options_1.checkWriteAllowed; } });
|
|
203
|
+
Object.defineProperty(exports, "WriteOutsideTransactionError", { enumerable: true, get: function () { return tx_options_1.WriteOutsideTransactionError; } });
|
|
204
|
+
Object.defineProperty(exports, "WriteInReadOnlyContextError", { enumerable: true, get: function () { return tx_options_1.WriteInReadOnlyContextError; } });
|
|
161
205
|
// Write-time relations (WS5, #25 — spec §6): entityWrites/edgeWrites declaration vocabulary,
|
|
162
206
|
// the gate-first transaction-plan derivation, and the 1-tx real-SQLite runtime.
|
|
163
207
|
var writes_1 = require("./writes");
|
|
@@ -169,44 +213,36 @@ Object.defineProperty(exports, "ENTITY_ROOT", { enumerable: true, get: function
|
|
|
169
213
|
var makesql_2 = require("./makesql");
|
|
170
214
|
Object.defineProperty(exports, "deriveTransactionPlan", { enumerable: true, get: function () { return makesql_2.deriveTransactionPlan; } });
|
|
171
215
|
Object.defineProperty(exports, "executeTransaction", { enumerable: true, get: function () { return makesql_2.executeTransaction; } });
|
|
216
|
+
Object.defineProperty(exports, "executeTransactionAsync", { enumerable: true, get: function () { return makesql_2.executeTransactionAsync; } });
|
|
172
217
|
Object.defineProperty(exports, "countingDriver", { enumerable: true, get: function () { return makesql_2.countingDriver; } });
|
|
173
218
|
Object.defineProperty(exports, "renderTxStatement", { enumerable: true, get: function () { return makesql_2.renderTxStatement; } });
|
|
174
219
|
Object.defineProperty(exports, "compileWriteNode", { enumerable: true, get: function () { return makesql_2.compileWriteNode; } });
|
|
175
220
|
Object.defineProperty(exports, "mysqlPkHint", { enumerable: true, get: function () { return makesql_2.mysqlPkHint; } });
|
|
176
221
|
Object.defineProperty(exports, "stripMysqlPkHint", { enumerable: true, get: function () { return makesql_2.stripMysqlPkHint; } });
|
|
177
222
|
// The Command bundle + 1-tx execution surface (WS5 — the write path of §2.3 / §6).
|
|
178
|
-
var
|
|
179
|
-
Object.defineProperty(exports, "compileWriteBundle", { enumerable: true, get: function () { return
|
|
180
|
-
Object.defineProperty(exports, "
|
|
181
|
-
Object.defineProperty(exports, "executeTransactionBundle", { enumerable: true, get: function () { return runtime_3.executeTransactionBundle; } });
|
|
223
|
+
var write_bundle_1 = require("./write-bundle");
|
|
224
|
+
Object.defineProperty(exports, "compileWriteBundle", { enumerable: true, get: function () { return write_bundle_1.compileWriteBundle; } });
|
|
225
|
+
Object.defineProperty(exports, "executeTransactionBundle", { enumerable: true, get: function () { return write_bundle_1.executeTransactionBundle; } });
|
|
182
226
|
// Composite (multi-write) Command surface (WS8a, #28 — spec §6 nested write / §14 tx-DAG derivation):
|
|
183
227
|
// several named base writes with data dependencies → ONE topologically-ordered gate-first tx plan.
|
|
184
|
-
var
|
|
185
|
-
Object.defineProperty(exports, "compileCompositeWriteBundle", { enumerable: true, get: function () { return
|
|
186
|
-
Object.defineProperty(exports, "executeCompositeCommand", { enumerable: true, get: function () { return runtime_4.executeCompositeCommand; } });
|
|
228
|
+
var write_bundle_2 = require("./write-bundle");
|
|
229
|
+
Object.defineProperty(exports, "compileCompositeWriteBundle", { enumerable: true, get: function () { return write_bundle_2.compileCompositeWriteBundle; } });
|
|
187
230
|
// Batch writes (createMany / updateMany / deleteMany): ONE logical op → N grouped statements lowered
|
|
188
231
|
// to a gate-free tx plan (executed by the SAME multi-statement tx loop in all 5 runtimes). The
|
|
189
232
|
// batch SQL is byte-copied from the v1 builders (compileInsertMany/compileUpdateMany/compileDeleteMany).
|
|
190
|
-
var
|
|
191
|
-
Object.defineProperty(exports, "compileCreateManyBundle", { enumerable: true, get: function () { return
|
|
192
|
-
Object.defineProperty(exports, "compileUpdateManyBundle", { enumerable: true, get: function () { return
|
|
193
|
-
Object.defineProperty(exports, "compileDeleteManyBundle", { enumerable: true, get: function () { return
|
|
233
|
+
var write_bundle_3 = require("./write-bundle");
|
|
234
|
+
Object.defineProperty(exports, "compileCreateManyBundle", { enumerable: true, get: function () { return write_bundle_3.compileCreateManyBundle; } });
|
|
235
|
+
Object.defineProperty(exports, "compileUpdateManyBundle", { enumerable: true, get: function () { return write_bundle_3.compileUpdateManyBundle; } });
|
|
236
|
+
Object.defineProperty(exports, "compileDeleteManyBundle", { enumerable: true, get: function () { return write_bundle_3.compileDeleteManyBundle; } });
|
|
194
237
|
var makesql_3 = require("./makesql");
|
|
195
238
|
Object.defineProperty(exports, "compileDeleteMany", { enumerable: true, get: function () { return makesql_3.compileDeleteMany; } });
|
|
196
|
-
|
|
197
|
-
//
|
|
198
|
-
//
|
|
199
|
-
//
|
|
200
|
-
var
|
|
201
|
-
Object.defineProperty(exports, "
|
|
202
|
-
Object.defineProperty(exports, "
|
|
203
|
-
Object.defineProperty(exports, "generateCodegenArtifact", { enumerable: true, get: function () { return codegen_1.generateCodegenArtifact; } });
|
|
204
|
-
Object.defineProperty(exports, "bundleToPortableIR", { enumerable: true, get: function () { return codegen_1.bundleToPortableIR; } });
|
|
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; } });
|
|
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; } });
|
|
239
|
+
Object.defineProperty(exports, "compileInsertMany", { enumerable: true, get: function () { return makesql_3.compileInsertMany; } });
|
|
240
|
+
// dbCast: the column-type cast marker the makeSQL compilers thread into WHERE/SET (spec §4.1).
|
|
241
|
+
// Re-exported so a bundle consumer builds the SAME DBCast instance the inlined compilers recognise
|
|
242
|
+
// (a standalone dist/DBValues copy is a DIFFERENT class → the compiler would not honour the cast).
|
|
243
|
+
var DBValues_1 = require("../DBValues");
|
|
244
|
+
Object.defineProperty(exports, "dbCast", { enumerable: true, get: function () { return DBValues_1.dbCast; } });
|
|
245
|
+
Object.defineProperty(exports, "dbCastIn", { enumerable: true, get: function () { return DBValues_1.dbCastIn; } });
|
|
210
246
|
// Read relations (WS4, #24): pre-compiled batch relation ops + staged batch resolution.
|
|
211
247
|
// BOTH the declarative-select and the lazy surface resolve through the SAME compiled op.
|
|
212
248
|
var relation_1 = require("./relation");
|
|
@@ -220,30 +256,31 @@ Object.defineProperty(exports, "buildResultSet", { enumerable: true, get: functi
|
|
|
220
256
|
Object.defineProperty(exports, "readRelationContext", { enumerable: true, get: function () { return typed_object_1.readRelationContext; } });
|
|
221
257
|
Object.defineProperty(exports, "RelationContext", { enumerable: true, get: function () { return typed_object_1.RelationContext; } });
|
|
222
258
|
Object.defineProperty(exports, "RELATION_CONTEXT", { enumerable: true, get: function () { return typed_object_1.RELATION_CONTEXT; } });
|
|
223
|
-
//
|
|
224
|
-
//
|
|
225
|
-
//
|
|
259
|
+
// ── Phase F-1 (#104): the decorator → SCP authoring ADAPTER. Translates the `@model` / `@column` /
|
|
260
|
+
// `@hasMany` decorator metadata into the SCP authoring it lowers to (columns → `static columns`;
|
|
261
|
+
// find/count → eager Select/Count; create/update/delete → write bundles; relations → RelationDecl →
|
|
262
|
+
// RelationOp). Standalone + unit-proven byte-identical to the hand-written SCP behavior; does NOT yet
|
|
263
|
+
// rewire DBModel's methods (F2). TS-only, zero BC. Mirrors graphddb's collector→define→compile.
|
|
264
|
+
var decorator_adapter_1 = require("./decorator-adapter");
|
|
265
|
+
Object.defineProperty(exports, "deriveModelColumns", { enumerable: true, get: function () { return decorator_adapter_1.deriveModelColumns; } });
|
|
266
|
+
Object.defineProperty(exports, "columnSqlType", { enumerable: true, get: function () { return decorator_adapter_1.columnSqlType; } });
|
|
267
|
+
Object.defineProperty(exports, "tableNameOf", { enumerable: true, get: function () { return decorator_adapter_1.tableNameOf; } });
|
|
268
|
+
Object.defineProperty(exports, "COLUMN_FAMILY_SQL_TYPE", { enumerable: true, get: function () { return decorator_adapter_1.COLUMN_FAMILY_SQL_TYPE; } });
|
|
269
|
+
Object.defineProperty(exports, "DEFAULT_UNCAST_SQL_TYPE", { enumerable: true, get: function () { return decorator_adapter_1.DEFAULT_UNCAST_SQL_TYPE; } });
|
|
270
|
+
Object.defineProperty(exports, "compileCreateBundle", { enumerable: true, get: function () { return decorator_adapter_1.compileCreateBundle; } });
|
|
271
|
+
Object.defineProperty(exports, "compileUpdateBundle", { enumerable: true, get: function () { return decorator_adapter_1.compileUpdateBundle; } });
|
|
272
|
+
Object.defineProperty(exports, "compileDeleteBundle", { enumerable: true, get: function () { return decorator_adapter_1.compileDeleteBundle; } });
|
|
273
|
+
Object.defineProperty(exports, "modelColumnResolver", { enumerable: true, get: function () { return decorator_adapter_1.modelColumnResolver; } });
|
|
274
|
+
Object.defineProperty(exports, "relationKeyTypeResolver", { enumerable: true, get: function () { return decorator_adapter_1.relationKeyTypeResolver; } });
|
|
275
|
+
Object.defineProperty(exports, "deriveRelationDecls", { enumerable: true, get: function () { return decorator_adapter_1.deriveRelationDecls; } });
|
|
276
|
+
Object.defineProperty(exports, "relationDeclOf", { enumerable: true, get: function () { return decorator_adapter_1.relationDeclOf; } });
|
|
277
|
+
Object.defineProperty(exports, "compileRelationOps", { enumerable: true, get: function () { return decorator_adapter_1.compileRelationOps; } });
|
|
278
|
+
// The bc AUTHORING markers, re-exported so a consumer declares its endpoints from one import. The
|
|
279
|
+
// bodies are ordinary TypeScript; `bc generate --from <file> --behavior <Class>` reads the source.
|
|
226
280
|
var behavior_contracts_1 = require("behavior-contracts");
|
|
227
|
-
Object.defineProperty(exports, "SemanticBehavior", { enumerable: true, get: function () { return behavior_contracts_1.SemanticBehavior; } });
|
|
228
281
|
Object.defineProperty(exports, "behavior", { enumerable: true, get: function () { return behavior_contracts_1.behavior; } });
|
|
229
|
-
Object.defineProperty(exports, "
|
|
230
|
-
Object.defineProperty(exports, "concat", { enumerable: true, get: function () { return behavior_contracts_1.concat; } });
|
|
231
|
-
Object.defineProperty(exports, "add", { enumerable: true, get: function () { return behavior_contracts_1.add; } });
|
|
232
|
-
Object.defineProperty(exports, "sub", { enumerable: true, get: function () { return behavior_contracts_1.sub; } });
|
|
233
|
-
Object.defineProperty(exports, "mul", { enumerable: true, get: function () { return behavior_contracts_1.mul; } });
|
|
234
|
-
Object.defineProperty(exports, "div", { enumerable: true, get: function () { return behavior_contracts_1.div; } });
|
|
235
|
-
Object.defineProperty(exports, "mod", { enumerable: true, get: function () { return behavior_contracts_1.mod; } });
|
|
236
|
-
Object.defineProperty(exports, "neg", { enumerable: true, get: function () { return behavior_contracts_1.neg; } });
|
|
237
|
-
Object.defineProperty(exports, "eq", { enumerable: true, get: function () { return behavior_contracts_1.eq; } });
|
|
238
|
-
Object.defineProperty(exports, "ne", { enumerable: true, get: function () { return behavior_contracts_1.ne; } });
|
|
239
|
-
Object.defineProperty(exports, "lt", { enumerable: true, get: function () { return behavior_contracts_1.lt; } });
|
|
240
|
-
Object.defineProperty(exports, "le", { enumerable: true, get: function () { return behavior_contracts_1.le; } });
|
|
241
|
-
Object.defineProperty(exports, "gt", { enumerable: true, get: function () { return behavior_contracts_1.gt; } });
|
|
242
|
-
Object.defineProperty(exports, "ge", { enumerable: true, get: function () { return behavior_contracts_1.ge; } });
|
|
243
|
-
Object.defineProperty(exports, "and", { enumerable: true, get: function () { return behavior_contracts_1.and; } });
|
|
244
|
-
Object.defineProperty(exports, "or", { enumerable: true, get: function () { return behavior_contracts_1.or; } });
|
|
245
|
-
Object.defineProperty(exports, "not", { enumerable: true, get: function () { return behavior_contracts_1.not; } });
|
|
246
|
-
Object.defineProperty(exports, "coalesce", { enumerable: true, get: function () { return behavior_contracts_1.coalesce; } });
|
|
247
|
-
Object.defineProperty(exports, "len", { enumerable: true, get: function () { return behavior_contracts_1.len; } });
|
|
282
|
+
Object.defineProperty(exports, "leaf", { enumerable: true, get: function () { return behavior_contracts_1.leaf; } });
|
|
248
283
|
Object.defineProperty(exports, "opt", { enumerable: true, get: function () { return behavior_contracts_1.opt; } });
|
|
284
|
+
Object.defineProperty(exports, "refsConnection", { enumerable: true, get: function () { return behavior_contracts_1.refsConnection; } });
|
|
285
|
+
Object.defineProperty(exports, "AuthoringFailure", { enumerable: true, get: function () { return behavior_contracts_1.AuthoringFailure; } });
|
|
249
286
|
//# sourceMappingURL=index.js.map
|
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":";AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;;;;;;AAEH,wFAAwF;AACxF,qCAqCmB;AApCjB,kGAAA,OAAO,OAAA;AACP,8GAAA,mBAAmB,OAAA;AACnB,sHAAA,2BAA2B,OAAA;AAC3B,oGAAA,SAAS,OAAA;AACT,0GAAA,eAAe,OAAA;AACf,yGAAA,cAAc,OAAA;AACd,6GAAA,kBAAkB,OAAA;AAClB,sGAAA,WAAW,OAAA;AACX,yGAAA,cAAc,OAAA;AACd,6GAAA,kBAAkB,OAAA;AAClB,uGAAA,YAAY,OAAA;AACZ,sGAAA,WAAW,OAAA;AACX,sGAAA,WAAW,OAAA;AACX,uGAAA,YAAY,OAAA;AACZ,0GAAA,eAAe,OAAA;AACf,0GAAA,eAAe,OAAA;AACf,+GAAA,aAAa,OAAwB;AACrC,qGAAA,UAAU,OAAA;AACV,+GAAA,aAAa,OAAwB;AACrC,4GAAA,iBAAiB,OAAA;AACjB,8GAAA,mBAAmB,OAAA;AACnB,+GAAA,aAAa,OAAwB;AACrC,2GAAA,gBAAgB,OAAA;AAChB,6GAAA,kBAAkB,OAAA;AAClB,8GAAA,mBAAmB,OAAA;AACnB,oHAAA,yBAAyB,OAAA;AACzB,kHAAA,uBAAuB,OAAA;AACvB,uHAAA,4BAA4B,OAAA;AAC5B,6HAAA,kCAAkC,OAAA;AAClC,qHAAA,0BAA0B,OAAA;AAC1B,sHAAA,2BAA2B,OAAA;AAC3B,gHAAA,qBAAqB,OAAA;AACrB,2GAAA,gBAAgB,OAAA;AAChB,8GAAA,mBAAmB,OAAA;AACnB,wGAAA,aAAa,OAAA;AACb,2GAAA,gBAAgB,OAAA;AAkBlB,qGAAqG;AACrG,wGAAwG;AACxG,gFAAgF;AAChF,mDAAsC;AAA7B,oGAAA,EAAE,OAAA;AACX,mCAA6K;AAApK,oGAAA,UAAU,OAAA;AAAE,yGAAA,eAAe,OAAA;AAAE,+FAAA,KAAK,OAAA;AAAE,+FAAA,KAAK,OAAA;AAAE,sGAAA,YAAY,OAAA;AAAE,2GAAA,iBAAiB,OAAA;AAAE,gHAAA,sBAAsB,OAAA;AAAE,oGAAA,UAAU,OAAA;AAAE,qGAAA,WAAW,OAAA;AAAE,8GAAA,oBAAoB,OAAA;AAG1J,qGAAqG;AACrG,wGAAwG;AACxG,kEAAkE;AAClE,+BAA4C;AAAnC,0GAAA,kBAAkB,OAAA;AA8B3B,+FAA+F;AAC/F,qCAAsF;AAA7E,qGAAA,UAAU,OAAA;AAAE,+GAAA,oBAAoB,OAAA;AAAE,iGAAA,MAAM,OAAA;AAAE,mGAAA,QAAQ,OAAA;AAAE,gGAAA,KAAK,OAAA;AAKlE,6EAA6E;AAC7E,mCAA0E;AAAjE,wGAAA,cAAc,OAAA;AAAE,oGAAA,UAAU,OAAA;AAAE,4GAAA,kBAAkB,OAAA;AAGvD,+FAA+F;AAC/F,iGAAiG;AACjG,kGAAkG;AAClG,mGAAmG;AACnG,iGAAiG;AACjG,mEAAmE;AACnE,+CAAsJ;AAA7I,8GAAA,cAAc,OAAA;AAAE,8GAAA,cAAc,OAAA;AAAE,gHAAA,gBAAgB,OAAA;AAAE,oHAAA,oBAAoB,OAAA;AAAE,uHAAA,uBAAuB,OAAA;AAAE,mHAAA,mBAAmB,OAAA;AAI7H,4FAA4F;AAC5F,gGAAgG;AAChG,qCAAwR;AAA/Q,4GAAA,iBAAiB,OAAA;AAAE,oHAAA,yBAAyB,OAAA;AAAE,0GAAA,eAAe,OAAA;AAAE,sHAAA,2BAA2B,OAAA;AAAE,iHAAA,sBAAsB,OAAA;AAAE,mHAAA,wBAAwB,OAAA;AAAE,2HAAA,gCAAgC,OAAA;AAAE,qIAAA,0CAA0C,OAAA;AAAE,0HAAA,+BAA+B,OAAA;AAOpQ,+FAA+F;AAC/F,8FAA8F;AAC9F,gGAAgG;AAChG,oGAAoG;AACpG,+CAiBwB;AAhBtB,uGAAA,OAAO,OAAA;AACP,2GAAA,WAAW,OAAA;AACX,mGAAA,GAAG,OAAA;AACH,4GAAA,YAAY,OAAA;AACZ,wGAAA,QAAQ,OAAA;AACR,0GAAA,UAAU,OAAA;AACV,+GAAA,eAAe,OAAA;AACf,gHAAA,gBAAgB,OAAA;AAChB,oHAAA,oBAAoB,OAAA;AACpB,mHAAA,mBAAmB,OAAA;AACnB,+GAAA,eAAe,OAAA;AACf,kHAAA,kBAAkB,OAAA;AAClB,oHAAA,oBAAoB,OAAA;AACpB,2GAAA,WAAW,OAAA;AACX,4HAAA,4BAA4B,OAAA;AAC5B,4HAAA,4BAA4B,OAAA;AAkB9B,iGAAiG;AACjG,uGAAuG;AACvG,qGAAqG;AACrG,kGAAkG;AAClG,mGAAmG;AACnG,wFAAwF;AACxF,2CAesB;AAdpB,sGAAA,QAAQ,OAAA;AACR,6GAAA,eAAe,OAAA;AACf,iHAAA,mBAAmB,OAAA;AACnB,kHAAA,oBAAoB,OAAA;AACpB,sGAAA,QAAQ,OAAA;AACR,iGAAA,GAAG,OAAA;AACH,8GAAA,gBAAgB,OAAA;AAChB,uGAAA,SAAS,OAAA;AACT,oGAAA,MAAM,OAAA;AACN,wGAAA,UAAU,OAAA;AACV,6GAAA,eAAe,OAAA;AACf,sGAAA,QAAQ,OAAA;AACR,2GAAA,aAAa,OAAA;AACb,8GAAA,gBAAgB,OAAA;AAiBlB,qGAAqG;AACrG,oGAAoG;AACpG,qGAAqG;AACrG,sGAAsG;AACtG,mGAAmG;AACnG,mFAAmF;AACnF,2DAe8B;AAd5B,wHAAA,kBAAkB,OAAA;AAClB,+HAAA,yBAAyB,OAAA;AACzB,uHAAA,iBAAiB,OAAA;AACjB,wHAAA,kBAAkB,OAAA;AAClB,gHAAA,UAAU,OAAA;AACV,mHAAA,aAAa,OAAA;AACb,iHAAA,WAAW,OAAA;AACX,6HAAA,uBAAuB,OAAA;AACvB,uHAAA,iBAAiB,OAAA;AACjB,4HAAA,sBAAsB,OAAA;AACtB,oHAAA,cAAc,OAAA;AACd,oHAAA,cAAc,OAAA;AACd,sHAAA,gBAAgB,OAAA;AAChB,wHAAA,kBAAkB,OAAA;AAYpB,2FAA2F;AAC3F,iGAAiG;AACjG,iGAAiG;AACjG,8EAA8E;AAC9E,2CAasB;AAZpB,6GAAA,eAAe,OAAA;AACf,6GAAA,eAAe,OAAA;AACf,8GAAA,gBAAgB,OAAA;AAChB,gHAAA,kBAAkB,OAAA;AAClB,mGAAA,KAAK,OAAA;AACL,mHAAA,qBAAqB,OAAA;AACrB,0GAAA,YAAY,OAAA;AACZ,6GAAA,eAAe,OAAA;AACf,wGAAA,UAAU,OAAA;AACV,+GAAA,iBAAiB,OAAA;AACjB,0HAAA,4BAA4B,OAAA;AAC5B,yHAAA,2BAA2B,OAAA;AAK7B,6FAA6F;AAC7F,gFAAgF;AAChF,mCAMkB;AALhB,sGAAA,YAAY,OAAA;AACZ,oGAAA,UAAU,OAAA;AACV,sGAAA,YAAY,OAAA;AACZ,yGAAA,eAAe,OAAA;AACf,qGAAA,WAAW,OAAA;AAmBb,qCAAmL;AAA1K,gHAAA,qBAAqB,OAAA;AAAE,6GAAA,kBAAkB,OAAA;AAAE,kHAAA,uBAAuB,OAAA;AAAE,yGAAA,cAAc,OAAA;AAAE,4GAAA,iBAAiB,OAAA;AAAE,2GAAA,gBAAgB,OAAA;AAAE,sGAAA,WAAW,OAAA;AAAE,2GAAA,gBAAgB,OAAA;AAe/J,mFAAmF;AACnF,+CAA8E;AAArE,kHAAA,kBAAkB,OAAA;AAAE,wHAAA,wBAAwB,OAAA;AAErD,sGAAsG;AACtG,mGAAmG;AACnG,+CAA6D;AAApD,2HAAA,2BAA2B,OAAA;AAGpC,qGAAqG;AACrG,+FAA+F;AAC/F,yGAAyG;AACzG,+CAA2G;AAAlG,uHAAA,uBAAuB,OAAA;AAAE,uHAAA,uBAAuB,OAAA;AAAE,uHAAA,uBAAuB,OAAA;AAClF,qCAAiE;AAAxD,4GAAA,iBAAiB,OAAA;AAAE,4GAAA,iBAAiB,OAAA;AAC7C,+FAA+F;AAC/F,mGAAmG;AACnG,mGAAmG;AACnG,wCAA+C;AAAtC,kGAAA,MAAM,OAAA;AAAE,oGAAA,QAAQ,OAAA;AAEzB,wFAAwF;AACxF,yFAAyF;AACzF,uCAKoB;AAJlB,6GAAA,iBAAiB,OAAA;AACjB,yGAAA,aAAa,OAAA;AACb,8GAAA,kBAAkB,OAAA;AAClB,8GAAA,kBAAkB,OAAA;AAUpB,4EAA4E;AAC5E,+CAKwB;AAJtB,8GAAA,cAAc,OAAA;AACd,mHAAA,mBAAmB,OAAA;AACnB,+GAAA,eAAe,OAAA;AACf,gHAAA,gBAAgB,OAAA;AAIlB,oGAAoG;AACpG,iGAAiG;AACjG,oGAAoG;AACpG,sGAAsG;AACtG,gGAAgG;AAChG,yDAc6B;AAb3B,uHAAA,kBAAkB,OAAA;AAClB,kHAAA,aAAa,OAAA;AACb,gHAAA,WAAW,OAAA;AACX,2HAAA,sBAAsB,OAAA;AACtB,4HAAA,uBAAuB,OAAA;AACvB,wHAAA,mBAAmB,OAAA;AACnB,wHAAA,mBAAmB,OAAA;AACnB,wHAAA,mBAAmB,OAAA;AACnB,wHAAA,mBAAmB,OAAA;AACnB,4HAAA,uBAAuB,OAAA;AACvB,wHAAA,mBAAmB,OAAA;AACnB,mHAAA,cAAc,OAAA;AACd,uHAAA,kBAAkB,OAAA;AAIpB,kGAAkG;AAClG,mGAAmG;AACnG,yDAA2F;AAAlF,8GAAA,QAAQ,OAAA;AAAE,0GAAA,IAAI,OAAA;AAAE,yGAAA,GAAG,OAAA;AAAE,oHAAA,cAAc,OAAA;AAAE,sHAAA,gBAAgB,OAAA"}
|