litedbmodel 2.2.9 → 2.2.10

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 (79) hide show
  1. package/dist/LazyRelation.d.ts +1 -0
  2. package/dist/LazyRelation.d.ts.map +1 -1
  3. package/dist/LazyRelation.js +17 -14
  4. package/dist/LazyRelation.js.map +1 -1
  5. package/dist/index.cjs +13 -11
  6. package/docs/BENCHMARK.md +1 -1
  7. package/docs/COMPARISON.md +1 -1
  8. package/docs/api/README.md +1 -1
  9. package/docs/api/classes/Conditions.md +1 -1
  10. package/docs/api/classes/DBHandler.md +1 -1
  11. package/docs/api/classes/DBModel.md +1 -1
  12. package/docs/api/classes/LimitExceededError.md +1 -1
  13. package/docs/api/classes/Middleware.md +1 -1
  14. package/docs/api/classes/SqlRaw.md +1 -1
  15. package/docs/api/classes/SqlRef.md +1 -1
  16. package/docs/api/classes/Values.md +1 -1
  17. package/docs/api/classes/WriteInReadOnlyContextError.md +1 -1
  18. package/docs/api/classes/WriteOutsideTransactionError.md +1 -1
  19. package/docs/api/functions/belongsTo.md +1 -1
  20. package/docs/api/functions/closeAllPools.md +1 -1
  21. package/docs/api/functions/condsToRecord.md +1 -1
  22. package/docs/api/functions/createMiddleware.md +1 -1
  23. package/docs/api/functions/createPostgresDriver.md +1 -1
  24. package/docs/api/functions/createSqliteDriver.md +1 -1
  25. package/docs/api/functions/dbCast.md +1 -1
  26. package/docs/api/functions/dbCastIn.md +1 -1
  27. package/docs/api/functions/dbDynamic.md +1 -1
  28. package/docs/api/functions/dbFalse.md +1 -1
  29. package/docs/api/functions/dbImmediate.md +1 -1
  30. package/docs/api/functions/dbIn.md +1 -1
  31. package/docs/api/functions/dbNotNull.md +1 -1
  32. package/docs/api/functions/dbNow.md +1 -1
  33. package/docs/api/functions/dbNull.md +1 -1
  34. package/docs/api/functions/dbRaw.md +1 -1
  35. package/docs/api/functions/dbTrue.md +1 -1
  36. package/docs/api/functions/dbUuid.md +1 -1
  37. package/docs/api/functions/dbUuidIn.md +1 -1
  38. package/docs/api/functions/formatLocalDate.md +1 -1
  39. package/docs/api/functions/formatUTCDate.md +1 -1
  40. package/docs/api/functions/getDBConfig.md +1 -1
  41. package/docs/api/functions/getDBHandler.md +1 -1
  42. package/docs/api/functions/getTransactionConnection.md +1 -1
  43. package/docs/api/functions/getTransactionContext.md +1 -1
  44. package/docs/api/functions/hasMany.md +1 -1
  45. package/docs/api/functions/hasOne.md +1 -1
  46. package/docs/api/functions/initDBHandler.md +1 -1
  47. package/docs/api/functions/isAnySqlFragment.md +1 -1
  48. package/docs/api/functions/isConnectionError.md +1 -1
  49. package/docs/api/functions/isSqlCondition.md +1 -1
  50. package/docs/api/functions/isSqlFragment.md +1 -1
  51. package/docs/api/functions/isSqlRaw.md +1 -1
  52. package/docs/api/functions/isSqlRef.md +1 -1
  53. package/docs/api/functions/isSqlTypedFragment.md +1 -1
  54. package/docs/api/functions/model.md +1 -1
  55. package/docs/api/functions/parentRef.md +1 -1
  56. package/docs/api/functions/sql.md +1 -1
  57. package/docs/api/globals.md +2 -2
  58. package/docs/api/interfaces/Column.md +1 -1
  59. package/docs/api/interfaces/ColumnDecorator.md +1 -1
  60. package/docs/api/interfaces/ColumnOptions.md +1 -1
  61. package/docs/api/interfaces/CreatedMiddlewareClass.md +1 -1
  62. package/docs/api/interfaces/DBConfig.md +1 -1
  63. package/docs/api/interfaces/DBConfigOptions.md +1 -1
  64. package/docs/api/interfaces/DeleteOptions.md +1 -1
  65. package/docs/api/interfaces/InsertOptions.md +1 -1
  66. package/docs/api/interfaces/LimitConfig.md +1 -1
  67. package/docs/api/interfaces/MiddlewareConfig.md +1 -1
  68. package/docs/api/interfaces/ModelClassDecorator.md +1 -1
  69. package/docs/api/interfaces/ModelOptions.md +1 -1
  70. package/docs/api/interfaces/PkeyResult.md +1 -1
  71. package/docs/api/interfaces/RelationDecorator.md +1 -1
  72. package/docs/api/interfaces/SelectOptions.md +1 -1
  73. package/docs/api/interfaces/SqlCondition.md +1 -1
  74. package/docs/api/interfaces/SqlFragment.md +1 -1
  75. package/docs/api/interfaces/SqlTypedFragment.md +1 -1
  76. package/docs/api/interfaces/TransactionOptions.md +1 -1
  77. package/docs/api/interfaces/UpdateManyOptions.md +1 -1
  78. package/docs/api/interfaces/UpdateOptions.md +1 -1
  79. package/package.json +1 -1
