tspace-mysql 1.9.2 → 1.9.3-beta.2

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 (38) hide show
  1. package/README.md +142 -17
  2. package/dist/lib/core/Abstracts/AbstractBuilder.d.ts +0 -1
  3. package/dist/lib/core/Abstracts/AbstractBuilder.js.map +1 -1
  4. package/dist/lib/core/Blueprint.d.ts +43 -10
  5. package/dist/lib/core/Blueprint.js +43 -2
  6. package/dist/lib/core/Blueprint.js.map +1 -1
  7. package/dist/lib/core/Builder.d.ts +5 -5
  8. package/dist/lib/core/Builder.js +15 -12
  9. package/dist/lib/core/Builder.js.map +1 -1
  10. package/dist/lib/core/Cache/MemoryCache.js +9 -4
  11. package/dist/lib/core/Cache/MemoryCache.js.map +1 -1
  12. package/dist/lib/core/Contracts/Audit.d.ts +2 -2
  13. package/dist/lib/core/Contracts/Logger.d.ts +2 -2
  14. package/dist/lib/core/Model.d.ts +169 -29
  15. package/dist/lib/core/Model.js +153 -4
  16. package/dist/lib/core/Model.js.map +1 -1
  17. package/dist/lib/core/{Queue.d.ts → Queue/index.d.ts} +115 -91
  18. package/dist/lib/core/Queue/index.js +282 -0
  19. package/dist/lib/core/Queue/index.js.map +1 -0
  20. package/dist/lib/core/Queue/types.d.ts +39 -0
  21. package/dist/lib/core/Queue/types.js +3 -0
  22. package/dist/lib/core/Queue/types.js.map +1 -0
  23. package/dist/lib/core/Queue/worker.d.ts +102 -0
  24. package/dist/lib/core/{Queue.js → Queue/worker.js} +133 -268
  25. package/dist/lib/core/Queue/worker.js.map +1 -0
  26. package/dist/lib/core/Repository.d.ts +40 -20
  27. package/dist/lib/core/Repository.js +35 -14
  28. package/dist/lib/core/Repository.js.map +1 -1
  29. package/dist/lib/core/UtilityTypes.d.ts +9 -7
  30. package/dist/lib/core/UtilityTypes.js.map +1 -1
  31. package/dist/lib/types/decorator/index.d.ts +3 -0
  32. package/dist/lib/types/index.d.ts +17 -16
  33. package/dist/lib/types/repository/index.d.ts +3 -3
  34. package/dist/lib/utils/index.d.ts +4 -2
  35. package/dist/lib/utils/index.js +17 -1
  36. package/dist/lib/utils/index.js.map +1 -1
  37. package/package.json +1 -1
  38. package/dist/lib/core/Queue.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../../src/lib/core/Queue/worker.ts"],"names":[],"mappings":"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"}
@@ -209,7 +209,7 @@ declare class RepositoryFactory<TS extends Record<string, any> = Record<string,
209
209
  * })
210
210
  *
211
211
  */
212
- exists(options: Partial<Omit<T.RepositoryOptions<M>, "relations" | "relationQuery">>): Promise<boolean>;
212
+ exists(options: Partial<Omit<T.RepositoryOptions<M>, "relations" | "relationsExists" | "relationQuery">>): Promise<boolean>;
213
213
  /**
214
214
  * The 'toString' method is used to retrieve the raw SQL query that would be executed by a query builder instance without actually executing it.
215
215
  *
@@ -232,13 +232,14 @@ declare class RepositoryFactory<TS extends Record<string, any> = Record<string,
232
232
  * @property {?boolean} options.debug
233
233
  * @returns {string}
234
234
  */
235
- toString(options?: Partial<Omit<T.RepositoryOptions<M>, "relations" | "relationQuery">>): string;
235
+ toString(options?: Partial<Omit<T.RepositoryOptions<M>, "relations" | "relationsExists" | "relationQuery">>): string;
236
236
  /**
237
- * The 'toJSON' method is used to execute a database query and retrieve the result set that matches the query conditions.
237
+ * The 'toArray' method is used to execute a database query and retrieve the result set that matches the query conditions.
238
238
  *
239
239
  * It retrieves multiple records from a database table based on the criteria specified in the query.
240
240
  *
241
- * It returns a JSON formatted.
241
+ * It returns an array formatted.
242
+ * @param {string} column
242
243
  * @type {?object} options
243
244
  * @property {?object} options.select
244
245
  * @property {?object} options.except
@@ -256,17 +257,16 @@ declare class RepositoryFactory<TS extends Record<string, any> = Record<string,
256
257
  * @property {?{localKey , referenceKey}[]} options.leftJoin
257
258
  * @property {?boolean} options.debug
258
259
  * @property {?number} options.page
259
- * @returns {string} json
260
+ * @return {promise<any[]>}
260
261
  */
