joist-orm 1.92.1 → 1.92.2
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 +15 -1
- package/build/src/EntityManager.d.ts.map +1 -1
- package/build/src/EntityManager.js +101 -136
- package/build/src/EntityManager.js.map +1 -1
- package/build/src/ReactionsManager.d.ts +36 -0
- package/build/src/ReactionsManager.d.ts.map +1 -0
- package/build/src/ReactionsManager.js +114 -0
- package/build/src/ReactionsManager.js.map +1 -0
- package/build/src/Todo.d.ts +0 -2
- package/build/src/Todo.d.ts.map +1 -1
- package/build/src/Todo.js +0 -13
- package/build/src/Todo.js.map +1 -1
- package/build/src/config.d.ts +17 -7
- package/build/src/config.d.ts.map +1 -1
- package/build/src/config.js +3 -6
- package/build/src/config.js.map +1 -1
- package/build/src/index.d.ts.map +1 -1
- package/build/src/index.js +2 -0
- package/build/src/index.js.map +1 -1
- package/build/src/reactiveHints.d.ts +7 -1
- package/build/src/reactiveHints.d.ts.map +1 -1
- package/build/src/reactiveHints.js +42 -1
- package/build/src/reactiveHints.js.map +1 -1
- package/build/src/relations/hasPersistedAsyncProperty.d.ts +1 -0
- package/build/src/relations/hasPersistedAsyncProperty.d.ts.map +1 -1
- package/build/src/relations/hasPersistedAsyncProperty.js +1 -0
- package/build/src/relations/hasPersistedAsyncProperty.js.map +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
|
@@ -3,6 +3,7 @@ import { AsyncLocalStorage } from "async_hooks";
|
|
|
3
3
|
import DataLoader, { BatchLoadFn, Options } from "dataloader";
|
|
4
4
|
import { Knex } from "knex";
|
|
5
5
|
import { Entity } from "./Entity";
|
|
6
|
+
import { ReactionsManager } from "./ReactionsManager";
|
|
6
7
|
import { Driver } from "./drivers/Driver";
|
|
7
8
|
import { DeepPartialOrNull, EntityMetadata, ExpressionFilter, FilterWithAlias, GraphQLFilterWithAlias, Lens, PartialOrNull, UniqueFilter } from "./index";
|
|
8
9
|
import { LoadHint, Loaded, New } from "./loadHints";
|
|
@@ -142,9 +143,20 @@ export declare class EntityManager<C = unknown> {
|
|
|
142
143
|
private _isFlushing;
|
|
143
144
|
private _isValidating;
|
|
144
145
|
pendingChildren: Map<string, Map<string, Entity[]>>;
|
|
146
|
+
/**
|
|
147
|
+
* Tracks cascade deletes.
|
|
148
|
+
*
|
|
149
|
+
* We originally used a beforeDelete lifecycle hook to implement this, but tracking this
|
|
150
|
+
* individually allows us to a) recursively cascade deletes even during the 1st iteration
|
|
151
|
+
* of our `flush` loop, and b) cascade deletions before we recalc fields & run user hooks,
|
|
152
|
+
* so that both see the most accurate state.
|
|
153
|
+
*/
|
|
154
|
+
private pendingCascadeDeletes;
|
|
145
155
|
dataloaders: Record<string, LoaderCache>;
|
|
146
156
|
__data: {
|
|
147
157
|
joinRows: Record<string, JoinRow[]>;
|
|
158
|
+
/** Stores any `source -> downstream` reactions to recalc during `em.flush`. */
|
|
159
|
+
rm: ReactionsManager;
|
|
148
160
|
};
|
|
149
161
|
private hooks;
|
|
150
162
|
constructor(em: EntityManager<C>);
|
|
@@ -384,7 +396,7 @@ export declare class EntityManager<C = unknown> {
|
|
|
384
396
|
* may still point to this entity. We defer unsetting these not-currently-loaded references
|
|
385
397
|
* until `EntityManager.flush`, when we can make the async calls to load-and-unset them.
|
|
386
398
|
*/
|
|
387
|
-
delete(
|
|
399
|
+
delete(entity: Entity): void;
|
|
388
400
|
assignNewIds(): Promise<void>;
|
|
389
401
|
/**
|
|
390
402
|
* Flushes the SQL for any changed entities to the database.
|
|
@@ -458,6 +470,8 @@ export declare class EntityManager<C = unknown> {
|
|
|
458
470
|
*/
|
|
459
471
|
getLoader<K, V>(operation: string, batchKey: string, fn: BatchLoadFn<K, V>, opts?: Options<K, V>): DataLoader<K, V>;
|
|
460
472
|
toString(): string;
|
|
473
|
+
/** Recursively cascades any pending deletions. */
|
|
474
|
+
private cascadeDeletes;
|
|
461
475
|
}
|
|
462
476
|
export declare let entityLimit: number;
|
|
463
477
|
export declare function setEntityLimit(limit: number): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityManager.d.ts","sourceRoot":"","sources":["../../src/EntityManager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EntityManager.d.ts","sourceRoot":"","sources":["../../src/EntityManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@ exports.isDefined = exports.afterTransaction = exports.beforeTransaction = expor
|
|
|
7
7
|
const async_hooks_1 = require("async_hooks");
|
|
8
8
|
const dataloader_1 = __importDefault(require("dataloader"));
|
|
9
9
|
const Entity_1 = require("./Entity");
|
|
10
|
+
const ReactionsManager_1 = require("./ReactionsManager");
|
|
10
11
|
const Todo_1 = require("./Todo");
|
|
11
12
|
const config_1 = require("./config");
|
|
12
13
|
const createOrUpdatePartial_1 = require("./createOrUpdatePartial");
|
|
@@ -17,6 +18,7 @@ const findOrCreateDataLoader_1 = require("./dataloaders/findOrCreateDataLoader")
|
|
|
17
18
|
const loadDataLoader_1 = require("./dataloaders/loadDataLoader");
|
|
18
19
|
const index_1 = require("./index");
|
|
19
20
|
const normalizeHints_1 = require("./normalizeHints");
|
|
21
|
+
const reactiveHints_1 = require("./reactiveHints");
|
|
20
22
|
const relations_1 = require("./relations");
|
|
21
23
|
const utils_1 = require("./utils");
|
|
22
24
|
function isId(value) {
|
|
@@ -51,10 +53,21 @@ class EntityManager {
|
|
|
51
53
|
_isValidating = false;
|
|
52
54
|
// TODO Make these private
|
|
53
55
|
pendingChildren = new Map();
|
|
56
|
+
/**
|
|
57
|
+
* Tracks cascade deletes.
|
|
58
|
+
*
|
|
59
|
+
* We originally used a beforeDelete lifecycle hook to implement this, but tracking this
|
|
60
|
+
* individually allows us to a) recursively cascade deletes even during the 1st iteration
|
|
61
|
+
* of our `flush` loop, and b) cascade deletions before we recalc fields & run user hooks,
|
|
62
|
+
* so that both see the most accurate state.
|
|
63
|
+
*/
|
|
64
|
+
pendingCascadeDeletes = [];
|
|
54
65
|
dataloaders = {};
|
|
55
66
|
// This is attempting to be internal/module private
|
|
56
67
|
__data = {
|
|
57
68
|
joinRows: {},
|
|
69
|
+
/** Stores any `source -> downstream` reactions to recalc during `em.flush`. */
|
|
70
|
+
rm: new ReactionsManager_1.ReactionsManager(),
|
|
58
71
|
};
|
|
59
72
|
hooks = {
|
|
60
73
|
beforeTransaction: [],
|
|
@@ -459,6 +472,7 @@ class EntityManager {
|
|
|
459
472
|
if (updatedAt) {
|
|
460
473
|
entity.__orm.data[updatedAt] = new Date();
|
|
461
474
|
}
|
|
475
|
+
this.__data.rm.queueAllDownstreamFields(entity);
|
|
462
476
|
}
|
|
463
477
|
exports.currentlyInstantiatingEntity = entity;
|
|
464
478
|
}
|
|
@@ -473,13 +487,18 @@ class EntityManager {
|
|
|
473
487
|
* may still point to this entity. We defer unsetting these not-currently-loaded references
|
|
474
488
|
* until `EntityManager.flush`, when we can make the async calls to load-and-unset them.
|
|
475
489
|
*/
|
|
476
|
-
delete(
|
|
490
|
+
delete(entity) {
|
|
477
491
|
// Early return if already deleted.
|
|
478
|
-
if (
|
|
492
|
+
if (entity.__orm.deleted) {
|
|
479
493
|
return;
|
|
480
494
|
}
|
|
481
|
-
|
|
482
|
-
|
|
495
|
+
entity.__orm.deleted = "pending";
|
|
496
|
+
// Any derived fields that read this entity will need recalc-d
|
|
497
|
+
this.__data.rm.queueAllDownstreamFields(entity);
|
|
498
|
+
// Synchronously unhook the entity if the relations are loaded
|
|
499
|
+
getCascadeDeleteRelations(entity).forEach((r) => r.maybeCascadeDelete());
|
|
500
|
+
// And queue the cascade deletes
|
|
501
|
+
this.pendingCascadeDeletes.push(entity);
|
|
483
502
|
}
|
|
484
503
|
async assignNewIds() {
|
|
485
504
|
let pendingEntities = this.entities.filter((e) => e.isNewEntity && !e.id);
|
|
@@ -505,44 +524,56 @@ class EntityManager {
|
|
|
505
524
|
throw new Error("Cannot flush while another flush is already in progress");
|
|
506
525
|
}
|
|
507
526
|
this._isFlushing = true;
|
|
508
|
-
|
|
527
|
+
await exports.currentFlushSecret.run({ flushSecret: this.flushSecret }, async () => {
|
|
528
|
+
// Recalc any touched entities
|
|
529
|
+
const touched = this.entities.filter((e) => e.__orm.isTouched);
|
|
530
|
+
if (touched.length > 0) {
|
|
531
|
+
await recalcTouchedEntities(touched);
|
|
532
|
+
}
|
|
533
|
+
// Cascade deletes now that we're async (i.e. to keep `em.delete` synchronous).
|
|
534
|
+
// Also do this before calling `recalcPendingDerivedValues` to avoid recalculating
|
|
535
|
+
// fields on entities that will be deleted (and probably have unset/invalid FKs
|
|
536
|
+
// that would NPE their logic anyway).
|
|
537
|
+
await this.cascadeDeletes();
|
|
538
|
+
// Recalc before we run hooks, so the hooks will see the latest calculated values.
|
|
539
|
+
await this.__data.rm.recalcPendingDerivedValues();
|
|
540
|
+
});
|
|
541
|
+
const hooksInvoked = new Set();
|
|
509
542
|
let pendingEntities = this.entities.filter((e) => e.isPendingFlush);
|
|
510
543
|
try {
|
|
511
544
|
while (pendingEntities.length > 0) {
|
|
512
545
|
// Run hooks in a series of loops until things "settle down"
|
|
513
546
|
await exports.currentFlushSecret.run({ flushSecret: this.flushSecret }, async () => {
|
|
514
|
-
let todos = (0, Todo_1.createTodos)(pendingEntities);
|
|
515
547
|
// Run our hooks
|
|
548
|
+
let todos = (0, Todo_1.createTodos)(pendingEntities);
|
|
516
549
|
await beforeCreate(this.ctx, todos);
|
|
517
550
|
await beforeUpdate(this.ctx, todos);
|
|
518
551
|
await beforeFlush(this.ctx, todos);
|
|
519
|
-
// Recalc todos in case one of ^ hooks did an em.delete
|
|
552
|
+
// Recalc todos in case one of ^ hooks did an em.delete that moved an
|
|
553
|
+
// entity in this pending loop from created/updated to deleted.
|
|
520
554
|
todos = (0, Todo_1.createTodos)(pendingEntities);
|
|
521
555
|
await beforeDelete(this.ctx, todos);
|
|
522
|
-
//
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
//
|
|
527
|
-
|
|
528
|
-
//
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
// We include this inside the loop, b/c if we change values on a reacted,
|
|
534
|
-
// not-yet-mutated entity, we'll want to loop around and run its hooks
|
|
535
|
-
await recalcAsyncDerivedFields(this, todos);
|
|
536
|
-
entitiesToFlush.push(...pendingEntities);
|
|
537
|
-
pendingEntities = this.entities.filter((e) => e.isPendingFlush && !entitiesToFlush.includes(e));
|
|
556
|
+
// Call `setField` just to get the column marked as dirty if needed.
|
|
557
|
+
// This can come after the hooks, b/c if the hooks read any of these
|
|
558
|
+
// fields, they'd be via the synchronous getter and would not be stale.
|
|
559
|
+
recalcSynchronousDerivedFields(todos);
|
|
560
|
+
// The hooks could have deleted this-loop or prior-loop entities, so re-cascade again.
|
|
561
|
+
await this.cascadeDeletes();
|
|
562
|
+
// The hooks could have changed fields, so recalc again.
|
|
563
|
+
await this.__data.rm.recalcPendingDerivedValues();
|
|
564
|
+
for (const e of pendingEntities)
|
|
565
|
+
hooksInvoked.add(e);
|
|
566
|
+
pendingEntities = this.entities.filter((e) => e.isPendingFlush && !hooksInvoked.has(e));
|
|
538
567
|
this.flushSecret += 1;
|
|
539
568
|
});
|
|
540
569
|
}
|
|
570
|
+
// Recreate todos now that we've run hooks and recalculated fields so know
|
|
571
|
+
// the full set of entities that will be INSERT/UPDATE/DELETE-d in the database.
|
|
572
|
+
const entitiesToFlush = [...hooksInvoked];
|
|
541
573
|
const entityTodos = (0, Todo_1.createTodos)(entitiesToFlush);
|
|
542
574
|
if (!skipValidation) {
|
|
543
575
|
try {
|
|
544
576
|
this._isValidating = true;
|
|
545
|
-
await addReactiveValidations(entityTodos);
|
|
546
577
|
// Run simple rules first b/c it includes not-null/required rules, so that then when we run
|
|
547
578
|
// `validateReactiveRules` next, the lambdas won't see invalid entities.
|
|
548
579
|
await validateSimpleRules(entityTodos);
|
|
@@ -582,6 +613,7 @@ class EntityManager {
|
|
|
582
613
|
});
|
|
583
614
|
// Reset the find caches b/c data will have changed in the db
|
|
584
615
|
this.dataloaders = {};
|
|
616
|
+
this.__data.rm.clear();
|
|
585
617
|
}
|
|
586
618
|
return entitiesToFlush;
|
|
587
619
|
}
|
|
@@ -722,6 +754,20 @@ class EntityManager {
|
|
|
722
754
|
toString() {
|
|
723
755
|
return "EntityManager";
|
|
724
756
|
}
|
|
757
|
+
/** Recursively cascades any pending deletions. */
|
|
758
|
+
async cascadeDeletes() {
|
|
759
|
+
let entities = this.pendingCascadeDeletes;
|
|
760
|
+
this.pendingCascadeDeletes = [];
|
|
761
|
+
// Loop if our deletes cascade to other deletes
|
|
762
|
+
while (entities.length > 0) {
|
|
763
|
+
// For cascade delete relations, cascade the delete...
|
|
764
|
+
await Promise.all(entities.flatMap(getCascadeDeleteRelations).map((r) => r.load().then(() => r.maybeCascadeDelete())));
|
|
765
|
+
// For all relations, unhook the entity from the other side
|
|
766
|
+
await Promise.all(entities.flatMap(index_1.getRelations).map((r) => r.cleanupOnEntityDeleted()));
|
|
767
|
+
entities = this.pendingCascadeDeletes;
|
|
768
|
+
this.pendingCascadeDeletes = [];
|
|
769
|
+
}
|
|
770
|
+
}
|
|
725
771
|
}
|
|
726
772
|
exports.EntityManager = EntityManager;
|
|
727
773
|
exports.entityLimit = 10000;
|
|
@@ -763,17 +809,23 @@ exports.NotFoundError = NotFoundError;
|
|
|
763
809
|
class TooManyError extends Error {
|
|
764
810
|
}
|
|
765
811
|
exports.TooManyError = TooManyError;
|
|
812
|
+
/** Force recalc all async fields on entities that were `em.touch`-d. */
|
|
813
|
+
async function recalcTouchedEntities(touched) {
|
|
814
|
+
const relations = touched.flatMap((entity) => Object.values((0, index_1.getMetadata)(entity).allFields)
|
|
815
|
+
.filter((f) => "derived" in f && f.derived === "async")
|
|
816
|
+
.map((field) => entity[field.fieldName]));
|
|
817
|
+
await Promise.all(relations.map((r) => r.load()));
|
|
818
|
+
}
|
|
766
819
|
/**
|
|
767
820
|
* For the entities currently in `todos`, find any reactive validation rules that point
|
|
768
821
|
* from the currently-changed entities back to each rule's originally-defined-in entity,
|
|
769
822
|
* and ensure those entities are added to `todos`.
|
|
770
|
-
*
|
|
771
|
-
* Note that we don't check whether `entitiesToFlush` already the entities we're adding,
|
|
772
|
-
* because rules should be side effect free, so invoking them twice, if that does happen
|
|
773
|
-
* to occur, should be fine (and desirable given something about the entity has changed).
|
|
774
823
|
*/
|
|
775
|
-
async function
|
|
776
|
-
|
|
824
|
+
async function validateReactiveRules(todos) {
|
|
825
|
+
// Use a map of rule -> Set<Entity> so that we only invoke a rule once per entity,
|
|
826
|
+
// even if it was triggered by multiple changed fields.
|
|
827
|
+
const fns = new Map();
|
|
828
|
+
const p1 = Object.values(todos).flatMap((todo) => {
|
|
777
829
|
const entities = [...todo.inserts, ...todo.updates, ...todo.deletes];
|
|
778
830
|
// Find each statically-declared reactive rule for the given entity type
|
|
779
831
|
const rules = (0, index_1.getAllMetas)(todo.metadata).flatMap((m) => m.config.__data.reactiveRules);
|
|
@@ -783,53 +835,26 @@ async function addReactiveValidations(todos) {
|
|
|
783
835
|
e.isDeletedEntity ||
|
|
784
836
|
e.changes.fields.some((f) => rule.fields.includes(f)));
|
|
785
837
|
// From these "triggered" entities, queue the "found"/owner entity to rerun this rule
|
|
786
|
-
(await followReverseHint(triggered, rule.path))
|
|
838
|
+
(await (0, reactiveHints_1.followReverseHint)(triggered, rule.path))
|
|
787
839
|
.filter((entity) => !entity.isDeletedEntity)
|
|
788
840
|
.filter((e) => e instanceof rule.cstr)
|
|
789
841
|
.forEach((entity) => {
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
}
|
|
795
|
-
validates.get(entity).add(rule.fn);
|
|
796
|
-
});
|
|
797
|
-
});
|
|
798
|
-
});
|
|
799
|
-
await Promise.all(p);
|
|
800
|
-
}
|
|
801
|
-
/**
|
|
802
|
-
* Given the current changed entities in `todos`, use the static metadata of `reactiveDerivedValues`
|
|
803
|
-
* to find any potentially-unloaded entities we should now re-calc, and add them to `todos`.
|
|
804
|
-
*/
|
|
805
|
-
async function addReactiveAsyncDerivedValues(todos) {
|
|
806
|
-
const p = Object.values(todos).flatMap((todo) => {
|
|
807
|
-
const entities = [...todo.inserts, ...todo.updates, ...todo.deletes];
|
|
808
|
-
// Use getAllMetas to ensure we pick up subtype-only fields
|
|
809
|
-
const fields = (0, index_1.getAllMetas)(todo.metadata).flatMap((m) => m.config.__data.reactiveDerivedValues);
|
|
810
|
-
return fields.map(async (field) => {
|
|
811
|
-
// Of all changed entities of this type, how many specifically trigger this rule?
|
|
812
|
-
const triggered = entities.filter((e) => e.isNewEntity ||
|
|
813
|
-
e.isDeletedEntity ||
|
|
814
|
-
e.changes.fields.some((f) => field.fields.includes(f)));
|
|
815
|
-
(await followReverseHint(triggered, field.path))
|
|
816
|
-
.filter((entity) => !entity.isDeletedEntity)
|
|
817
|
-
.filter((e) => e instanceof field.cstr)
|
|
818
|
-
.forEach((entity) => {
|
|
819
|
-
const { asyncFields } = (0, Todo_1.getTodo)(todos, entity);
|
|
820
|
-
if (!asyncFields.has(entity)) {
|
|
821
|
-
asyncFields.set(entity, new Set());
|
|
842
|
+
let entities = fns.get(rule.fn);
|
|
843
|
+
if (!entities) {
|
|
844
|
+
entities = new Set();
|
|
845
|
+
fns.set(rule.fn, entities);
|
|
822
846
|
}
|
|
823
|
-
|
|
847
|
+
entities.add(entity);
|
|
824
848
|
});
|
|
825
849
|
});
|
|
826
850
|
});
|
|
827
|
-
await Promise.all(
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
851
|
+
await Promise.all(p1);
|
|
852
|
+
// Now that we've found the fn+entities to run, run them and collect any errors
|
|
853
|
+
const p2 = [...fns.entries()].flatMap(([fn, entities]) => [...entities].map(async (entity) => coerceError(entity, await fn(entity))));
|
|
854
|
+
const errors = (await Promise.all(p2)).flat();
|
|
855
|
+
if (errors.length > 0) {
|
|
856
|
+
throw new index_1.ValidationErrors(errors);
|
|
857
|
+
}
|
|
833
858
|
}
|
|
834
859
|
// Run *non-reactive* (those with `fields: undefined`) rules of explicitly mutated entities,
|
|
835
860
|
// because even for reactive validations on mutated entities, we defer to addReactiveValidations
|
|
@@ -850,20 +875,6 @@ async function validateSimpleRules(todos) {
|
|
|
850
875
|
throw new index_1.ValidationErrors(errors);
|
|
851
876
|
}
|
|
852
877
|
}
|
|
853
|
-
// Run rules against unchanged-but-reacting entities
|
|
854
|
-
async function validateReactiveRules(todos) {
|
|
855
|
-
const p = Object.values(todos).flatMap(({ validates }) => {
|
|
856
|
-
return [...validates.entries()]
|
|
857
|
-
.filter(([e]) => !e.isDeletedEntity)
|
|
858
|
-
.flatMap(([entity, fns]) => {
|
|
859
|
-
return [...fns.values()].flatMap(async (fn) => coerceError(entity, await fn(entity)));
|
|
860
|
-
});
|
|
861
|
-
});
|
|
862
|
-
const errors = (await Promise.all(p)).flat();
|
|
863
|
-
if (errors.length > 0) {
|
|
864
|
-
throw new index_1.ValidationErrors(errors);
|
|
865
|
-
}
|
|
866
|
-
}
|
|
867
878
|
function beforeTransaction(em, knex) {
|
|
868
879
|
return Promise.all(em["hooks"].beforeTransaction.map((fn) => fn(em, knex)));
|
|
869
880
|
}
|
|
@@ -923,7 +934,7 @@ function coerceError(entity, maybeError) {
|
|
|
923
934
|
}
|
|
924
935
|
}
|
|
925
936
|
/** Evaluates each (non-async) derived field to see if it's value has changed. */
|
|
926
|
-
function
|
|
937
|
+
function recalcSynchronousDerivedFields(todos) {
|
|
927
938
|
const entities = Object.values(todos)
|
|
928
939
|
.flatMap((todo) => [...todo.inserts, ...todo.updates])
|
|
929
940
|
.filter((e) => !e.isDeletedEntity);
|
|
@@ -943,57 +954,6 @@ function recalcDerivedFields(todos) {
|
|
|
943
954
|
});
|
|
944
955
|
}
|
|
945
956
|
}
|
|
946
|
-
/** Calcs async derived fields that have been triggered by a reactive hint. */
|
|
947
|
-
async function recalcAsyncDerivedFields(em, todos) {
|
|
948
|
-
const p = Object.values(todos).flatMap(({ asyncFields }) => {
|
|
949
|
-
return [...asyncFields.entries()]
|
|
950
|
-
.filter(([e]) => !e.isDeletedEntity)
|
|
951
|
-
.flatMap(([entity, fields]) => {
|
|
952
|
-
return [...fields.values()].map((fieldName) => entity[fieldName].load());
|
|
953
|
-
});
|
|
954
|
-
});
|
|
955
|
-
await Promise.all(p);
|
|
956
|
-
}
|
|
957
|
-
/**
|
|
958
|
-
* Walks `reverseHint` for every entity in `entities`.
|
|
959
|
-
*
|
|
960
|
-
* I.e. given `[book1, book2]` and `["author", 'publisher"]`, will return all of the books' authors' publishers.
|
|
961
|
-
*/
|
|
962
|
-
async function followReverseHint(entities, reverseHint) {
|
|
963
|
-
// Start at the current entities
|
|
964
|
-
let current = [...entities];
|
|
965
|
-
const paths = [...reverseHint];
|
|
966
|
-
// And "walk backwards" through the reverse hint
|
|
967
|
-
while (paths.length) {
|
|
968
|
-
const path = paths.shift();
|
|
969
|
-
const [fieldName, viaPolyType] = path.split("@");
|
|
970
|
-
// The path might touch either a reference or a collection
|
|
971
|
-
const entitiesOrLists = await Promise.all(current.flatMap((c) => {
|
|
972
|
-
async function maybeLoadedPoly(loadPromise) {
|
|
973
|
-
if (viaPolyType) {
|
|
974
|
-
const loaded = await loadPromise;
|
|
975
|
-
return loaded && loaded.__orm.metadata.type === viaPolyType ? loaded : undefined;
|
|
976
|
-
}
|
|
977
|
-
return loadPromise;
|
|
978
|
-
}
|
|
979
|
-
const currentValuePromise = maybeLoadedPoly(c[fieldName].load());
|
|
980
|
-
// If we're going from Book.author back to Author to re-validate the Author.books collection,
|
|
981
|
-
// see if Book.author has changed, so we can re-validate both the old author's books and the
|
|
982
|
-
// new author's books.
|
|
983
|
-
const fieldKind = (0, index_1.getMetadata)(c).fields[fieldName]?.kind;
|
|
984
|
-
const isReference = fieldKind === "m2o" || fieldKind === "poly";
|
|
985
|
-
const changed = c.changes[fieldName];
|
|
986
|
-
if (isReference && changed.hasUpdated && changed.originalValue) {
|
|
987
|
-
return [currentValuePromise, maybeLoadedPoly(changed.originalEntity)];
|
|
988
|
-
}
|
|
989
|
-
return [currentValuePromise];
|
|
990
|
-
}));
|
|
991
|
-
// Use flat() to get them all as entities
|
|
992
|
-
const entities = entitiesOrLists.flat().filter((e) => e !== undefined);
|
|
993
|
-
current = entities;
|
|
994
|
-
}
|
|
995
|
-
return current;
|
|
996
|
-
}
|
|
997
957
|
/** Recursively crawls through `entity`, with the given populate `deep` hint, and adds anything found to `found`. */
|
|
998
958
|
async function crawl(found, entities, deep, opts) {
|
|
999
959
|
const { skipIf = () => false } = opts ?? {};
|
|
@@ -1049,4 +1009,9 @@ exports.isDefined = isDefined;
|
|
|
1049
1009
|
function getEvenDeleted(relation) {
|
|
1050
1010
|
return "getWithDeleted" in relation ? relation.getWithDeleted : relation.get;
|
|
1051
1011
|
}
|
|
1012
|
+
function getCascadeDeleteRelations(entity) {
|
|
1013
|
+
return (0, index_1.getAllMetas)((0, index_1.getMetadata)(entity)).flatMap((meta) => {
|
|
1014
|
+
return meta.config.__data.cascadeDeleteFields.map((fieldName) => entity[fieldName]);
|
|
1015
|
+
});
|
|
1016
|
+
}
|
|
1052
1017
|
//# sourceMappingURL=EntityManager.js.map
|