@uql/core 0.4.80 → 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/dialect/abstractSqlDialect-spec.d.ts +49 -0
- package/dialect/abstractSqlDialect-spec.js +765 -0
- package/dialect/abstractSqlDialect.js +11 -17
- package/dialect/mysqlDialect.js +2 -2
- package/dialect/mysqlDialect.spec.d.ts +6 -0
- package/dialect/mysqlDialect.spec.js +33 -0
- package/dialect/postgresDialect.js +2 -2
- package/dialect/postgresDialect.spec.d.ts +1 -0
- package/dialect/postgresDialect.spec.js +139 -0
- package/dialect/sqliteDialect.spec.d.ts +1 -0
- package/dialect/sqliteDialect.spec.js +12 -0
- package/entity/decorator/definition.js +22 -24
- package/entity/decorator/definition.spec.d.ts +1 -0
- package/entity/decorator/definition.spec.js +725 -0
- package/entity/decorator/relation.spec.d.ts +1 -0
- package/entity/decorator/relation.spec.js +55 -0
- package/options.js +2 -2
- package/options.spec.d.ts +1 -0
- package/options.spec.js +50 -0
- package/package.json +3 -3
- package/querier/abstractQuerier-it.d.ts +41 -0
- package/querier/abstractQuerier-it.js +410 -0
- package/querier/abstractSqlQuerier-it.d.ts +9 -0
- package/querier/abstractSqlQuerier-it.js +19 -0
- package/querier/abstractSqlQuerier-spec.d.ts +53 -0
- package/querier/abstractSqlQuerier-spec.js +607 -0
- package/querier/abstractSqlQuerier.js +2 -3
- package/querier/decorator/injectQuerier.js +2 -3
- package/querier/decorator/injectQuerier.spec.d.ts +1 -0
- package/querier/decorator/injectQuerier.spec.js +108 -0
- package/querier/decorator/transactional.js +2 -2
- package/querier/decorator/transactional.spec.d.ts +1 -0
- package/querier/decorator/transactional.spec.js +241 -0
- package/repository/genericRepository.spec.d.ts +1 -0
- package/repository/genericRepository.spec.js +86 -0
- package/test/entityMock.d.ts +180 -0
- package/test/entityMock.js +451 -0
- package/test/index.d.ts +3 -0
- package/test/index.js +7 -0
- package/test/it.util.d.ts +4 -0
- package/test/it.util.js +60 -0
- package/test/spec.util.d.ts +13 -0
- package/test/spec.util.js +54 -0
- package/type/entity.d.ts +12 -17
- package/type/entity.js +1 -1
- package/type/utility.d.ts +3 -2
- package/type/utility.js +1 -1
- package/util/dialect.util.js +2 -3
- package/util/dialect.util.spec.d.ts +1 -0
- package/util/dialect.util.spec.js +23 -0
- package/util/object.util.spec.d.ts +1 -0
- package/util/object.util.spec.js +26 -0
- package/util/sql.util.spec.d.ts +1 -0
- package/util/sql.util.spec.js +164 -0
- package/util/string.util.spec.d.ts +1 -0
- package/util/string.util.spec.js +26 -0
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
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
export declare type Type<T> = new (...args: any[]) => T;
|
|
3
3
|
export declare type BooleanLike = boolean | 0 | 1;
|
|
4
|
-
export declare type
|
|
5
|
-
toHexString()
|
|
4
|
+
export declare type MongoId = {
|
|
5
|
+
toHexString: () => string;
|
|
6
6
|
};
|
|
7
|
+
export declare type Scalar = string | number | boolean | bigint | Symbol | Date | RegExp | Buffer | MongoId;
|
|
7
8
|
export declare type ExpandScalar<T> = null | (T extends Date ? Date | string : T);
|
|
8
9
|
export declare type Writable<T> = {
|
|
9
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,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbGl0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlL3V0aWxpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIFR5cGU8VD4gPSBuZXcgKC4uLmFyZ3M6IGFueVtdKSA9PiBUO1xuXG5leHBvcnQgdHlwZSBCb29sZWFuTGlrZSA9IGJvb2xlYW4gfCAwIHwgMTtcblxuZXhwb3J0IHR5cGUgTW9uZ29JZCA9IHtcbiAgdG9IZXhTdHJpbmc6ICgpID0+IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIFNjYWxhciA9IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCBiaWdpbnQgfCBTeW1ib2wgfCBEYXRlIHwgUmVnRXhwIHwgQnVmZmVyIHwgTW9uZ29JZDtcblxuZXhwb3J0IHR5cGUgRXhwYW5kU2NhbGFyPFQ+ID0gbnVsbCB8IChUIGV4dGVuZHMgRGF0ZSA/IERhdGUgfCBzdHJpbmcgOiBUKTtcblxuZXhwb3J0IHR5cGUgV3JpdGFibGU8VD4gPSB7IC1yZWFkb25seSBbSyBpbiBrZXlvZiBUXTogVFtLXSB9O1xuXG5leHBvcnQgdHlwZSBVbnBhY2tlZDxUPiA9IFQgZXh0ZW5kcyAoaW5mZXIgVSlbXSA/IFUgOiBUIGV4dGVuZHMgKC4uLmFyZ3M6IGFueVtdKSA9PiBpbmZlciBVID8gVSA6IFQgZXh0ZW5kcyBQcm9taXNlPGluZmVyIFU+ID8gVSA6IFQ7XG4iXX0=
|
package/util/dialect.util.js
CHANGED
|
@@ -3,10 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.getQueryFilterAsMap = exports.augmentFilter = exports.buildSortMap = exports.isProjectingRelations = exports.getProjectRelationKeys = exports.isCascadable = exports.getPersistableRelations = exports.getFieldCallbackValue = exports.getPersistables = exports.getPersistable = exports.getRawValue = void 0;
|
|
4
4
|
const util_1 = require("@uql/core/util");
|
|
5
5
|
function getRawValue(opts) {
|
|
6
|
-
var _a;
|
|
7
6
|
const { value, prefix = '', dialect, autoPrefixAlias } = opts;
|
|
8
7
|
const val = typeof value.value === 'function' ? value.value(opts) : prefix + value.value;
|
|
9
|
-
const alias =
|
|
8
|
+
const alias = opts.alias ?? value.alias;
|
|
10
9
|
if (alias) {
|
|
11
10
|
const fullAlias = autoPrefixAlias ? prefix + alias : alias;
|
|
12
11
|
const escapedFullAlias = dialect.escapeId(fullAlias, true);
|
|
@@ -111,4 +110,4 @@ function getQueryFilterAsMap(meta, filter = {}) {
|
|
|
111
110
|
return filter;
|
|
112
111
|
}
|
|
113
112
|
exports.getQueryFilterAsMap = getQueryFilterAsMap;
|
|
114
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbGVjdC51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWwvZGlhbGVjdC51dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQWVBLHlDQUE4QztBQUk5QyxTQUFnQixXQUFXLENBQUMsSUFBbUY7O0lBQzdHLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxHQUFHLEVBQUUsRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLEdBQUcsSUFBSSxDQUFDO0lBQzlELE1BQU0sR0FBRyxHQUFHLE9BQU8sS0FBSyxDQUFDLEtBQUssS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO0lBQ3pGLE1BQU0sS0FBSyxHQUFHLE1BQUEsSUFBSSxDQUFDLEtBQUssbUNBQUksS0FBSyxDQUFDLEtBQUssQ0FBQztJQUN4QyxJQUFJLEtBQUssRUFBRTtRQUNULE1BQU0sU0FBUyxHQUFHLGVBQWUsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQzNELE1BQU0sZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDM0QsT0FBTyxHQUFHLEdBQUcsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO0tBQ3JDO0lBQ0QsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDO0FBVkQsa0NBVUM7QUFFRCxTQUFnQixjQUFjLENBQUksSUFBbUIsRUFBRSxPQUFVLEVBQUUsV0FBd0I7SUFDekYsT0FBTyxlQUFlLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN4RCxDQUFDO0FBRkQsd0NBRUM7QUFFRCxTQUFnQixlQUFlLENBQUksSUFBbUIsRUFBRSxPQUFnQixFQUFFLFdBQXdCO0lBQ2hHLE1BQU0sUUFBUSxHQUFHLFlBQVksQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQzFELE1BQU0sZUFBZSxHQUFHLElBQUEsY0FBTyxFQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBa0IsQ0FBQztJQUNoRyxPQUFPLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUN6QixlQUFlLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFO1FBQ2xDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbkIsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDLEVBQUUsRUFBTyxDQUFDLENBQ1osQ0FBQztBQUNKLENBQUM7QUFURCwwQ0FTQztBQUVELFNBQWdCLHFCQUFxQixDQUFDLEdBQW9CO0lBQ3hELE9BQU8sT0FBTyxHQUFHLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO0FBQ2pELENBQUM7QUFGRCxzREFFQztBQUVELFNBQVMsWUFBWSxDQUFJLElBQW1CLEVBQUUsT0FBZ0IsRUFBRSxXQUF3QjtJQUN0RixNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDOUQsTUFBTSxJQUFJLEdBQUcsSUFBQSxjQUFPLEVBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQ2pGLE9BQU8sUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFO1FBQ3pCLEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxFQUFFO1lBQ3RCLElBQUksRUFBRSxDQUFDLEdBQUcsQ0FBQyxLQUFLLFNBQVMsRUFBRTtnQkFDekIsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLHFCQUFxQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQzthQUNoRTtTQUNGO1FBQ0QsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxTQUFnQix1QkFBdUIsQ0FBSSxJQUFtQixFQUFFLE9BQVUsRUFBRSxNQUFtQjtJQUM3RixNQUFNLElBQUksR0FBRyxJQUFBLGNBQU8sRUFBQyxPQUFPLENBQUMsQ0FBQztJQUM5QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtRQUN6QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQXFCLENBQUMsQ0FBQztRQUN0RCxPQUFPLE9BQU8sSUFBSSxZQUFZLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMxRCxDQUFDLENBQXFCLENBQUM7QUFDekIsQ0FBQztBQU5ELDBEQU1DO0FBRUQsU0FBZ0IsWUFBWSxDQUFDLE1BQW1CLEVBQUUsYUFBcUM7SUFDckYsSUFBSSxPQUFPLGFBQWEsS0FBSyxTQUFTLEVBQUU7UUFDdEMsT0FBTyxhQUFhLENBQUM7S0FDdEI7SUFDRCxPQUFPLGFBQWEsS0FBSyxNQUFNLENBQUM7QUFDbEMsQ0FBQztBQUxELG9DQUtDO0FBRUQsU0FBZ0Isc0JBQXNCLENBQUksSUFBbUIsRUFBRSxPQUF3QjtJQUNyRixNQUFNLElBQUksR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDckMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQXFCLENBQUMsQ0FBcUIsQ0FBQztBQUN6RixDQUFDO0FBSEQsd0RBR0M7QUFFRCxTQUFnQixxQkFBcUIsQ0FBSSxJQUFtQixFQUFFLE9BQXdCO0lBQ3BGLE1BQU0sSUFBSSxHQUFHLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNyQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBcUIsQ0FBQyxDQUFDLENBQUM7QUFDbkUsQ0FBQztBQUhELHNEQUdDO0FBRUQsU0FBUyxjQUFjLENBQUksT0FBd0I7SUFDakQsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQzFCLE9BQU8sT0FBbUIsQ0FBQztLQUM1QjtJQUNELE9BQU8sSUFBQSxjQUFPLEVBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQWEsQ0FBQztBQUNwRSxDQUFDO0FBRUQsU0FBZ0IsWUFBWSxDQUFJLElBQWtCO0lBQ2hELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUN2QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUU7WUFDN0IsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFO2dCQUNyQixHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ3BCO2lCQUFNO2dCQUNMLEdBQUcsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQzthQUN6QjtZQUNELE9BQU8sR0FBRyxDQUFDO1FBQ2IsQ0FBQyxFQUFFLEVBQXFCLENBQUMsQ0FBQztLQUMzQjtJQUNELE9BQU8sSUFBdUIsQ0FBQztBQUNqQyxDQUFDO0FBWkQsb0NBWUM7QUFFRCxTQUFnQixhQUFhLENBQUksSUFBbUIsRUFBRSxTQUF5QixFQUFFLEVBQUUsU0FBeUIsRUFBRTtJQUM1RyxNQUFNLGdCQUFnQixHQUFHLG1CQUFtQixDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUMzRCxNQUFNLGdCQUFnQixHQUFHLG1CQUFtQixDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUMzRCxPQUFPO1FBQ0wsR0FBRyxnQkFBZ0I7UUFDbkIsR0FBRyxnQkFBZ0I7S0FDcEIsQ0FBQztBQUNKLENBQUM7QUFQRCxzQ0FPQztBQUVELFNBQWdCLG1CQUFtQixDQUFJLElBQW1CLEVBQUUsU0FBeUIsRUFBRTtJQUNyRixJQUFJLE1BQU0sWUFBWSxVQUFHLEVBQUU7UUFDekIsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUF1QixDQUFDO0tBQ2hEO0lBQ0QsSUFBSSxPQUFPLE1BQU0sS0FBSyxRQUFRLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxPQUFRLE1BQWtCLENBQUMsV0FBVyxLQUFLLFVBQVUsRUFBRTtRQUNoSCxPQUFPO1lBQ0wsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsTUFBTTtTQUNHLENBQUM7S0FDeEI7SUFDRCxPQUFPLE1BQTJCLENBQUM7QUFDckMsQ0FBQztBQVZELGtEQVVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRW50aXR5TWV0YSxcbiAgRmllbGRLZXksXG4gIFF1ZXJ5UHJvamVjdCxcbiAgQ2FzY2FkZVR5cGUsXG4gIFJlbGF0aW9uS2V5LFxuICBGaWVsZE9wdGlvbnMsXG4gIEtleSxcbiAgUXVlcnlTb3J0LFxuICBRdWVyeVNvcnRNYXAsXG4gIFF1ZXJ5UmF3Rm5PcHRpb25zLFxuICBRdWVyeUZpbHRlcixcbiAgUXVlcnlGaWx0ZXJNYXAsXG4gIE9uRmllbGRDYWxsYmFjayxcbn0gZnJvbSAnQHVxbC9jb3JlL3R5cGUnO1xuaW1wb3J0IHsgZ2V0S2V5cywgUmF3IH0gZnJvbSAnQHVxbC9jb3JlL3V0aWwnO1xuXG50eXBlIENhbGxiYWNrS2V5ID0ga2V5b2YgUGljazxGaWVsZE9wdGlvbnMsICdvbkluc2VydCcgfCAnb25VcGRhdGUnIHwgJ29uRGVsZXRlJz47XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSYXdWYWx1ZShvcHRzOiBRdWVyeVJhd0ZuT3B0aW9ucyAmIHsgdmFsdWU6IFJhdzsgYWxpYXM/OiBzdHJpbmc7IGF1dG9QcmVmaXhBbGlhcz86IGJvb2xlYW4gfSkge1xuICBjb25zdCB7IHZhbHVlLCBwcmVmaXggPSAnJywgZGlhbGVjdCwgYXV0b1ByZWZpeEFsaWFzIH0gPSBvcHRzO1xuICBjb25zdCB2YWwgPSB0eXBlb2YgdmFsdWUudmFsdWUgPT09ICdmdW5jdGlvbicgPyB2YWx1ZS52YWx1ZShvcHRzKSA6IHByZWZpeCArIHZhbHVlLnZhbHVlO1xuICBjb25zdCBhbGlhcyA9IG9wdHMuYWxpYXMgPz8gdmFsdWUuYWxpYXM7XG4gIGlmIChhbGlhcykge1xuICAgIGNvbnN0IGZ1bGxBbGlhcyA9IGF1dG9QcmVmaXhBbGlhcyA/IHByZWZpeCArIGFsaWFzIDogYWxpYXM7XG4gICAgY29uc3QgZXNjYXBlZEZ1bGxBbGlhcyA9IGRpYWxlY3QuZXNjYXBlSWQoZnVsbEFsaWFzLCB0cnVlKTtcbiAgICByZXR1cm4gYCR7dmFsfSAke2VzY2FwZWRGdWxsQWxpYXN9YDtcbiAgfVxuICByZXR1cm4gdmFsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UGVyc2lzdGFibGU8RT4obWV0YTogRW50aXR5TWV0YTxFPiwgcGF5bG9hZDogRSwgY2FsbGJhY2tLZXk6IENhbGxiYWNrS2V5KTogRSB7XG4gIHJldHVybiBnZXRQZXJzaXN0YWJsZXMobWV0YSwgcGF5bG9hZCwgY2FsbGJhY2tLZXkpWzBdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UGVyc2lzdGFibGVzPEU+KG1ldGE6IEVudGl0eU1ldGE8RT4sIHBheWxvYWQ6IEUgfCBFW10sIGNhbGxiYWNrS2V5OiBDYWxsYmFja0tleSk6IEVbXSB7XG4gIGNvbnN0IHBheWxvYWRzID0gZmlsbE9uRmllbGRzKG1ldGEsIHBheWxvYWQsIGNhbGxiYWNrS2V5KTtcbiAgY29uc3QgcGVyc2lzdGFibGVLZXlzID0gZ2V0S2V5cyhwYXlsb2Fkc1swXSkuZmlsdGVyKChrZXkpID0+IG1ldGEuZmllbGRzW2tleV0pIGFzIEZpZWxkS2V5PEU+W107XG4gIHJldHVybiBwYXlsb2Fkcy5tYXAoKGl0KSA9PlxuICAgIHBlcnNpc3RhYmxlS2V5cy5yZWR1Y2UoKGFjYywga2V5KSA9PiB7XG4gICAgICBhY2Nba2V5XSA9IGl0W2tleV07XG4gICAgICByZXR1cm4gYWNjO1xuICAgIH0sIHt9IGFzIEUpXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRGaWVsZENhbGxiYWNrVmFsdWUodmFsOiBPbkZpZWxkQ2FsbGJhY2spIHtcbiAgcmV0dXJuIHR5cGVvZiB2YWwgPT09ICdmdW5jdGlvbicgPyB2YWwoKSA6IHZhbDtcbn1cblxuZnVuY3Rpb24gZmlsbE9uRmllbGRzPEU+KG1ldGE6IEVudGl0eU1ldGE8RT4sIHBheWxvYWQ6IEUgfCBFW10sIGNhbGxiYWNrS2V5OiBDYWxsYmFja0tleSk6IEVbXSB7XG4gIGNvbnN0IHBheWxvYWRzID0gQXJyYXkuaXNBcnJheShwYXlsb2FkKSA/IHBheWxvYWQgOiBbcGF5bG9hZF07XG4gIGNvbnN0IGtleXMgPSBnZXRLZXlzKG1ldGEuZmllbGRzKS5maWx0ZXIoKGtleSkgPT4gbWV0YS5maWVsZHNba2V5XVtjYWxsYmFja0tleV0pO1xuICByZXR1cm4gcGF5bG9hZHMubWFwKChpdCkgPT4ge1xuICAgIGZvciAoY29uc3Qga2V5IG9mIGtleXMpIHtcbiAgICAgIGlmIChpdFtrZXldID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgaXRba2V5XSA9IGdldEZpZWxkQ2FsbGJhY2tWYWx1ZShtZXRhLmZpZWxkc1trZXldW2NhbGxiYWNrS2V5XSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBpdDtcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRQZXJzaXN0YWJsZVJlbGF0aW9uczxFPihtZXRhOiBFbnRpdHlNZXRhPEU+LCBwYXlsb2FkOiBFLCBhY3Rpb246IENhc2NhZGVUeXBlKTogUmVsYXRpb25LZXk8RT5bXSB7XG4gIGNvbnN0IGtleXMgPSBnZXRLZXlzKHBheWxvYWQpO1xuICByZXR1cm4ga2V5cy5maWx0ZXIoKGtleSkgPT4ge1xuICAgIGNvbnN0IHJlbE9wdHMgPSBtZXRhLnJlbGF0aW9uc1trZXkgYXMgUmVsYXRpb25LZXk8RT5dO1xuICAgIHJldHVybiByZWxPcHRzICYmIGlzQ2FzY2FkYWJsZShhY3Rpb24sIHJlbE9wdHMuY2FzY2FkZSk7XG4gIH0pIGFzIFJlbGF0aW9uS2V5PEU+W107XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0Nhc2NhZGFibGUoYWN0aW9uOiBDYXNjYWRlVHlwZSwgY29uZmlndXJhdGlvbj86IGJvb2xlYW4gfCBDYXNjYWRlVHlwZSk6IGJvb2xlYW4ge1xuICBpZiAodHlwZW9mIGNvbmZpZ3VyYXRpb24gPT09ICdib29sZWFuJykge1xuICAgIHJldHVybiBjb25maWd1cmF0aW9uO1xuICB9XG4gIHJldHVybiBjb25maWd1cmF0aW9uID09PSBhY3Rpb247XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRQcm9qZWN0UmVsYXRpb25LZXlzPEU+KG1ldGE6IEVudGl0eU1ldGE8RT4sIHByb2plY3Q6IFF1ZXJ5UHJvamVjdDxFPik6IFJlbGF0aW9uS2V5PEU+W10ge1xuICBjb25zdCBrZXlzID0gZ2V0UHJvamVjdEtleXMocHJvamVjdCk7XG4gIHJldHVybiBrZXlzLmZpbHRlcigoa2V5KSA9PiBtZXRhLnJlbGF0aW9uc1trZXkgYXMgUmVsYXRpb25LZXk8RT5dKSBhcyBSZWxhdGlvbktleTxFPltdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNQcm9qZWN0aW5nUmVsYXRpb25zPEU+KG1ldGE6IEVudGl0eU1ldGE8RT4sIHByb2plY3Q6IFF1ZXJ5UHJvamVjdDxFPik6IGJvb2xlYW4ge1xuICBjb25zdCBrZXlzID0gZ2V0UHJvamVjdEtleXMocHJvamVjdCk7XG4gIHJldHVybiBrZXlzLnNvbWUoKGtleSkgPT4gbWV0YS5yZWxhdGlvbnNba2V5IGFzIFJlbGF0aW9uS2V5PEU+XSk7XG59XG5cbmZ1bmN0aW9uIGdldFByb2plY3RLZXlzPEU+KHByb2plY3Q6IFF1ZXJ5UHJvamVjdDxFPik6IEtleTxFPltdIHtcbiAgaWYgKEFycmF5LmlzQXJyYXkocHJvamVjdCkpIHtcbiAgICByZXR1cm4gcHJvamVjdCBhcyBLZXk8RT5bXTtcbiAgfVxuICByZXR1cm4gZ2V0S2V5cyhwcm9qZWN0KS5maWx0ZXIoKGtleSkgPT4gcHJvamVjdFtrZXldKSBhcyBLZXk8RT5bXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkU29ydE1hcDxFPihzb3J0OiBRdWVyeVNvcnQ8RT4pOiBRdWVyeVNvcnRNYXA8RT4ge1xuICBpZiAoQXJyYXkuaXNBcnJheShzb3J0KSkge1xuICAgIHJldHVybiBzb3J0LnJlZHVjZSgoYWNjLCBpdCkgPT4ge1xuICAgICAgaWYgKEFycmF5LmlzQXJyYXkoaXQpKSB7XG4gICAgICAgIGFjY1tpdFswXV0gPSBpdFsxXTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGFjY1tpdC5maWVsZF0gPSBpdC5zb3J0O1xuICAgICAgfVxuICAgICAgcmV0dXJuIGFjYztcbiAgICB9LCB7fSBhcyBRdWVyeVNvcnRNYXA8RT4pO1xuICB9XG4gIHJldHVybiBzb3J0IGFzIFF1ZXJ5U29ydE1hcDxFPjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGF1Z21lbnRGaWx0ZXI8RT4obWV0YTogRW50aXR5TWV0YTxFPiwgdGFyZ2V0OiBRdWVyeUZpbHRlcjxFPiA9IHt9LCBzb3VyY2U6IFF1ZXJ5RmlsdGVyPEU+ID0ge30pOiBRdWVyeUZpbHRlcjxFPiB7XG4gIGNvbnN0IHRhcmdldENvbXBhcmlzb24gPSBnZXRRdWVyeUZpbHRlckFzTWFwKG1ldGEsIHRhcmdldCk7XG4gIGNvbnN0IHNvdXJjZUNvbXBhcmlzb24gPSBnZXRRdWVyeUZpbHRlckFzTWFwKG1ldGEsIHNvdXJjZSk7XG4gIHJldHVybiB7XG4gICAgLi4udGFyZ2V0Q29tcGFyaXNvbixcbiAgICAuLi5zb3VyY2VDb21wYXJpc29uLFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UXVlcnlGaWx0ZXJBc01hcDxFPihtZXRhOiBFbnRpdHlNZXRhPEU+LCBmaWx0ZXI6IFF1ZXJ5RmlsdGVyPEU+ID0ge30pOiBRdWVyeUZpbHRlck1hcDxFPiB7XG4gIGlmIChmaWx0ZXIgaW5zdGFuY2VvZiBSYXcpIHtcbiAgICByZXR1cm4geyAkYW5kOiBbZmlsdGVyXSB9IGFzIFF1ZXJ5RmlsdGVyTWFwPEU+O1xuICB9XG4gIGlmICh0eXBlb2YgZmlsdGVyICE9PSAnb2JqZWN0JyB8fCBBcnJheS5pc0FycmF5KGZpbHRlcikgfHwgdHlwZW9mIChmaWx0ZXIgYXMgTW9uZ29JZCkudG9IZXhTdHJpbmcgPT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm4ge1xuICAgICAgW21ldGEuaWRdOiBmaWx0ZXIsXG4gICAgfSBhcyBRdWVyeUZpbHRlck1hcDxFPjtcbiAgfVxuICByZXR1cm4gZmlsdGVyIGFzIFF1ZXJ5RmlsdGVyTWFwPEU+O1xufVxuXG50eXBlIE1vbmdvSWQgPSB7XG4gIHJlYWRvbmx5IHRvSGV4U3RyaW5nOiBGdW5jdGlvbjtcbn07XG4iXX0=
|
|
113
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbGVjdC51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWwvZGlhbGVjdC51dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQWdCQSx5Q0FBOEM7QUFJOUMsU0FBZ0IsV0FBVyxDQUFDLElBQW1GO0lBQzdHLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxHQUFHLEVBQUUsRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLEdBQUcsSUFBSSxDQUFDO0lBQzlELE1BQU0sR0FBRyxHQUFHLE9BQU8sS0FBSyxDQUFDLEtBQUssS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO0lBQ3pGLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQztJQUN4QyxJQUFJLEtBQUssRUFBRTtRQUNULE1BQU0sU0FBUyxHQUFHLGVBQWUsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQzNELE1BQU0sZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDM0QsT0FBTyxHQUFHLEdBQUcsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO0tBQ3JDO0lBQ0QsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDO0FBVkQsa0NBVUM7QUFFRCxTQUFnQixjQUFjLENBQUksSUFBbUIsRUFBRSxPQUFVLEVBQUUsV0FBd0I7SUFDekYsT0FBTyxlQUFlLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN4RCxDQUFDO0FBRkQsd0NBRUM7QUFFRCxTQUFnQixlQUFlLENBQUksSUFBbUIsRUFBRSxPQUFnQixFQUFFLFdBQXdCO0lB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b0NBWUM7QUFFRCxTQUFnQixhQUFhLENBQUksSUFBbUIsRUFBRSxTQUF5QixFQUFFLEVBQUUsU0FBeUIsRUFBRTtJQUM1RyxNQUFNLGdCQUFnQixHQUFHLG1CQUFtQixDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUMzRCxNQUFNLGdCQUFnQixHQUFHLG1CQUFtQixDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUMzRCxPQUFPO1FBQ0wsR0FBRyxnQkFBZ0I7UUFDbkIsR0FBRyxnQkFBZ0I7S0FDcEIsQ0FBQztBQUNKLENBQUM7QUFQRCxzQ0FPQztBQUVELFNBQWdCLG1CQUFtQixDQUFJLElBQW1CLEVBQUUsU0FBeUIsRUFBRTtJQUNyRixJQUFJLE1BQU0sWUFBWSxVQUFHLEVBQUU7UUFDekIsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUF1QixDQUFDO0tBQ2hEO0lBQ0QsSUFBSSxPQUFPLE1BQU0sS0FBSyxRQUFRLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxPQUFRLE1BQWtCLENBQUMsV0FBVyxLQUFLLFVBQVUsRUFBRTtRQUNoSCxPQUFPO1lBQ0wsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsTUFBTTtTQUNHLENBQUM7S0FDeEI7SUFDRCxPQUFPLE1BQTJCLENBQUM7QUFDckMsQ0FBQztBQVZELGtEQVVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRW50aXR5TWV0YSxcbiAgRmllbGRLZXksXG4gIFF1ZXJ5UHJvamVjdCxcbiAgQ2FzY2FkZVR5cGUsXG4gIFJlbGF0aW9uS2V5LFxuICBGaWVsZE9wdGlvbnMsXG4gIEtleSxcbiAgUXVlcnlTb3J0LFxuICBRdWVyeVNvcnRNYXAsXG4gIFF1ZXJ5UmF3Rm5PcHRpb25zLFxuICBRdWVyeUZpbHRlcixcbiAgUXVlcnlGaWx0ZXJNYXAsXG4gIE9uRmllbGRDYWxsYmFjayxcbiAgTW9uZ29JZCxcbn0gZnJvbSAnQHVxbC9jb3JlL3R5cGUnO1xuaW1wb3J0IHsgZ2V0S2V5cywgUmF3IH0gZnJvbSAnQHVxbC9jb3JlL3V0aWwnO1xuXG50eXBlIENhbGxiYWNrS2V5ID0ga2V5b2YgUGljazxGaWVsZE9wdGlvbnMsICdvbkluc2VydCcgfCAnb25VcGRhdGUnIHwgJ29uRGVsZXRlJz47XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSYXdWYWx1ZShvcHRzOiBRdWVyeVJhd0ZuT3B0aW9ucyAmIHsgdmFsdWU6IFJhdzsgYWxpYXM/OiBzdHJpbmc7IGF1dG9QcmVmaXhBbGlhcz86IGJvb2xlYW4gfSkge1xuICBjb25zdCB7IHZhbHVlLCBwcmVmaXggPSAnJywgZGlhbGVjdCwgYXV0b1ByZWZpeEFsaWFzIH0gPSBvcHRzO1xuICBjb25zdCB2YWwgPSB0eXBlb2YgdmFsdWUudmFsdWUgPT09ICdmdW5jdGlvbicgPyB2YWx1ZS52YWx1ZShvcHRzKSA6IHByZWZpeCArIHZhbHVlLnZhbHVlO1xuICBjb25zdCBhbGlhcyA9IG9wdHMuYWxpYXMgPz8gdmFsdWUuYWxpYXM7XG4gIGlmIChhbGlhcykge1xuICAgIGNvbnN0IGZ1bGxBbGlhcyA9IGF1dG9QcmVmaXhBbGlhcyA/IHByZWZpeCArIGFsaWFzIDogYWxpYXM7XG4gICAgY29uc3QgZXNjYXBlZEZ1bGxBbGlhcyA9IGRpYWxlY3QuZXNjYXBlSWQoZnVsbEFsaWFzLCB0cnVlKTtcbiAgICByZXR1cm4gYCR7dmFsfSAke2VzY2FwZWRGdWxsQWxpYXN9YDtcbiAgfVxuICByZXR1cm4gdmFsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UGVyc2lzdGFibGU8RT4obWV0YTogRW50aXR5TWV0YTxFPiwgcGF5bG9hZDogRSwgY2FsbGJhY2tLZXk6IENhbGxiYWNrS2V5KTogRSB7XG4gIHJldHVybiBnZXRQZXJzaXN0YWJsZXMobWV0YSwgcGF5bG9hZCwgY2FsbGJhY2tLZXkpWzBdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UGVyc2lzdGFibGVzPEU+KG1ldGE6IEVudGl0eU1ldGE8RT4sIHBheWxvYWQ6IEUgfCBFW10sIGNhbGxiYWNrS2V5OiBDYWxsYmFja0tleSk6IEVbXSB7XG4gIGNvbnN0IHBheWxvYWRzID0gZmlsbE9uRmllbGRzKG1ldGEsIHBheWxvYWQsIGNhbGxiYWNrS2V5KTtcbiAgY29uc3QgcGVyc2lzdGFibGVLZXlzID0gZ2V0S2V5cyhwYXlsb2Fkc1swXSkuZmlsdGVyKChrZXkpID0+IG1ldGEuZmllbGRzW2tleV0pIGFzIEZpZWxkS2V5PEU+W107XG4gIHJldHVybiBwYXlsb2Fkcy5tYXAoKGl0KSA9PlxuICAgIHBlcnNpc3RhYmxlS2V5cy5yZWR1Y2UoKGFjYywga2V5KSA9PiB7XG4gICAgICBhY2Nba2V5XSA9IGl0W2tleV07XG4gICAgICByZXR1cm4gYWNjO1xuICAgIH0sIHt9IGFzIEUpXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRGaWVsZENhbGxiYWNrVmFsdWUodmFsOiBPbkZpZWxkQ2FsbGJhY2spIHtcbiAgcmV0dXJuIHR5cGVvZiB2YWwgPT09ICdmdW5jdGlvbicgPyB2YWwoKSA6IHZhbDtcbn1cblxuZnVuY3Rpb24gZmlsbE9uRmllbGRzPEU+KG1ldGE6IEVudGl0eU1ldGE8RT4sIHBheWxvYWQ6IEUgfCBFW10sIGNhbGxiYWNrS2V5OiBDYWxsYmFja0tleSk6IEVbXSB7XG4gIGNvbnN0IHBheWxvYWRzID0gQXJyYXkuaXNBcnJheShwYXlsb2FkKSA/IHBheWxvYWQgOiBbcGF5bG9hZF07XG4gIGNvbnN0IGtleXMgPSBnZXRLZXlzKG1ldGEuZmllbGRzKS5maWx0ZXIoKGtleSkgPT4gbWV0YS5maWVsZHNba2V5XVtjYWxsYmFja0tleV0pO1xuICByZXR1cm4gcGF5bG9hZHMubWFwKChpdCkgPT4ge1xuICAgIGZvciAoY29uc3Qga2V5IG9mIGtleXMpIHtcbiAgICAgIGlmIChpdFtrZXldID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgaXRba2V5XSA9IGdldEZpZWxkQ2FsbGJhY2tWYWx1ZShtZXRhLmZpZWxkc1trZXldW2NhbGxiYWNrS2V5XSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBpdDtcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRQZXJzaXN0YWJsZVJlbGF0aW9uczxFPihtZXRhOiBFbnRpdHlNZXRhPEU+LCBwYXlsb2FkOiBFLCBhY3Rpb246IENhc2NhZGVUeXBlKTogUmVsYXRpb25LZXk8RT5bXSB7XG4gIGNvbnN0IGtleXMgPSBnZXRLZXlzKHBheWxvYWQpO1xuICByZXR1cm4ga2V5cy5maWx0ZXIoKGtleSkgPT4ge1xuICAgIGNvbnN0IHJlbE9wdHMgPSBtZXRhLnJlbGF0aW9uc1trZXkgYXMgUmVsYXRpb25LZXk8RT5dO1xuICAgIHJldHVybiByZWxPcHRzICYmIGlzQ2FzY2FkYWJsZShhY3Rpb24sIHJlbE9wdHMuY2FzY2FkZSk7XG4gIH0pIGFzIFJlbGF0aW9uS2V5PEU+W107XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0Nhc2NhZGFibGUoYWN0aW9uOiBDYXNjYWRlVHlwZSwgY29uZmlndXJhdGlvbj86IGJvb2xlYW4gfCBDYXNjYWRlVHlwZSk6IGJvb2xlYW4ge1xuICBpZiAodHlwZW9mIGNvbmZpZ3VyYXRpb24gPT09ICdib29sZWFuJykge1xuICAgIHJldHVybiBjb25maWd1cmF0aW9uO1xuICB9XG4gIHJldHVybiBjb25maWd1cmF0aW9uID09PSBhY3Rpb247XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRQcm9qZWN0UmVsYXRpb25LZXlzPEU+KG1ldGE6IEVudGl0eU1ldGE8RT4sIHByb2plY3Q6IFF1ZXJ5UHJvamVjdDxFPik6IFJlbGF0aW9uS2V5PEU+W10ge1xuICBjb25zdCBrZXlzID0gZ2V0UHJvamVjdEtleXMocHJvamVjdCk7XG4gIHJldHVybiBrZXlzLmZpbHRlcigoa2V5KSA9PiBtZXRhLnJlbGF0aW9uc1trZXkgYXMgUmVsYXRpb25LZXk8RT5dKSBhcyBSZWxhdGlvbktleTxFPltdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNQcm9qZWN0aW5nUmVsYXRpb25zPEU+KG1ldGE6IEVudGl0eU1ldGE8RT4sIHByb2plY3Q6IFF1ZXJ5UHJvamVjdDxFPik6IGJvb2xlYW4ge1xuICBjb25zdCBrZXlzID0gZ2V0UHJvamVjdEtleXMocHJvamVjdCk7XG4gIHJldHVybiBrZXlzLnNvbWUoKGtleSkgPT4gbWV0YS5yZWxhdGlvbnNba2V5IGFzIFJlbGF0aW9uS2V5PEU+XSk7XG59XG5cbmZ1bmN0aW9uIGdldFByb2plY3RLZXlzPEU+KHByb2plY3Q6IFF1ZXJ5UHJvamVjdDxFPik6IEtleTxFPltdIHtcbiAgaWYgKEFycmF5LmlzQXJyYXkocHJvamVjdCkpIHtcbiAgICByZXR1cm4gcHJvamVjdCBhcyBLZXk8RT5bXTtcbiAgfVxuICByZXR1cm4gZ2V0S2V5cyhwcm9qZWN0KS5maWx0ZXIoKGtleSkgPT4gcHJvamVjdFtrZXldKSBhcyBLZXk8RT5bXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkU29ydE1hcDxFPihzb3J0OiBRdWVyeVNvcnQ8RT4pOiBRdWVyeVNvcnRNYXA8RT4ge1xuICBpZiAoQXJyYXkuaXNBcnJheShzb3J0KSkge1xuICAgIHJldHVybiBzb3J0LnJlZHVjZSgoYWNjLCBpdCkgPT4ge1xuICAgICAgaWYgKEFycmF5LmlzQXJyYXkoaXQpKSB7XG4gICAgICAgIGFjY1tpdFswXV0gPSBpdFsxXTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGFjY1tpdC5maWVsZF0gPSBpdC5zb3J0O1xuICAgICAgfVxuICAgICAgcmV0dXJuIGFjYztcbiAgICB9LCB7fSBhcyBRdWVyeVNvcnRNYXA8RT4pO1xuICB9XG4gIHJldHVybiBzb3J0IGFzIFF1ZXJ5U29ydE1hcDxFPjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGF1Z21lbnRGaWx0ZXI8RT4obWV0YTogRW50aXR5TWV0YTxFPiwgdGFyZ2V0OiBRdWVyeUZpbHRlcjxFPiA9IHt9LCBzb3VyY2U6IFF1ZXJ5RmlsdGVyPEU+ID0ge30pOiBRdWVyeUZpbHRlcjxFPiB7XG4gIGNvbnN0IHRhcmdldENvbXBhcmlzb24gPSBnZXRRdWVyeUZpbHRlckFzTWFwKG1ldGEsIHRhcmdldCk7XG4gIGNvbnN0IHNvdXJjZUNvbXBhcmlzb24gPSBnZXRRdWVyeUZpbHRlckFzTWFwKG1ldGEsIHNvdXJjZSk7XG4gIHJldHVybiB7XG4gICAgLi4udGFyZ2V0Q29tcGFyaXNvbixcbiAgICAuLi5zb3VyY2VDb21wYXJpc29uLFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UXVlcnlGaWx0ZXJBc01hcDxFPihtZXRhOiBFbnRpdHlNZXRhPEU+LCBmaWx0ZXI6IFF1ZXJ5RmlsdGVyPEU+ID0ge30pOiBRdWVyeUZpbHRlck1hcDxFPiB7XG4gIGlmIChmaWx0ZXIgaW5zdGFuY2VvZiBSYXcpIHtcbiAgICByZXR1cm4geyAkYW5kOiBbZmlsdGVyXSB9IGFzIFF1ZXJ5RmlsdGVyTWFwPEU+O1xuICB9XG4gIGlmICh0eXBlb2YgZmlsdGVyICE9PSAnb2JqZWN0JyB8fCBBcnJheS5pc0FycmF5KGZpbHRlcikgfHwgdHlwZW9mIChmaWx0ZXIgYXMgTW9uZ29JZCkudG9IZXhTdHJpbmcgPT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm4ge1xuICAgICAgW21ldGEuaWRdOiBmaWx0ZXIsXG4gICAgfSBhcyBRdWVyeUZpbHRlck1hcDxFPjtcbiAgfVxuICByZXR1cm4gZmlsdGVyIGFzIFF1ZXJ5RmlsdGVyTWFwPEU+O1xufVxuIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const decorator_1 = require("../entity/decorator");
|
|
4
|
+
const entityMock_1 = require("../test/entityMock");
|
|
5
|
+
const dialect_util_1 = require("./dialect.util");
|
|
6
|
+
const raw_1 = require("./raw");
|
|
7
|
+
it('augmentFilter empty', () => {
|
|
8
|
+
const meta = (0, decorator_1.getMeta)(entityMock_1.User);
|
|
9
|
+
expect((0, dialect_util_1.augmentFilter)(meta)).toEqual({});
|
|
10
|
+
expect((0, dialect_util_1.augmentFilter)(meta, {})).toEqual({});
|
|
11
|
+
expect((0, dialect_util_1.augmentFilter)(meta, {}, {})).toEqual({});
|
|
12
|
+
});
|
|
13
|
+
it('augmentFilter', () => {
|
|
14
|
+
const meta = (0, decorator_1.getMeta)(entityMock_1.User);
|
|
15
|
+
expect((0, dialect_util_1.augmentFilter)(meta, { name: 'a' }, { name: 'b' })).toEqual({ name: 'b' });
|
|
16
|
+
expect((0, dialect_util_1.augmentFilter)(meta, { name: 'a' }, { id: 1 })).toEqual({ name: 'a', id: 1 });
|
|
17
|
+
expect((0, dialect_util_1.augmentFilter)(meta, { name: 'a' }, { $and: [1, 2] })).toEqual({ name: 'a', $and: [1, 2] });
|
|
18
|
+
expect((0, dialect_util_1.augmentFilter)(meta, 1, { $or: [2, 3] })).toEqual({ id: 1, $or: [2, 3] });
|
|
19
|
+
const rawFilter = (0, raw_1.raw)(() => 'a > 1');
|
|
20
|
+
expect((0, dialect_util_1.augmentFilter)(meta, rawFilter, 1)).toEqual({ $and: [rawFilter], id: 1 });
|
|
21
|
+
expect((0, dialect_util_1.augmentFilter)(meta, 1, rawFilter)).toEqual({ id: 1, $and: [rawFilter] });
|
|
22
|
+
});
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbGVjdC51dGlsLnNwZWMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbC9kaWFsZWN0LnV0aWwuc3BlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLG1EQUE4QztBQUM5QyxtREFBMEM7QUFDMUMsaURBQStDO0FBQy9DLCtCQUE0QjtBQUU1QixFQUFFLENBQUMscUJBQXFCLEVBQUUsR0FBRyxFQUFFO0lBQzdCLE1BQU0sSUFBSSxHQUFHLElBQUEsbUJBQU8sRUFBQyxpQkFBSSxDQUFDLENBQUM7SUFDM0IsTUFBTSxDQUFDLElBQUEsNEJBQWEsRUFBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN4QyxNQUFNLENBQUMsSUFBQSw0QkFBYSxFQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM1QyxNQUFNLENBQUMsSUFBQSw0QkFBYSxFQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDbEQsQ0FBQyxDQUFDLENBQUM7QUFFSCxFQUFFLENBQUMsZUFBZSxFQUFFLEdBQUcsRUFBRTtJQUN2QixNQUFNLElBQUksR0FBRyxJQUFBLG1CQUFPLEVBQUMsaUJBQUksQ0FBQyxDQUFDO0lBQzNCLE1BQU0sQ0FBQyxJQUFBLDRCQUFhLEVBQUMsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUNqRixNQUFNLENBQUMsSUFBQSw0QkFBYSxFQUFDLElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNwRixNQUFNLENBQUMsSUFBQSw0QkFBYSxFQUFDLElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDbEcsTUFBTSxDQUFDLElBQUEsNEJBQWEsRUFBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNoRixNQUFNLFNBQVMsR0FBRyxJQUFBLFNBQUcsRUFBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNyQyxNQUFNLENBQUMsSUFBQSw0QkFBYSxFQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNoRixNQUFNLENBQUMsSUFBQSw0QkFBYSxFQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUNsRixDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdldE1ldGEgfSBmcm9tICcuLi9lbnRpdHkvZGVjb3JhdG9yJztcbmltcG9ydCB7IFVzZXIgfSBmcm9tICcuLi90ZXN0L2VudGl0eU1vY2snO1xuaW1wb3J0IHsgYXVnbWVudEZpbHRlciB9IGZyb20gJy4vZGlhbGVjdC51dGlsJztcbmltcG9ydCB7IHJhdyB9IGZyb20gJy4vcmF3JztcblxuaXQoJ2F1Z21lbnRGaWx0ZXIgZW1wdHknLCAoKSA9PiB7XG4gIGNvbnN0IG1ldGEgPSBnZXRNZXRhKFVzZXIpO1xuICBleHBlY3QoYXVnbWVudEZpbHRlcihtZXRhKSkudG9FcXVhbCh7fSk7XG4gIGV4cGVjdChhdWdtZW50RmlsdGVyKG1ldGEsIHt9KSkudG9FcXVhbCh7fSk7XG4gIGV4cGVjdChhdWdtZW50RmlsdGVyKG1ldGEsIHt9LCB7fSkpLnRvRXF1YWwoe30pO1xufSk7XG5cbml0KCdhdWdtZW50RmlsdGVyJywgKCkgPT4ge1xuICBjb25zdCBtZXRhID0gZ2V0TWV0YShVc2VyKTtcbiAgZXhwZWN0KGF1Z21lbnRGaWx0ZXIobWV0YSwgeyBuYW1lOiAnYScgfSwgeyBuYW1lOiAnYicgfSkpLnRvRXF1YWwoeyBuYW1lOiAnYicgfSk7XG4gIGV4cGVjdChhdWdtZW50RmlsdGVyKG1ldGEsIHsgbmFtZTogJ2EnIH0sIHsgaWQ6IDEgfSkpLnRvRXF1YWwoeyBuYW1lOiAnYScsIGlkOiAxIH0pO1xuICBleHBlY3QoYXVnbWVudEZpbHRlcihtZXRhLCB7IG5hbWU6ICdhJyB9LCB7ICRhbmQ6IFsxLCAyXSB9KSkudG9FcXVhbCh7IG5hbWU6ICdhJywgJGFuZDogWzEsIDJdIH0pO1xuICBleHBlY3QoYXVnbWVudEZpbHRlcihtZXRhLCAxLCB7ICRvcjogWzIsIDNdIH0pKS50b0VxdWFsKHsgaWQ6IDEsICRvcjogWzIsIDNdIH0pO1xuICBjb25zdCByYXdGaWx0ZXIgPSByYXcoKCkgPT4gJ2EgPiAxJyk7XG4gIGV4cGVjdChhdWdtZW50RmlsdGVyKG1ldGEsIHJhd0ZpbHRlciwgMSkpLnRvRXF1YWwoeyAkYW5kOiBbcmF3RmlsdGVyXSwgaWQ6IDEgfSk7XG4gIGV4cGVjdChhdWdtZW50RmlsdGVyKG1ldGEsIDEsIHJhd0ZpbHRlcikpLnRvRXF1YWwoeyBpZDogMSwgJGFuZDogW3Jhd0ZpbHRlcl0gfSk7XG59KTtcbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const object_util_1 = require("./object.util");
|
|
4
|
+
it('clone', () => {
|
|
5
|
+
expect((0, object_util_1.clone)({})).toEqual({});
|
|
6
|
+
expect((0, object_util_1.clone)({ a: 1 })).toEqual({ a: 1 });
|
|
7
|
+
expect((0, object_util_1.clone)([])).toEqual([]);
|
|
8
|
+
expect((0, object_util_1.clone)([{ a: 1 }])).toEqual([{ a: 1 }]);
|
|
9
|
+
const source = [{ a: 1 }];
|
|
10
|
+
const cloned = (0, object_util_1.clone)(source);
|
|
11
|
+
expect(cloned[0]).not.toBe(source[0]);
|
|
12
|
+
expect(cloned).not.toBe(source);
|
|
13
|
+
expect(cloned[0]).toEqual(source[0]);
|
|
14
|
+
expect(cloned).toEqual(source);
|
|
15
|
+
});
|
|
16
|
+
it('hasKeys', () => {
|
|
17
|
+
expect((0, object_util_1.hasKeys)({})).toBe(false);
|
|
18
|
+
expect((0, object_util_1.hasKeys)({ a: 1 })).toBe(true);
|
|
19
|
+
});
|
|
20
|
+
it('getKeys', () => {
|
|
21
|
+
expect((0, object_util_1.getKeys)(undefined)).toEqual([]);
|
|
22
|
+
expect((0, object_util_1.getKeys)(null)).toEqual([]);
|
|
23
|
+
expect((0, object_util_1.getKeys)({})).toEqual([]);
|
|
24
|
+
expect((0, object_util_1.getKeys)({ a: 1 })).toEqual(['a']);
|
|
25
|
+
});
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LnV0aWwuc3BlYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsL29iamVjdC51dGlsLnNwZWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSwrQ0FBd0Q7QUFFeEQsRUFBRSxDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUU7SUFDZixNQUFNLENBQUMsSUFBQSxtQkFBSyxFQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzlCLE1BQU0sQ0FBQyxJQUFBLG1CQUFLLEVBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzFDLE1BQU0sQ0FBQyxJQUFBLG1CQUFLLEVBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDOUIsTUFBTSxDQUFDLElBQUEsbUJBQUssRUFBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUU5QyxNQUFNLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDMUIsTUFBTSxNQUFNLEdBQUcsSUFBQSxtQkFBSyxFQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRTdCLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3RDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDckMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUNqQyxDQUFDLENBQUMsQ0FBQztBQUVILEVBQUUsQ0FBQyxTQUFTLEVBQUUsR0FBRyxFQUFFO0lBQ2pCLE1BQU0sQ0FBQyxJQUFBLHFCQUFPLEVBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEMsTUFBTSxDQUFDLElBQUEscUJBQU8sRUFBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ3ZDLENBQUMsQ0FBQyxDQUFDO0FBRUgsRUFBRSxDQUFDLFNBQVMsRUFBRSxHQUFHLEVBQUU7SUFDakIsTUFBTSxDQUFDLElBQUEscUJBQU8sRUFBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN2QyxNQUFNLENBQUMsSUFBQSxxQkFBTyxFQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2xDLE1BQU0sQ0FBQyxJQUFBLHFCQUFPLEVBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDaEMsTUFBTSxDQUFDLElBQUEscUJBQU8sRUFBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUMzQyxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNsb25lLCBoYXNLZXlzLCBnZXRLZXlzIH0gZnJvbSAnLi9vYmplY3QudXRpbCc7XG5cbml0KCdjbG9uZScsICgpID0+IHtcbiAgZXhwZWN0KGNsb25lKHt9KSkudG9FcXVhbCh7fSk7XG4gIGV4cGVjdChjbG9uZSh7IGE6IDEgfSkpLnRvRXF1YWwoeyBhOiAxIH0pO1xuICBleHBlY3QoY2xvbmUoW10pKS50b0VxdWFsKFtdKTtcbiAgZXhwZWN0KGNsb25lKFt7IGE6IDEgfV0pKS50b0VxdWFsKFt7IGE6IDEgfV0pO1xuXG4gIGNvbnN0IHNvdXJjZSA9IFt7IGE6IDEgfV07XG4gIGNvbnN0IGNsb25lZCA9IGNsb25lKHNvdXJjZSk7XG5cbiAgZXhwZWN0KGNsb25lZFswXSkubm90LnRvQmUoc291cmNlWzBdKTtcbiAgZXhwZWN0KGNsb25lZCkubm90LnRvQmUoc291cmNlKTtcbiAgZXhwZWN0KGNsb25lZFswXSkudG9FcXVhbChzb3VyY2VbMF0pO1xuICBleHBlY3QoY2xvbmVkKS50b0VxdWFsKHNvdXJjZSk7XG59KTtcblxuaXQoJ2hhc0tleXMnLCAoKSA9PiB7XG4gIGV4cGVjdChoYXNLZXlzKHt9KSkudG9CZShmYWxzZSk7XG4gIGV4cGVjdChoYXNLZXlzKHsgYTogMSB9KSkudG9CZSh0cnVlKTtcbn0pO1xuXG5pdCgnZ2V0S2V5cycsICgpID0+IHtcbiAgZXhwZWN0KGdldEtleXModW5kZWZpbmVkKSkudG9FcXVhbChbXSk7XG4gIGV4cGVjdChnZXRLZXlzKG51bGwpKS50b0VxdWFsKFtdKTtcbiAgZXhwZWN0KGdldEtleXMoe30pKS50b0VxdWFsKFtdKTtcbiAgZXhwZWN0KGdldEtleXMoeyBhOiAxIH0pKS50b0VxdWFsKFsnYSddKTtcbn0pO1xuIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const sql_util_1 = require("./sql.util");
|
|
4
|
+
it('flatObject', () => {
|
|
5
|
+
expect((0, sql_util_1.flatObject)(undefined)).toEqual({});
|
|
6
|
+
expect((0, sql_util_1.flatObject)(null)).toEqual({});
|
|
7
|
+
expect((0, sql_util_1.flatObject)({})).toEqual({});
|
|
8
|
+
const sort = { name: 1, measureUnit: { name: -1, category: { creator: { profile: { picture: 1 } } } } };
|
|
9
|
+
expect((0, sql_util_1.flatObject)(sort)).toEqual({ name: 1, 'measureUnit.name': -1, 'measureUnit.category.creator.profile.picture': 1 });
|
|
10
|
+
});
|
|
11
|
+
it('unflatObjects - empty', () => {
|
|
12
|
+
const res1 = (0, sql_util_1.unflatObjects)(undefined);
|
|
13
|
+
expect(res1).toBe(undefined);
|
|
14
|
+
const res2 = (0, sql_util_1.unflatObjects)([]);
|
|
15
|
+
expect(res2).toEqual([]);
|
|
16
|
+
});
|
|
17
|
+
it('unflatObjects', () => {
|
|
18
|
+
const source = [
|
|
19
|
+
{
|
|
20
|
+
id: 1,
|
|
21
|
+
name: 'Auxiliar',
|
|
22
|
+
address: null,
|
|
23
|
+
description: null,
|
|
24
|
+
createdAt: 1,
|
|
25
|
+
updatedAt: null,
|
|
26
|
+
creatorId: 1,
|
|
27
|
+
companyId: 1,
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
id: 2,
|
|
31
|
+
name: 'Principal',
|
|
32
|
+
address: null,
|
|
33
|
+
description: null,
|
|
34
|
+
createdAt: 1,
|
|
35
|
+
updatedAt: 1578759519913,
|
|
36
|
+
creatorId: 1,
|
|
37
|
+
companyId: 1,
|
|
38
|
+
},
|
|
39
|
+
];
|
|
40
|
+
const result = (0, sql_util_1.unflatObjects)(source);
|
|
41
|
+
const expected = [
|
|
42
|
+
{
|
|
43
|
+
id: 1,
|
|
44
|
+
name: 'Auxiliar',
|
|
45
|
+
address: null,
|
|
46
|
+
description: null,
|
|
47
|
+
createdAt: 1,
|
|
48
|
+
updatedAt: null,
|
|
49
|
+
creatorId: 1,
|
|
50
|
+
companyId: 1,
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
id: 2,
|
|
54
|
+
name: 'Principal',
|
|
55
|
+
address: null,
|
|
56
|
+
description: null,
|
|
57
|
+
createdAt: 1,
|
|
58
|
+
updatedAt: 1578759519913,
|
|
59
|
+
creatorId: 1,
|
|
60
|
+
companyId: 1,
|
|
61
|
+
},
|
|
62
|
+
];
|
|
63
|
+
expect(result).toEqual(expected);
|
|
64
|
+
});
|
|
65
|
+
it('unflatObjects deep', () => {
|
|
66
|
+
const source = [
|
|
67
|
+
{
|
|
68
|
+
id: 9,
|
|
69
|
+
buyPrice: 1000,
|
|
70
|
+
number: 10,
|
|
71
|
+
'item.id': 1,
|
|
72
|
+
'item.name': 'Arepa de Yuca y Queso x 6',
|
|
73
|
+
'item.createdAt': 1,
|
|
74
|
+
'item.buyLedgerAccount': 1,
|
|
75
|
+
'item.saleLedgerAccount': 1,
|
|
76
|
+
'item.tax': 1,
|
|
77
|
+
'item.companyId': 1,
|
|
78
|
+
'item.measureUnit': 1,
|
|
79
|
+
'item.inventoryable': 1,
|
|
80
|
+
'item.buyLedgerAccount.id': 1,
|
|
81
|
+
'item.buyLedgerAccount.name': 'Ventas',
|
|
82
|
+
'item.saleLedgerAccount.id': 1,
|
|
83
|
+
'item.saleLedgerAccount.name': 'Ventas',
|
|
84
|
+
'item.tax.id': 1,
|
|
85
|
+
'item.tax.name': 'IVA 0%',
|
|
86
|
+
'item.tax.percentage': 0,
|
|
87
|
+
'item.tax.category.pk': '1',
|
|
88
|
+
'item.tax.category.name': 'Impuestos',
|
|
89
|
+
'item.tax.category.description': 'Nacionales',
|
|
90
|
+
'item.measureUnit.id': 1,
|
|
91
|
+
'item.measureUnit.name': 'Unidad',
|
|
92
|
+
'item.creatorId': null,
|
|
93
|
+
'item.creator.id': null,
|
|
94
|
+
'item.creator.name': null,
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
id: 15,
|
|
98
|
+
buyPrice: 2000,
|
|
99
|
+
number: 20,
|
|
100
|
+
'item.id': 2,
|
|
101
|
+
'item.name': 'Pony Malta 2 litros',
|
|
102
|
+
'item.createdAt': 1,
|
|
103
|
+
'item.companyId': 1,
|
|
104
|
+
'item.creatorId': 5,
|
|
105
|
+
'item.creator.id': 5,
|
|
106
|
+
'item.creator.name': 'Roshi Master',
|
|
107
|
+
},
|
|
108
|
+
];
|
|
109
|
+
const result = (0, sql_util_1.unflatObjects)(source);
|
|
110
|
+
const expected = [
|
|
111
|
+
{
|
|
112
|
+
id: 9,
|
|
113
|
+
buyPrice: 1000,
|
|
114
|
+
number: 10,
|
|
115
|
+
item: {
|
|
116
|
+
id: 1,
|
|
117
|
+
name: 'Arepa de Yuca y Queso x 6',
|
|
118
|
+
createdAt: 1,
|
|
119
|
+
buyLedgerAccount: {
|
|
120
|
+
id: 1,
|
|
121
|
+
name: 'Ventas',
|
|
122
|
+
},
|
|
123
|
+
saleLedgerAccount: {
|
|
124
|
+
id: 1,
|
|
125
|
+
name: 'Ventas',
|
|
126
|
+
},
|
|
127
|
+
tax: {
|
|
128
|
+
id: 1,
|
|
129
|
+
name: 'IVA 0%',
|
|
130
|
+
percentage: 0,
|
|
131
|
+
category: {
|
|
132
|
+
pk: '1',
|
|
133
|
+
name: 'Impuestos',
|
|
134
|
+
description: 'Nacionales',
|
|
135
|
+
},
|
|
136
|
+
},
|
|
137
|
+
companyId: 1,
|
|
138
|
+
measureUnit: {
|
|
139
|
+
id: 1,
|
|
140
|
+
name: 'Unidad',
|
|
141
|
+
},
|
|
142
|
+
inventoryable: 1,
|
|
143
|
+
},
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
id: 15,
|
|
147
|
+
buyPrice: 2000,
|
|
148
|
+
number: 20,
|
|
149
|
+
item: {
|
|
150
|
+
id: 2,
|
|
151
|
+
name: 'Pony Malta 2 litros',
|
|
152
|
+
createdAt: 1,
|
|
153
|
+
companyId: 1,
|
|
154
|
+
creatorId: 5,
|
|
155
|
+
creator: {
|
|
156
|
+
id: 5,
|
|
157
|
+
name: 'Roshi Master',
|
|
158
|
+
},
|
|
159
|
+
},
|
|
160
|
+
},
|
|
161
|
+
];
|
|
162
|
+
expect(result).toEqual(expected);
|
|
163
|
+
});
|
|
164
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3FsLnV0aWwuc3BlYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsL3NxbC51dGlsLnNwZWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFFQSx5Q0FBdUQ7QUFFdkQsRUFBRSxDQUFDLFlBQVksRUFBRSxHQUFHLEVBQUU7SUFDcEIsTUFBTSxDQUFDLElBQUEscUJBQVUsRUFBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMxQyxNQUFNLENBQUMsSUFBQSxxQkFBVSxFQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3JDLE1BQU0sQ0FBQyxJQUFBLHFCQUFVLEVBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDbkMsTUFBTSxJQUFJLEdBQXVCLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxXQUFXLEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUM7SUFDNUgsTUFBTSxDQUFDLElBQUEscUJBQVUsRUFBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDLEVBQUUsOENBQThDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUMzSCxDQUFDLENBQUMsQ0FBQztBQUVILEVBQUUsQ0FBQyx1QkFBdUIsRUFBRSxHQUFHLEVBQUU7SUFDL0IsTUFBTSxJQUFJLEdBQUcsSUFBQSx3QkFBYSxFQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3RDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDN0Is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LElBQUksRUFBRSxxQkFBcUI7Z0JBQzNCLFNBQVMsRUFBRSxDQUFDO2dCQUNaLFNBQVMsRUFBRSxDQUFDO2dCQUNaLFNBQVMsRUFBRSxDQUFDO2dCQUNaLE9BQU8sRUFBRTtvQkFDUCxFQUFFLEVBQUUsQ0FBQztvQkFDTCxJQUFJLEVBQUUsY0FBYztpQkFDckI7YUFDRjtTQUNGO0tBQ0YsQ0FBQztJQUNGLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDbkMsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJdGVtLCBTdG9yZWhvdXNlLCBJdGVtQWRqdXN0bWVudCB9IGZyb20gJ0B1cWwvY29yZS90ZXN0JztcbmltcG9ydCB7IFF1ZXJ5U29ydE1hcCB9IGZyb20gJ0B1cWwvY29yZS90eXBlJztcbmltcG9ydCB7IGZsYXRPYmplY3QsIHVuZmxhdE9iamVjdHMgfSBmcm9tICcuL3NxbC51dGlsJztcblxuaXQoJ2ZsYXRPYmplY3QnLCAoKSA9PiB7XG4gIGV4cGVjdChmbGF0T2JqZWN0KHVuZGVmaW5lZCkpLnRvRXF1YWwoe30pO1xuICBleHBlY3QoZmxhdE9iamVjdChudWxsKSkudG9FcXVhbCh7fSk7XG4gIGV4cGVjdChmbGF0T2JqZWN0KHt9KSkudG9FcXVhbCh7fSk7XG4gIGNvbnN0IHNvcnQ6IFF1ZXJ5U29ydE1hcDxJdGVtPiA9IHsgbmFtZTogMSwgbWVhc3VyZVVuaXQ6IHsgbmFtZTogLTEsIGNhdGVnb3J5OiB7IGNyZWF0b3I6IHsgcHJvZmlsZTogeyBwaWN0dXJlOiAxIH0gfSB9IH0gfTtcbiAgZXhwZWN0KGZsYXRPYmplY3Qoc29ydCkpLnRvRXF1YWwoeyBuYW1lOiAxLCAnbWVhc3VyZVVuaXQubmFtZSc6IC0xLCAnbWVhc3VyZVVuaXQuY2F0ZWdvcnkuY3JlYXRvci5wcm9maWxlLnBpY3R1cmUnOiAxIH0pO1xufSk7XG5cbml0KCd1bmZsYXRPYmplY3RzIC0gZW1wdHknLCAoKSA9PiB7XG4gIGNvbnN0IHJlczEgPSB1bmZsYXRPYmplY3RzKHVuZGVmaW5lZCk7XG4gIGV4cGVjdChyZXMxKS50b0JlKHVuZGVmaW5lZCk7XG4gIGNvbnN0IHJlczIgPSB1bmZsYXRPYmplY3RzKFtdKTtcbiAgZXhwZWN0KHJlczIpLnRvRXF1YWwoW10pO1xufSk7XG5cbml0KCd1bmZsYXRPYmplY3RzJywgKCkgPT4ge1xuICBjb25zdCBzb3VyY2U6IFN0b3JlaG91c2VbXSA9IFtcbiAgICB7XG4gICAgICBpZDogMSxcbiAgICAgIG5hbWU6ICdBdXhpbGlhcicsXG4gICAgICBhZGRyZXNzOiBudWxsLFxuICAgICAgZGVzY3JpcHRpb246IG51bGwsXG4gICAgICBjcmVhdGVkQXQ6IDEsXG4gICAgICB1cGRhdGVkQXQ6IG51bGwsXG4gICAgICBjcmVhdG9ySWQ6IDEsXG4gICAgICBjb21wYW55SWQ6IDEsXG4gICAgfSxcbiAgICB7XG4gICAgICBpZDogMixcbiAgICAgIG5hbWU6ICdQcmluY2lwYWwnLFxuICAgICAgYWRkcmVzczogbnVsbCxcbiAgICAgIGRlc2NyaXB0aW9uOiBudWxsLFxuICAgICAgY3JlYXRlZEF0OiAxLFxuICAgICAgdXBkYXRlZEF0OiAxNTc4NzU5NTE5OTEzLFxuICAgICAgY3JlYXRvcklkOiAxLFxuICAgICAgY29tcGFueUlkOiAxLFxuICAgIH0sXG4gIF07XG4gIGNvbnN0IHJlc3VsdCA9IHVuZmxhdE9iamVjdHMoc291cmNlKTtcbiAgY29uc3QgZXhwZWN0ZWQ6IFN0b3JlaG91c2VbXSA9IFtcbiAgICB7XG4gICAgICBpZDogMSxcbiAgICAgIG5hbWU6ICdBdXhpbGlhcicsXG4gICAgICBhZGRyZXNzOiBudWxsLFxuICAgICAgZGVzY3JpcHRpb246IG51bGwsXG4gICAgICBjcmVhdGVkQXQ6IDEsXG4gICAgICB1cGRhdGVkQXQ6IG51bGwsXG4gICAgICBjcmVhdG9ySWQ6IDEsXG4gICAgICBjb21wYW55SWQ6IDEsXG4gICAgfSxcbiAgICB7XG4gICAgICBpZDogMixcbiAgICAgIG5hbWU6ICdQcmluY2lwYWwnLFxuICAgICAgYWRkcmVzczogbnVsbCxcbiAgICAgIGRlc2NyaXB0aW9uOiBudWxsLFxuICAgICAgY3JlYXRlZEF0OiAxLFxuICAgICAgdXBkYXRlZEF0OiAxNTc4NzU5NTE5OTEzLFxuICAgICAgY3JlYXRvcklkOiAxLFxuICAgICAgY29tcGFueUlkOiAxLFxuICAgIH0sXG4gIF07XG4gIGV4cGVjdChyZXN1bHQpLnRvRXF1YWwoZXhwZWN0ZWQpO1xufSk7XG5cbml0KCd1bmZsYXRPYmplY3RzIGRlZXAnLCAoKSA9PiB7XG4gIGNvbnN0IHNvdXJjZSA9IFtcbiAgICB7XG4gICAgICBpZDogOSxcbiAgICAgIGJ1eVByaWNlOiAxMDAwLFxuICAgICAgbnVtYmVyOiAxMCxcbiAgICAgICdpdGVtLmlkJzogMSxcbiAgICAgICdpdGVtLm5hbWUnOiAnQXJlcGEgZGUgWXVjYSB5IFF1ZXNvIHggNicsXG4gICAgICAnaXRlbS5jcmVhdGVkQXQnOiAxLFxuICAgICAgJ2l0ZW0uYnV5TGVkZ2VyQWNjb3VudCc6IDEsXG4gICAgICAnaXRlbS5zYWxlTGVkZ2VyQWNjb3VudCc6IDEsXG4gICAgICAnaXRlbS50YXgnOiAxLFxuICAgICAgJ2l0ZW0uY29tcGFueUlkJzogMSxcbiAgICAgICdpdGVtLm1lYXN1cmVVbml0JzogMSxcbiAgICAgICdpdGVtLmludmVudG9yeWFibGUnOiAxLFxuICAgICAgJ2l0ZW0uYnV5TGVkZ2VyQWNjb3VudC5pZCc6IDEsXG4gICAgICAnaXRlbS5idXlMZWRnZXJBY2NvdW50Lm5hbWUnOiAnVmVudGFzJyxcbiAgICAgICdpdGVtLnNhbGVMZWRnZXJBY2NvdW50LmlkJzogMSxcbiAgICAgICdpdGVtLnNhbGVMZWRnZXJBY2NvdW50Lm5hbWUnOiAnVmVudGFzJyxcbiAgICAgICdpdGVtLnRheC5pZCc6IDEsXG4gICAgICAnaXRlbS50YXgubmFtZSc6ICdJVkEgMCUnLFxuICAgICAgJ2l0ZW0udGF4LnBlcmNlbnRhZ2UnOiAwLFxuICAgICAgJ2l0ZW0udGF4LmNhdGVnb3J5LnBrJzogJzEnLFxuICAgICAgJ2l0ZW0udGF4LmNhdGVnb3J5Lm5hbWUnOiAnSW1wdWVzdG9zJyxcbiAgICAgICdpdGVtLnRheC5jYXRlZ29yeS5kZXNjcmlwdGlvbic6ICdOYWNpb25hbGVzJyxcbiAgICAgICdpdGVtLm1lYXN1cmVVbml0LmlkJzogMSxcbiAgICAgICdpdGVtLm1lYXN1cmVVbml0Lm5hbWUnOiAnVW5pZGFkJyxcbiAgICAgICdpdGVtLmNyZWF0b3JJZCc6IG51bGwgYXMgc3RyaW5nLFxuICAgICAgJ2l0ZW0uY3JlYXRvci5pZCc6IG51bGwgYXMgc3RyaW5nLFxuICAgICAgJ2l0ZW0uY3JlYXRvci5uYW1lJzogbnVsbCBhcyBzdHJpbmcsXG4gICAgfSxcbiAgICB7XG4gICAgICBpZDogMTUsXG4gICAgICBidXlQcmljZTogMjAwMCxcbiAgICAgIG51bWJlcjogMjAsXG4gICAgICAnaXRlbS5pZCc6IDIsXG4gICAgICAnaXRlbS5uYW1lJzogJ1BvbnkgTWFsdGEgMiBsaXRyb3MnLFxuICAgICAgJ2l0ZW0uY3JlYXRlZEF0JzogMSxcbiAgICAgICdpdGVtLmNvbXBhbnlJZCc6IDEsXG4gICAgICAnaXRlbS5jcmVhdG9ySWQnOiA1LFxuICAgICAgJ2l0ZW0uY3JlYXRvci5pZCc6IDUsXG4gICAgICAnaXRlbS5jcmVhdG9yLm5hbWUnOiAnUm9zaGkgTWFzdGVyJyxcbiAgICB9LFxuICBdO1xuICBjb25zdCByZXN1bHQgPSB1bmZsYXRPYmplY3RzKHNvdXJjZSBhcyBJdGVtW10pO1xuICBjb25zdCBleHBlY3RlZDogSXRlbUFkanVzdG1lbnRbXSA9IFtcbiAgICB7XG4gICAgICBpZDogOSxcbiAgICAgIGJ1eVByaWNlOiAxMDAwLFxuICAgICAgbnVtYmVyOiAxMCxcbiAgICAgIGl0ZW06IHtcbiAgICAgICAgaWQ6IDEsXG4gICAgICAgIG5hbWU6ICdBcmVwYSBkZSBZdWNhIHkgUXVlc28geCA2JyxcbiAgICAgICAgY3JlYXRlZEF0OiAxLFxuICAgICAgICBidXlMZWRnZXJBY2NvdW50OiB7XG4gICAgICAgICAgaWQ6IDEsXG4gICAgICAgICAgbmFtZTogJ1ZlbnRhcycsXG4gICAgICAgIH0sXG4gICAgICAgIHNhbGVMZWRnZXJBY2NvdW50OiB7XG4gICAgICAgICAgaWQ6IDEsXG4gICAgICAgICAgbmFtZTogJ1ZlbnRhcycsXG4gICAgICAgIH0sXG4gICAgICAgIHRheDoge1xuICAgICAgICAgIGlkOiAxLFxuICAgICAgICAgIG5hbWU6ICdJVkEgMCUnLFxuICAgICAgICAgIHBlcmNlbnRhZ2U6IDAsXG4gICAgICAgICAgY2F0ZWdvcnk6IHtcbiAgICAgICAgICAgIHBrOiAnMScsXG4gICAgICAgICAgICBuYW1lOiAnSW1wdWVzdG9zJyxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnTmFjaW9uYWxlcycsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgY29tcGFueUlkOiAxLFxuICAgICAgICBtZWFzdXJlVW5pdDoge1xuICAgICAgICAgIGlkOiAxLFxuICAgICAgICAgIG5hbWU6ICdVbmlkYWQnLFxuICAgICAgICB9LFxuICAgICAgICBpbnZlbnRvcnlhYmxlOiAxIGFzIGFueSBhcyBib29sZWFuLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGlkOiAxNSxcbiAgICAgIGJ1eVByaWNlOiAyMDAwLFxuICAgICAgbnVtYmVyOiAyMCxcbiAgICAgIGl0ZW06IHtcbiAgICAgICAgaWQ6IDIsXG4gICAgICAgIG5hbWU6ICdQb255IE1hbHRhIDIgbGl0cm9zJyxcbiAgICAgICAgY3JlYXRlZEF0OiAxLFxuICAgICAgICBjb21wYW55SWQ6IDEsXG4gICAgICAgIGNyZWF0b3JJZDogNSxcbiAgICAgICAgY3JlYXRvcjoge1xuICAgICAgICAgIGlkOiA1LFxuICAgICAgICAgIG5hbWU6ICdSb3NoaSBNYXN0ZXInLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9LFxuICBdO1xuICBleHBlY3QocmVzdWx0KS50b0VxdWFsKGV4cGVjdGVkKTtcbn0pO1xuIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const string_util_1 = require("./string.util");
|
|
4
|
+
it('kebabCase', () => {
|
|
5
|
+
const res1 = (0, string_util_1.kebabCase)('SomeWordsAndMore');
|
|
6
|
+
expect(res1).toBe('some-words-and-more');
|
|
7
|
+
const res2 = (0, string_util_1.kebabCase)('someWordsAndMore');
|
|
8
|
+
expect(res2).toBe('some-words-and-more');
|
|
9
|
+
});
|
|
10
|
+
it('upperFirst', () => {
|
|
11
|
+
const res1 = (0, string_util_1.upperFirst)('id');
|
|
12
|
+
expect(res1).toBe('Id');
|
|
13
|
+
const res2 = (0, string_util_1.upperFirst)('Id');
|
|
14
|
+
expect(res2).toBe('Id');
|
|
15
|
+
const res3 = (0, string_util_1.upperFirst)('idSomething');
|
|
16
|
+
expect(res3).toBe('IdSomething');
|
|
17
|
+
});
|
|
18
|
+
it('lowerFirst', () => {
|
|
19
|
+
const res1 = (0, string_util_1.lowerFirst)('id');
|
|
20
|
+
expect(res1).toBe('id');
|
|
21
|
+
const res2 = (0, string_util_1.lowerFirst)('Id');
|
|
22
|
+
expect(res2).toBe('id');
|
|
23
|
+
const res3 = (0, string_util_1.lowerFirst)('IdSomething');
|
|
24
|
+
expect(res3).toBe('idSomething');
|
|
25
|
+
});
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLnV0aWwuc3BlYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsL3N0cmluZy51dGlsLnNwZWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSwrQ0FBa0U7QUFFbEUsRUFBRSxDQUFDLFdBQVcsRUFBRSxHQUFHLEVBQUU7SUFDbkIsTUFBTSxJQUFJLEdBQUcsSUFBQSx1QkFBUyxFQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDM0MsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQ3pDLE1BQU0sSUFBSSxHQUFHLElBQUEsdUJBQVMsRUFBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQzNDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQztBQUMzQyxDQUFDLENBQUMsQ0FBQztBQUVILEVBQUUsQ0FBQyxZQUFZLEVBQUUsR0FBRyxFQUFFO0lBQ3BCLE1BQU0sSUFBSSxHQUFHLElBQUEsd0JBQVUsRUFBQyxJQUFJLENBQUMsQ0FBQztJQUM5QixNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hCLE1BQU0sSUFBSSxHQUFHLElBQUEsd0JBQVUsRUFBQyxJQUFJLENBQUMsQ0FBQztJQUM5QixNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hCLE1BQU0sSUFBSSxHQUFHLElBQUEsd0JBQVUsRUFBQyxhQUFhLENBQUMsQ0FBQztJQUN2QyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0FBQ25DLENBQUMsQ0FBQyxDQUFDO0FBRUgsRUFBRSxDQUFDLFlBQVksRUFBRSxHQUFHLEVBQUU7SUFDcEIsTUFBTSxJQUFJLEdBQUcsSUFBQSx3QkFBVSxFQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlCLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEIsTUFBTSxJQUFJLEdBQUcsSUFBQSx3QkFBVSxFQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlCLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEIsTUFBTSxJQUFJLEdBQUcsSUFBQSx3QkFBVSxFQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3ZDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7QUFDbkMsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBrZWJhYkNhc2UsIGxvd2VyRmlyc3QsIHVwcGVyRmlyc3QgfSBmcm9tICcuL3N0cmluZy51dGlsJztcblxuaXQoJ2tlYmFiQ2FzZScsICgpID0+IHtcbiAgY29uc3QgcmVzMSA9IGtlYmFiQ2FzZSgnU29tZVdvcmRzQW5kTW9yZScpO1xuICBleHBlY3QocmVzMSkudG9CZSgnc29tZS13b3Jkcy1hbmQtbW9yZScpO1xuICBjb25zdCByZXMyID0ga2ViYWJDYXNlKCdzb21lV29yZHNBbmRNb3JlJyk7XG4gIGV4cGVjdChyZXMyKS50b0JlKCdzb21lLXdvcmRzLWFuZC1tb3JlJyk7XG59KTtcblxuaXQoJ3VwcGVyRmlyc3QnLCAoKSA9PiB7XG4gIGNvbnN0IHJlczEgPSB1cHBlckZpcnN0KCdpZCcpO1xuICBleHBlY3QocmVzMSkudG9CZSgnSWQnKTtcbiAgY29uc3QgcmVzMiA9IHVwcGVyRmlyc3QoJ0lkJyk7XG4gIGV4cGVjdChyZXMyKS50b0JlKCdJZCcpO1xuICBjb25zdCByZXMzID0gdXBwZXJGaXJzdCgnaWRTb21ldGhpbmcnKTtcbiAgZXhwZWN0KHJlczMpLnRvQmUoJ0lkU29tZXRoaW5nJyk7XG59KTtcblxuaXQoJ2xvd2VyRmlyc3QnLCAoKSA9PiB7XG4gIGNvbnN0IHJlczEgPSBsb3dlckZpcnN0KCdpZCcpO1xuICBleHBlY3QocmVzMSkudG9CZSgnaWQnKTtcbiAgY29uc3QgcmVzMiA9IGxvd2VyRmlyc3QoJ0lkJyk7XG4gIGV4cGVjdChyZXMyKS50b0JlKCdpZCcpO1xuICBjb25zdCByZXMzID0gbG93ZXJGaXJzdCgnSWRTb21ldGhpbmcnKTtcbiAgZXhwZWN0KHJlczMpLnRvQmUoJ2lkU29tZXRoaW5nJyk7XG59KTtcbiJdfQ==
|