joist-orm 1.0.679 → 1.0.683

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 (57) hide show
  1. package/build/src/EntityManager.d.ts +7 -4
  2. package/build/src/EntityManager.js +10 -3
  3. package/build/src/EntityManager.js.map +1 -1
  4. package/build/src/config.d.ts +38 -0
  5. package/build/src/config.js +96 -0
  6. package/build/src/config.js.map +1 -0
  7. package/build/src/dataloaders/oneToOneDataLoader.d.ts +2 -2
  8. package/build/src/dataloaders/oneToOneDataLoader.js.map +1 -1
  9. package/build/src/drivers/InMemoryDriver.d.ts +3 -2
  10. package/build/src/drivers/InMemoryDriver.js.map +1 -1
  11. package/build/src/drivers/PostgresDriver.d.ts +3 -2
  12. package/build/src/drivers/PostgresDriver.js.map +1 -1
  13. package/build/src/drivers/driver.d.ts +2 -2
  14. package/build/src/index.d.ts +4 -127
  15. package/build/src/index.js +6 -155
  16. package/build/src/index.js.map +1 -1
  17. package/build/src/relations/Collection.d.ts +23 -0
  18. package/build/src/relations/Collection.js +19 -0
  19. package/build/src/relations/Collection.js.map +1 -0
  20. package/build/src/relations/CustomCollection.d.ts +3 -0
  21. package/build/src/relations/CustomCollection.js +5 -0
  22. package/build/src/relations/CustomCollection.js.map +1 -1
  23. package/build/src/relations/CustomReference.d.ts +5 -0
  24. package/build/src/relations/CustomReference.js +7 -0
  25. package/build/src/relations/CustomReference.js.map +1 -1
  26. package/build/src/relations/ManyToManyCollection.d.ts +5 -0
  27. package/build/src/relations/ManyToManyCollection.js +12 -1
  28. package/build/src/relations/ManyToManyCollection.js.map +1 -1
  29. package/build/src/relations/ManyToOneReference.d.ts +21 -2
  30. package/build/src/relations/ManyToOneReference.js +21 -3
  31. package/build/src/relations/ManyToOneReference.js.map +1 -1
  32. package/build/src/relations/OneToManyCollection.d.ts +5 -0
  33. package/build/src/relations/OneToManyCollection.js +12 -1
  34. package/build/src/relations/OneToManyCollection.js.map +1 -1
  35. package/build/src/relations/OneToOneReference.d.ts +31 -2
  36. package/build/src/relations/OneToOneReference.js +28 -3
  37. package/build/src/relations/OneToOneReference.js.map +1 -1
  38. package/build/src/relations/PolymorphicReference.d.ts +19 -1
  39. package/build/src/relations/PolymorphicReference.js +20 -3
  40. package/build/src/relations/PolymorphicReference.js.map +1 -1
  41. package/build/src/relations/Reference.d.ts +29 -0
  42. package/build/src/relations/Reference.js +23 -0
  43. package/build/src/relations/Reference.js.map +1 -0
  44. package/build/src/relations/Relation.d.ts +10 -0
  45. package/build/src/relations/Relation.js +13 -0
  46. package/build/src/relations/Relation.js.map +1 -0
  47. package/build/src/relations/hasAsyncProperty.d.ts +4 -0
  48. package/build/src/relations/hasAsyncProperty.js +13 -3
  49. package/build/src/relations/hasAsyncProperty.js.map +1 -1
  50. package/build/src/relations/index.d.ts +9 -15
  51. package/build/src/relations/index.js +24 -34
  52. package/build/src/relations/index.js.map +1 -1
  53. package/build/src/rules.d.ts +23 -0
  54. package/build/src/rules.js +23 -0
  55. package/build/src/rules.js.map +1 -0
  56. package/build/tsconfig.tsbuildinfo +1 -1
  57. package/package.json +2 -2
@@ -1,10 +1,10 @@
1
- import { Entity, EntityConstructor, EntityManager, EntityMetadata, EntityOrmField, Field, IdOf, Loaded, LoadHint, ManyToManyField, ManyToOneField, OneToManyField, OneToOneField, OptsOf, PolymorphicField, RelationsIn } from "./EntityManager";
2
- import { AsyncProperty } from "./relations";
1
+ import { Entity, EntityConstructor, EntityManager, EntityMetadata, EntityOrmField, Field, ManyToManyField, ManyToOneField, OneToManyField, OneToOneField, OptsOf, PolymorphicField } from "./EntityManager";
2
+ import { Reference } from "./relations";
3
3
  import { AbstractRelationImpl } from "./relations/AbstractRelationImpl";
4
- import { LoadedProperty } from "./relations/hasAsyncProperty";
5
4
  export { newPgConnectionConfig } from "joist-utils";
