@ditojs/server 0.272.0 → 0.273.0
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/lib/app/Application.js +39 -5
- package/lib/app/SessionStore.js +3 -1
- package/lib/app/Validator.js +13 -1
- package/lib/app/index.js +7 -1
- package/lib/cli/console.js +11 -1
- package/lib/cli/db/createMigration.js +13 -1
- package/lib/cli/db/index.js +7 -1
- package/lib/cli/db/seed.js +10 -2
- package/lib/cli/index.js +6 -2
- package/lib/controllers/AdminController.js +12 -2
- package/lib/controllers/CollectionController.js +15 -1
- package/lib/controllers/Controller.js +25 -1
- package/lib/controllers/ControllerAction.js +23 -14
- package/lib/controllers/RelationController.js +7 -1
- package/lib/controllers/UserController.js +15 -1
- package/lib/controllers/index.js +7 -1
- package/lib/decorators/index.js +7 -1
- package/lib/decorators/parameters.js +3 -1
- package/lib/decorators/returns.js +3 -1
- package/lib/errors/DatabaseError.js +5 -19
- package/lib/errors/ResponseError.js +4 -16
- package/lib/errors/index.js +7 -1
- package/lib/graph/DitoGraphProcessor.js +5 -1
- package/lib/graph/expression.js +5 -1
- package/lib/graph/graph.js +18 -2
- package/lib/graph/index.js +7 -1
- package/lib/index.js +7 -1
- package/lib/lib/index.js +7 -1
- package/lib/middleware/findRoute.js +7 -1
- package/lib/middleware/index.js +7 -1
- package/lib/mixins/AssetMixin.js +4 -4
- package/lib/mixins/SessionMixin.js +4 -4
- package/lib/mixins/TimeStampedMixin.js +4 -4
- package/lib/mixins/UserMixin.js +10 -4
- package/lib/mixins/index.js +7 -1
- package/lib/models/Model.js +21 -4
- package/lib/models/definitions/filters.js +9 -1
- package/lib/models/definitions/properties.js +7 -1
- package/lib/models/definitions/scopes.js +9 -1
- package/lib/models/index.js +7 -1
- package/lib/query/QueryBuilder.js +11 -1
- package/lib/query/QueryFilters.js +11 -1
- package/lib/query/index.js +7 -1
- package/lib/schema/formats/index.js +7 -1
- package/lib/schema/index.js +10 -2
- package/lib/schema/keywords/index.js +7 -1
- package/lib/schema/properties.js +11 -1
- package/lib/schema/relations.js +18 -4
- package/lib/services/index.js +7 -1
- package/lib/storage/DiskStorage.js +7 -1
- package/lib/storage/Storage.js +5 -1
- package/lib/storage/index.js +7 -1
- package/lib/utils/emitter.js +5 -1
- package/lib/utils/index.js +7 -1
- package/lib/utils/object.js +9 -3
- package/package.json +29 -29
- package/src/app/Application.js +23 -3
- package/src/controllers/AdminController.js +1 -1
- package/src/controllers/ControllerAction.js +7 -13
- package/src/errors/DatabaseError.js +2 -23
- package/src/errors/ResponseError.js +1 -9
- package/src/models/Model.js +10 -8
|
@@ -3,6 +3,10 @@
|
|
|
3
3
|
exports.__esModule = true;
|
|
4
4
|
exports.DitoGraphProcessor = void 0;
|
|
5
5
|
|
|
6
|
+
require("core-js/modules/esnext.async-iterator.map.js");
|
|
7
|
+
|
|
8
|
+
require("core-js/modules/esnext.iterator.map.js");
|
|
9
|
+
|
|
6
10
|
var _utils = require("@ditojs/utils");
|
|
7
11
|
|
|
8
12
|
var _ = require(".");
|
|
@@ -178,4 +182,4 @@ exports.DitoGraphProcessor = DitoGraphProcessor;
|
|
|
178
182
|
function appendPath(path, separator, token) {
|
|
179
183
|
return path !== '' ? `${path}${separator}${token}` : token;
|
|
180
184
|
}
|
|
181
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ncmFwaC9EaXRvR3JhcGhQcm9jZXNzb3IuanMiXSwibmFtZXMiOlsiRGl0b0dyYXBoUHJvY2Vzc29yIiwiY29uc3RydWN0b3IiLCJyb290TW9kZWxDbGFzcyIsImRhdGEiLCJvcHRpb25zIiwic2V0dGluZ3MiLCJza2lwVmFsaWRhdGlvbiIsImlzQXJyYXkiLCJvdmVycmlkZXMiLCJleHRyYXMiLCJudW1PcHRpb25zIiwiT2JqZWN0Iiwia2V5cyIsImxlbmd0aCIsIm51bU92ZXJyaWRlcyIsInByb2Nlc3NPdmVycmlkZXMiLCJjb2xsZWN0T3ZlcnJpZGVzIiwiZ2V0T3B0aW9ucyIsImdldERhdGEiLCJwcm9jZXNzUmVsYXRlcyIsImdldEdyYXBoT3B0aW9ucyIsInJlbGF0aW9uIiwib3duZXJPcHRpb25zIiwicmVsYXRlIiwidW5yZWxhdGUiLCJncmFwaE9wdGlvbnMiLCJvd25lciIsInByb2Nlc3NlZCIsInByb2Nlc3NNb2RlbENsYXNzIiwibW9kZWxDbGFzcyIsIm5hbWUiLCJyZWxhdGlvbnMiLCJkZWZpbml0aW9uIiwicmVsYXRpb25JbnN0YW5jZXMiLCJnZXRSZWxhdGlvbnMiLCJlbnRyaWVzIiwia2V5IiwicmVsYXRlZE1vZGVsQ2xhc3MiLCJleHByIiwicHJvY2Vzc0V4cHJlc3Npb24iLCJyZWxhdGlvblBhdGgiLCJvcHRpb24iLCJwdXNoIiwiZXh0cmEiLCJ0aHJvdWdoIiwiY2hpbGRFeHByIiwiYXBwZW5kUGF0aCIsInNob3VsZFJlbGF0ZSIsImluY2x1ZGVzIiwiZGF0YVBhdGgiLCIkaXNPYmplY3Rpb25Nb2RlbCIsImNvcHkiLCJnZXRSZWZlcmVuY2UiLCIkY2xvbmUiLCJzaGFsbG93IiwidmFsdWVzIiwibWFwIiwiZW50cnkiLCJpbmRleCIsInBhdGgiLCJzZXBhcmF0b3IiLCJ0b2tlbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTs7QUFDQTs7QUFFTyxNQUFNQSxrQkFBTixDQUF5QjtBQUM5QkMsRUFBQUEsV0FBVyxDQUFD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dCI6WyJpbXBvcnQgeyBpc0FycmF5IH0gZnJvbSAnQGRpdG9qcy91dGlscydcbmltcG9ydCB7IG1vZGVsR3JhcGhUb0V4cHJlc3Npb24sIGVuc3VyZU1vZGVsQXJyYXkgfSBmcm9tICcuJ1xuXG5leHBvcnQgY2xhc3MgRGl0b0dyYXBoUHJvY2Vzc29yIHtcbiAgY29uc3RydWN0b3Iocm9vdE1vZGVsQ2xhc3MsIGRhdGEsIG9wdGlvbnMgPSB7fSwgc2V0dGluZ3MgPSB7fSkge1xuICAgIHRoaXMucm9vdE1vZGVsQ2xhc3MgPSByb290TW9kZWxDbGFzc1xuICAgIHRoaXMuZGF0YSA9IGVuc3VyZU1vZGVsQXJyYXkocm9vdE1vZGVsQ2xhc3MsIGRhdGEsIHtcbiAgICAgIHNraXBWYWxpZGF0aW9uOiB0cnVlXG4gICAgfSlcbiAgICB0aGlzLmlzQXJyYXkgPSBpc0FycmF5KGRhdGEpXG4gICAgdGhpcy5vcHRpb25zID0gb3B0aW9uc1xuICAgIHRoaXMuc2V0dGluZ3MgPSBzZXR0aW5nc1xuICAgIHRoaXMub3ZlcnJpZGVzID0ge31cbiAgICB0aGlzLmV4dHJhcyA9IHt9XG4gICAgdGhpcy5udW1PcHRpb25zID0gT2JqZWN0LmtleXMob3B0aW9ucykubGVuZ3RoXG4gICAgdGhpcy5udW1PdmVycmlkZXMgPSAwXG4gICAgaWYgKHNldHRpbmdzLnByb2Nlc3NPdmVycmlkZXMpIHtcbiAgICAgIHRoaXMuY29sbGVjdE92ZXJyaWRlcygpXG4gICAgICBpZiAodGhpcy5udW1PdmVycmlkZXMgPiAwKSB7XG4gICAgICAgIHRoaXMucHJvY2Vzc092ZXJyaWRlcygpXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZ2V0T3B0aW9ucygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4udGhpcy5vcHRpb25zLFxuICAgICAgLi4udGhpcy5vdmVycmlkZXNcbiAgICB9XG4gIH1cblxuICBnZXREYXRhKCkge1xuICAgIC8vIElmIHNldHRpbmcucHJvY2Vzc1JlbGF0ZXMgaXMgdXNlZCwgY2FsbCBwcm9jZXNzUmVsYXRlKCkgdG8gZmlsdGVyIG91dFxuICAgIC8vIG5lc3RlZCByZWxhdGlvbnMgb2YgbW9kZWxzIHRoYXQgYXJlIHVzZWQgZm9yIHJlbGF0ZXMuXG4gICAgY29uc3QgZGF0YSA9IHRoaXMuc2V0dGluZ3MucHJvY2Vzc1JlbGF0ZXNcbiAgICAgID8gdGhpcy5wcm9jZXNzUmVsYXRlcyh0aGlzLmRhdGEpXG4gICAgICA6IHRoaXMuZGF0YVxuICAgIHJldHVybiB0aGlzLmlzQXJyYXkgPyBkYXRhIDogZGF0YVswXVxuICB9XG5cbiAgZ2V0R3JhcGhPcHRpb25zKHJlbGF0aW9uKSB7XG4gICAgLy8gV2hlbiBhIHJlbGF0aW9uIGlzIG93bmVyIG9mIGl0cyBkYXRhLCB0aGVuIGEgZmFsbC1iYWNrIGZvciBgZ3JhcGhPcHRpb25zYFxuICAgIC8vIGlzIHByb3ZpZGVkIHdoZXJlIGJvdGggYHJlbGF0ZWAgYW5kIGB1bnJlbGF0ZWAgaXMgZGlzYWJsZWQsIHJlc3VsdGluZyBpblxuICAgIC8vIGluc2VydHMgYW5kIGRlbGV0ZXMgaW5zdGVhZC5cbiAgICBjb25zdCBvd25lck9wdGlvbnMgPSB7XG4gICAgICByZWxhdGU6IGZhbHNlLFxuICAgICAgdW5yZWxhdGU6IGZhbHNlXG4gICAgfVxuICAgIC8vIERldGVybWluZSB0aGUgYGdyYXBoT3B0aW9uc2AgdG8gYmUgdXNlZCBmb3IgdGhpcyByZWxhdGlvbi5cbiAgICByZXR1cm4gcmVsYXRpb24uZ3JhcGhPcHRpb25zIHx8IHJlbGF0aW9uLm93bmVyICYmIG93bmVyT3B0aW9ucyB8fCB7fVxuICB9XG5cbiAgLyoqXG4gICAqIExvb3BzIHRocm91Z2ggYWxsIG5lc3RlZCByZWxhdGlvbnMgYW5kIGZpbmRzIHRoZSBvbmVzIHRoYXQgZGVmaW5lIGxvY2FsXG4gICAqIG92ZXJyaWRlcyBvZiB0aGUgZ2xvYmFsIG9wdGlvbnMsIHRoZW4gY29sbGVjdHMgZW1wdHkgb3ZlcnJpZGUgYXJyYXlzIGZvclxuICAgKiBlYWNoIHNldHRpbmcsIHNvIHByb2Nlc3NPdmVycmlkZXMoKSBjYW4gZmlsbCB0aGVtIGlmIGFueSBvdmVycmlkZXMgZXhpc3QuXG4gICAqL1xuICBjb2xsZWN0T3ZlcnJpZGVzKCkge1xuICAgIC8vIFRPRE86IHdlIG1heSB3YW50IG9wdGltaXplIHRoaXMgY29kZSB0byBvbmx5IGNvbGxlY3QgdGhlIG92ZXJyaWRlcyBmb3JcbiAgICAvLyB0aGUgcmVsYXRpb25zIHRoYXQgYXJlIGFjdHVhbGx5IHVzZWQgaW4gdGhlIGdyYXBoLCBlLmcuIHRocm91Z2hcbiAgICAvLyBgbW9kZWxHcmFwaFRvRXhwcmVzc2lvbihkYXRhKWAuIFNob3VsZCB3ZSBldmVyIHN3aXRjaCB0byBvdXIgb3duXG4gICAgLy8gaW1wbGVtZW50YXRpb24gb2YgKkFuZEZldGNoKCkgbWV0aG9kcywgd2UgYWxyZWFkeSBoYXZlIHRvIGNhbGwgdGhpcy5cbiAgICBjb25zdCBwcm9jZXNzZWQgPSB7fVxuICAgIGNvbnN0IHByb2Nlc3NNb2RlbENsYXNzID0gbW9kZWxDbGFzcyA9PiB7XG4gICAgICBjb25zdCB7IG5hbWUgfSA9IG1vZGVsQ2xhc3NcbiAgICAgIC8vIE9ubHkgcHJvY2VzcyBlYWNoIG1vZGVsQ2xhc3Mgb25jZSwgdG8gYXZvaWQgY2lyY3VsYXIgcmVmZXJlbmNlIGxvb3BzLlxuICAgICAgaWYgKCFwcm9jZXNzZWRbbmFtZV0pIHtcbiAgICAgICAgcHJvY2Vzc2VkW25hbWVdID0gdHJ1ZVxuICAgICAgICBjb25zdCB7IHJlbGF0aW9ucyB9ID0gbW9kZWxDbGFzcy5kZWZpbml0aW9uXG4gICAgICAgIGNvbnN0IHJlbGF0aW9uSW5zdGFuY2VzID0gbW9kZWxDbGFzcy5nZXRSZWxhdGlvbnMoKVxuICAgICAgICBmb3IgKGNvbnN0IFtuYW1lLCByZWxhdGlvbl0gb2YgT2JqZWN0LmVudHJpZXMocmVsYXRpb25zKSkge1xuICAgICAgICAgIGNvbnN0IGdyYXBoT3B0aW9ucyA9IHRoaXMuZ2V0R3JhcGhPcHRpb25zKHJlbGF0aW9uKVxuICAgICAgICAgIGlmIChncmFwaE9wdGlvbnMpIHtcbiAgICAgICAgICAgIC8vIExvb3AgdGhyb3VnaCBgdGhpcy5vcHRpb25zYCBhbmQgb25seSBsb29rIGZvciBvdmVycmlkZXMgb2YgdGhlbSxcbiAgICAgICAgICAgIC8vIHNpbmNlIGByZWxhdGlvbi5ncmFwaE9wdGlvbnNgIGlzIGFjcm9zcyBpbnNlcnQgIC8gdXBzZXJ0ICYgY28uLFxuICAgICAgICAgICAgLy8gYnV0IG5vdCBhbGwgb2YgdGhlbSB1c2UgYWxsIG9wdGlvbnMgKGluc2VydCBkZWZpbmVzIGxlc3MpLlxuICAgICAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gdGhpcy5vcHRpb25zKSB7XG4gICAgICAgICAgICAgIGlmIChrZXkgaW4gZ3JhcGhPcHRpb25zICYmXG4gICAgICAgICAgICAgICAgICBncmFwaE9wdGlvbnNba2V5XSAhPT0gdGhpcy5vcHRpb25zW2tleV0gJiZcbiAgICAgICAgICAgICAgICAgICF0aGlzLm92ZXJyaWRlc1trZXldKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5udW1PdmVycmlkZXMrK1xuICAgICAgICAgICAgICAgIHRoaXMub3ZlcnJpZGVzW2tleV0gPSBbXVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBLZWVwIHNjYW5uaW5nIHVudGlsIHdlJ3JlIGRvbmUgb3IgZm91bmQgdGhhdCBhbGwgb3B0aW9ucyBoYXZlXG4gICAgICAgICAgICAvLyBvdmVycmlkZXMuXG4gICAgICAgICAgICBpZiAodGhpcy5udW1PdmVycmlkZXMgPCB0aGlzLm51bU9wdGlvbnMpIHtcbiAgICAgICAgICAgICAgcHJvY2Vzc01vZGVsQ2xhc3MocmVsYXRpb25JbnN0YW5jZXNbbmFtZV0ucmVsYXRlZE1vZGVsQ2xhc3MpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcHJvY2Vzc01vZGVsQ2xhc3ModGhpcy5yb290TW9kZWxDbGFzcylcbiAgfVxuXG4gIC8qKlxuICAgKiBGaWxscyB0aGUgZW1wdHkgb3ZlcnJpZGUgYXJyYXlzIGNvbGxlY3RlZCBieSBjb2xsZWN0T3ZlcnJpZGVzKCkgYnkgd2Fsa2luZ1xuICAgKiB0aHJvdWdoIHRoZSBhY3R1YWwgZ3JhcGggYW5kIGZpbmRpbmcgcmVsYXRpb25zIHRoYXQgaGF2ZSBvdmVycmlkZXMsIGFuZFxuICAgKiBidWlsZGluZyByZWxhdGlvbiBwYXRocyBmb3IgdGhlbS5cbiAgICovXG4gIHByb2Nlc3NPdmVycmlkZXMoKSB7XG4gICAgY29uc3QgZXhwciA9IG1vZGVsR3JhcGhUb0V4cHJlc3Npb24odGhpcy5kYXRhKVxuXG4gICAgY29uc3QgcHJvY2Vzc0V4cHJlc3Npb24gPVxuICAgICAgKGV4cHIsIG1vZGVsQ2xhc3MsIHJlbGF0aW9uLCByZWxhdGlvblBhdGggPSAnJykgPT4ge1xuICAgICAgICBpZiAocmVsYXRpb24pIHtcbiAgICAgICAgICBjb25zdCBncmFwaE9wdGlvbnMgPSB0aGlzLmdldEdyYXBoT3B0aW9ucyhyZWxhdGlvbilcbiAgICAgICAgICAvLyBMb29wIHRocm91Z2ggYWxsIG92ZXJyaWRlIG9wdGlvbnMsIGZpZ3VyZSBvdXQgdGhlaXIgc2V0dGluZ3MgZm9yXG4gICAgICAgICAgLy8gdGhlIGN1cnJlbnQgcmVsYXRpb24gYW5kIGJ1aWxkIHJlbGF0aW9uIGV4cHJlc3Npb24gYXJyYXlzIGZvciBlYWNoXG4gICAgICAgICAgLy8gb3ZlcnJpZGUgcmVmbGVjdGluZyB0aGVpciBuZXN0ZWQgc2V0dGluZ3MgaW4gYXJyYXlzIG9mIGV4cHJlc3Npb25zLlxuICAgICAgICAgIGZvciAoY29uc3Qga2V5IGluIHRoaXMub3ZlcnJpZGVzKSB7XG4gICAgICAgICAgICBjb25zdCBvcHRpb24gPSBncmFwaE9wdGlvbnNba2V5XSA/PyB0aGlzLm9wdGlvbnNba2V5XVxuICAgICAgICAgICAgaWYgKG9wdGlvbikge1xuICAgICAgICAgICAgICB0aGlzLm92ZXJyaWRlc1trZXldLnB1c2gocmVsYXRpb25QYXRoKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIEFsc28gY29sbGVjdCBhbnkgbWFueS10by1tYW55IHBpdm90IHRhYmxlIGV4dHJhIHByb3BlcnRpZXMuXG4gICAgICAgICAgY29uc3QgZXh0cmEgPSByZWxhdGlvbi50aHJvdWdoPy5leHRyYVxuICAgICAgICAgIGlmIChleHRyYT8ubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgdGhpcy5leHRyYXNbcmVsYXRpb25QYXRoXSA9IGV4dHJhXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgeyByZWxhdGlvbnMgfSA9IG1vZGVsQ2xhc3MuZGVmaW5pdGlvblxuICAgICAgICBjb25zdCByZWxhdGlvbkluc3RhbmNlcyA9IG1vZGVsQ2xhc3MuZ2V0UmVsYXRpb25zKClcbiAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gZXhwcikge1xuICAgICAgICAgIGNvbnN0IGNoaWxkRXhwciA9IGV4cHJba2V5XVxuICAgICAgICAgIGNvbnN0IHsgcmVsYXRlZE1vZGVsQ2xhc3MgfSA9IHJlbGF0aW9uSW5zdGFuY2VzW2tleV1cbiAgICAgICAgICBwcm9jZXNzRXhwcmVzc2lvbihcbiAgICAgICAgICAgIGNoaWxkRXhwcixcbiAgICAgICAgICAgIHJlbGF0ZWRNb2RlbENsYXNzLFxuICAgICAgICAgICAgcmVsYXRpb25zW2tleV0sXG4gICAgICAgICAgICBhcHBlbmRQYXRoKHJlbGF0aW9uUGF0aCwgJy4nLCBrZXkpXG4gICAgICAgICAgKVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICBwcm9jZXNzRXhwcmVzc2lvbihleHByLCB0aGlzLnJvb3RNb2RlbENsYXNzKVxuICB9XG5cbiAgc2hvdWxkUmVsYXRlKHJlbGF0aW9uUGF0aCkge1xuICAgIC8vIFJvb3Qgb2JqZWN0cyAocmVsYXRpb25QYXRoID09PSAnJykgc2hvdWxkIG5ldmVyIHJlbGF0ZS5cbiAgICBpZiAocmVsYXRpb25QYXRoICE9PSAnJykge1xuICAgICAgY29uc3QgeyByZWxhdGUgfSA9IHRoaXMub3ZlcnJpZGVzXG4gICAgICByZXR1cm4gcmVsYXRlXG4gICAgICAgIC8vIFNlZSBpZiB0aGUgcmVsYXRlIG92ZXJyaWRlcyBjb250YWluIHRoaXMgcGFydGljdWxhciByZWxhdGlvbi1QYXRoXG4gICAgICAgIC8vIGFuZCBvbmx5IHJlbW92ZSBhbmQgcmVzdG9yZSByZWxhdGlvbiBkYXRhIGlmIHJlbGF0ZSBpcyB0byBiZSB1c2VkXG4gICAgICAgID8gcmVsYXRlLmluY2x1ZGVzKHJlbGF0aW9uUGF0aClcbiAgICAgICAgOiB0aGlzLm9wdGlvbnMucmVsYXRlXG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEhhbmRsZXMgcmVsYXRlIG9wdGlvbiBieSBkZXRlY3RpbmcgT2JqZWN0aW9uIGluc3RhbmNlcyBpbiB0aGUgZ3JhcGggYW5kXG4gICAqIGNvbnZlcnRpbmcgdGhlbSB0byBzaGFsbG93IGlkIGxpbmtzLlxuICAgKlxuICAgKiBGb3IgZGV0YWlscywgc2VlOlxuICAgKiBodHRwczovL2dpdHRlci5pbS9WaW5jaXQvb2JqZWN0aW9uLmpzP2F0PTVhNDI0NmVlYmEzOWE1M2YxYWEzYTNiMVxuICAgKi9cbiAgcHJvY2Vzc1JlbGF0ZXMoZGF0YSwgcmVsYXRpb25QYXRoID0gJycsIGRhdGFQYXRoID0gJycpIHtcbiAgICBpZiAoZGF0YSkge1xuICAgICAgaWYgKGRhdGEuJGlzT2JqZWN0aW9uTW9kZWwpIHtcbiAgICAgICAgY29uc3QgeyBjb25zdHJ1Y3RvciB9ID0gZGF0YVxuICAgICAgICBsZXQgY29weVxuICAgICAgICBpZiAodGhpcy5zaG91bGRSZWxhdGUocmVsYXRpb25QYXRoKSkge1xuICAgICAgICAgIC8vIEZvciByZWxhdGVzLCBzdGFydCB3aXRoIGEgcmVmZXJlbmNlIG1vZGVsIHRoYXQgb25seSBjb250YWlucyB0aGVcbiAgICAgICAgICAvLyBpZCAvICNyZWYgZmllbGRzLCBhbmQgYW55IG1hbnktdG8tbWFueSBwaXZvdCB0YWJsZSBleHRyYSB2YWx1ZXM6XG4gICAgICAgICAgY29weSA9IGNvbnN0cnVjdG9yLmdldFJlZmVyZW5jZShkYXRhLCB0aGlzLmV4dHJhc1tyZWxhdGlvblBhdGhdKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIFRoaXMgaXNuJ3QgYSByZWxhdGUsIHNvIGNyZWF0ZSBhIHByb3BlciBzaGFsbG93IGNsb25lOlxuICAgICAgICAgIC8vIE5PVEU6IFRoaXMgYWxzbyBjb3BpZXMgYCQkcXVlcnlQcm9wc2AsIHdoaWNoIGlzIGNydWNpYWwgZm9yIG1vcmVcbiAgICAgICAgICAvLyBhZHZhbmNlZCBPYmplY3Rpb24uanMgZmVhdHVyZXMgdG8gd29yaywgZS5nLiBMaXRlcmFsQnVpbGRlcjpcbiAgICAgICAgICBjb3B5ID0gZGF0YS4kY2xvbmUoeyBzaGFsbG93OiB0cnVlIH0pXG4gICAgICAgICAgLy8gRm9sbG93IGFsbCByZWxhdGlvbnMgYW5kIGtlZXAgcHJvY2Vzc2luZzpcbiAgICAgICAgICBmb3IgKGNvbnN0IHsgbmFtZSB9IG9mIE9iamVjdC52YWx1ZXMoY29uc3RydWN0b3IuZ2V0UmVsYXRpb25zKCkpKSB7XG4gICAgICAgICAgICBpZiAobmFtZSBpbiBkYXRhKSB7XG4gICAgICAgICAgICAgIGNvcHlbbmFtZV0gPSB0aGlzLnByb2Nlc3NSZWxhdGVzKFxuICAgICAgICAgICAgICAgIGRhdGFbbmFtZV0sXG4gICAgICAgICAgICAgICAgYXBwZW5kUGF0aChyZWxhdGlvblBhdGgsICcuJywgbmFtZSksXG4gICAgICAgICAgICAgICAgYXBwZW5kUGF0aChkYXRhUGF0aCwgJy8nLCBuYW1lKVxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjb3B5XG4gICAgICB9IGVsc2UgaWYgKGlzQXJyYXkoZGF0YSkpIHtcbiAgICAgICAgLy8gUG90ZW50aWFsbHkgYSBoYXMtbWFueSByZWxhdGlvbiwgc28ga2VlcCBwcm9jZXNzaW5nIHJlbGF0ZXM6XG4gICAgICAgIHJldHVybiBkYXRhLm1hcCgoZW50cnksIGluZGV4KSA9PiB0aGlzLnByb2Nlc3NSZWxhdGVzKFxuICAgICAgICAgIGVudHJ5LFxuICAgICAgICAgIHJlbGF0aW9uUGF0aCxcbiAgICAgICAgICBhcHBlbmRQYXRoKGRhdGFQYXRoLCAnLycsIGluZGV4KVxuICAgICAgICApKVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZGF0YVxuICB9XG59XG5cbmZ1bmN0aW9uIGFwcGVuZFBhdGgocGF0aCwgc2VwYXJhdG9yLCB0b2tlbikge1xuICByZXR1cm4gcGF0aCAhPT0gJycgPyBgJHtwYXRofSR7c2VwYXJhdG9yfSR7dG9rZW59YCA6IHRva2VuXG59XG4iXX0=
|
|
185
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ncmFwaC9EaXRvR3JhcGhQcm9jZXNzb3IuanMiXSwibmFtZXMiOlsiRGl0b0dyYXBoUHJvY2Vzc29yIiwiY29uc3RydWN0b3IiLCJyb290TW9kZWxDbGFzcyIsImRhdGEiLCJvcHRpb25zIiwic2V0dGluZ3MiLCJza2lwVmFsaWRhdGlvbiIsImlzQXJyYXkiLCJvdmVycmlkZXMiLCJleHRyYXMiLCJudW1PcHRpb25zIiwiT2JqZWN0Iiwia2V5cyIsImxlbmd0aCIsIm51bU92ZXJyaWRlcyIsInByb2Nlc3NPdmVycmlkZXMiLCJjb2xsZWN0T3ZlcnJpZGVzIiwiZ2V0T3B0aW9ucyIsImdldERhdGEiLCJwcm9jZXNzUmVsYXRlcyIsImdldEdyYXBoT3B0aW9ucyIsInJlbGF0aW9uIiwib3duZXJPcHRpb25zIiwicmVsYXRlIiwidW5yZWxhdGUiLCJncmFwaE9wdGlvbnMiLCJvd25lciIsInByb2Nlc3NlZCIsInByb2Nlc3NNb2RlbENsYXNzIiwibW9kZWxDbGFzcyIsIm5hbWUiLCJyZWxhdGlvbnMiLCJkZWZpbml0aW9uIiwicmVsYXRpb25JbnN0YW5jZXMiLCJnZXRSZWxhdGlvbnMiLCJlbnRyaWVzIiwia2V5IiwicmVsYXRlZE1vZGVsQ2xhc3MiLCJleHByIiwicHJvY2Vzc0V4cHJlc3Npb24iLCJyZWxhdGlvblBhdGgiLCJvcHRpb24iLCJwdXNoIiwiZXh0cmEiLCJ0aHJvdWdoIiwiY2hpbGRFeHByIiwiYXBwZW5kUGF0aCIsInNob3VsZFJlbGF0ZSIsImluY2x1ZGVzIiwiZGF0YVBhdGgiLCIkaXNPYmplY3Rpb25Nb2RlbCIsImNvcHkiLCJnZXRSZWZlcmVuY2UiLCIkY2xvbmUiLCJzaGFsbG93IiwidmFsdWVzIiwibWFwIiwiZW50cnkiLCJpbmRleCIsInBhdGgiLCJzZXBhcmF0b3IiLCJ0b2tlbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBRU8sTUFBTUEsa0JBQU4sQ0FBeUI7QUFDOUJDLEVBQUFBLFdBQVcs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bnRlbnQiOlsiaW1wb3J0IHsgaXNBcnJheSB9IGZyb20gJ0BkaXRvanMvdXRpbHMnXG5pbXBvcnQgeyBtb2RlbEdyYXBoVG9FeHByZXNzaW9uLCBlbnN1cmVNb2RlbEFycmF5IH0gZnJvbSAnLidcblxuZXhwb3J0IGNsYXNzIERpdG9HcmFwaFByb2Nlc3NvciB7XG4gIGNvbnN0cnVjdG9yKHJvb3RNb2RlbENsYXNzLCBkYXRhLCBvcHRpb25zID0ge30sIHNldHRpbmdzID0ge30pIHtcbiAgICB0aGlzLnJvb3RNb2RlbENsYXNzID0gcm9vdE1vZGVsQ2xhc3NcbiAgICB0aGlzLmRhdGEgPSBlbnN1cmVNb2RlbEFycmF5KHJvb3RNb2RlbENsYXNzLCBkYXRhLCB7XG4gICAgICBza2lwVmFsaWRhdGlvbjogdHJ1ZVxuICAgIH0pXG4gICAgdGhpcy5pc0FycmF5ID0gaXNBcnJheShkYXRhKVxuICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnNcbiAgICB0aGlzLnNldHRpbmdzID0gc2V0dGluZ3NcbiAgICB0aGlzLm92ZXJyaWRlcyA9IHt9XG4gICAgdGhpcy5leHRyYXMgPSB7fVxuICAgIHRoaXMubnVtT3B0aW9ucyA9IE9iamVjdC5rZXlzKG9wdGlvbnMpLmxlbmd0aFxuICAgIHRoaXMubnVtT3ZlcnJpZGVzID0gMFxuICAgIGlmIChzZXR0aW5ncy5wcm9jZXNzT3ZlcnJpZGVzKSB7XG4gICAgICB0aGlzLmNvbGxlY3RPdmVycmlkZXMoKVxuICAgICAgaWYgKHRoaXMubnVtT3ZlcnJpZGVzID4gMCkge1xuICAgICAgICB0aGlzLnByb2Nlc3NPdmVycmlkZXMoKVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGdldE9wdGlvbnMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnRoaXMub3B0aW9ucyxcbiAgICAgIC4uLnRoaXMub3ZlcnJpZGVzXG4gICAgfVxuICB9XG5cbiAgZ2V0RGF0YSgpIHtcbiAgICAvLyBJZiBzZXR0aW5nLnByb2Nlc3NSZWxhdGVzIGlzIHVzZWQsIGNhbGwgcHJvY2Vzc1JlbGF0ZSgpIHRvIGZpbHRlciBvdXRcbiAgICAvLyBuZXN0ZWQgcmVsYXRpb25zIG9mIG1vZGVscyB0aGF0IGFyZSB1c2VkIGZvciByZWxhdGVzLlxuICAgIGNvbnN0IGRhdGEgPSB0aGlzLnNldHRpbmdzLnByb2Nlc3NSZWxhdGVzXG4gICAgICA/IHRoaXMucHJvY2Vzc1JlbGF0ZXModGhpcy5kYXRhKVxuICAgICAgOiB0aGlzLmRhdGFcbiAgICByZXR1cm4gdGhpcy5pc0FycmF5ID8gZGF0YSA6IGRhdGFbMF1cbiAgfVxuXG4gIGdldEdyYXBoT3B0aW9ucyhyZWxhdGlvbikge1xuICAgIC8vIFdoZW4gYSByZWxhdGlvbiBpcyBvd25lciBvZiBpdHMgZGF0YSwgdGhlbiBhIGZhbGwtYmFjayBmb3IgYGdyYXBoT3B0aW9uc2BcbiAgICAvLyBpcyBwcm92aWRlZCB3aGVyZSBib3RoIGByZWxhdGVgIGFuZCBgdW5yZWxhdGVgIGlzIGRpc2FibGVkLCByZXN1bHRpbmcgaW5cbiAgICAvLyBpbnNlcnRzIGFuZCBkZWxldGVzIGluc3RlYWQuXG4gICAgY29uc3Qgb3duZXJPcHRpb25zID0ge1xuICAgICAgcmVsYXRlOiBmYWxzZSxcbiAgICAgIHVucmVsYXRlOiBmYWxzZVxuICAgIH1cbiAgICAvLyBEZXRlcm1pbmUgdGhlIGBncmFwaE9wdGlvbnNgIHRvIGJlIHVzZWQgZm9yIHRoaXMgcmVsYXRpb24uXG4gICAgcmV0dXJuIHJlbGF0aW9uLmdyYXBoT3B0aW9ucyB8fCByZWxhdGlvbi5vd25lciAmJiBvd25lck9wdGlvbnMgfHwge31cbiAgfVxuXG4gIC8qKlxuICAgKiBMb29wcyB0aHJvdWdoIGFsbCBuZXN0ZWQgcmVsYXRpb25zIGFuZCBmaW5kcyB0aGUgb25lcyB0aGF0IGRlZmluZSBsb2NhbFxuICAgKiBvdmVycmlkZXMgb2YgdGhlIGdsb2JhbCBvcHRpb25zLCB0aGVuIGNvbGxlY3RzIGVtcHR5IG92ZXJyaWRlIGFycmF5cyBmb3JcbiAgICogZWFjaCBzZXR0aW5nLCBzbyBwcm9jZXNzT3ZlcnJpZGVzKCkgY2FuIGZpbGwgdGhlbSBpZiBhbnkgb3ZlcnJpZGVzIGV4aXN0LlxuICAgKi9cbiAgY29sbGVjdE92ZXJyaWRlcygpIHtcbiAgICAvLyBUT0RPOiB3ZSBtYXkgd2FudCBvcHRpbWl6ZSB0aGlzIGNvZGUgdG8gb25seSBjb2xsZWN0IHRoZSBvdmVycmlkZXMgZm9yXG4gICAgLy8gdGhlIHJlbGF0aW9ucyB0aGF0IGFyZSBhY3R1YWxseSB1c2VkIGluIHRoZSBncmFwaCwgZS5nLiB0aHJvdWdoXG4gICAgLy8gYG1vZGVsR3JhcGhUb0V4cHJlc3Npb24oZGF0YSlgLiBTaG91bGQgd2UgZXZlciBzd2l0Y2ggdG8gb3VyIG93blxuICAgIC8vIGltcGxlbWVudGF0aW9uIG9mICpBbmRGZXRjaCgpIG1ldGhvZHMsIHdlIGFscmVhZHkgaGF2ZSB0byBjYWxsIHRoaXMuXG4gICAgY29uc3QgcHJvY2Vzc2VkID0ge31cbiAgICBjb25zdCBwcm9jZXNzTW9kZWxDbGFzcyA9IG1vZGVsQ2xhc3MgPT4ge1xuICAgICAgY29uc3QgeyBuYW1lIH0gPSBtb2RlbENsYXNzXG4gICAgICAvLyBPbmx5IHByb2Nlc3MgZWFjaCBtb2RlbENsYXNzIG9uY2UsIHRvIGF2b2lkIGNpcmN1bGFyIHJlZmVyZW5jZSBsb29wcy5cbiAgICAgIGlmICghcHJvY2Vzc2VkW25hbWVdKSB7XG4gICAgICAgIHByb2Nlc3NlZFtuYW1lXSA9IHRydWVcbiAgICAgICAgY29uc3QgeyByZWxhdGlvbnMgfSA9IG1vZGVsQ2xhc3MuZGVmaW5pdGlvblxuICAgICAgICBjb25zdCByZWxhdGlvbkluc3RhbmNlcyA9IG1vZGVsQ2xhc3MuZ2V0UmVsYXRpb25zKClcbiAgICAgICAgZm9yIChjb25zdCBbbmFtZSwgcmVsYXRpb25dIG9mIE9iamVjdC5lbnRyaWVzKHJlbGF0aW9ucykpIHtcbiAgICAgICAgICBjb25zdCBncmFwaE9wdGlvbnMgPSB0aGlzLmdldEdyYXBoT3B0aW9ucyhyZWxhdGlvbilcbiAgICAgICAgICBpZiAoZ3JhcGhPcHRpb25zKSB7XG4gICAgICAgICAgICAvLyBMb29wIHRocm91Z2ggYHRoaXMub3B0aW9uc2AgYW5kIG9ubHkgbG9vayBmb3Igb3ZlcnJpZGVzIG9mIHRoZW0sXG4gICAgICAgICAgICAvLyBzaW5jZSBgcmVsYXRpb24uZ3JhcGhPcHRpb25zYCBpcyBhY3Jvc3MgaW5zZXJ0ICAvIHVwc2VydCAmIGNvLixcbiAgICAgICAgICAgIC8vIGJ1dCBub3QgYWxsIG9mIHRoZW0gdXNlIGFsbCBvcHRpb25zIChpbnNlcnQgZGVmaW5lcyBsZXNzKS5cbiAgICAgICAgICAgIGZvciAoY29uc3Qga2V5IGluIHRoaXMub3B0aW9ucykge1xuICAgICAgICAgICAgICBpZiAoa2V5IGluIGdyYXBoT3B0aW9ucyAmJlxuICAgICAgICAgICAgICAgICAgZ3JhcGhPcHRpb25zW2tleV0gIT09IHRoaXMub3B0aW9uc1trZXldICYmXG4gICAgICAgICAgICAgICAgICAhdGhpcy5vdmVycmlkZXNba2V5XSkge1xuICAgICAgICAgICAgICAgIHRoaXMubnVtT3ZlcnJpZGVzKytcbiAgICAgICAgICAgICAgICB0aGlzLm92ZXJyaWRlc1trZXldID0gW11cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gS2VlcCBzY2FubmluZyB1bnRpbCB3ZSdyZSBkb25lIG9yIGZvdW5kIHRoYXQgYWxsIG9wdGlvbnMgaGF2ZVxuICAgICAgICAgICAgLy8gb3ZlcnJpZGVzLlxuICAgICAgICAgICAgaWYgKHRoaXMubnVtT3ZlcnJpZGVzIDwgdGhpcy5udW1PcHRpb25zKSB7XG4gICAgICAgICAgICAgIHByb2Nlc3NNb2RlbENsYXNzKHJlbGF0aW9uSW5zdGFuY2VzW25hbWVdLnJlbGF0ZWRNb2RlbENsYXNzKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHByb2Nlc3NNb2RlbENsYXNzKHRoaXMucm9vdE1vZGVsQ2xhc3MpXG4gIH1cblxuICAvKipcbiAgICogRmlsbHMgdGhlIGVtcHR5IG92ZXJyaWRlIGFycmF5cyBjb2xsZWN0ZWQgYnkgY29sbGVjdE92ZXJyaWRlcygpIGJ5IHdhbGtpbmdcbiAgICogdGhyb3VnaCB0aGUgYWN0dWFsIGdyYXBoIGFuZCBmaW5kaW5nIHJlbGF0aW9ucyB0aGF0IGhhdmUgb3ZlcnJpZGVzLCBhbmRcbiAgICogYnVpbGRpbmcgcmVsYXRpb24gcGF0aHMgZm9yIHRoZW0uXG4gICAqL1xuICBwcm9jZXNzT3ZlcnJpZGVzKCkge1xuICAgIGNvbnN0IGV4cHIgPSBtb2RlbEdyYXBoVG9FeHByZXNzaW9uKHRoaXMuZGF0YSlcblxuICAgIGNvbnN0IHByb2Nlc3NFeHByZXNzaW9uID1cbiAgICAgIChleHByLCBtb2RlbENsYXNzLCByZWxhdGlvbiwgcmVsYXRpb25QYXRoID0gJycpID0+IHtcbiAgICAgICAgaWYgKHJlbGF0aW9uKSB7XG4gICAgICAgICAgY29uc3QgZ3JhcGhPcHRpb25zID0gdGhpcy5nZXRHcmFwaE9wdGlvbnMocmVsYXRpb24pXG4gICAgICAgICAgLy8gTG9vcCB0aHJvdWdoIGFsbCBvdmVycmlkZSBvcHRpb25zLCBmaWd1cmUgb3V0IHRoZWlyIHNldHRpbmdzIGZvclxuICAgICAgICAgIC8vIHRoZSBjdXJyZW50IHJlbGF0aW9uIGFuZCBidWlsZCByZWxhdGlvbiBleHByZXNzaW9uIGFycmF5cyBmb3IgZWFjaFxuICAgICAgICAgIC8vIG92ZXJyaWRlIHJlZmxlY3RpbmcgdGhlaXIgbmVzdGVkIHNldHRpbmdzIGluIGFycmF5cyBvZiBleHByZXNzaW9ucy5cbiAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiB0aGlzLm92ZXJyaWRlcykge1xuICAgICAgICAgICAgY29uc3Qgb3B0aW9uID0gZ3JhcGhPcHRpb25zW2tleV0gPz8gdGhpcy5vcHRpb25zW2tleV1cbiAgICAgICAgICAgIGlmIChvcHRpb24pIHtcbiAgICAgICAgICAgICAgdGhpcy5vdmVycmlkZXNba2V5XS5wdXNoKHJlbGF0aW9uUGF0aClcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBBbHNvIGNvbGxlY3QgYW55IG1hbnktdG8tbWFueSBwaXZvdCB0YWJsZSBleHRyYSBwcm9wZXJ0aWVzLlxuICAgICAgICAgIGNvbnN0IGV4dHJhID0gcmVsYXRpb24udGhyb3VnaD8uZXh0cmFcbiAgICAgICAgICBpZiAoZXh0cmE/Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMuZXh0cmFzW3JlbGF0aW9uUGF0aF0gPSBleHRyYVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHsgcmVsYXRpb25zIH0gPSBtb2RlbENsYXNzLmRlZmluaXRpb25cbiAgICAgICAgY29uc3QgcmVsYXRpb25JbnN0YW5jZXMgPSBtb2RlbENsYXNzLmdldFJlbGF0aW9ucygpXG4gICAgICAgIGZvciAoY29uc3Qga2V5IGluIGV4cHIpIHtcbiAgICAgICAgICBjb25zdCBjaGlsZEV4cHIgPSBleHByW2tleV1cbiAgICAgICAgICBjb25zdCB7IHJlbGF0ZWRNb2RlbENsYXNzIH0gPSByZWxhdGlvbkluc3RhbmNlc1trZXldXG4gICAgICAgICAgcHJvY2Vzc0V4cHJlc3Npb24oXG4gICAgICAgICAgICBjaGlsZEV4cHIsXG4gICAgICAgICAgICByZWxhdGVkTW9kZWxDbGFzcyxcbiAgICAgICAgICAgIHJlbGF0aW9uc1trZXldLFxuICAgICAgICAgICAgYXBwZW5kUGF0aChyZWxhdGlvblBhdGgsICcuJywga2V5KVxuICAgICAgICAgIClcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgcHJvY2Vzc0V4cHJlc3Npb24oZXhwciwgdGhpcy5yb290TW9kZWxDbGFzcylcbiAgfVxuXG4gIHNob3VsZFJlbGF0ZShyZWxhdGlvblBhdGgpIHtcbiAgICAvLyBSb290IG9iamVjdHMgKHJlbGF0aW9uUGF0aCA9PT0gJycpIHNob3VsZCBuZXZlciByZWxhdGUuXG4gICAgaWYgKHJlbGF0aW9uUGF0aCAhPT0gJycpIHtcbiAgICAgIGNvbnN0IHsgcmVsYXRlIH0gPSB0aGlzLm92ZXJyaWRlc1xuICAgICAgcmV0dXJuIHJlbGF0ZVxuICAgICAgICAvLyBTZWUgaWYgdGhlIHJlbGF0ZSBvdmVycmlkZXMgY29udGFpbiB0aGlzIHBhcnRpY3VsYXIgcmVsYXRpb24tUGF0aFxuICAgICAgICAvLyBhbmQgb25seSByZW1vdmUgYW5kIHJlc3RvcmUgcmVsYXRpb24gZGF0YSBpZiByZWxhdGUgaXMgdG8gYmUgdXNlZFxuICAgICAgICA/IHJlbGF0ZS5pbmNsdWRlcyhyZWxhdGlvblBhdGgpXG4gICAgICAgIDogdGhpcy5vcHRpb25zLnJlbGF0ZVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBIYW5kbGVzIHJlbGF0ZSBvcHRpb24gYnkgZGV0ZWN0aW5nIE9iamVjdGlvbiBpbnN0YW5jZXMgaW4gdGhlIGdyYXBoIGFuZFxuICAgKiBjb252ZXJ0aW5nIHRoZW0gdG8gc2hhbGxvdyBpZCBsaW5rcy5cbiAgICpcbiAgICogRm9yIGRldGFpbHMsIHNlZTpcbiAgICogaHR0cHM6Ly9naXR0ZXIuaW0vVmluY2l0L29iamVjdGlvbi5qcz9hdD01YTQyNDZlZWJhMzlhNTNmMWFhM2EzYjFcbiAgICovXG4gIHByb2Nlc3NSZWxhdGVzKGRhdGEsIHJlbGF0aW9uUGF0aCA9ICcnLCBkYXRhUGF0aCA9ICcnKSB7XG4gICAgaWYgKGRhdGEpIHtcbiAgICAgIGlmIChkYXRhLiRpc09iamVjdGlvbk1vZGVsKSB7XG4gICAgICAgIGNvbnN0IHsgY29uc3RydWN0b3IgfSA9IGRhdGFcbiAgICAgICAgbGV0IGNvcHlcbiAgICAgICAgaWYgKHRoaXMuc2hvdWxkUmVsYXRlKHJlbGF0aW9uUGF0aCkpIHtcbiAgICAgICAgICAvLyBGb3IgcmVsYXRlcywgc3RhcnQgd2l0aCBhIHJlZmVyZW5jZSBtb2RlbCB0aGF0IG9ubHkgY29udGFpbnMgdGhlXG4gICAgICAgICAgLy8gaWQgLyAjcmVmIGZpZWxkcywgYW5kIGFueSBtYW55LXRvLW1hbnkgcGl2b3QgdGFibGUgZXh0cmEgdmFsdWVzOlxuICAgICAgICAgIGNvcHkgPSBjb25zdHJ1Y3Rvci5nZXRSZWZlcmVuY2UoZGF0YSwgdGhpcy5leHRyYXNbcmVsYXRpb25QYXRoXSlcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBUaGlzIGlzbid0IGEgcmVsYXRlLCBzbyBjcmVhdGUgYSBwcm9wZXIgc2hhbGxvdyBjbG9uZTpcbiAgICAgICAgICAvLyBOT1RFOiBUaGlzIGFsc28gY29waWVzIGAkJHF1ZXJ5UHJvcHNgLCB3aGljaCBpcyBjcnVjaWFsIGZvciBtb3JlXG4gICAgICAgICAgLy8gYWR2YW5jZWQgT2JqZWN0aW9uLmpzIGZlYXR1cmVzIHRvIHdvcmssIGUuZy4gTGl0ZXJhbEJ1aWxkZXI6XG4gICAgICAgICAgY29weSA9IGRhdGEuJGNsb25lKHsgc2hhbGxvdzogdHJ1ZSB9KVxuICAgICAgICAgIC8vIEZvbGxvdyBhbGwgcmVsYXRpb25zIGFuZCBrZWVwIHByb2Nlc3Npbmc6XG4gICAgICAgICAgZm9yIChjb25zdCB7IG5hbWUgfSBvZiBPYmplY3QudmFsdWVzKGNvbnN0cnVjdG9yLmdldFJlbGF0aW9ucygpKSkge1xuICAgICAgICAgICAgaWYgKG5hbWUgaW4gZGF0YSkge1xuICAgICAgICAgICAgICBjb3B5W25hbWVdID0gdGhpcy5wcm9jZXNzUmVsYXRlcyhcbiAgICAgICAgICAgICAgICBkYXRhW25hbWVdLFxuICAgICAgICAgICAgICAgIGFwcGVuZFBhdGgocmVsYXRpb25QYXRoLCAnLicsIG5hbWUpLFxuICAgICAgICAgICAgICAgIGFwcGVuZFBhdGgoZGF0YVBhdGgsICcvJywgbmFtZSlcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY29weVxuICAgICAgfSBlbHNlIGlmIChpc0FycmF5KGRhdGEpKSB7XG4gICAgICAgIC8vIFBvdGVudGlhbGx5IGEgaGFzLW1hbnkgcmVsYXRpb24sIHNvIGtlZXAgcHJvY2Vzc2luZyByZWxhdGVzOlxuICAgICAgICByZXR1cm4gZGF0YS5tYXAoKGVudHJ5LCBpbmRleCkgPT4gdGhpcy5wcm9jZXNzUmVsYXRlcyhcbiAgICAgICAgICBlbnRyeSxcbiAgICAgICAgICByZWxhdGlvblBhdGgsXG4gICAgICAgICAgYXBwZW5kUGF0aChkYXRhUGF0aCwgJy8nLCBpbmRleClcbiAgICAgICAgKSlcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGRhdGFcbiAgfVxufVxuXG5mdW5jdGlvbiBhcHBlbmRQYXRoKHBhdGgsIHNlcGFyYXRvciwgdG9rZW4pIHtcbiAgcmV0dXJuIHBhdGggIT09ICcnID8gYCR7cGF0aH0ke3NlcGFyYXRvcn0ke3Rva2VufWAgOiB0b2tlblxufVxuIl19
|
package/lib/graph/expression.js
CHANGED
|
@@ -5,6 +5,10 @@ exports.collectExpressionPaths = collectExpressionPaths;
|
|
|
5
5
|
exports.expressionPathToString = expressionPathToString;
|
|
6
6
|
exports.modelGraphToExpression = modelGraphToExpression;
|
|
7
7
|
|
|
8
|
+
require("core-js/modules/esnext.async-iterator.map.js");
|
|
9
|
+
|
|
10
|
+
require("core-js/modules/esnext.iterator.map.js");
|
|
11
|
+
|
|
8
12
|
var _utils = require("@ditojs/utils");
|
|
9
13
|
|
|
10
14
|
function collectExpressionPaths(expr) {
|
|
@@ -69,4 +73,4 @@ function modelGraphToExpression(modelGraph, expr) {
|
|
|
69
73
|
|
|
70
74
|
return expr;
|
|
71
75
|
}
|
|
72
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
76
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ncmFwaC9leHByZXNzaW9uLmpzIl0sIm5hbWVzIjpbImNvbGxlY3RFeHByZXNzaW9uUGF0aHMiLCJleHByIiwicGF0aHMiLCJrZXkiLCJPYmplY3QiLCJrZXlzIiwiY2hpbGQiLCJyZWxhdGlvbiIsIiRyZWxhdGlvbiIsImFsaWFzIiwidW5kZWZpbmVkIiwibW9kaWZ5IiwiJG1vZGlmeSIsImVudHJ5Iiwic3ViUGF0aHMiLCJsZW5ndGgiLCJzdWJQYXRoIiwicHVzaCIsImV4cHJlc3Npb25QYXRoVG9TdHJpbmciLCJwYXRoIiwic3RhcnQiLCJzbGljZSIsIm1hcCIsImpvaW4iLCJtb2RlbEdyYXBoVG9FeHByZXNzaW9uIiwibW9kZWxHcmFwaCIsIm1vZGVsIiwicmVsYXRpb25zIiwiY29uc3RydWN0b3IiLCJnZXRSZWxhdGlvbnMiLCJuYW1lIiwidmFsdWVzIiwiaGFzT3duUHJvcGVydHkiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7O0FBRU8sU0FBU0Esc0JBQVQsQ0FBZ0NDLElBQWhDLEVBQXNDO0FBQzNDLFFBQU1DLEtBQUssR0FBRyxFQUFkOztBQUNBLE9BQUssTUFBTUMsR0FBWCxJQUFrQkMsTUFBTSxDQUFDQyxJQUFQLENBQVlKLElBQVosQ0FBbEIsRUFBcUM7QUFDbkMsVUFBTUssS0FBSyxHQUFHTCxJQUFJLENBQUNFLEdBQUQsQ0FBbEI7O0FBQ0EsUUFBSSxxQkFBU0csS0FBVCxDQUFKLEVBQXFCO0FBQ25CLFlBQU1DLFFBQVEsR0FBR0QsS0FBSyxDQUFDRSxTQUFOLElBQW1CTCxHQUFwQztBQUNBLFlBQU1NLEtBQUssR0FBR0YsUUFBUSxLQUFLSixHQUFiLEdBQW1CQSxHQUFuQixHQUF5Qk8sU0FBdkM7QUFDQSxZQUFNQyxNQUFNLEdBQUdMLEtBQUssQ0FBQ00sT0FBckI7QUFDQSxZQUFNQyxLQUFLLEdBQUc7QUFBRU4sUUFBQUEsUUFBRjtBQUFZRSxRQUFBQSxLQUFaO0FBQW1CRSxRQUFBQTtBQUFuQixPQUFkO0FBQ0EsWUFBTUcsUUFBUSxHQUFHZCxzQkFBc0IsQ0FBQ00sS0FBRCxDQUF2Qzs7QUFDQSxVQUFJUSxRQUFRLENBQUNDLE1BQVQsR0FBa0IsQ0FBdEIsRUFBeUI7QUFFdkIsYUFBSyxNQUFNQyxPQUFYLElBQXNCRixRQUF0QixFQUFnQztBQUM5QlosVUFBQUEsS0FBSyxDQUFDZSxJQUFOLENBQVcsQ0FBQ0osS0FBRCxFQUFRLEdBQUdHLE9BQVgsQ0FBWDtBQUNEO0FBQ0YsT0FMRCxNQUtPO0FBRUxkLFFBQUFBLEtBQUssQ0FBQ2UsSUFBTixDQUFXLENBQUNKLEtBQUQsQ0FBWDtBQUNEO0FBQ0Y7QUFDRjs7QUFDRCxTQUFPWCxLQUFQO0FBQ0Q7O0FBRU0sU0FBU2dCLHNCQUFULENBQWdDQyxJQUFoQyxFQUFzQ0MsS0FBSyxHQUFHLENBQTlDLEVBQWlEO0FBQ3RELFNBQU8sQ0FBQ0EsS0FBSyxHQUFHRCxJQUFJLENBQUNFLEtBQUwsQ0FBV0QsS0FBWCxDQUFILEdBQXVCRCxJQUE3QixFQUNKRyxHQURJLENBRUgsQ0FBQztBQUFFZixJQUFBQSxRQUFGO0FBQVlFLElBQUFBLEtBQVo7QUFBbUJFLElBQUFBO0FBQW5CLEdBQUQsS0FBaUM7QUFDL0IsVUFBTVYsSUFBSSxHQUFHUSxLQUFLLEdBQUksR0FBRUYsUUFBUyxPQUFNRSxLQUFNLEVBQTNCLEdBQStCRixRQUFqRDtBQUNBLFdBQU9JLE1BQU0sQ0FBQ0ksTUFBUCxHQUFnQixDQUFoQixHQUNGLEdBQUVkLElBQUssSUFBR1UsTUFBTSxDQUFDWSxJQUFQLENBQVksSUFBWixDQUFrQixHQUQxQixHQUVIdEIsSUFGSjtBQUdELEdBUEUsRUFTSnNCLElBVEksQ0FTQyxHQVRELENBQVA7QUFVRDs7QUFFTSxTQUFTQyxzQkFBVCxDQUFnQ0MsVUFBaEMsRUFBNEN4QixJQUE1QyxFQUFrRDtBQUN2RCxNQUFJd0IsVUFBSixFQUFnQjtBQUNkeEIsSUFBQUEsSUFBSSxHQUFHQSxJQUFJLElBQUksRUFBZjs7QUFDQSxTQUFLLE1BQU15QixLQUFYLElBQW9CLG9CQUFRRCxVQUFSLENBQXBCLEVBQXlDO0FBQ3ZDLFVBQUlDLEtBQUosRUFBVztBQUNULGNBQU1DLFNBQVMsR0FBR0QsS0FBSyxDQUFDRSxXQUFOLENBQWtCQyxZQUFsQixFQUFsQjs7QUFDQSxhQUFLLE1BQU07QUFBRUMsVUFBQUE7QUFBRixTQUFYLElBQXVCMUIsTUFBTSxDQUFDMkIsTUFBUCxDQUFjSixTQUFkLENBQXZCLEVBQWlEO0FBQy9DLGNBQUlELEtBQUssQ0FBQ00sY0FBTixDQUFxQkYsSUFBckIsQ0FBSixFQUFnQztBQUM5QjdCLFlBQUFBLElBQUksQ0FBQzZCLElBQUQsQ0FBSixHQUFhTixzQkFBc0IsQ0FBQ0UsS0FBSyxDQUFDSSxJQUFELENBQU4sRUFBYzdCLElBQUksQ0FBQzZCLElBQUQsQ0FBbEIsQ0FBbkM7QUFDRDtBQUNGO0FBQ0Y7QUFDRjtBQUNGOztBQUNELFNBQU83QixJQUFQO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc09iamVjdCwgYXNBcnJheSB9IGZyb20gJ0BkaXRvanMvdXRpbHMnXG5cbmV4cG9ydCBmdW5jdGlvbiBjb2xsZWN0RXhwcmVzc2lvblBhdGhzKGV4cHIpIHtcbiAgY29uc3QgcGF0aHMgPSBbXVxuICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhleHByKSkge1xuICAgIGNvbnN0IGNoaWxkID0gZXhwcltrZXldXG4gICAgaWYgKGlzT2JqZWN0KGNoaWxkKSkge1xuICAgICAgY29uc3QgcmVsYXRpb24gPSBjaGlsZC4kcmVsYXRpb24gfHwga2V5XG4gICAgICBjb25zdCBhbGlhcyA9IHJlbGF0aW9uICE9PSBrZXkgPyBrZXkgOiB1bmRlZmluZWRcbiAgICAgIGNvbnN0IG1vZGlmeSA9IGNoaWxkLiRtb2RpZnlcbiAgICAgIGNvbnN0IGVudHJ5ID0geyByZWxhdGlvbiwgYWxpYXMsIG1vZGlmeSB9XG4gICAgICBjb25zdCBzdWJQYXRocyA9IGNvbGxlY3RFeHByZXNzaW9uUGF0aHMoY2hpbGQpXG4gICAgICBpZiAoc3ViUGF0aHMubGVuZ3RoID4gMCkge1xuICAgICAgICAvLyBUaGUgY2hpbGQgaGFzIGl0c2VsZiBjaGlsZHJlbi5cbiAgICAgICAgZm9yIChjb25zdCBzdWJQYXRoIG9mIHN1YlBhdGhzKSB7XG4gICAgICAgICAgcGF0aHMucHVzaChbZW50cnksIC4uLnN1YlBhdGhdKVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBUaGUgY2hpbGQgaXMgYSBsZWFmLlxuICAgICAgICBwYXRocy5wdXNoKFtlbnRyeV0pXG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiBwYXRoc1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZXhwcmVzc2lvblBhdGhUb1N0cmluZyhwYXRoLCBzdGFydCA9IDApIHtcbiAgcmV0dXJuIChzdGFydCA/IHBhdGguc2xpY2Uoc3RhcnQpIDogcGF0aClcbiAgICAubWFwKFxuICAgICAgKHsgcmVsYXRpb24sIGFsaWFzLCBtb2RpZnkgfSkgPT4ge1xuICAgICAgICBjb25zdCBleHByID0gYWxpYXMgPyBgJHtyZWxhdGlvbn0gYXMgJHthbGlhc31gIDogcmVsYXRpb25cbiAgICAgICAgcmV0dXJuIG1vZGlmeS5sZW5ndGggPiAwXG4gICAgICAgICAgPyBgJHtleHByfSgke21vZGlmeS5qb2luKCcsICcpfSlgXG4gICAgICAgICAgOiBleHByXG4gICAgICB9XG4gICAgKVxuICAgIC5qb2luKCcuJylcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1vZGVsR3JhcGhUb0V4cHJlc3Npb24obW9kZWxHcmFwaCwgZXhwcikge1xuICBpZiAobW9kZWxHcmFwaCkge1xuICAgIGV4cHIgPSBleHByIHx8IHt9XG4gICAgZm9yIChjb25zdCBtb2RlbCBvZiBhc0FycmF5KG1vZGVsR3JhcGgpKSB7XG4gICAgICBpZiAobW9kZWwpIHtcbiAgICAgICAgY29uc3QgcmVsYXRpb25zID0gbW9kZWwuY29uc3RydWN0b3IuZ2V0UmVsYXRpb25zKClcbiAgICAgICAgZm9yIChjb25zdCB7IG5hbWUgfSBvZiBPYmplY3QudmFsdWVzKHJlbGF0aW9ucykpIHtcbiAgICAgICAgICBpZiAobW9kZWwuaGFzT3duUHJvcGVydHkobmFtZSkpIHtcbiAgICAgICAgICAgIGV4cHJbbmFtZV0gPSBtb2RlbEdyYXBoVG9FeHByZXNzaW9uKG1vZGVsW25hbWVdLCBleHByW25hbWVdKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICByZXR1cm4gZXhwclxufVxuIl19
|
package/lib/graph/graph.js
CHANGED
|
@@ -3,12 +3,18 @@
|
|
|
3
3
|
exports.__esModule = true;
|
|
4
4
|
exports.ensureModel = ensureModel;
|
|
5
5
|
exports.ensureModelArray = ensureModelArray;
|
|
6
|
-
exports.walkGraph = walkGraph;
|
|
7
6
|
exports.filterGraph = filterGraph;
|
|
8
7
|
exports.populateGraph = populateGraph;
|
|
8
|
+
exports.walkGraph = walkGraph;
|
|
9
|
+
|
|
10
|
+
require("core-js/modules/esnext.async-iterator.map.js");
|
|
11
|
+
|
|
12
|
+
require("core-js/modules/esnext.iterator.map.js");
|
|
9
13
|
|
|
10
14
|
require("core-js/modules/esnext.map.delete-all.js");
|
|
11
15
|
|
|
16
|
+
require("core-js/modules/esnext.map.emplace.js");
|
|
17
|
+
|
|
12
18
|
require("core-js/modules/esnext.map.every.js");
|
|
13
19
|
|
|
14
20
|
require("core-js/modules/esnext.map.filter.js");
|
|
@@ -33,6 +39,16 @@ require("core-js/modules/esnext.map.some.js");
|
|
|
33
39
|
|
|
34
40
|
require("core-js/modules/esnext.map.update.js");
|
|
35
41
|
|
|
42
|
+
require("core-js/modules/esnext.async-iterator.reduce.js");
|
|
43
|
+
|
|
44
|
+
require("core-js/modules/esnext.iterator.constructor.js");
|
|
45
|
+
|
|
46
|
+
require("core-js/modules/esnext.iterator.reduce.js");
|
|
47
|
+
|
|
48
|
+
require("core-js/modules/esnext.async-iterator.filter.js");
|
|
49
|
+
|
|
50
|
+
require("core-js/modules/esnext.iterator.filter.js");
|
|
51
|
+
|
|
36
52
|
var _utils = require("@ditojs/utils");
|
|
37
53
|
|
|
38
54
|
var _query = require("../query");
|
|
@@ -281,4 +297,4 @@ async function populateGraph(rootModelClass, graph, expr, trx) {
|
|
|
281
297
|
|
|
282
298
|
return graph;
|
|
283
299
|
}
|
|
284
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ncmFwaC9ncmFwaC5qcyJdLCJuYW1lcyI6WyJlbnN1cmVNb2RlbCIsIm1vZGVsQ2xhc3MiLCJtb2RlbCIsIm9wdGlvbnMiLCJwYXJzZVJlbGF0aW9uc0ludG9Nb2RlbEluc3RhbmNlcyIsImZyb21Kc29uIiwiZW5zdXJlTW9kZWxBcnJheSIsImRhdGEiLCJtYXAiLCJqc29uIiwiY2FjaGUiLCJNYXAiLCJzZXQiLCJyZWxhdGlvbk5hbWUiLCJjb25zdHJ1Y3RvciIsImdldFJlbGF0aW9uTmFtZXMiLCJqc29uUmVsYXRpb24iLCJ1bmRlZmluZWQiLCJyZWxhdGlvbiIsImdldFJlbGF0aW9uIiwicGFyc2VkUmVsYXRpb24iLCJwYXJzZVJlbGF0aW9uIiwibmFtZSIsInBhcnNlUmVsYXRpb25BcnJheSIsInBhcnNlUmVsYXRpb25PYmplY3QiLCJtb2RlbHMiLCJBcnJheSIsImxlbmd0aCIsImNoYW5nZWQiLCJpIiwibCIsInJlbGF0ZWRNb2RlbENsYXNzIiwiZ2V0Iiwid2Fsa0dyYXBoIiwiY2FsbGJhY2siLCJwYXRoIiwia2V5IiwidmFsdWUiLCJPYmplY3QiLCJlbnRyaWVzIiwiZGF0YVBhdGgiLCJmaWx0ZXJHcmFwaCIsInJvb3RNb2RlbENsYXNzIiwibW9kZWxHcmFwaCIsImV4cHIiLCJRdWVyeUJ1aWxkZXIiLCJwYXJzZVJlbGF0aW9uRXhwcmVzc2lvbiIsInNraXBWYWxpZGF0aW9uIiwicmVsYXRpb25zIiwiZ2V0UmVsYXRpb25zIiwia2V5cyIsImNoaWxkIiwicG9wdWxhdGVHcmFwaCIsImdyYXBoIiwidHJ4IiwiZ3JvdXBlZCIsImFkZFRvR3JvdXAiLCJpdGVtIiwiaXNSZWZlcmVuY2UiLCJtb2RpZnkiLCJpZCIsIiRpZCIsImdyb3VwIiwidGFyZ2V0cyIsImlkcyIsIm1vZGVsc0J5SWQiLCJwdXNoIiwibW9kZWxDbGFzc2VzIiwibGFzdE1vZGlmeSIsImVudHJ5IiwiaXRlbXMiLCJyZWR1Y2UiLCJhZGQiLCJncm91cHMiLCJ2YWx1ZXMiLCJmaWx0ZXIiLCJQcm9taXNlIiwiYWxsIiwicXVlcnkiLCJmaW5kQnlJZHMiLCJ3aXRoR3JhcGgiLCJhc3NpZ24iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBR08sU0FBU0EsV0FBVCxDQUFxQkMsVUFBckIsRUFBaUNDLEtBQWpDLEVBQXdDQyxPQUF4QyxFQUFpRDtBQUN0RCxTQUFPLENBQUNELEtBQUQsR0FDSCxJQURHLEdBRUhBLEtBQUssWUFBWUQsVUFBakIsR0FDRUcsZ0NBQWdDLENBQUNGLEtBQUQsRUFBUUEsS0FBUixFQUFlQyxPQUFmLENBRGxDLEdBRUVGLFVBQVUsQ0FBQ0ksUUFBWCxDQUFvQkgsS0FBcEIsRUFBMkJDLE9BQTNCLENBSk47QUFLRDs7QUFHTSxTQUFTRyxnQkFBVCxDQUEwQkwsVUFBMUIsRUFBc0NNLElBQXRDLEVBQTRDSixPQUE1QyxFQUFxRDtBQUMxRCxTQUFPSSxJQUFJLEdBQ1Asb0JBQVFBLElBQVIsRUFBY0MsR0FBZCxDQUFrQk4sS0FBSyxJQUFJRixXQUFXLENBQUNDLFVBQUQsRUFBYUMsS0FBYixFQUFvQkMsT0FBcEIsQ0FBdEMsQ0FETyxHQUVQLEVBRko7QUFHRDs7QUFFRCxTQUFTQyxnQ0FBVCxDQUEwQ0YsS0FBMUMsRUFBaURPLElBQWpELEVBQXVETixPQUFPLEdBQUcsRUFBakUsRUFBcUU7QUFDbkUsTUFBSSxDQUFDQSxPQUFPLENBQUNPLEtBQWIsRUFBb0I7QUFDbEJQLElBQUFBLE9BQU8sR0FBRyxFQUFFLEdBQUdBLE9BQUw7QUFBY08sTUFBQUEsS0FBSyxFQUFFLElBQUlDLEdBQUo7QUFBckIsS0FBVjtBQUNEOztBQUNEUixFQUFBQSxPQUFPLENBQUNPLEtBQVIsQ0FBY0UsR0FBZCxDQUFrQkgsSUFBbEIsRUFBd0JQLEtBQXhCOztBQUVBLE9BQUssTUFBTVcsWUFBWCxJQUEyQlgsS0FBSyxDQUFDWSxXQUFOLENBQWtCQyxnQkFBbEIsRUFBM0IsRUFBaUU7QUFDL0QsVUFB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O0FBQ0EsWUFBSTNELEtBQUosRUFBVztBQUNULGNBQUl3RCxXQUFKLEVBQWlCO0FBRWZwQixZQUFBQSxNQUFNLENBQUMyQyxNQUFQLENBQWN4QixJQUFkLEVBQW9CdkQsS0FBcEI7QUFDRCxXQUhELE1BR087QUFFTHVELFlBQUFBLElBQUksQ0FBQ3ZDLFFBQUQsQ0FBSixHQUFpQmhCLEtBQUssQ0FBQ2dCLFFBQUQsQ0FBdEI7QUFDRDtBQUNGO0FBQ0Y7QUFDRjtBQUNGOztBQUVELFNBQU9tQyxLQUFQO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc09iamVjdCwgaXNBcnJheSwgYXNBcnJheSB9IGZyb20gJ0BkaXRvanMvdXRpbHMnXG5pbXBvcnQgeyBRdWVyeUJ1aWxkZXIgfSBmcm9tICdAL3F1ZXJ5J1xuaW1wb3J0IHsgY29sbGVjdEV4cHJlc3Npb25QYXRocywgZXhwcmVzc2lvblBhdGhUb1N0cmluZyB9IGZyb20gJy4vZXhwcmVzc2lvbi5qcydcblxuLy8gU2ltaWxhciB0byBPYmplY3Rpb24ncyBwcml2YXRlIGBtb2RlbENsYXNzLmVuc3VyZU1vZGVsKG1vZGVsKWA6XG5leHBvcnQgZnVuY3Rpb24gZW5zdXJlTW9kZWwobW9kZWxDbGFzcywgbW9kZWwsIG9wdGlvbnMpIHtcbiAgcmV0dXJuICFtb2RlbFxuICAgID8gbnVsbFxuICAgIDogbW9kZWwgaW5zdGFuY2VvZiBtb2RlbENsYXNzXG4gICAgICA/IHBhcnNlUmVsYXRpb25zSW50b01vZGVsSW5zdGFuY2VzKG1vZGVsLCBtb2RlbCwgb3B0aW9ucylcbiAgICAgIDogbW9kZWxDbGFzcy5mcm9tSnNvbihtb2RlbCwgb3B0aW9ucylcbn1cblxuLy8gU2ltaWxhciB0byBPYmplY3Rpb24ncyBwcml2YXRlIGBtb2RlbENsYXNzLmVuc3VyZU1vZGVsQXJyYXkoZGF0YSlgOlxuZXhwb3J0IGZ1bmN0aW9uIGVuc3VyZU1vZGVsQXJyYXkobW9kZWxDbGFzcywgZGF0YSwgb3B0aW9ucykge1xuICByZXR1cm4gZGF0YVxuICAgID8gYXNBcnJheShkYXRhKS5tYXAobW9kZWwgPT4gZW5zdXJlTW9kZWwobW9kZWxDbGFzcywgbW9kZWwsIG9wdGlvbnMpKVxuICAgIDogW11cbn1cblxuZnVuY3Rpb24gcGFyc2VSZWxhdGlvbnNJbnRvTW9kZWxJbnN0YW5jZXMobW9kZWwsIGpzb24sIG9wdGlvbnMgPSB7fSkge1xuICBpZiAoIW9wdGlvbnMuY2FjaGUpIHtcbiAgICBvcHRpb25zID0geyAuLi5vcHRpb25zLCBjYWNoZTogbmV3IE1hcCgpIH1cbiAgfVxuICBvcHRpb25zLmNhY2hlLnNldChqc29uLCBtb2RlbClcblxuICBmb3IgKGNvbnN0IHJlbGF0aW9uTmFtZSBvZiBtb2RlbC5jb25zdHJ1Y3Rvci5nZXRSZWxhdGlvbk5hbWVzKCkpIHtcbiAgICBjb25zdCBqc29uUmVsYXRpb24gPSBqc29uW3JlbGF0aW9uTmFtZV1cbiAgICBpZiAoanNvblJlbGF0aW9uICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGNvbnN0IHJlbGF0aW9uID0gbW9kZWwuY29uc3RydWN0b3IuZ2V0UmVsYXRpb24ocmVsYXRpb25OYW1lKVxuICAgICAgY29uc3QgcGFyc2VkUmVsYXRpb24gPSBwYXJzZVJlbGF0aW9uKGpzb25SZWxhdGlvbiwgcmVsYXRpb24sIG9wdGlvbnMpXG4gICAgICBpZiAocGFyc2VkUmVsYXRpb24gIT09IGpzb25SZWxhdGlvbikge1xuICAgICAgICBtb2RlbFtyZWxhdGlvbi5uYW1lXSA9IHBhcnNlZFJlbGF0aW9uXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG1vZGVsXG59XG5cbmZ1bmN0aW9uIHBhcnNlUmVsYXRpb24oanNvbiwgcmVsYXRpb24sIG9wdGlvbnMpIHtcbiAgcmV0dXJuIGlzQXJyYXkoanNvbilcbiAgICA/IHBhcnNlUmVsYXRpb25BcnJheShqc29uLCByZWxhdGlvbiwgb3B0aW9ucylcbiAgICA6IHBhcnNlUmVsYXRpb25PYmplY3QoanNvbiwgcmVsYXRpb24sIG9wdGlvbnMpXG59XG5cbmZ1bmN0aW9uIHBhcnNlUmVsYXRpb25BcnJheShqc29uLCByZWxhdGlvbiwgb3B0aW9ucykge1xuICBjb25zdCBtb2RlbHMgPSBuZXcgQXJyYXkoanNvbi5sZW5ndGgpXG4gIGxldCBjaGFuZ2VkID0gZmFsc2VcbiAgZm9yIChsZXQgaSA9IDAsIGwgPSBqc29uLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgIGNvbnN0IG1vZGVsID0gcGFyc2VSZWxhdGlvbk9iamVjdChqc29uW2ldLCByZWxhdGlvbiwgb3B0aW9ucylcbiAgICBjaGFuZ2VkID0gY2hhbmdlZCB8fCAobW9kZWwgIT09IGpzb25baV0pXG4gICAgbW9kZWxzW2ldID0gbW9kZWxcbiAgfVxuICByZXR1cm4gY2hhbmdlZCA/IG1vZGVscyA6IGpzb25cbn1cblxuZnVuY3Rpb24gcGFyc2VSZWxhdGlvbk9iamVjdChqc29uLCByZWxhdGlvbiwgb3B0aW9ucykge1xuICBpZiAoaXNPYmplY3QoanNvbikpIHtcbiAgICBjb25zdCBtb2RlbENsYXNzID0gcmVsYXRpb24ucmVsYXRlZE1vZGVsQ2xhc3NcbiAgICBsZXQgbW9kZWwgPSBvcHRpb25zLmNhY2hlLmdldChqc29uKVxuICAgIGlmIChtb2RlbCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBpZiAoanNvbiBpbnN0YW5jZW9mIG1vZGVsQ2xhc3MpIHtcbiAgICAgICAgbW9kZWwgPSBwYXJzZVJlbGF0aW9uc0ludG9Nb2RlbEluc3RhbmNlcyhqc29uLCBqc29uLCBvcHRpb25zKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbW9kZWwgPSBtb2RlbENsYXNzLmZyb21Kc29uKGpzb24sIG9wdGlvbnMpXG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBtb2RlbFxuICB9XG4gIHJldHVybiBqc29uXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB3YWxrR3JhcGgoZGF0YSwgY2FsbGJhY2ssIHBhdGggPSBbXSkge1xuICBpZiAoaXNPYmplY3QoZGF0YSkgfHwgaXNBcnJheShkYXRhKSkge1xuICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKGRhdGEpKSB7XG4gICAgICBjb25zdCBkYXRhUGF0aCA9IFsuLi5wYXRoLCBrZXldXG4gICAgICBjYWxsYmFjayh2YWx1ZSwgZGF0YVBhdGgsIGRhdGEsIGtleSlcbiAgICAgIHdhbGtHcmFwaCh2YWx1ZSwgY2FsbGJhY2ssIGRhdGFQYXRoKVxuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZmlsdGVyR3JhcGgocm9vdE1vZGVsQ2xhc3MsIG1vZGVsR3JhcGgsIGV4cHIpIHtcbiAgZXhwciA9IFF1ZXJ5QnVpbGRlci5wYXJzZVJlbGF0aW9uRXhwcmVzc2lvbihleHByKVxuICBjb25zdCBtb2RlbHMgPSBlbnN1cmVNb2RlbEFycmF5KHJvb3RNb2RlbENsYXNzLCBtb2RlbEdyYXBoLCB7XG4gICAgc2tpcFZhbGlkYXRpb246IHRydWVcbiAgfSlcbiAgZm9yIChjb25zdCBtb2RlbCBvZiBtb2RlbHMpIHtcbiAgICBpZiAobW9kZWwpIHtcbiAgICAgIGNvbnN0IHJlbGF0aW9ucyA9IG1vZGVsLmNvbnN0cnVjdG9yLmdldFJlbGF0aW9ucygpXG4gICAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhtb2RlbCkpIHtcbiAgICAgICAgY29uc3QgcmVsYXRpb24gPSByZWxhdGlvbnNba2V5XVxuICAgICAgICBpZiAocmVsYXRpb24pIHtcbiAgICAgICAgICBjb25zdCBjaGlsZCA9IGV4cHJba2V5XVxuICAgICAgICAgIGlmIChjaGlsZCkge1xuICAgICAgICAgICAgLy8gQWxsb3dlZCByZWxhdGlvbiwga2VlcCBmaWx0ZXJpbmcgcmVjdXJzaXZlbHk6XG4gICAgICAgICAgICBmaWx0ZXJHcmFwaChcbiAgICAgICAgICAgICAgcmVsYXRpb24ucmVsYXRlZE1vZGVsQ2xhc3MsXG4gICAgICAgICAgICAgIG1vZGVsW2tleV0sXG4gICAgICAgICAgICAgIGNoaWxkXG4gICAgICAgICAgICApXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIERpc2FsbG93ZWQgcmVsYXRpb24sIGRlbGV0ZTpcbiAgICAgICAgICAgIGRlbGV0ZSBtb2RlbFtrZXldXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiBtb2RlbEdyYXBoXG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBwb3B1bGF0ZUdyYXBoKHJvb3RNb2RlbENsYXNzLCBncmFwaCwgZXhwciwgdHJ4KSB7XG4gIC8vIFRPRE86IE9wdGltaXplIHRoZSBzY2VuYXJpbyB3aGVyZSBhbiBpdGVtIHRoYXQgaXNuJ3QgYSBsZWFmIGlzIGFcbiAgLy8gcmVmZXJlbmNlIGFuZCBoYXMgbXVsdGlwbGUgc3ViLXBhdGhzIHRvIGJlIHBvcHVsYXRlZC4gV2UgbWF5IG5lZWQgdG9cbiAgLy8gbW92ZSBhd2F5IGZyb20gZ3JhcGggcGF0aCBoYW5kbGluZyBhbmQgZGlyZWN0bHkgcHJvY2VzcyB0aGUgZXhwcmVzc2lvblxuICAvLyB0cmVlLCBjb21wb3NpbmcgcGF0aHMgdG8gdGhlIGN1cnJlbnQgcGxhY2Ugb24gdGhlIGZseSwgYW5kIHByb2Nlc3MgZGF0YVxuICAvLyB3aXRoIGFkZFRvR3JvdXAoKS4gVGhlbiB1c2UgdGhlIHN1Yi10cmVlIGFzIGdyYXBoIGV4cHJlc3Npb24gd2hlblxuICAvLyBlbmNvdW50ZXJpbmcgcmVmZXJlbmNlcyAobmVlZHMgdG9TdHJpbmcoKSBmb3IgY2FjaGluZyBhbHNvPylcbiAgLy8gVE9ETzogQmV0dGVyIGlkZWE6IEZpcnN0IGNhY2hlIGdyb3VwcyBieSB0aGUgcGF0aCB1cCB0byB0aGVpciBsb2NhdGlvbiBpblxuICAvLyB0aGUgZ3JhcGgsIGFuZCBjb2xsZWN0IG1vZGlmeSArIGdyYXBoIGV4cHJlc3Npb25zIHRoZXJlIGZvciByZWZlcmVuY2VzXG4gIC8vIHRoYXQgYXJlIG5vdCBsZWF2ZXMuIFRoZW4gdXNlIHRoZSByZXN1bHRpbmcgbm9kZXMgdG8gY3JlYXRlIG5ldyBncm91cHMgYnlcbiAgLy8gbW9kZWwgbmFtZSAvIG1vZGlmeSAvIGdyYXBoIGV4cHJlc3Npb25zLlxuICBleHByID0gUXVlcnlCdWlsZGVyLnBhcnNlUmVsYXRpb25FeHByZXNzaW9uKGV4cHIpXG4gIC8vIENvbnZlcnQgdGhlIHJlbGF0aW9uIGV4cHJlc3Npb24gdG8gYW4gYXJyYXkgb2YgcGF0aHMsIHRoYXQgdGhlbXNlbHZlc1xuICAvLyBjb250YWluIHBhdGggZW50cmllcyB3aXRoIHJlbGF0aW9uIG5hbWVzIGFuZCBtb2RpZnkgc2V0dGluZ3MuXG5cbiAgY29uc3QgZ3JvdXBlZCA9IHt9XG4gIGNvbnN0IGFkZFRvR3JvdXAgPVxuICAgIChpdGVtLCBtb2RlbENsYXNzLCBpc1JlZmVyZW5jZSwgbW9kaWZ5LCByZWxhdGlvbiwgZXhwcikgPT4ge1xuICAgICAgY29uc3QgaWQgPSBpdGVtLiRpZCgpXG4gICAgICBpZiAoaWQgIT0gbnVsbCkge1xuICAgICAgICAvLyBHcm91cCBtb2RlbHMgYnkgbW9kZWwtbmFtZSArIG1vZGlmeSArIGV4cHIsIGZvciBmYXN0ZXIgbG9hZGluZzpcbiAgICAgICAgY29uc3Qga2V5ID0gYCR7bW9kZWxDbGFzcy5uYW1lfV8ke21vZGlmeX1fJHtleHByIHx8ICcnfWBcbiAgICAgICAgY29uc3QgZ3JvdXAgPSBncm91cGVkW2tleV0gfHwgKGdyb3VwZWRba2V5XSA9IHtcbiAgICAgICAgICBtb2RlbENsYXNzLFxuICAgICAgICAgIG1vZGlmeSxcbiAgICAgICAgICByZWxhdGlvbixcbiAgICAgICAgICBleHByLFxuICAgICAgICAgIHRhcmdldHM6IFtdLFxuICAgICAgICAgIGlkczogW10sXG4gICAgICAgICAgbW9kZWxzQnlJZDoge31cbiAgICAgICAgfSlcbiAgICAgICAgZ3JvdXAudGFyZ2V0cy5wdXNoKHsgaXRlbSwgaXNSZWZlcmVuY2UgfSlcbiAgICAgICAgLy8gQ29sbGVjdCBpZHMgdG8gYmUgbG9hZGVkIGZvciB0aGUgdGFyZ2V0cy5cbiAgICAgICAgZ3JvdXAuaWRzLnB1c2goaWQpXG4gICAgICB9XG4gICAgfVxuXG4gIGZvciAoY29uc3QgcGF0aCBvZiBjb2xsZWN0RXhwcmVzc2lvblBhdGhzKGV4cHIpKSB7XG4gICAgbGV0IG1vZGVsQ2xhc3MgPSByb290TW9kZWxDbGFzc1xuICAgIGNvbnN0IG1vZGVsQ2xhc3NlcyA9IFtdXG4gICAgbGV0IGxhc3RNb2RpZnlcbiAgICBmb3IgKGNvbnN0IGVudHJ5IG9mIHBhdGgpIHtcbiAgICAgIG1vZGVsQ2xhc3Nlcy5wdXNoKG1vZGVsQ2xhc3MpXG4gICAgICBtb2RlbENsYXNzID0gbW9kZWxDbGFzcy5nZXRSZWxhdGlvbihlbnRyeS5yZWxhdGlvbikucmVsYXRlZE1vZGVsQ2xhc3NcbiAgICAgIGxhc3RNb2RpZnkgPSBlbnRyeS5tb2RpZnlcbiAgICB9XG4gICAgZm9yIChjb25zdCBtb2RlbCBvZiBhc0FycmF5KGdyYXBoKSkge1xuICAgICAgaWYgKG1vZGVsKSB7XG4gICAgICAgIGxldCBpdGVtcyA9IGFzQXJyYXkobW9kZWwpXG4gICAgICAgIC8vIENvbGxlY3QgYWxsIGdyYXBoIGl0ZW1zIGRlc2NyaWJlZCBieSB0aGUgY3VycmVudCByZWxhdGlvbiBwYXRoIGluXG4gICAgICAgIC8vIG9uZSBsb29wOlxuICAgICAgICBmb3IgKGxldCBpID0gMCwgbCA9IHBhdGgubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICAgICAgaWYgKGl0ZW1zLmxlbmd0aCA9PT0gMCkgYnJlYWtcbiAgICAgICAgICBjb25zdCB7IHJlbGF0aW9uIH0gPSBwYXRoW2ldXG4gICAgICAgICAgY29uc3QgbW9kZWxDbGFzcyA9IG1vZGVsQ2xhc3Nlc1tpXVxuICAgICAgICAgIGl0ZW1zID0gaXRlbXMucmVkdWNlKChpdGVtcywgaXRlbSkgPT4ge1xuICAgICAgICAgICAgaXRlbSA9IGVuc3VyZU1vZGVsKG1vZGVsQ2xhc3MsIGl0ZW0sIHsgc2tpcFZhbGlkYXRpb246IHRydWUgfSlcbiAgICAgICAgICAgIGxldCBhZGQgPSBmYWxzZVxuICAgICAgICAgICAgY29uc3QgaXNSZWZlcmVuY2UgPSBtb2RlbENsYXNzLmlzUmVmZXJlbmNlKGl0ZW0pXG4gICAgICAgICAgICBpZiAoaXNSZWZlcmVuY2UpIHtcbiAgICAgICAgICAgICAgLy8gRGV0ZWN0ZWQgYSByZWZlcmVuY2UgaXRlbSB0aGF0IGlzbid0IGEgbGVhZjogV2UgbmVlZCB0b1xuICAgICAgICAgICAgICAvLyBlYWdlci1sb2FkIHRoZSByZXN0IG9mIHRoZSBwYXRoLCBhbmQgcmVzcGVjdCBtb2RpZnkgc2V0dGluZ3MuXG4gICAgICAgICAgICAgIGFkZCA9IHRydWVcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gaXRlbVtyZWxhdGlvbl1cbiAgICAgICAgICAgICAgLy8gQWRkIHRoZSBtb2RlbHMgb2YgdGhpcyByZWxhdGlvbiB0byBpdGVtcywgc28gdGhleSBjYW4gYmVcbiAgICAgICAgICAgICAgLy8gZmlsdGVyZWQgZnVydGhlciBpbiB0aGUgbmV4dCBpdGVyYXRpb24gb2YgdGhpcyBsb29wLlxuICAgICAgICAgICAgICBpZiAodmFsdWUgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIGl0ZW1zLnB1c2goLi4uYXNBcnJheSh2YWx1ZSkpXG4gICAgICAgICAgICAgIH0gZWxzZSBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIC8vIElmIHRoZSBmdWxsIHJlbGF0aW9uIGlzIG1pc3NpbmcgdHJ5IGVhZ2VyLWxvYWRpbmcgaXQuXG4gICAgICAgICAgICAgICAgLy8gTk9URTogVmFsdWVzIG9mIGBudWxsYCBhcmUgcmVzcGVjdGVkIGhlcmUsIG5vdCBsb2FkZWQgYWdhaW4uXG4gICAgICAgICAgICAgICAgYWRkID0gdHJ1ZVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoYWRkKSB7XG4gICAgICAgICAgICAgIC8vIGBwYXRoW2ldLm1vZGlmeWAgaXMgdGhlIGN1cnJlbnQgcmVsYXRpb24ncyBtb2RpZnkgZXhwcmVzc2lvbixcbiAgICAgICAgICAgICAgLy8gZ2V0IHRoZSBwYXJlbnQgb25lIGZvciBgbW9kZWxDbGFzc2A6XG4gICAgICAgICAgICAgIGNvbnN0IG1vZGlmeSA9IGkgPiAwID8gcGF0aFtpIC0gMV0ubW9kaWZ5IDogbnVsbFxuICAgICAgICAgICAgICBjb25zdCBleHByID0gZXhwcmVzc2lvblBhdGhUb1N0cmluZyhwYXRoLCBpKVxuICAgICAgICAgICAgICBhZGRUb0dyb3VwKGl0ZW0sIG1vZGVsQ2xhc3MsIGlzUmVmZXJlbmNlLCBtb2RpZnksIHJlbGF0aW9uLCBleHByKVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGl0ZW1zXG4gICAgICAgICAgfSwgW10pXG4gICAgICAgIH1cbiAgICAgICAgLy8gQWRkIGFsbCBlbmNvdW50ZXJlZCBsZWFmLXJlZmVyZW5jZXMgdG8gZ3JvdXBzIHRvIGJlIGxvYWRlZC5cbiAgICAgICAgZm9yIChjb25zdCBpdGVtIG9mIGl0ZW1zKSB7XG4gICAgICAgICAgLy8gT25seSBsb2FkIGxlYWZzIHRoYXQgYXJlIHJlZmVyZW5jZXMuXG4gICAgICAgICAgaWYgKG1vZGVsQ2xhc3MuaXNSZWZlcmVuY2UoaXRlbSkpIHtcbiAgICAgICAgICAgIGFkZFRvR3JvdXAoaXRlbSwgbW9kZWxDbGFzcywgdHJ1ZSwgbGFzdE1vZGlmeSlcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjb25zdCBncm91cHMgPSBPYmplY3QudmFsdWVzKGdyb3VwZWQpLmZpbHRlcigoeyBpZHMgfSkgPT4gaWRzLmxlbmd0aCA+IDApXG4gIGlmIChncm91cHMubGVuZ3RoID4gMCkge1xuICAgIC8vIExvYWQgYWxsIGZvdW5kIG1vZGVscyBieSBpZHMgYXN5bmNocm9ub3VzbHksIHdpdGhpbiBwcm92aWRlZCB0cmFuc2FjdGlvbi5cbiAgICAvLyBOT1RFOiBVc2luZyB0aGUgc2FtZSB0cmFuc2FjdGlvbiBtZWFucyB0aGF0IGFsbCBpbnZvbHZlZCB0YWJsZXMgbmVlZCB0b1xuICAgIC8vIGJlIGluIHRoZSBzYW1lIGRhdGFiYXNlLlxuICAgIGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgZ3JvdXBzLm1hcChhc3luYyAoeyBtb2RlbENsYXNzLCBtb2RpZnksIGV4cHIsIGlkcywgbW9kZWxzQnlJZCB9KSA9PiB7XG4gICAgICAgIGNvbnN0IHF1ZXJ5ID0gbW9kZWxDbGFzcy5xdWVyeSh0cngpLmZpbmRCeUlkcyhpZHMpLm1vZGlmeShtb2RpZnkpXG4gICAgICAgIGlmIChleHByKSB7XG4gICAgICAgICAgLy8gVE9ETzogTWFrZSBhbGdvcml0aG0gY29uZmlndXJhYmxlIHRocm91Z2ggb3B0aW9ucy5cbiAgICAgICAgICBxdWVyeS53aXRoR3JhcGgoZXhwcilcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBtb2RlbHMgPSBhd2FpdCBxdWVyeVxuICAgICAgICAvLyBGaWxsIHRoZSBncm91cC5tb2RlbHNCeUlkIGxvb2t1cDpcbiAgICAgICAgZm9yIChjb25zdCBtb2RlbCBvZiBtb2RlbHMpIHtcbiAgICAgICAgICBtb2RlbHNCeUlkW21vZGVsLiRpZCgpXSA9IG1vZGVsXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKVxuXG4gICAgLy8gRmluYWxseSBwb3B1bGF0ZSB0aGUgdGFyZ2V0cyB3aXRoIHRoZSBsb2FkZWQgbW9kZWxzLlxuICAgIGZvciAoY29uc3QgeyB0YXJnZXRzLCBtb2RlbHNCeUlkLCByZWxhdGlvbiB9IG9mIGdyb3Vwcykge1xuICAgICAgZm9yIChjb25zdCB7IGl0ZW0sIGlzUmVmZXJlbmNlIH0gb2YgdGFyZ2V0cykge1xuICAgICAgICBjb25zdCBtb2RlbCA9IG1vZGVsc0J5SWRbaXRlbS4kaWQoKV1cbiAgICAgICAgaWYgKG1vZGVsKSB7XG4gICAgICAgICAgaWYgKGlzUmVmZXJlbmNlKSB7XG4gICAgICAgICAgICAvLyBDb3B5IG92ZXIgdGhlIGZ1bGwgaXRlbS5cbiAgICAgICAgICAgIE9iamVjdC5hc3NpZ24oaXRlbSwgbW9kZWwpXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIEp1c3QgY29weSB0aGUgZWFnZXItbG9hZGVkIHJlbGF0aW9uLlxuICAgICAgICAgICAgaXRlbVtyZWxhdGlvbl0gPSBtb2RlbFtyZWxhdGlvbl1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gZ3JhcGhcbn1cbiJdfQ==
|
|
300
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ncmFwaC9ncmFwaC5qcyJdLCJuYW1lcyI6WyJlbnN1cmVNb2RlbCIsIm1vZGVsQ2xhc3MiLCJtb2RlbCIsIm9wdGlvbnMiLCJwYXJzZVJlbGF0aW9uc0ludG9Nb2RlbEluc3RhbmNlcyIsImZyb21Kc29uIiwiZW5zdXJlTW9kZWxBcnJheSIsImRhdGEiLCJtYXAiLCJqc29uIiwiY2FjaGUiLCJNYXAiLCJzZXQiLCJyZWxhdGlvbk5hbWUiLCJjb25zdHJ1Y3RvciIsImdldFJlbGF0aW9uTmFtZXMiLCJqc29uUmVsYXRpb24iLCJ1bmRlZmluZWQiLCJyZWxhdGlvbiIsImdldFJlbGF0aW9uIiwicGFyc2VkUmVsYXRpb24iLCJwYXJzZVJlbGF0aW9uIiwibmFtZSIsInBhcnNlUmVsYXRpb25BcnJheSIsInBhcnNlUmVsYXRpb25PYmplY3QiLCJtb2RlbHMiLCJBcnJheSIsImxlbmd0aCIsImNoYW5nZWQiLCJpIiwibCIsInJlbGF0ZWRNb2RlbENsYXNzIiwiZ2V0Iiwid2Fsa0dyYXBoIiwiY2FsbGJhY2siLCJwYXRoIiwia2V5IiwidmFsdWUiLCJPYmplY3QiLCJlbnRyaWVzIiwiZGF0YVBhdGgiLCJmaWx0ZXJHcmFwaCIsInJvb3RNb2RlbENsYXNzIiwibW9kZWxHcmFwaCIsImV4cHIiLCJRdWVyeUJ1aWxkZXIiLCJwYXJzZVJlbGF0aW9uRXhwcmVzc2lvbiIsInNraXBWYWxpZGF0aW9uIiwicmVsYXRpb25zIiwiZ2V0UmVsYXRpb25zIiwia2V5cyIsImNoaWxkIiwicG9wdWxhdGVHcmFwaCIsImdyYXBoIiwidHJ4IiwiZ3JvdXBlZCIsImFkZFRvR3JvdXAiLCJpdGVtIiwiaXNSZWZlcmVuY2UiLCJtb2RpZnkiLCJpZCIsIiRpZCIsImdyb3VwIiwidGFyZ2V0cyIsImlkcyIsIm1vZGVsc0J5SWQiLCJwdXNoIiwibW9kZWxDbGFzc2VzIiwibGFzdE1vZGlmeSIsImVudHJ5IiwiaXRlbXMiLCJyZWR1Y2UiLCJhZGQiLCJncm91cHMiLCJ2YWx1ZXMiLCJmaWx0ZXIiLCJQcm9taXNlIiwiYWxsIiwicXVlcnkiLCJmaW5kQnlJZHMiLCJ3aXRoR3JhcGgiLCJhc3NpZ24iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUdPLFNBQVNBLFdBQVQsQ0FBcUJDLFVBQXJCLEVBQWlDQyxLQUFqQyxFQUF3Q0MsT0FBeEMsRUFBaUQ7QUFDdEQsU0FBTyxDQUFDRCxLQUFELEdBQ0gsSUFERyxHQUVIQSxLQUFLLFlBQVlELFVBQWpCLEdBQ0VHLGdDQUFnQyxDQUFDRixLQUFELEVBQVFBLEtBQVIsRUFBZUMsT0FBZixDQURsQyxHQUVFRixVQUFVLENBQUNJLFFBQVgsQ0FBb0JILEtBQXBCLEVBQTJCQyxPQUEzQixDQUpOO0FBS0Q7O0FBR00sU0FBU0csZ0JBQVQsQ0FBMEJMLFVBQTFCLEVBQXNDTSxJQUF0QyxFQUE0Q0osT0FBNUMsRUFBcUQ7QUFDMUQsU0FBT0ksSUFBSSxHQUNQLG9CQUFRQSxJQUFSLEVBQWNDLEdBQWQsQ0FBa0JOLEtBQUssSUFBSUYsV0FBVyxDQUFDQyxVQUFELEVBQWFDLEtBQWIsRUFBb0JDLE9BQXBCLENBQXRDLENBRE8sR0FFUCxFQUZKO0FBR0Q7O0FBRUQsU0FBU0MsZ0NBQVQsQ0FBMENGLEtBQTFDLEVBQWlETyxJQUFqRCxFQUF1RE4sT0FBTyxHQUFHLEVBQWpFLEVBQXFFO0FBQ25FLE1BQUksQ0FBQ0EsT0FBTyxDQUFDTyxLQUFiLEVBQW9CO0FBQ2xCUCxJQUFBQSxPQUFPLEdBQUcsRUFBRSxHQUFHQSxPQUFMO0FBQWNPLE1BQUFBLEtBQUssRUFBRSxJQUFJQyxHQUFKO0FBQXJCLEtBQVY7QUFDRDs7QUFDRFIsRUFBQUEsT0FBTyxDQUFDTyxLQUFSLENBQWNFLEdBQWQsQ0FBa0JILElBQWxCLEVBQXdCUCxLQUF4Qjs7QUFFQSxPQUFLLE1BQU1XLFlBQVgsSUFBMkJYLEtBQUssQ0FBQ1ksV0FBTixDQUFrQkMsZ0JBQWxCLEVBQTNC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R0FBTCxFQUFELENBQXhCOztBQUNBLFlBQUkzRCxLQUFKLEVBQVc7QUFDVCxjQUFJd0QsV0FBSixFQUFpQjtBQUVmcEIsWUFBQUEsTUFBTSxDQUFDMkMsTUFBUCxDQUFjeEIsSUFBZCxFQUFvQnZELEtBQXBCO0FBQ0QsV0FIRCxNQUdPO0FBRUx1RCxZQUFBQSxJQUFJLENBQUN2QyxRQUFELENBQUosR0FBaUJoQixLQUFLLENBQUNnQixRQUFELENBQXRCO0FBQ0Q7QUFDRjtBQUNGO0FBQ0Y7QUFDRjs7QUFFRCxTQUFPbUMsS0FBUDtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNPYmplY3QsIGlzQXJyYXksIGFzQXJyYXkgfSBmcm9tICdAZGl0b2pzL3V0aWxzJ1xuaW1wb3J0IHsgUXVlcnlCdWlsZGVyIH0gZnJvbSAnQC9xdWVyeSdcbmltcG9ydCB7IGNvbGxlY3RFeHByZXNzaW9uUGF0aHMsIGV4cHJlc3Npb25QYXRoVG9TdHJpbmcgfSBmcm9tICcuL2V4cHJlc3Npb24uanMnXG5cbi8vIFNpbWlsYXIgdG8gT2JqZWN0aW9uJ3MgcHJpdmF0ZSBgbW9kZWxDbGFzcy5lbnN1cmVNb2RlbChtb2RlbClgOlxuZXhwb3J0IGZ1bmN0aW9uIGVuc3VyZU1vZGVsKG1vZGVsQ2xhc3MsIG1vZGVsLCBvcHRpb25zKSB7XG4gIHJldHVybiAhbW9kZWxcbiAgICA/IG51bGxcbiAgICA6IG1vZGVsIGluc3RhbmNlb2YgbW9kZWxDbGFzc1xuICAgICAgPyBwYXJzZVJlbGF0aW9uc0ludG9Nb2RlbEluc3RhbmNlcyhtb2RlbCwgbW9kZWwsIG9wdGlvbnMpXG4gICAgICA6IG1vZGVsQ2xhc3MuZnJvbUpzb24obW9kZWwsIG9wdGlvbnMpXG59XG5cbi8vIFNpbWlsYXIgdG8gT2JqZWN0aW9uJ3MgcHJpdmF0ZSBgbW9kZWxDbGFzcy5lbnN1cmVNb2RlbEFycmF5KGRhdGEpYDpcbmV4cG9ydCBmdW5jdGlvbiBlbnN1cmVNb2RlbEFycmF5KG1vZGVsQ2xhc3MsIGRhdGEsIG9wdGlvbnMpIHtcbiAgcmV0dXJuIGRhdGFcbiAgICA/IGFzQXJyYXkoZGF0YSkubWFwKG1vZGVsID0+IGVuc3VyZU1vZGVsKG1vZGVsQ2xhc3MsIG1vZGVsLCBvcHRpb25zKSlcbiAgICA6IFtdXG59XG5cbmZ1bmN0aW9uIHBhcnNlUmVsYXRpb25zSW50b01vZGVsSW5zdGFuY2VzKG1vZGVsLCBqc29uLCBvcHRpb25zID0ge30pIHtcbiAgaWYgKCFvcHRpb25zLmNhY2hlKSB7XG4gICAgb3B0aW9ucyA9IHsgLi4ub3B0aW9ucywgY2FjaGU6IG5ldyBNYXAoKSB9XG4gIH1cbiAgb3B0aW9ucy5jYWNoZS5zZXQoanNvbiwgbW9kZWwpXG5cbiAgZm9yIChjb25zdCByZWxhdGlvbk5hbWUgb2YgbW9kZWwuY29uc3RydWN0b3IuZ2V0UmVsYXRpb25OYW1lcygpKSB7XG4gICAgY29uc3QganNvblJlbGF0aW9uID0ganNvbltyZWxhdGlvbk5hbWVdXG4gICAgaWYgKGpzb25SZWxhdGlvbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBjb25zdCByZWxhdGlvbiA9IG1vZGVsLmNvbnN0cnVjdG9yLmdldFJlbGF0aW9uKHJlbGF0aW9uTmFtZSlcbiAgICAgIGNvbnN0IHBhcnNlZFJlbGF0aW9uID0gcGFyc2VSZWxhdGlvbihqc29uUmVsYXRpb24sIHJlbGF0aW9uLCBvcHRpb25zKVxuICAgICAgaWYgKHBhcnNlZFJlbGF0aW9uICE9PSBqc29uUmVsYXRpb24pIHtcbiAgICAgICAgbW9kZWxbcmVsYXRpb24ubmFtZV0gPSBwYXJzZWRSZWxhdGlvblxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBtb2RlbFxufVxuXG5mdW5jdGlvbiBwYXJzZVJlbGF0aW9uKGpzb24sIHJlbGF0aW9uLCBvcHRpb25zKSB7XG4gIHJldHVybiBpc0FycmF5KGpzb24pXG4gICAgPyBwYXJzZVJlbGF0aW9uQXJyYXkoanNvbiwgcmVsYXRpb24sIG9wdGlvbnMpXG4gICAgOiBwYXJzZVJlbGF0aW9uT2JqZWN0KGpzb24sIHJlbGF0aW9uLCBvcHRpb25zKVxufVxuXG5mdW5jdGlvbiBwYXJzZVJlbGF0aW9uQXJyYXkoanNvbiwgcmVsYXRpb24sIG9wdGlvbnMpIHtcbiAgY29uc3QgbW9kZWxzID0gbmV3IEFycmF5KGpzb24ubGVuZ3RoKVxuICBsZXQgY2hhbmdlZCA9IGZhbHNlXG4gIGZvciAobGV0IGkgPSAwLCBsID0ganNvbi5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICBjb25zdCBtb2RlbCA9IHBhcnNlUmVsYXRpb25PYmplY3QoanNvbltpXSwgcmVsYXRpb24sIG9wdGlvbnMpXG4gICAgY2hhbmdlZCA9IGNoYW5nZWQgfHwgKG1vZGVsICE9PSBqc29uW2ldKVxuICAgIG1vZGVsc1tpXSA9IG1vZGVsXG4gIH1cbiAgcmV0dXJuIGNoYW5nZWQgPyBtb2RlbHMgOiBqc29uXG59XG5cbmZ1bmN0aW9uIHBhcnNlUmVsYXRpb25PYmplY3QoanNvbiwgcmVsYXRpb24sIG9wdGlvbnMpIHtcbiAgaWYgKGlzT2JqZWN0KGpzb24pKSB7XG4gICAgY29uc3QgbW9kZWxDbGFzcyA9IHJlbGF0aW9uLnJlbGF0ZWRNb2RlbENsYXNzXG4gICAgbGV0IG1vZGVsID0gb3B0aW9ucy5jYWNoZS5nZXQoanNvbilcbiAgICBpZiAobW9kZWwgPT09IHVuZGVmaW5lZCkge1xuICAgICAgaWYgKGpzb24gaW5zdGFuY2VvZiBtb2RlbENsYXNzKSB7XG4gICAgICAgIG1vZGVsID0gcGFyc2VSZWxhdGlvbnNJbnRvTW9kZWxJbnN0YW5jZXMoanNvbiwganNvbiwgb3B0aW9ucylcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG1vZGVsID0gbW9kZWxDbGFzcy5mcm9tSnNvbihqc29uLCBvcHRpb25zKVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbW9kZWxcbiAgfVxuICByZXR1cm4ganNvblxufVxuXG5leHBvcnQgZnVuY3Rpb24gd2Fsa0dyYXBoKGRhdGEsIGNhbGxiYWNrLCBwYXRoID0gW10pIHtcbiAgaWYgKGlzT2JqZWN0KGRhdGEpIHx8IGlzQXJyYXkoZGF0YSkpIHtcbiAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhkYXRhKSkge1xuICAgICAgY29uc3QgZGF0YVBhdGggPSBbLi4ucGF0aCwga2V5XVxuICAgICAgY2FsbGJhY2sodmFsdWUsIGRhdGFQYXRoLCBkYXRhLCBrZXkpXG4gICAgICB3YWxrR3JhcGgodmFsdWUsIGNhbGxiYWNrLCBkYXRhUGF0aClcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpbHRlckdyYXBoKHJvb3RNb2RlbENsYXNzLCBtb2RlbEdyYXBoLCBleHByKSB7XG4gIGV4cHIgPSBRdWVyeUJ1aWxkZXIucGFyc2VSZWxhdGlvbkV4cHJlc3Npb24oZXhwcilcbiAgY29uc3QgbW9kZWxzID0gZW5zdXJlTW9kZWxBcnJheShyb290TW9kZWxDbGFzcywgbW9kZWxHcmFwaCwge1xuICAgIHNraXBWYWxpZGF0aW9uOiB0cnVlXG4gIH0pXG4gIGZvciAoY29uc3QgbW9kZWwgb2YgbW9kZWxzKSB7XG4gICAgaWYgKG1vZGVsKSB7XG4gICAgICBjb25zdCByZWxhdGlvbnMgPSBtb2RlbC5jb25zdHJ1Y3Rvci5nZXRSZWxhdGlvbnMoKVxuICAgICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMobW9kZWwpKSB7XG4gICAgICAgIGNvbnN0IHJlbGF0aW9uID0gcmVsYXRpb25zW2tleV1cbiAgICAgICAgaWYgKHJlbGF0aW9uKSB7XG4gICAgICAgICAgY29uc3QgY2hpbGQgPSBleHByW2tleV1cbiAgICAgICAgICBpZiAoY2hpbGQpIHtcbiAgICAgICAgICAgIC8vIEFsbG93ZWQgcmVsYXRpb24sIGtlZXAgZmlsdGVyaW5nIHJlY3Vyc2l2ZWx5OlxuICAgICAgICAgICAgZmlsdGVyR3JhcGgoXG4gICAgICAgICAgICAgIHJlbGF0aW9uLnJlbGF0ZWRNb2RlbENsYXNzLFxuICAgICAgICAgICAgICBtb2RlbFtrZXldLFxuICAgICAgICAgICAgICBjaGlsZFxuICAgICAgICAgICAgKVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBEaXNhbGxvd2VkIHJlbGF0aW9uLCBkZWxldGU6XG4gICAgICAgICAgICBkZWxldGUgbW9kZWxba2V5XVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICByZXR1cm4gbW9kZWxHcmFwaFxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcG9wdWxhdGVHcmFwaChyb290TW9kZWxDbGFzcywgZ3JhcGgsIGV4cHIsIHRyeCkge1xuICAvLyBUT0RPOiBPcHRpbWl6ZSB0aGUgc2NlbmFyaW8gd2hlcmUgYW4gaXRlbSB0aGF0IGlzbid0IGEgbGVhZiBpcyBhXG4gIC8vIHJlZmVyZW5jZSBhbmQgaGFzIG11bHRpcGxlIHN1Yi1wYXRocyB0byBiZSBwb3B1bGF0ZWQuIFdlIG1heSBuZWVkIHRvXG4gIC8vIG1vdmUgYXdheSBmcm9tIGdyYXBoIHBhdGggaGFuZGxpbmcgYW5kIGRpcmVjdGx5IHByb2Nlc3MgdGhlIGV4cHJlc3Npb25cbiAgLy8gdHJlZSwgY29tcG9zaW5nIHBhdGhzIHRvIHRoZSBjdXJyZW50IHBsYWNlIG9uIHRoZSBmbHksIGFuZCBwcm9jZXNzIGRhdGFcbiAgLy8gd2l0aCBhZGRUb0dyb3VwKCkuIFRoZW4gdXNlIHRoZSBzdWItdHJlZSBhcyBncmFwaCBleHByZXNzaW9uIHdoZW5cbiAgLy8gZW5jb3VudGVyaW5nIHJlZmVyZW5jZXMgKG5lZWRzIHRvU3RyaW5nKCkgZm9yIGNhY2hpbmcgYWxzbz8pXG4gIC8vIFRPRE86IEJldHRlciBpZGVhOiBGaXJzdCBjYWNoZSBncm91cHMgYnkgdGhlIHBhdGggdXAgdG8gdGhlaXIgbG9jYXRpb24gaW5cbiAgLy8gdGhlIGdyYXBoLCBhbmQgY29sbGVjdCBtb2RpZnkgKyBncmFwaCBleHByZXNzaW9ucyB0aGVyZSBmb3IgcmVmZXJlbmNlc1xuICAvLyB0aGF0IGFyZSBub3QgbGVhdmVzLiBUaGVuIHVzZSB0aGUgcmVzdWx0aW5nIG5vZGVzIHRvIGNyZWF0ZSBuZXcgZ3JvdXBzIGJ5XG4gIC8vIG1vZGVsIG5hbWUgLyBtb2RpZnkgLyBncmFwaCBleHByZXNzaW9ucy5cbiAgZXhwciA9IFF1ZXJ5QnVpbGRlci5wYXJzZVJlbGF0aW9uRXhwcmVzc2lvbihleHByKVxuICAvLyBDb252ZXJ0IHRoZSByZWxhdGlvbiBleHByZXNzaW9uIHRvIGFuIGFycmF5IG9mIHBhdGhzLCB0aGF0IHRoZW1zZWx2ZXNcbiAgLy8gY29udGFpbiBwYXRoIGVudHJpZXMgd2l0aCByZWxhdGlvbiBuYW1lcyBhbmQgbW9kaWZ5IHNldHRpbmdzLlxuXG4gIGNvbnN0IGdyb3VwZWQgPSB7fVxuICBjb25zdCBhZGRUb0dyb3VwID1cbiAgICAoaXRlbSwgbW9kZWxDbGFzcywgaXNSZWZlcmVuY2UsIG1vZGlmeSwgcmVsYXRpb24sIGV4cHIpID0+IHtcbiAgICAgIGNvbnN0IGlkID0gaXRlbS4kaWQoKVxuICAgICAgaWYgKGlkICE9IG51bGwpIHtcbiAgICAgICAgLy8gR3JvdXAgbW9kZWxzIGJ5IG1vZGVsLW5hbWUgKyBtb2RpZnkgKyBleHByLCBmb3IgZmFzdGVyIGxvYWRpbmc6XG4gICAgICAgIGNvbnN0IGtleSA9IGAke21vZGVsQ2xhc3MubmFtZX1fJHttb2RpZnl9XyR7ZXhwciB8fCAnJ31gXG4gICAgICAgIGNvbnN0IGdyb3VwID0gZ3JvdXBlZFtrZXldIHx8IChncm91cGVkW2tleV0gPSB7XG4gICAgICAgICAgbW9kZWxDbGFzcyxcbiAgICAgICAgICBtb2RpZnksXG4gICAgICAgICAgcmVsYXRpb24sXG4gICAgICAgICAgZXhwcixcbiAgICAgICAgICB0YXJnZXRzOiBbXSxcbiAgICAgICAgICBpZHM6IFtdLFxuICAgICAgICAgIG1vZGVsc0J5SWQ6IHt9XG4gICAgICAgIH0pXG4gICAgICAgIGdyb3VwLnRhcmdldHMucHVzaCh7IGl0ZW0sIGlzUmVmZXJlbmNlIH0pXG4gICAgICAgIC8vIENvbGxlY3QgaWRzIHRvIGJlIGxvYWRlZCBmb3IgdGhlIHRhcmdldHMuXG4gICAgICAgIGdyb3VwLmlkcy5wdXNoKGlkKVxuICAgICAgfVxuICAgIH1cblxuICBmb3IgKGNvbnN0IHBhdGggb2YgY29sbGVjdEV4cHJlc3Npb25QYXRocyhleHByKSkge1xuICAgIGxldCBtb2RlbENsYXNzID0gcm9vdE1vZGVsQ2xhc3NcbiAgICBjb25zdCBtb2RlbENsYXNzZXMgPSBbXVxuICAgIGxldCBsYXN0TW9kaWZ5XG4gICAgZm9yIChjb25zdCBlbnRyeSBvZiBwYXRoKSB7XG4gICAgICBtb2RlbENsYXNzZXMucHVzaChtb2RlbENsYXNzKVxuICAgICAgbW9kZWxDbGFzcyA9IG1vZGVsQ2xhc3MuZ2V0UmVsYXRpb24oZW50cnkucmVsYXRpb24pLnJlbGF0ZWRNb2RlbENsYXNzXG4gICAgICBsYXN0TW9kaWZ5ID0gZW50cnkubW9kaWZ5XG4gICAgfVxuICAgIGZvciAoY29uc3QgbW9kZWwgb2YgYXNBcnJheShncmFwaCkpIHtcbiAgICAgIGlmIChtb2RlbCkge1xuICAgICAgICBsZXQgaXRlbXMgPSBhc0FycmF5KG1vZGVsKVxuICAgICAgICAvLyBDb2xsZWN0IGFsbCBncmFwaCBpdGVtcyBkZXNjcmliZWQgYnkgdGhlIGN1cnJlbnQgcmVsYXRpb24gcGF0aCBpblxuICAgICAgICAvLyBvbmUgbG9vcDpcbiAgICAgICAgZm9yIChsZXQgaSA9IDAsIGwgPSBwYXRoLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgICAgIGlmIChpdGVtcy5sZW5ndGggPT09IDApIGJyZWFrXG4gICAgICAgICAgY29uc3QgeyByZWxhdGlvbiB9ID0gcGF0aFtpXVxuICAgICAgICAgIGNvbnN0IG1vZGVsQ2xhc3MgPSBtb2RlbENsYXNzZXNbaV1cbiAgICAgICAgICBpdGVtcyA9IGl0ZW1zLnJlZHVjZSgoaXRlbXMsIGl0ZW0pID0+IHtcbiAgICAgICAgICAgIGl0ZW0gPSBlbnN1cmVNb2RlbChtb2RlbENsYXNzLCBpdGVtLCB7IHNraXBWYWxpZGF0aW9uOiB0cnVlIH0pXG4gICAgICAgICAgICBsZXQgYWRkID0gZmFsc2VcbiAgICAgICAgICAgIGNvbnN0IGlzUmVmZXJlbmNlID0gbW9kZWxDbGFzcy5pc1JlZmVyZW5jZShpdGVtKVxuICAgICAgICAgICAgaWYgKGlzUmVmZXJlbmNlKSB7XG4gICAgICAgICAgICAgIC8vIERldGVjdGVkIGEgcmVmZXJlbmNlIGl0ZW0gdGhhdCBpc24ndCBhIGxlYWY6IFdlIG5lZWQgdG9cbiAgICAgICAgICAgICAgLy8gZWFnZXItbG9hZCB0aGUgcmVzdCBvZiB0aGUgcGF0aCwgYW5kIHJlc3BlY3QgbW9kaWZ5IHNldHRpbmdzLlxuICAgICAgICAgICAgICBhZGQgPSB0cnVlXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9IGl0ZW1bcmVsYXRpb25dXG4gICAgICAgICAgICAgIC8vIEFkZCB0aGUgbW9kZWxzIG9mIHRoaXMgcmVsYXRpb24gdG8gaXRlbXMsIHNvIHRoZXkgY2FuIGJlXG4gICAgICAgICAgICAgIC8vIGZpbHRlcmVkIGZ1cnRoZXIgaW4gdGhlIG5leHQgaXRlcmF0aW9uIG9mIHRoaXMgbG9vcC5cbiAgICAgICAgICAgICAgaWYgKHZhbHVlICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICBpdGVtcy5wdXNoKC4uLmFzQXJyYXkodmFsdWUpKVxuICAgICAgICAgICAgICB9IGVsc2UgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAvLyBJZiB0aGUgZnVsbCByZWxhdGlvbiBpcyBtaXNzaW5nIHRyeSBlYWdlci1sb2FkaW5nIGl0LlxuICAgICAgICAgICAgICAgIC8vIE5PVEU6IFZhbHVlcyBvZiBgbnVsbGAgYXJlIHJlc3BlY3RlZCBoZXJlLCBub3QgbG9hZGVkIGFnYWluLlxuICAgICAgICAgICAgICAgIGFkZCA9IHRydWVcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGFkZCkge1xuICAgICAgICAgICAgICAvLyBgcGF0aFtpXS5tb2RpZnlgIGlzIHRoZSBjdXJyZW50IHJlbGF0aW9uJ3MgbW9kaWZ5IGV4cHJlc3Npb24sXG4gICAgICAgICAgICAgIC8vIGdldCB0aGUgcGFyZW50IG9uZSBmb3IgYG1vZGVsQ2xhc3NgOlxuICAgICAgICAgICAgICBjb25zdCBtb2RpZnkgPSBpID4gMCA/IHBhdGhbaSAtIDFdLm1vZGlmeSA6IG51bGxcbiAgICAgICAgICAgICAgY29uc3QgZXhwciA9IGV4cHJlc3Npb25QYXRoVG9TdHJpbmcocGF0aCwgaSlcbiAgICAgICAgICAgICAgYWRkVG9Hcm91cChpdGVtLCBtb2RlbENsYXNzLCBpc1JlZmVyZW5jZSwgbW9kaWZ5LCByZWxhdGlvbiwgZXhwcilcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBpdGVtc1xuICAgICAgICAgIH0sIFtdKVxuICAgICAgICB9XG4gICAgICAgIC8vIEFkZCBhbGwgZW5jb3VudGVyZWQgbGVhZi1yZWZlcmVuY2VzIHRvIGdyb3VwcyB0byBiZSBsb2FkZWQuXG4gICAgICAgIGZvciAoY29uc3QgaXRlbSBvZiBpdGVtcykge1xuICAgICAgICAgIC8vIE9ubHkgbG9hZCBsZWFmcyB0aGF0IGFyZSByZWZlcmVuY2VzLlxuICAgICAgICAgIGlmIChtb2RlbENsYXNzLmlzUmVmZXJlbmNlKGl0ZW0pKSB7XG4gICAgICAgICAgICBhZGRUb0dyb3VwKGl0ZW0sIG1vZGVsQ2xhc3MsIHRydWUsIGxhc3RNb2RpZnkpXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY29uc3QgZ3JvdXBzID0gT2JqZWN0LnZhbHVlcyhncm91cGVkKS5maWx0ZXIoKHsgaWRzIH0pID0+IGlkcy5sZW5ndGggPiAwKVxuICBpZiAoZ3JvdXBzLmxlbmd0aCA+IDApIHtcbiAgICAvLyBMb2FkIGFsbCBmb3VuZCBtb2RlbHMgYnkgaWRzIGFzeW5jaHJvbm91c2x5LCB3aXRoaW4gcHJvdmlkZWQgdHJhbnNhY3Rpb24uXG4gICAgLy8gTk9URTogVXNpbmcgdGhlIHNhbWUgdHJhbnNhY3Rpb24gbWVhbnMgdGhhdCBhbGwgaW52b2x2ZWQgdGFibGVzIG5lZWQgdG9cbiAgICAvLyBiZSBpbiB0aGUgc2FtZSBkYXRhYmFzZS5cbiAgICBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgIGdyb3Vwcy5tYXAoYXN5bmMgKHsgbW9kZWxDbGFzcywgbW9kaWZ5LCBleHByLCBpZHMsIG1vZGVsc0J5SWQgfSkgPT4ge1xuICAgICAgICBjb25zdCBxdWVyeSA9IG1vZGVsQ2xhc3MucXVlcnkodHJ4KS5maW5kQnlJZHMoaWRzKS5tb2RpZnkobW9kaWZ5KVxuICAgICAgICBpZiAoZXhwcikge1xuICAgICAgICAgIC8vIFRPRE86IE1ha2UgYWxnb3JpdGhtIGNvbmZpZ3VyYWJsZSB0aHJvdWdoIG9wdGlvbnMuXG4gICAgICAgICAgcXVlcnkud2l0aEdyYXBoKGV4cHIpXG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbW9kZWxzID0gYXdhaXQgcXVlcnlcbiAgICAgICAgLy8gRmlsbCB0aGUgZ3JvdXAubW9kZWxzQnlJZCBsb29rdXA6XG4gICAgICAgIGZvciAoY29uc3QgbW9kZWwgb2YgbW9kZWxzKSB7XG4gICAgICAgICAgbW9kZWxzQnlJZFttb2RlbC4kaWQoKV0gPSBtb2RlbFxuICAgICAgICB9XG4gICAgICB9KVxuICAgIClcblxuICAgIC8vIEZpbmFsbHkgcG9wdWxhdGUgdGhlIHRhcmdldHMgd2l0aCB0aGUgbG9hZGVkIG1vZGVscy5cbiAgICBmb3IgKGNvbnN0IHsgdGFyZ2V0cywgbW9kZWxzQnlJZCwgcmVsYXRpb24gfSBvZiBncm91cHMpIHtcbiAgICAgIGZvciAoY29uc3QgeyBpdGVtLCBpc1JlZmVyZW5jZSB9IG9mIHRhcmdldHMpIHtcbiAgICAgICAgY29uc3QgbW9kZWwgPSBtb2RlbHNCeUlkW2l0ZW0uJGlkKCldXG4gICAgICAgIGlmIChtb2RlbCkge1xuICAgICAgICAgIGlmIChpc1JlZmVyZW5jZSkge1xuICAgICAgICAgICAgLy8gQ29weSBvdmVyIHRoZSBmdWxsIGl0ZW0uXG4gICAgICAgICAgICBPYmplY3QuYXNzaWduKGl0ZW0sIG1vZGVsKVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBKdXN0IGNvcHkgdGhlIGVhZ2VyLWxvYWRlZCByZWxhdGlvbi5cbiAgICAgICAgICAgIGl0ZW1bcmVsYXRpb25dID0gbW9kZWxbcmVsYXRpb25dXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGdyYXBoXG59XG4iXX0=
|
package/lib/graph/index.js
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
require("core-js/modules/esnext.async-iterator.for-each.js");
|
|
4
|
+
|
|
5
|
+
require("core-js/modules/esnext.iterator.constructor.js");
|
|
6
|
+
|
|
7
|
+
require("core-js/modules/esnext.iterator.for-each.js");
|
|
8
|
+
|
|
3
9
|
exports.__esModule = true;
|
|
4
10
|
|
|
5
11
|
var _DitoGraphProcessor = require("./DitoGraphProcessor");
|
|
@@ -25,4 +31,4 @@ Object.keys(_expression).forEach(function (key) {
|
|
|
25
31
|
if (key in exports && exports[key] === _expression[key]) return;
|
|
26
32
|
exports[key] = _expression[key];
|
|
27
33
|
});
|
|
28
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ncmFwaC9pbmRleC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFDQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUNBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL0RpdG9HcmFwaFByb2Nlc3NvcidcbmV4cG9ydCAqIGZyb20gJy4vZ3JhcGgnXG5leHBvcnQgKiBmcm9tICcuL2V4cHJlc3Npb24nXG4iXX0=
|
package/lib/index.js
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
require("core-js/modules/esnext.async-iterator.for-each.js");
|
|
4
|
+
|
|
5
|
+
require("core-js/modules/esnext.iterator.constructor.js");
|
|
6
|
+
|
|
7
|
+
require("core-js/modules/esnext.iterator.for-each.js");
|
|
8
|
+
|
|
3
9
|
exports.__esModule = true;
|
|
4
10
|
|
|
5
11
|
var _app = require("./app");
|
|
@@ -73,4 +79,4 @@ Object.keys(_storage).forEach(function (key) {
|
|
|
73
79
|
if (key in exports && exports[key] === _storage[key]) return;
|
|
74
80
|
exports[key] = _storage[key];
|
|
75
81
|
});
|
|
76
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
82
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFDQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUNBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQ0E7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFDQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUNBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQ0E7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFDQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUNBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FwcCdcbmV4cG9ydCAqIGZyb20gJy4vcXVlcnknXG5leHBvcnQgKiBmcm9tICcuL2Vycm9ycydcbmV4cG9ydCAqIGZyb20gJy4vbWl4aW5zJ1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMnXG5leHBvcnQgKiBmcm9tICcuL2NvbnRyb2xsZXJzJ1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcydcbmV4cG9ydCAqIGZyb20gJy4vZGVjb3JhdG9ycydcbmV4cG9ydCAqIGZyb20gJy4vc3RvcmFnZSdcbiJdfQ==
|
package/lib/lib/index.js
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
require("core-js/modules/esnext.async-iterator.for-each.js");
|
|
4
|
+
|
|
5
|
+
require("core-js/modules/esnext.iterator.constructor.js");
|
|
6
|
+
|
|
7
|
+
require("core-js/modules/esnext.iterator.for-each.js");
|
|
8
|
+
|
|
3
9
|
exports.__esModule = true;
|
|
4
10
|
|
|
5
11
|
var _EventEmitter = require("./EventEmitter");
|
|
@@ -17,4 +23,4 @@ Object.keys(_KnexHelper).forEach(function (key) {
|
|
|
17
23
|
if (key in exports && exports[key] === _KnexHelper[key]) return;
|
|
18
24
|
exports[key] = _KnexHelper[key];
|
|
19
25
|
});
|
|
20
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvaW5kZXguanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQ0E7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vRXZlbnRFbWl0dGVyJ1xuZXhwb3J0ICogZnJvbSAnLi9LbmV4SGVscGVyJ1xuIl19
|
|
@@ -3,6 +3,12 @@
|
|
|
3
3
|
exports.__esModule = true;
|
|
4
4
|
exports.findRoute = findRoute;
|
|
5
5
|
|
|
6
|
+
require("core-js/modules/esnext.async-iterator.find.js");
|
|
7
|
+
|
|
8
|
+
require("core-js/modules/esnext.iterator.constructor.js");
|
|
9
|
+
|
|
10
|
+
require("core-js/modules/esnext.iterator.find.js");
|
|
11
|
+
|
|
6
12
|
function findRoute(router) {
|
|
7
13
|
return (ctx, next) => {
|
|
8
14
|
const result = router.find(ctx.method, ctx.path);
|
|
@@ -26,4 +32,4 @@ function findRoute(router) {
|
|
|
26
32
|
return next();
|
|
27
33
|
};
|
|
28
34
|
}
|
|
29
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9taWRkbGV3YXJlL2ZpbmRSb3V0ZS5qcyJdLCJuYW1lcyI6WyJmaW5kUm91dGUiLCJyb3V0ZXIiLCJjdHgiLCJuZXh0IiwicmVzdWx0IiwiZmluZCIsIm1ldGhvZCIsInBhdGgiLCJyb3V0ZSIsImhhbmRsZXIiLCJwYXJhbXMiLCJjb250cm9sbGVyIiwiYWN0aW9uIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFPLFNBQVNBLFNBQVQsQ0FBbUJDLE1BQW5CLEVBQTJCO0FBQ2hDLFNBQU8sQ0FBQ0MsR0FBRCxFQUFNQyxJQUFOLEtBQWU7QUFDcEIsVUFBTUMsTUFBTSxHQUFHSCxNQUFNLENBQUNJLElBQVAsQ0FBWUgsR0FBRyxDQUFDSSxNQUFoQixFQUF3QkosR0FBRyxDQUFDSyxJQUE1QixDQUFmO0FBR0EsVUFBTUMsS0FBSyxHQUFHSixNQUFNLENBQUNLLE9BQVAsR0FBaUIsRUFBRSxHQUFHTCxNQUFNLENBQUNLO0FBQVosS0FBakIsR0FBeUNMLE1BQXZEO0FBQ0FGLElBQUFBLEdBQUcsQ0FBQ00sS0FBSixHQUFZQSxLQUFaO0FBRUFOLElBQUFBLEdBQUcsQ0FBQ1EsTUFBSixHQUFhTixNQUFNLENBQUNNLE1BQVAsSUFBaUIsRUFBOUI7QUFDQSxVQUFNO0FBQUVDLE1BQUFBLFVBQUY7QUFBY0MsTUFBQUE7QUFBZCxRQUF5QkosS0FBL0I7O0FBQ0EsUUFBSUcsVUFBSixFQUFnQjtBQUNkVCxNQUFBQSxHQUFHLENBQUNTLFVBQUosR0FBaUJBLFVBQWpCO0FBQ0Q7O0FBQ0QsUUFBSUMsTUFBSixFQUFZO0FBQ1ZWLE1BQUFBLEdBQUcsQ0FBQ1UsTUFBSixHQUFhQSxNQUFiO0FBQ0Q7O0FBQ0QsV0FBT1QsSUFBSSxFQUFYO0FBQ0QsR0FoQkQ7QUFpQkQiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gZmluZFJvdXRlKHJvdXRlcikge1xuICByZXR1cm4gKGN0eCwgbmV4dCkgPT4ge1xuICAgIGNvbnN0IHJlc3VsdCA9IHJvdXRlci5maW5kKGN0eC5tZXRob2QsIGN0eC5wYXRoKVxuICAgIC8vIFdlIHVzZSBgcmVzdWx0LmhhbmRsZXJgIHRvIHN0b3JlIHRoZSByb3V0ZSBvYmplY3QgZm9yIG1hdGNoZWQgcm91dGVzLlxuICAgIC8vIElmIG5vbmUgaXMgZm91bmQsIHNldCBgY3R4LnJvdXRlID0gcmVzdWx0YCwgZm9yICBgeyBzdGF0dXMsIGFsbG93ZWQgfWAuXG4gICAgY29uc3Qgcm91dGUgPSByZXN1bHQuaGFuZGxlciA/IHsgLi4ucmVzdWx0LmhhbmRsZXIgfSA6IHJlc3VsdFxuICAgIGN0eC5yb3V0ZSA9IHJvdXRlXG4gICAgLy8gTk9URTogVGhlIG5hbWUgZm9yIGBjdHgucGFyYW1zYCB3YXMgaW5oZXJpdGVkIGZyb20gYGtvYS1yb3V0ZXJgXG4gICAgY3R4LnBhcmFtcyA9IHJlc3VsdC5wYXJhbXMgfHwge31cbiAgICBjb25zdCB7IGNvbnRyb2xsZXIsIGFjdGlvbiB9ID0gcm91dGVcbiAgICBpZiAoY29udHJvbGxlcikge1xuICAgICAgY3R4LmNvbnRyb2xsZXIgPSBjb250cm9sbGVyXG4gICAgfVxuICAgIGlmIChhY3Rpb24pIHtcbiAgICAgIGN0eC5hY3Rpb24gPSBhY3Rpb25cbiAgICB9XG4gICAgcmV0dXJuIG5leHQoKVxuICB9XG59XG4iXX0=
|
package/lib/middleware/index.js
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
require("core-js/modules/esnext.async-iterator.for-each.js");
|
|
4
|
+
|
|
5
|
+
require("core-js/modules/esnext.iterator.constructor.js");
|
|
6
|
+
|
|
7
|
+
require("core-js/modules/esnext.iterator.for-each.js");
|
|
8
|
+
|
|
3
9
|
exports.__esModule = true;
|
|
4
10
|
|
|
5
11
|
var _attachLogger = require("./attachLogger");
|
|
@@ -57,4 +63,4 @@ Object.keys(_logRequests).forEach(function (key) {
|
|
|
57
63
|
if (key in exports && exports[key] === _logRequests[key]) return;
|
|
58
64
|
exports[key] = _logRequests[key];
|
|
59
65
|
});
|
|
60
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
66
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9taWRkbGV3YXJlL2luZGV4LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUNBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQ0E7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFDQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUNBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQ0E7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFDQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hdHRhY2hMb2dnZXInXG5leHBvcnQgKiBmcm9tICcuL2NyZWF0ZVRyYW5zYWN0aW9uJ1xuZXhwb3J0ICogZnJvbSAnLi9maW5kUm91dGUnXG5leHBvcnQgKiBmcm9tICcuL2hhbmRsZUVycm9yJ1xuZXhwb3J0ICogZnJvbSAnLi9oYW5kbGVSb3V0ZSdcbmV4cG9ydCAqIGZyb20gJy4vaGFuZGxlVXNlcidcbmV4cG9ydCAqIGZyb20gJy4vbG9nUmVxdWVzdHMnXG4iXX0=
|
package/lib/mixins/AssetMixin.js
CHANGED
|
@@ -8,9 +8,9 @@ var _utils = require("@ditojs/utils");
|
|
|
8
8
|
var _TimeStampedMixin = require("./TimeStampedMixin");
|
|
9
9
|
|
|
10
10
|
const AssetMixin = (0, _utils.mixin)(Model => {
|
|
11
|
-
var _class
|
|
11
|
+
var _class;
|
|
12
12
|
|
|
13
|
-
return
|
|
13
|
+
return _class = class extends (0, _TimeStampedMixin.TimeStampedMixin)(Model) {
|
|
14
14
|
$parseJson(json) {
|
|
15
15
|
const {
|
|
16
16
|
constructor
|
|
@@ -75,7 +75,7 @@ const AssetMixin = (0, _utils.mixin)(Model => {
|
|
|
75
75
|
unsigned: true,
|
|
76
76
|
default: 0
|
|
77
77
|
}
|
|
78
|
-
},
|
|
78
|
+
}, _class;
|
|
79
79
|
});
|
|
80
80
|
exports.AssetMixin = AssetMixin;
|
|
81
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
81
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9taXhpbnMvQXNzZXRNaXhpbi5qcyJdLCJuYW1lcyI6WyJBc3NldE1peGluIiwiTW9kZWwiLCIkcGFyc2VKc29uIiwianNvbiIsImNvbnN0cnVjdG9yIiwiZmlsZSIsInN0b3JhZ2UiLCJhcHAiLCJnZXRTdG9yYWdlIiwiY29udmVydEFzc2V0RmlsZSIsInByb3BlcnRpZXMiLCJrZXkiLCJ0eXBlIiwicmVxdWlyZWQiLCJ1bmlxdWUiLCJpbmRleCIsIm5hbWUiLCJzaXplIiwidXJsIiwid2lkdGgiLCJoZWlnaHQiLCJjb3VudCIsInVuc2lnbmVkIiwiZGVmYXVsdCJdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTs7QUFDQTs7QUFHTyxNQUFNQSxVQUFVLEdBQUcsa0JBQU1DLEtBQUs7QUFBQTs7QUFBQSxrQkFBSSxjQUFjLHdDQUFpQkEsS0FBakIsQ0FBZCxDQUFzQztBQTZEN0VDLElBQUFBLFVBQVUsQ0FBQ0MsSUFBRCxFQUFPO0FBQ2YsWUFBTTtBQUFFQyxRQUFBQTtBQUFGLFVBQWtCLElBQXhCO0FBQ0EsWUFBTTtBQUFFQyxRQUFBQSxJQUFGO0FBQVFDLFFBQUFBO0FBQVIsVUFBb0JILElBQTFCOztBQUVBLFVBQUlFLElBQUksSUFBSUMsT0FBWixFQUFxQjtBQUFBOztBQUNuQixpQ0FBQUYsV0FBVyxDQUFDRyxHQUFaLENBQWdCQyxVQUFoQixDQUEyQkYsT0FBM0IsNENBQXFDRyxnQkFBckMsQ0FBc0RKLElBQXREO0FBQ0Q7O0FBQ0QsYUFBT0YsSUFBUDtBQUNEOztBQXJFNEUsR0FBMUMsU0FDNUJPLFVBRDRCLEdBQ2Y7QUFDbEJDLElBQUFBLEdBQUcsRUFBRTtBQUNIQyxNQUFBQSxJQUFJLEVBQUUsUUFESDtBQUVIQyxNQUFBQSxRQUFRLEVBQUUsSUFGUDtBQUdIQyxNQUFBQSxNQUFNLEVBQUUsSUFITDtBQUlIQyxNQUFBQSxLQUFLLEVBQUU7QUFKSixLQURhO0FBUWxCVixJQUFBQSxJQUFJLEVBQUU7QUFDSk8sTUFBQUEsSUFBSSxFQUFFLFFBREY7QUFJSkYsTUFBQUEsVUFBVSxFQUFFO0FBRVZDLFFBQUFBLEdBQUcsRUFBRTtBQUNIQyxVQUFBQSxJQUFJLEVBQUUsUUFESDtBQUVIQyxVQUFBQSxRQUFRLEVBQUU7QUFGUCxTQUZLO0FBT1ZHLFFBQUFBLElBQUksRUFBRTtBQUNKSixVQUFBQSxJQUFJLEVBQUUsUUFERjtBQUVKQyxVQUFBQSxRQUFRLEVBQUU7QUFGTixTQVBJO0FBWVZELFFBQUFBLElBQUksRUFBRTtBQUNKQSxVQUFBQSxJQUFJLEVBQUUsUUFERjtBQUVKQyxVQUFBQSxRQUFRLEVBQUU7QUFGTixTQVpJO0FBaUJWSSxRQUFBQSxJQUFJLEVBQUU7QUFDSkwsVUFBQUEsSUFBSSxFQUFFLFNBREY7QUFFSkMsVUFBQUEsUUFBUSxFQUFFO0FBRk4sU0FqQkk7QUFzQlZLLFFBQUFBLEdBQUcsRUFBRTtBQUNITixVQUFBQSxJQUFJLEVBQUU7QUFESCxTQXRCSztBQTBCVk8sUUFBQUEsS0FBSyxFQUFFO0FBQ0xQLFVBQUFBLElBQUksRUFBRTtBQURELFNBMUJHO0FBNkJWUSxRQUFBQSxNQUFNLEVBQUU7QUFDTlIsVUFBQUEsSUFBSSxFQUFFO0FBREE7QUE3QkU7QUFKUixLQVJZO0FBK0NsQk4sSUFBQUEsT0FBTyxFQUFFO0FBQ1BNLE1BQUFBLElBQUksRUFBRSxRQURDO0FBRVBDLE1BQUFBLFFBQVEsRUFBRTtBQUZILEtBL0NTO0FBb0RsQlEsSUFBQUEsS0FBSyxFQUFFO0FBQ0xULE1BQUFBLElBQUksRUFBRSxTQUREO0FBRUxVLE1BQUFBLFFBQVEsRUFBRSxJQUZMO0FBR0xDLE1BQUFBLE9BQU8sRUFBRTtBQUhKO0FBcERXLEdBRGU7QUFBQSxDQUFYLENBQW5CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbWl4aW4gfSBmcm9tICdAZGl0b2pzL3V0aWxzJ1xuaW1wb3J0IHsgVGltZVN0YW1wZWRNaXhpbiB9IGZyb20gJy4vVGltZVN0YW1wZWRNaXhpbidcblxuLy8gQXNzZXQgbW9kZWxzIGFyZSBhbHdheXMgdG8gYmUgdGltZS1zdGFtcGVkOlxuZXhwb3J0IGNvbnN0IEFzc2V0TWl4aW4gPSBtaXhpbihNb2RlbCA9PiBjbGFzcyBleHRlbmRzIFRpbWVTdGFtcGVkTWl4aW4oTW9kZWwpIHtcbiAgc3RhdGljIHByb3BlcnRpZXMgPSB7XG4gICAga2V5OiB7XG4gICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgdW5pcXVlOiB0cnVlLFxuICAgICAgaW5kZXg6IHRydWVcbiAgICB9LFxuXG4gICAgZmlsZToge1xuICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICAvLyBUT0RPOiBTdXBwb3J0IHRoaXMgb24gJ29iamVjdCc6XG4gICAgICAvLyByZXF1aXJlZDogdHJ1ZVxuICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAvLyBUaGUgdW5pcXVlIGtleSB3aXRoaW4gdGhlIHN0b3JhZ2UgKHV1aWQvdjQgKyBmaWxlIGV4dGVuc2lvbilcbiAgICAgICAga2V5OiB7XG4gICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgcmVxdWlyZWQ6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgLy8gVGhlIG9yaWdpbmFsIGZpbGVuYW1lLCBhbmQgZGlzcGxheSBuYW1lIHdoZW4gZmlsZSBpcyBzaG93blxuICAgICAgICBuYW1lOiB7XG4gICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgcmVxdWlyZWQ6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgLy8gVGhlIGZpbGUncyBtaW1lLXR5cGVcbiAgICAgICAgdHlwZToge1xuICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgIHJlcXVpcmVkOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIC8vIFRoZSBhbW91bnQgb2YgYnl0ZXMgY29uc3VtZWQgYnkgdGhlIGZpbGVcbiAgICAgICAgc2l6ZToge1xuICAgICAgICAgIHR5cGU6ICdpbnRlZ2VyJyxcbiAgICAgICAgICByZXF1aXJlZDogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICAvLyBVc2UgZm9yIHN0b3JhZ2VzIGNvbmZpZ3VyZWQgZm9yIGZpbGVzIHRvIGJlIHB1YmxpY2FsbHkgYWNjZXNzaWJsZTpcbiAgICAgICAgdXJsOiB7XG4gICAgICAgICAgdHlwZTogJ3N0cmluZydcbiAgICAgICAgfSxcbiAgICAgICAgLy8gVGhlc2UgYXJlIG9ubHkgdXNlZCB3aGVuIHRoZSBzdG9yYWdlIGRlZmluZXMgYGNvbmZpZy5yZWFkSW1hZ2VTaXplYDpcbiAgICAgICAgd2lkdGg6IHtcbiAgICAgICAgICB0eXBlOiAnaW50ZWdlcidcbiAgICAgICAgfSxcbiAgICAgICAgaGVpZ2h0OiB7XG4gICAgICAgICAgdHlwZTogJ2ludGVnZXInXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LFxuXG4gICAgc3RvcmFnZToge1xuICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICByZXF1aXJlZDogdHJ1ZVxuICAgIH0sXG5cbiAgICBjb3VudDoge1xuICAgICAgdHlwZTogJ2ludGVnZXInLFxuICAgICAgdW5zaWduZWQ6IHRydWUsXG4gICAgICBkZWZhdWx0OiAwXG4gICAgfVxuICB9XG5cbiAgLy8gQG92ZXJyaWRlXG4gICRwYXJzZUpzb24oanNvbikge1xuICAgIGNvbnN0IHsgY29uc3RydWN0b3IgfSA9IHRoaXNcbiAgICBjb25zdCB7IGZpbGUsIHN0b3JhZ2UgfSA9IGpzb25cbiAgICAvLyBDb252ZXJ0IGBBc3NldE1peGluI2ZpbGVgIHRvIGFuIGBBc3NldEZpbGVgIGluc3RhbmNlOlxuICAgIGlmIChmaWxlICYmIHN0b3JhZ2UpIHtcbiAgICAgIGNvbnN0cnVjdG9yLmFwcC5nZXRTdG9yYWdlKHN0b3JhZ2UpPy5jb252ZXJ0QXNzZXRGaWxlKGZpbGUpXG4gICAgfVxuICAgIHJldHVybiBqc29uXG4gIH1cbn0pXG4iXX0=
|
|
@@ -6,9 +6,9 @@ exports.SessionMixin = void 0;
|
|
|
6
6
|
var _utils = require("@ditojs/utils");
|
|
7
7
|
|
|
8
8
|
const SessionMixin = (0, _utils.mixin)(Model => {
|
|
9
|
-
var _class
|
|
9
|
+
var _class;
|
|
10
10
|
|
|
11
|
-
return
|
|
11
|
+
return _class = class extends Model {}, _class.properties = {
|
|
12
12
|
id: {
|
|
13
13
|
type: 'string',
|
|
14
14
|
primary: true
|
|
@@ -16,7 +16,7 @@ const SessionMixin = (0, _utils.mixin)(Model => {
|
|
|
16
16
|
value: {
|
|
17
17
|
type: 'object'
|
|
18
18
|
}
|
|
19
|
-
},
|
|
19
|
+
}, _class;
|
|
20
20
|
});
|
|
21
21
|
exports.SessionMixin = SessionMixin;
|
|
22
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9taXhpbnMvU2Vzc2lvbk1peGluLmpzIl0sIm5hbWVzIjpbIlNlc3Npb25NaXhpbiIsIk1vZGVsIiwicHJvcGVydGllcyIsImlkIiwidHlwZSIsInByaW1hcnkiLCJ2YWx1ZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTs7QUFFTyxNQUFNQSxZQUFZLEdBQUcsa0JBQU1DLEtBQUs7QUFBQTs7QUFBQSxrQkFBSSxjQUFjQSxLQUFkLENBQW9CLEVBQXhCLFNBQzlCQyxVQUQ4QixHQUNqQjtBQUNsQkMsSUFBQUEsRUFBRSxFQUFFO0FBQ0ZDLE1BQUFBLElBQUksRUFBRSxRQURKO0FBRUZDLE1BQUFBLE9BQU8sRUFBRTtBQUZQLEtBRGM7QUFNbEJDLElBQUFBLEtBQUssRUFBRTtBQUNMRixNQUFBQSxJQUFJLEVBQUU7QUFERDtBQU5XLEdBRGlCO0FBQUEsQ0FBWCxDQUFyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG1peGluIH0gZnJvbSAnQGRpdG9qcy91dGlscydcblxuZXhwb3J0IGNvbnN0IFNlc3Npb25NaXhpbiA9IG1peGluKE1vZGVsID0+IGNsYXNzIGV4dGVuZHMgTW9kZWwge1xuICBzdGF0aWMgcHJvcGVydGllcyA9IHtcbiAgICBpZDoge1xuICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICBwcmltYXJ5OiB0cnVlXG4gICAgfSxcblxuICAgIHZhbHVlOiB7XG4gICAgICB0eXBlOiAnb2JqZWN0J1xuICAgIH1cbiAgfVxufSlcbiJdfQ==
|
|
@@ -6,9 +6,9 @@ exports.TimeStampedMixin = void 0;
|
|
|
6
6
|
var _utils = require("@ditojs/utils");
|
|
7
7
|
|
|
8
8
|
const TimeStampedMixin = (0, _utils.mixin)(Model => {
|
|
9
|
-
var _class
|
|
9
|
+
var _class;
|
|
10
10
|
|
|
11
|
-
return
|
|
11
|
+
return _class = class extends Model {}, _class.properties = {
|
|
12
12
|
createdAt: {
|
|
13
13
|
type: 'timestamp',
|
|
14
14
|
default: 'now()'
|
|
@@ -41,7 +41,7 @@ const TimeStampedMixin = (0, _utils.mixin)(Model => {
|
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
-
},
|
|
44
|
+
}, _class;
|
|
45
45
|
});
|
|
46
46
|
exports.TimeStampedMixin = TimeStampedMixin;
|
|
47
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9taXhpbnMvVGltZVN0YW1wZWRNaXhpbi5qcyJdLCJuYW1lcyI6WyJUaW1lU3RhbXBlZE1peGluIiwiTW9kZWwiLCJwcm9wZXJ0aWVzIiwiY3JlYXRlZEF0IiwidHlwZSIsImRlZmF1bHQiLCJ1cGRhdGVkQXQiLCJzY29wZXMiLCJ0aW1lU3RhbXBlZCIsInF1ZXJ5Iiwic2VsZWN0IiwiaG9va3MiLCJpbnB1dEl0ZW1zIiwibm93IiwiRGF0ZSIsIml0ZW0iXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7O0FBRU8sTUFBTUEsZ0JBQWdCLEdBQUcsa0JBQU1DLEtBQUs7QUFBQTs7QUFBQSxrQkFBSSxjQUFjQSxLQUFkLENBQW9CLEVBQXhCLFNBQ2xDQyxVQURrQyxHQUNyQjtBQUNsQkMsSUFBQUEsU0FBUyxFQUFFO0FBQ1RDLE1BQUFBLElBQUksRUFBRSxXQURHO0FBRVRDLE1BQUFBLE9BQU8sRUFBRTtBQUZBLEtBRE87QUFNbEJDLElBQUFBLFNBQVMsRUFBRTtBQUNURixNQUFBQSxJQUFJLEVBQUUsV0FERztBQUVUQyxNQUFBQSxPQUFPLEVBQUU7QUFGQTtBQU5PLEdBRHFCLFNBYWxDRSxNQWJrQyxHQWF6QjtBQUNkQyxJQUFBQSxXQUFXLEVBQUVDLEtBQUssSUFBSUEsS0FBSyxDQUN4QkMsTUFEbUIsQ0FDWixXQURZLEVBQ0MsV0FERDtBQURSLEdBYnlCLFNBa0JsQ0MsS0FsQmtDLEdBa0IxQjtBQUNiLG9CQUFnQjtBQUFFQyxNQUFBQTtBQUFGLEtBQWhCLEVBQWdDO0FBQzlCLFlBQU1DLEdBQUcsR0FBRyxJQUFJQyxJQUFKLEVBQVo7O0FBQ0EsV0FBSyxNQUFNQyxJQUFYLElBQW1CSCxVQUFuQixFQUErQjtBQUM3QkcsUUFBQUEsSUFBSSxDQUFDWixTQUFMLEdBQWlCVSxHQUFqQjtBQUNBRSxRQUFBQSxJQUFJLENBQUNULFNBQUwsR0FBaUJPLEdBQWpCO0FBQ0Q7QUFDRixLQVBZOztBQVNiLG9CQUFnQjtBQUFFRCxNQUFBQTtBQUFGLEtBQWhCLEVBQWdDO0FBQzlCLFlBQU1DLEdBQUcsR0FBRyxJQUFJQyxJQUFKLEVBQVo7O0FBQ0EsV0FBSyxNQUFNQyxJQUFYLElBQW1CSCxVQUFuQixFQUErQjtBQUM3QkcsUUFBQUEsSUFBSSxDQUFDVCxTQUFMLEdBQWlCTyxHQUFqQjtBQUNEO0FBQ0Y7O0FBZFksR0FsQjBCO0FBQUEsQ0FBWCxDQUF6QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG1peGluIH0gZnJvbSAnQGRpdG9qcy91dGlscydcblxuZXhwb3J0IGNvbnN0IFRpbWVTdGFtcGVkTWl4aW4gPSBtaXhpbihNb2RlbCA9PiBjbGFzcyBleHRlbmRzIE1vZGVsIHtcbiAgc3RhdGljIHByb3BlcnRpZXMgPSB7XG4gICAgY3JlYXRlZEF0OiB7XG4gICAgICB0eXBlOiAndGltZXN0YW1wJyxcbiAgICAgIGRlZmF1bHQ6ICdub3coKSdcbiAgICB9LFxuXG4gICAgdXBkYXRlZEF0OiB7XG4gICAgICB0eXBlOiAndGltZXN0YW1wJyxcbiAgICAgIGRlZmF1bHQ6ICdub3coKSdcbiAgICB9XG4gIH1cblxuICBzdGF0aWMgc2NvcGVzID0ge1xuICAgIHRpbWVTdGFtcGVkOiBxdWVyeSA9PiBxdWVyeVxuICAgICAgLnNlbGVjdCgnY3JlYXRlZEF0JywgJ3VwZGF0ZWRBdCcpXG4gIH1cblxuICBzdGF0aWMgaG9va3MgPSB7XG4gICAgJ2JlZm9yZTppbnNlcnQnKHsgaW5wdXRJdGVtcyB9KSB7XG4gICAgICBjb25zdCBub3cgPSBuZXcgRGF0ZSgpXG4gICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgaW5wdXRJdGVtcykge1xuICAgICAgICBpdGVtLmNyZWF0ZWRBdCA9IG5vd1xuICAgICAgICBpdGVtLnVwZGF0ZWRBdCA9IG5vd1xuICAgICAgfVxuICAgIH0sXG5cbiAgICAnYmVmb3JlOnVwZGF0ZScoeyBpbnB1dEl0ZW1zIH0pIHtcbiAgICAgIGNvbnN0IG5vdyA9IG5ldyBEYXRlKClcbiAgICAgIGZvciAoY29uc3QgaXRlbSBvZiBpbnB1dEl0ZW1zKSB7XG4gICAgICAgIGl0ZW0udXBkYXRlZEF0ID0gbm93XG4gICAgICB9XG4gICAgfVxuICB9XG59KVxuIl19
|
package/lib/mixins/UserMixin.js
CHANGED
|
@@ -3,6 +3,12 @@
|
|
|
3
3
|
exports.__esModule = true;
|
|
4
4
|
exports.UserMixin = void 0;
|
|
5
5
|
|
|
6
|
+
require("core-js/modules/esnext.async-iterator.find.js");
|
|
7
|
+
|
|
8
|
+
require("core-js/modules/esnext.iterator.constructor.js");
|
|
9
|
+
|
|
10
|
+
require("core-js/modules/esnext.iterator.find.js");
|
|
11
|
+
|
|
6
12
|
var _bcryptjs = _interopRequireDefault(require("bcryptjs"));
|
|
7
13
|
|
|
8
14
|
var _koaPassport = _interopRequireDefault(require("koa-passport"));
|
|
@@ -16,9 +22,9 @@ var _utils = require("@ditojs/utils");
|
|
|
16
22
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
23
|
|
|
18
24
|
const UserMixin = (0, _utils.mixin)(Model => {
|
|
19
|
-
var _class
|
|
25
|
+
var _class;
|
|
20
26
|
|
|
21
|
-
return
|
|
27
|
+
return _class = class extends Model {
|
|
22
28
|
static get properties() {
|
|
23
29
|
const {
|
|
24
30
|
usernameProperty,
|
|
@@ -120,7 +126,7 @@ const UserMixin = (0, _utils.mixin)(Model => {
|
|
|
120
126
|
usernameProperty: 'username',
|
|
121
127
|
passwordProperty: 'password',
|
|
122
128
|
sessionScope: undefined
|
|
123
|
-
},
|
|
129
|
+
}, _class;
|
|
124
130
|
});
|
|
125
131
|
exports.UserMixin = UserMixin;
|
|
126
132
|
const userClasses = {};
|
|
@@ -142,4 +148,4 @@ _koaPassport.default.deserializeUser(async (req, identifier, done) => {
|
|
|
142
148
|
done(err);
|
|
143
149
|
}
|
|
144
150
|
});
|
|
145
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9taXhpbnMvVXNlck1peGluLmpzIl0sIm5hbWVzIjpbIlVzZXJNaXhpbiIsIk1vZGVsIiwicHJvcGVydGllcyIsInVzZXJuYW1lUHJvcGVydHkiLCJwYXNzd29yZFByb3BlcnR5IiwiZGVmaW5pdGlvbiIsIm9wdGlvbnMiLCJ0eXBlIiwicmVxdWlyZWQiLCJjb21wdXRlZCIsImhhc2giLCJoaWRkZW4iLCJsYXN0TG9naW4iLCJudWxsYWJsZSIsInBhc3N3b3JkIiwidW5kZWZpbmVkIiwiYmNyeXB0IiwiaGFzaFN5bmMiLCJnZW5TYWx0U3luYyIsIiR2ZXJpZnlQYXNzd29yZCIsImNvbXBhcmUiLCIkaGFzUm9sZSIsInJvbGVzIiwiZmluZCIsInJvbGUiLCJpbmNsdWRlcyIsIiRoYXNPd25lciIsIm93bmVyIiwiJGlzIiwiJGlzTG9nZ2VkSW4iLCJjdHgiLCJzdGF0ZSIsInVzZXIiLCJpbml0aWFsaXplIiwidXNlckNsYXNzZXMiLCJuYW1lIiwicGFzc3BvcnQiLCJ1c2UiLCJMb2NhbFN0cmF0ZWd5IiwidXNlcm5hbWVGaWVsZCIsInBhc3N3b3JkRmllbGQiLCJwYXNzUmVxVG9DYWxsYmFjayIsInJlcSIsInVzZXJuYW1lIiwiZG9uZSIsInNlc3Npb25RdWVyeSIsInRyYW5zYWN0aW9uIiwiZmluZE9uZSIsInJlcyIsImVyciIsImxvZ2luIiwiUHJvbWlzZSIsInJlc29sdmUiLCJyZWplY3QiLCJhdXRoZW50aWNhdGUiLCJtZXNzYWdlIiwic3RhdHVzIiwiQXV0aGVudGljYXRpb25FcnJvciIsInRyeCIsInF1ZXJ5Iiwid2l0aFNjb3BlIiwic2Vzc2lvblNjb3BlIiwic2VyaWFsaXplVXNlciIsIm1vZGVsTmFtZSIsImNvbnN0cnVjdG9yIiwiaWRlbnRpZmllciIsImlkIiwiZGVzZXJpYWxpemVVc2VyIiwidXNlcklkIiwic3BsaXQiLCJ1c2VyQ2xhc3MiLCJmaW5kQnlJZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7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Y3J5cHQgZnJvbSAnYmNyeXB0anMnXG5pbXBvcnQgcGFzc3BvcnQgZnJvbSAna29hLXBhc3Nwb3J0J1xuaW1wb3J0IHsgU3RyYXRlZ3kgYXMgTG9jYWxTdHJhdGVneSB9IGZyb20gJ3Bhc3Nwb3J0LWxvY2FsJ1xuaW1wb3J0IHsgQXV0aGVudGljYXRpb25FcnJvciB9IGZyb20gJ0AvZXJyb3JzJ1xuaW1wb3J0IHsgbWl4aW4sIGFzQXJyYXkgfSBmcm9tICdAZGl0b2pzL3V0aWxzJ1xuXG5leHBvcnQgY29uc3QgVXNlck1peGluID0gbWl4aW4oTW9kZWwgPT4gY2xhc3MgZXh0ZW5kcyBNb2RlbCB7XG4gIHN0YXRpYyBvcHRpb25zID0ge1xuICAgIHVzZXJuYW1lUHJvcGVydHk6ICd1c2VybmFtZScsXG4gICAgcGFzc3dvcmRQcm9wZXJ0eTogJ3Bhc3N3b3JkJyxcbiAgICAvLyBUaGlzIG9wdGlvbiBjYW4gYmUgdXNlZCB0byBzcGVjaWZ5IChlYWdlcikgc2NvcGVzIHRvIGJlIGFwcGxpZWQgd2hlblxuICAgIC8vIHRoZSB1c2VyIGlzIGRlc2VyaWFsaXplZCBmcm9tIHRoZSBzZXNzaW9uLlxuICAgIHNlc3Npb25TY29wZTogdW5kZWZpbmVkXG4gIH1cblxuICBzdGF0aWMgZ2V0IHByb3BlcnRpZXMoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcm5hbWVQcm9wZXJ0eSxcbiAgICAgIHBhc3N3b3JkUHJvcGVydHlcbiAgICB9ID0gdGhpcy5kZWZpbml0aW9uLm9wdGlvbnNcbiAgICByZXR1cm4ge1xuICAgICAgW3VzZXJuYW1lUHJvcGVydHldOiB7XG4gICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICByZXF1aXJlZDogdHJ1ZVxuICAgICAgfSxcblxuICAgICAgLy8gYHBhc3N3b3JkYCBpc24ndCBzdG9yZWQsIGJ1dCB0aGlzIGlzIHJlcXVpcmVkIGZvciB2YWxpZGF0aW9uOlxuICAgICAgW3Bhc3N3b3JkUHJvcGVydHldOiB7XG4gICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICBjb21wdXRlZDogdHJ1ZVxuICAgICAgfSxcblxuICAgICAgaGFzaDoge1xuICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgaGlkZGVuOiB0cnVlXG4gICAgICB9LFxuXG4gICAgICBsYXN0TG9naW46IHtcbiAgICAgICAgdHlwZTogJ3RpbWVzdGFtcCcsXG4gICAgICAgIG51bGxhYmxlOiB0cnVlXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZ2V0IHBhc3N3b3JkKCkge1xuICAgIC8vIE5pY2UgdHJ5IDspXG4gICAgcmV0dXJuIHVuZGVmaW5lZFxuICB9XG5cbiAgc2V0IHBhc3N3b3JkKHBhc3N3b3JkKSB7XG4gICAgdGhpcy5oYXNoID0gYmNyeXB0Lmhhc2hTeW5jKHBhc3N3b3JkLCBiY3J5cHQuZ2VuU2FsdFN5bmMoMTApKVxuICB9XG5cbiAgYXN5bmMgJHZlcmlmeVBhc3N3b3JkKHBhc3N3b3JkKSB7XG4gICAgcmV0dXJuIGJjcnlwdC5jb21wYXJlKHBhc3N3b3JkLCB0aGlzLmhhc2gpXG4gIH1cblxuICAkaGFzUm9sZSguLi5yb2xlcykge1xuICAgIC8vIFN1cHBvcnQgYW4gb3B0aW9uYWwgYHJvbGVzYCBhcnJheSBvbiB0aGUgbW9kZWwgdGhhdCBjYW4gY29udGFpbiByb2xlcy5cbiAgICByZXR1cm4gdGhpcy5yb2xlcz8uZmluZChyb2xlID0+IHJvbGVzLmluY2x1ZGVzKHJvbGUpKSB8fCBmYWxzZVxuICB9XG5cbiAgJGhhc093bmVyKG93bmVyKSB7XG4gICAgcmV0dXJuIHRoaXMuJGlzKG93bmVyKVxuICB9XG5cbiAgJGlzTG9nZ2VkSW4oY3R4KSB7XG4gICAgcmV0dXJuIHRoaXMuJGlzKGN0eC5zdGF0ZS51c2VyKVxuICB9XG5cbiAgc3RhdGljIGluaXRpYWxpemUoKSB7XG4gICAgc3VwZXIuaW5pdGlhbGl6ZSgpXG4gICAgdXNlckNsYXNzZXNbdGhpcy5uYW1lXSA9IHRoaXNcbiAgICBjb25zdCB7XG4gICAgICB1c2VybmFtZVByb3BlcnR5LFxuICAgICAgcGFzc3dvcmRQcm9wZXJ0eVxuICAgIH0gPSB0aGlzLmRlZmluaXRpb24ub3B0aW9uc1xuICAgIHBhc3Nwb3J0LnVzZSh0aGlzLm5hbWUsXG4gICAgICBuZXcgTG9jYWxTdHJhdGVneShcbiAgICAgICAge1xuICAgICAgICAgIHVzZXJuYW1lRmllbGQ6IHVzZXJuYW1lUHJvcGVydHksXG4gICAgICAgICAgcGFzc3dvcmRGaWVsZDogcGFzc3dvcmRQcm9wZXJ0eSxcbiAgICAgICAgICAvLyBXZWUgbmVlZCB0aGUgYHJlcWAgb2JqZWN0LCBzbyB3ZSBjYW4gZ2V0IHRoZSBhY3RpdmUgZGF0YWJhc2VcbiAgICAgICAgICAvLyB0cmFuc2FjdGlvbiB0aHJvdWdoIGByZXEuY3R4LnRyYW5zYWN0aW9uYDpcbiAgICAgICAgICBwYXNzUmVxVG9DYWxsYmFjazogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICBhc3luYyAocmVxLCB1c2VybmFtZSwgcGFzc3dvcmQsIGRvbmUpID0+IHtcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgdXNlciA9IGF3YWl0IHRoaXMuc2Vzc2lvblF1ZXJ5KHJlcS5jdHgudHJhbnNhY3Rpb24pXG4gICAgICAgICAgICAgIC5maW5kT25lKHVzZXJuYW1lUHJvcGVydHksIHVzZXJuYW1lKVxuICAgICAgICAgICAgY29uc3QgcmVzID0gdXNlciAmJiBhd2FpdCB1c2VyLiR2ZXJpZnlQYXNzd29yZChwYXNzd29yZClcbiAgICAgICAgICAgICAgPyB1c2VyXG4gICAgICAgICAgICAgIDogbnVsbFxuICAgICAgICAgICAgZG9uZShudWxsLCByZXMpXG4gICAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICBkb25lKGVycilcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIClcbiAgICApXG4gIH1cblxuICBzdGF0aWMgYXN5bmMgbG9naW4oY3R4LCBvcHRpb25zKSB7XG4gICAgLy8gVW5mb3J0dW5hdGVseSBrb2EtcGFzc3BvcnQgaXNuJ3QgcHJvbWlzaWZpZWQgeWV0LCBzbyBkbyBzb21lIHdyYXBwaW5nOlxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAvLyBVc2UgYSBjdXN0b20gY2FsbGJhY2sgdG8gaGFuZGxlIGF1dGhlbnRpY2F0aW9uLCBzZWU6XG4gICAgICAvLyBodHRwOi8vd3d3LnBhc3Nwb3J0anMub3JnL2RvY3MvZG93bmxvYWRzL2h0bWwvI2N1c3RvbS1jYWxsYmFja1xuICAgICAgcGFzc3BvcnQuYXV0aGVudGljYXRlKHRoaXMubmFtZSwgYXN5bmMgKGVyciwgdXNlciwgbWVzc2FnZSwgc3RhdHVzKSA9PiB7XG4gICAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgICByZWplY3QoZXJyKVxuICAgICAgICB9IGVsc2UgaWYgKHVzZXIpIHtcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgYXdhaXQgY3R4LmxvZ2luKHVzZXIsIG9wdGlvbnMpXG4gICAgICAgICAgICByZXNvbHZlKHVzZXIpXG4gICAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICByZWplY3QoZXJyKVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZWplY3QobmV3IEF1dGhlbnRpY2F0aW9uRXJyb3IoXG4gICAgICAgICAgICBtZXNzYWdlIHx8ICdQYXNzd29yZCBvciB1c2VybmFtZSBpcyBpbmNvcnJlY3QnLCBzdGF0dXMpKVxuICAgICAgICB9XG4gICAgICB9KShjdHgpXG4gICAgfSlcbiAgfVxuXG4gIHN0YXRpYyBzZXNzaW9uUXVlcnkodHJ4KSB7XG4gICAgcmV0dXJuIHRoaXMucXVlcnkodHJ4KS53aXRoU2NvcGUoXG4gICAgICAuLi5hc0FycmF5KHRoaXMuZGVmaW5pdGlvbi5vcHRpb25zLnNlc3Npb25TY29wZSlcbiAgICApXG4gIH1cbn0pXG5cbmNvbnN0IHVzZXJDbGFzc2VzID0ge31cblxuLy8gTk9URTogV2UgY2FuJ3QgdXNlIHRvQ2FsbGJhY2soKSBoZXJlIHNpbmNlIHBhc3Nwb3J0IGNoZWNrcyBmdW5jdGlvbiBhcml0eSB0b1xuLy8gZGV0ZXJtaW5lIHNlcXVlbmNlIG9mIGFyZ3VtZW50cyByZWNlaXZlZCwgYW5kIGByZXFgIHdvdWxkIG5vdCBiZSBpbmNsdWRlZDpcbnBhc3Nwb3J0LnNlcmlhbGl6ZVVzZXIoKHJlcSwgdXNlciwgZG9uZSkgPT4ge1xuICAvLyBUbyBzdXBwb3J0IG11bHRpcGxlIHVzZXIgbW9kZWwgY2xhc3NlcywgdXNlIGJvdGggdGhlIG1vZGVsIGNsYXNzIG5hbWUgYW5kXG4gIC8vIGlkIGFzIGlkZW50aWZpZXIuXG4gIGNvbnN0IG1vZGVsTmFtZSA9IHVzZXI/LmNvbnN0cnVjdG9yLm5hbWVcbiAgY29uc3QgaWRlbnRpZmllciA9IG1vZGVsTmFtZSAmJiB1c2VyQ2xhc3Nlc1ttb2RlbE5hbWVdXG4gICAgPyBgJHttb2RlbE5hbWV9LSR7dXNlci5pZH1gXG4gICAgOiBudWxsXG4gIGRvbmUobnVsbCwgaWRlbnRpZmllcilcbn0pXG5cbnBhc3Nwb3J0LmRlc2VyaWFsaXplVXNlcihhc3luYyAocmVxLCBpZGVudGlmaWVyLCBkb25lKSA9PiB7XG4gIGNvbnN0IFttb2RlbE5hbWUsIHVzZXJJZF0gPSBpZGVudGlmaWVyLnNwbGl0KCctJylcbiAgY29uc3QgdXNlckNsYXNzID0gdXNlckNsYXNzZXNbbW9kZWxOYW1lXVxuICB0cnkge1xuICAgIGNvbnN0IHVzZXIgPSB1c2VyQ2xhc3NcbiAgICAgID8gYXdhaXQgdXNlckNsYXNzLnNlc3Npb25RdWVyeShyZXEuY3R4LnRyYW5zYWN0aW9uKS5maW5kQnlJZCh1c2VySWQpXG4gICAgICA6IG51bGxcbiAgICBkb25lKG51bGwsIHVzZXIpXG4gIH0gY2F0Y2ggKGVycikge1xuICAgIGRvbmUoZXJyKVxuICB9XG59KVxuIl19
|
|
151
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9taXhpbnMvVXNlck1peGluLmpzIl0sIm5hbWVzIjpbIlVzZXJNaXhpbiIsIk1vZGVsIiwicHJvcGVydGllcyIsInVzZXJuYW1lUHJvcGVydHkiLCJwYXNzd29yZFByb3BlcnR5IiwiZGVmaW5pdGlvbiIsIm9wdGlvbnMiLCJ0eXBlIiwicmVxdWlyZWQiLCJjb21wdXRlZCIsImhhc2giLCJoaWRkZW4iLCJsYXN0TG9naW4iLCJudWxsYWJsZSIsInBhc3N3b3JkIiwidW5kZWZpbmVkIiwiYmNyeXB0IiwiaGFzaFN5bmMiLCJnZW5TYWx0U3luYyIsIiR2ZXJpZnlQYXNzd29yZCIsImNvbXBhcmUiLCIkaGFzUm9sZSIsInJvbGVzIiwiZmluZCIsInJvbGUiLCJpbmNsdWRlcyIsIiRoYXNPd25lciIsIm93bmVyIiwiJGlzIiwiJGlzTG9nZ2VkSW4iLCJjdHgiLCJzdGF0ZSIsInVzZXIiLCJpbml0aWFsaXplIiwidXNlckNsYXNzZXMiLCJuYW1lIiwicGFzc3BvcnQiLCJ1c2UiLCJMb2NhbFN0cmF0ZWd5IiwidXNlcm5hbWVGaWVsZCIsInBhc3N3b3JkRmllbGQiLCJwYXNzUmVxVG9DYWxsYmFjayIsInJlcSIsInVzZXJuYW1lIiwiZG9uZSIsInNlc3Npb25RdWVyeSIsInRyYW5zYWN0aW9uIiwiZmluZE9uZSIsInJlcyIsImVyciIsImxvZ2luIiwiUHJvbWlzZSIsInJlc29sdmUiLCJyZWplY3QiLCJhdXRoZW50aWNhdGUiLCJtZXNzYWdlIiwic3RhdHVzIiwiQXV0aGVudGljYXRpb25FcnJvciIsInRyeCIsInF1ZXJ5Iiwid2l0aFNjb3BlIiwic2Vzc2lvblNjb3BlIiwic2VyaWFsaXplVXNlciIsIm1vZGVsTmFtZSIsImNvbnN0cnVjdG9yIiwiaWRlbnRpZmllciIsImlkIiwiZGVzZXJpYWxpemVVc2VyIiwidXNlcklkIiwic3BsaXQiLCJ1c2VyQ2xhc3MiLCJmaW5kQnlJZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7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cG9ydCBiY3J5cHQgZnJvbSAnYmNyeXB0anMnXG5pbXBvcnQgcGFzc3BvcnQgZnJvbSAna29hLXBhc3Nwb3J0J1xuaW1wb3J0IHsgU3RyYXRlZ3kgYXMgTG9jYWxTdHJhdGVneSB9IGZyb20gJ3Bhc3Nwb3J0LWxvY2FsJ1xuaW1wb3J0IHsgQXV0aGVudGljYXRpb25FcnJvciB9IGZyb20gJ0AvZXJyb3JzJ1xuaW1wb3J0IHsgbWl4aW4sIGFzQXJyYXkgfSBmcm9tICdAZGl0b2pzL3V0aWxzJ1xuXG5leHBvcnQgY29uc3QgVXNlck1peGluID0gbWl4aW4oTW9kZWwgPT4gY2xhc3MgZXh0ZW5kcyBNb2RlbCB7XG4gIHN0YXRpYyBvcHRpb25zID0ge1xuICAgIHVzZXJuYW1lUHJvcGVydHk6ICd1c2VybmFtZScsXG4gICAgcGFzc3dvcmRQcm9wZXJ0eTogJ3Bhc3N3b3JkJyxcbiAgICAvLyBUaGlzIG9wdGlvbiBjYW4gYmUgdXNlZCB0byBzcGVjaWZ5IChlYWdlcikgc2NvcGVzIHRvIGJlIGFwcGxpZWQgd2hlblxuICAgIC8vIHRoZSB1c2VyIGlzIGRlc2VyaWFsaXplZCBmcm9tIHRoZSBzZXNzaW9uLlxuICAgIHNlc3Npb25TY29wZTogdW5kZWZpbmVkXG4gIH1cblxuICBzdGF0aWMgZ2V0IHByb3BlcnRpZXMoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcm5hbWVQcm9wZXJ0eSxcbiAgICAgIHBhc3N3b3JkUHJvcGVydHlcbiAgICB9ID0gdGhpcy5kZWZpbml0aW9uLm9wdGlvbnNcbiAgICByZXR1cm4ge1xuICAgICAgW3VzZXJuYW1lUHJvcGVydHldOiB7XG4gICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICByZXF1aXJlZDogdHJ1ZVxuICAgICAgfSxcblxuICAgICAgLy8gYHBhc3N3b3JkYCBpc24ndCBzdG9yZWQsIGJ1dCB0aGlzIGlzIHJlcXVpcmVkIGZvciB2YWxpZGF0aW9uOlxuICAgICAgW3Bhc3N3b3JkUHJvcGVydHldOiB7XG4gICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICBjb21wdXRlZDogdHJ1ZVxuICAgICAgfSxcblxuICAgICAgaGFzaDoge1xuICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgaGlkZGVuOiB0cnVlXG4gICAgICB9LFxuXG4gICAgICBsYXN0TG9naW46IHtcbiAgICAgICAgdHlwZTogJ3RpbWVzdGFtcCcsXG4gICAgICAgIG51bGxhYmxlOiB0cnVlXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZ2V0IHBhc3N3b3JkKCkge1xuICAgIC8vIE5pY2UgdHJ5IDspXG4gICAgcmV0dXJuIHVuZGVmaW5lZFxuICB9XG5cbiAgc2V0IHBhc3N3b3JkKHBhc3N3b3JkKSB7XG4gICAgdGhpcy5oYXNoID0gYmNyeXB0Lmhhc2hTeW5jKHBhc3N3b3JkLCBiY3J5cHQuZ2VuU2FsdFN5bmMoMTApKVxuICB9XG5cbiAgYXN5bmMgJHZlcmlmeVBhc3N3b3JkKHBhc3N3b3JkKSB7XG4gICAgcmV0dXJuIGJjcnlwdC5jb21wYXJlKHBhc3N3b3JkLCB0aGlzLmhhc2gpXG4gIH1cblxuICAkaGFzUm9sZSguLi5yb2xlcykge1xuICAgIC8vIFN1cHBvcnQgYW4gb3B0aW9uYWwgYHJvbGVzYCBhcnJheSBvbiB0aGUgbW9kZWwgdGhhdCBjYW4gY29udGFpbiByb2xlcy5cbiAgICByZXR1cm4gdGhpcy5yb2xlcz8uZmluZChyb2xlID0+IHJvbGVzLmluY2x1ZGVzKHJvbGUpKSB8fCBmYWxzZVxuICB9XG5cbiAgJGhhc093bmVyKG93bmVyKSB7XG4gICAgcmV0dXJuIHRoaXMuJGlzKG93bmVyKVxuICB9XG5cbiAgJGlzTG9nZ2VkSW4oY3R4KSB7XG4gICAgcmV0dXJuIHRoaXMuJGlzKGN0eC5zdGF0ZS51c2VyKVxuICB9XG5cbiAgc3RhdGljIGluaXRpYWxpemUoKSB7XG4gICAgc3VwZXIuaW5pdGlhbGl6ZSgpXG4gICAgdXNlckNsYXNzZXNbdGhpcy5uYW1lXSA9IHRoaXNcbiAgICBjb25zdCB7XG4gICAgICB1c2VybmFtZVByb3BlcnR5LFxuICAgICAgcGFzc3dvcmRQcm9wZXJ0eVxuICAgIH0gPSB0aGlzLmRlZmluaXRpb24ub3B0aW9uc1xuICAgIHBhc3Nwb3J0LnVzZSh0aGlzLm5hbWUsXG4gICAgICBuZXcgTG9jYWxTdHJhdGVneShcbiAgICAgICAge1xuICAgICAgICAgIHVzZXJuYW1lRmllbGQ6IHVzZXJuYW1lUHJvcGVydHksXG4gICAgICAgICAgcGFzc3dvcmRGaWVsZDogcGFzc3dvcmRQcm9wZXJ0eSxcbiAgICAgICAgICAvLyBXZWUgbmVlZCB0aGUgYHJlcWAgb2JqZWN0LCBzbyB3ZSBjYW4gZ2V0IHRoZSBhY3RpdmUgZGF0YWJhc2VcbiAgICAgICAgICAvLyB0cmFuc2FjdGlvbiB0aHJvdWdoIGByZXEuY3R4LnRyYW5zYWN0aW9uYDpcbiAgICAgICAgICBwYXNzUmVxVG9DYWxsYmFjazogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICBhc3luYyAocmVxLCB1c2VybmFtZSwgcGFzc3dvcmQsIGRvbmUpID0+IHtcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgdXNlciA9IGF3YWl0IHRoaXMuc2Vzc2lvblF1ZXJ5KHJlcS5jdHgudHJhbnNhY3Rpb24pXG4gICAgICAgICAgICAgIC5maW5kT25lKHVzZXJuYW1lUHJvcGVydHksIHVzZXJuYW1lKVxuICAgICAgICAgICAgY29uc3QgcmVzID0gdXNlciAmJiBhd2FpdCB1c2VyLiR2ZXJpZnlQYXNzd29yZChwYXNzd29yZClcbiAgICAgICAgICAgICAgPyB1c2VyXG4gICAgICAgICAgICAgIDogbnVsbFxuICAgICAgICAgICAgZG9uZShudWxsLCByZXMpXG4gICAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICBkb25lKGVycilcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIClcbiAgICApXG4gIH1cblxuICBzdGF0aWMgYXN5bmMgbG9naW4oY3R4LCBvcHRpb25zKSB7XG4gICAgLy8gVW5mb3J0dW5hdGVseSBrb2EtcGFzc3BvcnQgaXNuJ3QgcHJvbWlzaWZpZWQgeWV0LCBzbyBkbyBzb21lIHdyYXBwaW5nOlxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAvLyBVc2UgYSBjdXN0b20gY2FsbGJhY2sgdG8gaGFuZGxlIGF1dGhlbnRpY2F0aW9uLCBzZWU6XG4gICAgICAvLyBodHRwOi8vd3d3LnBhc3Nwb3J0anMub3JnL2RvY3MvZG93bmxvYWRzL2h0bWwvI2N1c3RvbS1jYWxsYmFja1xuICAgICAgcGFzc3BvcnQuYXV0aGVudGljYXRlKHRoaXMubmFtZSwgYXN5bmMgKGVyciwgdXNlciwgbWVzc2FnZSwgc3RhdHVzKSA9PiB7XG4gICAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgICByZWplY3QoZXJyKVxuICAgICAgICB9IGVsc2UgaWYgKHVzZXIpIHtcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgYXdhaXQgY3R4LmxvZ2luKHVzZXIsIG9wdGlvbnMpXG4gICAgICAgICAgICByZXNvbHZlKHVzZXIpXG4gICAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICByZWplY3QoZXJyKVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZWplY3QobmV3IEF1dGhlbnRpY2F0aW9uRXJyb3IoXG4gICAgICAgICAgICBtZXNzYWdlIHx8ICdQYXNzd29yZCBvciB1c2VybmFtZSBpcyBpbmNvcnJlY3QnLCBzdGF0dXMpKVxuICAgICAgICB9XG4gICAgICB9KShjdHgpXG4gICAgfSlcbiAgfVxuXG4gIHN0YXRpYyBzZXNzaW9uUXVlcnkodHJ4KSB7XG4gICAgcmV0dXJuIHRoaXMucXVlcnkodHJ4KS53aXRoU2NvcGUoXG4gICAgICAuLi5hc0FycmF5KHRoaXMuZGVmaW5pdGlvbi5vcHRpb25zLnNlc3Npb25TY29wZSlcbiAgICApXG4gIH1cbn0pXG5cbmNvbnN0IHVzZXJDbGFzc2VzID0ge31cblxuLy8gTk9URTogV2UgY2FuJ3QgdXNlIHRvQ2FsbGJhY2soKSBoZXJlIHNpbmNlIHBhc3Nwb3J0IGNoZWNrcyBmdW5jdGlvbiBhcml0eSB0b1xuLy8gZGV0ZXJtaW5lIHNlcXVlbmNlIG9mIGFyZ3VtZW50cyByZWNlaXZlZCwgYW5kIGByZXFgIHdvdWxkIG5vdCBiZSBpbmNsdWRlZDpcbnBhc3Nwb3J0LnNlcmlhbGl6ZVVzZXIoKHJlcSwgdXNlciwgZG9uZSkgPT4ge1xuICAvLyBUbyBzdXBwb3J0IG11bHRpcGxlIHVzZXIgbW9kZWwgY2xhc3NlcywgdXNlIGJvdGggdGhlIG1vZGVsIGNsYXNzIG5hbWUgYW5kXG4gIC8vIGlkIGFzIGlkZW50aWZpZXIuXG4gIGNvbnN0IG1vZGVsTmFtZSA9IHVzZXI/LmNvbnN0cnVjdG9yLm5hbWVcbiAgY29uc3QgaWRlbnRpZmllciA9IG1vZGVsTmFtZSAmJiB1c2VyQ2xhc3Nlc1ttb2RlbE5hbWVdXG4gICAgPyBgJHttb2RlbE5hbWV9LSR7dXNlci5pZH1gXG4gICAgOiBudWxsXG4gIGRvbmUobnVsbCwgaWRlbnRpZmllcilcbn0pXG5cbnBhc3Nwb3J0LmRlc2VyaWFsaXplVXNlcihhc3luYyAocmVxLCBpZGVudGlmaWVyLCBkb25lKSA9PiB7XG4gIGNvbnN0IFttb2RlbE5hbWUsIHVzZXJJZF0gPSBpZGVudGlmaWVyLnNwbGl0KCctJylcbiAgY29uc3QgdXNlckNsYXNzID0gdXNlckNsYXNzZXNbbW9kZWxOYW1lXVxuICB0cnkge1xuICAgIGNvbnN0IHVzZXIgPSB1c2VyQ2xhc3NcbiAgICAgID8gYXdhaXQgdXNlckNsYXNzLnNlc3Npb25RdWVyeShyZXEuY3R4LnRyYW5zYWN0aW9uKS5maW5kQnlJZCh1c2VySWQpXG4gICAgICA6IG51bGxcbiAgICBkb25lKG51bGwsIHVzZXIpXG4gIH0gY2F0Y2ggKGVycikge1xuICAgIGRvbmUoZXJyKVxuICB9XG59KVxuIl19
|
package/lib/mixins/index.js
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
require("core-js/modules/esnext.async-iterator.for-each.js");
|
|
4
|
+
|
|
5
|
+
require("core-js/modules/esnext.iterator.constructor.js");
|
|
6
|
+
|
|
7
|
+
require("core-js/modules/esnext.iterator.for-each.js");
|
|
8
|
+
|
|
3
9
|
exports.__esModule = true;
|
|
4
10
|
|
|
5
11
|
var _AssetMixin = require("./AssetMixin");
|
|
@@ -33,4 +39,4 @@ Object.keys(_UserMixin).forEach(function (key) {
|
|
|
33
39
|
if (key in exports && exports[key] === _UserMixin[key]) return;
|
|
34
40
|
exports[key] = _UserMixin[key];
|
|
35
41
|
});
|
|
36
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9taXhpbnMvaW5kZXguanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQ0E7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFDQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUNBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL0Fzc2V0TWl4aW4nXG5leHBvcnQgKiBmcm9tICcuL1Nlc3Npb25NaXhpbidcbmV4cG9ydCAqIGZyb20gJy4vVGltZVN0YW1wZWRNaXhpbidcbmV4cG9ydCAqIGZyb20gJy4vVXNlck1peGluJ1xuIl19
|