@spinajs/orm 2.0.46 → 2.0.48

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 (65) hide show
  1. package/README.md +11 -11
  2. package/lib/builders.d.ts +9 -8
  3. package/lib/builders.d.ts.map +1 -0
  4. package/lib/builders.js +277 -310
  5. package/lib/builders.js.map +1 -1
  6. package/lib/converters.d.ts +4 -3
  7. package/lib/converters.d.ts.map +1 -0
  8. package/lib/converters.js +11 -19
  9. package/lib/converters.js.map +1 -1
  10. package/lib/decorators.d.ts +4 -3
  11. package/lib/decorators.d.ts.map +1 -0
  12. package/lib/decorators.js +71 -99
  13. package/lib/decorators.js.map +1 -1
  14. package/lib/dehydrators.d.ts +2 -1
  15. package/lib/dehydrators.d.ts.map +1 -0
  16. package/lib/dehydrators.js +9 -16
  17. package/lib/dehydrators.js.map +1 -1
  18. package/lib/driver.d.ts +6 -5
  19. package/lib/driver.d.ts.map +1 -0
  20. package/lib/driver.js +20 -24
  21. package/lib/driver.js.map +1 -1
  22. package/lib/enums.d.ts +2 -1
  23. package/lib/enums.d.ts.map +1 -0
  24. package/lib/enums.js +14 -17
  25. package/lib/enums.js.map +1 -1
  26. package/lib/exceptions.d.ts +2 -1
  27. package/lib/exceptions.d.ts.map +1 -0
  28. package/lib/exceptions.js +2 -6
  29. package/lib/exceptions.js.map +1 -1
  30. package/lib/hydrators.d.ts +2 -1
  31. package/lib/hydrators.d.ts.map +1 -0
  32. package/lib/hydrators.js +23 -28
  33. package/lib/hydrators.js.map +1 -1
  34. package/lib/index.d.ts +16 -15
  35. package/lib/index.d.ts.map +1 -0
  36. package/lib/index.js +15 -31
  37. package/lib/index.js.map +1 -1
  38. package/lib/interfaces.d.ts +10 -9
  39. package/lib/interfaces.d.ts.map +1 -0
  40. package/lib/interfaces.js +76 -89
  41. package/lib/interfaces.js.map +1 -1
  42. package/lib/model.d.ts +8 -7
  43. package/lib/model.d.ts.map +1 -0
  44. package/lib/model.js +116 -154
  45. package/lib/model.js.map +1 -1
  46. package/lib/orm.d.ts +4 -3
  47. package/lib/orm.d.ts.map +1 -0
  48. package/lib/orm.js +45 -74
  49. package/lib/orm.js.map +1 -1
  50. package/lib/relations.d.ts +6 -11
  51. package/lib/relations.d.ts.map +1 -0
  52. package/lib/relations.js +56 -90
  53. package/lib/relations.js.map +1 -1
  54. package/lib/statements.d.ts +6 -7
  55. package/lib/statements.d.ts.map +1 -0
  56. package/lib/statements.js +55 -86
  57. package/lib/statements.js.map +1 -1
  58. package/lib/types.d.ts +15 -14
  59. package/lib/types.d.ts.map +1 -0
  60. package/lib/types.js +1 -2
  61. package/lib/wrappers.d.ts +2 -1
  62. package/lib/wrappers.d.ts.map +1 -0
  63. package/lib/wrappers.js +4 -7
  64. package/lib/wrappers.js.map +1 -1
  65. package/package.json +63 -61
package/lib/decorators.js CHANGED
@@ -1,27 +1,24 @@
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_1 = require("./interfaces");
1
+ import { JsonValueConverter } from './interfaces.js';
5
2
  /* eslint-disable prettier/prettier */
6
- const converters_1 = require("./converters");
7
- const di_1 = require("@spinajs/di");
8
- const interfaces_2 = require("./interfaces");
9
- require("reflect-metadata");
10
- const model_1 = require("./model");
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');
3
+ import { UuidConverter } from './converters.js';
4
+ import { DI } from '@spinajs/di';
5
+ import { RelationType, DatetimeValueConverter, SetValueConverter } from './interfaces.js';
6
+ import 'reflect-metadata';
7
+ import { extractModelDescriptor } from './model.js';
8
+ import { InvalidOperation, InvalidArgument } from '../../exceptions/lib/index.js';
9
+ export const MODEL_DESCTRIPTION_SYMBOL = Symbol.for('MODEL_DESCRIPTOR');
10
+ export const MIGRATION_DESCRIPTION_SYMBOL = Symbol.for('MIGRATION_DESCRIPTOR');
14
11
  /**
15
12
  * Helper func to create model metadata
16
13
  */
