@recursyve/nestjs-data-filter 10.2.0 → 11.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.js +0 -2
- package/lib/adapters/access-control.adapter.js +0 -2
- package/lib/adapters/default-access-control.adapter.js +0 -2
- package/lib/adapters/default-export.adapter.d.ts +0 -1
- package/lib/adapters/default-export.adapter.js +0 -2
- package/lib/adapters/default-translate.adapter.js +0 -2
- package/lib/adapters/export.adapter.d.ts +0 -1
- package/lib/adapters/export.adapter.js +0 -2
- package/lib/adapters/index.js +0 -2
- package/lib/adapters/translate.adapter.js +0 -2
- package/lib/constant.js +0 -2
- package/lib/data-filter.repository.d.ts +0 -1
- package/lib/data-filter.repository.js +0 -2
- package/lib/data-filter.service.js +0 -2
- package/lib/decorators/attributes.decorator.js +1 -4
- package/lib/decorators/count.decorator.js +1 -4
- package/lib/decorators/data.decorator.js +1 -4
- package/lib/decorators/distance.decorator.js +1 -4
- package/lib/decorators/export.decorator.js +1 -4
- package/lib/decorators/ignore-in-search.decorator.js +1 -4
- package/lib/decorators/include.decorator.d.ts +1 -1
- package/lib/decorators/include.decorator.js +1 -4
- package/lib/decorators/index.js +0 -2
- package/lib/decorators/limit.decorator.js +1 -4
- package/lib/decorators/order.decorator.js +1 -4
- package/lib/decorators/paranoid.decorator.js +1 -4
- package/lib/decorators/path.decorator.js +1 -4
- package/lib/decorators/required.decorator.js +1 -4
- package/lib/decorators/seachable-attributes.decorator.js +1 -4
- package/lib/decorators/searchable-translation-attributes.decorator.js +1 -4
- package/lib/decorators/separate.decorator.js +1 -4
- package/lib/decorators/sum.decorator.js +1 -4
- package/lib/decorators/where.decorator.js +1 -4
- package/lib/deserializers/default.deserializer.js +0 -2
- package/lib/deserializers/index.js +0 -2
- package/lib/deserializers/user.deserializer.js +0 -2
- package/lib/filter/base-filter.js +0 -2
- package/lib/filter/controllers/dynamic-filter.controller.d.ts +0 -1
- package/lib/filter/controllers/dynamic-filter.controller.js +7 -7
- package/lib/filter/controllers/filter.controller.d.ts +0 -1
- package/lib/filter/controllers/filter.controller.js +7 -7
- package/lib/filter/controllers/open-api-filter.controller.d.ts +4 -0
- package/lib/filter/controllers/open-api-filter.controller.js +123 -0
- package/lib/filter/decorators/inject-filter.decorator.js +0 -2
- package/lib/filter/filter.config.js +0 -2
- package/lib/filter/filter.factory.js +2 -5
- package/lib/filter/filter.provider.js +1 -4
- package/lib/filter/filter.service.d.ts +1 -2
- package/lib/filter/filter.service.js +0 -2
- package/lib/filter/filter.utils.js +0 -2
- package/lib/filter/filters/coordinate.filter.js +0 -2
- package/lib/filter/filters/date-only.filter.js +0 -2
- package/lib/filter/filters/date-time.filter.js +0 -2
- package/lib/filter/filters/date.filter.js +0 -2
- package/lib/filter/filters/default.filter.js +0 -2
- package/lib/filter/filters/filter.js +0 -2
- package/lib/filter/filters/geo-bounds.filter.js +0 -2
- package/lib/filter/filters/geo-localization.filter.js +0 -2
- package/lib/filter/filters/group.filter.js +0 -2
- package/lib/filter/filters/index.js +0 -2
- package/lib/filter/filters/number.filter.js +0 -2
- package/lib/filter/filters/options.filter.d.ts +3 -2
- package/lib/filter/filters/options.filter.js +23 -3
- package/lib/filter/filters/select.filter.d.ts +1 -1
- package/lib/filter/filters/select.filter.js +22 -3
- package/lib/filter/filters/text.filter.js +0 -2
- package/lib/filter/guards/filter-query.guard.js +0 -2
- package/lib/filter/index.d.ts +1 -0
- package/lib/filter/index.js +1 -2
- package/lib/filter/interceptors/data-file-download.interceptor.d.ts +0 -1
- package/lib/filter/interceptors/data-file-download.interceptor.js +0 -2
- package/lib/filter/models/filter-configuration-search.model.d.ts +1 -1
- package/lib/filter/models/filter-configuration-search.model.js +30 -2
- package/lib/filter/models/filter-configuration.model.d.ts +6 -6
- package/lib/filter/models/filter-configuration.model.js +115 -2
- package/lib/filter/models/filter-resource-value.model.d.ts +1 -1
- package/lib/filter/models/filter-resource-value.model.js +22 -2
- package/lib/filter/models/filter.model.js +0 -2
- package/lib/filter/models/index.js +0 -2
- package/lib/filter/models/query.model.d.ts +5 -3
- package/lib/filter/models/query.model.js +39 -2
- package/lib/filter/models/rule.model.d.ts +3 -3
- package/lib/filter/models/rule.model.js +25 -2
- package/lib/filter/operators.js +0 -2
- package/lib/filter/order-rules/default.order-rule.js +0 -2
- package/lib/filter/order-rules/enum.order-rule.js +0 -2
- package/lib/filter/order-rules/if.order-rule.js +0 -2
- package/lib/filter/order-rules/index.js +0 -2
- package/lib/filter/order-rules/is-null.order-rule.js +0 -2
- package/lib/filter/order-rules/json.order-rule.js +0 -2
- package/lib/filter/order-rules/order-rule.js +0 -2
- package/lib/filter/type.js +0 -2
- package/lib/handlers/attributes.handler.js +0 -2
- package/lib/handlers/data-filter.handler.js +0 -2
- package/lib/index.js +0 -2
- package/lib/json.data.js +0 -2
- package/lib/models/attributes.model.js +0 -2
- package/lib/models/count.model.js +0 -2
- package/lib/models/custom-attributes.model.js +0 -2
- package/lib/models/data-filter.model.js +0 -2
- package/lib/models/definition.model.js +0 -2
- package/lib/models/distance.model.js +0 -2
- package/lib/models/export-types.model.js +0 -2
- package/lib/models/filter.model.d.ts +15 -6
- package/lib/models/filter.model.js +120 -2
- package/lib/models/include.model.js +0 -2
- package/lib/models/path.model.js +0 -2
- package/lib/models/search-attributes.model.js +0 -2
- package/lib/models/sum.model.js +0 -2
- package/lib/models/user.model.js +0 -2
- package/lib/scanners/data-filter.scanner.js +0 -2
- package/lib/scanners/sequelize-model.scanner.js +0 -2
- package/lib/sequelize.utils.js +0 -2
- package/lib/services/data-filter-validation.service.js +0 -2
- package/lib/utils/csv.utils.d.ts +0 -1
- package/lib/utils/csv.utils.js +0 -2
- package/lib/utils/xlsx.utils.d.ts +0 -1
- package/lib/utils/xlsx.utils.js +0 -2
- package/package.json +34 -37
|
@@ -1,4 +1,122 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
2
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
|
|
4
|
-
|
|
12
|
+
exports.PageModel = exports.FilterQueryModel = exports.OrderModel = exports.FilterSearchModel = exports.FilterPageModel = void 0;
|
|
13
|
+
exports.FilterResultModelMixin = FilterResultModelMixin;
|
|
14
|
+
const swagger_1 = require("@nestjs/swagger");
|
|
15
|
+
const query_model_1 = require("../filter/models/query.model");
|
|
16
|
+
class FilterPageModel {
|
|
17
|
+
}
|
|
18
|
+
exports.FilterPageModel = FilterPageModel;
|
|
19
|
+
__decorate([
|
|
20
|
+
(0, swagger_1.ApiProperty)({ type: () => Number }),
|
|
21
|
+
__metadata("design:type", Number)
|
|
22
|
+
], FilterPageModel.prototype, "number", void 0);
|
|
23
|
+
__decorate([
|
|
24
|
+
(0, swagger_1.ApiProperty)({ type: () => Number }),
|
|
25
|
+
__metadata("design:type", Number)
|
|
26
|
+
], FilterPageModel.prototype, "size", void 0);
|
|
27
|
+
__decorate([
|
|
28
|
+
(0, swagger_1.ApiPropertyOptional)({ type: () => Number }),
|
|
29
|
+
__metadata("design:type", Number)
|
|
30
|
+
], FilterPageModel.prototype, "offset", void 0);
|
|
31
|
+
class FilterSearchModel {
|
|
32
|
+
}
|
|
33
|
+
exports.FilterSearchModel = FilterSearchModel;
|
|
34
|
+
__decorate([
|
|
35
|
+
(0, swagger_1.ApiProperty)({ type: () => String }),
|
|
36
|
+
__metadata("design:type", String)
|
|
37
|
+
], FilterSearchModel.prototype, "value", void 0);
|
|
38
|
+
const directions = ["asc", "desc", ""];
|
|
39
|
+
class OrderModel {
|
|
40
|
+
}
|
|
41
|
+
exports.OrderModel = OrderModel;
|
|
42
|
+
__decorate([
|
|
43
|
+
(0, swagger_1.ApiProperty)({ type: () => String }),
|
|
44
|
+
__metadata("design:type", String)
|
|
45
|
+
], OrderModel.prototype, "column", void 0);
|
|
46
|
+
__decorate([
|
|
47
|
+
(0, swagger_1.ApiPropertyOptional)({ enum: directions, enumName: "Direction" }),
|
|
48
|
+
__metadata("design:type", String)
|
|
49
|
+
], OrderModel.prototype, "direction", void 0);
|
|
50
|
+
__decorate([
|
|
51
|
+
(0, swagger_1.ApiPropertyOptional)({ type: () => Boolean }),
|
|
52
|
+
__metadata("design:type", Boolean)
|
|
53
|
+
], OrderModel.prototype, "nullLast", void 0);
|
|
54
|
+
let FilterQueryModel = class FilterQueryModel {
|
|
55
|
+
};
|
|
56
|
+
exports.FilterQueryModel = FilterQueryModel;
|
|
57
|
+
__decorate([
|
|
58
|
+
(0, swagger_1.ApiPropertyOptional)({ type: () => FilterPageModel }),
|
|
59
|
+
__metadata("design:type", FilterPageModel)
|
|
60
|
+
], FilterQueryModel.prototype, "page", void 0);
|
|
61
|
+
__decorate([
|
|
62
|
+
(0, swagger_1.ApiPropertyOptional)({ type: () => FilterSearchModel }),
|
|
63
|
+
__metadata("design:type", FilterSearchModel)
|
|
64
|
+
], FilterQueryModel.prototype, "search", void 0);
|
|
65
|
+
__decorate([
|
|
66
|
+
(0, swagger_1.ApiPropertyOptional)({ type: () => query_model_1.QueryModel }),
|
|
67
|
+
__metadata("design:type", query_model_1.QueryModel)
|
|
68
|
+
], FilterQueryModel.prototype, "query", void 0);
|
|
69
|
+
__decorate([
|
|
70
|
+
(0, swagger_1.ApiPropertyOptional)({
|
|
71
|
+
oneOf: [
|
|
72
|
+
{
|
|
73
|
+
$ref: (0, swagger_1.getSchemaPath)(OrderModel),
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
type: "array",
|
|
77
|
+
items: { $ref: (0, swagger_1.getSchemaPath)(OrderModel) },
|
|
78
|
+
},
|
|
79
|
+
],
|
|
80
|
+
}),
|
|
81
|
+
__metadata("design:type", Object)
|
|
82
|
+
], FilterQueryModel.prototype, "order", void 0);
|
|
83
|
+
__decorate([
|
|
84
|
+
(0, swagger_1.ApiPropertyOptional)({ type: () => Object }),
|
|
85
|
+
__metadata("design:type", Object)
|
|
86
|
+
], FilterQueryModel.prototype, "data", void 0);
|
|
87
|
+
__decorate([
|
|
88
|
+
(0, swagger_1.ApiPropertyOptional)({ type: () => String }),
|
|
89
|
+
__metadata("design:type", String)
|
|
90
|
+
], FilterQueryModel.prototype, "groupBy", void 0);
|
|
91
|
+
exports.FilterQueryModel = FilterQueryModel = __decorate([
|
|
92
|
+
(0, swagger_1.ApiExtraModels)(OrderModel)
|
|
93
|
+
], FilterQueryModel);
|
|
94
|
+
class PageModel {
|
|
95
|
+
}
|
|
96
|
+
exports.PageModel = PageModel;
|
|
97
|
+
__decorate([
|
|
98
|
+
(0, swagger_1.ApiProperty)({ type: () => Number }),
|
|
99
|
+
__metadata("design:type", Number)
|
|
100
|
+
], PageModel.prototype, "number", void 0);
|
|
101
|
+
__decorate([
|
|
102
|
+
(0, swagger_1.ApiProperty)({ type: () => Number }),
|
|
103
|
+
__metadata("design:type", Number)
|
|
104
|
+
], PageModel.prototype, "size", void 0);
|
|
105
|
+
function FilterResultModelMixin(Base) {
|
|
106
|
+
class _FilterResultModel {
|
|
107
|
+
}
|
|
108
|
+
__decorate([
|
|
109
|
+
(0, swagger_1.ApiProperty)({ type: () => Base, isArray: true }),
|
|
110
|
+
__metadata("design:type", Array)
|
|
111
|
+
], _FilterResultModel.prototype, "values", void 0);
|
|
112
|
+
__decorate([
|
|
113
|
+
(0, swagger_1.ApiProperty)({ type: () => Number }),
|
|
114
|
+
__metadata("design:type", Number)
|
|
115
|
+
], _FilterResultModel.prototype, "total", void 0);
|
|
116
|
+
__decorate([
|
|
117
|
+
(0, swagger_1.ApiPropertyOptional)({ type: () => PageModel }),
|
|
118
|
+
__metadata("design:type", PageModel)
|
|
119
|
+
], _FilterResultModel.prototype, "page", void 0);
|
|
120
|
+
Object.defineProperty(_FilterResultModel, "name", { value: `${Base.name}FilterResultModel` });
|
|
121
|
+
return _FilterResultModel;
|
|
122
|
+
}
|
|
@@ -1,4 +1,2 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
|
|
4
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2xpYi9tb2RlbHMvaW5jbHVkZS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwiZmlsZSI6ImxpYi9tb2RlbHMvaW5jbHVkZS5tb2RlbC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZpbmRBdHRyaWJ1dGVPcHRpb25zLCBPcmRlciwgV2hlcmVPcHRpb25zIH0gZnJvbSBcInNlcXVlbGl6ZVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEluY2x1ZGVXaGVyZU1vZGVsIHtcbiAgICBba2V5OiBzdHJpbmddOiAob3B0aW9uPzogYW55KSA9PiB1bmtub3duO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEluY2x1ZGVDb25maWcge1xuICAgIHBhdGg6IHN0cmluZztcbiAgICBhdHRyaWJ1dGVzPzogRmluZEF0dHJpYnV0ZU9wdGlvbnM7XG4gICAgc2VhcmNoYWJsZUF0dHJpYnV0ZXM/OiBzdHJpbmdbXTtcbiAgICBzZWFyY2hhYmxlVHJhbnNsYXRpb25BdHRyaWJ1dGVzPzogc3RyaW5nW107XG4gICAgaWdub3JlSW5TZWFyY2g/OiBib29sZWFuO1xuICAgIG9yZGVyPzogT3JkZXI7XG4gICAgd2hlcmU/OiBJbmNsdWRlV2hlcmVNb2RlbDtcbiAgICByZXF1aXJlZD86IGJvb2xlYW47XG4gICAgc2VwYXJhdGU/OiBib29sZWFuO1xuICAgIHBhcmFub2lkPzogYm9vbGVhbjtcbiAgICBzdWJRdWVyeT86IGJvb2xlYW47XG4gICAgbGltaXQ/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW5jbHVkZU1vZGVsIHtcbiAgICBwYXRoOiBzdHJpbmc7XG4gICAgYXR0cmlidXRlcz86IEZpbmRBdHRyaWJ1dGVPcHRpb25zO1xuICAgIHNlYXJjaGFibGVBdHRyaWJ1dGVzPzogc3RyaW5nW107XG4gICAgc2VhcmNoYWJsZVRyYW5zbGF0aW9uQXR0cmlidXRlcz86IHN0cmluZ1tdO1xuICAgIGlnbm9yZUluU2VhcmNoPzogYm9vbGVhbjtcbiAgICBvcmRlcj86IE9yZGVyO1xuICAgIHdoZXJlPzogV2hlcmVPcHRpb25zO1xuICAgIHJlcXVpcmVkPzogYm9vbGVhbjtcbiAgICBzZXBhcmF0ZT86IGJvb2xlYW47XG4gICAgcGFyYW5vaWQ/OiBib29sZWFuO1xuICAgIHN1YlF1ZXJ5PzogYm9vbGVhbjtcbiAgICBsaW1pdD86IG51bWJlcjtcbn1cbiJdfQ==
|
package/lib/models/path.model.js
CHANGED
|
@@ -21,5 +21,3 @@ class PathConfig {
|
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
23
|
exports.PathConfig = PathConfig;
|
|
24
|
-
|
|
25
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2xpYi9tb2RlbHMvcGF0aC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSx3REFBb0Q7QUFjcEQsTUFBYSxVQUFVO0lBVW5CLFlBQVksTUFBNEI7UUFDcEMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxhQUFOLE1BQU0sY0FBTixNQUFNLEdBQUksRUFBRSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVNLG1CQUFtQixDQUFDLE9BQWdCO1FBQ3ZDLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDVixNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDO1lBQ2hDLE9BQU8sSUFBSSxDQUFDO1NBQ2Y7UUFFRCxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDWixPQUFPO2dCQUNILEdBQUcsSUFBSTtnQkFDUCxLQUFLLEVBQUUsZ0NBQWMsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQzthQUNyRSxDQUFDO1NBQ0w7UUFFRCxPQUFPLEVBQUUsR0FBRyxJQUFJLEVBQWUsQ0FBQztJQUNwQyxDQUFDO0NBQ0o7QUE3QkQsZ0NBNkJDIiwiZmlsZSI6ImxpYi9tb2RlbHMvcGF0aC5tb2RlbC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9yZGVyLCBXaGVyZU9wdGlvbnMgfSBmcm9tIFwic2VxdWVsaXplXCI7XG5pbXBvcnQgeyBTZXF1ZWxpemVVdGlscyB9IGZyb20gXCIuLi9zZXF1ZWxpemUudXRpbHNcIjtcbmltcG9ydCB7IEluY2x1ZGVXaGVyZU1vZGVsIH0gZnJvbSBcIi4vaW5jbHVkZS5tb2RlbFwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBhdGhNb2RlbCB7XG4gICAgcGF0aDogc3RyaW5nO1xuICAgIHdoZXJlPzogV2hlcmVPcHRpb25zO1xuICAgIHJlcXVpcmVkPzogYm9vbGVhbjtcbiAgICBzZXBhcmF0ZT86IGJvb2xlYW47XG4gICAgcGFyYW5vaWQ/OiBib29sZWFuO1xuICAgIHN1YlF1ZXJ5PzogYm9vbGVhbjtcbiAgICBvcmRlcj86IE9yZGVyO1xuICAgIGxpbWl0PzogbnVtYmVyO1xufVxuXG5leHBvcnQgY2xhc3MgUGF0aENvbmZpZyB7XG4gICAgcGF0aCE6IHN0cmluZztcbiAgICB3aGVyZT86IEluY2x1ZGVXaGVyZU1vZGVsO1xuICAgIHJlcXVpcmVkPzogYm9vbGVhbjtcbiAgICBzZXBhcmF0ZT86IGJvb2xlYW47XG4gICAgcGFyYW5vaWQ/OiBib29sZWFuO1xuICAgIHN1YlF1ZXJ5PzogYm9vbGVhbjtcbiAgICBvcmRlcj86IE9yZGVyO1xuICAgIGxpbWl0PzogbnVtYmVyO1xuXG4gICAgY29uc3RydWN0b3IodmFsdWVzPzogUGFydGlhbDxQYXRoQ29uZmlnPikge1xuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIHZhbHVlcyA/PyB7fSk7XG4gICAgfVxuXG4gICAgcHVibGljIHRyYW5zZm9ybVBhdGhDb25maWcob3B0aW9ucz86IG9iamVjdCk6IFBhdGhNb2RlbCB7XG4gICAgICAgIGlmICghb3B0aW9ucykge1xuICAgICAgICAgICAgY29uc3QgeyB3aGVyZSwgLi4ucGF0aCB9ID0gdGhpcztcbiAgICAgICAgICAgIHJldHVybiBwYXRoO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMud2hlcmUpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgLi4udGhpcyxcbiAgICAgICAgICAgICAgICB3aGVyZTogU2VxdWVsaXplVXRpbHMuZ2VuZXJhdGVXaGVyZUNvbmRpdGlvbnModGhpcy53aGVyZSwgb3B0aW9ucylcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4geyAuLi50aGlzIH0gYXMgUGF0aE1vZGVsO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,4 +1,2 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
|
|
4
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2xpYi9tb2RlbHMvc2VhcmNoLWF0dHJpYnV0ZXMubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJsaWIvbW9kZWxzL3NlYXJjaC1hdHRyaWJ1dGVzLm1vZGVsLmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBTZWFyY2hBdHRyaWJ1dGVzTW9kZWwge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBrZXk6IHN0cmluZztcbiAgICBsaXRlcmFsS2V5Pzogc3RyaW5nO1xuICAgIGlzSnNvbj86IGJvb2xlYW47XG4gICAgaXNUcmFuc2xhdGlvbkF0dHJpYnV0ZT86IGJvb2xlYW47XG59XG4iXX0=
|
package/lib/models/sum.model.js
CHANGED
|
@@ -20,5 +20,3 @@ class SumAttributesConfig {
|
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
22
|
exports.SumAttributesConfig = SumAttributesConfig;
|
|
23
|
-
|
|
24
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2xpYi9tb2RlbHMvc3VtLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlDQUF5RDtBQUN6RCx3REFBb0Q7QUFPcEQsTUFBYSxtQkFBbUI7SUFHNUIsWUFBbUIsR0FBVyxFQUFTLE1BQWlCO1FBQXJDLFFBQUcsR0FBSCxHQUFHLENBQVE7UUFBUyxXQUFNLEdBQU4sTUFBTSxDQUFXO1FBRmpELFNBQUksR0FBRyxLQUFLLENBQUM7SUFFdUMsQ0FBQztJQUVyRCxTQUFTLENBQUMsT0FBZSxFQUFFLElBQWE7UUFDM0MsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJO1lBQzlCLENBQUMsQ0FBQyxJQUFBLG1CQUFPLEVBQUMsZ0NBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3JGLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQztRQUM1QixPQUFPLENBQUMsSUFBQSxjQUFFLEVBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRU0sYUFBYTtRQUNoQixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0NBQ0o7QUFmRCxrREFlQyIsImZpbGUiOiJsaWIvbW9kZWxzL3N1bS5tb2RlbC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZuLCBsaXRlcmFsLCBQcm9qZWN0aW9uQWxpYXMgfSBmcm9tIFwic2VxdWVsaXplXCI7XG5pbXBvcnQgeyBTZXF1ZWxpemVVdGlscyB9IGZyb20gXCIuLi9zZXF1ZWxpemUudXRpbHNcIjtcbmltcG9ydCB7IEN1c3RvbUF0dHJpYnV0ZXNDb25maWcsIEN1c3RvbUF0dHJpYnV0ZXNPcHRpb25Db25maWcgfSBmcm9tIFwiLi9jdXN0b20tYXR0cmlidXRlcy5tb2RlbFwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFN1bUNvbmZpZyBleHRlbmRzIEN1c3RvbUF0dHJpYnV0ZXNPcHRpb25Db25maWcge1xuICAgIGF0dHJpYnV0ZTogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgU3VtQXR0cmlidXRlc0NvbmZpZyBpbXBsZW1lbnRzIEN1c3RvbUF0dHJpYnV0ZXNDb25maWc8U3VtQ29uZmlnPiB7XG4gICAgcHVibGljIHR5cGUgPSBcInN1bVwiO1xuXG4gICAgY29uc3RydWN0b3IocHVibGljIGtleTogc3RyaW5nLCBwdWJsaWMgY29uZmlnOiBTdW1Db25maWcpIHt9XG5cbiAgICBwdWJsaWMgdHJhbnNmb3JtKG9wdGlvbnM6IG9iamVjdCwgcGF0aD86IHN0cmluZyk6IHN0cmluZyB8IFByb2plY3Rpb25BbGlhcyB7XG4gICAgICAgIGNvbnN0IGF0dHJpYnV0ZSA9IHRoaXMuY29uZmlnLnBhdGhcbiAgICAgICAgICAgID8gbGl0ZXJhbChTZXF1ZWxpemVVdGlscy5nZXRMaXRlcmFsRnVsbE5hbWUodGhpcy5jb25maWcuYXR0cmlidXRlLCB0aGlzLmNvbmZpZy5wYXRoKSlcbiAgICAgICAgICAgIDogdGhpcy5jb25maWcuYXR0cmlidXRlO1xuICAgICAgICByZXR1cm4gW2ZuKFwiU1VNXCIsIGF0dHJpYnV0ZSksIHRoaXMua2V5XTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2hvdWxkR3JvdXBCeSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxufVxuIl19
|
package/lib/models/user.model.js
CHANGED
|
@@ -1,4 +1,2 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
|
|
4
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2xpYi9tb2RlbHMvdXNlci5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwiZmlsZSI6ImxpYi9tb2RlbHMvdXNlci5tb2RlbC5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgRGF0YUZpbHRlclVzZXJNb2RlbCB7XG4gICAgaWQ/OiBzdHJpbmc7XG4gICAgbGFuZ3VhZ2U/OiBzdHJpbmc7XG59XG4iXX0=
|
|
@@ -22,5 +22,3 @@ exports.DataFilterScanner = DataFilterScanner;
|
|
|
22
22
|
exports.DataFilterScanner = DataFilterScanner = __decorate([
|
|
23
23
|
(0, common_1.Injectable)()
|
|
24
24
|
], DataFilterScanner);
|
|
25
|
-
|
|
26
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2xpYi9zY2FubmVycy9kYXRhLWZpbHRlci5zY2FubmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLDJDQUE0QztBQUM1QywwQ0FBdUQ7QUFLaEQsSUFBTSxpQkFBaUIsR0FBdkIsTUFBTSxpQkFBaUI7SUFDbkIsYUFBYSxDQUFDLE1BQVc7UUFDNUIsT0FBTyxPQUFPLENBQUMsV0FBVyxDQUFDLHNCQUFXLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVNLGFBQWEsQ0FBQyxNQUFXOztRQUM1QixPQUFPLE1BQUEsT0FBTyxDQUFDLFdBQVcsQ0FBQyxxQkFBVSxFQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsbUNBQUksRUFBRSxDQUFDO0lBQ25FLENBQUM7Q0FDSixDQUFBO0FBUlksOENBQWlCOzRCQUFqQixpQkFBaUI7SUFEN0IsSUFBQSxtQkFBVSxHQUFFO0dBQ0EsaUJBQWlCLENBUTdCIiwiZmlsZSI6ImxpYi9zY2FubmVycy9kYXRhLWZpbHRlci5zY2FubmVyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAbmVzdGpzL2NvbW1vblwiO1xuaW1wb3J0IHsgQVRUUklCVVRFUywgREFUQV9GSUxURVIsIH0gZnJvbSBcIi4uL2NvbnN0YW50XCI7XG5pbXBvcnQgeyBEYXRhRmlsdGVyQ29uZmlnIH0gZnJvbSBcIi4uL21vZGVscy9kYXRhLWZpbHRlci5tb2RlbFwiO1xuaW1wb3J0IHsgQXR0cmlidXRlc0NvbmZpZyB9IGZyb20gXCIuLi9tb2RlbHMvYXR0cmlidXRlcy5tb2RlbFwiO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRGF0YUZpbHRlclNjYW5uZXIge1xuICAgIHB1YmxpYyBnZXREYXRhRmlsdGVyKHRhcmdldDogYW55KTogRGF0YUZpbHRlckNvbmZpZyB7XG4gICAgICAgIHJldHVybiBSZWZsZWN0LmdldE1ldGFkYXRhKERBVEFfRklMVEVSLCB0YXJnZXQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRBdHRyaWJ1dGVzKHRhcmdldDogYW55KTogQXR0cmlidXRlc0NvbmZpZ1tdIHtcbiAgICAgICAgcmV0dXJuIFJlZmxlY3QuZ2V0TWV0YWRhdGEoQVRUUklCVVRFUywgdGFyZ2V0LnByb3RvdHlwZSkgPz8gW107XG4gICAgfVxufVxuIl19
|
|
@@ -199,5 +199,3 @@ exports.SequelizeModelScanner = SequelizeModelScanner;
|
|
|
199
199
|
exports.SequelizeModelScanner = SequelizeModelScanner = __decorate([
|
|
200
200
|
(0, common_1.Injectable)()
|
|
201
201
|
], SequelizeModelScanner);
|
|
202
|
-
|
|
203
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2xpYi9zY2FubmVycy9zZXF1ZWxpemUtbW9kZWwuc2Nhbm5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSwyQ0FBNEM7QUFDNUMsNERBQXFEO0FBQ3JELHlDQUFpRjtBQUNqRiwrREFBNEY7QUFLNUYsd0RBQXVEO0FBR2hELElBQU0scUJBQXFCLEdBQTNCLE1BQU0scUJBQXFCO0lBQ3ZCLFdBQVcsQ0FDZCxLQUFtQixFQUNuQixJQUFlLEVBQ2Ysa0JBQWtDLEVBQ2xDLFVBQXdDLEVBQ3hDLGdCQUFnQixHQUFHLEtBQUs7O1FBRXhCLE1BQU0sT0FBTyxHQUFHLE1BQUEsSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLElBQUksMENBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxDQUFBLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxNQUFNLENBQUEsRUFBRTtZQUNsQixPQUFPLEVBQUUsQ0FBQztTQUNiO1FBRUQsTUFBTSxNQUFNLEdBQXFCLEVBQUUsQ0FBQztRQUNwQyxJQUFJLFFBQVEsR0FBcUIsTUFBTSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNWLEtBQUssTUFBTSxHQUFHLElBQUksT0FBTyxFQUFFO1lBQ3ZCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQ3JELFFBQVEsQ0FBQyxJQUFJLENBQUM7Z0JBQ1YsRUFBRSxFQUFFLFdBQVcsQ0FBQyxLQUFLLEVBQVk7Z0JBQ2pDLEtBQUssRUFBRSxXQUFXLENBQUMsa0JBQWtCLEVBQUU7Z0JBQ3ZDLFVBQVUsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUU7Z0JBQ25ELE9BQU8sRUFBRSxFQUFFO2dCQUNYLFFBQVEsRUFBRSxLQUFLO2FBQ2xCLENB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LEtBQUssQ0FBQyxrQ0FBa0MsR0FBRyxFQUFFLENBQUMsQ0FBQztTQUM1RDtRQUNELE9BQU8sV0FBVyxDQUFDO0lBQ3ZCLENBQUM7Q0FDSixDQUFBO0FBdk9ZLHNEQUFxQjtnQ0FBckIscUJBQXFCO0lBRGpDLElBQUEsbUJBQVUsR0FBRTtHQUNBLHFCQUFxQixDQXVPakMiLCJmaWxlIjoibGliL3NjYW5uZXJzL3NlcXVlbGl6ZS1tb2RlbC5zY2FubmVyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAbmVzdGpzL2NvbW1vblwiO1xuaW1wb3J0IHsgVHlwZVV0aWxzIH0gZnJvbSBcIkByZWN1cnN5dmUvbmVzdGpzLWNvbW1vblwiO1xuaW1wb3J0IHsgRmluZEF0dHJpYnV0ZU9wdGlvbnMsIEluY2x1ZGVPcHRpb25zLCBsaXRlcmFsLCBPcmRlciB9IGZyb20gXCJzZXF1ZWxpemVcIjtcbmltcG9ydCB7IEFzc29jaWF0aW9uLCBCYXNlQXNzb2NpYXRpb24sIGdldEFzc29jaWF0aW9ucywgTW9kZWwgfSBmcm9tIFwic2VxdWVsaXplLXR5cGVzY3JpcHRcIjtcbmltcG9ydCB7IE9yZGVyTW9kZWwgfSBmcm9tIFwiLi5cIjtcbmltcG9ydCB7IEluY2x1ZGVNb2RlbCB9IGZyb20gXCIuLlwiO1xuaW1wb3J0IHsgUGF0aE1vZGVsIH0gZnJvbSBcIi4uL21vZGVscy9wYXRoLm1vZGVsXCI7XG5pbXBvcnQgeyBTZWFyY2hBdHRyaWJ1dGVzTW9kZWwgfSBmcm9tIFwiLi4vbW9kZWxzL3NlYXJjaC1hdHRyaWJ1dGVzLm1vZGVsXCI7XG5pbXBvcnQgeyBNLCBTZXF1ZWxpemVVdGlscyB9IGZyb20gXCIuLi9zZXF1ZWxpemUudXRpbHNcIjtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNlcXVlbGl6ZU1vZGVsU2Nhbm5lciB7XG4gICAgcHVibGljIGdldEluY2x1ZGVzKFxuICAgICAgICBtb2RlbDogdHlwZW9mIE1vZGVsLFxuICAgICAgICBwYXRoOiBQYXRoTW9kZWwsXG4gICAgICAgIGFkZGl0aW9uYWxJbmNsdWRlczogSW5jbHVkZU1vZGVsW10sXG4gICAgICAgIGF0dHJpYnV0ZXM/OiBGaW5kQXR0cmlidXRlT3B0aW9ucyB8IG51bGwsXG4gICAgICAgIGlnbm9yZUF0dHJpYnV0ZXMgPSBmYWxzZVxuICAgICk6IEluY2x1ZGVPcHRpb25zW10ge1xuICAgICAgICBjb25zdCBvYmplY3RzID0gcGF0aD8ucGF0aD8uc3BsaXQoXCIuXCIpO1xuICAgICAgICBpZiAoIW9iamVjdHM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcmVzdWx0OiBJbmNsdWRlT3B0aW9uc1tdID0gW107XG4gICAgICAgIGxldCBpbmNsdWRlczogSW5jbHVkZU9wdGlvbnNbXSA9IHJlc3VsdDtcbiAgICAgICAgbGV0IGkgPSAwO1xuICAgICAgICBmb3IgKGNvbnN0IG9iaiBvZiBvYmplY3RzKSB7XG4gICAgICAgICAgICBjb25zdCBhc3NvY2lhdGlvbiA9IHRoaXMuZmluZEFzc29jaWF0aW9uKG1vZGVsLCBvYmopO1xuICAgICAgICAgICAgaW5jbHVkZXMucHVzaCh7XG4gICAgICAgICAgICAgICAgYXM6IGFzc29jaWF0aW9uLmdldEFzKCkgYXMgc3RyaW5nLFxuICAgICAgICAgICAgICAgIG1vZGVsOiBhc3NvY2lhdGlvbi5nZXRBc3NvY2lhdGVkQ2xhc3MoKSxcbiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzOiBpZ25vcmVBdHRyaWJ1dGVzID8gW10gOiB7IGluY2x1ZGU6IFtdIH0sXG4gICAgICAgICAgICAgICAgaW5jbHVkZTogW10sXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgaWYgKGkrKyA8IG9iamVjdHMubGVuZ3RoIC0gMSkge1xuICAgICAgICAgICAgICAgIG1vZGVsID0gaW5jbHVkZXNbMF0ubW9kZWwgYXMgdW5rbm93biBhcyB0eXBlb2YgTW9kZWw7XG4gICAgICAgICAgICAgICAgaW5jbHVkZXMgPSBpbmNsdWRlc1swXS5pbmNsdWRlIGFzIEluY2x1ZGVPcHRpb25zW107XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoYXR0cmlidXRlcykge1xuICAgICAgICAgICAgaW5jbHVkZXNbMF0uYXR0cmlidXRlcyA9IGlnbm9yZUF0dHJpYnV0ZXMgPyBbXSA6IFNlcXVlbGl6ZVV0aWxzLm1lcmdlQXR0cmlidXRlcyhpbmNsdWRlc1swXS5hdHRyaWJ1dGVzLCBhdHRyaWJ1dGVzKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAocGF0aC53aGVyZSkge1xuICAgICAgICAgICAgaW5jbHVkZXNbMF0ud2hlcmUgPSBTZXF1ZWxpemVVdGlscy5tZXJnZVdoZXJlKGluY2x1ZGVzWzBdLndoZXJlLCBwYXRoLndoZXJlKTtcbiAgICAgICAgICAgIGluY2x1ZGVzWzBdLnJlcXVpcmVkID0gISFwYXRoLnJlcXVpcmVkO1xuICAgICAgICB9XG4gICAgICAgIGlmIChwYXRoLnJlcXVpcmVkKSB7XG4gICAgICAgICAgICBpbmNsdWRlc1swXS5yZXF1aXJlZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHBhdGgubGltaXQpIHtcbiAgICAgICAgICAgIGluY2x1ZGVzWzBdLmxpbWl0ID0gcGF0aC5saW1pdDtcbiAgICAgICAgfVxuXG4gICAgICAgIGluY2x1ZGVzWzBdLnBhcmFub2lkID0gISFwYXRoLnBhcmFub2lkO1xuICAgICAgICBpbmNsdWRlc1swXS5zZXBhcmF0ZSA9ICEhcGF0aC5zZXBhcmF0ZTtcbiAgICAgICAgaW5jbHVkZXNbMF0ub3JkZXIgPSBwYXRoLm9yZGVyO1xuXG4gICAgICAgIGlmIChUeXBlVXRpbHMuaXNOb3ROdWxsT3JVbmRlZmluZWQocGF0aC5zdWJRdWVyeSkpIHtcbiAgICAgICAgICAgIGluY2x1ZGVzWzBdLnN1YlF1ZXJ5ID0gcGF0aC5zdWJRdWVyeTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGFkZEluY2x1ZGVzOiBJbmNsdWRlT3B0aW9uc1tdW10gPSBbXTtcbiAgICAgICAgZm9yIChjb25zdCBpbmNsdWRlIG9mIGFkZGl0aW9uYWxJbmNsdWRlcykge1xuICAgICAgICAgICAgYWRkSW5jbHVkZXMucHVzaChcbiAgICAgICAgICAgICAgICB0aGlzLmdldEluY2x1ZGVzKFxuICAgICAgICAgICAgICAgICAgICBpbmNsdWRlc1swXS5tb2RlbCBhcyB1bmtub3duIGFzIHR5cGVvZiBNb2RlbCxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGF0aDogaW5jbHVkZS5wYXRoLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3JkZXI6IGluY2x1ZGUub3JkZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICB3aGVyZTogaW5jbHVkZS53aGVyZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiBpbmNsdWRlLnJlcXVpcmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgc2VwYXJhdGU6IGluY2x1ZGUuc2VwYXJhdGUsXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJhbm9pZDogaW5jbHVkZS5wYXJhbm9pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHN1YlF1ZXJ5OiBpbmNsdWRlLnN1YlF1ZXJ5LFxuICAgICAgICAgICAgICAgICAgICAgICAgbGltaXQ6IGluY2x1ZGUubGltaXRcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgW10sXG4gICAgICAgICAgICAgICAgICAgIGluY2x1ZGUuYXR0cmlidXRlcyxcbiAgICAgICAgICAgICAgICAgICAgaWdub3JlQXR0cmlidXRlc1xuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICBpbmNsdWRlc1swXS5pbmNsdWRlPy5wdXNoKC4uLlNlcXVlbGl6ZVV0aWxzLnJlZHVjZUluY2x1ZGVzKGFkZEluY2x1ZGVzLCBpZ25vcmVBdHRyaWJ1dGVzKSk7XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0QXR0cmlidXRlcyhcbiAgICAgICAgbW9kZWw6IHR5cGVvZiBNb2RlbCxcbiAgICAgICAgcGF0aDogUGF0aE1vZGVsLFxuICAgICAgICBhZGRpdGlvbmFsSW5jbHVkZXM6IEluY2x1ZGVNb2RlbFtdLFxuICAgICAgICBhdHRyaWJ1dGVzPzogRmluZEF0dHJpYnV0ZU9wdGlvbnMsXG4gICAgICAgIGlzVHJhbnNsYXRpb25BdHRyaWJ1dGUgPSBmYWxzZVxuICAgICk6IFNlYXJjaEF0dHJpYnV0ZXNNb2RlbFtdIHtcbiAgICAgICAgY29uc3Qgb2JqZWN0cyA9IHBhdGgucGF0aC5zcGxpdChcIi5cIik7XG4gICAgICAgIGlmICghb2JqZWN0cy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHJlc3VsdDogU2VhcmNoQXR0cmlidXRlc01vZGVsW10gPSBbXTtcbiAgICAgICAgZm9yIChjb25zdCBvYmogb2Ygb2JqZWN0cykge1xuICAgICAgICAgICAgY29uc3QgYXNzb2NpYXRpb24gPSB0aGlzLmZpbmRBc3NvY2lhdGlvbihtb2RlbCwgb2JqKTtcbiAgICAgICAgICAgIG1vZGVsID0gYXNzb2NpYXRpb24uZ2V0QXNzb2NpYXRlZENsYXNzKCkgYXMgdW5rbm93biBhcyB0eXBlb2YgTW9kZWw7XG4gICAgICAgIH1cbiAgICAgICAgYXR0cmlidXRlcyA9IGF0dHJpYnV0ZXMgP1xuICAgICAgICAgICAgU2VxdWVsaXplVXRpbHMuZ2V0TW9kZWxTZWFyY2hhYmxlRmllbGRBdHRyaWJ1dGVzKG1vZGVsIGFzIHR5cGVvZiBNLCBhdHRyaWJ1dGVzIGFzIHN0cmluZ1tdKSA6XG4gICAgICAgICAgICBTZXF1ZWxpemVVdGlscy5nZXRNb2RlbFNlYXJjaGFibGVBdHRyaWJ1dGVzKG1vZGVsIGFzIHR5cGVvZiBNKTtcbiAgICAgICAgcmVzdWx0LnB1c2goXG4gICAgICAgICAgICAuLi4oYXR0cmlidXRlcyBhcyBzdHJpbmdbXSkubWFwKGEgPT4gKHtcbiAgICAgICAgICAgICAgICBuYW1lOiBhLFxuICAgICAgICAgICAgICAgIGtleTogU2VxdWVsaXplVXRpbHMuZ2V0QXR0cmlidXRlRnVsbE5hbWUoYSwgcGF0aC5wYXRoKSxcbiAgICAgICAgICAgICAgICBsaXRlcmFsS2V5OiBTZXF1ZWxpemVVdGlscy5nZXRMaXRlcmFsRnVsbE5hbWUoYSwgcGF0aC5wYXRoKSxcbiAgICAgICAgICAgICAgICBpc0pzb246IFNlcXVlbGl6ZVV0aWxzLmlzQ29sdW1uSnNvbihtb2RlbCBhcyB0eXBlb2YgTSwgYSksXG4gICAgICAgICAgICAgICAgaXNUcmFuc2xhdGlvbkF0dHJpYnV0ZVxuICAgICAgICAgICAgfSkpXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKCFpc1RyYW5zbGF0aW9uQXR0cmlidXRlKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGluY2x1ZGUgb2YgYWRkaXRpb25hbEluY2x1ZGVzKSB7XG4gICAgICAgICAgICAgICAgaWYgKGluY2x1ZGUuaWdub3JlSW5TZWFyY2gpIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICAgICAgfVxuICAgIFxuICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKFxuICAgICAgICAgICAgICAgICAgICAuLi50aGlzLmdldEF0dHJpYnV0ZXMoXG4gICAgICAgICAgICAgICAgICAgICAgICBtb2RlbCBhcyB0eXBlb2YgTW9kZWwsXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aDogaW5jbHVkZS5wYXRoXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgW10sXG4gICAgICAgICAgICAgICAgICAgICAgICBpbmNsdWRlLnNlYXJjaGFibGVBdHRyaWJ1dGVzID8/IGluY2x1ZGUuYXR0cmlidXRlc1xuICAgICAgICAgICAgICAgICAgICApLm1hcChhID0+ICh7XG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBhLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBrZXk6IFNlcXVlbGl6ZVV0aWxzLmdldEF0dHJpYnV0ZUZ1bGxOYW1lKGEubmFtZSwgW3BhdGgucGF0aCwgaW5jbHVkZS5wYXRoXS5qb2luKFwiLlwiKSksXG4gICAgICAgICAgICAgICAgICAgICAgICBsaXRlcmFsS2V5OiBTZXF1ZWxpemVVdGlscy5nZXRMaXRlcmFsRnVsbE5hbWUoYS5uYW1lLCBbcGF0aC5wYXRoLCBpbmNsdWRlLnBhdGhdLmpvaW4oXCIuXCIpKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzSnNvbjogYS5pc0pzb24sXG4gICAgICAgICAgICAgICAgICAgICAgICBpc1RyYW5zbGF0aW9uQXR0cmlidXRlOiBpbmNsdWRlLnNlYXJjaGFibGVUcmFuc2xhdGlvbkF0dHJpYnV0ZXM/LmluY2x1ZGVzKGEubmFtZSkgPz8gZmFsc2VcbiAgICAgICAgICAgICAgICAgICAgfSkpXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldE9yZGVyKG1vZGVsOiB0eXBlb2YgTW9kZWwsIG9yZGVyT2JqOiBPcmRlck1vZGVsKTogT3JkZXIgfCB1bmRlZmluZWQge1xuICAgICAgICBpZiAoIW9yZGVyT2JqPy5jb2x1bW4gfHwgIW9yZGVyT2JqLmRpcmVjdGlvbikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdmFsdWVzID0gb3JkZXJPYmouY29sdW1uLnNwbGl0KFwiLlwiKTtcbiAgICAgICAgY29uc3QgY29sdW1uID0gdmFsdWVzLnBvcCgpIGFzIHN0cmluZztcbiAgICAgICAgZm9yIChjb25zdCB2YWx1ZSBvZiB2YWx1ZXMpIHtcbiAgICAgICAgICAgIGNvbnN0IGFzc29jaWF0aW9uID0gdGhpcy5maW5kQXNzb2NpYXRpb24obW9kZWwsIHZhbHVlKTtcbiAgICAgICAgICAgIG1vZGVsID0gYXNzb2NpYXRpb24uZ2V0QXNzb2NpYXRlZENsYXNzKCkgYXMgdW5rbm93biBhcyB0eXBlb2YgTW9kZWw7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgY29sID0gU2VxdWVsaXplVXRpbHMuZmluZENvbHVtbkZpZWxkTmFtZShtb2RlbCBhcyB0eXBlb2YgTSwgY29sdW1uKTtcbiAgICAgICAgbGV0IGxpdGVyYWxPcmRlciA9IHZhbHVlcy5sZW5ndGggP1xuICAgICAgICAgICAgU2VxdWVsaXplVXRpbHMuZ2V0TGl0ZXJhbEZ1bGxOYW1lKGNvbCwgdmFsdWVzKSA6XG4gICAgICAgICAgICBgXFxgJHttb2RlbC5uYW1lfVxcYC5cXGAke2NvbH1cXGBgO1xuXG4gICAgICAgIGlmIChvcmRlck9iai5udWxsTGFzdCkge1xuICAgICAgICAgICAgbGl0ZXJhbE9yZGVyID0gYC0ke2xpdGVyYWxPcmRlcn1gO1xuICAgICAgICAgICAgb3JkZXJPYmouZGlyZWN0aW9uID0gb3JkZXJPYmouZGlyZWN0aW9uID09PSBcImFzY1wiID8gXCJkZXNjXCIgOiBcImFzY1wiO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG9yZGVyT2JqLmRpcmVjdGlvbiA9PT0gXCJkZXNjXCIpIHtcbiAgICAgICAgICAgIGxpdGVyYWxPcmRlciArPSBgIERFU0NgO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBsaXRlcmFsKGxpdGVyYWxPcmRlcikgYXMgT3JkZXI7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEdyb3VwKG1vZGVsOiB0eXBlb2YgTW9kZWwsIG9yZGVyT2JqOiBPcmRlck1vZGVsKTogc3RyaW5nW10ge1xuICAgICAgICBpZiAoIW9yZGVyT2JqIHx8ICFvcmRlck9iai5jb2x1bW4gfHwgb3JkZXJPYmouZGlyZWN0aW9uID09PSBcIlwiKSB7XG4gICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBncm91cDogc3RyaW5nW10gPSBbXTtcbiAgICAgICAgY29uc3QgdmFsdWVzID0gb3JkZXJPYmouY29sdW1uLnNwbGl0KFwiLlwiKTtcbiAgICAgICAgY29uc3QgY29sdW1uID0gdmFsdWVzLnBvcCgpIGFzIHN0cmluZztcbiAgICAgICAgZm9yIChjb25zdCB2YWx1ZSBvZiB2YWx1ZXMpIHtcbiAgICAgICAgICAgIGNvbnN0IGFzc29jaWF0aW9uID0gdGhpcy5maW5kQXNzb2NpYXRpb24obW9kZWwsIHZhbHVlKTtcbiAgICAgICAgICAgIG1vZGVsID0gYXNzb2NpYXRpb24uZ2V0QXNzb2NpYXRlZENsYXNzKCkgYXMgdW5rbm93biBhcyB0eXBlb2YgTW9kZWw7XG4gICAgICAgICAgICBncm91cC5wdXNoKHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgU2VxdWVsaXplVXRpbHMuZ2V0T3JkZXJGdWxsTmFtZShcImlkXCIsIGdyb3VwKSxcbiAgICAgICAgICAgIFNlcXVlbGl6ZVV0aWxzLmdldE9yZGVyRnVsbE5hbWUoU2VxdWVsaXplVXRpbHMuZmluZENvbHVtbkZpZWxkTmFtZShtb2RlbCBhcyB0eXBlb2YgTSwgY29sdW1uKSwgZ3JvdXApXG4gICAgICAgIF07XG4gICAgfVxuXG4gICAgcHVibGljIGdldE9yZGVySW5jbHVkZXMobW9kZWw6IHR5cGVvZiBNb2RlbCwgb3JkZXJPYmo6IE9yZGVyTW9kZWwpOiBJbmNsdWRlT3B0aW9uc1tdIHtcbiAgICAgICAgaWYgKCFvcmRlck9iaiB8fCAhb3JkZXJPYmouY29sdW1uIHx8IG9yZGVyT2JqLmRpcmVjdGlvbiA9PT0gXCJcIikge1xuICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdmFsdWVzID0gb3JkZXJPYmouY29sdW1uLnNwbGl0KFwiLlwiKTtcbiAgICAgICAgaWYgKHZhbHVlcy5sZW5ndGggPD0gMSkge1xuICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgY29sdW1uID0gdmFsdWVzLnBvcCgpIGFzIHN0cmluZztcbiAgICAgICAgY29uc3QgcmVzdWx0OiBJbmNsdWRlT3B0aW9uc1tdID0gW107XG4gICAgICAgIGxldCBpbmNsdWRlczogSW5jbHVkZU9wdGlvbnNbXSA9IHJlc3VsdDtcbiAgICAgICAgbGV0IGkgPSAwO1xuICAgICAgICBmb3IgKGNvbnN0IHZhbHVlIG9mIHZhbHVlcykge1xuICAgICAgICAgICAgY29uc3QgYXNzb2NpYXRpb24gPSB0aGlzLmZpbmRBc3NvY2lhdGlvbihtb2RlbCwgdmFsdWUpO1xuICAgICAgICAgICAgaW5jbHVkZXMucHVzaCh7XG4gICAgICAgICAgICAgICAgYXM6IGFzc29jaWF0aW9uLmdldEFzKCkgYXMgc3RyaW5nLFxuICAgICAgICAgICAgICAgIG1vZGVsOiBhc3NvY2lhdGlvbi5nZXRBc3NvY2lhdGVkQ2xhc3MoKSxcbiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzOiBbXSxcbiAgICAgICAgICAgICAgICBpbmNsdWRlOiBbXSxcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgdGhyb3VnaDogYXNzb2NpYXRpb24uZ2V0QXNzb2NpYXRpb24oKSA9PT0gQXNzb2NpYXRpb24uQmVsb25nc1RvTWFueSA/IHtcbiAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlczogW11cbiAgICAgICAgICAgICAgICB9IDogdW5kZWZpbmVkXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgaWYgKGkrKyA8IHZhbHVlcy5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgICAgICAgbW9kZWwgPSBpbmNsdWRlc1swXS5tb2RlbCBhcyB1bmtub3duIGFzIHR5cGVvZiBNb2RlbDtcbiAgICAgICAgICAgICAgICBpbmNsdWRlcyA9IGluY2x1ZGVzWzBdLmluY2x1ZGUgYXMgSW5jbHVkZU9wdGlvbnNbXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGluY2x1ZGVzWzBdLmF0dHJpYnV0ZXMgPSBbY29sdW1uXTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZpbmRBc3NvY2lhdGlvbihtb2RlbDogdHlwZW9mIE1vZGVsLCBvYmo6IHN0cmluZyk6IEJhc2VBc3NvY2lhdGlvbjxhbnksIGFueT4ge1xuICAgICAgICBjb25zdCBhc3NvY2lhdGlvbnMgPSBnZXRBc3NvY2lhdGlvbnMobW9kZWwucHJvdG90eXBlKSA/PyBbXTtcblxuICAgICAgICBjb25zdCBhc3NvY2lhdGlvbiA9IGFzc29jaWF0aW9ucy5maW5kKGEgPT4gYS5nZXRBcygpID09PSBvYmopO1xuICAgICAgICBpZiAoIWFzc29jaWF0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuYWJsZSB0byBsb2FkIGFzc29jaWF0aW9uIGZvciAke29ian1gKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYXNzb2NpYXRpb247XG4gICAgfVxufVxuIl19
|
package/lib/sequelize.utils.js
CHANGED
|
@@ -309,5 +309,3 @@ class SequelizeUtils {
|
|
|
309
309
|
}
|
|
310
310
|
}
|
|
311
311
|
exports.SequelizeUtils = SequelizeUtils;
|
|
312
|
-
|
|
313
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,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QUFDLENBQUM7WUFDdkMsT0FBTyxjQUFjLENBQUMsa0JBQWtCLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUN0RjtRQUVELE9BQU8sS0FBSyxLQUFLLENBQUMsSUFBSSxRQUFRLEtBQUssSUFBSSxDQUFDO0lBQzVDLENBQUM7SUFFTSxNQUFNLENBQUMsdUJBQXVCLENBQUMsS0FBd0IsRUFBRSxPQUFnQjtRQUM1RSxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDakIsTUFBTSxJQUFJLEdBQUc7WUFDVCxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQ3JCLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQztTQUN6QyxDQUFDO1FBQ0YsS0FBSyxNQUFNLEdBQUcsSUFBSSxJQUFJLEVBQUU7WUFDcEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQzVCLFNBQVM7YUFDWjtZQUVELE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxHQUFVLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN6QyxJQUFJLE9BQU8sS0FBSyxLQUFLLFdBQVcsRUFBRTtnQkFDN0IsS0FBYSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQzthQUMvQjtTQUNKO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztDQUNKO0FBNVdELHdDQTRXQyIsImZpbGUiOiJsaWIvc2VxdWVsaXplLnV0aWxzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXJyYXlVdGlscywgVHlwZVV0aWxzIH0gZnJvbSBcIkByZWN1cnN5dmUvbmVzdGpzLWNvbW1vblwiO1xuaW1wb3J0IHtcbiAgICBBYnN0cmFjdERhdGFUeXBlQ29uc3RydWN0b3IsXG4gICAgRmluZEF0dHJpYnV0ZU9wdGlvbnMsXG4gICAgSW5jbHVkZWFibGUsXG4gICAgSW5jbHVkZU9wdGlvbnMsXG4gICAgT3AsXG4gICAgT3JkZXIsXG4gICAgT3JkZXJJdGVtLFxuICAgIFdoZXJlT3B0aW9uc1xufSBmcm9tIFwic2VxdWVsaXplXCI7XG5pbXBvcnQgeyBNb2RlbCB9IGZyb20gXCJzZXF1ZWxpemUtdHlwZXNjcmlwdFwiO1xuaW1wb3J0IHsgUHJvamVjdGlvbkFsaWFzLCBXaGVyZUF0dHJpYnV0ZUhhc2hWYWx1ZSB9IGZyb20gXCJzZXF1ZWxpemUvdHlwZXMvbW9kZWxcIjtcbmltcG9ydCB7IFJ1bGVNb2RlbCB9IGZyb20gXCIuL2ZpbHRlclwiO1xuaW1wb3J0IHsgSW5jbHVkZVdoZXJlTW9kZWwgfSBmcm9tIFwiLi9tb2RlbHMvaW5jbHVkZS5tb2RlbFwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEdlb1BvaW50IHtcbiAgICB0eXBlOiBcInBvaW50XCIsXG4gICAgY29vcmRpbmF0ZXM6IG51bWJlcltdO1xufVxuXG5leHBvcnQgY2xhc3MgTSBleHRlbmRzIE1vZGVsIHt9XG5cbmV4cG9ydCBjbGFzcyBTZXF1ZWxpemVVdGlscyB7XG4gICAgcHVibGljIHN0YXRpYyByZWR1Y2VJbmNsdWRlcyhpbmNsdWRlczogQXJyYXk8SW5jbHVkZU9wdGlvbnMgfCBJbmNsdWRlT3B0aW9uc1tdPiwgaWdub3JlQXR0cmlidXRlcyA9IGZhbHNlKTogSW5jbHVkZWFibGVbXSB7XG4gICAgICAgIGxldCBpbmNsdWRlOiBJbmNsdWRlT3B0aW9uc1tdID0gW107XG4gICAgICAgIGZvciAoY29uc3QgaSBvZiBpbmNsdWRlcykge1xuICAgICAgICAgICAgaW5jbHVkZSA9IHRoaXMubWVyZ2VJbmNsdWRlcyhpbmNsdWRlLCBpLCBpZ25vcmVBdHRyaWJ1dGVzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBpbmNsdWRlO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgbWVyZ2VJbmNsdWRlcyhhOiBJbmNsdWRlT3B0aW9ucyB8IEluY2x1ZGVPcHRpb25zW10gPSBbXSwgYjogSW5jbHVkZU9wdGlvbnMgfCBJbmNsdWRlT3B0aW9uc1tdID0gW10sIGlnbm9yZUF0dHJpYnV0ZXMgPSBmYWxzZSkge1xuICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkoYSkpIHtcbiAgICAgICAgICAgIGEgPSBbYV07XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkoYikpIHtcbiAgICAgICAgICAgIGIgPSBbYl07XG4gICAgICAgIH1cblxuICAgICAgICBmb3IgKGNvbnN0IGJDaGlsZCBvZiBiKSB7XG4gICAgICAgICAgICBjb25zdCBhQ2hpbGQgPSBhLmZpbmQodmFsdWUgPT4gdmFsdWUubW9kZWwgPT09IGJDaGlsZC5tb2RlbCAmJiB2YWx1ZS5hcyA9PT0gYkNoaWxkLmFzKTtcbiAgICAgICAgICAgIGlmIChhQ2hpbGQpIHtcbiAgICAgICAgICAgICAgICBhQ2hpbGQuaW5jbHVkZSA9IHRoaXMubWVyZ2VJbmNsdWRlcyhcbiAgICAgICAgICAgICAgICAgICAgKGFDaGlsZC5pbmNsdWRlIGFzIEluY2x1ZGVPcHRpb25zW10pID8/IFtdLFxuICAgICAgICAgICAgICAgICAgICAoYkNoaWxkLmluY2x1ZGUgYXMgSW5jbHVkZU9wdGlvbnNbXSkgPz8gW10sXG4gICAgICAgICAgICAgICAgICAgIGlnbm9yZUF0dHJpYnV0ZXNcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGlmICgoYUNoaWxkLmF0dHJpYnV0ZXMgfHwgYkNoaWxkLmF0dHJpYnV0ZXMpICYmICFpZ25vcmVBdHRyaWJ1dGVzKSB7XG4gICAgICAgICAgICAgICAgICAgIGFDaGlsZC5hdHRyaWJ1dGVzID0gdGhpcy5tZXJnZUF0dHJpYnV0ZXMoYUNoaWxkLmF0dHJpYnV0ZXMsIGJDaGlsZC5hdHRyaWJ1dGVzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY29uc3Qgd2hlcmUgPSB0aGlzLm1lcmdlV2hlcmUoYUNoaWxkLndoZXJlLCBiQ2hpbGQud2hlcmUpO1xuICAgICAgICAgICAgICAgIGlmICh3aGVyZSkge1xuICAgICAgICAgICAgICAgICAgICBhQ2hpbGQud2hlcmUgPSB3aGVyZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY29uc3Qgb3JkZXIgPSB0aGlzLm1lcmdlT3JkZXIoYUNoaWxkLm9yZGVyLCBiQ2hpbGQub3JkZXIpO1xuICAgICAgICAgICAgICAgIGlmIChvcmRlcikge1xuICAgICAgICAgICAgICAgICAgICBhQ2hpbGQub3JkZXIgPSBvcmRlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGFDaGlsZC5yZXF1aXJlZCB8fCBiQ2hpbGQucmVxdWlyZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgYUNoaWxkLnJlcXVpcmVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGFDaGlsZC5zZXBhcmF0ZSB8fCBiQ2hpbGQuc2VwYXJhdGUpIHtcbiAgICAgICAgICAgICAgICAgICAgYUNoaWxkLnNlcGFyYXRlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGJDaGlsZC5saW1pdCkge1xuICAgICAgICAgICAgICAgICAgICBhQ2hpbGQubGltaXQgPz89IGJDaGlsZC5saW1pdDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYUNoaWxkLnBhcmFub2lkID0gIShhQ2hpbGQucGFyYW5vaWQgPT09IGZhbHNlIHx8IGJDaGlsZC5wYXJhbm9pZCA9PT0gZmFsc2UpO1xuICAgICAgICAgICAgICAgIGlmIChUeXBlVXRpbHMuaXNOb3ROdWxsT3JVbmRlZmluZWQoYUNoaWxkLnN1YlF1ZXJ5KSB8fCBUeXBlVXRpbHMuaXNOb3ROdWxsT3JVbmRlZmluZWQoYkNoaWxkLnN1YlF1ZXJ5KSkge1xuICAgICAgICAgICAgICAgICAgICBhQ2hpbGQuc3ViUXVlcnkgPSBhQ2hpbGQuc3ViUXVlcnkgPz8gYkNoaWxkLnN1YlF1ZXJ5O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgYS5wdXNoKGJDaGlsZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIG1lcmdlQXR0cmlidXRlcyhhOiBGaW5kQXR0cmlidXRlT3B0aW9ucyB8IHVuZGVmaW5lZCwgYjogRmluZEF0dHJpYnV0ZU9wdGlvbnMgfCB1bmRlZmluZWQpOiBGaW5kQXR0cmlidXRlT3B0aW9ucyB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHR5cGUgQXR0ciA9IHsgZXhjbHVkZT86IHN0cmluZ1tdOyBpbmNsdWRlPzogKHN0cmluZyB8IFByb2plY3Rpb25BbGlhcylbXTsgfTtcblxuICAgICAgICBpZiAoYSBpbnN0YW5jZW9mIEFycmF5ICYmIGIgaW5zdGFuY2VvZiBBcnJheSkge1xuICAgICAgICAgICAgcmV0dXJuIEFycmF5VXRpbHMudW5pcXVlVmFsdWVzKFsuLi5hLCAuLi5iLCBcImlkXCJdLCB4ID0+IHgpO1xuICAgICAgICB9IGVsc2UgaWYgKGEgfHwgYikge1xuICAgICAgICAgICAgY29uc3QgYUF0dHJpYnV0ZXMgPSAoYSA/PyB7fSkgYXMgQXR0cjtcbiAgICAgICAgICAgIGNvbnN0IGJBdHRyaWJ1dGVzID0gKGIgPz8ge30pIGFzIEF0dHI7XG5cbiAgICAgICAgICAgIGlmIChhQXR0cmlidXRlcy5pbmNsdWRlICYmICFiKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChiQXR0cmlidXRlcy5pbmNsdWRlICYmICFhKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChhIGluc3RhbmNlb2YgQXJyYXkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBiQXR0ciA9IChiID8/IHt9KSBhcyBBdHRyO1xuICAgICAgICAgICAgICAgIGlmIChiQXR0ci5pbmNsdWRlPy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEFycmF5VXRpbHMudW5pcXVlVmFsdWVzKFsuLi5hLCAuLi5iQXR0ci5pbmNsdWRlLCBcImlkXCJdLCB4ID0+IHgpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiBiID8gQXJyYXlVdGlscy51bmlxdWVWYWx1ZXMoWy4uLmEsIFwiaWRcIl0sIHggPT4geCkgOiBiO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoYiBpbnN0YW5jZW9mIEFycmF5KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgYUF0dHIgPSAoYSA/PyB7fSkgYXMgQXR0cjtcbiAgICAgICAgICAgICAgICBpZiAoYUF0dHIuaW5jbHVkZT8ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBBcnJheVV0aWxzLnVuaXF1ZVZhbHVlcyhbLi4uYiwgLi4uYUF0dHIuaW5jbHVkZSwgXCJpZFwiXSwgeCA9PiB4KTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gYSA/IEFycmF5VXRpbHMudW5pcXVlVmFsdWVzKFsuLi5iLCBcImlkXCJdLCB4ID0+IHgpIDogYTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgcmVzdWx0OiBBdHRyID0ge307XG4gICAgICAgICAgICBpZiAoYUF0dHJpYnV0ZXMuaW5jbHVkZT8ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0LmluY2x1ZGUgPSBbLi4uYUF0dHJpYnV0ZXMuaW5jbHVkZV07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoYkF0dHJpYnV0ZXMuaW5jbHVkZT8ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0LmluY2x1ZGUgPSBbLi4uKHJlc3VsdC5pbmNsdWRlID8/IFtdKSwgLi4uYkF0dHJpYnV0ZXMuaW5jbHVkZV07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChhQXR0cmlidXRlcy5leGNsdWRlPy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICByZXN1bHQuZXhjbHVkZSA9IFsuLi5hQXR0cmlidXRlcy5leGNsdWRlXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChiQXR0cmlidXRlcy5leGNsdWRlPy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICByZXN1bHQuZXhjbHVkZSA9IFsuLi4ocmVzdWx0LmV4Y2x1ZGUgPz8gW10pLCAuLi5iQXR0cmlidXRlcy5leGNsdWRlXTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHJlc3VsdC5pbmNsdWRlKSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0LmluY2x1ZGUgPSBBcnJheVV0aWxzLnVuaXF1ZVZhbHVlcyhyZXN1bHQuaW5jbHVkZSwgeCA9PiB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChyZXN1bHQuZXhjbHVkZSkge1xuICAgICAgICAgICAgICAgIHJlc3VsdC5leGNsdWRlID0gQXJyYXlVdGlscy51bmlxdWVWYWx1ZXMocmVzdWx0LmV4Y2x1ZGUsIHggPT4geCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICghcmVzdWx0LmluY2x1ZGUgJiYgIXJlc3VsdC5leGNsdWRlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdCBhcyBGaW5kQXR0cmlidXRlT3B0aW9ucztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZW5zdXJlQXR0cmlidXRlc1ZhbGlkaXR5KGF0dHJpYnV0ZTogRmluZEF0dHJpYnV0ZU9wdGlvbnMpOiBGaW5kQXR0cmlidXRlT3B0aW9ucyB7XG4gICAgICAgIGlmIChhdHRyaWJ1dGUgaW5zdGFuY2VvZiBBcnJheSkge1xuICAgICAgICAgICAgaWYgKGF0dHJpYnV0ZS5maW5kKCh4KSA9PiB4ID09PSBcImlkXCIpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGF0dHJpYnV0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAgICAgXCJpZFwiLFxuICAgICAgICAgICAgICAgIC4uLmF0dHJpYnV0ZVxuICAgICAgICAgICAgXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChhdHRyaWJ1dGUuZXhjbHVkZSkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBleGNsdWRlOiBhdHRyaWJ1dGUuZXhjbHVkZS5maWx0ZXIoKHgpID0+IHggIT09IFwiaWRcIilcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYXR0cmlidXRlO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgbWVyZ2VXaGVyZShhOiBXaGVyZU9wdGlvbnMgfCB1bmRlZmluZWQsIGI6IFdoZXJlT3B0aW9ucyB8IHVuZGVmaW5lZCk6IFdoZXJlT3B0aW9ucyB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGlmICghYSAmJiAhYikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKGEgPz8ge30sIGIgPz8ge30pO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgbWVyZ2VPcmRlcihhOiBPcmRlciB8IHVuZGVmaW5lZCwgYjogT3JkZXIgfCB1bmRlZmluZWQpOiBPcmRlciB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGlmICghYSAmJiAhYikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChhICYmICFiKSB7XG4gICAgICAgICAgICByZXR1cm4gYTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWEgJiYgYikge1xuICAgICAgICAgICAgcmV0dXJuIGI7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByZXM6IE9yZGVySXRlbVtdID0gW107XG4gICAgICAgIGlmIChhIGluc3RhbmNlb2YgQXJyYXkpIHtcbiAgICAgICAgICAgIHJlcy5wdXNoKC4uLmEpO1xuICAgICAgICB9IGVsc2UgaWYgKGEpIHtcbiAgICAgICAgICAgIHJlcy5wdXNoKGEpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChiIGluc3RhbmNlb2YgQXJyYXkpIHtcbiAgICAgICAgICAgIHJlcy5wdXNoKC4uLmIpO1xuICAgICAgICB9IGVsc2UgaWYgKGIpIHtcbiAgICAgICAgICAgIHJlcy5wdXNoKGIpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXM7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBnZW5lcmF0ZVdoZXJlVmFsdWUocnVsZTogUnVsZU1vZGVsKTogV2hlcmVBdHRyaWJ1dGVIYXNoVmFsdWU8YW55PiB7XG4gICAgICAgIHN3aXRjaCAocnVsZS5vcGVyYXRpb24pIHtcbiAgICAgICAgICAgIGNhc2UgXCJlcXVhbFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBydWxlLnZhbHVlIGFzIGFueTtcblxuICAgICAgICAgICAgY2FzZSBcIm5vdF9lcXVhbFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiB7IFtPcC5uZV06IHJ1bGUudmFsdWUgfTtcblxuICAgICAgICAgICAgY2FzZSBcImluXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgW09wLmluXTogcnVsZS52YWx1ZSBhcyBhbnlbXSB9O1xuXG4gICAgICAgICAgICBjYXNlIFwibm90X2luXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgW09wLm5vdEluXTogcnVsZS52YWx1ZSBhcyBhbnlbXSB9O1xuXG4gICAgICAgICAgICBjYXNlIFwibGVzc1wiOlxuICAgICAgICAgICAgICAgIHJldHVybiB7IFtPcC5sdF06IHJ1bGUudmFsdWUgYXMgYW55IH07XG5cbiAgICAgICAgICAgIGNhc2UgXCJsZXNzX29yX2VxdWFsXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgW09wLmx0ZV06IHJ1bGUudmFsdWUgYXMgYW55IH07XG5cbiAgICAgICAgICAgIGNhc2UgXCJncmVhdGVyXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgW09wLmd0XTogcnVsZS52YWx1ZSBhcyBhbnkgfTtcblxuICAgICAgICAgICAgY2FzZSBcImdyZWF0ZXJfb3JfZXF1YWxcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4geyBbT3AuZ3RlXTogcnVsZS52YWx1ZSBhcyBhbnkgfTtcblxuICAgICAgICAgICAgY2FzZSBcImJldHdlZW5cIjpcbiAgICAgICAgICAgICAgICByZXR1cm4geyBbT3AuYmV0d2Vlbl06IHJ1bGUudmFsdWUgYXMgYW55IH07XG5cbiAgICAgICAgICAgIGNhc2UgXCJub3RfYmV0d2VlblwiOlxuICAgICAgICAgICAgICAgIHJldHVybiB7IFtPcC5ub3RCZXR3ZWVuXTogcnVsZS52YWx1ZSBhcyBhbnkgfTtcblxuICAgICAgICAgICAgY2FzZSBcImlzX251bGxcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4geyBbT3AuZXFdOiBudWxsIH07XG5cbiAgICAgICAgICAgIGNhc2UgXCJpc19ub3RfbnVsbFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiB7IFtPcC5uZV06IG51bGwgfTtcblxuICAgICAgICAgICAgY2FzZSBcImJlZ2luc193aXRoXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgW09wLmxpa2VdOiBgJHtydWxlLnZhbHVlfSVgIH07XG5cbiAgICAgICAgICAgIGNhc2UgXCJub3RfYmVnaW5zX3dpdGhcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4geyBbT3Aubm90TGlrZV06IGAke3J1bGUudmFsdWV9JWAgfTtcblxuICAgICAgICAgICAgY2FzZSBcImNvbnRhaW5zXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgW09wLmxpa2VdOiBgJSR7cnVsZS52YWx1ZX0lYCB9O1xuXG4gICAgICAgICAgICBjYXNlIFwibm90X2NvbnRhaW5zXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgW09wLm5vdExpa2VdOiBgJSR7cnVsZS52YWx1ZX0lYCB9O1xuXG4gICAgICAgICAgICBjYXNlIFwiZW5kc193aXRoXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgW09wLmxpa2VdOiBgJSR7cnVsZS52YWx1ZX1gIH07XG5cbiAgICAgICAgICAgIGNhc2UgXCJub3RfZW5kc193aXRoXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgW09wLm5vdExpa2VdOiBgJSR7cnVsZS52YWx1ZX1gIH07XG5cbiAgICAgICAgICAgIGNhc2UgXCJpc19lbXB0eVwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBcIlwiO1xuXG4gICAgICAgICAgICBjYXNlIFwiaXNfbm90X2VtcHR5XCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgW09wLm5lXTogXCJcIiB9O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBnZXRBdHRyaWJ1dGVGdWxsTmFtZShhdHRyaWJ1dGU6IHN0cmluZywgcGF0aDogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiBgJCR7cGF0aH0uJHthdHRyaWJ1dGV9JGA7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBnZXRMaXRlcmFsRnVsbE5hbWUoYXR0cmlidXRlOiBzdHJpbmcsIHBhdGg6IHN0cmluZyB8IHN0cmluZ1tdKSB7XG4gICAgICAgIGlmICh0eXBlb2YgcGF0aCA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgICAgcGF0aCA9IHBhdGguc3BsaXQoXCIuXCIpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBgXFxgJHtwYXRoLmpvaW4oXCItPlwiKX1cXGAuXFxgJHthdHRyaWJ1dGV9XFxgYDtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldE9yZGVyRnVsbE5hbWUoYXR0cmlidXRlOiBzdHJpbmcsIHBhdGg6IHN0cmluZ1tdKSB7XG4gICAgICAgIHJldHVybiBgJHtwYXRoLmpvaW4oXCItPlwiKX0uJHthdHRyaWJ1dGV9YDtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldE1vZGVsU2VhcmNoYWJsZUF0dHJpYnV0ZXMobW9kZWw6IHR5cGVvZiBNKTogc3RyaW5nW10ge1xuICAgICAgICByZXR1cm4gT2JqZWN0LmtleXMobW9kZWwucmF3QXR0cmlidXRlcykuZmlsdGVyKFxuICAgICAgICAgICAgYSA9PiAhW1wiREFURVwiLCBcIkRBVEVPTkxZXCIsIFwiVklSVFVBTFwiXS5zb21lKHQgPT4gdCA9PT0gKG1vZGVsLnJhd0F0dHJpYnV0ZXNbYV0udHlwZSBhcyBBYnN0cmFjdERhdGFUeXBlQ29uc3RydWN0b3IpLmtleSlcbiAgICAgICAgKS5tYXAoeCA9PiB7XG4gICAgICAgICAgICBjb25zdCBhdHRyID0gbW9kZWwucmF3QXR0cmlidXRlc1t4XTtcbiAgICAgICAgICAgIGlmICghYXR0cikge1xuICAgICAgICAgICAgICAgIHJldHVybiB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGF0dHIuZmllbGQgPyBhdHRyLmZpZWxkIDogeDtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBnZXRNb2RlbFNlYXJjaGFibGVGaWVsZEF0dHJpYnV0ZXMobW9kZWw6IHR5cGVvZiBNLCBmaWVsZHM6IHN0cmluZ1tdKTogc3RyaW5nW10ge1xuICAgICAgICBjb25zdCBhdHRyaWJ1dGVzID0gbW9kZWwucmF3QXR0cmlidXRlcztcbiAgICAgICAgcmV0dXJuIGZpZWxkc1xuICAgICAgICAgICAgLmZpbHRlcih4ID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBhdHRyID0gYXR0cmlidXRlc1t4XTtcbiAgICAgICAgICAgICAgICBpZiAoIWF0dHIpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiAhW1wiREFURVwiLCBcIkRBVEVPTkxZXCIsIFwiVklSVFVBTFwiXS5zb21lKHQgPT4gdCA9PT0gKGF0dHIudHlwZSBhcyBBYnN0cmFjdERhdGFUeXBlQ29uc3RydWN0b3IpLmtleSk7XG4gICAgICAgICAgICB9KS5tYXAoeCA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgYXR0ciA9IGF0dHJpYnV0ZXNbeF07XG4gICAgICAgICAgICAgICAgaWYgKCFhdHRyKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiBhdHRyLmZpZWxkID8gYXR0ci5maWVsZCA6IHg7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIHJlZHVjZU1vZGVsRnJvbVBhdGgobW9kZWw6IE0sIHBhdGg6IHN0cmluZyk6IE0gfCBudWxsIHtcbiAgICAgICAgY29uc3Qgc3RlcHMgPSBwYXRoLnNwbGl0KFwiLlwiKTtcblxuICAgICAgICBsZXQgc3RlcCA9IHN0ZXBzLnNoaWZ0KCk7XG4gICAgICAgIHdoaWxlIChzdGVwKSB7XG4gICAgICAgICAgICBpZiAoKG1vZGVsIGFzIGFueSlbc3RlcF0gaW5zdGFuY2VvZiBBcnJheSkge1xuICAgICAgICAgICAgICAgIGlmICghc3RlcHMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAobW9kZWwgYXMgYW55KVtzdGVwXTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gKChtb2RlbCBhcyBhbnkpW3N0ZXBdIGFzIEFycmF5PGFueT4pXG4gICAgICAgICAgICAgICAgICAgIC5tYXAoeCA9PiB0aGlzLnJlZHVjZU1vZGVsRnJvbVBhdGgoeCwgc3RlcHMuam9pbihcIi5cIikpKVxuICAgICAgICAgICAgICAgICAgICAucmVkdWNlKChhbGw6IGFueSwgY3VycmVudCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGN1cnJlbnQgaW5zdGFuY2VvZiBBcnJheSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBbLi4uYWxsLCAuLi5jdXJyZW50XTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBbLi4uYWxsLCBjdXJyZW50XTtcbiAgICAgICAgICAgICAgICAgICAgfSwgW10pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBtb2RlbCA9IChtb2RlbCBhcyBhbnkpW3N0ZXBdO1xuICAgICAgICAgICAgaWYgKCFtb2RlbCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzdGVwID0gc3RlcHMuc2hpZnQoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBtb2RlbDtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGZpbmRDb2x1bW5GaWVsZE5hbWUobW9kZWw6IHR5cGVvZiBNLCBuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBmaWVsZCA9IE9iamVjdC5rZXlzKG1vZGVsLnJhd0F0dHJpYnV0ZXMpLmZpbmQoKGtleSkgPT4ge1xuICAgICAgICAgICAgaWYgKGtleSA9PT0gbmFtZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gKG1vZGVsLnJhd0F0dHJpYnV0ZXMgYXMgYW55KVtrZXldLmZpZWxkID09PSBuYW1lO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIChtb2RlbC5yYXdBdHRyaWJ1dGVzIGFzIGFueSlbZmllbGQgYXMgc3RyaW5nXS5maWVsZCA/PyBuYW1lO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgaXNDb2x1bW5Kc29uKG1vZGVsOiB0eXBlb2YgTSwgbmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IGF0dHIgPSBtb2RlbC5yYXdBdHRyaWJ1dGVzW25hbWVdID8/IE9iamVjdC52YWx1ZXMobW9kZWwucmF3QXR0cmlidXRlcykuZmluZCgoeCkgPT4geC5maWVsZCA9PT0gbmFtZSk7XG4gICAgICAgIHJldHVybiAoYXR0cj8udHlwZSBhcyBBYnN0cmFjdERhdGFUeXBlQ29uc3RydWN0b3IpPy5rZXkgPT09IFwiSlNPTlwiO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0R3JvdXBMaXRlcmFsKG1vZGVsOiB0eXBlb2YgTSwgZ3JvdXA6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGl0ZW1zID0gZ3JvdXAuc3BsaXQoXCIuXCIpO1xuICAgICAgICBpZiAoaXRlbXMubGVuZ3RoID4gMSkge1xuICAgICAgICAgICAgY29uc3QgY29sdW1uID0gaXRlbXNbaXRlbXMubGVuZ3RoIC0gMV07XG4gICAgICAgICAgICByZXR1cm4gU2VxdWVsaXplVXRpbHMuZ2V0TGl0ZXJhbEZ1bGxOYW1lKGNvbHVtbiwgaXRlbXMuc2xpY2UoMCwgaXRlbXMubGVuZ3RoIC0gMSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGBcXGAke21vZGVsLm5hbWV9XFxgLlxcYCR7Z3JvdXB9XFxgYDtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGdlbmVyYXRlV2hlcmVDb25kaXRpb25zKG1vZGVsOiBJbmNsdWRlV2hlcmVNb2RlbCwgb3B0aW9ucz86IG9iamVjdCk6IFdoZXJlT3B0aW9ucyB7XG4gICAgICAgIGNvbnN0IHdoZXJlID0ge307XG4gICAgICAgIGNvbnN0IGtleXMgPSBbXG4gICAgICAgICAgICAuLi5PYmplY3Qua2V5cyhtb2RlbCksXG4gICAgICAgICAgICAuLi5PYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKG1vZGVsKVxuICAgICAgICBdO1xuICAgICAgICBmb3IgKGNvbnN0IGtleSBvZiBrZXlzKSB7XG4gICAgICAgICAgICBpZiAoIW1vZGVsLmhhc093blByb3BlcnR5KGtleSkpIHtcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBtb2RlbFtrZXkgYXMgYW55XShvcHRpb25zKTtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgdmFsdWUgIT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgICAgICAgICAgICAod2hlcmUgYXMgYW55KVtrZXldID0gdmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gd2hlcmU7XG4gICAgfVxufVxuIl19
|
|
@@ -58,5 +58,3 @@ exports.DataFilterValidationService = DataFilterValidationService = DataFilterVa
|
|
|
58
58
|
__param(0, (0, common_1.Inject)(constant_1.VALIDATE_DATA)),
|
|
59
59
|
__metadata("design:paramtypes", [Boolean, data_filter_service_1.DataFilterService])
|
|
60
60
|
], DataFilterValidationService);
|
|
61
|
-
|
|
62
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2xpYi9zZXJ2aWNlcy9kYXRhLWZpbHRlci12YWxpZGF0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDJDQUFnRjtBQUNoRixnRUFBMkQ7QUFDM0QsMENBQTRDO0FBQzVDLHlFQUFvRTtBQUNwRSx5Q0FBK0Q7QUFHeEQsSUFBTSwyQkFBMkIsbUNBQWpDLE1BQU0sMkJBQTJCO0lBR3BDLFlBQW1DLFlBQTZCLEVBQVUsaUJBQW9DO1FBQW5FLGlCQUFZLEdBQVosWUFBWSxDQUFTO1FBQVUsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUZ0RyxXQUFNLEdBQUcsSUFBSSxlQUFNLENBQUMsNkJBQTJCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFHOUQsQ0FBQztJQUVNLEtBQUssQ0FBQyxZQUFZO1FBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLHlCQUF5QixDQUFDLENBQUM7WUFDM0MsT0FBTztTQUNWO1FBRUQsTUFBTSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRU8sS0FBSyxDQUFDLG1CQUFtQjtRQUM3QixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBRTVDLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyx1Q0FBaUIsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUV4RyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFTyxLQUFLLENBQUMsa0JBQWtCLENBQUMsVUFBa0I7UUFDL0MsSUFBSTtZQUNBLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxVQUFrQixDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7U0FDcEY7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNSLE1BQU0sVUFBVSxHQUFJLFVBQW1CLENBQUMsSUFBSSxDQUFDO1lBQzdDLElBQUksQ0FBQyxZQUFZLHlCQUFhLElBQUksQ0FBQyxZQUFZLCtCQUFtQixFQUFFO2dCQUNoRSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxnQ0FBZ0MsVUFBVSxNQUFNLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO2FBQ2xGO2lCQUFNO2dCQUNILElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLGdDQUFnQyxVQUFVLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUMxRTtTQUNKO0lBQ0wsQ0FBQztDQUNKLENBQUE7QUFuQ1ksa0VBQTJCO3NDQUEzQiwyQkFBMkI7SUFEdkMsSUFBQSxtQkFBVSxHQUFFO0lBSUksV0FBQSxJQUFBLGVBQU0sRUFBQyx3QkFBYSxDQUFDLENBQUE7OENBQTJELHVDQUFpQjtHQUhyRywyQkFBMkIsQ0FtQ3ZDIiwiZmlsZSI6ImxpYi9zZXJ2aWNlcy9kYXRhLWZpbHRlci12YWxpZGF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIExvZ2dlciwgT25Nb2R1bGVJbml0LCBUeXBlIH0gZnJvbSBcIkBuZXN0anMvY29tbW9uXCI7XG5pbXBvcnQgeyBEYXRhRmlsdGVyU2VydmljZSB9IGZyb20gXCIuLi9kYXRhLWZpbHRlci5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBWQUxJREFURV9EQVRBIH0gZnJvbSBcIi4uL2NvbnN0YW50XCI7XG5pbXBvcnQgeyBEYXRhRmlsdGVySGFuZGxlciB9IGZyb20gXCIuLi9oYW5kbGVycy9kYXRhLWZpbHRlci5oYW5kbGVyXCI7XG5pbXBvcnQgeyBEYXRhYmFzZUVycm9yLCBWYWxpZGF0aW9uRXJyb3JJdGVtIH0gZnJvbSBcInNlcXVlbGl6ZVwiO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRGF0YUZpbHRlclZhbGlkYXRpb25TZXJ2aWNlIGltcGxlbWVudHMgT25Nb2R1bGVJbml0IHtcbiAgICBwcml2YXRlIGxvZ2dlciA9IG5ldyBMb2dnZXIoRGF0YUZpbHRlclZhbGlkYXRpb25TZXJ2aWNlLm5hbWUpO1xuXG4gICAgY29uc3RydWN0b3IoQEluamVjdChWQUxJREFURV9EQVRBKSBwcml2YXRlIHZhbGlkYXRlRGF0YTogYm9vbGVhbiwgcHJpdmF0ZSBkYXRhRmlsdGVyU2VydmljZTogRGF0YUZpbHRlclNlcnZpY2UpIHtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgb25Nb2R1bGVJbml0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBpZiAoIXRoaXMudmFsaWRhdGVEYXRhKSB7XG4gICAgICAgICAgICB0aGlzLmxvZ2dlci5sb2coXCJTa2lwcGVkIGRhdGEgdmFsaWRhdGlvblwiKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGF3YWl0IHRoaXMudmFsaWRhdGVEYXRhVGFyZ2V0cygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgdmFsaWRhdGVEYXRhVGFyZ2V0cygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgdGhpcy5sb2dnZXIubG9nKFwiU3RhcnRpbmcgZGF0YSB2YWxpZGF0aW9uXCIpO1xuXG4gICAgICAgIGF3YWl0IFByb21pc2UuYWxsKERhdGFGaWx0ZXJIYW5kbGVyLmRhdGFUYXJnZXRzLm1hcChkYXRhVGFyZ2V0ID0+IHRoaXMudmFsaWRhdGVEYXRhVGFyZ2V0KGRhdGFUYXJnZXQpKSk7XG5cbiAgICAgICAgdGhpcy5sb2dnZXIubG9nKFwiQ29tcGxldGVkIGRhdGEgdmFsaWRhdGlvblwiKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFzeW5jIHZhbGlkYXRlRGF0YVRhcmdldChkYXRhVGFyZ2V0OiBPYmplY3QpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuZGF0YUZpbHRlclNlcnZpY2UuZm9yKGRhdGFUYXJnZXQgYXMgVHlwZSkuZmluZE9uZSh7IGxvZ2dpbmc6IGZhbHNlIH0pO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICBjb25zdCB0YXJnZXROYW1lID0gKGRhdGFUYXJnZXQgYXMgVHlwZSkubmFtZTtcbiAgICAgICAgICAgIGlmIChlIGluc3RhbmNlb2YgRGF0YWJhc2VFcnJvciB8fCBlIGluc3RhbmNlb2YgVmFsaWRhdGlvbkVycm9ySXRlbSkge1xuICAgICAgICAgICAgICAgIHRoaXMubG9nZ2VyLmVycm9yKGBFcnJvciB3aGlsZSB2YWxpZGF0aW5nIGRhdGEgJyR7dGFyZ2V0TmFtZX0nOiAke2UubWVzc2FnZX1gKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2dnZXIuZXJyb3IoYEVycm9yIHdoaWxlIHZhbGlkYXRpbmcgZGF0YSAnJHt0YXJnZXROYW1lfSc6ICR7ZX1gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
package/lib/utils/csv.utils.d.ts
CHANGED
package/lib/utils/csv.utils.js
CHANGED
|
@@ -22,5 +22,3 @@ class CsvUtils {
|
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
24
|
exports.CsvUtils = CsvUtils;
|
|
25
|
-
|
|
26
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2xpYi91dGlscy9jc3YudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNERBQXVEO0FBQ3ZELGlEQUEwQztBQUMxQywrQkFBaUM7QUFFakMsTUFBYSxRQUFRO0lBQ1YsTUFBTSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFjLEVBQUUsTUFBaUI7UUFDbEUsNkJBQTZCO1FBQzdCLElBQUksR0FBRyxHQUFZLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFXLEVBQUUsRUFBRTtZQUN4Qyw0QkFBNEI7WUFDNUIsMkJBQVcsQ0FBQyxlQUFlLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBVSxFQUFFLEVBQUU7Z0JBQzVDLE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztZQUNqQyxDQUFDLENBQUMsQ0FBQztZQUVILE9BQU8sMkJBQVcsQ0FBQyx5QkFBeUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN0RCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksTUFBTSxFQUFFO1lBQ1IsR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUN2QjtRQUVELE1BQU0sWUFBWSxHQUFHLElBQUEsZ0JBQVMsRUFBa0IseUJBQVMsQ0FBQyxDQUFDO1FBQzNELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ2hELENBQUM7Q0FDSjtBQW5CRCw0QkFtQkMiLCJmaWxlIjoibGliL3V0aWxzL2Nzdi51dGlscy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9iamVjdFV0aWxzIH0gZnJvbSBcIkByZWN1cnN5dmUvbmVzdGpzLWNvbW1vblwiO1xuaW1wb3J0IHsgc3RyaW5naWZ5IH0gZnJvbSBcImNzdi1zdHJpbmdpZnlcIjtcbmltcG9ydCB7IHByb21pc2lmeSB9IGZyb20gXCJ1dGlsXCI7XG5cbmV4cG9ydCBjbGFzcyBDc3ZVdGlscyB7XG4gICAgcHVibGljIHN0YXRpYyBhc3luYyBhcnJheVRvQ3N2QnVmZmVyKHJvd3M6IE9iamVjdFtdLCBoZWFkZXI/OiBzdHJpbmdbXSk6IFByb21pc2U8QnVmZmVyPiB7XG4gICAgICAgIC8vIENvbnZlcnQgdG8gYXJyYXkgb2YgYXJyYXkuXG4gICAgICAgIGxldCBhb2E6IGFueVtdW10gPSByb3dzLm1hcCgocm93OiBPYmplY3QpID0+IHtcbiAgICAgICAgICAgIC8vIFJlcGxhY2UgdW5kZWZpbmVkIHZhbHVlcy5cbiAgICAgICAgICAgIE9iamVjdFV0aWxzLmZvckVhY2hQcm9wZXJ0eShyb3csICh2YWx1ZTogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlID8gdmFsdWUgOiBcIk4vQVwiO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHJldHVybiBPYmplY3RVdGlscy5vYmplY3RUb0FycmF5T2ZQcm9wZXJ0aWVzKHJvdyk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmIChoZWFkZXIpIHtcbiAgICAgICAgICAgIGFvYS51bnNoaWZ0KGhlYWRlcik7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjc3ZBc1Byb21pc2UgPSBwcm9taXNpZnk8YW55W11bXSwgc3RyaW5nPihzdHJpbmdpZnkpO1xuICAgICAgICByZXR1cm4gQnVmZmVyLmZyb20oYXdhaXQgY3N2QXNQcm9taXNlKGFvYSkpO1xuICAgIH1cbn1cbiJdfQ==
|
package/lib/utils/xlsx.utils.js
CHANGED
|
@@ -32,5 +32,3 @@ class XlsxUtils {
|
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
34
|
exports.XlsxUtils = XlsxUtils;
|
|
35
|
-
|
|
36
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2xpYi91dGlscy94bHN4LnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDREQUF1RDtBQUN2RCw2QkFBNkI7QUFFN0IsTUFBYSxTQUFTO0lBQ1gsTUFBTSxDQUFDLGlCQUFpQixDQUFDLElBQWMsRUFBRSxJQUFZLEVBQUUsTUFBaUI7UUFDM0UsNkNBQTZDO1FBQzdDLElBQUksQ0FBQSxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUUsTUFBTSxJQUFHLEVBQUUsRUFBRTtZQUNuQixJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7U0FDN0I7UUFFRCw2QkFBNkI7UUFDN0IsTUFBTSxHQUFHLEdBQVksSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQVcsRUFBRSxFQUFFO1lBQzFDLDRCQUE0QjtZQUM1QiwyQkFBVyxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFVLEVBQUUsRUFBRTtnQkFDNUMsT0FBTyxLQUFLLEtBQUssSUFBSSxJQUFJLEtBQUssS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1lBQ2pFLENBQUMsQ0FBQyxDQUFDO1lBRUgsT0FBTywyQkFBVyxDQUFDLHlCQUF5QixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3RELENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxNQUFNLEVBQUU7WUFDUixHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ3ZCO1FBRUQsSUFBSSxLQUFLLEdBQTJCLEVBQUUsQ0FBQztRQUN2QyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFM0MsSUFBSSxXQUFXLEdBQVcsSUFBSSxDQUFDLEtBQUssQ0FDaEM7WUFDSSxNQUFNLEVBQUUsS0FBSztZQUNiLFVBQVUsRUFBRSxDQUFDLElBQUksQ0FBQztTQUNyQixFQUNEO1lBQ0ksSUFBSSxFQUFFLFFBQVE7U0FDakIsQ0FDSixDQUFDO1FBRUYsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUM5QyxDQUFDO0NBQ0o7QUFwQ0QsOEJBb0NDIiwiZmlsZSI6ImxpYi91dGlscy94bHN4LnV0aWxzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JqZWN0VXRpbHMgfSBmcm9tIFwiQHJlY3Vyc3l2ZS9uZXN0anMtY29tbW9uXCI7XG5pbXBvcnQgKiBhcyB4bHN4IGZyb20gXCJ4bHN4XCI7XG5cbmV4cG9ydCBjbGFzcyBYbHN4VXRpbHMge1xuICAgIHB1YmxpYyBzdGF0aWMgYXJyYXlUb1hsc3hCdWZmZXIocm93czogT2JqZWN0W10sIG5hbWU6IHN0cmluZywgaGVhZGVyPzogc3RyaW5nW10pOiBCdWZmZXIge1xuICAgICAgICAvLyBTaGVldCBuYW1lIGNhbm5vdCBiZSBsb25nZXIgdGhhbiAzMSBjaGFycy5cbiAgICAgICAgaWYgKG5hbWU/Lmxlbmd0aCA+IDMxKSB7XG4gICAgICAgICAgICBuYW1lID0gbmFtZS5zdWJzdHIoMCwgMzEpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQ29udmVydCB0byBhcnJheSBvZiBhcnJheS5cbiAgICAgICAgY29uc3QgYW9hOiBhbnlbXVtdID0gcm93cy5tYXAoKHJvdzogT2JqZWN0KSA9PiB7XG4gICAgICAgICAgICAvLyBSZXBsYWNlIHVuZGVmaW5lZCB2YWx1ZXMuXG4gICAgICAgICAgICBPYmplY3RVdGlscy5mb3JFYWNoUHJvcGVydHkocm93LCAodmFsdWU6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZSAhPT0gbnVsbCAmJiB2YWx1ZSAhPT0gdW5kZWZpbmVkID8gdmFsdWUgOiBcIk4vQVwiO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHJldHVybiBPYmplY3RVdGlscy5vYmplY3RUb0FycmF5T2ZQcm9wZXJ0aWVzKHJvdyk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmIChoZWFkZXIpIHtcbiAgICAgICAgICAgIGFvYS51bnNoaWZ0KGhlYWRlcik7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgc2hlZXQ6IHsgW2tleTogc3RyaW5nXTogYW55IH0gPSB7fTtcbiAgICAgICAgc2hlZXRbbmFtZV0gPSB4bHN4LnV0aWxzLmFvYV90b19zaGVldChhb2EpO1xuXG4gICAgICAgIGxldCB4bHN4Q29udGVudDogc3RyaW5nID0geGxzeC53cml0ZShcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBTaGVldHM6IHNoZWV0LFxuICAgICAgICAgICAgICAgIFNoZWV0TmFtZXM6IFtuYW1lXVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB0eXBlOiBcImJpbmFyeVwiXG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG5cbiAgICAgICAgcmV0dXJuIEJ1ZmZlci5mcm9tKHhsc3hDb250ZW50LCBcImJpbmFyeVwiKTtcbiAgICB9XG59XG4iXX0=
|
package/package.json
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@recursyve/nestjs-data-filter",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "11.1.0",
|
|
4
4
|
"description": "NestJs DataFilter library",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
7
|
-
"
|
|
8
|
-
"build": "
|
|
9
|
-
"
|
|
10
|
-
"
|
|
11
|
-
"publish-package": "npm run build:lib && npm publish ./dist --access public",
|
|
7
|
+
"build": "rimraf dist && nest build",
|
|
8
|
+
"build:lib": "rimraf dist && nest build -p tsconfig.lib.json",
|
|
9
|
+
"copy:lib": "cp package.json .npmignore dist",
|
|
10
|
+
"pack:lib": "npm run build:lib && cd dist && npm pack",
|
|
11
|
+
"publish-package": "npm run build:lib && npm run copy:lib && npm publish ./dist --access public",
|
|
12
12
|
"publish-package:beta": "npm run publish-package -- --tag beta --access public",
|
|
13
13
|
"publish-package:dry-run": "npm run publish-package -- --dry-run"
|
|
14
14
|
},
|
|
@@ -19,40 +19,41 @@
|
|
|
19
19
|
"author": "Recursyve",
|
|
20
20
|
"license": "MIT",
|
|
21
21
|
"peerDependencies": {
|
|
22
|
-
"@nestjs/common": ">=
|
|
23
|
-
"@nestjs/core": ">=
|
|
24
|
-
"@recursyve/nestjs-common": ">=
|
|
25
|
-
"date-fns": "^
|
|
26
|
-
"date-fns-tz": "^2.0
|
|
27
|
-
"sequelize": ">=6.
|
|
22
|
+
"@nestjs/common": ">=11.0.0",
|
|
23
|
+
"@nestjs/core": ">=11.0.0",
|
|
24
|
+
"@recursyve/nestjs-common": ">=11.0.0",
|
|
25
|
+
"date-fns": "^4.1.0",
|
|
26
|
+
"date-fns-tz": "^3.2.0",
|
|
27
|
+
"sequelize": ">=6.37.0",
|
|
28
28
|
"sequelize-typescript": ">=2.1.0"
|
|
29
29
|
},
|
|
30
|
+
"dependencies": {
|
|
31
|
+
"@nestjs/swagger": "^11.1.0",
|
|
32
|
+
"csv-stringify": "^6.5.2",
|
|
33
|
+
"xlsx": "https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz"
|
|
34
|
+
},
|
|
30
35
|
"devDependencies": {
|
|
31
|
-
"@nestjs/common": "^
|
|
32
|
-
"@nestjs/core": "^
|
|
33
|
-
"@nestjs/testing": "^
|
|
34
|
-
"@recursyve/nestjs-common": "^
|
|
35
|
-
"@types/express": "^
|
|
36
|
-
"@types/jest": "^29.5.
|
|
37
|
-
"@types/node": "^
|
|
36
|
+
"@nestjs/common": "^11.0.12",
|
|
37
|
+
"@nestjs/core": "^11.0.12",
|
|
38
|
+
"@nestjs/testing": "^11.0.12",
|
|
39
|
+
"@recursyve/nestjs-common": "^11.0.0",
|
|
40
|
+
"@types/express": "^5.0.1",
|
|
41
|
+
"@types/jest": "^29.5.14",
|
|
42
|
+
"@types/node": "^22.13.13",
|
|
38
43
|
"class-transformer": "^0.5.1",
|
|
39
|
-
"class-validator": "^0.14.
|
|
40
|
-
"date-fns": "^
|
|
41
|
-
"date-fns-tz": "^2.0
|
|
42
|
-
"express": "^
|
|
43
|
-
"gulp": "^4.0.2",
|
|
44
|
-
"gulp-copy": "^4.0.1",
|
|
45
|
-
"gulp-sourcemaps": "^3.0.0",
|
|
46
|
-
"gulp-typescript": "^6.0.0-alpha.1",
|
|
44
|
+
"class-validator": "^0.14.1",
|
|
45
|
+
"date-fns": "^4.1.0",
|
|
46
|
+
"date-fns-tz": "^3.2.0",
|
|
47
|
+
"express": "^5.0.1",
|
|
47
48
|
"jest": "^29.7.0",
|
|
48
|
-
"reflect-metadata": "^0.
|
|
49
|
-
"rxjs": "^7.8.
|
|
50
|
-
"sequelize": "^6.37.
|
|
49
|
+
"reflect-metadata": "^0.2.2",
|
|
50
|
+
"rxjs": "^7.8.2",
|
|
51
|
+
"sequelize": "^6.37.6",
|
|
51
52
|
"sequelize-typescript": "^2.1.6",
|
|
52
53
|
"sqlite3": "^5.1.7",
|
|
53
|
-
"ts-jest": "^29.
|
|
54
|
-
"ts-node": "^10.9.
|
|
55
|
-
"typescript": "5.
|
|
54
|
+
"ts-jest": "^29.3.0",
|
|
55
|
+
"ts-node": "^10.9.2",
|
|
56
|
+
"typescript": "^5.8.2"
|
|
56
57
|
},
|
|
57
58
|
"jest": {
|
|
58
59
|
"moduleFileExtensions": [
|
|
@@ -67,9 +68,5 @@
|
|
|
67
68
|
},
|
|
68
69
|
"coverageDirectory": "./coverage",
|
|
69
70
|
"testEnvironment": "node"
|
|
70
|
-
},
|
|
71
|
-
"dependencies": {
|
|
72
|
-
"csv-stringify": "^6.5.2",
|
|
73
|
-
"xlsx": "https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz"
|
|
74
71
|
}
|
|
75
72
|
}
|