@uql/core 0.4.82 → 0.4.83
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/README.md +11 -11
- package/entity/decorator/definition.js +18 -18
- package/entity/decorator/definition.spec.js +35 -47
- package/package.json +4 -4
- package/querier/abstractSqlQuerier-spec.js +12 -14
- package/test/entityMock.js +3 -3
- package/type/entity.d.ts +12 -17
- package/type/entity.js +1 -1
- package/type/utility.d.ts +1 -1
- package/type/utility.js +1 -1
package/type/entity.d.ts
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { QueryRaw } from './query';
|
|
2
2
|
import { Scalar, Type } from './utility';
|
|
3
3
|
export declare const idKey: unique symbol;
|
|
4
|
-
export declare type Key<E> =
|
|
5
|
-
readonly [K in keyof E]?: K & string;
|
|
6
|
-
}[keyof E & string];
|
|
4
|
+
export declare type Key<E> = keyof E & string;
|
|
7
5
|
export declare type FieldKey<E> = {
|
|
8
|
-
readonly [K in
|
|
6
|
+
readonly [K in keyof E]: E[K] extends Scalar ? K : never;
|
|
7
|
+
}[Key<E>];
|
|
8
|
+
export declare type RelationKey<E> = {
|
|
9
|
+
readonly [K in keyof E]: E[K] extends Scalar ? never : K;
|
|
9
10
|
}[Key<E>];
|
|
10
11
|
export declare type FieldValue<E> = E[FieldKey<E>];
|
|
11
12
|
export declare type IdKey<E> = E extends {
|
|
@@ -16,9 +17,6 @@ export declare type IdKey<E> = E extends {
|
|
|
16
17
|
id?: unknown;
|
|
17
18
|
} ? 'id' & FieldKey<E> : FieldKey<E>;
|
|
18
19
|
export declare type IdValue<E> = E[IdKey<E>];
|
|
19
|
-
export declare type RelationKey<E> = {
|
|
20
|
-
readonly [K in Key<E>]?: E[K] extends Scalar ? never : K;
|
|
21
|
-
}[Key<E>];
|
|
22
20
|
export declare type RelationValue<E> = E[RelationKey<E>];
|
|
23
21
|
export declare type EntityOptions = {
|
|
24
22
|
readonly name?: string;
|
|
@@ -28,7 +26,7 @@ export declare type FieldOptions = {
|
|
|
28
26
|
readonly name?: string;
|
|
29
27
|
readonly isId?: true;
|
|
30
28
|
readonly type?: any;
|
|
31
|
-
readonly reference?: EntityGetter
|
|
29
|
+
readonly reference?: EntityGetter;
|
|
32
30
|
readonly virtual?: QueryRaw;
|
|
33
31
|
readonly onInsert?: OnFieldCallback;
|
|
34
32
|
readonly onUpdate?: OnFieldCallback;
|
|
@@ -36,13 +34,10 @@ export declare type FieldOptions = {
|
|
|
36
34
|
};
|
|
37
35
|
export declare type OnFieldCallback = Scalar | QueryRaw | (() => Scalar | QueryRaw);
|
|
38
36
|
export declare type EntityGetter<E = any> = () => Type<E>;
|
|
39
|
-
export declare type ReferenceOptions<E = any> = {
|
|
40
|
-
entity: EntityGetter<E>;
|
|
41
|
-
};
|
|
42
37
|
export declare type CascadeType = 'persist' | 'delete';
|
|
43
38
|
export declare type RelationOptions<E = any> = {
|
|
44
39
|
entity?: EntityGetter<E>;
|
|
45
|
-
|
|
40
|
+
cardinality: RelationCardinality;
|
|
46
41
|
readonly cascade?: boolean | CascadeType;
|
|
47
42
|
mappedBy?: RelationMappedBy<E>;
|
|
48
43
|
through?: EntityGetter<RelationValue<E>>;
|
|
@@ -52,14 +47,14 @@ declare type RelationOptionsOwner<E> = Pick<RelationOptions<E>, 'entity' | 'refe
|
|
|
52
47
|
declare type RelationOptionsInverseSide<E> = Pick<RelationOptions<E>, 'entity' | 'mappedBy' | 'cascade'>;
|
|
53
48
|
declare type RelationOptionsThroughOwner<E> = Pick<RelationOptions<E>, 'entity' | 'through' | 'references' | 'cascade'>;
|
|
54
49
|
export declare type RelationKeyMap<E> = {
|
|
55
|
-
readonly [K in
|
|
50
|
+
readonly [K in keyof E]: K;
|
|
56
51
|
};
|
|
57
|
-
export declare type RelationKeyMapper<E> = (keyMap: RelationKeyMap<E>) =>
|
|
52
|
+
export declare type RelationKeyMapper<E> = (keyMap: RelationKeyMap<E>) => Key<E>;
|
|
58
53
|
export declare type RelationReferences = {
|
|
59
|
-
local: string;
|
|
60
|
-
foreign: string;
|
|
54
|
+
readonly local: string;
|
|
55
|
+
readonly foreign: string;
|
|
61
56
|
}[];
|
|
62
|
-
export declare type RelationMappedBy<E> =
|
|
57
|
+
export declare type RelationMappedBy<E> = Key<E> | RelationKeyMapper<E>;
|
|
63
58
|
export declare type RelationCardinality = '11' | 'm1' | '1m' | 'mm';
|
|
64
59
|
export declare type RelationOneToOneOptions<E> = RelationOptionsOwner<E> | RelationOptionsInverseSide<E>;
|
|
65
60
|
export declare type RelationOneToManyOptions<E> = RelationOptionsOwner<E> | RelationOptionsInverseSide<E> | RelationOptionsThroughOwner<E>;
|
package/type/entity.js
CHANGED
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.idKey = void 0;
|
|
4
4
|
exports.idKey = Symbol('idKey');
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGUvZW50aXR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUdhLFFBQUEsS0FBSyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFF1ZXJ5UmF3IH0gZnJvbSAnLi9xdWVyeSc7XG5pbXBvcnQgeyBTY2FsYXIsIFR5cGUgfSBmcm9tICcuL3V0aWxpdHknO1xuXG5leHBvcnQgY29uc3QgaWRLZXkgPSBTeW1ib2woJ2lkS2V5Jyk7XG5cbmV4cG9ydCB0eXBlIEtleTxFPiA9IGtleW9mIEUgJiBzdHJpbmc7XG5cbmV4cG9ydCB0eXBlIEZpZWxkS2V5PEU+ID0ge1xuICByZWFkb25seSBbSyBpbiBrZXlvZiBFXTogRVtLXSBleHRlbmRzIFNjYWxhciA/IEsgOiBuZXZlcjtcbn1bS2V5PEU+XTtcblxuZXhwb3J0IHR5cGUgUmVsYXRpb25LZXk8RT4gPSB7XG4gIHJlYWRvbmx5IFtLIGluIGtleW9mIEVdOiBFW0tdIGV4dGVuZHMgU2NhbGFyID8gbmV2ZXIgOiBLO1xufVtLZXk8RT5dO1xuXG5leHBvcnQgdHlwZSBGaWVsZFZhbHVlPEU+ID0gRVtGaWVsZEtleTxFPl07XG5cbmV4cG9ydCB0eXBlIElkS2V5PEU+ID0gRSBleHRlbmRzIHsgW2lkS2V5XT86IGluZmVyIEsgfVxuICA/IEsgJiBGaWVsZEtleTxFPlxuICA6IEUgZXh0ZW5kcyB7IF9pZD86IHVua25vd24gfVxuICA/ICdfaWQnICYgRmllbGRLZXk8RT5cbiAgOiBFIGV4dGVuZHMgeyBpZD86IHVua25vd24gfVxuICA/ICdpZCcgJiBGaWVsZEtleTxFPlxuICA6IEZpZWxkS2V5PEU+O1xuXG5leHBvcnQgdHlwZSBJZFZhbHVlPEU+ID0gRVtJZEtleTxFPl07XG5cbmV4cG9ydCB0eXBlIFJlbGF0aW9uVmFsdWU8RT4gPSBFW1JlbGF0aW9uS2V5PEU+XTtcblxuZXhwb3J0IHR5cGUgRW50aXR5T3B0aW9ucyA9IHtcbiAgcmVhZG9ubHkgbmFtZT86IHN0cmluZztcbiAgcmVhZG9ubHkgc29mdERlbGV0ZT86IGJvb2xlYW47XG59O1xuXG5leHBvcnQgdHlwZSBGaWVsZE9wdGlvbnMgPSB7XG4gIHJlYWRvbmx5IG5hbWU/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGlzSWQ/OiB0cnVlO1xuICByZWFkb25seSB0eXBlPzogYW55O1xuICByZWFkb25seSByZWZlcmVuY2U/OiBFbnRpdHlHZXR0ZXI7XG4gIHJlYWRvbmx5IHZpcnR1YWw/OiBRdWVyeVJhdztcbiAgcmVhZG9ubHkgb25JbnNlcnQ/OiBPbkZpZWxkQ2FsbGJhY2s7XG4gIHJlYWRvbmx5IG9uVXBkYXRlPzogT25GaWVsZENhbGxiYWNrO1xuICByZWFkb25seSBvbkRlbGV0ZT86IE9uRmllbGRDYWxsYmFjaztcbn07XG5cbmV4cG9ydCB0eXBlIE9uRmllbGRDYWxsYmFjayA9IFNjYWxhciB8IFF1ZXJ5UmF3IHwgKCgpID0+IFNjYWxhciB8IFF1ZXJ5UmF3KTtcblxuZXhwb3J0IHR5cGUgRW50aXR5R2V0dGVyPEUgPSBhbnk+ID0gKCkgPT4gVHlwZTxFPjtcblxuZXhwb3J0IHR5cGUgQ2FzY2FkZVR5cGUgPSAncGVyc2lzdCcgfCAnZGVsZXRlJztcblxuZXhwb3J0IHR5cGUgUmVsYXRpb25PcHRpb25zPEUgPSBhbnk+ID0ge1xuICBlbnRpdHk/OiBFbnRpdHlHZXR0ZXI8RT47XG4gIGNhcmRpbmFsaXR5OiBSZWxhdGlvbkNhcmRpbmFsaXR5O1xuICByZWFkb25seSBjYXNjYWRlPzogYm9vbGVhbiB8IENhc2NhZGVUeXBlO1xuICBtYXBwZWRCeT86IFJlbGF0aW9uTWFwcGVkQnk8RT47XG4gIHRocm91Z2g/OiBFbnRpdHlHZXR0ZXI8UmVsYXRpb25WYWx1ZTxFPj47XG4gIHJlZmVyZW5jZXM/OiBSZWxhdGlvblJlZmVyZW5jZXM7XG59O1xuXG50eXBlIFJlbGF0aW9uT3B0aW9uc093bmVyPEU+ID0gUGljazxSZWxhdGlvbk9wdGlvbnM8RT4sICdlbnRpdHknIHwgJ3JlZmVyZW5jZXMnIHwgJ2Nhc2NhZGUnPjtcbnR5cGUgUmVsYXRpb25PcHRpb25zSW52ZXJzZVNpZGU8RT4gPSBQaWNrPFJlbGF0aW9uT3B0aW9uczxFPiwgJ2VudGl0eScgfCAnbWFwcGVkQnknIHwgJ2Nhc2NhZGUnPjtcbnR5cGUgUmVsYXRpb25PcHRpb25zVGhyb3VnaE93bmVyPEU+ID0gUGljazxSZWxhdGlvbk9wdGlvbnM8RT4sICdlbnRpdHknIHwgJ3Rocm91Z2gnIHwgJ3JlZmVyZW5jZXMnIHwgJ2Nhc2NhZGUnPjtcblxuZXhwb3J0IHR5cGUgUmVsYXRpb25LZXlNYXA8RT4gPSB7IHJlYWRvbmx5IFtLIGluIGtleW9mIEVdOiBLIH07XG5cbmV4cG9ydCB0eXBlIFJlbGF0aW9uS2V5TWFwcGVyPEU+ID0gKGtleU1hcDogUmVsYXRpb25LZXlNYXA8RT4pID0+IEtleTxFPjtcblxuZXhwb3J0IHR5cGUgUmVsYXRpb25SZWZlcmVuY2VzID0geyByZWFkb25seSBsb2NhbDogc3RyaW5nOyByZWFkb25seSBmb3JlaWduOiBzdHJpbmcgfVtdO1xuXG5leHBvcnQgdHlwZSBSZWxhdGlvbk1hcHBlZEJ5PEU+ID0gS2V5PEU+IHwgUmVsYXRpb25LZXlNYXBwZXI8RT47XG5cbmV4cG9ydCB0eXBlIFJlbGF0aW9uQ2FyZGluYWxpdHkgPSAnMTEnIHwgJ20xJyB8ICcxbScgfCAnbW0nO1xuXG5leHBvcnQgdHlwZSBSZWxhdGlvbk9uZVRvT25lT3B0aW9uczxFPiA9IFJlbGF0aW9uT3B0aW9uc093bmVyPEU+IHwgUmVsYXRpb25PcHRpb25zSW52ZXJzZVNpZGU8RT47XG5cbmV4cG9ydCB0eXBlIFJlbGF0aW9uT25lVG9NYW55T3B0aW9uczxFPiA9IFJlbGF0aW9uT3B0aW9uc093bmVyPEU+IHwgUmVsYXRpb25PcHRpb25zSW52ZXJzZVNpZGU8RT4gfCBSZWxhdGlvbk9wdGlvbnNUaHJvdWdoT3duZXI8RT47XG5cbmV4cG9ydCB0eXBlIFJlbGF0aW9uTWFueVRvT25lT3B0aW9uczxFPiA9IFJlbGF0aW9uT3B0aW9uc093bmVyPEU+IHwgUmVsYXRpb25PcHRpb25zSW52ZXJzZVNpZGU8RT47XG5cbmV4cG9ydCB0eXBlIFJlbGF0aW9uTWFueVRvTWFueU9wdGlvbnM8RT4gPSBSZWxhdGlvbk9wdGlvbnNUaHJvdWdoT3duZXI8RT4gfCBSZWxhdGlvbk9wdGlvbnNJbnZlcnNlU2lkZTxFPjtcblxuZXhwb3J0IHR5cGUgRW50aXR5TWV0YTxFPiA9IHtcbiAgcmVhZG9ubHkgZW50aXR5OiBUeXBlPEU+O1xuICBuYW1lPzogc3RyaW5nO1xuICBpZD86IElkS2V5PEU+O1xuICBzb2Z0RGVsZXRlPzogRmllbGRLZXk8RT47XG4gIGZpZWxkczoge1xuICAgIFtLIGluIEZpZWxkS2V5PEU+XT86IEZpZWxkT3B0aW9ucztcbiAgfTtcbiAgcmVsYXRpb25zOiB7XG4gICAgW0sgaW4gUmVsYXRpb25LZXk8RT5dPzogUmVsYXRpb25PcHRpb25zO1xuICB9O1xuICBwcm9jZXNzZWQ/OiBib29sZWFuO1xufTtcbiJdfQ==
|
package/type/utility.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ export declare type BooleanLike = boolean | 0 | 1;
|
|
|
4
4
|
export declare type MongoId = {
|
|
5
5
|
toHexString: () => string;
|
|
6
6
|
};
|
|
7
|
-
export declare type Scalar =
|
|
7
|
+
export declare type Scalar = string | number | boolean | bigint | Symbol | Date | RegExp | Buffer | MongoId;
|
|
8
8
|
export declare type ExpandScalar<T> = null | (T extends Date ? Date | string : T);
|
|
9
9
|
export declare type Writable<T> = {
|
|
10
10
|
-readonly [K in keyof T]: T[K];
|
package/type/utility.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbGl0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlL3V0aWxpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIFR5cGU8VD4gPSBuZXcgKC4uLmFyZ3M6IGFueVtdKSA9PiBUO1xuXG5leHBvcnQgdHlwZSBCb29sZWFuTGlrZSA9IGJvb2xlYW4gfCAwIHwgMTtcblxuZXhwb3J0IHR5cGUgTW9uZ29JZCA9IHtcbiAgdG9IZXhTdHJpbmc6ICgpID0+
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbGl0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlL3V0aWxpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIFR5cGU8VD4gPSBuZXcgKC4uLmFyZ3M6IGFueVtdKSA9PiBUO1xuXG5leHBvcnQgdHlwZSBCb29sZWFuTGlrZSA9IGJvb2xlYW4gfCAwIHwgMTtcblxuZXhwb3J0IHR5cGUgTW9uZ29JZCA9IHtcbiAgdG9IZXhTdHJpbmc6ICgpID0+IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIFNjYWxhciA9IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCBiaWdpbnQgfCBTeW1ib2wgfCBEYXRlIHwgUmVnRXhwIHwgQnVmZmVyIHwgTW9uZ29JZDtcblxuZXhwb3J0IHR5cGUgRXhwYW5kU2NhbGFyPFQ+ID0gbnVsbCB8IChUIGV4dGVuZHMgRGF0ZSA/IERhdGUgfCBzdHJpbmcgOiBUKTtcblxuZXhwb3J0IHR5cGUgV3JpdGFibGU8VD4gPSB7IC1yZWFkb25seSBbSyBpbiBrZXlvZiBUXTogVFtLXSB9O1xuXG5leHBvcnQgdHlwZSBVbnBhY2tlZDxUPiA9IFQgZXh0ZW5kcyAoaW5mZXIgVSlbXSA/IFUgOiBUIGV4dGVuZHMgKC4uLmFyZ3M6IGFueVtdKSA9PiBpbmZlciBVID8gVSA6IFQgZXh0ZW5kcyBQcm9taXNlPGluZmVyIFU+ID8gVSA6IFQ7XG4iXX0=
|