17
- function extractDecoratorDescriptor(callback, base = false) {
14
+ export function extractDecoratorDescriptor(callback, base = false) {
18
15
  return (target, propertyKey, indexOrDescriptor) => {
19
16
  let metadata = null;
20
17
  if (!base) {
21
- metadata = target.constructor[exports.MODEL_DESCTRIPTION_SYMBOL];
18
+ metadata = target.constructor[MODEL_DESCTRIPTION_SYMBOL];
22
19
  }
23
20
  else {
24
- metadata = target[exports.MODEL_DESCTRIPTION_SYMBOL];
21
+ metadata = target[MODEL_DESCTRIPTION_SYMBOL];
25
22
  }
26
23
  if (!metadata) {
27
24
  metadata = {
@@ -51,10 +48,10 @@ function extractDecoratorDescriptor(callback, base = false) {
51
48
  Schema: {},
52
49
  };
53
50
  if (!base) {
54
- target.constructor[exports.MODEL_DESCTRIPTION_SYMBOL] = metadata;
51
+ target.constructor[MODEL_DESCTRIPTION_SYMBOL] = metadata;
55
52
  }
56
53
  else {
57
- target[exports.MODEL_DESCTRIPTION_SYMBOL] = metadata;
54
+ target[MODEL_DESCTRIPTION_SYMBOL] = metadata;
58
55
  }
59
56
  }
60
57
  if (callback) {
@@ -62,54 +59,50 @@ function extractDecoratorDescriptor(callback, base = false) {
62
59
  }
63
60
  };
64
61
  }
65
- exports.extractDecoratorDescriptor = extractDecoratorDescriptor;
66
62
  /**
67
63
  * Sets migration option
68
64
  *
69
65
  * @param connection - connection name, must exists in configuration file
70
66
  */
71
- function Migration(connection) {
67
+ export function Migration(connection) {
72
68
  return (target) => {
73
- let metadata = target[exports.MIGRATION_DESCRIPTION_SYMBOL];
69
+ let metadata = target[MIGRATION_DESCRIPTION_SYMBOL];
74
70
  if (!metadata) {
75
71
  metadata = {
76
72
  Connection: '',
77
73
  };
78
- target[exports.MIGRATION_DESCRIPTION_SYMBOL] = metadata;
74
+ target[MIGRATION_DESCRIPTION_SYMBOL] = metadata;
79
75
  }
80
76
  metadata.Connection = connection;
81
- di_1.DI.register(target).as('__migrations__');
77
+ DI.register(target).as('__migrations__');
82
78
  };
83
79
  }
84
- exports.Migration = Migration;
85
80
  /**
86
81
  * Connection model decorator, assigns connection to model
87
82
  *
88
83
  * @param name - connection name, must be avaible in db config
89
84
  */
90
- function Connection(name) {
85
+ export function Connection(name) {
91
86
  return extractDecoratorDescriptor((model) => {
92
87
  model.Connection = name;
93
88
  }, true);
94
89
  }
95
- exports.Connection = Connection;
96
90
  /**
97
91
  * TableName model decorator, assigns table from database to model
98
92
  *
99
93
  * @param name - table name in database that is referred by this model
100
94
  */
101
- function Model(tableName) {
95
+ export function Model(tableName) {
102
96
  return extractDecoratorDescriptor((model, target) => {
103
- di_1.DI.register(target).as('__models__');
97
+ DI.register(target).as('__models__');
104
98
  model.TableName = tableName;
105
99
  }, true);
106
100
  }
107
- exports.Model = Model;
108
101
  /**
109
102
  * Set create timestamps feature to model. Proper columns must be avaible in database table.
110
103
  * It allow to track creation times & changes to model
111
104
  */
112
- function CreatedAt() {
105
+ export function CreatedAt() {
113
106
  return extractDecoratorDescriptor((model, target, propertyKey) => {
114
107
  const type = Reflect.getMetadata('design:type', target, propertyKey);
115
108
  if (type.name !== 'DateTime') {
@@ -118,16 +111,15 @@ function CreatedAt() {
118
111
  model.Timestamps.CreatedAt = propertyKey;
119
112
  // add converter for this field
120
113
  model.Converters.set(propertyKey, {
121
- Class: interfaces_2.DatetimeValueConverter,
114
+ Class: DatetimeValueConverter,
122
115
  });
123
116
  });
124
117
  }
125
- exports.CreatedAt = CreatedAt;
126
118
  /**
127
119
  * Set update timestamps feature to model. Proper columns must be avaible in database table.
128
120
  * It allow to track creation times & changes to model
129
121
  */
130
- function UpdatedAt() {
122
+ export function UpdatedAt() {
131
123
  return extractDecoratorDescriptor((model, target, propertyKey) => {
132
124
  const type = Reflect.getMetadata('design:type', target, propertyKey);
133
125
  if (type.name !== 'DateTime') {
@@ -136,16 +128,15 @@ function UpdatedAt() {
136
128
  model.Timestamps.UpdatedAt = propertyKey;
137
129
  // add converter for this field
138
130
  model.Converters.set(propertyKey, {
139
- Class: interfaces_2.DatetimeValueConverter,
131
+ Class: DatetimeValueConverter,
140
132
  });
141
133
  });
142
134
  }
143
- exports.UpdatedAt = UpdatedAt;
144
135
  /**
145
136
  * Sets soft delete feature to model. Soft delete dont delete model, but sets deletion date and hides from
146
137
  * select result by default.
147
138
  */
148
- function SoftDelete() {
139
+ export function SoftDelete() {
149
140
  return extractDecoratorDescriptor((model, target, propertyKey) => {
150
141
  const type = Reflect.getMetadata('design:type', target, propertyKey);
151
142
  if (type.name !== 'DateTime') {
@@ -154,17 +145,16 @@ function SoftDelete() {
154
145
  model.SoftDelete.DeletedAt = propertyKey;
155
146
  // add converter for this field
156
147
  model.Converters.set(propertyKey, {
157
- Class: interfaces_2.DatetimeValueConverter,
148
+ Class: DatetimeValueConverter,
158
149
  });
159
150
  });
160
151
  }
161
- exports.SoftDelete = SoftDelete;
162
152
  /**
163
153
  * Enable archive mode for model. If enabled all changes creates new instance in DB and old have set archived field
164
154
  * and gets attached to new model. It enabled to track changes to model in DB and also preserve data in relations.
165
155
  *
166
156
  */
167
- function Archived() {
157
+ export function Archived() {
168
158
  return extractDecoratorDescriptor((model, target, propertyKey) => {
169
159
  const type = Reflect.getMetadata('design:type', target, propertyKey);
170
160
  if (type.name !== 'DateTime') {
@@ -173,24 +163,22 @@ function Archived() {
173
163
  model.Archived.ArchivedAt = propertyKey;
174
164
  // add converter for this field
175
165
  model.Converters.set(propertyKey, {
176
- Class: interfaces_2.DatetimeValueConverter,
166
+ Class: DatetimeValueConverter,
177
167
  });
178
168
  });
179
169
  }
180
- exports.Archived = Archived;
181
170
  /**
182
171
  * Makrs field as primary key
183
172
  */
184
- function Primary() {
173
+ export function Primary() {
185
174
  return extractDecoratorDescriptor((model, _target, propertyKey) => {
186
175
  model.PrimaryKey = propertyKey;
187
176
  });
188
177
  }
189
- exports.Primary = Primary;
190
178
  /**
191
179
  * Marks columns as UUID. Column will be generated ad creation
192
180
  */
193
- function Ignore() {
181
+ export function Ignore() {
194
182
  return extractDecoratorDescriptor((model, _target, propertyKey) => {
195
183
  const columnDesc = model.Columns.find((c) => c.Name === propertyKey);
196
184
  if (!columnDesc) {
@@ -202,11 +190,10 @@ function Ignore() {
202
190
  }
203
191
  }, true);
204
192
  }
205
- exports.Ignore = Ignore;
206
193
  /**
207
194
  * Marks columns as UUID. Column will be generated ad creation
208
195
  */
209
- function Uuid() {
196
+ export function Uuid() {
210
197
  return extractDecoratorDescriptor((model, _target, propertyKey) => {
211
198
  const columnDesc = model.Columns.find((c) => c.Name === propertyKey);
212
199
  if (!columnDesc) {
@@ -217,12 +204,11 @@ function Uuid() {
217
204
  columnDesc.Uuid = true;
218
205
  }
219
206
  model.Converters.set(propertyKey, {
220
- Class: converters_1.UuidConverter,
207
+ Class: UuidConverter,
221
208
  });
222
209
  }, true);
223
210
  }
224
- exports.Uuid = Uuid;
225
- function JunctionTable() {
211
+ export function JunctionTable() {
226
212
  return extractDecoratorDescriptor((model, target, propertyKey) => {
227
213
  model.JunctionModelProperties.push({
228
214
  Name: propertyKey,
@@ -230,7 +216,6 @@ function JunctionTable() {
230
216
  });
231
217
  });
232
218
  }
233
- exports.JunctionTable = JunctionTable;
234
219
  /**
235
220
  *
236
221
  * Marks model to have discrimination map.
@@ -238,7 +223,7 @@ exports.JunctionTable = JunctionTable;
238
223
  * @param fieldName - db field name to look for
239
224
  * @param discriminationMap - field - model mapping
240
225
  */
241
- function DiscriminationMap(fieldName, discriminationMap) {
226
+ export function DiscriminationMap(fieldName, discriminationMap) {
242
227
  return extractDecoratorDescriptor((model, _target, _propertyKey) => {
243
228
  model.DiscriminationMap.Field = fieldName;
244
229
  model.DiscriminationMap.Models = new Map();
@@ -247,70 +232,65 @@ function DiscriminationMap(fieldName, discriminationMap) {
247
232
  });
248
233
  }, true);
249
234
  }
250
- exports.DiscriminationMap = DiscriminationMap;
251
235
  /**
252
236
  * Marks relation as recursive. When relation is populated it loads all to the top
253
237
  *
254
238
  */
255
- function Recursive() {
239
+ export function Recursive() {
256
240
  return extractDecoratorDescriptor((model, _target, propertyKey) => {
257
241
  if (!model.Relations.has(propertyKey)) {
258
- throw new exceptions_1.InvalidOperation(`cannot set recursive on not existing relation ( relation ${propertyKey} on model ${model.Name} )`);
242
+ throw new InvalidOperation(`cannot set recursive on not existing relation ( relation ${propertyKey} on model ${model.Name} )`);
259
243
  }
260
244
  const relation = model.Relations.get(propertyKey);
261
- if (relation.Type !== interfaces_2.RelationType.One) {
262
- throw new exceptions_1.InvalidOperation(`cannot set recursive on non one-to-one relation ( relation ${propertyKey} on model ${model.Name} )`);
245
+ if (relation.Type !== RelationType.One) {
246
+ throw new InvalidOperation(`cannot set recursive on non one-to-one relation ( relation ${propertyKey} on model ${model.Name} )`);
263
247
  }
264
248
  relation.Recursive = true;
265
249
  });
266
250
  }
267
- exports.Recursive = Recursive;
268
- const forwardRef = (fn) => ({
251
+ export const forwardRef = (fn) => ({
269
252
  forwardRef: fn,
270
253
  });
271
- exports.forwardRef = forwardRef;
272
254
  /**
273
255
  * Creates one to one relation with target model.
274
256
  *
275
257
  * @param foreignKey - foreign key name in db, defaults to lowercase property name with _id suffix eg. owner_id
276
258
  * @param primaryKey - primary key in related model, defaults to primary key taken from db
277
259
  */
278
- function BelongsTo(targetModel, foreignKey, primaryKey) {
260
+ export function BelongsTo(targetModel, foreignKey, primaryKey) {
279
261
  return extractDecoratorDescriptor((model, target, propertyKey) => {
280
262
  model.Relations.set(propertyKey, {
281
263
  Name: propertyKey,
282
- Type: interfaces_2.RelationType.One,
264
+ Type: RelationType.One,
283
265
  SourceModel: target.constructor,
284
266
  TargetModelType: targetModel,
285
267
  TargetModel: null,
286
- ForeignKey: foreignKey !== null && foreignKey !== void 0 ? foreignKey : `${propertyKey.toLowerCase()}_id`,
287
- PrimaryKey: primaryKey !== null && primaryKey !== void 0 ? primaryKey : model.PrimaryKey,
268
+ ForeignKey: foreignKey ?? `${propertyKey.toLowerCase()}_id`,
269
+ PrimaryKey: primaryKey ?? model.PrimaryKey,
288
270
  Recursive: false,
289
271
  });
290
272
  });
291
273
  }
292
- exports.BelongsTo = BelongsTo;
293
274
  /**
294
275
  * Creates one to one relation with target model.
295
276
  *
296
277
  * @param foreignKey - foreign key name in db, defaults to lowercase property name with _id suffix eg. owner_id
297
278
  * @param primaryKey - primary key in related model, defaults to primary key taken from db
298
279
  */
299
- function ForwardBelongsTo(forwardRef, foreignKey, primaryKey) {
280
+ export function ForwardBelongsTo(forwardRef, foreignKey, primaryKey) {
300
281
  return extractDecoratorDescriptor((model, target, propertyKey) => {
301
282
  model.Relations.set(propertyKey, {
302
283
  Name: propertyKey,
303
- Type: interfaces_2.RelationType.One,
284
+ Type: RelationType.One,
304
285
  SourceModel: target.constructor,
305
286
  TargetModelType: forwardRef.forwardRef,
306
287
  TargetModel: null,
307
- ForeignKey: foreignKey !== null && foreignKey !== void 0 ? foreignKey : `${propertyKey.toLowerCase()}_id`,
308
- PrimaryKey: primaryKey !== null && primaryKey !== void 0 ? primaryKey : model.PrimaryKey,
288
+ ForeignKey: foreignKey ?? `${propertyKey.toLowerCase()}_id`,
289
+ PrimaryKey: primaryKey ?? model.PrimaryKey,
309
290
  Recursive: false,
310
291
  });
311
292
  });
312
293
  }
313
- exports.ForwardBelongsTo = ForwardBelongsTo;
314
294
  /**
315
295
  * Creates one to many relation with target model.
316
296
  *
@@ -319,29 +299,27 @@ exports.ForwardBelongsTo = ForwardBelongsTo;
319
299
  * @param primaryKey - primary key in source table defaults to lowercase property name with _id suffix eg. owner_id
320
300
  *
321
301
  */
322
- function HasMany(targetModel, options) {
302
+ export function HasMany(targetModel, options) {
323
303
  return extractDecoratorDescriptor((model, target, propertyKey) => {
324
- var _a, _b;
325
304
  model.Relations.set(propertyKey, {
326
305
  Name: propertyKey,
327
- Type: interfaces_2.RelationType.Many,
306
+ Type: RelationType.Many,
328
307
  SourceModel: target.constructor,
329
308
  TargetModelType: targetModel,
330
309
  TargetModel: null,
331
- ForeignKey: options ? (_a = options.foreignKey) !== null && _a !== void 0 ? _a : `${model.Name.toLowerCase()}_id` : `${model.Name.toLowerCase()}_id`,
332
- PrimaryKey: options ? (_b = options.primaryKey) !== null && _b !== void 0 ? _b : model.PrimaryKey : model.PrimaryKey,
310
+ ForeignKey: options ? options.foreignKey ?? `${model.Name.toLowerCase()}_id` : `${model.Name.toLowerCase()}_id`,
311
+ PrimaryKey: options ? options.primaryKey ?? model.PrimaryKey : model.PrimaryKey,
333
312
  Recursive: false,
334
313
  Factory: options ? options.factory : null,
335
314
  RelationClass: options ? options.type : null,
336
315
  });
337
316
  });
338
317
  }
339
- exports.HasMany = HasMany;
340
- function Historical(targetModel) {
318
+ export function Historical(targetModel) {
341
319
  return extractDecoratorDescriptor((model, target, propertyKey) => {
342
320
  model.Relations.set(propertyKey, {
343
321
  Name: propertyKey,
344
- Type: interfaces_2.RelationType.Many,
322
+ Type: RelationType.Many,
345
323
  SourceModel: target.constructor,
346
324
  TargetModelType: targetModel,
347
325
  TargetModel: null,
@@ -351,7 +329,6 @@ function Historical(targetModel) {
351
329
  });
352
330
  });
353
331
  }
354
- exports.Historical = Historical;
355
332
  /**
356
333
  * Creates many to many relation with separate join table
357
334
  *
@@ -362,58 +339,55 @@ exports.Historical = Historical;
362
339
  * @param junctionModelTargetPk - junction table target primary key name ( foreign key for target model )
363
340
  * @param junctionModelSourcePk - junction table source primary key name ( foreign key for source model )
364
341
  */
365
- function HasManyToMany(junctionModel, targetModel, targetModelPKey, sourceModelPKey, junctionModelTargetPk, junctionModelSourcePk) {
342
+ export function HasManyToMany(junctionModel, targetModel, targetModelPKey, sourceModelPKey, junctionModelTargetPk, junctionModelSourcePk) {
366
343
  return extractDecoratorDescriptor((model, target, propertyKey) => {
367
- const targetModelDescriptor = (0, model_1.extractModelDescriptor)(targetModel);
344
+ const targetModelDescriptor = extractModelDescriptor(targetModel);
368
345
  model.Relations.set(propertyKey, {
369
346
  Name: propertyKey,
370
347
  Recursive: false,
371
- Type: interfaces_2.RelationType.ManyToMany,
348
+ Type: RelationType.ManyToMany,
372
349
  SourceModel: target.constructor,
373
350
  TargetModelType: targetModel,
374
351
  TargetModel: null,
375
- ForeignKey: targetModelPKey !== null && targetModelPKey !== void 0 ? targetModelPKey : targetModelDescriptor.PrimaryKey,
376
- PrimaryKey: sourceModelPKey !== null && sourceModelPKey !== void 0 ? sourceModelPKey : model.PrimaryKey,
352
+ ForeignKey: targetModelPKey ?? targetModelDescriptor.PrimaryKey,
353
+ PrimaryKey: sourceModelPKey ?? model.PrimaryKey,
377
354
  JunctionModel: junctionModel,
378
- JunctionModelTargetModelFKey_Name: junctionModelTargetPk !== null && junctionModelTargetPk !== void 0 ? junctionModelTargetPk : `${targetModelDescriptor.Name.toLowerCase()}_id`,
379
- JunctionModelSourceModelFKey_Name: junctionModelSourcePk !== null && junctionModelSourcePk !== void 0 ? junctionModelSourcePk : `${model.Name.toLowerCase()}_id`,
355
+ JunctionModelTargetModelFKey_Name: junctionModelTargetPk ?? `${targetModelDescriptor.Name.toLowerCase()}_id`,
356
+ JunctionModelSourceModelFKey_Name: junctionModelSourcePk ?? `${model.Name.toLowerCase()}_id`,
380
357
  });
381
358
  });
382
359
  }
383
- exports.HasManyToMany = HasManyToMany;
384
360
  /**
385
361
  * Mark field as datetime type. It will ensure that conversion to & from DB is valid, eg. sqlite DB
386
362
  * saves datetime as TEXT and ISO8601 strings
387
363
  */
388
- function DateTime() {
364
+ export function DateTime() {
389
365
  return extractDecoratorDescriptor((model, target, propertyKey) => {
390
366
  const type = Reflect.getMetadata('design:type', target, propertyKey);
391
367
  if (type.name !== 'DateTime') {
392
368
  throw Error(`Proprety ${propertyKey} must be DateTime type`);
393
369
  }
394
370
  if (model.Converters.has(propertyKey)) {
395
- throw new exceptions_1.InvalidArgument(`property ${propertyKey} already have data converter attached`);
371
+ throw new InvalidArgument(`property ${propertyKey} already have data converter attached`);
396
372
  }
397
373
  model.Converters.set(propertyKey, {
398
- Class: interfaces_2.DatetimeValueConverter,
374
+ Class: DatetimeValueConverter,
399
375
  });
400
376
  });
401
377
  }
402
- exports.DateTime = DateTime;
403
378
  /**
404
379
  * Converts data in db to json object. Column type in DB should be STRING.
405
380
  * DO not use this decorator for use of native DB JSON implementation.
406
381
  * ORM will detect automatically if field is native JSON DB type.
407
382
  */
408
- function Json() {
383
+ export function Json() {
409
384
  return extractDecoratorDescriptor((model, _, propertyKey) => {
410
385
  // add converter for this field
411
386
  model.Converters.set(propertyKey, {
412
- Class: interfaces_1.JsonValueConverter,
387
+ Class: JsonValueConverter,
413
388
  });
414
389
  });
415
390
  }
416
- exports.Json = Json;
417
391
  /**
418
392
  *
419
393
  * Universal converter that guess whitch type to return. Usefull in tables that holds as text different values
@@ -421,34 +395,32 @@ exports.Json = Json;
421
395
  *
422
396
  * @param typeColumn - type column that defines final type of value
423
397
  */
424
- function UniversalConverter(typeColumn) {
398
+ export function UniversalConverter(typeColumn) {
425
399
  return extractDecoratorDescriptor((model, _, propertyKey) => {
426
400
  // add converter for this field
427
401
  model.Converters.set(propertyKey, {
428
- Class: interfaces_1.JsonValueConverter,
402
+ Class: JsonValueConverter,
429
403
  Options: {
430
404
  TypeColumn: typeColumn,
431
405
  },
432
406
  });
433
407
  });
434
408
  }
435
- exports.UniversalConverter = UniversalConverter;
436
409
  /**
437
410
  * Mark field as SET type. It will ensure that conversion to & from DB is valid, eg. to emulate field type SET in sqlite
438
411
  */
439
- function Set() {
412
+ export function Set() {
440
413
  return extractDecoratorDescriptor((model, target, propertyKey) => {
441
414
  const type = Reflect.getMetadata('design:type', target, propertyKey);
442
415
  if (type.name !== 'Array') {
443
416
  throw Error(`Proprety ${propertyKey} must be an array type`);
444
417
  }
445
418
  if (model.Converters.has(propertyKey)) {
446
- throw new exceptions_1.InvalidArgument(`property ${propertyKey} already have data converter attached`);
419
+ throw new InvalidArgument(`property ${propertyKey} already have data converter attached`);
447
420
  }
448
421
  model.Converters.set(propertyKey, {
449
- Class: interfaces_2.SetValueConverter,
422
+ Class: SetValueConverter,
450
423
  });
451
424
  });
452
425
  }
453
- exports.Set = Set;
454
426
  //# sourceMappingURL=decorators.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../src/decorators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../src/decorators.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { ModelBase } from './model';
1
+ import { ModelBase } from './model.js';
2
2
  export declare abstract class ModelDehydrator {
3
3
  abstract dehydrate(model: ModelBase, omit?: string[]): any;
4
4
  }
@@ -8,3 +8,4 @@ export declare class StandardModelDehydrator extends ModelDehydrator {
8
8
  export declare class StandardModelWithRelationsDehydrator extends StandardModelDehydrator {
9
9
  dehydrate(model: ModelBase<unknown>, omit?: string[]): any;
10
10
  }
11
+ //# sourceMappingURL=dehydrators.d.ts.map
@@ -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"}
@@ -1,42 +1,36 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.StandardModelWithRelationsDehydrator = exports.StandardModelDehydrator = exports.ModelDehydrator = void 0;
4
- const exceptions_1 = require("./exceptions");
5
- const interfaces_1 = require("./interfaces");
6
- class ModelDehydrator {
1
+ import { OrmException } from './exceptions.js';
2
+ import { RelationType } from './interfaces.js';
3
+ export class ModelDehydrator {
7
4
  }
8
- exports.ModelDehydrator = ModelDehydrator;
9
- class StandardModelDehydrator extends ModelDehydrator {
5
+ export class StandardModelDehydrator extends ModelDehydrator {
10
6
  dehydrate(model, omit) {
11
- var _a;
12
7
  const obj = {};
13
8
  const relArr = [...model.ModelDescriptor.Relations.values()];
14
- (_a = model.ModelDescriptor.Columns) === null || _a === void 0 ? void 0 : _a.forEach((c) => {
9
+ model.ModelDescriptor.Columns?.forEach((c) => {
15
10
  // if in omit list OR it is foreign key for relation - skip
16
11
  if ((omit && omit.indexOf(c.Name) !== -1) || (relArr.find((r) => r.ForeignKey === c.Name) && !c.PrimaryKey)) {
17
12
  return;
18
13
  }
19
14
  const val = model[c.Name];
20
15
  if (!c.PrimaryKey && !c.Nullable && (val === null || val === undefined || val === '')) {
21
- throw new exceptions_1.OrmException(`Field ${c.Name} cannot be null`);
16
+ throw new OrmException(`Field ${c.Name} cannot be null`);
22
17
  }
23
18
  obj[c.Name] = c.Converter ? c.Converter.toDB(val, model, null) : val;
24
19
  });
25
20
  return obj;
26
21
  }
27
22
  }
28
- exports.StandardModelDehydrator = StandardModelDehydrator;
29
- class StandardModelWithRelationsDehydrator extends StandardModelDehydrator {
23
+ export class StandardModelWithRelationsDehydrator extends StandardModelDehydrator {
30
24
  dehydrate(model, omit) {
31
25
  const obj = super.dehydrate(model, omit);
32
26
  const relArr = [...model.ModelDescriptor.Relations.values()];
33
27
  for (const val of relArr) {
34
- if (val.Type === interfaces_1.RelationType.One) {
28
+ if (val.Type === RelationType.One) {
35
29
  if (model[val.Name].Value) {
36
30
  obj[val.Name] = model[val.Name].Value.dehydrateWithRelations();
37
31
  }
38
32
  }
39
- if (val.Type === interfaces_1.RelationType.Many) {
33
+ if (val.Type === RelationType.Many) {
40
34
  if (model[val.Name]) {
41
35
  obj[val.Name] = [...model[val.Name].map((x) => x.dehydrateWithRelations())];
42
36
  }
@@ -45,5 +39,4 @@ class StandardModelWithRelationsDehydrator extends StandardModelDehydrator {
45
39
  return obj;
46
40
  }
47
41
  }
48
- exports.StandardModelWithRelationsDehydrator = StandardModelWithRelationsDehydrator;
49
42
  //# sourceMappingURL=dehydrators.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dehydrators.js","sourceRoot":"","sources":["../src/dehydrators.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAC5C,6CAA4C;AAI5C,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,MAAA,KAAK,CAAC,eAAe,CAAC,OAAO,0CAAE,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,yBAAY,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,yBAAY,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,yBAAY,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"}
1
+ {"version":3,"file":"dehydrators.js","sourceRoot":"","sources":["../src/dehydrators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAI/C,MAAM,OAAgB,eAAe;CAEpC;AAED,MAAM,OAAO,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,YAAY,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;AAED,MAAM,OAAO,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,YAAY,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,YAAY,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"}
package/lib/driver.d.ts CHANGED
@@ -1,10 +1,10 @@
1
1
  import { Log } from '@spinajs/log';
2
- import { IColumnDescriptor, IDriverOptions, QueryContext } from './interfaces';
2
+ import { IColumnDescriptor, IDriverOptions, QueryContext } from './interfaces.js';
3
3
  import { SyncService, IContainer, Container } from '@spinajs/di';
4
- import { UpdateQueryBuilder, SelectQueryBuilder, IndexQueryBuilder, DeleteQueryBuilder, InsertQueryBuilder, SchemaQueryBuilder, QueryBuilder, TruncateTableQueryBuilder } from './builders';
5
- import './hydrators';
6
- import './dehydrators';
7
- export declare type TransactionCallback = (driver: OrmDriver) => Promise<any>;
4
+ import { UpdateQueryBuilder, SelectQueryBuilder, IndexQueryBuilder, DeleteQueryBuilder, InsertQueryBuilder, SchemaQueryBuilder, QueryBuilder, TruncateTableQueryBuilder } from './builders.js';
5
+ import './hydrators.js';
6
+ import './dehydrators.js';
7
+ export type TransactionCallback = (driver: OrmDriver) => Promise<any>;
8
8
  export declare abstract class OrmDriver extends SyncService {
9
9
  /**
10
10
  * Connection options
@@ -80,3 +80,4 @@ export declare abstract class OrmDriver extends SyncService {
80
80
  */
81
81
  abstract transaction(queryOrCallback?: QueryBuilder[] | TransactionCallback): Promise<void>;
82
82
  }
83
+ //# sourceMappingURL=driver.d.ts.map
@@ -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"}