tspace-mysql 1.9.1 → 1.9.3

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 (86) hide show
  1. package/README.md +269 -24
  2. package/dist/lib/core/Abstracts/AbstractBuilder.d.ts +16 -16
  3. package/dist/lib/core/Abstracts/AbstractBuilder.js.map +1 -1
  4. package/dist/lib/core/Abstracts/AbstractDB.d.ts +1 -1
  5. package/dist/lib/core/Abstracts/AbstractModel.d.ts +7 -2
  6. package/dist/lib/core/Abstracts/AbstractModel.js.map +1 -1
  7. package/dist/lib/core/Blueprint.d.ts +14 -14
  8. package/dist/lib/core/Blueprint.js +2 -4
  9. package/dist/lib/core/Blueprint.js.map +1 -1
  10. package/dist/lib/core/Builder.d.ts +52 -34
  11. package/dist/lib/core/Builder.js +76 -44
  12. package/dist/lib/core/Builder.js.map +1 -1
  13. package/dist/lib/core/Cache/MemoryCache.js +9 -4
  14. package/dist/lib/core/Cache/MemoryCache.js.map +1 -1
  15. package/dist/lib/core/Cache/index.js +32 -13
  16. package/dist/lib/core/Cache/index.js.map +1 -1
  17. package/dist/lib/core/Contracts/Audit.d.ts +4 -4
  18. package/dist/lib/core/Contracts/Audit.js.map +1 -1
  19. package/dist/lib/core/Contracts/Logger.d.ts +3 -3
  20. package/dist/lib/core/Contracts/Logger.js.map +1 -1
  21. package/dist/lib/core/DB.d.ts +2 -2
  22. package/dist/lib/core/DB.js +6 -19
  23. package/dist/lib/core/DB.js.map +1 -1
  24. package/dist/lib/core/Driver/index.d.ts +7 -5
  25. package/dist/lib/core/Driver/index.js +4 -2
  26. package/dist/lib/core/Driver/index.js.map +1 -1
  27. package/dist/lib/core/Driver/mariadb/MariadbDriver.js +14 -6
  28. package/dist/lib/core/Driver/mariadb/MariadbDriver.js.map +1 -1
  29. package/dist/lib/core/Driver/mariadb/MariadbQueryBuilder.d.ts +3 -3
  30. package/dist/lib/core/Driver/mariadb/MariadbQueryBuilder.js +24 -7
  31. package/dist/lib/core/Driver/mariadb/MariadbQueryBuilder.js.map +1 -1
  32. package/dist/lib/core/Driver/mongodb/MongodbDriver.js +18 -12
  33. package/dist/lib/core/Driver/mongodb/MongodbDriver.js.map +1 -1
  34. package/dist/lib/core/Driver/mongodb/MongodbQueryBuilder.d.ts +3 -3
  35. package/dist/lib/core/Driver/mongodb/MongodbQueryBuilder.js +9 -1
  36. package/dist/lib/core/Driver/mongodb/MongodbQueryBuilder.js.map +1 -1
  37. package/dist/lib/core/Driver/mysql/MysqlDriver.js +15 -7
  38. package/dist/lib/core/Driver/mysql/MysqlDriver.js.map +1 -1
  39. package/dist/lib/core/Driver/mysql/MysqlQueryBuilder.d.ts +3 -3
  40. package/dist/lib/core/Driver/mysql/MysqlQueryBuilder.js +24 -7
  41. package/dist/lib/core/Driver/mysql/MysqlQueryBuilder.js.map +1 -1
  42. package/dist/lib/core/Driver/postgres/PostgresDriver.js +14 -6
  43. package/dist/lib/core/Driver/postgres/PostgresDriver.js.map +1 -1
  44. package/dist/lib/core/Driver/postgres/PostgresQueryBuilder.d.ts +3 -3
  45. package/dist/lib/core/Driver/postgres/PostgresQueryBuilder.js +22 -7
  46. package/dist/lib/core/Driver/postgres/PostgresQueryBuilder.js.map +1 -1
  47. package/dist/lib/core/Driver/sqlite/SqliteDriver.d.ts +1 -0
  48. package/dist/lib/core/Driver/sqlite/SqliteDriver.js +25 -4
  49. package/dist/lib/core/Driver/sqlite/SqliteDriver.js.map +1 -1
  50. package/dist/lib/core/Driver/sqlite/SqliteQueryBuilder.d.ts +2 -0
  51. package/dist/lib/core/Driver/sqlite/SqliteQueryBuilder.js +27 -21
  52. package/dist/lib/core/Driver/sqlite/SqliteQueryBuilder.js.map +1 -1
  53. package/dist/lib/core/Join.d.ts +63 -5
  54. package/dist/lib/core/Join.js +92 -15
  55. package/dist/lib/core/Join.js.map +1 -1
  56. package/dist/lib/core/JoinModel.d.ts +65 -9
  57. package/dist/lib/core/JoinModel.js +79 -50
  58. package/dist/lib/core/JoinModel.js.map +1 -1
  59. package/dist/lib/core/Meta.d.ts +7 -7
  60. package/dist/lib/core/Meta.js +10 -9
  61. package/dist/lib/core/Meta.js.map +1 -1
  62. package/dist/lib/core/Model.d.ts +225 -57
  63. package/dist/lib/core/Model.js +376 -90
  64. package/dist/lib/core/Model.js.map +1 -1
  65. package/dist/lib/core/Queue.d.ts +36 -7
  66. package/dist/lib/core/Queue.js +69 -29
  67. package/dist/lib/core/Queue.js.map +1 -1
  68. package/dist/lib/core/RelationManager.d.ts +4 -4
  69. package/dist/lib/core/RelationManager.js +141 -16
  70. package/dist/lib/core/RelationManager.js.map +1 -1
  71. package/dist/lib/core/Repository.d.ts +1 -1
  72. package/dist/lib/core/Repository.js +5 -1
  73. package/dist/lib/core/Repository.js.map +1 -1
  74. package/dist/lib/core/Schema.d.ts +13 -13
  75. package/dist/lib/core/Schema.js +12 -0
  76. package/dist/lib/core/Schema.js.map +1 -1
  77. package/dist/lib/core/StateManager.d.ts +6 -0
  78. package/dist/lib/core/StateManager.js +1 -0
  79. package/dist/lib/core/StateManager.js.map +1 -1
  80. package/dist/lib/core/UtilityTypes.d.ts +69 -76
  81. package/dist/lib/core/UtilityTypes.js.map +1 -1
  82. package/dist/lib/types/index.d.ts +55 -9
  83. package/dist/lib/utils/index.d.ts +3 -1
  84. package/dist/lib/utils/index.js +42 -3
  85. package/dist/lib/utils/index.js.map +1 -1
  86. package/package.json +1 -1
