@ragestudio/scylla-odm 0.22.0 → 0.22.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 (196) hide show
  1. package/batch/index.d.ts +19 -21
  2. package/batch/index.d.ts.map +1 -0
  3. package/batch/index.js +41 -1
  4. package/batch/index.js.map +1 -0
  5. package/client.d.ts +24 -27
  6. package/client.d.ts.map +1 -0
  7. package/client.js +197 -1
  8. package/client.js.map +1 -0
  9. package/cql_gen/create_keyspace.d.ts +8 -9
  10. package/cql_gen/create_keyspace.d.ts.map +1 -0
  11. package/cql_gen/create_keyspace.js +17 -1
  12. package/cql_gen/create_keyspace.js.map +1 -0
  13. package/cql_gen/create_table.d.ts +3 -6
  14. package/cql_gen/create_table.d.ts.map +1 -0
  15. package/cql_gen/create_table.js +54 -1
  16. package/cql_gen/create_table.js.map +1 -0
  17. package/document/index.d.ts +11 -14
  18. package/document/index.d.ts.map +1 -0
  19. package/document/index.js +80 -1
  20. package/document/index.js.map +1 -0
  21. package/global.d.ts +6 -0
  22. package/global.d.ts.map +1 -0
  23. package/global.js +3 -0
  24. package/global.js.map +1 -0
  25. package/index.d.ts +9 -7
  26. package/index.d.ts.map +1 -0
  27. package/index.js +20 -1
  28. package/index.js.map +1 -0
  29. package/logger/index.d.ts +7 -8
  30. package/logger/index.d.ts.map +1 -0
  31. package/logger/index.js +18 -1
  32. package/logger/index.js.map +1 -0
  33. package/migrate/index.d.ts +12 -14
  34. package/migrate/index.d.ts.map +1 -0
  35. package/migrate/index.js +297 -4
  36. package/migrate/index.js.map +1 -0
  37. package/model/index.d.ts +64 -67
  38. package/model/index.d.ts.map +1 -0
  39. package/model/index.js +78 -1
  40. package/model/index.js.map +1 -0
  41. package/operations/countAll.d.ts +3 -6
  42. package/operations/countAll.d.ts.map +1 -0
  43. package/operations/countAll.js +16 -1
  44. package/operations/countAll.js.map +1 -0
  45. package/operations/delete.d.ts +5 -8
  46. package/operations/delete.d.ts.map +1 -0
  47. package/operations/delete.js +29 -1
  48. package/operations/delete.js.map +1 -0
  49. package/operations/find.d.ts +4 -7
  50. package/operations/find.d.ts.map +1 -0
  51. package/operations/find.js +25 -1
  52. package/operations/find.js.map +1 -0
  53. package/operations/findOne.d.ts +4 -7
  54. package/operations/findOne.d.ts.map +1 -0
  55. package/operations/findOne.js +27 -1
  56. package/operations/findOne.js.map +1 -0
  57. package/operations/insert.d.ts +5 -8
  58. package/operations/insert.d.ts.map +1 -0
  59. package/operations/insert.js +30 -1
  60. package/operations/insert.js.map +1 -0
  61. package/operations/sync.d.ts +3 -6
  62. package/operations/sync.d.ts.map +1 -0
  63. package/operations/sync.js +22 -1
  64. package/operations/sync.js.map +1 -0
  65. package/operations/tableExists.d.ts +3 -6
  66. package/operations/tableExists.d.ts.map +1 -0
  67. package/operations/tableExists.js +18 -2
  68. package/operations/tableExists.js.map +1 -0
  69. package/operations/update.d.ts +5 -8
  70. package/operations/update.d.ts.map +1 -0
  71. package/operations/update.js +41 -1
  72. package/operations/update.js.map +1 -0
  73. package/package.json +13 -3
  74. package/schema/index.d.ts +13 -15
  75. package/schema/index.d.ts.map +1 -0
  76. package/schema/index.js +27 -1
  77. package/schema/index.js.map +1 -0
  78. package/types.d.ts +98 -84
  79. package/types.d.ts.map +1 -0
  80. package/types.js +37 -1
  81. package/types.js.map +1 -0
  82. package/utils/buildMapper.d.ts +12 -4
  83. package/utils/buildMapper.d.ts.map +1 -0
  84. package/utils/buildMapper.js +13 -1
  85. package/utils/buildMapper.js.map +1 -0
  86. package/utils/delay.d.ts +3 -4
  87. package/utils/delay.d.ts.map +1 -0
  88. package/utils/delay.js +8 -1
  89. package/utils/delay.js.map +1 -0
  90. package/utils/fillDefaults.d.ts +2 -4
  91. package/utils/fillDefaults.d.ts.map +1 -0
  92. package/utils/fillDefaults.js +27 -1
  93. package/utils/fillDefaults.js.map +1 -0
  94. package/utils/isPlainObject.d.ts +3 -4
  95. package/utils/isPlainObject.d.ts.map +1 -0
  96. package/utils/isPlainObject.js +13 -1
  97. package/utils/isPlainObject.js.map +1 -0
  98. package/utils/loadModels.d.ts +3 -4
  99. package/utils/loadModels.d.ts.map +1 -0
  100. package/utils/loadModels.js +67 -1
  101. package/utils/loadModels.js.map +1 -0
  102. package/utils/queryParser.d.ts +5 -8
  103. package/utils/queryParser.d.ts.map +1 -0
  104. package/utils/queryParser.js +110 -1
  105. package/utils/queryParser.js.map +1 -0
  106. package/utils/typeChecker.d.ts +3 -6
  107. package/utils/typeChecker.d.ts.map +1 -0
  108. package/utils/typeChecker.js +96 -1
  109. package/utils/typeChecker.js.map +1 -0
  110. package/driver/auth/index.d.ts +0 -34
  111. package/driver/auth/index.js +0 -1
  112. package/driver/auth/no-auth-provider.js +0 -1
  113. package/driver/auth/plain-text-auth-provider.js +0 -1
  114. package/driver/auth/provider.js +0 -1
  115. package/driver/client-options.js +0 -1
  116. package/driver/client.js +0 -1
  117. package/driver/concurrent/index.d.ts +0 -1
  118. package/driver/concurrent/index.js +0 -1
  119. package/driver/connection.js +0 -1
  120. package/driver/control-connection.js +0 -1
  121. package/driver/encoder.js +0 -1
  122. package/driver/errors.js +0 -1
  123. package/driver/execution-options.js +0 -1
  124. package/driver/execution-profile.js +0 -1
  125. package/driver/host-connection-pool.js +0 -1
  126. package/driver/host.js +0 -1
  127. package/driver/index.d.ts +0 -212
  128. package/driver/index.js +0 -1
  129. package/driver/mapping/cache.js +0 -1
  130. package/driver/mapping/doc-info-adapter.js +0 -1
  131. package/driver/mapping/index.d.ts +0 -142
  132. package/driver/mapping/index.js +0 -1
  133. package/driver/mapping/mapper.js +0 -1
  134. package/driver/mapping/mapping-handler.js +0 -1
  135. package/driver/mapping/model-batch-item.js +0 -1
  136. package/driver/mapping/model-batch-mapper.js +0 -1
  137. package/driver/mapping/model-mapper.js +0 -1
  138. package/driver/mapping/model-mapping-info.js +0 -1
  139. package/driver/mapping/object-selector.js +0 -1
  140. package/driver/mapping/q.js +0 -1
  141. package/driver/mapping/query-generator.js +0 -9
  142. package/driver/mapping/result-mapper.js +0 -4
  143. package/driver/mapping/result.js +0 -1
  144. package/driver/mapping/table-mappings.js +0 -1
  145. package/driver/mapping/tree.js +0 -1
  146. package/driver/metadata/aggregate.js +0 -1
  147. package/driver/metadata/client-state.js +0 -1
  148. package/driver/metadata/data-collection.js +0 -1
  149. package/driver/metadata/event-debouncer.js +0 -1
  150. package/driver/metadata/index.d.ts +0 -184
  151. package/driver/metadata/index.js +0 -1
  152. package/driver/metadata/materialized-view.js +0 -1
  153. package/driver/metadata/schema-function.js +0 -1
  154. package/driver/metadata/schema-index.js +0 -1
  155. package/driver/metadata/schema-parser.js +0 -1
  156. package/driver/metadata/table-metadata.js +0 -1
  157. package/driver/operation-state.js +0 -1
  158. package/driver/policies/address-resolution.js +0 -1
  159. package/driver/policies/index.d.ts +0 -135
  160. package/driver/policies/index.js +0 -1
  161. package/driver/policies/load-balancing.js +0 -1
  162. package/driver/policies/reconnection.js +0 -1
  163. package/driver/policies/retry.js +0 -1
  164. package/driver/policies/speculative-execution.js +0 -1
  165. package/driver/policies/timestamp-generation.js +0 -1
  166. package/driver/prepare-handler.js +0 -1
  167. package/driver/promise-utils.js +0 -1
  168. package/driver/readers.js +0 -1
  169. package/driver/request-execution.js +0 -1
  170. package/driver/request-handler.js +0 -1
  171. package/driver/requests.js +0 -1
  172. package/driver/stream-id-stack.js +0 -1
  173. package/driver/streams.js +0 -1
  174. package/driver/token.js +0 -1
  175. package/driver/tokenizer.js +0 -1
  176. package/driver/types/big-decimal.js +0 -1
  177. package/driver/types/duration.js +0 -1
  178. package/driver/types/index.d.ts +0 -320
  179. package/driver/types/index.js +0 -1
  180. package/driver/types/inet-address.js +0 -1
  181. package/driver/types/integer.js +0 -1
  182. package/driver/types/local-date.js +0 -1
  183. package/driver/types/local-time.js +0 -1
  184. package/driver/types/mutable-long.js +0 -1
  185. package/driver/types/protocol-version.js +0 -1
  186. package/driver/types/result-set.js +0 -1
  187. package/driver/types/result-stream.js +0 -1
  188. package/driver/types/row.js +0 -1
  189. package/driver/types/time-uuid.js +0 -1
  190. package/driver/types/tuple.js +0 -1
  191. package/driver/types/uuid.js +0 -1
  192. package/driver/types/vector.js +0 -1
  193. package/driver/types/version-number.js +0 -1
  194. package/driver/utils.js +0 -4
  195. package/driver/writers.js +0 -1
  196. package/package.js +0 -1
