joist-orm 1.17.0 → 1.18.0
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/BaseEntity.js +2 -0
- package/build/src/BaseEntity.js.map +1 -1
- package/build/src/EntityManager.d.ts +2 -2
- package/build/src/EntityManager.js +40 -14
- package/build/src/EntityManager.js.map +1 -1
- package/build/src/EntityMetadata.d.ts +1 -1
- package/build/src/Todo.d.ts +3 -2
- package/build/src/Todo.js +14 -8
- package/build/src/Todo.js.map +1 -1
- package/build/src/changes.js +6 -1
- package/build/src/changes.js.map +1 -1
- package/build/src/config.d.ts +28 -5
- package/build/src/config.js +15 -9
- package/build/src/config.js.map +1 -1
- package/build/src/index.d.ts +2 -2
- package/build/src/index.js +23 -16
- package/build/src/index.js.map +1 -1
- package/build/src/{loaded.d.ts → loadHints.d.ts} +39 -16
- package/build/src/{loaded.js → loadHints.js} +3 -3
- package/build/src/loadHints.js.map +1 -0
- package/build/src/normalizeHints.d.ts +13 -0
- package/build/src/normalizeHints.js +18 -0
- package/build/src/normalizeHints.js.map +1 -0
- package/build/src/reactiveHints.d.ts +50 -0
- package/build/src/reactiveHints.js +96 -0
- package/build/src/reactiveHints.js.map +1 -0
- package/build/src/relations/Reference.d.ts +1 -0
- package/build/src/relations/Reference.js.map +1 -1
- package/build/src/relations/hasAsyncProperty.d.ts +4 -3
- package/build/src/relations/hasAsyncProperty.js.map +1 -1
- package/build/src/relations/hasManyDerived.d.ts +1 -1
- package/build/src/relations/hasOneDerived.d.ts +3 -2
- package/build/src/relations/hasOneDerived.js.map +1 -1
- package/build/src/rules.d.ts +8 -1
- package/build/src/rules.js.map +1 -1
- package/build/src/utils.d.ts +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/build/src/loaded.js.map +0 -1
- package/build/src/reverseHint.d.ts +0 -9
- package/build/src/reverseHint.js +0 -50
- package/build/src/reverseHint.js.map +0 -1
package/build/src/BaseEntity.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseEntity.js","sourceRoot":"","sources":["../../src/BaseEntity.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"BaseEntity.js","sourceRoot":"","sources":["../../src/BaseEntity.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ import { Knex } from "knex";
|
|
|
5
5
|
import { Driver } from "./drivers/driver";
|
|
6
6
|
import { Entity } from "./Entity";
|
|
7
7
|
import { DeepPartialOrNull, EntityMetadata, PartialOrNull } from "./index";
|
|
8
|
-
import { Loaded, LoadHint, New } from "./
|
|
8
|
+
import { Loaded, LoadHint, New } from "./loadHints";
|
|
9
9
|
import { JoinRow } from "./relations/ManyToManyCollection";
|
|
10
10
|
import { MaybePromise } from "./utils";
|
|
11
11
|
export interface EntityConstructor<T> {
|
|
@@ -354,7 +354,7 @@ export declare class TooManyError extends Error {
|
|
|
354
354
|
export declare function beforeTransaction(em: EntityManager, knex: Knex.Transaction): Promise<unknown>;
|
|
355
355
|
export declare function afterTransaction(em: EntityManager, knex: Knex.Transaction): Promise<unknown>;
|
|
356
356
|
declare type Narrowable = string | number | boolean | symbol | object | undefined | void | null | {} | [];
|
|
357
|
-
declare type Const<N> = N | {
|
|
357
|
+
export declare type Const<N> = N | {
|
|
358
358
|
[K in keyof N]: N[K] extends Narrowable ? N[K] | Const<N[K]> : never;
|
|
359
359
|
};
|
|
360
360
|
export {};
|
|
@@ -404,7 +404,10 @@ class EntityManager {
|
|
|
404
404
|
recalcDerivedFields(todos);
|
|
405
405
|
await recalcAsyncDerivedFields(this, todos);
|
|
406
406
|
if (!skipValidation) {
|
|
407
|
-
|
|
407
|
+
// Run simple rules first b/c it includes not-null/required rules, so that then when we run
|
|
408
|
+
// `validateReactiveRules` next, the lambdas won't see invalid entities.
|
|
409
|
+
await validateSimpleRules(todos);
|
|
410
|
+
await validateReactiveRules(todos);
|
|
408
411
|
await afterValidation(this.ctx, todos);
|
|
409
412
|
}
|
|
410
413
|
entitiesToFlush.push(...pendingEntities);
|
|
@@ -600,16 +603,20 @@ async function addReactiveValidations(todos) {
|
|
|
600
603
|
const p = Object.values(todos).flatMap((todo) => {
|
|
601
604
|
const entities = [...todo.inserts, ...todo.updates, ...todo.deletes];
|
|
602
605
|
// Find each statically-declared reactive rule for the given entity type
|
|
603
|
-
return todo.metadata.config.__data.reactiveRules.map(async (
|
|
606
|
+
return todo.metadata.config.__data.reactiveRules.map(async (rule) => {
|
|
607
|
+
const dirty = entities.filter((e) => e.isNewEntity ||
|
|
608
|
+
e.isDeletedEntity ||
|
|
609
|
+
e.changes.fields.some((f) => rule.fields.includes(f)));
|
|
604
610
|
// Add the resulting "found" entities to the right todos to be validated
|
|
605
|
-
(await followReverseHint(
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
611
|
+
(await followReverseHint(dirty, rule.reversePath))
|
|
612
|
+
.filter((entity) => !entity.isDeletedEntity)
|
|
613
|
+
.forEach((entity) => {
|
|
614
|
+
const { validates } = (0, Todo_1.getTodo)(todos, entity);
|
|
615
|
+
// Even if the entity is in inserts/updates, we need to explicitly mark it for validation
|
|
616
|
+
if (!validates.has(entity)) {
|
|
617
|
+
validates.set(entity, new Set());
|
|
612
618
|
}
|
|
619
|
+
validates.get(entity).add(rule.rule);
|
|
613
620
|
});
|
|
614
621
|
});
|
|
615
622
|
});
|
|
@@ -638,13 +645,32 @@ async function cleanupDeletedRelations(todos) {
|
|
|
638
645
|
const entities = Object.values(todos).flatMap((todo) => todo.deletes);
|
|
639
646
|
await Promise.all(entities.flatMap(index_1.getRelations).map((relation) => relation.cleanupOnEntityDeleted()));
|
|
640
647
|
}
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
648
|
+
// Run *non-reactive* (those with `fields: undefined`) rules of explicitly mutated entities,
|
|
649
|
+
// because even for reactive validations on mutated entities, we defer to addReactiveValidations
|
|
650
|
+
// to mark only the rules that need to run.
|
|
651
|
+
async function validateSimpleRules(todos) {
|
|
652
|
+
const p = Object.values(todos).flatMap(({ metadata, inserts, updates }) => {
|
|
653
|
+
const { rules } = metadata.config.__data;
|
|
654
|
+
return [...inserts, ...updates]
|
|
645
655
|
.filter((e) => !e.isDeletedEntity)
|
|
646
656
|
.flatMap((entity) => {
|
|
647
|
-
return rules
|
|
657
|
+
return rules
|
|
658
|
+
.filter((rule) => rule.hint === undefined)
|
|
659
|
+
.flatMap(async ({ fn }) => coerceError(entity, await fn(entity)));
|
|
660
|
+
});
|
|
661
|
+
});
|
|
662
|
+
const errors = (await Promise.all(p)).flat();
|
|
663
|
+
if (errors.length > 0) {
|
|
664
|
+
throw new index_1.ValidationErrors(errors);
|
|
665
|
+
}
|
|
666
|
+
}
|
|
667
|
+
// Run rules against unchanged-but-reacting entities
|
|
668
|
+
async function validateReactiveRules(todos) {
|
|
669
|
+
const p = Object.values(todos).flatMap(({ metadata, validates }) => {
|
|
670
|
+
return [...validates.entries()]
|
|
671
|
+
.filter(([e]) => !e.isDeletedEntity)
|
|
672
|
+
.flatMap(([entity, fns]) => {
|
|
673
|
+
return [...fns.values()].flatMap(async (fn) => coerceError(entity, await fn(entity)));
|
|
648
674
|
});
|
|
649
675
|
});
|
|
650
676
|
const errors = (await Promise.all(p)).flat();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityManager.js","sourceRoot":"","sources":["../../src/EntityManager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EntityManager.js","sourceRoot":"","sources":["../../src/EntityManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ConfigApi } from "./config";
|
|
2
2
|
import { Entity } from "./Entity";
|
|
3
3
|
import { EntityConstructor, EntityManager, TimestampFields } from "./EntityManager";
|
|
4
|
-
import { DeepNew } from "./
|
|
4
|
+
import { DeepNew } from "./loadHints";
|
|
5
5
|
import { FieldSerde, PolymorphicKeySerde } from "./serde";
|
|
6
6
|
export declare function getMetadata<T extends Entity>(entity: T): EntityMetadata<T>;
|
|
7
7
|
export declare function getMetadata<T extends Entity>(type: EntityConstructor<T>): EntityMetadata<T>;
|
package/build/src/Todo.d.ts
CHANGED
|
@@ -4,12 +4,13 @@ import { EntityMetadata } from "./EntityMetadata";
|
|
|
4
4
|
import { ManyToManyCollection } from "./relations";
|
|
5
5
|
import { JoinRow } from "./relations/ManyToManyCollection";
|
|
6
6
|
/** A group of insert/update/delete operations for a given entity. */
|
|
7
|
-
export
|
|
7
|
+
export declare class Todo {
|
|
8
8
|
metadata: EntityMetadata<any>;
|
|
9
9
|
inserts: Entity[];
|
|
10
10
|
updates: Entity[];
|
|
11
11
|
deletes: Entity[];
|
|
12
|
-
validates: Entity
|
|
12
|
+
validates: Map<Entity, Set<Function>>;
|
|
13
|
+
constructor(metadata: EntityMetadata<any>);
|
|
13
14
|
}
|
|
14
15
|
/**
|
|
15
16
|
* Scans `entities` for new/updated entities and arranges them per-type in entity order.
|
package/build/src/Todo.js
CHANGED
|
@@ -1,7 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.combineJoinRows = exports.getTodo = exports.createTodos = void 0;
|
|
3
|
+
exports.combineJoinRows = exports.getTodo = exports.createTodos = exports.Todo = void 0;
|
|
4
4
|
const EntityMetadata_1 = require("./EntityMetadata");
|
|
5
|
+
/** A group of insert/update/delete operations for a given entity. */
|
|
6
|
+
class Todo {
|
|
7
|
+
constructor(metadata) {
|
|
8
|
+
this.metadata = metadata;
|
|
9
|
+
this.inserts = [];
|
|
10
|
+
this.updates = [];
|
|
11
|
+
this.deletes = [];
|
|
12
|
+
this.validates = new Map();
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
exports.Todo = Todo;
|
|
5
16
|
/**
|
|
6
17
|
* Scans `entities` for new/updated entities and arranges them per-type in entity order.
|
|
7
18
|
*/
|
|
@@ -26,13 +37,8 @@ function createTodos(entities) {
|
|
|
26
37
|
exports.createTodos = createTodos;
|
|
27
38
|
/** getOrSets a `Todo` for `entity` in `todos`. */
|
|
28
39
|
function getTodo(todos, entity) {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
if (!todo) {
|
|
32
|
-
todo = { metadata: entity.__orm.metadata, inserts: [], updates: [], deletes: [], validates: [] };
|
|
33
|
-
todos[meta.type] = todo;
|
|
34
|
-
}
|
|
35
|
-
return todo;
|
|
40
|
+
var _a;
|
|
41
|
+
return (todos[_a = (0, EntityMetadata_1.getMetadata)(entity).type] ?? (todos[_a] = new Todo(entity.__orm.metadata)));
|
|
36
42
|
}
|
|
37
43
|
exports.getTodo = getTodo;
|
|
38
44
|
/** Given a list of `JoinRow`s for a given table, combine them into a single logical `JoinRowTodo`. */
|
package/build/src/Todo.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Todo.js","sourceRoot":"","sources":["../../src/Todo.ts"],"names":[],"mappings":";;;AAEA,qDAA+D;
|
|
1
|
+
{"version":3,"file":"Todo.js","sourceRoot":"","sources":["../../src/Todo.ts"],"names":[],"mappings":";;;AAEA,qDAA+D;AAI/D,qEAAqE;AACrE,MAAa,IAAI;IAKf,YAAmB,QAA6B;QAA7B,aAAQ,GAAR,QAAQ,CAAqB;QAJhD,YAAO,GAAa,EAAE,CAAC;QACvB,YAAO,GAAa,EAAE,CAAC;QACvB,YAAO,GAAa,EAAE,CAAC;QACvB,cAAS,GAA+B,IAAI,GAAG,EAAE,CAAC;IACC,CAAC;CACrD;AAND,oBAMC;AAED;;GAEG;AACH,SAAgB,WAAW,CAAC,QAAkB;IAC5C,MAAM,KAAK,GAAyB,EAAE,CAAC;IACvC,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE;QAC7B,IAAI,MAAM,CAAC,cAAc,EAAE;YACzB,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACpC,IAAI,MAAM,CAAC,eAAe,EAAE;gBAC1B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aAC3B;iBAAM,IAAI,MAAM,CAAC,WAAW,EAAE;gBAC7B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aAC3B;iBAAM;gBACL,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aAC3B;SACF;KACF;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAfD,kCAeC;AAED,kDAAkD;AAClD,SAAgB,OAAO,CAAC,KAA2B,EAAE,MAAc;;IACjE,OAAO,CAAC,KAAK,MAAC,IAAA,4BAAW,EAAC,MAAM,CAAC,CAAC,IAAI,MAA9B,KAAK,OAA+B,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAC,CAAC;AAC/E,CAAC;AAFD,0BAEC;AASD,sGAAsG;AACtG,SAAgB,eAAe,CAAC,QAAmC;IACjE,MAAM,KAAK,GAAgC,EAAE,CAAC;IAC9C,KAAK,MAAM,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;QAC5D,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC;QAC7E,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC;QACjF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YAChD,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;SACnE;KACF;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAVD,0CAUC"}
|
package/build/src/changes.js
CHANGED
|
@@ -7,7 +7,12 @@ function newChangesProxy(entity) {
|
|
|
7
7
|
return new Proxy(entity, {
|
|
8
8
|
get(target, p) {
|
|
9
9
|
if (p === "fields") {
|
|
10
|
-
return (entity.isNewEntity
|
|
10
|
+
return (entity.isNewEntity
|
|
11
|
+
? // Cloning sometimes leaves unset keys in data as undefined, so drop them
|
|
12
|
+
Object.entries(entity.__orm.data)
|
|
13
|
+
.filter(([, value]) => value !== undefined)
|
|
14
|
+
.map(([key]) => key)
|
|
15
|
+
: Object.keys(entity.__orm.originalData));
|
|
11
16
|
}
|
|
12
17
|
else if (typeof p === "symbol") {
|
|
13
18
|
throw new Error(`Unsupported call to ${String(p)}`);
|
package/build/src/changes.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"changes.js","sourceRoot":"","sources":["../../src/changes.ts"],"names":[],"mappings":";;;AAAA,qCAA4C;AAC5C,mDAA+D;
|
|
1
|
+
{"version":3,"file":"changes.js","sourceRoot":"","sources":["../../src/changes.ts"],"names":[],"mappings":";;;AAAA,qCAA4C;AAC5C,mDAA+D;AAqD/D,SAAgB,eAAe,CAAmB,MAAS;IACzD,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;QACvB,GAAG,CAAC,MAAM,EAAE,CAAc;YACxB,IAAI,CAAC,KAAK,QAAQ,EAAE;gBAClB,OAAO,CACL,MAAM,CAAC,WAAW;oBAChB,CAAC,CAAC,yEAAyE;wBACzE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;6BAC9B,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC;6BAC1C,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC;oBACxB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CACpB,CAAC;aAC1B;iBAAM,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE;gBAChC,MAAM,IAAI,KAAK,CAAC,uBAAuB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;aACrD;YAED,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACnD,MAAM,UAAU,GAAG,CAAC,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC;YAChH,MAAM,UAAU,GAAG,CAAC,MAAM,CAAC,WAAW,IAAI,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC;YACzE,OAAO;gBACL,UAAU;gBACV,UAAU;gBACV,aAAa;gBACb,IAAI,cAAc;oBAChB,IAAI,IAAA,iBAAQ,EAAC,aAAa,CAAC,EAAE;wBAC3B,OAAO,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;qBACvC;yBAAM,IAAI,IAAA,oBAAI,EAAC,aAAa,CAAC,EAAE;wBAC9B,OAAO,MAAM,CAAC,EAAE,CAAC,IAAI,CAAE,MAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;qBACzE;yBAAM;wBACL,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;qBAC1B;gBACH,CAAC;aACF,CAAC;QACJ,CAAC;KACF,CAAQ,CAAC;AACZ,CAAC;AAnCD,0CAmCC"}
|
package/build/src/config.d.ts
CHANGED
|
@@ -1,13 +1,24 @@
|
|
|
1
1
|
import { Entity } from "./Entity";
|
|
2
|
-
import { Loaded, LoadHint, RelationsIn } from "./index";
|
|
3
|
-
import { ValidationRule } from "./rules";
|
|
2
|
+
import { Loaded, LoadHint, Reacted, ReactiveHint, RelationsIn } from "./index";
|
|
3
|
+
import { ValidationRule, ValidationRuleInternal } from "./rules";
|
|
4
4
|
import { MaybePromise } from "./utils";
|
|
5
5
|
export declare type EntityHook = "beforeFlush" | "beforeCreate" | "beforeUpdate" | "beforeDelete" | "afterValidation" | "afterCommit";
|
|
6
6
|
declare type HookFn<T extends Entity, C> = (entity: T, ctx: C) => MaybePromise<void>;
|
|
7
7
|
/** The public API to configure an Entity's hooks & validation rules. */
|
|
8
8
|
export declare class ConfigApi<T extends Entity, C> {
|
|
9
9
|
__data: ConfigData<T, C>;
|
|
10
|
-
|
|
10
|
+
/**
|
|
11
|
+
* Adds a validation rule for this entity.
|
|
12
|
+
*
|
|
13
|
+
* If `hint` is passed, then the rule's lambda will be: 1) passed a view of the entity with only
|
|
14
|
+
* the fields included in `hint` marked as accessible, and 2) the rule will be called reactively any
|
|
15
|
+
* time any field in the `hint` changes.
|
|
16
|
+
*
|
|
17
|
+
* If lambdas want to access fields w/o having them marked for reactivity, the rule can either
|
|
18
|
+
* include the field as readonly with a `:ro` suffix, i.e. `firstName:ro`, or the lambda can
|
|
19
|
+
* access the `reacted.entity` property to get a full view of the entity's fields and methods.
|
|
20
|
+
*/
|
|
21
|
+
addRule<H extends ReactiveHint<T>>(hint: H, rule: ValidationRule<Reacted<T, H>>): void;
|
|
11
22
|
addRule(rule: ValidationRule<T>): void;
|
|
12
23
|
cascadeDelete(relationship: keyof RelationsIn<T> & LoadHint<T>): void;
|
|
13
24
|
/** Registers `fn` as the lambda to provide the async value for `key`. */
|
|
@@ -29,15 +40,27 @@ export declare class ConfigApi<T extends Entity, C> {
|
|
|
29
40
|
* until the user is ready to use it. */
|
|
30
41
|
placeholder(): void;
|
|
31
42
|
}
|
|
43
|
+
/**
|
|
44
|
+
* Stores a path back to a reactive rule.
|
|
45
|
+
*
|
|
46
|
+
* I.e. if `Book` has a `ruleFn` that reacts to `Author.title`, then `Author`'s config will have
|
|
47
|
+
* a `ReactiveRule` with fields `["title"]`, reversePath `books`, and rule `ruleFn`.
|
|
48
|
+
*/
|
|
49
|
+
interface ReactiveRule {
|
|
50
|
+
name: string;
|
|
51
|
+
fields: string[];
|
|
52
|
+
reversePath: string[];
|
|
53
|
+
rule: ValidationRule<any>;
|
|
54
|
+
}
|
|
32
55
|
/** The internal state of an entity's configuration data, i.e. validation rules/hooks. */
|
|
33
56
|
export declare class ConfigData<T extends Entity, C> {
|
|
34
57
|
/** The validation rules for this entity type. */
|
|
35
|
-
rules:
|
|
58
|
+
rules: ValidationRuleInternal<T>[];
|
|
36
59
|
/** The async derived fields for this entity type. */
|
|
37
60
|
asyncDerivedFields: Partial<Record<keyof T, [LoadHint<T>, (entity: T) => any]>>;
|
|
38
61
|
/** The hooks for this instance. */
|
|
39
62
|
hooks: Record<EntityHook, HookFn<T, C>[]>;
|
|
40
|
-
reactiveRules:
|
|
63
|
+
reactiveRules: ReactiveRule[];
|
|
41
64
|
reactiveDerivedValues: string[][];
|
|
42
65
|
cascadeDeleteFields: Array<keyof RelationsIn<T>>;
|
|
43
66
|
}
|
package/build/src/config.js
CHANGED
|
@@ -1,25 +1,30 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ConfigData = exports.ConfigApi = void 0;
|
|
4
|
+
const index_1 = require("./index");
|
|
5
|
+
const reactiveHints_1 = require("./reactiveHints");
|
|
4
6
|
/** The public API to configure an Entity's hooks & validation rules. */
|
|
5
7
|
class ConfigApi {
|
|
6
8
|
constructor() {
|
|
7
9
|
this.__data = new ConfigData();
|
|
8
10
|
}
|
|
9
11
|
addRule(ruleOrHint, maybeRule) {
|
|
12
|
+
// Keep the name for easy debugging/tracing later
|
|
13
|
+
const name = getCallerName();
|
|
10
14
|
if (typeof ruleOrHint === "function") {
|
|
11
|
-
|
|
15
|
+
const fn = ruleOrHint;
|
|
16
|
+
this.__data.rules.push({ name, fn, hint: undefined });
|
|
12
17
|
}
|
|
13
18
|
else {
|
|
19
|
+
const hint = ruleOrHint;
|
|
20
|
+
// Create a wrapper around the user's function to populate
|
|
14
21
|
const fn = async (entity) => {
|
|
15
|
-
|
|
22
|
+
// Ideally we'd convert this once outside `fn`, but we don't have `metadata` yet
|
|
23
|
+
const loadHint = (0, reactiveHints_1.convertToLoadHint)((0, index_1.getMetadata)(entity), hint);
|
|
24
|
+
const loaded = await entity.em.populate(entity, loadHint);
|
|
16
25
|
return maybeRule(loaded);
|
|
17
26
|
};
|
|
18
|
-
|
|
19
|
-
fn.hint = ruleOrHint;
|
|
20
|
-
// Keep the name for easy debugging/tracing later
|
|
21
|
-
fn.ruleName = getCallerName();
|
|
22
|
-
this.__data.rules.push(fn);
|
|
27
|
+
this.__data.rules.push({ name, fn, hint });
|
|
23
28
|
}
|
|
24
29
|
}
|
|
25
30
|
cascadeDelete(relationship) {
|
|
@@ -88,7 +93,7 @@ class ConfigData {
|
|
|
88
93
|
afterCommit: [],
|
|
89
94
|
afterValidation: [],
|
|
90
95
|
};
|
|
91
|
-
//
|
|
96
|
+
// An array of my X fields, via reverse path, trigger some target entity+fn
|
|
92
97
|
this.reactiveRules = [];
|
|
93
98
|
// Load-hint-ish structures that point back to instances that depend on us for derived values.
|
|
94
99
|
this.reactiveDerivedValues = [];
|
|
@@ -101,7 +106,8 @@ function getCallerName() {
|
|
|
101
106
|
// E.g. at Object.<anonymous> (/home/stephen/homebound/graphql-service/src/entities/Activity.ts:86:8)
|
|
102
107
|
const line = err.stack.split("\n")[4];
|
|
103
108
|
const parts = line.split("/");
|
|
104
|
-
|
|
109
|
+
// Get the last part, which will be the file name, i.e. Activity.ts:86:8
|
|
110
|
+
return parts[parts.length - 1].replace(/:\d+\)?$/, "");
|
|
105
111
|
}
|
|
106
112
|
function getErrorObject() {
|
|
107
113
|
try {
|
package/build/src/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":";;;AACA,mCAA4F;AAC5F,mDAAoD;AAcpD,wEAAwE;AACxE,MAAa,SAAS;IAAtB;QACE,WAAM,GAAG,IAAI,UAAU,EAAQ,CAAC;IA0GlC,CAAC;IA3FC,OAAO,CAAC,UAAmC,EAAE,SAA+B;QAC1E,iDAAiD;QACjD,MAAM,IAAI,GAAG,aAAa,EAAE,CAAC;QAC7B,IAAI,OAAO,UAAU,KAAK,UAAU,EAAE;YACpC,MAAM,EAAE,GAAG,UAAU,CAAC;YACtB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;SACvD;aAAM;YACL,MAAM,IAAI,GAAG,UAAU,CAAC;YACxB,0DAA0D;YAC1D,MAAM,EAAE,GAAG,KAAK,EAAE,MAAS,EAAE,EAAE;gBAC7B,gFAAgF;gBAChF,MAAM,QAAQ,GAAG,IAAA,iCAAiB,EAAC,IAAA,mBAAW,EAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;gBAC9D,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;gBAC1D,OAAO,SAAU,CAAC,MAAM,CAAC,CAAC;YAC5B,CAAC,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;SAC5C;IACH,CAAC;IAED,aAAa,CAAC,YAAgD;QAC5D,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACnD,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE;YACzC,MAAM,QAAQ,GAAG,MAAM,CAAC,YAAY,CAAqC,CAAC;YAC1E,QAAQ,CAAC,kBAAkB,EAAE,CAAC;QAChC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,yEAAyE;IACzE,oBAAoB,CAClB,GAAM,EACN,QAAW,EACX,EAAkC;QAElC,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAS,CAAC,CAAC;IAC9D,CAAC;IAEO,OAAO,CAAC,IAAgB,EAAE,UAA8B,EAAE,OAAmC;QACnG,IAAI,OAAO,UAAU,KAAK,UAAU,EAAE;YACpC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SAC1C;aAAM;YACL,MAAM,EAAE,GAAG,KAAK,EAAE,MAAS,EAAE,GAAM,EAAE,EAAE;gBACrC,yCAAyC;gBACzC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;gBAC5D,OAAO,OAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAC/B,CAAC,CAAC;YACF,6DAA6D;YAC5D,EAAU,CAAC,IAAI,GAAG,UAAU,CAAC;YAC9B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SAClC;IACH,CAAC;IAID,YAAY,CAAC,UAA8B,EAAE,OAAmC;QAC9E,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;IAID,WAAW,CAAC,UAA8B,EAAE,OAAmC;QAC7E,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;IAMD,YAAY,CAAC,UAA8B,EAAE,OAAmC;QAC9E,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;IAID,YAAY,CAAC,UAA8B,EAAE,OAAmC;QAC9E,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;IAID,eAAe,CAAC,UAA8B,EAAE,OAAmC;QACjF,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IACvD,CAAC;IAED,WAAW,CAAC,EAAgB;QAC1B,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;IAClC,CAAC;IAED;;4CAEwC;IACxC,WAAW,KAAU,CAAC;CACvB;AA3GD,8BA2GC;AAeD,yFAAyF;AACzF,MAAa,UAAU;IAAvB;QACE,iDAAiD;QACjD,UAAK,GAAgC,EAAE,CAAC;QACxC,qDAAqD;QACrD,uBAAkB,GAAgE,EAAE,CAAC;QACrF,mCAAmC;QACnC,UAAK,GAAuC;YAC1C,YAAY,EAAE,EAAE;YAChB,WAAW,EAAE,EAAE;YACf,YAAY,EAAE,EAAE;YAChB,YAAY,EAAE,EAAE;YAChB,WAAW,EAAE,EAAE;YACf,eAAe,EAAE,EAAE;SACpB,CAAC;QACF,2EAA2E;QAC3E,kBAAa,GAAmB,EAAE,CAAC;QACnC,8FAA8F;QAC9F,0BAAqB,GAAe,EAAE,CAAC;QACvC,wBAAmB,GAAgC,EAAE,CAAC;IACxD,CAAC;CAAA;AAnBD,gCAmBC;AAED,SAAS,aAAa;IACpB,MAAM,GAAG,GAAG,cAAc,EAAE,CAAC;IAC7B,qGAAqG;IACrG,MAAM,IAAI,GAAG,GAAG,CAAC,KAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACvC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9B,wEAAwE;IACxE,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,cAAc;IACrB,IAAI;QACF,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC;KACjB;IAAC,OAAO,GAAG,EAAE;QACZ,OAAO,GAAY,CAAC;KACrB;AACH,CAAC"}
|
package/build/src/index.d.ts
CHANGED
|
@@ -14,12 +14,12 @@ export * from "./EntityManager";
|
|
|
14
14
|
export * from "./EntityMetadata";
|
|
15
15
|
export * from "./getProperties";
|
|
16
16
|
export * from "./keys";
|
|
17
|
-
export { DeepNew, ensureLoaded, ensureLoadedThen, isLoaded, isNew, Loadable, Loaded, LoadHint, New, RelationsIn, } from "./
|
|
17
|
+
export { DeepNew, ensureLoaded, ensureLoadedThen, isLoaded, isNew, Loadable, Loaded, LoadHint, MarkLoaded, New, RelationsIn, } from "./loadHints";
|
|
18
18
|
export * from "./loadLens";
|
|
19
19
|
export * from "./newTestInstance";
|
|
20
20
|
export * from "./QueryBuilder";
|
|
21
|
+
export { Reactable, Reacted, ReactiveHint, reverseHint, reverseReactiveHint } from "./reactiveHints";
|
|
21
22
|
export * from "./relations";
|
|
22
|
-
export * from "./reverseHint";
|
|
23
23
|
export { cannotBeUpdated, GenericError, newRequiredRule, ValidationError, ValidationErrors, ValidationRule, ValidationRuleResult, } from "./rules";
|
|
24
24
|
export * from "./serde";
|
|
25
25
|
export { asNew, fail } from "./utils";
|
package/build/src/index.js
CHANGED
|
@@ -14,13 +14,13 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.maybeGetConstructorFromReference = exports.getConstructorFromTaggedId = exports.getRelations = exports.getEm = exports.configureMetadata = exports.getRequiredKeys = exports.ensureNotDeleted = exports.setOpts = exports.setField = exports.fail = exports.asNew = exports.ValidationErrors = exports.newRequiredRule = exports.cannotBeUpdated = exports.isNew = exports.isLoaded = exports.ensureLoadedThen = exports.ensureLoaded = exports.isEntity = exports.ConfigApi = exports.BaseEntity = exports.newPgConnectionConfig = void 0;
|
|
17
|
+
exports.maybeGetConstructorFromReference = exports.getConstructorFromTaggedId = exports.getRelations = exports.getEm = exports.configureMetadata = exports.getRequiredKeys = exports.ensureNotDeleted = exports.setOpts = exports.setField = exports.fail = exports.asNew = exports.ValidationErrors = exports.newRequiredRule = exports.cannotBeUpdated = exports.reverseReactiveHint = exports.reverseHint = exports.isNew = exports.isLoaded = exports.ensureLoadedThen = exports.ensureLoaded = exports.isEntity = exports.ConfigApi = exports.BaseEntity = exports.newPgConnectionConfig = void 0;
|
|
18
18
|
const Entity_1 = require("./Entity");
|
|
19
19
|
const EntityManager_1 = require("./EntityManager");
|
|
20
20
|
const EntityMetadata_1 = require("./EntityMetadata");
|
|
21
21
|
const keys_1 = require("./keys");
|
|
22
|
+
const reactiveHints_1 = require("./reactiveHints");
|
|
22
23
|
const AbstractRelationImpl_1 = require("./relations/AbstractRelationImpl");
|
|
23
|
-
const reverseHint_1 = require("./reverseHint");
|
|
24
24
|
const rules_1 = require("./rules");
|
|
25
25
|
const utils_1 = require("./utils");
|
|
26
26
|
var joist_utils_1 = require("joist-utils");
|
|
@@ -37,16 +37,18 @@ __exportStar(require("./EntityManager"), exports);
|
|
|
37
37
|
__exportStar(require("./EntityMetadata"), exports);
|
|
38
38
|
__exportStar(require("./getProperties"), exports);
|
|
39
39
|
__exportStar(require("./keys"), exports);
|
|
40
|
-
var
|
|
41
|
-
Object.defineProperty(exports, "ensureLoaded", { enumerable: true, get: function () { return
|
|
42
|
-
Object.defineProperty(exports, "ensureLoadedThen", { enumerable: true, get: function () { return
|
|
43
|
-
Object.defineProperty(exports, "isLoaded", { enumerable: true, get: function () { return
|
|
44
|
-
Object.defineProperty(exports, "isNew", { enumerable: true, get: function () { return
|
|
40
|
+
var loadHints_1 = require("./loadHints");
|
|
41
|
+
Object.defineProperty(exports, "ensureLoaded", { enumerable: true, get: function () { return loadHints_1.ensureLoaded; } });
|
|
42
|
+
Object.defineProperty(exports, "ensureLoadedThen", { enumerable: true, get: function () { return loadHints_1.ensureLoadedThen; } });
|
|
43
|
+
Object.defineProperty(exports, "isLoaded", { enumerable: true, get: function () { return loadHints_1.isLoaded; } });
|
|
44
|
+
Object.defineProperty(exports, "isNew", { enumerable: true, get: function () { return loadHints_1.isNew; } });
|
|
45
45
|
__exportStar(require("./loadLens"), exports);
|
|
46
46
|
__exportStar(require("./newTestInstance"), exports);
|
|
47
47
|
__exportStar(require("./QueryBuilder"), exports);
|
|
48
|
+
var reactiveHints_2 = require("./reactiveHints");
|
|
49
|
+
Object.defineProperty(exports, "reverseHint", { enumerable: true, get: function () { return reactiveHints_2.reverseHint; } });
|
|
50
|
+
Object.defineProperty(exports, "reverseReactiveHint", { enumerable: true, get: function () { return reactiveHints_2.reverseReactiveHint; } });
|
|
48
51
|
__exportStar(require("./relations"), exports);
|
|
49
|
-
__exportStar(require("./reverseHint"), exports);
|
|
50
52
|
var rules_2 = require("./rules");
|
|
51
53
|
Object.defineProperty(exports, "cannotBeUpdated", { enumerable: true, get: function () { return rules_2.cannotBeUpdated; } });
|
|
52
54
|
Object.defineProperty(exports, "newRequiredRule", { enumerable: true, get: function () { return rules_2.newRequiredRule; } });
|
|
@@ -207,23 +209,28 @@ function configureMetadata(metas) {
|
|
|
207
209
|
// Look for reactive validation rules to reverse
|
|
208
210
|
meta.config.__data.rules.forEach((rule) => {
|
|
209
211
|
if (rule.hint) {
|
|
210
|
-
const reversals = (0,
|
|
212
|
+
const reversals = (0, reactiveHints_1.reverseReactiveHint)(meta.cstr, rule.hint);
|
|
211
213
|
// For each reversal, tell its config about the reverse hint to force-re-validate
|
|
212
214
|
// the original rule's instance any time it changes.
|
|
213
|
-
reversals.forEach((
|
|
214
|
-
(0, EntityMetadata_1.getMetadata)(
|
|
215
|
+
reversals.forEach(({ entity, path, fields }) => {
|
|
216
|
+
(0, EntityMetadata_1.getMetadata)(entity).config.__data.reactiveRules.push({
|
|
217
|
+
name: rule.name,
|
|
218
|
+
fields,
|
|
219
|
+
reversePath: path,
|
|
220
|
+
rule: rule.fn,
|
|
221
|
+
});
|
|
215
222
|
});
|
|
216
223
|
}
|
|
217
|
-
if ((0, rules_1.isCannotBeUpdatedRule)(rule) && rule.immutable) {
|
|
218
|
-
meta.fields[rule.field].immutable = true;
|
|
224
|
+
if ((0, rules_1.isCannotBeUpdatedRule)(rule.fn) && rule.fn.immutable) {
|
|
225
|
+
meta.fields[rule.fn.field].immutable = true;
|
|
219
226
|
}
|
|
220
227
|
});
|
|
221
228
|
// Look for reactive async derived values rules to reverse
|
|
222
229
|
Object.entries(meta.config.__data.asyncDerivedFields).forEach(([, entry]) => {
|
|
223
230
|
const hint = entry[0];
|
|
224
|
-
const reversals = (0,
|
|
225
|
-
reversals.forEach((
|
|
226
|
-
(0, EntityMetadata_1.getMetadata)(
|
|
231
|
+
const reversals = (0, reactiveHints_1.reverseHint)(meta.cstr, hint);
|
|
232
|
+
reversals.forEach(({ entity, path }) => {
|
|
233
|
+
(0, EntityMetadata_1.getMetadata)(entity).config.__data.reactiveDerivedValues.push(path);
|
|
227
234
|
});
|
|
228
235
|
});
|
|
229
236
|
});
|