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.
- package/build/src/EntityManager.d.ts +7 -4
- package/build/src/EntityManager.js +10 -3
- package/build/src/EntityManager.js.map +1 -1
- package/build/src/config.d.ts +38 -0
- package/build/src/config.js +96 -0
- package/build/src/config.js.map +1 -0
- package/build/src/dataloaders/oneToOneDataLoader.d.ts +2 -2
- package/build/src/dataloaders/oneToOneDataLoader.js.map +1 -1
- package/build/src/drivers/InMemoryDriver.d.ts +3 -2
- package/build/src/drivers/InMemoryDriver.js.map +1 -1
- package/build/src/drivers/PostgresDriver.d.ts +3 -2
- package/build/src/drivers/PostgresDriver.js.map +1 -1
- package/build/src/drivers/driver.d.ts +2 -2
- package/build/src/index.d.ts +4 -127
- package/build/src/index.js +6 -155
- package/build/src/index.js.map +1 -1
- package/build/src/relations/Collection.d.ts +23 -0
- package/build/src/relations/Collection.js +19 -0
- package/build/src/relations/Collection.js.map +1 -0
- package/build/src/relations/CustomCollection.d.ts +3 -0
- package/build/src/relations/CustomCollection.js +5 -0
- package/build/src/relations/CustomCollection.js.map +1 -1
- package/build/src/relations/CustomReference.d.ts +5 -0
- package/build/src/relations/CustomReference.js +7 -0
- package/build/src/relations/CustomReference.js.map +1 -1
- package/build/src/relations/ManyToManyCollection.d.ts +5 -0
- package/build/src/relations/ManyToManyCollection.js +12 -1
- package/build/src/relations/ManyToManyCollection.js.map +1 -1
- package/build/src/relations/ManyToOneReference.d.ts +21 -2
- package/build/src/relations/ManyToOneReference.js +21 -3
- package/build/src/relations/ManyToOneReference.js.map +1 -1
- package/build/src/relations/OneToManyCollection.d.ts +5 -0
- package/build/src/relations/OneToManyCollection.js +12 -1
- package/build/src/relations/OneToManyCollection.js.map +1 -1
- package/build/src/relations/OneToOneReference.d.ts +31 -2
- package/build/src/relations/OneToOneReference.js +28 -3
- package/build/src/relations/OneToOneReference.js.map +1 -1
- package/build/src/relations/PolymorphicReference.d.ts +19 -1
- package/build/src/relations/PolymorphicReference.js +20 -3
- package/build/src/relations/PolymorphicReference.js.map +1 -1
- package/build/src/relations/Reference.d.ts +29 -0
- package/build/src/relations/Reference.js +23 -0
- package/build/src/relations/Reference.js.map +1 -0
- package/build/src/relations/Relation.d.ts +10 -0
- package/build/src/relations/Relation.js +13 -0
- package/build/src/relations/Relation.js.map +1 -0
- package/build/src/relations/hasAsyncProperty.d.ts +4 -0
- package/build/src/relations/hasAsyncProperty.js +13 -3
- package/build/src/relations/hasAsyncProperty.js.map +1 -1
- package/build/src/relations/index.d.ts +9 -15
- package/build/src/relations/index.js +24 -34
- package/build/src/relations/index.js.map +1 -1
- package/build/src/rules.d.ts +23 -0
- package/build/src/rules.js +23 -0
- package/build/src/rules.js.map +1 -0
- package/build/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
package/build/src/index.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { Entity, EntityConstructor, EntityManager, EntityMetadata, EntityOrmField, Field,
|
|
2
|
-
import {
|
|
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;
|
package/build/src/index.js
CHANGED
|
@@ -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.
|
|
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
|
}
|
package/build/src/index.js.map
CHANGED
|
@@ -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":"
|
|
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":"
|
|
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
|