@creatio/base 0.833.0 → 0.834.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (183) hide show
  1. package/CHANGELOG.md +5 -4
  2. package/fesm2022/creatio-base.mjs +28 -13
  3. package/fesm2022/creatio-base.mjs.map +1 -1
  4. package/index.d.ts +40 -53
  5. package/package.json +1 -3
  6. package/esm2022/creatio-base.mjs +0 -5
  7. package/esm2022/index.mjs +0 -2
  8. package/esm2022/lib/external/utils/date-utils.mjs +0 -51
  9. package/esm2022/lib/external/utils/index.mjs +0 -2
  10. package/esm2022/lib/index.mjs +0 -12
  11. package/esm2022/lib/internal/enums/data-schema-attribute-type.enum.mjs +0 -21
  12. package/esm2022/lib/internal/enums/data-source-scope.enum.mjs +0 -9
  13. package/esm2022/lib/internal/enums/default-value-source.enum.mjs +0 -12
  14. package/esm2022/lib/internal/enums/index.mjs +0 -6
  15. package/esm2022/lib/internal/enums/lookup-mode.mjs +0 -10
  16. package/esm2022/lib/internal/enums/platform-apis.enum.mjs +0 -16
  17. package/esm2022/lib/internal/model/data-schema/data-schema-attribute-aggregation-config.model.mjs +0 -2
  18. package/esm2022/lib/internal/model/data-schema/data-schema-attribute-function-config.model.mjs +0 -2
  19. package/esm2022/lib/internal/model/data-schema/data-schema-validator-config.model.mjs +0 -2
  20. package/esm2022/lib/internal/model/data-schema/index.mjs +0 -4
  21. package/esm2022/lib/internal/model/data-source-config.mjs +0 -2
  22. package/esm2022/lib/internal/model/index.mjs +0 -3
  23. package/esm2022/lib/internal/models/compatible-apis.model.mjs +0 -2
  24. package/esm2022/lib/internal/models/default-value-schema.mjs +0 -2
  25. package/esm2022/lib/internal/models/filtration-platform-api-options.model.mjs +0 -2
  26. package/esm2022/lib/internal/models/index.mjs +0 -5
  27. package/esm2022/lib/internal/models/platform-api-options.model.mjs +0 -2
  28. package/esm2022/lib/public/enums/aggregation-function.enum.mjs +0 -36
  29. package/esm2022/lib/public/enums/aggregation-type.enum.mjs +0 -44
  30. package/esm2022/lib/public/enums/data-schema-type.enum.mjs +0 -21
  31. package/esm2022/lib/public/enums/data-value-type.enum.mjs +0 -239
  32. package/esm2022/lib/public/enums/index.mjs +0 -7
  33. package/esm2022/lib/public/enums/message-channel-type.enum.mjs +0 -24
  34. package/esm2022/lib/public/enums/model-in-page-action.enum.mjs +0 -20
  35. package/esm2022/lib/public/esq/data-model/columns/arithmetic/arithmetic-query-column.mjs +0 -14
  36. package/esm2022/lib/public/esq/data-model/columns/base-query-column.mjs +0 -79
  37. package/esm2022/lib/public/esq/data-model/columns/entity-column/entity-query-column.mjs +0 -15
  38. package/esm2022/lib/public/esq/data-model/columns/functions/aggregation-function-column.mjs +0 -18
  39. package/esm2022/lib/public/esq/data-model/columns/functions/date-part-function-column.mjs +0 -27
  40. package/esm2022/lib/public/esq/data-model/columns/functions/length-function-column.mjs +0 -14
  41. package/esm2022/lib/public/esq/data-model/columns/functions/macros-function-column.mjs +0 -14
  42. package/esm2022/lib/public/esq/data-model/columns/functions/window-function-column.mjs +0 -14
  43. package/esm2022/lib/public/esq/data-model/columns/index.mjs +0 -13
  44. package/esm2022/lib/public/esq/data-model/columns/parameters/parameter-query-column.mjs +0 -14
  45. package/esm2022/lib/public/esq/data-model/columns/query-column-test-utils.mjs +0 -19
  46. package/esm2022/lib/public/esq/data-model/columns/sub-queries/aggregation-sub-query-column.mjs +0 -20
  47. package/esm2022/lib/public/esq/data-model/columns/sub-queries/sub-query-column.mjs +0 -14
  48. package/esm2022/lib/public/esq/data-model/enums/admin-unit-role-sources.enum.mjs +0 -40
  49. package/esm2022/lib/public/esq/data-model/enums/aggregation-eval-type.enum.mjs +0 -23
  50. package/esm2022/lib/public/esq/data-model/enums/arithmetic-operation.enum.mjs +0 -27
  51. package/esm2022/lib/public/esq/data-model/enums/comparison-type.enum.mjs +0 -104
  52. package/esm2022/lib/public/esq/data-model/enums/date-part-type.enum.mjs +0 -49
  53. package/esm2022/lib/public/esq/data-model/enums/expression-type.enum.mjs +0 -32
  54. package/esm2022/lib/public/esq/data-model/enums/filter-type.enum.mjs +0 -51
  55. package/esm2022/lib/public/esq/data-model/enums/function-type.enum.mjs +0 -46
  56. package/esm2022/lib/public/esq/data-model/enums/index.mjs +0 -12
  57. package/esm2022/lib/public/esq/data-model/enums/logical-operator-type.enum.mjs +0 -18
  58. package/esm2022/lib/public/esq/data-model/enums/order-direction.enum.mjs +0 -22
  59. package/esm2022/lib/public/esq/data-model/enums/query-macros-type.enum.mjs +0 -181
  60. package/esm2022/lib/public/esq/data-model/expressions/arithmetic/arithmetic-expression.mjs +0 -61
  61. package/esm2022/lib/public/esq/data-model/expressions/arithmetic/index.mjs +0 -2
  62. package/esm2022/lib/public/esq/data-model/expressions/base-expression.mjs +0 -70
  63. package/esm2022/lib/public/esq/data-model/expressions/columns/column-expression.mjs +0 -56
  64. package/esm2022/lib/public/esq/data-model/expressions/columns/index.mjs +0 -2
  65. package/esm2022/lib/public/esq/data-model/expressions/esq-expression.interface.mjs +0 -2
  66. package/esm2022/lib/public/esq/data-model/expressions/expression-parser/base-expression-parser.mjs +0 -17
  67. package/esm2022/lib/public/esq/data-model/expressions/expression-parser/expression-parser.mjs +0 -18
  68. package/esm2022/lib/public/esq/data-model/expressions/expression-parser/expression-resolver.mjs +0 -48
  69. package/esm2022/lib/public/esq/data-model/expressions/expression-parser/index.mjs +0 -4
  70. package/esm2022/lib/public/esq/data-model/expressions/functions/aggregation-function-expression.mjs +0 -51
  71. package/esm2022/lib/public/esq/data-model/expressions/functions/argument-function-expression.mjs +0 -41
  72. package/esm2022/lib/public/esq/data-model/expressions/functions/date-part-function-expression.mjs +0 -44
  73. package/esm2022/lib/public/esq/data-model/expressions/functions/function-expression.mjs +0 -33
  74. package/esm2022/lib/public/esq/data-model/expressions/functions/index.mjs +0 -8
  75. package/esm2022/lib/public/esq/data-model/expressions/functions/length-function-expression.mjs +0 -44
  76. package/esm2022/lib/public/esq/data-model/expressions/functions/macros-function-expression.mjs +0 -55
  77. package/esm2022/lib/public/esq/data-model/expressions/functions/window-function-expression.mjs +0 -42
  78. package/esm2022/lib/public/esq/data-model/expressions/index.mjs +0 -10
  79. package/esm2022/lib/public/esq/data-model/expressions/mocks/expression.mock.mjs +0 -38
  80. package/esm2022/lib/public/esq/data-model/expressions/mocks/index.mjs +0 -2
  81. package/esm2022/lib/public/esq/data-model/expressions/parameters/index.mjs +0 -2
  82. package/esm2022/lib/public/esq/data-model/expressions/parameters/parameter-expression.mjs +0 -119
  83. package/esm2022/lib/public/esq/data-model/expressions/sub-queries/aggregation-sub-query-expression.mjs +0 -43
  84. package/esm2022/lib/public/esq/data-model/expressions/sub-queries/index.mjs +0 -3
  85. package/esm2022/lib/public/esq/data-model/expressions/sub-queries/sub-query-expression.mjs +0 -83
  86. package/esm2022/lib/public/esq/data-model/filters/base-filter.mjs +0 -73
  87. package/esm2022/lib/public/esq/data-model/filters/between-filter.mjs +0 -70
  88. package/esm2022/lib/public/esq/data-model/filters/compare-filter.mjs +0 -63
  89. package/esm2022/lib/public/esq/data-model/filters/esq-filter.interface.mjs +0 -2
  90. package/esm2022/lib/public/esq/data-model/filters/exists-filter.mjs +0 -75
  91. package/esm2022/lib/public/esq/data-model/filters/filter-group.mjs +0 -257
  92. package/esm2022/lib/public/esq/data-model/filters/filter-parser/base-filter-parser.mjs +0 -15
  93. package/esm2022/lib/public/esq/data-model/filters/filter-parser/filter-parser.mjs +0 -23
  94. package/esm2022/lib/public/esq/data-model/filters/filter-parser/filter-resolver.mjs +0 -31
  95. package/esm2022/lib/public/esq/data-model/filters/filter-parser/index.mjs +0 -4
  96. package/esm2022/lib/public/esq/data-model/filters/filter-test-utils.mjs +0 -17
  97. package/esm2022/lib/public/esq/data-model/filters/in-filter.mjs +0 -69
  98. package/esm2022/lib/public/esq/data-model/filters/index.mjs +0 -13
  99. package/esm2022/lib/public/esq/data-model/filters/isnull-filter.mjs +0 -61
  100. package/esm2022/lib/public/esq/data-model/filters/mocks/filter.mock.mjs +0 -34
  101. package/esm2022/lib/public/esq/data-model/filters/mocks/index.mjs +0 -3
  102. package/esm2022/lib/public/esq/data-model/filters/mocks/parser.mock.mjs +0 -11
  103. package/esm2022/lib/public/esq/data-model/filters/single-filter.mjs +0 -40
  104. package/esm2022/lib/public/esq/data-model/index.mjs +0 -8
  105. package/esm2022/lib/public/esq/data-model/metadata-provider/metadata-provider.mjs +0 -2
  106. package/esm2022/lib/public/esq/data-model/queries/base-filterable-query.mjs +0 -49
  107. package/esm2022/lib/public/esq/data-model/queries/base-query.mjs +0 -40
  108. package/esm2022/lib/public/esq/data-model/queries/delete-query.mjs +0 -17
  109. package/esm2022/lib/public/esq/data-model/queries/entity-schema-query.mjs +0 -262
  110. package/esm2022/lib/public/esq/data-model/queries/index.mjs +0 -9
  111. package/esm2022/lib/public/esq/data-model/queries/insert-query.mjs +0 -46
  112. package/esm2022/lib/public/esq/data-model/queries/query-operation-type.mjs +0 -28
  113. package/esm2022/lib/public/esq/data-model/queries/select-localization-query.mjs +0 -9
  114. package/esm2022/lib/public/esq/data-model/queries/update-query.mjs +0 -51
  115. package/esm2022/lib/public/esq/data-model/used-column.mjs +0 -2
  116. package/esm2022/lib/public/esq/index.mjs +0 -2
  117. package/esm2022/lib/public/exceptions/argument-empty-exception.mjs +0 -12
  118. package/esm2022/lib/public/exceptions/argument-out-of-range-exception.mjs +0 -12
  119. package/esm2022/lib/public/exceptions/index.mjs +0 -6
  120. package/esm2022/lib/public/exceptions/item-not-found-exception.mjs +0 -12
  121. package/esm2022/lib/public/exceptions/next-handler-already-specified-exception.mjs +0 -10
  122. package/esm2022/lib/public/exceptions/validation-utilities.mjs +0 -66
  123. package/esm2022/lib/public/interfaces/index.mjs +0 -2
  124. package/esm2022/lib/public/interfaces/serializable.mjs +0 -2
  125. package/esm2022/lib/public/models/data-source/data-source-insert-result.model.mjs +0 -2
  126. package/esm2022/lib/public/models/data-source/data-source-save-result.model.mjs +0 -2
  127. package/esm2022/lib/public/models/data-source/index.mjs +0 -3
  128. package/esm2022/lib/public/models/index.mjs +0 -11
  129. package/esm2022/lib/public/models/item-creation-config.mjs +0 -2
  130. package/esm2022/lib/public/models/lookup-value.model.mjs +0 -2
  131. package/esm2022/lib/public/models/message-channel-event.mjs +0 -3
  132. package/esm2022/lib/public/models/model-init-config.mjs +0 -2
  133. package/esm2022/lib/public/models/request/base-request.mjs +0 -8
  134. package/esm2022/lib/public/models/request/index.mjs +0 -3
  135. package/esm2022/lib/public/models/request/request-registration-config.model.mjs +0 -2
  136. package/esm2022/lib/public/models/request-handler/index.mjs +0 -2
  137. package/esm2022/lib/public/models/request-handler/request-handler.mjs +0 -2
  138. package/esm2022/lib/public/models/subscription.mjs +0 -39
  139. package/esm2022/lib/public/models/view-model-collection.mjs +0 -2
  140. package/esm2022/lib/public/models/view-model-context.mjs +0 -3
  141. package/esm2022/lib/public/services/dialog/dialog.service.mjs +0 -2
  142. package/esm2022/lib/public/services/dialog/index.mjs +0 -3
  143. package/esm2022/lib/public/services/dialog/models/base-dialog-button-config.mjs +0 -2
  144. package/esm2022/lib/public/services/dialog/models/dialog-action.mjs +0 -2
  145. package/esm2022/lib/public/services/dialog/models/dialog-config.mjs +0 -2
  146. package/esm2022/lib/public/services/dialog/models/index.mjs +0 -4
  147. package/esm2022/lib/public/services/index.mjs +0 -6
  148. package/esm2022/lib/public/services/mask-service/base-mask.service.mjs +0 -2
  149. package/esm2022/lib/public/services/mask-service/index.mjs +0 -3
  150. package/esm2022/lib/public/services/mask-service/schema-view-mask.request.mjs +0 -33
  151. package/esm2022/lib/public/services/message-channel/base-message-channel.service.mjs +0 -3
  152. package/esm2022/lib/public/services/message-channel/index.mjs +0 -2
  153. package/esm2022/lib/public/services/model/base-model.mjs +0 -2
  154. package/esm2022/lib/public/services/model/data-schema-attribute-value-masking-settings.mjs +0 -2
  155. package/esm2022/lib/public/services/model/data-schema-attribute.mjs +0 -2
  156. package/esm2022/lib/public/services/model/data-schema.mjs +0 -2
  157. package/esm2022/lib/public/services/model/data-source-aggregation-config.mjs +0 -2
  158. package/esm2022/lib/public/services/model/data-source-attribute.mjs +0 -2
  159. package/esm2022/lib/public/services/model/data-source-can-execute-operation.mjs +0 -2
  160. package/esm2022/lib/public/services/model/data-source-function-config.mjs +0 -2
  161. package/esm2022/lib/public/services/model/data-source-hierarchy-config.mjs +0 -2
  162. package/esm2022/lib/public/services/model/data-source-paging-config.mjs +0 -2
  163. package/esm2022/lib/public/services/model/data-source-parameter.mjs +0 -38
  164. package/esm2022/lib/public/services/model/data-source-sorting-config.mjs +0 -2
  165. package/esm2022/lib/public/services/model/index.mjs +0 -15
  166. package/esm2022/lib/public/services/model/model-load-options.mjs +0 -2
  167. package/esm2022/lib/public/services/sys-settings/base-sys-settings.service.mjs +0 -2
  168. package/esm2022/lib/public/services/sys-settings/index.mjs +0 -2
  169. package/esm2022/lib/public/types/abstract-type.mjs +0 -2
  170. package/esm2022/lib/public/types/aggregation-eval.type.mjs +0 -2
  171. package/esm2022/lib/public/types/button-color.type.mjs +0 -2
  172. package/esm2022/lib/public/types/date-part.type.mjs +0 -2
  173. package/esm2022/lib/public/types/entity-column-value.mjs +0 -2
  174. package/esm2022/lib/public/types/function.type.mjs +0 -2
  175. package/esm2022/lib/public/types/guid.type.mjs +0 -53
  176. package/esm2022/lib/public/types/index.mjs +0 -15
  177. package/esm2022/lib/public/types/json-data.type.mjs +0 -2
  178. package/esm2022/lib/public/types/localizable-string.type.mjs +0 -2
  179. package/esm2022/lib/public/types/localize-fn.type.mjs +0 -2
  180. package/esm2022/lib/public/types/resolve-dependency-fn.type.mjs +0 -2
  181. package/esm2022/lib/public/types/sort-direction.type.mjs +0 -2
  182. package/esm2022/lib/public/types/teardown-logic.type.mjs +0 -2
  183. package/esm2022/lib/public/types/type.mjs +0 -2
