@creatio/base 0.815.0 → 0.820.1

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
@@ -0,0 +1,242 @@
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LXNjaGVtYS1xdWVyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGV2a2l0L2Jhc2Uvc3JjL2xpYi9wdWJsaWMvZXNxL2RhdGEtbW9kZWwvcXVlcmllcy9lbnRpdHktc2NoZW1hLXF1ZXJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVqRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUU3RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUduRixPQUFPLEVBQ04sMEJBQTBCLEVBQzFCLDBCQUEwQixFQUMxQixzQkFBc0IsRUFFdEIsdUJBQXVCLEVBQ3ZCLGtCQUFrQixFQUNsQixxQkFBcUIsRUFDckIscUJBQXFCLEVBQ3JCLHFCQUFxQixFQUNyQixxQkFBcUIsR0FDckIsTUFBTSxZQUFZLENBQUM7QUFDcEIsT0FBTyxFQUVOLG9CQUFvQixHQUtwQixNQUFNLFVBQVUsQ0FBQztBQUNsQixPQUFPLEVBQUUsOEJBQThCLEVBQW1CLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUF1QnBHOzs7O0dBSUc7QUFDSCxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsb0JBQW9CO0lBc0MzRCxZQUFZLGNBQXNCO1FBQ2pDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsY0FBYyxDQUFDLENBQUM7UUF0QzNDLGFBQVEsR0FBRyxJQUFJLEdBQUcsRUFBNEIsQ0FBQztRQUV2RDs7V0FFRztRQUNJLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFFMUI7O1dBRUc7UUFDSSxhQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFFckI7O1dBRUc7UUFDSSxlQUFVLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFPdkI7O1dBRUc7UUFDSSxvQkFBZSxHQUFHLElBQUksQ0FBQztRQUU5Qjs7V0FFRztRQUNJLDBCQUFxQixHQUFHLEtBQUssQ0FBQztRQWlCN0IsbUJBQWMsR0FBRyxHQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBUmxGLENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxHQUFXLEVBQUUsTUFBd0I7UUFDL0QsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ2hDLENBQUM7SUFDRixDQUFDO0lBSUQsWUFBWTtJQUVaLHlCQUF5QjtJQUV6Qjs7Ozs7T0FLRztJQUNJLFNBQVMsQ0FBQyxXQUFtQjtRQUNuQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztZQUNyQyxNQUFNLElBQUksc0JBQXNCLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDL0MsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksVUFBVSxDQUFDLFdBQW1CO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFxQixDQUFDO0lBQzNELENBQUM7SUFFRCxrREFBa0Q7SUFDM0MsV0FBVztRQUNqQixPQUFPO1lBQ04sR0FBRyxLQUFLLENBQUMsV0FBVyxFQUFFO1lBQ3RCLE9BQU8sRUFBRTtnQkFDUixLQUFLLEVBQUUsWUFBWSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxpQkFBaUIsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQzthQUN4RjtZQUNELFVBQVUsRUFBRSxLQUFLO1lBQ2pCLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtZQUMzQixtQkFBbUIsRUFBRSxLQUFLO1lBQzFCLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN2QixVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDM0Isb0JBQW9CLEVBQUUsSUFBSSxDQUFDLG9CQUFvQjtZQUMvQyxVQUFVLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUNqQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsSUFBSTtZQUN6RSxjQUFjLEVBQUUsS0FBSztZQUNyQixvQkFBb0IsRUFBRSxDQUFDO1lBQ3ZCLHNCQUFzQixFQUFFLElBQUk7WUFDNUIsdUJBQXVCLEVBQUUsSUFBSTtZQUM3QixlQUFlLEVBQUUsSUFBSSxDQUFDLGVBQWU7WUFDckMscUJBQXFCLEVBQUUsSUFBSSxDQUFDLHFCQUFxQjtTQUNqRCxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLFNBQVMsQ0FBQyxNQUF3QixFQUFFLFdBQW1CO1FBQzdELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDN0MsT0FBTyxNQUFNLENBQUM7SUFDZixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksZUFBZSxDQUFDLFVBQWtCLEVBQUUsV0FBb0I7UUFDOUQsb0JBQW9CLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ2xFLE1BQU0sTUFBTSxHQUFHLElBQUksa0JBQWtCLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbEQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsSUFBSSxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDM0QsT0FBTyxNQUFNLENBQUM7SUFDZixDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSSw0QkFBNEIsQ0FDbEMsVUFBa0IsRUFDbEIsZUFBaUMsRUFDakMsaUJBQStDLEVBQy9DLFdBQW9CO1FBRXBCLE1BQU0sTUFBTSxHQUFHLElBQUksMEJBQTBCLENBQzVDLFVBQVUsRUFDVixlQUFlLEVBQ2YsaUJBQWlCLENBQUMsTUFBTSxFQUN4QixpQkFBaUIsQ0FBQyxlQUFlLEVBQ2pDLGlCQUFpQixDQUFDLFlBQVksQ0FDOUIsQ0FBQztRQUNGLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLElBQUksVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzNELE9BQU8sTUFBTSxDQUFDO0lBQ2YsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSSxrQkFBa0IsQ0FDeEIsS0FBeUIsRUFDekIsYUFBNkIsRUFDN0IsV0FBbUI7UUFFbkIsTUFBTSxNQUFNLEdBQUcsSUFBSSxxQkFBcUIsQ0FBQyxLQUFLLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFDL0QsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUM3QyxPQUFPLE1BQU0sQ0FBQztJQUNmLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNJLG1CQUFtQixDQUN6QixtQkFBeUMsRUFDekMscUJBQXNDLEVBQ3RDLHNCQUF1QyxFQUN2QyxXQUFtQjtRQUVuQixNQUFNLE1BQU0sR0FBRyxJQUFJLHNCQUFzQixDQUFDLG1CQUFtQixFQUFFLHFCQUFxQixFQUFFLHNCQUFzQixDQUFDLENBQUM7UUFDOUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUM3QyxPQUFPLE1BQU0sQ0FBQztJQUNmLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSx1QkFBdUIsQ0FBQyxlQUFpQyxFQUFFLFdBQW1CO1FBQ3BGLE1BQU0sTUFBTSxHQUFHLElBQUkscUJBQXFCLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDMUQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUM3QyxPQUFPLE1BQU0sQ0FBQztJQUNmLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0kseUJBQXlCLENBQy9CLFVBQWtCLEVBQ2xCLFlBQTJCLEVBQzNCLFdBQW1CO1FBRW5CLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxpQkFBaUIsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFDL0QsTUFBTSxNQUFNLEdBQUcsSUFBSSx1QkFBdUIsQ0FBQyxZQUFZLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUMzRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzdDLE9BQU8sTUFBTSxDQUFDO0lBQ2YsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0ksNEJBQTRCLENBQ2xDLFVBQWtCLEVBQ2xCLGVBQWlDLEVBQ2pDLFdBQW1CLEVBQ25CLHNCQUE0QyxvQkFBb0IsQ0FBQyxJQUFJO1FBRXJFLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxpQkFBaUIsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFDL0QsTUFBTSxNQUFNLEdBQUcsSUFBSSwwQkFBMEIsQ0FBQyxlQUFlLEVBQUUsbUJBQW1CLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUN0RyxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzdDLE9BQU8sTUFBTSxDQUFDO0lBQ2YsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLHVCQUF1QixDQUFDLFVBQWtCLEVBQUUsV0FBbUI7UUFDckUsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLGlCQUFpQixDQUFDLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUMvRCxNQUFNLE1BQU0sR0FBRyxJQUFJLHFCQUFxQixDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDM0QsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUM3QyxPQUFPLE1BQU0sQ0FBQztJQUNmLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNJLHVCQUF1QixDQUM3QixVQUFrQixFQUNsQixlQUFpQyxFQUNqQyxXQUFtQixFQUNuQixzQkFBNEMsb0JBQW9CLENBQUMsSUFBSTtRQUVyRSxNQUFNLGdCQUFnQixHQUFHLElBQUksOEJBQThCLENBQUM7WUFDM0QsZUFBZTtZQUNmLG1CQUFtQjtZQUNuQixnQkFBZ0IsRUFBRSxJQUFJLGlCQUFpQixDQUFDLEVBQUUsVUFBVSxFQUFFLENBQUM7U0FDdkQsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxNQUFNLEdBQUcsSUFBSSxxQkFBcUIsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzNELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDN0MsT0FBTyxNQUFNLENBQUM7SUFDZixDQUFDO0lBRUQ7O09BRUc7SUFDSSxlQUFlO1FBQ3JCLE1BQU0sV0FBVyxHQUFpQixFQUFFLENBQUM7UUFDckMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNoQyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsTUFBTSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUM7UUFDL0MsQ0FBQyxDQUFDLENBQUM7UUFDSCxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDbEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDNUIsVUFBVSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1lBQzdDLENBQUM7UUFDRixDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sQ0FBQyxHQUFHLFdBQVcsRUFBRSxHQUFHLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDO0lBQ3JELENBQUM7Q0FDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNsYXNzVG9QbGFpbiB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcblxuaW1wb3J0IHsgybVCYXNlRmlsdGVyYWJsZVF1ZXJ5IH0gZnJvbSAnLi9iYXNlLWZpbHRlcmFibGUtcXVlcnknO1xuaW1wb3J0IHsgybVRdWVyeU9wZXJhdGlvblR5cGUgfSBmcm9tICcuL3F1ZXJ5LW9wZXJhdGlvbi10eXBlJztcbmltcG9ydCB7IMm1QWdncmVnYXRpb25UeXBlLCDJtURhdGFWYWx1ZVR5cGUgfSBmcm9tICcuLi8uLi8uLi9lbnVtcyc7XG5pbXBvcnQgeyDJtUl0ZW1Ob3RGb3VuZEV4Y2VwdGlvbiwgybVWYWxpZGF0aW9uVXRpbGl0aWVzIH0gZnJvbSAnLi4vLi4vLi4vZXhjZXB0aW9ucyc7XG5pbXBvcnQgeyDJtURhdGFTb3VyY2VBZ2dyZWdhdGlvbkNvbmZpZyB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL21vZGVsL2RhdGEtc291cmNlLWFnZ3JlZ2F0aW9uLWNvbmZpZyc7XG5pbXBvcnQgeyDJtUVudGl0eUNvbHVtblZhbHVlIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHtcblx0ybVBZ2dyZWdhdGlvbkZ1bmN0aW9uQ29sdW1uLFxuXHTJtUFnZ3JlZ2F0aW9uU3ViUXVlcnlDb2x1bW4sXG5cdMm1QXJpdGhtZXRpY1F1ZXJ5Q29sdW1uLFxuXHTJtUJhc2VRdWVyeUNvbHVtbixcblx0ybVEYXRlUGFydEZ1bmN0aW9uQ29sdW1uLFxuXHTJtUVudGl0eVF1ZXJ5Q29sdW1uLFxuXHTJtUxlbmd0aEZ1bmN0aW9uQ29sdW1uLFxuXHTJtU1hY3Jvc0Z1bmN0aW9uQ29sdW1uLFxuXHTJtVBhcmFtZXRlclF1ZXJ5Q29sdW1uLFxuXHTJtVdpbmRvd0Z1bmN0aW9uQ29sdW1uLFxufSBmcm9tICcuLi9jb2x1bW5zJztcbmltcG9ydCB7XG5cdGVBZG1pblVuaXRSb2xlU291cmNlcyxcblx0ybVBZ2dyZWdhdGlvbkV2YWxUeXBlLFxuXHTJtUFyaXRobWV0aWNPcGVyYXRpb24sXG5cdMm1RGF0ZVBhcnRUeXBlLFxuXHTJtUV4cHJlc3Npb25UeXBlLFxuXHTJtVF1ZXJ5TWFjcm9zVHlwZSxcbn0gZnJvbSAnLi4vZW51bXMnO1xuaW1wb3J0IHsgybVBZ2dyZWdhdGlvbkZ1bmN0aW9uRXhwcmVzc2lvbiwgybVCYXNlRXhwcmVzc2lvbiwgybVDb2x1bW5FeHByZXNzaW9uIH0gZnJvbSAnLi4vZXhwcmVzc2lvbnMnO1xuaW1wb3J0IHsgVXNlZENvbHVtbiB9IGZyb20gJy4uL3VzZWQtY29sdW1uJztcblxuLyoqXG4gKiBAcHVibGljXG4gKiBAZGVzY3JpcHRpb24gSW50ZXJmYWNlIGZvciBjb25kaXRpb24gd2l0aCBleHByZXNzaW9uIGFuZCBwYXJhbWV0ZXIuXG4gKiBAcHJvcGVydHkge8m1RXhwcmVzc2lvblR5cGV9IGV4cHJlc3Npb25UeXBlIC0gVHlwZSBvZiBleHByZXNzaW9uLlxuICogQHByb3BlcnR5IHtSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj19IHBhcmFtZXRlciAtIFBhcmFtZXRlci5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSDJtUNvbmRpdGlvbmFsVmFsdWVJdGVtIHtcblx0LyoqXG5cdCAqIEBkZXNjcmlwdGlvbiBUeXBlIG9mIGV4cHJlc3Npb24uXG5cdCAqL1xuXHRleHByZXNzaW9uVHlwZTogybVFeHByZXNzaW9uVHlwZTtcblx0LyoqXG5cdCAqIEBkZXNjcmlwdGlvbiBQYXJhbWV0ZXIuXG5cdCAqL1xuXHRwYXJhbWV0ZXI6IHtcblx0XHRkYXRhVmFsdWVUeXBlOiDJtURhdGFWYWx1ZVR5cGU7XG5cdFx0dmFsdWU6IHN0cmluZztcblx0fTtcbn1cblxuLyoqXG4gKiBAcHVibGljXG4gKiBAZGVzY3JpcHRpb24gVGhlIHF1ZXJ5IGNsYXNzIGZvciBkYXRhIGZldGNoaW5nLlxuICogQGV4dGVuZHMge8m1QmFzZUZpbHRlcmFibGVRdWVyeX1cbiAqL1xuZXhwb3J0IGNsYXNzIMm1RW50aXR5U2NoZW1hUXVlcnkgZXh0ZW5kcyDJtUJhc2VGaWx0ZXJhYmxlUXVlcnkge1xuXHRwcml2YXRlIF9jb2x1bW5zID0gbmV3IE1hcDxzdHJpbmcsIMm1QmFzZVF1ZXJ5Q29sdW1uPigpO1xuXG5cdC8qKlxuXHQgKiBAZGVzY3JpcHRpb24gRGV0ZXJtaW5lcyBpZiBtZXJnZSBkdXBsaWNhdGVzIGluIHF1ZXJ5IHJlc3VsdC5cblx0ICovXG5cdHB1YmxpYyBpc0Rpc3RpbmN0ID0gZmFsc2U7XG5cblx0LyoqXG5cdCAqIEBkZXNjcmlwdGlvbiBOdW1iZXIgb2Ygcm93cyB0byBzZWxlY3QuXG5cdCAqL1xuXHRwdWJsaWMgcm93Q291bnQgPSAtMTtcblxuXHQvKipcblx0ICogQGRlc2NyaXB0aW9uIFJvd3MgY291bnQgdG8gc2tpcC5cblx0ICovXG5cdHB1YmxpYyByb3dzT2Zmc2V0ID0gLTE7XG5cblx0LyoqXG5cdCAqIEBkZXNjcmlwdGlvbiBRdWVyeSBjb25kaXRpb25hbCB2YWx1ZXNcblx0ICovXG5cdHB1YmxpYyBjb25kaXRpb25hbFZhbHVlcz86IG51bGwgfCB7IGl0ZW1zOiB1bmtub3duIH07XG5cblx0LyoqXG5cdCAqIEBkZXNjcmlwdGlvbiBUaGUgcGFyYW1ldGVyIHRoYXQgZGV0ZXJtaW5lcyB3aGV0aGVyIHRvIHVzZSB0aGUgbG9jYWxpemVkIGRhdGEuXG5cdCAqL1xuXHRwdWJsaWMgdXNlTG9jYWxpemF0aW9uID0gdHJ1ZTtcblxuXHQvKipcblx0ICogQGRlc2NyaXB0aW9uIFJlcHJlc2VudCBwYXJhbWV0ZXIgd2hpY2ggZGV0ZXJtaW5lcyBkaXNhYmxpbmcgZGF0YSBpbiBmaWx0ZXJpbmcuXG5cdCAqL1xuXHRwdWJsaWMgdXNlUmVjb3JkRGVhY3RpdmF0aW9uID0gZmFsc2U7XG5cblx0LyoqXG5cdCAqIEBkZXNjcmlwdGlvbiBCaXQgbWFzayB0aGF0IGluZGljYXRlcyB3aGljaCByb2xlIHNvdXJjZXMgd2lsbCBiZSBjb25zaWRlcmVkIHdoZW4gY2hlY2tpbmcgcmVjb3JkIHJpZ2h0cy5cblx0ICovXG5cdHB1YmxpYyBhZG1pblVuaXRSb2xlU291cmNlcz86IGVBZG1pblVuaXRSb2xlU291cmNlcztcblxuXHRjb25zdHJ1Y3Rvcihyb290U2NoZW1hTmFtZTogc3RyaW5nKSB7XG5cdFx0c3VwZXIoybVRdWVyeU9wZXJhdGlvblR5cGUuU2VsZWN0LCByb290U2NoZW1hTmFtZSk7XG5cdH1cblxuXHRwcml2YXRlIF9pbnRlcm5hbEFkZENvbHVtbihrZXk6IHN0cmluZywgY29sdW1uOiDJtUJhc2VRdWVyeUNvbHVtbik6IHZvaWQge1xuXHRcdGlmICghdGhpcy5fY29sdW1ucy5oYXMoa2V5KSkge1xuXHRcdFx0dGhpcy5fY29sdW1ucy5zZXQoa2V5LCBjb2x1bW4pO1xuXHRcdH1cblx0fVxuXG5cdHByaXZhdGUgX2dldElzUGFnZWFibGUgPSAoKTogYm9vbGVhbiA9PiB0aGlzLnJvd0NvdW50ID4gMCAmJiB0aGlzLnJvd3NPZmZzZXQgPiAtMTtcblxuXHQvLyBlbmRyZWdpb25cblxuXHQvLyByZWdpb24gTWV0aG9kczogUHVibGljXG5cblx0LyoqXG5cdCAqIEBwdWJsaWNcblx0ICogQGRlc2NyaXB0aW9uIFJldHVybnMgY29sdW1uIGluc3RhbmNlIGJ5IGNvbHVtbiBhbGlhcy5cblx0ICogQHBhcmFtIGNvbHVtbkFsaWFzIENvbHVtbiBhbGlhcy5cblx0ICogQHJldHVybnMgW0Jhc2VRdWVyeUNvbHVtbl0gQ29sdW1uIGluc3RhbmNlLlxuXHQgKi9cblx0cHVibGljIGdldENvbHVtbihjb2x1bW5BbGlhczogc3RyaW5nKTogybVCYXNlUXVlcnlDb2x1bW4ge1xuXHRcdGlmICghdGhpcy5fY29sdW1ucy5oYXMoY29sdW1uQWxpYXMpKSB7XG5cdFx0XHR0aHJvdyBuZXcgybVJdGVtTm90Rm91bmRFeGNlcHRpb24oY29sdW1uQWxpYXMpO1xuXHRcdH1cblx0XHRyZXR1cm4gdGhpcy5maW5kQ29sdW1uKGNvbHVtbkFsaWFzKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBAcHVibGljXG5cdCAqIEBkZXNjcmlwdGlvbiBSZXR1cm5zIGNvbHVtbiBpbnN0YW5jZSBieSBjb2x1bW4gYWxpYXMgaWYgbm90IGZvdW5kIHJldHVybnMgbnVsbC5cblx0ICovXG5cdHB1YmxpYyBmaW5kQ29sdW1uKGNvbHVtbkFsaWFzOiBzdHJpbmcpOiDJtUJhc2VRdWVyeUNvbHVtbiB7XG5cdFx0cmV0dXJuIHRoaXMuX2NvbHVtbnMuZ2V0KGNvbHVtbkFsaWFzKSBhcyDJtUJhc2VRdWVyeUNvbHVtbjtcblx0fVxuXG5cdC8qKiB7QGluaGVyaXREb2MgybVNZXRhZGF0YVByb3ZpZGVyLmdldE1ldGFkYXRhfSAqL1xuXHRwdWJsaWMgZ2V0TWV0YWRhdGEoKTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHQuLi5zdXBlci5nZXRNZXRhZGF0YSgpLFxuXHRcdFx0Y29sdW1uczoge1xuXHRcdFx0XHRpdGVtczogY2xhc3NUb1BsYWluKHRoaXMuX2NvbHVtbnMsIHsgZXhwb3NlVW5zZXRGaWVsZHM6IGZhbHNlLCBleGNsdWRlUHJlZml4ZXM6IFsnXyddIH0pLFxuXHRcdFx0fSxcblx0XHRcdGFsbENvbHVtbnM6IGZhbHNlLFxuXHRcdFx0aXNEaXN0aW5jdDogdGhpcy5pc0Rpc3RpbmN0LFxuXHRcdFx0aWdub3JlRGlzcGxheVZhbHVlczogZmFsc2UsXG5cdFx0XHRyb3dDb3VudDogdGhpcy5yb3dDb3VudCxcblx0XHRcdHJvd3NPZmZzZXQ6IHRoaXMucm93c09mZnNldCxcblx0XHRcdGFkbWluVW5pdFJvbGVTb3VyY2VzOiB0aGlzLmFkbWluVW5pdFJvbGVTb3VyY2VzLFxuXHRcdFx0aXNQYWdlYWJsZTogdGhpcy5fZ2V0SXNQYWdlYWJsZSgpLFxuXHRcdFx0Y29uZGl0aW9uYWxWYWx1ZXM6IHRoaXMuY29uZGl0aW9uYWxWYWx1ZXMgPyB0aGlzLmNvbmRpdGlvbmFsVmFsdWVzIDogbnVsbCxcblx0XHRcdGlzSGllcmFyY2hpY2FsOiBmYWxzZSxcblx0XHRcdGhpZXJhcmNoaWNhbE1heERlcHRoOiAwLFxuXHRcdFx0aGllcmFyY2hpY2FsQ29sdW1uTmFtZTogbnVsbCxcblx0XHRcdGhpZXJhcmNoaWNhbENvbHVtblZhbHVlOiBudWxsLFxuXHRcdFx0dXNlTG9jYWxpemF0aW9uOiB0aGlzLnVzZUxvY2FsaXphdGlvbixcblx0XHRcdHVzZVJlY29yZERlYWN0aXZhdGlvbjogdGhpcy51c2VSZWNvcmREZWFjdGl2YXRpb24sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBAcHVibGljXG5cdCAqIEBkZXNjcmlwdGlvbiBBZGQgY29sdW1uLlxuXHQgKiBAcGFyYW0gY29sdW1uIENvbHVtbiBwYXRoLlxuXHQgKiBAcGFyYW0gY29sdW1uQWxpYXMgQ29sdW1uIGFsaWFzLlxuXHQgKiBAcmV0dXJucyBbQmFzZVF1ZXJ5Q29sdW1uXSBDb2x1bW4gaW5zdGFuY2UuXG5cdCAqL1xuXHRwdWJsaWMgYWRkQ29sdW1uKGNvbHVtbjogybVCYXNlUXVlcnlDb2x1bW4sIGNvbHVtbkFsaWFzOiBzdHJpbmcpOiDJtUJhc2VRdWVyeUNvbHVtbiB7XG5cdFx0dGhpcy5faW50ZXJuYWxBZGRDb2x1bW4oY29sdW1uQWxpYXMsIGNvbHVtbik7XG5cdFx0cmV0dXJuIGNvbHVtbjtcblx0fVxuXG5cdC8qKlxuXHQgKiBAcHVibGljXG5cdCAqIEBkZXNjcmlwdGlvbiBBZGQgY29sdW1uIGJ5IGNvbHVtbiBwYXRoLlxuXHQgKiBAcGFyYW0gY29sdW1uUGF0aCBDb2x1bW4gcGF0aC5cblx0ICogQHBhcmFtIGNvbHVtbkFsaWFzIENvbHVtbiBhbGlhcy5cblx0ICogQHJldHVybnMgW0VudGl0eVF1ZXJ5Q29sdW1uXSBDb2x1bW4gaW5zdGFuY2UuXG5cdCAqL1xuXHRwdWJsaWMgYWRkU2NoZW1hQ29sdW1uKGNvbHVtblBhdGg6IHN0cmluZywgY29sdW1uQWxpYXM/OiBzdHJpbmcpOiDJtUVudGl0eVF1ZXJ5Q29sdW1uIHtcblx0XHTJtVZhbGlkYXRpb25VdGlsaXRpZXMuY2hlY2tBcmd1bWVudEVtcHR5KCdjb2x1bW5QYXRoJywgY29sdW1uUGF0aCk7XG5cdFx0Y29uc3QgY29sdW1uID0gbmV3IMm1RW50aXR5UXVlcnlDb2x1bW4oY29sdW1uUGF0aCk7XG5cdFx0dGhpcy5faW50ZXJuYWxBZGRDb2x1bW4oY29sdW1uQWxpYXMgfHwgY29sdW1uUGF0aCwgY29sdW1uKTtcblx0XHRyZXR1cm4gY29sdW1uO1xuXHR9XG5cblx0LyoqXG5cdCAqIEBwdWJsaWNcblx0ICogQGRlc2NyaXB0aW9uIEFkZCBhZ2dyZWdhdGlvbiBzdWIgcXVlcnkgY29sdW1uLlxuXHQgKiBAcGFyYW0gY29sdW1uUGF0aCBDb2x1bW4gcGF0aC5cblx0ICogQHBhcmFtIGFnZ3JlZ2F0aW9uVHlwZSBBZ2dyZWdhdGlvbiB0eXBlLlxuXHQgKiBAcGFyYW0gc3ViRmlsdGVycyBTdWIgcXVlcnkgZmlsdGVycy5cblx0ICogQHBhcmFtIGNvbHVtbkFsaWFzIENvbHVtbiBhbGlhcy5cblx0ICogQHJldHVybnMgW0FnZ3JlZ2F0aW9uU3ViUXVlcnlDb2x1bW5dIENvbHVtbiBpbnN0YW5jZS5cblx0ICovXG5cdHB1YmxpYyBhZGRBZ2dyZWdhdGlvblN1YlF1ZXJ5Q29sdW1uKFxuXHRcdGNvbHVtblBhdGg6IHN0cmluZyxcblx0XHRhZ2dyZWdhdGlvblR5cGU6IMm1QWdncmVnYXRpb25UeXBlLFxuXHRcdGFnZ3JlZ2F0aW9uQ29uZmlnOiDJtURhdGFTb3VyY2VBZ2dyZWdhdGlvbkNvbmZpZyxcblx0XHRjb2x1bW5BbGlhcz86IHN0cmluZyxcblx0KTogybVBZ2dyZWdhdGlvblN1YlF1ZXJ5Q29sdW1uIHtcblx0XHRjb25zdCBjb2x1bW4gPSBuZXcgybVBZ2dyZWdhdGlvblN1YlF1ZXJ5Q29sdW1uKFxuXHRcdFx0Y29sdW1uUGF0aCxcblx0XHRcdGFnZ3JlZ2F0aW9uVHlwZSxcblx0XHRcdGFnZ3JlZ2F0aW9uQ29uZmlnLmZpbHRlcixcblx0XHRcdGFnZ3JlZ2F0aW9uQ29uZmlnLnNvcnRCeURpcmVjdGlvbixcblx0XHRcdGFnZ3JlZ2F0aW9uQ29uZmlnLnNvcnRCeUNvbHVtbixcblx0XHQpO1xuXHRcdHRoaXMuX2ludGVybmFsQWRkQ29sdW1uKGNvbHVtbkFsaWFzIHx8IGNvbHVtblBhdGgsIGNvbHVtbik7XG5cdFx0cmV0dXJuIGNvbHVtbjtcblx0fVxuXG5cdC8qKlxuXHQgKiBAcHVibGljXG5cdCAqIEBkZXNjcmlwdGlvbiBBZGQgcGFyYW1ldGVyIGNvbHVtbi5cblx0ICogQHBhcmFtIHZhbHVlIFBhcmFtZXRlciB2YWx1ZS5cblx0ICogQHBhcmFtIGRhdGFWYWx1ZVR5cGUgUGFyYW1ldGVyIGRhdGEgdmFsdWUgdHlwZS5cblx0ICogQHBhcmFtIGNvbHVtbkFsaWFzIENvbHVtbiBhbGlhcy5cblx0ICogQHJldHVybnMgW1BhcmFtZXRlclF1ZXJ5Q29sdW1uXSBDb2x1bW4gaW5zdGFuY2UuXG5cdCAqL1xuXHRwdWJsaWMgYWRkUGFyYW1ldGVyQ29sdW1uKFxuXHRcdHZhbHVlOiDJtUVudGl0eUNvbHVtblZhbHVlLFxuXHRcdGRhdGFWYWx1ZVR5cGU6IMm1RGF0YVZhbHVlVHlwZSxcblx0XHRjb2x1bW5BbGlhczogc3RyaW5nLFxuXHQpOiDJtVBhcmFtZXRlclF1ZXJ5Q29sdW1uIHtcblx0XHRjb25zdCBjb2x1bW4gPSBuZXcgybVQYXJhbWV0ZXJRdWVyeUNvbHVtbih2YWx1ZSwgZGF0YVZhbHVlVHlwZSk7XG5cdFx0dGhpcy5faW50ZXJuYWxBZGRDb2x1bW4oY29sdW1uQWxpYXMsIGNvbHVtbik7XG5cdFx0cmV0dXJuIGNvbHVtbjtcblx0fVxuXG5cdC8qKlxuXHQgKiBAcHVibGljXG5cdCAqIEBkZXNjcmlwdGlvbiBBZGQgYXJpdGhtZXRpYyBjb2x1bW4uXG5cdCAqIEBwYXJhbSBhcml0aG1ldGljT3BlcmF0aW9uIEFyaXRobWV0aWMgb3BlcmF0aW9uLlxuXHQgKiBAcGFyYW0gbGVmdEFyaXRobWV0aWNPcGVyYW5kIExlZnQgYXJpdGhtZXRpYyBvcGVyYW5kIGV4cHJlc3Npb24uXG5cdCAqIEBwYXJhbSByaWdodEFyaXRobWV0aWNPcGVyYW5kIFJpZ2h0IGFyaXRobWV0aWMgb3BlcmFuZCBleHByZXNzaW9uLlxuXHQgKiBAcGFyYW0gY29sdW1uQWxpYXMgQ29sdW1uIGFsaWFzLlxuXHQgKiBAcmV0dXJucyBbQXJpdGhtZXRpY1F1ZXJ5Q29sdW1uXSBDb2x1bW4gaW5zdGFuY2UuXG5cdCAqL1xuXHRwdWJsaWMgYWRkQXJpdGhtZXRpY0NvbHVtbihcblx0XHRhcml0aG1ldGljT3BlcmF0aW9uOiDJtUFyaXRobWV0aWNPcGVyYXRpb24sXG5cdFx0bGVmdEFyaXRobWV0aWNPcGVyYW5kOiDJtUJhc2VFeHByZXNzaW9uLFxuXHRcdHJpZ2h0QXJpdGhtZXRpY09wZXJhbmQ6IMm1QmFzZUV4cHJlc3Npb24sXG5cdFx0Y29sdW1uQWxpYXM6IHN0cmluZyxcblx0KTogybVBcml0aG1ldGljUXVlcnlDb2x1bW4ge1xuXHRcdGNvbnN0IGNvbHVtbiA9IG5ldyDJtUFyaXRobWV0aWNRdWVyeUNvbHVtbihhcml0aG1ldGljT3BlcmF0aW9uLCBsZWZ0QXJpdGhtZXRpY09wZXJhbmQsIHJpZ2h0QXJpdGhtZXRpY09wZXJhbmQpO1xuXHRcdHRoaXMuX2ludGVybmFsQWRkQ29sdW1uKGNvbHVtbkFsaWFzLCBjb2x1bW4pO1xuXHRcdHJldHVybiBjb2x1bW47XG5cdH1cblxuXHQvKipcblx0ICogQHB1YmxpY1xuXHQgKiBAZGVzY3JpcHRpb24gQWRkIG1hY3JvcyBmdW5jdGlvbiBjb2x1bW4uXG5cdCAqIEBwYXJhbSBxdWVyeU1hY3Jvc1R5cGUgTWFjcm9zIHR5cGUuXG5cdCAqIEBwYXJhbSBjb2x1bW5BbGlhcyBDb2x1bW4gYWxpYXMuXG5cdCAqIEByZXR1cm5zIFtNYWNyb3NGdW5jdGlvbkNvbHVtbl0gQ29sdW1uIGluc3RhbmNlLlxuXHQgKi9cblx0cHVibGljIGFkZE1hY3Jvc0Z1bmN0aW9uQ29sdW1uKHF1ZXJ5TWFjcm9zVHlwZTogybVRdWVyeU1hY3Jvc1R5cGUsIGNvbHVtbkFsaWFzOiBzdHJpbmcpOiDJtU1hY3Jvc0Z1bmN0aW9uQ29sdW1uIHtcblx0XHRjb25zdCBjb2x1bW4gPSBuZXcgybVNYWNyb3NGdW5jdGlvbkNvbHVtbihxdWVyeU1hY3Jvc1R5cGUpO1xuXHRcdHRoaXMuX2ludGVybmFsQWRkQ29sdW1uKGNvbHVtbkFsaWFzLCBjb2x1bW4pO1xuXHRcdHJldHVybiBjb2x1bW47XG5cdH1cblxuXHQvKipcblx0ICogQHB1YmxpY1xuXHQgKiBAZGVzY3JpcHRpb24gQWRkIGRhdGUgcGFydCBmdW5jdGlvbiBjb2x1bW4uXG5cdCAqIEBwYXJhbSBjb2x1bW5QYXRoIENvbHVtbiBwYXRoLlxuXHQgKiBAcGFyYW0gZGF0ZVBhcnRUeXBlIERhdGUgcGFydCB0eXBlLlxuXHQgKiBAcGFyYW0gY29sdW1uQWxpYXMgQ29sdW1uIGFsaWFzLlxuXHQgKiBAcmV0dXJucyBbRGF0ZVBhcnRGdW5jdGlvbkNvbHVtbl0gQ29sdW1uIGluc3RhbmNlLlxuXHQgKi9cblx0cHVibGljIGFkZERhdGVQYXJ0RnVuY3Rpb25Db2x1bW4oXG5cdFx0Y29sdW1uUGF0aDogc3RyaW5nLFxuXHRcdGRhdGVQYXJ0VHlwZTogybVEYXRlUGFydFR5cGUsXG5cdFx0Y29sdW1uQWxpYXM6IHN0cmluZyxcblx0KTogybVEYXRlUGFydEZ1bmN0aW9uQ29sdW1uIHtcblx0XHRjb25zdCBmdW5jdGlvbkFyZ3VtZW50ID0gbmV3IMm1Q29sdW1uRXhwcmVzc2lvbih7IGNvbHVtblBhdGggfSk7XG5cdFx0Y29uc3QgY29sdW1uID0gbmV3IMm1RGF0ZVBhcnRGdW5jdGlvbkNvbHVtbihkYXRlUGFydFR5cGUsIGZ1bmN0aW9uQXJndW1lbnQpO1xuXHRcdHRoaXMuX2ludGVybmFsQWRkQ29sdW1uKGNvbHVtbkFsaWFzLCBjb2x1bW4pO1xuXHRcdHJldHVybiBjb2x1bW47XG5cdH1cblxuXHQvKipcblx0ICogQHB1YmxpY1xuXHQgKiBAZGVzY3JpcHRpb24gQWRkIGFnZ3JlZ2F0aW9uIGZ1bmN0aW9uIGNvbHVtbi5cblx0ICogQHBhcmFtIGNvbHVtblBhdGggQ29sdW1uIHBhdGguXG5cdCAqIEBwYXJhbSBhZ2dyZWdhdGlvblR5cGUgQWdncmVnYXRpb24gdHlwZS5cblx0ICogQHBhcmFtIGNvbHVtbkFsaWFzIENvbHVtbiBhbGlhcy5cblx0ICogQHBhcmFtIGFnZ3JlZ2F0aW9uRXZhbFR5cGUgQWdncmVnYXRpb24gZXZhbCB0eXBlLlxuXHQgKiBAcmV0dXJucyBbQWdncmVnYXRpb25GdW5jdGlvbkNvbHVtbl0gQ29sdW1uIGluc3RhbmNlLlxuXHQgKi9cblx0cHVibGljIGFkZEFnZ3JlZ2F0aW9uRnVuY3Rpb25Db2x1bW4oXG5cdFx0Y29sdW1uUGF0aDogc3RyaW5nLFxuXHRcdGFnZ3JlZ2F0aW9uVHlwZTogybVBZ2dyZWdhdGlvblR5cGUsXG5cdFx0Y29sdW1uQWxpYXM6IHN0cmluZyxcblx0XHRhZ2dyZWdhdGlvbkV2YWxUeXBlOiDJtUFnZ3JlZ2F0aW9uRXZhbFR5cGUgPSDJtUFnZ3JlZ2F0aW9uRXZhbFR5cGUuTm9uZSxcblx0KTogybVBZ2dyZWdhdGlvbkZ1bmN0aW9uQ29sdW1uIHtcblx0XHRjb25zdCBmdW5jdGlvbkFyZ3VtZW50ID0gbmV3IMm1Q29sdW1uRXhwcmVzc2lvbih7IGNvbHVtblBhdGggfSk7XG5cdFx0Y29uc3QgY29sdW1uID0gbmV3IMm1QWdncmVnYXRpb25GdW5jdGlvbkNvbHVtbihhZ2dyZWdhdGlvblR5cGUsIGFnZ3JlZ2F0aW9uRXZhbFR5cGUsIGZ1bmN0aW9uQXJndW1lbnQpO1xuXHRcdHRoaXMuX2ludGVybmFsQWRkQ29sdW1uKGNvbHVtbkFsaWFzLCBjb2x1bW4pO1xuXHRcdHJldHVybiBjb2x1bW47XG5cdH1cblxuXHQvKipcblx0ICogQHB1YmxpY1xuXHQgKiBAZGVzY3JpcHRpb24gQWRkIGxlbmd0aCBmdW5jdGlvbiBjb2x1bW4uXG5cdCAqIEBwYXJhbSBjb2x1bW5QYXRoIENvbHVtbiBwYXRoLlxuXHQgKiBAcGFyYW0gY29sdW1uQWxpYXMgQ29sdW1uIGFsaWFzLlxuXHQgKiBAcmV0dXJucyBbTGVuZ3RoRnVuY3Rpb25Db2x1bW5dIENvbHVtbiBpbnN0YW5jZS5cblx0ICovXG5cdHB1YmxpYyBhZGRMZW5ndGhGdW5jdGlvbkNvbHVtbihjb2x1bW5QYXRoOiBzdHJpbmcsIGNvbHVtbkFsaWFzOiBzdHJpbmcpOiDJtUxlbmd0aEZ1bmN0aW9uQ29sdW1uIHtcblx0XHRjb25zdCBmdW5jdGlvbkFyZ3VtZW50ID0gbmV3IMm1Q29sdW1uRXhwcmVzc2lvbih7IGNvbHVtblBhdGggfSk7XG5cdFx0Y29uc3QgY29sdW1uID0gbmV3IMm1TGVuZ3RoRnVuY3Rpb25Db2x1bW4oZnVuY3Rpb25Bcmd1bWVudCk7XG5cdFx0dGhpcy5faW50ZXJuYWxBZGRDb2x1bW4oY29sdW1uQWxpYXMsIGNvbHVtbik7XG5cdFx0cmV0dXJuIGNvbHVtbjtcblx0fVxuXG5cdC8qKlxuXHQgKiBAcHVibGljXG5cdCAqIEBkZXNjcmlwdGlvbiBBZGQgd2luZG93IGZ1bmN0aW9uIGNvbHVtbi5cblx0ICogQHBhcmFtIGNvbHVtblBhdGggQ29sdW1uIHBhdGguXG5cdCAqIEBwYXJhbSBhZ2dyZWdhdGlvblR5cGUgQWdncmVnYXRpb24gdHlwZS5cblx0ICogQHBhcmFtIGNvbHVtbkFsaWFzIENvbHVtbiBhbGlhcy5cblx0ICogQHBhcmFtIGFnZ3JlZ2F0aW9uRXZhbFR5cGUgQWdncmVnYXRpb24gZXZhbCB0eXBlLlxuXHQgKiBAcmV0dXJucyBbV2luZG93RnVuY3Rpb25Db2x1bW5dIENvbHVtbiBpbnN0YW5jZS5cblx0ICovXG5cdHB1YmxpYyBhZGRXaW5kb3dGdW5jdGlvbkNvbHVtbihcblx0XHRjb2x1bW5QYXRoOiBzdHJpbmcsXG5cdFx0YWdncmVnYXRpb25UeXBlOiDJtUFnZ3JlZ2F0aW9uVHlwZSxcblx0XHRjb2x1bW5BbGlhczogc3RyaW5nLFxuXHRcdGFnZ3JlZ2F0aW9uRXZhbFR5cGU6IMm1QWdncmVnYXRpb25FdmFsVHlwZSA9IMm1QWdncmVnYXRpb25FdmFsVHlwZS5Ob25lLFxuXHQpOiDJtVdpbmRvd0Z1bmN0aW9uQ29sdW1uIHtcblx0XHRjb25zdCBmdW5jdGlvbkFyZ3VtZW50ID0gbmV3IMm1QWdncmVnYXRpb25GdW5jdGlvbkV4cHJlc3Npb24oe1xuXHRcdFx0YWdncmVnYXRpb25UeXBlLFxuXHRcdFx0YWdncmVnYXRpb25FdmFsVHlwZSxcblx0XHRcdGZ1bmN0aW9uQXJndW1lbnQ6IG5ldyDJtUNvbHVtbkV4cHJlc3Npb24oeyBjb2x1bW5QYXRoIH0pLFxuXHRcdH0pO1xuXHRcdGNvbnN0IGNvbHVtbiA9IG5ldyDJtVdpbmRvd0Z1bmN0aW9uQ29sdW1uKGZ1bmN0aW9uQXJndW1lbnQpO1xuXHRcdHRoaXMuX2ludGVybmFsQWRkQ29sdW1uKGNvbHVtbkFsaWFzLCBjb2x1bW4pO1xuXHRcdHJldHVybiBjb2x1bW47XG5cdH1cblxuXHQvKipcblx0ICogQGludGVybmFsXG5cdCAqL1xuXHRwdWJsaWMgX2dldFVzZWRDb2x1bW5zKCk6IFVzZWRDb2x1bW5bXSB7XG5cdFx0Y29uc3QgdXNlZENvbHVtbnM6IFVzZWRDb2x1bW5bXSA9IFtdO1xuXHRcdHRoaXMuX2NvbHVtbnMuZm9yRWFjaCgoY29sdW1uKSA9PiB7XG5cdFx0XHR1c2VkQ29sdW1ucy5wdXNoKC4uLmNvbHVtbi5fZ2V0VXNlZENvbHVtbnMoKSk7XG5cdFx0fSk7XG5cdFx0dXNlZENvbHVtbnMuZm9yRWFjaCgodXNlZENvbHVtbikgPT4ge1xuXHRcdFx0aWYgKCF1c2VkQ29sdW1uLnNjaGVtYU5hbWUpIHtcblx0XHRcdFx0dXNlZENvbHVtbi5zY2hlbWFOYW1lID0gdGhpcy5yb290U2NoZW1hTmFtZTtcblx0XHRcdH1cblx0XHR9KTtcblx0XHRyZXR1cm4gWy4uLnVzZWRDb2x1bW5zLCAuLi5zdXBlci5fZ2V0VXNlZENvbHVtbnMoKV07XG5cdH1cbn1cbiJdfQ==
@@ -0,0 +1,66 @@
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi11dGlsaXRpZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RldmtpdC9iYXNlL3NyYy9saWIvcHVibGljL2V4Y2VwdGlvbnMvdmFsaWRhdGlvbi11dGlsaXRpZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDckUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFakY7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLG9CQUFvQjtJQUNoQyx5QkFBeUI7SUFFekI7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsa0JBQWtCLENBQy9CLFlBQW9CLEVBQ3BCLGFBQW1DO1FBRW5DLElBQUksYUFBYSxLQUFLLFNBQVMsSUFBSSxhQUFhLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDM0QsTUFBTSxJQUFJLHVCQUF1QixDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ2pELENBQUM7SUFDRixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsZUFBZSxDQUFJLFlBQW9CLEVBQUUsYUFBMkI7UUFDakYsb0JBQW9CLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQ3JFLElBQUksYUFBYSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNoQyxNQUFNLElBQUksdUJBQXVCLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDakQsQ0FBQztJQUNGLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxZQUFvQixFQUFFLGFBQXFCO1FBQzlFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFDckQsSUFBSSxhQUFhLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDMUIsTUFBTSxJQUFJLHVCQUF1QixDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ2pELENBQUM7UUFDRCxPQUFPLGFBQWEsQ0FBQztJQUN0QixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksTUFBTSxDQUFDLHVCQUF1QixDQUNwQyxZQUFvQixFQUNwQixhQUFxQixFQUNyQixLQUF1QztRQUV2QyxJQUFJLEtBQUssQ0FBQyxLQUFLLElBQUksYUFBYSxHQUFHLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNoRCxNQUFNLElBQUksNEJBQTRCLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDdEQsQ0FBQztRQUNELElBQUksS0FBSyxDQUFDLEdBQUcsSUFBSSxhQUFhLEdBQUcsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQzVDLE1BQU0sSUFBSSw0QkFBNEIsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN0RCxDQUFDO0lBQ0YsQ0FBQztJQUVNLE1BQU0sQ0FBQyxtQkFBbUIsQ0FDaEMsWUFBb0IsRUFDcEIsYUFBcUIsRUFDckIsS0FBd0M7UUFFeEMsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUM7WUFDN0QsTUFBTSxJQUFJLDRCQUE0QixDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3RELENBQUM7SUFDRixDQUFDO0NBR0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyDJtUFyZ3VtZW50RW1wdHlFeGNlcHRpb24gfSBmcm9tICcuL2FyZ3VtZW50LWVtcHR5LWV4Y2VwdGlvbic7XG5pbXBvcnQgeyDJtUFyZ3VtZW50T3V0T2ZSYW5nZUV4Y2VwdGlvbiB9IGZyb20gJy4vYXJndW1lbnQtb3V0LW9mLXJhbmdlLWV4Y2VwdGlvbic7XG5cbi8qKlxuICogQHB1YmxpY1xuICogQGRlc2NyaXB0aW9uIFV0aWxpdGllcyBjbGFzcyB3aXRoIHZhcmlvdXMgdmFsaWRhdGlvbiBtZXRob2RzLlxuICovXG5leHBvcnQgY2xhc3MgybVWYWxpZGF0aW9uVXRpbGl0aWVzIHtcblx0Ly8gcmVnaW9uIE1ldGhvZHM6IFB1YmxpY1xuXG5cdC8qKlxuXHQgKiBAcHVibGljXG5cdCAqIEBkZXNjcmlwdGlvbiBDaGVja3MgaWYgYXJndW1lbnQgaXMgZW1wdHkuXG5cdCAqIEBwYXJhbSBhcmd1bWVudE5hbWUgLSBBcmd1bWVudCBuYW1lLlxuXHQgKiBAcGFyYW0gYXJndW1lbnRWYWx1ZSAtIFZhbHVlIG9mIGFyZ3VtZW50LlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBjaGVja0FyZ3VtZW50RW1wdHk8VD4oXG5cdFx0YXJndW1lbnROYW1lOiBzdHJpbmcsXG5cdFx0YXJndW1lbnRWYWx1ZTogVCB8IG51bGwgfCB1bmRlZmluZWQsXG5cdCk6IGFzc2VydHMgYXJndW1lbnRWYWx1ZSBpcyBUIHtcblx0XHRpZiAoYXJndW1lbnRWYWx1ZSA9PT0gdW5kZWZpbmVkIHx8IGFyZ3VtZW50VmFsdWUgPT09IG51bGwpIHtcblx0XHRcdHRocm93IG5ldyDJtUFyZ3VtZW50RW1wdHlFeGNlcHRpb24oYXJndW1lbnROYW1lKTtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogQHB1YmxpY1xuXHQgKiBAZGVzY3JpcHRpb24gQ2hlY2tzIGlmIGFycmF5IGlzIGVtcHR5LlxuXHQgKiBAcGFyYW0gYXJndW1lbnROYW1lIC0gQXJndW1lbnQgbmFtZS5cblx0ICogQHBhcmFtIGFyZ3VtZW50VmFsdWUgLSBWYWx1ZSBvZiBhcmd1bWVudC5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgY2hlY2tBcnJheUVtcHR5PFQ+KGFyZ3VtZW50TmFtZTogc3RyaW5nLCBhcmd1bWVudFZhbHVlOiBBcnJheUxpa2U8VD4pOiB2b2lkIHtcblx0XHTJtVZhbGlkYXRpb25VdGlsaXRpZXMuY2hlY2tBcmd1bWVudEVtcHR5KGFyZ3VtZW50TmFtZSwgYXJndW1lbnRWYWx1ZSk7XG5cdFx0aWYgKGFyZ3VtZW50VmFsdWUubGVuZ3RoID09PSAwKSB7XG5cdFx0XHR0aHJvdyBuZXcgybVBcmd1bWVudEVtcHR5RXhjZXB0aW9uKGFyZ3VtZW50TmFtZSk7XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIEBwdWJsaWNcblx0ICogQGRlc2NyaXB0aW9uIENoZWNrcyBpZiBzdHJpbmcgaXMgZW1wdHkuXG5cdCAqIEBwYXJhbSBhcmd1bWVudE5hbWUgLSBBcmd1bWVudCBuYW1lLlxuXHQgKiBAcGFyYW0gYXJndW1lbnRWYWx1ZSAtIFZhbHVlIG9mIGFyZ3VtZW50LlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBjaGVja1N0cmluZ0lzTm90RW1wdHkoYXJndW1lbnROYW1lOiBzdHJpbmcsIGFyZ3VtZW50VmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XG5cdFx0dGhpcy5jaGVja0FyZ3VtZW50RW1wdHkoYXJndW1lbnROYW1lLCBhcmd1bWVudFZhbHVlKTtcblx0XHRpZiAoYXJndW1lbnRWYWx1ZSA9PT0gJycpIHtcblx0XHRcdHRocm93IG5ldyDJtUFyZ3VtZW50RW1wdHlFeGNlcHRpb24oYXJndW1lbnROYW1lKTtcblx0XHR9XG5cdFx0cmV0dXJuIGFyZ3VtZW50VmFsdWU7XG5cdH1cblxuXHQvKipcblx0ICogQHB1YmxpY1xuXHQgKiBAZGVzY3JpcHRpb24gQ2hlY2tzIGlmIGFyZ3VtZW50IGluIHJhbmdlLlxuXHQgKiBAcGFyYW0gYXJndW1lbnROYW1lIC0gQXJndW1lbnQgbmFtZS5cblx0ICogQHBhcmFtIGFyZ3VtZW50VmFsdWUgLSBWYWx1ZSBvZiBhcmd1bWVudC5cblx0ICogQHBhcmFtIHJhbmdlIC0gUmFuZ2UuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGNoZWNrQXJndW1lbnRPdXRPZlJhbmdlKFxuXHRcdGFyZ3VtZW50TmFtZTogc3RyaW5nLFxuXHRcdGFyZ3VtZW50VmFsdWU6IG51bWJlcixcblx0XHRyYW5nZTogeyBiZWdpbj86IG51bWJlcjsgZW5kPzogbnVtYmVyIH0sXG5cdCk6IHZvaWQge1xuXHRcdGlmIChyYW5nZS5iZWdpbiAmJiBhcmd1bWVudFZhbHVlIDwgcmFuZ2UuYmVnaW4pIHtcblx0XHRcdHRocm93IG5ldyDJtUFyZ3VtZW50T3V0T2ZSYW5nZUV4Y2VwdGlvbihhcmd1bWVudE5hbWUpO1xuXHRcdH1cblx0XHRpZiAocmFuZ2UuZW5kICYmIGFyZ3VtZW50VmFsdWUgPiByYW5nZS5lbmQpIHtcblx0XHRcdHRocm93IG5ldyDJtUFyZ3VtZW50T3V0T2ZSYW5nZUV4Y2VwdGlvbihhcmd1bWVudE5hbWUpO1xuXHRcdH1cblx0fVxuXG5cdHB1YmxpYyBzdGF0aWMgY2hlY2tFbnVtT3V0T2ZSYW5nZShcblx0XHRhcmd1bWVudE5hbWU6IHN0cmluZyxcblx0XHRhcmd1bWVudFZhbHVlOiBzdHJpbmcsXG5cdFx0cmFuZ2U6IFJlY29yZDxzdHJpbmcsIHVua25vd24+IHwgdW5rbm93bixcblx0KTogdm9pZCB7XG5cdFx0aWYgKCFyYW5nZSB8fCAhT2JqZWN0LnZhbHVlcyhyYW5nZSkuaW5jbHVkZXMoYXJndW1lbnRWYWx1ZSkpIHtcblx0XHRcdHRocm93IG5ldyDJtUFyZ3VtZW50T3V0T2ZSYW5nZUV4Y2VwdGlvbihhcmd1bWVudE5hbWUpO1xuXHRcdH1cblx0fVxuXG5cdC8vIGVuZHJlZ2lvblxufVxuIl19
@@ -7,4 +7,5 @@ export * from './view-model-collection';
7
7
  export * from './model-init-config';
