tspace-mysql 1.9.2 → 1.9.3-beta.1
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 +142 -17
- package/dist/lib/core/Abstracts/AbstractBuilder.d.ts +0 -1
- package/dist/lib/core/Abstracts/AbstractBuilder.js.map +1 -1
- package/dist/lib/core/Blueprint.d.ts +43 -10
- package/dist/lib/core/Blueprint.js +43 -2
- package/dist/lib/core/Blueprint.js.map +1 -1
- package/dist/lib/core/Builder.d.ts +5 -5
- package/dist/lib/core/Builder.js +15 -12
- package/dist/lib/core/Builder.js.map +1 -1
- package/dist/lib/core/Cache/MemoryCache.js +9 -4
- package/dist/lib/core/Cache/MemoryCache.js.map +1 -1
- package/dist/lib/core/Contracts/Audit.d.ts +2 -2
- package/dist/lib/core/Contracts/Logger.d.ts +2 -2
- package/dist/lib/core/Model.d.ts +169 -29
- package/dist/lib/core/Model.js +153 -4
- package/dist/lib/core/Model.js.map +1 -1
- package/dist/lib/core/{Queue.d.ts → Queue/index.d.ts} +87 -90
- package/dist/lib/core/Queue/index.js +282 -0
- package/dist/lib/core/Queue/index.js.map +1 -0
- package/dist/lib/core/Queue/types.d.ts +31 -0
- package/dist/lib/core/Queue/types.js +3 -0
- package/dist/lib/core/Queue/types.js.map +1 -0
- package/dist/lib/core/Queue/worker.d.ts +102 -0
- package/dist/lib/core/{Queue.js → Queue/worker.js} +133 -268
- package/dist/lib/core/Queue/worker.js.map +1 -0
- package/dist/lib/core/Repository.d.ts +40 -20
- package/dist/lib/core/Repository.js +35 -14
- package/dist/lib/core/Repository.js.map +1 -1
- package/dist/lib/core/UtilityTypes.d.ts +9 -7
- package/dist/lib/core/UtilityTypes.js.map +1 -1
- package/dist/lib/types/decorator/index.d.ts +3 -0
- package/dist/lib/types/index.d.ts +17 -16
- package/dist/lib/types/repository/index.d.ts +3 -3
- package/dist/lib/utils/index.d.ts +4 -2
- package/dist/lib/utils/index.js +17 -1
- package/dist/lib/utils/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/lib/core/Queue.js.map +0 -1
|
@@ -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 '
|
|
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
|
|
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
|
-
* @
|
|
260
|
+
* @return {promise<any[]>}
|
|
260
261
|
*/
|
|
261
|
-
|
|
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
|
-
*
|
|
265
|
+
* The 'toAsyncIterable' method is used to execute a database query and return the result set as an asynchronous iterable.
|
|
266
266
|
*
|
|
267
|
-
* It
|
|
268
|
-
*
|
|
269
|
-
* @type {?
|
|
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
|
-
* @
|
|
286
|
-
*
|
|
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
|
-
|
|
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<
|
|
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 '
|
|
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
|
|
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
|
-
* @
|
|
293
|
+
* @return {promise<any[]>}
|
|
293
294
|
*/
|
|
294
|
-
async
|
|
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.
|
|
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
|
-
*
|
|
303
|
+
* The 'toAsyncIterable' method is used to execute a database query and return the result set as an asynchronous iterable.
|
|
304
304
|
*
|
|
305
|
-
* It
|
|
306
|
-
*
|
|
307
|
-
* @type {?
|
|
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
|
-
* @
|
|
324
|
-
*
|
|
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
|
|
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
|
-
|
|
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":";;
|
|
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
|
-
} ?
|
|
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
|
|
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> = (
|
|
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
|
|
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
|
-
} ?
|
|
415
|
-
type
|
|
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
|
|
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
|
|
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
|
|
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">]?:
|
|
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]-?:
|
|
425
|
+
[Q in P]-?: TCleanDefaultType<C[Q]>;
|
|
428
426
|
} & {
|
|
429
|
-
[Q in Exclude<K & keyof C, "id" | "_id" | P>]?:
|
|
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]-?:
|
|
432
|
+
[Q in P]-?: TCleanDefaultType<C[Q]>;
|
|
435
433
|
} & {
|
|
436
|
-
[Q in Exclude<Extract<K, keyof C>, P>]?:
|
|
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) =>
|
|
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 };
|
package/dist/lib/utils/index.js
CHANGED
|
@@ -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;
|