tspace-mysql 1.9.0 → 1.9.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.
Files changed (108) hide show
  1. package/README.md +4357 -133
  2. package/dist/lib/config/index.d.ts +2 -2
  3. package/dist/lib/config/index.js +24 -16
  4. package/dist/lib/config/index.js.map +1 -1
  5. package/dist/lib/constants/index.d.ts +10 -1
  6. package/dist/lib/constants/index.js +11 -2
  7. package/dist/lib/constants/index.js.map +1 -1
  8. package/dist/lib/core/Abstracts/AbstractBuilder.d.ts +11 -7
  9. package/dist/lib/core/Abstracts/AbstractBuilder.js +11 -13
  10. package/dist/lib/core/Abstracts/AbstractBuilder.js.map +1 -1
  11. package/dist/lib/core/Abstracts/AbstractDB.d.ts +4 -1
  12. package/dist/lib/core/Abstracts/AbstractDB.js.map +1 -1
  13. package/dist/lib/core/Abstracts/AbstractView.js.map +1 -1
  14. package/dist/lib/core/Blueprint.d.ts +30 -10
  15. package/dist/lib/core/Blueprint.js +39 -14
  16. package/dist/lib/core/Blueprint.js.map +1 -1
  17. package/dist/lib/core/Builder.d.ts +263 -9
  18. package/dist/lib/core/Builder.js +610 -347
  19. package/dist/lib/core/Builder.js.map +1 -1
  20. package/dist/lib/core/Cache/DBCache.js +19 -20
  21. package/dist/lib/core/Cache/DBCache.js.map +1 -1
  22. package/dist/lib/core/Cache/MemoryCache.js +3 -3
  23. package/dist/lib/core/Cache/MemoryCache.js.map +1 -1
  24. package/dist/lib/core/Cache/RedisCache.js +27 -17
  25. package/dist/lib/core/Cache/RedisCache.js.map +1 -1
  26. package/dist/lib/core/Cache/index.js +5 -4
  27. package/dist/lib/core/Cache/index.js.map +1 -1
  28. package/dist/lib/core/Contracts/AlterTable.d.ts +152 -0
  29. package/dist/lib/core/Contracts/AlterTable.js +243 -0
  30. package/dist/lib/core/Contracts/AlterTable.js.map +1 -0
  31. package/dist/lib/core/Contracts/Audit.js +2 -5
  32. package/dist/lib/core/Contracts/Audit.js.map +1 -1
  33. package/dist/lib/core/DB.d.ts +101 -9
  34. package/dist/lib/core/DB.js +168 -29
  35. package/dist/lib/core/DB.js.map +1 -1
  36. package/dist/lib/core/Decorator.d.ts +144 -16
  37. package/dist/lib/core/Decorator.js +156 -14
  38. package/dist/lib/core/Decorator.js.map +1 -1
  39. package/dist/lib/core/Driver/index.d.ts +43 -9
  40. package/dist/lib/core/Driver/index.js +9 -7
  41. package/dist/lib/core/Driver/index.js.map +1 -1
  42. package/dist/lib/core/Driver/mariadb/MariadbDriver.js +74 -27
  43. package/dist/lib/core/Driver/mariadb/MariadbDriver.js.map +1 -1
  44. package/dist/lib/core/Driver/mariadb/MariadbQueryBuilder.d.ts +45 -9
  45. package/dist/lib/core/Driver/mariadb/MariadbQueryBuilder.js +165 -21
  46. package/dist/lib/core/Driver/mariadb/MariadbQueryBuilder.js.map +1 -1
  47. package/dist/lib/core/Driver/mongodb/MongodbDriver.d.ts +24 -0
  48. package/dist/lib/core/Driver/mongodb/MongodbDriver.js +255 -0
  49. package/dist/lib/core/Driver/mongodb/MongodbDriver.js.map +1 -0
  50. package/dist/lib/core/Driver/mongodb/MongodbQueryBuilder.d.ts +141 -0
  51. package/dist/lib/core/Driver/mongodb/MongodbQueryBuilder.js +563 -0
  52. package/dist/lib/core/Driver/mongodb/MongodbQueryBuilder.js.map +1 -0
  53. package/dist/lib/core/Driver/mysql/MysqlDriver.js +105 -95
  54. package/dist/lib/core/Driver/mysql/MysqlDriver.js.map +1 -1
  55. package/dist/lib/core/Driver/mysql/MysqlQueryBuilder.d.ts +45 -9
  56. package/dist/lib/core/Driver/mysql/MysqlQueryBuilder.js +165 -21
  57. package/dist/lib/core/Driver/mysql/MysqlQueryBuilder.js.map +1 -1
  58. package/dist/lib/core/Driver/postgres/PostgresDriver.js +97 -72
  59. package/dist/lib/core/Driver/postgres/PostgresDriver.js.map +1 -1
  60. package/dist/lib/core/Driver/postgres/PostgresQueryBuilder.d.ts +50 -9
  61. package/dist/lib/core/Driver/postgres/PostgresQueryBuilder.js +296 -41
  62. package/dist/lib/core/Driver/postgres/PostgresQueryBuilder.js.map +1 -1
  63. package/dist/lib/core/Driver/sqlite/SqliteDriver.d.ts +20 -0
  64. package/dist/lib/core/Driver/sqlite/SqliteDriver.js +192 -0
  65. package/dist/lib/core/Driver/sqlite/SqliteDriver.js.map +1 -0
  66. package/dist/lib/core/Driver/sqlite/SqliteQueryBuilder.d.ts +144 -0
  67. package/dist/lib/core/Driver/sqlite/SqliteQueryBuilder.js +689 -0
  68. package/dist/lib/core/Driver/sqlite/SqliteQueryBuilder.js.map +1 -0
  69. package/dist/lib/core/JoinModel.js +2 -2
  70. package/dist/lib/core/JoinModel.js.map +1 -1
  71. package/dist/lib/core/Meta.d.ts +17 -11
  72. package/dist/lib/core/Meta.js +25 -19
  73. package/dist/lib/core/Meta.js.map +1 -1
  74. package/dist/lib/core/Model.d.ts +450 -108
  75. package/dist/lib/core/Model.js +1031 -587
  76. package/dist/lib/core/Model.js.map +1 -1
  77. package/dist/lib/{tools/index.d.ts → core/Package.d.ts} +11 -3
  78. package/dist/lib/{tools/index.js → core/Package.js} +20 -7
  79. package/dist/lib/core/Package.js.map +1 -0
  80. package/dist/lib/core/Pool.js +42 -30
  81. package/dist/lib/core/Pool.js.map +1 -1
  82. package/dist/lib/core/Queue.d.ts +240 -0
  83. package/dist/lib/core/Queue.js +686 -0
  84. package/dist/lib/core/Queue.js.map +1 -0
  85. package/dist/lib/core/RelationManager.js +27 -25
  86. package/dist/lib/core/RelationManager.js.map +1 -1
  87. package/dist/lib/core/Repository.d.ts +73 -207
  88. package/dist/lib/core/Repository.js +120 -235
  89. package/dist/lib/core/Repository.js.map +1 -1
  90. package/dist/lib/core/Schema.d.ts +218 -0
  91. package/dist/lib/core/Schema.js +370 -65
  92. package/dist/lib/core/Schema.js.map +1 -1
  93. package/dist/lib/core/StateManager.d.ts +25 -12
  94. package/dist/lib/core/StateManager.js +10 -5
  95. package/dist/lib/core/StateManager.js.map +1 -1
  96. package/dist/lib/core/UtilityTypes.d.ts +85 -56
  97. package/dist/lib/core/UtilityTypes.js.map +1 -1
  98. package/dist/lib/core/index.d.ts +4 -0
  99. package/dist/lib/core/index.js +6 -2
  100. package/dist/lib/core/index.js.map +1 -1
  101. package/dist/lib/types/decorator/index.d.ts +1 -1
  102. package/dist/lib/types/index.d.ts +69 -22
  103. package/dist/lib/types/repository/index.d.ts +68 -37
  104. package/dist/lib/utils/index.d.ts +11 -1
  105. package/dist/lib/utils/index.js +58 -2
  106. package/dist/lib/utils/index.js.map +1 -1
  107. package/package.json +14 -6
  108. package/dist/lib/tools/index.js.map +0 -1