8
8
  export * from './item-creation-config';
9
9
  export * from './message-channel-event';
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RldmtpdC9iYXNlL3NyYy9saWIvcHVibGljL21vZGVscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kYXRhLXNvdXJjZSc7XG5leHBvcnQgKiBmcm9tICcuL3JlcXVlc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9yZXF1ZXN0LWhhbmRsZXInO1xuZXhwb3J0ICogZnJvbSAnLi9sb29rdXAtdmFsdWUubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi92aWV3LW1vZGVsLWNvbnRleHQnO1xuZXhwb3J0ICogZnJvbSAnLi92aWV3LW1vZGVsLWNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbC1pbml0LWNvbmZpZyc7XG5leHBvcnQgKiBmcm9tICcuL2l0ZW0tY3JlYXRpb24tY29uZmlnJztcbmV4cG9ydCAqIGZyb20gJy4vbWVzc2FnZS1jaGFubmVsLWV2ZW50JztcbiJdfQ==
10
+ export * from './subscription';
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RldmtpdC9iYXNlL3NyYy9saWIvcHVibGljL21vZGVscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsZ0JBQWdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2RhdGEtc291cmNlJztcbmV4cG9ydCAqIGZyb20gJy4vcmVxdWVzdCc7XG5leHBvcnQgKiBmcm9tICcuL3JlcXVlc3QtaGFuZGxlcic7XG5leHBvcnQgKiBmcm9tICcuL2xvb2t1cC12YWx1ZS5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL3ZpZXctbW9kZWwtY29udGV4dCc7XG5leHBvcnQgKiBmcm9tICcuL3ZpZXctbW9kZWwtY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL21vZGVsLWluaXQtY29uZmlnJztcbmV4cG9ydCAqIGZyb20gJy4vaXRlbS1jcmVhdGlvbi1jb25maWcnO1xuZXhwb3J0ICogZnJvbSAnLi9tZXNzYWdlLWNoYW5uZWwtZXZlbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zdWJzY3JpcHRpb24nO1xuIl19
@@ -0,0 +1,3 @@
1
+ // noinspection NonAsciiCharacters, JSNonASCIINames
2
+ export {};
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1jaGFubmVsLWV2ZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kZXZraXQvYmFzZS9zcmMvbGliL3B1YmxpYy9tb2RlbHMvbWVzc2FnZS1jaGFubmVsLWV2ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG1EQUFtRCIsInNvdXJjZXNDb250ZW50IjpbIi8vIG5vaW5zcGVjdGlvbiBOb25Bc2NpaUNoYXJhY3RlcnMsIEpTTm9uQVNDSUlOYW1lc1xuXG5pbXBvcnQgeyDJtUd1aWQgfSBmcm9tICcuLi90eXBlcyc7XG5cbi8qKlxuICogQHB1YmxpY1xuICogQGRlc2NyaXB0aW9uIE1lc3NhZ2UgY2hhbm5lbCBldmVudC4gQ29udGFpbnMgYWxsIG1lc3NhZ2UgY29udGVudCwgaW5jbHVkaW5nIGJvZHkgYW5kIGFkZGl0aW9uYWwgbWV0YWRhdGEuXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBpbnRlcmZhY2UgybVNZXNzYWdlQ2hhbm5lbEV2ZW50PFQgPSB1bmtub3duPiB7XG5cdC8qKlxuXHQgKiBAcHVibGljXG5cdCAqIEBkZXNjcmlwdGlvbiBNZXNzYWdlIGhlYWRlciBjb250YWluaW5nIG1lc3NhZ2UgbWV0YWRhdGEuXG5cdCAqL1xuXHRoZWFkZXI6IHtcblx0XHQvKipcblx0XHQgKiBAcHVibGljXG5cdFx0ICogQGRlc2NyaXB0aW9uIE5hbWUgdGhhdCBpcyB1c2VkIHRvIGRpc3Rpbmd1aXNoIGJldHdlZW4gbWVzc2FnZXMgZnJvbSBkaWZmZXJlbnQgc2VuZGVycy5cblx0XHQgKi9cblx0XHRzZW5kZXI6IHN0cmluZztcblxuXHRcdC8qKlxuXHRcdCAqIEBwdWJsaWNcblx0XHQgKiBAZGVzY3JpcHRpb24gTmFtZSBvZiB0aGUgYm9keSB0eXBlLlxuXHRcdCAqL1xuXHRcdGJvZHlUeXBlTmFtZTogc3RyaW5nO1xuXHR9O1xuXG5cdC8qKlxuXHQgKiBAcHVibGljXG5cdCAqIEBkZXNjcmlwdGlvbiBNZXNzYWdlIGJvZHkuXG5cdCAqL1xuXHRib2R5OiBUO1xuXG5cdC8qKlxuXHQgKiBAcHVibGljXG5cdCAqIEBkZXNjcmlwdGlvbiBBY3R1YWwgZXZlbnQgaWRlbnRpZmllci5cblx0ICovXG5cdGlkOiDJtUd1aWQ7XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC1yZWdpc3RyYXRpb24tY29uZmlnLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kZXZraXQvYmFzZS9zcmMvbGliL3B1YmxpYy9tb2RlbHMvcmVxdWVzdC9yZXF1ZXN0LXJlZ2lzdHJhdGlvbi1jb25maWcubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IMm1Q29tcGF0aWJsZUFQSXMgfSBmcm9tICcuLi8uLi8uLi9pbnRlcm5hbC9tb2RlbHMnO1xuXG4vKipcbiAqIEBwdWJsaWNcbiAqIEBkZXNjcmlwdGlvbiBDb25maWcgZm9yIHJlZ2lzdGVyIHJlcXVlc3QuXG4gKiBAcHJvcGVydHkge3N0cmluZ30gdHlwZSAtIFRoZSB0eXBlIG9mIHJlcXVlc3QuXG4gKiBAcHJvcGVydHkge3N0cmluZ1tdfSBzY29wZXMgLSBTY29wZXMgb2YgcmVxdWVzdC5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSB0aXRsZSAtIFRpdGxlIG9mIHJlcXVlc3QuXG4gKiBAcHJvcGVydHkge3N0cmluZ30gcHJvcGVydGllc1BhbmVsQ29tcG9uZW50VHlwZU5hbWUgLSBUeXBlIG9mIHByb3BlcnRpZXMgcGFuZWwuXG4gKiBAcHJvcGVydHkge251bWJlcn0gcG9zaXRpb24gLSBQb3NpdGlvbiBvZiB0aGUgcmVxdWVzdC5cbiAqIEBwcm9wZXJ0eSB7ybVDb21wYXRpYmxlQVBJc30gY29tcGF0aWJsZUFQSXMgLSBDb21wYXRpYmxlIHBsYXRmb3JtIEFQSXMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgybVSZXF1ZXN0UmVnaXN0cmF0aW9uQ29uZmlnIHtcblx0LyoqXG5cdCAqIEBkZXNjcmlwdGlvbiBUaGUgdHlwZSBvZiByZXF1ZXN0LlxuXHQgKiBAZXhhbXBsZVxuXHQgKiAnY3J0LlJlcXVlc3RUeXBlJ1xuXHQgKi9cblx0cmVhZG9ubHkgdHlwZTogc3RyaW5nO1xuXG5cdC8qKlxuXHQgKiBAZGVzY3JpcHRpb24gU2NvcGVzIG9mIHJlcXVlc3Rcblx0ICovXG5cdHJlYWRvbmx5IHNjb3Blcz86IHN0cmluZ1tdO1xuXG5cdC8qKlxuXHQgKiBAaW50ZXJuYWxcblx0ICogQGRlc2NyaXB0aW9uIFRpdGxlIG9mIHJlcXVlc3QuXG5cdCAqL1xuXHRyZWFkb25seSB0aXRsZT86IHN0cmluZztcblxuXHQvKipcblx0ICogQGludGVybmFsXG5cdCAqIEBkZXNjcmlwdGlvbiBUeXBlIG9mIHByb3BlcnRpZXMgcGFuZWwuXG5cdCAqL1xuXHRyZWFkb25seSBwcm9wZXJ0aWVzUGFuZWxDb21wb25lbnRUeXBlTmFtZT86IHN0cmluZztcblxuXHQvKipcblx0ICogQGludGVybmFsXG5cdCAqIEBkZXNjcmlwdGlvbiBQb3NpdGlvbiBvZiB0aGUgcmVxdWVzdC5cblx0ICovXG5cdHJlYWRvbmx5IHBvc2l0aW9uPzogbnVtYmVyO1xuXG5cdC8qKlxuXHQgKiBAaW50ZXJuYWxcblx0ICogQGRlc2NyaXB0aW9uIExpc3Qgb2YgY29tcGF0aWJsZSBwbGF0Zm9ybSBBUElzLlxuXHQgKi9cblx0cmVhZG9ubHkgY29tcGF0aWJsZUFQSXM/OiDJtUNvbXBhdGlibGVBUElzO1xufVxuIl19
@@ -0,0 +1,39 @@
1
+ // noinspection NonAsciiCharacters, JSNonASCIINames
2
+ import { isFunction } from 'lodash';
3
+ /**
4
+ * @public
5
+ * @classdesc Represents a disposable resource, similar to the execution of Observable. A
6
+ * Subscription has one important method, `unsubscribe`, that just disposes
7
+ * the resource held by the subscription.
8
+ */
9
+ // eslint-disable-next-line @typescript-eslint/naming-convention
10
+ export class ɵSubscription {
11
+ /**
12
+ * @public
13
+ * @description A flag to indicate whether this Subscription has already been unsubscribed.
14
+ */
15
+ get closed() {
16
+ return this._closed;
17
+ }
18
+ /**
19
+ * @param _initialTeardown A function executed as part of the finalization.
20
+ * process when {@link #unsubscribe} is called.
21
+ */
22
+ constructor(_initialTeardown) {
23
+ this._initialTeardown = _initialTeardown;
24
+ this._closed = false;
25
+ }
26
+ /**
27
+ * @public
28
+ * @description Disposes the resources held by the subscription.
29
+ */
30
+ unsubscribe() {
31
+ if (!this._closed) {
32
+ this._closed = true;
33
+ if (isFunction(this._initialTeardown)) {
34
+ this._initialTeardown();
35
+ }
36
+ }
37
+ }
38
+ }
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vic2NyaXB0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kZXZraXQvYmFzZS9zcmMvbGliL3B1YmxpYy9tb2RlbHMvc3Vic2NyaXB0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG1EQUFtRDtBQUVuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBSXBDOzs7OztHQUtHO0FBQ0gsZ0VBQWdFO0FBQ2hFLE1BQU0sT0FBTyxhQUFhO0lBR3pCOzs7T0FHRztJQUNILElBQVcsTUFBTTtRQUNoQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDckIsQ0FBQztJQUVEOzs7T0FHRztJQUNILFlBQW9CLGdCQUFpQztRQUFqQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWlCO1FBZDdDLFlBQU8sR0FBRyxLQUFLLENBQUM7SUFjZ0MsQ0FBQztJQUV6RDs7O09BR0c7SUFDSSxXQUFXO1FBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7WUFDcEIsSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQztnQkFDdkMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDekIsQ0FBQztRQUNGLENBQUM7SUFDRixDQUFDO0NBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBub2luc3BlY3Rpb24gTm9uQXNjaWlDaGFyYWN0ZXJzLCBKU05vbkFTQ0lJTmFtZXNcblxuaW1wb3J0IHsgaXNGdW5jdGlvbiB9IGZyb20gJ2xvZGFzaCc7XG5cbmltcG9ydCB7IMm1VGVhcmRvd25Mb2dpYyB9IGZyb20gJy4uL3R5cGVzJztcblxuLyoqXG4gKiBAcHVibGljXG4gKiBAY2xhc3NkZXNjIFJlcHJlc2VudHMgYSBkaXNwb3NhYmxlIHJlc291cmNlLCBzaW1pbGFyIHRvIHRoZSBleGVjdXRpb24gb2YgT2JzZXJ2YWJsZS4gQVxuICogU3Vic2NyaXB0aW9uIGhhcyBvbmUgaW1wb3J0YW50IG1ldGhvZCwgYHVuc3Vic2NyaWJlYCwgdGhhdCBqdXN0IGRpc3Bvc2VzXG4gKiB0aGUgcmVzb3VyY2UgaGVsZCBieSB0aGUgc3Vic2NyaXB0aW9uLlxuICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG5leHBvcnQgY2xhc3MgybVTdWJzY3JpcHRpb24ge1xuXHRwcml2YXRlIF9jbG9zZWQgPSBmYWxzZTtcblxuXHQvKipcblx0ICogQHB1YmxpY1xuXHQgKiBAZGVzY3JpcHRpb24gQSBmbGFnIHRvIGluZGljYXRlIHdoZXRoZXIgdGhpcyBTdWJzY3JpcHRpb24gaGFzIGFscmVhZHkgYmVlbiB1bnN1YnNjcmliZWQuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0IGNsb3NlZCgpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy5fY2xvc2VkO1xuXHR9XG5cblx0LyoqXG5cdCAqIEBwYXJhbSBfaW5pdGlhbFRlYXJkb3duIEEgZnVuY3Rpb24gZXhlY3V0ZWQgYXMgcGFydCBvZiB0aGUgZmluYWxpemF0aW9uLlxuXHQgKiBwcm9jZXNzIHdoZW4ge0BsaW5rICN1bnN1YnNjcmliZX0gaXMgY2FsbGVkLlxuXHQgKi9cblx0Y29uc3RydWN0b3IocHJpdmF0ZSBfaW5pdGlhbFRlYXJkb3duPzogybVUZWFyZG93bkxvZ2ljKSB7fVxuXG5cdC8qKlxuXHQgKiBAcHVibGljXG5cdCAqIEBkZXNjcmlwdGlvbiBEaXNwb3NlcyB0aGUgcmVzb3VyY2VzIGhlbGQgYnkgdGhlIHN1YnNjcmlwdGlvbi5cblx0ICovXG5cdHB1YmxpYyB1bnN1YnNjcmliZSgpOiB2b2lkIHtcblx0XHRpZiAoIXRoaXMuX2Nsb3NlZCkge1xuXHRcdFx0dGhpcy5fY2xvc2VkID0gdHJ1ZTtcblx0XHRcdGlmIChpc0Z1bmN0aW9uKHRoaXMuX2luaXRpYWxUZWFyZG93bikpIHtcblx0XHRcdFx0dGhpcy5faW5pdGlhbFRlYXJkb3duKCk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iXX0=
@@ -2,4 +2,5 @@ export * from './model';
2
2
  export * from './sys-settings';
