@sap/cds 8.9.4 → 9.0.3
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 +121 -680
- package/LICENSE +15 -21
- package/README.md +1 -1
- package/_i18n/i18n_sl.properties +3 -3
- package/_i18n/messages.properties +1 -1
- package/app/index.js +1 -1
- package/bin/serve.js +17 -19
- package/eslint.config.mjs +7 -1
- package/lib/compile/etc/_localized.js +3 -24
- package/lib/compile/etc/yaml.js +6 -15
- package/lib/compile/for/odata.js +2 -2
- package/lib/compile/load.js +15 -4
- package/lib/compile/minify.js +1 -0
- package/lib/compile/to/edm-files.js +4 -33
- package/lib/compile/to/hdbtabledata.js +16 -3
- package/lib/compile/to/sql.js +1 -2
- package/lib/core/linked-csn.js +7 -8
- package/lib/dbs/cds-deploy.js +4 -3
- package/lib/env/cds-env.js +9 -9
- package/lib/env/cds-requires.js +23 -50
- package/lib/env/defaults.js +15 -44
- package/lib/env/schemas/cds-package.js +1 -1
- package/lib/i18n/index.js +1 -0
- package/lib/i18n/locale.js +41 -0
- package/lib/index.js +25 -15
- package/lib/log/cds-error.js +13 -3
- package/lib/log/cds-log.js +43 -18
- package/lib/log/format/aspects/als.js +2 -15
- package/lib/plugins.js +11 -11
- package/lib/ql/CREATE.js +1 -1
- package/lib/ql/DELETE.js +1 -1
- package/lib/ql/DROP.js +1 -1
- package/lib/ql/INSERT.js +9 -18
- package/lib/ql/SELECT.js +12 -19
- package/lib/ql/UPDATE.js +1 -1
- package/lib/ql/UPSERT.js +1 -0
- package/lib/ql/Whereable.js +7 -6
- package/lib/ql/cds-ql.js +0 -12
- package/lib/ql/cds.ql-Query.js +28 -68
- package/lib/ql/cds.ql-infer.js +97 -108
- package/lib/ql/resolve.js +1 -3
- package/lib/req/context.js +5 -4
- package/lib/req/request.js +46 -42
- package/lib/req/response.js +5 -9
- package/lib/req/spawn.js +38 -0
- package/lib/req/validate.js +9 -8
- package/lib/srv/bindings.js +2 -1
- package/lib/srv/cds-connect.js +5 -2
- package/lib/srv/cds-serve.js +0 -2
- package/lib/srv/cds.Service.js +146 -86
- package/lib/srv/middlewares/auth/ias-auth.js +99 -88
- package/lib/srv/middlewares/auth/jwt-auth.js +44 -57
- package/lib/srv/middlewares/cds-context.js +1 -1
- package/lib/srv/middlewares/ctx-model.js +1 -1
- package/lib/srv/middlewares/errors.js +34 -42
- package/lib/srv/protocols/hcql.js +35 -25
- package/lib/srv/protocols/index.js +0 -9
- package/lib/srv/protocols/odata-v4.js +1 -6
- package/lib/srv/srv-dispatch.js +29 -31
- package/lib/srv/srv-handlers.js +14 -46
- package/lib/srv/srv-methods.js +15 -37
- package/lib/srv/srv-tx.js +19 -25
- package/lib/test/cds-test.js +4 -263
- package/lib/utils/cds-utils.js +18 -2
- package/lib/utils/tar.js +6 -8
- package/lib/utils/unit.js +19 -0
- package/libx/_runtime/.eslintrc +1 -1
- package/libx/_runtime/cds-services/util/assert.js +2 -72
- package/libx/_runtime/cds.js +13 -6
- package/libx/_runtime/common/Service.js +33 -75
- package/libx/_runtime/common/aspects/any.js +0 -38
- package/libx/_runtime/common/constants/events.js +5 -13
- package/libx/_runtime/common/generic/auth/autoexpose.js +10 -24
- package/libx/_runtime/common/generic/auth/capabilities.js +23 -20
- package/libx/_runtime/common/generic/auth/expand.js +3 -3
- package/libx/_runtime/common/generic/auth/index.js +3 -3
- package/libx/_runtime/common/generic/auth/insertOnly.js +3 -3
- package/libx/_runtime/common/generic/auth/readOnly.js +4 -4
- package/libx/_runtime/common/generic/auth/requires.js +4 -4
- package/libx/_runtime/common/generic/auth/restrict.js +12 -29
- package/libx/_runtime/common/generic/auth/service.js +3 -3
- package/libx/_runtime/common/generic/auth/utils.js +2 -12
- package/libx/_runtime/common/generic/crud.js +22 -53
- package/libx/_runtime/common/generic/etag.js +18 -31
- package/libx/_runtime/common/generic/input.js +51 -123
- package/libx/_runtime/common/generic/paging.js +4 -4
- package/libx/_runtime/common/generic/sorting.js +8 -19
- package/libx/_runtime/common/generic/stream-only.js +26 -0
- package/libx/_runtime/common/generic/stream.js +16 -48
- package/libx/_runtime/common/generic/temporal.js +15 -7
- package/libx/_runtime/common/utils/binary.js +1 -26
- package/libx/_runtime/common/utils/compareJson.js +1 -2
- package/libx/_runtime/common/utils/cqn.js +15 -14
- package/libx/_runtime/common/utils/differ.js +121 -44
- package/libx/_runtime/common/utils/keys.js +4 -5
- package/libx/_runtime/common/utils/normalizeTimestamp.js +10 -1
- package/libx/_runtime/common/utils/postProcess.js +2 -2
- package/libx/_runtime/common/utils/propagateForeignKeys.js +21 -36
- package/libx/_runtime/common/utils/resolveView.js +105 -141
- package/libx/_runtime/common/utils/rewriteAsterisks.js +45 -12
- package/libx/_runtime/common/utils/streamProp.js +3 -9
- package/libx/_runtime/common/utils/waitingTime.js +13 -1
- package/libx/_runtime/fiori/lean-draft.js +174 -196
- package/libx/_runtime/messaging/common-utils/connections.js +1 -1
- package/libx/_runtime/messaging/enterprise-messaging-utils/EMManagement.js +1 -0
- package/libx/_runtime/messaging/enterprise-messaging-utils/registerEndpoints.js +3 -3
- package/libx/_runtime/messaging/enterprise-messaging.js +2 -2
- package/libx/_runtime/messaging/file-based.js +2 -4
- package/libx/_runtime/messaging/redis-messaging.js +1 -1
- package/libx/_runtime/messaging/service.js +5 -19
- package/libx/_runtime/remote/Service.js +20 -33
- package/libx/_runtime/remote/utils/client.js +7 -25
- package/libx/_runtime/remote/utils/cloudSdkProvider.js +8 -13
- package/libx/_runtime/remote/utils/data.js +3 -34
- package/libx/_runtime/types/api.js +0 -8
- package/libx/_runtime/ucl/Service.js +1 -9
- package/libx/common/utils/path.js +2 -3
- package/libx/common/utils/streaming.js +2 -1
- package/libx/http/HttpRequest.js +13 -0
- package/libx/{odata/middleware → http}/body-parser.js +7 -5
- package/libx/http/location.js +41 -0
- package/libx/http/put.js +36 -0
- package/libx/odata/ODataAdapter.js +25 -59
- package/libx/odata/index.js +10 -23
- package/libx/odata/middleware/batch.js +29 -20
- package/libx/odata/middleware/create.js +6 -13
- package/libx/odata/middleware/delete.js +0 -4
- package/libx/odata/middleware/error.js +83 -27
- package/libx/odata/middleware/metadata.js +14 -25
- package/libx/odata/middleware/operation.js +10 -26
- package/libx/odata/middleware/read.js +10 -18
- package/libx/odata/middleware/stream.js +14 -34
- package/libx/odata/middleware/update.js +17 -26
- package/libx/odata/parse/afterburner.js +20 -16
- package/libx/odata/parse/cqn2odata.js +3 -1
- package/libx/odata/parse/grammar.peggy +221 -114
- package/libx/odata/parse/parser.js +1 -1
- package/libx/odata/utils/index.js +10 -38
- package/libx/odata/utils/metadata.js +10 -8
- package/libx/odata/utils/normalizeTimeData.js +5 -8
- package/libx/odata/utils/readAfterWrite.js +1 -1
- package/libx/{outbox/OutboxRunner.js → queue/TaskRunner.js} +17 -22
- package/libx/queue/index.js +531 -0
- package/libx/rest/RestAdapter.js +43 -82
- package/libx/rest/middleware/create.js +35 -33
- package/libx/rest/middleware/delete.js +9 -7
- package/libx/rest/middleware/error.js +11 -18
- package/libx/rest/middleware/operation.js +44 -137
- package/libx/rest/middleware/parse.js +114 -130
- package/libx/rest/middleware/read.js +23 -21
- package/libx/rest/middleware/update.js +20 -32
- package/libx/rest/middleware/upsert.js +31 -0
- package/libx/rest/pre-processing.js +8 -18
- package/package.json +6 -7
- package/srv/outbox.cds +1 -0
- package/bin/test.js +0 -125
- package/lib/env/plugins.js +0 -18
- package/lib/req/cds-context.js +0 -52
- package/lib/req/locale.js +0 -35
- package/lib/srv/cds.ServiceClient.js +0 -96
- package/lib/srv/cds.ServiceProvider.js +0 -20
- package/lib/srv/protocols/okra.js +0 -22
- package/lib/test/axios.js +0 -63
- package/lib/test/data.js +0 -52
- package/lib/test/expect.js +0 -343
- package/lib/test/reporter.js +0 -176
- package/libx/_runtime/cds-services/adapter/odata-v4/OData.js +0 -275
- package/libx/_runtime/cds-services/adapter/odata-v4/ODataRequest.js +0 -217
- package/libx/_runtime/cds-services/adapter/odata-v4/handlers/action.js +0 -101
- package/libx/_runtime/cds-services/adapter/odata-v4/handlers/create.js +0 -79
- package/libx/_runtime/cds-services/adapter/odata-v4/handlers/debug.js +0 -6
- package/libx/_runtime/cds-services/adapter/odata-v4/handlers/delete.js +0 -60
- package/libx/_runtime/cds-services/adapter/odata-v4/handlers/error.js +0 -161
- package/libx/_runtime/cds-services/adapter/odata-v4/handlers/language.js +0 -7
- package/libx/_runtime/cds-services/adapter/odata-v4/handlers/metadata.js +0 -59
- package/libx/_runtime/cds-services/adapter/odata-v4/handlers/read.js +0 -602
- package/libx/_runtime/cds-services/adapter/odata-v4/handlers/request.js +0 -64
- package/libx/_runtime/cds-services/adapter/odata-v4/handlers/update.js +0 -238
- package/libx/_runtime/cds-services/adapter/odata-v4/odata-to-cqn/ExpressionToCQN.js +0 -327
- package/libx/_runtime/cds-services/adapter/odata-v4/odata-to-cqn/applyToCQN.js +0 -243
- package/libx/_runtime/cds-services/adapter/odata-v4/odata-to-cqn/boundToCQN.js +0 -43
- package/libx/_runtime/cds-services/adapter/odata-v4/odata-to-cqn/createToCQN.js +0 -37
- package/libx/_runtime/cds-services/adapter/odata-v4/odata-to-cqn/deleteToCQN.js +0 -36
- package/libx/_runtime/cds-services/adapter/odata-v4/odata-to-cqn/expandToCQN.js +0 -250
- package/libx/_runtime/cds-services/adapter/odata-v4/odata-to-cqn/index.js +0 -81
- package/libx/_runtime/cds-services/adapter/odata-v4/odata-to-cqn/orderByToCQN.js +0 -51
- package/libx/_runtime/cds-services/adapter/odata-v4/odata-to-cqn/readToCQN.js +0 -389
- package/libx/_runtime/cds-services/adapter/odata-v4/odata-to-cqn/searchToCQN.js +0 -43
- package/libx/_runtime/cds-services/adapter/odata-v4/odata-to-cqn/selectToCQN.js +0 -35
- package/libx/_runtime/cds-services/adapter/odata-v4/odata-to-cqn/updateToCQN.js +0 -38
- package/libx/_runtime/cds-services/adapter/odata-v4/odata-to-cqn/utils.js +0 -217
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/FeatureSupport.js +0 -70
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/FullQualifiedName.js +0 -94
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlAction.js +0 -139
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlActionImport.js +0 -82
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlAliasInfo.js +0 -44
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlAnnotation.js +0 -104
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlAnnotations.js +0 -71
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlComplexType.js +0 -133
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlEntityContainer.js +0 -142
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlEntityContainerInfo.js +0 -37
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlEntitySet.js +0 -107
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlEntityType.js +0 -177
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlEnumMember.js +0 -61
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlEnumType.js +0 -105
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlFunction.js +0 -149
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlFunctionImport.js +0 -105
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlInclude.js +0 -68
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlIncludeAnnotation.js +0 -71
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlJsonProvider.js +0 -1365
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlNavigationProperty.js +0 -190
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlNavigationPropertyBinding.js +0 -37
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlOnDelete.js +0 -70
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlParameter.js +0 -227
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlProperty.js +0 -250
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlPropertyRef.js +0 -49
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlProvider.js +0 -190
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlReference.js +0 -97
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlReferentialConstraint.js +0 -60
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlReturnType.js +0 -216
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlSchema.js +0 -328
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlSingleton.js +0 -84
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlTerm.js +0 -320
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlTypeDefinition.js +0 -193
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlAnnotationExpression.js +0 -73
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlAnnotationPathExpression.js +0 -33
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlApplyExpression.js +0 -105
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlArithmeticExpression.js +0 -72
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlBinaryExpression.js +0 -110
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlCastExpression.js +0 -188
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlCollectionExpression.js +0 -48
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlConstantExpression.js +0 -116
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlIfExpression.js +0 -62
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlIsOfExpression.js +0 -200
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlLabeledElementExpression.js +0 -42
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlLabeledElementReferenceExpression.js +0 -31
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlModelElementPathExpression.js +0 -29
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlNavigationPropertyPathExpression.js +0 -31
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlNegationExpression.js +0 -27
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlNotExpression.js +0 -31
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlNullExpression.js +0 -18
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlPathExpression.js +0 -32
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlPropertyPathExpression.js +0 -32
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlPropertyValueExpression.js +0 -55
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlRecordExpression.js +0 -54
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlUnknownExpression.js +0 -44
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlUrlRefExpression.js +0 -31
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/AbstractEdmBindingTarget.js +0 -163
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/AbstractEdmFaceted.js +0 -136
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/AbstractEdmOperation.js +0 -205
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/AbstractEdmOperationImport.js +0 -126
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/AbstractEdmStructuredType.js +0 -275
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/Edm.js +0 -775
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmAction.js +0 -15
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmActionImport.js +0 -39
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmAnnotation.js +0 -106
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmAnnotations.js +0 -57
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmComplexType.js +0 -48
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmEntityContainer.js +0 -455
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmEntitySet.js +0 -43
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmEntityType.js +0 -119
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmEnumMember.js +0 -69
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmEnumType.js +0 -117
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmFunction.js +0 -39
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmFunctionImport.js +0 -59
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmInclude.js +0 -65
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmIncludeAnnotation.js +0 -48
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmKeyPropertyRef.js +0 -79
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmNavigationProperty.js +0 -182
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmNavigationPropertyBinding.js +0 -46
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmOnDelete.js +0 -44
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmParameter.js +0 -22
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmPrimitiveType.js +0 -31
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmPrimitiveTypeKind.js +0 -70
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmProperty.js +0 -39
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmProvider.js +0 -399
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmReference.js +0 -88
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmReferentialConstraint.js +0 -71
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmReturnType.js +0 -14
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmSchema.js +0 -355
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmSingleton.js +0 -15
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmTerm.js +0 -75
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmType.js +0 -95
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmTypeDefinition.js +0 -121
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmTypeFactory.js +0 -28
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmVocabularyTermType.js +0 -41
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/KeyFactory.js +0 -67
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/Target.js +0 -56
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/TransientStructuredType.js +0 -244
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/AnnotationExpressionFactory.js +0 -130
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmAnnotationExpression.js +0 -28
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmAnnotationPathExpression.js +0 -42
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmApplyExpression.js +0 -85
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmArithmeticExpression.js +0 -92
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmBinaryExpression.js +0 -96
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmCastExpression.js +0 -129
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmCollectionExpression.js +0 -52
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmConstantExpression.js +0 -83
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmIfExpression.js +0 -103
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmIsOfExpression.js +0 -125
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmLabeledElementExpression.js +0 -83
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmLabeledElementReferenceExpression.js +0 -41
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmModelElementPathExpression.js +0 -35
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmNavigationPropertyPathExpression.js +0 -37
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmNegationExpression.js +0 -70
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmNotExpression.js +0 -75
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmNullExpression.js +0 -50
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmPathExpression.js +0 -38
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmPropertyPathExpression.js +0 -37
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmPropertyValueExpression.js +0 -72
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmRecordExpression.js +0 -100
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmUnknownExpression.js +0 -72
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmUrlRefExpression.js +0 -73
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/errors/AbstractError.js +0 -82
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/errors/IllegalArgumentError.js +0 -58
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/errors/IllegalCallError.js +0 -21
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/errors/NotImplementedError.js +0 -19
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/errors/UriQueryOptionSemanticError.js +0 -49
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/errors/UriSemanticError.js +0 -48
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/errors/UriSyntaxError.js +0 -65
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/format/ContentTypeInfo.js +0 -105
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/format/JsonContentTypeInfo.js +0 -83
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/format/JsonFormat.js +0 -141
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/format/RepresentationKind.js +0 -251
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/http/HttpHeader.js +0 -42
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/http/HttpHeaderReader.js +0 -318
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/http/HttpMethod.js +0 -25
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/http/HttpStatusCode.js +0 -52
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/http/Preferences.js +0 -32
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/index.js +0 -69
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/logging/LoggerFacade.js +0 -183
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/AliasExpression.js +0 -47
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/ApplyParser.js +0 -946
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/BinaryExpression.js +0 -124
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/ExpandItem.js +0 -76
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/ExpandParser.js +0 -384
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/Expression.js +0 -46
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/ExpressionParser.js +0 -1988
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/FilterParser.js +0 -34
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/FunctionParameterParser.js +0 -106
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/KeyPredicateParser.js +0 -155
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/KeyValueParser.js +0 -213
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/LiteralExpression.js +0 -43
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/MemberExpression.js +0 -44
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/MethodExpression.js +0 -146
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/OrderByItem.js +0 -53
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/OrderByParser.js +0 -69
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/ResourcePathParser.js +0 -848
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/SearchParser.js +0 -127
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/SelectItem.js +0 -80
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/SelectParser.js +0 -294
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/TypeLiteralExpression.js +0 -28
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/UnaryExpression.js +0 -64
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/UriHelper.js +0 -65
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/UriInfo.js +0 -165
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/UriParameter.js +0 -107
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/UriParser.js +0 -350
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/UriResource.js +0 -602
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/UriTokenizer.js +0 -1156
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/apply/AggregateExpression.js +0 -164
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/apply/AggregateTransformation.js +0 -38
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/apply/BottomTopTransformation.js +0 -93
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/apply/ComputeExpression.js +0 -52
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/apply/ComputeTransformation.js +0 -38
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/apply/ConcatTransformation.js +0 -38
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/apply/CustomFunctionTransformation.js +0 -59
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/apply/ExpandTransformation.js +0 -37
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/apply/FilterTransformation.js +0 -37
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/apply/GroupByItem.js +0 -71
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/apply/GroupByTransformation.js +0 -58
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/apply/IdentityTransformation.js +0 -17
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/apply/OrderByTransformation.js +0 -37
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/apply/SearchTransformation.js +0 -37
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/apply/SkipTransformation.js +0 -37
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/apply/TopTransformation.js +0 -37
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/apply/Transformation.js +0 -53
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/info.md +0 -116
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/utils/PrimitiveValueDecoder.js +0 -667
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/utils/PrimitiveValueEncoder.js +0 -349
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/utils/ValueConverter.js +0 -545
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/validator/ParameterValidator.js +0 -124
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/validator/ValueValidator.js +0 -743
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/ServiceFactory.js +0 -234
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/batch/BatchContext.js +0 -351
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/batch/BatchErrorInfo.js +0 -61
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/batch/BatchExitHandler.js +0 -239
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/batch/BatchProcessor.js +0 -281
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/batch/BatchValidator.js +0 -133
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/batch/BatchedRequestExecutor.js +0 -92
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/core/ComponentManager.js +0 -63
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/core/Context.js +0 -96
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/core/Dispatcher.js +0 -147
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/core/OdataRequest.js +0 -458
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/core/OdataRequestInBatch.js +0 -147
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/core/OdataResponse.js +0 -314
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/core/OdataResponseInBatch.js +0 -83
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/core/PlainHttpRequest.js +0 -175
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/core/PlainHttpResponse.js +0 -106
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/core/RequestContract.js +0 -111
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/core/ResponseContract.js +0 -111
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/core/ResponseHeaderSetter.js +0 -240
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/core/Service.js +0 -417
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/core/ServiceResolutions.js +0 -24
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/deserializer/ApplicationHttpReader.js +0 -157
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/deserializer/BatchJsonDeserializer.js +0 -171
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/deserializer/BatchRequestListBuilder.js +0 -196
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/deserializer/Cache.js +0 -154
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/deserializer/ContentDeserializer.js +0 -222
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/deserializer/DataReader.js +0 -220
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/deserializer/DeserializerFactory.js +0 -240
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/deserializer/HeaderReader.js +0 -133
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/deserializer/LineReader.js +0 -61
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/deserializer/MultipartReader.js +0 -419
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/deserializer/PartReader.js +0 -99
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/deserializer/Reader.js +0 -52
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/deserializer/ResourceJsonDeserializer.js +0 -673
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/errors/ApplicationError.js +0 -108
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/errors/BadRequestError.js +0 -21
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/errors/ConflictError.js +0 -11
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/errors/DeserializationError.js +0 -19
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/errors/InternalServerError.js +0 -20
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/errors/MethodNotAllowedError.js +0 -17
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/errors/NotAcceptableError.js +0 -21
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/errors/NotFoundError.js +0 -33
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/errors/PreconditionFailedError.js +0 -11
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/errors/PreconditionRequiredError.js +0 -11
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/errors/SerializationError.js +0 -19
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/errors/UnauthorizedError.js +0 -17
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/format/AcceptTypeInfo.js +0 -86
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/format/CharsetInfo.js +0 -76
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/format/FormatDescription.js +0 -43
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/format/FormatManager.js +0 -91
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/format/RequestContentNegotiator.js +0 -62
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/format/ResponseContentNegotiator.js +0 -321
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/handler/BatchHandler.js +0 -36
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/handler/MetadataHandler.js +0 -21
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/handler/ServiceHandler.js +0 -25
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/http/CustomPreference.js +0 -31
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/http/HeaderInfo.js +0 -79
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/http/HttpHeader.js +0 -59
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/http/HttpHeaderReader.js +0 -452
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/http/HttpStatusCode.js +0 -117
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/http/Preferences.js +0 -222
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/http/PreferencesApplied.js +0 -199
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/index.js +0 -37
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/Command.js +0 -31
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/CommandExecutor.js +0 -94
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/CommandFactory.js +0 -203
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/ConditionalRequestControlCommand.js +0 -52
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/ConditionalRequestPreValidationCommand.js +0 -59
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/ContentNegotiatorCommand.js +0 -70
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/DebugContentNegotiatorCommand.js +0 -59
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/DebugDeserializingCommand.js +0 -44
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/DebugSerializingCommand.js +0 -51
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/DeserializingCommand.js +0 -69
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/DispatcherCommand.js +0 -95
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/ErrorContentNegotiatorCommand.js +0 -44
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/ErrorSerializingCommand.js +0 -51
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/EventListenerCommand.js +0 -59
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/LocaleNegotiatorCommand.js +0 -56
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/OdataVersionValidationCommand.js +0 -41
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/OperationValidationCommand.js +0 -34
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/ParsePreferHeaderCommand.js +0 -47
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/PresetResponseHeadersCommand.js +0 -47
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/QueryOptionsParserCommand.js +0 -43
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/QueryOptionsValidationCommand.js +0 -62
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/RequestContentValidationCommand.js +0 -51
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/SendResponseCommand.js +0 -37
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/SerializingCommand.js +0 -159
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/SetResponseHeadersCommand.js +0 -90
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/SetStatuscodeCommand.js +0 -51
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/UriParserCommand.js +0 -47
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/logging/DebugLogger.js +0 -97
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/serializer/ApplicationHttpWriter.js +0 -65
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/serializer/BatchJsonSerializer.js +0 -46
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/serializer/BatchMultipartSerializer.js +0 -113
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/serializer/ContextURLFactory.js +0 -405
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/serializer/DebugHtmlSerializer.js +0 -302
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/serializer/DebugJsonSerializer.js +0 -515
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/serializer/ErrorJsonSerializer.js +0 -47
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/serializer/ErrorSerializer.js +0 -39
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/serializer/ErrorXmlSerializer.js +0 -98
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/serializer/ExpressionTreeImage.js +0 -404
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/serializer/MetadataXmlSerializer.js +0 -1416
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/serializer/MultipartWriter.js +0 -202
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/serializer/NextLinkSerializer.js +0 -330
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/serializer/ResourceJsonSerializer.js +0 -1220
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/serializer/SerializerFactory.js +0 -484
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/serializer/ServiceJsonSerializer.js +0 -89
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/serializer/TrustedResourceJsonSerializer.js +0 -612
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/serializer/debugview.html +0 -157
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/utils/BufferedWriter.js +0 -59
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/utils/ExpandHelper.js +0 -96
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/utils/MetadataCache.js +0 -136
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/utils/PerformanceMonitor.js +0 -221
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/utils/UriHelper.js +0 -157
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/validator/ConditionalRequestValidator.js +0 -79
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/validator/OperationValidator.js +0 -199
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/validator/RequestValidator.js +0 -392
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/validator/VersionValidator.js +0 -62
- package/libx/_runtime/cds-services/adapter/odata-v4/to.js +0 -51
- package/libx/_runtime/cds-services/adapter/odata-v4/utils/data.js +0 -331
- package/libx/_runtime/cds-services/adapter/odata-v4/utils/handlerUtils.js +0 -159
- package/libx/_runtime/cds-services/adapter/odata-v4/utils/metaInfo.js +0 -404
- package/libx/_runtime/cds-services/adapter/odata-v4/utils/oDataConfiguration.js +0 -55
- package/libx/_runtime/cds-services/adapter/odata-v4/utils/omitValues.js +0 -86
- package/libx/_runtime/cds-services/adapter/odata-v4/utils/readAfterWrite.js +0 -107
- package/libx/_runtime/cds-services/adapter/odata-v4/utils/request.js +0 -64
- package/libx/_runtime/cds-services/adapter/odata-v4/utils/result.js +0 -385
- package/libx/_runtime/cds-services/adapter/odata-v4/utils/stream.js +0 -12
- package/libx/_runtime/cds-services/util/errors.js +0 -15
- package/libx/_runtime/common/aspects/relation.js +0 -40
- package/libx/_runtime/common/composition/data.js +0 -370
- package/libx/_runtime/common/composition/delete.js +0 -313
- package/libx/_runtime/common/composition/index.js +0 -22
- package/libx/_runtime/common/composition/insert.js +0 -108
- package/libx/_runtime/common/composition/tree.js +0 -275
- package/libx/_runtime/common/composition/update.js +0 -354
- package/libx/_runtime/common/composition/utils.js +0 -95
- package/libx/_runtime/common/error/constants.js +0 -20
- package/libx/_runtime/common/error/entry.js +0 -36
- package/libx/_runtime/common/error/frontend.js +0 -199
- package/libx/_runtime/common/error/index.js +0 -12
- package/libx/_runtime/common/error/log.js +0 -35
- package/libx/_runtime/common/error/standardError.js +0 -11
- package/libx/_runtime/common/error/utils.js +0 -18
- package/libx/_runtime/common/generic/auth/constants.js +0 -17
- package/libx/_runtime/common/generic/put.js +0 -85
- package/libx/_runtime/common/utils/columns.js +0 -177
- package/libx/_runtime/common/utils/compareJsonOLD.js +0 -280
- package/libx/_runtime/common/utils/cqn2cqn4sql.js +0 -1039
- package/libx/_runtime/common/utils/data.js +0 -16
- package/libx/_runtime/common/utils/dollar.js +0 -27
- package/libx/_runtime/common/utils/generateOnCond.js +0 -127
- package/libx/_runtime/common/utils/onlyKeysRemain.js +0 -10
- package/libx/_runtime/common/utils/path.js +0 -20
- package/libx/_runtime/common/utils/quotingStyles.js +0 -29
- package/libx/_runtime/common/utils/restrictions.js +0 -67
- package/libx/_runtime/common/utils/search2cqn4sql.js +0 -37
- package/libx/_runtime/common/utils/searchToLike.js +0 -56
- package/libx/_runtime/common/utils/stream.js +0 -103
- package/libx/_runtime/common/utils/ucsn.js +0 -119
- package/libx/_runtime/common/utils/union.js +0 -31
- package/libx/_runtime/common/utils/unionCqnTemplate.js +0 -174
- package/libx/_runtime/db/Service.js +0 -93
- package/libx/_runtime/db/data-conversion/post-processing.js +0 -175
- package/libx/_runtime/db/expand/expand-v2.js +0 -147
- package/libx/_runtime/db/expand/expandCQNToJoin.js +0 -1775
- package/libx/_runtime/db/expand/index.js +0 -13
- package/libx/_runtime/db/expand/rawToExpanded.js +0 -250
- package/libx/_runtime/db/generic/create.js +0 -30
- package/libx/_runtime/db/generic/delete.js +0 -18
- package/libx/_runtime/db/generic/index.js +0 -25
- package/libx/_runtime/db/generic/input.js +0 -227
- package/libx/_runtime/db/generic/read.js +0 -16
- package/libx/_runtime/db/generic/rewrite.js +0 -68
- package/libx/_runtime/db/generic/structured.js +0 -92
- package/libx/_runtime/db/generic/update.js +0 -97
- package/libx/_runtime/db/generic/virtual.js +0 -83
- package/libx/_runtime/db/query/delete.js +0 -39
- package/libx/_runtime/db/query/index.js +0 -13
- package/libx/_runtime/db/query/insert.js +0 -21
- package/libx/_runtime/db/query/read.js +0 -97
- package/libx/_runtime/db/query/run.js +0 -30
- package/libx/_runtime/db/query/update.js +0 -94
- package/libx/_runtime/db/result/InsertResult.js +0 -87
- package/libx/_runtime/db/sql-builder/BaseBuilder.js +0 -65
- package/libx/_runtime/db/sql-builder/CreateBuilder.js +0 -212
- package/libx/_runtime/db/sql-builder/DeleteBuilder.js +0 -87
- package/libx/_runtime/db/sql-builder/DropBuilder.js +0 -63
- package/libx/_runtime/db/sql-builder/ExpressionBuilder.js +0 -345
- package/libx/_runtime/db/sql-builder/FunctionBuilder.js +0 -232
- package/libx/_runtime/db/sql-builder/InsertBuilder.js +0 -494
- package/libx/_runtime/db/sql-builder/ReferenceBuilder.js +0 -135
- package/libx/_runtime/db/sql-builder/SelectBuilder.js +0 -482
- package/libx/_runtime/db/sql-builder/UpdateBuilder.js +0 -207
- package/libx/_runtime/db/sql-builder/UpsertBuilder.js +0 -25
- package/libx/_runtime/db/sql-builder/annotations.js +0 -50
- package/libx/_runtime/db/sql-builder/arrayed.js +0 -4
- package/libx/_runtime/db/sql-builder/dataTypes.js +0 -59
- package/libx/_runtime/db/sql-builder/dollar.js +0 -37
- package/libx/_runtime/db/sql-builder/index.js +0 -28
- package/libx/_runtime/db/sql-builder/sqlFactory.js +0 -104
- package/libx/_runtime/db/utils/coloredTxCommands.js +0 -7
- package/libx/_runtime/db/utils/columns.js +0 -41
- package/libx/_runtime/db/utils/deep.js +0 -71
- package/libx/_runtime/db/utils/generateAliases.js +0 -160
- package/libx/_runtime/db/utils/localized.js +0 -77
- package/libx/_runtime/db/utils/normalizeTimeData.js +0 -98
- package/libx/_runtime/db/utils/stream.js +0 -41
- package/libx/_runtime/hana/Service.js +0 -173
- package/libx/_runtime/hana/conversion.js +0 -73
- package/libx/_runtime/hana/customBuilder/CustomCreateBuilder.js +0 -11
- package/libx/_runtime/hana/customBuilder/CustomDeleteBuilder.js +0 -17
- package/libx/_runtime/hana/customBuilder/CustomDropBuilder.js +0 -12
- package/libx/_runtime/hana/customBuilder/CustomExpressionBuilder.js +0 -23
- package/libx/_runtime/hana/customBuilder/CustomFunctionBuilder.js +0 -34
- package/libx/_runtime/hana/customBuilder/CustomReferenceBuilder.js +0 -38
- package/libx/_runtime/hana/customBuilder/CustomSelectBuilder.js +0 -90
- package/libx/_runtime/hana/customBuilder/index.js +0 -11
- package/libx/_runtime/hana/driver.js +0 -205
- package/libx/_runtime/hana/dynatrace.js +0 -130
- package/libx/_runtime/hana/execute.js +0 -429
- package/libx/_runtime/hana/localized.js +0 -39
- package/libx/_runtime/hana/pool.js +0 -186
- package/libx/_runtime/hana/search.js +0 -20
- package/libx/_runtime/hana/search2Contains.js +0 -106
- package/libx/_runtime/hana/search2cqn4sql.js +0 -98
- package/libx/_runtime/hana/streaming.js +0 -248
- package/libx/_runtime/messaging/Outbox.js +0 -15
- package/libx/_runtime/sqlite/Service.js +0 -153
- package/libx/_runtime/sqlite/conversion.js +0 -47
- package/libx/_runtime/sqlite/convertAssocToOneManaged.js +0 -60
- package/libx/_runtime/sqlite/convertDraftAdminPathExpression.js +0 -74
- package/libx/_runtime/sqlite/customBuilder/CustomExpressionBuilder.js +0 -24
- package/libx/_runtime/sqlite/customBuilder/CustomFunctionBuilder.js +0 -102
- package/libx/_runtime/sqlite/customBuilder/CustomSelectBuilder.js +0 -16
- package/libx/_runtime/sqlite/customBuilder/CustomUpsertBuilder.js +0 -47
- package/libx/_runtime/sqlite/customBuilder/index.js +0 -49
- package/libx/_runtime/sqlite/execute.js +0 -345
- package/libx/_runtime/sqlite/localized.js +0 -49
- package/libx/outbox/index.js +0 -307
package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/utils/ValueConverter.js
DELETED
|
@@ -1,545 +0,0 @@
|
|
|
1
|
-
'use strict'
|
|
2
|
-
|
|
3
|
-
const { big } = require('@sap/cds-foss')
|
|
4
|
-
|
|
5
|
-
const EdmTypeKind = require('../edm/EdmType').TypeKind
|
|
6
|
-
const EdmPrimitiveTypeKind = require('../edm/EdmPrimitiveTypeKind')
|
|
7
|
-
const JsonContentTypeInfo = require('../format/JsonContentTypeInfo')
|
|
8
|
-
const IllegalArgumentError = require('../errors/IllegalArgumentError')
|
|
9
|
-
const { toBase64url } = require('../../../../../../common/utils/binary')
|
|
10
|
-
|
|
11
|
-
const PLUS_REGEXP = new RegExp('\\+', 'g')
|
|
12
|
-
const SLASH_REGEXP = new RegExp('/', 'g')
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* Converter of JavaScript values to the values of OData EDM types. The values are converted according to the OData
|
|
16
|
-
* ABNF Construction Rules.
|
|
17
|
-
*/
|
|
18
|
-
class ValueConverter {
|
|
19
|
-
/**
|
|
20
|
-
* @param {ValueValidator} valueValidator - validator to be used to validate the values before they are converted
|
|
21
|
-
* @param {JsonContentTypeInfo} formatParams JSON serializing options
|
|
22
|
-
*/
|
|
23
|
-
constructor (valueValidator, formatParams = new JsonContentTypeInfo()) {
|
|
24
|
-
this._valueValidator = valueValidator
|
|
25
|
-
this._formatParams = formatParams
|
|
26
|
-
|
|
27
|
-
// for better error message
|
|
28
|
-
this._valueValidator._valueConverter = this
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
/**
|
|
32
|
-
* Converts value to OData format. The method converts values of EDM primitive or TypeDefinition types.
|
|
33
|
-
* @param {(EdmProperty|EdmTerm|EdmReturnType)} propertyOrReturnType - object containing metadata (e.g., type information) about the
|
|
34
|
-
* value to be converted; it can be an instance of EdmProperty, EdmTerm, or EdmReturnType (its type can be an EdmPrimitiveType or an EdmTypeDefinition)
|
|
35
|
-
* @param {(string|number|boolean|Buffer|Object)} value - value to be converted
|
|
36
|
-
* @returns {(string|number|boolean|Object)} converted value
|
|
37
|
-
*/
|
|
38
|
-
convert (propertyOrReturnType, value) {
|
|
39
|
-
// for better error message
|
|
40
|
-
this._propertyOrReturnType = propertyOrReturnType
|
|
41
|
-
|
|
42
|
-
const type = this._getPrimitiveType(propertyOrReturnType.getType())
|
|
43
|
-
switch (type) {
|
|
44
|
-
case EdmPrimitiveTypeKind.Binary:
|
|
45
|
-
return this.convertBinary(value, this._getMaxLength(propertyOrReturnType))
|
|
46
|
-
case EdmPrimitiveTypeKind.Boolean:
|
|
47
|
-
return this.convertBoolean(value)
|
|
48
|
-
case EdmPrimitiveTypeKind.Byte:
|
|
49
|
-
return this.convertByte(value)
|
|
50
|
-
case EdmPrimitiveTypeKind.SByte:
|
|
51
|
-
return this.convertSByte(value)
|
|
52
|
-
case EdmPrimitiveTypeKind.Date:
|
|
53
|
-
return this.convertDate(value)
|
|
54
|
-
case EdmPrimitiveTypeKind.DateTimeOffset:
|
|
55
|
-
return this.convertDateTimeOffset(value, this._getPrecision(propertyOrReturnType) || 0)
|
|
56
|
-
case EdmPrimitiveTypeKind.TimeOfDay:
|
|
57
|
-
return this.convertTimeOfDay(value, this._getPrecision(propertyOrReturnType) || 0)
|
|
58
|
-
case EdmPrimitiveTypeKind.Duration:
|
|
59
|
-
return this.convertDuration(value, this._getPrecision(propertyOrReturnType) || 0)
|
|
60
|
-
case EdmPrimitiveTypeKind.Decimal:
|
|
61
|
-
return this.convertDecimal(
|
|
62
|
-
value,
|
|
63
|
-
this._getPrecision(propertyOrReturnType),
|
|
64
|
-
this._getScale(propertyOrReturnType) || 0
|
|
65
|
-
)
|
|
66
|
-
case EdmPrimitiveTypeKind.Single:
|
|
67
|
-
return this.convertSingle(value)
|
|
68
|
-
case EdmPrimitiveTypeKind.Double:
|
|
69
|
-
return this.convertDouble(value)
|
|
70
|
-
case EdmPrimitiveTypeKind.Guid:
|
|
71
|
-
return this.convertGuid(value)
|
|
72
|
-
case EdmPrimitiveTypeKind.Int16:
|
|
73
|
-
return this.convertInt16(value)
|
|
74
|
-
case EdmPrimitiveTypeKind.Int32:
|
|
75
|
-
return this.convertInt32(value)
|
|
76
|
-
case EdmPrimitiveTypeKind.Int64:
|
|
77
|
-
return this.convertInt64(value)
|
|
78
|
-
case EdmPrimitiveTypeKind.String:
|
|
79
|
-
return this.convertString(value, this._getMaxLength(propertyOrReturnType))
|
|
80
|
-
case EdmPrimitiveTypeKind.GeographyPoint:
|
|
81
|
-
case EdmPrimitiveTypeKind.GeometryPoint:
|
|
82
|
-
return this.convertGeoPoint(value, this._getSrid(propertyOrReturnType))
|
|
83
|
-
case EdmPrimitiveTypeKind.GeographyLineString:
|
|
84
|
-
case EdmPrimitiveTypeKind.GeometryLineString:
|
|
85
|
-
return this.convertGeoLineString(value, this._getSrid(propertyOrReturnType))
|
|
86
|
-
case EdmPrimitiveTypeKind.GeographyPolygon:
|
|
87
|
-
case EdmPrimitiveTypeKind.GeometryPolygon:
|
|
88
|
-
return this.convertGeoPolygon(value, this._getSrid(propertyOrReturnType))
|
|
89
|
-
case EdmPrimitiveTypeKind.GeographyMultiPoint:
|
|
90
|
-
case EdmPrimitiveTypeKind.GeometryMultiPoint:
|
|
91
|
-
return this.convertGeoMultiPoint(value, this._getSrid(propertyOrReturnType))
|
|
92
|
-
case EdmPrimitiveTypeKind.GeographyMultiLineString:
|
|
93
|
-
case EdmPrimitiveTypeKind.GeometryMultiLineString:
|
|
94
|
-
return this.convertGeoMultiLineString(value, this._getSrid(propertyOrReturnType))
|
|
95
|
-
case EdmPrimitiveTypeKind.GeographyMultiPolygon:
|
|
96
|
-
case EdmPrimitiveTypeKind.GeometryMultiPolygon:
|
|
97
|
-
return this.convertGeoMultiPolygon(value, this._getSrid(propertyOrReturnType))
|
|
98
|
-
case EdmPrimitiveTypeKind.GeographyCollection:
|
|
99
|
-
case EdmPrimitiveTypeKind.GeometryCollection:
|
|
100
|
-
return this.convertGeoCollection(value, this._getSrid(propertyOrReturnType))
|
|
101
|
-
default:
|
|
102
|
-
if (type.getKind() === EdmTypeKind.ENUM) return this.convertEnum(type, value)
|
|
103
|
-
throw new IllegalArgumentError(
|
|
104
|
-
`Properties of '${type.getFullQualifiedName().toString()}' type are not supported`
|
|
105
|
-
)
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
/**
|
|
110
|
-
* Return the "real" primitive type.
|
|
111
|
-
* If type is a type definition, then the underlying primitive type is returned.
|
|
112
|
-
*
|
|
113
|
-
* @param {EdmPrimitiveType|EdmEnumType|EdmTypeDefinition} type - EDM type
|
|
114
|
-
* @returns {EdmPrimitiveType} primitive type
|
|
115
|
-
* @private
|
|
116
|
-
*/
|
|
117
|
-
_getPrimitiveType (type) {
|
|
118
|
-
const typeKind = type.getKind()
|
|
119
|
-
if (typeKind === EdmTypeKind.PRIMITIVE || typeKind === EdmTypeKind.ENUM) return type
|
|
120
|
-
if (typeKind === EdmTypeKind.DEFINITION) return type.getUnderlyingType()
|
|
121
|
-
throw new IllegalArgumentError(`Conversion of properties of ${typeKind} type kind is not supported`)
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
/**
|
|
125
|
-
* Return value of the MaxLength facet if specified.
|
|
126
|
-
* If the specified type is a TypeDefinition, then take also the type definition's facet into account.
|
|
127
|
-
*
|
|
128
|
-
* @param {(EdmProperty|EdmTerm|EdmReturnType)} propertyOrReturnType - object containing metadata (e.g., facets)
|
|
129
|
-
* @returns {?(number|string)} value of MaxLength facet
|
|
130
|
-
* @private
|
|
131
|
-
*/
|
|
132
|
-
_getMaxLength (propertyOrReturnType) {
|
|
133
|
-
const maxLength = propertyOrReturnType.getMaxLength()
|
|
134
|
-
if (maxLength !== null && maxLength !== undefined) return maxLength
|
|
135
|
-
const type = propertyOrReturnType.getType()
|
|
136
|
-
if (type.getKind() === EdmTypeKind.DEFINITION) return type.getMaxLength()
|
|
137
|
-
return null
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
/**
|
|
141
|
-
* Returns value of the Precision facet if specified.
|
|
142
|
-
* If the specified type is a TypeDefinition, then take also the type definition's facet into account.
|
|
143
|
-
*
|
|
144
|
-
* @param {(EdmProperty|EdmTerm|EdmReturnType)} propertyOrReturnType - object containing metadata (e.g., facets)
|
|
145
|
-
* @returns {?number} value of Precision facet
|
|
146
|
-
* @private
|
|
147
|
-
*/
|
|
148
|
-
_getPrecision (propertyOrReturnType) {
|
|
149
|
-
const precision = propertyOrReturnType.getPrecision()
|
|
150
|
-
if (precision !== null && precision !== undefined) return precision
|
|
151
|
-
const type = propertyOrReturnType.getType()
|
|
152
|
-
if (type.getKind() === EdmTypeKind.DEFINITION) return type.getPrecision()
|
|
153
|
-
return null
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
/**
|
|
157
|
-
* Returns value of the Scale facet if specified.
|
|
158
|
-
* If the specified type is a TypeDefinition, then take also the type definition's facet into account.
|
|
159
|
-
*
|
|
160
|
-
* @param {(EdmProperty|EdmTerm|EdmReturnType)} propertyOrReturnType - object containing metadata (e.g., facets)
|
|
161
|
-
* @returns {?(number|string)} value of Scale facet
|
|
162
|
-
* @private
|
|
163
|
-
*/
|
|
164
|
-
_getScale (propertyOrReturnType) {
|
|
165
|
-
const scale = propertyOrReturnType.getScale()
|
|
166
|
-
if (scale !== null && scale !== undefined) return scale
|
|
167
|
-
const type = propertyOrReturnType.getType()
|
|
168
|
-
if (type.getKind() === EdmTypeKind.DEFINITION) return type.getScale()
|
|
169
|
-
return null
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
/**
|
|
173
|
-
* Returns value of the SRID facet if specified.
|
|
174
|
-
* If the specified type is a TypeDefinition, then take also the type definition's facet into account.
|
|
175
|
-
*
|
|
176
|
-
* @param {(EdmProperty|EdmTerm|EdmReturnType)} propertyOrReturnType - object containing metadata (e.g., facets)
|
|
177
|
-
* @returns {?(number|string)} value of SRID facet
|
|
178
|
-
* @private
|
|
179
|
-
*/
|
|
180
|
-
_getSrid (propertyOrReturnType) {
|
|
181
|
-
const srid = propertyOrReturnType.getSrid()
|
|
182
|
-
if (srid !== null && srid !== undefined) return srid
|
|
183
|
-
const type = propertyOrReturnType.getType()
|
|
184
|
-
if (type.getKind() === EdmTypeKind.DEFINITION) return type.getSrid()
|
|
185
|
-
return null
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
/**
|
|
189
|
-
* Converts value to the value of Edm.Binary type.
|
|
190
|
-
* @param {Buffer|string} value - value, which should be converted
|
|
191
|
-
* @returns {string} Base64 string
|
|
192
|
-
*/
|
|
193
|
-
convertBinary (value, maxLength) {
|
|
194
|
-
this._valueValidator.validateBinary(value, maxLength)
|
|
195
|
-
return toBase64url(value)
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
/**
|
|
199
|
-
* Converts value to the value of Edm.Boolean type.
|
|
200
|
-
* @param {boolean} value - value, which should be converted
|
|
201
|
-
* @returns {boolean} converted value
|
|
202
|
-
*/
|
|
203
|
-
convertBoolean (value) {
|
|
204
|
-
this._valueValidator.validateBoolean(value)
|
|
205
|
-
return value
|
|
206
|
-
}
|
|
207
|
-
|
|
208
|
-
/**
|
|
209
|
-
* Converts value to the value of Edm.Byte type.
|
|
210
|
-
* @param {number} value - value, which should be converted
|
|
211
|
-
* @returns {number} converted value
|
|
212
|
-
*/
|
|
213
|
-
convertByte (value) {
|
|
214
|
-
this._valueValidator.validateByte(value)
|
|
215
|
-
return value
|
|
216
|
-
}
|
|
217
|
-
|
|
218
|
-
/**
|
|
219
|
-
* Converts value to the value of Edm.SByte type.
|
|
220
|
-
* @param {number} value - value, which should be converted
|
|
221
|
-
* @returns {number} converted value
|
|
222
|
-
*/
|
|
223
|
-
convertSByte (value) {
|
|
224
|
-
this._valueValidator.validateSByte(value)
|
|
225
|
-
return value
|
|
226
|
-
}
|
|
227
|
-
|
|
228
|
-
/**
|
|
229
|
-
* Converts value to the value of Edm.Int16 type.
|
|
230
|
-
* @param {number} value - value, which should be converted
|
|
231
|
-
* @returns {number} converted value
|
|
232
|
-
*/
|
|
233
|
-
convertInt16 (value) {
|
|
234
|
-
this._valueValidator.validateInt16(value)
|
|
235
|
-
return value
|
|
236
|
-
}
|
|
237
|
-
|
|
238
|
-
/**
|
|
239
|
-
* Converts value to the value of Edm.Int32 type.
|
|
240
|
-
* @param {number} value - value, which should be converted
|
|
241
|
-
* @returns {number} converted value
|
|
242
|
-
*/
|
|
243
|
-
convertInt32 (value) {
|
|
244
|
-
this._valueValidator.validateInt32(value)
|
|
245
|
-
return value
|
|
246
|
-
}
|
|
247
|
-
|
|
248
|
-
/**
|
|
249
|
-
* Converts value to the value of Edm.Int64 type.
|
|
250
|
-
* @param {number|string} value - value, which should be converted
|
|
251
|
-
* @returns {number|string} converted value. The method returns string value if IEEE754 compatible
|
|
252
|
-
* output is requested in the formatParams parameter of the constructor of this class.
|
|
253
|
-
*/
|
|
254
|
-
convertInt64 (value) {
|
|
255
|
-
this._valueValidator.validateInt64(value)
|
|
256
|
-
|
|
257
|
-
const bigValue = new big(value)
|
|
258
|
-
|
|
259
|
-
if (this._formatParams.getIEEE754Setting()) {
|
|
260
|
-
// serialize the value as string
|
|
261
|
-
return bigValue.toFixed()
|
|
262
|
-
}
|
|
263
|
-
|
|
264
|
-
// because the value must be serialized as a number (integer in this case), check whether the value can be
|
|
265
|
-
// correctly represented as an integer in javascript
|
|
266
|
-
if (bigValue.lt(Number.MIN_SAFE_INTEGER) || bigValue.gt(Number.MAX_SAFE_INTEGER)) {
|
|
267
|
-
throw new IllegalArgumentError(
|
|
268
|
-
`The Edm.Int64 value ${value} cannot be correctly serialized as an ` +
|
|
269
|
-
'integer. IEEE754Compatible=true format parameter can be specified to serialize the value as a string'
|
|
270
|
-
)
|
|
271
|
-
}
|
|
272
|
-
|
|
273
|
-
return Number.parseInt(bigValue.toFixed(), 10)
|
|
274
|
-
}
|
|
275
|
-
|
|
276
|
-
/**
|
|
277
|
-
* Converts value to the value of Edm.String type.
|
|
278
|
-
* @param {string} value - value, which should be converted
|
|
279
|
-
* @param {number} [maxLength] - value of MaxLength facet
|
|
280
|
-
* @returns {string} converted value
|
|
281
|
-
*/
|
|
282
|
-
convertString (value, maxLength) {
|
|
283
|
-
this._valueValidator.validateString(value, maxLength)
|
|
284
|
-
return value
|
|
285
|
-
}
|
|
286
|
-
|
|
287
|
-
/**
|
|
288
|
-
* Converts value to the value of Edm.Date type.
|
|
289
|
-
* @param {string} date - value, which should be converted
|
|
290
|
-
* @returns {string} converted value
|
|
291
|
-
*/
|
|
292
|
-
convertDate (date) {
|
|
293
|
-
this._valueValidator.validateDate(date)
|
|
294
|
-
return date
|
|
295
|
-
}
|
|
296
|
-
|
|
297
|
-
/**
|
|
298
|
-
* Converts value to the value of Edm.DateTimeOffset type.
|
|
299
|
-
* @param {string} date - value, which should be converted
|
|
300
|
-
* @param {number|string} precision - value of Precision facet
|
|
301
|
-
* @returns {string} converted value
|
|
302
|
-
*/
|
|
303
|
-
convertDateTimeOffset (date, precision) {
|
|
304
|
-
this._valueValidator.validateDateTimeOffset(date, precision)
|
|
305
|
-
return date
|
|
306
|
-
}
|
|
307
|
-
|
|
308
|
-
/**
|
|
309
|
-
* Converts value to the value of Edm.TimeOfDay type.
|
|
310
|
-
* @param {string} time - value, which should be converted
|
|
311
|
-
* @param {number|string} precision - value of Precision facet
|
|
312
|
-
* @returns {string} converted value
|
|
313
|
-
*/
|
|
314
|
-
convertTimeOfDay (time, precision) {
|
|
315
|
-
this._valueValidator.validateTimeOfDay(time, precision)
|
|
316
|
-
return time
|
|
317
|
-
}
|
|
318
|
-
|
|
319
|
-
/**
|
|
320
|
-
* Converts value to the value of Edm.Duration type.
|
|
321
|
-
* @param {string} duration - value, which should be converted
|
|
322
|
-
* @param {number|string} precision - value of Precision facet
|
|
323
|
-
* @returns {string} converted value
|
|
324
|
-
*/
|
|
325
|
-
convertDuration (duration, precision) {
|
|
326
|
-
this._valueValidator.validateDuration(duration, precision)
|
|
327
|
-
return duration
|
|
328
|
-
}
|
|
329
|
-
|
|
330
|
-
/**
|
|
331
|
-
* Converts value to the value of Edm.Decimal type.
|
|
332
|
-
* @param {number|string} value - value, which should be converted
|
|
333
|
-
* @param {number|string} precision - value of Precision facet
|
|
334
|
-
* @param {number|string} scale - value of Scale facet
|
|
335
|
-
* @returns {number|string} converted value. The method returns string value if IEEE754 compatible
|
|
336
|
-
* output is requested in the formatParams parameter of the constructor of this class.
|
|
337
|
-
*/
|
|
338
|
-
convertDecimal (value, precision, scale) {
|
|
339
|
-
// now done in runtime's assert framework
|
|
340
|
-
// this._valueValidator.validateDecimal(value, precision, scale)
|
|
341
|
-
|
|
342
|
-
const bigValue = new big(value)
|
|
343
|
-
|
|
344
|
-
if (this._formatParams.getIEEE754Setting()) {
|
|
345
|
-
// Serialize the value as string.
|
|
346
|
-
return this._formatParams.getExponentialDecimalsSetting() ? bigValue.toExponential() : bigValue.toFixed()
|
|
347
|
-
}
|
|
348
|
-
|
|
349
|
-
const absBigValue = bigValue.abs()
|
|
350
|
-
// Because the value must be serialized as a number,
|
|
351
|
-
// check whether the value can be correctly represented as a number in javascript.
|
|
352
|
-
if ((absBigValue.lt(Number.MIN_VALUE) && absBigValue.gt(0)) || absBigValue.gt(Number.MAX_VALUE)) {
|
|
353
|
-
throw new IllegalArgumentError(
|
|
354
|
-
`The Edm.Decimal value ${value} cannot be correctly serialized as a ` +
|
|
355
|
-
'number. IEEE754Compatible=true format parameter can be specified to serialize the value as a ' +
|
|
356
|
-
'string'
|
|
357
|
-
)
|
|
358
|
-
}
|
|
359
|
-
|
|
360
|
-
return Number.parseFloat(bigValue.toFixed())
|
|
361
|
-
}
|
|
362
|
-
|
|
363
|
-
/**
|
|
364
|
-
* Converts value to the value of Edm.Single type.
|
|
365
|
-
* @param {number} value - value, which should be converted
|
|
366
|
-
* @returns {number} converted value
|
|
367
|
-
*/
|
|
368
|
-
convertSingle (value) {
|
|
369
|
-
const nanOrInfinity = this._getNaNOrInfinity(value)
|
|
370
|
-
if (nanOrInfinity) return nanOrInfinity
|
|
371
|
-
|
|
372
|
-
this._valueValidator.validateSingle(value)
|
|
373
|
-
return value
|
|
374
|
-
}
|
|
375
|
-
|
|
376
|
-
/**
|
|
377
|
-
* Converts value to the value of Edm.Double type.
|
|
378
|
-
* @param {number} value - value, which should be converted
|
|
379
|
-
* @returns {number} converted value
|
|
380
|
-
*/
|
|
381
|
-
convertDouble (value) {
|
|
382
|
-
const nanOrInfinity = this._getNaNOrInfinity(value)
|
|
383
|
-
if (nanOrInfinity) return nanOrInfinity
|
|
384
|
-
|
|
385
|
-
this._valueValidator.validateDouble(value)
|
|
386
|
-
return value
|
|
387
|
-
}
|
|
388
|
-
|
|
389
|
-
/**
|
|
390
|
-
* Returns 'NaN', 'INF' or '-INF' if the value is not a number or infinity.
|
|
391
|
-
* @param {*} value - value, which potentially can be NaN or infinity
|
|
392
|
-
* @returns {?string} 'NaN', 'INF' or '-INF' if the value is not a number or infinity; otherwise - null
|
|
393
|
-
* @private
|
|
394
|
-
*/
|
|
395
|
-
_getNaNOrInfinity (value) {
|
|
396
|
-
if (Number.isNaN(value)) return 'NaN'
|
|
397
|
-
if (value === Number.POSITIVE_INFINITY) return 'INF'
|
|
398
|
-
if (value === Number.NEGATIVE_INFINITY) return '-INF'
|
|
399
|
-
return null
|
|
400
|
-
}
|
|
401
|
-
|
|
402
|
-
/**
|
|
403
|
-
* Converts value to the value of Edm.Guid type.
|
|
404
|
-
* @param {string} guid - value, which should be converted
|
|
405
|
-
* @returns {string} converted value
|
|
406
|
-
*/
|
|
407
|
-
convertGuid (guid) {
|
|
408
|
-
this._valueValidator.validateGuid(guid)
|
|
409
|
-
return guid
|
|
410
|
-
}
|
|
411
|
-
|
|
412
|
-
/**
|
|
413
|
-
* Converts value to the value of geo-point type.
|
|
414
|
-
* @param {{ type: string, coordinates: number[] }} point value, which should be converted
|
|
415
|
-
* @param {?(number|string)} [srid] value of SRID facet
|
|
416
|
-
* @returns {{ type: string, coordinates: number[] }} converted value
|
|
417
|
-
*/
|
|
418
|
-
convertGeoPoint (point, srid) {
|
|
419
|
-
this._valueValidator.validateGeoPoint(point, srid)
|
|
420
|
-
return point
|
|
421
|
-
}
|
|
422
|
-
|
|
423
|
-
/**
|
|
424
|
-
* Converts value to the value of geo-linestring type.
|
|
425
|
-
* @param {{ type: string, coordinates: Array.<number[]> }} linestring value, which should be converted
|
|
426
|
-
* @param {?(number|string)} [srid] value of SRID facet
|
|
427
|
-
* @returns {{ type: string, coordinates: Array.<number[]> }} converted value
|
|
428
|
-
*/
|
|
429
|
-
convertGeoLineString (linestring, srid) {
|
|
430
|
-
this._valueValidator.validateGeoLineString(linestring, srid)
|
|
431
|
-
return linestring
|
|
432
|
-
}
|
|
433
|
-
|
|
434
|
-
/**
|
|
435
|
-
* Converts value to the value of geo-polygon type.
|
|
436
|
-
* @param {{ type: string, coordinates: Array.<Array.<number[]>> }} polygon value, which should be converted
|
|
437
|
-
* @param {?(number|string)} [srid] value of SRID facet
|
|
438
|
-
* @returns {{ type: string, coordinates: Array.<Array.<number[]>> }} converted value
|
|
439
|
-
*/
|
|
440
|
-
convertGeoPolygon (polygon, srid) {
|
|
441
|
-
this._valueValidator.validateGeoPolygon(polygon, srid)
|
|
442
|
-
return polygon
|
|
443
|
-
}
|
|
444
|
-
|
|
445
|
-
/**
|
|
446
|
-
* Converts value to the value of geo-multipoint type.
|
|
447
|
-
* @param {{ type: string, coordinates: Array.<number[]> }} points value, which should be converted
|
|
448
|
-
* @param {?(number|string)} [srid] value of SRID facet
|
|
449
|
-
* @returns {{ type: string, coordinates: Arrayy<number[]> }} converted value
|
|
450
|
-
*/
|
|
451
|
-
convertGeoMultiPoint (points, srid) {
|
|
452
|
-
this._valueValidator.validateGeoMultiPoint(points, srid)
|
|
453
|
-
return points
|
|
454
|
-
}
|
|
455
|
-
|
|
456
|
-
/**
|
|
457
|
-
* Converts value to the value of geo-multilinestring type.
|
|
458
|
-
* @param {{ type: string, coordinates: Array.<Array.<number[]>> }} linestrings value, which should be converted
|
|
459
|
-
* @param {?(number|string)} [srid] value of SRID facet
|
|
460
|
-
* @returns {{ type: string, coordinates: Array.<Array.<number[]>> }} converted value
|
|
461
|
-
*/
|
|
462
|
-
convertGeoMultiLineString (linestrings, srid) {
|
|
463
|
-
this._valueValidator.validateGeoMultiLineString(linestrings, srid)
|
|
464
|
-
return linestrings
|
|
465
|
-
}
|
|
466
|
-
|
|
467
|
-
/**
|
|
468
|
-
* Converts value to the value of geo-multipolygon type.
|
|
469
|
-
* @param {{ type: string, coordinates: Array.<Array.<Array.<number[]>>> }} polygons value, which should be converted
|
|
470
|
-
* @param {?(number|string)} [srid] value of SRID facet
|
|
471
|
-
* @returns {{ type: string, coordinates: Array.<Array.<Array.<number[]>>> }} converted value
|
|
472
|
-
*/
|
|
473
|
-
convertGeoMultiPolygon (polygons, srid) {
|
|
474
|
-
this._valueValidator.validateGeoMultiPolygon(polygons, srid)
|
|
475
|
-
return polygons
|
|
476
|
-
}
|
|
477
|
-
|
|
478
|
-
/**
|
|
479
|
-
* Converts value to the value of geo-collection type.
|
|
480
|
-
* @param {{ type: string, geometries: Object[] }} members value, which should be converted
|
|
481
|
-
* @param {?(number|string)} [srid] value of SRID facet
|
|
482
|
-
* @returns {{ type: string, geometries: Object[] }} converted value
|
|
483
|
-
*/
|
|
484
|
-
convertGeoCollection (members, srid) {
|
|
485
|
-
this._valueValidator.validateGeoCollection(members, srid)
|
|
486
|
-
return members
|
|
487
|
-
}
|
|
488
|
-
|
|
489
|
-
/**
|
|
490
|
-
* Converts enumeration-type value to OData-formatted string.
|
|
491
|
-
* @param {EdmEnumType} type enumeration type
|
|
492
|
-
* @param {number} value value to be converted
|
|
493
|
-
* @returns {string} converted value
|
|
494
|
-
*/
|
|
495
|
-
convertEnum (type, value) {
|
|
496
|
-
// Validate that the value is a number and in the supported range.
|
|
497
|
-
switch (type.getUnderlyingType()) {
|
|
498
|
-
case EdmPrimitiveTypeKind.Byte:
|
|
499
|
-
this._valueValidator.validateByte(value)
|
|
500
|
-
break
|
|
501
|
-
case EdmPrimitiveTypeKind.SByte:
|
|
502
|
-
this._valueValidator.validateSByte(value)
|
|
503
|
-
break
|
|
504
|
-
case EdmPrimitiveTypeKind.Int16:
|
|
505
|
-
this._valueValidator.validateInt16(value)
|
|
506
|
-
break
|
|
507
|
-
case EdmPrimitiveTypeKind.Int32:
|
|
508
|
-
this._valueValidator.validateInt32(value)
|
|
509
|
-
break
|
|
510
|
-
case EdmPrimitiveTypeKind.Int64:
|
|
511
|
-
this._valueValidator.validateInt64(value)
|
|
512
|
-
break
|
|
513
|
-
default:
|
|
514
|
-
}
|
|
515
|
-
|
|
516
|
-
let result = []
|
|
517
|
-
let remaining = value
|
|
518
|
-
const flags = type.isFlags()
|
|
519
|
-
for (const [name, member] of type.getMembers()) {
|
|
520
|
-
const memberValue = member.getValue()
|
|
521
|
-
if (flags) {
|
|
522
|
-
// Use bitwise AND operator to check whether all bits of the member value are set.
|
|
523
|
-
if ((memberValue & remaining) === memberValue) {
|
|
524
|
-
result.push(name)
|
|
525
|
-
// Use bitwise XOR operator to remove the member-value bits from the remaining value.
|
|
526
|
-
remaining ^= memberValue
|
|
527
|
-
}
|
|
528
|
-
} else if (value === memberValue) return name
|
|
529
|
-
}
|
|
530
|
-
if (!flags || remaining !== 0) {
|
|
531
|
-
throw new IllegalArgumentError(
|
|
532
|
-
'Invalid value ' +
|
|
533
|
-
value +
|
|
534
|
-
' (' +
|
|
535
|
-
typeof value +
|
|
536
|
-
') ' +
|
|
537
|
-
'for enumeration type ' +
|
|
538
|
-
type.getFullQualifiedName()
|
|
539
|
-
)
|
|
540
|
-
}
|
|
541
|
-
return result.join(',')
|
|
542
|
-
}
|
|
543
|
-
}
|
|
544
|
-
|
|
545
|
-
module.exports = ValueConverter
|
|
@@ -1,124 +0,0 @@
|
|
|
1
|
-
'use strict'
|
|
2
|
-
|
|
3
|
-
const IllegalArgumentError = require('../errors/IllegalArgumentError')
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* This class is intended to be used to simplify validation of method input parameters
|
|
7
|
-
* and to prevent duplication of the validation code.
|
|
8
|
-
*/
|
|
9
|
-
class ParameterValidator {
|
|
10
|
-
static validateThat (parameterName, parameterValue) {
|
|
11
|
-
return new ParameterValidator(parameterName, parameterValue)
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* @param {string} name - name of the parameter to be validated
|
|
16
|
-
* @param {*} value - value of the parameter to be validated
|
|
17
|
-
*/
|
|
18
|
-
constructor (name, value) {
|
|
19
|
-
this._name = name
|
|
20
|
-
this._value = value
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* Checks whether the parameter value is truthy.
|
|
25
|
-
* @returns {ParameterValidator} 'this' instance to be able to use method chaining
|
|
26
|
-
* @throws {IllegalArgumentError} if the parameter value is falsy
|
|
27
|
-
*/
|
|
28
|
-
truthy () {
|
|
29
|
-
if (!this._value) throw IllegalArgumentError.createForMissingParameter(this._name)
|
|
30
|
-
return this
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
/**
|
|
34
|
-
* Checks that the parameter is not null and not undefined.
|
|
35
|
-
* @returns {ParameterValidator} 'this' instance to be able to use method chaining
|
|
36
|
-
* @throws {IllegalArgumentError} if the parameter value is null or undefined
|
|
37
|
-
*/
|
|
38
|
-
notNullNorUndefined () {
|
|
39
|
-
if (this._value === null || this._value === undefined) {
|
|
40
|
-
throw IllegalArgumentError.createForMissingParameter(this._name)
|
|
41
|
-
}
|
|
42
|
-
return this
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
/**
|
|
46
|
-
* Checks whether type of the parameter value equals to the specified typeName.
|
|
47
|
-
* @param {string} typeName - name of the type to be used on the right side of 'typeof' expression
|
|
48
|
-
* @returns {ParameterValidator} 'this' instance to be able to use method chaining
|
|
49
|
-
* @throws {IllegalArgumentError} if type of the parameter value is not equal to the specified typeName
|
|
50
|
-
*/
|
|
51
|
-
typeOf (typeName) {
|
|
52
|
-
// eslint-disable-next-line valid-typeof
|
|
53
|
-
if (typeof this._value !== typeName) throw IllegalArgumentError.createForIllegalInstance(this._name, typeName)
|
|
54
|
-
return this
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
/**
|
|
58
|
-
* Checks whether the parameter value is instance of the specified type.
|
|
59
|
-
* @param {Object} constructor - constructor of the type, for which instanceof operator will be called
|
|
60
|
-
* @returns {ParameterValidator} 'this' instance to be able to use method chaining
|
|
61
|
-
* @throws {IllegalArgumentError} if the parameter value is not an instance of the specified type
|
|
62
|
-
*/
|
|
63
|
-
instanceOf (constructor) {
|
|
64
|
-
if (!(this._value instanceof constructor)) {
|
|
65
|
-
throw IllegalArgumentError.createForIllegalInstance(this._name, constructor.name)
|
|
66
|
-
}
|
|
67
|
-
return this
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
/**
|
|
71
|
-
* Checks whether the parameter value is an array.
|
|
72
|
-
* @returns {ParameterValidator} 'this' instance to be able to use method chaining
|
|
73
|
-
* @throws {IllegalArgumentError} if the parameter value is not an array
|
|
74
|
-
*/
|
|
75
|
-
array () {
|
|
76
|
-
if (!Array.isArray(this._value)) throw IllegalArgumentError.createForIllegalInstance(this._name, 'Array')
|
|
77
|
-
return this
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
/**
|
|
81
|
-
* Checks whether all the elements of the parameter value, WHICH MUST BE AN ARRAY, are type of the specified type.
|
|
82
|
-
* @param {string} typeName Name of the type to be used on the right side of 'typeof' expression
|
|
83
|
-
* @returns {ParameterValidator} 'this' instance to be able to use method chaining
|
|
84
|
-
* @throws {IllegalArgumentError} if there is an element in the parameter value which is not of the specified type
|
|
85
|
-
*/
|
|
86
|
-
containsElementsOfType (typeName) {
|
|
87
|
-
// eslint-disable-next-line valid-typeof
|
|
88
|
-
const index = this._value.findIndex(element => typeof element !== typeName)
|
|
89
|
-
if (index > -1) throw IllegalArgumentError.createForIllegalElementType(index, this._name, typeName)
|
|
90
|
-
return this
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
/**
|
|
94
|
-
* Checks whether all the elements of the parameter value, WHICH MUST BE AN ARRAY,
|
|
95
|
-
* are instances of the specified type.
|
|
96
|
-
*
|
|
97
|
-
* @param {Object} constructor - constructor of the type, for which instanceof operator will be called.
|
|
98
|
-
* @returns {ParameterValidator} 'this' instance to be able to use method chaining
|
|
99
|
-
* @throws {IllegalArgumentError} if there is an element in the parameter value, which is not an
|
|
100
|
-
* instance of the specified type
|
|
101
|
-
*/
|
|
102
|
-
containsInstancesOf (constructor) {
|
|
103
|
-
const index = this._value.findIndex(element => !(element instanceof constructor))
|
|
104
|
-
if (index > -1) throw IllegalArgumentError.createForIllegalElementType(index, this._name, constructor.name)
|
|
105
|
-
return this
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
integer () {
|
|
109
|
-
if (!Number.isInteger(this._value)) throw IllegalArgumentError.createForIllegalInstance(this._name, 'Number')
|
|
110
|
-
return this
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
nonNegativeInteger () {
|
|
114
|
-
if (this._value < 0) throw IllegalArgumentError.createForNonNegativeParameter(this._name)
|
|
115
|
-
return this
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
positiveInteger () {
|
|
119
|
-
if (this._value <= 0) throw IllegalArgumentError.createForPositiveParameter(this._name)
|
|
120
|
-
return this
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
module.exports = ParameterValidator
|