@spinajs/orm 2.0.491 → 2.0.495

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/README.md +80 -80
  2. package/lib/cjs/builders.d.ts +1 -2
  3. package/lib/cjs/builders.d.ts.map +1 -1
  4. package/lib/cjs/builders.js +2 -0
  5. package/lib/cjs/builders.js.map +1 -1
  6. package/lib/cjs/decorators.d.ts +22 -0
  7. package/lib/cjs/decorators.d.ts.map +1 -1
  8. package/lib/cjs/decorators.js +29 -0
  9. package/lib/cjs/decorators.js.map +1 -1
  10. package/lib/cjs/descriptor.d.ts.map +1 -1
  11. package/lib/cjs/descriptor.js +2 -0
  12. package/lib/cjs/descriptor.js.map +1 -1
  13. package/lib/cjs/driver.d.ts +12 -0
  14. package/lib/cjs/driver.d.ts.map +1 -1
  15. package/lib/cjs/driver.js +12 -0
  16. package/lib/cjs/driver.js.map +1 -1
  17. package/lib/cjs/interfaces.d.ts +35 -24
  18. package/lib/cjs/interfaces.d.ts.map +1 -1
  19. package/lib/cjs/interfaces.js.map +1 -1
  20. package/lib/cjs/model.d.ts +26 -5
  21. package/lib/cjs/model.d.ts.map +1 -1
  22. package/lib/cjs/model.js +32 -9
  23. package/lib/cjs/model.js.map +1 -1
  24. package/lib/cjs/orm.d.ts.map +1 -1
  25. package/lib/cjs/orm.js +4 -1
  26. package/lib/cjs/orm.js.map +1 -1
  27. package/lib/cjs/relation-objects.d.ts +76 -163
  28. package/lib/cjs/relation-objects.d.ts.map +1 -1
  29. package/lib/cjs/relation-objects.js +223 -192
  30. package/lib/cjs/relation-objects.js.map +1 -1
  31. package/lib/cjs/schema-providers.d.ts +34 -0
  32. package/lib/cjs/schema-providers.d.ts.map +1 -1
  33. package/lib/cjs/schema-providers.js +59 -3
  34. package/lib/cjs/schema-providers.js.map +1 -1
  35. package/lib/cjs/schema.d.ts +20 -3
  36. package/lib/cjs/schema.d.ts.map +1 -1
  37. package/lib/cjs/schema.js +59 -9
  38. package/lib/cjs/schema.js.map +1 -1
  39. package/lib/cjs/snapshot.d.ts +1 -1
  40. package/lib/cjs/snapshot.d.ts.map +1 -1
  41. package/lib/cjs/snapshot.js +9 -2
  42. package/lib/cjs/snapshot.js.map +1 -1
  43. package/lib/mjs/builders.d.ts +1 -2
  44. package/lib/mjs/builders.d.ts.map +1 -1
  45. package/lib/mjs/builders.js +2 -0
  46. package/lib/mjs/builders.js.map +1 -1
  47. package/lib/mjs/decorators.d.ts +22 -0
  48. package/lib/mjs/decorators.d.ts.map +1 -1
  49. package/lib/mjs/decorators.js +28 -0
  50. package/lib/mjs/decorators.js.map +1 -1
  51. package/lib/mjs/descriptor.d.ts.map +1 -1
  52. package/lib/mjs/descriptor.js +2 -0
  53. package/lib/mjs/descriptor.js.map +1 -1
  54. package/lib/mjs/driver.d.ts +12 -0
  55. package/lib/mjs/driver.d.ts.map +1 -1
  56. package/lib/mjs/driver.js +12 -0
  57. package/lib/mjs/driver.js.map +1 -1
  58. package/lib/mjs/interfaces.d.ts +35 -24
  59. package/lib/mjs/interfaces.d.ts.map +1 -1
  60. package/lib/mjs/interfaces.js.map +1 -1
  61. package/lib/mjs/model.d.ts +26 -5
  62. package/lib/mjs/model.d.ts.map +1 -1
  63. package/lib/mjs/model.js +32 -9
  64. package/lib/mjs/model.js.map +1 -1
  65. package/lib/mjs/orm.d.ts.map +1 -1
  66. package/lib/mjs/orm.js +4 -1
  67. package/lib/mjs/orm.js.map +1 -1
  68. package/lib/mjs/relation-objects.d.ts +76 -163
  69. package/lib/mjs/relation-objects.d.ts.map +1 -1
  70. package/lib/mjs/relation-objects.js +225 -194
  71. package/lib/mjs/relation-objects.js.map +1 -1
  72. package/lib/mjs/schema-providers.d.ts +34 -0
  73. package/lib/mjs/schema-providers.d.ts.map +1 -1
  74. package/lib/mjs/schema-providers.js +59 -3
  75. package/lib/mjs/schema-providers.js.map +1 -1
  76. package/lib/mjs/schema.d.ts +20 -3
  77. package/lib/mjs/schema.d.ts.map +1 -1
  78. package/lib/mjs/schema.js +59 -9
  79. package/lib/mjs/schema.js.map +1 -1
  80. package/lib/mjs/snapshot.d.ts +1 -1
  81. package/lib/mjs/snapshot.d.ts.map +1 -1
  82. package/lib/mjs/snapshot.js +9 -2
  83. package/lib/mjs/snapshot.js.map +1 -1
  84. package/lib/tsconfig.cjs.tsbuildinfo +1 -1
  85. package/lib/tsconfig.mjs.tsbuildinfo +1 -1
  86. package/package.json +75 -73
