@uql/core 0.4.89 → 0.4.92
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 +35 -35
- package/package.json +4 -4
- package/dialect/abstractSqlDialect-spec.d.ts +0 -49
- package/dialect/abstractSqlDialect-spec.js +0 -765
- package/dialect/mysqlDialect.spec.d.ts +0 -6
- package/dialect/mysqlDialect.spec.js +0 -33
- package/dialect/postgresDialect.spec.d.ts +0 -1
- package/dialect/postgresDialect.spec.js +0 -139
- package/dialect/sqliteDialect.spec.d.ts +0 -1
- package/dialect/sqliteDialect.spec.js +0 -12
- package/entity/decorator/definition.spec.d.ts +0 -1
- package/entity/decorator/definition.spec.js +0 -725
- package/entity/decorator/relation.spec.d.ts +0 -1
- package/entity/decorator/relation.spec.js +0 -55
- package/options.spec.d.ts +0 -1
- package/options.spec.js +0 -27
- package/querier/abstractQuerier-it.d.ts +0 -41
- package/querier/abstractQuerier-it.js +0 -410
- package/querier/abstractSqlQuerier-it.d.ts +0 -9
- package/querier/abstractSqlQuerier-it.js +0 -19
- package/querier/abstractSqlQuerier-spec.d.ts +0 -53
- package/querier/abstractSqlQuerier-spec.js +0 -607
- package/querier/decorator/injectQuerier.spec.d.ts +0 -1
- package/querier/decorator/injectQuerier.spec.js +0 -108
- package/querier/decorator/transactional.spec.d.ts +0 -1
- package/querier/decorator/transactional.spec.js +0 -239
- package/repository/genericRepository.spec.d.ts +0 -1
- package/repository/genericRepository.spec.js +0 -86
- package/test/entityMock.d.ts +0 -180
- package/test/entityMock.js +0 -451
- package/test/index.d.ts +0 -3
- package/test/index.js +0 -7
- package/test/it.util.d.ts +0 -4
- package/test/it.util.js +0 -60
- package/test/spec.util.d.ts +0 -13
- package/test/spec.util.js +0 -54
- package/util/dialect.util.spec.d.ts +0 -1
- package/util/dialect.util.spec.js +0 -23
- package/util/object.util.spec.d.ts +0 -1
- package/util/object.util.spec.js +0 -26
- package/util/sql.util.spec.d.ts +0 -1
- package/util/sql.util.spec.js +0 -164
- package/util/string.util.spec.d.ts +0 -1
- package/util/string.util.spec.js +0 -26
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const tslib_1 = require("tslib");
|
|
4
|
-
const injectQuerier_1 = require("./injectQuerier");
|
|
5
|
-
describe('injectQuerier', () => {
|
|
6
|
-
it('no inject', () => {
|
|
7
|
-
class ServiceA {
|
|
8
|
-
save() { }
|
|
9
|
-
hello(param1, someQuerier) { }
|
|
10
|
-
}
|
|
11
|
-
expect((0, injectQuerier_1.getInjectedQuerierIndex)(ServiceA, 'save')).toBe(undefined);
|
|
12
|
-
expect((0, injectQuerier_1.getInjectedQuerierIndex)(ServiceA, 'hello')).toBe(undefined);
|
|
13
|
-
});
|
|
14
|
-
it('one', () => {
|
|
15
|
-
class ServiceA {
|
|
16
|
-
save(someQuerier) { }
|
|
17
|
-
update(param1, someQuerier) { }
|
|
18
|
-
}
|
|
19
|
-
tslib_1.__decorate([
|
|
20
|
-
tslib_1.__param(0, (0, injectQuerier_1.InjectQuerier)()),
|
|
21
|
-
tslib_1.__metadata("design:type", Function),
|
|
22
|
-
tslib_1.__metadata("design:paramtypes", [Object]),
|
|
23
|
-
tslib_1.__metadata("design:returntype", void 0)
|
|
24
|
-
], ServiceA.prototype, "save", null);
|
|
25
|
-
tslib_1.__decorate([
|
|
26
|
-
tslib_1.__param(1, (0, injectQuerier_1.InjectQuerier)()),
|
|
27
|
-
tslib_1.__metadata("design:type", Function),
|
|
28
|
-
tslib_1.__metadata("design:paramtypes", [String, Object]),
|
|
29
|
-
tslib_1.__metadata("design:returntype", void 0)
|
|
30
|
-
], ServiceA.prototype, "update", null);
|
|
31
|
-
expect((0, injectQuerier_1.getInjectedQuerierIndex)(ServiceA, 'save')).toBe(0);
|
|
32
|
-
expect((0, injectQuerier_1.getInjectedQuerierIndex)(ServiceA, 'update')).toBe(1);
|
|
33
|
-
});
|
|
34
|
-
it('inheritance', () => {
|
|
35
|
-
class ServiceA {
|
|
36
|
-
save(someQuerier) { }
|
|
37
|
-
}
|
|
38
|
-
tslib_1.__decorate([
|
|
39
|
-
tslib_1.__param(0, (0, injectQuerier_1.InjectQuerier)()),
|
|
40
|
-
tslib_1.__metadata("design:type", Function),
|
|
41
|
-
tslib_1.__metadata("design:paramtypes", [Object]),
|
|
42
|
-
tslib_1.__metadata("design:returntype", void 0)
|
|
43
|
-
], ServiceA.prototype, "save", null);
|
|
44
|
-
class ServiceB extends ServiceA {
|
|
45
|
-
}
|
|
46
|
-
class ServiceC extends ServiceB {
|
|
47
|
-
hello(someQuerier) { }
|
|
48
|
-
}
|
|
49
|
-
tslib_1.__decorate([
|
|
50
|
-
tslib_1.__param(0, (0, injectQuerier_1.InjectQuerier)()),
|
|
51
|
-
tslib_1.__metadata("design:type", Function),
|
|
52
|
-
tslib_1.__metadata("design:paramtypes", [Object]),
|
|
53
|
-
tslib_1.__metadata("design:returntype", void 0)
|
|
54
|
-
], ServiceC.prototype, "hello", null);
|
|
55
|
-
class ServiceD extends ServiceC {
|
|
56
|
-
}
|
|
57
|
-
class ServiceE extends ServiceB {
|
|
58
|
-
}
|
|
59
|
-
expect((0, injectQuerier_1.getInjectedQuerierIndex)(ServiceA, 'save')).toBe(0);
|
|
60
|
-
expect((0, injectQuerier_1.getInjectedQuerierIndex)(ServiceB, 'save')).toBe(0);
|
|
61
|
-
expect((0, injectQuerier_1.getInjectedQuerierIndex)(ServiceC, 'save')).toBe(0);
|
|
62
|
-
expect((0, injectQuerier_1.getInjectedQuerierIndex)(ServiceC, 'hello')).toBe(0);
|
|
63
|
-
expect((0, injectQuerier_1.getInjectedQuerierIndex)(ServiceD, 'save')).toBe(0);
|
|
64
|
-
expect((0, injectQuerier_1.getInjectedQuerierIndex)(ServiceC, 'hello')).toBe(0);
|
|
65
|
-
expect((0, injectQuerier_1.getInjectedQuerierIndex)(ServiceE, 'save')).toBe(0);
|
|
66
|
-
});
|
|
67
|
-
it('inheritance - overridden', () => {
|
|
68
|
-
class ServiceA {
|
|
69
|
-
save(someQuerier) { }
|
|
70
|
-
}
|
|
71
|
-
tslib_1.__decorate([
|
|
72
|
-
tslib_1.__param(0, (0, injectQuerier_1.InjectQuerier)()),
|
|
73
|
-
tslib_1.__metadata("design:type", Function),
|
|
74
|
-
tslib_1.__metadata("design:paramtypes", [Object]),
|
|
75
|
-
tslib_1.__metadata("design:returntype", void 0)
|
|
76
|
-
], ServiceA.prototype, "save", null);
|
|
77
|
-
class ServiceB extends ServiceA {
|
|
78
|
-
save(someQuerier) { }
|
|
79
|
-
}
|
|
80
|
-
class ServiceC extends ServiceA {
|
|
81
|
-
save(someQuerier) { }
|
|
82
|
-
}
|
|
83
|
-
tslib_1.__decorate([
|
|
84
|
-
tslib_1.__param(0, (0, injectQuerier_1.InjectQuerier)()),
|
|
85
|
-
tslib_1.__metadata("design:type", Function),
|
|
86
|
-
tslib_1.__metadata("design:paramtypes", [Object]),
|
|
87
|
-
tslib_1.__metadata("design:returntype", void 0)
|
|
88
|
-
], ServiceC.prototype, "save", null);
|
|
89
|
-
expect((0, injectQuerier_1.getInjectedQuerierIndex)(ServiceA, 'save')).toBe(0);
|
|
90
|
-
expect((0, injectQuerier_1.getInjectedQuerierIndex)(ServiceB, 'save')).toBe(undefined);
|
|
91
|
-
expect((0, injectQuerier_1.getInjectedQuerierIndex)(ServiceC, 'save')).toBe(0);
|
|
92
|
-
});
|
|
93
|
-
it('prevent duplicated injection', () => {
|
|
94
|
-
expect(() => {
|
|
95
|
-
class ServiceA {
|
|
96
|
-
save(someQuerier, anotherQuerier) { }
|
|
97
|
-
}
|
|
98
|
-
tslib_1.__decorate([
|
|
99
|
-
tslib_1.__param(0, (0, injectQuerier_1.InjectQuerier)()),
|
|
100
|
-
tslib_1.__param(1, (0, injectQuerier_1.InjectQuerier)()),
|
|
101
|
-
tslib_1.__metadata("design:type", Function),
|
|
102
|
-
tslib_1.__metadata("design:paramtypes", [Object, Object]),
|
|
103
|
-
tslib_1.__metadata("design:returntype", void 0)
|
|
104
|
-
], ServiceA.prototype, "save", null);
|
|
105
|
-
}).toThrow("@InjectQuerier() can only appears once in 'ServiceA.save'");
|
|
106
|
-
});
|
|
107
|
-
});
|
|
108
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5qZWN0UXVlcmllci5zcGVjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3F1ZXJpZXIvZGVjb3JhdG9yL2luamVjdFF1ZXJpZXIuc3BlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxtREFBeUU7QUFFekUsUUFBUSxDQUFDLGVBQWUsRUFBRSxHQUFHLEVBQUU7SUFDN0IsRUFBRSxDQUFDLFdBQVcsRUFBRSxHQUFHLEVBQUU7UUFDbkIsTUFBTSxRQUFRO1lBQ1osSUFBSSxLQUFJLENBQUM7WUFFVCxLQUFLLENBQUMsTUFBYyxFQUFFLFdBQXFCLElBQUcsQ0FBQztTQUNoRDtRQUVELE1BQU0sQ0FBQyxJQUFBLHVDQUF1QixFQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNsRSxNQUFNLENBQUMsSUFBQSx1Q0FBdUIsRUFBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDckUsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRTtRQUNiLE1BQU0sUUFBUTtZQUNaLElBQUksQ0FBa0IsV0FBcUIsSUFBRyxDQUFDO1lBRS9DLE1BQU0sQ0FBQyxNQUFjLEVBQW1CLFdBQXFCLElBQUcsQ0FBQztTQUNsRTtRQUhDO1lBQU0sbUJBQUEsSUFBQSw2QkFBYSxHQUFFLENBQUE7Ozs7NENBQTBCO1FBRS9DO1lBQXdCLG1CQUFBLElBQUEsNkJBQWEsR0FBRSxDQUFBOzs7OzhDQUEwQjtRQUduRSxNQUFNLENBQUMsSUFBQSx1Q0FBdUIsRUFBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUQsTUFBTSxDQUFDLElBQUEsdUNBQXVCLEVBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxD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LDZCQUFhLEdBQUUsQ0FBQTs7OztnREFBNkI7UUFFOUYsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLDJEQUEyRCxDQUFDLENBQUM7SUFDMUUsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFF1ZXJpZXIgfSBmcm9tICdAdXFsL2NvcmUvdHlwZSc7XG5pbXBvcnQgeyBnZXRJbmplY3RlZFF1ZXJpZXJJbmRleCwgSW5qZWN0UXVlcmllciB9IGZyb20gJy4vaW5qZWN0UXVlcmllcic7XG5cbmRlc2NyaWJlKCdpbmplY3RRdWVyaWVyJywgKCkgPT4ge1xuICBpdCgnbm8gaW5qZWN0JywgKCkgPT4ge1xuICAgIGNsYXNzIFNlcnZpY2VBIHtcbiAgICAgIHNhdmUoKSB7fVxuXG4gICAgICBoZWxsbyhwYXJhbTE6IHN0cmluZywgc29tZVF1ZXJpZXI/OiBRdWVyaWVyKSB7fVxuICAgIH1cblxuICAgIGV4cGVjdChnZXRJbmplY3RlZFF1ZXJpZXJJbmRleChTZXJ2aWNlQSwgJ3NhdmUnKSkudG9CZSh1bmRlZmluZWQpO1xuICAgIGV4cGVjdChnZXRJbmplY3RlZFF1ZXJpZXJJbmRleChTZXJ2aWNlQSwgJ2hlbGxvJykpLnRvQmUodW5kZWZpbmVkKTtcbiAgfSk7XG5cbiAgaXQoJ29uZScsICgpID0+IHtcbiAgICBjbGFzcyBTZXJ2aWNlQSB7XG4gICAgICBzYXZlKEBJbmplY3RRdWVyaWVyKCkgc29tZVF1ZXJpZXI/OiBRdWVyaWVyKSB7fVxuXG4gICAgICB1cGRhdGUocGFyYW0xOiBzdHJpbmcsIEBJbmplY3RRdWVyaWVyKCkgc29tZVF1ZXJpZXI/OiBRdWVyaWVyKSB7fVxuICAgIH1cblxuICAgIGV4cGVjdChnZXRJbmplY3RlZFF1ZXJpZXJJbmRleChTZXJ2aWNlQSwgJ3NhdmUnKSkudG9CZSgwKTtcbiAgICBleHBlY3QoZ2V0SW5qZWN0ZWRRdWVyaWVySW5kZXgoU2VydmljZUEsICd1cGRhdGUnKSkudG9CZSgxKTtcbiAgfSk7XG5cbiAgaXQoJ2luaGVyaXRhbmNlJywgKCkgPT4ge1xuICAgIGNsYXNzIFNlcnZpY2VBIHtcbiAgICAgIHNhdmUoQEluamVjdFF1ZXJpZXIoKSBzb21lUXVlcmllcj86IFF1ZXJpZXIpIHt9XG4gICAgfVxuICAgIGNsYXNzIFNlcnZpY2VCIGV4dGVuZHMgU2VydmljZUEge31cbiAgICBjbGFzcyBTZXJ2aWNlQyBleHRlbmRzIFNlcnZpY2VCIHtcbiAgICAgIGhlbGxvKEBJbmplY3RRdWVyaWVyKCkgc29tZVF1ZXJpZXI/OiBRdWVyaWVyKSB7fVxuICAgIH1cblxuICAgIGNsYXNzIFNlcnZpY2VEIGV4dGVuZHMgU2VydmljZUMge31cblxuICAgIGNsYXNzIFNlcnZpY2VFIGV4dGVuZHMgU2VydmljZUIge31cblxuICAgIGV4cGVjdChnZXRJbmplY3RlZFF1ZXJpZXJJbmRleChTZXJ2aWNlQSwgJ3NhdmUnKSkudG9CZSgwKTtcbiAgICBleHBlY3QoZ2V0SW5qZWN0ZWRRdWVyaWVySW5kZXgoU2VydmljZUIsICdzYXZlJykpLnRvQmUoMCk7XG4gICAgZXhwZWN0KGdldEluamVjdGVkUXVlcmllckluZGV4KFNlcnZpY2VDLCAnc2F2ZScpKS50b0JlKDApO1xuICAgIGV4cGVjdChnZXRJbmplY3RlZFF1ZXJpZXJJbmRleChTZXJ2aWNlQywgJ2hlbGxvJykpLnRvQmUoMCk7XG4gICAgZXhwZWN0KGdldEluamVjdGVkUXVlcmllckluZGV4KFNlcnZpY2VELCAnc2F2ZScpKS50b0JlKDApO1xuICAgIGV4cGVjdChnZXRJbmplY3RlZFF1ZXJpZXJJbmRleChTZXJ2aWNlQywgJ2hlbGxvJykpLnRvQmUoMCk7XG4gICAgZXhwZWN0KGdldEluamVjdGVkUXVlcmllckluZGV4KFNlcnZpY2VFLCAnc2F2ZScpKS50b0JlKDApO1xuICB9KTtcblxuICBpdCgnaW5oZXJpdGFuY2UgLSBvdmVycmlkZGVuJywgKCkgPT4ge1xuICAgIGNsYXNzIFNlcnZpY2VBIHtcbiAgICAgIHNhdmUoQEluamVjdFF1ZXJpZXIoKSBzb21lUXVlcmllcj86IFF1ZXJpZXIpIHt9XG4gICAgfVxuICAgIGNsYXNzIFNlcnZpY2VCIGV4dGVuZHMgU2VydmljZUEge1xuICAgICAgb3ZlcnJpZGUgc2F2ZShzb21lUXVlcmllcj86IFF1ZXJpZXIpIHt9XG4gICAgfVxuXG4gICAgY2xhc3MgU2VydmljZUMgZXh0ZW5kcyBTZXJ2aWNlQSB7XG4gICAgICBvdmVycmlkZSBzYXZlKEBJbmplY3RRdWVyaWVyKCkgc29tZVF1ZXJpZXI/OiBRdWVyaWVyKSB7fVxuICAgIH1cblxuICAgIGV4cGVjdChnZXRJbmplY3RlZFF1ZXJpZXJJbmRleChTZXJ2aWNlQSwgJ3NhdmUnKSkudG9CZSgwKTtcbiAgICBleHBlY3QoZ2V0SW5qZWN0ZWRRdWVyaWVySW5kZXgoU2VydmljZUIsICdzYXZlJykpLnRvQmUodW5kZWZpbmVkKTtcbiAgICBleHBlY3QoZ2V0SW5qZWN0ZWRRdWVyaWVySW5kZXgoU2VydmljZUMsICdzYXZlJykpLnRvQmUoMCk7XG4gIH0pO1xuXG4gIGl0KCdwcmV2ZW50IGR1cGxpY2F0ZWQgaW5qZWN0aW9uJywgKCkgPT4ge1xuICAgIGV4cGVjdCgoKSA9PiB7XG4gICAgICBjbGFzcyBTZXJ2aWNlQSB7XG4gICAgICAgIHNhdmUoQEluamVjdFF1ZXJpZXIoKSBzb21lUXVlcmllcj86IFF1ZXJpZXIsIEBJbmplY3RRdWVyaWVyKCkgYW5vdGhlclF1ZXJpZXI/OiBRdWVyaWVyKSB7fVxuICAgICAgfVxuICAgIH0pLnRvVGhyb3coXCJASW5qZWN0UXVlcmllcigpIGNhbiBvbmx5IGFwcGVhcnMgb25jZSBpbiAnU2VydmljZUEuc2F2ZSdcIik7XG4gIH0pO1xufSk7XG4iXX0=
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,239 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const tslib_1 = require("tslib");
|
|
4
|
-
const options_1 = require("@uql/core/options");
|
|
5
|
-
const injectQuerier_1 = require("./injectQuerier");
|
|
6
|
-
const transactional_1 = require("./transactional");
|
|
7
|
-
describe('transactional', () => {
|
|
8
|
-
let anotherQuerierPool;
|
|
9
|
-
beforeEach(() => {
|
|
10
|
-
const defaultQuerierSingleton = buildQuerierMock();
|
|
11
|
-
const anotherQuerierSingleton = buildQuerierMock();
|
|
12
|
-
(0, options_1.setDefaultQuerierPool)({
|
|
13
|
-
getQuerier: async () => defaultQuerierSingleton,
|
|
14
|
-
end: async () => undefined,
|
|
15
|
-
});
|
|
16
|
-
anotherQuerierPool = {
|
|
17
|
-
getQuerier: async () => anotherQuerierSingleton,
|
|
18
|
-
end: async () => undefined,
|
|
19
|
-
};
|
|
20
|
-
});
|
|
21
|
-
it('injectQuerier', async () => {
|
|
22
|
-
class ServiceA {
|
|
23
|
-
async save(querier) { }
|
|
24
|
-
}
|
|
25
|
-
tslib_1.__decorate([
|
|
26
|
-
(0, transactional_1.Transactional)(),
|
|
27
|
-
tslib_1.__param(0, (0, injectQuerier_1.InjectQuerier)()),
|
|
28
|
-
tslib_1.__metadata("design:type", Function),
|
|
29
|
-
tslib_1.__metadata("design:paramtypes", [Object]),
|
|
30
|
-
tslib_1.__metadata("design:returntype", Promise)
|
|
31
|
-
], ServiceA.prototype, "save", null);
|
|
32
|
-
const serviceA = new ServiceA();
|
|
33
|
-
await serviceA.save();
|
|
34
|
-
const defaultQuerier = await (0, options_1.getQuerier)();
|
|
35
|
-
expect(defaultQuerier.beginTransaction).toBeCalledTimes(1);
|
|
36
|
-
expect(defaultQuerier.commitTransaction).toBeCalledTimes(1);
|
|
37
|
-
expect(defaultQuerier.rollbackTransaction).toBeCalledTimes(0);
|
|
38
|
-
expect(defaultQuerier.release).toBeCalledTimes(1);
|
|
39
|
-
const anotherQuerier = await anotherQuerierPool.getQuerier();
|
|
40
|
-
expect(anotherQuerier.beginTransaction).toBeCalledTimes(0);
|
|
41
|
-
expect(anotherQuerier.commitTransaction).toBeCalledTimes(0);
|
|
42
|
-
expect(anotherQuerier.rollbackTransaction).toBeCalledTimes(0);
|
|
43
|
-
expect(anotherQuerier.release).toBeCalledTimes(0);
|
|
44
|
-
});
|
|
45
|
-
it('injectQuerier - querier and repositories', async () => {
|
|
46
|
-
class ServiceA {
|
|
47
|
-
async save(querier) { }
|
|
48
|
-
}
|
|
49
|
-
tslib_1.__decorate([
|
|
50
|
-
(0, transactional_1.Transactional)(),
|
|
51
|
-
tslib_1.__param(0, (0, injectQuerier_1.InjectQuerier)()),
|
|
52
|
-
tslib_1.__metadata("design:type", Function),
|
|
53
|
-
tslib_1.__metadata("design:paramtypes", [Object]),
|
|
54
|
-
tslib_1.__metadata("design:returntype", Promise)
|
|
55
|
-
], ServiceA.prototype, "save", null);
|
|
56
|
-
const serviceA = new ServiceA();
|
|
57
|
-
await serviceA.save();
|
|
58
|
-
const defaultQuerier = await (0, options_1.getQuerier)();
|
|
59
|
-
expect(defaultQuerier.beginTransaction).toBeCalledTimes(1);
|
|
60
|
-
expect(defaultQuerier.commitTransaction).toBeCalledTimes(1);
|
|
61
|
-
expect(defaultQuerier.rollbackTransaction).toBeCalledTimes(0);
|
|
62
|
-
expect(defaultQuerier.release).toBeCalledTimes(1);
|
|
63
|
-
const anotherQuerier = await anotherQuerierPool.getQuerier();
|
|
64
|
-
expect(anotherQuerier.beginTransaction).toBeCalledTimes(0);
|
|
65
|
-
expect(anotherQuerier.commitTransaction).toBeCalledTimes(0);
|
|
66
|
-
expect(anotherQuerier.rollbackTransaction).toBeCalledTimes(0);
|
|
67
|
-
expect(anotherQuerier.release).toBeCalledTimes(0);
|
|
68
|
-
});
|
|
69
|
-
it('injectQuerier propagation: supported', async () => {
|
|
70
|
-
class ServiceA {
|
|
71
|
-
async find(querier) { }
|
|
72
|
-
}
|
|
73
|
-
tslib_1.__decorate([
|
|
74
|
-
(0, transactional_1.Transactional)({ propagation: 'supported' }),
|
|
75
|
-
tslib_1.__param(0, (0, injectQuerier_1.InjectQuerier)()),
|
|
76
|
-
tslib_1.__metadata("design:type", Function),
|
|
77
|
-
tslib_1.__metadata("design:paramtypes", [Object]),
|
|
78
|
-
tslib_1.__metadata("design:returntype", Promise)
|
|
79
|
-
], ServiceA.prototype, "find", null);
|
|
80
|
-
const serviceA = new ServiceA();
|
|
81
|
-
await serviceA.find();
|
|
82
|
-
const defaultQuerier = await (0, options_1.getQuerier)();
|
|
83
|
-
expect(defaultQuerier.beginTransaction).toBeCalledTimes(0);
|
|
84
|
-
expect(defaultQuerier.commitTransaction).toBeCalledTimes(0);
|
|
85
|
-
expect(defaultQuerier.rollbackTransaction).toBeCalledTimes(0);
|
|
86
|
-
expect(defaultQuerier.release).toBeCalledTimes(1);
|
|
87
|
-
const anotherQuerier = await anotherQuerierPool.getQuerier();
|
|
88
|
-
expect(anotherQuerier.beginTransaction).toBeCalledTimes(0);
|
|
89
|
-
expect(anotherQuerier.commitTransaction).toBeCalledTimes(0);
|
|
90
|
-
expect(anotherQuerier.rollbackTransaction).toBeCalledTimes(0);
|
|
91
|
-
expect(anotherQuerier.release).toBeCalledTimes(0);
|
|
92
|
-
});
|
|
93
|
-
it('injectQuerier another querierPool', async () => {
|
|
94
|
-
class ServiceA {
|
|
95
|
-
async save(querier) { }
|
|
96
|
-
}
|
|
97
|
-
tslib_1.__decorate([
|
|
98
|
-
(0, transactional_1.Transactional)({ querierPool: anotherQuerierPool }),
|
|
99
|
-
tslib_1.__param(0, (0, injectQuerier_1.InjectQuerier)()),
|
|
100
|
-
tslib_1.__metadata("design:type", Function),
|
|
101
|
-
tslib_1.__metadata("design:paramtypes", [Object]),
|
|
102
|
-
tslib_1.__metadata("design:returntype", Promise)
|
|
103
|
-
], ServiceA.prototype, "save", null);
|
|
104
|
-
const serviceA = new ServiceA();
|
|
105
|
-
await serviceA.save();
|
|
106
|
-
const anotherQuerier = await anotherQuerierPool.getQuerier();
|
|
107
|
-
expect(anotherQuerier.beginTransaction).toBeCalledTimes(1);
|
|
108
|
-
expect(anotherQuerier.commitTransaction).toBeCalledTimes(1);
|
|
109
|
-
expect(anotherQuerier.rollbackTransaction).toBeCalledTimes(0);
|
|
110
|
-
expect(anotherQuerier.release).toBeCalledTimes(1);
|
|
111
|
-
const defaultQuerier = await (0, options_1.getQuerier)();
|
|
112
|
-
expect(defaultQuerier.beginTransaction).toBeCalledTimes(0);
|
|
113
|
-
expect(defaultQuerier.commitTransaction).toBeCalledTimes(0);
|
|
114
|
-
expect(defaultQuerier.rollbackTransaction).toBeCalledTimes(0);
|
|
115
|
-
expect(defaultQuerier.release).toBeCalledTimes(0);
|
|
116
|
-
});
|
|
117
|
-
it('injectQuerier and call super', async () => {
|
|
118
|
-
const deleteStub = jest.fn((id, querier) => { });
|
|
119
|
-
class ServiceA {
|
|
120
|
-
async delete(id, querier) {
|
|
121
|
-
deleteStub(id, querier);
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
tslib_1.__decorate([
|
|
125
|
-
(0, transactional_1.Transactional)(),
|
|
126
|
-
tslib_1.__param(1, (0, injectQuerier_1.InjectQuerier)()),
|
|
127
|
-
tslib_1.__metadata("design:type", Function),
|
|
128
|
-
tslib_1.__metadata("design:paramtypes", [String, Object]),
|
|
129
|
-
tslib_1.__metadata("design:returntype", Promise)
|
|
130
|
-
], ServiceA.prototype, "delete", null);
|
|
131
|
-
class ServiceB extends ServiceA {
|
|
132
|
-
async delete(id, querier) {
|
|
133
|
-
return super.delete(id, querier);
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
tslib_1.__decorate([
|
|
137
|
-
(0, transactional_1.Transactional)({ querierPool: anotherQuerierPool }),
|
|
138
|
-
tslib_1.__param(1, (0, injectQuerier_1.InjectQuerier)()),
|
|
139
|
-
tslib_1.__metadata("design:type", Function),
|
|
140
|
-
tslib_1.__metadata("design:paramtypes", [String, Object]),
|
|
141
|
-
tslib_1.__metadata("design:returntype", Promise)
|
|
142
|
-
], ServiceB.prototype, "delete", null);
|
|
143
|
-
const serviceB = new ServiceB();
|
|
144
|
-
await serviceB.delete('123');
|
|
145
|
-
const defaultQuerier = await (0, options_1.getQuerier)();
|
|
146
|
-
expect(deleteStub).toBeCalledTimes(1);
|
|
147
|
-
const anotherQuerier = await anotherQuerierPool.getQuerier();
|
|
148
|
-
expect(deleteStub).toHaveBeenCalledWith('123', anotherQuerier);
|
|
149
|
-
expect(anotherQuerier.beginTransaction).toBeCalledTimes(1);
|
|
150
|
-
expect(anotherQuerier.commitTransaction).toBeCalledTimes(1);
|
|
151
|
-
expect(anotherQuerier.rollbackTransaction).toBeCalledTimes(0);
|
|
152
|
-
expect(anotherQuerier.release).toBeCalledTimes(1);
|
|
153
|
-
expect(defaultQuerier.beginTransaction).toBeCalledTimes(0);
|
|
154
|
-
expect(defaultQuerier.commitTransaction).toBeCalledTimes(0);
|
|
155
|
-
expect(defaultQuerier.rollbackTransaction).toBeCalledTimes(0);
|
|
156
|
-
expect(defaultQuerier.release).toBeCalledTimes(0);
|
|
157
|
-
});
|
|
158
|
-
it('throw', async () => {
|
|
159
|
-
class ServiceA {
|
|
160
|
-
async save(querier) {
|
|
161
|
-
throw new Error('Some Error');
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
tslib_1.__decorate([
|
|
165
|
-
(0, transactional_1.Transactional)({ propagation: 'supported' }),
|
|
166
|
-
tslib_1.__param(0, (0, injectQuerier_1.InjectQuerier)()),
|
|
167
|
-
tslib_1.__metadata("design:type", Function),
|
|
168
|
-
tslib_1.__metadata("design:paramtypes", [Object]),
|
|
169
|
-
tslib_1.__metadata("design:returntype", Promise)
|
|
170
|
-
], ServiceA.prototype, "save", null);
|
|
171
|
-
const serviceA = new ServiceA();
|
|
172
|
-
await expect(serviceA.save()).rejects.toThrow('Some Error');
|
|
173
|
-
const defaultQuerier = await (0, options_1.getQuerier)();
|
|
174
|
-
expect(defaultQuerier.beginTransaction).toBeCalledTimes(0);
|
|
175
|
-
expect(defaultQuerier.commitTransaction).toBeCalledTimes(0);
|
|
176
|
-
expect(defaultQuerier.rollbackTransaction).toBeCalledTimes(0);
|
|
177
|
-
expect(defaultQuerier.release).toBeCalledTimes(1);
|
|
178
|
-
const anotherQuerier = await anotherQuerierPool.getQuerier();
|
|
179
|
-
expect(anotherQuerier.beginTransaction).toBeCalledTimes(0);
|
|
180
|
-
expect(anotherQuerier.commitTransaction).toBeCalledTimes(0);
|
|
181
|
-
expect(anotherQuerier.rollbackTransaction).toBeCalledTimes(0);
|
|
182
|
-
expect(anotherQuerier.release).toBeCalledTimes(0);
|
|
183
|
-
});
|
|
184
|
-
it('throw inside transaction', async () => {
|
|
185
|
-
class ServiceA {
|
|
186
|
-
async save(querier) {
|
|
187
|
-
throw new Error('Some Error');
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
tslib_1.__decorate([
|
|
191
|
-
(0, transactional_1.Transactional)(),
|
|
192
|
-
tslib_1.__param(0, (0, injectQuerier_1.InjectQuerier)()),
|
|
193
|
-
tslib_1.__metadata("design:type", Function),
|
|
194
|
-
tslib_1.__metadata("design:paramtypes", [Object]),
|
|
195
|
-
tslib_1.__metadata("design:returntype", Promise)
|
|
196
|
-
], ServiceA.prototype, "save", null);
|
|
197
|
-
const serviceA = new ServiceA();
|
|
198
|
-
await expect(serviceA.save()).rejects.toThrow('Some Error');
|
|
199
|
-
const defaultQuerier = await (0, options_1.getQuerier)();
|
|
200
|
-
expect(defaultQuerier.beginTransaction).toBeCalledTimes(1);
|
|
201
|
-
expect(defaultQuerier.commitTransaction).toBeCalledTimes(0);
|
|
202
|
-
expect(defaultQuerier.rollbackTransaction).toBeCalledTimes(1);
|
|
203
|
-
expect(defaultQuerier.release).toBeCalledTimes(1);
|
|
204
|
-
const anotherQuerier = await anotherQuerierPool.getQuerier();
|
|
205
|
-
expect(anotherQuerier.beginTransaction).toBeCalledTimes(0);
|
|
206
|
-
expect(anotherQuerier.commitTransaction).toBeCalledTimes(0);
|
|
207
|
-
expect(anotherQuerier.rollbackTransaction).toBeCalledTimes(0);
|
|
208
|
-
expect(anotherQuerier.release).toBeCalledTimes(0);
|
|
209
|
-
});
|
|
210
|
-
it('missing injectQuerier', () => {
|
|
211
|
-
expect(() => {
|
|
212
|
-
class ServiceA {
|
|
213
|
-
async find() { }
|
|
214
|
-
}
|
|
215
|
-
tslib_1.__decorate([
|
|
216
|
-
(0, transactional_1.Transactional)(),
|
|
217
|
-
tslib_1.__metadata("design:type", Function),
|
|
218
|
-
tslib_1.__metadata("design:paramtypes", []),
|
|
219
|
-
tslib_1.__metadata("design:returntype", Promise)
|
|
220
|
-
], ServiceA.prototype, "find", null);
|
|
221
|
-
}).toThrow("missing decorator @InjectQuerier() in 'ServiceA.find'");
|
|
222
|
-
});
|
|
223
|
-
});
|
|
224
|
-
function buildQuerierMock() {
|
|
225
|
-
const querier = {
|
|
226
|
-
beginTransaction: jest.fn(async () => {
|
|
227
|
-
querier.hasOpenTransaction = true;
|
|
228
|
-
}),
|
|
229
|
-
commitTransaction: jest.fn(async () => {
|
|
230
|
-
querier.hasOpenTransaction = undefined;
|
|
231
|
-
}),
|
|
232
|
-
rollbackTransaction: jest.fn(async () => {
|
|
233
|
-
querier.hasOpenTransaction = undefined;
|
|
234
|
-
}),
|
|
235
|
-
release: jest.fn(async () => { }),
|
|
236
|
-
};
|
|
237
|
-
return querier;
|
|
238
|
-
}
|
|
239
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25hbC5zcGVjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3F1ZXJpZXIvZGVjb3JhdG9yL3RyYW5zYWN0aW9uYWwuc3BlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrQ0FBc0U7QUFFdEUsbURBQWdEO0FBQ2hELG1EQUFnRDtBQUVoRCxRQUFRLENBQUMsZUFBZSxFQUFFLEdBQUcsRUFBRTtJQUM3QixJQUFJLGtCQUErQixDQUFDO0lBRXBDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7UUFDZCxNQUFNLHVCQUF1QixHQUFHLGdCQUFnQixFQUFFLENBQUM7UUFDbkQsTUFBTSx1QkFBdUIsR0FBRyxnQkFBZ0IsRUFBRSxDQUFDO1FBRW5ELElBQUEsK0JBQXFCLEVBQUM7WUFDcEIsVUFBVSxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsdUJBQXVCO1lBQy9DLEdBQUcsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLFNBQVM7U0FDM0IsQ0FBQyxDQUFDO1FBRUgsa0JBQWtCLEdBQUc7WUFDbkIsVUFBVSxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsdUJBQXVCO1lBQy9DLEdBQUcsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLFNBQVM7U0FDM0IsQ0FBQztJQUNKLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLGVBQWUsRUFBRSxLQUFLLElBQUksRUFBRTtRQUM3QixNQUFNLFFBQVE7WUFFWixLQUFLLENBQUMsSUFBSSxDQUFrQixPQUFpQixJQUFHLENBQUM7U0FDbEQ7UUFEQztZQURDLElBQUEsNkJBQWEsR0FBRTtZQUNKLG1CQUFBLElBQUEsNkJBQWEsR0FBRSxDQUFBOzs7OzRDQUFzQjtRQUduRCxNQUFNLFFBQVEsR0FBRyxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQ2hDLE1BQU0sUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBRXRCLE1BQU0sY0FBYyxHQUFHLE1BQU0sSUFBQSxvQkFBVSxHQUFFLENBQUM7UUFFMUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzRCxNQUFNLENBQUMsY0FBYyxDQUFDLGlCQUFpQixDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVELE1BQU0sQ0FBQyxjQUFjLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFbEQsTUFBTSxjQUFjLEdBQUcsTUFBTSxrQkFBa0IsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUU3RCxNQUFNLENBQUMsY0FBYyxDQUFDLGdCQUFnQixDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNELE1BQU0sQ0FBQyxjQUFjLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM5RCxNQUFNLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNwRCxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQywwQ0FBMEMsRUFBRSxLQUFLLElBQUksRUFBRTtRQUN4RCxNQUFNLFFBQVE7WUFFWixLQUFLLENBQUMsSUFBSSxDQUFrQixPQUFpQixJQUFHLENBQUM7U0FDbEQ7UUFEQztZQURDLElBQUEsNkJBQWEsR0FBRTtZQUNKLG1CQUFBLElBQUEsNkJBQWEsR0FBRSxDQUFBOzs7OzRDQUFzQjtRQUduRCxNQUFNLFFBQVEsR0FBRyxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQ2hDLE1BQU0sUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBRXRCLE1BQU0sY0FBYyxHQUFHLE1BQU0sSUFBQSxvQkFBVSxHQUFFLENBQUM7UUFFMUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzRCxNQUFNLENBQUMsY0FBYyxDQUFDLGlCQUFpQixDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVELE1BQU0sQ0FBQyxjQUFjLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFbEQsTUFBTSxjQUFjLEdBQUcsTUFBTSxrQkFBa0IsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUU3RCxNQUFNLENBQUMsY0FBYyxDQUFDLGdCQUFnQixDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNELE1BQU0sQ0FBQyxjQUFjLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM5RCxNQUFNLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNwRCxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyxzQ0FBc0MsRUFBRSxLQUFLLElBQUksRUFBRTtRQUNwRCxNQUFNLFFBQVE7WUFFWixLQUFLLENBQUMsSUFBSSxDQUFrQixPQUFpQixJQUFHLENBQUM7U0FDbEQ7UUFEQztZQURDLElBQUEsNkJBQWEsRUFBQyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsQ0FBQztZQUNoQyxtQkFBQSxJQUFBLDZCQUFhLEdBQUUsQ0FBQTs7Ozs0Q0FBc0I7UUFHbkQsTUFBTSxRQUFRLEdBQUcsSUFBSSxRQUFRLEVBQUUsQ0FBQztRQUNoQyxNQUFNLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUV0QixNQUFNLGNBQWMsR0FBRyxNQUFNLElBQUEsb0JBQVUsR0FBRSxDQUFDO1FBRTFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0QsTUFBTSxDQUFDLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM1RCxNQUFNLENBQUMsY0FBYyxDQUFDLG1CQUFtQixDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzlELE1BQU0sQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRWxELE1BQU0sY0FBYyxHQUFHLE1BQU0sa0JBQWtCLENBQUMsVUFBVSxFQUFFLENBQUM7UUFFN0QsTUFBTSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzRCxNQUFNLENBQUMsY0FBYyxDQUFDLGlCQUFpQixDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVELE1BQU0sQ0FBQyxjQUFjLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEQsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsbUNBQW1DLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDakQsTUFBTSxRQUFRO1lBRVosS0FBSyxDQUFDLElBQUksQ0FBa0IsT0FBaUIsSUFBRyxDQUFDO1NBQ2xEO1FBREM7WUFEQyxJQUFBLDZCQUFhLEVBQUMsRUFBRSxXQUFXLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQztZQUN2QyxtQkFBQSxJQUFBLDZCQUFhLEdBQUUsQ0FBQTs7Ozs0Q0FBc0I7UUFHbkQsTUFBTSxRQUFRLEdBQUcsSUFBSSxRQUFRLEVBQUUsQ0FBQztRQUNoQyxNQUFNLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUV0QixNQUFNLGNBQWMsR0FBRyxNQUFNLGtCQUFrQixDQUFDLFVBQVUsRUFBRSxDQUFDO1FBRTdELE1BQU0sQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0QsTUFBTSxDQUFDLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM1RCxNQUFNLENBQUMsY0FBYyxDQUFDLG1CQUFtQixDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzlELE1BQU0sQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRWxELE1BQU0sY0FBYyxHQUFHLE1BQU0sSUFBQSxvQkFBVSxHQUFFLENBQUM7UUFFMUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzRCxNQUFNLENBQUMsY0FBYyxDQUFDLGlCQUFpQixDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVELE1BQU0sQ0FBQyxjQUFjLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEQsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsOEJBQThCLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDNUMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQVUsRUFBRSxPQUFnQixFQUFFLEVBQUUsR0FBRSxDQUFDLENBQUMsQ0FBQztRQUVqRSxNQUFNLFFBQVE7WUFFWixLQUFLLENBQUMsTUFBTSxDQUFDLEVBQVUsRUFBbUIsT0FBaUI7Z0JBQ3pELFVBQVUsQ0FBQyxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDMUIsQ0FBQztTQUNGO1FBSEM7WUFEQyxJQUFBLDZCQUFhLEdBQUU7WUFDVSxtQkFBQSxJQUFBLDZCQUFhLEdBQUUsQ0FBQTs7Ozs4Q0FFeEM7UUFHSCxNQUFNLFFBQVMsU0FBUSxRQUFRO1lBRXBCLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBVSxFQUFtQixPQUFpQjtnQkFDbEUsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUNuQyxDQUFDO1NBQ0Y7UUFIQztZQURDLElBQUEsNkJBQWEsRUFBQyxFQUFFLFdBQVcsRUFBRSxrQkFBa0IsRUFBRSxDQUFDO1lBQ2hCLG1CQUFBLElBQUEsNkJBQWEsR0FBRSxDQUFBOzs7OzhDQUVqRDtRQUdILE1BQU0sUUFBUSxHQUFHLElBQUksUUFBUSxFQUFFLENBQUM7UUFDaEMsTUFBTSxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTdCLE1BQU0sY0FBYyxHQUFHLE1BQU0sSUFBQSxvQkFBVSxHQUFFLENBQUM7UUFFMUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUV0QyxNQUFNLGNBQWMsR0FBRyxNQUFNLGtCQUFrQixDQUFDLFVBQVUsRUFBRSxDQUFDO1FBRTdELE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFFL0QsTUFBTSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzRCxNQUFNLENBQUMsY0FBYyxDQUFDLGlCQUFpQixDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVELE1BQU0sQ0FBQyxjQUFjLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFbEQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzRCxNQUFNLENBQUMsY0FBYyxDQUFDLGlCQUFpQixDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVELE1BQU0sQ0FBQyxjQUFjLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEQsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsT0FBTyxFQUFFLEtBQUssSUFBSSxFQUFFO1FBQ3JCLE1BQU0sUUFBUTtZQUVaLEtBQUssQ0FBQyxJQUFJLENBQWtCLE9BQWlCO2dCQUMzQyxNQUFNLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ2hDLENBQUM7U0FDRjtRQUhDO1lBREMsSUFBQSw2QkFBYSxFQUFDLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxDQUFDO1lBQ2hDLG1CQUFBLElBQUEsNkJBQWEsR0FBRSxDQUFBOzs7OzRDQUUxQjtRQUdILE1BQU0sUUFBUSxHQUFHLElBQUksUUFBUSxFQUFFLENBQUM7UUFFaEMsTUFBTSxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUU1RCxNQUFNLGNBQWMsR0FBRyxNQUFNLElBQUEsb0JBQVUsR0FBRSxDQUFDO1FBRTFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0QsTUFBTSxDQUFDLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM1RCxNQUFNLENBQUMsY0FBYyxDQUFDLG1CQUFtQixDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzlELE1BQU0sQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRWxELE1BQU0sY0FBYyxHQUFHLE1BQU0sa0JBQWtCLENBQUMsVUFBVSxFQUFFLENBQUM7UUFFN0QsTUFBTSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzRCxNQUFNLENBQUMsY0FBYyxDQUFDLGlCQUFpQixDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVELE1BQU0sQ0FBQyxjQUFjLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEQsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsMEJBQTBCLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDeEMsTUFBTSxRQUFRO1lBRVosS0FBSyxDQUFDLElBQUksQ0FBa0IsT0FBaUI7Z0JBQzNDLE1BQU0sSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDaEMsQ0FBQztTQUNGO1FBSEM7WUFEQyxJQUFBLDZCQUFhLEdBQUU7WUFDSixtQkFBQSxJQUFBLDZCQUFhLEdBQUUsQ0FBQTs7Ozs0Q0FFMUI7UUFHSCxNQUFNLFFBQVEsR0FBRyxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBRWhDLE1BQU0sTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFNUQsTUFBTSxjQUFjLEdBQUcsTUFBTSxJQUFBLG9CQUFVLEdBQUUsQ0FBQztRQUUxQyxNQUFNLENBQUMsY0FBYyxDQUFDLGdCQUFnQixDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNELE1BQU0sQ0FBQyxjQUFjLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM5RCxNQUFNLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVsRCxNQUFNLGNBQWMsR0FBRyxNQUFNLGtCQUFrQixDQUFDLFVBQVUsRUFBRSxDQUFDO1FBRTdELE1BQU0sQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0QsTUFBTSxDQUFDLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM1RCxNQUFNLENBQUMsY0FBYyxDQUFDLG1CQUFtQixDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzlELE1BQU0sQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3BELENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLHVCQUF1QixFQUFFLEdBQUcsRUFBRTtRQUMvQixNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ1YsTUFBTSxRQUFRO2dCQUVaLEtBQUssQ0FBQyxJQUFJLEtBQUksQ0FBQzthQUNoQjtZQURDO2dCQURDLElBQUEsNkJBQWEsR0FBRTs7OztnREFDRDtRQUVuQixDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsdURBQXVELENBQUMsQ0FBQztJQUN0RSxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDO0FBRUgsU0FBUyxnQkFBZ0I7SUFDdkIsTUFBTSxPQUFPLEdBQUc7UUFDZCxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssSUFBSSxFQUFFO1lBQ25DLE9BQU8sQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUM7UUFDcEMsQ0FBQyxDQUFDO1FBQ0YsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLElBQUksRUFBRTtZQUNwQyxPQUFPLENBQUMsa0JBQWtCLEdBQUcsU0FBUyxDQUFDO1FBQ3pDLENBQUMsQ0FBQztRQUNGLG1CQUFtQixFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxJQUFJLEVBQUU7WUFDdEMsT0FBTyxDQUFDLGtCQUFrQixHQUFHLFNBQVMsQ0FBQztRQUN6QyxDQUFDLENBQUM7UUFDRixPQUFPLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLElBQUksRUFBRSxHQUFFLENBQUMsQ0FBQztLQUNRLENBQUM7SUFDM0MsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdldFF1ZXJpZXIsIHNldERlZmF1bHRRdWVyaWVyUG9vbCB9IGZyb20gJ0B1cWwvY29yZS9vcHRpb25zJztcbmltcG9ydCB7IFF1ZXJpZXIsIFF1ZXJpZXJQb29sLCBXcml0YWJsZSB9IGZyb20gJ0B1cWwvY29yZS90eXBlJztcbmltcG9ydCB7IEluamVjdFF1ZXJpZXIgfSBmcm9tICcuL2luamVjdFF1ZXJpZXInO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25hbCB9IGZyb20gJy4vdHJhbnNhY3Rpb25hbCc7XG5cbmRlc2NyaWJlKCd0cmFuc2FjdGlvbmFsJywgKCkgPT4ge1xuICBsZXQgYW5vdGhlclF1ZXJpZXJQb29sOiBRdWVyaWVyUG9vbDtcblxuICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICBjb25zdCBkZWZhdWx0UXVlcmllclNpbmdsZXRvbiA9IGJ1aWxkUXVlcmllck1vY2soKTtcbiAgICBjb25zdCBhbm90aGVyUXVlcmllclNpbmdsZXRvbiA9IGJ1aWxkUXVlcmllck1vY2soKTtcblxuICAgIHNldERlZmF1bHRRdWVyaWVyUG9vbCh7XG4gICAgICBnZXRRdWVyaWVyOiBhc3luYyAoKSA9PiBkZWZhdWx0UXVlcmllclNpbmdsZXRvbixcbiAgICAgIGVuZDogYXN5bmMgKCkgPT4gdW5kZWZpbmVkLFxuICAgIH0pO1xuXG4gICAgYW5vdGhlclF1ZXJpZXJQb29sID0ge1xuICAgICAgZ2V0UXVlcmllcjogYXN5bmMgKCkgPT4gYW5vdGhlclF1ZXJpZXJTaW5nbGV0b24sXG4gICAgICBlbmQ6IGFzeW5jICgpID0+IHVuZGVmaW5lZCxcbiAgICB9O1xuICB9KTtcblxuICBpdCgnaW5qZWN0UXVlcmllcicsIGFzeW5jICgpID0+IHtcbiAgICBjbGFzcyBTZXJ2aWNlQSB7XG4gICAgICBAVHJhbnNhY3Rpb25hbCgpXG4gICAgICBhc3luYyBzYXZlKEBJbmplY3RRdWVyaWVyKCkgcXVlcmllcj86IFF1ZXJpZXIpIHt9XG4gICAgfVxuXG4gICAgY29uc3Qgc2VydmljZUEgPSBuZXcgU2VydmljZUEoKTtcbiAgICBhd2FpdCBzZXJ2aWNlQS5zYXZlKCk7XG5cbiAgICBjb25zdCBkZWZhdWx0UXVlcmllciA9IGF3YWl0IGdldFF1ZXJpZXIoKTtcblxuICAgIGV4cGVjdChkZWZhdWx0UXVlcmllci5iZWdpblRyYW5zYWN0aW9uKS50b0JlQ2FsbGVkVGltZXMoMSk7XG4gICAgZXhwZWN0KGRlZmF1bHRRdWVyaWVyLmNvbW1pdFRyYW5zYWN0aW9uKS50b0JlQ2FsbGVkVGltZXMoMSk7XG4gICAgZXhwZWN0KGRlZmF1bHRRdWVyaWVyLnJvbGxiYWNrVHJhbnNhY3Rpb24pLnRvQmVDYWxsZWRUaW1lcygwKTtcbiAgICBleHBlY3QoZGVmYXVsdFF1ZXJpZXIucmVsZWFzZSkudG9CZUNhbGxlZFRpbWVzKDEpO1xuXG4gICAgY29uc3QgYW5vdGhlclF1ZXJpZXIgPSBhd2FpdCBhbm90aGVyUXVlcmllclBvb2wuZ2V0UXVlcmllcigpO1xuXG4gICAgZXhwZWN0KGFub3RoZXJRdWVyaWVyLmJlZ2luVHJhbnNhY3Rpb24pLnRvQmVDYWxsZWRUaW1lcygwKTtcbiAgICBleHBlY3QoYW5vdGhlclF1ZXJpZXIuY29tbWl0VHJhbnNhY3Rpb24pLnRvQmVDYWxsZWRUaW1lcygwKTtcbiAgICBleHBlY3QoYW5vdGhlclF1ZXJpZXIucm9sbGJhY2tUcmFuc2FjdGlvbikudG9CZUNhbGxlZFRpbWVzKDApO1xuICAgIGV4cGVjdChhbm90aGVyUXVlcmllci5yZWxlYXNlKS50b0JlQ2FsbGVkVGltZXMoMCk7XG4gIH0pO1xuXG4gIGl0KCdpbmplY3RRdWVyaWVyIC0gcXVlcmllciBhbmQgcmVwb3NpdG9yaWVzJywgYXN5bmMgKCkgPT4ge1xuICAgIGNsYXNzIFNlcnZpY2VBIHtcbiAgICAgIEBUcmFuc2FjdGlvbmFsKClcbiAgICAgIGFzeW5jIHNhdmUoQEluamVjdFF1ZXJpZXIoKSBxdWVyaWVyPzogUXVlcmllcikge31cbiAgICB9XG5cbiAgICBjb25zdCBzZXJ2aWNlQSA9IG5ldyBTZXJ2aWNlQSgpO1xuICAgIGF3YWl0IHNlcnZpY2VBLnNhdmUoKTtcblxuICAgIGNvbnN0IGRlZmF1bHRRdWVyaWVyID0gYXdhaXQgZ2V0UXVlcmllcigpO1xuXG4gICAgZXhwZWN0KGRlZmF1bHRRdWVyaWVyLmJlZ2luVHJhbnNhY3Rpb24pLnRvQmVDYWxsZWRUaW1lcygxKTtcbiAgICBleHBlY3QoZGVmYXVsdFF1ZXJpZXIuY29tbWl0VHJhbnNhY3Rpb24pLnRvQmVDYWxsZWRUaW1lcygxKTtcbiAgICBleHBlY3QoZGVmYXVsdFF1ZXJpZXIucm9sbGJhY2tUcmFuc2FjdGlvbikudG9CZUNhbGxlZFRpbWVzKDApO1xuICAgIGV4cGVjdChkZWZhdWx0UXVlcmllci5yZWxlYXNlKS50b0JlQ2FsbGVkVGltZXMoMSk7XG5cbiAgICBjb25zdCBhbm90aGVyUXVlcmllciA9IGF3YWl0IGFub3RoZXJRdWVyaWVyUG9vbC5nZXRRdWVyaWVyKCk7XG5cbiAgICBleHBlY3QoYW5vdGhlclF1ZXJpZXIuYmVnaW5UcmFuc2FjdGlvbikudG9CZUNhbGxlZFRpbWVzKDApO1xuICAgIGV4cGVjdChhbm90aGVyUXVlcmllci5jb21taXRUcmFuc2FjdGlvbikudG9CZUNhbGxlZFRpbWVzKDApO1xuICAgIGV4cGVjdChhbm90aGVyUXVlcmllci5yb2xsYmFja1RyYW5zYWN0aW9uKS50b0JlQ2FsbGVkVGltZXMoMCk7XG4gICAgZXhwZWN0KGFub3RoZXJRdWVyaWVyLnJlbGVhc2UpLnRvQmVDYWxsZWRUaW1lcygwKTtcbiAgfSk7XG5cbiAgaXQoJ2luamVjdFF1ZXJpZXIgcHJvcGFnYXRpb246IHN1cHBvcnRlZCcsIGFzeW5jICgpID0+IHtcbiAgICBjbGFzcyBTZXJ2aWNlQSB7XG4gICAgICBAVHJhbnNhY3Rpb25hbCh7IHByb3BhZ2F0aW9uOiAnc3VwcG9ydGVkJyB9KVxuICAgICAgYXN5bmMgZmluZChASW5qZWN0UXVlcmllcigpIHF1ZXJpZXI/OiBRdWVyaWVyKSB7fVxuICAgIH1cblxuICAgIGNvbnN0IHNlcnZpY2VBID0gbmV3IFNlcnZpY2VBKCk7XG4gICAgYXdhaXQgc2VydmljZUEuZmluZCgpO1xuXG4gICAgY29uc3QgZGVmYXVsdFF1ZXJpZXIgPSBhd2FpdCBnZXRRdWVyaWVyKCk7XG5cbiAgICBleHBlY3QoZGVmYXVsdFF1ZXJpZXIuYmVnaW5UcmFuc2FjdGlvbikudG9CZUNhbGxlZFRpbWVzKDApO1xuICAgIGV4cGVjdChkZWZhdWx0UXVlcmllci5jb21taXRUcmFuc2FjdGlvbikudG9CZUNhbGxlZFRpbWVzKDApO1xuICAgIGV4cGVjdChkZWZhdWx0UXVlcmllci5yb2xsYmFja1RyYW5zYWN0aW9uKS50b0JlQ2FsbGVkVGltZXMoMCk7XG4gICAgZXhwZWN0KGRlZmF1bHRRdWVyaWVyLnJlbGVhc2UpLnRvQmVDYWxsZWRUaW1lcygxKTtcblxuICAgIGNvbnN0IGFub3RoZXJRdWVyaWVyID0gYXdhaXQgYW5vdGhlclF1ZXJpZXJQb29sLmdldFF1ZXJpZXIoKTtcblxuICAgIGV4cGVjdChhbm90aGVyUXVlcmllci5iZWdpblRyYW5zYWN0aW9uKS50b0JlQ2FsbGVkVGltZXMoMCk7XG4gICAgZXhwZWN0KGFub3RoZXJRdWVyaWVyLmNvbW1pdFRyYW5zYWN0aW9uKS50b0JlQ2FsbGVkVGltZXMoMCk7XG4gICAgZXhwZWN0KGFub3RoZXJRdWVyaWVyLnJvbGxiYWNrVHJhbnNhY3Rpb24pLnRvQmVDYWxsZWRUaW1lcygwKTtcbiAgICBleHBlY3QoYW5vdGhlclF1ZXJpZXIucmVsZWFzZSkudG9CZUNhbGxlZFRpbWVzKDApO1xuICB9KTtcblxuICBpdCgnaW5qZWN0UXVlcmllciBhbm90aGVyIHF1ZXJpZXJQb29sJywgYXN5bmMgKCkgPT4ge1xuICAgIGNsYXNzIFNlcnZpY2VBIHtcbiAgICAgIEBUcmFuc2FjdGlvbmFsKHsgcXVlcmllclBvb2w6IGFub3RoZXJRdWVyaWVyUG9vbCB9KVxuICAgICAgYXN5bmMgc2F2ZShASW5qZWN0UXVlcmllcigpIHF1ZXJpZXI/OiBRdWVyaWVyKSB7fVxuICAgIH1cblxuICAgIGNvbnN0IHNlcnZpY2VBID0gbmV3IFNlcnZpY2VBKCk7XG4gICAgYXdhaXQgc2VydmljZUEuc2F2ZSgpO1xuXG4gICAgY29uc3QgYW5vdGhlclF1ZXJpZXIgPSBhd2FpdCBhbm90aGVyUXVlcmllclBvb2wuZ2V0UXVlcmllcigpO1xuXG4gICAgZXhwZWN0KGFub3RoZXJRdWVyaWVyLmJlZ2luVHJhbnNhY3Rpb24pLnRvQmVDYWxsZWRUaW1lcygxKTtcbiAgICBleHBlY3QoYW5vdGhlclF1ZXJpZXIuY29tbWl0VHJhbnNhY3Rpb24pLnRvQmVDYWxsZWRUaW1lcygxKTtcbiAgICBleHBlY3QoYW5vdGhlclF1ZXJpZXIucm9sbGJhY2tUcmFuc2FjdGlvbikudG9CZUNhbGxlZFRpbWVzKDApO1xuICAgIGV4cGVjdChhbm90aGVyUXVlcmllci5yZWxlYXNlKS50b0JlQ2FsbGVkVGltZXMoMSk7XG5cbiAgICBjb25zdCBkZWZhdWx0UXVlcmllciA9IGF3YWl0IGdldFF1ZXJpZXIoKTtcblxuICAgIGV4cGVjdChkZWZhdWx0UXVlcmllci5iZWdpblRyYW5zYWN0aW9uKS50b0JlQ2FsbGVkVGltZXMoMCk7XG4gICAgZXhwZWN0KGRlZmF1bHRRdWVyaWVyLmNvbW1pdFRyYW5zYWN0aW9uKS50b0JlQ2FsbGVkVGltZXMoMCk7XG4gICAgZXhwZWN0KGRlZmF1bHRRdWVyaWVyLnJvbGxiYWNrVHJhbnNhY3Rpb24pLnRvQmVDYWxsZWRUaW1lcygwKTtcbiAgICBleHBlY3QoZGVmYXVsdFF1ZXJpZXIucmVsZWFzZSkudG9CZUNhbGxlZFRpbWVzKDApO1xuICB9KTtcblxuICBpdCgnaW5qZWN0UXVlcmllciBhbmQgY2FsbCBzdXBlcicsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBkZWxldGVTdHViID0gamVzdC5mbigoaWQ6IHN0cmluZywgcXVlcmllcjogUXVlcmllcikgPT4ge30pO1xuXG4gICAgY2xhc3MgU2VydmljZUEge1xuICAgICAgQFRyYW5zYWN0aW9uYWwoKVxuICAgICAgYXN5bmMgZGVsZXRlKGlkOiBzdHJpbmcsIEBJbmplY3RRdWVyaWVyKCkgcXVlcmllcj86IFF1ZXJpZXIpIHtcbiAgICAgICAgZGVsZXRlU3R1YihpZCwgcXVlcmllcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY2xhc3MgU2VydmljZUIgZXh0ZW5kcyBTZXJ2aWNlQSB7XG4gICAgICBAVHJhbnNhY3Rpb25hbCh7IHF1ZXJpZXJQb29sOiBhbm90aGVyUXVlcmllclBvb2wgfSlcbiAgICAgIG92ZXJyaWRlIGFzeW5jIGRlbGV0ZShpZDogc3RyaW5nLCBASW5qZWN0UXVlcmllcigpIHF1ZXJpZXI/OiBRdWVyaWVyKSB7XG4gICAgICAgIHJldHVybiBzdXBlci5kZWxldGUoaWQsIHF1ZXJpZXIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IHNlcnZpY2VCID0gbmV3IFNlcnZpY2VCKCk7XG4gICAgYXdhaXQgc2VydmljZUIuZGVsZXRlKCcxMjMnKTtcblxuICAgIGNvbnN0IGRlZmF1bHRRdWVyaWVyID0gYXdhaXQgZ2V0UXVlcmllcigpO1xuXG4gICAgZXhwZWN0KGRlbGV0ZVN0dWIpLnRvQmVDYWxsZWRUaW1lcygxKTtcblxuICAgIGNvbnN0IGFub3RoZXJRdWVyaWVyID0gYXdhaXQgYW5vdGhlclF1ZXJpZXJQb29sLmdldFF1ZXJpZXIoKTtcblxuICAgIGV4cGVjdChkZWxldGVTdHViKS50b0hhdmVCZWVuQ2FsbGVkV2l0aCgnMTIzJywgYW5vdGhlclF1ZXJpZXIpO1xuXG4gICAgZXhwZWN0KGFub3RoZXJRdWVyaWVyLmJlZ2luVHJhbnNhY3Rpb24pLnRvQmVDYWxsZWRUaW1lcygxKTtcbiAgICBleHBlY3QoYW5vdGhlclF1ZXJpZXIuY29tbWl0VHJhbnNhY3Rpb24pLnRvQmVDYWxsZWRUaW1lcygxKTtcbiAgICBleHBlY3QoYW5vdGhlclF1ZXJpZXIucm9sbGJhY2tUcmFuc2FjdGlvbikudG9CZUNhbGxlZFRpbWVzKDApO1xuICAgIGV4cGVjdChhbm90aGVyUXVlcmllci5yZWxlYXNlKS50b0JlQ2FsbGVkVGltZXMoMSk7XG5cbiAgICBleHBlY3QoZGVmYXVsdFF1ZXJpZXIuYmVnaW5UcmFuc2FjdGlvbikudG9CZUNhbGxlZFRpbWVzKDApO1xuICAgIGV4cGVjdChkZWZhdWx0UXVlcmllci5jb21taXRUcmFuc2FjdGlvbikudG9CZUNhbGxlZFRpbWVzKDApO1xuICAgIGV4cGVjdChkZWZhdWx0UXVlcmllci5yb2xsYmFja1RyYW5zYWN0aW9uKS50b0JlQ2FsbGVkVGltZXMoMCk7XG4gICAgZXhwZWN0KGRlZmF1bHRRdWVyaWVyLnJlbGVhc2UpLnRvQmVDYWxsZWRUaW1lcygwKTtcbiAgfSk7XG5cbiAgaXQoJ3Rocm93JywgYXN5bmMgKCkgPT4ge1xuICAgIGNsYXNzIFNlcnZpY2VBIHtcbiAgICAgIEBUcmFuc2FjdGlvbmFsKHsgcHJvcGFnYXRpb246ICdzdXBwb3J0ZWQnIH0pXG4gICAgICBhc3luYyBzYXZlKEBJbmplY3RRdWVyaWVyKCkgcXVlcmllcj86IFF1ZXJpZXIpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdTb21lIEVycm9yJyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3Qgc2VydmljZUEgPSBuZXcgU2VydmljZUEoKTtcblxuICAgIGF3YWl0IGV4cGVjdChzZXJ2aWNlQS5zYXZlKCkpLnJlamVjdHMudG9UaHJvdygnU29tZSBFcnJvcicpO1xuXG4gICAgY29uc3QgZGVmYXVsdFF1ZXJpZXIgPSBhd2FpdCBnZXRRdWVyaWVyKCk7XG5cbiAgICBleHBlY3QoZGVmYXVsdFF1ZXJpZXIuYmVnaW5UcmFuc2FjdGlvbikudG9CZUNhbGxlZFRpbWVzKDApO1xuICAgIGV4cGVjdChkZWZhdWx0UXVlcmllci5jb21taXRUcmFuc2FjdGlvbikudG9CZUNhbGxlZFRpbWVzKDApO1xuICAgIGV4cGVjdChkZWZhdWx0UXVlcmllci5yb2xsYmFja1RyYW5zYWN0aW9uKS50b0JlQ2FsbGVkVGltZXMoMCk7XG4gICAgZXhwZWN0KGRlZmF1bHRRdWVyaWVyLnJlbGVhc2UpLnRvQmVDYWxsZWRUaW1lcygxKTtcblxuICAgIGNvbnN0IGFub3RoZXJRdWVyaWVyID0gYXdhaXQgYW5vdGhlclF1ZXJpZXJQb29sLmdldFF1ZXJpZXIoKTtcblxuICAgIGV4cGVjdChhbm90aGVyUXVlcmllci5iZWdpblRyYW5zYWN0aW9uKS50b0JlQ2FsbGVkVGltZXMoMCk7XG4gICAgZXhwZWN0KGFub3RoZXJRdWVyaWVyLmNvbW1pdFRyYW5zYWN0aW9uKS50b0JlQ2FsbGVkVGltZXMoMCk7XG4gICAgZXhwZWN0KGFub3RoZXJRdWVyaWVyLnJvbGxiYWNrVHJhbnNhY3Rpb24pLnRvQmVDYWxsZWRUaW1lcygwKTtcbiAgICBleHBlY3QoYW5vdGhlclF1ZXJpZXIucmVsZWFzZSkudG9CZUNhbGxlZFRpbWVzKDApO1xuICB9KTtcblxuICBpdCgndGhyb3cgaW5zaWRlIHRyYW5zYWN0aW9uJywgYXN5bmMgKCkgPT4ge1xuICAgIGNsYXNzIFNlcnZpY2VBIHtcbiAgICAgIEBUcmFuc2FjdGlvbmFsKClcbiAgICAgIGFzeW5jIHNhdmUoQEluamVjdFF1ZXJpZXIoKSBxdWVyaWVyPzogUXVlcmllcikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1NvbWUgRXJyb3InKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBzZXJ2aWNlQSA9IG5ldyBTZXJ2aWNlQSgpO1xuXG4gICAgYXdhaXQgZXhwZWN0KHNlcnZpY2VBLnNhdmUoKSkucmVqZWN0cy50b1Rocm93KCdTb21lIEVycm9yJyk7XG5cbiAgICBjb25zdCBkZWZhdWx0UXVlcmllciA9IGF3YWl0IGdldFF1ZXJpZXIoKTtcblxuICAgIGV4cGVjdChkZWZhdWx0UXVlcmllci5iZWdpblRyYW5zYWN0aW9uKS50b0JlQ2FsbGVkVGltZXMoMSk7XG4gICAgZXhwZWN0KGRlZmF1bHRRdWVyaWVyLmNvbW1pdFRyYW5zYWN0aW9uKS50b0JlQ2FsbGVkVGltZXMoMCk7XG4gICAgZXhwZWN0KGRlZmF1bHRRdWVyaWVyLnJvbGxiYWNrVHJhbnNhY3Rpb24pLnRvQmVDYWxsZWRUaW1lcygxKTtcbiAgICBleHBlY3QoZGVmYXVsdFF1ZXJpZXIucmVsZWFzZSkudG9CZUNhbGxlZFRpbWVzKDEpO1xuXG4gICAgY29uc3QgYW5vdGhlclF1ZXJpZXIgPSBhd2FpdCBhbm90aGVyUXVlcmllclBvb2wuZ2V0UXVlcmllcigpO1xuXG4gICAgZXhwZWN0KGFub3RoZXJRdWVyaWVyLmJlZ2luVHJhbnNhY3Rpb24pLnRvQmVDYWxsZWRUaW1lcygwKTtcbiAgICBleHBlY3QoYW5vdGhlclF1ZXJpZXIuY29tbWl0VHJhbnNhY3Rpb24pLnRvQmVDYWxsZWRUaW1lcygwKTtcbiAgICBleHBlY3QoYW5vdGhlclF1ZXJpZXIucm9sbGJhY2tUcmFuc2FjdGlvbikudG9CZUNhbGxlZFRpbWVzKDApO1xuICAgIGV4cGVjdChhbm90aGVyUXVlcmllci5yZWxlYXNlKS50b0JlQ2FsbGVkVGltZXMoMCk7XG4gIH0pO1xuXG4gIGl0KCdtaXNzaW5nIGluamVjdFF1ZXJpZXInLCAoKSA9PiB7XG4gICAgZXhwZWN0KCgpID0+IHtcbiAgICAgIGNsYXNzIFNlcnZpY2VBIHtcbiAgICAgICAgQFRyYW5zYWN0aW9uYWwoKVxuICAgICAgICBhc3luYyBmaW5kKCkge31cbiAgICAgIH1cbiAgICB9KS50b1Rocm93KFwibWlzc2luZyBkZWNvcmF0b3IgQEluamVjdFF1ZXJpZXIoKSBpbiAnU2VydmljZUEuZmluZCdcIik7XG4gIH0pO1xufSk7XG5cbmZ1bmN0aW9uIGJ1aWxkUXVlcmllck1vY2soKTogUXVlcmllciB7XG4gIGNvbnN0IHF1ZXJpZXIgPSB7XG4gICAgYmVnaW5UcmFuc2FjdGlvbjogamVzdC5mbihhc3luYyAoKSA9PiB7XG4gICAgICBxdWVyaWVyLmhhc09wZW5UcmFuc2FjdGlvbiA9IHRydWU7XG4gICAgfSksXG4gICAgY29tbWl0VHJhbnNhY3Rpb246IGplc3QuZm4oYXN5bmMgKCkgPT4ge1xuICAgICAgcXVlcmllci5oYXNPcGVuVHJhbnNhY3Rpb24gPSB1bmRlZmluZWQ7XG4gICAgfSksXG4gICAgcm9sbGJhY2tUcmFuc2FjdGlvbjogamVzdC5mbihhc3luYyAoKSA9PiB7XG4gICAgICBxdWVyaWVyLmhhc09wZW5UcmFuc2FjdGlvbiA9IHVuZGVmaW5lZDtcbiAgICB9KSxcbiAgICByZWxlYXNlOiBqZXN0LmZuKGFzeW5jICgpID0+IHt9KSxcbiAgfSBhcyBQYXJ0aWFsPFF1ZXJpZXI+IGFzIFdyaXRhYmxlPFF1ZXJpZXI+O1xuICByZXR1cm4gcXVlcmllcjtcbn1cbiJdfQ==
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const test_1 = require("@uql/core/test");
|
|
4
|
-
const genericRepository_1 = require("./genericRepository");
|
|
5
|
-
describe('repository', () => {
|
|
6
|
-
let repository;
|
|
7
|
-
let querier;
|
|
8
|
-
beforeEach(() => {
|
|
9
|
-
querier = {
|
|
10
|
-
count: jest.fn(),
|
|
11
|
-
findOneById: jest.fn(),
|
|
12
|
-
findOne: jest.fn(),
|
|
13
|
-
findMany: jest.fn(),
|
|
14
|
-
findManyAndCount: jest.fn(),
|
|
15
|
-
insertOne: jest.fn(),
|
|
16
|
-
insertMany: jest.fn(),
|
|
17
|
-
updateOneById: jest.fn(),
|
|
18
|
-
updateMany: jest.fn(),
|
|
19
|
-
saveOne: jest.fn(),
|
|
20
|
-
saveMany: jest.fn(),
|
|
21
|
-
deleteOneById: jest.fn(),
|
|
22
|
-
deleteMany: jest.fn(),
|
|
23
|
-
};
|
|
24
|
-
repository = new genericRepository_1.GenericRepository(test_1.User, querier);
|
|
25
|
-
});
|
|
26
|
-
it('count', async () => {
|
|
27
|
-
await repository.count({});
|
|
28
|
-
expect(querier.count).toHaveBeenCalledWith(test_1.User, {});
|
|
29
|
-
});
|
|
30
|
-
it('findOneById', async () => {
|
|
31
|
-
await repository.findOneById(1);
|
|
32
|
-
expect(querier.findOneById).toHaveBeenCalledWith(test_1.User, 1, undefined);
|
|
33
|
-
});
|
|
34
|
-
it('findOne', async () => {
|
|
35
|
-
await repository.findOne({});
|
|
36
|
-
expect(querier.findOne).toHaveBeenCalledWith(test_1.User, {});
|
|
37
|
-
});
|
|
38
|
-
it('findMany', async () => {
|
|
39
|
-
await repository.findMany({});
|
|
40
|
-
expect(querier.findMany).toHaveBeenCalledWith(test_1.User, {});
|
|
41
|
-
});
|
|
42
|
-
it('findManyAndCount', async () => {
|
|
43
|
-
await repository.findManyAndCount({});
|
|
44
|
-
expect(querier.findManyAndCount).toHaveBeenCalledWith(test_1.User, {});
|
|
45
|
-
});
|
|
46
|
-
it('insertOne', async () => {
|
|
47
|
-
await repository.insertOne({});
|
|
48
|
-
expect(querier.insertOne).toHaveBeenCalledWith(test_1.User, {});
|
|
49
|
-
});
|
|
50
|
-
it('insertMany', async () => {
|
|
51
|
-
await repository.insertMany([{}]);
|
|
52
|
-
expect(querier.insertMany).toHaveBeenCalledWith(test_1.User, [{}]);
|
|
53
|
-
});
|
|
54
|
-
it('updateMany', async () => {
|
|
55
|
-
await repository.updateMany({}, {});
|
|
56
|
-
expect(querier.updateMany).toHaveBeenCalledWith(test_1.User, {}, {});
|
|
57
|
-
});
|
|
58
|
-
it('updateOneById', async () => {
|
|
59
|
-
await repository.updateOneById(1, {});
|
|
60
|
-
expect(querier.updateOneById).toHaveBeenCalledWith(test_1.User, 1, {});
|
|
61
|
-
});
|
|
62
|
-
it('saveOne', async () => {
|
|
63
|
-
await repository.saveOne({});
|
|
64
|
-
expect(querier.saveOne).toHaveBeenCalledWith(test_1.User, {});
|
|
65
|
-
});
|
|
66
|
-
it('insertMany', async () => {
|
|
67
|
-
await repository.saveMany([{}]);
|
|
68
|
-
expect(querier.saveMany).toHaveBeenCalledWith(test_1.User, [{}]);
|
|
69
|
-
});
|
|
70
|
-
it('deleteOneById', async () => {
|
|
71
|
-
await repository.deleteOneById(1);
|
|
72
|
-
expect(querier.deleteOneById).toHaveBeenCalledWith(test_1.User, 1, undefined);
|
|
73
|
-
await repository.deleteOneById(1, { softDelete: false });
|
|
74
|
-
expect(querier.deleteOneById).toHaveBeenCalledWith(test_1.User, 1, { softDelete: false });
|
|
75
|
-
});
|
|
76
|
-
it('deleteMany', async () => {
|
|
77
|
-
await repository.deleteMany({});
|
|
78
|
-
expect(querier.deleteMany).toHaveBeenCalledWith(test_1.User, {}, undefined);
|
|
79
|
-
await repository.deleteMany({}, { softDelete: false });
|
|
80
|
-
expect(querier.deleteMany).toHaveBeenCalledWith(test_1.User, {}, { softDelete: false });
|
|
81
|
-
});
|
|
82
|
-
it('repository property', () => {
|
|
83
|
-
expect(repository.querier).toBe(querier);
|
|
84
|
-
});
|
|
85
|
-
});
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJpY1JlcG9zaXRvcnkuc3BlYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yZXBvc2l0b3J5L2dlbmVyaWNSZXBvc2l0b3J5LnNwZWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSx5Q0FBc0M7QUFFdEMsMkRBQXdEO0FBRXhELFFBQVEsQ0FBQyxZQUFZLEVBQUUsR0FBRyxFQUFFO0lBQzFCLElBQUksVUFBNEIsQ0FBQztJQUNqQyxJQUFJLE9BQXlCLENBQUM7SUFFOUIsVUFBVSxDQUFDLEdBQUcsRUFBRTtRQUNkLE9BQU8sR0FBRztZQUNSLEtBQUssRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFO1lBQ2hCLFdBQVcsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFO1lBQ3RCLE9BQU8sRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFO1lBQ2xCLFFBQVEsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFO1lBQ25CLGdCQUFnQixFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUU7WUFDM0IsU0FBUyxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUU7WUFDcEIsVUFBVSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUU7WUFDckIsYUFBYSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUU7WUFDeEIsVUFBVSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUU7WUFDckIsT0FBTyxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUU7WUFDbEIsUUFBUSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUU7WUFDbkIsYUFBYSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUU7WUFDeEIsVUFBVSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUU7U0FDdEIsQ0FBQztRQUNGLFVBQVUsR0FBRyxJQUFJLHFDQUFpQixDQUFDLFdBQUksRUFBRSxPQUFrQixDQUFDLENBQUM7SUFDL0QsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsT0FBTyxFQUFFLEtBQUssSUFBSSxFQUFFO1FBQ3JC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RUFBRSxDQUFDLENBQUM7UUFDdkQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxXQUFJLEVBQUUsRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDbkYsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMscUJBQXFCLEVBQUUsR0FBRyxFQUFFO1FBQzdCLE1BQU0sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzNDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVc2VyIH0gZnJvbSAnQHVxbC9jb3JlL3Rlc3QnO1xuaW1wb3J0IHsgUXVlcmllciwgUmVwb3NpdG9yeSB9IGZyb20gJ0B1cWwvY29yZS90eXBlJztcbmltcG9ydCB7IEdlbmVyaWNSZXBvc2l0b3J5IH0gZnJvbSAnLi9nZW5lcmljUmVwb3NpdG9yeSc7XG5cbmRlc2NyaWJlKCdyZXBvc2l0b3J5JywgKCkgPT4ge1xuICBsZXQgcmVwb3NpdG9yeTogUmVwb3NpdG9yeTxVc2VyPjtcbiAgbGV0IHF1ZXJpZXI6IFBhcnRpYWw8UXVlcmllcj47XG5cbiAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgcXVlcmllciA9IHtcbiAgICAgIGNvdW50OiBqZXN0LmZuKCksXG4gICAgICBmaW5kT25lQnlJZDogamVzdC5mbigpLFxuICAgICAgZmluZE9uZTogamVzdC5mbigpLFxuICAgICAgZmluZE1hbnk6IGplc3QuZm4oKSxcbiAgICAgIGZpbmRNYW55QW5kQ291bnQ6IGplc3QuZm4oKSxcbiAgICAgIGluc2VydE9uZTogamVzdC5mbigpLFxuICAgICAgaW5zZXJ0TWFueTogamVzdC5mbigpLFxuICAgICAgdXBkYXRlT25lQnlJZDogamVzdC5mbigpLFxuICAgICAgdXBkYXRlTWFueTogamVzdC5mbigpLFxuICAgICAgc2F2ZU9uZTogamVzdC5mbigpLFxuICAgICAgc2F2ZU1hbnk6IGplc3QuZm4oKSxcbiAgICAgIGRlbGV0ZU9uZUJ5SWQ6IGplc3QuZm4oKSxcbiAgICAgIGRlbGV0ZU1hbnk6IGplc3QuZm4oKSxcbiAgICB9O1xuICAgIHJlcG9zaXRvcnkgPSBuZXcgR2VuZXJpY1JlcG9zaXRvcnkoVXNlciwgcXVlcmllciBhcyBRdWVyaWVyKTtcbiAgfSk7XG5cbiAgaXQoJ2NvdW50JywgYXN5bmMgKCkgPT4ge1xuICAgIGF3YWl0IHJlcG9zaXRvcnkuY291bnQoe30pO1xuICAgIGV4cGVjdChxdWVyaWVyLmNvdW50KS50b0hhdmVCZWVuQ2FsbGVkV2l0aChVc2VyLCB7fSk7XG4gIH0pO1xuXG4gIGl0KCdmaW5kT25lQnlJZCcsIGFzeW5jICgpID0+IHtcbiAgICBhd2FpdCByZXBvc2l0b3J5LmZpbmRPbmVCeUlkKDEpO1xuICAgIGV4cGVjdChxdWVyaWVyLmZpbmRPbmVCeUlkKS50b0hhdmVCZWVuQ2FsbGVkV2l0aChVc2VyLCAxLCB1bmRlZmluZWQpO1xuICB9KTtcblxuICBpdCgnZmluZE9uZScsIGFzeW5jICgpID0+IHtcbiAgICBhd2FpdCByZXBvc2l0b3J5LmZpbmRPbmUoe30pO1xuICAgIGV4cGVjdChxdWVyaWVyLmZpbmRPbmUpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKFVzZXIsIHt9KTtcbiAgfSk7XG5cbiAgaXQoJ2ZpbmRNYW55JywgYXN5bmMgKCkgPT4ge1xuICAgIGF3YWl0IHJlcG9zaXRvcnkuZmluZE1hbnkoe30pO1xuICAgIGV4cGVjdChxdWVyaWVyLmZpbmRNYW55KS50b0hhdmVCZWVuQ2FsbGVkV2l0aChVc2VyLCB7fSk7XG4gIH0pO1xuXG4gIGl0KCdmaW5kTWFueUFuZENvdW50JywgYXN5bmMgKCkgPT4ge1xuICAgIGF3YWl0IHJlcG9zaXRvcnkuZmluZE1hbnlBbmRDb3VudCh7fSk7XG4gICAgZXhwZWN0KHF1ZXJpZXIuZmluZE1hbnlBbmRDb3VudCkudG9IYXZlQmVlbkNhbGxlZFdpdGgoVXNlciwge30pO1xuICB9KTtcblxuICBpdCgnaW5zZXJ0T25lJywgYXN5bmMgKCkgPT4ge1xuICAgIGF3YWl0IHJlcG9zaXRvcnkuaW5zZXJ0T25lKHt9KTtcbiAgICBleHBlY3QocXVlcmllci5pbnNlcnRPbmUpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKFVzZXIsIHt9KTtcbiAgfSk7XG5cbiAgaXQoJ2luc2VydE1hbnknLCBhc3luYyAoKSA9PiB7XG4gICAgYXdhaXQgcmVwb3NpdG9yeS5pbnNlcnRNYW55KFt7fV0pO1xuICAgIGV4cGVjdChxdWVyaWVyLmluc2VydE1hbnkpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKFVzZXIsIFt7fV0pO1xuICB9KTtcblxuICBpdCgndXBkYXRlTWFueScsIGFzeW5jICgpID0+IHtcbiAgICBhd2FpdCByZXBvc2l0b3J5LnVwZGF0ZU1hbnkoe30sIHt9KTtcbiAgICBleHBlY3QocXVlcmllci51cGRhdGVNYW55KS50b0hhdmVCZWVuQ2FsbGVkV2l0aChVc2VyLCB7fSwge30pO1xuICB9KTtcblxuICBpdCgndXBkYXRlT25lQnlJZCcsIGFzeW5jICgpID0+IHtcbiAgICBhd2FpdCByZXBvc2l0b3J5LnVwZGF0ZU9uZUJ5SWQoMSwge30pO1xuICAgIGV4cGVjdChxdWVyaWVyLnVwZGF0ZU9uZUJ5SWQpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKFVzZXIsIDEsIHt9KTtcbiAgfSk7XG5cbiAgaXQoJ3NhdmVPbmUnLCBhc3luYyAoKSA9PiB7XG4gICAgYXdhaXQgcmVwb3NpdG9yeS5zYXZlT25lKHt9KTtcbiAgICBleHBlY3QocXVlcmllci5zYXZlT25lKS50b0hhdmVCZWVuQ2FsbGVkV2l0aChVc2VyLCB7fSk7XG4gIH0pO1xuXG4gIGl0KCdpbnNlcnRNYW55JywgYXN5bmMgKCkgPT4ge1xuICAgIGF3YWl0IHJlcG9zaXRvcnkuc2F2ZU1hbnkoW3t9XSk7XG4gICAgZXhwZWN0KHF1ZXJpZXIuc2F2ZU1hbnkpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKFVzZXIsIFt7fV0pO1xuICB9KTtcblxuICBpdCgnZGVsZXRlT25lQnlJZCcsIGFzeW5jICgpID0+IHtcbiAgICBhd2FpdCByZXBvc2l0b3J5LmRlbGV0ZU9uZUJ5SWQoMSk7XG4gICAgZXhwZWN0KHF1ZXJpZXIuZGVsZXRlT25lQnlJZCkudG9IYXZlQmVlbkNhbGxlZFdpdGgoVXNlciwgMSwgdW5kZWZpbmVkKTtcblxuICAgIGF3YWl0IHJlcG9zaXRvcnkuZGVsZXRlT25lQnlJZCgxLCB7IHNvZnREZWxldGU6IGZhbHNlIH0pO1xuICAgIGV4cGVjdChxdWVyaWVyLmRlbGV0ZU9uZUJ5SWQpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKFVzZXIsIDEsIHsgc29mdERlbGV0ZTogZmFsc2UgfSk7XG4gIH0pO1xuXG4gIGl0KCdkZWxldGVNYW55JywgYXN5bmMgKCkgPT4ge1xuICAgIGF3YWl0IHJlcG9zaXRvcnkuZGVsZXRlTWFueSh7fSk7XG4gICAgZXhwZWN0KHF1ZXJpZXIuZGVsZXRlTWFueSkudG9IYXZlQmVlbkNhbGxlZFdpdGgoVXNlciwge30sIHVuZGVmaW5lZCk7XG5cbiAgICBhd2FpdCByZXBvc2l0b3J5LmRlbGV0ZU1hbnkoe30sIHsgc29mdERlbGV0ZTogZmFsc2UgfSk7XG4gICAgZXhwZWN0KHF1ZXJpZXIuZGVsZXRlTWFueSkudG9IYXZlQmVlbkNhbGxlZFdpdGgoVXNlciwge30sIHsgc29mdERlbGV0ZTogZmFsc2UgfSk7XG4gIH0pO1xuXG4gIGl0KCdyZXBvc2l0b3J5IHByb3BlcnR5JywgKCkgPT4ge1xuICAgIGV4cGVjdChyZXBvc2l0b3J5LnF1ZXJpZXIpLnRvQmUocXVlcmllcik7XG4gIH0pO1xufSk7XG4iXX0=
|