6
5
  export { BaseEntity } from "./BaseEntity";
7
6
  export * from "./changes";
7
+ export { ConfigApi, EntityHook } from "./config";
8
8
  export { DeepPartialOrNull } from "./createOrUpdatePartial";
9
9
  export * from "./drivers";
10
10
  export * from "./EntityManager";
@@ -15,63 +15,9 @@ export * from "./newTestInstance";
15
15
  export * from "./QueryBuilder";
16
16
  export * from "./relations";
17
17
  export * from "./reverseHint";
18
+ export { GenericError, newRequiredRule, ValidationError, ValidationErrors, ValidationRule, ValidationRuleResult, } from "./rules";
18
19
  export * from "./serde";
19
20
  export { fail } from "./utils";
20
- declare const F: unique symbol;
21
- declare const G: unique symbol;
22
- declare const H: unique symbol;
23
- /** A relationship from `T` to `U`, could be any of many-to-one, one-to-many, or many-to-many. */
24
- export interface Relation<T extends Entity, U extends Entity> {
25
- [F]?: T;
26
- [G]?: U;
27
- }
28
- /**
29
- * A many-to-one / foreign key from `T` to `U`, i.e. book to author.
30
- *
31
- * The `N` generic is for whether the field is optional (i.e. the foreign key column is
32
- * nullable). If it is optional, `N` will be `undefined`, which makes the return types
33
- * `U | undefined`. If it is not optional, `N` will be `never`, making the return types
34
- * `U | never` which becomes just `U`.
35
- */
36
- export interface Reference<T extends Entity, U extends Entity, N extends never | undefined> extends Relation<T, U> {
37
- /** Returns the id of the current assigned entity, or `undefined` if the assigned entity has no id yet, or `undefined` if this column is nullable and currently unset. */
38
- id: IdOf<U> | undefined;
39
- /** Returns the id of the current assigned entity or a runtime error if it's either a) unset or b) set to a new entity that doesn't have an `id` yet. */
40
- idOrFail: IdOf<U>;
41
- idUntagged: string | undefined;
42
- idUntaggedOrFail: string;
43
- readonly isLoaded: boolean;
44
- load(opts?: {
45
- withDeleted: boolean;
46
- }): Promise<U | N>;
47
- set(other: U | N): void;
48
- /** Returns `true` if this relation is currently set (i.e. regardless of whether it's loaded, or if it is set but the assigned entity doesn't have an id saved. */
49
- readonly isSet: boolean;
50
- [H]?: N;
51
- }
52
- /** Adds a known-safe `get` accessor. */
53
- export interface LoadedReference<T extends Entity, U extends Entity, N extends never | undefined> extends Omit<Reference<T, U, N>, "id"> {
54
- id: IdOf<T> | N;
55
- getWithDeleted: U | N;
56
- get: U | N;
57
- }
58
- /** A collection of `U` within `T`, either one-to-many or many-to-many. */
59
- export interface Collection<T extends Entity, U extends Entity> extends Relation<T, U> {
60
- load(opts?: {
61
- withDeleted: boolean;
62
- }): Promise<ReadonlyArray<U>>;
63
- find(id: IdOf<U>): Promise<U | undefined>;
64
- add(other: U): void;
65
- remove(other: U): void;
66
- readonly isLoaded: boolean;
67
- }
68
- /** Adds a known-safe `get` accessor. */
69
- export interface LoadedCollection<T extends Entity, U extends Entity> extends Collection<T, U> {
70
- getWithDeleted: ReadonlyArray<U>;
71
- get: ReadonlyArray<U>;
72
- set(values: U[]): void;
73
- removeAll(): void;
74
- }
75
21
  interface Flavoring<FlavorT> {
76
22
  _type?: FlavorT;
77
23
  }
@@ -100,81 +46,12 @@ export declare type PartialOrNull<T> = {
100
46
  };
101
47
  export declare function getRequiredKeys<T extends Entity>(entity: T): string[];
102
48
  export declare function getRequiredKeys<T extends Entity>(type: EntityConstructor<T>): string[];