261
- toJSON(options?: Partial<Omit<T.RepositoryOptions<M>, "relations" | "relationQuery">>): Promise<string>;
262
+ toArray<K extends T.ColumnKeys<M> | `${string}.${string}`>(column: K, options?: Partial<Omit<T.RepositoryOptions<M>, "relations" | "relationsExists" | "relationQuery">>): Promise<(K extends keyof T.Result<M> ? T.Result<M>[K] : unknown)[]>;
262
263
  /**
263
- * The 'toArray' method is used to execute a database query and retrieve the result set that matches the query conditions.
264
264
  *
265
- * It retrieves multiple records from a database table based on the criteria specified in the query.
265
+ * The 'toAsyncIterable' method is used to execute a database query and return the result set as an asynchronous iterable.
266
266
  *
267
- * It returns an array formatted.
268
- * @param {string} column
269
- * @type {?object} options
267
+ * It retrieves multiple records from a database table based on the criteria specified in the query.
268
+ * The optional callback function can be used to modify the generated SQL query before execution.
269
+ * @type {?Object} options
270
270
  * @property {?object} options.select
271
271
  * @property {?object} options.except
272
272
  * @property {?object[]} options.orderBy
@@ -281,11 +281,31 @@ declare class RepositoryFactory<TS extends Record<string, any> = Record<string,
281
281
  * @property {?{localKey , referenceKey}[]} options.join
282
282
  * @property {?{localKey , referenceKey}[]} options.rightJoin
283
283
  * @property {?{localKey , referenceKey}[]} options.leftJoin
284
+ * @property {string[]} options.relations
285
+ * @property {string[]} options.relationExists
286
+ * @property {?{condition,callback}} options.relationQuery
284
287
  * @property {?boolean} options.debug
285
- * @property {?number} options.page
286
- * @return {promise<any[]>}
288
+ * @returns {promise<Object>[]}
289
+ *
290
+ * @example
291
+ * import { Repository } from 'tspace-mysql'
292
+ * import { User } from '../Models/User'
293
+ *
294
+ * const userRepository = Repository(User)
295
+ *
296
+ * const users = await userRepository.toAsyncIterable({
297
+ * select : { id: true, name: true },
298
+ * where : {
299
+ * id: 1
300
+ * }
301
+ * })
302
+ *
303
+ * await for(const user of users()) {
304
+ * console.log(user);
305
+ * }
306
+ *
287
307
  */
288
- toArray<K extends T.ColumnKeys<M> | `${string}.${string}`>(column: K, options?: Partial<Omit<T.RepositoryOptions<M>, "relations" | "relationQuery">>): Promise<(K extends keyof T.Result<M> ? T.Result<M>[K] : unknown)[]>;
308
+ toAsyncIterable<S extends T.SelectOptions<M> | undefined = undefined, SR extends T.RelationOptions<M> | undefined = undefined, E extends T.ExceptOptions<M> | undefined = undefined, SRS extends Record<string, TRawStringQuery> | undefined = undefined, G extends Record<string, T.RepositoryGenericTypeOptions> | undefined = {}>(options?: T.RepositoryOptions<M, S, SR, E, SRS, G>): AsyncIterable<T.ResultFiltered<M, S, SR, E, SRS, G>>;
289
309
  /**
290
310
  * The 'count' method is used to retrieve the total number of records that match the specified query conditions.
291
311
  *
@@ -310,7 +330,7 @@ declare class RepositoryFactory<TS extends Record<string, any> = Record<string,
310
330
  * @property {?number} options.page
311
331
  * @return {promise<any[]>}
312
332
  */
313
- count(column: T.ColumnKeys<M> | `${string}.${string}`, options?: Partial<Omit<T.RepositoryOptions<M>, "relations" | "relationQuery">>): Promise<number>;
333
+ count(column: T.ColumnKeys<M> | `${string}.${string}`, options?: Partial<Omit<T.RepositoryOptions<M>, "relations" | "relationsExists" | "relationQuery">>): Promise<number>;
314
334
  /**
315
335
  * The 'avg' method is used to retrieve the total number of records that match the specified query conditions.
316
336
  *
@@ -335,7 +355,7 @@ declare class RepositoryFactory<TS extends Record<string, any> = Record<string,
335
355
  * @property {?number} options.page
336
356
  * @return {promise<any[]>}
337
357
  */
338
- avg(column: T.ColumnKeys<M> | `${string}.${string}`, options?: Partial<Omit<T.RepositoryOptions<M>, "relations" | "relationQuery">>): Promise<number>;
358
+ avg(column: T.ColumnKeys<M> | `${string}.${string}`, options?: Partial<Omit<T.RepositoryOptions<M>, "relations" | "relationsExists" | "relationQuery">>): Promise<number>;
339
359
  /**
340
360
  * The 'sum' method is used to retrieve the total number of records that match the specified query conditions.
341
361
  *
@@ -360,7 +380,7 @@ declare class RepositoryFactory<TS extends Record<string, any> = Record<string,
360
380
  * @property {?number} options.page
361
381
  * @return {promise<any[]>}
362
382
  */
