@creatio/base 0.830.0 → 0.832.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 +4 -0
- package/esm2022/lib/public/enums/aggregation-type.enum.mjs +10 -2
- package/esm2022/lib/public/enums/data-schema-type.enum.mjs +3 -2
- package/esm2022/lib/public/enums/data-value-type.enum.mjs +71 -2
- package/esm2022/lib/public/esq/data-model/columns/base-query-column.mjs +15 -1
- package/esm2022/lib/public/esq/data-model/columns/entity-column/entity-query-column.mjs +2 -1
- package/esm2022/lib/public/esq/data-model/columns/functions/aggregation-function-column.mjs +2 -2
- package/esm2022/lib/public/esq/data-model/columns/functions/date-part-function-column.mjs +3 -1
- package/esm2022/lib/public/esq/data-model/enums/aggregation-eval-type.enum.mjs +5 -2
- package/esm2022/lib/public/esq/data-model/enums/arithmetic-operation.enum.mjs +5 -2
- package/esm2022/lib/public/esq/data-model/enums/comparison-type.enum.mjs +12 -2
- package/esm2022/lib/public/esq/data-model/enums/date-part-type.enum.mjs +11 -2
- package/esm2022/lib/public/esq/data-model/enums/expression-type.enum.mjs +5 -1
- package/esm2022/lib/public/esq/data-model/enums/filter-type.enum.mjs +9 -1
- package/esm2022/lib/public/esq/data-model/enums/function-type.enum.mjs +8 -2
- package/esm2022/lib/public/esq/data-model/enums/logical-operator-type.enum.mjs +4 -2
- package/esm2022/lib/public/esq/data-model/enums/order-direction.enum.mjs +4 -2
- package/esm2022/lib/public/esq/data-model/enums/query-macros-type.enum.mjs +31 -2
- package/esm2022/lib/public/esq/data-model/expressions/arithmetic/arithmetic-expression.mjs +2 -1
- package/esm2022/lib/public/esq/data-model/expressions/base-expression.mjs +3 -1
- package/esm2022/lib/public/esq/data-model/expressions/columns/column-expression.mjs +2 -1
- package/esm2022/lib/public/esq/data-model/expressions/esq-expression.inteface.mjs +2 -0
- package/esm2022/lib/public/esq/data-model/expressions/functions/aggregation-function-expression.mjs +2 -1
- package/esm2022/lib/public/esq/data-model/expressions/functions/argument-function-expression.mjs +2 -1
- package/esm2022/lib/public/esq/data-model/expressions/functions/date-part-function-expression.mjs +2 -1
- package/esm2022/lib/public/esq/data-model/expressions/functions/function-expression.mjs +4 -1
- package/esm2022/lib/public/esq/data-model/expressions/functions/length-function-expression.mjs +2 -1
- package/esm2022/lib/public/esq/data-model/expressions/functions/macros-function-expression.mjs +3 -1
- package/esm2022/lib/public/esq/data-model/expressions/functions/window-function-expression.mjs +2 -1
- package/esm2022/lib/public/esq/data-model/expressions/parameters/parameter-expression.mjs +3 -1
- package/esm2022/lib/public/esq/data-model/filters/base-filter.mjs +8 -3
- package/esm2022/lib/public/esq/data-model/filters/between-filter.mjs +9 -1
- package/esm2022/lib/public/esq/data-model/filters/compare-filter.mjs +9 -2
- package/esm2022/lib/public/esq/data-model/filters/esq-filter.interface.mjs +2 -0
- package/esm2022/lib/public/esq/data-model/filters/exists-filter.mjs +7 -1
- package/esm2022/lib/public/esq/data-model/filters/filter-group.mjs +12 -2
- package/esm2022/lib/public/esq/data-model/filters/in-filter.mjs +9 -2
- package/esm2022/lib/public/esq/data-model/filters/index.mjs +2 -1
- package/esm2022/lib/public/esq/data-model/filters/isnull-filter.mjs +9 -3
- package/esm2022/lib/public/esq/data-model/filters/single-filter.mjs +2 -1
- package/esm2022/lib/public/esq/data-model/queries/base-query.mjs +24 -6
- package/esm2022/lib/public/esq/data-model/queries/delete-query.mjs +5 -2
- package/esm2022/lib/public/esq/data-model/queries/entity-schema-query.mjs +27 -7
- package/esm2022/lib/public/esq/data-model/queries/insert-query.mjs +5 -8
- package/esm2022/lib/public/esq/data-model/queries/update-query.mjs +5 -10
- package/esm2022/lib/public/models/lookup-value.model.mjs +1 -1
- package/esm2022/lib/public/services/model/data-schema-attribute.mjs +1 -1
- package/esm2022/lib/public/services/model/data-source-hierarchy-config.mjs +2 -0
- package/esm2022/lib/public/services/model/index.mjs +2 -1
- package/esm2022/lib/public/services/model/model-load-options.mjs +1 -1
- package/esm2022/lib/public/types/entity-column-value.mjs +1 -1
- package/esm2022/lib/public/types/guid.type.mjs +1 -1
- package/esm2022/lib/public/types/json-data.type.mjs +1 -1
- package/fesm2022/creatio-base.mjs +313 -47
- package/fesm2022/creatio-base.mjs.map +1 -1
- package/index.d.ts +408 -49
- package/package.json +18 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"creatio-base.mjs","sources":["../../../../../libs/devkit/base/src/lib/external/utils/date-utils.ts","../../../../../libs/devkit/base/src/lib/internal/enums/data-source-scope.enum.ts","../../../../../libs/devkit/base/src/lib/internal/enums/data-schema-attribute-type.enum.ts","../../../../../libs/devkit/base/src/lib/internal/enums/default-value-source.enum.ts","../../../../../libs/devkit/base/src/lib/internal/enums/lookup-mode.ts","../../../../../libs/devkit/base/src/lib/internal/enums/platform-apis.enum.ts","../../../../../libs/devkit/base/src/lib/public/enums/data-value-type.enum.ts","../../../../../libs/devkit/base/src/lib/public/enums/aggregation-type.enum.ts","../../../../../libs/devkit/base/src/lib/public/enums/aggregation-function.enum.ts","../../../../../libs/devkit/base/src/lib/public/enums/data-schema-type.enum.ts","../../../../../libs/devkit/base/src/lib/public/enums/model-in-page-action.enum.ts","../../../../../libs/devkit/base/src/lib/public/enums/message-channel-type.enum.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/enums/admin-unit-role-sources.enum.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/enums/aggregation-eval-type.enum.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/enums/arithmetic-operation.enum.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/enums/comparison-type.enum.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/enums/date-part-type.enum.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/enums/expression-type.enum.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/enums/filter-type.enum.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/enums/function-type.enum.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/enums/logical-operator-type.enum.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/enums/order-direction.enum.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/enums/query-macros-type.enum.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/expressions/base-expression.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/expressions/arithmetic/arithmetic-expression.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/expressions/columns/column-expression.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/expressions/expression-parser/base-expression-parser.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/expressions/functions/function-expression.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/expressions/functions/argument-function-expression.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/expressions/functions/aggregation-function-expression.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/expressions/functions/date-part-function-expression.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/expressions/functions/length-function-expression.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/expressions/functions/macros-function-expression.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/expressions/functions/window-function-expression.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/expressions/parameters/parameter-expression.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/filters/base-filter.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/filters/single-filter.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/filters/between-filter.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/filters/compare-filter.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/filters/exists-filter.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/filters/in-filter.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/filters/isnull-filter.ts","../../../../../libs/devkit/base/src/lib/public/types/guid.type.ts","../../../../../libs/devkit/base/src/lib/public/exceptions/next-handler-already-specified-exception.ts","../../../../../libs/devkit/base/src/lib/public/exceptions/argument-empty-exception.ts","../../../../../libs/devkit/base/src/lib/public/exceptions/argument-out-of-range-exception.ts","../../../../../libs/devkit/base/src/lib/public/exceptions/item-not-found-exception.ts","../../../../../libs/devkit/base/src/lib/public/exceptions/validation-utilities.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/filters/filter-group.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/expressions/sub-queries/sub-query-expression.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/expressions/sub-queries/aggregation-sub-query-expression.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/expressions/expression-parser/expression-resolver.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/expressions/expression-parser/expression-parser.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/expressions/mocks/expression.mock.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/filters/mocks/filter.mock.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/filters/mocks/parser.mock.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/filters/filter-parser/base-filter-parser.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/filters/filter-parser/filter-resolver.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/filters/filter-parser/filter-parser.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/filters/filter-test-utils.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/columns/base-query-column.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/columns/arithmetic/arithmetic-query-column.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/columns/entity-column/entity-query-column.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/columns/parameters/parameter-query-column.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/columns/sub-queries/aggregation-sub-query-column.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/columns/sub-queries/sub-query-column.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/columns/functions/aggregation-function-column.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/columns/functions/date-part-function-column.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/columns/functions/length-function-column.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/columns/functions/macros-function-column.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/columns/functions/window-function-column.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/columns/query-column-test-utils.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/queries/base-query.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/queries/base-filterable-query.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/queries/query-operation-type.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/queries/delete-query.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/queries/entity-schema-query.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/queries/insert-query.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/queries/update-query.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/queries/select-localization-query.ts","../../../../../libs/devkit/base/src/lib/public/models/request/base-request.ts","../../../../../libs/devkit/base/src/lib/public/models/view-model-context.ts","../../../../../libs/devkit/base/src/lib/public/models/message-channel-event.ts","../../../../../libs/devkit/base/src/lib/public/models/subscription.ts","../../../../../libs/devkit/base/src/lib/public/services/model/data-source-parameter.ts","../../../../../libs/devkit/base/src/lib/public/services/mask-service/schema-view-mask.request.ts","../../../../../libs/devkit/base/src/lib/public/services/message-channel/base-message-channel.service.ts","../../../../../libs/devkit/base/src/creatio-base.ts"],"sourcesContent":["function isHistoricalDate(date: Date): boolean {\n\treturn date.getFullYear() < 1970;\n}\n\nfunction getISOStringWithOffset(date: Date): string {\n\tconst timeZoneOffset = date.getTimezoneOffset() * 60000;\n\treturn new Date(date.getTime() - timeZoneOffset).toISOString().slice(0, -1);\n}\n\nfunction getISOStringForPre1970Date(date: Date): string {\n\tconst year = date.getFullYear();\n\tconst month = padToTwoDigits(date.getMonth() + 1);\n\tconst day = padToTwoDigits(date.getDate());\n\tconst hours = padToTwoDigits(date.getHours());\n\tconst minutes = padToTwoDigits(date.getMinutes());\n\tconst seconds = padToTwoDigits(date.getSeconds());\n\tconst milliseconds = padToThreeDigits(date.getMilliseconds());\n\treturn `${year}-${month}-${day}T${hours}:${minutes}:${seconds}.${milliseconds}`;\n}\n\nfunction padToTwoDigits(value: number): string {\n\treturn String(value).padStart(2, '0');\n}\n\nfunction padToThreeDigits(value: number): string {\n\treturn String(value).padStart(3, '0');\n}\n\n/**\n * @public\n * Returns a string represent of date in ISO 8601 without time zone specification(doesn't convert it\n * using local timezone).\n *\n * Example:\n *\n * const date = new Date(2018, 01, 20, 15, 10, 30);\n * const result = toLocalISOString(date);\n * //result: '2018-02-20T15:10:30'\n *\n * @param date Date value.\n */\nexport function ɵtoLocalISOString(date: Date): string {\n\tif (!(date instanceof Date)) {\n\t\tthrow new TypeError();\n\t}\n\treturn isHistoricalDate(date) ? getISOStringForPre1970Date(date) : getISOStringWithOffset(date);\n}\n\n/**\n * @public\n * Returns encoded date in string value.\n * @param date Date value.\n */\nexport function ɵencodeDate(date: Date): string {\n\treturn `\"${ɵtoLocalISOString(date)}\"`;\n}\n","/**\n * @public\n */\nexport enum ɵDataSourceScope {\n\tViewElement = 'viewElement',\n\tPage = 'page',\n}\n","/**\n * @public\n */\nexport enum ɵDataSchemaAttributeType {\n\tOwnAttribute = 'Own',\n\tForwardReferenceAttribute = 'ForwardReference',\n\tBackReferenceAttribute = 'BackReference',\n\tAggregationAttribute = 'Aggregation',\n\tFunctionAttribute = 'Function',\n}\n\n/**\n * @public\n */\nexport enum ɵDataSchemaAttributeUsageType {\n\tGeneral = 0,\n\tAdvanced = 1,\n\tNone = 2,\n}\n","/**\n * @public\n */\nexport enum ɵDefaultValueSource {\n\tNone,\n\tConst,\n\tSettings,\n\tSystemValue,\n\tSequence,\n}\n","/**\n * Lookup mode\n * @internal\n */\nexport enum LookupMode {\n\tList = 'List',\n\tSelectionWindow = 'SelectionWindow',\n}\n","/**\n * Available platform APIs\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport enum ɵPlatformAPIs {\n\t/**\n\t * Selection metadata API.\n\t */\n\tSelection = 'selection',\n\t/**\n\t * Filtration metadata API.\n\t */\n\tFiltration = 'filtration',\n}\n","/**\n * @public\n * Types of values.\n */\nexport enum ɵDataValueType {\n\t/**\n\t * @description Global unique identifier.\n\t */\n\tGuid = 0,\n\t/**\n\t * @description String.\n\t */\n\tText = 1,\n\t/**\n\t * @description Integer.\n\t */\n\tInteger = 4,\n\t/**\n\t * @description Real number.\n\t */\n\tFloat = 5,\n\t/**\n\t * @description Currency.\n\t */\n\tMoney = 6,\n\t/**\n\t * @description Date and time.\n\t */\n\tDateTime = 7,\n\t/**\n\t * @description Date.\n\t */\n\tDate = 8,\n\t/**\n\t * @description Time.\n\t */\n\tTime = 9,\n\t/**\n\t * @description Lookup.\n\t */\n\tLookup = 10,\n\t/**\n\t * @description Enumeration.\n\t */\n\tEnum = 11,\n\t/**\n\t * @description Boolean.\n\t */\n\tBoolean = 12,\n\t/**\n\t * @description Binary data object.\n\t */\n\tBlob = 13,\n\t/**\n\t * @description The object of image binary data.\n\t */\n\tImage = 14,\n\t/**\n\t * @description Custom object.\n\t */\n\tCUSTOM_OBJECT = 15,\n\t/**\n\t * @description Image from a lookup.\n\t */\n\tIMAGELOOKUP = 16,\n\t/**\n\t * @description Collection of items.\n\t */\n\tCOLLECTION = 17,\n\t/**\n\t * @description Color.\n\t */\n\tColor = 18,\n\t/**\n\t * @description Localized string.\n\t */\n\tLOCALIZABLE_STRING = 19,\n\t/**\n\t * @description Object (Entity).\n\t */\n\tENTITY = 20,\n\t/**\n\t * @description Collection of objects (EntityCollection).\n\t */\n\tENTITY_COLLECTION = 21,\n\t/**\n\t * @description List of object column values (EntityColumnMappingCollection).\n\t */\n\tENTITY_COLUMN_MAPPING_COLLECTION = 22,\n\t/**\n\t * @description Hash string.\n\t */\n\tHASH_TEXT = 23,\n\t/**\n\t * @description Encrypted string.\n\t */\n\tSECURE_TEXT = 24,\n\t/**\n\t * @description File.\n\t */\n\tFILE = 25,\n\t/**\n\t * @description Mapping.\n\t */\n\tMAPPING = 26,\n\t/**\n\t * @description Short length text.\n\t */\n\tSHORT_TEXT = 27,\n\t/**\n\t * @description Medium length text.\n\t */\n\tMEDIUM_TEXT = 28,\n\t/**\n\t * @description Unlimited length text.\n\t */\n\tMAXSIZE_TEXT = 29,\n\t/**\n\t * @description Long length text.\n\t */\n\tLONG_TEXT = 30,\n\tFLOAT1 = 31,\n\tFLOAT2 = 32,\n\tFLOAT3 = 33,\n\tFLOAT4 = 34,\n\t/**\n\t * @description Localizable parameter values list.\n\t */\n\tLOCALIZABLE_PARAMETER_VALUES_LIST = 35,\n\t/**\n\t * @description Process not localizable text.\n\t */\n\tMETADATA_TEXT = 36,\n\t/**\n\t * @description Stage indicator.\n\t */\n\tSTAGE_INDICATOR = 37,\n\t/**\n\t * @description Serializable list of values.\n\t */\n\tOBJECT_LIST = 38,\n\t/**\n\t * @description Serializable list of composite values.\n\t */\n\tCOMPOSITE_OBJECT_LIST = 39,\n\tFLOAT8 = 40,\n\t/**\n\t * @description File.\n\t */\n\tFILE_LOCATOR = 41,\n\t/**\n\t * @description Phone.\n\t */\n\tPHONE_TEXT = 42,\n\t/**\n\t * @description Text with formating tags.\n\t */\n\tRICH_TEXT = 43,\n\t/**\n\t * @description Web link.\n\t */\n\tWEB_TEXT = 44,\n\t/**\n\t * @description Email.\n\t */\n\tEMAIL_TEXT = 45,\n\tCOMPOSITE_OBJECT = 46,\n}\n","/**\n * @public\n * The type of the aggregation (can be set to None).\n */\nexport enum ɵAggregationType {\n\t/**\n\t * @description Aggregation function type not defined.\n\t */\n\tNone = 0,\n\t/**\n\t * @description Aggregation function type not defined.\n\t */\n\tCount = 1,\n\t/**\n\t * @description Sum of values of all elements.\n\t */\n\tSum = 2,\n\t/**\n\t * @description Average value for all elements.\n\t */\n\tAvg = 3,\n\t/**\n\t * @description The minimum value among all elements.\n\t */\n\tMin = 4,\n\t/**\n\t * @description The maximum value among all elements.\n\t */\n\tMax = 5,\n\t/**\n\t * @description Top one record from collection.\n\t */\n\tTopOne = 6,\n}\n","/**\n * @public\n * The type of the aggregation function (can be set to None).\n */\nexport enum ɵAggregationFunction {\n\t/**\n\t * @description Aggregation function type not defined.\n\t */\n\tNone = '',\n\t/**\n\t * @description Aggregation function type not defined.\n\t */\n\tCount = 'Count',\n\t/**\n\t * @description Sum of values of all elements.\n\t */\n\tSum = 'Sum',\n\t/**\n\t * @description Average value for all elements.\n\t */\n\tAvg = 'Avg',\n\t/**\n\t * @description The minimum value among all elements.\n\t */\n\tMin = 'Min',\n\t/**\n\t * @description The maximum value among all elements.\n\t */\n\tMax = 'Max',\n\t/**\n\t * @description Top one record from collection.\n\t */\n\tTopOne = 'TopOne',\n}\n","/**\n * @public\n * @decription Type of DataSchema. In combination with the name is used for unique identification of {@link ɵDataSchema}.\n */\nexport enum ɵDataSchemaType {\n\t/**\n\t * @description Entity.\n\t */\n\tEntity = 'Entity',\n\t/**\n\t * @description Client unit.\n\t */\n\tClientUnit = 'ClientUnit',\n\t/**\n\t * @description Intent.\n\t */\n\tIntent = 'Intent',\n}\n","/**\n * @public\n * @description Type of the action of the model.\n */\nexport enum ɵModelInPageAction {\n\t/**\n\t * @description Action for editing existed record.\n\t */\n\tEdit = 'edit',\n\t/**\n\t * @description Action for adding new record.\n\t */\n\tAdd = 'add',\n\t/**\n\t * @description Action for copying the record.\n\t */\n\tCopy = 'copy',\n}\n","/**\n * @public\n * @description Type of message channel. Used to specify where the message can be received.\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport enum ɵMessageChannelType {\n\t/**\n\t * @public\n\t * @description Message will be sent to the same user who sent the message (client side).\n\t */\n\tPTP = 'PTPMsg',\n\n\t/**\n\t * @public\n\t * @description Message will be sent to all users (client side).\n\t */\n\tBROADCAST = 'BroadcastMsg',\n\n\t/**\n\t * @public\n\t * @description Message will be sent to the server.\n\t */\n\tSERVER = 'ServerMsg',\n}\n","/**\n * @public\n * @description SysAdminUnitInRole source type.\n */\nexport enum eAdminUnitRoleSources {\n\t/**\n\t * @description Empty value.\n\t */\n\tNone = 0,\n\n\t/**\n\t * @description Self.\n\t */\n\tSelf = 1,\n\n\t/**\n\t * @description Explicit entry into role.\n\t */\n\tExplicitEntry = 2,\n\n\t/**\n\t * @description Delegated role.\n\t */\n\tDelegated = 4,\n\n\t/**\n\t * @description Gets functional role from organizational role.\n\t */\n\tFuncRoleFromOrgRole = 8,\n\n\t/**\n\t * @description Gets role up hierarchy from role.\n\t */\n\tUpHierarchy = 16,\n\n\t/**\n\t * @description Gets role as a manager.\n\t */\n\tAsManager = 32,\n\n\t/**\n\t * @description Gets all roles.\n\t */\n\tAll = 63,\n}\n","/**\n * @public\n * @description Scope of the aggregation function.\n */\nexport enum ɵAggregationEvalType {\n\t/**\n\t * @description The scope of the aggregating function is not defined.\n\t */\n\tNone = 0,\n\t/**\n\t * @description Applies to all elements.\n\t */\n\tAll = 1,\n\t/**\n\t * @description Applies to unique values.\n\t */\n\tDistinct = 2,\n}\n","/**\n * @public\n * @description Arithmetic operation.\n */\nexport enum ɵArithmeticOperation {\n\t/**\n\t * @description Addition.\n\t */\n\tAddition = 0,\n\t/**\n\t * @description Subtraction.\n\t */\n\tSubtraction = 1,\n\t/**\n\t * @description Multiplication.\n\t */\n\tMultiplication = 2,\n\t/**\n\t * @description Division.\n\t */\n\tDivision = 3,\n}\n","/**\n * @public\n * @description The type of comparison operation in the filter.\n */\n/* eslint-disable @typescript-eslint/naming-convention */\nexport enum ɵComparisonType {\n\t/**\n\t * @public\n\t * @description Value is between two specified values.\n\t */\n\tBetween = 0,\n\t/**\n\t * @public\n\t * @description Value contains a specified substring.\n\t */\n\tContain = 11,\n\t/**\n\t * @public\n\t * @description Value ends with a specified substring.\n\t */\n\tEnd_with = 13,\n\t/**\n\t * @public\n\t * @description Value is equal to a specified value.\n\t */\n\tEqual = 3,\n\t/**\n\t * @public\n\t * @description Value exists (is not null or undefined).\n\t */\n\tExists = 15,\n\t/**\n\t * @public\n\t * @description Value is greater than a specified value.\n\t */\n\tGreater = 7,\n\t/**\n\t * @public\n\t * @description Value is greater than or equal to a specified value.\n\t */\n\tGreater_or_equal = 8,\n\t/**\n\t * @public\n\t * @description Value is not null.\n\t */\n\tIs_not_null = 2,\n\t/**\n\t * @public\n\t * @description Value is null.\n\t */\n\tIs_null = 1,\n\t/**\n\t * @public\n\t * @description Value is less than a specified value.\n\t */\n\tLess = 5,\n\t/**\n\t * @public\n\t * @description Value is less than or equal to a specified value.\n\t */\n\tLess_or_equal = 6,\n\t/**\n\t * @public\n\t * @description Value does not contain a specified substring.\n\t */\n\tNot_contain = 12,\n\t/**\n\t * @public\n\t * @description Value does not end with a specified substring.\n\t */\n\tNot_end_with = 14,\n\t/**\n\t * @public\n\t * @description Value is not equal to a specified value.\n\t */\n\tNot_equal = 4,\n\t/**\n\t * @public\n\t * @description Value does not exist (is null or undefined).\n\t */\n\tNot_exists = 16,\n\t/**\n\t * @public\n\t * @description Value does not start with a specified substring.\n\t */\n\tNot_start_with = 10,\n\t/**\n\t * @public\n\t * @description Value starts with a specified substring.\n\t */\n\tStart_with = 9,\n}\n","/**\n * @public\n * @description Part of the date.\n */\nexport enum ɵDatePartType {\n\t/**\n\t * @description Empty value.\n\t */\n\tNone = 0,\n\t/**\n\t * @description Day.\n\t */\n\tDay = 1,\n\t/**\n\t * @description Week.\n\t */\n\tWeek = 2,\n\t/**\n\t * @description Month.\n\t */\n\tMonth = 3,\n\t/**\n\t * @description Year.\n\t */\n\tYear = 4,\n\t/**\n\t * @description Day of the week.\n\t */\n\tWeekDay = 5,\n\t/**\n\t * @description Hour.\n\t */\n\tHour = 6,\n\t/**\n\t * @description Minute.\n\t */\n\tHourMinute = 7,\n}\n","/**\n * @public\n * @description Type of expression.\n */\nexport enum ɵExpressionType {\n\t/**\n\t * @description Column.\n\t */\n\tSchemaColumn = 0,\n\t/**\n\t * @description Function.\n\t */\n\tFunction = 1,\n\t/**\n\t * @description Parameter.\n\t */\n\tParameter = 2,\n\t/**\n\t * @description Subselect query.\n\t */\n\tSubQuery = 3,\n\t/**\n\t * @description Arithmetic operation.\n\t */\n\tArithmeticOperation = 4,\n}\n","/**\n * @public\n * @description The type of filter.\n */\nexport enum ɵFilterType {\n\t/**\n\t * @public\n\t * @description No filter applied.\n\t */\n\tNone,\n\t/**\n\t * @public\n\t * @description Comparison filter (e.g., equal to, greater than).\n\t */\n\tCompare,\n\t/**\n\t * @public\n\t * @description Checks if a value is null.\n\t */\n\tIsNull,\n\t/**\n\t * @public\n\t * @description Checks if a value is between two specified values.\n\t */\n\tBetween,\n\t/**\n\t * @public\n\t * @description Checks if a value is in a specified set of values.\n\t */\n\tIn,\n\t/**\n\t * @public\n\t * @description Checks if a value exists.\n\t */\n\tExists,\n\t/**\n\t * @public\n\t * @description A group of filters combined with logical operators (AND, OR).\n\t */\n\tFilterGroup,\n}\n","/**\n * @public\n * @description The type of function in the filter.\n */\nexport enum ɵFunctionType {\n\t/**\n\t * @description Function type not defined.\n\t * */\n\tNone = 0,\n\t/**\n\t * @description Substitution by macro.\n\t * */\n\tMacros = 1,\n\t/**\n\t * @description Aggregating function.\n\t * */\n\tAggregation = 2,\n\t/**\n\t * @description Date fragment.\n\t * */\n\tDatePart = 3,\n\t/**\n\t * @description The size of the value in bytes, used for binary data.\n\t * */\n\tLength = 4,\n\t/**\n\t * @description Window query function\n\t * */\n\tWindow = 5,\n\t/**\n\t * @description Date add.\n\t * */\n\tDateAdd = 6,\n\t/**\n\t * @description Date diff.\n\t * */\n\tDateDiff = 7,\n}\n","/**\n * @public\n * @description The type of logical operation.\n */\nexport enum ɵLogicalOperatorType {\n\t/**\n\t * @description Logical And.\n\t */\n\tAnd,\n\t/**\n\t * @description Logical Or.\n\t */\n\tOr,\n}\n","/**\n * @public\n * @description Sort order (can be set to None).\n */\nexport enum ɵOrderDirection {\n\t/**\n\t * @description Order not defined.\n\t * */\n\tNone,\n\t/**\n\t * @description Ascending.\n\t * */\n\tAsc,\n\t/**\n\t * @description Descending.\n\t * */\n\tDesc,\n}\n","/**\n * @public\n * @description The type of macros.\n */\nexport enum ɵQueryMacrosType {\n\t/**\n\t * @description Macro type not defined.\n\t */\n\tNone = 0,\n\t/**\n\t * @description Current user.\n\t */\n\tCurrentUser = 1,\n\t/**\n\t * @description Current user contact.\n\t */\n\tCurrentUserContact = 2,\n\t/**\n\t * @description Yesterday.\n\t */\n\tYesterday = 3,\n\t/**\n\t * @description Today.\n\t */\n\tToday = 4,\n\t/**\n\t * @description Tomorrow.\n\t */\n\tTomorrow = 5,\n\t/**\n\t * @description Previous week.\n\t */\n\tPreviousWeek = 6,\n\t/**\n\t * @description This week.\n\t */\n\tCurrentWeek = 7,\n\t/**\n\t * @description Next week.\n\t */\n\tNextWeek = 8,\n\t/**\n\t * @description Previous month.\n\t */\n\tPreviousMonth = 9,\n\t/**\n\t * @description Current month.\n\t */\n\tCurrentMonth = 10,\n\t/**\n\t * @description Next month.\n\t */\n\tNextMonth = 11,\n\t/**\n\t * @description Previous quarter.\n\t */\n\tPreviousQuarter = 12,\n\t/**\n\t * @description Current quarter.\n\t */\n\tCurrentQuarter = 13,\n\t/**\n\t * @description Next quarter.\n\t */\n\tNextQuarter = 14,\n\t/**\n\t * @description Previous half of the year.\n\t */\n\tPreviousHalfYear = 15,\n\t/**\n\t * @description Current half-year.\n\t */\n\tCurrentHalfYear = 16,\n\t/**\n\t * @description Next half-year.\n\t */\n\tNextHalfYear = 17,\n\t/**\n\t * @description Last year.\n\t */\n\tPreviousYear = 18,\n\t/**\n\t * @description This year.\n\t */\n\tCurrentYear = 19,\n\t/**\n\t * @description Previous hour.\n\t */\n\tPreviousHour = 20,\n\t/**\n\t * @description Current hour.\n\t */\n\tCurrentHour = 21,\n\t/**\n\t * @description Next hour.\n\t */\n\tNextHour = 22,\n\t/**\n\t * @description Next year.\n\t */\n\tNextYear = 23,\n\t/**\n\t * @description Next N Days.\n\t */\n\tNextNDays = 24,\n\t/**\n\t * @description Previous N days.\n\t */\n\tPreviousNDays = 25,\n\t/**\n\t * @description Next N hours.\n\t */\n\tNextNHours = 26,\n\t/**\n\t * @description Previous N hours.\n\t */\n\tPreviousNHours = 27,\n\t/**\n\t * @description Primary column.\n\t */\n\tPrimaryColumn = 34,\n\t/**\n\t * @description Primary displayed column.\n\t */\n\tPrimaryDisplayColumn = 35,\n\t/**\n\t * @description Primary image display column.\n\t */\n\tPrimaryImageColumn = 36,\n\t/**\n\t * @description Anniversary today.\n\t */\n\tDayOfYearToday = 37,\n\t/**\n\t * @description Anniversary on the date computed as today plus days offset.\n\t */\n\tDayOfYearTodayPlusDaysOffset = 38,\n\t/**\n\t * @description Anniversary on the next several days.\n\t */\n\tNextNDaysOfYear = 39,\n\t/**\n\t * @description Anniversary on the previous several days.\n\t */\n\tPreviousNDaysOfYear = 40,\n\t/**\n\t * @description Primary color display column.\n\t */\n\tPrimaryColorColumn = 41,\n}\n","import { classToPlain } from 'class-transformer';\n\nimport { ɵBaseExpressionParser } from './expression-parser/base-expression-parser';\nimport { ɵSerializable } from '../../../interfaces';\nimport { ɵJsonObject } from '../../../types/json-data.type';\nimport { ɵExpressionType } from '../enums/expression-type.enum';\nimport { ɵBaseFilterParser } from '../filters/filter-parser/base-filter-parser';\nimport { UsedColumn } from '../used-column';\n\nexport type ɵExpressionConfig<TExpression extends ɵBaseExpression> = Partial<Omit<TExpression, 'expressionType'>>;\n\n/**\n * @public\n * @abstract\n * @description The base class of the expression.\n * @extends {ɵSerializable}\n */\nexport abstract class ɵBaseExpression implements ɵSerializable {\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static readonly _instanceOfKey: string = 'devkit_BaseExpression';\n\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static get _instanceOfKeys(): string[] {\n\t\treturn [this._instanceOfKey];\n\t}\n\n\t/**\n\t * @description True if expression has brackets.\n\t */\n\tpublic readonly isBlock: boolean = false;\n\n\t/**\n\t * @public\n\t * @description Method for checking if an instance is of the current class type.\n\t * @param instance - The instance to check.\n\t * @returns `true` if the instance is of the current class type, `false` otherwise.\n\t */\n\tpublic static [Symbol.hasInstance](instance: ɵBaseExpression): boolean {\n\t\tconst instanceOfKeys = instance?.constructor?.['_instanceOfKeys'] ?? [];\n\t\treturn instanceOfKeys.includes(this._instanceOfKey);\n\t}\n\n\t/**\n\t * @description Type of expression\n\t */\n\tpublic abstract readonly expressionType: ɵExpressionType;\n\n\tprotected constructor(config: ɵExpressionConfig<ɵBaseExpression>) {\n\t\tthis.isBlock = <boolean>config?.isBlock;\n\t}\n\n\t/**\n\t * @public\n\t * @description Parses expression from json.\n\t */\n\tpublic static fromJson<\n\t\tTFilterParser extends typeof ɵBaseFilterParser,\n\t\tTExpressionParser extends typeof ɵBaseExpressionParser,\n\t>(dto: ɵJsonObject, filterParser: TFilterParser, expressionParser?: TExpressionParser): ɵBaseExpression {\n\t\tthrow new Error(`fromJson not supported on expression type ${this.constructor.name}`);\n\t}\n\n\t/**\n\t * @description Converts instance to json object.\n\t * @param item - The instance to serialize.\n\t */\n\tprotected serializeItem(item: ɵSerializable): ɵJsonObject {\n\t\treturn typeof item.toJson === 'function'\n\t\t\t? item.toJson()\n\t\t\t: classToPlain(item, {\n\t\t\t\t\texposeUnsetFields: false,\n\t\t\t\t\texcludePrefixes: ['_'],\n\t\t\t });\n\t}\n\n\t/**\n\t * @description Abstract method to create cloned instance.\n\t */\n\tpublic abstract clone(): ɵBaseExpression;\n\n\t/**\n\t * @public\n\t * @description Converts instance to json object.\n\t */\n\tpublic toJson(): ɵJsonObject {\n\t\treturn classToPlain(this, {\n\t\t\texposeUnsetFields: false,\n\t\t\texcludePrefixes: ['_'],\n\t\t});\n\t}\n\n\t/**\n\t * @internal\n\t */\n\tpublic abstract _getUsedColumns(): UsedColumn[];\n}\n","import { ɵJsonObject } from '../../../../types/json-data.type';\nimport { ɵArithmeticOperation, ɵExpressionType } from '../../enums';\nimport { ɵBaseFilterParser } from '../../filters/filter-parser/base-filter-parser';\nimport { UsedColumn } from '../../used-column';\nimport { ɵBaseExpression, ɵExpressionConfig } from '../base-expression';\nimport { ɵBaseExpressionParser } from '../expression-parser/base-expression-parser';\n\n/**\n * @public\n * @description Config used for arithmetic expression\n */\nexport type ɵArithmeticExpressionConfig = ɵExpressionConfig<ɵArithmeticExpression> &\n\tPick<ɵArithmeticExpression, 'arithmeticOperation' | 'leftArithmeticOperand' | 'rightArithmeticOperand'>;\n\n/**\n * @public\n * @description Arithmetic expression.\n * @extends {ɵBaseExpression}\n */\nexport class ɵArithmeticExpression extends ɵBaseExpression {\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static readonly _instanceOfKey: string = 'devkit_ArithmeticExpression';\n\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static get _instanceOfKeys(): string[] {\n\t\treturn [...ɵBaseExpression._instanceOfKeys, this._instanceOfKey];\n\t}\n\n\t/**\n\t * @description Expression type. Default 'ArithmeticOperation'.\n\t */\n\tpublic readonly expressionType: ɵExpressionType = ɵExpressionType.ArithmeticOperation;\n\t/**\n\t * @description Operation.\n\t */\n\tpublic readonly arithmeticOperation: ɵArithmeticOperation;\n\t/**\n\t * @description Left operand expression.\n\t */\n\tpublic readonly leftArithmeticOperand: ɵBaseExpression;\n\t/**\n\t * @description Right operand expression.\n\t */\n\tpublic readonly rightArithmeticOperand: ɵBaseExpression;\n\n\tconstructor(config: ɵArithmeticExpressionConfig) {\n\t\tsuper(config);\n\t\tthis.arithmeticOperation = config?.arithmeticOperation;\n\t\tthis.leftArithmeticOperand = config?.leftArithmeticOperand.clone();\n\t\tthis.rightArithmeticOperand = config?.rightArithmeticOperand.clone();\n\t}\n\n\t/**\n\t * Parses expression from json.\n\t * @public\n\t */\n\tpublic static fromJson<\n\t\tTFilterParser extends typeof ɵBaseFilterParser,\n\t\tTExpressionParser extends typeof ɵBaseExpressionParser,\n\t>(dto: ɵJsonObject, filterParser: TFilterParser, expressionParser?: TExpressionParser): ɵArithmeticExpression {\n\t\tconst leftArithmeticOperand = expressionParser?.fromJson(\n\t\t\tdto['leftArithmeticOperand'] as ɵJsonObject,\n\t\t\tfilterParser,\n\t\t) as ɵBaseExpression;\n\t\tconst rightArithmeticOperand = expressionParser?.fromJson(\n\t\t\tdto['rightArithmeticOperand'] as ɵJsonObject,\n\t\t\tfilterParser,\n\t\t) as ɵBaseExpression;\n\t\tconst config: ɵArithmeticExpressionConfig = {\n\t\t\tleftArithmeticOperand,\n\t\t\trightArithmeticOperand,\n\t\t\tarithmeticOperation: dto['arithmeticOperation'] as ɵArithmeticOperation,\n\t\t\tisBlock: dto['isBlock'] as boolean,\n\t\t};\n\t\treturn new ɵArithmeticExpression(config);\n\t}\n\n\t/**\n\t * @public\n\t * @description Clones instance.\n\t */\n\tpublic clone(): ɵArithmeticExpression {\n\t\treturn new ɵArithmeticExpression(this);\n\t}\n\n\t/**\n\t * @internal\n\t */\n\tpublic _getUsedColumns(): UsedColumn[] {\n\t\treturn [...this.leftArithmeticOperand._getUsedColumns(), ...this.rightArithmeticOperand._getUsedColumns()];\n\t}\n}\n","import { ɵJsonObject } from '../../../../types/json-data.type';\nimport { ɵExpressionType } from '../../enums';\nimport { UsedColumn } from '../../used-column';\nimport { ɵBaseExpression, ɵExpressionConfig } from '../base-expression';\n\n/**\n * @public\n * @description Configuration of expression of type column EntitySchema.\n */\nexport type ɵColumnExpressionConfig = ɵExpressionConfig<ɵColumnExpression> & Pick<ɵColumnExpression, 'columnPath'>;\n\n/**\n * @public\n * @description A class that defines an expression of type column EntitySchema.\n * @extends {ɵBaseExpression}\n */\nexport class ɵColumnExpression extends ɵBaseExpression {\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static readonly _instanceOfKey: string = 'devkit_ColumnExpression';\n\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static get _instanceOfKeys(): string[] {\n\t\treturn [...ɵBaseExpression._instanceOfKeys, this._instanceOfKey];\n\t}\n\n\t/**\n\t * @description Type of expression.\n\t */\n\tpublic readonly expressionType: ɵExpressionType = ɵExpressionType.SchemaColumn;\n\n\t/**\n\t * @description The path to the column is relative to root schema. Elements of the path are separated by a dot.\n\t */\n\tpublic columnPath: string;\n\n\tconstructor(config: ɵColumnExpressionConfig) {\n\t\tsuper(config);\n\t\tthis.columnPath = config?.columnPath;\n\t}\n\n\t/**\n\t * Parses expression from json.\n\t * @public\n\t * @param dto - Serialized object.\n\t */\n\tpublic static fromJson(dto: ɵJsonObject): ɵColumnExpression {\n\t\tconst expression = new ɵColumnExpression({ columnPath: dto['columnPath'] as string });\n\t\treturn expression;\n\t}\n\n\t/**\n\t * @description Clones instance.\n\t */\n\tpublic clone(): ɵColumnExpression {\n\t\treturn new ɵColumnExpression(this);\n\t}\n\n\t/**\n\t * @internal\n\t */\n\tpublic _getUsedColumns(): UsedColumn[] {\n\t\treturn [\n\t\t\t{\n\t\t\t\tpath: this.columnPath,\n\t\t\t},\n\t\t];\n\t}\n}\n","import { ɵJsonObject } from '../../../../types/json-data.type';\nimport { ɵBaseFilterParser } from '../../filters/filter-parser/base-filter-parser';\n\n/**\n * @public\n * @description Expression parser interface.\n */\nexport class ɵBaseExpressionParser {\n\t/**\n\t * @public\n\t * @description Parses filter from json.\n\t * @param dto - Serialized object.\n\t * @param filterParser - Type of parser.\n\t * @return InstanceType of expression.\n\t */\n\tpublic static fromJson(dto: ɵJsonObject, filterParser: typeof ɵBaseFilterParser): unknown {\n\t\tthrow new Error('not implemented');\n\t}\n}\n","import { ɵExpressionType, ɵFunctionType } from '../../enums';\nimport { ɵBaseExpression, ɵExpressionConfig } from '../base-expression';\n\n/**\n * @public\n * @description Configuration for funcion expression.\n */\nexport type ɵFunctionExpressionConfig<TExpression extends ɵFunctionExpression> = Omit<\n\tɵExpressionConfig<TExpression>,\n\t'functionType'\n>;\n\n/**\n * @public\n * @abstract\n * @description A class that describes a functional expression.\n * @extends {ɵFunctionExpression}\n */\nexport abstract class ɵFunctionExpression extends ɵBaseExpression {\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static readonly _instanceOfKey: string = 'devkit_FunctionExpression';\n\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static get _instanceOfKeys(): string[] {\n\t\treturn [...ɵBaseExpression._instanceOfKeys, this._instanceOfKey];\n\t}\n\n\t/**\n\t * @description Expression type. Default 'Function'.\n\t */\n\tpublic readonly expressionType: ɵExpressionType = ɵExpressionType.Function;\n\n\t/**\n\t * @description The type of the functional expression.\n\t */\n\tpublic abstract readonly functionType: ɵFunctionType;\n\n\tprotected constructor(config: ɵFunctionExpressionConfig<ɵFunctionExpression>) {\n\t\tsuper(config);\n\t}\n\n\t/**\n\t * @description Abstract method to create cloned instance.\n\t */\n\tpublic abstract clone(): ɵFunctionExpression;\n}\n","import { ɵFunctionExpression, ɵFunctionExpressionConfig } from './function-expression';\nimport { ɵJsonObject } from '../../../../types';\nimport { UsedColumn } from '../../used-column';\nimport { ɵBaseExpression } from '../base-expression';\n\n/**\n * @public\n * @description Configuration for function wih argument expression.\n */\nexport type ɵArgumentFunctionExpressionConfig<TExpression extends ɵArgumentFunctionExpression> =\n\tɵFunctionExpressionConfig<TExpression> & Pick<ɵArgumentFunctionExpression, 'functionArgument'>;\n\n/**\n * @public\n * @abstract\n * @description A class that describes a functional expression with argument.\n * @extends {ɵFunctionExpression}\n */\nexport abstract class ɵArgumentFunctionExpression extends ɵFunctionExpression {\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static readonly _instanceOfKey: string = 'devkit_ArgumentFunctionExpression';\n\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static get _instanceOfKeys(): string[] {\n\t\treturn [...ɵFunctionExpression._instanceOfKeys, this._instanceOfKey];\n\t}\n\n\t/**\n\t * @description Expression argument.\n\t */\n\tpublic readonly functionArgument: ɵBaseExpression;\n\n\tprotected constructor(config: ɵArgumentFunctionExpressionConfig<ɵArgumentFunctionExpression>) {\n\t\tsuper(config);\n\t\tthis.functionArgument = config?.functionArgument?.clone();\n\t}\n\n\t/**\n\t * @public\n\t * @description Abstract method to create cloned instance.\n\t */\n\tpublic abstract clone(): ɵArgumentFunctionExpression;\n\n\t/** {@inheritDoc ɵBaseExpression.toJson} */\n\tpublic toJson(): ɵJsonObject {\n\t\tconst result = super.toJson();\n\t\tif (this.functionArgument) {\n\t\t\tresult['functionArgument'] = this.serializeItem(this.functionArgument);\n\t\t}\n\t\treturn result;\n\t}\n\n\t/**\n\t * @internal\n\t */\n\tpublic _getUsedColumns(): UsedColumn[] {\n\t\treturn this.functionArgument?._getUsedColumns() ?? [];\n\t}\n}\n","import { ɵArgumentFunctionExpression, ɵArgumentFunctionExpressionConfig } from './argument-function-expression';\nimport { ɵAggregationType } from '../../../../../public/enums';\nimport { ɵJsonObject } from '../../../../types/json-data.type';\nimport { ɵAggregationEvalType, ɵFunctionType } from '../../enums';\nimport { ɵBaseFilterParser } from '../../filters/filter-parser/base-filter-parser';\nimport { ɵBaseExpression } from '../base-expression';\nimport { ɵBaseExpressionParser } from '../expression-parser/base-expression-parser';\n\n/**\n * @public\n * @description Configuration for aggregation function expression.\n */\nexport type ɵAggregationFunctionExpressionConfig = ɵArgumentFunctionExpressionConfig<ɵAggregationFunctionExpression> &\n\tPick<ɵAggregationFunctionExpression, 'aggregationType' | 'aggregationEvalType'>;\n\n/**\n * @public\n * @description A class that describes expression with aggregate function.\n * @extends {ɵArgumentFunctionExpression}\n */\nexport class ɵAggregationFunctionExpression extends ɵArgumentFunctionExpression {\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static readonly _instanceOfKey: string = 'devkit_AggregationFunctionExpression';\n\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static get _instanceOfKeys(): string[] {\n\t\treturn [...ɵArgumentFunctionExpression._instanceOfKeys, this._instanceOfKey];\n\t}\n\n\t/**\n\t * @description The type of the functional expression passed for initialization.\n\t */\n\tpublic readonly functionType: ɵFunctionType = ɵFunctionType.Aggregation;\n\n\t/**\n\t * @description Aggregation type.\n\t */\n\tpublic readonly aggregationType: ɵAggregationType;\n\n\t/**\n\t * @description The scope of the aggregating function.\n\t */\n\tpublic readonly aggregationEvalType: ɵAggregationEvalType;\n\n\tconstructor(config: ɵAggregationFunctionExpressionConfig) {\n\t\tsuper(config);\n\t\tthis.aggregationType = config?.aggregationType;\n\t\tthis.aggregationEvalType = config?.aggregationEvalType;\n\t}\n\n\t/**\n\t * Parses expression from json.\n\t * @public\n\t */\n\tpublic static fromJson<\n\t\tTFilterParser extends typeof ɵBaseFilterParser,\n\t\tTExpressionParser extends typeof ɵBaseExpressionParser,\n\t>(\n\t\tdto: ɵJsonObject,\n\t\tfilterParser: TFilterParser,\n\t\texpressionParser?: TExpressionParser,\n\t): ɵAggregationFunctionExpression {\n\t\tconst functionArgument = expressionParser?.fromJson(\n\t\t\tdto['functionArgument'] as ɵJsonObject,\n\t\t\tfilterParser,\n\t\t) as ɵBaseExpression;\n\t\tconst aggregationType = dto['aggregationType'] as ɵAggregationType;\n\t\tconst aggregationEvalType = dto['aggregationEvalType'] as ɵAggregationEvalType;\n\t\treturn new ɵAggregationFunctionExpression({\n\t\t\tfunctionArgument,\n\t\t\taggregationType,\n\t\t\taggregationEvalType,\n\t\t\tisBlock: dto['isBlock'] as boolean,\n\t\t});\n\t}\n\n\t/** {@inheritDoc ɵBaseExpression.clone} */\n\tpublic clone(): ɵAggregationFunctionExpression {\n\t\treturn new ɵAggregationFunctionExpression(this);\n\t}\n}\n","import { ɵArgumentFunctionExpression, ɵArgumentFunctionExpressionConfig } from './argument-function-expression';\nimport { ɵJsonObject } from '../../../../types/json-data.type';\nimport { ɵDatePartType, ɵFunctionType } from '../../enums';\nimport { ɵBaseFilterParser } from '../../filters/filter-parser/base-filter-parser';\nimport { ɵBaseExpression } from '../base-expression';\nimport { ɵBaseExpressionParser } from '../expression-parser/base-expression-parser';\n\n/**\n * @public\n * @description Configuration for date part expression.\n */\nexport type ɵDatePartFunctionExpressionConfig = ɵArgumentFunctionExpressionConfig<ɵDatePartFunctionExpression> &\n\tPick<ɵDatePartFunctionExpression, 'datePartType'>;\n\n/**\n * @public\n * @description A class that describes expression part of date function.\n * @extends {ɵArgumentFunctionExpression}\n */\nexport class ɵDatePartFunctionExpression extends ɵArgumentFunctionExpression {\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static readonly _instanceOfKey: string = 'devkit_DatePartFunctionExpression';\n\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static get _instanceOfKeys(): string[] {\n\t\treturn [...ɵArgumentFunctionExpression._instanceOfKeys, this._instanceOfKey];\n\t}\n\n\t/**\n\t * @description Function type. Default 'DatePart'.\n\t */\n\tpublic readonly functionType: ɵFunctionType = ɵFunctionType.DatePart;\n\n\t/**\n\t * @description Date part type.\n\t */\n\tpublic readonly datePartType: ɵDatePartType;\n\n\tconstructor(config: ɵDatePartFunctionExpressionConfig) {\n\t\tsuper(config);\n\t\tthis.datePartType = config?.datePartType;\n\t}\n\n\t/**\n\t * Parses expression from json.\n\t * @public\n\t */\n\tpublic static fromJson<\n\t\tTFilterParser extends typeof ɵBaseFilterParser,\n\t\tTExpressionParser extends typeof ɵBaseExpressionParser,\n\t>(\n\t\tdto: ɵJsonObject,\n\t\tfilterParser: TFilterParser,\n\t\texpressionParser?: TExpressionParser,\n\t): ɵDatePartFunctionExpression {\n\t\tconst functionArgument = expressionParser?.fromJson(\n\t\t\tdto['functionArgument'] as ɵJsonObject,\n\t\t\tfilterParser,\n\t\t) as ɵBaseExpression;\n\t\tconst datePartType = dto['datePartType'] as ɵDatePartType;\n\t\treturn new ɵDatePartFunctionExpression({ functionArgument, datePartType, isBlock: dto['isBlock'] as boolean });\n\t}\n\n\t/** {@inheritDoc ɵBaseExpression.clone} */\n\tpublic clone(): ɵDatePartFunctionExpression {\n\t\treturn new ɵDatePartFunctionExpression(this);\n\t}\n}\n","import { ɵArgumentFunctionExpression, ɵArgumentFunctionExpressionConfig } from './argument-function-expression';\nimport { ɵJsonObject } from '../../../../types/json-data.type';\nimport { ɵFunctionType } from '../../enums';\nimport { ɵBaseFilterParser } from '../../filters/filter-parser/base-filter-parser';\nimport { ɵColumnExpression } from '../columns/column-expression';\nimport { ɵBaseExpressionParser } from '../expression-parser/base-expression-parser';\n\n/**\n * @public\n * @description Configuration of expression with length function.\n */\nexport type ɵLengthFunctionExpressionConfig = ɵArgumentFunctionExpressionConfig<ɵLengthFunctionExpression>;\n\n/**\n * @public\n * @description A class that describes expression with length function.\n * @extends {ɵArgumentFunctionExpression}\n */\nexport class ɵLengthFunctionExpression extends ɵArgumentFunctionExpression {\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static readonly _instanceOfKey: string = 'devkit_LengthFunctionExpression';\n\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static get _instanceOfKeys(): string[] {\n\t\treturn [...ɵArgumentFunctionExpression._instanceOfKeys, this._instanceOfKey];\n\t}\n\n\t/**\n\t * @description Function type. Default 'Length'.\n\t */\n\tpublic readonly functionType: ɵFunctionType = ɵFunctionType.Length;\n\n\t/**\n\t * @description Argument of function.\n\t */\n\tpublic readonly functionArgument!: ɵColumnExpression;\n\n\tconstructor(config: ɵLengthFunctionExpressionConfig) {\n\t\tsuper(config);\n\t}\n\n\t/**\n\t * Parses expression from json.\n\t * @public\n\t */\n\tpublic static fromJson<\n\t\tTFilterParser extends typeof ɵBaseFilterParser,\n\t\tTExpressionParser extends typeof ɵBaseExpressionParser,\n\t>(dto: ɵJsonObject, filterParser: TFilterParser, expressionParser?: TExpressionParser): ɵLengthFunctionExpression {\n\t\tconst functionArgument = expressionParser?.fromJson(\n\t\t\tdto['functionArgument'] as ɵJsonObject,\n\t\t\tfilterParser,\n\t\t) as ɵColumnExpression;\n\t\treturn new ɵLengthFunctionExpression({ functionArgument, isBlock: dto['isBlock'] as boolean });\n\t}\n\n\t/**\n\t * @description Method to create cloned instance.\n\t */\n\tpublic clone(): ɵLengthFunctionExpression {\n\t\treturn new ɵLengthFunctionExpression(this);\n\t}\n}\n","import { ɵFunctionExpression, ɵFunctionExpressionConfig } from './function-expression';\nimport { ɵJsonObject } from '../../../../types/json-data.type';\nimport { ɵFunctionType, ɵQueryMacrosType } from '../../enums';\nimport { ɵBaseFilterParser } from '../../filters/filter-parser/base-filter-parser';\nimport { UsedColumn } from '../../used-column';\nimport { ɵBaseExpression } from '../base-expression';\nimport { ɵBaseExpressionParser } from '../expression-parser/base-expression-parser';\n\n/**\n * @public\n * @description Configuration of expression with macros function.\n */\nexport type ɵMacrosFunctionExpressionConfig = ɵFunctionExpressionConfig<ɵMacrosFunctionExpression> &\n\tPick<ɵMacrosFunctionExpression, 'macrosType'>;\n\n/**\n * @public\n * @description A class that describes expression with macros function.\n * @extends {ɵFunctionExpression}\n */\nexport class ɵMacrosFunctionExpression extends ɵFunctionExpression {\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static readonly _instanceOfKey: string = 'devkit_MacrosFunctionExpression';\n\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static get _instanceOfKeys(): string[] {\n\t\treturn [...ɵFunctionExpression._instanceOfKeys, this._instanceOfKey];\n\t}\n\n\t/**\n\t * @description Function type. Default 'Macros'.\n\t */\n\tpublic readonly functionType: ɵFunctionType = ɵFunctionType.Macros;\n\t/**\n\t * @description Type of macros.\n\t */\n\tpublic readonly macrosType: ɵQueryMacrosType;\n\t/**\n\t * @description Function argument.\n\t */\n\tpublic readonly functionArgument?: ɵBaseExpression;\n\n\tconstructor(config: ɵMacrosFunctionExpressionConfig) {\n\t\tsuper(config);\n\t\tthis.macrosType = config?.macrosType;\n\t\tthis.functionArgument = config?.functionArgument;\n\t}\n\n\t/**\n\t * Parses expression from json.\n\t * @public\n\t */\n\tpublic static fromJson<\n\t\tTFilterParser extends typeof ɵBaseFilterParser,\n\t\tTExpressionParser extends typeof ɵBaseExpressionParser,\n\t>(dto: ɵJsonObject, filterParser?: TFilterParser, expressionParser?: TExpressionParser): ɵMacrosFunctionExpression {\n\t\tconst functionArgument =\n\t\t\tfilterParser && expressionParser && dto['functionArgument']\n\t\t\t\t? (expressionParser.fromJson(dto['functionArgument'] as ɵJsonObject, filterParser) as ɵBaseExpression)\n\t\t\t\t: undefined;\n\t\treturn new ɵMacrosFunctionExpression({ functionArgument, macrosType: dto['macrosType'] as ɵQueryMacrosType });\n\t}\n\n\t/**\n\t * @description method to create cloned instance.\n\t */\n\tpublic clone(): ɵMacrosFunctionExpression {\n\t\treturn new ɵMacrosFunctionExpression(this);\n\t}\n\n\t/**\n\t * @internal\n\t */\n\tpublic _getUsedColumns(): UsedColumn[] {\n\t\treturn this.functionArgument?._getUsedColumns() ?? [];\n\t}\n}\n","import { ɵAggregationFunctionExpression } from './aggregation-function-expression';\nimport { ɵArgumentFunctionExpression, ɵArgumentFunctionExpressionConfig } from './argument-function-expression';\nimport { ɵJsonObject } from '../../../../types/json-data.type';\nimport { ɵFunctionType } from '../../enums';\nimport { ɵBaseFilterParser } from '../../filters/filter-parser/base-filter-parser';\nimport { ɵBaseExpressionParser } from '../expression-parser/base-expression-parser';\n\n/**\n * @public\n * @description Configuration for window funcion expression.\n */\nexport type ɵWindowFunctionExpressionConfig = ɵArgumentFunctionExpressionConfig<ɵWindowFunctionExpression>;\n\n/**\n * @public\n * @description A class that describes expression with window function.\n * @extends {ɵArgumentFunctionExpression}\n */\nexport class ɵWindowFunctionExpression extends ɵArgumentFunctionExpression {\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static readonly _instanceOfKey: string = 'devkit_WindowFunctionExpression';\n\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static get _instanceOfKeys(): string[] {\n\t\treturn [...ɵArgumentFunctionExpression._instanceOfKeys, this._instanceOfKey];\n\t}\n\n\t/**\n\t * @description Function type.\n\t */\n\tpublic readonly functionType: ɵFunctionType = ɵFunctionType.Window;\n\n\t/**\n\t * @description Function argument\n\t */\n\tpublic readonly functionArgument!: ɵAggregationFunctionExpression;\n\n\tconstructor(config: ɵWindowFunctionExpressionConfig) {\n\t\tsuper(config);\n\t}\n\n\t/**\n\t * Parses expression from json.\n\t * @public\n\t */\n\tpublic static fromJson<\n\t\tTFilterParser extends typeof ɵBaseFilterParser,\n\t\tTExpressionParser extends typeof ɵBaseExpressionParser,\n\t>(dto: ɵJsonObject, filterParser: TFilterParser, expressionParser?: TExpressionParser): ɵWindowFunctionExpression {\n\t\tconst functionArgument = expressionParser?.fromJson(\n\t\t\tdto['functionArgument'] as ɵJsonObject,\n\t\t\tfilterParser,\n\t\t) as ɵAggregationFunctionExpression;\n\t\treturn new ɵWindowFunctionExpression({ functionArgument, isBlock: dto['isBlock'] as boolean });\n\t}\n\n\t/** {@inheritDoc ɵBaseExpression.clone} */\n\tpublic clone(): ɵWindowFunctionExpression {\n\t\treturn new ɵWindowFunctionExpression(this);\n\t}\n}\n","import { Exclude } from 'class-transformer';\n\nimport { ɵencodeDate } from '../../../../../external/utils';\nimport { ɵDataValueType } from '../../../../../public/enums';\nimport { ɵLookupValue } from '../../../../../public/models';\nimport { ɵEntityColumnValue, ɵJsonObject } from '../../../../../public/types';\nimport { ɵExpressionType } from '../../enums';\nimport { UsedColumn } from '../../used-column';\nimport { ɵBaseExpression, ɵExpressionConfig } from '../base-expression';\n\n/**\n * @public\n * @description Configuration of parametric expression.\n */\nexport type ɵParameterExpressionConfig = ɵExpressionConfig<ɵParameterExpression> & Pick<ɵParameterExpression, 'value'>;\n\n/**\n * @public\n * @description The class that defines the parametric expression.\n * @extends {ɵBaseExpression}\n */\nexport class ɵParameterExpression extends ɵBaseExpression {\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static readonly _instanceOfKey: string = 'devkit_ParameterExpression';\n\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static get _instanceOfKeys(): string[] {\n\t\treturn [...ɵBaseExpression._instanceOfKeys, this._instanceOfKey];\n\t}\n\n\t/**\n\t * @description Type of expression.\n\t */\n\tpublic readonly expressionType: ɵExpressionType = ɵExpressionType.Parameter;\n\n\t/**\n\t * @description Parameter value.\n\t */\n\t@Exclude()\n\tpublic readonly value: ɵEntityColumnValue;\n\n\t/**\n\t * @description Parameter value type.\n\t */\n\t@Exclude()\n\tpublic readonly dataValueType: ɵDataValueType;\n\n\t/**\n\t * @description Parameter object reference.\n\t */\n\tpublic readonly parameter: {\n\t\tvalue?: ɵEntityColumnValue;\n\t\tarrayValue?: string[];\n\t\tdataValueType: ɵDataValueType;\n\t};\n\n\tconstructor(config: ɵParameterExpressionConfig) {\n\t\tsuper(config);\n\t\tconst value = config?.value;\n\t\tif (value instanceof Date) {\n\t\t\tconst cloneDate = new Date();\n\t\t\tcloneDate.setTime(value.getTime());\n\t\t\tthis.value = cloneDate;\n\t\t} else if (!value) {\n\t\t\tthis.value = value;\n\t\t} else {\n\t\t\tthis.value = typeof value === 'object' ? { ...(value as ɵLookupValue) } : value;\n\t\t}\n\t\tthis.dataValueType = config?.dataValueType ?? ɵDataValueType.Text;\n\t\tthis.parameter = {\n\t\t\tdataValueType: this.dataValueType,\n\t\t\t...this._getParameterValueMetadata(),\n\t\t};\n\t}\n\n\t/**\n\t * Parses expression from json.\n\t * @public\n\t */\n\tpublic static fromJson(dto: ɵJsonObject): ɵParameterExpression {\n\t\tconst expression = new ɵParameterExpression(dto['parameter'] as unknown as ɵParameterExpressionConfig);\n\t\treturn expression;\n\t}\n\n\tprivate _convertStringToBlobArray(str: string): string[] {\n\t\tconst out: string[] = [];\n\t\tlet position = 0;\n\t\tfor (let i = 0; i < str.length; i++) {\n\t\t\tconst code = str.charCodeAt(i);\n\t\t\tif (code < 128) {\n\t\t\t\tout[position++] = String.fromCharCode(code);\n\t\t\t} else if (code < 2048) {\n\t\t\t\t/* eslint-disable no-bitwise */\n\t\t\t\tout[position++] = String.fromCharCode((code >> 6) | 192);\n\t\t\t\tout[position++] = String.fromCharCode((code & 63) | 128);\n\t\t\t} else {\n\t\t\t\tout[position++] = String.fromCharCode((code >> 12) | 224);\n\t\t\t\tout[position++] = String.fromCharCode(((code >> 6) & 63) | 128);\n\t\t\t\tout[position++] = String.fromCharCode((code & 63) | 128);\n\t\t\t\t/* eslint-enable no-bitwise */\n\t\t\t}\n\t\t}\n\t\treturn out;\n\t}\n\n\tprivate _getParameterValueMetadata(): {\n\t\tvalue?: ɵEntityColumnValue;\n\t\tarrayValue?: string[];\n\t} {\n\t\tif (this.dataValueType === ɵDataValueType.Blob) {\n\t\t\treturn {\n\t\t\t\tarrayValue: !this.value ? [] : this._convertStringToBlobArray(this.value as string),\n\t\t\t};\n\t\t} else if (this.value instanceof Date) {\n\t\t\treturn {\n\t\t\t\tvalue: ɵencodeDate(this.value),\n\t\t\t};\n\t\t} else {\n\t\t\treturn {\n\t\t\t\tvalue: this.value,\n\t\t\t};\n\t\t}\n\t}\n\n\t/**\n\t * @description Returns cloned instance.\n\t */\n\tpublic clone(): ɵParameterExpression {\n\t\treturn new ɵParameterExpression(this);\n\t}\n\n\t/**\n\t * @internal\n\t */\n\tpublic _getUsedColumns(): UsedColumn[] {\n\t\treturn [];\n\t}\n}\n","import { classToPlain } from 'class-transformer';\n\nimport { ɵBaseFilterParser } from './filter-parser/base-filter-parser';\nimport { ɵSerializable } from '../../../interfaces';\nimport { ɵJsonObject } from '../../../types/json-data.type';\nimport { ɵFilterType } from '../enums/filter-type.enum';\nimport { ɵBaseExpressionParser } from '../expressions/expression-parser/base-expression-parser';\nimport { UsedColumn } from '../used-column';\n\n/**\n * @public\n * @abstract\n * @description The base class of the filter.\n * @extends {ɵSerializable}\n */\nexport abstract class ɵBaseFilter implements ɵSerializable {\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static readonly _instanceOfKey: string = 'devkit_BaseFilter';\n\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static get _instanceOfKeys(): string[] {\n\t\treturn [this._instanceOfKey];\n\t}\n\n\t/**\n\t * @description Type of filter.\n\t */\n\tpublic readonly filterType: ɵFilterType;\n\n\t/**\n\t * @description Indicates that the filter is active and will be taken into account when building the query.\n\t */\n\tpublic isEnabled = true;\n\n\t/**\n\t * @description Drop the time for the date / time type parameters.\n\t */\n\tpublic trimDateTimeParameterToDate = false;\n\n\t/**\n\t * @public\n\t * @description Method for checking if an instance is of the current class type.\n\t * @param instance - The instance to check.\n\t * @returns `true` if the instance is of the current class type, `false` otherwise.\n\t */\n\tpublic static [Symbol.hasInstance](instance: ɵBaseFilter): boolean {\n\t\tconst instanceOfKeys = instance?.constructor?.['_instanceOfKeys'] ?? [];\n\t\treturn instanceOfKeys.includes(this._instanceOfKey);\n\t}\n\n\tprotected constructor(filterType: ɵFilterType) {\n\t\tthis.filterType = filterType;\n\t}\n\n\t/**\n\t * Parses filter from json.\n\t * @public\n\t */\n\tpublic static fromJson<\n\t\tTFilterParser extends typeof ɵBaseFilterParser,\n\t\tTExpressionParser extends typeof ɵBaseExpressionParser,\n\t>(dto: ɵJsonObject, filterParser: TFilterParser, expressionParser: TExpressionParser): ɵBaseFilter {\n\t\tthrow new Error(`fromJson not supported on filter type ${this.constructor.name}`);\n\t}\n\n\tprotected serializeItem(item: ɵSerializable): ɵJsonObject {\n\t\treturn typeof item.toJson === 'function'\n\t\t\t? item.toJson()\n\t\t\t: classToPlain(item, {\n\t\t\t\t\texposeUnsetFields: false,\n\t\t\t\t\texcludePrefixes: ['_'],\n\t\t\t });\n\t}\n\n\t/**\n\t * @public\n\t * @description Clones instance.\n\t */\n\tpublic abstract clone(): ɵBaseFilter;\n\n\t/**\n\t * Converts instance to json object.\n\t * @public\n\t */\n\tpublic toJson(): ɵJsonObject {\n\t\treturn classToPlain(this, {\n\t\t\texposeUnsetFields: false,\n\t\t\texcludePrefixes: ['_'],\n\t\t});\n\t}\n\n\t/**\n\t * @internal\n\t */\n\tpublic abstract _getUsedColumns(): UsedColumn[];\n}\n","import { ɵBaseFilter } from './base-filter';\nimport { ɵJsonObject } from '../../../types';\nimport { ɵComparisonType, ɵFilterType } from '../enums';\nimport { ɵBaseExpression } from '../expressions/base-expression';\nimport { UsedColumn } from '../used-column';\n\n/**\n * @public\n * @description Basic filter class with one condition.\n * @extends {ɵBaseFilter}\n */\nexport abstract class ɵSingleFilter extends ɵBaseFilter {\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static readonly _instanceOfKey: string = 'devkit_SingleFilter';\n\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static get _instanceOfKeys(): string[] {\n\t\treturn [...ɵBaseFilter._instanceOfKeys, this._instanceOfKey];\n\t}\n\n\t/**\n\t * @description Type of comparison operation.\n\t */\n\tpublic readonly comparisonType: ɵComparisonType;\n\n\t/**\n\t * @description The test expression.\n\t */\n\tpublic readonly leftExpression: ɵBaseExpression;\n\n\tprotected constructor(filterType: ɵFilterType, comparisonType: ɵComparisonType, leftExpression: ɵBaseExpression) {\n\t\tsuper(filterType);\n\t\tthis.comparisonType = comparisonType;\n\t\tthis.leftExpression = leftExpression?.clone();\n\t}\n\n\t/** {@inheritDoc ɵSerializable.toJson} */\n\tpublic toJson(): ɵJsonObject {\n\t\treturn {\n\t\t\t...super.toJson(),\n\t\t\tleftExpression: this.serializeItem(this.leftExpression),\n\t\t};\n\t}\n\n\t/**\n\t * @internal\n\t */\n\tpublic _getUsedColumns(): UsedColumn[] {\n\t\treturn this.leftExpression._getUsedColumns();\n\t}\n}\n","import { ɵBaseFilterParser } from './filter-parser/base-filter-parser';\nimport { ɵSingleFilter } from './single-filter';\nimport { ɵJsonObject } from '../../../types/json-data.type';\nimport { ɵComparisonType, ɵFilterType } from '../enums';\nimport { ɵBaseExpression } from '../expressions/base-expression';\nimport { ɵBaseExpressionParser } from '../expressions/expression-parser/base-expression-parser';\nimport { UsedColumn } from '../used-column';\n\n/**\n * @public\n * @description Filter class of the \"Between\" type.\n * @extends {ɵSingleFilter}\n */\nexport class ɵBetweenFilter extends ɵSingleFilter {\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static readonly _instanceOfKey: string = 'devkit_BetweenFilter';\n\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static get _instanceOfKeys(): string[] {\n\t\treturn [...ɵSingleFilter._instanceOfKeys, this._instanceOfKey];\n\t}\n\n\t/**\n\t * @description The initial expression of the filtering range.\n\t */\n\tpublic readonly rightLessExpression: ɵBaseExpression;\n\n\t/**\n\t * @description The final expression of the filtering range.\n\t */\n\tpublic readonly rightGreaterExpression: ɵBaseExpression;\n\n\tconstructor(\n\t\tleftExpression: ɵBaseExpression,\n\t\trightLessExpression: ɵBaseExpression,\n\t\trightGreaterExpression: ɵBaseExpression,\n\t) {\n\t\tsuper(ɵFilterType.Between, ɵComparisonType.Between, leftExpression);\n\t\tthis.rightLessExpression = rightLessExpression?.clone();\n\t\tthis.rightGreaterExpression = rightGreaterExpression?.clone();\n\t}\n\n\t/**\n\t * Parses filter from json.\n\t * @public\n\t */\n\tpublic static fromJson<\n\t\tTFilterParser extends typeof ɵBaseFilterParser,\n\t\tTExpressionParser extends typeof ɵBaseExpressionParser,\n\t>(dto: ɵJsonObject, filterParser: TFilterParser, expressionParser: TExpressionParser): ɵBetweenFilter {\n\t\tconst filter = new ɵBetweenFilter(\n\t\t\texpressionParser.fromJson(dto['leftExpression'] as ɵJsonObject, filterParser) as ɵBaseExpression,\n\t\t\texpressionParser.fromJson(dto['rightLessExpression'] as ɵJsonObject, filterParser) as ɵBaseExpression,\n\t\t\texpressionParser.fromJson(dto['rightGreaterExpression'] as ɵJsonObject, filterParser) as ɵBaseExpression,\n\t\t);\n\t\treturn filter;\n\t}\n\n\tpublic clone(): ɵBetweenFilter {\n\t\tconst filter = new ɵBetweenFilter(this.leftExpression, this.rightLessExpression, this.rightGreaterExpression);\n\t\tfilter.isEnabled = this.isEnabled;\n\t\tfilter.trimDateTimeParameterToDate = this.trimDateTimeParameterToDate;\n\t\treturn filter;\n\t}\n\n\tpublic toJson(): ɵJsonObject {\n\t\treturn {\n\t\t\t...super.toJson(),\n\t\t\trightLessExpression: this.serializeItem(this.rightLessExpression),\n\t\t\trightGreaterExpression: this.serializeItem(this.rightGreaterExpression),\n\t\t};\n\t}\n\n\t/**\n\t * @internal\n\t */\n\tpublic _getUsedColumns(): UsedColumn[] {\n\t\treturn [\n\t\t\t...super._getUsedColumns(),\n\t\t\t...this.rightLessExpression._getUsedColumns(),\n\t\t\t...this.rightGreaterExpression._getUsedColumns(),\n\t\t];\n\t}\n}\n","import { ɵBaseFilterParser } from './filter-parser/base-filter-parser';\nimport { ɵSingleFilter } from './single-filter';\nimport { ɵJsonObject } from '../../../types/json-data.type';\nimport { ɵComparisonType, ɵFilterType } from '../enums';\nimport { ɵBaseExpression } from '../expressions/base-expression';\nimport { ɵBaseExpressionParser } from '../expressions/expression-parser/base-expression-parser';\nimport { UsedColumn } from '../used-column';\n\n/**\n * @public\n * @description Comparison filter class.\n * @extends {ɵSingleFilter}\n */\nexport class ɵCompareFilter extends ɵSingleFilter {\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static readonly _instanceOfKey: string = 'devkit_CompareFilter';\n\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static get _instanceOfKeys(): string[] {\n\t\treturn [...ɵSingleFilter._instanceOfKeys, this._instanceOfKey];\n\t}\n\n\t/**\n\t * @description Filter expression.\n\t */\n\tpublic readonly rightExpression: ɵBaseExpression;\n\n\tconstructor(comparisonType: ɵComparisonType, leftExpression: ɵBaseExpression, rightExpression: ɵBaseExpression) {\n\t\tsuper(ɵFilterType.Compare, comparisonType, leftExpression);\n\t\tthis.rightExpression = rightExpression?.clone();\n\t}\n\n\t/**\n\t * Parses filter from json.\n\t * @public\n\t */\n\tpublic static fromJson<\n\t\tTFilterParser extends typeof ɵBaseFilterParser,\n\t\tTExpressionParser extends typeof ɵBaseExpressionParser,\n\t>(dto: ɵJsonObject, filterParser: TFilterParser, expressionParser: TExpressionParser): ɵCompareFilter {\n\t\tconst filter = new ɵCompareFilter(\n\t\t\tdto['comparisonType'] as ɵComparisonType,\n\t\t\texpressionParser.fromJson(dto['leftExpression'] as ɵJsonObject, filterParser) as ɵBaseExpression,\n\t\t\texpressionParser.fromJson(dto['rightExpression'] as ɵJsonObject, filterParser) as ɵBaseExpression,\n\t\t);\n\t\treturn filter;\n\t}\n\n\tpublic clone(): ɵCompareFilter {\n\t\tconst filter = new ɵCompareFilter(this.comparisonType, this.leftExpression, this.rightExpression);\n\t\tfilter.isEnabled = this.isEnabled;\n\t\tfilter.trimDateTimeParameterToDate = this.trimDateTimeParameterToDate;\n\t\treturn filter;\n\t}\n\n\tpublic toJson(): ɵJsonObject {\n\t\treturn {\n\t\t\t...super.toJson(),\n\t\t\trightExpression: this.serializeItem(this.rightExpression),\n\t\t};\n\t}\n\n\t/**\n\t * @internal\n\t */\n\tpublic _getUsedColumns(): UsedColumn[] {\n\t\treturn [...super._getUsedColumns(), ...this.rightExpression._getUsedColumns()];\n\t}\n}\n","import { ɵFilterGroup } from './filter-group';\nimport { ɵBaseFilterParser } from './filter-parser/base-filter-parser';\nimport { ɵSingleFilter } from './single-filter';\nimport { ɵJsonObject } from '../../../types';\nimport { ɵComparisonType, ɵFilterType } from '../enums';\nimport { ɵBaseExpression } from '../expressions/base-expression';\nimport { ɵBaseExpressionParser } from '../expressions/expression-parser/base-expression-parser';\nimport { UsedColumn } from '../used-column';\n\n/**\n * @public\n * @description The comparison filter class [Exists according to the specified condition].\n * @extends {ɵSingleFilter}\n */\nexport class ɵExistsFilter extends ɵSingleFilter {\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static readonly _instanceOfKey: string = 'devkit_ExistsFilter';\n\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static get _instanceOfKeys(): string[] {\n\t\treturn [...ɵSingleFilter._instanceOfKeys, this._instanceOfKey];\n\t}\n\n\t/**\n\t * @description Subquery filters. Cannot contain filters with other subqueries.\n\t */\n\tpublic readonly subFilters?: ɵFilterGroup;\n\n\t/**\n\t * @description Indicates that the filter is aggregating.\n\t */\n\tpublic readonly isAggregative: boolean;\n\n\tconstructor(\n\t\tleftExpression: ɵBaseExpression,\n\t\tsubFilters?: ɵFilterGroup,\n\t\tcomparisonType: ɵComparisonType = ɵComparisonType.Exists,\n\t\tisAggregative = true,\n\t) {\n\t\tsuper(ɵFilterType.Exists, comparisonType, leftExpression);\n\t\tthis.subFilters = subFilters?.clone();\n\t\tthis.isAggregative = isAggregative;\n\t}\n\n\t/**\n\t * Parses filter from json.\n\t * @public\n\t */\n\tpublic static fromJson<\n\t\tTFilterParser extends typeof ɵBaseFilterParser,\n\t\tTExpressionParser extends typeof ɵBaseExpressionParser,\n\t>(dto: ɵJsonObject, filterParser: TFilterParser, expressionParser: TExpressionParser): ɵExistsFilter {\n\t\tconst leftExpression = expressionParser.fromJson(\n\t\t\tdto['leftExpression'] as ɵJsonObject,\n\t\t\tfilterParser,\n\t\t) as ɵBaseExpression;\n\t\tconst subFiltersDto = dto['subFilters'] as ɵJsonObject;\n\t\tlet subFilters;\n\t\tif (subFiltersDto) {\n\t\t\tsubFilters = filterParser.fromJson(dto['subFilters'] as ɵJsonObject) as ɵFilterGroup;\n\t\t}\n\t\treturn new ɵExistsFilter(\n\t\t\tleftExpression,\n\t\t\tsubFilters,\n\t\t\tdto['comparisonType'] as ɵComparisonType,\n\t\t\tdto['isAggregative'] as boolean,\n\t\t);\n\t}\n\n\t/**\n\t * @public\n\t * @description Clones instance.\n\t */\n\tpublic clone(): ɵExistsFilter {\n\t\tconst filter = new ɵExistsFilter(this.leftExpression, this.subFilters, this.comparisonType, this.isAggregative);\n\t\tfilter.isEnabled = this.isEnabled;\n\t\tfilter.trimDateTimeParameterToDate = this.trimDateTimeParameterToDate;\n\t\treturn filter;\n\t}\n\n\t/** {@inheritDoc ɵSerializable.toJson} */\n\tpublic toJson(): ɵJsonObject {\n\t\tconst result = super.toJson();\n\t\tif (this.subFilters) {\n\t\t\tresult['subFilters'] = this.serializeItem(this.subFilters);\n\t\t}\n\t\treturn result;\n\t}\n\n\t/**\n\t * @internal\n\t */\n\tpublic _getUsedColumns(): UsedColumn[] {\n\t\treturn [...super._getUsedColumns(), ...(this.subFilters?._getUsedColumns() ?? [])];\n\t}\n}\n","import { ɵBaseFilterParser } from './filter-parser/base-filter-parser';\nimport { ɵSingleFilter } from './single-filter';\nimport { ɵJsonArray, ɵJsonObject } from '../../../types/json-data.type';\nimport { ɵComparisonType, ɵFilterType } from '../enums';\nimport { ɵBaseExpression } from '../expressions/base-expression';\nimport { ɵBaseExpressionParser } from '../expressions/expression-parser/base-expression-parser';\nimport { UsedColumn } from '../used-column';\n\n/**\n * @public\n * @description In-Filter Class\n * @extends {ɵSingleFilter}\n */\nexport class ɵInFilter extends ɵSingleFilter {\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static readonly _instanceOfKey: string = 'devkit_InFilter';\n\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static get _instanceOfKeys(): string[] {\n\t\treturn [...ɵSingleFilter._instanceOfKeys, this._instanceOfKey];\n\t}\n\n\t/**\n\t * @description An array of expressions that will be compared with {@link #leftExpression}.\n\t */\n\tpublic readonly rightExpressions: ɵBaseExpression[];\n\n\tconstructor(comparisonType: ɵComparisonType, leftExpression: ɵBaseExpression, rightExpressions: ɵBaseExpression[]) {\n\t\tsuper(ɵFilterType.In, comparisonType, leftExpression);\n\t\tthis.rightExpressions = rightExpressions.map((expression) => expression?.clone()) ?? [];\n\t}\n\n\t/**\n\t * @description Parses in filter from json.\n\t * @public\n\t */\n\tpublic static fromJson<\n\t\tTFilterParser extends typeof ɵBaseFilterParser,\n\t\tTExpressionParser extends typeof ɵBaseExpressionParser,\n\t>(dto: ɵJsonObject, filterParser: TFilterParser, expressionParser: TExpressionParser): ɵInFilter {\n\t\tconst dtoRightExpressions = (dto['rightExpressions'] ?? []) as ɵJsonArray;\n\t\treturn new ɵInFilter(\n\t\t\tdto['comparisonType'] as ɵComparisonType,\n\t\t\texpressionParser.fromJson(dto['leftExpression'] as ɵJsonObject, filterParser) as ɵBaseExpression,\n\t\t\tdtoRightExpressions.map(\n\t\t\t\t(expression) => expressionParser.fromJson(expression as ɵJsonObject, filterParser) as ɵBaseExpression,\n\t\t\t),\n\t\t);\n\t}\n\n\t/** {@inheritDoc ɵBaseFilter.clone} */\n\tpublic clone(): ɵInFilter {\n\t\tconst filter = new ɵInFilter(this.comparisonType, this.leftExpression, this.rightExpressions);\n\t\tfilter.isEnabled = this.isEnabled;\n\t\tfilter.trimDateTimeParameterToDate = this.trimDateTimeParameterToDate;\n\t\treturn filter;\n\t}\n\n\t/** {@inheritDoc ɵSerializable.toJson} */\n\tpublic toJson(): ɵJsonObject {\n\t\treturn {\n\t\t\t...super.toJson(),\n\t\t\trightExpressions: this.rightExpressions.map((expression) => this.serializeItem(expression)),\n\t\t};\n\t}\n\n\t/**\n\t * @internal\n\t */\n\tpublic _getUsedColumns(): UsedColumn[] {\n\t\tconst rightExpressionsUsedColumns = this.rightExpressions\n\t\t\t.map((expression) => expression._getUsedColumns())\n\t\t\t.flat();\n\t\treturn [...super._getUsedColumns(), ...rightExpressionsUsedColumns];\n\t}\n}\n","import { ɵBaseFilterParser } from './filter-parser/base-filter-parser';\nimport { ɵSingleFilter } from './single-filter';\nimport { ɵJsonObject } from '../../../types';\nimport { ɵComparisonType, ɵFilterType } from '../enums';\nimport { ɵBaseExpression } from '../expressions/base-expression';\nimport { ɵBaseExpressionParser } from '../expressions/expression-parser/base-expression-parser';\n\n/**\n * @public\n * @description IsNull filter Class\n * @extends {ɵSingleFilter}\n */\nexport class ɵIsNullFilter extends ɵSingleFilter {\n\t/**\n\t * @description Flag that indicates if expression is empty or not.\n\t */\n\tpublic isNull = true;\n\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static readonly _instanceOfKey: string = 'devkit_IsNullFilter';\n\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static get _instanceOfKeys(): string[] {\n\t\treturn [...ɵSingleFilter._instanceOfKeys, this._instanceOfKey];\n\t}\n\n\tconstructor(\n\t\tcomparisonType: ɵComparisonType.Is_null | ɵComparisonType.Is_not_null,\n\t\tleftExpression: ɵBaseExpression,\n\t) {\n\t\tif (![ɵComparisonType.Is_null, ɵComparisonType.Is_not_null].includes(comparisonType)) {\n\t\t\tconsole.warn(`Invalid comparison type: ${ɵComparisonType[comparisonType]} in IsNullFilter.`);\n\t\t}\n\t\tsuper(ɵFilterType.IsNull, ɵIsNullFilter._getComparisonType(comparisonType), leftExpression);\n\t\tthis.isNull = this.comparisonType === ɵComparisonType.Is_null;\n\t}\n\n\tprivate static _getComparisonType(\n\t\tcomparisonType: ɵComparisonType,\n\t): ɵComparisonType.Is_null | ɵComparisonType.Is_not_null {\n\t\treturn comparisonType === ɵComparisonType.Is_not_null ? comparisonType : ɵComparisonType.Is_null;\n\t}\n\n\t/**\n\t * @description Parses isNull filter from json.\n\t * @public\n\t */\n\tpublic static fromJson<\n\t\tTFilterParser extends typeof ɵBaseFilterParser,\n\t\tTExpressionParser extends typeof ɵBaseExpressionParser,\n\t>(dto: ɵJsonObject, filterParser: TFilterParser, expressionParser: TExpressionParser): ɵIsNullFilter {\n\t\treturn new ɵIsNullFilter(\n\t\t\tɵIsNullFilter._getComparisonType(dto['comparisonType'] as ɵComparisonType),\n\t\t\texpressionParser.fromJson(dto['leftExpression'] as ɵJsonObject, filterParser) as ɵBaseExpression,\n\t\t);\n\t}\n\n\t/** {@inheritDoc ɵBaseFilter.clone} */\n\tpublic clone(): ɵIsNullFilter {\n\t\tconst filter = new ɵIsNullFilter(ɵIsNullFilter._getComparisonType(this.comparisonType), this.leftExpression);\n\t\tfilter.isEnabled = this.isEnabled;\n\t\tfilter.trimDateTimeParameterToDate = this.trimDateTimeParameterToDate;\n\t\treturn filter;\n\t}\n}\n","/**\n * @description Type for Guid value.\n * @public\n */\nexport type ɵGuid = string;\n\n/**\n * @public\n * @description Empty Guid constant.\n */\nexport const ɵEMPTY_GUID = '00000000-0000-0000-0000-000000000000';\n\n/**\n * @description Regular expression for Guid validation.\n * @public\n */\nconst validator = new RegExp('^[a-z0-9]{8}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{12}$', 'i');\n\n/**\n * @description Generates guid part.\n * @param length Part length.\n * @public\n */\nfunction generateGuidPart(length: number): string {\n\tlet out = '';\n\tfor (let i = 0; i < length; i++) {\n\t\t// eslint-disable-next-line no-bitwise\n\t\tout += (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);\n\t}\n\treturn out;\n}\n\n/**\n * @description Generates new Guid.\n * @public\n */\nexport function ɵgenerateGuid(): ɵGuid {\n\treturn [\n\t\tgenerateGuidPart(2),\n\t\tgenerateGuidPart(1),\n\t\tgenerateGuidPart(1),\n\t\tgenerateGuidPart(1),\n\t\tgenerateGuidPart(3),\n\t].join('-');\n}\n\n/**\n * @description Checks if value is Guid.\n * @param value Value for check.\n * @public\n */\nexport function ɵisGuid(value: unknown): boolean {\n\treturn Boolean(value) && validator.test(value as string);\n}\n\n/**\n * @description Checks if Guid is empty value or equal to EMPTY_GUID.\n * @param guid Guid for check.\n * @public\n */\nexport function ɵisEmptyGuid(guid: ɵGuid | undefined): boolean {\n\treturn !guid || guid === ɵEMPTY_GUID;\n}\n","/**\n * @public\n * @description An exception thrown when next handler already specified.\n */\nexport class ɵNextHandlerAlreadySpecifiedException extends Error {\n\tconstructor() {\n\t\tsuper('Next handler already specified');\n\t}\n}\n","/**\n * @public\n * @description The exception thrown when trying to pass an empty or null argument.\n * @extends {Error}\n */\nexport class ɵArgumentEmptyException extends Error {\n\t// region Constructors: Public\n\n\tconstructor(argumentName: string) {\n\t\tsuper(`Argument with name '${argumentName}' is empty.`);\n\t}\n\n\t// endregion\n}\n","/**\n * @public\n * @description The exception thrown when trying to pass argument that not in range.\n * @extends {Error}\n */\nexport class ɵArgumentOutOfRangeException extends Error {\n\t// region Constructors: Public\n\n\tconstructor(argumentName: string) {\n\t\tsuper(`Argument with name '${argumentName}' is out of range.`);\n\t}\n\n\t// endregion\n}\n","/**\n * @public\n * @description An exception thrown when trying to retrieve a collection item and it not exists.\n * @extends {Error}\n */\nexport class ɵItemNotFoundException extends Error {\n\t// region Constructors: Public\n\n\tconstructor(key: string) {\n\t\tsuper(`Item with key '${key}' does not exist.`);\n\t}\n\n\t// endregion\n}\n","import { ɵArgumentEmptyException } from './argument-empty-exception';\nimport { ɵArgumentOutOfRangeException } from './argument-out-of-range-exception';\n\n/**\n * @public\n * @description Utilities class with various validation methods.\n */\nexport class ɵValidationUtilities {\n\t// region Methods: Public\n\n\t/**\n\t * @public\n\t * @description Checks if argument is empty.\n\t * @param argumentName - Argument name.\n\t * @param argumentValue - Value of argument.\n\t */\n\tpublic static checkArgumentEmpty<T>(\n\t\targumentName: string,\n\t\targumentValue: T | null | undefined,\n\t): asserts argumentValue is T {\n\t\tif (argumentValue === undefined || argumentValue === null) {\n\t\t\tthrow new ɵArgumentEmptyException(argumentName);\n\t\t}\n\t}\n\n\t/**\n\t * @public\n\t * @description Checks if array is empty.\n\t * @param argumentName - Argument name.\n\t * @param argumentValue - Value of argument.\n\t */\n\tpublic static checkArrayEmpty<T>(argumentName: string, argumentValue: ArrayLike<T>): void {\n\t\tɵValidationUtilities.checkArgumentEmpty(argumentName, argumentValue);\n\t\tif (argumentValue.length === 0) {\n\t\t\tthrow new ɵArgumentEmptyException(argumentName);\n\t\t}\n\t}\n\n\t/**\n\t * @public\n\t * @description Checks if string is empty.\n\t * @param argumentName - Argument name.\n\t * @param argumentValue - Value of argument.\n\t */\n\tpublic static checkStringIsNotEmpty(argumentName: string, argumentValue: string): string {\n\t\tthis.checkArgumentEmpty(argumentName, argumentValue);\n\t\tif (argumentValue === '') {\n\t\t\tthrow new ɵArgumentEmptyException(argumentName);\n\t\t}\n\t\treturn argumentValue;\n\t}\n\n\t/**\n\t * @public\n\t * @description Checks if argument in range.\n\t * @param argumentName - Argument name.\n\t * @param argumentValue - Value of argument.\n\t * @param range - Range.\n\t */\n\tpublic static checkArgumentOutOfRange(\n\t\targumentName: string,\n\t\targumentValue: number,\n\t\trange: { begin?: number; end?: number },\n\t): void {\n\t\tif (range.begin && argumentValue < range.begin) {\n\t\t\tthrow new ɵArgumentOutOfRangeException(argumentName);\n\t\t}\n\t\tif (range.end && argumentValue > range.end) {\n\t\t\tthrow new ɵArgumentOutOfRangeException(argumentName);\n\t\t}\n\t}\n\n\tpublic static checkEnumOutOfRange(\n\t\targumentName: string,\n\t\targumentValue: string,\n\t\trange: Record<string, unknown> | unknown,\n\t): void {\n\t\tif (!range || !Object.values(range).includes(argumentValue)) {\n\t\t\tthrow new ɵArgumentOutOfRangeException(argumentName);\n\t\t}\n\t}\n\n\t// endregion\n}\n","import { Exclude, Expose } from 'class-transformer';\n\nimport { ɵBaseFilter } from './base-filter';\nimport { ɵBetweenFilter } from './between-filter';\nimport { ɵCompareFilter } from './compare-filter';\nimport { ɵExistsFilter } from './exists-filter';\nimport { ɵBaseFilterParser } from './filter-parser/base-filter-parser';\nimport { ɵInFilter } from './in-filter';\nimport { ɵIsNullFilter } from './isnull-filter';\nimport { ɵEntityColumnValue, ɵgenerateGuid, ɵGuid, ɵJsonObject } from '../../../../public/types';\nimport { ɵValidationUtilities } from '../../../exceptions';\nimport { ɵComparisonType } from '../enums/comparison-type.enum';\nimport { ɵFilterType } from '../enums/filter-type.enum';\nimport { ɵLogicalOperatorType } from '../enums/logical-operator-type.enum';\nimport { ɵQueryMacrosType } from '../enums/query-macros-type.enum';\nimport { ɵColumnExpression } from '../expressions/columns/column-expression';\nimport { ɵMacrosFunctionExpression } from '../expressions/functions/macros-function-expression';\nimport { ɵParameterExpression } from '../expressions/parameters/parameter-expression';\nimport { UsedColumn } from '../used-column';\n\n/**\n * @public\n * @description Group of filters. Groups of filters can be nested into each other,\n * i.e. The collection itself can be an element of another collection.\n * @extends {ɵBaseFilter}\n */\nexport class ɵFilterGroup extends ɵBaseFilter {\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static readonly _instanceOfKey: string = 'devkit_FilterGroup';\n\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static get _instanceOfKeys(): string[] {\n\t\treturn [...ɵBaseFilter._instanceOfKeys, this._instanceOfKey];\n\t}\n\n\t/**\n\t * @public\n\t * @description Collection of child filters.\n\t */\n\t@Exclude()\n\tpublic filters = new Map<ɵGuid, ɵBaseFilter>();\n\n\t/**\n\t * @public\n\t * @description Return collecion of deserialized filters.\n\t */\n\t@Expose()\n\tpublic get items(): { [key: string]: ɵBaseFilter } {\n\t\tconst result = {};\n\t\tthis.filters.forEach((filter, key) => {\n\t\t\tresult[key] = this.serializeItem(filter);\n\t\t});\n\t\treturn result;\n\t}\n\n\t/**\n\t * @description The type of the logical operation for a combination of filters in the collection.\n\t */\n\tpublic logicalOperation: ɵLogicalOperatorType;\n\t/**\n\t * @description Root schema name.\n\t */\n\tpublic rootSchemaName?: string;\n\n\tconstructor(logicalOperation = ɵLogicalOperatorType.And, rootSchemaName?: string) {\n\t\tsuper(ɵFilterType.FilterGroup);\n\t\tthis.logicalOperation = logicalOperation;\n\t\tthis.rootSchemaName = rootSchemaName;\n\t}\n\n\t/**\n\t * @public\n\t * @description Parses filter group from json.\n\t */\n\tpublic static fromJson<T extends typeof ɵBaseFilterParser>(dto: ɵJsonObject, filterParser: T): ɵFilterGroup {\n\t\tconst logicalOperation = dto['logicalOperation'] as ɵLogicalOperatorType;\n\t\tconst group = new ɵFilterGroup(logicalOperation || ɵLogicalOperatorType.And, dto['rootSchemaName'] as string);\n\t\tObject.entries(dto['items'] as ɵJsonObject).forEach(([key, filterDTO]) => {\n\t\t\tgroup.add(filterParser.fromJson(filterDTO as ɵJsonObject) as ɵBaseFilter, key);\n\t\t});\n\t\treturn group;\n\t}\n\n\t/** {@inheritDoc ɵSerializable.toJson} */\n\tpublic toJson(): ɵJsonObject {\n\t\tconst result = {};\n\t\tresult['filterType'] = this.filterType;\n\t\tresult['isEnabled'] = this.isEnabled;\n\t\tresult['logicalOperation'] = this.logicalOperation;\n\t\tresult['trimDateTimeParameterToDate'] = this.trimDateTimeParameterToDate;\n\t\tresult['items'] = this.items;\n\t\tif (this.rootSchemaName) {\n\t\t\tresult['rootSchemaName'] = this.rootSchemaName;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprivate _createParameterValueExpressions(values: ɵEntityColumnValue[]): ɵParameterExpression[] {\n\t\treturn values.map(\n\t\t\t(value) =>\n\t\t\t\tnew ɵParameterExpression({\n\t\t\t\t\tvalue: value,\n\t\t\t\t}),\n\t\t);\n\t}\n\n\t/**\n\t * @public\n\t * @description Returns filter item by index.\n\t * @param index Item index.\n\t * @returns Filter.\n\t */\n\tpublic getItemByIndex(index: number): ɵBaseFilter {\n\t\treturn this.items[Object.keys(this.items)[index]];\n\t}\n\n\t/**\n\t * @public\n\t * @description Creates and adds compare filter by value.\n\t * @param comparisonType Comparison type.\n\t * @param columnPath Column path.\n\t * @param parameterValue Parameter value.\n\t * @param filterKey Filter key.\n\t */\n\tpublic addSchemaColumnFilterWithParameter(\n\t\tcomparisonType: ɵComparisonType,\n\t\tcolumnPath: string,\n\t\tparameterValue: ɵEntityColumnValue,\n\t\tfilterKey?: string,\n\t): void {\n\t\tconst leftExpression = new ɵColumnExpression({ columnPath });\n\t\tconst rightExpression = new ɵParameterExpression({ value: parameterValue });\n\t\tconst filter = new ɵCompareFilter(comparisonType, leftExpression, rightExpression);\n\t\tthis.add(filter, filterKey);\n\t}\n\n\t/**\n\t * @public\n\t * @description Creates and adds in filter by values.\n\t * @param comparisonType Comparison type.\n\t * @param columnPath Column path.\n\t * @param parameterValues Parameter values.\n\t * @param filterKey Filter key.\n\t */\n\tpublic addSchemaColumnInFilterWithParameters(\n\t\tcomparisonType: ɵComparisonType,\n\t\tcolumnPath: string,\n\t\tparameterValues: ɵEntityColumnValue[],\n\t\tfilterKey?: string,\n\t): void {\n\t\tconst leftExpression = new ɵColumnExpression({ columnPath });\n\t\tconst expressions = this._createParameterValueExpressions(parameterValues);\n\t\tconst filter = new ɵInFilter(comparisonType, leftExpression, expressions);\n\t\tthis.add(filter, filterKey);\n\t}\n\n\t/**\n\t * @public\n\t * @description Creates and adds in filter for primary column.\n\t * @param primaryColumnValues Primary column values.\n\t * @param filterKey Filter key.\n\t */\n\tpublic addPrimarySchemaColumnInFilter(primaryColumnValues: ɵEntityColumnValue[], filterKey?: string): void {\n\t\tconst leftExpression = new ɵMacrosFunctionExpression({ macrosType: ɵQueryMacrosType.PrimaryColumn });\n\t\tconst expressions = this._createParameterValueExpressions(primaryColumnValues);\n\t\tconst filter = new ɵInFilter(ɵComparisonType.Equal, leftExpression, expressions);\n\t\tthis.add(filter, filterKey);\n\t}\n\n\t/**\n\t * @public\n\t * @description Creates and adds null filter.\n\t * @param columnPath Path of column.\n\t * @param filterKey Filter key.\n\t */\n\tpublic addSchemaColumnIsNullFilter(columnPath: string, filterKey?: string): void {\n\t\tconst leftExpression = new ɵColumnExpression({ columnPath });\n\t\tconst filter = new ɵIsNullFilter(ɵComparisonType.Is_null, leftExpression);\n\t\tthis.add(filter, filterKey);\n\t}\n\n\t/**\n\t * @public\n\t * @description Creates and adds not null filter.\n\t * @param columnPath Column path.\n\t * @param filterKey Filter key.\n\t */\n\tpublic addSchemaColumnIsNotNullFilter(columnPath: string, filterKey?: string): void {\n\t\tconst leftExpression = new ɵColumnExpression({ columnPath });\n\t\tconst filter = new ɵIsNullFilter(ɵComparisonType.Is_not_null, leftExpression);\n\t\tthis.add(filter, filterKey);\n\t}\n\n\t/**\n\t * @public\n\t * @description Creates and adds filter between less value and greater value.\n\t * @param columnPath Column path.\n\t * @param lessParamValue Less parameter value.\n\t * @param greaterParamValue Greater parameter value.\n\t * @param filterKey Filter key.\n\t */\n\tpublic addSchemaColumnBetweenFilterWithParameters(\n\t\tcolumnPath: string,\n\t\tlessParamValue: Date | number,\n\t\tgreaterParamValue: Date | number,\n\t\tfilterKey?: string,\n\t): void {\n\t\tconst leftExpression = new ɵColumnExpression({ columnPath });\n\t\tconst rightLessExpression = new ɵParameterExpression({ value: lessParamValue });\n\t\tconst rightGreaterExpression = new ɵParameterExpression({ value: greaterParamValue });\n\t\tconst filter = new ɵBetweenFilter(leftExpression, rightLessExpression, rightGreaterExpression);\n\t\tthis.add(filter, filterKey);\n\t}\n\n\t/**\n\t * @public\n\t * @description Creates and adds exists filter.\n\t * @param columnPath Column path.\n\t * @param subFilters Filters for exists expression.\n\t * @param filterKey Filter key.\n\t */\n\tpublic addExistsFilter(columnPath: string, subFilters?: ɵFilterGroup, filterKey?: string): void {\n\t\tconst leftExpression = new ɵColumnExpression({ columnPath });\n\t\tconst filter = new ɵExistsFilter(leftExpression, <ɵFilterGroup>subFilters);\n\t\tthis.add(filter, filterKey);\n\t}\n\n\t/**\n\t * @public\n\t * @description Creates and adds not exists filter.\n\t * @param columnPath Column path.\n\t * @param subFilters Filters for exist expression.\n\t * @param filterKey Filter key.\n\t */\n\tpublic addNotExistsFilter(columnPath: string, subFilters?: ɵFilterGroup, filterKey?: string): void {\n\t\tconst leftExpression = new ɵColumnExpression({ columnPath });\n\t\tconst filter = new ɵExistsFilter(leftExpression, <ɵFilterGroup>subFilters, ɵComparisonType.Not_exists);\n\t\tthis.add(filter, filterKey);\n\t}\n\n\t/**\n\t * @public\n\t * @description Adds filter.\n\t * @param filter Instance of filter.\n\t * @param filterKey Filter key.\n\t */\n\tpublic add(filter: ɵBaseFilter, filterKey?: string): void {\n\t\tɵValidationUtilities.checkArgumentEmpty('filter', filter);\n\t\tconst key = filterKey || ɵgenerateGuid();\n\t\tthis.filters.set(key, filter);\n\t}\n\n\t/**\n\t * @public\n\t * @description Clones instance.\n\t */\n\tpublic clone(): ɵFilterGroup {\n\t\tconst filterGroup = new ɵFilterGroup(this.logicalOperation, this.rootSchemaName);\n\t\tthis.filters.forEach((filter, filterKey) => {\n\t\t\tfilterGroup.filters.set(filterKey, filter.clone());\n\t\t});\n\t\tfilterGroup.isEnabled = this.isEnabled;\n\t\tfilterGroup.trimDateTimeParameterToDate = this.trimDateTimeParameterToDate;\n\t\treturn filterGroup;\n\t}\n\n\t/**\n\t * @internal\n\t */\n\tpublic _getUsedColumns(): UsedColumn[] {\n\t\tconst result: UsedColumn[] = [];\n\t\tthis.filters.forEach((filter) => {\n\t\t\tlet filterUsedColumns = filter._getUsedColumns ? filter._getUsedColumns() : [];\n\t\t\tfilterUsedColumns = filterUsedColumns.map((usedColumn) => ({\n\t\t\t\tpath: usedColumn.path,\n\t\t\t\tschemaName: usedColumn.schemaName ?? this.rootSchemaName,\n\t\t\t}));\n\t\t\tresult.push(...filterUsedColumns);\n\t\t});\n\t\treturn result;\n\t}\n}\n","import { ɵJsonObject as JsonObject } from '../../../../types/json-data.type';\nimport { ɵExpressionType as ExpressionType } from '../../enums';\nimport { ɵFilterGroup as FilterGroup } from '../../filters/filter-group';\nimport { ɵBaseFilterParser as BaseFilterParser } from '../../filters/filter-parser/base-filter-parser';\nimport { UsedColumn } from '../../used-column';\nimport { ɵBaseExpression as BaseExpression, ɵExpressionConfig as ExpressionConfig } from '../base-expression';\n\n/**\n * @public\n * @description Configuration for sub query expression.\n */\nexport type ɵSubQueryExpressionConfig = ExpressionConfig<ɵSubQueryExpression> & Pick<ɵSubQueryExpression, 'columnPath'>;\n\n/**\n * @public\n * @description The class that defines the sub query expression.\n * @extends {ɵBaseExpression}\n */\nexport class ɵSubQueryExpression extends BaseExpression {\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static readonly _instanceOfKey: string = 'devkit_SubQueryExpression';\n\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static get _instanceOfKeys(): string[] {\n\t\treturn [...BaseExpression._instanceOfKeys, this._instanceOfKey];\n\t}\n\n\t/**\n\t * @description Type of expression.\n\t */\n\tpublic readonly expressionType: ExpressionType = ExpressionType.SubQuery;\n\n\t/**\n\t * @description The path to the column is relative to root schema.\n\t */\n\tpublic columnPath: string;\n\n\t/**\n\t * @description Sub-query filters. Can not contain filters with other sub-queries.\n\t */\n\tpublic readonly subFilters: FilterGroup;\n\n\t/**\n\t * @description Order direction.\n\t */\n\tpublic readonly subOrderDirection?: number;\n\n\t/**\n\t * @description Column for order.\n\t */\n\tpublic readonly subOrderColumn?: string;\n\n\tconstructor(config: ɵSubQueryExpressionConfig) {\n\t\tsuper(config);\n\t\tthis.columnPath = config?.columnPath;\n\t\tconst subFilters = <FilterGroup>config?.subFilters;\n\t\tif (typeof subFilters?.clone === 'function') {\n\t\t\tthis.subFilters = subFilters.clone();\n\t\t} else if (subFilters) {\n\t\t\tthis.subFilters = new FilterGroup(subFilters.logicalOperation, subFilters.rootSchemaName);\n\t\t\tthis.subFilters.isEnabled = subFilters.isEnabled;\n\t\t\tObject.entries(subFilters.items).forEach(([key, filter]) => {\n\t\t\t\tthis.subFilters.add(filter, key);\n\t\t\t});\n\t\t} else {\n\t\t\tthis.subFilters = subFilters;\n\t\t}\n\t\tthis.subOrderDirection = config.subOrderDirection;\n\t\tthis.subOrderColumn = config.subOrderColumn;\n\t}\n\n\t/**\n\t * Parses expression from json.\n\t * @public\n\t */\n\tpublic static fromJson<TFilterParser extends typeof BaseFilterParser>(\n\t\tdto: JsonObject,\n\t\tfilterParser: TFilterParser,\n\t): ɵSubQueryExpression {\n\t\tconst expression = new ɵSubQueryExpression({\n\t\t\tcolumnPath: dto['columnPath'] as string,\n\t\t\tsubFilters: filterParser.fromJson(dto['subFilters'] as JsonObject) as FilterGroup,\n\t\t\tsubOrderDirection: dto['subOrderDirection'] as number,\n\t\t\tsubOrderColumn: dto['subOrderColumn'] as string,\n\t\t});\n\t\treturn expression;\n\t}\n\n\t/** {@inheritDoc ɵBaseExpression.clone} */\n\tpublic clone(): ɵSubQueryExpression {\n\t\treturn new ɵSubQueryExpression(this);\n\t}\n\n\t/** {@inheritDoc ɵBaseExpression.toJson} */\n\tpublic toJson(): JsonObject {\n\t\tconst result = super.toJson();\n\t\tif (this.subFilters) {\n\t\t\tresult['subFilters'] = this.serializeItem(this.subFilters);\n\t\t}\n\t\treturn result;\n\t}\n\n\t/**\n\t * @internal\n\t */\n\tpublic _getUsedColumns(): UsedColumn[] {\n\t\treturn [\n\t\t\t{\n\t\t\t\tpath: this.columnPath,\n\t\t\t},\n\t\t\t...(this.subFilters?._getUsedColumns() ?? []),\n\t\t];\n\t}\n}\n","import { ɵSubQueryExpression, ɵSubQueryExpressionConfig } from './sub-query-expression';\nimport { ɵAggregationType } from '../../../../../public/enums';\nimport { ɵJsonObject } from '../../../../types/json-data.type';\nimport { ɵFunctionType } from '../../enums';\nimport { ɵBaseFilterParser } from '../../filters/filter-parser/base-filter-parser';\n\n/**\n * @public\n * @description Configuration for aggregation in sub query expression.\n */\nexport type ɵAggregationSubQueryExpressionConfig = ɵSubQueryExpressionConfig &\n\tPick<ɵAggregationSubQueryExpression, 'aggregationType'> &\n\tPick<ɵAggregationSubQueryExpression, 'functionType'>;\n\n/**\n * @public\n * @description A class that describes expression with aggregation sub query.\n * @extends {ɵSubQueryExpression}\n */\nexport class ɵAggregationSubQueryExpression extends ɵSubQueryExpression {\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static readonly _instanceOfKey: string = 'devkit_AggregationSubQueryExpression';\n\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static get _instanceOfKeys(): string[] {\n\t\treturn [...ɵSubQueryExpression._instanceOfKeys, this._instanceOfKey];\n\t}\n\n\t/**\n\t * @description Aggregation type.\n\t */\n\tpublic readonly aggregationType: ɵAggregationType;\n\t/**\n\t * @description Function type.\n\t */\n\tpublic readonly functionType?: ɵFunctionType;\n\n\tconstructor(config: ɵAggregationSubQueryExpressionConfig) {\n\t\tsuper(config);\n\t\tthis.aggregationType = config?.aggregationType;\n\t\tthis.functionType = config?.functionType;\n\t}\n\n\t/**\n\t * Parses expression from json.\n\t * @public\n\t */\n\tpublic static fromJson<TFilterParser extends typeof ɵBaseFilterParser>(\n\t\tdto: ɵJsonObject,\n\t\tfilterParser: TFilterParser,\n\t): ɵAggregationSubQueryExpression {\n\t\tconst subQueryExpression = super.fromJson(dto, filterParser) as ɵSubQueryExpression;\n\t\tconst expression = new ɵAggregationSubQueryExpression({\n\t\t\taggregationType: dto['aggregationType'] as ɵAggregationType,\n\t\t\tfunctionType: dto['functionType'] as ɵFunctionType,\n\t\t\t...subQueryExpression,\n\t\t});\n\t\treturn expression;\n\t}\n\n\t/** {@inheritDoc ɵBaseExpression.clone} */\n\tpublic clone(): ɵAggregationSubQueryExpression {\n\t\treturn new ɵAggregationSubQueryExpression(this);\n\t}\n}\n","import { ɵJsonObject } from '../../../../types';\nimport { ɵExpressionType } from '../../enums/expression-type.enum';\nimport { ɵFunctionType } from '../../enums/function-type.enum';\nimport { ɵArithmeticExpression } from '../arithmetic';\nimport { ɵBaseExpression } from '../base-expression';\nimport { ɵColumnExpression } from '../columns/column-expression';\nimport {\n\tɵDatePartFunctionExpression,\n\tɵLengthFunctionExpression,\n\tɵMacrosFunctionExpression,\n\tɵWindowFunctionExpression,\n} from '../functions';\nimport { ɵParameterExpression } from '../parameters/parameter-expression';\nimport { ɵAggregationSubQueryExpression } from '../sub-queries/aggregation-sub-query-expression';\n\n/**\n * @public\n * @description Function expression resolver.\n */\nclass FunctionExpressionResolver {\n\tpublic static resolve(dto: ɵJsonObject): typeof ɵBaseExpression {\n\t\tconst expressionClass = {\n\t\t\t[ɵFunctionType.Macros]: ɵMacrosFunctionExpression,\n\t\t\t[ɵFunctionType.Length]: ɵLengthFunctionExpression,\n\t\t\t[ɵFunctionType.Window]: ɵWindowFunctionExpression,\n\t\t\t[ɵFunctionType.DatePart]: ɵDatePartFunctionExpression,\n\t\t\t[ɵFunctionType.DateAdd]: ɵDatePartFunctionExpression,\n\t\t\t[ɵFunctionType.DateDiff]: ɵDatePartFunctionExpression,\n\t\t};\n\t\treturn expressionClass[dto['functionType'] as ɵFunctionType];\n\t}\n}\n\n/**\n * @description Expression resolver.\n * @public\n */\nexport class ɵExpressionResolver {\n\t/**\n\t * @public\n\t * @description Resolves class of expression.\n\t * @param expressionType - Type of expression.\n\t * @param dto - Serialized object.\n\t * @return Class of expression.\n\t */\n\tpublic static resolve(expressionType: ɵExpressionType, dto: ɵJsonObject): typeof ɵBaseExpression {\n\t\tconst expressionClass = {\n\t\t\t[ɵExpressionType.SchemaColumn]: ɵColumnExpression,\n\t\t\t[ɵExpressionType.Parameter]: ɵParameterExpression,\n\t\t\t[ɵExpressionType.SubQuery]: ɵAggregationSubQueryExpression,\n\t\t\t[ɵExpressionType.ArithmeticOperation]: ɵArithmeticExpression,\n\t\t\t[ɵExpressionType.Function]: FunctionExpressionResolver.resolve(dto),\n\t\t};\n\t\treturn expressionClass[expressionType];\n\t}\n}\n","import { ɵBaseExpressionParser } from './base-expression-parser';\nimport { ɵExpressionResolver } from './expression-resolver';\nimport { ɵJsonObject } from '../../../../types/json-data.type';\nimport { ɵExpressionType } from '../../enums/expression-type.enum';\nimport { ɵBaseFilterParser } from '../../filters/filter-parser/base-filter-parser';\nimport { ɵBaseExpression } from '../base-expression';\n\n/**\n * @public\n * @description Expression parser.\n * @extends {ɵBaseExpressionParser}\n */\nexport class ɵExpressionParser extends ɵBaseExpressionParser {\n\t/**\n\t * @public\n\t * @description Parses expression from json.\n\t */\n\tpublic static fromJson(dto: ɵJsonObject, filterParser: typeof ɵBaseFilterParser): ɵBaseExpression {\n\t\tconst expressionType = dto['expressionType'] as ɵExpressionType;\n\t\treturn ɵExpressionResolver.resolve(expressionType, dto).fromJson(dto, filterParser, ɵExpressionParser);\n\t}\n}\n","import { classToPlain } from 'class-transformer';\n\nimport { ɵExpressionType } from '../../enums';\nimport { UsedColumn } from '../../used-column';\nimport { ɵBaseExpression, ɵExpressionConfig } from '../base-expression';\n\n/**\n * @internal\n */\nexport const ɵEXPRESSION_TYPE_MOCK: ɵExpressionType = 0;\n\nexport class ɵExpressionMock extends ɵBaseExpression {\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static readonly _instanceOfKey: string = 'devkit_ExpressionMock';\n\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static get _instanceOfKeys(): string[] {\n\t\treturn [...ɵBaseExpression._instanceOfKeys, this._instanceOfKey];\n\t}\n\n\tpublic readonly expressionType: ɵExpressionType = ɵEXPRESSION_TYPE_MOCK;\n\n\tconstructor(config?: ɵExpressionConfig<ɵExpressionMock>) {\n\t\tsuper(config || {});\n\t}\n\n\t// eslint-disable-next-line @typescript-eslint/ban-types\n\tpublic get plainObject(): object {\n\t\treturn classToPlain(this, { exposeUnsetFields: false, excludePrefixes: ['_'] });\n\t}\n\n\tpublic clone(): ɵExpressionMock {\n\t\treturn new ɵExpressionMock(this);\n\t}\n\n\t/**\n\t * @internal\n\t */\n\tpublic _getUsedColumns(): UsedColumn[] {\n\t\treturn [];\n\t}\n}\n","import { classToPlain } from 'class-transformer';\n\nimport { ɵFilterType } from '../../enums';\nimport { UsedColumn } from '../../used-column';\nimport { ɵBaseFilter } from '../base-filter';\n\nexport class ɵFilterMock extends ɵBaseFilter {\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static readonly _instanceOfKey: string = 'devkit_FilterMock';\n\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static get _instanceOfKeys(): string[] {\n\t\treturn [...ɵBaseFilter._instanceOfKeys, this._instanceOfKey];\n\t}\n\n\tconstructor(filterType: ɵFilterType = ɵFilterType.None) {\n\t\tsuper(filterType);\n\t}\n\n\t// eslint-disable-next-line @typescript-eslint/ban-types\n\tpublic get plainObject(): object {\n\t\treturn classToPlain(this, { exposeUnsetFields: false, excludePrefixes: ['_'] });\n\t}\n\n\tpublic clone(): ɵFilterMock {\n\t\treturn new ɵFilterMock(this.filterType);\n\t}\n\n\t/**\n\t * @internal\n\t */\n\tpublic _getUsedColumns(): UsedColumn[] {\n\t\treturn [];\n\t}\n}\n","/**\n * @internal\n */\nexport const ɵparserMock = {\n\tfromJson: (data) => ({\n\t\t...data,\n\t\tclone: () => data,\n\t}),\n\tclone: () => this,\n};\n","import { ɵJsonObject } from '../../../../types/json-data.type';\n\n/**\n * @public\n * @description Filter parser interface.\n */\nexport class ɵBaseFilterParser {\n\t/**\n\t * @description Creates filter from JSON.\n\t * @param dto - Serialized filter.\n\t * @return Instance of filter.\n\t */\n\tpublic static fromJson(dto: ɵJsonObject): unknown {\n\t\tthrow new Error('not implemented');\n\t}\n}\n","import { ɵFilterType } from '../../enums/filter-type.enum';\nimport { ɵBaseFilter } from '../base-filter';\nimport { ɵBetweenFilter } from '../between-filter';\nimport { ɵCompareFilter } from '../compare-filter';\nimport { ɵExistsFilter } from '../exists-filter';\nimport { ɵFilterGroup } from '../filter-group';\nimport { ɵInFilter } from '../in-filter';\nimport { ɵIsNullFilter } from '../isnull-filter';\n\n/**\n * @public\n * @description Filter resolver.\n */\nexport class ɵFilterResolver {\n\t/**\n\t * @public\n\t * @description Resolves class of filter.\n\t * @param filterType - Type of filter.\n\t * @return Class of filter.\n\t */\n\tpublic static resolve(filterType: ɵFilterType): typeof ɵBaseFilter {\n\t\tconst filterClass = {\n\t\t\t[ɵFilterType.Compare]: ɵCompareFilter,\n\t\t\t[ɵFilterType.FilterGroup]: ɵFilterGroup,\n\t\t\t[ɵFilterType.In]: ɵInFilter,\n\t\t\t[ɵFilterType.IsNull]: ɵIsNullFilter,\n\t\t\t[ɵFilterType.Exists]: ɵExistsFilter,\n\t\t\t[ɵFilterType.Between]: ɵBetweenFilter,\n\t\t};\n\t\treturn filterClass[filterType];\n\t}\n}\n","import { ɵBaseFilterParser } from './base-filter-parser';\nimport { ɵFilterResolver } from './filter-resolver';\nimport { ɵJsonObject } from '../../../../types';\nimport { ɵFilterType } from '../../enums';\nimport { ɵExpressionParser } from '../../expressions/expression-parser/expression-parser';\nimport { ɵBaseFilter } from '../base-filter';\n\n/**\n * @public\n * @description Filter parser.\n */\nexport class ɵFilterParser extends ɵBaseFilterParser {\n\t/**\n\t * @description Creates filter from JSON.\n\t * @param dto - Serialized filter.\n\t */\n\tpublic static fromJson(dto: ɵJsonObject): ɵBaseFilter {\n\t\tconst filterType = dto['filterType'] as ɵFilterType;\n\t\tconst isEnabled = dto['isEnabled'] as boolean;\n\t\tconst trimDateTimeParameterToDate = dto['trimDateTimeParameterToDate'] as boolean;\n\t\tconst filter = ɵFilterResolver.resolve(filterType).fromJson(dto, ɵFilterParser, ɵExpressionParser);\n\t\tfilter.isEnabled = isEnabled !== false;\n\t\tfilter.trimDateTimeParameterToDate = trimDateTimeParameterToDate === true;\n\t\treturn filter;\n\t}\n}\n","/**\n * @internal\n */\nexport const ɵDEFAULT_FILTER_PLAIN_OBJ: object = {\n\tisEnabled: true,\n\ttrimDateTimeParameterToDate: false,\n};\n\n/**\n * @internal\n */\nexport function ɵgetFilterPlainObj(filterPlainObj?: object): object {\n\treturn {\n\t\t...ɵDEFAULT_FILTER_PLAIN_OBJ,\n\t\t...filterPlainObj,\n\t};\n}\n","import { ɵValidationUtilities } from '../../../../public/exceptions';\nimport { ɵOrderDirection } from '../enums';\nimport { ɵBaseExpression } from '../expressions';\nimport { UsedColumn } from '../used-column';\n\n/**\n * @public\n * @abstract\n * @classdesc Class contains info about column for query.\n */\nexport abstract class ɵBaseQueryColumn<TExpression extends ɵBaseExpression = ɵBaseExpression> {\n\t/**\n\t * @description Order direction.\n\t */\n\tpublic orderDirection: ɵOrderDirection = ɵOrderDirection.None;\n\t/**\n\t * @description Column order position.\n\t */\n\tpublic orderPosition = -1;\n\t/**\n\t * @description If true then column data will be present in the result set.\n\t */\n\tpublic isVisible = true;\n\t/**\n\t * @description Column caption.\n\t */\n\tpublic caption?: string;\n\t/**\n\t * @description Column expression.\n\t */\n\tpublic readonly expression: TExpression;\n\n\tprotected constructor(expression: TExpression) {\n\t\tthis.expression = expression;\n\t}\n\n\t/**\n\t * Adds ordering options.\n\t * @param orderDirection Direction.\n\t * @param orderPosition Position.\n\t * @returns Self.\n\t */\n\tpublic withOrdering(orderDirection: ɵOrderDirection, orderPosition: number): this {\n\t\tɵValidationUtilities.checkArgumentEmpty('orderDirection', orderDirection);\n\t\tɵValidationUtilities.checkArgumentEmpty('orderPosition', orderPosition);\n\t\tɵValidationUtilities.checkArgumentOutOfRange('orderPosition', orderPosition, { begin: -1 });\n\t\tthis.orderDirection = orderDirection;\n\t\tthis.orderPosition = orderPosition;\n\t\treturn this;\n\t}\n\n\t/**\n\t * Adds options.\n\t * @param options Options.\n\t * @returns Self.\n\t */\n\tpublic withOptions(options: { isVisible?: boolean }): this {\n\t\tɵValidationUtilities.checkArgumentEmpty('options', options);\n\t\tthis.isVisible = options.isVisible ?? true;\n\t\treturn this;\n\t}\n\n\t/**\n\t * Adds caption.\n\t * @param caption Caption.\n\t * @returns Self.\n\t */\n\tpublic withCaption(caption: string): this {\n\t\tɵValidationUtilities.checkArgumentEmpty('caption', caption);\n\t\tthis.caption = caption;\n\t\treturn this;\n\t}\n\n\t/**\n\t * @internal\n\t */\n\tpublic _getUsedColumns(): UsedColumn[] {\n\t\treturn this.expression._getUsedColumns();\n\t}\n}\n","import { ɵArithmeticOperation } from '../../enums';\nimport { ɵArithmeticExpression, ɵBaseExpression } from '../../expressions';\nimport { ɵBaseQueryColumn } from '../base-query-column';\n\n/**\n * @public\n * @classdesc Class contains info about column with arithmetic operation.\n * @extends {ɵBaseQueryColumn}\n */\nexport class ɵArithmeticQueryColumn extends ɵBaseQueryColumn<ɵArithmeticExpression> {\n\t// region Constructors: Public\n\n\tconstructor(\n\t\tarithmeticOperation: ɵArithmeticOperation,\n\t\tleftArithmeticOperand: ɵBaseExpression,\n\t\trightArithmeticOperand: ɵBaseExpression,\n\t) {\n\t\tsuper(new ɵArithmeticExpression({ arithmeticOperation, leftArithmeticOperand, rightArithmeticOperand }));\n\t}\n\n\t// endregion\n}\n","import { ɵColumnExpression } from '../../expressions';\nimport { ɵBaseQueryColumn } from '../base-query-column';\n\n/**\n * @public\n * @classdesc Class contains info about common column from entity.\n * @extends {ɵBaseQueryColumn}\n */\nexport class ɵEntityQueryColumn extends ɵBaseQueryColumn<ɵColumnExpression> {\n\t// region Constructors: Public\n\n\tconstructor(columnPath: string) {\n\t\tsuper(new ɵColumnExpression({ columnPath }));\n\t}\n\n\t// endregion\n}\n","import { ɵDataValueType } from '../../../../../public/enums';\nimport { ɵEntityColumnValue } from '../../../../../public/types';\nimport { ɵParameterExpression } from '../../expressions';\nimport { ɵBaseQueryColumn } from '../base-query-column';\n\n/**\n * @public\n * @classdesc Class contains info about column that contains parameter.\n * @extends {ɵBaseQueryColumn}\n */\nexport class ɵParameterQueryColumn extends ɵBaseQueryColumn<ɵParameterExpression> {\n\t// region Constructors: Public\n\n\tconstructor(value: ɵEntityColumnValue, dataValueType?: ɵDataValueType) {\n\t\tsuper(new ɵParameterExpression({ value, dataValueType }));\n\t}\n\n\t// endregion\n}\n","import { ɵAggregationType } from '../../../../../public/enums';\nimport { ɵAggregationSubQueryExpression } from '../../expressions';\nimport { ɵFilterGroup } from '../../filters';\nimport { ɵBaseQueryColumn } from '../base-query-column';\n\n/**\n * @public\n * @classdesc Class contains info about column with sub query and aggregation.\n * @extends {ɵBaseQueryColumn}\n */\nexport class ɵAggregationSubQueryColumn extends ɵBaseQueryColumn<ɵAggregationSubQueryExpression> {\n\t// region Constructors: Public\n\n\tconstructor(\n\t\tcolumnPath: string,\n\t\taggregationType: ɵAggregationType,\n\t\tsubFilters?: ɵFilterGroup,\n\t\tsubOrderDirection?: number,\n\t\tsubOrderColumn?: string,\n\t) {\n\t\tsuper(\n\t\t\tnew ɵAggregationSubQueryExpression({\n\t\t\t\taggregationType,\n\t\t\t\tcolumnPath,\n\t\t\t\tsubFilters,\n\t\t\t\tsubOrderDirection,\n\t\t\t\tsubOrderColumn,\n\t\t\t}),\n\t\t);\n\t}\n\n\t// endregion\n}\n","import { ɵSubQueryExpression } from '../../expressions';\nimport { ɵFilterGroup } from '../../filters';\nimport { ɵBaseQueryColumn } from '../base-query-column';\n\n/**\n * @public\n * @classdesc Class contains info about column with sub query.\n * @extends {ɵBaseQueryColumn}\n */\nexport class ɵSubQueryColumn extends ɵBaseQueryColumn<ɵSubQueryExpression> {\n\t// region Constructors: Public\n\n\tconstructor(columnPath: string, subFilters?: ɵFilterGroup) {\n\t\tsuper(new ɵSubQueryExpression({ columnPath, subFilters }));\n\t}\n\n\t// endregion\n}\n","import { ɵAggregationType } from '../../../../../public/enums';\nimport { ɵAggregationEvalType } from '../../enums';\nimport { ɵAggregationFunctionExpression, ɵBaseExpression } from '../../expressions';\nimport { ɵBaseQueryColumn } from '../base-query-column';\n\n/**\n * @public\n * @classdesc Class contains info about column with aggregation function.\n * @extends {ɵBaseQueryColumn}\n */\nexport class ɵAggregationFunctionColumn extends ɵBaseQueryColumn<ɵAggregationFunctionExpression> {\n\t// region Constructors: Public\n\n\tconstructor(\n\t\taggregationType: ɵAggregationType,\n\t\taggregationEvalType: ɵAggregationEvalType,\n\t\tfunctionArgument: ɵBaseExpression,\n\t) {\n\t\tsuper(\n\t\t\tnew ɵAggregationFunctionExpression({\n\t\t\t\taggregationType,\n\t\t\t\taggregationEvalType,\n\t\t\t\tfunctionArgument,\n\t\t\t}),\n\t\t);\n\t}\n\n\t// endregion\n}\n","import { ɵDatePartType } from '../../enums';\nimport { ɵBaseExpression, ɵDatePartFunctionExpression } from '../../expressions';\nimport { ɵBaseQueryColumn } from '../base-query-column';\n\n/**\n * @public\n * @classdesc Class contains info about column with date part.\n * @extends {ɵBaseQueryColumn}\n */\nexport class ɵDatePartFunctionColumn extends ɵBaseQueryColumn<ɵDatePartFunctionExpression> {\n\t// region Constructors: Public\n\n\tconstructor(datePartType: ɵDatePartType, functionArgument: ɵBaseExpression) {\n\t\tsuper(\n\t\t\tnew ɵDatePartFunctionExpression({\n\t\t\t\tdatePartType,\n\t\t\t\tfunctionArgument,\n\t\t\t}),\n\t\t);\n\t}\n\n\t// endregion\n\n\t// region Properties: Public\n\n\t/**\n\t * @description Part of date.\n\t */\n\tpublic get datePartType(): ɵDatePartType {\n\t\treturn this.expression?.datePartType;\n\t}\n\n\t// endregion\n}\n","import { ɵColumnExpression, ɵLengthFunctionExpression } from '../../expressions';\nimport { ɵBaseQueryColumn } from '../base-query-column';\n\n/**\n * @public\n * @classdesc Class contains info about column with length function.\n * @extends {ɵBaseQueryColumn}\n */\nexport class ɵLengthFunctionColumn extends ɵBaseQueryColumn<ɵLengthFunctionExpression> {\n\t// region Constructors: Public\n\n\tconstructor(functionArgument: ɵColumnExpression) {\n\t\tsuper(new ɵLengthFunctionExpression({ functionArgument }));\n\t}\n\n\t// endregion\n}\n","import { ɵQueryMacrosType } from '../../enums';\nimport { ɵMacrosFunctionExpression } from '../../expressions';\nimport { ɵBaseQueryColumn } from '../base-query-column';\n\n/**\n * @public\n * @classdesc Class contains info about column with macros function.\n * @extends {ɵBaseQueryColumn}\n */\nexport class ɵMacrosFunctionColumn extends ɵBaseQueryColumn<ɵMacrosFunctionExpression> {\n\t// region Constructors: Public\n\n\tconstructor(macrosType: ɵQueryMacrosType) {\n\t\tsuper(new ɵMacrosFunctionExpression({ macrosType }));\n\t}\n\n\t// endregion\n}\n","import { ɵAggregationFunctionExpression, ɵWindowFunctionExpression } from '../../expressions';\nimport { ɵBaseQueryColumn } from '../base-query-column';\n\n/**\n * @public\n * @classdesc Class contains info about column with window function.\n * @extends {ɵBaseQueryColumn}\n */\nexport class ɵWindowFunctionColumn extends ɵBaseQueryColumn<ɵWindowFunctionExpression> {\n\t// region Constructors: Public\n\n\tconstructor(functionArgument: ɵAggregationFunctionExpression) {\n\t\tsuper(new ɵWindowFunctionExpression({ functionArgument }));\n\t}\n\n\t// endregion\n}\n","import { ɵOrderDirection } from '../enums';\n\n/**\n * @internal\n */\nexport const ɵDEFAULT_COLUMN_PLAIN_OBJ: object = {\n\tisVisible: true,\n\torderPosition: -1,\n\torderDirection: ɵOrderDirection.None,\n};\n\n/**\n * @internal\n */\nexport function ɵgetColumnPlainObj(expressionPlainObj?: object): object {\n\treturn {\n\t\t...ɵDEFAULT_COLUMN_PLAIN_OBJ,\n\t\texpression: expressionPlainObj,\n\t};\n}\n","import { classToPlain } from 'class-transformer';\n\nimport { ɵQueryOperationType } from './query-operation-type';\nimport { ɵValidationUtilities } from '../../../exceptions';\nimport { ɵMetadataProvider } from '../metadata-provider/metadata-provider';\n\n/**\n * @public\n * @description The base class of the data request. Implements {@link ɵMetadataProvider}\n */\nexport abstract class ɵBaseQuery implements ɵMetadataProvider<Record<string, unknown>> {\n\t// region Constructors: Protected\n\n\tprotected constructor(public readonly operationType: ɵQueryOperationType, public readonly rootSchemaName: string) {\n\t\tɵValidationUtilities.checkArgumentEmpty('_operationType', operationType);\n\t\tɵValidationUtilities.checkArgumentEmpty('_rootSchemaName', rootSchemaName);\n\t}\n\n\t// endregion\n\n\t// region Methods: Public\n\n\t/** {@inheritDoc ɵMetadataProvider.getMetadata} */\n\tpublic getMetadata(): Record<string, unknown> {\n\t\treturn classToPlain(this, { exposeUnsetFields: false, excludePrefixes: ['_'] });\n\t}\n\n\t// endregion\n}\n","import { Exclude } from 'class-transformer';\n\nimport { ɵBaseQuery } from './base-query';\nimport { ɵQueryOperationType } from './query-operation-type';\nimport { ɵFilterGroup } from '../filters/filter-group';\nimport { UsedColumn } from '../used-column';\n\n/**\n * @public\n * @description The base class of the filtered data request.\n * @extends {ɵBaseQuery}\n */\nexport abstract class ɵBaseFilterableQuery extends ɵBaseQuery {\n\t/**\n\t * @description Collection of filters.\n\t */\n\t@Exclude()\n\tpublic readonly filters = new ɵFilterGroup();\n\n\tprotected constructor(operationType: ɵQueryOperationType, rootSchemaName: string) {\n\t\tsuper(operationType, rootSchemaName);\n\t}\n\n\t/**\n\t * @public\n\t * @description Clears all filters.\n\t */\n\tpublic clearFilters(): void {\n\t\tthis.filters.filters.clear();\n\t}\n\n\t/** {@inheritDoc ɵMetadataProvider.getMetadata} */\n\tpublic getMetadata(): Record<string, unknown> {\n\t\treturn {\n\t\t\t...super.getMetadata(),\n\t\t\tfilters: this.filters.toJson(),\n\t\t};\n\t}\n\n\t/**\n\t * @internal\n\t */\n\tpublic _getUsedColumns(): UsedColumn[] {\n\t\tconst usedColumns = this.filters._getUsedColumns();\n\t\tusedColumns.forEach((usedColumn) => {\n\t\t\tif (!usedColumn.schemaName) {\n\t\t\t\tusedColumn.schemaName = this.rootSchemaName;\n\t\t\t}\n\t\t});\n\t\treturn usedColumns;\n\t}\n}\n","/**\n * @public\n * @description Type of data query\n */\nexport enum ɵQueryOperationType {\n\t/**\n\t * @description Select query.\n\t */\n\tSelect,\n\t/**\n\t * @description Insert query.\n\t */\n\tInsert,\n\t/**\n\t * @description Edit query.\n\t */\n\tUpdate,\n\t/**\n\t * @description Delete query.\n\t */\n\tDelete,\n\t// Batch,\n\t// ListSelect,\n\t// FilteredSelect,\n\t// LookupSelect\n}\n","import { ɵBaseFilterableQuery } from './base-filterable-query';\nimport { ɵQueryOperationType } from './query-operation-type';\n\n/**\n * @public\n * @description Request to delete data.\n * @extends {ɵBaseFilterableQuery}\n */\nexport class ɵDeleteQuery extends ɵBaseFilterableQuery {\n\t// region Constructors: Public\n\n\tconstructor(rootSchemaName: string) {\n\t\tsuper(ɵQueryOperationType.Delete, rootSchemaName);\n\t}\n\n\t// endregion\n}\n","import { classToPlain } from 'class-transformer';\n\nimport { ɵBaseFilterableQuery } from './base-filterable-query';\nimport { ɵQueryOperationType } from './query-operation-type';\nimport { ɵAggregationType, ɵDataValueType } from '../../../enums';\nimport { ɵItemNotFoundException, ɵValidationUtilities } from '../../../exceptions';\nimport { ɵDataSourceAggregationConfig } from '../../../services/model/data-source-aggregation-config';\nimport { ɵEntityColumnValue } from '../../../types';\nimport {\n\tɵAggregationFunctionColumn,\n\tɵAggregationSubQueryColumn,\n\tɵArithmeticQueryColumn,\n\tɵBaseQueryColumn,\n\tɵDatePartFunctionColumn,\n\tɵEntityQueryColumn,\n\tɵLengthFunctionColumn,\n\tɵMacrosFunctionColumn,\n\tɵParameterQueryColumn,\n\tɵWindowFunctionColumn,\n} from '../columns';\nimport {\n\teAdminUnitRoleSources,\n\tɵAggregationEvalType,\n\tɵArithmeticOperation,\n\tɵDatePartType,\n\tɵExpressionType,\n\tɵQueryMacrosType,\n} from '../enums';\nimport { ɵAggregationFunctionExpression, ɵBaseExpression, ɵColumnExpression } from '../expressions';\nimport { UsedColumn } from '../used-column';\n\n/**\n * @public\n * @description Interface for condition with expression and parameter.\n * @property {ɵExpressionType} expressionType - Type of expression.\n * @property {Record<string, unknown>=} parameter - Parameter.\n */\nexport interface ɵConditionalValueItem {\n\t/**\n\t * @description Type of expression.\n\t */\n\texpressionType: ɵExpressionType;\n\t/**\n\t * @description Parameter.\n\t */\n\tparameter: {\n\t\tdataValueType: ɵDataValueType;\n\t\tvalue: string;\n\t};\n}\n\n/**\n * @public\n * @description The query class for data fetching.\n * @extends {ɵBaseFilterableQuery}\n */\nexport class ɵEntitySchemaQuery extends ɵBaseFilterableQuery {\n\tprivate _columns = new Map<string, ɵBaseQueryColumn>();\n\n\t/**\n\t * @description Determines if merge duplicates in query result.\n\t */\n\tpublic isDistinct = false;\n\n\t/**\n\t * @description Number of rows to select.\n\t */\n\tpublic rowCount = -1;\n\n\t/**\n\t * @description Rows count to skip.\n\t */\n\tpublic rowsOffset = -1;\n\n\t/**\n\t * @description Query conditional values\n\t */\n\tpublic conditionalValues?: null | { items: unknown };\n\n\t/**\n\t * @description The parameter that determines whether to use the localized data.\n\t */\n\tpublic useLocalization = true;\n\n\t/**\n\t * @description Represent parameter which determines disabling data in filtering.\n\t */\n\tpublic useRecordDeactivation = false;\n\n\t/**\n\t * @description Bit mask that indicates which role sources will be considered when checking record rights.\n\t */\n\tpublic adminUnitRoleSources?: eAdminUnitRoleSources;\n\n\tconstructor(rootSchemaName: string) {\n\t\tsuper(ɵQueryOperationType.Select, rootSchemaName);\n\t}\n\n\tprivate _internalAddColumn(key: string, column: ɵBaseQueryColumn): void {\n\t\tif (!this._columns.has(key)) {\n\t\t\tthis._columns.set(key, column);\n\t\t}\n\t}\n\n\tprivate _getIsPageable = (): boolean => this.rowCount > 0 && this.rowsOffset > -1;\n\n\t// endregion\n\n\t// region Methods: Public\n\n\t/**\n\t * @public\n\t * @description Returns column instance by column alias.\n\t * @param columnAlias Column alias.\n\t * @returns [BaseQueryColumn] Column instance.\n\t */\n\tpublic getColumn(columnAlias: string): ɵBaseQueryColumn {\n\t\tif (!this._columns.has(columnAlias)) {\n\t\t\tthrow new ɵItemNotFoundException(columnAlias);\n\t\t}\n\t\treturn this.findColumn(columnAlias);\n\t}\n\n\t/**\n\t * @public\n\t * @description Returns column instance by column alias if not found returns null.\n\t */\n\tpublic findColumn(columnAlias: string): ɵBaseQueryColumn {\n\t\treturn this._columns.get(columnAlias) as ɵBaseQueryColumn;\n\t}\n\n\t/** {@inheritDoc ɵMetadataProvider.getMetadata} */\n\tpublic getMetadata(): Record<string, unknown> {\n\t\treturn {\n\t\t\t...super.getMetadata(),\n\t\t\tcolumns: {\n\t\t\t\titems: classToPlain(this._columns, { exposeUnsetFields: false, excludePrefixes: ['_'] }),\n\t\t\t},\n\t\t\tallColumns: false,\n\t\t\tisDistinct: this.isDistinct,\n\t\t\tignoreDisplayValues: false,\n\t\t\trowCount: this.rowCount,\n\t\t\trowsOffset: this.rowsOffset,\n\t\t\tadminUnitRoleSources: this.adminUnitRoleSources,\n\t\t\tisPageable: this._getIsPageable(),\n\t\t\tconditionalValues: this.conditionalValues ? this.conditionalValues : null,\n\t\t\tisHierarchical: false,\n\t\t\thierarchicalMaxDepth: 0,\n\t\t\thierarchicalColumnName: null,\n\t\t\thierarchicalColumnValue: null,\n\t\t\tuseLocalization: this.useLocalization,\n\t\t\tuseRecordDeactivation: this.useRecordDeactivation,\n\t\t};\n\t}\n\n\t/**\n\t * @public\n\t * @description Add column.\n\t * @param column Column path.\n\t * @param columnAlias Column alias.\n\t * @returns [BaseQueryColumn] Column instance.\n\t */\n\tpublic addColumn(column: ɵBaseQueryColumn, columnAlias: string): ɵBaseQueryColumn {\n\t\tthis._internalAddColumn(columnAlias, column);\n\t\treturn column;\n\t}\n\n\t/**\n\t * @public\n\t * @description Add column by column path.\n\t * @param columnPath Column path.\n\t * @param columnAlias Column alias.\n\t * @returns [EntityQueryColumn] Column instance.\n\t */\n\tpublic addSchemaColumn(columnPath: string, columnAlias?: string): ɵEntityQueryColumn {\n\t\tɵValidationUtilities.checkArgumentEmpty('columnPath', columnPath);\n\t\tconst column = new ɵEntityQueryColumn(columnPath);\n\t\tthis._internalAddColumn(columnAlias || columnPath, column);\n\t\treturn column;\n\t}\n\n\t/**\n\t * @public\n\t * @description Add aggregation sub query column.\n\t * @param columnPath Column path.\n\t * @param aggregationType Aggregation type.\n\t * @param subFilters Sub query filters.\n\t * @param columnAlias Column alias.\n\t * @returns [AggregationSubQueryColumn] Column instance.\n\t */\n\tpublic addAggregationSubQueryColumn(\n\t\tcolumnPath: string,\n\t\taggregationType: ɵAggregationType,\n\t\taggregationConfig: ɵDataSourceAggregationConfig,\n\t\tcolumnAlias?: string,\n\t): ɵAggregationSubQueryColumn {\n\t\tconst column = new ɵAggregationSubQueryColumn(\n\t\t\tcolumnPath,\n\t\t\taggregationType,\n\t\t\taggregationConfig.filter,\n\t\t\taggregationConfig.sortByDirection,\n\t\t\taggregationConfig.sortByColumn,\n\t\t);\n\t\tthis._internalAddColumn(columnAlias || columnPath, column);\n\t\treturn column;\n\t}\n\n\t/**\n\t * @public\n\t * @description Add parameter column.\n\t * @param value Parameter value.\n\t * @param dataValueType Parameter data value type.\n\t * @param columnAlias Column alias.\n\t * @returns [ParameterQueryColumn] Column instance.\n\t */\n\tpublic addParameterColumn(\n\t\tvalue: ɵEntityColumnValue,\n\t\tdataValueType: ɵDataValueType,\n\t\tcolumnAlias: string,\n\t): ɵParameterQueryColumn {\n\t\tconst column = new ɵParameterQueryColumn(value, dataValueType);\n\t\tthis._internalAddColumn(columnAlias, column);\n\t\treturn column;\n\t}\n\n\t/**\n\t * @public\n\t * @description Add arithmetic column.\n\t * @param arithmeticOperation Arithmetic operation.\n\t * @param leftArithmeticOperand Left arithmetic operand expression.\n\t * @param rightArithmeticOperand Right arithmetic operand expression.\n\t * @param columnAlias Column alias.\n\t * @returns [ArithmeticQueryColumn] Column instance.\n\t */\n\tpublic addArithmeticColumn(\n\t\tarithmeticOperation: ɵArithmeticOperation,\n\t\tleftArithmeticOperand: ɵBaseExpression,\n\t\trightArithmeticOperand: ɵBaseExpression,\n\t\tcolumnAlias: string,\n\t): ɵArithmeticQueryColumn {\n\t\tconst column = new ɵArithmeticQueryColumn(arithmeticOperation, leftArithmeticOperand, rightArithmeticOperand);\n\t\tthis._internalAddColumn(columnAlias, column);\n\t\treturn column;\n\t}\n\n\t/**\n\t * @public\n\t * @description Add macros function column.\n\t * @param queryMacrosType Macros type.\n\t * @param columnAlias Column alias.\n\t * @returns [MacrosFunctionColumn] Column instance.\n\t */\n\tpublic addMacrosFunctionColumn(queryMacrosType: ɵQueryMacrosType, columnAlias: string): ɵMacrosFunctionColumn {\n\t\tconst column = new ɵMacrosFunctionColumn(queryMacrosType);\n\t\tthis._internalAddColumn(columnAlias, column);\n\t\treturn column;\n\t}\n\n\t/**\n\t * @public\n\t * @description Add date part function column.\n\t * @param columnPath Column path.\n\t * @param datePartType Date part type.\n\t * @param columnAlias Column alias.\n\t * @returns [DatePartFunctionColumn] Column instance.\n\t */\n\tpublic addDatePartFunctionColumn(\n\t\tcolumnPath: string,\n\t\tdatePartType: ɵDatePartType,\n\t\tcolumnAlias: string,\n\t): ɵDatePartFunctionColumn {\n\t\tconst functionArgument = new ɵColumnExpression({ columnPath });\n\t\tconst column = new ɵDatePartFunctionColumn(datePartType, functionArgument);\n\t\tthis._internalAddColumn(columnAlias, column);\n\t\treturn column;\n\t}\n\n\t/**\n\t * @public\n\t * @description Add aggregation function column.\n\t * @param columnPath Column path.\n\t * @param aggregationType Aggregation type.\n\t * @param columnAlias Column alias.\n\t * @param aggregationEvalType Aggregation eval type.\n\t * @returns [AggregationFunctionColumn] Column instance.\n\t */\n\tpublic addAggregationFunctionColumn(\n\t\tcolumnPath: string,\n\t\taggregationType: ɵAggregationType,\n\t\tcolumnAlias: string,\n\t\taggregationEvalType: ɵAggregationEvalType = ɵAggregationEvalType.None,\n\t): ɵAggregationFunctionColumn {\n\t\tconst functionArgument = new ɵColumnExpression({ columnPath });\n\t\tconst column = new ɵAggregationFunctionColumn(aggregationType, aggregationEvalType, functionArgument);\n\t\tthis._internalAddColumn(columnAlias, column);\n\t\treturn column;\n\t}\n\n\t/**\n\t * @public\n\t * @description Add length function column.\n\t * @param columnPath Column path.\n\t * @param columnAlias Column alias.\n\t * @returns [LengthFunctionColumn] Column instance.\n\t */\n\tpublic addLengthFunctionColumn(columnPath: string, columnAlias: string): ɵLengthFunctionColumn {\n\t\tconst functionArgument = new ɵColumnExpression({ columnPath });\n\t\tconst column = new ɵLengthFunctionColumn(functionArgument);\n\t\tthis._internalAddColumn(columnAlias, column);\n\t\treturn column;\n\t}\n\n\t/**\n\t * @public\n\t * @description Add window function column.\n\t * @param columnPath Column path.\n\t * @param aggregationType Aggregation type.\n\t * @param columnAlias Column alias.\n\t * @param aggregationEvalType Aggregation eval type.\n\t * @returns [WindowFunctionColumn] Column instance.\n\t */\n\tpublic addWindowFunctionColumn(\n\t\tcolumnPath: string,\n\t\taggregationType: ɵAggregationType,\n\t\tcolumnAlias: string,\n\t\taggregationEvalType: ɵAggregationEvalType = ɵAggregationEvalType.None,\n\t): ɵWindowFunctionColumn {\n\t\tconst functionArgument = new ɵAggregationFunctionExpression({\n\t\t\taggregationType,\n\t\t\taggregationEvalType,\n\t\t\tfunctionArgument: new ɵColumnExpression({ columnPath }),\n\t\t});\n\t\tconst column = new ɵWindowFunctionColumn(functionArgument);\n\t\tthis._internalAddColumn(columnAlias, column);\n\t\treturn column;\n\t}\n\n\t/**\n\t * @internal\n\t */\n\tpublic _getUsedColumns(): UsedColumn[] {\n\t\tconst usedColumns: UsedColumn[] = [];\n\t\tthis._columns.forEach((column) => {\n\t\t\tusedColumns.push(...column._getUsedColumns());\n\t\t});\n\t\tusedColumns.forEach((usedColumn) => {\n\t\t\tif (!usedColumn.schemaName) {\n\t\t\t\tusedColumn.schemaName = this.rootSchemaName;\n\t\t\t}\n\t\t});\n\t\treturn [...usedColumns, ...super._getUsedColumns()];\n\t}\n}\n","import { classToPlain, Expose } from 'class-transformer';\n\nimport { ɵBaseQuery } from './base-query';\nimport { ɵQueryOperationType } from './query-operation-type';\nimport { ɵDataValueType } from '../../../enums';\nimport { ɵValidationUtilities } from '../../../exceptions';\nimport { ɵEntityColumnValue } from '../../../types';\nimport { ɵParameterExpression } from '../expressions';\n\n/**\n * @public\n * @description Request to insert data.\n */\nexport class ɵInsertQuery extends ɵBaseQuery {\n\t// region Fields: Private\n\n\tprivate _columnValues = new Map<string, ɵParameterExpression>();\n\n\t// endregion\n\n\t// region Constructors: Public\n\n\tconstructor(rootSchemaName: string) {\n\t\tsuper(ɵQueryOperationType.Insert, rootSchemaName);\n\t}\n\n\t// endregion\n\n\t// region Properties: Public\n\n\t/**\n\t * @description A collection of column values for updating entities.\n\t */\n\t@Expose()\n\tpublic get columnValues(): { items: { [key: string]: ɵParameterExpression } } {\n\t\treturn {\n\t\t\titems: classToPlain(this._columnValues),\n\t\t};\n\t}\n\n\t// endregion\n\n\t// region Methods: Public\n\n\t/**\n\t * @public\n\t * @description Adds the value parameter. An instance of the value-parameter is created and\n\t * is added to the column values collection.\n\t * @param columnName The alias of the column to set value in\n\t * @param columnValue The value of the parameter. The value must match the data type.\n\t * @param dataValueType The type of the given parameter value.\n\t */\n\tpublic addColumn(columnName: string, columnValue: ɵEntityColumnValue, dataValueType: ɵDataValueType): void {\n\t\tɵValidationUtilities.checkArgumentEmpty('columnName', columnName);\n\t\tthis._columnValues.set(columnName, new ɵParameterExpression({ value: columnValue, dataValueType }));\n\t}\n\n\t// endregion\n}\n","import { classToPlain, Expose } from 'class-transformer';\n\nimport { ɵBaseFilterableQuery } from './base-filterable-query';\nimport { ɵQueryOperationType } from './query-operation-type';\nimport { ɵDataValueType } from '../../../enums';\nimport { ɵValidationUtilities } from '../../../exceptions';\nimport { ɵEntityColumnValue } from '../../../types';\nimport { ɵParameterExpression } from '../expressions';\n\n/**\n * @public\n * @description Request for data changes.\n * @extends {ɵBaseFilterableQuery}\n */\nexport class ɵUpdateQuery extends ɵBaseFilterableQuery {\n\t// region Fields: Private\n\n\tprivate _columnValues = new Map<string, ɵParameterExpression>();\n\n\t// endregion\n\n\t// region Fields: Public\n\n\t/**\n\t * @description Flag that indicates whether to force save data.\n\t */\n\tpublic isForceUpdate = false;\n\n\t// endregion\n\n\t// region Constructors: Public\n\n\tconstructor(rootSchemaName: string) {\n\t\tsuper(ɵQueryOperationType.Update, rootSchemaName);\n\t}\n\n\t// endregion\n\n\t// region Properties: Public\n\n\t/**\n\t * @description A collection of column values for updating entities.\n\t */\n\t@Expose()\n\tpublic get columnValues(): { items: { [key: string]: ɵParameterExpression } } {\n\t\treturn {\n\t\t\titems: classToPlain(this._columnValues),\n\t\t};\n\t}\n\n\t// endregion\n\n\t// region Methods: Public\n\n\t/**\n\t * @public\n\t * @description Adds the value parameter. An instance of the value-parameter is created and\n\t * is added to the column values collection.\n\t * @param columnName The alias of the column to set value in\n\t * @param columnValue The value of the parameter. The value must match the data type.\n\t * @param dataValueType The type of the given parameter value.\n\t */\n\tpublic addColumn(columnName: string, columnValue: ɵEntityColumnValue, dataValueType: ɵDataValueType): void {\n\t\tɵValidationUtilities.checkArgumentEmpty('columnName', columnName);\n\t\tthis._columnValues.set(columnName, new ɵParameterExpression({ value: columnValue, dataValueType }));\n\t}\n\n\t// endregion\n}\n","import { ɵEntitySchemaQuery } from './entity-schema-query';\n\n/**\n * @public\n * @description The query class for localized data fetching.\n * @extends {ɵEntitySchemaQuery}\n */\nexport class ɵSelectLocalizationQuery extends ɵEntitySchemaQuery {}\n","import { ɵViewModelContext } from '../view-model-context';\n\n/**\n * @public\n * @description Base definition of request.\n * @template TEvent\n */\nexport class ɵBaseRequest<TEvent = unknown> {\n\t/**\n\t * @public\n\t * @description The type of request.\n\t * @example\n\t * 'crt.RequestType'\n\t */\n\tpublic readonly type!: string;\n\n\t/**\n\t * @deprecated use event binding expression instead.\n\t */\n\tpublic readonly $initialEvent?: TEvent;\n\n\t/**\n\t * @public\n\t * @description The context in which the requests were triggered.\n\t */\n\tpublic readonly $context!: ɵViewModelContext;\n\n\t/**\n\t * @public\n\t * @description The scope of the request.\n\t */\n\tpublic scopes?: string[];\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\n\n/**\n * @public\n * @description Interface describes view model context.\n * Could contain any pair of key-value\n */\nexport interface ɵViewModelContext {\n\t/**\n\t * @description Key value pair.\n\t */\n\t[key: string]: any; // TODO RND-26026\n}\n","// noinspection NonAsciiCharacters, JSNonASCIINames\n\nimport { ɵGuid } from '../types';\n\n/**\n * @public\n * @description Message channel event. Contains all message content, including body and additional metadata.\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport interface ɵMessageChannelEvent<T = unknown> {\n\t/**\n\t * @public\n\t * @description Message header containing message metadata.\n\t */\n\theader: {\n\t\t/**\n\t\t * @public\n\t\t * @description Name that is used to distinguish between messages from different senders.\n\t\t */\n\t\tsender: string;\n\n\t\t/**\n\t\t * @public\n\t\t * @description Name of the body type.\n\t\t */\n\t\tbodyTypeName: string;\n\t};\n\n\t/**\n\t * @public\n\t * @description Message body.\n\t */\n\tbody: T;\n\n\t/**\n\t * @public\n\t * @description Actual event identifier.\n\t */\n\tid: ɵGuid;\n}\n","// noinspection NonAsciiCharacters, JSNonASCIINames\n\nimport { isFunction } from 'lodash';\n\nimport { ɵTeardownLogic } from '../types';\n\n/**\n * @public\n * @classdesc Represents a disposable resource, similar to the execution of Observable. A\n * Subscription has one important method, `unsubscribe`, that just disposes\n * the resource held by the subscription.\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport class ɵSubscription {\n\tprivate _closed = false;\n\n\t/**\n\t * @public\n\t * @description A flag to indicate whether this Subscription has already been unsubscribed.\n\t */\n\tpublic get closed(): boolean {\n\t\treturn this._closed;\n\t}\n\n\t/**\n\t * @param _initialTeardown A function executed as part of the finalization.\n\t * process when {@link #unsubscribe} is called.\n\t */\n\tconstructor(private _initialTeardown?: ɵTeardownLogic) {}\n\n\t/**\n\t * @public\n\t * @description Disposes the resources held by the subscription.\n\t */\n\tpublic unsubscribe(): void {\n\t\tif (!this._closed) {\n\t\t\tthis._closed = true;\n\t\t\tif (isFunction(this._initialTeardown)) {\n\t\t\t\tthis._initialTeardown();\n\t\t\t}\n\t\t}\n\t}\n}\n","import { ɵComparisonType } from '../../../public/esq';\n\n/**\n * @public\n * @description Enum for model parameter types.\n */\nexport enum ɵModelParameterType {\n\t/**\n\t * @public\n\t * @description Parameter represents primary column value.\n\t */\n\tPrimaryColumnValue = 'primaryColumnValue',\n\t/**\n\t * @public\n\t * @description Parameter represents column value.\n\t */\n\tColumnValue = 'columnValue',\n\t/**\n\t * @public\n\t * @description Parameter represents filter value.\n\t */\n\tFilter = 'filter',\n\t/**\n\t * @public\n\t * @description Parameter represents primary display value filter.\n\t */\n\tPrimaryDisplayValueFilter = 'primaryDisplayValueFilter',\n\t/**\n\t * @public\n\t * @description Parameter is empty.\n\t */\n\tEmpty = 'empty',\n\t/**\n\t * @public\n\t * @description Parameter is never used.\n\t */\n\tNever = 'never',\n}\n\n/**\n * @public\n * @description Base interface for data source parameters.\n */\nexport interface ɵBaseDataSourceParameter {\n\t/**\n\t * @public\n\t * @description Type of parameter.\n\t */\n\ttype: ɵModelParameterType;\n\t/**\n\t * @public\n\t * @description Value of parameter.\n\t */\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\tvalue: any;\n\t/**\n\t * @public\n\t * @description Optional relation configurations for parameter.\n\t */\n\trelationsConfigs?: ɵDataSourceParameterRelationConfig[];\n}\n\n/**\n * @public\n * @description Data source parameter for primary display value filtering.\n * @extends {ɵBaseDataSourceParameter}\n */\nexport interface ɵPrimaryDisplayFilterDataSourceParameter extends ɵBaseDataSourceParameter {\n\t/**\n\t * @public\n\t * @description Type of parameter. Always 'primaryDisplayValueFilter'.\n\t */\n\ttype: ɵModelParameterType.PrimaryDisplayValueFilter;\n\t/**\n\t * @public\n\t * @description Value of parameter.\n\t */\n\tvalue: string;\n\t/**\n\t * @public\n\t * @description Comparison type for filtering.\n\t */\n\tcomparisonType: ɵComparisonType;\n}\n\n/**\n * @public\n * @description Configuration for data source parameter relation.\n */\nexport interface ɵDataSourceParameterRelationConfig {\n\t/**\n\t * @public\n\t * @description Name of data schema.\n\t */\n\tdataSchemaName: string;\n\t/**\n\t * @public\n\t * @description Path to attribute in data schema.\n\t */\n\tattributePath: string;\n\t/**\n\t * @public\n\t * @description Path to relation in data schema.\n\t */\n\trelationPath: string;\n\t/**\n\t * @public\n\t * @description Whether to use attribute value.\n\t */\n\tuseAttributeValue?: boolean;\n\t/**\n\t * @public\n\t * @description Optional value for relation.\n\t */\n\tvalue?: unknown;\n}\n\n/**\n * @public\n * @description Union type for all possible data source parameters.\n */\nexport type ɵDataSourceParameter = ɵBaseDataSourceParameter | ɵPrimaryDisplayFilterDataSourceParameter;\n\n/**\n * @public\n * @description Array of data source parameters.\n */\nexport type ɵDataSourceParameters = ɵDataSourceParameter[];\n","import { ɵBaseRequest } from '../../models/request/base-request';\nimport { ɵViewModelContext } from '../../models/view-model-context';\n\n/**\n * @public\n * @description Actions of mask request.\n */\nexport enum ɵSchemaViewMaskRequestAction {\n\t/**\n\t * @description To add task.\n\t */\n\tAddTask = 'addTask',\n\t/**\n\t * @description To remove task.\n\t */\n\tRemoveTask = 'removeTask',\n}\n\n/**\n * @public\n * @description Request to show mask.\n */\nexport class ɵSchemaViewMaskRequest extends ɵBaseRequest {\n\t/**\n\t * @description Request type\n\t */\n\tpublic override readonly type = 'crt.SchemaViewMaskRequest';\n\n\tconstructor(\n\t\tpublic readonly action: ɵSchemaViewMaskRequestAction,\n\t\tpublic readonly taskName: string,\n\t\tpublic readonly $context: ɵViewModelContext,\n\t) {\n\t\tsuper();\n\t}\n}\n","// noinspection NonAsciiCharacters, JSNonASCIINames\n\nimport { ɵMessageChannelType } from '../../enums';\nimport { ɵMessageChannelEvent, ɵSubscription } from '../../models';\n\n/**\n * @public\n * @description Provides methods for working with messages sent or received through a server channel.\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport interface ɵBaseMessageChannelService {\n\t/**\n\t * @public\n\t * @description Subscribes on messages from a specific sender.\n\t * @param sender String identifier of the sender.\n\t * @param callback Callback that should be executed on each message.\n\t * @returns A promise to be resolved with a {@link ɵSubscription} object that can be used to unsubscribe.\n\t */\n\tsubscribe<T>(sender: string, callback: (event: ɵMessageChannelEvent<T>) => void): Promise<ɵSubscription>;\n\n\t/**\n\t * @public\n\t * @description Sends message to the channel.\n\t * @param sender String identifier of the sender, used to distinguish between messages from different senders.\n\t * @param body Body of the message that should be sent (payload). Should be JSON-serializable.\n\t * @param channelType Type of message channel.\n\t */\n\tsendMessage(sender: string, body: unknown, channelType: ɵMessageChannelType): Promise<void>;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["BaseExpression","ExpressionType","FilterGroup","this"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"creatio-base.mjs","sources":["../../../../../libs/devkit/base/src/lib/external/utils/date-utils.ts","../../../../../libs/devkit/base/src/lib/internal/enums/data-source-scope.enum.ts","../../../../../libs/devkit/base/src/lib/internal/enums/data-schema-attribute-type.enum.ts","../../../../../libs/devkit/base/src/lib/internal/enums/default-value-source.enum.ts","../../../../../libs/devkit/base/src/lib/internal/enums/lookup-mode.ts","../../../../../libs/devkit/base/src/lib/internal/enums/platform-apis.enum.ts","../../../../../libs/devkit/base/src/lib/public/enums/data-value-type.enum.ts","../../../../../libs/devkit/base/src/lib/public/enums/aggregation-type.enum.ts","../../../../../libs/devkit/base/src/lib/public/enums/aggregation-function.enum.ts","../../../../../libs/devkit/base/src/lib/public/enums/data-schema-type.enum.ts","../../../../../libs/devkit/base/src/lib/public/enums/model-in-page-action.enum.ts","../../../../../libs/devkit/base/src/lib/public/enums/message-channel-type.enum.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/enums/admin-unit-role-sources.enum.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/enums/aggregation-eval-type.enum.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/enums/arithmetic-operation.enum.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/enums/comparison-type.enum.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/enums/date-part-type.enum.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/enums/expression-type.enum.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/enums/filter-type.enum.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/enums/function-type.enum.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/enums/logical-operator-type.enum.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/enums/order-direction.enum.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/enums/query-macros-type.enum.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/expressions/base-expression.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/expressions/arithmetic/arithmetic-expression.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/expressions/columns/column-expression.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/expressions/expression-parser/base-expression-parser.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/expressions/functions/function-expression.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/expressions/functions/argument-function-expression.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/expressions/functions/aggregation-function-expression.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/expressions/functions/date-part-function-expression.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/expressions/functions/length-function-expression.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/expressions/functions/macros-function-expression.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/expressions/functions/window-function-expression.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/expressions/parameters/parameter-expression.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/filters/base-filter.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/filters/single-filter.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/filters/between-filter.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/filters/compare-filter.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/filters/exists-filter.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/filters/in-filter.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/filters/isnull-filter.ts","../../../../../libs/devkit/base/src/lib/public/types/guid.type.ts","../../../../../libs/devkit/base/src/lib/public/exceptions/next-handler-already-specified-exception.ts","../../../../../libs/devkit/base/src/lib/public/exceptions/argument-empty-exception.ts","../../../../../libs/devkit/base/src/lib/public/exceptions/argument-out-of-range-exception.ts","../../../../../libs/devkit/base/src/lib/public/exceptions/item-not-found-exception.ts","../../../../../libs/devkit/base/src/lib/public/exceptions/validation-utilities.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/filters/filter-group.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/expressions/sub-queries/sub-query-expression.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/expressions/sub-queries/aggregation-sub-query-expression.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/expressions/expression-parser/expression-resolver.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/expressions/expression-parser/expression-parser.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/expressions/mocks/expression.mock.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/filters/mocks/filter.mock.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/filters/mocks/parser.mock.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/filters/filter-parser/base-filter-parser.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/filters/filter-parser/filter-resolver.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/filters/filter-parser/filter-parser.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/filters/filter-test-utils.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/columns/base-query-column.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/columns/arithmetic/arithmetic-query-column.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/columns/entity-column/entity-query-column.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/columns/parameters/parameter-query-column.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/columns/sub-queries/aggregation-sub-query-column.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/columns/sub-queries/sub-query-column.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/columns/functions/aggregation-function-column.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/columns/functions/date-part-function-column.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/columns/functions/length-function-column.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/columns/functions/macros-function-column.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/columns/functions/window-function-column.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/columns/query-column-test-utils.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/queries/base-query.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/queries/base-filterable-query.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/queries/query-operation-type.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/queries/delete-query.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/queries/entity-schema-query.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/queries/insert-query.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/queries/update-query.ts","../../../../../libs/devkit/base/src/lib/public/esq/data-model/queries/select-localization-query.ts","../../../../../libs/devkit/base/src/lib/public/models/request/base-request.ts","../../../../../libs/devkit/base/src/lib/public/models/view-model-context.ts","../../../../../libs/devkit/base/src/lib/public/models/message-channel-event.ts","../../../../../libs/devkit/base/src/lib/public/models/subscription.ts","../../../../../libs/devkit/base/src/lib/public/services/model/data-source-parameter.ts","../../../../../libs/devkit/base/src/lib/public/services/mask-service/schema-view-mask.request.ts","../../../../../libs/devkit/base/src/lib/public/services/message-channel/base-message-channel.service.ts","../../../../../libs/devkit/base/src/creatio-base.ts"],"sourcesContent":["function isHistoricalDate(date: Date): boolean {\n\treturn date.getFullYear() < 1970;\n}\n\nfunction getISOStringWithOffset(date: Date): string {\n\tconst timeZoneOffset = date.getTimezoneOffset() * 60000;\n\treturn new Date(date.getTime() - timeZoneOffset).toISOString().slice(0, -1);\n}\n\nfunction getISOStringForPre1970Date(date: Date): string {\n\tconst year = date.getFullYear();\n\tconst month = padToTwoDigits(date.getMonth() + 1);\n\tconst day = padToTwoDigits(date.getDate());\n\tconst hours = padToTwoDigits(date.getHours());\n\tconst minutes = padToTwoDigits(date.getMinutes());\n\tconst seconds = padToTwoDigits(date.getSeconds());\n\tconst milliseconds = padToThreeDigits(date.getMilliseconds());\n\treturn `${year}-${month}-${day}T${hours}:${minutes}:${seconds}.${milliseconds}`;\n}\n\nfunction padToTwoDigits(value: number): string {\n\treturn String(value).padStart(2, '0');\n}\n\nfunction padToThreeDigits(value: number): string {\n\treturn String(value).padStart(3, '0');\n}\n\n/**\n * @public\n * Returns a string represent of date in ISO 8601 without time zone specification(doesn't convert it\n * using local timezone).\n *\n * Example:\n *\n * const date = new Date(2018, 01, 20, 15, 10, 30);\n * const result = toLocalISOString(date);\n * //result: '2018-02-20T15:10:30'\n *\n * @param date Date value.\n */\nexport function ɵtoLocalISOString(date: Date): string {\n\tif (!(date instanceof Date)) {\n\t\tthrow new TypeError();\n\t}\n\treturn isHistoricalDate(date) ? getISOStringForPre1970Date(date) : getISOStringWithOffset(date);\n}\n\n/**\n * @public\n * Returns encoded date in string value.\n * @param date Date value.\n */\nexport function ɵencodeDate(date: Date): string {\n\treturn `\"${ɵtoLocalISOString(date)}\"`;\n}\n","/**\n * @public\n */\nexport enum ɵDataSourceScope {\n\tViewElement = 'viewElement',\n\tPage = 'page',\n}\n","/**\n * @public\n */\nexport enum ɵDataSchemaAttributeType {\n\tOwnAttribute = 'Own',\n\tForwardReferenceAttribute = 'ForwardReference',\n\tBackReferenceAttribute = 'BackReference',\n\tAggregationAttribute = 'Aggregation',\n\tFunctionAttribute = 'Function',\n}\n\n/**\n * @public\n */\nexport enum ɵDataSchemaAttributeUsageType {\n\tGeneral = 0,\n\tAdvanced = 1,\n\tNone = 2,\n}\n","/**\n * @public\n */\nexport enum ɵDefaultValueSource {\n\tNone,\n\tConst,\n\tSettings,\n\tSystemValue,\n\tSequence,\n}\n","/**\n * Lookup mode\n * @internal\n */\nexport enum LookupMode {\n\tList = 'List',\n\tSelectionWindow = 'SelectionWindow',\n}\n","/**\n * Available platform APIs\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport enum ɵPlatformAPIs {\n\t/**\n\t * Selection metadata API.\n\t */\n\tSelection = 'selection',\n\t/**\n\t * Filtration metadata API.\n\t */\n\tFiltration = 'filtration',\n}\n","/**\n * @public\n * @generativeApi\n * @description possible BE value types. Try to keep it same as {@link ɵEntityColumnValue}.\n * 0 - Global unique identifier.\n * 1 - String.\n * 4 - Integer.\n * 5 - Real number.\n * 6 - Currency.\n * 7 - Date and time.\n * 8 - Date.\n * 9 - Time.\n * 10 - Lookup.\n * 11 - Enumeration.\n * 12 - Boolean.\n * 13 - Binary data object.\n * 14 - The object of image binary data.\n * 15 - Custom object.\n * 16 - Image from a lookup.\n * 17 - Collection of items.\n * 18 - Color.\n * 19 - Localized string.\n * 20 - Object (Entity).\n * 21 - Collection of objects (EntityCollection).\n * 22 - List of object column values (EntityColumnMappingCollection).\n * 23 - Hash string.\n * 24 - Encrypted string.\n * 25 - File.\n * 26 - Mapping.\n * 27 - Short length text.\n * 28 - Medium length text.\n * 29 - Unlimited length text.\n * 30 - Long length text.\n * 31 - float1.\n * 32 - float2.\n * 33 - float3.\n * 34 - float4.\n * 35 - Localizable parameter values list.\n * 36 - Process not localizable text.\n * 37 - Stage indicator.\n * 38 - Serializable list of values.\n * 39 - Serializable list of composite values.\n * 40 - float8.\n * 41 - File.\n * 42 - Phone.\n * 43 - Text with formating tags.\n * 44 - Web link.\n * 45 - Email.\n * 46 - Composite object.\n * 47 - Float0.\n * 48 - Currency0.\n * 49 - Currency1.\n * 50 - Currency3.\n * Types of values.\n */\nexport enum ɵDataValueType {\n\t/**\n\t * @description Global unique identifier.\n\t */\n\tGuid = 0,\n\t/**\n\t * @description String.\n\t */\n\tText = 1,\n\t/**\n\t * @description Integer.\n\t */\n\tInteger = 4,\n\t/**\n\t * @description Real number.\n\t */\n\tFloat = 5,\n\t/**\n\t * @description Currency.\n\t */\n\tMoney = 6,\n\t/**\n\t * @description Date and time. if used this type of a value, then value should consist of two parts:\n\t * \"dateValue\": \"ISO 8601 date string\",\n\t * \"value\": \"\\\"ISO 8601 date string\\\"\"\n\t */\n\tDateTime = 7,\n\t/**\n\t * @description Date.\n\t */\n\tDate = 8,\n\t/**\n\t * @description Time.\n\t */\n\tTime = 9,\n\t/**\n\t * @description Lookup.\n\t */\n\tLookup = 10,\n\t/**\n\t * @description Enumeration.\n\t */\n\tEnum = 11,\n\t/**\n\t * @description Boolean.\n\t */\n\tBoolean = 12,\n\t/**\n\t * @description Binary data object.\n\t */\n\tBlob = 13,\n\t/**\n\t * @description The object of image binary data.\n\t */\n\tImage = 14,\n\t/**\n\t * @description Custom object.\n\t */\n\tCUSTOM_OBJECT = 15,\n\t/**\n\t * @description Image from a lookup.\n\t */\n\tIMAGELOOKUP = 16,\n\t/**\n\t * @description Collection of items.\n\t */\n\tCOLLECTION = 17,\n\t/**\n\t * @description Color.\n\t */\n\tColor = 18,\n\t/**\n\t * @description Localized string.\n\t */\n\tLOCALIZABLE_STRING = 19,\n\t/**\n\t * @description Object (Entity).\n\t */\n\tENTITY = 20,\n\t/**\n\t * @description Collection of objects (EntityCollection).\n\t */\n\tENTITY_COLLECTION = 21,\n\t/**\n\t * @description List of object column values (EntityColumnMappingCollection).\n\t */\n\tENTITY_COLUMN_MAPPING_COLLECTION = 22,\n\t/**\n\t * @description Hash string.\n\t */\n\tHASH_TEXT = 23,\n\t/**\n\t * @description Encrypted string.\n\t */\n\tSECURE_TEXT = 24,\n\t/**\n\t * @description File.\n\t */\n\tFILE = 25,\n\t/**\n\t * @description Mapping.\n\t */\n\tMAPPING = 26,\n\t/**\n\t * @description Short length text.\n\t */\n\tSHORT_TEXT = 27,\n\t/**\n\t * @description Medium length text.\n\t */\n\tMEDIUM_TEXT = 28,\n\t/**\n\t * @description Unlimited length text.\n\t */\n\tMAXSIZE_TEXT = 29,\n\t/**\n\t * @description Long length text.\n\t */\n\tLONG_TEXT = 30,\n\tFLOAT1 = 31,\n\tFLOAT2 = 32,\n\tFLOAT3 = 33,\n\tFLOAT4 = 34,\n\t/**\n\t * @description Localizable parameter values list.\n\t */\n\tLOCALIZABLE_PARAMETER_VALUES_LIST = 35,\n\t/**\n\t * @description Process not localizable text.\n\t */\n\tMETADATA_TEXT = 36,\n\t/**\n\t * @description Stage indicator.\n\t */\n\tSTAGE_INDICATOR = 37,\n\t/**\n\t * @description Serializable list of values.\n\t */\n\tOBJECT_LIST = 38,\n\t/**\n\t * @description Serializable list of composite values.\n\t */\n\tCOMPOSITE_OBJECT_LIST = 39,\n\tFLOAT8 = 40,\n\t/**\n\t * @description File.\n\t */\n\tFILE_LOCATOR = 41,\n\t/**\n\t * @description Phone.\n\t */\n\tPHONE_TEXT = 42,\n\t/**\n\t * @description Text with formating tags.\n\t */\n\tRICH_TEXT = 43,\n\t/**\n\t * @description Web link.\n\t */\n\tWEB_TEXT = 44,\n\t/**\n\t * @description Email.\n\t */\n\tEMAIL_TEXT = 45,\n\tCOMPOSITE_OBJECT = 46,\n\t/**\n\t * @description Float0.\n\t */\n\tFLOAT0 = 47,\n\t/**\n\t * @description Currency0.\n\t */\n\tMONEY0 = 48,\n\t/**\n\t * @description Currency1.\n\t */\n\tMONEY1 = 49,\n\t/**\n\t * @description Currency3.\n\t */\n\tMONEY3 = 50,\n}\n","/**\n * @public\n * @generativeApi\n * @description The type of aggregation function used in queries and data operations.\n * 0 - None (No aggregation),\n * 1 - Count (Count records - can be used with any column type),\n * 2 - Sum (Total of values - numeric columns only),\n * 3 - Avg (Average value - numeric columns only),\n * 4 - Min (Minimum value - numeric and date columns),\n * 5 - Max (Maximum value - numeric and date columns),\n * 6 - TopOne (First record - any column type)\n */\nexport enum ɵAggregationType {\n\t/**\n\t * @description Aggregation function type not defined.\n\t */\n\tNone = 0,\n\t/**\n\t * @description Aggregation function type not defined.\n\t */\n\tCount = 1,\n\t/**\n\t * @description Sum of values of all elements.\n\t */\n\tSum = 2,\n\t/**\n\t * @description Average value for all elements.\n\t */\n\tAvg = 3,\n\t/**\n\t * @description The minimum value among all elements.\n\t */\n\tMin = 4,\n\t/**\n\t * @description The maximum value among all elements.\n\t */\n\tMax = 5,\n\t/**\n\t * @description Top one record from collection.\n\t */\n\tTopOne = 6,\n}\n","/**\n * @public\n * The type of the aggregation function (can be set to None).\n */\nexport enum ɵAggregationFunction {\n\t/**\n\t * @description Aggregation function type not defined.\n\t */\n\tNone = '',\n\t/**\n\t * @description Aggregation function type not defined.\n\t */\n\tCount = 'Count',\n\t/**\n\t * @description Sum of values of all elements.\n\t */\n\tSum = 'Sum',\n\t/**\n\t * @description Average value for all elements.\n\t */\n\tAvg = 'Avg',\n\t/**\n\t * @description The minimum value among all elements.\n\t */\n\tMin = 'Min',\n\t/**\n\t * @description The maximum value among all elements.\n\t */\n\tMax = 'Max',\n\t/**\n\t * @description Top one record from collection.\n\t */\n\tTopOne = 'TopOne',\n}\n","/**\n * @public\n * @description Type of DataSchema.\n * In combination with the name is used for unique identification of {@link ɵDataSchema}.\n */\nexport enum ɵDataSchemaType {\n\t/**\n\t * @description Entity.\n\t */\n\tEntity = 'Entity',\n\t/**\n\t * @description Client unit.\n\t */\n\tClientUnit = 'ClientUnit',\n\t/**\n\t * @description Intent.\n\t */\n\tIntent = 'Intent',\n}\n","/**\n * @public\n * @description Type of the action of the model.\n */\nexport enum ɵModelInPageAction {\n\t/**\n\t * @description Action for editing existed record.\n\t */\n\tEdit = 'edit',\n\t/**\n\t * @description Action for adding new record.\n\t */\n\tAdd = 'add',\n\t/**\n\t * @description Action for copying the record.\n\t */\n\tCopy = 'copy',\n}\n","/**\n * @public\n * @description Type of message channel. Used to specify where the message can be received.\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport enum ɵMessageChannelType {\n\t/**\n\t * @public\n\t * @description Message will be sent to the same user who sent the message (client side).\n\t */\n\tPTP = 'PTPMsg',\n\n\t/**\n\t * @public\n\t * @description Message will be sent to all users (client side).\n\t */\n\tBROADCAST = 'BroadcastMsg',\n\n\t/**\n\t * @public\n\t * @description Message will be sent to the server.\n\t */\n\tSERVER = 'ServerMsg',\n}\n","/**\n * @public\n * @description SysAdminUnitInRole source type.\n */\nexport enum eAdminUnitRoleSources {\n\t/**\n\t * @description Empty value.\n\t */\n\tNone = 0,\n\n\t/**\n\t * @description Self.\n\t */\n\tSelf = 1,\n\n\t/**\n\t * @description Explicit entry into role.\n\t */\n\tExplicitEntry = 2,\n\n\t/**\n\t * @description Delegated role.\n\t */\n\tDelegated = 4,\n\n\t/**\n\t * @description Gets functional role from organizational role.\n\t */\n\tFuncRoleFromOrgRole = 8,\n\n\t/**\n\t * @description Gets role up hierarchy from role.\n\t */\n\tUpHierarchy = 16,\n\n\t/**\n\t * @description Gets role as a manager.\n\t */\n\tAsManager = 32,\n\n\t/**\n\t * @description Gets all roles.\n\t */\n\tAll = 63,\n}\n","/**\n * @public\n * @generativeApi\n * @description Defines the scope or evaluation mode for aggregation functions.\n * 0 - None (No specific scope defined), 1 - All (Includes all values including duplicates),\n * 2 - Distinct (Only unique values, eliminates duplicates)\n */\nexport enum ɵAggregationEvalType {\n\t/**\n\t * @description The scope of the aggregating function is not defined.\n\t */\n\tNone = 0,\n\t/**\n\t * @description Applies to all elements.\n\t */\n\tAll = 1,\n\t/**\n\t * @description Applies to unique values.\n\t */\n\tDistinct = 2,\n}\n","/**\n * @public\n * @generativeApi\n * @description Represents arithmetic operations that can be performed in queries and expressions.\n * 0 - Addition (Adds values), 1 - Subtraction (Subtracts values),\n * 2 - Multiplication (Multiplies values), 3 - Division (Divides values)\n */\nexport enum ɵArithmeticOperation {\n\t/**\n\t * @description Addition.\n\t */\n\tAddition = 0,\n\t/**\n\t * @description Subtraction.\n\t */\n\tSubtraction = 1,\n\t/**\n\t * @description Multiplication.\n\t */\n\tMultiplication = 2,\n\t/**\n\t * @description Division.\n\t */\n\tDivision = 3,\n}\n","/**\n * @public\n * @generativeApi\n * @description The type of comparison operation used in filters and query conditions.\n 1 - Is_null (Value is null), 2 - Is_not_null (Value is not null),\n * 3 - Equal (Value equals), 4 - Not_equal (Value doesn't equal), 5 - Less (Value is less than),\n * 6 - Less_or_equal (Value is less than or equal), 7 - Greater (Value is greater than),\n * 8 - Greater_or_equal (Value is greater than or equal), 9 - Start_with (Value starts with string),\n * 10 - Not_start_with (Value doesn't start with string), 11 - Contain (Value contains string),\n * 12 - Not_contain (Value doesn't contain string), 13 - End_with (Value ends with string),\n * 14 - Not_end_with (Value doesn't end with string), 15 - Exists (Value exists),\n * 16 - Not_exists (Value doesn't exist)\n */\n/* eslint-disable @typescript-eslint/naming-convention */\nexport enum ɵComparisonType {\n\t/**\n\t * @public\n\t * @description Value is between two specified values.\n\t * @hidden\n\t */\n\tBetween = 0,\n\t/**\n\t * @public\n\t * @description Value contains a specified substring.\n\t */\n\tContain = 11,\n\t/**\n\t * @public\n\t * @description Value ends with a specified substring.\n\t */\n\tEnd_with = 13,\n\t/**\n\t * @public\n\t * @description Value is equal to a specified value.\n\t */\n\tEqual = 3,\n\t/**\n\t * @public\n\t * @description Value exists (is not null or undefined).\n\t */\n\tExists = 15,\n\t/**\n\t * @public\n\t * @description Value is greater than a specified value.\n\t */\n\tGreater = 7,\n\t/**\n\t * @public\n\t * @description Value is greater than or equal to a specified value.\n\t */\n\tGreater_or_equal = 8,\n\t/**\n\t * @public\n\t * @description Value is not null.\n\t */\n\tIs_not_null = 2,\n\t/**\n\t * @public\n\t * @description Value is null.\n\t */\n\tIs_null = 1,\n\t/**\n\t * @public\n\t * @description Value is less than a specified value.\n\t */\n\tLess = 5,\n\t/**\n\t * @public\n\t * @description Value is less than or equal to a specified value.\n\t */\n\tLess_or_equal = 6,\n\t/**\n\t * @public\n\t * @description Value does not contain a specified substring.\n\t */\n\tNot_contain = 12,\n\t/**\n\t * @public\n\t * @description Value does not end with a specified substring.\n\t */\n\tNot_end_with = 14,\n\t/**\n\t * @public\n\t * @description Value is not equal to a specified value.\n\t */\n\tNot_equal = 4,\n\t/**\n\t * @public\n\t * @description Value does not exist (is null or undefined).\n\t */\n\tNot_exists = 16,\n\t/**\n\t * @public\n\t * @description Value does not start with a specified substring.\n\t */\n\tNot_start_with = 10,\n\t/**\n\t * @public\n\t * @description Value starts with a specified substring.\n\t */\n\tStart_with = 9,\n}\n","/**\n * @public\n * @generativeApi\n * @description Defines possible parts of the date.\n * 0 - Empty value.\n * 1 - Day.\n * 2 - Week.\n * 3 - Month.\n * 4 - Year.\n * 5 - Day of the week.\n * 6 - Hour.\n * 7 - Minute.\n */\nexport enum ɵDatePartType {\n\t/**\n\t * @description Empty value.\n\t */\n\tNone = 0,\n\t/**\n\t * @description Day.\n\t */\n\tDay = 1,\n\t/**\n\t * @description Week.\n\t */\n\tWeek = 2,\n\t/**\n\t * @description Month.\n\t */\n\tMonth = 3,\n\t/**\n\t * @description Year.\n\t */\n\tYear = 4,\n\t/**\n\t * @description Day of the week.\n\t */\n\tWeekDay = 5,\n\t/**\n\t * @description Hour.\n\t */\n\tHour = 6,\n\t/**\n\t * @description Minute.\n\t */\n\tHourMinute = 7,\n}\n","/**\n * @public\n * @generativeApi\n * @description Type of expression.\n * 0 - SchemaColumn (Reference to a data column), 1 - Function (Function call expression),\n * 2 - Parameter (Parameter value), 3 - SubQuery (Nested query expression),\n * 4 - ArithmeticOperation (Mathematical operation)\n */\nexport enum ɵExpressionType {\n\t/**\n\t * @description Column.\n\t */\n\tSchemaColumn = 0,\n\t/**\n\t * @description Function.\n\t */\n\tFunction = 1,\n\t/**\n\t * @description Parameter.\n\t */\n\tParameter = 2,\n\t/**\n\t * @description Subselect query.\n\t */\n\tSubQuery = 3,\n\t/**\n\t * @description Arithmetic operation.\n\t */\n\tArithmeticOperation = 4,\n}\n","/**\n * @public\n * @description The type of filter.\n * - 0 None, No filter applied.\n * - 1 Compare, Comparison filter (e.g., equal to, greater than).\n * - 2 IsNull, Checks if a value is null.\n * - 4 In, Checks if a value is in a specified set of values.\n * - 5 Exists, Checks if a value exists.\n * - 6 FilterGroup, A group of filters combined with logical operators (AND, OR).\n */\nexport enum ɵFilterType {\n\t/**\n\t * @public\n\t * @description No filter applied.\n\t */\n\tNone,\n\t/**\n\t * @public\n\t * @description Comparison filter (e.g., equal to, greater than).\n\t */\n\tCompare,\n\t/**\n\t * @public\n\t * @description Checks if a value is null.\n\t */\n\tIsNull,\n\t/**\n\t * @public\n\t * @description Checks if a value is between two specified values.\n\t * should be used with {@link ɵBetweenFilter}\n\t * @hidden\n\t */\n\tBetween,\n\t/**\n\t * @public\n\t * @description Checks if a value is in a specified set of values.\n\t */\n\tIn,\n\t/**\n\t * @public\n\t * @description Checks if a value exists.\n\t */\n\tExists,\n\t/**\n\t * @public\n\t * @description A group of filters combined with logical operators (AND, OR).\n\t */\n\tFilterGroup,\n}\n","/**\n * @public\n * @generativeApi\n * @description The type of function in the filter, or in the aggregation function\n * 0 - None (Function type not defined), 1 - Macros (Substitution by macro),\n * 2 - Aggregation (Aggregating function), 3 - DatePart (Date fragment),\n * 4 - Length (Size of value in bytes), 5 - Window (Window query function),\n * 6 - DateAdd (Date addition), 7 - DateDiff (Date difference).\n * if used in aggregation function, use 2 by default.\n */\nexport enum ɵFunctionType {\n\t/**\n\t * @description Function type not defined.\n\t * */\n\tNone = 0,\n\t/**\n\t * @description Substitution by macro.\n\t * */\n\tMacros = 1,\n\t/**\n\t * @description Aggregating function.\n\t * */\n\tAggregation = 2,\n\t/**\n\t * @description Date fragment.\n\t * */\n\tDatePart = 3,\n\t/**\n\t * @description The size of the value in bytes, used for binary data.\n\t * */\n\tLength = 4,\n\t/**\n\t * @description Window query function\n\t * */\n\tWindow = 5,\n\t/**\n\t * @description Date add.\n\t * */\n\tDateAdd = 6,\n\t/**\n\t * @description Date diff.\n\t * */\n\tDateDiff = 7,\n}\n","/**\n * @public\n * @generativeApi\n * @description The type of logical operation used to combine multiple conditions in filters.\n * 0 - And (All conditions must be true), 1 - Or (At least one condition must be true)\n */\nexport enum ɵLogicalOperatorType {\n\t/**\n\t * @description Logical And.\n\t */\n\tAnd,\n\t/**\n\t * @description Logical Or.\n\t */\n\tOr,\n}\n","/**\n * @public\n * @generativeApi\n * @description Specifies the sort direction for query results.\n * 0 - None (No specific ordering), 1 - Asc (Ascending order, A-Z, 0-9), 2 - Desc (Descending order, Z-A, 9-0)\n */\nexport enum ɵOrderDirection {\n\t/**\n\t * @description Order not defined.\n\t * */\n\tNone,\n\t/**\n\t * @description Ascending.\n\t * */\n\tAsc,\n\t/**\n\t * @description Descending.\n\t * */\n\tDesc,\n}\n","/**\n * @public\n * @generativeApi\n * @description Defines the types of macros that can be used in queries.\n * 0 - None (No macro), 1 - CurrentUser (Current user ID), 2 - CurrentUserContact (User's contact),\n * 3 - Yesterday (Previous day), 4 - Today (Current day), 5 - Tomorrow (Next day),\n * 6 - PreviousWeek (Last week), 7 - CurrentWeek (This week), 8 - NextWeek (Coming week),\n * 9 - PreviousMonth (Last month), 10 - CurrentMonth (This month), 11 - NextMonth (Coming month)\n * 12 - Previous quarter.\n * 13 - Current quarter.\n * 14 - Next quarter.\n * 15 - Previous half of the year.\n * 16 - Current half-year.\n * 17 - Next half-year.\n * 18 - Last year.\n * 19 - This year.\n * 20 - Previous hour.\n * 21 - Current hour.\n * 22 - Next hour.\n * 23 - Next year.\n * 24 - Next N Days.\n * 25 - Previous N days.\n * 26 - Next N hours.\n * 27 - Previous N hours.\n * 34 - Primary column.\n * 35 - Primary displayed column.\n * 36 - Primary image display column.\n * 37 - Anniversary today.\n * 38 - Anniversary on the date computed as today plus days offset.\n * 39 - Anniversary on the next several days.\n * 40 - Anniversary on the previous several days.\n * 41 - Primary color display column.\n */\nexport enum ɵQueryMacrosType {\n\t/**\n\t * @description Macro type not defined.\n\t */\n\tNone = 0,\n\t/**\n\t * @description Current user.\n\t */\n\tCurrentUser = 1,\n\t/**\n\t * @description Current user contact.\n\t */\n\tCurrentUserContact = 2,\n\t/**\n\t * @description Yesterday.\n\t */\n\tYesterday = 3,\n\t/**\n\t * @description Today.\n\t */\n\tToday = 4,\n\t/**\n\t * @description Tomorrow.\n\t */\n\tTomorrow = 5,\n\t/**\n\t * @description Previous week.\n\t */\n\tPreviousWeek = 6,\n\t/**\n\t * @description This week.\n\t */\n\tCurrentWeek = 7,\n\t/**\n\t * @description Next week.\n\t */\n\tNextWeek = 8,\n\t/**\n\t * @description Previous month.\n\t */\n\tPreviousMonth = 9,\n\t/**\n\t * @description Current month.\n\t */\n\tCurrentMonth = 10,\n\t/**\n\t * @description Next month.\n\t */\n\tNextMonth = 11,\n\t/**\n\t * @description Previous quarter.\n\t */\n\tPreviousQuarter = 12,\n\t/**\n\t * @description Current quarter.\n\t */\n\tCurrentQuarter = 13,\n\t/**\n\t * @description Next quarter.\n\t */\n\tNextQuarter = 14,\n\t/**\n\t * @description Previous half of the year.\n\t */\n\tPreviousHalfYear = 15,\n\t/**\n\t * @description Current half-year.\n\t */\n\tCurrentHalfYear = 16,\n\t/**\n\t * @description Next half-year.\n\t */\n\tNextHalfYear = 17,\n\t/**\n\t * @description Last year.\n\t */\n\tPreviousYear = 18,\n\t/**\n\t * @description This year.\n\t */\n\tCurrentYear = 19,\n\t/**\n\t * @description Previous hour.\n\t */\n\tPreviousHour = 20,\n\t/**\n\t * @description Current hour.\n\t */\n\tCurrentHour = 21,\n\t/**\n\t * @description Next hour.\n\t */\n\tNextHour = 22,\n\t/**\n\t * @description Next year.\n\t */\n\tNextYear = 23,\n\t/**\n\t * @description Next N Days.\n\t */\n\tNextNDays = 24,\n\t/**\n\t * @description Previous N days.\n\t */\n\tPreviousNDays = 25,\n\t/**\n\t * @description Next N hours.\n\t */\n\tNextNHours = 26,\n\t/**\n\t * @description Previous N hours.\n\t */\n\tPreviousNHours = 27,\n\t/**\n\t * @description Primary column.\n\t */\n\tPrimaryColumn = 34,\n\t/**\n\t * @description Primary displayed column.\n\t */\n\tPrimaryDisplayColumn = 35,\n\t/**\n\t * @description Primary image display column.\n\t */\n\tPrimaryImageColumn = 36,\n\t/**\n\t * @description Anniversary today.\n\t */\n\tDayOfYearToday = 37,\n\t/**\n\t * @description Anniversary on the date computed as today plus days offset.\n\t */\n\tDayOfYearTodayPlusDaysOffset = 38,\n\t/**\n\t * @description Anniversary on the next several days.\n\t */\n\tNextNDaysOfYear = 39,\n\t/**\n\t * @description Anniversary on the previous several days.\n\t */\n\tPreviousNDaysOfYear = 40,\n\t/**\n\t * @description Primary color display column.\n\t */\n\tPrimaryColorColumn = 41,\n}\n","import { classToPlain } from 'class-transformer';\n\nimport { ɵBaseExpressionParser } from './expression-parser/base-expression-parser';\nimport { ɵSerializable } from '../../../interfaces';\nimport { ɵJsonObject } from '../../../types/json-data.type';\nimport { ɵExpressionType } from '../enums/expression-type.enum';\nimport { ɵBaseFilterParser } from '../filters/filter-parser/base-filter-parser';\nimport { UsedColumn } from '../used-column';\n\nexport type ɵExpressionConfig<TExpression extends ɵBaseExpression> = Partial<Omit<TExpression, 'expressionType'>>;\n\n/**\n * @public\n * @generativeApi\n * @abstract\n * @description The base class of the expression.\n * @extends {ɵSerializable}\n */\nexport abstract class ɵBaseExpression implements ɵSerializable {\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static readonly _instanceOfKey: string = 'devkit_BaseExpression';\n\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static get _instanceOfKeys(): string[] {\n\t\treturn [this._instanceOfKey];\n\t}\n\n\t/**\n\t * @description True if expression has brackets.\n\t * @default false\n\t */\n\tpublic readonly isBlock?: boolean = false;\n\n\t/**\n\t * @public\n\t * @description Method for checking if an instance is of the current class type.\n\t * @param instance - The instance to check.\n\t * @returns `true` if the instance is of the current class type, `false` otherwise.\n\t */\n\tpublic static [Symbol.hasInstance](instance: ɵBaseExpression): boolean {\n\t\tconst instanceOfKeys = instance?.constructor?.['_instanceOfKeys'] ?? [];\n\t\treturn instanceOfKeys.includes(this._instanceOfKey);\n\t}\n\n\t/**\n\t * @description Type of expression\n\t */\n\tpublic abstract readonly expressionType: ɵExpressionType;\n\n\tprotected constructor(config: ɵExpressionConfig<ɵBaseExpression>) {\n\t\tthis.isBlock = <boolean>config?.isBlock;\n\t}\n\n\t/**\n\t * @public\n\t * @description Parses expression from json.\n\t */\n\tpublic static fromJson<\n\t\tTFilterParser extends typeof ɵBaseFilterParser,\n\t\tTExpressionParser extends typeof ɵBaseExpressionParser,\n\t>(dto: ɵJsonObject, filterParser: TFilterParser, expressionParser?: TExpressionParser): ɵBaseExpression {\n\t\tthrow new Error(`fromJson not supported on expression type ${this.constructor.name}`);\n\t}\n\n\t/**\n\t * @description Converts instance to json object.\n\t * @param item - The instance to serialize.\n\t */\n\tprotected serializeItem(item: ɵSerializable): ɵJsonObject {\n\t\treturn typeof item.toJson === 'function'\n\t\t\t? item.toJson()\n\t\t\t: classToPlain(item, {\n\t\t\t\t\texposeUnsetFields: false,\n\t\t\t\t\texcludePrefixes: ['_'],\n\t\t\t });\n\t}\n\n\t/**\n\t * @description Abstract method to create cloned instance.\n\t */\n\tpublic abstract clone(): ɵBaseExpression;\n\n\t/**\n\t * @public\n\t * @description Converts instance to json object.\n\t */\n\tpublic toJson(): ɵJsonObject {\n\t\treturn classToPlain(this, {\n\t\t\texposeUnsetFields: false,\n\t\t\texcludePrefixes: ['_'],\n\t\t});\n\t}\n\n\t/**\n\t * @internal\n\t */\n\tpublic abstract _getUsedColumns(): UsedColumn[];\n}\n","import { ɵJsonObject } from '../../../../types/json-data.type';\nimport { ɵArithmeticOperation, ɵExpressionType } from '../../enums';\nimport { ɵBaseFilterParser } from '../../filters/filter-parser/base-filter-parser';\nimport { UsedColumn } from '../../used-column';\nimport { ɵBaseExpression, ɵExpressionConfig } from '../base-expression';\nimport type { IESQExpression } from '../esq-expression.inteface';\nimport { ɵBaseExpressionParser } from '../expression-parser/base-expression-parser';\n\n/**\n * @public\n * @description Config used for arithmetic expression\n */\nexport type ɵArithmeticExpressionConfig = ɵExpressionConfig<ɵArithmeticExpression> &\n\tPick<ɵArithmeticExpression, 'arithmeticOperation' | 'leftArithmeticOperand' | 'rightArithmeticOperand'>;\n\n/**\n * @public\n * @genearativeApi\n * @description Arithmetic expression.\n * @extends {ɵBaseExpression}\n */\nexport class ɵArithmeticExpression extends ɵBaseExpression {\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static readonly _instanceOfKey: string = 'devkit_ArithmeticExpression';\n\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static get _instanceOfKeys(): string[] {\n\t\treturn [...ɵBaseExpression._instanceOfKeys, this._instanceOfKey];\n\t}\n\n\t/**\n\t * @description Expression type. Default 'ArithmeticOperation'.\n\t */\n\tpublic readonly expressionType: ɵExpressionType = ɵExpressionType.ArithmeticOperation;\n\t/**\n\t * @description Operation.\n\t */\n\tpublic readonly arithmeticOperation: ɵArithmeticOperation;\n\t/**\n\t * @description Left operand expression.\n\t */\n\tpublic readonly leftArithmeticOperand: IESQExpression;\n\t/**\n\t * @description Right operand expression.\n\t */\n\tpublic readonly rightArithmeticOperand: IESQExpression;\n\n\tconstructor(config: ɵArithmeticExpressionConfig) {\n\t\tsuper(config);\n\t\tthis.arithmeticOperation = config?.arithmeticOperation;\n\t\tthis.leftArithmeticOperand = config?.leftArithmeticOperand.clone();\n\t\tthis.rightArithmeticOperand = config?.rightArithmeticOperand.clone();\n\t}\n\n\t/**\n\t * Parses expression from json.\n\t * @public\n\t */\n\tpublic static fromJson<\n\t\tTFilterParser extends typeof ɵBaseFilterParser,\n\t\tTExpressionParser extends typeof ɵBaseExpressionParser,\n\t>(dto: ɵJsonObject, filterParser: TFilterParser, expressionParser?: TExpressionParser): ɵArithmeticExpression {\n\t\tconst leftArithmeticOperand = expressionParser?.fromJson(\n\t\t\tdto['leftArithmeticOperand'] as ɵJsonObject,\n\t\t\tfilterParser,\n\t\t) as ɵBaseExpression;\n\t\tconst rightArithmeticOperand = expressionParser?.fromJson(\n\t\t\tdto['rightArithmeticOperand'] as ɵJsonObject,\n\t\t\tfilterParser,\n\t\t) as ɵBaseExpression;\n\t\tconst config: ɵArithmeticExpressionConfig = {\n\t\t\tleftArithmeticOperand,\n\t\t\trightArithmeticOperand,\n\t\t\tarithmeticOperation: dto['arithmeticOperation'] as ɵArithmeticOperation,\n\t\t\tisBlock: dto['isBlock'] as boolean,\n\t\t};\n\t\treturn new ɵArithmeticExpression(config);\n\t}\n\n\t/**\n\t * @public\n\t * @description Clones instance.\n\t */\n\tpublic clone(): ɵArithmeticExpression {\n\t\treturn new ɵArithmeticExpression(this);\n\t}\n\n\t/**\n\t * @internal\n\t */\n\tpublic _getUsedColumns(): UsedColumn[] {\n\t\treturn [...this.leftArithmeticOperand._getUsedColumns(), ...this.rightArithmeticOperand._getUsedColumns()];\n\t}\n}\n","import { ɵJsonObject } from '../../../../types/json-data.type';\nimport { ɵExpressionType } from '../../enums';\nimport { UsedColumn } from '../../used-column';\nimport { ɵBaseExpression, ɵExpressionConfig } from '../base-expression';\n\n/**\n * @public\n * @description Configuration of expression of type column EntitySchema.\n */\nexport type ɵColumnExpressionConfig = ɵExpressionConfig<ɵColumnExpression> & Pick<ɵColumnExpression, 'columnPath'>;\n\n/**\n * @public\n * @generativeApi\n * @description A class that defines an expression of type column EntitySchema.\n * @extends {ɵBaseExpression}\n */\nexport class ɵColumnExpression extends ɵBaseExpression {\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static readonly _instanceOfKey: string = 'devkit_ColumnExpression';\n\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static get _instanceOfKeys(): string[] {\n\t\treturn [...ɵBaseExpression._instanceOfKeys, this._instanceOfKey];\n\t}\n\n\t/**\n\t * @description Type of expression.\n\t */\n\tpublic readonly expressionType: ɵExpressionType = ɵExpressionType.SchemaColumn;\n\n\t/**\n\t * @description The path to the column is relative to root schema. Elements of the path are separated by a dot.\n\t */\n\tpublic columnPath: string;\n\n\tconstructor(config: ɵColumnExpressionConfig) {\n\t\tsuper(config);\n\t\tthis.columnPath = config?.columnPath;\n\t}\n\n\t/**\n\t * Parses expression from json.\n\t * @public\n\t * @param dto - Serialized object.\n\t */\n\tpublic static fromJson(dto: ɵJsonObject): ɵColumnExpression {\n\t\tconst expression = new ɵColumnExpression({ columnPath: dto['columnPath'] as string });\n\t\treturn expression;\n\t}\n\n\t/**\n\t * @description Clones instance.\n\t */\n\tpublic clone(): ɵColumnExpression {\n\t\treturn new ɵColumnExpression(this);\n\t}\n\n\t/**\n\t * @internal\n\t */\n\tpublic _getUsedColumns(): UsedColumn[] {\n\t\treturn [\n\t\t\t{\n\t\t\t\tpath: this.columnPath,\n\t\t\t},\n\t\t];\n\t}\n}\n","import { ɵJsonObject } from '../../../../types/json-data.type';\nimport { ɵBaseFilterParser } from '../../filters/filter-parser/base-filter-parser';\n\n/**\n * @public\n * @description Expression parser interface.\n */\nexport class ɵBaseExpressionParser {\n\t/**\n\t * @public\n\t * @description Parses filter from json.\n\t * @param dto - Serialized object.\n\t * @param filterParser - Type of parser.\n\t * @return InstanceType of expression.\n\t */\n\tpublic static fromJson(dto: ɵJsonObject, filterParser: typeof ɵBaseFilterParser): unknown {\n\t\tthrow new Error('not implemented');\n\t}\n}\n","import { ɵExpressionType, ɵFunctionType } from '../../enums';\nimport { ɵBaseExpression, ɵExpressionConfig } from '../base-expression';\n\n/**\n * @public\n * @description Configuration for funcion expression.\n */\nexport type ɵFunctionExpressionConfig<TExpression extends ɵFunctionExpression> = Omit<\n\tɵExpressionConfig<TExpression>,\n\t'functionType'\n>;\n\n/**\n * @public\n * @abstract\n * @generativeApi\n * @description A class that describes a functional expression.\n * Functional expressions are evaluated on BE to produce a value based on the function type.\n * @extends {ɵFunctionExpression}\n */\nexport abstract class ɵFunctionExpression extends ɵBaseExpression {\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static readonly _instanceOfKey: string = 'devkit_FunctionExpression';\n\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static get _instanceOfKeys(): string[] {\n\t\treturn [...ɵBaseExpression._instanceOfKeys, this._instanceOfKey];\n\t}\n\n\t/**\n\t * @description Expression type. Default 'Function'.\n\t * @default 1.\n\t */\n\tpublic readonly expressionType: ɵExpressionType = ɵExpressionType.Function;\n\n\t/**\n\t * @description The type of the functional expression.\n\t */\n\tpublic abstract readonly functionType: ɵFunctionType;\n\n\tprotected constructor(config: ɵFunctionExpressionConfig<ɵFunctionExpression>) {\n\t\tsuper(config);\n\t}\n\n\t/**\n\t * @description Abstract method to create cloned instance.\n\t */\n\tpublic abstract clone(): ɵFunctionExpression;\n}\n","import { ɵFunctionExpression, ɵFunctionExpressionConfig } from './function-expression';\nimport { ɵJsonObject } from '../../../../types';\nimport { UsedColumn } from '../../used-column';\nimport type { IESQExpression } from '../esq-expression.inteface';\n\n/**\n * @public\n * @description Configuration for function wih argument expression.\n */\nexport type ɵArgumentFunctionExpressionConfig<TExpression extends ɵArgumentFunctionExpression> =\n\tɵFunctionExpressionConfig<TExpression> & Pick<ɵArgumentFunctionExpression, 'functionArgument'>;\n\n/**\n * @public\n * @abstract\n * @generativeApi\n * @description A class that describes a functional expression with argument.\n * @extends {ɵFunctionExpression}\n */\nexport abstract class ɵArgumentFunctionExpression extends ɵFunctionExpression {\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static readonly _instanceOfKey: string = 'devkit_ArgumentFunctionExpression';\n\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static get _instanceOfKeys(): string[] {\n\t\treturn [...ɵFunctionExpression._instanceOfKeys, this._instanceOfKey];\n\t}\n\n\t/**\n\t * @description Expression argument.\n\t */\n\tpublic readonly functionArgument: IESQExpression;\n\n\tprotected constructor(config: ɵArgumentFunctionExpressionConfig<ɵArgumentFunctionExpression>) {\n\t\tsuper(config);\n\t\tthis.functionArgument = config?.functionArgument?.clone();\n\t}\n\n\t/**\n\t * @public\n\t * @description Abstract method to create cloned instance.\n\t */\n\tpublic abstract clone(): ɵArgumentFunctionExpression;\n\n\t/** {@inheritDoc ɵBaseExpression.toJson} */\n\tpublic toJson(): ɵJsonObject {\n\t\tconst result = super.toJson();\n\t\tif (this.functionArgument) {\n\t\t\tresult['functionArgument'] = this.serializeItem(this.functionArgument);\n\t\t}\n\t\treturn result;\n\t}\n\n\t/**\n\t * @internal\n\t */\n\tpublic _getUsedColumns(): UsedColumn[] {\n\t\treturn this.functionArgument?._getUsedColumns() ?? [];\n\t}\n}\n","import { ɵArgumentFunctionExpression, ɵArgumentFunctionExpressionConfig } from './argument-function-expression';\nimport { ɵAggregationType } from '../../../../../public/enums';\nimport { ɵJsonObject } from '../../../../types/json-data.type';\nimport { ɵAggregationEvalType, ɵFunctionType } from '../../enums';\nimport { ɵBaseFilterParser } from '../../filters/filter-parser/base-filter-parser';\nimport { ɵBaseExpression } from '../base-expression';\nimport { ɵBaseExpressionParser } from '../expression-parser/base-expression-parser';\n\n/**\n * @public\n * @description Configuration for aggregation function expression.\n */\nexport type ɵAggregationFunctionExpressionConfig = ɵArgumentFunctionExpressionConfig<ɵAggregationFunctionExpression> &\n\tPick<ɵAggregationFunctionExpression, 'aggregationType' | 'aggregationEvalType'>;\n\n/**\n * @public\n * @generativeApi\n * @description A class that describes expression with aggregate function.\n * @extends {ɵArgumentFunctionExpression}\n */\nexport class ɵAggregationFunctionExpression extends ɵArgumentFunctionExpression {\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static readonly _instanceOfKey: string = 'devkit_AggregationFunctionExpression';\n\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static get _instanceOfKeys(): string[] {\n\t\treturn [...ɵArgumentFunctionExpression._instanceOfKeys, this._instanceOfKey];\n\t}\n\n\t/**\n\t * @description The type of the functional expression passed for initialization.\n\t */\n\tpublic readonly functionType: ɵFunctionType = ɵFunctionType.Aggregation;\n\n\t/**\n\t * @description Aggregation type.\n\t */\n\tpublic readonly aggregationType: ɵAggregationType;\n\n\t/**\n\t * @description The scope of the aggregating function.\n\t */\n\tpublic readonly aggregationEvalType: ɵAggregationEvalType;\n\n\tconstructor(config: ɵAggregationFunctionExpressionConfig) {\n\t\tsuper(config);\n\t\tthis.aggregationType = config?.aggregationType;\n\t\tthis.aggregationEvalType = config?.aggregationEvalType;\n\t}\n\n\t/**\n\t * Parses expression from json.\n\t * @public\n\t */\n\tpublic static fromJson<\n\t\tTFilterParser extends typeof ɵBaseFilterParser,\n\t\tTExpressionParser extends typeof ɵBaseExpressionParser,\n\t>(\n\t\tdto: ɵJsonObject,\n\t\tfilterParser: TFilterParser,\n\t\texpressionParser?: TExpressionParser,\n\t): ɵAggregationFunctionExpression {\n\t\tconst functionArgument = expressionParser?.fromJson(\n\t\t\tdto['functionArgument'] as ɵJsonObject,\n\t\t\tfilterParser,\n\t\t) as ɵBaseExpression;\n\t\tconst aggregationType = dto['aggregationType'] as ɵAggregationType;\n\t\tconst aggregationEvalType = dto['aggregationEvalType'] as ɵAggregationEvalType;\n\t\treturn new ɵAggregationFunctionExpression({\n\t\t\tfunctionArgument,\n\t\t\taggregationType,\n\t\t\taggregationEvalType,\n\t\t\tisBlock: dto['isBlock'] as boolean,\n\t\t});\n\t}\n\n\t/** {@inheritDoc ɵBaseExpression.clone} */\n\tpublic clone(): ɵAggregationFunctionExpression {\n\t\treturn new ɵAggregationFunctionExpression(this);\n\t}\n}\n","import { ɵArgumentFunctionExpression, ɵArgumentFunctionExpressionConfig } from './argument-function-expression';\nimport { ɵJsonObject } from '../../../../types/json-data.type';\nimport { ɵDatePartType, ɵFunctionType } from '../../enums';\nimport { ɵBaseFilterParser } from '../../filters/filter-parser/base-filter-parser';\nimport { ɵBaseExpression } from '../base-expression';\nimport { ɵBaseExpressionParser } from '../expression-parser/base-expression-parser';\n\n/**\n * @public\n * @description Configuration for date part expression.\n */\nexport type ɵDatePartFunctionExpressionConfig = ɵArgumentFunctionExpressionConfig<ɵDatePartFunctionExpression> &\n\tPick<ɵDatePartFunctionExpression, 'datePartType'>;\n\n/**\n * @public\n * @gererativeApi\n * @description A class that describes expression part of date function.\n * @extends {ɵArgumentFunctionExpression}\n */\nexport class ɵDatePartFunctionExpression extends ɵArgumentFunctionExpression {\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static readonly _instanceOfKey: string = 'devkit_DatePartFunctionExpression';\n\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static get _instanceOfKeys(): string[] {\n\t\treturn [...ɵArgumentFunctionExpression._instanceOfKeys, this._instanceOfKey];\n\t}\n\n\t/**\n\t * @description Function type. Default 'DatePart'.\n\t */\n\tpublic readonly functionType: ɵFunctionType = ɵFunctionType.DatePart;\n\n\t/**\n\t * @description Date part type.\n\t */\n\tpublic readonly datePartType: ɵDatePartType;\n\n\tconstructor(config: ɵDatePartFunctionExpressionConfig) {\n\t\tsuper(config);\n\t\tthis.datePartType = config?.datePartType;\n\t}\n\n\t/**\n\t * Parses expression from json.\n\t * @public\n\t */\n\tpublic static fromJson<\n\t\tTFilterParser extends typeof ɵBaseFilterParser,\n\t\tTExpressionParser extends typeof ɵBaseExpressionParser,\n\t>(\n\t\tdto: ɵJsonObject,\n\t\tfilterParser: TFilterParser,\n\t\texpressionParser?: TExpressionParser,\n\t): ɵDatePartFunctionExpression {\n\t\tconst functionArgument = expressionParser?.fromJson(\n\t\t\tdto['functionArgument'] as ɵJsonObject,\n\t\t\tfilterParser,\n\t\t) as ɵBaseExpression;\n\t\tconst datePartType = dto['datePartType'] as ɵDatePartType;\n\t\treturn new ɵDatePartFunctionExpression({ functionArgument, datePartType, isBlock: dto['isBlock'] as boolean });\n\t}\n\n\t/** {@inheritDoc ɵBaseExpression.clone} */\n\tpublic clone(): ɵDatePartFunctionExpression {\n\t\treturn new ɵDatePartFunctionExpression(this);\n\t}\n}\n","import { ɵArgumentFunctionExpression, ɵArgumentFunctionExpressionConfig } from './argument-function-expression';\nimport { ɵJsonObject } from '../../../../types/json-data.type';\nimport { ɵFunctionType } from '../../enums';\nimport { ɵBaseFilterParser } from '../../filters/filter-parser/base-filter-parser';\nimport { ɵColumnExpression } from '../columns/column-expression';\nimport { ɵBaseExpressionParser } from '../expression-parser/base-expression-parser';\n\n/**\n * @public\n * @description Configuration of expression with length function.\n */\nexport type ɵLengthFunctionExpressionConfig = ɵArgumentFunctionExpressionConfig<ɵLengthFunctionExpression>;\n\n/**\n * @public\n * @generativeApi\n * @description A class that describes expression with length function.\n * @extends {ɵArgumentFunctionExpression}\n */\nexport class ɵLengthFunctionExpression extends ɵArgumentFunctionExpression {\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static readonly _instanceOfKey: string = 'devkit_LengthFunctionExpression';\n\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static get _instanceOfKeys(): string[] {\n\t\treturn [...ɵArgumentFunctionExpression._instanceOfKeys, this._instanceOfKey];\n\t}\n\n\t/**\n\t * @description Function type. Default 'Length'.\n\t */\n\tpublic readonly functionType: ɵFunctionType = ɵFunctionType.Length;\n\n\t/**\n\t * @description Argument of function.\n\t */\n\tpublic readonly functionArgument!: ɵColumnExpression;\n\n\tconstructor(config: ɵLengthFunctionExpressionConfig) {\n\t\tsuper(config);\n\t}\n\n\t/**\n\t * Parses expression from json.\n\t * @public\n\t */\n\tpublic static fromJson<\n\t\tTFilterParser extends typeof ɵBaseFilterParser,\n\t\tTExpressionParser extends typeof ɵBaseExpressionParser,\n\t>(dto: ɵJsonObject, filterParser: TFilterParser, expressionParser?: TExpressionParser): ɵLengthFunctionExpression {\n\t\tconst functionArgument = expressionParser?.fromJson(\n\t\t\tdto['functionArgument'] as ɵJsonObject,\n\t\t\tfilterParser,\n\t\t) as ɵColumnExpression;\n\t\treturn new ɵLengthFunctionExpression({ functionArgument, isBlock: dto['isBlock'] as boolean });\n\t}\n\n\t/**\n\t * @description Method to create cloned instance.\n\t */\n\tpublic clone(): ɵLengthFunctionExpression {\n\t\treturn new ɵLengthFunctionExpression(this);\n\t}\n}\n","import { ɵFunctionExpression, ɵFunctionExpressionConfig } from './function-expression';\nimport { ɵJsonObject } from '../../../../types/json-data.type';\nimport { ɵFunctionType, ɵQueryMacrosType } from '../../enums';\nimport { ɵBaseFilterParser } from '../../filters/filter-parser/base-filter-parser';\nimport { UsedColumn } from '../../used-column';\nimport { ɵBaseExpression } from '../base-expression';\nimport type { IESQExpression } from '../esq-expression.inteface';\nimport { ɵBaseExpressionParser } from '../expression-parser/base-expression-parser';\n\n/**\n * @public\n * @description Configuration of expression with macros function.\n */\nexport type ɵMacrosFunctionExpressionConfig = ɵFunctionExpressionConfig<ɵMacrosFunctionExpression> &\n\tPick<ɵMacrosFunctionExpression, 'macrosType'>;\n\n/**\n * @public\n * @generativeApi\n * @description A class that describes expression with macros function.\n * @extends {ɵFunctionExpression}\n */\nexport class ɵMacrosFunctionExpression extends ɵFunctionExpression {\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static readonly _instanceOfKey: string = 'devkit_MacrosFunctionExpression';\n\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static get _instanceOfKeys(): string[] {\n\t\treturn [...ɵFunctionExpression._instanceOfKeys, this._instanceOfKey];\n\t}\n\n\t/**\n\t * @description Function type. Default 'Macros'.\n\t * @default 1\n\t */\n\tpublic readonly functionType: ɵFunctionType = ɵFunctionType.Macros;\n\t/**\n\t * @description Type of macros.\n\t */\n\tpublic readonly macrosType: ɵQueryMacrosType;\n\t/**\n\t * @description Function argument.\n\t * it is optional and exists only for some macros functions.\n\t */\n\tpublic readonly functionArgument?: IESQExpression;\n\n\tconstructor(config: ɵMacrosFunctionExpressionConfig) {\n\t\tsuper(config);\n\t\tthis.macrosType = config?.macrosType;\n\t\tthis.functionArgument = config?.functionArgument;\n\t}\n\n\t/**\n\t * Parses expression from json.\n\t * @public\n\t */\n\tpublic static fromJson<\n\t\tTFilterParser extends typeof ɵBaseFilterParser,\n\t\tTExpressionParser extends typeof ɵBaseExpressionParser,\n\t>(dto: ɵJsonObject, filterParser?: TFilterParser, expressionParser?: TExpressionParser): ɵMacrosFunctionExpression {\n\t\tconst functionArgument =\n\t\t\tfilterParser && expressionParser && dto['functionArgument']\n\t\t\t\t? (expressionParser.fromJson(dto['functionArgument'] as ɵJsonObject, filterParser) as ɵBaseExpression)\n\t\t\t\t: undefined;\n\t\treturn new ɵMacrosFunctionExpression({ functionArgument, macrosType: dto['macrosType'] as ɵQueryMacrosType });\n\t}\n\n\t/**\n\t * @description method to create cloned instance.\n\t */\n\tpublic clone(): ɵMacrosFunctionExpression {\n\t\treturn new ɵMacrosFunctionExpression(this);\n\t}\n\n\t/**\n\t * @internal\n\t */\n\tpublic _getUsedColumns(): UsedColumn[] {\n\t\treturn this.functionArgument?._getUsedColumns() ?? [];\n\t}\n}\n","import { ɵAggregationFunctionExpression } from './aggregation-function-expression';\nimport { ɵArgumentFunctionExpression, ɵArgumentFunctionExpressionConfig } from './argument-function-expression';\nimport { ɵJsonObject } from '../../../../types/json-data.type';\nimport { ɵFunctionType } from '../../enums';\nimport { ɵBaseFilterParser } from '../../filters/filter-parser/base-filter-parser';\nimport { ɵBaseExpressionParser } from '../expression-parser/base-expression-parser';\n\n/**\n * @public\n * @description Configuration for window funcion expression.\n */\nexport type ɵWindowFunctionExpressionConfig = ɵArgumentFunctionExpressionConfig<ɵWindowFunctionExpression>;\n\n/**\n * @public\n * @generativeApi\n * @description A class that describes expression with window function.\n * @extends {ɵArgumentFunctionExpression}\n */\nexport class ɵWindowFunctionExpression extends ɵArgumentFunctionExpression {\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static readonly _instanceOfKey: string = 'devkit_WindowFunctionExpression';\n\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static get _instanceOfKeys(): string[] {\n\t\treturn [...ɵArgumentFunctionExpression._instanceOfKeys, this._instanceOfKey];\n\t}\n\n\t/**\n\t * @description Function type.\n\t */\n\tpublic readonly functionType: ɵFunctionType = ɵFunctionType.Window;\n\n\t/**\n\t * @description Function argument\n\t */\n\tpublic readonly functionArgument!: ɵAggregationFunctionExpression;\n\n\tconstructor(config: ɵWindowFunctionExpressionConfig) {\n\t\tsuper(config);\n\t}\n\n\t/**\n\t * Parses expression from json.\n\t * @public\n\t */\n\tpublic static fromJson<\n\t\tTFilterParser extends typeof ɵBaseFilterParser,\n\t\tTExpressionParser extends typeof ɵBaseExpressionParser,\n\t>(dto: ɵJsonObject, filterParser: TFilterParser, expressionParser?: TExpressionParser): ɵWindowFunctionExpression {\n\t\tconst functionArgument = expressionParser?.fromJson(\n\t\t\tdto['functionArgument'] as ɵJsonObject,\n\t\t\tfilterParser,\n\t\t) as ɵAggregationFunctionExpression;\n\t\treturn new ɵWindowFunctionExpression({ functionArgument, isBlock: dto['isBlock'] as boolean });\n\t}\n\n\t/** {@inheritDoc ɵBaseExpression.clone} */\n\tpublic clone(): ɵWindowFunctionExpression {\n\t\treturn new ɵWindowFunctionExpression(this);\n\t}\n}\n","import { Exclude } from 'class-transformer';\n\nimport { ɵencodeDate } from '../../../../../external/utils';\nimport { ɵDataValueType } from '../../../../../public/enums';\nimport { ɵLookupValue } from '../../../../../public/models';\nimport { ɵEntityColumnValue, ɵJsonObject } from '../../../../../public/types';\nimport { ɵExpressionType } from '../../enums';\nimport { UsedColumn } from '../../used-column';\nimport { ɵBaseExpression, ɵExpressionConfig } from '../base-expression';\n\n/**\n * @public\n * @description Configuration of parametric expression.\n */\nexport type ɵParameterExpressionConfig = ɵExpressionConfig<ɵParameterExpression> & Pick<ɵParameterExpression, 'value'>;\n\n/**\n * @public\n * @generativeApi\n * @description Parameter object reference. Defines the value and type of the parameter.\n * dateValue property exists only if dataValueType is 7.\n */\nexport interface IParameterDefinition<TDataValueType extends ɵDataValueType = ɵDataValueType> {\n\t/**\n\t * @description type of the parameter value.\n\t * */\n\tdataValueType: TDataValueType;\n\t/**\n\t * @description exists only if dataValueType is 7. Contains the ISO 8601 date string.\n\t * */\n\tdateValue?: TDataValueType extends ɵDataValueType.DateTime ? `${string}T${string}Z` : never;\n\t/**\n\t * @description defines the value of the parameter.\n\t * If dataValueType is 7. Contains the ISO 8601 date string. but wrapped in escaped string.\n\t * E.g.: `\\\"2023-01-01T00:00:00.000Z\\\"`, otherwise it is the value of the parameter.\n\t * If dataValueType is 10, then value is ɵLookupValue.\n\t * value cannot be an array\n\t * */\n\tvalue?: TDataValueType extends ɵDataValueType.DateTime ? string : ɵEntityColumnValue;\n\tarrayValue?: string[];\n}\n\n/**\n * @public\n * @generativeApi\n * @description The class that defines the parametric expression.\n * It means that result of this expression is a parameter value.\n * @extends {ɵBaseExpression}\n */\nexport class ɵParameterExpression extends ɵBaseExpression {\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static readonly _instanceOfKey: string = 'devkit_ParameterExpression';\n\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static get _instanceOfKeys(): string[] {\n\t\treturn [...ɵBaseExpression._instanceOfKeys, this._instanceOfKey];\n\t}\n\n\t/**\n\t * @description Type of expression.\n\t */\n\tpublic readonly expressionType: ɵExpressionType = ɵExpressionType.Parameter;\n\n\t/**\n\t * @description Parameter value.\n\t * @hidden\n\t */\n\t@Exclude()\n\tpublic readonly value: ɵEntityColumnValue;\n\n\t/**\n\t * @description Parameter value type.\n\t * @hidden\n\t */\n\t@Exclude()\n\tpublic readonly dataValueType: ɵDataValueType;\n\n\t/**\n\t * @description Parameter object reference. Defines the value and type of the parameter.\n\t * dateValue property exists only if dataValueType === ɵDataValueType.DateTime.\n\t * if dataValueType === ɵDataValueType.DateTime, dataValueType will contain the ISO 8601 date string and\n\t * value will contain the same date, but wrapped in escaped string. E.g.: \"\\\"2023-01-01T00:00:00.000Z\\\"\"\n\t */\n\tpublic readonly parameter: IParameterDefinition;\n\n\tconstructor(config: ɵParameterExpressionConfig) {\n\t\tsuper(config);\n\t\tconst value = config?.value;\n\t\tif (value instanceof Date) {\n\t\t\tconst cloneDate = new Date();\n\t\t\tcloneDate.setTime(value.getTime());\n\t\t\tthis.value = cloneDate;\n\t\t} else if (!value) {\n\t\t\tthis.value = value;\n\t\t} else {\n\t\t\tthis.value = typeof value === 'object' ? { ...(value as ɵLookupValue) } : value;\n\t\t}\n\t\tthis.dataValueType = config?.dataValueType ?? ɵDataValueType.Text;\n\t\tthis.parameter = {\n\t\t\tdataValueType: this.dataValueType,\n\t\t\t...this._getParameterValueMetadata(),\n\t\t};\n\t}\n\n\t/**\n\t * Parses expression from json.\n\t * @public\n\t */\n\tpublic static fromJson(dto: ɵJsonObject): ɵParameterExpression {\n\t\tconst expression = new ɵParameterExpression(dto['parameter'] as unknown as ɵParameterExpressionConfig);\n\t\treturn expression;\n\t}\n\n\tprivate _convertStringToBlobArray(str: string): string[] {\n\t\tconst out: string[] = [];\n\t\tlet position = 0;\n\t\tfor (let i = 0; i < str.length; i++) {\n\t\t\tconst code = str.charCodeAt(i);\n\t\t\tif (code < 128) {\n\t\t\t\tout[position++] = String.fromCharCode(code);\n\t\t\t} else if (code < 2048) {\n\t\t\t\t/* eslint-disable no-bitwise */\n\t\t\t\tout[position++] = String.fromCharCode((code >> 6) | 192);\n\t\t\t\tout[position++] = String.fromCharCode((code & 63) | 128);\n\t\t\t} else {\n\t\t\t\tout[position++] = String.fromCharCode((code >> 12) | 224);\n\t\t\t\tout[position++] = String.fromCharCode(((code >> 6) & 63) | 128);\n\t\t\t\tout[position++] = String.fromCharCode((code & 63) | 128);\n\t\t\t\t/* eslint-enable no-bitwise */\n\t\t\t}\n\t\t}\n\t\treturn out;\n\t}\n\n\tprivate _getParameterValueMetadata(): {\n\t\tvalue?: ɵEntityColumnValue;\n\t\tarrayValue?: string[];\n\t} {\n\t\tif (this.dataValueType === ɵDataValueType.Blob) {\n\t\t\treturn {\n\t\t\t\tarrayValue: !this.value ? [] : this._convertStringToBlobArray(this.value as string),\n\t\t\t};\n\t\t} else if (this.value instanceof Date) {\n\t\t\treturn {\n\t\t\t\tvalue: ɵencodeDate(this.value),\n\t\t\t};\n\t\t} else {\n\t\t\treturn {\n\t\t\t\tvalue: this.value,\n\t\t\t};\n\t\t}\n\t}\n\n\t/**\n\t * @description Returns cloned instance.\n\t */\n\tpublic clone(): ɵParameterExpression {\n\t\treturn new ɵParameterExpression(this);\n\t}\n\n\t/**\n\t * @internal\n\t */\n\tpublic _getUsedColumns(): UsedColumn[] {\n\t\treturn [];\n\t}\n}\n","/* Do not enable this rule because of issue https://github.com/vega/ts-json-schema-generator/issues/1531 */\n/* eslint-disable @typescript-eslint/no-inferrable-types */\nimport { classToPlain } from 'class-transformer';\n\nimport { ɵBaseFilterParser } from './filter-parser/base-filter-parser';\nimport { ɵSerializable } from '../../../interfaces';\nimport { ɵJsonObject } from '../../../types/json-data.type';\nimport { ɵFilterType } from '../enums/filter-type.enum';\nimport { ɵBaseExpressionParser } from '../expressions/expression-parser/base-expression-parser';\nimport { UsedColumn } from '../used-column';\n\n/**\n * @public\n * @abstract\n * @generativeApi\n * @description Base class for all filters in the system.\n * @extends {ɵSerializable}\n */\nexport abstract class ɵBaseFilter implements ɵSerializable {\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static readonly _instanceOfKey: string = 'devkit_BaseFilter';\n\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static get _instanceOfKeys(): string[] {\n\t\treturn [this._instanceOfKey];\n\t}\n\n\t/**\n\t * @description Type of filter.\n\t */\n\tpublic readonly filterType: ɵFilterType;\n\n\t/**\n\t * @description Indicates that the filter is active and will be taken into account when building the query.\n\t * @default true\n\t */\n\tpublic isEnabled: boolean = true;\n\n\t/**\n\t * @description Drop the time for the date / time type parameters. In FilterGroup this option is not supported.\n\t * @default false\n\t */\n\tpublic trimDateTimeParameterToDate?: boolean = false;\n\n\t/**\n\t * @public\n\t * @description Method for checking if an instance is of the current class type.\n\t * @param instance - The instance to check.\n\t * @returns `true` if the instance is of the current class type, `false` otherwise.\n\t */\n\tpublic static [Symbol.hasInstance](instance: ɵBaseFilter): boolean {\n\t\tconst instanceOfKeys = instance?.constructor?.['_instanceOfKeys'] ?? [];\n\t\treturn instanceOfKeys.includes(this._instanceOfKey);\n\t}\n\n\tprotected constructor(filterType: ɵFilterType) {\n\t\tthis.filterType = filterType;\n\t}\n\n\t/**\n\t * Parses filter from json.\n\t * @public\n\t */\n\tpublic static fromJson<\n\t\tTFilterParser extends typeof ɵBaseFilterParser,\n\t\tTExpressionParser extends typeof ɵBaseExpressionParser,\n\t>(dto: ɵJsonObject, filterParser: TFilterParser, expressionParser: TExpressionParser): ɵBaseFilter {\n\t\tthrow new Error(`fromJson not supported on filter type ${this.constructor.name}`);\n\t}\n\n\tprotected serializeItem(item: ɵSerializable): ɵJsonObject {\n\t\treturn typeof item.toJson === 'function'\n\t\t\t? item.toJson()\n\t\t\t: classToPlain(item, {\n\t\t\t\t\texposeUnsetFields: false,\n\t\t\t\t\texcludePrefixes: ['_'],\n\t\t\t });\n\t}\n\n\t/**\n\t * @public\n\t * @description Clones instance.\n\t */\n\tpublic abstract clone(): ɵBaseFilter;\n\n\t/**\n\t * Converts instance to json object.\n\t * @public\n\t */\n\tpublic toJson(): ɵJsonObject {\n\t\treturn classToPlain(this, {\n\t\t\texposeUnsetFields: false,\n\t\t\texcludePrefixes: ['_'],\n\t\t});\n\t}\n\n\t/**\n\t * @internal\n\t */\n\tpublic abstract _getUsedColumns(): UsedColumn[];\n}\n","import { ɵBaseFilter } from './base-filter';\nimport { ɵJsonObject } from '../../../types';\nimport { ɵComparisonType, ɵFilterType } from '../enums';\nimport { IESQExpression } from '../expressions/esq-expression.inteface';\nimport { UsedColumn } from '../used-column';\n\n/**\n * @public\n * @generativeApi\n * @description Basic filter class with one condition.\n * @extends {ɵBaseFilter}\n */\nexport abstract class ɵSingleFilter extends ɵBaseFilter {\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static readonly _instanceOfKey: string = 'devkit_SingleFilter';\n\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static get _instanceOfKeys(): string[] {\n\t\treturn [...ɵBaseFilter._instanceOfKeys, this._instanceOfKey];\n\t}\n\n\t/**\n\t * @description Type of comparison operation.\n\t * this comparison type defines how the {@link #leftExpression} will be compared\n\t * with the value of the right expression.\n\t */\n\tpublic readonly comparisonType: ɵComparisonType;\n\n\t/**\n\t * @description expression that contains the value to be compared with the right expressions.\n\t */\n\tpublic readonly leftExpression: IESQExpression;\n\n\t/**\n\t * @description name of the entity schema, connected to the root schema of the filter.\n\t * Used, when one of the expressions uses a column from another schema.\n\t */\n\tpublic readonly referenceSchemaName?: string;\n\n\tprotected constructor(filterType: ɵFilterType, comparisonType: ɵComparisonType, leftExpression: IESQExpression) {\n\t\tsuper(filterType);\n\t\tthis.comparisonType = comparisonType;\n\t\tthis.leftExpression = leftExpression?.clone();\n\t}\n\n\t/** {@inheritDoc ɵSerializable.toJson} */\n\tpublic toJson(): ɵJsonObject {\n\t\treturn {\n\t\t\t...super.toJson(),\n\t\t\tleftExpression: this.serializeItem(this.leftExpression),\n\t\t};\n\t}\n\n\t/**\n\t * @internal\n\t */\n\tpublic _getUsedColumns(): UsedColumn[] {\n\t\treturn this.leftExpression._getUsedColumns();\n\t}\n}\n","import { ɵBaseFilterParser } from './filter-parser/base-filter-parser';\nimport { ɵSingleFilter } from './single-filter';\nimport { ɵJsonObject } from '../../../types/json-data.type';\nimport { ɵComparisonType, ɵFilterType } from '../enums';\nimport { ɵBaseExpression } from '../expressions/base-expression';\nimport { IESQExpression } from '../expressions/esq-expression.inteface';\nimport { ɵBaseExpressionParser } from '../expressions/expression-parser/base-expression-parser';\nimport { UsedColumn } from '../used-column';\n\n/**\n * @public\n * generativeApi\n * @description Filter class of the \"Between\" type.\n * It contains RightLessExpression and RightGreaterExpression,\n * which represent the boundaries of values for filtering.\n * @extends {ɵSingleFilter}\n */\nexport class ɵBetweenFilter extends ɵSingleFilter {\n\t/**\n\t * @description Type of filter.\n\t * @default 3\n\t * */\n\tpublic readonly filterType: 3 = ɵFilterType.Between;\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static readonly _instanceOfKey: string = 'devkit_BetweenFilter';\n\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static get _instanceOfKeys(): string[] {\n\t\treturn [...ɵSingleFilter._instanceOfKeys, this._instanceOfKey];\n\t}\n\n\t/**\n\t * @description The initial expression of the filtering range.\n\t */\n\tpublic readonly rightLessExpression: IESQExpression;\n\n\t/**\n\t * @description The final expression of the filtering range.\n\t */\n\tpublic readonly rightGreaterExpression: IESQExpression;\n\n\tconstructor(\n\t\tleftExpression: IESQExpression,\n\t\trightLessExpression: IESQExpression,\n\t\trightGreaterExpression: IESQExpression,\n\t) {\n\t\tsuper(ɵFilterType.Between, ɵComparisonType.Between, leftExpression);\n\t\tthis.rightLessExpression = rightLessExpression?.clone();\n\t\tthis.rightGreaterExpression = rightGreaterExpression?.clone();\n\t}\n\n\t/**\n\t * Parses filter from json.\n\t * @public\n\t */\n\tpublic static fromJson<\n\t\tTFilterParser extends typeof ɵBaseFilterParser,\n\t\tTExpressionParser extends typeof ɵBaseExpressionParser,\n\t>(dto: ɵJsonObject, filterParser: TFilterParser, expressionParser: TExpressionParser): ɵBetweenFilter {\n\t\tconst filter = new ɵBetweenFilter(\n\t\t\texpressionParser.fromJson(dto['leftExpression'] as ɵJsonObject, filterParser) as ɵBaseExpression,\n\t\t\texpressionParser.fromJson(dto['rightLessExpression'] as ɵJsonObject, filterParser) as ɵBaseExpression,\n\t\t\texpressionParser.fromJson(dto['rightGreaterExpression'] as ɵJsonObject, filterParser) as ɵBaseExpression,\n\t\t);\n\t\treturn filter;\n\t}\n\n\tpublic clone(): ɵBetweenFilter {\n\t\tconst filter = new ɵBetweenFilter(this.leftExpression, this.rightLessExpression, this.rightGreaterExpression);\n\t\tfilter.isEnabled = this.isEnabled;\n\t\tfilter.trimDateTimeParameterToDate = this.trimDateTimeParameterToDate;\n\t\treturn filter;\n\t}\n\n\tpublic toJson(): ɵJsonObject {\n\t\treturn {\n\t\t\t...super.toJson(),\n\t\t\trightLessExpression: this.serializeItem(this.rightLessExpression),\n\t\t\trightGreaterExpression: this.serializeItem(this.rightGreaterExpression),\n\t\t};\n\t}\n\n\t/**\n\t * @internal\n\t */\n\tpublic _getUsedColumns(): UsedColumn[] {\n\t\treturn [\n\t\t\t...super._getUsedColumns(),\n\t\t\t...this.rightLessExpression._getUsedColumns(),\n\t\t\t...this.rightGreaterExpression._getUsedColumns(),\n\t\t];\n\t}\n}\n","import { ɵBaseFilterParser } from './filter-parser/base-filter-parser';\nimport { ɵSingleFilter } from './single-filter';\nimport { ɵJsonObject } from '../../../types/json-data.type';\nimport { ɵComparisonType, ɵFilterType } from '../enums';\nimport { ɵBaseExpression } from '../expressions/base-expression';\nimport { IESQExpression } from '../expressions/esq-expression.inteface';\nimport { ɵBaseExpressionParser } from '../expressions/expression-parser/base-expression-parser';\nimport { UsedColumn } from '../used-column';\n\n/**\n * @public\n * @generativeApi\n * @description Filter class for comparing two expressions. leftExpression describes column from the schema,\n * by which the comparison is made, rightExpression describes the value to which the column is compared.\n * @extends {ɵSingleFilter}\n */\nexport class ɵCompareFilter extends ɵSingleFilter {\n\t/**\n\t * @description Type of filter.\n\t * @default 1\n\t */\n\tpublic readonly filterType: 1 = ɵFilterType.Compare;\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static readonly _instanceOfKey: string = 'devkit_CompareFilter';\n\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static get _instanceOfKeys(): string[] {\n\t\treturn [...ɵSingleFilter._instanceOfKeys, this._instanceOfKey];\n\t}\n\n\t/**\n\t * @description Filter expression. Right expression is used to compare values of column from the left expression\n\t */\n\tpublic readonly rightExpression: IESQExpression;\n\n\tconstructor(comparisonType: ɵComparisonType, leftExpression: IESQExpression, rightExpression: IESQExpression) {\n\t\tsuper(ɵFilterType.Compare, comparisonType, leftExpression);\n\t\tthis.rightExpression = rightExpression?.clone();\n\t}\n\n\t/**\n\t * Parses filter from json.\n\t * @public\n\t */\n\tpublic static fromJson<\n\t\tTFilterParser extends typeof ɵBaseFilterParser,\n\t\tTExpressionParser extends typeof ɵBaseExpressionParser,\n\t>(dto: ɵJsonObject, filterParser: TFilterParser, expressionParser: TExpressionParser): ɵCompareFilter {\n\t\tconst filter = new ɵCompareFilter(\n\t\t\tdto['comparisonType'] as ɵComparisonType,\n\t\t\texpressionParser.fromJson(dto['leftExpression'] as ɵJsonObject, filterParser) as ɵBaseExpression,\n\t\t\texpressionParser.fromJson(dto['rightExpression'] as ɵJsonObject, filterParser) as ɵBaseExpression,\n\t\t);\n\t\treturn filter;\n\t}\n\n\tpublic clone(): ɵCompareFilter {\n\t\tconst filter = new ɵCompareFilter(this.comparisonType, this.leftExpression, this.rightExpression);\n\t\tfilter.isEnabled = this.isEnabled;\n\t\tfilter.trimDateTimeParameterToDate = this.trimDateTimeParameterToDate;\n\t\treturn filter;\n\t}\n\n\tpublic toJson(): ɵJsonObject {\n\t\treturn {\n\t\t\t...super.toJson(),\n\t\t\trightExpression: this.serializeItem(this.rightExpression),\n\t\t};\n\t}\n\n\t/**\n\t * @internal\n\t */\n\tpublic _getUsedColumns(): UsedColumn[] {\n\t\treturn [...super._getUsedColumns(), ...this.rightExpression._getUsedColumns()];\n\t}\n}\n","// eslint-disable-next-line import/no-cycle\nimport { ɵFilterGroup } from './';\nimport { ɵBaseFilterParser } from './filter-parser/base-filter-parser';\nimport { ɵSingleFilter } from './single-filter';\nimport { ɵJsonObject } from '../../../types';\nimport { ɵComparisonType, ɵFilterType } from '../enums';\nimport { ɵBaseExpression } from '../expressions/base-expression';\nimport { IESQExpression } from '../expressions/esq-expression.inteface';\nimport { ɵBaseExpressionParser } from '../expressions/expression-parser/base-expression-parser';\nimport { UsedColumn } from '../used-column';\n\n/**\n * @public\n * @generativeApi\n * @description The comparison filter class [Exists according to the specified condition].\n * @extends {ɵSingleFilter}\n */\nexport class ɵExistsFilter extends ɵSingleFilter {\n\t/**\n\t * @description Type of filter.\n\t * @default 5\n\t */\n\tpublic readonly filterType: 5 = ɵFilterType.Exists;\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static readonly _instanceOfKey: string = 'devkit_ExistsFilter';\n\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static get _instanceOfKeys(): string[] {\n\t\treturn [...ɵSingleFilter._instanceOfKeys, this._instanceOfKey];\n\t}\n\n\t/**\n\t * @description Subquery filters. Cannot contain filters with other subqueries.\n\t * @hidden\n\t */\n\tpublic readonly subFilters?: ɵFilterGroup;\n\n\t/**\n\t * @description Indicates that the filter is aggregating.\n\t * @default true\n\t */\n\tpublic readonly isAggregative: boolean;\n\n\tconstructor(\n\t\tleftExpression: IESQExpression,\n\t\tsubFilters?: ɵFilterGroup,\n\t\tcomparisonType: ɵComparisonType = ɵComparisonType.Exists,\n\t\tisAggregative = true,\n\t) {\n\t\tsuper(ɵFilterType.Exists, comparisonType, leftExpression);\n\t\tthis.subFilters = subFilters?.clone();\n\t\tthis.isAggregative = isAggregative;\n\t}\n\n\t/**\n\t * Parses filter from json.\n\t * @public\n\t */\n\tpublic static fromJson<\n\t\tTFilterParser extends typeof ɵBaseFilterParser,\n\t\tTExpressionParser extends typeof ɵBaseExpressionParser,\n\t>(dto: ɵJsonObject, filterParser: TFilterParser, expressionParser: TExpressionParser): ɵExistsFilter {\n\t\tconst leftExpression = expressionParser.fromJson(\n\t\t\tdto['leftExpression'] as ɵJsonObject,\n\t\t\tfilterParser,\n\t\t) as ɵBaseExpression;\n\t\tconst subFiltersDto = dto['subFilters'] as ɵJsonObject;\n\t\tlet subFilters;\n\t\tif (subFiltersDto) {\n\t\t\tsubFilters = filterParser.fromJson(dto['subFilters'] as ɵJsonObject) as ɵFilterGroup;\n\t\t}\n\t\treturn new ɵExistsFilter(\n\t\t\tleftExpression,\n\t\t\tsubFilters,\n\t\t\tdto['comparisonType'] as ɵComparisonType,\n\t\t\tdto['isAggregative'] as boolean,\n\t\t);\n\t}\n\n\t/**\n\t * @public\n\t * @description Clones instance.\n\t */\n\tpublic clone(): ɵExistsFilter {\n\t\tconst filter = new ɵExistsFilter(this.leftExpression, this.subFilters, this.comparisonType, this.isAggregative);\n\t\tfilter.isEnabled = this.isEnabled;\n\t\tfilter.trimDateTimeParameterToDate = this.trimDateTimeParameterToDate;\n\t\treturn filter;\n\t}\n\n\t/** {@inheritDoc ɵSerializable.toJson} */\n\tpublic toJson(): ɵJsonObject {\n\t\tconst result = super.toJson();\n\t\tif (this.subFilters) {\n\t\t\tresult['subFilters'] = this.serializeItem(this.subFilters);\n\t\t}\n\t\treturn result;\n\t}\n\n\t/**\n\t * @internal\n\t */\n\tpublic _getUsedColumns(): UsedColumn[] {\n\t\treturn [...super._getUsedColumns(), ...(this.subFilters?._getUsedColumns() ?? [])];\n\t}\n}\n","import { ɵBaseFilterParser } from './filter-parser/base-filter-parser';\nimport { ɵSingleFilter } from './single-filter';\nimport { ɵJsonArray, ɵJsonObject } from '../../../types/json-data.type';\nimport { ɵComparisonType, ɵFilterType } from '../enums';\nimport { ɵBaseExpression } from '../expressions/base-expression';\nimport { IESQExpression } from '../expressions/esq-expression.inteface';\nimport { ɵBaseExpressionParser } from '../expressions/expression-parser/base-expression-parser';\nimport { UsedColumn } from '../used-column';\n\n/**\n * @public\n * @generativeApi\n * @description Filter that checks if the value of {@link #leftExpression} is satisfied\n * by each of expressions in the array of {@link #rightExpressions}.\n * @extends {ɵSingleFilter}\n */\nexport class ɵInFilter extends ɵSingleFilter {\n\t/**\n\t * @description Type of filter. 4 means filter of type \"In\".\n\t * @default 4\n\t */\n\tpublic readonly filterType: 4 = ɵFilterType.In;\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static readonly _instanceOfKey: string = 'devkit_InFilter';\n\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static get _instanceOfKeys(): string[] {\n\t\treturn [...ɵSingleFilter._instanceOfKeys, this._instanceOfKey];\n\t}\n\n\t/**\n\t * @description An array of expressions that will be compared with {@link #leftExpression}.\n\t */\n\tpublic readonly rightExpressions: IESQExpression[];\n\n\tconstructor(comparisonType: ɵComparisonType, leftExpression: IESQExpression, rightExpressions: IESQExpression[]) {\n\t\tsuper(ɵFilterType.In, comparisonType, leftExpression);\n\t\tthis.rightExpressions = rightExpressions.map((expression) => expression?.clone()) ?? [];\n\t}\n\n\t/**\n\t * @description Parses in filter from json.\n\t * @public\n\t */\n\tpublic static fromJson<\n\t\tTFilterParser extends typeof ɵBaseFilterParser,\n\t\tTExpressionParser extends typeof ɵBaseExpressionParser,\n\t>(dto: ɵJsonObject, filterParser: TFilterParser, expressionParser: TExpressionParser): ɵInFilter {\n\t\tconst dtoRightExpressions = (dto['rightExpressions'] ?? []) as ɵJsonArray;\n\t\treturn new ɵInFilter(\n\t\t\tdto['comparisonType'] as ɵComparisonType,\n\t\t\texpressionParser.fromJson(dto['leftExpression'] as ɵJsonObject, filterParser) as ɵBaseExpression,\n\t\t\tdtoRightExpressions.map(\n\t\t\t\t(expression) => expressionParser.fromJson(expression as ɵJsonObject, filterParser) as ɵBaseExpression,\n\t\t\t),\n\t\t);\n\t}\n\n\t/** {@inheritDoc ɵBaseFilter.clone} */\n\tpublic clone(): ɵInFilter {\n\t\tconst filter = new ɵInFilter(this.comparisonType, this.leftExpression, this.rightExpressions);\n\t\tfilter.isEnabled = this.isEnabled;\n\t\tfilter.trimDateTimeParameterToDate = this.trimDateTimeParameterToDate;\n\t\treturn filter;\n\t}\n\n\t/** {@inheritDoc ɵSerializable.toJson} */\n\tpublic toJson(): ɵJsonObject {\n\t\treturn {\n\t\t\t...super.toJson(),\n\t\t\trightExpressions: this.rightExpressions.map((expression) => this.serializeItem(expression)),\n\t\t};\n\t}\n\n\t/**\n\t * @internal\n\t */\n\tpublic _getUsedColumns(): UsedColumn[] {\n\t\tconst rightExpressionsUsedColumns = this.rightExpressions\n\t\t\t.map((expression) => expression._getUsedColumns())\n\t\t\t.flat();\n\t\treturn [...super._getUsedColumns(), ...rightExpressionsUsedColumns];\n\t}\n}\n","import { ɵBaseFilterParser } from './filter-parser/base-filter-parser';\nimport { ɵSingleFilter } from './single-filter';\nimport { ɵJsonObject } from '../../../types';\nimport { ɵComparisonType, ɵFilterType } from '../enums';\nimport { ɵBaseExpression } from '../expressions/base-expression';\nimport { IESQExpression } from '../expressions/esq-expression.inteface';\nimport { ɵBaseExpressionParser } from '../expressions/expression-parser/base-expression-parser';\n\n/**\n * @public\n * @generativeApi\n * @description Filter that checks if the value of {@link #leftExpression} equals to null or not.\n * @extends {ɵSingleFilter}\n */\nexport class ɵIsNullFilter extends ɵSingleFilter {\n\t/**\n\t * @description Type of filter.\n\t * @default 2\n\t */\n\tpublic readonly filterType: 2 = ɵFilterType.IsNull;\n\t/**\n\t * @description Flag that indicates if expression is empty or not.\n\t */\n\tpublic isNull = true;\n\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static readonly _instanceOfKey: string = 'devkit_IsNullFilter';\n\n\t/**\n\t * @internale\n\t * @dontChange\n\t */\n\tprotected static get _instanceOfKeys(): string[] {\n\t\treturn [...ɵSingleFilter._instanceOfKeys, this._instanceOfKey];\n\t}\n\n\tconstructor(comparisonType: ɵComparisonType.Is_null | ɵComparisonType.Is_not_null, leftExpression: IESQExpression) {\n\t\tif (![ɵComparisonType.Is_null, ɵComparisonType.Is_not_null].includes(comparisonType)) {\n\t\t\tconsole.warn(`Invalid comparison type: ${ɵComparisonType[comparisonType]} in IsNullFilter.`);\n\t\t}\n\t\tsuper(ɵFilterType.IsNull, ɵIsNullFilter._getComparisonType(comparisonType), leftExpression);\n\t\tthis.isNull = this.comparisonType === ɵComparisonType.Is_null;\n\t}\n\n\tprivate static _getComparisonType(\n\t\tcomparisonType: ɵComparisonType,\n\t): ɵComparisonType.Is_null | ɵComparisonType.Is_not_null {\n\t\treturn comparisonType === ɵComparisonType.Is_not_null ? comparisonType : ɵComparisonType.Is_null;\n\t}\n\n\t/**\n\t * @description Parses isNull filter from json.\n\t * @public\n\t */\n\tpublic static fromJson<\n\t\tTFilterParser extends typeof ɵBaseFilterParser,\n\t\tTExpressionParser extends typeof ɵBaseExpressionParser,\n\t>(dto: ɵJsonObject, filterParser: TFilterParser, expressionParser: TExpressionParser): ɵIsNullFilter {\n\t\treturn new ɵIsNullFilter(\n\t\t\tɵIsNullFilter._getComparisonType(dto['comparisonType'] as ɵComparisonType),\n\t\t\texpressionParser.fromJson(dto['leftExpression'] as ɵJsonObject, filterParser) as ɵBaseExpression,\n\t\t);\n\t}\n\n\t/** {@inheritDoc ɵBaseFilter.clone} */\n\tpublic clone(): ɵIsNullFilter {\n\t\tconst filter = new ɵIsNullFilter(ɵIsNullFilter._getComparisonType(this.comparisonType), this.leftExpression);\n\t\tfilter.isEnabled = this.isEnabled;\n\t\tfilter.trimDateTimeParameterToDate = this.trimDateTimeParameterToDate;\n\t\treturn filter;\n\t}\n}\n","/**\n * @generativeApi\n * @description Type for Guid value.\n * @public\n */\nexport type ɵGuid = string;\n\n/**\n * @public\n * @description Empty Guid constant.\n */\nexport const ɵEMPTY_GUID = '00000000-0000-0000-0000-000000000000';\n\n/**\n * @description Regular expression for Guid validation.\n * @public\n */\nconst validator = new RegExp('^[a-z0-9]{8}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{12}$', 'i');\n\n/**\n * @description Generates guid part.\n * @param length Part length.\n * @public\n */\nfunction generateGuidPart(length: number): string {\n\tlet out = '';\n\tfor (let i = 0; i < length; i++) {\n\t\t// eslint-disable-next-line no-bitwise\n\t\tout += (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);\n\t}\n\treturn out;\n}\n\n/**\n * @description Generates new Guid.\n * @public\n */\nexport function ɵgenerateGuid(): ɵGuid {\n\treturn [\n\t\tgenerateGuidPart(2),\n\t\tgenerateGuidPart(1),\n\t\tgenerateGuidPart(1),\n\t\tgenerateGuidPart(1),\n\t\tgenerateGuidPart(3),\n\t].join('-');\n}\n\n/**\n * @description Checks if value is Guid.\n * @param value Value for check.\n * @public\n */\nexport function ɵisGuid(value: unknown): boolean {\n\treturn Boolean(value) && validator.test(value as string);\n}\n\n/**\n * @description Checks if Guid is empty value or equal to EMPTY_GUID.\n * @param guid Guid for check.\n * @public\n */\nexport function ɵisEmptyGuid(guid: ɵGuid | undefined): boolean {\n\treturn !guid || guid === ɵEMPTY_GUID;\n}\n","/**\n * @public\n * @description An exception thrown when next handler already specified.\n */\nexport class ɵNextHandlerAlreadySpecifiedException extends Error {\n\tconstructor() {\n\t\tsuper('Next handler already specified');\n\t}\n}\n","/**\n * @public\n * @description The exception thrown when trying to pass an empty or null argument.\n * @extends {Error}\n */\nexport class ɵArgumentEmptyException extends Error {\n\t// region Constructors: Public\n\n\tconstructor(argumentName: string) {\n\t\tsuper(`Argument with name '${argumentName}' is empty.`);\n\t}\n\n\t// endregion\n}\n","/**\n * @public\n * @description The exception thrown when trying to pass argument that not in range.\n * @extends {Error}\n */\nexport class ɵArgumentOutOfRangeException extends Error {\n\t// region Constructors: Public\n\n\tconstructor(argumentName: string) {\n\t\tsuper(`Argument with name '${argumentName}' is out of range.`);\n\t}\n\n\t// endregion\n}\n","/**\n * @public\n * @description An exception thrown when trying to retrieve a collection item and it not exists.\n * @extends {Error}\n */\nexport class ɵItemNotFoundException extends Error {\n\t// region Constructors: Public\n\n\tconstructor(key: string) {\n\t\tsuper(`Item with key '${key}' does not exist.`);\n\t}\n\n\t// endregion\n}\n","import { ɵArgumentEmptyException } from './argument-empty-exception';\nimport { ɵArgumentOutOfRangeException } from './argument-out-of-range-exception';\n\n/**\n * @public\n * @description Utilities class with various validation methods.\n */\nexport class ɵValidationUtilities {\n\t// region Methods: Public\n\n\t/**\n\t * @public\n\t * @description Checks if argument is empty.\n\t * @param argumentName - Argument name.\n\t * @param argumentValue - Value of argument.\n\t */\n\tpublic static checkArgumentEmpty<T>(\n\t\targumentName: string,\n\t\targumentValue: T | null | undefined,\n\t): asserts argumentValue is T {\n\t\tif (argumentValue === undefined || argumentValue === null) {\n\t\t\tthrow new ɵArgumentEmptyException(argumentName);\n\t\t}\n\t}\n\n\t/**\n\t * @public\n\t * @description Checks if array is empty.\n\t * @param argumentName - Argument name.\n\t * @param argumentValue - Value of argument.\n\t */\n\tpublic static checkArrayEmpty<T>(argumentName: string, argumentValue: ArrayLike<T>): void {\n\t\tɵValidationUtilities.checkArgumentEmpty(argumentName, argumentValue);\n\t\tif (argumentValue.length === 0) {\n\t\t\tthrow new ɵArgumentEmptyException(argumentName);\n\t\t}\n\t}\n\n\t/**\n\t * @public\n\t * @description Checks if string is empty.\n\t * @param argumentName - Argument name.\n\t * @param argumentValue - Value of argument.\n\t */\n\tpublic static checkStringIsNotEmpty(argumentName: string, argumentValue: string): string {\n\t\tthis.checkArgumentEmpty(argumentName, argumentValue);\n\t\tif (argumentValue === '') {\n\t\t\tthrow new ɵArgumentEmptyException(argumentName);\n\t\t}\n\t\treturn argumentValue;\n\t}\n\n\t/**\n\t * @public\n\t * @description Checks if argument in range.\n\t * @param argumentName - Argument name.\n\t * @param argumentValue - Value of argument.\n\t * @param range - Range.\n\t */\n\tpublic static checkArgumentOutOfRange(\n\t\targumentName: string,\n\t\targumentValue: number,\n\t\trange: { begin?: number; end?: number },\n\t): void {\n\t\tif (range.begin && argumentValue < range.begin) {\n\t\t\tthrow new ɵArgumentOutOfRangeException(argumentName);\n\t\t}\n\t\tif (range.end && argumentValue > range.end) {\n\t\t\tthrow new ɵArgumentOutOfRangeException(argumentName);\n\t\t}\n\t}\n\n\tpublic static checkEnumOutOfRange(\n\t\targumentName: string,\n\t\targumentValue: string,\n\t\trange: Record<string, unknown> | unknown,\n\t): void {\n\t\tif (!range || !Object.values(range).includes(argumentValue)) {\n\t\t\tthrow new ɵArgumentOutOfRangeException(argumentName);\n\t\t}\n\t}\n\n\t// endregion\n}\n","import { Exclude, Expose } from 'class-transformer';\n\nimport { ɵBaseFilter } from './base-filter';\nimport { ɵBetweenFilter } from './between-filter';\nimport { ɵCompareFilter } from './compare-filter';\nimport type { IESQFilter } from './esq-filter.interface';\n// eslint-disable-next-line import/no-cycle\nimport { ɵExistsFilter } from './exists-filter';\nimport { ɵBaseFilterParser } from './filter-parser/base-filter-parser';\nimport { ɵInFilter } from './in-filter';\nimport { ɵIsNullFilter } from './isnull-filter';\nimport { ɵEntityColumnValue, ɵgenerateGuid, ɵGuid, ɵJsonObject } from '../../../../public/types';\nimport { ɵValidationUtilities } from '../../../exceptions';\nimport { ɵComparisonType } from '../enums/comparison-type.enum';\nimport { ɵFilterType } from '../enums/filter-type.enum';\nimport { ɵLogicalOperatorType } from '../enums/logical-operator-type.enum';\nimport { ɵQueryMacrosType } from '../enums/query-macros-type.enum';\nimport { ɵColumnExpression } from '../expressions/columns/column-expression';\nimport { ɵMacrosFunctionExpression } from '../expressions/functions/macros-function-expression';\nimport { ɵParameterExpression } from '../expressions/parameters/parameter-expression';\nimport { UsedColumn } from '../used-column';\n\n/**\n * @public\n * this interface is created, because JSON schema generation does not support getters\n * @generativeApi\n * @description Group of filters. Usually one, or several filters, combined with a logical operation (And, Or).\n * Groups of filters can be nested into each other,\n * i.e. The collection itself can be an element of another collection.\n * @extends {ɵBaseFilter}\n */\nexport type IFilterGroup = ɵBaseFilter & {\n\t/**\n\t * @description Type of filter. 6 means that this is a filter group.\n\t * @default 6\n\t */\n\treadonly filterType: ɵFilterType.FilterGroup;\n\t/**\n\t * @description Returns collection of child filters or filter groups.\n\t * Each item is a key-value pair,\n\t * where the key is autogenerated or user-defined name, and value - filter or a filter group\n\t */\n\titems: Record<string, IESQFilter>;\n\n\t/**\n\t * @description The type of the logical operation for a combination of filters in this filter group.\n\t */\n\tlogicalOperation: ɵLogicalOperatorType;\n\n\t/**\n\t * @description Root entity schema name or table name.\n\t */\n\trootSchemaName?: string;\n};\n\n/**\n * @public\n * @description Group of filters. Groups of filters can be nested into each other,\n * i.e. The collection itself can be an element of another collection.\n * @extends {ɵBaseFilter}\n */\nexport class ɵFilterGroup extends ɵBaseFilter implements IFilterGroup {\n\t/**\n\t * @description Type of filter.\n\t * @default 6\n\t */\n\tpublic readonly filterType = ɵFilterType.FilterGroup;\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static readonly _instanceOfKey: string = 'devkit_FilterGroup';\n\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static get _instanceOfKeys(): string[] {\n\t\treturn [...ɵBaseFilter._instanceOfKeys, this._instanceOfKey];\n\t}\n\n\t/**\n\t * @public\n\t * @hidden\n\t * @description Collection of child filters.\n\t */\n\t@Exclude()\n\tpublic filters = new Map<ɵGuid, ɵBaseFilter>();\n\n\t/**\n\t * @public\n\t * @description Returns collection of child filters or filter groups.\n\t * Each item is a key-value pair,\n\t * where the key is autogenerated or user-defined name, and value - filter or a filter group\n\t * @default {}\n\t */\n\t@Expose()\n\tpublic get items(): { [key: string]: ɵBaseFilter } {\n\t\tconst result = {};\n\t\tthis.filters.forEach((filter, key) => {\n\t\t\tresult[key] = this.serializeItem(filter);\n\t\t});\n\t\treturn result;\n\t}\n\n\t/**\n\t * @description The type of the logical operation for a combination of filters in this filter group.\n\t * @default 0\n\t */\n\tpublic logicalOperation: ɵLogicalOperatorType;\n\t/**\n\t * @description Root schema name.\n\t */\n\tpublic rootSchemaName?: string;\n\n\tconstructor(logicalOperation = ɵLogicalOperatorType.And, rootSchemaName?: string) {\n\t\tsuper(ɵFilterType.FilterGroup);\n\t\tthis.logicalOperation = logicalOperation;\n\t\tthis.rootSchemaName = rootSchemaName;\n\t}\n\n\t/**\n\t * @public\n\t * @description Parses filter group from json.\n\t */\n\tpublic static fromJson<T extends typeof ɵBaseFilterParser>(dto: ɵJsonObject, filterParser: T): ɵFilterGroup {\n\t\tconst logicalOperation = dto['logicalOperation'] as ɵLogicalOperatorType;\n\t\tconst group = new ɵFilterGroup(logicalOperation || ɵLogicalOperatorType.And, dto['rootSchemaName'] as string);\n\t\tObject.entries(dto['items'] as ɵJsonObject).forEach(([key, filterDTO]) => {\n\t\t\tgroup.add(filterParser.fromJson(filterDTO as ɵJsonObject) as ɵBaseFilter, key);\n\t\t});\n\t\treturn group;\n\t}\n\n\t/** {@inheritDoc ɵSerializable.toJson} */\n\tpublic toJson(): ɵJsonObject {\n\t\tconst result = {};\n\t\tresult['filterType'] = this.filterType;\n\t\tresult['isEnabled'] = this.isEnabled;\n\t\tresult['logicalOperation'] = this.logicalOperation;\n\t\tresult['trimDateTimeParameterToDate'] = this.trimDateTimeParameterToDate;\n\t\tresult['items'] = this.items;\n\t\tif (this.rootSchemaName) {\n\t\t\tresult['rootSchemaName'] = this.rootSchemaName;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprivate _createParameterValueExpressions(values: ɵEntityColumnValue[]): ɵParameterExpression[] {\n\t\treturn values.map(\n\t\t\t(value) =>\n\t\t\t\tnew ɵParameterExpression({\n\t\t\t\t\tvalue: value,\n\t\t\t\t}),\n\t\t);\n\t}\n\n\t/**\n\t * @public\n\t * @description Returns filter item by index.\n\t * @param index Item index.\n\t * @returns Filter.\n\t */\n\tpublic getItemByIndex(index: number): ɵBaseFilter {\n\t\treturn this.items[Object.keys(this.items)[index]];\n\t}\n\n\t/**\n\t * @public\n\t * @description Creates and adds compare filter by value.\n\t * @param comparisonType Comparison type.\n\t * @param columnPath Column path.\n\t * @param parameterValue Parameter value.\n\t * @param filterKey Filter key.\n\t */\n\tpublic addSchemaColumnFilterWithParameter(\n\t\tcomparisonType: ɵComparisonType,\n\t\tcolumnPath: string,\n\t\tparameterValue: ɵEntityColumnValue,\n\t\tfilterKey?: string,\n\t): void {\n\t\tconst leftExpression = new ɵColumnExpression({ columnPath });\n\t\tconst rightExpression = new ɵParameterExpression({ value: parameterValue });\n\t\tconst filter = new ɵCompareFilter(comparisonType, leftExpression, rightExpression);\n\t\tthis.add(filter, filterKey);\n\t}\n\n\t/**\n\t * @public\n\t * @description Creates and adds in filter by values.\n\t * @param comparisonType Comparison type.\n\t * @param columnPath Column path.\n\t * @param parameterValues Parameter values.\n\t * @param filterKey Filter key.\n\t */\n\tpublic addSchemaColumnInFilterWithParameters(\n\t\tcomparisonType: ɵComparisonType,\n\t\tcolumnPath: string,\n\t\tparameterValues: ɵEntityColumnValue[],\n\t\tfilterKey?: string,\n\t): void {\n\t\tconst leftExpression = new ɵColumnExpression({ columnPath });\n\t\tconst expressions = this._createParameterValueExpressions(parameterValues);\n\t\tconst filter = new ɵInFilter(comparisonType, leftExpression, expressions);\n\t\tthis.add(filter, filterKey);\n\t}\n\n\t/**\n\t * @public\n\t * @description Creates and adds in filter for primary column.\n\t * @param primaryColumnValues Primary column values.\n\t * @param filterKey Filter key.\n\t */\n\tpublic addPrimarySchemaColumnInFilter(primaryColumnValues: ɵEntityColumnValue[], filterKey?: string): void {\n\t\tconst leftExpression = new ɵMacrosFunctionExpression({ macrosType: ɵQueryMacrosType.PrimaryColumn });\n\t\tconst expressions = this._createParameterValueExpressions(primaryColumnValues);\n\t\tconst filter = new ɵInFilter(ɵComparisonType.Equal, leftExpression, expressions);\n\t\tthis.add(filter, filterKey);\n\t}\n\n\t/**\n\t * @public\n\t * @description Creates and adds null filter.\n\t * @param columnPath Path of column.\n\t * @param filterKey Filter key.\n\t */\n\tpublic addSchemaColumnIsNullFilter(columnPath: string, filterKey?: string): void {\n\t\tconst leftExpression = new ɵColumnExpression({ columnPath });\n\t\tconst filter = new ɵIsNullFilter(ɵComparisonType.Is_null, leftExpression);\n\t\tthis.add(filter, filterKey);\n\t}\n\n\t/**\n\t * @public\n\t * @description Creates and adds not null filter.\n\t * @param columnPath Column path.\n\t * @param filterKey Filter key.\n\t */\n\tpublic addSchemaColumnIsNotNullFilter(columnPath: string, filterKey?: string): void {\n\t\tconst leftExpression = new ɵColumnExpression({ columnPath });\n\t\tconst filter = new ɵIsNullFilter(ɵComparisonType.Is_not_null, leftExpression);\n\t\tthis.add(filter, filterKey);\n\t}\n\n\t/**\n\t * @public\n\t * @description Creates and adds filter between less value and greater value.\n\t * @param columnPath Column path.\n\t * @param lessParamValue Less parameter value.\n\t * @param greaterParamValue Greater parameter value.\n\t * @param filterKey Filter key.\n\t */\n\tpublic addSchemaColumnBetweenFilterWithParameters(\n\t\tcolumnPath: string,\n\t\tlessParamValue: Date | number,\n\t\tgreaterParamValue: Date | number,\n\t\tfilterKey?: string,\n\t): void {\n\t\tconst leftExpression = new ɵColumnExpression({ columnPath });\n\t\tconst rightLessExpression = new ɵParameterExpression({ value: lessParamValue });\n\t\tconst rightGreaterExpression = new ɵParameterExpression({ value: greaterParamValue });\n\t\tconst filter = new ɵBetweenFilter(leftExpression, rightLessExpression, rightGreaterExpression);\n\t\tthis.add(filter, filterKey);\n\t}\n\n\t/**\n\t * @public\n\t * @description Creates and adds exists filter.\n\t * @param columnPath Column path.\n\t * @param subFilters Filters for exists expression.\n\t * @param filterKey Filter key.\n\t */\n\tpublic addExistsFilter(columnPath: string, subFilters?: ɵFilterGroup, filterKey?: string): void {\n\t\tconst leftExpression = new ɵColumnExpression({ columnPath });\n\t\tconst filter = new ɵExistsFilter(leftExpression, <ɵFilterGroup>subFilters);\n\t\tthis.add(filter, filterKey);\n\t}\n\n\t/**\n\t * @public\n\t * @description Creates and adds not exists filter.\n\t * @param columnPath Column path.\n\t * @param subFilters Filters for exist expression.\n\t * @param filterKey Filter key.\n\t */\n\tpublic addNotExistsFilter(columnPath: string, subFilters?: ɵFilterGroup, filterKey?: string): void {\n\t\tconst leftExpression = new ɵColumnExpression({ columnPath });\n\t\tconst filter = new ɵExistsFilter(leftExpression, <ɵFilterGroup>subFilters, ɵComparisonType.Not_exists);\n\t\tthis.add(filter, filterKey);\n\t}\n\n\t/**\n\t * @public\n\t * @description Adds filter.\n\t * @param filter Instance of filter.\n\t * @param filterKey Filter key.\n\t */\n\tpublic add(filter: ɵBaseFilter, filterKey?: string): void {\n\t\tɵValidationUtilities.checkArgumentEmpty('filter', filter);\n\t\tconst key = filterKey || ɵgenerateGuid();\n\t\tthis.filters.set(key, filter);\n\t}\n\n\t/**\n\t * @public\n\t * @description Clones instance.\n\t */\n\tpublic clone(): ɵFilterGroup {\n\t\tconst filterGroup = new ɵFilterGroup(this.logicalOperation, this.rootSchemaName);\n\t\tthis.filters.forEach((filter, filterKey) => {\n\t\t\tfilterGroup.filters.set(filterKey, filter.clone());\n\t\t});\n\t\tfilterGroup.isEnabled = this.isEnabled;\n\t\tfilterGroup.trimDateTimeParameterToDate = this.trimDateTimeParameterToDate;\n\t\treturn filterGroup;\n\t}\n\n\t/**\n\t * @internal\n\t */\n\tpublic _getUsedColumns(): UsedColumn[] {\n\t\tconst result: UsedColumn[] = [];\n\t\tthis.filters.forEach((filter) => {\n\t\t\tlet filterUsedColumns = filter._getUsedColumns ? filter._getUsedColumns() : [];\n\t\t\tfilterUsedColumns = filterUsedColumns.map((usedColumn) => ({\n\t\t\t\tpath: usedColumn.path,\n\t\t\t\tschemaName: usedColumn.schemaName ?? this.rootSchemaName,\n\t\t\t}));\n\t\t\tresult.push(...filterUsedColumns);\n\t\t});\n\t\treturn result;\n\t}\n}\n","import { ɵJsonObject as JsonObject } from '../../../../types/json-data.type';\nimport { ɵExpressionType as ExpressionType } from '../../enums';\nimport { ɵFilterGroup as FilterGroup } from '../../filters/filter-group';\nimport { ɵBaseFilterParser as BaseFilterParser } from '../../filters/filter-parser/base-filter-parser';\nimport { UsedColumn } from '../../used-column';\nimport { ɵBaseExpression as BaseExpression, ɵExpressionConfig as ExpressionConfig } from '../base-expression';\n\n/**\n * @public\n * @description Configuration for sub query expression.\n */\nexport type ɵSubQueryExpressionConfig = ExpressionConfig<ɵSubQueryExpression> & Pick<ɵSubQueryExpression, 'columnPath'>;\n\n/**\n * @public\n * @description The class that defines the sub query expression.\n * @extends {ɵBaseExpression}\n */\nexport class ɵSubQueryExpression extends BaseExpression {\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static readonly _instanceOfKey: string = 'devkit_SubQueryExpression';\n\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static get _instanceOfKeys(): string[] {\n\t\treturn [...BaseExpression._instanceOfKeys, this._instanceOfKey];\n\t}\n\n\t/**\n\t * @description Type of expression.\n\t */\n\tpublic readonly expressionType: ExpressionType = ExpressionType.SubQuery;\n\n\t/**\n\t * @description The path to the column is relative to root schema.\n\t */\n\tpublic columnPath: string;\n\n\t/**\n\t * @description Sub-query filters. Can not contain filters with other sub-queries.\n\t */\n\tpublic readonly subFilters: FilterGroup;\n\n\t/**\n\t * @description Order direction.\n\t */\n\tpublic readonly subOrderDirection?: number;\n\n\t/**\n\t * @description Column for order.\n\t */\n\tpublic readonly subOrderColumn?: string;\n\n\tconstructor(config: ɵSubQueryExpressionConfig) {\n\t\tsuper(config);\n\t\tthis.columnPath = config?.columnPath;\n\t\tconst subFilters = <FilterGroup>config?.subFilters;\n\t\tif (typeof subFilters?.clone === 'function') {\n\t\t\tthis.subFilters = subFilters.clone();\n\t\t} else if (subFilters) {\n\t\t\tthis.subFilters = new FilterGroup(subFilters.logicalOperation, subFilters.rootSchemaName);\n\t\t\tthis.subFilters.isEnabled = subFilters.isEnabled;\n\t\t\tObject.entries(subFilters.items).forEach(([key, filter]) => {\n\t\t\t\tthis.subFilters.add(filter, key);\n\t\t\t});\n\t\t} else {\n\t\t\tthis.subFilters = subFilters;\n\t\t}\n\t\tthis.subOrderDirection = config.subOrderDirection;\n\t\tthis.subOrderColumn = config.subOrderColumn;\n\t}\n\n\t/**\n\t * Parses expression from json.\n\t * @public\n\t */\n\tpublic static fromJson<TFilterParser extends typeof BaseFilterParser>(\n\t\tdto: JsonObject,\n\t\tfilterParser: TFilterParser,\n\t): ɵSubQueryExpression {\n\t\tconst expression = new ɵSubQueryExpression({\n\t\t\tcolumnPath: dto['columnPath'] as string,\n\t\t\tsubFilters: filterParser.fromJson(dto['subFilters'] as JsonObject) as FilterGroup,\n\t\t\tsubOrderDirection: dto['subOrderDirection'] as number,\n\t\t\tsubOrderColumn: dto['subOrderColumn'] as string,\n\t\t});\n\t\treturn expression;\n\t}\n\n\t/** {@inheritDoc ɵBaseExpression.clone} */\n\tpublic clone(): ɵSubQueryExpression {\n\t\treturn new ɵSubQueryExpression(this);\n\t}\n\n\t/** {@inheritDoc ɵBaseExpression.toJson} */\n\tpublic toJson(): JsonObject {\n\t\tconst result = super.toJson();\n\t\tif (this.subFilters) {\n\t\t\tresult['subFilters'] = this.serializeItem(this.subFilters);\n\t\t}\n\t\treturn result;\n\t}\n\n\t/**\n\t * @internal\n\t */\n\tpublic _getUsedColumns(): UsedColumn[] {\n\t\treturn [\n\t\t\t{\n\t\t\t\tpath: this.columnPath,\n\t\t\t},\n\t\t\t...(this.subFilters?._getUsedColumns() ?? []),\n\t\t];\n\t}\n}\n","import { ɵSubQueryExpression, ɵSubQueryExpressionConfig } from './sub-query-expression';\nimport { ɵAggregationType } from '../../../../../public/enums';\nimport { ɵJsonObject } from '../../../../types/json-data.type';\nimport { ɵFunctionType } from '../../enums';\nimport { ɵBaseFilterParser } from '../../filters/filter-parser/base-filter-parser';\n\n/**\n * @public\n * @description Configuration for aggregation in sub query expression.\n */\nexport type ɵAggregationSubQueryExpressionConfig = ɵSubQueryExpressionConfig &\n\tPick<ɵAggregationSubQueryExpression, 'aggregationType'> &\n\tPick<ɵAggregationSubQueryExpression, 'functionType'>;\n\n/**\n * @public\n * @description A class that describes expression with aggregation sub query.\n * @extends {ɵSubQueryExpression}\n */\nexport class ɵAggregationSubQueryExpression extends ɵSubQueryExpression {\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static readonly _instanceOfKey: string = 'devkit_AggregationSubQueryExpression';\n\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static get _instanceOfKeys(): string[] {\n\t\treturn [...ɵSubQueryExpression._instanceOfKeys, this._instanceOfKey];\n\t}\n\n\t/**\n\t * @description Aggregation type.\n\t */\n\tpublic readonly aggregationType: ɵAggregationType;\n\t/**\n\t * @description Function type.\n\t */\n\tpublic readonly functionType?: ɵFunctionType;\n\n\tconstructor(config: ɵAggregationSubQueryExpressionConfig) {\n\t\tsuper(config);\n\t\tthis.aggregationType = config?.aggregationType;\n\t\tthis.functionType = config?.functionType;\n\t}\n\n\t/**\n\t * Parses expression from json.\n\t * @public\n\t */\n\tpublic static fromJson<TFilterParser extends typeof ɵBaseFilterParser>(\n\t\tdto: ɵJsonObject,\n\t\tfilterParser: TFilterParser,\n\t): ɵAggregationSubQueryExpression {\n\t\tconst subQueryExpression = super.fromJson(dto, filterParser) as ɵSubQueryExpression;\n\t\tconst expression = new ɵAggregationSubQueryExpression({\n\t\t\taggregationType: dto['aggregationType'] as ɵAggregationType,\n\t\t\tfunctionType: dto['functionType'] as ɵFunctionType,\n\t\t\t...subQueryExpression,\n\t\t});\n\t\treturn expression;\n\t}\n\n\t/** {@inheritDoc ɵBaseExpression.clone} */\n\tpublic clone(): ɵAggregationSubQueryExpression {\n\t\treturn new ɵAggregationSubQueryExpression(this);\n\t}\n}\n","import { ɵJsonObject } from '../../../../types';\nimport { ɵExpressionType } from '../../enums/expression-type.enum';\nimport { ɵFunctionType } from '../../enums/function-type.enum';\nimport { ɵArithmeticExpression } from '../arithmetic';\nimport { ɵBaseExpression } from '../base-expression';\nimport { ɵColumnExpression } from '../columns/column-expression';\nimport {\n\tɵDatePartFunctionExpression,\n\tɵLengthFunctionExpression,\n\tɵMacrosFunctionExpression,\n\tɵWindowFunctionExpression,\n} from '../functions';\nimport { ɵParameterExpression } from '../parameters/parameter-expression';\nimport { ɵAggregationSubQueryExpression } from '../sub-queries/aggregation-sub-query-expression';\n\n/**\n * @public\n * @description Function expression resolver.\n */\nclass FunctionExpressionResolver {\n\tpublic static resolve(dto: ɵJsonObject): typeof ɵBaseExpression {\n\t\tconst expressionClass = {\n\t\t\t[ɵFunctionType.Macros]: ɵMacrosFunctionExpression,\n\t\t\t[ɵFunctionType.Length]: ɵLengthFunctionExpression,\n\t\t\t[ɵFunctionType.Window]: ɵWindowFunctionExpression,\n\t\t\t[ɵFunctionType.DatePart]: ɵDatePartFunctionExpression,\n\t\t\t[ɵFunctionType.DateAdd]: ɵDatePartFunctionExpression,\n\t\t\t[ɵFunctionType.DateDiff]: ɵDatePartFunctionExpression,\n\t\t};\n\t\treturn expressionClass[dto['functionType'] as ɵFunctionType];\n\t}\n}\n\n/**\n * @description Expression resolver.\n * @public\n */\nexport class ɵExpressionResolver {\n\t/**\n\t * @public\n\t * @description Resolves class of expression.\n\t * @param expressionType - Type of expression.\n\t * @param dto - Serialized object.\n\t * @return Class of expression.\n\t */\n\tpublic static resolve(expressionType: ɵExpressionType, dto: ɵJsonObject): typeof ɵBaseExpression {\n\t\tconst expressionClass = {\n\t\t\t[ɵExpressionType.SchemaColumn]: ɵColumnExpression,\n\t\t\t[ɵExpressionType.Parameter]: ɵParameterExpression,\n\t\t\t[ɵExpressionType.SubQuery]: ɵAggregationSubQueryExpression,\n\t\t\t[ɵExpressionType.ArithmeticOperation]: ɵArithmeticExpression,\n\t\t\t[ɵExpressionType.Function]: FunctionExpressionResolver.resolve(dto),\n\t\t};\n\t\treturn expressionClass[expressionType];\n\t}\n}\n","import { ɵBaseExpressionParser } from './base-expression-parser';\nimport { ɵExpressionResolver } from './expression-resolver';\nimport { ɵJsonObject } from '../../../../types/json-data.type';\nimport { ɵExpressionType } from '../../enums/expression-type.enum';\nimport { ɵBaseFilterParser } from '../../filters/filter-parser/base-filter-parser';\nimport { ɵBaseExpression } from '../base-expression';\n\n/**\n * @public\n * @description Expression parser.\n * @extends {ɵBaseExpressionParser}\n */\nexport class ɵExpressionParser extends ɵBaseExpressionParser {\n\t/**\n\t * @public\n\t * @description Parses expression from json.\n\t */\n\tpublic static fromJson(dto: ɵJsonObject, filterParser: typeof ɵBaseFilterParser): ɵBaseExpression {\n\t\tconst expressionType = dto['expressionType'] as ɵExpressionType;\n\t\treturn ɵExpressionResolver.resolve(expressionType, dto).fromJson(dto, filterParser, ɵExpressionParser);\n\t}\n}\n","import { classToPlain } from 'class-transformer';\n\nimport { ɵExpressionType } from '../../enums';\nimport { UsedColumn } from '../../used-column';\nimport { ɵBaseExpression, ɵExpressionConfig } from '../base-expression';\n\n/**\n * @internal\n */\nexport const ɵEXPRESSION_TYPE_MOCK: ɵExpressionType = 0;\n\nexport class ɵExpressionMock extends ɵBaseExpression {\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static readonly _instanceOfKey: string = 'devkit_ExpressionMock';\n\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static get _instanceOfKeys(): string[] {\n\t\treturn [...ɵBaseExpression._instanceOfKeys, this._instanceOfKey];\n\t}\n\n\tpublic readonly expressionType: ɵExpressionType = ɵEXPRESSION_TYPE_MOCK;\n\n\tconstructor(config?: ɵExpressionConfig<ɵExpressionMock>) {\n\t\tsuper(config || {});\n\t}\n\n\t// eslint-disable-next-line @typescript-eslint/ban-types\n\tpublic get plainObject(): object {\n\t\treturn classToPlain(this, { exposeUnsetFields: false, excludePrefixes: ['_'] });\n\t}\n\n\tpublic clone(): ɵExpressionMock {\n\t\treturn new ɵExpressionMock(this);\n\t}\n\n\t/**\n\t * @internal\n\t */\n\tpublic _getUsedColumns(): UsedColumn[] {\n\t\treturn [];\n\t}\n}\n","import { classToPlain } from 'class-transformer';\n\nimport { ɵFilterType } from '../../enums';\nimport { UsedColumn } from '../../used-column';\nimport { ɵBaseFilter } from '../base-filter';\n\nexport class ɵFilterMock extends ɵBaseFilter {\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static readonly _instanceOfKey: string = 'devkit_FilterMock';\n\n\t/**\n\t * @internal\n\t * @dontChange\n\t */\n\tprotected static get _instanceOfKeys(): string[] {\n\t\treturn [...ɵBaseFilter._instanceOfKeys, this._instanceOfKey];\n\t}\n\n\tconstructor(filterType: ɵFilterType = ɵFilterType.None) {\n\t\tsuper(filterType);\n\t}\n\n\t// eslint-disable-next-line @typescript-eslint/ban-types\n\tpublic get plainObject(): object {\n\t\treturn classToPlain(this, { exposeUnsetFields: false, excludePrefixes: ['_'] });\n\t}\n\n\tpublic clone(): ɵFilterMock {\n\t\treturn new ɵFilterMock(this.filterType);\n\t}\n\n\t/**\n\t * @internal\n\t */\n\tpublic _getUsedColumns(): UsedColumn[] {\n\t\treturn [];\n\t}\n}\n","/**\n * @internal\n */\nexport const ɵparserMock = {\n\tfromJson: (data) => ({\n\t\t...data,\n\t\tclone: () => data,\n\t}),\n\tclone: () => this,\n};\n","import { ɵJsonObject } from '../../../../types/json-data.type';\n\n/**\n * @public\n * @description Filter parser interface.\n */\nexport class ɵBaseFilterParser {\n\t/**\n\t * @description Creates filter from JSON.\n\t * @param dto - Serialized filter.\n\t * @return Instance of filter.\n\t */\n\tpublic static fromJson(dto: ɵJsonObject): unknown {\n\t\tthrow new Error('not implemented');\n\t}\n}\n","import { ɵFilterType } from '../../enums/filter-type.enum';\nimport { ɵBaseFilter } from '../base-filter';\nimport { ɵBetweenFilter } from '../between-filter';\nimport { ɵCompareFilter } from '../compare-filter';\nimport { ɵExistsFilter } from '../exists-filter';\nimport { ɵFilterGroup } from '../filter-group';\nimport { ɵInFilter } from '../in-filter';\nimport { ɵIsNullFilter } from '../isnull-filter';\n\n/**\n * @public\n * @description Filter resolver.\n */\nexport class ɵFilterResolver {\n\t/**\n\t * @public\n\t * @description Resolves class of filter.\n\t * @param filterType - Type of filter.\n\t * @return Class of filter.\n\t */\n\tpublic static resolve(filterType: ɵFilterType): typeof ɵBaseFilter {\n\t\tconst filterClass = {\n\t\t\t[ɵFilterType.Compare]: ɵCompareFilter,\n\t\t\t[ɵFilterType.FilterGroup]: ɵFilterGroup,\n\t\t\t[ɵFilterType.In]: ɵInFilter,\n\t\t\t[ɵFilterType.IsNull]: ɵIsNullFilter,\n\t\t\t[ɵFilterType.Exists]: ɵExistsFilter,\n\t\t\t[ɵFilterType.Between]: ɵBetweenFilter,\n\t\t};\n\t\treturn filterClass[filterType];\n\t}\n}\n","import { ɵBaseFilterParser } from './base-filter-parser';\nimport { ɵFilterResolver } from './filter-resolver';\nimport { ɵJsonObject } from '../../../../types';\nimport { ɵFilterType } from '../../enums';\nimport { ɵExpressionParser } from '../../expressions/expression-parser/expression-parser';\nimport { ɵBaseFilter } from '../base-filter';\n\n/**\n * @public\n * @description Filter parser.\n */\nexport class ɵFilterParser extends ɵBaseFilterParser {\n\t/**\n\t * @description Creates filter from JSON.\n\t * @param dto - Serialized filter.\n\t */\n\tpublic static fromJson(dto: ɵJsonObject): ɵBaseFilter {\n\t\tconst filterType = dto['filterType'] as ɵFilterType;\n\t\tconst isEnabled = dto['isEnabled'] as boolean;\n\t\tconst trimDateTimeParameterToDate = dto['trimDateTimeParameterToDate'] as boolean;\n\t\tconst filter = ɵFilterResolver.resolve(filterType).fromJson(dto, ɵFilterParser, ɵExpressionParser);\n\t\tfilter.isEnabled = isEnabled !== false;\n\t\tfilter.trimDateTimeParameterToDate = trimDateTimeParameterToDate === true;\n\t\treturn filter;\n\t}\n}\n","/**\n * @internal\n */\nexport const ɵDEFAULT_FILTER_PLAIN_OBJ: object = {\n\tisEnabled: true,\n\ttrimDateTimeParameterToDate: false,\n};\n\n/**\n * @internal\n */\nexport function ɵgetFilterPlainObj(filterPlainObj?: object): object {\n\treturn {\n\t\t...ɵDEFAULT_FILTER_PLAIN_OBJ,\n\t\t...filterPlainObj,\n\t};\n}\n","/* Do not enable this rule because of issue https://github.com/vega/ts-json-schema-generator/issues/1531 */\n/* eslint-disable @typescript-eslint/no-inferrable-types */\nimport { instanceToPlain } from 'class-transformer';\n\nimport { ɵValidationUtilities } from '../../../../public/exceptions';\nimport { ɵJsonObject } from '../../../types';\nimport { ɵOrderDirection } from '../enums';\nimport { ɵBaseExpression } from '../expressions';\nimport { UsedColumn } from '../used-column';\n\n/**\n * @public\n * @abstract\n * @generativeApi\n * @classdesc Class contains info about column for query.\n */\nexport abstract class ɵBaseQueryColumn<TExpression extends ɵBaseExpression = ɵBaseExpression> {\n\t/**\n\t * @description Order direction.\n\t */\n\tpublic orderDirection: ɵOrderDirection = ɵOrderDirection.None;\n\t/**\n\t * @description Column order position.\n\t */\n\tpublic orderPosition: number = -1;\n\t/**\n\t * @description If true then column data will be present in the result set.\n\t */\n\tpublic isVisible: boolean = true;\n\t/**\n\t * @description Column caption.\n\t */\n\tpublic caption?: string;\n\t/**\n\t * @description Column expression.\n\t */\n\tpublic readonly expression: TExpression;\n\n\tprotected constructor(expression: TExpression) {\n\t\tthis.expression = expression;\n\t}\n\n\t/**\n\t * Adds ordering options.\n\t * @param orderDirection Direction.\n\t * @param orderPosition Position.\n\t * @returns Self.\n\t */\n\tpublic withOrdering(orderDirection: ɵOrderDirection, orderPosition: number): this {\n\t\tɵValidationUtilities.checkArgumentEmpty('orderDirection', orderDirection);\n\t\tɵValidationUtilities.checkArgumentEmpty('orderPosition', orderPosition);\n\t\tɵValidationUtilities.checkArgumentOutOfRange('orderPosition', orderPosition, { begin: -1 });\n\t\tthis.orderDirection = orderDirection;\n\t\tthis.orderPosition = orderPosition;\n\t\treturn this;\n\t}\n\n\t/**\n\t * Adds options.\n\t * @param options Options.\n\t * @returns Self.\n\t */\n\tpublic withOptions(options: { isVisible?: boolean }): this {\n\t\tɵValidationUtilities.checkArgumentEmpty('options', options);\n\t\tthis.isVisible = options.isVisible ?? true;\n\t\treturn this;\n\t}\n\n\t/**\n\t * Adds caption.\n\t * @param caption Caption.\n\t * @returns Self.\n\t */\n\tpublic withCaption(caption: string): this {\n\t\tɵValidationUtilities.checkArgumentEmpty('caption', caption);\n\t\tthis.caption = caption;\n\t\treturn this;\n\t}\n\n\t/**\n\t * @internal\n\t */\n\tpublic _getUsedColumns(): UsedColumn[] {\n\t\treturn this.expression._getUsedColumns();\n\t}\n\n\t/**\n\t * @internal\n\t * @description Converts instance to json object.\n\t */\n\tpublic toJson(): ɵJsonObject {\n\t\treturn instanceToPlain(this, {\n\t\t\texposeUnsetFields: false,\n\t\t\texcludePrefixes: ['_'],\n\t\t});\n\t}\n}\n","import { ɵArithmeticOperation } from '../../enums';\nimport { ɵArithmeticExpression, ɵBaseExpression } from '../../expressions';\nimport { ɵBaseQueryColumn } from '../base-query-column';\n\n/**\n * @public\n * @classdesc Class contains info about column with arithmetic operation.\n * @extends {ɵBaseQueryColumn}\n */\nexport class ɵArithmeticQueryColumn extends ɵBaseQueryColumn<ɵArithmeticExpression> {\n\t// region Constructors: Public\n\n\tconstructor(\n\t\tarithmeticOperation: ɵArithmeticOperation,\n\t\tleftArithmeticOperand: ɵBaseExpression,\n\t\trightArithmeticOperand: ɵBaseExpression,\n\t) {\n\t\tsuper(new ɵArithmeticExpression({ arithmeticOperation, leftArithmeticOperand, rightArithmeticOperand }));\n\t}\n\n\t// endregion\n}\n","import { ɵColumnExpression } from '../../expressions';\nimport { ɵBaseQueryColumn } from '../base-query-column';\n\n/**\n * @public\n * @generativeApi\n * @classdesc Class contains info about common column from entity.\n * @extends {ɵBaseQueryColumn}\n */\nexport class ɵEntityQueryColumn extends ɵBaseQueryColumn<ɵColumnExpression> {\n\t// region Constructors: Public\n\n\tconstructor(columnPath: string) {\n\t\tsuper(new ɵColumnExpression({ columnPath }));\n\t}\n\n\t// endregion\n}\n","import { ɵDataValueType } from '../../../../../public/enums';\nimport { ɵEntityColumnValue } from '../../../../../public/types';\nimport { ɵParameterExpression } from '../../expressions';\nimport { ɵBaseQueryColumn } from '../base-query-column';\n\n/**\n * @public\n * @classdesc Class contains info about column that contains parameter.\n * @extends {ɵBaseQueryColumn}\n */\nexport class ɵParameterQueryColumn extends ɵBaseQueryColumn<ɵParameterExpression> {\n\t// region Constructors: Public\n\n\tconstructor(value: ɵEntityColumnValue, dataValueType?: ɵDataValueType) {\n\t\tsuper(new ɵParameterExpression({ value, dataValueType }));\n\t}\n\n\t// endregion\n}\n","import { ɵAggregationType } from '../../../../../public/enums';\nimport { ɵAggregationSubQueryExpression } from '../../expressions';\nimport { ɵFilterGroup } from '../../filters';\nimport { ɵBaseQueryColumn } from '../base-query-column';\n\n/**\n * @public\n * @classdesc Class contains info about column with sub query and aggregation.\n * @extends {ɵBaseQueryColumn}\n */\nexport class ɵAggregationSubQueryColumn extends ɵBaseQueryColumn<ɵAggregationSubQueryExpression> {\n\t// region Constructors: Public\n\n\tconstructor(\n\t\tcolumnPath: string,\n\t\taggregationType: ɵAggregationType,\n\t\tsubFilters?: ɵFilterGroup,\n\t\tsubOrderDirection?: number,\n\t\tsubOrderColumn?: string,\n\t) {\n\t\tsuper(\n\t\t\tnew ɵAggregationSubQueryExpression({\n\t\t\t\taggregationType,\n\t\t\t\tcolumnPath,\n\t\t\t\tsubFilters,\n\t\t\t\tsubOrderDirection,\n\t\t\t\tsubOrderColumn,\n\t\t\t}),\n\t\t);\n\t}\n\n\t// endregion\n}\n","import { ɵSubQueryExpression } from '../../expressions';\nimport { ɵFilterGroup } from '../../filters';\nimport { ɵBaseQueryColumn } from '../base-query-column';\n\n/**\n * @public\n * @classdesc Class contains info about column with sub query.\n * @extends {ɵBaseQueryColumn}\n */\nexport class ɵSubQueryColumn extends ɵBaseQueryColumn<ɵSubQueryExpression> {\n\t// region Constructors: Public\n\n\tconstructor(columnPath: string, subFilters?: ɵFilterGroup) {\n\t\tsuper(new ɵSubQueryExpression({ columnPath, subFilters }));\n\t}\n\n\t// endregion\n}\n","import { ɵAggregationType } from '../../../../../public/enums';\nimport { ɵAggregationEvalType } from '../../enums';\nimport { ɵAggregationFunctionExpression, ɵColumnExpression } from '../../expressions';\nimport { ɵBaseQueryColumn } from '../base-query-column';\n\n/**\n * @public\n * @description Class contains info about column with aggregation function.\n * @extends {ɵBaseQueryColumn}\n */\nexport class ɵAggregationFunctionColumn extends ɵBaseQueryColumn<ɵAggregationFunctionExpression> {\n\t// region Constructors: Public\n\n\tconstructor(\n\t\taggregationType: ɵAggregationType,\n\t\taggregationEvalType: ɵAggregationEvalType,\n\t\tfunctionArgument: ɵColumnExpression,\n\t) {\n\t\tsuper(\n\t\t\tnew ɵAggregationFunctionExpression({\n\t\t\t\taggregationType,\n\t\t\t\taggregationEvalType,\n\t\t\t\tfunctionArgument,\n\t\t\t}),\n\t\t);\n\t}\n\n\t// endregion\n}\n","import { ɵDatePartType } from '../../enums';\nimport { ɵBaseExpression, ɵDatePartFunctionExpression } from '../../expressions';\nimport { ɵBaseQueryColumn } from '../base-query-column';\n\n/**\n * @public\n * @generativeApi\n * @classdesc Class contains info about column with date part.\n * @description Class contains info about column with date part.\n * @extends {ɵBaseQueryColumn}\n */\nexport class ɵDatePartFunctionColumn extends ɵBaseQueryColumn<ɵDatePartFunctionExpression> {\n\t// region Constructors: Public\n\n\tconstructor(datePartType: ɵDatePartType, functionArgument: ɵBaseExpression) {\n\t\tsuper(\n\t\t\tnew ɵDatePartFunctionExpression({\n\t\t\t\tdatePartType,\n\t\t\t\tfunctionArgument,\n\t\t\t}),\n\t\t);\n\t}\n\n\t// endregion\n\n\t// region Properties: Public\n\n\t/**\n\t * @description Part of date.\n\t */\n\tpublic get datePartType(): ɵDatePartType {\n\t\treturn this.expression?.datePartType;\n\t}\n\n\t// endregion\n}\n","import { ɵColumnExpression, ɵLengthFunctionExpression } from '../../expressions';\nimport { ɵBaseQueryColumn } from '../base-query-column';\n\n/**\n * @public\n * @classdesc Class contains info about column with length function.\n * @extends {ɵBaseQueryColumn}\n */\nexport class ɵLengthFunctionColumn extends ɵBaseQueryColumn<ɵLengthFunctionExpression> {\n\t// region Constructors: Public\n\n\tconstructor(functionArgument: ɵColumnExpression) {\n\t\tsuper(new ɵLengthFunctionExpression({ functionArgument }));\n\t}\n\n\t// endregion\n}\n","import { ɵQueryMacrosType } from '../../enums';\nimport { ɵMacrosFunctionExpression } from '../../expressions';\nimport { ɵBaseQueryColumn } from '../base-query-column';\n\n/**\n * @public\n * @classdesc Class contains info about column with macros function.\n * @extends {ɵBaseQueryColumn}\n */\nexport class ɵMacrosFunctionColumn extends ɵBaseQueryColumn<ɵMacrosFunctionExpression> {\n\t// region Constructors: Public\n\n\tconstructor(macrosType: ɵQueryMacrosType) {\n\t\tsuper(new ɵMacrosFunctionExpression({ macrosType }));\n\t}\n\n\t// endregion\n}\n","import { ɵAggregationFunctionExpression, ɵWindowFunctionExpression } from '../../expressions';\nimport { ɵBaseQueryColumn } from '../base-query-column';\n\n/**\n * @public\n * @classdesc Class contains info about column with window function.\n * @extends {ɵBaseQueryColumn}\n */\nexport class ɵWindowFunctionColumn extends ɵBaseQueryColumn<ɵWindowFunctionExpression> {\n\t// region Constructors: Public\n\n\tconstructor(functionArgument: ɵAggregationFunctionExpression) {\n\t\tsuper(new ɵWindowFunctionExpression({ functionArgument }));\n\t}\n\n\t// endregion\n}\n","import { ɵOrderDirection } from '../enums';\n\n/**\n * @internal\n */\nexport const ɵDEFAULT_COLUMN_PLAIN_OBJ: object = {\n\tisVisible: true,\n\torderPosition: -1,\n\torderDirection: ɵOrderDirection.None,\n};\n\n/**\n * @internal\n */\nexport function ɵgetColumnPlainObj(expressionPlainObj?: object): object {\n\treturn {\n\t\t...ɵDEFAULT_COLUMN_PLAIN_OBJ,\n\t\texpression: expressionPlainObj,\n\t};\n}\n","import { Exclude, Expose, instanceToPlain } from 'class-transformer';\n\nimport { ɵQueryOperationType } from './query-operation-type';\nimport { ɵValidationUtilities } from '../../../exceptions';\nimport { ɵMetadataProvider } from '../metadata-provider/metadata-provider';\n\n/**\n * @public\n * @description The base class of the data request. Implements {@link ɵMetadataProvider}\n */\nexport abstract class ɵBaseQuery implements ɵMetadataProvider<Record<string, unknown>> {\n\tpublic queryId?: string;\n\n\t@Exclude()\n\t/**\n\t * @internal\n\t */\n\tprotected _queryDtoType!: string;\n\n\t@Expose({ name: '__type' })\n\t/**\n\t * @internal\n\t */\n\tpublic get queryDtoType(): string {\n\t\treturn this._queryDtoType;\n\t}\n\n\tprotected constructor(public readonly operationType: ɵQueryOperationType, public readonly rootSchemaName: string) {\n\t\tɵValidationUtilities.checkArgumentEmpty('_operationType', operationType);\n\t\tɵValidationUtilities.checkArgumentEmpty('_rootSchemaName', rootSchemaName);\n\t}\n\n\t/** {@inheritDoc ɵMetadataProvider.getMetadata} */\n\tpublic getMetadata(): Record<string, unknown> {\n\t\treturn instanceToPlain(this, { exposeUnsetFields: false, excludePrefixes: ['_'] });\n\t}\n}\n","import { Exclude } from 'class-transformer';\n\nimport { ɵBaseQuery } from './base-query';\nimport { ɵQueryOperationType } from './query-operation-type';\nimport { ɵFilterGroup } from '../filters/filter-group';\nimport { UsedColumn } from '../used-column';\n\n/**\n * @public\n * @description The base class of the filtered data request.\n * @extends {ɵBaseQuery}\n */\nexport abstract class ɵBaseFilterableQuery extends ɵBaseQuery {\n\t/**\n\t * @description Collection of filters.\n\t */\n\t@Exclude()\n\tpublic readonly filters = new ɵFilterGroup();\n\n\tprotected constructor(operationType: ɵQueryOperationType, rootSchemaName: string) {\n\t\tsuper(operationType, rootSchemaName);\n\t}\n\n\t/**\n\t * @public\n\t * @description Clears all filters.\n\t */\n\tpublic clearFilters(): void {\n\t\tthis.filters.filters.clear();\n\t}\n\n\t/** {@inheritDoc ɵMetadataProvider.getMetadata} */\n\tpublic getMetadata(): Record<string, unknown> {\n\t\treturn {\n\t\t\t...super.getMetadata(),\n\t\t\tfilters: this.filters.toJson(),\n\t\t};\n\t}\n\n\t/**\n\t * @internal\n\t */\n\tpublic _getUsedColumns(): UsedColumn[] {\n\t\tconst usedColumns = this.filters._getUsedColumns();\n\t\tusedColumns.forEach((usedColumn) => {\n\t\t\tif (!usedColumn.schemaName) {\n\t\t\t\tusedColumn.schemaName = this.rootSchemaName;\n\t\t\t}\n\t\t});\n\t\treturn usedColumns;\n\t}\n}\n","/**\n * @public\n * @description Type of data query\n */\nexport enum ɵQueryOperationType {\n\t/**\n\t * @description Select query.\n\t */\n\tSelect,\n\t/**\n\t * @description Insert query.\n\t */\n\tInsert,\n\t/**\n\t * @description Edit query.\n\t */\n\tUpdate,\n\t/**\n\t * @description Delete query.\n\t */\n\tDelete,\n\t// Batch,\n\t// ListSelect,\n\t// FilteredSelect,\n\t// LookupSelect\n}\n","import { ɵBaseFilterableQuery } from './base-filterable-query';\nimport { ɵQueryOperationType } from './query-operation-type';\n\n/**\n * @public\n * @description Request to delete data.\n * @extends {ɵBaseFilterableQuery}\n */\nexport class ɵDeleteQuery extends ɵBaseFilterableQuery {\n\t/**\n\t * @internal\n\t */\n\tprotected _queryDtoType = 'Terrasoft.Nui.ServiceModel.DataContract.DeleteQuery';\n\n\tconstructor(rootSchemaName: string) {\n\t\tsuper(ɵQueryOperationType.Delete, rootSchemaName);\n\t}\n}\n","import { classToPlain } from 'class-transformer';\n\nimport { ɵBaseFilterableQuery } from './base-filterable-query';\nimport { ɵQueryOperationType } from './query-operation-type';\nimport { ɵAggregationType, ɵDataValueType } from '../../../enums';\nimport { ɵItemNotFoundException, ɵValidationUtilities } from '../../../exceptions';\nimport { ɵDataSourceAggregationConfig } from '../../../services/model/data-source-aggregation-config';\nimport { ɵEntityColumnValue } from '../../../types';\nimport {\n\tɵAggregationFunctionColumn,\n\tɵAggregationSubQueryColumn,\n\tɵArithmeticQueryColumn,\n\tɵBaseQueryColumn,\n\tɵDatePartFunctionColumn,\n\tɵEntityQueryColumn,\n\tɵLengthFunctionColumn,\n\tɵMacrosFunctionColumn,\n\tɵParameterQueryColumn,\n\tɵWindowFunctionColumn,\n} from '../columns';\nimport {\n\teAdminUnitRoleSources,\n\tɵAggregationEvalType,\n\tɵArithmeticOperation,\n\tɵDatePartType,\n\tɵExpressionType,\n\tɵQueryMacrosType,\n} from '../enums';\nimport { ɵAggregationFunctionExpression, ɵBaseExpression, ɵColumnExpression } from '../expressions';\nimport { ɵFilterGroup } from '../filters';\nimport { UsedColumn } from '../used-column';\n\n/**\n * @public\n * @description Interface for condition with expression and parameter.\n * @property {ɵExpressionType} expressionType - Type of expression.\n * @property {Record<string, unknown>=} parameter - Parameter.\n */\nexport interface ɵConditionalValueItem {\n\t/**\n\t * @description Type of expression.\n\t */\n\texpressionType: ɵExpressionType;\n\t/**\n\t * @description Parameter.\n\t */\n\tparameter: {\n\t\tdataValueType: ɵDataValueType;\n\t\tvalue: string;\n\t};\n}\n\n/**\n * @public\n * @description The query class for data fetching.\n * @extends {ɵBaseFilterableQuery}\n */\nexport class ɵEntitySchemaQuery extends ɵBaseFilterableQuery {\n\tprivate _columns = new Map<string, ɵBaseQueryColumn>();\n\t/**\n\t * @internal\n\t */\n\tprotected _queryDtoType = 'Terrasoft.Nui.ServiceModel.DataContract.SelectQuery';\n\n\t/**\n\t * @description Determines if merge duplicates in query result.\n\t */\n\tpublic isDistinct = false;\n\n\t/**\n\t * @description Number of rows to select.\n\t */\n\tpublic rowCount = -1;\n\n\t/**\n\t * @description Rows count to skip.\n\t */\n\tpublic rowsOffset = -1;\n\n\t/**\n\t * @description Query conditional values\n\t */\n\tpublic conditionalValues?: null | { items: unknown };\n\n\t/**\n\t * @description The parameter that determines whether to use the localized data.\n\t */\n\tpublic useLocalization = true;\n\n\t/**\n\t * @description Represent parameter which determines disabling data in filtering.\n\t */\n\tpublic useRecordDeactivation = false;\n\n\t/**\n\t * @description Bit mask that indicates which role sources will be considered when checking record rights.\n\t */\n\tpublic adminUnitRoleSources?: eAdminUnitRoleSources;\n\n\t/**\n\t * @description Indicates whether the query is hierarchical.\n\t */\n\tpublic isHierarchical = false;\n\n\t/**\n\t * @description Maximum depth of hierarchical data retrieval.\n\t */\n\tpublic hierarchicalMaxDepth?: number = 0;\n\n\t/**\n\t * @description Name of the hierarchical column.\n\t */\n\tpublic hierarchicalColumnName?: string;\n\n\t/**\n\t * @description Value of the hierarchical column.\n\t */\n\tpublic hierarchicalColumnValue?: string;\n\n\t/**\n\t * @description Indicates whether to perform a full data load for hierarchical queries.\n\t */\n\tpublic hierarchicalFullDataLoad?: boolean = false;\n\n\t/**\n\t * @description Filters applied to hierarchical parent records.\n\t */\n\tpublic hierarchicalColumnFiltersValue? = new ɵFilterGroup();\n\n\tconstructor(rootSchemaName: string) {\n\t\tsuper(ɵQueryOperationType.Select, rootSchemaName);\n\t}\n\n\tprivate _internalAddColumn(key: string, column: ɵBaseQueryColumn): void {\n\t\tif (!this._columns.has(key)) {\n\t\t\tthis._columns.set(key, column);\n\t\t}\n\t}\n\n\tprivate _getIsPageable = (): boolean => this.rowCount > 0 && this.rowsOffset > -1;\n\n\t/**\n\t * @public\n\t * @description Returns column instance by column alias.\n\t * @param columnAlias Column alias.\n\t * @returns [BaseQueryColumn] Column instance.\n\t */\n\tpublic getColumn(columnAlias: string): ɵBaseQueryColumn {\n\t\tif (!this._columns.has(columnAlias)) {\n\t\t\tthrow new ɵItemNotFoundException(columnAlias);\n\t\t}\n\t\treturn this.findColumn(columnAlias);\n\t}\n\n\t/**\n\t * @public\n\t * @description Returns column instance by column alias if not found returns null.\n\t */\n\tpublic findColumn(columnAlias: string): ɵBaseQueryColumn {\n\t\treturn this._columns.get(columnAlias) as ɵBaseQueryColumn;\n\t}\n\n\t/** {@inheritDoc ɵMetadataProvider.getMetadata} */\n\tpublic getMetadata(): Record<string, unknown> {\n\t\treturn {\n\t\t\t...super.getMetadata(),\n\t\t\tcolumns: {\n\t\t\t\titems: classToPlain(this._columns, { exposeUnsetFields: false, excludePrefixes: ['_'] }),\n\t\t\t},\n\t\t\tallColumns: false,\n\t\t\tisDistinct: this.isDistinct,\n\t\t\tignoreDisplayValues: false,\n\t\t\trowCount: this.rowCount,\n\t\t\trowsOffset: this.rowsOffset,\n\t\t\tadminUnitRoleSources: this.adminUnitRoleSources,\n\t\t\tisPageable: this._getIsPageable(),\n\t\t\tconditionalValues: this.conditionalValues ? this.conditionalValues : null,\n\t\t\tisHierarchical: this.isHierarchical,\n\t\t\thierarchicalMaxDepth: this.hierarchicalMaxDepth,\n\t\t\thierarchicalColumnName: this.hierarchicalColumnName,\n\t\t\thierarchicalColumnValue: this.hierarchicalColumnValue,\n\t\t\thierarchicalFullDataLoad: this.hierarchicalFullDataLoad,\n\t\t\tuseLocalization: this.useLocalization,\n\t\t\tuseRecordDeactivation: this.useRecordDeactivation,\n\t\t};\n\t}\n\n\t/**\n\t * @public\n\t * @description Add column.\n\t * @param column Column path.\n\t * @param columnAlias Column alias.\n\t * @returns [BaseQueryColumn] Column instance.\n\t */\n\tpublic addColumn(column: ɵBaseQueryColumn, columnAlias: string): ɵBaseQueryColumn {\n\t\tthis._internalAddColumn(columnAlias, column);\n\t\treturn column;\n\t}\n\n\t/**\n\t * @public\n\t * @description Add column by column path.\n\t * @param columnPath Column path.\n\t * @param columnAlias Column alias.\n\t * @returns [EntityQueryColumn] Column instance.\n\t */\n\tpublic addSchemaColumn(columnPath: string, columnAlias?: string): ɵEntityQueryColumn {\n\t\tɵValidationUtilities.checkArgumentEmpty('columnPath', columnPath);\n\t\tconst column = new ɵEntityQueryColumn(columnPath);\n\t\tthis._internalAddColumn(columnAlias || columnPath, column);\n\t\treturn column;\n\t}\n\n\t/**\n\t * @public\n\t * @description Add aggregation sub query column.\n\t * @param columnPath Column path.\n\t * @param aggregationType Aggregation type.\n\t * @param subFilters Sub query filters.\n\t * @param columnAlias Column alias.\n\t * @returns [AggregationSubQueryColumn] Column instance.\n\t */\n\tpublic addAggregationSubQueryColumn(\n\t\tcolumnPath: string,\n\t\taggregationType: ɵAggregationType,\n\t\taggregationConfig: ɵDataSourceAggregationConfig,\n\t\tcolumnAlias?: string,\n\t): ɵAggregationSubQueryColumn {\n\t\tconst column = new ɵAggregationSubQueryColumn(\n\t\t\tcolumnPath,\n\t\t\taggregationType,\n\t\t\taggregationConfig.filter,\n\t\t\taggregationConfig.sortByDirection,\n\t\t\taggregationConfig.sortByColumn,\n\t\t);\n\t\tthis._internalAddColumn(columnAlias || columnPath, column);\n\t\treturn column;\n\t}\n\n\t/**\n\t * @public\n\t * @description Add parameter column.\n\t * @param value Parameter value.\n\t * @param dataValueType Parameter data value type.\n\t * @param columnAlias Column alias.\n\t * @returns [ParameterQueryColumn] Column instance.\n\t */\n\tpublic addParameterColumn(\n\t\tvalue: ɵEntityColumnValue,\n\t\tdataValueType: ɵDataValueType,\n\t\tcolumnAlias: string,\n\t): ɵParameterQueryColumn {\n\t\tconst column = new ɵParameterQueryColumn(value, dataValueType);\n\t\tthis._internalAddColumn(columnAlias, column);\n\t\treturn column;\n\t}\n\n\t/**\n\t * @public\n\t * @description Add arithmetic column.\n\t * @param arithmeticOperation Arithmetic operation.\n\t * @param leftArithmeticOperand Left arithmetic operand expression.\n\t * @param rightArithmeticOperand Right arithmetic operand expression.\n\t * @param columnAlias Column alias.\n\t * @returns [ArithmeticQueryColumn] Column instance.\n\t */\n\tpublic addArithmeticColumn(\n\t\tarithmeticOperation: ɵArithmeticOperation,\n\t\tleftArithmeticOperand: ɵBaseExpression,\n\t\trightArithmeticOperand: ɵBaseExpression,\n\t\tcolumnAlias: string,\n\t): ɵArithmeticQueryColumn {\n\t\tconst column = new ɵArithmeticQueryColumn(arithmeticOperation, leftArithmeticOperand, rightArithmeticOperand);\n\t\tthis._internalAddColumn(columnAlias, column);\n\t\treturn column;\n\t}\n\n\t/**\n\t * @public\n\t * @description Add macros function column.\n\t * @param queryMacrosType Macros type.\n\t * @param columnAlias Column alias.\n\t * @returns [MacrosFunctionColumn] Column instance.\n\t */\n\tpublic addMacrosFunctionColumn(queryMacrosType: ɵQueryMacrosType, columnAlias: string): ɵMacrosFunctionColumn {\n\t\tconst column = new ɵMacrosFunctionColumn(queryMacrosType);\n\t\tthis._internalAddColumn(columnAlias, column);\n\t\treturn column;\n\t}\n\n\t/**\n\t * @public\n\t * @description Add date part function column.\n\t * @param columnPath Column path.\n\t * @param datePartType Date part type.\n\t * @param columnAlias Column alias.\n\t * @returns [DatePartFunctionColumn] Column instance.\n\t */\n\tpublic addDatePartFunctionColumn(\n\t\tcolumnPath: string,\n\t\tdatePartType: ɵDatePartType,\n\t\tcolumnAlias: string,\n\t): ɵDatePartFunctionColumn {\n\t\tconst functionArgument = new ɵColumnExpression({ columnPath });\n\t\tconst column = new ɵDatePartFunctionColumn(datePartType, functionArgument);\n\t\tthis._internalAddColumn(columnAlias, column);\n\t\treturn column;\n\t}\n\n\t/**\n\t * @public\n\t * @description Add aggregation function column.\n\t * @param columnPath Column path.\n\t * @param aggregationType Aggregation type.\n\t * @param columnAlias Column alias.\n\t * @param aggregationEvalType Aggregation eval type.\n\t * @returns [AggregationFunctionColumn] Column instance.\n\t */\n\tpublic addAggregationFunctionColumn(\n\t\tcolumnPath: string,\n\t\taggregationType: ɵAggregationType,\n\t\tcolumnAlias: string,\n\t\taggregationEvalType: ɵAggregationEvalType = ɵAggregationEvalType.None,\n\t): ɵAggregationFunctionColumn {\n\t\tconst functionArgument = new ɵColumnExpression({ columnPath });\n\t\tconst column = new ɵAggregationFunctionColumn(aggregationType, aggregationEvalType, functionArgument);\n\t\tthis._internalAddColumn(columnAlias, column);\n\t\treturn column;\n\t}\n\n\t/**\n\t * @public\n\t * @description Add length function column.\n\t * @param columnPath Column path.\n\t * @param columnAlias Column alias.\n\t * @returns [LengthFunctionColumn] Column instance.\n\t */\n\tpublic addLengthFunctionColumn(columnPath: string, columnAlias: string): ɵLengthFunctionColumn {\n\t\tconst functionArgument = new ɵColumnExpression({ columnPath });\n\t\tconst column = new ɵLengthFunctionColumn(functionArgument);\n\t\tthis._internalAddColumn(columnAlias, column);\n\t\treturn column;\n\t}\n\n\t/**\n\t * @public\n\t * @description Add window function column.\n\t * @param columnPath Column path.\n\t * @param aggregationType Aggregation type.\n\t * @param columnAlias Column alias.\n\t * @param aggregationEvalType Aggregation eval type.\n\t * @returns [WindowFunctionColumn] Column instance.\n\t */\n\tpublic addWindowFunctionColumn(\n\t\tcolumnPath: string,\n\t\taggregationType: ɵAggregationType,\n\t\tcolumnAlias: string,\n\t\taggregationEvalType: ɵAggregationEvalType = ɵAggregationEvalType.None,\n\t): ɵWindowFunctionColumn {\n\t\tconst functionArgument = new ɵAggregationFunctionExpression({\n\t\t\taggregationType,\n\t\t\taggregationEvalType,\n\t\t\tfunctionArgument: new ɵColumnExpression({ columnPath }),\n\t\t});\n\t\tconst column = new ɵWindowFunctionColumn(functionArgument);\n\t\tthis._internalAddColumn(columnAlias, column);\n\t\treturn column;\n\t}\n\n\t/**\n\t * @internal\n\t */\n\tpublic _getUsedColumns(): UsedColumn[] {\n\t\tconst usedColumns: UsedColumn[] = [];\n\t\tthis._columns.forEach((column) => {\n\t\t\tusedColumns.push(...column._getUsedColumns());\n\t\t});\n\t\tusedColumns.forEach((usedColumn) => {\n\t\t\tif (!usedColumn.schemaName) {\n\t\t\t\tusedColumn.schemaName = this.rootSchemaName;\n\t\t\t}\n\t\t});\n\t\treturn [...usedColumns, ...super._getUsedColumns()];\n\t}\n}\n","import { classToPlain, Expose } from 'class-transformer';\n\nimport { ɵBaseQuery } from './base-query';\nimport { ɵQueryOperationType } from './query-operation-type';\nimport { ɵDataValueType } from '../../../enums';\nimport { ɵValidationUtilities } from '../../../exceptions';\nimport { ɵEntityColumnValue } from '../../../types';\nimport { ɵParameterExpression } from '../expressions';\n\n/**\n * @public\n * @description Request to insert data.\n */\nexport class ɵInsertQuery extends ɵBaseQuery {\n\tprivate _columnValues = new Map<string, ɵParameterExpression>();\n\t/**\n\t * @internal\n\t */\n\tprotected _queryDtoType = 'Terrasoft.Nui.ServiceModel.DataContract.InsertQuery';\n\n\tconstructor(rootSchemaName: string) {\n\t\tsuper(ɵQueryOperationType.Insert, rootSchemaName);\n\t}\n\n\t/**\n\t * @description A collection of column values for updating entities.\n\t */\n\t@Expose()\n\tpublic get columnValues(): { items: { [key: string]: ɵParameterExpression } } {\n\t\treturn {\n\t\t\titems: classToPlain(this._columnValues),\n\t\t};\n\t}\n\n\t/**\n\t * @public\n\t * @description Adds the value parameter. An instance of the value-parameter is created and\n\t * is added to the column values collection.\n\t * @param columnName The alias of the column to set value in\n\t * @param columnValue The value of the parameter. The value must match the data type.\n\t * @param dataValueType The type of the given parameter value.\n\t */\n\tpublic addColumn(columnName: string, columnValue: ɵEntityColumnValue, dataValueType: ɵDataValueType): void {\n\t\tɵValidationUtilities.checkArgumentEmpty('columnName', columnName);\n\t\tthis._columnValues.set(columnName, new ɵParameterExpression({ value: columnValue, dataValueType }));\n\t}\n}\n","import { classToPlain, Expose } from 'class-transformer';\n\nimport { ɵBaseFilterableQuery } from './base-filterable-query';\nimport { ɵQueryOperationType } from './query-operation-type';\nimport { ɵDataValueType } from '../../../enums';\nimport { ɵValidationUtilities } from '../../../exceptions';\nimport { ɵEntityColumnValue } from '../../../types';\nimport { ɵParameterExpression } from '../expressions';\n\n/**\n * @public\n * @description Request for data changes.\n * @extends {ɵBaseFilterableQuery}\n */\nexport class ɵUpdateQuery extends ɵBaseFilterableQuery {\n\tprivate _columnValues = new Map<string, ɵParameterExpression>();\n\t/**\n\t * @internal\n\t */\n\tprotected _queryDtoType = 'Terrasoft.Nui.ServiceModel.DataContract.UpdateQuery';\n\n\t/**\n\t * @description Flag that indicates whether to force save data.\n\t */\n\tpublic isForceUpdate = false;\n\n\tconstructor(rootSchemaName: string) {\n\t\tsuper(ɵQueryOperationType.Update, rootSchemaName);\n\t}\n\n\t/**\n\t * @description A collection of column values for updating entities.\n\t */\n\t@Expose()\n\tpublic get columnValues(): { items: { [key: string]: ɵParameterExpression } } {\n\t\treturn {\n\t\t\titems: classToPlain(this._columnValues),\n\t\t};\n\t}\n\n\t/**\n\t * @public\n\t * @description Adds the value parameter. An instance of the value-parameter is created and\n\t * is added to the column values collection.\n\t * @param columnName The alias of the column to set value in\n\t * @param columnValue The value of the parameter. The value must match the data type.\n\t * @param dataValueType The type of the given parameter value.\n\t */\n\tpublic addColumn(columnName: string, columnValue: ɵEntityColumnValue, dataValueType: ɵDataValueType): void {\n\t\tɵValidationUtilities.checkArgumentEmpty('columnName', columnName);\n\t\tthis._columnValues.set(columnName, new ɵParameterExpression({ value: columnValue, dataValueType }));\n\t}\n}\n","import { ɵEntitySchemaQuery } from './entity-schema-query';\n\n/**\n * @public\n * @description The query class for localized data fetching.\n * @extends {ɵEntitySchemaQuery}\n */\nexport class ɵSelectLocalizationQuery extends ɵEntitySchemaQuery {}\n","import { ɵViewModelContext } from '../view-model-context';\n\n/**\n * @public\n * @description Base definition of request.\n * @template TEvent\n */\nexport class ɵBaseRequest<TEvent = unknown> {\n\t/**\n\t * @public\n\t * @description The type of request.\n\t * @example\n\t * 'crt.RequestType'\n\t */\n\tpublic readonly type!: string;\n\n\t/**\n\t * @deprecated use event binding expression instead.\n\t */\n\tpublic readonly $initialEvent?: TEvent;\n\n\t/**\n\t * @public\n\t * @description The context in which the requests were triggered.\n\t */\n\tpublic readonly $context!: ɵViewModelContext;\n\n\t/**\n\t * @public\n\t * @description The scope of the request.\n\t */\n\tpublic scopes?: string[];\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\n\n/**\n * @public\n * @description Interface describes view model context.\n * Could contain any pair of key-value\n */\nexport interface ɵViewModelContext {\n\t/**\n\t * @description Key value pair.\n\t */\n\t[key: string]: any; // TODO RND-26026\n}\n","// noinspection NonAsciiCharacters, JSNonASCIINames\n\nimport { ɵGuid } from '../types';\n\n/**\n * @public\n * @description Message channel event. Contains all message content, including body and additional metadata.\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport interface ɵMessageChannelEvent<T = unknown> {\n\t/**\n\t * @public\n\t * @description Message header containing message metadata.\n\t */\n\theader: {\n\t\t/**\n\t\t * @public\n\t\t * @description Name that is used to distinguish between messages from different senders.\n\t\t */\n\t\tsender: string;\n\n\t\t/**\n\t\t * @public\n\t\t * @description Name of the body type.\n\t\t */\n\t\tbodyTypeName: string;\n\t};\n\n\t/**\n\t * @public\n\t * @description Message body.\n\t */\n\tbody: T;\n\n\t/**\n\t * @public\n\t * @description Actual event identifier.\n\t */\n\tid: ɵGuid;\n}\n","// noinspection NonAsciiCharacters, JSNonASCIINames\n\nimport { isFunction } from 'lodash';\n\nimport { ɵTeardownLogic } from '../types';\n\n/**\n * @public\n * @classdesc Represents a disposable resource, similar to the execution of Observable. A\n * Subscription has one important method, `unsubscribe`, that just disposes\n * the resource held by the subscription.\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport class ɵSubscription {\n\tprivate _closed = false;\n\n\t/**\n\t * @public\n\t * @description A flag to indicate whether this Subscription has already been unsubscribed.\n\t */\n\tpublic get closed(): boolean {\n\t\treturn this._closed;\n\t}\n\n\t/**\n\t * @param _initialTeardown A function executed as part of the finalization.\n\t * process when {@link #unsubscribe} is called.\n\t */\n\tconstructor(private _initialTeardown?: ɵTeardownLogic) {}\n\n\t/**\n\t * @public\n\t * @description Disposes the resources held by the subscription.\n\t */\n\tpublic unsubscribe(): void {\n\t\tif (!this._closed) {\n\t\t\tthis._closed = true;\n\t\t\tif (isFunction(this._initialTeardown)) {\n\t\t\t\tthis._initialTeardown();\n\t\t\t}\n\t\t}\n\t}\n}\n","import { ɵComparisonType } from '../../../public/esq';\n\n/**\n * @public\n * @description Enum for model parameter types.\n */\nexport enum ɵModelParameterType {\n\t/**\n\t * @public\n\t * @description Parameter represents primary column value.\n\t */\n\tPrimaryColumnValue = 'primaryColumnValue',\n\t/**\n\t * @public\n\t * @description Parameter represents column value.\n\t */\n\tColumnValue = 'columnValue',\n\t/**\n\t * @public\n\t * @description Parameter represents filter value.\n\t */\n\tFilter = 'filter',\n\t/**\n\t * @public\n\t * @description Parameter represents primary display value filter.\n\t */\n\tPrimaryDisplayValueFilter = 'primaryDisplayValueFilter',\n\t/**\n\t * @public\n\t * @description Parameter is empty.\n\t */\n\tEmpty = 'empty',\n\t/**\n\t * @public\n\t * @description Parameter is never used.\n\t */\n\tNever = 'never',\n}\n\n/**\n * @public\n * @description Base interface for data source parameters.\n */\nexport interface ɵBaseDataSourceParameter {\n\t/**\n\t * @public\n\t * @description Type of parameter.\n\t */\n\ttype: ɵModelParameterType;\n\t/**\n\t * @public\n\t * @description Value of parameter.\n\t */\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\tvalue: any;\n\t/**\n\t * @public\n\t * @description Optional relation configurations for parameter.\n\t */\n\trelationsConfigs?: ɵDataSourceParameterRelationConfig[];\n}\n\n/**\n * @public\n * @description Data source parameter for primary display value filtering.\n * @extends {ɵBaseDataSourceParameter}\n */\nexport interface ɵPrimaryDisplayFilterDataSourceParameter extends ɵBaseDataSourceParameter {\n\t/**\n\t * @public\n\t * @description Type of parameter. Always 'primaryDisplayValueFilter'.\n\t */\n\ttype: ɵModelParameterType.PrimaryDisplayValueFilter;\n\t/**\n\t * @public\n\t * @description Value of parameter.\n\t */\n\tvalue: string;\n\t/**\n\t * @public\n\t * @description Comparison type for filtering.\n\t */\n\tcomparisonType: ɵComparisonType;\n}\n\n/**\n * @public\n * @description Configuration for data source parameter relation.\n */\nexport interface ɵDataSourceParameterRelationConfig {\n\t/**\n\t * @public\n\t * @description Name of data schema.\n\t */\n\tdataSchemaName: string;\n\t/**\n\t * @public\n\t * @description Path to attribute in data schema.\n\t */\n\tattributePath: string;\n\t/**\n\t * @public\n\t * @description Path to relation in data schema.\n\t */\n\trelationPath: string;\n\t/**\n\t * @public\n\t * @description Whether to use attribute value.\n\t */\n\tuseAttributeValue?: boolean;\n\t/**\n\t * @public\n\t * @description Optional value for relation.\n\t */\n\tvalue?: unknown;\n}\n\n/**\n * @public\n * @description Union type for all possible data source parameters.\n */\nexport type ɵDataSourceParameter = ɵBaseDataSourceParameter | ɵPrimaryDisplayFilterDataSourceParameter;\n\n/**\n * @public\n * @description Array of data source parameters.\n */\nexport type ɵDataSourceParameters = ɵDataSourceParameter[];\n","import { ɵBaseRequest } from '../../models/request/base-request';\nimport { ɵViewModelContext } from '../../models/view-model-context';\n\n/**\n * @public\n * @description Actions of mask request.\n */\nexport enum ɵSchemaViewMaskRequestAction {\n\t/**\n\t * @description To add task.\n\t */\n\tAddTask = 'addTask',\n\t/**\n\t * @description To remove task.\n\t */\n\tRemoveTask = 'removeTask',\n}\n\n/**\n * @public\n * @description Request to show mask.\n */\nexport class ɵSchemaViewMaskRequest extends ɵBaseRequest {\n\t/**\n\t * @description Request type\n\t */\n\tpublic override readonly type = 'crt.SchemaViewMaskRequest';\n\n\tconstructor(\n\t\tpublic readonly action: ɵSchemaViewMaskRequestAction,\n\t\tpublic readonly taskName: string,\n\t\tpublic readonly $context: ɵViewModelContext,\n\t) {\n\t\tsuper();\n\t}\n}\n","// noinspection NonAsciiCharacters, JSNonASCIINames\n\nimport { ɵMessageChannelType } from '../../enums';\nimport { ɵMessageChannelEvent, ɵSubscription } from '../../models';\n\n/**\n * @public\n * @description Provides methods for working with messages sent or received through a server channel.\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport interface ɵBaseMessageChannelService {\n\t/**\n\t * @public\n\t * @description Subscribes on messages from a specific sender.\n\t * @param sender String identifier of the sender.\n\t * @param callback Callback that should be executed on each message.\n\t * @returns A promise to be resolved with a {@link ɵSubscription} object that can be used to unsubscribe.\n\t */\n\tsubscribe<T>(sender: string, callback: (event: ɵMessageChannelEvent<T>) => void): Promise<ɵSubscription>;\n\n\t/**\n\t * @public\n\t * @description Sends message to the channel.\n\t * @param sender String identifier of the sender, used to distinguish between messages from different senders.\n\t * @param body Body of the message that should be sent (payload). Should be JSON-serializable.\n\t * @param channelType Type of message channel.\n\t */\n\tsendMessage(sender: string, body: unknown, channelType: ɵMessageChannelType): Promise<void>;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["BaseExpression","ExpressionType","FilterGroup","this"],"mappings":"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"}
|