litedbmodel 2.2.9 → 2.2.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (120) hide show
  1. package/README.md +8 -5
  2. package/dist/DBHandler.d.ts +2 -28
  3. package/dist/DBHandler.d.ts.map +1 -1
  4. package/dist/DBHandler.js.map +1 -1
  5. package/dist/DBModel.d.ts +14 -12
  6. package/dist/DBModel.d.ts.map +1 -1
  7. package/dist/DBModel.js +71 -72
  8. package/dist/DBModel.js.map +1 -1
  9. package/dist/LazyRelation.d.ts +1 -0
  10. package/dist/LazyRelation.d.ts.map +1 -1
  11. package/dist/LazyRelation.js +17 -14
  12. package/dist/LazyRelation.js.map +1 -1
  13. package/dist/Middleware.d.ts +19 -17
  14. package/dist/Middleware.d.ts.map +1 -1
  15. package/dist/Middleware.js +30 -33
  16. package/dist/Middleware.js.map +1 -1
  17. package/dist/drivers/mysql.d.ts.map +1 -1
  18. package/dist/drivers/mysql.js +1 -0
  19. package/dist/drivers/mysql.js.map +1 -1
  20. package/dist/drivers/postgres.d.ts.map +1 -1
  21. package/dist/drivers/postgres.js +42 -22
  22. package/dist/drivers/postgres.js.map +1 -1
  23. package/dist/drivers/types.d.ts +2 -26
  24. package/dist/drivers/types.d.ts.map +1 -1
  25. package/dist/drivers/types.js.map +1 -1
  26. package/dist/index.cjs +224 -163
  27. package/dist/scp/connection-routing.d.ts +50 -18
  28. package/dist/scp/connection-routing.d.ts.map +1 -1
  29. package/dist/scp/connection-routing.js +55 -24
  30. package/dist/scp/connection-routing.js.map +1 -1
  31. package/dist/scp/dbmodel-runtime.d.ts +3 -0
  32. package/dist/scp/dbmodel-runtime.d.ts.map +1 -1
  33. package/dist/scp/dbmodel-runtime.js +2 -0
  34. package/dist/scp/dbmodel-runtime.js.map +1 -1
  35. package/dist/scp/exec-context.d.ts.map +1 -1
  36. package/dist/scp/exec-context.js +54 -46
  37. package/dist/scp/exec-context.js.map +1 -1
  38. package/dist/scp/index.cjs +99 -48
  39. package/dist/scp/index.mjs +96 -47
  40. package/dist/scp/makesql/pool-executor.d.ts +4 -1
  41. package/dist/scp/makesql/pool-executor.d.ts.map +1 -1
  42. package/dist/scp/makesql/pool-executor.js +21 -3
  43. package/dist/scp/makesql/pool-executor.js.map +1 -1
  44. package/dist/types.d.ts +9 -7
  45. package/dist/types.d.ts.map +1 -1
  46. package/dist/types.js.map +1 -1
  47. package/docs/BENCHMARK.md +1 -1
  48. package/docs/COMPARISON.md +2 -2
  49. package/docs/api/README.md +1 -1
  50. package/docs/api/classes/Conditions.md +1 -1
  51. package/docs/api/classes/DBHandler.md +16 -16
  52. package/docs/api/classes/DBModel.md +94 -93
  53. package/docs/api/classes/LimitExceededError.md +8 -8
  54. package/docs/api/classes/Middleware.md +35 -31
  55. package/docs/api/classes/SqlRaw.md +1 -1
  56. package/docs/api/classes/SqlRef.md +1 -1
  57. package/docs/api/classes/Values.md +1 -1
  58. package/docs/api/classes/WriteInReadOnlyContextError.md +5 -5
  59. package/docs/api/classes/WriteOutsideTransactionError.md +5 -5
  60. package/docs/api/functions/belongsTo.md +1 -1
  61. package/docs/api/functions/closeAllPools.md +2 -2
  62. package/docs/api/functions/condsToRecord.md +1 -1
  63. package/docs/api/functions/createMiddleware.md +4 -4
  64. package/docs/api/functions/createPostgresDriver.md +2 -2
  65. package/docs/api/functions/createSqliteDriver.md +1 -1
  66. package/docs/api/functions/dbCast.md +1 -1
  67. package/docs/api/functions/dbCastIn.md +1 -1
  68. package/docs/api/functions/dbDynamic.md +1 -1
  69. package/docs/api/functions/dbFalse.md +1 -1
  70. package/docs/api/functions/dbImmediate.md +1 -1
  71. package/docs/api/functions/dbIn.md +1 -1
  72. package/docs/api/functions/dbNotNull.md +1 -1
  73. package/docs/api/functions/dbNow.md +1 -1
  74. package/docs/api/functions/dbNull.md +1 -1
  75. package/docs/api/functions/dbRaw.md +1 -1
  76. package/docs/api/functions/dbTrue.md +1 -1
  77. package/docs/api/functions/dbUuid.md +1 -1
  78. package/docs/api/functions/dbUuidIn.md +1 -1
  79. package/docs/api/functions/formatLocalDate.md +1 -1
  80. package/docs/api/functions/formatUTCDate.md +1 -1
  81. package/docs/api/functions/getDBConfig.md +2 -2
  82. package/docs/api/functions/getDBHandler.md +2 -2
  83. package/docs/api/functions/getTransactionConnection.md +2 -2
  84. package/docs/api/functions/getTransactionContext.md +2 -2
  85. package/docs/api/functions/hasMany.md +1 -1
  86. package/docs/api/functions/hasOne.md +1 -1
  87. package/docs/api/functions/initDBHandler.md +2 -2
  88. package/docs/api/functions/isAnySqlFragment.md +1 -1
  89. package/docs/api/functions/isConnectionError.md +1 -1
  90. package/docs/api/functions/isSqlCondition.md +1 -1
  91. package/docs/api/functions/isSqlFragment.md +1 -1
  92. package/docs/api/functions/isSqlRaw.md +1 -1
  93. package/docs/api/functions/isSqlRef.md +1 -1
  94. package/docs/api/functions/isSqlTypedFragment.md +1 -1
  95. package/docs/api/functions/model.md +1 -1
  96. package/docs/api/functions/parentRef.md +1 -1
  97. package/docs/api/functions/sql.md +1 -1
  98. package/docs/api/globals.md +5 -5
  99. package/docs/api/interfaces/Column.md +1 -1
  100. package/docs/api/interfaces/ColumnDecorator.md +1 -1
  101. package/docs/api/interfaces/ColumnOptions.md +1 -1
  102. package/docs/api/interfaces/CreatedMiddlewareClass.md +7 -7
  103. package/docs/api/interfaces/DBConfig.md +29 -14
  104. package/docs/api/interfaces/DBConfigOptions.md +8 -8
  105. package/docs/api/interfaces/DeleteOptions.md +4 -4
  106. package/docs/api/interfaces/InsertOptions.md +8 -8
  107. package/docs/api/interfaces/LimitConfig.md +4 -4
  108. package/docs/api/interfaces/MiddlewareConfig.md +15 -15
  109. package/docs/api/interfaces/ModelClassDecorator.md +1 -1
  110. package/docs/api/interfaces/ModelOptions.md +1 -1
  111. package/docs/api/interfaces/PkeyResult.md +1 -1
  112. package/docs/api/interfaces/RelationDecorator.md +1 -1
  113. package/docs/api/interfaces/SelectOptions.md +17 -17
  114. package/docs/api/interfaces/SqlCondition.md +1 -1
  115. package/docs/api/interfaces/SqlFragment.md +1 -1
  116. package/docs/api/interfaces/SqlTypedFragment.md +1 -1
  117. package/docs/api/interfaces/TransactionOptions.md +7 -7
  118. package/docs/api/interfaces/UpdateManyOptions.md +4 -4
  119. package/docs/api/interfaces/UpdateOptions.md +4 -4
  120. package/package.json +2 -2
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.11**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -6,7 +6,7 @@
6
6
 