@@ -1,27 +1,40 @@
1
- import { IRelationDescriptor, IModelDescriptor, InsertBehaviour, ForwardRefFunction, IRelation, ISelectQueryBuilder, QueryScope } from './interfaces.js';
1
+ import { IRelationDescriptor, IModelDescriptor, ForwardRefFunction, IRelation, ISelectQueryBuilder, QueryScope } from './interfaces.js';
2
2
  import { Constructor } from '@spinajs/di';
3
3
  import { SelectQueryBuilder } from './builders.js';
4
4
  import type { ModelBase } from './model.js';
5
5
  import { Orm } from './orm.js';
6
6
  import { OrmDriver } from './driver.js';
7
+ /**
8
+ * Pure, in-memory set algebra over model collections. Nothing here touches the database —
9
+ * apply a result with `relation.set(...)` and persist it with `sync()` / `update()` / `save()`.
10
+ */
7
11
  export declare class Dataset {
8
12
  /**
9
- *
10
- * Calculates difference between data in this relation and provides set. Result is saved to db.
13
+ * Calculates the symmetric difference between the relation data and the provided dataset —
14
+ * members of either set that are not in the other. In-memory only; persist with `sync()`.
11
15
  *
12
16
  * @param dataset - data to compare
13
- * @param callback - function to compare objects, if none provideded - primary key value is used
17
+ * @param callback - function to compare objects, if none provided - primary key value is used
14
18
  */
15
- static diff<R>(dataset: R[], callback?: (a: R, b: R) => boolean): (datasetB: R[], pKey: string[]) => R[];
19
+ static diff<R>(dataset: R[], callback?: (a: R, b: R) => boolean): (datasetB: R[], pKey: string[]) => any[];
16
20
  /**
17
- *
18
- * Calculates intersection between data in this relation and provided dataset
19
- * It saves result to db
21
+ * Calculates the intersection between the relation data and the provided dataset.
22
+ * In-memory only; persist with `sync()`.
20
23
  *
21
24
  * @param dataset - dataset to compare
22
25
  * @param callback - function to compare models, if not set it is compared by primary key value
23
26
  */
24
- static intersection<R>(dataset: R[], callback?: (a: R, b: R) => boolean): (datasetB: R[], pKey: string[]) => R[];
27
+ static intersection<R>(dataset: R[], callback?: (a: R, b: R) => boolean): (datasetB: R[], pKey: string[]) => any[];
28
+ /**
29
+ * Calculates the union of the relation data and the provided dataset. Members already
30
+ * present ( by primary key or comparator ) are kept once, the relation's own instance
31
+ * winning over the incoming duplicate. Unsaved models compare by reference, so they are
32
+ * always appended. In-memory only; persist with `sync()`.
33
+ *
34
+ * @param dataset - data to add
35
+ * @param callback - function to compare models, if not set it is compared by primary key value
36
+ */
37
+ static union<R>(dataset: R[], callback?: (a: R, b: R) => boolean): (datasetB: R[], pKey: string[]) => R[];
25
38
  }