@@ -1,73 +0,0 @@
1
- /* Do not enable this rule because of issue https://github.com/vega/ts-json-schema-generator/issues/1531 */
2
- /* eslint-disable @typescript-eslint/no-inferrable-types */
3
- import { classToPlain } from 'class-transformer';
4
- /**
5
- * @public
6
- * @abstract
7
- * @generativeApi
8
- * @description Base class for all filters in the system.
9
- * @extends {ɵSerializable}
10
- */
11
- export class ɵBaseFilter {
12
- /**
13
- * @internal
14
- * @dontChange
15
- */
16
- static { this._instanceOfKey = 'devkit_BaseFilter'; }
17
- /**
18
- * @internal
19
- * @dontChange
20
- */
21
- static get _instanceOfKeys() {
22
- return [this._instanceOfKey];
23
- }
24
- /**
25
- * @public
26
- * @description Method for checking if an instance is of the current class type.
27
- * @param instance - The instance to check.
28
- * @returns `true` if the instance is of the current class type, `false` otherwise.
29
- */
30
- static [Symbol.hasInstance](instance) {
31
- const instanceOfKeys = instance?.constructor?.['_instanceOfKeys'] ?? [];
32
- return instanceOfKeys.includes(this._instanceOfKey);
33
- }
34
- constructor(filterType) {
35
- /**
36
- * @description Indicates that the filter is active and will be taken into account when building the query.
37
- * @default true
38
- */
39
- this.isEnabled = true;
40
- /**
41
- * @description Drop the time for the date / time type parameters. In FilterGroup this option is not supported.
42
- * @default false
43
- */
44
- this.trimDateTimeParameterToDate = false;
45
- this.filterType = filterType;
46
- }
47
- /**
48
- * Parses filter from json.
49
- * @public
50
- */
51
- static fromJson(dto, filterParser, expressionParser) {
52
- throw new Error(`fromJson not supported on filter type ${this.constructor.name}`);
53
- }
54
- serializeItem(item) {
55
- return typeof item.toJson === 'function'
56
- ? item.toJson()
57
- : classToPlain(item, {
58
- exposeUnsetFields: false,
59
- excludePrefixes: ['_'],
60
- });
61
- }
62
- /**
63
- * Converts instance to json object.
64
- * @public
65
- */
66
- toJson() {
67
- return classToPlain(this, {
68
- exposeUnsetFields: false,
69
- excludePrefixes: ['_'],
70
- });
71
- }
72
- }
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1maWx0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RldmtpdC9iYXNlL3NyYy9saWIvcHVibGljL2VzcS9kYXRhLW1vZGVsL2ZpbHRlcnMvYmFzZS1maWx0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkdBQTJHO0FBQzNHLDJEQUEyRDtBQUMzRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFTakQ7Ozs7OztHQU1HO0FBQ0gsTUFBTSxPQUFnQixXQUFXO0lBQ2hDOzs7T0FHRzthQUN1QixtQkFBYyxHQUFXLG1CQUFtQixBQUE5QixDQUErQjtJQUV2RTs7O09BR0c7SUFDTyxNQUFNLEtBQUssZUFBZTtRQUNuQyxPQUFPLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFtQkQ7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsUUFBcUI7UUFDdkQsTUFBTSxjQUFjLEdBQUcsUUFBUSxFQUFFLFdBQVcsRUFBRSxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3hFLE9BQU8sY0FBYyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELFlBQXNCLFVBQXVCO1FBdkI3Qzs7O1dBR0c7UUFDSSxjQUFTLEdBQVksSUFBSSxDQUFDO1FBRWpDOzs7V0FHRztRQUNJLGdDQUEyQixHQUFhLEtBQUssQ0FBQztRQWNwRCxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztJQUM5QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLFFBQVEsQ0FHcEIsR0FBZ0IsRUFBRSxZQUEyQixFQUFFLGdCQUFtQztRQUNuRixNQUFNLElBQUksS0FBSyxDQUFDLHlDQUF5QyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDbkYsQ0FBQztJQUVTLGFBQWEsQ0FBQyxJQUFtQjtRQUMxQyxPQUFPLE9BQU8sSUFBSSxDQUFDLE1BQU0sS0FBSyxVQUFVO1lBQ3ZDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2YsQ0FBQyxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUU7Z0JBQ25CLGlCQUFpQixFQUFFLEtBQUs7Z0JBQ3hCLGVBQWUsRUFBRSxDQUFDLEdBQUcsQ0FBQzthQUNyQixDQUFDLENBQUM7SUFDUCxDQUFDO0lBUUQ7OztPQUdHO0lBQ0ksTUFBTTtRQUNaLE9BQU8sWUFBWSxDQUFDLElBQUksRUFBRTtZQUN6QixpQkFBaUIsRUFBRSxLQUFLO1lBQ3hCLGVBQWUsRUFBRSxDQUFDLEdBQUcsQ0FBQztTQUN0QixDQUFDLENBQUM7SUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogRG8gbm90IGVuYWJsZSB0aGlzIHJ1bGUgYmVjYXVzZSBvZiBpc3N1ZSBodHRwczovL2dpdGh1Yi5jb20vdmVnYS90cy1qc29uLXNjaGVtYS1nZW5lcmF0b3IvaXNzdWVzLzE1MzEgKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1pbmZlcnJhYmxlLXR5cGVzICovXG5pbXBvcnQgeyBjbGFzc1RvUGxhaW4gfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5cbmltcG9ydCB7IMm1QmFzZUZpbHRlclBhcnNlciB9IGZyb20gJy4vZmlsdGVyLXBhcnNlci9iYXNlLWZpbHRlci1wYXJzZXInO1xuaW1wb3J0IHsgybVTZXJpYWxpemFibGUgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IMm1SnNvbk9iamVjdCB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL2pzb24tZGF0YS50eXBlJztcbmltcG9ydCB7IMm1RmlsdGVyVHlwZSB9IGZyb20gJy4uL2VudW1zL2ZpbHRlci10eXBlLmVudW0nO1xuaW1wb3J0IHsgybVCYXNlRXhwcmVzc2lvblBhcnNlciB9IGZyb20gJy4uL2V4cHJlc3Npb25zL2V4cHJlc3Npb24tcGFyc2VyL2Jhc2UtZXhwcmVzc2lvbi1wYXJzZXInO1xuaW1wb3J0IHsgVXNlZENvbHVtbiB9IGZyb20gJy4uL3VzZWQtY29sdW1uJztcblxuLyoqXG4gKiBAcHVibGljXG4gKiBAYWJzdHJhY3RcbiAqIEBnZW5lcmF0aXZlQXBpXG4gKiBAZGVzY3JpcHRpb24gQmFzZSBjbGFzcyBmb3IgYWxsIGZpbHRlcnMgaW4gdGhlIHN5c3RlbS5cbiAqIEBleHRlbmRzIHvJtVNlcmlhbGl6YWJsZX1cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIMm1QmFzZUZpbHRlciBpbXBsZW1lbnRzIMm1U2VyaWFsaXphYmxlIHtcblx0LyoqXG5cdCAqIEBpbnRlcm5hbFxuXHQgKiBAZG9udENoYW5nZVxuXHQgKi9cblx0cHJvdGVjdGVkIHN0YXRpYyByZWFkb25seSBfaW5zdGFuY2VPZktleTogc3RyaW5nID0gJ2RldmtpdF9CYXNlRmlsdGVyJztcblxuXHQvKipcblx0ICogQGludGVybmFsXG5cdCAqIEBkb250Q2hhbmdlXG5cdCAqL1xuXHRwcm90ZWN0ZWQgc3RhdGljIGdldCBfaW5zdGFuY2VPZktleXMoKTogc3RyaW5nW10ge1xuXHRcdHJldHVybiBbdGhpcy5faW5zdGFuY2VPZktleV07XG5cdH1cblxuXHQvKipcblx0ICogQGRlc2NyaXB0aW9uIFR5cGUgb2YgZmlsdGVyLlxuXHQgKi9cblx0cHVibGljIHJlYWRvbmx5IGZpbHRlclR5cGU6IMm1RmlsdGVyVHlwZTtcblxuXHQvKipcblx0ICogQGRlc2NyaXB0aW9uIEluZGljYXRlcyB0aGF0IHRoZSBmaWx0ZXIgaXMgYWN0aXZlIGFuZCB3aWxsIGJlIHRha2VuIGludG8gYWNjb3VudCB3aGVuIGJ1aWxkaW5nIHRoZSBxdWVyeS5cblx0ICogQGRlZmF1bHQgdHJ1ZVxuXHQgKi9cblx0cHVibGljIGlzRW5hYmxlZDogYm9vbGVhbiA9IHRydWU7XG5cblx0LyoqXG5cdCAqIEBkZXNjcmlwdGlvbiBEcm9wIHRoZSB0aW1lIGZvciB0aGUgZGF0ZSAvIHRpbWUgdHlwZSBwYXJhbWV0ZXJzLiBJbiBGaWx0ZXJHcm91cCB0aGlzIG9wdGlvbiBpcyBub3Qgc3VwcG9ydGVkLlxuXHQgKiBAZGVmYXVsdCBmYWxzZVxuXHQgKi9cblx0cHVibGljIHRyaW1EYXRlVGltZVBhcmFtZXRlclRvRGF0ZT86IGJvb2xlYW4gPSBmYWxzZTtcblxuXHQvKipcblx0ICogQHB1YmxpY1xuXHQgKiBAZGVzY3JpcHRpb24gTWV0aG9kIGZvciBjaGVja2luZyBpZiBhbiBpbnN0YW5jZSBpcyBvZiB0aGUgY3VycmVudCBjbGFzcyB0eXBlLlxuXHQgKiBAcGFyYW0gaW5zdGFuY2UgLSBUaGUgaW5zdGFuY2UgdG8gY2hlY2suXG5cdCAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgaW5zdGFuY2UgaXMgb2YgdGhlIGN1cnJlbnQgY2xhc3MgdHlwZSwgYGZhbHNlYCBvdGhlcndpc2UuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIFtTeW1ib2wuaGFzSW5zdGFuY2VdKGluc3RhbmNlOiDJtUJhc2VGaWx0ZXIpOiBib29sZWFuIHtcblx0XHRjb25zdCBpbnN0YW5jZU9mS2V5cyA9IGluc3RhbmNlPy5jb25zdHJ1Y3Rvcj8uWydfaW5zdGFuY2VPZktleXMnXSA/PyBbXTtcblx0XHRyZXR1cm4gaW5zdGFuY2VPZktleXMuaW5jbHVkZXModGhpcy5faW5zdGFuY2VPZktleSk7XG5cdH1cblxuXHRwcm90ZWN0ZWQgY29uc3RydWN0b3IoZmlsdGVyVHlwZTogybVGaWx0ZXJUeXBlKSB7XG5cdFx0dGhpcy5maWx0ZXJUeXBlID0gZmlsdGVyVHlwZTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgZmlsdGVyIGZyb20ganNvbi5cblx0ICogQHB1YmxpY1xuXHQgKi9cblx0cHVibGljIHN0YXRpYyBmcm9tSnNvbjxcblx0XHRURmlsdGVyUGFyc2VyIGV4dGVuZHMgdHlwZW9mIMm1QmFzZUZpbHRlclBhcnNlcixcblx0XHRURXhwcmVzc2lvblBhcnNlciBleHRlbmRzIHR5cGVvZiDJtUJhc2VFeHByZXNzaW9uUGFyc2VyLFxuXHQ+KGR0bzogybVKc29uT2JqZWN0LCBmaWx0ZXJQYXJzZXI6IFRGaWx0ZXJQYXJzZXIsIGV4cHJlc3Npb25QYXJzZXI6IFRFeHByZXNzaW9uUGFyc2VyKTogybVCYXNlRmlsdGVyIHtcblx0XHR0aHJvdyBuZXcgRXJyb3IoYGZyb21Kc29uIG5vdCBzdXBwb3J0ZWQgb24gZmlsdGVyIHR5cGUgJHt0aGlzLmNvbnN0cnVjdG9yLm5hbWV9YCk7XG5cdH1cblxuXHRwcm90ZWN0ZWQgc2VyaWFsaXplSXRlbShpdGVtOiDJtVNlcmlhbGl6YWJsZSk6IMm1SnNvbk9iamVjdCB7XG5cdFx0cmV0dXJuIHR5cGVvZiBpdGVtLnRvSnNvbiA9PT0gJ2Z1bmN0aW9uJ1xuXHRcdFx0PyBpdGVtLnRvSnNvbigpXG5cdFx0XHQ6IGNsYXNzVG9QbGFpbihpdGVtLCB7XG5cdFx0XHRcdFx0ZXhwb3NlVW5zZXRGaWVsZHM6IGZhbHNlLFxuXHRcdFx0XHRcdGV4Y2x1ZGVQcmVmaXhlczogWydfJ10sXG5cdFx0XHQgIH0pO1xuXHR9XG5cblx0LyoqXG5cdCAqIEBwdWJsaWNcblx0ICogQGRlc2NyaXB0aW9uIENsb25lcyBpbnN0YW5jZS5cblx0ICovXG5cdHB1YmxpYyBhYnN0cmFjdCBjbG9uZSgpOiDJtUJhc2VGaWx0ZXI7XG5cblx0LyoqXG5cdCAqIENvbnZlcnRzIGluc3RhbmNlIHRvIGpzb24gb2JqZWN0LlxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRwdWJsaWMgdG9Kc29uKCk6IMm1SnNvbk9iamVjdCB7XG5cdFx0cmV0dXJuIGNsYXNzVG9QbGFpbih0aGlzLCB7XG5cdFx0XHRleHBvc2VVbnNldEZpZWxkczogZmFsc2UsXG5cdFx0XHRleGNsdWRlUHJlZml4ZXM6IFsnXyddLFxuXHRcdH0pO1xuXHR9XG5cblx0LyoqXG5cdCAqIEBpbnRlcm5hbFxuXHQgKi9cblx0cHVibGljIGFic3RyYWN0IF9nZXRVc2VkQ29sdW1ucygpOiBVc2VkQ29sdW1uW107XG59XG4iXX0=
@@ -1,70 +0,0 @@
1
- import { ɵSingleFilter } from './single-filter';
2
- import { ɵComparisonType, ɵFilterType } from '../enums';
3
- /**
4
- * @public
5
- * generativeApi
6
- * @description Filter class of the "Between" type.
7
- * It contains RightLessExpression and RightGreaterExpression,
8
- * which represent the boundaries of values for filtering.
9
- * @extends {ɵSingleFilter}
10
- */
11
- export class ɵBetweenFilter extends ɵSingleFilter {
12
- /**
13
- * @internal
14
- * @dontChange
15
- */
16
- static { this._instanceOfKey = 'devkit_BetweenFilter'; }
17
- /**
18
- * @internal
19
- * @dontChange
20
- */
21
- static get _instanceOfKeys() {
22
- return [...ɵSingleFilter._instanceOfKeys, this._instanceOfKey];
23
- }
24
- constructor(leftExpression, rightLessExpression, rightGreaterExpression) {
25
- super(ɵFilterType.Between, ɵComparisonType.Between, leftExpression);
26
- /**
27
- * @description Type of filter.
28
- * @default 3
29
- * */
30
- this.filterType = ɵFilterType.Between;
31
- this.rightLessExpression = rightLessExpression?.clone();
32
- this.rightGreaterExpression = rightGreaterExpression?.clone();
33
- }
34
- /**
35
- * Parses filter from json.
36
- * @public
37
- */
38
- static fromJson(dto, filterParser, expressionParser) {
39
- const filter = new ɵBetweenFilter(expressionParser.fromJson(dto['leftExpression'], filterParser), expressionParser.fromJson(dto['rightLessExpression'], filterParser), expressionParser.fromJson(dto['rightGreaterExpression'], filterParser));
40
- filter.referenceSchemaName = dto['referenceSchemaName'];
41
- filter.dataValueType = dto['dataValueType'];
42
- return filter;
43
- }
44
- clone() {
45
- const filter = new ɵBetweenFilter(this.leftExpression, this.rightLessExpression, this.rightGreaterExpression);
46
- filter.isEnabled = this.isEnabled;
47
- filter.trimDateTimeParameterToDate = this.trimDateTimeParameterToDate;
48
- filter.referenceSchemaName = this.referenceSchemaName;
49
- filter.dataValueType = this.dataValueType;
50
- return filter;
51
- }
52
- toJson() {
53
- return {
54
- ...super.toJson(),
55
- rightLessExpression: this.serializeItem(this.rightLessExpression),
56
- rightGreaterExpression: this.serializeItem(this.rightGreaterExpression),
57
- };
58
- }
59
- /**
60
- * @internal
61
- */
62
- _getUsedColumns() {
63
- return [
64
- ...super._getUsedColumns(),
65
- ...this.rightLessExpression._getUsedColumns(),
66
- ...this.rightGreaterExpression._getUsedColumns(),
67
- ];
68
- }
69
- }
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmV0d2Vlbi1maWx0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RldmtpdC9iYXNlL3NyYy9saWIvcHVibGljL2VzcS9kYXRhLW1vZGVsL2ZpbHRlcnMvYmV0d2Vlbi1maWx0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBR2hELE9BQU8sRUFBRSxlQUFlLEVBQUUsV0FBVyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBTXhEOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLE9BQU8sY0FBZSxTQUFRLGFBQWE7SUFNaEQ7OztPQUdHO2FBQ3VCLG1CQUFjLEdBQVcsc0JBQXNCLEFBQWpDLENBQWtDO0lBRTFFOzs7T0FHRztJQUNPLE1BQU0sS0FBSyxlQUFlO1FBQ25DLE9BQU8sQ0FBQyxHQUFHLGFBQWEsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFZRCxZQUNDLGNBQThCLEVBQzlCLG1CQUFtQyxFQUNuQyxzQkFBc0M7UUFFdEMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsZUFBZSxDQUFDLE9BQU8sRUFBRSxjQUFjLENBQUMsQ0FBQztRQWxDckU7OzthQUdLO1FBQ1csZUFBVSxHQUFNLFdBQVcsQ0FBQyxPQUFPLENBQUM7UUErQm5ELElBQUksQ0FBQyxtQkFBbUIsR0FBRyxtQkFBbUIsRUFBRSxLQUFLLEVBQUUsQ0FBQztRQUN4RCxJQUFJLENBQUMsc0JBQXNCLEdBQUcsc0JBQXNCLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDL0QsQ0FBQztJQUVEOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxRQUFRLENBR3BCLEdBQWdCLEVBQUUsWUFBMkIsRUFBRSxnQkFBbUM7UUFDbkYsTUFBTSxNQUFNLEdBQUcsSUFBSSxjQUFjLENBQ2hDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQWdCLEVBQUUsWUFBWSxDQUFvQixFQUNoRyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFnQixFQUFFLFlBQVksQ0FBb0IsRUFDckcsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBZ0IsRUFBRSxZQUFZLENBQW9CLENBQ3hHLENBQUM7UUFDRixNQUFNLENBQUMsbUJBQW1CLEdBQUcsR0FBRyxDQUFDLHFCQUFxQixDQUFXLENBQUM7UUFDbEUsTUFBTSxDQUFDLGFBQWEsR0FBRyxHQUFHLENBQUMsZUFBZSxDQUFtQixDQUFDO1FBQzlELE9BQU8sTUFBTSxDQUFDO0lBQ2YsQ0FBQztJQUVNLEtBQUs7UUFDWCxNQUFNLE1BQU0sR0FBRyxJQUFJLGNBQWMsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUM5RyxNQUFNLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDbEMsTUFBTSxDQUFDLDJCQUEyQixHQUFHLElBQUksQ0FBQywyQkFBMkIsQ0FBQztRQUN0RSxNQUFNLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDO1FBQ3RELE1BQU0sQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUMxQyxPQUFPLE1BQU0sQ0FBQztJQUNmLENBQUM7SUFFTSxNQUFNO1FBQ1osT0FBTztZQUNOLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRTtZQUNqQixtQkFBbUIsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztZQUNqRSxzQkFBc0IsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQztTQUN2RSxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0ksZUFBZTtRQUNyQixPQUFPO1lBQ04sR0FBRyxLQUFLLENBQUMsZUFBZSxFQUFFO1lBQzFCLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGVBQWUsRUFBRTtZQUM3QyxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxlQUFlLEVBQUU7U0FDaEQsQ0FBQztJQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyDJtUJhc2VGaWx0ZXJQYXJzZXIgfSBmcm9tICcuL2ZpbHRlci1wYXJzZXIvYmFzZS1maWx0ZXItcGFyc2VyJztcbmltcG9ydCB7IMm1U2luZ2xlRmlsdGVyIH0gZnJvbSAnLi9zaW5nbGUtZmlsdGVyJztcbmltcG9ydCB7IMm1RGF0YVZhbHVlVHlwZSB9IGZyb20gJy4uLy4uLy4uL2VudW1zJztcbmltcG9ydCB7IMm1SnNvbk9iamVjdCB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL2pzb24tZGF0YS50eXBlJztcbmltcG9ydCB7IMm1Q29tcGFyaXNvblR5cGUsIMm1RmlsdGVyVHlwZSB9IGZyb20gJy4uL2VudW1zJztcbmltcG9ydCB7IMm1QmFzZUV4cHJlc3Npb24gfSBmcm9tICcuLi9leHByZXNzaW9ucy9iYXNlLWV4cHJlc3Npb24nO1xuaW1wb3J0IHsgSUVTUUV4cHJlc3Npb24gfSBmcm9tICcuLi9leHByZXNzaW9ucy9lc3EtZXhwcmVzc2lvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgybVCYXNlRXhwcmVzc2lvblBhcnNlciB9IGZyb20gJy4uL2V4cHJlc3Npb25zL2V4cHJlc3Npb24tcGFyc2VyL2Jhc2UtZXhwcmVzc2lvbi1wYXJzZXInO1xuaW1wb3J0IHsgVXNlZENvbHVtbiB9IGZyb20gJy4uL3VzZWQtY29sdW1uJztcblxuLyoqXG4gKiBAcHVibGljXG4gKiBnZW5lcmF0aXZlQXBpXG4gKiBAZGVzY3JpcHRpb24gRmlsdGVyIGNsYXNzIG9mIHRoZSBcIkJldHdlZW5cIiB0eXBlLlxuICogSXQgY29udGFpbnMgUmlnaHRMZXNzRXhwcmVzc2lvbiBhbmQgUmlnaHRHcmVhdGVyRXhwcmVzc2lvbixcbiAqIHdoaWNoIHJlcHJlc2VudCB0aGUgYm91bmRhcmllcyBvZiB2YWx1ZXMgZm9yIGZpbHRlcmluZy5cbiAqIEBleHRlbmRzIHvJtVNpbmdsZUZpbHRlcn1cbiAqL1xuZXhwb3J0IGNsYXNzIMm1QmV0d2VlbkZpbHRlciBleHRlbmRzIMm1U2luZ2xlRmlsdGVyIHtcblx0LyoqXG5cdCAqIEBkZXNjcmlwdGlvbiBUeXBlIG9mIGZpbHRlci5cblx0ICogQGRlZmF1bHQgM1xuXHQgKiAqL1xuXHRwdWJsaWMgcmVhZG9ubHkgZmlsdGVyVHlwZTogMyA9IMm1RmlsdGVyVHlwZS5CZXR3ZWVuO1xuXHQvKipcblx0ICogQGludGVybmFsXG5cdCAqIEBkb250Q2hhbmdlXG5cdCAqL1xuXHRwcm90ZWN0ZWQgc3RhdGljIHJlYWRvbmx5IF9pbnN0YW5jZU9mS2V5OiBzdHJpbmcgPSAnZGV2a2l0X0JldHdlZW5GaWx0ZXInO1xuXG5cdC8qKlxuXHQgKiBAaW50ZXJuYWxcblx0ICogQGRvbnRDaGFuZ2Vcblx0ICovXG5cdHByb3RlY3RlZCBzdGF0aWMgZ2V0IF9pbnN0YW5jZU9mS2V5cygpOiBzdHJpbmdbXSB7XG5cdFx0cmV0dXJuIFsuLi7JtVNpbmdsZUZpbHRlci5faW5zdGFuY2VPZktleXMsIHRoaXMuX2luc3RhbmNlT2ZLZXldO1xuXHR9XG5cblx0LyoqXG5cdCAqIEBkZXNjcmlwdGlvbiBUaGUgaW5pdGlhbCBleHByZXNzaW9uIG9mIHRoZSBmaWx0ZXJpbmcgcmFuZ2UuXG5cdCAqL1xuXHRwdWJsaWMgcmVhZG9ubHkgcmlnaHRMZXNzRXhwcmVzc2lvbjogSUVTUUV4cHJlc3Npb247XG5cblx0LyoqXG5cdCAqIEBkZXNjcmlwdGlvbiBUaGUgZmluYWwgZXhwcmVzc2lvbiBvZiB0aGUgZmlsdGVyaW5nIHJhbmdlLlxuXHQgKi9cblx0cHVibGljIHJlYWRvbmx5IHJpZ2h0R3JlYXRlckV4cHJlc3Npb246IElFU1FFeHByZXNzaW9uO1xuXG5cdGNvbnN0cnVjdG9yKFxuXHRcdGxlZnRFeHByZXNzaW9uOiBJRVNRRXhwcmVzc2lvbixcblx0XHRyaWdodExlc3NFeHByZXNzaW9uOiBJRVNRRXhwcmVzc2lvbixcblx0XHRyaWdodEdyZWF0ZXJFeHByZXNzaW9uOiBJRVNRRXhwcmVzc2lvbixcblx0KSB7XG5cdFx0c3VwZXIoybVGaWx0ZXJUeXBlLkJldHdlZW4sIMm1Q29tcGFyaXNvblR5cGUuQmV0d2VlbiwgbGVmdEV4cHJlc3Npb24pO1xuXHRcdHRoaXMucmlnaHRMZXNzRXhwcmVzc2lvbiA9IHJpZ2h0TGVzc0V4cHJlc3Npb24/LmNsb25lKCk7XG5cdFx0dGhpcy5yaWdodEdyZWF0ZXJFeHByZXNzaW9uID0gcmlnaHRHcmVhdGVyRXhwcmVzc2lvbj8uY2xvbmUoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgZmlsdGVyIGZyb20ganNvbi5cblx0ICogQHB1YmxpY1xuXHQgKi9cblx0cHVibGljIHN0YXRpYyBmcm9tSnNvbjxcblx0XHRURmlsdGVyUGFyc2VyIGV4dGVuZHMgdHlwZW9mIMm1QmFzZUZpbHRlclBhcnNlcixcblx0XHRURXhwcmVzc2lvblBhcnNlciBleHRlbmRzIHR5cGVvZiDJtUJhc2VFeHByZXNzaW9uUGFyc2VyLFxuXHQ+KGR0bzogybVKc29uT2JqZWN0LCBmaWx0ZXJQYXJzZXI6IFRGaWx0ZXJQYXJzZXIsIGV4cHJlc3Npb25QYXJzZXI6IFRFeHByZXNzaW9uUGFyc2VyKTogybVCZXR3ZWVuRmlsdGVyIHtcblx0XHRjb25zdCBmaWx0ZXIgPSBuZXcgybVCZXR3ZWVuRmlsdGVyKFxuXHRcdFx0ZXhwcmVzc2lvblBhcnNlci5mcm9tSnNvbihkdG9bJ2xlZnRFeHByZXNzaW9uJ10gYXMgybVKc29uT2JqZWN0LCBmaWx0ZXJQYXJzZXIpIGFzIMm1QmFzZUV4cHJlc3Npb24sXG5cdFx0XHRleHByZXNzaW9uUGFyc2VyLmZyb21Kc29uKGR0b1sncmlnaHRMZXNzRXhwcmVzc2lvbiddIGFzIMm1SnNvbk9iamVjdCwgZmlsdGVyUGFyc2VyKSBhcyDJtUJhc2VFeHByZXNzaW9uLFxuXHRcdFx0ZXhwcmVzc2lvblBhcnNlci5mcm9tSnNvbihkdG9bJ3JpZ2h0R3JlYXRlckV4cHJlc3Npb24nXSBhcyDJtUpzb25PYmplY3QsIGZpbHRlclBhcnNlcikgYXMgybVCYXNlRXhwcmVzc2lvbixcblx0XHQpO1xuXHRcdGZpbHRlci5yZWZlcmVuY2VTY2hlbWFOYW1lID0gZHRvWydyZWZlcmVuY2VTY2hlbWFOYW1lJ10gYXMgc3RyaW5nO1xuXHRcdGZpbHRlci5kYXRhVmFsdWVUeXBlID0gZHRvWydkYXRhVmFsdWVUeXBlJ10gYXMgybVEYXRhVmFsdWVUeXBlO1xuXHRcdHJldHVybiBmaWx0ZXI7XG5cdH1cblxuXHRwdWJsaWMgY2xvbmUoKTogybVCZXR3ZWVuRmlsdGVyIHtcblx0XHRjb25zdCBmaWx0ZXIgPSBuZXcgybVCZXR3ZWVuRmlsdGVyKHRoaXMubGVmdEV4cHJlc3Npb24sIHRoaXMucmlnaHRMZXNzRXhwcmVzc2lvbiwgdGhpcy5yaWdodEdyZWF0ZXJFeHByZXNzaW9uKTtcblx0XHRmaWx0ZXIuaXNFbmFibGVkID0gdGhpcy5pc0VuYWJsZWQ7XG5cdFx0ZmlsdGVyLnRyaW1EYXRlVGltZVBhcmFtZXRlclRvRGF0ZSA9IHRoaXMudHJpbURhdGVUaW1lUGFyYW1ldGVyVG9EYXRlO1xuXHRcdGZpbHRlci5yZWZlcmVuY2VTY2hlbWFOYW1lID0gdGhpcy5yZWZlcmVuY2VTY2hlbWFOYW1lO1xuXHRcdGZpbHRlci5kYXRhVmFsdWVUeXBlID0gdGhpcy5kYXRhVmFsdWVUeXBlO1xuXHRcdHJldHVybiBmaWx0ZXI7XG5cdH1cblxuXHRwdWJsaWMgdG9Kc29uKCk6IMm1SnNvbk9iamVjdCB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdC4uLnN1cGVyLnRvSnNvbigpLFxuXHRcdFx0cmlnaHRMZXNzRXhwcmVzc2lvbjogdGhpcy5zZXJpYWxpemVJdGVtKHRoaXMucmlnaHRMZXNzRXhwcmVzc2lvbiksXG5cdFx0XHRyaWdodEdyZWF0ZXJFeHByZXNzaW9uOiB0aGlzLnNlcmlhbGl6ZUl0ZW0odGhpcy5yaWdodEdyZWF0ZXJFeHByZXNzaW9uKSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEBpbnRlcm5hbFxuXHQgKi9cblx0cHVibGljIF9nZXRVc2VkQ29sdW1ucygpOiBVc2VkQ29sdW1uW10ge1xuXHRcdHJldHVybiBbXG5cdFx0XHQuLi5zdXBlci5fZ2V0VXNlZENvbHVtbnMoKSxcblx0XHRcdC4uLnRoaXMucmlnaHRMZXNzRXhwcmVzc2lvbi5fZ2V0VXNlZENvbHVtbnMoKSxcblx0XHRcdC4uLnRoaXMucmlnaHRHcmVhdGVyRXhwcmVzc2lvbi5fZ2V0VXNlZENvbHVtbnMoKSxcblx0XHRdO1xuXHR9XG59XG4iXX0=
@@ -1,63 +0,0 @@
1
- import { ɵSingleFilter } from './single-filter';
2
- import { ɵFilterType } from '../enums';
3
- /**
4
- * @public
5
- * @generativeApi
6
- * @description Filter class for comparing two expressions. leftExpression describes column from the schema,
7
- * by which the comparison is made, rightExpression describes the value to which the column is compared.
8
- * @extends {ɵSingleFilter}
9
- */
10
- export class ɵCompareFilter extends ɵSingleFilter {
11
- /**
12
- * @internal
13
- * @dontChange
14
- */
15
- static { this._instanceOfKey = 'devkit_CompareFilter'; }
16
- /**
17
- * @internal
18
- * @dontChange
19
- */
20
- static get _instanceOfKeys() {
21
- return [...ɵSingleFilter._instanceOfKeys, this._instanceOfKey];
22
- }
23
- constructor(comparisonType, leftExpression, rightExpression) {
24
- super(ɵFilterType.Compare, comparisonType, leftExpression);
25
- /**
26
- * @description Type of filter.
27
- * @default 1
28
- */
29
- this.filterType = ɵFilterType.Compare;
30
- this.rightExpression = rightExpression?.clone();
31
- }
32
- /**
33
- * Parses filter from json.
34
- * @public
35
- */
36
- static fromJson(dto, filterParser, expressionParser) {
37
- const filter = new ɵCompareFilter(dto['comparisonType'], expressionParser.fromJson(dto['leftExpression'], filterParser), expressionParser.fromJson(dto['rightExpression'], filterParser));
38
- filter.referenceSchemaName = dto['referenceSchemaName'];
39
- filter.dataValueType = dto['dataValueType'];
40
- return filter;
41
- }
42
- clone() {
43
- const filter = new ɵCompareFilter(this.comparisonType, this.leftExpression, this.rightExpression);
44
- filter.isEnabled = this.isEnabled;
45
- filter.trimDateTimeParameterToDate = this.trimDateTimeParameterToDate;
46
- filter.referenceSchemaName = this.referenceSchemaName;
47
- filter.dataValueType = this.dataValueType;
48
- return filter;
49
- }
50
- toJson() {
51
- return {
52
- ...super.toJson(),
53
- rightExpression: this.serializeItem(this.rightExpression),
54
- };
55
- }
56
- /**
57
- * @internal
58
- */
59
- _getUsedColumns() {
60
- return [...super._getUsedColumns(), ...this.rightExpression._getUsedColumns()];
61
- }
62
- }
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGFyZS1maWx0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RldmtpdC9iYXNlL3NyYy9saWIvcHVibGljL2VzcS9kYXRhLW1vZGVsL2ZpbHRlcnMvY29tcGFyZS1maWx0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBR2hELE9BQU8sRUFBbUIsV0FBVyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBTXhEOzs7Ozs7R0FNRztBQUNILE1BQU0sT0FBTyxjQUFlLFNBQVEsYUFBYTtJQU1oRDs7O09BR0c7YUFDdUIsbUJBQWMsR0FBVyxzQkFBc0IsQUFBakMsQ0FBa0M7SUFFMUU7OztPQUdHO0lBQ08sTUFBTSxLQUFLLGVBQWU7UUFDbkMsT0FBTyxDQUFDLEdBQUcsYUFBYSxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQVFELFlBQVksY0FBK0IsRUFBRSxjQUE4QixFQUFFLGVBQStCO1FBQzNHLEtBQUssQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxjQUFjLENBQUMsQ0FBQztRQTFCNUQ7OztXQUdHO1FBQ2EsZUFBVSxHQUFNLFdBQVcsQ0FBQyxPQUFPLENBQUM7UUF1Qm5ELElBQUksQ0FBQyxlQUFlLEdBQUcsZUFBZSxFQUFFLEtBQUssRUFBRSxDQUFDO0lBQ2pELENBQUM7SUFFRDs7O09BR0c7SUFDSSxNQUFNLENBQUMsUUFBUSxDQUdwQixHQUFnQixFQUFFLFlBQTJCLEVBQUUsZ0JBQW1DO1FBQ25GLE1BQU0sTUFBTSxHQUFHLElBQUksY0FBYyxDQUNoQyxHQUFHLENBQUMsZ0JBQWdCLENBQW9CLEVBQ3hDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQWdCLEVBQUUsWUFBWSxDQUFvQixFQUNoRyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFnQixFQUFFLFlBQVksQ0FBb0IsQ0FDakcsQ0FBQztRQUNGLE1BQU0sQ0FBQyxtQkFBbUIsR0FBRyxHQUFHLENBQUMscUJBQXFCLENBQVcsQ0FBQztRQUNsRSxNQUFNLENBQUMsYUFBYSxHQUFHLEdBQUcsQ0FBQyxlQUFlLENBQW1CLENBQUM7UUFDOUQsT0FBTyxNQUFNLENBQUM7SUFDZixDQUFDO0lBRU0sS0FBSztRQUNYLE1BQU0sTUFBTSxHQUFHLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDbEcsTUFBTSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ2xDLE1BQU0sQ0FBQywyQkFBMkIsR0FBRyxJQUFJLENBQUMsMkJBQTJCLENBQUM7UUFDdEUsTUFBTSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztRQUN0RCxNQUFNLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDMUMsT0FBTyxNQUFNLENBQUM7SUFDZixDQUFDO0lBRU0sTUFBTTtRQUNaLE9BQU87WUFDTixHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUU7WUFDakIsZUFBZSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQztTQUN6RCxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0ksZUFBZTtRQUNyQixPQUFPLENBQUMsR0FBRyxLQUFLLENBQUMsZUFBZSxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUM7SUFDaEYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IMm1QmFzZUZpbHRlclBhcnNlciB9IGZyb20gJy4vZmlsdGVyLXBhcnNlci9iYXNlLWZpbHRlci1wYXJzZXInO1xuaW1wb3J0IHsgybVTaW5nbGVGaWx0ZXIgfSBmcm9tICcuL3NpbmdsZS1maWx0ZXInO1xuaW1wb3J0IHsgybVEYXRhVmFsdWVUeXBlIH0gZnJvbSAnLi4vLi4vLi4vZW51bXMnO1xuaW1wb3J0IHsgybVKc29uT2JqZWN0IH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvanNvbi1kYXRhLnR5cGUnO1xuaW1wb3J0IHsgybVDb21wYXJpc29uVHlwZSwgybVGaWx0ZXJUeXBlIH0gZnJvbSAnLi4vZW51bXMnO1xuaW1wb3J0IHsgybVCYXNlRXhwcmVzc2lvbiB9IGZyb20gJy4uL2V4cHJlc3Npb25zL2Jhc2UtZXhwcmVzc2lvbic7XG5pbXBvcnQgeyBJRVNRRXhwcmVzc2lvbiB9IGZyb20gJy4uL2V4cHJlc3Npb25zL2VzcS1leHByZXNzaW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyDJtUJhc2VFeHByZXNzaW9uUGFyc2VyIH0gZnJvbSAnLi4vZXhwcmVzc2lvbnMvZXhwcmVzc2lvbi1wYXJzZXIvYmFzZS1leHByZXNzaW9uLXBhcnNlcic7XG5pbXBvcnQgeyBVc2VkQ29sdW1uIH0gZnJvbSAnLi4vdXNlZC1jb2x1bW4nO1xuXG4vKipcbiAqIEBwdWJsaWNcbiAqIEBnZW5lcmF0aXZlQXBpXG4gKiBAZGVzY3JpcHRpb24gRmlsdGVyIGNsYXNzIGZvciBjb21wYXJpbmcgdHdvIGV4cHJlc3Npb25zLiBsZWZ0RXhwcmVzc2lvbiBkZXNjcmliZXMgY29sdW1uIGZyb20gdGhlIHNjaGVtYSxcbiAqIGJ5IHdoaWNoIHRoZSBjb21wYXJpc29uIGlzIG1hZGUsIHJpZ2h0RXhwcmVzc2lvbiBkZXNjcmliZXMgdGhlIHZhbHVlIHRvIHdoaWNoIHRoZSBjb2x1bW4gaXMgY29tcGFyZWQuXG4gKiBAZXh0ZW5kcyB7ybVTaW5nbGVGaWx0ZXJ9XG4gKi9cbmV4cG9ydCBjbGFzcyDJtUNvbXBhcmVGaWx0ZXIgZXh0ZW5kcyDJtVNpbmdsZUZpbHRlciB7XG5cdC8qKlxuXHQgKiBAZGVzY3JpcHRpb24gVHlwZSBvZiBmaWx0ZXIuXG5cdCAqIEBkZWZhdWx0IDFcblx0ICovXG5cdHB1YmxpYyByZWFkb25seSBmaWx0ZXJUeXBlOiAxID0gybVGaWx0ZXJUeXBlLkNvbXBhcmU7XG5cdC8qKlxuXHQgKiBAaW50ZXJuYWxcblx0ICogQGRvbnRDaGFuZ2Vcblx0ICovXG5cdHByb3RlY3RlZCBzdGF0aWMgcmVhZG9ubHkgX2luc3RhbmNlT2ZLZXk6IHN0cmluZyA9ICdkZXZraXRfQ29tcGFyZUZpbHRlcic7XG5cblx0LyoqXG5cdCAqIEBpbnRlcm5hbFxuXHQgKiBAZG9udENoYW5nZVxuXHQgKi9cblx0cHJvdGVjdGVkIHN0YXRpYyBnZXQgX2luc3RhbmNlT2ZLZXlzKCk6IHN0cmluZ1tdIHtcblx0XHRyZXR1cm4gWy4uLsm1U2luZ2xlRmlsdGVyLl9pbnN0YW5jZU9mS2V5cywgdGhpcy5faW5zdGFuY2VPZktleV07XG5cdH1cblxuXHQvKipcblx0ICogVE9ETyBodHRwczovL2NyZWF0aW8uYXRsYXNzaWFuLm5ldC9icm93c2UvRU5HLTg0NzEyIFJldmVydCByZWFkb25seVxuXHQgKiBAZGVzY3JpcHRpb24gRmlsdGVyIGV4cHJlc3Npb24uIFJpZ2h0IGV4cHJlc3Npb24gaXMgdXNlZCB0byBjb21wYXJlIHZhbHVlcyBvZiBjb2x1bW4gZnJvbSB0aGUgbGVmdCBleHByZXNzaW9uXG5cdCAqL1xuXHRwdWJsaWMgcmlnaHRFeHByZXNzaW9uOiBJRVNRRXhwcmVzc2lvbjtcblxuXHRjb25zdHJ1Y3Rvcihjb21wYXJpc29uVHlwZTogybVDb21wYXJpc29uVHlwZSwgbGVmdEV4cHJlc3Npb246IElFU1FFeHByZXNzaW9uLCByaWdodEV4cHJlc3Npb246IElFU1FFeHByZXNzaW9uKSB7XG5cdFx0c3VwZXIoybVGaWx0ZXJUeXBlLkNvbXBhcmUsIGNvbXBhcmlzb25UeXBlLCBsZWZ0RXhwcmVzc2lvbik7XG5cdFx0dGhpcy5yaWdodEV4cHJlc3Npb24gPSByaWdodEV4cHJlc3Npb24/LmNsb25lKCk7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGZpbHRlciBmcm9tIGpzb24uXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgZnJvbUpzb248XG5cdFx0VEZpbHRlclBhcnNlciBleHRlbmRzIHR5cGVvZiDJtUJhc2VGaWx0ZXJQYXJzZXIsXG5cdFx0VEV4cHJlc3Npb25QYXJzZXIgZXh0ZW5kcyB0eXBlb2YgybVCYXNlRXhwcmVzc2lvblBhcnNlcixcblx0PihkdG86IMm1SnNvbk9iamVjdCwgZmlsdGVyUGFyc2VyOiBURmlsdGVyUGFyc2VyLCBleHByZXNzaW9uUGFyc2VyOiBURXhwcmVzc2lvblBhcnNlcik6IMm1Q29tcGFyZUZpbHRlciB7XG5cdFx0Y29uc3QgZmlsdGVyID0gbmV3IMm1Q29tcGFyZUZpbHRlcihcblx0XHRcdGR0b1snY29tcGFyaXNvblR5cGUnXSBhcyDJtUNvbXBhcmlzb25UeXBlLFxuXHRcdFx0ZXhwcmVzc2lvblBhcnNlci5mcm9tSnNvbihkdG9bJ2xlZnRFeHByZXNzaW9uJ10gYXMgybVKc29uT2JqZWN0LCBmaWx0ZXJQYXJzZXIpIGFzIMm1QmFzZUV4cHJlc3Npb24sXG5cdFx0XHRleHByZXNzaW9uUGFyc2VyLmZyb21Kc29uKGR0b1sncmlnaHRFeHByZXNzaW9uJ10gYXMgybVKc29uT2JqZWN0LCBmaWx0ZXJQYXJzZXIpIGFzIMm1QmFzZUV4cHJlc3Npb24sXG5cdFx0KTtcblx0XHRmaWx0ZXIucmVmZXJlbmNlU2NoZW1hTmFtZSA9IGR0b1sncmVmZXJlbmNlU2NoZW1hTmFtZSddIGFzIHN0cmluZztcblx0XHRmaWx0ZXIuZGF0YVZhbHVlVHlwZSA9IGR0b1snZGF0YVZhbHVlVHlwZSddIGFzIMm1RGF0YVZhbHVlVHlwZTtcblx0XHRyZXR1cm4gZmlsdGVyO1xuXHR9XG5cblx0cHVibGljIGNsb25lKCk6IMm1Q29tcGFyZUZpbHRlciB7XG5cdFx0Y29uc3QgZmlsdGVyID0gbmV3IMm1Q29tcGFyZUZpbHRlcih0aGlzLmNvbXBhcmlzb25UeXBlLCB0aGlzLmxlZnRFeHByZXNzaW9uLCB0aGlzLnJpZ2h0RXhwcmVzc2lvbik7XG5cdFx0ZmlsdGVyLmlzRW5hYmxlZCA9IHRoaXMuaXNFbmFibGVkO1xuXHRcdGZpbHRlci50cmltRGF0ZVRpbWVQYXJhbWV0ZXJUb0RhdGUgPSB0aGlzLnRyaW1EYXRlVGltZVBhcmFtZXRlclRvRGF0ZTtcblx0XHRmaWx0ZXIucmVmZXJlbmNlU2NoZW1hTmFtZSA9IHRoaXMucmVmZXJlbmNlU2NoZW1hTmFtZTtcblx0XHRmaWx0ZXIuZGF0YVZhbHVlVHlwZSA9IHRoaXMuZGF0YVZhbHVlVHlwZTtcblx0XHRyZXR1cm4gZmlsdGVyO1xuXHR9XG5cblx0cHVibGljIHRvSnNvbigpOiDJtUpzb25PYmplY3Qge1xuXHRcdHJldHVybiB7XG5cdFx0XHQuLi5zdXBlci50b0pzb24oKSxcblx0XHRcdHJpZ2h0RXhwcmVzc2lvbjogdGhpcy5zZXJpYWxpemVJdGVtKHRoaXMucmlnaHRFeHByZXNzaW9uKSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEBpbnRlcm5hbFxuXHQgKi9cblx0cHVibGljIF9nZXRVc2VkQ29sdW1ucygpOiBVc2VkQ29sdW1uW10ge1xuXHRcdHJldHVybiBbLi4uc3VwZXIuX2dldFVzZWRDb2x1bW5zKCksIC4uLnRoaXMucmlnaHRFeHByZXNzaW9uLl9nZXRVc2VkQ29sdW1ucygpXTtcblx0fVxufVxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNxLWZpbHRlci5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RldmtpdC9iYXNlL3NyYy9saWIvcHVibGljL2VzcS9kYXRhLW1vZGVsL2ZpbHRlcnMvZXNxLWZpbHRlci5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IMm1QmFzZUZpbHRlciB9IGZyb20gJy4vYmFzZS1maWx0ZXInO1xuaW1wb3J0IHsgybVCZXR3ZWVuRmlsdGVyIH0gZnJvbSAnLi9iZXR3ZWVuLWZpbHRlcic7XG5pbXBvcnQgeyDJtUNvbXBhcmVGaWx0ZXIgfSBmcm9tICcuL2NvbXBhcmUtZmlsdGVyJztcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tY3ljbGVcbmltcG9ydCB7IMm1RXhpc3RzRmlsdGVyIH0gZnJvbSAnLi9leGlzdHMtZmlsdGVyJztcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tY3ljbGVcbmltcG9ydCB7IElGaWx0ZXJHcm91cCB9IGZyb20gJy4vZmlsdGVyLWdyb3VwJztcbmltcG9ydCB7IMm1SW5GaWx0ZXIgfSBmcm9tICcuL2luLWZpbHRlcic7XG5pbXBvcnQgeyDJtUlzTnVsbEZpbHRlciB9IGZyb20gJy4vaXNudWxsLWZpbHRlcic7XG5pbXBvcnQgeyDJtVNpbmdsZUZpbHRlciB9IGZyb20gJy4vc2luZ2xlLWZpbHRlcic7XG5cbi8qKlxuICogQGdlbmVyYXRpdmVBcGlcbiAqIEBkZXNjcmlwdGlvbiBDb21iaW5lZCB0eXBlIGZvciBhbGwgRVNRIGZpbHRlcnMuIElmIHlvdSBwbGFuIHRvIGNyZWF0ZSBhIG5ldyBmaWx0ZXIsIHBsZWFzZSBhZGQgaXQgdG8gdGhpcyB0eXBlLlxuICogKi9cbmV4cG9ydCB0eXBlIElFU1FGaWx0ZXIgPVxuXHR8IMm1QmFzZUZpbHRlclxuXHR8IMm1QmV0d2VlbkZpbHRlclxuXHR8IMm1Q29tcGFyZUZpbHRlclxuXHR8IMm1RXhpc3RzRmlsdGVyXG5cdHwgSUZpbHRlckdyb3VwXG5cdHwgybVJbkZpbHRlclxuXHR8IMm1SXNOdWxsRmlsdGVyXG5cdHwgybVTaW5nbGVGaWx0ZXI7XG4iXX0=
@@ -1,75 +0,0 @@
1
- import { ɵSingleFilter } from './single-filter';
2
- import { ɵComparisonType, ɵFilterType } from '../enums';
3
- /**
4
- * @public
5
- * @generativeApi
6
- * @description The comparison filter class [Exists according to the specified condition].
7
- * @extends {ɵSingleFilter}
8
- */
9
- export class ɵExistsFilter extends ɵSingleFilter {
10
- /**
11
- * @internal
12
- * @dontChange
13
- */
14
- static { this._instanceOfKey = 'devkit_ExistsFilter'; }
15
- /**
16
- * @internal
17
- * @dontChange
18
- */
19
- static get _instanceOfKeys() {
20
- return [...ɵSingleFilter._instanceOfKeys, this._instanceOfKey];
21
- }
22
- constructor(leftExpression, subFilters, comparisonType = ɵComparisonType.Exists, isAggregative = true) {
23
- super(ɵFilterType.Exists, comparisonType, leftExpression);
24
- /**
25
- * @description Type of filter.
26
- * @default 5
27
- */
28
- this.filterType = ɵFilterType.Exists;
29
- this.subFilters = subFilters?.clone();
30
- this.isAggregative = isAggregative;
31
- }
32
- /**
33
- * Parses filter from json.
34
- * @public
35
- */
36
- static fromJson(dto, filterParser, expressionParser) {
37
- const leftExpression = expressionParser.fromJson(dto['leftExpression'], filterParser);
38
- const subFiltersDto = dto['subFilters'];
39
- let subFilters;
40
- if (subFiltersDto) {
41
- subFilters = filterParser.fromJson(dto['subFilters']);
42
- }
43
- const filter = new ɵExistsFilter(leftExpression, subFilters, dto['comparisonType'], dto['isAggregative']);
44
- filter.referenceSchemaName = dto['referenceSchemaName'];
45
- filter.dataValueType = dto['dataValueType'];
46
- return filter;
47
- }
48
- /**
49
- * @public
50
- * @description Clones instance.
51
- */
52
- clone() {
53
- const filter = new ɵExistsFilter(this.leftExpression, this.subFilters, this.comparisonType, this.isAggregative);
54
- filter.isEnabled = this.isEnabled;
55
- filter.referenceSchemaName = this.referenceSchemaName;
56
- filter.dataValueType = this.dataValueType;
57
- filter.trimDateTimeParameterToDate = this.trimDateTimeParameterToDate;
58
- return filter;
59
- }
60
- /** {@inheritDoc ɵSerializable.toJson} */
61
- toJson() {
62
- const result = super.toJson();
63
- if (this.subFilters) {
64
- result['subFilters'] = this.serializeItem(this.subFilters);
65
- }
66
- return result;
67
- }
68
- /**
69
- * @internal
70
- */
71
- _getUsedColumns() {
72
- return [...super._getUsedColumns(), ...(this.subFilters?._getUsedColumns() ?? [])];
73
- }
74
- }
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhpc3RzLWZpbHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGV2a2l0L2Jhc2Uvc3JjL2xpYi9wdWJsaWMvZXNxL2RhdGEtbW9kZWwvZmlsdGVycy9leGlzdHMtZmlsdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUdoRCxPQUFPLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQU14RDs7Ozs7R0FLRztBQUNILE1BQU0sT0FBTyxhQUFjLFNBQVEsYUFBYTtJQU0vQzs7O09BR0c7YUFDdUIsbUJBQWMsR0FBVyxxQkFBcUIsQUFBaEMsQ0FBaUM7SUFFekU7OztPQUdHO0lBQ08sTUFBTSxLQUFLLGVBQWU7UUFDbkMsT0FBTyxDQUFDLEdBQUcsYUFBYSxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQWNELFlBQ0MsY0FBOEIsRUFDOUIsVUFBeUIsRUFDekIsaUJBQWtDLGVBQWUsQ0FBQyxNQUFNLEVBQ3hELGFBQWEsR0FBRyxJQUFJO1FBRXBCLEtBQUssQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLGNBQWMsRUFBRSxjQUFjLENBQUMsQ0FBQztRQXJDM0Q7OztXQUdHO1FBQ2EsZUFBVSxHQUFNLFdBQVcsQ0FBQyxNQUFNLENBQUM7UUFrQ2xELElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxFQUFFLEtBQUssRUFBRSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO0lBQ3BDLENBQUM7SUFFRDs7O09BR0c7SUFDSSxNQUFNLENBQUMsUUFBUSxDQUdwQixHQUFnQixFQUFFLFlBQTJCLEVBQUUsZ0JBQW1DO1FBQ25GLE1BQU0sY0FBYyxHQUFHLGdCQUFnQixDQUFDLFFBQVEsQ0FDL0MsR0FBRyxDQUFDLGdCQUFnQixDQUFnQixFQUNwQyxZQUFZLENBQ08sQ0FBQztRQUNyQixNQUFNLGFBQWEsR0FBRyxHQUFHLENBQUMsWUFBWSxDQUFnQixDQUFDO1FBQ3ZELElBQUksVUFBVSxDQUFDO1FBQ2YsSUFBSSxhQUFhLEVBQUUsQ0FBQztZQUNuQixVQUFVLEdBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFnQixDQUFpQixDQUFDO1FBQ3RGLENBQUM7UUFDRCxNQUFNLE1BQU0sR0FBRyxJQUFJLGFBQWEsQ0FDL0IsY0FBYyxFQUNkLFVBQVUsRUFDVixHQUFHLENBQUMsZ0JBQWdCLENBQW9CLEVBQ3hDLEdBQUcsQ0FBQyxlQUFlLENBQVksQ0FDL0IsQ0FBQztRQUNGLE1BQU0sQ0FBQyxtQkFBbUIsR0FBRyxHQUFHLENBQUMscUJBQXFCLENBQVcsQ0FBQztRQUNsRSxNQUFNLENBQUMsYUFBYSxHQUFHLEdBQUcsQ0FBQyxlQUFlLENBQW1CLENBQUM7UUFDOUQsT0FBTyxNQUFNLENBQUM7SUFDZixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksS0FBSztRQUNYLE1BQU0sTUFBTSxHQUFHLElBQUksYUFBYSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNoSCxNQUFNLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDbEMsTUFBTSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztRQUN0RCxNQUFNLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDMUMsTUFBTSxDQUFDLDJCQUEyQixHQUFHLElBQUksQ0FBQywyQkFBMkIsQ0FBQztRQUN0RSxPQUFPLE1BQU0sQ0FBQztJQUNmLENBQUM7SUFFRCx5Q0FBeUM7SUFDbEMsTUFBTTtRQUNaLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUM5QixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNyQixNQUFNLENBQUMsWUFBWSxDQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDNUQsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2YsQ0FBQztJQUVEOztPQUVHO0lBQ0ksZUFBZTtRQUNyQixPQUFPLENBQUMsR0FBRyxLQUFLLENBQUMsZUFBZSxFQUFFLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNwRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby1jeWNsZVxuaW1wb3J0IHsgybVGaWx0ZXJHcm91cCB9IGZyb20gJy4vJztcbmltcG9ydCB7IMm1QmFzZUZpbHRlclBhcnNlciB9IGZyb20gJy4vZmlsdGVyLXBhcnNlci9iYXNlLWZpbHRlci1wYXJzZXInO1xuaW1wb3J0IHsgybVTaW5nbGVGaWx0ZXIgfSBmcm9tICcuL3NpbmdsZS1maWx0ZXInO1xuaW1wb3J0IHsgybVEYXRhVmFsdWVUeXBlIH0gZnJvbSAnLi4vLi4vLi4vZW51bXMnO1xuaW1wb3J0IHsgybVKc29uT2JqZWN0IH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgybVDb21wYXJpc29uVHlwZSwgybVGaWx0ZXJUeXBlIH0gZnJvbSAnLi4vZW51bXMnO1xuaW1wb3J0IHsgybVCYXNlRXhwcmVzc2lvbiB9IGZyb20gJy4uL2V4cHJlc3Npb25zL2Jhc2UtZXhwcmVzc2lvbic7XG5pbXBvcnQgeyBJRVNRRXhwcmVzc2lvbiB9IGZyb20gJy4uL2V4cHJlc3Npb25zL2VzcS1leHByZXNzaW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyDJtUJhc2VFeHByZXNzaW9uUGFyc2VyIH0gZnJvbSAnLi4vZXhwcmVzc2lvbnMvZXhwcmVzc2lvbi1wYXJzZXIvYmFzZS1leHByZXNzaW9uLXBhcnNlcic7XG5pbXBvcnQgeyBVc2VkQ29sdW1uIH0gZnJvbSAnLi4vdXNlZC1jb2x1bW4nO1xuXG4vKipcbiAqIEBwdWJsaWNcbiAqIEBnZW5lcmF0aXZlQXBpXG4gKiBAZGVzY3JpcHRpb24gVGhlIGNvbXBhcmlzb24gZmlsdGVyIGNsYXNzIFtFeGlzdHMgYWNjb3JkaW5nIHRvIHRoZSBzcGVjaWZpZWQgY29uZGl0aW9uXS5cbiAqIEBleHRlbmRzIHvJtVNpbmdsZUZpbHRlcn1cbiAqL1xuZXhwb3J0IGNsYXNzIMm1RXhpc3RzRmlsdGVyIGV4dGVuZHMgybVTaW5nbGVGaWx0ZXIge1xuXHQvKipcblx0ICogQGRlc2NyaXB0aW9uIFR5cGUgb2YgZmlsdGVyLlxuXHQgKiBAZGVmYXVsdCA1XG5cdCAqL1xuXHRwdWJsaWMgcmVhZG9ubHkgZmlsdGVyVHlwZTogNSA9IMm1RmlsdGVyVHlwZS5FeGlzdHM7XG5cdC8qKlxuXHQgKiBAaW50ZXJuYWxcblx0ICogQGRvbnRDaGFuZ2Vcblx0ICovXG5cdHByb3RlY3RlZCBzdGF0aWMgcmVhZG9ubHkgX2luc3RhbmNlT2ZLZXk6IHN0cmluZyA9ICdkZXZraXRfRXhpc3RzRmlsdGVyJztcblxuXHQvKipcblx0ICogQGludGVybmFsXG5cdCAqIEBkb250Q2hhbmdlXG5cdCAqL1xuXHRwcm90ZWN0ZWQgc3RhdGljIGdldCBfaW5zdGFuY2VPZktleXMoKTogc3RyaW5nW10ge1xuXHRcdHJldHVybiBbLi4uybVTaW5nbGVGaWx0ZXIuX2luc3RhbmNlT2ZLZXlzLCB0aGlzLl9pbnN0YW5jZU9mS2V5XTtcblx0fVxuXG5cdC8qKlxuXHQgKiBAZGVzY3JpcHRpb24gU3VicXVlcnkgZmlsdGVycy4gQ2Fubm90IGNvbnRhaW4gZmlsdGVycyB3aXRoIG90aGVyIHN1YnF1ZXJpZXMuXG5cdCAqIEBoaWRkZW5cblx0ICovXG5cdHB1YmxpYyByZWFkb25seSBzdWJGaWx0ZXJzPzogybVGaWx0ZXJHcm91cDtcblxuXHQvKipcblx0ICogQGRlc2NyaXB0aW9uIEluZGljYXRlcyB0aGF0IHRoZSBmaWx0ZXIgaXMgYWdncmVnYXRpbmcuXG5cdCAqIEBkZWZhdWx0IHRydWVcblx0ICovXG5cdHB1YmxpYyByZWFkb25seSBpc0FnZ3JlZ2F0aXZlOiBib29sZWFuO1xuXG5cdGNvbnN0cnVjdG9yKFxuXHRcdGxlZnRFeHByZXNzaW9uOiBJRVNRRXhwcmVzc2lvbixcblx0XHRzdWJGaWx0ZXJzPzogybVGaWx0ZXJHcm91cCxcblx0XHRjb21wYXJpc29uVHlwZTogybVDb21wYXJpc29uVHlwZSA9IMm1Q29tcGFyaXNvblR5cGUuRXhpc3RzLFxuXHRcdGlzQWdncmVnYXRpdmUgPSB0cnVlLFxuXHQpIHtcblx0XHRzdXBlcijJtUZpbHRlclR5cGUuRXhpc3RzLCBjb21wYXJpc29uVHlwZSwgbGVmdEV4cHJlc3Npb24pO1xuXHRcdHRoaXMuc3ViRmlsdGVycyA9IHN1YkZpbHRlcnM/LmNsb25lKCk7XG5cdFx0dGhpcy5pc0FnZ3JlZ2F0aXZlID0gaXNBZ2dyZWdhdGl2ZTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgZmlsdGVyIGZyb20ganNvbi5cblx0ICogQHB1YmxpY1xuXHQgKi9cblx0cHVibGljIHN0YXRpYyBmcm9tSnNvbjxcblx0XHRURmlsdGVyUGFyc2VyIGV4dGVuZHMgdHlwZW9mIMm1QmFzZUZpbHRlclBhcnNlcixcblx0XHRURXhwcmVzc2lvblBhcnNlciBleHRlbmRzIHR5cGVvZiDJtUJhc2VFeHByZXNzaW9uUGFyc2VyLFxuXHQ+KGR0bzogybVKc29uT2JqZWN0LCBmaWx0ZXJQYXJzZXI6IFRGaWx0ZXJQYXJzZXIsIGV4cHJlc3Npb25QYXJzZXI6IFRFeHByZXNzaW9uUGFyc2VyKTogybVFeGlzdHNGaWx0ZXIge1xuXHRcdGNvbnN0IGxlZnRFeHByZXNzaW9uID0gZXhwcmVzc2lvblBhcnNlci5mcm9tSnNvbihcblx0XHRcdGR0b1snbGVmdEV4cHJlc3Npb24nXSBhcyDJtUpzb25PYmplY3QsXG5cdFx0XHRmaWx0ZXJQYXJzZXIsXG5cdFx0KSBhcyDJtUJhc2VFeHByZXNzaW9uO1xuXHRcdGNvbnN0IHN1YkZpbHRlcnNEdG8gPSBkdG9bJ3N1YkZpbHRlcnMnXSBhcyDJtUpzb25PYmplY3Q7XG5cdFx0bGV0IHN1YkZpbHRlcnM7XG5cdFx0aWYgKHN1YkZpbHRlcnNEdG8pIHtcblx0XHRcdHN1YkZpbHRlcnMgPSBmaWx0ZXJQYXJzZXIuZnJvbUpzb24oZHRvWydzdWJGaWx0ZXJzJ10gYXMgybVKc29uT2JqZWN0KSBhcyDJtUZpbHRlckdyb3VwO1xuXHRcdH1cblx0XHRjb25zdCBmaWx0ZXIgPSBuZXcgybVFeGlzdHNGaWx0ZXIoXG5cdFx0XHRsZWZ0RXhwcmVzc2lvbixcblx0XHRcdHN1YkZpbHRlcnMsXG5cdFx0XHRkdG9bJ2NvbXBhcmlzb25UeXBlJ10gYXMgybVDb21wYXJpc29uVHlwZSxcblx0XHRcdGR0b1snaXNBZ2dyZWdhdGl2ZSddIGFzIGJvb2xlYW4sXG5cdFx0KTtcblx0XHRmaWx0ZXIucmVmZXJlbmNlU2NoZW1hTmFtZSA9IGR0b1sncmVmZXJlbmNlU2NoZW1hTmFtZSddIGFzIHN0cmluZztcblx0XHRmaWx0ZXIuZGF0YVZhbHVlVHlwZSA9IGR0b1snZGF0YVZhbHVlVHlwZSddIGFzIMm1RGF0YVZhbHVlVHlwZTtcblx0XHRyZXR1cm4gZmlsdGVyO1xuXHR9XG5cblx0LyoqXG5cdCAqIEBwdWJsaWNcblx0ICogQGRlc2NyaXB0aW9uIENsb25lcyBpbnN0YW5jZS5cblx0ICovXG5cdHB1YmxpYyBjbG9uZSgpOiDJtUV4aXN0c0ZpbHRlciB7XG5cdFx0Y29uc3QgZmlsdGVyID0gbmV3IMm1RXhpc3RzRmlsdGVyKHRoaXMubGVmdEV4cHJlc3Npb24sIHRoaXMuc3ViRmlsdGVycywgdGhpcy5jb21wYXJpc29uVHlwZSwgdGhpcy5pc0FnZ3JlZ2F0aXZlKTtcblx0XHRmaWx0ZXIuaXNFbmFibGVkID0gdGhpcy5pc0VuYWJsZWQ7XG5cdFx0ZmlsdGVyLnJlZmVyZW5jZVNjaGVtYU5hbWUgPSB0aGlzLnJlZmVyZW5jZVNjaGVtYU5hbWU7XG5cdFx0ZmlsdGVyLmRhdGFWYWx1ZVR5cGUgPSB0aGlzLmRhdGFWYWx1ZVR5cGU7XG5cdFx0ZmlsdGVyLnRyaW1EYXRlVGltZVBhcmFtZXRlclRvRGF0ZSA9IHRoaXMudHJpbURhdGVUaW1lUGFyYW1ldGVyVG9EYXRlO1xuXHRcdHJldHVybiBmaWx0ZXI7XG5cdH1cblxuXHQvKioge0Bpbmhlcml0RG9jIMm1U2VyaWFsaXphYmxlLnRvSnNvbn0gKi9cblx0cHVibGljIHRvSnNvbigpOiDJtUpzb25PYmplY3Qge1xuXHRcdGNvbnN0IHJlc3VsdCA9IHN1cGVyLnRvSnNvbigpO1xuXHRcdGlmICh0aGlzLnN1YkZpbHRlcnMpIHtcblx0XHRcdHJlc3VsdFsnc3ViRmlsdGVycyddID0gdGhpcy5zZXJpYWxpemVJdGVtKHRoaXMuc3ViRmlsdGVycyk7XG5cdFx0fVxuXHRcdHJldHVybiByZXN1bHQ7XG5cdH1cblxuXHQvKipcblx0ICogQGludGVybmFsXG5cdCAqL1xuXHRwdWJsaWMgX2dldFVzZWRDb2x1bW5zKCk6IFVzZWRDb2x1bW5bXSB7XG5cdFx0cmV0dXJuIFsuLi5zdXBlci5fZ2V0VXNlZENvbHVtbnMoKSwgLi4uKHRoaXMuc3ViRmlsdGVycz8uX2dldFVzZWRDb2x1bW5zKCkgPz8gW10pXTtcblx0fVxufVxuIl19
@@ -1,257 +0,0 @@
1
- import { __decorate, __metadata } from "tslib";
2
- import { Exclude, Expose } from 'class-transformer';
3
- import { ɵBaseFilter } from './base-filter';
4
- import { ɵBetweenFilter } from './between-filter';
5
- import { ɵCompareFilter } from './compare-filter';
6
- // eslint-disable-next-line import/no-cycle
7
- import { ɵExistsFilter } from './exists-filter';
8
- import { ɵInFilter } from './in-filter';
9
- import { ɵIsNullFilter } from './isnull-filter';
10
- import { ɵgenerateGuid } from '../../../../public/types';
11
- import { ɵValidationUtilities } from '../../../exceptions';
12
- import { ɵComparisonType } from '../enums/comparison-type.enum';
13
- import { ɵFilterType } from '../enums/filter-type.enum';
14
- import { ɵLogicalOperatorType } from '../enums/logical-operator-type.enum';
15
- import { ɵQueryMacrosType } from '../enums/query-macros-type.enum';
16
- import { ɵColumnExpression } from '../expressions/columns/column-expression';
17
- import { ɵMacrosFunctionExpression } from '../expressions/functions/macros-function-expression';
18
- import { ɵParameterExpression } from '../expressions/parameters/parameter-expression';
19
- /**
20
- * @public
21
- * @description Group of filters. Groups of filters can be nested into each other,
22
- * i.e. The collection itself can be an element of another collection.
23
- * @extends {ɵBaseFilter}
24
- */
25
- export class ɵFilterGroup extends ɵBaseFilter {
26
- /**
27
- * @internal
28
- * @dontChange
29
- */
30
- static { this._instanceOfKey = 'devkit_FilterGroup'; }
31
- /**
32
- * @internal
33
- * @dontChange
34
- */
35
- static get _instanceOfKeys() {
36
- return [...ɵBaseFilter._instanceOfKeys, this._instanceOfKey];
37
- }
38
- /**
39
- * @public
40
- * @description Returns collection of child filters or filter groups.
41
- * Each item is a key-value pair,
42
- * where the key is autogenerated or user-defined name, and value - filter or a filter group
43
- * @default {}
44
- */
45
- get items() {
46
- const result = {};
47
- this.filters.forEach((filter, key) => {
48
- result[key] = this.serializeItem(filter);
49
- });
50
- return result;
51
- }
52
- constructor(logicalOperation = ɵLogicalOperatorType.And, rootSchemaName) {
53
- super(ɵFilterType.FilterGroup);
54
- /**
55
- * @description Type of filter.
56
- * @default 6
57
- */
58
- this.filterType = ɵFilterType.FilterGroup;
59
- /**
60
- * @public
61
- * @hidden
62
- * @description Collection of child filters.
63
- */
64
- this.filters = new Map();
65
- this.logicalOperation = logicalOperation;
66
- this.rootSchemaName = rootSchemaName;
67
- }
68
- /**
69
- * @public
70
- * @description Parses filter group from json.
71
- */
72
- static fromJson(dto, filterParser) {
73
- const logicalOperation = dto['logicalOperation'];
74
- const group = new ɵFilterGroup(logicalOperation || ɵLogicalOperatorType.And, dto['rootSchemaName']);
75
- Object.entries(dto['items']).forEach(([key, filterDTO]) => {
76
- group.add(filterParser.fromJson(filterDTO), key);
77
- });
78
- return group;
79
- }
80
- /** {@inheritDoc ɵSerializable.toJson} */
81
- toJson() {
82
- const result = {};
83
- result['filterType'] = this.filterType;
84
- result['isEnabled'] = this.isEnabled;
85
- result['logicalOperation'] = this.logicalOperation;
86
- result['trimDateTimeParameterToDate'] = this.trimDateTimeParameterToDate;
87
- result['items'] = this.items;
88
- if (this.rootSchemaName) {
89
- result['rootSchemaName'] = this.rootSchemaName;
90
- }
91
- return result;
92
- }
93
- _createParameterValueExpressions(values) {
94
- return values.map((value) => new ɵParameterExpression({
95
- value: value,
96
- }));
97
- }
98
- /**
99
- * @public
100
- * @description Returns filter item by index.
101
- * @param index Item index.
102
- * @returns Filter.
103
- */
104
- getItemByIndex(index) {
105
- return this.items[Object.keys(this.items)[index]];
106
- }
107
- /**
108
- * @public
109
- * @description Creates and adds compare filter by value.
110
- * @param comparisonType Comparison type.
111
- * @param columnPath Column path.
112
- * @param parameterValue Parameter value.
113
- * @param filterKey Filter key.
114
- */
115
- addSchemaColumnFilterWithParameter(comparisonType, columnPath, parameterValue, filterKey) {
116
- const leftExpression = new ɵColumnExpression({ columnPath });
117
- const rightExpression = new ɵParameterExpression({ value: parameterValue });
118
- const filter = new ɵCompareFilter(comparisonType, leftExpression, rightExpression);
119
- this.add(filter, filterKey);
120
- }
121
- /**
122
- * @public
123
- * @description Creates and adds in filter by values.
124
- * @param comparisonType Comparison type.
125
- * @param columnPath Column path.
126
- * @param parameterValues Parameter values.
127
- * @param filterKey Filter key.
128
- */
129
- addSchemaColumnInFilterWithParameters(comparisonType, columnPath, parameterValues, filterKey) {
130
- const leftExpression = new ɵColumnExpression({ columnPath });
131
- const expressions = this._createParameterValueExpressions(parameterValues);
132
- const filter = new ɵInFilter(comparisonType, leftExpression, expressions);
133
- this.add(filter, filterKey);
134
- }
135
- /**
136
- * @public
137
- * @description Creates and adds in filter for primary column.
138
- * @param primaryColumnValues Primary column values.
139
- * @param filterKey Filter key.
140
- */
141
- addPrimarySchemaColumnInFilter(primaryColumnValues, filterKey) {
142
- const leftExpression = new ɵMacrosFunctionExpression({ macrosType: ɵQueryMacrosType.PrimaryColumn });
143
- const expressions = this._createParameterValueExpressions(primaryColumnValues);
144
- const filter = new ɵInFilter(ɵComparisonType.Equal, leftExpression, expressions);
145
- this.add(filter, filterKey);
146
- }
147
- /**
148
- * @public
149
- * @description Creates and adds null filter.
150
- * @param columnPath Path of column.
151
- * @param filterKey Filter key.
152
- */
153
- addSchemaColumnIsNullFilter(columnPath, filterKey) {
154
- const leftExpression = new ɵColumnExpression({ columnPath });
155
- const filter = new ɵIsNullFilter(ɵComparisonType.Is_null, leftExpression);
156
- this.add(filter, filterKey);
157
- }
158
- /**
159
- * @public
160
- * @description Creates and adds not null filter.
161
- * @param columnPath Column path.
162
- * @param filterKey Filter key.
163
- */
164
- addSchemaColumnIsNotNullFilter(columnPath, filterKey) {
165
- const leftExpression = new ɵColumnExpression({ columnPath });
166
- const filter = new ɵIsNullFilter(ɵComparisonType.Is_not_null, leftExpression);
167
- this.add(filter, filterKey);
168
- }
169
- /**
170
- * @public
171
- * @description Creates and adds filter between less value and greater value.
172
- * @param columnPath Column path.
173
- * @param lessParamValue Less parameter value.
174
- * @param greaterParamValue Greater parameter value.
175
- * @param filterKey Filter key.
176
- */
177
- addSchemaColumnBetweenFilterWithParameters(columnPath, lessParamValue, greaterParamValue, filterKey) {
178
- const leftExpression = new ɵColumnExpression({ columnPath });
179
- const rightLessExpression = new ɵParameterExpression({ value: lessParamValue });
180
- const rightGreaterExpression = new ɵParameterExpression({ value: greaterParamValue });
181
- const filter = new ɵBetweenFilter(leftExpression, rightLessExpression, rightGreaterExpression);
182
- this.add(filter, filterKey);
183
- }
184
- /**
185
- * @public
186
- * @description Creates and adds exists filter.
187
- * @param columnPath Column path.
188
- * @param subFilters Filters for exists expression.
189
- * @param filterKey Filter key.
190
- */
191
- addExistsFilter(columnPath, subFilters, filterKey) {
192
- const leftExpression = new ɵColumnExpression({ columnPath });
193
- const filter = new ɵExistsFilter(leftExpression, subFilters);
194
- this.add(filter, filterKey);
195
- }
196
- /**
197
- * @public
198
- * @description Creates and adds not exists filter.
199
- * @param columnPath Column path.
200
- * @param subFilters Filters for exist expression.
201
- * @param filterKey Filter key.
202
- */
203
- addNotExistsFilter(columnPath, subFilters, filterKey) {
204
- const leftExpression = new ɵColumnExpression({ columnPath });
205
- const filter = new ɵExistsFilter(leftExpression, subFilters, ɵComparisonType.Not_exists);
206
- this.add(filter, filterKey);
207
- }
208
- /**
209
- * @public
210
- * @description Adds filter.
211
- * @param filter Instance of filter.
212
- * @param filterKey Filter key.
213
- */
214
- add(filter, filterKey) {
215
- ɵValidationUtilities.checkArgumentEmpty('filter', filter);
216
- const key = filterKey || ɵgenerateGuid();
217
- this.filters.set(key, filter);
218
- }
219
- /**
220
- * @public
221
- * @description Clones instance.
222
- */
223
- clone() {
224
- const filterGroup = new ɵFilterGroup(this.logicalOperation, this.rootSchemaName);
225
- this.filters.forEach((filter, filterKey) => {
226
- filterGroup.filters.set(filterKey, filter.clone());
227
- });
228
- filterGroup.isEnabled = this.isEnabled;
229
- filterGroup.trimDateTimeParameterToDate = this.trimDateTimeParameterToDate;
230
- return filterGroup;
231
- }
232
- /**
233
- * @internal
234
- */
235
- _getUsedColumns() {
236
- const result = [];
237
- this.filters.forEach((filter) => {
238
- let filterUsedColumns = filter._getUsedColumns ? filter._getUsedColumns() : [];
239
- filterUsedColumns = filterUsedColumns.map((usedColumn) => ({
240
- path: usedColumn.path,
241
- schemaName: usedColumn.schemaName ?? this.rootSchemaName,
242
- }));
243
- result.push(...filterUsedColumns);
244
- });
245
- return result;
246
- }
247
- }
248
- __decorate([
249
- Exclude(),
250
- __metadata("design:type", Object)
251
- ], ɵFilterGroup.prototype, "filters", void 0);
252
- __decorate([
253
- Expose(),
254
- __metadata("design:type", Object),
255
- __metadata("design:paramtypes", [])
256
- ], ɵFilterGroup.prototype, "items", null);
257
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWdyb3VwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kZXZraXQvYmFzZS9zcmMvbGliL3B1YmxpYy9lc3EvZGF0YS1tb2RlbC9maWx0ZXJzL2ZpbHRlci1ncm91cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVwRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFbEQsMkNBQTJDO0FBQzNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVoRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQXNCLGFBQWEsRUFBc0IsTUFBTSwwQkFBMEIsQ0FBQztBQUNqRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFN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UUFDbkMsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLE1BQU0sQ0FBQztJQUNmLENBQUM7O0FBcFBNO0lBRE4sT0FBTyxFQUFFOzs2Q0FDcUM7QUFTL0M7SUFBQyxNQUFNLEVBQUU7Ozt5Q0FPUiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV4Y2x1ZGUsIEV4cG9zZSB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcblxuaW1wb3J0IHsgybVCYXNlRmlsdGVyIH0gZnJvbSAnLi9iYXNlLWZpbHRlcic7XG5pbXBvcnQgeyDJtUJldHdlZW5GaWx0ZXIgfSBmcm9tICcuL2JldHdlZW4tZmlsdGVyJztcbmltcG9ydCB7IMm1Q29tcGFyZUZpbHRlciB9IGZyb20gJy4vY29tcGFyZS1maWx0ZXInO1xuaW1wb3J0IHR5cGUgeyBJRVNRRmlsdGVyIH0gZnJvbSAnLi9lc3EtZmlsdGVyLmludGVyZmFjZSc7XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLWN5Y2xlXG5pbXBvcnQgeyDJtUV4aXN0c0ZpbHRlciB9IGZyb20gJy4vZXhpc3RzLWZpbHRlcic7XG5pbXBvcnQgeyDJtUJhc2VGaWx0ZXJQYXJzZXIgfSBmcm9tICcuL2ZpbHRlci1wYXJzZXIvYmFzZS1maWx0ZXItcGFyc2VyJztcbmltcG9ydCB7IMm1SW5GaWx0ZXIgfSBmcm9tICcuL2luLWZpbHRlcic7XG5pbXBvcnQgeyDJtUlzTnVsbEZpbHRlciB9IGZyb20gJy4vaXNudWxsLWZpbHRlcic7XG5pbXBvcnQgeyDJtUVudGl0eUNvbHVtblZhbHVlLCDJtWdlbmVyYXRlR3VpZCwgybVHdWlkLCDJtUpzb25PYmplY3QgfSBmcm9tICcuLi8uLi8uLi8uLi9wdWJsaWMvdHlwZXMnO1xuaW1wb3J0IHsgybVWYWxpZGF0aW9uVXRpbGl0aWVzIH0gZnJvbSAnLi4vLi4vLi4vZXhjZXB0aW9ucyc7XG5pbXBvcnQgeyDJtUNvbXBhcmlzb25UeXBlIH0gZnJvbSAnLi4vZW51bXMvY29tcGFyaXNvbi10eXBlLmVudW0nO1xuaW1wb3J0IHsgybVGaWx0ZXJUeXBlIH0gZnJvbSAnLi4vZW51bXMvZmlsdGVyLXR5cGUuZW51bSc7XG5pbXBvcnQgeyDJtUxvZ2ljYWxPcGVyYXRvclR5cGUgfSBmcm9tICcuLi9lbnVtcy9sb2dpY2FsLW9wZXJhdG9yLXR5cGUuZW51bSc7XG5pbXBvcnQgeyDJtVF1ZXJ5TWFjcm9zVHlwZSB9IGZyb20gJy4uL2VudW1zL3F1ZXJ5LW1hY3Jvcy10eXBlLmVudW0nO1xuaW1wb3J0IHsgybVDb2x1bW5FeHByZXNzaW9uIH0gZnJvbSAnLi4vZXhwcmVzc2lvbnMvY29sdW1ucy9jb2x1bW4tZXhwcmVzc2lvbic7XG5pbXBvcnQgeyDJtU1hY3Jvc0Z1bmN0aW9uRXhwcmVzc2lvbiB9IGZyb20gJy4uL2V4cHJlc3Npb25zL2Z1bmN0aW9ucy9tYWNyb3MtZnVuY3Rpb24tZXhwcmVzc2lvbic7XG5pbXBvcnQgeyDJtVBhcmFtZXRlckV4cHJlc3Npb24gfSBmcm9tICcuLi9leHByZXNzaW9ucy9wYXJhbWV0ZXJzL3BhcmFtZXRlci1leHByZXNzaW9uJztcbmltcG9ydCB7IFVzZWRDb2x1bW4gfSBmcm9tICcuLi91c2VkLWNvbHVtbic7XG5cbi8qKlxuICogQHB1YmxpY1xuICogdGhpcyBpbnRlcmZhY2UgaXMgY3JlYXRlZCwgYmVjYXVzZSBKU09OIHNjaGVtYSBnZW5lcmF0aW9uIGRvZXMgbm90IHN1cHBvcnQgZ2V0dGVyc1xuICogQGdlbmVyYXRpdmVBcGlcbiAqIEBkZXNjcmlwdGlvbiBHcm91cCBvZiBmaWx0ZXJzLiBVc3VhbGx5IG9uZSwgb3Igc2V2ZXJhbCBmaWx0ZXJzLCBjb21iaW5lZCB3aXRoIGEgbG9naWNhbCBvcGVyYXRpb24gKEFuZCwgT3IpLlxuICogR3JvdXBzIG9mIGZpbHRlcnMgY2FuIGJlIG5lc3RlZCBpbnRvIGVhY2ggb3RoZXIsXG4gKiBpLmUuIFRoZSBjb2xsZWN0aW9uIGl0c2VsZiBjYW4gYmUgYW4gZWxlbWVudCBvZiBhbm90aGVyIGNvbGxlY3Rpb24uXG4gKiBAZXh0ZW5kcyB7ybVCYXNlRmlsdGVyfVxuICovXG5leHBvcnQgdHlwZSBJRmlsdGVyR3JvdXAgPSDJtUJhc2VGaWx0ZXIgJiB7XG5cdC8qKlxuXHQgKiBAZGVzY3JpcHRpb24gVHlwZSBvZiBmaWx0ZXIuIDYgbWVhbnMgdGhhdCB0aGlzIGlzIGEgZmlsdGVyIGdyb3VwLlxuXHQgKiBAZGVmYXVsdCA2XG5cdCAqL1xuXHRyZWFkb25seSBmaWx0ZXJUeXBlOiDJtUZpbHRlclR5cGUuRmlsdGVyR3JvdXA7XG5cdC8qKlxuXHQgKiBAZGVzY3JpcHRpb24gUmV0dXJucyBjb2xsZWN0aW9uIG9mIGNoaWxkIGZpbHRlcnMgb3IgZmlsdGVyIGdyb3Vwcy5cblx0ICogRWFjaCBpdGVtIGlzIGEga2V5LXZhbHVlIHBhaXIsXG5cdCAqIHdoZXJlIHRoZSBrZXkgaXMgYXV0b2dlbmVyYXRlZCBvciB1c2VyLWRlZmluZWQgbmFtZSwgYW5kIHZhbHVlIC0gZmlsdGVyIG9yIGEgZmlsdGVyIGdyb3VwXG5cdCAqL1xuXHRpdGVtczogUmVjb3JkPHN0cmluZywgSUVTUUZpbHRlcj47XG5cblx0LyoqXG5cdCAqIEBkZXNjcmlwdGlvbiBUaGUgdHlwZSBvZiB0aGUgbG9naWNhbCBvcGVyYXRpb24gZm9yIGEgY29tYmluYXRpb24gb2YgZmlsdGVycyBpbiB0aGlzIGZpbHRlciBncm91cC5cblx0ICovXG5cdGxvZ2ljYWxPcGVyYXRpb246IMm1TG9naWNhbE9wZXJhdG9yVHlwZTtcblxuXHQvKipcblx0ICogQGRlc2NyaXB0aW9uIFJvb3QgZW50aXR5IHNjaGVtYSBuYW1lIG9yIHRhYmxlIG5hbWUuXG5cdCAqL1xuXHRyb290U2NoZW1hTmFtZT86IHN0cmluZztcbn07XG5cbi8qKlxuICogQHB1YmxpY1xuICogQGRlc2NyaXB0aW9uIEdyb3VwIG9mIGZpbHRlcnMuIEdyb3VwcyBvZiBmaWx0ZXJzIGNhbiBiZSBuZXN0ZWQgaW50byBlYWNoIG90aGVyLFxuICogaS5lLiBUaGUgY29sbGVjdGlvbiBpdHNlbGYgY2FuIGJlIGFuIGVsZW1lbnQgb2YgYW5vdGhlciBjb2xsZWN0aW9uLlxuICogQGV4dGVuZHMge8m1QmFzZUZpbHRlcn1cbiAqL1xuZXhwb3J0IGNsYXNzIMm1RmlsdGVyR3JvdXAgZXh0ZW5kcyDJtUJhc2VGaWx0ZXIgaW1wbGVtZW50cyBJRmlsdGVyR3JvdXAge1xuXHQvKipcblx0ICogQGRlc2NyaXB0aW9uIFR5cGUgb2YgZmlsdGVyLlxuXHQgKiBAZGVmYXVsdCA2XG5cdCAqL1xuXHRwdWJsaWMgcmVhZG9ubHkgZmlsdGVyVHlwZSA9IMm1RmlsdGVyVHlwZS5GaWx0ZXJHcm91cDtcblx0LyoqXG5cdCAqIEBpbnRlcm5hbFxuXHQgKiBAZG9udENoYW5nZVxuXHQgKi9cblx0cHJvdGVjdGVkIHN0YXRpYyByZWFkb25seSBfaW5zdGFuY2VPZktleTogc3RyaW5nID0gJ2RldmtpdF9GaWx0ZXJHcm91cCc7XG5cblx0LyoqXG5cdCAqIEBpbnRlcm5hbFxuXHQgKiBAZG9udENoYW5nZVxuXHQgKi9cblx0cHJvdGVjdGVkIHN0YXRpYyBnZXQgX2luc3RhbmNlT2ZLZXlzKCk6IHN0cmluZ1tdIHtcblx0XHRyZXR1cm4gWy4uLsm1QmFzZUZpbHRlci5faW5zdGFuY2VPZktleXMsIHRoaXMuX2luc3RhbmNlT2ZLZXldO1xuXHR9XG5cblx0LyoqXG5cdCAqIEBwdWJsaWNcblx0ICogQGhpZGRlblxuXHQgKiBAZGVzY3JpcHRpb24gQ29sbGVjdGlvbiBvZiBjaGlsZCBmaWx0ZXJzLlxuXHQgKi9cblx0QEV4Y2x1ZGUoKVxuXHRwdWJsaWMgZmlsdGVycyA9IG5ldyBNYXA8ybVHdWlkLCDJtUJhc2VGaWx0ZXI+KCk7XG5cblx0LyoqXG5cdCAqIEBwdWJsaWNcblx0ICogQGRlc2NyaXB0aW9uIFJldHVybnMgY29sbGVjdGlvbiBvZiBjaGlsZCBmaWx0ZXJzIG9yIGZpbHRlciBncm91cHMuXG5cdCAqIEVhY2ggaXRlbSBpcyBhIGtleS12YWx1ZSBwYWlyLFxuXHQgKiB3aGVyZSB0aGUga2V5IGlzIGF1dG9nZW5lcmF0ZWQgb3IgdXNlci1kZWZpbmVkIG5hbWUsIGFuZCB2YWx1ZSAtIGZpbHRlciBvciBhIGZpbHRlciBncm91cFxuXHQgKiBAZGVmYXVsdCB7fVxuXHQgKi9cblx0QEV4cG9zZSgpXG5cdHB1YmxpYyBnZXQgaXRlbXMoKTogeyBba2V5OiBzdHJpbmddOiDJtUJhc2VGaWx0ZXIgfSB7XG5cdFx0Y29uc3QgcmVzdWx0ID0ge307XG5cdFx0dGhpcy5maWx0ZXJzLmZvckVhY2goKGZpbHRlciwga2V5KSA9PiB7XG5cdFx0XHRyZXN1bHRba2V5XSA9IHRoaXMuc2VyaWFsaXplSXRlbShmaWx0ZXIpO1xuXHRcdH0pO1xuXHRcdHJldHVybiByZXN1bHQ7XG5cdH1cblxuXHQvKipcblx0ICogQGRlc2NyaXB0aW9uIFRoZSB0eXBlIG9mIHRoZSBsb2dpY2FsIG9wZXJhdGlvbiBmb3IgYSBjb21iaW5hdGlvbiBvZiBmaWx0ZXJzIGluIHRoaXMgZmlsdGVyIGdyb3VwLlxuXHQgKiBAZGVmYXVsdCAwXG5cdCAqL1xuXHRwdWJsaWMgbG9naWNhbE9wZXJhdGlvbjogybVMb2dpY2FsT3BlcmF0b3JUeXBlO1xuXHQvKipcblx0ICogQGRlc2NyaXB0aW9uIFJvb3Qgc2NoZW1hIG5hbWUuXG5cdCAqL1xuXHRwdWJsaWMgcm9vdFNjaGVtYU5hbWU/OiBzdHJpbmc7XG5cblx0Y29uc3RydWN0b3IobG9naWNhbE9wZXJhdGlvbiA9IMm1TG9naWNhbE9wZXJhdG9yVHlwZS5BbmQsIHJvb3RTY2hlbWFOYW1lPzogc3RyaW5nKSB7XG5cdFx0c3VwZXIoybVGaWx0ZXJUeXBlLkZpbHRlckdyb3VwKTtcblx0XHR0aGlzLmxvZ2ljYWxPcGVyYXRpb24gPSBsb2dpY2FsT3BlcmF0aW9uO1xuXHRcdHRoaXMucm9vdFNjaGVtYU5hbWUgPSByb290U2NoZW1hTmFtZTtcblx0fVxuXG5cdC8qKlxuXHQgKiBAcHVibGljXG5cdCAqIEBkZXNjcmlwdGlvbiBQYXJzZXMgZmlsdGVyIGdyb3VwIGZyb20ganNvbi5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgZnJvbUpzb248VCBleHRlbmRzIHR5cGVvZiDJtUJhc2VGaWx0ZXJQYXJzZXI+KGR0bzogybVKc29uT2JqZWN0LCBmaWx0ZXJQYXJzZXI6IFQpOiDJtUZpbHRlckdyb3VwIHtcblx0XHRjb25zdCBsb2dpY2FsT3BlcmF0aW9uID0gZHRvWydsb2dpY2FsT3BlcmF0aW9uJ10gYXMgybVMb2dpY2FsT3BlcmF0b3JUeXBlO1xuXHRcdGNvbnN0IGdyb3VwID0gbmV3IMm1RmlsdGVyR3JvdXAobG9naWNhbE9wZXJhdGlvbiB8fCDJtUxvZ2ljYWxPcGVyYXRvclR5cGUuQW5kLCBkdG9bJ3Jvb3RTY2hlbWFOYW1lJ10gYXMgc3RyaW5nKTtcblx0XHRPYmplY3QuZW50cmllcyhkdG9bJ2l0ZW1zJ10gYXMgybVKc29uT2JqZWN0KS5mb3JFYWNoKChba2V5LCBmaWx0ZXJEVE9dKSA9PiB7XG5cdFx0XHRncm91cC5hZGQoZmlsdGVyUGFyc2VyLmZyb21Kc29uKGZpbHRlckRUTyBhcyDJtUpzb25PYmplY3QpIGFzIMm1QmFzZUZpbHRlciwga2V5KTtcblx0XHR9KTtcblx0XHRyZXR1cm4gZ3JvdXA7XG5cdH1cblxuXHQvKioge0Bpbmhlcml0RG9jIMm1U2VyaWFsaXphYmxlLnRvSnNvbn0gKi9cblx0cHVibGljIHRvSnNvbigpOiDJtUpzb25PYmplY3Qge1xuXHRcdGNvbnN0IHJlc3VsdCA9IHt9O1xuXHRcdHJlc3VsdFsnZmlsdGVyVHlwZSddID0gdGhpcy5maWx0ZXJUeXBlO1xuXHRcdHJlc3VsdFsnaXNFbmFibGVkJ10gPSB0aGlzLmlzRW5hYmxlZDtcblx0XHRyZXN1bHRbJ2xvZ2ljYWxPcGVyYXRpb24nXSA9IHRoaXMubG9naWNhbE9wZXJhdGlvbjtcblx0XHRyZXN1bHRbJ3RyaW1EYXRlVGltZVBhcmFtZXRlclRvRGF0ZSddID0gdGhpcy50cmltRGF0ZVRpbWVQYXJhbWV0ZXJUb0RhdGU7XG5cdFx0cmVzdWx0WydpdGVtcyddID0gdGhpcy5pdGVtcztcblx0XHRpZiAodGhpcy5yb290U2NoZW1hTmFtZSkge1xuXHRcdFx0cmVzdWx0Wydyb290U2NoZW1hTmFtZSddID0gdGhpcy5yb290U2NoZW1hTmFtZTtcblx0XHR9XG5cdFx0cmV0dXJuIHJlc3VsdDtcblx0fVxuXG5cdHByaXZhdGUgX2NyZWF0ZVBhcmFtZXRlclZhbHVlRXhwcmVzc2lvbnModmFsdWVzOiDJtUVudGl0eUNvbHVtblZhbHVlW10pOiDJtVBhcmFtZXRlckV4cHJlc3Npb25bXSB7XG5cdFx0cmV0dXJuIHZhbHVlcy5tYXAoXG5cdFx0XHQodmFsdWUpID0+XG5cdFx0XHRcdG5ldyDJtVBhcmFtZXRlckV4cHJlc3Npb24oe1xuXHRcdFx0XHRcdHZhbHVlOiB2YWx1ZSxcblx0XHRcdFx0fSksXG5cdFx0KTtcblx0fVxuXG5cdC8qKlxuXHQgKiBAcHVibGljXG5cdCAqIEBkZXNjcmlwdGlvbiBSZXR1cm5zIGZpbHRlciBpdGVtIGJ5IGluZGV4LlxuXHQgKiBAcGFyYW0gaW5kZXggSXRlbSBpbmRleC5cblx0ICogQHJldHVybnMgRmlsdGVyLlxuXHQgKi9cblx0cHVibGljIGdldEl0ZW1CeUluZGV4KGluZGV4OiBudW1iZXIpOiDJtUJhc2VGaWx0ZXIge1xuXHRcdHJldHVybiB0aGlzLml0ZW1zW09iamVjdC5rZXlzKHRoaXMuaXRlbXMpW2luZGV4XV07XG5cdH1cblxuXHQvKipcblx0ICogQHB1YmxpY1xuXHQgKiBAZGVzY3JpcHRpb24gQ3JlYXRlcyBhbmQgYWRkcyBjb21wYXJlIGZpbHRlciBieSB2YWx1ZS5cblx0ICogQHBhcmFtIGNvbXBhcmlzb25UeXBlIENvbXBhcmlzb24gdHlwZS5cblx0ICogQHBhcmFtIGNvbHVtblBhdGggQ29sdW1uIHBhdGguXG5cdCAqIEBwYXJhbSBwYXJhbWV0ZXJWYWx1ZSBQYXJhbWV0ZXIgdmFsdWUuXG5cdCAqIEBwYXJhbSBmaWx0ZXJLZXkgRmlsdGVyIGtleS5cblx0ICovXG5cdHB1YmxpYyBhZGRTY2hlbWFDb2x1bW5GaWx0ZXJXaXRoUGFyYW1ldGVyKFxuXHRcdGNvbXBhcmlzb25UeXBlOiDJtUNvbXBhcmlzb25UeXBlLFxuXHRcdGNvbHVtblBhdGg6IHN0cmluZyxcblx0XHRwYXJhbWV0ZXJWYWx1ZTogybVFbnRpdHlDb2x1bW5WYWx1ZSxcblx0XHRmaWx0ZXJLZXk/OiBzdHJpbmcsXG5cdCk6IHZvaWQge1xuXHRcdGNvbnN0IGxlZnRFeHByZXNzaW9uID0gbmV3IMm1Q29sdW1uRXhwcmVzc2lvbih7IGNvbHVtblBhdGggfSk7XG5cdFx0Y29uc3QgcmlnaHRFeHByZXNzaW9uID0gbmV3IMm1UGFyYW1ldGVyRXhwcmVzc2lvbih7IHZhbHVlOiBwYXJhbWV0ZXJWYWx1ZSB9KTtcblx0XHRjb25zdCBmaWx0ZXIgPSBuZXcgybVDb21wYXJlRmlsdGVyKGNvbXBhcmlzb25UeXBlLCBsZWZ0RXhwcmVzc2lvbiwgcmlnaHRFeHByZXNzaW9uKTtcblx0XHR0aGlzLmFkZChmaWx0ZXIsIGZpbHRlcktleSk7XG5cdH1cblxuXHQvKipcblx0ICogQHB1YmxpY1xuXHQgKiBAZGVzY3JpcHRpb24gQ3JlYXRlcyBhbmQgYWRkcyBpbiBmaWx0ZXIgYnkgdmFsdWVzLlxuXHQgKiBAcGFyYW0gY29tcGFyaXNvblR5cGUgQ29tcGFyaXNvbiB0eXBlLlxuXHQgKiBAcGFyYW0gY29sdW1uUGF0aCBDb2x1bW4gcGF0aC5cblx0ICogQHBhcmFtIHBhcmFtZXRlclZhbHVlcyBQYXJhbWV0ZXIgdmFsdWVzLlxuXHQgKiBAcGFyYW0gZmlsdGVyS2V5IEZpbHRlciBrZXkuXG5cdCAqL1xuXHRwdWJsaWMgYWRkU2NoZW1hQ29sdW1uSW5GaWx0ZXJXaXRoUGFyYW1ldGVycyhcblx0XHRjb21wYXJpc29uVHlwZTogybVDb21wYXJpc29uVHlwZSxcblx0XHRjb2x1bW5QYXRoOiBzdHJpbmcsXG5cdFx0cGFyYW1ldGVyVmFsdWVzOiDJtUVudGl0eUNvbHVtblZhbHVlW10sXG5cdFx0ZmlsdGVyS2V5Pzogc3RyaW5nLFxuXHQpOiB2b2lkIHtcblx0XHRjb25zdCBsZWZ0RXhwcmVzc2lvbiA9IG5ldyDJtUNvbHVtbkV4cHJlc3Npb24oeyBjb2x1bW5QYXRoIH0pO1xuXHRcdGNvbnN0IGV4cHJlc3Npb25zID0gdGhpcy5fY3JlYXRlUGFyYW1ldGVyVmFsdWVFeHByZXNzaW9ucyhwYXJhbWV0ZXJWYWx1ZXMpO1xuXHRcdGNvbnN0IGZpbHRlciA9IG5ldyDJtUluRmlsdGVyKGNvbXBhcmlzb25UeXBlLCBsZWZ0RXhwcmVzc2lvbiwgZXhwcmVzc2lvbnMpO1xuXHRcdHRoaXMuYWRkKGZpbHRlciwgZmlsdGVyS2V5KTtcblx0fVxuXG5cdC8qKlxuXHQgKiBAcHVibGljXG5cdCAqIEBkZXNjcmlwdGlvbiBDcmVhdGVzIGFuZCBhZGRzIGluIGZpbHRlciBmb3IgcHJpbWFyeSBjb2x1bW4uXG5cdCAqIEBwYXJhbSBwcmltYXJ5Q29sdW1uVmFsdWVzIFByaW1hcnkgY29sdW1uIHZhbHVlcy5cblx0ICogQHBhcmFtIGZpbHRlcktleSBGaWx0ZXIga2V5LlxuXHQgKi9cblx0cHVibGljIGFkZFByaW1hcnlTY2hlbWFDb2x1bW5JbkZpbHRlcihwcmltYXJ5Q29sdW1uVmFsdWVzOiDJtUVudGl0eUNvbHVtblZhbHVlW10sIGZpbHRlcktleT86IHN0cmluZyk6IHZvaWQge1xuXHRcdGNvbnN0IGxlZnRFeHByZXNzaW9uID0gbmV3IMm1TWFjcm9zRnVuY3Rpb25FeHByZXNzaW9uKHsgbWFjcm9zVHlwZTogybVRdWVyeU1hY3Jvc1R5cGUuUHJpbWFyeUNvbHVtbiB9KTtcblx0XHRjb25zdCBleHByZXNzaW9ucyA9IHRoaXMuX2NyZWF0ZVBhcmFtZXRlclZhbHVlRXhwcmVzc2lvbnMocHJpbWFyeUNvbHVtblZhbHVlcyk7XG5cdFx0Y29uc3QgZmlsdGVyID0gbmV3IMm1SW5GaWx0ZXIoybVDb21wYXJpc29uVHlwZS5FcXVhbCwgbGVmdEV4cHJlc3Npb24sIGV4cHJlc3Npb25zKTtcblx0XHR0aGlzLmFkZChmaWx0ZXIsIGZpbHRlcktleSk7XG5cdH1cblxuXHQvKipcblx0ICogQHB1YmxpY1xuXHQgKiBAZGVzY3JpcHRpb24gQ3JlYXRlcyBhbmQgYWRkcyBudWxsIGZpbHRlci5cblx0ICogQHBhcmFtIGNvbHVtblBhdGggUGF0aCBvZiBjb2x1bW4uXG5cdCAqIEBwYXJhbSBmaWx0ZXJLZXkgRmlsdGVyIGtleS5cblx0ICovXG5cdHB1YmxpYyBhZGRTY2hlbWFDb2x1bW5Jc051bGxGaWx0ZXIoY29sdW1uUGF0aDogc3RyaW5nLCBmaWx0ZXJLZXk/OiBzdHJpbmcpOiB2b2lkIHtcblx0XHRjb25zdCBsZWZ0RXhwcmVzc2lvbiA9IG5ldyDJtUNvbHVtbkV4cHJlc3Npb24oeyBjb2x1bW5QYXRoIH0pO1xuXHRcdGNvbnN0IGZpbHRlciA9IG5ldyDJtUlzTnVsbEZpbHRlcijJtUNvbXBhcmlzb25UeXBlLklzX251bGwsIGxlZnRFeHByZXNzaW9uKTtcblx0XHR0aGlzLmFkZChmaWx0ZXIsIGZpbHRlcktleSk7XG5cdH1cblxuXHQvKipcblx0ICogQHB1YmxpY1xuXHQgKiBAZGVzY3JpcHRpb24gQ3JlYXRlcyBhbmQgYWRkcyBub3QgbnVsbCBmaWx0ZXIuXG5cdCAqIEBwYXJhbSBjb2x1bW5QYXRoIENvbHVtbiBwYXRoLlxuXHQgKiBAcGFyYW0gZmlsdGVyS2V5IEZpbHRlciBrZXkuXG5cdCAqL1xuXHRwdWJsaWMgYWRkU2NoZW1hQ29sdW1uSXNOb3ROdWxsRmlsdGVyKGNvbHVtblBhdGg6IHN0cmluZywgZmlsdGVyS2V5Pzogc3RyaW5nKTogdm9pZCB7XG5cdFx0Y29uc3QgbGVmdEV4cHJlc3Npb24gPSBuZXcgybVDb2x1bW5FeHByZXNzaW9uKHsgY29sdW1uUGF0aCB9KTtcblx0XHRjb25zdCBmaWx0ZXIgPSBuZXcgybVJc051bGxGaWx0ZXIoybVDb21wYXJpc29uVHlwZS5Jc19ub3RfbnVsbCwgbGVmdEV4cHJlc3Npb24pO1xuXHRcdHRoaXMuYWRkKGZpbHRlciwgZmlsdGVyS2V5KTtcblx0fVxuXG5cdC8qKlxuXHQgKiBAcHVibGljXG5cdCAqIEBkZXNjcmlwdGlvbiBDcmVhdGVzIGFuZCBhZGRzIGZpbHRlciBiZXR3ZWVuIGxlc3MgdmFsdWUgYW5kIGdyZWF0ZXIgdmFsdWUuXG5cdCAqIEBwYXJhbSBjb2x1bW5QYXRoIENvbHVtbiBwYXRoLlxuXHQgKiBAcGFyYW0gbGVzc1BhcmFtVmFsdWUgTGVzcyBwYXJhbWV0ZXIgdmFsdWUuXG5cdCAqIEBwYXJhbSBncmVhdGVyUGFyYW1WYWx1ZSBHcmVhdGVyIHBhcmFtZXRlciB2YWx1ZS5cblx0ICogQHBhcmFtIGZpbHRlcktleSBGaWx0ZXIga2V5LlxuXHQgKi9cblx0cHVibGljIGFkZFNjaGVtYUNvbHVtbkJldHdlZW5GaWx0ZXJXaXRoUGFyYW1ldGVycyhcblx0XHRjb2x1bW5QYXRoOiBzdHJpbmcsXG5cdFx0bGVzc1BhcmFtVmFsdWU6IERhdGUgfCBudW1iZXIsXG5cdFx0Z3JlYXRlclBhcmFtVmFsdWU6IERhdGUgfCBudW1iZXIsXG5cdFx0ZmlsdGVyS2V5Pzogc3RyaW5nLFxuXHQpOiB2b2lkIHtcblx0XHRjb25zdCBsZWZ0RXhwcmVzc2lvbiA9IG5ldyDJtUNvbHVtbkV4cHJlc3Npb24oeyBjb2x1bW5QYXRoIH0pO1xuXHRcdGNvbnN0IHJpZ2h0TGVzc0V4cHJlc3Npb24gPSBuZXcgybVQYXJhbWV0ZXJFeHByZXNzaW9uKHsgdmFsdWU6IGxlc3NQYXJhbVZhbHVlIH0pO1xuXHRcdGNvbnN0IHJpZ2h0R3JlYXRlckV4cHJlc3Npb24gPSBuZXcgybVQYXJhbWV0ZXJFeHByZXNzaW9uKHsgdmFsdWU6IGdyZWF0ZXJQYXJhbVZhbHVlIH0pO1xuXHRcdGNvbnN0IGZpbHRlciA9IG5ldyDJtUJldHdlZW5GaWx0ZXIobGVmdEV4cHJlc3Npb24sIHJpZ2h0TGVzc0V4cHJlc3Npb24sIHJpZ2h0R3JlYXRlckV4cHJlc3Npb24pO1xuXHRcdHRoaXMuYWRkKGZpbHRlciwgZmlsdGVyS2V5KTtcblx0fVxuXG5cdC8qKlxuXHQgKiBAcHVibGljXG5cdCAqIEBkZXNjcmlwdGlvbiBDcmVhdGVzIGFuZCBhZGRzIGV4aXN0cyBmaWx0ZXIuXG5cdCAqIEBwYXJhbSBjb2x1bW5QYXRoIENvbHVtbiBwYXRoLlxuXHQgKiBAcGFyYW0gc3ViRmlsdGVycyBGaWx0ZXJzIGZvciBleGlzdHMgZXhwcmVzc2lvbi5cblx0ICogQHBhcmFtIGZpbHRlcktleSBGaWx0ZXIga2V5LlxuXHQgKi9cblx0cHVibGljIGFkZEV4aXN0c0ZpbHRlcihjb2x1bW5QYXRoOiBzdHJpbmcsIHN1YkZpbHRlcnM/OiDJtUZpbHRlckdyb3VwLCBmaWx0ZXJLZXk/OiBzdHJpbmcpOiB2b2lkIHtcblx0XHRjb25zdCBsZWZ0RXhwcmVzc2lvbiA9IG5ldyDJtUNvbHVtbkV4cHJlc3Npb24oeyBjb2x1bW5QYXRoIH0pO1xuXHRcdGNvbnN0IGZpbHRlciA9IG5ldyDJtUV4aXN0c0ZpbHRlcihsZWZ0RXhwcmVzc2lvbiwgPMm1RmlsdGVyR3JvdXA+c3ViRmlsdGVycyk7XG5cdFx0dGhpcy5hZGQoZmlsdGVyLCBmaWx0ZXJLZXkpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEBwdWJsaWNcblx0ICogQGRlc2NyaXB0aW9uIENyZWF0ZXMgYW5kIGFkZHMgbm90IGV4aXN0cyBmaWx0ZXIuXG5cdCAqIEBwYXJhbSBjb2x1bW5QYXRoIENvbHVtbiBwYXRoLlxuXHQgKiBAcGFyYW0gc3ViRmlsdGVycyBGaWx0ZXJzIGZvciBleGlzdCBleHByZXNzaW9uLlxuXHQgKiBAcGFyYW0gZmlsdGVyS2V5IEZpbHRlciBrZXkuXG5cdCAqL1xuXHRwdWJsaWMgYWRkTm90RXhpc3RzRmlsdGVyKGNvbHVtblBhdGg6IHN0cmluZywgc3ViRmlsdGVycz86IMm1RmlsdGVyR3JvdXAsIGZpbHRlcktleT86IHN0cmluZyk6IHZvaWQge1xuXHRcdGNvbnN0IGxlZnRFeHByZXNzaW9uID0gbmV3IMm1Q29sdW1uRXhwcmVzc2lvbih7IGNvbHVtblBhdGggfSk7XG5cdFx0Y29uc3QgZmlsdGVyID0gbmV3IMm1RXhpc3RzRmlsdGVyKGxlZnRFeHByZXNzaW9uLCA8ybVGaWx0ZXJHcm91cD5zdWJGaWx0ZXJzLCDJtUNvbXBhcmlzb25UeXBlLk5vdF9leGlzdHMpO1xuXHRcdHRoaXMuYWRkKGZpbHRlciwgZmlsdGVyS2V5KTtcblx0fVxuXG5cdC8qKlxuXHQgKiBAcHVibGljXG5cdCAqIEBkZXNjcmlwdGlvbiBBZGRzIGZpbHRlci5cblx0ICogQHBhcmFtIGZpbHRlciBJbnN0YW5jZSBvZiBmaWx0ZXIuXG5cdCAqIEBwYXJhbSBmaWx0ZXJLZXkgRmlsdGVyIGtleS5cblx0ICovXG5cdHB1YmxpYyBhZGQoZmlsdGVyOiDJtUJhc2VGaWx0ZXIsIGZpbHRlcktleT86IHN0cmluZyk6IHZvaWQge1xuXHRcdMm1VmFsaWRhdGlvblV0aWxpdGllcy5jaGVja0FyZ3VtZW50RW1wdHkoJ2ZpbHRlcicsIGZpbHRlcik7XG5cdFx0Y29uc3Qga2V5ID0gZmlsdGVyS2V5IHx8IMm1Z2VuZXJhdGVHdWlkKCk7XG5cdFx0dGhpcy5maWx0ZXJzLnNldChrZXksIGZpbHRlcik7XG5cdH1cblxuXHQvKipcblx0ICogQHB1YmxpY1xuXHQgKiBAZGVzY3JpcHRpb24gQ2xvbmVzIGluc3RhbmNlLlxuXHQgKi9cblx0cHVibGljIGNsb25lKCk6IMm1RmlsdGVyR3JvdXAge1xuXHRcdGNvbnN0IGZpbHRlckdyb3VwID0gbmV3IMm1RmlsdGVyR3JvdXAodGhpcy5sb2dpY2FsT3BlcmF0aW9uLCB0aGlzLnJvb3RTY2hlbWFOYW1lKTtcblx0XHR0aGlzLmZpbHRlcnMuZm9yRWFjaCgoZmlsdGVyLCBmaWx0ZXJLZXkpID0+IHtcblx0XHRcdGZpbHRlckdyb3VwLmZpbHRlcnMuc2V0KGZpbHRlcktleSwgZmlsdGVyLmNsb25lKCkpO1xuXHRcdH0pO1xuXHRcdGZpbHRlckdyb3VwLmlzRW5hYmxlZCA9IHRoaXMuaXNFbmFibGVkO1xuXHRcdGZpbHRlckdyb3VwLnRyaW1EYXRlVGltZVBhcmFtZXRlclRvRGF0ZSA9IHRoaXMudHJpbURhdGVUaW1lUGFyYW1ldGVyVG9EYXRlO1xuXHRcdHJldHVybiBmaWx0ZXJHcm91cDtcblx0fVxuXG5cdC8qKlxuXHQgKiBAaW50ZXJuYWxcblx0ICovXG5cdHB1YmxpYyBfZ2V0VXNlZENvbHVtbnMoKTogVXNlZENvbHVtbltdIHtcblx0XHRjb25zdCByZXN1bHQ6IFVzZWRDb2x1bW5bXSA9IFtdO1xuXHRcdHRoaXMuZmlsdGVycy5mb3JFYWNoKChmaWx0ZXIpID0+IHtcblx0XHRcdGxldCBmaWx0ZXJVc2VkQ29sdW1ucyA9IGZpbHRlci5fZ2V0VXNlZENvbHVtbnMgPyBmaWx0ZXIuX2dldFVzZWRDb2x1bW5zKCkgOiBbXTtcblx0XHRcdGZpbHRlclVzZWRDb2x1bW5zID0gZmlsdGVyVXNlZENvbHVtbnMubWFwKCh1c2VkQ29sdW1uKSA9PiAoe1xuXHRcdFx0XHRwYXRoOiB1c2VkQ29sdW1uLnBhdGgsXG5cdFx0XHRcdHNjaGVtYU5hbWU6IHVzZWRDb2x1bW4uc2NoZW1hTmFtZSA/PyB0aGlzLnJvb3RTY2hlbWFOYW1lLFxuXHRcdFx0fSkpO1xuXHRcdFx0cmVzdWx0LnB1c2goLi4uZmlsdGVyVXNlZENvbHVtbnMpO1xuXHRcdH0pO1xuXHRcdHJldHVybiByZXN1bHQ7XG5cdH1cbn1cbiJdfQ==