@provoly/dashboard 1.1.7 → 1.1.8
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/esm2022/lib/core/model/filter.interface.mjs +1 -1
- package/esm2022/lib/core/store/aggregation/frontend-aggregation/aggregation-utils.class.mjs +52 -47
- package/esm2022/widgets/widget-map/utils/cql-utils.class.mjs +2 -2
- package/fesm2022/provoly-dashboard-widgets-widget-map.mjs +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-map.mjs.map +1 -1
- package/fesm2022/provoly-dashboard.mjs +51 -46
- package/fesm2022/provoly-dashboard.mjs.map +1 -1
- package/lib/core/model/filter.interface.d.ts +1 -1
- package/lib/core/store/aggregation/frontend-aggregation/aggregation-utils.class.d.ts +1 -1
- package/package.json +7 -7
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2xpYi9jb3JlL21vZGVsL2ZpbHRlci5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgRmlsdGVyIHtcbiAgaWQ6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICB0eXBlOiBzdHJpbmc7XG4gIGF0dHJpYnV0ZXM6IHsgaWQ6IHN0cmluZzsgY3VzdG9tSWQ/OiBzdHJpbmc7IHRlY2huaWNhbE5hbWU6IHN0cmluZzsgbGFiZWw6IHN0cmluZzsgZGF0YXNvdXJjZTogc3RyaW5nIH1bXTtcbiAgb3BlcmF0b3I/
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2xpYi9jb3JlL21vZGVsL2ZpbHRlci5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgRmlsdGVyIHtcbiAgaWQ6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICB0eXBlOiBzdHJpbmc7XG4gIGF0dHJpYnV0ZXM6IHsgaWQ6IHN0cmluZzsgY3VzdG9tSWQ/OiBzdHJpbmc7IHRlY2huaWNhbE5hbWU6IHN0cmluZzsgbGFiZWw6IHN0cmluZzsgZGF0YXNvdXJjZTogc3RyaW5nIH1bXTtcbiAgb3BlcmF0b3I/OiBzdHJpbmc7XG4gIHZhbHVlPzogc3RyaW5nIHwgbnVtYmVyIHwgc3RyaW5nW10gfCBudW1iZXJbXTtcbiAgcG9zc2libGVWYWx1ZXM/OiBzdHJpbmc7IC8vIG9ubHkgdXNlZCBpbiBsaXN0LWZpbHRlclxuICBoYXNEYXRlUmFuZ2U/OiBib29sZWFuO1xuICBsaW1pdD86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGaWx0ZXJDb250ZXh0IHtcbiAgYXR0cmlidXRlOiBzdHJpbmc7XG4gIG9wZXJhdG9yOiBzdHJpbmc7XG4gIHZhbHVlOiBzdHJpbmcgfCBudW1iZXIgfCBzdHJpbmdbXSB8IG51bWJlcltdIHwgdW5kZWZpbmVkO1xufVxuIl19
|
|
@@ -126,52 +126,57 @@ export class AggregationUtils {
|
|
|
126
126
|
static doesItemValuePassFilter(item, attribute, operator, filterValue) {
|
|
127
127
|
let value = AggregationUtils.getValueFromAttribute(item, attribute)?.value;
|
|
128
128
|
let date1, date2;
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
return value
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
new Date(
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
129
|
+
let filterPossibleValues = Array.isArray(filterValue) ? filterValue : [filterValue];
|
|
130
|
+
return filterPossibleValues
|
|
131
|
+
.map((possibleFilterValue) => {
|
|
132
|
+
switch (operator) {
|
|
133
|
+
case 'EQUALS':
|
|
134
|
+
return value === filterValue;
|
|
135
|
+
case 'NOT_EQUALS':
|
|
136
|
+
return value !== filterValue;
|
|
137
|
+
case 'CONTAINS':
|
|
138
|
+
return value.includes(filterValue);
|
|
139
|
+
case 'START_WITH':
|
|
140
|
+
return value.startsWith(filterValue);
|
|
141
|
+
case 'END_WITH':
|
|
142
|
+
return value.endsWith(filterValue);
|
|
143
|
+
case 'GREATER_THAN':
|
|
144
|
+
if (typeof filterValue === 'number') {
|
|
145
|
+
return value > filterValue;
|
|
146
|
+
}
|
|
147
|
+
else if (typeof filterValue === 'string') {
|
|
148
|
+
return new Date(value) > new Date(filterValue);
|
|
149
|
+
}
|
|
150
|
+
else {
|
|
151
|
+
return false;
|
|
152
|
+
}
|
|
153
|
+
case 'LOWER_THAN':
|
|
154
|
+
if (typeof filterValue === 'number') {
|
|
155
|
+
return value < filterValue;
|
|
156
|
+
}
|
|
157
|
+
else if (typeof filterValue === 'string') {
|
|
158
|
+
return new Date(value) < new Date(filterValue);
|
|
159
|
+
}
|
|
160
|
+
else {
|
|
161
|
+
return false;
|
|
162
|
+
}
|
|
163
|
+
case 'INSIDE':
|
|
164
|
+
[date1, date2] = [
|
|
165
|
+
new Date(filterValue.split(',')[0]),
|
|
166
|
+
new Date(filterValue.split(',')[1])
|
|
167
|
+
];
|
|
168
|
+
return new Date(value) > new Date(date1) && new Date(value) < new Date(date2);
|
|
169
|
+
case 'OUTSIDE':
|
|
170
|
+
[date1, date2] = [
|
|
171
|
+
new Date(filterValue.split(',')[0]),
|
|
172
|
+
new Date(filterValue.split(',')[1])
|
|
173
|
+
];
|
|
174
|
+
return new Date(value) < new Date(date1) && new Date(value) > new Date(date2);
|
|
175
|
+
default:
|
|
176
|
+
return true;
|
|
177
|
+
}
|
|
178
|
+
})
|
|
179
|
+
.reduce((p, c) => p || c);
|
|
175
180
|
}
|
|
176
181
|
}
|
|
177
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdncmVnYXRpb24tdXRpbHMuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvY29yZS9zdG9yZS9hZ2dyZWdhdGlvbi9mcm9udGVuZC1hZ2dyZWdhdGlvbi9hZ2dyZWdhdGlvbi11dGlscy5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUVWLE1BQU0sMkRBQTJELENBQUM7QUFJbkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUc3RCxNQUFNLE9BQU8sZ0JBQWdCO0lBQzNCLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFnQixFQUFFLE9BQXFDLEVBQUUsSUFBNkI7UUFDNUcsT0FBTyxPQUFPO2FBQ1gsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDcEYsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxNQUFNLENBQUMsMkJBQTJCLENBQUMsV0FBcUIsRUFBRSxVQUFzQjtRQUM5RSxPQUFPLFdBQVc7YUFDZixNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sSUFBSSxVQUFVLENBQUM7YUFDeEMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDbkMsTUFBTSxDQUFDLENB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QUFDLENBQUM7WUFDaEY7Z0JBQ0UsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYXJ0QWdncmVnYXRlZFdpZGdldE9wdGlvbnMsXG4gIE9wZXJhdGlvbixcbiAgVGltZUludGVydmFsXG59IGZyb20gJy4uLy4uLy4uL21vZGVsL3dpZGdldC1hZ2dyZWdhdGVkLWNoYXJ0LW1hbmlmZXN0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBDbGFzcyB9IGZyb20gJy4uLy4uL2NsYXNzL2NsYXNzLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJdGVtLCBWYWx1ZVR5cGUgfSBmcm9tICcuLi8uLi8uLi9tb2RlbC9pdGVtLmludGVyZmFjZSc7XG5pbXBvcnQgeyBSZXN1bHRTZXRzIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWwvcmVzdWx0LXNldC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUmVzdWx0c2V0VXRpbHMgfSBmcm9tICcuLi8uLi8uLi8uLi9kYXNoYm9hcmQvcmVzdWx0c2V0LXV0aWxzJztcbmltcG9ydCB7IEl0ZW1VdGlscyB9IGZyb20gJy4uLy4uLy4uLy4uL2Rhc2hib2FyZC9pdGVtLXV0aWxzJztcbmltcG9ydCB7IEZpbHRlciB9IGZyb20gJy4uLy4uLy4uL21vZGVsL2ZpbHRlci5pbnRlcmZhY2UnO1xuXG5leHBvcnQgY2xhc3MgQWdncmVnYXRpb25VdGlscyB7XG4gIHN0YXRpYyBnZXRBeGlzQXR0cmlidXRlKGNsYXNzZXM6IENsYXNzW10sIG9wdGlvbnM6IENoYXJ0QWdncmVnYXRlZFdpZGdldE9wdGlvbnMsIGF4aXM6ICdvcmRpbmF0ZScgfCAnYWJzY2lzc2EnKSB7XG4gICAgcmV0dXJuIGNsYXNzZXNcbiAgICAgIC5tYXAoKGNsYXp6KSA9PiBjbGF6ei5hdHRyaWJ1dGVzLmZpbmQoKGF0dHIpID0+IGF0dHIuaWQgPT09IG9wdGlvbnNbYXhpc10uYXR0cmlidXRlKSlcbiAgICAgIC5maW5kKChhdHRyKSA9PiAhIWF0dHIpPy5uYW1lO1xuICB9XG5cbiAgc3RhdGljIGdldENoYXJ0RGF0YXNvdXJjZVJlc3VsdFNldChkYXRhc291cmNlczogc3RyaW5nW10sIHJlc3VsdFNldHM6IFJlc3VsdFNldHMpIHtcbiAgICByZXR1cm4gZGF0YXNvdXJjZXNcbiAgICAgIC5maWx0ZXIoKHJzTmFtZSkgPT4gcnNOYW1lIGluIHJlc3VsdFNldHMpXG4gICAgICAubWFwKChyc05hbWUpID0+IHJlc3VsdFNldHNbcnNOYW1lXSlcbiAgICAgIC5yZWR1Y2UoKHJzMSwgcnMyKSA9PiBSZXN1bHRzZXRVdGlscy5tZXJnZVJlc3VsdFNldHMocnMxLCByczIpLCB7XG4gICAgICAgIGl0ZW1zOiB7fSxcbiAgICAgICAgcmVsYXRpb25zOiBbXSxcbiAgICAgICAgbWVyZ2VkOiBkYXRhc291cmNlcy5maWx0ZXIoKHJzTmFtZSkgPT4gcnNOYW1lIGluIHJlc3VsdFNldHMpLmxlbmd0aFxuICAgICAgfSk7XG4gIH1cblxuICBzdGF0aWMgZ2V0QWdncmVnYXRlZFZhbHVlKFxuICAgIG9wZXJhdGlvbjogT3BlcmF0aW9uLFxuICAgIGdyb3VwZWRJdGVtczogeyBba2V5OiBzdHJpbmcgfCBudW1iZXJdOiBJdGVtW10gfSxcbiAgICBhYnNjaXNzYUF0dHJpYnV0ZToga2V5b2YgdHlwZW9mIGdyb3VwZWRJdGVtcyxcbiAgICBvcmRpbmF0ZUF0dHJpYnV0ZTogc3RyaW5nXG4gICk6IG51bWJlciB8IFZhbHVlVHlwZSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QWdncmVnYXRlZFZhbHVlRm9yT3BlcmF0aW9uKFxuICAgICAgb3BlcmF0aW9uLFxuICAgICAgZ3JvdXBlZEl0ZW1zW2Fic2Npc3NhQXR0cmlidXRlXS5tYXAoKGl0ZW0pID0+IHRoaXMuZ2V0VmFsdWVGcm9tQXR0cmlidXRlKGl0ZW0sIG9yZGluYXRlQXR0cmlidXRlKS52YWx1ZSBhcyBudW1iZXIpXG4gICAgKTtcbiAgfVxuXG4gIHN0YXRpYyBnZXRWYWx1ZUZyb21BdHRyaWJ1dGUoaXRlbTogSXRlbSwgYXR0cmlidXRlOiBzdHJpbmcpIHtcbiAgICBsZXQgdmFsdWUgPSBJdGVtVXRpbHMuZ2V0QXR0cmlidXRlVmFsdWUoaXRlbSwgYXR0cmlidXRlKTtcbiAgICByZXR1cm4gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZVswXSA6IHZhbHVlO1xuICB9XG5cbiAgc3RhdGljIGdldEFnZ3JlZ2F0ZWRWYWx1ZUZvck9wZXJhdGlvbihvcGVyYXRpb246IE9wZXJhdGlvbiwgdmFsdWVzOiBudW1iZXJbXSk6IG51bWJlciB8IFZhbHVlVHlwZSB7XG4gICAgc3dpdGNoIChvcGVyYXRpb24pIHtcbiAgICAgIGNhc2UgT3BlcmF0aW9uLkNPVU5UOlxuICAgICAgICByZXR1cm4gdmFsdWVzLmxlbmd0aDtcbiAgICAgIGNhc2UgT3BlcmF0aW9uLlNVTTpcbiAgICAgICAgcmV0dXJuIHZhbHVlcy5yZWR1Y2UoKGFjYywgdmFsKSA9PiBhY2MgKyB2YWwsIDApO1xuICAgICAgY2FzZSBPcGVyYXRpb24uRElTVElOQ1Q6XG4gICAgICAgIHJldHVybiBbLi4ubmV3IFNldCh2YWx1ZXMpXS5sZW5ndGg7XG4gICAgICBjYXNlIE9wZXJhdGlvbi5BVkVSQUdFOlxuICAgICAgICByZXR1cm4gdmFsdWVzLnJlZHVjZSgoYWNjLCB2YWwpID0+IGFjYyArIHZhbCwgMCkgLyB2YWx1ZXMubGVuZ3RoO1xuICAgICAgY2FzZSBPcGVyYXRpb24uTUVESUFOOlxuICAgICAgICByZXR1cm4gdGhpcy5nZXRRdWFydGlsZSh2YWx1ZXMsIDAuNSk7XG4gICAgICBjYXNlIE9wZXJhdGlvbi5RMTpcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0UXVhcnRpbGUodmFsdWVzLCAwLjI1KTtcbiAgICAgIGNhc2UgT3BlcmF0aW9uLlEzOlxuICAgICAgICByZXR1cm4gdGhpcy5nZXRRdWFydGlsZSh2YWx1ZXMsIDAuNzUpO1xuICAgICAgY2FzZSBPcGVyYXRpb24uTUlOOlxuICAgICAgICByZXR1cm4gTWF0aC5taW4oLi4udmFsdWVzKTtcbiAgICAgIGNhc2UgT3BlcmF0aW9uLk1BWDpcbiAgICAgICAgcmV0dXJuIE1hdGgubWF4KC4uLnZhbHVlcyk7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gLTE7XG4gICAgfVxuICB9XG5cbiAgc3RhdGljIGdldFF1YXJ0aWxlKHZhbHVlczogbnVtYmVyW10sIHE6IG51bWJlcikge1xuICAgIGlmICh2YWx1ZXMubGVuZ3RoID09PSAwKSByZXR1cm4gMDtcbiAgICB2YWx1ZXMuc29ydCgoYTogbnVtYmVyLCBiOiBudW1iZXIpID0+IGEgLSBiKTtcblxuICAgIGxldCBwb3MgPSAodmFsdWVzLmxlbmd0aCAtIDEpICogcTtcbiAgICBpZiAocG9zICUgMSA9PT0gMCkge1xuICAgICAgcmV0dXJuIHZhbHVlc1twb3NdO1xuICAgIH1cblxuICAgIHBvcyA9IE1hdGguZmxvb3IocG9zKTtcbiAgICByZXR1cm4gdmFsdWVzW3BvcyArIDFdICE9PSB1bmRlZmluZWQgPyAodmFsdWVzW3Bvc10gKyB2YWx1ZXNbcG9zICsgMV0pIC8gMiA6IHZhbHVlc1twb3NdO1xuICB9XG5cbiAgc3RhdGljIGZvcm1hdEJ5TGltaXQoXG4gICAgZGF0YTogeyBrZXk6IFZhbHVlVHlwZTsgdmFsdWU6IFZhbHVlVHlwZSB9W10sXG4gICAgaW50ZXJ2YWw6IG51bWJlciB8IFRpbWVJbnRlcnZhbCxcbiAgICBvcGVyYXRpb246IE9wZXJhdGlvblxuICApIHtcbiAgICByZXR1cm4gdHlwZW9mIGludGVydmFsID09PSAnbnVtYmVyJyA/IGRhdGEgOiB0aGlzLmZvcm1hdERhdGFCeVRpbWVMaW1pdChkYXRhLCBpbnRlcnZhbCwgb3BlcmF0aW9uKTtcbiAgfVxuXG4gIHN0YXRpYyBmb3JtYXREYXRhQnlUaW1lTGltaXQoXG4gICAgZGF0YTogeyBrZXk6IFZhbHVlVHlwZTsgdmFsdWU6IFZhbHVlVHlwZSB9W10sXG4gICAgaW50ZXJ2YWw6IFRpbWVJbnRlcnZhbCxcbiAgICBvcGVyYXRpb246IE9wZXJhdGlvblxuICApIHtcbiAgICBsZXQgZGlzdGluY3RWYWx1ZXM6IHsga2V5OiBWYWx1ZVR5cGU7IHZhbHVlczogVmFsdWVUeXBlW10gfVtdID0gW107XG4gICAgZGF0YVxuICAgICAgLm1hcCgob2JqKSA9PiAoeyAuLi5vYmosIGtleTogdGhpcy5nZXRLZXlWYWx1ZUZvclRpbWVJbnRlcnZhbChvYmoua2V5LCBpbnRlcnZhbCkgfSkpXG4gICAgICAuZm9yRWFjaCgob2JqKSA9PiB7XG4gICAgICAgIGNvbnN0IGlzTm90RGlzdGluY3QgPSBkaXN0aW5jdFZhbHVlcy5maW5kKChkaXN0aW5jdCkgPT4gb2JqLmtleSA9PT0gZGlzdGluY3Qua2V5KTtcbiAgICAgICAgaWYgKCEhaXNOb3REaXN0aW5jdCkge1xuICAgICAgICAgIGlzTm90RGlzdGluY3QudmFsdWVzLnB1c2gob2JqLnZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBkaXN0aW5jdFZhbHVlcy5wdXNoKHsga2V5OiBvYmoua2V5LCB2YWx1ZXM6IFtdIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICByZXR1cm4gZGlzdGluY3RWYWx1ZXMubWFwKChvYmopID0+ICh7XG4gICAgICAuLi5vYmosXG4gICAgICB2YWx1ZTogQWdncmVnYXRpb25VdGlscy5nZXRBZ2dyZWdhdGVkVmFsdWVGb3JPcGVyYXRpb24ob3BlcmF0aW9uLCBvYmoudmFsdWVzIGFzIG51bWJlcltdKVxuICAgIH0pKTtcbiAgfVxuXG4gIHN0YXRpYyBnZXRLZXlWYWx1ZUZvclRpbWVJbnRlcnZhbChrZXk6IFZhbHVlVHlwZSwgaW50ZXJ2YWw6IFRpbWVJbnRlcnZhbCk6IHN0cmluZyB7XG4gICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKGtleSBhcyBzdHJpbmcpO1xuICAgIHN3aXRjaCAoaW50ZXJ2YWwpIHtcbiAgICAgIGNhc2UgJ3NlY29uZCc6XG4gICAgICAgIHJldHVybiBuZXcgRGF0ZShcbiAgICAgICAgICBkYXRlLmdldEZ1bGxZZWFyKCksXG4gICAgICAgICAgZGF0ZS5nZXRNb250aCgpLFxuICAgICAgICAgIGRhdGUuZ2V0RGF0ZSgpLFxuICAgICAgICAgIGRhdGUuZ2V0SG91cnMoKSxcbiAgICAgICAgICBkYXRlLmdldE1pbnV0ZXMoKSxcbiAgICAgICAgICBkYXRlLmdldFNlY29uZHMoKVxuICAgICAgICApLnRvSVNPU3RyaW5nKCk7XG4gICAgICBjYXNlICdtaW51dGUnOlxuICAgICAgICByZXR1cm4gbmV3IERhdGUoXG4gICAgICAgICAgZGF0ZS5nZXRGdWxsWWVhcigpLFxuICAgICAgICAgIGRhdGUuZ2V0TW9udGgoKSxcbiAgICAgICAgICBkYXRlLmdldERhdGUoKSxcbiAgICAgICAgICBkYXRlLmdldEhvdXJzKCksXG4gICAgICAgICAgZGF0ZS5nZXRNaW51dGVzKClcbiAgICAgICAgKS50b0lTT1N0cmluZygpO1xuICAgICAgY2FzZSAnaG91cic6XG4gICAgICAgIHJldHVybiBuZXcgRGF0ZShkYXRlLmdldEZ1bGxZZWFyKCksIGRhdGUuZ2V0TW9udGgoKSwgZGF0ZS5nZXREYXRlKCksIGRhdGUuZ2V0SG91cnMoKSkudG9JU09TdHJpbmcoKTtcbiAgICAgIGNhc2UgJ2RheSc6XG4gICAgICAgIHJldHVybiBuZXcgRGF0ZShkYXRlLmdldEZ1bGxZZWFyKCksIGRhdGUuZ2V0TW9udGgoKSwgZGF0ZS5nZXREYXRlKCkpLnRvSVNPU3RyaW5nKCk7XG4gICAgICBjYXNlICd3ZWVrJzpcbiAgICAgICAgY29uc3QgZGF5c1RvU3VidHJhY3QgPSAoNyArIGRhdGUuZ2V0VVRDRGF5KCkpICUgNztcbiAgICAgICAgZGF0ZS5zZXRVVENEYXRlKGRhdGUuZ2V0VVRDRGF0ZSgpIC0gZGF5c1RvU3VidHJhY3QpO1xuICAgICAgICByZXR1cm4gZGF0ZS50b0lTT1N0cmluZygpO1xuICAgICAgY2FzZSAncXVhcnRlcic6XG4gICAgICAgIGNvbnN0IHF1YXJ0ZXJTdGFydE1vbnRocyA9IFswLCAzLCA2LCA5XTsgLy8gSmFudWFyeSwgQXByaWwsIEp1bHksIE9jdG9iZXJcbiAgICAgICAgY29uc3QgcXVhcnRlciA9IE1hdGguZmxvb3IoZGF0ZS5nZXRVVENNb250aCgpIC8gMyk7XG4gICAgICAgIGNvbnN0IHllYXIgPSBkYXRlLmdldFVUQ0Z1bGxZZWFyKCk7XG5cbiAgICAgICAgY29uc3Qgc3RhcnRPZlF1YXJ0ZXIgPSBuZXcgRGF0ZShEYXRlLlVUQyh5ZWFyLCBxdWFydGVyU3RhcnRNb250aHNbcXVhcnRlcl0sIDEsIDAsIDAsIDAsIDApKTtcbiAgICAgICAgcmV0dXJuIHN0YXJ0T2ZRdWFydGVyLnRvSVNPU3RyaW5nKCk7XG4gICAgICBjYXNlICd5ZWFyJzpcbiAgICAgICAgcmV0dXJuIG5ldyBEYXRlKG5ldyBEYXRlKGtleSBhcyBzdHJpbmcpLmdldEZ1bGxZZWFyKCksIDAsIDEpLnRvSVNPU3RyaW5nKCk7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gZGF0ZS50b0lTT1N0cmluZygpO1xuICAgIH1cbiAgfVxuXG4gIHN0YXRpYyBmaWx0ZXJJdGVtcyhpdGVtczogSXRlbVtdLCBmaWx0ZXJzOiBGaWx0ZXJbXSkge1xuICAgIGxldCBmaWx0ZXJzQnlBdHRyaWJ1dGUgPSBmaWx0ZXJzXG4gICAgICAubWFwKChmaWx0ZXIpID0+XG4gICAgICAgIGZpbHRlci5hdHRyaWJ1dGVzLm1hcCgoYXR0cmlidXRlKSA9PiAoe1xuICAgICAgICAgIC4uLmZpbHRlcixcbiAgICAgICAgICBhdHRyaWJ1dGU6IGF0dHJpYnV0ZS5pZCxcbiAgICAgICAgICBhdHRyaWJ1dGVzOiB1bmRlZmluZWRcbiAgICAgICAgfSkpXG4gICAgICApXG4gICAgICAuZmxhdCgpO1xuXG4gICAgcmV0dXJuIGZpbHRlcnMubGVuZ3RoID4gMFxuICAgICAgPyBbXG4gICAgICAgICAgLi4ubmV3IFNldChcbiAgICAgICAgICAgIGZpbHRlcnNCeUF0dHJpYnV0ZVxuICAgICAgICAgICAgICAubWFwKChmaWx0ZXIpID0+XG4gICAgICAgICAgICAgICAgaXRlbXMuZmlsdGVyKChpdGVtKSA9PlxuICAgICAgICAgICAgICAgICAgdGhpcy5kb2VzSXRlbVZhbHVlUGFzc0ZpbHRlcihpdGVtLCBmaWx0ZXIuYXR0cmlidXRlLCBmaWx0ZXIub3BlcmF0b3IsIGZpbHRlci52YWx1ZSlcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgLmZsYXQoKVxuICAgICAgICAgIClcbiAgICAgICAgXVxuICAgICAgOiBpdGVtcztcbiAgfVxuXG4gIHN0YXRpYyBkb2VzSXRlbVZhbHVlUGFzc0ZpbHRlcihcbiAgICBpdGVtOiBJdGVtLFxuICAgIGF0dHJpYnV0ZTogc3RyaW5nLFxuICAgIG9wZXJhdG9yOiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICAgZmlsdGVyVmFsdWU6IHN0cmluZyB8IG51bWJlciB8IHVuZGVmaW5lZFxuICApOiBib29sZWFuIHtcbiAgICBsZXQgdmFsdWUgPSBBZ2dyZWdhdGlvblV0aWxzLmdldFZhbHVlRnJvbUF0dHJpYnV0ZShpdGVtLCBhdHRyaWJ1dGUpPy52YWx1ZSBhcyBzdHJpbmcgfCBudW1iZXI7XG4gICAgbGV0IGRhdGUxOiBEYXRlLCBkYXRlMjogRGF0ZTtcblxuICAgIHN3aXRjaCAob3BlcmF0b3IpIHtcbiAgICAgIGNhc2UgJ0VRVUFMUyc6XG4gICAgICAgIHJldHVybiB2YWx1ZSA9PT0gZmlsdGVyVmFsdWU7XG4gICAgICBjYXNlICdOT1RfRVFVQUxTJzpcbiAgICAgICAgcmV0dXJuIHZhbHVlICE9PSBmaWx0ZXJWYWx1ZTtcbiAgICAgIGNhc2UgJ0NPTlRBSU5TJzpcbiAgICAgICAgcmV0dXJuICh2YWx1ZSBhcyBzdHJpbmcpLmluY2x1ZGVzKGZpbHRlclZhbHVlIGFzIHN0cmluZyk7XG4gICAgICBjYXNlICdTVEFSVF9XSVRIJzpcbiAgICAgICAgcmV0dXJuICh2YWx1ZSBhcyBzdHJpbmcpLnN0YXJ0c1dpdGgoZmlsdGVyVmFsdWUgYXMgc3RyaW5nKTtcbiAgICAgIGNhc2UgJ0VORF9XSVRIJzpcbiAgICAgICAgcmV0dXJuICh2YWx1ZSBhcyBzdHJpbmcpLmVuZHNXaXRoKGZpbHRlclZhbHVlIGFzIHN0cmluZyk7XG4gICAgICBjYXNlICdHUkVBVEVSX1RIQU4nOlxuICAgICAgICBpZiAodHlwZW9mIGZpbHRlclZhbHVlID09PSAnbnVtYmVyJykge1xuICAgICAgICAgIHJldHVybiAodmFsdWUgYXMgbnVtYmVyKSA+IGZpbHRlclZhbHVlO1xuICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiBmaWx0ZXJWYWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICByZXR1cm4gbmV3IERhdGUodmFsdWUpID4gbmV3IERhdGUoZmlsdGVyVmFsdWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgY2FzZSAnTE9XRVJfVEhBTic6XG4gICAgICAgIGlmICh0eXBlb2YgZmlsdGVyVmFsdWUgPT09ICdudW1iZXInKSB7XG4gICAgICAgICAgcmV0dXJuICh2YWx1ZSBhcyBudW1iZXIpIDwgZmlsdGVyVmFsdWU7XG4gICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGZpbHRlclZhbHVlID09PSAnc3RyaW5nJykge1xuICAgICAgICAgIHJldHVybiBuZXcgRGF0ZSh2YWx1ZSkgPCBuZXcgRGF0ZShmaWx0ZXJWYWx1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICBjYXNlICdJTlNJREUnOlxuICAgICAgICBbZGF0ZTEsIGRhdGUyXSA9IFtcbiAgICAgICAgICBuZXcgRGF0ZSgoZmlsdGVyVmFsdWUgYXMgc3RyaW5nKS5zcGxpdCgnLCcpWzBdKSxcbiAgICAgICAgICBuZXcgRGF0ZSgoZmlsdGVyVmFsdWUgYXMgc3RyaW5nKS5zcGxpdCgnLCcpWzFdKVxuICAgICAgICBdO1xuICAgICAgICByZXR1cm4gbmV3IERhdGUodmFsdWUpID4gbmV3IERhdGUoZGF0ZTEpICYmIG5ldyBEYXRlKHZhbHVlKSA8IG5ldyBEYXRlKGRhdGUyKTtcbiAgICAgIGNhc2UgJ09VVFNJREUnOlxuICAgICAgICBbZGF0ZTEsIGRhdGUyXSA9IFtcbiAgICAgICAgICBuZXcgRGF0ZSgoZmlsdGVyVmFsdWUgYXMgc3RyaW5nKS5zcGxpdCgnLCcpWzBdKSxcbiAgICAgICAgICBuZXcgRGF0ZSgoZmlsdGVyVmFsdWUgYXMgc3RyaW5nKS5zcGxpdCgnLCcpWzFdKVxuICAgICAgICBdO1xuICAgICAgICByZXR1cm4gbmV3IERhdGUodmFsdWUpIDwgbmV3IERhdGUoZGF0ZTEpICYmIG5ldyBEYXRlKHZhbHVlKSA+IG5ldyBEYXRlKGRhdGUyKTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
182
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdncmVnYXRpb24tdXRpbHMuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvY29yZS9zdG9yZS9hZ2dyZWdhdGlvbi9mcm9udGVuZC1hZ2dyZWdhdGlvbi9hZ2dyZWdhdGlvbi11dGlscy5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUVWLE1BQU0sMkRBQTJELENBQUM7QUFJbkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUc3RCxNQUFNLE9BQU8sZ0JBQWdCO0lBQzNCLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFnQixFQUFFLE9BQXFDLEVBQUUsSUFBNkI7UUFDNUcsT0FBTyxPQUFPO2FBQ1gsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDcEYsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxNQUFNLENBQUMsMkJBQTJCLENBQUMsV0FBcUIsRUFBRSxVQUFzQjtRQUM5RSxPQUFPLFdBQVc7YUFDZixNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sSUFBSSxVQUFVLENBQUM7YUFDeEMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDbkMsTUFBTSxDQUFDLENB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S0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO3FCQUNoRCxDQUFDO29CQUNGLE9BQU8sSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ2hGO29CQUNFLE9BQU8sSUFBSSxDQUFDO1lBQ2hCLENBQUM7UUFDSCxDQUFDLENBQUM7YUFDRCxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDOUIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhcnRBZ2dyZWdhdGVkV2lkZ2V0T3B0aW9ucyxcbiAgT3BlcmF0aW9uLFxuICBUaW1lSW50ZXJ2YWxcbn0gZnJvbSAnLi4vLi4vLi4vbW9kZWwvd2lkZ2V0LWFnZ3JlZ2F0ZWQtY2hhcnQtbWFuaWZlc3QuaW50ZXJmYWNlJztcbmltcG9ydCB7IENsYXNzIH0gZnJvbSAnLi4vLi4vY2xhc3MvY2xhc3MuaW50ZXJmYWNlJztcbmltcG9ydCB7IEl0ZW0sIFZhbHVlVHlwZSB9IGZyb20gJy4uLy4uLy4uL21vZGVsL2l0ZW0uaW50ZXJmYWNlJztcbmltcG9ydCB7IFJlc3VsdFNldHMgfSBmcm9tICcuLi8uLi8uLi9tb2RlbC9yZXN1bHQtc2V0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBSZXN1bHRzZXRVdGlscyB9IGZyb20gJy4uLy4uLy4uLy4uL2Rhc2hib2FyZC9yZXN1bHRzZXQtdXRpbHMnO1xuaW1wb3J0IHsgSXRlbVV0aWxzIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGFzaGJvYXJkL2l0ZW0tdXRpbHMnO1xuaW1wb3J0IHsgRmlsdGVyIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWwvZmlsdGVyLmludGVyZmFjZSc7XG5cbmV4cG9ydCBjbGFzcyBBZ2dyZWdhdGlvblV0aWxzIHtcbiAgc3RhdGljIGdldEF4aXNBdHRyaWJ1dGUoY2xhc3NlczogQ2xhc3NbXSwgb3B0aW9uczogQ2hhcnRBZ2dyZWdhdGVkV2lkZ2V0T3B0aW9ucywgYXhpczogJ29yZGluYXRlJyB8ICdhYnNjaXNzYScpIHtcbiAgICByZXR1cm4gY2xhc3Nlc1xuICAgICAgLm1hcCgoY2xhenopID0+IGNsYXp6LmF0dHJpYnV0ZXMuZmluZCgoYXR0cikgPT4gYXR0ci5pZCA9PT0gb3B0aW9uc1theGlzXS5hdHRyaWJ1dGUpKVxuICAgICAgLmZpbmQoKGF0dHIpID0+ICEhYXR0cik/Lm5hbWU7XG4gIH1cblxuICBzdGF0aWMgZ2V0Q2hhcnREYXRhc291cmNlUmVzdWx0U2V0KGRhdGFzb3VyY2VzOiBzdHJpbmdbXSwgcmVzdWx0U2V0czogUmVzdWx0U2V0cykge1xuICAgIHJldHVybiBkYXRhc291cmNlc1xuICAgICAgLmZpbHRlcigocnNOYW1lKSA9PiByc05hbWUgaW4gcmVzdWx0U2V0cylcbiAgICAgIC5tYXAoKHJzTmFtZSkgPT4gcmVzdWx0U2V0c1tyc05hbWVdKVxuICAgICAgLnJlZHVjZSgocnMxLCByczIpID0+IFJlc3VsdHNldFV0aWxzLm1lcmdlUmVzdWx0U2V0cyhyczEsIHJzMiksIHtcbiAgICAgICAgaXRlbXM6IHt9LFxuICAgICAgICByZWxhdGlvbnM6IFtdLFxuICAgICAgICBtZXJnZWQ6IGRhdGFzb3VyY2VzLmZpbHRlcigocnNOYW1lKSA9PiByc05hbWUgaW4gcmVzdWx0U2V0cykubGVuZ3RoXG4gICAgICB9KTtcbiAgfVxuXG4gIHN0YXRpYyBnZXRBZ2dyZWdhdGVkVmFsdWUoXG4gICAgb3BlcmF0aW9uOiBPcGVyYXRpb24sXG4gICAgZ3JvdXBlZEl0ZW1zOiB7IFtrZXk6IHN0cmluZyB8IG51bWJlcl06IEl0ZW1bXSB9LFxuICAgIGFic2Npc3NhQXR0cmlidXRlOiBrZXlvZiB0eXBlb2YgZ3JvdXBlZEl0ZW1zLFxuICAgIG9yZGluYXRlQXR0cmlidXRlOiBzdHJpbmdcbiAgKTogbnVtYmVyIHwgVmFsdWVUeXBlIHtcbiAgICByZXR1cm4gdGhpcy5nZXRBZ2dyZWdhdGVkVmFsdWVGb3JPcGVyYXRpb24oXG4gICAgICBvcGVyYXRpb24sXG4gICAgICBncm91cGVkSXRlbXNbYWJzY2lzc2FBdHRyaWJ1dGVdLm1hcCgoaXRlbSkgPT4gdGhpcy5nZXRWYWx1ZUZyb21BdHRyaWJ1dGUoaXRlbSwgb3JkaW5hdGVBdHRyaWJ1dGUpLnZhbHVlIGFzIG51bWJlcilcbiAgICApO1xuICB9XG5cbiAgc3RhdGljIGdldFZhbHVlRnJvbUF0dHJpYnV0ZShpdGVtOiBJdGVtLCBhdHRyaWJ1dGU6IHN0cmluZykge1xuICAgIGxldCB2YWx1ZSA9IEl0ZW1VdGlscy5nZXRBdHRyaWJ1dGVWYWx1ZShpdGVtLCBhdHRyaWJ1dGUpO1xuICAgIHJldHVybiBBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlWzBdIDogdmFsdWU7XG4gIH1cblxuICBzdGF0aWMgZ2V0QWdncmVnYXRlZFZhbHVlRm9yT3BlcmF0aW9uKG9wZXJhdGlvbjogT3BlcmF0aW9uLCB2YWx1ZXM6IG51bWJlcltdKTogbnVtYmVyIHwgVmFsdWVUeXBlIHtcbiAgICBzd2l0Y2ggKG9wZXJhdGlvbikge1xuICAgICAgY2FzZSBPcGVyYXRpb24uQ09VTlQ6XG4gICAgICAgIHJldHVybiB2YWx1ZXMubGVuZ3RoO1xuICAgICAgY2FzZSBPcGVyYXRpb24uU1VNOlxuICAgICAgICByZXR1cm4gdmFsdWVzLnJlZHVjZSgoYWNjLCB2YWwpID0+IGFjYyArIHZhbCwgMCk7XG4gICAgICBjYXNlIE9wZXJhdGlvbi5ESVNUSU5DVDpcbiAgICAgICAgcmV0dXJuIFsuLi5uZXcgU2V0KHZhbHVlcyldLmxlbmd0aDtcbiAgICAgIGNhc2UgT3BlcmF0aW9uLkFWRVJBR0U6XG4gICAgICAgIHJldHVybiB2YWx1ZXMucmVkdWNlKChhY2MsIHZhbCkgPT4gYWNjICsgdmFsLCAwKSAvIHZhbHVlcy5sZW5ndGg7XG4gICAgICBjYXNlIE9wZXJhdGlvbi5NRURJQU46XG4gICAgICAgIHJldHVybiB0aGlzLmdldFF1YXJ0aWxlKHZhbHVlcywgMC41KTtcbiAgICAgIGNhc2UgT3BlcmF0aW9uLlExOlxuICAgICAgICByZXR1cm4gdGhpcy5nZXRRdWFydGlsZSh2YWx1ZXMsIDAuMjUpO1xuICAgICAgY2FzZSBPcGVyYXRpb24uUTM6XG4gICAgICAgIHJldHVybiB0aGlzLmdldFF1YXJ0aWxlKHZhbHVlcywgMC43NSk7XG4gICAgICBjYXNlIE9wZXJhdGlvbi5NSU46XG4gICAgICAgIHJldHVybiBNYXRoLm1pbiguLi52YWx1ZXMpO1xuICAgICAgY2FzZSBPcGVyYXRpb24uTUFYOlxuICAgICAgICByZXR1cm4gTWF0aC5tYXgoLi4udmFsdWVzKTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAtMTtcbiAgICB9XG4gIH1cblxuICBzdGF0aWMgZ2V0UXVhcnRpbGUodmFsdWVzOiBudW1iZXJbXSwgcTogbnVtYmVyKSB7XG4gICAgaWYgKHZhbHVlcy5sZW5ndGggPT09IDApIHJldHVybiAwO1xuICAgIHZhbHVlcy5zb3J0KChhOiBudW1iZXIsIGI6IG51bWJlcikgPT4gYSAtIGIpO1xuXG4gICAgbGV0IHBvcyA9ICh2YWx1ZXMubGVuZ3RoIC0gMSkgKiBxO1xuICAgIGlmIChwb3MgJSAxID09PSAwKSB7XG4gICAgICByZXR1cm4gdmFsdWVzW3Bvc107XG4gICAgfVxuXG4gICAgcG9zID0gTWF0aC5mbG9vcihwb3MpO1xuICAgIHJldHVybiB2YWx1ZXNbcG9zICsgMV0gIT09IHVuZGVmaW5lZCA/ICh2YWx1ZXNbcG9zXSArIHZhbHVlc1twb3MgKyAxXSkgLyAyIDogdmFsdWVzW3Bvc107XG4gIH1cblxuICBzdGF0aWMgZm9ybWF0QnlMaW1pdChcbiAgICBkYXRhOiB7IGtleTogVmFsdWVUeXBlOyB2YWx1ZTogVmFsdWVUeXBlIH1bXSxcbiAgICBpbnRlcnZhbDogbnVtYmVyIHwgVGltZUludGVydmFsLFxuICAgIG9wZXJhdGlvbjogT3BlcmF0aW9uXG4gICkge1xuICAgIHJldHVybiB0eXBlb2YgaW50ZXJ2YWwgPT09ICdudW1iZXInID8gZGF0YSA6IHRoaXMuZm9ybWF0RGF0YUJ5VGltZUxpbWl0KGRhdGEsIGludGVydmFsLCBvcGVyYXRpb24pO1xuICB9XG5cbiAgc3RhdGljIGZvcm1hdERhdGFCeVRpbWVMaW1pdChcbiAgICBkYXRhOiB7IGtleTogVmFsdWVUeXBlOyB2YWx1ZTogVmFsdWVUeXBlIH1bXSxcbiAgICBpbnRlcnZhbDogVGltZUludGVydmFsLFxuICAgIG9wZXJhdGlvbjogT3BlcmF0aW9uXG4gICkge1xuICAgIGxldCBkaXN0aW5jdFZhbHVlczogeyBrZXk6IFZhbHVlVHlwZTsgdmFsdWVzOiBWYWx1ZVR5cGVbXSB9W10gPSBbXTtcbiAgICBkYXRhXG4gICAgICAubWFwKChvYmopID0+ICh7IC4uLm9iaiwga2V5OiB0aGlzLmdldEtleVZhbHVlRm9yVGltZUludGVydmFsKG9iai5rZXksIGludGVydmFsKSB9KSlcbiAgICAgIC5mb3JFYWNoKChvYmopID0+IHtcbiAgICAgICAgY29uc3QgaXNOb3REaXN0aW5jdCA9IGRpc3RpbmN0VmFsdWVzLmZpbmQoKGRpc3RpbmN0KSA9PiBvYmoua2V5ID09PSBkaXN0aW5jdC5rZXkpO1xuICAgICAgICBpZiAoISFpc05vdERpc3RpbmN0KSB7XG4gICAgICAgICAgaXNOb3REaXN0aW5jdC52YWx1ZXMucHVzaChvYmoudmFsdWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGRpc3RpbmN0VmFsdWVzLnB1c2goeyBrZXk6IG9iai5rZXksIHZhbHVlczogW10gfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIHJldHVybiBkaXN0aW5jdFZhbHVlcy5tYXAoKG9iaikgPT4gKHtcbiAgICAgIC4uLm9iaixcbiAgICAgIHZhbHVlOiBBZ2dyZWdhdGlvblV0aWxzLmdldEFnZ3JlZ2F0ZWRWYWx1ZUZvck9wZXJhdGlvbihvcGVyYXRpb24sIG9iai52YWx1ZXMgYXMgbnVtYmVyW10pXG4gICAgfSkpO1xuICB9XG5cbiAgc3RhdGljIGdldEtleVZhbHVlRm9yVGltZUludGVydmFsKGtleTogVmFsdWVUeXBlLCBpbnRlcnZhbDogVGltZUludGVydmFsKTogc3RyaW5nIHtcbiAgICBjb25zdCBkYXRlID0gbmV3IERhdGUoa2V5IGFzIHN0cmluZyk7XG4gICAgc3dpdGNoIChpbnRlcnZhbCkge1xuICAgICAgY2FzZSAnc2Vjb25kJzpcbiAgICAgICAgcmV0dXJuIG5ldyBEYXRlKFxuICAgICAgICAgIGRhdGUuZ2V0RnVsbFllYXIoKSxcbiAgICAgICAgICBkYXRlLmdldE1vbnRoKCksXG4gICAgICAgICAgZGF0ZS5nZXREYXRlKCksXG4gICAgICAgICAgZGF0ZS5nZXRIb3VycygpLFxuICAgICAgICAgIGRhdGUuZ2V0TWludXRlcygpLFxuICAgICAgICAgIGRhdGUuZ2V0U2Vjb25kcygpXG4gICAgICAgICkudG9JU09TdHJpbmcoKTtcbiAgICAgIGNhc2UgJ21pbnV0ZSc6XG4gICAgICAgIHJldHVybiBuZXcgRGF0ZShcbiAgICAgICAgICBkYXRlLmdldEZ1bGxZZWFyKCksXG4gICAgICAgICAgZGF0ZS5nZXRNb250aCgpLFxuICAgICAgICAgIGRhdGUuZ2V0RGF0ZSgpLFxuICAgICAgICAgIGRhdGUuZ2V0SG91cnMoKSxcbiAgICAgICAgICBkYXRlLmdldE1pbnV0ZXMoKVxuICAgICAgICApLnRvSVNPU3RyaW5nKCk7XG4gICAgICBjYXNlICdob3VyJzpcbiAgICAgICAgcmV0dXJuIG5ldyBEYXRlKGRhdGUuZ2V0RnVsbFllYXIoKSwgZGF0ZS5nZXRNb250aCgpLCBkYXRlLmdldERhdGUoKSwgZGF0ZS5nZXRIb3VycygpKS50b0lTT1N0cmluZygpO1xuICAgICAgY2FzZSAnZGF5JzpcbiAgICAgICAgcmV0dXJuIG5ldyBEYXRlKGRhdGUuZ2V0RnVsbFllYXIoKSwgZGF0ZS5nZXRNb250aCgpLCBkYXRlLmdldERhdGUoKSkudG9JU09TdHJpbmcoKTtcbiAgICAgIGNhc2UgJ3dlZWsnOlxuICAgICAgICBjb25zdCBkYXlzVG9TdWJ0cmFjdCA9ICg3ICsgZGF0ZS5nZXRVVENEYXkoKSkgJSA3O1xuICAgICAgICBkYXRlLnNldFVUQ0RhdGUoZGF0ZS5nZXRVVENEYXRlKCkgLSBkYXlzVG9TdWJ0cmFjdCk7XG4gICAgICAgIHJldHVybiBkYXRlLnRvSVNPU3RyaW5nKCk7XG4gICAgICBjYXNlICdxdWFydGVyJzpcbiAgICAgICAgY29uc3QgcXVhcnRlclN0YXJ0TW9udGhzID0gWzAsIDMsIDYsIDldOyAvLyBKYW51YXJ5LCBBcHJpbCwgSnVseSwgT2N0b2JlclxuICAgICAgICBjb25zdCBxdWFydGVyID0gTWF0aC5mbG9vcihkYXRlLmdldFVUQ01vbnRoKCkgLyAzKTtcbiAgICAgICAgY29uc3QgeWVhciA9IGRhdGUuZ2V0VVRDRnVsbFllYXIoKTtcblxuICAgICAgICBjb25zdCBzdGFydE9mUXVhcnRlciA9IG5ldyBEYXRlKERhdGUuVVRDKHllYXIsIHF1YXJ0ZXJTdGFydE1vbnRoc1txdWFydGVyXSwgMSwgMCwgMCwgMCwgMCkpO1xuICAgICAgICByZXR1cm4gc3RhcnRPZlF1YXJ0ZXIudG9JU09TdHJpbmcoKTtcbiAgICAgIGNhc2UgJ3llYXInOlxuICAgICAgICByZXR1cm4gbmV3IERhdGUobmV3IERhdGUoa2V5IGFzIHN0cmluZykuZ2V0RnVsbFllYXIoKSwgMCwgMSkudG9JU09TdHJpbmcoKTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBkYXRlLnRvSVNPU3RyaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgc3RhdGljIGZpbHRlckl0ZW1zKGl0ZW1zOiBJdGVtW10sIGZpbHRlcnM6IEZpbHRlcltdKSB7XG4gICAgbGV0IGZpbHRlcnNCeUF0dHJpYnV0ZSA9IGZpbHRlcnNcbiAgICAgIC5tYXAoKGZpbHRlcikgPT5cbiAgICAgICAgZmlsdGVyLmF0dHJpYnV0ZXMubWFwKChhdHRyaWJ1dGUpID0+ICh7XG4gICAgICAgICAgLi4uZmlsdGVyLFxuICAgICAgICAgIGF0dHJpYnV0ZTogYXR0cmlidXRlLmlkLFxuICAgICAgICAgIGF0dHJpYnV0ZXM6IHVuZGVmaW5lZFxuICAgICAgICB9KSlcbiAgICAgIClcbiAgICAgIC5mbGF0KCk7XG5cbiAgICByZXR1cm4gZmlsdGVycy5sZW5ndGggPiAwXG4gICAgICA/IFtcbiAgICAgICAgICAuLi5uZXcgU2V0KFxuICAgICAgICAgICAgZmlsdGVyc0J5QXR0cmlidXRlXG4gICAgICAgICAgICAgIC5tYXAoKGZpbHRlcikgPT5cbiAgICAgICAgICAgICAgICBpdGVtcy5maWx0ZXIoKGl0ZW0pID0+XG4gICAgICAgICAgICAgICAgICB0aGlzLmRvZXNJdGVtVmFsdWVQYXNzRmlsdGVyKGl0ZW0sIGZpbHRlci5hdHRyaWJ1dGUsIGZpbHRlci5vcGVyYXRvciwgZmlsdGVyLnZhbHVlKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAuZmxhdCgpXG4gICAgICAgICAgKVxuICAgICAgICBdXG4gICAgICA6IGl0ZW1zO1xuICB9XG5cbiAgc3RhdGljIGRvZXNJdGVtVmFsdWVQYXNzRmlsdGVyKFxuICAgIGl0ZW06IEl0ZW0sXG4gICAgYXR0cmlidXRlOiBzdHJpbmcsXG4gICAgb3BlcmF0b3I6IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgICBmaWx0ZXJWYWx1ZTogc3RyaW5nIHwgbnVtYmVyIHwgc3RyaW5nW10gfCBudW1iZXJbXSB8IHVuZGVmaW5lZFxuICApOiBib29sZWFuIHtcbiAgICBsZXQgdmFsdWUgPSBBZ2dyZWdhdGlvblV0aWxzLmdldFZhbHVlRnJvbUF0dHJpYnV0ZShpdGVtLCBhdHRyaWJ1dGUpPy52YWx1ZSBhcyBzdHJpbmcgfCBudW1iZXI7XG4gICAgbGV0IGRhdGUxOiBEYXRlLCBkYXRlMjogRGF0ZTtcblxuICAgIGxldCBmaWx0ZXJQb3NzaWJsZVZhbHVlcyA9IEFycmF5LmlzQXJyYXkoZmlsdGVyVmFsdWUpID8gZmlsdGVyVmFsdWUgOiAoW2ZpbHRlclZhbHVlXSBhcyBzdHJpbmdbXSB8IG51bWJlcltdKTtcblxuICAgIHJldHVybiBmaWx0ZXJQb3NzaWJsZVZhbHVlc1xuICAgICAgLm1hcCgocG9zc2libGVGaWx0ZXJWYWx1ZSkgPT4ge1xuICAgICAgICBzd2l0Y2ggKG9wZXJhdG9yKSB7XG4gICAgICAgICAgY2FzZSAnRVFVQUxTJzpcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZSA9PT0gZmlsdGVyVmFsdWU7XG4gICAgICAgICAgY2FzZSAnTk9UX0VRVUFMUyc6XG4gICAgICAgICAgICByZXR1cm4gdmFsdWUgIT09IGZpbHRlclZhbHVlO1xuICAgICAgICAgIGNhc2UgJ0NPTlRBSU5TJzpcbiAgICAgICAgICAgIHJldHVybiAodmFsdWUgYXMgc3RyaW5nKS5pbmNsdWRlcyhmaWx0ZXJWYWx1ZSBhcyBzdHJpbmcpO1xuICAgICAgICAgIGNhc2UgJ1NUQVJUX1dJVEgnOlxuICAgICAgICAgICAgcmV0dXJuICh2YWx1ZSBhcyBzdHJpbmcpLnN0YXJ0c1dpdGgoZmlsdGVyVmFsdWUgYXMgc3RyaW5nKTtcbiAgICAgICAgICBjYXNlICdFTkRfV0lUSCc6XG4gICAgICAgICAgICByZXR1cm4gKHZhbHVlIGFzIHN0cmluZykuZW5kc1dpdGgoZmlsdGVyVmFsdWUgYXMgc3RyaW5nKTtcbiAgICAgICAgICBjYXNlICdHUkVBVEVSX1RIQU4nOlxuICAgICAgICAgICAgaWYgKHR5cGVvZiBmaWx0ZXJWYWx1ZSA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgICAgICAgcmV0dXJuICh2YWx1ZSBhcyBudW1iZXIpID4gZmlsdGVyVmFsdWU7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiBmaWx0ZXJWYWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIG5ldyBEYXRlKHZhbHVlKSA+IG5ldyBEYXRlKGZpbHRlclZhbHVlKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICBjYXNlICdMT1dFUl9USEFOJzpcbiAgICAgICAgICAgIGlmICh0eXBlb2YgZmlsdGVyVmFsdWUgPT09ICdudW1iZXInKSB7XG4gICAgICAgICAgICAgIHJldHVybiAodmFsdWUgYXMgbnVtYmVyKSA8IGZpbHRlclZhbHVlO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgZmlsdGVyVmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgIHJldHVybiBuZXcgRGF0ZSh2YWx1ZSkgPCBuZXcgRGF0ZShmaWx0ZXJWYWx1ZSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgY2FzZSAnSU5TSURFJzpcbiAgICAgICAgICAgIFtkYXRlMSwgZGF0ZTJdID0gW1xuICAgICAgICAgICAgICBuZXcgRGF0ZSgoZmlsdGVyVmFsdWUgYXMgc3RyaW5nKS5zcGxpdCgnLCcpWzBdKSxcbiAgICAgICAgICAgICAgbmV3IERhdGUoKGZpbHRlclZhbHVlIGFzIHN0cmluZykuc3BsaXQoJywnKVsxXSlcbiAgICAgICAgICAgIF07XG4gICAgICAgICAgICByZXR1cm4gbmV3IERhdGUodmFsdWUpID4gbmV3IERhdGUoZGF0ZTEpICYmIG5ldyBEYXRlKHZhbHVlKSA8IG5ldyBEYXRlKGRhdGUyKTtcbiAgICAgICAgICBjYXNlICdPVVRTSURFJzpcbiAgICAgICAgICAgIFtkYXRlMSwgZGF0ZTJdID0gW1xuICAgICAgICAgICAgICBuZXcgRGF0ZSgoZmlsdGVyVmFsdWUgYXMgc3RyaW5nKS5zcGxpdCgnLCcpWzBdKSxcbiAgICAgICAgICAgICAgbmV3IERhdGUoKGZpbHRlclZhbHVlIGFzIHN0cmluZykuc3BsaXQoJywnKVsxXSlcbiAgICAgICAgICAgIF07XG4gICAgICAgICAgICByZXR1cm4gbmV3IERhdGUodmFsdWUpIDwgbmV3IERhdGUoZGF0ZTEpICYmIG5ldyBEYXRlKHZhbHVlKSA+IG5ldyBEYXRlKGRhdGUyKTtcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgICAucmVkdWNlKChwLCBjKSA9PiBwIHx8IGMpO1xuICB9XG59XG4iXX0=
|
|
@@ -12,7 +12,7 @@ export class CqlUtils {
|
|
|
12
12
|
const attributeName = attribute?.technicalName;
|
|
13
13
|
return this.getConditionsForValue(attributeName, cond, field, datasourceId);
|
|
14
14
|
})
|
|
15
|
-
.filter((conds) => conds.length > 0)
|
|
15
|
+
.filter((conds) => !!conds && conds.length > 0)
|
|
16
16
|
.join(' AND ');
|
|
17
17
|
}
|
|
18
18
|
static getConditionsForValue(attributeName, cond, field, datasourceId) {
|
|
@@ -68,4 +68,4 @@ export class CqlUtils {
|
|
|
68
68
|
return conditions.length > 1 ? '( ' + conditions.join(' OR ') + ' )' : conditions[0];
|
|
69
69
|
}
|
|
70
70
|
}
|
|
71
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3FsLXV0aWxzLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvd2lkZ2V0cy93aWRnZXQtbWFwL3V0aWxzL2NxbC11dGlscy5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQStCLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRWpGLE1BQU0sT0FBTyxRQUFRO0lBQ25CLE1BQU0sQ0FBQyxlQUFlLENBQ3BCLFlBQW9CLEVBQ3BCLE9BQXlDLEVBQ3pDLE9BQWdCLEVBQ2hCLE1BQWU7UUFFZixJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsWUFBWSxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDOUYsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBRUQsTUFBTSxtQkFBbUIsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFNUUsT0FBTyxPQUFPLENBQUMsWUFBWSxDQUFDO2FBQ3pCLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ1osTUFBTSxTQUFTLEdBQUcsbUJBQW1CLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNqRixNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUM1RCxNQUFNLGFBQWEsR0FBRyxTQUFTLEVBQUUsYUFB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Q0FBQzs0QkFDN0MsSUFBSSxNQUFNLElBQUksTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQ0FDaEMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLGFBQWEsSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsYUFBYSxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7NEJBQ3pGLENBQUM7NEJBQ0QsTUFBTTtvQkFDVixDQUFDO2dCQUNILENBQUM7WUFDSCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxDQUFDLElBQUksQ0FDVix1Q0FBdUMsWUFBWSxZQUFZLElBQUksQ0FBQyxTQUFTLGlDQUFpQyxDQUMvRyxDQUFDO1FBQ0osQ0FBQztRQUVELE9BQU8sVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3ZGLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENsYXNzLCBGaWVsZCwgRmlsdGVyQ29udGV4dCwgVGV4dEZpZWxkVHlwZXMgfSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQnO1xuXG5leHBvcnQgY2xhc3MgQ3FsVXRpbHMge1xuICBzdGF0aWMgZ2V0Q1FMUGFyYW1zRm9yKFxuICAgIGRhdGFzb3VyY2VJZDogc3RyaW5nLFxuICAgIGZpbHRlcnM6IHsgW3A6IHN0cmluZ106IEZpbHRlckNvbnRleHRbXSB9LFxuICAgIGNsYXNzZXM6IENsYXNzW10sXG4gICAgZmllbGRzOiBGaWVsZFtdXG4gICk6IHN0cmluZyB8IG51bGwge1xuICAgIGlmICghZmlsdGVycyB8fCAhZGF0YXNvdXJjZUlkIHx8ICFmaWx0ZXJzW2RhdGFzb3VyY2VJZF0gfHwgZmlsdGVyc1tkYXRhc291cmNlSWRdLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgYXR0cmlidXRlc1JlZmVyZW5jZSA9IGNsYXNzZXMubWFwKChjbGF6eikgPT4gY2xhenouYXR0cmlidXRlcykuZmxhdCgpO1xuXG4gICAgcmV0dXJuIGZpbHRlcnNbZGF0YXNvdXJjZUlkXVxuICAgICAgLm1hcCgoY29uZCkgPT4ge1xuICAgICAgICBjb25zdCBhdHRyaWJ1dGUgPSBhdHRyaWJ1dGVzUmVmZXJlbmNlLmZpbmQoKGF0dHIpID0+IGF0dHIuaWQgPT09IGNvbmQuYXR0cmlidXRlKTtcbiAgICAgICAgY29uc3QgZmllbGQgPSBmaWVsZHMuZmluZCgoZikgPT4gZi5pZCA9PT0gYXR0cmlidXRlPy5maWVsZCk7XG4gICAgICAgIGNvbnN0IGF0dHJpYnV0ZU5hbWUgPSBhdHRyaWJ1dGU/LnRlY2huaWNhbE5hbWU7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Q29uZGl0aW9uc0ZvclZhbHVlKGF0dHJpYnV0ZU5hbWUsIGNvbmQsIGZpZWxkLCBkYXRhc291cmNlSWQpO1xuICAgICAgfSlcbiAgICAgIC5maWx0ZXIoKGNvbmRzKSA9PiAhIWNvbmRzICYmIGNvbmRzLmxlbmd0aCA+IDApXG4gICAgICAuam9pbignIEFORCAnKTtcbiAgfVxuXG4gIHN0YXRpYyBnZXRDb25kaXRpb25zRm9yVmFsdWUoXG4gICAgYXR0cmlidXRlTmFtZTogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICAgIGNvbmQ6IEZpbHRlckNvbnRleHQsXG4gICAgZmllbGQ6IEZpZWxkIHwgdW5kZWZpbmVkLFxuICAgIGRhdGFzb3VyY2VJZDogc3RyaW5nXG4gICkge1xuICAgIGxldCBjb25kaXRpb25zOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgY29uc3QgdmFsdWVzID0gKEFycmF5LmlzQXJyYXkoY29uZC52YWx1ZSkgPyBjb25kLnZhbHVlIDogW2NvbmQudmFsdWVdKSBhcyBzdHJpbmdbXSB8IG51bWJlcltdO1xuXG4gICAgaWYgKGF0dHJpYnV0ZU5hbWUpIHtcbiAgICAgIHZhbHVlcy5mb3JFYWNoKCh2YWx1ZSkgPT4ge1xuICAgICAgICBpZiAodmFsdWUgJiYgKHR5cGVvZiB2YWx1ZSAhPT0gJ3N0cmluZycgfHwgdmFsdWUubGVuZ3RoID4gMCkpIHtcbiAgICAgICAgICBjb25zdCBxdW90ZVNhZmVWYWx1ZSA9IGAke3ZhbHVlfWAucmVwbGFjZSgvJy9nLCBcIicnXCIpO1xuICAgICAgICAgIHN3aXRjaCAoY29uZC5vcGVyYXRvcikge1xuICAgICAgICAgICAgY2FzZSAnRVFVQUxTJzpcbiAgICAgICAgICAgICAgaWYgKCFmaWVsZCB8fCBUZXh0RmllbGRUeXBlcy5pbmNsdWRlcyhmaWVsZD8udHlwZSkpIHtcbiAgICAgICAgICAgICAgICBjb25kaXRpb25zLnB1c2goYCR7YXR0cmlidXRlTmFtZX09JyR7cXVvdGVTYWZlVmFsdWV9J2ApO1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbmRpdGlvbnMucHVzaChgJHthdHRyaWJ1dGVOYW1lfT0ke3ZhbHVlfWApO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnQ09OVEFJTlMnOlxuICAgICAgICAgICAgICBjb25kaXRpb25zLnB1c2goYCR7YXR0cmlidXRlTmFtZX0gTElLRSAnJSR7cXVvdGVTYWZlVmFsdWV9JSdgKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdTVEFSVF9XSVRIJzpcbiAgICAgICAgICAgICAgY29uZGl0aW9ucy5wdXNoKGAke2F0dHJpYnV0ZU5hbWV9IExJS0UgJyR7cXVvdGVTYWZlVmFsdWV9JSdgKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdFTkRfV0lUSCc6XG4gICAgICAgICAgICAgIGNvbmRpdGlvbnMucHVzaChgJHthdHRyaWJ1dGVOYW1lfSBMSUtFICclJHtxdW90ZVNhZmVWYWx1ZX0nYCk7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnR1JFQVRFUl9USEFOJzpcbiAgICAgICAgICAgICAgY29uZGl0aW9ucy5wdXNoKGAke2F0dHJpYnV0ZU5hbWV9PiR7dmFsdWV9YCk7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnTE9XRVJfVEhBTic6XG4gICAgICAgICAgICAgIGNvbmRpdGlvbnMucHVzaChgJHthdHRyaWJ1dGVOYW1lfTwke3ZhbHVlfWApO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ09VVFNJREUnOlxuICAgICAgICAgICAgICBjb25zdCBzcGxpdEkgPSAodmFsdWUgYXMgc3RyaW5nKT8uc3BsaXQoJywnKTtcbiAgICAgICAgICAgICAgaWYgKHNwbGl0SSAmJiBzcGxpdEkubGVuZ3RoID4gMSkge1xuICAgICAgICAgICAgICAgIGNvbmRpdGlvbnMucHVzaChgKCAke2F0dHJpYnV0ZU5hbWV9PCR7c3BsaXRJWzBdfSBBTkQgJHthdHRyaWJ1dGVOYW1lfT4ke3NwbGl0SVsxXX0gKWApO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnSU5TSURFJzpcbiAgICAgICAgICAgICAgY29uc3Qgc3BsaXRPID0gKHZhbHVlIGFzIHN0cmluZyk/LnNwbGl0KCcsJyk7XG4gICAgICAgICAgICAgIGlmIChzcGxpdE8gJiYgc3BsaXRPLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgICAgICBjb25kaXRpb25zLnB1c2goYCggJHthdHRyaWJ1dGVOYW1lfT4ke3NwbGl0T1swXX0gQU5EICR7YXR0cmlidXRlTmFtZX08JHtzcGxpdE9bMV19IClgKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgIGBDYW5ub3QgYWRkIGNxbCBmaWx0ZXIgb24gZGF0YXNvdXJjZSAke2RhdGFzb3VyY2VJZH0gYmVjYXVzZSAke2NvbmQuYXR0cmlidXRlfSBhdHRyaWJ1dGUgbm90IGZvdW5kIGluIGNsYXNzZXNgXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiBjb25kaXRpb25zLmxlbmd0aCA+IDEgPyAnKCAnICsgY29uZGl0aW9ucy5qb2luKCcgT1IgJykgKyAnICknIDogY29uZGl0aW9uc1swXTtcbiAgfVxufVxuIl19
|
|
@@ -283,7 +283,7 @@ class CqlUtils {
|
|
|
283
283
|
const attributeName = attribute?.technicalName;
|
|
284
284
|
return this.getConditionsForValue(attributeName, cond, field, datasourceId);
|
|
285
285
|
})
|
|
286
|
-
.filter((conds) => conds.length > 0)
|
|
286
|
+
.filter((conds) => !!conds && conds.length > 0)
|
|
287
287
|
.join(' AND ');
|
|
288
288
|
}
|
|
289
289
|
static getConditionsForValue(attributeName, cond, field, datasourceId) {
|