26
39
  /**
27
40
  * Iterable list of populated relation entities
@@ -34,18 +47,16 @@ export declare abstract class Relation<R extends ModelBase<R>, O extends ModelBa
34
47
  TargetModelDescriptor: IModelDescriptor | null;
35
48
  Populated: boolean;
36
49
  protected Driver: OrmDriver;
37
- protected IsModelAForwardRef: boolean;
38
50
  protected Model: Constructor<R> | ForwardRefFunction;
39
51
  /**
40
- * Array methods that derive a new collection ( `splice`, `filter`, `slice`, `concat`, … )
41
- * construct `new this.constructor[Symbol.species](len)` by default. That would call this
42
- * class's constructor with no relation descriptor, and the very next line dereferences
43
- * `this.Relation.TargetModel` — so `order.Items.splice(0, 1)` threw
52
+ * Array methods that derive a new collection ( `splice`, `filter`, `slice`, `concat`,
53
+ * `map`, … ) construct `new this.constructor[Symbol.species](len)` by default. That would
54
+ * call this class's constructor with no relation descriptor, and the very next line
55
+ * dereferences `this.Relation.TargetModel` — so `order.Items.splice(0, 1)` threw
44
56
  * `Cannot read properties of undefined (reading 'TargetModel')`.
45
57
  *
46
58
  * Deriving plain arrays is also the right semantics: a slice of a relation is a list of
47
- * models, not a relation with an owner. ( The hand-written `map()` below predates this and
48
- * worked around the same thing for one method. )
59
+ * models, not a relation with an owner.
49
60
  */
50
61
  static get [Symbol.species](): ArrayConstructor;
51
62
  constructor(Owner: O, Relation: IRelationDescriptor, objects?: R[]);
@@ -61,25 +72,20 @@ export declare abstract class Relation<R extends ModelBase<R>, O extends ModelBa
61
72
  * exactly what `Owner.PrimaryKeyValue` did.
62
73
  */
63
74
  protected get OwnerJoinValue(): any;
64
- map<U>(callbackfn: (value: R, index: number, array: R[]) => U, thisArg?: any): U[];
65
75
  /**
66
- * Removes all objects from relation by comparison functions
76
+ * Removes all members matching the predicate. In-memory only — the database changes on the
77
+ * next `sync()` ( orphan delete ) or `save()` ( orphan policy ).
67
78
  *
68
- * @param compare function to compare models
79
+ * @param compare - predicate selecting members to remove
69
80
  */
70
- abstract remove(compare: (a: R) => boolean): R[];
81
+ remove(compare: (a: R) => boolean): R[];
71
82
  /**
72
- * Removes all objects by primary key
83
+ * Removes the given model or models, matched by primary key ( an unsaved model, having no
84
+ * key, is matched by reference ). In-memory only — persist with `sync()` / `save()`.
73
85
  *
74
86
  * @param obj - data to remove
75
87
  */
76
- abstract remove(obj: R | R[]): R[];
77
- /**
78
- * Removes from relation & deletes from db
79
- *
80
- * @param obj - data to remove
81
- */
82
- abstract remove(obj: R | R[] | ((a: R, b: R) => boolean)): R[];
88
+ remove(obj: R | R[]): R[];
83
89
  /**
84
90
  * Delete all objects from relation ( alias for empty )
85
91
  */
@@ -103,36 +109,40 @@ export declare abstract class Relation<R extends ModelBase<R>, O extends ModelBa
103
109
  */
104
110
  abstract update(): Promise<void>;
