@recursyve/nestjs-data-filter 9.4.0-beta.0 → 9.4.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.
Files changed (47) hide show
  1. package/lib/data-filter.repository.d.ts +1 -3
  2. package/lib/data-filter.repository.js +9 -12
  3. package/lib/data-filter.service.d.ts +4 -4
  4. package/lib/data-filter.service.js +7 -8
  5. package/lib/filter/base-filter.d.ts +0 -3
  6. package/lib/filter/base-filter.js +1 -19
  7. package/lib/filter/filter.factory.d.ts +1 -2
  8. package/lib/filter/filter.factory.js +3 -3
  9. package/lib/filter/filter.provider.js +2 -3
  10. package/lib/filter/filter.service.d.ts +2 -3
  11. package/lib/filter/filter.service.js +24 -15
  12. package/lib/filter/filters/date-time.filter.js +5 -12
  13. package/lib/filter/filters/filter.d.ts +0 -3
  14. package/lib/filter/filters/filter.js +4 -7
  15. package/lib/filter/filters/geo-bounds.filter.js +3 -2
  16. package/lib/filter/filters/geo-localization.filter.js +2 -2
  17. package/lib/filter/filters/group.filter.d.ts +0 -3
  18. package/lib/filter/filters/group.filter.js +2 -9
  19. package/lib/filter/filters/options.filter.d.ts +46 -0
  20. package/lib/filter/filters/options.filter.js +111 -0
  21. package/lib/filter/filters/select.filter.d.ts +3 -1
  22. package/lib/filter/filters/select.filter.js +2 -2
  23. package/lib/filter/models/filter-configuration-search.model.d.ts +2 -0
  24. package/lib/filter/models/filter-configuration-search.model.js +1 -1
  25. package/lib/filter/order-rules/enum.order-rule.js +3 -2
  26. package/lib/filter/order-rules/if.order-rule.js +3 -2
  27. package/lib/filter/order-rules/is-null.order-rule.js +3 -2
  28. package/lib/filter/order-rules/order-rule.d.ts +0 -3
  29. package/lib/filter/order-rules/order-rule.js +2 -5
  30. package/lib/index.js +3 -4
  31. package/lib/models/attributes.model.d.ts +1 -8
  32. package/lib/models/attributes.model.js +11 -21
  33. package/lib/models/count.model.d.ts +4 -11
  34. package/lib/models/count.model.js +14 -25
  35. package/lib/models/custom-attributes.model.d.ts +2 -6
  36. package/lib/models/custom-attributes.model.js +1 -5
  37. package/lib/models/data-filter.model.d.ts +2 -9
  38. package/lib/models/data-filter.model.js +30 -40
  39. package/lib/models/distance.model.d.ts +3 -10
  40. package/lib/models/distance.model.js +18 -29
  41. package/lib/models/sum.model.d.ts +3 -10
  42. package/lib/models/sum.model.js +8 -19
  43. package/lib/scanners/sequelize-model.scanner.d.ts +2 -4
  44. package/lib/scanners/sequelize-model.scanner.js +8 -16
  45. package/lib/sequelize.utils.d.ts +3 -0
  46. package/lib/sequelize.utils.js +18 -1
  47. package/package.json +1 -1
@@ -2,13 +2,14 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.EnumOrderRule = void 0;
4
4
  const sequelize_1 = require("sequelize");
5
+ const sequelize_utils_1 = require("../../sequelize.utils");
5
6
  const order_rule_1 = require("./order-rule");
