@uql/mongo
Advanced tools
Comparing version 1.0.1 to 1.0.2
24
index.js
@@ -1,20 +0,4 @@ | ||
"use strict"; | ||
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||
if (k2 === undefined) k2 = k; | ||
var desc = Object.getOwnPropertyDescriptor(m, k); | ||
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { | ||
desc = { enumerable: true, get: function() { return m[k]; } }; | ||
} | ||
Object.defineProperty(o, k2, desc); | ||
}) : (function(o, m, k, k2) { | ||
if (k2 === undefined) k2 = k; | ||
o[k2] = m[k]; | ||
})); | ||
var __exportStar = (this && this.__exportStar) || function(m, exports) { | ||
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
__exportStar(require("./mongodbQuerier.js"), exports); | ||
__exportStar(require("./mongodbQuerierPool.js"), exports); | ||
__exportStar(require("./mongoDialect.js"), exports); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHNEQUFvQztBQUNwQywwREFBd0M7QUFDeEMsb0RBQWtDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9tb25nb2RiUXVlcmllci5qcyc7XG5leHBvcnQgKiBmcm9tICcuL21vbmdvZGJRdWVyaWVyUG9vbC5qcyc7XG5leHBvcnQgKiBmcm9tICcuL21vbmdvRGlhbGVjdC5qcyc7XG4iXX0= | ||
export * from './mongodbQuerier.js'; | ||
export * from './mongodbQuerierPool.js'; | ||
export * from './mongoDialect.js'; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL21vbmdvZGJRdWVyaWVyLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vbW9uZ29kYlF1ZXJpZXJQb29sLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vbW9uZ29EaWFsZWN0LmpzJztcbiJdfQ== |
@@ -1,8 +0,5 @@ | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.MongodbQuerier = void 0; | ||
const querier_1 = require("@uql/core/querier"); | ||
const decorator_1 = require("@uql/core/entity/decorator"); | ||
const util_1 = require("@uql/core/util"); | ||
class MongodbQuerier extends querier_1.AbstractQuerier { | ||
import { AbstractQuerier } from '@uql/core/querier'; | ||
import { getMeta } from '@uql/core/entity/decorator'; | ||
import { clone, getPersistable, getPersistables, getFieldCallbackValue, hasKeys, isProjectingRelations } from '@uql/core/util'; | ||
export class MongodbQuerier extends AbstractQuerier { | ||
dialect; | ||
@@ -29,5 +26,5 @@ conn; | ||
async findMany(entity, qm) { | ||
const meta = (0, decorator_1.getMeta)(entity); | ||
const meta = getMeta(entity); | ||
let documents; | ||
const hasProjectRelations = (0, util_1.isProjectingRelations)(meta, qm.$project); | ||
const hasProjectRelations = isProjectingRelations(meta, qm.$project); | ||
if (hasProjectRelations) { | ||
@@ -45,11 +42,11 @@ const pipeline = this.dialect.aggregationPipeline(entity, qm); | ||
const filter = this.dialect.filter(entity, qm.$filter); | ||
if ((0, util_1.hasKeys)(filter)) { | ||
if (hasKeys(filter)) { | ||
cursor.filter(filter); | ||
} | ||
const project = this.dialect.project(entity, qm.$project); | ||
if ((0, util_1.hasKeys)(project)) { | ||
if (hasKeys(project)) { | ||
cursor.project(project); | ||
} | ||
const sort = this.dialect.sort(entity, qm.$sort); | ||
if ((0, util_1.hasKeys)(sort)) { | ||
if (hasKeys(sort)) { | ||
cursor.sort(sort); | ||
@@ -73,6 +70,6 @@ } | ||
} | ||
payload = (0, util_1.clone)(payload); | ||
const meta = (0, decorator_1.getMeta)(entity); | ||
payload = clone(payload); | ||
const meta = getMeta(entity); | ||
const payloads = Array.isArray(payload) ? payload : [payload]; | ||
const persistables = (0, util_1.getPersistables)(meta, payload, 'onInsert'); | ||
const persistables = getPersistables(meta, payload, 'onInsert'); | ||
this.logger?.('insertMany', entity.name, persistables); | ||
@@ -88,5 +85,5 @@ const { insertedIds } = await this.collection(entity).insertMany(persistables, { session: this.session }); | ||
async updateMany(entity, qm, payload) { | ||
payload = (0, util_1.clone)(payload); | ||
const meta = (0, decorator_1.getMeta)(entity); | ||
const persistable = (0, util_1.getPersistable)(meta, payload, 'onUpdate'); | ||
payload = clone(payload); | ||
const meta = getMeta(entity); | ||
const persistable = getPersistable(meta, payload, 'onUpdate'); | ||
const filter = this.dialect.filter(entity, qm.$filter); | ||
@@ -102,3 +99,3 @@ const update = { $set: persistable }; | ||
async deleteMany(entity, qm, opts = {}) { | ||
const meta = (0, decorator_1.getMeta)(entity); | ||
const meta = getMeta(entity); | ||
const filter = this.dialect.filter(entity, qm.$filter); | ||
@@ -118,3 +115,3 @@ this.logger?.('deleteMany', entity.name, filter, opts); | ||
if (meta.softDelete && !opts.softDelete) { | ||
const updateResult = await this.collection(entity).updateMany({ _id: { $in: ids } }, { $set: { [meta.softDelete]: (0, util_1.getFieldCallbackValue)(meta.fields[meta.softDelete].onDelete) } }, { | ||
const updateResult = await this.collection(entity).updateMany({ _id: { $in: ids } }, { $set: { [meta.softDelete]: getFieldCallbackValue(meta.fields[meta.softDelete].onDelete) } }, { | ||
session: this.session, | ||
@@ -137,3 +134,3 @@ }); | ||
collection(entity) { | ||
const name = typeof entity === 'string' ? entity : (0, decorator_1.getMeta)(entity).name; | ||
const name = typeof entity === 'string' ? entity : getMeta(entity).name; | ||
return this.db.collection(name); | ||
@@ -176,3 +173,2 @@ } | ||
} | ||
exports.MongodbQuerier = MongodbQuerier; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9uZ29kYlF1ZXJpZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbW9uZ29kYlF1ZXJpZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsK0NBQW9EO0FBQ3BELDBEQUFxRDtBQUNyRCx5Q0FBK0g7QUFJL0gsTUFBYSxjQUFlLFNBQVEseUJBQWU7SUFHNUI7SUFBZ0M7SUFBNEI7SUFGekUsT0FBTyxDQUFnQjtJQUUvQixZQUFxQixPQUFxQixFQUFXLElBQWlCLEVBQVcsTUFBc0I7UUFDckcsS0FBSyxFQUFFLENBQUM7UUFEVyxZQUFPLEdBQVAsT0FBTyxDQUFjO1FBQVcsU0FBSSxHQUFKLElBQUksQ0FBYTtRQUFXLFdBQU0sR0FBTixNQUFNLENBQWdCO0lBRXZHLENBQUM7SUFFUSxLQUFLLENBQUksTUFBZSxFQUFFLEtBQXFCLEVBQUU7UUFDeEQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN2RCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDNUMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUU7WUFDcEQsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1NBQ3RCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFUSxXQUFXLENBQUksTUFBZSxFQUFFLEVBQWMsRUFBRSxFQUFrQjtRQUN6RSxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVRLEtBQUssQ0FBQyxRQUFRLENBQUksTUFBZSxFQUFFLEVBQVk7UUFDdEQsTUFBTSxJQUFJLEdBQUcsSUFBQSxt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QUNELElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ25DLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFUSxLQUFLLENBQUMsbUJBQW1CO1FBQ2hDLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUU7WUFDNUIsTUFBTSxTQUFTLENBQUMsMkJBQTJCLENBQUMsQ0FBQztTQUM5QztRQUNELElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ3JDLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFUSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQWU7UUFDcEMsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUU7WUFDM0IsTUFBTSxTQUFTLENBQUMscUJBQXFCLENBQUMsQ0FBQztTQUN4QztRQUNELE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVRLEtBQUssQ0FBQyxHQUFHO1FBQ2hCLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMzQixDQUFDO0NBQ0Y7QUFqTUQsd0NBaU1DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9uZ29DbGllbnQsIENsaWVudFNlc3Npb24gfSBmcm9tICdtb25nb2RiJztcbmltcG9ydCB7IFF1ZXJ5LCBUeXBlLCBRdWVyeUNyaXRlcmlhLCBRdWVyeU9wdGlvbnMsIFF1ZXJ5U2VhcmNoLCBJZFZhbHVlLCBRdWVyaWVyTG9nZ2VyLCBRdWVyeVVuaXF1ZSB9IGZyb20gJ0B1cWwvY29yZS90eXBlJztcbmltcG9ydCB7IEFic3RyYWN0UXVlcmllciB9IGZyb20gJ0B1cWwvY29yZS9xdWVyaWVyJztcbmltcG9ydCB7IGdldE1ldGEgfSBmcm9tICdAdXFsL2NvcmUvZW50aXR5L2RlY29yYXRvcic7XG5pbXBvcnQgeyBjbG9uZSwgZ2V0UGVyc2lzdGFibGUsIGdldFBlcnNpc3RhYmxlcywgZ2V0RmllbGRDYWxsYmFja1ZhbHVlLCBoYXNLZXlzLCBpc1Byb2plY3RpbmdSZWxhdGlvbnMgfSBmcm9tICdAdXFsL2NvcmUvdXRpbCc7XG5cbmltcG9ydCB7IE1vbmdvRGlhbGVjdCB9IGZyb20gJy4vbW9uZ29EaWFsZWN0LmpzJztcblxuZXhwb3J0IGNsYXNzIE1vbmdvZGJRdWVyaWVyIGV4dGVuZHMgQWJzdHJhY3RRdWVyaWVyIHtcbiAgcHJpdmF0ZSBzZXNzaW9uOiBDbGllbnRTZXNzaW9uO1xuXG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IGRpYWxlY3Q6IE1vbmdvRGlhbGVjdCwgcmVhZG9ubHkgY29ubjogTW9uZ29DbGllbnQsIHJlYWRvbmx5IGxvZ2dlcj86IFF1ZXJpZXJMb2dnZXIpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgb3ZlcnJpZGUgY291bnQ8RT4oZW50aXR5OiBUeXBlPEU+LCBxbTogUXVlcnlTZWFyY2g8RT4gPSB7fSkge1xuICAgIGNvbnN0IGZpbHRlciA9IHRoaXMuZGlhbGVjdC5maWx0ZXIoZW50aXR5LCBxbS4kZmlsdGVyKTtcbiAgICB0aGlzLmxvZ2dlcj8uKCdjb3VudCcsIGVudGl0eS5uYW1lLCBmaWx0ZXIpO1xuICAgIHJldHVybiB0aGlzLmNvbGxlY3Rpb24oZW50aXR5KS5jb3VudERvY3VtZW50cyhmaWx0ZXIsIHtcbiAgICAgIHNlc3Npb246IHRoaXMuc2Vzc2lvbixcbiAgICB9KTtcbiAgfVxuXG4gIG92ZXJyaWRlIGZpbmRPbmVCeUlkPEU+KGVudGl0eTogVHlwZTxFPiwgaWQ6IElkVmFsdWU8RT4sIHFtOiBRdWVyeVVuaXF1ZTxFPikge1xuICAgIHJldHVybiB0aGlzLmZpbmRPbmUoZW50aXR5LCB7IC4uLnFtLCAkZmlsdGVyOiBpZCB9KTtcbiAgfVxuXG4gIG92ZXJyaWRlIGFzeW5jIGZpbmRNYW55PEU+KGVudGl0eTogVHlwZTxFPiwgcW06IFF1ZXJ5PEU+KSB7XG4gICAgY29uc3QgbWV0YSA9IGdldE1ldGEoZW50aXR5KTtcblxuICAgIGxldCBkb2N1bWVudHM6IEVbXTtcbiAgICBjb25zdCBoYXNQcm9qZWN0UmVsYXRpb25zID0gaXNQcm9qZWN0aW5nUmVsYXRpb25zKG1ldGEsIHFtLiRwcm9qZWN0KTtcblxuICAgIGlmIChoYXNQcm9qZWN0UmVsYXRpb25zKSB7XG4gICAgICBjb25zdCBwaXBlbGluZSA9IHRoaXMuZGlhbGVjdC5hZ2dyZWdhdGlvblBpcGVsaW5lKGVudGl0eSwgcW0pO1xuICAgICAgaWYgKHRoaXMubG9nZ2VyKSB7XG4gICAgICAgIHRoaXMubG9nZ2VyKCdmaW5kTWFueScsIGVudGl0eS5uYW1lLCBKU09OLnN0cmluZ2lmeShwaXBlbGluZSwgbnVsbCwgMikpO1xuICAgICAgfVxuICAgICAgZG9jdW1lbnRzID0gYXdhaXQgdGhpcy5jb2xsZWN0aW9uKGVudGl0eSkuYWdncmVnYXRlPEU+KHBpcGVsaW5lLCB7IHNlc3Npb246IHRoaXMuc2Vzc2lvbiB9KS50b0FycmF5KCk7XG4gICAgICBkb2N1bWVudHMgPSB0aGlzLmRpYWxlY3Qubm9ybWFsaXplSWRzKG1ldGEsIGRvY3VtZW50cyk7XG4gICAgICBhd2FpdCB0aGlzLmZpbmRUb01hbnlSZWxhdGlvbnMoZW50aXR5LCBkb2N1bWVudHMsIHFtLiRwcm9qZWN0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgY3Vyc29yID0gdGhpcy5jb2xsZWN0aW9uKGVudGl0eSkuZmluZDxFPih7fSwgeyBzZXNzaW9uOiB0aGlzLnNlc3Npb24gfSk7XG5cbiAgICAgIGNvbnN0IGZpbHRlciA9IHRoaXMuZGlhbGVjdC5maWx0ZXIoZW50aXR5LCBxbS4kZmlsdGVyKTtcbiAgICAgIGlmIChoYXNLZXlzKGZpbHRlcikpIHtcbiAgICAgICAgY3Vyc29yLmZpbHRlcihmaWx0ZXIpO1xuICAgICAgfVxuICAgICAgY29uc3QgcHJvamVjdCA9IHRoaXMuZGlhbGVjdC5wcm9qZWN0KGVudGl0eSwgcW0uJHByb2plY3QpO1xuICAgICAgaWYgKGhhc0tleXMocHJvamVjdCkpIHtcbiAgICAgICAgY3Vyc29yLnByb2plY3QocHJvamVjdCk7XG4gICAgICB9XG4gICAgICBjb25zdCBzb3J0ID0gdGhpcy5kaWFsZWN0LnNvcnQoZW50aXR5LCBxbS4kc29ydCk7XG4gICAgICBpZiAoaGFzS2V5cyhzb3J0KSkge1xuICAgICAgICBjdXJzb3Iuc29ydChzb3J0KTtcbiAgICAgIH1cbiAgICAgIGlmIChxbS4kc2tpcCkge1xuICAgICAgICBjdXJzb3Iuc2tpcChxbS4kc2tpcCk7XG4gICAgICB9XG4gICAgICBpZiAocW0uJGxpbWl0KSB7XG4gICAgICAgIGN1cnNvci5saW1pdChxbS4kbGltaXQpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmxvZ2dlcj8uKCdmaW5kTWFueScsIGVudGl0eS5uYW1lLCBxbSk7XG5cbiAgICAgIGRvY3VtZW50cyA9IGF3YWl0IGN1cnNvci50b0FycmF5KCk7XG4gICAgICBkb2N1bWVudHMgPSB0aGlzLmRpYWxlY3Qubm9ybWFsaXplSWRzKG1ldGEsIGRvY3VtZW50cyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGRvY3VtZW50cztcbiAgfVxuXG4gIG92ZXJyaWRlIGFzeW5jIGluc2VydE1hbnk8RT4oZW50aXR5OiBUeXBlPEU+LCBwYXlsb2FkOiBFW10pIHtcbiAgICBpZiAoIXBheWxvYWQubGVuZ3RoKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgcGF5bG9hZCA9IGNsb25lKHBheWxvYWQpO1xuXG4gICAgY29uc3QgbWV0YSA9IGdldE1ldGEoZW50aXR5KTtcbiAgICBjb25zdCBwYXlsb2FkcyA9IEFycmF5LmlzQXJyYXkocGF5bG9hZCkgPyBwYXlsb2FkIDogW3BheWxvYWRdO1xuICAgIGNvbnN0IHBlcnNpc3RhYmxlcyA9IGdldFBlcnNpc3RhYmxlcyhtZXRhLCBwYXlsb2FkLCAnb25JbnNlcnQnKTtcblxuICAgIHRoaXMubG9nZ2VyPy4oJ2luc2VydE1hbnknLCBlbnRpdHkubmFtZSwgcGVyc2lzdGFibGVzKTtcblxuICAgIGNvbnN0IHsgaW5zZXJ0ZWRJZHMgfSA9IGF3YWl0IHRoaXMuY29sbGVjdGlvbihlbnRpdHkpLmluc2VydE1hbnkocGVyc2lzdGFibGVzLCB7IHNlc3Npb246IHRoaXMuc2Vzc2lvbiB9KTtcblxuICAgIGNvbnN0IGlkcyA9IE9iamVjdC52YWx1ZXMoaW5zZXJ0ZWRJZHMpIGFzIElkVmFsdWU8RT5bXTtcblxuICAgIGZvciAoY29uc3QgW2luZGV4LCBpdF0gb2YgcGF5bG9hZHMuZW50cmllcygpKSB7XG4gICAgICBpdFttZXRhLmlkXSA9IGlkc1tpbmRleF07XG4gICAgfVxuXG4gICAgYXdhaXQgdGhpcy5pbnNlcnRSZWxhdGlvbnMoZW50aXR5LCBwYXlsb2Fkcyk7XG5cbiAgICByZXR1cm4gaWRzO1xuICB9XG5cbiAgb3ZlcnJpZGUgYXN5bmMgdXBkYXRlTWFueTxFPihlbnRpdHk6IFR5cGU8RT4sIHFtOiBRdWVyeUNyaXRlcmlhPEU+LCBwYXlsb2FkOiBFKSB7XG4gICAgcGF5bG9hZCA9IGNsb25lKHBheWxvYWQpO1xuICAgIGNvbnN0IG1ldGEgPSBnZXRNZXRhKGVudGl0eSk7XG4gICAgY29uc3QgcGVyc2lzdGFibGUgPSBnZXRQZXJzaXN0YWJsZShtZXRhLCBwYXlsb2FkLCAnb25VcGRhdGUnKTtcbiAgICBjb25zdCBmaWx0ZXIgPSB0aGlzLmRpYWxlY3QuZmlsdGVyKGVudGl0eSwgcW0uJGZpbHRlcik7XG4gICAgY29uc3QgdXBkYXRlID0geyAkc2V0OiBwZXJzaXN0YWJsZSB9O1xuXG4gICAgdGhpcy5sb2dnZXI/LigndXBkYXRlTWFueScsIGVudGl0eS5uYW1lLCBmaWx0ZXIsIHVwZGF0ZSk7XG5cbiAgICBjb25zdCB7IG1hdGNoZWRDb3VudCB9ID0gYXdhaXQgdGhpcy5jb2xsZWN0aW9uKGVudGl0eSkudXBkYXRlTWFueShmaWx0ZXIsIHVwZGF0ZSwge1xuICAgICAgc2Vzc2lvbjogdGhpcy5zZXNzaW9uLFxuICAgIH0pO1xuXG4gICAgYXdhaXQgdGhpcy51cGRhdGVSZWxhdGlvbnMoZW50aXR5LCBxbSwgcGF5bG9hZCk7XG5cbiAgICByZXR1cm4gbWF0Y2hlZENvdW50O1xuICB9XG5cbiAgb3ZlcnJpZGUgYXN5bmMgZGVsZXRlTWFueTxFPihlbnRpdHk6IFR5cGU8RT4sIHFtOiBRdWVyeUNyaXRlcmlhPEU+LCBvcHRzOiBRdWVyeU9wdGlvbnMgPSB7fSkge1xuICAgIGNvbnN0IG1ldGEgPSBnZXRNZXRhKGVudGl0eSk7XG4gICAgY29uc3QgZmlsdGVyID0gdGhpcy5kaWFsZWN0LmZpbHRlcihlbnRpdHksIHFtLiRmaWx0ZXIpO1xuICAgIHRoaXMubG9nZ2VyPy4oJ2RlbGV0ZU1hbnknLCBlbnRpdHkubmFtZSwgZmlsdGVyLCBvcHRzKTtcbiAgICBjb25zdCBmb3VuZHM6IEVbXSA9IGF3YWl0IHRoaXMuY29sbGVjdGlvbihlbnRpdHkpXG4gICAgICAuZmluZChmaWx0ZXIsIHtcbiAgICAgICAgcHJvamVjdGlvbjogeyBfaWQ6IHRydWUgfSxcbiAgICAgICAgc2Vzc2lvbjogdGhpcy5zZXNzaW9uLFxuICAgICAgfSlcbiAgICAgIC50b0FycmF5KCk7XG4gICAgaWYgKCFmb3VuZHMubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgY29uc3QgaWRzID0gdGhpcy5kaWFsZWN0Lm5vcm1hbGl6ZUlkcyhtZXRhLCBmb3VuZHMpLm1hcCgoZm91bmQpID0+IGZvdW5kW21ldGEuaWRdKTtcbiAgICBsZXQgY2hhbmdlczogbnVtYmVyO1xuICAgIGlmIChtZXRhLnNvZnREZWxldGUgJiYgIW9wdHMuc29mdERlbGV0ZSkge1xuICAgICAgY29uc3QgdXBkYXRlUmVzdWx0ID0gYXdhaXQgdGhpcy5jb2xsZWN0aW9uKGVudGl0eSkudXBkYXRlTWFueShcbiAgICAgICAgeyBfaWQ6IHsgJGluOiBpZHMgfSB9LFxuICAgICAgICB7ICRzZXQ6IHsgW21ldGEuc29mdERlbGV0ZV06IGdldEZpZWxkQ2FsbGJhY2tWYWx1ZShtZXRhLmZpZWxkc1ttZXRhLnNvZnREZWxldGVdLm9uRGVsZXRlKSB9IH0sXG4gICAgICAgIHtcbiAgICAgICAgICBzZXNzaW9uOiB0aGlzLnNlc3Npb24sXG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgICBjaGFuZ2VzID0gdXBkYXRlUmVzdWx0Lm1hdGNoZWRDb3VudDtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgZGVsZXRlUmVzdWx0ID0gYXdhaXQgdGhpcy5jb2xsZWN0aW9uKGVudGl0eSkuZGVsZXRlTWFueShcbiAgICAgICAgeyBfaWQ6IHsgJGluOiBpZHMgfSB9LFxuICAgICAgICB7XG4gICAgICAgICAgc2Vzc2lvbjogdGhpcy5zZXNzaW9uLFxuICAgICAgICB9XG4gICAgICApO1xuICAgICAgY2hhbmdlcyA9IGRlbGV0ZVJlc3VsdC5kZWxldGVkQ291bnQ7XG4gICAgfVxuICAgIGF3YWl0IHRoaXMuZGVsZXRlUmVsYXRpb25zKGVudGl0eSwgaWRzLCBvcHRzKTtcbiAgICByZXR1cm4gY2hhbmdlcztcbiAgfVxuXG4gIG92ZXJyaWRlIGdldCBoYXNPcGVuVHJhbnNhY3Rpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuc2Vzc2lvbj8uaW5UcmFuc2FjdGlvbigpO1xuICB9XG5cbiAgY29sbGVjdGlvbjxFPihlbnRpdHk6IFR5cGU8RT4gfCBzdHJpbmcpIHtcbiAgICBjb25zdCBuYW1lID0gdHlwZW9mIGVudGl0eSA9PT0gJ3N0cmluZycgPyBlbnRpdHkgOiBnZXRNZXRhKGVudGl0eSkubmFtZTtcbiAgICByZXR1cm4gdGhpcy5kYi5jb2xsZWN0aW9uKG5hbWUpO1xuICB9XG5cbiAgZ2V0IGRiKCkge1xuICAgIHJldHVybiB0aGlzLmNvbm4uZGIoKTtcbiAgfVxuXG4gIG92ZXJyaWRlIGFzeW5jIGJlZ2luVHJhbnNhY3Rpb24oKSB7XG4gICAgaWYgKHRoaXMuaGFzT3BlblRyYW5zYWN0aW9uKSB7XG4gICAgICB0aHJvdyBUeXBlRXJyb3IoJ3BlbmRpbmcgdHJhbnNhY3Rpb24nKTtcbiAgICB9XG4gICAgdGhpcy5sb2dnZXI/LignYmVnaW5UcmFuc2FjdGlvbicpO1xuICAgIHRoaXMuc2Vzc2lvbiA9IHRoaXMuY29ubi5zdGFydFNlc3Npb24oKTtcbiAgICB0aGlzLnNlc3Npb24uc3RhcnRUcmFuc2FjdGlvbigpO1xuICB9XG5cbiAgb3ZlcnJpZGUgYXN5bmMgY29tbWl0VHJhbnNhY3Rpb24oKSB7XG4gICAgaWYgKCF0aGlzLmhhc09wZW5UcmFuc2FjdGlvbikge1xuICAgICAgdGhyb3cgVHlwZUVycm9yKCdub3QgYSBwZW5kaW5nIHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuICAgIHRoaXMubG9nZ2VyPy4oJ2NvbW1pdFRyYW5zYWN0aW9uJyk7XG4gICAgYXdhaXQgdGhpcy5zZXNzaW9uLmNvbW1pdFRyYW5zYWN0aW9uKCk7XG4gIH1cblxuICBvdmVycmlkZSBhc3luYyByb2xsYmFja1RyYW5zYWN0aW9uKCkge1xuICAgIGlmICghdGhpcy5oYXNPcGVuVHJhbnNhY3Rpb24pIHtcbiAgICAgIHRocm93IFR5cGVFcnJvcignbm90IGEgcGVuZGluZyB0cmFuc2FjdGlvbicpO1xuICAgIH1cbiAgICB0aGlzLmxvZ2dlcj8uKCdyb2xsYmFja1RyYW5zYWN0aW9uJyk7XG4gICAgYXdhaXQgdGhpcy5zZXNzaW9uLmFib3J0VHJhbnNhY3Rpb24oKTtcbiAgfVxuXG4gIG92ZXJyaWRlIGFzeW5jIHJlbGVhc2UoZm9yY2U/OiBib29sZWFuKSB7XG4gICAgaWYgKHRoaXMuaGFzT3BlblRyYW5zYWN0aW9uKSB7XG4gICAgICB0aHJvdyBUeXBlRXJyb3IoJ3BlbmRpbmcgdHJhbnNhY3Rpb24nKTtcbiAgICB9XG4gICAgYXdhaXQgdGhpcy5jb25uLmNsb3NlKGZvcmNlKTtcbiAgfVxuXG4gIG92ZXJyaWRlIGFzeW5jIGVuZCgpIHtcbiAgICBhd2FpdCB0aGlzLnJlbGVhc2UodHJ1ZSk7XG4gIH1cbn1cbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9uZ29kYlF1ZXJpZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbW9uZ29kYlF1ZXJpZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsS0FBSyxFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUUscUJBQXFCLEVBQUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJL0gsTUFBTSxPQUFPLGNBQWUsU0FBUSxlQUFlO0lBRzVCO0lBQWdDO0lBQTRCO0lBRnpFLE9BQU8sQ0FBZ0I7SUFFL0IsWUFBcUIsT0FBcUIsRUFBVyxJQUFpQixFQUFXLE1BQXNCO1FBQ3JHLEtBQUssRUFBRSxDQUFDO1FBRFcsWUFBTyxHQUFQLE9BQU8sQ0FBYztRQUFXLFNBQUksR0FBSixJQUFJLENBQWE7UUFBVyxXQUFNLEdBQU4sTUFBTSxDQUFnQjtJQUV2RyxDQUFDO0lBRVEsS0FBSyxDQUFJLE1BQWUsRUFBRSxLQUFxQixFQUFFO1FBQ3hELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdkQsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzVDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFO1lBQ3BELE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztTQUN0QixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRVEsV0FBVyxDQUFJLE1BQWUsRUFBRSxFQUFjLEVBQUUsRUFBa0I7UUFDekUsT0FBTyxJQUFJLENBQUMsT0FB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LElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUM1QixNQUFNLFNBQVMsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO1NBQzlDO1FBQ0QsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDbkMsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVRLEtBQUssQ0FBQyxtQkFBbUI7UUFDaEMsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUM1QixNQUFNLFNBQVMsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO1NBQzlDO1FBQ0QsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDckMsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVRLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBZTtRQUNwQyxJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUMzQixNQUFNLFNBQVMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1NBQ3hDO1FBQ0QsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRVEsS0FBSyxDQUFDLEdBQUc7UUFDaEIsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vbmdvQ2xpZW50LCBDbGllbnRTZXNzaW9uIH0gZnJvbSAnbW9uZ29kYic7XG5pbXBvcnQgeyBRdWVyeSwgVHlwZSwgUXVlcnlDcml0ZXJpYSwgUXVlcnlPcHRpb25zLCBRdWVyeVNlYXJjaCwgSWRWYWx1ZSwgUXVlcmllckxvZ2dlciwgUXVlcnlVbmlxdWUgfSBmcm9tICdAdXFsL2NvcmUvdHlwZSc7XG5pbXBvcnQgeyBBYnN0cmFjdFF1ZXJpZXIgfSBmcm9tICdAdXFsL2NvcmUvcXVlcmllcic7XG5pbXBvcnQgeyBnZXRNZXRhIH0gZnJvbSAnQHVxbC9jb3JlL2VudGl0eS9kZWNvcmF0b3InO1xuaW1wb3J0IHsgY2xvbmUsIGdldFBlcnNpc3RhYmxlLCBnZXRQZXJzaXN0YWJsZXMsIGdldEZpZWxkQ2FsbGJhY2tWYWx1ZSwgaGFzS2V5cywgaXNQcm9qZWN0aW5nUmVsYXRpb25zIH0gZnJvbSAnQHVxbC9jb3JlL3V0aWwnO1xuXG5pbXBvcnQgeyBNb25nb0RpYWxlY3QgfSBmcm9tICcuL21vbmdvRGlhbGVjdC5qcyc7XG5cbmV4cG9ydCBjbGFzcyBNb25nb2RiUXVlcmllciBleHRlbmRzIEFic3RyYWN0UXVlcmllciB7XG4gIHByaXZhdGUgc2Vzc2lvbjogQ2xpZW50U2Vzc2lvbjtcblxuICBjb25zdHJ1Y3RvcihyZWFkb25seSBkaWFsZWN0OiBNb25nb0RpYWxlY3QsIHJlYWRvbmx5IGNvbm46IE1vbmdvQ2xpZW50LCByZWFkb25seSBsb2dnZXI/OiBRdWVyaWVyTG9nZ2VyKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIG92ZXJyaWRlIGNvdW50PEU+KGVudGl0eTogVHlwZTxFPiwgcW06IFF1ZXJ5U2VhcmNoPEU+ID0ge30pIHtcbiAgICBjb25zdCBmaWx0ZXIgPSB0aGlzLmRpYWxlY3QuZmlsdGVyKGVudGl0eSwgcW0uJGZpbHRlcik7XG4gICAgdGhpcy5sb2dnZXI/LignY291bnQnLCBlbnRpdHkubmFtZSwgZmlsdGVyKTtcbiAgICByZXR1cm4gdGhpcy5jb2xsZWN0aW9uKGVudGl0eSkuY291bnREb2N1bWVudHMoZmlsdGVyLCB7XG4gICAgICBzZXNzaW9uOiB0aGlzLnNlc3Npb24sXG4gICAgfSk7XG4gIH1cblxuICBvdmVycmlkZSBmaW5kT25lQnlJZDxFPihlbnRpdHk6IFR5cGU8RT4sIGlkOiBJZFZhbHVlPEU+LCBxbTogUXVlcnlVbmlxdWU8RT4pIHtcbiAgICByZXR1cm4gdGhpcy5maW5kT25lKGVudGl0eSwgeyAuLi5xbSwgJGZpbHRlcjogaWQgfSk7XG4gIH1cblxuICBvdmVycmlkZSBhc3luYyBmaW5kTWFueTxFPihlbnRpdHk6IFR5cGU8RT4sIHFtOiBRdWVyeTxFPikge1xuICAgIGNvbnN0IG1ldGEgPSBnZXRNZXRhKGVudGl0eSk7XG5cbiAgICBsZXQgZG9jdW1lbnRzOiBFW107XG4gICAgY29uc3QgaGFzUHJvamVjdFJlbGF0aW9ucyA9IGlzUHJvamVjdGluZ1JlbGF0aW9ucyhtZXRhLCBxbS4kcHJvamVjdCk7XG5cbiAgICBpZiAoaGFzUHJvamVjdFJlbGF0aW9ucykge1xuICAgICAgY29uc3QgcGlwZWxpbmUgPSB0aGlzLmRpYWxlY3QuYWdncmVnYXRpb25QaXBlbGluZShlbnRpdHksIHFtKTtcbiAgICAgIGlmICh0aGlzLmxvZ2dlcikge1xuICAgICAgICB0aGlzLmxvZ2dlcignZmluZE1hbnknLCBlbnRpdHkubmFtZSwgSlNPTi5zdHJpbmdpZnkocGlwZWxpbmUsIG51bGwsIDIpKTtcbiAgICAgIH1cbiAgICAgIGRvY3VtZW50cyA9IGF3YWl0IHRoaXMuY29sbGVjdGlvbihlbnRpdHkpLmFnZ3JlZ2F0ZTxFPihwaXBlbGluZSwgeyBzZXNzaW9uOiB0aGlzLnNlc3Npb24gfSkudG9BcnJheSgpO1xuICAgICAgZG9jdW1lbnRzID0gdGhpcy5kaWFsZWN0Lm5vcm1hbGl6ZUlkcyhtZXRhLCBkb2N1bWVudHMpO1xuICAgICAgYXdhaXQgdGhpcy5maW5kVG9NYW55UmVsYXRpb25zKGVudGl0eSwgZG9jdW1lbnRzLCBxbS4kcHJvamVjdCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGN1cnNvciA9IHRoaXMuY29sbGVjdGlvbihlbnRpdHkpLmZpbmQ8RT4oe30sIHsgc2Vzc2lvbjogdGhpcy5zZXNzaW9uIH0pO1xuXG4gICAgICBjb25zdCBmaWx0ZXIgPSB0aGlzLmRpYWxlY3QuZmlsdGVyKGVudGl0eSwgcW0uJGZpbHRlcik7XG4gICAgICBpZiAoaGFzS2V5cyhmaWx0ZXIpKSB7XG4gICAgICAgIGN1cnNvci5maWx0ZXIoZmlsdGVyKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHByb2plY3QgPSB0aGlzLmRpYWxlY3QucHJvamVjdChlbnRpdHksIHFtLiRwcm9qZWN0KTtcbiAgICAgIGlmIChoYXNLZXlzKHByb2plY3QpKSB7XG4gICAgICAgIGN1cnNvci5wcm9qZWN0KHByb2plY3QpO1xuICAgICAgfVxuICAgICAgY29uc3Qgc29ydCA9IHRoaXMuZGlhbGVjdC5zb3J0KGVudGl0eSwgcW0uJHNvcnQpO1xuICAgICAgaWYgKGhhc0tleXMoc29ydCkpIHtcbiAgICAgICAgY3Vyc29yLnNvcnQoc29ydCk7XG4gICAgICB9XG4gICAgICBpZiAocW0uJHNraXApIHtcbiAgICAgICAgY3Vyc29yLnNraXAocW0uJHNraXApO1xuICAgICAgfVxuICAgICAgaWYgKHFtLiRsaW1pdCkge1xuICAgICAgICBjdXJzb3IubGltaXQocW0uJGxpbWl0KTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5sb2dnZXI/LignZmluZE1hbnknLCBlbnRpdHkubmFtZSwgcW0pO1xuXG4gICAgICBkb2N1bWVudHMgPSBhd2FpdCBjdXJzb3IudG9BcnJheSgpO1xuICAgICAgZG9jdW1lbnRzID0gdGhpcy5kaWFsZWN0Lm5vcm1hbGl6ZUlkcyhtZXRhLCBkb2N1bWVudHMpO1xuICAgIH1cblxuICAgIHJldHVybiBkb2N1bWVudHM7XG4gIH1cblxuICBvdmVycmlkZSBhc3luYyBpbnNlcnRNYW55PEU+KGVudGl0eTogVHlwZTxFPiwgcGF5bG9hZDogRVtdKSB7XG4gICAgaWYgKCFwYXlsb2FkLmxlbmd0aCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHBheWxvYWQgPSBjbG9uZShwYXlsb2FkKTtcblxuICAgIGNvbnN0IG1ldGEgPSBnZXRNZXRhKGVudGl0eSk7XG4gICAgY29uc3QgcGF5bG9hZHMgPSBBcnJheS5pc0FycmF5KHBheWxvYWQpID8gcGF5bG9hZCA6IFtwYXlsb2FkXTtcbiAgICBjb25zdCBwZXJzaXN0YWJsZXMgPSBnZXRQZXJzaXN0YWJsZXMobWV0YSwgcGF5bG9hZCwgJ29uSW5zZXJ0Jyk7XG5cbiAgICB0aGlzLmxvZ2dlcj8uKCdpbnNlcnRNYW55JywgZW50aXR5Lm5hbWUsIHBlcnNpc3RhYmxlcyk7XG5cbiAgICBjb25zdCB7IGluc2VydGVkSWRzIH0gPSBhd2FpdCB0aGlzLmNvbGxlY3Rpb24oZW50aXR5KS5pbnNlcnRNYW55KHBlcnNpc3RhYmxlcywgeyBzZXNzaW9uOiB0aGlzLnNlc3Npb24gfSk7XG5cbiAgICBjb25zdCBpZHMgPSBPYmplY3QudmFsdWVzKGluc2VydGVkSWRzKSBhcyBJZFZhbHVlPEU+W107XG5cbiAgICBmb3IgKGNvbnN0IFtpbmRleCwgaXRdIG9mIHBheWxvYWRzLmVudHJpZXMoKSkge1xuICAgICAgaXRbbWV0YS5pZF0gPSBpZHNbaW5kZXhdO1xuICAgIH1cblxuICAgIGF3YWl0IHRoaXMuaW5zZXJ0UmVsYXRpb25zKGVudGl0eSwgcGF5bG9hZHMpO1xuXG4gICAgcmV0dXJuIGlkcztcbiAgfVxuXG4gIG92ZXJyaWRlIGFzeW5jIHVwZGF0ZU1hbnk8RT4oZW50aXR5OiBUeXBlPEU+LCBxbTogUXVlcnlDcml0ZXJpYTxFPiwgcGF5bG9hZDogRSkge1xuICAgIHBheWxvYWQgPSBjbG9uZShwYXlsb2FkKTtcbiAgICBjb25zdCBtZXRhID0gZ2V0TWV0YShlbnRpdHkpO1xuICAgIGNvbnN0IHBlcnNpc3RhYmxlID0gZ2V0UGVyc2lzdGFibGUobWV0YSwgcGF5bG9hZCwgJ29uVXBkYXRlJyk7XG4gICAgY29uc3QgZmlsdGVyID0gdGhpcy5kaWFsZWN0LmZpbHRlcihlbnRpdHksIHFtLiRmaWx0ZXIpO1xuICAgIGNvbnN0IHVwZGF0ZSA9IHsgJHNldDogcGVyc2lzdGFibGUgfTtcblxuICAgIHRoaXMubG9nZ2VyPy4oJ3VwZGF0ZU1hbnknLCBlbnRpdHkubmFtZSwgZmlsdGVyLCB1cGRhdGUpO1xuXG4gICAgY29uc3QgeyBtYXRjaGVkQ291bnQgfSA9IGF3YWl0IHRoaXMuY29sbGVjdGlvbihlbnRpdHkpLnVwZGF0ZU1hbnkoZmlsdGVyLCB1cGRhdGUsIHtcbiAgICAgIHNlc3Npb246IHRoaXMuc2Vzc2lvbixcbiAgICB9KTtcblxuICAgIGF3YWl0IHRoaXMudXBkYXRlUmVsYXRpb25zKGVudGl0eSwgcW0sIHBheWxvYWQpO1xuXG4gICAgcmV0dXJuIG1hdGNoZWRDb3VudDtcbiAgfVxuXG4gIG92ZXJyaWRlIGFzeW5jIGRlbGV0ZU1hbnk8RT4oZW50aXR5OiBUeXBlPEU+LCBxbTogUXVlcnlDcml0ZXJpYTxFPiwgb3B0czogUXVlcnlPcHRpb25zID0ge30pIHtcbiAgICBjb25zdCBtZXRhID0gZ2V0TWV0YShlbnRpdHkpO1xuICAgIGNvbnN0IGZpbHRlciA9IHRoaXMuZGlhbGVjdC5maWx0ZXIoZW50aXR5LCBxbS4kZmlsdGVyKTtcbiAgICB0aGlzLmxvZ2dlcj8uKCdkZWxldGVNYW55JywgZW50aXR5Lm5hbWUsIGZpbHRlciwgb3B0cyk7XG4gICAgY29uc3QgZm91bmRzOiBFW10gPSBhd2FpdCB0aGlzLmNvbGxlY3Rpb24oZW50aXR5KVxuICAgICAgLmZpbmQoZmlsdGVyLCB7XG4gICAgICAgIHByb2plY3Rpb246IHsgX2lkOiB0cnVlIH0sXG4gICAgICAgIHNlc3Npb246IHRoaXMuc2Vzc2lvbixcbiAgICAgIH0pXG4gICAgICAudG9BcnJheSgpO1xuICAgIGlmICghZm91bmRzLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgIGNvbnN0IGlkcyA9IHRoaXMuZGlhbGVjdC5ub3JtYWxpemVJZHMobWV0YSwgZm91bmRzKS5tYXAoKGZvdW5kKSA9PiBmb3VuZFttZXRhLmlkXSk7XG4gICAgbGV0IGNoYW5nZXM6IG51bWJlcjtcbiAgICBpZiAobWV0YS5zb2Z0RGVsZXRlICYmICFvcHRzLnNvZnREZWxldGUpIHtcbiAgICAgIGNvbnN0IHVwZGF0ZVJlc3VsdCA9IGF3YWl0IHRoaXMuY29sbGVjdGlvbihlbnRpdHkpLnVwZGF0ZU1hbnkoXG4gICAgICAgIHsgX2lkOiB7ICRpbjogaWRzIH0gfSxcbiAgICAgICAgeyAkc2V0OiB7IFttZXRhLnNvZnREZWxldGVdOiBnZXRGaWVsZENhbGxiYWNrVmFsdWUobWV0YS5maWVsZHNbbWV0YS5zb2Z0RGVsZXRlXS5vbkRlbGV0ZSkgfSB9LFxuICAgICAgICB7XG4gICAgICAgICAgc2Vzc2lvbjogdGhpcy5zZXNzaW9uLFxuICAgICAgICB9XG4gICAgICApO1xuICAgICAgY2hhbmdlcyA9IHVwZGF0ZVJlc3VsdC5tYXRjaGVkQ291bnQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGRlbGV0ZVJlc3VsdCA9IGF3YWl0IHRoaXMuY29sbGVjdGlvbihlbnRpdHkpLmRlbGV0ZU1hbnkoXG4gICAgICAgIHsgX2lkOiB7ICRpbjogaWRzIH0gfSxcbiAgICAgICAge1xuICAgICAgICAgIHNlc3Npb246IHRoaXMuc2Vzc2lvbixcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICAgIGNoYW5nZXMgPSBkZWxldGVSZXN1bHQuZGVsZXRlZENvdW50O1xuICAgIH1cbiAgICBhd2FpdCB0aGlzLmRlbGV0ZVJlbGF0aW9ucyhlbnRpdHksIGlkcywgb3B0cyk7XG4gICAgcmV0dXJuIGNoYW5nZXM7XG4gIH1cblxuICBvdmVycmlkZSBnZXQgaGFzT3BlblRyYW5zYWN0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLnNlc3Npb24/LmluVHJhbnNhY3Rpb24oKTtcbiAgfVxuXG4gIGNvbGxlY3Rpb248RT4oZW50aXR5OiBUeXBlPEU+IHwgc3RyaW5nKSB7XG4gICAgY29uc3QgbmFtZSA9IHR5cGVvZiBlbnRpdHkgPT09ICdzdHJpbmcnID8gZW50aXR5IDogZ2V0TWV0YShlbnRpdHkpLm5hbWU7XG4gICAgcmV0dXJuIHRoaXMuZGIuY29sbGVjdGlvbihuYW1lKTtcbiAgfVxuXG4gIGdldCBkYigpIHtcbiAgICByZXR1cm4gdGhpcy5jb25uLmRiKCk7XG4gIH1cblxuICBvdmVycmlkZSBhc3luYyBiZWdpblRyYW5zYWN0aW9uKCkge1xuICAgIGlmICh0aGlzLmhhc09wZW5UcmFuc2FjdGlvbikge1xuICAgICAgdGhyb3cgVHlwZUVycm9yKCdwZW5kaW5nIHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuICAgIHRoaXMubG9nZ2VyPy4oJ2JlZ2luVHJhbnNhY3Rpb24nKTtcbiAgICB0aGlzLnNlc3Npb24gPSB0aGlzLmNvbm4uc3RhcnRTZXNzaW9uKCk7XG4gICAgdGhpcy5zZXNzaW9uLnN0YXJ0VHJhbnNhY3Rpb24oKTtcbiAgfVxuXG4gIG92ZXJyaWRlIGFzeW5jIGNvbW1pdFRyYW5zYWN0aW9uKCkge1xuICAgIGlmICghdGhpcy5oYXNPcGVuVHJhbnNhY3Rpb24pIHtcbiAgICAgIHRocm93IFR5cGVFcnJvcignbm90IGEgcGVuZGluZyB0cmFuc2FjdGlvbicpO1xuICAgIH1cbiAgICB0aGlzLmxvZ2dlcj8uKCdjb21taXRUcmFuc2FjdGlvbicpO1xuICAgIGF3YWl0IHRoaXMuc2Vzc2lvbi5jb21taXRUcmFuc2FjdGlvbigpO1xuICB9XG5cbiAgb3ZlcnJpZGUgYXN5bmMgcm9sbGJhY2tUcmFuc2FjdGlvbigpIHtcbiAgICBpZiAoIXRoaXMuaGFzT3BlblRyYW5zYWN0aW9uKSB7XG4gICAgICB0aHJvdyBUeXBlRXJyb3IoJ25vdCBhIHBlbmRpbmcgdHJhbnNhY3Rpb24nKTtcbiAgICB9XG4gICAgdGhpcy5sb2dnZXI/Ligncm9sbGJhY2tUcmFuc2FjdGlvbicpO1xuICAgIGF3YWl0IHRoaXMuc2Vzc2lvbi5hYm9ydFRyYW5zYWN0aW9uKCk7XG4gIH1cblxuICBvdmVycmlkZSBhc3luYyByZWxlYXNlKGZvcmNlPzogYm9vbGVhbikge1xuICAgIGlmICh0aGlzLmhhc09wZW5UcmFuc2FjdGlvbikge1xuICAgICAgdGhyb3cgVHlwZUVycm9yKCdwZW5kaW5nIHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuICAgIGF3YWl0IHRoaXMuY29ubi5jbG9zZShmb3JjZSk7XG4gIH1cblxuICBvdmVycmlkZSBhc3luYyBlbmQoKSB7XG4gICAgYXdhaXQgdGhpcy5yZWxlYXNlKHRydWUpO1xuICB9XG59XG4iXX0= |
@@ -1,8 +0,5 @@ | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.MongodbQuerierPool = void 0; | ||
const mongodb_1 = require("mongodb"); | ||
const mongodbQuerier_js_1 = require("./mongodbQuerier.js"); | ||
const mongoDialect_js_1 = require("./mongoDialect.js"); | ||
class MongodbQuerierPool { | ||
import { connect } from 'mongodb'; | ||
import { MongodbQuerier } from './mongodbQuerier.js'; | ||
import { MongoDialect } from './mongoDialect.js'; | ||
export class MongodbQuerierPool { | ||
uri; | ||
@@ -19,4 +16,4 @@ opts; | ||
if (!this.querier || !this.querier.conn.isConnected()) { | ||
const conn = await (0, mongodb_1.connect)(this.uri, this.opts); | ||
this.querier = new mongodbQuerier_js_1.MongodbQuerier(new mongoDialect_js_1.MongoDialect(), conn, this.logger); | ||
const conn = await connect(this.uri, this.opts); | ||
this.querier = new MongodbQuerier(new MongoDialect(), conn, this.logger); | ||
} | ||
@@ -30,3 +27,2 @@ return this.querier; | ||
} | ||
exports.MongodbQuerierPool = MongodbQuerierPool; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9uZ29kYlF1ZXJpZXJQb29sLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL21vbmdvZGJRdWVyaWVyUG9vbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxQ0FBc0Q7QUFFdEQsMkRBQXFEO0FBQ3JELHVEQUFpRDtBQUVqRCxNQUFhLGtCQUFrQjtJQUdSO0lBQXNCO0lBQW9DO0lBRnZFLE9BQU8sQ0FBaUI7SUFFaEMsWUFBcUIsR0FBVyxFQUFXLElBQXlCLEVBQVcsTUFBc0I7UUFBaEYsUUFBRyxHQUFILEdBQUcsQ0FBUTtRQUFXLFNBQUksR0FBSixJQUFJLENBQXFCO1FBQVcsV0FBTSxHQUFOLE1BQU0sQ0FBZ0I7SUFBRyxDQUFDO0lBRXpHLEtBQUssQ0FBQyxVQUFVO1FBQ2QsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRTtZQUNyRCxNQUFNLElBQUksR0FBRyxNQUFNLElBQUEsaUJBQU8sRUFBQyxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNoRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksa0NBQWMsQ0FBQyxJQUFJLDhCQUFZLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQzFFO1FBQ0QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxLQUFLLENBQUMsR0FBRztRQUNQLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDaEMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7Q0FDRjtBQWpCRCxnREFpQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb25uZWN0LCBNb25nb0NsaWVudE9wdGlvbnMgfSBmcm9tICdtb25nb2RiJztcbmltcG9ydCB7IFF1ZXJpZXJMb2dnZXIsIFF1ZXJpZXJQb29sIH0gZnJvbSAnQHVxbC9jb3JlL3R5cGUnO1xuaW1wb3J0IHsgTW9uZ29kYlF1ZXJpZXIgfSBmcm9tICcuL21vbmdvZGJRdWVyaWVyLmpzJztcbmltcG9ydCB7IE1vbmdvRGlhbGVjdCB9IGZyb20gJy4vbW9uZ29EaWFsZWN0LmpzJztcblxuZXhwb3J0IGNsYXNzIE1vbmdvZGJRdWVyaWVyUG9vbCBpbXBsZW1lbnRzIFF1ZXJpZXJQb29sPE1vbmdvZGJRdWVyaWVyPiB7XG4gIHByaXZhdGUgcXVlcmllcjogTW9uZ29kYlF1ZXJpZXI7XG5cbiAgY29uc3RydWN0b3IocmVhZG9ubHkgdXJpOiBzdHJpbmcsIHJlYWRvbmx5IG9wdHM/OiBNb25nb0NsaWVudE9wdGlvbnMsIHJlYWRvbmx5IGxvZ2dlcj86IFF1ZXJpZXJMb2dnZXIpIHt9XG5cbiAgYXN5bmMgZ2V0UXVlcmllcigpIHtcbiAgICBpZiAoIXRoaXMucXVlcmllciB8fCAhdGhpcy5xdWVyaWVyLmNvbm4uaXNDb25uZWN0ZWQoKSkge1xuICAgICAgY29uc3QgY29ubiA9IGF3YWl0IGNvbm5lY3QodGhpcy51cmksIHRoaXMub3B0cyk7XG4gICAgICB0aGlzLnF1ZXJpZXIgPSBuZXcgTW9uZ29kYlF1ZXJpZXIobmV3IE1vbmdvRGlhbGVjdCgpLCBjb25uLCB0aGlzLmxvZ2dlcik7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnF1ZXJpZXI7XG4gIH1cblxuICBhc3luYyBlbmQoKSB7XG4gICAgYXdhaXQgdGhpcy5xdWVyaWVyLmNvbm4uY2xvc2UoKTtcbiAgICBkZWxldGUgdGhpcy5xdWVyaWVyO1xuICB9XG59XG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9uZ29kYlF1ZXJpZXJQb29sLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL21vbmdvZGJRdWVyaWVyUG9vbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFzQixNQUFNLFNBQVMsQ0FBQztBQUV0RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRWpELE1BQU0sT0FBTyxrQkFBa0I7SUFHUjtJQUFzQjtJQUFvQztJQUZ2RSxPQUFPLENBQWlCO0lBRWhDLFlBQXFCLEdBQVcsRUFBVyxJQUF5QixFQUFXLE1BQXNCO1FBQWhGLFFBQUcsR0FBSCxHQUFHLENBQVE7UUFBVyxTQUFJLEdBQUosSUFBSSxDQUFxQjtRQUFXLFdBQU0sR0FBTixNQUFNLENBQWdCO0lBQUcsQ0FBQztJQUV6RyxLQUFLLENBQUMsVUFBVTtRQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUU7WUFDckQsTUFBTSxJQUFJLEdBQUcsTUFBTSxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDaEQsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLGNBQWMsQ0FBQyxJQUFJLFlBQVksRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDMUU7UUFDRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUVELEtBQUssQ0FBQyxHQUFHO1FBQ1AsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNoQyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29ubmVjdCwgTW9uZ29DbGllbnRPcHRpb25zIH0gZnJvbSAnbW9uZ29kYic7XG5pbXBvcnQgeyBRdWVyaWVyTG9nZ2VyLCBRdWVyaWVyUG9vbCB9IGZyb20gJ0B1cWwvY29yZS90eXBlJztcbmltcG9ydCB7IE1vbmdvZGJRdWVyaWVyIH0gZnJvbSAnLi9tb25nb2RiUXVlcmllci5qcyc7XG5pbXBvcnQgeyBNb25nb0RpYWxlY3QgfSBmcm9tICcuL21vbmdvRGlhbGVjdC5qcyc7XG5cbmV4cG9ydCBjbGFzcyBNb25nb2RiUXVlcmllclBvb2wgaW1wbGVtZW50cyBRdWVyaWVyUG9vbDxNb25nb2RiUXVlcmllcj4ge1xuICBwcml2YXRlIHF1ZXJpZXI6IE1vbmdvZGJRdWVyaWVyO1xuXG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IHVyaTogc3RyaW5nLCByZWFkb25seSBvcHRzPzogTW9uZ29DbGllbnRPcHRpb25zLCByZWFkb25seSBsb2dnZXI/OiBRdWVyaWVyTG9nZ2VyKSB7fVxuXG4gIGFzeW5jIGdldFF1ZXJpZXIoKSB7XG4gICAgaWYgKCF0aGlzLnF1ZXJpZXIgfHwgIXRoaXMucXVlcmllci5jb25uLmlzQ29ubmVjdGVkKCkpIHtcbiAgICAgIGNvbnN0IGNvbm4gPSBhd2FpdCBjb25uZWN0KHRoaXMudXJpLCB0aGlzLm9wdHMpO1xuICAgICAgdGhpcy5xdWVyaWVyID0gbmV3IE1vbmdvZGJRdWVyaWVyKG5ldyBNb25nb0RpYWxlY3QoKSwgY29ubiwgdGhpcy5sb2dnZXIpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5xdWVyaWVyO1xuICB9XG5cbiAgYXN5bmMgZW5kKCkge1xuICAgIGF3YWl0IHRoaXMucXVlcmllci5jb25uLmNsb3NlKCk7XG4gICAgZGVsZXRlIHRoaXMucXVlcmllcjtcbiAgfVxufVxuIl19 |
@@ -1,15 +0,12 @@ | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.MongoDialect = void 0; | ||
const mongodb_1 = require("mongodb"); | ||
const decorator_1 = require("@uql/core/entity/decorator"); | ||
const util_1 = require("@uql/core/util"); | ||
class MongoDialect { | ||
import { ObjectId } from 'mongodb'; | ||
import { getMeta } from '@uql/core/entity/decorator'; | ||
import { getKeys, hasKeys, buildSortMap, getProjectRelationKeys, getQueryFilterAsMap } from '@uql/core/util'; | ||
export class MongoDialect { | ||
filter(entity, filter = {}, { softDelete } = {}) { | ||
const meta = (0, decorator_1.getMeta)(entity); | ||
filter = (0, util_1.getQueryFilterAsMap)(meta, filter); | ||
const meta = getMeta(entity); | ||
filter = getQueryFilterAsMap(meta, filter); | ||
if (meta.softDelete && (softDelete || softDelete === undefined) && !filter[meta.softDelete]) { | ||
filter[meta.softDelete] = null; | ||
} | ||
return (0, util_1.getKeys)(filter).reduce((acc, key) => { | ||
return getKeys(filter).reduce((acc, key) => { | ||
let value = filter[key]; | ||
@@ -44,20 +41,20 @@ if (key === '$and' || key === '$or') { | ||
sort(entity, sort) { | ||
return (0, util_1.buildSortMap)(sort); | ||
return buildSortMap(sort); | ||
} | ||
aggregationPipeline(entity, qm) { | ||
const meta = (0, decorator_1.getMeta)(entity); | ||
const meta = getMeta(entity); | ||
const filter = this.filter(entity, qm.$filter); | ||
const sort = this.sort(entity, qm.$sort); | ||
const firstPipelineEntry = {}; | ||
if ((0, util_1.hasKeys)(filter)) { | ||
if (hasKeys(filter)) { | ||
firstPipelineEntry.$match = filter; | ||
} | ||
if ((0, util_1.hasKeys)(sort)) { | ||
if (hasKeys(sort)) { | ||
firstPipelineEntry.$sort = sort; | ||
} | ||
const pipeline = []; | ||
if ((0, util_1.hasKeys)(firstPipelineEntry)) { | ||
if (hasKeys(firstPipelineEntry)) { | ||
pipeline.push(firstPipelineEntry); | ||
} | ||
const relations = (0, util_1.getProjectRelationKeys)(meta, qm.$project); | ||
const relations = getProjectRelationKeys(meta, qm.$project); | ||
for (const relKey of relations) { | ||
@@ -70,3 +67,3 @@ const relOpts = meta.relations[relKey]; | ||
const relEntity = relOpts.entity(); | ||
const relMeta = (0, decorator_1.getMeta)(relEntity); | ||
const relMeta = getMeta(relEntity); | ||
if (relOpts.cardinality === 'm1') { | ||
@@ -87,3 +84,3 @@ pipeline.push({ | ||
const referencePipelineEntry = { $match: { [foreignField]: referenceFilter._id } }; | ||
if ((0, util_1.hasKeys)(referenceSort)) { | ||
if (hasKeys(referenceSort)) { | ||
referencePipelineEntry.$sort = referenceSort; | ||
@@ -115,6 +112,6 @@ } | ||
} | ||
const relKeys = (0, util_1.getKeys)(meta.relations).filter((key) => doc[key]); | ||
const relKeys = getKeys(meta.relations).filter((key) => doc[key]); | ||
for (const relKey of relKeys) { | ||
const relOpts = meta.relations[relKey]; | ||
const relMeta = (0, decorator_1.getMeta)(relOpts.entity()); | ||
const relMeta = getMeta(relOpts.entity()); | ||
res[relKey] = Array.isArray(res[relKey]) ? this.normalizeIds(relMeta, res[relKey]) : this.normalizeId(relMeta, res[relKey]); | ||
@@ -125,3 +122,3 @@ } | ||
getIdValue(value) { | ||
if (value instanceof mongodb_1.ObjectId) { | ||
if (value instanceof ObjectId) { | ||
return value; | ||
@@ -132,6 +129,5 @@ } | ||
} | ||
return new mongodb_1.ObjectId(value); | ||
return new ObjectId(value); | ||
} | ||
} | ||
exports.MongoDialect = MongoDialect; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9uZ29EaWFsZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL21vbmdvRGlhbGVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxQ0FBa0U7QUFhbEUsMERBQXFEO0FBQ3JELHlDQUE2RztBQUU3RyxNQUFhLFlBQVk7SUFDdkIsTUFBTSxDQUFJLE1BQWUsRUFBRSxTQUF5QixFQUFFLEVBQUUsRUFBRSxVQUFVLEtBQW1CLEVBQUU7UUFDdkYsTUFBTSxJQUFJLEdBQUcsSUFBQSxtQkFBTyxFQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTdCLE1BQU0sR0FBRyxJQUFBLDBCQUFtQixFQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztRQUUzQyxJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksQ0FBQyxVQUFVLElBQUksVUFBVSxLQUFLLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFvQixDQUFDLEVBQUU7WUFDckcsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFvQixDQUFDLEdBQUcsSUFBSSxDQUFDO1NBQzFDO1FBRUQsT0FBTyxJQUFBLGNBQU8sRUFBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUU7WUFDekMsSUFBSSxLQUFLLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3hCLElBQUksR0FBRyxLQUFLLE1BQU0sSUFBSSxHQUFHLEtBQUssS0FBSyxFQUFFO2dCQUNuQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQXdCLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7YUFDbkY7aUJBQU07Z0JBQ0wsSUFBSSxHQUFHLEtBQUssS0FBSyxJQUFJLEdBQUcsS0FBSyxJQUFJLENBQUMsRUFBRSxFQUFFO29CQUNwQyxH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QyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBTSxDQUFDO1NBQ3BEO1FBQ0QsT0FBTyxJQUFJLGtCQUFRLENBQUMsS0FBSyxDQUFNLENBQUM7SUFDbEMsQ0FBQztDQUNGO0FBaEpELG9DQWdKQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZpbHRlclF1ZXJ5LCBPYmplY3RJZCwgU29ydE9wdGlvbk9iamVjdCB9IGZyb20gJ21vbmdvZGInO1xuaW1wb3J0IHtcbiAgUXVlcnlGaWx0ZXIsXG4gIFF1ZXJ5LFxuICBFbnRpdHlNZXRhLFxuICBUeXBlLFxuICBRdWVyeVByb2plY3QsXG4gIFF1ZXJ5UHJvamVjdE1hcCxcbiAgUXVlcnlPcHRpb25zLFxuICBRdWVyeVNvcnQsXG4gIEZpZWxkVmFsdWUsXG4gIFJlbGF0aW9uS2V5LFxufSBmcm9tICdAdXFsL2NvcmUvdHlwZSc7XG5pbXBvcnQgeyBnZXRNZXRhIH0gZnJvbSAnQHVxbC9jb3JlL2VudGl0eS9kZWNvcmF0b3InO1xuaW1wb3J0IHsgZ2V0S2V5cywgaGFzS2V5cywgYnVpbGRTb3J0TWFwLCBnZXRQcm9qZWN0UmVsYXRpb25LZXlzLCBnZXRRdWVyeUZpbHRlckFzTWFwIH0gZnJvbSAnQHVxbC9jb3JlL3V0aWwnO1xuXG5leHBvcnQgY2xhc3MgTW9uZ29EaWFsZWN0IHtcbiAgZmlsdGVyPEU+KGVudGl0eTogVHlwZTxFPiwgZmlsdGVyOiBRdWVyeUZpbHRlcjxFPiA9IHt9LCB7IHNvZnREZWxldGUgfTogUXVlcnlPcHRpb25zID0ge30pOiBGaWx0ZXJRdWVyeTxFPiB7XG4gICAgY29uc3QgbWV0YSA9IGdldE1ldGEoZW50aXR5KTtcblxuICAgIGZpbHRlciA9IGdldFF1ZXJ5RmlsdGVyQXNNYXAobWV0YSwgZmlsdGVyKTtcblxuICAgIGlmIChtZXRhLnNvZnREZWxldGUgJiYgKHNvZnREZWxldGUgfHwgc29mdERlbGV0ZSA9PT0gdW5kZWZpbmVkKSAmJiAhZmlsdGVyW21ldGEuc29mdERlbGV0ZSBhcyBzdHJpbmddKSB7XG4gICAgICBmaWx0ZXJbbWV0YS5zb2Z0RGVsZXRlIGFzIHN0cmluZ10gPSBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiBnZXRLZXlzKGZpbHRlcikucmVkdWNlKChhY2MsIGtleSkgPT4ge1xuICAgICAgbGV0IHZhbHVlID0gZmlsdGVyW2tleV07XG4gICAgICBpZiAoa2V5ID09PSAnJGFuZCcgfHwga2V5ID09PSAnJG9yJykge1xuICAgICAgICBhY2Nba2V5XSA9IHZhbHVlLm1hcCgoZmlsdGVySXQ6IFF1ZXJ5RmlsdGVyPEU+KSA9PiB0aGlzLmZpbHRlcihlbnRpdHksIGZpbHRlckl0KSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoa2V5ID09PSAnX2lkJyB8fCBrZXkgPT09IG1ldGEuaWQpIHtcbiAgICAgICAgICBrZXkgPSAnX2lkJztcbiAgICAgICAgICB2YWx1ZSA9IHRoaXMuZ2V0SWRWYWx1ZSh2YWx1ZSk7XG4gICAgICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgICB2YWx1ZSA9IHtcbiAgICAgICAgICAgICRpbjogdmFsdWUsXG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICBhY2Nba2V5IGFzIGtleW9mIEZpbHRlclF1ZXJ5PEU+XSA9IHZhbHVlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGFjYztcbiAgICB9LCB7fSBhcyBGaWx0ZXJRdWVyeTxFPik7XG4gIH1cblxuICBwcm9qZWN0PEU+KGVudGl0eTogVHlwZTxFPiwgcHJvamVjdDogUXVlcnlQcm9qZWN0PEU+KTogUXVlcnlQcm9qZWN0TWFwPEU+IHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShwcm9qZWN0KSkge1xuICAgICAgcmV0dXJuIHByb2plY3QucmVkdWNlKChhY2MsIGl0KSA9PiB7XG4gICAgICAgIGFjY1tpdCBhcyBzdHJpbmddID0gdHJ1ZTtcbiAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgIH0sIHt9IGFzIFF1ZXJ5UHJvamVjdE1hcDxFPik7XG4gICAgfVxuICAgIHJldHVybiBwcm9qZWN0IGFzIFF1ZXJ5UHJvamVjdE1hcDxFPjtcbiAgfVxuXG4gIHNvcnQ8RT4oZW50aXR5OiBUeXBlPEU+LCBzb3J0OiBRdWVyeVNvcnQ8RT4pOiBNb25nb1NvcnQ8RT4ge1xuICAgIHJldHVybiBidWlsZFNvcnRNYXAoc29ydCkgYXMgTW9uZ29Tb3J0PEU+O1xuICB9XG5cbiAgYWdncmVnYXRpb25QaXBlbGluZTxFPihlbnRpdHk6IFR5cGU8RT4sIHFtOiBRdWVyeTxFPik6IE1vbmdvQWdncmVnYXRpb25QaXBlbGluZUVudHJ5PEU+W10ge1xuICAgIGNvbnN0IG1ldGEgPSBnZXRNZXRhKGVudGl0eSk7XG5cbiAgICBjb25zdCBmaWx0ZXIgPSB0aGlzLmZpbHRlcihlbnRpdHksIHFtLiRmaWx0ZXIpO1xuICAgIGNvbnN0IHNvcnQgPSB0aGlzLnNvcnQoZW50aXR5LCBxbS4kc29ydCk7XG4gICAgY29uc3QgZmlyc3RQaXBlbGluZUVudHJ5OiBNb25nb0FnZ3JlZ2F0aW9uUGlwZWxpbmVFbnRyeTxFPiA9IHt9O1xuXG4gICAgaWYgKGhhc0tleXMoZmlsdGVyKSkge1xuICAgICAgZmlyc3RQaXBlbGluZUVudHJ5LiRtYXRjaCA9IGZpbHRlcjtcbiAgICB9XG4gICAgaWYgKGhhc0tleXMoc29ydCkpIHtcbiAgICAgIGZpcnN0UGlwZWxpbmVFbnRyeS4kc29ydCA9IHNvcnQ7XG4gICAgfVxuXG4gICAgY29uc3QgcGlwZWxpbmU6IE1vbmdvQWdncmVnYXRpb25QaXBlbGluZUVudHJ5PEU+W10gPSBbXTtcblxuICAgIGlmIChoYXNLZXlzKGZpcnN0UGlwZWxpbmVFbnRyeSkpIHtcbiAgICAgIHBpcGVsaW5lLnB1c2goZmlyc3RQaXBlbGluZUVudHJ5KTtcbiAgICB9XG5cbiAgICBjb25zdCByZWxhdGlvbnMgPSBnZXRQcm9qZWN0UmVsYXRpb25LZXlzKG1ldGEsIHFtLiRwcm9qZWN0KTtcblxuICAgIGZvciAoY29uc3QgcmVsS2V5IG9mIHJlbGF0aW9ucykge1xuICAgICAgY29uc3QgcmVsT3B0cyA9IG1ldGEucmVsYXRpb25zW3JlbEtleV07XG5cbiAgICAgIGlmIChyZWxPcHRzLmNhcmRpbmFsaXR5ID09PSAnMW0nIHx8IHJlbE9wdHMuY2FyZGluYWxpdHkgPT09ICdtbScpIHtcbiAgICAgICAgLy8gJzFtJyBhbmQgJ21tJyBzaG91bGQgYmUgcmVzb2x2ZWQgaW4gYSBoaWdoZXIgbGF5ZXIgYmVjYXVzZSB0aGV5IHdpbGwgbmVlZCBtdWx0aXBsZSBxdWVyaWVzXG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICBjb25zdCByZWxFbnRpdHkgPSByZWxPcHRzLmVudGl0eSgpO1xuICAgICAgY29uc3QgcmVsTWV0YSA9IGdldE1ldGEocmVsRW50aXR5KTtcblxuICAgICAgaWYgKHJlbE9wdHMuY2FyZGluYWxpdHkgPT09ICdtMScpIHtcbiAgICAgICAgcGlwZWxpbmUucHVzaCh7XG4gICAgICAgICAgJGxvb2t1cDoge1xuICAgICAgICAgICAgZnJvbTogcmVsTWV0YS5uYW1lLFxuICAgICAgICAgICAgbG9jYWxGaWVsZDogcmVsT3B0cy5yZWZlcmVuY2VzWzBdLmxvY2FsLFxuICAgICAgICAgICAgZm9yZWlnbkZpZWxkOiAnX2lkJyxcbiAgICAgICAgICAgIGFzOiByZWxLZXksXG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBmb3JlaWduRmllbGQgPSByZWxPcHRzLnJlZmVyZW5jZXNbMF0uZm9yZWlnbjtcbiAgICAgICAgY29uc3QgcmVmZXJlbmNlRmlsdGVyID0gdGhpcy5maWx0ZXIocmVsRW50aXR5LCBxbS4kZmlsdGVyKTtcbiAgICAgICAgY29uc3QgcmVmZXJlbmNlU29ydCA9IHRoaXMuc29ydChyZWxFbnRpdHksIHFtLiRzb3J0KTtcbiAgICAgICAgY29uc3QgcmVmZXJlbmNlUGlwZWxpbmVFbnRyeTogTW9uZ29BZ2dyZWdhdGlvblBpcGVsaW5lRW50cnk8RmllbGRWYWx1ZTxFPj4gPSB7ICRtYXRjaDogeyBbZm9yZWlnbkZpZWxkXTogcmVmZXJlbmNlRmlsdGVyLl9pZCB9IH07XG4gICAgICAgIGlmIChoYXNLZXlzKHJlZmVyZW5jZVNvcnQpKSB7XG4gICAgICAgICAgcmVmZXJlbmNlUGlwZWxpbmVFbnRyeS4kc29ydCA9IHJlZmVyZW5jZVNvcnQ7XG4gICAgICAgIH1cbiAgICAgICAgcGlwZWxpbmUucHVzaCh7XG4gICAgICAgICAgJGxvb2t1cDoge1xuICAgICAgICAgICAgZnJvbTogcmVsTWV0YS5uYW1lLFxuICAgICAgICAgICAgcGlwZWxpbmU6IFtyZWZlcmVuY2VQaXBlbGluZUVudHJ5XSxcbiAgICAgICAgICAgIGFzOiByZWxLZXksXG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIHBpcGVsaW5lLnB1c2goeyAkdW53aW5kOiB7IHBhdGg6IGAkJHtyZWxLZXl9YCwgcHJlc2VydmVOdWxsQW5kRW1wdHlBcnJheXM6IHRydWUgfSB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gcGlwZWxpbmU7XG4gIH1cblxuICBub3JtYWxpemVJZHM8RT4obWV0YTogRW50aXR5TWV0YTxFPiwgZG9jczogRVtdKTogRVtdIHtcbiAgICByZXR1cm4gZG9jcz8ubWFwKChkb2MpID0+IHRoaXMubm9ybWFsaXplSWQobWV0YSwgZG9jKSk7XG4gIH1cblxuICBub3JtYWxpemVJZDxFPihtZXRhOiBFbnRpdHlNZXRhPEU+LCBkb2M6IEUpOiBFIHtcbiAgICBpZiAoIWRvYykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHJlcyA9IGRvYyBhcyBFICYgeyBfaWQ6IGFueSB9O1xuXG4gICAgaWYgKHJlcy5faWQpIHtcbiAgICAgIHJlc1ttZXRhLmlkXSA9IHJlcy5faWQ7XG4gICAgICBkZWxldGUgcmVzLl9pZDtcbiAgICB9XG5cbiAgICBjb25zdCByZWxLZXlzID0gZ2V0S2V5cyhtZXRhLnJlbGF0aW9ucykuZmlsdGVyKChrZXkpID0+IGRvY1trZXldKTtcblxuICAgIGZvciAoY29uc3QgcmVsS2V5IG9mIHJlbEtleXMpIHtcbiAgICAgIGNvbnN0IHJlbE9wdHMgPSBtZXRhLnJlbGF0aW9uc1tyZWxLZXldO1xuICAgICAgY29uc3QgcmVsTWV0YSA9IGdldE1ldGEocmVsT3B0cy5lbnRpdHkoKSk7XG4gICAgICByZXNbcmVsS2V5XSA9IEFycmF5LmlzQXJyYXkocmVzW3JlbEtleV0pID8gdGhpcy5ub3JtYWxpemVJZHMocmVsTWV0YSwgcmVzW3JlbEtleV0pIDogdGhpcy5ub3JtYWxpemVJZChyZWxNZXRhLCByZXNbcmVsS2V5XSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlcyBhcyBFO1xuICB9XG5cbiAgZ2V0SWRWYWx1ZTxUIGV4dGVuZHMgc3RyaW5nIHwgc3RyaW5nW10gfCBPYmplY3RJZCB8IE9iamVjdElkW10+KHZhbHVlOiBUKTogVCB7XG4gICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgT2JqZWN0SWQpIHtcbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICByZXR1cm4gdmFsdWUubWFwKChpdCkgPT4gdGhpcy5nZXRJZFZhbHVlKGl0KSkgYXMgVDtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBPYmplY3RJZCh2YWx1ZSkgYXMgVDtcbiAgfVxufVxuXG50eXBlIE1vbmdvQWdncmVnYXRpb25QaXBlbGluZUVudHJ5PEU+ID0ge1xuICByZWFkb25seSAkbG9va3VwPzogTW9uZ29BZ2dyZWdhdGlvbkxvb2t1cDxFPjtcbiAgJG1hdGNoPzogRmlsdGVyUXVlcnk8RT4gfCBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICAkc29ydD86IE1vbmdvU29ydDxFPjtcbiAgcmVhZG9ubHkgJHVud2luZD86IE1vbmdvQWdncmVnYXRpb25VbndpbmQ7XG59O1xuXG50eXBlIE1vbmdvQWdncmVnYXRpb25Mb29rdXA8RT4gPSB7XG4gIHJlYWRvbmx5IGZyb20/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGZvcmVpZ25GaWVsZD86IHN0cmluZztcbiAgcmVhZG9ubHkgbG9jYWxGaWVsZD86IHN0cmluZztcbiAgcmVhZG9ubHkgcGlwZWxpbmU/OiBNb25nb0FnZ3JlZ2F0aW9uUGlwZWxpbmVFbnRyeTxGaWVsZFZhbHVlPEU+PltdO1xuICByZWFkb25seSBhcz86IFJlbGF0aW9uS2V5PEU+O1xufTtcblxudHlwZSBNb25nb0FnZ3JlZ2F0aW9uVW53aW5kID0ge1xuICByZWFkb25seSBwYXRoPzogc3RyaW5nO1xuICByZWFkb25seSBwcmVzZXJ2ZU51bGxBbmRFbXB0eUFycmF5cz86IGJvb2xlYW47XG59O1xuXG50eXBlIE1vbmdvU29ydDxFPiA9IFtzdHJpbmcsIG51bWJlcl1bXSB8IFNvcnRPcHRpb25PYmplY3Q8RT47XG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9uZ29EaWFsZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL21vbmdvRGlhbGVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWUsUUFBUSxFQUFvQixNQUFNLFNBQVMsQ0FBQztBQWFsRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDckQsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLHNCQUFzQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0csTUFBTSxPQUFPLFlBQVk7SUFDdkIsTUFBTSxDQUFJLE1BQWUsRUFBRSxTQUF5QixFQUFFLEVBQUUsRUFBRSxVQUFVLEtBQW1CLEVBQUU7UUFDdkYsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTdCLE1BQU0sR0FBRyxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFM0MsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLENBQUMsVUFBVSxJQUFJLFVBQVUsS0FBSyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBb0IsQ0FBQyxFQUFFO1lBQ3JHLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBb0IsQ0FBQyxHQUFHLElBQUksQ0FBQztTQUMxQztRQUVELE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUN6QyxJQUFJLEtBQUssR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDeEIsSUFBSSxHQUFHLEtBQUssTUFBTSxJQUFJLEdBQUcsS0FBSyxLQUFLLEVBQUU7Z0JBQ25DLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBd0IsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1B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S0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN4QixPQUFPLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQU0sQ0FBQztTQUNwRDtRQUNELE9BQU8sSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFNLENBQUM7SUFDbEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmlsdGVyUXVlcnksIE9iamVjdElkLCBTb3J0T3B0aW9uT2JqZWN0IH0gZnJvbSAnbW9uZ29kYic7XG5pbXBvcnQge1xuICBRdWVyeUZpbHRlcixcbiAgUXVlcnksXG4gIEVudGl0eU1ldGEsXG4gIFR5cGUsXG4gIFF1ZXJ5UHJvamVjdCxcbiAgUXVlcnlQcm9qZWN0TWFwLFxuICBRdWVyeU9wdGlvbnMsXG4gIFF1ZXJ5U29ydCxcbiAgRmllbGRWYWx1ZSxcbiAgUmVsYXRpb25LZXksXG59IGZyb20gJ0B1cWwvY29yZS90eXBlJztcbmltcG9ydCB7IGdldE1ldGEgfSBmcm9tICdAdXFsL2NvcmUvZW50aXR5L2RlY29yYXRvcic7XG5pbXBvcnQgeyBnZXRLZXlzLCBoYXNLZXlzLCBidWlsZFNvcnRNYXAsIGdldFByb2plY3RSZWxhdGlvbktleXMsIGdldFF1ZXJ5RmlsdGVyQXNNYXAgfSBmcm9tICdAdXFsL2NvcmUvdXRpbCc7XG5cbmV4cG9ydCBjbGFzcyBNb25nb0RpYWxlY3Qge1xuICBmaWx0ZXI8RT4oZW50aXR5OiBUeXBlPEU+LCBmaWx0ZXI6IFF1ZXJ5RmlsdGVyPEU+ID0ge30sIHsgc29mdERlbGV0ZSB9OiBRdWVyeU9wdGlvbnMgPSB7fSk6IEZpbHRlclF1ZXJ5PEU+IHtcbiAgICBjb25zdCBtZXRhID0gZ2V0TWV0YShlbnRpdHkpO1xuXG4gICAgZmlsdGVyID0gZ2V0UXVlcnlGaWx0ZXJBc01hcChtZXRhLCBmaWx0ZXIpO1xuXG4gICAgaWYgKG1ldGEuc29mdERlbGV0ZSAmJiAoc29mdERlbGV0ZSB8fCBzb2Z0RGVsZXRlID09PSB1bmRlZmluZWQpICYmICFmaWx0ZXJbbWV0YS5zb2Z0RGVsZXRlIGFzIHN0cmluZ10pIHtcbiAgICAgIGZpbHRlclttZXRhLnNvZnREZWxldGUgYXMgc3RyaW5nXSA9IG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIGdldEtleXMoZmlsdGVyKS5yZWR1Y2UoKGFjYywga2V5KSA9PiB7XG4gICAgICBsZXQgdmFsdWUgPSBmaWx0ZXJba2V5XTtcbiAgICAgIGlmIChrZXkgPT09ICckYW5kJyB8fCBrZXkgPT09ICckb3InKSB7XG4gICAgICAgIGFjY1trZXldID0gdmFsdWUubWFwKChmaWx0ZXJJdDogUXVlcnlGaWx0ZXI8RT4pID0+IHRoaXMuZmlsdGVyKGVudGl0eSwgZmlsdGVySXQpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChrZXkgPT09ICdfaWQnIHx8IGtleSA9PT0gbWV0YS5pZCkge1xuICAgICAgICAgIGtleSA9ICdfaWQnO1xuICAgICAgICAgIHZhbHVlID0gdGhpcy5nZXRJZFZhbHVlKHZhbHVlKTtcbiAgICAgICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAgIHZhbHVlID0ge1xuICAgICAgICAgICAgJGluOiB2YWx1ZSxcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIGFjY1trZXkgYXMga2V5b2YgRmlsdGVyUXVlcnk8RT5dID0gdmFsdWU7XG4gICAgICB9XG4gICAgICByZXR1cm4gYWNjO1xuICAgIH0sIHt9IGFzIEZpbHRlclF1ZXJ5PEU+KTtcbiAgfVxuXG4gIHByb2plY3Q8RT4oZW50aXR5OiBUeXBlPEU+LCBwcm9qZWN0OiBRdWVyeVByb2plY3Q8RT4pOiBRdWVyeVByb2plY3RNYXA8RT4ge1xuICAgIGlmIChBcnJheS5pc0FycmF5KHByb2plY3QpKSB7XG4gICAgICByZXR1cm4gcHJvamVjdC5yZWR1Y2UoKGFjYywgaXQpID0+IHtcbiAgICAgICAgYWNjW2l0IGFzIHN0cmluZ10gPSB0cnVlO1xuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfSwge30gYXMgUXVlcnlQcm9qZWN0TWFwPEU+KTtcbiAgICB9XG4gICAgcmV0dXJuIHByb2plY3QgYXMgUXVlcnlQcm9qZWN0TWFwPEU+O1xuICB9XG5cbiAgc29ydDxFPihlbnRpdHk6IFR5cGU8RT4sIHNvcnQ6IFF1ZXJ5U29ydDxFPik6IE1vbmdvU29ydDxFPiB7XG4gICAgcmV0dXJuIGJ1aWxkU29ydE1hcChzb3J0KSBhcyBNb25nb1NvcnQ8RT47XG4gIH1cblxuICBhZ2dyZWdhdGlvblBpcGVsaW5lPEU+KGVudGl0eTogVHlwZTxFPiwgcW06IFF1ZXJ5PEU+KTogTW9uZ29BZ2dyZWdhdGlvblBpcGVsaW5lRW50cnk8RT5bXSB7XG4gICAgY29uc3QgbWV0YSA9IGdldE1ldGEoZW50aXR5KTtcblxuICAgIGNvbnN0IGZpbHRlciA9IHRoaXMuZmlsdGVyKGVudGl0eSwgcW0uJGZpbHRlcik7XG4gICAgY29uc3Qgc29ydCA9IHRoaXMuc29ydChlbnRpdHksIHFtLiRzb3J0KTtcbiAgICBjb25zdCBmaXJzdFBpcGVsaW5lRW50cnk6IE1vbmdvQWdncmVnYXRpb25QaXBlbGluZUVudHJ5PEU+ID0ge307XG5cbiAgICBpZiAoaGFzS2V5cyhmaWx0ZXIpKSB7XG4gICAgICBmaXJzdFBpcGVsaW5lRW50cnkuJG1hdGNoID0gZmlsdGVyO1xuICAgIH1cbiAgICBpZiAoaGFzS2V5cyhzb3J0KSkge1xuICAgICAgZmlyc3RQaXBlbGluZUVudHJ5LiRzb3J0ID0gc29ydDtcbiAgICB9XG5cbiAgICBjb25zdCBwaXBlbGluZTogTW9uZ29BZ2dyZWdhdGlvblBpcGVsaW5lRW50cnk8RT5bXSA9IFtdO1xuXG4gICAgaWYgKGhhc0tleXMoZmlyc3RQaXBlbGluZUVudHJ5KSkge1xuICAgICAgcGlwZWxpbmUucHVzaChmaXJzdFBpcGVsaW5lRW50cnkpO1xuICAgIH1cblxuICAgIGNvbnN0IHJlbGF0aW9ucyA9IGdldFByb2plY3RSZWxhdGlvbktleXMobWV0YSwgcW0uJHByb2plY3QpO1xuXG4gICAgZm9yIChjb25zdCByZWxLZXkgb2YgcmVsYXRpb25zKSB7XG4gICAgICBjb25zdCByZWxPcHRzID0gbWV0YS5yZWxhdGlvbnNbcmVsS2V5XTtcblxuICAgICAgaWYgKHJlbE9wdHMuY2FyZGluYWxpdHkgPT09ICcxbScgfHwgcmVsT3B0cy5jYXJkaW5hbGl0eSA9PT0gJ21tJykge1xuICAgICAgICAvLyAnMW0nIGFuZCAnbW0nIHNob3VsZCBiZSByZXNvbHZlZCBpbiBhIGhpZ2hlciBsYXllciBiZWNhdXNlIHRoZXkgd2lsbCBuZWVkIG11bHRpcGxlIHF1ZXJpZXNcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHJlbEVudGl0eSA9IHJlbE9wdHMuZW50aXR5KCk7XG4gICAgICBjb25zdCByZWxNZXRhID0gZ2V0TWV0YShyZWxFbnRpdHkpO1xuXG4gICAgICBpZiAocmVsT3B0cy5jYXJkaW5hbGl0eSA9PT0gJ20xJykge1xuICAgICAgICBwaXBlbGluZS5wdXNoKHtcbiAgICAgICAgICAkbG9va3VwOiB7XG4gICAgICAgICAgICBmcm9tOiByZWxNZXRhLm5hbWUsXG4gICAgICAgICAgICBsb2NhbEZpZWxkOiByZWxPcHRzLnJlZmVyZW5jZXNbMF0ubG9jYWwsXG4gICAgICAgICAgICBmb3JlaWduRmllbGQ6ICdfaWQnLFxuICAgICAgICAgICAgYXM6IHJlbEtleSxcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGZvcmVpZ25GaWVsZCA9IHJlbE9wdHMucmVmZXJlbmNlc1swXS5mb3JlaWduO1xuICAgICAgICBjb25zdCByZWZlcmVuY2VGaWx0ZXIgPSB0aGlzLmZpbHRlcihyZWxFbnRpdHksIHFtLiRmaWx0ZXIpO1xuICAgICAgICBjb25zdCByZWZlcmVuY2VTb3J0ID0gdGhpcy5zb3J0KHJlbEVudGl0eSwgcW0uJHNvcnQpO1xuICAgICAgICBjb25zdCByZWZlcmVuY2VQaXBlbGluZUVudHJ5OiBNb25nb0FnZ3JlZ2F0aW9uUGlwZWxpbmVFbnRyeTxGaWVsZFZhbHVlPEU+PiA9IHsgJG1hdGNoOiB7IFtmb3JlaWduRmllbGRdOiByZWZlcmVuY2VGaWx0ZXIuX2lkIH0gfTtcbiAgICAgICAgaWYgKGhhc0tleXMocmVmZXJlbmNlU29ydCkpIHtcbiAgICAgICAgICByZWZlcmVuY2VQaXBlbGluZUVudHJ5LiRzb3J0ID0gcmVmZXJlbmNlU29ydDtcbiAgICAgICAgfVxuICAgICAgICBwaXBlbGluZS5wdXNoKHtcbiAgICAgICAgICAkbG9va3VwOiB7XG4gICAgICAgICAgICBmcm9tOiByZWxNZXRhLm5hbWUsXG4gICAgICAgICAgICBwaXBlbGluZTogW3JlZmVyZW5jZVBpcGVsaW5lRW50cnldLFxuICAgICAgICAgICAgYXM6IHJlbEtleSxcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgcGlwZWxpbmUucHVzaCh7ICR1bndpbmQ6IHsgcGF0aDogYCQke3JlbEtleX1gLCBwcmVzZXJ2ZU51bGxBbmRFbXB0eUFycmF5czogdHJ1ZSB9IH0pO1xuICAgIH1cblxuICAgIHJldHVybiBwaXBlbGluZTtcbiAgfVxuXG4gIG5vcm1hbGl6ZUlkczxFPihtZXRhOiBFbnRpdHlNZXRhPEU+LCBkb2NzOiBFW10pOiBFW10ge1xuICAgIHJldHVybiBkb2NzPy5tYXAoKGRvYykgPT4gdGhpcy5ub3JtYWxpemVJZChtZXRhLCBkb2MpKTtcbiAgfVxuXG4gIG5vcm1hbGl6ZUlkPEU+KG1ldGE6IEVudGl0eU1ldGE8RT4sIGRvYzogRSk6IEUge1xuICAgIGlmICghZG9jKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcmVzID0gZG9jIGFzIEUgJiB7IF9pZDogYW55IH07XG5cbiAgICBpZiAocmVzLl9pZCkge1xuICAgICAgcmVzW21ldGEuaWRdID0gcmVzLl9pZDtcbiAgICAgIGRlbGV0ZSByZXMuX2lkO1xuICAgIH1cblxuICAgIGNvbnN0IHJlbEtleXMgPSBnZXRLZXlzKG1ldGEucmVsYXRpb25zKS5maWx0ZXIoKGtleSkgPT4gZG9jW2tleV0pO1xuXG4gICAgZm9yIChjb25zdCByZWxLZXkgb2YgcmVsS2V5cykge1xuICAgICAgY29uc3QgcmVsT3B0cyA9IG1ldGEucmVsYXRpb25zW3JlbEtleV07XG4gICAgICBjb25zdCByZWxNZXRhID0gZ2V0TWV0YShyZWxPcHRzLmVudGl0eSgpKTtcbiAgICAgIHJlc1tyZWxLZXldID0gQXJyYXkuaXNBcnJheShyZXNbcmVsS2V5XSkgPyB0aGlzLm5vcm1hbGl6ZUlkcyhyZWxNZXRhLCByZXNbcmVsS2V5XSkgOiB0aGlzLm5vcm1hbGl6ZUlkKHJlbE1ldGEsIHJlc1tyZWxLZXldKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzIGFzIEU7XG4gIH1cblxuICBnZXRJZFZhbHVlPFQgZXh0ZW5kcyBzdHJpbmcgfCBzdHJpbmdbXSB8IE9iamVjdElkIHwgT2JqZWN0SWRbXT4odmFsdWU6IFQpOiBUIHtcbiAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBPYmplY3RJZCkge1xuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgIHJldHVybiB2YWx1ZS5tYXAoKGl0KSA9PiB0aGlzLmdldElkVmFsdWUoaXQpKSBhcyBUO1xuICAgIH1cbiAgICByZXR1cm4gbmV3IE9iamVjdElkKHZhbHVlKSBhcyBUO1xuICB9XG59XG5cbnR5cGUgTW9uZ29BZ2dyZWdhdGlvblBpcGVsaW5lRW50cnk8RT4gPSB7XG4gIHJlYWRvbmx5ICRsb29rdXA/OiBNb25nb0FnZ3JlZ2F0aW9uTG9va3VwPEU+O1xuICAkbWF0Y2g/OiBGaWx0ZXJRdWVyeTxFPiB8IFJlY29yZDxzdHJpbmcsIGFueT47XG4gICRzb3J0PzogTW9uZ29Tb3J0PEU+O1xuICByZWFkb25seSAkdW53aW5kPzogTW9uZ29BZ2dyZWdhdGlvblVud2luZDtcbn07XG5cbnR5cGUgTW9uZ29BZ2dyZWdhdGlvbkxvb2t1cDxFPiA9IHtcbiAgcmVhZG9ubHkgZnJvbT86IHN0cmluZztcbiAgcmVhZG9ubHkgZm9yZWlnbkZpZWxkPzogc3RyaW5nO1xuICByZWFkb25seSBsb2NhbEZpZWxkPzogc3RyaW5nO1xuICByZWFkb25seSBwaXBlbGluZT86IE1vbmdvQWdncmVnYXRpb25QaXBlbGluZUVudHJ5PEZpZWxkVmFsdWU8RT4+W107XG4gIHJlYWRvbmx5IGFzPzogUmVsYXRpb25LZXk8RT47XG59O1xuXG50eXBlIE1vbmdvQWdncmVnYXRpb25VbndpbmQgPSB7XG4gIHJlYWRvbmx5IHBhdGg/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHByZXNlcnZlTnVsbEFuZEVtcHR5QXJyYXlzPzogYm9vbGVhbjtcbn07XG5cbnR5cGUgTW9uZ29Tb3J0PEU+ID0gW3N0cmluZywgbnVtYmVyXVtdIHwgU29ydE9wdGlvbk9iamVjdDxFPjtcbiJdfQ== |
@@ -6,6 +6,6 @@ { | ||
"license": "MIT", | ||
"version": "1.0.1", | ||
"version": "1.0.2", | ||
"type": "module", | ||
"exports": "./index.js", | ||
"types": "./index.d.ts", | ||
"main": "index.js", | ||
"types": "index.d.ts", | ||
"scripts": { | ||
@@ -26,3 +26,3 @@ "copyfiles": "copyfiles -f package.json ../../README.md ../../CHANGELOG.md dist", | ||
"@types/node": "^17.0.39", | ||
"@uql/core": "^1.0.0", | ||
"@uql/core": "^1.0.2", | ||
"copyfiles": "^2.4.1", | ||
@@ -29,0 +29,0 @@ "rimraf": "^3.0.2", |
Sorry, the diff of this file is not supported yet
91005
389