3
3
  export * from './dialog';
4
4
  export * from './mask-service';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RldmtpdC9iYXNlL3NyYy9saWIvcHVibGljL3NlcnZpY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9zeXMtc2V0dGluZ3MnO1xuZXhwb3J0ICogZnJvbSAnLi9kaWFsb2cnO1xuZXhwb3J0ICogZnJvbSAnLi9tYXNrLXNlcnZpY2UnO1xuIl19
5
+ export * from './message-channel';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RldmtpdC9iYXNlL3NyYy9saWIvcHVibGljL3NlcnZpY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL3N5cy1zZXR0aW5ncyc7XG5leHBvcnQgKiBmcm9tICcuL2RpYWxvZyc7XG5leHBvcnQgKiBmcm9tICcuL21hc2stc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL21lc3NhZ2UtY2hhbm5lbCc7XG4iXX0=
@@ -0,0 +1,3 @@
1
+ // noinspection NonAsciiCharacters, JSNonASCIINames
2
+ export {};
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1tZXNzYWdlLWNoYW5uZWwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGV2a2l0L2Jhc2Uvc3JjL2xpYi9wdWJsaWMvc2VydmljZXMvbWVzc2FnZS1jaGFubmVsL2Jhc2UtbWVzc2FnZS1jaGFubmVsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsbURBQW1EIiwic291cmNlc0NvbnRlbnQiOlsiLy8gbm9pbnNwZWN0aW9uIE5vbkFzY2lpQ2hhcmFjdGVycywgSlNOb25BU0NJSU5hbWVzXG5cbmltcG9ydCB7IMm1TWVzc2FnZUNoYW5uZWxUeXBlIH0gZnJvbSAnLi4vLi4vZW51bXMnO1xuaW1wb3J0IHsgybVNZXNzYWdlQ2hhbm5lbEV2ZW50LCDJtVN1YnNjcmlwdGlvbiB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5cbi8qKlxuICogQHB1YmxpY1xuICogQGRlc2NyaXB0aW9uIFByb3ZpZGVzIG1ldGhvZHMgZm9yIHdvcmtpbmcgd2l0aCBtZXNzYWdlcyBzZW50IG9yIHJlY2VpdmVkIHRocm91Z2ggYSBzZXJ2ZXIgY2hhbm5lbC5cbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuZXhwb3J0IGludGVyZmFjZSDJtUJhc2VNZXNzYWdlQ2hhbm5lbFNlcnZpY2Uge1xuXHQvKipcblx0ICogQHB1YmxpY1xuXHQgKiBAZGVzY3JpcHRpb24gU3Vic2NyaWJlcyBvbiBtZXNzYWdlcyBmcm9tIGEgc3BlY2lmaWMgc2VuZGVyLlxuXHQgKiBAcGFyYW0gc2VuZGVyIFN0cmluZyBpZGVudGlmaWVyIG9mIHRoZSBzZW5kZXIuXG5cdCAqIEBwYXJhbSBjYWxsYmFjayBDYWxsYmFjayB0aGF0IHNob3VsZCBiZSBleGVjdXRlZCBvbiBlYWNoIG1lc3NhZ2UuXG5cdCAqIEByZXR1cm5zIEEgcHJvbWlzZSB0byBiZSByZXNvbHZlZCB3aXRoIGEge0BsaW5rIMm1U3Vic2NyaXB0aW9ufSBvYmplY3QgdGhhdCBjYW4gYmUgdXNlZCB0byB1bnN1YnNjcmliZS5cblx0ICovXG5cdHN1YnNjcmliZTxUPihzZW5kZXI6IHN0cmluZywgY2FsbGJhY2s6IChldmVudDogybVNZXNzYWdlQ2hhbm5lbEV2ZW50PFQ+KSA9PiB2b2lkKTogUHJvbWlzZTzJtVN1YnNjcmlwdGlvbj47XG5cblx0LyoqXG5cdCAqIEBwdWJsaWNcblx0ICogQGRlc2NyaXB0aW9uIFNlbmRzIG1lc3NhZ2UgdG8gdGhlIGNoYW5uZWwuXG5cdCAqIEBwYXJhbSBzZW5kZXIgU3RyaW5nIGlkZW50aWZpZXIgb2YgdGhlIHNlbmRlciwgdXNlZCB0byBkaXN0aW5ndWlzaCBiZXR3ZWVuIG1lc3NhZ2VzIGZyb20gZGlmZmVyZW50IHNlbmRlcnMuXG5cdCAqIEBwYXJhbSBib2R5IEJvZHkgb2YgdGhlIG1lc3NhZ2UgdGhhdCBzaG91bGQgYmUgc2VudCAocGF5bG9hZCkuIFNob3VsZCBiZSBKU09OLXNlcmlhbGl6YWJsZS5cblx0ICogQHBhcmFtIGNoYW5uZWxUeXBlIFR5cGUgb2YgbWVzc2FnZSBjaGFubmVsLlxuXHQgKi9cblx0c2VuZE1lc3NhZ2Uoc2VuZGVyOiBzdHJpbmcsIGJvZHk6IHVua25vd24sIGNoYW5uZWxUeXBlOiDJtU1lc3NhZ2VDaGFubmVsVHlwZSk6IFByb21pc2U8dm9pZD47XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export * from './base-message-channel.service';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RldmtpdC9iYXNlL3NyYy9saWIvcHVibGljL3NlcnZpY2VzL21lc3NhZ2UtY2hhbm5lbC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdDQUFnQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9iYXNlLW1lc3NhZ2UtY2hhbm5lbC5zZXJ2aWNlJztcbiJdfQ==
@@ -0,0 +1,53 @@
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VpZC50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kZXZraXQvYmFzZS9zcmMvbGliL3B1YmxpYy90eXBlcy9ndWlkLnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUE7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLHNDQUFzQyxDQUFDO0FBRWxFOzs7R0FHRztBQUNILE1BQU0sU0FBUyxHQUFHLElBQUksTUFBTSxDQUFDLGdFQUFnRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBRXBHOzs7O0dBSUc7QUFDSCxTQUFTLGdCQUFnQixDQUFDLE1BQWM7SUFDdkMsSUFBSSxHQUFHLEdBQUcsRUFBRSxDQUFDO0lBQ2IsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQ2pDLHNDQUFzQztRQUN0QyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUNELE9BQU8sR0FBRyxDQUFDO0FBQ1osQ0FBQztBQUVEOzs7R0FHRztBQUNILE1BQU0sVUFBVSxhQUFhO0lBQzVCLE9BQU87UUFDTixnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7UUFDbkIsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO1FBQ25CLGdCQUFnQixDQUFDLENBQUMsQ0FBQztRQUNuQixnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7UUFDbkIsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO0tBQ25CLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ2IsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsT0FBTyxDQUFDLEtBQWM7SUFDckMsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFlLENBQUMsQ0FBQztBQUMxRCxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxZQUFZLENBQUMsSUFBdUI7SUFDbkQsT0FBTyxDQUFDLElBQUksSUFBSSxJQUFJLEtBQUssV0FBVyxDQUFDO0FBQ3RDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBkZXNjcmlwdGlvbiBUeXBlIGZvciBHdWlkIHZhbHVlLlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgdHlwZSDJtUd1aWQgPSBzdHJpbmc7XG5cbi8qKlxuICogQHB1YmxpY1xuICogQGRlc2NyaXB0aW9uIEVtcHR5IEd1aWQgY29uc3RhbnQuXG4gKi9cbmV4cG9ydCBjb25zdCDJtUVNUFRZX0dVSUQgPSAnMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAwJztcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gUmVndWxhciBleHByZXNzaW9uIGZvciBHdWlkIHZhbGlkYXRpb24uXG4gKiBAcHVibGljXG4gKi9cbmNvbnN0IHZhbGlkYXRvciA9IG5ldyBSZWdFeHAoJ15bYS16MC05XXs4fS1bYS16MC05XXs0fS1bYS16MC05XXs0fS1bYS16MC05XXs0fS1bYS16MC05XXsxMn0kJywgJ2knKTtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gR2VuZXJhdGVzIGd1aWQgcGFydC5cbiAqIEBwYXJhbSBsZW5ndGggUGFydCBsZW5ndGguXG4gKiBAcHVibGljXG4gKi9cbmZ1bmN0aW9uIGdlbmVyYXRlR3VpZFBhcnQobGVuZ3RoOiBudW1iZXIpOiBzdHJpbmcge1xuXHRsZXQgb3V0ID0gJyc7XG5cdGZvciAobGV0IGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHtcblx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tYml0d2lzZVxuXHRcdG91dCArPSAoKCgxICsgTWF0aC5yYW5kb20oKSkgKiAweDEwMDAwKSB8IDApLnRvU3RyaW5nKDE2KS5zdWJzdHJpbmcoMSk7XG5cdH1cblx0cmV0dXJuIG91dDtcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gR2VuZXJhdGVzIG5ldyBHdWlkLlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgZnVuY3Rpb24gybVnZW5lcmF0ZUd1aWQoKTogybVHdWlkIHtcblx0cmV0dXJuIFtcblx0XHRnZW5lcmF0ZUd1aWRQYXJ0KDIpLFxuXHRcdGdlbmVyYXRlR3VpZFBhcnQoMSksXG5cdFx0Z2VuZXJhdGVHdWlkUGFydCgxKSxcblx0XHRnZW5lcmF0ZUd1aWRQYXJ0KDEpLFxuXHRcdGdlbmVyYXRlR3VpZFBhcnQoMyksXG5cdF0uam9pbignLScpO1xufVxuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBDaGVja3MgaWYgdmFsdWUgaXMgR3VpZC5cbiAqIEBwYXJhbSB2YWx1ZSBWYWx1ZSBmb3IgY2hlY2suXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiDJtWlzR3VpZCh2YWx1ZTogdW5rbm93bik6IGJvb2xlYW4ge1xuXHRyZXR1cm4gQm9vbGVhbih2YWx1ZSkgJiYgdmFsaWRhdG9yLnRlc3QodmFsdWUgYXMgc3RyaW5nKTtcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gQ2hlY2tzIGlmIEd1aWQgaXMgZW1wdHkgdmFsdWUgb3IgZXF1YWwgdG8gRU1QVFlfR1VJRC5cbiAqIEBwYXJhbSBndWlkIEd1aWQgZm9yIGNoZWNrLlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgZnVuY3Rpb24gybVpc0VtcHR5R3VpZChndWlkOiDJtUd1aWQgfCB1bmRlZmluZWQpOiBib29sZWFuIHtcblx0cmV0dXJuICFndWlkIHx8IGd1aWQgPT09IMm1RU1QVFlfR1VJRDtcbn1cbiJdfQ==