6
7
  class EnumOrderRule extends order_rule_1.OrderRule {
7
8
  constructor(definition) {
8
9
  super(definition);
9
10
  }
10
11
  getOrderOption(model) {
11
- let order = `CASE ${this.path ? this._dialectFormatterService.getLiteralFullName(this.attribute, this.path) : this.attribute} `;
12
+ let order = `CASE ${this.path ? sequelize_utils_1.SequelizeUtils.getLiteralFullName(this.attribute, this.path) : this.attribute} `;
12
13
  for (let i = 0; i < this.priorities.length; ++i) {
13
14
  order += `WHEN '${this.priorities[i]}' THEN ${this.priorities.length - i} `;
14
15
  }
@@ -18,4 +19,4 @@ class EnumOrderRule extends order_rule_1.OrderRule {
18
19
  }
19
20
  exports.EnumOrderRule = EnumOrderRule;
20
21
 
21
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2xpYi9maWx0ZXIvb3JkZXItcnVsZXMvZW51bS5vcmRlci1ydWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlDQUFvQztBQUVwQyw2Q0FBbUY7QUFNbkYsTUFBYSxhQUFjLFNBQVEsc0JBQVM7SUFHeEMsWUFBWSxVQUE2RDtRQUNyRSxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdEIsQ0FBQztJQUVNLGNBQWMsQ0FBQyxLQUFlO1FBQ2pDLElBQUksS0FBSyxHQUFHLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUM7UUFDaEksS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxFQUFFO1lBQzdDLEtBQUssSUFBSSxTQUFTLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxHQUFHLENBQUM7U0FDL0U7UUFDRCxLQUFLLElBQUksWUFBWSxDQUFDO1FBQ3RCLE9BQU8sSUFBQSxtQkFBTyxFQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFCLENBQUM7Q0FDSjtBQWZELHNDQWVDIiwiZmlsZSI6ImxpYi9maWx0ZXIvb3JkZXItcnVsZXMvZW51bS5vcmRlci1ydWxlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbGl0ZXJhbCB9IGZyb20gXCJzZXF1ZWxpemVcIjtcbmltcG9ydCB7IE0sIFNlcXVlbGl6ZVV0aWxzIH0gZnJvbSBcIi4uLy4uL3NlcXVlbGl6ZS51dGlsc1wiO1xuaW1wb3J0IHsgQmFzZU9yZGVyUnVsZURlZmluaXRpb24sIE9yZGVySXRlbUNvbHVtbiwgT3JkZXJSdWxlIH0gZnJvbSBcIi4vb3JkZXItcnVsZVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEVudW1PcmRlclJ1bGVEZWZpbml0aW9uIHtcbiAgICBwcmlvcml0aWVzOiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGNsYXNzIEVudW1PcmRlclJ1bGUgZXh0ZW5kcyBPcmRlclJ1bGUgaW1wbGVtZW50cyBFbnVtT3JkZXJSdWxlRGVmaW5pdGlvbiB7XG4gICAgcHVibGljIHByaW9yaXRpZXM6IHN0cmluZ1tdO1xuXG4gICAgY29uc3RydWN0b3IoZGVmaW5pdGlvbjogQmFzZU9yZGVyUnVsZURlZmluaXRpb24gJiBFbnVtT3JkZXJSdWxlRGVmaW5pdGlvbikge1xuICAgICAgICBzdXBlcihkZWZpbml0aW9uKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0T3JkZXJPcHRpb24obW9kZWw6IHR5cGVvZiBNKTogT3JkZXJJdGVtQ29sdW1uIHtcbiAgICAgICAgbGV0IG9yZGVyID0gYENBU0UgJHt0aGlzLnBhdGggPyB0aGlzLl9kaWFsZWN0Rm9ybWF0dGVyU2VydmljZS5nZXRMaXRlcmFsRnVsbE5hbWUodGhpcy5hdHRyaWJ1dGUsIHRoaXMucGF0aCkgOiB0aGlzLmF0dHJpYnV0ZX0gYDtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnByaW9yaXRpZXMubGVuZ3RoOyArK2kpIHtcbiAgICAgICAgICAgIG9yZGVyICs9IGBXSEVOICcke3RoaXMucHJpb3JpdGllc1tpXX0nIFRIRU4gJHt0aGlzLnByaW9yaXRpZXMubGVuZ3RoIC0gaX0gYDtcbiAgICAgICAgfVxuICAgICAgICBvcmRlciArPSBgRUxTRSAwIEVORGA7XG4gICAgICAgIHJldHVybiBsaXRlcmFsKG9yZGVyKTtcbiAgICB9XG59XG4iXX0=
22
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2xpYi9maWx0ZXIvb3JkZXItcnVsZXMvZW51bS5vcmRlci1ydWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlDQUFvQztBQUNwQywyREFBMEQ7QUFDMUQsNkNBQW1GO0FBTW5GLE1BQWEsYUFBYyxTQUFRLHNCQUFTO0lBR3hDLFlBQVksVUFBNkQ7UUFDckUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3RCLENBQUM7SUFFTSxjQUFjLENBQUMsS0FBZTtRQUNqQyxJQUFJLEtBQUssR0FBRyxRQUFRLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGdDQUFjLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQztRQUNqSCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLEVBQUU7WUFDN0MsS0FBSyxJQUFJLFNBQVMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLEdBQUcsQ0FBQztTQUMvRTtRQUNELEtBQUssSUFBSSxZQUFZLENBQUM7UUFDdEIsT0FBTyxJQUFBLG1CQUFPLEVBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUIsQ0FBQztDQUNKO0FBZkQsc0NBZUMiLCJmaWxlIjoibGliL2ZpbHRlci9vcmRlci1ydWxlcy9lbnVtLm9yZGVyLXJ1bGUuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBsaXRlcmFsIH0gZnJvbSBcInNlcXVlbGl6ZVwiO1xuaW1wb3J0IHsgTSwgU2VxdWVsaXplVXRpbHMgfSBmcm9tIFwiLi4vLi4vc2VxdWVsaXplLnV0aWxzXCI7XG5pbXBvcnQgeyBCYXNlT3JkZXJSdWxlRGVmaW5pdGlvbiwgT3JkZXJJdGVtQ29sdW1uLCBPcmRlclJ1bGUgfSBmcm9tIFwiLi9vcmRlci1ydWxlXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW51bU9yZGVyUnVsZURlZmluaXRpb24ge1xuICAgIHByaW9yaXRpZXM6IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgY2xhc3MgRW51bU9yZGVyUnVsZSBleHRlbmRzIE9yZGVyUnVsZSBpbXBsZW1lbnRzIEVudW1PcmRlclJ1bGVEZWZpbml0aW9uIHtcbiAgICBwdWJsaWMgcHJpb3JpdGllczogc3RyaW5nW107XG5cbiAgICBjb25zdHJ1Y3RvcihkZWZpbml0aW9uOiBCYXNlT3JkZXJSdWxlRGVmaW5pdGlvbiAmIEVudW1PcmRlclJ1bGVEZWZpbml0aW9uKSB7XG4gICAgICAgIHN1cGVyKGRlZmluaXRpb24pO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRPcmRlck9wdGlvbihtb2RlbDogdHlwZW9mIE0pOiBPcmRlckl0ZW1Db2x1bW4ge1xuICAgICAgICBsZXQgb3JkZXIgPSBgQ0FTRSAke3RoaXMucGF0aCA/IFNlcXVlbGl6ZVV0aWxzLmdldExpdGVyYWxGdWxsTmFtZSh0aGlzLmF0dHJpYnV0ZSwgdGhpcy5wYXRoKSA6IHRoaXMuYXR0cmlidXRlfSBgO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMucHJpb3JpdGllcy5sZW5ndGg7ICsraSkge1xuICAgICAgICAgICAgb3JkZXIgKz0gYFdIRU4gJyR7dGhpcy5wcmlvcml0aWVzW2ldfScgVEhFTiAke3RoaXMucHJpb3JpdGllcy5sZW5ndGggLSBpfSBgO1xuICAgICAgICB9XG4gICAgICAgIG9yZGVyICs9IGBFTFNFIDAgRU5EYDtcbiAgICAgICAgcmV0dXJuIGxpdGVyYWwob3JkZXIpO1xuICAgIH1cbn1cbiJdfQ==
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.IfOrderRule = void 0;
4
4
  const sequelize_1 = require("sequelize");
5
+ const sequelize_utils_1 = require("../../sequelize.utils");
5
6
  const order_rule_1 = require("./order-rule");
6
7
  class IfOrderRule extends order_rule_1.OrderRule {
7
8
  constructor(definition) {
@@ -9,10 +10,10 @@ class IfOrderRule extends order_rule_1.OrderRule {
9
10
  }
10
11
  getOrderOption(model) {
11
12
  var _a, _b;
12
- const order = `IF(${this.path ? this._dialectFormatterService.getLiteralFullName(this.attribute, this.path) : this._dialectFormatterService.formatCol(model.name, this.attribute)}='${this.valueEquals}',${(_a = this.priority) !== null && _a !== void 0 ? _a : 1},${(_b = this.fallbackPriority) !== null && _b !== void 0 ? _b : 0})`;
13
+ const order = `IF(${this.path ? sequelize_utils_1.SequelizeUtils.getLiteralFullName(this.attribute, this.path) : `\`${model.name}\`.\`${this.attribute}\``}='${this.valueEquals}',${(_a = this.priority) !== null && _a !== void 0 ? _a : 1},${(_b = this.fallbackPriority) !== null && _b !== void 0 ? _b : 0})`;
13
14
  return (0, sequelize_1.literal)(order);
14
15
  }
15
16
  }
16
17
  exports.IfOrderRule = IfOrderRule;
17
18
 
18
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2xpYi9maWx0ZXIvb3JkZXItcnVsZXMvaWYub3JkZXItcnVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5Q0FBNkM7QUFFN0MsNkNBQW1GO0FBUW5GLE1BQWEsV0FBWSxTQUFRLHNCQUFTO0lBS3RDLFlBQVksVUFBMkQ7UUFDbkUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3RCLENBQUM7SUFFTSxjQUFjLENBQUMsS0FBZTs7UUFDakMsTUFBTSxLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLFdBQVcsS0FBSyxNQUFBLElBQUksQ0FBQyxRQUFRLG1DQUFJLENBQUMsSUFBSSxNQUFBLElBQUksQ0FBQyxnQkFBZ0IsbUNBQUksQ0FBQyxHQUFHLENBQUM7UUFDL1AsT0FBTyxJQUFBLG1CQUFPLEVBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUIsQ0FBQztDQUNKO0FBYkQsa0NBYUMiLCJmaWxlIjoibGliL2ZpbHRlci9vcmRlci1ydWxlcy9pZi5vcmRlci1ydWxlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29sLCBmbiwgbGl0ZXJhbCB9IGZyb20gXCJzZXF1ZWxpemVcIjtcbmltcG9ydCB7IE0sIFNlcXVlbGl6ZVV0aWxzIH0gZnJvbSBcIi4uLy4uL3NlcXVlbGl6ZS51dGlsc1wiO1xuaW1wb3J0IHsgQmFzZU9yZGVyUnVsZURlZmluaXRpb24sIE9yZGVySXRlbUNvbHVtbiwgT3JkZXJSdWxlIH0gZnJvbSBcIi4vb3JkZXItcnVsZVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIElmT3JkZXJSdWxlRGVmaW5pdGlvbiB7XG4gICAgdmFsdWVFcXVhbHM6IGFueTtcbiAgICBwcmlvcml0eT86IG51bWJlcjtcbiAgICBmYWxsYmFja1ByaW9yaXR5PzogbnVtYmVyO1xufVxuXG5leHBvcnQgY2xhc3MgSWZPcmRlclJ1bGUgZXh0ZW5kcyBPcmRlclJ1bGUgaW1wbGVtZW50cyBJZk9yZGVyUnVsZURlZmluaXRpb24ge1xuICAgIHB1YmxpYyB2YWx1ZUVxdWFsczogYW55O1xuICAgIHB1YmxpYyBwcmlvcml0eTogYW55O1xuICAgIHB1YmxpYyBmYWxsYmFja1ByaW9yaXR5OiBhbnk7XG5cbiAgICBjb25zdHJ1Y3RvcihkZWZpbml0aW9uOiBCYXNlT3JkZXJSdWxlRGVmaW5pdGlvbiAmIElmT3JkZXJSdWxlRGVmaW5pdGlvbikge1xuICAgICAgICBzdXBlcihkZWZpbml0aW9uKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0T3JkZXJPcHRpb24obW9kZWw6IHR5cGVvZiBNKTogT3JkZXJJdGVtQ29sdW1uIHtcbiAgICAgICAgY29uc3Qgb3JkZXIgPSBgSUYoJHt0aGlzLnBhdGggPyB0aGlzLl9kaWFsZWN0Rm9ybWF0dGVyU2VydmljZS5nZXRMaXRlcmFsRnVsbE5hbWUodGhpcy5hdHRyaWJ1dGUsIHRoaXMucGF0aCkgOiB0aGlzLl9kaWFsZWN0Rm9ybWF0dGVyU2VydmljZS5mb3JtYXRDb2wobW9kZWwubmFtZSwgdGhpcy5hdHRyaWJ1dGUpfT0nJHt0aGlzLnZhbHVlRXF1YWxzfScsJHt0aGlzLnByaW9yaXR5ID8/IDF9LCR7dGhpcy5mYWxsYmFja1ByaW9yaXR5ID8/IDB9KWA7XG4gICAgICAgIHJldHVybiBsaXRlcmFsKG9yZGVyKTtcbiAgICB9XG59XG4iXX0=
19
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2xpYi9maWx0ZXIvb3JkZXItcnVsZXMvaWYub3JkZXItcnVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5Q0FBNkM7QUFDN0MsMkRBQTBEO0FBQzFELDZDQUFtRjtBQVFuRixNQUFhLFdBQVksU0FBUSxzQkFBUztJQUt0QyxZQUFZLFVBQTJEO1FBQ25FLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN0QixDQUFDO0lBRU0sY0FBYyxDQUFDLEtBQWU7O1FBQ2pDLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsZ0NBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLENBQUMsSUFBSSxRQUFRLElBQUksQ0FBQyxTQUFTLElBQUksS0FBSyxJQUFJLENBQUMsV0FBVyxLQUFLLE1BQUEsSUFBSSxDQUFDLFFBQVEsbUNBQUksQ0FBQyxJQUFJLE1BQUEsSUFBSSxDQUFDLGdCQUFnQixtQ0FBSSxDQUFDLEdBQUcsQ0FBQztRQUN0TixPQUFPLElBQUEsbUJBQU8sRUFBQyxLQUFLLENBQUMsQ0FBQztJQUMxQixDQUFDO0NBQ0o7QUFiRCxrQ0FhQyIsImZpbGUiOiJsaWIvZmlsdGVyL29yZGVyLXJ1bGVzL2lmLm9yZGVyLXJ1bGUuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb2wsIGZuLCBsaXRlcmFsIH0gZnJvbSBcInNlcXVlbGl6ZVwiO1xuaW1wb3J0IHsgTSwgU2VxdWVsaXplVXRpbHMgfSBmcm9tIFwiLi4vLi4vc2VxdWVsaXplLnV0aWxzXCI7XG5pbXBvcnQgeyBCYXNlT3JkZXJSdWxlRGVmaW5pdGlvbiwgT3JkZXJJdGVtQ29sdW1uLCBPcmRlclJ1bGUgfSBmcm9tIFwiLi9vcmRlci1ydWxlXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWZPcmRlclJ1bGVEZWZpbml0aW9uIHtcbiAgICB2YWx1ZUVxdWFsczogYW55O1xuICAgIHByaW9yaXR5PzogbnVtYmVyO1xuICAgIGZhbGxiYWNrUHJpb3JpdHk/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBjbGFzcyBJZk9yZGVyUnVsZSBleHRlbmRzIE9yZGVyUnVsZSBpbXBsZW1lbnRzIElmT3JkZXJSdWxlRGVmaW5pdGlvbiB7XG4gICAgcHVibGljIHZhbHVlRXF1YWxzOiBhbnk7XG4gICAgcHVibGljIHByaW9yaXR5OiBhbnk7XG4gICAgcHVibGljIGZhbGxiYWNrUHJpb3JpdHk6IGFueTtcblxuICAgIGNvbnN0cnVjdG9yKGRlZmluaXRpb246IEJhc2VPcmRlclJ1bGVEZWZpbml0aW9uICYgSWZPcmRlclJ1bGVEZWZpbml0aW9uKSB7XG4gICAgICAgIHN1cGVyKGRlZmluaXRpb24pO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRPcmRlck9wdGlvbihtb2RlbDogdHlwZW9mIE0pOiBPcmRlckl0ZW1Db2x1bW4ge1xuICAgICAgICBjb25zdCBvcmRlciA9IGBJRigke3RoaXMucGF0aCA/IFNlcXVlbGl6ZVV0aWxzLmdldExpdGVyYWxGdWxsTmFtZSh0aGlzLmF0dHJpYnV0ZSwgdGhpcy5wYXRoKSA6IGBcXGAke21vZGVsLm5hbWV9XFxgLlxcYCR7dGhpcy5hdHRyaWJ1dGV9XFxgYH09JyR7dGhpcy52YWx1ZUVxdWFsc30nLCR7dGhpcy5wcmlvcml0eSA/PyAxfSwke3RoaXMuZmFsbGJhY2tQcmlvcml0eSA/PyAwfSlgO1xuICAgICAgICByZXR1cm4gbGl0ZXJhbChvcmRlcik7XG4gICAgfVxufVxuIl19
@@ -2,16 +2,17 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.IsNullOrderRule = void 0;
4
4
  const sequelize_1 = require("sequelize");
5
+ const sequelize_utils_1 = require("../../sequelize.utils");
5
6
  const order_rule_1 = require("./order-rule");
6
7
  class IsNullOrderRule extends order_rule_1.OrderRule {
7
8
  constructor(definition) {
8
9
  super(definition);
9
10
  }
10
11
  getOrderOption(model) {
11
- const order = `${this.path ? this._dialectFormatterService.getLiteralFullName(this.attribute, this.path) : this._dialectFormatterService.formatCol(model.name, this.attribute)} IS NULL`;
12
+ const order = `${this.path ? sequelize_utils_1.SequelizeUtils.getLiteralFullName(this.attribute, this.path) : `\`${model.name}\`.\`${this.attribute}\``} IS NULL`;
12
13
  return (0, sequelize_1.literal)(order);
13
14
  }
14
15
  }
15
16
  exports.IsNullOrderRule = IsNullOrderRule;
16
17
 
17
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2xpYi9maWx0ZXIvb3JkZXItcnVsZXMvaXMtbnVsbC5vcmRlci1ydWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlDQUFvQztBQUVwQyw2Q0FBbUY7QUFFbkYsTUFBYSxlQUFnQixTQUFRLHNCQUFTO0lBQzFDLFlBQVksVUFBbUM7UUFDM0MsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3RCLENBQUM7SUFFTSxjQUFjLENBQUMsS0FBZTtRQUNqQyxNQUFNLEtBQUssR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDO1FBQ3pMLE9BQU8sSUFBQSxtQkFBTyxFQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFCLENBQUM7Q0FDSjtBQVRELDBDQVNDIiwiZmlsZSI6ImxpYi9maWx0ZXIvb3JkZXItcnVsZXMvaXMtbnVsbC5vcmRlci1ydWxlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbGl0ZXJhbCB9IGZyb20gXCJzZXF1ZWxpemVcIjtcbmltcG9ydCB7IE0gfSBmcm9tIFwiLi4vLi4vc2VxdWVsaXplLnV0aWxzXCI7XG5pbXBvcnQgeyBCYXNlT3JkZXJSdWxlRGVmaW5pdGlvbiwgT3JkZXJJdGVtQ29sdW1uLCBPcmRlclJ1bGUgfSBmcm9tIFwiLi9vcmRlci1ydWxlXCI7XG5cbmV4cG9ydCBjbGFzcyBJc051bGxPcmRlclJ1bGUgZXh0ZW5kcyBPcmRlclJ1bGUge1xuICAgIGNvbnN0cnVjdG9yKGRlZmluaXRpb246IEJhc2VPcmRlclJ1bGVEZWZpbml0aW9uKSB7XG4gICAgICAgIHN1cGVyKGRlZmluaXRpb24pO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRPcmRlck9wdGlvbihtb2RlbDogdHlwZW9mIE0pOiBPcmRlckl0ZW1Db2x1bW4ge1xuICAgICAgICBjb25zdCBvcmRlciA9IGAke3RoaXMucGF0aCA/IHRoaXMuX2RpYWxlY3RGb3JtYXR0ZXJTZXJ2aWNlLmdldExpdGVyYWxGdWxsTmFtZSh0aGlzLmF0dHJpYnV0ZSwgdGhpcy5wYXRoKSA6IHRoaXMuX2RpYWxlY3RGb3JtYXR0ZXJTZXJ2aWNlLmZvcm1hdENvbChtb2RlbC5uYW1lLCB0aGlzLmF0dHJpYnV0ZSl9IElTIE5VTExgO1xuICAgICAgICByZXR1cm4gbGl0ZXJhbChvcmRlcik7XG4gICAgfVxufVxuIl19
18
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2xpYi9maWx0ZXIvb3JkZXItcnVsZXMvaXMtbnVsbC5vcmRlci1ydWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlDQUFvQztBQUNwQywyREFBMEQ7QUFDMUQsNkNBQW1GO0FBRW5GLE1BQWEsZUFBZ0IsU0FBUSxzQkFBUztJQUMxQyxZQUFZLFVBQW1DO1FBQzNDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN0QixDQUFDO0lBRU0sY0FBYyxDQUFDLEtBQWU7UUFDakMsTUFBTSxLQUFLLEdBQUcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxnQ0FBYyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssQ0FBQyxJQUFJLFFBQVEsSUFBSSxDQUFDLFNBQVMsSUFBSSxVQUFVLENBQUM7UUFDaEosT0FBTyxJQUFBLG1CQUFPLEVBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUIsQ0FBQztDQUNKO0FBVEQsMENBU0MiLCJmaWxlIjoibGliL2ZpbHRlci9vcmRlci1ydWxlcy9pcy1udWxsLm9yZGVyLXJ1bGUuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBsaXRlcmFsIH0gZnJvbSBcInNlcXVlbGl6ZVwiO1xuaW1wb3J0IHsgTSwgU2VxdWVsaXplVXRpbHMgfSBmcm9tIFwiLi4vLi4vc2VxdWVsaXplLnV0aWxzXCI7XG5pbXBvcnQgeyBCYXNlT3JkZXJSdWxlRGVmaW5pdGlvbiwgT3JkZXJJdGVtQ29sdW1uLCBPcmRlclJ1bGUgfSBmcm9tIFwiLi9vcmRlci1ydWxlXCI7XG5cbmV4cG9ydCBjbGFzcyBJc051bGxPcmRlclJ1bGUgZXh0ZW5kcyBPcmRlclJ1bGUge1xuICAgIGNvbnN0cnVjdG9yKGRlZmluaXRpb246IEJhc2VPcmRlclJ1bGVEZWZpbml0aW9uKSB7XG4gICAgICAgIHN1cGVyKGRlZmluaXRpb24pO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRPcmRlck9wdGlvbihtb2RlbDogdHlwZW9mIE0pOiBPcmRlckl0ZW1Db2x1bW4ge1xuICAgICAgICBjb25zdCBvcmRlciA9IGAke3RoaXMucGF0aCA/IFNlcXVlbGl6ZVV0aWxzLmdldExpdGVyYWxGdWxsTmFtZSh0aGlzLmF0dHJpYnV0ZSwgdGhpcy5wYXRoKSA6IGBcXGAke21vZGVsLm5hbWV9XFxgLlxcYCR7dGhpcy5hdHRyaWJ1dGV9XFxgYH0gSVMgTlVMTGA7XG4gICAgICAgIHJldHVybiBsaXRlcmFsKG9yZGVyKTtcbiAgICB9XG59XG4iXX0=
@@ -1,6 +1,5 @@
1
1
  import { Col, Fn, Literal } from "sequelize/types/utils";
2
2
  import { M } from "../../sequelize.utils";
3
- import { DialectFormatterService } from "../../services/dialect-formatter.service";
4
3
  export type OrderItemColumn = string | Col | Fn | Literal;
5
4
  export interface BaseOrderRuleDefinition {
6
5
  attribute: string;
@@ -11,10 +10,8 @@ export interface OrderRuleDefinition extends BaseOrderRuleDefinition {
11
10
  }
12
11
  export declare abstract class OrderRule implements OrderRuleDefinition {
13
12
  private _type;
14
- protected _dialectFormatterService: DialectFormatterService;
15
13
  attribute: string;
16
14
  path?: string;
17
- set dialectFormatterService(dialectFormatterService: DialectFormatterService);
18
15
  protected constructor(definition?: BaseOrderRuleDefinition);
19
16
  static validate(definition: BaseOrderRuleDefinition): boolean;
20
17
  abstract getOrderOption(model: typeof M): OrderItemColumn;
@@ -2,9 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.OrderRule = void 0;
4
4
  class OrderRule {
5
- set dialectFormatterService(dialectFormatterService) {
6
- this._dialectFormatterService = dialectFormatterService;
7
- }
8
5
  constructor(definition) {
9
6
  this._type = "order_rule";
10
7
  if (definition) {
@@ -12,9 +9,9 @@ class OrderRule {
12
9
  }
13
10
  }
14
11
  static validate(definition) {
15
- return (definition === null || definition === void 0 ? void 0 : definition["_type"]) === "order_rule";
12
+ return definition["_type"] === "order_rule";
16
13
  }
17
14
  }
18
15
  exports.OrderRule = OrderRule;
19
16
 
20
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2xpYi9maWx0ZXIvb3JkZXItcnVsZXMvb3JkZXItcnVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFlQSxNQUFzQixTQUFTO0lBUTNCLElBQVcsdUJBQXVCLENBQUMsdUJBQWdEO1FBQy9FLElBQUksQ0FBQyx3QkFBd0IsR0FBRyx1QkFBdUIsQ0FBQztJQUM1RCxDQUFDO0lBRUQsWUFBc0IsVUFBb0M7UUFYbEQsVUFBSyxHQUFHLFlBQVksQ0FBQztRQVl6QixJQUFJLFVBQVUsRUFBRTtZQUNaLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1NBQ25DO0lBQ0wsQ0FBQztJQUVNLE1BQU0sQ0FBQyxRQUFRLENBQUMsVUFBbUM7UUFDdEQsT0FBTyxDQUFBLFVBQVUsYUFBVixVQUFVLHVCQUFWLFVBQVUsQ0FBRyxPQUFPLENBQUMsTUFBSyxZQUFZLENBQUM7SUFDbEQsQ0FBQztDQUdKO0FBdkJELDhCQXVCQyIsImZpbGUiOiJsaWIvZmlsdGVyL29yZGVyLXJ1bGVzL29yZGVyLXJ1bGUuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2wsIEZuLCBMaXRlcmFsIH0gZnJvbSBcInNlcXVlbGl6ZS90eXBlcy91dGlsc1wiO1xuaW1wb3J0IHsgTSB9IGZyb20gXCIuLi8uLi9zZXF1ZWxpemUudXRpbHNcIjtcbmltcG9ydCB7IERpYWxlY3RGb3JtYXR0ZXJTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL2RpYWxlY3QtZm9ybWF0dGVyLnNlcnZpY2VcIjtcblxuZXhwb3J0IHR5cGUgT3JkZXJJdGVtQ29sdW1uID0gc3RyaW5nIHwgQ29sIHwgRm4gfCBMaXRlcmFsO1xuXG5leHBvcnQgaW50ZXJmYWNlIEJhc2VPcmRlclJ1bGVEZWZpbml0aW9uIHtcbiAgICBhdHRyaWJ1dGU6IHN0cmluZztcbiAgICBwYXRoPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9yZGVyUnVsZURlZmluaXRpb24gZXh0ZW5kcyBCYXNlT3JkZXJSdWxlRGVmaW5pdGlvbiB7XG4gICAgZ2V0T3JkZXJPcHRpb24obW9kZWw6IHR5cGVvZiBNKTogT3JkZXJJdGVtQ29sdW1uO1xufVxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgT3JkZXJSdWxlIGltcGxlbWVudHMgT3JkZXJSdWxlRGVmaW5pdGlvbiB7XG4gICAgcHJpdmF0ZSBfdHlwZSA9IFwib3JkZXJfcnVsZVwiO1xuXG4gICAgcHJvdGVjdGVkIF9kaWFsZWN0Rm9ybWF0dGVyU2VydmljZTogRGlhbGVjdEZvcm1hdHRlclNlcnZpY2U7XG5cbiAgICBwdWJsaWMgYXR0cmlidXRlOiBzdHJpbmc7XG4gICAgcHVibGljIHBhdGg/OiBzdHJpbmc7XG5cbiAgICBwdWJsaWMgc2V0IGRpYWxlY3RGb3JtYXR0ZXJTZXJ2aWNlKGRpYWxlY3RGb3JtYXR0ZXJTZXJ2aWNlOiBEaWFsZWN0Rm9ybWF0dGVyU2VydmljZSkge1xuICAgICAgICB0aGlzLl9kaWFsZWN0Rm9ybWF0dGVyU2VydmljZSA9IGRpYWxlY3RGb3JtYXR0ZXJTZXJ2aWNlO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihkZWZpbml0aW9uPzogQmFzZU9yZGVyUnVsZURlZmluaXRpb24pIHtcbiAgICAgICAgaWYgKGRlZmluaXRpb24pIHtcbiAgICAgICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywgZGVmaW5pdGlvbik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIHZhbGlkYXRlKGRlZmluaXRpb246IEJhc2VPcmRlclJ1bGVEZWZpbml0aW9uKSB7XG4gICAgICAgIHJldHVybiBkZWZpbml0aW9uPy5bXCJfdHlwZVwiXSA9PT0gXCJvcmRlcl9ydWxlXCI7XG4gICAgfVxuXG4gICAgcHVibGljIGFic3RyYWN0IGdldE9yZGVyT3B0aW9uKG1vZGVsOiB0eXBlb2YgTSk6IE9yZGVySXRlbUNvbHVtbjtcbn1cbiJdfQ==
17
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2xpYi9maWx0ZXIvb3JkZXItcnVsZXMvb3JkZXItcnVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFjQSxNQUFzQixTQUFTO0lBTTNCLFlBQXNCLFVBQW9DO1FBTGxELFVBQUssR0FBRyxZQUFZLENBQUM7UUFNekIsSUFBSSxVQUFVLEVBQUU7WUFDWixNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQztTQUNuQztJQUNMLENBQUM7SUFFTSxNQUFNLENBQUMsUUFBUSxDQUFDLFVBQW1DO1FBQ3RELE9BQU8sVUFBVSxDQUFDLE9BQU8sQ0FBQyxLQUFLLFlBQVksQ0FBQztJQUNoRCxDQUFDO0NBR0o7QUFqQkQsOEJBaUJDIiwiZmlsZSI6ImxpYi9maWx0ZXIvb3JkZXItcnVsZXMvb3JkZXItcnVsZS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbCwgRm4sIExpdGVyYWwgfSBmcm9tIFwic2VxdWVsaXplL3R5cGVzL3V0aWxzXCI7XG5pbXBvcnQgeyBNIH0gZnJvbSBcIi4uLy4uL3NlcXVlbGl6ZS51dGlsc1wiO1xuXG5leHBvcnQgdHlwZSBPcmRlckl0ZW1Db2x1bW4gPSBzdHJpbmcgfCBDb2wgfCBGbiB8IExpdGVyYWw7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmFzZU9yZGVyUnVsZURlZmluaXRpb24ge1xuICAgIGF0dHJpYnV0ZTogc3RyaW5nO1xuICAgIHBhdGg/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3JkZXJSdWxlRGVmaW5pdGlvbiBleHRlbmRzIEJhc2VPcmRlclJ1bGVEZWZpbml0aW9uIHtcbiAgICBnZXRPcmRlck9wdGlvbihtb2RlbDogdHlwZW9mIE0pOiBPcmRlckl0ZW1Db2x1bW47XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBPcmRlclJ1bGUgaW1wbGVtZW50cyBPcmRlclJ1bGVEZWZpbml0aW9uIHtcbiAgICBwcml2YXRlIF90eXBlID0gXCJvcmRlcl9ydWxlXCI7XG5cbiAgICBwdWJsaWMgYXR0cmlidXRlOiBzdHJpbmc7XG4gICAgcHVibGljIHBhdGg/OiBzdHJpbmc7XG5cbiAgICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoZGVmaW5pdGlvbj86IEJhc2VPcmRlclJ1bGVEZWZpbml0aW9uKSB7XG4gICAgICAgIGlmIChkZWZpbml0aW9uKSB7XG4gICAgICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGRlZmluaXRpb24pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyB2YWxpZGF0ZShkZWZpbml0aW9uOiBCYXNlT3JkZXJSdWxlRGVmaW5pdGlvbikge1xuICAgICAgICByZXR1cm4gZGVmaW5pdGlvbltcIl90eXBlXCJdID09PSBcIm9yZGVyX3J1bGVcIjtcbiAgICB9XG5cbiAgICBwdWJsaWMgYWJzdHJhY3QgZ2V0T3JkZXJPcHRpb24obW9kZWw6IHR5cGVvZiBNKTogT3JkZXJJdGVtQ29sdW1uO1xufVxuIl19
package/lib/index.js CHANGED
@@ -39,7 +39,6 @@ const filter_provider_1 = require("./filter/filter.provider");
39
39
  const filter_config_1 = require("./filter/filter.config");
40
40
  const constant_1 = require("./constant");
41
41
  const data_filter_validation_service_1 = require("./services/data-filter-validation.service");
42
- const dialect_formatter_service_1 = require("./services/dialect-formatter.service");
43
42
  let DataFilterModule = DataFilterModule_1 = class DataFilterModule {
44
43
  static forRoot(option) {
45
44
  var _a, _b, _c, _d, _e, _f, _g;
@@ -129,8 +128,8 @@ exports.DataFilterModule = DataFilterModule;
129
128
  exports.DataFilterModule = DataFilterModule = DataFilterModule_1 = __decorate([
130
129
  (0, common_1.Global)(),
131
130
  (0, common_1.Module)({
132
- providers: [data_filter_scanner_1.DataFilterScanner, sequelize_model_scanner_1.SequelizeModelScanner, data_filter_service_1.DataFilterService, dialect_formatter_service_1.DialectFormatterService],
133
- exports: [data_filter_scanner_1.DataFilterScanner, sequelize_model_scanner_1.SequelizeModelScanner, data_filter_service_1.DataFilterService, dialect_formatter_service_1.DialectFormatterService]
131
+ providers: [data_filter_scanner_1.DataFilterScanner, sequelize_model_scanner_1.SequelizeModelScanner, data_filter_service_1.DataFilterService],
132
+ exports: [data_filter_scanner_1.DataFilterScanner, sequelize_model_scanner_1.SequelizeModelScanner, data_filter_service_1.DataFilterService]
134
133
  })
135
134
  ], DataFilterModule);
136
135
  __exportStar(require("./data-filter.service"), exports);
@@ -144,4 +143,4 @@ __exportStar(require("./models/filter.model"), exports);
144
143
  __exportStar(require("./models/include.model"), exports);
145
144
  __exportStar(require("./models/user.model"), exports);
146
145
 
147
- //# sourceMappingURL=data:application/json;charset=utf8;base64,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RCx3REFBc0M7QUFDdEMsMkRBQXlDO0FBQ3pDLDZDQUEyQjtBQUMzQiwrQ0FBNkI7QUFDN0Isa0RBQWdDO0FBQ2hDLDJDQUF5QjtBQUN6Qiw4REFBNEM7QUFDNUMsd0RBQXNDO0FBQ3RDLHlEQUF1QztBQUN2QyxzREFBb0MiLCJmaWxlIjoibGliL2luZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRHluYW1pY01vZHVsZSwgZm9yd2FyZFJlZiwgRm9yd2FyZFJlZmVyZW5jZSwgR2xvYmFsLCBNb2R1bGUsIFByb3ZpZGVyLCBUeXBlIH0gZnJvbSBcIkBuZXN0anMvY29tbW9uXCI7XG5pbXBvcnQgeyBFeHBvcnRBZGFwdGVyIH0gZnJvbSBcIi4vYWRhcHRlcnNcIjtcbmltcG9ydCB7IEFjY2Vzc0NvbnRyb2xBZGFwdGVyIH0gZnJvbSBcIi4vYWRhcHRlcnMvYWNjZXNzLWNvbnRyb2wuYWRhcHRlclwiO1xuaW1wb3J0IHsgRGVmYXVsdEFjY2Vzc0NvbnRyb2xBZGFwdGVyIH0gZnJvbSBcIi4vYWRhcHRlcnMvZGVmYXVsdC1hY2Nlc3MtY29udHJvbC5hZGFwdGVyXCI7XG5pbXBvcnQgeyBEZWZhdWx0RXhwb3J0QWRhcHRlciB9IGZyb20gXCIuL2FkYXB0ZXJzL2RlZmF1bHQtZXhwb3J0LmFkYXB0ZXJcIjtcbmltcG9ydCB7IERlZmF1bHRUcmFuc2xhdGVBZGFwdGVyIH0gZnJvbSBcIi4vYWRhcHRlcnMvZGVmYXVsdC10cmFuc2xhdGUuYWRhcHRlclwiO1xuaW1wb3J0IHsgVHJhbnNsYXRlQWRhcHRlciB9IGZyb20gXCIuL2FkYXB0ZXJzL3RyYW5zbGF0ZS5hZGFwdGVyXCI7XG5pbXBvcnQgeyBEYXRhRmlsdGVyU2VydmljZSB9IGZyb20gXCIuL2RhdGEtZmlsdGVyLnNlcnZpY2VcIjtcbmltcG9ydCB7IERlZmF1bHREZXNlcmlhbGl6ZXIsIFVzZXJEZXNlcmlhbGl6ZXIgfSBmcm9tIFwiLi9kZXNlcmlhbGl6ZXJzXCI7XG5pbXBvcnQgeyBGaWx0ZXJVdGlscyB9IGZyb20gXCIuL2ZpbHRlclwiO1xuaW1wb3J0IHsgQmFzZUZpbHRlciB9IGZyb20gXCIuL2ZpbHRlci9iYXNlLWZpbHRlclwiO1xuaW1wb3J0IHsgRmlsdGVyRmFjdG9yeSB9IGZyb20gXCIuL2ZpbHRlci9maWx0ZXIuZmFjdG9yeVwiO1xuaW1wb3J0IHsgRGF0YUZpbHRlclNjYW5uZXIgfSBmcm9tIFwiLi9zY2FubmVycy9kYXRhLWZpbHRlci5zY2FubmVyXCI7XG5pbXBvcnQgeyBTZXF1ZWxpemVNb2RlbFNjYW5uZXIgfSBmcm9tIFwiLi9zY2FubmVycy9zZXF1ZWxpemUtbW9kZWwuc2Nhbm5lclwiO1xuaW1wb3J0IHsgY3JlYXRlRmlsdGVyUHJvdmlkZXIgfSBmcm9tIFwiLi9maWx0ZXIvZmlsdGVyLnByb3ZpZGVyXCI7XG5pbXBvcnQgeyBkZWZhdWx0RmlsdGVyT3B0aW9uQ29uZmlnLCBGaWx0ZXJPcHRpb25Db25maWcgfSBmcm9tIFwiLi9maWx0ZXIvZmlsdGVyLmNvbmZpZ1wiO1xuaW1wb3J0IHsgRklMVEVSX09QVElPTiwgVkFMSURBVEVfREFUQSB9IGZyb20gXCIuL2NvbnN0YW50XCI7XG5pbXBvcnQgeyBEYXRhRmlsdGVyVmFsaWRhdGlvblNlcnZpY2UgfSBmcm9tIFwiLi9zZXJ2aWNlcy9kYXRhLWZpbHRlci12YWxpZGF0aW9uLnNlcnZpY2VcIjtcbmltcG9ydCB7IERpYWxlY3RGb3JtYXR0ZXJTZXJ2aWNlIH0gZnJvbSBcIi4vc2VydmljZXMvZGlhbGVjdC1mb3JtYXR0ZXIuc2VydmljZVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIERhdGFGaWx0ZXJDb25maWcge1xuICAgIGltcG9ydHM/OiBBcnJheTxUeXBlIHwgRHluYW1pY01vZHVsZSB8IFByb21pc2U8RHluYW1pY01vZHVsZT4gfCBGb3J3YXJkUmVmZXJlbmNlPjtcbiAgICBkZXNlcmlhbGl6ZXI/OiBQcm92aWRlcjtcbiAgICBhY2Nlc3NDb250cm9sQWRhcHRlcj86IFByb3ZpZGVyO1xuICAgIHRyYW5zbGF0ZUFkYXB0ZXI/OiBQcm92aWRlcjtcbiAgICBleHBvcnRBZGFwdGVyPzogUHJvdmlkZXI7XG4gICAgZmlsdGVyPzogRmlsdGVyT3B0aW9uQ29uZmlnO1xuICAgIHZhbGlkYXRlRGF0YT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YUZpbHRlckZlYXR1cmVDb25maWcgZXh0ZW5kcyBEYXRhRmlsdGVyQ29uZmlnIHtcbiAgICBmaWx0ZXJzOiB7IGZpbHRlcjogVHlwZTxCYXNlRmlsdGVyPGFueT4+OyBpbmplY3Q/OiBhbnlbXTsgZGlzYWJsZUFjY2Vzc0NvbnRyb2w/OiBib29sZWFuOyB9W107XG59XG5cbkBHbG9iYWwoKVxuQE1vZHVsZSh7XG4gICAgcHJvdmlkZXJzOiBbRGF0YUZpbHRlclNjYW5uZXIsIFNlcXVlbGl6ZU1vZGVsU2Nhbm5lciwgRGF0YUZpbHRlclNlcnZpY2UsIERpYWxlY3RGb3JtYXR0ZXJTZXJ2aWNlXSxcbiAgICBleHBvcnRzOiBbRGF0YUZpbHRlclNjYW5uZXIsIFNlcXVlbGl6ZU1vZGVsU2Nhbm5lciwgRGF0YUZpbHRlclNlcnZpY2UsIERpYWxlY3RGb3JtYXR0ZXJTZXJ2aWNlXVxufSlcbmV4cG9ydCBjbGFzcyBEYXRhRmlsdGVyTW9kdWxlIHtcbiAgICBwdWJsaWMgc3RhdGljIGZvclJvb3Qob3B0aW9uPzogRGF0YUZpbHRlckNvbmZpZyk6IER5bmFtaWNNb2R1bGUge1xuICAgICAgICBvcHRpb24gPSB7XG4gICAgICAgICAgICBpbXBvcnRzOiBvcHRpb24/LmltcG9ydHMgPz8gW10sXG4gICAgICAgICAgICBkZXNlcmlhbGl6ZXI6IG9wdGlvbj8uZGVzZXJpYWxpemVyID8/IHtcbiAgICAgICAgICAgICAgICBwcm92aWRlOiBVc2VyRGVzZXJpYWxpemVyLFxuICAgICAgICAgICAgICAgIHVzZUNsYXNzOiBEZWZhdWx0RGVzZXJpYWxpemVyXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgYWNjZXNzQ29udHJvbEFkYXB0ZXI6IG9wdGlvbj8uYWNjZXNzQ29udHJvbEFkYXB0ZXIgPz8ge1xuICAgICAgICAgICAgICAgIHByb3ZpZGU6IEFjY2Vzc0NvbnRyb2xBZGFwdGVyLFxuICAgICAgICAgICAgICAgIHVzZUNsYXNzOiBEZWZhdWx0QWNjZXNzQ29udHJvbEFkYXB0ZXJcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB0cmFuc2xhdGVBZGFwdGVyOiBvcHRpb24/LnRyYW5zbGF0ZUFkYXB0ZXIgPz8ge1xuICAgICAgICAgICAgICAgIHByb3ZpZGU6IFRyYW5zbGF0ZUFkYXB0ZXIsXG4gICAgICAgICAgICAgICAgdXNlQ2xhc3M6IERlZmF1bHRUcmFuc2xhdGVBZGFwdGVyXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZXhwb3J0QWRhcHRlcjogb3B0aW9uPy5leHBvcnRBZGFwdGVyID8/IHtcbiAgICAgICAgICAgICAgICBwcm92aWRlOiBFeHBvcnRBZGFwdGVyLFxuICAgICAgICAgICAgICAgIHVzZUNsYXNzOiBEZWZhdWx0RXhwb3J0QWRhcHRlclxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGZpbHRlcjoge1xuICAgICAgICAgICAgICAgIC4uLmRlZmF1bHRGaWx0ZXJPcHRpb25Db25maWcsXG4gICAgICAgICAgICAgICAgLi4uKG9wdGlvbj8uZmlsdGVyID8/IHt9KVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHZhbGlkYXRlRGF0YTogb3B0aW9uPy52YWxpZGF0ZURhdGEgPz8gZmFsc2VcbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG1vZHVsZTogRGF0YUZpbHRlck1vZHVsZSxcbiAgICAgICAgICAgIGltcG9ydHM6IFsuLi5vcHRpb24uaW1wb3J0c10sXG4gICAgICAgICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IEZJTFRFUl9PUFRJT04sXG4gICAgICAgICAgICAgICAgICAgIHVzZVZhbHVlOiBvcHRpb24uZmlsdGVyXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IFZBTElEQVRFX0RBVEEsXG4gICAgICAgICAgICAgICAgICAgIHVzZVZhbHVlOiBvcHRpb24udmFsaWRhdGVEYXRhXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBvcHRpb24uZGVzZXJpYWxpemVyLFxuICAgICAgICAgICAgICAgIG9wdGlvbi5hY2Nlc3NDb250cm9sQWRhcHRlcixcbiAgICAgICAgICAgICAgICBvcHRpb24udHJhbnNsYXRlQWRhcHRlcixcbiAgICAgICAgICAgICAgICBvcHRpb24uZXhwb3J0QWRhcHRlcixcbiAgICAgICAgICAgICAgICBEYXRhRmlsdGVyVmFsaWRhdGlvblNlcnZpY2VcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBleHBvcnRzOiBbXG4gICAgICAgICAgICAgICAgRklMVEVSX09QVElPTixcbiAgICAgICAgICAgICAgICBVc2VyRGVzZXJpYWxpemVyLFxuICAgICAgICAgICAgICAgIEFjY2Vzc0NvbnRyb2xBZGFwdGVyLFxuICAgICAgICAgICAgICAgIFRyYW5zbGF0ZUFkYXB0ZXIsXG4gICAgICAgICAgICAgICAgRXhwb3J0QWRhcHRlclxuICAgICAgICAgICAgXVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZm9yRmVhdHVyZShvcHRpb246IERhdGFGaWx0ZXJGZWF0dXJlQ29uZmlnKTogRHluYW1pY01vZHVsZSB7XG4gICAgICAgIGNvbnN0IHByb3ZpZGVyT3ZlcnJpZGUgPSBPYmplY3Qua2V5cyhvcHRpb24pLm1hcCh4ID0+IHtcbiAgICAgICAgICAgIGlmICh4ID09PSBcImltcG9ydHNcIiB8fCB4ID09PSBcImZpbHRlcnNcIikge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBvcHRpb25beF07XG4gICAgICAgIH0pLmZpbHRlcih4ID0+IHgpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbW9kdWxlOiBEYXRhRmlsdGVyTW9kdWxlLFxuICAgICAgICAgICAgaW1wb3J0czogb3B0aW9uLmltcG9ydHMgPz8gW10sXG4gICAgICAgICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgICAgICAgICAuLi5wcm92aWRlck92ZXJyaWRlLFxuICAgICAgICAgICAgICAgIC4uLm9wdGlvbi5maWx0ZXJzLmZsYXRNYXAoeCA9PiAoW1xuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiB4LmZpbHRlcixcbiAgICAgICAgICAgICAgICAgICAgICAgIHVzZUZhY3Rvcnk6IEZpbHRlckZhY3RvcnkoeC5maWx0ZXIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgaW5qZWN0OiB4LmluamVjdCA/PyBbXVxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBjcmVhdGVGaWx0ZXJQcm92aWRlcih4LmZpbHRlciwgeC5kaXNhYmxlQWNjZXNzQ29udHJvbClcbiAgICAgICAgICAgICAgICBdKSlcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBleHBvcnRzOiBbXG4gICAgICAgICAgICAgICAgLi4ub3B0aW9uLmZpbHRlcnMubWFwKHggPT4gRmlsdGVyVXRpbHMuZ2V0UHJvdmlkZXJUb2tlbih4LmZpbHRlcikpXG4gICAgICAgICAgICBdXG4gICAgICAgIH07XG4gICAgfVxufVxuXG5leHBvcnQgKiBmcm9tIFwiLi9kYXRhLWZpbHRlci5zZXJ2aWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9kYXRhLWZpbHRlci5yZXBvc2l0b3J5XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9hZGFwdGVyc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZGVjb3JhdG9yc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZGVzZXJpYWxpemVyc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZmlsdGVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9tb2RlbHMvZXhwb3J0LXR5cGVzLm1vZGVsXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9tb2RlbHMvZmlsdGVyLm1vZGVsXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9tb2RlbHMvaW5jbHVkZS5tb2RlbFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbW9kZWxzL3VzZXIubW9kZWxcIjtcbiJdfQ==
146
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,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QzNCLCtDQUE2QjtBQUM3QixrREFBZ0M7QUFDaEMsMkNBQXlCO0FBQ3pCLDhEQUE0QztBQUM1Qyx3REFBc0M7QUFDdEMseURBQXVDO0FBQ3ZDLHNEQUFvQyIsImZpbGUiOiJsaWIvaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEeW5hbWljTW9kdWxlLCBmb3J3YXJkUmVmLCBGb3J3YXJkUmVmZXJlbmNlLCBHbG9iYWwsIE1vZHVsZSwgUHJvdmlkZXIsIFR5cGUgfSBmcm9tIFwiQG5lc3Rqcy9jb21tb25cIjtcbmltcG9ydCB7IEV4cG9ydEFkYXB0ZXIgfSBmcm9tIFwiLi9hZGFwdGVyc1wiO1xuaW1wb3J0IHsgQWNjZXNzQ29udHJvbEFkYXB0ZXIgfSBmcm9tIFwiLi9hZGFwdGVycy9hY2Nlc3MtY29udHJvbC5hZGFwdGVyXCI7XG5pbXBvcnQgeyBEZWZhdWx0QWNjZXNzQ29udHJvbEFkYXB0ZXIgfSBmcm9tIFwiLi9hZGFwdGVycy9kZWZhdWx0LWFjY2Vzcy1jb250cm9sLmFkYXB0ZXJcIjtcbmltcG9ydCB7IERlZmF1bHRFeHBvcnRBZGFwdGVyIH0gZnJvbSBcIi4vYWRhcHRlcnMvZGVmYXVsdC1leHBvcnQuYWRhcHRlclwiO1xuaW1wb3J0IHsgRGVmYXVsdFRyYW5zbGF0ZUFkYXB0ZXIgfSBmcm9tIFwiLi9hZGFwdGVycy9kZWZhdWx0LXRyYW5zbGF0ZS5hZGFwdGVyXCI7XG5pbXBvcnQgeyBUcmFuc2xhdGVBZGFwdGVyIH0gZnJvbSBcIi4vYWRhcHRlcnMvdHJhbnNsYXRlLmFkYXB0ZXJcIjtcbmltcG9ydCB7IERhdGFGaWx0ZXJTZXJ2aWNlIH0gZnJvbSBcIi4vZGF0YS1maWx0ZXIuc2VydmljZVwiO1xuaW1wb3J0IHsgRGVmYXVsdERlc2VyaWFsaXplciwgVXNlckRlc2VyaWFsaXplciB9IGZyb20gXCIuL2Rlc2VyaWFsaXplcnNcIjtcbmltcG9ydCB7IEZpbHRlclV0aWxzIH0gZnJvbSBcIi4vZmlsdGVyXCI7XG5pbXBvcnQgeyBCYXNlRmlsdGVyIH0gZnJvbSBcIi4vZmlsdGVyL2Jhc2UtZmlsdGVyXCI7XG5pbXBvcnQgeyBGaWx0ZXJGYWN0b3J5IH0gZnJvbSBcIi4vZmlsdGVyL2ZpbHRlci5mYWN0b3J5XCI7XG5pbXBvcnQgeyBEYXRhRmlsdGVyU2Nhbm5lciB9IGZyb20gXCIuL3NjYW5uZXJzL2RhdGEtZmlsdGVyLnNjYW5uZXJcIjtcbmltcG9ydCB7IFNlcXVlbGl6ZU1vZGVsU2Nhbm5lciB9IGZyb20gXCIuL3NjYW5uZXJzL3NlcXVlbGl6ZS1tb2RlbC5zY2FubmVyXCI7XG5pbXBvcnQgeyBjcmVhdGVGaWx0ZXJQcm92aWRlciB9IGZyb20gXCIuL2ZpbHRlci9maWx0ZXIucHJvdmlkZXJcIjtcbmltcG9ydCB7IGRlZmF1bHRGaWx0ZXJPcHRpb25Db25maWcsIEZpbHRlck9wdGlvbkNvbmZpZyB9IGZyb20gXCIuL2ZpbHRlci9maWx0ZXIuY29uZmlnXCI7XG5pbXBvcnQgeyBGSUxURVJfT1BUSU9OLCBWQUxJREFURV9EQVRBIH0gZnJvbSBcIi4vY29uc3RhbnRcIjtcbmltcG9ydCB7IERhdGFGaWx0ZXJWYWxpZGF0aW9uU2VydmljZSB9IGZyb20gXCIuL3NlcnZpY2VzL2RhdGEtZmlsdGVyLXZhbGlkYXRpb24uc2VydmljZVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIERhdGFGaWx0ZXJDb25maWcge1xuICAgIGltcG9ydHM/OiBBcnJheTxUeXBlIHwgRHluYW1pY01vZHVsZSB8IFByb21pc2U8RHluYW1pY01vZHVsZT4gfCBGb3J3YXJkUmVmZXJlbmNlPjtcbiAgICBkZXNlcmlhbGl6ZXI/OiBQcm92aWRlcjtcbiAgICBhY2Nlc3NDb250cm9sQWRhcHRlcj86IFByb3ZpZGVyO1xuICAgIHRyYW5zbGF0ZUFkYXB0ZXI/OiBQcm92aWRlcjtcbiAgICBleHBvcnRBZGFwdGVyPzogUHJvdmlkZXI7XG4gICAgZmlsdGVyPzogRmlsdGVyT3B0aW9uQ29uZmlnO1xuICAgIHZhbGlkYXRlRGF0YT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YUZpbHRlckZlYXR1cmVDb25maWcgZXh0ZW5kcyBEYXRhRmlsdGVyQ29uZmlnIHtcbiAgICBmaWx0ZXJzOiB7IGZpbHRlcjogVHlwZTxCYXNlRmlsdGVyPGFueT4+OyBpbmplY3Q/OiBhbnlbXTsgZGlzYWJsZUFjY2Vzc0NvbnRyb2w/OiBib29sZWFuOyB9W107XG59XG5cbkBHbG9iYWwoKVxuQE1vZHVsZSh7XG4gICAgcHJvdmlkZXJzOiBbRGF0YUZpbHRlclNjYW5uZXIsIFNlcXVlbGl6ZU1vZGVsU2Nhbm5lciwgRGF0YUZpbHRlclNlcnZpY2VdLFxuICAgIGV4cG9ydHM6IFtEYXRhRmlsdGVyU2Nhbm5lciwgU2VxdWVsaXplTW9kZWxTY2FubmVyLCBEYXRhRmlsdGVyU2VydmljZV1cbn0pXG5leHBvcnQgY2xhc3MgRGF0YUZpbHRlck1vZHVsZSB7XG4gICAgcHVibGljIHN0YXRpYyBmb3JSb290KG9wdGlvbj86IERhdGFGaWx0ZXJDb25maWcpOiBEeW5hbWljTW9kdWxlIHtcbiAgICAgICAgb3B0aW9uID0ge1xuICAgICAgICAgICAgaW1wb3J0czogb3B0aW9uPy5pbXBvcnRzID8/IFtdLFxuICAgICAgICAgICAgZGVzZXJpYWxpemVyOiBvcHRpb24/LmRlc2VyaWFsaXplciA/PyB7XG4gICAgICAgICAgICAgICAgcHJvdmlkZTogVXNlckRlc2VyaWFsaXplcixcbiAgICAgICAgICAgICAgICB1c2VDbGFzczogRGVmYXVsdERlc2VyaWFsaXplclxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGFjY2Vzc0NvbnRyb2xBZGFwdGVyOiBvcHRpb24/LmFjY2Vzc0NvbnRyb2xBZGFwdGVyID8/IHtcbiAgICAgICAgICAgICAgICBwcm92aWRlOiBBY2Nlc3NDb250cm9sQWRhcHRlcixcbiAgICAgICAgICAgICAgICB1c2VDbGFzczogRGVmYXVsdEFjY2Vzc0NvbnRyb2xBZGFwdGVyXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdHJhbnNsYXRlQWRhcHRlcjogb3B0aW9uPy50cmFuc2xhdGVBZGFwdGVyID8/IHtcbiAgICAgICAgICAgICAgICBwcm92aWRlOiBUcmFuc2xhdGVBZGFwdGVyLFxuICAgICAgICAgICAgICAgIHVzZUNsYXNzOiBEZWZhdWx0VHJhbnNsYXRlQWRhcHRlclxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGV4cG9ydEFkYXB0ZXI6IG9wdGlvbj8uZXhwb3J0QWRhcHRlciA/PyB7XG4gICAgICAgICAgICAgICAgcHJvdmlkZTogRXhwb3J0QWRhcHRlcixcbiAgICAgICAgICAgICAgICB1c2VDbGFzczogRGVmYXVsdEV4cG9ydEFkYXB0ZXJcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBmaWx0ZXI6IHtcbiAgICAgICAgICAgICAgICAuLi5kZWZhdWx0RmlsdGVyT3B0aW9uQ29uZmlnLFxuICAgICAgICAgICAgICAgIC4uLihvcHRpb24/LmZpbHRlciA/PyB7fSlcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB2YWxpZGF0ZURhdGE6IG9wdGlvbj8udmFsaWRhdGVEYXRhID8/IGZhbHNlXG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBtb2R1bGU6IERhdGFGaWx0ZXJNb2R1bGUsXG4gICAgICAgICAgICBpbXBvcnRzOiBbLi4ub3B0aW9uLmltcG9ydHNdLFxuICAgICAgICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBGSUxURVJfT1BUSU9OLFxuICAgICAgICAgICAgICAgICAgICB1c2VWYWx1ZTogb3B0aW9uLmZpbHRlclxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBWQUxJREFURV9EQVRBLFxuICAgICAgICAgICAgICAgICAgICB1c2VWYWx1ZTogb3B0aW9uLnZhbGlkYXRlRGF0YVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgb3B0aW9uLmRlc2VyaWFsaXplcixcbiAgICAgICAgICAgICAgICBvcHRpb24uYWNjZXNzQ29udHJvbEFkYXB0ZXIsXG4gICAgICAgICAgICAgICAgb3B0aW9uLnRyYW5zbGF0ZUFkYXB0ZXIsXG4gICAgICAgICAgICAgICAgb3B0aW9uLmV4cG9ydEFkYXB0ZXIsXG4gICAgICAgICAgICAgICAgRGF0YUZpbHRlclZhbGlkYXRpb25TZXJ2aWNlXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgZXhwb3J0czogW1xuICAgICAgICAgICAgICAgIEZJTFRFUl9PUFRJT04sXG4gICAgICAgICAgICAgICAgVXNlckRlc2VyaWFsaXplcixcbiAgICAgICAgICAgICAgICBBY2Nlc3NDb250cm9sQWRhcHRlcixcbiAgICAgICAgICAgICAgICBUcmFuc2xhdGVBZGFwdGVyLFxuICAgICAgICAgICAgICAgIEV4cG9ydEFkYXB0ZXJcbiAgICAgICAgICAgIF1cbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGZvckZlYXR1cmUob3B0aW9uOiBEYXRhRmlsdGVyRmVhdHVyZUNvbmZpZyk6IER5bmFtaWNNb2R1bGUge1xuICAgICAgICBjb25zdCBwcm92aWRlck92ZXJyaWRlID0gT2JqZWN0LmtleXMob3B0aW9uKS5tYXAoeCA9PiB7XG4gICAgICAgICAgICBpZiAoeCA9PT0gXCJpbXBvcnRzXCIgfHwgeCA9PT0gXCJmaWx0ZXJzXCIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gb3B0aW9uW3hdO1xuICAgICAgICB9KS5maWx0ZXIoeCA9PiB4KTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG1vZHVsZTogRGF0YUZpbHRlck1vZHVsZSxcbiAgICAgICAgICAgIGltcG9ydHM6IG9wdGlvbi5pbXBvcnRzID8/IFtdLFxuICAgICAgICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgICAgICAgICAgLi4ucHJvdmlkZXJPdmVycmlkZSxcbiAgICAgICAgICAgICAgICAuLi5vcHRpb24uZmlsdGVycy5mbGF0TWFwKHggPT4gKFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgcHJvdmlkZTogeC5maWx0ZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICB1c2VGYWN0b3J5OiBGaWx0ZXJGYWN0b3J5KHguZmlsdGVyKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGluamVjdDogeC5pbmplY3QgPz8gW11cbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgY3JlYXRlRmlsdGVyUHJvdmlkZXIoeC5maWx0ZXIsIHguZGlzYWJsZUFjY2Vzc0NvbnRyb2wpXG4gICAgICAgICAgICAgICAgXSkpXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgZXhwb3J0czogW1xuICAgICAgICAgICAgICAgIC4uLm9wdGlvbi5maWx0ZXJzLm1hcCh4ID0+IEZpbHRlclV0aWxzLmdldFByb3ZpZGVyVG9rZW4oeC5maWx0ZXIpKVxuICAgICAgICAgICAgXVxuICAgICAgICB9O1xuICAgIH1cbn1cblxuZXhwb3J0ICogZnJvbSBcIi4vZGF0YS1maWx0ZXIuc2VydmljZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZGF0YS1maWx0ZXIucmVwb3NpdG9yeVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vYWRhcHRlcnNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2RlY29yYXRvcnNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2Rlc2VyaWFsaXplcnNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2ZpbHRlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbW9kZWxzL2V4cG9ydC10eXBlcy5tb2RlbFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbW9kZWxzL2ZpbHRlci5tb2RlbFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbW9kZWxzL2luY2x1ZGUubW9kZWxcIjtcbmV4cG9ydCAqIGZyb20gXCIuL21vZGVscy91c2VyLm1vZGVsXCI7XG4iXX0=
@@ -1,8 +1,7 @@
1
1
  import { FindAttributeOptions, Order } from "sequelize";
2
- import { DialectFormatterService } from "../services/dialect-formatter.service";
3
- import { CustomAttributesConfig, CustomAttributesModel } from "./custom-attributes.model";
4
2
  import { IncludeConfig, IncludeModel } from "./include.model";
5
3
  import { PathConfig } from "./path.model";
4
+ import { CustomAttributesConfig, CustomAttributesModel } from "./custom-attributes.model";
6
5
  export interface AttributesConfigModel {
7
6
  key: string;
8
7
  attributes?: FindAttributeOptions;
@@ -19,7 +18,6 @@ export declare class AttributesConfig implements AttributesConfigModel {
19
18
  customAttributes: CustomAttributesConfig[];
20
19
  ignoreInSearch: boolean;
21
20
  constructor(key: string);
22
- withContext(dialectFormatterService: DialectFormatterService): AttributesContext;
23
21
  setAttributes(attributes?: FindAttributeOptions): void;
24
22
  setSearchableAttributes(attributes: string[]): void;
25
23
  setPath(path: PathConfig): void;
@@ -29,11 +27,6 @@ export declare class AttributesConfig implements AttributesConfigModel {
29
27
  setOrder(order: Order): void;
30
28
  addInclude(include: IncludeConfig): void;
31
29
  addCustomAttribute(attribute: CustomAttributesConfig): void;
32
- }
33
- export declare class AttributesContext {
34
- private config;
35
- private dialectFormatterService;
36
- constructor(config: AttributesConfig, dialectFormatterService: DialectFormatterService);
37
30
  transformAttributesConfig(options?: object): FindAttributeOptions;
38
31
  transformIncludesConfig(options?: object): IncludeModel[];
39
32
  getCustomAttributes(options?: object, path?: string): CustomAttributesModel[];
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AttributesContext = exports.AttributesConfig = void 0;
3
+ exports.AttributesConfig = void 0;
4
4
  const sequelize_utils_1 = require("../sequelize.utils");
5
5
  const path_model_1 = require("./path.model");
6
6
  class AttributesConfig {
@@ -14,9 +14,6 @@ class AttributesConfig {
14
14
  paranoid: true
15
15
  });
16
16
  }
17
- withContext(dialectFormatterService) {
18
- return new AttributesContext(this, dialectFormatterService);
19
- }
20
17
  setAttributes(attributes) {
21
18
  this.attributes = attributes;
22
19
  }
@@ -45,31 +42,24 @@ class AttributesConfig {
45
42
  addCustomAttribute(attribute) {
46
43
  this.customAttributes.push(attribute);
47
44
  }
48
- }
49
- exports.AttributesConfig = AttributesConfig;
50
- class AttributesContext {
51
- constructor(config, dialectFormatterService) {
52
- this.config = config;
53
- this.dialectFormatterService = dialectFormatterService;
54
- }
55
45
  transformAttributesConfig(options) {
56
46
  const customAttributes = this.getCustomAttributes(options);
57
- if (this.config.attributes) {
58
- if (this.config.customAttributes.length) {
59
- return sequelize_utils_1.SequelizeUtils.ensureAttributesValidity(sequelize_utils_1.SequelizeUtils.mergeAttributes(this.config.attributes, {
47
+ if (this.attributes) {
48
+ if (this.customAttributes.length) {
49
+ return sequelize_utils_1.SequelizeUtils.ensureAttributesValidity(sequelize_utils_1.SequelizeUtils.mergeAttributes(this.attributes, {
60
50
  include: customAttributes.map(x => x.attribute)
61
51
  }));
62
52
  }
63
- return sequelize_utils_1.SequelizeUtils.ensureAttributesValidity(this.config.attributes);
53
+ return sequelize_utils_1.SequelizeUtils.ensureAttributesValidity(this.attributes);
64
54
  }
65
- if (!this.config.attributes && customAttributes.length) {
55
+ if (!this.attributes && customAttributes.length) {
66
56
  return {
67
57
  include: customAttributes.map(x => x.attribute)
68
58
  };
69
59
  }
70
60
  }
71
61
  transformIncludesConfig(options) {
72
- return this.config.includes
62
+ return this.includes
73
63
  .map(x => {
74
64
  const customAttributes = this.getCustomAttributes(options, x.path);
75
65
  if (!customAttributes.length) {
@@ -105,11 +95,11 @@ class AttributesContext {
105
95
  });
106
96
  }
107
97
  getCustomAttributes(options, path) {
108
- return this.config.customAttributes
98
+ return this.customAttributes
109
99
  .filter(x => x.config.path === path)
110
100
  .map(x => ({
111
101
  key: x.key,
112
- attribute: x.withContext(this.dialectFormatterService).transform(options, this.config.path.path),
102
+ attribute: x.transform(options, this.path.path),
113
103
  path: x.config.path ? {
114
104
  path: x.config.path,
115
105
  paranoid: true
@@ -118,6 +108,6 @@ class AttributesContext {
118
108
  .filter(x => x.attribute);
119
109
  }
120
110
  }
121
- exports.AttributesContext = AttributesContext;
111
+ exports.AttributesConfig = AttributesConfig;
122
112
 
123
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2xpYi9tb2RlbHMvYXR0cmlidXRlcy5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSx3REFBb0Q7QUFJcEQsNkNBQTBDO0FBVTFDLE1BQWEsZ0JBQWdCO0lBUXpCLFlBQW1CLEdBQVc7UUFBWCxRQUFHLEdBQUgsR0FBRyxDQUFRO1FBSnZCLGFBQVEsR0FBb0IsRUFBRSxDQUFDO1FBQy9CLHFCQUFnQixHQUE2QixFQUFFLENBQUM7UUFDaEQsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFHMUIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLHVCQUFVLENBQUM7WUFDdkIsSUFBSSxFQUFFLEdBQUc7WUFDVCxRQUFRLEVBQUUsSUFBSTtTQUNqQixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU0sV0FBVyxDQUFDLHVCQUFnRDtRQUMvRCxPQUFPLElBQUksaUJBQWlCLENBQUMsSUFBSSxFQUFFLHVCQUF1QixDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVNLGFBQWEsQ0FBQyxVQUFpQztRQUNsRCxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztJQUNqQyxDQUFDO0lBRU0sdUJBQXVCLENBQUMsVUFBb0I7UUFDL0MsSUFBSSxDQUFDLG9CQUFvQixHQUFHLFVBQVUsQ0FBQztJQUMzQyxDQUFDO0lBRU0sT0FBTyxDQUFDLElBQWdCO1FBQzNCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQ3JCLENBQUM7SUFFTSxZQUFZLENBQUMsSUFBWTs7UUFDNUIsT0FBTyxNQUFBLElBQUksQ0FBQyxJQUFJLDBDQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVNLGVBQWUsQ0FBQyxNQUFlO1FBQ2xDLElBQUksQ0FBQyxjQUFjLEdBQUcsTUFBTSxDQUFDO0lBQ2pDLENBQUM7SUFFTSxXQUFXO1FBQ2QsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO0lBQzlCLENBQUM7SUFFTSxRQUFRLENBQUMsS0FBWTtRQUN4QixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDNUIsQ0FBQztJQUVNLFVBQVUsQ0FBQyxPQUFzQjtRQUNwQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRU0sa0JBQWtCLENBQUMsU0FBaUM7UUFDdkQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMxQyxDQUFDO0NBQ0o7QUF0REQsNENBc0RDO0FBRUQsTUFBYSxpQkFBaUI7SUFDMUIsWUFBb0IsTUFBd0IsRUFBVSx1QkFBZ0Q7UUFBbEYsV0FBTSxHQUFOLE1BQU0sQ0FBa0I7UUFBVSw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQXlCO0lBQUcsQ0FBQztJQUVuRyx5QkFBeUIsQ0FBQyxPQUFnQjtRQUM3QyxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzRCxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFO1lBQ3hCLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUU7Z0JBQ3JDLE9BQU8sZ0NBQWMsQ0FBQyx3QkFBd0IsQ0FDMUMsZ0NBQWMsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUU7b0JBQ25ELE9BQU8sRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO2lCQUNsRCxDQUFDLENBQ0wsQ0FBQzthQUNMO1lBRUQsT0FBTyxnQ0FBYyxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDMUU7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLElBQUksZ0JBQWdCLENBQUMsTUFBTSxFQUFFO1lBQ3BELE9BQU87Z0JBQ0gsT0FBTyxFQUFFLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7YUFDbEQsQ0FBQztTQUNMO0lBQ0wsQ0FBQztJQUVNLHVCQUF1QixDQUFDLE9BQWdCO1FBQzNDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRO2FBQ3RCLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNMLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbkUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBRTtnQkFDMUIsT0FBTyxDQUFDLENBQUM7YUFDWjtZQUVELElBQUksQ0FBQyxDQUFDLFVBQVUsRUFBRTtnQkFDZCxPQUFPO29CQUNILEdBQUcsQ0FBQztvQkFDSixVQUFVLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxVQUFzQixFQUFFLEdBQUcsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO2lCQUN2RixDQUFDO2FBQ0w7aUJBQU07Z0JBQ0gsT0FBTztvQkFDSCxHQUFHLENBQUM7b0JBQ0osVUFBVSxFQUFFO3dCQUNSLE9BQU8sRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO3FCQUNsRDtpQkFDSixDQUFDO2FBQ0w7UUFDTCxDQUFDLENBQUM7YUFDRCxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDTCxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUNWLE1BQU0sRUFBQyxLQUFLLEVBQUUsR0FBRyxNQUFNLEVBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQzdCLE9BQU8sTUFBTSxDQUFDO2FBQ2pCO1lBRUQsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUU7Z0JBQ1YsT0FBTyxDQUFDLENBQUM7YUFDWjtZQUVELE9BQU87Z0JBQ0gsR0FBRyxDQUFDO2dCQUNKLEtBQUssRUFBRSxnQ0FBYyxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDO2FBQ2xFLENBQUM7UUFDTixDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFTSxtQkFBbUIsQ0FBQyxPQUFnQixFQUFFLElBQWE7UUFDdEQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLGdCQUFnQjthQUM5QixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUM7YUFDbkMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNQLEdBQUcsRUFBRSxDQUFDLENBQUMsR0FBRztZQUNWLFNBQVMsRUFBRSxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ2hHLElBQUksRUFBRyxDQUFDLENBQUMsTUFBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7Z0JBQzNCLElBQUksRUFBRyxDQUFDLENBQUMsTUFBYyxDQUFDLElBQUk7Z0JBQzVCLFFBQVEsRUFBRSxJQUFJO2FBQ2pCLENBQUMsQ0FBQyxDQUFDLElBQUk7U0FDZSxDQUFBLENBQUM7YUFDM0IsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7Q0FDSjtBQTNFRCw4Q0EyRUMiLCJmaWxlIjoibGliL21vZGVscy9hdHRyaWJ1dGVzLm1vZGVsLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmluZEF0dHJpYnV0ZU9wdGlvbnMsIE9yZGVyIH0gZnJvbSBcInNlcXVlbGl6ZVwiO1xuaW1wb3J0IHsgU2VxdWVsaXplVXRpbHMgfSBmcm9tIFwiLi4vc2VxdWVsaXplLnV0aWxzXCI7XG5pbXBvcnQgeyBEaWFsZWN0Rm9ybWF0dGVyU2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy9kaWFsZWN0LWZvcm1hdHRlci5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBDdXN0b21BdHRyaWJ1dGVzQ29uZmlnLCBDdXN0b21BdHRyaWJ1dGVzTW9kZWwgfSBmcm9tIFwiLi9jdXN0b20tYXR0cmlidXRlcy5tb2RlbFwiO1xuaW1wb3J0IHsgSW5jbHVkZUNvbmZpZywgSW5jbHVkZU1vZGVsIH0gZnJvbSBcIi4vaW5jbHVkZS5tb2RlbFwiO1xuaW1wb3J0IHsgUGF0aENvbmZpZyB9IGZyb20gXCIuL3BhdGgubW9kZWxcIjtcblxuZXhwb3J0IGludGVyZmFjZSBBdHRyaWJ1dGVzQ29uZmlnTW9kZWwge1xuICAgIGtleTogc3RyaW5nO1xuICAgIGF0dHJpYnV0ZXM/OiBGaW5kQXR0cmlidXRlT3B0aW9ucztcbiAgICBwYXRoPzogUGF0aENvbmZpZztcbiAgICBpbmNsdWRlczogSW5jbHVkZUNvbmZpZ1tdO1xuICAgIGN1c3RvbUF0dHJpYnV0ZXM6IEN1c3RvbUF0dHJpYnV0ZXNDb25maWdbXTtcbn1cblxuZXhwb3J0IGNsYXNzIEF0dHJpYnV0ZXNDb25maWcgaW1wbGVtZW50cyBBdHRyaWJ1dGVzQ29uZmlnTW9kZWwge1xuICAgIHB1YmxpYyBhdHRyaWJ1dGVzPzogRmluZEF0dHJpYnV0ZU9wdGlvbnM7XG4gICAgcHVibGljIHNlYXJjaGFibGVBdHRyaWJ1dGVzPzogc3RyaW5nW107XG4gICAgcHVibGljIHBhdGg6IFBhdGhDb25maWc7XG4gICAgcHVibGljIGluY2x1ZGVzOiBJbmNsdWRlQ29uZmlnW10gPSBbXTtcbiAgICBwdWJsaWMgY3VzdG9tQXR0cmlidXRlczogQ3VzdG9tQXR0cmlidXRlc0NvbmZpZ1tdID0gW107XG4gICAgcHVibGljIGlnbm9yZUluU2VhcmNoID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMga2V5OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5wYXRoID0gbmV3IFBhdGhDb25maWcoe1xuICAgICAgICAgICAgcGF0aDoga2V5LFxuICAgICAgICAgICAgcGFyYW5vaWQ6IHRydWVcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIHdpdGhDb250ZXh0KGRpYWxlY3RGb3JtYXR0ZXJTZXJ2aWNlOiBEaWFsZWN0Rm9ybWF0dGVyU2VydmljZSk6IEF0dHJpYnV0ZXNDb250ZXh0IHtcbiAgICAgICAgcmV0dXJuIG5ldyBBdHRyaWJ1dGVzQ29udGV4dCh0aGlzLCBkaWFsZWN0Rm9ybWF0dGVyU2VydmljZSk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldEF0dHJpYnV0ZXMoYXR0cmlidXRlcz86IEZpbmRBdHRyaWJ1dGVPcHRpb25zKSB7XG4gICAgICAgIHRoaXMuYXR0cmlidXRlcyA9IGF0dHJpYnV0ZXM7XG4gICAgfVxuXG4gICAgcHVibGljIHNldFNlYXJjaGFibGVBdHRyaWJ1dGVzKGF0dHJpYnV0ZXM6IHN0cmluZ1tdKSB7XG4gICAgICAgIHRoaXMuc2VhcmNoYWJsZUF0dHJpYnV0ZXMgPSBhdHRyaWJ1dGVzO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXRQYXRoKHBhdGg6IFBhdGhDb25maWcpIHtcbiAgICAgICAgdGhpcy5wYXRoID0gcGF0aDtcbiAgICB9XG5cbiAgICBwdWJsaWMgY29udGFpbnNQYXRoKHBhdGg6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gdGhpcy5wYXRoPy5wYXRoLnN0YXJ0c1dpdGgocGF0aCk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldElnbm9yZUluUGF0aChpZ25vcmU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5pZ25vcmVJblNlYXJjaCA9IGlnbm9yZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0U2VwYXJhdGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucGF0aC5zZXBhcmF0ZSA9IHRydWU7XG4gICAgfVxuXG4gICAgcHVibGljIHNldE9yZGVyKG9yZGVyOiBPcmRlcik6IHZvaWQge1xuICAgICAgICB0aGlzLnBhdGgub3JkZXIgPSBvcmRlcjtcbiAgICB9XG5cbiAgICBwdWJsaWMgYWRkSW5jbHVkZShpbmNsdWRlOiBJbmNsdWRlQ29uZmlnKSB7XG4gICAgICAgIHRoaXMuaW5jbHVkZXMucHVzaChpbmNsdWRlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYWRkQ3VzdG9tQXR0cmlidXRlKGF0dHJpYnV0ZTogQ3VzdG9tQXR0cmlidXRlc0NvbmZpZykge1xuICAgICAgICB0aGlzLmN1c3RvbUF0dHJpYnV0ZXMucHVzaChhdHRyaWJ1dGUpO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEF0dHJpYnV0ZXNDb250ZXh0IHtcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbmZpZzogQXR0cmlidXRlc0NvbmZpZywgcHJpdmF0ZSBkaWFsZWN0Rm9ybWF0dGVyU2VydmljZTogRGlhbGVjdEZvcm1hdHRlclNlcnZpY2UpIHt9XG5cbiAgICBwdWJsaWMgdHJhbnNmb3JtQXR0cmlidXRlc0NvbmZpZyhvcHRpb25zPzogb2JqZWN0KTogRmluZEF0dHJpYnV0ZU9wdGlvbnMge1xuICAgICAgICBjb25zdCBjdXN0b21BdHRyaWJ1dGVzID0gdGhpcy5nZXRDdXN0b21BdHRyaWJ1dGVzKG9wdGlvbnMpO1xuICAgICAgICBpZiAodGhpcy5jb25maWcuYXR0cmlidXRlcykge1xuICAgICAgICAgICAgaWYgKHRoaXMuY29uZmlnLmN1c3RvbUF0dHJpYnV0ZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFNlcXVlbGl6ZVV0aWxzLmVuc3VyZUF0dHJpYnV0ZXNWYWxpZGl0eShcbiAgICAgICAgICAgICAgICAgICAgU2VxdWVsaXplVXRpbHMubWVyZ2VBdHRyaWJ1dGVzKHRoaXMuY29uZmlnLmF0dHJpYnV0ZXMsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGluY2x1ZGU6IGN1c3RvbUF0dHJpYnV0ZXMubWFwKHggPT4geC5hdHRyaWJ1dGUpXG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIFNlcXVlbGl6ZVV0aWxzLmVuc3VyZUF0dHJpYnV0ZXNWYWxpZGl0eSh0aGlzLmNvbmZpZy5hdHRyaWJ1dGVzKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXRoaXMuY29uZmlnLmF0dHJpYnV0ZXMgJiYgY3VzdG9tQXR0cmlidXRlcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgaW5jbHVkZTogY3VzdG9tQXR0cmlidXRlcy5tYXAoeCA9PiB4LmF0dHJpYnV0ZSlcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgdHJhbnNmb3JtSW5jbHVkZXNDb25maWcob3B0aW9ucz86IG9iamVjdCk6IEluY2x1ZGVNb2RlbFtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29uZmlnLmluY2x1ZGVzXG4gICAgICAgICAgICAubWFwKHggPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGN1c3RvbUF0dHJpYnV0ZXMgPSB0aGlzLmdldEN1c3RvbUF0dHJpYnV0ZXMob3B0aW9ucywgeC5wYXRoKTtcbiAgICAgICAgICAgICAgICBpZiAoIWN1c3RvbUF0dHJpYnV0ZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmICh4LmF0dHJpYnV0ZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLngsXG4gICAgICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzOiBbLi4ueC5hdHRyaWJ1dGVzIGFzIHN0cmluZ1tdLCAuLi5jdXN0b21BdHRyaWJ1dGVzLm1hcChhID0+IGEuYXR0cmlidXRlKV1cbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgLi4ueCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmNsdWRlOiBjdXN0b21BdHRyaWJ1dGVzLm1hcChhID0+IGEuYXR0cmlidXRlKVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAubWFwKHggPT4ge1xuICAgICAgICAgICAgICAgIGlmICghb3B0aW9ucykge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB7d2hlcmUsIC4uLnZhbHVlc30gPSB4O1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWVzO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmICgheC53aGVyZSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4geDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAuLi54LFxuICAgICAgICAgICAgICAgICAgICB3aGVyZTogU2VxdWVsaXplVXRpbHMuZ2VuZXJhdGVXaGVyZUNvbmRpdGlvbnMoeC53aGVyZSwgb3B0aW9ucylcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEN1c3RvbUF0dHJpYnV0ZXMob3B0aW9ucz86IG9iamVjdCwgcGF0aD86IHN0cmluZyk6IEN1c3RvbUF0dHJpYnV0ZXNNb2RlbFtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29uZmlnLmN1c3RvbUF0dHJpYnV0ZXNcbiAgICAgICAgICAgIC5maWx0ZXIoeCA9PiB4LmNvbmZpZy5wYXRoID09PSBwYXRoKVxuICAgICAgICAgICAgLm1hcCh4ID0+ICh7XG4gICAgICAgICAgICAgICAga2V5OiB4LmtleSxcbiAgICAgICAgICAgICAgICBhdHRyaWJ1dGU6IHgud2l0aENvbnRleHQodGhpcy5kaWFsZWN0Rm9ybWF0dGVyU2VydmljZSkudHJhbnNmb3JtKG9wdGlvbnMsIHRoaXMuY29uZmlnLnBhdGgucGF0aCksXG4gICAgICAgICAgICAgICAgcGF0aDogKHguY29uZmlnIGFzIGFueSkucGF0aCA/IHtcbiAgICAgICAgICAgICAgICAgICAgcGF0aDogKHguY29uZmlnIGFzIGFueSkucGF0aCxcbiAgICAgICAgICAgICAgICAgICAgcGFyYW5vaWQ6IHRydWVcbiAgICAgICAgICAgICAgICB9IDogbnVsbFxuICAgICAgICAgICAgfSBhcyBDdXN0b21BdHRyaWJ1dGVzTW9kZWwpKVxuICAgICAgICAgICAgLmZpbHRlcih4ID0+IHguYXR0cmlidXRlKTtcbiAgICB9XG59XG4iXX0=
113
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2xpYi9tb2RlbHMvYXR0cmlidXRlcy5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSx3REFBb0Q7QUFFcEQsNkNBQXFEO0FBV3JELE1BQWEsZ0JBQWdCO0lBUXpCLFlBQW1CLEdBQVc7UUFBWCxRQUFHLEdBQUgsR0FBRyxDQUFRO1FBSnZCLGFBQVEsR0FBb0IsRUFBRSxDQUFDO1FBQy9CLHFCQUFnQixHQUE2QixFQUFFLENBQUM7UUFDaEQsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFHMUIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLHVCQUFVLENBQUM7WUFDdkIsSUFBSSxFQUFFLEdBQUc7WUFDVCxRQUFRLEVBQUUsSUFBSTtTQUNqQixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU0sYUFBYSxDQUFDLFVBQWlDO1FBQ2xELElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO0lBQ2pDLENBQUM7SUFFTSx1QkFBdUIsQ0FBQyxVQUFvQjtRQUMvQyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsVUFBVSxDQUFDO0lBQzNDLENBQUM7SUFFTSxPQUFPLENBQUMsSUFBZ0I7UUFDM0IsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7SUFDckIsQ0FBQztJQUVNLFlBQVksQ0FBQyxJQUFZOztRQUM1QixPQUFPLE1BQUEsSUFBSSxDQUFDLElBQUksMENBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRU0sZUFBZSxDQUFDLE1BQWU7UUFDbEMsSUFBSSxDQUFDLGNBQWMsR0FBRyxNQUFNLENBQUM7SUFDakMsQ0FBQztJQUVNLFdBQVc7UUFDZCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7SUFDOUIsQ0FBQztJQUVNLFFBQVEsQ0FBQyxLQUFZO1FBQ3hCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUM1QixDQUFDO0lBRU0sVUFBVSxDQUFD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QyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDUCxHQUFHLEVBQUUsQ0FBQyxDQUFDLEdBQUc7WUFDVixTQUFTLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDL0MsSUFBSSxFQUFHLENBQUMsQ0FBQyxNQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztnQkFDM0IsSUFBSSxFQUFHLENBQUMsQ0FBQyxNQUFjLENBQUMsSUFBSTtnQkFDNUIsUUFBUSxFQUFFLElBQUk7YUFDakIsQ0FBQyxDQUFDLENBQUMsSUFBSTtTQUNlLENBQUEsQ0FBQzthQUMzQixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDbEMsQ0FBQztDQUNKO0FBM0hELDRDQTJIQyIsImZpbGUiOiJsaWIvbW9kZWxzL2F0dHJpYnV0ZXMubW9kZWwuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGaW5kQXR0cmlidXRlT3B0aW9ucywgT3JkZXIsIFdoZXJlT3B0aW9ucyB9IGZyb20gXCJzZXF1ZWxpemVcIjtcbmltcG9ydCB7IFNlcXVlbGl6ZVV0aWxzIH0gZnJvbSBcIi4uL3NlcXVlbGl6ZS51dGlsc1wiO1xuaW1wb3J0IHsgSW5jbHVkZUNvbmZpZywgSW5jbHVkZU1vZGVsLCBJbmNsdWRlV2hlcmVNb2RlbCB9IGZyb20gXCIuL2luY2x1ZGUubW9kZWxcIjtcbmltcG9ydCB7IFBhdGhDb25maWcsIFBhdGhNb2RlbCB9IGZyb20gXCIuL3BhdGgubW9kZWxcIjtcbmltcG9ydCB7IEN1c3RvbUF0dHJpYnV0ZXNDb25maWcsIEN1c3RvbUF0dHJpYnV0ZXNNb2RlbCB9IGZyb20gXCIuL2N1c3RvbS1hdHRyaWJ1dGVzLm1vZGVsXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXR0cmlidXRlc0NvbmZpZ01vZGVsIHtcbiAgICBrZXk6IHN0cmluZztcbiAgICBhdHRyaWJ1dGVzPzogRmluZEF0dHJpYnV0ZU9wdGlvbnM7XG4gICAgcGF0aD86IFBhdGhDb25maWc7XG4gICAgaW5jbHVkZXM6IEluY2x1ZGVDb25maWdbXTtcbiAgICBjdXN0b21BdHRyaWJ1dGVzOiBDdXN0b21BdHRyaWJ1dGVzQ29uZmlnW107XG59XG5cbmV4cG9ydCBjbGFzcyBBdHRyaWJ1dGVzQ29uZmlnIGltcGxlbWVudHMgQXR0cmlidXRlc0NvbmZpZ01vZGVsIHtcbiAgICBwdWJsaWMgYXR0cmlidXRlcz86IEZpbmRBdHRyaWJ1dGVPcHRpb25zO1xuICAgIHB1YmxpYyBzZWFyY2hhYmxlQXR0cmlidXRlcz86IHN0cmluZ1tdO1xuICAgIHB1YmxpYyBwYXRoOiBQYXRoQ29uZmlnO1xuICAgIHB1YmxpYyBpbmNsdWRlczogSW5jbHVkZUNvbmZpZ1tdID0gW107XG4gICAgcHVibGljIGN1c3RvbUF0dHJpYnV0ZXM6IEN1c3RvbUF0dHJpYnV0ZXNDb25maWdbXSA9IFtdO1xuICAgIHB1YmxpYyBpZ25vcmVJblNlYXJjaCA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IocHVibGljIGtleTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMucGF0aCA9IG5ldyBQYXRoQ29uZmlnKHtcbiAgICAgICAgICAgIHBhdGg6IGtleSxcbiAgICAgICAgICAgIHBhcmFub2lkOiB0cnVlXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXRBdHRyaWJ1dGVzKGF0dHJpYnV0ZXM/OiBGaW5kQXR0cmlidXRlT3B0aW9ucykge1xuICAgICAgICB0aGlzLmF0dHJpYnV0ZXMgPSBhdHRyaWJ1dGVzO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXRTZWFyY2hhYmxlQXR0cmlidXRlcyhhdHRyaWJ1dGVzOiBzdHJpbmdbXSkge1xuICAgICAgICB0aGlzLnNlYXJjaGFibGVBdHRyaWJ1dGVzID0gYXR0cmlidXRlcztcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0UGF0aChwYXRoOiBQYXRoQ29uZmlnKSB7XG4gICAgICAgIHRoaXMucGF0aCA9IHBhdGg7XG4gICAgfVxuXG4gICAgcHVibGljIGNvbnRhaW5zUGF0aChwYXRoOiBzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGF0aD8ucGF0aC5zdGFydHNXaXRoKHBhdGgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXRJZ25vcmVJblBhdGgoaWdub3JlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuaWdub3JlSW5TZWFyY2ggPSBpZ25vcmU7XG4gICAgfVxuXG4gICAgcHVibGljIHNldFNlcGFyYXRlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnBhdGguc2VwYXJhdGUgPSB0cnVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXRPcmRlcihvcmRlcjogT3JkZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wYXRoLm9yZGVyID0gb3JkZXI7XG4gICAgfVxuXG4gICAgcHVibGljIGFkZEluY2x1ZGUoaW5jbHVkZTogSW5jbHVkZUNvbmZpZykge1xuICAgICAgICB0aGlzLmluY2x1ZGVzLnB1c2goaW5jbHVkZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGFkZEN1c3RvbUF0dHJpYnV0ZShhdHRyaWJ1dGU6IEN1c3RvbUF0dHJpYnV0ZXNDb25maWcpIHtcbiAgICAgICAgdGhpcy5jdXN0b21BdHRyaWJ1dGVzLnB1c2goYXR0cmlidXRlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdHJhbnNmb3JtQXR0cmlidXRlc0NvbmZpZyhvcHRpb25zPzogb2JqZWN0KTogRmluZEF0dHJpYnV0ZU9wdGlvbnMge1xuICAgICAgICBjb25zdCBjdXN0b21BdHRyaWJ1dGVzID0gdGhpcy5nZXRDdXN0b21BdHRyaWJ1dGVzKG9wdGlvbnMpO1xuICAgICAgICBpZiAodGhpcy5hdHRyaWJ1dGVzKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5jdXN0b21BdHRyaWJ1dGVzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBTZXF1ZWxpemVVdGlscy5lbnN1cmVBdHRyaWJ1dGVzVmFsaWRpdHkoXG4gICAgICAgICAgICAgICAgICAgIFNlcXVlbGl6ZVV0aWxzLm1lcmdlQXR0cmlidXRlcyh0aGlzLmF0dHJpYnV0ZXMsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGluY2x1ZGU6IGN1c3RvbUF0dHJpYnV0ZXMubWFwKHggPT4geC5hdHRyaWJ1dGUpXG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIFNlcXVlbGl6ZVV0aWxzLmVuc3VyZUF0dHJpYnV0ZXNWYWxpZGl0eSh0aGlzLmF0dHJpYnV0ZXMpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy5hdHRyaWJ1dGVzICYmIGN1c3RvbUF0dHJpYnV0ZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGluY2x1ZGU6IGN1c3RvbUF0dHJpYnV0ZXMubWFwKHggPT4geC5hdHRyaWJ1dGUpXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHRyYW5zZm9ybUluY2x1ZGVzQ29uZmlnKG9wdGlvbnM/OiBvYmplY3QpOiBJbmNsdWRlTW9kZWxbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmluY2x1ZGVzXG4gICAgICAgICAgICAubWFwKHggPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGN1c3RvbUF0dHJpYnV0ZXMgPSB0aGlzLmdldEN1c3RvbUF0dHJpYnV0ZXMob3B0aW9ucywgeC5wYXRoKTtcbiAgICAgICAgICAgICAgICBpZiAoIWN1c3RvbUF0dHJpYnV0ZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmICh4LmF0dHJpYnV0ZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLngsXG4gICAgICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzOiBbLi4ueC5hdHRyaWJ1dGVzIGFzIHN0cmluZ1tdLCAuLi5jdXN0b21BdHRyaWJ1dGVzLm1hcChhID0+IGEuYXR0cmlidXRlKV1cbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgLi4ueCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmNsdWRlOiBjdXN0b21BdHRyaWJ1dGVzLm1hcChhID0+IGEuYXR0cmlidXRlKVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAubWFwKHggPT4ge1xuICAgICAgICAgICAgICAgIGlmICghb3B0aW9ucykge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB7IHdoZXJlLCAuLi52YWx1ZXMgfSA9IHg7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZXM7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKCF4LndoZXJlKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIC4uLngsXG4gICAgICAgICAgICAgICAgICAgIHdoZXJlOiBTZXF1ZWxpemVVdGlscy5nZW5lcmF0ZVdoZXJlQ29uZGl0aW9ucyh4LndoZXJlLCBvcHRpb25zKVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Q3VzdG9tQXR0cmlidXRlcyhvcHRpb25zPzogb2JqZWN0LCBwYXRoPzogc3RyaW5nKTogQ3VzdG9tQXR0cmlidXRlc01vZGVsW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5jdXN0b21BdHRyaWJ1dGVzXG4gICAgICAgICAgICAuZmlsdGVyKHggPT4geC5jb25maWcucGF0aCA9PT0gcGF0aClcbiAgICAgICAgICAgIC5tYXAoeCA9PiAoe1xuICAgICAgICAgICAgICAgIGtleTogeC5rZXksXG4gICAgICAgICAgICAgICAgYXR0cmlidXRlOiB4LnRyYW5zZm9ybShvcHRpb25zLCB0aGlzLnBhdGgucGF0aCksXG4gICAgICAgICAgICAgICAgcGF0aDogKHguY29uZmlnIGFzIGFueSkucGF0aCA/IHtcbiAgICAgICAgICAgICAgICAgICAgcGF0aDogKHguY29uZmlnIGFzIGFueSkucGF0aCxcbiAgICAgICAgICAgICAgICAgICAgcGFyYW5vaWQ6IHRydWVcbiAgICAgICAgICAgICAgICB9IDogbnVsbFxuICAgICAgICAgICAgfSBhcyBDdXN0b21BdHRyaWJ1dGVzTW9kZWwpKVxuICAgICAgICAgICAgLmZpbHRlcih4ID0+IHguYXR0cmlidXRlKTtcbiAgICB9XG59XG4iXX0=
@@ -1,21 +1,14 @@
1
- import { ProjectionAlias } from "sequelize/types/model";
2
- import { DialectFormatterService } from "../services/dialect-formatter.service";
3
- import { CustomAttributesConfig, CustomAttributesContext, CustomAttributesOptionConfig } from "./custom-attributes.model";
1
+ import { ProjectionAlias } from "sequelize";
2
+ import { CustomAttributesConfig, CustomAttributesOptionConfig } from "./custom-attributes.model";
4
3
  export interface CountConfig extends CustomAttributesOptionConfig {
5
4
  attribute: string;
6
5
  distinct?: boolean;
7
6
  }
8
- export declare class CountAttributesConfig implements CustomAttributesConfig<CountConfig, CountAttributesContext> {
7
+ export declare class CountAttributesConfig implements CustomAttributesConfig<CountConfig> {
9
8
  key: string;
10
9
  config: CountConfig;
11
10
  type: string;
12
11
  constructor(key: string, config: CountConfig);
13
- withContext(dialectFormatterService: DialectFormatterService): CountAttributesContext;
14
- shouldGroupBy(): boolean;
15
- }
16
- export declare class CountAttributesContext extends CustomAttributesContext {
17
- private config;
18
- private dialectFormatterService;
19
- constructor(config: CountAttributesConfig, dialectFormatterService: DialectFormatterService);
20
12
  transform(options: object, path?: string): string | ProjectionAlias;
13
+ shouldGroupBy(): boolean;
21
14
  }
@@ -1,41 +1,30 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CountAttributesContext = exports.CountAttributesConfig = void 0;
3
+ exports.CountAttributesConfig = void 0;
4
4
  const sequelize_1 = require("sequelize");
5
- const custom_attributes_model_1 = require("./custom-attributes.model");
5
+ const sequelize_utils_1 = require("../sequelize.utils");
6
6
  class CountAttributesConfig {
7
7
  constructor(key, config) {
8
8
  this.key = key;
9
9
  this.config = config;
10
10
  this.type = "count";
11
11
  }
12
- withContext(dialectFormatterService) {
13
- return new CountAttributesContext(this, dialectFormatterService);
12
+ transform(options, path) {
13
+ if (this.config.distinct) {
14
+ const attribute = this.config.path
15
+ ? sequelize_utils_1.SequelizeUtils.getLiteralFullName(this.config.attribute, this.config.path)
16
+ : this.config.attribute;
17
+ return [(0, sequelize_1.literal)(`COUNT(DISTINCT ${attribute})`), this.key];
18
+ }
19
+ const attribute = this.config.path
20
+ ? (0, sequelize_1.literal)(sequelize_utils_1.SequelizeUtils.getLiteralFullName(this.config.attribute, this.config.path))
21
+ : this.config.attribute;
22
+ return [(0, sequelize_1.fn)("COUNT", attribute), this.key];
14
23
  }
15
24
  shouldGroupBy() {
16
25
  return true;
17
26
  }
18
27
  }
19
28
  exports.CountAttributesConfig = CountAttributesConfig;
20
- class CountAttributesContext extends custom_attributes_model_1.CustomAttributesContext {
21
- constructor(config, dialectFormatterService) {
22
- super();
23
- this.config = config;
24
- this.dialectFormatterService = dialectFormatterService;
25
- }
26
- transform(options, path) {
27
- if (this.config.config.distinct) {
28
- const attribute = this.config.config.path
29
- ? this.dialectFormatterService.getLiteralFullName(this.config.config.attribute, this.config.config.path)
30
- : this.config.config.attribute;
31
- return [(0, sequelize_1.literal)(`COUNT(DISTINCT ${attribute})`), this.config.key];
32
- }
33
- const attribute = this.config.config.path
34
- ? (0, sequelize_1.literal)(this.dialectFormatterService.getLiteralFullName(this.config.config.attribute, this.config.config.path))
35
- : this.config.config.attribute;
36
- return [(0, sequelize_1.fn)("COUNT", attribute), this.config.key];
37
- }
38
- }
39
- exports.CountAttributesContext = CountAttributesContext;
40
29
 
41
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2xpYi9tb2RlbHMvY291bnQubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEseUNBQXdDO0FBR3hDLHVFQUltQztBQU9uQyxNQUFhLHFCQUFxQjtJQUc5QixZQUFtQixHQUFXLEVBQVMsTUFBbUI7UUFBdkMsUUFBRyxHQUFILEdBQUcsQ0FBUTtRQUFTLFdBQU0sR0FBTixNQUFNLENBQWE7UUFGbkQsU0FBSSxHQUFHLE9BQU8sQ0FBQztJQUV1QyxDQUFDO0lBRXZELFdBQVcsQ0FBQyx1QkFBZ0Q7UUFDL0QsT0FBTyxJQUFJLHNCQUFzQixDQUFDLElBQUksRUFBRSx1QkFBdUIsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFTSxhQUFhO1FBQ2hCLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7Q0FDSjtBQVpELHNEQVlDO0FBRUQsTUFBYSxzQkFBdUIsU0FBUSxpREFBdUI7SUFDL0QsWUFBb0IsTUFBNkIsRUFBVSx1QkFBZ0Q7UUFDdkcsS0FBSyxFQUFFLENBQUM7UUFEUSxXQUFNLEdBQU4sTUFBTSxDQUF1QjtRQUFVLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBeUI7SUFFM0csQ0FBQztJQUVNLFNBQVMsQ0FBQyxPQUFlLEVBQUUsSUFBYTtRQUMzQyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRTtZQUM3QixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJO2dCQUNyQyxDQUFDLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7Z0JBQ3hHLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUM7WUFDbkMsT0FBTyxDQUFDLElBQUEsbUJBQU8sRUFBQyxrQkFBa0IsU0FBUyxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ3JFO1FBRUQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSTtZQUNyQyxDQUFDLENBQUMsSUFBQSxtQkFBTyxFQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDakgsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQztRQUNuQyxPQUFPLENBQUMsSUFBQSxjQUFFLEVBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDckQsQ0FBQztDQUNKO0FBbEJELHdEQWtCQyIsImZpbGUiOiJsaWIvbW9kZWxzL2NvdW50Lm1vZGVsLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZm4sIGxpdGVyYWwgfSBmcm9tIFwic2VxdWVsaXplXCI7XG5pbXBvcnQgeyBQcm9qZWN0aW9uQWxpYXMgfSBmcm9tIFwic2VxdWVsaXplL3R5cGVzL21vZGVsXCI7XG5pbXBvcnQgeyBEaWFsZWN0Rm9ybWF0dGVyU2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy9kaWFsZWN0LWZvcm1hdHRlci5zZXJ2aWNlXCI7XG5pbXBvcnQge1xuICAgIEN1c3RvbUF0dHJpYnV0ZXNDb25maWcsXG4gICAgQ3VzdG9tQXR0cmlidXRlc0NvbnRleHQsXG4gICAgQ3VzdG9tQXR0cmlidXRlc09wdGlvbkNvbmZpZ1xufSBmcm9tIFwiLi9jdXN0b20tYXR0cmlidXRlcy5tb2RlbFwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIENvdW50Q29uZmlnIGV4dGVuZHMgQ3VzdG9tQXR0cmlidXRlc09wdGlvbkNvbmZpZyB7XG4gICAgYXR0cmlidXRlOiBzdHJpbmc7XG4gICAgZGlzdGluY3Q/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY2xhc3MgQ291bnRBdHRyaWJ1dGVzQ29uZmlnIGltcGxlbWVudHMgQ3VzdG9tQXR0cmlidXRlc0NvbmZpZzxDb3VudENvbmZpZywgQ291bnRBdHRyaWJ1dGVzQ29udGV4dD4ge1xuICAgIHB1YmxpYyB0eXBlID0gXCJjb3VudFwiO1xuXG4gICAgY29uc3RydWN0b3IocHVibGljIGtleTogc3RyaW5nLCBwdWJsaWMgY29uZmlnOiBDb3VudENvbmZpZykge31cblxuICAgIHB1YmxpYyB3aXRoQ29udGV4dChkaWFsZWN0Rm9ybWF0dGVyU2VydmljZTogRGlhbGVjdEZvcm1hdHRlclNlcnZpY2UpOiBDb3VudEF0dHJpYnV0ZXNDb250ZXh0IHtcbiAgICAgICAgcmV0dXJuIG5ldyBDb3VudEF0dHJpYnV0ZXNDb250ZXh0KHRoaXMsIGRpYWxlY3RGb3JtYXR0ZXJTZXJ2aWNlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2hvdWxkR3JvdXBCeSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQ291bnRBdHRyaWJ1dGVzQ29udGV4dCBleHRlbmRzIEN1c3RvbUF0dHJpYnV0ZXNDb250ZXh0IHtcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbmZpZzogQ291bnRBdHRyaWJ1dGVzQ29uZmlnLCBwcml2YXRlIGRpYWxlY3RGb3JtYXR0ZXJTZXJ2aWNlOiBEaWFsZWN0Rm9ybWF0dGVyU2VydmljZSkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIHB1YmxpYyB0cmFuc2Zvcm0ob3B0aW9uczogb2JqZWN0LCBwYXRoPzogc3RyaW5nKTogc3RyaW5nIHwgUHJvamVjdGlvbkFsaWFzIHtcbiAgICAgICAgaWYgKHRoaXMuY29uZmlnLmNvbmZpZy5kaXN0aW5jdCkge1xuICAgICAgICAgICAgY29uc3QgYXR0cmlidXRlID0gdGhpcy5jb25maWcuY29uZmlnLnBhdGhcbiAgICAgICAgICAgICAgICA/IHRoaXMuZGlhbGVjdEZvcm1hdHRlclNlcnZpY2UuZ2V0TGl0ZXJhbEZ1bGxOYW1lKHRoaXMuY29uZmlnLmNvbmZpZy5hdHRyaWJ1dGUsIHRoaXMuY29uZmlnLmNvbmZpZy5wYXRoKVxuICAgICAgICAgICAgICAgIDogdGhpcy5jb25maWcuY29uZmlnLmF0dHJpYnV0ZTtcbiAgICAgICAgICAgIHJldHVybiBbbGl0ZXJhbChgQ09VTlQoRElTVElOQ1QgJHthdHRyaWJ1dGV9KWApLCB0aGlzLmNvbmZpZy5rZXldO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgYXR0cmlidXRlID0gdGhpcy5jb25maWcuY29uZmlnLnBhdGhcbiAgICAgICAgICAgID8gbGl0ZXJhbCh0aGlzLmRpYWxlY3RGb3JtYXR0ZXJTZXJ2aWNlLmdldExpdGVyYWxGdWxsTmFtZSh0aGlzLmNvbmZpZy5jb25maWcuYXR0cmlidXRlLCB0aGlzLmNvbmZpZy5jb25maWcucGF0aCkpXG4gICAgICAgICAgICA6IHRoaXMuY29uZmlnLmNvbmZpZy5hdHRyaWJ1dGU7XG4gICAgICAgIHJldHVybiBbZm4oXCJDT1VOVFwiLCBhdHRyaWJ1dGUpLCB0aGlzLmNvbmZpZy5rZXldO1xuICAgIH1cbn0iXX0=
30
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2xpYi9tb2RlbHMvY291bnQubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EseUNBQXlEO0FBRXpELHdEQUFvRDtBQVFwRCxNQUFhLHFCQUFxQjtJQUc5QixZQUFtQixHQUFXLEVBQVMsTUFBbUI7UUFBdkMsUUFBRyxHQUFILEdBQUcsQ0FBUTtRQUFTLFdBQU0sR0FBTixNQUFNLENBQWE7UUFGbkQsU0FBSSxHQUFHLE9BQU8sQ0FBQztJQUV1QyxDQUFDO0lBRXZELFNBQVMsQ0FBQyxPQUFlLEVBQUUsSUFBYTtRQUMzQyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFO1lBQ3RCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSTtnQkFDOUIsQ0FBQyxDQUFDLGdDQUFjLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7Z0JBQzVFLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQztZQUM1QixPQUFPLENBQUMsSUFBQSxtQkFBTyxFQUFDLGtCQUFrQixTQUFTLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUM5RDtRQUVELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSTtZQUM5QixDQUFDLENBQUMsSUFBQSxtQkFBTyxFQUFDLGdDQUFjLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNyRixDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUM7UUFDNUIsT0FBTyxDQUFDLElBQUEsY0FBRSxFQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVNLGFBQWE7UUFDaEIsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztDQUNKO0FBdEJELHNEQXNCQyIsImZpbGUiOiJsaWIvbW9kZWxzL2NvdW50Lm1vZGVsLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHIgfSBmcm9tIFwiZGF0ZS1mbnMvbG9jYWxlXCI7XG5pbXBvcnQgeyBmbiwgbGl0ZXJhbCwgUHJvamVjdGlvbkFsaWFzIH0gZnJvbSBcInNlcXVlbGl6ZVwiO1xuaW1wb3J0IHsgR3JvdXBPcHRpb24gfSBmcm9tIFwic2VxdWVsaXplL3R5cGVzL21vZGVsXCI7XG5pbXBvcnQgeyBTZXF1ZWxpemVVdGlscyB9IGZyb20gXCIuLi9zZXF1ZWxpemUudXRpbHNcIjtcbmltcG9ydCB7IEN1c3RvbUF0dHJpYnV0ZXNDb25maWcsIEN1c3RvbUF0dHJpYnV0ZXNPcHRpb25Db25maWcgfSBmcm9tIFwiLi9jdXN0b20tYXR0cmlidXRlcy5tb2RlbFwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIENvdW50Q29uZmlnIGV4dGVuZHMgQ3VzdG9tQXR0cmlidXRlc09wdGlvbkNvbmZpZyB7XG4gICAgYXR0cmlidXRlOiBzdHJpbmc7XG4gICAgZGlzdGluY3Q/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY2xhc3MgQ291bnRBdHRyaWJ1dGVzQ29uZmlnIGltcGxlbWVudHMgQ3VzdG9tQXR0cmlidXRlc0NvbmZpZzxDb3VudENvbmZpZz4ge1xuICAgIHB1YmxpYyB0eXBlID0gXCJjb3VudFwiO1xuXG4gICAgY29uc3RydWN0b3IocHVibGljIGtleTogc3RyaW5nLCBwdWJsaWMgY29uZmlnOiBDb3VudENvbmZpZykge31cblxuICAgIHB1YmxpYyB0cmFuc2Zvcm0ob3B0aW9uczogb2JqZWN0LCBwYXRoPzogc3RyaW5nKTogc3RyaW5nIHwgUHJvamVjdGlvbkFsaWFzIHtcbiAgICAgICAgaWYgKHRoaXMuY29uZmlnLmRpc3RpbmN0KSB7XG4gICAgICAgICAgICBjb25zdCBhdHRyaWJ1dGUgPSB0aGlzLmNvbmZpZy5wYXRoXG4gICAgICAgICAgICAgICAgPyBTZXF1ZWxpemVVdGlscy5nZXRMaXRlcmFsRnVsbE5hbWUodGhpcy5jb25maWcuYXR0cmlidXRlLCB0aGlzLmNvbmZpZy5wYXRoKVxuICAgICAgICAgICAgICAgIDogdGhpcy5jb25maWcuYXR0cmlidXRlO1xuICAgICAgICAgICAgcmV0dXJuIFtsaXRlcmFsKGBDT1VOVChESVNUSU5DVCAke2F0dHJpYnV0ZX0pYCksIHRoaXMua2V5XTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGF0dHJpYnV0ZSA9IHRoaXMuY29uZmlnLnBhdGhcbiAgICAgICAgICAgID8gbGl0ZXJhbChTZXF1ZWxpemVVdGlscy5nZXRMaXRlcmFsRnVsbE5hbWUodGhpcy5jb25maWcuYXR0cmlidXRlLCB0aGlzLmNvbmZpZy5wYXRoKSlcbiAgICAgICAgICAgIDogdGhpcy5jb25maWcuYXR0cmlidXRlO1xuICAgICAgICByZXR1cm4gW2ZuKFwiQ09VTlRcIiwgYXR0cmlidXRlKSwgdGhpcy5rZXldO1xuICAgIH1cblxuICAgIHB1YmxpYyBzaG91bGRHcm91cEJ5KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG59XG4iXX0=
@@ -1,5 +1,4 @@
1
1
  import { ProjectionAlias } from "sequelize";
2
- import { DialectFormatterService } from "../services/dialect-formatter.service";
3
2
  import { IncludeWhereModel } from "./include.model";
4
3
  import { PathModel } from "./path.model";
5
4
  export interface CustomAttributesOptionConfig {
@@ -7,16 +6,13 @@ export interface CustomAttributesOptionConfig {
7
6
  path?: string;
8
7
  where?: IncludeWhereModel;
9
8
  }
10
- export interface CustomAttributesConfig<T extends CustomAttributesOptionConfig = CustomAttributesOptionConfig, context = CustomAttributesContext> {
9
+ export interface CustomAttributesConfig<T extends CustomAttributesOptionConfig = CustomAttributesOptionConfig> {
11
10
  key: string;
12
11
  type: string;
13
12
  config?: T;
14
- withContext(dialectFormatterService: DialectFormatterService): context;
13
+ transform(options?: object, path?: string): string | ProjectionAlias;
15
14
  shouldGroupBy(): boolean;
16
15
  }
17
- export declare abstract class CustomAttributesContext {
18
- abstract transform(options?: object, path?: string): string | ProjectionAlias;
19
- }
20
16
  export interface CustomAttributesModel {
21
17
  key: string;
22
18
  attribute: string | ProjectionAlias;
@@ -1,8 +1,4 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CustomAttributesContext = void 0;
4
- class CustomAttributesContext {
5
- }
6
- exports.CustomAttributesContext = CustomAttributesContext;
7
3
 
8
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2xpYi9tb2RlbHMvY3VzdG9tLWF0dHJpYnV0ZXMubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBcUJBLE1BQXNCLHVCQUF1QjtDQUU1QztBQUZELDBEQUVDIiwiZmlsZSI6ImxpYi9tb2RlbHMvY3VzdG9tLWF0dHJpYnV0ZXMubW9kZWwuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcm9qZWN0aW9uQWxpYXMgfSBmcm9tIFwic2VxdWVsaXplXCI7XG5pbXBvcnQgeyBHcm91cE9wdGlvbiB9IGZyb20gXCJzZXF1ZWxpemUvdHlwZXMvbW9kZWxcIjtcbmltcG9ydCB7IERpYWxlY3RGb3JtYXR0ZXJTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL2RpYWxlY3QtZm9ybWF0dGVyLnNlcnZpY2VcIjtcbmltcG9ydCB7IEluY2x1ZGVXaGVyZU1vZGVsIH0gZnJvbSBcIi4vaW5jbHVkZS5tb2RlbFwiO1xuaW1wb3J0IHsgUGF0aE1vZGVsIH0gZnJvbSBcIi4vcGF0aC5tb2RlbFwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEN1c3RvbUF0dHJpYnV0ZXNPcHRpb25Db25maWcge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBwYXRoPzogc3RyaW5nO1xuICAgIHdoZXJlPzogSW5jbHVkZVdoZXJlTW9kZWw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3VzdG9tQXR0cmlidXRlc0NvbmZpZzxUIGV4dGVuZHMgQ3VzdG9tQXR0cmlidXRlc09wdGlvbkNvbmZpZyA9IEN1c3RvbUF0dHJpYnV0ZXNPcHRpb25Db25maWcsIGNvbnRleHQgPSBDdXN0b21BdHRyaWJ1dGVzQ29udGV4dD4ge1xuICAgIGtleTogc3RyaW5nO1xuICAgIHR5cGU6IHN0cmluZztcbiAgICBjb25maWc/OiBUO1xuXG4gICAgd2l0aENvbnRleHQoZGlhbGVjdEZvcm1hdHRlclNlcnZpY2U6IERpYWxlY3RGb3JtYXR0ZXJTZXJ2aWNlKTogY29udGV4dDtcbiAgICBzaG91bGRHcm91cEJ5KCk6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBDdXN0b21BdHRyaWJ1dGVzQ29udGV4dCB7XG4gICAgcHVibGljIGFic3RyYWN0IHRyYW5zZm9ybShvcHRpb25zPzogb2JqZWN0LCBwYXRoPzogc3RyaW5nKTogc3RyaW5nIHwgUHJvamVjdGlvbkFsaWFzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEN1c3RvbUF0dHJpYnV0ZXNNb2RlbCB7XG4gICAga2V5OiBzdHJpbmc7XG4gICAgYXR0cmlidXRlOiBzdHJpbmcgfCBQcm9qZWN0aW9uQWxpYXM7XG4gICAgcGF0aD86IFBhdGhNb2RlbDtcbn1cbiJdfQ==
4
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2xpYi9tb2RlbHMvY3VzdG9tLWF0dHJpYnV0ZXMubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJsaWIvbW9kZWxzL2N1c3RvbS1hdHRyaWJ1dGVzLm1vZGVsLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJvamVjdGlvbkFsaWFzIH0gZnJvbSBcInNlcXVlbGl6ZVwiO1xuaW1wb3J0IHsgR3JvdXBPcHRpb24gfSBmcm9tIFwic2VxdWVsaXplL3R5cGVzL21vZGVsXCI7XG5pbXBvcnQgeyBJbmNsdWRlV2hlcmVNb2RlbCB9IGZyb20gXCIuL2luY2x1ZGUubW9kZWxcIjtcbmltcG9ydCB7IFBhdGhNb2RlbCB9IGZyb20gXCIuL3BhdGgubW9kZWxcIjtcblxuZXhwb3J0IGludGVyZmFjZSBDdXN0b21BdHRyaWJ1dGVzT3B0aW9uQ29uZmlnIHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgcGF0aD86IHN0cmluZztcbiAgICB3aGVyZT86IEluY2x1ZGVXaGVyZU1vZGVsO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEN1c3RvbUF0dHJpYnV0ZXNDb25maWc8VCBleHRlbmRzIEN1c3RvbUF0dHJpYnV0ZXNPcHRpb25Db25maWcgPSBDdXN0b21BdHRyaWJ1dGVzT3B0aW9uQ29uZmlnPiB7XG4gICAga2V5OiBzdHJpbmc7XG4gICAgdHlwZTogc3RyaW5nO1xuICAgIGNvbmZpZz86IFQ7XG5cbiAgICB0cmFuc2Zvcm0ob3B0aW9ucz86IG9iamVjdCwgcGF0aD86IHN0cmluZyk6IHN0cmluZyB8IFByb2plY3Rpb25BbGlhcztcbiAgICBzaG91bGRHcm91cEJ5KCk6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3VzdG9tQXR0cmlidXRlc01vZGVsIHtcbiAgICBrZXk6IHN0cmluZztcbiAgICBhdHRyaWJ1dGU6IHN0cmluZyB8IFByb2plY3Rpb25BbGlhcztcbiAgICBwYXRoPzogUGF0aE1vZGVsO1xufVxuIl19
@@ -1,6 +1,5 @@
1
1
  import { FindAttributeOptions } from "sequelize";
2
2
  import { Model } from "sequelize-typescript";
3
- import { DialectFormatterService } from "../services/dialect-formatter.service";
4
3
  import { CustomAttributesConfig, CustomAttributesModel } from "./custom-attributes.model";
5
4
  import { IncludeConfig } from "./include.model";
6
5
  export interface DataFilterConfigModel {
@@ -16,20 +15,14 @@ export declare class DataFilterConfig implements DataFilterConfigModel {
16
15
  exportColumns?: string[];
17
16
  customAttributes: CustomAttributesConfig[];
18
17
  ignoreInSearch: boolean;
19
- withContext(dialectFormatterService: DialectFormatterService): DataFilterContext;
20
18
  setModel(model: typeof Model): void;
21
19
  setIgnoreInPath(ignore: boolean): void;
22
20
  setAttributes(attributes?: FindAttributeOptions): void;
23
21
  setSearchableAttributes(attributes: string[]): void;
24
22
  setExportColumns(exportColumns: string[]): void;
25
23
  addCustomAttribute(attribute: CustomAttributesConfig): void;
26
- getCustomAttributesIncludes(): IncludeConfig[];
27
- getSearchableAttributes(): string[];
28
- }
29
- export declare class DataFilterContext {
30
- private config;
31
- private dialectFormatterService;
32
- constructor(config: DataFilterConfig, dialectFormatterService: DialectFormatterService);
33
24
  transformAttributesConfig(options?: object): FindAttributeOptions;
34
25
  getCustomAttributes(options?: object): CustomAttributesModel[];
26
+ getCustomAttributesIncludes(): IncludeConfig[];
27
+ getSearchableAttributes(): string[];
35
28
  }