@creatio/base 0.810.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 (154) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/LICENSE.md +6 -0
  3. package/README.md +19 -0
  4. package/esm2020/creatio-base.mjs +5 -0
  5. package/esm2020/index.mjs +2 -0
  6. package/esm2020/lib/external/utils/date-utils.mjs +29 -0
  7. package/esm2020/lib/external/utils/index.mjs +2 -0
  8. package/esm2020/lib/index.mjs +11 -0
  9. package/esm2020/lib/internal/enums/data-schema-attribute-type.enum.mjs +21 -0
  10. package/esm2020/lib/internal/enums/data-source-scope.enum.mjs +9 -0
  11. package/esm2020/lib/internal/enums/default-value-source.enum.mjs +12 -0
  12. package/esm2020/lib/internal/enums/index.mjs +5 -0
  13. package/esm2020/lib/internal/enums/lookup-mode.mjs +10 -0
  14. package/esm2020/lib/internal/model/data-schema/data-schema-attribute-aggregation-config.model.mjs +2 -0
  15. package/esm2020/lib/internal/model/data-schema/data-schema-attribute-function-config.model.mjs +2 -0
  16. package/esm2020/lib/internal/model/data-schema/data-schema-validator-config.model.mjs +2 -0
  17. package/esm2020/lib/internal/model/data-schema/index.mjs +4 -0
  18. package/esm2020/lib/internal/model/data-source-config.mjs +2 -0
  19. package/esm2020/lib/internal/model/index.mjs +3 -0
  20. package/esm2020/lib/internal/models/default-value-schema.mjs +2 -0
  21. package/esm2020/lib/internal/models/index.mjs +2 -0
  22. package/esm2020/lib/public/enums/aggregation-function.enum.mjs +18 -0
  23. package/esm2020/lib/public/enums/aggregation-type.enum.mjs +18 -0
  24. package/esm2020/lib/public/enums/data-schema-type.enum.mjs +9 -0
  25. package/esm2020/lib/public/enums/data-value-type.enum.mjs +48 -0
  26. package/esm2020/lib/public/enums/index.mjs +5 -0
  27. package/esm2020/lib/public/esq/data-model/columns/arithmetic/arithmetic-query-column.mjs +9 -0
  28. package/esm2020/lib/public/esq/data-model/columns/base-query-column.mjs +45 -0
  29. package/esm2020/lib/public/esq/data-model/columns/entity-column/entity-query-column.mjs +9 -0
  30. package/esm2020/lib/public/esq/data-model/columns/functions/aggregation-function-column.mjs +13 -0
  31. package/esm2020/lib/public/esq/data-model/columns/functions/date-part-function-column.mjs +17 -0
  32. package/esm2020/lib/public/esq/data-model/columns/functions/length-function-column.mjs +9 -0
  33. package/esm2020/lib/public/esq/data-model/columns/functions/macros-function-column.mjs +9 -0
  34. package/esm2020/lib/public/esq/data-model/columns/functions/window-function-column.mjs +9 -0
  35. package/esm2020/lib/public/esq/data-model/columns/index.mjs +13 -0
  36. package/esm2020/lib/public/esq/data-model/columns/parameters/parameter-query-column.mjs +9 -0
  37. package/esm2020/lib/public/esq/data-model/columns/query-column-test-utils.mjs +13 -0
  38. package/esm2020/lib/public/esq/data-model/columns/sub-queries/aggregation-sub-query-column.mjs +15 -0
  39. package/esm2020/lib/public/esq/data-model/columns/sub-queries/sub-query-column.mjs +9 -0
  40. package/esm2020/lib/public/esq/data-model/enums/aggregation-eval-type.enum.mjs +10 -0
  41. package/esm2020/lib/public/esq/data-model/enums/arithmetic-operation.enum.mjs +12 -0
  42. package/esm2020/lib/public/esq/data-model/enums/comparison-type.enum.mjs +21 -0
  43. package/esm2020/lib/public/esq/data-model/enums/date-part-type.enum.mjs +20 -0
  44. package/esm2020/lib/public/esq/data-model/enums/expression-type.enum.mjs +9 -0
  45. package/esm2020/lib/public/esq/data-model/enums/filter-type.enum.mjs +11 -0
  46. package/esm2020/lib/public/esq/data-model/enums/function-type.enum.mjs +19 -0
  47. package/esm2020/lib/public/esq/data-model/enums/index.mjs +12 -0
  48. package/esm2020/lib/public/esq/data-model/enums/logical-operator-type.enum.mjs +6 -0
  49. package/esm2020/lib/public/esq/data-model/enums/order-direction.enum.mjs +7 -0
  50. package/esm2020/lib/public/esq/data-model/enums/query-macros-type.enum.mjs +76 -0
  51. package/esm2020/lib/public/esq/data-model/expressions/arithmetic/arithmetic-expression.mjs +30 -0
  52. package/esm2020/lib/public/esq/data-model/expressions/arithmetic/index.mjs +2 -0
  53. package/esm2020/lib/public/esq/data-model/expressions/base-expression.mjs +14 -0
  54. package/esm2020/lib/public/esq/data-model/expressions/columns/column-expression.mjs +21 -0
  55. package/esm2020/lib/public/esq/data-model/expressions/columns/index.mjs +2 -0
  56. package/esm2020/lib/public/esq/data-model/expressions/expression-parser/base-expression-parser.mjs +10 -0
  57. package/esm2020/lib/public/esq/data-model/expressions/expression-parser/expression-parser.mjs +17 -0
  58. package/esm2020/lib/public/esq/data-model/expressions/expression-parser/expression-resolver.mjs +41 -0
  59. package/esm2020/lib/public/esq/data-model/expressions/expression-parser/index.mjs +4 -0
  60. package/esm2020/lib/public/esq/data-model/expressions/functions/aggregation-function-expression.mjs +29 -0
  61. package/esm2020/lib/public/esq/data-model/expressions/functions/argument-function-expression.mjs +8 -0
  62. package/esm2020/lib/public/esq/data-model/expressions/functions/date-part-function-expression.mjs +22 -0
  63. package/esm2020/lib/public/esq/data-model/expressions/functions/function-expression.mjs +9 -0
  64. package/esm2020/lib/public/esq/data-model/expressions/functions/index.mjs +8 -0
  65. package/esm2020/lib/public/esq/data-model/expressions/functions/length-function-expression.mjs +20 -0
  66. package/esm2020/lib/public/esq/data-model/expressions/functions/macros-function-expression.mjs +21 -0
  67. package/esm2020/lib/public/esq/data-model/expressions/functions/window-function-expression.mjs +20 -0
  68. package/esm2020/lib/public/esq/data-model/expressions/index.mjs +9 -0
  69. package/esm2020/lib/public/esq/data-model/expressions/mocks/expression.mock.mjs +17 -0
  70. package/esm2020/lib/public/esq/data-model/expressions/mocks/index.mjs +2 -0
  71. package/esm2020/lib/public/esq/data-model/expressions/parameters/index.mjs +2 -0
  72. package/esm2020/lib/public/esq/data-model/expressions/parameters/parameter-expression.mjs +88 -0
  73. package/esm2020/lib/public/esq/data-model/expressions/sub-queries/aggregation-sub-query-expression.mjs +25 -0
  74. package/esm2020/lib/public/esq/data-model/expressions/sub-queries/index.mjs +3 -0
  75. package/esm2020/lib/public/esq/data-model/expressions/sub-queries/sub-query-expression.mjs +30 -0
  76. package/esm2020/lib/public/esq/data-model/filters/base-filter.mjs +15 -0
  77. package/esm2020/lib/public/esq/data-model/filters/between-filter.mjs +21 -0
  78. package/esm2020/lib/public/esq/data-model/filters/compare-filter.mjs +20 -0
  79. package/esm2020/lib/public/esq/data-model/filters/exists-filter.mjs +22 -0
  80. package/esm2020/lib/public/esq/data-model/filters/filter-group.mjs +129 -0
  81. package/esm2020/lib/public/esq/data-model/filters/filter-parser/base-filter-parser.mjs +10 -0
  82. package/esm2020/lib/public/esq/data-model/filters/filter-parser/filter-parser.mjs +14 -0
  83. package/esm2020/lib/public/esq/data-model/filters/filter-parser/filter-resolver.mjs +25 -0
  84. package/esm2020/lib/public/esq/data-model/filters/filter-parser/index.mjs +4 -0
  85. package/esm2020/lib/public/esq/data-model/filters/filter-test-utils.mjs +11 -0
  86. package/esm2020/lib/public/esq/data-model/filters/in-filter.mjs +20 -0
  87. package/esm2020/lib/public/esq/data-model/filters/index.mjs +12 -0
  88. package/esm2020/lib/public/esq/data-model/filters/isnull-filter.mjs +28 -0
  89. package/esm2020/lib/public/esq/data-model/filters/mocks/filter.mock.mjs +16 -0
  90. package/esm2020/lib/public/esq/data-model/filters/mocks/index.mjs +3 -0
  91. package/esm2020/lib/public/esq/data-model/filters/mocks/parser.mock.mjs +8 -0
  92. package/esm2020/lib/public/esq/data-model/filters/single-filter.mjs +9 -0
  93. package/esm2020/lib/public/esq/data-model/index.mjs +7 -0
  94. package/esm2020/lib/public/esq/data-model/metadata-provider/metadata-provider.mjs +2 -0
  95. package/esm2020/lib/public/esq/data-model/queries/base-filterable-query.mjs +15 -0
  96. package/esm2020/lib/public/esq/data-model/queries/base-query.mjs +20 -0
  97. package/esm2020/lib/public/esq/data-model/queries/delete-query.mjs +12 -0
  98. package/esm2020/lib/public/esq/data-model/queries/entity-schema-query.mjs +205 -0
  99. package/esm2020/lib/public/esq/data-model/queries/index.mjs +9 -0
  100. package/esm2020/lib/public/esq/data-model/queries/insert-query.mjs +37 -0
  101. package/esm2020/lib/public/esq/data-model/queries/query-operation-type.mjs +15 -0
  102. package/esm2020/lib/public/esq/data-model/queries/select-localization-query.mjs +7 -0
  103. package/esm2020/lib/public/esq/data-model/queries/update-query.mjs +43 -0
  104. package/esm2020/lib/public/esq/index.mjs +2 -0
  105. package/esm2020/lib/public/exceptions/argument-empty-exception.mjs +7 -0
  106. package/esm2020/lib/public/exceptions/argument-out-of-range-exception.mjs +7 -0
  107. package/esm2020/lib/public/exceptions/index.mjs +6 -0
  108. package/esm2020/lib/public/exceptions/item-not-found-exception.mjs +7 -0
  109. package/esm2020/lib/public/exceptions/next-handler-already-specified-exception.mjs +9 -0
  110. package/esm2020/lib/public/exceptions/validation-utilities.mjs +32 -0
  111. package/esm2020/lib/public/models/data-source/data-source-insert-result.model.mjs +2 -0
  112. package/esm2020/lib/public/models/data-source/data-source-save-result.model.mjs +2 -0
  113. package/esm2020/lib/public/models/data-source/index.mjs +3 -0
  114. package/esm2020/lib/public/models/index.mjs +6 -0
  115. package/esm2020/lib/public/models/lookup-value.model.mjs +2 -0
  116. package/esm2020/lib/public/models/request/base-request.mjs +9 -0
  117. package/esm2020/lib/public/models/request/index.mjs +2 -0
  118. package/esm2020/lib/public/models/request-handler/index.mjs +2 -0
  119. package/esm2020/lib/public/models/request-handler/request-handler.mjs +2 -0
  120. package/esm2020/lib/public/models/view-model-context.mjs +3 -0
  121. package/esm2020/lib/public/services/index.mjs +3 -0
  122. package/esm2020/lib/public/services/model/base-model.mjs +2 -0
  123. package/esm2020/lib/public/services/model/data-schema-attribute.mjs +2 -0
  124. package/esm2020/lib/public/services/model/data-schema.mjs +2 -0
  125. package/esm2020/lib/public/services/model/data-source-aggregation-config.mjs +2 -0
  126. package/esm2020/lib/public/services/model/data-source-attribute.mjs +2 -0
  127. package/esm2020/lib/public/services/model/data-source-can-execute-operation.mjs +2 -0
  128. package/esm2020/lib/public/services/model/data-source-function-config.mjs +2 -0
  129. package/esm2020/lib/public/services/model/data-source-paging-config.mjs +2 -0
  130. package/esm2020/lib/public/services/model/data-source-parameter.mjs +12 -0
  131. package/esm2020/lib/public/services/model/data-source-sorting-config.mjs +2 -0
  132. package/esm2020/lib/public/services/model/index.mjs +13 -0
  133. package/esm2020/lib/public/services/model/model-load-options.mjs +2 -0
  134. package/esm2020/lib/public/services/sys-settings/base-sys-settings.service.mjs +2 -0
  135. package/esm2020/lib/public/services/sys-settings/index.mjs +2 -0
  136. package/esm2020/lib/public/types/abstract-type.mjs +2 -0
  137. package/esm2020/lib/public/types/aggregation-eval.type.mjs +2 -0
  138. package/esm2020/lib/public/types/date-part.type.mjs +2 -0
  139. package/esm2020/lib/public/types/entity-column-value.mjs +2 -0
  140. package/esm2020/lib/public/types/function.type.mjs +2 -0
  141. package/esm2020/lib/public/types/guid.type.mjs +53 -0
  142. package/esm2020/lib/public/types/index.mjs +13 -0
  143. package/esm2020/lib/public/types/json-data.type.mjs +2 -0
  144. package/esm2020/lib/public/types/localizable-string.type.mjs +2 -0
  145. package/esm2020/lib/public/types/localize-fn.type.mjs +2 -0
  146. package/esm2020/lib/public/types/resolve-dependency-fn.type.mjs +2 -0
  147. package/esm2020/lib/public/types/sort-direction.type.mjs +2 -0
  148. package/esm2020/lib/public/types/type.mjs +2 -0
  149. package/fesm2015/creatio-base.mjs +1643 -0
  150. package/fesm2015/creatio-base.mjs.map +1 -0
  151. package/fesm2020/creatio-base.mjs +1673 -0
  152. package/fesm2020/creatio-base.mjs.map +1 -0
  153. package/index.d.ts +1622 -0
  154. package/package.json +37 -0