103
- /**
104
- * Return type of a `ValidationRule`.
105
- *
106
- * Consumers can extend `GenericError` to add fields relevant for their application.
107
- */
108
- export declare type ValidationRuleResult<E extends GenericError> = string | E | E[] | undefined;
109
- /** Entity validation errors; if `entity` is invalid, throw a `ValidationError`. */
110
- export declare type ValidationRule<T extends Entity> = (entity: T) => MaybePromise<ValidationRuleResult<any>>;
111
- declare type MaybePromise<T> = T | PromiseLike<T>;
112
- /** A generic error which contains only a message field */
113
- export declare type GenericError = {
114
- message: string;
115
- };
116
- /** An extension to GenericError which associates the error to a specific entity */
117
- export declare type ValidationError = {
118
- entity: Entity;
119
- } & GenericError;
120
- export declare class ValidationErrors extends Error {
121
- errors: ValidationError[];
122
- constructor(errors: ValidationError[]);
123
- }
124
- export declare function newRequiredRule<T extends Entity>(key: keyof T): ValidationRule<T>;
125
- export declare type EntityHook = "beforeFlush" | "beforeCreate" | "beforeUpdate" | "beforeDelete" | "afterValidation" | "afterCommit";
126
- declare type HookFn<T extends Entity, C> = (entity: T, ctx: C) => MaybePromise<void>;
127
- export declare class ConfigData<T extends Entity, C> {
128
- /** The validation rules for this entity type. */
129
- rules: ValidationRule<T>[];
130
- /** The async derived fields for this entity type. */
131
- asyncDerivedFields: Partial<Record<keyof T, [LoadHint<T>, (entity: T) => any]>>;
132
- /** The hooks for this instance. */
133
- hooks: Record<EntityHook, HookFn<T, C>[]>;
134
- reactiveRules: string[][];
135
- reactiveDerivedValues: string[][];
136
- cascadeDeleteFields: Array<keyof RelationsIn<T>>;
137
- }
138
- export declare class ConfigApi<T extends Entity, C> {
139
- __data: ConfigData<T, C>;
140
- addRule<H extends LoadHint<T>>(populate: H, rule: ValidationRule<Loaded<T, H>>): void;
141
- addRule(rule: ValidationRule<T>): void;
142
- cascadeDelete(relationship: keyof RelationsIn<T>): void;
143
- /** Registers `fn` as the lambda to provide the async value for `key`. */
144
- setAsyncDerivedField<P extends keyof T, H extends LoadHint<T>>(key: P, populate: H, fn: (entity: Loaded<T, H>) => T[P]): void;
145
- private addHook;
146
- beforeDelete<H extends LoadHint<T>>(populate: H, fn: HookFn<Loaded<T, H>, C>): void;
147
- beforeDelete(fn: HookFn<T, C>): void;
148
- beforeFlush<H extends LoadHint<T>>(populate: H, fn: HookFn<Loaded<T, H>, C>): void;
149
- beforeFlush(fn: HookFn<T, C>): void;
150
- beforeCreate<H extends LoadHint<T>>(populate: H, fn: HookFn<Loaded<T, H>, C>): void;
151
- beforeCreate(fn: HookFn<T, C>): void;
152
- beforeUpdate<H extends LoadHint<T>>(populate: H, fn: HookFn<Loaded<T, H>, C>): void;
153
- beforeUpdate(fn: HookFn<T, C>): void;
154
- afterValidation<H extends LoadHint<T>>(populate: H, fn: HookFn<Loaded<T, H>, C>): void;
155
- afterValidation(fn: HookFn<T, C>): void;
156
- afterCommit(fn: HookFn<T, C>): void;
157
- }
158
49
  /** Processes the metas based on any custom calls to the `configApi` hooks. */
159
50
  export declare function configureMetadata(metas: EntityMetadata<any>[]): void;
160
51
  export declare function getEm(entity: Entity): EntityManager;
161
52
  export declare function getRelations(entity: Entity): AbstractRelationImpl<any>[];
162
53
  export declare function getConstructorFromTaggedId(id: string): EntityConstructor<any>;
163
54
  export declare function maybeGetConstructorFromReference(value: string | Entity | Reference<any, any, any> | undefined): EntityConstructor<any> | undefined;
164
- /** Type guard utility for determining if an entity field is a Relation. */
165
- export declare function isRelation(maybeRelation: any): maybeRelation is Relation<any, any>;
166
- /** Type guard utility for determining if an entity field is a Reference. */
167
- export declare function isReference(maybeReference: any): maybeReference is Reference<any, any, any>;
168
- /** Type guard utility for determining if an entity field is a loaded Reference. */
169
- export declare function isLoadedReference(maybeReference: any): maybeReference is Reference<any, any, any> & LoadedReference<any, any, any>;
170
- /** Type guard utility for determining if an entity field is a Collection. */
171
- export declare function isCollection(maybeCollection: any): maybeCollection is Collection<any, any>;
172
- /** Type guard utility for determining if an entity field is a loaded Collection. */
173
- export declare function isLoadedCollection(maybeCollection: any): maybeCollection is Collection<any, any> & LoadedCollection<any, any>;
174
- /** Type guard utility for determining if an entity field is an AsyncProperty. */
175
- export declare function isAsyncProperty(maybeAsyncProperty: any): maybeAsyncProperty is AsyncProperty<any, any>;
176
- /** Type guard utility for determining if an entity field is a loaded AsyncProperty. */
177
- export declare function isLoadedAsyncProperty(maybeAsyncProperty: any): maybeAsyncProperty is AsyncProperty<any, any> & LoadedProperty<any, any>;
178
55
  export declare function isOneToManyField(ormField: Field): ormField is OneToManyField;
