@sap/cds 8.9.3 → 9.0.2

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 +122 -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/classes.js +1 -0
  18. package/lib/core/linked-csn.js +8 -8
  19. package/lib/dbs/cds-deploy.js +4 -3
  20. package/lib/env/cds-env.js +9 -9
  21. package/lib/env/cds-requires.js +23 -50
  22. package/lib/env/defaults.js +15 -44
  23. package/lib/env/schemas/cds-package.js +1 -1
  24. package/lib/i18n/index.js +1 -0
  25. package/lib/i18n/locale.js +41 -0
  26. package/lib/index.js +25 -15
  27. package/lib/log/cds-error.js +12 -3
  28. package/lib/log/cds-log.js +43 -18
  29. package/lib/log/format/aspects/als.js +2 -15
  30. package/lib/plugins.js +11 -11
  31. package/lib/ql/CREATE.js +1 -1
  32. package/lib/ql/DELETE.js +1 -1
  33. package/lib/ql/DROP.js +1 -1
  34. package/lib/ql/INSERT.js +9 -18
  35. package/lib/ql/SELECT.js +12 -19
  36. package/lib/ql/UPDATE.js +1 -1
  37. package/lib/ql/UPSERT.js +1 -0
  38. package/lib/ql/Whereable.js +7 -6
  39. package/lib/ql/cds-ql.js +0 -12
  40. package/lib/ql/cds.ql-Query.js +28 -68
  41. package/lib/ql/cds.ql-infer.js +97 -108
  42. package/lib/ql/resolve.js +2 -3
  43. package/lib/req/context.js +5 -4
  44. package/lib/req/request.js +46 -42
  45. package/lib/req/response.js +5 -9
  46. package/lib/req/spawn.js +38 -0
  47. package/lib/req/validate.js +9 -8
  48. package/lib/srv/bindings.js +2 -1
  49. package/lib/srv/cds-connect.js +5 -2
  50. package/lib/srv/cds-serve.js +0 -2
  51. package/lib/srv/cds.Service.js +146 -86
  52. package/lib/srv/middlewares/auth/ias-auth.js +99 -88
  53. package/lib/srv/middlewares/auth/jwt-auth.js +44 -57
  54. package/lib/srv/middlewares/cds-context.js +1 -1
  55. package/lib/srv/middlewares/ctx-model.js +1 -1
  56. package/lib/srv/middlewares/errors.js +34 -42
  57. package/lib/srv/protocols/hcql.js +35 -25
  58. package/lib/srv/protocols/index.js +0 -9
  59. package/lib/srv/protocols/odata-v4.js +1 -6
  60. package/lib/srv/srv-dispatch.js +29 -31
  61. package/lib/srv/srv-handlers.js +14 -46
  62. package/lib/srv/srv-methods.js +15 -37
  63. package/lib/srv/srv-tx.js +19 -25
  64. package/lib/test/cds-test.js +4 -263
  65. package/lib/utils/cds-utils.js +18 -2
  66. package/lib/utils/tar.js +6 -8
  67. package/lib/utils/unit.js +19 -0
  68. package/libx/_runtime/.eslintrc +1 -1
  69. package/libx/_runtime/cds-services/util/assert.js +2 -72
  70. package/libx/_runtime/cds.js +13 -6
  71. package/libx/_runtime/common/Service.js +33 -75
  72. package/libx/_runtime/common/aspects/any.js +0 -38
  73. package/libx/_runtime/common/constants/events.js +5 -13
  74. package/libx/_runtime/common/generic/auth/autoexpose.js +10 -24
  75. package/libx/_runtime/common/generic/auth/capabilities.js +23 -20
  76. package/libx/_runtime/common/generic/auth/expand.js +3 -3
  77. package/libx/_runtime/common/generic/auth/index.js +3 -3
  78. package/libx/_runtime/common/generic/auth/insertOnly.js +3 -3
  79. package/libx/_runtime/common/generic/auth/readOnly.js +4 -4
  80. package/libx/_runtime/common/generic/auth/requires.js +4 -4
  81. package/libx/_runtime/common/generic/auth/restrict.js +12 -29
  82. package/libx/_runtime/common/generic/auth/service.js +3 -3
  83. package/libx/_runtime/common/generic/auth/utils.js +2 -12
  84. package/libx/_runtime/common/generic/crud.js +22 -53
  85. package/libx/_runtime/common/generic/etag.js +18 -31
  86. package/libx/_runtime/common/generic/input.js +51 -123
  87. package/libx/_runtime/common/generic/paging.js +4 -4
  88. package/libx/_runtime/common/generic/sorting.js +8 -19
  89. package/libx/_runtime/common/generic/stream-only.js +26 -0
  90. package/libx/_runtime/common/generic/stream.js +16 -48
  91. package/libx/_runtime/common/generic/temporal.js +15 -6
  92. package/libx/_runtime/common/utils/binary.js +1 -26
  93. package/libx/_runtime/common/utils/compareJson.js +1 -2
  94. package/libx/_runtime/common/utils/cqn.js +15 -14
  95. package/libx/_runtime/common/utils/differ.js +121 -44
  96. package/libx/_runtime/common/utils/keys.js +4 -5
  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 +106 -142
  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 +1 -4
  140. package/libx/odata/utils/normalizeTimeData.js +4 -7
  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 +530 -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,202 +0,0 @@
