@creatio/base 0.815.0 → 0.820.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 (213) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/esm2022/lib/external/utils/date-utils.mjs +51 -0
  3. package/esm2022/lib/internal/enums/platform-apis.enum.mjs +16 -0
  4. package/esm2022/lib/internal/models/compatible-apis.model.mjs +2 -0
  5. package/esm2022/lib/internal/models/filtration-platform-api-options.model.mjs +2 -0
  6. package/esm2022/lib/internal/models/index.mjs +5 -0
  7. package/esm2022/lib/internal/models/platform-api-options.model.mjs +2 -0
  8. package/esm2022/lib/public/enums/message-channel-type.enum.mjs +24 -0
  9. package/esm2022/lib/public/esq/data-model/expressions/arithmetic/arithmetic-expression.mjs +60 -0
  10. package/esm2022/lib/public/esq/data-model/expressions/base-expression.mjs +68 -0
  11. package/esm2022/lib/public/esq/data-model/expressions/columns/column-expression.mjs +55 -0
  12. package/esm2022/lib/public/esq/data-model/expressions/functions/aggregation-function-expression.mjs +50 -0
  13. package/esm2022/lib/public/esq/data-model/expressions/functions/argument-function-expression.mjs +40 -0
  14. package/esm2022/lib/public/esq/data-model/expressions/functions/date-part-function-expression.mjs +43 -0
  15. package/esm2022/lib/public/esq/data-model/expressions/functions/function-expression.mjs +30 -0
  16. package/esm2022/lib/public/esq/data-model/expressions/functions/length-function-expression.mjs +43 -0
  17. package/esm2022/lib/public/esq/data-model/expressions/functions/macros-function-expression.mjs +53 -0
  18. package/esm2022/lib/public/esq/data-model/expressions/functions/window-function-expression.mjs +41 -0
  19. package/{esm2020 → esm2022}/lib/public/esq/data-model/expressions/mocks/expression.mock.mjs +7 -7
  20. package/esm2022/lib/public/esq/data-model/expressions/parameters/parameter-expression.mjs +117 -0
  21. package/esm2022/lib/public/esq/data-model/expressions/sub-queries/aggregation-sub-query-expression.mjs +43 -0
  22. package/esm2022/lib/public/esq/data-model/expressions/sub-queries/sub-query-expression.mjs +82 -0
  23. package/esm2022/lib/public/esq/data-model/filters/base-filter.mjs +68 -0
  24. package/esm2022/lib/public/esq/data-model/filters/between-filter.mjs +58 -0
  25. package/esm2022/lib/public/esq/data-model/filters/compare-filter.mjs +52 -0
  26. package/esm2022/lib/public/esq/data-model/filters/exists-filter.mjs +64 -0
  27. package/esm2022/lib/public/esq/data-model/filters/filter-group.mjs +247 -0
  28. package/esm2022/lib/public/esq/data-model/filters/in-filter.mjs +57 -0
  29. package/esm2022/lib/public/esq/data-model/filters/isnull-filter.mjs +52 -0
  30. package/esm2022/lib/public/esq/data-model/filters/mocks/filter.mock.mjs +34 -0
  31. package/esm2022/lib/public/esq/data-model/filters/single-filter.mjs +39 -0
  32. package/{esm2020 → esm2022}/lib/public/esq/data-model/queries/base-filterable-query.mjs +1 -1
  33. package/esm2022/lib/public/esq/data-model/queries/entity-schema-query.mjs +242 -0
  34. package/esm2022/lib/public/exceptions/validation-utilities.mjs +66 -0
  35. package/{esm2020 → esm2022}/lib/public/models/index.mjs +2 -1
  36. package/esm2022/lib/public/models/message-channel-event.mjs +3 -0
  37. package/esm2022/lib/public/models/request/request-registration-config.model.mjs +2 -0
  38. package/esm2022/lib/public/models/subscription.mjs +39 -0
  39. package/{esm2020 → esm2022}/lib/public/services/index.mjs +2 -1
  40. package/esm2022/lib/public/services/message-channel/base-message-channel.service.mjs +3 -0
  41. package/esm2022/lib/public/services/message-channel/index.mjs +2 -0
  42. package/esm2022/lib/public/types/guid.type.mjs +53 -0
  43. package/{fesm2020 → fesm2022}/creatio-base.mjs +202 -120
  44. package/fesm2022/creatio-base.mjs.map +1 -0
  45. package/index.d.ts +130 -11
  46. package/package.json +7 -16
  47. package/esm2020/lib/external/utils/date-utils.mjs +0 -29
  48. package/esm2020/lib/internal/enums/platform-apis.enum.mjs +0 -12
  49. package/esm2020/lib/internal/models/index.mjs +0 -2
  50. package/esm2020/lib/public/enums/message-channel-type.enum.mjs +0 -11
  51. package/esm2020/lib/public/esq/data-model/expressions/arithmetic/arithmetic-expression.mjs +0 -60
  52. package/esm2020/lib/public/esq/data-model/expressions/base-expression.mjs +0 -68
  53. package/esm2020/lib/public/esq/data-model/expressions/columns/column-expression.mjs +0 -55
  54. package/esm2020/lib/public/esq/data-model/expressions/functions/aggregation-function-expression.mjs +0 -50
  55. package/esm2020/lib/public/esq/data-model/expressions/functions/argument-function-expression.mjs +0 -40
  56. package/esm2020/lib/public/esq/data-model/expressions/functions/date-part-function-expression.mjs +0 -43
  57. package/esm2020/lib/public/esq/data-model/expressions/functions/function-expression.mjs +0 -30
  58. package/esm2020/lib/public/esq/data-model/expressions/functions/length-function-expression.mjs +0 -43
  59. package/esm2020/lib/public/esq/data-model/expressions/functions/macros-function-expression.mjs +0 -53
  60. package/esm2020/lib/public/esq/data-model/expressions/functions/window-function-expression.mjs +0 -41
  61. package/esm2020/lib/public/esq/data-model/expressions/parameters/parameter-expression.mjs +0 -117
  62. package/esm2020/lib/public/esq/data-model/expressions/sub-queries/aggregation-sub-query-expression.mjs +0 -43
  63. package/esm2020/lib/public/esq/data-model/expressions/sub-queries/sub-query-expression.mjs +0 -82
  64. package/esm2020/lib/public/esq/data-model/filters/base-filter.mjs +0 -68
  65. package/esm2020/lib/public/esq/data-model/filters/between-filter.mjs +0 -58
  66. package/esm2020/lib/public/esq/data-model/filters/compare-filter.mjs +0 -52
  67. package/esm2020/lib/public/esq/data-model/filters/exists-filter.mjs +0 -64
  68. package/esm2020/lib/public/esq/data-model/filters/filter-group.mjs +0 -247
  69. package/esm2020/lib/public/esq/data-model/filters/in-filter.mjs +0 -57
  70. package/esm2020/lib/public/esq/data-model/filters/isnull-filter.mjs +0 -52
  71. package/esm2020/lib/public/esq/data-model/filters/mocks/filter.mock.mjs +0 -34
  72. package/esm2020/lib/public/esq/data-model/filters/single-filter.mjs +0 -39
  73. package/esm2020/lib/public/esq/data-model/queries/entity-schema-query.mjs +0 -242
  74. package/esm2020/lib/public/exceptions/validation-utilities.mjs +0 -66
  75. package/esm2020/lib/public/models/message-channel-event.mjs +0 -2
  76. package/esm2020/lib/public/models/request/request-registration-config.model.mjs +0 -2
  77. package/esm2020/lib/public/types/guid.type.mjs +0 -53
  78. package/fesm2015/creatio-base.mjs +0 -3313
  79. package/fesm2015/creatio-base.mjs.map +0 -1
  80. package/fesm2020/creatio-base.mjs.map +0 -1
  81. /package/{esm2020 → esm2022}/creatio-base.mjs +0 -0
  82. /package/{esm2020 → esm2022}/index.mjs +0 -0
  83. /package/{esm2020 → esm2022}/lib/external/utils/index.mjs +0 -0
  84. /package/{esm2020 → esm2022}/lib/index.mjs +0 -0
  85. /package/{esm2020 → esm2022}/lib/internal/enums/data-schema-attribute-type.enum.mjs +0 -0
  86. /package/{esm2020 → esm2022}/lib/internal/enums/data-source-scope.enum.mjs +0 -0
  87. /package/{esm2020 → esm2022}/lib/internal/enums/default-value-source.enum.mjs +0 -0
  88. /package/{esm2020 → esm2022}/lib/internal/enums/index.mjs +0 -0
  89. /package/{esm2020 → esm2022}/lib/internal/enums/lookup-mode.mjs +0 -0
  90. /package/{esm2020 → esm2022}/lib/internal/model/data-schema/data-schema-attribute-aggregation-config.model.mjs +0 -0
  91. /package/{esm2020 → esm2022}/lib/internal/model/data-schema/data-schema-attribute-function-config.model.mjs +0 -0
  92. /package/{esm2020 → esm2022}/lib/internal/model/data-schema/data-schema-validator-config.model.mjs +0 -0
  93. /package/{esm2020 → esm2022}/lib/internal/model/data-schema/index.mjs +0 -0
  94. /package/{esm2020 → esm2022}/lib/internal/model/data-source-config.mjs +0 -0
  95. /package/{esm2020 → esm2022}/lib/internal/model/index.mjs +0 -0
  96. /package/{esm2020 → esm2022}/lib/internal/models/default-value-schema.mjs +0 -0
  97. /package/{esm2020 → esm2022}/lib/public/enums/aggregation-function.enum.mjs +0 -0
  98. /package/{esm2020 → esm2022}/lib/public/enums/aggregation-type.enum.mjs +0 -0
  99. /package/{esm2020 → esm2022}/lib/public/enums/data-schema-type.enum.mjs +0 -0
  100. /package/{esm2020 → esm2022}/lib/public/enums/data-value-type.enum.mjs +0 -0
  101. /package/{esm2020 → esm2022}/lib/public/enums/index.mjs +0 -0
  102. /package/{esm2020 → esm2022}/lib/public/enums/model-in-page-action.enum.mjs +0 -0
  103. /package/{esm2020 → esm2022}/lib/public/esq/data-model/columns/arithmetic/arithmetic-query-column.mjs +0 -0
  104. /package/{esm2020 → esm2022}/lib/public/esq/data-model/columns/base-query-column.mjs +0 -0
  105. /package/{esm2020 → esm2022}/lib/public/esq/data-model/columns/entity-column/entity-query-column.mjs +0 -0
  106. /package/{esm2020 → esm2022}/lib/public/esq/data-model/columns/functions/aggregation-function-column.mjs +0 -0
  107. /package/{esm2020 → esm2022}/lib/public/esq/data-model/columns/functions/date-part-function-column.mjs +0 -0
  108. /package/{esm2020 → esm2022}/lib/public/esq/data-model/columns/functions/length-function-column.mjs +0 -0
  109. /package/{esm2020 → esm2022}/lib/public/esq/data-model/columns/functions/macros-function-column.mjs +0 -0
  110. /package/{esm2020 → esm2022}/lib/public/esq/data-model/columns/functions/window-function-column.mjs +0 -0
  111. /package/{esm2020 → esm2022}/lib/public/esq/data-model/columns/index.mjs +0 -0
  112. /package/{esm2020 → esm2022}/lib/public/esq/data-model/columns/parameters/parameter-query-column.mjs +0 -0
  113. /package/{esm2020 → esm2022}/lib/public/esq/data-model/columns/query-column-test-utils.mjs +0 -0
  114. /package/{esm2020 → esm2022}/lib/public/esq/data-model/columns/sub-queries/aggregation-sub-query-column.mjs +0 -0
  115. /package/{esm2020 → esm2022}/lib/public/esq/data-model/columns/sub-queries/sub-query-column.mjs +0 -0
  116. /package/{esm2020 → esm2022}/lib/public/esq/data-model/enums/admin-unit-role-sources.enum.mjs +0 -0
  117. /package/{esm2020 → esm2022}/lib/public/esq/data-model/enums/aggregation-eval-type.enum.mjs +0 -0
  118. /package/{esm2020 → esm2022}/lib/public/esq/data-model/enums/arithmetic-operation.enum.mjs +0 -0
  119. /package/{esm2020 → esm2022}/lib/public/esq/data-model/enums/comparison-type.enum.mjs +0 -0
  120. /package/{esm2020 → esm2022}/lib/public/esq/data-model/enums/date-part-type.enum.mjs +0 -0
  121. /package/{esm2020 → esm2022}/lib/public/esq/data-model/enums/expression-type.enum.mjs +0 -0
  122. /package/{esm2020 → esm2022}/lib/public/esq/data-model/enums/filter-type.enum.mjs +0 -0
  123. /package/{esm2020 → esm2022}/lib/public/esq/data-model/enums/function-type.enum.mjs +0 -0
  124. /package/{esm2020 → esm2022}/lib/public/esq/data-model/enums/index.mjs +0 -0
  125. /package/{esm2020 → esm2022}/lib/public/esq/data-model/enums/logical-operator-type.enum.mjs +0 -0
  126. /package/{esm2020 → esm2022}/lib/public/esq/data-model/enums/order-direction.enum.mjs +0 -0
  127. /package/{esm2020 → esm2022}/lib/public/esq/data-model/enums/query-macros-type.enum.mjs +0 -0
  128. /package/{esm2020 → esm2022}/lib/public/esq/data-model/expressions/arithmetic/index.mjs +0 -0
  129. /package/{esm2020 → esm2022}/lib/public/esq/data-model/expressions/columns/index.mjs +0 -0
  130. /package/{esm2020 → esm2022}/lib/public/esq/data-model/expressions/expression-parser/base-expression-parser.mjs +0 -0
  131. /package/{esm2020 → esm2022}/lib/public/esq/data-model/expressions/expression-parser/expression-parser.mjs +0 -0
  132. /package/{esm2020 → esm2022}/lib/public/esq/data-model/expressions/expression-parser/expression-resolver.mjs +0 -0
  133. /package/{esm2020 → esm2022}/lib/public/esq/data-model/expressions/expression-parser/index.mjs +0 -0
  134. /package/{esm2020 → esm2022}/lib/public/esq/data-model/expressions/functions/index.mjs +0 -0
  135. /package/{esm2020 → esm2022}/lib/public/esq/data-model/expressions/index.mjs +0 -0
  136. /package/{esm2020 → esm2022}/lib/public/esq/data-model/expressions/mocks/index.mjs +0 -0
  137. /package/{esm2020 → esm2022}/lib/public/esq/data-model/expressions/parameters/index.mjs +0 -0
  138. /package/{esm2020 → esm2022}/lib/public/esq/data-model/expressions/sub-queries/index.mjs +0 -0
  139. /package/{esm2020 → esm2022}/lib/public/esq/data-model/filters/filter-parser/base-filter-parser.mjs +0 -0
  140. /package/{esm2020 → esm2022}/lib/public/esq/data-model/filters/filter-parser/filter-parser.mjs +0 -0
  141. /package/{esm2020 → esm2022}/lib/public/esq/data-model/filters/filter-parser/filter-resolver.mjs +0 -0
  142. /package/{esm2020 → esm2022}/lib/public/esq/data-model/filters/filter-parser/index.mjs +0 -0
  143. /package/{esm2020 → esm2022}/lib/public/esq/data-model/filters/filter-test-utils.mjs +0 -0
  144. /package/{esm2020 → esm2022}/lib/public/esq/data-model/filters/index.mjs +0 -0
  145. /package/{esm2020 → esm2022}/lib/public/esq/data-model/filters/mocks/index.mjs +0 -0
  146. /package/{esm2020 → esm2022}/lib/public/esq/data-model/filters/mocks/parser.mock.mjs +0 -0
  147. /package/{esm2020 → esm2022}/lib/public/esq/data-model/index.mjs +0 -0
  148. /package/{esm2020 → esm2022}/lib/public/esq/data-model/metadata-provider/metadata-provider.mjs +0 -0
  149. /package/{esm2020 → esm2022}/lib/public/esq/data-model/queries/base-query.mjs +0 -0
  150. /package/{esm2020 → esm2022}/lib/public/esq/data-model/queries/delete-query.mjs +0 -0
  151. /package/{esm2020 → esm2022}/lib/public/esq/data-model/queries/index.mjs +0 -0
  152. /package/{esm2020 → esm2022}/lib/public/esq/data-model/queries/insert-query.mjs +0 -0
  153. /package/{esm2020 → esm2022}/lib/public/esq/data-model/queries/query-operation-type.mjs +0 -0
  154. /package/{esm2020 → esm2022}/lib/public/esq/data-model/queries/select-localization-query.mjs +0 -0
  155. /package/{esm2020 → esm2022}/lib/public/esq/data-model/queries/update-query.mjs +0 -0
  156. /package/{esm2020 → esm2022}/lib/public/esq/data-model/used-column.mjs +0 -0
  157. /package/{esm2020 → esm2022}/lib/public/esq/index.mjs +0 -0
  158. /package/{esm2020 → esm2022}/lib/public/exceptions/argument-empty-exception.mjs +0 -0
  159. /package/{esm2020 → esm2022}/lib/public/exceptions/argument-out-of-range-exception.mjs +0 -0
  160. /package/{esm2020 → esm2022}/lib/public/exceptions/index.mjs +0 -0
  161. /package/{esm2020 → esm2022}/lib/public/exceptions/item-not-found-exception.mjs +0 -0
  162. /package/{esm2020 → esm2022}/lib/public/exceptions/next-handler-already-specified-exception.mjs +0 -0
  163. /package/{esm2020 → esm2022}/lib/public/interfaces/index.mjs +0 -0
  164. /package/{esm2020 → esm2022}/lib/public/interfaces/serializable.mjs +0 -0
  165. /package/{esm2020 → esm2022}/lib/public/models/data-source/data-source-insert-result.model.mjs +0 -0
  166. /package/{esm2020 → esm2022}/lib/public/models/data-source/data-source-save-result.model.mjs +0 -0
  167. /package/{esm2020 → esm2022}/lib/public/models/data-source/index.mjs +0 -0
  168. /package/{esm2020 → esm2022}/lib/public/models/item-creation-config.mjs +0 -0
  169. /package/{esm2020 → esm2022}/lib/public/models/lookup-value.model.mjs +0 -0
  170. /package/{esm2020 → esm2022}/lib/public/models/model-init-config.mjs +0 -0
  171. /package/{esm2020 → esm2022}/lib/public/models/request/base-request.mjs +0 -0
  172. /package/{esm2020 → esm2022}/lib/public/models/request/index.mjs +0 -0
  173. /package/{esm2020 → esm2022}/lib/public/models/request-handler/index.mjs +0 -0
  174. /package/{esm2020 → esm2022}/lib/public/models/request-handler/request-handler.mjs +0 -0
  175. /package/{esm2020 → esm2022}/lib/public/models/view-model-collection.mjs +0 -0
  176. /package/{esm2020 → esm2022}/lib/public/models/view-model-context.mjs +0 -0
  177. /package/{esm2020 → esm2022}/lib/public/services/dialog/dialog.service.mjs +0 -0
  178. /package/{esm2020 → esm2022}/lib/public/services/dialog/index.mjs +0 -0
  179. /package/{esm2020 → esm2022}/lib/public/services/dialog/models/base-dialog-button-config.mjs +0 -0
  180. /package/{esm2020 → esm2022}/lib/public/services/dialog/models/dialog-action.mjs +0 -0
  181. /package/{esm2020 → esm2022}/lib/public/services/dialog/models/dialog-config.mjs +0 -0
  182. /package/{esm2020 → esm2022}/lib/public/services/dialog/models/index.mjs +0 -0
  183. /package/{esm2020 → esm2022}/lib/public/services/mask-service/base-mask.service.mjs +0 -0
  184. /package/{esm2020 → esm2022}/lib/public/services/mask-service/index.mjs +0 -0
  185. /package/{esm2020 → esm2022}/lib/public/services/mask-service/schema-view-mask.request.mjs +0 -0
  186. /package/{esm2020 → esm2022}/lib/public/services/model/base-model.mjs +0 -0
  187. /package/{esm2020 → esm2022}/lib/public/services/model/data-schema-attribute.mjs +0 -0
  188. /package/{esm2020 → esm2022}/lib/public/services/model/data-schema.mjs +0 -0
  189. /package/{esm2020 → esm2022}/lib/public/services/model/data-source-aggregation-config.mjs +0 -0
  190. /package/{esm2020 → esm2022}/lib/public/services/model/data-source-attribute.mjs +0 -0
  191. /package/{esm2020 → esm2022}/lib/public/services/model/data-source-can-execute-operation.mjs +0 -0
  192. /package/{esm2020 → esm2022}/lib/public/services/model/data-source-function-config.mjs +0 -0
  193. /package/{esm2020 → esm2022}/lib/public/services/model/data-source-paging-config.mjs +0 -0
  194. /package/{esm2020 → esm2022}/lib/public/services/model/data-source-parameter.mjs +0 -0
  195. /package/{esm2020 → esm2022}/lib/public/services/model/data-source-sorting-config.mjs +0 -0
  196. /package/{esm2020 → esm2022}/lib/public/services/model/index.mjs +0 -0
  197. /package/{esm2020 → esm2022}/lib/public/services/model/model-load-options.mjs +0 -0
  198. /package/{esm2020 → esm2022}/lib/public/services/sys-settings/base-sys-settings.service.mjs +0 -0
  199. /package/{esm2020 → esm2022}/lib/public/services/sys-settings/index.mjs +0 -0
  200. /package/{esm2020 → esm2022}/lib/public/types/abstract-type.mjs +0 -0
  201. /package/{esm2020 → esm2022}/lib/public/types/aggregation-eval.type.mjs +0 -0
  202. /package/{esm2020 → esm2022}/lib/public/types/button-color.type.mjs +0 -0
  203. /package/{esm2020 → esm2022}/lib/public/types/date-part.type.mjs +0 -0
  204. /package/{esm2020 → esm2022}/lib/public/types/entity-column-value.mjs +0 -0
  205. /package/{esm2020 → esm2022}/lib/public/types/function.type.mjs +0 -0
  206. /package/{esm2020 → esm2022}/lib/public/types/index.mjs +0 -0
  207. /package/{esm2020 → esm2022}/lib/public/types/json-data.type.mjs +0 -0
  208. /package/{esm2020 → esm2022}/lib/public/types/localizable-string.type.mjs +0 -0
  209. /package/{esm2020 → esm2022}/lib/public/types/localize-fn.type.mjs +0 -0
  210. /package/{esm2020 → esm2022}/lib/public/types/resolve-dependency-fn.type.mjs +0 -0
  211. /package/{esm2020 → esm2022}/lib/public/types/sort-direction.type.mjs +0 -0
  212. /package/{esm2020 → esm2022}/lib/public/types/teardown-logic.type.mjs +0 -0
  213. /package/{esm2020 → esm2022}/lib/public/types/type.mjs +0 -0
