@uql/core 0.4.95 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -1
- package/dialect/abstractSqlDialect.js +55 -56
- package/dialect/index.d.ts +4 -4
- package/dialect/index.js +5 -8
- package/dialect/mysqlDialect.d.ts +2 -2
- package/dialect/mysqlDialect.js +5 -9
- package/dialect/postgresDialect.d.ts +1 -1
- package/dialect/postgresDialect.js +6 -10
- package/dialect/sqliteDialect.d.ts +1 -1
- package/dialect/sqliteDialect.js +3 -7
- package/entity/decorator/definition.js +18 -28
- package/entity/decorator/entity.js +4 -8
- package/entity/decorator/field.js +4 -8
- package/entity/decorator/id.js +4 -8
- package/entity/decorator/index.d.ts +5 -5
- package/entity/decorator/index.js +6 -12
- package/entity/decorator/relation.js +7 -14
- package/entity/index.d.ts +1 -1
- package/entity/index.js +2 -5
- package/index.d.ts +1 -1
- package/index.js +2 -5
- package/options.js +7 -14
- package/package.json +4 -3
- package/querier/abstractQuerier.js +19 -23
- package/querier/abstractSqlQuerier.d.ts +1 -1
- package/querier/abstractSqlQuerier.js +13 -16
- package/querier/decorator/index.js +3 -6
- package/querier/decorator/injectQuerier.js +3 -8
- package/querier/decorator/transactional.js +6 -10
- package/querier/index.js +4 -7
- package/repository/genericRepository.js +4 -6
- package/repository/index.js +2 -5
- package/type/entity.d.ts +2 -2
- package/type/entity.js +2 -5
- package/type/index.d.ts +7 -7
- package/type/index.js +8 -11
- package/type/querier.d.ts +5 -5
- package/type/querier.js +2 -3
- package/type/querierPool.d.ts +1 -1
- package/type/querierPool.js +2 -3
- package/type/query.d.ts +2 -2
- package/type/query.js +4 -6
- package/type/repository.d.ts +3 -3
- package/type/repository.js +2 -3
- package/type/universalQuerier.d.ts +4 -4
- package/type/universalQuerier.js +2 -3
- package/type/utility.js +1 -2
- package/util/dialect.util.js +19 -33
- package/util/index.d.ts +5 -5
- package/util/index.js +6 -9
- package/util/object.util.js +4 -10
- package/util/raw.js +4 -8
- package/util/sql.util.js +7 -12
- package/util/string.util.js +4 -10
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const util_1 = require("@uql/core/util");
|
|
6
|
-
const entity_1 = require("@uql/core/entity");
|
|
7
|
-
class AbstractQuerier {
|
|
1
|
+
import { GenericRepository } from '@uql/core/repository';
|
|
2
|
+
import { clone, getKeys, getProjectRelationKeys, getPersistableRelations } from '@uql/core/util';
|
|
3
|
+
import { getMeta } from '@uql/core/entity';
|
|
4
|
+
export class AbstractQuerier {
|
|
8
5
|
findOneById(entity, id, qm = {}) {
|
|
9
6
|
return this.findOne(entity, { ...qm, $filter: id });
|
|
10
7
|
}
|
|
@@ -30,13 +27,13 @@ class AbstractQuerier {
|
|
|
30
27
|
return id;
|
|
31
28
|
}
|
|
32
29
|
async saveMany(entity, payload) {
|
|
33
|
-
const meta =
|
|
30
|
+
const meta = getMeta(entity);
|
|
34
31
|
const ids = [];
|
|
35
32
|
const updates = [];
|
|
36
33
|
const inserts = [];
|
|
37
34
|
for (const it of payload) {
|
|
38
35
|
if (it[meta.id]) {
|
|
39
|
-
if (
|
|
36
|
+
if (getKeys(it).length === 1) {
|
|
40
37
|
ids.push(it[meta.id]);
|
|
41
38
|
}
|
|
42
39
|
else {
|
|
@@ -58,18 +55,18 @@ class AbstractQuerier {
|
|
|
58
55
|
]);
|
|
59
56
|
}
|
|
60
57
|
async findToManyRelations(entity, payload, project) {
|
|
61
|
-
const meta =
|
|
62
|
-
const relations =
|
|
58
|
+
const meta = getMeta(entity);
|
|
59
|
+
const relations = getProjectRelationKeys(meta, project);
|
|
63
60
|
for (const relKey of relations) {
|
|
64
61
|
const relOpts = meta.relations[relKey];
|
|
65
62
|
const relEntity = relOpts.entity();
|
|
66
|
-
const relProject =
|
|
63
|
+
const relProject = clone(project[relKey]);
|
|
67
64
|
const relQuery = relProject === true || relProject === undefined ? {} : Array.isArray(relProject) ? { $project: relProject } : relProject;
|
|
68
65
|
const ids = payload.map((it) => it[meta.id]);
|
|
69
66
|
if (relOpts.through) {
|
|
70
67
|
const localField = relOpts.references[0].local;
|
|
71
68
|
const throughEntity = relOpts.through();
|
|
72
|
-
const throughMeta =
|
|
69
|
+
const throughMeta = getMeta(throughEntity);
|
|
73
70
|
const targetRelKey = Object.keys(throughMeta.relations).find((key) => throughMeta.relations[key].references.some(({ local }) => local === relOpts.references[1].local));
|
|
74
71
|
const throughFounds = await this.findMany(throughEntity, {
|
|
75
72
|
$project: {
|
|
@@ -119,9 +116,9 @@ class AbstractQuerier {
|
|
|
119
116
|
}
|
|
120
117
|
}
|
|
121
118
|
async insertRelations(entity, payload) {
|
|
122
|
-
const meta =
|
|
119
|
+
const meta = getMeta(entity);
|
|
123
120
|
await Promise.all(payload.map((it) => {
|
|
124
|
-
const relKeys =
|
|
121
|
+
const relKeys = getPersistableRelations(meta, it, 'persist');
|
|
125
122
|
if (!relKeys.length) {
|
|
126
123
|
return;
|
|
127
124
|
}
|
|
@@ -129,8 +126,8 @@ class AbstractQuerier {
|
|
|
129
126
|
}));
|
|
130
127
|
}
|
|
131
128
|
async updateRelations(entity, criteria, payload) {
|
|
132
|
-
const meta =
|
|
133
|
-
const relKeys =
|
|
129
|
+
const meta = getMeta(entity);
|
|
130
|
+
const relKeys = getPersistableRelations(meta, payload, 'persist');
|
|
134
131
|
if (!relKeys.length) {
|
|
135
132
|
return;
|
|
136
133
|
}
|
|
@@ -142,8 +139,8 @@ class AbstractQuerier {
|
|
|
142
139
|
await Promise.all(ids.map((id) => Promise.all(relKeys.map((relKey) => this.saveRelation(entity, { ...payload, [meta.id]: id }, relKey, true)))));
|
|
143
140
|
}
|
|
144
141
|
async deleteRelations(entity, ids, opts) {
|
|
145
|
-
const meta =
|
|
146
|
-
const relKeys =
|
|
142
|
+
const meta = getMeta(entity);
|
|
143
|
+
const relKeys = getPersistableRelations(meta, meta.relations, 'delete');
|
|
147
144
|
for (const relKey of relKeys) {
|
|
148
145
|
const relOpts = meta.relations[relKey];
|
|
149
146
|
const relEntity = relOpts.entity();
|
|
@@ -157,7 +154,7 @@ class AbstractQuerier {
|
|
|
157
154
|
}
|
|
158
155
|
}
|
|
159
156
|
async saveRelation(entity, payload, relKey, isUpdate) {
|
|
160
|
-
const meta =
|
|
157
|
+
const meta = getMeta(entity);
|
|
161
158
|
const id = payload[meta.id];
|
|
162
159
|
const { entity: entityGetter, cardinality, references, through } = meta.relations[relKey];
|
|
163
160
|
const relEntity = entityGetter();
|
|
@@ -208,7 +205,7 @@ class AbstractQuerier {
|
|
|
208
205
|
}
|
|
209
206
|
}
|
|
210
207
|
getRepository(entity) {
|
|
211
|
-
return new
|
|
208
|
+
return new GenericRepository(entity, this);
|
|
212
209
|
}
|
|
213
210
|
async transaction(callback) {
|
|
214
211
|
try {
|
|
@@ -226,5 +223,4 @@ class AbstractQuerier {
|
|
|
226
223
|
}
|
|
227
224
|
}
|
|
228
225
|
}
|
|
229
|
-
exports.AbstractQuerier = AbstractQuerier;
|
|
230
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3RRdWVyaWVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3F1ZXJpZXIvYWJzdHJhY3RRdWVyaWVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFEQUF5RDtBQUN6RCx5Q0FBaUc7QUFDakcsNkNBQTJDO0FBaUIzQyxNQUFzQixlQUFlO0lBR25DLFdBQVcsQ0FBSSxNQUFlLEVBQUUsRUFBYyxFQUFFLEtBQXFCLEVBQUU7UUFDckUsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxLQUFLLENBQUMsT0FBTyxDQUFJLE1BQWUsRUFBRSxFQUFlO1FBQy9DLE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMvRCxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqQixDQUFDO0lBSUQsZ0JBQWdCLENBQUksTUFBZSxFQUFFLEVBQVk7UUFDL0MsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFRCxLQUFLLENBQUMsU0FBUyxDQUFJLE1BQWUsRUFBRSxPQUFVO1FBQzVDLE1BQU0sQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUN0RCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFJRCxhQUFhLENBQUksTUFBZSxFQUFFLEVBQWMsRUFBRSxPQUFVO1FBQzFELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUlELGFBQWEsQ0FBSSxNQUFlLEVBQUUsRUFBYyxFQUFFLElBQW1CO1FBQ25FLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUlELEtBQUssQ0FBQyxPQUFPLENBQUksTUFBZSxFQUFFLE9BQVU7UUFDMUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQ3BELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELEtBQUssQ0FBQyxRQUFRLENBQUksTUFBZSxFQUFFLE9BQVk7UUFDN0MsTUFBTSxJQUFJLEdBQUcsSUFBQSxnQkFBTyxFQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzdCLE1BQU0sR0FBRyxHQUFpQixFQUFFLENBQUM7UUFDN0IsTUFBTSxPQUFPLEdBQVEsRUFBRSxDQUFDO1FBQ3hCLE1BQU0sT0FBTyxHQUFRLEVBQUUsQ0FBQztRQUV4QixLQUFLLE1BQU0sRUFBRSxJQUFJLE9BQU8sRUFBRTtZQUN4QixJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUU7Z0JBQ2YsSUFBSSxJQUFBLGNBQU8sRUFBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO29CQUM1QixHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztpQkFDdkI7cUJBQU07b0JBQ0wsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztpQkFDbEI7YUFDRjtpQkFBTTtnQkFDTCxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQ2xCO1NBQ0Y7UUFFRCxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUM7WUFDakIsR0FBRyxHQUFHO1lBQ04sR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNqRSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxFQUFFO2dCQUMxQixNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEdBQUcsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDO2dCQUN0QyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxJQUFTLENBQUMsQ0FBQztnQkFDaEQsT0FBTyxFQUFFLENBQUM7WUFDWixDQUFDLENBQUM7U0FDSCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRVMsS0FBSyxDQUFDLG1CQUFtQixDQUFJLE1BQWUsRUFBRSxPQUFZLEVBQUUsT0FBd0I7UUFDNUYsTUFBTSxJQUFJLEdBQUcsSUFBQSxnQkFBTyxFQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzdCLE1BQU0sU0FBUyxHQUFHLElBQUEsNkJBQXNCLEVBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRXhELEtBQUssTUFBTSxNQUFNLElBQUksU0FBUyxFQUFFO1lBQzlCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDdkMsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ25DLE1BQU0sVUFBVSxHQUFHLElBQUEsWUFBSyxFQUFDLE9BQU8sQ0FBQyxNQUFnQixDQUFDLENBQUMsQ0FBQztZQUNwRCxNQUFNLFFBQVEsR0FDWixVQUFVLEtBQUssSUFBSSxJQUFJLFVBQVUsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztZQUMzSCxNQUFNLEdBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFFN0MsSUFBSSxPQUFPLENBQUMsT0FBTyxFQUFFO2dCQUNuQixNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztnQkFDL0MsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUN4QyxNQUFNLFdBQVcsR0FBRyxJQUFBLGdCQUFPLEVBQUMsYUFBYSxDQUFDLENBQUM7Z0JBQzNDLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQ25FLFdBQVcsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFDLEtBQUssS0FBSyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUNqRyxDQUFDO2dCQUNGLE1BQU0sYUFBYSxHQUFHLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUU7b0JBQ3ZELFFBQVEsRUFBRTt3QkFDUixDQUFDLFVBQVUsQ0FBQyxFQUFFLElBQUk7d0JBQ2xCLENBQUMsWUFBWSxDQUFDLEVBQUU7NEJBQ2QsR0FBRyxRQUFROzRCQUNYLFNBQVMsRUFBRSxJQUFJO3lCQUNoQjtxQkFDRjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsQ0FBQyxVQUFVLENBQUMsRUFBRSxHQUFHO3FCQUNsQjtpQkFDRixDQUFDLENBQUM7Z0JBQ0gsTUFBTSxNQUFNLEdBQUcsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUNsRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQzthQUN6RTtpQkFBTSxJQUFJLE9BQU8sQ0FBQyxXQUFXLEtBQUssSUFBSSxFQUFFO2dCQUN2QyxNQUFNLFlBQVksR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztnQkFDbkQsSUFBSSxRQUFRLENBQUMsUUFBUSxFQUFFO29CQUNyQixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFO3dCQUNwQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLEVBQUU7NEJBQzdDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO3lCQUN0QztxQkFDRjt5QkFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsRUFBRTt3QkFDM0MsUUFBUSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsR0FBRyxJQUFJLENBQUM7cUJBQ3hDO2lCQUNGO2dCQUNELFFBQVEsQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO2dCQUMzQyxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFDO2dCQUN4RCxJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLFlBQVksRUFBRSxNQUFNLENBQUMsQ0FBQzthQUMzRTtTQUNGO0lBQ0gsQ0FBQztJQUVTLG9CQUFvQixDQUFJLE9BQVksRUFBRSxRQUFhLEVBQUUsV0FBbUIsRUFBRSxZQUFvQixFQUFFLE1BQWM7UUFDdEgsTUFBTSxtQkFBbUIsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ3pELE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUNwQyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNqQixHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO2FBQ25CO1lBQ0QsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN6QixPQUFPLEdBQUcsQ0FBQztRQUNiLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVQLEtBQUssTUFBTSxNQUFNLElBQUksT0FBTyxFQUFFO1lBQzVCLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUNyQyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsbUJBQW1CLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDaEQ7SUFDSCxDQUFDO0lBRVMsS0FBSyxDQUFDLGVBQWUsQ0FBSSxNQUFlLEVBQUUsT0FBWTtRQUM5RCxNQUFNLElBQUksR0FBRyxJQUFBLGdCQUFPLEVBQUMsTUFBTSxDQUFDLENBQUM7UUFDN0IsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUNmLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRTtZQUNqQixNQUFNLE9BQU8sR0FBRyxJQUFBLDhCQUF1QixFQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFDN0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUU7Z0JBQ25CLE9BQU87YUFDUjtZQUNELE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JGLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRVMsS0FBSyxDQUFDLGVBQWUsQ0FBSSxNQUFlLEVBQUUsUUFBMEIsRUFBRSxPQUFVO1FBQ3hGLE1BQU0sSUFBSSxHQUFHLElBQUEsZ0JBQU8sRUFBQyxNQUFNLENBQUMsQ0FBQztRQUM3QixNQUFNLE9BQU8sR0FBRyxJQUFBLDhCQUF1QixFQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFFbEUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUU7WUFDbkIsT0FBTztTQUNSO1FBRUQsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRTtZQUN6QyxHQUFHLFFBQVE7WUFDWCxRQUFRLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1NBQ3BCLENBQUMsQ0FBQztRQUVILE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUVsRCxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxFQUFFLEdBQUcsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ25KLENBQUM7SUFFUyxLQUFLLENBQUMsZUFBZSxDQUFJLE1BQWUsRUFBRSxHQUFpQixFQUFFLElBQW1CO1FBQ3hGLE1BQU0sSUFBSSxHQUFHLElBQUEsZ0JBQU8sRUFBQyxNQUFNLENBQUMsQ0FBQztRQUM3QixNQUFNLE9BQU8sR0FBRyxJQUFBLDhCQUF1QixFQUFDLElBQUksRUFBRSxJQUFJLENBQUMsU0FBYyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBRTdFLEtBQUssTUFBTSxNQUFNLElBQUksT0FBTyxFQUFFO1lBQzVCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDdkMsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ25DLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1lBQy9DLElBQUksT0FBTyxDQUFDLE9BQU8sRUFBRTtnQkFDbkIsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUN4QyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO2dCQUMvRSxPQUFPO2FBQ1I7WUFDRCxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxHQUFHLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztTQUMvRDtJQUNILENBQUM7SUFFUyxLQUFLLENBQUMsWUFBWSxDQUFJLE1BQWUsRUFBRSxPQUFVLEVBQUUsTUFBc0IsRUFBRSxRQUFrQjtRQUNyRyxNQUFNLElBQUksR0FBRyxJQUFBLGdCQUFPLEVBQUMsTUFBTSxDQUFDLENBQUM7UUFDN0IsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM1QixNQUFNLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDMUYsTUFBTSxTQUFTLEdBQUcsWUFBWSxFQUFFLENBQUM7UUFDakMsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBa0MsQ0FBQztRQUVwRSxJQUFJLFdBQVcsS0FBSyxJQUFJLElBQUksV0FBVyxLQUFLLElBQUksRUFBRTtZQUNoRCxJQUFJLE9BQU8sRUFBRTtnQkFDWCxNQUFNLFVBQVUsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO2dCQUV2QyxNQUFNLGFBQWEsR0FBRyxPQUFPLEVBQUUsQ0FBQztnQkFDaEMsSUFBSSxRQUFRLEVBQUU7b0JBQ1osTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO2lCQUN6RTtnQkFDRCxJQUFJLFVBQVUsRUFBRTtvQkFDZCxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFDO29CQUM1RCxNQUFNLGFBQWEsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO3dCQUM3QyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFO3dCQUN6QixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxLQUFLO3FCQUM3QixDQUFDLENBQUMsQ0FBQztvQkFDSixNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLGFBQWEsQ0FBQyxDQUFDO2lCQUNyRDtnQkFDRCxPQUFPO2FBQ1I7WUFDRCxNQUFNLFlBQVksR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO1lBQzNDLElBQUksUUFBUSxFQUFFO2dCQUNaLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQzthQUN2RTtZQUNELElBQUksVUFBVSxFQUFFO2dCQUNkLEtBQUssTUFBTSxFQUFFLElBQUksVUFBVSxFQUFFO29CQUMzQixFQUFFLENBQUMsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDO2lCQUN2QjtnQkFDRCxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFDO2FBQzVDO1lBQ0QsT0FBTztTQUNSO1FBRUQsSUFBSSxXQUFXLEtBQUssSUFBSSxFQUFFO1lBQ3hCLE1BQU0sWUFBWSxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7WUFDM0MsSUFBSSxVQUFVLEtBQUssSUFBSSxFQUFFO2dCQUN2QixNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ3RFLE9BQU87YUFDUjtZQUNELE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxHQUFHLFVBQVUsRUFBRSxDQUFDLFlBQVksQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDckUsT0FBTztTQUNSO1FBRUQsSUFBSSxXQUFXLEtBQUssSUFBSSxJQUFJLFVBQVUsRUFBRTtZQUN0QyxNQUFNLFVBQVUsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1lBQ3ZDLE1BQU0sV0FBVyxHQUFHLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDLENBQUM7WUFDaEUsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7WUFDcEUsT0FBTztTQUNSO0lBQ0gsQ0FBQztJQUVELGFBQWEsQ0FBSSxNQUFlO1FBQzlCLE9BQU8sSUFBSSw4QkFBaUIsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUlELEtBQUssQ0FBQyxXQUFXLENBQUksUUFBcUQ7UUFDeEUsSUFBSTtZQUNGLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDOUIsTUFBTSxHQUFHLEdBQUcsTUFBTSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDakMsTUFBTSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUMvQixPQUFPLEdBQUcsQ0FBQztTQUNaO1FBQUMsT0FBTyxHQUFHLEVBQUU7WUFDWixNQUFNLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBQ2pDLE1BQU0sR0FBRyxDQUFDO1NBQ1g7Z0JBQVM7WUFDUixNQUFNLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUN0QjtJQUNILENBQUM7Q0FXRjtBQS9RRCwwQ0ErUUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHZW5lcmljUmVwb3NpdG9yeSB9IGZyb20gJ0B1cWwvY29yZS9yZXBvc2l0b3J5JztcbmltcG9ydCB7IGNsb25lLCBnZXRLZXlzLCBnZXRQcm9qZWN0UmVsYXRpb25LZXlzLCBnZXRQZXJzaXN0YWJsZVJlbGF0aW9ucyB9IGZyb20gJ0B1cWwvY29yZS91dGlsJztcbmltcG9ydCB7IGdldE1ldGEgfSBmcm9tICdAdXFsL2NvcmUvZW50aXR5JztcbmltcG9ydCB7XG4gIElkVmFsdWUsXG4gIFF1ZXJpZXIsXG4gIFF1ZXJ5LFxuICBRdWVyeUNyaXRlcmlhLFxuICBRdWVyeU9uZSxcbiAgUXVlcnlPcHRpb25zLFxuICBRdWVyeVByb2plY3QsXG4gIFF1ZXJ5U2VhcmNoLFxuICBRdWVyeVVuaXF1ZSxcbiAgUmVsYXRpb25LZXksXG4gIFJlbGF0aW9uVmFsdWUsXG4gIFJlcG9zaXRvcnksXG4gIFR5cGUsXG59IGZyb20gJ0B1cWwvY29yZS90eXBlJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0UXVlcmllciBpbXBsZW1lbnRzIFF1ZXJpZXIge1xuICBhYnN0cmFjdCBjb3VudDxFPihlbnRpdHk6IFR5cGU8RT4sIHFtPzogUXVlcnlTZWFyY2g8RT4pOiBQcm9taXNlPG51bWJlcj47XG5cbiAgZmluZE9uZUJ5SWQ8RT4oZW50aXR5OiBUeXBlPEU+LCBpZDogSWRWYWx1ZTxFPiwgcW06IFF1ZXJ5VW5pcXVlPEU+ID0ge30pIHtcbiAgICByZXR1cm4gdGhpcy5maW5kT25lKGVudGl0eSwgeyAuLi5xbSwgJGZpbHRlcjogaWQgfSk7XG4gIH1cblxuICBhc3luYyBmaW5kT25lPEU+KGVudGl0eTogVHlwZTxFPiwgcW06IFF1ZXJ5T25lPEU+KSB7XG4gICAgY29uc3Qgcm93cyA9IGF3YWl0IHRoaXMuZmluZE1hbnkoZW50aXR5LCB7IC4uLnFtLCAkbGltaXQ6IDEgfSk7XG4gICAgcmV0dXJuIHJvd3NbMF07XG4gIH1cblxuICBhYnN0cmFjdCBmaW5kTWFueTxFPihlbnRpdHk6IFR5cGU8RT4sIHFtOiBRdWVyeTxFPik6IFByb21pc2U8RVtdPjtcblxuICBmaW5kTWFueUFuZENvdW50PEU+KGVudGl0eTogVHlwZTxFPiwgcW06IFF1ZXJ5PEU+KSB7XG4gICAgcmV0dXJuIFByb21pc2UuYWxsKFt0aGlzLmZpbmRNYW55KGVudGl0eSwgcW0pLCB0aGlzLmNvdW50KGVudGl0eSwgcW0pXSk7XG4gIH1cblxuICBhc3luYyBpbnNlcnRPbmU8RT4oZW50aXR5OiBUeXBlPEU+LCBwYXlsb2FkOiBFKSB7XG4gICAgY29uc3QgW2lkXSA9IGF3YWl0IHRoaXMuaW5zZXJ0TWFueShlbnRpdHksIFtwYXlsb2FkXSk7XG4gICAgcmV0dXJuIGlkO1xuICB9XG5cbiAgYWJzdHJhY3QgaW5zZXJ0TWFueTxFPihlbnRpdHk6IFR5cGU8RT4sIHBheWxvYWQ6IEVbXSk6IFByb21pc2U8SWRWYWx1ZTxFPltdPjtcblxuICB1cGRhdGVPbmVCeUlkPEU+KGVudGl0eTogVHlwZTxFPiwgaWQ6IElkVmFsdWU8RT4sIHBheWxvYWQ6IEUpIHtcbiAgICByZXR1cm4gdGhpcy51cGRhdGVNYW55KGVudGl0eSwgeyAkZmlsdGVyOiBpZCB9LCBwYXlsb2FkKTtcbiAgfVxuXG4gIGFic3RyYWN0IHVwZGF0ZU1hbnk8RT4oZW50aXR5OiBUeXBlPEU+LCBxbTogUXVlcnlDcml0ZXJpYTxFPiwgcGF5bG9hZDogRSk6IFByb21pc2U8bnVtYmVyPjtcblxuICBkZWxldGVPbmVCeUlkPEU+KGVudGl0eTogVHlwZTxFPiwgaWQ6IElkVmFsdWU8RT4sIG9wdHM/OiBRdWVyeU9wdGlvbnMpIHtcbiAgICByZXR1cm4gdGhpcy5kZWxldGVNYW55KGVudGl0eSwgeyAkZmlsdGVyOiBpZCB9LCBvcHRzKTtcbiAgfVxuXG4gIGFic3RyYWN0IGRlbGV0ZU1hbnk8RT4oZW50aXR5OiBUeXBlPEU+LCBxbTogUXVlcnlDcml0ZXJpYTxFPiwgb3B0cz86IFF1ZXJ5T3B0aW9ucyk6IFByb21pc2U8bnVtYmVyPjtcblxuICBhc3luYyBzYXZlT25lPEU+KGVudGl0eTogVHlwZTxFPiwgcGF5bG9hZDogRSkge1xuICAgIGNvbnN0IFtpZF0gPSBhd2FpdCB0aGlzLnNhdmVNYW55KGVudGl0eSwgW3BheWxvYWRdKTtcbiAgICByZXR1cm4gaWQ7XG4gIH1cblxuICBhc3luYyBzYXZlTWFueTxFPihlbnRpdHk6IFR5cGU8RT4sIHBheWxvYWQ6IEVbXSkge1xuICAgIGNvbnN0IG1ldGEgPSBnZXRNZXRhKGVudGl0eSk7XG4gICAgY29uc3QgaWRzOiBJZFZhbHVlPEU+W10gPSBbXTtcbiAgICBjb25zdCB1cGRhdGVzOiBFW10gPSBbXTtcbiAgICBjb25zdCBpbnNlcnRzOiBFW10gPSBbXTtcblxuICAgIGZvciAoY29uc3QgaXQgb2YgcGF5bG9hZCkge1xuICAgICAgaWYgKGl0W21ldGEuaWRdKSB7XG4gICAgICAgIGlmIChnZXRLZXlzKGl0KS5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICBpZHMucHVzaChpdFttZXRhLmlkXSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdXBkYXRlcy5wdXNoKGl0KTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaW5zZXJ0cy5wdXNoKGl0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gUHJvbWlzZS5hbGwoW1xuICAgICAgLi4uaWRzLFxuICAgICAgLi4uKGluc2VydHMubGVuZ3RoID8gYXdhaXQgdGhpcy5pbnNlcnRNYW55KGVudGl0eSwgaW5zZXJ0cykgOiBbXSksXG4gICAgICAuLi51cGRhdGVzLm1hcChhc3luYyAoaXQpID0+IHtcbiAgICAgICAgY29uc3QgeyBbbWV0YS5pZF06IGlkLCAuLi5kYXRhIH0gPSBpdDtcbiAgICAgICAgYXdhaXQgdGhpcy51cGRhdGVPbmVCeUlkKGVudGl0eSwgaWQsIGRhdGEgYXMgRSk7XG4gICAgICAgIHJldHVybiBpZDtcbiAgICAgIH0pLFxuICAgIF0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGZpbmRUb01hbnlSZWxhdGlvbnM8RT4oZW50aXR5OiBUeXBlPEU+LCBwYXlsb2FkOiBFW10sIHByb2plY3Q6IFF1ZXJ5UHJvamVjdDxFPikge1xuICAgIGNvbnN0IG1ldGEgPSBnZXRNZXRhKGVudGl0eSk7XG4gICAgY29uc3QgcmVsYXRpb25zID0gZ2V0UHJvamVjdFJlbGF0aW9uS2V5cyhtZXRhLCBwcm9qZWN0KTtcblxuICAgIGZvciAoY29uc3QgcmVsS2V5IG9mIHJlbGF0aW9ucykge1xuICAgICAgY29uc3QgcmVsT3B0cyA9IG1ldGEucmVsYXRpb25zW3JlbEtleV07XG4gICAgICBjb25zdCByZWxFbnRpdHkgPSByZWxPcHRzLmVudGl0eSgpO1xuICAgICAgY29uc3QgcmVsUHJvamVjdCA9IGNsb25lKHByb2plY3RbcmVsS2V5IGFzIHN0cmluZ10pO1xuICAgICAgY29uc3QgcmVsUXVlcnk6IFF1ZXJ5PGFueT4gPVxuICAgICAgICByZWxQcm9qZWN0ID09PSB0cnVlIHx8IHJlbFByb2plY3QgPT09IHVuZGVmaW5lZCA/IHt9IDogQXJyYXkuaXNBcnJheShyZWxQcm9qZWN0KSA/IHsgJHByb2plY3Q6IHJlbFByb2plY3QgfSA6IHJlbFByb2plY3Q7XG4gICAgICBjb25zdCBpZHMgPSBwYXlsb2FkLm1hcCgoaXQpID0+IGl0W21ldGEuaWRdKTtcblxuICAgICAgaWYgKHJlbE9wdHMudGhyb3VnaCkge1xuICAgICAgICBjb25zdCBsb2NhbEZpZWxkID0gcmVsT3B0cy5yZWZlcmVuY2VzWzBdLmxvY2FsO1xuICAgICAgICBjb25zdCB0aHJvdWdoRW50aXR5ID0gcmVsT3B0cy50aHJvdWdoKCk7XG4gICAgICAgIGNvbnN0IHRocm91Z2hNZXRhID0gZ2V0TWV0YSh0aHJvdWdoRW50aXR5KTtcbiAgICAgICAgY29uc3QgdGFyZ2V0UmVsS2V5ID0gT2JqZWN0LmtleXModGhyb3VnaE1ldGEucmVsYXRpb25zKS5maW5kKChrZXkpID0+XG4gICAgICAgICAgdGhyb3VnaE1ldGEucmVsYXRpb25zW2tleV0ucmVmZXJlbmNlcy5zb21lKCh7IGxvY2FsIH0pID0+IGxvY2FsID09PSByZWxPcHRzLnJlZmVyZW5jZXNbMV0ubG9jYWwpXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IHRocm91Z2hGb3VuZHMgPSBhd2FpdCB0aGlzLmZpbmRNYW55KHRocm91Z2hFbnRpdHksIHtcbiAgICAgICAgICAkcHJvamVjdDoge1xuICAgICAgICAgICAgW2xvY2FsRmllbGRdOiB0cnVlLFxuICAgICAgICAgICAgW3RhcmdldFJlbEtleV06IHtcbiAgICAgICAgICAgICAgLi4ucmVsUXVlcnksXG4gICAgICAgICAgICAgICRyZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICAkZmlsdGVyOiB7XG4gICAgICAgICAgICBbbG9jYWxGaWVsZF06IGlkcyxcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgZm91bmRzID0gdGhyb3VnaEZvdW5kcy5tYXAoKGl0KSA9PiAoeyAuLi5pdFt0YXJnZXRSZWxLZXldLCBbbG9jYWxGaWVsZF06IGl0W2xvY2FsRmllbGRdIH0pKTtcbiAgICAgICAgdGhpcy5wdXRDaGlsZHJlbkluUGFyZW50cyhwYXlsb2FkLCBmb3VuZHMsIG1ldGEuaWQsIGxvY2FsRmllbGQsIHJlbEtleSk7XG4gICAgICB9IGVsc2UgaWYgKHJlbE9wdHMuY2FyZGluYWxpdHkgPT09ICcxbScpIHtcbiAgICAgICAgY29uc3QgZm9yZWlnbkZpZWxkID0gcmVsT3B0cy5yZWZlcmVuY2VzWzBdLmZvcmVpZ247XG4gICAgICAgIGlmIChyZWxRdWVyeS4kcHJvamVjdCkge1xuICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHJlbFF1ZXJ5LiRwcm9qZWN0KSkge1xuICAgICAgICAgICAgaWYgKCFyZWxRdWVyeS4kcHJvamVjdC5pbmNsdWRlcyhmb3JlaWduRmllbGQpKSB7XG4gICAgICAgICAgICAgIHJlbFF1ZXJ5LiRwcm9qZWN0LnB1c2goZm9yZWlnbkZpZWxkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2UgaWYgKCFyZWxRdWVyeS4kcHJvamVjdFtmb3JlaWduRmllbGRdKSB7XG4gICAgICAgICAgICByZWxRdWVyeS4kcHJvamVjdFtmb3JlaWduRmllbGRdID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmVsUXVlcnkuJGZpbHRlciA9IHsgW2ZvcmVpZ25GaWVsZF06IGlkcyB9O1xuICAgICAgICBjb25zdCBmb3VuZHMgPSBhd2FpdCB0aGlzLmZpbmRNYW55KHJlbEVudGl0eSwgcmVsUXVlcnkpO1xuICAgICAgICB0aGlzLnB1dENoaWxkcmVuSW5QYXJlbnRzKHBheWxvYWQsIGZvdW5kcywgbWV0YS5pZCwgZm9yZWlnbkZpZWxkLCByZWxLZXkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBwdXRDaGlsZHJlbkluUGFyZW50czxFPihwYXJlbnRzOiBFW10sIGNoaWxkcmVuOiBFW10sIHBhcmVudElkS2V5OiBzdHJpbmcsIHJlZmVyZW5jZUtleTogc3RyaW5nLCByZWxLZXk6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IGNoaWxkcmVuQnlQYXJlbnRNYXAgPSBjaGlsZHJlbi5yZWR1Y2UoKGFjYywgY2hpbGQpID0+IHtcbiAgICAgIGNvbnN0IHBhcmVuSWQgPSBjaGlsZFtyZWZlcmVuY2VLZXldO1xuICAgICAgaWYgKCFhY2NbcGFyZW5JZF0pIHtcbiAgICAgICAgYWNjW3BhcmVuSWRdID0gW107XG4gICAgICB9XG4gICAgICBhY2NbcGFyZW5JZF0ucHVzaChjaGlsZCk7XG4gICAgICByZXR1cm4gYWNjO1xuICAgIH0sIHt9KTtcblxuICAgIGZvciAoY29uc3QgcGFyZW50IG9mIHBhcmVudHMpIHtcbiAgICAgIGNvbnN0IHBhcmVudElkID0gcGFyZW50W3BhcmVudElkS2V5XTtcbiAgICAgIHBhcmVudFtyZWxLZXldID0gY2hpbGRyZW5CeVBhcmVudE1hcFtwYXJlbnRJZF07XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGluc2VydFJlbGF0aW9uczxFPihlbnRpdHk6IFR5cGU8RT4sIHBheWxvYWQ6IEVbXSkge1xuICAgIGNvbnN0IG1ldGEgPSBnZXRNZXRhKGVudGl0eSk7XG4gICAgYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICBwYXlsb2FkLm1hcCgoaXQpID0+IHtcbiAgICAgICAgY29uc3QgcmVsS2V5cyA9IGdldFBlcnNpc3RhYmxlUmVsYXRpb25zKG1ldGEsIGl0LCAncGVyc2lzdCcpO1xuICAgICAgICBpZiAoIXJlbEtleXMubGVuZ3RoKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBQcm9taXNlLmFsbChyZWxLZXlzLm1hcCgocmVsS2V5KSA9PiB0aGlzLnNhdmVSZWxhdGlvbihlbnRpdHksIGl0LCByZWxLZXkpKSk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgdXBkYXRlUmVsYXRpb25zPEU+KGVudGl0eTogVHlwZTxFPiwgY3JpdGVyaWE6IFF1ZXJ5Q3JpdGVyaWE8RT4sIHBheWxvYWQ6IEUpIHtcbiAgICBjb25zdCBtZXRhID0gZ2V0TWV0YShlbnRpdHkpO1xuICAgIGNvbnN0IHJlbEtleXMgPSBnZXRQZXJzaXN0YWJsZVJlbGF0aW9ucyhtZXRhLCBwYXlsb2FkLCAncGVyc2lzdCcpO1xuXG4gICAgaWYgKCFyZWxLZXlzLmxlbmd0aCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGZvdW5kcyA9IGF3YWl0IHRoaXMuZmluZE1hbnkoZW50aXR5LCB7XG4gICAgICAuLi5jcml0ZXJpYSxcbiAgICAgICRwcm9qZWN0OiBbbWV0YS5pZF0sXG4gICAgfSk7XG5cbiAgICBjb25zdCBpZHMgPSBmb3VuZHMubWFwKChmb3VuZCkgPT4gZm91bmRbbWV0YS5pZF0pO1xuXG4gICAgYXdhaXQgUHJvbWlzZS5hbGwoaWRzLm1hcCgoaWQpID0+IFByb21pc2UuYWxsKHJlbEtleXMubWFwKChyZWxLZXkpID0+IHRoaXMuc2F2ZVJlbGF0aW9uKGVudGl0eSwgeyAuLi5wYXlsb2FkLCBbbWV0YS5pZF06IGlkIH0sIHJlbEtleSwgdHJ1ZSkpKSkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGRlbGV0ZVJlbGF0aW9uczxFPihlbnRpdHk6IFR5cGU8RT4sIGlkczogSWRWYWx1ZTxFPltdLCBvcHRzPzogUXVlcnlPcHRpb25zKSB7XG4gICAgY29uc3QgbWV0YSA9IGdldE1ldGEoZW50aXR5KTtcbiAgICBjb25zdCByZWxLZXlzID0gZ2V0UGVyc2lzdGFibGVSZWxhdGlvbnMobWV0YSwgbWV0YS5yZWxhdGlvbnMgYXMgRSwgJ2RlbGV0ZScpO1xuXG4gICAgZm9yIChjb25zdCByZWxLZXkgb2YgcmVsS2V5cykge1xuICAgICAgY29uc3QgcmVsT3B0cyA9IG1ldGEucmVsYXRpb25zW3JlbEtleV07XG4gICAgICBjb25zdCByZWxFbnRpdHkgPSByZWxPcHRzLmVudGl0eSgpO1xuICAgICAgY29uc3QgbG9jYWxGaWVsZCA9IHJlbE9wdHMucmVmZXJlbmNlc1swXS5sb2NhbDtcbiAgICAgIGlmIChyZWxPcHRzLnRocm91Z2gpIHtcbiAgICAgICAgY29uc3QgdGhyb3VnaEVudGl0eSA9IHJlbE9wdHMudGhyb3VnaCgpO1xuICAgICAgICBhd2FpdCB0aGlzLmRlbGV0ZU1hbnkodGhyb3VnaEVudGl0eSwgeyAkZmlsdGVyOiB7IFtsb2NhbEZpZWxkXTogaWRzIH0gfSwgb3B0cyk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGF3YWl0IHRoaXMuZGVsZXRlTWFueShyZWxFbnRpdHksIHsgW2xvY2FsRmllbGRdOiBpZHMgfSwgb3B0cyk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIHNhdmVSZWxhdGlvbjxFPihlbnRpdHk6IFR5cGU8RT4sIHBheWxvYWQ6IEUsIHJlbEtleTogUmVsYXRpb25LZXk8RT4sIGlzVXBkYXRlPzogYm9vbGVhbikge1xuICAgIGNvbnN0IG1ldGEgPSBnZXRNZXRhKGVudGl0eSk7XG4gICAgY29uc3QgaWQgPSBwYXlsb2FkW21ldGEuaWRdO1xuICAgIGNvbnN0IHsgZW50aXR5OiBlbnRpdHlHZXR0ZXIsIGNhcmRpbmFsaXR5LCByZWZlcmVuY2VzLCB0aHJvdWdoIH0gPSBtZXRhLnJlbGF0aW9uc1tyZWxLZXldO1xuICAgIGNvbnN0IHJlbEVudGl0eSA9IGVudGl0eUdldHRlcigpO1xuICAgIGNvbnN0IHJlbFBheWxvYWQgPSBwYXlsb2FkW3JlbEtleV0gYXMgdW5rbm93biBhcyBSZWxhdGlvblZhbHVlPEU+W107XG5cbiAgICBpZiAoY2FyZGluYWxpdHkgPT09ICcxbScgfHwgY2FyZGluYWxpdHkgPT09ICdtbScpIHtcbiAgICAgIGlmICh0aHJvdWdoKSB7XG4gICAgICAgIGNvbnN0IGxvY2FsRmllbGQgPSByZWZlcmVuY2VzWzBdLmxvY2FsO1xuXG4gICAgICAgIGNvbnN0IHRocm91Z2hFbnRpdHkgPSB0aHJvdWdoKCk7XG4gICAgICAgIGlmIChpc1VwZGF0ZSkge1xuICAgICAgICAgIGF3YWl0IHRoaXMuZGVsZXRlTWFueSh0aHJvdWdoRW50aXR5LCB7ICRmaWx0ZXI6IHsgW2xvY2FsRmllbGRdOiBpZCB9IH0pO1xuICAgICAgICB9XG4gICAgICAgIGlmIChyZWxQYXlsb2FkKSB7XG4gICAgICAgICAgY29uc3Qgc2F2ZWRJZHMgPSBhd2FpdCB0aGlzLnNhdmVNYW55KHJlbEVudGl0eSwgcmVsUGF5bG9hZCk7XG4gICAgICAgICAgY29uc3QgdGhyb3VnaEJvZGllcyA9IHNhdmVkSWRzLm1hcCgocmVsSWQpID0+ICh7XG4gICAgICAgICAgICBbcmVmZXJlbmNlc1swXS5sb2NhbF06IGlkLFxuICAgICAgICAgICAgW3JlZmVyZW5jZXNbMV0ubG9jYWxdOiByZWxJZCxcbiAgICAgICAgICB9KSk7XG4gICAgICAgICAgYXdhaXQgdGhpcy5pbnNlcnRNYW55KHRocm91Z2hFbnRpdHksIHRocm91Z2hCb2RpZXMpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGZvcmVpZ25GaWVsZCA9IHJlZmVyZW5jZXNbMF0uZm9yZWlnbjtcbiAgICAgIGlmIChpc1VwZGF0ZSkge1xuICAgICAgICBhd2FpdCB0aGlzLmRlbGV0ZU1hbnkocmVsRW50aXR5LCB7ICRmaWx0ZXI6IHsgW2ZvcmVpZ25GaWVsZF06IGlkIH0gfSk7XG4gICAgICB9XG4gICAgICBpZiAocmVsUGF5bG9hZCkge1xuICAgICAgICBmb3IgKGNvbnN0IGl0IG9mIHJlbFBheWxvYWQpIHtcbiAgICAgICAgICBpdFtmb3JlaWduRmllbGRdID0gaWQ7XG4gICAgICAgIH1cbiAgICAgICAgYXdhaXQgdGhpcy5zYXZlTWFueShyZWxFbnRpdHksIHJlbFBheWxvYWQpO1xuICAgICAgfVxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChjYXJkaW5hbGl0eSA9PT0gJzExJykge1xuICAgICAgY29uc3QgZm9yZWlnbkZpZWxkID0gcmVmZXJlbmNlc1swXS5mb3JlaWduO1xuICAgICAgaWYgKHJlbFBheWxvYWQgPT09IG51bGwpIHtcbiAgICAgICAgYXdhaXQgdGhpcy5kZWxldGVNYW55KHJlbEVudGl0eSwgeyAkZmlsdGVyOiB7IFtmb3JlaWduRmllbGRdOiBpZCB9IH0pO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBhd2FpdCB0aGlzLnNhdmVPbmUocmVsRW50aXR5LCB7IC4uLnJlbFBheWxvYWQsIFtmb3JlaWduRmllbGRdOiBpZCB9KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoY2FyZGluYWxpdHkgPT09ICdtMScgJiYgcmVsUGF5bG9hZCkge1xuICAgICAgY29uc3QgbG9jYWxGaWVsZCA9IHJlZmVyZW5jZXNbMF0ubG9jYWw7XG4gICAgICBjb25zdCByZWZlcmVuY2VJZCA9IGF3YWl0IHRoaXMuaW5zZXJ0T25lKHJlbEVudGl0eSwgcmVsUGF5bG9hZCk7XG4gICAgICBhd2FpdCB0aGlzLnVwZGF0ZU9uZUJ5SWQoZW50aXR5LCBpZCwgeyBbbG9jYWxGaWVsZF06IHJlZmVyZW5jZUlkIH0pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfVxuXG4gIGdldFJlcG9zaXRvcnk8RT4oZW50aXR5OiBUeXBlPEU+KTogUmVwb3NpdG9yeTxFPiB7XG4gICAgcmV0dXJuIG5ldyBHZW5lcmljUmVwb3NpdG9yeShlbnRpdHksIHRoaXMpO1xuICB9XG5cbiAgYWJzdHJhY3QgcmVhZG9ubHkgaGFzT3BlblRyYW5zYWN0aW9uOiBib29sZWFuO1xuXG4gIGFzeW5jIHRyYW5zYWN0aW9uPFQ+KGNhbGxiYWNrOiAocXVlcmllcj86IFRoaXNUeXBlPFF1ZXJpZXI+KSA9PiBQcm9taXNlPFQ+KSB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMuYmVnaW5UcmFuc2FjdGlvbigpO1xuICAgICAgY29uc3QgcmVzID0gYXdhaXQgY2FsbGJhY2sodGhpcyk7XG4gICAgICBhd2FpdCB0aGlzLmNvbW1pdFRyYW5zYWN0aW9uKCk7XG4gICAgICByZXR1cm4gcmVzO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgYXdhaXQgdGhpcy5yb2xsYmFja1RyYW5zYWN0aW9uKCk7XG4gICAgICB0aHJvdyBlcnI7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIGF3YWl0IHRoaXMucmVsZWFzZSgpO1xuICAgIH1cbiAgfVxuXG4gIGFic3RyYWN0IGJlZ2luVHJhbnNhY3Rpb24oKTogUHJvbWlzZTx2b2lkPjtcblxuICBhYnN0cmFjdCBjb21taXRUcmFuc2FjdGlvbigpOiBQcm9taXNlPHZvaWQ+O1xuXG4gIGFic3RyYWN0IHJvbGxiYWNrVHJhbnNhY3Rpb24oKTogUHJvbWlzZTx2b2lkPjtcblxuICBhYnN0cmFjdCByZWxlYXNlKCk6IFByb21pc2U8dm9pZD47XG5cbiAgYWJzdHJhY3QgZW5kKCk6IFByb21pc2U8dm9pZD47XG59XG4iXX0=
|
|
226
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3RRdWVyaWVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3F1ZXJpZXIvYWJzdHJhY3RRdWVyaWVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLHVCQUF1QixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakcsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBaUIzQyxNQUFNLE9BQWdCLGVBQWU7SUFHbkMsV0FBVyxDQUFJLE1BQWUsRUFBRSxFQUFjLEVBQUUsS0FBcUIsRUFBRTtRQUNyRSxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFPLENBQUksTUFBZSxFQUFFLEVBQWU7UUFDL0MsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQy9ELE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2pCLENBQUM7SUFJRCxnQkFBZ0IsQ0FBSSxNQUFlLEVBQUUsRUFBWTtRQUMvQyxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDMUUsQ0FBQztJQUVELEtBQUssQ0FBQyxTQUFTLENBQUksTUFBZSxFQUFFLE9BQVU7UUFDNUMsTUFBTSxDQUFDLEVBQUUs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TSxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsQ0FBQztZQUNoRSxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztZQUNwRSxPQUFPO1NBQ1I7SUFDSCxDQUFDO0lBRUQsYUFBYSxDQUFJLE1BQWU7UUFDOUIsT0FBTyxJQUFJLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBSUQsS0FBSyxDQUFDLFdBQVcsQ0FBSSxRQUFxRDtRQUN4RSxJQUFJO1lBQ0YsTUFBTSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUM5QixNQUFNLEdBQUcsR0FBRyxNQUFNLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNqQyxNQUFNLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQy9CLE9BQU8sR0FBRyxDQUFDO1NBQ1o7UUFBQyxPQUFPLEdBQUcsRUFBRTtZQUNaLE1BQU0sSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7WUFDakMsTUFBTSxHQUFHLENBQUM7U0FDWDtnQkFBUztZQUNSLE1BQU0sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQ3RCO0lBQ0gsQ0FBQztDQVdGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR2VuZXJpY1JlcG9zaXRvcnkgfSBmcm9tICdAdXFsL2NvcmUvcmVwb3NpdG9yeSc7XG5pbXBvcnQgeyBjbG9uZSwgZ2V0S2V5cywgZ2V0UHJvamVjdFJlbGF0aW9uS2V5cywgZ2V0UGVyc2lzdGFibGVSZWxhdGlvbnMgfSBmcm9tICdAdXFsL2NvcmUvdXRpbCc7XG5pbXBvcnQgeyBnZXRNZXRhIH0gZnJvbSAnQHVxbC9jb3JlL2VudGl0eSc7XG5pbXBvcnQge1xuICBJZFZhbHVlLFxuICBRdWVyaWVyLFxuICBRdWVyeSxcbiAgUXVlcnlDcml0ZXJpYSxcbiAgUXVlcnlPbmUsXG4gIFF1ZXJ5T3B0aW9ucyxcbiAgUXVlcnlQcm9qZWN0LFxuICBRdWVyeVNlYXJjaCxcbiAgUXVlcnlVbmlxdWUsXG4gIFJlbGF0aW9uS2V5LFxuICBSZWxhdGlvblZhbHVlLFxuICBSZXBvc2l0b3J5LFxuICBUeXBlLFxufSBmcm9tICdAdXFsL2NvcmUvdHlwZSc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdFF1ZXJpZXIgaW1wbGVtZW50cyBRdWVyaWVyIHtcbiAgYWJzdHJhY3QgY291bnQ8RT4oZW50aXR5OiBUeXBlPEU+LCBxbT86IFF1ZXJ5U2VhcmNoPEU+KTogUHJvbWlzZTxudW1iZXI+O1xuXG4gIGZpbmRPbmVCeUlkPEU+KGVudGl0eTogVHlwZTxFPiwgaWQ6IElkVmFsdWU8RT4sIHFtOiBRdWVyeVVuaXF1ZTxFPiA9IHt9KSB7XG4gICAgcmV0dXJuIHRoaXMuZmluZE9uZShlbnRpdHksIHsgLi4ucW0sICRmaWx0ZXI6IGlkIH0pO1xuICB9XG5cbiAgYXN5bmMgZmluZE9uZTxFPihlbnRpdHk6IFR5cGU8RT4sIHFtOiBRdWVyeU9uZTxFPikge1xuICAgIGNvbnN0IHJvd3MgPSBhd2FpdCB0aGlzLmZpbmRNYW55KGVudGl0eSwgeyAuLi5xbSwgJGxpbWl0OiAxIH0pO1xuICAgIHJldHVybiByb3dzWzBdO1xuICB9XG5cbiAgYWJzdHJhY3QgZmluZE1hbnk8RT4oZW50aXR5OiBUeXBlPEU+LCBxbTogUXVlcnk8RT4pOiBQcm9taXNlPEVbXT47XG5cbiAgZmluZE1hbnlBbmRDb3VudDxFPihlbnRpdHk6IFR5cGU8RT4sIHFtOiBRdWVyeTxFPikge1xuICAgIHJldHVybiBQcm9taXNlLmFsbChbdGhpcy5maW5kTWFueShlbnRpdHksIHFtKSwgdGhpcy5jb3VudChlbnRpdHksIHFtKV0pO1xuICB9XG5cbiAgYXN5bmMgaW5zZXJ0T25lPEU+KGVudGl0eTogVHlwZTxFPiwgcGF5bG9hZDogRSkge1xuICAgIGNvbnN0IFtpZF0gPSBhd2FpdCB0aGlzLmluc2VydE1hbnkoZW50aXR5LCBbcGF5bG9hZF0pO1xuICAgIHJldHVybiBpZDtcbiAgfVxuXG4gIGFic3RyYWN0IGluc2VydE1hbnk8RT4oZW50aXR5OiBUeXBlPEU+LCBwYXlsb2FkOiBFW10pOiBQcm9taXNlPElkVmFsdWU8RT5bXT47XG5cbiAgdXBkYXRlT25lQnlJZDxFPihlbnRpdHk6IFR5cGU8RT4sIGlkOiBJZFZhbHVlPEU+LCBwYXlsb2FkOiBFKSB7XG4gICAgcmV0dXJuIHRoaXMudXBkYXRlTWFueShlbnRpdHksIHsgJGZpbHRlcjogaWQgfSwgcGF5bG9hZCk7XG4gIH1cblxuICBhYnN0cmFjdCB1cGRhdGVNYW55PEU+KGVudGl0eTogVHlwZTxFPiwgcW06IFF1ZXJ5Q3JpdGVyaWE8RT4sIHBheWxvYWQ6IEUpOiBQcm9taXNlPG51bWJlcj47XG5cbiAgZGVsZXRlT25lQnlJZDxFPihlbnRpdHk6IFR5cGU8RT4sIGlkOiBJZFZhbHVlPEU+LCBvcHRzPzogUXVlcnlPcHRpb25zKSB7XG4gICAgcmV0dXJuIHRoaXMuZGVsZXRlTWFueShlbnRpdHksIHsgJGZpbHRlcjogaWQgfSwgb3B0cyk7XG4gIH1cblxuICBhYnN0cmFjdCBkZWxldGVNYW55PEU+KGVudGl0eTogVHlwZTxFPiwgcW06IFF1ZXJ5Q3JpdGVyaWE8RT4sIG9wdHM/OiBRdWVyeU9wdGlvbnMpOiBQcm9taXNlPG51bWJlcj47XG5cbiAgYXN5bmMgc2F2ZU9uZTxFPihlbnRpdHk6IFR5cGU8RT4sIHBheWxvYWQ6IEUpIHtcbiAgICBjb25zdCBbaWRdID0gYXdhaXQgdGhpcy5zYXZlTWFueShlbnRpdHksIFtwYXlsb2FkXSk7XG4gICAgcmV0dXJuIGlkO1xuICB9XG5cbiAgYXN5bmMgc2F2ZU1hbnk8RT4oZW50aXR5OiBUeXBlPEU+LCBwYXlsb2FkOiBFW10pIHtcbiAgICBjb25zdCBtZXRhID0gZ2V0TWV0YShlbnRpdHkpO1xuICAgIGNvbnN0IGlkczogSWRWYWx1ZTxFPltdID0gW107XG4gICAgY29uc3QgdXBkYXRlczogRVtdID0gW107XG4gICAgY29uc3QgaW5zZXJ0czogRVtdID0gW107XG5cbiAgICBmb3IgKGNvbnN0IGl0IG9mIHBheWxvYWQpIHtcbiAgICAgIGlmIChpdFttZXRhLmlkXSkge1xuICAgICAgICBpZiAoZ2V0S2V5cyhpdCkubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgaWRzLnB1c2goaXRbbWV0YS5pZF0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHVwZGF0ZXMucHVzaChpdCk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGluc2VydHMucHVzaChpdCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIFByb21pc2UuYWxsKFtcbiAgICAgIC4uLmlkcyxcbiAgICAgIC4uLihpbnNlcnRzLmxlbmd0aCA/IGF3YWl0IHRoaXMuaW5zZXJ0TWFueShlbnRpdHksIGluc2VydHMpIDogW10pLFxuICAgICAgLi4udXBkYXRlcy5tYXAoYXN5bmMgKGl0KSA9PiB7XG4gICAgICAgIGNvbnN0IHsgW21ldGEuaWRdOiBpZCwgLi4uZGF0YSB9ID0gaXQ7XG4gICAgICAgIGF3YWl0IHRoaXMudXBkYXRlT25lQnlJZChlbnRpdHksIGlkLCBkYXRhIGFzIEUpO1xuICAgICAgICByZXR1cm4gaWQ7XG4gICAgICB9KSxcbiAgICBdKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBmaW5kVG9NYW55UmVsYXRpb25zPEU+KGVudGl0eTogVHlwZTxFPiwgcGF5bG9hZDogRVtdLCBwcm9qZWN0OiBRdWVyeVByb2plY3Q8RT4pIHtcbiAgICBjb25zdCBtZXRhID0gZ2V0TWV0YShlbnRpdHkpO1xuICAgIGNvbnN0IHJlbGF0aW9ucyA9IGdldFByb2plY3RSZWxhdGlvbktleXMobWV0YSwgcHJvamVjdCk7XG5cbiAgICBmb3IgKGNvbnN0IHJlbEtleSBvZiByZWxhdGlvbnMpIHtcbiAgICAgIGNvbnN0IHJlbE9wdHMgPSBtZXRhLnJlbGF0aW9uc1tyZWxLZXldO1xuICAgICAgY29uc3QgcmVsRW50aXR5ID0gcmVsT3B0cy5lbnRpdHkoKTtcbiAgICAgIGNvbnN0IHJlbFByb2plY3QgPSBjbG9uZShwcm9qZWN0W3JlbEtleSBhcyBzdHJpbmddKTtcbiAgICAgIGNvbnN0IHJlbFF1ZXJ5OiBRdWVyeTxhbnk+ID1cbiAgICAgICAgcmVsUHJvamVjdCA9PT0gdHJ1ZSB8fCByZWxQcm9qZWN0ID09PSB1bmRlZmluZWQgPyB7fSA6IEFycmF5LmlzQXJyYXkocmVsUHJvamVjdCkgPyB7ICRwcm9qZWN0OiByZWxQcm9qZWN0IH0gOiByZWxQcm9qZWN0O1xuICAgICAgY29uc3QgaWRzID0gcGF5bG9hZC5tYXAoKGl0KSA9PiBpdFttZXRhLmlkXSk7XG5cbiAgICAgIGlmIChyZWxPcHRzLnRocm91Z2gpIHtcbiAgICAgICAgY29uc3QgbG9jYWxGaWVsZCA9IHJlbE9wdHMucmVmZXJlbmNlc1swXS5sb2NhbDtcbiAgICAgICAgY29uc3QgdGhyb3VnaEVudGl0eSA9IHJlbE9wdHMudGhyb3VnaCgpO1xuICAgICAgICBjb25zdCB0aHJvdWdoTWV0YSA9IGdldE1ldGEodGhyb3VnaEVudGl0eSk7XG4gICAgICAgIGNvbnN0IHRhcmdldFJlbEtleSA9IE9iamVjdC5rZXlzKHRocm91Z2hNZXRhLnJlbGF0aW9ucykuZmluZCgoa2V5KSA9PlxuICAgICAgICAgIHRocm91Z2hNZXRhLnJlbGF0aW9uc1trZXldLnJlZmVyZW5jZXMuc29tZSgoeyBsb2NhbCB9KSA9PiBsb2NhbCA9PT0gcmVsT3B0cy5yZWZlcmVuY2VzWzFdLmxvY2FsKVxuICAgICAgICApO1xuICAgICAgICBjb25zdCB0aHJvdWdoRm91bmRzID0gYXdhaXQgdGhpcy5maW5kTWFueSh0aHJvdWdoRW50aXR5LCB7XG4gICAgICAgICAgJHByb2plY3Q6IHtcbiAgICAgICAgICAgIFtsb2NhbEZpZWxkXTogdHJ1ZSxcbiAgICAgICAgICAgIFt0YXJnZXRSZWxLZXldOiB7XG4gICAgICAgICAgICAgIC4uLnJlbFF1ZXJ5LFxuICAgICAgICAgICAgICAkcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgICAgJGZpbHRlcjoge1xuICAgICAgICAgICAgW2xvY2FsRmllbGRdOiBpZHMsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IGZvdW5kcyA9IHRocm91Z2hGb3VuZHMubWFwKChpdCkgPT4gKHsgLi4uaXRbdGFyZ2V0UmVsS2V5XSwgW2xvY2FsRmllbGRdOiBpdFtsb2NhbEZpZWxkXSB9KSk7XG4gICAgICAgIHRoaXMucHV0Q2hpbGRyZW5JblBhcmVudHMocGF5bG9hZCwgZm91bmRzLCBtZXRhLmlkLCBsb2NhbEZpZWxkLCByZWxLZXkpO1xuICAgICAgfSBlbHNlIGlmIChyZWxPcHRzLmNhcmRpbmFsaXR5ID09PSAnMW0nKSB7XG4gICAgICAgIGNvbnN0IGZvcmVpZ25GaWVsZCA9IHJlbE9wdHMucmVmZXJlbmNlc1swXS5mb3JlaWduO1xuICAgICAgICBpZiAocmVsUXVlcnkuJHByb2plY3QpIHtcbiAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShyZWxRdWVyeS4kcHJvamVjdCkpIHtcbiAgICAgICAgICAgIGlmICghcmVsUXVlcnkuJHByb2plY3QuaW5jbHVkZXMoZm9yZWlnbkZpZWxkKSkge1xuICAgICAgICAgICAgICByZWxRdWVyeS4kcHJvamVjdC5wdXNoKGZvcmVpZ25GaWVsZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIGlmICghcmVsUXVlcnkuJHByb2plY3RbZm9yZWlnbkZpZWxkXSkge1xuICAgICAgICAgICAgcmVsUXVlcnkuJHByb2plY3RbZm9yZWlnbkZpZWxkXSA9IHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJlbFF1ZXJ5LiRmaWx0ZXIgPSB7IFtmb3JlaWduRmllbGRdOiBpZHMgfTtcbiAgICAgICAgY29uc3QgZm91bmRzID0gYXdhaXQgdGhpcy5maW5kTWFueShyZWxFbnRpdHksIHJlbFF1ZXJ5KTtcbiAgICAgICAgdGhpcy5wdXRDaGlsZHJlbkluUGFyZW50cyhwYXlsb2FkLCBmb3VuZHMsIG1ldGEuaWQsIGZvcmVpZ25GaWVsZCwgcmVsS2V5KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgcHV0Q2hpbGRyZW5JblBhcmVudHM8RT4ocGFyZW50czogRVtdLCBjaGlsZHJlbjogRVtdLCBwYXJlbnRJZEtleTogc3RyaW5nLCByZWZlcmVuY2VLZXk6IHN0cmluZywgcmVsS2V5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBjaGlsZHJlbkJ5UGFyZW50TWFwID0gY2hpbGRyZW4ucmVkdWNlKChhY2MsIGNoaWxkKSA9PiB7XG4gICAgICBjb25zdCBwYXJlbklkID0gY2hpbGRbcmVmZXJlbmNlS2V5XTtcbiAgICAgIGlmICghYWNjW3BhcmVuSWRdKSB7XG4gICAgICAgIGFjY1twYXJlbklkXSA9IFtdO1xuICAgICAgfVxuICAgICAgYWNjW3BhcmVuSWRdLnB1c2goY2hpbGQpO1xuICAgICAgcmV0dXJuIGFjYztcbiAgICB9LCB7fSk7XG5cbiAgICBmb3IgKGNvbnN0IHBhcmVudCBvZiBwYXJlbnRzKSB7XG4gICAgICBjb25zdCBwYXJlbnRJZCA9IHBhcmVudFtwYXJlbnRJZEtleV07XG4gICAgICBwYXJlbnRbcmVsS2V5XSA9IGNoaWxkcmVuQnlQYXJlbnRNYXBbcGFyZW50SWRdO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBpbnNlcnRSZWxhdGlvbnM8RT4oZW50aXR5OiBUeXBlPEU+LCBwYXlsb2FkOiBFW10pIHtcbiAgICBjb25zdCBtZXRhID0gZ2V0TWV0YShlbnRpdHkpO1xuICAgIGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgcGF5bG9hZC5tYXAoKGl0KSA9PiB7XG4gICAgICAgIGNvbnN0IHJlbEtleXMgPSBnZXRQZXJzaXN0YWJsZVJlbGF0aW9ucyhtZXRhLCBpdCwgJ3BlcnNpc3QnKTtcbiAgICAgICAgaWYgKCFyZWxLZXlzLmxlbmd0aCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gUHJvbWlzZS5hbGwocmVsS2V5cy5tYXAoKHJlbEtleSkgPT4gdGhpcy5zYXZlUmVsYXRpb24oZW50aXR5LCBpdCwgcmVsS2V5KSkpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIHVwZGF0ZVJlbGF0aW9uczxFPihlbnRpdHk6IFR5cGU8RT4sIGNyaXRlcmlhOiBRdWVyeUNyaXRlcmlhPEU+LCBwYXlsb2FkOiBFKSB7XG4gICAgY29uc3QgbWV0YSA9IGdldE1ldGEoZW50aXR5KTtcbiAgICBjb25zdCByZWxLZXlzID0gZ2V0UGVyc2lzdGFibGVSZWxhdGlvbnMobWV0YSwgcGF5bG9hZCwgJ3BlcnNpc3QnKTtcblxuICAgIGlmICghcmVsS2V5cy5sZW5ndGgpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBmb3VuZHMgPSBhd2FpdCB0aGlzLmZpbmRNYW55KGVudGl0eSwge1xuICAgICAgLi4uY3JpdGVyaWEsXG4gICAgICAkcHJvamVjdDogW21ldGEuaWRdLFxuICAgIH0pO1xuXG4gICAgY29uc3QgaWRzID0gZm91bmRzLm1hcCgoZm91bmQpID0+IGZvdW5kW21ldGEuaWRdKTtcblxuICAgIGF3YWl0IFByb21pc2UuYWxsKGlkcy5tYXAoKGlkKSA9PiBQcm9taXNlLmFsbChyZWxLZXlzLm1hcCgocmVsS2V5KSA9PiB0aGlzLnNhdmVSZWxhdGlvbihlbnRpdHksIHsgLi4ucGF5bG9hZCwgW21ldGEuaWRdOiBpZCB9LCByZWxLZXksIHRydWUpKSkpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBkZWxldGVSZWxhdGlvbnM8RT4oZW50aXR5OiBUeXBlPEU+LCBpZHM6IElkVmFsdWU8RT5bXSwgb3B0cz86IFF1ZXJ5T3B0aW9ucykge1xuICAgIGNvbnN0IG1ldGEgPSBnZXRNZXRhKGVudGl0eSk7XG4gICAgY29uc3QgcmVsS2V5cyA9IGdldFBlcnNpc3RhYmxlUmVsYXRpb25zKG1ldGEsIG1ldGEucmVsYXRpb25zIGFzIEUsICdkZWxldGUnKTtcblxuICAgIGZvciAoY29uc3QgcmVsS2V5IG9mIHJlbEtleXMpIHtcbiAgICAgIGNvbnN0IHJlbE9wdHMgPSBtZXRhLnJlbGF0aW9uc1tyZWxLZXldO1xuICAgICAgY29uc3QgcmVsRW50aXR5ID0gcmVsT3B0cy5lbnRpdHkoKTtcbiAgICAgIGNvbnN0IGxvY2FsRmllbGQgPSByZWxPcHRzLnJlZmVyZW5jZXNbMF0ubG9jYWw7XG4gICAgICBpZiAocmVsT3B0cy50aHJvdWdoKSB7XG4gICAgICAgIGNvbnN0IHRocm91Z2hFbnRpdHkgPSByZWxPcHRzLnRocm91Z2goKTtcbiAgICAgICAgYXdhaXQgdGhpcy5kZWxldGVNYW55KHRocm91Z2hFbnRpdHksIHsgJGZpbHRlcjogeyBbbG9jYWxGaWVsZF06IGlkcyB9IH0sIG9wdHMpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBhd2FpdCB0aGlzLmRlbGV0ZU1hbnkocmVsRW50aXR5LCB7IFtsb2NhbEZpZWxkXTogaWRzIH0sIG9wdHMpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBzYXZlUmVsYXRpb248RT4oZW50aXR5OiBUeXBlPEU+LCBwYXlsb2FkOiBFLCByZWxLZXk6IFJlbGF0aW9uS2V5PEU+LCBpc1VwZGF0ZT86IGJvb2xlYW4pIHtcbiAgICBjb25zdCBtZXRhID0gZ2V0TWV0YShlbnRpdHkpO1xuICAgIGNvbnN0IGlkID0gcGF5bG9hZFttZXRhLmlkXTtcbiAgICBjb25zdCB7IGVudGl0eTogZW50aXR5R2V0dGVyLCBjYXJkaW5hbGl0eSwgcmVmZXJlbmNlcywgdGhyb3VnaCB9ID0gbWV0YS5yZWxhdGlvbnNbcmVsS2V5XTtcbiAgICBjb25zdCByZWxFbnRpdHkgPSBlbnRpdHlHZXR0ZXIoKTtcbiAgICBjb25zdCByZWxQYXlsb2FkID0gcGF5bG9hZFtyZWxLZXldIGFzIHVua25vd24gYXMgUmVsYXRpb25WYWx1ZTxFPltdO1xuXG4gICAgaWYgKGNhcmRpbmFsaXR5ID09PSAnMW0nIHx8IGNhcmRpbmFsaXR5ID09PSAnbW0nKSB7XG4gICAgICBpZiAodGhyb3VnaCkge1xuICAgICAgICBjb25zdCBsb2NhbEZpZWxkID0gcmVmZXJlbmNlc1swXS5sb2NhbDtcblxuICAgICAgICBjb25zdCB0aHJvdWdoRW50aXR5ID0gdGhyb3VnaCgpO1xuICAgICAgICBpZiAoaXNVcGRhdGUpIHtcbiAgICAgICAgICBhd2FpdCB0aGlzLmRlbGV0ZU1hbnkodGhyb3VnaEVudGl0eSwgeyAkZmlsdGVyOiB7IFtsb2NhbEZpZWxkXTogaWQgfSB9KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAocmVsUGF5bG9hZCkge1xuICAgICAgICAgIGNvbnN0IHNhdmVkSWRzID0gYXdhaXQgdGhpcy5zYXZlTWFueShyZWxFbnRpdHksIHJlbFBheWxvYWQpO1xuICAgICAgICAgIGNvbnN0IHRocm91Z2hCb2RpZXMgPSBzYXZlZElkcy5tYXAoKHJlbElkKSA9PiAoe1xuICAgICAgICAgICAgW3JlZmVyZW5jZXNbMF0ubG9jYWxdOiBpZCxcbiAgICAgICAgICAgIFtyZWZlcmVuY2VzWzFdLmxvY2FsXTogcmVsSWQsXG4gICAgICAgICAgfSkpO1xuICAgICAgICAgIGF3YWl0IHRoaXMuaW5zZXJ0TWFueSh0aHJvdWdoRW50aXR5LCB0aHJvdWdoQm9kaWVzKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBjb25zdCBmb3JlaWduRmllbGQgPSByZWZlcmVuY2VzWzBdLmZvcmVpZ247XG4gICAgICBpZiAoaXNVcGRhdGUpIHtcbiAgICAgICAgYXdhaXQgdGhpcy5kZWxldGVNYW55KHJlbEVudGl0eSwgeyAkZmlsdGVyOiB7IFtmb3JlaWduRmllbGRdOiBpZCB9IH0pO1xuICAgICAgfVxuICAgICAgaWYgKHJlbFBheWxvYWQpIHtcbiAgICAgICAgZm9yIChjb25zdCBpdCBvZiByZWxQYXlsb2FkKSB7XG4gICAgICAgICAgaXRbZm9yZWlnbkZpZWxkXSA9IGlkO1xuICAgICAgICB9XG4gICAgICAgIGF3YWl0IHRoaXMuc2F2ZU1hbnkocmVsRW50aXR5LCByZWxQYXlsb2FkKTtcbiAgICAgIH1cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoY2FyZGluYWxpdHkgPT09ICcxMScpIHtcbiAgICAgIGNvbnN0IGZvcmVpZ25GaWVsZCA9IHJlZmVyZW5jZXNbMF0uZm9yZWlnbjtcbiAgICAgIGlmIChyZWxQYXlsb2FkID09PSBudWxsKSB7XG4gICAgICAgIGF3YWl0IHRoaXMuZGVsZXRlTWFueShyZWxFbnRpdHksIHsgJGZpbHRlcjogeyBbZm9yZWlnbkZpZWxkXTogaWQgfSB9KTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgYXdhaXQgdGhpcy5zYXZlT25lKHJlbEVudGl0eSwgeyAuLi5yZWxQYXlsb2FkLCBbZm9yZWlnbkZpZWxkXTogaWQgfSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGNhcmRpbmFsaXR5ID09PSAnbTEnICYmIHJlbFBheWxvYWQpIHtcbiAgICAgIGNvbnN0IGxvY2FsRmllbGQgPSByZWZlcmVuY2VzWzBdLmxvY2FsO1xuICAgICAgY29uc3QgcmVmZXJlbmNlSWQgPSBhd2FpdCB0aGlzLmluc2VydE9uZShyZWxFbnRpdHksIHJlbFBheWxvYWQpO1xuICAgICAgYXdhaXQgdGhpcy51cGRhdGVPbmVCeUlkKGVudGl0eSwgaWQsIHsgW2xvY2FsRmllbGRdOiByZWZlcmVuY2VJZCB9KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gIH1cblxuICBnZXRSZXBvc2l0b3J5PEU+KGVudGl0eTogVHlwZTxFPik6IFJlcG9zaXRvcnk8RT4ge1xuICAgIHJldHVybiBuZXcgR2VuZXJpY1JlcG9zaXRvcnkoZW50aXR5LCB0aGlzKTtcbiAgfVxuXG4gIGFic3RyYWN0IHJlYWRvbmx5IGhhc09wZW5UcmFuc2FjdGlvbjogYm9vbGVhbjtcblxuICBhc3luYyB0cmFuc2FjdGlvbjxUPihjYWxsYmFjazogKHF1ZXJpZXI/OiBUaGlzVHlwZTxRdWVyaWVyPikgPT4gUHJvbWlzZTxUPikge1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLmJlZ2luVHJhbnNhY3Rpb24oKTtcbiAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IGNhbGxiYWNrKHRoaXMpO1xuICAgICAgYXdhaXQgdGhpcy5jb21taXRUcmFuc2FjdGlvbigpO1xuICAgICAgcmV0dXJuIHJlcztcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGF3YWl0IHRoaXMucm9sbGJhY2tUcmFuc2FjdGlvbigpO1xuICAgICAgdGhyb3cgZXJyO1xuICAgIH0gZmluYWxseSB7XG4gICAgICBhd2FpdCB0aGlzLnJlbGVhc2UoKTtcbiAgICB9XG4gIH1cblxuICBhYnN0cmFjdCBiZWdpblRyYW5zYWN0aW9uKCk6IFByb21pc2U8dm9pZD47XG5cbiAgYWJzdHJhY3QgY29tbWl0VHJhbnNhY3Rpb24oKTogUHJvbWlzZTx2b2lkPjtcblxuICBhYnN0cmFjdCByb2xsYmFja1RyYW5zYWN0aW9uKCk6IFByb21pc2U8dm9pZD47XG5cbiAgYWJzdHJhY3QgcmVsZWFzZSgpOiBQcm9taXNlPHZvaWQ+O1xuXG4gIGFic3RyYWN0IGVuZCgpOiBQcm9taXNlPHZvaWQ+O1xufVxuIl19
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Query, Type, QueryCriteria, QueryOptions, QueryUpdateResult } from '@uql/core/type';
|
|
2
2
|
import { AbstractSqlDialect } from '@uql/core/dialect';
|
|
3
|
-
import { AbstractQuerier } from './abstractQuerier';
|
|
3
|
+
import { AbstractQuerier } from './abstractQuerier.js';
|
|
4
4
|
export declare abstract class AbstractSqlQuerier extends AbstractQuerier {
|
|
5
5
|
readonly dialect: AbstractSqlDialect;
|
|
6
6
|
private hasPendingTransaction?;
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
class AbstractSqlQuerier extends abstractQuerier_1.AbstractQuerier {
|
|
1
|
+
import { getMeta } from '@uql/core/entity';
|
|
2
|
+
import { unflatObjects, clone } from '@uql/core/util';
|
|
3
|
+
import { AbstractQuerier } from './abstractQuerier.js';
|
|
4
|
+
export class AbstractSqlQuerier extends AbstractQuerier {
|
|
5
|
+
dialect;
|
|
6
|
+
hasPendingTransaction;
|
|
8
7
|
constructor(dialect) {
|
|
9
8
|
super();
|
|
10
9
|
this.dialect = dialect;
|
|
@@ -17,32 +16,31 @@ class AbstractSqlQuerier extends abstractQuerier_1.AbstractQuerier {
|
|
|
17
16
|
async findMany(entity, qm) {
|
|
18
17
|
const query = this.dialect.find(entity, qm);
|
|
19
18
|
const res = await this.all(query);
|
|
20
|
-
const founds =
|
|
19
|
+
const founds = unflatObjects(res);
|
|
21
20
|
await this.findToManyRelations(entity, founds, qm.$project);
|
|
22
21
|
return founds;
|
|
23
22
|
}
|
|
24
23
|
async insertMany(entity, payload) {
|
|
25
|
-
payload =
|
|
24
|
+
payload = clone(payload);
|
|
26
25
|
const query = this.dialect.insert(entity, payload);
|
|
27
26
|
const { firstId } = await this.run(query);
|
|
28
|
-
const meta =
|
|
27
|
+
const meta = getMeta(entity);
|
|
29
28
|
const ids = payload.map((it, index) => {
|
|
30
|
-
|
|
31
|
-
it[_a = meta.id] ?? (it[_a] = firstId + index);
|
|
29
|
+
it[meta.id] ??= firstId + index;
|
|
32
30
|
return it[meta.id];
|
|
33
31
|
});
|
|
34
32
|
await this.insertRelations(entity, payload);
|
|
35
33
|
return ids;
|
|
36
34
|
}
|
|
37
35
|
async updateMany(entity, qm, payload) {
|
|
38
|
-
payload =
|
|
36
|
+
payload = clone(payload);
|
|
39
37
|
const query = this.dialect.update(entity, qm, payload);
|
|
40
38
|
const { changes } = await this.run(query);
|
|
41
39
|
await this.updateRelations(entity, qm, payload);
|
|
42
40
|
return changes;
|
|
43
41
|
}
|
|
44
42
|
async deleteMany(entity, qm, opts) {
|
|
45
|
-
const meta =
|
|
43
|
+
const meta = getMeta(entity);
|
|
46
44
|
const findQuery = await this.dialect.find(entity, { ...qm, $project: [meta.id] });
|
|
47
45
|
const founds = await this.all(findQuery);
|
|
48
46
|
if (!founds.length) {
|
|
@@ -83,5 +81,4 @@ class AbstractSqlQuerier extends abstractQuerier_1.AbstractQuerier {
|
|
|
83
81
|
this.hasPendingTransaction = undefined;
|
|
84
82
|
}
|
|
85
83
|
}
|
|
86
|
-
|
|
87
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3RTcWxRdWVyaWVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3F1ZXJpZXIvYWJzdHJhY3RTcWxRdWVyaWVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUEyQztBQUUzQyx5Q0FBc0Q7QUFHdEQsdURBQW9EO0FBRXBELE1BQXNCLGtCQUFtQixTQUFRLGlDQUFlO0lBRzlELFlBQXFCLE9BQTJCO1FBQzlDLEtBQUssRUFBRSxDQUFDO1FBRFcsWUFBTyxHQUFQLE9BQU8sQ0FBb0I7SUFFaEQsQ0FBQztJQWNRLEtBQUssQ0FBQyxLQUFLLENBQUksTUFBZSxFQUFFLEVBQXFCO1FBQzVELE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ25ELE1BQU0sR0FBRyxHQUFRLE1BQU0sSUFBSSxDQUFDLEdBQUcsQ0FBSSxLQUFLLENBQUMsQ0FBQztRQUMxQyxPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVRLEtBQUssQ0FBQyxRQUFRLENBQUksTUFBZSxFQUFFLEVBQVk7UUFDdEQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzVDLE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLEdBQUcsQ0FBSSxLQUFLLENBQUMsQ0FBQztRQUNyQyxNQUFNLE1BQU0sR0FBRyxJQUFBLG9CQUFhLEVBQUMsR0FBRyxDQUFDLENBQUM7UUFDbEMsTUFBTSxJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDNUQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVRLEtBQUssQ0FBQyxVQUFVLENB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cUJBQXFCLENBQUMsQ0FBQztTQUN4QztRQUNELE9BQU87UUFDUCx3QkFBd0I7UUFDeEIseUVBQXlFO1FBQ3pFLElBQUk7UUFDSixNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLENBQUM7SUFDcEMsQ0FBQztJQUVRLEtBQUssQ0FBQyxpQkFBaUI7UUFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsRUFBRTtZQUMvQixNQUFNLFNBQVMsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO1NBQzlDO1FBQ0QsTUFBTSxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxTQUFTLENBQUM7SUFDekMsQ0FBQztJQUVRLEtBQUssQ0FBQyxtQkFBbUI7UUFDaEMsSUFBSSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsRUFBRTtZQUMvQixNQUFNLFNBQVMsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO1NBQzlDO1FBQ0QsTUFBTSxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxTQUFTLENBQUM7SUFDekMsQ0FBQztDQUNGO0FBbkdELGdEQW1HQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdldE1ldGEgfSBmcm9tICdAdXFsL2NvcmUvZW50aXR5JztcbmltcG9ydCB7IFF1ZXJ5LCBUeXBlLCBRdWVyeUNyaXRlcmlhLCBRdWVyeU9wdGlvbnMsIFF1ZXJ5VXBkYXRlUmVzdWx0IH0gZnJvbSAnQHVxbC9jb3JlL3R5cGUnO1xuaW1wb3J0IHsgdW5mbGF0T2JqZWN0cywgY2xvbmUgfSBmcm9tICdAdXFsL2NvcmUvdXRpbCc7XG5pbXBvcnQgeyBBYnN0cmFjdFNxbERpYWxlY3QgfSBmcm9tICdAdXFsL2NvcmUvZGlhbGVjdCc7XG5cbmltcG9ydCB7IEFic3RyYWN0UXVlcmllciB9IGZyb20gJy4vYWJzdHJhY3RRdWVyaWVyJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0U3FsUXVlcmllciBleHRlbmRzIEFic3RyYWN0UXVlcmllciB7XG4gIHByaXZhdGUgaGFzUGVuZGluZ1RyYW5zYWN0aW9uPzogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3RvcihyZWFkb25seSBkaWFsZWN0OiBBYnN0cmFjdFNxbERpYWxlY3QpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIHJlYWQgcXVlcnkuXG4gICAqIEBwYXJhbSBxdWVyeSB0aGUgcXVlcnlcbiAgICovXG4gIGFic3RyYWN0IGFsbDxUPihxdWVyeTogc3RyaW5nKTogUHJvbWlzZTxUW10+O1xuXG4gIC8qKlxuICAgKiBpbnNlcnQvdXBkYXRlL2RlbGV0ZS9kZGwgcXVlcnkuXG4gICAqIEBwYXJhbSBxdWVyeSB0aGUgcXVlcnlcbiAgICovXG4gIGFic3RyYWN0IHJ1bihxdWVyeTogc3RyaW5nKTogUHJvbWlzZTxRdWVyeVVwZGF0ZVJlc3VsdD47XG5cbiAgb3ZlcnJpZGUgYXN5bmMgY291bnQ8RT4oZW50aXR5OiBUeXBlPEU+LCBxbT86IFF1ZXJ5Q3JpdGVyaWE8RT4pIHtcbiAgICBjb25zdCBxdWVyeSA9IGF3YWl0IHRoaXMuZGlhbGVjdC5jb3VudChlbnRpdHksIHFtKTtcbiAgICBjb25zdCByZXM6IGFueSA9IGF3YWl0IHRoaXMuYWxsPEU+KHF1ZXJ5KTtcbiAgICByZXR1cm4gTnVtYmVyKHJlc1swXS5jb3VudCk7XG4gIH1cblxuICBvdmVycmlkZSBhc3luYyBmaW5kTWFueTxFPihlbnRpdHk6IFR5cGU8RT4sIHFtOiBRdWVyeTxFPikge1xuICAgIGNvbnN0IHF1ZXJ5ID0gdGhpcy5kaWFsZWN0LmZpbmQoZW50aXR5LCBxbSk7XG4gICAgY29uc3QgcmVzID0gYXdhaXQgdGhpcy5hbGw8RT4ocXVlcnkpO1xuICAgIGNvbnN0IGZvdW5kcyA9IHVuZmxhdE9iamVjdHMocmVzKTtcbiAgICBhd2FpdCB0aGlzLmZpbmRUb01hbnlSZWxhdGlvbnMoZW50aXR5LCBmb3VuZHMsIHFtLiRwcm9qZWN0KTtcbiAgICByZXR1cm4gZm91bmRzO1xuICB9XG5cbiAgb3ZlcnJpZGUgYXN5bmMgaW5zZXJ0TWFueTxFPihlbnRpdHk6IFR5cGU8RT4sIHBheWxvYWQ6IEVbXSkge1xuICAgIHBheWxvYWQgPSBjbG9uZShwYXlsb2FkKTtcbiAgICBjb25zdCBxdWVyeSA9IHRoaXMuZGlhbGVjdC5pbnNlcnQoZW50aXR5LCBwYXlsb2FkKTtcbiAgICBjb25zdCB7IGZpcnN0SWQgfSA9IGF3YWl0IHRoaXMucnVuKHF1ZXJ5KTtcbiAgICBjb25zdCBtZXRhID0gZ2V0TWV0YShlbnRpdHkpO1xuICAgIGNvbnN0IGlkcyA9IHBheWxvYWQubWFwKChpdCwgaW5kZXgpID0+IHtcbiAgICAgIGl0W21ldGEuaWQgYXMgc3RyaW5nXSA/Pz0gZmlyc3RJZCArIGluZGV4O1xuICAgICAgcmV0dXJuIGl0W21ldGEuaWRdO1xuICAgIH0pO1xuICAgIGF3YWl0IHRoaXMuaW5zZXJ0UmVsYXRpb25zKGVudGl0eSwgcGF5bG9hZCk7XG4gICAgcmV0dXJuIGlkcztcbiAgfVxuXG4gIG92ZXJyaWRlIGFzeW5jIHVwZGF0ZU1hbnk8RT4oZW50aXR5OiBUeXBlPEU+LCBxbTogUXVlcnlDcml0ZXJpYTxFPiwgcGF5bG9hZDogRSkge1xuICAgIHBheWxvYWQgPSBjbG9uZShwYXlsb2FkKTtcbiAgICBjb25zdCBxdWVyeSA9IHRoaXMuZGlhbGVjdC51cGRhdGUoZW50aXR5LCBxbSwgcGF5bG9hZCk7XG4gICAgY29uc3QgeyBjaGFuZ2VzIH0gPSBhd2FpdCB0aGlzLnJ1bihxdWVyeSk7XG4gICAgYXdhaXQgdGhpcy51cGRhdGVSZWxhdGlvbnMoZW50aXR5LCBxbSwgcGF5bG9hZCk7XG4gICAgcmV0dXJuIGNoYW5nZXM7XG4gIH1cblxuICBvdmVycmlkZSBhc3luYyBkZWxldGVNYW55PEU+KGVudGl0eTogVHlwZTxFPiwgcW06IFF1ZXJ5Q3JpdGVyaWE8RT4sIG9wdHM/OiBRdWVyeU9wdGlvbnMpIHtcbiAgICBjb25zdCBtZXRhID0gZ2V0TWV0YShlbnRpdHkpO1xuICAgIGNvbnN0IGZpbmRRdWVyeSA9IGF3YWl0IHRoaXMuZGlhbGVjdC5maW5kKGVudGl0eSwgeyAuLi5xbSwgJHByb2plY3Q6IFttZXRhLmlkXSB9KTtcbiAgICBjb25zdCBmb3VuZHMgPSBhd2FpdCB0aGlzLmFsbDxFPihmaW5kUXVlcnkpO1xuICAgIGlmICghZm91bmRzLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgIGNvbnN0IGlkcyA9IGZvdW5kcy5tYXAoKGl0KSA9PiBpdFttZXRhLmlkXSk7XG4gICAgY29uc3QgcXVlcnkgPSB0aGlzLmRpYWxlY3QuZGVsZXRlKGVudGl0eSwgeyAkZmlsdGVyOiBpZHMgfSwgb3B0cyk7XG4gICAgY29uc3QgeyBjaGFuZ2VzIH0gPSBhd2FpdCB0aGlzLnJ1bihxdWVyeSk7XG4gICAgYXdhaXQgdGhpcy5kZWxldGVSZWxhdGlvbnMoZW50aXR5LCBpZHMsIG9wdHMpO1xuICAgIHJldHVybiBjaGFuZ2VzO1xuICB9XG5cbiAgb3ZlcnJpZGUgZ2V0IGhhc09wZW5UcmFuc2FjdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5oYXNQZW5kaW5nVHJhbnNhY3Rpb247XG4gIH1cblxuICBvdmVycmlkZSBhc3luYyBiZWdpblRyYW5zYWN0aW9uKC8qaXNvbGF0aW9uTGV2ZWw/OiBJc29sYXRpb25MZXZlbCovKSB7XG4gICAgaWYgKHRoaXMuaGFzUGVuZGluZ1RyYW5zYWN0aW9uKSB7XG4gICAgICB0aHJvdyBUeXBlRXJyb3IoJ3BlbmRpbmcgdHJhbnNhY3Rpb24nKTtcbiAgICB9XG4gICAgLy8gVE9ET1xuICAgIC8vIGlmIChpc29sYXRpb25MZXZlbCkge1xuICAgIC8vICAgYXdhaXQgdGhpcy5ydW4oYFNFVCBUUkFOU0FDVElPTiBJU09MQVRJT04gTEVWRUwgJHtpc29sYXRpb25MZXZlbH1gKTtcbiAgICAvLyB9XG4gICAgYXdhaXQgdGhpcy5ydW4odGhpcy5kaWFsZWN0LmJlZ2luVHJhbnNhY3Rpb25Db21tYW5kKTtcbiAgICB0aGlzLmhhc1BlbmRpbmdUcmFuc2FjdGlvbiA9IHRydWU7XG4gIH1cblxuICBvdmVycmlkZSBhc3luYyBjb21taXRUcmFuc2FjdGlvbigpIHtcbiAgICBpZiAoIXRoaXMuaGFzUGVuZGluZ1RyYW5zYWN0aW9uKSB7XG4gICAgICB0aHJvdyBUeXBlRXJyb3IoJ25vdCBhIHBlbmRpbmcgdHJhbnNhY3Rpb24nKTtcbiAgICB9XG4gICAgYXdhaXQgdGhpcy5ydW4oJ0NPTU1JVCcpO1xuICAgIHRoaXMuaGFzUGVuZGluZ1RyYW5zYWN0aW9uID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgb3ZlcnJpZGUgYXN5bmMgcm9sbGJhY2tUcmFuc2FjdGlvbigpIHtcbiAgICBpZiAoIXRoaXMuaGFzUGVuZGluZ1RyYW5zYWN0aW9uKSB7XG4gICAgICB0aHJvdyBUeXBlRXJyb3IoJ25vdCBhIHBlbmRpbmcgdHJhbnNhY3Rpb24nKTtcbiAgICB9XG4gICAgYXdhaXQgdGhpcy5ydW4oJ1JPTExCQUNLJyk7XG4gICAgdGhpcy5oYXNQZW5kaW5nVHJhbnNhY3Rpb24gPSB1bmRlZmluZWQ7XG4gIH1cbn1cbiJdfQ==
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3RTcWxRdWVyaWVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3F1ZXJpZXIvYWJzdHJhY3RTcWxRdWVyaWVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3RELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV2RCxNQUFNLE9BQWdCLGtCQUFtQixTQUFRLGVBQWU7SUFHekM7SUFGYixxQkFBcUIsQ0FBVztJQUV4QyxZQUFxQixPQUEyQjtRQUM5QyxLQUFLLEVBQUUsQ0FBQztRQURXLFlBQU8sR0FBUCxPQUFPLENBQW9CO0lBRWhELENBQUM7SUFjUSxLQUFLLENBQUMsS0FBSyxDQUFJLE1BQWUsRUFBRSxFQUFxQjtRQUM1RCxNQUFNLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNuRCxNQUFNLEdBQUcsR0FBUSxNQUFNLElBQUksQ0FBQyxHQUFHLENBQUksS0FBSyxDQUFDLENBQUM7UUFDMUMsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFUSxLQUFLLENBQUMsUUFBUSxDQUFJLE1BQWUsRUFBRSxFQUFZO1FBQ3RELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztRQUM1QyxNQUFNLEdBQUcsR0FBRyxNQUFNLElBQUksQ0FBQyxHQUFHLENBQUksS0FBSyxDQUFDLENBQUM7UUFDckMsTUFBTSxNQUFNLEdBQUcsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2xDLE1BQU0sSUFB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SUFFUSxLQUFLLENBQUMsZ0JBQWdCLEVBQUMsbUNBQW1DO1FBQ2pFLElBQUksSUFBSSxDQUFDLHFCQUFxQixFQUFFO1lBQzlCLE1BQU0sU0FBUyxDQUFDLHFCQUFxQixDQUFDLENBQUM7U0FDeEM7UUFDRCxPQUFPO1FBQ1Asd0JBQXdCO1FBQ3hCLHlFQUF5RTtRQUN6RSxJQUFJO1FBQ0osTUFBTSxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsdUJBQXVCLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDO0lBQ3BDLENBQUM7SUFFUSxLQUFLLENBQUMsaUJBQWlCO1FBQzlCLElBQUksQ0FBQyxJQUFJLENBQUMscUJBQXFCLEVBQUU7WUFDL0IsTUFBTSxTQUFTLENBQUMsMkJBQTJCLENBQUMsQ0FBQztTQUM5QztRQUNELE1BQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMscUJBQXFCLEdBQUcsU0FBUyxDQUFDO0lBQ3pDLENBQUM7SUFFUSxLQUFLLENBQUMsbUJBQW1CO1FBQ2hDLElBQUksQ0FBQyxJQUFJLENBQUMscUJBQXFCLEVBQUU7WUFDL0IsTUFBTSxTQUFTLENBQUMsMkJBQTJCLENBQUMsQ0FBQztTQUM5QztRQUNELE1BQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMscUJBQXFCLEdBQUcsU0FBUyxDQUFDO0lBQ3pDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdldE1ldGEgfSBmcm9tICdAdXFsL2NvcmUvZW50aXR5JztcbmltcG9ydCB7IFF1ZXJ5LCBUeXBlLCBRdWVyeUNyaXRlcmlhLCBRdWVyeU9wdGlvbnMsIFF1ZXJ5VXBkYXRlUmVzdWx0IH0gZnJvbSAnQHVxbC9jb3JlL3R5cGUnO1xuaW1wb3J0IHsgdW5mbGF0T2JqZWN0cywgY2xvbmUgfSBmcm9tICdAdXFsL2NvcmUvdXRpbCc7XG5pbXBvcnQgeyBBYnN0cmFjdFNxbERpYWxlY3QgfSBmcm9tICdAdXFsL2NvcmUvZGlhbGVjdCc7XG5cbmltcG9ydCB7IEFic3RyYWN0UXVlcmllciB9IGZyb20gJy4vYWJzdHJhY3RRdWVyaWVyLmpzJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0U3FsUXVlcmllciBleHRlbmRzIEFic3RyYWN0UXVlcmllciB7XG4gIHByaXZhdGUgaGFzUGVuZGluZ1RyYW5zYWN0aW9uPzogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3RvcihyZWFkb25seSBkaWFsZWN0OiBBYnN0cmFjdFNxbERpYWxlY3QpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIHJlYWQgcXVlcnkuXG4gICAqIEBwYXJhbSBxdWVyeSB0aGUgcXVlcnlcbiAgICovXG4gIGFic3RyYWN0IGFsbDxUPihxdWVyeTogc3RyaW5nKTogUHJvbWlzZTxUW10+O1xuXG4gIC8qKlxuICAgKiBpbnNlcnQvdXBkYXRlL2RlbGV0ZS9kZGwgcXVlcnkuXG4gICAqIEBwYXJhbSBxdWVyeSB0aGUgcXVlcnlcbiAgICovXG4gIGFic3RyYWN0IHJ1bihxdWVyeTogc3RyaW5nKTogUHJvbWlzZTxRdWVyeVVwZGF0ZVJlc3VsdD47XG5cbiAgb3ZlcnJpZGUgYXN5bmMgY291bnQ8RT4oZW50aXR5OiBUeXBlPEU+LCBxbT86IFF1ZXJ5Q3JpdGVyaWE8RT4pIHtcbiAgICBjb25zdCBxdWVyeSA9IGF3YWl0IHRoaXMuZGlhbGVjdC5jb3VudChlbnRpdHksIHFtKTtcbiAgICBjb25zdCByZXM6IGFueSA9IGF3YWl0IHRoaXMuYWxsPEU+KHF1ZXJ5KTtcbiAgICByZXR1cm4gTnVtYmVyKHJlc1swXS5jb3VudCk7XG4gIH1cblxuICBvdmVycmlkZSBhc3luYyBmaW5kTWFueTxFPihlbnRpdHk6IFR5cGU8RT4sIHFtOiBRdWVyeTxFPikge1xuICAgIGNvbnN0IHF1ZXJ5ID0gdGhpcy5kaWFsZWN0LmZpbmQoZW50aXR5LCBxbSk7XG4gICAgY29uc3QgcmVzID0gYXdhaXQgdGhpcy5hbGw8RT4ocXVlcnkpO1xuICAgIGNvbnN0IGZvdW5kcyA9IHVuZmxhdE9iamVjdHMocmVzKTtcbiAgICBhd2FpdCB0aGlzLmZpbmRUb01hbnlSZWxhdGlvbnMoZW50aXR5LCBmb3VuZHMsIHFtLiRwcm9qZWN0KTtcbiAgICByZXR1cm4gZm91bmRzO1xuICB9XG5cbiAgb3ZlcnJpZGUgYXN5bmMgaW5zZXJ0TWFueTxFPihlbnRpdHk6IFR5cGU8RT4sIHBheWxvYWQ6IEVbXSkge1xuICAgIHBheWxvYWQgPSBjbG9uZShwYXlsb2FkKTtcbiAgICBjb25zdCBxdWVyeSA9IHRoaXMuZGlhbGVjdC5pbnNlcnQoZW50aXR5LCBwYXlsb2FkKTtcbiAgICBjb25zdCB7IGZpcnN0SWQgfSA9IGF3YWl0IHRoaXMucnVuKHF1ZXJ5KTtcbiAgICBjb25zdCBtZXRhID0gZ2V0TWV0YShlbnRpdHkpO1xuICAgIGNvbnN0IGlkcyA9IHBheWxvYWQubWFwKChpdCwgaW5kZXgpID0+IHtcbiAgICAgIGl0W21ldGEuaWQgYXMgc3RyaW5nXSA/Pz0gZmlyc3RJZCArIGluZGV4O1xuICAgICAgcmV0dXJuIGl0W21ldGEuaWRdO1xuICAgIH0pO1xuICAgIGF3YWl0IHRoaXMuaW5zZXJ0UmVsYXRpb25zKGVudGl0eSwgcGF5bG9hZCk7XG4gICAgcmV0dXJuIGlkcztcbiAgfVxuXG4gIG92ZXJyaWRlIGFzeW5jIHVwZGF0ZU1hbnk8RT4oZW50aXR5OiBUeXBlPEU+LCBxbTogUXVlcnlDcml0ZXJpYTxFPiwgcGF5bG9hZDogRSkge1xuICAgIHBheWxvYWQgPSBjbG9uZShwYXlsb2FkKTtcbiAgICBjb25zdCBxdWVyeSA9IHRoaXMuZGlhbGVjdC51cGRhdGUoZW50aXR5LCBxbSwgcGF5bG9hZCk7XG4gICAgY29uc3QgeyBjaGFuZ2VzIH0gPSBhd2FpdCB0aGlzLnJ1bihxdWVyeSk7XG4gICAgYXdhaXQgdGhpcy51cGRhdGVSZWxhdGlvbnMoZW50aXR5LCBxbSwgcGF5bG9hZCk7XG4gICAgcmV0dXJuIGNoYW5nZXM7XG4gIH1cblxuICBvdmVycmlkZSBhc3luYyBkZWxldGVNYW55PEU+KGVudGl0eTogVHlwZTxFPiwgcW06IFF1ZXJ5Q3JpdGVyaWE8RT4sIG9wdHM/OiBRdWVyeU9wdGlvbnMpIHtcbiAgICBjb25zdCBtZXRhID0gZ2V0TWV0YShlbnRpdHkpO1xuICAgIGNvbnN0IGZpbmRRdWVyeSA9IGF3YWl0IHRoaXMuZGlhbGVjdC5maW5kKGVudGl0eSwgeyAuLi5xbSwgJHByb2plY3Q6IFttZXRhLmlkXSB9KTtcbiAgICBjb25zdCBmb3VuZHMgPSBhd2FpdCB0aGlzLmFsbDxFPihmaW5kUXVlcnkpO1xuICAgIGlmICghZm91bmRzLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgIGNvbnN0IGlkcyA9IGZvdW5kcy5tYXAoKGl0KSA9PiBpdFttZXRhLmlkXSk7XG4gICAgY29uc3QgcXVlcnkgPSB0aGlzLmRpYWxlY3QuZGVsZXRlKGVudGl0eSwgeyAkZmlsdGVyOiBpZHMgfSwgb3B0cyk7XG4gICAgY29uc3QgeyBjaGFuZ2VzIH0gPSBhd2FpdCB0aGlzLnJ1bihxdWVyeSk7XG4gICAgYXdhaXQgdGhpcy5kZWxldGVSZWxhdGlvbnMoZW50aXR5LCBpZHMsIG9wdHMpO1xuICAgIHJldHVybiBjaGFuZ2VzO1xuICB9XG5cbiAgb3ZlcnJpZGUgZ2V0IGhhc09wZW5UcmFuc2FjdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5oYXNQZW5kaW5nVHJhbnNhY3Rpb247XG4gIH1cblxuICBvdmVycmlkZSBhc3luYyBiZWdpblRyYW5zYWN0aW9uKC8qaXNvbGF0aW9uTGV2ZWw/OiBJc29sYXRpb25MZXZlbCovKSB7XG4gICAgaWYgKHRoaXMuaGFzUGVuZGluZ1RyYW5zYWN0aW9uKSB7XG4gICAgICB0aHJvdyBUeXBlRXJyb3IoJ3BlbmRpbmcgdHJhbnNhY3Rpb24nKTtcbiAgICB9XG4gICAgLy8gVE9ET1xuICAgIC8vIGlmIChpc29sYXRpb25MZXZlbCkge1xuICAgIC8vICAgYXdhaXQgdGhpcy5ydW4oYFNFVCBUUkFOU0FDVElPTiBJU09MQVRJT04gTEVWRUwgJHtpc29sYXRpb25MZXZlbH1gKTtcbiAgICAvLyB9XG4gICAgYXdhaXQgdGhpcy5ydW4odGhpcy5kaWFsZWN0LmJlZ2luVHJhbnNhY3Rpb25Db21tYW5kKTtcbiAgICB0aGlzLmhhc1BlbmRpbmdUcmFuc2FjdGlvbiA9IHRydWU7XG4gIH1cblxuICBvdmVycmlkZSBhc3luYyBjb21taXRUcmFuc2FjdGlvbigpIHtcbiAgICBpZiAoIXRoaXMuaGFzUGVuZGluZ1RyYW5zYWN0aW9uKSB7XG4gICAgICB0aHJvdyBUeXBlRXJyb3IoJ25vdCBhIHBlbmRpbmcgdHJhbnNhY3Rpb24nKTtcbiAgICB9XG4gICAgYXdhaXQgdGhpcy5ydW4oJ0NPTU1JVCcpO1xuICAgIHRoaXMuaGFzUGVuZGluZ1RyYW5zYWN0aW9uID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgb3ZlcnJpZGUgYXN5bmMgcm9sbGJhY2tUcmFuc2FjdGlvbigpIHtcbiAgICBpZiAoIXRoaXMuaGFzUGVuZGluZ1RyYW5zYWN0aW9uKSB7XG4gICAgICB0aHJvdyBUeXBlRXJyb3IoJ25vdCBhIHBlbmRpbmcgdHJhbnNhY3Rpb24nKTtcbiAgICB9XG4gICAgYXdhaXQgdGhpcy5ydW4oJ1JPTExCQUNLJyk7XG4gICAgdGhpcy5oYXNQZW5kaW5nVHJhbnNhY3Rpb24gPSB1bmRlZmluZWQ7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
tslib_1.__exportStar(require("./injectQuerier"), exports);
|
|
5
|
-
tslib_1.__exportStar(require("./transactional"), exports);
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcXVlcmllci9kZWNvcmF0b3IvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMERBQWdDO0FBQ2hDLDBEQUFnQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vaW5qZWN0UXVlcmllcic7XG5leHBvcnQgKiBmcm9tICcuL3RyYW5zYWN0aW9uYWwnO1xuIl19
|
|
1
|
+
export * from './injectQuerier';
|
|
2
|
+
export * from './transactional';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcXVlcmllci9kZWNvcmF0b3IvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGlCQUFpQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9pbmplY3RRdWVyaWVyJztcbmV4cG9ydCAqIGZyb20gJy4vdHJhbnNhY3Rpb25hbCc7XG4iXX0=
|
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getInjectedQuerierIndex = exports.InjectQuerier = void 0;
|
|
4
1
|
const metadataKey = Symbol('InjectQuerier');
|
|
5
|
-
function InjectQuerier() {
|
|
2
|
+
export function InjectQuerier() {
|
|
6
3
|
return (proto, key, index) => {
|
|
7
4
|
const { constructor } = proto;
|
|
8
5
|
if (!proto[metadataKey]) {
|
|
@@ -19,8 +16,7 @@ function InjectQuerier() {
|
|
|
19
16
|
meta[key] = index;
|
|
20
17
|
};
|
|
21
18
|
}
|
|
22
|
-
|
|
23
|
-
function getInjectedQuerierIndex(service, key) {
|
|
19
|
+
export function getInjectedQuerierIndex(service, key) {
|
|
24
20
|
let proto = service.prototype;
|
|
25
21
|
while (proto.constructor !== Object) {
|
|
26
22
|
const meta = proto[metadataKey]?.get(proto.constructor);
|
|
@@ -35,5 +31,4 @@ function getInjectedQuerierIndex(service, key) {
|
|
|
35
31
|
proto = Object.getPrototypeOf(proto);
|
|
36
32
|
}
|
|
37
33
|
}
|
|
38
|
-
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5qZWN0UXVlcmllci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9xdWVyaWVyL2RlY29yYXRvci9pbmplY3RRdWVyaWVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUU1QyxTQUFnQixhQUFhO0lBQzNCLE9BQU8sQ0FBQyxLQUFhLEVBQUUsR0FBVyxFQUFFLEtBQWEsRUFBRSxFQUFFO1FBQ25ELE1BQU0sRUFBRSxXQUFXLEVBQUUsR0FBRyxLQUFLLENBQUM7UUFFOUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUN2QixLQUFLLENBQUMsV0FBVyxDQUFDLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztTQUNwQztRQUVELElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQ3hDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1NBQ3pDO1FBRUQsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNqRCxNQUFNLGlCQUFpQixHQUFHLEdBQUcsSUFBSSxJQUFJLENBQUM7UUFFdEMsSUFBSSxpQkFBaUIsRUFBRTtZQUNyQixNQUFNLElBQUksU0FBUyxDQUFDLDhDQUE4QyxXQUFXLENBQUMsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUM7U0FDaEc7UUFFRCxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDO0lBQ3BCLENBQUMsQ0FBQztBQUNKLENBQUM7QUFyQkQsc0NBcUJDO0FBRUQsU0FBZ0IsdUJBQXVCLENBQUksT0FBZ0IsRUFBRSxHQUFXO0lBQ3RFLElBQUksS0FBSyxHQUF3QixPQUFPLENBQUMsU0FBUyxDQUFDO0lBRW5ELE9BQU8sS0FBSyxDQUFDLFdBQVcsS0FBSyxNQUFNLEVBQUU7UUFDbkMsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFeEQsSUFBSSxJQUFJLElBQUksR0FBRyxJQUFJLElBQUksRUFBRTtZQUN2QixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUNsQjtRQUVELE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQWEsQ0FBQztRQUMzRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRXBDLElBQUksUUFBUSxFQUFFO1lBQ1osT0FBTztTQUNSO1FBRUQsS0FBSyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7S0FDdEM7QUFDSCxDQUFDO0FBbkJELDBEQW1CQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEtleSwgVHlwZSB9IGZyb20gJ0B1cWwvY29yZS90eXBlJztcblxuY29uc3QgbWV0YWRhdGFLZXkgPSBTeW1ib2woJ0luamVjdFF1ZXJpZXInKTtcblxuZXhwb3J0IGZ1bmN0aW9uIEluamVjdFF1ZXJpZXIoKSB7XG4gIHJldHVybiAocHJvdG86IG9iamVjdCwga2V5OiBzdHJpbmcsIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICBjb25zdCB7IGNvbnN0cnVjdG9yIH0gPSBwcm90bztcblxuICAgIGlmICghcHJvdG9bbWV0YWRhdGFLZXldKSB7XG4gICAgICBwcm90b1ttZXRhZGF0YUtleV0gPSBuZXcgV2Vha01hcCgpO1xuICAgIH1cblxuICAgIGlmICghcHJvdG9bbWV0YWRhdGFLZXldLmhhcyhjb25zdHJ1Y3RvcikpIHtcbiAgICAgIHByb3RvW21ldGFkYXRhS2V5XS5zZXQoY29uc3RydWN0b3IsIHt9KTtcbiAgICB9XG5cbiAgICBjb25zdCBtZXRhID0gcHJvdG9bbWV0YWRhdGFLZXldLmdldChjb25zdHJ1Y3Rvcik7XG4gICAgY29uc3QgaXNBbHJlYWR5SW5qZWN0ZWQgPSBrZXkgaW4gbWV0YTtcblxuICAgIGlmIChpc0FscmVhZHlJbmplY3RlZCkge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihgQEluamVjdFF1ZXJpZXIoKSBjYW4gb25seSBhcHBlYXJzIG9uY2UgaW4gJyR7Y29uc3RydWN0b3IubmFtZX0uJHtrZXl9J31gKTtcbiAgICB9XG5cbiAgICBtZXRhW2tleV0gPSBpbmRleDtcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEluamVjdGVkUXVlcmllckluZGV4PFM+KHNlcnZpY2U6IFR5cGU8Uz4sIGtleTogS2V5PFM+KSB7XG4gIGxldCBwcm90bzogRnVuY3Rpb25Db25zdHJ1Y3RvciA9IHNlcnZpY2UucHJvdG90eXBlO1xuXG4gIHdoaWxlIChwcm90by5jb25zdHJ1Y3RvciAhPT0gT2JqZWN0KSB7XG4gICAgY29uc3QgbWV0YSA9IHByb3RvW21ldGFkYXRhS2V5XT8uZ2V0KHByb3RvLmNvbnN0cnVjdG9yKTtcblxuICAgIGlmIChtZXRhICYmIGtleSBpbiBtZXRhKSB7XG4gICAgICByZXR1cm4gbWV0YVtrZXldO1xuICAgIH1cblxuICAgIGNvbnN0IGtleXMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhwcm90bykgYXMgS2V5PFM+W107XG4gICAgY29uc3QgaXNPd25LZXkgPSBrZXlzLmluY2x1ZGVzKGtleSk7XG5cbiAgICBpZiAoaXNPd25LZXkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBwcm90byA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihwcm90byk7XG4gIH1cbn1cbiJdfQ==
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5qZWN0UXVlcmllci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9xdWVyaWVyL2RlY29yYXRvci9pbmplY3RRdWVyaWVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUU1QyxNQUFNLFVBQVUsYUFBYTtJQUMzQixPQUFPLENBQUMsS0FBYSxFQUFFLEdBQVcsRUFBRSxLQUFhLEVBQUUsRUFBRTtRQUNuRCxNQUFNLEVBQUUsV0FBVyxFQUFFLEdBQUcsS0FBSyxDQUFDO1FBRTlCLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLEVBQUU7WUFDdkIsS0FBSyxDQUFDLFdBQVcsQ0FBQyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7U0FDcEM7UUFFRCxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUN4QyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQztTQUN6QztRQUVELE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDakQsTUFBTSxpQkFBaUIsR0FBRyxHQUFHLElBQUksSUFBSSxDQUFDO1FBRXRDLElBQUksaUJBQWlCLEVBQUU7WUFDckIsTUFBTSxJQUFJLFNBQVMsQ0FBQyw4Q0FBOEMsV0FBVyxDQUFDLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxDQUFDO1NBQ2hHO1FBRUQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQztJQUNwQixDQUFDLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLHVCQUF1QixDQUFJLE9BQWdCLEVBQUUsR0FBVztJQUN0RSxJQUFJLEtBQUssR0FBd0IsT0FBTyxDQUFDLFNBQVMsQ0FBQztJQUVuRCxPQUFPLEtBQUssQ0FBQyxXQUFXLEtBQUssTUFBTSxFQUFFO1FBQ25DLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUMsRUFBRSxHQUFHLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRXhELElBQUksSUFBSSxJQUFJLEdBQUcsSUFBSSxJQUFJLEVBQUU7WUFDdkIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDbEI7UUFFRCxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFhLENBQUM7UUFDM0QsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUVwQyxJQUFJLFFBQVEsRUFBRTtZQUNaLE9BQU87U0FDUjtRQUVELEtBQUssR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBQ3RDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEtleSwgVHlwZSB9IGZyb20gJ0B1cWwvY29yZS90eXBlJztcblxuY29uc3QgbWV0YWRhdGFLZXkgPSBTeW1ib2woJ0luamVjdFF1ZXJpZXInKTtcblxuZXhwb3J0IGZ1bmN0aW9uIEluamVjdFF1ZXJpZXIoKSB7XG4gIHJldHVybiAocHJvdG86IG9iamVjdCwga2V5OiBzdHJpbmcsIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICBjb25zdCB7IGNvbnN0cnVjdG9yIH0gPSBwcm90bztcblxuICAgIGlmICghcHJvdG9bbWV0YWRhdGFLZXldKSB7XG4gICAgICBwcm90b1ttZXRhZGF0YUtleV0gPSBuZXcgV2Vha01hcCgpO1xuICAgIH1cblxuICAgIGlmICghcHJvdG9bbWV0YWRhdGFLZXldLmhhcyhjb25zdHJ1Y3RvcikpIHtcbiAgICAgIHByb3RvW21ldGFkYXRhS2V5XS5zZXQoY29uc3RydWN0b3IsIHt9KTtcbiAgICB9XG5cbiAgICBjb25zdCBtZXRhID0gcHJvdG9bbWV0YWRhdGFLZXldLmdldChjb25zdHJ1Y3Rvcik7XG4gICAgY29uc3QgaXNBbHJlYWR5SW5qZWN0ZWQgPSBrZXkgaW4gbWV0YTtcblxuICAgIGlmIChpc0FscmVhZHlJbmplY3RlZCkge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihgQEluamVjdFF1ZXJpZXIoKSBjYW4gb25seSBhcHBlYXJzIG9uY2UgaW4gJyR7Y29uc3RydWN0b3IubmFtZX0uJHtrZXl9J31gKTtcbiAgICB9XG5cbiAgICBtZXRhW2tleV0gPSBpbmRleDtcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEluamVjdGVkUXVlcmllckluZGV4PFM+KHNlcnZpY2U6IFR5cGU8Uz4sIGtleTogS2V5PFM+KSB7XG4gIGxldCBwcm90bzogRnVuY3Rpb25Db25zdHJ1Y3RvciA9IHNlcnZpY2UucHJvdG90eXBlO1xuXG4gIHdoaWxlIChwcm90by5jb25zdHJ1Y3RvciAhPT0gT2JqZWN0KSB7XG4gICAgY29uc3QgbWV0YSA9IHByb3RvW21ldGFkYXRhS2V5XT8uZ2V0KHByb3RvLmNvbnN0cnVjdG9yKTtcblxuICAgIGlmIChtZXRhICYmIGtleSBpbiBtZXRhKSB7XG4gICAgICByZXR1cm4gbWV0YVtrZXldO1xuICAgIH1cblxuICAgIGNvbnN0IGtleXMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhwcm90bykgYXMgS2V5PFM+W107XG4gICAgY29uc3QgaXNPd25LZXkgPSBrZXlzLmluY2x1ZGVzKGtleSk7XG5cbiAgICBpZiAoaXNPd25LZXkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBwcm90byA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihwcm90byk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,13 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const options_1 = require("@uql/core/options");
|
|
5
|
-
const injectQuerier_1 = require("./injectQuerier");
|
|
6
|
-
function Transactional({ propagation = 'required', querierPool, } = {}) {
|
|
1
|
+
import { getDefaultQuerierPool } from '@uql/core/options';
|
|
2
|
+
import { getInjectedQuerierIndex } from './injectQuerier.js';
|
|
3
|
+
export function Transactional({ propagation = 'required', querierPool, } = {}) {
|
|
7
4
|
return (target, key, propDescriptor) => {
|
|
8
5
|
const theClass = target.constructor;
|
|
9
6
|
const originalMethod = propDescriptor.value;
|
|
10
|
-
const injectedQuerierIndex =
|
|
7
|
+
const injectedQuerierIndex = getInjectedQuerierIndex(theClass, key);
|
|
11
8
|
if (injectedQuerierIndex === undefined) {
|
|
12
9
|
throw TypeError(`missing decorator @InjectQuerier() in '${target.constructor.name}.${key}'`);
|
|
13
10
|
}
|
|
@@ -20,7 +17,7 @@ function Transactional({ propagation = 'required', querierPool, } = {}) {
|
|
|
20
17
|
}
|
|
21
18
|
else {
|
|
22
19
|
isOwnTransaction = true;
|
|
23
|
-
const pool = querierPool ??
|
|
20
|
+
const pool = querierPool ?? getDefaultQuerierPool();
|
|
24
21
|
querier = await pool.getQuerier();
|
|
25
22
|
params[injectedQuerierIndex] = querier;
|
|
26
23
|
}
|
|
@@ -48,5 +45,4 @@ function Transactional({ propagation = 'required', querierPool, } = {}) {
|
|
|
48
45
|
};
|
|
49
46
|
};
|
|
50
47
|
}
|
|
51
|
-
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25hbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9xdWVyaWVyL2RlY29yYXRvci90cmFuc2FjdGlvbmFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLCtDQUEwRDtBQUUxRCxtREFBMEQ7QUFFMUQsU0FBZ0IsYUFBYSxDQUFDLEVBQzVCLFdBQVcsR0FBRyxVQUFVLEVBQ3hCLFdBQVcsTUFJVCxFQUFFO0lBQ0osT0FBTyxDQUFDLE1BQWMsRUFBRSxHQUFXLEVBQUUsY0FBa0MsRUFBUSxFQUFFO1FBQy9FLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxXQUF3QixDQUFDO1FBQ2pELE1BQU0sY0FBYyxHQUFHLGNBQWMsQ0FBQyxLQUFLLENBQUM7UUFDNUMsTUFBTSxvQkFBb0IsR0FBRyxJQUFBLHVDQUF1QixFQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUVwRSxJQUFJLG9CQUFvQixLQUFLLFNBQVMsRUFBRTtZQUN0QyxNQUFNLFNBQVMsQ0FBQywwQ0FBMEMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLElBQUksR0FBRyxHQUFHLENBQUMsQ0FBQztTQUM5RjtRQUVELGNBQWMsQ0FBQyxLQUFLLEdBQUcsS0FBSyxVQUFVLElBQUksQ0FBZSxHQUFHLElBQVc7WUFDckUsTUFBTSxNQUFNLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO1lBQ3pCLElBQUksZ0JBQXlCLENBQUM7WUFDOUIsSUFBSSxPQUFnQixDQUFDO1lBRXJCLElBQUksTUFBTSxDQUFDLG9CQUFvQixDQUFDLEVBQUU7Z0JBQ2hDLE9BQU8sR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQzthQUN4QztpQkFBTTtnQkFDTCxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7Z0JBQ3hCLE1BQU0sSUFBSSxHQUFHLFdBQVcsSUFBSSxJQUFBLCtCQUFxQixHQUFFLENBQUM7Z0JBQ3BELE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDbEMsTUFBTSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsT0FBTyxDQUFDO2FBQ3hDO1lBRUQsSUFBSTtnQkFDRixJQUFJLFdBQVcsS0FBSyxVQUFVLElBQUksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLEVBQUU7b0JBQzdELE1BQU0sT0FBTyxDQUFDLGdCQUFnQixFQUFFLENBQUM7aUJBQ2xDO2dCQUNELE1BQU0sSUFBSSxHQUFHLE1BQU0sY0FBYyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7Z0JBQ3RELElBQUksZ0JBQWdCLElBQUksT0FBTyxDQUFDLGtCQUFrQixFQUFFO29CQUNsRCxNQUFNLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO2lCQUNuQztnQkFDRCxPQUFPLElBQUksQ0FBQzthQUNiO1lBQUMsT0FBTyxHQUFHLEVBQUU7Z0JBQ1osSUFBSSxnQkFBZ0IsSUFBSSxPQUFPLENBQUMsa0JBQWtCLEVBQUU7b0JBQ2xELE1BQU0sT0FBTyxDQUFDLG1CQUFtQixFQUFFLENBQUM7aUJBQ3JDO2dCQUNELE1BQU0sR0FBRyxDQUFDO2FBQ1g7b0JBQVM7Z0JBQ1IsSUFBSSxnQkFBZ0IsRUFBRTtvQkFDcEIsTUFBTSxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7aUJBQ3pCO2FBQ0Y7UUFDSCxDQUFDLENBQUM7SUFDSixDQUFDLENBQUM7QUFDSixDQUFDO0FBbkRELHNDQW1EQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdldERlZmF1bHRRdWVyaWVyUG9vbCB9IGZyb20gJ0B1cWwvY29yZS9vcHRpb25zJztcbmltcG9ydCB7IFF1ZXJpZXIsIFF1ZXJpZXJQb29sLCBUeXBlIH0gZnJvbSAnQHVxbC9jb3JlL3R5cGUnO1xuaW1wb3J0IHsgZ2V0SW5qZWN0ZWRRdWVyaWVySW5kZXggfSBmcm9tICcuL2luamVjdFF1ZXJpZXInO1xuXG5leHBvcnQgZnVuY3Rpb24gVHJhbnNhY3Rpb25hbCh7XG4gIHByb3BhZ2F0aW9uID0gJ3JlcXVpcmVkJyxcbiAgcXVlcmllclBvb2wsXG59OiB7XG4gIHJlYWRvbmx5IHByb3BhZ2F0aW9uPzogJ3N1cHBvcnRlZCcgfCAncmVxdWlyZWQnO1xuICByZWFkb25seSBxdWVyaWVyUG9vbD86IFF1ZXJpZXJQb29sO1xufSA9IHt9KSB7XG4gIHJldHVybiAodGFyZ2V0OiBvYmplY3QsIGtleTogc3RyaW5nLCBwcm9wRGVzY3JpcHRvcjogUHJvcGVydHlEZXNjcmlwdG9yKTogdm9pZCA9PiB7XG4gICAgY29uc3QgdGhlQ2xhc3MgPSB0YXJnZXQuY29uc3RydWN0b3IgYXMgVHlwZTxhbnk+O1xuICAgIGNvbnN0IG9yaWdpbmFsTWV0aG9kID0gcHJvcERlc2NyaXB0b3IudmFsdWU7XG4gICAgY29uc3QgaW5qZWN0ZWRRdWVyaWVySW5kZXggPSBnZXRJbmplY3RlZFF1ZXJpZXJJbmRleCh0aGVDbGFzcywga2V5KTtcblxuICAgIGlmIChpbmplY3RlZFF1ZXJpZXJJbmRleCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBUeXBlRXJyb3IoYG1pc3NpbmcgZGVjb3JhdG9yIEBJbmplY3RRdWVyaWVyKCkgaW4gJyR7dGFyZ2V0LmNvbnN0cnVjdG9yLm5hbWV9LiR7a2V5fSdgKTtcbiAgICB9XG5cbiAgICBwcm9wRGVzY3JpcHRvci52YWx1ZSA9IGFzeW5jIGZ1bmN0aW9uIGZ1bmModGhpczogb2JqZWN0LCAuLi5hcmdzOiBhbnlbXSkge1xuICAgICAgY29uc3QgcGFyYW1zID0gWy4uLmFyZ3NdO1xuICAgICAgbGV0IGlzT3duVHJhbnNhY3Rpb246IGJvb2xlYW47XG4gICAgICBsZXQgcXVlcmllcjogUXVlcmllcjtcblxuICAgICAgaWYgKHBhcmFtc1tpbmplY3RlZFF1ZXJpZXJJbmRleF0pIHtcbiAgICAgICAgcXVlcmllciA9IHBhcmFtc1tpbmplY3RlZFF1ZXJpZXJJbmRleF07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpc093blRyYW5zYWN0aW9uID0gdHJ1ZTtcbiAgICAgICAgY29uc3QgcG9vbCA9IHF1ZXJpZXJQb29sID8/IGdldERlZmF1bHRRdWVyaWVyUG9vbCgpO1xuICAgICAgICBxdWVyaWVyID0gYXdhaXQgcG9vbC5nZXRRdWVyaWVyKCk7XG4gICAgICAgIHBhcmFtc1tpbmplY3RlZFF1ZXJpZXJJbmRleF0gPSBxdWVyaWVyO1xuICAgICAgfVxuXG4gICAgICB0cnkge1xuICAgICAgICBpZiAocHJvcGFnYXRpb24gPT09ICdyZXF1aXJlZCcgJiYgIXF1ZXJpZXIuaGFzT3BlblRyYW5zYWN0aW9uKSB7XG4gICAgICAgICAgYXdhaXQgcXVlcmllci5iZWdpblRyYW5zYWN0aW9uKCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcmVzcCA9IGF3YWl0IG9yaWdpbmFsTWV0aG9kLmFwcGx5KHRoaXMsIHBhcmFtcyk7XG4gICAgICAgIGlmIChpc093blRyYW5zYWN0aW9uICYmIHF1ZXJpZXIuaGFzT3BlblRyYW5zYWN0aW9uKSB7XG4gICAgICAgICAgYXdhaXQgcXVlcmllci5jb21taXRUcmFuc2FjdGlvbigpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXNwO1xuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIGlmIChpc093blRyYW5zYWN0aW9uICYmIHF1ZXJpZXIuaGFzT3BlblRyYW5zYWN0aW9uKSB7XG4gICAgICAgICAgYXdhaXQgcXVlcmllci5yb2xsYmFja1RyYW5zYWN0aW9uKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgaWYgKGlzT3duVHJhbnNhY3Rpb24pIHtcbiAgICAgICAgICBhd2FpdCBxdWVyaWVyLnJlbGVhc2UoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG4gIH07XG59XG4iXX0=
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25hbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9xdWVyaWVyL2RlY29yYXRvci90cmFuc2FjdGlvbmFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRTFELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTdELE1BQU0sVUFBVSxhQUFhLENBQUMsRUFDNUIsV0FBVyxHQUFHLFVBQVUsRUFDeEIsV0FBVyxNQUlULEVBQUU7SUFDSixPQUFPLENBQUMsTUFBYyxFQUFFLEdBQVcsRUFBRSxjQUFrQyxFQUFRLEVBQUU7UUFDL0UsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLFdBQXdCLENBQUM7UUFDakQsTUFBTSxjQUFjLEdBQUcsY0FBYyxDQUFDLEtBQUssQ0FBQztRQUM1QyxNQUFNLG9CQUFvQixHQUFHLHVCQUF1QixDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUVwRSxJQUFJLG9CQUFvQixLQUFLLFNBQVMsRUFBRTtZQUN0QyxNQUFNLFNBQVMsQ0FBQywwQ0FBMEMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLElBQUksR0FBRyxHQUFHLENBQUMsQ0FBQztTQUM5RjtRQUVELGNBQWMsQ0FBQyxLQUFLLEdBQUcsS0FBSyxVQUFVLElBQUksQ0FBZSxHQUFHLElBQVc7WUFDckUsTUFBTSxNQUFNLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO1lBQ3pCLElBQUksZ0JBQXlCLENBQUM7WUFDOUIsSUFBSSxPQUFnQixDQUFDO1lBRXJCLElBQUksTUFBTSxDQUFDLG9CQUFvQixDQUFDLEVBQUU7Z0JBQ2hDLE9BQU8sR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQzthQUN4QztpQkFBTTtnQkFDTCxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7Z0JBQ3hCLE1BQU0sSUFBSSxHQUFHLFdBQVcsSUFBSSxxQkFBcUIsRUFBRSxDQUFDO2dCQUNwRCxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQ2xDLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLE9BQU8sQ0FBQzthQUN4QztZQUVELElBQUk7Z0JBQ0YsSUFBSSxXQUFXLEtBQUssVUFBVSxJQUFJLENBQUMsT0FBTyxDQUFDLGtCQUFrQixFQUFFO29CQUM3RCxNQUFNLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO2lCQUNsQztnQkFDRCxNQUFNLElBQUksR0FBRyxNQUFNLGNBQWMsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO2dCQUN0RCxJQUFJLGdCQUFnQixJQUFJLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRTtvQkFDbEQsTUFBTSxPQUFPLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztpQkFDbkM7Z0JBQ0QsT0FBTyxJQUFJLENBQUM7YUFDYjtZQUFDLE9BQU8sR0FBRyxFQUFFO2dCQUNaLElBQUksZ0JBQWdCLElBQUksT0FBTyxDQUFDLGtCQUFrQixFQUFFO29CQUNsRCxNQUFNLE9BQU8sQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO2lCQUNyQztnQkFDRCxNQUFNLEdBQUcsQ0FBQzthQUNYO29CQUFTO2dCQUNSLElBQUksZ0JBQWdCLEVBQUU7b0JBQ3BCLE1BQU0sT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO2lCQUN6QjthQUNGO1FBQ0gsQ0FBQyxDQUFDO0lBQ0osQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdldERlZmF1bHRRdWVyaWVyUG9vbCB9IGZyb20gJ0B1cWwvY29yZS9vcHRpb25zJztcbmltcG9ydCB7IFF1ZXJpZXIsIFF1ZXJpZXJQb29sLCBUeXBlIH0gZnJvbSAnQHVxbC9jb3JlL3R5cGUnO1xuaW1wb3J0IHsgZ2V0SW5qZWN0ZWRRdWVyaWVySW5kZXggfSBmcm9tICcuL2luamVjdFF1ZXJpZXIuanMnO1xuXG5leHBvcnQgZnVuY3Rpb24gVHJhbnNhY3Rpb25hbCh7XG4gIHByb3BhZ2F0aW9uID0gJ3JlcXVpcmVkJyxcbiAgcXVlcmllclBvb2wsXG59OiB7XG4gIHJlYWRvbmx5IHByb3BhZ2F0aW9uPzogJ3N1cHBvcnRlZCcgfCAncmVxdWlyZWQnO1xuICByZWFkb25seSBxdWVyaWVyUG9vbD86IFF1ZXJpZXJQb29sO1xufSA9IHt9KSB7XG4gIHJldHVybiAodGFyZ2V0OiBvYmplY3QsIGtleTogc3RyaW5nLCBwcm9wRGVzY3JpcHRvcjogUHJvcGVydHlEZXNjcmlwdG9yKTogdm9pZCA9PiB7XG4gICAgY29uc3QgdGhlQ2xhc3MgPSB0YXJnZXQuY29uc3RydWN0b3IgYXMgVHlwZTxhbnk+O1xuICAgIGNvbnN0IG9yaWdpbmFsTWV0aG9kID0gcHJvcERlc2NyaXB0b3IudmFsdWU7XG4gICAgY29uc3QgaW5qZWN0ZWRRdWVyaWVySW5kZXggPSBnZXRJbmplY3RlZFF1ZXJpZXJJbmRleCh0aGVDbGFzcywga2V5KTtcblxuICAgIGlmIChpbmplY3RlZFF1ZXJpZXJJbmRleCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBUeXBlRXJyb3IoYG1pc3NpbmcgZGVjb3JhdG9yIEBJbmplY3RRdWVyaWVyKCkgaW4gJyR7dGFyZ2V0LmNvbnN0cnVjdG9yLm5hbWV9LiR7a2V5fSdgKTtcbiAgICB9XG5cbiAgICBwcm9wRGVzY3JpcHRvci52YWx1ZSA9IGFzeW5jIGZ1bmN0aW9uIGZ1bmModGhpczogb2JqZWN0LCAuLi5hcmdzOiBhbnlbXSkge1xuICAgICAgY29uc3QgcGFyYW1zID0gWy4uLmFyZ3NdO1xuICAgICAgbGV0IGlzT3duVHJhbnNhY3Rpb246IGJvb2xlYW47XG4gICAgICBsZXQgcXVlcmllcjogUXVlcmllcjtcblxuICAgICAgaWYgKHBhcmFtc1tpbmplY3RlZFF1ZXJpZXJJbmRleF0pIHtcbiAgICAgICAgcXVlcmllciA9IHBhcmFtc1tpbmplY3RlZFF1ZXJpZXJJbmRleF07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpc093blRyYW5zYWN0aW9uID0gdHJ1ZTtcbiAgICAgICAgY29uc3QgcG9vbCA9IHF1ZXJpZXJQb29sID8/IGdldERlZmF1bHRRdWVyaWVyUG9vbCgpO1xuICAgICAgICBxdWVyaWVyID0gYXdhaXQgcG9vbC5nZXRRdWVyaWVyKCk7XG4gICAgICAgIHBhcmFtc1tpbmplY3RlZFF1ZXJpZXJJbmRleF0gPSBxdWVyaWVyO1xuICAgICAgfVxuXG4gICAgICB0cnkge1xuICAgICAgICBpZiAocHJvcGFnYXRpb24gPT09ICdyZXF1aXJlZCcgJiYgIXF1ZXJpZXIuaGFzT3BlblRyYW5zYWN0aW9uKSB7XG4gICAgICAgICAgYXdhaXQgcXVlcmllci5iZWdpblRyYW5zYWN0aW9uKCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcmVzcCA9IGF3YWl0IG9yaWdpbmFsTWV0aG9kLmFwcGx5KHRoaXMsIHBhcmFtcyk7XG4gICAgICAgIGlmIChpc093blRyYW5zYWN0aW9uICYmIHF1ZXJpZXIuaGFzT3BlblRyYW5zYWN0aW9uKSB7XG4gICAgICAgICAgYXdhaXQgcXVlcmllci5jb21taXRUcmFuc2FjdGlvbigpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXNwO1xuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIGlmIChpc093blRyYW5zYWN0aW9uICYmIHF1ZXJpZXIuaGFzT3BlblRyYW5zYWN0aW9uKSB7XG4gICAgICAgICAgYXdhaXQgcXVlcmllci5yb2xsYmFja1RyYW5zYWN0aW9uKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgaWYgKGlzT3duVHJhbnNhY3Rpb24pIHtcbiAgICAgICAgICBhd2FpdCBxdWVyaWVyLnJlbGVhc2UoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG4gIH07XG59XG4iXX0=
|
package/querier/index.js
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
tslib_1.__exportStar(require("./abstractSqlQuerier"), exports);
|
|
6
|
-
tslib_1.__exportStar(require("./decorator"), exports);
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcXVlcmllci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw0REFBa0M7QUFDbEMsK0RBQXFDO0FBQ3JDLHNEQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYWJzdHJhY3RRdWVyaWVyJztcbmV4cG9ydCAqIGZyb20gJy4vYWJzdHJhY3RTcWxRdWVyaWVyJztcbmV4cG9ydCAqIGZyb20gJy4vZGVjb3JhdG9yJztcbiJdfQ==
|
|
1
|
+
export * from './abstractQuerier';
|
|
2
|
+
export * from './abstractSqlQuerier';
|
|
3
|
+
export * from './decorator';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcXVlcmllci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2Fic3RyYWN0UXVlcmllcic7XG5leHBvcnQgKiBmcm9tICcuL2Fic3RyYWN0U3FsUXVlcmllcic7XG5leHBvcnQgKiBmcm9tICcuL2RlY29yYXRvcic7XG4iXX0=
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
class GenericRepository {
|
|
1
|
+
export class GenericRepository {
|
|
2
|
+
entity;
|
|
3
|
+
querier;
|
|
5
4
|
constructor(entity, querier) {
|
|
6
5
|
this.entity = entity;
|
|
7
6
|
this.querier = querier;
|
|
@@ -46,5 +45,4 @@ class GenericRepository {
|
|
|
46
45
|
return this.querier.deleteMany(this.entity, qm, opts);
|
|
47
46
|
}
|
|
48
47
|
}
|
|
49
|
-
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJpY1JlcG9zaXRvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcmVwb3NpdG9yeS9nZW5lcmljUmVwb3NpdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSxNQUFhLGlCQUFpQjtJQUM1QixZQUFxQixNQUFlLEVBQVcsT0FBZ0I7UUFBMUMsV0FBTSxHQUFOLE1BQU0sQ0FBUztRQUFXLFlBQU8sR0FBUCxPQUFPLENBQVM7SUFBRyxDQUFDO0lBRW5FLEtBQUssQ0FBQyxFQUFrQjtRQUN0QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELFdBQVcsQ0FBQyxFQUFjLEVBQUUsRUFBbUI7UUFDN0MsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsT0FBTyxDQUFDLEVBQWU7UUFDckIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxRQUFRLENBQUMsRUFBWTtRQUNuQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELGdCQUFnQixDQUFDLEVBQVk7UUFDM0IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELFNBQVMsQ0FBQyxPQUFVO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsVUFBVSxDQUFDLE9BQVk7UUFDckIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxhQUFhLENBQUMsRUFBYyxFQUFFLE9BQVU7UUFDdEMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRUQsVUFBVSxDQUFDLEVBQW9CLEVBQUUsT0FBVTtRQUN6QyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRCxPQUFPLENBQUMsT0FBVTtRQUNoQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELFFBQVEsQ0FBQyxPQUFZO1FBQ25CLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsYUFBYSxDQUFDLEVBQWMsRUFBRSxJQUFtQjtRQUMvQyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRCxVQUFVLENBQUMsRUFBb0IsRUFBRSxJQUFtQjtRQUNsRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3hELENBQUM7Q0FDRjtBQXRERCw4Q0FzREMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJZFZhbHVlLCBRdWVyaWVyLCBRdWVyeSwgUXVlcnlDcml0ZXJpYSwgUXVlcnlPbmUsIFF1ZXJ5T3B0aW9ucywgUXVlcnlTZWFyY2gsIFF1ZXJ5VW5pcXVlLCBSZXBvc2l0b3J5LCBUeXBlIH0gZnJvbSAnQHVxbC9jb3JlL3R5cGUnO1xuXG5leHBvcnQgY2xhc3MgR2VuZXJpY1JlcG9zaXRvcnk8RT4gaW1wbGVtZW50cyBSZXBvc2l0b3J5PEU+IHtcbiAgY29uc3RydWN0b3IocmVhZG9ubHkgZW50aXR5OiBUeXBlPEU+LCByZWFkb25seSBxdWVyaWVyOiBRdWVyaWVyKSB7fVxuXG4gIGNvdW50KHFtOiBRdWVyeVNlYXJjaDxFPikge1xuICAgIHJldHVybiB0aGlzLnF1ZXJpZXIuY291bnQodGhpcy5lbnRpdHksIHFtKTtcbiAgfVxuXG4gIGZpbmRPbmVCeUlkKGlkOiBJZFZhbHVlPEU+LCBxbT86IFF1ZXJ5VW5pcXVlPEU+KSB7XG4gICAgcmV0dXJuIHRoaXMucXVlcmllci5maW5kT25lQnlJZCh0aGlzLmVudGl0eSwgaWQsIHFtKTtcbiAgfVxuXG4gIGZpbmRPbmUocW06IFF1ZXJ5T25lPEU+KSB7XG4gICAgcmV0dXJuIHRoaXMucXVlcmllci5maW5kT25lKHRoaXMuZW50aXR5LCBxbSk7XG4gIH1cblxuICBmaW5kTWFueShxbTogUXVlcnk8RT4pIHtcbiAgICByZXR1cm4gdGhpcy5xdWVyaWVyLmZpbmRNYW55KHRoaXMuZW50aXR5LCBxbSk7XG4gIH1cblxuICBmaW5kTWFueUFuZENvdW50KHFtOiBRdWVyeTxFPikge1xuICAgIHJldHVybiB0aGlzLnF1ZXJpZXIuZmluZE1hbnlBbmRDb3VudCh0aGlzLmVudGl0eSwgcW0pO1xuICB9XG5cbiAgaW5zZXJ0T25lKHBheWxvYWQ6IEUpIHtcbiAgICByZXR1cm4gdGhpcy5xdWVyaWVyLmluc2VydE9uZSh0aGlzLmVudGl0eSwgcGF5bG9hZCk7XG4gIH1cblxuICBpbnNlcnRNYW55KHBheWxvYWQ6IEVbXSkge1xuICAgIHJldHVybiB0aGlzLnF1ZXJpZXIuaW5zZXJ0TWFueSh0aGlzLmVudGl0eSwgcGF5bG9hZCk7XG4gIH1cblxuICB1cGRhdGVPbmVCeUlkKGlkOiBJZFZhbHVlPEU+LCBwYXlsb2FkOiBFKSB7XG4gICAgcmV0dXJuIHRoaXMucXVlcmllci51cGRhdGVPbmVCeUlkKHRoaXMuZW50aXR5LCBpZCwgcGF5bG9hZCk7XG4gIH1cblxuICB1cGRhdGVNYW55KHFtOiBRdWVyeUNyaXRlcmlhPEU+LCBwYXlsb2FkOiBFKSB7XG4gICAgcmV0dXJuIHRoaXMucXVlcmllci51cGRhdGVNYW55KHRoaXMuZW50aXR5LCBxbSwgcGF5bG9hZCk7XG4gIH1cblxuICBzYXZlT25lKHBheWxvYWQ6IEUpIHtcbiAgICByZXR1cm4gdGhpcy5xdWVyaWVyLnNhdmVPbmUodGhpcy5lbnRpdHksIHBheWxvYWQpO1xuICB9XG5cbiAgc2F2ZU1hbnkocGF5bG9hZDogRVtdKSB7XG4gICAgcmV0dXJuIHRoaXMucXVlcmllci5zYXZlTWFueSh0aGlzLmVudGl0eSwgcGF5bG9hZCk7XG4gIH1cblxuICBkZWxldGVPbmVCeUlkKGlkOiBJZFZhbHVlPEU+LCBvcHRzPzogUXVlcnlPcHRpb25zKSB7XG4gICAgcmV0dXJuIHRoaXMucXVlcmllci5kZWxldGVPbmVCeUlkKHRoaXMuZW50aXR5LCBpZCwgb3B0cyk7XG4gIH1cblxuICBkZWxldGVNYW55KHFtOiBRdWVyeUNyaXRlcmlhPEU+LCBvcHRzPzogUXVlcnlPcHRpb25zKSB7XG4gICAgcmV0dXJuIHRoaXMucXVlcmllci5kZWxldGVNYW55KHRoaXMuZW50aXR5LCBxbSwgb3B0cyk7XG4gIH1cbn1cbiJdfQ==
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJpY1JlcG9zaXRvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcmVwb3NpdG9yeS9nZW5lcmljUmVwb3NpdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8saUJBQWlCO0lBQ1A7SUFBMEI7SUFBL0MsWUFBcUIsTUFBZSxFQUFXLE9BQWdCO1FBQTFDLFdBQU0sR0FBTixNQUFNLENBQVM7UUFBVyxZQUFPLEdBQVAsT0FBTyxDQUFTO0lBQUcsQ0FBQztJQUVuRSxLQUFLLENBQUMsRUFBa0I7UUFDdEIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxXQUFXLENBQUMsRUFBYyxFQUFFLEVBQW1CO1FBQzdDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELE9BQU8sQ0FBQyxFQUFlO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsUUFBUSxDQUFDLEVBQVk7UUFDbkIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxFQUFZO1FBQzNCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxTQUFTLENBQUMsT0FBVTtRQUNsQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELFVBQVUsQ0FBQyxPQUFZO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsYUFBYSxDQUFDLEVBQWMsRUFBRSxPQUFVO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVELFVBQVUsQ0FBQyxFQUFvQixFQUFFLE9BQVU7UUFDekMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsT0FBTyxDQUFDLE9BQVU7UUFDaEIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxRQUFRLENBQUMsT0FBWTtRQUNuQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELGFBQWEsQ0FBQyxFQUFjLEVBQUUsSUFBbUI7UUFDL0MsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsVUFBVSxDQUFDLEVBQW9CLEVBQUUsSUFBbUI7UUFDbEQsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN4RCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJZFZhbHVlLCBRdWVyaWVyLCBRdWVyeSwgUXVlcnlDcml0ZXJpYSwgUXVlcnlPbmUsIFF1ZXJ5T3B0aW9ucywgUXVlcnlTZWFyY2gsIFF1ZXJ5VW5pcXVlLCBSZXBvc2l0b3J5LCBUeXBlIH0gZnJvbSAnQHVxbC9jb3JlL3R5cGUnO1xuXG5leHBvcnQgY2xhc3MgR2VuZXJpY1JlcG9zaXRvcnk8RT4gaW1wbGVtZW50cyBSZXBvc2l0b3J5PEU+IHtcbiAgY29uc3RydWN0b3IocmVhZG9ubHkgZW50aXR5OiBUeXBlPEU+LCByZWFkb25seSBxdWVyaWVyOiBRdWVyaWVyKSB7fVxuXG4gIGNvdW50KHFtOiBRdWVyeVNlYXJjaDxFPikge1xuICAgIHJldHVybiB0aGlzLnF1ZXJpZXIuY291bnQodGhpcy5lbnRpdHksIHFtKTtcbiAgfVxuXG4gIGZpbmRPbmVCeUlkKGlkOiBJZFZhbHVlPEU+LCBxbT86IFF1ZXJ5VW5pcXVlPEU+KSB7XG4gICAgcmV0dXJuIHRoaXMucXVlcmllci5maW5kT25lQnlJZCh0aGlzLmVudGl0eSwgaWQsIHFtKTtcbiAgfVxuXG4gIGZpbmRPbmUocW06IFF1ZXJ5T25lPEU+KSB7XG4gICAgcmV0dXJuIHRoaXMucXVlcmllci5maW5kT25lKHRoaXMuZW50aXR5LCBxbSk7XG4gIH1cblxuICBmaW5kTWFueShxbTogUXVlcnk8RT4pIHtcbiAgICByZXR1cm4gdGhpcy5xdWVyaWVyLmZpbmRNYW55KHRoaXMuZW50aXR5LCBxbSk7XG4gIH1cblxuICBmaW5kTWFueUFuZENvdW50KHFtOiBRdWVyeTxFPikge1xuICAgIHJldHVybiB0aGlzLnF1ZXJpZXIuZmluZE1hbnlBbmRDb3VudCh0aGlzLmVudGl0eSwgcW0pO1xuICB9XG5cbiAgaW5zZXJ0T25lKHBheWxvYWQ6IEUpIHtcbiAgICByZXR1cm4gdGhpcy5xdWVyaWVyLmluc2VydE9uZSh0aGlzLmVudGl0eSwgcGF5bG9hZCk7XG4gIH1cblxuICBpbnNlcnRNYW55KHBheWxvYWQ6IEVbXSkge1xuICAgIHJldHVybiB0aGlzLnF1ZXJpZXIuaW5zZXJ0TWFueSh0aGlzLmVudGl0eSwgcGF5bG9hZCk7XG4gIH1cblxuICB1cGRhdGVPbmVCeUlkKGlkOiBJZFZhbHVlPEU+LCBwYXlsb2FkOiBFKSB7XG4gICAgcmV0dXJuIHRoaXMucXVlcmllci51cGRhdGVPbmVCeUlkKHRoaXMuZW50aXR5LCBpZCwgcGF5bG9hZCk7XG4gIH1cblxuICB1cGRhdGVNYW55KHFtOiBRdWVyeUNyaXRlcmlhPEU+LCBwYXlsb2FkOiBFKSB7XG4gICAgcmV0dXJuIHRoaXMucXVlcmllci51cGRhdGVNYW55KHRoaXMuZW50aXR5LCBxbSwgcGF5bG9hZCk7XG4gIH1cblxuICBzYXZlT25lKHBheWxvYWQ6IEUpIHtcbiAgICByZXR1cm4gdGhpcy5xdWVyaWVyLnNhdmVPbmUodGhpcy5lbnRpdHksIHBheWxvYWQpO1xuICB9XG5cbiAgc2F2ZU1hbnkocGF5bG9hZDogRVtdKSB7XG4gICAgcmV0dXJuIHRoaXMucXVlcmllci5zYXZlTWFueSh0aGlzLmVudGl0eSwgcGF5bG9hZCk7XG4gIH1cblxuICBkZWxldGVPbmVCeUlkKGlkOiBJZFZhbHVlPEU+LCBvcHRzPzogUXVlcnlPcHRpb25zKSB7XG4gICAgcmV0dXJuIHRoaXMucXVlcmllci5kZWxldGVPbmVCeUlkKHRoaXMuZW50aXR5LCBpZCwgb3B0cyk7XG4gIH1cblxuICBkZWxldGVNYW55KHFtOiBRdWVyeUNyaXRlcmlhPEU+LCBvcHRzPzogUXVlcnlPcHRpb25zKSB7XG4gICAgcmV0dXJuIHRoaXMucXVlcmllci5kZWxldGVNYW55KHRoaXMuZW50aXR5LCBxbSwgb3B0cyk7XG4gIH1cbn1cbiJdfQ==
|
package/repository/index.js
CHANGED
|
@@ -1,5 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
const tslib_1 = require("tslib");
|
|
4
|
-
tslib_1.__exportStar(require("./genericRepository"), exports);
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcmVwb3NpdG9yeS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw4REFBb0MiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2dlbmVyaWNSZXBvc2l0b3J5JztcbiJdfQ==
|
|
1
|
+
export * from './genericRepository';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcmVwb3NpdG9yeS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9nZW5lcmljUmVwb3NpdG9yeSc7XG4iXX0=
|
package/type/entity.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { QueryRaw } from './query';
|
|
2
|
-
import { Scalar, Type } from './utility';
|
|
1
|
+
import { QueryRaw } from './query.js';
|
|
2
|
+
import { Scalar, Type } from './utility.js';
|
|
3
3
|
export declare const idKey: unique symbol;
|
|
4
4
|
export declare type Key<E> = keyof E & string;
|
|
5
5
|
export declare type FieldKey<E> = {
|
package/type/entity.js
CHANGED
|
@@ -1,5 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.idKey = void 0;
|
|
4
|
-
exports.idKey = Symbol('idKey');
|
|
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+ID0gUGljazxSZWxhdGlvbk9wdGlvbnM8RT4sICdlbnRpdHknIHwgJ3JlZmVyZW5jZXMnIHwgJ2Nhc2NhZGUnPjtcbnR5cGUgUmVsYXRpb25PcHRpb25zSW52ZXJzZVNpZGU8RT4gPSBSZXF1aXJlZDxQaWNrPFJlbGF0aW9uT3B0aW9uczxFPiwgJ2VudGl0eScgfCAnbWFwcGVkQnknPj4gJiBQaWNrPFJlbGF0aW9uT3B0aW9uczxFPiwgJ2Nhc2NhZGUnPjtcbnR5cGUgUmVsYXRpb25PcHRpb25zVGhyb3VnaE93bmVyPEU+ID0gUmVxdWlyZWQ8UGljazxSZWxhdGlvbk9wdGlvbnM8RT4sICdlbnRpdHknPj4gJiBQaWNrPFJlbGF0aW9uT3B0aW9uczxFPiwgJ3Rocm91Z2gnIHwgJ3JlZmVyZW5jZXMnIHwgJ2Nhc2NhZGUnPjtcblxuZXhwb3J0IHR5cGUgUmVsYXRpb25LZXlNYXA8RT4gPSB7IHJlYWRvbmx5IFtLIGluIGtleW9mIEVdOiBLIH07XG5cbmV4cG9ydCB0eXBlIFJlbGF0aW9uS2V5TWFwcGVyPEU+ID0gKGtleU1hcDogUmVsYXRpb25LZXlNYXA8RT4pID0+IEtleTxFPjtcblxuZXhwb3J0IHR5cGUgUmVsYXRpb25SZWZlcmVuY2VzID0geyByZWFkb25seSBsb2NhbDogc3RyaW5nOyByZWFkb25seSBmb3JlaWduOiBzdHJpbmcgfVtdO1xuXG5leHBvcnQgdHlwZSBSZWxhdGlvbk1hcHBlZEJ5PEU+ID0gS2V5PEU+IHwgUmVsYXRpb25LZXlNYXBwZXI8RT47XG5cbmV4cG9ydCB0eXBlIFJlbGF0aW9uQ2FyZGluYWxpdHkgPSAnMTEnIHwgJ20xJyB8ICcxbScgfCAnbW0nO1xuXG5leHBvcnQgdHlwZSBSZWxhdGlvbk9uZVRvT25lT3B0aW9uczxFPiA9IFJlbGF0aW9uT3B0aW9uc093bmVyPEU+IHwgUmVsYXRpb25PcHRpb25zSW52ZXJzZVNpZGU8RT47XG5cbmV4cG9ydCB0eXBlIFJlbGF0aW9uT25lVG9NYW55T3B0aW9uczxFPiA9IFJlbGF0aW9uT3B0aW9uc0ludmVyc2VTaWRlPEU+IHwgUmVsYXRpb25PcHRpb25zVGhyb3VnaE93bmVyPEU+O1xuXG5leHBvcnQgdHlwZSBSZWxhdGlvbk1hbnlUb09uZU9wdGlvbnM8RT4gPSBSZWxhdGlvbk9wdGlvbnNPd25lcjxFPiB8IFJlbGF0aW9uT3B0aW9uc0ludmVyc2VTaWRlPEU+O1xuXG5leHBvcnQgdHlwZSBSZWxhdGlvbk1hbnlUb01hbnlPcHRpb25zPEU+ID0gUmVsYXRpb25PcHRpb25zVGhyb3VnaE93bmVyPEU+IHwgUmVsYXRpb25PcHRpb25zSW52ZXJzZVNpZGU8RT47XG5cbmV4cG9ydCB0eXBlIEVudGl0eU1ldGE8RT4gPSB7XG4gIHJlYWRvbmx5IGVudGl0eTogVHlwZTxFPjtcbiAgbmFtZT86IHN0cmluZztcbiAgaWQ/OiBJZEtleTxFPjtcbiAgc29mdERlbGV0ZT86IEZpZWxkS2V5PEU+O1xuICBmaWVsZHM6IHtcbiAgICBbSyBpbiBGaWVsZEtleTxFPl0/OiBGaWVsZE9wdGlvbnM7XG4gIH07XG4gIHJlbGF0aW9uczoge1xuICAgIFtLIGluIFJlbGF0aW9uS2V5PEU+XT86IFJlbGF0aW9uT3B0aW9ucztcbiAgfTtcbiAgcHJvY2Vzc2VkPzogYm9vbGVhbjtcbn07XG4iXX0=
|
|
1
|
+
export const idKey = Symbol('idKey');
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGUvZW50aXR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sQ0FBQyxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBRdWVyeVJhdyB9IGZyb20gJy4vcXVlcnkuanMnO1xuaW1wb3J0IHsgU2NhbGFyLCBUeXBlIH0gZnJvbSAnLi91dGlsaXR5LmpzJztcblxuZXhwb3J0IGNvbnN0IGlkS2V5ID0gU3ltYm9sKCdpZEtleScpO1xuXG5leHBvcnQgdHlwZSBLZXk8RT4gPSBrZXlvZiBFICYgc3RyaW5nO1xuXG5leHBvcnQgdHlwZSBGaWVsZEtleTxFPiA9IHtcbiAgcmVhZG9ubHkgW0sgaW4ga2V5b2YgRV06IEVbS10gZXh0ZW5kcyBTY2FsYXIgPyBLIDogbmV2ZXI7XG59W0tleTxFPl07XG5cbmV4cG9ydCB0eXBlIFJlbGF0aW9uS2V5PEU+ID0ge1xuICByZWFkb25seSBbSyBpbiBrZXlvZiBFXTogRVtLXSBleHRlbmRzIFNjYWxhciA/IG5ldmVyIDogSztcbn1bS2V5PEU+XTtcblxuZXhwb3J0IHR5cGUgRmllbGRWYWx1ZTxFPiA9IEVbRmllbGRLZXk8RT5dO1xuXG5leHBvcnQgdHlwZSBJZEtleTxFPiA9IEUgZXh0ZW5kcyB7IFtpZEtleV0/OiBpbmZlciBLIH1cbiAgPyBLICYgRmllbGRLZXk8RT5cbiAgOiBFIGV4dGVuZHMgeyBfaWQ/OiB1bmtub3duIH1cbiAgPyAnX2lkJyAmIEZpZWxkS2V5PEU+XG4gIDogRSBleHRlbmRzIHsgaWQ/OiB1bmtub3duIH1cbiAgPyAnaWQnICYgRmllbGRLZXk8RT5cbiAgOiBGaWVsZEtleTxFPjtcblxuZXhwb3J0IHR5cGUgSWRWYWx1ZTxFPiA9IEVbSWRLZXk8RT5dO1xuXG5leHBvcnQgdHlwZSBSZWxhdGlvblZhbHVlPEU+ID0gRVtSZWxhdGlvbktleTxFPl07XG5cbmV4cG9ydCB0eXBlIEVudGl0eU9wdGlvbnMgPSB7XG4gIHJlYWRvbmx5IG5hbWU/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHNvZnREZWxldGU/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IHR5cGUgRmllbGRPcHRpb25zID0ge1xuICByZWFkb25seSBuYW1lPzogc3RyaW5nO1xuICByZWFkb25seSBpc0lkPzogdHJ1ZTtcbiAgcmVhZG9ubHkgdHlwZT86IGFueTtcbiAgcmVhZG9ubHkgcmVmZXJlbmNlPzogRW50aXR5R2V0dGVyO1xuICByZWFkb25seSB2aXJ0dWFsPzogUXVlcnlSYXc7XG4gIHJlYWRvbmx5IG9uSW5zZXJ0PzogT25GaWVsZENhbGxiYWNrO1xuICByZWFkb25seSBvblVwZGF0ZT86IE9uRmllbGRDYWxsYmFjaztcbiAgcmVhZG9ubHkgb25EZWxldGU/OiBPbkZpZWxkQ2FsbGJhY2s7XG59O1xuXG5leHBvcnQgdHlwZSBPbkZpZWxkQ2FsbGJhY2sgPSBTY2FsYXIgfCBRdWVyeVJhdyB8ICgoKSA9PiBTY2FsYXIgfCBRdWVyeVJhdyk7XG5cbmV4cG9ydCB0eXBlIEVudGl0eUdldHRlcjxFID0gYW55PiA9ICgpID0+IFR5cGU8RT47XG5cbmV4cG9ydCB0eXBlIENhc2NhZGVUeXBlID0gJ3BlcnNpc3QnIHwgJ2RlbGV0ZSc7XG5cbmV4cG9ydCB0eXBlIFJlbGF0aW9uT3B0aW9uczxFID0gYW55PiA9IHtcbiAgZW50aXR5PzogRW50aXR5R2V0dGVyPEU+O1xuICBjYXJkaW5hbGl0eTogUmVsYXRpb25DYXJkaW5hbGl0eTtcbiAgcmVhZG9ubHkgY2FzY2FkZT86IGJvb2xlYW4gfCBDYXNjYWRlVHlwZTtcbiAgbWFwcGVkQnk/OiBSZWxhdGlvbk1hcHBlZEJ5PEU+O1xuICB0aHJvdWdoPzogRW50aXR5R2V0dGVyPFJlbGF0aW9uVmFsdWU8RT4+O1xuICByZWZlcmVuY2VzPzogUmVsYXRpb25SZWZlcmVuY2VzO1xufTtcblxudHlwZSBSZWxhdGlvbk9wdGlvbnNPd25lcjxFPiA9IFBpY2s8UmVsYXRpb25PcHRpb25zPEU+LCAnZW50aXR5JyB8ICdyZWZlcmVuY2VzJyB8ICdjYXNjYWRlJz47XG50eXBlIFJlbGF0aW9uT3B0aW9uc0ludmVyc2VTaWRlPEU+ID0gUmVxdWlyZWQ8UGljazxSZWxhdGlvbk9wdGlvbnM8RT4sICdlbnRpdHknIHwgJ21hcHBlZEJ5Jz4+ICYgUGljazxSZWxhdGlvbk9wdGlvbnM8RT4sICdjYXNjYWRlJz47XG50eXBlIFJlbGF0aW9uT3B0aW9uc1Rocm91Z2hPd25lcjxFPiA9IFJlcXVpcmVkPFBpY2s8UmVsYXRpb25PcHRpb25zPEU+LCAnZW50aXR5Jz4+ICYgUGljazxSZWxhdGlvbk9wdGlvbnM8RT4sICd0aHJvdWdoJyB8ICdyZWZlcmVuY2VzJyB8ICdjYXNjYWRlJz47XG5cbmV4cG9ydCB0eXBlIFJlbGF0aW9uS2V5TWFwPEU+ID0geyByZWFkb25seSBbSyBpbiBrZXlvZiBFXTogSyB9O1xuXG5leHBvcnQgdHlwZSBSZWxhdGlvbktleU1hcHBlcjxFPiA9IChrZXlNYXA6IFJlbGF0aW9uS2V5TWFwPEU+KSA9PiBLZXk8RT47XG5cbmV4cG9ydCB0eXBlIFJlbGF0aW9uUmVmZXJlbmNlcyA9IHsgcmVhZG9ubHkgbG9jYWw6IHN0cmluZzsgcmVhZG9ubHkgZm9yZWlnbjogc3RyaW5nIH1bXTtcblxuZXhwb3J0IHR5cGUgUmVsYXRpb25NYXBwZWRCeTxFPiA9IEtleTxFPiB8IFJlbGF0aW9uS2V5TWFwcGVyPEU+O1xuXG5leHBvcnQgdHlwZSBSZWxhdGlvbkNhcmRpbmFsaXR5ID0gJzExJyB8ICdtMScgfCAnMW0nIHwgJ21tJztcblxuZXhwb3J0IHR5cGUgUmVsYXRpb25PbmVUb09uZU9wdGlvbnM8RT4gPSBSZWxhdGlvbk9wdGlvbnNPd25lcjxFPiB8IFJlbGF0aW9uT3B0aW9uc0ludmVyc2VTaWRlPEU+O1xuXG5leHBvcnQgdHlwZSBSZWxhdGlvbk9uZVRvTWFueU9wdGlvbnM8RT4gPSBSZWxhdGlvbk9wdGlvbnNJbnZlcnNlU2lkZTxFPiB8IFJlbGF0aW9uT3B0aW9uc1Rocm91Z2hPd25lcjxFPjtcblxuZXhwb3J0IHR5cGUgUmVsYXRpb25NYW55VG9PbmVPcHRpb25zPEU+ID0gUmVsYXRpb25PcHRpb25zT3duZXI8RT4gfCBSZWxhdGlvbk9wdGlvbnNJbnZlcnNlU2lkZTxFPjtcblxuZXhwb3J0IHR5cGUgUmVsYXRpb25NYW55VG9NYW55T3B0aW9uczxFPiA9IFJlbGF0aW9uT3B0aW9uc1Rocm91Z2hPd25lcjxFPiB8IFJlbGF0aW9uT3B0aW9uc0ludmVyc2VTaWRlPEU+O1xuXG5leHBvcnQgdHlwZSBFbnRpdHlNZXRhPEU+ID0ge1xuICByZWFkb25seSBlbnRpdHk6IFR5cGU8RT47XG4gIG5hbWU/OiBzdHJpbmc7XG4gIGlkPzogSWRLZXk8RT47XG4gIHNvZnREZWxldGU/OiBGaWVsZEtleTxFPjtcbiAgZmllbGRzOiB7XG4gICAgW0sgaW4gRmllbGRLZXk8RT5dPzogRmllbGRPcHRpb25zO1xuICB9O1xuICByZWxhdGlvbnM6IHtcbiAgICBbSyBpbiBSZWxhdGlvbktleTxFPl0/OiBSZWxhdGlvbk9wdGlvbnM7XG4gIH07XG4gIHByb2Nlc3NlZD86IGJvb2xlYW47XG59O1xuIl19
|
package/type/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export * from './utility';
|
|
2
|
-
export * from './entity';
|
|
3
|
-
export * from './query';
|
|
4
|
-
export * from './universalQuerier';
|
|
5
|
-
export * from './querier';
|
|
6
|
-
export * from './querierPool';
|
|
7
|
-
export * from './repository';
|
|
1
|
+
export * from './utility.js';
|
|
2
|
+
export * from './entity.js';
|
|
3
|
+
export * from './query.js';
|
|
4
|
+
export * from './universalQuerier.js';
|
|
5
|
+
export * from './querier.js';
|
|
6
|
+
export * from './querierPool.js';
|
|
7
|
+
export * from './repository.js';
|
package/type/index.js
CHANGED
|
@@ -1,11 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
tslib_1.__exportStar(require("./querierPool"), exports);
|
|
10
|
-
tslib_1.__exportStar(require("./repository"), exports);
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxvREFBMEI7QUFDMUIsbURBQXlCO0FBQ3pCLGtEQUF3QjtBQUN4Qiw2REFBbUM7QUFDbkMsb0RBQTBCO0FBQzFCLHdEQUE4QjtBQUM5Qix1REFBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3V0aWxpdHknO1xuZXhwb3J0ICogZnJvbSAnLi9lbnRpdHknO1xuZXhwb3J0ICogZnJvbSAnLi9xdWVyeSc7XG5leHBvcnQgKiBmcm9tICcuL3VuaXZlcnNhbFF1ZXJpZXInO1xuZXhwb3J0ICogZnJvbSAnLi9xdWVyaWVyJztcbmV4cG9ydCAqIGZyb20gJy4vcXVlcmllclBvb2wnO1xuZXhwb3J0ICogZnJvbSAnLi9yZXBvc2l0b3J5JztcbiJdfQ==
|
|
1
|
+
export * from './utility.js';
|
|
2
|
+
export * from './entity.js';
|
|
3
|
+
export * from './query.js';
|
|
4
|
+
export * from './universalQuerier.js';
|
|
5
|
+
export * from './querier.js';
|
|
6
|
+
export * from './querierPool.js';
|
|
7
|
+
export * from './repository.js';
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxpQkFBaUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vdXRpbGl0eS5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2VudGl0eS5qcyc7XG5leHBvcnQgKiBmcm9tICcuL3F1ZXJ5LmpzJztcbmV4cG9ydCAqIGZyb20gJy4vdW5pdmVyc2FsUXVlcmllci5qcyc7XG5leHBvcnQgKiBmcm9tICcuL3F1ZXJpZXIuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9xdWVyaWVyUG9vbC5qcyc7XG5leHBvcnQgKiBmcm9tICcuL3JlcG9zaXRvcnkuanMnO1xuIl19
|
package/type/querier.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { Type } from './utility';
|
|
2
|
-
import { Query, QueryCriteria, QueryOne, QueryOptions, QuerySearch, QueryUnique } from './query';
|
|
3
|
-
import { Repository } from './repository';
|
|
4
|
-
import { IdValue } from './entity';
|
|
5
|
-
import { UniversalQuerier } from './universalQuerier';
|
|
1
|
+
import { Type } from './utility.js';
|
|
2
|
+
import { Query, QueryCriteria, QueryOne, QueryOptions, QuerySearch, QueryUnique } from './query.js';
|
|
3
|
+
import { Repository } from './repository.js';
|
|
4
|
+
import { IdValue } from './entity.js';
|
|
5
|
+
import { UniversalQuerier } from './universalQuerier.js';
|
|
6
6
|
/**
|
|
7
7
|
* logger function to debug queries.
|
|
8
8
|
*/
|