@spinajs/orm 2.0.86 → 2.0.88

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 (163) hide show
  1. package/lib/{builders.d.ts → cjs/builders.d.ts} +0 -0
  2. package/lib/cjs/builders.d.ts.map +1 -0
  3. package/lib/cjs/builders.js +1554 -0
  4. package/lib/cjs/builders.js.map +1 -0
  5. package/lib/cjs/converters.d.ts +21 -0
  6. package/lib/cjs/converters.d.ts.map +1 -0
  7. package/lib/cjs/converters.js +86 -0
  8. package/lib/cjs/converters.js.map +1 -0
  9. package/lib/{decorators.d.ts → cjs/decorators.d.ts} +0 -0
  10. package/lib/cjs/decorators.d.ts.map +1 -0
  11. package/lib/cjs/decorators.js +453 -0
  12. package/lib/cjs/decorators.js.map +1 -0
  13. package/lib/{dehydrators.d.ts → cjs/dehydrators.d.ts} +0 -0
  14. package/lib/cjs/dehydrators.d.ts.map +1 -0
  15. package/lib/cjs/dehydrators.js +48 -0
  16. package/lib/cjs/dehydrators.js.map +1 -0
  17. package/lib/{driver.d.ts → cjs/driver.d.ts} +0 -0
  18. package/lib/cjs/driver.d.ts.map +1 -0
  19. package/lib/cjs/driver.js +100 -0
  20. package/lib/cjs/driver.js.map +1 -0
  21. package/lib/{enums.d.ts → cjs/enums.d.ts} +0 -0
  22. package/lib/cjs/enums.d.ts.map +1 -0
  23. package/lib/cjs/enums.js +125 -0
  24. package/lib/cjs/enums.js.map +1 -0
  25. package/lib/{exceptions.d.ts → cjs/exceptions.d.ts} +0 -0
  26. package/lib/cjs/exceptions.d.ts.map +1 -0
  27. package/lib/cjs/exceptions.js +11 -0
  28. package/lib/cjs/exceptions.js.map +1 -0
  29. package/lib/{hydrators.d.ts → cjs/hydrators.d.ts} +0 -0
  30. package/lib/cjs/hydrators.d.ts.map +1 -0
  31. package/lib/cjs/hydrators.js +130 -0
  32. package/lib/cjs/hydrators.js.map +1 -0
  33. package/lib/{index.d.ts → cjs/index.d.ts} +0 -0
  34. package/lib/cjs/index.d.ts.map +1 -0
  35. package/lib/cjs/index.js +32 -0
  36. package/lib/cjs/index.js.map +1 -0
  37. package/lib/{interfaces.d.ts → cjs/interfaces.d.ts} +0 -0
  38. package/lib/cjs/interfaces.d.ts.map +1 -0
  39. package/lib/cjs/interfaces.js +299 -0
  40. package/lib/cjs/interfaces.js.map +1 -0
  41. package/lib/{model.d.ts → cjs/model.d.ts} +0 -0
  42. package/lib/cjs/model.d.ts.map +1 -0
  43. package/lib/cjs/model.js +760 -0
  44. package/lib/cjs/model.js.map +1 -0
  45. package/lib/{orm.d.ts → cjs/orm.d.ts} +0 -0
  46. package/lib/cjs/orm.d.ts.map +1 -0
  47. package/lib/cjs/orm.js +329 -0
  48. package/lib/cjs/orm.js.map +1 -0
  49. package/lib/{relations.d.ts → cjs/relations.d.ts} +0 -0
  50. package/lib/cjs/relations.d.ts.map +1 -0
  51. package/lib/cjs/relations.js +630 -0
  52. package/lib/cjs/relations.js.map +1 -0
  53. package/lib/{statements.d.ts → cjs/statements.d.ts} +0 -0
  54. package/lib/cjs/statements.d.ts.map +1 -0
  55. package/lib/cjs/statements.js +296 -0
  56. package/lib/cjs/statements.js.map +1 -0
  57. package/lib/{types.d.ts → cjs/types.d.ts} +0 -0
  58. package/lib/cjs/types.d.ts.map +1 -0
  59. package/lib/cjs/types.js +3 -0
  60. package/lib/cjs/types.js.map +1 -0
  61. package/lib/{wrappers.d.ts → cjs/wrappers.d.ts} +0 -0
  62. package/lib/cjs/wrappers.d.ts.map +1 -0
  63. package/lib/cjs/wrappers.js +13 -0
  64. package/lib/cjs/wrappers.js.map +1 -0
  65. package/lib/mjs/builders.d.ts +639 -0
  66. package/lib/mjs/builders.d.ts.map +1 -0
  67. package/lib/{builders.js → mjs/builders.js} +0 -0
  68. package/lib/mjs/builders.js.map +1 -0
  69. package/lib/{converters.d.ts → mjs/converters.d.ts} +0 -0
  70. package/lib/mjs/converters.d.ts.map +1 -0
  71. package/lib/{converters.js → mjs/converters.js} +0 -0
  72. package/lib/mjs/converters.js.map +1 -0
  73. package/lib/mjs/decorators.d.ts +153 -0
  74. package/lib/mjs/decorators.d.ts.map +1 -0
  75. package/lib/{decorators.js → mjs/decorators.js} +0 -0
  76. package/lib/mjs/decorators.js.map +1 -0
  77. package/lib/mjs/dehydrators.d.ts +11 -0
  78. package/lib/mjs/dehydrators.d.ts.map +1 -0
  79. package/lib/{dehydrators.js → mjs/dehydrators.js} +0 -0
  80. package/lib/mjs/dehydrators.js.map +1 -0
  81. package/lib/mjs/driver.d.ts +83 -0
  82. package/lib/mjs/driver.d.ts.map +1 -0
  83. package/lib/{driver.js → mjs/driver.js} +0 -0
  84. package/lib/mjs/driver.js.map +1 -0
  85. package/lib/mjs/enums.d.ts +116 -0
  86. package/lib/mjs/enums.d.ts.map +1 -0
  87. package/lib/{enums.js → mjs/enums.js} +7 -7
  88. package/lib/mjs/enums.js.map +1 -0
  89. package/lib/mjs/exceptions.d.ts +7 -0
  90. package/lib/mjs/exceptions.d.ts.map +1 -0
  91. package/lib/{exceptions.js → mjs/exceptions.js} +0 -0
  92. package/lib/mjs/exceptions.js.map +1 -0
  93. package/lib/mjs/hydrators.d.ts +20 -0
  94. package/lib/mjs/hydrators.d.ts.map +1 -0
  95. package/lib/{hydrators.js → mjs/hydrators.js} +0 -0
  96. package/lib/mjs/hydrators.js.map +1 -0
  97. package/lib/mjs/index.d.ts +16 -0
  98. package/lib/mjs/index.d.ts.map +1 -0
  99. package/lib/{index.js → mjs/index.js} +0 -0
  100. package/lib/mjs/index.js.map +1 -0
  101. package/lib/mjs/interfaces.d.ts +801 -0
  102. package/lib/mjs/interfaces.d.ts.map +1 -0
  103. package/lib/{interfaces.js → mjs/interfaces.js} +6 -6
  104. package/lib/mjs/interfaces.js.map +1 -0
  105. package/lib/mjs/model.d.ts +344 -0
  106. package/lib/mjs/model.d.ts.map +1 -0
  107. package/lib/{model.js → mjs/model.js} +0 -0
  108. package/lib/mjs/model.js.map +1 -0
  109. package/lib/mjs/orm.d.ts +63 -0
  110. package/lib/mjs/orm.d.ts.map +1 -0
  111. package/lib/{orm.js → mjs/orm.js} +0 -0
  112. package/lib/mjs/orm.js.map +1 -0
  113. package/lib/mjs/relations.d.ts +176 -0
  114. package/lib/mjs/relations.d.ts.map +1 -0
  115. package/lib/{relations.js → mjs/relations.js} +0 -0
  116. package/lib/mjs/relations.js.map +1 -0
  117. package/lib/mjs/statements.d.ts +139 -0
  118. package/lib/mjs/statements.d.ts.map +1 -0
  119. package/lib/{statements.js → mjs/statements.js} +0 -0
  120. package/lib/mjs/statements.js.map +1 -0
  121. package/lib/mjs/types.d.ts +25 -0
  122. package/lib/mjs/types.d.ts.map +1 -0
  123. package/lib/{types.js → mjs/types.js} +0 -0
  124. package/lib/mjs/types.js.map +1 -0
  125. package/lib/mjs/wrappers.d.ts +6 -0
  126. package/lib/mjs/wrappers.d.ts.map +1 -0
  127. package/lib/{wrappers.js → mjs/wrappers.js} +0 -0
  128. package/lib/mjs/wrappers.js.map +1 -0
  129. package/lib/tsconfig.cjs.tsbuildinfo +1 -0
  130. package/lib/tsconfig.tsbuildinfo +1 -0
  131. package/package.json +16 -8
  132. package/lib/builders.d.ts.map +0 -1
  133. package/lib/builders.js.map +0 -1
  134. package/lib/converters.d.ts.map +0 -1
  135. package/lib/converters.js.map +0 -1
  136. package/lib/decorators.d.ts.map +0 -1
  137. package/lib/decorators.js.map +0 -1
  138. package/lib/dehydrators.d.ts.map +0 -1
  139. package/lib/dehydrators.js.map +0 -1
  140. package/lib/driver.d.ts.map +0 -1
  141. package/lib/driver.js.map +0 -1
  142. package/lib/enums.d.ts.map +0 -1
  143. package/lib/enums.js.map +0 -1
  144. package/lib/exceptions.d.ts.map +0 -1
  145. package/lib/exceptions.js.map +0 -1
  146. package/lib/hydrators.d.ts.map +0 -1
  147. package/lib/hydrators.js.map +0 -1
  148. package/lib/index.d.ts.map +0 -1
  149. package/lib/index.js.map +0 -1
  150. package/lib/interfaces.d.ts.map +0 -1
  151. package/lib/interfaces.js.map +0 -1
  152. package/lib/model.d.ts.map +0 -1
  153. package/lib/model.js.map +0 -1
  154. package/lib/orm.d.ts.map +0 -1
  155. package/lib/orm.js.map +0 -1
  156. package/lib/relations.d.ts.map +0 -1
  157. package/lib/relations.js.map +0 -1
  158. package/lib/statements.d.ts.map +0 -1
  159. package/lib/statements.js.map +0 -1
  160. package/lib/types.d.ts.map +0 -1
  161. package/lib/types.js.map +0 -1
  162. package/lib/wrappers.d.ts.map +0 -1
  163. package/lib/wrappers.js.map +0 -1