1
- 'use strict'
2
-
3
- const CRLF = '\r\n'
4
-
5
- const commons = require('../../odata-commons')
6
- const ContentTypes = commons.format.ContentTypeInfo.ContentTypes
7
- const HeaderNames = commons.http.HttpHeader.HeaderNames
8
- const SerializationError = require('../errors/SerializationError')
9
-
10
- const STATES = {
11
- WRITING_PAYLOAD_HEADER: 0,
12
- WRITING_OBJECT_HEADER: 1,
13
- WRITING_FIRST_PART: 2,
14
- WRITING_ENCAPSULATION: 3,
15
- WRITING_EPILOGUE: 4
16
- }
17
-
18
- /**
19
- * Writes content in application/multipart format into an stream.
20
- * Used to write OData batch responses. For nested multipart (e.g. for change set) one stream can be used with 2 MultipartWriter instances
21
- *
22
- * Sample call sequence:
23
- * - const w = new MultipartWriter(httpResponse)
24
- * - w->writePreamble (...)
25
- * - w->writePart (...)
26
- * - w->writePart (...)
27
- * - w->writeEpilogue (...)
28
- * - w->writeEnd
29
- *
30
- *
31
- * 'Content-Type: multipart/mixed; boundary=changeset', <-- written Automatically
32
- * 'CustomHeader: Value <-- written by MultipartWriter->writeHeader
33
- * '',
34
- * '--changeset', <-- written by MultipartWriter->writePart
35
- * 'Content-Type: application/http',
36
- * 'Content-ID: 1', <-- extracted from the response headers
37
- * '',
38
- * 'POST /service/Customers HTTP/1.1',
39
- * 'Host: host',
40
- * 'Content-Type: application/json',
41
- * '',
42
- * '{}',
43
- * '--changeset', <-- written by MultipartWriter->writePart
44
- * 'Content-Type: application/http',
45
- * 'Content-ID: 2',
46
- * '',
47
- * "PATCH /service/Customers('ALFKI') HTTP/1.1'",
48
- * 'Host: host',
49
- * 'Content-Type: application/json',
50
- * '',
51
- * '{}',
52
- * '--changeset--', <-- written by MultipartWriter->writeEnd
53
- */
54
- class MultipartWriter {
55
- /**
56
- * Constructor
57
- *
58
- * @param {Stream} writableStream Destination stream
59
- * @param {boolean} writeHeaderAsPayload If false then the headers are set into the destination stream via setHeader. For example if the
60
- * destination stream is a http.ServerResponse. If true the headers are serialised as name value pair into the payload.
61
- * @param {string} boundary Boundary for the multipart
62
- */
63
- constructor (writableStream, writeHeaderAsPayload, boundary) {
64
- this._state = writeHeaderAsPayload ? STATES.WRITING_PAYLOAD_HEADER : STATES.WRITING_OBJECT_HEADER
65
-
66
- this._writableStream = writableStream
67
-
68
- this._boundary = boundary
69
- }
70
-
71
- /**
72
- * Writes a http header (name, value) into the destination stream
73
- *
74
- * @param {string} name Header name
75
- * @param {string} value Header value
76
- */
77
- writeHeader (name, value) {
78
- if (this._state === STATES.WRITING_PAYLOAD_HEADER) {
79
- this._writableStream.write(name + ': ' + value + CRLF)
80
- } else if (this._state === STATES.WRITING_OBJECT_HEADER) {
81
- this._writableStream.setHeader(name, value)
82
- } else {
83
- throw new SerializationError('MultipartWriter: header must be written first')
84
- }
85
- }
86
-
87
- /**
88
- * Writes the content type header (name, value) into the destination stream
89
- */
90
- writeContentType () {
91
- if (this._state === STATES.WRITING_PAYLOAD_HEADER) {
92
- this._writableStream.write(
93
- HeaderNames.CONTENT_TYPE + ': ' + ContentTypes.MULTIPART_MIXED + '; boundary=' + this._boundary + CRLF,
94
- 'utf8'
95
- )
96
- } else {
97
- this._writableStream.setHeader(
98
- HeaderNames.CONTENT_TYPE,
99
- ContentTypes.MULTIPART_MIXED + '; boundary=' + this._boundary
100
- )
101
- }
102
- }
103
-
104
- /**
105
- * Writes the preamble into the stream
106
- *
107
- * @param {Buffer} buffer Preamble
108
- */
109
- writePreamble (buffer) {
110
- if (this._state === STATES.WRITING_PAYLOAD_HEADER || this._state === STATES.WRITING_OBJECT_HEADER) {
111
- this.writeContentType()
112
-
113
- // write header separator
114
-
115
- if (this._state === STATES.WRITING_PAYLOAD_HEADER) {
116
- this._writableStream.write(CRLF, 'utf8')
117
- }
118
- this._state = STATES.PREAMBLE
119
- }
120
-
121
- this._writableStream.write(buffer)
122
- }
123
-
124
- /**
125
- * Start writing the part (especially LF and boundaries)
126
- *
127
- * @throws Error
128
- */
129
- startPart () {
130
- if (this._state === STATES.WRITING_PAYLOAD_HEADER || this._state === STATES.WRITING_OBJECT_HEADER) {
131
- this.writeContentType()
132
-
133
- if (this._state === STATES.WRITING_PAYLOAD_HEADER) {
134
- this._writableStream.write(CRLF, 'utf8')
135
- }
136
- this._state = STATES.WRITING_FIRST_PART
137
-
138
- this.writeBoundary()
139
- } else if (this._state === STATES.PREAMBLE) {
140
- this._writableStream.write(CRLF, 'utf8')
141
-
142
- this.writeBoundary()
143
- } else if (this._state === STATES.WRITING_ENCAPSULATION) {
144
- this._writableStream.write(CRLF, 'utf8')
145
-
146
- this.writeBoundary()
147
- } else {
148
- throw new SerializationError('MultipartWriter: part could not be written')
149
- }
150
- }
151
-
152
- /**
153
- * Set state to writing encapsulation indicating that the closing boundary has been written
154
- */
155
- endPart () {
156
- this._state = STATES.WRITING_ENCAPSULATION
157
- }
158
-
159
- /**
160
- * Write a buffer in a part
161
- * @param {Buffer} buffer Buffer with data to be written
162
- */
163
- writeIntoPart (buffer) {
164
- this._writableStream.write(buffer)
165
- }
166
-
167
- /**
168
- * Writes the closing boundary into the stream.
169
- *
170
- * @param {boolean} last If true and additional CRLF is added after the end boundary (required for backward compatibility)
171
- */
172
- writeEndBoundary (last) {
173
- this._writableStream.write(CRLF + '--' + this._boundary + '--' + (last ? CRLF : ''))
174
- }
175
-
176
- /**
177
- * Writes the epilogue into the stream
178
- *
179
- * @param {Buffer} buffer Preamble
180
- */
181
- writeEpilogue (buffer) {
182
- if (this._state !== STATES.WRITING_ENCAPSULATION) {
183
- throw new SerializationError('MultipartWriter: part required before writing epilogue')
184
- }
185
- this.writeEndBoundary()
186
-
187
- // this.startData();
188
- this._writableStream.write(CRLF, 'utf8')
189
- this._writableStream.write(buffer)
190
- this._state = STATES.WRITING_EPILOGUE
191
- }
192
-
193
- /**
194
- * Writes a boundary delimiter into the stream
195
- */
196
- writeBoundary () {
197
- const out = this._writableStream
198
- out.write('--' + this._boundary + CRLF)
199
- }
200
- }
201
-
202
- module.exports = MultipartWriter
@@ -1,330 +0,0 @@
1
- 'use strict'
2
-
3
- const commons = require('../../odata-commons')
4
- const QueryOptions = commons.uri.UriInfo.QueryOptions
5
- const ExpressionKind = commons.uri.Expression.ExpressionKind
6
- const ResourceKind = commons.uri.UriResource.ResourceKind
7
- const CommonsUriHelper = commons.uri.UriHelper
8
- const UriHelper = require('../utils/UriHelper')
9
- const SerializationError = require('../errors/SerializationError')
10
-
11
- // A search word is a sequence of one or more non-whitespace characters, excluding
12
- // parentheses, double-quotes, and semicolons. It must not start with a single quote.
13
- const WORD_REGEXP = new RegExp('^[^\\s()";\'][^\\s()";]*$', 'u')
14
- // regular expressions for search phrases; string replacements don't replace all occurrences if used with strings
15
- const BACKSLASH_REGEXP = new RegExp('\\\\', 'g')
16
- const DOUBLEQUOTE_REGEXP = new RegExp('"', 'g')
17
-
18
- /**
19
- * This class serializes a nextLink using path segments, query options, and a skiptoken provided by the application.
20
- */
21
- class NextLinkSerializer {
22
- /**
23
- * @param {?PrimitiveValueEncoder} [primitiveValueEncoder] the encoder for primitive values
24
- */
25
- constructor (primitiveValueEncoder) {
26
- this._encoder = primitiveValueEncoder
27
- }
28
-
29
- /**
30
- * Serializes a nextLink by concatenating parts of the request with the skiptoken query option.
31
- * @param {string} odataPath the URL path segments of the request URL that belong to OData
32
- * @param {?string} queryOptionsString the raw query string of the incoming request
33
- * or null if no query string is present in the incoming request
34
- * @param {string} skiptoken the skiptoken that was provided by the application
35
- * @returns {string} the serialized nextLink
36
- */
37
- serializeNextLink (odataPath, queryOptionsString, skiptoken) {
38
- const queryOptions = this._removeSkiptoken(queryOptionsString)
39
- return (
40
- odataPath +
41
- (queryOptions ? queryOptions + '&' : '?') +
42
- QueryOptions.SKIPTOKEN +
43
- '=' +
44
- encodeURIComponent(skiptoken)
45
- )
46
- }
47
-
48
- /**
49
- * Removes the query option $skiptoken from the query-options string.
50
- * @param {?string} queryOptionsString the query options as string
51
- * @returns {?string} query options without $skiptoken
52
- * @private
53
- */
54
- _removeSkiptoken (queryOptionsString) {
55
- if (!queryOptionsString) return null
56
- const newQueryOptions = queryOptionsString
57
- .substring(1)
58
- .split('&')
59
- .filter(queryOption => !unescape(queryOption).startsWith(QueryOptions.SKIPTOKEN))
60
- .join('&')
61
- return newQueryOptions ? '?' + newQueryOptions : newQueryOptions
62
- }
63
-
64
- /**
65
- * Serializes a next link for an expanded collection by creating a URL with appropriate query options
66
- * and the new skiptoken.
67
- *
68
- * We construct an URL by extending the path of the OData request URL with intermediate segments
69
- * (e.g., complex properties), the navigation property to be expanded, and potentially $ref for reference
70
- * collections. Query options are generated out of $expand options, and the skiptoken is added.
71
- *
72
- * @param {string} odataPath the URL path segments of the request URL that belong to OData
73
- * @param {ExpandItem} expandItem the expand item to be expanded (contains options to be converted to query options)
74
- * @param {string} skiptoken the skiptoken value that was provided by the application
75
- * @returns {string} the serialized nextLink
76
- */
77
- serializeExpandNextLink (odataPath, expandItem, skiptoken) {
78
- return (
79
- odataPath +
80
- '?' +
81
- this._serializeExpandOptions(expandItem)
82
- .concat(QueryOptions.SKIPTOKEN + '=' + encodeURIComponent(skiptoken))
83
- .join('&')
84
- )
85
- }
86
-
87
- /**
88
- * Serializes the options of an expand item into a string array.
89
- * @param {ExpandItem} expandItem the expand item
90
- * @returns {string[]} the serialized options of the expand item
91
- * @private
92
- */
93
- _serializeExpandOptions (expandItem) {
94
- // the supported expand options in the order in which they must be applied
95
- const expandOptions = [
96
- QueryOptions.SEARCH,
97
- QueryOptions.FILTER,
98
- QueryOptions.COUNT,
99
- QueryOptions.ORDERBY,
100
- QueryOptions.SKIP,
101
- QueryOptions.TOP,
102
- QueryOptions.EXPAND,
103
- QueryOptions.SELECT
104
- ]
105
- let options = []
106
- for (const name of expandOptions) {
107
- const value = expandItem.getOption(name)
108
- if (value === undefined || value === null) continue
109
- let serializedValue
110
- switch (name) {
111
- case QueryOptions.SEARCH:
112
- serializedValue = this._serializeSearch(value)
113
- break
114
- case QueryOptions.FILTER:
115
- serializedValue = this._serializeExpression(value)
116
- break
117
- case QueryOptions.ORDERBY:
118
- serializedValue = value
119
- .map(item => this._serializeExpression(item.getExpression()) + (item.isDescending() ? ' desc' : ''))
120
- .join(',')
121
- break
122
- case QueryOptions.COUNT:
123
- case QueryOptions.SKIP:
124
- case QueryOptions.TOP:
125
- serializedValue = value
126
- break
127
- case QueryOptions.EXPAND:
128
- serializedValue = value.map(this._serializeExpand, this).join(',')
129
- break
130
- case QueryOptions.SELECT:
131
- serializedValue = value.map(this._serializeSelect).join(',')
132
- break
133
- default:
134
- throw new SerializationError('The expand option ' + name + ' is not supported in a next link.')
135
- }
136
- options.push(name + '=' + serializedValue)
137
- }
138
- return options
139
- }
140
-
141
- /**
142
- * Serializes a select item into a string.
143
- * @param {SelectItem} selectItem the select item
144
- * @returns {string} the serialized select item
145
- * @private
146
- */
147
- _serializeSelect (selectItem) {
148
- if (selectItem.isAll()) return '*'
149
- return selectItem.isAllOperationsInSchema()
150
- ? encodeURIComponent(selectItem.getAllOperationsInSchemaNamespace() + '.*')
151
- : selectItem
152
- .getPathSegments()
153
- .map(segment => encodeURIComponent(segment.getPathSegmentIdentifier()))
154
- .join('/')
155
- }
156
-
157
- /**
158
- * Serializes an expand item into a string.
159
- * @param {ExpandItem} expandItem the expand item
160
- * @returns {string} the serialized expand item
161
- * @private
162
- */
163
- _serializeExpand (expandItem) {
164
- if (expandItem.isAll()) return '*'
165
- const options = this._serializeExpandOptions(expandItem)
166
- return (
167
- expandItem
168
- .getPathSegments()
169
- .map(this._serializePathSegment, this)
170
- .join('/') + (options.length ? '(' + options.join(';') + ')' : '')
171
- )
172
- }
173
-
174
- /**
175
- * Serializes an expression.
176
- * @param {Expression} expression the expression
177
- * @returns {string} the serialized expression
178
- * @private
179
- */
180
- _serializeExpression (expression) {
181
- switch (expression.getKind()) {
182
- case ExpressionKind.LITERAL:
183
- return encodeURIComponent(CommonsUriHelper.toUriLiteral(expression.getText(), expression.getType()))
184
-
185
- case ExpressionKind.TYPE_LITERAL:
186
- return encodeURIComponent(
187
- expression
188
- .getType()
189
- .getFullQualifiedName()
190
- .toString()
191
- )
192
-
193
- case ExpressionKind.ALIAS:
194
- return this._serializeExpression(expression.getExpression())
195
-
196
- case ExpressionKind.UNARY: {
197
- const operand = this._serializeExpression(expression.getOperand())
198
- return (
199
- expression.getOperator() +
200
- (expression.getOperator() === 'not' ? ' ' : '') +
201
- (expression.getOperand().getKind() === ExpressionKind.BINARY ||
202
- expression.getOperand().getKind() === ExpressionKind.ALIAS
203
- ? '(' + operand + ')'
204
- : operand)
205
- )
206
- }
207
-
208
- case ExpressionKind.BINARY: {
209
- const left = this._serializeExpression(expression.getLeftOperand())
210
- const right = this._serializeExpression(expression.getRightOperand())
211
- return (
212
- (expression.getLeftOperand().getKind() === ExpressionKind.BINARY ||
213
- expression.getLeftOperand().getKind() === ExpressionKind.ALIAS
214
- ? '(' + left + ')'
215
- : left) +
216
- ' ' +
217
- expression.getOperator() +
218
- ' ' +
219
- (expression.getRightOperand().getKind() === ExpressionKind.BINARY ||
220
- expression.getRightOperand().getKind() === ExpressionKind.ALIAS
221
- ? '(' + right + ')'
222
- : right)
223
- )
224
- }
225
-
226
- case ExpressionKind.MEMBER:
227
- return expression
228
- .getPathSegments()
229
- .map(this._serializePathSegment, this)
230
- .join('/')
231
-
232
- case ExpressionKind.METHOD:
233
- return (
234
- expression.getMethod() +
235
- '(' +
236
- expression
237
- .getParameters()
238
- .map(this._serializeExpression, this)
239
- .join(',') +
240
- ')'
241
- )
242
-
243
- default:
244
- return null
245
- }
246
- }
247
-
248
- /**
249
- * Serializes a search expression. This is unfortunately different from a "normal" expression.
250
- * @param {Expression} expression the search expression
251
- * @returns {string} the serialized search expression
252
- * @private
253
- */
254
- _serializeSearch (expression) {
255
- if (expression.getKind() === ExpressionKind.UNARY) {
256
- return expression.getOperator().toUpperCase() + ' ' + this._serializeSearch(expression.getOperand())
257
- } else if (expression.getKind() === ExpressionKind.BINARY) {
258
- const left = this._serializeSearch(expression.getLeftOperand())
259
- const right = this._serializeSearch(expression.getRightOperand())
260
- return (
261
- (expression.getLeftOperand().getKind() === ExpressionKind.BINARY ? '(' + left + ')' : left) +
262
- ' ' +
263
- expression.getOperator().toUpperCase() +
264
- ' ' +
265
- (expression.getRightOperand().getKind() === ExpressionKind.BINARY ? '(' + right + ')' : right)
266
- )
267
- }
268
- // Serializes a search word or a search phrase.
269
- const literal = expression.getText()
270
- // A search phrase is a doublequoted string with backslash-escaped backslashes and doublequotes.
271
- return WORD_REGEXP.test(literal)
272
- ? encodeURIComponent(literal)
273
- : '"' + encodeURIComponent(literal.replace(BACKSLASH_REGEXP, '\\\\').replace(DOUBLEQUOTE_REGEXP, '\\"')) + '"'
274
- }
275
-
276
- /**
277
- * Serializes a path segment.
278
- * @param {UriResource} segment the path segment
279
- * @returns {string} the serialized path segment
280
- * @private
281
- */
282
- _serializePathSegment (segment) {
283
- let result = segment.getPathSegmentIdentifier()
284
- if (!result.startsWith('$')) result = encodeURIComponent(result)
285
-
286
- const kind = segment.getKind()
287
- if (
288
- kind === ResourceKind.FUNCTION_IMPORT ||
289
- kind === ResourceKind.BOUND_FUNCTION ||
290
- kind === ResourceKind.UNBOUND_FUNCTION
291
- ) {
292
- result +=
293
- '(' +
294
- segment
295
- .getFunctionParameters()
296
- .map(
297
- parameter =>
298
- encodeURIComponent(parameter.getEdmRef().getName()) +
299
- '=' +
300
- (parameter.getText() === undefined && parameter.getAliasValue() === undefined
301
- ? this._serializeExpression(parameter.getExpression())
302
- : encodeURIComponent(
303
- parameter.getText() === undefined ? parameter.getAliasValue() : parameter.getText(),
304
- parameter.getEdmRef().getType()
305
- ))
306
- )
307
- .join(',') +
308
- ')'
309
- }
310
-
311
- if (segment.getKeyPredicates().length) {
312
- result += UriHelper.buildKeyString(UriHelper.buildKeyPredicates(segment.getKeyPredicates()))
313
- }
314
-
315
- if (kind === ResourceKind.ALL_EXPRESSION || kind === ResourceKind.ANY_EXPRESSION) {
316
- result +=
317
- '(' +
318
- (segment.getExpressionVariableName()
319
- ? encodeURIComponent(segment.getExpressionVariableName()) +
320
- ':' +
321
- this._serializeExpression(segment.getExpression())
322
- : '') +
323
- ')'
324
- }
325
-
326
- return result
327
- }
328
- }
329
-
330
- module.exports = NextLinkSerializer