@@ -1,34 +0,0 @@
1
- import { classToPlain } from 'class-transformer';
2
- import { ɵFilterType } from '../../enums';
3
- import { ɵBaseFilter } from '../base-filter';
4
- export class ɵFilterMock extends ɵBaseFilter {
5
- /**
6
- * @internal
7
- * @dontChange
8
- */
9
- static get _instanceOfKeys() {
10
- return [...ɵBaseFilter._instanceOfKeys, this._instanceOfKey];
11
- }
12
- constructor(filterType = ɵFilterType.None) {
13
- super(filterType);
14
- }
15
- // eslint-disable-next-line @typescript-eslint/ban-types
16
- get plainObject() {
17
- return classToPlain(this, { exposeUnsetFields: false, excludePrefixes: ['_'] });
18
- }
19
- clone() {
20
- return new ɵFilterMock(this.filterType);
21
- }
22
- /**
23
- * @internal
24
- */
25
- _getUsedColumns() {
26
- return [];
27
- }
28
- }
29
- /**
30
- * @internal
31
- * @dontChange
32
- */
33
- ɵFilterMock._instanceOfKey = 'devkit_FilterMock';
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLm1vY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RldmtpdC9iYXNlL3NyYy9saWIvcHVibGljL2VzcS9kYXRhLW1vZGVsL2ZpbHRlcnMvbW9ja3MvZmlsdGVyLm1vY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRWpELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFMUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE1BQU0sT0FBTyxXQUFZLFNBQVEsV0FBVztJQU8zQzs7O09BR0c7SUFDTyxNQUFNLEtBQUssZUFBZTtRQUNuQyxPQUFPLENBQUMsR0FBRyxXQUFXLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRUQsWUFBWSxhQUEwQixXQUFXLENBQUMsSUFBSTtRQUNyRCxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDbkIsQ0FBQztJQUVELHdEQUF3RDtJQUN4RCxJQUFXLFdBQVc7UUFDckIsT0FBTyxZQUFZLENBQUMsSUFBSSxFQUFFLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNqRixDQUFDO0lBRU0sS0FBSztRQUNYLE9BQU8sSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRDs7T0FFRztJQUNJLGVBQWU7UUFDckIsT0FBTyxFQUFFLENBQUM7SUFDWCxDQUFDOztBQWhDRDs7O0dBR0c7QUFDdUIsMEJBQWMsR0FBVyxtQkFBbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNsYXNzVG9QbGFpbiB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcblxuaW1wb3J0IHsgybVGaWx0ZXJUeXBlIH0gZnJvbSAnLi4vLi4vZW51bXMnO1xuaW1wb3J0IHsgVXNlZENvbHVtbiB9IGZyb20gJy4uLy4uL3VzZWQtY29sdW1uJztcbmltcG9ydCB7IMm1QmFzZUZpbHRlciB9IGZyb20gJy4uL2Jhc2UtZmlsdGVyJztcblxuZXhwb3J0IGNsYXNzIMm1RmlsdGVyTW9jayBleHRlbmRzIMm1QmFzZUZpbHRlciB7XG5cdC8qKlxuXHQgKiBAaW50ZXJuYWxcblx0ICogQGRvbnRDaGFuZ2Vcblx0ICovXG5cdHByb3RlY3RlZCBzdGF0aWMgcmVhZG9ubHkgX2luc3RhbmNlT2ZLZXk6IHN0cmluZyA9ICdkZXZraXRfRmlsdGVyTW9jayc7XG5cblx0LyoqXG5cdCAqIEBpbnRlcm5hbFxuXHQgKiBAZG9udENoYW5nZVxuXHQgKi9cblx0cHJvdGVjdGVkIHN0YXRpYyBnZXQgX2luc3RhbmNlT2ZLZXlzKCk6IHN0cmluZ1tdIHtcblx0XHRyZXR1cm4gWy4uLsm1QmFzZUZpbHRlci5faW5zdGFuY2VPZktleXMsIHRoaXMuX2luc3RhbmNlT2ZLZXldO1xuXHR9XG5cblx0Y29uc3RydWN0b3IoZmlsdGVyVHlwZTogybVGaWx0ZXJUeXBlID0gybVGaWx0ZXJUeXBlLk5vbmUpIHtcblx0XHRzdXBlcihmaWx0ZXJUeXBlKTtcblx0fVxuXG5cdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXR5cGVzXG5cdHB1YmxpYyBnZXQgcGxhaW5PYmplY3QoKTogb2JqZWN0IHtcblx0XHRyZXR1cm4gY2xhc3NUb1BsYWluKHRoaXMsIHsgZXhwb3NlVW5zZXRGaWVsZHM6IGZhbHNlLCBleGNsdWRlUHJlZml4ZXM6IFsnXyddIH0pO1xuXHR9XG5cblx0cHVibGljIGNsb25lKCk6IMm1RmlsdGVyTW9jayB7XG5cdFx0cmV0dXJuIG5ldyDJtUZpbHRlck1vY2sodGhpcy5maWx0ZXJUeXBlKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBAaW50ZXJuYWxcblx0ICovXG5cdHB1YmxpYyBfZ2V0VXNlZENvbHVtbnMoKTogVXNlZENvbHVtbltdIHtcblx0XHRyZXR1cm4gW107XG5cdH1cbn1cbiJdfQ==
@@ -1,39 +0,0 @@
1
- import { ɵBaseFilter } from './base-filter';
2
- /**
3
- * @public
4
- * @description Basic filter class with one condition.
5
- * @extends {ɵBaseFilter}
6
- */
7
- export class ɵSingleFilter extends ɵBaseFilter {
8
- /**
9
- * @internal
10
- * @dontChange
11
- */
12
- static get _instanceOfKeys() {
13
- return [...ɵBaseFilter._instanceOfKeys, this._instanceOfKey];
14
- }
15
- constructor(filterType, comparisonType, leftExpression) {
16
- super(filterType);
17
- this.comparisonType = comparisonType;
18
- this.leftExpression = leftExpression?.clone();
19
- }
20
- /** {@inheritDoc ɵSerializable.toJson} */
21
- toJson() {
22
- return {
23
- ...super.toJson(),
24
- leftExpression: this.serializeItem(this.leftExpression),
25
- };
26
- }
27
- /**
28
- * @internal
29
- */
30
- _getUsedColumns() {
31
- return this.leftExpression._getUsedColumns();
32
- }
33
- }
34
- /**
35
- * @internal
36
- * @dontChange
37
- */
38
- ɵSingleFilter._instanceOfKey = 'devkit_SingleFilter';
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2luZ2xlLWZpbHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGV2a2l0L2Jhc2Uvc3JjL2xpYi9wdWJsaWMvZXNxL2RhdGEtbW9kZWwvZmlsdGVycy9zaW5nbGUtZmlsdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFNNUM7Ozs7R0FJRztBQUNILE1BQU0sT0FBZ0IsYUFBYyxTQUFRLFdBQVc7SUFPdEQ7OztPQUdHO0lBQ08sTUFBTSxLQUFLLGVBQWU7UUFDbkMsT0FBTyxDQUFDLEdBQUcsV0FBVyxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQVlELFlBQXNCLFVBQXVCLEVBQUUsY0FBK0IsRUFBRSxjQUErQjtRQUM5RyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbEIsSUFBSSxDQUFDLGNBQWMsR0FBRyxjQUFjLENBQUM7UUFDckMsSUFBSSxDQUFDLGNBQWMsR0FBRyxjQUFjLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDL0MsQ0FBQztJQUVELHlDQUF5QztJQUNsQyxNQUFNO1FBQ1osT0FBTztZQUNOLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRTtZQUNqQixjQUFjLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDO1NBQ3ZELENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxlQUFlO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUM5QyxDQUFDOztBQTNDRDs7O0dBR0c7QUFDdUIsNEJBQWMsR0FBVyxxQkFBcUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IMm1QmFzZUZpbHRlciB9IGZyb20gJy4vYmFzZS1maWx0ZXInO1xuaW1wb3J0IHsgybVKc29uT2JqZWN0IH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgybVDb21wYXJpc29uVHlwZSwgybVGaWx0ZXJUeXBlIH0gZnJvbSAnLi4vZW51bXMnO1xuaW1wb3J0IHsgybVCYXNlRXhwcmVzc2lvbiB9IGZyb20gJy4uL2V4cHJlc3Npb25zL2Jhc2UtZXhwcmVzc2lvbic7XG5pbXBvcnQgeyBVc2VkQ29sdW1uIH0gZnJvbSAnLi4vdXNlZC1jb2x1bW4nO1xuXG4vKipcbiAqIEBwdWJsaWNcbiAqIEBkZXNjcmlwdGlvbiBCYXNpYyBmaWx0ZXIgY2xhc3Mgd2l0aCBvbmUgY29uZGl0aW9uLlxuICogQGV4dGVuZHMge8m1QmFzZUZpbHRlcn1cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIMm1U2luZ2xlRmlsdGVyIGV4dGVuZHMgybVCYXNlRmlsdGVyIHtcblx0LyoqXG5cdCAqIEBpbnRlcm5hbFxuXHQgKiBAZG9udENoYW5nZVxuXHQgKi9cblx0cHJvdGVjdGVkIHN0YXRpYyByZWFkb25seSBfaW5zdGFuY2VPZktleTogc3RyaW5nID0gJ2RldmtpdF9TaW5nbGVGaWx0ZXInO1xuXG5cdC8qKlxuXHQgKiBAaW50ZXJuYWxcblx0ICogQGRvbnRDaGFuZ2Vcblx0ICovXG5cdHByb3RlY3RlZCBzdGF0aWMgZ2V0IF9pbnN0YW5jZU9mS2V5cygpOiBzdHJpbmdbXSB7XG5cdFx0cmV0dXJuIFsuLi7JtUJhc2VGaWx0ZXIuX2luc3RhbmNlT2ZLZXlzLCB0aGlzLl9pbnN0YW5jZU9mS2V5XTtcblx0fVxuXG5cdC8qKlxuXHQgKiBAZGVzY3JpcHRpb24gVHlwZSBvZiBjb21wYXJpc29uIG9wZXJhdGlvbi5cblx0ICovXG5cdHB1YmxpYyByZWFkb25seSBjb21wYXJpc29uVHlwZTogybVDb21wYXJpc29uVHlwZTtcblxuXHQvKipcblx0ICogQGRlc2NyaXB0aW9uIFRoZSB0ZXN0IGV4cHJlc3Npb24uXG5cdCAqL1xuXHRwdWJsaWMgcmVhZG9ubHkgbGVmdEV4cHJlc3Npb246IMm1QmFzZUV4cHJlc3Npb247XG5cblx0cHJvdGVjdGVkIGNvbnN0cnVjdG9yKGZpbHRlclR5cGU6IMm1RmlsdGVyVHlwZSwgY29tcGFyaXNvblR5cGU6IMm1Q29tcGFyaXNvblR5cGUsIGxlZnRFeHByZXNzaW9uOiDJtUJhc2VFeHByZXNzaW9uKSB7XG5cdFx0c3VwZXIoZmlsdGVyVHlwZSk7XG5cdFx0dGhpcy5jb21wYXJpc29uVHlwZSA9IGNvbXBhcmlzb25UeXBlO1xuXHRcdHRoaXMubGVmdEV4cHJlc3Npb24gPSBsZWZ0RXhwcmVzc2lvbj8uY2xvbmUoKTtcblx0fVxuXG5cdC8qKiB7QGluaGVyaXREb2MgybVTZXJpYWxpemFibGUudG9Kc29ufSAqL1xuXHRwdWJsaWMgdG9Kc29uKCk6IMm1SnNvbk9iamVjdCB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdC4uLnN1cGVyLnRvSnNvbigpLFxuXHRcdFx0bGVmdEV4cHJlc3Npb246IHRoaXMuc2VyaWFsaXplSXRlbSh0aGlzLmxlZnRFeHByZXNzaW9uKSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEBpbnRlcm5hbFxuXHQgKi9cblx0cHVibGljIF9nZXRVc2VkQ29sdW1ucygpOiBVc2VkQ29sdW1uW10ge1xuXHRcdHJldHVybiB0aGlzLmxlZnRFeHByZXNzaW9uLl9nZXRVc2VkQ29sdW1ucygpO1xuXHR9XG59XG4iXX0=
@@ -1,242 +0,0 @@
1
- import { classToPlain } from 'class-transformer';
2
- import { ɵBaseFilterableQuery } from './base-filterable-query';
3
- import { ɵQueryOperationType } from './query-operation-type';
4
- import { ɵItemNotFoundException, ɵValidationUtilities } from '../../../exceptions';
5
- import { ɵAggregationFunctionColumn, ɵAggregationSubQueryColumn, ɵArithmeticQueryColumn, ɵDatePartFunctionColumn, ɵEntityQueryColumn, ɵLengthFunctionColumn, ɵMacrosFunctionColumn, ɵParameterQueryColumn, ɵWindowFunctionColumn, } from '../columns';
6
- import { ɵAggregationEvalType, } from '../enums';
7
- import { ɵAggregationFunctionExpression, ɵColumnExpression } from '../expressions';
8
- /**
9
- * @public
10
- * @description The query class for data fetching.
11
- * @extends {ɵBaseFilterableQuery}
12
- */
13
- export class ɵEntitySchemaQuery extends ɵBaseFilterableQuery {
14
- constructor(rootSchemaName) {
15
- super(ɵQueryOperationType.Select, rootSchemaName);
16
- this._columns = new Map();
17
- /**
18
- * @description Determines if merge duplicates in query result.
19
- */
20
- this.isDistinct = false;
21
- /**
22
- * @description Number of rows to select.
23
- */
24
- this.rowCount = -1;
25
- /**
26
- * @description Rows count to skip.
27
- */
28
- this.rowsOffset = -1;
29
- /**
30
- * @description The parameter that determines whether to use the localized data.
31
- */
32
- this.useLocalization = true;
33
- /**
34
- * @description Represent parameter which determines disabling data in filtering.
35
- */
36
- this.useRecordDeactivation = false;
37
- this._getIsPageable = () => this.rowCount > 0 && this.rowsOffset > -1;
38
- }
39
- _internalAddColumn(key, column) {
40
- if (!this._columns.has(key)) {
41
- this._columns.set(key, column);
42
- }
43
- }
44
- // endregion
45
- // region Methods: Public
46
- /**
47
- * @public
48
- * @description Returns column instance by column alias.
49
- * @param columnAlias Column alias.
50
- * @returns [BaseQueryColumn] Column instance.
51
- */
52
- getColumn(columnAlias) {
53
- if (!this._columns.has(columnAlias)) {
54
- throw new ɵItemNotFoundException(columnAlias);
55
- }
56
- return this.findColumn(columnAlias);
57
- }
58
- /**
59
- * @public
60
- * @description Returns column instance by column alias if not found returns null.
61
- */
62
- findColumn(columnAlias) {
63
- return this._columns.get(columnAlias);
64
- }
65
- /** {@inheritDoc ɵMetadataProvider.getMetadata} */
66
- getMetadata() {
67
- return {
68
- ...super.getMetadata(),
69
- columns: {
70
- items: classToPlain(this._columns, { exposeUnsetFields: false, excludePrefixes: ['_'] }),
71
- },
72
- allColumns: false,
73
- isDistinct: this.isDistinct,
74
- ignoreDisplayValues: false,
75
- rowCount: this.rowCount,
76
- rowsOffset: this.rowsOffset,
77
- adminUnitRoleSources: this.adminUnitRoleSources,
78
- isPageable: this._getIsPageable(),
79
- conditionalValues: this.conditionalValues ? this.conditionalValues : null,
80
- isHierarchical: false,
81
- hierarchicalMaxDepth: 0,
82
- hierarchicalColumnName: null,
83
- hierarchicalColumnValue: null,
84
- useLocalization: this.useLocalization,
85
- useRecordDeactivation: this.useRecordDeactivation,
86
- };
87
- }
88
- /**
89
- * @public
90
- * @description Add column.
91
- * @param column Column path.
92
- * @param columnAlias Column alias.
93
- * @returns [BaseQueryColumn] Column instance.
94
- */
95
- addColumn(column, columnAlias) {
96
- this._internalAddColumn(columnAlias, column);
97
- return column;
98
- }
99
- /**
100
- * @public
101
- * @description Add column by column path.
102
- * @param columnPath Column path.
103
- * @param columnAlias Column alias.
104
- * @returns [EntityQueryColumn] Column instance.
105
- */
106
- addSchemaColumn(columnPath, columnAlias) {
107
- ɵValidationUtilities.checkArgumentEmpty('columnPath', columnPath);
108
- const column = new ɵEntityQueryColumn(columnPath);
109
- this._internalAddColumn(columnAlias || columnPath, column);
110
- return column;
111
- }
112
- /**
113
- * @public
114
- * @description Add aggregation sub query column.
115
- * @param columnPath Column path.
116
- * @param aggregationType Aggregation type.
117
- * @param subFilters Sub query filters.
118
- * @param columnAlias Column alias.
119
- * @returns [AggregationSubQueryColumn] Column instance.
120
- */
121
- addAggregationSubQueryColumn(columnPath, aggregationType, aggregationConfig, columnAlias) {
122
- const column = new ɵAggregationSubQueryColumn(columnPath, aggregationType, aggregationConfig.filter, aggregationConfig.sortByDirection, aggregationConfig.sortByColumn);
123
- this._internalAddColumn(columnAlias || columnPath, column);
124
- return column;
125
- }
126
- /**
127
- * @public
128
- * @description Add parameter column.
129
- * @param value Parameter value.
130
- * @param dataValueType Parameter data value type.
131
- * @param columnAlias Column alias.
132
- * @returns [ParameterQueryColumn] Column instance.
133
- */
134
- addParameterColumn(value, dataValueType, columnAlias) {
135
- const column = new ɵParameterQueryColumn(value, dataValueType);
136
- this._internalAddColumn(columnAlias, column);
137
- return column;
138
- }
139
- /**
140
- * @public
141
- * @description Add arithmetic column.
142
- * @param arithmeticOperation Arithmetic operation.
143
- * @param leftArithmeticOperand Left arithmetic operand expression.
144
- * @param rightArithmeticOperand Right arithmetic operand expression.
145
- * @param columnAlias Column alias.
146
- * @returns [ArithmeticQueryColumn] Column instance.
147
- */
148
- addArithmeticColumn(arithmeticOperation, leftArithmeticOperand, rightArithmeticOperand, columnAlias) {
149
- const column = new ɵArithmeticQueryColumn(arithmeticOperation, leftArithmeticOperand, rightArithmeticOperand);
150
- this._internalAddColumn(columnAlias, column);
151
- return column;
152
- }
153
- /**
154
- * @public
155
- * @description Add macros function column.
156
- * @param queryMacrosType Macros type.
157
- * @param columnAlias Column alias.
158
- * @returns [MacrosFunctionColumn] Column instance.
159
- */
160
- addMacrosFunctionColumn(queryMacrosType, columnAlias) {
161
- const column = new ɵMacrosFunctionColumn(queryMacrosType);
162
- this._internalAddColumn(columnAlias, column);
163
- return column;
164
- }
165
- /**
166
- * @public
167
- * @description Add date part function column.
168
- * @param columnPath Column path.
169
- * @param datePartType Date part type.
170
- * @param columnAlias Column alias.
171
- * @returns [DatePartFunctionColumn] Column instance.
172
- */
173
- addDatePartFunctionColumn(columnPath, datePartType, columnAlias) {
174
- const functionArgument = new ɵColumnExpression({ columnPath });
175
- const column = new ɵDatePartFunctionColumn(datePartType, functionArgument);
176
- this._internalAddColumn(columnAlias, column);
177
- return column;
178
- }
179
- /**
180
- * @public
181
- * @description Add aggregation function column.
182
- * @param columnPath Column path.
183
- * @param aggregationType Aggregation type.
184
- * @param columnAlias Column alias.
185
- * @param aggregationEvalType Aggregation eval type.
186
- * @returns [AggregationFunctionColumn] Column instance.
187
- */
188
- addAggregationFunctionColumn(columnPath, aggregationType, columnAlias, aggregationEvalType = ɵAggregationEvalType.None) {
189
- const functionArgument = new ɵColumnExpression({ columnPath });
190
- const column = new ɵAggregationFunctionColumn(aggregationType, aggregationEvalType, functionArgument);
191
- this._internalAddColumn(columnAlias, column);
192
- return column;
193
- }
194
- /**
195
- * @public
196
- * @description Add length function column.
197
- * @param columnPath Column path.
198
- * @param columnAlias Column alias.
199
- * @returns [LengthFunctionColumn] Column instance.
200
- */
201
- addLengthFunctionColumn(columnPath, columnAlias) {
202
- const functionArgument = new ɵColumnExpression({ columnPath });
203
- const column = new ɵLengthFunctionColumn(functionArgument);
204
- this._internalAddColumn(columnAlias, column);
205
- return column;
206
- }
207
- /**
208
- * @public
209
- * @description Add window function column.
210
- * @param columnPath Column path.
211
- * @param aggregationType Aggregation type.
212
- * @param columnAlias Column alias.
213
- * @param aggregationEvalType Aggregation eval type.
214
- * @returns [WindowFunctionColumn] Column instance.
215
- */
216
- addWindowFunctionColumn(columnPath, aggregationType, columnAlias, aggregationEvalType = ɵAggregationEvalType.None) {
217
- const functionArgument = new ɵAggregationFunctionExpression({
218
- aggregationType,
219
- aggregationEvalType,
220
- functionArgument: new ɵColumnExpression({ columnPath }),
221
- });
222
- const column = new ɵWindowFunctionColumn(functionArgument);
223
- this._internalAddColumn(columnAlias, column);
224
- return column;
225
- }
226
- /**
227
- * @internal
228
- */
229
- _getUsedColumns() {
230
- const usedColumns = [];
231
- this._columns.forEach((column) => {
232
- usedColumns.push(...column._getUsedColumns());
233
- });
234
- usedColumns.forEach((usedColumn) => {
235
- if (!usedColumn.schemaName) {
236
- usedColumn.schemaName = this.rootSchemaName;
237
- }
238
- });
239
- return [...usedColumns, ...super._getUsedColumns()];
240
- }
241
- }
242
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LXNjaGVtYS1xdWVyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGV2a2l0L2Jhc2Uvc3JjL2xpYi9wdWJsaWMvZXNxL2RhdGEtbW9kZWwvcXVlcmllcy9lbnRpdHktc2NoZW1hLXF1ZXJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVqRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUU3RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUduRixPQUFPLEVBQ04sMEJBQTBCLEVBQzFCLDBCQUEwQixFQUMxQixzQkFBc0IsRUFFdEIsdUJBQXVCLEVBQ3ZCLGtCQUFrQixFQUNsQixxQkFBcUIsRUFDckIscUJBQXFCLEVBQ3JCLHFCQUFxQixFQUNyQixxQkFBcUIsR0FDckIsTUFBTSxZQUFZLENBQUM7QUFDcEIsT0FBTyxFQUVOLG9CQUFvQixHQUtwQixNQUFNLFVBQVUsQ0FBQztBQUNsQixPQUFPLEVBQUUsOEJBQThCLEVBQW1CLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUF1QnBHOzs7O0dBSUc7QUFDSCxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsb0JBQW9CO0lBc0MzRCxZQUFZLGNBQXNCO1FBQ2pDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsY0FBYyxDQUFDLENBQUM7UUF0QzNDLGFBQVEsR0FBRyxJQUFJLEdBQUcsRUFBNEIsQ0FBQztRQUV2RDs7V0FFRztRQUNJLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFFMUI7O1dBRUc7UUFDSSxhQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFFckI7O1dBRUc7UUFDSSxl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RUFDakMsV0FBbUIsRUFDbkIsc0JBQTRDLG9CQUFvQixDQUFDLElBQUk7UUFFckUsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLDhCQUE4QixDQUFDO1lBQzNELGVBQWU7WUFDZixtQkFBbUI7WUFDbkIsZ0JBQWdCLEVBQUUsSUFBSSxpQkFBaUIsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDO1NBQ3ZELENBQUMsQ0FBQztRQUNILE1BQU0sTUFBTSxHQUFHLElBQUkscUJBQXFCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUMzRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzdDLE9BQU8sTUFBTSxDQUFDO0lBQ2YsQ0FBQztJQUVEOztPQUVHO0lBQ0ksZUFBZTtRQUNyQixNQUFNLFdBQVcsR0FBaUIsRUFBRSxDQUFDO1FBQ3JDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDaEMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDO1FBQy9DLENBQUMsQ0FBQyxDQUFDO1FBQ0gsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQ2xDLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxFQUFFO2dCQUMzQixVQUFVLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7YUFDNUM7UUFDRixDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sQ0FBQyxHQUFHLFdBQVcsRUFBRSxHQUFHLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDO0lBQ3JELENBQUM7Q0FDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNsYXNzVG9QbGFpbiB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcblxuaW1wb3J0IHsgybVCYXNlRmlsdGVyYWJsZVF1ZXJ5IH0gZnJvbSAnLi9iYXNlLWZpbHRlcmFibGUtcXVlcnknO1xuaW1wb3J0IHsgybVRdWVyeU9wZXJhdGlvblR5cGUgfSBmcm9tICcuL3F1ZXJ5LW9wZXJhdGlvbi10eXBlJztcbmltcG9ydCB7IMm1QWdncmVnYXRpb25UeXBlLCDJtURhdGFWYWx1ZVR5cGUgfSBmcm9tICcuLi8uLi8uLi9lbnVtcyc7XG5pbXBvcnQgeyDJtUl0ZW1Ob3RGb3VuZEV4Y2VwdGlvbiwgybVWYWxpZGF0aW9uVXRpbGl0aWVzIH0gZnJvbSAnLi4vLi4vLi4vZXhjZXB0aW9ucyc7XG5pbXBvcnQgeyDJtURhdGFTb3VyY2VBZ2dyZWdhdGlvbkNvbmZpZyB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL21vZGVsL2RhdGEtc291cmNlLWFnZ3JlZ2F0aW9uLWNvbmZpZyc7XG5pbXBvcnQgeyDJtUVudGl0eUNvbHVtblZhbHVlIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHtcblx0ybVBZ2dyZWdhdGlvbkZ1bmN0aW9uQ29sdW1uLFxuXHTJtUFnZ3JlZ2F0aW9uU3ViUXVlcnlDb2x1bW4sXG5cdMm1QXJpdGhtZXRpY1F1ZXJ5Q29sdW1uLFxuXHTJtUJhc2VRdWVyeUNvbHVtbixcblx0ybVEYXRlUGFydEZ1bmN0aW9uQ29sdW1uLFxuXHTJtUVudGl0eVF1ZXJ5Q29sdW1uLFxuXHTJtUxlbmd0aEZ1bmN0aW9uQ29sdW1uLFxuXHTJtU1hY3Jvc0Z1bmN0aW9uQ29sdW1uLFxuXHTJtVBhcmFtZXRlclF1ZXJ5Q29sdW1uLFxuXHTJtVdpbmRvd0Z1bmN0aW9uQ29sdW1uLFxufSBmcm9tICcuLi9jb2x1bW5zJztcbmltcG9ydCB7XG5cdGVBZG1pblVuaXRSb2xlU291cmNlcyxcblx0ybVBZ2dyZWdhdGlvbkV2YWxUeXBlLFxuXHTJtUFyaXRobWV0aWNPcGVyYXRpb24sXG5cdMm1RGF0ZVBhcnRUeXBlLFxuXHTJtUV4cHJlc3Npb25UeXBlLFxuXHTJtVF1ZXJ5TWFjcm9zVHlwZSxcbn0gZnJvbSAnLi4vZW51bXMnO1xuaW1wb3J0IHsgybVBZ2dyZWdhdGlvbkZ1bmN0aW9uRXhwcmVzc2lvbiwgybVCYXNlRXhwcmVzc2lvbiwgybVDb2x1bW5FeHByZXNzaW9uIH0gZnJvbSAnLi4vZXhwcmVzc2lvbnMnO1xuaW1wb3J0IHsgVXNlZENvbHVtbiB9IGZyb20gJy4uL3VzZWQtY29sdW1uJztcblxuLyoqXG4gKiBAcHVibGljXG4gKiBAZGVzY3JpcHRpb24gSW50ZXJmYWNlIGZvciBjb25kaXRpb24gd2l0aCBleHByZXNzaW9uIGFuZCBwYXJhbWV0ZXIuXG4gKiBAcHJvcGVydHkge8m1RXhwcmVzc2lvblR5cGV9IGV4cHJlc3Npb25UeXBlIC0gVHlwZSBvZiBleHByZXNzaW9uLlxuICogQHByb3BlcnR5IHtSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj19IHBhcmFtZXRlciAtIFBhcmFtZXRlci5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSDJtUNvbmRpdGlvbmFsVmFsdWVJdGVtIHtcblx0LyoqXG5cdCAqIEBkZXNjcmlwdGlvbiBUeXBlIG9mIGV4cHJlc3Npb24uXG5cdCAqL1xuXHRleHByZXNzaW9uVHlwZTogybVFeHByZXNzaW9uVHlwZTtcblx0LyoqXG5cdCAqIEBkZXNjcmlwdGlvbiBQYXJhbWV0ZXIuXG5cdCAqL1xuXHRwYXJhbWV0ZXI6IHtcblx0XHRkYXRhVmFsdWVUeXBlOiDJtURhdGFWYWx1ZVR5cGU7XG5cdFx0dmFsdWU6IHN0cmluZztcblx0fTtcbn1cblxuLyoqXG4gKiBAcHVibGljXG4gKiBAZGVzY3JpcHRpb24gVGhlIHF1ZXJ5IGNsYXNzIGZvciBkYXRhIGZldGNoaW5nLlxuICogQGV4dGVuZHMge8m1QmFzZUZpbHRlcmFibGVRdWVyeX1cbiAqL1xuZXhwb3J0IGNsYXNzIMm1RW50aXR5U2NoZW1hUXVlcnkgZXh0ZW5kcyDJtUJhc2VGaWx0ZXJhYmxlUXVlcnkge1xuXHRwcml2YXRlIF9jb2x1bW5zID0gbmV3IE1hcDxzdHJpbmcsIMm1QmFzZVF1ZXJ5Q29sdW1uPigpO1xuXG5cdC8qKlxuXHQgKiBAZGVzY3JpcHRpb24gRGV0ZXJtaW5lcyBpZiBtZXJnZSBkdXBsaWNhdGVzIGluIHF1ZXJ5IHJlc3VsdC5cblx0ICovXG5cdHB1YmxpYyBpc0Rpc3RpbmN0ID0gZmFsc2U7XG5cblx0LyoqXG5cdCAqIEBkZXNjcmlwdGlvbiBOdW1iZXIgb2Ygcm93cyB0byBzZWxlY3QuXG5cdCAqL1xuXHRwdWJsaWMgcm93Q291bnQgPSAtMTtcblxuXHQvKipcblx0ICogQGRlc2NyaXB0aW9uIFJvd3MgY291bnQgdG8gc2tpcC5cblx0ICovXG5cdHB1YmxpYyByb3dzT2Zmc2V0ID0gLTE7XG5cblx0LyoqXG5cdCAqIEBkZXNjcmlwdGlvbiBRdWVyeSBjb25kaXRpb25hbCB2YWx1ZXNcblx0ICovXG5cdHB1YmxpYyBjb25kaXRpb25hbFZhbHVlcz86IG51bGwgfCB7IGl0ZW1zOiB1bmtub3duIH07XG5cblx0LyoqXG5cdCAqIEBkZXNjcmlwdGlvbiBUaGUgcGFyYW1ldGVyIHRoYXQgZGV0ZXJtaW5lcyB3aGV0aGVyIHRvIHVzZSB0aGUgbG9jYWxpemVkIGRhdGEuXG5cdCAqL1xuXHRwdWJsaWMgdXNlTG9jYWxpemF0aW9uID0gdHJ1ZTtcblxuXHQvKipcblx0ICogQGRlc2NyaXB0aW9uIFJlcHJlc2VudCBwYXJhbWV0ZXIgd2hpY2ggZGV0ZXJtaW5lcyBkaXNhYmxpbmcgZGF0YSBpbiBmaWx0ZXJpbmcuXG5cdCAqL1xuXHRwdWJsaWMgdXNlUmVjb3JkRGVhY3RpdmF0aW9uID0gZmFsc2U7XG5cblx0LyoqXG5cdCAqIEBkZXNjcmlwdGlvbiBCaXQgbWFzayB0aGF0IGluZGljYXRlcyB3aGljaCByb2xlIHNvdXJjZXMgd2lsbCBiZSBjb25zaWRlcmVkIHdoZW4gY2hlY2tpbmcgcmVjb3JkIHJpZ2h0cy5cblx0ICovXG5cdHB1YmxpYyBhZG1pblVuaXRSb2xlU291cmNlcz86IGVBZG1pblVuaXRSb2xlU291cmNlcztcblxuXHRjb25zdHJ1Y3Rvcihyb290U2NoZW1hTmFtZTogc3RyaW5nKSB7XG5cdFx0c3VwZXIoybVRdWVyeU9wZXJhdGlvblR5cGUuU2VsZWN0LCByb290U2NoZW1hTmFtZSk7XG5cdH1cblxuXHRwcml2YXRlIF9pbnRlcm5hbEFkZENvbHVtbihrZXk6IHN0cmluZywgY29sdW1uOiDJtUJhc2VRdWVyeUNvbHVtbik6IHZvaWQge1xuXHRcdGlmICghdGhpcy5fY29sdW1ucy5oYXMoa2V5KSkge1xuXHRcdFx0dGhpcy5fY29sdW1ucy5zZXQoa2V5LCBjb2x1bW4pO1xuXHRcdH1cblx0fVxuXG5cdHByaXZhdGUgX2dldElzUGFnZWFibGUgPSAoKTogYm9vbGVhbiA9PiB0aGlzLnJvd0NvdW50ID4gMCAmJiB0aGlzLnJvd3NPZmZzZXQgPiAtMTtcblxuXHQvLyBlbmRyZWdpb25cblxuXHQvLyByZWdpb24gTWV0aG9kczogUHVibGljXG5cblx0LyoqXG5cdCAqIEBwdWJsaWNcblx0ICogQGRlc2NyaXB0aW9uIFJldHVybnMgY29sdW1uIGluc3RhbmNlIGJ5IGNvbHVtbiBhbGlhcy5cblx0ICogQHBhcmFtIGNvbHVtbkFsaWFzIENvbHVtbiBhbGlhcy5cblx0ICogQHJldHVybnMgW0Jhc2VRdWVyeUNvbHVtbl0gQ29sdW1uIGluc3RhbmNlLlxuXHQgKi9cblx0cHVibGljIGdldENvbHVtbihjb2x1bW5BbGlhczogc3RyaW5nKTogybVCYXNlUXVlcnlDb2x1bW4ge1xuXHRcdGlmICghdGhpcy5fY29sdW1ucy5oYXMoY29sdW1uQWxpYXMpKSB7XG5cdFx0XHR0aHJvdyBuZXcgybVJdGVtTm90Rm91bmRFeGNlcHRpb24oY29sdW1uQWxpYXMpO1xuXHRcdH1cblx0XHRyZXR1cm4gdGhpcy5maW5kQ29sdW1uKGNvbHVtbkFsaWFzKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBAcHVibGljXG5cdCAqIEBkZXNjcmlwdGlvbiBSZXR1cm5zIGNvbHVtbiBpbnN0YW5jZSBieSBjb2x1bW4gYWxpYXMgaWYgbm90IGZvdW5kIHJldHVybnMgbnVsbC5cblx0ICovXG5cdHB1YmxpYyBmaW5kQ29sdW1uKGNvbHVtbkFsaWFzOiBzdHJpbmcpOiDJtUJhc2VRdWVyeUNvbHVtbiB7XG5cdFx0cmV0dXJuIHRoaXMuX2NvbHVtbnMuZ2V0KGNvbHVtbkFsaWFzKSBhcyDJtUJhc2VRdWVyeUNvbHVtbjtcblx0fVxuXG5cdC8qKiB7QGluaGVyaXREb2MgybVNZXRhZGF0YVByb3ZpZGVyLmdldE1ldGFkYXRhfSAqL1xuXHRwdWJsaWMgZ2V0TWV0YWRhdGEoKTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHQuLi5zdXBlci5nZXRNZXRhZGF0YSgpLFxuXHRcdFx0Y29sdW1uczoge1xuXHRcdFx0XHRpdGVtczogY2xhc3NUb1BsYWluKHRoaXMuX2NvbHVtbnMsIHsgZXhwb3NlVW5zZXRGaWVsZHM6IGZhbHNlLCBleGNsdWRlUHJlZml4ZXM6IFsnXyddIH0pLFxuXHRcdFx0fSxcblx0XHRcdGFsbENvbHVtbnM6IGZhbHNlLFxuXHRcdFx0aXNEaXN0aW5jdDogdGhpcy5pc0Rpc3RpbmN0LFxuXHRcdFx0aWdub3JlRGlzcGxheVZhbHVlczogZmFsc2UsXG5cdFx0XHRyb3dDb3VudDogdGhpcy5yb3dDb3VudCxcblx0XHRcdHJvd3NPZmZzZXQ6IHRoaXMucm93c09mZnNldCxcblx0XHRcdGFkbWluVW5pdFJvbGVTb3VyY2VzOiB0aGlzLmFkbWluVW5pdFJvbGVTb3VyY2VzLFxuXHRcdFx0aXNQYWdlYWJsZTogdGhpcy5fZ2V0SXNQYWdlYWJsZSgpLFxuXHRcdFx0Y29uZGl0aW9uYWxWYWx1ZXM6IHRoaXMuY29uZGl0aW9uYWxWYWx1ZXMgPyB0aGlzLmNvbmRpdGlvbmFsVmFsdWVzIDogbnVsbCxcblx0XHRcdGlzSGllcmFyY2hpY2FsOiBmYWxzZSxcblx0XHRcdGhpZXJhcmNoaWNhbE1heERlcHRoOiAwLFxuXHRcdFx0aGllcmFyY2hpY2FsQ29sdW1uTmFtZTogbnVsbCxcblx0XHRcdGhpZXJhcmNoaWNhbENvbHVtblZhbHVlOiBudWxsLFxuXHRcdFx0dXNlTG9jYWxpemF0aW9uOiB0aGlzLnVzZUxvY2FsaXphdGlvbixcblx0XHRcdHVzZVJlY29yZERlYWN0aXZhdGlvbjogdGhpcy51c2VSZWNvcmREZWFjdGl2YXRpb24sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBAcHVibGljXG5cdCAqIEBkZXNjcmlwdGlvbiBBZGQgY29sdW1uLlxuXHQgKiBAcGFyYW0gY29sdW1uIENvbHVtbiBwYXRoLlxuXHQgKiBAcGFyYW0gY29sdW1uQWxpYXMgQ29sdW1uIGFsaWFzLlxuXHQgKiBAcmV0dXJucyBbQmFzZVF1ZXJ5Q29sdW1uXSBDb2x1bW4gaW5zdGFuY2UuXG5cdCAqL1xuXHRwdWJsaWMgYWRkQ29sdW1uKGNvbHVtbjogybVCYXNlUXVlcnlDb2x1bW4sIGNvbHVtbkFsaWFzOiBzdHJpbmcpOiDJtUJhc2VRdWVyeUNvbHVtbiB7XG5cdFx0dGhpcy5faW50ZXJuYWxBZGRDb2x1bW4oY29sdW1uQWxpYXMsIGNvbHVtbik7XG5cdFx0cmV0dXJuIGNvbHVtbjtcblx0fVxuXG5cdC8qKlxuXHQgKiBAcHVibGljXG5cdCAqIEBkZXNjcmlwdGlvbiBBZGQgY29sdW1uIGJ5IGNvbHVtbiBwYXRoLlxuXHQgKiBAcGFyYW0gY29sdW1uUGF0aCBDb2x1bW4gcGF0aC5cblx0ICogQHBhcmFtIGNvbHVtbkFsaWFzIENvbHVtbiBhbGlhcy5cblx0ICogQHJldHVybnMgW0VudGl0eVF1ZXJ5Q29sdW1uXSBDb2x1bW4gaW5zdGFuY2UuXG5cdCAqL1xuXHRwdWJsaWMgYWRkU2NoZW1hQ29sdW1uKGNvbHVtblBhdGg6IHN0cmluZywgY29sdW1uQWxpYXM/OiBzdHJpbmcpOiDJtUVudGl0eVF1ZXJ5Q29sdW1uIHtcblx0XHTJtVZhbGlkYXRpb25VdGlsaXRpZXMuY2hlY2tBcmd1bWVudEVtcHR5KCdjb2x1bW5QYXRoJywgY29sdW1uUGF0aCk7XG5cdFx0Y29uc3QgY29sdW1uID0gbmV3IMm1RW50aXR5UXVlcnlDb2x1bW4oY29sdW1uUGF0aCk7XG5cdFx0dGhpcy5faW50ZXJuYWxBZGRDb2x1bW4oY29sdW1uQWxpYXMgfHwgY29sdW1uUGF0aCwgY29sdW1uKTtcblx0XHRyZXR1cm4gY29sdW1uO1xuXHR9XG5cblx0LyoqXG5cdCAqIEBwdWJsaWNcblx0ICogQGRlc2NyaXB0aW9uIEFkZCBhZ2dyZWdhdGlvbiBzdWIgcXVlcnkgY29sdW1uLlxuXHQgKiBAcGFyYW0gY29sdW1uUGF0aCBDb2x1bW4gcGF0aC5cblx0ICogQHBhcmFtIGFnZ3JlZ2F0aW9uVHlwZSBBZ2dyZWdhdGlvbiB0eXBlLlxuXHQgKiBAcGFyYW0gc3ViRmlsdGVycyBTdWIgcXVlcnkgZmlsdGVycy5cblx0ICogQHBhcmFtIGNvbHVtbkFsaWFzIENvbHVtbiBhbGlhcy5cblx0ICogQHJldHVybnMgW0FnZ3JlZ2F0aW9uU3ViUXVlcnlDb2x1bW5dIENvbHVtbiBpbnN0YW5jZS5cblx0ICovXG5cdHB1YmxpYyBhZGRBZ2dyZWdhdGlvblN1YlF1ZXJ5Q29sdW1uKFxuXHRcdGNvbHVtblBhdGg6IHN0cmluZyxcblx0XHRhZ2dyZWdhdGlvblR5cGU6IMm1QWdncmVnYXRpb25UeXBlLFxuXHRcdGFnZ3JlZ2F0aW9uQ29uZmlnOiDJtURhdGFTb3VyY2VBZ2dyZWdhdGlvbkNvbmZpZyxcblx0XHRjb2x1bW5BbGlhcz86IHN0cmluZyxcblx0KTogybVBZ2dyZWdhdGlvblN1YlF1ZXJ5Q29sdW1uIHtcblx0XHRjb25zdCBjb2x1bW4gPSBuZXcgybVBZ2dyZWdhdGlvblN1YlF1ZXJ5Q29sdW1uKFxuXHRcdFx0Y29sdW1uUGF0aCxcblx0XHRcdGFnZ3JlZ2F0aW9uVHlwZSxcblx0XHRcdGFnZ3JlZ2F0aW9uQ29uZmlnLmZpbHRlcixcblx0XHRcdGFnZ3JlZ2F0aW9uQ29uZmlnLnNvcnRCeURpcmVjdGlvbixcblx0XHRcdGFnZ3JlZ2F0aW9uQ29uZmlnLnNvcnRCeUNvbHVtbixcblx0XHQpO1xuXHRcdHRoaXMuX2ludGVybmFsQWRkQ29sdW1uKGNvbHVtbkFsaWFzIHx8IGNvbHVtblBhdGgsIGNvbHVtbik7XG5cdFx0cmV0dXJuIGNvbHVtbjtcblx0fVxuXG5cdC8qKlxuXHQgKiBAcHVibGljXG5cdCAqIEBkZXNjcmlwdGlvbiBBZGQgcGFyYW1ldGVyIGNvbHVtbi5cblx0ICogQHBhcmFtIHZhbHVlIFBhcmFtZXRlciB2YWx1ZS5cblx0ICogQHBhcmFtIGRhdGFWYWx1ZVR5cGUgUGFyYW1ldGVyIGRhdGEgdmFsdWUgdHlwZS5cblx0ICogQHBhcmFtIGNvbHVtbkFsaWFzIENvbHVtbiBhbGlhcy5cblx0ICogQHJldHVybnMgW1BhcmFtZXRlclF1ZXJ5Q29sdW1uXSBDb2x1bW4gaW5zdGFuY2UuXG5cdCAqL1xuXHRwdWJsaWMgYWRkUGFyYW1ldGVyQ29sdW1uKFxuXHRcdHZhbHVlOiDJtUVudGl0eUNvbHVtblZhbHVlLFxuXHRcdGRhdGFWYWx1ZVR5cGU6IMm1RGF0YVZhbHVlVHlwZSxcblx0XHRjb2x1bW5BbGlhczogc3RyaW5nLFxuXHQpOiDJtVBhcmFtZXRlclF1ZXJ5Q29sdW1uIHtcblx0XHRjb25zdCBjb2x1bW4gPSBuZXcgybVQYXJhbWV0ZXJRdWVyeUNvbHVtbih2YWx1ZSwgZGF0YVZhbHVlVHlwZSk7XG5cdFx0dGhpcy5faW50ZXJuYWxBZGRDb2x1bW4oY29sdW1uQWxpYXMsIGNvbHVtbik7XG5cdFx0cmV0dXJuIGNvbHVtbjtcblx0fVxuXG5cdC8qKlxuXHQgKiBAcHVibGljXG5cdCAqIEBkZXNjcmlwdGlvbiBBZGQgYXJpdGhtZXRpYyBjb2x1bW4uXG5cdCAqIEBwYXJhbSBhcml0aG1ldGljT3BlcmF0aW9uIEFyaXRobWV0aWMgb3BlcmF0aW9uLlxuXHQgKiBAcGFyYW0gbGVmdEFyaXRobWV0aWNPcGVyYW5kIExlZnQgYXJpdGhtZXRpYyBvcGVyYW5kIGV4cHJlc3Npb24uXG5cdCAqIEBwYXJhbSByaWdodEFyaXRobWV0aWNPcGVyYW5kIFJpZ2h0IGFyaXRobWV0aWMgb3BlcmFuZCBleHByZXNzaW9uLlxuXHQgKiBAcGFyYW0gY29sdW1uQWxpYXMgQ29sdW1uIGFsaWFzLlxuXHQgKiBAcmV0dXJucyBbQXJpdGhtZXRpY1F1ZXJ5Q29sdW1uXSBDb2x1bW4gaW5zdGFuY2UuXG5cdCAqL1xuXHRwdWJsaWMgYWRkQXJpdGhtZXRpY0NvbHVtbihcblx0XHRhcml0aG1ldGljT3BlcmF0aW9uOiDJtUFyaXRobWV0aWNPcGVyYXRpb24sXG5cdFx0bGVmdEFyaXRobWV0aWNPcGVyYW5kOiDJtUJhc2VFeHByZXNzaW9uLFxuXHRcdHJpZ2h0QXJpdGhtZXRpY09wZXJhbmQ6IMm1QmFzZUV4cHJlc3Npb24sXG5cdFx0Y29sdW1uQWxpYXM6IHN0cmluZyxcblx0KTogybVBcml0aG1ldGljUXVlcnlDb2x1bW4ge1xuXHRcdGNvbnN0IGNvbHVtbiA9IG5ldyDJtUFyaXRobWV0aWNRdWVyeUNvbHVtbihhcml0aG1ldGljT3BlcmF0aW9uLCBsZWZ0QXJpdGhtZXRpY09wZXJhbmQsIHJpZ2h0QXJpdGhtZXRpY09wZXJhbmQpO1xuXHRcdHRoaXMuX2ludGVybmFsQWRkQ29sdW1uKGNvbHVtbkFsaWFzLCBjb2x1bW4pO1xuXHRcdHJldHVybiBjb2x1bW47XG5cdH1cblxuXHQvKipcblx0ICogQHB1YmxpY1xuXHQgKiBAZGVzY3JpcHRpb24gQWRkIG1hY3JvcyBmdW5jdGlvbiBjb2x1bW4uXG5cdCAqIEBwYXJhbSBxdWVyeU1hY3Jvc1R5cGUgTWFjcm9zIHR5cGUuXG5cdCAqIEBwYXJhbSBjb2x1bW5BbGlhcyBDb2x1bW4gYWxpYXMuXG5cdCAqIEByZXR1cm5zIFtNYWNyb3NGdW5jdGlvbkNvbHVtbl0gQ29sdW1uIGluc3RhbmNlLlxuXHQgKi9cblx0cHVibGljIGFkZE1hY3Jvc0Z1bmN0aW9uQ29sdW1uKHF1ZXJ5TWFjcm9zVHlwZTogybVRdWVyeU1hY3Jvc1R5cGUsIGNvbHVtbkFsaWFzOiBzdHJpbmcpOiDJtU1hY3Jvc0Z1bmN0aW9uQ29sdW1uIHtcblx0XHRjb25zdCBjb2x1bW4gPSBuZXcgybVNYWNyb3NGdW5jdGlvbkNvbHVtbihxdWVyeU1hY3Jvc1R5cGUpO1xuXHRcdHRoaXMuX2ludGVybmFsQWRkQ29sdW1uKGNvbHVtbkFsaWFzLCBjb2x1bW4pO1xuXHRcdHJldHVybiBjb2x1bW47XG5cdH1cblxuXHQvKipcblx0ICogQHB1YmxpY1xuXHQgKiBAZGVzY3JpcHRpb24gQWRkIGRhdGUgcGFydCBmdW5jdGlvbiBjb2x1bW4uXG5cdCAqIEBwYXJhbSBjb2x1bW5QYXRoIENvbHVtbiBwYXRoLlxuXHQgKiBAcGFyYW0gZGF0ZVBhcnRUeXBlIERhdGUgcGFydCB0eXBlLlxuXHQgKiBAcGFyYW0gY29sdW1uQWxpYXMgQ29sdW1uIGFsaWFzLlxuXHQgKiBAcmV0dXJucyBbRGF0ZVBhcnRGdW5jdGlvbkNvbHVtbl0gQ29sdW1uIGluc3RhbmNlLlxuXHQgKi9cblx0cHVibGljIGFkZERhdGVQYXJ0RnVuY3Rpb25Db2x1bW4oXG5cdFx0Y29sdW1uUGF0aDogc3RyaW5nLFxuXHRcdGRhdGVQYXJ0VHlwZTogybVEYXRlUGFydFR5cGUsXG5cdFx0Y29sdW1uQWxpYXM6IHN0cmluZyxcblx0KTogybVEYXRlUGFydEZ1bmN0aW9uQ29sdW1uIHtcblx0XHRjb25zdCBmdW5jdGlvbkFyZ3VtZW50ID0gbmV3IMm1Q29sdW1uRXhwcmVzc2lvbih7IGNvbHVtblBhdGggfSk7XG5cdFx0Y29uc3QgY29sdW1uID0gbmV3IMm1RGF0ZVBhcnRGdW5jdGlvbkNvbHVtbihkYXRlUGFydFR5cGUsIGZ1bmN0aW9uQXJndW1lbnQpO1xuXHRcdHRoaXMuX2ludGVybmFsQWRkQ29sdW1uKGNvbHVtbkFsaWFzLCBjb2x1bW4pO1xuXHRcdHJldHVybiBjb2x1bW47XG5cdH1cblxuXHQvKipcblx0ICogQHB1YmxpY1xuXHQgKiBAZGVzY3JpcHRpb24gQWRkIGFnZ3JlZ2F0aW9uIGZ1bmN0aW9uIGNvbHVtbi5cblx0ICogQHBhcmFtIGNvbHVtblBhdGggQ29sdW1uIHBhdGguXG5cdCAqIEBwYXJhbSBhZ2dyZWdhdGlvblR5cGUgQWdncmVnYXRpb24gdHlwZS5cblx0ICogQHBhcmFtIGNvbHVtbkFsaWFzIENvbHVtbiBhbGlhcy5cblx0ICogQHBhcmFtIGFnZ3JlZ2F0aW9uRXZhbFR5cGUgQWdncmVnYXRpb24gZXZhbCB0eXBlLlxuXHQgKiBAcmV0dXJucyBbQWdncmVnYXRpb25GdW5jdGlvbkNvbHVtbl0gQ29sdW1uIGluc3RhbmNlLlxuXHQgKi9cblx0cHVibGljIGFkZEFnZ3JlZ2F0aW9uRnVuY3Rpb25Db2x1bW4oXG5cdFx0Y29sdW1uUGF0aDogc3RyaW5nLFxuXHRcdGFnZ3JlZ2F0aW9uVHlwZTogybVBZ2dyZWdhdGlvblR5cGUsXG5cdFx0Y29sdW1uQWxpYXM6IHN0cmluZyxcblx0XHRhZ2dyZWdhdGlvbkV2YWxUeXBlOiDJtUFnZ3JlZ2F0aW9uRXZhbFR5cGUgPSDJtUFnZ3JlZ2F0aW9uRXZhbFR5cGUuTm9uZSxcblx0KTogybVBZ2dyZWdhdGlvbkZ1bmN0aW9uQ29sdW1uIHtcblx0XHRjb25zdCBmdW5jdGlvbkFyZ3VtZW50ID0gbmV3IMm1Q29sdW1uRXhwcmVzc2lvbih7IGNvbHVtblBhdGggfSk7XG5cdFx0Y29uc3QgY29sdW1uID0gbmV3IMm1QWdncmVnYXRpb25GdW5jdGlvbkNvbHVtbihhZ2dyZWdhdGlvblR5cGUsIGFnZ3JlZ2F0aW9uRXZhbFR5cGUsIGZ1bmN0aW9uQXJndW1lbnQpO1xuXHRcdHRoaXMuX2ludGVybmFsQWRkQ29sdW1uKGNvbHVtbkFsaWFzLCBjb2x1bW4pO1xuXHRcdHJldHVybiBjb2x1bW47XG5cdH1cblxuXHQvKipcblx0ICogQHB1YmxpY1xuXHQgKiBAZGVzY3JpcHRpb24gQWRkIGxlbmd0aCBmdW5jdGlvbiBjb2x1bW4uXG5cdCAqIEBwYXJhbSBjb2x1bW5QYXRoIENvbHVtbiBwYXRoLlxuXHQgKiBAcGFyYW0gY29sdW1uQWxpYXMgQ29sdW1uIGFsaWFzLlxuXHQgKiBAcmV0dXJucyBbTGVuZ3RoRnVuY3Rpb25Db2x1bW5dIENvbHVtbiBpbnN0YW5jZS5cblx0ICovXG5cdHB1YmxpYyBhZGRMZW5ndGhGdW5jdGlvbkNvbHVtbihjb2x1bW5QYXRoOiBzdHJpbmcsIGNvbHVtbkFsaWFzOiBzdHJpbmcpOiDJtUxlbmd0aEZ1bmN0aW9uQ29sdW1uIHtcblx0XHRjb25zdCBmdW5jdGlvbkFyZ3VtZW50ID0gbmV3IMm1Q29sdW1uRXhwcmVzc2lvbih7IGNvbHVtblBhdGggfSk7XG5cdFx0Y29uc3QgY29sdW1uID0gbmV3IMm1TGVuZ3RoRnVuY3Rpb25Db2x1bW4oZnVuY3Rpb25Bcmd1bWVudCk7XG5cdFx0dGhpcy5faW50ZXJuYWxBZGRDb2x1bW4oY29sdW1uQWxpYXMsIGNvbHVtbik7XG5cdFx0cmV0dXJuIGNvbHVtbjtcblx0fVxuXG5cdC8qKlxuXHQgKiBAcHVibGljXG5cdCAqIEBkZXNjcmlwdGlvbiBBZGQgd2luZG93IGZ1bmN0aW9uIGNvbHVtbi5cblx0ICogQHBhcmFtIGNvbHVtblBhdGggQ29sdW1uIHBhdGguXG5cdCAqIEBwYXJhbSBhZ2dyZWdhdGlvblR5cGUgQWdncmVnYXRpb24gdHlwZS5cblx0ICogQHBhcmFtIGNvbHVtbkFsaWFzIENvbHVtbiBhbGlhcy5cblx0ICogQHBhcmFtIGFnZ3JlZ2F0aW9uRXZhbFR5cGUgQWdncmVnYXRpb24gZXZhbCB0eXBlLlxuXHQgKiBAcmV0dXJucyBbV2luZG93RnVuY3Rpb25Db2x1bW5dIENvbHVtbiBpbnN0YW5jZS5cblx0ICovXG5cdHB1YmxpYyBhZGRXaW5kb3dGdW5jdGlvbkNvbHVtbihcblx0XHRjb2x1bW5QYXRoOiBzdHJpbmcsXG5cdFx0YWdncmVnYXRpb25UeXBlOiDJtUFnZ3JlZ2F0aW9uVHlwZSxcblx0XHRjb2x1bW5BbGlhczogc3RyaW5nLFxuXHRcdGFnZ3JlZ2F0aW9uRXZhbFR5cGU6IMm1QWdncmVnYXRpb25FdmFsVHlwZSA9IMm1QWdncmVnYXRpb25FdmFsVHlwZS5Ob25lLFxuXHQpOiDJtVdpbmRvd0Z1bmN0aW9uQ29sdW1uIHtcblx0XHRjb25zdCBmdW5jdGlvbkFyZ3VtZW50ID0gbmV3IMm1QWdncmVnYXRpb25GdW5jdGlvbkV4cHJlc3Npb24oe1xuXHRcdFx0YWdncmVnYXRpb25UeXBlLFxuXHRcdFx0YWdncmVnYXRpb25FdmFsVHlwZSxcblx0XHRcdGZ1bmN0aW9uQXJndW1lbnQ6IG5ldyDJtUNvbHVtbkV4cHJlc3Npb24oeyBjb2x1bW5QYXRoIH0pLFxuXHRcdH0pO1xuXHRcdGNvbnN0IGNvbHVtbiA9IG5ldyDJtVdpbmRvd0Z1bmN0aW9uQ29sdW1uKGZ1bmN0aW9uQXJndW1lbnQpO1xuXHRcdHRoaXMuX2ludGVybmFsQWRkQ29sdW1uKGNvbHVtbkFsaWFzLCBjb2x1bW4pO1xuXHRcdHJldHVybiBjb2x1bW47XG5cdH1cblxuXHQvKipcblx0ICogQGludGVybmFsXG5cdCAqL1xuXHRwdWJsaWMgX2dldFVzZWRDb2x1bW5zKCk6IFVzZWRDb2x1bW5bXSB7XG5cdFx0Y29uc3QgdXNlZENvbHVtbnM6IFVzZWRDb2x1bW5bXSA9IFtdO1xuXHRcdHRoaXMuX2NvbHVtbnMuZm9yRWFjaCgoY29sdW1uKSA9PiB7XG5cdFx0XHR1c2VkQ29sdW1ucy5wdXNoKC4uLmNvbHVtbi5fZ2V0VXNlZENvbHVtbnMoKSk7XG5cdFx0fSk7XG5cdFx0dXNlZENvbHVtbnMuZm9yRWFjaCgodXNlZENvbHVtbikgPT4ge1xuXHRcdFx0aWYgKCF1c2VkQ29sdW1uLnNjaGVtYU5hbWUpIHtcblx0XHRcdFx0dXNlZENvbHVtbi5zY2hlbWFOYW1lID0gdGhpcy5yb290U2NoZW1hTmFtZTtcblx0XHRcdH1cblx0XHR9KTtcblx0XHRyZXR1cm4gWy4uLnVzZWRDb2x1bW5zLCAuLi5zdXBlci5fZ2V0VXNlZENvbHVtbnMoKV07XG5cdH1cbn1cbiJdfQ==
@@ -1,66 +0,0 @@
1
- import { ɵArgumentEmptyException } from './argument-empty-exception';
2
- import { ɵArgumentOutOfRangeException } from './argument-out-of-range-exception';
3
- /**
4
- * @public
5
- * @description Utilities class with various validation methods.
6
- */
7
- export class ɵValidationUtilities {
8
- // region Methods: Public
9
- /**
10
- * @public
11
- * @description Checks if argument is empty.
12
- * @param argumentName - Argument name.
13
- * @param argumentValue - Value of argument.
14
- */
15
- static checkArgumentEmpty(argumentName, argumentValue) {
16
- if (argumentValue === undefined || argumentValue === null) {
17
- throw new ɵArgumentEmptyException(argumentName);
18
- }
19
- }
20
- /**
21
- * @public
22
- * @description Checks if array is empty.
23
- * @param argumentName - Argument name.
24
- * @param argumentValue - Value of argument.
25
- */
26
- static checkArrayEmpty(argumentName, argumentValue) {
27
- ɵValidationUtilities.checkArgumentEmpty(argumentName, argumentValue);
28
- if (argumentValue.length === 0) {
29
- throw new ɵArgumentEmptyException(argumentName);
30
- }
31
- }
32
- /**
33
- * @public
34
- * @description Checks if string is empty.
35
- * @param argumentName - Argument name.
36
- * @param argumentValue - Value of argument.
37
- */
38
- static checkStringIsNotEmpty(argumentName, argumentValue) {
39
- this.checkArgumentEmpty(argumentName, argumentValue);
40
- if (argumentValue === '') {
41
- throw new ɵArgumentEmptyException(argumentName);
42
- }
43
- return argumentValue;
44
- }
45
- /**
46
- * @public
47
- * @description Checks if argument in range.
48
- * @param argumentName - Argument name.
49
- * @param argumentValue - Value of argument.
50
- * @param range - Range.
51
- */
52
- static checkArgumentOutOfRange(argumentName, argumentValue, range) {
53
- if (range.begin && argumentValue < range.begin) {
54
- throw new ɵArgumentOutOfRangeException(argumentName);
55
- }
56
- if (range.end && argumentValue > range.end) {
57
- throw new ɵArgumentOutOfRangeException(argumentName);
58
- }
59
- }
60
- static checkEnumOutOfRange(argumentName, argumentValue, range) {
61
- if (!range || !Object.values(range).includes(argumentValue)) {
62
- throw new ɵArgumentOutOfRangeException(argumentName);
63
- }
64
- }
65
- }
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi11dGlsaXRpZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RldmtpdC9iYXNlL3NyYy9saWIvcHVibGljL2V4Y2VwdGlvbnMvdmFsaWRhdGlvbi11dGlsaXRpZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDckUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFakY7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLG9CQUFvQjtJQUNoQyx5QkFBeUI7SUFFekI7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsa0JBQWtCLENBQy9CLFlBQW9CLEVBQ3BCLGFBQW1DO1FBRW5DLElBQUksYUFBYSxLQUFLLFNBQVMsSUFBSSxhQUFhLEtBQUssSUFBSSxFQUFFO1lBQzFELE1BQU0sSUFBSSx1QkFBdUIsQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUNoRDtJQUNGLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLE1BQU0sQ0FBQyxlQUFlLENBQUksWUFBb0IsRUFBRSxhQUEyQjtRQUNqRixvQkFBb0IsQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFDckUsSUFBSSxhQUFhLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUMvQixNQUFNLElBQUksdUJBQXVCLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDaEQ7SUFDRixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMscUJBQXFCLENBQUMsWUFBb0IsRUFBRSxhQUFxQjtRQUM5RSxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQ3JELElBQUksYUFBYSxLQUFLLEVBQUUsRUFBRTtZQUN6QixNQUFNLElBQUksdUJBQXVCLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDaEQ7UUFDRCxPQUFPLGFBQWEsQ0FBQztJQUN0QixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksTUFBTSxDQUFDLHVCQUF1QixDQUNwQyxZQUFvQixFQUNwQixhQUFxQixFQUNyQixLQUF1QztRQUV2QyxJQUFJLEtBQUssQ0FBQyxLQUFLLElBQUksYUFBYSxHQUFHLEtBQUssQ0FBQyxLQUFLLEVBQUU7WUFDL0MsTUFBTSxJQUFJLDRCQUE0QixDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQ3JEO1FBQ0QsSUFBSSxLQUFLLENBQUMsR0FBRyxJQUFJLGFBQWEsR0FBRyxLQUFLLENBQUMsR0FBRyxFQUFFO1lBQzNDLE1BQU0sSUFBSSw0QkFBNEIsQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUNyRDtJQUNGLENBQUM7SUFFTSxNQUFNLENBQUMsbUJBQW1CLENBQ2hDLFlBQW9CLEVBQ3BCLGFBQXFCLEVBQ3JCLEtBQXdDO1FBRXhDLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsRUFBRTtZQUM1RCxNQUFNLElBQUksNEJBQTRCLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDckQ7SUFDRixDQUFDO0NBR0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyDJtUFyZ3VtZW50RW1wdHlFeGNlcHRpb24gfSBmcm9tICcuL2FyZ3VtZW50LWVtcHR5LWV4Y2VwdGlvbic7XG5pbXBvcnQgeyDJtUFyZ3VtZW50T3V0T2ZSYW5nZUV4Y2VwdGlvbiB9IGZyb20gJy4vYXJndW1lbnQtb3V0LW9mLXJhbmdlLWV4Y2VwdGlvbic7XG5cbi8qKlxuICogQHB1YmxpY1xuICogQGRlc2NyaXB0aW9uIFV0aWxpdGllcyBjbGFzcyB3aXRoIHZhcmlvdXMgdmFsaWRhdGlvbiBtZXRob2RzLlxuICovXG5leHBvcnQgY2xhc3MgybVWYWxpZGF0aW9uVXRpbGl0aWVzIHtcblx0Ly8gcmVnaW9uIE1ldGhvZHM6IFB1YmxpY1xuXG5cdC8qKlxuXHQgKiBAcHVibGljXG5cdCAqIEBkZXNjcmlwdGlvbiBDaGVja3MgaWYgYXJndW1lbnQgaXMgZW1wdHkuXG5cdCAqIEBwYXJhbSBhcmd1bWVudE5hbWUgLSBBcmd1bWVudCBuYW1lLlxuXHQgKiBAcGFyYW0gYXJndW1lbnRWYWx1ZSAtIFZhbHVlIG9mIGFyZ3VtZW50LlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBjaGVja0FyZ3VtZW50RW1wdHk8VD4oXG5cdFx0YXJndW1lbnROYW1lOiBzdHJpbmcsXG5cdFx0YXJndW1lbnRWYWx1ZTogVCB8IG51bGwgfCB1bmRlZmluZWQsXG5cdCk6IGFzc2VydHMgYXJndW1lbnRWYWx1ZSBpcyBUIHtcblx0XHRpZiAoYXJndW1lbnRWYWx1ZSA9PT0gdW5kZWZpbmVkIHx8IGFyZ3VtZW50VmFsdWUgPT09IG51bGwpIHtcblx0XHRcdHRocm93IG5ldyDJtUFyZ3VtZW50RW1wdHlFeGNlcHRpb24oYXJndW1lbnROYW1lKTtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogQHB1YmxpY1xuXHQgKiBAZGVzY3JpcHRpb24gQ2hlY2tzIGlmIGFycmF5IGlzIGVtcHR5LlxuXHQgKiBAcGFyYW0gYXJndW1lbnROYW1lIC0gQXJndW1lbnQgbmFtZS5cblx0ICogQHBhcmFtIGFyZ3VtZW50VmFsdWUgLSBWYWx1ZSBvZiBhcmd1bWVudC5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgY2hlY2tBcnJheUVtcHR5PFQ+KGFyZ3VtZW50TmFtZTogc3RyaW5nLCBhcmd1bWVudFZhbHVlOiBBcnJheUxpa2U8VD4pOiB2b2lkIHtcblx0XHTJtVZhbGlkYXRpb25VdGlsaXRpZXMuY2hlY2tBcmd1bWVudEVtcHR5KGFyZ3VtZW50TmFtZSwgYXJndW1lbnRWYWx1ZSk7XG5cdFx0aWYgKGFyZ3VtZW50VmFsdWUubGVuZ3RoID09PSAwKSB7XG5cdFx0XHR0aHJvdyBuZXcgybVBcmd1bWVudEVtcHR5RXhjZXB0aW9uKGFyZ3VtZW50TmFtZSk7XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIEBwdWJsaWNcblx0ICogQGRlc2NyaXB0aW9uIENoZWNrcyBpZiBzdHJpbmcgaXMgZW1wdHkuXG5cdCAqIEBwYXJhbSBhcmd1bWVudE5hbWUgLSBBcmd1bWVudCBuYW1lLlxuXHQgKiBAcGFyYW0gYXJndW1lbnRWYWx1ZSAtIFZhbHVlIG9mIGFyZ3VtZW50LlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBjaGVja1N0cmluZ0lzTm90RW1wdHkoYXJndW1lbnROYW1lOiBzdHJpbmcsIGFyZ3VtZW50VmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XG5cdFx0dGhpcy5jaGVja0FyZ3VtZW50RW1wdHkoYXJndW1lbnROYW1lLCBhcmd1bWVudFZhbHVlKTtcblx0XHRpZiAoYXJndW1lbnRWYWx1ZSA9PT0gJycpIHtcblx0XHRcdHRocm93IG5ldyDJtUFyZ3VtZW50RW1wdHlFeGNlcHRpb24oYXJndW1lbnROYW1lKTtcblx0XHR9XG5cdFx0cmV0dXJuIGFyZ3VtZW50VmFsdWU7XG5cdH1cblxuXHQvKipcblx0ICogQHB1YmxpY1xuXHQgKiBAZGVzY3JpcHRpb24gQ2hlY2tzIGlmIGFyZ3VtZW50IGluIHJhbmdlLlxuXHQgKiBAcGFyYW0gYXJndW1lbnROYW1lIC0gQXJndW1lbnQgbmFtZS5cblx0ICogQHBhcmFtIGFyZ3VtZW50VmFsdWUgLSBWYWx1ZSBvZiBhcmd1bWVudC5cblx0ICogQHBhcmFtIHJhbmdlIC0gUmFuZ2UuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGNoZWNrQXJndW1lbnRPdXRPZlJhbmdlKFxuXHRcdGFyZ3VtZW50TmFtZTogc3RyaW5nLFxuXHRcdGFyZ3VtZW50VmFsdWU6IG51bWJlcixcblx0XHRyYW5nZTogeyBiZWdpbj86IG51bWJlcjsgZW5kPzogbnVtYmVyIH0sXG5cdCk6IHZvaWQge1xuXHRcdGlmIChyYW5nZS5iZWdpbiAmJiBhcmd1bWVudFZhbHVlIDwgcmFuZ2UuYmVnaW4pIHtcblx0XHRcdHRocm93IG5ldyDJtUFyZ3VtZW50T3V0T2ZSYW5nZUV4Y2VwdGlvbihhcmd1bWVudE5hbWUpO1xuXHRcdH1cblx0XHRpZiAocmFuZ2UuZW5kICYmIGFyZ3VtZW50VmFsdWUgPiByYW5nZS5lbmQpIHtcblx0XHRcdHRocm93IG5ldyDJtUFyZ3VtZW50T3V0T2ZSYW5nZUV4Y2VwdGlvbihhcmd1bWVudE5hbWUpO1xuXHRcdH1cblx0fVxuXG5cdHB1YmxpYyBzdGF0aWMgY2hlY2tFbnVtT3V0T2ZSYW5nZShcblx0XHRhcmd1bWVudE5hbWU6IHN0cmluZyxcblx0XHRhcmd1bWVudFZhbHVlOiBzdHJpbmcsXG5cdFx0cmFuZ2U6IFJlY29yZDxzdHJpbmcsIHVua25vd24+IHwgdW5rbm93bixcblx0KTogdm9pZCB7XG5cdFx0aWYgKCFyYW5nZSB8fCAhT2JqZWN0LnZhbHVlcyhyYW5nZSkuaW5jbHVkZXMoYXJndW1lbnRWYWx1ZSkpIHtcblx0XHRcdHRocm93IG5ldyDJtUFyZ3VtZW50T3V0T2ZSYW5nZUV4Y2VwdGlvbihhcmd1bWVudE5hbWUpO1xuXHRcdH1cblx0fVxuXG5cdC8vIGVuZHJlZ2lvblxufVxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1jaGFubmVsLWV2ZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kZXZraXQvYmFzZS9zcmMvbGliL3B1YmxpYy9tb2RlbHMvbWVzc2FnZS1jaGFubmVsLWV2ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyDJtUd1aWQgfSBmcm9tICcuLi90eXBlcyc7XG5cbi8qKlxuICogQHB1YmxpY1xuICogQGRlc2NyaXB0aW9uIE1lc3NhZ2UgY2hhbm5lbCBldmVudC5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBzZW5kZXIgLSB0YXJnZXQgc2VuZGVyIG9mIG1lc3NhZ2UuXG4gKiBAcHJvcGVydHkge3N0cmluZ30gYm9keVR5cGVOYW1lIC0gdHlwZSBvZiBib2R5LlxuICogQHByb3BlcnR5IHvJtUd1aWR9IGlkIC0ge0BsaW5rIMm1R3VpZH0gLSBBY3R1YWwgZXZlbnQgaWQuXG4gKiBAcHJvcGVydHkge1R9IGJvZHkgLSBtZXNzYWdlIGJvZHkuXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBpbnRlcmZhY2UgybVNZXNzYWdlQ2hhbm5lbEV2ZW50PFQgPSB1bmtub3duPiB7XG5cdGhlYWRlcjoge1xuXHRcdHNlbmRlcjogc3RyaW5nO1xuXHRcdGJvZHlUeXBlTmFtZTogc3RyaW5nO1xuXHR9O1xuXHRib2R5OiBUO1xuXHRpZDogybVHdWlkO1xufVxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC1yZWdpc3RyYXRpb24tY29uZmlnLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kZXZraXQvYmFzZS9zcmMvbGliL3B1YmxpYy9tb2RlbHMvcmVxdWVzdC9yZXF1ZXN0LXJlZ2lzdHJhdGlvbi1jb25maWcubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IMm1UGxhdGZvcm1BUElzIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJuYWwvZW51bXMnO1xuXG4vKipcbiAqIEBwdWJsaWNcbiAqIEBkZXNjcmlwdGlvbiBDb25maWcgZm9yIHJlZ2lzdGVyIHJlcXVlc3QuXG4gKiBAcHJvcGVydHkge3N0cmluZ30gdHlwZSAtIFRoZSB0eXBlIG9mIHJlcXVlc3QuXG4gKiBAcHJvcGVydHkge3N0cmluZ1tdfSBzY29wZXMgLSBTY29wZXMgb2YgcmVxdWVzdC5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSB0aXRsZSAtIFRpdGxlIG9mIHJlcXVlc3QuXG4gKiBAcHJvcGVydHkge3N0cmluZ30gcHJvcGVydGllc1BhbmVsQ29tcG9uZW50VHlwZU5hbWUgLSBUeXBlIG9mIHByb3BlcnRpZXMgcGFuZWxcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBwb3NpdGlvbiAtIFBvc2l0aW9uIG9mIHRoZSByZXF1ZXN0XG4gKiBAcHJvcGVydHkge8m1UGxhdGZvcm1BUElzfSBjb21wYXRpYmxlQVBJcyAtIENvbXBhdGlibGUgcGxhdGZvcm0gQVBJc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIMm1UmVxdWVzdFJlZ2lzdHJhdGlvbkNvbmZpZyB7XG5cdC8qKlxuXHQgKiBAZGVzY3JpcHRpb24gVGhlIHR5cGUgb2YgcmVxdWVzdC5cblx0ICogQGV4YW1wbGVcblx0ICogJ2NydC5SZXF1ZXN0VHlwZSdcblx0ICovXG5cdHJlYWRvbmx5IHR5cGU6IHN0cmluZztcblxuXHQvKipcblx0ICogQGRlc2NyaXB0aW9uIFNjb3BlcyBvZiByZXF1ZXN0XG5cdCAqL1xuXHRyZWFkb25seSBzY29wZXM/OiBzdHJpbmdbXTtcblxuXHQvKipcblx0ICogQGludGVybmFsXG5cdCAqIEBkZXNjcmlwdGlvbiBUaXRsZSBvZiByZXF1ZXN0LlxuXHQgKi9cblx0cmVhZG9ubHkgdGl0bGU/OiBzdHJpbmc7XG5cblx0LyoqXG5cdCAqIEBpbnRlcm5hbFxuXHQgKiBAZGVzY3JpcHRpb24gVHlwZSBvZiBwcm9wZXJ0aWVzIHBhbmVsLlxuXHQgKi9cblx0cmVhZG9ubHkgcHJvcGVydGllc1BhbmVsQ29tcG9uZW50VHlwZU5hbWU/OiBzdHJpbmc7XG5cblx0LyoqXG5cdCAqIEBpbnRlcm5hbFxuXHQgKiBAZGVzY3JpcHRpb24gUG9zaXRpb24gb2YgdGhlIHJlcXVlc3QuXG5cdCAqL1xuXHRyZWFkb25seSBwb3NpdGlvbj86IG51bWJlcjtcblxuXHQvKipcblx0ICogQGludGVybmFsXG5cdCAqIEBkZXNjcmlwdGlvbiBMaXN0IG9mIGNvbXBhdGlibGUgcGxhdGZvcm0gQVBJcy5cblx0ICovXG5cdHJlYWRvbmx5IGNvbXBhdGlibGVBUElzPzogUmVjb3JkPMm1UGxhdGZvcm1BUElzLCBib29sZWFuPjtcbn1cbiJdfQ==
@@ -1,53 +0,0 @@
1
- /**
2
- * @public
3
- * @description Empty Guid constant.
4
- */
5
- export const ɵEMPTY_GUID = '00000000-0000-0000-0000-000000000000';
6
- /**
7
- * @description Regular expression for Guid validation.
8
- * @public
9
- */
10
- const validator = new RegExp('^[a-z0-9]{8}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{12}$', 'i');
11
- /**
12
- * @description Generates guid part.
13
- * @param length Part length.
14
- * @public
15
- */
16
- function generateGuidPart(length) {
17
- let out = '';
18
- for (let i = 0; i < length; i++) {
19
- // eslint-disable-next-line no-bitwise
20
- out += (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);
21
- }
22
- return out;
23
- }
24
- /**
25
- * @description Generates new Guid.
26
- * @public
27
- */
28
- export function ɵgenerateGuid() {
29
- return [
30
- generateGuidPart(2),
31
- generateGuidPart(1),
32
- generateGuidPart(1),
33
- generateGuidPart(1),
34
- generateGuidPart(3),
35
- ].join('-');
36
- }
37
- /**
38
- * @description Checks if value is Guid.
39
- * @param value Value for check.
40
- * @public
41
- */
42
- export function ɵisGuid(value) {
43
- return Boolean(value) && validator.test(value);
44
- }
45
- /**
46
- * @description Checks if Guid is empty value or equal to EMPTY_GUID.
47
- * @param guid Guid for check.
48
- * @public
49
- */
50
- export function ɵisEmptyGuid(guid) {
51
- return !guid || guid === ɵEMPTY_GUID;
52
- }
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VpZC50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kZXZraXQvYmFzZS9zcmMvbGliL3B1YmxpYy90eXBlcy9ndWlkLnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUE7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLHNDQUFzQyxDQUFDO0FBRWxFOzs7R0FHRztBQUNILE1BQU0sU0FBUyxHQUFHLElBQUksTUFBTSxDQUFDLGdFQUFnRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBRXBHOzs7O0dBSUc7QUFDSCxTQUFTLGdCQUFnQixDQUFDLE1BQWM7SUFDdkMsSUFBSSxHQUFHLEdBQUcsRUFBRSxDQUFDO0lBQ2IsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUNoQyxzQ0FBc0M7UUFDdEMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQ3ZFO0lBQ0QsT0FBTyxHQUFHLENBQUM7QUFDWixDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLGFBQWE7SUFDNUIsT0FBTztRQUNOLGdCQUFnQixDQUFDLENBQUMsQ0FBQztRQUNuQixnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7UUFDbkIsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO1FBQ25CLGdCQUFnQixDQUFDLENBQUMsQ0FBQztRQUNuQixnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7S0FDbkIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDYixDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxPQUFPLENBQUMsS0FBYztJQUNyQyxPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQWUsQ0FBQyxDQUFDO0FBQzFELENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLFlBQVksQ0FBQyxJQUF1QjtJQUNuRCxPQUFPLENBQUMsSUFBSSxJQUFJLElBQUksS0FBSyxXQUFXLENBQUM7QUFDdEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGRlc2NyaXB0aW9uIFR5cGUgZm9yIEd1aWQgdmFsdWUuXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCB0eXBlIMm1R3VpZCA9IHN0cmluZztcblxuLyoqXG4gKiBAcHVibGljXG4gKiBAZGVzY3JpcHRpb24gRW1wdHkgR3VpZCBjb25zdGFudC5cbiAqL1xuZXhwb3J0IGNvbnN0IMm1RU1QVFlfR1VJRCA9ICcwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDAnO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBSZWd1bGFyIGV4cHJlc3Npb24gZm9yIEd1aWQgdmFsaWRhdGlvbi5cbiAqIEBwdWJsaWNcbiAqL1xuY29uc3QgdmFsaWRhdG9yID0gbmV3IFJlZ0V4cCgnXlthLXowLTldezh9LVthLXowLTldezR9LVthLXowLTldezR9LVthLXowLTldezR9LVthLXowLTldezEyfSQnLCAnaScpO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBHZW5lcmF0ZXMgZ3VpZCBwYXJ0LlxuICogQHBhcmFtIGxlbmd0aCBQYXJ0IGxlbmd0aC5cbiAqIEBwdWJsaWNcbiAqL1xuZnVuY3Rpb24gZ2VuZXJhdGVHdWlkUGFydChsZW5ndGg6IG51bWJlcik6IHN0cmluZyB7XG5cdGxldCBvdXQgPSAnJztcblx0Zm9yIChsZXQgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykge1xuXHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1iaXR3aXNlXG5cdFx0b3V0ICs9ICgoKDEgKyBNYXRoLnJhbmRvbSgpKSAqIDB4MTAwMDApIHwgMCkudG9TdHJpbmcoMTYpLnN1YnN0cmluZygxKTtcblx0fVxuXHRyZXR1cm4gb3V0O1xufVxuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBHZW5lcmF0ZXMgbmV3IEd1aWQuXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiDJtWdlbmVyYXRlR3VpZCgpOiDJtUd1aWQge1xuXHRyZXR1cm4gW1xuXHRcdGdlbmVyYXRlR3VpZFBhcnQoMiksXG5cdFx0Z2VuZXJhdGVHdWlkUGFydCgxKSxcblx0XHRnZW5lcmF0ZUd1aWRQYXJ0KDEpLFxuXHRcdGdlbmVyYXRlR3VpZFBhcnQoMSksXG5cdFx0Z2VuZXJhdGVHdWlkUGFydCgzKSxcblx0XS5qb2luKCctJyk7XG59XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIENoZWNrcyBpZiB2YWx1ZSBpcyBHdWlkLlxuICogQHBhcmFtIHZhbHVlIFZhbHVlIGZvciBjaGVjay5cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIMm1aXNHdWlkKHZhbHVlOiB1bmtub3duKTogYm9vbGVhbiB7XG5cdHJldHVybiBCb29sZWFuKHZhbHVlKSAmJiB2YWxpZGF0b3IudGVzdCh2YWx1ZSBhcyBzdHJpbmcpO1xufVxuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBDaGVja3MgaWYgR3VpZCBpcyBlbXB0eSB2YWx1ZSBvciBlcXVhbCB0byBFTVBUWV9HVUlELlxuICogQHBhcmFtIGd1aWQgR3VpZCBmb3IgY2hlY2suXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiDJtWlzRW1wdHlHdWlkKGd1aWQ6IMm1R3VpZCB8IHVuZGVmaW5lZCk6IGJvb2xlYW4ge1xuXHRyZXR1cm4gIWd1aWQgfHwgZ3VpZCA9PT0gybVFTVBUWV9HVUlEO1xufVxuIl19