@@ -217,11 +217,7 @@ declare class Schema {
217
217
  * })
218
218
  * .listen(8000)
219
219
  */
220
- create: <O extends T.ColumnKeys<M, {
221
- OnlyColumn: true;
222
- }>[] = [], Opt extends T.ColumnKeys<M, {
223
- OnlyColumn: true;
224
- }>[] = []>(options?: {
220
+ create: <O extends T.ColumnKeys<M>[] = [], Opt extends T.ColumnKeys<M>[] = []>(options?: {
225
221
  omit?: O;
226
222
  optional?: Opt;
227
223
  } & T.NoConflict<O, Opt>) => z.ZodObject<T.ZodShapeCreate<M, O, Opt>, z.core.$strip>;
@@ -252,11 +248,7 @@ declare class Schema {
252
248
  * })
253
249
  * .listen(8000)
254
250
  */
255
- update: <R extends T.ColumnKeys<M, {
256
- OnlyColumn: true;
257
- }>[] = [], O extends T.ColumnKeys<M, {
258
- OnlyColumn: true;
259
- }>[] = []>(options?: {
251
+ update: <R extends T.ColumnKeys<M>[] = [], O extends T.ColumnKeys<M>[] = []>(options?: {
260
252
  required?: R;
261
253
  omit?: O;
262
254
  } & T.NoConflict<R, O>) => z.ZodObject<T.ZodShapeUpdate<M, R, O>, z.core.$strip>;
@@ -319,7 +311,11 @@ declare class Schema {
319
311
  * })
320
312
  * .listen(8000)
321
313
  */
322
- create: <O extends (keyof import("../types/decorator").TColumnsDecorator<M, {}> extends never ? import("./UtilityTypes").TSchemaKeyOf<M, ReturnType<M["typeOfSchema"]>> : keyof import("../types/decorator").TColumnsDecorator<M, {}>)[] = [], Opt extends (keyof import("../types/decorator").TColumnsDecorator<M, {}> extends never ? import("./UtilityTypes").TSchemaKeyOf<M, ReturnType<M["typeOfSchema"]>> : keyof import("../types/decorator").TColumnsDecorator<M, {}>)[] = []>(options?: ({
314
+ create: <O extends T.ColumnKeys<M, {
315
+ InputQuery: true;
316
+ }>[] = [], Opt extends T.ColumnKeys<M, {
317
+ InputQuery: true;
318
+ }>[] = []>(options?: ({
323
319
  omit?: O | undefined;
324
320
  optional?: Opt | undefined;
325
321
  } & T.NoConflict<O, Opt>) | undefined) => z.ZodObject<T.ZodShapeCreate<M, O, Opt>, z.core.$strip>;
@@ -350,7 +346,11 @@ declare class Schema {
350
346
  * })
351
347
  * .listen(8000)
352
348
  */
353
- update: <R extends (keyof import("../types/decorator").TColumnsDecorator<M, {}> extends never ? import("./UtilityTypes").TSchemaKeyOf<M, ReturnType<M["typeOfSchema"]>> : keyof import("../types/decorator").TColumnsDecorator<M, {}>)[] = [], O extends (keyof import("../types/decorator").TColumnsDecorator<M, {}> extends never ? import("./UtilityTypes").TSchemaKeyOf<M, ReturnType<M["typeOfSchema"]>> : keyof import("../types/decorator").TColumnsDecorator<M, {}>)[] = []>(options?: ({
349
+ update: <R extends T.ColumnKeys<M, {
350
+ InputQuery: true;
351
+ }>[] = [], O extends T.ColumnKeys<M, {
352
+ InputQuery: true;
353
+ }>[] = []>(options?: ({
354
354
  required?: R | undefined;
355
355
  omit?: O | undefined;
356
356
  } & T.NoConflict<R, O>) | undefined) => z.ZodObject<T.ZodShapeUpdate<M, R, O>, z.core.$strip>;
@@ -362,7 +362,7 @@ declare class Schema {
362
362
  private _definitionSchema;
363
363
  private _import;
364
364
  protected syncExecute({ models, force, log, foreign, changed, index, }: {
365
- models: (Model | null)[];
365
+ models: (Model<any, any, any> | null)[];
366
366
  force: boolean;
367
367
  log: boolean;
368
368
  foreign: boolean;
@@ -32,6 +32,9 @@ var __importStar = (this && this.__importStar) || (function () {
32
32
  return result;
33
33
  };
34
34
  })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
35
38
  Object.defineProperty(exports, "__esModule", { value: true });
36
39
  exports.Schema = void 0;
37
40
  const zod_1 = require("zod");
@@ -39,6 +42,7 @@ const Builder_1 = require("./Builder");
39
42
  const Package_1 = require("./Package");
40
43
  ;
41
44
  const AlterTable_1 = require("./Contracts/AlterTable");
45
+ const DB_1 = __importDefault(require("./DB"));
42
46
  class Schema {
43
47
  $db = new Builder_1.Builder();
44
48
  table = async (table, schemas) => {
@@ -555,6 +559,10 @@ class Schema {
555
559
  return;
556
560
  }
557
561
  async _syncForeignKey({ schemaModel, model, log, }) {
562
+ if (DB_1.default.driver() === 'sqlite') {
563
+ console.log(`\n\x1b[33mWARNING: SQLite does not support ALTER TABLE ADD FOREIGN KEY.\x1b[0m`);
564
+ return;
565
+ }
558
566
  for (const key in schemaModel) {
559
567
  if (schemaModel[key]?.foreignKey == null)
560
568
  continue;
@@ -737,6 +745,10 @@ class Schema {
737
745
  }
738
746
  }
739
747
  async _syncChangeColumn({ schemaModel, model, log, }) {
748
+ if (DB_1.default.driver() === 'sqlite') {
749
+ console.log(`\n\x1b[33mWARNING: SQLite does not support ALTER TABLE CHANGE COLUMN\x1b[0m`);
750
+ return;
751
+ }
740
752
  const schemaTable = await model.getSchema();
741
753
  const query = model["_queryBuilder"]();
742
754
  const isChangeType = ({ typeTable, typeSchema, }) => {
@@ -1 +1 @@
1
- {"version":3,"file":"Schema.js","sourceRoot":"","sources":["../../../src/lib/core/Schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Schema.js","sourceRoot":"","sources":["../../../src/lib/core/Schema.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { Blueprint } from "./Blueprint";
2
+ import { Model } from "./Model";
2
3
  import type { TPattern, TRelationOptions, TSave, TStateWhereCondition, TValidateSchema } from "../types";
3
4
  declare const STATE_DEFAULT: {
4
5
  readonly PRIMARY_KEY: string;
@@ -138,6 +139,11 @@ declare const STATE_MODEL: {
138
139
  readonly LIFECYCLE_AFTER_REMOVES: Function[];
139
140
  readonly ON_CREATED_TABLE: Function | null;
140
141
  readonly ON_SYNC_TABLE: Function | null;
142
+ readonly OF_MANY: {
143
+ column: string;
144
+ aggregate: "MAX" | "MIN";
145
+ query: Model | null;
146
+ } | null;
141
147
  readonly PRIMARY_KEY: string;
142
148
  readonly VOID: boolean;
143
149
  readonly DISTINCT: boolean;
@@ -89,6 +89,7 @@ const STATE_MODEL = {
89
89
  LIFECYCLE_AFTER_REMOVES: [],
90
90
  ON_CREATED_TABLE: null,
91
91
  ON_SYNC_TABLE: null,
92
+ OF_MANY: null
92
93
  };
93
94
  class StateManager {
94
95
  STATE = {
@@ -1 +1 @@
1
- {"version":3,"file":"StateManager.js","sourceRoot":"","sources":["../../../src/lib/core/StateManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StateManager.js","sourceRoot":"","sources":["../../../src/lib/core/StateManager.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { Blueprint } from "./Blueprint";
2
2
  import { Model } from "./Model";
3
3
  import { Repository } from "./Repository";
4
- import type { TDeepExpand, TResultResolved, TFreezeStringQuery, TIsEnum, TOperatorQuery, TPagination, TRawStringQuery, TRelationKeys, TRelationResults, TSelectionMerger, TDeepOmit, TConflictKeys } from "../types";
4
+ import type { TDeepExpand, TResultResolved, TFreezeStringQuery, TIsEnum, TOperatorQuery, TPagination, TRawStringQuery, TRelationKeys, TRelationResults, TSelectionMerger, TDeepOmit, TConflictKeys, TInsertInput, TUpdateInput, TInsertOrUpdateInput, TDefault, TRemoveDefault, TAnyKeys } from "../types";
5
5
  import type { TColumnsDecorator, TRelationsDecorator } from "../types/decorator";
6
6
  import type { TRepositoryCreate, TRepositoryCreateMultiple, TRepositoryCreateOrThings, TRepositoryDelete, TRepositoryExcept, TRepositoryExtendType, TRepositoryGroupBy, TRepositoryOrderBy, TRepositoryPrimitiveExtendType, TRepositoryRelation, TRepositoryRequest, TRepositorySelect, TRepositoryUpdate, TRepositoryUpdateMultiple, TRepositoryWhere } from "../types/repository";
7
7
  import { z } from "zod";
@@ -91,7 +91,7 @@ export type TRelation<R> = {
91
91
  * }
92
92
  *
93
93
  */
94
- export type TSchemaModel<M extends Model> = ReturnType<M['typeOfSchema']>;
94
+ export type TSchemaModel<M extends Model<any, any, any>> = ReturnType<M['typeOfSchema']>;
95
95
  /**
96
96
  * The 'TRelationModel' type is used to get type of schema in the model
97
97
  * @generic {Model} M Model
@@ -109,18 +109,18 @@ export type TSchemaModel<M extends Model> = ReturnType<M['typeOfSchema']>;
109
109
  * }
110
110
  *
111
111
  */
112
- export type TRelationModel<M extends Model> = ReturnType<M['typeOfRelation']>;
112
+ export type TRelationModel<M extends Model<any, any, any>> = ReturnType<M['typeOfRelation']>;
113
113
  /**
114
114
  * The 'TResult' type is used to get type of result from model
115
115
  * @generic {Model} M Model
116
116
  */
117
- export type TResult<M extends Model> = TRelationResults<TRelationModel<M>> & TSchemaModel<M>;
117
+ export type TResult<M extends Model<any, any, any>> = TRelationResults<TRelationModel<M>> & TSchemaModel<M>;
118
118
  /**
119
119
  * The 'TPaginateResult' type is used to get type of result from model using paginate , pagination
120
120
  * @generic {Model} M Model
121
121
  */
122
- export type TPaginateResult<M extends Model> = TPagination<TRelationResults<TRelationModel<M>> & TSchemaModel<M>>;
123
- export type TSchemaKeyOf<M extends Model, T = TSchemaModel<M>> = keyof {
122
+ export type TPaginateResult<M extends Model<any, any, any>> = TPagination<TRelationResults<TRelationModel<M>> & TSchemaModel<M>>;
123
+ export type TSchemaKeyOf<M extends Model<any, any, any>, T = TSchemaModel<M>> = keyof {
124
124
  [K in keyof T as string extends K ? never : K]: T[K];
125
125
  } extends never ? string : keyof {
126
126
  [K in keyof T as string extends K ? never : K]: T[K];
@@ -128,9 +128,9 @@ export type TSchemaKeyOf<M extends Model, T = TSchemaModel<M>> = keyof {
128
128
  export declare namespace T {
129
129
  type Schema<T, S = {}> = T extends Model ? TSchemaModel<T> : TSchema<T, S>;
130
130
  type Relation<R> = TRelation<R>;
131
- type SchemaModel<M extends Model> = keyof TColumnsDecorator<M> extends never ? TDeepExpand<TSchemaModel<M>> : TDeepExpand<TColumnsDecorator<M>>;
132
- type RelationModel<M extends Model> = keyof TColumnsDecorator<M> extends never ? TDeepExpand<TRelationModel<M>> : TDeepExpand<TRelationsDecorator<M>>;
133
- type Repository<M extends Model> = ReturnType<typeof Repository<M>>;
131
+ type SchemaModel<M extends Model<any, any, any>> = keyof TColumnsDecorator<M> extends never ? TDeepExpand<TSchemaModel<M>> : TDeepExpand<TColumnsDecorator<M>>;
132
+ type RelationModel<M extends Model<any, any, any>> = keyof TColumnsDecorator<M> extends never ? TDeepExpand<TRelationModel<M>> : TDeepExpand<TRelationsDecorator<M>>;
133
+ type Repository<M extends Model<any, any, any>> = ReturnType<typeof Repository<M>>;
134
134
  type ResultFiltered<M extends Model, S = undefined, // selected by columns
135
135
  SR = undefined, // selected by relations
136
136
  E = undefined, // excepted by omit columns
@@ -153,95 +153,88 @@ export declare namespace T {
153
153
  } : SRS extends undefined ? S : S & {
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
- type PaginateResultFiltered<M extends Model, K = {}, S = undefined, SR = undefined, E = undefined, SRS = undefined> = TDeepExpand<TPagination<ResultFiltered<M, K, S, SR, E, SRS>>>;
157
- type Result<M extends Model, K = {}> = TDeepExpand<TResultResolved<M> & K> & {
158
- [customKey: string]: unknown;
159
- };
160
- type PaginateResult<M extends Model, K = {}> = TDeepExpand<TPagination<Result<M, K>>>;
161
- type InsertResult<M extends Model> = TDeepExpand<TResultResolved<M>>;
162
- type InsertManyResult<M extends Model> = TDeepExpand<TResultResolved<M>>[];
163
- type InsertNotExistsResult<M extends Model> = TDeepExpand<TResultResolved<M>> | null;
164
- type UpdateResult<M extends Model> = TDeepExpand<TResultResolved<M>> | null;
165
- type UpdateManyResult<M extends Model> = TDeepExpand<TResultResolved<M>>[];
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 & TAnyKeys>;
158
+ type PaginateResult<M extends Model<any, any, any>, K = {}> = TDeepExpand<TPagination<Result<M, K>>>;
159
+ type InsertResult<M extends Model<any, any, any>> = TDeepExpand<TResultResolved<M>>;
160
+ type InsertManyResult<M extends Model<any, any, any>> = TDeepExpand<TResultResolved<M>>[];
161
+ type InsertNotExistsResult<M extends Model<any, any, any>> = TDeepExpand<TResultResolved<M>> | null;
162
+ type UpdateResult<M extends Model<any, any, any>> = TDeepExpand<TResultResolved<M>> | null;
163
+ type UpdateManyResult<M extends Model<any, any, any>> = TDeepExpand<TResultResolved<M>>[];
166
164
  type DeleteResult = boolean;
167
- type InsertInput<K, C> = {
168
- [P in Exclude<K & keyof C, "id" | "_id" | "uuid"> as null extends C[P] ? never : P]: C[P] extends Date ? any : C[P] extends Record<string, unknown> ? string : C[P];
169
- } & {
170
- [P in Exclude<K & keyof C, "id" | "_id" | "uuid"> as null extends C[P] ? P : never]?: C[P] extends Date ? any : C[P] extends Record<string, unknown> ? string : C[P];
171
- } & {
172
- [P in Extract<K & keyof C, "id" | "_id" | "uuid">]?: C[P] extends Date ? any : C[P] extends Record<string, unknown> ? string : C[P];
173
- };
174
- type UpdateInput<K, C> = {
175
- [P in Exclude<K & keyof C, "id" | "_id">]: {
176
- [Q in P]-?: Q extends "uuid" ? string : C[Q] extends Date ? any : C[Q] extends Record<string, unknown> ? string : C[Q];
177
- } & {
178
- [Q in Exclude<K & keyof C, "id" | "_id" | P>]?: Q extends "uuid" ? string : C[Q] extends Date ? any : C[Q] extends Record<string, unknown> ? string : C[Q];
179
- };
180
- }[Exclude<K & keyof C, "id" | "_id">];
165
+ type InsertInput<K, C> = TInsertInput<K, C>;
166
+ type UpdateInput<K, C> = TUpdateInput<K, C>;
167
+ type InsertOrUpdateInput<K, C> = TInsertOrUpdateInput<K, C>;
181
168
  type NoConflict<R extends readonly PropertyKey[], O extends readonly PropertyKey[]> = TConflictKeys<R, O> extends never ? {} : {
182
169
  ERROR_DUPLICATE_KEYS: TConflictKeys<R, O>;
183
170
  };
184
- type ZodShapeCreate<M extends Model, O extends T.ColumnKeys<M, {
185
- OnlyColumn: true;
186
- }>[] = [], Opt extends T.ColumnKeys<M, {
187
- OnlyColumn: true;
188
- }>[] = []> = {
189
- [K in Extract<T.ColumnKeys<M, {
190
- OnlyColumn: true;
191
- }>, keyof Columns<M>> as K extends O[number] ? K extends Opt[number] ? K : never : K]: K extends Opt[number] ? z.ZodOptional<BlueprintToZod<Columns<M>[K]>> : BlueprintToZod<Columns<M>[K]>;
171
+ type ZodShapeCreate<M extends Model<any, any, any>, O extends T.ColumnKeys<M>[] = [], Opt extends T.ColumnKeys<M>[] = []> = {
172
+ [K in Extract<T.ColumnKeys<M>, keyof Columns<M>> as K extends O[number] ? K extends Opt[number] ? K : never : K]: K extends Opt[number] ? z.ZodOptional<BlueprintToZod<Columns<M>[K]>> : BlueprintToZod<Columns<M>[K]>;
192
173
  };
193
- type ZodShapeUpdate<M extends Model, R extends T.ColumnKeys<M, {
194
- OnlyColumn: true;
195
- }>[] = [], O extends T.ColumnKeys<M, {
196
- OnlyColumn: true;
197
- }>[] = []> = {
198
- [K in Extract<T.ColumnKeys<M, {
199
- OnlyColumn: true;
200
- }>, keyof Columns<M>> as K extends O[number] ? never : K]: K extends R[number] ? BlueprintToZod<Columns<M>[K]> : z.ZodOptional<BlueprintToZod<Columns<M>[K]>>;
174
+ type ZodShapeUpdate<M extends Model<any, any, any>, R extends T.ColumnKeys<M>[] = [], O extends T.ColumnKeys<M>[] = []> = {
175
+ [K in Extract<T.ColumnKeys<M>, keyof Columns<M>> as K extends O[number] ? never : K]: K extends R[number] ? BlueprintToZod<Columns<M>[K]> : z.ZodOptional<BlueprintToZod<Columns<M>[K]>>;
201
176
  };
202
177
  type BlueprintToZod<T> = T extends number ? z.ZodNumber : T extends string ? z.ZodString : T extends Date ? z.ZodDate : T extends null ? z.ZodNull : z.ZodTypeAny;
203
- type ColumnBlueprints<M extends Model> = {
178
+ type Raw<M extends Model<any, any, any>> = {
179
+ [K in keyof TSchemaModel<M>]: TSchemaModel<M>[K] | TOperatorQuery | TRawStringQuery | TFreezeStringQuery;
180
+ };
181
+ type ColumnBlueprints<M extends Model<any, any, any>> = {
204
182
  [K in keyof Columns<M, {
205
183
  InputQuery: true;
206
184
  }>]: Blueprint<Columns<M, {
207
185
  InputQuery: true;
208
186
  }>[K]>;
209
187
  };
210
- type Columns<M extends Model, Options extends {
188
+ type Columns<M extends Model<any, any, any>, Options extends {
211
189
  InputQuery?: boolean;
212
- } = {}> = TDeepExpand<keyof TColumnsDecorator<M> extends never ? {
213
- [K in keyof TSchemaModel<M>]: Options['InputQuery'] extends true ? TSchemaModel<M>[K] | TOperatorQuery | TRawStringQuery | TFreezeStringQuery : TSchemaModel<M>[K];
190
+ Default?: boolean;
191
+ } = {
192
+ InputQuery: false;
193
+ Default: false;
194
+ }> = TDeepExpand<keyof TColumnsDecorator<M> extends never ? {
195
+ [K in keyof TSchemaModel<M>]: Options["InputQuery"] extends true ? (Options["Default"] extends false ? TRemoveDefault<TSchemaModel<M>[K]> : TSchemaModel<M>[K]) | TOperatorQuery | TRawStringQuery | TFreezeStringQuery : (Options["Default"] extends false ? TRemoveDefault<TSchemaModel<M>[K]> : TSchemaModel<M>[K]);
214
196
  } : TColumnsDecorator<M, Options>>;
215
- type ColumnKeys<M extends Model, Options extends {
216
- OnlyColumn?: boolean;
217
- } = {}> = (keyof TColumnsDecorator<M> extends never ? TSchemaKeyOf<M> : keyof TColumnsDecorator<M>) | (Options["OnlyColumn"] extends true ? never : `${string}.${string}` | TRawStringQuery | TFreezeStringQuery);
218
- type ColumnEnumMap<M extends Model> = keyof TColumnsDecorator<M> extends never ? {
197
+ type ColumnOptions<M extends Model<any, any, any>, Options extends {
198
+ InputQuery?: boolean;
199
+ Default?: boolean;
200
+ } = {
201
+ InputQuery: true;
202
+ }> = Columns<M, Options>;
203
+ type ColumnValue<M extends Model<any, any, any>, K extends T.ColumnKeys<M>, C extends T.ColumnOptions<M> = T.ColumnOptions<M, {
204
+ InputQuery: true;
205
+ Default: false;
206
+ }>> = K extends keyof C ? C[K] : any;
207
+ type ColumnKeys<M extends Model<any, any, any>, Options extends {
208
+ InputQuery?: boolean;
209
+ } = {
210
+ InputQuery: true;
211
+ }> = (keyof TColumnsDecorator<M> extends never ? TSchemaKeyOf<M> : keyof TColumnsDecorator<M>) | (Options["InputQuery"] extends true ? `${string}.${string}` | TRawStringQuery | TFreezeStringQuery : never);
212
+ type ColumnEnumMap<M extends Model<any, any, any>> = keyof TColumnsDecorator<M> extends never ? {
219
213
  [K in keyof TSchemaModel<M> as TIsEnum<NonNullable<TSchemaModel<M>[K]>> extends true ? K : never]: TSchemaModel<M>[K];
220
214
  } : {
221
215
  [K in keyof TColumnsDecorator<M> as TIsEnum<NonNullable<TColumnsDecorator<M>[K]>> extends true ? K : never]: TColumnsDecorator<M>[K];
222
216
  };
223
- type ColumnEnumKeys<M extends Model> = keyof TColumnsDecorator<M> extends never ? {
217
+ type ColumnEnumKeys<M extends Model<any, any, any>> = keyof TColumnsDecorator<M> extends never ? {
224
218
  [K in keyof TSchemaModel<M>]: TIsEnum<NonNullable<TSchemaModel<M>[K]>> extends true ? K : never;
225
219
  }[keyof TSchemaModel<M>] : {
226
220
  [K in keyof TColumnsDecorator<M>]: TIsEnum<NonNullable<TColumnsDecorator<M>[K]>> extends true ? K : never;
227
221
  }[keyof TColumnsDecorator<M>];
228
- type Relations<M extends Model> = keyof TColumnsDecorator<M> extends never ? TRelationModel<M> : TRelationsDecorator<M>;
229
- type RelationKeys<M extends Model> = (keyof TColumnsDecorator<M> extends never ? TRelationKeys<TRelationModel<M>> : keyof TRelationsDecorator<M>);
230
- type ColumnOptions<M extends Model> = Columns<M, {
231
- InputQuery: true;
232
- }>;
233
- type WhereOptions<M extends Model> = TRepositoryWhere<TSchemaModel<M>, TRelationModel<M>, M>;
234
- type SelectOptions<M extends Model> = TRepositorySelect<TSchemaModel<M>, TRelationModel<M>, M>;
235
- type ExceptOptions<M extends Model> = TRepositoryExcept<TSchemaModel<M>, TRelationModel<M>, M>;
236
- type OrderByOptions<M extends Model> = TRepositoryOrderBy<TSchemaModel<M>, TRelationModel<M>, M>;
237
- type GroupByOptions<M extends Model> = TRepositoryGroupBy<TSchemaModel<M>, TRelationModel<M>, M>;
238
- type RelationOptions<M extends Model> = TRepositoryRelation<TRelationModel<M>, M>;
239
- type RepositoryOptions<M extends Model, S = undefined, SR = undefined, E = undefined, SRS = undefined, G = undefined> = TRepositoryRequest<TSchemaModel<M>, TRelationModel<M>, M, S, SR, E, SRS, G>;
240
- type RepositoryCreate<M extends Model, NR extends boolean | undefined = false> = TRepositoryCreate<M, NR>;
241
- type RepositoryCreateMultiple<M extends Model, NR extends boolean | undefined = false> = TRepositoryCreateMultiple<M, NR>;
242
- type RepositoryUpdate<M extends Model, NR extends boolean | undefined = false> = TRepositoryUpdate<M, NR>;
243
- type RepositoryUpdateMultiple<M extends Model, NR extends boolean | undefined = false> = TRepositoryUpdateMultiple<M, NR>;
244
- type RepositoryCreateOrThings<M extends Model, NR extends boolean | undefined = false> = TRepositoryCreateOrThings<M, NR>;
245
- type RepositoryDelete<M extends Model> = TRepositoryDelete<M>;
222
+ type Relations<M extends Model<any, any, any>> = keyof TColumnsDecorator<M> extends never ? TRelationModel<M> : TRelationsDecorator<M>;
223
+ type RelationKeys<M extends Model<any, any, any>> = (keyof TColumnsDecorator<M> extends never ? TRelationKeys<TRelationModel<M>> : keyof TRelationsDecorator<M>);
224
+ type WhereOptions<M extends Model<any, any, any>> = TRepositoryWhere<TSchemaModel<M>, TRelationModel<M>, M>;
225
+ type SelectOptions<M extends Model<any, any, any>> = TRepositorySelect<TSchemaModel<M>, TRelationModel<M>, M>;
226
+ type ExceptOptions<M extends Model<any, any, any>> = TRepositoryExcept<TSchemaModel<M>, TRelationModel<M>, M>;
227
+ type OrderByOptions<M extends Model<any, any, any>> = TRepositoryOrderBy<TSchemaModel<M>, TRelationModel<M>, M>;
228
+ type GroupByOptions<M extends Model<any, any, any>> = TRepositoryGroupBy<TSchemaModel<M>, TRelationModel<M>, M>;
229
+ type RelationOptions<M extends Model<any, any, any>> = TRepositoryRelation<TRelationModel<M>, M>;
230
+ type RepositoryOptions<M extends Model<any, any, any>, S = undefined, SR = undefined, E = undefined, SRS = undefined, G = undefined> = TRepositoryRequest<TSchemaModel<M>, TRelationModel<M>, M, S, SR, E, SRS, G>;
231
+ type RepositoryCreate<M extends Model<any, any, any>, NR extends boolean | undefined = false> = TRepositoryCreate<M, NR>;
232
+ type RepositoryCreateMultiple<M extends Model<any, any, any>, NR extends boolean | undefined = false> = TRepositoryCreateMultiple<M, NR>;
233
+ type RepositoryUpdate<M extends Model<any, any, any>, NR extends boolean | undefined = false> = TRepositoryUpdate<M, NR>;
234
+ type RepositoryUpdateMultiple<M extends Model<any, any, any>, NR extends boolean | undefined = false> = TRepositoryUpdateMultiple<M, NR>;
235
+ type RepositoryCreateOrThings<M extends Model<any, any, any>, NR extends boolean | undefined = false> = TRepositoryCreateOrThings<M, NR>;
236
+ type RepositoryDelete<M extends Model<any, any, any>> = TRepositoryDelete<M>;
246
237
  type RepositoryGenericTypeOptions = TRepositoryExtendType;
238
+ type Default<T = any> = TDefault<T>;
239
+ type QueryModifier<M extends Model<any, any, any>> = (query: M) => M;
247
240
  }
@@ -1 +1 @@
1
- {"version":3,"file":"UtilityTypes.js","sourceRoot":"","sources":["../../../src/lib/core/UtilityTypes.ts"],"names":[],"mappings":";;AAmeC,CAAC"}
1
+ {"version":3,"file":"UtilityTypes.js","sourceRoot":"","sources":["../../../src/lib/core/UtilityTypes.ts"],"names":[],"mappings":";;AA6fC,CAAC"}
@@ -3,7 +3,7 @@ import { TCache as Cache } from '../core/Cache';
3
3
  import { CONSTANTS } from '../constants';
4
4
  import { Join } from "../core/Join";
5
5
  import { QueryBuilder } from "../core/Driver";
6
- import { TResult } from "../core";
6
+ import { T, TResult } from "../core";
7
7
  import { TResultDecorator } from "./decorator";
8
8
  export type TCache = Cache;
9
9
  export type TCacheModel = {
@@ -27,7 +27,7 @@ export type TCacheModel = {
27
27
  export type TConstant = typeof CONSTANTS;
28
28
  export type TRelationOptions<K = any> = {
29
29
  name: K;
30
- model: new () => Model<any, any>;
30
+ model: new () => Model<any, any, any>;
31
31
  as?: string;
32
32
  localKey?: string;
33
33
  foreignKey?: string;
@@ -46,7 +46,7 @@ export type TRelationOptions<K = any> = {
46
46
  };
47
47
  export type TRelationQueryOptions<K = any> = {
48
48
  name: K extends void ? never : K;
49
- model: new () => Model<any, any>;
49
+ model: new () => Model<any, any, any>;
50
50
  as?: string;
51
51
  localKey?: string;
52
52
  foreignKey?: string;
@@ -176,13 +176,14 @@ export type TPoolConnected = {
176
176
  queryBuilder: typeof QueryBuilder;
177
177
  query: (sql: string) => Promise<any[]>;
178
178
  connection: () => Promise<TConnection>;
179
+ end: () => Promise<void>;
179
180
  };
180
181
  export type TModelOrObject = {
181
- model: new () => Model<any, any>;
182
+ model: new () => Model<any, any, any>;
182
183
  alias?: string;
183
184
  key?: string;
184
185
  join?: Join;
185
- } | (new () => Model<any, any>);
186
+ } | (new () => Model<any, any, any>);
186
187
  export type TCreateNewConnection = {
187
188
  on: (event: TPoolEvent, data: (r: any) => any) => void;
188
189
  query: (sql: string) => Promise<any>;
@@ -296,7 +297,11 @@ export type TSchemaKeys<T> = keyof {
296
297
  } extends never ? string : keyof {
297
298
  [K in keyof T as string extends K ? never : K]: T[K];
298
299
  };
299
- export type TRelationResults<T> = T extends Array<infer A> ? TRelationResults<A>[] : T extends object ? {
300
+ export type TRelationResults<T> = T extends Array<infer A> ? TRelationResults<A>[] : T extends {
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 ? {
300
305
  [K in keyof T as K extends `$${string}` ? never : K]: TRelationResults<T[K]>;
301
306
  } : T;
302
307
  export type TRelationKeys<T> = {
@@ -351,17 +356,21 @@ export type TPoolCusterConnected = {
351
356
  masters: TClusterPool[];
352
357
  slaves: TClusterPool[];
353
358
  };
354
- export type TIsEnum<T> = string extends T ? false : number extends T ? false : boolean extends T ? false : [
359
+ export type TIsEnum<T> = T extends {
360
+ __isDefault: true;
361
+ } ? false : string extends T ? false : number extends T ? false : boolean extends T ? false : [
355
362
  T
356
363
  ] extends [string | number] ? true : false;
357
364
  export type TLifecycle = "beforeInsert" | "afterInsert" | "beforeUpdate" | "afterUpdate" | "beforeRemove" | "afterRemove";
358
365
  export type TDeepOmit<T, Filter> = T extends infer ObjectType ? {
359
366
  [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];
360
367
  } : never;
361
- export type TDeepExpand<T> = T extends Date ? T : T extends Function ? T : T extends Model ? T : T extends (infer U)[] ? TDeepExpand<U>[] : T extends object ? {
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 ? {
362
369
  [K in keyof T]: TDeepExpand<T[K]>;
363
370
  } : T;
364
- 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>);
371
+ 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 ? {
372
+ [K in keyof $Resolved]: [Exclude<$Resolved[K], null>] extends [string] ? [string] extends [Exclude<$Resolved[K], null>] ? $Resolved[K] : Exclude<$Resolved[K], null> : $Resolved[K];
373
+ } : never;
365
374
  export type TConflictKeys<R extends readonly PropertyKey[], O extends readonly PropertyKey[]> = Extract<R[number], O[number]>;
366
375
  type Normalize<T> = T extends object ? ((T extends {
367
376
  select: infer S;
@@ -396,4 +405,41 @@ export type TStateWhereCondition = {
396
405
  condition?: 'AND' | 'OR';
397
406
  nested?: TStateWhereCondition[];
398
407
  };
408
+ export type TDefault<T = any> = (T extends string ? string : T extends number ? number : T extends boolean ? boolean | number : T) & {
409
+ __isDefault: true;
410
+ };
411
+ 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 {
413
+ __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 {
416
+ __isDefault: true;
417
+ } ? true : never) : never) extends never ? false : true;
418
+ 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]>;
420
+ } & {
421
+ [P in Exclude<K & keyof C, "id" | "_id" | "uuid"> as IsOptional<C[P]> extends true ? P : never]?: CleanDefaultType<C[P]>;
422
+ } & {
423
+ [P in Extract<K & keyof C, "id" | "_id" | "uuid">]?: CleanDefaultType<C[P]>;
424
+ };
425
+ export type TUpdateInput<K, C> = {
426
+ [P in Exclude<K & keyof C, "id" | "_id">]: {
427
+ [Q in P]-?: CleanDefaultType<C[Q]>;
428
+ } & {
429
+ [Q in Exclude<K & keyof C, "id" | "_id" | P>]?: CleanDefaultType<C[Q]>;
430
+ };
431
+ }[Exclude<K & keyof C, "id" | "_id">];
432
+ export type TInsertOrUpdateInput<K, C> = {
433
+ [P in Extract<K, keyof C>]: {
434
+ [Q in P]-?: CleanDefaultType<C[Q]>;
435
+ } & {
436
+ [Q in Exclude<Extract<K, keyof C>, P>]?: CleanDefaultType<C[Q]>;
437
+ };
438
+ }[Extract<K, keyof C>];
439
+ export type TAction = "create" | "createMany" | "createNotExists" | "createOrSelect" | "createOrUpdate" | "update" | "updateMany" | null;
440
+ 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
+ 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>;
442
+ export type TAnyKeys = {
443
+ [customKey: string]: unknown;
444
+ };
399
445
  export {};
@@ -28,7 +28,7 @@ declare const utils: {
28
28
  value: string;
29
29
  } | null;
30
30
  checkValueHasRaw: (value: unknown) => boolean;
31
- valueAndOperator: (value: string, operator: string, useDefault?: boolean) => any[];
31
+ valueAndOperator: (value: any, operator: string, useDefault?: boolean) => any[];
32
32
  baseModelTemplate: ({ model, schema, imports, relation }: {
33
33
  model: string;
34
34
  schema: string;
@@ -60,6 +60,8 @@ declare const utils: {
60
60
  value?: any;
61
61
  }[];
62
62
  formatQueryValue: (v: any) => any;
63
+ bindingParameters: (sql: string, parameters?: (boolean | number | string | any[] | null)[]) => string;
64
+ shallowClone: (value: any) => any;
63
65
  };
64
66
  export type TUtils = typeof utils;
65
67
  export { utils };