179
56
  export declare function isManyToOneField(ormField: Field): ormField is ManyToOneField;
180
57
  export declare function isManyToManyField(ormField: Field): ormField is ManyToManyField;
@@ -10,13 +10,10 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
10
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
11
  };
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.isCollectionField = exports.isReferenceField = exports.isPolymorphicField = exports.isOneToOneField = exports.isManyToManyField = exports.isManyToOneField = exports.isOneToManyField = exports.isLoadedAsyncProperty = exports.isAsyncProperty = exports.isLoadedCollection = exports.isCollection = exports.isLoadedReference = exports.isReference = exports.isRelation = exports.maybeGetConstructorFromReference = exports.getConstructorFromTaggedId = exports.getRelations = exports.getEm = exports.configureMetadata = exports.ConfigApi = exports.ConfigData = exports.newRequiredRule = exports.ValidationErrors = exports.getRequiredKeys = exports.ensureNotDeleted = exports.setOpts = exports.setField = exports.fail = exports.BaseEntity = exports.newPgConnectionConfig = void 0;
13
+ exports.isCollectionField = exports.isReferenceField = exports.isPolymorphicField = exports.isOneToOneField = exports.isManyToManyField = exports.isManyToOneField = exports.isOneToManyField = exports.maybeGetConstructorFromReference = exports.getConstructorFromTaggedId = exports.getRelations = exports.getEm = exports.configureMetadata = exports.getRequiredKeys = exports.ensureNotDeleted = exports.setOpts = exports.setField = exports.fail = exports.ValidationErrors = exports.newRequiredRule = exports.ConfigApi = exports.BaseEntity = exports.newPgConnectionConfig = void 0;
14
14
  const EntityManager_1 = require("./EntityManager");
15
15
  const keys_1 = require("./keys");
16
- const relations_1 = require("./relations");
17
16
  const AbstractRelationImpl_1 = require("./relations/AbstractRelationImpl");
18
- const hasAsyncProperty_1 = require("./relations/hasAsyncProperty");
19
- const PolymorphicReference_1 = require("./relations/PolymorphicReference");
20
17
  const reverseHint_1 = require("./reverseHint");
21
18
  const utils_1 = require("./utils");
22
19
  var joist_utils_1 = require("joist-utils");