363
- sum(column: T.ColumnKeys<M> | `${string}.${string}`, options?: Partial<Omit<T.RepositoryOptions<M>, "relations" | "relationQuery">>): Promise<number>;
383
+ sum(column: T.ColumnKeys<M> | `${string}.${string}`, options?: Partial<Omit<T.RepositoryOptions<M>, "relations" | "relationsExists" | "relationQuery">>): Promise<number>;
364
384
  /**
365
385
  * The 'max' method is used to retrieve the maximum value of a numeric column in a database table.
366
386
  *
@@ -385,7 +405,7 @@ declare class RepositoryFactory<TS extends Record<string, any> = Record<string,
385
405
  * @property {?number} options.page
386
406
  * @return {promise<any[]>}
387
407
  */
388
- max(column: T.ColumnKeys<M> | `${string}.${string}`, options?: Partial<Omit<T.RepositoryOptions<M>, "relations" | "relationQuery">>): Promise<number>;
408
+ max(column: T.ColumnKeys<M> | `${string}.${string}`, options?: Partial<Omit<T.RepositoryOptions<M>, "relations" | "relationsExists" | "relationQuery">>): Promise<number>;
389
409
  /**
390
410
  * The 'min' method is used to retrieve the minimum (lowest) value of a numeric column in a database table.
391
411
  *
@@ -410,7 +430,7 @@ declare class RepositoryFactory<TS extends Record<string, any> = Record<string,
410
430
  * @property {?number} options.page
411
431
  * @return {promise<any[]>}
412
432
  */
413
- min(column: T.ColumnKeys<M> | `${string}.${string}`, options?: Partial<Omit<T.RepositoryOptions<M>, "relations" | "relationQuery">>): Promise<number>;
433
+ min(column: T.ColumnKeys<M> | `${string}.${string}`, options?: Partial<Omit<T.RepositoryOptions<M>, "relations" | "relationsExists" | "relationQuery">>): Promise<number>;
414
434
  /**
415
435
  * The 'create' method is used to insert a new record into a database table associated.
416
436
  *
@@ -597,5 +617,5 @@ declare class RepositoryFactory<TS extends Record<string, any> = Record<string,
597
617
  * const users = await userRepository.findMany()
598
618
  *
599
619
  */
600
- export declare const Repository: <M extends Model<any, any>>(model: new () => M) => RepositoryFactory<T.SchemaModel<M>, T.RelationModel<M>, M>;
620
+ export declare const Repository: <M extends Model<any, any>, S extends Record<string, any> = T.SchemaModel<M> & Record<string, any>, R = T.RelationModel<M>>(model: new () => M) => RepositoryFactory<S, R, M>;
601
621
  export default Repository;
@@ -267,11 +267,12 @@ class RepositoryFactory {
267
267
  return instance.toString();
268
268
  }
269
269
  /**
270
- * The 'toJSON' method is used to execute a database query and retrieve the result set that matches the query conditions.
270
+ * The 'toArray' method is used to execute a database query and retrieve the result set that matches the query conditions.
271
271
  *
272
272
  * It retrieves multiple records from a database table based on the criteria specified in the query.
273
273
  *
274
- * It returns a JSON formatted.
274
+ * It returns an array formatted.
275
+ * @param {string} column
275
276
  * @type {?object} options
276
277
  * @property {?object} options.select
277
278
  * @property {?object} options.except
@@ -289,22 +290,21 @@ class RepositoryFactory {
289
290
  * @property {?{localKey , referenceKey}[]} options.leftJoin
290
291
  * @property {?boolean} options.debug
291
292
  * @property {?number} options.page
292
- * @returns {string} json
293
+ * @return {promise<any[]>}
293
294
  */
