litedbmodel 0.21.0 → 0.22.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 CHANGED
@@ -818,7 +818,7 @@ flowchart TD
818
818
 
819
819
  find --> query
820
820
  findOne --> query
821
- findById --> query
821
+ findById --> execute
822
822
 
823
823
  belongsTo --> query
824
824
  hasMany --> query
@@ -847,48 +847,42 @@ flowchart TD
847
847
  ### Example
848
848
 
849
849
  ```typescript
850
- import { Middleware, NextExecute, ExecuteResult } from 'litedbmodel';
851
-
852
- class LoggerMiddleware extends Middleware {
853
- queries: string[] = [];
854
-
855
- async execute(next: NextExecute, sql: string, params?: unknown[]): Promise<ExecuteResult> {
856
- this.queries.push(sql);
857
- const start = Date.now();
858
- const result = await next(sql, params);
859
- console.log(`${sql} (${Date.now() - start}ms)`);
860
- return result;
850
+ // Simple logger (no state needed)
851
+ const LoggerMiddleware = DBModel.createMiddleware({
852
+ execute: async function(next, sql, params) {
853
+ console.log('SQL:', sql);
854
+ return next(sql, params);
861
855
  }
862
- }
863
-
864
- DBModel.use(LoggerMiddleware);
865
-
866
- // Per-request access
867
- const ctx = LoggerMiddleware.getCurrentContext();
868
- console.log(ctx.queries);
869
- ```
870
-
871
- ### Tenant Isolation Example
872
-
873
- ```typescript
874
- import { Column } from 'litedbmodel';
875
-
876
- class TenantMiddleware extends Middleware {
877
- tenantId: number = 0;
856
+ });
878
857
 
879
- async find<T extends typeof DBModel>(model: T, next: NextFind<T>, conditions: Conds) {
858
+ // With per-request state (fully type-safe)
859
+ const TenantMiddleware = DBModel.createMiddleware({
860
+ // Initial state for each request (deep-cloned per request)
861
+ state: { tenantId: 0, queryCount: 0 },
862
+
863
+ // Hook signature: (model, next, ...args) for method-level hooks
864
+ find: async function(model, next, conditions, options) {
865
+ // `this` is typed as { tenantId: number; queryCount: number }
866
+ this.queryCount++;
880
867
  const tenantCol = (model as { tenant_id?: Column }).tenant_id;
881
868
  if (tenantCol) {
882
869
  conditions = [[tenantCol, this.tenantId], ...conditions];
883
870
  }
884
- return next(conditions);
871
+ return next(conditions, options);
885
872
  }
886
- }
873
+ });
874
+
875
+ // Register
876
+ DBModel.use(LoggerMiddleware);
877
+ DBModel.use(TenantMiddleware);
887
878
 
888
- // In request handler
879
+ // Per-request usage (type-safe)
889
880
  TenantMiddleware.getCurrentContext().tenantId = req.user.tenantId;
881
+ console.log(TenantMiddleware.getCurrentContext().queryCount);
890
882
  ```
891
883
 
884
+ **State lifecycle:** Each HTTP request gets its own copy of the `state` object via `AsyncLocalStorage`. States are isolated between concurrent requests and automatically cleaned up when the request ends.
885
+
892
886
  ---
893
887
 
894
888
  # Advanced Features
package/dist/DBModel.d.ts CHANGED
@@ -7,7 +7,7 @@ import { type ConditionObject } from './DBConditions';
7
7
  import { DBHandler, type DBConfig, type DBConnection } from './DBHandler';
8
8
  import type { SelectOptions, InsertOptions, UpdateOptions, DeleteOptions, UpdateManyOptions, TransactionOptions, LimitConfig, DBConfigOptions, PkeyResult } from './types';
9
9
  import { type Column, type OrderSpec, type CVs, type Conds, type CondsOf, type OrCondOf, type ColumnsOf } from './Column';
10
- import type { MiddlewareClass, ExecuteResult } from './Middleware';
10
+ import { type MiddlewareClass, type MiddlewareConfig, type CreatedMiddlewareClass, type ExecuteResult } from './Middleware';
11
11
  import { type KeyPair, type CompositeKeyPairs } from './decorators';
12
12
  import { LazyRelationContext, type RelationType } from './LazyRelation';
