@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.
Files changed (622) hide show
  1. package/CHANGELOG.md +121 -680
  2. package/LICENSE +15 -21
  3. package/README.md +1 -1
  4. package/_i18n/i18n_sl.properties +3 -3
  5. package/_i18n/messages.properties +1 -1
  6. package/app/index.js +1 -1
  7. package/bin/serve.js +17 -19
  8. package/eslint.config.mjs +7 -1
  9. package/lib/compile/etc/_localized.js +3 -24
  10. package/lib/compile/etc/yaml.js +6 -15
  11. package/lib/compile/for/odata.js +2 -2
  12. package/lib/compile/load.js +15 -4
  13. package/lib/compile/minify.js +1 -0
  14. package/lib/compile/to/edm-files.js +4 -33
  15. package/lib/compile/to/hdbtabledata.js +16 -3
  16. package/lib/compile/to/sql.js +1 -2
  17. package/lib/core/linked-csn.js +7 -8
  18. package/lib/dbs/cds-deploy.js +4 -3
  19. package/lib/env/cds-env.js +9 -9
  20. package/lib/env/cds-requires.js +23 -50
  21. package/lib/env/defaults.js +15 -44
  22. package/lib/env/schemas/cds-package.js +1 -1
  23. package/lib/i18n/index.js +1 -0
  24. package/lib/i18n/locale.js +41 -0
  25. package/lib/index.js +25 -15
  26. package/lib/log/cds-error.js +13 -3
  27. package/lib/log/cds-log.js +43 -18
  28. package/lib/log/format/aspects/als.js +2 -15
  29. package/lib/plugins.js +11 -11
  30. package/lib/ql/CREATE.js +1 -1
  31. package/lib/ql/DELETE.js +1 -1
  32. package/lib/ql/DROP.js +1 -1
  33. package/lib/ql/INSERT.js +9 -18
  34. package/lib/ql/SELECT.js +12 -19
  35. package/lib/ql/UPDATE.js +1 -1
  36. package/lib/ql/UPSERT.js +1 -0
  37. package/lib/ql/Whereable.js +7 -6
  38. package/lib/ql/cds-ql.js +0 -12
  39. package/lib/ql/cds.ql-Query.js +28 -68
  40. package/lib/ql/cds.ql-infer.js +97 -108
  41. package/lib/ql/resolve.js +1 -3
  42. package/lib/req/context.js +5 -4
  43. package/lib/req/request.js +46 -42
  44. package/lib/req/response.js +5 -9
  45. package/lib/req/spawn.js +38 -0
  46. package/lib/req/validate.js +9 -8
  47. package/lib/srv/bindings.js +2 -1
  48. package/lib/srv/cds-connect.js +5 -2
  49. package/lib/srv/cds-serve.js +0 -2
  50. package/lib/srv/cds.Service.js +146 -86
  51. package/lib/srv/middlewares/auth/ias-auth.js +99 -88
  52. package/lib/srv/middlewares/auth/jwt-auth.js +44 -57
  53. package/lib/srv/middlewares/cds-context.js +1 -1
  54. package/lib/srv/middlewares/ctx-model.js +1 -1
  55. package/lib/srv/middlewares/errors.js +34 -42
  56. package/lib/srv/protocols/hcql.js +35 -25
  57. package/lib/srv/protocols/index.js +0 -9
  58. package/lib/srv/protocols/odata-v4.js +1 -6
  59. package/lib/srv/srv-dispatch.js +29 -31
  60. package/lib/srv/srv-handlers.js +14 -46
  61. package/lib/srv/srv-methods.js +15 -37
  62. package/lib/srv/srv-tx.js +19 -25
  63. package/lib/test/cds-test.js +4 -263
  64. package/lib/utils/cds-utils.js +18 -2
  65. package/lib/utils/tar.js +6 -8
  66. package/lib/utils/unit.js +19 -0
  67. package/libx/_runtime/.eslintrc +1 -1
  68. package/libx/_runtime/cds-services/util/assert.js +2 -72
  69. package/libx/_runtime/cds.js +13 -6
  70. package/libx/_runtime/common/Service.js +33 -75
  71. package/libx/_runtime/common/aspects/any.js +0 -38
  72. package/libx/_runtime/common/constants/events.js +5 -13
  73. package/libx/_runtime/common/generic/auth/autoexpose.js +10 -24
  74. package/libx/_runtime/common/generic/auth/capabilities.js +23 -20
  75. package/libx/_runtime/common/generic/auth/expand.js +3 -3
  76. package/libx/_runtime/common/generic/auth/index.js +3 -3
  77. package/libx/_runtime/common/generic/auth/insertOnly.js +3 -3
  78. package/libx/_runtime/common/generic/auth/readOnly.js +4 -4
  79. package/libx/_runtime/common/generic/auth/requires.js +4 -4
  80. package/libx/_runtime/common/generic/auth/restrict.js +12 -29
  81. package/libx/_runtime/common/generic/auth/service.js +3 -3
  82. package/libx/_runtime/common/generic/auth/utils.js +2 -12
  83. package/libx/_runtime/common/generic/crud.js +22 -53
  84. package/libx/_runtime/common/generic/etag.js +18 -31
  85. package/libx/_runtime/common/generic/input.js +51 -123
  86. package/libx/_runtime/common/generic/paging.js +4 -4
  87. package/libx/_runtime/common/generic/sorting.js +8 -19
  88. package/libx/_runtime/common/generic/stream-only.js +26 -0
  89. package/libx/_runtime/common/generic/stream.js +16 -48
  90. package/libx/_runtime/common/generic/temporal.js +15 -7
  91. package/libx/_runtime/common/utils/binary.js +1 -26
  92. package/libx/_runtime/common/utils/compareJson.js +1 -2
  93. package/libx/_runtime/common/utils/cqn.js +15 -14
  94. package/libx/_runtime/common/utils/differ.js +121 -44
  95. package/libx/_runtime/common/utils/keys.js +4 -5
  96. package/libx/_runtime/common/utils/normalizeTimestamp.js +10 -1
  97. package/libx/_runtime/common/utils/postProcess.js +2 -2
  98. package/libx/_runtime/common/utils/propagateForeignKeys.js +21 -36
  99. package/libx/_runtime/common/utils/resolveView.js +105 -141
  100. package/libx/_runtime/common/utils/rewriteAsterisks.js +45 -12
  101. package/libx/_runtime/common/utils/streamProp.js +3 -9
  102. package/libx/_runtime/common/utils/waitingTime.js +13 -1
  103. package/libx/_runtime/fiori/lean-draft.js +174 -196
  104. package/libx/_runtime/messaging/common-utils/connections.js +1 -1
  105. package/libx/_runtime/messaging/enterprise-messaging-utils/EMManagement.js +1 -0
  106. package/libx/_runtime/messaging/enterprise-messaging-utils/registerEndpoints.js +3 -3
  107. package/libx/_runtime/messaging/enterprise-messaging.js +2 -2
  108. package/libx/_runtime/messaging/file-based.js +2 -4
  109. package/libx/_runtime/messaging/redis-messaging.js +1 -1
  110. package/libx/_runtime/messaging/service.js +5 -19
  111. package/libx/_runtime/remote/Service.js +20 -33
  112. package/libx/_runtime/remote/utils/client.js +7 -25
  113. package/libx/_runtime/remote/utils/cloudSdkProvider.js +8 -13
  114. package/libx/_runtime/remote/utils/data.js +3 -34
  115. package/libx/_runtime/types/api.js +0 -8
  116. package/libx/_runtime/ucl/Service.js +1 -9
  117. package/libx/common/utils/path.js +2 -3
  118. package/libx/common/utils/streaming.js +2 -1
  119. package/libx/http/HttpRequest.js +13 -0
  120. package/libx/{odata/middleware → http}/body-parser.js +7 -5
  121. package/libx/http/location.js +41 -0
  122. package/libx/http/put.js +36 -0
  123. package/libx/odata/ODataAdapter.js +25 -59
  124. package/libx/odata/index.js +10 -23
  125. package/libx/odata/middleware/batch.js +29 -20
  126. package/libx/odata/middleware/create.js +6 -13
  127. package/libx/odata/middleware/delete.js +0 -4
  128. package/libx/odata/middleware/error.js +83 -27
  129. package/libx/odata/middleware/metadata.js +14 -25
  130. package/libx/odata/middleware/operation.js +10 -26
  131. package/libx/odata/middleware/read.js +10 -18
  132. package/libx/odata/middleware/stream.js +14 -34
  133. package/libx/odata/middleware/update.js +17 -26
  134. package/libx/odata/parse/afterburner.js +20 -16
  135. package/libx/odata/parse/cqn2odata.js +3 -1
  136. package/libx/odata/parse/grammar.peggy +221 -114
  137. package/libx/odata/parse/parser.js +1 -1
  138. package/libx/odata/utils/index.js +10 -38
  139. package/libx/odata/utils/metadata.js +10 -8
  140. package/libx/odata/utils/normalizeTimeData.js +5 -8
  141. package/libx/odata/utils/readAfterWrite.js +1 -1
  142. package/libx/{outbox/OutboxRunner.js → queue/TaskRunner.js} +17 -22
  143. package/libx/queue/index.js +531 -0
  144. package/libx/rest/RestAdapter.js +43 -82
  145. package/libx/rest/middleware/create.js +35 -33
  146. package/libx/rest/middleware/delete.js +9 -7
  147. package/libx/rest/middleware/error.js +11 -18
  148. package/libx/rest/middleware/operation.js +44 -137
  149. package/libx/rest/middleware/parse.js +114 -130
  150. package/libx/rest/middleware/read.js +23 -21
  151. package/libx/rest/middleware/update.js +20 -32
  152. package/libx/rest/middleware/upsert.js +31 -0
  153. package/libx/rest/pre-processing.js +8 -18
  154. package/package.json +6 -7
  155. package/srv/outbox.cds +1 -0
  156. package/bin/test.js +0 -125
  157. package/lib/env/plugins.js +0 -18
  158. package/lib/req/cds-context.js +0 -52
  159. package/lib/req/locale.js +0 -35
  160. package/lib/srv/cds.ServiceClient.js +0 -96
  161. package/lib/srv/cds.ServiceProvider.js +0 -20
  162. package/lib/srv/protocols/okra.js +0 -22
  163. package/lib/test/axios.js +0 -63
  164. package/lib/test/data.js +0 -52
  165. package/lib/test/expect.js +0 -343
  166. package/lib/test/reporter.js +0 -176
  167. package/libx/_runtime/cds-services/adapter/odata-v4/OData.js +0 -275
  168. package/libx/_runtime/cds-services/adapter/odata-v4/ODataRequest.js +0 -217
  169. package/libx/_runtime/cds-services/adapter/odata-v4/handlers/action.js +0 -101
  170. package/libx/_runtime/cds-services/adapter/odata-v4/handlers/create.js +0 -79
  171. package/libx/_runtime/cds-services/adapter/odata-v4/handlers/debug.js +0 -6
  172. package/libx/_runtime/cds-services/adapter/odata-v4/handlers/delete.js +0 -60
  173. package/libx/_runtime/cds-services/adapter/odata-v4/handlers/error.js +0 -161
  174. package/libx/_runtime/cds-services/adapter/odata-v4/handlers/language.js +0 -7
  175. package/libx/_runtime/cds-services/adapter/odata-v4/handlers/metadata.js +0 -59
  176. package/libx/_runtime/cds-services/adapter/odata-v4/handlers/read.js +0 -602
  177. package/libx/_runtime/cds-services/adapter/odata-v4/handlers/request.js +0 -64
  178. package/libx/_runtime/cds-services/adapter/odata-v4/handlers/update.js +0 -238
  179. package/libx/_runtime/cds-services/adapter/odata-v4/odata-to-cqn/ExpressionToCQN.js +0 -327
  180. package/libx/_runtime/cds-services/adapter/odata-v4/odata-to-cqn/applyToCQN.js +0 -243
  181. package/libx/_runtime/cds-services/adapter/odata-v4/odata-to-cqn/boundToCQN.js +0 -43
  182. package/libx/_runtime/cds-services/adapter/odata-v4/odata-to-cqn/createToCQN.js +0 -37
  183. package/libx/_runtime/cds-services/adapter/odata-v4/odata-to-cqn/deleteToCQN.js +0 -36
  184. package/libx/_runtime/cds-services/adapter/odata-v4/odata-to-cqn/expandToCQN.js +0 -250
  185. package/libx/_runtime/cds-services/adapter/odata-v4/odata-to-cqn/index.js +0 -81
  186. package/libx/_runtime/cds-services/adapter/odata-v4/odata-to-cqn/orderByToCQN.js +0 -51
  187. package/libx/_runtime/cds-services/adapter/odata-v4/odata-to-cqn/readToCQN.js +0 -389
  188. package/libx/_runtime/cds-services/adapter/odata-v4/odata-to-cqn/searchToCQN.js +0 -43
  189. package/libx/_runtime/cds-services/adapter/odata-v4/odata-to-cqn/selectToCQN.js +0 -35
  190. package/libx/_runtime/cds-services/adapter/odata-v4/odata-to-cqn/updateToCQN.js +0 -38
  191. package/libx/_runtime/cds-services/adapter/odata-v4/odata-to-cqn/utils.js +0 -217
  192. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/FeatureSupport.js +0 -70
  193. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/FullQualifiedName.js +0 -94
  194. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlAction.js +0 -139
  195. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlActionImport.js +0 -82
  196. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlAliasInfo.js +0 -44
  197. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlAnnotation.js +0 -104
  198. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlAnnotations.js +0 -71
  199. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlComplexType.js +0 -133
  200. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlEntityContainer.js +0 -142
  201. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlEntityContainerInfo.js +0 -37
  202. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlEntitySet.js +0 -107
  203. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlEntityType.js +0 -177
  204. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlEnumMember.js +0 -61
  205. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlEnumType.js +0 -105
  206. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlFunction.js +0 -149
  207. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlFunctionImport.js +0 -105
  208. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlInclude.js +0 -68
  209. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlIncludeAnnotation.js +0 -71
  210. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlJsonProvider.js +0 -1365
  211. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlNavigationProperty.js +0 -190
  212. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlNavigationPropertyBinding.js +0 -37
  213. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlOnDelete.js +0 -70
  214. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlParameter.js +0 -227
  215. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlProperty.js +0 -250
  216. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlPropertyRef.js +0 -49
  217. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlProvider.js +0 -190
  218. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlReference.js +0 -97
  219. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlReferentialConstraint.js +0 -60
  220. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlReturnType.js +0 -216
  221. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlSchema.js +0 -328
  222. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlSingleton.js +0 -84
  223. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlTerm.js +0 -320
  224. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlTypeDefinition.js +0 -193
  225. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlAnnotationExpression.js +0 -73
  226. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlAnnotationPathExpression.js +0 -33
  227. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlApplyExpression.js +0 -105
  228. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlArithmeticExpression.js +0 -72
  229. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlBinaryExpression.js +0 -110
  230. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlCastExpression.js +0 -188
  231. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlCollectionExpression.js +0 -48
  232. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlConstantExpression.js +0 -116
  233. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlIfExpression.js +0 -62
  234. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlIsOfExpression.js +0 -200
  235. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlLabeledElementExpression.js +0 -42
  236. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlLabeledElementReferenceExpression.js +0 -31
  237. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlModelElementPathExpression.js +0 -29
  238. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlNavigationPropertyPathExpression.js +0 -31
  239. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlNegationExpression.js +0 -27
  240. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlNotExpression.js +0 -31
  241. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlNullExpression.js +0 -18
  242. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlPathExpression.js +0 -32
  243. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlPropertyPathExpression.js +0 -32
  244. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlPropertyValueExpression.js +0 -55
  245. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlRecordExpression.js +0 -54
  246. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlUnknownExpression.js +0 -44
  247. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlUrlRefExpression.js +0 -31
  248. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/AbstractEdmBindingTarget.js +0 -163
  249. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/AbstractEdmFaceted.js +0 -136
  250. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/AbstractEdmOperation.js +0 -205
  251. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/AbstractEdmOperationImport.js +0 -126
  252. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/AbstractEdmStructuredType.js +0 -275
  253. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/Edm.js +0 -775
  254. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmAction.js +0 -15
  255. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmActionImport.js +0 -39
  256. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmAnnotation.js +0 -106
  257. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmAnnotations.js +0 -57
  258. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmComplexType.js +0 -48
  259. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmEntityContainer.js +0 -455
  260. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmEntitySet.js +0 -43
  261. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmEntityType.js +0 -119
  262. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmEnumMember.js +0 -69
  263. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmEnumType.js +0 -117
  264. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmFunction.js +0 -39
  265. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmFunctionImport.js +0 -59
  266. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmInclude.js +0 -65
  267. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmIncludeAnnotation.js +0 -48
  268. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmKeyPropertyRef.js +0 -79
  269. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmNavigationProperty.js +0 -182
  270. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmNavigationPropertyBinding.js +0 -46
  271. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmOnDelete.js +0 -44
  272. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmParameter.js +0 -22
  273. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmPrimitiveType.js +0 -31
  274. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmPrimitiveTypeKind.js +0 -70
  275. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmProperty.js +0 -39
  276. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmProvider.js +0 -399
  277. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmReference.js +0 -88
  278. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmReferentialConstraint.js +0 -71
  279. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmReturnType.js +0 -14
  280. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmSchema.js +0 -355
  281. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmSingleton.js +0 -15
  282. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmTerm.js +0 -75
  283. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmType.js +0 -95
  284. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmTypeDefinition.js +0 -121
  285. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmTypeFactory.js +0 -28
  286. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmVocabularyTermType.js +0 -41
  287. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/KeyFactory.js +0 -67
  288. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/Target.js +0 -56
  289. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/TransientStructuredType.js +0 -244
  290. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/AnnotationExpressionFactory.js +0 -130
  291. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmAnnotationExpression.js +0 -28
  292. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmAnnotationPathExpression.js +0 -42
  293. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmApplyExpression.js +0 -85
  294. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmArithmeticExpression.js +0 -92
  295. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmBinaryExpression.js +0 -96
  296. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmCastExpression.js +0 -129
  297. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmCollectionExpression.js +0 -52
  298. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmConstantExpression.js +0 -83
  299. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmIfExpression.js +0 -103
  300. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmIsOfExpression.js +0 -125
  301. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmLabeledElementExpression.js +0 -83
  302. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmLabeledElementReferenceExpression.js +0 -41
  303. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmModelElementPathExpression.js +0 -35
  304. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmNavigationPropertyPathExpression.js +0 -37
  305. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmNegationExpression.js +0 -70
  306. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmNotExpression.js +0 -75
  307. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmNullExpression.js +0 -50
  308. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmPathExpression.js +0 -38
  309. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmPropertyPathExpression.js +0 -37
  310. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmPropertyValueExpression.js +0 -72
  311. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmRecordExpression.js +0 -100
  312. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmUnknownExpression.js +0 -72
  313. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmUrlRefExpression.js +0 -73
  314. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/errors/AbstractError.js +0 -82
  315. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/errors/IllegalArgumentError.js +0 -58
  316. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/errors/IllegalCallError.js +0 -21
  317. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/errors/NotImplementedError.js +0 -19
  318. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/errors/UriQueryOptionSemanticError.js +0 -49
  319. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/errors/UriSemanticError.js +0 -48
  320. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/errors/UriSyntaxError.js +0 -65
  321. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/format/ContentTypeInfo.js +0 -105
  322. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/format/JsonContentTypeInfo.js +0 -83
  323. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/format/JsonFormat.js +0 -141
  324. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/format/RepresentationKind.js +0 -251
  325. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/http/HttpHeader.js +0 -42
  326. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/http/HttpHeaderReader.js +0 -318
  327. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/http/HttpMethod.js +0 -25
  328. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/http/HttpStatusCode.js +0 -52
  329. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/http/Preferences.js +0 -32
  330. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/index.js +0 -69
  331. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/logging/LoggerFacade.js +0 -183
  332. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/AliasExpression.js +0 -47
  333. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/ApplyParser.js +0 -946
  334. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/BinaryExpression.js +0 -124
  335. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/ExpandItem.js +0 -76
  336. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/ExpandParser.js +0 -384
  337. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/Expression.js +0 -46
  338. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/ExpressionParser.js +0 -1988
  339. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/FilterParser.js +0 -34
  340. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/FunctionParameterParser.js +0 -106
  341. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/KeyPredicateParser.js +0 -155
  342. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/KeyValueParser.js +0 -213
  343. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/LiteralExpression.js +0 -43
  344. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/MemberExpression.js +0 -44
  345. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/MethodExpression.js +0 -146
  346. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/OrderByItem.js +0 -53
  347. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/OrderByParser.js +0 -69
  348. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/ResourcePathParser.js +0 -848
  349. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/SearchParser.js +0 -127
  350. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/SelectItem.js +0 -80
  351. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/SelectParser.js +0 -294
  352. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/TypeLiteralExpression.js +0 -28
  353. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/UnaryExpression.js +0 -64
  354. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/UriHelper.js +0 -65
  355. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/UriInfo.js +0 -165
  356. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/UriParameter.js +0 -107
  357. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/UriParser.js +0 -350
  358. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/UriResource.js +0 -602
  359. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/UriTokenizer.js +0 -1156
  360. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/apply/AggregateExpression.js +0 -164
  361. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/apply/AggregateTransformation.js +0 -38
  362. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/apply/BottomTopTransformation.js +0 -93
  363. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/apply/ComputeExpression.js +0 -52
  364. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/apply/ComputeTransformation.js +0 -38
  365. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/apply/ConcatTransformation.js +0 -38
  366. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/apply/CustomFunctionTransformation.js +0 -59
  367. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/apply/ExpandTransformation.js +0 -37
  368. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/apply/FilterTransformation.js +0 -37
  369. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/apply/GroupByItem.js +0 -71
  370. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/apply/GroupByTransformation.js +0 -58
  371. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/apply/IdentityTransformation.js +0 -17
  372. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/apply/OrderByTransformation.js +0 -37
  373. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/apply/SearchTransformation.js +0 -37
  374. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/apply/SkipTransformation.js +0 -37
  375. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/apply/TopTransformation.js +0 -37
  376. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/apply/Transformation.js +0 -53
  377. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/info.md +0 -116
  378. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/utils/PrimitiveValueDecoder.js +0 -667
  379. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/utils/PrimitiveValueEncoder.js +0 -349
  380. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/utils/ValueConverter.js +0 -545
  381. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/validator/ParameterValidator.js +0 -124
  382. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/validator/ValueValidator.js +0 -743
  383. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/ServiceFactory.js +0 -234
  384. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/batch/BatchContext.js +0 -351
  385. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/batch/BatchErrorInfo.js +0 -61
  386. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/batch/BatchExitHandler.js +0 -239
  387. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/batch/BatchProcessor.js +0 -281
  388. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/batch/BatchValidator.js +0 -133
  389. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/batch/BatchedRequestExecutor.js +0 -92
  390. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/core/ComponentManager.js +0 -63
  391. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/core/Context.js +0 -96
  392. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/core/Dispatcher.js +0 -147
  393. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/core/OdataRequest.js +0 -458
  394. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/core/OdataRequestInBatch.js +0 -147
  395. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/core/OdataResponse.js +0 -314
  396. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/core/OdataResponseInBatch.js +0 -83
  397. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/core/PlainHttpRequest.js +0 -175
  398. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/core/PlainHttpResponse.js +0 -106
  399. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/core/RequestContract.js +0 -111
  400. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/core/ResponseContract.js +0 -111
  401. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/core/ResponseHeaderSetter.js +0 -240
  402. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/core/Service.js +0 -417
  403. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/core/ServiceResolutions.js +0 -24
  404. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/deserializer/ApplicationHttpReader.js +0 -157
  405. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/deserializer/BatchJsonDeserializer.js +0 -171
  406. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/deserializer/BatchRequestListBuilder.js +0 -196
  407. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/deserializer/Cache.js +0 -154
  408. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/deserializer/ContentDeserializer.js +0 -222
  409. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/deserializer/DataReader.js +0 -220
  410. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/deserializer/DeserializerFactory.js +0 -240
  411. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/deserializer/HeaderReader.js +0 -133
  412. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/deserializer/LineReader.js +0 -61
  413. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/deserializer/MultipartReader.js +0 -419
  414. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/deserializer/PartReader.js +0 -99
  415. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/deserializer/Reader.js +0 -52
  416. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/deserializer/ResourceJsonDeserializer.js +0 -673
  417. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/errors/ApplicationError.js +0 -108
  418. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/errors/BadRequestError.js +0 -21
  419. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/errors/ConflictError.js +0 -11
  420. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/errors/DeserializationError.js +0 -19
  421. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/errors/InternalServerError.js +0 -20
  422. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/errors/MethodNotAllowedError.js +0 -17
  423. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/errors/NotAcceptableError.js +0 -21
  424. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/errors/NotFoundError.js +0 -33
  425. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/errors/PreconditionFailedError.js +0 -11
  426. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/errors/PreconditionRequiredError.js +0 -11
  427. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/errors/SerializationError.js +0 -19
  428. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/errors/UnauthorizedError.js +0 -17
  429. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/format/AcceptTypeInfo.js +0 -86
  430. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/format/CharsetInfo.js +0 -76
  431. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/format/FormatDescription.js +0 -43
  432. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/format/FormatManager.js +0 -91
  433. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/format/RequestContentNegotiator.js +0 -62
  434. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/format/ResponseContentNegotiator.js +0 -321
  435. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/handler/BatchHandler.js +0 -36
  436. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/handler/MetadataHandler.js +0 -21
  437. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/handler/ServiceHandler.js +0 -25
  438. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/http/CustomPreference.js +0 -31
  439. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/http/HeaderInfo.js +0 -79
  440. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/http/HttpHeader.js +0 -59
  441. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/http/HttpHeaderReader.js +0 -452
  442. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/http/HttpStatusCode.js +0 -117
  443. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/http/Preferences.js +0 -222
  444. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/http/PreferencesApplied.js +0 -199
  445. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/index.js +0 -37
  446. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/Command.js +0 -31
  447. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/CommandExecutor.js +0 -94
  448. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/CommandFactory.js +0 -203
  449. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/ConditionalRequestControlCommand.js +0 -52
  450. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/ConditionalRequestPreValidationCommand.js +0 -59
  451. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/ContentNegotiatorCommand.js +0 -70
  452. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/DebugContentNegotiatorCommand.js +0 -59
  453. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/DebugDeserializingCommand.js +0 -44
  454. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/DebugSerializingCommand.js +0 -51
  455. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/DeserializingCommand.js +0 -69
  456. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/DispatcherCommand.js +0 -95
  457. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/ErrorContentNegotiatorCommand.js +0 -44
  458. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/ErrorSerializingCommand.js +0 -51
  459. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/EventListenerCommand.js +0 -59
  460. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/LocaleNegotiatorCommand.js +0 -56
  461. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/OdataVersionValidationCommand.js +0 -41
  462. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/OperationValidationCommand.js +0 -34
  463. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/ParsePreferHeaderCommand.js +0 -47
  464. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/PresetResponseHeadersCommand.js +0 -47
  465. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/QueryOptionsParserCommand.js +0 -43
  466. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/QueryOptionsValidationCommand.js +0 -62
  467. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/RequestContentValidationCommand.js +0 -51
  468. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/SendResponseCommand.js +0 -37
  469. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/SerializingCommand.js +0 -159
  470. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/SetResponseHeadersCommand.js +0 -90
  471. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/SetStatuscodeCommand.js +0 -51
  472. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/UriParserCommand.js +0 -47
  473. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/logging/DebugLogger.js +0 -97
  474. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/serializer/ApplicationHttpWriter.js +0 -65
  475. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/serializer/BatchJsonSerializer.js +0 -46
  476. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/serializer/BatchMultipartSerializer.js +0 -113
  477. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/serializer/ContextURLFactory.js +0 -405
  478. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/serializer/DebugHtmlSerializer.js +0 -302
  479. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/serializer/DebugJsonSerializer.js +0 -515
  480. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/serializer/ErrorJsonSerializer.js +0 -47
  481. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/serializer/ErrorSerializer.js +0 -39
  482. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/serializer/ErrorXmlSerializer.js +0 -98
  483. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/serializer/ExpressionTreeImage.js +0 -404
  484. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/serializer/MetadataXmlSerializer.js +0 -1416
  485. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/serializer/MultipartWriter.js +0 -202
  486. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/serializer/NextLinkSerializer.js +0 -330
  487. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/serializer/ResourceJsonSerializer.js +0 -1220
  488. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/serializer/SerializerFactory.js +0 -484
  489. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/serializer/ServiceJsonSerializer.js +0 -89
  490. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/serializer/TrustedResourceJsonSerializer.js +0 -612
  491. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/serializer/debugview.html +0 -157
  492. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/utils/BufferedWriter.js +0 -59
  493. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/utils/ExpandHelper.js +0 -96
  494. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/utils/MetadataCache.js +0 -136
  495. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/utils/PerformanceMonitor.js +0 -221
  496. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/utils/UriHelper.js +0 -157
  497. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/validator/ConditionalRequestValidator.js +0 -79
  498. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/validator/OperationValidator.js +0 -199
  499. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/validator/RequestValidator.js +0 -392
  500. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/validator/VersionValidator.js +0 -62
  501. package/libx/_runtime/cds-services/adapter/odata-v4/to.js +0 -51
  502. package/libx/_runtime/cds-services/adapter/odata-v4/utils/data.js +0 -331
  503. package/libx/_runtime/cds-services/adapter/odata-v4/utils/handlerUtils.js +0 -159
  504. package/libx/_runtime/cds-services/adapter/odata-v4/utils/metaInfo.js +0 -404
  505. package/libx/_runtime/cds-services/adapter/odata-v4/utils/oDataConfiguration.js +0 -55
  506. package/libx/_runtime/cds-services/adapter/odata-v4/utils/omitValues.js +0 -86
  507. package/libx/_runtime/cds-services/adapter/odata-v4/utils/readAfterWrite.js +0 -107
  508. package/libx/_runtime/cds-services/adapter/odata-v4/utils/request.js +0 -64
  509. package/libx/_runtime/cds-services/adapter/odata-v4/utils/result.js +0 -385
  510. package/libx/_runtime/cds-services/adapter/odata-v4/utils/stream.js +0 -12
  511. package/libx/_runtime/cds-services/util/errors.js +0 -15
  512. package/libx/_runtime/common/aspects/relation.js +0 -40
  513. package/libx/_runtime/common/composition/data.js +0 -370
  514. package/libx/_runtime/common/composition/delete.js +0 -313
  515. package/libx/_runtime/common/composition/index.js +0 -22
  516. package/libx/_runtime/common/composition/insert.js +0 -108
  517. package/libx/_runtime/common/composition/tree.js +0 -275
  518. package/libx/_runtime/common/composition/update.js +0 -354
  519. package/libx/_runtime/common/composition/utils.js +0 -95
  520. package/libx/_runtime/common/error/constants.js +0 -20
  521. package/libx/_runtime/common/error/entry.js +0 -36
  522. package/libx/_runtime/common/error/frontend.js +0 -199
  523. package/libx/_runtime/common/error/index.js +0 -12
  524. package/libx/_runtime/common/error/log.js +0 -35
  525. package/libx/_runtime/common/error/standardError.js +0 -11
  526. package/libx/_runtime/common/error/utils.js +0 -18
  527. package/libx/_runtime/common/generic/auth/constants.js +0 -17
  528. package/libx/_runtime/common/generic/put.js +0 -85
  529. package/libx/_runtime/common/utils/columns.js +0 -177
  530. package/libx/_runtime/common/utils/compareJsonOLD.js +0 -280
  531. package/libx/_runtime/common/utils/cqn2cqn4sql.js +0 -1039
  532. package/libx/_runtime/common/utils/data.js +0 -16
  533. package/libx/_runtime/common/utils/dollar.js +0 -27
  534. package/libx/_runtime/common/utils/generateOnCond.js +0 -127
  535. package/libx/_runtime/common/utils/onlyKeysRemain.js +0 -10
  536. package/libx/_runtime/common/utils/path.js +0 -20
  537. package/libx/_runtime/common/utils/quotingStyles.js +0 -29
  538. package/libx/_runtime/common/utils/restrictions.js +0 -67
  539. package/libx/_runtime/common/utils/search2cqn4sql.js +0 -37
  540. package/libx/_runtime/common/utils/searchToLike.js +0 -56
  541. package/libx/_runtime/common/utils/stream.js +0 -103
  542. package/libx/_runtime/common/utils/ucsn.js +0 -119
  543. package/libx/_runtime/common/utils/union.js +0 -31
  544. package/libx/_runtime/common/utils/unionCqnTemplate.js +0 -174
  545. package/libx/_runtime/db/Service.js +0 -93
  546. package/libx/_runtime/db/data-conversion/post-processing.js +0 -175
  547. package/libx/_runtime/db/expand/expand-v2.js +0 -147
  548. package/libx/_runtime/db/expand/expandCQNToJoin.js +0 -1775
  549. package/libx/_runtime/db/expand/index.js +0 -13
  550. package/libx/_runtime/db/expand/rawToExpanded.js +0 -250
  551. package/libx/_runtime/db/generic/create.js +0 -30
  552. package/libx/_runtime/db/generic/delete.js +0 -18
  553. package/libx/_runtime/db/generic/index.js +0 -25
  554. package/libx/_runtime/db/generic/input.js +0 -227
  555. package/libx/_runtime/db/generic/read.js +0 -16
  556. package/libx/_runtime/db/generic/rewrite.js +0 -68
  557. package/libx/_runtime/db/generic/structured.js +0 -92
  558. package/libx/_runtime/db/generic/update.js +0 -97
  559. package/libx/_runtime/db/generic/virtual.js +0 -83
  560. package/libx/_runtime/db/query/delete.js +0 -39
  561. package/libx/_runtime/db/query/index.js +0 -13
  562. package/libx/_runtime/db/query/insert.js +0 -21
  563. package/libx/_runtime/db/query/read.js +0 -97
  564. package/libx/_runtime/db/query/run.js +0 -30
  565. package/libx/_runtime/db/query/update.js +0 -94
  566. package/libx/_runtime/db/result/InsertResult.js +0 -87
  567. package/libx/_runtime/db/sql-builder/BaseBuilder.js +0 -65
  568. package/libx/_runtime/db/sql-builder/CreateBuilder.js +0 -212
  569. package/libx/_runtime/db/sql-builder/DeleteBuilder.js +0 -87
  570. package/libx/_runtime/db/sql-builder/DropBuilder.js +0 -63
  571. package/libx/_runtime/db/sql-builder/ExpressionBuilder.js +0 -345
  572. package/libx/_runtime/db/sql-builder/FunctionBuilder.js +0 -232
  573. package/libx/_runtime/db/sql-builder/InsertBuilder.js +0 -494
  574. package/libx/_runtime/db/sql-builder/ReferenceBuilder.js +0 -135
  575. package/libx/_runtime/db/sql-builder/SelectBuilder.js +0 -482
  576. package/libx/_runtime/db/sql-builder/UpdateBuilder.js +0 -207
  577. package/libx/_runtime/db/sql-builder/UpsertBuilder.js +0 -25
  578. package/libx/_runtime/db/sql-builder/annotations.js +0 -50
  579. package/libx/_runtime/db/sql-builder/arrayed.js +0 -4
  580. package/libx/_runtime/db/sql-builder/dataTypes.js +0 -59
  581. package/libx/_runtime/db/sql-builder/dollar.js +0 -37
  582. package/libx/_runtime/db/sql-builder/index.js +0 -28
  583. package/libx/_runtime/db/sql-builder/sqlFactory.js +0 -104
  584. package/libx/_runtime/db/utils/coloredTxCommands.js +0 -7
  585. package/libx/_runtime/db/utils/columns.js +0 -41
  586. package/libx/_runtime/db/utils/deep.js +0 -71
  587. package/libx/_runtime/db/utils/generateAliases.js +0 -160
  588. package/libx/_runtime/db/utils/localized.js +0 -77
  589. package/libx/_runtime/db/utils/normalizeTimeData.js +0 -98
  590. package/libx/_runtime/db/utils/stream.js +0 -41
  591. package/libx/_runtime/hana/Service.js +0 -173
  592. package/libx/_runtime/hana/conversion.js +0 -73
  593. package/libx/_runtime/hana/customBuilder/CustomCreateBuilder.js +0 -11
  594. package/libx/_runtime/hana/customBuilder/CustomDeleteBuilder.js +0 -17
  595. package/libx/_runtime/hana/customBuilder/CustomDropBuilder.js +0 -12
  596. package/libx/_runtime/hana/customBuilder/CustomExpressionBuilder.js +0 -23
  597. package/libx/_runtime/hana/customBuilder/CustomFunctionBuilder.js +0 -34
  598. package/libx/_runtime/hana/customBuilder/CustomReferenceBuilder.js +0 -38
  599. package/libx/_runtime/hana/customBuilder/CustomSelectBuilder.js +0 -90
  600. package/libx/_runtime/hana/customBuilder/index.js +0 -11
  601. package/libx/_runtime/hana/driver.js +0 -205
  602. package/libx/_runtime/hana/dynatrace.js +0 -130
  603. package/libx/_runtime/hana/execute.js +0 -429
  604. package/libx/_runtime/hana/localized.js +0 -39
  605. package/libx/_runtime/hana/pool.js +0 -186
  606. package/libx/_runtime/hana/search.js +0 -20
  607. package/libx/_runtime/hana/search2Contains.js +0 -106
  608. package/libx/_runtime/hana/search2cqn4sql.js +0 -98
  609. package/libx/_runtime/hana/streaming.js +0 -248
  610. package/libx/_runtime/messaging/Outbox.js +0 -15
  611. package/libx/_runtime/sqlite/Service.js +0 -153
  612. package/libx/_runtime/sqlite/conversion.js +0 -47
  613. package/libx/_runtime/sqlite/convertAssocToOneManaged.js +0 -60
  614. package/libx/_runtime/sqlite/convertDraftAdminPathExpression.js +0 -74
  615. package/libx/_runtime/sqlite/customBuilder/CustomExpressionBuilder.js +0 -24
  616. package/libx/_runtime/sqlite/customBuilder/CustomFunctionBuilder.js +0 -102
  617. package/libx/_runtime/sqlite/customBuilder/CustomSelectBuilder.js +0 -16
  618. package/libx/_runtime/sqlite/customBuilder/CustomUpsertBuilder.js +0 -47
  619. package/libx/_runtime/sqlite/customBuilder/index.js +0 -49
  620. package/libx/_runtime/sqlite/execute.js +0 -345
  621. package/libx/_runtime/sqlite/localized.js +0 -49
  622. package/libx/outbox/index.js +0 -307