package/types.d.ts CHANGED
@@ -1,93 +1,107 @@
1
- import { mapping } from "./driver/mapping/index.js";
2
- import { ClientOptions } from "./driver/index.js";
3
- import { Schema } from "./schema/index.js";
4
- import { Document } from "./document/index.js";
5
-
6
- //#region src/types.d.ts
7
- type ClientConfig = {
8
- modelsPath?: string;
9
- contactPoints?: string[];
10
- localDataCenter?: string;
11
- keyspace?: string;
12
- port?: number;
13
- maxRetries?: number;
14
- retryDelay?: number;
15
- pooling?: {
16
- coreConnectionsPerHost?: Record<string, number>;
17
- maxRequestsPerConnection?: number;
18
- };
1
+ import { ClientOptions } from "./driver";
2
+ import Document from "./document";
3
+ import { Schema } from "./schema";
4
+ import type { mapping } from "./driver/mapping";
5
+ export type ClientConfig = {
6
+ modelsPath?: string;
7
+ contactPoints?: string[];
8
+ localDataCenter?: string;
9
+ keyspace?: string;
10
+ port?: number;
11
+ maxRetries?: number;
12
+ retryDelay?: number;
13
+ pooling?: {
14
+ coreConnectionsPerHost?: Record<string, number>;
15
+ maxRequestsPerConnection?: number;
16
+ };
19
17
  } & ClientOptions;
20
- declare enum ColumnTypes {
21
- Ascii = "ascii",
22
- Bigint = "bigint",
23
- Blob = "blob",
24
- Boolean = "boolean",
25
- Counter = "counter",
26
- Date = "date",
27
- Decimal = "decimal",
28
- Double = "double",
29
- Duration = "duration",
30
- Float = "float",
31
- Frozen = "frozen",
32
- Inet = "inet",
33
- Int = "int",
34
- List = "list",
35
- Map = "map",
36
- Set = "set",
37
- Smallint = "smallint",
38
- Text = "text",
39
- Time = "time",
40
- Timestamp = "timestamp",
41
- Timeuuid = "timeuuid",
42
- Tinyint = "tinyint",
43
- Tuple = "tuple",
44
- Uuid = "uuid",
45
- Varchar = "varchar",
46
- Varint = "varint"
18
+ export declare enum ColumnTypes {
19
+ Ascii = "ascii",
20
+ Bigint = "bigint",
21
+ Blob = "blob",
22
+ Boolean = "boolean",
23
+ Counter = "counter",
24
+ Date = "date",
25
+ Decimal = "decimal",
26
+ Double = "double",
27
+ Duration = "duration",
28
+ Float = "float",
29
+ Frozen = "frozen",
30
+ Inet = "inet",
31
+ Int = "int",
32
+ List = "list",
33
+ Map = "map",
34
+ Set = "set",
35
+ Smallint = "smallint",
36
+ Text = "text",
37
+ Time = "time",
38
+ Timestamp = "timestamp",
39
+ Timeuuid = "timeuuid",
40
+ Tinyint = "tinyint",
41
+ Tuple = "tuple",
42
+ Uuid = "uuid",
43
+ Varchar = "varchar",
44
+ Varint = "varint"
47
45
  }
48
- type TableKeys<T> = (keyof T | TableKeys<T>)[];
49
- type TableClusteringOrder<T> = Partial<Record<keyof T, "asc" | "desc">>;
50
- interface Column<T, Required extends boolean = false> {
51
- type?: ColumnTypes[] | string;
52
- required?: Required;
46
+ export type TableKeys<T> = (keyof T | TableKeys<T>)[];
47
+ export type TableClusteringOrder<T> = Partial<Record<keyof T, "asc" | "desc">>;
48
+ export interface Column<T, Required extends boolean = false> {
49
+ type?: ColumnTypes[] | string;
50
+ required?: Required;
53
51
  }
54
- declare const defineColumn: <T>() => <R extends boolean = false>(config: {
55
- type: any;
56
- required?: R;
52
+ export declare const defineColumn: <T>() => <R extends boolean = false>(config: {
53
+ type: any;
54
+ required?: R;
57
55
  }) => Column<T, R>;
58
- type QueryOperators<T> = {
59
- $eq?: T;
60
- $ne?: T;
61
- $in?: T[];
62
- $gt?: T;
63
- $gte?: T;
64
- $lt?: T;
65
- $lte?: T;
66
- $and?: Query<T>[];
67
- __v?: number;
56
+ export type QueryOperators<T> = {
57
+ $eq?: T;
58
+ $ne?: T;
59
+ $in?: T[];
60
+ $gt?: T;
61
+ $gte?: T;
62
+ $lt?: T;
63
+ $lte?: T;
64
+ $and?: Query<T>[];
65
+ __v?: number;
68
66
  };
69
- type Query<T> = { [K in keyof T]?: T[K] | QueryOperators<T[K]> };
70
- type FindQueryOptions<T> = {
71
- raw?: boolean;
72
- orderBy?: { [K in keyof T]?: "asc" | "desc" };
67
+ export type Query<T> = {
68
+ [K in keyof T]?: T[K] | QueryOperators<T[K]>;
69
+ };
70
+ export type FindQueryOptions<T> = {
71
+ raw?: boolean;
72
+ orderBy?: {
73
+ [K in keyof T]?: "asc" | "desc";
74
+ };
73
75
  } & mapping.FindDocInfo;
74
- type UpdateQueryOptions<T> = {
75
- batch?: boolean;
76
- raw?: boolean;
77
- orderBy?: { [K in keyof T]?: "asc" | "desc" };
78
- when?: { [K in keyof T]?: any };
76
+ export type UpdateQueryOptions<T> = {
77
+ batch?: boolean;
78
+ raw?: boolean;
79
+ orderBy?: {
80
+ [K in keyof T]?: "asc" | "desc";
81
+ };
82
+ when?: {
83
+ [K in keyof T]?: any;
84
+ };
79
85
  } & mapping.UpdateDocInfo;
80
- type InsertQueryOptions<T> = {
81
- batch?: boolean;
82
- raw?: boolean;
86
+ export type InsertQueryOptions<T> = {
87
+ batch?: boolean;
88
+ raw?: boolean;
83
89
  } & mapping.InsertDocInfo;
84
- type DeleteQueryOptions<T> = {
85
- batch?: boolean;
86
- raw?: boolean;
87
- when?: { [K in keyof T]?: any };
90
+ export type DeleteQueryOptions<T> = {
91
+ batch?: boolean;
92
+ raw?: boolean;
93
+ when?: {
94
+ [K in keyof T]?: any;
95
+ };
88
96
  } & mapping.RemoveDocInfo;
89
- type Prettify<T> = { [K in keyof T]: T[K] } & {};
90
- type Doc<TDoc = any> = Document<TDoc> & TDoc;
91
- type InferDoc<S> = S extends Schema<infer T> ? Prettify<{ [K in keyof T as K extends `$${string}` ? never : T[K] extends Column<any, true> ? K : never]: T[K] extends Column<infer U, any> ? U : T[K] } & { [K in keyof T as K extends `$${string}` ? never : T[K] extends Column<any, true> ? never : K]?: T[K] extends Column<infer U, any> ? U : T[K] }> : any;
92
- //#endregion
93
- export { ClientConfig, Column, ColumnTypes, DeleteQueryOptions, Doc, FindQueryOptions, InferDoc, InsertQueryOptions, Query, QueryOperators, TableClusteringOrder, TableKeys, UpdateQueryOptions, defineColumn };
97
+ type Prettify<T> = {
98
+ [K in keyof T]: T[K];
99
+ } & {};
100
+ export type Doc<TDoc = any> = Document<TDoc> & TDoc;
101
+ export type InferDoc<S> = S extends Schema<infer T> ? Prettify<{
102
+ [K in keyof T as K extends `$${string}` ? never : T[K] extends Column<any, true> ? K : never]: T[K] extends Column<infer U, any> ? U : T[K];
103
+ } & {
104
+ [K in keyof T as K extends `$${string}` ? never : T[K] extends Column<any, true> ? never : K]?: T[K] extends Column<infer U, any> ? U : T[K];
105
+ }> : any;
106
+ export {};
107
+ //# sourceMappingURL=types.d.ts.map
package/types.d.ts.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/types.js CHANGED
@@ -1 +1,37 @@
1
- let e=function(e){return e.Ascii=`ascii`,e.Bigint=`bigint`,e.Blob=`blob`,e.Boolean=`boolean`,e.Counter=`counter`,e.Date=`date`,e.Decimal=`decimal`,e.Double=`double`,e.Duration=`duration`,e.Float=`float`,e.Frozen=`frozen`,e.Inet=`inet`,e.Int=`int`,e.List=`list`,e.Map=`map`,e.Set=`set`,e.Smallint=`smallint`,e.Text=`text`,e.Time=`time`,e.Timestamp=`timestamp`,e.Timeuuid=`timeuuid`,e.Tinyint=`tinyint`,e.Tuple=`tuple`,e.Uuid=`uuid`,e.Varchar=`varchar`,e.Varint=`varint`,e}({});const defineColumn=()=>e=>e;export{e as ColumnTypes,defineColumn};
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.defineColumn = exports.ColumnTypes = void 0;
4
+ var ColumnTypes;
5
+ (function (ColumnTypes) {
6
+ ColumnTypes["Ascii"] = "ascii";
7
+ ColumnTypes["Bigint"] = "bigint";
8
+ ColumnTypes["Blob"] = "blob";
9
+ ColumnTypes["Boolean"] = "boolean";
10
+ ColumnTypes["Counter"] = "counter";
11
+ ColumnTypes["Date"] = "date";
12
+ ColumnTypes["Decimal"] = "decimal";
13
+ ColumnTypes["Double"] = "double";
14
+ ColumnTypes["Duration"] = "duration";
15
+ ColumnTypes["Float"] = "float";
16
+ ColumnTypes["Frozen"] = "frozen";
17
+ ColumnTypes["Inet"] = "inet";
18
+ ColumnTypes["Int"] = "int";
19
+ ColumnTypes["List"] = "list";
20
+ ColumnTypes["Map"] = "map";
21
+ ColumnTypes["Set"] = "set";
22
+ ColumnTypes["Smallint"] = "smallint";
23
+ ColumnTypes["Text"] = "text";
24
+ ColumnTypes["Time"] = "time";
25
+ ColumnTypes["Timestamp"] = "timestamp";
26
+ ColumnTypes["Timeuuid"] = "timeuuid";
27
+ ColumnTypes["Tinyint"] = "tinyint";
28
+ ColumnTypes["Tuple"] = "tuple";
29
+ ColumnTypes["Uuid"] = "uuid";
30
+ ColumnTypes["Varchar"] = "varchar";
31
+ ColumnTypes["Varint"] = "varint";
32
+ })(ColumnTypes || (exports.ColumnTypes = ColumnTypes = {}));
33
+ const defineColumn = () => (config) => {
34
+ return config;
35
+ };
36
+ exports.defineColumn = defineColumn;
37
+ //# sourceMappingURL=types.js.map
package/types.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAmBA,IAAY,WA2BX;AA3BD,WAAY,WAAW;IACtB,8BAAe,CAAA;IACf,gCAAiB,CAAA;IACjB,4BAAa,CAAA;IACb,kCAAmB,CAAA;IACnB,kCAAmB,CAAA;IACnB,4BAAa,CAAA;IACb,kCAAmB,CAAA;IACnB,gCAAiB,CAAA;IACjB,oCAAqB,CAAA;IACrB,8BAAe,CAAA;IACf,gCAAiB,CAAA;IACjB,4BAAa,CAAA;IACb,0BAAW,CAAA;IACX,4BAAa,CAAA;IACb,0BAAW,CAAA;IACX,0BAAW,CAAA;IACX,oCAAqB,CAAA;IACrB,4BAAa,CAAA;IACb,4BAAa,CAAA;IACb,sCAAuB,CAAA;IACvB,oCAAqB,CAAA;IACrB,kCAAmB,CAAA;IACnB,8BAAe,CAAA;IACf,4BAAa,CAAA;IACb,kCAAmB,CAAA;IACnB,gCAAiB,CAAA;AAClB,CAAC,EA3BW,WAAW,aAAX,WAAW,GAAX,WAAW,QA2BtB;AAUM,MAAM,YAAY,GACxB,GAAM,EAAE,CACR,CAA4B,MAG3B,EAAgB,EAAE;IAClB,OAAO,MAAa,CAAA;AACrB,CAAC,CAAA;AAPW,QAAA,YAAY,GAAZ,YAAY,CAOvB"}
@@ -1,4 +1,12 @@
1
- //#region src/utils/buildMapper.d.ts
2
- declare const _default: (map: any) => any;
3
- //#endregion
4
- export { _default as default };
1
+ export type MapSchema = {
2
+ name: string;
3
+ schema: {
4
+ table_name: string;
5
+ columns: {
6
+ [name: string]: string;
7
+ };
8
+ };
9
+ };
10
+ export default _default;
11
+ declare function _default(map: MapSchema[]): {};
12
+ //# sourceMappingURL=buildMapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildMapper.d.ts","sourceRoot":"","sources":["../../src/utils/buildMapper.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE;QACP,UAAU,EAAE,MAAM,CAAA;QAClB,OAAO,EAAE;YACR,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;SACtB,CAAA;KACD,CAAA;CACD,CAAA;;0BACe,GAAG,EAAE,SAAS,EAAE"}
@@ -1 +1,13 @@
1
- var buildMapper_default=e=>e.reduce((e,{name:t,schema:n})=>({...e,[t]:{tables:[n.table_name]}}),{});export{buildMapper_default as default};
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = (map) => {
4
+ return map.reduce((obj, { name, schema }) => {
5
+ return {
6
+ ...obj,
7
+ [name]: {
8
+ tables: [schema.table_name],
9
+ },
10
+ };
11
+ }, {});
12
+ };
13
+ //# sourceMappingURL=buildMapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildMapper.js","sourceRoot":"","sources":["../../src/utils/buildMapper.ts"],"names":[],"mappings":";;kBASe,CAAC,GAAgB,EAAE,EAAE;IACnC,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE;QAC3C,OAAO;YACN,GAAG,GAAG;YACN,CAAC,IAAI,CAAC,EAAE;gBACP,MAAM,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC;aAC3B;SACD,CAAA;IACF,CAAC,EAAE,EAAE,CAAC,CAAA;AACP,CAAC"}
package/utils/delay.d.ts CHANGED
@@ -1,4 +1,3 @@
1
- //#region src/utils/delay.d.ts
2
- declare function delay(ms: number): Promise<void>;
3
- //#endregion
4
- export { delay as default, delay };
1
+ export declare function delay(ms: number): Promise<void>;
2
+ export default delay;
3
+ //# sourceMappingURL=delay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delay.d.ts","sourceRoot":"","sources":["../../src/utils/delay.ts"],"names":[],"mappings":"AAAA,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/C;eAEc,KAAK"}
package/utils/delay.js CHANGED
@@ -1 +1,8 @@
1
- function delay(e){return new Promise(t=>setTimeout(t,e))}export{delay as default,delay};
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.delay = delay;
4
+ function delay(ms) {
5
+ return new Promise((resolve) => setTimeout(resolve, ms));
6
+ }
7
+ exports.default = delay;
8
+ //# sourceMappingURL=delay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delay.js","sourceRoot":"","sources":["../../src/utils/delay.ts"],"names":[],"mappings":";;;AAAA,eAAsB,EAAU;IAC/B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAA;AACzD,CAAC;kBAEc,KAAK"}
@@ -1,4 +1,2 @@
1
- //#region src/utils/fillDefaults.d.ts
2
- declare function fillDefaults(schema: any, data: any): any;
3
- //#endregion
4
- export { fillDefaults as default };
1
+ export default function fillDefaults(schema: any, data: any): any;
2
+ //# sourceMappingURL=fillDefaults.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fillDefaults.d.ts","sourceRoot":"","sources":["../../src/utils/fillDefaults.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,OA6B1D"}
@@ -1 +1,27 @@
1
- function fillDefaults(e,t){let n=e.options?.defaults;if(!n||Object.keys(n).length===0)return t;let r=!1;for(let e in n)if(t[e]==null){r=!0;break}if(!r)return t;let i=Object.assign({},t);for(let e in n)i[e]??(i[e]=n[e]);return i}export{fillDefaults as default};
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = fillDefaults;
4
+ function fillDefaults(schema, data) {
5
+ const defaults = schema.options?.defaults;
6
+ if (!defaults || Object.keys(defaults).length === 0) {
7
+ return data;
8
+ }
9
+ let needsDefaults = false;
10
+ for (const key in defaults) {
11
+ if (data[key] == null) {
12
+ needsDefaults = true;
13
+ break;
14
+ }
15
+ }
16
+ if (!needsDefaults) {
17
+ return data;
18
+ }
19
+ const result = Object.assign({}, data);
20
+ for (const key in defaults) {
21
+ if (result[key] == null) {
22
+ result[key] = defaults[key];
23
+ }
24
+ }
25
+ return result;
26
+ }
27
+ //# sourceMappingURL=fillDefaults.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fillDefaults.js","sourceRoot":"","sources":["../../src/utils/fillDefaults.ts"],"names":[],"mappings":";;;AAAA,sBAAqC,MAAW,EAAE,IAAS;IAC1D,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAA;IAEzC,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrD,OAAO,IAAI,CAAA;IACZ,CAAC;IAED,IAAI,aAAa,GAAG,KAAK,CAAA;IAEzB,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC5B,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;YACvB,aAAa,GAAG,IAAI,CAAA;YACpB,MAAK;QACN,CAAC;IACF,CAAC;IAED,IAAI,CAAC,aAAa,EAAE,CAAC;QACpB,OAAO,IAAI,CAAA;IACZ,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;IAEtC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC5B,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;YACzB,MAAM,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAA;QAC5B,CAAC;IACF,CAAC;IAED,OAAO,MAAM,CAAA;AACd,CAAC"}
@@ -1,4 +1,3 @@
1
- //#region src/utils/isPlainObject.d.ts
2
- declare const _default: (value: any) => boolean;
3
- //#endregion
4
- export { _default as default };
1
+ export default _default;
2
+ declare function _default(value: any): boolean;
3
+ //# sourceMappingURL=isPlainObject.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isPlainObject.d.ts","sourceRoot":"","sources":["../../src/utils/isPlainObject.ts"],"names":[],"mappings":";0BAAgB,KAAK,EAAE,GAAG,GAAG,OAAO"}
@@ -1 +1,13 @@
1
- var isPlainObject_default=e=>{if(typeof e!=`object`||!e||Object.prototype.toString.call(e)!==`[object Object]`)return!1;let t=Object.getPrototypeOf(e);return t===null||t===Object.prototype};export{isPlainObject_default as default};
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = (value) => {
4
+ if (typeof value !== "object" || value === null) {
5
+ return false;
6
+ }
7
+ if (Object.prototype.toString.call(value) !== "[object Object]") {
8
+ return false;
9
+ }
10
+ const proto = Object.getPrototypeOf(value);
11
+ return proto === null || proto === Object.prototype;
12
+ };
13
+ //# sourceMappingURL=isPlainObject.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isPlainObject.js","sourceRoot":"","sources":["../../src/utils/isPlainObject.ts"],"names":[],"mappings":";;kBAAe,CAAC,KAAU,EAAW,EAAE;IACtC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACjD,OAAO,KAAK,CAAA;IACb,CAAC;IAED,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,iBAAiB,EAAE,CAAC;QACjE,OAAO,KAAK,CAAA;IACb,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;IAE1C,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,MAAM,CAAC,SAAS,CAAA;AACpD,CAAC"}
@@ -1,4 +1,3 @@
1
- //#region src/utils/loadModels.d.ts
2
- declare const _default: (fromPath: string) => Promise<any[]>;
3
- //#endregion
4
- export { _default as default };
1
+ export default _default;
2
+ declare function _default(fromPath: string): Promise<any[]>;
3
+ //# sourceMappingURL=loadModels.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loadModels.d.ts","sourceRoot":"","sources":["../../src/utils/loadModels.ts"],"names":[],"mappings":";0BAGsB,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC"}
@@ -1 +1,67 @@
1
- import e from"node:path";import t from"node:fs";var loadModels_default=async n=>{if(typeof n!=`string`)return[];if(!t.existsSync(n))return console.warn(`Cannot load models from [${n}] case this path does not exist`),[];let r=[],i=await t.promises.readdir(n);i=i.filter(e=>e.endsWith(`.js`)||e.endsWith(`.ts`));for await(let t of i){let i=t.replace(`.js`,``),a=e.join(n,t);try{let e=await import(a);e=e.default,r.push(e)}catch(e){console.error(`Failed to load model [${i}]:`,e);continue}}return r};export{loadModels_default as default};
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ const node_fs_1 = __importDefault(require("node:fs"));
40
+ const node_path_1 = __importDefault(require("node:path"));
41
+ exports.default = async (fromPath) => {
42
+ if (typeof fromPath !== "string") {
43
+ return [];
44
+ }
45
+ if (!node_fs_1.default.existsSync(fromPath)) {
46
+ console.warn(`Cannot load models from [${fromPath}] case this path does not exist`);
47
+ return [];
48
+ }
49
+ let mods = [];
50
+ let files = await node_fs_1.default.promises.readdir(fromPath);
51
+ files = files.filter((file) => file.endsWith(".js") || file.endsWith(".ts"));
52
+ for await (const file of files) {
53
+ const name = file.replace(".js", "");
54
+ const file_path = node_path_1.default.join(fromPath, file);
55
+ try {
56
+ let mod = await Promise.resolve(`${file_path}`).then(s => __importStar(require(s)));
57
+ mod = mod.default;
58
+ mods.push(mod);
59
+ }
60
+ catch (error) {
61
+ console.error(`Failed to load model [${name}]:`, error);
62
+ continue;
63
+ }
64
+ }
65
+ return mods;
66
+ };
67
+ //# sourceMappingURL=loadModels.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loadModels.js","sourceRoot":"","sources":["../../src/utils/loadModels.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sDAAwB;AACxB,0DAA4B;kBAEb,KAAK,EAAE,QAAgB,EAAkB,EAAE;IACzD,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAClC,OAAO,EAAE,CAAA;IACV,CAAC;IAED,IAAI,CAAC,iBAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,IAAI,CACX,4BAA4B,QAAQ,iCAAiC,CACrE,CAAA;QACD,OAAO,EAAE,CAAA;IACV,CAAC;IAED,IAAI,IAAI,GAAU,EAAE,CAAA;IAEpB,IAAI,KAAK,GAAG,MAAM,iBAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IAE/C,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;IAE5E,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;QACpC,MAAM,SAAS,GAAG,mBAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;QAE3C,IAAI,CAAC;YACJ,IAAI,GAAG,GAAG,yBAAa,SAAS,uCAAC,CAAA;YAEjC,GAAG,GAAG,GAAG,CAAC,OAAO,CAAA;YAEjB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,OAAO,CAAC,KAAK,CAAC,yBAAyB,IAAI,IAAI,EAAE,KAAK,CAAC,CAAA;YACvD,SAAQ;QACT,CAAC;IACF,CAAC;IAED,OAAO,IAAI,CAAA;AACZ,CAAC"}
@@ -1,8 +1,5 @@
1
- import { Model } from "../model/index.js";
2
-
3
- //#region src/utils/queryParser.d.ts
4
- declare function queryParser(model: Model<any>, query: any, depth?: number): any;
5
- declare function isValidFieldName(fields: Record<string, any>, fieldName: string): boolean;
6
- declare function isValidOperator(operator: string): boolean;
7
- //#endregion
8
- export { queryParser as default, isValidFieldName, isValidOperator };
1
+ import type { Model } from "../model";
2
+ export default function queryParser(model: Model<any>, query: any, depth?: number): any;
3
+ export declare function isValidFieldName(fields: Record<string, any>, fieldName: string): boolean;
4
+ export declare function isValidOperator(operator: string): boolean;
5
+ //# sourceMappingURL=queryParser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queryParser.d.ts","sourceRoot":"","sources":["../../src/utils/queryParser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AA6ErC,MAAM,CAAC,OAAO,UAAU,WAAW,CAClC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,EACjB,KAAK,EAAE,GAAG,EACV,KAAK,GAAE,MAAU,OA6BjB;AAWD,wBAAgB,gBAAgB,CAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3B,SAAS,EAAE,MAAM,GACf,OAAO,CAYT;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEzD"}
@@ -1 +1,110 @@
1
- import e from"../driver/index.js";import t from"./isPlainObject.js";const{q:n}=e.mapping,r=1e3,i=new Set([`$eq`,`$ne`,`$gt`,`$gte`,`$lt`,`$lte`,`$in`]);function requireNotNull(e,t){if(e==null)throw Error(`${t} operator cannot compare with null or undefined`)}function buildOperator(e,t){if(!i.has(e))throw Error(`Invalid operator: ${e}`);switch(e){case`$eq`:return t;case`$ne`:return requireNotNull(t,`$ne`),n.notEq(t);case`$in`:if(!Array.isArray(t))throw Error(`$in operator requires an array`);if(t.length>r)throw Error(`$in operator exceeds maximum of ${r} elements`);for(let e=0;e<t.length;e++)if(t[e]===null||t[e]===void 0)throw Error(`$in array element at index ${e} cannot be null or undefined`);return n.in_(t);case`$gt`:return requireNotNull(t,`$gt`),n.gt(t);case`$gte`:return requireNotNull(t,`$gte`),n.gte(t);case`$lt`:return requireNotNull(t,`$lt`),n.lt(t);case`$lte`:return requireNotNull(t,`$lte`),n.lte(t)}}function queryParser(e,n,r=0){if(r>3)throw Error(`Query depth exceeds maximum of 3`);if(!n||typeof n!=`object`)return n;let i={};for(let r of Object.keys(n)){let a=n[r];if(!isValidFieldName(e.schema.fields,r))throw Error(`Invalid field name: [${r}] or it does not exist in schema`);t(a)?i[r]=parseField(a):i[r]=a}return i}function parseField(e){let t=Object.keys(e).map(t=>buildOperator(t,e[t]));return t.length===1?t[0]:n.and(...t)}function isValidFieldName(e,t){for(let e of[/^[0-9]/,/[^a-zA-Z0-9_]/,/^(select|insert|update|delete|drop|create|alter|truncate)$/i])if(e.test(t))return!1;return t in e}function isValidOperator(e){return i.has(e)}export{queryParser as default,isValidFieldName,isValidOperator};
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.default = queryParser;
7
+ exports.isValidFieldName = isValidFieldName;
8
+ exports.isValidOperator = isValidOperator;
9
+ // @ts-ignore
10
+ const driver_1 = __importDefault(require("../driver"));
11
+ const isPlainObject_1 = __importDefault(require("./isPlainObject"));
12
+ const { q } = driver_1.default.mapping;
13
+ const MAX_QUERY_DEPTH = 3;
14
+ const MAX_IN_ELEMENTS = 1000;
15
+ const VALID_OPERATORS = new Set([
16
+ "$eq",
17
+ "$ne",
18
+ "$gt",
19
+ "$gte",
20
+ "$lt",
21
+ "$lte",
22
+ "$in",
23
+ ]);
24
+ function requireNotNull(value, operator) {
25
+ if (value === null || value === undefined) {
26
+ throw new Error(`${operator} operator cannot compare with null or undefined`);
27
+ }
28
+ }
29
+ function buildOperator(operator, opValue) {
30
+ if (!VALID_OPERATORS.has(operator)) {
31
+ throw new Error(`Invalid operator: ${operator}`);
32
+ }
33
+ switch (operator) {
34
+ case "$eq":
35
+ return opValue;
36
+ case "$ne":
37
+ requireNotNull(opValue, "$ne");
38
+ return q.notEq(opValue);
39
+ case "$in":
40
+ if (!Array.isArray(opValue)) {
41
+ throw new Error("$in operator requires an array");
42
+ }
43
+ if (opValue.length > MAX_IN_ELEMENTS) {
44
+ throw new Error(`$in operator exceeds maximum of ${MAX_IN_ELEMENTS} elements`);
45
+ }
46
+ for (let i = 0; i < opValue.length; i++) {
47
+ if (opValue[i] === null || opValue[i] === undefined) {
48
+ throw new Error(`$in array element at index ${i} cannot be null or undefined`);
49
+ }
50
+ }
51
+ return q.in_(opValue);
52
+ case "$gt":
53
+ requireNotNull(opValue, "$gt");
54
+ return q.gt(opValue);
55
+ case "$gte":
56
+ requireNotNull(opValue, "$gte");
57
+ return q.gte(opValue);
58
+ case "$lt":
59
+ requireNotNull(opValue, "$lt");
60
+ return q.lt(opValue);
61
+ case "$lte":
62
+ requireNotNull(opValue, "$lte");
63
+ return q.lte(opValue);
64
+ }
65
+ }
66
+ function queryParser(model, query, depth = 0) {
67
+ if (depth > MAX_QUERY_DEPTH) {
68
+ throw new Error(`Query depth exceeds maximum of ${MAX_QUERY_DEPTH}`);
69
+ }
70
+ if (!query || typeof query !== "object") {
71
+ return query;
72
+ }
73
+ const parsedQuery = {};
74
+ for (const fieldKey of Object.keys(query)) {
75
+ const value = query[fieldKey];
76
+ if (!isValidFieldName(model.schema.fields, fieldKey)) {
77
+ throw new Error(`Invalid field name: [${fieldKey}] or it does not exist in schema`);
78
+ }
79
+ if ((0, isPlainObject_1.default)(value)) {
80
+ parsedQuery[fieldKey] = parseField(value);
81
+ }
82
+ else {
83
+ parsedQuery[fieldKey] = value;
84
+ }
85
+ }
86
+ return parsedQuery;
87
+ }
88
+ function parseField(value) {
89
+ const operators = Object.keys(value);
90
+ const compiledOps = operators.map((op) => buildOperator(op, value[op]));
91
+ return compiledOps.length === 1
92
+ ? compiledOps[0]
93
+ : q.and(...compiledOps);
94
+ }
95
+ function isValidFieldName(fields, fieldName) {
96
+ const invalidPatterns = [
97
+ /^[0-9]/,
98
+ /[^a-zA-Z0-9_]/,
99
+ /^(select|insert|update|delete|drop|create|alter|truncate)$/i,
100
+ ];
101
+ for (const pattern of invalidPatterns) {
102
+ if (pattern.test(fieldName))
103
+ return false;
104
+ }
105
+ return fieldName in fields;
106
+ }
107
+ function isValidOperator(operator) {
108
+ return VALID_OPERATORS.has(operator);
109
+ }
110
+ //# sourceMappingURL=queryParser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queryParser.js","sourceRoot":"","sources":["../../src/utils/queryParser.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,3 @@
1
- import { Model } from "../model/index.js";
2
-
3
- //#region src/utils/typeChecker.d.ts
4
- declare function typeChecker(model: Model<any>, data: any): boolean;
5
- //#endregion
6
- export { typeChecker as default };
1
+ import type { Model } from "../model";
2
+ export default function typeChecker(model: Model<any>, data: any): boolean;
3
+ //# sourceMappingURL=typeChecker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typeChecker.d.ts","sourceRoot":"","sources":["../../src/utils/typeChecker.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAkFrC,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAoCzE"}