joist-orm 1.10.10 → 1.12.1
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/Entity.d.ts +51 -0
- package/build/src/Entity.js +8 -0
- package/build/src/Entity.js.map +1 -0
- package/build/src/EntityManager.d.ts +3 -143
- package/build/src/EntityManager.js +16 -23
- package/build/src/EntityManager.js.map +1 -1
- package/build/src/EntityMetadata.d.ts +114 -0
- package/build/src/EntityMetadata.js +36 -0
- package/build/src/EntityMetadata.js.map +1 -0
- package/build/src/QueryBuilder.d.ts +3 -1
- package/build/src/QueryBuilder.js +9 -7
- package/build/src/QueryBuilder.js.map +1 -1
- package/build/src/Todo.d.ts +2 -1
- package/build/src/Todo.js +2 -3
- package/build/src/Todo.js.map +1 -1
- package/build/src/changes.d.ts +10 -1
- package/build/src/changes.js +2 -1
- package/build/src/changes.js.map +1 -1
- package/build/src/config.d.ts +3 -2
- package/build/src/config.js.map +1 -1
- package/build/src/createOrUpdatePartial.d.ts +2 -1
- package/build/src/createOrUpdatePartial.js +7 -5
- package/build/src/createOrUpdatePartial.js.map +1 -1
- package/build/src/dataloaders/findDataLoader.d.ts +2 -1
- package/build/src/dataloaders/findDataLoader.js +2 -2
- package/build/src/dataloaders/findDataLoader.js.map +1 -1
- package/build/src/dataloaders/loadDataLoader.d.ts +3 -1
- package/build/src/dataloaders/loadDataLoader.js.map +1 -1
- package/build/src/dataloaders/manyToManyDataLoader.d.ts +2 -1
- package/build/src/dataloaders/manyToManyDataLoader.js.map +1 -1
- package/build/src/dataloaders/manyToManyFindDataLoader.d.ts +2 -1
- package/build/src/dataloaders/manyToManyFindDataLoader.js.map +1 -1
- package/build/src/dataloaders/oneToManyDataLoader.d.ts +2 -1
- package/build/src/dataloaders/oneToManyDataLoader.js.map +1 -1
- package/build/src/dataloaders/oneToManyFindDataLoader.d.ts +2 -1
- package/build/src/dataloaders/oneToManyFindDataLoader.js.map +1 -1
- package/build/src/dataloaders/oneToOneDataLoader.d.ts +2 -1
- package/build/src/dataloaders/oneToOneDataLoader.js +2 -2
- package/build/src/dataloaders/oneToOneDataLoader.js.map +1 -1
- package/build/src/drivers/InMemoryDriver.d.ts +3 -1
- package/build/src/drivers/InMemoryDriver.js +3 -2
- package/build/src/drivers/InMemoryDriver.js.map +1 -1
- package/build/src/drivers/driver.d.ts +3 -1
- package/build/src/getProperties.d.ts +2 -1
- package/build/src/getProperties.js.map +1 -1
- package/build/src/index.d.ts +6 -9
- package/build/src/index.js +12 -34
- package/build/src/index.js.map +1 -1
- package/build/src/keys.d.ts +2 -1
- package/build/src/keys.js +3 -3
- package/build/src/keys.js.map +1 -1
- package/build/src/loaded.d.ts +2 -1
- package/build/src/loaded.js.map +1 -1
- package/build/src/newTestInstance.d.ts +2 -1
- package/build/src/newTestInstance.js +8 -7
- package/build/src/newTestInstance.js.map +1 -1
- package/build/src/relations/Collection.d.ts +2 -1
- package/build/src/relations/Collection.js.map +1 -1
- package/build/src/relations/CustomCollection.d.ts +2 -1
- package/build/src/relations/CustomCollection.js.map +1 -1
- package/build/src/relations/CustomReference.d.ts +2 -1
- package/build/src/relations/CustomReference.js.map +1 -1
- package/build/src/relations/LargeCollection.d.ts +2 -1
- package/build/src/relations/ManyToManyLargeCollection.d.ts +3 -1
- package/build/src/relations/ManyToManyLargeCollection.js.map +1 -1
- package/build/src/relations/ManyToOneReference.d.ts +3 -1
- package/build/src/relations/ManyToOneReference.js +3 -2
- package/build/src/relations/ManyToOneReference.js.map +1 -1
- package/build/src/relations/OneToManyLargeCollection.d.ts +3 -1
- package/build/src/relations/OneToManyLargeCollection.js.map +1 -1
- package/build/src/relations/OneToOneReference.d.ts +2 -1
- package/build/src/relations/OneToOneReference.js +2 -2
- package/build/src/relations/OneToOneReference.js.map +1 -1
- package/build/src/relations/PolymorphicReference.d.ts +2 -1
- package/build/src/relations/PolymorphicReference.js +6 -4
- package/build/src/relations/PolymorphicReference.js.map +1 -1
- package/build/src/relations/Reference.d.ts +2 -1
- package/build/src/relations/Reference.js.map +1 -1
- package/build/src/relations/Relation.d.ts +1 -1
- package/build/src/relations/hasAsyncProperty.d.ts +1 -1
- 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 +1 -1
- package/build/src/reverseHint.d.ts +2 -1
- package/build/src/reverseHint.js +3 -3
- package/build/src/reverseHint.js.map +1 -1
- package/build/src/rules.d.ts +15 -3
- package/build/src/rules.js +31 -3
- package/build/src/rules.js.map +1 -1
- package/build/src/serde.d.ts +1 -1
- package/build/src/utils.d.ts +16 -2
- package/build/src/utils.js +17 -1
- package/build/src/utils.js.map +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
var _a, _b, _c;
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
exports.ManyToOneReferenceImpl = exports.isManyToOneReference = exports.hasOne = void 0;
|
|
5
|
+
const Entity_1 = require("../Entity");
|
|
5
6
|
const EntityManager_1 = require("../EntityManager");
|
|
6
7
|
const index_1 = require("../index");
|
|
7
8
|
const AbstractRelationImpl_1 = require("./AbstractRelationImpl");
|
|
@@ -51,7 +52,7 @@ class ManyToOneReferenceImpl extends AbstractRelationImpl_1.AbstractRelationImpl
|
|
|
51
52
|
}
|
|
52
53
|
const current = this.current();
|
|
53
54
|
// Resolve the id to an entity
|
|
54
|
-
if (!(0,
|
|
55
|
+
if (!(0, Entity_1.isEntity)(current) && current !== undefined) {
|
|
55
56
|
this.loaded = (await this.entity.em.load(this.otherMeta.cstr, current));
|
|
56
57
|
}
|
|
57
58
|
else {
|
|
@@ -197,7 +198,7 @@ class ManyToOneReferenceImpl extends AbstractRelationImpl_1.AbstractRelationImpl
|
|
|
197
198
|
// We need to keep U in data[fieldName] to handle entities without an id assigned yet.
|
|
198
199
|
current(opts) {
|
|
199
200
|
const current = this.entity.__orm.data[this.fieldName];
|
|
200
|
-
if (current !== undefined && (0,
|
|
201
|
+
if (current !== undefined && (0, Entity_1.isEntity)(current)) {
|
|
201
202
|
return this.filterDeleted(current, opts);
|
|
202
203
|
}
|
|
203
204
|
return current;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ManyToOneReference.js","sourceRoot":"","sources":["../../../src/relations/ManyToOneReference.ts"],"names":[],"mappings":";;;;AAAA,
|
|
1
|
+
{"version":3,"file":"ManyToOneReference.js","sourceRoot":"","sources":["../../../src/relations/ManyToOneReference.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import { Entity
|
|
1
|
+
import { Entity } from "../Entity";
|
|
2
|
+
import { IdOf } from "../EntityManager";
|
|
3
|
+
import { EntityMetadata } from "../EntityMetadata";
|
|
2
4
|
import { LargeCollection } from "./LargeCollection";
|
|
3
5
|
import { RelationT, RelationU } from "./Relation";
|
|
4
6
|
/** An alias for creating `OneToManyLargeCollection`s. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OneToManyLargeCollection.js","sourceRoot":"","sources":["../../../src/relations/OneToManyLargeCollection.ts"],"names":[],"mappings":";;;;AAAA,oFAAiF;
|
|
1
|
+
{"version":3,"file":"OneToManyLargeCollection.js","sourceRoot":"","sources":["../../../src/relations/OneToManyLargeCollection.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { IdOf, LoadedReference } from "../";
|
|
2
|
-
import { Entity
|
|
2
|
+
import { Entity } from "../Entity";
|
|
3
|
+
import { EntityMetadata } from "../EntityMetadata";
|
|
3
4
|
import { AbstractRelationImpl } from "./AbstractRelationImpl";
|
|
4
5
|
import { Reference, ReferenceN } from "./Reference";
|
|
5
6
|
import { RelationT, RelationU } from "./Relation";
|
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
4
4
|
exports.OneToOneReferenceImpl = exports.hasOneToOne = exports.isLoadedOneToOneReference = exports.isOneToOneReference = void 0;
|
|
5
5
|
const __1 = require("../");
|
|
6
6
|
const oneToOneDataLoader_1 = require("../dataloaders/oneToOneDataLoader");
|
|
7
|
-
const
|
|
7
|
+
const EntityMetadata_1 = require("../EntityMetadata");
|
|
8
8
|
const AbstractRelationImpl_1 = require("./AbstractRelationImpl");
|
|
9
9
|
const Reference_1 = require("./Reference");
|
|
10
10
|
const Relation_1 = require("./Relation");
|
|
@@ -57,7 +57,7 @@ class OneToOneReferenceImpl extends AbstractRelationImpl_1.AbstractRelationImpl
|
|
|
57
57
|
this[_b] = null;
|
|
58
58
|
this[_c] = null;
|
|
59
59
|
this[_d] = null;
|
|
60
|
-
this.isCascadeDelete = (0,
|
|
60
|
+
this.isCascadeDelete = (0, EntityMetadata_1.getMetadata)(entity).config.__data.cascadeDeleteFields.includes(fieldName);
|
|
61
61
|
}
|
|
62
62
|
get id() {
|
|
63
63
|
if (this._isLoaded) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OneToOneReference.js","sourceRoot":"","sources":["../../../src/relations/OneToOneReference.ts"],"names":[],"mappings":";;;;AAAA,2BAAsH;AACtH,0EAAuE;
|
|
1
|
+
{"version":3,"file":"OneToOneReference.js","sourceRoot":"","sources":["../../../src/relations/OneToOneReference.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { Entity
|
|
1
|
+
import { Entity } from "../Entity";
|
|
2
|
+
import { IdOf } from "../EntityManager";
|
|
2
3
|
import { Reference } from "../index";
|
|
3
4
|
import { AbstractRelationImpl } from "./AbstractRelationImpl";
|
|
4
5
|
import { ReferenceN } from "./Reference";
|
|
@@ -2,7 +2,9 @@
|
|
|
2
2
|
var _a, _b, _c;
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
exports.PolymorphicReferenceImpl = exports.isPolymorphicReference = exports.hasOnePolymorphic = void 0;
|
|
5
|
+
const Entity_1 = require("../Entity");
|
|
5
6
|
const EntityManager_1 = require("../EntityManager");
|
|
7
|
+
const EntityMetadata_1 = require("../EntityMetadata");
|
|
6
8
|
const index_1 = require("../index");
|
|
7
9
|
const AbstractRelationImpl_1 = require("./AbstractRelationImpl");
|
|
8
10
|
const OneToManyCollection_1 = require("./OneToManyCollection");
|
|
@@ -39,7 +41,7 @@ class PolymorphicReferenceImpl extends AbstractRelationImpl_1.AbstractRelationIm
|
|
|
39
41
|
this[_a] = null;
|
|
40
42
|
this[_b] = null;
|
|
41
43
|
this[_c] = null;
|
|
42
|
-
this.field = (0,
|
|
44
|
+
this.field = (0, EntityMetadata_1.getMetadata)(entity).fields[this.fieldName];
|
|
43
45
|
}
|
|
44
46
|
get currentComponent() {
|
|
45
47
|
const cstr = (0, index_1.maybeGetConstructorFromReference)(this.current());
|
|
@@ -52,7 +54,7 @@ class PolymorphicReferenceImpl extends AbstractRelationImpl_1.AbstractRelationIm
|
|
|
52
54
|
(0, index_1.ensureNotDeleted)(this.entity, { ignore: "pending" });
|
|
53
55
|
const current = this.current();
|
|
54
56
|
// Resolve the id to an entity
|
|
55
|
-
if (!(0,
|
|
57
|
+
if (!(0, Entity_1.isEntity)(current) && current !== undefined && (!this._isLoaded || opts.forceReload)) {
|
|
56
58
|
this.loaded = (await this.entity.em.load((0, index_1.getConstructorFromTaggedId)(current), current));
|
|
57
59
|
}
|
|
58
60
|
this._isLoaded = true;
|
|
@@ -96,7 +98,7 @@ class PolymorphicReferenceImpl extends AbstractRelationImpl_1.AbstractRelationIm
|
|
|
96
98
|
return this.id || (0, index_1.fail)("Reference is unset or assigned to a new entity");
|
|
97
99
|
}
|
|
98
100
|
get idUntagged() {
|
|
99
|
-
return this.id && (0, index_1.deTagId)((0,
|
|
101
|
+
return this.id && (0, index_1.deTagId)((0, EntityMetadata_1.getMetadata)((0, index_1.getConstructorFromTaggedId)(this.id)), this.id);
|
|
100
102
|
}
|
|
101
103
|
get idUntaggedOrFail() {
|
|
102
104
|
return this.idUntagged || (0, index_1.fail)("Reference is unset or assigned to a new entity");
|
|
@@ -173,7 +175,7 @@ class PolymorphicReferenceImpl extends AbstractRelationImpl_1.AbstractRelationIm
|
|
|
173
175
|
// We need to keep U in data[fieldName] to handle entities without an id assigned yet.
|
|
174
176
|
current(opts) {
|
|
175
177
|
const current = this.entity.__orm.data[this.fieldName ?? ""];
|
|
176
|
-
if (current !== undefined && (0,
|
|
178
|
+
if (current !== undefined && (0, Entity_1.isEntity)(current)) {
|
|
177
179
|
return this.filterDeleted(current, opts);
|
|
178
180
|
}
|
|
179
181
|
return current;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PolymorphicReference.js","sourceRoot":"","sources":["../../../src/relations/PolymorphicReference.ts"],"names":[],"mappings":";;;;AAAA,
|
|
1
|
+
{"version":3,"file":"PolymorphicReference.js","sourceRoot":"","sources":["../../../src/relations/PolymorphicReference.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Reference.js","sourceRoot":"","sources":["../../../src/relations/Reference.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"Reference.js","sourceRoot":"","sources":["../../../src/relations/Reference.ts"],"names":[],"mappings":";;;AAEA,uDAAoD;AACpD,6DAA8D;AAC9D,2DAA4D;AAC5D,iEAAkE;AAGlE,4FAA4F;AAC/E,QAAA,UAAU,GAAG,MAAM,EAAE,CAAC;AAqCnC,4EAA4E;AAC5E,SAAgB,WAAW,CAAC,cAAmB;IAC7C,OAAO,CACL,cAAc,YAAY,yCAAqB;QAC/C,cAAc,YAAY,2CAAsB;QAChD,cAAc,YAAY,iCAAe;QACzC,cAAc,YAAY,+CAAwB,CACnD,CAAC;AACJ,CAAC;AAPD,kCAOC;AAED,mFAAmF;AACnF,SAAgB,iBAAiB,CAC/B,cAAmB;IAEnB,OAAO,WAAW,CAAC,cAAc,CAAC,IAAI,cAAc,CAAC,QAAQ,CAAC;AAChE,CAAC;AAJD,8CAIC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Entity } from "../
|
|
1
|
+
import { Entity } from "../Entity";
|
|
2
2
|
export declare const RelationT: unique symbol;
|
|
3
3
|
export declare const RelationU: unique symbol;
|
|
4
4
|
/** A relationship from `T` to `U`, could be any of many-to-one, one-to-many, or many-to-many. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hasAsyncProperty.js","sourceRoot":"","sources":["../../../src/relations/hasAsyncProperty.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"hasAsyncProperty.js","sourceRoot":"","sources":["../../../src/relations/hasAsyncProperty.ts"],"names":[],"mappings":";;;AACA,oDAAgE;AAGhE,MAAM,CAAC,GAAG,MAAM,EAAE,CAAC;AAYnB;;;;;;;GAOG;AACH,SAAgB,gBAAgB,CAC9B,QAAW,EACX,EAA+B;IAE/B,MAAM,MAAM,GAAG,4CAAiC,CAAC;IACjD,OAAO,IAAI,iBAAiB,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;AACrD,CAAC;AAND,4CAMC;AAED,MAAa,iBAAiB;IAG5B,YAAoB,MAAS,EAAU,QAAW,EAAU,EAA+B;QAAvE,WAAM,GAAN,MAAM,CAAG;QAAU,aAAQ,GAAR,QAAQ,CAAG;QAAU,OAAE,GAAF,EAAE,CAA6B;QAFnF,WAAM,GAAG,KAAK,CAAC;IAEuE,CAAC;IAE/F,IAAI;QACF,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC;QACtC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB,OAAO,CAAC,IAAI,CAAC,WAAW,KAAhB,IAAI,CAAC,WAAW,GAAK,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;gBAChF,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;gBACnB,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;YACpB,CAAC,CAAC,EAAC,CAAC;SACL;QACD,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,GAAG;QACL,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC;QAC5B,OAAO,EAAE,CAAC,MAAsB,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;CACF;AAxBD,8CAwBC;AAED,iFAAiF;AACjF,SAAgB,eAAe,CAAC,kBAAuB;IACrD,OAAO,kBAAkB,YAAY,iBAAiB,CAAC;AACzD,CAAC;AAFD,0CAEC;AAED,uFAAuF;AACvF,SAAgB,qBAAqB,CACnC,kBAAuB;IAEvB,OAAO,eAAe,CAAC,kBAAkB,CAAC,IAAI,kBAAkB,CAAC,QAAQ,CAAC;AAC5E,CAAC;AAJD,sDAIC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Collection } from "../";
|
|
2
|
-
import { Entity } from "../
|
|
2
|
+
import { Entity } from "../Entity";
|
|
3
3
|
import { Loaded, LoadHint } from "../loaded";
|
|
4
4
|
declare type HasManyDerivedOpts<T extends Entity, U extends Entity, H extends LoadHint<T>> = {
|
|
5
5
|
load?: (entity: T, opts: {
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { Entity
|
|
1
|
+
import { Entity } from "./Entity";
|
|
2
|
+
import { EntityConstructor } from "./EntityManager";
|
|
2
3
|
import { LoadHint } from "./loaded";
|
|
3
4
|
/**
|
|
4
5
|
* Given a load hint of "given an entity, load these N things", return an array
|
package/build/src/reverseHint.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.reverseHint = void 0;
|
|
4
|
-
const
|
|
4
|
+
const EntityMetadata_1 = require("./EntityMetadata");
|
|
5
5
|
const utils_1 = require("./utils");
|
|
6
6
|
/**
|
|
7
7
|
* Given a load hint of "given an entity, load these N things", return an array
|
|
@@ -12,7 +12,7 @@ function reverseHint(entityType, hint) {
|
|
|
12
12
|
if (typeof hint === "string") {
|
|
13
13
|
// For a simple string hint, i.e. Book "author", find the Book.author field,
|
|
14
14
|
// and use the metdata to find the otherFieldName, i.e. Author "books"
|
|
15
|
-
const meta = (0,
|
|
15
|
+
const meta = (0, EntityMetadata_1.getMetadata)(entityType);
|
|
16
16
|
const field = meta.fields[hint] || (0, utils_1.fail)(`Invalid hint ${entityType.name} ${JSON.stringify(hint)}`);
|
|
17
17
|
if (field.kind !== "m2m" && field.kind !== "m2o" && field.kind !== "o2m" && field.kind !== "o2o") {
|
|
18
18
|
throw new Error("Invalid hint");
|
|
@@ -30,7 +30,7 @@ function reverseHint(entityType, hint) {
|
|
|
30
30
|
// For a hash of hints, i.e. Author { books: reviews }, recurse for each
|
|
31
31
|
// key in the hash, and then combine
|
|
32
32
|
return Object.entries(hint).flatMap(([key, hint]) => {
|
|
33
|
-
const meta = (0,
|
|
33
|
+
const meta = (0, EntityMetadata_1.getMetadata)(entityType);
|
|
34
34
|
const field = meta.fields[key] || (0, utils_1.fail)(`Invalid hint ${entityType.name} ${JSON.stringify(hint)}`);
|
|
35
35
|
if (field.kind !== "m2m" && field.kind !== "m2o" && field.kind !== "o2m" && field.kind !== "o2o") {
|
|
36
36
|
throw new Error("Invalid hint");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reverseHint.js","sourceRoot":"","sources":["../../src/reverseHint.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"reverseHint.js","sourceRoot":"","sources":["../../src/reverseHint.ts"],"names":[],"mappings":";;;AAEA,qDAA+C;AAE/C,mCAA+B;AAE/B;;;;GAIG;AACH,SAAgB,WAAW,CACzB,UAAgC,EAChC,IAAiB;IAEjB,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;QAC5B,4EAA4E;QAC5E,sEAAsE;QACtE,MAAM,IAAI,GAAG,IAAA,4BAAW,EAAC,UAAU,CAAC,CAAC;QACrC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,IAAA,YAAI,EAAC,gBAAgB,UAAU,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnG,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE;YAChG,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;SACjC;QACD,MAAM,SAAS,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC;QACxC,OAAO,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;KACnD;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QAC9B,uEAAuE;QACvE,uEAAuE;QACvE,wBAAwB;QACxB,OAAQ,IAAiB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,UAAU,EAAE,IAAW,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;KACtF;SAAM;QACL,wEAAwE;QACxE,oCAAoC;QACpC,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE;YAClD,MAAM,IAAI,GAAG,IAAA,4BAAW,EAAC,UAAU,CAAC,CAAC;YACrC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,IAAA,YAAI,EAAC,gBAAgB,UAAU,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAClG,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE;gBAChG,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;aACjC;YACD,MAAM,SAAS,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC;YACxC,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,CAAuC,CAAC;YAC1F,OAAO;gBACL,EAAE;gBACF,GAAG,WAAW,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE;oBACrD,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,cAAc,CAAC,CAAuC,CAAC;gBACpF,CAAC,CAAC;aACH,CAAC;QACJ,CAAC,CAAC,CAAC;KACJ;AACH,CAAC;AAtCD,kCAsCC"}
|
package/build/src/rules.d.ts
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Changes, EntityChanges } from "./changes";
|
|
2
|
+
import { Entity } from "./Entity";
|
|
3
|
+
import { MaybePromise } from "./utils";
|
|
2
4
|
/**
|
|
3
|
-
*
|
|
5
|
+
* The return type of `ValidationRule`.
|
|
4
6
|
*
|
|
5
7
|
* Consumers can extend `GenericError` to add fields relevant for their application.
|
|
6
8
|
*/
|
|
7
9
|
export declare type ValidationRuleResult<E extends GenericError> = string | E | E[] | undefined;
|
|
8
10
|
/** Entity validation errors; if `entity` is invalid, throw a `ValidationError`. */
|
|
9
11
|
export declare type ValidationRule<T extends Entity> = (entity: T) => MaybePromise<ValidationRuleResult<any>>;
|
|
10
|
-
export declare type MaybePromise<T> = T | PromiseLike<T>;
|
|
11
12
|
/** A generic error which contains only a message field */
|
|
12
13
|
export declare type GenericError = {
|
|
13
14
|
message: string;
|
|
@@ -20,4 +21,15 @@ export declare class ValidationErrors extends Error {
|
|
|
20
21
|
errors: ValidationError[];
|
|
21
22
|
constructor(errors: ValidationError[]);
|
|
22
23
|
}
|
|
24
|
+
/**
|
|
25
|
+
* Creates a validation rule for required fields.
|
|
26
|
+
*
|
|
27
|
+
* This is added automatically by codegen to entities based on FK not-nulls.
|
|
28
|
+
*/
|
|
23
29
|
export declare function newRequiredRule<T extends Entity>(key: keyof T & string): ValidationRule<T>;
|
|
30
|
+
/**
|
|
31
|
+
* Creates a validation rule that a field cannot be updated; it can only be set on creation.
|
|
32
|
+
*
|
|
33
|
+
* If the optional `unless` function returns true, then the update is allowed.
|
|
34
|
+
*/
|
|
35
|
+
export declare function cannotBeUpdated<T extends Entity & EntityChanges<T>, K extends keyof Changes<T> & string>(field: K, unless?: (entity: T) => MaybePromise<boolean>): ValidationRule<T>;
|
package/build/src/rules.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.newRequiredRule = exports.ValidationErrors = void 0;
|
|
3
|
+
exports.cannotBeUpdated = exports.newRequiredRule = exports.ValidationErrors = void 0;
|
|
4
|
+
const utils_1 = require("./utils");
|
|
4
5
|
class ValidationErrors extends Error {
|
|
5
6
|
constructor(errors) {
|
|
6
7
|
super(errorMessage(errors));
|
|
@@ -8,16 +9,43 @@ class ValidationErrors extends Error {
|
|
|
8
9
|
}
|
|
9
10
|
}
|
|
10
11
|
exports.ValidationErrors = ValidationErrors;
|
|
12
|
+
/**
|
|
13
|
+
* Creates a validation rule for required fields.
|
|
14
|
+
*
|
|
15
|
+
* This is added automatically by codegen to entities based on FK not-nulls.
|
|
16
|
+
*/
|
|
11
17
|
function newRequiredRule(key) {
|
|
12
18
|
return (entity) => (entity.__orm.data[key] === undefined ? `${key} is required` : undefined);
|
|
13
19
|
}
|
|
14
20
|
exports.newRequiredRule = newRequiredRule;
|
|
21
|
+
/**
|
|
22
|
+
* Creates a validation rule that a field cannot be updated; it can only be set on creation.
|
|
23
|
+
*
|
|
24
|
+
* If the optional `unless` function returns true, then the update is allowed.
|
|
25
|
+
*/
|
|
26
|
+
function cannotBeUpdated(field, unless) {
|
|
27
|
+
return async (entity) => {
|
|
28
|
+
if (entity.changes[field].hasUpdated) {
|
|
29
|
+
return (0, utils_1.maybePromiseThen)(unless ? unless(entity) : false, (result) => {
|
|
30
|
+
if (!result) {
|
|
31
|
+
return `${field} cannot be updated`;
|
|
32
|
+
}
|
|
33
|
+
return undefined;
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
return undefined;
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
exports.cannotBeUpdated = cannotBeUpdated;
|
|
15
40
|
function errorMessage(errors) {
|
|
16
41
|
if (errors.length === 1) {
|
|
17
|
-
return `Validation error: ${errors[0].message}`;
|
|
42
|
+
return `Validation error: ${errors[0].entity.toString()} ${errors[0].message}`;
|
|
18
43
|
}
|
|
19
44
|
else {
|
|
20
|
-
|
|
45
|
+
const message = [...(0, utils_1.groupBy)(errors, (e) => e.entity.toString()).entries()]
|
|
46
|
+
.map(([entityToString, errors]) => `${entityToString} ${errors.map((e) => e.message).join(", ")}`)
|
|
47
|
+
.join(", ");
|
|
48
|
+
return `Validation errors (${errors.length}): ${message}`;
|
|
21
49
|
}
|
|
22
50
|
}
|
|
23
51
|
//# sourceMappingURL=rules.js.map
|
package/build/src/rules.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rules.js","sourceRoot":"","sources":["../../src/rules.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"rules.js","sourceRoot":"","sources":["../../src/rules.ts"],"names":[],"mappings":";;;AAEA,mCAAkE;AAkBlE,MAAa,gBAAiB,SAAQ,KAAK;IACzC,YAAmB,MAAyB;QAC1C,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;QADX,WAAM,GAAN,MAAM,CAAmB;IAE5C,CAAC;CACF;AAJD,4CAIC;AAED;;;;GAIG;AACH,SAAgB,eAAe,CAAmB,GAAqB;IACrE,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AAC/F,CAAC;AAFD,0CAEC;AAED;;;;GAIG;AACH,SAAgB,eAAe,CAC7B,KAAQ,EACR,MAA6C;IAE7C,OAAO,KAAK,EAAE,MAAM,EAAE,EAAE;QACtB,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE;YACpC,OAAO,IAAA,wBAAgB,EAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,EAAE;gBAClE,IAAI,CAAC,MAAM,EAAE;oBACX,OAAO,GAAG,KAAK,oBAAoB,CAAC;iBACrC;gBACD,OAAO,SAAS,CAAC;YACnB,CAAC,CAAC,CAAC;SACJ;QACD,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC;AACJ,CAAC;AAfD,0CAeC;AAED,SAAS,YAAY,CAAC,MAAyB;IAC7C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;QACvB,OAAO,qBAAqB,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;KAChF;SAAM;QACL,MAAM,OAAO,GAAG,CAAC,GAAG,IAAA,eAAO,EAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;aACvE,GAAG,CAAC,CAAC,CAAC,cAAc,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,GAAG,cAAc,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;aACjG,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,OAAO,sBAAsB,MAAM,CAAC,MAAM,MAAM,OAAO,EAAE,CAAC;KAC3D;AACH,CAAC"}
|
package/build/src/serde.d.ts
CHANGED
package/build/src/utils.d.ts
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
|
-
import { Entity } from "
|
|
2
|
-
import { New } from "
|
|
1
|
+
import { Entity } from "./Entity";
|
|
2
|
+
import { New } from "./loaded";
|
|
3
|
+
export declare type MaybePromise<T> = T | Promise<T>;
|
|
4
|
+
/**
|
|
5
|
+
* Given a `MaybePromise` of T, invoke `callback` against `T` either immediately or via `then`.
|
|
6
|
+
*
|
|
7
|
+
* This is the same as:
|
|
8
|
+
*
|
|
9
|
+
* ```
|
|
10
|
+
* const r = await maybePromise;
|
|
11
|
+
* return callback(r;;
|
|
12
|
+
* ```
|
|
13
|
+
*
|
|
14
|
+
* But saves an `await` if `maybePromise` is not actually a promise.
|
|
15
|
+
*/
|
|
16
|
+
export declare function maybePromiseThen<T, U>(promiseOrObj: MaybePromise<T>, callback: (obj: T) => U): MaybePromise<U>;
|
|
3
17
|
export declare function getOrSet<T extends Record<keyof unknown, unknown>>(record: T, key: keyof T, defaultValue: T[keyof T] | (() => T[keyof T])): T[keyof T];
|
|
4
18
|
export declare function fail(message?: string): never;
|
|
5
19
|
export declare function remove<T>(array: T[], t: T): void;
|
package/build/src/utils.js
CHANGED
|
@@ -1,6 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.asNew = exports.assertNever = exports.toArray = exports.partition = exports.indexBy = exports.groupBy = exports.zeroTo = exports.remove = exports.fail = exports.getOrSet = void 0;
|
|
3
|
+
exports.asNew = exports.assertNever = exports.toArray = exports.partition = exports.indexBy = exports.groupBy = exports.zeroTo = exports.remove = exports.fail = exports.getOrSet = exports.maybePromiseThen = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Given a `MaybePromise` of T, invoke `callback` against `T` either immediately or via `then`.
|
|
6
|
+
*
|
|
7
|
+
* This is the same as:
|
|
8
|
+
*
|
|
9
|
+
* ```
|
|
10
|
+
* const r = await maybePromise;
|
|
11
|
+
* return callback(r;;
|
|
12
|
+
* ```
|
|
13
|
+
*
|
|
14
|
+
* But saves an `await` if `maybePromise` is not actually a promise.
|
|
15
|
+
*/
|
|
16
|
+
function maybePromiseThen(promiseOrObj, callback) {
|
|
17
|
+
return promiseOrObj instanceof Promise ? promiseOrObj.then(callback) : callback(promiseOrObj);
|
|
18
|
+
}
|
|
19
|
+
exports.maybePromiseThen = maybePromiseThen;
|
|
4
20
|
function getOrSet(record, key, defaultValue) {
|
|
5
21
|
if (record[key] === undefined) {
|
|
6
22
|
record[key] = defaultValue instanceof Function ? defaultValue() : defaultValue;
|
package/build/src/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":";;;AAKA;;;;;;;;;;;GAWG;AACH,SAAgB,gBAAgB,CAAO,YAA6B,EAAE,QAAuB;IAC3F,OAAO,YAAY,YAAY,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;AAChG,CAAC;AAFD,4CAEC;AAED,SAAgB,QAAQ,CACtB,MAAS,EACT,GAAY,EACZ,YAA6C;IAE7C,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE;QAC7B,MAAM,CAAC,GAAG,CAAC,GAAG,YAAY,YAAY,QAAQ,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC;KAChF;IACD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;AACrB,CAAC;AATD,4BASC;AAED,SAAgB,IAAI,CAAC,OAAgB;IACnC,MAAM,IAAI,KAAK,CAAC,OAAO,IAAI,QAAQ,CAAC,CAAC;AACvC,CAAC;AAFD,oBAEC;AAED,SAAgB,MAAM,CAAI,KAAU,EAAE,CAAI;IACxC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC/B,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;QACd,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;KACxB;AACH,CAAC;AALD,wBAKC;AAED,0CAA0C;AAC1C,SAAgB,MAAM,CAAC,CAAS;IAC9B,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;AAC9B,CAAC;AAFD,wBAEC;AAED,SAAgB,OAAO,CAAW,IAAS,EAAE,EAAoB,EAAE,OAAqB;IACtF,MAAM,MAAM,GAAG,IAAI,GAAG,EAAe,CAAC;IACtC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACjB,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YACtB,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;SACvB;QACD,MAAM,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAE,CAAc,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAChF,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC;AAVD,0BAUC;AAED,SAAgB,OAAO,CAAW,IAAS,EAAE,EAAoB,EAAE,OAAqB;IACtF,MAAM,MAAM,GAAG,IAAI,GAAG,EAAa,CAAC;IACpC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACjB,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;QACpB,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAE,CAAc,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC;AAPD,0BAOC;AAED,SAAgB,SAAS,CAAI,KAAuB,EAAE,CAAqB;IACzE,MAAM,YAAY,GAAQ,EAAE,CAAC;IAC7B,MAAM,aAAa,GAAQ,EAAE,CAAC;IAC9B,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;QACnB,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE;YACT,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SACvB;aAAM;YACL,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SACxB;IACH,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;AACvC,CAAC;AAXD,8BAWC;AAED,wFAAwF;AACxF,SAAgB,OAAO,CAAI,UAAmB;IAC5C,OAAO,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;AAC/D,CAAC;AAFD,0BAEC;AAKD,SAAgB,WAAW,CAAC,CAAQ;IAClC,MAAM,IAAI,KAAK,CAAC,qBAAqB,GAAG,CAAC,CAAC,CAAC;AAC7C,CAAC;AAFD,kCAEC;AAED;;;;;;;;GAQG;AACH,SAAgB,KAAK,CAAmB,MAAS;IAC/C,OAAO,MAAgB,CAAC;AAC1B,CAAC;AAFD,sBAEC"}
|