105
111
  /**
106
- *
107
- * Calculates intersection between data in this relation and provided dataset
108
- * It saves result to db
112
+ * Calculates the intersection between this relation and the provided dataset. Pure
113
+ * computation apply it with `set()` and persist with `sync()` / `save()`.
109
114
  *
110
115
  * @param dataset - dataset to compare
111
116
  * @param callback - function to compare models, if not set it is compared by primary key value
117
+ * @returns members present in both sets
112
118
  */
113
- abstract intersection(dataset: R[], callback?: (a: R, b: R) => boolean): R[];
119
+ intersection(dataset: R[], callback?: (a: R, b: R) => boolean): R[];
114
120
  /**
115
- * Adds all items to this relation & adds to database
121
+ * Adds the dataset's members to this relation, skipping members already present ( compared
122
+ * by primary key, or by the callback ). In-memory only — nothing is written until `sync()`,
123
+ * `update()` or `save()`.
116
124
  *
117
125
  * @param dataset - data to add
118
- * @param mode - insert mode
126
+ * @param callback - function to compare models, if not set it is compared by primary key value
119
127
  */
120
- abstract union(dataset: R[], mode?: InsertBehaviour): void;
128
+ union(dataset: R[], callback?: (a: R, b: R) => boolean): void;
121
129
  /**
122
- *
123
- * Calculates difference between data in this relation and provides set. Result is saved to db.
130
+ * Calculates the symmetric difference between this relation and the dataset — members of
131
+ * this relation that are not in the dataset, plus members of the dataset that are not in
132
+ * this relation. Pure computation — apply it with `set()` and persist with `sync()`.
124
133
  *
125
134
  * @param dataset - data to compare
126
- * @param callback - function to compare objects, if none provideded - primary key value is used
135
+ * @param callback - function to compare objects, if none provided - primary key value is used
127
136
  */
128
- abstract diff(dataset: R[], callback?: (a: R, b: R) => boolean): R[];
137
+ diff(dataset: R[], callback?: (a: R, b: R) => boolean): R[];
129
138
  /**
139
+ * Clears the relation and replaces its members with the new dataset ( or with the result of
140
+ * a `Dataset.diff` / `Dataset.intersection` / `Dataset.union` closure ). In-memory only —
141
+ * persist with `sync()` / `update()` / `save()`.
130
142
  *
131
- * Clears data and replace it with new dataset.
132
- *
133
- * @param dataset - data for replace.
143
+ * @param obj - replacement data, or a closure receiving the current members and the primary key columns
134
144
  */
135
- abstract set(obj: R[] | ((data: R[], pKey: string[]) => R[])): void;
145
+ set(obj: R[] | ((data: R[], pKey: string[]) => R[])): void;
136
146
  /**
137
147
  * Populates this relation ( loads all data related to owner of this relation)
138
148
  */