7
7
  # Class: LimitExceededError
8
8
 
9
- Defined in: [types.ts:369](https://github.com/foo-ogawa/litedbmodel/blob/main/src/types.ts#L369)
9
+ Defined in: [types.ts:371](https://github.com/foo-ogawa/litedbmodel/blob/main/src/types.ts#L371)
10
10
 
11
11
  Error thrown when a query exceeds the configured limit.
12
12
 
@@ -27,7 +27,7 @@ new LimitExceededError(
27
27
  relationName?: string): LimitExceededError;
28
28
  ```
29
29
 
30
- Defined in: [types.ts:370](https://github.com/foo-ogawa/litedbmodel/blob/main/src/types.ts#L370)
30
+ Defined in: [types.ts:372](https://github.com/foo-ogawa/litedbmodel/blob/main/src/types.ts#L372)
31
31
 
32
32
  #### Parameters
33
33
 
@@ -53,8 +53,8 @@ Error.constructor
53
53
 
54
54
  | Property | Modifier | Type | Description | Defined in |
55
55
  | ------ | ------ | ------ | ------ | ------ |
56
- | <a id="limit"></a> `limit` | `readonly` | `number` | - | [types.ts:371](https://github.com/foo-ogawa/litedbmodel/blob/main/src/types.ts#L371) |
57
- | <a id="actualcount"></a> `actualCount` | `readonly` | `number` | Number of records returned. For find() with findHardLimit, this is limit+1 (actual total may be higher). For relation loading, this is the exact count. | [types.ts:376](https://github.com/foo-ogawa/litedbmodel/blob/main/src/types.ts#L376) |
58
- | <a id="context"></a> `context` | `readonly` | `"find"` \| `"relation"` | - | [types.ts:377](https://github.com/foo-ogawa/litedbmodel/blob/main/src/types.ts#L377) |
59
- | <a id="modelname"></a> `modelName?` | `readonly` | `string` | - | [types.ts:378](https://github.com/foo-ogawa/litedbmodel/blob/main/src/types.ts#L378) |
60
- | <a id="relationname"></a> `relationName?` | `readonly` | `string` | - | [types.ts:379](https://github.com/foo-ogawa/litedbmodel/blob/main/src/types.ts#L379) |
56
+ | <a id="limit"></a> `limit` | `readonly` | `number` | - | [types.ts:373](https://github.com/foo-ogawa/litedbmodel/blob/main/src/types.ts#L373) |
57
+ | <a id="actualcount"></a> `actualCount` | `readonly` | `number` | Number of records returned. For find() with findHardLimit, this is limit+1 (actual total may be higher). For relation loading, this is the exact count. | [types.ts:378](https://github.com/foo-ogawa/litedbmodel/blob/main/src/types.ts#L378) |
58
+ | <a id="context"></a> `context` | `readonly` | `"find"` \| `"relation"` | - | [types.ts:379](https://github.com/foo-ogawa/litedbmodel/blob/main/src/types.ts#L379) |
59
+ | <a id="modelname"></a> `modelName?` | `readonly` | `string` | - | [types.ts:380](https://github.com/foo-ogawa/litedbmodel/blob/main/src/types.ts#L380) |
60
+ | <a id="relationname"></a> `relationName?` | `readonly` | `string` | - | [types.ts:381](https://github.com/foo-ogawa/litedbmodel/blob/main/src/types.ts#L381) |
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.11**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -6,12 +6,12 @@
6
6
 
7
7
  # Abstract Class: Middleware
8
8
 
9
- Defined in: [Middleware.ts:134](https://github.com/foo-ogawa/litedbmodel/blob/main/src/Middleware.ts#L134)
9
+ Defined in: [Middleware.ts:140](https://github.com/foo-ogawa/litedbmodel/blob/main/src/Middleware.ts#L140)
10
10
 
11
11
  Base class for middlewares.
12
12
 
13
- Middlewares use AsyncLocalStorage to maintain per-request instances.
14
- On first access within a request, a new instance is created automatically.
13
+ Middlewares keep per-request instances in AsyncLocalStorage. A request is the scope opened by
14
+ [Middleware.run](#run) at the request entry; on first access within it, a new instance is created.
15
15
 
16
16
  Middleware hooks are called in the following flow:
17
17
  - Method-level: `find`, `findOne`, `findById`, `count`, `create`, `createMany`, `update`, `updateMany`, `delete`
@@ -37,8 +37,11 @@ class LoggerMiddleware extends Middleware {
37
37
  // Register
38
38
  DBModel.use(LoggerMiddleware);
39
39
 
40
- // After request
41
- console.log(LoggerMiddleware.getCurrentContext().getLogs());
40
+ // One request
41
+ await Middleware.run(async () => {
42
+ await handleRequest();
43
+ console.log(LoggerMiddleware.getCurrentContext().getLogs());
44
+ });
42
45
  ```
43
46
 
44
47
  ## Constructors
@@ -61,10 +64,11 @@ new Middleware(): Middleware;
61
64
  static getCurrentContext<T>(this: () => T): T;
62
65
  ```
63
66
 
64
- Defined in: [Middleware.ts:151](https://github.com/foo-ogawa/litedbmodel/blob/main/src/Middleware.ts#L151)
67
+ Defined in: [Middleware.ts:146](https://github.com/foo-ogawa/litedbmodel/blob/main/src/Middleware.ts#L146)
65
68
 
66
- Get current request's instance.
67
- Creates a new instance on first access within a request.
69
+ Get the current request's instance of this middleware. Inside a [Middleware.run](#run) scope the
70
+ instance is created on first access and shared by the rest of the scope; outside any scope each
71
+ call gets a new instance that lives only for that call.
68
72
 
69
73
  #### Type Parameters
70
74
 
@@ -87,26 +91,26 @@ Creates a new instance on first access within a request.
87
91
  ### run()
88
92
 
89
93
  ```ts
90
- static run<T, R>(this: () => T, fn: () => R): R;
94
+ static run<R>(fn: () => R): R;
91
95
  ```
92
96
 
93
- Defined in: [Middleware.ts:165](https://github.com/foo-ogawa/litedbmodel/blob/main/src/Middleware.ts#L165)
97
+ Defined in: [Middleware.ts:163](https://github.com/foo-ogawa/litedbmodel/blob/main/src/Middleware.ts#L163)
94
98
 
95
- Run a function with a fresh middleware context.
96
- Useful for explicit context boundaries (e.g., in tests).
99
+ Run `fn` as one request: the middleware instances `fn` uses (directly or through DBModel
100
+ operations) are created inside the scope and are not shared with any other request. Call it at
101
+ the request entry. `Middleware.run` gives every middleware a fresh instance; `X.run` gives `X` a
102
+ fresh instance and keeps the enclosing scope's instances of the others.
97
103
 
98
104
  #### Type Parameters
99
105
 
100
106
  | Type Parameter |
101
107
  | ------ |
102
- | `T` *extends* `Middleware` |
103
108
  | `R` |
104
109
 
105
110
  #### Parameters
106
111
 
107
112
  | Parameter | Type |
108
113
  | ------ | ------ |
109
- | `this` | () => `T` |
110
114
  | `fn` | () => `R` |
111
115
 
112
116
  #### Returns
@@ -121,9 +125,9 @@ Useful for explicit context boundaries (e.g., in tests).
121
125
  static hasContext(): boolean;
122
126
  ```
123
127
 
124
- Defined in: [Middleware.ts:174](https://github.com/foo-ogawa/litedbmodel/blob/main/src/Middleware.ts#L174)
128
+ Defined in: [Middleware.ts:173](https://github.com/foo-ogawa/litedbmodel/blob/main/src/Middleware.ts#L173)
125
129
 
126
- Check if currently in a context
130
+ Check if the current request scope holds an instance of this middleware
127
131
 
128
132
  #### Returns
129
133
 
@@ -137,9 +141,9 @@ Check if currently in a context
137
141
  static clearContext(): void;
138
142
  ```
139
143
 
140
- Defined in: [Middleware.ts:181](https://github.com/foo-ogawa/litedbmodel/blob/main/src/Middleware.ts#L181)
144
+ Defined in: [Middleware.ts:180](https://github.com/foo-ogawa/litedbmodel/blob/main/src/Middleware.ts#L180)
141
145
 
142
- Clear current context (for testing)
146
+ Drop this middleware's instance from the current request scope (for testing)
143
147
 
144
148
  #### Returns
145
149
 
@@ -153,7 +157,7 @@ Clear current context (for testing)
153
157
  optional init(): void;
154
158
  ```
155
159
 
156
- Defined in: [Middleware.ts:193](https://github.com/foo-ogawa/litedbmodel/blob/main/src/Middleware.ts#L193)
160
+ Defined in: [Middleware.ts:189](https://github.com/foo-ogawa/litedbmodel/blob/main/src/Middleware.ts#L189)
157
161
 
158
162
  Called when instance is created
159
163
 
@@ -174,7 +178,7 @@ optional find<T>(
174
178
  options?: SelectOptions): Promise<InstanceType<T>[]>;
175
179
  ```
176
180
 
177
- Defined in: [Middleware.ts:196](https://github.com/foo-ogawa/litedbmodel/blob/main/src/Middleware.ts#L196)
181
+ Defined in: [Middleware.ts:192](https://github.com/foo-ogawa/litedbmodel/blob/main/src/Middleware.ts#L192)
178
182
 
179
183
  Intercept find()
180
184
 
@@ -211,7 +215,7 @@ optional findOne<T>(
211
215
  options?: SelectOptions): Promise<InstanceType<T> | null>;
212
216
  ```
213
217
 
214
- Defined in: [Middleware.ts:205](https://github.com/foo-ogawa/litedbmodel/blob/main/src/Middleware.ts#L205)
218
+ Defined in: [Middleware.ts:201](https://github.com/foo-ogawa/litedbmodel/blob/main/src/Middleware.ts#L201)
215
219
 
216
220
  Intercept findOne()
217
221
 
@@ -248,7 +252,7 @@ optional findById<T>(
248
252
  options?: SelectOptions): Promise<InstanceType<T>[]>;
249
253
  ```
250
254
 
251
- Defined in: [Middleware.ts:214](https://github.com/foo-ogawa/litedbmodel/blob/main/src/Middleware.ts#L214)
255
+ Defined in: [Middleware.ts:210](https://github.com/foo-ogawa/litedbmodel/blob/main/src/Middleware.ts#L210)
252
256
 
253
257
  Intercept findById()
254
258
 
@@ -284,7 +288,7 @@ optional count<T>(
284
288
  conditions: Conds): Promise<number>;
285
289
  ```
286
290
 
287
- Defined in: [Middleware.ts:223](https://github.com/foo-ogawa/litedbmodel/blob/main/src/Middleware.ts#L223)
291
+ Defined in: [Middleware.ts:219](https://github.com/foo-ogawa/litedbmodel/blob/main/src/Middleware.ts#L219)
288
292
 
289
293
  Intercept count()
290
294
 
@@ -320,7 +324,7 @@ optional create<T>(
320
324
  options?: InsertOptions<unknown>): Promise<PkeyResult | null>;
321
325
  ```
322
326
 
323
- Defined in: [Middleware.ts:231](https://github.com/foo-ogawa/litedbmodel/blob/main/src/Middleware.ts#L231)
327
+ Defined in: [Middleware.ts:227](https://github.com/foo-ogawa/litedbmodel/blob/main/src/Middleware.ts#L227)
324
328
 
325
329
  Intercept create()
326
330
 
@@ -357,7 +361,7 @@ optional createMany<T>(
357
361
  options?: InsertOptions<unknown>): Promise<PkeyResult | null>;
358
362
  ```
359
363
 
360
- Defined in: [Middleware.ts:240](https://github.com/foo-ogawa/litedbmodel/blob/main/src/Middleware.ts#L240)
364
+ Defined in: [Middleware.ts:236](https://github.com/foo-ogawa/litedbmodel/blob/main/src/Middleware.ts#L236)
361
365
 
362
366
  Intercept createMany()
363
367
 
@@ -395,7 +399,7 @@ optional update<T>(
395
399
  options?: UpdateOptions): Promise<PkeyResult | null>;
396
400
  ```
397
401
 
398
- Defined in: [Middleware.ts:249](https://github.com/foo-ogawa/litedbmodel/blob/main/src/Middleware.ts#L249)
402
+ Defined in: [Middleware.ts:245](https://github.com/foo-ogawa/litedbmodel/blob/main/src/Middleware.ts#L245)
399
403
 
400
404
  Intercept update()
401
405
 
@@ -433,7 +437,7 @@ optional updateMany<T>(
433
437
  options?: UpdateManyOptions): Promise<PkeyResult | null>;
434
438
  ```
435
439
 
436
- Defined in: [Middleware.ts:259](https://github.com/foo-ogawa/litedbmodel/blob/main/src/Middleware.ts#L259)
440
+ Defined in: [Middleware.ts:255](https://github.com/foo-ogawa/litedbmodel/blob/main/src/Middleware.ts#L255)
437
441
 
438
442
  Intercept updateMany()
439
443
 
@@ -470,7 +474,7 @@ optional delete<T>(
470
474
  options?: DeleteOptions): Promise<PkeyResult | null>;
471
475
  ```
472
476
 
473
- Defined in: [Middleware.ts:268](https://github.com/foo-ogawa/litedbmodel/blob/main/src/Middleware.ts#L268)
477
+ Defined in: [Middleware.ts:264](https://github.com/foo-ogawa/litedbmodel/blob/main/src/Middleware.ts#L264)
474
478
 
475
479
  Intercept delete()
476
480
 
@@ -506,7 +510,7 @@ optional execute(
506
510
  params?: unknown[]): Promise<ExecuteResult>;
507
511
  ```
508
512
 
509
- Defined in: [Middleware.ts:277](https://github.com/foo-ogawa/litedbmodel/blob/main/src/Middleware.ts#L277)
513
+ Defined in: [Middleware.ts:273](https://github.com/foo-ogawa/litedbmodel/blob/main/src/Middleware.ts#L273)
510
514
 
511
515
  Intercept execute()
512
516
 
@@ -536,7 +540,7 @@ optional query<T>(
536
540
  params?: unknown[]): Promise<InstanceType<T>[]>;
537
541
  ```
538
542
 
539
- Defined in: [Middleware.ts:285](https://github.com/foo-ogawa/litedbmodel/blob/main/src/Middleware.ts#L285)
543
+ Defined in: [Middleware.ts:281](https://github.com/foo-ogawa/litedbmodel/blob/main/src/Middleware.ts#L281)
540
544
 
541
545
  Intercept query()
542
546
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.11**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.11**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.11**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.11**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -6,7 +6,7 @@
6
6
 
7
7
  # Class: WriteInReadOnlyContextError
8
8
 
9
- Defined in: [types.ts:419](https://github.com/foo-ogawa/litedbmodel/blob/main/src/types.ts#L419)
9
+ Defined in: [types.ts:421](https://github.com/foo-ogawa/litedbmodel/blob/main/src/types.ts#L421)
10
10
 
11
11
  Error thrown when attempting write operations inside withWriter() context.
12
12
 
@@ -22,7 +22,7 @@ Error thrown when attempting write operations inside withWriter() context.
22
22
  new WriteInReadOnlyContextError(operation: string, modelName?: string): WriteInReadOnlyContextError;
23
23
  ```
24
24
 
25
- Defined in: [types.ts:420](https://github.com/foo-ogawa/litedbmodel/blob/main/src/types.ts#L420)
25
+ Defined in: [types.ts:422](https://github.com/foo-ogawa/litedbmodel/blob/main/src/types.ts#L422)
26
26
 
27
27
  #### Parameters
28
28
 
@@ -45,5 +45,5 @@ Error.constructor
45
45
 
46
46
  | Property | Modifier | Type | Defined in |
47
47
  | ------ | ------ | ------ | ------ |
48
- | <a id="operation"></a> `operation` | `readonly` | `string` | [types.ts:421](https://github.com/foo-ogawa/litedbmodel/blob/main/src/types.ts#L421) |
49
- | <a id="modelname"></a> `modelName?` | `readonly` | `string` | [types.ts:422](https://github.com/foo-ogawa/litedbmodel/blob/main/src/types.ts#L422) |
48
+ | <a id="operation"></a> `operation` | `readonly` | `string` | [types.ts:423](https://github.com/foo-ogawa/litedbmodel/blob/main/src/types.ts#L423) |
49
+ | <a id="modelname"></a> `modelName?` | `readonly` | `string` | [types.ts:424](https://github.com/foo-ogawa/litedbmodel/blob/main/src/types.ts#L424) |
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.11**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -6,7 +6,7 @@
6
6
 
7
7
  # Class: WriteOutsideTransactionError
8
8
 
9
- Defined in: [types.ts:401](https://github.com/foo-ogawa/litedbmodel/blob/main/src/types.ts#L401)
9
+ Defined in: [types.ts:403](https://github.com/foo-ogawa/litedbmodel/blob/main/src/types.ts#L403)
10
10
 
11
11
  Error thrown when attempting write operations outside a transaction.
12
12
 
@@ -22,7 +22,7 @@ Error thrown when attempting write operations outside a transaction.
22
22
  new WriteOutsideTransactionError(operation: string, modelName?: string): WriteOutsideTransactionError;
23
23
  ```
24
24
 
25
- Defined in: [types.ts:402](https://github.com/foo-ogawa/litedbmodel/blob/main/src/types.ts#L402)
25
+ Defined in: [types.ts:404](https://github.com/foo-ogawa/litedbmodel/blob/main/src/types.ts#L404)
26
26
 
27
27
  #### Parameters
28
28
 
@@ -45,5 +45,5 @@ Error.constructor
45
45
 
46
46
  | Property | Modifier | Type | Defined in |
47
47
  | ------ | ------ | ------ | ------ |
48
- | <a id="operation"></a> `operation` | `readonly` | `string` | [types.ts:403](https://github.com/foo-ogawa/litedbmodel/blob/main/src/types.ts#L403) |
49
- | <a id="modelname"></a> `modelName?` | `readonly` | `string` | [types.ts:404](https://github.com/foo-ogawa/litedbmodel/blob/main/src/types.ts#L404) |
48
+ | <a id="operation"></a> `operation` | `readonly` | `string` | [types.ts:405](https://github.com/foo-ogawa/litedbmodel/blob/main/src/types.ts#L405) |
49
+ | <a id="modelname"></a> `modelName?` | `readonly` | `string` | [types.ts:406](https://github.com/foo-ogawa/litedbmodel/blob/main/src/types.ts#L406) |
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.11**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.11**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -10,7 +10,7 @@
10
10
  function closeAllPools(): Promise<void>;
11
11
  ```
12
12
 
13
- Defined in: [DBHandler.ts:345](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBHandler.ts#L345)
13
+ Defined in: [DBHandler.ts:314](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBHandler.ts#L314)
14
14
 
15
15
  Close all connection pools
16
16
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.11**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.11**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -10,12 +10,12 @@
10
10
  function createMiddleware<S>(config: MiddlewareConfig<S>): CreatedMiddlewareClass<S>;
11
11
  ```
12
12
 
13
- Defined in: [Middleware.ts:497](https://github.com/foo-ogawa/litedbmodel/blob/main/src/Middleware.ts#L497)
13
+ Defined in: [Middleware.ts:493](https://github.com/foo-ogawa/litedbmodel/blob/main/src/Middleware.ts#L493)
14
14
 
15
15
  Create a middleware class from a configuration object.
16
16
 
17
17
  This is a simpler alternative to extending the Middleware class directly.
18
- Each request gets its own copy of the state object via AsyncLocalStorage.
18
+ Each request (a [Middleware.run](../classes/Middleware.md#run) scope) gets its own copy of the state object.
19
19
 
20
20
  ## Type Parameters
21
21
 
@@ -63,6 +63,6 @@ const TenantMiddleware = createMiddleware({
63
63
  // Register and use
64
64
  DBModel.use(TenantMiddleware);
65
65
 
66
- // Set tenant for current request
66
+ // Set tenant for the current request (inside Middleware.run at the request entry)
67
67
  TenantMiddleware.getCurrentContext().tenantId = 123;
68
68
  ```
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.11**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -10,7 +10,7 @@
10
10
  function createPostgresDriver(options: DBDriverOptions): PostgresDriver;
11
11
  ```
12
12
 
13
- Defined in: [drivers/postgres.ts:341](https://github.com/foo-ogawa/litedbmodel/blob/main/src/drivers/postgres.ts#L341)
13
+ Defined in: [drivers/postgres.ts:362](https://github.com/foo-ogawa/litedbmodel/blob/main/src/drivers/postgres.ts#L362)
14
14
 
15
15
  Create a PostgreSQL driver instance
16
16
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.11**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.11**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.11**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.11**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.11**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.11**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.11**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.11**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.11**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.11**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.11**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.11**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.11**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.11**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.11**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.11**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.11**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -10,7 +10,7 @@
10
10
  function getDBConfig(): DBConfig | null;
11
11
  ```
12
12
 
13
- Defined in: [DBHandler.ts:327](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBHandler.ts#L327)
13
+ Defined in: [DBHandler.ts:296](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBHandler.ts#L296)
14
14
 
15
15
  Get global config
16
16
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.11**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -10,7 +10,7 @@
10
10
  function getDBHandler(): DBHandler;
11
11
  ```
12
12
 
13
- Defined in: [DBHandler.ts:317](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBHandler.ts#L317)
13
+ Defined in: [DBHandler.ts:286](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBHandler.ts#L286)
14
14
 
15
15
  Get global handler
16
16
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.11**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -10,7 +10,7 @@
10
10
  function getTransactionConnection(): DBConnection | undefined;
11
11
  ```
12
12
 
13
- Defined in: [DBModel.ts:75](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L75)
13
+ Defined in: [DBModel.ts:76](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L76)
14
14
 
15
15
  Get current transaction connection (if in a transaction)
16
16
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.11**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -10,7 +10,7 @@
10
10
  function getTransactionContext(): TransactionContext | undefined;
11
11
  ```
12
12
 
13
- Defined in: [DBModel.ts:68](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L68)
13
+ Defined in: [DBModel.ts:69](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L69)
14
14
 
15
15
  Get current transaction context (if in a transaction)
16
16
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.11**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.11**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.11**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -10,7 +10,7 @@
10
10
  function initDBHandler(config: DBConfig, options?: DBHandlerOptions): DBHandler;
11
11
  ```
12
12
 
13
- Defined in: [DBHandler.ts:307](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBHandler.ts#L307)
13
+ Defined in: [DBHandler.ts:276](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBHandler.ts#L276)
14
14
 
15
15
  Initialize global handler with config
16
16
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.11**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.11**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.11**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.11**](../README.md)
2
2
 
3
3
  ***
4
4