@@ -2,41 +2,27 @@ import { Model } from "../../core/Model";
2
2
  import type { T } from "../../core";
3
3
  import type { TConnection, TConnectionTransaction, TNestedBoolean, TRawStringQuery, TRelationKeys, TSchemaKeys } from "..";
4
4
  import type { TColumnsDecorator, TRelationsDecorator } from "../decorator";
5
- export type TRepositorySelect<T = unknown, R = unknown, M extends Model = Model> = [
6
- unknown,
7
- unknown
8
- ] extends [T, R] ? keyof TColumnsDecorator<M> extends never ? TNestedBoolean : Partial<{
5
+ export type TRepositorySelect<T = unknown, R = unknown, M extends Model = Model> = [unknown, unknown] extends [T, R] ? keyof TColumnsDecorator<M> extends never ? TNestedBoolean : Partial<{
9
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;
10
7
  }> : Partial<{
11
8
  [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 ? "*" | TRepositorySelect<T.SchemaModel<U>, T.RelationModel<U>> : never : R[`$${K & string}`] extends Model ? "*" | TRepositorySelect<T.SchemaModel<R[`$${K & string}`]>, T.RelationModel<R[`$${K & string}`]>> : never : never : K extends keyof T ? boolean : never;
12
9
  }>;
13
- export type TRepositoryExcept<T = unknown, M extends Model = Model> = [
14
- unknown
15
- ] extends [T] ? keyof TColumnsDecorator<M> extends never ? TNestedBoolean : Partial<{
16
- [K in keyof TColumnsDecorator<M>]: K extends `${string}.${string}` | TRawStringQuery ? boolean : K extends keyof TColumnsDecorator<M> ? boolean : never;
10
+ export type TRepositoryExcept<T = unknown, R = unknown, M extends Model = Model> = [unknown, unknown] extends [T, R] ? keyof TColumnsDecorator<M> extends never ? TNestedBoolean : Partial<{
11
+ [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 ? TRepositoryExcept<any, unknown, U> : boolean : M[K] extends Model ? TRepositoryExcept<any, unknown, M[K]> : boolean : K extends keyof TColumnsDecorator<M> ? boolean : boolean;
17
12
  }> : Partial<{
18
- [K in TSchemaKeys<T>]: K extends keyof T ? boolean : never;
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;
19
14
  }>;
20
- export type TRepositoryWhere<T = unknown, R = unknown, M extends Model = Model> = [
21
- unknown,
22
- unknown
23
- ] extends [T, R] ? keyof TColumnsDecorator<M> extends never ? Record<string, any> : Partial<{
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<{
24
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;
25
17
  }> : Partial<{
26
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;
27
19
  }>;
28
- export type TRepositoryOrderBy<T = unknown, R = unknown, M extends Model = Model> = [
29
- unknown,
30
- unknown
31
- ] extends [T, R] ? keyof TColumnsDecorator<M> extends never ? Record<string, "ASC" | "DESC"> : Partial<{
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<{
32
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;
33
22
  }> : Partial<{
34
23
  [K in TSchemaKeys<T> | TRelationKeys<R>]: K extends TRelationKeys<R> ? K extends TRawStringQuery | `${string}.${string}` ? "ASC" | "DESC" : K extends `$${string & K}` ? R extends Record<string, any> ? "ASC" | "DESC" : never : R extends Record<string, any> ? R[`$${string & K}`] extends (infer U)[] ? U extends Model ? TRepositoryOrderBy<T.SchemaModel<U>, T.RelationModel<U>> : never : R[`$${K & string}`] extends Model ? TRepositoryOrderBy<T.SchemaModel<R[`$${K & string}`]>, T.RelationModel<R[`$${K & string}`]>> : never : never : K extends keyof T ? "ASC" | "DESC" : never;
35
24
  }>;
36
- export type TRepositoryGroupBy<T = unknown, R = unknown, M extends Model = Model> = [
37
- unknown,
38
- unknown
39
- ] extends [T, R] ? keyof TColumnsDecorator<M> extends never ? Record<string, boolean> : Partial<{
25
+ export type TRepositoryGroupBy<T = unknown, R = unknown, M extends Model = Model> = [unknown, unknown] extends [T, R] ? keyof TColumnsDecorator<M> extends never ? Record<string, boolean> : Partial<{
40
26
  [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 ? "*" | TRepositoryGroupBy<any, unknown, U> : boolean : M[K] extends Model ? "*" | TRepositoryGroupBy<any, unknown, M[K]> : boolean : K extends keyof TColumnsDecorator<M> ? boolean : boolean;
41
27
  }> : Partial<{
42
28
  [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 ? "*" | TRepositoryGroupBy<T.SchemaModel<U>, T.RelationModel<U>> : never : R[`$${K & string}`] extends Model ? "*" | TRepositoryGroupBy<T.SchemaModel<R[`$${K & string}`]>, T.RelationModel<R[`$${K & string}`]>> : never : never : K extends keyof T ? boolean : never;
@@ -48,13 +34,25 @@ export type TRepositoryRelation<R = unknown, M extends Model = Model> = [
48
34
  }> : Partial<{
49
35
  [K in TRelationKeys<R>]: K extends TRelationKeys<R> ? 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 ? boolean | (TRepositoryRequest<T.SchemaModel<U>, T.RelationModel<U>> & TRepositoryRelation<T.RelationModel<U>>) : never : R[`$${K & string}`] extends Model ? boolean | (TRepositoryRequest<T.SchemaModel<R[`$${K & string}`]>, T.RelationModel<R[`$${K & string}`]>> & TRepositoryRelation<T.RelationModel<R[`$${K & string}`]>>) : never : never : never;
50
36
  }>;
51
- export type TRepositoryRequest<T = unknown, R = unknown, M extends Model<any, any> = Model<any, any>, S = undefined, SR = undefined, E = undefined> = {
37
+ type Without<T, U> = {
38
+ [P in Exclude<keyof T, keyof U>]?: never;
39
+ };
40
+ type XOR<T, U> = (T & Without<U, T>) | (U & Without<T, U>);
41
+ type SelectBlock<T, R, M extends Model<any, any>, S> = {
52
42
  select?: S extends {} ? S & {
53
43
  [K in keyof S]: K extends keyof TRepositorySelect<T, R, M> ? S[K] : never;
54
44
  } : "*" | TRepositorySelect<T, R, M>;
45
+ };
46
+ type ExceptBlock<T, R, M extends Model<any, any>, E> = {
55
47
  except?: E extends {} ? E & {
56
- [K in keyof E]: K extends keyof TRepositoryExcept<T, M> ? E[K] : never;
57
- } : TRepositoryExcept<T, M>;
48
+ [K in keyof E]: K extends keyof TRepositoryExcept<T, R, M> ? E[K] : never;
49
+ } : TRepositoryExcept<T, R, M>;
50
+ };
51
+ export type TRepositoryRequest<T = unknown, R = unknown, M extends Model<any, any> = Model<any, any>, S = undefined, SR = undefined, E = undefined, SRS = undefined, G = undefined> = XOR<SelectBlock<T, R, M, S>, // select ?:
52
+ ExceptBlock<T, R, M, E>> & {
53
+ selectRaw?: SRS extends {} ? SRS & {
54
+ [K in keyof SRS]: SRS[K] extends TRawStringQuery ? SRS[K] : never;
55
+ } : Record<string, TRawStringQuery>;
58
56
  join?: {
59
57
  localKey: `${string}.${string}`;
60
58
  referenceKey: `${string}.${string}`;
@@ -75,23 +73,31 @@ export type TRepositoryRequest<T = unknown, R = unknown, M extends Model<any, an
75
73
  orderBy?: TRepositoryOrderBy<T, R, M>;
76
74
  limit?: number;
77
75
  offset?: number;
76
+ extend?: G extends {} ? G & {
77
+ [K in keyof G]: G[K];
78
+ } : Record<string, T.RepositoryGenericTypeOptions>;
78
79
  debug?: boolean;
79
80
  cache?: {
80
81
  key: string;
81
82
  expires: number;
83
+ namespace?: boolean;
82
84
  };
83
85
  when?: {
84
86
  condition: boolean;
85
87
  query: () => TRepositoryRequest<T, R, M, S, SR>;
86
88
  };
87
- relations?: SR extends {} ? SR : TRepositoryRelation<R, M>;
88
- relationsExists?: SR extends {} ? SR : TRepositoryRelation<R, M>;
89
89
  using?: (model: M) => M;
90
90
  hooks?: Function[];
91
91
  audit?: {
92
92
  userId: number;
93
93
  metadata?: Record<string, any>;
94
94
  };
95
+ relations?: SR extends {} ? SR & {
96
+ [K in keyof SR]: K extends keyof TRepositoryRelation<R, M> ? SR[K] : never;
97
+ } : TRepositoryRelation<R, M>;
98
+ relationsExists?: SR extends {} ? SR & {
99
+ [K in keyof SR]: K extends keyof TRepositoryRelation<R, M> ? SR[K] : never;
100
+ } : TRepositoryRelation<R, M>;
95
101
  };
96
102
  export type TRepositoryRequestHandler<T extends Record<string, any> = any, R = unknown, M extends Model<any, any> = Model<any, any>> = Partial<TRepositoryRequest<T, R, M> & {
97
103
  instance?: Model;
@@ -100,37 +106,62 @@ export type TRepositoryRequestPagination<T extends Record<string, any> = any, R
100
106
  page?: number;
101
107
  };
102
108
  export type TRepositoryRequestAggregate<T extends Record<string, any> = any, R = any, M extends Model<any, any> = Model<any, any>> = Partial<Omit<TRepositoryRequest<T, R, M>, "relations" | "relationQuery">>;
103
- export type TRepositoryCreate<M extends Model<any, any> = Model<any, any>> = {
104
- data: Partial<T.ColumnOptions<M>>;
109
+ export type TRepositoryCreate<M extends Model<any, any> = Model<any, any>, NR extends boolean | undefined = false, K extends T.ColumnKeys<M> = T.ColumnKeys<M>, C extends T.ColumnOptions<M> = T.ColumnOptions<M>> = {
110
+ data: {
111
+ [P in Exclude<K & keyof C, "id" | "uuid"> as null extends C[P] ? any : P]: Extract<C[P], Date> extends never ? Extract<C[P], Record<string, unknown>> extends never ? C[P] : string : any;
112
+ };
105
113
  debug?: boolean;
106
114
  transaction?: TConnection | TConnectionTransaction;
115
+ noReturn?: NR;
107
116
  };
108
- export type TRepositoryCreateMultiple<M extends Model<any, any> = Model<any, any>> = {
109
- data: Partial<T.ColumnOptions<M>>[];
117
+ export type TRepositoryCreateMultiple<M extends Model<any, any> = Model<any, any>, NR extends boolean | undefined = false, K extends T.ColumnKeys<M> = T.ColumnKeys<M>, C extends T.ColumnOptions<M> = T.ColumnOptions<M>> = {
118
+ data: {
119
+ [P in Exclude<K & keyof C, "id" | "uuid"> as null extends C[P] ? any : undefined extends C[P] ? never : P]: Extract<C[P], Date> extends never ? Extract<C[P], Record<string, unknown>> extends never ? C[P] : string : any;
120
+ }[];
110
121
  debug?: boolean;
111
122
  transaction?: TConnection | TConnectionTransaction;
123
+ noReturn?: NR;
112
124
  };
113
- export type TRepositoryCreateOrThings<M extends Model<any, any> = Model<any, any>> = {
114
- data: Partial<T.ColumnOptions<M>>;
125
+ export type TRepositoryCreateOrThings<M extends Model<any, any> = Model<any, any>, NR extends boolean | undefined = false, K extends T.ColumnKeys<M> = T.ColumnKeys<M>, C extends T.ColumnOptions<M> = T.ColumnOptions<M>> = {
126
+ data: {
127
+ [P in Exclude<K & keyof C, "id" | "uuid"> as null extends C[P] ? any : undefined extends C[P] ? never : P]: Extract<C[P], Date> extends never ? Extract<C[P], Record<string, unknown>> extends never ? C[P] : string : any;
128
+ };
115
129
  where: T.WhereOptions<M>;
116
130
  debug?: boolean;
131
+ transaction?: TConnection | TConnectionTransaction;
132
+ noReturn?: NR;
117
133
  };
118
- export type TRepositoryUpdate<M extends Model<any, any> = Model<any, any>> = {
119
- data: Partial<T.ColumnOptions<M>>;
134
+ export type TRepositoryUpdate<M extends Model<any, any> = Model<any, any>, NR extends boolean | undefined = false, K extends T.ColumnKeys<M> = T.ColumnKeys<M>, C extends T.ColumnOptions<M> = T.ColumnOptions<M>> = {
135
+ data: Partial<{
136
+ [P in K & keyof C]: Extract<C[P], Date> extends never ? Extract<C[P], Record<string, unknown>> extends never ? C[P] : string : any;
137
+ }>;
120
138
  where: T.WhereOptions<M>;
121
139
  debug?: boolean;
122
140
  transaction?: TConnection | TConnectionTransaction;
141
+ noReturn?: NR;
123
142
  };
124
- export type TRepositoryUpdateMultiple<M extends Model<any, any> = Model<any, any>> = {
143
+ export type TRepositoryUpdateMultiple<M extends Model<any, any> = Model<any, any>, NR extends boolean | undefined = false, K extends T.ColumnKeys<M> = T.ColumnKeys<M>, C extends T.ColumnOptions<M> = T.ColumnOptions<M>> = {
125
144
  cases: {
126
- condition: ((query: M) => M) | Partial<T.ColumnOptions<M>>;
127
- columns: Partial<T.ColumnOptions<M>>;
145
+ condition: ((query: M) => M) | Partial<{
146
+ [P in K & keyof C]: Extract<C[P], Date> extends never ? Extract<C[P], Record<string, unknown>> extends never ? C[P] : string : any;
147
+ }>;
148
+ columns: Partial<{
149
+ [P in K & keyof C]: Extract<C[P], Date> extends never ? Extract<C[P], Record<string, unknown>> extends never ? C[P] : string : any;
150
+ }>;
128
151
  }[];
129
152
  debug?: boolean;
130
153
  transaction?: TConnection | TConnectionTransaction;
154
+ noReturn?: NR;
131
155
  };
132
156
  export type TRepositoryDelete<M extends Model<any, any> = Model<any, any>> = {
133
157
  where: T.WhereOptions<M>;
134
158
  debug?: boolean;
135
159
  transaction?: TConnection | TConnectionTransaction;
136
160
  };
161
+ export type TRepositoryPrimitiveExtendType<T> = T extends NumberConstructor ? number : T extends StringConstructor ? string : T extends BooleanConstructor ? boolean : T extends DateConstructor ? Date : T extends readonly (infer U)[] ? TRepositoryPrimitiveExtendType<U>[] : T extends Record<string, any> ? {
162
+ [K in keyof T]: TRepositoryPrimitiveExtendType<T[K]>;
163
+ } : T;
164
+ export type TRepositoryExtendType = NumberConstructor | StringConstructor | BooleanConstructor | DateConstructor | readonly TRepositoryExtendType[] | {
165
+ [_: string]: TRepositoryExtendType;
166
+ };
167
+ export {};
@@ -1,9 +1,10 @@
1
+ import { TStateWhereCondition } from "../types";
1
2
  declare const utils: {
2
3
  typeOf: (data: any) => string;
3
4
  isDate: (data: any) => boolean;
4
5
  consoleDebug: (sql?: string, retry?: boolean) => void;
5
6
  consoleExec: (startTime: number, endTime: number) => void;
6
- consoleCache: (provider: string) => void;
7
+ consoleCache: (provider: Record<string, any>) => void;
7
8
  faker: (value: string) => string | number | boolean;
8
9
  columnRelation: (name: string) => string;
9
10
  timestamp: (dateString?: string | Date) => string;
@@ -50,6 +51,15 @@ declare const utils: {
50
51
  }> | null;
51
52
  action: "to" | "from";
52
53
  }) => Promise<void>;
54
+ hash32: (str: string) => number;
55
+ nestConditions: (conditions: TStateWhereCondition[], condition?: "AND" | "OR") => {
56
+ condition: "AND" | "OR";
57
+ nested: TStateWhereCondition[] | undefined;
58
+ column?: string;
59
+ operator?: string;
60
+ value?: any;
61
+ }[];
62
+ formatQueryValue: (v: any) => any;
53
63
  };
54
64
  export type TUtils = typeof utils;
55
65
  export { utils };
@@ -217,7 +217,34 @@ const consoleExec = (startTime, endTime) => {
217
217
  console.log(`\x1b[34mDURATION:\x1b[0m \x1b[32m${diffInSeconds} sec\x1b[0m`);
218
218
  };
219
219
  const consoleCache = (provider) => {
220
- console.log(`\n\x1b[34mCACHE:\x1b[0m \x1b[33m${provider}\x1b[0m`);
220
+ const colors = {
221
+ reset: "\x1b[0m",
222
+ key: "\x1b[35m",
223
+ string: "\x1b[38;2;77;215;240m",
224
+ null: "\x1b[90m",
225
+ };
226
+ const colorize = (raws) => {
227
+ const obj = Object.fromEntries(Object.entries(raws)
228
+ .filter(([_, v]) => v !== undefined));
229
+ const parts = Object.entries(obj).map(([k, v]) => {
230
+ let valueColor = colors.reset;
231
+ let value;
232
+ if (typeof v === "string") {
233
+ valueColor = colors.string;
234
+ value = `"${v}"`;
235
+ }
236
+ else if (v === null) {
237
+ valueColor = colors.null;
238
+ value = "null";
239
+ }
240
+ else {
241
+ value = JSON.stringify(v);
242
+ }
243
+ return `${colors.key}"${k}"${colors.reset}: ${valueColor}${value}${colors.reset}`;
244
+ });
245
+ return `{ ${parts.join(", ")} }`;
246
+ };
247
+ console.log(`\n\x1b[34mCACHE:\x1b[0m ${colorize(provider)}`);
221
248
  };
222
249
  const randomString = (length = 100) => {
223
250
  let str = '';
@@ -398,6 +425,32 @@ const applyTransforms = async ({ result, transforms, action }) => {
398
425
  }
399
426
  return;
400
427
  };
428
+ const hash32 = (str) => {
429
+ let hash = 0x811c9dc5;
430
+ for (let i = 0; i < str.length; i++) {
431
+ hash ^= str.charCodeAt(i);
432
+ hash = Math.imul(hash, 0x01000193);
433
+ }
434
+ return hash >>> 0;
435
+ };
436
+ const nestConditions = (conditions, condition = 'AND') => {
437
+ if (!conditions || conditions.length === 0)
438
+ return [];
439
+ const [first, ...rest] = conditions;
440
+ return [{
441
+ ...first,
442
+ condition,
443
+ nested: rest.length > 0 ? rest : undefined
444
+ }];
445
+ };
446
+ const formatQueryValue = (v) => {
447
+ if (Array.isArray(v))
448
+ return v;
449
+ v = transfromDateToDateString(v);
450
+ v = escape(v);
451
+ v = transfromBooleanToNumber(v);
452
+ return transfromValueHasRaw(v);
453
+ };
401
454
  const utils = {
402
455
  typeOf,
403
456
  isDate,
@@ -427,7 +480,10 @@ const utils = {
427
480
  valueAndOperator,
428
481
  baseModelTemplate,
429
482
  decoratorModelTemplate,
430
- applyTransforms
483
+ applyTransforms,
484
+ hash32,
485
+ nestConditions,
486
+ formatQueryValue
431
487
  };
432
488
  exports.utils = utils;
433
489
  exports.default = utils;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/utils/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/utils/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tspace-mysql",
3
- "version": "1.9.0",
3
+ "version": "1.9.1",
4
4
  "description": "Tspace MySQL is a promise-based ORM for Node.js, designed with modern TypeScript and providing type safety for schema databases.",
5
5
  "main": "dist/lib/index.js",
6
6
  "types": "dist/lib/index.d.ts",
@@ -49,14 +49,15 @@
49
49
  "scripts": {
50
50
  "build": "rm -rf dist && tsc",
51
51
  "prepare": "npm run build",
52
- "test:db": "rm -rf __tests-report__ && cross-env NODE_ENV=test.$npm_config_db ts-mocha ./__tests__/**/0*.test.ts --reporter spec --no-timeouts --recursive --reporter mochawesome --reporter-options reportDir=__tests-report__,reportFilename=errors.html,reportTitle=Unit-test --exit",
52
+ "test:db": "cross-env NODE_ENV=test.$npm_config_db ts-mocha ./__tests__/**/0*.test.ts --reporter spec --no-timeouts --recursive --reporter mochawesome --reporter-options reportDir=__tests-report__,reportFilename=errors.html,reportTitle=Unit-test --exit",
53
53
  "test:mysql": "npm run test:db --db=mysql",
54
54
  "test:mariadb": "npm run test:db --db=mariadb",
55
55
  "test:postgres": "npm run test:db --db=postgres",
56
- "test": "npm run test:mysql && npm run test:mariadb && npm run test:postgres",
56
+ "test:sqlite": "npm run test:db --db=sqlite",
57
+ "test": "npm run test:mysql && npm run test:mariadb && npm run test:postgres && npm run test:sqlite",
57
58
  "test:benchmark": "cross-env NODE_ENV=benchmark ts-node ./__tests__/benchmark.test.ts",
58
59
  "release:beta": "npm test && npm run build && npm publish --tag beta",
59
- "release": "npm test && npm run build && npm publish",
60
+ "release": "sh ./release.sh",
60
61
  "docs": "npx docsify-cli serve docs"
61
62
  },
62
63
  "peerDependencies": {
@@ -67,10 +68,12 @@
67
68
  "mysql2": "3.15.3",
68
69
  "pluralize": "8.0.0",
69
70
  "reflect-metadata": "0.2.2",
70
- "sql-formatter": "10.7.1"
71
+ "sql-formatter": "10.7.1",
72
+ "zod": "4.3.6"
71
73
  },
72
74
  "devDependencies": {
73
75
  "@types/autocannon": "7.12.5",
76
+ "@types/better-sqlite3": "7.6.13",
74
77
  "@types/chai": "4.3.11",
75
78
  "@types/chai-json-schema": "1.4.9",
76
79
  "@types/debug": "4.1.12",
@@ -79,18 +82,23 @@
79
82
  "@types/pluralize": "0.0.29",
80
83
  "@types/yargs": "17.0.32",
81
84
  "autocannon": "7.15.0",
85
+ "better-sqlite3": "12.9.0",
82
86
  "chai": "4.3.10",
83
87
  "chai-json-schema": "1.5.1",
84
88
  "cross-env": "7.0.3",
85
89
  "docsify-cli": "4.4.4",
90
+ "elysia": "1.4.25",
91
+ "fastify": "5.7.4",
92
+ "fastify-type-provider-zod": "6.1.0",
86
93
  "mariadb": "3.4.5",
87
94
  "mocha": "10.2.0",
88
95
  "mochawesome": "7.1.3",
96
+ "mongodb": "7.1.0",
89
97
  "mssql": "11.0.1",
90
98
  "pg": "8.16.3",
91
99
  "redis": "5.6.0",
92
100
  "sqlite3": "5.1.7",
93
101
  "ts-mocha": "10.0.0",
94
- "typescript": "^5.9.3"
102
+ "typescript": "5.9.3"
95
103
  }
96
104
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/tools/index.ts"],"names":[],"mappings":";;;AAAA,MAAM,IAAI;IACN,MAAM,CAAC,MAAM,CAAC,IAAa;QACvB,IAAI,CAAC;YACD,OAAO,OAAO,CAAC,IAAI,CAAC,CAAA;QACxB,CAAC;QACD,OAAO,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,gBAAgB,IAAI,2EAA2E,IAAI,SAAS,CAAC,CAAA;QACjI,CAAC;IACL,CAAC;IAED,MAAM,KAAK,EAAE;QACT,IAAI,CAAC;YAED,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;YAExB,OAAO;gBACH,UAAU,EAAG,CAAC,CAAU,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;gBAC7C,aAAa,EAAE,CAAC,IAAY,EAAG,IAAa,EAAG,UAA+B,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC;gBAC1H,WAAW,EAAG,CAAC,IAAa,EAAG,OAAO,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,EAAU,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAE;gBAC5G,YAAY,EAAG,CAAC,IAAa,EAAG,QAAiB,EAAE,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC;aACxF,CAAA;QAEL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,4FAA4F,CAAC,CAAA;QACjH,CAAC;IACL,CAAC;IAED,MAAM,KAAK,IAAI;QACX,IAAI,CAAC;YAED,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;YAE5B,OAAO;gBACH,IAAI,EAAM,CAAC,GAAG,KAAe,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;gBACrD,OAAO,EAAG,CAAC,GAAG,KAAe,EAAE,EAAE;oBAC7B,OAAO,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM;wBACrC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE;wBAChB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,CAAA;gBAC5B,CAAC;aACJ,CAAA;QAEL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,8FAA8F,CAAC,CAAA;QACnH,CAAC;IACL,CAAC;IAED,MAAM,KAAK,MAAM;QACb,IAAI,CAAC;YAED,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;YAEhC,OAAO;gBACH,MAAM,EAAI,CAAC,UAA+B,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;aAC1E,CAAA;QAEL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YAEX,MAAM,IAAI,KAAK,CAAC,yKAAyK,CAAC,CAAA;QAC9L,CAAC;IACL,CAAC;CACJ;AAEQ,oBAAI;AACb,kBAAe,IAAI,CAAA"}