@@ -0,0 +1,453 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Set = exports.UniversalConverter = exports.Json = exports.DateTime = exports.HasManyToMany = exports.Historical = exports.HasMany = exports.ForwardBelongsTo = exports.BelongsTo = exports.forwardRef = exports.Recursive = exports.DiscriminationMap = exports.JunctionTable = exports.Uuid = exports.Ignore = exports.Primary = exports.Archived = exports.SoftDelete = exports.UpdatedAt = exports.CreatedAt = exports.Model = exports.Connection = exports.Migration = exports.extractDecoratorDescriptor = exports.MIGRATION_DESCRIPTION_SYMBOL = exports.MODEL_DESCTRIPTION_SYMBOL = void 0;
4
+ const interfaces_js_1 = require("./interfaces.js");
5
+ /* eslint-disable prettier/prettier */
6
+ const converters_js_1 = require("./converters.js");
7
+ const di_1 = require("@spinajs/di");
8
+ const interfaces_js_2 = require("./interfaces.js");
9
+ require("reflect-metadata");
10
+ const model_js_1 = require("./model.js");
11
+ const exceptions_1 = require("@spinajs/exceptions");
12
+ exports.MODEL_DESCTRIPTION_SYMBOL = Symbol.for('MODEL_DESCRIPTOR');
13
+ exports.MIGRATION_DESCRIPTION_SYMBOL = Symbol.for('MIGRATION_DESCRIPTOR');
14
+ /**
15
+ * Helper func to create model metadata
16
+ */
17
+ function extractDecoratorDescriptor(callback, base = false) {
18
+ return (target, propertyKey, indexOrDescriptor) => {
19
+ let metadata = null;
20
+ if (!base) {
21
+ metadata = target.constructor[exports.MODEL_DESCTRIPTION_SYMBOL];
22
+ }
23
+ else {
24
+ metadata = target[exports.MODEL_DESCTRIPTION_SYMBOL];
25
+ }
26
+ if (!metadata) {
27
+ metadata = {
28
+ Driver: null,
29
+ Converters: new Map(),
30
+ Columns: [],
31
+ Connection: null,
32
+ PrimaryKey: '',
33
+ SoftDelete: {
34
+ DeletedAt: '',
35
+ },
36
+ Archived: {
37
+ ArchivedAt: '',
38
+ },
39
+ TableName: '',
40
+ Timestamps: {
41
+ CreatedAt: '',
42
+ UpdatedAt: '',
43
+ },
44
+ Relations: new Map(),
45
+ Name: target.constructor.name,
46
+ JunctionModelProperties: [],
47
+ DiscriminationMap: {
48
+ Field: '',
49
+ Models: null,
50
+ },
51
+ Schema: {},
52
+ };
53
+ if (!base) {
54
+ target.constructor[exports.MODEL_DESCTRIPTION_SYMBOL] = metadata;
55
+ }
56
+ else {
57
+ target[exports.MODEL_DESCTRIPTION_SYMBOL] = metadata;
58
+ }
59
+ }
60
+ if (callback) {
61
+ callback(metadata, target, propertyKey, indexOrDescriptor);
62
+ }
63
+ };
64
+ }
65
+ exports.extractDecoratorDescriptor = extractDecoratorDescriptor;
66
+ /**
67
+ * Sets migration option
68
+ *
69
+ * @param connection - connection name, must exists in configuration file
70
+ */
71
+ function Migration(connection) {
72
+ return (target) => {
73
+ let metadata = target[exports.MIGRATION_DESCRIPTION_SYMBOL];
74
+ if (!metadata) {
75
+ metadata = {
76
+ Connection: '',
77
+ };
78
+ target[exports.MIGRATION_DESCRIPTION_SYMBOL] = metadata;
79
+ }
80
+ metadata.Connection = connection;
81
+ di_1.DI.register(target).as('__migrations__');
82
+ };
83
+ }
84
+ exports.Migration = Migration;
85
+ /**
86
+ * Connection model decorator, assigns connection to model
87
+ *
88
+ * @param name - connection name, must be avaible in db config
89
+ */
90
+ function Connection(name) {
91
+ return extractDecoratorDescriptor((model) => {
92
+ model.Connection = name;
93
+ }, true);
94
+ }
95
+ exports.Connection = Connection;
96
+ /**
97
+ * TableName model decorator, assigns table from database to model
98
+ *
99
+ * @param name - table name in database that is referred by this model
100
+ */
101
+ function Model(tableName) {
102
+ return extractDecoratorDescriptor((model, target) => {
103
+ di_1.DI.register(target).as('__models__');
104
+ model.TableName = tableName;
105
+ }, true);
106
+ }
107
+ exports.Model = Model;
108
+ /**
109
+ * Set create timestamps feature to model. Proper columns must be avaible in database table.
110
+ * It allow to track creation times & changes to model
111
+ */
112
+ function CreatedAt() {
113
+ return extractDecoratorDescriptor((model, target, propertyKey) => {
114
+ const type = Reflect.getMetadata('design:type', target, propertyKey);
115
+ if (type.name !== 'DateTime') {
116
+ throw Error('Proprety CreatedAt must be DateTime type');
117
+ }
118
+ model.Timestamps.CreatedAt = propertyKey;
119
+ // add converter for this field
120
+ model.Converters.set(propertyKey, {
121
+ Class: interfaces_js_2.DatetimeValueConverter,
122
+ });
123
+ });
124
+ }
125
+ exports.CreatedAt = CreatedAt;
126
+ /**
127
+ * Set update timestamps feature to model. Proper columns must be avaible in database table.
128
+ * It allow to track creation times & changes to model
129
+ */
130
+ function UpdatedAt() {
131
+ return extractDecoratorDescriptor((model, target, propertyKey) => {
132
+ const type = Reflect.getMetadata('design:type', target, propertyKey);
133
+ if (type.name !== 'DateTime') {
134
+ throw Error('Proprety UpdatedAt must be DateTime type');
135
+ }
136
+ model.Timestamps.UpdatedAt = propertyKey;
137
+ // add converter for this field
138
+ model.Converters.set(propertyKey, {
139
+ Class: interfaces_js_2.DatetimeValueConverter,
140
+ });
141
+ });
142
+ }
143
+ exports.UpdatedAt = UpdatedAt;
144
+ /**
145
+ * Sets soft delete feature to model. Soft delete dont delete model, but sets deletion date and hides from
146
+ * select result by default.
147
+ */
148
+ function SoftDelete() {
149
+ return extractDecoratorDescriptor((model, target, propertyKey) => {
150
+ const type = Reflect.getMetadata('design:type', target, propertyKey);
151
+ if (type.name !== 'DateTime') {
152
+ throw Error('Proprety DeletedAt must be DateTime type');
153
+ }
154
+ model.SoftDelete.DeletedAt = propertyKey;
155
+ // add converter for this field
156
+ model.Converters.set(propertyKey, {
157
+ Class: interfaces_js_2.DatetimeValueConverter,
158
+ });
159
+ });
160
+ }
161
+ exports.SoftDelete = SoftDelete;
162
+ /**
163
+ * Enable archive mode for model. If enabled all changes creates new instance in DB and old have set archived field
164
+ * and gets attached to new model. It enabled to track changes to model in DB and also preserve data in relations.
165
+ *
166
+ */
167
+ function Archived() {
168
+ return extractDecoratorDescriptor((model, target, propertyKey) => {
169
+ const type = Reflect.getMetadata('design:type', target, propertyKey);
170
+ if (type.name !== 'DateTime') {
171
+ throw Error('Proprety DeletedAt must be Date type');
172
+ }
173
+ model.Archived.ArchivedAt = propertyKey;
174
+ // add converter for this field
175
+ model.Converters.set(propertyKey, {
176
+ Class: interfaces_js_2.DatetimeValueConverter,
177
+ });
178
+ });
179
+ }
180
+ exports.Archived = Archived;
181
+ /**
182
+ * Makrs field as primary key
183
+ */
184
+ function Primary() {
185
+ return extractDecoratorDescriptor((model, _target, propertyKey) => {
186
+ model.PrimaryKey = propertyKey;
187
+ });
188
+ }
189
+ exports.Primary = Primary;
190
+ /**
191
+ * Marks columns as UUID. Column will be generated ad creation
192
+ */
193
+ function Ignore() {
194
+ return extractDecoratorDescriptor((model, _target, propertyKey) => {
195
+ const columnDesc = model.Columns.find((c) => c.Name === propertyKey);
196
+ if (!columnDesc) {
197
+ // we dont want to fill all props, they will be loaded from db and mergeg with this
198
+ model.Columns.push({ Name: propertyKey, Ignore: true });
199
+ }
200
+ else {
201
+ columnDesc.Ignore = true;
202
+ }
203
+ }, true);
204
+ }
205
+ exports.Ignore = Ignore;
206
+ /**
207
+ * Marks columns as UUID. Column will be generated ad creation
208
+ */
209
+ function Uuid() {
210
+ return extractDecoratorDescriptor((model, _target, propertyKey) => {
211
+ const columnDesc = model.Columns.find((c) => c.Name === propertyKey);
212
+ if (!columnDesc) {
213
+ // we dont want to fill all props, they will be loaded from db and mergeg with this
214
+ model.Columns.push({ Name: propertyKey, Uuid: true });
215
+ }
216
+ else {
217
+ columnDesc.Uuid = true;
218
+ }
219
+ model.Converters.set(propertyKey, {
220
+ Class: converters_js_1.UuidConverter,
221
+ });
222
+ }, true);
223
+ }
224
+ exports.Uuid = Uuid;
225
+ function JunctionTable() {
226
+ return extractDecoratorDescriptor((model, target, propertyKey) => {
227
+ model.JunctionModelProperties.push({
228
+ Name: propertyKey,
229
+ Model: Reflect.getMetadata('design:type', target, propertyKey),
230
+ });
231
+ });
232
+ }
233
+ exports.JunctionTable = JunctionTable;
234
+ /**
235
+ *
236
+ * Marks model to have discrimination map.
237
+ *
238
+ * @param fieldName - db field name to look for
239
+ * @param discriminationMap - field - model mapping
240
+ */
241
+ function DiscriminationMap(fieldName, discriminationMap) {
242
+ return extractDecoratorDescriptor((model, _target, _propertyKey) => {
243
+ model.DiscriminationMap.Field = fieldName;
244
+ model.DiscriminationMap.Models = new Map();
245
+ discriminationMap.forEach((d) => {
246
+ model.DiscriminationMap.Models.set(d.Key, d.Value);
247
+ });
248
+ }, true);
249
+ }
250
+ exports.DiscriminationMap = DiscriminationMap;
251
+ /**
252
+ * Marks relation as recursive. When relation is populated it loads all to the top
253
+ *
254
+ */
255
+ function Recursive() {
256
+ return extractDecoratorDescriptor((model, _target, propertyKey) => {
257
+ if (!model.Relations.has(propertyKey)) {
258
+ throw new exceptions_1.InvalidOperation(`cannot set recursive on not existing relation ( relation ${propertyKey} on model ${model.Name} )`);
259
+ }
260
+ const relation = model.Relations.get(propertyKey);
261
+ if (relation.Type !== interfaces_js_2.RelationType.One) {
262
+ throw new exceptions_1.InvalidOperation(`cannot set recursive on non one-to-one relation ( relation ${propertyKey} on model ${model.Name} )`);
263
+ }
264
+ relation.Recursive = true;
265
+ });
266
+ }
267
+ exports.Recursive = Recursive;
268
+ const forwardRef = (fn) => ({
269
+ forwardRef: fn,
270
+ });
271
+ exports.forwardRef = forwardRef;
272
+ /**
273
+ * Creates one to one relation with target model.
274
+ *
275
+ * @param foreignKey - foreign key name in db, defaults to lowercase property name with _id suffix eg. owner_id
276
+ * @param primaryKey - primary key in related model, defaults to primary key taken from db
277
+ */
278
+ function BelongsTo(targetModel, foreignKey, primaryKey) {
279
+ return extractDecoratorDescriptor((model, target, propertyKey) => {
280
+ model.Relations.set(propertyKey, {
281
+ Name: propertyKey,
282
+ Type: interfaces_js_2.RelationType.One,
283
+ SourceModel: target.constructor,
284
+ TargetModelType: targetModel,
285
+ TargetModel: null,
286
+ ForeignKey: foreignKey ?? `${propertyKey.toLowerCase()}_id`,
287
+ PrimaryKey: primaryKey ?? model.PrimaryKey,
288
+ Recursive: false,
289
+ });
290
+ });
291
+ }
292
+ exports.BelongsTo = BelongsTo;
293
+ /**
294
+ * Creates one to one relation with target model.
295
+ *
296
+ * @param foreignKey - foreign key name in db, defaults to lowercase property name with _id suffix eg. owner_id
297
+ * @param primaryKey - primary key in related model, defaults to primary key taken from db
298
+ */
299
+ function ForwardBelongsTo(forwardRef, foreignKey, primaryKey) {
300
+ return extractDecoratorDescriptor((model, target, propertyKey) => {
301
+ model.Relations.set(propertyKey, {
302
+ Name: propertyKey,
303
+ Type: interfaces_js_2.RelationType.One,
304
+ SourceModel: target.constructor,
305
+ TargetModelType: forwardRef.forwardRef,
306
+ TargetModel: null,
307
+ ForeignKey: foreignKey ?? `${propertyKey.toLowerCase()}_id`,
308
+ PrimaryKey: primaryKey ?? model.PrimaryKey,
309
+ Recursive: false,
310
+ });
311
+ });
312
+ }
313
+ exports.ForwardBelongsTo = ForwardBelongsTo;
314
+ /**
315
+ * Creates one to many relation with target model.
316
+ *
317
+ * @param targetModel - due to limitations of metadata reflection api in typescript target model mus be set explicitly
318
+ * @param foreignKey - foreign key name in db, defaults to lowercase property name with _id suffix eg. owner_id
319
+ * @param primaryKey - primary key in source table defaults to lowercase property name with _id suffix eg. owner_id
320
+ *
321
+ */
322
+ function HasMany(targetModel, options) {
323
+ return extractDecoratorDescriptor((model, target, propertyKey) => {
324
+ model.Relations.set(propertyKey, {
325
+ Name: propertyKey,
326
+ Type: interfaces_js_2.RelationType.Many,
327
+ SourceModel: target.constructor,
328
+ TargetModelType: targetModel,
329
+ TargetModel: null,
330
+ ForeignKey: options ? options.foreignKey ?? `${model.Name.toLowerCase()}_id` : `${model.Name.toLowerCase()}_id`,
331
+ PrimaryKey: options ? options.primaryKey ?? model.PrimaryKey : model.PrimaryKey,
332
+ Recursive: false,
333
+ Factory: options ? options.factory : null,
334
+ RelationClass: options ? options.type : null,
335
+ });
336
+ });
337
+ }
338
+ exports.HasMany = HasMany;
339
+ function Historical(targetModel) {
340
+ return extractDecoratorDescriptor((model, target, propertyKey) => {
341
+ model.Relations.set(propertyKey, {
342
+ Name: propertyKey,
343
+ Type: interfaces_js_2.RelationType.Many,
344
+ SourceModel: target.constructor,
345
+ TargetModelType: targetModel,
346
+ TargetModel: null,
347
+ ForeignKey: model.PrimaryKey,
348
+ PrimaryKey: model.PrimaryKey,
349
+ Recursive: false,
350
+ });
351
+ });
352
+ }
353
+ exports.Historical = Historical;
354
+ /**
355
+ * Creates many to many relation with separate join table
356
+ *
357
+ * @param junctionModel - model for junction table
358
+ * @param targetModel - model for related data
359
+ * @param targetModelPKey - target model primary key name
360
+ * @param sourceModelPKey - source model primary key name
361
+ * @param junctionModelTargetPk - junction table target primary key name ( foreign key for target model )
362
+ * @param junctionModelSourcePk - junction table source primary key name ( foreign key for source model )
363
+ */
364
+ function HasManyToMany(junctionModel, targetModel, targetModelPKey, sourceModelPKey, junctionModelTargetPk, junctionModelSourcePk) {
365
+ return extractDecoratorDescriptor((model, target, propertyKey) => {
366
+ const targetModelDescriptor = (0, model_js_1.extractModelDescriptor)(targetModel);
367
+ model.Relations.set(propertyKey, {
368
+ Name: propertyKey,
369
+ Recursive: false,
370
+ Type: interfaces_js_2.RelationType.ManyToMany,
371
+ SourceModel: target.constructor,
372
+ TargetModelType: targetModel,
373
+ TargetModel: null,
374
+ ForeignKey: targetModelPKey ?? targetModelDescriptor.PrimaryKey,
375
+ PrimaryKey: sourceModelPKey ?? model.PrimaryKey,
376
+ JunctionModel: junctionModel,
377
+ JunctionModelTargetModelFKey_Name: junctionModelTargetPk ?? `${targetModelDescriptor.Name.toLowerCase()}_id`,
378
+ JunctionModelSourceModelFKey_Name: junctionModelSourcePk ?? `${model.Name.toLowerCase()}_id`,
379
+ });
380
+ });
381
+ }
382
+ exports.HasManyToMany = HasManyToMany;
383
+ /**
384
+ * Mark field as datetime type. It will ensure that conversion to & from DB is valid, eg. sqlite DB
385
+ * saves datetime as TEXT and ISO8601 strings
386
+ */
387
+ function DateTime() {
388
+ return extractDecoratorDescriptor((model, target, propertyKey) => {
389
+ const type = Reflect.getMetadata('design:type', target, propertyKey);
390
+ if (type.name !== 'DateTime') {
391
+ throw Error(`Proprety ${propertyKey} must be DateTime type`);
392
+ }
393
+ if (model.Converters.has(propertyKey)) {
394
+ throw new exceptions_1.InvalidArgument(`property ${propertyKey} already have data converter attached`);
395
+ }
396
+ model.Converters.set(propertyKey, {
397
+ Class: interfaces_js_2.DatetimeValueConverter,
398
+ });
399
+ });
400
+ }
401
+ exports.DateTime = DateTime;
402
+ /**
403
+ * Converts data in db to json object. Column type in DB should be STRING.
404
+ * DO not use this decorator for use of native DB JSON implementation.
405
+ * ORM will detect automatically if field is native JSON DB type.
406
+ */
407
+ function Json() {
408
+ return extractDecoratorDescriptor((model, _, propertyKey) => {
409
+ // add converter for this field
410
+ model.Converters.set(propertyKey, {
411
+ Class: interfaces_js_1.JsonValueConverter,
412
+ });
413
+ });
414
+ }
415
+ exports.Json = Json;
416
+ /**
417
+ *
418
+ * Universal converter that guess whitch type to return. Usefull in tables that holds as text different values
419
+ * eg. metadata table
420
+ *
421
+ * @param typeColumn - type column that defines final type of value
422
+ */
423
+ function UniversalConverter(typeColumn) {
424
+ return extractDecoratorDescriptor((model, _, propertyKey) => {
425
+ // add converter for this field
426
+ model.Converters.set(propertyKey, {
427
+ Class: interfaces_js_1.JsonValueConverter,
428
+ Options: {
429
+ TypeColumn: typeColumn,
430
+ },
431
+ });
432
+ });
433
+ }
434
+ exports.UniversalConverter = UniversalConverter;
435
+ /**
436
+ * Mark field as SET type. It will ensure that conversion to & from DB is valid, eg. to emulate field type SET in sqlite
437
+ */
438
+ function Set() {
439
+ return extractDecoratorDescriptor((model, target, propertyKey) => {
440
+ const type = Reflect.getMetadata('design:type', target, propertyKey);
441
+ if (type.name !== 'Array') {
442
+ throw Error(`Proprety ${propertyKey} must be an array type`);
443
+ }
444
+ if (model.Converters.has(propertyKey)) {
445
+ throw new exceptions_1.InvalidArgument(`property ${propertyKey} already have data converter attached`);
446
+ }
447
+ model.Converters.set(propertyKey, {
448
+ Class: interfaces_js_2.SetValueConverter,
449
+ });
450
+ });
451
+ }
452
+ exports.Set = Set;
453
+ //# sourceMappingURL=decorators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":";;;AAAA,mDAAgF;AAChF,sCAAsC;AACtC,mDAAgD;AAChD,oCAA0D;AAC1D,mDAA6K;AAC7K,4BAA0B;AAC1B,yCAA+D;AAC/D,oDAAwE;AAG3D,QAAA,yBAAyB,GAAG,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;AAC3D,QAAA,4BAA4B,GAAG,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;AAE/E;;GAEG;AACH,SAAgB,0BAA0B,CAAC,QAAsI,EAAE,IAAI,GAAG,KAAK;IAC7L,OAAO,CAAC,MAAW,EAAE,WAA4B,EAAE,iBAA8C,EAAE,EAAE;QACnG,IAAI,QAAQ,GAAqB,IAAI,CAAC;QACtC,IAAI,CAAC,IAAI,EAAE;YACT,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,iCAAyB,CAAC,CAAC;SAC1D;aAAM;YACL,QAAQ,GAAG,MAAM,CAAC,iCAAyB,CAAC,CAAC;SAC9C;QAED,IAAI,CAAC,QAAQ,EAAE;YACb,QAAQ,GAAG;gBACT,MAAM,EAAE,IAAI;gBACZ,UAAU,EAAE,IAAI,GAAG,EAAqC;gBACxD,OAAO,EAAE,EAAE;gBACX,UAAU,EAAE,IAAI;gBAChB,UAAU,EAAE,EAAE;gBACd,UAAU,EAAE;oBACV,SAAS,EAAE,EAAE;iBACd;gBACD,QAAQ,EAAE;oBACR,UAAU,EAAE,EAAE;iBACf;gBACD,SAAS,EAAE,EAAE;gBACb,UAAU,EAAE;oBACV,SAAS,EAAE,EAAE;oBACb,SAAS,EAAE,EAAE;iBACd;gBACD,SAAS,EAAE,IAAI,GAAG,EAA+B;gBACjD,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI;gBAC7B,uBAAuB,EAAE,EAAE;gBAC3B,iBAAiB,EAAE;oBACjB,KAAK,EAAE,EAAE;oBACT,MAAM,EAAE,IAAI;iBACb;gBACD,MAAM,EAAE,EAAE;aACX,CAAC;YAEF,IAAI,CAAC,IAAI,EAAE;gBACT,MAAM,CAAC,WAAW,CAAC,iCAAyB,CAAC,GAAG,QAAQ,CAAC;aAC1D;iBAAM;gBACL,MAAM,CAAC,iCAAyB,CAAC,GAAG,QAAQ,CAAC;aAC9C;SACF;QAED,IAAI,QAAQ,EAAE;YACZ,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAAC;SAC5D;IACH,CAAC,CAAC;AACJ,CAAC;AAhDD,gEAgDC;AAED;;;;GAIG;AACH,SAAgB,SAAS,CAAC,UAAkB;IAC1C,OAAO,CAAC,MAAW,EAAE,EAAE;QACrB,IAAI,QAAQ,GAAG,MAAM,CAAC,oCAA4B,CAAyB,CAAC;QAE5E,IAAI,CAAC,QAAQ,EAAE;YACb,QAAQ,GAAG;gBACT,UAAU,EAAE,EAAE;aACf,CAAC;YACF,MAAM,CAAC,oCAA4B,CAAC,GAAG,QAAQ,CAAC;SACjD;QAED,QAAQ,CAAC,UAAU,GAAG,UAAU,CAAC;QAEjC,OAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC;IAC3C,CAAC,CAAC;AACJ,CAAC;AAfD,8BAeC;AAED;;;;GAIG;AACH,SAAgB,UAAU,CAAC,IAAY;IACrC,OAAO,0BAA0B,CAAC,CAAC,KAAuB,EAAE,EAAE;QAC5D,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;IAC1B,CAAC,EAAE,IAAI,CAAC,CAAC;AACX,CAAC;AAJD,gCAIC;AAED;;;;GAIG;AACH,SAAgB,KAAK,CAAC,SAAiB;IACrC,OAAO,0BAA0B,CAAC,CAAC,KAAuB,EAAE,MAAW,EAAE,EAAE;QACzE,OAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;QACrC,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IAC9B,CAAC,EAAE,IAAI,CAAC,CAAC;AACX,CAAC;AALD,sBAKC;AAED;;;GAGG;AACH,SAAgB,SAAS;IACvB,OAAO,0BAA0B,CAAC,CAAC,KAAuB,EAAE,MAAW,EAAE,WAAmB,EAAE,EAAE;QAC9F,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QACrE,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE;YAC5B,MAAM,KAAK,CAAC,0CAA0C,CAAC,CAAC;SACzD;QAED,KAAK,CAAC,UAAU,CAAC,SAAS,GAAG,WAAW,CAAC;QAEzC,+BAA+B;QAC/B,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,EAAE;YAChC,KAAK,EAAE,sCAAsB;SAC9B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAdD,8BAcC;AAED;;;GAGG;AACH,SAAgB,SAAS;IACvB,OAAO,0BAA0B,CAAC,CAAC,KAAuB,EAAE,MAAW,EAAE,WAAmB,EAAE,EAAE;QAC9F,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QACrE,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE;YAC5B,MAAM,KAAK,CAAC,0CAA0C,CAAC,CAAC;SACzD;QAED,KAAK,CAAC,UAAU,CAAC,SAAS,GAAG,WAAW,CAAC;QAEzC,+BAA+B;QAC/B,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,EAAE;YAChC,KAAK,EAAE,sCAAsB;SAC9B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAdD,8BAcC;AAED;;;GAGG;AACH,SAAgB,UAAU;IACxB,OAAO,0BAA0B,CAAC,CAAC,KAAuB,EAAE,MAAW,EAAE,WAAmB,EAAE,EAAE;QAC9F,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QACrE,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE;YAC5B,MAAM,KAAK,CAAC,0CAA0C,CAAC,CAAC;SACzD;QAED,KAAK,CAAC,UAAU,CAAC,SAAS,GAAG,WAAW,CAAC;QAEzC,+BAA+B;QAC/B,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,EAAE;YAChC,KAAK,EAAE,sCAAsB;SAC9B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAdD,gCAcC;AAED;;;;GAIG;AACH,SAAgB,QAAQ;IACtB,OAAO,0BAA0B,CAAC,CAAC,KAAuB,EAAE,MAAW,EAAE,WAAmB,EAAE,EAAE;QAC9F,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QACrE,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE;YAC5B,MAAM,KAAK,CAAC,sCAAsC,CAAC,CAAC;SACrD;QAED,KAAK,CAAC,QAAQ,CAAC,UAAU,GAAG,WAAW,CAAC;QAExC,+BAA+B;QAC/B,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,EAAE;YAChC,KAAK,EAAE,sCAAsB;SAC9B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAdD,4BAcC;AAED;;GAEG;AACH,SAAgB,OAAO;IACrB,OAAO,0BAA0B,CAAC,CAAC,KAAuB,EAAE,OAAY,EAAE,WAAmB,EAAE,EAAE;QAC/F,KAAK,CAAC,UAAU,GAAG,WAAW,CAAC;IACjC,CAAC,CAAC,CAAC;AACL,CAAC;AAJD,0BAIC;AAED;;GAEG;AACH,SAAgB,MAAM;IACpB,OAAO,0BAA0B,CAAC,CAAC,KAAuB,EAAE,OAAY,EAAE,WAAmB,EAAE,EAAE;QAC/F,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;QACrE,IAAI,CAAC,UAAU,EAAE;YACf,mFAAmF;YACnF,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAS,CAAC,CAAC;SAChE;aAAM;YACL,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC;SAC1B;IACH,CAAC,EAAE,IAAI,CAAC,CAAC;AACX,CAAC;AAVD,wBAUC;AAED;;GAEG;AACH,SAAgB,IAAI;IAClB,OAAO,0BAA0B,CAAC,CAAC,KAAuB,EAAE,OAAY,EAAE,WAAmB,EAAE,EAAE;QAC/F,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;QACrE,IAAI,CAAC,UAAU,EAAE;YACf,mFAAmF;YACnF,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAS,CAAC,CAAC;SAC9D;aAAM;YACL,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC;SACxB;QAED,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,EAAE;YAChC,KAAK,EAAE,6BAAa;SACrB,CAAC,CAAC;IACL,CAAC,EAAE,IAAI,CAAC,CAAC;AACX,CAAC;AAdD,oBAcC;AAED,SAAgB,aAAa;IAC3B,OAAO,0BAA0B,CAAC,CAAC,KAAuB,EAAE,MAAW,EAAE,WAAmB,EAAE,EAAE;QAC9F,KAAK,CAAC,uBAAuB,CAAC,IAAI,CAAC;YACjC,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,CAAC;SAC/D,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAPD,sCAOC;AAED;;;;;;GAMG;AACH,SAAgB,iBAAiB,CAAC,SAAiB,EAAE,iBAAyC;IAC5F,OAAO,0BAA0B,CAAC,CAAC,KAAuB,EAAE,OAAY,EAAE,YAAoB,EAAE,EAAE;QAChG,KAAK,CAAC,iBAAiB,CAAC,KAAK,GAAG,SAAS,CAAC;QAC1C,KAAK,CAAC,iBAAiB,CAAC,MAAM,GAAG,IAAI,GAAG,EAAkC,CAAC;QAE3E,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YAC9B,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,IAAI,CAAC,CAAC;AACX,CAAC;AATD,8CASC;AAED;;;GAGG;AACH,SAAgB,SAAS;IACvB,OAAO,0BAA0B,CAAC,CAAC,KAAuB,EAAE,OAAY,EAAE,WAAmB,EAAE,EAAE;QAC/F,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;YACrC,MAAM,IAAI,6BAAgB,CAAC,4DAA4D,WAAW,aAAa,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC;SAChI;QAED,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAElD,IAAI,QAAQ,CAAC,IAAI,KAAK,4BAAY,CAAC,GAAG,EAAE;YACtC,MAAM,IAAI,6BAAgB,CAAC,8DAA8D,WAAW,aAAa,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC;SAClI;QAED,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC;IAC5B,CAAC,CAAC,CAAC;AACL,CAAC;AAdD,8BAcC;AAMM,MAAM,UAAU,GAAG,CAAC,EAAa,EAAqB,EAAE,CAAC,CAAC;IAC/D,UAAU,EAAE,EAAE;CACf,CAAC,CAAC;AAFU,QAAA,UAAU,cAEpB;AAEH;;;;;GAKG;AACH,SAAgB,SAAS,CAAC,WAA4C,EAAE,UAAmB,EAAE,UAAmB;IAC9G,OAAO,0BAA0B,CAAC,CAAC,KAAuB,EAAE,MAAW,EAAE,WAAmB,EAAE,EAAE;QAC9F,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE;YAC/B,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,4BAAY,CAAC,GAAG;YACtB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,eAAe,EAAE,WAAW;YAC5B,WAAW,EAAE,IAAI;YACjB,UAAU,EAAE,UAAU,IAAI,GAAG,WAAW,CAAC,WAAW,EAAE,KAAK;YAC3D,UAAU,EAAE,UAAU,IAAI,KAAK,CAAC,UAAU;YAC1C,SAAS,EAAE,KAAK;SACjB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAbD,8BAaC;AAED;;;;;GAKG;AACH,SAAgB,gBAAgB,CAAC,UAA6B,EAAE,UAAmB,EAAE,UAAmB;IACtG,OAAO,0BAA0B,CAAC,CAAC,KAAuB,EAAE,MAAW,EAAE,WAAmB,EAAE,EAAE;QAC9F,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE;YAC/B,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,4BAAY,CAAC,GAAG;YACtB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,eAAe,EAAE,UAAU,CAAC,UAAU;YACtC,WAAW,EAAE,IAAI;YACjB,UAAU,EAAE,UAAU,IAAI,GAAG,WAAW,CAAC,WAAW,EAAE,KAAK;YAC3D,UAAU,EAAE,UAAU,IAAI,KAAK,CAAC,UAAU;YAC1C,SAAS,EAAE,KAAK;SACjB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAbD,4CAaC;AAmBD;;;;;;;GAOG;AACH,SAAgB,OAAO,CAAC,WAA4C,EAAE,OAAkC;IACtG,OAAO,0BAA0B,CAAC,CAAC,KAAuB,EAAE,MAAW,EAAE,WAAmB,EAAE,EAAE;QAC9F,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE;YAC/B,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,4BAAY,CAAC,IAAI;YACvB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,eAAe,EAAE,WAAW;YAC5B,WAAW,EAAE,IAAI;YACjB,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK;YAC/G,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU;YAC/E,SAAS,EAAE,KAAK;YAChB,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;YACzC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;SAC7C,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAfD,0BAeC;AAED,SAAgB,UAAU,CAAC,WAAmC;IAC5D,OAAO,0BAA0B,CAAC,CAAC,KAAuB,EAAE,MAAW,EAAE,WAAmB,EAAE,EAAE;QAC9F,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE;YAC/B,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,4BAAY,CAAC,IAAI;YACvB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,eAAe,EAAE,WAAW;YAC5B,WAAW,EAAE,IAAI;YACjB,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,SAAS,EAAE,KAAK;SACjB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAbD,gCAaC;AAED;;;;;;;;;GASG;AACH,SAAgB,aAAa,CAAC,aAAqC,EAAE,WAA4C,EAAE,eAAwB,EAAE,eAAwB,EAAE,qBAA8B,EAAE,qBAA8B;IACnO,OAAO,0BAA0B,CAAC,CAAC,KAAuB,EAAE,MAAW,EAAE,WAAmB,EAAE,EAAE;QAC9F,MAAM,qBAAqB,GAAG,IAAA,iCAAsB,EAAC,WAAW,CAAC,CAAC;QAElE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE;YAC/B,IAAI,EAAE,WAAW;YACjB,SAAS,EAAE,KAAK;YAChB,IAAI,EAAE,4BAAY,CAAC,UAAU;YAC7B,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,eAAe,EAAE,WAAW;YAC5B,WAAW,EAAE,IAAI;YACjB,UAAU,EAAE,eAAe,IAAI,qBAAqB,CAAC,UAAU;YAC/D,UAAU,EAAE,eAAe,IAAI,KAAK,CAAC,UAAU;YAC/C,aAAa,EAAE,aAAa;YAC5B,iCAAiC,EAAE,qBAAqB,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK;YAC5G,iCAAiC,EAAE,qBAAqB,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK;SAC7F,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAlBD,sCAkBC;AAED;;;GAGG;AACH,SAAgB,QAAQ;IACtB,OAAO,0BAA0B,CAAC,CAAC,KAAuB,EAAE,MAAW,EAAE,WAAmB,EAAE,EAAE;QAC9F,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QACrE,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE;YAC5B,MAAM,KAAK,CAAC,aAAa,WAAW,wBAAwB,CAAC,CAAC;SAC/D;QAED,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;YACrC,MAAM,IAAI,4BAAe,CAAC,YAAY,WAAW,uCAAuC,CAAC,CAAC;SAC3F;QAED,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,EAAE;YAChC,KAAK,EAAE,sCAAsB;SAC9B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAfD,4BAeC;AAED;;;;GAIG;AACH,SAAgB,IAAI;IAClB,OAAO,0BAA0B,CAAC,CAAC,KAAuB,EAAE,CAAM,EAAE,WAAmB,EAAE,EAAE;QACzF,+BAA+B;QAC/B,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,EAAE;YAChC,KAAK,EAAE,kCAAkB;SAC1B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAPD,oBAOC;AAED;;;;;;GAMG;AACH,SAAgB,kBAAkB,CAAC,UAAkB;IACnD,OAAO,0BAA0B,CAAC,CAAC,KAAuB,EAAE,CAAM,EAAE,WAAmB,EAAE,EAAE;QACzF,+BAA+B;QAC/B,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,EAAE;YAChC,KAAK,EAAE,kCAAkB;YACzB,OAAO,EAAE;gBACP,UAAU,EAAE,UAAU;aACvB;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAVD,gDAUC;AAED;;GAEG;AACH,SAAgB,GAAG;IACjB,OAAO,0BAA0B,CAAC,CAAC,KAAuB,EAAE,MAAW,EAAE,WAAmB,EAAE,EAAE;QAC9F,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QACrE,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;YACzB,MAAM,KAAK,CAAC,aAAa,WAAW,wBAAwB,CAAC,CAAC;SAC/D;QAED,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;YACrC,MAAM,IAAI,4BAAe,CAAC,YAAY,WAAW,uCAAuC,CAAC,CAAC;SAC3F;QAED,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,EAAE;YAChC,KAAK,EAAE,iCAAiB;SACzB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAfD,kBAeC"}
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dehydrators.d.ts","sourceRoot":"","sources":["../../src/dehydrators.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAGvC,8BAAsB,eAAe;aACnB,SAAS,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,GAAG;CAClE;AAED,qBAAa,uBAAwB,SAAQ,eAAe;IACnD,SAAS,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE;CAmBnD;AAED,qBAAa,oCAAqC,SAAQ,uBAAuB;IACxE,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,GAAG;CAoBlE"}
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StandardModelWithRelationsDehydrator = exports.StandardModelDehydrator = exports.ModelDehydrator = void 0;
4
+ const exceptions_js_1 = require("./exceptions.js");
5
+ const interfaces_js_1 = require("./interfaces.js");
6
+ class ModelDehydrator {
7
+ }
8
+ exports.ModelDehydrator = ModelDehydrator;
9
+ class StandardModelDehydrator extends ModelDehydrator {
10
+ dehydrate(model, omit) {
11
+ const obj = {};
12
+ const relArr = [...model.ModelDescriptor.Relations.values()];
13
+ model.ModelDescriptor.Columns?.forEach((c) => {
14
+ // if in omit list OR it is foreign key for relation - skip
15
+ if ((omit && omit.indexOf(c.Name) !== -1) || (relArr.find((r) => r.ForeignKey === c.Name) && !c.PrimaryKey)) {
16
+ return;
17
+ }
18
+ const val = model[c.Name];
19
+ if (!c.PrimaryKey && !c.Nullable && (val === null || val === undefined || val === '')) {
20
+ throw new exceptions_js_1.OrmException(`Field ${c.Name} cannot be null`);
21
+ }
22
+ obj[c.Name] = c.Converter ? c.Converter.toDB(val, model, null) : val;
23
+ });
24
+ return obj;
25
+ }
26
+ }
27
+ exports.StandardModelDehydrator = StandardModelDehydrator;
28
+ class StandardModelWithRelationsDehydrator extends StandardModelDehydrator {
29
+ dehydrate(model, omit) {
30
+ const obj = super.dehydrate(model, omit);
31
+ const relArr = [...model.ModelDescriptor.Relations.values()];
32
+ for (const val of relArr) {
33
+ if (val.Type === interfaces_js_1.RelationType.One) {
34
+ if (model[val.Name].Value) {
35
+ obj[val.Name] = model[val.Name].Value.dehydrateWithRelations();
36
+ }
37
+ }
38
+ if (val.Type === interfaces_js_1.RelationType.Many) {
39
+ if (model[val.Name]) {
40
+ obj[val.Name] = [...model[val.Name].map((x) => x.dehydrateWithRelations())];
41
+ }
42
+ }
43
+ }
44
+ return obj;
45
+ }
46
+ }
47
+ exports.StandardModelWithRelationsDehydrator = StandardModelWithRelationsDehydrator;
48
+ //# sourceMappingURL=dehydrators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dehydrators.js","sourceRoot":"","sources":["../../src/dehydrators.ts"],"names":[],"mappings":";;;AAAA,mDAA+C;AAC/C,mDAA+C;AAI/C,MAAsB,eAAe;CAEpC;AAFD,0CAEC;AAED,MAAa,uBAAwB,SAAQ,eAAe;IACnD,SAAS,CAAC,KAAgB,EAAE,IAAe;QAChD,MAAM,GAAG,GAAG,EAAE,CAAC;QACf,MAAM,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,eAAe,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;QAE7D,KAAK,CAAC,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YAC3C,2DAA2D;YAC3D,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE;gBAC3G,OAAO;aACR;YAED,MAAM,GAAG,GAAI,KAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACnC,IAAI,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,EAAE,CAAC,EAAE;gBACrF,MAAM,IAAI,4BAAY,CAAC,SAAS,CAAC,CAAC,IAAI,iBAAiB,CAAC,CAAC;aAC1D;YACA,GAAW,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QAChF,CAAC,CAAC,CAAC;QAEH,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AApBD,0DAoBC;AAED,MAAa,oCAAqC,SAAQ,uBAAuB;IACxE,SAAS,CAAC,KAAyB,EAAE,IAAe;QACzD,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACzC,MAAM,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,eAAe,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;QAE7D,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE;YACxB,IAAI,GAAG,CAAC,IAAI,KAAK,4BAAY,CAAC,GAAG,EAAE;gBACjC,IAAK,KAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE;oBACjC,GAAW,CAAC,GAAG,CAAC,IAAI,CAAC,GAAI,KAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,sBAAsB,EAAE,CAAC;iBAClF;aACF;YAED,IAAI,GAAG,CAAC,IAAI,KAAK,4BAAY,CAAC,IAAI,EAAE;gBAClC,IAAK,KAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;oBAC3B,GAAW,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAK,KAAa,CAAC,GAAG,CAAC,IAAI,CAA8B,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC;iBAC7H;aACF;SACF;QAED,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AArBD,oFAqBC"}
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../src/driver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAEnC,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,YAAY,EAA6C,MAAM,iBAAiB,CAAC;AAC7H,OAAO,EAAE,WAAW,EAAE,UAAU,EAAM,SAAS,EAAc,MAAM,aAAa,CAAC;AACjF,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,YAAY,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAE/L,OAAO,gBAAgB,CAAC;AACxB,OAAO,kBAAkB,CAAC;AAE1B,MAAM,MAAM,mBAAmB,GAAG,CAAC,MAAM,EAAE,SAAS,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;AAEtE,8BAAsB,SAAU,SAAQ,WAAW;IACjD;;OAEG;IACI,OAAO,EAAE,cAAc,CAK5B;IAEK,SAAS,EAAE,UAAU,CAAC;IAG7B,SAAS,CAAC,aAAa,EAAE,SAAS,CAAC;IAEnC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;gBAEP,OAAO,EAAE,cAAc;IAKnC;;;;;;OAMG;aACa,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC;IAE1G;;;OAGG;aACa,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;IAExC;;;OAGG;aACa,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC;IAE7C;;OAEG;aACa,UAAU,IAAI,OAAO,CAAC,SAAS,CAAC;aAEhC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAE/E,OAAO;IAWd;;;OAGG;IACI,MAAM,CAAC,CAAC,KAAK,kBAAkB,CAAC,CAAC,CAAC;IAIzC;;;OAGG;IACI,GAAG,CAAC,CAAC,KAAK,kBAAkB,CAAC,CAAC,CAAC;IAItC;;;OAGG;IACI,MAAM,IAAI,kBAAkB;IAInC;;OAEG;IACI,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,yBAAyB;IAMzD;;;OAGG;IACI,MAAM,CAAC,CAAC,KAAK,kBAAkB,CAAC,CAAC,CAAC;IAIzC;;;OAGG;IACI,MAAM,IAAI,kBAAkB;IAInC;;;OAGG;IACI,KAAK,IAAI,iBAAiB;IAIjC;;;;;OAKG;aACa,WAAW,CAAC,eAAe,CAAC,EAAE,YAAY,EAAE,GAAG,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;CACnG"}
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.OrmDriver = void 0;
13
+ const log_1 = require("@spinajs/log");
14
+ /* eslint-disable prettier/prettier */
15
+ const interfaces_js_1 = require("./interfaces.js");
16
+ const di_1 = require("@spinajs/di");
17
+ const builders_js_1 = require("./builders.js");
18
+ const converters_js_1 = require("./converters.js");
19
+ require("./hydrators.js");
20
+ require("./dehydrators.js");
21
+ class OrmDriver extends di_1.SyncService {
22
+ constructor(options) {
23
+ super();
24
+ /**
25
+ * Connection options
26
+ */
27
+ this.Options = {
28
+ AliasSeparator: '$',
29
+ Driver: 'unknown',
30
+ Name: 'orm-driver',
31
+ DefaultConnection: false,
32
+ };
33
+ this.Options = Object.assign(this.Options, options);
34
+ }
35
+ resolve() {
36
+ this.Log = di_1.DI.resolve(log_1.Log, [`orm-driver-${this.Options.Name}`]);
37
+ this.Log.addVariable('orm-name', this.Options.Name);
38
+ this.Log.addVariable('orm-host', this.Options.Host);
39
+ this.Log.addVariable('orm-database', this.Options.Database);
40
+ this.Container = this.RootContainer.child();
41
+ this.Container.register(converters_js_1.StandardModelToSqlConverter).as(interfaces_js_1.ModelToSqlConverter);
42
+ this.Container.register(converters_js_1.StandardObjectToSqlConverter).as(interfaces_js_1.ObjectToSqlConverter);
43
+ }
44
+ /**
45
+ * Creates select query builder associated with this connection.
46
+ * This can be used to execute raw queries to db without orm model layer
47
+ */
48
+ select() {
49
+ return this.Container.resolve(builders_js_1.SelectQueryBuilder, [this]);
50
+ }
51
+ /**
52
+ * Creates delete query builder associated with this connection.
53
+ * This can be used to execute raw queries to db without orm model layer
54
+ */
55
+ del() {
56
+ return this.Container.resolve(builders_js_1.DeleteQueryBuilder, [this]);
57
+ }
58
+ /**
59
+ * Creates insert query builder associated with this connection.
60
+ * This can be used to execute raw queries to db without orm model layer
61
+ */
62
+ insert() {
63
+ return this.Container.resolve(builders_js_1.InsertQueryBuilder, [this]);
64
+ }
65
+ /**
66
+ * Truncates given table
67
+ */
68
+ truncate(table) {
69
+ const b = this.Container.resolve(builders_js_1.TruncateTableQueryBuilder, [this]);
70
+ b.setTable(table);
71
+ return b;
72
+ }
73
+ /**
74
+ * Creates update query builder associated with this connection.
75
+ * This can be used to execute raw queries to db without orm model layer
76
+ */
77
+ update() {
78
+ return this.Container.resolve(builders_js_1.UpdateQueryBuilder, [this]);
79
+ }
80
+ /**
81
+ * Creates schema query builder associated with this connection.
82
+ * This can be use to modify database structure
83
+ */
84
+ schema() {
85
+ return this.Container.resolve(builders_js_1.SchemaQueryBuilder, [this]);
86
+ }
87
+ /**
88
+ * Creates index query builder associated with this connection.
89
+ * This can be use to create table indexes
90
+ */
91
+ index() {
92
+ return this.Container.resolve(builders_js_1.IndexQueryBuilder, [this]);
93
+ }
94
+ }
95
+ __decorate([
96
+ (0, di_1.Autoinject)(),
97
+ __metadata("design:type", di_1.Container)
98
+ ], OrmDriver.prototype, "RootContainer", void 0);
99
+ exports.OrmDriver = OrmDriver;
100
+ //# sourceMappingURL=driver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"driver.js","sourceRoot":"","sources":["../../src/driver.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sCAAmC;AACnC,sCAAsC;AACtC,mDAA6H;AAC7H,oCAAiF;AACjF,+CAA+L;AAC/L,mDAA4F;AAC5F,0BAAwB;AACxB,4BAA0B;AAI1B,MAAsB,SAAU,SAAQ,gBAAW;IAkBjD,YAAY,OAAuB;QACjC,KAAK,EAAE,CAAC;QAlBV;;WAEG;QACI,YAAO,GAAmB;YAC/B,cAAc,EAAE,GAAG;YACnB,MAAM,EAAE,SAAS;YACjB,IAAI,EAAE,YAAY;YAClB,iBAAiB,EAAE,KAAK;SACzB,CAAC;QAWA,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;IA8BM,OAAO;QACZ,IAAI,CAAC,GAAG,GAAG,OAAE,CAAC,OAAO,CAAC,SAAG,EAAE,CAAC,cAAc,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAChE,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACpD,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACpD,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAE5D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAC5C,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,2CAA2B,CAAC,CAAC,EAAE,CAAC,mCAAmB,CAAC,CAAC;QAC7E,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,4CAA4B,CAAC,CAAC,EAAE,CAAC,oCAAoB,CAAC,CAAC;IACjF,CAAC;IAED;;;OAGG;IACI,MAAM;QACX,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,gCAAkB,EAAE,CAAC,IAAI,CAAC,CAA0B,CAAC;IACrF,CAAC;IAED;;;OAGG;IACI,GAAG;QACR,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,gCAAkB,EAAE,CAAC,IAAI,CAAC,CAA0B,CAAC;IACrF,CAAC;IAED;;;OAGG;IACI,MAAM;QACX,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,gCAAkB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED;;OAEG;IACI,QAAQ,CAAC,KAAa;QAC3B,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,uCAAyB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QACpE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAClB,OAAO,CAAC,CAAC;IACX,CAAC;IAED;;;OAGG;IACI,MAAM;QACX,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,gCAAkB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED;;;OAGG;IACI,MAAM;QACX,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,gCAAkB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED;;;OAGG;IACI,KAAK;QACV,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,+BAAiB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3D,CAAC;CASF;AAjHC;IAAC,IAAA,eAAU,GAAE;8BACY,cAAS;gDAAC;AAdrC,8BA8HC"}
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../../src/enums.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,WAAW;IACrB;;OAEG;IACH,MAAM,IAAA;IAEN;;OAEG;IACH,MAAM,IAAA;IAEN;;OAEG;IACH,MAAM,IAAA;IAEN;;OAEG;IACH,MAAM,IAAA;IAEN;;OAEG;IACH,KAAK,IAAA;IAEL;;OAEG;IACH,MAAM,IAAA;CACP;AAED;;GAEG;AACH,oBAAY,YAAY;IACtB,GAAG,QAAQ;IACX,EAAE,OAAO;CACV;AAED;;GAEG;AACH,oBAAY,WAAW;IACrB,EAAE,MAAM;IACR,GAAG,OAAO;IACV,EAAE,MAAM;IACR,GAAG,OAAO;IACV,GAAG,OAAO;IACV,KAAK,OAAO;IACZ,EAAE,MAAM;IACR,OAAO,QAAQ;IACf,EAAE,OAAO;IACT,MAAM,WAAW;IACjB,IAAI,YAAY;IAChB,QAAQ,gBAAgB;IACxB,OAAO,YAAY;IACnB,WAAW,gBAAgB;IAC3B,IAAI,SAAS;IACb,KAAK,UAAU;CAChB;AAED,MAAM,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC;AAExF;;GAEG;AACH,oBAAY,UAAU;IACpB,KAAK,eAAe;IACpB,IAAI,cAAc;IAClB,UAAU,oBAAoB;IAC9B,KAAK,eAAe;IACpB,WAAW,qBAAqB;IAChC,UAAU,oBAAoB;IAC9B,KAAK,eAAe;CACrB;AAED;;GAEG;AACH,oBAAY,aAAa;IACvB,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,KAAK,UAAU;CAChB;AAED;;GAEG;AACH,oBAAY,UAAU;IACpB,aAAa,aAAa;IAC1B,YAAY,YAAY;IACxB,cAAc,cAAc;IAC5B,OAAO,QAAQ;IACf,WAAW,WAAW;IACtB,SAAS,aAAa;IACtB,WAAW,eAAe;IAC1B,SAAS,aAAa;IACtB,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,GAAG,QAAQ;IACX,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,IAAI,SAAS;IACb,SAAS,aAAa;IACtB,SAAS,cAAc;IACvB,IAAI,SAAS;IACb,IAAI,SAAS;IACb,GAAG,QAAQ;IACX,MAAM,WAAW;IACjB,SAAS,aAAa;IACtB,WAAW,eAAe;IAC1B,SAAS,aAAa;CACvB;AAED,oBAAY,SAAS;IACnB,GAAG,QAAQ;IACX,IAAI,SAAS;CACd"}