@@ -186,11 +196,10 @@ export declare class SingleRelation<R extends ModelBase, O extends ModelBase = M
186
196
  export declare class ManyQueryRelationList<R extends ModelBase, O extends ModelBase> extends Relation<R, O, typeof ModelBase<R>> {
187
197
  remove(_compare: (a: R) => boolean): R[];
188
198
  remove(_obj: R | R[]): R[];
189
- remove(_obj: R | R[] | ((a: R, b: R) => boolean)): R[];
190
199
  sync(): Promise<void>;
191
200
  update(): Promise<void>;
192
201
  intersection(_dataset: R[], _callback?: (a: R, b: R) => boolean): R[];
193
- union(_dataset: R[], _mode?: InsertBehaviour): void;
202
+ union(_dataset: R[], _callback?: (a: R, b: R) => boolean): void;
194
203
  diff(_dataset: R[], _callback?: (a: R, b: R) => boolean): R[];
195
204
  set(_obj: R[] | ((data: R[], pKey: string[]) => R[])): void;
196
205
  populate(_callback?: (this: ISelectQueryBuilder<R[]> & QueryScope) => void): Promise<void>;
@@ -202,62 +211,6 @@ export declare class SingleQueryRelation<R extends ModelBase, O extends ModelBas
202
211
  export declare class ManyToManyRelationList<T extends ModelBase, O extends ModelBase> extends Relation<T, O, typeof ModelBase<T>> {
203
212
  protected junctionModelDescriptor: IModelDescriptor | null;
204
213
  constructor(owner: O, relation: IRelationDescriptor, objects?: T[]);
205
- /**
206
- * Calculates intersection between data in this relation and provided dataset
207
- *
208
- * `[...this]` rather than `this`: these delegate into lodash, and `Relation extends Array`
209
- * with a three-argument constructor, so anything that derives a new collection has to work
210
- * on a plain array. ( `OneToManyRelationList` sidesteps the same problem by overriding
211
- * `filter`/`map`; this class has no such overrides. )
212
- *
213
- * @param obj - dataset to compare with
214
- * @param callback - compare function, if not set the target model's primary key is used
215
- * @returns members present in both sets
216
- */
217
- intersection(obj: T[], callback?: (a: T, b: T) => boolean): T[];
218
- /**
219
- * Appends `obj` to this relation. Shorthand for push — nothing is removed and nothing is
220
- * written to the database until `sync()`, `update()` or `save()` runs.
221
- *
222
- * @param obj - members to add
223
- */
224
- union(obj: T[], _mode?: InsertBehaviour): void;
225
- /**
226
- * Calculates the symmetric difference between this relation and `dataset` — members of this
227
- * relation that are not in the dataset, plus members of the dataset that are not in this
228
- * relation.
229
- *
230
- * @param obj - dataset to compare with
231
- * @param callback - compare function, if not set the target model's primary key is used
232
- */
233
- diff(obj: T[], callback?: (a: T, b: T) => boolean): T[];
234
- /**
235
- * Sets data in relation ( clear data and replace with new dataset )
236
- *
237
- * @param obj
238
- */
239
- set(obj: T[] | ((data: T[], pKeyName: string[]) => T[])): void;
240
- /**
241
- * Removes from relation & deletes from db
242
- *
243
- * @param obj - data to remove
244
- */
245
- remove(func: (a: T) => boolean): T[];
246
- /**
247
- * Removes all objects that met condition
248
- * @param obj - predicate
249
- */
250
- remove(obj: (a: T) => boolean): T[];
251
- /**
252
- * Removes all objects by primary key
253
- * @param obj data array to remove
254
- */
255
- remove(obj: T[]): T[];
256
- /**
257
- * Removes object by primary key
258
- * @param obj data to remove
259
- * */
260
- remove(obj: T): T[];
261
214
  /**
262
215
  * Deletes from db data that are not in relation
263
216
  *
@@ -270,19 +223,30 @@ export declare class ManyToManyRelationList<T extends ModelBase, O extends Model
270
223
  * Deletes from db entries that are not in relation and adds entries that are not in db
271
224
  * Sets foreign key to relational data
272
225
  *
273
- * Inserts or updates models that are dirty only.
274
- *
275
226
  * One transaction: the junction upserts and the orphan delete used to be independent
276
227
  * statements. Nested inside a caller's transaction this takes a savepoint.
277
228
  */
278
229
  sync(): Promise<void>;
279
230
  /**
280
- * Updates or ads data to relation
281
- * It will not delete data from db that are not in relation. It will only update or insert new data.
282
- * Only dirty models are updated.
231
+ * Adds missing rows to the database without deleting anything: unsaved members are
232
+ * inserted, members without a junction row get one. Existing junction rows are left
233
+ * untouched.
283
234
  */
284
235
  update(): Promise<void>;
285
- /** The write itself, without a transaction of its own, so `sync()` can share one. */
236
+ /**
237
+ * Finds the junction model's relation pointing at `model`, by constructor identity — the
238
+ * junction's PROPERTY name is the author's choice ( `Order`, `Tag`, … ) and has nothing to
239
+ * do with the target class name.
240
+ */
241
+ protected junctionRelationFor(model: Constructor<ModelBase> | ForwardRefFunction): IRelationDescriptor;
242
+ /**
243
+ * The write itself, without a transaction of its own, so `sync()` can share one.
244
+ *
245
+ * Unsaved members are inserted first — a junction row written for a model with no primary
246
+ * key would carry a NULL foreign key. Members that already have a junction row are skipped:
247
+ * the junction's own primary key is auto-generated, so re-inserting the pair would DUPLICATE
248
+ * the link rather than upsert it ( which is exactly what repeated `sync()` calls used to do ).
249
+ */
286
250
  protected _update(): Promise<void>;
287
251
  populate<Q extends typeof ModelBase>(callback?: (this: ISelectQueryBuilder<T[]> & Q['_queryScopes']) => void): Promise<void>;
288
252
  }
@@ -296,6 +260,11 @@ export declare class OneToManyRelationList<T extends ModelBase, O extends ModelB
296
260
  protected _dbDiff(data: T[]): Promise<void>;
297
261
  /**
298
262
  * Populates this relation ( loads all data related to owner of this relation)
263
+ *
264
+ * Pushes the rows into THIS list rather than routing through `Owner.attach()`: attach flags
265
+ * the owner dirty ( a read must not create unsaved changes ), feeds every sibling relation
266
+ * with the same target model, and drops discriminated subclass rows because their
267
+ * constructor is not the declared target. Only attach's back-reference wiring is kept.
299
268
  */
300
269
  populate<Q extends typeof ModelBase>(callback?: (this: ISelectQueryBuilder<T[]> & Q['_queryScopes']) => void): Promise<void>;
301
270
  /**
@@ -319,61 +288,5 @@ export declare class OneToManyRelationList<T extends ModelBase, O extends ModelB
319
288
  update(): Promise<void>;
320
289
  /** The write itself, without a transaction of its own, so `sync()` can share one. */
321
290
  protected _update(): Promise<void>;
322
- /**
323
- * Calculates difference between this relation and dataset ( items from this relation that are not in dataset and items from dataset that are not in this relation)
324
- *
325
- * @param dataset
326
- * @param callback
327
- * @returns Difference between this relation and dataset
328
- */
329
- diff(dataset: T[], callback?: (a: T, b: T) => boolean): T[];
330
- /**
331
- * Sets data in relation ( clear data and replace with new dataset )
332
- *
333
- * @param obj
334
- */
335
- set(obj: T[] | ((data: T[], pKeyName: string[]) => T[])): void;
336
- /**
337
- * Calculates intersection between data in this relation and provided dataset
338
- *
339
- * @param obj
340
- * @param callback compare function, if not set - primary key value is used
341
- * @returns Data that are in both sets
342
- */
343
- intersection(obj: T[], callback?: (a: T, b: T) => boolean): T[];
344
- /**
345
- * Combines data with this relation and saves to db
346
- * Shorthand for push
347
- * @param obj
348
- */
349
- union(obj: T[]): void;
350
- /**
351
- * Returns the elements of an array that meet the condition specified in a callback function.
352
- * @param predicate A function that accepts up to three arguments. The filter method calls the predicate function one time for each element in the array.
353
- */
354
- filter(predicate: (value: T, index: number, array: T[]) => boolean): T[];
355
- /**
356
- * Removes from relation & deletes from db
357
- *
358
- * @param obj - data to remove
359
- */
360
- remove(func: (a: T) => boolean): T[];
361
- /**
362
- * Removes all objects that met condition
363
- * @param obj - predicate
364
- */
365
- remove(obj: (a: T) => boolean): T[];
366
- /**
367
- * Removes all objects by primary key
368
- * @param obj data array to remove
369
- */
370
- remove(obj: T[]): T[];
371
- /**
372
- * Removes object by primary key
373
- * @param obj data to remove
374
- * */
375
- remove(obj: T): T[];
376
- flatMap<V>(callback: (val: T, index: number, array: T[]) => V): any;
377
- map<V>(callback: (val: T, index: number, array: T[]) => V): V[];
378
291
  }
379
292
  //# sourceMappingURL=relation-objects.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"relation-objects.d.ts","sourceRoot":"","sources":["../../src/relation-objects.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"relation-objects.d.ts","sourceRoot":"","sources":["../../src/relation-objects.ts"],"names":[],"mappings":"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"}