294
- async toJSON(options = {}) {
295
+ async toArray(column, options = {}) {
295
296
  const instance = this._handlerRequest(options);
296
297
  if (instance == null)
297
298
  throw new Error("The instance is not initialized");
298
- return await instance.toJSON();
299
+ return await instance.toArray(column);
299
300
  }
300
301
  /**
301
- * The 'toArray' method is used to execute a database query and retrieve the result set that matches the query conditions.
302
302
  *
303
- * It retrieves multiple records from a database table based on the criteria specified in the query.
303
+ * The 'toAsyncIterable' method is used to execute a database query and return the result set as an asynchronous iterable.
304
304
  *
305
- * It returns an array formatted.
306
- * @param {string} column
307
- * @type {?object} options
305
+ * It retrieves multiple records from a database table based on the criteria specified in the query.
306
+ * The optional callback function can be used to modify the generated SQL query before execution.
307
+ * @type {?Object} options
308
308
  * @property {?object} options.select
309
309
  * @property {?object} options.except
310
310
  * @property {?object[]} options.orderBy
@@ -319,15 +319,36 @@ class RepositoryFactory {
319
319
  * @property {?{localKey , referenceKey}[]} options.join
320
320
  * @property {?{localKey , referenceKey}[]} options.rightJoin
321
321
  * @property {?{localKey , referenceKey}[]} options.leftJoin
322
+ * @property {string[]} options.relations
323
+ * @property {string[]} options.relationExists
324
+ * @property {?{condition,callback}} options.relationQuery
322
325
  * @property {?boolean} options.debug
323
- * @property {?number} options.page
324
- * @return {promise<any[]>}
326
+ * @returns {promise<Object>[]}
327
+ *
328
+ * @example
329
+ * import { Repository } from 'tspace-mysql'
330
+ * import { User } from '../Models/User'
331
+ *
332
+ * const userRepository = Repository(User)
333
+ *
334
+ * const users = await userRepository.toAsyncIterable({
335
+ * select : { id: true, name: true },
336
+ * where : {
337
+ * id: 1
338
+ * }
339
+ * })
340
+ *
341
+ * await for(const user of users()) {
342
+ * console.log(user);
343
+ * }
344
+ *
325
345
  */
326
- async toArray(column, options = {}) {
346
+ async *toAsyncIterable(options = {}) {
327
347
  const instance = this._handlerRequest(options);
328
348
  if (instance == null)
329
349
  throw new Error("The instance is not initialized");
330
- return await instance.toArray(column);
350
+ const results = await instance.get();
351
+ return yield* results;
331
352
  }
332
353
  /**
333
354
  * The 'count' method is used to retrieve the total number of records that match the specified query conditions.
@@ -1 +1 @@
1
- {"version":3,"file":"Repository.js","sourceRoot":"","sources":["../../../src/lib/core/Repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Repository.js","sourceRoot":"","sources":["../../../src/lib/core/Repository.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
+ import { z } from "zod";
1
2
  import { Blueprint } from "./Blueprint";
2
3
  import { Model } from "./Model";
3
4
  import { Repository } from "./Repository";
4
- import type { TDeepExpand, TResultResolved, TFreezeStringQuery, TIsEnum, TOperatorQuery, TPagination, TRawStringQuery, TRelationKeys, TRelationResults, TSelectionMerger, TDeepOmit, TConflictKeys, TInsertInput, TUpdateInput, TInsertOrUpdateInput, TDefault, TRemoveDefault } from "../types";
5
- import type { TColumnsDecorator, TRelationsDecorator } from "../types/decorator";
5
+ import type { TDeepExpand, TResultResolved, TFreezeStringQuery, TIsEnum, TOperatorQuery, TPagination, TRawStringQuery, TRelationKeys, TRelationResults, TSelectionMerger, TDeepOmit, TConflictKeys, TInsertInput, TUpdateInput, TInsertOrUpdateInput, TDefault, TRemoveDefault, TAnyKeys } from "../types";
6
+ import type { TColumnsDecorator, TInputColumnsDecorator, TRelationsDecorator } from "../types/decorator";
6
7
  import type { TRepositoryCreate, TRepositoryCreateMultiple, TRepositoryCreateOrThings, TRepositoryDelete, TRepositoryExcept, TRepositoryExtendType, TRepositoryGroupBy, TRepositoryOrderBy, TRepositoryPrimitiveExtendType, TRepositoryRelation, TRepositoryRequest, TRepositorySelect, TRepositoryUpdate, TRepositoryUpdateMultiple, TRepositoryWhere } from "../types/repository";
7
- import { z } from "zod";
8
8
  /**
9
9
  * The 'TSchema' type is used to specify the type of the schema.
10
10
  *
@@ -154,9 +154,7 @@ export declare namespace T {
154
154
  [K in keyof SRS]: true;
155
155
  }, SR>> & TRepositoryPrimitiveExtendType<G>) extends infer $Resolved ? S extends undefined ? E extends undefined ? TDeepExpand<$Resolved> : TDeepExpand<TDeepOmit<$Resolved, E>> : TDeepExpand<$Resolved> : never;
156
156
  type PaginateResultFiltered<M extends Model<any, any, any>, K = {}, S = undefined, SR = undefined, E = undefined, SRS = undefined> = TDeepExpand<TPagination<ResultFiltered<M, K, S, SR, E, SRS>>>;
157
- type Result<M extends Model<any, any, any>, K = {}> = TDeepExpand<TResultResolved<M> & K> & {
158
- [customKey: string]: unknown;
159
- };
157
+ type Result<M extends Model<any, any, any>, K = {}> = TDeepExpand<TResultResolved<M> & K & TAnyKeys>;
160
158
  type PaginateResult<M extends Model<any, any, any>, K = {}> = TDeepExpand<TPagination<Result<M, K>>>;
161
159
  type InsertResult<M extends Model<any, any, any>> = TDeepExpand<TResultResolved<M>>;
162
160
  type InsertManyResult<M extends Model<any, any, any>> = TDeepExpand<TResultResolved<M>>[];
@@ -167,6 +165,9 @@ export declare namespace T {
167
165
  type InsertInput<K, C> = TInsertInput<K, C>;
168
166
  type UpdateInput<K, C> = TUpdateInput<K, C>;
169
167
  type InsertOrUpdateInput<K, C> = TInsertOrUpdateInput<K, C>;
168
+ type InputOptions<M extends Model<any, any, any>> = keyof TColumnsDecorator<M> extends never ? {
169
+ [K in keyof TSchemaModel<M>]: TSchemaModel<M>[K] | TRawStringQuery;
170
+ } : TInputColumnsDecorator<M>;
170
171
  type NoConflict<R extends readonly PropertyKey[], O extends readonly PropertyKey[]> = TConflictKeys<R, O> extends never ? {} : {
171
172
  ERROR_DUPLICATE_KEYS: TConflictKeys<R, O>;
172
173
  };
@@ -237,6 +238,7 @@ export declare namespace T {
237
238
  type RepositoryCreateOrThings<M extends Model<any, any, any>, NR extends boolean | undefined = false> = TRepositoryCreateOrThings<M, NR>;
238
239
  type RepositoryDelete<M extends Model<any, any, any>> = TRepositoryDelete<M>;
239
240
  type RepositoryGenericTypeOptions = TRepositoryExtendType;
240
- type Default<T = any> = TDefault<T>;
241
241
  type QueryModifier<M extends Model<any, any, any>> = (query: M) => M;
242
+ type Default<T = any> = TDefault<T>;
243
+ type DateTime = Date | `${number}-${number}-${number}` | `${number}-${number}-${number}${" " | "T"}${number}:${number}:${number}${"" | "Z"}`;
242
244
  }
@@ -1 +1 @@
1
- {"version":3,"file":"UtilityTypes.js","sourceRoot":"","sources":["../../../src/lib/core/UtilityTypes.ts"],"names":[],"mappings":";;AA4fC,CAAC"}
1
+ {"version":3,"file":"UtilityTypes.js","sourceRoot":"","sources":["../../../src/lib/core/UtilityTypes.ts"],"names":[],"mappings":";;AA8gBC,CAAC"}
@@ -22,6 +22,9 @@ export type TColumnsDecorator<T, Options extends {
22
22
  } = {}> = {
23
23
  [K in keyof T as T[K] extends string | number | null | boolean | Date | Record<string, unknown> ? K : never]: Options['InputQuery'] extends true ? T[K] | TOperatorQuery | TRawStringQuery | TFreezeStringQuery : T[K];
24
24
  };
25
+ export type TInputColumnsDecorator<T> = {
26
+ [K in keyof T as T[K] extends string | number | null | boolean | Date | Record<string, unknown> ? K : never]: T[K] | TRawStringQuery;
27
+ };
25
28
  export type TRelationsDecorator<T> = Pick<T, {
26
29
  [K in keyof T]: T[K] extends Model | Model[] ? K : never;
27
30
  }[keyof T]>;
@@ -299,9 +299,7 @@ export type TSchemaKeys<T> = keyof {
299
299
  };
300
300
  export type TRelationResults<T> = T extends Array<infer A> ? TRelationResults<A>[] : T extends {
301
301
  __isDefault: true;
302
- } ? TDefault<T extends {
303
- value: infer V;
304
- } ? V extends Date ? Date : V extends string ? string : V extends number ? number : V extends boolean ? boolean : V : string> : T extends Date ? T : T extends object ? {
302
+ } ? T extends infer V ? TRemoveDefault<V> : never : T extends Date ? T : T extends object ? {
305
303
  [K in keyof T as K extends `$${string}` ? never : K]: TRelationResults<T[K]>;
306
304
  } : T;
307
305
  export type TRelationKeys<T> = {
@@ -365,7 +363,7 @@ export type TLifecycle = "beforeInsert" | "afterInsert" | "beforeUpdate" | "afte
365
363
  export type TDeepOmit<T, Filter> = T extends infer ObjectType ? {
366
364
  [K in keyof ObjectType as K extends keyof Filter ? Filter[K] extends true ? never : K : NonNullable<ObjectType[K]> extends object ? (NonNullable<ObjectType[K]> extends Date ? K : never) : K]: K extends keyof Filter ? Filter[K] extends object ? TDeepOmit<NonNullable<ObjectType[K]>, Filter[K]> : ObjectType[K] : ObjectType[K];
367
365
  } : never;
368
- export type TDeepExpand<T> = T extends TDefault<infer U> ? TDefault<U extends boolean ? boolean : U extends number ? number : U extends string ? string : U> : T extends Date ? T : T extends Function ? T : T extends Model ? T : T extends (infer U)[] ? TDeepExpand<U>[] : T extends object ? {
366
+ export type TDeepExpand<T> = T extends TDefault<infer D> ? D : T extends Date ? T : T extends Function ? T : T extends Model ? T : T extends (infer U)[] ? TDeepExpand<U>[] : T extends object ? {
369
367
  [K in keyof T]: TDeepExpand<T[K]>;
370
368
  } : T;
371
369
  export type TResultResolved<M extends Model> = (unknown extends TResult<M> ? unknown extends TResultDecorator<M> ? Record<string, any> : {} extends TResultDecorator<M> ? Record<string, any> : TResultDecorator<M> : TResult<M>) extends infer $Resolved ? {
@@ -405,38 +403,41 @@ export type TStateWhereCondition = {
405
403
  condition?: 'AND' | 'OR';
406
404
  nested?: TStateWhereCondition[];
407
405
  };
408
- export type TDefault<T = any> = (T extends string ? string : T extends number ? number : T extends boolean ? boolean | number : T) & {
406
+ export type TDefault<T = any> = (string extends T ? string : boolean extends T ? boolean | number : number extends T ? number : Date extends T ? Date : `${T & string}` | null) & {
409
407
  __isDefault: true;
410
408
  };
411
409
  export type TRemoveDefault<T> = T extends TDefault<infer U> ? U : T;
412
- type CleanDefaultType<T> = T extends any ? NonNullable<T> extends Date ? T : NonNullable<T> extends Record<string, unknown> ? string : T extends {
410
+ type TCleanDefaultType<T> = T extends any ? NonNullable<T> extends Date ? T : NonNullable<T> extends Record<string, unknown> ? string : T extends {
413
411
  __isDefault: true;
414
- } ? (T extends string ? string : T extends number ? number : boolean) | null : T : never;
415
- type IsOptional<T> = null extends T ? true : (T extends any ? (T extends {
412
+ } ? TRemoveDefault<T> | null : T : never;
413
+ type TIsOptional<T> = null extends T ? true : undefined extends T ? true : (T extends any ? T extends {
416
414
  __isDefault: true;
417
- } ? true : never) : never) extends never ? false : true;
415
+ } ? true : never : never) extends never ? false : true;
418
416
  export type TInsertInput<K, C> = {
419
- [P in Exclude<K & keyof C, "id" | "_id" | "uuid"> as IsOptional<C[P]> extends true ? never : P]: CleanDefaultType<C[P]>;
417
+ [P in Exclude<K & keyof C, "id" | "_id" | "uuid"> as TIsOptional<C[P]> extends true ? never : P]: TCleanDefaultType<C[P]>;
420
418
  } & {
421
- [P in Exclude<K & keyof C, "id" | "_id" | "uuid"> as IsOptional<C[P]> extends true ? P : never]?: CleanDefaultType<C[P]>;
419
+ [P in Exclude<K & keyof C, "id" | "_id" | "uuid"> as TIsOptional<C[P]> extends true ? P : never]?: TCleanDefaultType<C[P]>;
422
420
  } & {
423
- [P in Extract<K & keyof C, "id" | "_id" | "uuid">]?: CleanDefaultType<C[P]>;
421
+ [P in Extract<K & keyof C, "id" | "_id" | "uuid">]?: TCleanDefaultType<C[P]>;
424
422
  };
425
423
  export type TUpdateInput<K, C> = {
426
424
  [P in Exclude<K & keyof C, "id" | "_id">]: {
427
- [Q in P]-?: CleanDefaultType<C[Q]>;
425
+ [Q in P]-?: TCleanDefaultType<C[Q]>;
428
426
  } & {
429
- [Q in Exclude<K & keyof C, "id" | "_id" | P>]?: CleanDefaultType<C[Q]>;
427
+ [Q in Exclude<K & keyof C, "id" | "_id" | P>]?: TCleanDefaultType<C[Q]>;
430
428
  };
431
429
  }[Exclude<K & keyof C, "id" | "_id">];
432
430
  export type TInsertOrUpdateInput<K, C> = {
433
431
  [P in Extract<K, keyof C>]: {
434
- [Q in P]-?: CleanDefaultType<C[Q]>;
432
+ [Q in P]-?: TCleanDefaultType<C[Q]>;
435
433
  } & {
436
- [Q in Exclude<Extract<K, keyof C>, P>]?: CleanDefaultType<C[Q]>;
434
+ [Q in Exclude<Extract<K, keyof C>, P>]?: TCleanDefaultType<C[Q]>;
437
435
  };
438
436
  }[Extract<K, keyof C>];
439
437
  export type TAction = "create" | "createMany" | "createNotExists" | "createOrSelect" | "createOrUpdate" | "update" | "updateMany" | null;
440
438
  export type TSaveBuilderResult<A extends TAction> = A extends "create" ? Record<string, any> : A extends "createMany" ? Record<string, any>[] : A extends "createNotExists" ? Record<string, any> | null : A extends "createOrUpdate" ? Record<string, any> : A extends "createOrSelect" ? Record<string, any> : A extends "update" ? Record<string, any> | null : A extends "updateMany" ? Record<string, any>[] : any;
441
439
  export type TSaveModelResult<M extends Model<any, any, any>, A extends TAction> = A extends "create" ? T.InsertResult<M> : A extends "createMany" ? T.InsertManyResult<M> : A extends "createNotExists" ? T.InsertResult<M> | null : A extends "createOrUpdate" ? T.Result<M> : A extends "createOrSelect" ? T.Result<M> : A extends "update" ? T.UpdateResult<M> : A extends "updateMany" ? T.UpdateManyResult<M> : T.InsertResult<M> | T.InsertManyResult<M> | T.UpdateResult<M> | T.UpdateManyResult<M> | T.Result<M>;
440
+ export type TAnyKeys = {
441
+ [customKey: string]: unknown;
442
+ };
442
443
  export {};
@@ -1,6 +1,6 @@
1
1
  import { Model } from "../../core/Model";
2
2
  import type { T } from "../../core";
3
- import type { TConnection, TConnectionTransaction, TNestedBoolean, TRawStringQuery, TRelationKeys, TSchemaKeys } from "..";
3
+ import type { TConnection, TConnectionTransaction, TFreezeStringQuery, TNestedBoolean, TOperatorQuery, TRawStringQuery, TRelationKeys, TSchemaKeys } from "..";
4
4
  import type { TColumnsDecorator, TRelationsDecorator } from "../decorator";
5
5
  export type TRepositorySelect<T = unknown, R = unknown, M extends Model = Model> = [unknown, unknown] extends [T, R] ? keyof TColumnsDecorator<M> extends never ? TNestedBoolean : Partial<{
6
6
  [K in keyof TColumnsDecorator<M> | keyof TRelationsDecorator<M>]: K extends `${string}.${string}` | TRawStringQuery ? boolean : K extends keyof TRelationsDecorator<M> ? M[K] extends (infer U)[] ? U extends Model ? "*" | TRepositorySelect<any, unknown, U> : boolean : M[K] extends Model ? "*" | TRepositorySelect<any, unknown, M[K]> : boolean : K extends keyof TColumnsDecorator<M> ? boolean : boolean;
@@ -13,9 +13,9 @@ export type TRepositoryExcept<T = unknown, R = unknown, M extends Model = Model>
13
13
  [K in TSchemaKeys<T> | TRelationKeys<R>]: K extends TRelationKeys<R> ? K extends TRawStringQuery | `${string}.${string}` ? boolean : K extends `$${string & K}` ? R extends Record<string, any> ? boolean : never : R extends Record<string, any> ? R[`$${string & K}`] extends (infer U)[] ? U extends Model ? TRepositoryExcept<T.SchemaModel<U>, T.RelationModel<U>> : never : R[`$${K & string}`] extends Model ? TRepositoryExcept<T.SchemaModel<R[`$${K & string}`]>, T.RelationModel<R[`$${K & string}`]>> : never : never : K extends keyof T ? boolean : never;
14
14
  }>;
15
15
  export type TRepositoryWhere<T = unknown, R = unknown, M extends Model = Model> = [unknown, unknown] extends [T, R] ? keyof TColumnsDecorator<M> extends never ? Record<string, any> : Partial<{
16
- [K in keyof TColumnsDecorator<M> | keyof TRelationsDecorator<M> | `${string}.${string}` | TRawStringQuery]: K extends keyof TRelationsDecorator<M> ? TRelationsDecorator<M>[K] extends (infer U)[] ? U extends Model ? TRepositoryWhere<any, unknown, U> | boolean : never : TRelationsDecorator<M>[K] extends Model ? TRepositoryWhere<any, unknown, TRelationsDecorator<M>[K]> | boolean : never : K extends keyof TColumnsDecorator<M> ? TColumnsDecorator<M>[K] : never;
16
+ [K in keyof TColumnsDecorator<M> | keyof TRelationsDecorator<M> | `${string}.${string}` | TRawStringQuery]: K extends keyof TRelationsDecorator<M> ? TRelationsDecorator<M>[K] extends (infer U)[] ? U extends Model ? TRepositoryWhere<any, unknown, U> | boolean : never : TRelationsDecorator<M>[K] extends Model ? TRepositoryWhere<any, unknown, TRelationsDecorator<M>[K]> | boolean : never : K extends keyof TColumnsDecorator<M> ? TColumnsDecorator<M>[K] | TOperatorQuery | TRawStringQuery | TFreezeStringQuery : never;
17
17
  }> : Partial<{
18
- [K in TSchemaKeys<T> | TRelationKeys<R> | `${string}.${string}` | TRawStringQuery]: K extends TRelationKeys<R> ? K extends `$${string & K}` ? R extends Record<string, any> ? R[K] : never : R extends Record<string, any> ? R[`$${string & K}`] extends (infer U)[] ? U extends Model ? TRepositoryWhere<T.SchemaModel<U>, T.RelationModel<U>, M> | boolean : never : R[`$${K & string}`] extends Model ? TRepositoryWhere<T.SchemaModel<R[`$${K & string}`]>, T.RelationModel<R[`$${K & string}`]>, M> | boolean : never : never : K extends keyof T ? T[K] : never;
18
+ [K in TSchemaKeys<T> | TRelationKeys<R> | `${string}.${string}` | TRawStringQuery]: K extends TRelationKeys<R> ? K extends `$${string & K}` ? R extends Record<string, any> ? R[K] : never : R extends Record<string, any> ? R[`$${string & K}`] extends (infer U)[] ? U extends Model ? TRepositoryWhere<T.SchemaModel<U>, T.RelationModel<U>, M> | boolean : never : R[`$${K & string}`] extends Model ? TRepositoryWhere<T.SchemaModel<R[`$${K & string}`]>, T.RelationModel<R[`$${K & string}`]>, M> | boolean : never : never : K extends keyof T ? T[K] | TOperatorQuery | TRawStringQuery | TFreezeStringQuery : never;
19
19
  }>;
20
20
  export type TRepositoryOrderBy<T = unknown, R = unknown, M extends Model = Model> = [unknown, unknown] extends [T, R] ? keyof TColumnsDecorator<M> extends never ? Record<string, "ASC" | "DESC"> : Partial<{
21
21
  [K in keyof TColumnsDecorator<M> | keyof TRelationsDecorator<M>]: K extends `${string}.${string}` | TRawStringQuery ? "ASC" | "DESC" : K extends keyof TRelationsDecorator<M> ? M[K] extends (infer U)[] ? U extends Model ? TRepositoryOrderBy<any, unknown, U> : never : M[K] extends Model ? TRepositoryOrderBy<any, unknown, M[K]> : never : K extends keyof TColumnsDecorator<M> ? "ASC" | "DESC" : never;
@@ -1,3 +1,4 @@
1
+ import { T } from "..";
1
2
  import { TStateWhereCondition } from "../types";
2
3
  declare const utils: {
3
4
  typeOf: (data: any) => string;
@@ -5,9 +6,9 @@ declare const utils: {
5
6
  consoleDebug: (sql?: string, retry?: boolean) => void;
6
7
  consoleExec: (startTime: number, endTime: number) => void;
7
8
  consoleCache: (provider: Record<string, any>) => void;
8
- faker: (value: string) => string | number | boolean;
9
+ faker: (value: string) => string | number | boolean | Date;
9
10
  columnRelation: (name: string) => string;
10
- timestamp: (dateString?: string | Date) => string;
11
+ timestamp: (dateString?: string | Date) => T.DateTime;
11
12
  date: (value?: Date) => string;
12
13
  escape: (v: any, hard?: boolean) => any;
13
14
  escapeActions: (v: any) => any;
@@ -61,6 +62,7 @@ declare const utils: {
61
62
  }[];
62
63
  formatQueryValue: (v: any) => any;
63
64
  bindingParameters: (sql: string, parameters?: (boolean | number | string | any[] | null)[]) => string;
65
+ shallowClone: (value: any) => any;
64
66
  };
65
67
  export type TUtils = typeof utils;
66
68
  export { utils };
@@ -473,6 +473,21 @@ const bindingParameters = (sql, parameters = []) => {
473
473
  }
474
474
  return bindSql;
475
475
  };
476
+ const shallowClone = (value) => {
477
+ if (typeOf(value) === 'object') {
478
+ return { ...value };
479
+ }
480
+ if (typeOf(value) === 'array') {
481
+ const values = [];
482
+ for (const v of value) {
483
+ values.push(typeOf(v) === "object"
484
+ ? { ...v }
485
+ : v);
486
+ }
487
+ return values;
488
+ }
489
+ return value;
490
+ };
476
491
  const utils = {
477
492
  typeOf,
478
493
  isDate,
@@ -506,7 +521,8 @@ const utils = {
506
521
  hash32,
507
522
  nestConditions,
508
523
  formatQueryValue,
509
- bindingParameters
524
+ bindingParameters,
525
+ shallowClone
510
526
  };
511
527
  exports.utils = utils;
512
528
  exports.default = utils;