@@ -0,0 +1,28 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { Expose } from 'class-transformer';
3
+ import { ɵSingleFilter } from './single-filter';
4
+ import { ɵComparisonType, ɵFilterType } from '../enums';
5
+ export class ɵIsNullFilter extends ɵSingleFilter {
6
+ constructor(comparisonType, leftExpression) {
7
+ super(ɵFilterType.IsNull, comparisonType, leftExpression);
8
+ }
9
+ get isNull() {
10
+ return this.comparisonType === ɵComparisonType.Is_null;
11
+ }
12
+ /**
13
+ * Parses isNull filter from json.
14
+ * @public
15
+ */
16
+ static fromJson(dto, filterParser, expressionParser) {
17
+ return new ɵIsNullFilter(dto['comparisonType'], expressionParser.fromJson(dto['leftExpression'], filterParser));
18
+ }
19
+ clone() {
20
+ return new ɵIsNullFilter(this.comparisonType, this.leftExpression);
21
+ }
22
+ }
23
+ __decorate([
24
+ Expose(),
25
+ __metadata("design:type", Boolean),
26
+ __metadata("design:paramtypes", [])
27
+ ], ɵIsNullFilter.prototype, "isNull", null);
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNudWxsLWZpbHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGV2a2l0L2Jhc2Uvc3JjL2xpYi9wdWJsaWMvZXNxL2RhdGEtbW9kZWwvZmlsdGVycy9pc251bGwtZmlsdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFHM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWhELE9BQU8sRUFBRSxlQUFlLEVBQUUsV0FBVyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBSXhELE1BQU0sT0FBTyxhQUFjLFNBQVEsYUFBYTtJQUMvQyxZQUFZLGNBQStCLEVBQUUsY0FBK0I7UUFDM0UsS0FBSyxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsY0FBYyxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRCxJQUNXLE1BQU07UUFDaEIsT0FBTyxJQUFJLENBQUMsY0FBYyxLQUFLLGVBQWUsQ0FBQyxPQUFPLENBQUM7SUFDeEQsQ0FBQztJQUVEOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxRQUFRLENBR3BCLEdBQWdCLEVBQUUsWUFBMkIsRUFBRSxnQkFBbUM7UUFDbkYsT0FBTyxJQUFJLGFBQWEsQ0FDdkIsR0FBRyxDQUFDLGdCQUFnQixDQUFvQixFQUN4QyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFnQixFQUFFLFlBQVksQ0FBb0IsQ0FDaEcsQ0FBQztJQUNILENBQUM7SUFFTSxLQUFLO1FBQ1gsT0FBTyxJQUFJLGFBQWEsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNwRSxDQUFDO0NBQ0Q7QUF0QkE7SUFBQyxNQUFNLEVBQUU7OzsyQ0FHUiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV4cG9zZSB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcblxuaW1wb3J0IHsgybVCYXNlRmlsdGVyUGFyc2VyIH0gZnJvbSAnLi9maWx0ZXItcGFyc2VyL2Jhc2UtZmlsdGVyLXBhcnNlcic7XG5pbXBvcnQgeyDJtVNpbmdsZUZpbHRlciB9IGZyb20gJy4vc2luZ2xlLWZpbHRlcic7XG5pbXBvcnQgeyDJtUpzb25PYmplY3QgfSBmcm9tICcuLi8uLi8uLi90eXBlcyc7XG5pbXBvcnQgeyDJtUNvbXBhcmlzb25UeXBlLCDJtUZpbHRlclR5cGUgfSBmcm9tICcuLi9lbnVtcyc7XG5pbXBvcnQgeyDJtUJhc2VFeHByZXNzaW9uIH0gZnJvbSAnLi4vZXhwcmVzc2lvbnMvYmFzZS1leHByZXNzaW9uJztcbmltcG9ydCB7IMm1QmFzZUV4cHJlc3Npb25QYXJzZXIgfSBmcm9tICcuLi9leHByZXNzaW9ucy9leHByZXNzaW9uLXBhcnNlci9iYXNlLWV4cHJlc3Npb24tcGFyc2VyJztcblxuZXhwb3J0IGNsYXNzIMm1SXNOdWxsRmlsdGVyIGV4dGVuZHMgybVTaW5nbGVGaWx0ZXIge1xuXHRjb25zdHJ1Y3Rvcihjb21wYXJpc29uVHlwZTogybVDb21wYXJpc29uVHlwZSwgbGVmdEV4cHJlc3Npb246IMm1QmFzZUV4cHJlc3Npb24pIHtcblx0XHRzdXBlcijJtUZpbHRlclR5cGUuSXNOdWxsLCBjb21wYXJpc29uVHlwZSwgbGVmdEV4cHJlc3Npb24pO1xuXHR9XG5cblx0QEV4cG9zZSgpXG5cdHB1YmxpYyBnZXQgaXNOdWxsKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiB0aGlzLmNvbXBhcmlzb25UeXBlID09PSDJtUNvbXBhcmlzb25UeXBlLklzX251bGw7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGlzTnVsbCBmaWx0ZXIgZnJvbSBqc29uLlxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGZyb21Kc29uPFxuXHRcdFRGaWx0ZXJQYXJzZXIgZXh0ZW5kcyB0eXBlb2YgybVCYXNlRmlsdGVyUGFyc2VyLFxuXHRcdFRFeHByZXNzaW9uUGFyc2VyIGV4dGVuZHMgdHlwZW9mIMm1QmFzZUV4cHJlc3Npb25QYXJzZXIsXG5cdD4oZHRvOiDJtUpzb25PYmplY3QsIGZpbHRlclBhcnNlcjogVEZpbHRlclBhcnNlciwgZXhwcmVzc2lvblBhcnNlcjogVEV4cHJlc3Npb25QYXJzZXIpOiDJtUlzTnVsbEZpbHRlciB7XG5cdFx0cmV0dXJuIG5ldyDJtUlzTnVsbEZpbHRlcihcblx0XHRcdGR0b1snY29tcGFyaXNvblR5cGUnXSBhcyDJtUNvbXBhcmlzb25UeXBlLFxuXHRcdFx0ZXhwcmVzc2lvblBhcnNlci5mcm9tSnNvbihkdG9bJ2xlZnRFeHByZXNzaW9uJ10gYXMgybVKc29uT2JqZWN0LCBmaWx0ZXJQYXJzZXIpIGFzIMm1QmFzZUV4cHJlc3Npb24sXG5cdFx0KTtcblx0fVxuXG5cdHB1YmxpYyBjbG9uZSgpOiDJtUlzTnVsbEZpbHRlciB7XG5cdFx0cmV0dXJuIG5ldyDJtUlzTnVsbEZpbHRlcih0aGlzLmNvbXBhcmlzb25UeXBlLCB0aGlzLmxlZnRFeHByZXNzaW9uKTtcblx0fVxufVxuIl19
@@ -0,0 +1,16 @@
1
+ import { classToPlain } from 'class-transformer';
2
+ import { ɵFilterType } from '../../enums';
3
+ import { ɵBaseFilter } from '../base-filter';
4
+ export class ɵFilterMock extends ɵBaseFilter {
5
+ constructor(filterType = ɵFilterType.None) {
6
+ super(filterType);
7
+ }
8
+ // eslint-disable-next-line @typescript-eslint/ban-types
9
+ get plainObject() {
10
+ return classToPlain(this, { exposeUnsetFields: false, excludePrefixes: ['_'] });
11
+ }
12
+ clone() {
13
+ return new ɵFilterMock(this.filterType);
14
+ }
15
+ }
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLm1vY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RldmtpdC9iYXNlL3NyYy9saWIvcHVibGljL2VzcS9kYXRhLW1vZGVsL2ZpbHRlcnMvbW9ja3MvZmlsdGVyLm1vY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRWpELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE1BQU0sT0FBTyxXQUFZLFNBQVEsV0FBVztJQUMzQyxZQUFZLGFBQTBCLFdBQVcsQ0FBQyxJQUFJO1FBQ3JELEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNuQixDQUFDO0lBRUQsd0RBQXdEO0lBQ3hELElBQVcsV0FBVztRQUNyQixPQUFPLFlBQVksQ0FBQyxJQUFJLEVBQUUsRUFBRSxpQkFBaUIsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2pGLENBQUM7SUFFTSxLQUFLO1FBQ1gsT0FBTyxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDekMsQ0FBQztDQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY2xhc3NUb1BsYWluIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuXG5pbXBvcnQgeyDJtUZpbHRlclR5cGUgfSBmcm9tICcuLi8uLi9lbnVtcyc7XG5pbXBvcnQgeyDJtUJhc2VGaWx0ZXIgfSBmcm9tICcuLi9iYXNlLWZpbHRlcic7XG5cbmV4cG9ydCBjbGFzcyDJtUZpbHRlck1vY2sgZXh0ZW5kcyDJtUJhc2VGaWx0ZXIge1xuXHRjb25zdHJ1Y3RvcihmaWx0ZXJUeXBlOiDJtUZpbHRlclR5cGUgPSDJtUZpbHRlclR5cGUuTm9uZSkge1xuXHRcdHN1cGVyKGZpbHRlclR5cGUpO1xuXHR9XG5cblx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHlwZXNcblx0cHVibGljIGdldCBwbGFpbk9iamVjdCgpOiBvYmplY3Qge1xuXHRcdHJldHVybiBjbGFzc1RvUGxhaW4odGhpcywgeyBleHBvc2VVbnNldEZpZWxkczogZmFsc2UsIGV4Y2x1ZGVQcmVmaXhlczogWydfJ10gfSk7XG5cdH1cblxuXHRwdWJsaWMgY2xvbmUoKTogybVGaWx0ZXJNb2NrIHtcblx0XHRyZXR1cm4gbmV3IMm1RmlsdGVyTW9jayh0aGlzLmZpbHRlclR5cGUpO1xuXHR9XG59XG4iXX0=
@@ -0,0 +1,3 @@
1
+ export * from './filter.mock';
2
+ export * from './parser.mock';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RldmtpdC9iYXNlL3NyYy9saWIvcHVibGljL2VzcS9kYXRhLW1vZGVsL2ZpbHRlcnMvbW9ja3MvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2ZpbHRlci5tb2NrJztcbmV4cG9ydCAqIGZyb20gJy4vcGFyc2VyLm1vY2snO1xuIl19
@@ -0,0 +1,8 @@
1
+ export const ɵparserMock = {
2
+ fromJson: (data) => ({
3
+ ...data,
4
+ clone: () => data,
5
+ }),
6
+ clone: () => this,
7
+ };
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2VyLm1vY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RldmtpdC9iYXNlL3NyYy9saWIvcHVibGljL2VzcS9kYXRhLW1vZGVsL2ZpbHRlcnMvbW9ja3MvcGFyc2VyLm1vY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHO0lBQzFCLFFBQVEsRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNwQixHQUFHLElBQUk7UUFDUCxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSTtLQUNqQixDQUFDO0lBQ0YsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUk7Q0FDakIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCDJtXBhcnNlck1vY2sgPSB7XG5cdGZyb21Kc29uOiAoZGF0YSkgPT4gKHtcblx0XHQuLi5kYXRhLFxuXHRcdGNsb25lOiAoKSA9PiBkYXRhLFxuXHR9KSxcblx0Y2xvbmU6ICgpID0+IHRoaXMsXG59O1xuIl19
@@ -0,0 +1,9 @@
1
+ import { ɵBaseFilter } from './base-filter';
2
+ export class ɵSingleFilter extends ɵBaseFilter {
3
+ constructor(filterType, comparisonType, leftExpression) {
4
+ super(filterType);
5
+ this.comparisonType = comparisonType;
6
+ this.leftExpression = leftExpression.clone();
7
+ }
8
+ }
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2luZ2xlLWZpbHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGV2a2l0L2Jhc2Uvc3JjL2xpYi9wdWJsaWMvZXNxL2RhdGEtbW9kZWwvZmlsdGVycy9zaW5nbGUtZmlsdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJNUMsTUFBTSxPQUFnQixhQUFjLFNBQVEsV0FBVztJQUt0RCxZQUFzQixVQUF1QixFQUFFLGNBQStCLEVBQUUsY0FBK0I7UUFDOUcsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2xCLElBQUksQ0FBQyxjQUFjLEdBQUcsY0FBYyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxjQUFjLEdBQUcsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzlDLENBQUM7Q0FDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IMm1QmFzZUZpbHRlciB9IGZyb20gJy4vYmFzZS1maWx0ZXInO1xuaW1wb3J0IHsgybVDb21wYXJpc29uVHlwZSwgybVGaWx0ZXJUeXBlIH0gZnJvbSAnLi4vZW51bXMnO1xuaW1wb3J0IHsgybVCYXNlRXhwcmVzc2lvbiB9IGZyb20gJy4uL2V4cHJlc3Npb25zL2Jhc2UtZXhwcmVzc2lvbic7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyDJtVNpbmdsZUZpbHRlciBleHRlbmRzIMm1QmFzZUZpbHRlciB7XG5cdHB1YmxpYyByZWFkb25seSBjb21wYXJpc29uVHlwZTogybVDb21wYXJpc29uVHlwZTtcblxuXHRwdWJsaWMgcmVhZG9ubHkgbGVmdEV4cHJlc3Npb246IMm1QmFzZUV4cHJlc3Npb247XG5cblx0cHJvdGVjdGVkIGNvbnN0cnVjdG9yKGZpbHRlclR5cGU6IMm1RmlsdGVyVHlwZSwgY29tcGFyaXNvblR5cGU6IMm1Q29tcGFyaXNvblR5cGUsIGxlZnRFeHByZXNzaW9uOiDJtUJhc2VFeHByZXNzaW9uKSB7XG5cdFx0c3VwZXIoZmlsdGVyVHlwZSk7XG5cdFx0dGhpcy5jb21wYXJpc29uVHlwZSA9IGNvbXBhcmlzb25UeXBlO1xuXHRcdHRoaXMubGVmdEV4cHJlc3Npb24gPSBsZWZ0RXhwcmVzc2lvbi5jbG9uZSgpO1xuXHR9XG59XG4iXX0=
@@ -0,0 +1,7 @@
1
+ export * from './enums';
2
+ export * from './expressions';
3
+ export * from './filters';
4
+ export * from './columns';
5
+ export * from './queries';
6
+ export * from './metadata-provider/metadata-provider';
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RldmtpdC9iYXNlL3NyYy9saWIvcHVibGljL2VzcS9kYXRhLW1vZGVsL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsdUNBQXVDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2VudW1zJztcbmV4cG9ydCAqIGZyb20gJy4vZXhwcmVzc2lvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9maWx0ZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vY29sdW1ucyc7XG5leHBvcnQgKiBmcm9tICcuL3F1ZXJpZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9tZXRhZGF0YS1wcm92aWRlci9tZXRhZGF0YS1wcm92aWRlcic7XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEtcHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RldmtpdC9iYXNlL3NyYy9saWIvcHVibGljL2VzcS9kYXRhLW1vZGVsL21ldGFkYXRhLXByb3ZpZGVyL21ldGFkYXRhLXByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSDJtU1ldGFkYXRhUHJvdmlkZXI8VD4ge1xuXHQvLyByZWdpb24gTWV0aG9kczogUHVibGljXG5cblx0Z2V0TWV0YWRhdGEoKTogVDtcblxuXHQvLyBlbmRyZWdpb25cbn1cbiJdfQ==
@@ -0,0 +1,15 @@
1
+ import { ɵBaseQuery } from './base-query';
2
+ import { ɵFilterGroup } from '../filters/filter-group';
3
+ /**
4
+ * @public
5
+ */
6
+ export class ɵBaseFilterableQuery extends ɵBaseQuery {
7
+ constructor(operationType, rootSchemaName) {
8
+ super(operationType, rootSchemaName);
9
+ this.filters = new ɵFilterGroup();
10
+ }
11
+ clearFilters() {
12
+ this.filters.filters.clear();
13
+ }
14
+ }
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1maWx0ZXJhYmxlLXF1ZXJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kZXZraXQvYmFzZS9zcmMvbGliL3B1YmxpYy9lc3EvZGF0YS1tb2RlbC9xdWVyaWVzL2Jhc2UtZmlsdGVyYWJsZS1xdWVyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV2RDs7R0FFRztBQUNILE1BQU0sT0FBZ0Isb0JBQXFCLFNBQVEsVUFBVTtJQUc1RCxZQUFzQixhQUFrQyxFQUFFLGNBQXNCO1FBQy9FLEtBQUssQ0FBQyxhQUFhLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFIdEIsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFJN0MsQ0FBQztJQUVNLFlBQVk7UUFDbEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDOUIsQ0FBQztDQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgybVCYXNlUXVlcnkgfSBmcm9tICcuL2Jhc2UtcXVlcnknO1xuaW1wb3J0IHsgybVRdWVyeU9wZXJhdGlvblR5cGUgfSBmcm9tICcuL3F1ZXJ5LW9wZXJhdGlvbi10eXBlJztcbmltcG9ydCB7IMm1RmlsdGVyR3JvdXAgfSBmcm9tICcuLi9maWx0ZXJzL2ZpbHRlci1ncm91cCc7XG5cbi8qKlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgybVCYXNlRmlsdGVyYWJsZVF1ZXJ5IGV4dGVuZHMgybVCYXNlUXVlcnkge1xuXHRwdWJsaWMgcmVhZG9ubHkgZmlsdGVycyA9IG5ldyDJtUZpbHRlckdyb3VwKCk7XG5cblx0cHJvdGVjdGVkIGNvbnN0cnVjdG9yKG9wZXJhdGlvblR5cGU6IMm1UXVlcnlPcGVyYXRpb25UeXBlLCByb290U2NoZW1hTmFtZTogc3RyaW5nKSB7XG5cdFx0c3VwZXIob3BlcmF0aW9uVHlwZSwgcm9vdFNjaGVtYU5hbWUpO1xuXHR9XG5cblx0cHVibGljIGNsZWFyRmlsdGVycygpOiB2b2lkIHtcblx0XHR0aGlzLmZpbHRlcnMuZmlsdGVycy5jbGVhcigpO1xuXHR9XG59XG4iXX0=
@@ -0,0 +1,20 @@
1
+ import { classToPlain } from 'class-transformer';
2
+ import { ɵValidationUtilities } from '../../../exceptions';
3
+ /**
4
+ * @public
5
+ */
6
+ export class ɵBaseQuery {
7
+ // region Constructors: Protected
8
+ constructor(operationType, rootSchemaName) {
9
+ this.operationType = operationType;
10
+ this.rootSchemaName = rootSchemaName;
11
+ ɵValidationUtilities.checkArgumentEmpty('_operationType', operationType);
12
+ ɵValidationUtilities.checkArgumentEmpty('_rootSchemaName', rootSchemaName);
13
+ }
14
+ // endregion
15
+ // region Methods: Public
16
+ getMetadata() {
17
+ return classToPlain(this, { exposeUnsetFields: false, excludePrefixes: ['_'] });
18
+ }
19
+ }
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1xdWVyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGV2a2l0L2Jhc2Uvc3JjL2xpYi9wdWJsaWMvZXNxL2RhdGEtbW9kZWwvcXVlcmllcy9iYXNlLXF1ZXJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUlqRCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUV6RDs7R0FFRztBQUNILE1BQU0sT0FBZ0IsVUFBVTtJQUMvQixpQ0FBaUM7SUFFakMsWUFBc0MsYUFBa0MsRUFBa0IsY0FBc0I7UUFBMUUsa0JBQWEsR0FBYixhQUFhLENBQXFCO1FBQWtCLG1CQUFjLEdBQWQsY0FBYyxDQUFRO1FBQy9HLG9CQUFvQixDQUFDLGtCQUFrQixDQUFDLGdCQUFnQixFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQ3pFLG9CQUFvQixDQUFDLGtCQUFrQixDQUFDLGlCQUFpQixFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFRCxZQUFZO0lBRVoseUJBQXlCO0lBRWxCLFdBQVc7UUFDakIsT0FBTyxZQUFZLENBQUMsSUFBSSxFQUFFLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNqRixDQUFDO0NBR0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjbGFzc1RvUGxhaW4gfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5cbmltcG9ydCB7IMm1UXVlcnlPcGVyYXRpb25UeXBlIH0gZnJvbSAnLi9xdWVyeS1vcGVyYXRpb24tdHlwZSc7XG5pbXBvcnQge8m1TWV0YWRhdGFQcm92aWRlcn0gZnJvbSAnLi4vbWV0YWRhdGEtcHJvdmlkZXIvbWV0YWRhdGEtcHJvdmlkZXInO1xuaW1wb3J0IHvJtVZhbGlkYXRpb25VdGlsaXRpZXN9IGZyb20gJy4uLy4uLy4uL2V4Y2VwdGlvbnMnO1xuXG4vKipcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIMm1QmFzZVF1ZXJ5IGltcGxlbWVudHMgybVNZXRhZGF0YVByb3ZpZGVyPFJlY29yZDxzdHJpbmcsIHVua25vd24+PiB7XG5cdC8vIHJlZ2lvbiBDb25zdHJ1Y3RvcnM6IFByb3RlY3RlZFxuXG5cdHByb3RlY3RlZCBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgb3BlcmF0aW9uVHlwZTogybVRdWVyeU9wZXJhdGlvblR5cGUsIHB1YmxpYyByZWFkb25seSByb290U2NoZW1hTmFtZTogc3RyaW5nKSB7XG5cdFx0ybVWYWxpZGF0aW9uVXRpbGl0aWVzLmNoZWNrQXJndW1lbnRFbXB0eSgnX29wZXJhdGlvblR5cGUnLCBvcGVyYXRpb25UeXBlKTtcblx0XHTJtVZhbGlkYXRpb25VdGlsaXRpZXMuY2hlY2tBcmd1bWVudEVtcHR5KCdfcm9vdFNjaGVtYU5hbWUnLCByb290U2NoZW1hTmFtZSk7XG5cdH1cblxuXHQvLyBlbmRyZWdpb25cblxuXHQvLyByZWdpb24gTWV0aG9kczogUHVibGljXG5cblx0cHVibGljIGdldE1ldGFkYXRhKCk6IFJlY29yZDxzdHJpbmcsIHVua25vd24+IHtcblx0XHRyZXR1cm4gY2xhc3NUb1BsYWluKHRoaXMsIHsgZXhwb3NlVW5zZXRGaWVsZHM6IGZhbHNlLCBleGNsdWRlUHJlZml4ZXM6IFsnXyddIH0pO1xuXHR9XG5cblx0Ly8gZW5kcmVnaW9uXG59XG4iXX0=
@@ -0,0 +1,12 @@
1
+ import { ɵBaseFilterableQuery } from './base-filterable-query';
2
+ import { ɵQueryOperationType } from './query-operation-type';
3
+ /**
4
+ * @public
5
+ */
6
+ export class ɵDeleteQuery extends ɵBaseFilterableQuery {
7
+ // region Constructors: Public
8
+ constructor(rootSchemaName) {
9
+ super(ɵQueryOperationType.Delete, rootSchemaName);
10
+ }
11
+ }
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRlLXF1ZXJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kZXZraXQvYmFzZS9zcmMvbGliL3B1YmxpYy9lc3EvZGF0YS1tb2RlbC9xdWVyaWVzL2RlbGV0ZS1xdWVyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUU3RDs7R0FFRztBQUNILE1BQU0sT0FBTyxZQUFhLFNBQVEsb0JBQW9CO0lBQ3JELDhCQUE4QjtJQUU5QixZQUFZLGNBQXNCO1FBQ2pDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDbkQsQ0FBQztDQUdEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgybVCYXNlRmlsdGVyYWJsZVF1ZXJ5IH0gZnJvbSAnLi9iYXNlLWZpbHRlcmFibGUtcXVlcnknO1xuaW1wb3J0IHsgybVRdWVyeU9wZXJhdGlvblR5cGUgfSBmcm9tICcuL3F1ZXJ5LW9wZXJhdGlvbi10eXBlJztcblxuLyoqXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjbGFzcyDJtURlbGV0ZVF1ZXJ5IGV4dGVuZHMgybVCYXNlRmlsdGVyYWJsZVF1ZXJ5IHtcblx0Ly8gcmVnaW9uIENvbnN0cnVjdG9yczogUHVibGljXG5cblx0Y29uc3RydWN0b3Iocm9vdFNjaGVtYU5hbWU6IHN0cmluZykge1xuXHRcdHN1cGVyKMm1UXVlcnlPcGVyYXRpb25UeXBlLkRlbGV0ZSwgcm9vdFNjaGVtYU5hbWUpO1xuXHR9XG5cblx0Ly8gZW5kcmVnaW9uXG59XG4iXX0=
@@ -0,0 +1,205 @@
1
+ import { classToPlain } from 'class-transformer';
2
+ import { ɵBaseFilterableQuery } from './base-filterable-query';
3
+ import { ɵQueryOperationType } from './query-operation-type';
4
+ import { ɵAggregationEvalType } from '../enums';
5
+ import { ɵAggregationFunctionColumn, ɵAggregationSubQueryColumn, ɵArithmeticQueryColumn, ɵDatePartFunctionColumn, ɵEntityQueryColumn, ɵLengthFunctionColumn, ɵMacrosFunctionColumn, ɵParameterQueryColumn, ɵWindowFunctionColumn } from '../columns';
6
+ import { ɵItemNotFoundException, ɵValidationUtilities } from '../../../exceptions';
7
+ import { ɵAggregationFunctionExpression, ɵColumnExpression } from '../expressions';
8
+ /**
9
+ * @public
10
+ */
11
+ export class ɵEntitySchemaQuery extends ɵBaseFilterableQuery {
12
+ constructor(rootSchemaName) {
13
+ super(ɵQueryOperationType.Select, rootSchemaName);
14
+ this._columns = new Map();
15
+ this.isDistinct = false;
16
+ /**
17
+ * Number of rows to select.
18
+ */
19
+ this.rowCount = -1;
20
+ /**
21
+ * Rows count to skip.
22
+ */
23
+ this.rowsOffset = -1;
24
+ this.useLocalization = true;
25
+ this.useRecordDeactivation = false;
26
+ this._getIsPageable = () => this.rowCount > 0 && this.rowsOffset > -1;
27
+ }
28
+ _internalAddColumn(key, column) {
29
+ if (!this._columns.has(key)) {
30
+ this._columns.set(key, column);
31
+ }
32
+ }
33
+ // endregion
34
+ // region Methods: Public
35
+ /**
36
+ * Returns column instance by column alias.
37
+ * @param columnAlias Column alias.
38
+ * @returns [BaseQueryColumn] Column instance.
39
+ */
40
+ getColumn(columnAlias) {
41
+ if (!this._columns.has(columnAlias)) {
42
+ throw new ɵItemNotFoundException(columnAlias);
43
+ }
44
+ return this.findColumn(columnAlias);
45
+ }
46
+ /**
47
+ * Returns column instance by column alias if not found returns null.
48
+ */
49
+ findColumn(columnAlias) {
50
+ return this._columns.get(columnAlias);
51
+ }
52
+ /**
53
+ * @inheritDoc
54
+ */
55
+ getMetadata() {
56
+ return {
57
+ ...super.getMetadata(),
58
+ columns: {
59
+ items: classToPlain(this._columns, { exposeUnsetFields: false, excludePrefixes: ['_'] }),
60
+ },
61
+ allColumns: false,
62
+ isDistinct: this.isDistinct,
63
+ ignoreDisplayValues: false,
64
+ rowCount: this.rowCount,
65
+ rowsOffset: this.rowsOffset,
66
+ isPageable: this._getIsPageable(),
67
+ conditionalValues: this.conditionalValues ? this.conditionalValues : null,
68
+ isHierarchical: false,
69
+ hierarchicalMaxDepth: 0,
70
+ hierarchicalColumnName: null,
71
+ hierarchicalColumnValue: null,
72
+ useLocalization: this.useLocalization,
73
+ useRecordDeactivation: this.useRecordDeactivation,
74
+ };
75
+ }
76
+ /**
77
+ * Add column.
78
+ * @param column Column path.
79
+ * @param columnAlias Column alias.
80
+ * @returns [BaseQueryColumn] Column instance.
81
+ */
82
+ addColumn(column, columnAlias) {
83
+ this._internalAddColumn(columnAlias, column);
84
+ return column;
85
+ }
86
+ /**
87
+ * Add column by column path.
88
+ * @param columnPath Column path.
89
+ * @param columnAlias Column alias.
90
+ * @returns [EntityQueryColumn] Column instance.
91
+ */
92
+ addSchemaColumn(columnPath, columnAlias) {
93
+ ɵValidationUtilities.checkArgumentEmpty('columnPath', columnPath);
94
+ const column = new ɵEntityQueryColumn(columnPath);
95
+ this._internalAddColumn(columnAlias || columnPath, column);
96
+ return column;
97
+ }
98
+ /**
99
+ * Add aggregation sub query column.
100
+ * @param columnPath Column path.
101
+ * @param aggregationType Aggregation type.
102
+ * @param subFilters Sub query filters.
103
+ * @param columnAlias Column alias.
104
+ * @returns [AggregationSubQueryColumn] Column instance.
105
+ */
106
+ addAggregationSubQueryColumn(columnPath, aggregationType, aggregationConfig, columnAlias) {
107
+ const column = new ɵAggregationSubQueryColumn(columnPath, aggregationType, aggregationConfig.filter, aggregationConfig.sortByDirection, aggregationConfig.sortByColumn);
108
+ this._internalAddColumn(columnAlias || columnPath, column);
109
+ return column;
110
+ }
111
+ /**
112
+ * Add parameter column.
113
+ * @param value Parameter value.
114
+ * @param dataValueType Parameter data value type.
115
+ * @param columnAlias Column alias.
116
+ * @returns [ParameterQueryColumn] Column instance.
117
+ */
118
+ addParameterColumn(value, dataValueType, columnAlias) {
119
+ const column = new ɵParameterQueryColumn(value, dataValueType);
120
+ this._internalAddColumn(columnAlias, column);
121
+ return column;
122
+ }
123
+ /**
124
+ * Add arithmetic column.
125
+ * @param arithmeticOperation Arithmetic operation.
126
+ * @param leftArithmeticOperand Left arithmetic operand expression.
127
+ * @param rightArithmeticOperand Right arithmetic operand expression.
128
+ * @param columnAlias Column alias.
129
+ * @returns [ArithmeticQueryColumn] Column instance.
130
+ */
131
+ addArithmeticColumn(arithmeticOperation, leftArithmeticOperand, rightArithmeticOperand, columnAlias) {
132
+ const column = new ɵArithmeticQueryColumn(arithmeticOperation, leftArithmeticOperand, rightArithmeticOperand);
133
+ this._internalAddColumn(columnAlias, column);
134
+ return column;
135
+ }
136
+ /**
137
+ * Add macros function column.
138
+ * @param queryMacrosType Macros type.
139
+ * @param columnAlias Column alias.
140
+ * @returns [MacrosFunctionColumn] Column instance.
141
+ */
142
+ addMacrosFunctionColumn(queryMacrosType, columnAlias) {
143
+ const column = new ɵMacrosFunctionColumn(queryMacrosType);
144
+ this._internalAddColumn(columnAlias, column);
145
+ return column;
146
+ }
147
+ /**
148
+ * Add date part function column.
149
+ * @param columnPath Column path.
150
+ * @param datePartType Date part type.
151
+ * @param columnAlias Column alias.
152
+ * @returns [DatePartFunctionColumn] Column instance.
153
+ */
154
+ addDatePartFunctionColumn(columnPath, datePartType, columnAlias) {
155
+ const functionArgument = new ɵColumnExpression({ columnPath });
156
+ const column = new ɵDatePartFunctionColumn(datePartType, functionArgument);
157
+ this._internalAddColumn(columnAlias, column);
158
+ return column;
159
+ }
160
+ /**
161
+ * Add aggregation function column.
162
+ * @param columnPath Column path.
163
+ * @param aggregationType Aggregation type.
164
+ * @param columnAlias Column alias.
165
+ * @param aggregationEvalType Aggregation eval type.
166
+ * @returns [AggregationFunctionColumn] Column instance.
167
+ */
168
+ addAggregationFunctionColumn(columnPath, aggregationType, columnAlias, aggregationEvalType = ɵAggregationEvalType.None) {
169
+ const functionArgument = new ɵColumnExpression({ columnPath });
170
+ const column = new ɵAggregationFunctionColumn(aggregationType, aggregationEvalType, functionArgument);
171
+ this._internalAddColumn(columnAlias, column);
172
+ return column;
173
+ }
174
+ /**
175
+ * Add length function column.
176
+ * @param columnPath Column path.
177
+ * @param columnAlias Column alias.
178
+ * @returns [LengthFunctionColumn] Column instance.
179
+ */
180
+ addLengthFunctionColumn(columnPath, columnAlias) {
181
+ const functionArgument = new ɵColumnExpression({ columnPath });
182
+ const column = new ɵLengthFunctionColumn(functionArgument);
183
+ this._internalAddColumn(columnAlias, column);
184
+ return column;
185
+ }
186
+ /**
187
+ * Add window function column.
188
+ * @param columnPath Column path.
189
+ * @param aggregationType Aggregation type.
190
+ * @param columnAlias Column alias.
191
+ * @param aggregationEvalType Aggregation eval type.
192
+ * @returns [WindowFunctionColumn] Column instance.
193
+ */
194
+ addWindowFunctionColumn(columnPath, aggregationType, columnAlias, aggregationEvalType = ɵAggregationEvalType.None) {
195
+ const functionArgument = new ɵAggregationFunctionExpression({
196
+ aggregationType,
197
+ aggregationEvalType,
198
+ functionArgument: new ɵColumnExpression({ columnPath }),
199
+ });
200
+ const column = new ɵWindowFunctionColumn(functionArgument);
201
+ this._internalAddColumn(columnAlias, column);
202
+ return column;
203
+ }
204
+ }
205
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LXNjaGVtYS1xdWVyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGV2a2l0L2Jhc2Uvc3JjL2xpYi9wdWJsaWMvZXNxL2RhdGEtbW9kZWwvcXVlcmllcy9lbnRpdHktc2NoZW1hLXF1ZXJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUUvQyxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUM3RCxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUMzRCxPQUFPLEVBQUMsb0JBQW9CLEVBQXlFLE1BQU0sVUFBVSxDQUFDO0FBRXRILE9BQU8sRUFDTiwwQkFBMEIsRUFDMUIsMEJBQTBCLEVBQzFCLHNCQUFzQixFQUNKLHVCQUF1QixFQUN6QyxrQkFBa0IsRUFBRSxxQkFBcUIsRUFBRSxxQkFBcUIsRUFDaEUscUJBQXFCLEVBQUUscUJBQXFCLEVBQzVDLE1BQU0sWUFBWSxDQUFDO0FBQ3BCLE9BQU8sRUFBQyxzQkFBc0IsRUFBRSxvQkFBb0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBR2pGLE9BQU8sRUFBQyw4QkFBOEIsRUFBbUIsaUJBQWlCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQVdsRzs7R0FFRztBQUNILE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxvQkFBb0I7SUF3QjNELFlBQVksY0FBc0I7UUFDakMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLE1BQU0sRUFBRSxjQUFjLENBQUMsQ0FBQztRQXhCM0MsYUFBUSxHQUFHLElBQUksR0FBRyxFQUE0QixDQUFDO1FBRWhELGVBQVUsR0FBRyxLQUFLLENBQUM7UUFFMUI7O1dBRUc7UUFDSSxhQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFFckI7O1dBRUc7UUFDSSxlQUFVLEdBQUcsQ0FBQyxDQUFD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QWU7WUFDZixtQkFBbUI7WUFDbkIsZ0JBQWdCLEVBQUUsSUFBSSxpQkFBaUIsQ0FBQyxFQUFDLFVBQVUsRUFBQyxDQUFDO1NBQ3JELENBQUMsQ0FBQztRQUNILE1BQU0sTUFBTSxHQUFHLElBQUkscUJBQXFCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUMzRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzdDLE9BQU8sTUFBTSxDQUFDO0lBQ2YsQ0FBQztDQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtjbGFzc1RvUGxhaW59IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcblxuaW1wb3J0IHvJtUJhc2VGaWx0ZXJhYmxlUXVlcnl9IGZyb20gJy4vYmFzZS1maWx0ZXJhYmxlLXF1ZXJ5JztcbmltcG9ydCB7ybVRdWVyeU9wZXJhdGlvblR5cGV9IGZyb20gJy4vcXVlcnktb3BlcmF0aW9uLXR5cGUnO1xuaW1wb3J0IHvJtUFnZ3JlZ2F0aW9uRXZhbFR5cGUsIMm1QXJpdGhtZXRpY09wZXJhdGlvbiwgybVEYXRlUGFydFR5cGUsIMm1RXhwcmVzc2lvblR5cGUsIMm1UXVlcnlNYWNyb3NUeXBlfSBmcm9tICcuLi9lbnVtcyc7XG5pbXBvcnQge8m1QWdncmVnYXRpb25UeXBlLCDJtURhdGFWYWx1ZVR5cGV9IGZyb20gJy4uLy4uLy4uL2VudW1zJztcbmltcG9ydCB7XG5cdMm1QWdncmVnYXRpb25GdW5jdGlvbkNvbHVtbixcblx0ybVBZ2dyZWdhdGlvblN1YlF1ZXJ5Q29sdW1uLFxuXHTJtUFyaXRobWV0aWNRdWVyeUNvbHVtbixcblx0ybVCYXNlUXVlcnlDb2x1bW4sIMm1RGF0ZVBhcnRGdW5jdGlvbkNvbHVtbixcblx0ybVFbnRpdHlRdWVyeUNvbHVtbiwgybVMZW5ndGhGdW5jdGlvbkNvbHVtbiwgybVNYWNyb3NGdW5jdGlvbkNvbHVtbixcblx0ybVQYXJhbWV0ZXJRdWVyeUNvbHVtbiwgybVXaW5kb3dGdW5jdGlvbkNvbHVtblxufSBmcm9tICcuLi9jb2x1bW5zJztcbmltcG9ydCB7ybVJdGVtTm90Rm91bmRFeGNlcHRpb24sIMm1VmFsaWRhdGlvblV0aWxpdGllc30gZnJvbSAnLi4vLi4vLi4vZXhjZXB0aW9ucyc7XG5pbXBvcnQge8m1RGF0YVNvdXJjZUFnZ3JlZ2F0aW9uQ29uZmlnLCDJtURhdGFTb3VyY2VJbnN0YW5jZUNvbmZpZ30gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHvJtUVudGl0eUNvbHVtblZhbHVlfSBmcm9tICcuLi8uLi8uLi90eXBlcyc7XG5pbXBvcnQge8m1QWdncmVnYXRpb25GdW5jdGlvbkV4cHJlc3Npb24sIMm1QmFzZUV4cHJlc3Npb24sIMm1Q29sdW1uRXhwcmVzc2lvbn0gZnJvbSAnLi4vZXhwcmVzc2lvbnMnO1xuXG5cbmV4cG9ydCBpbnRlcmZhY2UgybVDb25kaXRpb25hbFZhbHVlSXRlbSB7XG5cdGV4cHJlc3Npb25UeXBlOiDJtUV4cHJlc3Npb25UeXBlO1xuXHRwYXJhbWV0ZXI6IHtcblx0XHRkYXRhVmFsdWVUeXBlOiDJtURhdGFWYWx1ZVR5cGU7XG5cdFx0dmFsdWU6IHN0cmluZztcblx0fTtcbn1cblxuLyoqXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjbGFzcyDJtUVudGl0eVNjaGVtYVF1ZXJ5IGV4dGVuZHMgybVCYXNlRmlsdGVyYWJsZVF1ZXJ5IHtcblx0cHJpdmF0ZSBfY29sdW1ucyA9IG5ldyBNYXA8c3RyaW5nLCDJtUJhc2VRdWVyeUNvbHVtbj4oKTtcblxuXHRwdWJsaWMgaXNEaXN0aW5jdCA9IGZhbHNlO1xuXG5cdC8qKlxuXHQgKiBOdW1iZXIgb2Ygcm93cyB0byBzZWxlY3QuXG5cdCAqL1xuXHRwdWJsaWMgcm93Q291bnQgPSAtMTtcblxuXHQvKipcblx0ICogUm93cyBjb3VudCB0byBza2lwLlxuXHQgKi9cblx0cHVibGljIHJvd3NPZmZzZXQgPSAtMTtcblxuXHQvKipcblx0ICogUXVlcnkgY29uZGl0aW9uYWwgdmFsdWVzXG5cdCAqL1xuXHRwdWJsaWMgY29uZGl0aW9uYWxWYWx1ZXM/OiBudWxsIHwgeyBpdGVtczogdW5rbm93biB9O1xuXG5cdHB1YmxpYyB1c2VMb2NhbGl6YXRpb24gPSB0cnVlO1xuXG5cdHB1YmxpYyB1c2VSZWNvcmREZWFjdGl2YXRpb24gPSBmYWxzZTtcblxuXHRjb25zdHJ1Y3Rvcihyb290U2NoZW1hTmFtZTogc3RyaW5nKSB7XG5cdFx0c3VwZXIoybVRdWVyeU9wZXJhdGlvblR5cGUuU2VsZWN0LCByb290U2NoZW1hTmFtZSk7XG5cdH1cblxuXHRwcml2YXRlIF9pbnRlcm5hbEFkZENvbHVtbihrZXk6IHN0cmluZywgY29sdW1uOiDJtUJhc2VRdWVyeUNvbHVtbik6IHZvaWQge1xuXHRcdGlmICghdGhpcy5fY29sdW1ucy5oYXMoa2V5KSkge1xuXHRcdFx0dGhpcy5fY29sdW1ucy5zZXQoa2V5LCBjb2x1bW4pO1xuXHRcdH1cblx0fVxuXG5cdHByaXZhdGUgX2dldElzUGFnZWFibGUgPSAoKTogYm9vbGVhbiA9PiB0aGlzLnJvd0NvdW50ID4gMCAmJiB0aGlzLnJvd3NPZmZzZXQgPiAtMTtcblxuXHQvLyBlbmRyZWdpb25cblxuXHQvLyByZWdpb24gTWV0aG9kczogUHVibGljXG5cblx0LyoqXG5cdCAqIFJldHVybnMgY29sdW1uIGluc3RhbmNlIGJ5IGNvbHVtbiBhbGlhcy5cblx0ICogQHBhcmFtIGNvbHVtbkFsaWFzIENvbHVtbiBhbGlhcy5cblx0ICogQHJldHVybnMgW0Jhc2VRdWVyeUNvbHVtbl0gQ29sdW1uIGluc3RhbmNlLlxuXHQgKi9cblx0cHVibGljIGdldENvbHVtbihjb2x1bW5BbGlhczogc3RyaW5nKTogybVCYXNlUXVlcnlDb2x1bW4ge1xuXHRcdGlmICghdGhpcy5fY29sdW1ucy5oYXMoY29sdW1uQWxpYXMpKSB7XG5cdFx0XHR0aHJvdyBuZXcgybVJdGVtTm90Rm91bmRFeGNlcHRpb24oY29sdW1uQWxpYXMpO1xuXHRcdH1cblx0XHRyZXR1cm4gdGhpcy5maW5kQ29sdW1uKGNvbHVtbkFsaWFzKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXR1cm5zIGNvbHVtbiBpbnN0YW5jZSBieSBjb2x1bW4gYWxpYXMgaWYgbm90IGZvdW5kIHJldHVybnMgbnVsbC5cblx0ICovXG5cdHB1YmxpYyBmaW5kQ29sdW1uKGNvbHVtbkFsaWFzOiBzdHJpbmcpOiDJtUJhc2VRdWVyeUNvbHVtbiB7XG5cdFx0cmV0dXJuIHRoaXMuX2NvbHVtbnMuZ2V0KGNvbHVtbkFsaWFzKSBhcyDJtUJhc2VRdWVyeUNvbHVtbjtcblx0fVxuXG5cdC8qKlxuXHQgKiBAaW5oZXJpdERvY1xuXHQgKi9cblx0cHVibGljIGdldE1ldGFkYXRhKCk6IFJlY29yZDxzdHJpbmcsIHVua25vd24+IHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0Li4uc3VwZXIuZ2V0TWV0YWRhdGEoKSxcblx0XHRcdGNvbHVtbnM6IHtcblx0XHRcdFx0aXRlbXM6IGNsYXNzVG9QbGFpbih0aGlzLl9jb2x1bW5zLCB7ZXhwb3NlVW5zZXRGaWVsZHM6IGZhbHNlLCBleGNsdWRlUHJlZml4ZXM6IFsnXyddfSksXG5cdFx0XHR9LFxuXHRcdFx0YWxsQ29sdW1uczogZmFsc2UsXG5cdFx0XHRpc0Rpc3RpbmN0OiB0aGlzLmlzRGlzdGluY3QsXG5cdFx0XHRpZ25vcmVEaXNwbGF5VmFsdWVzOiBmYWxzZSxcblx0XHRcdHJvd0NvdW50OiB0aGlzLnJvd0NvdW50LFxuXHRcdFx0cm93c09mZnNldDogdGhpcy5yb3dzT2Zmc2V0LFxuXHRcdFx0aXNQYWdlYWJsZTogdGhpcy5fZ2V0SXNQYWdlYWJsZSgpLFxuXHRcdFx0Y29uZGl0aW9uYWxWYWx1ZXM6IHRoaXMuY29uZGl0aW9uYWxWYWx1ZXMgPyB0aGlzLmNvbmRpdGlvbmFsVmFsdWVzIDogbnVsbCxcblx0XHRcdGlzSGllcmFyY2hpY2FsOiBmYWxzZSxcblx0XHRcdGhpZXJhcmNoaWNhbE1heERlcHRoOiAwLFxuXHRcdFx0aGllcmFyY2hpY2FsQ29sdW1uTmFtZTogbnVsbCxcblx0XHRcdGhpZXJhcmNoaWNhbENvbHVtblZhbHVlOiBudWxsLFxuXHRcdFx0dXNlTG9jYWxpemF0aW9uOiB0aGlzLnVzZUxvY2FsaXphdGlvbixcblx0XHRcdHVzZVJlY29yZERlYWN0aXZhdGlvbjogdGhpcy51c2VSZWNvcmREZWFjdGl2YXRpb24sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBBZGQgY29sdW1uLlxuXHQgKiBAcGFyYW0gY29sdW1uIENvbHVtbiBwYXRoLlxuXHQgKiBAcGFyYW0gY29sdW1uQWxpYXMgQ29sdW1uIGFsaWFzLlxuXHQgKiBAcmV0dXJucyBbQmFzZVF1ZXJ5Q29sdW1uXSBDb2x1bW4gaW5zdGFuY2UuXG5cdCAqL1xuXHRwdWJsaWMgYWRkQ29sdW1uKGNvbHVtbjogybVCYXNlUXVlcnlDb2x1bW4sIGNvbHVtbkFsaWFzOiBzdHJpbmcpOiDJtUJhc2VRdWVyeUNvbHVtbiB7XG5cdFx0dGhpcy5faW50ZXJuYWxBZGRDb2x1bW4oY29sdW1uQWxpYXMsIGNvbHVtbik7XG5cdFx0cmV0dXJuIGNvbHVtbjtcblx0fVxuXG5cdC8qKlxuXHQgKiBBZGQgY29sdW1uIGJ5IGNvbHVtbiBwYXRoLlxuXHQgKiBAcGFyYW0gY29sdW1uUGF0aCBDb2x1bW4gcGF0aC5cblx0ICogQHBhcmFtIGNvbHVtbkFsaWFzIENvbHVtbiBhbGlhcy5cblx0ICogQHJldHVybnMgW0VudGl0eVF1ZXJ5Q29sdW1uXSBDb2x1bW4gaW5zdGFuY2UuXG5cdCAqL1xuXHRwdWJsaWMgYWRkU2NoZW1hQ29sdW1uKGNvbHVtblBhdGg6IHN0cmluZywgY29sdW1uQWxpYXM/OiBzdHJpbmcpOiDJtUVudGl0eVF1ZXJ5Q29sdW1uIHtcblx0XHTJtVZhbGlkYXRpb25VdGlsaXRpZXMuY2hlY2tBcmd1bWVudEVtcHR5KCdjb2x1bW5QYXRoJywgY29sdW1uUGF0aCk7XG5cdFx0Y29uc3QgY29sdW1uID0gbmV3IMm1RW50aXR5UXVlcnlDb2x1bW4oY29sdW1uUGF0aCk7XG5cdFx0dGhpcy5faW50ZXJuYWxBZGRDb2x1bW4oY29sdW1uQWxpYXMgfHwgY29sdW1uUGF0aCwgY29sdW1uKTtcblx0XHRyZXR1cm4gY29sdW1uO1xuXHR9XG5cblx0LyoqXG5cdCAqIEFkZCBhZ2dyZWdhdGlvbiBzdWIgcXVlcnkgY29sdW1uLlxuXHQgKiBAcGFyYW0gY29sdW1uUGF0aCBDb2x1bW4gcGF0aC5cblx0ICogQHBhcmFtIGFnZ3JlZ2F0aW9uVHlwZSBBZ2dyZWdhdGlvbiB0eXBlLlxuXHQgKiBAcGFyYW0gc3ViRmlsdGVycyBTdWIgcXVlcnkgZmlsdGVycy5cblx0ICogQHBhcmFtIGNvbHVtbkFsaWFzIENvbHVtbiBhbGlhcy5cblx0ICogQHJldHVybnMgW0FnZ3JlZ2F0aW9uU3ViUXVlcnlDb2x1bW5dIENvbHVtbiBpbnN0YW5jZS5cblx0ICovXG5cdHB1YmxpYyBhZGRBZ2dyZWdhdGlvblN1YlF1ZXJ5Q29sdW1uKFxuXHRcdGNvbHVtblBhdGg6IHN0cmluZyxcblx0XHRhZ2dyZWdhdGlvblR5cGU6IMm1QWdncmVnYXRpb25UeXBlLFxuXHRcdGFnZ3JlZ2F0aW9uQ29uZmlnOiDJtURhdGFTb3VyY2VBZ2dyZWdhdGlvbkNvbmZpZyxcblx0XHRjb2x1bW5BbGlhcz86IHN0cmluZyxcblx0KTogybVBZ2dyZWdhdGlvblN1YlF1ZXJ5Q29sdW1uIHtcblx0XHRjb25zdCBjb2x1bW4gPSBuZXcgybVBZ2dyZWdhdGlvblN1YlF1ZXJ5Q29sdW1uKFxuXHRcdFx0Y29sdW1uUGF0aCxcblx0XHRcdGFnZ3JlZ2F0aW9uVHlwZSxcblx0XHRcdGFnZ3JlZ2F0aW9uQ29uZmlnLmZpbHRlcixcblx0XHRcdGFnZ3JlZ2F0aW9uQ29uZmlnLnNvcnRCeURpcmVjdGlvbixcblx0XHRcdGFnZ3JlZ2F0aW9uQ29uZmlnLnNvcnRCeUNvbHVtbixcblx0XHQpO1xuXHRcdHRoaXMuX2ludGVybmFsQWRkQ29sdW1uKGNvbHVtbkFsaWFzIHx8IGNvbHVtblBhdGgsIGNvbHVtbik7XG5cdFx0cmV0dXJuIGNvbHVtbjtcblx0fVxuXG5cdC8qKlxuXHQgKiBBZGQgcGFyYW1ldGVyIGNvbHVtbi5cblx0ICogQHBhcmFtIHZhbHVlIFBhcmFtZXRlciB2YWx1ZS5cblx0ICogQHBhcmFtIGRhdGFWYWx1ZVR5cGUgUGFyYW1ldGVyIGRhdGEgdmFsdWUgdHlwZS5cblx0ICogQHBhcmFtIGNvbHVtbkFsaWFzIENvbHVtbiBhbGlhcy5cblx0ICogQHJldHVybnMgW1BhcmFtZXRlclF1ZXJ5Q29sdW1uXSBDb2x1bW4gaW5zdGFuY2UuXG5cdCAqL1xuXHRwdWJsaWMgYWRkUGFyYW1ldGVyQ29sdW1uKFxuXHRcdHZhbHVlOiDJtUVudGl0eUNvbHVtblZhbHVlLFxuXHRcdGRhdGFWYWx1ZVR5cGU6IMm1RGF0YVZhbHVlVHlwZSxcblx0XHRjb2x1bW5BbGlhczogc3RyaW5nLFxuXHQpOiDJtVBhcmFtZXRlclF1ZXJ5Q29sdW1uIHtcblx0XHRjb25zdCBjb2x1bW4gPSBuZXcgybVQYXJhbWV0ZXJRdWVyeUNvbHVtbih2YWx1ZSwgZGF0YVZhbHVlVHlwZSk7XG5cdFx0dGhpcy5faW50ZXJuYWxBZGRDb2x1bW4oY29sdW1uQWxpYXMsIGNvbHVtbik7XG5cdFx0cmV0dXJuIGNvbHVtbjtcblx0fVxuXG5cdC8qKlxuXHQgKiBBZGQgYXJpdGhtZXRpYyBjb2x1bW4uXG5cdCAqIEBwYXJhbSBhcml0aG1ldGljT3BlcmF0aW9uIEFyaXRobWV0aWMgb3BlcmF0aW9uLlxuXHQgKiBAcGFyYW0gbGVmdEFyaXRobWV0aWNPcGVyYW5kIExlZnQgYXJpdGhtZXRpYyBvcGVyYW5kIGV4cHJlc3Npb24uXG5cdCAqIEBwYXJhbSByaWdodEFyaXRobWV0aWNPcGVyYW5kIFJpZ2h0IGFyaXRobWV0aWMgb3BlcmFuZCBleHByZXNzaW9uLlxuXHQgKiBAcGFyYW0gY29sdW1uQWxpYXMgQ29sdW1uIGFsaWFzLlxuXHQgKiBAcmV0dXJucyBbQXJpdGhtZXRpY1F1ZXJ5Q29sdW1uXSBDb2x1bW4gaW5zdGFuY2UuXG5cdCAqL1xuXHRwdWJsaWMgYWRkQXJpdGhtZXRpY0NvbHVtbihcblx0XHRhcml0aG1ldGljT3BlcmF0aW9uOiDJtUFyaXRobWV0aWNPcGVyYXRpb24sXG5cdFx0bGVmdEFyaXRobWV0aWNPcGVyYW5kOiDJtUJhc2VFeHByZXNzaW9uLFxuXHRcdHJpZ2h0QXJpdGhtZXRpY09wZXJhbmQ6IMm1QmFzZUV4cHJlc3Npb24sXG5cdFx0Y29sdW1uQWxpYXM6IHN0cmluZyxcblx0KTogybVBcml0aG1ldGljUXVlcnlDb2x1bW4ge1xuXHRcdGNvbnN0IGNvbHVtbiA9IG5ldyDJtUFyaXRobWV0aWNRdWVyeUNvbHVtbihhcml0aG1ldGljT3BlcmF0aW9uLCBsZWZ0QXJpdGhtZXRpY09wZXJhbmQsIHJpZ2h0QXJpdGhtZXRpY09wZXJhbmQpO1xuXHRcdHRoaXMuX2ludGVybmFsQWRkQ29sdW1uKGNvbHVtbkFsaWFzLCBjb2x1bW4pO1xuXHRcdHJldHVybiBjb2x1bW47XG5cdH1cblxuXHQvKipcblx0ICogQWRkIG1hY3JvcyBmdW5jdGlvbiBjb2x1bW4uXG5cdCAqIEBwYXJhbSBxdWVyeU1hY3Jvc1R5cGUgTWFjcm9zIHR5cGUuXG5cdCAqIEBwYXJhbSBjb2x1bW5BbGlhcyBDb2x1bW4gYWxpYXMuXG5cdCAqIEByZXR1cm5zIFtNYWNyb3NGdW5jdGlvbkNvbHVtbl0gQ29sdW1uIGluc3RhbmNlLlxuXHQgKi9cblx0cHVibGljIGFkZE1hY3Jvc0Z1bmN0aW9uQ29sdW1uKHF1ZXJ5TWFjcm9zVHlwZTogybVRdWVyeU1hY3Jvc1R5cGUsIGNvbHVtbkFsaWFzOiBzdHJpbmcpOiDJtU1hY3Jvc0Z1bmN0aW9uQ29sdW1uIHtcblx0XHRjb25zdCBjb2x1bW4gPSBuZXcgybVNYWNyb3NGdW5jdGlvbkNvbHVtbihxdWVyeU1hY3Jvc1R5cGUpO1xuXHRcdHRoaXMuX2ludGVybmFsQWRkQ29sdW1uKGNvbHVtbkFsaWFzLCBjb2x1bW4pO1xuXHRcdHJldHVybiBjb2x1bW47XG5cdH1cblxuXHQvKipcblx0ICogQWRkIGRhdGUgcGFydCBmdW5jdGlvbiBjb2x1bW4uXG5cdCAqIEBwYXJhbSBjb2x1bW5QYXRoIENvbHVtbiBwYXRoLlxuXHQgKiBAcGFyYW0gZGF0ZVBhcnRUeXBlIERhdGUgcGFydCB0eXBlLlxuXHQgKiBAcGFyYW0gY29sdW1uQWxpYXMgQ29sdW1uIGFsaWFzLlxuXHQgKiBAcmV0dXJucyBbRGF0ZVBhcnRGdW5jdGlvbkNvbHVtbl0gQ29sdW1uIGluc3RhbmNlLlxuXHQgKi9cblx0cHVibGljIGFkZERhdGVQYXJ0RnVuY3Rpb25Db2x1bW4oXG5cdFx0Y29sdW1uUGF0aDogc3RyaW5nLFxuXHRcdGRhdGVQYXJ0VHlwZTogybVEYXRlUGFydFR5cGUsXG5cdFx0Y29sdW1uQWxpYXM6IHN0cmluZyxcblx0KTogybVEYXRlUGFydEZ1bmN0aW9uQ29sdW1uIHtcblx0XHRjb25zdCBmdW5jdGlvbkFyZ3VtZW50ID0gbmV3IMm1Q29sdW1uRXhwcmVzc2lvbih7Y29sdW1uUGF0aH0pO1xuXHRcdGNvbnN0IGNvbHVtbiA9IG5ldyDJtURhdGVQYXJ0RnVuY3Rpb25Db2x1bW4oZGF0ZVBhcnRUeXBlLCBmdW5jdGlvbkFyZ3VtZW50KTtcblx0XHR0aGlzLl9pbnRlcm5hbEFkZENvbHVtbihjb2x1bW5BbGlhcywgY29sdW1uKTtcblx0XHRyZXR1cm4gY29sdW1uO1xuXHR9XG5cblx0LyoqXG5cdCAqIEFkZCBhZ2dyZWdhdGlvbiBmdW5jdGlvbiBjb2x1bW4uXG5cdCAqIEBwYXJhbSBjb2x1bW5QYXRoIENvbHVtbiBwYXRoLlxuXHQgKiBAcGFyYW0gYWdncmVnYXRpb25UeXBlIEFnZ3JlZ2F0aW9uIHR5cGUuXG5cdCAqIEBwYXJhbSBjb2x1bW5BbGlhcyBDb2x1bW4gYWxpYXMuXG5cdCAqIEBwYXJhbSBhZ2dyZWdhdGlvbkV2YWxUeXBlIEFnZ3JlZ2F0aW9uIGV2YWwgdHlwZS5cblx0ICogQHJldHVybnMgW0FnZ3JlZ2F0aW9uRnVuY3Rpb25Db2x1bW5dIENvbHVtbiBpbnN0YW5jZS5cblx0ICovXG5cdHB1YmxpYyBhZGRBZ2dyZWdhdGlvbkZ1bmN0aW9uQ29sdW1uKFxuXHRcdGNvbHVtblBhdGg6IHN0cmluZyxcblx0XHRhZ2dyZWdhdGlvblR5cGU6IMm1QWdncmVnYXRpb25UeXBlLFxuXHRcdGNvbHVtbkFsaWFzOiBzdHJpbmcsXG5cdFx0YWdncmVnYXRpb25FdmFsVHlwZTogybVBZ2dyZWdhdGlvbkV2YWxUeXBlID0gybVBZ2dyZWdhdGlvbkV2YWxUeXBlLk5vbmUsXG5cdCk6IMm1QWdncmVnYXRpb25GdW5jdGlvbkNvbHVtbiB7XG5cdFx0Y29uc3QgZnVuY3Rpb25Bcmd1bWVudCA9IG5ldyDJtUNvbHVtbkV4cHJlc3Npb24oe2NvbHVtblBhdGh9KTtcblx0XHRjb25zdCBjb2x1bW4gPSBuZXcgybVBZ2dyZWdhdGlvbkZ1bmN0aW9uQ29sdW1uKGFnZ3JlZ2F0aW9uVHlwZSwgYWdncmVnYXRpb25FdmFsVHlwZSwgZnVuY3Rpb25Bcmd1bWVudCk7XG5cdFx0dGhpcy5faW50ZXJuYWxBZGRDb2x1bW4oY29sdW1uQWxpYXMsIGNvbHVtbik7XG5cdFx0cmV0dXJuIGNvbHVtbjtcblx0fVxuXG5cdC8qKlxuXHQgKiBBZGQgbGVuZ3RoIGZ1bmN0aW9uIGNvbHVtbi5cblx0ICogQHBhcmFtIGNvbHVtblBhdGggQ29sdW1uIHBhdGguXG5cdCAqIEBwYXJhbSBjb2x1bW5BbGlhcyBDb2x1bW4gYWxpYXMuXG5cdCAqIEByZXR1cm5zIFtMZW5ndGhGdW5jdGlvbkNvbHVtbl0gQ29sdW1uIGluc3RhbmNlLlxuXHQgKi9cblx0cHVibGljIGFkZExlbmd0aEZ1bmN0aW9uQ29sdW1uKGNvbHVtblBhdGg6IHN0cmluZywgY29sdW1uQWxpYXM6IHN0cmluZyk6IMm1TGVuZ3RoRnVuY3Rpb25Db2x1bW4ge1xuXHRcdGNvbnN0IGZ1bmN0aW9uQXJndW1lbnQgPSBuZXcgybVDb2x1bW5FeHByZXNzaW9uKHtjb2x1bW5QYXRofSk7XG5cdFx0Y29uc3QgY29sdW1uID0gbmV3IMm1TGVuZ3RoRnVuY3Rpb25Db2x1bW4oZnVuY3Rpb25Bcmd1bWVudCk7XG5cdFx0dGhpcy5faW50ZXJuYWxBZGRDb2x1bW4oY29sdW1uQWxpYXMsIGNvbHVtbik7XG5cdFx0cmV0dXJuIGNvbHVtbjtcblx0fVxuXG5cdC8qKlxuXHQgKiBBZGQgd2luZG93IGZ1bmN0aW9uIGNvbHVtbi5cblx0ICogQHBhcmFtIGNvbHVtblBhdGggQ29sdW1uIHBhdGguXG5cdCAqIEBwYXJhbSBhZ2dyZWdhdGlvblR5cGUgQWdncmVnYXRpb24gdHlwZS5cblx0ICogQHBhcmFtIGNvbHVtbkFsaWFzIENvbHVtbiBhbGlhcy5cblx0ICogQHBhcmFtIGFnZ3JlZ2F0aW9uRXZhbFR5cGUgQWdncmVnYXRpb24gZXZhbCB0eXBlLlxuXHQgKiBAcmV0dXJucyBbV2luZG93RnVuY3Rpb25Db2x1bW5dIENvbHVtbiBpbnN0YW5jZS5cblx0ICovXG5cdHB1YmxpYyBhZGRXaW5kb3dGdW5jdGlvbkNvbHVtbihcblx0XHRjb2x1bW5QYXRoOiBzdHJpbmcsXG5cdFx0YWdncmVnYXRpb25UeXBlOiDJtUFnZ3JlZ2F0aW9uVHlwZSxcblx0XHRjb2x1bW5BbGlhczogc3RyaW5nLFxuXHRcdGFnZ3JlZ2F0aW9uRXZhbFR5cGU6IMm1QWdncmVnYXRpb25FdmFsVHlwZSA9IMm1QWdncmVnYXRpb25FdmFsVHlwZS5Ob25lLFxuXHQpOiDJtVdpbmRvd0Z1bmN0aW9uQ29sdW1uIHtcblx0XHRjb25zdCBmdW5jdGlvbkFyZ3VtZW50ID0gbmV3IMm1QWdncmVnYXRpb25GdW5jdGlvbkV4cHJlc3Npb24oe1xuXHRcdFx0YWdncmVnYXRpb25UeXBlLFxuXHRcdFx0YWdncmVnYXRpb25FdmFsVHlwZSxcblx0XHRcdGZ1bmN0aW9uQXJndW1lbnQ6IG5ldyDJtUNvbHVtbkV4cHJlc3Npb24oe2NvbHVtblBhdGh9KSxcblx0XHR9KTtcblx0XHRjb25zdCBjb2x1bW4gPSBuZXcgybVXaW5kb3dGdW5jdGlvbkNvbHVtbihmdW5jdGlvbkFyZ3VtZW50KTtcblx0XHR0aGlzLl9pbnRlcm5hbEFkZENvbHVtbihjb2x1bW5BbGlhcywgY29sdW1uKTtcblx0XHRyZXR1cm4gY29sdW1uO1xuXHR9XG59XG4iXX0=
@@ -0,0 +1,9 @@
1
+ export * from './base-query';
2
+ export * from './delete-query';
3
+ export * from './entity-schema-query';
4
+ export * from './insert-query';
5
+ export * from './query-operation-type';
6
+ export * from './update-query';
7
+ export * from './base-filterable-query';
8
+ export * from './select-localization-query';
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RldmtpdC9iYXNlL3NyYy9saWIvcHVibGljL2VzcS9kYXRhLW1vZGVsL3F1ZXJpZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyw2QkFBNkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYmFzZS1xdWVyeSc7XG5leHBvcnQgKiBmcm9tICcuL2RlbGV0ZS1xdWVyeSc7XG5leHBvcnQgKiBmcm9tICcuL2VudGl0eS1zY2hlbWEtcXVlcnknO1xuZXhwb3J0ICogZnJvbSAnLi9pbnNlcnQtcXVlcnknO1xuZXhwb3J0ICogZnJvbSAnLi9xdWVyeS1vcGVyYXRpb24tdHlwZSc7XG5leHBvcnQgKiBmcm9tICcuL3VwZGF0ZS1xdWVyeSc7XG5leHBvcnQgKiBmcm9tICcuL2Jhc2UtZmlsdGVyYWJsZS1xdWVyeSc7XG5leHBvcnQgKiBmcm9tICcuL3NlbGVjdC1sb2NhbGl6YXRpb24tcXVlcnknO1xuIl19
@@ -0,0 +1,37 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { classToPlain, Expose } from 'class-transformer';
3
+ import { ɵBaseQuery } from './base-query';
4
+ import { ɵQueryOperationType } from './query-operation-type';
5
+ import { ɵParameterExpression } from '../expressions';
6
+ import { ɵValidationUtilities } from '../../../exceptions';
7
+ /**
8
+ * @public
9
+ */
10
+ export class ɵInsertQuery extends ɵBaseQuery {
11
+ // endregion
12
+ // region Constructors: Public
13
+ constructor(rootSchemaName) {
14
+ super(ɵQueryOperationType.Insert, rootSchemaName);
15
+ // region Fields: Private
16
+ this._columnValues = new Map();
17
+ }
18
+ // endregion
19
+ // region Properties: Public
20
+ get columnValues() {
21
+ return {
22
+ items: classToPlain(this._columnValues),
23
+ };
24
+ }
25
+ // endregion
26
+ // region Methods: Public
27
+ addColumn(columnName, columnValue, dataValueType) {
28
+ ɵValidationUtilities.checkArgumentEmpty('columnName', columnName);
29
+ this._columnValues.set(columnName, new ɵParameterExpression({ value: columnValue, dataValueType }));
30
+ }
31
+ }
32
+ __decorate([
33
+ Expose(),
34
+ __metadata("design:type", Object),
35
+ __metadata("design:paramtypes", [])
36
+ ], ɵInsertQuery.prototype, "columnValues", null);
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zZXJ0LXF1ZXJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kZXZraXQvYmFzZS9zcmMvbGliL3B1YmxpYy9lc3EvZGF0YS1tb2RlbC9xdWVyaWVzL2luc2VydC1xdWVyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFlBQVksRUFBRSxNQUFNLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUV2RCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQ3hDLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQzNELE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBR3BELE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRXpEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFlBQWEsU0FBUSxVQUFVO0lBSzNDLFlBQVk7SUFFWiw4QkFBOEI7SUFFOUIsWUFBWSxjQUFzQjtRQUNqQyxLQUFLLENBQUMsbUJBQW1CLENBQUMsTUFBTSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBVG5ELHlCQUF5QjtRQUVqQixrQkFBYSxHQUFHLElBQUksR0FBRyxFQUFnQyxDQUFDO0lBUWhFLENBQUM7SUFFRCxZQUFZO0lBRVosNEJBQTRCO0lBRTVCLElBQ1csWUFBWTtRQUN0QixPQUFPO1lBQ04sS0FBSyxFQUFFLFlBQVksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO1NBQ3ZDLENBQUM7SUFDSCxDQUFDO0lBRUQsWUFBWTtJQUVaLHlCQUF5QjtJQUVsQixTQUFTLENBQUMsVUFBa0IsRUFBRSxXQUErQixFQUFFLGFBQTZCO1FBQ2xHLG9CQUFvQixDQUFDLGtCQUFrQixDQUFDLFlBQVksRUFBRSxVQUFVLENBQUMsQ0FBQztRQUNsRSxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsSUFBSSxvQkFBb0IsQ0FBQyxFQUFDLEtBQUssRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ25HLENBQUM7Q0FHRDtBQWpCQTtJQUFDLE1BQU0sRUFBRTs7O2dEQUtSIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtjbGFzc1RvUGxhaW4sIEV4cG9zZX0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuXG5pbXBvcnQge8m1QmFzZVF1ZXJ5fSBmcm9tICcuL2Jhc2UtcXVlcnknO1xuaW1wb3J0IHvJtVF1ZXJ5T3BlcmF0aW9uVHlwZX0gZnJvbSAnLi9xdWVyeS1vcGVyYXRpb24tdHlwZSc7XG5pbXBvcnQge8m1UGFyYW1ldGVyRXhwcmVzc2lvbn0gZnJvbSAnLi4vZXhwcmVzc2lvbnMnO1xuaW1wb3J0IHvJtUVudGl0eUNvbHVtblZhbHVlfSBmcm9tICcuLi8uLi8uLi90eXBlcyc7XG5pbXBvcnQge8m1RGF0YVZhbHVlVHlwZX0gZnJvbSAnLi4vLi4vLi4vZW51bXMnO1xuaW1wb3J0IHvJtVZhbGlkYXRpb25VdGlsaXRpZXN9IGZyb20gJy4uLy4uLy4uL2V4Y2VwdGlvbnMnO1xuXG4vKipcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNsYXNzIMm1SW5zZXJ0UXVlcnkgZXh0ZW5kcyDJtUJhc2VRdWVyeSB7XG5cdC8vIHJlZ2lvbiBGaWVsZHM6IFByaXZhdGVcblxuXHRwcml2YXRlIF9jb2x1bW5WYWx1ZXMgPSBuZXcgTWFwPHN0cmluZywgybVQYXJhbWV0ZXJFeHByZXNzaW9uPigpO1xuXG5cdC8vIGVuZHJlZ2lvblxuXG5cdC8vIHJlZ2lvbiBDb25zdHJ1Y3RvcnM6IFB1YmxpY1xuXG5cdGNvbnN0cnVjdG9yKHJvb3RTY2hlbWFOYW1lOiBzdHJpbmcpIHtcblx0XHRzdXBlcijJtVF1ZXJ5T3BlcmF0aW9uVHlwZS5JbnNlcnQsIHJvb3RTY2hlbWFOYW1lKTtcblx0fVxuXG5cdC8vIGVuZHJlZ2lvblxuXG5cdC8vIHJlZ2lvbiBQcm9wZXJ0aWVzOiBQdWJsaWNcblxuXHRARXhwb3NlKClcblx0cHVibGljIGdldCBjb2x1bW5WYWx1ZXMoKTogeyBpdGVtczogeyBba2V5OiBzdHJpbmddOiDJtVBhcmFtZXRlckV4cHJlc3Npb24gfSB9IHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0aXRlbXM6IGNsYXNzVG9QbGFpbih0aGlzLl9jb2x1bW5WYWx1ZXMpLFxuXHRcdH07XG5cdH1cblxuXHQvLyBlbmRyZWdpb25cblxuXHQvLyByZWdpb24gTWV0aG9kczogUHVibGljXG5cblx0cHVibGljIGFkZENvbHVtbihjb2x1bW5OYW1lOiBzdHJpbmcsIGNvbHVtblZhbHVlOiDJtUVudGl0eUNvbHVtblZhbHVlLCBkYXRhVmFsdWVUeXBlOiDJtURhdGFWYWx1ZVR5cGUpOiB2b2lkIHtcblx0XHTJtVZhbGlkYXRpb25VdGlsaXRpZXMuY2hlY2tBcmd1bWVudEVtcHR5KCdjb2x1bW5OYW1lJywgY29sdW1uTmFtZSk7XG5cdFx0dGhpcy5fY29sdW1uVmFsdWVzLnNldChjb2x1bW5OYW1lLCBuZXcgybVQYXJhbWV0ZXJFeHByZXNzaW9uKHt2YWx1ZTogY29sdW1uVmFsdWUsIGRhdGFWYWx1ZVR5cGV9KSk7XG5cdH1cblxuXHQvLyBlbmRyZWdpb25cbn1cbiJdfQ==
@@ -0,0 +1,15 @@
1
+ /**
2
+ * @public
3
+ */
4
+ export var ɵQueryOperationType;
5
+ (function (ɵQueryOperationType) {
6
+ ɵQueryOperationType[ɵQueryOperationType["Select"] = 0] = "Select";
7
+ ɵQueryOperationType[ɵQueryOperationType["Insert"] = 1] = "Insert";
8
+ ɵQueryOperationType[ɵQueryOperationType["Update"] = 2] = "Update";
9
+ ɵQueryOperationType[ɵQueryOperationType["Delete"] = 3] = "Delete";
10
+ // Batch,
11
+ // ListSelect,
12
+ // FilteredSelect,
13
+ // LookupSelect
14
+ })(ɵQueryOperationType || (ɵQueryOperationType = {}));
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktb3BlcmF0aW9uLXR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RldmtpdC9iYXNlL3NyYy9saWIvcHVibGljL2VzcS9kYXRhLW1vZGVsL3F1ZXJpZXMvcXVlcnktb3BlcmF0aW9uLXR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxNQUFNLENBQU4sSUFBWSxtQkFTWDtBQVRELFdBQVksbUJBQW1CO0lBQzlCLGlFQUFNLENBQUE7SUFDTixpRUFBTSxDQUFBO0lBQ04saUVBQU0sQ0FBQTtJQUNOLGlFQUFNLENBQUE7SUFDTixTQUFTO0lBQ1QsY0FBYztJQUNkLGtCQUFrQjtJQUNsQixlQUFlO0FBQ2hCLENBQUMsRUFUVyxtQkFBbUIsS0FBbkIsbUJBQW1CLFFBUzlCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBlbnVtIMm1UXVlcnlPcGVyYXRpb25UeXBlIHtcblx0U2VsZWN0LFxuXHRJbnNlcnQsXG5cdFVwZGF0ZSxcblx0RGVsZXRlLFxuXHQvLyBCYXRjaCxcblx0Ly8gTGlzdFNlbGVjdCxcblx0Ly8gRmlsdGVyZWRTZWxlY3QsXG5cdC8vIExvb2t1cFNlbGVjdFxufVxuIl19
@@ -0,0 +1,7 @@
1
+ import { ɵEntitySchemaQuery } from './entity-schema-query';
2
+ /**
3
+ * @public
4
+ */
5
+ export class ɵSelectLocalizationQuery extends ɵEntitySchemaQuery {
6
+ }
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWxvY2FsaXphdGlvbi1xdWVyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGV2a2l0L2Jhc2Uvc3JjL2xpYi9wdWJsaWMvZXNxL2RhdGEtbW9kZWwvcXVlcmllcy9zZWxlY3QtbG9jYWxpemF0aW9uLXF1ZXJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTNEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLHdCQUF5QixTQUFRLGtCQUFrQjtDQUFHIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgybVFbnRpdHlTY2hlbWFRdWVyeSB9IGZyb20gJy4vZW50aXR5LXNjaGVtYS1xdWVyeSc7XG5cbi8qKlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY2xhc3MgybVTZWxlY3RMb2NhbGl6YXRpb25RdWVyeSBleHRlbmRzIMm1RW50aXR5U2NoZW1hUXVlcnkge31cbiJdfQ==
@@ -0,0 +1,43 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { classToPlain, Expose } from 'class-transformer';
3
+ import { ɵBaseFilterableQuery } from './base-filterable-query';
4
+ import { ɵQueryOperationType } from './query-operation-type';
5
+ import { ɵParameterExpression } from '../expressions';
6
+ import { ɵValidationUtilities } from '../../../exceptions';
7
+ /**
8
+ * @public
9
+ */
10
+ export class ɵUpdateQuery extends ɵBaseFilterableQuery {
11
+ // endregion
12
+ // region Constructors: Public
13
+ constructor(rootSchemaName) {
14
+ super(ɵQueryOperationType.Update, rootSchemaName);
15
+ // region Fields: Private
16
+ this._columnValues = new Map();
17
+ // endregion
18
+ // region Fields: Public
19
+ /**
20
+ * Flag that indicates whether to force save data.
21
+ */
22
+ this.isForceUpdate = false;
23
+ }
24
+ // endregion
25
+ // region Properties: Public
26
+ get columnValues() {
27
+ return {
28
+ items: classToPlain(this._columnValues),
29
+ };
30
+ }
31
+ // endregion
32
+ // region Methods: Public
33
+ addColumn(columnName, columnValue, dataValueType) {
34
+ ɵValidationUtilities.checkArgumentEmpty('columnName', columnName);
35
+ this._columnValues.set(columnName, new ɵParameterExpression({ value: columnValue, dataValueType }));
36
+ }
37
+ }
38
+ __decorate([
39
+ Expose(),
40
+ __metadata("design:type", Object),
41
+ __metadata("design:paramtypes", [])
42
+ ], ɵUpdateQuery.prototype, "columnValues", null);
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLXF1ZXJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kZXZraXQvYmFzZS9zcmMvbGliL3B1YmxpYy9lc3EvZGF0YS1tb2RlbC9xdWVyaWVzL3VwZGF0ZS1xdWVyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFlBQVksRUFBRSxNQUFNLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUV2RCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUM3RCxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUMzRCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUdwRCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUV6RDs7R0FFRztBQUNILE1BQU0sT0FBTyxZQUFhLFNBQVEsb0JBQW9CO0lBY3JELFlBQVk7SUFFWiw4QkFBOEI7SUFFOUIsWUFBWSxjQUFzQjtRQUNqQyxLQUFLLENBQUMsbUJBQW1CLENBQUMsTUFBTSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBbEJuRCx5QkFBeUI7UUFFakIsa0JBQWEsR0FBRyxJQUFJLEdBQUcsRUFBZ0MsQ0FBQztRQUVoRSxZQUFZO1FBRVosd0JBQXdCO1FBRXhCOztXQUVHO1FBQ0ksa0JBQWEsR0FBRyxLQUFLLENBQUM7SUFRN0IsQ0FBQztJQUVELFlBQVk7SUFFWiw0QkFBNEI7SUFFNUIsSUFDVyxZQUFZO1FBQ3RCLE9BQU87WUFDTixLQUFLLEVBQUUsWUFBWSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7U0FDdkMsQ0FBQztJQUNILENBQUM7SUFFRCxZQUFZO0lBRVoseUJBQXlCO0lBRWxCLFNBQVMsQ0FBQyxVQUFrQixFQUFFLFdBQStCLEVBQUUsYUFBNkI7UUFDbEcsb0JBQW9CLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ2xFLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxJQUFJLG9CQUFvQixDQUFDLEVBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbkcsQ0FBQztDQUdEO0FBakJBO0lBQUMsTUFBTSxFQUFFOzs7Z0RBS1IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2NsYXNzVG9QbGFpbiwgRXhwb3NlfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5cbmltcG9ydCB7ybVCYXNlRmlsdGVyYWJsZVF1ZXJ5fSBmcm9tICcuL2Jhc2UtZmlsdGVyYWJsZS1xdWVyeSc7XG5pbXBvcnQge8m1UXVlcnlPcGVyYXRpb25UeXBlfSBmcm9tICcuL3F1ZXJ5LW9wZXJhdGlvbi10eXBlJztcbmltcG9ydCB7ybVQYXJhbWV0ZXJFeHByZXNzaW9ufSBmcm9tICcuLi9leHByZXNzaW9ucyc7XG5pbXBvcnQge8m1RW50aXR5Q29sdW1uVmFsdWV9IGZyb20gJy4uLy4uLy4uL3R5cGVzJztcbmltcG9ydCB7ybVEYXRhVmFsdWVUeXBlfSBmcm9tICcuLi8uLi8uLi9lbnVtcyc7XG5pbXBvcnQge8m1VmFsaWRhdGlvblV0aWxpdGllc30gZnJvbSAnLi4vLi4vLi4vZXhjZXB0aW9ucyc7XG5cbi8qKlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY2xhc3MgybVVcGRhdGVRdWVyeSBleHRlbmRzIMm1QmFzZUZpbHRlcmFibGVRdWVyeSB7XG5cdC8vIHJlZ2lvbiBGaWVsZHM6IFByaXZhdGVcblxuXHRwcml2YXRlIF9jb2x1bW5WYWx1ZXMgPSBuZXcgTWFwPHN0cmluZywgybVQYXJhbWV0ZXJFeHByZXNzaW9uPigpO1xuXG5cdC8vIGVuZHJlZ2lvblxuXG5cdC8vIHJlZ2lvbiBGaWVsZHM6IFB1YmxpY1xuXG5cdC8qKlxuXHQgKiBGbGFnIHRoYXQgaW5kaWNhdGVzIHdoZXRoZXIgdG8gZm9yY2Ugc2F2ZSBkYXRhLlxuXHQgKi9cblx0cHVibGljIGlzRm9yY2VVcGRhdGUgPSBmYWxzZTtcblxuXHQvLyBlbmRyZWdpb25cblxuXHQvLyByZWdpb24gQ29uc3RydWN0b3JzOiBQdWJsaWNcblxuXHRjb25zdHJ1Y3Rvcihyb290U2NoZW1hTmFtZTogc3RyaW5nKSB7XG5cdFx0c3VwZXIoybVRdWVyeU9wZXJhdGlvblR5cGUuVXBkYXRlLCByb290U2NoZW1hTmFtZSk7XG5cdH1cblxuXHQvLyBlbmRyZWdpb25cblxuXHQvLyByZWdpb24gUHJvcGVydGllczogUHVibGljXG5cblx0QEV4cG9zZSgpXG5cdHB1YmxpYyBnZXQgY29sdW1uVmFsdWVzKCk6IHsgaXRlbXM6IHsgW2tleTogc3RyaW5nXTogybVQYXJhbWV0ZXJFeHByZXNzaW9uIH0gfSB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdGl0ZW1zOiBjbGFzc1RvUGxhaW4odGhpcy5fY29sdW1uVmFsdWVzKSxcblx0XHR9O1xuXHR9XG5cblx0Ly8gZW5kcmVnaW9uXG5cblx0Ly8gcmVnaW9uIE1ldGhvZHM6IFB1YmxpY1xuXG5cdHB1YmxpYyBhZGRDb2x1bW4oY29sdW1uTmFtZTogc3RyaW5nLCBjb2x1bW5WYWx1ZTogybVFbnRpdHlDb2x1bW5WYWx1ZSwgZGF0YVZhbHVlVHlwZTogybVEYXRhVmFsdWVUeXBlKTogdm9pZCB7XG5cdFx0ybVWYWxpZGF0aW9uVXRpbGl0aWVzLmNoZWNrQXJndW1lbnRFbXB0eSgnY29sdW1uTmFtZScsIGNvbHVtbk5hbWUpO1xuXHRcdHRoaXMuX2NvbHVtblZhbHVlcy5zZXQoY29sdW1uTmFtZSwgbmV3IMm1UGFyYW1ldGVyRXhwcmVzc2lvbih7dmFsdWU6IGNvbHVtblZhbHVlLCBkYXRhVmFsdWVUeXBlfSkpO1xuXHR9XG5cblx0Ly8gZW5kcmVnaW9uXG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export * from './data-model';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RldmtpdC9iYXNlL3NyYy9saWIvcHVibGljL2VzcS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZGF0YS1tb2RlbCc7XG4iXX0=
@@ -0,0 +1,7 @@
1
+ export class ɵArgumentEmptyException extends Error {
2
+ // region Constructors: Public
3
+ constructor(argumentName) {
4
+ super(`Argument with name '${argumentName}' is empty.`);
5
+ }
6
+ }
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJndW1lbnQtZW1wdHktZXhjZXB0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kZXZraXQvYmFzZS9zcmMvbGliL3B1YmxpYy9leGNlcHRpb25zL2FyZ3VtZW50LWVtcHR5LWV4Y2VwdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsS0FBSztJQUNqRCw4QkFBOEI7SUFFOUIsWUFBWSxZQUFvQjtRQUMvQixLQUFLLENBQUMsdUJBQXVCLFlBQVksYUFBYSxDQUFDLENBQUM7SUFDekQsQ0FBQztDQUdEIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIMm1QXJndW1lbnRFbXB0eUV4Y2VwdGlvbiBleHRlbmRzIEVycm9yIHtcblx0Ly8gcmVnaW9uIENvbnN0cnVjdG9yczogUHVibGljXG5cblx0Y29uc3RydWN0b3IoYXJndW1lbnROYW1lOiBzdHJpbmcpIHtcblx0XHRzdXBlcihgQXJndW1lbnQgd2l0aCBuYW1lICcke2FyZ3VtZW50TmFtZX0nIGlzIGVtcHR5LmApO1xuXHR9XG5cblx0Ly8gZW5kcmVnaW9uXG59XG4iXX0=
@@ -0,0 +1,7 @@
1
+ export class ɵArgumentOutOfRangeException extends Error {
2
+ // region Constructors: Public
3
+ constructor(argumentName) {
4
+ super(`Argument with name '${argumentName}' is out of range.`);
5
+ }
6
+ }
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJndW1lbnQtb3V0LW9mLXJhbmdlLWV4Y2VwdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGV2a2l0L2Jhc2Uvc3JjL2xpYi9wdWJsaWMvZXhjZXB0aW9ucy9hcmd1bWVudC1vdXQtb2YtcmFuZ2UtZXhjZXB0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyw0QkFBNkIsU0FBUSxLQUFLO0lBQ3RELDhCQUE4QjtJQUU5QixZQUFZLFlBQW9CO1FBQy9CLEtBQUssQ0FBQyx1QkFBdUIsWUFBWSxvQkFBb0IsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7Q0FHRCIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyDJtUFyZ3VtZW50T3V0T2ZSYW5nZUV4Y2VwdGlvbiBleHRlbmRzIEVycm9yIHtcblx0Ly8gcmVnaW9uIENvbnN0cnVjdG9yczogUHVibGljXG5cblx0Y29uc3RydWN0b3IoYXJndW1lbnROYW1lOiBzdHJpbmcpIHtcblx0XHRzdXBlcihgQXJndW1lbnQgd2l0aCBuYW1lICcke2FyZ3VtZW50TmFtZX0nIGlzIG91dCBvZiByYW5nZS5gKTtcblx0fVxuXG5cdC8vIGVuZHJlZ2lvblxufVxuIl19
@@ -0,0 +1,6 @@
1
+ export * from './next-handler-already-specified-exception';
2
+ export * from './argument-empty-exception';
3
+ export * from './argument-out-of-range-exception';
4
+ export * from './item-not-found-exception';
5
+ export * from './validation-utilities';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RldmtpdC9iYXNlL3NyYy9saWIvcHVibGljL2V4Y2VwdGlvbnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLHdCQUF3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9uZXh0LWhhbmRsZXItYWxyZWFkeS1zcGVjaWZpZWQtZXhjZXB0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vYXJndW1lbnQtZW1wdHktZXhjZXB0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vYXJndW1lbnQtb3V0LW9mLXJhbmdlLWV4Y2VwdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2l0ZW0tbm90LWZvdW5kLWV4Y2VwdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL3ZhbGlkYXRpb24tdXRpbGl0aWVzJztcbiJdfQ==
@@ -0,0 +1,7 @@
1
+ export class ɵItemNotFoundException extends Error {
2
+ // region Constructors: Public
3
+ constructor(key) {
4
+ super(`Item with key '${key}' does not exist.`);
5
+ }
6
+ }
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRlbS1ub3QtZm91bmQtZXhjZXB0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kZXZraXQvYmFzZS9zcmMvbGliL3B1YmxpYy9leGNlcHRpb25zL2l0ZW0tbm90LWZvdW5kLWV4Y2VwdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsS0FBSztJQUNoRCw4QkFBOEI7SUFFOUIsWUFBWSxHQUFXO1FBQ3RCLEtBQUssQ0FBQyxrQkFBa0IsR0FBRyxtQkFBbUIsQ0FBQyxDQUFDO0lBQ2pELENBQUM7Q0FHRCIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyDJtUl0ZW1Ob3RGb3VuZEV4Y2VwdGlvbiBleHRlbmRzIEVycm9yIHtcblx0Ly8gcmVnaW9uIENvbnN0cnVjdG9yczogUHVibGljXG5cblx0Y29uc3RydWN0b3Ioa2V5OiBzdHJpbmcpIHtcblx0XHRzdXBlcihgSXRlbSB3aXRoIGtleSAnJHtrZXl9JyBkb2VzIG5vdCBleGlzdC5gKTtcblx0fVxuXG5cdC8vIGVuZHJlZ2lvblxufVxuIl19
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @public
3
+ */
4
+ export class ɵNextHandlerAlreadySpecifiedException extends Error {
5
+ constructor() {
6
+ super('Next handler already specified');
7
+ }
8
+ }
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV4dC1oYW5kbGVyLWFscmVhZHktc3BlY2lmaWVkLWV4Y2VwdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGV2a2l0L2Jhc2Uvc3JjL2xpYi9wdWJsaWMvZXhjZXB0aW9ucy9uZXh0LWhhbmRsZXItYWxyZWFkeS1zcGVjaWZpZWQtZXhjZXB0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxPQUFPLHFDQUFzQyxTQUFRLEtBQUs7SUFDL0Q7UUFDQyxLQUFLLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztJQUN6QyxDQUFDO0NBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNsYXNzIMm1TmV4dEhhbmRsZXJBbHJlYWR5U3BlY2lmaWVkRXhjZXB0aW9uIGV4dGVuZHMgRXJyb3Ige1xuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHRzdXBlcignTmV4dCBoYW5kbGVyIGFscmVhZHkgc3BlY2lmaWVkJyk7XG5cdH1cbn1cbiJdfQ==
@@ -0,0 +1,32 @@
1
+ import { ɵArgumentEmptyException } from './argument-empty-exception';
2
+ import { ɵArgumentOutOfRangeException } from './argument-out-of-range-exception';
3
+ export class ɵValidationUtilities {
4
+ // region Methods: Public
5
+ static checkArgumentEmpty(argumentName, argumentValue) {
6
+ if (argumentValue === undefined || argumentValue === null) {
7
+ throw new ɵArgumentEmptyException(argumentName);
8
+ }
9
+ }
10
+ static checkArrayEmpty(argumentName, argumentValue) {
11
+ ɵValidationUtilities.checkArgumentEmpty(argumentName, argumentValue);
12
+ if (argumentValue.length === 0) {
13
+ throw new ɵArgumentEmptyException(argumentName);
14
+ }
15
+ }
16
+ static checkStringIsNotEmpty(argumentName, argumentValue) {
17
+ this.checkArgumentEmpty(argumentName, argumentValue);
18
+ if (argumentValue === '') {
19
+ throw new ɵArgumentEmptyException(argumentName);
20
+ }
21
+ return argumentValue;
22
+ }
23
+ static checkArgumentOutOfRange(argumentName, argumentValue, range) {
24
+ if (range.begin && argumentValue < range.begin) {
25
+ throw new ɵArgumentOutOfRangeException(argumentName);
26
+ }
27
+ if (range.end && argumentValue > range.end) {
28
+ throw new ɵArgumentOutOfRangeException(argumentName);
29
+ }
30
+ }
31
+ }
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi11dGlsaXRpZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RldmtpdC9iYXNlL3NyYy9saWIvcHVibGljL2V4Y2VwdGlvbnMvdmFsaWRhdGlvbi11dGlsaXRpZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDckUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFakYsTUFBTSxPQUFPLG9CQUFvQjtJQUNoQyx5QkFBeUI7SUFFbEIsTUFBTSxDQUFDLGtCQUFrQixDQUMvQixZQUFvQixFQUNwQixhQUFtQztRQUVuQyxJQUFJLGFBQWEsS0FBSyxTQUFTLElBQUksYUFBYSxLQUFLLElBQUksRUFBRTtZQUMxRCxNQUFNLElBQUksdUJBQXVCLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDaEQ7SUFDRixDQUFDO0lBRU0sTUFBTSxDQUFDLGVBQWUsQ0FBSSxZQUFvQixFQUFFLGFBQTJCO1FBQ2pGLG9CQUFvQixDQUFDLGtCQUFrQixDQUFDLFlBQVksRUFBRSxhQUFhLENBQUMsQ0FBQztRQUNyRSxJQUFJLGFBQWEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQy9CLE1BQU0sSUFBSSx1QkFBdUIsQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUNoRDtJQUNGLENBQUM7SUFFTSxNQUFNLENBQUMscUJBQXFCLENBQUMsWUFBb0IsRUFBRSxhQUFxQjtRQUM5RSxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQ3JELElBQUksYUFBYSxLQUFLLEVBQUUsRUFBRTtZQUN6QixNQUFNLElBQUksdUJBQXVCLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDaEQ7UUFDRCxPQUFPLGFBQWEsQ0FBQztJQUN0QixDQUFDO0lBRU0sTUFBTSxDQUFDLHVCQUF1QixDQUNwQyxZQUFvQixFQUNwQixhQUFxQixFQUNyQixLQUF1QztRQUV2QyxJQUFJLEtBQUssQ0FBQyxLQUFLLElBQUksYUFBYSxHQUFHLEtBQUssQ0FBQyxLQUFLLEVBQUU7WUFDL0MsTUFBTSxJQUFJLDRCQUE0QixDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQ3JEO1FBQ0QsSUFBSSxLQUFLLENBQUMsR0FBRyxJQUFJLGFBQWEsR0FBRyxLQUFLLENBQUMsR0FBRyxFQUFFO1lBQzNDLE1BQU0sSUFBSSw0QkFBNEIsQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUNyRDtJQUNGLENBQUM7Q0FHRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IMm1QXJndW1lbnRFbXB0eUV4Y2VwdGlvbiB9IGZyb20gJy4vYXJndW1lbnQtZW1wdHktZXhjZXB0aW9uJztcbmltcG9ydCB7IMm1QXJndW1lbnRPdXRPZlJhbmdlRXhjZXB0aW9uIH0gZnJvbSAnLi9hcmd1bWVudC1vdXQtb2YtcmFuZ2UtZXhjZXB0aW9uJztcblxuZXhwb3J0IGNsYXNzIMm1VmFsaWRhdGlvblV0aWxpdGllcyB7XG5cdC8vIHJlZ2lvbiBNZXRob2RzOiBQdWJsaWNcblxuXHRwdWJsaWMgc3RhdGljIGNoZWNrQXJndW1lbnRFbXB0eTxUPihcblx0XHRhcmd1bWVudE5hbWU6IHN0cmluZyxcblx0XHRhcmd1bWVudFZhbHVlOiBUIHwgbnVsbCB8IHVuZGVmaW5lZCxcblx0KTogYXNzZXJ0cyBhcmd1bWVudFZhbHVlIGlzIFQge1xuXHRcdGlmIChhcmd1bWVudFZhbHVlID09PSB1bmRlZmluZWQgfHwgYXJndW1lbnRWYWx1ZSA9PT0gbnVsbCkge1xuXHRcdFx0dGhyb3cgbmV3IMm1QXJndW1lbnRFbXB0eUV4Y2VwdGlvbihhcmd1bWVudE5hbWUpO1xuXHRcdH1cblx0fVxuXG5cdHB1YmxpYyBzdGF0aWMgY2hlY2tBcnJheUVtcHR5PFQ+KGFyZ3VtZW50TmFtZTogc3RyaW5nLCBhcmd1bWVudFZhbHVlOiBBcnJheUxpa2U8VD4pOiB2b2lkIHtcblx0XHTJtVZhbGlkYXRpb25VdGlsaXRpZXMuY2hlY2tBcmd1bWVudEVtcHR5KGFyZ3VtZW50TmFtZSwgYXJndW1lbnRWYWx1ZSk7XG5cdFx0aWYgKGFyZ3VtZW50VmFsdWUubGVuZ3RoID09PSAwKSB7XG5cdFx0XHR0aHJvdyBuZXcgybVBcmd1bWVudEVtcHR5RXhjZXB0aW9uKGFyZ3VtZW50TmFtZSk7XG5cdFx0fVxuXHR9XG5cblx0cHVibGljIHN0YXRpYyBjaGVja1N0cmluZ0lzTm90RW1wdHkoYXJndW1lbnROYW1lOiBzdHJpbmcsIGFyZ3VtZW50VmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XG5cdFx0dGhpcy5jaGVja0FyZ3VtZW50RW1wdHkoYXJndW1lbnROYW1lLCBhcmd1bWVudFZhbHVlKTtcblx0XHRpZiAoYXJndW1lbnRWYWx1ZSA9PT0gJycpIHtcblx0XHRcdHRocm93IG5ldyDJtUFyZ3VtZW50RW1wdHlFeGNlcHRpb24oYXJndW1lbnROYW1lKTtcblx0XHR9XG5cdFx0cmV0dXJuIGFyZ3VtZW50VmFsdWU7XG5cdH1cblxuXHRwdWJsaWMgc3RhdGljIGNoZWNrQXJndW1lbnRPdXRPZlJhbmdlKFxuXHRcdGFyZ3VtZW50TmFtZTogc3RyaW5nLFxuXHRcdGFyZ3VtZW50VmFsdWU6IG51bWJlcixcblx0XHRyYW5nZTogeyBiZWdpbj86IG51bWJlcjsgZW5kPzogbnVtYmVyIH0sXG5cdCk6IHZvaWQge1xuXHRcdGlmIChyYW5nZS5iZWdpbiAmJiBhcmd1bWVudFZhbHVlIDwgcmFuZ2UuYmVnaW4pIHtcblx0XHRcdHRocm93IG5ldyDJtUFyZ3VtZW50T3V0T2ZSYW5nZUV4Y2VwdGlvbihhcmd1bWVudE5hbWUpO1xuXHRcdH1cblx0XHRpZiAocmFuZ2UuZW5kICYmIGFyZ3VtZW50VmFsdWUgPiByYW5nZS5lbmQpIHtcblx0XHRcdHRocm93IG5ldyDJtUFyZ3VtZW50T3V0T2ZSYW5nZUV4Y2VwdGlvbihhcmd1bWVudE5hbWUpO1xuXHRcdH1cblx0fVxuXG5cdC8vIGVuZHJlZ2lvblxufVxuIl19