@@ -63,6 +63,7 @@ export interface RelationConfig {
63
63
  export declare class LazyRelationContext {
64
64
  private sourceClass;
65
65
  private records;
66
+ /** Batch loads by cache key — held from the start, so concurrent first accesses share one load. */
66
67
  private batchCache;
67
68
  constructor(sourceClass: typeof DBModel, records: DBModel[]);
68
69
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"LazyRelation.d.ts","sourceRoot":"","sources":["../src/LazyRelation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAA4B,aAAa,EAAiB,MAAM,UAAU,CAAC;AAmClF,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE9D,gBAAgB;AAChB,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,OAAO,OAAO,CAAC;IAC5B,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,8CAA8C;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8CAA8C;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wDAAwD;IACxD,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,wDAAwD;IACxD,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0EAA0E;IAC1E,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,uCAAuC;IACvC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAUD;;;;GAIG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,WAAW,CAAiB;IACpC,OAAO,CAAC,OAAO,CAAY;IAC3B,OAAO,CAAC,UAAU,CAAgD;gBAGhE,WAAW,EAAE,OAAO,OAAO,EAC3B,OAAO,EAAE,OAAO,EAAE;IAWpB;;OAEG;IACG,WAAW,CAAC,CAAC,SAAS,OAAO,EACjC,MAAM,EAAE,OAAO,EACf,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC;IAiC1B;;;;OAIG;IACH,WAAW,CAAC,YAAY,EAAE,YAAY,EAAE,MAAM,EAAE,cAAc,GAAG,MAAM;IAUvE;;OAEG;IACH,UAAU,IAAI,IAAI;IAIlB;;OAEG;IACH,UAAU,IAAI,OAAO,EAAE;IAIvB;;;;;;;OAOG;YACW,iBAAiB;IA0H/B;;OAEG;YACW,qBAAqB;IA4BnC;;OAEG;YACW,uBAAuB;IA8CrC;;OAEG;YACW,eAAe;IAqB7B;;OAEG;YACW,wBAAwB;IA+BtC;;;;;;;;;;;;;;OAcG;YACW,oBAAoB;IAqClC;;OAEG;YACW,6BAA6B;IAsD3C;;;;;;;;;;;;;;;OAeG;YACW,sBAAsB;IAwCpC;;OAEG;YACW,+BAA+B;IAoD7C;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAalC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAczB;;;OAGG;IACH,OAAO,CAAC,2BAA2B;IAkBnC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IASzB;;OAEG;IACH,OAAO,CAAC,cAAc;IAgBtB;;OAEG;IACH,OAAO,CAAC,cAAc;CAcvB;AAMD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,OAAO,EACrD,UAAU,EAAE,OAAO,OAAO,EAC1B,OAAO,EAAE,CAAC,EAAE,GACX,mBAAmB,CAErB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,gBAAgB,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,EACzD,OAAO,EAAE,CAAC,EAAE,EACZ,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,GAClC,OAAO,CAAC,IAAI,CAAC,CAKf;AAGD,OAAO,EAAE,aAAa,EAAE,CAAC"}
1
+ {"version":3,"file":"LazyRelation.d.ts","sourceRoot":"","sources":["../src/LazyRelation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAA4B,aAAa,EAAiB,MAAM,UAAU,CAAC;AAmClF,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE9D,gBAAgB;AAChB,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,OAAO,OAAO,CAAC;IAC5B,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,8CAA8C;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8CAA8C;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wDAAwD;IACxD,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,wDAAwD;IACxD,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0EAA0E;IAC1E,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,uCAAuC;IACvC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAUD;;;;GAIG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,WAAW,CAAiB;IACpC,OAAO,CAAC,OAAO,CAAY;IAC3B,mGAAmG;IACnG,OAAO,CAAC,UAAU,CAAyD;gBAGzE,WAAW,EAAE,OAAO,OAAO,EAC3B,OAAO,EAAE,OAAO,EAAE;IAWpB;;OAEG;IACG,WAAW,CAAC,CAAC,SAAS,OAAO,EACjC,MAAM,EAAE,OAAO,EACf,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC;IAuC1B;;;;OAIG;IACH,WAAW,CAAC,YAAY,EAAE,YAAY,EAAE,MAAM,EAAE,cAAc,GAAG,MAAM;IAUvE;;OAEG;IACH,UAAU,IAAI,IAAI;IAIlB;;OAEG;IACH,UAAU,IAAI,OAAO,EAAE;IAIvB;;;;;;;OAOG;YACW,iBAAiB;IAqH/B;;OAEG;YACW,qBAAqB;IA4BnC;;OAEG;YACW,uBAAuB;IA8CrC;;OAEG;YACW,eAAe;IAqB7B;;OAEG;YACW,wBAAwB;IA+BtC;;;;;;;;;;;;;;OAcG;YACW,oBAAoB;IAqClC;;OAEG;YACW,6BAA6B;IAsD3C;;;;;;;;;;;;;;;OAeG;YACW,sBAAsB;IAwCpC;;OAEG;YACW,+BAA+B;IAoD7C;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAalC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAczB;;;OAGG;IACH,OAAO,CAAC,2BAA2B;IAkBnC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IASzB;;OAEG;IACH,OAAO,CAAC,cAAc;IAgBtB;;OAEG;IACH,OAAO,CAAC,cAAc;CAcvB;AAMD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,OAAO,EACrD,UAAU,EAAE,OAAO,OAAO,EAC1B,OAAO,EAAE,CAAC,EAAE,GACX,mBAAmB,CAErB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,gBAAgB,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,EACzD,OAAO,EAAE,CAAC,EAAE,EACZ,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,GAClC,OAAO,CAAC,IAAI,CAAC,CAKf;AAGD,OAAO,EAAE,aAAa,EAAE,CAAC"}
@@ -81,6 +81,7 @@ function inferPgArrayType(values, sqlCast) {
81
81
  class LazyRelationContext {
82
82
  sourceClass;
83
83
  records;
84
+ /** Batch loads by cache key — held from the start, so concurrent first accesses share one load. */
84
85
  batchCache = new Map();
85
86
  constructor(sourceClass, records) {
86
87
  this.sourceClass = sourceClass;
@@ -95,12 +96,19 @@ class LazyRelationContext {
95
96
  */
96
97
  async getRelation(record, relationType, config) {
97
98
  const cacheKey = this.getCacheKey(relationType, config);
98
- // Check if relation is already batch-loaded
99
- if (!this.batchCache.has(cacheKey)) {
100
- // Load relation for all records in the batch
101
- await this.batchLoadRelation(relationType, config);
99
+ // Load relation for all records in the batch, unless that load is already done or in flight
100
+ let pending = this.batchCache.get(cacheKey);
101
+ if (!pending) {
102
+ const load = this.batchLoadRelation(relationType, config);
103
+ pending = load;
104
+ this.batchCache.set(cacheKey, load);
105
+ // A failed load is not kept, so the next access loads again.
106
+ load.catch(() => {
107
+ if (this.batchCache.get(cacheKey) === load)
108
+ this.batchCache.delete(cacheKey);
109
+ });
102
110
  }
103
- const relationMap = this.batchCache.get(cacheKey);
111
+ const relationMap = await pending;
104
112
  const isCompositeKey = (config.targetKeys && config.targetKeys.length > 0) ||
105
113
  (config.sourceKeys && config.sourceKeys.length > 0);
106
114
  let mapKey;
@@ -176,11 +184,9 @@ class LazyRelationContext {
176
184
  }
177
185
  }
178
186
  }
179
- // If no values, create empty cache
187
+ // If no values, nothing to load
180
188
  if (sourceKeyValues.length === 0 && compositeKeyValues.length === 0) {
181
- const cacheKey = this.getCacheKey(relationType, config);
182
- this.batchCache.set(cacheKey, new Map());
183
- return;
189
+ return new Map();
184
190
  }
185
191
  // Use target model's driver type (important for multi-DB scenarios)
186
192
  const driverType = TargetClass.getDriverType();
@@ -195,9 +201,7 @@ class LazyRelationContext {
195
201
  // Build unique tuples
196
202
  const uniqueTuples = this.getUniqueCompositeKeyTuples(compositeKeyValues, sourceKeys);
197
203
  if (uniqueTuples.length === 0) {
198
- const cacheKey = this.getCacheKey(relationType, config);
199
- this.batchCache.set(cacheKey, new Map());
200
- return;
204
+ return new Map();
201
205
  }
202
206
  if (needsLimitedLoading) {
203
207
  // Limited loading for composite keys
@@ -266,8 +270,7 @@ class LazyRelationContext {
266
270
  relationMap.set(keyValue, result);
267
271
  }
268
272
  }
269
- const cacheKey = this.getCacheKey(relationType, config);
270
- this.batchCache.set(cacheKey, relationMap);
273
+ return relationMap;
271
274
  }
272
275
  /**
273
276
  * PostgreSQL optimized: Single key batch load using = ANY($1::type[])
@@ -1 +1 @@
1
- {"version":3,"file":"LazyRelation.js","sourceRoot":"","sources":["../src/LazyRelation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LazyRelation.js","sourceRoot":"","sources":["../src/LazyRelation.ts"],"names":[],"mappings":"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"}
package/dist/index.cjs CHANGED
@@ -7586,6 +7586,7 @@ function inferPgArrayType2(values, sqlCast) {
7586
7586
  var LazyRelationContext = class {
7587
7587
  sourceClass;
7588
7588
  records;
7589
+ /** Batch loads by cache key — held from the start, so concurrent first accesses share one load. */
7589
7590
  batchCache = /* @__PURE__ */ new Map();
7590
7591
  constructor(sourceClass, records) {
7591
7592
  this.sourceClass = sourceClass;
@@ -7599,10 +7600,16 @@ var LazyRelationContext = class {
7599
7600
  */
7600
7601
  async getRelation(record, relationType, config) {
7601
7602
  const cacheKey = this.getCacheKey(relationType, config);
7602
- if (!this.batchCache.has(cacheKey)) {
7603
- await this.batchLoadRelation(relationType, config);
7603
+ let pending = this.batchCache.get(cacheKey);
7604
+ if (!pending) {
7605
+ const load = this.batchLoadRelation(relationType, config);
7606
+ pending = load;
7607
+ this.batchCache.set(cacheKey, load);
7608
+ load.catch(() => {
7609
+ if (this.batchCache.get(cacheKey) === load) this.batchCache.delete(cacheKey);
7610
+ });
7604
7611
  }
7605
- const relationMap = this.batchCache.get(cacheKey);
7612
+ const relationMap = await pending;
7606
7613
  const isCompositeKey = config.targetKeys && config.targetKeys.length > 0 || config.sourceKeys && config.sourceKeys.length > 0;
7607
7614
  let mapKey;
7608
7615
  if (isCompositeKey) {
@@ -7669,9 +7676,7 @@ var LazyRelationContext = class {
7669
7676
  }
7670
7677
  }
7671
7678
  if (sourceKeyValues.length === 0 && compositeKeyValues.length === 0) {
7672
- const cacheKey2 = this.getCacheKey(relationType, config);
7673
- this.batchCache.set(cacheKey2, /* @__PURE__ */ new Map());
7674
- return;
7679
+ return /* @__PURE__ */ new Map();
7675
7680
  }
7676
7681
  const driverType = TargetClass.getDriverType();
7677
7682
  let results;
@@ -7682,9 +7687,7 @@ var LazyRelationContext = class {
7682
7687
  const sourceKeys = config.sourceKeys || [config.sourceKey || "id"];
7683
7688
  const uniqueTuples = this.getUniqueCompositeKeyTuples(compositeKeyValues, sourceKeys);
7684
7689
  if (uniqueTuples.length === 0) {
7685
- const cacheKey2 = this.getCacheKey(relationType, config);
7686
- this.batchCache.set(cacheKey2, /* @__PURE__ */ new Map());
7687
- return;
7690
+ return /* @__PURE__ */ new Map();
7688
7691
  }
7689
7692
  if (needsLimitedLoading) {
7690
7693
  if (driverType === "postgres") {
@@ -7733,8 +7736,7 @@ var LazyRelationContext = class {
7733
7736
  relationMap.set(keyValue, result);
7734
7737
  }
7735
7738
  }
7736
- const cacheKey = this.getCacheKey(relationType, config);
7737
- this.batchCache.set(cacheKey, relationMap);
7739
+ return relationMap;
7738
7740
  }
7739
7741
  /**
7740
7742
  * PostgreSQL optimized: Single key batch load using = ANY($1::type[])
package/docs/BENCHMARK.md CHANGED
@@ -3,7 +3,7 @@
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.9**
6
+ **Version:** litedbmodel **2.2.10**
7
7
  <!--@embedoc:end-->
8
8
 
9
9
  > Measured on PostgreSQL 16 · Apple Silicon (arm64).
@@ -3,7 +3,7 @@
3
3
  A detailed comparison of litedbmodel with popular TypeScript/JavaScript ORMs.
4
4
 
5
5
  <!--@embedoc:package_version label="Benchmark figures"-->
6
- **Benchmark figures:** litedbmodel **2.2.9**
6
+ **Benchmark figures:** litedbmodel **2.2.10**
7
7
  <!--@embedoc:end-->
8
8
 
9
9
  > The only performance number on this page is the machine-computed win count below; the full
@@ -1,4 +1,4 @@
1
- **litedbmodel v2.2.9**
1
+ **litedbmodel v2.2.10**
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.10**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.10**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.10**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.10**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.10**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.10**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.10**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.10**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.10**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.10**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.10**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.10**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.10**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.10**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.10**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.10**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.10**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.10**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.10**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.10**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.10**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.10**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.10**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.10**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.10**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.10**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.10**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.10**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.10**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.10**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.10**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.10**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.10**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.10**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.10**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.10**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.10**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.10**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.10**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.10**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.10**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.10**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.10**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.10**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.10**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.10**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.10**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.10**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,8 +1,8 @@
1
- [**litedbmodel v2.2.9**](README.md)
1
+ [**litedbmodel v2.2.10**](README.md)
2
2
 
3
3
  ***
4
4
 
5
- # litedbmodel v2.2.9
5
+ # litedbmodel v2.2.10
6
6
 
7
7
  litedbmodel - A lightweight TypeScript data access layer
8
8
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.10**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.10**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.10**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.10**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.10**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.10**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.10**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.10**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.10**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.10**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.10**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.10**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.10**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.10**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.10**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.10**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.10**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.10**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.10**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.10**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.9**](../README.md)
1
+ [**litedbmodel v2.2.10**](../README.md)
2
2
 
3
3
  ***
4
4
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "litedbmodel",
3
- "version": "2.2.9",
3
+ "version": "2.2.10",
4
4
  "description": "A lightweight TypeScript ORM for PostgreSQL, MySQL, and SQLite with Active Record pattern",
5
5
  "main": "dist/index.cjs",
6
6
  "types": "dist/index.d.ts",