@sap/cds 5.9.6 → 6.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +266 -20
- package/apis/services.d.ts +1 -1
- package/app/fiori/preview.js +2 -6
- package/app/index.js +3 -3
- package/bin/build/buildTaskEngine.js +17 -15
- package/bin/build/buildTaskFactory.js +29 -19
- package/bin/build/buildTaskHandler.js +27 -11
- package/bin/build/buildTaskProvider.js +2 -4
- package/bin/build/buildTaskProviderFactory.js +11 -16
- package/bin/build/constants.js +14 -6
- package/bin/build/csv-reader.js +2 -1
- package/bin/build/index.js +12 -18
- package/bin/build/provider/buildTaskHandlerEdmx.js +3 -39
- package/bin/build/provider/buildTaskHandlerFeatureToggles.js +149 -0
- package/bin/build/provider/buildTaskHandlerInternal.js +2 -3
- package/bin/build/provider/buildTaskProviderInternal.js +108 -239
- package/bin/build/provider/fiori/index.js +2 -2
- package/bin/build/provider/hana/2migration.js +11 -11
- package/bin/build/provider/hana/2tabledata.js +3 -3
- package/bin/build/provider/hana/index.js +89 -99
- package/bin/build/provider/hana/migrationtable.js +4 -3
- package/bin/build/provider/java/index.js +101 -0
- package/bin/build/provider/java-cf/index.js +1 -101
- package/bin/build/provider/mtx/index.js +90 -53
- package/bin/build/provider/mtx/resourcesTarBuilder.js +68 -0
- package/bin/build/provider/mtx-sidecar/index.js +80 -0
- package/bin/build/provider/node-cf/index.js +1 -308
- package/bin/build/provider/nodejs/index.js +189 -0
- package/bin/build/util.js +19 -31
- package/bin/cds.js +5 -3
- package/bin/deploy/to-hana/cfUtil.js +31 -6
- package/bin/deploy/to-hana/gitUtil.js +5 -3
- package/bin/deploy/to-hana/hana.js +9 -10
- package/bin/{build → deploy/to-hana}/mtaUtil.js +10 -9
- package/bin/mtx/in-cds.js +19 -7
- package/bin/serve.js +56 -21
- package/bin/utils/log.js +13 -30
- package/bin/version.js +5 -4
- package/common.cds +61 -16
- package/lib/compile/cdsc.js +3 -2
- package/lib/compile/etc/_localized.js +15 -14
- package/lib/compile/for/drafts.js +3 -4
- package/lib/compile/for/java.js +13 -10
- package/lib/compile/for/nodejs.js +8 -8
- package/lib/compile/for/odata.js +7 -12
- package/lib/compile/for/sql.js +5 -6
- package/lib/compile/index.js +5 -4
- package/lib/compile/load.js +9 -11
- package/lib/compile/minify.js +8 -5
- package/lib/compile/parse.js +4 -2
- package/lib/compile/resolve.js +18 -15
- package/lib/compile/to/edm.js +0 -1
- package/lib/compile/to/gql.js +3 -2
- package/lib/compile/to/json.js +24 -17
- package/lib/connect/bindings.js +3 -2
- package/lib/connect/index.js +5 -5
- package/lib/core/classes.js +74 -2
- package/lib/core/entities.js +52 -3
- package/lib/core/reflect.js +2 -1
- package/lib/deploy.js +11 -8
- package/lib/env/defaults.js +4 -3
- package/lib/env/index.js +71 -31
- package/lib/env/presets.js +1 -14
- package/lib/env/requires.js +70 -20
- package/lib/env/serviceBindings.js +147 -0
- package/lib/i18n/localize.js +22 -23
- package/lib/index.js +148 -144
- package/lib/log/errors.js +55 -12
- package/lib/log/format/kibana.js +1 -1
- package/lib/log/index.js +4 -0
- package/lib/ql/SELECT.js +7 -2
- package/lib/ql/Whereable.js +8 -2
- package/lib/ql/index.js +2 -2
- package/lib/req/assert.js +71 -0
- package/lib/req/cds-context.js +38 -70
- package/lib/req/context.js +34 -21
- package/lib/req/request.js +12 -18
- package/lib/req/response.js +6 -2
- package/lib/req/user.js +30 -22
- package/lib/serve/Service-api.js +17 -12
- package/lib/serve/Service-dispatch.js +5 -9
- package/lib/serve/Service-methods.js +4 -3
- package/lib/serve/Transaction.js +24 -21
- package/lib/serve/adapters.js +15 -5
- package/lib/serve/factory.js +23 -20
- package/lib/serve/index.js +51 -54
- package/lib/utils/axios.js +8 -12
- package/lib/utils/index.js +3 -3
- package/lib/utils/resources/index.js +1 -44
- package/lib/utils/resources/tar.js +2 -1
- package/lib/utils/tests.js +13 -15
- package/libx/_runtime/.eslintrc +1 -1
- package/libx/_runtime/audit/Service.js +6 -4
- package/libx/_runtime/audit/generic/personal/access.js +19 -43
- package/libx/_runtime/audit/generic/personal/index.js +40 -34
- package/libx/_runtime/audit/generic/personal/modification.js +11 -9
- package/libx/_runtime/audit/generic/personal/utils.js +13 -6
- package/libx/_runtime/audit/utils/v2.js +6 -3
- package/libx/_runtime/auth/index.js +71 -66
- package/libx/_runtime/auth/strategies/JWT.js +3 -2
- package/libx/_runtime/auth/strategies/mock.js +54 -53
- package/libx/_runtime/auth/strategies/xssecUtils.js +3 -4
- package/libx/_runtime/auth/strategies/xsuaa.js +3 -2
- package/libx/_runtime/auth/utils.js +2 -15
- package/libx/_runtime/cds-services/adapter/odata-v4/Dispatcher.js +128 -42
- package/libx/_runtime/cds-services/adapter/odata-v4/OData.js +6 -3
- package/libx/_runtime/cds-services/adapter/odata-v4/ODataRequest.js +93 -73
- package/libx/_runtime/cds-services/adapter/odata-v4/handlers/action.js +10 -45
- package/libx/_runtime/cds-services/adapter/odata-v4/handlers/create.js +5 -9
- package/libx/_runtime/cds-services/adapter/odata-v4/handlers/error.js +9 -5
- package/libx/_runtime/cds-services/adapter/odata-v4/handlers/metadata.js +4 -2
- package/libx/_runtime/cds-services/adapter/odata-v4/handlers/read.js +60 -53
- package/libx/_runtime/cds-services/adapter/odata-v4/handlers/request.js +1 -1
- package/libx/_runtime/cds-services/adapter/odata-v4/handlers/update.js +15 -21
- package/libx/_runtime/cds-services/adapter/odata-v4/odata-to-cqn/ExpressionToCQN.js +8 -15
- package/libx/_runtime/cds-services/adapter/odata-v4/odata-to-cqn/expandToCQN.js +29 -41
- package/libx/_runtime/cds-services/adapter/odata-v4/odata-to-cqn/index.js +1 -4
- package/libx/_runtime/cds-services/adapter/odata-v4/odata-to-cqn/readToCQN.js +13 -13
- package/libx/_runtime/cds-services/adapter/odata-v4/odata-to-cqn/selectToCQN.js +0 -7
- package/libx/_runtime/cds-services/adapter/odata-v4/odata-to-cqn/utils.js +24 -1
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmEntityContainer.js +1 -1
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/UriHelper.js +4 -3
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/utils/PrimitiveValueDecoder.js +4 -5
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/utils/ValueConverter.js +4 -3
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/validator/ValueValidator.js +5 -3
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/core/ResponseHeaderSetter.js +2 -0
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/DebugSerializingCommand.js +1 -1
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/PresetResponseHeadersCommand.js +1 -1
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/SerializingCommand.js +1 -1
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/SetResponseHeadersCommand.js +1 -1
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/serializer/ContextURLFactory.js +3 -2
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/serializer/ErrorJsonSerializer.js +3 -1
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/serializer/SerializerFactory.js +1 -0
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/serializer/TrustedResourceJsonSerializer.js +3 -3
- package/libx/_runtime/cds-services/adapter/odata-v4/utils/data.js +36 -25
- package/libx/_runtime/cds-services/adapter/odata-v4/utils/handlerUtils.js +100 -91
- package/libx/_runtime/cds-services/adapter/odata-v4/utils/metaInfo.js +382 -0
- package/libx/_runtime/cds-services/adapter/odata-v4/utils/oDataConfiguration.js +1 -4
- package/libx/_runtime/cds-services/adapter/odata-v4/utils/omitValues.js +5 -6
- package/libx/_runtime/cds-services/adapter/odata-v4/utils/readAfterWrite.js +77 -21
- package/libx/_runtime/cds-services/adapter/odata-v4/utils/request.js +3 -11
- package/libx/_runtime/cds-services/adapter/odata-v4/utils/result.js +91 -69
- package/libx/_runtime/cds-services/adapter/odata-v4/utils/stream.js +27 -6
- package/libx/_runtime/cds-services/adapter/rest/utils/validation-checks.js +7 -17
- package/libx/_runtime/cds-services/services/Service.js +17 -76
- package/libx/_runtime/cds-services/services/utils/columns.js +6 -4
- package/libx/_runtime/cds-services/services/utils/compareJson.js +1 -53
- package/libx/_runtime/cds-services/services/utils/differ.js +15 -19
- package/libx/_runtime/cds-services/util/assert.js +107 -34
- package/libx/_runtime/cds.js +1 -31
- package/libx/_runtime/common/aspects/Association.js +40 -54
- package/libx/_runtime/common/aspects/any.js +61 -6
- package/libx/_runtime/common/aspects/entity.js +19 -79
- package/libx/_runtime/common/composition/data.js +2 -2
- package/libx/_runtime/common/composition/delete.js +16 -18
- package/libx/_runtime/common/composition/tree.js +10 -10
- package/libx/_runtime/common/composition/update.js +3 -2
- package/libx/_runtime/common/constants/events.js +15 -0
- package/libx/_runtime/common/error/entry.js +9 -3
- package/libx/_runtime/common/error/frontend.js +13 -19
- package/libx/_runtime/common/error/index.js +8 -3
- package/libx/_runtime/common/generic/auth/capabilities.js +2 -1
- package/libx/_runtime/common/generic/auth/constants.js +1 -4
- package/libx/_runtime/common/generic/auth/requires.js +1 -1
- package/libx/_runtime/common/generic/auth/restrict.js +12 -28
- package/libx/_runtime/common/generic/auth/restrictions.js +12 -4
- package/libx/_runtime/common/generic/auth/utils.js +2 -1
- package/libx/_runtime/common/generic/crud.js +9 -60
- package/libx/_runtime/common/generic/etag.js +41 -7
- package/libx/_runtime/common/generic/input.js +128 -66
- package/libx/_runtime/common/generic/paging.js +9 -3
- package/libx/_runtime/common/generic/put.js +2 -2
- package/libx/_runtime/common/generic/sorting.js +11 -4
- package/libx/_runtime/common/generic/temporal.js +0 -5
- package/libx/_runtime/common/i18n/messages.properties +2 -1
- package/libx/_runtime/common/utils/binary.js +69 -0
- package/libx/_runtime/common/utils/cqn.js +39 -14
- package/libx/_runtime/common/utils/cqn2cqn4sql.js +93 -59
- package/libx/_runtime/common/utils/csn.js +87 -85
- package/libx/_runtime/common/utils/dollar.js +8 -7
- package/libx/_runtime/common/utils/draft.js +1 -1
- package/libx/_runtime/common/utils/foreignKeyPropagations.js +23 -7
- package/libx/_runtime/common/utils/generateOnCond.js +2 -1
- package/libx/_runtime/common/utils/keys.js +30 -13
- package/libx/_runtime/common/utils/postProcessing.js +6 -1
- package/libx/_runtime/common/utils/quotingStyles.js +0 -23
- package/libx/_runtime/common/utils/resolveStructured.js +23 -26
- package/libx/_runtime/common/utils/resolveView.js +4 -1
- package/libx/_runtime/common/utils/rewriteAsterisks.js +3 -0
- package/libx/_runtime/common/utils/search2cqn4sql.js +4 -13
- package/libx/_runtime/common/utils/searchToLike.js +9 -13
- package/libx/_runtime/common/utils/streamProp.js +35 -0
- package/libx/_runtime/common/utils/structured.js +12 -18
- package/libx/_runtime/common/utils/template.js +3 -5
- package/libx/_runtime/common/utils/templateProcessor.js +22 -14
- package/libx/_runtime/common/utils/unionCqnTemplate.js +4 -14
- package/libx/_runtime/db/Service.js +2 -1
- package/libx/_runtime/db/expand/expand-v2.js +2 -2
- package/libx/_runtime/db/expand/expandCQNToJoin.js +7 -6
- package/libx/_runtime/db/generic/input.js +14 -17
- package/libx/_runtime/db/generic/integrity.js +1 -2
- package/libx/_runtime/db/generic/update.js +14 -1
- package/libx/_runtime/db/query/read.js +0 -1
- package/libx/_runtime/db/query/update.js +1 -1
- package/libx/_runtime/db/sql-builder/BaseBuilder.js +1 -1
- package/libx/_runtime/db/sql-builder/ExpressionBuilder.js +5 -31
- package/libx/_runtime/db/sql-builder/InsertBuilder.js +1 -1
- package/libx/_runtime/db/sql-builder/ReferenceBuilder.js +0 -9
- package/libx/_runtime/db/sql-builder/SelectBuilder.js +11 -10
- package/libx/_runtime/db/sql-builder/UpdateBuilder.js +2 -2
- package/libx/_runtime/db/sql-builder/annotations.js +1 -2
- package/libx/_runtime/db/utils/coloredTxCommands.js +5 -0
- package/libx/_runtime/db/utils/columns.js +1 -1
- package/libx/_runtime/db/utils/propagateForeignKeys.js +10 -2
- package/libx/_runtime/extensibility/activate.js +69 -0
- package/libx/_runtime/extensibility/add.js +41 -0
- package/libx/_runtime/extensibility/addExtension.js +68 -0
- package/libx/_runtime/extensibility/defaults.js +39 -0
- package/libx/_runtime/extensibility/{uiflex/handler → handler}/transformREAD.js +0 -0
- package/libx/_runtime/extensibility/{uiflex/handler → handler}/transformRESULT.js +2 -2
- package/libx/_runtime/extensibility/{uiflex/handler → handler}/transformWRITE.js +2 -2
- package/libx/_runtime/extensibility/push.js +61 -0
- package/libx/_runtime/extensibility/service.js +21 -0
- package/libx/_runtime/extensibility/{uiflex/utils.js → utils.js} +39 -3
- package/libx/_runtime/extensibility/validation.js +53 -0
- package/libx/_runtime/extensibility/views.js +12 -0
- package/libx/_runtime/fiori/generic/activate.js +6 -4
- package/libx/_runtime/fiori/generic/before.js +17 -29
- package/libx/_runtime/fiori/generic/cancel.js +2 -4
- package/libx/_runtime/fiori/generic/delete.js +2 -4
- package/libx/_runtime/fiori/generic/edit.js +3 -7
- package/libx/_runtime/fiori/generic/index.js +31 -0
- package/libx/_runtime/fiori/generic/new.js +2 -4
- package/libx/_runtime/fiori/generic/patch.js +4 -8
- package/libx/_runtime/fiori/generic/prepare.js +2 -4
- package/libx/_runtime/fiori/generic/read.js +137 -162
- package/libx/_runtime/fiori/generic/readOverDraft.js +10 -4
- package/libx/_runtime/fiori/utils/handler.js +10 -5
- package/libx/_runtime/fiori/utils/where.js +1 -4
- package/libx/_runtime/hana/Service.js +14 -7
- package/libx/_runtime/hana/customBuilder/CustomSelectBuilder.js +1 -1
- package/libx/_runtime/hana/dynatrace.js +2 -2
- package/libx/_runtime/hana/localized.js +7 -6
- package/libx/_runtime/hana/pool.js +9 -6
- package/libx/_runtime/hana/search.js +2 -3
- package/libx/_runtime/hana/{searchToContains.js → search2Contains.js} +5 -2
- package/libx/_runtime/hana/search2cqn4sql.js +20 -17
- package/libx/_runtime/index.js +2 -6
- package/libx/_runtime/messaging/AMQPWebhookMessaging.js +11 -2
- package/libx/_runtime/messaging/common-utils/AMQPClient.js +4 -3
- package/libx/_runtime/messaging/common-utils/appId.js +9 -0
- package/libx/_runtime/messaging/common-utils/authorizedRequest.js +2 -18
- package/libx/_runtime/messaging/common-utils/connections.js +1 -1
- package/libx/_runtime/messaging/enterprise-messaging-shared.js +2 -2
- package/libx/_runtime/messaging/enterprise-messaging-utils/EMManagement.js +305 -231
- package/libx/_runtime/messaging/enterprise-messaging-utils/cloudEvents.js +2 -2
- package/libx/_runtime/messaging/enterprise-messaging-utils/options-management.js +15 -8
- package/libx/_runtime/messaging/enterprise-messaging-utils/options-messaging.js +57 -14
- package/libx/_runtime/messaging/enterprise-messaging.js +14 -19
- package/libx/_runtime/messaging/file-based.js +2 -1
- package/libx/_runtime/messaging/http-utils/token.js +18 -6
- package/libx/_runtime/messaging/message-queuing-utils/options-management.js +22 -12
- package/libx/_runtime/messaging/message-queuing-utils/options-messaging.js +27 -14
- package/libx/_runtime/messaging/message-queuing.js +138 -85
- package/libx/_runtime/messaging/outbox/utils.js +13 -7
- package/libx/_runtime/messaging/redis-messaging.js +0 -1
- package/libx/_runtime/messaging/service.js +4 -1
- package/libx/_runtime/remote/Service.js +24 -18
- package/libx/_runtime/remote/utils/client.js +84 -46
- package/libx/_runtime/remote/utils/data.js +23 -6
- package/libx/_runtime/sqlite/Service.js +14 -13
- package/libx/_runtime/sqlite/convertAssocToOneManaged.js +2 -0
- package/libx/_runtime/sqlite/customBuilder/CustomSelectBuilder.js +1 -0
- package/libx/_runtime/sqlite/execute.js +3 -9
- package/libx/_runtime/types/api.js +23 -11
- package/libx/common/utils/ucsn.js +15 -9
- package/libx/odata/afterburner.js +109 -29
- package/libx/odata/cqn2odata.js +48 -9
- package/libx/odata/grammar.pegjs +261 -157
- package/libx/odata/index.js +21 -9
- package/libx/odata/parseToCqn.js +8 -5
- package/libx/odata/parser.js +1 -1
- package/libx/odata/utils.js +13 -3
- package/libx/rest/RestAdapter.js +173 -113
- package/libx/rest/RestRequest.js +3 -2
- package/libx/rest/middleware/create.js +8 -6
- package/libx/rest/middleware/delete.js +6 -13
- package/libx/rest/middleware/error.js +1 -1
- package/libx/rest/middleware/input.js +6 -6
- package/libx/rest/middleware/operation.js +8 -3
- package/libx/rest/middleware/parse.js +3 -3
- package/libx/rest/middleware/payload.js +12 -0
- package/libx/rest/middleware/read.js +12 -2
- package/libx/rest/middleware/update.js +3 -3
- package/package.json +4 -6
- package/server.js +3 -44
- package/srv/extensibility-service.cds +56 -0
- package/srv/extensibility-service.js +1 -0
- package/srv/extensions.cds +8 -0
- package/srv/model-provider.cds +59 -0
- package/srv/model-provider.js +163 -0
- package/srv/mtx.cds +2 -0
- package/srv/mtx.js +22 -0
- package/srv/outbox.cds +2 -0
- package/tasks/enterprise-messaging-deploy.js +19 -12
- package/lib/serve/Service-compat.js +0 -36
- package/libx/_runtime/audit/generic/personal/constants.js +0 -4
- package/libx/_runtime/auth/strategies/dwc.js +0 -45
- package/libx/_runtime/cds-services/adapter/odata-v4/utils/dispatcherUtils.js +0 -56
- package/libx/_runtime/cds-services/adapter/rest/Rest.js +0 -183
- package/libx/_runtime/cds-services/adapter/rest/RestRequest.js +0 -67
- package/libx/_runtime/cds-services/adapter/rest/handlers/create.js +0 -82
- package/libx/_runtime/cds-services/adapter/rest/handlers/delete.js +0 -39
- package/libx/_runtime/cds-services/adapter/rest/handlers/operation.js +0 -63
- package/libx/_runtime/cds-services/adapter/rest/handlers/read.js +0 -52
- package/libx/_runtime/cds-services/adapter/rest/handlers/update.js +0 -81
- package/libx/_runtime/cds-services/adapter/rest/rest-to-cqn/index.js +0 -56
- package/libx/_runtime/cds-services/adapter/rest/rest-to-cqn/utils.js +0 -33
- package/libx/_runtime/cds-services/adapter/rest/to.js +0 -8
- package/libx/_runtime/cds-services/adapter/rest/utils/binary.js +0 -50
- package/libx/_runtime/cds-services/adapter/rest/utils/data.js +0 -117
- package/libx/_runtime/cds-services/adapter/rest/utils/header-checks.js +0 -14
- package/libx/_runtime/cds-services/adapter/rest/utils/key-value-utils.js +0 -30
- package/libx/_runtime/cds-services/adapter/rest/utils/parse-url.js +0 -250
- package/libx/_runtime/cds-services/adapter/rest/utils/result.js +0 -26
- package/libx/_runtime/cds-services/services/utils/handlerUtils.js +0 -200
- package/libx/_runtime/common/aspects/utils.js +0 -152
- package/libx/_runtime/common/toggles/handler.js +0 -21
- package/libx/_runtime/common/utils/extensibilityUtils.js +0 -18
- package/libx/_runtime/extensibility/mps/index.js +0 -5
- package/libx/_runtime/extensibility/mps/service.js +0 -111
- package/libx/_runtime/extensibility/mps/tar.js +0 -42
- package/libx/_runtime/extensibility/mps/utils.js +0 -11
- package/libx/_runtime/extensibility/uiflex/index.js +0 -54
- package/libx/_runtime/extensibility/uiflex/service.js +0 -276
- package/libx/_runtime/messaging/common-utils/naming-conventions.js +0 -20
- package/libx/_runtime/remote/utils/client-types.d.ts +0 -7
- package/libx/gql/GraphQLAdapter.js +0 -33
- package/libx/gql/constants/adapter.js +0 -69
- package/libx/gql/constants/cds.js +0 -18
- package/libx/gql/constants/graphql.js +0 -33
- package/libx/gql/readme.md +0 -1
- package/libx/gql/resolvers/crud/create.js +0 -20
- package/libx/gql/resolvers/crud/delete.js +0 -29
- package/libx/gql/resolvers/crud/index.js +0 -6
- package/libx/gql/resolvers/crud/read.js +0 -30
- package/libx/gql/resolvers/crud/update.js +0 -42
- package/libx/gql/resolvers/crud/utils/index.js +0 -36
- package/libx/gql/resolvers/field.js +0 -5
- package/libx/gql/resolvers/index.js +0 -7
- package/libx/gql/resolvers/mutation.js +0 -23
- package/libx/gql/resolvers/parse/ast/enrich.js +0 -52
- package/libx/gql/resolvers/parse/ast/fragment.js +0 -11
- package/libx/gql/resolvers/parse/ast/fromObject.js +0 -39
- package/libx/gql/resolvers/parse/ast/index.js +0 -3
- package/libx/gql/resolvers/parse/ast/meta.js +0 -4
- package/libx/gql/resolvers/parse/ast/variable.js +0 -7
- package/libx/gql/resolvers/parse/ast2cqn/columns.js +0 -44
- package/libx/gql/resolvers/parse/ast2cqn/entries.js +0 -31
- package/libx/gql/resolvers/parse/ast2cqn/index.js +0 -8
- package/libx/gql/resolvers/parse/ast2cqn/limit.js +0 -6
- package/libx/gql/resolvers/parse/ast2cqn/orderBy.js +0 -24
- package/libx/gql/resolvers/parse/ast2cqn/utils/index.js +0 -3
- package/libx/gql/resolvers/parse/ast2cqn/where.js +0 -70
- package/libx/gql/resolvers/parse/utils/index.js +0 -8
- package/libx/gql/resolvers/query.js +0 -13
- package/libx/gql/resolvers/root.js +0 -34
- package/libx/gql/schema/generate.js +0 -18
- package/libx/gql/schema/index.js +0 -5
- package/libx/gql/schema/mutation.js +0 -76
- package/libx/gql/schema/query.js +0 -108
- package/libx/gql/schema/typeDefMap.js +0 -45
- package/libx/gql/schema/utils/index.js +0 -54
- package/libx/gql/utils/index.js +0 -12
- package/libx/rest/middleware/auth.js +0 -20
- package/libx/rest/middleware/content.js +0 -19
- package/srv/flex.cds +0 -21
- package/srv/flex.js +0 -1
- package/srv/mps.cds +0 -23
- package/srv/mps.js +0 -1
- package/srv/outbox.js +0 -0
package/libx/odata/index.js
CHANGED
|
@@ -43,6 +43,17 @@ const _2query = cqn => {
|
|
|
43
43
|
return query
|
|
44
44
|
}
|
|
45
45
|
|
|
46
|
+
const enhanceCqn = (cqn, options) => {
|
|
47
|
+
if (options.afterburner) cqn = options.afterburner(cqn)
|
|
48
|
+
|
|
49
|
+
const query = _2query(cqn)
|
|
50
|
+
|
|
51
|
+
// REVISIT: _target vs __target, i.e., pseudo csn vs actual csn
|
|
52
|
+
// DO NOT USE __target outside of libx/rest!!!
|
|
53
|
+
if (cqn.__target) query.__target = cqn.__target
|
|
54
|
+
return query
|
|
55
|
+
}
|
|
56
|
+
|
|
46
57
|
/*
|
|
47
58
|
* cds.odata API
|
|
48
59
|
*/
|
|
@@ -73,17 +84,18 @@ module.exports = {
|
|
|
73
84
|
throw err
|
|
74
85
|
}
|
|
75
86
|
|
|
76
|
-
if
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
87
|
+
//cqn is an array, if concat is used
|
|
88
|
+
if (Array.isArray(cqn)) {
|
|
89
|
+
for (let i = 0; i < cqn.length; i++) {
|
|
90
|
+
cqn[i] = enhanceCqn(cqn[i], options)
|
|
91
|
+
}
|
|
92
|
+
} else {
|
|
93
|
+
cqn = enhanceCqn(cqn, options)
|
|
94
|
+
}
|
|
83
95
|
|
|
84
|
-
return
|
|
96
|
+
return cqn
|
|
85
97
|
},
|
|
86
98
|
urlify: (cqn, options = {}) => {
|
|
87
|
-
return cqn2odata(cqn, options
|
|
99
|
+
return cqn2odata(cqn, options)
|
|
88
100
|
}
|
|
89
101
|
}
|
package/libx/odata/parseToCqn.js
CHANGED
|
@@ -3,6 +3,11 @@ const cds = require('../../lib')
|
|
|
3
3
|
module.exports = (component, service, target, data, odataReq, upsert) => {
|
|
4
4
|
let query = cds.odata.parse(odataReq, { service })
|
|
5
5
|
|
|
6
|
+
//For concat
|
|
7
|
+
if (component === 'READ' && Array.isArray(query)) {
|
|
8
|
+
return query
|
|
9
|
+
}
|
|
10
|
+
|
|
6
11
|
const _target = query.SELECT && query.SELECT.from
|
|
7
12
|
|
|
8
13
|
const {
|
|
@@ -22,8 +27,8 @@ module.exports = (component, service, target, data, odataReq, upsert) => {
|
|
|
22
27
|
const last = _target.ref && _target.ref[_target.ref.length - 1]
|
|
23
28
|
if (target.elements[last]) {
|
|
24
29
|
// delete simple property
|
|
25
|
-
const ref = { ref: _target.ref.slice(0,
|
|
26
|
-
return UPDATE(ref).data({ [
|
|
30
|
+
const ref = { ref: _target.ref.slice(0, -1) }
|
|
31
|
+
return UPDATE(ref).data({ [last]: null })
|
|
27
32
|
} else {
|
|
28
33
|
return DELETE.from(_target)
|
|
29
34
|
}
|
|
@@ -31,9 +36,7 @@ module.exports = (component, service, target, data, odataReq, upsert) => {
|
|
|
31
36
|
// eslint-disable-next-line no-throw-literal
|
|
32
37
|
if (!one) throw { statusCode: 400, code: '400', message: `INVALID_${odataReq.getMethod()}` }
|
|
33
38
|
return UPDATE(_target).data(data)
|
|
34
|
-
case 'READ':
|
|
35
|
-
return query
|
|
36
39
|
default:
|
|
37
|
-
return
|
|
40
|
+
return query
|
|
38
41
|
}
|
|
39
42
|
}
|
package/libx/odata/parser.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";function peg$subclass(t,r){function e(){this.constructor=t}e.prototype=r.prototype,t.prototype=new e}function peg$SyntaxError(t,r,e,n){this.message=t,this.expected=r,this.found=e,this.location=n,this.name="SyntaxError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,peg$SyntaxError)}function peg$parse(t,r){r=void 0!==r?r:{};var e,n={},s={ODataRelativeURI:je},a=je,u="/",o=Te("/",!1),c=Te("?",!1),i=Te("&",!1),f="$count",l=Te("$count",!1),h="$ref",p=Te("$ref",!1),A="$value",d=Te("$value",!1),g=function(t){return[t]},v="=",b=Te("=",!1),y="$skiptoken=",m=Te("$skiptoken=",!1),C="$apply=",w=Te("$apply=",!1),x="$select=",$=Te("$select=",!1),E="$expand=",L=Te("$expand=",!1),S="$filter=",B=Te("$filter=",!1),T="$orderby=",_=Te("$orderby=",!1),O="$top=",Z=Te("$top=",!1),R="$skip=",z=Te("$skip=",!1),F="$search=",j=Te("$search=",!1),k="$count=",N=Te("$count=",!1),D=Te("*",!1),U=Te(";",!1),P="/$count",q=Te("/$count",!1),I=function(t){return t?[t]:[]},M=function(t,r){t.push({xpr:r})},X=function(t,r){t.push({val:r})},Y=function(t,r,e){t.push(r,...e)},G=function(t,r){t.push(r)},H=function(t,r,e){t.push(r,...e)},J=":",K=Te(":",!1),Q="any",V=Te("any",!1),W="all",tt=Te("all",!1),rt=Te("asc",!1),et="desc",nt=Te("desc",!1),st=/^[a-zA-Z]/,at=_e([["a","z"],["A","Z"]],!1,!1),ut=/^[a-zA-Z0-9\-]/,ot=_e([["a","z"],["A","Z"],["0","9"],"-"],!1,!1),ct=/^[^&]/,it=_e(["&"],!0,!1),ft=Oe("a comparison"),lt=Te("eq",!1),ht=Te("ne",!1),pt=Te("lt",!1),At=Te("gt",!1),dt=Te("le",!1),gt=Te("ge",!1),vt=(Te("add",!1),Te("sub",!1),Te("mul",!1),Te("div",!1),Te("mod",!1),Oe("an operand")),bt=Oe("navigation with $count"),yt=function(t,r){return r},mt=function(t,r){return r?{id:t,where:r}:t},Ct=Oe("a reference"),wt=function(t,r){return r},xt=function(t){return{val:t}},$t=Te("{",!1),Et=/^[^}]/,Lt=_e(["}"],!0,!1),St=Te("}",!1),Bt="[",Tt=Te("[",!1),_t="]",Ot=Te("]",!1),Zt=/^[^\]]/,Rt=_e(["]"],!0,!1),zt=Oe("a function call"),Ft=function(t,r,e){return e},jt=Oe("a boolean function"),kt="contains",Nt=Te("contains",!0),Dt="endswith",Ut=Te("endswith",!0),Pt="startswith",qt=Te("startswith",!0),It=Te("NOT",!0),Mt=Te("AND",!0),Xt=Te("OR",!0),Yt="aggregate",Gt=Te("aggregate",!1),Ht="groupby",Jt=Te("groupby",!1),Kt="filter",Qt=Te("filter",!1),Vt="expand",Wt=Te("expand",!1),tr="search",rr=Te("search",!1),er="concat",nr=Te("concat",!1),sr="compute",ar=Te("compute",!1),ur=Te("topcount",!0),or=Te("bottomcount",!0),cr=Te("topsum",!0),ir=Te("bottomsum",!0),fr=Te("toppercent",!0),lr=Te("bottompercent",!0),hr=function(t,r){return r},pr="with",Ar=Te("with",!1),dr="from",gr=Te("from",!1),vr=Te("as",!1),br="rollup",yr=Te("rollup",!1),mr="$all",Cr=Te("$all",!1),wr="identity",xr=Te("identity",!1),$r="true",Er=Te("true",!1),Lr="false",Sr=Te("false",!1),Br=Oe("Edm.String"),Tr="'",_r=Te("'",!1),Or="''",Zr=Te("''",!1),Rr=/^[^']/,zr=_e(["'"],!0,!1),Fr='"',jr=Te('"',!1),kr='\\"',Nr=Te('\\"',!1),Dr=/^[^"]/,Ur=_e(['"'],!0,!1),Pr=/^[^ \t\n()"&;]/,qr=_e([" ","\t","\n","(",")",'"',"&",";"],!0,!1),Ir=/^[0-9]/,Mr=_e([["0","9"]],!1,!1),Xr="-",Yr=Te("-",!1),Gr=Te("T",!1),Hr=".",Jr=Te(".",!1),Kr=Te("Z",!1),Qr=Te("+",!1),Vr=/^[+\-]/,Wr=_e(["+","-"],!1,!1),te=Te("e",!1),re=/^[_a-zA-Z]/,ee=_e(["_",["a","z"],["A","Z"]],!1,!1),ne=/^[_a-zA-Z0-9"."]/,se=_e(["_",["a","z"],["A","Z"],["0","9"],'"',".",'"'],!1,!1),ae=/^[0-9a-fA-F]/,ue=_e([["0","9"],["a","f"],["A","F"]],!1,!1),oe=/^[^\/?]/,ce=_e(["/","?"],!0,!1),ie=/^[a-zA-Z0-9\-"."_~!$'()*+,;=:@"\/""?"]/,fe=_e([["a","z"],["A","Z"],["0","9"],"-",'"',".",'"',"_","~","!","$","'","(",")","*","+",",",";","=",":","@",'"',"/",'"','"',"?",'"'],!1,!1),le="binary'",he=Te("binary'",!1),pe=/^[a-zA-Z0-9\-_]/,Ae=_e([["a","z"],["A","Z"],["0","9"],"-","_"],!1,!1),de="==",ge=Te("==",!1),ve=Te(",",!1),be=Te("(",!1),ye=Te(")",!1),me=Oe("optional whitespaces"),Ce=/^[ \t\n]/,we=_e([" ","\t","\n"],!1,!1),xe=Oe("mandatory whitespaces"),$e=0,Ee=[{line:1,column:1}],Le=0,Se=[],Be=0;if("startRule"in r){if(!(r.startRule in s))throw new Error("Can't start parsing from rule \""+r.startRule+'".');a=s[r.startRule]}function Te(t,r){return{type:"literal",text:t,ignoreCase:r}}function _e(t,r,e){return{type:"class",parts:t,inverted:r,ignoreCase:e}}function Oe(t){return{type:"other",description:t}}function Ze(r){var e,n=Ee[r];if(n)return n;for(e=r-1;!Ee[e];)e--;for(n={line:(n=Ee[e]).line,column:n.column};e<r;)10===t.charCodeAt(e)?(n.line++,n.column=1):n.column++,e++;return Ee[r]=n,n}function Re(t,r){var e=Ze(t),n=Ze(r);return{start:{offset:t,line:e.line,column:e.column},end:{offset:r,line:n.line,column:n.column}}}function ze(t){$e<Le||($e>Le&&(Le=$e,Se=[]),Se.push(t))}function Fe(t,r,e){return new peg$SyntaxError(peg$SyntaxError.buildMessage(t,r),t,r,e)}function je(){var r,e,s,a,f,l,h,p,A,d,g,v,b,y;if(r=$e,47===t.charCodeAt($e)?(e=u,$e++):(e=n,0===Be&&ze(o)),e===n&&(e=null),e!==n)if(s=$e,(a=ke())!==n&&(s,a=void(jn=a)),(s=a)!==n){if(a=$e,(f=_n())!==n)if(63===t.charCodeAt($e)?(l="?",$e++):(l=n,0===Be&&ze(c)),l!==n)if((h=_n())!==n)if((p=De())!==n){for(A=[],d=$e,(g=_n())!==n?(38===t.charCodeAt($e)?(v="&",$e++):(v=n,0===Be&&ze(i)),v!==n&&(b=_n())!==n&&(y=De())!==n?d=g=[g,v,b,y]:($e=d,d=n)):($e=d,d=n);d!==n;)A.push(d),d=$e,(g=_n())!==n?(38===t.charCodeAt($e)?(v="&",$e++):(v=n,0===Be&&ze(i)),v!==n&&(b=_n())!==n&&(y=De())!==n?d=g=[g,v,b,y]:($e=d,d=n)):($e=d,d=n);A!==n?a=f=[f,l,h,p,A]:($e=a,a=n)}else $e=a,a=n;else $e=a,a=n;else $e=a,a=n;else $e=a,a=n;a===n&&(a=null),a!==n&&(f=_n())!==n?(r,r=e=function(){if(kn)return jn.columns=[{args:[{val:1}],as:"$count",func:"count"}],delete jn.expand,delete jn.limit,delete jn.orderBy,jn.apply&&(jn.apply={apply:jn.apply},Xn(jn,jn.apply)),{SELECT:jn};let t;if(jn.expand){jn.columns||(jn.columns=["*"],t=!0);for(const t of jn.expand){const r=jn.columns.findIndex(Pn(t));r>-1&&jn.columns.splice(r,1),jn.columns.push(t)}delete jn.expand}return jn.count&&jn.apply&&(jn.__countAggregated=!0),Xn(jn,jn.apply,t),{SELECT:jn}}()):($e=r,r=n)}else $e=r,r=n;else $e=r,r=n;return r}function ke(){var r,e,s,a,c,i,v,b;return r=$e,t.substr($e,6)===f?(e=f,$e+=6):(e=n,0===Be&&ze(l)),e!==n&&(r,e=void(kn=!0)),(r=e)===n&&(r=$e,e=$e,t.substr($e,4)===h?(s=h,$e+=4):(s=n,0===Be&&ze(p)),s===n&&(t.substr($e,6)===A?(s=A,$e+=6):(s=n,0===Be&&ze(d))),(e=s!==n?t.substring(e,$e):s)!==n&&(r,b=e,e=!Nn.includes(b)&&{from:{ref:[b]}}),(r=e)===n&&(r=$e,e=$e,(s=xn())!==n?(a=$e,(c=Bn())!==n&&(i=Tn())!==n?a=c=[c,i]:($e=a,a=n),a===n&&(a=$e,(c=Bn())!==n&&(i=Ne())!==n&&(v=Tn())!==n?a=c=[c,i,v]:($e=a,a=n)),a===n&&(a=null),a!==n?(c=$e,Be++,i=Ln(),Be--,i===n?c=void 0:($e=c,c=n),c!==n?e=s=[s,a,c]:($e=e,e=n)):($e=e,e=n)):($e=e,e=n),e===n&&(e=$e,(s=Ln())!==n&&(e,s=g(s)),e=s),e===n&&(e=null),e!==n?(s=$e,a=$e,47===t.charCodeAt($e)?(c=u,$e++):(c=n,0===Be&&ze(o)),c!==n&&(a,c=c),(a=c)!==n?((c=ke())===n&&(c=null),c!==n?s=a=[a,c]:($e=s,s=n)):($e=s,s=n),s===n&&(s=null),s!==n?(r,r=e=function(t,r){if(r=r&&r[1],!t&&!r)return{from:{ref:[""]}};if(!t&&r&&r.from)return r.from.ref.unshift(""),r;const[e,n]=t,s=[];if(n?n.length>2?s.push({id:e,where:n[1].map((t=>t.val&&t.val.match&&t.val.match(/^"(.*)"$/)?{val:t.val.match(/^"(.*)"$/)[1]}:t))}):s.push({id:e,where:[]}):zn?s.push(`${"object"==typeof e&&"val"in e?e.val:e}`):"object"==typeof e&&"string"==typeof e.val&&e.val.match(/^[1-9]\d*$|^0$/)?s.push({val:Dn(e.val)}):s.push(e),r&&r.from){const t=r.from.ref;Object.prototype.hasOwnProperty.call(t[0],"val")&&(s[s.length-1]={id:s[s.length-1],where:[t.shift()]}),s.push(...t)}const a={from:{ref:s}};return r&&r.columns&&(a.columns=r.columns),a}(e,s)):($e=r,r=n)):($e=r,r=n))),r}function Ne(){var r,e,s,a,u,o,c;return r=$e,(e=rn())!==n&&(r,e=g(e)),(r=e)===n&&(r=$e,(e=tn())!==n&&_n()!==n?(61===t.charCodeAt($e)?(s="=",$e++):(s=n,0===Be&&ze(b)),s!==n&&_n()!==n&&(a=rn())!==n?(u=$e,(o=Sn())!==n&&(c=Ne())!==n?u=o=[o,c]:($e=u,u=n),u===n&&(u=null),u!==n?(r,r=e=function(t,r,e){const n=[t,"=",r];return e&&n.push("and",...e[1]),n}(e,a,u)):($e=r,r=n)):($e=r,r=n)):($e=r,r=n)),r}function De(){var r,e,s,a;return(r=Ue())===n&&(r=$e,t.substr($e,11)===y?(e=y,$e+=11):(e=n,0===Be&&ze(m)),e!==n&&(s=_n())!==n?(a=function(){var r,e,s;r=$e,(e=wn())===n&&(e=null);e!==n?(s=function(){var r,e,s;r=$e,e=[],ie.test(t.charAt($e))?(s=t.charAt($e),$e++):(s=n,0===Be&&ze(fe));if(s!==n)for(;s!==n;)e.push(s),ie.test(t.charAt($e))?(s=t.charAt($e),$e++):(s=n,0===Be&&ze(fe));else e=n;r=e!==n?t.substring(r,$e):e;return r}(),s===n&&(s=null),s!==n?(r,a=e,r=e=void(s||Yn(a))):($e=r,r=n)):($e=r,r=n);var a;return r}(),a!==n?r=e=[e,s,a]:($e=r,r=n)):($e=r,r=n),r===n&&(r=$e,t.substr($e,7)===C?(e=C,$e+=7):(e=n,0===Be&&ze(w)),e!==n?(s=$e,(a=_n())!==n&&(s,a=void(jn.apply={})),(s=a)!==n&&(a=Qe())!==n?r=e=[e,s,a]:($e=r,r=n)):($e=r,r=n),r===n&&(r=function(){var r,e,s,a,u,o;r=$e,st.test(t.charAt($e))?(e=t.charAt($e),$e++):(e=n,0===Be&&ze(at));if(e!==n){for(s=[],ut.test(t.charAt($e))?(a=t.charAt($e),$e++):(a=n,0===Be&&ze(ot));a!==n;)s.push(a),ut.test(t.charAt($e))?(a=t.charAt($e),$e++):(a=n,0===Be&&ze(ot));if(s!==n)if(61===t.charCodeAt($e)?(a=v,$e++):(a=n,0===Be&&ze(b)),a!==n){for(u=[],ct.test(t.charAt($e))?(o=t.charAt($e),$e++):(o=n,0===Be&&ze(it));o!==n;)u.push(o),ct.test(t.charAt($e))?(o=t.charAt($e),$e++):(o=n,0===Be&&ze(it));u!==n?r=e=[e,s,a,u]:($e=r,r=n)}else $e=r,r=n;else $e=r,r=n}else $e=r,r=n;return r}()))),r}function Ue(){var r,e,s,a,u,o,c,i,f,l;if(r=$e,t.substr($e,8)===x?(e=x,$e+=8):(e=n,0===Be&&ze($)),e!==n)if((s=_n())!==n)if((a=Pe())!==n){for(u=[],o=$e,(c=Sn())!==n&&(i=Pe())!==n?o=c=[c,i]:($e=o,o=n);o!==n;)u.push(o),o=$e,(c=Sn())!==n&&(i=Pe())!==n?o=c=[c,i]:($e=o,o=n);u!==n?r=e=[e,s,a,u]:($e=r,r=n)}else $e=r,r=n;else $e=r,r=n;else $e=r,r=n;if(r===n){if(r=$e,t.substr($e,8)===E?(e=E,$e+=8):(e=n,0===Be&&ze(L)),e!==n)if((s=_n())!==n)if((a=qe())!==n){for(u=[],o=$e,(c=Sn())!==n&&(i=qe())!==n?o=c=[c,i]:($e=o,o=n);o!==n;)u.push(o),o=$e,(c=Sn())!==n&&(i=qe())!==n?o=c=[c,i]:($e=o,o=n);u!==n?r=e=[e,s,a,u]:($e=r,r=n)}else $e=r,r=n;else $e=r,r=n;else $e=r,r=n;if(r===n&&(r=$e,t.substr($e,8)===S?(e=S,$e+=8):(e=n,0===Be&&ze(B)),e!==n&&(s=_n())!==n&&(a=Xe())!==n?(r,l=a,r=e=void(jn.where=l)):($e=r,r=n),r===n)){if(r=$e,t.substr($e,9)===T?(e=T,$e+=9):(e=n,0===Be&&ze(_)),e!==n)if((s=_n())!==n)if((a=Ke())!==n){for(u=[],o=$e,(c=Sn())!==n&&(i=Ke())!==n?o=c=[c,i]:($e=o,o=n);o!==n;)u.push(o),o=$e,(c=Sn())!==n&&(i=Ke())!==n?o=c=[c,i]:($e=o,o=n);u!==n?r=e=[e,s,a,u]:($e=r,r=n)}else $e=r,r=n;else $e=r,r=n;else $e=r,r=n;r===n&&(r=$e,t.substr($e,5)===O?(e=O,$e+=5):(e=n,0===Be&&ze(Z)),e!==n&&(s=_n())!==n?(a=function(){var t,r;t=$e,(r=wn())!==n&&(t,e=r,r=void((jn.limit||(jn.limit={})).rows={val:e}));var e;return t=r}(),a!==n?r=e=[e,s,a]:($e=r,r=n)):($e=r,r=n),r===n&&(r=$e,t.substr($e,6)===R?(e=R,$e+=6):(e=n,0===Be&&ze(z)),e!==n&&(s=_n())!==n?(a=function(){var t,r;t=$e,(r=wn())!==n&&(t,r=void Yn(r));return t=r}(),a!==n?r=e=[e,s,a]:($e=r,r=n)):($e=r,r=n),r===n&&(r=$e,t.substr($e,8)===F?(e=F,$e+=8):(e=n,0===Be&&ze(j)),e!==n&&(s=_n())!==n&&(a=Ie())!==n?(r,r=e=void((f=a)&&(jn.search=f))):($e=r,r=n),r===n&&(r=$e,t.substr($e,7)===k?(e=k,$e+=7):(e=n,0===Be&&ze(N)),e!==n&&(s=_n())!==n?(a=function(){var t,r;t=$e,(r=mn())!==n&&(t,r=void(r&&(jn.count=!0)));return t=r}(),a!==n?r=e=[e,s,a]:($e=r,r=n)):($e=r,r=n)))))}}return r}function Pe(){var r,e,s;return r=$e,42===t.charCodeAt($e)?(e="*",$e++):(e=n,0===Be&&ze(D)),e===n&&(e=tn()),e!==n&&(r,s=e,jn.columns=Array.isArray(jn.columns)?jn.columns:[],jn.columns.find(Pn(s))||jn.columns.push(s),e=s),r=e}function qe(){var r,e,s,a,u,o,c,i,f,l,h;if(r=$e,e=$e,42===t.charCodeAt($e)?(s="*",$e++):(s=n,0===Be&&ze(D)),s===n&&(s=tn()),s!==n&&(e,s=function(t){const r="*"===t?{}:t;return r.expand="*",Array.isArray(jn.expand)||(jn.expand=[]),jn.expand.find(Pn(r))||jn.expand.push(r),r}(s)),(e=s)!==n){if(s=$e,a=$e,(u=Bn())!==n&&(a,Fn.push(jn),jn=jn.expand[jn.expand.length-1],u=void(jn.expand="*")),(a=u)!==n){for(u=$e,o=[],c=$e,(i=_n())!==n?(59===t.charCodeAt($e)?(f=";",$e++):(f=n,0===Be&&ze(U)),f===n&&(f=null),f!==n&&(l=_n())!==n&&(h=Ue())!==n?c=i=[i,f,l,h]:($e=c,c=n)):($e=c,c=n);c!==n;)o.push(c),c=$e,(i=_n())!==n?(59===t.charCodeAt($e)?(f=";",$e++):(f=n,0===Be&&ze(U)),f===n&&(f=null),f!==n&&(l=_n())!==n&&(h=Ue())!==n?c=i=[i,f,l,h]:($e=c,c=n)):($e=c,c=n);o!==n&&(u,o=function(t){if(jn.columns){"*"===jn.expand&&(jn.expand=[]);for(const t of jn.columns)jn.expand.find(Pn(t))||jn.expand.push(t);delete jn.columns}else Array.isArray(jn.expand)&&-1===jn.expand.indexOf("*")&&jn.expand.unshift("*")}()),(u=o)!==n?(o=$e,(c=Tn())!==n&&(o,c=void(jn=Fn.pop())),(o=c)!==n?s=a=[a,u,o]:($e=s,s=n)):($e=s,s=n)}else $e=s,s=n;s===n&&(s=null),s!==n?(a=$e,(u=Sn())!==n&&(o=qe())!==n?a=u=[u,o]:($e=a,a=n),a===n&&(a=null),a!==n?(u=$e,t.substr($e,7)===P?(o=P,$e+=7):(o=n,0===Be&&ze(q)),o!==n&&(u,o=function(){const t=new Error("EXPAND_COUNT_UNSUPPORTED");throw t.statusCode=501,t}()),(u=o)===n&&(u=null),u!==n?r=e=[e,s,a,u]:($e=r,r=n)):($e=r,r=n)):($e=r,r=n)}else $e=r,r=n;return r}function Ie(){var t,r;return t=$e,(r=Me())!==n&&(t,r=r),(t=r)===n&&(t=_n()),t}function Me(){var r,e,s,a,u,o,c;if(r=$e,e=$e,(s=an())===n&&(s=null),s!==n&&(e,s=I(s)),(e=s)!==n)if(s=$e,(a=Bn())!==n&&(u=Me())!==n&&(o=Tn())!==n?(s,s=a=M(e,u)):($e=s,s=n),s===n&&(s=$e,a=function(){var r,e,s,a,u;r=$e,34===t.charCodeAt($e)?(e=Fr,$e++):(e=n,0===Be&&ze(jr));if(e!==n){for(s=$e,a=[],t.substr($e,2)===kr?(u=kr,$e+=2):(u=n,0===Be&&ze(Nr)),u===n&&(Dr.test(t.charAt($e))?(u=t.charAt($e),$e++):(u=n,0===Be&&ze(Ur)));u!==n;)a.push(u),t.substr($e,2)===kr?(u=kr,$e+=2):(u=n,0===Be&&ze(Nr)),u===n&&(Dr.test(t.charAt($e))?(u=t.charAt($e),$e++):(u=n,0===Be&&ze(Ur)));(s=a!==n?t.substring(s,$e):a)!==n?(34===t.charCodeAt($e)?(a=Fr,$e++):(a=n,0===Be&&ze(jr)),a!==n?(r,r=e=s.replace(/\\\\/g,"\\").replace(/\\"/g,'"')):($e=r,r=n)):($e=r,r=n)}else $e=r,r=n;return r}(),a!==n&&(s,a=X(e,a)),(s=a)===n&&(s=$e,(a=Cn())!==n&&(s,a=X(e,a)),(s=a)===n&&(s=$e,a=function(){var r,e,s;r=$e,e=[],Pr.test(t.charAt($e))?(s=t.charAt($e),$e++):(s=n,0===Be&&ze(qr));if(s!==n)for(;s!==n;)e.push(s),Pr.test(t.charAt($e))?(s=t.charAt($e),$e++):(s=n,0===Be&&ze(qr));else e=n;r=e!==n?t.substring(r,$e):e;return r}(),a!==n&&(s,a=X(e,a)),s=a))),s!==n){for(a=[],u=$e,(o=un())===n&&(o=cn())===n&&(o=on()),o!==n&&(c=Me())!==n?(u,u=o=Y(e,o,c)):($e=u,u=n);u!==n;)a.push(u),u=$e,(o=un())===n&&(o=cn())===n&&(o=on()),o!==n&&(c=Me())!==n?(u,u=o=Y(e,o,c)):($e=u,u=n);a!==n?(r,r=e=e):($e=r,r=n)}else $e=r,r=n;else $e=r,r=n;return r}function Xe(){var t,r;return t=$e,(r=Ye())!==n&&(t,r=r),t=r}function Ye(){var r,e,s,a,u,o,c,i;if(r=$e,e=$e,(s=an())===n&&(s=null),s!==n&&(e,s=I(s)),(e=s)!==n)if(s=$e,(a=Bn())!==n&&(u=Ye())!==n&&(o=Tn())!==n?(s,s=a=M(e,u)):($e=s,s=n),s===n&&(s=$e,(a=Ve())!==n&&(s,i=a,a=void e.push(...i)),(s=a)===n&&(s=$e,(a=Ge())!==n&&(s,a=function(t,r){"not"===t[t.length-1]&&"not"===r[0]?t.push("(",...r,")"):t.push(...r)}(e,a)),(s=a)===n&&(s=$e,a=function(){var r,e,s,a;Be++,r=$e,t.substr($e,8).toLowerCase()===kt?(e=t.substr($e,8),$e+=8):(e=n,0===Be&&ze(Nt));e===n&&(t.substr($e,8).toLowerCase()===Dt?(e=t.substr($e,8),$e+=8):(e=n,0===Be&&ze(Ut)),e===n&&(t.substr($e,10).toLowerCase()===Pt?(e=t.substr($e,10),$e+=10):(e=n,0===Be&&ze(qt))));e!==n&&Bn()!==n&&(s=We())!==n&&Sn()!==n&&(a=We())!==n&&Tn()!==n?(r,u=s,o=a,r=e={func:e.toLowerCase(),args:[u,o]}):($e=r,r=n);var u,o;Be--,r===n&&(e=n,0===Be&&ze(jt));return r}(),a!==n&&(s,a=function(t,r){t.push(r)}(e,a)),(s=a)===n&&(s=$e,(a=mn())!==n&&(s,a=X(e,a)),s=a)))),s!==n){for(a=[],u=$e,(o=un())===n&&(o=cn()),o!==n&&(c=Ye())!==n?(u,u=o=Y(e,o,c)):($e=u,u=n);u!==n;)a.push(u),u=$e,(o=un())===n&&(o=cn()),o!==n&&(c=Ye())!==n?(u,u=o=Y(e,o,c)):($e=u,u=n);a!==n?(r,r=e=e):($e=r,r=n)}else $e=r,r=n;else $e=r,r=n;return r}function Ge(){var r,e,s,a,c,i,f;if(r=$e,e=$e,(s=xn())!==n&&(e,s=[s]),(e=s)!==n)if(47===t.charCodeAt($e)?(s=u,$e++):(s=n,0===Be&&ze(o)),s!==n){for(a=[],c=$e,(i=xn())!==n?(47===t.charCodeAt($e)?(f=u,$e++):(f=n,0===Be&&ze(o)),f!==n?(c,c=i=G(e,i)):($e=c,c=n)):($e=c,c=n);c!==n;)a.push(c),c=$e,(i=xn())!==n?(47===t.charCodeAt($e)?(f=u,$e++):(f=n,0===Be&&ze(o)),f!==n?(c,c=i=G(e,i)):($e=c,c=n)):($e=c,c=n);a!==n?(c=$e,i=function(){var r,e,s;r=$e,t.substr($e,3)===Q?(e=Q,$e+=3):(e=n,0===Be&&ze(V));e!==n&&Bn()!==n?((s=Je())===n&&(s=null),s!==n&&Tn()!==n?(r,r=e=s):($e=r,r=n)):($e=r,r=n);return r}(),i!==n&&(c,i=function(t,r){let e=t.pop();if(!r)return["exists",{ref:[...t,{id:e}]}];let n=[];for(let t=0,s=0;t<r.length;++t){let a=r[t];a.ref&&0===a.ref.length&&"="===r[t+1]?n[s++]={func:"contains",args:[{ref:e},r[t+=2]]}:n[s++]=a}return n.length<r.length?(e=t.pop(),["exists",{ref:[...t,{id:e,where:n}]}]):["exists",{ref:[...t,{id:e,where:r}]}]}(e,i)),(c=i)===n&&(c=$e,i=function(){var r,e,s;r=$e,t.substr($e,3)===W?(e=W,$e+=3):(e=n,0===Be&&ze(tt));e!==n&&Bn()!==n&&(s=Je())!==n&&Tn()!==n?(r,r=e=s):($e=r,r=n);return r}(),i!==n&&(c,i=function(t,r){let e=t.pop();return["not","exists",{ref:[...t,{id:e,where:["not",{xpr:[...r]}]}]}]}(e,i)),c=i),c!==n?(r,r=e=c):($e=r,r=n)):($e=r,r=n)}else $e=r,r=n;else $e=r,r=n;return r}function He(){var t,r,e,s,a,u,o,c,i;if(t=$e,r=$e,(e=an())===n&&(e=null),e!==n&&(r,e=(c=e)?[c]:[]),(r=e)!==n)if(e=$e,(s=Bn())!==n&&(a=He())!==n&&(u=Tn())!==n?(e,i=a,e=s=void r.push("(",...i,")")):($e=e,e=n),e===n&&(e=$e,(s=Ve())!==n&&(e,s=function(t,r){t.push(...r)}(r,s)),(e=s)===n&&(e=$e,(s=sn())!==n&&(e,s=function(t,r){t.push(r)}(r,s)),(e=s)===n&&(e=$e,(s=Ge())!==n&&(e,s=function(t,r){t.push(...r)}(r,s)),e=s))),e!==n){for(s=[],a=$e,(u=un())===n&&(u=cn()),u!==n&&(o=He())!==n?(a,a=u=H(r,u,o)):($e=a,a=n);a!==n;)s.push(a),a=$e,(u=un())===n&&(u=cn()),u!==n&&(o=He())!==n?(a,a=u=H(r,u,o)):($e=a,a=n);s!==n?(t,t=r=r):($e=t,t=n)}else $e=t,t=n;else $e=t,t=n;return t}function Je(){var r,e,s,a;return r=$e,(e=xn())!==n?(58===t.charCodeAt($e)?(s=J,$e++):(s=n,0===Be&&ze(K)),s!==n&&(a=He())!==n?(r,r=e=Gn(e,a)):($e=r,r=n)):($e=r,r=n),r}function Ke(){var r,e,s,a,u;return r=$e,e=$e,(s=Ge())!==n&&(e,s=function(){const t=new Error("ORDERBY_LAMBDA_UNSUPPORTED");throw t.statusCode=501,t}()),(e=s)===n&&(e=sn())===n&&(e=tn()),e!==n?(s=$e,On()!==n?(a=$e,"asc"===t.substr($e,3)?(u="asc",$e+=3):(u=n,0===Be&&ze(rt)),u===n&&(t.substr($e,4)===et?(u=et,$e+=4):(u=n,0===Be&&ze(nt))),(a=u!==n?t.substring(a,$e):u)!==n?(s,s=a):($e=s,s=n)):($e=s,s=n),s===n&&(s=null),s!==n?(r,r=e=function(t,r){const e=Zn(t,r&&{sort:r});jn.orderBy=jn.orderBy?[...jn.orderBy,e]:[e]}(e,s)):($e=r,r=n)):($e=r,r=n),r}function Qe(){var r,e,s,a,c,i;if(r=$e,(e=fn())!==n){for(s=[],a=$e,47===t.charCodeAt($e)?(c=u,$e++):(c=n,0===Be&&ze(o)),c!==n&&(i=fn())!==n?a=c=[c,i]:($e=a,a=n);a!==n;)s.push(a),a=$e,47===t.charCodeAt($e)?(c=u,$e++):(c=n,0===Be&&ze(o)),c!==n&&(i=fn())!==n?a=c=[c,i]:($e=a,a=n);s!==n?r=e=[e,s]:($e=r,r=n)}else $e=r,r=n;return r}function Ve(){var r,e,s,a,u,o;return Be++,r=$e,(e=We())!==n&&On()!==n?(s=$e,"eq"===t.substr($e,2)?(a="eq",$e+=2):(a=n,0===Be&&ze(lt)),a===n&&("ne"===t.substr($e,2)?(a="ne",$e+=2):(a=n,0===Be&&ze(ht)),a===n&&("lt"===t.substr($e,2)?(a="lt",$e+=2):(a=n,0===Be&&ze(pt)),a===n&&("gt"===t.substr($e,2)?(a="gt",$e+=2):(a=n,0===Be&&ze(At)),a===n&&("le"===t.substr($e,2)?(a="le",$e+=2):(a=n,0===Be&&ze(dt)),a===n&&("ge"===t.substr($e,2)?(a="ge",$e+=2):(a=n,0===Be&&ze(gt))))))),(s=a!==n?t.substring(s,$e):a)!==n&&(a=On())!==n&&(u=We())!==n?(r,r=e=[e,{eq:"=",ne:"!=",lt:"<",gt:">",le:"<=",ge:">="}[o=s]||o,u]):($e=r,r=n)):($e=r,r=n),Be--,r===n&&(e=n,0===Be&&ze(ft)),r}function We(){var r;return Be++,r=function(){var r,e,s,a,c,i,h;Be++,r=$e,e=[],s=$e,(a=xn())!==n?(c=$e,(i=Bn())!==n&&(h=Ne())!==n&&Tn()!==n?(c,c=i=yt(0,h)):($e=c,c=n),c===n&&(c=null),c!==n?(47===t.charCodeAt($e)?(i=u,$e++):(i=n,0===Be&&ze(o)),i!==n?(s,s=a=mt(a,c)):($e=s,s=n)):($e=s,s=n)):($e=s,s=n);if(s!==n)for(;s!==n;)e.push(s),s=$e,(a=xn())!==n?(c=$e,(i=Bn())!==n&&(h=Ne())!==n&&Tn()!==n?(c,c=i=yt(0,h)):($e=c,c=n),c===n&&(c=null),c!==n?(47===t.charCodeAt($e)?(i=u,$e++):(i=n,0===Be&&ze(o)),i!==n?(s,s=a=mt(a,c)):($e=s,s=n)):($e=s,s=n)):($e=s,s=n);else e=n;e!==n?(t.substr($e,6)===f?(s=f,$e+=6):(s=n,0===Be&&ze(l)),s!==n?(r,r=e={func:"count",as:"$count",args:[{ref:e}]}):($e=r,r=n)):($e=r,r=n);Be--,r===n&&(e=n,0===Be&&ze(bt));return r}(),r===n&&(r=sn())===n&&(r=rn())===n&&(r=tn())===n&&(r=en())===n&&(r=nn())===n&&(r=function(){var r,e,s,a,u;r=$e,91===t.charCodeAt($e)?(e=Bt,$e++):(e=n,0===Be&&ze(Tt));if(e!==n){for(s=$e,a=[],Zt.test(t.charAt($e))?(u=t.charAt($e),$e++):(u=n,0===Be&&ze(Rt));u!==n;)a.push(u),Zt.test(t.charAt($e))?(u=t.charAt($e),$e++):(u=n,0===Be&&ze(Rt));(s=a!==n?t.substring(s,$e):a)!==n?(93===t.charCodeAt($e)?(a=_t,$e++):(a=n,0===Be&&ze(Ot)),a!==n?(r,r=e={list:s.replace(/"/g,"").split(",").map((t=>({val:t})))}):($e=r,r=n)):($e=r,r=n)}else $e=r,r=n;return r}()),Be--,r===n&&(n,0===Be&&ze(vt)),r}function tn(){var r,e,s,a,c,i,f,l;if(Be++,r=$e,(e=xn())!==n){for(s=[],a=$e,47===t.charCodeAt($e)?(c=u,$e++):(c=n,0===Be&&ze(o)),c!==n&&(i=xn())!==n?(a,a=c=wt(0,i)):($e=a,a=n);a!==n;)s.push(a),a=$e,47===t.charCodeAt($e)?(c=u,$e++):(c=n,0===Be&&ze(o)),c!==n&&(i=xn())!==n?(a,a=c=wt(0,i)):($e=a,a=n);s!==n?(r,l=s,r=e="null"===(f=e)?{val:null}:{ref:[f,...l]}):($e=r,r=n)}else $e=r,r=n;return Be--,r===n&&(e=n,0===Be&&ze(Ct)),r}function rn(){var r,e,s;return r=$e,(e=mn())===n&&(e=function(){var r,e,s,a,u,o,c,i,f,l,h,p,A,d,g,v,b,y,m,C,w,x,$,E;r=$e,e=$e,s=[],Ir.test(t.charAt($e))?(a=t.charAt($e),$e++):(a=n,0===Be&&ze(Mr));if(a!==n)for(;a!==n;)s.push(a),Ir.test(t.charAt($e))?(a=t.charAt($e),$e++):(a=n,0===Be&&ze(Mr));else s=n;if(s!==n)if(45===t.charCodeAt($e)?(a=Xr,$e++):(a=n,0===Be&&ze(Yr)),a!==n)if(Ir.test(t.charAt($e))?(u=t.charAt($e),$e++):(u=n,0===Be&&ze(Mr)),u!==n)if(Ir.test(t.charAt($e))?(o=t.charAt($e),$e++):(o=n,0===Be&&ze(Mr)),o!==n)if(45===t.charCodeAt($e)?(c=Xr,$e++):(c=n,0===Be&&ze(Yr)),c!==n)if(Ir.test(t.charAt($e))?(i=t.charAt($e),$e++):(i=n,0===Be&&ze(Mr)),i!==n)if(Ir.test(t.charAt($e))?(f=t.charAt($e),$e++):(f=n,0===Be&&ze(Mr)),f!==n){if(l=$e,84===t.charCodeAt($e)?(h="T",$e++):(h=n,0===Be&&ze(Gr)),h!==n)if(Ir.test(t.charAt($e))?(p=t.charAt($e),$e++):(p=n,0===Be&&ze(Mr)),p!==n)if(Ir.test(t.charAt($e))?(A=t.charAt($e),$e++):(A=n,0===Be&&ze(Mr)),A!==n)if(58===t.charCodeAt($e)?(d=J,$e++):(d=n,0===Be&&ze(K)),d!==n)if(Ir.test(t.charAt($e))?(g=t.charAt($e),$e++):(g=n,0===Be&&ze(Mr)),g!==n)if(Ir.test(t.charAt($e))?(v=t.charAt($e),$e++):(v=n,0===Be&&ze(Mr)),v!==n){if(b=$e,58===t.charCodeAt($e)?(y=J,$e++):(y=n,0===Be&&ze(K)),y!==n)if(Ir.test(t.charAt($e))?(m=t.charAt($e),$e++):(m=n,0===Be&&ze(Mr)),m!==n)if(Ir.test(t.charAt($e))?(C=t.charAt($e),$e++):(C=n,0===Be&&ze(Mr)),C!==n){if(w=$e,46===t.charCodeAt($e)?(x=".",$e++):(x=n,0===Be&&ze(Jr)),x!==n){if($=[],Ir.test(t.charAt($e))?(E=t.charAt($e),$e++):(E=n,0===Be&&ze(Mr)),E!==n)for(;E!==n;)$.push(E),Ir.test(t.charAt($e))?(E=t.charAt($e),$e++):(E=n,0===Be&&ze(Mr));else $=n;$!==n?w=x=[x,$]:($e=w,w=n)}else $e=w,w=n;w===n&&(w=null),w!==n?b=y=[y,m,C,w]:($e=b,b=n)}else $e=b,b=n;else $e=b,b=n;else $e=b,b=n;b===n&&(b=null),b!==n?(90===t.charCodeAt($e)?(y="Z",$e++):(y=n,0===Be&&ze(Kr)),y===n&&(y=$e,43===t.charCodeAt($e)?(m="+",$e++):(m=n,0===Be&&ze(Qr)),m===n&&(45===t.charCodeAt($e)?(m=Xr,$e++):(m=n,0===Be&&ze(Yr))),m!==n?(Ir.test(t.charAt($e))?(C=t.charAt($e),$e++):(C=n,0===Be&&ze(Mr)),C!==n?(Ir.test(t.charAt($e))?(w=t.charAt($e),$e++):(w=n,0===Be&&ze(Mr)),w!==n?(58===t.charCodeAt($e)?(x=J,$e++):(x=n,0===Be&&ze(K)),x!==n?(Ir.test(t.charAt($e))?($=t.charAt($e),$e++):($=n,0===Be&&ze(Mr)),$!==n?(Ir.test(t.charAt($e))?(E=t.charAt($e),$e++):(E=n,0===Be&&ze(Mr)),E!==n?y=m=[m,C,w,x,$,E]:($e=y,y=n)):($e=y,y=n)):($e=y,y=n)):($e=y,y=n)):($e=y,y=n)):($e=y,y=n)),y===n&&(y=null),y!==n?l=h=[h,p,A,d,g,v,b,y]:($e=l,l=n)):($e=l,l=n)}else $e=l,l=n;else $e=l,l=n;else $e=l,l=n;else $e=l,l=n;else $e=l,l=n;else $e=l,l=n;l===n&&(l=null),l!==n?e=s=[s,a,u,o,c,i,f,l]:($e=e,e=n)}else $e=e,e=n;else $e=e,e=n;else $e=e,e=n;else $e=e,e=n;else $e=e,e=n;else $e=e,e=n;else $e=e,e=n;r=e!==n?t.substring(r,$e):e;return r}()),e!==n&&(r,e=xt(e)),(r=e)===n&&(r=$e,(e=$n())!==n&&(r,e=xt(e)),(r=e)===n&&(r=$e,e=function(){var r,e,s,a,u,o,c,i,f,l;r=$e,e=$e,s=$e,Vr.test(t.charAt($e))?(a=t.charAt($e),$e++):(a=n,0===Be&&ze(Wr));a===n&&(a=null);if(a!==n){if(u=[],Ir.test(t.charAt($e))?(o=t.charAt($e),$e++):(o=n,0===Be&&ze(Mr)),o!==n)for(;o!==n;)u.push(o),Ir.test(t.charAt($e))?(o=t.charAt($e),$e++):(o=n,0===Be&&ze(Mr));else u=n;if(u!==n){if(o=$e,46===t.charCodeAt($e)?(c=Hr,$e++):(c=n,0===Be&&ze(Jr)),c!==n){if(i=[],Ir.test(t.charAt($e))?(f=t.charAt($e),$e++):(f=n,0===Be&&ze(Mr)),f!==n)for(;f!==n;)i.push(f),Ir.test(t.charAt($e))?(f=t.charAt($e),$e++):(f=n,0===Be&&ze(Mr));else i=n;i!==n?o=c=[c,i]:($e=o,o=n)}else $e=o,o=n;if(o===n&&(o=null),o!==n){if(c=$e,101===t.charCodeAt($e)?(i="e",$e++):(i=n,0===Be&&ze(te)),i!==n){if(f=[],Ir.test(t.charAt($e))?(l=t.charAt($e),$e++):(l=n,0===Be&&ze(Mr)),l!==n)for(;l!==n;)f.push(l),Ir.test(t.charAt($e))?(l=t.charAt($e),$e++):(l=n,0===Be&&ze(Mr));else f=n;f!==n?c=i=[i,f]:($e=c,c=n)}else $e=c,c=n;c===n&&(c=null),c!==n?s=a=[a,u,o,c]:($e=s,s=n)}else $e=s,s=n}else $e=s,s=n}else $e=s,s=n;e=s!==n?t.substring(e,$e):s;e!==n&&(r,e=Dn(e));return r=e}(),e!==n&&(r,e="number"==typeof(s=e)?{val:s}:{val:s,literal:"number"}),(r=e)===n&&(r=$e,(e=Cn())!==n&&(r,e=xt(e)),(r=e)===n&&(r=$e,e=function(){var r,e,s,a,u,o;r=$e,t.substr($e,7)===le?(e=le,$e+=7):(e=n,0===Be&&ze(he));if(e!==n){if(s=$e,a=$e,u=[],pe.test(t.charAt($e))?(o=t.charAt($e),$e++):(o=n,0===Be&&ze(Ae)),o!==n)for(;o!==n;)u.push(o),pe.test(t.charAt($e))?(o=t.charAt($e),$e++):(o=n,0===Be&&ze(Ae));else u=n;u!==n?(t.substr($e,2)===de?(o=de,$e+=2):(o=n,0===Be&&ze(ge)),o===n&&(61===t.charCodeAt($e)?(o=v,$e++):(o=n,0===Be&&ze(b))),o===n&&(o=null),o!==n?a=u=[u,o]:($e=a,a=n)):($e=a,a=n),(s=a!==n?t.substring(s,$e):a)!==n?(39===t.charCodeAt($e)?(a=Tr,$e++):(a=n,0===Be&&ze(_r)),a!==n?(r,r=e=Un(s)):($e=r,r=n)):($e=r,r=n)}else $e=r,r=n;return r}(),e!==n&&(r,e=xt(e)),r=e)))),r}function en(){var r,e,s,a,u,o;if(r=$e,e=$e,s=$e,123===t.charCodeAt($e)?(a="{",$e++):(a=n,0===Be&&ze($t)),a!==n){for(u=[],(o=en())===n&&(Et.test(t.charAt($e))?(o=t.charAt($e),$e++):(o=n,0===Be&&ze(Lt)));o!==n;)u.push(o),(o=en())===n&&(Et.test(t.charAt($e))?(o=t.charAt($e),$e++):(o=n,0===Be&&ze(Lt)));u!==n?(125===t.charCodeAt($e)?(o="}",$e++):(o=n,0===Be&&ze(St)),o!==n?s=a=[a,u,o]:($e=s,s=n)):($e=s,s=n)}else $e=s,s=n;return(e=s!==n?t.substring(e,$e):s)!==n&&(r,e=xt(e)),r=e}function nn(){var r,e,s,a,u,o,c,i;if(r=$e,e=$e,s=$e,91===t.charCodeAt($e)?(a=Bt,$e++):(a=n,0===Be&&ze(Tt)),a!==n&&(u=_n())!==n?(93===t.charCodeAt($e)?(o=_t,$e++):(o=n,0===Be&&ze(Ot)),o!==n?s=a=[a,u,o]:($e=s,s=n)):($e=s,s=n),s===n)if(s=$e,91===t.charCodeAt($e)?(a=Bt,$e++):(a=n,0===Be&&ze(Tt)),a!==n)if((u=_n())!==n)if(123===t.charCodeAt($e)?(o="{",$e++):(o=n,0===Be&&ze($t)),o!==n){for(c=[],(i=nn())===n&&(Zt.test(t.charAt($e))?(i=t.charAt($e),$e++):(i=n,0===Be&&ze(Rt)));i!==n;)c.push(i),(i=nn())===n&&(Zt.test(t.charAt($e))?(i=t.charAt($e),$e++):(i=n,0===Be&&ze(Rt)));c!==n?(93===t.charCodeAt($e)?(i=_t,$e++):(i=n,0===Be&&ze(Ot)),i!==n?s=a=[a,u,o,c,i]:($e=s,s=n)):($e=s,s=n)}else $e=s,s=n;else $e=s,s=n;else $e=s,s=n;return(e=s!==n?t.substring(e,$e):s)!==n&&(r,e=xt(e)),r=e}function sn(){var r,e,s,a,u,o,c;if(Be++,r=$e,e=$e,s=[],st.test(t.charAt($e))?(a=t.charAt($e),$e++):(a=n,0===Be&&ze(at)),a!==n)for(;a!==n;)s.push(a),st.test(t.charAt($e))?(a=t.charAt($e),$e++):(a=n,0===Be&&ze(at));else s=n;if((e=s!==n?t.substring(e,$e):s)!==n)if((s=Bn())!==n)if((a=We())!==n){for(u=[],o=$e,Sn()!==n&&(c=We())!==n?(o,o=Ft(0,0,c)):($e=o,o=n);o!==n;)u.push(o),o=$e,Sn()!==n&&(c=We())!==n?(o,o=Ft(0,0,c)):($e=o,o=n);u!==n&&(o=Tn())!==n?(r,r=e=function(t,r,e){if(Rn&&!(t.toLowerCase()in Rn.functions))throw Object.assign(new Error(`"${t}" is an unknown function in OData URL spec (strict mode)`),{statusCode:400});return{func:t.toLowerCase(),args:[r,...e]}}(e,a,u)):($e=r,r=n)}else $e=r,r=n;else $e=r,r=n;else $e=r,r=n;return Be--,r===n&&(e=n,0===Be&&ze(zt)),r}function an(){var r,e;return r=$e,_n()!==n?("not"===t.substr($e,3).toLowerCase()?(e=t.substr($e,3),$e+=3):(e=n,0===Be&&ze(It)),e!==n&&On()!==n?(r,r="not"):($e=r,r=n)):($e=r,r=n),r}function un(){var r,e;return r=$e,On()!==n?("and"===t.substr($e,3).toLowerCase()?(e=t.substr($e,3),$e+=3):(e=n,0===Be&&ze(Mt)),e!==n&&On()!==n?(r,r="and"):($e=r,r=n)):($e=r,r=n),r}function on(){var t,r;return t=$e,(r=On())!==n&&(t,r="and"),t=r}function cn(){var r,e;return r=$e,On()!==n?("or"===t.substr($e,2).toLowerCase()?(e=t.substr($e,2),$e+=2):(e=n,0===Be&&ze(Xt)),e!==n&&On()!==n?(r,r="or"):($e=r,r=n)):($e=r,r=n),r}function fn(){var r,e,s;return r=$e,t.substr($e,9)===Yt?(e=Yt,$e+=9):(e=n,0===Be&&ze(Gt)),e!==n?(s=function(){var t,r,e,s,a;if(t=$e,Bn()!==n)if(_n()!==n)if((r=ln())!==n){for(e=[],s=$e,_n()!==n&&Sn()!==n&&_n()!==n&&(a=ln())!==n?(s,s=hr(0,a)):($e=s,s=n);s!==n;)e.push(s),s=$e,_n()!==n&&Sn()!==n&&_n()!==n&&(a=ln())!==n?(s,s=hr(0,a)):($e=s,s=n);e!==n&&(s=_n())!==n&&Tn()!==n?(t,t=function(t,r){let e=jn.apply;e.aggregate&&(jn.apply={apply:e},e.groupBy&&(jn.apply.groupBy=e.groupBy),e=jn.apply),e.aggregate=[t,...r]}(r,e)):($e=t,t=n)}else $e=t,t=n;else $e=t,t=n;else $e=t,t=n;return t}(),s!==n?r=e=[e,s]:($e=r,r=n)):($e=r,r=n),r===n&&(r=$e,t.substr($e,7)===Ht?(e=Ht,$e+=7):(e=n,0===Be&&ze(Jt)),e!==n?(s=function(){var t,r,e,s,a,u,o,c,i;if(t=$e,(r=Bn())!==n)if((e=Bn())!==n)if((s=gn())!==n){for(a=[],u=$e,(o=Sn())!==n&&(c=gn())!==n?(u,u=o=hr(0,c)):($e=u,u=n);u!==n;)a.push(u),u=$e,(o=Sn())!==n&&(c=gn())!==n?(u,u=o=hr(0,c)):($e=u,u=n);a!==n?(u=$e,(o=Tn())!==n&&(u,o=function(t,r){let e=jn.apply;(e.groupBy||e.where||e.search)&&(jn.apply={apply:e},e=jn.apply),e.groupBy=[t,...r]}(s,a)),(u=o)!==n?(o=$e,(c=Sn())!==n&&(i=Qe())!==n?o=c=[c,i]:($e=o,o=n),o===n&&(o=null),o!==n&&(c=Tn())!==n?t=r=[r,e,s,a,u,o,c]:($e=t,t=n)):($e=t,t=n)):($e=t,t=n)}else $e=t,t=n;else $e=t,t=n;else $e=t,t=n;return t}(),s!==n?r=e=[e,s]:($e=r,r=n)):($e=r,r=n),r===n&&(r=$e,t.substr($e,6)===Kt?(e=Kt,$e+=6):(e=n,0===Be&&ze(Qt)),e!==n&&(s=vn())!==n?r=e=[e,s]:($e=r,r=n),r===n&&(r=$e,t.substr($e,6)===Vt?(e=Vt,$e+=6):(e=n,0===Be&&ze(Wt)),e!==n&&(s=bn())!==n?r=e=[e,s]:($e=r,r=n),r===n&&(r=$e,t.substr($e,6)===tr?(e=tr,$e+=6):(e=n,0===Be&&ze(rr)),e!==n?(s=function(){var t,r,e,s,a,u;t=$e,(r=Bn())!==n&&(e=_n())!==n?(s=$e,(a=Ie())!==n&&(s,a=function(t){if(!t)return;let r=jn.apply;r.search&&(jn.apply={apply:r},r=jn.apply),r.search=t}(a)),(s=a)!==n&&(a=_n())!==n&&(u=Tn())!==n?t=r=[r,e,s,a,u]:($e=t,t=n)):($e=t,t=n);return t}(),s!==n?r=e=[e,s]:($e=r,r=n)):($e=r,r=n),r===n&&(r=$e,t.substr($e,6)===er?(e=er,$e+=6):(e=n,0===Be&&ze(nr)),e!==n?(s=function(){var t,r,e,s,a,u,o,c,i,f;if(t=$e,(r=Bn())!==n)if((e=_n())!==n)if((s=Qe())!==n){if(a=[],u=$e,(o=_n())!==n&&(c=Sn())!==n&&(i=_n())!==n&&(f=Qe())!==n?u=o=[o,c,i,f]:($e=u,u=n),u!==n)for(;u!==n;)a.push(u),u=$e,(o=_n())!==n&&(c=Sn())!==n&&(i=_n())!==n&&(f=Qe())!==n?u=o=[o,c,i,f]:($e=u,u=n);else a=n;a!==n&&(u=_n())!==n&&(o=Tn())!==n?t=r=[r,e,s,a,u,o]:($e=t,t=n)}else $e=t,t=n;else $e=t,t=n;else $e=t,t=n;return t}(),s!==n?r=e=[e,s]:($e=r,r=n)):($e=r,r=n),r===n&&(r=$e,t.substr($e,7)===sr?(e=sr,$e+=7):(e=n,0===Be&&ze(ar)),e!==n?(s=function(){var t,r,e,s,a,u,o,c,i,f;if(t=$e,(r=Bn())!==n)if((e=_n())!==n)if((s=yn())!==n){for(a=[],u=$e,(o=_n())!==n&&(c=Sn())!==n&&(i=_n())!==n&&(f=yn())!==n?u=o=[o,c,i,f]:($e=u,u=n);u!==n;)a.push(u),u=$e,(o=_n())!==n&&(c=Sn())!==n&&(i=_n())!==n&&(f=yn())!==n?u=o=[o,c,i,f]:($e=u,u=n);a!==n&&(u=_n())!==n&&(o=Tn())!==n?t=r=[r,e,s,a,u,o]:($e=t,t=n)}else $e=t,t=n;else $e=t,t=n;else $e=t,t=n;return t}(),s!==n?r=e=[e,s]:($e=r,r=n)):($e=r,r=n),r===n&&(r=$e,"topcount"===t.substr($e,8).toLowerCase()?(e=t.substr($e,8),$e+=8):(e=n,0===Be&&ze(ur)),e===n&&("bottomcount"===t.substr($e,11).toLowerCase()?(e=t.substr($e,11),$e+=11):(e=n,0===Be&&ze(or)),e===n&&("topsum"===t.substr($e,6).toLowerCase()?(e=t.substr($e,6),$e+=6):(e=n,0===Be&&ze(cr)),e===n&&("bottomsum"===t.substr($e,9).toLowerCase()?(e=t.substr($e,9),$e+=9):(e=n,0===Be&&ze(ir)),e===n&&("toppercent"===t.substr($e,10).toLowerCase()?(e=t.substr($e,10),$e+=10):(e=n,0===Be&&ze(fr)),e===n&&("bottompercent"===t.substr($e,13).toLowerCase()?(e=t.substr($e,13),$e+=13):(e=n,0===Be&&ze(lr))))))),e!==n?(s=function(){var t,r,e;t=$e,Bn()!==n&&_n()!==n&&(r=We())!==n&&_n()!==n&&Sn()!==n&&_n()!==n&&(e=We())!==n&&_n()!==n&&Tn()!==n?(t,t=[r,e]):($e=t,t=n);return t}(),s!==n?(r,r=e=function(t,r){if(!{topcount:!0,bottomcount:!0,topsum:!1,bottomsum:!1,toppercent:!1,bottompercent:!1}[t=t.toLowerCase()])throw Object.assign(new Error(`Transformation "${t}" in $apply is not supported yet.`),{statusCode:501});(jn.apply.aggregate||(jn.apply.aggregate=[])).push({func:t,args:r})}(e,s)):($e=r,r=n)):($e=r,r=n),r===n&&(r=function(){var r;t.substr($e,8)===wr?(r=wr,$e+=8):(r=n,0===Be&&ze(xr));return r}())))))))),r}function ln(){var r,e,s,a;return r=$e,e=$e,t.substr($e,6)===f?(s=f,$e+=6):(s=n,0===Be&&ze(l)),s!==n&&(a=dn())!==n?(e,e=s={func:"count",args:[{val:1}],as:a}):($e=e,e=n),e===n&&(e=hn()),e!==n&&(r,e=e),r=e}function hn(){var t,r,e,s,a;return t=$e,(r=tn())!==n&&(e=pn())!==n?((s=An())===n&&(s=null),s!==n&&(a=dn())!==n?(t,t=r={func:e,args:[r],as:a}):($e=t,t=n)):($e=t,t=n),t===n&&(t=$e,(r=xn())!==n&&(e=Bn())!==n&&(s=hn())!==n&&(a=Tn())!==n?t=r=[r,e,s,a]:($e=t,t=n)),t}function pn(){var r,e,s,a,u;if(r=$e,On()!==n)if(t.substr($e,4)===pr?(e=pr,$e+=4):(e=n,0===Be&&ze(Ar)),e!==n)if(On()!==n){if(s=$e,a=[],st.test(t.charAt($e))?(u=t.charAt($e),$e++):(u=n,0===Be&&ze(at)),u!==n)for(;u!==n;)a.push(u),st.test(t.charAt($e))?(u=t.charAt($e),$e++):(u=n,0===Be&&ze(at));else a=n;(s=a!==n?t.substring(s,$e):a)!==n?(r,r=s.toLowerCase()):($e=r,r=n)}else $e=r,r=n;else $e=r,r=n;else $e=r,r=n;return r}function An(){var r,e,s,a,u,o,c;return r=$e,(e=On())!==n?(t.substr($e,4)===dr?(s=dr,$e+=4):(s=n,0===Be&&ze(gr)),s!==n&&(a=On())!==n&&(u=tn())!==n&&(o=pn())!==n?((c=An())===n&&(c=null),c!==n?r=e=[e,s,a,u,o,c]:($e=r,r=n)):($e=r,r=n)):($e=r,r=n),r}function dn(){var r,e,s;return r=$e,On()!==n?("as"===t.substr($e,2)?(e="as",$e+=2):(e=n,0===Be&&ze(vr)),e!==n&&On()!==n&&(s=xn())!==n?(r,r=s):($e=r,r=n)):($e=r,r=n),r}function gn(){var r,e;return r=$e,e=function(){var r,e,s,a,u,o,c,i,f,l,h;r=$e,e=$e,t.substr($e,6)===br?(s=br,$e+=6):(s=n,0===Be&&ze(yr));if(s!==n)if((a=Bn())!==n)if((u=_n())!==n)if(t.substr($e,4)===mr?(o=mr,$e+=4):(o=n,0===Be&&ze(Cr)),o===n&&(o=tn()),o!==n){if(c=[],i=$e,(f=_n())!==n&&(l=Sn())!==n&&(h=tn())!==n?i=f=[f,l,h]:($e=i,i=n),i!==n)for(;i!==n;)c.push(i),i=$e,(f=_n())!==n&&(l=Sn())!==n&&(h=tn())!==n?i=f=[f,l,h]:($e=i,i=n);else c=n;c!==n&&(i=_n())!==n&&(f=Tn())!==n?e=s=[s,a,u,o,c,i,f]:($e=e,e=n)}else $e=e,e=n;else $e=e,e=n;else $e=e,e=n;else $e=e,e=n;e!==n&&(r,e=function(t){const r=new Error("Rollup in groupby is not supported yet.");throw r.statusCode=501,r}());return r=e}(),e===n&&(e=tn()),e!==n&&(r,e=e),r=e}function vn(){var t,r,e,s,a,u;return t=$e,(r=Bn())!==n&&(e=_n())!==n?(s=$e,(a=Xe())!==n&&(s,a=function(t){let r=jn.apply;r.where&&(jn.apply={apply:r},r=jn.apply),r.where=t}(a)),(s=a)!==n&&(a=_n())!==n&&(u=Tn())!==n?t=r=[r,e,s,a,u]:($e=t,t=n)):($e=t,t=n),t}function bn(){var t,r,e,s,a,u,o,c,i,f,l,h,p,A;if(t=$e,(r=Bn())!==n)if((e=_n())!==n)if((s=tn())!==n)if((a=_n())!==n)if((u=Sn())!==n)if((o=_n())!==n){if(c=$e,(i=bn())!==n){for(f=[],l=$e,(h=_n())!==n&&(p=Sn())!==n&&(A=bn())!==n?l=h=[h,p,A]:($e=l,l=n);l!==n;)f.push(l),l=$e,(h=_n())!==n&&(p=Sn())!==n&&(A=bn())!==n?l=h=[h,p,A]:($e=l,l=n);f!==n?c=i=[i,f]:($e=c,c=n)}else $e=c,c=n;if(c===n)if(c=$e,(i=vn())!==n){for(f=[],l=$e,(h=_n())!==n&&(p=Sn())!==n&&(A=bn())!==n?l=h=[h,p,A]:($e=l,l=n);l!==n;)f.push(l),l=$e,(h=_n())!==n&&(p=Sn())!==n&&(A=bn())!==n?l=h=[h,p,A]:($e=l,l=n);f!==n?c=i=[i,f]:($e=c,c=n)}else $e=c,c=n;c!==n&&(i=_n())!==n&&(f=Tn())!==n?t=r=[r,e,s,a,u,o,c,i,f]:($e=t,t=n)}else $e=t,t=n;else $e=t,t=n;else $e=t,t=n;else $e=t,t=n;else $e=t,t=n;else $e=t,t=n;return t}function yn(){var t,r,e;return t=$e,(r=Ye())!==n&&(e=dn())!==n?t=r=[r,e]:($e=t,t=n),t}function mn(){var r,e;return r=$e,t.substr($e,4)===$r?(e=$r,$e+=4):(e=n,0===Be&&ze(Er)),e===n&&(t.substr($e,5)===Lr?(e=Lr,$e+=5):(e=n,0===Be&&ze(Sr))),e!==n&&(r,e="true"===e),r=e}function Cn(){var r,e,s,a,u;if(Be++,r=$e,39===t.charCodeAt($e)?(e=Tr,$e++):(e=n,0===Be&&ze(_r)),e!==n){for(s=$e,a=[],t.substr($e,2)===Or?(u=Or,$e+=2):(u=n,0===Be&&ze(Zr)),u===n&&(Rr.test(t.charAt($e))?(u=t.charAt($e),$e++):(u=n,0===Be&&ze(zr)));u!==n;)a.push(u),t.substr($e,2)===Or?(u=Or,$e+=2):(u=n,0===Be&&ze(Zr)),u===n&&(Rr.test(t.charAt($e))?(u=t.charAt($e),$e++):(u=n,0===Be&&ze(zr)));(s=a!==n?t.substring(s,$e):a)!==n?(39===t.charCodeAt($e)?(a=Tr,$e++):(a=n,0===Be&&ze(_r)),a!==n?(r,r=e=s.replace(/''/g,"'")):($e=r,r=n)):($e=r,r=n)}else $e=r,r=n;return Be--,r===n&&(e=n,0===Be&&ze(Br)),r}function wn(){var r,e,s,a,u,o;if(r=$e,e=$e,s=$e,Vr.test(t.charAt($e))?(a=t.charAt($e),$e++):(a=n,0===Be&&ze(Wr)),a===n&&(a=null),a!==n){if(u=[],Ir.test(t.charAt($e))?(o=t.charAt($e),$e++):(o=n,0===Be&&ze(Mr)),o!==n)for(;o!==n;)u.push(o),Ir.test(t.charAt($e))?(o=t.charAt($e),$e++):(o=n,0===Be&&ze(Mr));else u=n;u!==n?s=a=[a,u]:($e=s,s=n)}else $e=s,s=n;return(e=s!==n?t.substring(e,$e):s)!==n&&(r,e=parseInt(e)),r=e}function xn(){var r,e,s,a,u,o,c,i;if(r=$e,e=$e,Be++,s=mn(),Be--,s===n?e=void 0:($e=e,e=n),e!==n)if(s=$e,Be++,a=$n(),Be--,a===n?s=void 0:($e=s,s=n),s!==n){if(a=$e,u=$e,re.test(t.charAt($e))?(o=t.charAt($e),$e++):(o=n,0===Be&&ze(ee)),o!==n){for(c=[],ne.test(t.charAt($e))?(i=t.charAt($e),$e++):(i=n,0===Be&&ze(se));i!==n;)c.push(i),ne.test(t.charAt($e))?(i=t.charAt($e),$e++):(i=n,0===Be&&ze(se));c!==n?u=o=[o,c]:($e=u,u=n)}else $e=u,u=n;(a=u!==n?t.substring(a,$e):u)!==n?(r,r=e=a):($e=r,r=n)}else $e=r,r=n;else $e=r,r=n;return r}function $n(){var r,e,s,a,u,o,c,i,f,l,h,p,A,d;return r=$e,e=$e,(s=En())!==n&&(a=En())!==n?(45===t.charCodeAt($e)?(u=Xr,$e++):(u=n,0===Be&&ze(Yr)),u===n&&(u=null),u!==n&&(o=En())!==n?(45===t.charCodeAt($e)?(c=Xr,$e++):(c=n,0===Be&&ze(Yr)),c===n&&(c=null),c!==n&&(i=En())!==n?(45===t.charCodeAt($e)?(f=Xr,$e++):(f=n,0===Be&&ze(Yr)),f===n&&(f=null),f!==n&&(l=En())!==n?(45===t.charCodeAt($e)?(h=Xr,$e++):(h=n,0===Be&&ze(Yr)),h===n&&(h=null),h!==n&&(p=En())!==n&&(A=En())!==n&&(d=En())!==n?e=s=[s,a,u,o,c,i,f,l,h,p,A,d]:($e=e,e=n)):($e=e,e=n)):($e=e,e=n)):($e=e,e=n)):($e=e,e=n),r=e!==n?t.substring(r,$e):e}function En(){var r,e,s,a,u,o;return r=$e,e=$e,ae.test(t.charAt($e))?(s=t.charAt($e),$e++):(s=n,0===Be&&ze(ue)),s!==n?(ae.test(t.charAt($e))?(a=t.charAt($e),$e++):(a=n,0===Be&&ze(ue)),a!==n?(ae.test(t.charAt($e))?(u=t.charAt($e),$e++):(u=n,0===Be&&ze(ue)),u!==n?(ae.test(t.charAt($e))?(o=t.charAt($e),$e++):(o=n,0===Be&&ze(ue)),o!==n?e=s=[s,a,u,o]:($e=e,e=n)):($e=e,e=n)):($e=e,e=n)):($e=e,e=n),r=e!==n?t.substring(r,$e):e}function Ln(){var r,e,s,a;if(r=$e,e=$e,s=[],oe.test(t.charAt($e))?(a=t.charAt($e),$e++):(a=n,0===Be&&ze(ce)),a!==n)for(;a!==n;)s.push(a),oe.test(t.charAt($e))?(a=t.charAt($e),$e++):(a=n,0===Be&&ze(ce));else s=n;return(e=s!==n?t.substring(e,$e):s)!==n&&(r,e={val:e}),r=e}function Sn(){var r,e,s,a;return r=$e,(e=_n())!==n?(44===t.charCodeAt($e)?(s=",",$e++):(s=n,0===Be&&ze(ve)),s!==n&&(a=_n())!==n?r=e=[e,s,a]:($e=r,r=n)):($e=r,r=n),r}function Bn(){var r,e,s,a;return r=$e,(e=_n())!==n?(40===t.charCodeAt($e)?(s="(",$e++):(s=n,0===Be&&ze(be)),s!==n&&(a=_n())!==n?r=e=[e,s,a]:($e=r,r=n)):($e=r,r=n),r}function Tn(){var r,e,s;return r=$e,(e=_n())!==n?(41===t.charCodeAt($e)?(s=")",$e++):(s=n,0===Be&&ze(ye)),s!==n?r=e=[e,s]:($e=r,r=n)):($e=r,r=n),r}function _n(){var r,e,s;for(Be++,r=$e,e=[],Ce.test(t.charAt($e))?(s=t.charAt($e),$e++):(s=n,0===Be&&ze(we));s!==n;)e.push(s),Ce.test(t.charAt($e))?(s=t.charAt($e),$e++):(s=n,0===Be&&ze(we));return r=e!==n?t.substring(r,$e):e,Be--,r===n&&(e=n,0===Be&&ze(me)),r}function On(){var r,e,s;if(Be++,r=$e,e=[],Ce.test(t.charAt($e))?(s=t.charAt($e),$e++):(s=n,0===Be&&ze(we)),s!==n)for(;s!==n;)e.push(s),Ce.test(t.charAt($e))?(s=t.charAt($e),$e++):(s=n,0===Be&&ze(we));else e=n;return r=e!==n?t.substring(r,$e):e,Be--,r===n&&(e=n,0===Be&&ze(xe)),r}const Zn=Object.assign,{strict:Rn,minimal:zn}=r,Fn=[];let jn,kn;const Nn=["$value"],Dn=r.safeNumber||function(t){const r=Number(t);return Number.isSafeInteger(r)?r:t},Un=r.standardBase64||function(t){return(t=t.replace(/_/g,"/").replace(/-/g,"+")).padEnd(t.length+t.length%4,"=")},Pn=t=>r=>t===r||t.as&&r.as&&t.as===r.as||r.as&&t.ref&&r.as===t.ref[t.ref.length-1]||t.ref&&r.ref&&t.ref.join("")===r.ref.join(""),qn=t=>r=>{if(Array.isArray(r))return r.map(qn(t));const e=r.ref&&t.find((t=>t.as&&t.func&&t.as===r.ref[0]));return e||r},In=t=>r=>Array.isArray(r)?r.map(In(t)):r.ref&&!t.find(Pn(r))?{val:null}:r,Mn=(t,r)=>{if(1===r.ref.length)t.find(Pn(r))||t.push(r);else{const e=r.ref.shift(),n=t.find((t=>t.ref&&t.ref[0]===e));if(n)Mn(n.expand,r);else{const n={ref:[e],expand:[]};Mn(n.expand,r),t.push(n)}}},Xn=(t,r,e=!1)=>{if(!r)return;if(t.apply&&delete t.apply,(r.apply||r.where&&t.where||r.search&&t.search)&&(t.from={SELECT:{from:t.from}}),r.where&&(t.where?t.from.SELECT.where=r.where:t.where=r.where),r.search&&(t.search?t.from.SELECT.search=r.search:t.search=r.search),r.groupBy){t.groupBy=[];for(const e of r.groupBy)t.groupBy.find(Pn(e))||t.groupBy.push(e)}const n=[...t.groupBy||[],...r.aggregate||[]];n.length&&(t.columns=t.columns&&!e?t.columns.reduce(((t,r)=>{const e=n.find(Pn(r));return e&&t.push(e),t}),[]):n,t.where&&(t.where=t.where.map(qn(t.columns)),t.groupBy&&(t.having=t.where.map(In(t.groupBy)),delete t.where)),t.columns=t.columns.reduce(((t,r)=>(r.ref&&r.ref.length>1&&n.find(Pn(r))?Mn(t,{ref:[...r.ref]}):t.push(r),t)),[])),r.apply&&Xn(t.from.SELECT,r.apply)},Yn=t=>{jn.limit&&jn.limit.offset&&jn.limit.offset.val&&(t+=jn.limit.offset.val),(jn.limit||(jn.limit={})).offset={val:t}},Gn=(t,r)=>{for(const e of r)e.ref&&e.ref[0]===t&&e.ref.shift(),e.func&&Gn(t,e.args);return r};if((e=a())!==n&&$e===t.length)return e;throw e!==n&&$e<t.length&&ze({type:"end"}),Fe(Se,Le<t.length?t.charAt(Le):null,Le<t.length?Re(Le,Le+1):Re(Le,Le))}peg$subclass(peg$SyntaxError,Error),peg$SyntaxError.buildMessage=function(t,r){var e={literal:function(t){return'"'+s(t.text)+'"'},class:function(t){var r,e="";for(r=0;r<t.parts.length;r++)e+=t.parts[r]instanceof Array?a(t.parts[r][0])+"-"+a(t.parts[r][1]):a(t.parts[r]);return"["+(t.inverted?"^":"")+e+"]"},any:function(t){return"any character"},end:function(t){return"end of input"},other:function(t){return t.description}};function n(t){return t.charCodeAt(0).toString(16).toUpperCase()}function s(t){return t.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,(function(t){return"\\x0"+n(t)})).replace(/[\x10-\x1F\x7F-\x9F]/g,(function(t){return"\\x"+n(t)}))}function a(t){return t.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,(function(t){return"\\x0"+n(t)})).replace(/[\x10-\x1F\x7F-\x9F]/g,(function(t){return"\\x"+n(t)}))}return"Expected "+function(t){var r,n,s,a=new Array(t.length);for(r=0;r<t.length;r++)a[r]=(s=t[r],e[s.type](s));if(a.sort(),a.length>0){for(r=1,n=1;r<a.length;r++)a[r-1]!==a[r]&&(a[n]=a[r],n++);a.length=n}switch(a.length){case 1:return a[0];case 2:return a[0]+" or "+a[1];default:return a.slice(0,-1).join(", ")+", or "+a[a.length-1]}}(t)+" but "+function(t){return t?'"'+s(t)+'"':"end of input"}(r)+" found."},module.exports={SyntaxError:peg$SyntaxError,parse:peg$parse};
|
|
1
|
+
"use strict";function peg$subclass(r,t){function e(){this.constructor=r}e.prototype=t.prototype,r.prototype=new e}function peg$SyntaxError(r,t,e,n){this.message=r,this.expected=t,this.found=e,this.location=n,this.name="SyntaxError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,peg$SyntaxError)}function peg$parse(r,t){t=void 0!==t?t:{};var e,n={},s={ODataRelativeURI:Ye},o=Ye,u="/",a=De("/",!1),c=De("?",!1),i=De("&",!1),f="$count",l=De("$count",!1),h="$ref",p=De("$ref",!1),A="$value",d=De("$value",!1),g=function(r){return[r]},m="=",v=De("=",!1),b="$skiptoken=",y=De("$skiptoken=",!1),C="$select=",w=De("$select=",!1),x="$expand=",E=De("$expand=",!1),$="$filter=",L=De("$filter=",!1),B="$orderby=",S=De("$orderby=",!1),T=function(r,t){os(t)},O="$top=",_=De("$top=",!1),R="$skip=",Z=De("$skip=",!1),j="$search=",N=De("$search=",!1),k="$count=",z=De("$count=",!1),D="$apply=",P=De("$apply=",!1),F=De("*",!1),U=De(";",!1),M="/$count",q=De("/$count",!1),I=function(r){return r?[r]:[]},Y=function(r,t){r.push({xpr:t})},X=function(r,t){r.push({val:t})},J=function(r,t,e){r.push(t,...e)},Q=function(r,t){r.push(t)},W=function(r,t,e){r.push(t,...e)},G=":",H=De(":",!1),K="any",V=De("any",!1),rr="all",tr=De("all",!1),er=De("asc",!1),nr="desc",sr=De("desc",!1),or=function(r,t){return t},ur=/^[a-zA-Z]/,ar=Pe([["a","z"],["A","Z"]],!1,!1),cr=/^[a-zA-Z0-9\-]/,ir=Pe([["a","z"],["A","Z"],["0","9"],"-"],!1,!1),fr=/^[^&]/,lr=Pe(["&"],!0,!1),hr="$format=",pr=De("$format=",!1),Ar=Fe("a comparison"),dr=De("eq",!1),gr=De("ne",!1),mr=De("lt",!1),vr=De("gt",!1),br=De("le",!1),yr=De("ge",!1),Cr=(De("add",!1),De("sub",!1),De("mul",!1),De("div",!1),De("mod",!1),Fe("an operand")),wr=Fe("navigation with $count"),xr=function(r,t){return t},Er=function(r,t){return t?{id:r,where:t}:r},$r=Fe("a reference"),Lr=function(r,t){return t},Br=function(r){return{val:r}},Sr=De("{",!1),Tr=/^[^}]/,Or=Pe(["}"],!0,!1),_r=De("}",!1),Rr="[",Zr=De("[",!1),jr="]",Nr=De("]",!1),kr=/^[^\]]/,zr=Pe(["]"],!0,!1),Dr=Fe("a function call"),Pr=function(r,t,e){return e},Fr=Fe("a boolean function"),Ur="contains",Mr=De("contains",!0),qr="endswith",Ir=De("endswith",!0),Yr="startswith",Xr=De("startswith",!0),Jr=De("NOT",!0),Qr=De("AND",!0),Wr=De("OR",!0),Gr="aggregate",Hr=De("aggregate",!1),Kr="groupby",Vr=De("groupby",!1),rt="filter",tt=De("filter",!1),et="search",nt=De("search",!1),st="concat",ot=De("concat",!1),ut="compute",at=De("compute",!1),ct=De("top",!1),it="skip",ft=De("skip",!1),lt="orderby",ht=De("orderby",!1),pt=De("topcount",!0),At=De("bottomcount",!0),dt=De("topsum",!0),gt=De("bottomsum",!0),mt=De("toppercent",!0),vt=De("bottompercent",!0),bt=function(r,t){return t},yt="with",Ct=De("with",!1),wt="from",xt=De("from",!1),Et=De("as",!1),$t="rollup",Lt=De("rollup",!1),Bt="$all",St=De("$all",!1),Tt=function(r,t){return t},Ot="identity",_t=De("identity",!1),Rt=function(r,t){return t},Zt="true",jt=De("true",!1),Nt="false",kt=De("false",!1),zt=Fe("Edm.String"),Dt="'",Pt=De("'",!1),Ft="''",Ut=De("''",!1),Mt=/^[^']/,qt=Pe(["'"],!0,!1),It='"',Yt=De('"',!1),Xt='\\"',Jt=De('\\"',!1),Qt=/^[^"]/,Wt=Pe(['"'],!0,!1),Gt=/^[^ \t\n()"&;]/,Ht=Pe([" ","\t","\n","(",")",'"',"&",";"],!0,!1),Kt=/^[0-9]/,Vt=Pe([["0","9"]],!1,!1),re="-",te=De("-",!1),ee=De("T",!1),ne=".",se=De(".",!1),oe=De("Z",!1),ue=De("+",!1),ae=/^[+\-]/,ce=Pe(["+","-"],!1,!1),ie=De("e",!1),fe=/^[_a-zA-Z]/,le=Pe(["_",["a","z"],["A","Z"]],!1,!1),he=/^[_a-zA-Z0-9"."]/,pe=Pe(["_",["a","z"],["A","Z"],["0","9"],'"',".",'"'],!1,!1),Ae=/^[0-9a-fA-F]/,de=Pe([["0","9"],["a","f"],["A","F"]],!1,!1),ge=/^[^\/?]/,me=Pe(["/","?"],!0,!1),ve=/^[a-zA-Z0-9\-"."_~!$'()*+,;=:@"\/""?"]/,be=Pe([["a","z"],["A","Z"],["0","9"],"-",'"',".",'"',"_","~","!","$","'","(",")","*","+",",",";","=",":","@",'"',"/",'"','"',"?",'"'],!1,!1),ye="binary'",Ce=De("binary'",!1),we=/^[a-zA-Z0-9\-_]/,xe=Pe([["a","z"],["A","Z"],["0","9"],"-","_"],!1,!1),Ee="==",$e=De("==",!1),Le=De(",",!1),Be=De("(",!1),Se=De(")",!1),Te=Fe("optional whitespaces"),Oe=/^[ \t\n]/,_e=Pe([" ","\t","\n"],!1,!1),Re=Fe("mandatory whitespaces"),Ze=0,je=[{line:1,column:1}],Ne=0,ke=[],ze=0;if("startRule"in t){if(!(t.startRule in s))throw new Error("Can't start parsing from rule \""+t.startRule+'".');o=s[t.startRule]}function De(r,t){return{type:"literal",text:r,ignoreCase:t}}function Pe(r,t,e){return{type:"class",parts:r,inverted:t,ignoreCase:e}}function Fe(r){return{type:"other",description:r}}function Ue(t){var e,n=je[t];if(n)return n;for(e=t-1;!je[e];)e--;for(n={line:(n=je[e]).line,column:n.column};e<t;)10===r.charCodeAt(e)?(n.line++,n.column=1):n.column++,e++;return je[t]=n,n}function Me(r,t){var e=Ue(r),n=Ue(t);return{start:{offset:r,line:e.line,column:e.column},end:{offset:t,line:n.line,column:n.column}}}function qe(r){Ze<Ne||(Ze>Ne&&(Ne=Ze,ke=[]),ke.push(r))}function Ie(r,t,e){return new peg$SyntaxError(peg$SyntaxError.buildMessage(r,t),r,t,e)}function Ye(){var t,e,s,o,f,l,h,p,A,d,g,m,v,b;if(t=Ze,47===r.charCodeAt(Ze)?(e=u,Ze++):(e=n,0===ze&&qe(a)),e===n&&(e=null),e!==n)if(s=Ze,(o=Xe())!==n&&(s,o=void(Yn=o)),(s=o)!==n){if(o=Ze,(f=Pn())!==n)if(63===r.charCodeAt(Ze)?(l="?",Ze++):(l=n,0===ze&&qe(c)),l!==n)if((h=Pn())!==n)if((p=Qe())!==n){for(A=[],d=Ze,(g=Pn())!==n?(38===r.charCodeAt(Ze)?(m="&",Ze++):(m=n,0===ze&&qe(i)),m!==n&&(v=Pn())!==n&&(b=Qe())!==n?d=g=[g,m,v,b]:(Ze=d,d=n)):(Ze=d,d=n);d!==n;)A.push(d),d=Ze,(g=Pn())!==n?(38===r.charCodeAt(Ze)?(m="&",Ze++):(m=n,0===ze&&qe(i)),m!==n&&(v=Pn())!==n&&(b=Qe())!==n?d=g=[g,m,v,b]:(Ze=d,d=n)):(Ze=d,d=n);A!==n?o=f=[f,l,h,p,A]:(Ze=o,o=n)}else Ze=o,o=n;else Ze=o,o=n;else Ze=o,o=n;else Ze=o,o=n;o===n&&(o=null),o!==n&&(f=Pn())!==n?(63===r.charCodeAt(Ze)?(l="?",Ze++):(l=n,0===ze&&qe(c)),l===n&&(l=null),l!==n&&(h=Pn())!==n?(t,t=e=function(){if(Xn)return Yn.columns=[{args:[{val:1}],as:"$count",func:"count"}],delete Yn.expand,delete Yn.limit,delete Yn.orderBy,Yn.apply?rs(Yn,Yn.apply):{SELECT:Yn};let r;if(Yn.expand){Yn.columns||(Yn.columns=["*"],r=!0);for(const r of Yn.expand){const t=Yn.columns.findIndex(Gn(r));t>-1&&Yn.columns.splice(t,1),Yn.columns.push(r)}delete Yn.expand}return Yn.count&&Yn.apply&&(Yn.__countAggregated=!0),Yn.apply?rs(Yn,Yn.apply,r):{SELECT:Yn}}()):(Ze=t,t=n)):(Ze=t,t=n)}else Ze=t,t=n;else Ze=t,t=n;return t}function Xe(){var t,e,s,o,c,i,m,v;return t=Ze,r.substr(Ze,6)===f?(e=f,Ze+=6):(e=n,0===ze&&qe(l)),e!==n&&(t,e=void(Xn=!0)),(t=e)===n&&(t=Ze,e=Ze,r.substr(Ze,4)===h?(s=h,Ze+=4):(s=n,0===ze&&qe(p)),s===n&&(r.substr(Ze,6)===A?(s=A,Ze+=6):(s=n,0===ze&&qe(d))),(e=s!==n?r.substring(e,Ze):s)!==n&&(t,v=e,e=!Jn.includes(v)&&{from:{ref:[v]}}),(t=e)===n&&(t=Ze,e=Ze,(s=Rn())!==n?(o=Ze,(c=zn())!==n&&(i=Dn())!==n?o=c=[c,i]:(Ze=o,o=n),o===n&&(o=Ze,(c=zn())!==n&&(i=Je())!==n&&(m=Dn())!==n?o=c=[c,i,m]:(Ze=o,o=n)),o===n&&(o=null),o!==n?(c=Ze,ze++,i=Nn(),ze--,i===n?c=void 0:(Ze=c,c=n),c!==n?e=s=[s,o,c]:(Ze=e,e=n)):(Ze=e,e=n)):(Ze=e,e=n),e===n&&(e=Ze,(s=Nn())!==n&&(e,s=g(s)),e=s),e===n&&(e=null),e!==n?(s=Ze,o=Ze,47===r.charCodeAt(Ze)?(c=u,Ze++):(c=n,0===ze&&qe(a)),c!==n&&(o,c=c),(o=c)!==n?((c=Xe())===n&&(c=null),c!==n?s=o=[o,c]:(Ze=s,s=n)):(Ze=s,s=n),s===n&&(s=null),s!==n?(t,t=e=function(r,t){if(t=t&&t[1],!r&&!t)return{from:{ref:[""]}};if(!r&&t&&t.from)return t.from.ref.unshift(""),t;const[e,n]=r,s=[];if(n?n.length>2?s.push({id:e,where:n[1].map((r=>r.val&&r.val.match&&r.val.match(/^"(.*)"$/)?{val:r.val.match(/^"(.*)"$/)[1]}:r))}):s.push({id:e,where:[]}):qn?s.push(`${"object"==typeof e&&"val"in e?e.val:e}`):"object"==typeof e&&"string"==typeof e.val&&e.val.match(/^[1-9]\d*$|^0$/)?s.push({val:Qn(e.val)}):s.push(e),t&&t.from){const r=t.from.ref;Object.prototype.hasOwnProperty.call(r[0],"val")&&(s[s.length-1]={id:s[s.length-1],where:[r.shift()]}),s.push(...r)}const o={from:{ref:s}};return t&&t.columns&&(o.columns=t.columns),o}(e,s)):(Ze=t,t=n)):(Ze=t,t=n))),t}function Je(){var t,e,s,o,u,a,c;return t=Ze,(e=pn())!==n&&(t,e=g(e)),(t=e)===n&&(t=Ze,(e=hn())!==n&&Pn()!==n?(61===r.charCodeAt(Ze)?(s="=",Ze++):(s=n,0===ze&&qe(v)),s!==n&&Pn()!==n&&(o=pn())!==n?(u=Ze,(a=kn())!==n&&(c=Je())!==n?u=a=[a,c]:(Ze=u,u=n),u===n&&(u=null),u!==n?(t,t=e=function(r,t,e){const n=[r,"=",t];return e&&n.push("and",...e[1]),n}(e,o,u)):(Ze=t,t=n)):(Ze=t,t=n)):(Ze=t,t=n)),t}function Qe(){var t,e,s,o,u;return t=Ze,(e=We())!==n&&(t,e=void((u=e)&&u.apply&&(Yn.apply=u.apply))),(t=e)===n&&(t=Ze,r.substr(Ze,11)===b?(e=b,Ze+=11):(e=n,0===ze&&qe(y)),e!==n&&(s=Pn())!==n?(o=function(){var t,e,s;t=Ze,(e=_n())===n&&(e=null);e!==n?(s=function(){var t,e,s;t=Ze,e=[],ve.test(r.charAt(Ze))?(s=r.charAt(Ze),Ze++):(s=n,0===ze&&qe(be));if(s!==n)for(;s!==n;)e.push(s),ve.test(r.charAt(Ze))?(s=r.charAt(Ze),Ze++):(s=n,0===ze&&qe(be));else e=n;t=e!==n?r.substring(t,Ze):e;return t}(),s===n&&(s=null),s!==n?(t,o=e,t=e=void(s||ss(o))):(Ze=t,t=n)):(Ze=t,t=n);var o;return t}(),o!==n?t=e=[e,s,o]:(Ze=t,t=n)):(Ze=t,t=n),t===n&&(t=function(){var t,e,s,o,u;t=Ze,r.substr(Ze,8)===hr?(e=hr,Ze+=8):(e=n,0===ze&&qe(pr));if(e!==n){for(s=Ze,o=[],fr.test(r.charAt(Ze))?(u=r.charAt(Ze),Ze++):(u=n,0===ze&&qe(lr));u!==n;)o.push(u),fr.test(r.charAt(Ze))?(u=r.charAt(Ze),Ze++):(u=n,0===ze&&qe(lr));(s=o!==n?r.substring(s,Ze):o)!==n?(t,t=e=function(r){if("json"!==r.toLowerCase()){const r=new Error("ONLY_QUERY_PARAM_FORMAT_JSON_ALLOWED");throw r.statusCode=501,r}}(s)):(Ze=t,t=n)}else Ze=t,t=n;return t}(),t===n&&(t=function(){var t,e,s,o,u,a;t=Ze,ur.test(r.charAt(Ze))?(e=r.charAt(Ze),Ze++):(e=n,0===ze&&qe(ar));if(e!==n){for(s=[],cr.test(r.charAt(Ze))?(o=r.charAt(Ze),Ze++):(o=n,0===ze&&qe(ir));o!==n;)s.push(o),cr.test(r.charAt(Ze))?(o=r.charAt(Ze),Ze++):(o=n,0===ze&&qe(ir));if(s!==n)if(61===r.charCodeAt(Ze)?(o=m,Ze++):(o=n,0===ze&&qe(v)),o!==n){for(u=[],fr.test(r.charAt(Ze))?(a=r.charAt(Ze),Ze++):(a=n,0===ze&&qe(lr));a!==n;)u.push(a),fr.test(r.charAt(Ze))?(a=r.charAt(Ze),Ze++):(a=n,0===ze&&qe(lr));u!==n?t=e=[e,s,o,u]:(Ze=t,t=n)}else Ze=t,t=n;else Ze=t,t=n}else Ze=t,t=n;return t}()))),t}function We(){var t,e,s,o,u,a,c,i,f,l,h;if(t=Ze,r.substr(Ze,8)===C?(e=C,Ze+=8):(e=n,0===ze&&qe(w)),e!==n)if((s=Pn())!==n)if((o=Ge())!==n){for(u=[],a=Ze,(c=kn())!==n&&(i=Ge())!==n?a=c=[c,i]:(Ze=a,a=n);a!==n;)u.push(a),a=Ze,(c=kn())!==n&&(i=Ge())!==n?a=c=[c,i]:(Ze=a,a=n);u!==n?t=e=[e,s,o,u]:(Ze=t,t=n)}else Ze=t,t=n;else Ze=t,t=n;else Ze=t,t=n;if(t===n){if(t=Ze,r.substr(Ze,8)===x?(e=x,Ze+=8):(e=n,0===ze&&qe(E)),e!==n)if((s=Pn())!==n)if((o=He())!==n){for(u=[],a=Ze,(c=kn())!==n&&(i=He())!==n?a=c=[c,i]:(Ze=a,a=n);a!==n;)u.push(a),a=Ze,(c=kn())!==n&&(i=He())!==n?a=c=[c,i]:(Ze=a,a=n);u!==n?t=e=[e,s,o,u]:(Ze=t,t=n)}else Ze=t,t=n;else Ze=t,t=n;else Ze=t,t=n;if(t===n&&(t=Ze,r.substr(Ze,8)===$?(e=$,Ze+=8):(e=n,0===ze&&qe(L)),e!==n&&(s=Pn())!==n&&(o=en())!==n?(t,h=o,t=e=void(Yn.where=h)):(Ze=t,t=n),t===n)){if(t=Ze,r.substr(Ze,9)===B?(e=B,Ze+=9):(e=n,0===ze&&qe(S)),e!==n)if((s=Pn())!==n)if((o=an())!==n){for(u=[],a=Ze,(c=kn())!==n&&(i=an())!==n?(a,a=c=T(0,i)):(Ze=a,a=n);a!==n;)u.push(a),a=Ze,(c=kn())!==n&&(i=an())!==n?(a,a=c=T(0,i)):(Ze=a,a=n);u!==n?(t,t=e=void os(o,!0)):(Ze=t,t=n)}else Ze=t,t=n;else Ze=t,t=n;else Ze=t,t=n;t===n&&(t=Ze,r.substr(Ze,5)===O?(e=O,Ze+=5):(e=n,0===ze&&qe(_)),e!==n&&(s=Pn())!==n&&(o=Ke())!==n?(t,l=o,t=e=void((Yn.limit||(Yn.limit={})).rows={val:l})):(Ze=t,t=n),t===n&&(t=Ze,r.substr(Ze,6)===R?(e=R,Ze+=6):(e=n,0===ze&&qe(Z)),e!==n&&(s=Pn())!==n&&(o=Ve())!==n?(t,e=function(r){ss(r)}(o),t=e):(Ze=t,t=n),t===n&&(t=Ze,r.substr(Ze,8)===j?(e=j,Ze+=8):(e=n,0===ze&&qe(N)),e!==n&&(s=Pn())!==n&&(o=rn())!==n?(t,t=e=void((f=o)&&(Yn.search=f))):(Ze=t,t=n),t===n&&(t=Ze,r.substr(Ze,7)===k?(e=k,Ze+=7):(e=n,0===ze&&qe(z)),e!==n&&(s=Pn())!==n?(o=function(){var r,t;r=Ze,(t=Tn())!==n&&(r,t=function(r){r&&(Yn.count=!0)}(t));return r=t}(),o!==n?t=e=[e,s,o]:(Ze=t,t=n)):(Ze=t,t=n),t===n&&(t=Ze,r.substr(Ze,7)===D?(e=D,Ze+=7):(e=n,0===ze&&qe(P)),e!==n&&(s=Pn())!==n&&(o=cn())!==n?(t,t=e=o):(Ze=t,t=n))))))}}return t}function Ge(){var t,e,s;return t=Ze,42===r.charCodeAt(Ze)?(e="*",Ze++):(e=n,0===ze&&qe(F)),e===n&&(e=hn()),e!==n&&(t,s=e,Yn.columns=Array.isArray(Yn.columns)?Yn.columns:[],Yn.columns.find(Gn(s))||Yn.columns.push(s),e=s),t=e}function He(){var t,e,s,o,u,a,c,i,f;if(t=Ze,e=Ze,42===r.charCodeAt(Ze)?(s="*",Ze++):(s=n,0===ze&&qe(F)),s===n&&(s=hn()),s!==n&&(e,s=function(r){const t="*"===r?{}:r;return t.expand="*",Array.isArray(Yn.expand)||(Yn.expand=[]),Yn.expand.find(Gn(t))||Yn.expand.push(t),t}(s)),(e=s)!==n){if(s=Ze,o=Ze,(u=zn())!==n&&(o,In.push(Yn),Yn=Yn.expand[Yn.expand.length-1],u=void(Yn.expand="*")),(o=u)!==n){for(u=Ze,a=[],c=Ze,Pn()!==n?(59===r.charCodeAt(Ze)?(i=";",Ze++):(i=n,0===ze&&qe(U)),i===n&&(i=null),i!==n&&Pn()!==n&&(f=We())!==n?(c,c=f):(Ze=c,c=n)):(Ze=c,c=n);c!==n;)a.push(c),c=Ze,Pn()!==n?(59===r.charCodeAt(Ze)?(i=";",Ze++):(i=n,0===ze&&qe(U)),i===n&&(i=null),i!==n&&Pn()!==n&&(f=We())!==n?(c,c=f):(Ze=c,c=n)):(Ze=c,c=n);a!==n&&(u,a=function(r){if(r.find((r=>r&&void 0!==r.apply))){const r=new Error("EXPAND_APPLY_UNSUPPORTED");throw r.statusCode=501,r}if(Yn.columns){"*"===Yn.expand&&(Yn.expand=[]);for(const r of Yn.columns)Yn.expand.find(Gn(r))||Yn.expand.push(r);delete Yn.columns}else Array.isArray(Yn.expand)&&-1===Yn.expand.indexOf("*")&&Yn.expand.unshift("*")}(a)),(u=a)!==n?(a=Ze,(c=Dn())!==n&&(a,c=void(Yn=In.pop())),(a=c)!==n?s=o=[o,u,a]:(Ze=s,s=n)):(Ze=s,s=n)}else Ze=s,s=n;s===n&&(s=null),s!==n?(o=Ze,(u=kn())!==n&&(a=He())!==n?o=u=[u,a]:(Ze=o,o=n),o===n&&(o=null),o!==n?(u=Ze,r.substr(Ze,7)===M?(a=M,Ze+=7):(a=n,0===ze&&qe(q)),a!==n&&(u,a=function(){const r=new Error("EXPAND_COUNT_UNSUPPORTED");throw r.statusCode=501,r}()),(u=a)===n&&(u=null),u!==n?t=e=[e,s,o,u]:(Ze=t,t=n)):(Ze=t,t=n)):(Ze=t,t=n)}else Ze=t,t=n;return t}function Ke(){var r,t;return r=Ze,(t=_n())!==n&&(r,t=t),r=t}function Ve(){var r,t;return r=Ze,(t=_n())!==n&&(r,t=t),r=t}function rn(){var r,t;return r=Ze,(t=tn())!==n&&(r,t=t),(r=t)===n&&(r=Pn()),r}function tn(){var t,e,s,o,u,a,c;if(t=Ze,e=Ze,(s=mn())===n&&(s=null),s!==n&&(e,s=I(s)),(e=s)!==n)if(s=Ze,(o=zn())!==n&&(u=tn())!==n&&(a=Dn())!==n?(s,s=o=Y(e,u)):(Ze=s,s=n),s===n&&(s=Ze,o=function(){var t,e,s,o,u;t=Ze,34===r.charCodeAt(Ze)?(e=It,Ze++):(e=n,0===ze&&qe(Yt));if(e!==n){for(s=Ze,o=[],r.substr(Ze,2)===Xt?(u=Xt,Ze+=2):(u=n,0===ze&&qe(Jt)),u===n&&(Qt.test(r.charAt(Ze))?(u=r.charAt(Ze),Ze++):(u=n,0===ze&&qe(Wt)));u!==n;)o.push(u),r.substr(Ze,2)===Xt?(u=Xt,Ze+=2):(u=n,0===ze&&qe(Jt)),u===n&&(Qt.test(r.charAt(Ze))?(u=r.charAt(Ze),Ze++):(u=n,0===ze&&qe(Wt)));(s=o!==n?r.substring(s,Ze):o)!==n?(34===r.charCodeAt(Ze)?(o=It,Ze++):(o=n,0===ze&&qe(Yt)),o!==n?(t,t=e=s.replace(/\\\\/g,"\\").replace(/\\"/g,'"')):(Ze=t,t=n)):(Ze=t,t=n)}else Ze=t,t=n;return t}(),o!==n&&(s,o=X(e,o)),(s=o)===n&&(s=Ze,(o=On())!==n&&(s,o=X(e,o)),(s=o)===n&&(s=Ze,o=function(){var t,e,s;t=Ze,e=[],Gt.test(r.charAt(Ze))?(s=r.charAt(Ze),Ze++):(s=n,0===ze&&qe(Ht));if(s!==n)for(;s!==n;)e.push(s),Gt.test(r.charAt(Ze))?(s=r.charAt(Ze),Ze++):(s=n,0===ze&&qe(Ht));else e=n;t=e!==n?r.substring(t,Ze):e;return t}(),o!==n&&(s,o=X(e,o)),s=o))),s!==n){for(o=[],u=Ze,(a=vn())===n&&(a=yn())===n&&(a=bn()),a!==n&&(c=tn())!==n?(u,u=a=J(e,a,c)):(Ze=u,u=n);u!==n;)o.push(u),u=Ze,(a=vn())===n&&(a=yn())===n&&(a=bn()),a!==n&&(c=tn())!==n?(u,u=a=J(e,a,c)):(Ze=u,u=n);o!==n?(t,t=e=e):(Ze=t,t=n)}else Ze=t,t=n;else Ze=t,t=n;return t}function en(){var r,t;return r=Ze,(t=nn())!==n&&(r,t=t),r=t}function nn(){var t,e,s,o,u,a,c,i;if(t=Ze,e=Ze,(s=mn())===n&&(s=null),s!==n&&(e,s=I(s)),(e=s)!==n)if(s=Ze,(o=zn())!==n&&(u=nn())!==n&&(a=Dn())!==n?(s,s=o=Y(e,u)):(Ze=s,s=n),s===n&&(s=Ze,(o=fn())!==n&&(s,i=o,o=void e.push(...i)),(s=o)===n&&(s=Ze,(o=sn())!==n&&(s,o=function(r,t){"not"===r[r.length-1]&&"not"===t[0]?r.push("(",...t,")"):r.push(...t)}(e,o)),(s=o)===n&&(s=Ze,o=function(){var t,e,s,o;ze++,t=Ze,r.substr(Ze,8).toLowerCase()===Ur?(e=r.substr(Ze,8),Ze+=8):(e=n,0===ze&&qe(Mr));e===n&&(r.substr(Ze,8).toLowerCase()===qr?(e=r.substr(Ze,8),Ze+=8):(e=n,0===ze&&qe(Ir)),e===n&&(r.substr(Ze,10).toLowerCase()===Yr?(e=r.substr(Ze,10),Ze+=10):(e=n,0===ze&&qe(Xr))));e!==n&&zn()!==n&&(s=ln())!==n&&kn()!==n&&(o=ln())!==n&&Dn()!==n?(t,u=s,a=o,t=e={func:e.toLowerCase(),args:[u,a]}):(Ze=t,t=n);var u,a;ze--,t===n&&(e=n,0===ze&&qe(Fr));return t}(),o!==n&&(s,o=function(r,t){r.push(t)}(e,o)),(s=o)===n&&(s=Ze,(o=Tn())!==n&&(s,o=X(e,o)),s=o)))),s!==n){for(o=[],u=Ze,(a=vn())===n&&(a=yn()),a!==n&&(c=nn())!==n?(u,u=a=J(e,a,c)):(Ze=u,u=n);u!==n;)o.push(u),u=Ze,(a=vn())===n&&(a=yn()),a!==n&&(c=nn())!==n?(u,u=a=J(e,a,c)):(Ze=u,u=n);o!==n?(t,t=e=e):(Ze=t,t=n)}else Ze=t,t=n;else Ze=t,t=n;return t}function sn(){var t,e,s,o,c,i,f;if(t=Ze,e=Ze,(s=Rn())!==n&&(e,s=[s]),(e=s)!==n)if(47===r.charCodeAt(Ze)?(s=u,Ze++):(s=n,0===ze&&qe(a)),s!==n){for(o=[],c=Ze,(i=Rn())!==n?(47===r.charCodeAt(Ze)?(f=u,Ze++):(f=n,0===ze&&qe(a)),f!==n?(c,c=i=Q(e,i)):(Ze=c,c=n)):(Ze=c,c=n);c!==n;)o.push(c),c=Ze,(i=Rn())!==n?(47===r.charCodeAt(Ze)?(f=u,Ze++):(f=n,0===ze&&qe(a)),f!==n?(c,c=i=Q(e,i)):(Ze=c,c=n)):(Ze=c,c=n);o!==n?(c=Ze,i=function(){var t,e,s;t=Ze,r.substr(Ze,3)===K?(e=K,Ze+=3):(e=n,0===ze&&qe(V));e!==n&&zn()!==n?((s=un())===n&&(s=null),s!==n&&Dn()!==n?(t,t=e=s):(Ze=t,t=n)):(Ze=t,t=n);return t}(),i!==n&&(c,i=function(r,t){let e=r.pop();if(!t)return["exists",{ref:[...r,{id:e}]}];let n=[];for(let r=0,s=0;r<t.length;++r){let o=t[r];o.ref&&0===o.ref.length&&"="===t[r+1]?n[s++]={func:"contains",args:[{ref:e},t[r+=2]]}:n[s++]=o}return n.length<t.length?(e=r.pop(),["exists",{ref:[...r,{id:e,where:n}]}]):["exists",{ref:[...r,{id:e,where:t}]}]}(e,i)),(c=i)===n&&(c=Ze,i=function(){var t,e,s;t=Ze,r.substr(Ze,3)===rr?(e=rr,Ze+=3):(e=n,0===ze&&qe(tr));e!==n&&zn()!==n&&(s=un())!==n&&Dn()!==n?(t,t=e=s):(Ze=t,t=n);return t}(),i!==n&&(c,i=function(r,t){let e=r.pop();return["not","exists",{ref:[...r,{id:e,where:["not",{xpr:[...t]}]}]}]}(e,i)),c=i),c!==n?(t,t=e=c):(Ze=t,t=n)):(Ze=t,t=n)}else Ze=t,t=n;else Ze=t,t=n;return t}function on(){var r,t,e,s,o,u,a,c,i;if(r=Ze,t=Ze,(e=mn())===n&&(e=null),e!==n&&(t,e=(c=e)?[c]:[]),(t=e)!==n)if(e=Ze,(s=zn())!==n&&(o=on())!==n&&(u=Dn())!==n?(e,i=o,e=s=void t.push("(",...i,")")):(Ze=e,e=n),e===n&&(e=Ze,(s=fn())!==n&&(e,s=function(r,t){r.push(...t)}(t,s)),(e=s)===n&&(e=Ze,(s=gn())!==n&&(e,s=function(r,t){r.push(t)}(t,s)),(e=s)===n&&(e=Ze,(s=sn())!==n&&(e,s=function(r,t){r.push(...t)}(t,s)),e=s))),e!==n){for(s=[],o=Ze,(u=vn())===n&&(u=yn()),u!==n&&(a=on())!==n?(o,o=u=W(t,u,a)):(Ze=o,o=n);o!==n;)s.push(o),o=Ze,(u=vn())===n&&(u=yn()),u!==n&&(a=on())!==n?(o,o=u=W(t,u,a)):(Ze=o,o=n);s!==n?(r,r=t=t):(Ze=r,r=n)}else Ze=r,r=n;else Ze=r,r=n;return r}function un(){var t,e,s,o;return t=Ze,(e=Rn())!==n?(58===r.charCodeAt(Ze)?(s=G,Ze++):(s=n,0===ze&&qe(H)),s!==n&&(o=on())!==n?(t,t=e=us(e,o)):(Ze=t,t=n)):(Ze=t,t=n),t}function an(){var t,e,s,o,u,a;return t=Ze,e=Ze,(s=sn())!==n&&(e,s=function(){const r=new Error("ORDERBY_LAMBDA_UNSUPPORTED");throw r.statusCode=501,r}()),(e=s)===n&&(e=gn())===n&&(e=hn()),e!==n?(s=Ze,Fn()!==n?(o=Ze,"asc"===r.substr(Ze,3)?(u="asc",Ze+=3):(u=n,0===ze&&qe(er)),u===n&&(r.substr(Ze,4)===nr?(u=nr,Ze+=4):(u=n,0===ze&&qe(sr))),(o=u!==n?r.substring(o,Ze):u)!==n?(s,s=o):(Ze=s,s=n)):(Ze=s,s=n),s===n&&(s=null),s!==n?(t,t=e=Un(e,(a=s)&&{sort:a})):(Ze=t,t=n)):(Ze=t,t=n),t}function cn(){var t,e,s,o,c,i;if(t=Ze,(e=Cn())!==n){for(s=[],o=Ze,47===r.charCodeAt(Ze)?(c=u,Ze++):(c=n,0===ze&&qe(a)),c!==n&&(i=Cn())!==n?(o,o=c=or(0,i)):(Ze=o,o=n);o!==n;)s.push(o),o=Ze,47===r.charCodeAt(Ze)?(c=u,Ze++):(c=n,0===ze&&qe(a)),c!==n&&(i=Cn())!==n?(o,o=c=or(0,i)):(Ze=o,o=n);s!==n?(t,t=e=function(r,t){if(void 0!==r){t=Array.isArray(t)?t:[t];for(let e of t)for(const t in e)if("limit"===t&&e.limit&&r.limit&&r.limit.offset&&e.limit.rows)r.limit.rows=e.limit.rows;else if(r[t]||"groupBy"===t&&(r.where||r.search)||"aggregate"===t&&"groupBy"in r&&!("groupBy"in e)){let n=r;r={apply:n},"limit"===t&&e[t].offset&&n.limit&&n.limit.offset&&n.limit.offset.val&&(e[t].offset+=n.limit.offset.val),n=r,n[t]=e[t]}else r[t]=e[t];return{apply:r}}}(e,s)):(Ze=t,t=n)}else Ze=t,t=n;return t}function fn(){var t,e,s,o,u,a;return ze++,t=Ze,(e=ln())!==n&&Fn()!==n?(s=Ze,"eq"===r.substr(Ze,2)?(o="eq",Ze+=2):(o=n,0===ze&&qe(dr)),o===n&&("ne"===r.substr(Ze,2)?(o="ne",Ze+=2):(o=n,0===ze&&qe(gr)),o===n&&("lt"===r.substr(Ze,2)?(o="lt",Ze+=2):(o=n,0===ze&&qe(mr)),o===n&&("gt"===r.substr(Ze,2)?(o="gt",Ze+=2):(o=n,0===ze&&qe(vr)),o===n&&("le"===r.substr(Ze,2)?(o="le",Ze+=2):(o=n,0===ze&&qe(br)),o===n&&("ge"===r.substr(Ze,2)?(o="ge",Ze+=2):(o=n,0===ze&&qe(yr))))))),(s=o!==n?r.substring(s,Ze):o)!==n&&(o=Fn())!==n&&(u=ln())!==n?(t,t=e=[e,{eq:"=",ne:"!=",lt:"<",gt:">",le:"<=",ge:">="}[a=s]||a,u]):(Ze=t,t=n)):(Ze=t,t=n),ze--,t===n&&(e=n,0===ze&&qe(Ar)),t}function ln(){var t;return ze++,t=function(){var t,e,s,o,c,i,h;ze++,t=Ze,e=[],s=Ze,(o=Rn())!==n?(c=Ze,(i=zn())!==n&&(h=Je())!==n&&Dn()!==n?(c,c=i=xr(0,h)):(Ze=c,c=n),c===n&&(c=null),c!==n?(47===r.charCodeAt(Ze)?(i=u,Ze++):(i=n,0===ze&&qe(a)),i!==n?(s,s=o=Er(o,c)):(Ze=s,s=n)):(Ze=s,s=n)):(Ze=s,s=n);if(s!==n)for(;s!==n;)e.push(s),s=Ze,(o=Rn())!==n?(c=Ze,(i=zn())!==n&&(h=Je())!==n&&Dn()!==n?(c,c=i=xr(0,h)):(Ze=c,c=n),c===n&&(c=null),c!==n?(47===r.charCodeAt(Ze)?(i=u,Ze++):(i=n,0===ze&&qe(a)),i!==n?(s,s=o=Er(o,c)):(Ze=s,s=n)):(Ze=s,s=n)):(Ze=s,s=n);else e=n;e!==n?(r.substr(Ze,6)===f?(s=f,Ze+=6):(s=n,0===ze&&qe(l)),s!==n?(t,t=e={func:"count",as:"$count",args:[{ref:e}]}):(Ze=t,t=n)):(Ze=t,t=n);ze--,t===n&&(e=n,0===ze&&qe(wr));return t}(),t===n&&(t=gn())===n&&(t=pn())===n&&(t=hn())===n&&(t=An())===n&&(t=dn())===n&&(t=function(){var t,e,s,o,u;t=Ze,91===r.charCodeAt(Ze)?(e=Rr,Ze++):(e=n,0===ze&&qe(Zr));if(e!==n){for(s=Ze,o=[],kr.test(r.charAt(Ze))?(u=r.charAt(Ze),Ze++):(u=n,0===ze&&qe(zr));u!==n;)o.push(u),kr.test(r.charAt(Ze))?(u=r.charAt(Ze),Ze++):(u=n,0===ze&&qe(zr));(s=o!==n?r.substring(s,Ze):o)!==n?(93===r.charCodeAt(Ze)?(o=jr,Ze++):(o=n,0===ze&&qe(Nr)),o!==n?(t,t=e={list:s.replace(/"/g,"").split(",").map((r=>({val:r})))}):(Ze=t,t=n)):(Ze=t,t=n)}else Ze=t,t=n;return t}()),ze--,t===n&&(n,0===ze&&qe(Cr)),t}function hn(){var t,e,s,o,c,i,f,l;if(ze++,t=Ze,(e=Rn())!==n){for(s=[],o=Ze,47===r.charCodeAt(Ze)?(c=u,Ze++):(c=n,0===ze&&qe(a)),c!==n&&(i=Rn())!==n?(o,o=c=Lr(0,i)):(Ze=o,o=n);o!==n;)s.push(o),o=Ze,47===r.charCodeAt(Ze)?(c=u,Ze++):(c=n,0===ze&&qe(a)),c!==n&&(i=Rn())!==n?(o,o=c=Lr(0,i)):(Ze=o,o=n);s!==n?(t,l=s,t=e="null"===(f=e)?{val:null}:{ref:[f,...l]}):(Ze=t,t=n)}else Ze=t,t=n;return ze--,t===n&&(e=n,0===ze&&qe($r)),t}function pn(){var t,e,s;return t=Ze,(e=Tn())===n&&(e=function(){var t,e,s,o,u,a,c,i,f,l,h,p,A,d,g,m,v,b,y,C,w,x,E,$,L;t=Ze,e=Ze,s=Ze,o=[],Kt.test(r.charAt(Ze))?(u=r.charAt(Ze),Ze++):(u=n,0===ze&&qe(Vt));if(u!==n)for(;u!==n;)o.push(u),Kt.test(r.charAt(Ze))?(u=r.charAt(Ze),Ze++):(u=n,0===ze&&qe(Vt));else o=n;if(o!==n)if(45===r.charCodeAt(Ze)?(u=re,Ze++):(u=n,0===ze&&qe(te)),u!==n)if(Kt.test(r.charAt(Ze))?(a=r.charAt(Ze),Ze++):(a=n,0===ze&&qe(Vt)),a!==n)if(Kt.test(r.charAt(Ze))?(c=r.charAt(Ze),Ze++):(c=n,0===ze&&qe(Vt)),c!==n)if(45===r.charCodeAt(Ze)?(i=re,Ze++):(i=n,0===ze&&qe(te)),i!==n)if(Kt.test(r.charAt(Ze))?(f=r.charAt(Ze),Ze++):(f=n,0===ze&&qe(Vt)),f!==n)if(Kt.test(r.charAt(Ze))?(l=r.charAt(Ze),Ze++):(l=n,0===ze&&qe(Vt)),l!==n){if(h=Ze,84===r.charCodeAt(Ze)?(p="T",Ze++):(p=n,0===ze&&qe(ee)),p!==n)if(Kt.test(r.charAt(Ze))?(A=r.charAt(Ze),Ze++):(A=n,0===ze&&qe(Vt)),A!==n)if(Kt.test(r.charAt(Ze))?(d=r.charAt(Ze),Ze++):(d=n,0===ze&&qe(Vt)),d!==n)if(58===r.charCodeAt(Ze)?(g=G,Ze++):(g=n,0===ze&&qe(H)),g!==n)if(Kt.test(r.charAt(Ze))?(m=r.charAt(Ze),Ze++):(m=n,0===ze&&qe(Vt)),m!==n)if(Kt.test(r.charAt(Ze))?(v=r.charAt(Ze),Ze++):(v=n,0===ze&&qe(Vt)),v!==n){if(b=Ze,58===r.charCodeAt(Ze)?(y=G,Ze++):(y=n,0===ze&&qe(H)),y!==n)if(Kt.test(r.charAt(Ze))?(C=r.charAt(Ze),Ze++):(C=n,0===ze&&qe(Vt)),C!==n)if(Kt.test(r.charAt(Ze))?(w=r.charAt(Ze),Ze++):(w=n,0===ze&&qe(Vt)),w!==n){if(x=Ze,46===r.charCodeAt(Ze)?(E=".",Ze++):(E=n,0===ze&&qe(se)),E!==n){if($=[],Kt.test(r.charAt(Ze))?(L=r.charAt(Ze),Ze++):(L=n,0===ze&&qe(Vt)),L!==n)for(;L!==n;)$.push(L),Kt.test(r.charAt(Ze))?(L=r.charAt(Ze),Ze++):(L=n,0===ze&&qe(Vt));else $=n;$!==n?x=E=[E,$]:(Ze=x,x=n)}else Ze=x,x=n;x===n&&(x=null),x!==n?b=y=[y,C,w,x]:(Ze=b,b=n)}else Ze=b,b=n;else Ze=b,b=n;else Ze=b,b=n;b===n&&(b=null),b!==n?(90===r.charCodeAt(Ze)?(y="Z",Ze++):(y=n,0===ze&&qe(oe)),y===n&&(y=Ze,43===r.charCodeAt(Ze)?(C="+",Ze++):(C=n,0===ze&&qe(ue)),C===n&&(45===r.charCodeAt(Ze)?(C=re,Ze++):(C=n,0===ze&&qe(te))),C!==n?(Kt.test(r.charAt(Ze))?(w=r.charAt(Ze),Ze++):(w=n,0===ze&&qe(Vt)),w!==n?(Kt.test(r.charAt(Ze))?(x=r.charAt(Ze),Ze++):(x=n,0===ze&&qe(Vt)),x!==n?(58===r.charCodeAt(Ze)?(E=G,Ze++):(E=n,0===ze&&qe(H)),E!==n?(Kt.test(r.charAt(Ze))?($=r.charAt(Ze),Ze++):($=n,0===ze&&qe(Vt)),$!==n?(Kt.test(r.charAt(Ze))?(L=r.charAt(Ze),Ze++):(L=n,0===ze&&qe(Vt)),L!==n?y=C=[C,w,x,E,$,L]:(Ze=y,y=n)):(Ze=y,y=n)):(Ze=y,y=n)):(Ze=y,y=n)):(Ze=y,y=n)):(Ze=y,y=n)),y===n&&(y=null),y!==n?h=p=[p,A,d,g,m,v,b,y]:(Ze=h,h=n)):(Ze=h,h=n)}else Ze=h,h=n;else Ze=h,h=n;else Ze=h,h=n;else Ze=h,h=n;else Ze=h,h=n;else Ze=h,h=n;h===n&&(h=null),h!==n?s=o=[o,u,a,c,i,f,l,h]:(Ze=s,s=n)}else Ze=s,s=n;else Ze=s,s=n;else Ze=s,s=n;else Ze=s,s=n;else Ze=s,s=n;else Ze=s,s=n;else Ze=s,s=n;e=s!==n?r.substring(e,Ze):s;e!==n&&(t,e=function(r){if(r.split("-")[0].length>4)throw Object.assign(new Error(`The type 'Edm.DateTimeOffset' is not compatible with '${r}'`),{statusCode:400});return r}(e));return t=e}()),e!==n&&(t,e=Br(e)),(t=e)===n&&(t=Ze,(e=Zn())!==n&&(t,e=Br(e)),(t=e)===n&&(t=Ze,e=function(){var t,e,s,o,u,a,c,i,f,l;t=Ze,e=Ze,s=Ze,ae.test(r.charAt(Ze))?(o=r.charAt(Ze),Ze++):(o=n,0===ze&&qe(ce));o===n&&(o=null);if(o!==n){if(u=[],Kt.test(r.charAt(Ze))?(a=r.charAt(Ze),Ze++):(a=n,0===ze&&qe(Vt)),a!==n)for(;a!==n;)u.push(a),Kt.test(r.charAt(Ze))?(a=r.charAt(Ze),Ze++):(a=n,0===ze&&qe(Vt));else u=n;if(u!==n){if(a=Ze,46===r.charCodeAt(Ze)?(c=ne,Ze++):(c=n,0===ze&&qe(se)),c!==n){if(i=[],Kt.test(r.charAt(Ze))?(f=r.charAt(Ze),Ze++):(f=n,0===ze&&qe(Vt)),f!==n)for(;f!==n;)i.push(f),Kt.test(r.charAt(Ze))?(f=r.charAt(Ze),Ze++):(f=n,0===ze&&qe(Vt));else i=n;i!==n?a=c=[c,i]:(Ze=a,a=n)}else Ze=a,a=n;if(a===n&&(a=null),a!==n){if(c=Ze,101===r.charCodeAt(Ze)?(i="e",Ze++):(i=n,0===ze&&qe(ie)),i!==n){if(f=[],Kt.test(r.charAt(Ze))?(l=r.charAt(Ze),Ze++):(l=n,0===ze&&qe(Vt)),l!==n)for(;l!==n;)f.push(l),Kt.test(r.charAt(Ze))?(l=r.charAt(Ze),Ze++):(l=n,0===ze&&qe(Vt));else f=n;f!==n?c=i=[i,f]:(Ze=c,c=n)}else Ze=c,c=n;c===n&&(c=null),c!==n?s=o=[o,u,a,c]:(Ze=s,s=n)}else Ze=s,s=n}else Ze=s,s=n}else Ze=s,s=n;e=s!==n?r.substring(e,Ze):s;e!==n&&(t,e=Qn(e));return t=e}(),e!==n&&(t,e="number"==typeof(s=e)?{val:s}:{val:s,literal:"number"}),(t=e)===n&&(t=Ze,(e=On())!==n&&(t,e=Br(e)),(t=e)===n&&(t=Ze,e=function(){var t,e,s,o,u,a;t=Ze,r.substr(Ze,7)===ye?(e=ye,Ze+=7):(e=n,0===ze&&qe(Ce));if(e!==n){if(s=Ze,o=Ze,u=[],we.test(r.charAt(Ze))?(a=r.charAt(Ze),Ze++):(a=n,0===ze&&qe(xe)),a!==n)for(;a!==n;)u.push(a),we.test(r.charAt(Ze))?(a=r.charAt(Ze),Ze++):(a=n,0===ze&&qe(xe));else u=n;u!==n?(r.substr(Ze,2)===Ee?(a=Ee,Ze+=2):(a=n,0===ze&&qe($e)),a===n&&(61===r.charCodeAt(Ze)?(a=m,Ze++):(a=n,0===ze&&qe(v))),a===n&&(a=null),a!==n?o=u=[u,a]:(Ze=o,o=n)):(Ze=o,o=n),(s=o!==n?r.substring(s,Ze):o)!==n?(39===r.charCodeAt(Ze)?(o=Dt,Ze++):(o=n,0===ze&&qe(Pt)),o!==n?(t,t=e=Wn(s)):(Ze=t,t=n)):(Ze=t,t=n)}else Ze=t,t=n;return t}(),e!==n&&(t,e=Br(e)),t=e)))),t}function An(){var t,e,s,o,u,a;if(t=Ze,e=Ze,s=Ze,123===r.charCodeAt(Ze)?(o="{",Ze++):(o=n,0===ze&&qe(Sr)),o!==n){for(u=[],(a=An())===n&&(Tr.test(r.charAt(Ze))?(a=r.charAt(Ze),Ze++):(a=n,0===ze&&qe(Or)));a!==n;)u.push(a),(a=An())===n&&(Tr.test(r.charAt(Ze))?(a=r.charAt(Ze),Ze++):(a=n,0===ze&&qe(Or)));u!==n?(125===r.charCodeAt(Ze)?(a="}",Ze++):(a=n,0===ze&&qe(_r)),a!==n?s=o=[o,u,a]:(Ze=s,s=n)):(Ze=s,s=n)}else Ze=s,s=n;return(e=s!==n?r.substring(e,Ze):s)!==n&&(t,e=Br(e)),t=e}function dn(){var t,e,s,o,u,a,c,i;if(t=Ze,e=Ze,s=Ze,91===r.charCodeAt(Ze)?(o=Rr,Ze++):(o=n,0===ze&&qe(Zr)),o!==n&&(u=Pn())!==n?(93===r.charCodeAt(Ze)?(a=jr,Ze++):(a=n,0===ze&&qe(Nr)),a!==n?s=o=[o,u,a]:(Ze=s,s=n)):(Ze=s,s=n),s===n)if(s=Ze,91===r.charCodeAt(Ze)?(o=Rr,Ze++):(o=n,0===ze&&qe(Zr)),o!==n)if((u=Pn())!==n)if(123===r.charCodeAt(Ze)?(a="{",Ze++):(a=n,0===ze&&qe(Sr)),a!==n){for(c=[],(i=dn())===n&&(kr.test(r.charAt(Ze))?(i=r.charAt(Ze),Ze++):(i=n,0===ze&&qe(zr)));i!==n;)c.push(i),(i=dn())===n&&(kr.test(r.charAt(Ze))?(i=r.charAt(Ze),Ze++):(i=n,0===ze&&qe(zr)));c!==n?(93===r.charCodeAt(Ze)?(i=jr,Ze++):(i=n,0===ze&&qe(Nr)),i!==n?s=o=[o,u,a,c,i]:(Ze=s,s=n)):(Ze=s,s=n)}else Ze=s,s=n;else Ze=s,s=n;else Ze=s,s=n;return(e=s!==n?r.substring(e,Ze):s)!==n&&(t,e=Br(e)),t=e}function gn(){var t,e,s,o,u,a,c;if(ze++,t=Ze,e=Ze,s=[],ur.test(r.charAt(Ze))?(o=r.charAt(Ze),Ze++):(o=n,0===ze&&qe(ar)),o!==n)for(;o!==n;)s.push(o),ur.test(r.charAt(Ze))?(o=r.charAt(Ze),Ze++):(o=n,0===ze&&qe(ar));else s=n;if((e=s!==n?r.substring(e,Ze):s)!==n)if((s=zn())!==n)if((o=ln())!==n){for(u=[],a=Ze,kn()!==n&&(c=ln())!==n?(a,a=Pr(0,0,c)):(Ze=a,a=n);a!==n;)u.push(a),a=Ze,kn()!==n&&(c=ln())!==n?(a,a=Pr(0,0,c)):(Ze=a,a=n);u!==n&&(a=Dn())!==n?(t,t=e=function(r,t,e){if(Mn&&!(r.toLowerCase()in Mn.functions))throw Object.assign(new Error(`"${r}" is an unknown function in OData URL spec (strict mode)`),{statusCode:400});return{func:r.toLowerCase(),args:[t,...e]}}(e,o,u)):(Ze=t,t=n)}else Ze=t,t=n;else Ze=t,t=n;else Ze=t,t=n;return ze--,t===n&&(e=n,0===ze&&qe(Dr)),t}function mn(){var t,e;return t=Ze,Pn()!==n?("not"===r.substr(Ze,3).toLowerCase()?(e=r.substr(Ze,3),Ze+=3):(e=n,0===ze&&qe(Jr)),e!==n&&Fn()!==n?(t,t="not"):(Ze=t,t=n)):(Ze=t,t=n),t}function vn(){var t,e;return t=Ze,Fn()!==n?("and"===r.substr(Ze,3).toLowerCase()?(e=r.substr(Ze,3),Ze+=3):(e=n,0===ze&&qe(Qr)),e!==n&&Fn()!==n?(t,t="and"):(Ze=t,t=n)):(Ze=t,t=n),t}function bn(){var r,t;return r=Ze,(t=Fn())!==n&&(r,t="and"),r=t}function yn(){var t,e;return t=Ze,Fn()!==n?("or"===r.substr(Ze,2).toLowerCase()?(e=r.substr(Ze,2),Ze+=2):(e=n,0===ze&&qe(Wr)),e!==n&&Fn()!==n?(t,t="or"):(Ze=t,t=n)):(Ze=t,t=n),t}function Cn(){var t,e,s;return t=Ze,r.substr(Ze,9)===Gr?(e=Gr,Ze+=9):(e=n,0===ze&&qe(Hr)),e!==n?(s=function(){var r,t,e,s,o;if(r=Ze,zn()!==n)if(Pn()!==n)if((t=wn())!==n){for(e=[],s=Ze,Pn()!==n&&kn()!==n&&Pn()!==n&&(o=wn())!==n?(s,s=bt(0,o)):(Ze=s,s=n);s!==n;)e.push(s),s=Ze,Pn()!==n&&kn()!==n&&Pn()!==n&&(o=wn())!==n?(s,s=bt(0,o)):(Ze=s,s=n);e!==n&&(s=Pn())!==n&&Dn()!==n?(r,u=e,r={aggregate:[t,...u]}):(Ze=r,r=n)}else Ze=r,r=n;else Ze=r,r=n;else Ze=r,r=n;var u;return r}(),s!==n?(t,t=e=s):(Ze=t,t=n)):(Ze=t,t=n),t===n&&(t=Ze,r.substr(Ze,7)===Kr?(e=Kr,Ze+=7):(e=n,0===ze&&qe(Vr)),e!==n?(s=function(){var r,t,e,s,o,u,a,c;if(r=Ze,(t=zn())!==n)if(zn()!==n)if((e=Bn())!==n){for(s=[],o=Ze,(u=kn())!==n&&(a=Bn())!==n?(o,o=u=bt(0,a)):(Ze=o,o=n);o!==n;)s.push(o),o=Ze,(u=kn())!==n&&(a=Bn())!==n?(o,o=u=bt(0,a)):(Ze=o,o=n);s!==n?(o=Ze,(u=Dn())!==n&&(o,i=s,u={groupBy:[e,...i]}),(o=u)!==n?(u=Ze,(a=kn())!==n&&(c=cn())!==n?(u,u=a=c):(Ze=u,u=n),u===n&&(u=null),u!==n&&(a=Dn())!==n?(r,t=function(r,t,e){let n={};return n=e?{groupBy:[r,...t],...e.apply}:{groupBy:[r,...t]},n}(e,s,u),r=t):(Ze=r,r=n)):(Ze=r,r=n)):(Ze=r,r=n)}else Ze=r,r=n;else Ze=r,r=n;else Ze=r,r=n;var i;return r}(),s!==n?(t,t=e=s):(Ze=t,t=n)):(Ze=t,t=n),t===n&&(t=Ze,r.substr(Ze,6)===rt?(e=rt,Ze+=6):(e=n,0===ze&&qe(tt)),e!==n?(s=function(){var r,t,e;r=Ze,zn()!==n&&Pn()!==n?(t=Ze,(e=en())!==n&&(t,e=e),(t=e)!==n&&(e=Pn())!==n&&Dn()!==n?(r,r={where:t}):(Ze=r,r=n)):(Ze=r,r=n);return r}(),s!==n?(t,t=e=s):(Ze=t,t=n)):(Ze=t,t=n),t===n&&(t=Ze,r.substr(Ze,6)===et?(e=et,Ze+=6):(e=n,0===ze&&qe(nt)),e!==n?(s=function(){var r,t,e;r=Ze,zn()!==n&&Pn()!==n?(t=Ze,(e=rn())!==n&&(t,e=function(r){if(r)return r}(e)),(t=e)!==n&&(e=Pn())!==n&&Dn()!==n?(r,r={search:t}):(Ze=r,r=n)):(Ze=r,r=n);return r}(),s!==n?(t,t=e=s):(Ze=t,t=n)):(Ze=t,t=n),t===n&&(t=Ze,r.substr(Ze,6)===st?(e=st,Ze+=6):(e=n,0===ze&&qe(ot)),e!==n?(s=function(){var r,t,e,s,o;if(r=Ze,zn()!==n)if(Pn()!==n)if((t=cn())!==n){if(e=[],s=Ze,Pn()!==n&&kn()!==n&&Pn()!==n&&(o=cn())!==n?(s,s=Tt(0,o)):(Ze=s,s=n),s!==n)for(;s!==n;)e.push(s),s=Ze,Pn()!==n&&kn()!==n&&Pn()!==n&&(o=cn())!==n?(s,s=Tt(0,o)):(Ze=s,s=n);else e=n;e!==n&&(s=Pn())!==n&&Dn()!==n?(r,u=e,r={concat:[t,...u]}):(Ze=r,r=n)}else Ze=r,r=n;else Ze=r,r=n;else Ze=r,r=n;var u;return r}(),s!==n?(t,t=e=s):(Ze=t,t=n)):(Ze=t,t=n),t===n&&(t=Ze,r.substr(Ze,7)===ut?(e=ut,Ze+=7):(e=n,0===ze&&qe(at)),e!==n?(s=function(){var r,t,e,s,o,u,a,c,i,f;if(r=Ze,(t=zn())!==n)if((e=Pn())!==n)if((s=Sn())!==n){for(o=[],u=Ze,(a=Pn())!==n&&(c=kn())!==n&&(i=Pn())!==n&&(f=Sn())!==n?u=a=[a,c,i,f]:(Ze=u,u=n);u!==n;)o.push(u),u=Ze,(a=Pn())!==n&&(c=kn())!==n&&(i=Pn())!==n&&(f=Sn())!==n?u=a=[a,c,i,f]:(Ze=u,u=n);o!==n&&(u=Pn())!==n&&(a=Dn())!==n?r=t=[t,e,s,o,u,a]:(Ze=r,r=n)}else Ze=r,r=n;else Ze=r,r=n;else Ze=r,r=n;return r}(),s!==n?(t,t=e=s):(Ze=t,t=n)):(Ze=t,t=n),t===n&&(t=Ze,"top"===r.substr(Ze,3)?(e="top",Ze+=3):(e=n,0===ze&&qe(ct)),e!==n?(s=function(){var r,t;r=Ze,zn()!==n&&Pn()!==n&&(t=Ke())!==n&&Pn()!==n&&Dn()!==n?(r,r={limit:{rows:{val:t}}}):(Ze=r,r=n);return r}(),s!==n?(t,t=e=s):(Ze=t,t=n)):(Ze=t,t=n),t===n&&(t=Ze,r.substr(Ze,4)===it?(e=it,Ze+=4):(e=n,0===ze&&qe(ft)),e!==n?(s=function(){var r,t;r=Ze,zn()!==n&&Pn()!==n&&(t=Ve())!==n&&Pn()!==n&&Dn()!==n?(r,r={limit:{offset:{val:t}}}):(Ze=r,r=n);return r}(),s!==n?(t,t=e=s):(Ze=t,t=n)):(Ze=t,t=n),t===n&&(t=Ze,r.substr(Ze,7)===lt?(e=lt,Ze+=7):(e=n,0===ze&&qe(ht)),e!==n?(s=function(){var r,t,e,s,o;if(r=Ze,zn()!==n)if(Pn()!==n)if((t=an())!==n){for(e=[],s=Ze,kn()!==n&&(o=an())!==n?(s,s=Rt(0,o)):(Ze=s,s=n);s!==n;)e.push(s),s=Ze,kn()!==n&&(o=an())!==n?(s,s=Rt(0,o)):(Ze=s,s=n);e!==n&&(s=Pn())!==n&&Dn()!==n?(r,u=e,r={orderBy:[t,...u]}):(Ze=r,r=n)}else Ze=r,r=n;else Ze=r,r=n;else Ze=r,r=n;var u;return r}(),s!==n?(t,t=e=s):(Ze=t,t=n)):(Ze=t,t=n),t===n&&(t=Ze,"topcount"===r.substr(Ze,8).toLowerCase()?(e=r.substr(Ze,8),Ze+=8):(e=n,0===ze&&qe(pt)),e===n&&("bottomcount"===r.substr(Ze,11).toLowerCase()?(e=r.substr(Ze,11),Ze+=11):(e=n,0===ze&&qe(At)),e===n&&("topsum"===r.substr(Ze,6).toLowerCase()?(e=r.substr(Ze,6),Ze+=6):(e=n,0===ze&&qe(dt)),e===n&&("bottomsum"===r.substr(Ze,9).toLowerCase()?(e=r.substr(Ze,9),Ze+=9):(e=n,0===ze&&qe(gt)),e===n&&("toppercent"===r.substr(Ze,10).toLowerCase()?(e=r.substr(Ze,10),Ze+=10):(e=n,0===ze&&qe(mt)),e===n&&("bottompercent"===r.substr(Ze,13).toLowerCase()?(e=r.substr(Ze,13),Ze+=13):(e=n,0===ze&&qe(vt))))))),e!==n?(s=function(){var r,t,e;r=Ze,zn()!==n&&Pn()!==n&&(t=ln())!==n&&Pn()!==n&&kn()!==n&&Pn()!==n&&(e=ln())!==n&&Pn()!==n&&Dn()!==n?(r,r=[t,e]):(Ze=r,r=n);return r}(),s!==n?(t,t=e=function(r,t){if(!{topcount:!0,bottomcount:!0,topsum:!1,bottomsum:!1,toppercent:!1,bottompercent:!1}[r=r.toLowerCase()])throw Object.assign(new Error(`Transformation "${r}" in $apply is not yet supported.`),{statusCode:501});return{aggregate:[{func:r,args:t}]}}(e,s)):(Ze=t,t=n)):(Ze=t,t=n),t===n&&(t=Ze,e=function(){var t,e;t=Ze,r.substr(Ze,8)===Ot?(e=Ot,Ze+=8):(e=n,0===ze&&qe(_t));e!==n&&(t,e={identity:!0});return t=e}(),e!==n&&(t,e=e),t=e)))))))))),t}function wn(){var t,e,s,o;return t=Ze,e=Ze,r.substr(Ze,6)===f?(s=f,Ze+=6):(s=n,0===ze&&qe(l)),s!==n&&(o=Ln())!==n?(e,e=s={func:"count",args:[{val:1}],as:o}):(Ze=e,e=n),e===n&&(e=xn()),e!==n&&(t,e=e),t=e}function xn(){var r,t,e,s,o;return r=Ze,(t=hn())!==n?((e=En())===n&&(e=null),e!==n?((s=$n())===n&&(s=null),s!==n?((o=Ln())===n&&(o=null),o!==n?(r,r=t={func:e,args:[t],as:o}):(Ze=r,r=n)):(Ze=r,r=n)):(Ze=r,r=n)):(Ze=r,r=n),r===n&&(r=Ze,(t=Rn())!==n&&(e=zn())!==n&&(s=xn())!==n&&(o=Dn())!==n?r=t=[t,e,s,o]:(Ze=r,r=n)),r}function En(){var t,e,s,o,u;if(t=Ze,Fn()!==n)if(r.substr(Ze,4)===yt?(e=yt,Ze+=4):(e=n,0===ze&&qe(Ct)),e!==n)if(Fn()!==n){if(s=Ze,o=[],ur.test(r.charAt(Ze))?(u=r.charAt(Ze),Ze++):(u=n,0===ze&&qe(ar)),u!==n)for(;u!==n;)o.push(u),ur.test(r.charAt(Ze))?(u=r.charAt(Ze),Ze++):(u=n,0===ze&&qe(ar));else o=n;(s=o!==n?r.substring(s,Ze):o)!==n?(t,t=s.toLowerCase()):(Ze=t,t=n)}else Ze=t,t=n;else Ze=t,t=n;else Ze=t,t=n;return t}function $n(){var t,e,s,o,u,a,c;return t=Ze,(e=Fn())!==n?(r.substr(Ze,4)===wt?(s=wt,Ze+=4):(s=n,0===ze&&qe(xt)),s!==n&&(o=Fn())!==n&&(u=hn())!==n&&(a=En())!==n?((c=$n())===n&&(c=null),c!==n?t=e=[e,s,o,u,a,c]:(Ze=t,t=n)):(Ze=t,t=n)):(Ze=t,t=n),t}function Ln(){var t,e,s;return t=Ze,Fn()!==n?("as"===r.substr(Ze,2)?(e="as",Ze+=2):(e=n,0===ze&&qe(Et)),e!==n&&Fn()!==n&&(s=Rn())!==n?(t,t=s):(Ze=t,t=n)):(Ze=t,t=n),t}function Bn(){var t,e;return t=Ze,e=function(){var t,e,s,o,u,a,c,i,f,l,h;t=Ze,e=Ze,r.substr(Ze,6)===$t?(s=$t,Ze+=6):(s=n,0===ze&&qe(Lt));if(s!==n)if((o=zn())!==n)if((u=Pn())!==n)if(r.substr(Ze,4)===Bt?(a=Bt,Ze+=4):(a=n,0===ze&&qe(St)),a===n&&(a=hn()),a!==n){if(c=[],i=Ze,(f=Pn())!==n&&(l=kn())!==n&&(h=hn())!==n?i=f=[f,l,h]:(Ze=i,i=n),i!==n)for(;i!==n;)c.push(i),i=Ze,(f=Pn())!==n&&(l=kn())!==n&&(h=hn())!==n?i=f=[f,l,h]:(Ze=i,i=n);else c=n;c!==n&&(i=Pn())!==n&&(f=Dn())!==n?e=s=[s,o,u,a,c,i,f]:(Ze=e,e=n)}else Ze=e,e=n;else Ze=e,e=n;else Ze=e,e=n;else Ze=e,e=n;e!==n&&(t,e=function(r){const t=new Error("Rollup in groupby is not supported yet.");throw t.statusCode=501,t}());return t=e}(),e===n&&(e=hn()),e!==n&&(t,e=e),t=e}function Sn(){var r,t,e;return r=Ze,(t=nn())!==n&&(e=Ln())!==n?r=t=[t,e]:(Ze=r,r=n),r}function Tn(){var t,e;return t=Ze,r.substr(Ze,4)===Zt?(e=Zt,Ze+=4):(e=n,0===ze&&qe(jt)),e===n&&(r.substr(Ze,5)===Nt?(e=Nt,Ze+=5):(e=n,0===ze&&qe(kt))),e!==n&&(t,e="true"===e),t=e}function On(){var t,e,s,o,u;if(ze++,t=Ze,39===r.charCodeAt(Ze)?(e=Dt,Ze++):(e=n,0===ze&&qe(Pt)),e!==n){for(s=Ze,o=[],r.substr(Ze,2)===Ft?(u=Ft,Ze+=2):(u=n,0===ze&&qe(Ut)),u===n&&(Mt.test(r.charAt(Ze))?(u=r.charAt(Ze),Ze++):(u=n,0===ze&&qe(qt)));u!==n;)o.push(u),r.substr(Ze,2)===Ft?(u=Ft,Ze+=2):(u=n,0===ze&&qe(Ut)),u===n&&(Mt.test(r.charAt(Ze))?(u=r.charAt(Ze),Ze++):(u=n,0===ze&&qe(qt)));(s=o!==n?r.substring(s,Ze):o)!==n?(39===r.charCodeAt(Ze)?(o=Dt,Ze++):(o=n,0===ze&&qe(Pt)),o!==n?(t,t=e=s.replace(/''/g,"'")):(Ze=t,t=n)):(Ze=t,t=n)}else Ze=t,t=n;return ze--,t===n&&(e=n,0===ze&&qe(zt)),t}function _n(){var t,e,s,o,u,a;if(t=Ze,e=Ze,s=Ze,ae.test(r.charAt(Ze))?(o=r.charAt(Ze),Ze++):(o=n,0===ze&&qe(ce)),o===n&&(o=null),o!==n){if(u=[],Kt.test(r.charAt(Ze))?(a=r.charAt(Ze),Ze++):(a=n,0===ze&&qe(Vt)),a!==n)for(;a!==n;)u.push(a),Kt.test(r.charAt(Ze))?(a=r.charAt(Ze),Ze++):(a=n,0===ze&&qe(Vt));else u=n;u!==n?s=o=[o,u]:(Ze=s,s=n)}else Ze=s,s=n;return(e=s!==n?r.substring(e,Ze):s)!==n&&(t,e=parseInt(e)),t=e}function Rn(){var t,e,s,o,u,a,c,i;if(t=Ze,e=Ze,ze++,s=Tn(),ze--,s===n?e=void 0:(Ze=e,e=n),e!==n)if(s=Ze,ze++,o=Zn(),ze--,o===n?s=void 0:(Ze=s,s=n),s!==n){if(o=Ze,u=Ze,fe.test(r.charAt(Ze))?(a=r.charAt(Ze),Ze++):(a=n,0===ze&&qe(le)),a!==n){for(c=[],he.test(r.charAt(Ze))?(i=r.charAt(Ze),Ze++):(i=n,0===ze&&qe(pe));i!==n;)c.push(i),he.test(r.charAt(Ze))?(i=r.charAt(Ze),Ze++):(i=n,0===ze&&qe(pe));c!==n?u=a=[a,c]:(Ze=u,u=n)}else Ze=u,u=n;(o=u!==n?r.substring(o,Ze):u)!==n?(t,t=e=o):(Ze=t,t=n)}else Ze=t,t=n;else Ze=t,t=n;return t}function Zn(){var t,e,s,o,u,a,c,i,f,l,h,p,A,d;return t=Ze,e=Ze,(s=jn())!==n&&(o=jn())!==n?(45===r.charCodeAt(Ze)?(u=re,Ze++):(u=n,0===ze&&qe(te)),u===n&&(u=null),u!==n&&(a=jn())!==n?(45===r.charCodeAt(Ze)?(c=re,Ze++):(c=n,0===ze&&qe(te)),c===n&&(c=null),c!==n&&(i=jn())!==n?(45===r.charCodeAt(Ze)?(f=re,Ze++):(f=n,0===ze&&qe(te)),f===n&&(f=null),f!==n&&(l=jn())!==n?(45===r.charCodeAt(Ze)?(h=re,Ze++):(h=n,0===ze&&qe(te)),h===n&&(h=null),h!==n&&(p=jn())!==n&&(A=jn())!==n&&(d=jn())!==n?e=s=[s,o,u,a,c,i,f,l,h,p,A,d]:(Ze=e,e=n)):(Ze=e,e=n)):(Ze=e,e=n)):(Ze=e,e=n)):(Ze=e,e=n),t=e!==n?r.substring(t,Ze):e}function jn(){var t,e,s,o,u,a;return t=Ze,e=Ze,Ae.test(r.charAt(Ze))?(s=r.charAt(Ze),Ze++):(s=n,0===ze&&qe(de)),s!==n?(Ae.test(r.charAt(Ze))?(o=r.charAt(Ze),Ze++):(o=n,0===ze&&qe(de)),o!==n?(Ae.test(r.charAt(Ze))?(u=r.charAt(Ze),Ze++):(u=n,0===ze&&qe(de)),u!==n?(Ae.test(r.charAt(Ze))?(a=r.charAt(Ze),Ze++):(a=n,0===ze&&qe(de)),a!==n?e=s=[s,o,u,a]:(Ze=e,e=n)):(Ze=e,e=n)):(Ze=e,e=n)):(Ze=e,e=n),t=e!==n?r.substring(t,Ze):e}function Nn(){var t,e,s,o;if(t=Ze,e=Ze,s=[],ge.test(r.charAt(Ze))?(o=r.charAt(Ze),Ze++):(o=n,0===ze&&qe(me)),o!==n)for(;o!==n;)s.push(o),ge.test(r.charAt(Ze))?(o=r.charAt(Ze),Ze++):(o=n,0===ze&&qe(me));else s=n;return(e=s!==n?r.substring(e,Ze):s)!==n&&(t,e={val:e}),t=e}function kn(){var t,e,s,o;return t=Ze,(e=Pn())!==n?(44===r.charCodeAt(Ze)?(s=",",Ze++):(s=n,0===ze&&qe(Le)),s!==n&&(o=Pn())!==n?t=e=[e,s,o]:(Ze=t,t=n)):(Ze=t,t=n),t}function zn(){var t,e,s,o;return t=Ze,(e=Pn())!==n?(40===r.charCodeAt(Ze)?(s="(",Ze++):(s=n,0===ze&&qe(Be)),s!==n&&(o=Pn())!==n?t=e=[e,s,o]:(Ze=t,t=n)):(Ze=t,t=n),t}function Dn(){var t,e,s;return t=Ze,(e=Pn())!==n?(41===r.charCodeAt(Ze)?(s=")",Ze++):(s=n,0===ze&&qe(Se)),s!==n?t=e=[e,s]:(Ze=t,t=n)):(Ze=t,t=n),t}function Pn(){var t,e,s;for(ze++,t=Ze,e=[],Oe.test(r.charAt(Ze))?(s=r.charAt(Ze),Ze++):(s=n,0===ze&&qe(_e));s!==n;)e.push(s),Oe.test(r.charAt(Ze))?(s=r.charAt(Ze),Ze++):(s=n,0===ze&&qe(_e));return t=e!==n?r.substring(t,Ze):e,ze--,t===n&&(e=n,0===ze&&qe(Te)),t}function Fn(){var t,e,s;if(ze++,t=Ze,e=[],Oe.test(r.charAt(Ze))?(s=r.charAt(Ze),Ze++):(s=n,0===ze&&qe(_e)),s!==n)for(;s!==n;)e.push(s),Oe.test(r.charAt(Ze))?(s=r.charAt(Ze),Ze++):(s=n,0===ze&&qe(_e));else e=n;return t=e!==n?r.substring(t,Ze):e,ze--,t===n&&(e=n,0===ze&&qe(Re)),t}const Un=Object.assign,{strict:Mn,minimal:qn}=t,In=[];let Yn,Xn;const Jn=["$value"],Qn=t.safeNumber||function(r){const t=Number(r);return Number.isSafeInteger(t)?t:r},Wn=t.standardBase64||function(r){return Buffer.from(r,"base64").toString("base64")},Gn=r=>t=>r===t||r.as&&t.as&&r.as===t.as||t.as&&r.ref&&t.as===r.ref[r.ref.length-1]||r.ref&&t.ref&&r.ref.join("")===t.ref.join(""),Hn=r=>t=>{if(Array.isArray(t))return t.map(Hn(r));const e=t.ref&&r.find((r=>r.as&&r.func&&r.as===t.ref[0]));return e||t},Kn=r=>t=>Array.isArray(t)?t.map(Kn(r)):t.ref&&!r.find(Gn(t))?{val:null}:t,Vn=(r,t)=>{if(1===t.ref.length)r.find(Gn(t))||r.push(t);else{const e=t.ref.shift(),n=r.find((r=>r.ref&&r.ref[0]===e));if(n)Vn(n.expand,t);else{const n={ref:[e],expand:[]};Vn(n.expand,t),r.push(n)}}},rs=(r,t,e=!1)=>{let n=ns({from:r.from},t,e);if(Array.isArray(n))for(let t=0;t<n.length;t++)n[t]=ts(n[t],r,e);else n=ts(n,r,e);return n},ts=(r,t,e)=>{if(!t)return r;t.apply&&delete t.apply;let n={};t.columns&&"$count"===t.columns[0].as||r.SELECT.where&&t.where||r.SELECT.limit&&t.limit||r.SELECT.orderBy&&t.orderBy||r.SELECT.search&&t.search?n.from=r:n=r.SELECT;for(const r in t)"columns"===r?(t.columns=t.columns.map((r=>n.columns&&n.columns.find((t=>r.ref&&r.ref[0]===t.as||t.ref&&r.ref&&r.ref[0]===t.ref[0]&&!r.expand))||r)),n.columns&&n.groupBy&&t.columns.push(...n.columns.filter((r=>e&&n.groupBy.find((t=>r.ref&&r.ref[0]===t.ref[0]))&&!t.columns.some((t=>t.ref&&t.ref[0]===r.as||t.ref&&r.ref&&t.ref[0]===r.ref[0]||t.as&&t.as===r.as))))||[]),n.columns=t.columns):"from"!==r&&(n[r]=t[r]);const s=[...n.columns&&n.columns.filter((r=>n.groupBy&&n.groupBy.find((t=>r.ref&&r.ref[0]===t.ref[0]))))||[],...n.columns&&n.columns.filter((r=>r&&"object"==typeof r&&"func"in r))||[]];return es(n,s,e),{SELECT:n}},es=(r,t,e)=>{t.length&&(r.columns=r.columns&&!e?r.columns.reduce(((r,e)=>{const n=t.find(Gn(e));return n&&r.push(n),r}),[]):t,r.where&&(r.where=r.where.map(Hn(r.columns)),r.groupBy&&(r.having=r.where.map(Kn(r.groupBy)),delete r.where)),r.columns=r.columns.reduce(((r,e)=>(e.ref&&e.ref.length>1&&t.find(Gn(e))?Vn(r,{ref:[...e.ref]}):r.push(e),r)),[]))},ns=(r,t,e)=>{if(!t)return;if(r.apply&&delete r.apply,t.identity&&r.from.SELECT&&(r=r.from.SELECT),(t.apply||t.where&&r.where||t.search&&r.search||t.limit&&r.limit||t.orderBy&&r.orderBy)&&(r.from={SELECT:{...r}}),t.where&&(r.where=t.where),t.search&&(r.search=t.search),t.groupBy){r.groupBy=[];for(const e of t.groupBy)r.groupBy.find(Gn(e))||r.groupBy.push(e)}t.limit&&(r.limit=t.limit),t.orderBy&&(r.orderBy=t.orderBy);const n=[...r.groupBy||[],...t.aggregate||[]];if(es(r,n,e),t.apply&&r.from&&ns(r.from.SELECT,t.apply),t.concat&&Array.isArray(t.concat)){const e=[];for(let n of t.concat){n.from=1===Object.keys(r).length?r.from:{SELECT:r};const t=ns(n,n.apply);Array.isArray(t)?e.push(...t):e.push(t)}r=e}return Array.isArray(r)?r:{SELECT:r}},ss=r=>{Yn.limit&&Yn.limit.offset&&Yn.limit.offset.val&&(r+=Yn.limit.offset.val),(Yn.limit||(Yn.limit={})).offset={val:r}},os=(r,t=!1)=>{Yn.orderBy=Yn.orderBy?t?[r,...Yn.orderBy]:[...Yn.orderBy,r]:[r]},us=(r,t)=>{for(const e of t)e.ref&&e.ref[0]===r&&e.ref.shift(),e.func&&us(r,e.args);return t};if((e=o())!==n&&Ze===r.length)return e;throw e!==n&&Ze<r.length&&qe({type:"end"}),Ie(ke,Ne<r.length?r.charAt(Ne):null,Ne<r.length?Me(Ne,Ne+1):Me(Ne,Ne))}peg$subclass(peg$SyntaxError,Error),peg$SyntaxError.buildMessage=function(r,t){var e={literal:function(r){return'"'+s(r.text)+'"'},class:function(r){var t,e="";for(t=0;t<r.parts.length;t++)e+=r.parts[t]instanceof Array?o(r.parts[t][0])+"-"+o(r.parts[t][1]):o(r.parts[t]);return"["+(r.inverted?"^":"")+e+"]"},any:function(r){return"any character"},end:function(r){return"end of input"},other:function(r){return r.description}};function n(r){return r.charCodeAt(0).toString(16).toUpperCase()}function s(r){return r.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,(function(r){return"\\x0"+n(r)})).replace(/[\x10-\x1F\x7F-\x9F]/g,(function(r){return"\\x"+n(r)}))}function o(r){return r.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,(function(r){return"\\x0"+n(r)})).replace(/[\x10-\x1F\x7F-\x9F]/g,(function(r){return"\\x"+n(r)}))}return"Expected "+function(r){var t,n,s,o=new Array(r.length);for(t=0;t<r.length;t++)o[t]=(s=r[t],e[s.type](s));if(o.sort(),o.length>0){for(t=1,n=1;t<o.length;t++)o[t-1]!==o[t]&&(o[n]=o[t],n++);o.length=n}switch(o.length){case 1:return o[0];case 2:return o[0]+" or "+o[1];default:return o.slice(0,-1).join(", ")+", or "+o[o.length-1]}}(r)+" but "+function(r){return r?'"'+s(r)+'"':"end of input"}(t)+" found."},module.exports={SyntaxError:peg$SyntaxError,parse:peg$parse};
|
package/libx/odata/utils.js
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
const { toBase64url } = require('../_runtime/common/utils/binary')
|
|
2
|
+
|
|
1
3
|
const getSafeNumber = str => {
|
|
2
4
|
const n = Number(str)
|
|
3
5
|
return Number.isSafeInteger(n) || String(n) === str ? n : str
|
|
@@ -13,13 +15,19 @@ const formatVal = (val, key, csnTarget, kind) => {
|
|
|
13
15
|
if (typeof val === 'boolean') return val
|
|
14
16
|
if (typeof val === 'number') return getSafeNumber(val)
|
|
15
17
|
if (!csnTarget && typeof val === 'string' && UUID.test(val)) return kind === 'odata-v2' ? `guid'${val}'` : val
|
|
16
|
-
const { type } = (csnTarget &&
|
|
18
|
+
const { type } = (csnTarget &&
|
|
19
|
+
((csnTarget.elements && csnTarget.elements[key]) || (csnTarget.params && csnTarget.params[key]))) || {
|
|
20
|
+
type: undefined
|
|
21
|
+
}
|
|
17
22
|
|
|
18
23
|
if (kind === 'odata-v2') {
|
|
19
24
|
switch (type) {
|
|
25
|
+
case 'cds.Decimal':
|
|
26
|
+
case 'cds.Integer64':
|
|
27
|
+
return val
|
|
20
28
|
case 'cds.Binary':
|
|
21
29
|
case 'cds.LargeBinary':
|
|
22
|
-
return `binary'${val}'`
|
|
30
|
+
return `binary'${toBase64url(val)}'`
|
|
23
31
|
case 'cds.Date':
|
|
24
32
|
return `datetime'${val}T00:00:00'`
|
|
25
33
|
case 'cds.DateTime':
|
|
@@ -35,9 +43,11 @@ const formatVal = (val, key, csnTarget, kind) => {
|
|
|
35
43
|
}
|
|
36
44
|
} else {
|
|
37
45
|
switch (type) {
|
|
46
|
+
case 'cds.Binary':
|
|
47
|
+
case 'cds.LargeBinary':
|
|
48
|
+
return `binary'${toBase64url(val)}'`
|
|
38
49
|
case 'cds.Decimal':
|
|
39
50
|
case 'cds.Integer64':
|
|
40
|
-
return getSafeNumber(val)
|
|
41
51
|
case 'cds.Boolean':
|
|
42
52
|
case 'cds.DateTime':
|
|
43
53
|
case 'cds.Date':
|