@@ -1,667 +0,0 @@
1
- 'use strict'
2
-
3
- const cds = require('../../../../../../cds')
4
-
5
- const EdmTypeKind = require('../edm/EdmType').TypeKind
6
- const EdmPrimitiveTypeKind = require('../edm/EdmPrimitiveTypeKind')
7
- const ValueConverter = require('./ValueConverter')
8
- const ValueValidator = require('../validator/ValueValidator')
9
- const JsonContentTypeInfo = require('../format/JsonContentTypeInfo')
10
- const IllegalArgumentError = require('../errors/IllegalArgumentError')
11
- const { isInvalidBase64string } = require('../../../../../../common/utils/binary')
12
-
13
- const V2_DATE_TIME_OFFSET_REGEXP = new RegExp('^/Date\\((-?\\d{1,15})(?:(\\+|-)(\\d{4}))?\\)/$')
14
- const V2_TIME_OF_DAY_REGEXP = new RegExp('^PT(?:(\\d{1,2})H)?(?:(\\d{1,4})M)?(?:(\\d{1,5})(\\.\\d+)?S)?$')
15
- const V2_DOUBLE_REGEXP = new RegExp('^-?(?:\\d{1,17}|\\d\\.\\d{1,16}(?:[Ee]-?\\d{1,3})?)$')
16
-
17
- const INTEGER_VALIDATION = new RegExp('^[-+]?\\d{1,10}$')
18
- const NUMBER = '[-+]?\\d+(?:\\.\\d+)?(?:[Ee][-+]?\\d+)?'
19
- const NUMBER_VALIDATION = new RegExp('^' + NUMBER + '$')
20
-
21
- // Definitions for geo well-known-text literals
22
- const SRID = 'SRID=(\\d{1,8});'
23
- // A geo position is given by two space-separated numbers, like "1.23 4.56E-1".
24
- const POSITION = '(?:' + NUMBER + ' ' + NUMBER + ')'
25
- // A geo line is a comma-separated list of positions, like "1 2,3 4,5 6".
26
- const LINE = '(?:' + POSITION + '?(?:,' + POSITION + ')*)'
27
- // A geo multiposition is a comma-separated list of positions, each in parentheses, like "(1 2),(3 4),(5 6)".
28
- const MULTI_POSITION = '(?:(?:\\(' + POSITION + '\\))?(?:,\\(' + POSITION + '\\))*)'
29
- // A geo multiline is a comma-separated list of lines, each in parentheses, like "(1 1,2 2),(3 3,4 4)".
30
- // A geo polygon has exactly the same coordinate representation as a geo multiline.
31
- const MULTI_LINE = '(?:(?:\\(' + LINE + '\\))?(?:,\\(' + LINE + '\\))*)'
32
- // A geo multipolygon is a comma-separated list of multilines, each in parentheses, like
33
- // "((-1 -2,1 -2,1 2,-1 2,-1 -2),(-5 -10,-5 10,5 10,5 -10,-5 -10)),((-1 -2,-3 -4,-5 -6,-1 -2))".
34
- const MULTI_POLYGON = '(?:(?:\\(' + MULTI_LINE + '\\))?(?:,\\(' + MULTI_LINE + '\\))*)'
35
- // A geo literal is one of position, line, multiposition, multiline, multipolygon,
36
- // enclosed in parentheses and prefixed with a type name.
37
- const GEO_LITERAL =
38
- '(?:(?:Point\\(' +
39
- POSITION +
40
- '\\))' +
41
- '|(?:LineString\\(' +
42
- LINE +
43
- '\\))' +
44
- '|(?:Polygon\\(' +
45
- MULTI_LINE +
46
- '\\))' +
47
- '|(?:MultiPoint\\(' +
48
- MULTI_POSITION +
49
- '\\))' +
50
- '|(?:MultiLineString\\(' +
51
- MULTI_LINE +
52
- '\\))' +
53
- '|(?:MultiPolygon\\(' +
54
- MULTI_POLYGON +
55
- '\\)))'
56
- // A multigeoliteral (used for a collection) is a comma-separated list of geo literals.
57
- const MULTI_GEO_LITERAL = '(?:' + GEO_LITERAL + '?(?:,' + GEO_LITERAL + ')*)'
58
-
59
- // The validation regular expressions for geo literals must be all case-insensitive.
60
- // They are built as sequence of an SRID definition, a type name, and the coordinates;
61
- // the coordinates are enclosed in parentheses.
62
- // Only the coordinates are grouped with a RegExp group; the code below relies on this fact.
63
- const POINT_VALIDATION = new RegExp('^' + SRID + 'Point\\((' + POSITION + ')\\)$', 'i')
64
- const LINE_STRING_VALIDATION = new RegExp('^' + SRID + 'LineString\\((' + LINE + ')\\)$', 'i')
65
- const POLYGON_VALIDATION = new RegExp('^' + SRID + 'Polygon\\((' + MULTI_LINE + ')\\)$', 'i')
66
- const MULTI_POINT_VALIDATION = new RegExp('^' + SRID + 'MultiPoint\\((' + MULTI_POSITION + ')\\)$', 'i')
67
- const MULTI_LINE_STRING_VALIDATION = new RegExp('^' + SRID + 'MultiLineString\\((' + MULTI_LINE + ')\\)$', 'i')
68
- const MULTI_POLYGON_VALIDATION = new RegExp('^' + SRID + 'MultiPolygon\\((' + MULTI_POLYGON + ')\\)$', 'i')
69
- const COLLECTION_VALIDATION = new RegExp('^' + SRID + 'Collection\\((' + MULTI_GEO_LITERAL + ')\\)$', 'i')
70
-
71
- function _getBase64(val) {
72
- if (isInvalidBase64string(val)) return
73
- // convert url-safe to standard base64
74
- return Buffer.from(val, 'base64').toString('base64')
75
- }
76
-
77
- /**
78
- * The primitive-value decoder decodes primitive values, using OData V4 primitive types.
79
- * The following mapping of V2 and V4 primitive types is assumed:
80
- * V4 | V2
81
- * ------------------|------------------
82
- * Date | DateTime
83
- * DateTimeOffset | DateTimeOffset
84
- * Duration | String
85
- * TimeOfDay | Time
86
- */
87
- class PrimitiveValueDecoder {
88
- /**
89
- * Constructor
90
- * @param {string} [version = '4.0'] the OData version
91
- */
92
- constructor (version = '4.0') {
93
- this._version = version
94
- this._formatParameters =
95
- version === '2.0'
96
- ? new JsonContentTypeInfo().addParameter(JsonContentTypeInfo.FormatParameter.IEEE754, 'true')
97
- : null
98
- this._validator = new ValueValidator('decode')
99
- this._converter = new ValueConverter(this._validator, this._formatParameters)
100
- }
101
-
102
- /**
103
- * Set optional JSON formatting parameters.
104
- * @param {?JsonContentTypeInfo} formatParameters JSON serializing options
105
- * @returns {PrimitiveValueEncoder} this instance
106
- */
107
- setJsonFormatParameters (formatParameters) {
108
- this._formatParameters = formatParameters
109
- this._converter = new ValueConverter(this._validator, formatParameters)
110
- return this
111
- }
112
-
113
- /**
114
- * Decode an OData JSON representation of a primitive-type value into its JavaScript value.
115
- * @param {?(string|number|boolean|Object)} value the JSON value
116
- * @param {EdmProperty|EdmReturnType|EdmTerm} propertyOrReturnType the EDM property, return type, or term
117
- * @returns {?(string|number|boolean|Buffer|Object)} the JavaScript value
118
- */
119
- decodeJson (value, propertyOrReturnType) {
120
- if (value === undefined) throw new IllegalArgumentError('Missing value')
121
- if (value === null) {
122
- if (propertyOrReturnType.isNullable()) return null
123
- throw new IllegalArgumentError(
124
- 'Value ' +
125
- (propertyOrReturnType.getName ? "for '" + propertyOrReturnType.getName() + "' " : '') +
126
- 'must not be null'
127
- )
128
- }
129
- return this._version === '2.0'
130
- ? this._decodeV2Json(propertyOrReturnType, value)
131
- : this._decodeV4Json(propertyOrReturnType, value)
132
- }
133
-
134
- /**
135
- * Decode an OData plain-text representation of a primitive-type value into its JavaScript value.
136
- * @param {string} value the plain-text value
137
- * @param {EdmProperty|EdmReturnType|EdmTerm} propertyOrReturnType the EDM property, return type, or term
138
- * @returns {?(string|number|boolean|Buffer|Object)} the JavaScript value
139
- */
140
- decodeText (value, propertyOrReturnType) {
141
- if (value === null || value === undefined) throw new IllegalArgumentError('Missing value')
142
- return this._version === '2.0'
143
- ? this._decodeV2Text(propertyOrReturnType, value)
144
- : this._decodeV4Text(propertyOrReturnType, value)
145
- }
146
-
147
- /**
148
- * Decode an OData V2 JSON representation of a primitive-type value into its JavaScript value.
149
- * @param {EdmProperty|EdmReturnType|EdmTerm} propertyOrReturnType the EDM property, return type, or term
150
- * @param {string|number|boolean} jsonValue the JSON value
151
- * @returns {string|number|boolean|Buffer} the JavaScript value
152
- * @private
153
- */
154
- _decodeV2Json (propertyOrReturnType, jsonValue) {
155
- const type = propertyOrReturnType.getType()
156
-
157
- if (type === EdmPrimitiveTypeKind.Binary) {
158
- const val = _getBase64(jsonValue)
159
- if (!val) throw new IllegalArgumentError('The value for Edm.Binary is not valid base64 content.')
160
- return val
161
- }
162
-
163
- let value = jsonValue
164
- if (type === EdmPrimitiveTypeKind.Int64 || type === EdmPrimitiveTypeKind.Decimal) {
165
- if (typeof value !== 'string') {
166
- throw new IllegalArgumentError(
167
- 'Invalid value ' +
168
- value +
169
- ' (' +
170
- typeof value +
171
- '). ' +
172
- 'A JSON string must be specified as value for type ' +
173
- type.getFullQualifiedName() +
174
- '.'
175
- )
176
- }
177
- } else if (type === EdmPrimitiveTypeKind.DateTimeOffset) {
178
- const match = V2_DATE_TIME_OFFSET_REGEXP.exec(value)
179
- if (!match) {
180
- throw new IllegalArgumentError(
181
- 'Invalid value ' +
182
- value +
183
- ' (' +
184
- typeof value +
185
- ') ' +
186
- 'as value for type ' +
187
- type.getFullQualifiedName() +
188
- '.'
189
- )
190
- }
191
- value = new Date(0)
192
- value.setUTCMilliseconds(parseInt(match[1], 10))
193
- value = value.toISOString().replace(new RegExp('\\.?0*Z'), '')
194
- if (match[2]) {
195
- const offsetMinutes = parseInt(match[3], 10)
196
- value +=
197
- match[2] +
198
- Math.trunc(offsetMinutes / 600) +
199
- Math.trunc((offsetMinutes % 600) / 60) +
200
- ':' +
201
- Math.trunc((offsetMinutes % 60) / 10) +
202
- (offsetMinutes % 10)
203
- } else {
204
- value += 'Z'
205
- }
206
- } else if (type === EdmPrimitiveTypeKind.Date) {
207
- const match = V2_DATE_TIME_OFFSET_REGEXP.exec(value)
208
- if (!match || parseInt(match[1], 10) % (24 * 60 * 60 * 1000) !== 0) {
209
- throw new IllegalArgumentError(
210
- 'Invalid value ' +
211
- value +
212
- ' (' +
213
- typeof value +
214
- ') ' +
215
- 'as value for type ' +
216
- type.getFullQualifiedName() +
217
- '.'
218
- )
219
- }
220
- value = new Date(0)
221
- value.setUTCMilliseconds(parseInt(match[1], 10))
222
- value = value.toISOString().substring(0, 10)
223
- } else if (type === EdmPrimitiveTypeKind.TimeOfDay) {
224
- const match = V2_TIME_OF_DAY_REGEXP.exec(value)
225
- if (!match) {
226
- throw new IllegalArgumentError(
227
- 'Invalid value ' +
228
- value +
229
- ' (' +
230
- typeof value +
231
- ') ' +
232
- 'as value for type ' +
233
- type.getFullQualifiedName() +
234
- '.'
235
- )
236
- }
237
- value = new Date(0)
238
- value.setUTCMilliseconds(
239
- (match[1] ? parseInt(match[1], 10) : 0) * 3600000 +
240
- (match[2] ? parseInt(match[2], 10) : 0) * 60000 +
241
- (match[3] ? parseInt(match[3], 10) : 0) * 1000
242
- )
243
- // Remove '1970-01-01T' from the front and '.000Z' from the end; add fractional seconds.
244
- value = value.toISOString().substr(11, 8) + (match[4] || '')
245
- } else if (type === EdmPrimitiveTypeKind.Single || type === EdmPrimitiveTypeKind.Double) {
246
- if (typeof value !== 'string') {
247
- throw new IllegalArgumentError(
248
- 'Invalid value ' +
249
- value +
250
- ' (' +
251
- typeof value +
252
- '). A JSON string must be specified ' +
253
- 'as value for type ' +
254
- type.getFullQualifiedName() +
255
- '.'
256
- )
257
- }
258
- if (value === 'INF') return Number.POSITIVE_INFINITY
259
- if (value === '-INF') return Number.NEGATIVE_INFINITY
260
- if (value === 'Nan') return Number.NaN
261
- if (!V2_DOUBLE_REGEXP.test(value)) {
262
- throw new IllegalArgumentError(
263
- 'Invalid value ' +
264
- value +
265
- ' (' +
266
- typeof value +
267
- ') ' +
268
- 'as value for type ' +
269
- type.getFullQualifiedName() +
270
- '.'
271
- )
272
- }
273
- value = Number(value)
274
- }
275
-
276
- // The value converter also asserts maxLength, scale, precision, srid facets.
277
- return this._converter.convert(propertyOrReturnType, value)
278
- }
279
-
280
- /**
281
- * Decode an OData V4 JSON representation of a primitive-type value into its JavaScript value.
282
- * @param {EdmProperty|EdmReturnType|EdmTerm} propertyOrReturnType the EDM property, return type, or term
283
- * @param {string|number|boolean|Object} value the JSON value
284
- * @returns {string|number|boolean|Buffer|Object} the JavaScript value
285
- * @private
286
- */
287
- _decodeV4Json (propertyOrReturnType, value) {
288
- let type = propertyOrReturnType.getType()
289
- if (type.getKind() === EdmTypeKind.DEFINITION) type = type.getUnderlyingType()
290
-
291
- if (type === EdmPrimitiveTypeKind.Stream) {
292
- throw new IllegalArgumentError('Stream properties do not have a JSON representation.')
293
- }
294
-
295
- if (type === EdmPrimitiveTypeKind.Binary) {
296
- const val = _getBase64(value)
297
- if (!val) throw new IllegalArgumentError('The value for Edm.Binary is not valid base64 content.')
298
- return val
299
- }
300
-
301
- if (type === EdmPrimitiveTypeKind.Int64 || type === EdmPrimitiveTypeKind.Decimal) {
302
- if (cds.env.features.strict_numbers) {
303
- const kind = this._formatParameters.getIEEE754Setting() ? 'string' : 'number'
304
- // We don't allow JSON numbers as decimal values because there is no way to tell how
305
- // they looked like originally; JSON.parse() rounds all numbers to 64-bit floating-point numbers.
306
- if (type === EdmPrimitiveTypeKind.Decimal && kind === 'number') {
307
- throw new IllegalArgumentError('A JSON number is not supported as Edm.Decimal value.')
308
- }
309
- // eslint-disable-next-line valid-typeof
310
- if (kind !== typeof value) {
311
- throw new IllegalArgumentError(
312
- 'Invalid value ' +
313
- value +
314
- ' (' +
315
- typeof value +
316
- '). A JSON ' +
317
- kind +
318
- ' must be specified as value.'
319
- )
320
- }
321
- }
322
- return String(this._converter.convert(propertyOrReturnType, value))
323
- }
324
-
325
- if (type.getKind() === EdmTypeKind.ENUM) {
326
- if (typeof value !== 'string') {
327
- throw new IllegalArgumentError('A JSON string must be specified as value for an enumeration type.')
328
- }
329
- let enumValue = null
330
- for (const flagValue of value.split(',')) {
331
- let memberValue = null
332
- for (const [name, member] of type.getMembers()) {
333
- if (flagValue === name || flagValue === member.getValue().toString()) {
334
- memberValue = member.getValue()
335
- break
336
- }
337
- }
338
- if (memberValue === null || (enumValue !== null && !type.isFlags())) {
339
- throw new IllegalArgumentError(
340
- 'Invalid value ' +
341
- value +
342
- ' (' +
343
- typeof value +
344
- ') for enumeration type ' +
345
- type.getFullQualifiedName() +
346
- '.'
347
- )
348
- }
349
- // Use bitwise OR operator to set the member-value bits in the enumeration value.
350
- enumValue = enumValue === null ? memberValue : enumValue | memberValue
351
- }
352
- return enumValue
353
- }
354
-
355
- // The value converter also asserts maxLength, scale, precision, srid facets.
356
- return this._converter.convert(propertyOrReturnType, value)
357
- }
358
-
359
- /**
360
- * Decode an OData V4 plain-text representation of a primitive-type value into its JavaScript value.
361
- * @param {EdmProperty|EdmReturnType|EdmTerm} propertyOrReturnType the EDM property, return type, or term
362
- * @param {string} valueString the string value of the EDM property or of the return type
363
- * @returns {string|number|boolean|Buffer|Object} the JavaScript value
364
- * @private
365
- */
366
- _decodeV4Text (propertyOrReturnType, valueString) {
367
- let type = propertyOrReturnType.getType()
368
- if (type.getKind() === EdmTypeKind.DEFINITION) type = type.getUnderlyingType()
369
-
370
- if (type === EdmPrimitiveTypeKind.Binary) {
371
- const val = _getBase64(valueString)
372
- if (!val) throw new IllegalArgumentError('The value for Edm.Binary is not valid base64 content.')
373
- return val
374
- }
375
-
376
- let decoded
377
- let value
378
- switch (type) {
379
- case EdmPrimitiveTypeKind.Boolean:
380
- if (valueString === 'true') value = true
381
- if (valueString === 'false') value = false
382
- break
383
-
384
- case EdmPrimitiveTypeKind.Int16:
385
- case EdmPrimitiveTypeKind.Int32:
386
- case EdmPrimitiveTypeKind.Byte:
387
- case EdmPrimitiveTypeKind.SByte:
388
- if (!INTEGER_VALIDATION.test(valueString)) {
389
- throw new IllegalArgumentError(
390
- 'Wrong value' + (propertyOrReturnType.getName ? " for '" + propertyOrReturnType.getName() + "'" : '')
391
- )
392
- }
393
- value = Number(valueString)
394
- break
395
-
396
- case EdmPrimitiveTypeKind.Single:
397
- case EdmPrimitiveTypeKind.Double:
398
- if (valueString === 'NaN') return Number.NaN
399
- if (valueString === '-INF') return Number.NEGATIVE_INFINITY
400
- if (valueString === 'INF') return Number.POSITIVE_INFINITY
401
- if (!NUMBER_VALIDATION.test(valueString)) {
402
- throw new IllegalArgumentError(
403
- 'Wrong value' + (propertyOrReturnType.getName ? " for '" + propertyOrReturnType.getName() + "'" : '')
404
- )
405
- }
406
- value = Number(valueString)
407
- break
408
-
409
- case EdmPrimitiveTypeKind.GeographyPoint:
410
- case EdmPrimitiveTypeKind.GeometryPoint:
411
- decoded = this._decodeGeoValue(propertyOrReturnType, valueString, POINT_VALIDATION)
412
- value = this._decodePoint(decoded.values)
413
- if (decoded.crs) value.crs = decoded.crs
414
- break
415
-
416
- case EdmPrimitiveTypeKind.GeographyLineString:
417
- case EdmPrimitiveTypeKind.GeometryLineString:
418
- decoded = this._decodeGeoValue(propertyOrReturnType, valueString, LINE_STRING_VALIDATION)
419
- value = this._decodeLineString(decoded.values)
420
- if (decoded.crs) value.crs = decoded.crs
421
- break
422
-
423
- case EdmPrimitiveTypeKind.GeographyPolygon:
424
- case EdmPrimitiveTypeKind.GeometryPolygon:
425
- decoded = this._decodeGeoValue(propertyOrReturnType, valueString, POLYGON_VALIDATION)
426
- value = this._decodePolygon(decoded.values)
427
- if (decoded.crs) value.crs = decoded.crs
428
- break
429
-
430
- case EdmPrimitiveTypeKind.GeographyMultiPoint:
431
- case EdmPrimitiveTypeKind.GeometryMultiPoint:
432
- decoded = this._decodeGeoValue(propertyOrReturnType, valueString, MULTI_POINT_VALIDATION)
433
- value = this._decodeMultiPoint(decoded.values)
434
- if (decoded.crs) value.crs = decoded.crs
435
- break
436
-
437
- case EdmPrimitiveTypeKind.GeographyMultiLineString:
438
- case EdmPrimitiveTypeKind.GeometryMultiLineString:
439
- decoded = this._decodeGeoValue(propertyOrReturnType, valueString, MULTI_LINE_STRING_VALIDATION)
440
- value = this._decodeMultiLineString(decoded.values)
441
- if (decoded.crs) value.crs = decoded.crs
442
- break
443
-
444
- case EdmPrimitiveTypeKind.GeographyMultiPolygon:
445
- case EdmPrimitiveTypeKind.GeometryMultiPolygon:
446
- decoded = this._decodeGeoValue(propertyOrReturnType, valueString, MULTI_POLYGON_VALIDATION)
447
- value = this._decodeMultiPolygon(decoded.values)
448
- if (decoded.crs) value.crs = decoded.crs
449
- break
450
-
451
- case EdmPrimitiveTypeKind.GeographyCollection:
452
- case EdmPrimitiveTypeKind.GeometryCollection:
453
- decoded = this._decodeGeoValue(propertyOrReturnType, valueString, COLLECTION_VALIDATION)
454
- value = { type: 'GeometryCollection' }
455
- // Split at commas that are followed by first letters of type names.
456
- value.geometries = decoded.values.split(/,(?=[LMP])/i).map(geoLiteral => {
457
- const content = geoLiteral.slice(geoLiteral.indexOf('(') + 1, -1)
458
- if (/^Point/i.test(geoLiteral)) return this._decodePoint(content)
459
- if (/^LineString/i.test(geoLiteral)) return this._decodeLineString(content)
460
- if (/^Polygon/i.test(geoLiteral)) return this._decodePolygon(content)
461
- if (/^MultiPoint/i.test(geoLiteral)) return this._decodeMultiPoint(content)
462
- if (/^MultiLineString/i.test(geoLiteral)) return this._decodeMultiLineString(content)
463
- if (/^MultiPolygon/i.test(geoLiteral)) return this._decodeMultiPolygon(content)
464
- throw new IllegalArgumentError('Unknown content in geometry collection ' + geoLiteral)
465
- })
466
- if (decoded.crs) value.crs = decoded.crs
467
- break
468
-
469
- default:
470
- value = valueString
471
- }
472
-
473
- // The value converter asserts maxLength, scale, precision facets and performs additional checks for geo types.
474
- try {
475
- // The input is a string, so the parameter to expect the format according to IEEE754
476
- // can be set unconditionally. This is needed, e.g., for large Int64 values.
477
- return new ValueConverter(
478
- this._validator,
479
- new JsonContentTypeInfo().addParameter(JsonContentTypeInfo.FormatParameter.IEEE754, 'true')
480
- ).convert(propertyOrReturnType, value)
481
- } catch (error) {
482
- throw new IllegalArgumentError(
483
- 'Wrong value' + (propertyOrReturnType.getName ? " for '" + propertyOrReturnType.getName() + "'" : ''),
484
- error
485
- )
486
- }
487
- }
488
-
489
- /**
490
- * Decode an OData V2 plain-text representation of a primitive-type value into its JavaScript value.
491
- * @param {EdmProperty|EdmReturnType|EdmTerm} propertyOrReturnType the EDM property, return type, or term
492
- * @param {string} valueString the string value of the EDM property or of the return type
493
- * @returns {string|number|boolean|Buffer} the JavaScript value
494
- * @private
495
- */
496
- _decodeV2Text (propertyOrReturnType, valueString) {
497
- switch (propertyOrReturnType.getType()) {
498
- case EdmPrimitiveTypeKind.Single:
499
- case EdmPrimitiveTypeKind.Double:
500
- if (valueString === 'Nan') return Number.NaN
501
- if (valueString === 'NaN') {
502
- throw new IllegalArgumentError(
503
- 'Wrong value' + (propertyOrReturnType.getName ? " for '" + propertyOrReturnType.getName() + "'" : '')
504
- )
505
- }
506
- return this._decodeV4Text(propertyOrReturnType, valueString) // This also checks the value.
507
-
508
- case EdmPrimitiveTypeKind.Date:
509
- return this._decodeV4Text(
510
- propertyOrReturnType, // This also checks the value.
511
- valueString.endsWith('T00:00:00') ? valueString.substring(0, valueString.length - 9) : valueString
512
- )
513
-
514
- case EdmPrimitiveTypeKind.TimeOfDay: {
515
- this._validator.validateDuration(valueString, propertyOrReturnType.getPrecision())
516
- if (!valueString.startsWith('PT')) {
517
- throw new IllegalArgumentError(
518
- 'Wrong value' + (propertyOrReturnType.getName ? " for '" + propertyOrReturnType.getName() + "'" : '')
519
- )
520
- }
521
- const result =
522
- valueString.substring(2, valueString.indexOf('H')) +
523
- ':' +
524
- valueString.substring(valueString.indexOf('H') + 1, valueString.indexOf('M')) +
525
- ':' +
526
- valueString.substring(valueString.indexOf('M') + 1, valueString.indexOf('S'))
527
- this._validator.validateTimeOfDay(result, propertyOrReturnType.getPrecision())
528
- return result
529
- }
530
-
531
- default:
532
- return this._decodeV4Text(propertyOrReturnType, valueString) // This also checks the value.
533
- }
534
- }
535
-
536
- /**
537
- * Decodes a geo value.
538
- * @param {EdmProperty|EdmReturnType|EdmTerm} propertyOrReturnType the corresponding EDM property or return type
539
- * @param {string} valueString the string value of the EDM property or of the return type
540
- * @param {RegExp} validationRegExp regular expression that must match
541
- * @returns {{ values: string, crs: ?Object }} a JavaScript object with values as string and CRS information
542
- * @throws {IllegalArgumentError} if parsing was not successful
543
- * @private
544
- */
545
- _decodeGeoValue (propertyOrReturnType, valueString, validationRegExp) {
546
- const edmSrid = this._determineSrid(propertyOrReturnType)
547
- const match = validationRegExp.exec(valueString)
548
- if (match && (edmSrid === 'variable' || match[1] === String(edmSrid))) {
549
- let value = { values: match[2] }
550
- if (edmSrid === 'variable') value.crs = { type: 'name', properties: { name: 'EPSG:' + match[1] } }
551
- return value
552
- }
553
- throw new IllegalArgumentError(
554
- 'Wrong value' + (propertyOrReturnType.getName ? " for '" + propertyOrReturnType.getName() + "'" : '')
555
- )
556
- }
557
-
558
- /**
559
- * Returns value of the SRID facet or the default value (4326 for geography, 0 for geometry).
560
- * If the specified type is a TypeDefinition, then take also the type definition's facet into account.
561
- *
562
- * @param {EdmProperty|EdmReturnType|EdmTerm} propertyOrReturnType object containing SRID facet
563
- * @returns {?(number|string)} value of SRID facet
564
- * @private
565
- */
566
- _determineSrid (propertyOrReturnType) {
567
- let srid = propertyOrReturnType.getSrid()
568
- let type = propertyOrReturnType.getType()
569
- if (srid === null && type.getKind() === EdmTypeKind.DEFINITION) {
570
- srid = type.getSrid()
571
- type = type.getUnderlyingType()
572
- }
573
- if (srid === null) srid = type.getName().startsWith('Geography') ? 4326 : 0
574
- return srid
575
- }
576
-
577
- /**
578
- * Decodes point values into a GeoJSON point object.
579
- * @param {string} content point values in well-known text format
580
- * @returns {{ type: string, coordinates: number[] }} a GeoJSON point object
581
- * @private
582
- */
583
- _decodePoint (content) {
584
- return { type: 'Point', coordinates: content.split(' ').map(Number) }
585
- }
586
-
587
- /**
588
- * Decodes linestring values into a GeoJSON linestring object.
589
- * @param {string} content linestring values in well-known text format
590
- * @returns {{ type: string, coordinates: Array.<number[]> }} a GeoJSON linestring object
591
- * @private
592
- */
593
- _decodeLineString (content) {
594
- return {
595
- type: 'LineString',
596
- coordinates: content.split(',').map(position => position.split(' ').map(Number))
597
- }
598
- }
599
-
600
- /**
601
- * Decodes polygon values into a GeoJSON polygon object.
602
- * @param {string} content polygon values in well-known text format
603
- * @returns {{ type: string, coordinates: Array.<Array.<number[]>> }} a GeoJSON polygon object
604
- * @private
605
- */
606
- _decodePolygon (content) {
607
- return {
608
- type: 'Polygon',
609
- coordinates: content
610
- .slice(1, -1)
611
- .split('),(')
612
- .map(ring => ring.split(',').map(position => position.split(' ').map(Number)))
613
- }
614
- }
615
-
616
- /**
617
- * Decodes multipoint values into a GeoJSON multipoint object.
618
- * @param {string} content multipoint values in well-known text format
619
- * @returns {{ type: string, coordinates: Array.<number[]> }} a GeoJSON multipoint object
620
- * @private
621
- */
622
- _decodeMultiPoint (content) {
623
- return {
624
- type: 'MultiPoint',
625
- coordinates: content
626
- .slice(1, -1)
627
- .split('),(')
628
- .map(position => position.split(' ').map(Number))
629
- }
630
- }
631
-
632
- /**
633
- * Decodes multilinestring values into a GeoJSON multilinestring object.
634
- * @param {string} content multilinestring values in well-known text format
635
- * @returns {{ type: string, coordinates: Array.<Array.<number[]>> }} a GeoJSON multilinestring object
636
- * @private
637
- */
638
- _decodeMultiLineString (content) {
639
- return {
640
- type: 'MultiLineString',
641
- coordinates: content
642
- .slice(1, -1)
643
- .split('),(')
644
- .map(line => line.split(',').map(position => position.split(' ').map(Number)))
645
- }
646
- }
647
-
648
- /**
649
- * Decodes multipolygon values into a GeoJSON multipolygon object.
650
- * @param {string} content multipolygon values in well-known text format
651
- * @returns {{ type: string, coordinates: Array.<Array.<Array.<number[]>>> }} a GeoJSON multipolygon object
652
- * @private
653
- */
654
- _decodeMultiPolygon (content) {
655
- return {
656
- type: 'MultiPolygon',
657
- coordinates: content
658
- .slice(2, -2)
659
- .split(')),((')
660
- .map(polygon =>
661
- polygon.split('),(').map(line => line.split(',').map(position => position.split(' ').map(Number)))
662
- )
663
- }
664
- }
665
- }
666
-
667
- module.exports = PrimitiveValueDecoder