@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.
- package/CHANGELOG.md +2 -0
- package/esm2022/lib/external/utils/date-utils.mjs +51 -0
- package/esm2022/lib/internal/enums/platform-apis.enum.mjs +16 -0
- package/esm2022/lib/internal/models/compatible-apis.model.mjs +2 -0
- package/esm2022/lib/internal/models/filtration-platform-api-options.model.mjs +2 -0
- package/esm2022/lib/internal/models/index.mjs +5 -0
- package/esm2022/lib/internal/models/platform-api-options.model.mjs +2 -0
- package/esm2022/lib/public/enums/message-channel-type.enum.mjs +24 -0
- package/esm2022/lib/public/esq/data-model/expressions/arithmetic/arithmetic-expression.mjs +60 -0
- package/esm2022/lib/public/esq/data-model/expressions/base-expression.mjs +68 -0
- package/esm2022/lib/public/esq/data-model/expressions/columns/column-expression.mjs +55 -0
- package/esm2022/lib/public/esq/data-model/expressions/functions/aggregation-function-expression.mjs +50 -0
- package/esm2022/lib/public/esq/data-model/expressions/functions/argument-function-expression.mjs +40 -0
- package/esm2022/lib/public/esq/data-model/expressions/functions/date-part-function-expression.mjs +43 -0
- package/esm2022/lib/public/esq/data-model/expressions/functions/function-expression.mjs +30 -0
- package/esm2022/lib/public/esq/data-model/expressions/functions/length-function-expression.mjs +43 -0
- package/esm2022/lib/public/esq/data-model/expressions/functions/macros-function-expression.mjs +53 -0
- package/esm2022/lib/public/esq/data-model/expressions/functions/window-function-expression.mjs +41 -0
- package/{esm2020 → esm2022}/lib/public/esq/data-model/expressions/mocks/expression.mock.mjs +7 -7
- package/esm2022/lib/public/esq/data-model/expressions/parameters/parameter-expression.mjs +117 -0
- package/esm2022/lib/public/esq/data-model/expressions/sub-queries/aggregation-sub-query-expression.mjs +43 -0
- package/esm2022/lib/public/esq/data-model/expressions/sub-queries/sub-query-expression.mjs +82 -0
- package/esm2022/lib/public/esq/data-model/filters/base-filter.mjs +68 -0
- package/esm2022/lib/public/esq/data-model/filters/between-filter.mjs +58 -0
- package/esm2022/lib/public/esq/data-model/filters/compare-filter.mjs +52 -0
- package/esm2022/lib/public/esq/data-model/filters/exists-filter.mjs +64 -0
- package/esm2022/lib/public/esq/data-model/filters/filter-group.mjs +247 -0
- package/esm2022/lib/public/esq/data-model/filters/in-filter.mjs +57 -0
- package/esm2022/lib/public/esq/data-model/filters/isnull-filter.mjs +52 -0
- package/esm2022/lib/public/esq/data-model/filters/mocks/filter.mock.mjs +34 -0
- package/esm2022/lib/public/esq/data-model/filters/single-filter.mjs +39 -0
- package/{esm2020 → esm2022}/lib/public/esq/data-model/queries/base-filterable-query.mjs +1 -1
- package/esm2022/lib/public/esq/data-model/queries/entity-schema-query.mjs +242 -0
- package/esm2022/lib/public/exceptions/validation-utilities.mjs +66 -0
- package/{esm2020 → esm2022}/lib/public/models/index.mjs +2 -1
- package/esm2022/lib/public/models/message-channel-event.mjs +3 -0
- package/esm2022/lib/public/models/request/request-registration-config.model.mjs +2 -0
- package/esm2022/lib/public/models/subscription.mjs +39 -0
- package/{esm2020 → esm2022}/lib/public/services/index.mjs +2 -1
- package/esm2022/lib/public/services/message-channel/base-message-channel.service.mjs +3 -0
- package/esm2022/lib/public/services/message-channel/index.mjs +2 -0
- package/esm2022/lib/public/types/guid.type.mjs +53 -0
- package/{fesm2020 → fesm2022}/creatio-base.mjs +202 -120
- package/fesm2022/creatio-base.mjs.map +1 -0
- package/index.d.ts +130 -11
- package/package.json +7 -16
- package/esm2020/lib/external/utils/date-utils.mjs +0 -29
- package/esm2020/lib/internal/enums/platform-apis.enum.mjs +0 -12
- package/esm2020/lib/internal/models/index.mjs +0 -2
- package/esm2020/lib/public/enums/message-channel-type.enum.mjs +0 -11
- package/esm2020/lib/public/esq/data-model/expressions/arithmetic/arithmetic-expression.mjs +0 -60
- package/esm2020/lib/public/esq/data-model/expressions/base-expression.mjs +0 -68
- package/esm2020/lib/public/esq/data-model/expressions/columns/column-expression.mjs +0 -55
- package/esm2020/lib/public/esq/data-model/expressions/functions/aggregation-function-expression.mjs +0 -50
- package/esm2020/lib/public/esq/data-model/expressions/functions/argument-function-expression.mjs +0 -40
- package/esm2020/lib/public/esq/data-model/expressions/functions/date-part-function-expression.mjs +0 -43
- package/esm2020/lib/public/esq/data-model/expressions/functions/function-expression.mjs +0 -30
- package/esm2020/lib/public/esq/data-model/expressions/functions/length-function-expression.mjs +0 -43
- package/esm2020/lib/public/esq/data-model/expressions/functions/macros-function-expression.mjs +0 -53
- package/esm2020/lib/public/esq/data-model/expressions/functions/window-function-expression.mjs +0 -41
- package/esm2020/lib/public/esq/data-model/expressions/parameters/parameter-expression.mjs +0 -117
- package/esm2020/lib/public/esq/data-model/expressions/sub-queries/aggregation-sub-query-expression.mjs +0 -43
- package/esm2020/lib/public/esq/data-model/expressions/sub-queries/sub-query-expression.mjs +0 -82
- package/esm2020/lib/public/esq/data-model/filters/base-filter.mjs +0 -68
- package/esm2020/lib/public/esq/data-model/filters/between-filter.mjs +0 -58
- package/esm2020/lib/public/esq/data-model/filters/compare-filter.mjs +0 -52
- package/esm2020/lib/public/esq/data-model/filters/exists-filter.mjs +0 -64
- package/esm2020/lib/public/esq/data-model/filters/filter-group.mjs +0 -247
- package/esm2020/lib/public/esq/data-model/filters/in-filter.mjs +0 -57
- package/esm2020/lib/public/esq/data-model/filters/isnull-filter.mjs +0 -52
- package/esm2020/lib/public/esq/data-model/filters/mocks/filter.mock.mjs +0 -34
- package/esm2020/lib/public/esq/data-model/filters/single-filter.mjs +0 -39
- package/esm2020/lib/public/esq/data-model/queries/entity-schema-query.mjs +0 -242
- package/esm2020/lib/public/exceptions/validation-utilities.mjs +0 -66
- package/esm2020/lib/public/models/message-channel-event.mjs +0 -2
- package/esm2020/lib/public/models/request/request-registration-config.model.mjs +0 -2
- package/esm2020/lib/public/types/guid.type.mjs +0 -53
- package/fesm2015/creatio-base.mjs +0 -3313
- package/fesm2015/creatio-base.mjs.map +0 -1
- package/fesm2020/creatio-base.mjs.map +0 -1
- /package/{esm2020 → esm2022}/creatio-base.mjs +0 -0
- /package/{esm2020 → esm2022}/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/external/utils/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/internal/enums/data-schema-attribute-type.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/internal/enums/data-source-scope.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/internal/enums/default-value-source.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/internal/enums/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/internal/enums/lookup-mode.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/internal/model/data-schema/data-schema-attribute-aggregation-config.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/internal/model/data-schema/data-schema-attribute-function-config.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/internal/model/data-schema/data-schema-validator-config.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/internal/model/data-schema/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/internal/model/data-source-config.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/internal/model/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/internal/models/default-value-schema.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/enums/aggregation-function.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/enums/aggregation-type.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/enums/data-schema-type.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/enums/data-value-type.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/enums/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/enums/model-in-page-action.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/esq/data-model/columns/arithmetic/arithmetic-query-column.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/esq/data-model/columns/base-query-column.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/esq/data-model/columns/entity-column/entity-query-column.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/esq/data-model/columns/functions/aggregation-function-column.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/esq/data-model/columns/functions/date-part-function-column.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/esq/data-model/columns/functions/length-function-column.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/esq/data-model/columns/functions/macros-function-column.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/esq/data-model/columns/functions/window-function-column.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/esq/data-model/columns/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/esq/data-model/columns/parameters/parameter-query-column.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/esq/data-model/columns/query-column-test-utils.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/esq/data-model/columns/sub-queries/aggregation-sub-query-column.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/esq/data-model/columns/sub-queries/sub-query-column.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/esq/data-model/enums/admin-unit-role-sources.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/esq/data-model/enums/aggregation-eval-type.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/esq/data-model/enums/arithmetic-operation.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/esq/data-model/enums/comparison-type.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/esq/data-model/enums/date-part-type.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/esq/data-model/enums/expression-type.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/esq/data-model/enums/filter-type.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/esq/data-model/enums/function-type.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/esq/data-model/enums/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/esq/data-model/enums/logical-operator-type.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/esq/data-model/enums/order-direction.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/esq/data-model/enums/query-macros-type.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/esq/data-model/expressions/arithmetic/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/esq/data-model/expressions/columns/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/esq/data-model/expressions/expression-parser/base-expression-parser.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/esq/data-model/expressions/expression-parser/expression-parser.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/esq/data-model/expressions/expression-parser/expression-resolver.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/esq/data-model/expressions/expression-parser/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/esq/data-model/expressions/functions/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/esq/data-model/expressions/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/esq/data-model/expressions/mocks/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/esq/data-model/expressions/parameters/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/esq/data-model/expressions/sub-queries/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/esq/data-model/filters/filter-parser/base-filter-parser.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/esq/data-model/filters/filter-parser/filter-parser.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/esq/data-model/filters/filter-parser/filter-resolver.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/esq/data-model/filters/filter-parser/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/esq/data-model/filters/filter-test-utils.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/esq/data-model/filters/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/esq/data-model/filters/mocks/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/esq/data-model/filters/mocks/parser.mock.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/esq/data-model/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/esq/data-model/metadata-provider/metadata-provider.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/esq/data-model/queries/base-query.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/esq/data-model/queries/delete-query.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/esq/data-model/queries/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/esq/data-model/queries/insert-query.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/esq/data-model/queries/query-operation-type.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/esq/data-model/queries/select-localization-query.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/esq/data-model/queries/update-query.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/esq/data-model/used-column.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/esq/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/exceptions/argument-empty-exception.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/exceptions/argument-out-of-range-exception.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/exceptions/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/exceptions/item-not-found-exception.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/exceptions/next-handler-already-specified-exception.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/interfaces/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/interfaces/serializable.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/models/data-source/data-source-insert-result.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/models/data-source/data-source-save-result.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/models/data-source/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/models/item-creation-config.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/models/lookup-value.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/models/model-init-config.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/models/request/base-request.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/models/request/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/models/request-handler/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/models/request-handler/request-handler.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/models/view-model-collection.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/models/view-model-context.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/services/dialog/dialog.service.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/services/dialog/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/services/dialog/models/base-dialog-button-config.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/services/dialog/models/dialog-action.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/services/dialog/models/dialog-config.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/services/dialog/models/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/services/mask-service/base-mask.service.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/services/mask-service/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/services/mask-service/schema-view-mask.request.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/services/model/base-model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/services/model/data-schema-attribute.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/services/model/data-schema.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/services/model/data-source-aggregation-config.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/services/model/data-source-attribute.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/services/model/data-source-can-execute-operation.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/services/model/data-source-function-config.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/services/model/data-source-paging-config.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/services/model/data-source-parameter.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/services/model/data-source-sorting-config.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/services/model/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/services/model/model-load-options.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/services/sys-settings/base-sys-settings.service.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/services/sys-settings/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/types/abstract-type.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/types/aggregation-eval.type.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/types/button-color.type.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/types/date-part.type.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/types/entity-column-value.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/types/function.type.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/types/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/types/json-data.type.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/types/localizable-string.type.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/types/localize-fn.type.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/types/resolve-dependency-fn.type.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/types/sort-direction.type.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/public/types/teardown-logic.type.mjs +0 -0
- /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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LXNjaGVtYS1xdWVyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGV2a2l0L2Jhc2Uvc3JjL2xpYi9wdWJsaWMvZXNxL2RhdGEtbW9kZWwvcXVlcmllcy9lbnRpdHktc2NoZW1hLXF1ZXJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVqRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUU3RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUduRixPQUFPLEVBQ04sMEJBQTBCLEVBQzFCLDBCQUEwQixFQUMxQixzQkFBc0IsRUFFdEIsdUJBQXVCLEVBQ3ZCLGtCQUFrQixFQUNsQixxQkFBcUIsRUFDckIscUJBQXFCLEVBQ3JCLHFCQUFxQixFQUNyQixxQkFBcUIsR0FDckIsTUFBTSxZQUFZLENBQUM7QUFDcEIsT0FBTyxFQUVOLG9CQUFvQixHQUtwQixNQUFNLFVBQVUsQ0FBQztBQUNsQixPQUFPLEVBQUUsOEJBQThCLEVBQW1CLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUF1QnBHOzs7O0dBSUc7QUFDSCxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsb0JBQW9CO0lBc0MzRCxZQUFZLGNBQXNCO1FBQ2pDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsY0FBYyxDQUFDLENBQUM7UUF0QzNDLGFBQVEsR0FBRyxJQUFJLEdBQUcsRUFBNEIsQ0FBQztRQUV2RDs7V0FFRztRQUNJLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFFMUI7O1dBRUc7UUFDSSxhQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFFckI7O1dBRUc7UUFDSSxl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QixVQUFrQixFQUNsQixlQUFpQyxFQUNqQyxXQUFtQixFQUNuQixzQkFBNEMsb0JBQW9CLENBQUMsSUFBSTtRQUVyRSxNQUFNLGdCQUFnQixHQUFHLElBQUksOEJBQThCLENBQUM7WUFDM0QsZUFBZTtZQUNmLG1CQUFtQjtZQUNuQixnQkFBZ0IsRUFBRSxJQUFJLGlCQUFpQixDQUFDLEVBQUUsVUFBVSxFQUFFLENBQUM7U0FDdkQsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxNQUFNLEdBQUcsSUFBSSxxQkFBcUIsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzNELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDN0MsT0FBTyxNQUFNLENBQUM7SUFDZixDQUFDO0lBRUQ7O09BRUc7SUFDSSxlQUFlO1FBQ3JCLE1BQU0sV0FBVyxHQUFpQixFQUFFLENBQUM7UUFDckMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNoQyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsTUFBTSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUM7UUFDL0MsQ0FBQyxDQUFDLENBQUM7UUFDSCxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDbEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDNUIsVUFBVSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1lBQzdDLENBQUM7UUFDRixDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sQ0FBQyxHQUFHLFdBQVcsRUFBRSxHQUFHLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDO0lBQ3JELENBQUM7Q0FDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNsYXNzVG9QbGFpbiB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcblxuaW1wb3J0IHsgybVCYXNlRmlsdGVyYWJsZVF1ZXJ5IH0gZnJvbSAnLi9iYXNlLWZpbHRlcmFibGUtcXVlcnknO1xuaW1wb3J0IHsgybVRdWVyeU9wZXJhdGlvblR5cGUgfSBmcm9tICcuL3F1ZXJ5LW9wZXJhdGlvbi10eXBlJztcbmltcG9ydCB7IMm1QWdncmVnYXRpb25UeXBlLCDJtURhdGFWYWx1ZVR5cGUgfSBmcm9tICcuLi8uLi8uLi9lbnVtcyc7XG5pbXBvcnQgeyDJtUl0ZW1Ob3RGb3VuZEV4Y2VwdGlvbiwgybVWYWxpZGF0aW9uVXRpbGl0aWVzIH0gZnJvbSAnLi4vLi4vLi4vZXhjZXB0aW9ucyc7XG5pbXBvcnQgeyDJtURhdGFTb3VyY2VBZ2dyZWdhdGlvbkNvbmZpZyB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL21vZGVsL2RhdGEtc291cmNlLWFnZ3JlZ2F0aW9uLWNvbmZpZyc7XG5pbXBvcnQgeyDJtUVudGl0eUNvbHVtblZhbHVlIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHtcblx0ybVBZ2dyZWdhdGlvbkZ1bmN0aW9uQ29sdW1uLFxuXHTJtUFnZ3JlZ2F0aW9uU3ViUXVlcnlDb2x1bW4sXG5cdMm1QXJpdGhtZXRpY1F1ZXJ5Q29sdW1uLFxuXHTJtUJhc2VRdWVyeUNvbHVtbixcblx0ybVEYXRlUGFydEZ1bmN0aW9uQ29sdW1uLFxuXHTJtUVudGl0eVF1ZXJ5Q29sdW1uLFxuXHTJtUxlbmd0aEZ1bmN0aW9uQ29sdW1uLFxuXHTJtU1hY3Jvc0Z1bmN0aW9uQ29sdW1uLFxuXHTJtVBhcmFtZXRlclF1ZXJ5Q29sdW1uLFxuXHTJtVdpbmRvd0Z1bmN0aW9uQ29sdW1uLFxufSBmcm9tICcuLi9jb2x1bW5zJztcbmltcG9ydCB7XG5cdGVBZG1pblVuaXRSb2xlU291cmNlcyxcblx0ybVBZ2dyZWdhdGlvbkV2YWxUeXBlLFxuXHTJtUFyaXRobWV0aWNPcGVyYXRpb24sXG5cdMm1RGF0ZVBhcnRUeXBlLFxuXHTJtUV4cHJlc3Npb25UeXBlLFxuXHTJtVF1ZXJ5TWFjcm9zVHlwZSxcbn0gZnJvbSAnLi4vZW51bXMnO1xuaW1wb3J0IHsgybVBZ2dyZWdhdGlvbkZ1bmN0aW9uRXhwcmVzc2lvbiwgybVCYXNlRXhwcmVzc2lvbiwgybVDb2x1bW5FeHByZXNzaW9uIH0gZnJvbSAnLi4vZXhwcmVzc2lvbnMnO1xuaW1wb3J0IHsgVXNlZENvbHVtbiB9IGZyb20gJy4uL3VzZWQtY29sdW1uJztcblxuLyoqXG4gKiBAcHVibGljXG4gKiBAZGVzY3JpcHRpb24gSW50ZXJmYWNlIGZvciBjb25kaXRpb24gd2l0aCBleHByZXNzaW9uIGFuZCBwYXJhbWV0ZXIuXG4gKiBAcHJvcGVydHkge8m1RXhwcmVzc2lvblR5cGV9IGV4cHJlc3Npb25UeXBlIC0gVHlwZSBvZiBleHByZXNzaW9uLlxuICogQHByb3BlcnR5IHtSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj19IHBhcmFtZXRlciAtIFBhcmFtZXRlci5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSDJtUNvbmRpdGlvbmFsVmFsdWVJdGVtIHtcblx0LyoqXG5cdCAqIEBkZXNjcmlwdGlvbiBUeXBlIG9mIGV4cHJlc3Npb24uXG5cdCAqL1xuXHRleHByZXNzaW9uVHlwZTogybVFeHByZXNzaW9uVHlwZTtcblx0LyoqXG5cdCAqIEBkZXNjcmlwdGlvbiBQYXJhbWV0ZXIuXG5cdCAqL1xuXHRwYXJhbWV0ZXI6IHtcblx0XHRkYXRhVmFsdWVUeXBlOiDJtURhdGFWYWx1ZVR5cGU7XG5cdFx0dmFsdWU6IHN0cmluZztcblx0fTtcbn1cblxuLyoqXG4gKiBAcHVibGljXG4gKiBAZGVzY3JpcHRpb24gVGhlIHF1ZXJ5IGNsYXNzIGZvciBkYXRhIGZldGNoaW5nLlxuICogQGV4dGVuZHMge8m1QmFzZUZpbHRlcmFibGVRdWVyeX1cbiAqL1xuZXhwb3J0IGNsYXNzIMm1RW50aXR5U2NoZW1hUXVlcnkgZXh0ZW5kcyDJtUJhc2VGaWx0ZXJhYmxlUXVlcnkge1xuXHRwcml2YXRlIF9jb2x1bW5zID0gbmV3IE1hcDxzdHJpbmcsIMm1QmFzZVF1ZXJ5Q29sdW1uPigpO1xuXG5cdC8qKlxuXHQgKiBAZGVzY3JpcHRpb24gRGV0ZXJtaW5lcyBpZiBtZXJnZSBkdXBsaWNhdGVzIGluIHF1ZXJ5IHJlc3VsdC5cblx0ICovXG5cdHB1YmxpYyBpc0Rpc3RpbmN0ID0gZmFsc2U7XG5cblx0LyoqXG5cdCAqIEBkZXNjcmlwdGlvbiBOdW1iZXIgb2Ygcm93cyB0byBzZWxlY3QuXG5cdCAqL1xuXHRwdWJsaWMgcm93Q291bnQgPSAtMTtcblxuXHQvKipcblx0ICogQGRlc2NyaXB0aW9uIFJvd3MgY291bnQgdG8gc2tpcC5cblx0ICovXG5cdHB1YmxpYyByb3dzT2Zmc2V0ID0gLTE7XG5cblx0LyoqXG5cdCAqIEBkZXNjcmlwdGlvbiBRdWVyeSBjb25kaXRpb25hbCB2YWx1ZXNcblx0ICovXG5cdHB1YmxpYyBjb25kaXRpb25hbFZhbHVlcz86IG51bGwgfCB7IGl0ZW1zOiB1bmtub3duIH07XG5cblx0LyoqXG5cdCAqIEBkZXNjcmlwdGlvbiBUaGUgcGFyYW1ldGVyIHRoYXQgZGV0ZXJtaW5lcyB3aGV0aGVyIHRvIHVzZSB0aGUgbG9jYWxpemVkIGRhdGEuXG5cdCAqL1xuXHRwdWJsaWMgdXNlTG9jYWxpemF0aW9uID0gdHJ1ZTtcblxuXHQvKipcblx0ICogQGRlc2NyaXB0aW9uIFJlcHJlc2VudCBwYXJhbWV0ZXIgd2hpY2ggZGV0ZXJtaW5lcyBkaXNhYmxpbmcgZGF0YSBpbiBmaWx0ZXJpbmcuXG5cdCAqL1xuXHRwdWJsaWMgdXNlUmVjb3JkRGVhY3RpdmF0aW9uID0gZmFsc2U7XG5cblx0LyoqXG5cdCAqIEBkZXNjcmlwdGlvbiBCaXQgbWFzayB0aGF0IGluZGljYXRlcyB3aGljaCByb2xlIHNvdXJjZXMgd2lsbCBiZSBjb25zaWRlcmVkIHdoZW4gY2hlY2tpbmcgcmVjb3JkIHJpZ2h0cy5cblx0ICovXG5cdHB1YmxpYyBhZG1pblVuaXRSb2xlU291cmNlcz86IGVBZG1pblVuaXRSb2xlU291cmNlcztcblxuXHRjb25zdHJ1Y3Rvcihyb290U2NoZW1hTmFtZTogc3RyaW5nKSB7XG5cdFx0c3VwZXIoybVRdWVyeU9wZXJhdGlvblR5cGUuU2VsZWN0LCByb290U2NoZW1hTmFtZSk7XG5cdH1cblxuXHRwcml2YXRlIF9pbnRlcm5hbEFkZENvbHVtbihrZXk6IHN0cmluZywgY29sdW1uOiDJtUJhc2VRdWVyeUNvbHVtbik6IHZvaWQge1xuXHRcdGlmICghdGhpcy5fY29sdW1ucy5oYXMoa2V5KSkge1xuXHRcdFx0dGhpcy5fY29sdW1ucy5zZXQoa2V5LCBjb2x1bW4pO1xuXHRcdH1cblx0fVxuXG5cdHByaXZhdGUgX2dldElzUGFnZWFibGUgPSAoKTogYm9vbGVhbiA9PiB0aGlzLnJvd0NvdW50ID4gMCAmJiB0aGlzLnJvd3NPZmZzZXQgPiAtMTtcblxuXHQvLyBlbmRyZWdpb25cblxuXHQvLyByZWdpb24gTWV0aG9kczogUHVibGljXG5cblx0LyoqXG5cdCAqIEBwdWJsaWNcblx0ICogQGRlc2NyaXB0aW9uIFJldHVybnMgY29sdW1uIGluc3RhbmNlIGJ5IGNvbHVtbiBhbGlhcy5cblx0ICogQHBhcmFtIGNvbHVtbkFsaWFzIENvbHVtbiBhbGlhcy5cblx0ICogQHJldHVybnMgW0Jhc2VRdWVyeUNvbHVtbl0gQ29sdW1uIGluc3RhbmNlLlxuXHQgKi9cblx0cHVibGljIGdldENvbHVtbihjb2x1bW5BbGlhczogc3RyaW5nKTogybVCYXNlUXVlcnlDb2x1bW4ge1xuXHRcdGlmICghdGhpcy5fY29sdW1ucy5oYXMoY29sdW1uQWxpYXMpKSB7XG5cdFx0XHR0aHJvdyBuZXcgybVJdGVtTm90Rm91bmRFeGNlcHRpb24oY29sdW1uQWxpYXMpO1xuXHRcdH1cblx0XHRyZXR1cm4gdGhpcy5maW5kQ29sdW1uKGNvbHVtbkFsaWFzKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBAcHVibGljXG5cdCAqIEBkZXNjcmlwdGlvbiBSZXR1cm5zIGNvbHVtbiBpbnN0YW5jZSBieSBjb2x1bW4gYWxpYXMgaWYgbm90IGZvdW5kIHJldHVybnMgbnVsbC5cblx0ICovXG5cdHB1YmxpYyBmaW5kQ29sdW1uKGNvbHVtbkFsaWFzOiBzdHJpbmcpOiDJtUJhc2VRdWVyeUNvbHVtbiB7XG5cdFx0cmV0dXJuIHRoaXMuX2NvbHVtbnMuZ2V0KGNvbHVtbkFsaWFzKSBhcyDJtUJhc2VRdWVyeUNvbHVtbjtcblx0fVxuXG5cdC8qKiB7QGluaGVyaXREb2MgybVNZXRhZGF0YVByb3ZpZGVyLmdldE1ldGFkYXRhfSAqL1xuXHRwdWJsaWMgZ2V0TWV0YWRhdGEoKTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHQuLi5zdXBlci5nZXRNZXRhZGF0YSgpLFxuXHRcdFx0Y29sdW1uczoge1xuXHRcdFx0XHRpdGVtczogY2xhc3NUb1BsYWluKHRoaXMuX2NvbHVtbnMsIHsgZXhwb3NlVW5zZXRGaWVsZHM6IGZhbHNlLCBleGNsdWRlUHJlZml4ZXM6IFsnXyddIH0pLFxuXHRcdFx0fSxcblx0XHRcdGFsbENvbHVtbnM6IGZhbHNlLFxuXHRcdFx0aXNEaXN0aW5jdDogdGhpcy5pc0Rpc3RpbmN0LFxuXHRcdFx0aWdub3JlRGlzcGxheVZhbHVlczogZmFsc2UsXG5cdFx0XHRyb3dDb3VudDogdGhpcy5yb3dDb3VudCxcblx0XHRcdHJvd3NPZmZzZXQ6IHRoaXMucm93c09mZnNldCxcblx0XHRcdGFkbWluVW5pdFJvbGVTb3VyY2VzOiB0aGlzLmFkbWluVW5pdFJvbGVTb3VyY2VzLFxuXHRcdFx0aXNQYWdlYWJsZTogdGhpcy5fZ2V0SXNQYWdlYWJsZSgpLFxuXHRcdFx0Y29uZGl0aW9uYWxWYWx1ZXM6IHRoaXMuY29uZGl0aW9uYWxWYWx1ZXMgPyB0aGlzLmNvbmRpdGlvbmFsVmFsdWVzIDogbnVsbCxcblx0XHRcdGlzSGllcmFyY2hpY2FsOiBmYWxzZSxcblx0XHRcdGhpZXJhcmNoaWNhbE1heERlcHRoOiAwLFxuXHRcdFx0aGllcmFyY2hpY2FsQ29sdW1uTmFtZTogbnVsbCxcblx0XHRcdGhpZXJhcmNoaWNhbENvbHVtblZhbHVlOiBudWxsLFxuXHRcdFx0dXNlTG9jYWxpemF0aW9uOiB0aGlzLnVzZUxvY2FsaXphdGlvbixcblx0XHRcdHVzZVJlY29yZERlYWN0aXZhdGlvbjogdGhpcy51c2VSZWNvcmREZWFjdGl2YXRpb24sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBAcHVibGljXG5cdCAqIEBkZXNjcmlwdGlvbiBBZGQgY29sdW1uLlxuXHQgKiBAcGFyYW0gY29sdW1uIENvbHVtbiBwYXRoLlxuXHQgKiBAcGFyYW0gY29sdW1uQWxpYXMgQ29sdW1uIGFsaWFzLlxuXHQgKiBAcmV0dXJucyBbQmFzZVF1ZXJ5Q29sdW1uXSBDb2x1bW4gaW5zdGFuY2UuXG5cdCAqL1xuXHRwdWJsaWMgYWRkQ29sdW1uKGNvbHVtbjogybVCYXNlUXVlcnlDb2x1bW4sIGNvbHVtbkFsaWFzOiBzdHJpbmcpOiDJtUJhc2VRdWVyeUNvbHVtbiB7XG5cdFx0dGhpcy5faW50ZXJuYWxBZGRDb2x1bW4oY29sdW1uQWxpYXMsIGNvbHVtbik7XG5cdFx0cmV0dXJuIGNvbHVtbjtcblx0fVxuXG5cdC8qKlxuXHQgKiBAcHVibGljXG5cdCAqIEBkZXNjcmlwdGlvbiBBZGQgY29sdW1uIGJ5IGNvbHVtbiBwYXRoLlxuXHQgKiBAcGFyYW0gY29sdW1uUGF0aCBDb2x1bW4gcGF0aC5cblx0ICogQHBhcmFtIGNvbHVtbkFsaWFzIENvbHVtbiBhbGlhcy5cblx0ICogQHJldHVybnMgW0VudGl0eVF1ZXJ5Q29sdW1uXSBDb2x1bW4gaW5zdGFuY2UuXG5cdCAqL1xuXHRwdWJsaWMgYWRkU2NoZW1hQ29sdW1uKGNvbHVtblBhdGg6IHN0cmluZywgY29sdW1uQWxpYXM/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
|
-
|
|
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
|
-
|
|
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==
|