@@ -24,6 +21,8 @@ Object.defineProperty(exports, "newPgConnectionConfig", { enumerable: true, get:
24
21
  var BaseEntity_1 = require("./BaseEntity");
25
22
  Object.defineProperty(exports, "BaseEntity", { enumerable: true, get: function () { return BaseEntity_1.BaseEntity; } });
26
23
  __exportStar(require("./changes"), exports);
24
+ var config_1 = require("./config");
25
+ Object.defineProperty(exports, "ConfigApi", { enumerable: true, get: function () { return config_1.ConfigApi; } });
27
26
  __exportStar(require("./drivers"), exports);
28
27
  __exportStar(require("./EntityManager"), exports);
29
28
  __exportStar(require("./getProperties"), exports);
@@ -33,12 +32,12 @@ __exportStar(require("./newTestInstance"), exports);
33
32
  __exportStar(require("./QueryBuilder"), exports);
34
33
  __exportStar(require("./relations"), exports);
35
34
  __exportStar(require("./reverseHint"), exports);
35
+ var rules_1 = require("./rules");
36
+ Object.defineProperty(exports, "newRequiredRule", { enumerable: true, get: function () { return rules_1.newRequiredRule; } });
37
+ Object.defineProperty(exports, "ValidationErrors", { enumerable: true, get: function () { return rules_1.ValidationErrors; } });
36
38
  __exportStar(require("./serde"), exports);
37
39
  var utils_2 = require("./utils");
38
40
  Object.defineProperty(exports, "fail", { enumerable: true, get: function () { return utils_2.fail; } });
39
- const F = Symbol();
40
- const G = Symbol();
41
- const H = Symbol();
42
41
  function setField(entity, fieldName, newValue) {
43
42
  ensureNotDeleted(entity, { ignore: "pending" });
44
43
  const em = getEm(entity);
@@ -182,114 +181,6 @@ function getRequiredKeys(entityOrType) {
182
181
  .map((f) => f.fieldName);
183
182
  }
184
183
  exports.getRequiredKeys = getRequiredKeys;
185
- class ValidationErrors extends Error {
186
- constructor(errors) {
187
- super(errorMessage(errors));
188
- this.errors = errors;
189
- }
190
- }
191
- exports.ValidationErrors = ValidationErrors;
192
- function newRequiredRule(key) {
193
- return (entity) => (entity.__orm.data[key] === undefined ? `${key} is required` : undefined);
194
- }
195
- exports.newRequiredRule = newRequiredRule;
196
- function errorMessage(errors) {
197
- if (errors.length === 1) {
198
- return `Validation error: ${errors[0].message}`;
199
- }
200
- else {
201
- return `Validation errors (${errors.length}): ${errors.map((e) => e.message).join(", ")}`;
202
- }
203
- }
204
- class ConfigData {
205
- constructor() {
206
- /** The validation rules for this entity type. */
207
- this.rules = [];
208
- /** The async derived fields for this entity type. */
209
- this.asyncDerivedFields = {};
210
- /** The hooks for this instance. */
211
- this.hooks = {
212
- beforeDelete: [],
213
- beforeFlush: [],
214
- beforeCreate: [],
215
- beforeUpdate: [],
216
- afterCommit: [],
217
- afterValidation: [],
218
- };
219
- // Load-hint-ish structures that point back to instances that depend on us for validation rules.
220
- this.reactiveRules = [];
221
- // Load-hint-ish structures that point back to instances that depend on us for derived values.
222
- this.reactiveDerivedValues = [];
223
- this.cascadeDeleteFields = [];
224
- }
225
- }
226
- exports.ConfigData = ConfigData;
227
- class ConfigApi {
228
- constructor() {
229
- this.__data = new ConfigData();
230
- }
231
- addRule(ruleOrHint, maybeRule) {
232
- if (typeof ruleOrHint === "function") {
233
- this.__data.rules.push(ruleOrHint);
234
- }
235
- else {
236
- const fn = async (entity) => {
237
- const em = getEm(entity);
238
- const loaded = await em.populate(entity, ruleOrHint);
239
- return maybeRule(loaded);
240
- };
241
- // Squirrel our hint away where configureMetadata can find it
242
- fn.hint = ruleOrHint;
243
- this.__data.rules.push(fn);
244
- }
245
- }
246
- cascadeDelete(relationship) {
247
- this.__data.cascadeDeleteFields.push(relationship);
248
- this.beforeDelete(relationship, (entity) => {
249
- const relation = entity[relationship];
250
- relation.maybeCascadeDelete();
251
- });
252
- }
253
- /** Registers `fn` as the lambda to provide the async value for `key`. */
254
- setAsyncDerivedField(key, populate, fn) {
255
- this.__data.asyncDerivedFields[key] = [populate, fn];
256
- }
257
- addHook(hook, ruleOrHint, maybeFn) {
258
- if (typeof ruleOrHint === "function") {
259
- this.__data.hooks[hook].push(ruleOrHint);
260
- }
261
- else {
262
- const fn = async (entity, ctx) => {
263
- // TODO Use this for reactive beforeFlush
264
- const em = getEm(entity);
265
- const loaded = await em.populate(entity, ruleOrHint);
266
- return maybeFn(loaded, ctx);
267
- };
268
- // Squirrel our hint away where configureMetadata can find it
269
- fn.hint = ruleOrHint;
270
- this.__data.hooks[hook].push(fn);
271
- }
272
- }
273
- beforeDelete(ruleOrHint, maybeFn) {
274
- this.addHook("beforeDelete", ruleOrHint, maybeFn);
275
- }
276
- beforeFlush(ruleOrHint, maybeFn) {
277
- this.addHook("beforeFlush", ruleOrHint, maybeFn);
278
- }
279
- beforeCreate(ruleOrHint, maybeFn) {
280
- this.addHook("beforeCreate", ruleOrHint, maybeFn);
281
- }
282
- beforeUpdate(ruleOrHint, maybeFn) {
283
- this.addHook("beforeUpdate", ruleOrHint, maybeFn);
284
- }
285
- afterValidation(ruleOrHint, maybeFn) {
286
- this.addHook("afterValidation", ruleOrHint, maybeFn);
287
- }
288
- afterCommit(fn) {
289
- this.addHook("afterCommit", fn);
290
- }
291
- }
292
- exports.ConfigApi = ConfigApi;
293
184
  const tagToConstructorMap = new Map();
294
185
  /** Processes the metas based on any custom calls to the `configApi` hooks. */
295
186
  function configureMetadata(metas) {
@@ -339,46 +230,6 @@ exports.maybeGetConstructorFromReference = maybeGetConstructorFromReference;
339
230
  function equal(a, b) {
340
231
  return a === b || (a instanceof Date && b instanceof Date && a.getTime() == b.getTime());
341
232
  }
342
- /** Type guard utility for determining if an entity field is a Relation. */
343
- function isRelation(maybeRelation) {
344
- return isReference(maybeRelation) || isCollection(maybeRelation);
345
- }
346
- exports.isRelation = isRelation;
347
- /** Type guard utility for determining if an entity field is a Reference. */
348
- function isReference(maybeReference) {
349
- return (maybeReference instanceof relations_1.OneToOneReference ||
350
- maybeReference instanceof relations_1.ManyToOneReference ||
351
- maybeReference instanceof relations_1.CustomReference ||
352
- maybeReference instanceof PolymorphicReference_1.PolymorphicReference);
353
- }
354
- exports.isReference = isReference;
355
- /** Type guard utility for determining if an entity field is a loaded Reference. */
356
- function isLoadedReference(maybeReference) {
357
- return isReference(maybeReference) && maybeReference.isLoaded;
358
- }
359
- exports.isLoadedReference = isLoadedReference;
360
- /** Type guard utility for determining if an entity field is a Collection. */
361
- function isCollection(maybeCollection) {
362
- return (maybeCollection instanceof relations_1.OneToManyCollection ||
363
- maybeCollection instanceof relations_1.ManyToManyCollection ||
364
- maybeCollection instanceof relations_1.CustomCollection);
365
- }
366
- exports.isCollection = isCollection;
367
- /** Type guard utility for determining if an entity field is a loaded Collection. */
368
- function isLoadedCollection(maybeCollection) {
369
- return isCollection(maybeCollection) && maybeCollection.isLoaded;
370
- }
371
- exports.isLoadedCollection = isLoadedCollection;
372
- /** Type guard utility for determining if an entity field is an AsyncProperty. */
373
- function isAsyncProperty(maybeAsyncProperty) {
374
- return maybeAsyncProperty instanceof hasAsyncProperty_1.AsyncPropertyImpl;
375
- }
376
- exports.isAsyncProperty = isAsyncProperty;
377
- /** Type guard utility for determining if an entity field is a loaded AsyncProperty. */
378
- function isLoadedAsyncProperty(maybeAsyncProperty) {
379
- return isAsyncProperty(maybeAsyncProperty) && maybeAsyncProperty.isLoaded;
380
- }
381
- exports.isLoadedAsyncProperty = isLoadedAsyncProperty;
382
233
  function isOneToManyField(ormField) {
383
234
  return ormField.kind === "o2m";
384
235
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import { Entity, IdOf } from "../EntityManager";
2
+ import { Relation } from "./Relation";
3
+ /** A collection of `U` within `T`, either one-to-many or many-to-many. */
4
+ export interface Collection<T extends Entity, U extends Entity> extends Relation<T, U> {
5
+ load(opts?: {
6
+ withDeleted: boolean;
7
+ }): Promise<ReadonlyArray<U>>;
8
+ find(id: IdOf<U>): Promise<U | undefined>;
9
+ add(other: U): void;
10
+ remove(other: U): void;
11
+ readonly isLoaded: boolean;
12
+ }
13
+ /** Adds a known-safe `get` accessor. */
14
+ export interface LoadedCollection<T extends Entity, U extends Entity> extends Collection<T, U> {
15
+ get: ReadonlyArray<U>;
16
+ getWithDeleted: ReadonlyArray<U>;
17
+ set(values: U[]): void;
18
+ removeAll(): void;
19
+ }
20
+ /** Type guard utility for determining if an entity field is a Collection. */
21
+ export declare function isCollection(maybeCollection: any): maybeCollection is Collection<any, any>;
22
+ /** Type guard utility for determining if an entity field is a loaded Collection. */
23
+ export declare function isLoadedCollection(maybeCollection: any): maybeCollection is Collection<any, any> & LoadedCollection<any, any>;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isLoadedCollection = exports.isCollection = void 0;
4
+ const CustomCollection_1 = require("./CustomCollection");
5
+ const ManyToManyCollection_1 = require("./ManyToManyCollection");
6
+ const OneToManyCollection_1 = require("./OneToManyCollection");
7
+ /** Type guard utility for determining if an entity field is a Collection. */
8
+ function isCollection(maybeCollection) {
9
+ return (maybeCollection instanceof OneToManyCollection_1.OneToManyCollection ||
10
+ maybeCollection instanceof ManyToManyCollection_1.ManyToManyCollection ||
11
+ maybeCollection instanceof CustomCollection_1.CustomCollection);
12
+ }
13
+ exports.isCollection = isCollection;
14
+ /** Type guard utility for determining if an entity field is a loaded Collection. */
15
+ function isLoadedCollection(maybeCollection) {
16
+ return isCollection(maybeCollection) && maybeCollection.isLoaded;
17
+ }
18
+ exports.isLoadedCollection = isLoadedCollection;
19
+ //# sourceMappingURL=Collection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Collection.js","sourceRoot":"","sources":["../../../src/relations/Collection.ts"],"names":[],"mappings":";;;AACA,yDAAsD;AACtD,iEAA8D;AAC9D,+DAA4D;AA2B5D,6EAA6E;AAC7E,SAAgB,YAAY,CAAC,eAAoB;IAC/C,OAAO,CACL,eAAe,YAAY,yCAAmB;QAC9C,eAAe,YAAY,2CAAoB;QAC/C,eAAe,YAAY,mCAAgB,CAC5C,CAAC;AACJ,CAAC;AAND,oCAMC;AAED,oFAAoF;AACpF,SAAgB,kBAAkB,CAChC,eAAoB;IAEpB,OAAO,YAAY,CAAC,eAAe,CAAC,IAAI,eAAe,CAAC,QAAQ,CAAC;AACnE,CAAC;AAJD,gDAIC"}
@@ -1,6 +1,7 @@
1
1
  import { Entity, IdOf } from "../EntityManager";
2
2
  import { Collection } from "../index";
3
3
  import { AbstractRelationImpl } from "./AbstractRelationImpl";
4
+ import { RelationT, RelationU } from "./Relation";
4
5
  export declare type CustomCollectionOpts<T extends Entity, U extends Entity> = {
5
6
  load: (entity: T) => Promise<any>;
6
7
  get: (entity: T) => readonly U[];
@@ -46,4 +47,6 @@ export declare class CustomCollection<T extends Entity, U extends Entity> extend
46
47
  toString(): string;
47
48
  private doGet;
48
49
  private filterDeleted;
50
+ [RelationT]: T;
51
+ [RelationU]: U;
49
52
  }
@@ -1,8 +1,10 @@
1
1
  "use strict";
2
+ var _a, _b;
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
4
  exports.CustomCollection = void 0;
4
5
  const index_1 = require("../index");
5
6
  const AbstractRelationImpl_1 = require("./AbstractRelationImpl");
7
+ const Relation_1 = require("./Relation");
6
8
  /**
7
9
  * Allows user-defined collections that will work in `populate` / preload hints.
8
10
  *
@@ -20,6 +22,8 @@ class CustomCollection extends AbstractRelationImpl_1.AbstractRelationImpl {
20
22
  this.entity = entity;
21
23
  this.opts = opts;
22
24
  this._isLoaded = false;
25
+ this[_a] = null;
26
+ this[_b] = null;
23
27
  }
24
28
  get get() {
25
29
  return this.doGet({ withDeleted: false });
@@ -119,6 +123,7 @@ class CustomCollection extends AbstractRelationImpl_1.AbstractRelationImpl {
119
123
  }
120
124
  }
121
125
  exports.CustomCollection = CustomCollection;
126
+ _a = Relation_1.RelationT, _b = Relation_1.RelationU;
122
127
  function ensureNewOrLoaded(reference) {
123
128
  if (!(reference.isLoaded || reference.entity.isNewEntity)) {
124
129
  // This should only be callable in the type system if we've already resolved this to an instance
@@ -1 +1 @@
1
- {"version":3,"file":"CustomCollection.js","sourceRoot":"","sources":["../../../src/relations/CustomCollection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CustomCollection.js","sourceRoot":"","sources":["../../../src/relations/CustomCollection.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  import { Entity, IdOf } from "../EntityManager";
2
2
  import { Reference } from "../index";
3
3
  import { AbstractRelationImpl } from "./AbstractRelationImpl";
4
+ import { ReferenceN } from "./Reference";
5
+ import { RelationT, RelationU } from "./Relation";
4
6
  export declare type CustomReferenceOpts<T extends Entity, U extends Entity, N extends never | undefined> = {
5
7
  load: (entity: T) => Promise<void>;
6
8
  get: (entity: T) => U | N;
@@ -45,4 +47,7 @@ export declare class CustomReference<T extends Entity, U extends Entity, N exten
45
47
  toString(): string;
46
48
  private doGet;
47
49
  private filterDeleted;
50
+ [RelationT]: T;
51
+ [RelationU]: U;
52
+ [ReferenceN]: N;
48
53
  }
@@ -1,8 +1,11 @@
1
1
  "use strict";
2
+ var _a, _b, _c;
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
4
  exports.CustomReference = void 0;
4
5
  const index_1 = require("../index");
5
6
  const AbstractRelationImpl_1 = require("./AbstractRelationImpl");
7
+ const Reference_1 = require("./Reference");
8
+ const Relation_1 = require("./Relation");
6
9
  /**
7
10
  * Allows user-defined references that will work in `populate` / preload hints.
8
11
  *
@@ -20,6 +23,9 @@ class CustomReference extends AbstractRelationImpl_1.AbstractRelationImpl {
20
23
  this.entity = entity;
21
24
  this.opts = opts;
22
25
  this._isLoaded = false;
26
+ this[_a] = null;
27
+ this[_b] = null;
28
+ this[_c] = null;
23
29
  }
24
30
  get get() {
25
31
  return this.doGet({ withDeleted: false });
@@ -102,6 +108,7 @@ class CustomReference extends AbstractRelationImpl_1.AbstractRelationImpl {
102
108
  }
103
109
  }
104
110
  exports.CustomReference = CustomReference;
111
+ _a = Relation_1.RelationT, _b = Relation_1.RelationU, _c = Reference_1.ReferenceN;
105
112
  function ensureNewOrLoaded(reference) {
106
113
  if (!(reference.isLoaded || reference.entity.isNewEntity)) {
107
114
  // This should only be callable in the type system if we've already resolved this to an instance
@@ -1 +1 @@
1
- {"version":3,"file":"CustomReference.js","sourceRoot":"","sources":["../../../src/relations/CustomReference.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CustomReference.js","sourceRoot":"","sources":["../../../src/relations/CustomReference.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,8 @@
1
1
  import { Collection, Entity, EntityMetadata, IdOf } from "../";
2
2
  import { AbstractRelationImpl } from "./AbstractRelationImpl";
3
+ import { RelationT, RelationU } from "./Relation";
4
+ /** An alias for creating `ManyToManyCollections`s. */
5
+ export declare function hasManyToMany<T extends Entity, U extends Entity>(joinTableName: string, fieldName: keyof T, columnName: string, otherMeta: EntityMetadata<U>, otherFieldName: keyof U, otherColumnName: string): Collection<T, U>;
3
6
  export declare class ManyToManyCollection<T extends Entity, U extends Entity> extends AbstractRelationImpl<U[]> implements Collection<T, U> {
4
7
  joinTableName: string;
5
8
  entity: T;
@@ -37,6 +40,8 @@ export declare class ManyToManyCollection<T extends Entity, U extends Entity> ex
37
40
  }): U[];
38
41
  get meta(): EntityMetadata<T>;
39
42
  toString(): string;
43
+ [RelationT]: T;
44
+ [RelationU]: U;
40
45
  }
41
46
  export declare type JoinRow = {
42
47
  id: number | undefined;
@@ -1,10 +1,18 @@
1
1
  "use strict";
2
+ var _a, _b;
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ManyToManyCollection = void 0;
4
+ exports.ManyToManyCollection = exports.hasManyToMany = void 0;
4
5
  const __1 = require("../");
5
6
  const manyToManyDataLoader_1 = require("../dataloaders/manyToManyDataLoader");
6
7
  const utils_1 = require("../utils");
7
8
  const AbstractRelationImpl_1 = require("./AbstractRelationImpl");
9
+ const Relation_1 = require("./Relation");
10
+ /** An alias for creating `ManyToManyCollections`s. */
11
+ function hasManyToMany(joinTableName, fieldName, columnName, otherMeta, otherFieldName, otherColumnName) {
12
+ const entity = __1.currentlyInstantiatingEntity;
13
+ return new ManyToManyCollection(joinTableName, entity, fieldName, columnName, otherMeta, otherFieldName, otherColumnName);
14
+ }
15
+ exports.hasManyToMany = hasManyToMany;
8
16
  class ManyToManyCollection extends AbstractRelationImpl_1.AbstractRelationImpl {
9
17
  constructor(joinTableName,
10
18
  // I.e. when entity = Book:
@@ -23,6 +31,8 @@ class ManyToManyCollection extends AbstractRelationImpl_1.AbstractRelationImpl {
23
31
  this.otherColumnName = otherColumnName;
24
32
  this.addedBeforeLoaded = [];
25
33
  this.removedBeforeLoaded = [];
34
+ this[_a] = null;
35
+ this[_b] = null;
26
36
  this.isCascadeDelete = otherMeta.config.__data.cascadeDeleteFields.includes(fieldName);
27
37
  }
28
38
  filterDeleted(entities, opts) {
@@ -202,4 +212,5 @@ class ManyToManyCollection extends AbstractRelationImpl_1.AbstractRelationImpl {
202
212
  }
203
213
  }
204
214
  exports.ManyToManyCollection = ManyToManyCollection;
215
+ _a = Relation_1.RelationT, _b = Relation_1.RelationU;
205
216
  //# sourceMappingURL=ManyToManyCollection.js.map