@recursyve/nestjs-data-filter 9.3.3 → 9.4.0-beta.1
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/adapters/default-access-control.adapter.js +3 -3
- package/lib/adapters/default-export.adapter.js +3 -3
- package/lib/adapters/default-translate.adapter.js +3 -3
- package/lib/data-filter.repository.d.ts +5 -3
- package/lib/data-filter.repository.js +19 -16
- package/lib/data-filter.service.d.ts +4 -4
- package/lib/data-filter.service.js +10 -9
- package/lib/filter/base-filter.d.ts +3 -0
- package/lib/filter/base-filter.js +19 -1
- package/lib/filter/controllers/dynamic-filter.controller.js +2 -2
- package/lib/filter/controllers/filter.controller.js +2 -2
- package/lib/filter/decorators/inject-filter.decorator.d.ts +1 -1
- package/lib/filter/filter.factory.d.ts +2 -1
- package/lib/filter/filter.factory.js +3 -3
- package/lib/filter/filter.provider.js +3 -2
- package/lib/filter/filter.service.d.ts +3 -1
- package/lib/filter/filter.service.js +20 -13
- package/lib/filter/filters/date-time.filter.js +12 -5
- package/lib/filter/filters/filter.d.ts +3 -0
- package/lib/filter/filters/filter.js +7 -4
- package/lib/filter/filters/geo-bounds.filter.js +2 -3
- package/lib/filter/filters/geo-localization.filter.js +2 -2
- package/lib/filter/filters/group.filter.d.ts +3 -0
- package/lib/filter/filters/group.filter.js +9 -2
- package/lib/filter/guards/filter-query.guard.js +3 -3
- package/lib/filter/interceptors/data-file-download.interceptor.js +3 -3
- package/lib/filter/operators.js +2 -2
- package/lib/filter/order-rules/enum.order-rule.js +2 -3
- package/lib/filter/order-rules/if.order-rule.js +2 -3
- package/lib/filter/order-rules/is-null.order-rule.js +2 -3
- package/lib/filter/order-rules/order-rule.d.ts +3 -0
- package/lib/filter/order-rules/order-rule.js +5 -2
- package/lib/filter/type.js +2 -2
- package/lib/index.js +6 -5
- package/lib/models/attributes.model.d.ts +8 -1
- package/lib/models/attributes.model.js +21 -11
- package/lib/models/count.model.d.ts +11 -4
- package/lib/models/count.model.js +25 -14
- package/lib/models/custom-attributes.model.d.ts +6 -2
- package/lib/models/custom-attributes.model.js +5 -1
- package/lib/models/data-filter.model.d.ts +9 -2
- package/lib/models/data-filter.model.js +40 -30
- package/lib/models/distance.model.d.ts +10 -3
- package/lib/models/distance.model.js +29 -18
- package/lib/models/export-types.model.js +2 -2
- package/lib/models/sum.model.d.ts +10 -3
- package/lib/models/sum.model.js +19 -8
- package/lib/scanners/data-filter.scanner.js +3 -3
- package/lib/scanners/sequelize-model.scanner.d.ts +4 -2
- package/lib/scanners/sequelize-model.scanner.js +20 -11
- package/lib/sequelize.utils.d.ts +0 -3
- package/lib/sequelize.utils.js +1 -18
- package/lib/services/data-filter-validation.service.js +3 -3
- package/lib/services/dialect-formatter.service.js +3 -3
- package/package.json +1 -1
- package/lib/filter/filters/options.filter.d.ts +0 -46
- package/lib/filter/filters/options.filter.js +0 -111
package/lib/index.js
CHANGED
|
@@ -39,6 +39,7 @@ 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");
|
|
42
43
|
let DataFilterModule = DataFilterModule_1 = class DataFilterModule {
|
|
43
44
|
static forRoot(option) {
|
|
44
45
|
var _a, _b, _c, _d, _e, _f, _g;
|
|
@@ -124,14 +125,14 @@ let DataFilterModule = DataFilterModule_1 = class DataFilterModule {
|
|
|
124
125
|
};
|
|
125
126
|
}
|
|
126
127
|
};
|
|
127
|
-
|
|
128
|
-
exports.DataFilterModule = DataFilterModule = DataFilterModule_1 = __decorate([
|
|
128
|
+
DataFilterModule = DataFilterModule_1 = __decorate([
|
|
129
129
|
(0, common_1.Global)(),
|
|
130
130
|
(0, common_1.Module)({
|
|
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]
|
|
131
|
+
providers: [data_filter_scanner_1.DataFilterScanner, sequelize_model_scanner_1.SequelizeModelScanner, data_filter_service_1.DataFilterService, dialect_formatter_service_1.DialectFormatterService],
|
|
132
|
+
exports: [data_filter_scanner_1.DataFilterScanner, sequelize_model_scanner_1.SequelizeModelScanner, data_filter_service_1.DataFilterService, dialect_formatter_service_1.DialectFormatterService]
|
|
133
133
|
})
|
|
134
134
|
], DataFilterModule);
|
|
135
|
+
exports.DataFilterModule = DataFilterModule;
|
|
135
136
|
__exportStar(require("./data-filter.service"), exports);
|
|
136
137
|
__exportStar(require("./data-filter.repository"), exports);
|
|
137
138
|
__exportStar(require("./adapters"), exports);
|
|
@@ -143,4 +144,4 @@ __exportStar(require("./models/filter.model"), exports);
|
|
|
143
144
|
__exportStar(require("./models/include.model"), exports);
|
|
144
145
|
__exportStar(require("./models/user.model"), exports);
|
|
145
146
|
|
|
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=
|
|
147
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,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N0Isd0RBQXNDO0FBQ3RDLDJEQUF5QztBQUN6Qyw2Q0FBMkI7QUFDM0IsK0NBQTZCO0FBQzdCLGtEQUFnQztBQUNoQywyQ0FBeUI7QUFDekIsOERBQTRDO0FBQzVDLHdEQUFzQztBQUN0Qyx5REFBdUM7QUFDdkMsc0RBQW9DIiwiZmlsZSI6ImxpYi9pbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IER5bmFtaWNNb2R1bGUsIGZvcndhcmRSZWYsIEZvcndhcmRSZWZlcmVuY2UsIEdsb2JhbCwgTW9kdWxlLCBQcm92aWRlciwgVHlwZSB9IGZyb20gXCJAbmVzdGpzL2NvbW1vblwiO1xuaW1wb3J0IHsgRXhwb3J0QWRhcHRlciB9IGZyb20gXCIuL2FkYXB0ZXJzXCI7XG5pbXBvcnQgeyBBY2Nlc3NDb250cm9sQWRhcHRlciB9IGZyb20gXCIuL2FkYXB0ZXJzL2FjY2Vzcy1jb250cm9sLmFkYXB0ZXJcIjtcbmltcG9ydCB7IERlZmF1bHRBY2Nlc3NDb250cm9sQWRhcHRlciB9IGZyb20gXCIuL2FkYXB0ZXJzL2RlZmF1bHQtYWNjZXNzLWNvbnRyb2wuYWRhcHRlclwiO1xuaW1wb3J0IHsgRGVmYXVsdEV4cG9ydEFkYXB0ZXIgfSBmcm9tIFwiLi9hZGFwdGVycy9kZWZhdWx0LWV4cG9ydC5hZGFwdGVyXCI7XG5pbXBvcnQgeyBEZWZhdWx0VHJhbnNsYXRlQWRhcHRlciB9IGZyb20gXCIuL2FkYXB0ZXJzL2RlZmF1bHQtdHJhbnNsYXRlLmFkYXB0ZXJcIjtcbmltcG9ydCB7IFRyYW5zbGF0ZUFkYXB0ZXIgfSBmcm9tIFwiLi9hZGFwdGVycy90cmFuc2xhdGUuYWRhcHRlclwiO1xuaW1wb3J0IHsgRGF0YUZpbHRlclNlcnZpY2UgfSBmcm9tIFwiLi9kYXRhLWZpbHRlci5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBEZWZhdWx0RGVzZXJpYWxpemVyLCBVc2VyRGVzZXJpYWxpemVyIH0gZnJvbSBcIi4vZGVzZXJpYWxpemVyc1wiO1xuaW1wb3J0IHsgRmlsdGVyVXRpbHMgfSBmcm9tIFwiLi9maWx0ZXJcIjtcbmltcG9ydCB7IEJhc2VGaWx0ZXIgfSBmcm9tIFwiLi9maWx0ZXIvYmFzZS1maWx0ZXJcIjtcbmltcG9ydCB7IEZpbHRlckZhY3RvcnkgfSBmcm9tIFwiLi9maWx0ZXIvZmlsdGVyLmZhY3RvcnlcIjtcbmltcG9ydCB7IERhdGFGaWx0ZXJTY2FubmVyIH0gZnJvbSBcIi4vc2Nhbm5lcnMvZGF0YS1maWx0ZXIuc2Nhbm5lclwiO1xuaW1wb3J0IHsgU2VxdWVsaXplTW9kZWxTY2FubmVyIH0gZnJvbSBcIi4vc2Nhbm5lcnMvc2VxdWVsaXplLW1vZGVsLnNjYW5uZXJcIjtcbmltcG9ydCB7IGNyZWF0ZUZpbHRlclByb3ZpZGVyIH0gZnJvbSBcIi4vZmlsdGVyL2ZpbHRlci5wcm92aWRlclwiO1xuaW1wb3J0IHsgZGVmYXVsdEZpbHRlck9wdGlvbkNvbmZpZywgRmlsdGVyT3B0aW9uQ29uZmlnIH0gZnJvbSBcIi4vZmlsdGVyL2ZpbHRlci5jb25maWdcIjtcbmltcG9ydCB7IEZJTFRFUl9PUFRJT04sIFZBTElEQVRFX0RBVEEgfSBmcm9tIFwiLi9jb25zdGFudFwiO1xuaW1wb3J0IHsgRGF0YUZpbHRlclZhbGlkYXRpb25TZXJ2aWNlIH0gZnJvbSBcIi4vc2VydmljZXMvZGF0YS1maWx0ZXItdmFsaWRhdGlvbi5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBEaWFsZWN0Rm9ybWF0dGVyU2VydmljZSB9IGZyb20gXCIuL3NlcnZpY2VzL2RpYWxlY3QtZm9ybWF0dGVyLnNlcnZpY2VcIjtcblxuZXhwb3J0IGludGVyZmFjZSBEYXRhRmlsdGVyQ29uZmlnIHtcbiAgICBpbXBvcnRzPzogQXJyYXk8VHlwZSB8IER5bmFtaWNNb2R1bGUgfCBQcm9taXNlPER5bmFtaWNNb2R1bGU+IHwgRm9yd2FyZFJlZmVyZW5jZT47XG4gICAgZGVzZXJpYWxpemVyPzogUHJvdmlkZXI7XG4gICAgYWNjZXNzQ29udHJvbEFkYXB0ZXI/OiBQcm92aWRlcjtcbiAgICB0cmFuc2xhdGVBZGFwdGVyPzogUHJvdmlkZXI7XG4gICAgZXhwb3J0QWRhcHRlcj86IFByb3ZpZGVyO1xuICAgIGZpbHRlcj86IEZpbHRlck9wdGlvbkNvbmZpZztcbiAgICB2YWxpZGF0ZURhdGE/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERhdGFGaWx0ZXJGZWF0dXJlQ29uZmlnIGV4dGVuZHMgRGF0YUZpbHRlckNvbmZpZyB7XG4gICAgZmlsdGVyczogeyBmaWx0ZXI6IFR5cGU8QmFzZUZpbHRlcjxhbnk+PjsgaW5qZWN0PzogYW55W107IGRpc2FibGVBY2Nlc3NDb250cm9sPzogYm9vbGVhbjsgfVtdO1xufVxuXG5AR2xvYmFsKClcbkBNb2R1bGUoe1xuICAgIHByb3ZpZGVyczogW0RhdGFGaWx0ZXJTY2FubmVyLCBTZXF1ZWxpemVNb2RlbFNjYW5uZXIsIERhdGFGaWx0ZXJTZXJ2aWNlLCBEaWFsZWN0Rm9ybWF0dGVyU2VydmljZV0sXG4gICAgZXhwb3J0czogW0RhdGFGaWx0ZXJTY2FubmVyLCBTZXF1ZWxpemVNb2RlbFNjYW5uZXIsIERhdGFGaWx0ZXJTZXJ2aWNlLCBEaWFsZWN0Rm9ybWF0dGVyU2VydmljZV1cbn0pXG5leHBvcnQgY2xhc3MgRGF0YUZpbHRlck1vZHVsZSB7XG4gICAgcHVibGljIHN0YXRpYyBmb3JSb290KG9wdGlvbj86IERhdGFGaWx0ZXJDb25maWcpOiBEeW5hbWljTW9kdWxlIHtcbiAgICAgICAgb3B0aW9uID0ge1xuICAgICAgICAgICAgaW1wb3J0czogb3B0aW9uPy5pbXBvcnRzID8/IFtdLFxuICAgICAgICAgICAgZGVzZXJpYWxpemVyOiBvcHRpb24/LmRlc2VyaWFsaXplciA/PyB7XG4gICAgICAgICAgICAgICAgcHJvdmlkZTogVXNlckRlc2VyaWFsaXplcixcbiAgICAgICAgICAgICAgICB1c2VDbGFzczogRGVmYXVsdERlc2VyaWFsaXplclxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGFjY2Vzc0NvbnRyb2xBZGFwdGVyOiBvcHRpb24/LmFjY2Vzc0NvbnRyb2xBZGFwdGVyID8/IHtcbiAgICAgICAgICAgICAgICBwcm92aWRlOiBBY2Nlc3NDb250cm9sQWRhcHRlcixcbiAgICAgICAgICAgICAgICB1c2VDbGFzczogRGVmYXVsdEFjY2Vzc0NvbnRyb2xBZGFwdGVyXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdHJhbnNsYXRlQWRhcHRlcjogb3B0aW9uPy50cmFuc2xhdGVBZGFwdGVyID8/IHtcbiAgICAgICAgICAgICAgICBwcm92aWRlOiBUcmFuc2xhdGVBZGFwdGVyLFxuICAgICAgICAgICAgICAgIHVzZUNsYXNzOiBEZWZhdWx0VHJhbnNsYXRlQWRhcHRlclxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGV4cG9ydEFkYXB0ZXI6IG9wdGlvbj8uZXhwb3J0QWRhcHRlciA/PyB7XG4gICAgICAgICAgICAgICAgcHJvdmlkZTogRXhwb3J0QWRhcHRlcixcbiAgICAgICAgICAgICAgICB1c2VDbGFzczogRGVmYXVsdEV4cG9ydEFkYXB0ZXJcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBmaWx0ZXI6IHtcbiAgICAgICAgICAgICAgICAuLi5kZWZhdWx0RmlsdGVyT3B0aW9uQ29uZmlnLFxuICAgICAgICAgICAgICAgIC4uLihvcHRpb24/LmZpbHRlciA/PyB7fSlcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB2YWxpZGF0ZURhdGE6IG9wdGlvbj8udmFsaWRhdGVEYXRhID8/IGZhbHNlXG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBtb2R1bGU6IERhdGFGaWx0ZXJNb2R1bGUsXG4gICAgICAgICAgICBpbXBvcnRzOiBbLi4ub3B0aW9uLmltcG9ydHNdLFxuICAgICAgICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBGSUxURVJfT1BUSU9OLFxuICAgICAgICAgICAgICAgICAgICB1c2VWYWx1ZTogb3B0aW9uLmZpbHRlclxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBWQUxJREFURV9EQVRBLFxuICAgICAgICAgICAgICAgICAgICB1c2VWYWx1ZTogb3B0aW9uLnZhbGlkYXRlRGF0YVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgb3B0aW9uLmRlc2VyaWFsaXplcixcbiAgICAgICAgICAgICAgICBvcHRpb24uYWNjZXNzQ29udHJvbEFkYXB0ZXIsXG4gICAgICAgICAgICAgICAgb3B0aW9uLnRyYW5zbGF0ZUFkYXB0ZXIsXG4gICAgICAgICAgICAgICAgb3B0aW9uLmV4cG9ydEFkYXB0ZXIsXG4gICAgICAgICAgICAgICAgRGF0YUZpbHRlclZhbGlkYXRpb25TZXJ2aWNlXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgZXhwb3J0czogW1xuICAgICAgICAgICAgICAgIEZJTFRFUl9PUFRJT04sXG4gICAgICAgICAgICAgICAgVXNlckRlc2VyaWFsaXplcixcbiAgICAgICAgICAgICAgICBBY2Nlc3NDb250cm9sQWRhcHRlcixcbiAgICAgICAgICAgICAgICBUcmFuc2xhdGVBZGFwdGVyLFxuICAgICAgICAgICAgICAgIEV4cG9ydEFkYXB0ZXJcbiAgICAgICAgICAgIF1cbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGZvckZlYXR1cmUob3B0aW9uOiBEYXRhRmlsdGVyRmVhdHVyZUNvbmZpZyk6IER5bmFtaWNNb2R1bGUge1xuICAgICAgICBjb25zdCBwcm92aWRlck92ZXJyaWRlID0gT2JqZWN0LmtleXMob3B0aW9uKS5tYXAoeCA9PiB7XG4gICAgICAgICAgICBpZiAoeCA9PT0gXCJpbXBvcnRzXCIgfHwgeCA9PT0gXCJmaWx0ZXJzXCIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gb3B0aW9uW3hdO1xuICAgICAgICB9KS5maWx0ZXIoeCA9PiB4KTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG1vZHVsZTogRGF0YUZpbHRlck1vZHVsZSxcbiAgICAgICAgICAgIGltcG9ydHM6IG9wdGlvbi5pbXBvcnRzID8/IFtdLFxuICAgICAgICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgICAgICAgICAgLi4ucHJvdmlkZXJPdmVycmlkZSxcbiAgICAgICAgICAgICAgICAuLi5vcHRpb24uZmlsdGVycy5mbGF0TWFwKHggPT4gKFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgcHJvdmlkZTogeC5maWx0ZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICB1c2VGYWN0b3J5OiBGaWx0ZXJGYWN0b3J5KHguZmlsdGVyKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGluamVjdDogeC5pbmplY3QgPz8gW11cbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgY3JlYXRlRmlsdGVyUHJvdmlkZXIoeC5maWx0ZXIsIHguZGlzYWJsZUFjY2Vzc0NvbnRyb2wpXG4gICAgICAgICAgICAgICAgXSkpXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgZXhwb3J0czogW1xuICAgICAgICAgICAgICAgIC4uLm9wdGlvbi5maWx0ZXJzLm1hcCh4ID0+IEZpbHRlclV0aWxzLmdldFByb3ZpZGVyVG9rZW4oeC5maWx0ZXIpKVxuICAgICAgICAgICAgXVxuICAgICAgICB9O1xuICAgIH1cbn1cblxuZXhwb3J0ICogZnJvbSBcIi4vZGF0YS1maWx0ZXIuc2VydmljZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZGF0YS1maWx0ZXIucmVwb3NpdG9yeVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vYWRhcHRlcnNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2RlY29yYXRvcnNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2Rlc2VyaWFsaXplcnNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2ZpbHRlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbW9kZWxzL2V4cG9ydC10eXBlcy5tb2RlbFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbW9kZWxzL2ZpbHRlci5tb2RlbFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbW9kZWxzL2luY2x1ZGUubW9kZWxcIjtcbmV4cG9ydCAqIGZyb20gXCIuL21vZGVscy91c2VyLm1vZGVsXCI7XG4iXX0=
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { FindAttributeOptions, Order } from "sequelize";
|
|
2
|
+
import { DialectFormatterService } from "../services/dialect-formatter.service";
|
|
3
|
+
import { CustomAttributesConfig, CustomAttributesModel } from "./custom-attributes.model";
|
|
2
4
|
import { IncludeConfig, IncludeModel } from "./include.model";
|
|
3
5
|
import { PathConfig } from "./path.model";
|
|
4
|
-
import { CustomAttributesConfig, CustomAttributesModel } from "./custom-attributes.model";
|
|
5
6
|
export interface AttributesConfigModel {
|
|
6
7
|
key: string;
|
|
7
8
|
attributes?: FindAttributeOptions;
|
|
@@ -18,6 +19,7 @@ export declare class AttributesConfig implements AttributesConfigModel {
|
|
|
18
19
|
customAttributes: CustomAttributesConfig[];
|
|
19
20
|
ignoreInSearch: boolean;
|
|
20
21
|
constructor(key: string);
|
|
22
|
+
withContext(dialectFormatterService: DialectFormatterService): AttributesContext;
|
|
21
23
|
setAttributes(attributes?: FindAttributeOptions): void;
|
|
22
24
|
setSearchableAttributes(attributes: string[]): void;
|
|
23
25
|
setPath(path: PathConfig): void;
|
|
@@ -27,6 +29,11 @@ export declare class AttributesConfig implements AttributesConfigModel {
|
|
|
27
29
|
setOrder(order: Order): void;
|
|
28
30
|
addInclude(include: IncludeConfig): void;
|
|
29
31
|
addCustomAttribute(attribute: CustomAttributesConfig): void;
|
|
32
|
+
}
|
|
33
|
+
export declare class AttributesContext {
|
|
34
|
+
private config;
|
|
35
|
+
private dialectFormatterService;
|
|
36
|
+
constructor(config: AttributesConfig, dialectFormatterService: DialectFormatterService);
|
|
30
37
|
transformAttributesConfig(options?: object): FindAttributeOptions;
|
|
31
38
|
transformIncludesConfig(options?: object): IncludeModel[];
|
|
32
39
|
getCustomAttributes(options?: object, path?: string): CustomAttributesModel[];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AttributesConfig = void 0;
|
|
3
|
+
exports.AttributesContext = 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,6 +14,9 @@ class AttributesConfig {
|
|
|
14
14
|
paranoid: true
|
|
15
15
|
});
|
|
16
16
|
}
|
|
17
|
+
withContext(dialectFormatterService) {
|
|
18
|
+
return new AttributesContext(this, dialectFormatterService);
|
|
19
|
+
}
|
|
17
20
|
setAttributes(attributes) {
|
|
18
21
|
this.attributes = attributes;
|
|
19
22
|
}
|
|
@@ -42,24 +45,31 @@ class AttributesConfig {
|
|
|
42
45
|
addCustomAttribute(attribute) {
|
|
43
46
|
this.customAttributes.push(attribute);
|
|
44
47
|
}
|
|
48
|
+
}
|
|
49
|
+
exports.AttributesConfig = AttributesConfig;
|
|
50
|
+
class AttributesContext {
|
|
51
|
+
constructor(config, dialectFormatterService) {
|
|
52
|
+
this.config = config;
|
|
53
|
+
this.dialectFormatterService = dialectFormatterService;
|
|
54
|
+
}
|
|
45
55
|
transformAttributesConfig(options) {
|
|
46
56
|
const customAttributes = this.getCustomAttributes(options);
|
|
47
|
-
if (this.attributes) {
|
|
48
|
-
if (this.customAttributes.length) {
|
|
49
|
-
return sequelize_utils_1.SequelizeUtils.ensureAttributesValidity(sequelize_utils_1.SequelizeUtils.mergeAttributes(this.attributes, {
|
|
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, {
|
|
50
60
|
include: customAttributes.map(x => x.attribute)
|
|
51
61
|
}));
|
|
52
62
|
}
|
|
53
|
-
return sequelize_utils_1.SequelizeUtils.ensureAttributesValidity(this.attributes);
|
|
63
|
+
return sequelize_utils_1.SequelizeUtils.ensureAttributesValidity(this.config.attributes);
|
|
54
64
|
}
|
|
55
|
-
if (!this.attributes && customAttributes.length) {
|
|
65
|
+
if (!this.config.attributes && customAttributes.length) {
|
|
56
66
|
return {
|
|
57
67
|
include: customAttributes.map(x => x.attribute)
|
|
58
68
|
};
|
|
59
69
|
}
|
|
60
70
|
}
|
|
61
71
|
transformIncludesConfig(options) {
|
|
62
|
-
return this.includes
|
|
72
|
+
return this.config.includes
|
|
63
73
|
.map(x => {
|
|
64
74
|
const customAttributes = this.getCustomAttributes(options, x.path);
|
|
65
75
|
if (!customAttributes.length) {
|
|
@@ -95,11 +105,11 @@ class AttributesConfig {
|
|
|
95
105
|
});
|
|
96
106
|
}
|
|
97
107
|
getCustomAttributes(options, path) {
|
|
98
|
-
return this.customAttributes
|
|
108
|
+
return this.config.customAttributes
|
|
99
109
|
.filter(x => x.config.path === path)
|
|
100
110
|
.map(x => ({
|
|
101
111
|
key: x.key,
|
|
102
|
-
attribute: x.transform(options, this.path.path),
|
|
112
|
+
attribute: x.withContext(this.dialectFormatterService).transform(options, this.config.path.path),
|
|
103
113
|
path: x.config.path ? {
|
|
104
114
|
path: x.config.path,
|
|
105
115
|
paranoid: true
|
|
@@ -108,6 +118,6 @@ class AttributesConfig {
|
|
|
108
118
|
.filter(x => x.attribute);
|
|
109
119
|
}
|
|
110
120
|
}
|
|
111
|
-
exports.
|
|
121
|
+
exports.AttributesContext = AttributesContext;
|
|
112
122
|
|
|
113
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2xpYi9tb2RlbHMvYXR0cmlidXRlcy5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSx3REFBb0Q7QUFFcEQsNkNBQXFEO0FBV3JELE1BQWEsZ0JBQWdCO0lBUXpCLFlBQW1CLEdBQVc7UUFBWCxRQUFHLEdBQUgsR0FBRyxDQUFRO1FBSnZCLGFBQVEsR0FBb0IsRUFBRSxDQUFDO1FBQy9CLHFCQUFnQixHQUE2QixFQUFFLENBQUM7UUFDaEQsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFHMUIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLHVCQUFVLENBQUM7WUFDdkIsSUFBSSxFQUFFLEdBQUc7WUFDVCxRQUFRLEVBQUUsSUFBSTtTQUNqQixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU0sYUFBYSxDQUFDLFVBQWlDO1FBQ2xELElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO0lBQ2pDLENBQUM7SUFFTSx1QkFBdUIsQ0FBQyxVQUFvQjtRQUMvQyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsVUFBVSxDQUFDO0lBQzNDLENBQUM7SUFFTSxPQUFPLENBQUMsSUFBZ0I7UUFDM0IsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7SUFDckIsQ0FBQztJQUVNLFlBQVksQ0FBQyxJQUFZOztRQUM1QixPQUFPLE1BQUEsSUFBSSxDQUFDLElBQUksMENBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRU0sZUFBZSxDQUFDLE1BQWU7UUFDbEMsSUFBSSxDQUFDLGNBQWMsR0FBRyxNQUFNLENBQUM7SUFDakMsQ0FBQztJQUVNLFdBQVc7UUFDZCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7SUFDOUIsQ0FBQztJQUVNLFFBQVEsQ0FBQyxLQUFZO1FBQ3hCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUM1QixDQUFDO0lBRU0sVUFBVSxDQUFD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QyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDUCxHQUFHLEVBQUUsQ0FBQyxDQUFDLEdBQUc7WUFDVixTQUFTLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDL0MsSUFBSSxFQUFHLENBQUMsQ0FBQyxNQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztnQkFDM0IsSUFBSSxFQUFHLENBQUMsQ0FBQyxNQUFjLENBQUMsSUFBSTtnQkFDNUIsUUFBUSxFQUFFLElBQUk7YUFDakIsQ0FBQyxDQUFDLENBQUMsSUFBSTtTQUNlLENBQUEsQ0FBQzthQUMzQixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDbEMsQ0FBQztDQUNKO0FBM0hELDRDQTJIQyIsImZpbGUiOiJsaWIvbW9kZWxzL2F0dHJpYnV0ZXMubW9kZWwuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGaW5kQXR0cmlidXRlT3B0aW9ucywgT3JkZXIsIFdoZXJlT3B0aW9ucyB9IGZyb20gXCJzZXF1ZWxpemVcIjtcbmltcG9ydCB7IFNlcXVlbGl6ZVV0aWxzIH0gZnJvbSBcIi4uL3NlcXVlbGl6ZS51dGlsc1wiO1xuaW1wb3J0IHsgSW5jbHVkZUNvbmZpZywgSW5jbHVkZU1vZGVsLCBJbmNsdWRlV2hlcmVNb2RlbCB9IGZyb20gXCIuL2luY2x1ZGUubW9kZWxcIjtcbmltcG9ydCB7IFBhdGhDb25maWcsIFBhdGhNb2RlbCB9IGZyb20gXCIuL3BhdGgubW9kZWxcIjtcbmltcG9ydCB7IEN1c3RvbUF0dHJpYnV0ZXNDb25maWcsIEN1c3RvbUF0dHJpYnV0ZXNNb2RlbCB9IGZyb20gXCIuL2N1c3RvbS1hdHRyaWJ1dGVzLm1vZGVsXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXR0cmlidXRlc0NvbmZpZ01vZGVsIHtcbiAgICBrZXk6IHN0cmluZztcbiAgICBhdHRyaWJ1dGVzPzogRmluZEF0dHJpYnV0ZU9wdGlvbnM7XG4gICAgcGF0aD86IFBhdGhDb25maWc7XG4gICAgaW5jbHVkZXM6IEluY2x1ZGVDb25maWdbXTtcbiAgICBjdXN0b21BdHRyaWJ1dGVzOiBDdXN0b21BdHRyaWJ1dGVzQ29uZmlnW107XG59XG5cbmV4cG9ydCBjbGFzcyBBdHRyaWJ1dGVzQ29uZmlnIGltcGxlbWVudHMgQXR0cmlidXRlc0NvbmZpZ01vZGVsIHtcbiAgICBwdWJsaWMgYXR0cmlidXRlcz86IEZpbmRBdHRyaWJ1dGVPcHRpb25zO1xuICAgIHB1YmxpYyBzZWFyY2hhYmxlQXR0cmlidXRlcz86IHN0cmluZ1tdO1xuICAgIHB1YmxpYyBwYXRoOiBQYXRoQ29uZmlnO1xuICAgIHB1YmxpYyBpbmNsdWRlczogSW5jbHVkZUNvbmZpZ1tdID0gW107XG4gICAgcHVibGljIGN1c3RvbUF0dHJpYnV0ZXM6IEN1c3RvbUF0dHJpYnV0ZXNDb25maWdbXSA9IFtdO1xuICAgIHB1YmxpYyBpZ25vcmVJblNlYXJjaCA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IocHVibGljIGtleTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMucGF0aCA9IG5ldyBQYXRoQ29uZmlnKHtcbiAgICAgICAgICAgIHBhdGg6IGtleSxcbiAgICAgICAgICAgIHBhcmFub2lkOiB0cnVlXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXRBdHRyaWJ1dGVzKGF0dHJpYnV0ZXM/OiBGaW5kQXR0cmlidXRlT3B0aW9ucykge1xuICAgICAgICB0aGlzLmF0dHJpYnV0ZXMgPSBhdHRyaWJ1dGVzO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXRTZWFyY2hhYmxlQXR0cmlidXRlcyhhdHRyaWJ1dGVzOiBzdHJpbmdbXSkge1xuICAgICAgICB0aGlzLnNlYXJjaGFibGVBdHRyaWJ1dGVzID0gYXR0cmlidXRlcztcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0UGF0aChwYXRoOiBQYXRoQ29uZmlnKSB7XG4gICAgICAgIHRoaXMucGF0aCA9IHBhdGg7XG4gICAgfVxuXG4gICAgcHVibGljIGNvbnRhaW5zUGF0aChwYXRoOiBzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGF0aD8ucGF0aC5zdGFydHNXaXRoKHBhdGgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXRJZ25vcmVJblBhdGgoaWdub3JlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuaWdub3JlSW5TZWFyY2ggPSBpZ25vcmU7XG4gICAgfVxuXG4gICAgcHVibGljIHNldFNlcGFyYXRlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnBhdGguc2VwYXJhdGUgPSB0cnVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXRPcmRlcihvcmRlcjogT3JkZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wYXRoLm9yZGVyID0gb3JkZXI7XG4gICAgfVxuXG4gICAgcHVibGljIGFkZEluY2x1ZGUoaW5jbHVkZTogSW5jbHVkZUNvbmZpZykge1xuICAgICAgICB0aGlzLmluY2x1ZGVzLnB1c2goaW5jbHVkZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGFkZEN1c3RvbUF0dHJpYnV0ZShhdHRyaWJ1dGU6IEN1c3RvbUF0dHJpYnV0ZXNDb25maWcpIHtcbiAgICAgICAgdGhpcy5jdXN0b21BdHRyaWJ1dGVzLnB1c2goYXR0cmlidXRlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdHJhbnNmb3JtQXR0cmlidXRlc0NvbmZpZyhvcHRpb25zPzogb2JqZWN0KTogRmluZEF0dHJpYnV0ZU9wdGlvbnMge1xuICAgICAgICBjb25zdCBjdXN0b21BdHRyaWJ1dGVzID0gdGhpcy5nZXRDdXN0b21BdHRyaWJ1dGVzKG9wdGlvbnMpO1xuICAgICAgICBpZiAodGhpcy5hdHRyaWJ1dGVzKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5jdXN0b21BdHRyaWJ1dGVzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBTZXF1ZWxpemVVdGlscy5lbnN1cmVBdHRyaWJ1dGVzVmFsaWRpdHkoXG4gICAgICAgICAgICAgICAgICAgIFNlcXVlbGl6ZVV0aWxzLm1lcmdlQXR0cmlidXRlcyh0aGlzLmF0dHJpYnV0ZXMsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGluY2x1ZGU6IGN1c3RvbUF0dHJpYnV0ZXMubWFwKHggPT4geC5hdHRyaWJ1dGUpXG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIFNlcXVlbGl6ZVV0aWxzLmVuc3VyZUF0dHJpYnV0ZXNWYWxpZGl0eSh0aGlzLmF0dHJpYnV0ZXMpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy5hdHRyaWJ1dGVzICYmIGN1c3RvbUF0dHJpYnV0ZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGluY2x1ZGU6IGN1c3RvbUF0dHJpYnV0ZXMubWFwKHggPT4geC5hdHRyaWJ1dGUpXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHRyYW5zZm9ybUluY2x1ZGVzQ29uZmlnKG9wdGlvbnM/OiBvYmplY3QpOiBJbmNsdWRlTW9kZWxbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmluY2x1ZGVzXG4gICAgICAgICAgICAubWFwKHggPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGN1c3RvbUF0dHJpYnV0ZXMgPSB0aGlzLmdldEN1c3RvbUF0dHJpYnV0ZXMob3B0aW9ucywgeC5wYXRoKTtcbiAgICAgICAgICAgICAgICBpZiAoIWN1c3RvbUF0dHJpYnV0ZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmICh4LmF0dHJpYnV0ZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLngsXG4gICAgICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzOiBbLi4ueC5hdHRyaWJ1dGVzIGFzIHN0cmluZ1tdLCAuLi5jdXN0b21BdHRyaWJ1dGVzLm1hcChhID0+IGEuYXR0cmlidXRlKV1cbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgLi4ueCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmNsdWRlOiBjdXN0b21BdHRyaWJ1dGVzLm1hcChhID0+IGEuYXR0cmlidXRlKVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAubWFwKHggPT4ge1xuICAgICAgICAgICAgICAgIGlmICghb3B0aW9ucykge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB7IHdoZXJlLCAuLi52YWx1ZXMgfSA9IHg7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZXM7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKCF4LndoZXJlKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIC4uLngsXG4gICAgICAgICAgICAgICAgICAgIHdoZXJlOiBTZXF1ZWxpemVVdGlscy5nZW5lcmF0ZVdoZXJlQ29uZGl0aW9ucyh4LndoZXJlLCBvcHRpb25zKVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Q3VzdG9tQXR0cmlidXRlcyhvcHRpb25zPzogb2JqZWN0LCBwYXRoPzogc3RyaW5nKTogQ3VzdG9tQXR0cmlidXRlc01vZGVsW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5jdXN0b21BdHRyaWJ1dGVzXG4gICAgICAgICAgICAuZmlsdGVyKHggPT4geC5jb25maWcucGF0aCA9PT0gcGF0aClcbiAgICAgICAgICAgIC5tYXAoeCA9PiAoe1xuICAgICAgICAgICAgICAgIGtleTogeC5rZXksXG4gICAgICAgICAgICAgICAgYXR0cmlidXRlOiB4LnRyYW5zZm9ybShvcHRpb25zLCB0aGlzLnBhdGgucGF0aCksXG4gICAgICAgICAgICAgICAgcGF0aDogKHguY29uZmlnIGFzIGFueSkucGF0aCA/IHtcbiAgICAgICAgICAgICAgICAgICAgcGF0aDogKHguY29uZmlnIGFzIGFueSkucGF0aCxcbiAgICAgICAgICAgICAgICAgICAgcGFyYW5vaWQ6IHRydWVcbiAgICAgICAgICAgICAgICB9IDogbnVsbFxuICAgICAgICAgICAgfSBhcyBDdXN0b21BdHRyaWJ1dGVzTW9kZWwpKVxuICAgICAgICAgICAgLmZpbHRlcih4ID0+IHguYXR0cmlidXRlKTtcbiAgICB9XG59XG4iXX0=
|
|
123
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2xpYi9tb2RlbHMvYXR0cmlidXRlcy5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSx3REFBb0Q7QUFJcEQsNkNBQTBDO0FBVTFDLE1BQWEsZ0JBQWdCO0lBUXpCLFlBQW1CLEdBQVc7UUFBWCxRQUFHLEdBQUgsR0FBRyxDQUFRO1FBSnZCLGFBQVEsR0FBb0IsRUFBRSxDQUFDO1FBQy9CLHFCQUFnQixHQUE2QixFQUFFLENBQUM7UUFDaEQsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFHMUIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLHVCQUFVLENBQUM7WUFDdkIsSUFBSSxFQUFFLEdBQUc7WUFDVCxRQUFRLEVBQUUsSUFBSTtTQUNqQixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU0sV0FBVyxDQUFDLHVCQUFnRDtRQUMvRCxPQUFPLElBQUksaUJBQWlCLENBQUMsSUFBSSxFQUFFLHVCQUF1QixDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVNLGFBQWEsQ0FBQyxVQUFpQztRQUNsRCxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztJQUNqQyxDQUFDO0lBRU0sdUJBQXVCLENBQUMsVUFBb0I7UUFDL0MsSUFBSSxDQUFDLG9CQUFvQixHQUFHLFVBQVUsQ0FBQztJQUMzQyxDQUFDO0lBRU0sT0FBTyxDQUFDLElBQWdCO1FBQzNCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQ3JCLENBQUM7SUFFTSxZQUFZLENBQUMsSUFBWTs7UUFDNUIsT0FBTyxNQUFBLElBQUksQ0FBQyxJQUFJLDBDQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVNLGVBQWUsQ0FBQyxNQUFlO1FBQ2xDLElBQUksQ0FBQyxjQUFjLEdBQUcsTUFBTSxDQUFDO0lBQ2pDLENBQUM7SUFFTSxXQUFXO1FBQ2QsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO0lBQzlCLENBQUM7SUFF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LE9BQU87Z0JBQ0gsR0FBRyxDQUFDO2dCQUNKLEtBQUssRUFBRSxnQ0FBYyxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDO2FBQ2xFLENBQUM7UUFDTixDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFTSxtQkFBbUIsQ0FBQyxPQUFnQixFQUFFLElBQWE7UUFDdEQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLGdCQUFnQjthQUM5QixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUM7YUFDbkMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNQLEdBQUcsRUFBRSxDQUFDLENBQUMsR0FBRztZQUNWLFNBQVMsRUFBRSxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ2hHLElBQUksRUFBRyxDQUFDLENBQUMsTUFBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7Z0JBQzNCLElBQUksRUFBRyxDQUFDLENBQUMsTUFBYyxDQUFDLElBQUk7Z0JBQzVCLFFBQVEsRUFBRSxJQUFJO2FBQ2pCLENBQUMsQ0FBQyxDQUFDLElBQUk7U0FDZSxDQUFBLENBQUM7YUFDM0IsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7Q0FDSjtBQTNFRCw4Q0EyRUMiLCJmaWxlIjoibGliL21vZGVscy9hdHRyaWJ1dGVzLm1vZGVsLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmluZEF0dHJpYnV0ZU9wdGlvbnMsIE9yZGVyIH0gZnJvbSBcInNlcXVlbGl6ZVwiO1xuaW1wb3J0IHsgU2VxdWVsaXplVXRpbHMgfSBmcm9tIFwiLi4vc2VxdWVsaXplLnV0aWxzXCI7XG5pbXBvcnQgeyBEaWFsZWN0Rm9ybWF0dGVyU2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy9kaWFsZWN0LWZvcm1hdHRlci5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBDdXN0b21BdHRyaWJ1dGVzQ29uZmlnLCBDdXN0b21BdHRyaWJ1dGVzTW9kZWwgfSBmcm9tIFwiLi9jdXN0b20tYXR0cmlidXRlcy5tb2RlbFwiO1xuaW1wb3J0IHsgSW5jbHVkZUNvbmZpZywgSW5jbHVkZU1vZGVsIH0gZnJvbSBcIi4vaW5jbHVkZS5tb2RlbFwiO1xuaW1wb3J0IHsgUGF0aENvbmZpZyB9IGZyb20gXCIuL3BhdGgubW9kZWxcIjtcblxuZXhwb3J0IGludGVyZmFjZSBBdHRyaWJ1dGVzQ29uZmlnTW9kZWwge1xuICAgIGtleTogc3RyaW5nO1xuICAgIGF0dHJpYnV0ZXM/OiBGaW5kQXR0cmlidXRlT3B0aW9ucztcbiAgICBwYXRoPzogUGF0aENvbmZpZztcbiAgICBpbmNsdWRlczogSW5jbHVkZUNvbmZpZ1tdO1xuICAgIGN1c3RvbUF0dHJpYnV0ZXM6IEN1c3RvbUF0dHJpYnV0ZXNDb25maWdbXTtcbn1cblxuZXhwb3J0IGNsYXNzIEF0dHJpYnV0ZXNDb25maWcgaW1wbGVtZW50cyBBdHRyaWJ1dGVzQ29uZmlnTW9kZWwge1xuICAgIHB1YmxpYyBhdHRyaWJ1dGVzPzogRmluZEF0dHJpYnV0ZU9wdGlvbnM7XG4gICAgcHVibGljIHNlYXJjaGFibGVBdHRyaWJ1dGVzPzogc3RyaW5nW107XG4gICAgcHVibGljIHBhdGg6IFBhdGhDb25maWc7XG4gICAgcHVibGljIGluY2x1ZGVzOiBJbmNsdWRlQ29uZmlnW10gPSBbXTtcbiAgICBwdWJsaWMgY3VzdG9tQXR0cmlidXRlczogQ3VzdG9tQXR0cmlidXRlc0NvbmZpZ1tdID0gW107XG4gICAgcHVibGljIGlnbm9yZUluU2VhcmNoID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMga2V5OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5wYXRoID0gbmV3IFBhdGhDb25maWcoe1xuICAgICAgICAgICAgcGF0aDoga2V5LFxuICAgICAgICAgICAgcGFyYW5vaWQ6IHRydWVcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIHdpdGhDb250ZXh0KGRpYWxlY3RGb3JtYXR0ZXJTZXJ2aWNlOiBEaWFsZWN0Rm9ybWF0dGVyU2VydmljZSk6IEF0dHJpYnV0ZXNDb250ZXh0IHtcbiAgICAgICAgcmV0dXJuIG5ldyBBdHRyaWJ1dGVzQ29udGV4dCh0aGlzLCBkaWFsZWN0Rm9ybWF0dGVyU2VydmljZSk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldEF0dHJpYnV0ZXMoYXR0cmlidXRlcz86IEZpbmRBdHRyaWJ1dGVPcHRpb25zKSB7XG4gICAgICAgIHRoaXMuYXR0cmlidXRlcyA9IGF0dHJpYnV0ZXM7XG4gICAgfVxuXG4gICAgcHVibGljIHNldFNlYXJjaGFibGVBdHRyaWJ1dGVzKGF0dHJpYnV0ZXM6IHN0cmluZ1tdKSB7XG4gICAgICAgIHRoaXMuc2VhcmNoYWJsZUF0dHJpYnV0ZXMgPSBhdHRyaWJ1dGVzO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXRQYXRoKHBhdGg6IFBhdGhDb25maWcpIHtcbiAgICAgICAgdGhpcy5wYXRoID0gcGF0aDtcbiAgICB9XG5cbiAgICBwdWJsaWMgY29udGFpbnNQYXRoKHBhdGg6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gdGhpcy5wYXRoPy5wYXRoLnN0YXJ0c1dpdGgocGF0aCk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldElnbm9yZUluUGF0aChpZ25vcmU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5pZ25vcmVJblNlYXJjaCA9IGlnbm9yZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0U2VwYXJhdGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucGF0aC5zZXBhcmF0ZSA9IHRydWU7XG4gICAgfVxuXG4gICAgcHVibGljIHNldE9yZGVyKG9yZGVyOiBPcmRlcik6IHZvaWQge1xuICAgICAgICB0aGlzLnBhdGgub3JkZXIgPSBvcmRlcjtcbiAgICB9XG5cbiAgICBwdWJsaWMgYWRkSW5jbHVkZShpbmNsdWRlOiBJbmNsdWRlQ29uZmlnKSB7XG4gICAgICAgIHRoaXMuaW5jbHVkZXMucHVzaChpbmNsdWRlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYWRkQ3VzdG9tQXR0cmlidXRlKGF0dHJpYnV0ZTogQ3VzdG9tQXR0cmlidXRlc0NvbmZpZykge1xuICAgICAgICB0aGlzLmN1c3RvbUF0dHJpYnV0ZXMucHVzaChhdHRyaWJ1dGUpO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEF0dHJpYnV0ZXNDb250ZXh0IHtcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbmZpZzogQXR0cmlidXRlc0NvbmZpZywgcHJpdmF0ZSBkaWFsZWN0Rm9ybWF0dGVyU2VydmljZTogRGlhbGVjdEZvcm1hdHRlclNlcnZpY2UpIHt9XG5cbiAgICBwdWJsaWMgdHJhbnNmb3JtQXR0cmlidXRlc0NvbmZpZyhvcHRpb25zPzogb2JqZWN0KTogRmluZEF0dHJpYnV0ZU9wdGlvbnMge1xuICAgICAgICBjb25zdCBjdXN0b21BdHRyaWJ1dGVzID0gdGhpcy5nZXRDdXN0b21BdHRyaWJ1dGVzKG9wdGlvbnMpO1xuICAgICAgICBpZiAodGhpcy5jb25maWcuYXR0cmlidXRlcykge1xuICAgICAgICAgICAgaWYgKHRoaXMuY29uZmlnLmN1c3RvbUF0dHJpYnV0ZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFNlcXVlbGl6ZVV0aWxzLmVuc3VyZUF0dHJpYnV0ZXNWYWxpZGl0eShcbiAgICAgICAgICAgICAgICAgICAgU2VxdWVsaXplVXRpbHMubWVyZ2VBdHRyaWJ1dGVzKHRoaXMuY29uZmlnLmF0dHJpYnV0ZXMsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGluY2x1ZGU6IGN1c3RvbUF0dHJpYnV0ZXMubWFwKHggPT4geC5hdHRyaWJ1dGUpXG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIFNlcXVlbGl6ZVV0aWxzLmVuc3VyZUF0dHJpYnV0ZXNWYWxpZGl0eSh0aGlzLmNvbmZpZy5hdHRyaWJ1dGVzKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXRoaXMuY29uZmlnLmF0dHJpYnV0ZXMgJiYgY3VzdG9tQXR0cmlidXRlcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgaW5jbHVkZTogY3VzdG9tQXR0cmlidXRlcy5tYXAoeCA9PiB4LmF0dHJpYnV0ZSlcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgdHJhbnNmb3JtSW5jbHVkZXNDb25maWcob3B0aW9ucz86IG9iamVjdCk6IEluY2x1ZGVNb2RlbFtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29uZmlnLmluY2x1ZGVzXG4gICAgICAgICAgICAubWFwKHggPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGN1c3RvbUF0dHJpYnV0ZXMgPSB0aGlzLmdldEN1c3RvbUF0dHJpYnV0ZXMob3B0aW9ucywgeC5wYXRoKTtcbiAgICAgICAgICAgICAgICBpZiAoIWN1c3RvbUF0dHJpYnV0ZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmICh4LmF0dHJpYnV0ZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLngsXG4gICAgICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzOiBbLi4ueC5hdHRyaWJ1dGVzIGFzIHN0cmluZ1tdLCAuLi5jdXN0b21BdHRyaWJ1dGVzLm1hcChhID0+IGEuYXR0cmlidXRlKV1cbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgLi4ueCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmNsdWRlOiBjdXN0b21BdHRyaWJ1dGVzLm1hcChhID0+IGEuYXR0cmlidXRlKVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAubWFwKHggPT4ge1xuICAgICAgICAgICAgICAgIGlmICghb3B0aW9ucykge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB7d2hlcmUsIC4uLnZhbHVlc30gPSB4O1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWVzO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmICgheC53aGVyZSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4geDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAuLi54LFxuICAgICAgICAgICAgICAgICAgICB3aGVyZTogU2VxdWVsaXplVXRpbHMuZ2VuZXJhdGVXaGVyZUNvbmRpdGlvbnMoeC53aGVyZSwgb3B0aW9ucylcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEN1c3RvbUF0dHJpYnV0ZXMob3B0aW9ucz86IG9iamVjdCwgcGF0aD86IHN0cmluZyk6IEN1c3RvbUF0dHJpYnV0ZXNNb2RlbFtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29uZmlnLmN1c3RvbUF0dHJpYnV0ZXNcbiAgICAgICAgICAgIC5maWx0ZXIoeCA9PiB4LmNvbmZpZy5wYXRoID09PSBwYXRoKVxuICAgICAgICAgICAgLm1hcCh4ID0+ICh7XG4gICAgICAgICAgICAgICAga2V5OiB4LmtleSxcbiAgICAgICAgICAgICAgICBhdHRyaWJ1dGU6IHgud2l0aENvbnRleHQodGhpcy5kaWFsZWN0Rm9ybWF0dGVyU2VydmljZSkudHJhbnNmb3JtKG9wdGlvbnMsIHRoaXMuY29uZmlnLnBhdGgucGF0aCksXG4gICAgICAgICAgICAgICAgcGF0aDogKHguY29uZmlnIGFzIGFueSkucGF0aCA/IHtcbiAgICAgICAgICAgICAgICAgICAgcGF0aDogKHguY29uZmlnIGFzIGFueSkucGF0aCxcbiAgICAgICAgICAgICAgICAgICAgcGFyYW5vaWQ6IHRydWVcbiAgICAgICAgICAgICAgICB9IDogbnVsbFxuICAgICAgICAgICAgfSBhcyBDdXN0b21BdHRyaWJ1dGVzTW9kZWwpKVxuICAgICAgICAgICAgLmZpbHRlcih4ID0+IHguYXR0cmlidXRlKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,14 +1,21 @@
|
|
|
1
|
-
import { ProjectionAlias } from "sequelize";
|
|
2
|
-
import {
|
|
1
|
+
import { ProjectionAlias } from "sequelize/types/model";
|
|
2
|
+
import { DialectFormatterService } from "../services/dialect-formatter.service";
|
|
3
|
+
import { CustomAttributesConfig, CustomAttributesContext, CustomAttributesOptionConfig } from "./custom-attributes.model";
|
|
3
4
|
export interface CountConfig extends CustomAttributesOptionConfig {
|
|
4
5
|
attribute: string;
|
|
5
6
|
distinct?: boolean;
|
|
6
7
|
}
|
|
7
|
-
export declare class CountAttributesConfig implements CustomAttributesConfig<CountConfig> {
|
|
8
|
+
export declare class CountAttributesConfig implements CustomAttributesConfig<CountConfig, CountAttributesContext> {
|
|
8
9
|
key: string;
|
|
9
10
|
config: CountConfig;
|
|
10
11
|
type: string;
|
|
11
12
|
constructor(key: string, config: CountConfig);
|
|
12
|
-
|
|
13
|
+
withContext(dialectFormatterService: DialectFormatterService): CountAttributesContext;
|
|
13
14
|
shouldGroupBy(): boolean;
|
|
14
15
|
}
|
|
16
|
+
export declare class CountAttributesContext extends CustomAttributesContext {
|
|
17
|
+
private config;
|
|
18
|
+
private dialectFormatterService;
|
|
19
|
+
constructor(config: CountAttributesConfig, dialectFormatterService: DialectFormatterService);
|
|
20
|
+
transform(options: object, path?: string): string | ProjectionAlias;
|
|
21
|
+
}
|
|
@@ -1,30 +1,41 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CountAttributesConfig = void 0;
|
|
3
|
+
exports.CountAttributesContext = exports.CountAttributesConfig = void 0;
|
|
4
4
|
const sequelize_1 = require("sequelize");
|
|
5
|
-
const
|
|
5
|
+
const custom_attributes_model_1 = require("./custom-attributes.model");
|
|
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
|
-
|
|
13
|
-
|
|
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];
|
|
12
|
+
withContext(dialectFormatterService) {
|
|
13
|
+
return new CountAttributesContext(this, dialectFormatterService);
|
|
23
14
|
}
|
|
24
15
|
shouldGroupBy() {
|
|
25
16
|
return true;
|
|
26
17
|
}
|
|
27
18
|
}
|
|
28
19
|
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;
|
|
29
40
|
|
|
30
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,
|
|
41
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2xpYi9tb2RlbHMvY291bnQubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEseUNBQXdDO0FBR3hDLHVFQUltQztBQU9uQyxNQUFhLHFCQUFxQjtJQUc5QixZQUFtQixHQUFXLEVBQVMsTUFBbUI7UUFBdkMsUUFBRyxHQUFILEdBQUcsQ0FBUTtRQUFTLFdBQU0sR0FBTixNQUFNLENBQWE7UUFGbkQsU0FBSSxHQUFHLE9BQU8sQ0FBQztJQUV1QyxDQUFDO0lBRXZELFdBQVcsQ0FBQyx1QkFBZ0Q7UUFDL0QsT0FBTyxJQUFJLHNCQUFzQixDQUFDLElBQUksRUFBRSx1QkFBdUIsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFTSxhQUFhO1FBQ2hCLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7Q0FDSjtBQVpELHNEQVlDO0FBRUQsTUFBYSxzQkFBdUIsU0FBUSxpREFBdUI7SUFDL0QsWUFBb0IsTUFBNkIsRUFBVSx1QkFBZ0Q7UUFDdkcsS0FBSyxFQUFFLENBQUM7UUFEUSxXQUFNLEdBQU4sTUFBTSxDQUF1QjtRQUFVLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBeUI7SUFFM0csQ0FBQztJQUVNLFNBQVMsQ0FBQyxPQUFlLEVBQUUsSUFBYTtRQUMzQyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRTtZQUM3QixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJO2dCQUNyQyxDQUFDLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7Z0JBQ3hHLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUM7WUFDbkMsT0FBTyxDQUFDLElBQUEsbUJBQU8sRUFBQyxrQkFBa0IsU0FBUyxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ3JFO1FBRUQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSTtZQUNyQyxDQUFDLENBQUMsSUFBQSxtQkFBTyxFQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDakgsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQztRQUNuQyxPQUFPLENBQUMsSUFBQSxjQUFFLEVBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDckQsQ0FBQztDQUNKO0FBbEJELHdEQWtCQyIsImZpbGUiOiJsaWIvbW9kZWxzL2NvdW50Lm1vZGVsLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZm4sIGxpdGVyYWwgfSBmcm9tIFwic2VxdWVsaXplXCI7XG5pbXBvcnQgeyBQcm9qZWN0aW9uQWxpYXMgfSBmcm9tIFwic2VxdWVsaXplL3R5cGVzL21vZGVsXCI7XG5pbXBvcnQgeyBEaWFsZWN0Rm9ybWF0dGVyU2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy9kaWFsZWN0LWZvcm1hdHRlci5zZXJ2aWNlXCI7XG5pbXBvcnQge1xuICAgIEN1c3RvbUF0dHJpYnV0ZXNDb25maWcsXG4gICAgQ3VzdG9tQXR0cmlidXRlc0NvbnRleHQsXG4gICAgQ3VzdG9tQXR0cmlidXRlc09wdGlvbkNvbmZpZ1xufSBmcm9tIFwiLi9jdXN0b20tYXR0cmlidXRlcy5tb2RlbFwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIENvdW50Q29uZmlnIGV4dGVuZHMgQ3VzdG9tQXR0cmlidXRlc09wdGlvbkNvbmZpZyB7XG4gICAgYXR0cmlidXRlOiBzdHJpbmc7XG4gICAgZGlzdGluY3Q/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY2xhc3MgQ291bnRBdHRyaWJ1dGVzQ29uZmlnIGltcGxlbWVudHMgQ3VzdG9tQXR0cmlidXRlc0NvbmZpZzxDb3VudENvbmZpZywgQ291bnRBdHRyaWJ1dGVzQ29udGV4dD4ge1xuICAgIHB1YmxpYyB0eXBlID0gXCJjb3VudFwiO1xuXG4gICAgY29uc3RydWN0b3IocHVibGljIGtleTogc3RyaW5nLCBwdWJsaWMgY29uZmlnOiBDb3VudENvbmZpZykge31cblxuICAgIHB1YmxpYyB3aXRoQ29udGV4dChkaWFsZWN0Rm9ybWF0dGVyU2VydmljZTogRGlhbGVjdEZvcm1hdHRlclNlcnZpY2UpOiBDb3VudEF0dHJpYnV0ZXNDb250ZXh0IHtcbiAgICAgICAgcmV0dXJuIG5ldyBDb3VudEF0dHJpYnV0ZXNDb250ZXh0KHRoaXMsIGRpYWxlY3RGb3JtYXR0ZXJTZXJ2aWNlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2hvdWxkR3JvdXBCeSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQ291bnRBdHRyaWJ1dGVzQ29udGV4dCBleHRlbmRzIEN1c3RvbUF0dHJpYnV0ZXNDb250ZXh0IHtcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbmZpZzogQ291bnRBdHRyaWJ1dGVzQ29uZmlnLCBwcml2YXRlIGRpYWxlY3RGb3JtYXR0ZXJTZXJ2aWNlOiBEaWFsZWN0Rm9ybWF0dGVyU2VydmljZSkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIHB1YmxpYyB0cmFuc2Zvcm0ob3B0aW9uczogb2JqZWN0LCBwYXRoPzogc3RyaW5nKTogc3RyaW5nIHwgUHJvamVjdGlvbkFsaWFzIHtcbiAgICAgICAgaWYgKHRoaXMuY29uZmlnLmNvbmZpZy5kaXN0aW5jdCkge1xuICAgICAgICAgICAgY29uc3QgYXR0cmlidXRlID0gdGhpcy5jb25maWcuY29uZmlnLnBhdGhcbiAgICAgICAgICAgICAgICA/IHRoaXMuZGlhbGVjdEZvcm1hdHRlclNlcnZpY2UuZ2V0TGl0ZXJhbEZ1bGxOYW1lKHRoaXMuY29uZmlnLmNvbmZpZy5hdHRyaWJ1dGUsIHRoaXMuY29uZmlnLmNvbmZpZy5wYXRoKVxuICAgICAgICAgICAgICAgIDogdGhpcy5jb25maWcuY29uZmlnLmF0dHJpYnV0ZTtcbiAgICAgICAgICAgIHJldHVybiBbbGl0ZXJhbChgQ09VTlQoRElTVElOQ1QgJHthdHRyaWJ1dGV9KWApLCB0aGlzLmNvbmZpZy5rZXldO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgYXR0cmlidXRlID0gdGhpcy5jb25maWcuY29uZmlnLnBhdGhcbiAgICAgICAgICAgID8gbGl0ZXJhbCh0aGlzLmRpYWxlY3RGb3JtYXR0ZXJTZXJ2aWNlLmdldExpdGVyYWxGdWxsTmFtZSh0aGlzLmNvbmZpZy5jb25maWcuYXR0cmlidXRlLCB0aGlzLmNvbmZpZy5jb25maWcucGF0aCkpXG4gICAgICAgICAgICA6IHRoaXMuY29uZmlnLmNvbmZpZy5hdHRyaWJ1dGU7XG4gICAgICAgIHJldHVybiBbZm4oXCJDT1VOVFwiLCBhdHRyaWJ1dGUpLCB0aGlzLmNvbmZpZy5rZXldO1xuICAgIH1cbn0iXX0=
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ProjectionAlias } from "sequelize";
|
|
2
|
+
import { DialectFormatterService } from "../services/dialect-formatter.service";
|
|
2
3
|
import { IncludeWhereModel } from "./include.model";
|
|
3
4
|
import { PathModel } from "./path.model";
|
|
4
5
|
export interface CustomAttributesOptionConfig {
|
|
@@ -6,13 +7,16 @@ export interface CustomAttributesOptionConfig {
|
|
|
6
7
|
path?: string;
|
|
7
8
|
where?: IncludeWhereModel;
|
|
8
9
|
}
|
|
9
|
-
export interface CustomAttributesConfig<T extends CustomAttributesOptionConfig = CustomAttributesOptionConfig> {
|
|
10
|
+
export interface CustomAttributesConfig<T extends CustomAttributesOptionConfig = CustomAttributesOptionConfig, context = CustomAttributesContext> {
|
|
10
11
|
key: string;
|
|
11
12
|
type: string;
|
|
12
13
|
config?: T;
|
|
13
|
-
|
|
14
|
+
withContext(dialectFormatterService: DialectFormatterService): context;
|
|
14
15
|
shouldGroupBy(): boolean;
|
|
15
16
|
}
|
|
17
|
+
export declare abstract class CustomAttributesContext {
|
|
18
|
+
abstract transform(options?: object, path?: string): string | ProjectionAlias;
|
|
19
|
+
}
|
|
16
20
|
export interface CustomAttributesModel {
|
|
17
21
|
key: string;
|
|
18
22
|
attribute: string | ProjectionAlias;
|
|
@@ -1,4 +1,8 @@
|
|
|
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;
|
|
3
7
|
|
|
4
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,
|
|
8
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2xpYi9tb2RlbHMvY3VzdG9tLWF0dHJpYnV0ZXMubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBcUJBLE1BQXNCLHVCQUF1QjtDQUU1QztBQUZELDBEQUVDIiwiZmlsZSI6ImxpYi9tb2RlbHMvY3VzdG9tLWF0dHJpYnV0ZXMubW9kZWwuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcm9qZWN0aW9uQWxpYXMgfSBmcm9tIFwic2VxdWVsaXplXCI7XG5pbXBvcnQgeyBHcm91cE9wdGlvbiB9IGZyb20gXCJzZXF1ZWxpemUvdHlwZXMvbW9kZWxcIjtcbmltcG9ydCB7IERpYWxlY3RGb3JtYXR0ZXJTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL2RpYWxlY3QtZm9ybWF0dGVyLnNlcnZpY2VcIjtcbmltcG9ydCB7IEluY2x1ZGVXaGVyZU1vZGVsIH0gZnJvbSBcIi4vaW5jbHVkZS5tb2RlbFwiO1xuaW1wb3J0IHsgUGF0aE1vZGVsIH0gZnJvbSBcIi4vcGF0aC5tb2RlbFwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEN1c3RvbUF0dHJpYnV0ZXNPcHRpb25Db25maWcge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBwYXRoPzogc3RyaW5nO1xuICAgIHdoZXJlPzogSW5jbHVkZVdoZXJlTW9kZWw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3VzdG9tQXR0cmlidXRlc0NvbmZpZzxUIGV4dGVuZHMgQ3VzdG9tQXR0cmlidXRlc09wdGlvbkNvbmZpZyA9IEN1c3RvbUF0dHJpYnV0ZXNPcHRpb25Db25maWcsIGNvbnRleHQgPSBDdXN0b21BdHRyaWJ1dGVzQ29udGV4dD4ge1xuICAgIGtleTogc3RyaW5nO1xuICAgIHR5cGU6IHN0cmluZztcbiAgICBjb25maWc/OiBUO1xuXG4gICAgd2l0aENvbnRleHQoZGlhbGVjdEZvcm1hdHRlclNlcnZpY2U6IERpYWxlY3RGb3JtYXR0ZXJTZXJ2aWNlKTogY29udGV4dDtcbiAgICBzaG91bGRHcm91cEJ5KCk6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBDdXN0b21BdHRyaWJ1dGVzQ29udGV4dCB7XG4gICAgcHVibGljIGFic3RyYWN0IHRyYW5zZm9ybShvcHRpb25zPzogb2JqZWN0LCBwYXRoPzogc3RyaW5nKTogc3RyaW5nIHwgUHJvamVjdGlvbkFsaWFzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEN1c3RvbUF0dHJpYnV0ZXNNb2RlbCB7XG4gICAga2V5OiBzdHJpbmc7XG4gICAgYXR0cmlidXRlOiBzdHJpbmcgfCBQcm9qZWN0aW9uQWxpYXM7XG4gICAgcGF0aD86IFBhdGhNb2RlbDtcbn1cbiJdfQ==
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { FindAttributeOptions } from "sequelize";
|
|
2
2
|
import { Model } from "sequelize-typescript";
|
|
3
|
+
import { DialectFormatterService } from "../services/dialect-formatter.service";
|
|
3
4
|
import { CustomAttributesConfig, CustomAttributesModel } from "./custom-attributes.model";
|
|
4
5
|
import { IncludeConfig } from "./include.model";
|
|
5
6
|
export interface DataFilterConfigModel {
|
|
@@ -15,14 +16,20 @@ export declare class DataFilterConfig implements DataFilterConfigModel {
|
|
|
15
16
|
exportColumns?: string[];
|
|
16
17
|
customAttributes: CustomAttributesConfig[];
|
|
17
18
|
ignoreInSearch: boolean;
|
|
19
|
+
withContext(dialectFormatterService: DialectFormatterService): DataFilterContext;
|
|
18
20
|
setModel(model: typeof Model): void;
|
|
19
21
|
setIgnoreInPath(ignore: boolean): void;
|
|
20
22
|
setAttributes(attributes?: FindAttributeOptions): void;
|
|
21
23
|
setSearchableAttributes(attributes: string[]): void;
|
|
22
24
|
setExportColumns(exportColumns: string[]): void;
|
|
23
25
|
addCustomAttribute(attribute: CustomAttributesConfig): void;
|
|
24
|
-
transformAttributesConfig(options?: object): FindAttributeOptions;
|
|
25
|
-
getCustomAttributes(options?: object): CustomAttributesModel[];
|
|
26
26
|
getCustomAttributesIncludes(): IncludeConfig[];
|
|
27
27
|
getSearchableAttributes(): string[];
|
|
28
28
|
}
|
|
29
|
+
export declare class DataFilterContext {
|
|
30
|
+
private config;
|
|
31
|
+
private dialectFormatterService;
|
|
32
|
+
constructor(config: DataFilterConfig, dialectFormatterService: DialectFormatterService);
|
|
33
|
+
transformAttributesConfig(options?: object): FindAttributeOptions;
|
|
34
|
+
getCustomAttributes(options?: object): CustomAttributesModel[];
|
|
35
|
+
}
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DataFilterConfig = void 0;
|
|
3
|
+
exports.DataFilterContext = exports.DataFilterConfig = void 0;
|
|
4
4
|
const sequelize_utils_1 = require("../sequelize.utils");
|
|
5
5
|
class DataFilterConfig {
|
|
6
6
|
constructor() {
|
|
7
7
|
this.customAttributes = [];
|
|
8
8
|
this.ignoreInSearch = false;
|
|
9
9
|
}
|
|
10
|
+
withContext(dialectFormatterService) {
|
|
11
|
+
return new DataFilterContext(this, dialectFormatterService);
|
|
12
|
+
}
|
|
10
13
|
setModel(model) {
|
|
11
14
|
this.model = model;
|
|
12
15
|
}
|
|
@@ -25,34 +28,6 @@ class DataFilterConfig {
|
|
|
25
28
|
addCustomAttribute(attribute) {
|
|
26
29
|
this.customAttributes.push(attribute);
|
|
27
30
|
}
|
|
28
|
-
transformAttributesConfig(options) {
|
|
29
|
-
const customAttributes = this.getCustomAttributes(options);
|
|
30
|
-
if (this.attributes) {
|
|
31
|
-
if (this.customAttributes.length) {
|
|
32
|
-
return sequelize_utils_1.SequelizeUtils.ensureAttributesValidity(sequelize_utils_1.SequelizeUtils.mergeAttributes(this.attributes, {
|
|
33
|
-
include: customAttributes.map(x => x.attribute)
|
|
34
|
-
}));
|
|
35
|
-
}
|
|
36
|
-
return sequelize_utils_1.SequelizeUtils.ensureAttributesValidity(this.attributes);
|
|
37
|
-
}
|
|
38
|
-
if (!this.attributes && customAttributes.length) {
|
|
39
|
-
return {
|
|
40
|
-
include: customAttributes.map(x => x.attribute)
|
|
41
|
-
};
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
getCustomAttributes(options) {
|
|
45
|
-
return this.customAttributes
|
|
46
|
-
.map(x => ({
|
|
47
|
-
key: x.key,
|
|
48
|
-
attribute: x.transform(options),
|
|
49
|
-
path: x.config.path ? {
|
|
50
|
-
path: x.config.path,
|
|
51
|
-
paranoid: true
|
|
52
|
-
} : null
|
|
53
|
-
}))
|
|
54
|
-
.filter(x => x.attribute);
|
|
55
|
-
}
|
|
56
31
|
getCustomAttributesIncludes() {
|
|
57
32
|
return this.customAttributes
|
|
58
33
|
.filter(x => x.config.path)
|
|
@@ -79,5 +54,40 @@ class DataFilterConfig {
|
|
|
79
54
|
}
|
|
80
55
|
}
|
|
81
56
|
exports.DataFilterConfig = DataFilterConfig;
|
|
57
|
+
class DataFilterContext {
|
|
58
|
+
constructor(config, dialectFormatterService) {
|
|
59
|
+
this.config = config;
|
|
60
|
+
this.dialectFormatterService = dialectFormatterService;
|
|
61
|
+
}
|
|
62
|
+
transformAttributesConfig(options) {
|
|
63
|
+
const customAttributes = this.getCustomAttributes(options);
|
|
64
|
+
if (this.config.attributes) {
|
|
65
|
+
if (this.config.customAttributes.length) {
|
|
66
|
+
return sequelize_utils_1.SequelizeUtils.ensureAttributesValidity(sequelize_utils_1.SequelizeUtils.mergeAttributes(this.config.attributes, {
|
|
67
|
+
include: customAttributes.map(x => x.attribute)
|
|
68
|
+
}));
|
|
69
|
+
}
|
|
70
|
+
return sequelize_utils_1.SequelizeUtils.ensureAttributesValidity(this.config.attributes);
|
|
71
|
+
}
|
|
72
|
+
if (!this.config.attributes && customAttributes.length) {
|
|
73
|
+
return {
|
|
74
|
+
include: customAttributes.map(x => x.attribute)
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
getCustomAttributes(options) {
|
|
79
|
+
return this.config.customAttributes
|
|
80
|
+
.map(x => ({
|
|
81
|
+
key: x.key,
|
|
82
|
+
attribute: x.withContext(this.dialectFormatterService).transform(options),
|
|
83
|
+
path: x.config.path ? {
|
|
84
|
+
path: x.config.path,
|
|
85
|
+
paranoid: true
|
|
86
|
+
} : null
|
|
87
|
+
}))
|
|
88
|
+
.filter(x => x.attribute);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
exports.DataFilterContext = DataFilterContext;
|
|
82
92
|
|
|
83
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,
|
|
93
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2xpYi9tb2RlbHMvZGF0YS1maWx0ZXIubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBS0Esd0RBQXVEO0FBU3ZELE1BQWEsZ0JBQWdCO0lBQTdCO1FBS1cscUJBQWdCLEdBQTZCLEVBQUUsQ0FBQztRQUNoRCxtQkFBYyxHQUFHLEtBQUssQ0FBQztJQXdEbEMsQ0FBQztJQXREVSxXQUFXLENBQUMsdUJBQWdEO1FBQy9ELE9BQU8sSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsdUJBQXVCLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRU0sUUFBUSxDQUFDLEtBQW1CO1FBQy9CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3ZCLENBQUM7SUFFTSxlQUFlLENBQUMsTUFBZTtRQUNsQyxJQUFJLENBQUMsY0FBYyxHQUFHLE1BQU0sQ0FBQztJQUNqQyxDQUFDO0lBRU0sYUFBYSxDQUFDLFVBQWlDO1FBQ2xELElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO0lBQ2pDLENBQUM7SUFFTSx1QkFBdUIsQ0FBQyxVQUFvQjtRQUMvQyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsVUFBVSxDQUFDO0lBQzNDLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxhQUF1QjtRQUMzQyxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztJQUN2QyxDQUFDO0lBRU0sa0JBQWtCLENBQUMsU0FBaUM7UUFDdkQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRU0sMkJBQTJCO1FBQzlCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQjthQUN2QixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQzthQUMxQixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ1AsVUFBVSxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRTtZQUMzQixJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJO1lBQ25CLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUs7WUFDckIsUUFBUSxFQUFFLElBQUk7U0FDakIsQ0FBQyxDQUFDLENBQUM7SUFDWixDQUFDO0lBRU0sdUJBQXVCOztRQUMxQixJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDckIsT0FBTyxFQUFFLENBQUM7U0FDYjtRQUVELElBQUksSUFBSSxDQUFDLG9CQUFvQixFQUFFO1lBQzNCLE9BQU8sZ0NBQWMsQ0FBQyxpQ0FBaUMsQ0FBQyxJQUFJLENBQUMsS0FBaUIsRUFBRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQztTQUM5RztRQUVELE1BQU0sb0JBQW9CLEdBQUcsZ0NBQWMsQ0FBQyw0QkFBNEIsQ0FBQyxJQUFJLENBQUMsS0FBaUIsQ0FBQyxDQUFDO1FBQ2pHLE1BQU0sVUFBVSxHQUFHLGdDQUFjLENBQUMsaUNBQWlDLENBQUMsSUFBSSxDQUFDLEtBQWlCLEVBQUUsTUFBQSxJQUFJLENBQUMsVUFBc0IsbUNBQUksRUFBRSxDQUFDLENBQUM7UUFDL0gsT0FBTyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDckIsVUFBdUIsYUFBdkIsVUFBVSx1QkFBVixVQUFVLENBQWUsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN0RixvQkFBb0IsQ0FBQztJQUM3QixDQUFDO0NBQ0o7QUE5REQsNENBOERDO0FBRUQsTUFBYSxpQkFBaUI7SUFDMUIsWUFBb0IsTUFBd0IsRUFBVSx1QkFBZ0Q7UUFBbEYsV0FBTSxHQUFOLE1BQU0sQ0FBa0I7UUFBVSw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQXlCO0lBQUcsQ0FBQztJQUVuRyx5QkFBeUIsQ0FBQyxPQUFnQjtRQUM3QyxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzRCxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFO1lBQ3hCLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUU7Z0JBQ3JDLE9BQU8sZ0NBQWMsQ0FBQyx3QkFBd0IsQ0FDMUMsZ0NBQWMsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUU7b0JBQ25ELE9BQU8sRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO2lCQUNsRCxDQUFDLENBQ0wsQ0FBQzthQUNMO1lBRUQsT0FBTyxnQ0FBYyxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDMUU7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLElBQUksZ0JBQWdCLENBQUMsTUFBTSxFQUFFO1lBQ3BELE9BQU87Z0JBQ0gsT0FBTyxFQUFFLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7YUFDbEQsQ0FBQztTQUNMO0lBQ0wsQ0FBQztJQUVNLG1CQUFtQixDQUFDLE9BQWdCO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0I7YUFDOUIsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNQLEdBQUcsRUFBRSxDQUFDLENBQUMsR0FBRztZQUNWLFNBQVMsRUFBRSxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUM7WUFDekUsSUFBSSxFQUFHLENBQUMsQ0FBQyxNQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztnQkFDM0IsSUFBSSxFQUFHLENBQUMsQ0FBQyxNQUFjLENBQUMsSUFBSTtnQkFDNUIsUUFBUSxFQUFFLElBQUk7YUFDakIsQ0FBQyxDQUFDLENBQUMsSUFBSTtTQUNlLENBQUEsQ0FBQzthQUMzQixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDbEMsQ0FBQztDQUNKO0FBbkNELDhDQW1DQyIsImZpbGUiOiJsaWIvbW9kZWxzL2RhdGEtZmlsdGVyLm1vZGVsLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmluZEF0dHJpYnV0ZU9wdGlvbnMgfSBmcm9tIFwic2VxdWVsaXplXCI7XG5pbXBvcnQgeyBNb2RlbCB9IGZyb20gXCJzZXF1ZWxpemUtdHlwZXNjcmlwdFwiO1xuaW1wb3J0IHsgRGlhbGVjdEZvcm1hdHRlclNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvZGlhbGVjdC1mb3JtYXR0ZXIuc2VydmljZVwiO1xuaW1wb3J0IHsgQ3VzdG9tQXR0cmlidXRlc0NvbmZpZywgQ3VzdG9tQXR0cmlidXRlc01vZGVsIH0gZnJvbSBcIi4vY3VzdG9tLWF0dHJpYnV0ZXMubW9kZWxcIjtcbmltcG9ydCB7IEluY2x1ZGVDb25maWcgfSBmcm9tIFwiLi9pbmNsdWRlLm1vZGVsXCI7XG5pbXBvcnQgeyBNLCBTZXF1ZWxpemVVdGlscyB9IGZyb20gXCIuLi9zZXF1ZWxpemUudXRpbHNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBEYXRhRmlsdGVyQ29uZmlnTW9kZWwge1xuICAgIG1vZGVsOiB0eXBlb2YgTW9kZWw7XG4gICAgYXR0cmlidXRlcz86IEZpbmRBdHRyaWJ1dGVPcHRpb25zO1xuICAgIGV4cG9ydENvbHVtbnM/OiBzdHJpbmdbXTtcbiAgICBjdXN0b21BdHRyaWJ1dGVzOiBDdXN0b21BdHRyaWJ1dGVzQ29uZmlnW107XG59XG5cbmV4cG9ydCBjbGFzcyBEYXRhRmlsdGVyQ29uZmlnIGltcGxlbWVudHMgRGF0YUZpbHRlckNvbmZpZ01vZGVsIHtcbiAgICBwdWJsaWMgbW9kZWw6IHR5cGVvZiBNb2RlbDtcbiAgICBwdWJsaWMgYXR0cmlidXRlcz86IEZpbmRBdHRyaWJ1dGVPcHRpb25zO1xuICAgIHB1YmxpYyBzZWFyY2hhYmxlQXR0cmlidXRlcz86IHN0cmluZ1tdO1xuICAgIHB1YmxpYyBleHBvcnRDb2x1bW5zPzogc3RyaW5nW107XG4gICAgcHVibGljIGN1c3RvbUF0dHJpYnV0ZXM6IEN1c3RvbUF0dHJpYnV0ZXNDb25maWdbXSA9IFtdO1xuICAgIHB1YmxpYyBpZ25vcmVJblNlYXJjaCA9IGZhbHNlO1xuXG4gICAgcHVibGljIHdpdGhDb250ZXh0KGRpYWxlY3RGb3JtYXR0ZXJTZXJ2aWNlOiBEaWFsZWN0Rm9ybWF0dGVyU2VydmljZSk6IERhdGFGaWx0ZXJDb250ZXh0IHtcbiAgICAgICAgcmV0dXJuIG5ldyBEYXRhRmlsdGVyQ29udGV4dCh0aGlzLCBkaWFsZWN0Rm9ybWF0dGVyU2VydmljZSk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldE1vZGVsKG1vZGVsOiB0eXBlb2YgTW9kZWwpIHtcbiAgICAgICAgdGhpcy5tb2RlbCA9IG1vZGVsO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXRJZ25vcmVJblBhdGgoaWdub3JlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuaWdub3JlSW5TZWFyY2ggPSBpZ25vcmU7XG4gICAgfVxuXG4gICAgcHVibGljIHNldEF0dHJpYnV0ZXMoYXR0cmlidXRlcz86IEZpbmRBdHRyaWJ1dGVPcHRpb25zKSB7XG4gICAgICAgIHRoaXMuYXR0cmlidXRlcyA9IGF0dHJpYnV0ZXM7XG4gICAgfVxuXG4gICAgcHVibGljIHNldFNlYXJjaGFibGVBdHRyaWJ1dGVzKGF0dHJpYnV0ZXM6IHN0cmluZ1tdKSB7XG4gICAgICAgIHRoaXMuc2VhcmNoYWJsZUF0dHJpYnV0ZXMgPSBhdHRyaWJ1dGVzO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXRFeHBvcnRDb2x1bW5zKGV4cG9ydENvbHVtbnM6IHN0cmluZ1tdKSB7XG4gICAgICAgIHRoaXMuZXhwb3J0Q29sdW1ucyA9IGV4cG9ydENvbHVtbnM7XG4gICAgfVxuXG4gICAgcHVibGljIGFkZEN1c3RvbUF0dHJpYnV0ZShhdHRyaWJ1dGU6IEN1c3RvbUF0dHJpYnV0ZXNDb25maWcpIHtcbiAgICAgICAgdGhpcy5jdXN0b21BdHRyaWJ1dGVzLnB1c2goYXR0cmlidXRlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Q3VzdG9tQXR0cmlidXRlc0luY2x1ZGVzKCk6IEluY2x1ZGVDb25maWdbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmN1c3RvbUF0dHJpYnV0ZXNcbiAgICAgICAgICAgIC5maWx0ZXIoeCA9PiB4LmNvbmZpZy5wYXRoKVxuICAgICAgICAgICAgLm1hcCh4ID0+ICh7XG4gICAgICAgICAgICAgICAgYXR0cmlidXRlczogeyBpbmNsdWRlOiBbXSB9LFxuICAgICAgICAgICAgICAgIHBhdGg6IHguY29uZmlnLnBhdGgsXG4gICAgICAgICAgICAgICAgd2hlcmU6IHguY29uZmlnLndoZXJlLFxuICAgICAgICAgICAgICAgIHBhcmFub2lkOiB0cnVlXG4gICAgICAgICAgICB9KSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFNlYXJjaGFibGVBdHRyaWJ1dGVzKCk6IHN0cmluZ1tdIHtcbiAgICAgICAgaWYgKHRoaXMuaWdub3JlSW5TZWFyY2gpIHtcbiAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnNlYXJjaGFibGVBdHRyaWJ1dGVzKSB7XG4gICAgICAgICAgICByZXR1cm4gU2VxdWVsaXplVXRpbHMuZ2V0TW9kZWxTZWFyY2hhYmxlRmllbGRBdHRyaWJ1dGVzKHRoaXMubW9kZWwgYXMgdHlwZW9mIE0sIHRoaXMuc2VhcmNoYWJsZUF0dHJpYnV0ZXMpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgc2VhcmNoYWJsZUF0dHJpYnV0ZXMgPSBTZXF1ZWxpemVVdGlscy5nZXRNb2RlbFNlYXJjaGFibGVBdHRyaWJ1dGVzKHRoaXMubW9kZWwgYXMgdHlwZW9mIE0pO1xuICAgICAgICBjb25zdCBhdHRyaWJ1dGVzID0gU2VxdWVsaXplVXRpbHMuZ2V0TW9kZWxTZWFyY2hhYmxlRmllbGRBdHRyaWJ1dGVzKHRoaXMubW9kZWwgYXMgdHlwZW9mIE0sIHRoaXMuYXR0cmlidXRlcyBhcyBzdHJpbmdbXSA/PyBbXSk7XG4gICAgICAgIHJldHVybiBhdHRyaWJ1dGVzLmxlbmd0aCA/XG4gICAgICAgICAgICAoYXR0cmlidXRlcyBhcyBzdHJpbmdbXSk/LmZpbHRlcih4ID0+IHNlYXJjaGFibGVBdHRyaWJ1dGVzLnNvbWUoYXR0ciA9PiBhdHRyID09PSB4KSkgOlxuICAgICAgICAgICAgc2VhcmNoYWJsZUF0dHJpYnV0ZXM7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgRGF0YUZpbHRlckNvbnRleHQge1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgY29uZmlnOiBEYXRhRmlsdGVyQ29uZmlnLCBwcml2YXRlIGRpYWxlY3RGb3JtYXR0ZXJTZXJ2aWNlOiBEaWFsZWN0Rm9ybWF0dGVyU2VydmljZSkge31cblxuICAgIHB1YmxpYyB0cmFuc2Zvcm1BdHRyaWJ1dGVzQ29uZmlnKG9wdGlvbnM/OiBvYmplY3QpOiBGaW5kQXR0cmlidXRlT3B0aW9ucyB7XG4gICAgICAgIGNvbnN0IGN1c3RvbUF0dHJpYnV0ZXMgPSB0aGlzLmdldEN1c3RvbUF0dHJpYnV0ZXMob3B0aW9ucyk7XG4gICAgICAgIGlmICh0aGlzLmNvbmZpZy5hdHRyaWJ1dGVzKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5jb25maWcuY3VzdG9tQXR0cmlidXRlcy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gU2VxdWVsaXplVXRpbHMuZW5zdXJlQXR0cmlidXRlc1ZhbGlkaXR5KFxuICAgICAgICAgICAgICAgICAgICBTZXF1ZWxpemVVdGlscy5tZXJnZUF0dHJpYnV0ZXModGhpcy5jb25maWcuYXR0cmlidXRlcywge1xuICAgICAgICAgICAgICAgICAgICAgICAgaW5jbHVkZTogY3VzdG9tQXR0cmlidXRlcy5tYXAoeCA9PiB4LmF0dHJpYnV0ZSlcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gU2VxdWVsaXplVXRpbHMuZW5zdXJlQXR0cmlidXRlc1ZhbGlkaXR5KHRoaXMuY29uZmlnLmF0dHJpYnV0ZXMpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy5jb25maWcuYXR0cmlidXRlcyAmJiBjdXN0b21BdHRyaWJ1dGVzLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBpbmNsdWRlOiBjdXN0b21BdHRyaWJ1dGVzLm1hcCh4ID0+IHguYXR0cmlidXRlKVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBnZXRDdXN0b21BdHRyaWJ1dGVzKG9wdGlvbnM/OiBvYmplY3QpOiBDdXN0b21BdHRyaWJ1dGVzTW9kZWxbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZy5jdXN0b21BdHRyaWJ1dGVzXG4gICAgICAgICAgICAubWFwKHggPT4gKHtcbiAgICAgICAgICAgICAgICBrZXk6IHgua2V5LFxuICAgICAgICAgICAgICAgIGF0dHJpYnV0ZTogeC53aXRoQ29udGV4dCh0aGlzLmRpYWxlY3RGb3JtYXR0ZXJTZXJ2aWNlKS50cmFuc2Zvcm0ob3B0aW9ucyksXG4gICAgICAgICAgICAgICAgcGF0aDogKHguY29uZmlnIGFzIGFueSkucGF0aCA/IHtcbiAgICAgICAgICAgICAgICAgICAgcGF0aDogKHguY29uZmlnIGFzIGFueSkucGF0aCxcbiAgICAgICAgICAgICAgICAgICAgcGFyYW5vaWQ6IHRydWVcbiAgICAgICAgICAgICAgICB9IDogbnVsbFxuICAgICAgICAgICAgfSBhcyBDdXN0b21BdHRyaWJ1dGVzTW9kZWwpKVxuICAgICAgICAgICAgLmZpbHRlcih4ID0+IHguYXR0cmlidXRlKTtcbiAgICB9XG59Il19
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ProjectionAlias } from "sequelize";
|
|
2
|
-
import {
|
|
2
|
+
import { DialectFormatterService } from "../services/dialect-formatter.service";
|
|
3
|
+
import { CustomAttributesConfig, CustomAttributesContext, CustomAttributesOptionConfig } from "./custom-attributes.model";
|
|
3
4
|
export interface BaseDistanceConfig extends CustomAttributesOptionConfig {
|
|
4
5
|
coordinates: (option?: any) => [number, number];
|
|
5
6
|
srid?: number;
|
|
@@ -12,12 +13,18 @@ export interface DistanceConfigWithLatLng {
|
|
|
12
13
|
lngAttribute: string;
|
|
13
14
|
}
|
|
14
15
|
export type DistanceConfig = BaseDistanceConfig & (DistanceConfigWithPoint | DistanceConfigWithLatLng);
|
|
15
|
-
export declare class DistanceAttributesConfig implements CustomAttributesConfig<DistanceConfig> {
|
|
16
|
+
export declare class DistanceAttributesConfig implements CustomAttributesConfig<DistanceConfig, DistanceAttributesContext> {
|
|
16
17
|
key: string;
|
|
17
18
|
config: DistanceConfig;
|
|
18
19
|
type: string;
|
|
19
20
|
constructor(key: string, config: DistanceConfig);
|
|
20
|
-
|
|
21
|
+
withContext(dialectFormatterService: DialectFormatterService): DistanceAttributesContext;
|
|
21
22
|
shouldGroupBy(): boolean;
|
|
23
|
+
}
|
|
24
|
+
export declare class DistanceAttributesContext extends CustomAttributesContext {
|
|
25
|
+
private config;
|
|
26
|
+
private dialectFormatterService;
|
|
27
|
+
constructor(config: DistanceAttributesConfig, dialectFormatterService: DialectFormatterService);
|
|
28
|
+
transform(options: object, path?: string): string | ProjectionAlias;
|
|
22
29
|
private getPointAttribute;
|
|
23
30
|
}
|