litedbmodel 2.2.2 → 2.2.4
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 +2 -1
- package/dist/DBModel.d.ts.map +1 -1
- package/dist/DBModel.js +3 -0
- package/dist/DBModel.js.map +1 -1
- package/dist/Middleware.d.ts +19 -2
- package/dist/Middleware.d.ts.map +1 -1
- package/dist/Middleware.js +1 -0
- package/dist/Middleware.js.map +1 -1
- package/dist/decorators.d.ts.map +1 -1
- package/dist/decorators.js +8 -0
- package/dist/decorators.js.map +1 -1
- package/dist/drivers/MysqlHelper.d.ts +1 -1
- package/dist/drivers/MysqlHelper.d.ts.map +1 -1
- package/dist/drivers/MysqlHelper.js.map +1 -1
- package/dist/drivers/PostgresHelper.d.ts +1 -1
- package/dist/drivers/PostgresHelper.d.ts.map +1 -1
- package/dist/drivers/PostgresHelper.js.map +1 -1
- package/dist/drivers/SqliteHelper.d.ts +1 -1
- package/dist/drivers/SqliteHelper.d.ts.map +1 -1
- package/dist/drivers/SqliteHelper.js.map +1 -1
- package/dist/index.cjs +105 -74
- package/dist/scp/connection-routing.d.ts +38 -1
- package/dist/scp/connection-routing.d.ts.map +1 -1
- package/dist/scp/connection-routing.js +64 -5
- package/dist/scp/connection-routing.js.map +1 -1
- package/dist/scp/dbmodel-runtime.d.ts +2 -1
- package/dist/scp/dbmodel-runtime.d.ts.map +1 -1
- package/dist/scp/dbmodel-runtime.js +2 -1
- package/dist/scp/dbmodel-runtime.js.map +1 -1
- package/dist/scp/decorator-adapter.d.ts +22 -0
- package/dist/scp/decorator-adapter.d.ts.map +1 -1
- package/dist/scp/decorator-adapter.js +26 -0
- package/dist/scp/decorator-adapter.js.map +1 -1
- package/dist/scp/emit/emitter.d.ts +21 -10
- package/dist/scp/emit/emitter.d.ts.map +1 -1
- package/dist/scp/emit/emitter.js +119 -51
- package/dist/scp/emit/emitter.js.map +1 -1
- package/dist/scp/emit/endpoint.d.ts +3 -8
- package/dist/scp/emit/endpoint.d.ts.map +1 -1
- package/dist/scp/exec-context.d.ts +39 -17
- package/dist/scp/exec-context.d.ts.map +1 -1
- package/dist/scp/exec-context.js +69 -35
- package/dist/scp/exec-context.js.map +1 -1
- package/dist/scp/grouping.d.ts.map +1 -1
- package/dist/scp/grouping.js +0 -0
- package/dist/scp/grouping.js.map +1 -1
- package/dist/scp/index.cjs +257 -670
- package/dist/scp/index.d.ts +6 -11
- package/dist/scp/index.d.ts.map +1 -1
- package/dist/scp/index.js +10 -28
- package/dist/scp/index.js.map +1 -1
- package/dist/scp/index.mjs +257 -658
- package/dist/scp/leaf-transport.d.ts +127 -39
- package/dist/scp/leaf-transport.d.ts.map +1 -1
- package/dist/scp/leaf-transport.js +30 -24
- package/dist/scp/leaf-transport.js.map +1 -1
- package/dist/scp/leaves.d.ts +57 -20
- package/dist/scp/leaves.d.ts.map +1 -1
- package/dist/scp/leaves.js +224 -65
- package/dist/scp/leaves.js.map +1 -1
- package/dist/scp/makesql/compile-select.d.ts +28 -1
- package/dist/scp/makesql/compile-select.d.ts.map +1 -1
- package/dist/scp/makesql/compile-select.js +19 -17
- package/dist/scp/makesql/compile-select.js.map +1 -1
- package/dist/scp/makesql/index.d.ts +2 -2
- package/dist/scp/makesql/index.d.ts.map +1 -1
- package/dist/scp/makesql/index.js +4 -6
- package/dist/scp/makesql/index.js.map +1 -1
- package/dist/scp/makesql/tx.d.ts +43 -89
- package/dist/scp/makesql/tx.d.ts.map +1 -1
- package/dist/scp/makesql/tx.js +45 -496
- package/dist/scp/makesql/tx.js.map +1 -1
- package/dist/scp/makesql/writeouttype.d.ts +5 -7
- package/dist/scp/makesql/writeouttype.d.ts.map +1 -1
- package/dist/scp/makesql/writeouttype.js +13 -19
- package/dist/scp/makesql/writeouttype.js.map +1 -1
- package/dist/scp/middleware.d.ts +4 -4
- package/dist/scp/middleware.d.ts.map +1 -1
- package/dist/scp/middleware.js +2 -2
- package/dist/scp/middleware.js.map +1 -1
- package/dist/scp/relation.d.ts +31 -12
- package/dist/scp/relation.d.ts.map +1 -1
- package/dist/scp/relation.js +16 -6
- package/dist/scp/relation.js.map +1 -1
- package/dist/scp/typed-object.d.ts +23 -19
- package/dist/scp/typed-object.d.ts.map +1 -1
- package/dist/scp/typed-object.js +24 -30
- package/dist/scp/typed-object.js.map +1 -1
- package/dist/scp/write-bundle.d.ts +21 -70
- package/dist/scp/write-bundle.d.ts.map +1 -1
- package/dist/scp/write-bundle.js +16 -80
- package/dist/scp/write-bundle.js.map +1 -1
- package/dist/types.d.ts +12 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/docs/BENCHMARK.md +26 -22
- package/docs/COMPARISON.md +8 -4
- package/docs/api/README.md +1 -1
- package/docs/api/classes/Conditions.md +10 -10
- package/docs/api/classes/DBHandler.md +17 -17
- package/docs/api/classes/DBModel.md +111 -104
- package/docs/api/classes/LimitExceededError.md +8 -8
- package/docs/api/classes/Middleware.md +18 -18
- package/docs/api/classes/SqlRaw.md +6 -6
- package/docs/api/classes/SqlRef.md +7 -7
- package/docs/api/classes/Values.md +6 -6
- package/docs/api/classes/WriteInReadOnlyContextError.md +5 -5
- package/docs/api/classes/WriteOutsideTransactionError.md +5 -5
- package/docs/api/functions/belongsTo.md +2 -2
- package/docs/api/functions/closeAllPools.md +2 -2
- package/docs/api/functions/condsToRecord.md +2 -2
- package/docs/api/functions/createMiddleware.md +2 -2
- package/docs/api/functions/createPostgresDriver.md +2 -2
- package/docs/api/functions/createSqliteDriver.md +2 -2
- package/docs/api/functions/dbCast.md +3 -3
- package/docs/api/functions/dbCastIn.md +2 -2
- package/docs/api/functions/dbDynamic.md +3 -3
- package/docs/api/functions/dbFalse.md +2 -2
- package/docs/api/functions/dbImmediate.md +2 -2
- package/docs/api/functions/dbIn.md +2 -2
- package/docs/api/functions/dbNotNull.md +2 -2
- package/docs/api/functions/dbNow.md +2 -2
- package/docs/api/functions/dbNull.md +2 -2
- package/docs/api/functions/dbRaw.md +2 -2
- package/docs/api/functions/dbTrue.md +2 -2
- package/docs/api/functions/dbUuid.md +3 -3
- package/docs/api/functions/dbUuidIn.md +2 -2
- package/docs/api/functions/formatLocalDate.md +25 -0
- package/docs/api/functions/formatUTCDate.md +25 -0
- package/docs/api/functions/getDBConfig.md +2 -2
- package/docs/api/functions/getDBHandler.md +2 -2
- package/docs/api/functions/getTransactionConnection.md +2 -2
- package/docs/api/functions/getTransactionContext.md +2 -2
- package/docs/api/functions/hasMany.md +2 -2
- package/docs/api/functions/hasOne.md +2 -2
- package/docs/api/functions/initDBHandler.md +2 -2
- package/docs/api/functions/isAnySqlFragment.md +2 -2
- package/docs/api/functions/isConnectionError.md +26 -0
- package/docs/api/functions/isSqlCondition.md +2 -2
- package/docs/api/functions/isSqlFragment.md +2 -2
- package/docs/api/functions/isSqlRaw.md +2 -2
- package/docs/api/functions/isSqlRef.md +2 -2
- package/docs/api/functions/isSqlTypedFragment.md +2 -2
- package/docs/api/functions/model.md +6 -42
- package/docs/api/functions/parentRef.md +2 -2
- package/docs/api/functions/sql.md +7 -7
- package/docs/api/globals.md +57 -22
- package/docs/api/interfaces/Column.md +31 -31
- package/docs/api/interfaces/ColumnOptions.md +5 -4
- package/docs/api/interfaces/CreatedMiddlewareClass.md +7 -7
- package/docs/api/interfaces/DBConfig.md +13 -11
- package/docs/api/interfaces/DBConfigOptions.md +8 -8
- package/docs/api/interfaces/DeleteOptions.md +4 -4
- package/docs/api/interfaces/InsertOptions.md +8 -8
- package/docs/api/interfaces/LimitConfig.md +4 -4
- package/docs/api/interfaces/MiddlewareConfig.md +15 -15
- package/docs/api/interfaces/ModelOptions.md +8 -7
- package/docs/api/interfaces/PkeyResult.md +4 -4
- package/docs/api/interfaces/SelectOptions.md +17 -16
- package/docs/api/interfaces/SqlCondition.md +6 -6
- package/docs/api/interfaces/SqlFragment.md +5 -5
- package/docs/api/interfaces/SqlTypedFragment.md +7 -7
- package/docs/api/interfaces/TransactionOptions.md +7 -7
- package/docs/api/interfaces/UpdateManyOptions.md +4 -4
- package/docs/api/interfaces/UpdateOptions.md +4 -4
- package/docs/architecture.md +452 -0
- package/docs/benchmark-chart.svg +225 -249
- package/docs/design/phase-a-execution-context.md +2 -0
- package/package.json +20 -5
- package/dist/scp/writes.d.ts +0 -251
- package/dist/scp/writes.d.ts.map +0 -1
- package/dist/scp/writes.js +0 -176
- package/dist/scp/writes.js.map +0 -1
- package/docs/proposal/contracts-architecture-feasibility.md +0 -328
- package/docs/proposal/contracts-architecture.md +0 -579
- package/docs/proposal/litedbmodel-v2-scp-architecture.md +0 -433
- package/docs/proposal/sql-dynamic-expansion-spec.md +0 -175
- package/docs/proposal/v0-coverage-matrix.md +0 -157
- package/docs/proposal/v2-completeness-plan.md +0 -90
- package/docs/proposal/v2-sql-parity-checklist.md +0 -162
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA;;GAEG;;;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAyWH;;;;GAIG;AACH,MAAa,kBAAmB,SAAQ,KAAK;IAEzB;IAKA;IACA;IACA;IACA;IATlB,YACkB,KAAa;IAC7B;;;OAGG;IACa,WAAmB,EACnB,OAA4B,EAC5B,SAAkB,EAClB,YAAqB;QAErC,MAAM,UAAU,GAAG,OAAO,KAAK,MAAM;YACnC,CAAC,CAAC,aAAa,SAAS,IAAI,SAAS,EAAE;YACvC,CAAC,CAAC,aAAa,YAAY,QAAQ,SAAS,IAAI,SAAS,EAAE,CAAC;QAC9D,MAAM,QAAQ,GAAG,OAAO,KAAK,MAAM;YACjC,CAAC,CAAC,aAAa,KAAK,EAAE,CAAE,qDAAqD;YAC7E,CAAC,CAAC,GAAG,WAAW,EAAE,CAAC,CAAK,8DAA8D;QACxF,KAAK,CACH,yBAAyB,UAAU,aAAa,QAAQ,YAAY;YACpE,gBAAgB,KAAK,qDAAqD;YAC1E,6DAA6D,CAC9D,CAAC;QApBc,UAAK,GAAL,KAAK,CAAQ;QAKb,gBAAW,GAAX,WAAW,CAAQ;QACnB,YAAO,GAAP,OAAO,CAAqB;QAC5B,cAAS,GAAT,SAAS,CAAS;QAClB,iBAAY,GAAZ,YAAY,CAAS;QAarC,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AAzBD,gDAyBC;AAED;;;;GAIG;AACH,MAAa,4BAA6B,SAAQ,KAAK;IAEnC;IACA;IAFlB,YACkB,SAAiB,EACjB,SAAkB;QAElC,KAAK,CACH,oBAAoB,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,OAAO,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,2BAA2B;YAC/F,qDAAqD,CACtD,CAAC;QANc,cAAS,GAAT,SAAS,CAAQ;QACjB,cAAS,GAAT,SAAS,CAAS;QAMlC,IAAI,CAAC,IAAI,GAAG,8BAA8B,CAAC;IAC7C,CAAC;CACF;AAXD,oEAWC;AAED;;;;GAIG;AACH,MAAa,2BAA4B,SAAQ,KAAK;IAElC;IACA;IAFlB,YACkB,SAAiB,EACjB,SAAkB;QAElC,KAAK,CACH,oBAAoB,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,OAAO,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,2CAA2C;YAC/G,iDAAiD,CAClD,CAAC;QANc,cAAS,GAAT,SAAS,CAAQ;QACjB,cAAS,GAAT,SAAS,CAAS;QAMlC,IAAI,CAAC,IAAI,GAAG,6BAA6B,CAAC;IAC5C,CAAC;CACF;AAXD,kEAWC"}
|
package/docs/BENCHMARK.md
CHANGED
|
@@ -2,7 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
Benchmark comparing litedbmodel with Prisma, Kysely, Drizzle, and TypeORM on PostgreSQL.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
<!--@embedoc:package_version-->
|
|
6
|
+
**Version:** litedbmodel **2.2.4**
|
|
7
|
+
<!--@embedoc:end-->
|
|
8
|
+
|
|
9
|
+
> Measured on PostgreSQL 16 · Apple Silicon (arm64).
|
|
6
10
|
> Every table and the chart on this page are **regenerated from `benchmark/results/benchmark-results.csv`**
|
|
7
11
|
> (`npx embedoc build` for the tables, `npm run chart` for the SVG) — the numbers here are machine-derived,
|
|
8
12
|
> never hand-edited. litedbmodel's two v2 execution modes (`runtime`, `codegen`) are shown as separate series.
|
|
@@ -32,25 +36,25 @@ Reference: [Kysely performance comparison article](https://izanami.dev/post/1e3f
|
|
|
32
36
|
<!--@embedoc:benchmark_table-->
|
|
33
37
|
| Operation | litedbmodel (runtime) | litedbmodel (codegen) | Kysely | Drizzle | TypeORM | Prisma |
|
|
34
38
|
| --- | --- | --- | --- | --- | --- | --- |
|
|
35
|
-
| Find all (limit 100) | **0.
|
|
36
|
-
| Filter, paginate & sort |
|
|
37
|
-
| Nested find all (include posts) | 2.39ms | **2.
|
|
38
|
-
| Find first | 0.
|
|
39
|
-
| Nested find first (include posts) | 0.
|
|
40
|
-
| Find unique (by email) | 0.
|
|
41
|
-
| Nested find unique (include posts) | 0.
|
|
42
|
-
| Create | 0.
|
|
43
|
-
| Nested create (with post) | 1.
|
|
44
|
-
| Update | 0.
|
|
45
|
-
| Nested update (update user + post) |
|
|
46
|
-
| Upsert |
|
|
47
|
-
| Nested upsert (user + post) | 1.
|
|
48
|
-
| Delete | 1.
|
|
49
|
-
| Create Many (10 records) |
|
|
50
|
-
| Upsert Many (10 records) | 1.
|
|
51
|
-
| Update Many (10 different values) | 1.
|
|
52
|
-
| Nested relations (100→1000→10000) | **14.
|
|
53
|
-
| Nested relations (composite key) |
|
|
39
|
+
| Find all (limit 100) | **0.48ms** 🏆 | 0.69ms | 0.92ms | 0.58ms | 0.74ms | 1.16ms |
|
|
40
|
+
| Filter, paginate & sort | **0.68ms** 🏆 | **0.69ms** 🏆 | 0.75ms | 0.93ms | 1.00ms | 0.97ms |
|
|
41
|
+
| Nested find all (include posts) | 2.39ms | **2.25ms** 🏆 | 3.09ms | 3.01ms | 6.41ms | 9.61ms |
|
|
42
|
+
| Find first | 0.38ms | 0.39ms | **0.33ms** 🏆 | 0.52ms | 0.52ms | 0.53ms |
|
|
43
|
+
| Nested find first (include posts) | **0.68ms** 🏆 | 0.88ms | 0.86ms | 0.85ms | 0.80ms | 0.98ms |
|
|
44
|
+
| Find unique (by email) | 0.41ms | **0.35ms** 🏆 | 0.43ms | 0.47ms | 0.58ms | 0.61ms |
|
|
45
|
+
| Nested find unique (include posts) | 0.89ms | 0.92ms | **0.81ms** 🏆 | 0.85ms | 1.36ms | 0.92ms |
|
|
46
|
+
| Create | 0.80ms | **0.40ms** 🏆 | 0.89ms | 1.07ms | 0.84ms | 1.03ms |
|
|
47
|
+
| Nested create (with post) | **1.00ms** 🏆 | 1.17ms | 1.01ms | 1.22ms | 1.40ms | 1.77ms |
|
|
48
|
+
| Update | 0.84ms | **0.40ms** 🏆 | 0.89ms | 0.76ms | 0.75ms | 1.20ms |
|
|
49
|
+
| Nested update (update user + post) | 1.22ms | 1.21ms | 1.22ms | 1.16ms | **1.14ms** 🏆 | 2.26ms |
|
|
50
|
+
| Upsert | 1.03ms | **0.42ms** 🏆 | 0.84ms | 1.05ms | 1.15ms | 1.92ms |
|
|
51
|
+
| Nested upsert (user + post) | 1.49ms | 1.23ms | **1.10ms** 🏆 | 1.39ms | 1.29ms | 2.09ms |
|
|
52
|
+
| Delete | 1.24ms | **1.06ms** 🏆 | 1.22ms | 1.28ms | 1.27ms | 1.49ms |
|
|
53
|
+
| Create Many (10 records) | 1.10ms | **0.57ms** 🏆 | 0.94ms | 1.03ms | 1.36ms | 1.19ms |
|
|
54
|
+
| Upsert Many (10 records) | 1.45ms | **0.66ms** 🏆 | 1.07ms | 1.51ms | 1.57ms | 9.64ms |
|
|
55
|
+
| Update Many (10 different values) | 1.20ms | **0.44ms** 🏆 | 2.42ms | 2.42ms | 2.60ms | 4.83ms |
|
|
56
|
+
| Nested relations (100→1000→10000) | **14.83ms** 🏆 | 18.11ms | 20.86ms | 20.51ms | 72.09ms | 82.82ms |
|
|
57
|
+
| Nested relations (composite key) | 29.00ms | **23.26ms** 🏆 | N/A | 78.53ms | 58.94ms | 82.63ms |
|
|
54
58
|
<!--@embedoc:end-->
|
|
55
59
|
|
|
56
60
|
*All write operations wrapped in transactions for fair comparison across all ORMs.*
|
|
@@ -58,7 +62,7 @@ Reference: [Kysely performance comparison article](https://izanami.dev/post/1e3f
|
|
|
58
62
|
### Analysis
|
|
59
63
|
|
|
60
64
|
<!--@embedoc:benchmark_summary-->
|
|
61
|
-
litedbmodel is the fastest ORM in **
|
|
65
|
+
litedbmodel is the fastest ORM in **15 of 19** benchmarked operations.
|
|
62
66
|
<!--@embedoc:end-->
|
|
63
67
|
|
|
64
68
|
Every number below comes from the machine-generated table above (regenerated from
|
|
@@ -528,6 +532,6 @@ WHERE (tenant_id, user_id) IN (($1,$2),($3,$4),...,($1999,$2000))
|
|
|
528
532
|
|
|
529
533
|
---
|
|
530
534
|
|
|
531
|
-
*Last updated: July 2026
|
|
535
|
+
*Last updated: July 2026*
|
|
532
536
|
*Benchmark methodology: Based on [Prisma orm-benchmarks](https://github.com/prisma/orm-benchmarks)*
|
|
533
537
|
|
package/docs/COMPARISON.md
CHANGED
|
@@ -2,9 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
A detailed comparison of litedbmodel with popular TypeScript/JavaScript ORMs.
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
<!--@embedoc:package_version label="Benchmark figures"-->
|
|
6
|
+
**Benchmark figures:** litedbmodel **2.2.4**
|
|
7
|
+
<!--@embedoc:end-->
|
|
8
|
+
|
|
9
|
+
> The only performance number on this page is the machine-computed win count below; the full
|
|
10
|
+
> per-operation table lives in [BENCHMARK.md](./BENCHMARK.md) (regenerated from
|
|
11
|
+
> `benchmark/results/benchmark-results.csv`).
|
|
8
12
|
|
|
9
13
|
## Quick Comparison Matrix
|
|
10
14
|
|
|
@@ -1082,7 +1086,7 @@ For detailed benchmark results comparing litedbmodel with Prisma, Kysely, Drizzl
|
|
|
1082
1086
|
### Summary
|
|
1083
1087
|
|
|
1084
1088
|
<!--@embedoc:benchmark_summary-->
|
|
1085
|
-
litedbmodel is the fastest ORM in **
|
|
1089
|
+
litedbmodel is the fastest ORM in **15 of 19** benchmarked operations.
|
|
1086
1090
|
<!--@embedoc:end-->
|
|
1087
1091
|
|
|
1088
1092
|
| Aspect | litedbmodel |
|
package/docs/api/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
[**litedbmodel
|
|
1
|
+
[**litedbmodel v2.2.4**](../README.md)
|
|
2
2
|
|
|
3
3
|
***
|
|
4
4
|
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
# Class: Conditions\<Model\>
|
|
8
8
|
|
|
9
|
-
Defined in: Column.ts:628
|
|
9
|
+
Defined in: [Column.ts:628](https://github.com/foo-ogawa/litedbmodel/blob/main/src/Column.ts#L628)
|
|
10
10
|
|
|
11
11
|
Type-safe builder for query conditions.
|
|
12
12
|
Use array literals for static conditions, builder for dynamic construction.
|
|
@@ -47,7 +47,7 @@ if (query.active) where.add(User.is_active, true);
|
|
|
47
47
|
new Conditions<Model>(initial?: Conds): Conditions<Model>;
|
|
48
48
|
```
|
|
49
49
|
|
|
50
|
-
Defined in: Column.ts:634
|
|
50
|
+
Defined in: [Column.ts:634](https://github.com/foo-ogawa/litedbmodel/blob/main/src/Column.ts#L634)
|
|
51
51
|
|
|
52
52
|
Create a Conditions builder, optionally with initial conditions.
|
|
53
53
|
|
|
@@ -71,7 +71,7 @@ Create a Conditions builder, optionally with initial conditions.
|
|
|
71
71
|
get length(): number;
|
|
72
72
|
```
|
|
73
73
|
|
|
74
|
-
Defined in: Column.ts:700
|
|
74
|
+
Defined in: [Column.ts:700](https://github.com/foo-ogawa/litedbmodel/blob/main/src/Column.ts#L700)
|
|
75
75
|
|
|
76
76
|
Get the number of conditions.
|
|
77
77
|
|
|
@@ -87,7 +87,7 @@ Get the number of conditions.
|
|
|
87
87
|
add<V>(column: Column<V, Model>, value: V | null | undefined): this;
|
|
88
88
|
```
|
|
89
89
|
|
|
90
|
-
Defined in: Column.ts:643
|
|
90
|
+
Defined in: [Column.ts:643](https://github.com/foo-ogawa/litedbmodel/blob/main/src/Column.ts#L643)
|
|
91
91
|
|
|
92
92
|
Add a type-safe column equality condition.
|
|
93
93
|
|
|
@@ -116,7 +116,7 @@ Add a type-safe column equality condition.
|
|
|
116
116
|
addRaw(condition: string, value?: unknown): this;
|
|
117
117
|
```
|
|
118
118
|
|
|
119
|
-
Defined in: Column.ts:651
|
|
119
|
+
Defined in: [Column.ts:651](https://github.com/foo-ogawa/litedbmodel/blob/main/src/Column.ts#L651)
|
|
120
120
|
|
|
121
121
|
Add a raw condition with template literal (e.g., `${User.age} > ?`).
|
|
122
122
|
|
|
@@ -141,7 +141,7 @@ Add a raw condition with template literal (e.g., `${User.age} > ?`).
|
|
|
141
141
|
addSql<V>(fragment: SqlTypedFragment<V, Model>, value: V): this;
|
|
142
142
|
```
|
|
143
143
|
|
|
144
|
-
Defined in: Column.ts:670
|
|
144
|
+
Defined in: [Column.ts:670](https://github.com/foo-ogawa/litedbmodel/blob/main/src/Column.ts#L670)
|
|
145
145
|
|
|
146
146
|
Add a type-safe sql-tagged condition.
|
|
147
147
|
|
|
@@ -176,7 +176,7 @@ where.addSql(sql`${User.deleted_at} IS NULL`);
|
|
|
176
176
|
addSql(fragment: SqlTypedFragment<any, Model>): this;
|
|
177
177
|
```
|
|
178
178
|
|
|
179
|
-
Defined in: Column.ts:671
|
|
179
|
+
Defined in: [Column.ts:671](https://github.com/foo-ogawa/litedbmodel/blob/main/src/Column.ts#L671)
|
|
180
180
|
|
|
181
181
|
Add a type-safe sql-tagged condition.
|
|
182
182
|
|
|
@@ -206,7 +206,7 @@ where.addSql(sql`${User.deleted_at} IS NULL`);
|
|
|
206
206
|
or(...condGroups: readonly Conds[]): this;
|
|
207
207
|
```
|
|
208
208
|
|
|
209
|
-
Defined in: Column.ts:685
|
|
209
|
+
Defined in: [Column.ts:685](https://github.com/foo-ogawa/litedbmodel/blob/main/src/Column.ts#L685)
|
|
210
210
|
|
|
211
211
|
Add an OR condition group.
|
|
212
212
|
|
|
@@ -228,7 +228,7 @@ Add an OR condition group.
|
|
|
228
228
|
build(): Conds;
|
|
229
229
|
```
|
|
230
230
|
|
|
231
|
-
Defined in: Column.ts:693
|
|
231
|
+
Defined in: [Column.ts:693](https://github.com/foo-ogawa/litedbmodel/blob/main/src/Column.ts#L693)
|
|
232
232
|
|
|
233
233
|
Build the final array for use with find/count/delete.
|
|
234
234
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
[**litedbmodel
|
|
1
|
+
[**litedbmodel v2.2.4**](../README.md)
|
|
2
2
|
|
|
3
3
|
***
|
|
4
4
|
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
# Class: DBHandler
|
|
8
8
|
|
|
9
|
-
Defined in: DBHandler.ts:
|
|
9
|
+
Defined in: [DBHandler.ts:179](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBHandler.ts#L179)
|
|
10
10
|
|
|
11
11
|
Database handler - wraps a driver and provides a unified interface.
|
|
12
12
|
|
|
@@ -30,7 +30,7 @@ const result = await handler.execute('SELECT * FROM users WHERE id = $1', [1]);
|
|
|
30
30
|
new DBHandler(config: DBConfig, options?: DBHandlerOptions): DBHandler;
|
|
31
31
|
```
|
|
32
32
|
|
|
33
|
-
Defined in: DBHandler.ts:
|
|
33
|
+
Defined in: [DBHandler.ts:185](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBHandler.ts#L185)
|
|
34
34
|
|
|
35
35
|
#### Parameters
|
|
36
36
|
|
|
@@ -51,7 +51,7 @@ Defined in: DBHandler.ts:180
|
|
|
51
51
|
getDriverType(): "postgres" | "mysql" | "sqlite";
|
|
52
52
|
```
|
|
53
53
|
|
|
54
|
-
Defined in: DBHandler.ts:
|
|
54
|
+
Defined in: [DBHandler.ts:203](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBHandler.ts#L203)
|
|
55
55
|
|
|
56
56
|
Get the driver type
|
|
57
57
|
|
|
@@ -67,7 +67,7 @@ Get the driver type
|
|
|
67
67
|
getDriver(): DBDriver;
|
|
68
68
|
```
|
|
69
69
|
|
|
70
|
-
Defined in: DBHandler.ts:
|
|
70
|
+
Defined in: [DBHandler.ts:210](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBHandler.ts#L210)
|
|
71
71
|
|
|
72
72
|
Get the underlying driver
|
|
73
73
|
|
|
@@ -80,10 +80,10 @@ Get the underlying driver
|
|
|
80
80
|
### execute()
|
|
81
81
|
|
|
82
82
|
```ts
|
|
83
|
-
execute(sql: string, params
|
|
83
|
+
execute(sql: string, params?: unknown[]): Promise<QueryResult>;
|
|
84
84
|
```
|
|
85
85
|
|
|
86
|
-
Defined in: DBHandler.ts:
|
|
86
|
+
Defined in: [DBHandler.ts:217](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBHandler.ts#L217)
|
|
87
87
|
|
|
88
88
|
Execute a SQL query
|
|
89
89
|
|
|
@@ -103,10 +103,10 @@ Execute a SQL query
|
|
|
103
103
|
### executeWrite()
|
|
104
104
|
|
|
105
105
|
```ts
|
|
106
|
-
executeWrite(sql: string, params
|
|
106
|
+
executeWrite(sql: string, params?: unknown[]): Promise<QueryResult>;
|
|
107
107
|
```
|
|
108
108
|
|
|
109
|
-
Defined in: DBHandler.ts:
|
|
109
|
+
Defined in: [DBHandler.ts:227](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBHandler.ts#L227)
|
|
110
110
|
|
|
111
111
|
Execute a write query (INSERT/UPDATE/DELETE)
|
|
112
112
|
|
|
@@ -126,10 +126,10 @@ Execute a write query (INSERT/UPDATE/DELETE)
|
|
|
126
126
|
### executeOnWriter()
|
|
127
127
|
|
|
128
128
|
```ts
|
|
129
|
-
executeOnWriter(sql: string, params
|
|
129
|
+
executeOnWriter(sql: string, params?: unknown[]): Promise<QueryResult>;
|
|
130
130
|
```
|
|
131
131
|
|
|
132
|
-
Defined in: DBHandler.ts:
|
|
132
|
+
Defined in: [DBHandler.ts:237](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBHandler.ts#L237)
|
|
133
133
|
|
|
134
134
|
Execute a query on writer pool (for withWriter context)
|
|
135
135
|
|
|
@@ -152,7 +152,7 @@ Execute a query on writer pool (for withWriter context)
|
|
|
152
152
|
hasWriterPool(): boolean;
|
|
153
153
|
```
|
|
154
154
|
|
|
155
|
-
Defined in: DBHandler.ts:
|
|
155
|
+
Defined in: [DBHandler.ts:247](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBHandler.ts#L247)
|
|
156
156
|
|
|
157
157
|
Check if writer pool is configured
|
|
158
158
|
|
|
@@ -168,7 +168,7 @@ Check if writer pool is configured
|
|
|
168
168
|
getConnection(): Promise<DBConnection>;
|
|
169
169
|
```
|
|
170
170
|
|
|
171
|
-
Defined in: DBHandler.ts:
|
|
171
|
+
Defined in: [DBHandler.ts:254](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBHandler.ts#L254)
|
|
172
172
|
|
|
173
173
|
Get a connection from the pool (for transactions)
|
|
174
174
|
|
|
@@ -184,7 +184,7 @@ Get a connection from the pool (for transactions)
|
|
|
184
184
|
withConnection(connection: DBConnection): DBHandler;
|
|
185
185
|
```
|
|
186
186
|
|
|
187
|
-
Defined in: DBHandler.ts:
|
|
187
|
+
Defined in: [DBHandler.ts:261](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBHandler.ts#L261)
|
|
188
188
|
|
|
189
189
|
Create handler with specific connection (for transaction)
|
|
190
190
|
|
|
@@ -206,7 +206,7 @@ Create handler with specific connection (for transaction)
|
|
|
206
206
|
close(): Promise<void>;
|
|
207
207
|
```
|
|
208
208
|
|
|
209
|
-
Defined in: DBHandler.ts:
|
|
209
|
+
Defined in: [DBHandler.ts:273](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBHandler.ts#L273)
|
|
210
210
|
|
|
211
211
|
Close all connections
|
|
212
212
|
|
|
@@ -222,7 +222,7 @@ Close all connections
|
|
|
222
222
|
setLogger(logger: Logger): void;
|
|
223
223
|
```
|
|
224
224
|
|
|
225
|
-
Defined in: DBHandler.ts:
|
|
225
|
+
Defined in: [DBHandler.ts:280](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBHandler.ts#L280)
|
|
226
226
|
|
|
227
227
|
Set logger
|
|
228
228
|
|
|
@@ -244,7 +244,7 @@ Set logger
|
|
|
244
244
|
getPool(): unknown;
|
|
245
245
|
```
|
|
246
246
|
|
|
247
|
-
Defined in: DBHandler.ts:
|
|
247
|
+
Defined in: [DBHandler.ts:289](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBHandler.ts#L289)
|
|
248
248
|
|
|
249
249
|
Get the underlying PostgreSQL pool (for backward compatibility)
|
|
250
250
|
|