13
13
  interface TransactionContext {
@@ -266,6 +266,48 @@ export declare abstract class DBModel {
266
266
  * ```
267
267
  */
268
268
  static use(MiddlewareClass: MiddlewareClass): () => void;
269
+ /**
270
+ * Create a middleware class from a configuration object.
271
+ *
272
+ * This is a simpler alternative to extending the Middleware class directly.
273
+ * Each request gets its own copy of the state object via AsyncLocalStorage.
274
+ *
275
+ * @param config - Middleware configuration with state and hook functions
276
+ * @returns A middleware class that can be passed to DBModel.use()
277
+ *
278
+ * @example
279
+ * ```typescript
280
+ * // Simple logger (no state)
281
+ * const LoggerMiddleware = DBModel.createMiddleware({
282
+ * execute: async function(next, sql, params) {
283
+ * console.log('SQL:', sql);
284
+ * return next(sql, params);
285
+ * }
286
+ * });
287
+ *
288
+ * // With per-request state
289
+ * const TenantMiddleware = DBModel.createMiddleware({
290
+ * state: { tenantId: 0, logs: [] as string[] },
291
+ *
292
+ * // Note: hook signature is (model, next, ...args) for method-level hooks
293
+ * find: async function(model, next, conditions, options) {
294
+ * // `this` is typed as { tenantId: number; logs: string[] }
295
+ * this.logs.push(`find on ${model.TABLE_NAME}`);
296
+ * if (model.tenant_id) {
297
+ * conditions = [[model.tenant_id, this.tenantId], ...conditions];
298
+ * }
299
+ * return next(conditions, options);
300
+ * }
301
+ * });
302
+ *
303
+ * // Register
304
+ * DBModel.use(TenantMiddleware);
305
+ *
306
+ * // Set tenant for current request (type-safe)
307
+ * TenantMiddleware.getCurrentContext().tenantId = 123;
308
+ * ```
309
+ */
310
+ static createMiddleware<S extends object = Record<string, never>>(config: MiddlewareConfig<S>): CreatedMiddlewareClass<S>;
269
311
  /**
270
312
  * Remove a middleware class
271
313
  * @param MiddlewareClass - Middleware class to remove
@@ -1 +1 @@
1
- {"version":3,"file":"DBModel.d.ts","sourceRoot":"","sources":["../src/DBModel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DBModel.d.ts","sourceRoot":"","sources":["../src/DBModel.ts"],"names":[],"mappings":"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"}
package/dist/DBModel.js CHANGED
@@ -14,6 +14,7 @@ const DBConditions_1 = require("./DBConditions");
14
14
  const DBHandler_1 = require("./DBHandler");
15
15
  const types_1 = require("./types");
16
16
  const Column_1 = require("./Column");
17
+ const Middleware_1 = require("./Middleware");
17
18
  const decorators_1 = require("./decorators");
18
19
  const drivers_2 = require("./drivers");
19
20
  // Import LazyRelation module (static import for Vitest compatibility)
@@ -364,6 +365,50 @@ class DBModel {
364
365
  }
365
366
  };
366
367
  }
368
+ /**
369
+ * Create a middleware class from a configuration object.
370
+ *
371
+ * This is a simpler alternative to extending the Middleware class directly.
372
+ * Each request gets its own copy of the state object via AsyncLocalStorage.
373
+ *
374
+ * @param config - Middleware configuration with state and hook functions
375
+ * @returns A middleware class that can be passed to DBModel.use()
376
+ *
377
+ * @example
378
+ * ```typescript
379
+ * // Simple logger (no state)
380
+ * const LoggerMiddleware = DBModel.createMiddleware({
381
+ * execute: async function(next, sql, params) {
382
+ * console.log('SQL:', sql);
383
+ * return next(sql, params);
384
+ * }
385
+ * });
386
+ *
387
+ * // With per-request state
388
+ * const TenantMiddleware = DBModel.createMiddleware({
389
+ * state: { tenantId: 0, logs: [] as string[] },
390
+ *
391
+ * // Note: hook signature is (model, next, ...args) for method-level hooks
392
+ * find: async function(model, next, conditions, options) {
393
+ * // `this` is typed as { tenantId: number; logs: string[] }
394
+ * this.logs.push(`find on ${model.TABLE_NAME}`);
395
+ * if (model.tenant_id) {
396
+ * conditions = [[model.tenant_id, this.tenantId], ...conditions];
397
+ * }
398
+ * return next(conditions, options);
399
+ * }
400
+ * });
401
+ *
402
+ * // Register
403
+ * DBModel.use(TenantMiddleware);
404
+ *
405
+ * // Set tenant for current request (type-safe)
406
+ * TenantMiddleware.getCurrentContext().tenantId = 123;
407
+ * ```
408
+ */
409
+ static createMiddleware(config) {
410
+ return (0, Middleware_1.createMiddleware)(config);
411
+ }
367
412
  /**
368
413
  * Remove a middleware class
369
414
  * @param MiddlewareClass - Middleware class to remove
@@ -1 +1 @@
1
- {"version":3,"file":"DBModel.js","sourceRoot":"","sources":["../src/DBModel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DBModel.js","sourceRoot":"","sources":["../src/DBModel.ts"],"names":[],"mappings":"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"}
@@ -121,4 +121,107 @@ export declare abstract class Middleware {
121
121
  }
122
122
  /** Type for middleware class (not instance) */
123
123
  export type MiddlewareClass = typeof Middleware & (new () => Middleware);
124
+ /**
125
+ * Configuration object for createMiddleware.
126
+ * All hook functions receive `this` bound to the state object.
127
+ *
128
+ * Hook signature matches the Middleware class:
129
+ * - Method-level hooks: `(model, next, ...args)`
130
+ * - execute hook: `(next, sql, params)`
131
+ *
132
+ * @typeParam S - Type of the state object (defaults to empty object)
133
+ */
134
+ export interface MiddlewareConfig<S extends object = Record<string, never>> {
135
+ /**
136
+ * Initial state for each request context.
137
+ * A fresh copy is created for each request via structuredClone.
138
+ * Access via `this` in hook functions or `getCurrentContext()`.
139
+ */
140
+ state?: S;
141
+ /** Called when a new context is created */
142
+ init?: (this: S) => void;
143
+ /** Intercept find() */
144
+ find?: <T extends typeof DBModel>(this: S, model: T, next: NextFind<T>, conditions: Conds, options?: SelectOptions) => Promise<InstanceType<T>[]>;
145
+ /** Intercept findOne() */
146
+ findOne?: <T extends typeof DBModel>(this: S, model: T, next: NextFindOne<T>, conditions: Conds, options?: SelectOptions) => Promise<InstanceType<T> | null>;
147
+ /** Intercept findById() */
148
+ findById?: <T extends typeof DBModel>(this: S, model: T, next: NextFindById<T>, id: unknown | PkeyResult, options?: SelectOptions) => Promise<InstanceType<T>[]>;
149
+ /** Intercept count() */
150
+ count?: <T extends typeof DBModel>(this: S, model: T, next: NextCount, conditions: Conds) => Promise<number>;
151
+ /** Intercept create() */
152
+ create?: <T extends typeof DBModel>(this: S, model: T, next: NextCreate, pairs: readonly (readonly [Column<any, any>, any])[], options?: InsertOptions) => Promise<PkeyResult | null>;
153
+ /** Intercept createMany() */
154
+ createMany?: <T extends typeof DBModel>(this: S, model: T, next: NextCreateMany, pairsArray: readonly (readonly (readonly [Column<any, any>, any])[])[], options?: InsertOptions) => Promise<PkeyResult | null>;
155
+ /** Intercept update() */
156
+ update?: <T extends typeof DBModel>(this: S, model: T, next: NextUpdate, conditions: Conds, values: readonly (readonly [Column<any, any>, any])[], options?: UpdateOptions) => Promise<PkeyResult | null>;
157
+ /** Intercept updateMany() */
158
+ updateMany?: <T extends typeof DBModel>(this: S, model: T, next: NextUpdateMany, records: readonly (readonly (readonly [Column<any, any>, any])[])[], options?: UpdateManyOptions) => Promise<PkeyResult | null>;
159
+ /** Intercept delete() */
160
+ delete?: <T extends typeof DBModel>(this: S, model: T, next: NextDelete, conditions: Conds, options?: DeleteOptions) => Promise<PkeyResult | null>;
161
+ /** Intercept execute() - lowest level, catches ALL SQL queries */
162
+ execute?: (this: S, next: NextExecute, sql: string, params?: unknown[]) => Promise<ExecuteResult>;
163
+ /** Intercept query() - catches raw SQL that returns model instances */
164
+ query?: <T extends typeof DBModel>(this: S, model: T, next: NextQuery<T>, sql: string, params?: unknown[]) => Promise<InstanceType<T>[]>;
165
+ }
166
+ /**
167
+ * Type for the middleware class created by createMiddleware.
168
+ * Provides typed access to state via getCurrentContext().
169
+ *
170
+ * @typeParam S - The state object type
171
+ */
172
+ export interface CreatedMiddlewareClass<S extends object> {
173
+ /** Get the current request's state (creates new instance if none exists) */
174
+ getCurrentContext(): S;
175
+ /** Run a function with a fresh middleware context */
176
+ run<R>(fn: () => R): R;
177
+ /** Check if a context exists for the current request */
178
+ hasContext(): boolean;
179
+ /** Clear the current context (useful for testing) */
180
+ clearContext(): void;
181
+ /** Constructor */
182
+ new (): Middleware & S;
183
+ }
184
+ /**
185
+ * Create a middleware class from a configuration object.
186
+ *
187
+ * This is a simpler alternative to extending the Middleware class directly.
188
+ * Each request gets its own copy of the state object via AsyncLocalStorage.
189
+ *
190
+ * @param config - Middleware configuration with state and hook functions
191
+ * @returns A middleware class that can be passed to DBModel.use()
192
+ *
193
+ * @example
194
+ * ```typescript
195
+ * // Simple logger (no state)
196
+ * const LoggerMiddleware = createMiddleware({
197
+ * execute: async function(next, sql, params) {
198
+ * console.log('SQL:', sql);
199
+ * return next(sql, params);
200
+ * }
201
+ * });
202
+ *
203
+ * // With per-request state
204
+ * const TenantMiddleware = createMiddleware({
205
+ * state: { tenantId: 0 },
206
+ *
207
+ * // Hook signature: (model, next, ...args) for method-level hooks
208
+ * find: async function(model, next, conditions, options) {
209
+ * // `this` is typed as { tenantId: number }
210
+ * if (model.tenant_id) {
211
+ * conditions = [[model.tenant_id, this.tenantId], ...conditions];
212
+ * }
213
+ * return next(conditions, options);
214
+ * }
215
+ * });
216
+ *
217
+ * // Register and use
218
+ * DBModel.use(TenantMiddleware);
219
+ *
220
+ * // Set tenant for current request
221
+ * TenantMiddleware.getCurrentContext().tenantId = 123;
222
+ * ```
223
+ *
224
+ * @category Middleware
225
+ */
226
+ export declare function createMiddleware<S extends object = Record<string, never>>(config: MiddlewareConfig<S>): CreatedMiddlewareClass<S>;
124
227
  //# sourceMappingURL=Middleware.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Middleware.d.ts","sourceRoot":"","sources":["../src/Middleware.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Middleware.d.ts","sourceRoot":"","sources":["../src/Middleware.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACzH,OAAO,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAM9C;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IAChC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAMD,gBAAgB;AAChB,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,OAAO,OAAO,IAAI,CAC/C,UAAU,EAAE,KAAK,EACjB,OAAO,CAAC,EAAE,aAAa,KACpB,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAEhC,gBAAgB;AAChB,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,OAAO,OAAO,IAAI,CAClD,UAAU,EAAE,KAAK,EACjB,OAAO,CAAC,EAAE,aAAa,KACpB,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;AAErC,gBAAgB;AAChB,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,OAAO,OAAO,IAAI,CACnD,EAAE,EAAE,OAAO,GAAG,UAAU,EACxB,OAAO,CAAC,EAAE,aAAa,KACpB,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAEhC,gBAAgB;AAChB,MAAM,MAAM,SAAS,GAAG,CACtB,UAAU,EAAE,KAAK,KACd,OAAO,CAAC,MAAM,CAAC,CAAC;AAErB,gBAAgB;AAChB,MAAM,MAAM,UAAU,GAAG,CACvB,KAAK,EAAE,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,EACpD,OAAO,CAAC,EAAE,aAAa,KACpB,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;AAEhC,gBAAgB;AAChB,MAAM,MAAM,cAAc,GAAG,CAC3B,UAAU,EAAE,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EACtE,OAAO,CAAC,EAAE,aAAa,KACpB,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;AAEhC,gBAAgB;AAChB,MAAM,MAAM,UAAU,GAAG,CACvB,UAAU,EAAE,KAAK,EACjB,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,EACrD,OAAO,CAAC,EAAE,aAAa,KACpB,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;AAEhC,gBAAgB;AAChB,MAAM,MAAM,cAAc,GAAG,CAC3B,OAAO,EAAE,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EACnE,OAAO,CAAC,EAAE,iBAAiB,KACxB,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;AAEhC,gBAAgB;AAChB,MAAM,MAAM,UAAU,GAAG,CACvB,UAAU,EAAE,KAAK,EACjB,OAAO,CAAC,EAAE,aAAa,KACpB,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;AAEhC,gBAAgB;AAChB,MAAM,MAAM,WAAW,GAAG,CACxB,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,OAAO,EAAE,KACf,OAAO,CAAC,aAAa,CAAC,CAAC;AAE5B,gBAAgB;AAChB,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,OAAO,OAAO,IAAI,CAChD,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,OAAO,EAAE,KACf,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAMhC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,8BAAsB,UAAU;IAC9B,kDAAkD;IAClD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAgC;IAEvD,2CAA2C;IAC3C,OAAO,CAAC,MAAM,CAAC,UAAU;IAQzB;;;OAGG;IACH,MAAM,CAAC,iBAAiB,CAAC,CAAC,SAAS,UAAU,EAAE,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC;IAUpE;;;OAGG;IACH,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC;IAMtE;;OAEG;IACH,MAAM,CAAC,UAAU,IAAI,OAAO;IAI5B;;OAEG;IACH,MAAM,CAAC,YAAY,IAAI,IAAI;IAW3B,sCAAsC;IACtC,IAAI,CAAC,IAAI,IAAI;IAEb,uBAAuB;IACvB,IAAI,CAAC,CAAC,CAAC,SAAS,OAAO,OAAO,EAC5B,IAAI,EAAE,YAAY,CAAC,OAAO,UAAU,CAAC,EACrC,KAAK,EAAE,CAAC,EACR,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,EACjB,UAAU,EAAE,KAAK,EACjB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAE7B,0BAA0B;IAC1B,OAAO,CAAC,CAAC,CAAC,SAAS,OAAO,OAAO,EAC/B,IAAI,EAAE,YAAY,CAAC,OAAO,UAAU,CAAC,EACrC,KAAK,EAAE,CAAC,EACR,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,EACpB,UAAU,EAAE,KAAK,EACjB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAElC,2BAA2B;IAC3B,QAAQ,CAAC,CAAC,CAAC,SAAS,OAAO,OAAO,EAChC,IAAI,EAAE,YAAY,CAAC,OAAO,UAAU,CAAC,EACrC,KAAK,EAAE,CAAC,EACR,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,EACrB,EAAE,EAAE,OAAO,GAAG,UAAU,EACxB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAE7B,wBAAwB;IACxB,KAAK,CAAC,CAAC,CAAC,SAAS,OAAO,OAAO,EAC7B,IAAI,EAAE,YAAY,CAAC,OAAO,UAAU,CAAC,EACrC,KAAK,EAAE,CAAC,EACR,IAAI,EAAE,SAAS,EACf,UAAU,EAAE,KAAK,GAChB,OAAO,CAAC,MAAM,CAAC;IAElB,yBAAyB;IACzB,MAAM,CAAC,CAAC,CAAC,SAAS,OAAO,OAAO,EAC9B,IAAI,EAAE,YAAY,CAAC,OAAO,UAAU,CAAC,EACrC,KAAK,EAAE,CAAC,EACR,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,EACpD,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAE7B,6BAA6B;IAC7B,UAAU,CAAC,CAAC,CAAC,SAAS,OAAO,OAAO,EAClC,IAAI,EAAE,YAAY,CAAC,OAAO,UAAU,CAAC,EACrC,KAAK,EAAE,CAAC,EACR,IAAI,EAAE,cAAc,EACpB,UAAU,EAAE,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EACtE,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAE7B,yBAAyB;IACzB,MAAM,CAAC,CAAC,CAAC,SAAS,OAAO,OAAO,EAC9B,IAAI,EAAE,YAAY,CAAC,OAAO,UAAU,CAAC,EACrC,KAAK,EAAE,CAAC,EACR,IAAI,EAAE,UAAU,EAChB,UAAU,EAAE,KAAK,EACjB,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,EACrD,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAE7B,6BAA6B;IAC7B,UAAU,CAAC,CAAC,CAAC,SAAS,OAAO,OAAO,EAClC,IAAI,EAAE,YAAY,CAAC,OAAO,UAAU,CAAC,EACrC,KAAK,EAAE,CAAC,EACR,IAAI,EAAE,cAAc,EACpB,OAAO,EAAE,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EACnE,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAE7B,yBAAyB;IACzB,MAAM,CAAC,CAAC,CAAC,SAAS,OAAO,OAAO,EAC9B,IAAI,EAAE,YAAY,CAAC,OAAO,UAAU,CAAC,EACrC,KAAK,EAAE,CAAC,EACR,IAAI,EAAE,UAAU,EAChB,UAAU,EAAE,KAAK,EACjB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAE7B,0BAA0B;IAC1B,OAAO,CAAC,CACN,IAAI,EAAE,YAAY,CAAC,OAAO,UAAU,CAAC,EACrC,IAAI,EAAE,WAAW,EACjB,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,OAAO,EAAE,GACjB,OAAO,CAAC,aAAa,CAAC;IAEzB,wBAAwB;IACxB,KAAK,CAAC,CAAC,CAAC,SAAS,OAAO,OAAO,EAC7B,IAAI,EAAE,YAAY,CAAC,OAAO,UAAU,CAAC,EACrC,KAAK,EAAE,CAAC,EACR,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,EAClB,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,OAAO,EAAE,GACjB,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;CAC9B;AAED,+CAA+C;AAC/C,MAAM,MAAM,eAAe,GAAG,OAAO,UAAU,GAAG,CAAC,UAAU,UAAU,CAAC,CAAC;AAMzE;;;;;;;;;GASG;AACH,MAAM,WAAW,gBAAgB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;IACxE;;;;OAIG;IACH,KAAK,CAAC,EAAE,CAAC,CAAC;IAEV,2CAA2C;IAC3C,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;IAEzB,uBAAuB;IACvB,IAAI,CAAC,EAAE,CAAC,CAAC,SAAS,OAAO,OAAO,EAC9B,IAAI,EAAE,CAAC,EACP,KAAK,EAAE,CAAC,EACR,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,EACjB,UAAU,EAAE,KAAK,EACjB,OAAO,CAAC,EAAE,aAAa,KACpB,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAEhC,0BAA0B;IAC1B,OAAO,CAAC,EAAE,CAAC,CAAC,SAAS,OAAO,OAAO,EACjC,IAAI,EAAE,CAAC,EACP,KAAK,EAAE,CAAC,EACR,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,EACpB,UAAU,EAAE,KAAK,EACjB,OAAO,CAAC,EAAE,aAAa,KACpB,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAErC,2BAA2B;IAC3B,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,OAAO,OAAO,EAClC,IAAI,EAAE,CAAC,EACP,KAAK,EAAE,CAAC,EACR,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,EACrB,EAAE,EAAE,OAAO,GAAG,UAAU,EACxB,OAAO,CAAC,EAAE,aAAa,KACpB,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAEhC,wBAAwB;IACxB,KAAK,CAAC,EAAE,CAAC,CAAC,SAAS,OAAO,OAAO,EAC/B,IAAI,EAAE,CAAC,EACP,KAAK,EAAE,CAAC,EACR,IAAI,EAAE,SAAS,EACf,UAAU,EAAE,KAAK,KACd,OAAO,CAAC,MAAM,CAAC,CAAC;IAErB,yBAAyB;IACzB,MAAM,CAAC,EAAE,CAAC,CAAC,SAAS,OAAO,OAAO,EAChC,IAAI,EAAE,CAAC,EACP,KAAK,EAAE,CAAC,EACR,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,EACpD,OAAO,CAAC,EAAE,aAAa,KACpB,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IAEhC,6BAA6B;IAC7B,UAAU,CAAC,EAAE,CAAC,CAAC,SAAS,OAAO,OAAO,EACpC,IAAI,EAAE,CAAC,EACP,KAAK,EAAE,CAAC,EACR,IAAI,EAAE,cAAc,EACpB,UAAU,EAAE,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EACtE,OAAO,CAAC,EAAE,aAAa,KACpB,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IAEhC,yBAAyB;IACzB,MAAM,CAAC,EAAE,CAAC,CAAC,SAAS,OAAO,OAAO,EAChC,IAAI,EAAE,CAAC,EACP,KAAK,EAAE,CAAC,EACR,IAAI,EAAE,UAAU,EAChB,UAAU,EAAE,KAAK,EACjB,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,EACrD,OAAO,CAAC,EAAE,aAAa,KACpB,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IAEhC,6BAA6B;IAC7B,UAAU,CAAC,EAAE,CAAC,CAAC,SAAS,OAAO,OAAO,EACpC,IAAI,EAAE,CAAC,EACP,KAAK,EAAE,CAAC,EACR,IAAI,EAAE,cAAc,EACpB,OAAO,EAAE,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EACnE,OAAO,CAAC,EAAE,iBAAiB,KACxB,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IAEhC,yBAAyB;IACzB,MAAM,CAAC,EAAE,CAAC,CAAC,SAAS,OAAO,OAAO,EAChC,IAAI,EAAE,CAAC,EACP,KAAK,EAAE,CAAC,EACR,IAAI,EAAE,UAAU,EAChB,UAAU,EAAE,KAAK,EACjB,OAAO,CAAC,EAAE,aAAa,KACpB,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IAEhC,kEAAkE;IAClE,OAAO,CAAC,EAAE,CACR,IAAI,EAAE,CAAC,EACP,IAAI,EAAE,WAAW,EACjB,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,OAAO,EAAE,KACf,OAAO,CAAC,aAAa,CAAC,CAAC;IAE5B,uEAAuE;IACvE,KAAK,CAAC,EAAE,CAAC,CAAC,SAAS,OAAO,OAAO,EAC/B,IAAI,EAAE,CAAC,EACP,KAAK,EAAE,CAAC,EACR,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,EAClB,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,OAAO,EAAE,KACf,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;CACjC;AAED;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB,CAAC,CAAC,SAAS,MAAM;IACtD,4EAA4E;IAC5E,iBAAiB,IAAI,CAAC,CAAC;IACvB,qDAAqD;IACrD,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;IACvB,wDAAwD;IACxD,UAAU,IAAI,OAAO,CAAC;IACtB,qDAAqD;IACrD,YAAY,IAAI,IAAI,CAAC;IACrB,kBAAkB;IAClB,QAAO,UAAU,GAAG,CAAC,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EACvE,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAC1B,sBAAsB,CAAC,CAAC,CAAC,CA2C3B"}
@@ -6,6 +6,7 @@
6
6
  */
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
8
  exports.Middleware = void 0;
9
+ exports.createMiddleware = createMiddleware;
9
10
  const async_hooks_1 = require("async_hooks");
10
11
  // ===========================================
11
12
  // Middleware Base Class
@@ -95,4 +96,83 @@ class Middleware {
95
96
  }
96
97
  }
97
98
  exports.Middleware = Middleware;
99
+ /**
100
+ * Create a middleware class from a configuration object.
101
+ *
102
+ * This is a simpler alternative to extending the Middleware class directly.
103
+ * Each request gets its own copy of the state object via AsyncLocalStorage.
104
+ *
105
+ * @param config - Middleware configuration with state and hook functions
106
+ * @returns A middleware class that can be passed to DBModel.use()
107
+ *
108
+ * @example
109
+ * ```typescript
110
+ * // Simple logger (no state)
111
+ * const LoggerMiddleware = createMiddleware({
112
+ * execute: async function(next, sql, params) {
113
+ * console.log('SQL:', sql);
114
+ * return next(sql, params);
115
+ * }
116
+ * });
117
+ *
118
+ * // With per-request state
119
+ * const TenantMiddleware = createMiddleware({
120
+ * state: { tenantId: 0 },
121
+ *
122
+ * // Hook signature: (model, next, ...args) for method-level hooks
123
+ * find: async function(model, next, conditions, options) {
124
+ * // `this` is typed as { tenantId: number }
125
+ * if (model.tenant_id) {
126
+ * conditions = [[model.tenant_id, this.tenantId], ...conditions];
127
+ * }
128
+ * return next(conditions, options);
129
+ * }
130
+ * });
131
+ *
132
+ * // Register and use
133
+ * DBModel.use(TenantMiddleware);
134
+ *
135
+ * // Set tenant for current request
136
+ * TenantMiddleware.getCurrentContext().tenantId = 123;
137
+ * ```
138
+ *
139
+ * @category Middleware
140
+ */
141
+ function createMiddleware(config) {
142
+ // Create a dynamic class extending Middleware
143
+ class DynamicMiddleware extends Middleware {
144
+ constructor() {
145
+ super();
146
+ // Copy initial state to this instance
147
+ if (config.state) {
148
+ // Use structuredClone for deep copy (handles nested objects/arrays)
149
+ Object.assign(this, structuredClone(config.state));
150
+ }
151
+ }
152
+ // Override init if provided
153
+ init() {
154
+ if (config.init) {
155
+ config.init.call(this);
156
+ }
157
+ }
158
+ }
159
+ // Dynamically add hook methods from config
160
+ const hookNames = [
161
+ 'find', 'findOne', 'findById', 'count',
162
+ 'create', 'createMany', 'update', 'updateMany', 'delete',
163
+ 'execute', 'query'
164
+ ];
165
+ for (const hookName of hookNames) {
166
+ const hookFn = config[hookName];
167
+ if (hookFn) {
168
+ // Wrap the hook to bind `this` correctly
169
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
170
+ DynamicMiddleware.prototype[hookName] = function (...args) {
171
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
172
+ return hookFn.apply(this, args);
173
+ };
174
+ }
175
+ }
176
+ return DynamicMiddleware;
177
+ }
98
178
  //# sourceMappingURL=Middleware.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Middleware.js","sourceRoot":"","sources":["../src/Middleware.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,6CAAgD;AAwFhD,8CAA8C;AAC9C,wBAAwB;AACxB,8CAA8C;AAE9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAsB,UAAU;IAC9B,kDAAkD;IAC1C,MAAM,CAAC,QAAQ,CAAgC;IAEvD,2CAA2C;IACnC,MAAM,CAAC,UAAU;QACvB,qCAAqC;QACrC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACvD,IAAI,CAAC,QAAQ,GAAG,IAAI,+BAAiB,EAAc,CAAC;QACtD,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,iBAAiB;QACtB,MAAM,OAAO,GAAI,IAAqC,CAAC,UAAU,EAAE,CAAC;QACpE,IAAI,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAAmB,CAAC;QACnD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC;YACtB,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC9B,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,GAAG,CAA6C,EAAW;QAChE,MAAM,OAAO,GAAI,IAAqC,CAAC,UAAU,EAAE,CAAC;QACpE,MAAM,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC;QAC5B,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,UAAU;QACf,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,KAAK,SAAS,CAAC;IACpD,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,YAAY;QACjB,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,IAAI,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;YACvB,OAAO,CAAC,SAAS,CAAC,SAAkC,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;CA0GF;AA9JD,gCA8JC"}
1
+ {"version":3,"file":"Middleware.js","sourceRoot":"","sources":["../src/Middleware.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -15,7 +15,7 @@ export { model, column, hasMany, belongsTo, hasOne, getColumnMeta, getRelationMe
15
15
  export { castToDatetime, castToBoolean, castToIntegerArray, castToNumericArray, castToStringArray, castToBooleanArray, castToDatetimeArray, castToJson, getTypeCast, setTypeCastImpl, resetTypeCastImpl, type TypeCastFunctions, } from './TypeCast';
16
16
  export { LazyRelationContext, createRelationContext, preloadRelations, type RelationConfig, } from './LazyRelation';
17
17
  export { DBModel as LazyLoadingDBModel } from './DBModel';
18
- export { Middleware, type MiddlewareClass, type ExecuteResult, type NextFind, type NextFindOne, type NextFindById, type NextCount, type NextCreate, type NextCreateMany, type NextUpdate, type NextUpdateMany, type NextDelete, type NextExecute, type NextQuery, } from './Middleware';
18
+ export { Middleware, createMiddleware, type MiddlewareClass, type MiddlewareConfig, type CreatedMiddlewareClass, type ExecuteResult, type NextFind, type NextFindOne, type NextFindById, type NextCount, type NextCreate, type NextCreateMany, type NextUpdate, type NextUpdateMany, type NextDelete, type NextExecute, type NextQuery, } from './Middleware';
19
19
  export { StatisticsMiddleware } from './middlewares';
20
20
  export type { SelectOptions, InsertOptions, UpdateOptions, DeleteOptions, UpdateManyOptions, TransactionOptions, Logger, LimitConfig, ModelOptions, DBConfigOptions, PkeyResult, } from './types';
21
21
  export { LimitExceededError, WriteOutsideTransactionError, WriteInReadOnlyContextError, } from './types';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -8,7 +8,7 @@
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.OrderColumn = exports.Conditions = exports.Values = exports.isColumn = exports.createColumn = exports.dbUuidIn = exports.dbCastIn = exports.dbUuid = exports.dbCast = exports.parentRef = exports.dbTupleIn = exports.dbImmediate = exports.dbRaw = exports.dbDynamic = exports.dbIn = exports.dbNow = exports.dbFalse = exports.dbTrue = exports.dbNotNull = exports.dbNull = exports.DBParentRef = exports.DBExists = exports.DBSubquery = exports.DBCastArray = exports.DBCast = exports.DBTupleIn = exports.DBRawValue = exports.DBDynamicValue = exports.DBArrayValue = exports.DBBoolValue = exports.DBNotNullValue = exports.DBNullValue = exports.DBImmediateValue = exports.DBToken = exports.normalizeConditions = exports._legacyOr = exports.and = exports.DBOrConditions = exports.DBConditions = exports.createHandlerWithClient = exports.createHandlerWithConnection = exports.getDBConfig = exports.getDBHandler = exports.initDBHandler = exports.closeAllPools = exports.DBHandler = exports.getTransactionClient = exports.getTransactionConnection = exports.getTransactionContext = exports.DBModel = void 0;
11
- exports.createSqliteDriver = exports.SqliteDriver = exports.createPostgresDriver = exports.PostgresDriver = exports.WriteInReadOnlyContextError = exports.WriteOutsideTransactionError = exports.LimitExceededError = exports.StatisticsMiddleware = exports.Middleware = exports.LazyLoadingDBModel = exports.preloadRelations = exports.createRelationContext = exports.LazyRelationContext = exports.resetTypeCastImpl = exports.setTypeCastImpl = exports.getTypeCast = exports.castToJson = exports.castToDatetimeArray = exports.castToBooleanArray = exports.castToStringArray = exports.castToNumericArray = exports.castToIntegerArray = exports.castToBoolean = exports.castToDatetime = exports.getModelPropertyNames = exports.getModelColumnNames = exports.getRelationMeta = exports.getColumnMeta = exports.hasOne = exports.belongsTo = exports.hasMany = exports.column = exports.model = exports.condsToRecord = exports.isOrCond = exports.SKIP = exports.pairsToRecord = exports.columnsToNames = exports.orderToString = exports.isOrderColumn = void 0;
11
+ exports.createSqliteDriver = exports.SqliteDriver = exports.createPostgresDriver = exports.PostgresDriver = exports.WriteInReadOnlyContextError = exports.WriteOutsideTransactionError = exports.LimitExceededError = exports.StatisticsMiddleware = exports.createMiddleware = exports.Middleware = exports.LazyLoadingDBModel = exports.preloadRelations = exports.createRelationContext = exports.LazyRelationContext = exports.resetTypeCastImpl = exports.setTypeCastImpl = exports.getTypeCast = exports.castToJson = exports.castToDatetimeArray = exports.castToBooleanArray = exports.castToStringArray = exports.castToNumericArray = exports.castToIntegerArray = exports.castToBoolean = exports.castToDatetime = exports.getModelPropertyNames = exports.getModelColumnNames = exports.getRelationMeta = exports.getColumnMeta = exports.hasOne = exports.belongsTo = exports.hasMany = exports.column = exports.model = exports.condsToRecord = exports.isOrCond = exports.SKIP = exports.pairsToRecord = exports.columnsToNames = exports.orderToString = exports.isOrderColumn = void 0;
12
12
  // ============================================
13
13
  // Core Classes
14
14
  // ============================================
@@ -127,6 +127,7 @@ Object.defineProperty(exports, "LazyLoadingDBModel", { enumerable: true, get: fu
127
127
  // ============================================
128
128
  var Middleware_1 = require("./Middleware");
129
129
  Object.defineProperty(exports, "Middleware", { enumerable: true, get: function () { return Middleware_1.Middleware; } });
130
+ Object.defineProperty(exports, "createMiddleware", { enumerable: true, get: function () { return Middleware_1.createMiddleware; } });
130
131
  // Sample middlewares
131
132
  var middlewares_1 = require("./middlewares");
132
133
  Object.defineProperty(exports, "StatisticsMiddleware", { enumerable: true, get: function () { return middlewares_1.StatisticsMiddleware; } });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/docs/api-guide.md CHANGED
@@ -403,8 +403,8 @@ class LoggingMiddleware extends Middleware {
403
403
  }
404
404
  }
405
405
 
406
- // Register middleware
407
- User.use(LoggingMiddleware);
406
+ // Register middleware (applies to ALL models)
407
+ DBModel.use(LoggingMiddleware);
408
408
  ```
409
409
 
410
410
  See: [Middleware](classes/Middleware.md)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "litedbmodel",
3
- "version": "0.21.0",
3
+ "version": "0.22.0",
4
4
  "description": "A lightweight TypeScript ORM for PostgreSQL, MySQL, and SQLite with Active Record pattern",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",