@sap/cds-dk 9.9.3 → 10.0.4

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 (2690) hide show
  1. package/CHANGELOG.md +94 -0
  2. package/bin/add.js +1 -1
  3. package/bin/cds.js +4 -1
  4. package/bin/data-products/import.js +1 -1
  5. package/bin/data-products/{index.js → load.js} +0 -3
  6. package/bin/debug.js +19 -0
  7. package/bin/export.js +21 -15
  8. package/bin/login.js +4 -8
  9. package/bin/logout.js +4 -9
  10. package/bin/pull.js +4 -8
  11. package/bin/push.js +8 -23
  12. package/bin/up.js +50 -1
  13. package/bin/upgrade-tenant.js +78 -0
  14. package/bin/upgrade.js +55 -53
  15. package/bin/util/log.js +1 -2
  16. package/bin/version.js +44 -60
  17. package/lib/bind/shared.js +5 -1
  18. package/lib/build/index.js +3 -3
  19. package/lib/build/plugins/fiori/index.js +5 -5
  20. package/lib/build/plugins/hana/index.js +13 -12
  21. package/lib/build/plugins/hana/template/package.json +1 -1
  22. package/lib/build/plugins/internal.js +4 -3
  23. package/lib/build/plugins/mtx-sidecar/index.js +8 -25
  24. package/lib/build/plugins/nodejs/index.js +4 -2
  25. package/lib/build/plugins/plugin.js +4 -10
  26. package/lib/build/util.js +0 -41
  27. package/lib/import/openapi/importOpenAPI.js +15 -3
  28. package/lib/index.js +1 -1
  29. package/lib/init/bas.js +2 -3
  30. package/lib/init/constants.js +8 -7
  31. package/lib/init/index.js +1 -17
  32. package/lib/init/projectReader.js +14 -5
  33. package/lib/init/registries/mta.js +12 -0
  34. package/lib/init/template/ai/files/mta.yaml.hbs +14 -0
  35. package/lib/init/template/ai/files/package.json.hbs +25 -0
  36. package/lib/init/template/ai/files/values.yaml +7 -0
  37. package/lib/init/template/ai/index.js +48 -0
  38. package/lib/init/template/ams/files/Chart.yaml.hbs +2 -2
  39. package/lib/init/template/ams/files/containerize.yaml.hbs +5 -5
  40. package/lib/init/template/ams/files/mta.yaml.hbs +1 -1
  41. package/lib/init/template/ams/files/package.json.hbs +3 -0
  42. package/lib/init/template/ams/index.js +2 -2
  43. package/lib/init/template/app-frontend/files/app-package.json.hbs +2 -2
  44. package/lib/init/template/app-frontend/files/containerize.yaml.hbs +13 -0
  45. package/lib/init/template/app-frontend/files/index.html.hbs +1 -1
  46. package/lib/init/template/app-frontend/files/mta.yaml.hbs +1 -1
  47. package/lib/init/template/app-frontend/files/ui5.yaml.hbs +4 -4
  48. package/lib/init/template/app-frontend/files/values.yaml.hbs +21 -9
  49. package/lib/init/template/app-frontend/index.js +37 -29
  50. package/lib/init/template/application-logging/files/mta.yaml.hbs +1 -1
  51. package/lib/init/template/application-logging/index.js +3 -3
  52. package/lib/init/template/approuter/files/containerize.yaml.hbs +4 -4
  53. package/lib/init/template/approuter/files/mta.yaml.hbs +1 -1
  54. package/lib/init/template/approuter/index.js +5 -5
  55. package/lib/init/template/attachments/files/mta.yaml.hbs +1 -1
  56. package/lib/init/template/attachments/files/values.yaml +1 -1
  57. package/lib/init/template/attachments/index.js +4 -4
  58. package/lib/init/template/audit-logging/files/mta.yaml.hbs +1 -1
  59. package/lib/init/template/audit-logging/index.js +4 -4
  60. package/lib/init/template/cf-manifest/files/manifest.yml.hbs +3 -3
  61. package/lib/init/template/cjs/files/package.json.hbs +3 -0
  62. package/lib/init/template/{esm → cjs}/index.js +2 -2
  63. package/lib/init/template/cloud-logging/files/mta.yaml.hbs +1 -1
  64. package/lib/init/template/cloud-logging/index.js +3 -3
  65. package/lib/init/template/completion/completionSetup.js +1 -1
  66. package/lib/init/template/connectivity/files/mta.yaml.hbs +1 -1
  67. package/lib/init/template/connectivity/index.js +4 -4
  68. package/lib/init/template/data/as-json.js +0 -10
  69. package/lib/init/template/destination/files/mta.yaml.hbs +1 -1
  70. package/lib/init/template/destination/index.js +4 -4
  71. package/lib/init/template/dynatrace/files/mta.yaml.hbs +1 -1
  72. package/lib/init/template/dynatrace/index.js +3 -3
  73. package/lib/init/template/enterprise-messaging/files/mta.yaml.hbs +1 -1
  74. package/lib/init/template/enterprise-messaging/index.js +39 -23
  75. package/lib/init/template/enterprise-messaging-shared/files/mta.yaml.hbs +1 -1
  76. package/lib/init/template/enterprise-messaging-shared/index.js +22 -44
  77. package/lib/init/template/event-mesh/files/event-mesh.json.hbs +31 -0
  78. package/lib/init/template/event-mesh/files/mta.yaml.hbs +22 -0
  79. package/lib/init/template/event-mesh/files/package.json.hbs +20 -0
  80. package/lib/init/template/event-mesh/files/values.yaml +7 -0
  81. package/lib/init/template/event-mesh/files/xs-security.json.hbs +19 -0
  82. package/lib/init/template/event-mesh/index.js +16 -0
  83. package/lib/init/template/event-mesh-shared/files/event-mesh.json.hbs +31 -0
  84. package/lib/init/template/event-mesh-shared/files/mta.yaml.hbs +15 -0
  85. package/lib/init/template/event-mesh-shared/files/package.json.hbs +23 -0
  86. package/lib/init/template/event-mesh-shared/files/values.yaml +7 -0
  87. package/lib/init/template/event-mesh-shared/index.js +16 -0
  88. package/lib/init/template/extensibility/files/package.json.hbs +1 -1
  89. package/lib/init/template/github-actions/files/workflows/cf.yaml.hbs +2 -2
  90. package/lib/init/template/github-actions/files/workflows/test.yaml.hbs +2 -2
  91. package/lib/init/template/hana/files/containerize.yaml.hbs +5 -5
  92. package/lib/init/template/hana/files/mta.yaml.hbs +1 -1
  93. package/lib/init/template/hana/files/package.json.hbs +1 -1
  94. package/lib/init/template/hana/files/src/.hdiconfig +1 -1
  95. package/lib/init/template/hana/index.js +5 -8
  96. package/lib/init/template/handler/files/extension/handler.xs.hbs +1 -1
  97. package/lib/init/template/handler/index.js +1 -19
  98. package/lib/init/template/html5-repo/files/app-package.json.hbs +2 -2
  99. package/lib/init/template/html5-repo/files/containerize.yaml.hbs +5 -7
  100. package/lib/init/template/html5-repo/files/mta.yaml.hbs +4 -4
  101. package/lib/init/template/html5-repo/files/ui5.yaml.hbs +4 -4
  102. package/lib/init/template/html5-repo/files/values.yaml.hbs +9 -0
  103. package/lib/init/template/html5-repo/index.js +23 -22
  104. package/lib/init/template/ias/files/Chart.yaml.hbs +2 -2
  105. package/lib/init/template/ias/files/mta.yaml.hbs +1 -1
  106. package/lib/init/template/ias/index.js +5 -5
  107. package/lib/init/template/initial/index.js +2 -10
  108. package/lib/init/template/kafka/files/mta.yaml.hbs +1 -1
  109. package/lib/init/template/kafka/files/values.yaml +1 -1
  110. package/lib/init/template/kafka/index.js +4 -4
  111. package/lib/init/template/kyma/files/containerize.yaml.hbs +11 -11
  112. package/lib/init/template/kyma/files/values.schema.json +1 -1
  113. package/lib/init/template/kyma/index.js +10 -10
  114. package/lib/init/template/lint/files/package.json +1 -1
  115. package/lib/init/template/malware-scanner/files/mta.yaml.hbs +2 -2
  116. package/lib/init/template/malware-scanner/files/package.json.hbs +1 -1
  117. package/lib/init/template/malware-scanner/files/values.yaml +1 -1
  118. package/lib/init/template/malware-scanner/index.js +4 -4
  119. package/lib/init/template/mta/files/mta.yaml.hbs +1 -1
  120. package/lib/init/template/mta/files/package.json +1 -1
  121. package/lib/init/template/multitenancy/files/containerize.yaml.hbs +5 -5
  122. package/lib/init/template/multitenancy/files/mta.yaml.hbs +1 -1
  123. package/lib/init/template/multitenancy/files/package.json.hbs +1 -1
  124. package/lib/init/template/multitenancy/files/package.sidecar.json.hbs +5 -5
  125. package/lib/init/template/multitenancy/index.js +10 -11
  126. package/lib/init/template/nodejs/files/package.json.hbs +3 -2
  127. package/lib/init/template/portal/files/containerize.yaml.hbs +4 -4
  128. package/lib/init/template/portal/files/mta.yaml.hbs +1 -1
  129. package/lib/init/template/portal/files/values.yaml.hbs +3 -32
  130. package/lib/init/template/portal/index.js +5 -13
  131. package/lib/init/template/postgres/files/containerize.yaml.hbs +4 -4
  132. package/lib/init/template/postgres/files/mta.yml.hbs +1 -1
  133. package/lib/init/template/postgres/files/package.json.hbs +1 -1
  134. package/lib/init/template/postgres/index.js +4 -4
  135. package/lib/init/template/react/files/{index.html → index.html.hbs} +1 -1
  136. package/lib/init/template/react/files/{vite.config.js → vite.config.js.hbs} +2 -1
  137. package/lib/init/template/react/index.js +15 -7
  138. package/lib/init/template/redis/files/mta.yaml.hbs +1 -1
  139. package/lib/init/template/redis/index.js +4 -4
  140. package/lib/init/template/sample/files/app/admin-books/webapp/manifest.json +2 -1
  141. package/lib/init/template/side-by-side-extensibility/files/mta.yaml.hbs +1 -1
  142. package/lib/init/template/sqlite/files/package.json.hbs +2 -2
  143. package/lib/init/template/toggles/files/package.json.hbs +1 -1
  144. package/lib/init/template/typer/files/gitignore +1 -1
  145. package/lib/init/template/typescript/files/package.json +1 -1
  146. package/lib/init/template/vue/files/{index.html → index.html.hbs} +1 -1
  147. package/lib/init/template/vue/files/{vite.config.js → vite.config.js.hbs} +2 -1
  148. package/lib/init/template/vue/index.js +16 -8
  149. package/lib/init/template/workzone-standard/files/mta.yaml.hbs +1 -1
  150. package/lib/init/template/workzone-standard/index.js +3 -3
  151. package/lib/init/template/xsuaa/files/mta.yaml.hbs +1 -1
  152. package/lib/init/template/xsuaa/index.js +3 -3
  153. package/lib/lint/Linter.js +5 -4
  154. package/lib/lint/eslintHelp.json +1 -1
  155. package/lib/mtx/params.js +0 -4
  156. package/lib/mtx/pull.js +1 -1
  157. package/lib/mtx/push.js +4 -3
  158. package/lib/mtx/settings_manager.js +9 -14
  159. package/lib/mtx/tenant_action.js +6 -6
  160. package/lib/mtx/util/question.js +0 -18
  161. package/lib/upgrade/constants.js +102 -0
  162. package/lib/upgrade/context.js +24 -0
  163. package/lib/upgrade/index.js +65 -0
  164. package/lib/upgrade/migrations/cds10/migrations.json +705 -0
  165. package/lib/upgrade/preflight/cds-version.js +61 -0
  166. package/lib/upgrade/preflight/consistency.js +94 -0
  167. package/lib/upgrade/preflight/index.js +49 -0
  168. package/lib/upgrade/preflight/project-type.js +224 -0
  169. package/lib/upgrade/steps/analyze/classification.js +92 -0
  170. package/lib/upgrade/steps/analyze/detector.js +22 -0
  171. package/lib/upgrade/steps/analyze/evaluator.js +91 -0
  172. package/lib/upgrade/steps/analyze/index.js +124 -0
  173. package/lib/upgrade/steps/analyze/reporter.js +339 -0
  174. package/lib/upgrade/steps/analyze/setup.js +71 -0
  175. package/lib/upgrade/steps/analyze/utils/detection.js +63 -0
  176. package/lib/upgrade/steps/analyze/utils/files.js +114 -0
  177. package/lib/upgrade/steps/analyze/utils/grep.js +95 -0
  178. package/lib/upgrade/steps/analyze/utils/yaml.js +58 -0
  179. package/lib/upgrade/steps/install.js +115 -0
  180. package/lib/upgrade/steps/openrewrite.js +293 -0
  181. package/lib/upgrade/steps/removals.js +88 -0
  182. package/lib/upgrade/steps/rewrite.js +167 -0
  183. package/lib/upgrade/steps/verify.js +96 -0
  184. package/lib/upgrade/util/pom.js +46 -0
  185. package/lib/upgrade/util/prompt.js +28 -0
  186. package/lib/upgrade/util/workspaces.js +111 -0
  187. package/lib/util/cf.js +23 -12
  188. package/lib/util/term.js +1 -1
  189. package/lib/watch/vite-watch.js +33 -8
  190. package/node_modules/@cap-js/asyncapi/LICENSE +201 -0
  191. package/node_modules/@cap-js/asyncapi/README.md +46 -0
  192. package/node_modules/@cap-js/asyncapi/index.js +4 -0
  193. package/node_modules/@cap-js/asyncapi/lib/compile/channels.js +18 -0
  194. package/node_modules/@cap-js/asyncapi/lib/compile/components/messageTraits/index.js +89 -0
  195. package/node_modules/@cap-js/asyncapi/lib/compile/components/messages/index.js +179 -0
  196. package/node_modules/@cap-js/asyncapi/lib/compile/components/schemas/annotations.js +36 -0
  197. package/node_modules/@cap-js/asyncapi/lib/compile/components/schemas/array.js +8 -0
  198. package/node_modules/@cap-js/asyncapi/lib/compile/components/schemas/cache.js +16 -0
  199. package/node_modules/@cap-js/asyncapi/lib/compile/components/schemas/definition.js +191 -0
  200. package/node_modules/@cap-js/asyncapi/lib/compile/components/schemas/enum.js +15 -0
  201. package/node_modules/@cap-js/asyncapi/lib/compile/components/schemas/examples.js +10 -0
  202. package/node_modules/@cap-js/asyncapi/lib/compile/components/schemas/index.js +14 -0
  203. package/node_modules/@cap-js/asyncapi/lib/compile/components/schemas/localized.js +29 -0
  204. package/node_modules/@cap-js/asyncapi/lib/compile/components/schemas/primitiveElement.js +41 -0
  205. package/node_modules/@cap-js/asyncapi/lib/compile/components/schemas/ref.js +45 -0
  206. package/node_modules/@cap-js/asyncapi/lib/compile/components/schemas/utils.js +108 -0
  207. package/node_modules/@cap-js/asyncapi/lib/compile/index.js +277 -0
  208. package/node_modules/@cap-js/asyncapi/lib/compile/message.js +13 -0
  209. package/node_modules/@cap-js/asyncapi/lib/compile/utils.js +77 -0
  210. package/node_modules/@cap-js/asyncapi/package.json +34 -0
  211. package/node_modules/@cap-js/db-service/CHANGELOG.md +768 -0
  212. package/node_modules/@cap-js/db-service/LICENSE +201 -0
  213. package/node_modules/@cap-js/db-service/README.md +26 -0
  214. package/node_modules/@cap-js/db-service/index.js +19 -0
  215. package/node_modules/@cap-js/db-service/lib/InsertResults.js +122 -0
  216. package/node_modules/@cap-js/db-service/lib/SQLService.js +581 -0
  217. package/node_modules/@cap-js/db-service/lib/common/DatabaseService.js +179 -0
  218. package/node_modules/@cap-js/db-service/lib/common/factory.d.ts +5 -0
  219. package/node_modules/@cap-js/db-service/lib/common/generic-pool.js +310 -0
  220. package/node_modules/@cap-js/db-service/lib/common/session-context.js +46 -0
  221. package/node_modules/@cap-js/db-service/lib/converters.d.ts +24 -0
  222. package/node_modules/@cap-js/db-service/lib/cql-functions.js +464 -0
  223. package/node_modules/@cap-js/db-service/lib/cqn2pql.js +116 -0
  224. package/node_modules/@cap-js/db-service/lib/cqn2sql.js +1612 -0
  225. package/node_modules/@cap-js/db-service/lib/cqn4sql.js +2895 -0
  226. package/node_modules/@cap-js/db-service/lib/deep-queries.js +290 -0
  227. package/node_modules/@cap-js/db-service/lib/fill-in-keys.js +75 -0
  228. package/node_modules/@cap-js/db-service/lib/infer/cqn.d.ts +42 -0
  229. package/node_modules/@cap-js/db-service/lib/infer/index.js +1290 -0
  230. package/node_modules/@cap-js/db-service/lib/infer/join-tree.js +278 -0
  231. package/node_modules/@cap-js/db-service/lib/infer/pseudos.js +24 -0
  232. package/node_modules/@cap-js/db-service/lib/search.js +220 -0
  233. package/node_modules/@cap-js/db-service/lib/utils.js +177 -0
  234. package/node_modules/@cap-js/db-service/package.json +36 -0
  235. package/node_modules/@cap-js/openapi/LICENSE +201 -0
  236. package/node_modules/@cap-js/openapi/README.md +96 -0
  237. package/node_modules/@cap-js/openapi/index.js +5 -0
  238. package/node_modules/@cap-js/openapi/lib/compile/csdl-types.d.ts +546 -0
  239. package/node_modules/@cap-js/openapi/lib/compile/csdl.js +212 -0
  240. package/node_modules/@cap-js/openapi/lib/compile/csdl2openapi.js +2753 -0
  241. package/node_modules/@cap-js/openapi/lib/compile/diagram.js +112 -0
  242. package/node_modules/@cap-js/openapi/lib/compile/index.js +259 -0
  243. package/node_modules/@cap-js/openapi/lib/compile/string-util.js +20 -0
  244. package/node_modules/@cap-js/openapi/lib/compile/types.d.ts +117 -0
  245. package/node_modules/@cap-js/openapi/package.json +44 -0
  246. package/node_modules/@cap-js/sqlite/CHANGELOG.md +404 -0
  247. package/node_modules/@cap-js/sqlite/LICENSE +201 -0
  248. package/node_modules/@cap-js/sqlite/README.md +34 -0
  249. package/node_modules/@cap-js/sqlite/cds-plugin.js +0 -0
  250. package/node_modules/@cap-js/sqlite/index.js +2 -0
  251. package/node_modules/@cap-js/sqlite/lib/SQLiteService.js +324 -0
  252. package/node_modules/@cap-js/sqlite/lib/cql-functions.js +160 -0
  253. package/node_modules/@cap-js/sqlite/lib/node-sqlite.js +36 -0
  254. package/node_modules/@cap-js/sqlite/lib/session.json +3 -0
  255. package/node_modules/@cap-js/sqlite/lib/sql.js.js +99 -0
  256. package/node_modules/@cap-js/sqlite/package.json +68 -0
  257. package/node_modules/@eslint/js/LICENSE +19 -0
  258. package/node_modules/@eslint/js/README.md +103 -0
  259. package/node_modules/@eslint/js/package.json +44 -0
  260. package/node_modules/@eslint/js/src/configs/eslint-all.js +210 -0
  261. package/node_modules/@eslint/js/src/configs/eslint-recommended.js +75 -0
  262. package/node_modules/@eslint/js/src/index.js +23 -0
  263. package/node_modules/@eslint/js/types/index.d.ts +14 -0
  264. package/node_modules/@sap/cds/CHANGELOG.md +810 -0
  265. package/node_modules/@sap/cds/LICENSE +32 -0
  266. package/node_modules/@sap/cds/README.md +13 -0
  267. package/node_modules/@sap/cds/_i18n/i18n.properties +113 -0
  268. package/node_modules/@sap/cds/_i18n/i18n_ar.properties +58 -0
  269. package/node_modules/@sap/cds/_i18n/i18n_bg.properties +58 -0
  270. package/node_modules/@sap/cds/_i18n/i18n_cs.properties +58 -0
  271. package/node_modules/@sap/cds/_i18n/i18n_da.properties +58 -0
  272. package/node_modules/@sap/cds/_i18n/i18n_de.properties +58 -0
  273. package/node_modules/@sap/cds/_i18n/i18n_el.properties +58 -0
  274. package/node_modules/@sap/cds/_i18n/i18n_en.properties +58 -0
  275. package/node_modules/@sap/cds/_i18n/i18n_en_US_saptrc.properties +58 -0
  276. package/node_modules/@sap/cds/_i18n/i18n_es.properties +58 -0
  277. package/node_modules/@sap/cds/_i18n/i18n_es_MX.properties +58 -0
  278. package/node_modules/@sap/cds/_i18n/i18n_fi.properties +58 -0
  279. package/node_modules/@sap/cds/_i18n/i18n_fr.properties +58 -0
  280. package/node_modules/@sap/cds/_i18n/i18n_he.properties +58 -0
  281. package/node_modules/@sap/cds/_i18n/i18n_hr.properties +58 -0
  282. package/node_modules/@sap/cds/_i18n/i18n_hu.properties +58 -0
  283. package/node_modules/@sap/cds/_i18n/i18n_it.properties +58 -0
  284. package/node_modules/@sap/cds/_i18n/i18n_ja.properties +58 -0
  285. package/node_modules/@sap/cds/_i18n/i18n_kk.properties +58 -0
  286. package/node_modules/@sap/cds/_i18n/i18n_ko.properties +58 -0
  287. package/node_modules/@sap/cds/_i18n/i18n_ms.properties +58 -0
  288. package/node_modules/@sap/cds/_i18n/i18n_nl.properties +58 -0
  289. package/node_modules/@sap/cds/_i18n/i18n_no.properties +58 -0
  290. package/node_modules/@sap/cds/_i18n/i18n_pl.properties +58 -0
  291. package/node_modules/@sap/cds/_i18n/i18n_pt.properties +58 -0
  292. package/node_modules/@sap/cds/_i18n/i18n_ro.properties +58 -0
  293. package/node_modules/@sap/cds/_i18n/i18n_ru.properties +58 -0
  294. package/node_modules/@sap/cds/_i18n/i18n_sh.properties +58 -0
  295. package/node_modules/@sap/cds/_i18n/i18n_sk.properties +58 -0
  296. package/node_modules/@sap/cds/_i18n/i18n_sl.properties +58 -0
  297. package/node_modules/@sap/cds/_i18n/i18n_sv.properties +58 -0
  298. package/node_modules/@sap/cds/_i18n/i18n_th.properties +58 -0
  299. package/node_modules/@sap/cds/_i18n/i18n_tr.properties +58 -0
  300. package/node_modules/@sap/cds/_i18n/i18n_uk.properties +58 -0
  301. package/node_modules/@sap/cds/_i18n/i18n_vi.properties +58 -0
  302. package/node_modules/@sap/cds/_i18n/i18n_zh_CN.properties +58 -0
  303. package/node_modules/@sap/cds/_i18n/i18n_zh_TW.properties +58 -0
  304. package/node_modules/@sap/cds/_i18n/messages.properties +196 -0
  305. package/node_modules/@sap/cds/_i18n/messages_ar.properties +103 -0
  306. package/node_modules/@sap/cds/_i18n/messages_bg.properties +103 -0
  307. package/node_modules/@sap/cds/_i18n/messages_cs.properties +103 -0
  308. package/node_modules/@sap/cds/_i18n/messages_da.properties +103 -0
  309. package/node_modules/@sap/cds/_i18n/messages_de.properties +103 -0
  310. package/node_modules/@sap/cds/_i18n/messages_el.properties +103 -0
  311. package/node_modules/@sap/cds/_i18n/messages_en.properties +103 -0
  312. package/node_modules/@sap/cds/_i18n/messages_en_US_saptrc.properties +103 -0
  313. package/node_modules/@sap/cds/_i18n/messages_es.properties +103 -0
  314. package/node_modules/@sap/cds/_i18n/messages_es_MX.properties +103 -0
  315. package/node_modules/@sap/cds/_i18n/messages_fi.properties +103 -0
  316. package/node_modules/@sap/cds/_i18n/messages_fr.properties +103 -0
  317. package/node_modules/@sap/cds/_i18n/messages_he.properties +103 -0
  318. package/node_modules/@sap/cds/_i18n/messages_hr.properties +103 -0
  319. package/node_modules/@sap/cds/_i18n/messages_hu.properties +103 -0
  320. package/node_modules/@sap/cds/_i18n/messages_it.properties +103 -0
  321. package/node_modules/@sap/cds/_i18n/messages_ja.properties +103 -0
  322. package/node_modules/@sap/cds/_i18n/messages_kk.properties +103 -0
  323. package/node_modules/@sap/cds/_i18n/messages_ko.properties +103 -0
  324. package/node_modules/@sap/cds/_i18n/messages_ms.properties +103 -0
  325. package/node_modules/@sap/cds/_i18n/messages_nl.properties +103 -0
  326. package/node_modules/@sap/cds/_i18n/messages_no.properties +103 -0
  327. package/node_modules/@sap/cds/_i18n/messages_pl.properties +103 -0
  328. package/node_modules/@sap/cds/_i18n/messages_pt.properties +103 -0
  329. package/node_modules/@sap/cds/_i18n/messages_ro.properties +103 -0
  330. package/node_modules/@sap/cds/_i18n/messages_ru.properties +103 -0
  331. package/node_modules/@sap/cds/_i18n/messages_sh.properties +103 -0
  332. package/node_modules/@sap/cds/_i18n/messages_sk.properties +103 -0
  333. package/node_modules/@sap/cds/_i18n/messages_sl.properties +103 -0
  334. package/node_modules/@sap/cds/_i18n/messages_sv.properties +103 -0
  335. package/node_modules/@sap/cds/_i18n/messages_th.properties +103 -0
  336. package/node_modules/@sap/cds/_i18n/messages_tr.properties +103 -0
  337. package/node_modules/@sap/cds/_i18n/messages_uk.properties +103 -0
  338. package/node_modules/@sap/cds/_i18n/messages_vi.properties +103 -0
  339. package/node_modules/@sap/cds/_i18n/messages_zh_CN.properties +103 -0
  340. package/node_modules/@sap/cds/_i18n/messages_zh_TW.properties +103 -0
  341. package/node_modules/@sap/cds/app/etc/livereload.js +9 -0
  342. package/node_modules/@sap/cds/app/favicon.ico +0 -0
  343. package/node_modules/@sap/cds/app/index.css +132 -0
  344. package/node_modules/@sap/cds/app/index.html +32 -0
  345. package/node_modules/@sap/cds/app/index.js +100 -0
  346. package/node_modules/@sap/cds/bin/args.js +34 -0
  347. package/node_modules/@sap/cds/bin/deploy.js +29 -0
  348. package/node_modules/@sap/cds/bin/serve.js +398 -0
  349. package/node_modules/@sap/cds/common.cds +216 -0
  350. package/node_modules/@sap/cds/eslint.config.mjs +153 -0
  351. package/node_modules/@sap/cds/lib/compile/cds-compile.js +63 -0
  352. package/node_modules/@sap/cds/lib/compile/cdsc.js +166 -0
  353. package/node_modules/@sap/cds/lib/compile/etc/_localized.js +75 -0
  354. package/node_modules/@sap/cds/lib/compile/etc/csv.js +87 -0
  355. package/node_modules/@sap/cds/lib/compile/etc/properties.js +44 -0
  356. package/node_modules/@sap/cds/lib/compile/etc/yaml.js +9 -0
  357. package/node_modules/@sap/cds/lib/compile/extend.js +39 -0
  358. package/node_modules/@sap/cds/lib/compile/for/assert.js +64 -0
  359. package/node_modules/@sap/cds/lib/compile/for/direct_crud.js +49 -0
  360. package/node_modules/@sap/cds/lib/compile/for/flows.js +396 -0
  361. package/node_modules/@sap/cds/lib/compile/for/java.js +49 -0
  362. package/node_modules/@sap/cds/lib/compile/for/lean_drafts.js +230 -0
  363. package/node_modules/@sap/cds/lib/compile/for/nodejs.js +94 -0
  364. package/node_modules/@sap/cds/lib/compile/for/odata.js +19 -0
  365. package/node_modules/@sap/cds/lib/compile/for/sql.js +9 -0
  366. package/node_modules/@sap/cds/lib/compile/load.js +59 -0
  367. package/node_modules/@sap/cds/lib/compile/minify.js +112 -0
  368. package/node_modules/@sap/cds/lib/compile/parse.js +140 -0
  369. package/node_modules/@sap/cds/lib/compile/resolve.js +166 -0
  370. package/node_modules/@sap/cds/lib/compile/to/cdl.js +22 -0
  371. package/node_modules/@sap/cds/lib/compile/to/csn.js +80 -0
  372. package/node_modules/@sap/cds/lib/compile/to/edm-files.js +80 -0
  373. package/node_modules/@sap/cds/lib/compile/to/edm.js +97 -0
  374. package/node_modules/@sap/cds/lib/compile/to/hana.js +31 -0
  375. package/node_modules/@sap/cds/lib/compile/to/hdbtabledata.js +152 -0
  376. package/node_modules/@sap/cds/lib/compile/to/json.js +63 -0
  377. package/node_modules/@sap/cds/lib/compile/to/sql.js +62 -0
  378. package/node_modules/@sap/cds/lib/compile/to/srvinfo.js +135 -0
  379. package/node_modules/@sap/cds/lib/core/classes.js +230 -0
  380. package/node_modules/@sap/cds/lib/core/entities.js +132 -0
  381. package/node_modules/@sap/cds/lib/core/linked-csn.js +188 -0
  382. package/node_modules/@sap/cds/lib/core/types.js +67 -0
  383. package/node_modules/@sap/cds/lib/dbs/cds-deploy.js +420 -0
  384. package/node_modules/@sap/cds/lib/env/cds-env.js +584 -0
  385. package/node_modules/@sap/cds/lib/env/cds-requires.js +315 -0
  386. package/node_modules/@sap/cds/lib/env/compat.js +95 -0
  387. package/node_modules/@sap/cds/lib/env/defaults.js +227 -0
  388. package/node_modules/@sap/cds/lib/env/schemas/cds-package.js +27 -0
  389. package/node_modules/@sap/cds/lib/env/schemas/cds-rc.js +1124 -0
  390. package/node_modules/@sap/cds/lib/env/schemas/index.js +12 -0
  391. package/node_modules/@sap/cds/lib/env/serviceBindings.js +157 -0
  392. package/node_modules/@sap/cds/lib/i18n/bundles.js +114 -0
  393. package/node_modules/@sap/cds/lib/i18n/files.js +140 -0
  394. package/node_modules/@sap/cds/lib/i18n/index.js +63 -0
  395. package/node_modules/@sap/cds/lib/i18n/locale.js +42 -0
  396. package/node_modules/@sap/cds/lib/i18n/localize.js +137 -0
  397. package/node_modules/@sap/cds/lib/index.js +156 -0
  398. package/node_modules/@sap/cds/lib/log/cds-error.js +114 -0
  399. package/node_modules/@sap/cds/lib/log/cds-log.js +215 -0
  400. package/node_modules/@sap/cds/lib/log/format/aspects/als.js +27 -0
  401. package/node_modules/@sap/cds/lib/log/format/aspects/cf.js +36 -0
  402. package/node_modules/@sap/cds/lib/log/format/aspects/cls.js +19 -0
  403. package/node_modules/@sap/cds/lib/log/format/json.js +143 -0
  404. package/node_modules/@sap/cds/lib/log/service/index.js +96 -0
  405. package/node_modules/@sap/cds/lib/log/service/model.cds +21 -0
  406. package/node_modules/@sap/cds/lib/log/service/test.http +16 -0
  407. package/node_modules/@sap/cds/lib/log/service/vue.html +73 -0
  408. package/node_modules/@sap/cds/lib/plugins.js +45 -0
  409. package/node_modules/@sap/cds/lib/ql/CREATE.js +30 -0
  410. package/node_modules/@sap/cds/lib/ql/DELETE.js +26 -0
  411. package/node_modules/@sap/cds/lib/ql/DROP.js +33 -0
  412. package/node_modules/@sap/cds/lib/ql/INSERT.js +57 -0
  413. package/node_modules/@sap/cds/lib/ql/SELECT.js +207 -0
  414. package/node_modules/@sap/cds/lib/ql/UPDATE.js +111 -0
  415. package/node_modules/@sap/cds/lib/ql/UPSERT.js +17 -0
  416. package/node_modules/@sap/cds/lib/ql/Whereable.js +58 -0
  417. package/node_modules/@sap/cds/lib/ql/cds-ql.js +228 -0
  418. package/node_modules/@sap/cds/lib/ql/cds.ql-Query.js +111 -0
  419. package/node_modules/@sap/cds/lib/ql/cds.ql-infer.js +148 -0
  420. package/node_modules/@sap/cds/lib/ql/cds.ql-predicates.js +136 -0
  421. package/node_modules/@sap/cds/lib/ql/cds.ql-projections.js +111 -0
  422. package/node_modules/@sap/cds/lib/ql/cqn.d.ts +146 -0
  423. package/node_modules/@sap/cds/lib/req/assert.js +71 -0
  424. package/node_modules/@sap/cds/lib/req/context.js +216 -0
  425. package/node_modules/@sap/cds/lib/req/event.js +14 -0
  426. package/node_modules/@sap/cds/lib/req/request.js +183 -0
  427. package/node_modules/@sap/cds/lib/req/response.js +54 -0
  428. package/node_modules/@sap/cds/lib/req/spawn.js +38 -0
  429. package/node_modules/@sap/cds/lib/req/user.js +77 -0
  430. package/node_modules/@sap/cds/lib/req/validate.js +339 -0
  431. package/node_modules/@sap/cds/lib/srv/bindings.js +170 -0
  432. package/node_modules/@sap/cds/lib/srv/cds-connect.js +79 -0
  433. package/node_modules/@sap/cds/lib/srv/cds-serve.js +84 -0
  434. package/node_modules/@sap/cds/lib/srv/cds.Service.js +214 -0
  435. package/node_modules/@sap/cds/lib/srv/factory.js +78 -0
  436. package/node_modules/@sap/cds/lib/srv/middlewares/auth/basic-auth.js +55 -0
  437. package/node_modules/@sap/cds/lib/srv/middlewares/auth/dummy-auth.js +8 -0
  438. package/node_modules/@sap/cds/lib/srv/middlewares/auth/ias-auth.js +167 -0
  439. package/node_modules/@sap/cds/lib/srv/middlewares/auth/index.js +53 -0
  440. package/node_modules/@sap/cds/lib/srv/middlewares/auth/jwt-auth.js +89 -0
  441. package/node_modules/@sap/cds/lib/srv/middlewares/auth/mocked-users.js +73 -0
  442. package/node_modules/@sap/cds/lib/srv/middlewares/auth/xssec.js +7 -0
  443. package/node_modules/@sap/cds/lib/srv/middlewares/cds-context.js +17 -0
  444. package/node_modules/@sap/cds/lib/srv/middlewares/ctx-model.js +25 -0
  445. package/node_modules/@sap/cds/lib/srv/middlewares/errors.js +42 -0
  446. package/node_modules/@sap/cds/lib/srv/middlewares/index.js +51 -0
  447. package/node_modules/@sap/cds/lib/srv/middlewares/trace.js +117 -0
  448. package/node_modules/@sap/cds/lib/srv/protocols/hcql.js +170 -0
  449. package/node_modules/@sap/cds/lib/srv/protocols/http.js +207 -0
  450. package/node_modules/@sap/cds/lib/srv/protocols/index.js +186 -0
  451. package/node_modules/@sap/cds/lib/srv/protocols/odata-v4.js +1 -0
  452. package/node_modules/@sap/cds/lib/srv/protocols/rest.js +1 -0
  453. package/node_modules/@sap/cds/lib/srv/srv-dispatch.js +117 -0
  454. package/node_modules/@sap/cds/lib/srv/srv-handlers.js +173 -0
  455. package/node_modules/@sap/cds/lib/srv/srv-methods.js +86 -0
  456. package/node_modules/@sap/cds/lib/srv/srv-models.js +167 -0
  457. package/node_modules/@sap/cds/lib/srv/srv-resolve.js +21 -0
  458. package/node_modules/@sap/cds/lib/srv/srv-tx.js +204 -0
  459. package/node_modules/@sap/cds/lib/test/cds-test.js +5 -0
  460. package/node_modules/@sap/cds/lib/utils/cds-utils.js +411 -0
  461. package/node_modules/@sap/cds/lib/utils/colors.js +56 -0
  462. package/node_modules/@sap/cds/lib/utils/csv-reader.js +100 -0
  463. package/node_modules/@sap/cds/lib/utils/extend.js +20 -0
  464. package/node_modules/@sap/cds/lib/utils/inflect.js +25 -0
  465. package/node_modules/@sap/cds/lib/utils/lazify.js +33 -0
  466. package/node_modules/@sap/cds/lib/utils/tar-lib.js +58 -0
  467. package/node_modules/@sap/cds/lib/utils/tar-win.js +106 -0
  468. package/node_modules/@sap/cds/lib/utils/tar.js +180 -0
  469. package/node_modules/@sap/cds/lib/utils/version.js +11 -0
  470. package/node_modules/@sap/cds/libx/_runtime/cds.js +25 -0
  471. package/node_modules/@sap/cds/libx/_runtime/common/Service.js +96 -0
  472. package/node_modules/@sap/cds/libx/_runtime/common/aspects/Association.js +82 -0
  473. package/node_modules/@sap/cds/libx/_runtime/common/aspects/any.js +34 -0
  474. package/node_modules/@sap/cds/libx/_runtime/common/aspects/entity.js +41 -0
  475. package/node_modules/@sap/cds/libx/_runtime/common/aspects/service.js +25 -0
  476. package/node_modules/@sap/cds/libx/_runtime/common/constants/draft.js +48 -0
  477. package/node_modules/@sap/cds/libx/_runtime/common/constants/events.js +6 -0
  478. package/node_modules/@sap/cds/libx/_runtime/common/generic/assert.js +225 -0
  479. package/node_modules/@sap/cds/libx/_runtime/common/generic/auth/autoexpose.js +26 -0
  480. package/node_modules/@sap/cds/libx/_runtime/common/generic/auth/capabilities.js +87 -0
  481. package/node_modules/@sap/cds/libx/_runtime/common/generic/auth/expand.js +74 -0
  482. package/node_modules/@sap/cds/libx/_runtime/common/generic/auth/index.js +84 -0
  483. package/node_modules/@sap/cds/libx/_runtime/common/generic/auth/insertOnly.js +13 -0
  484. package/node_modules/@sap/cds/libx/_runtime/common/generic/auth/readOnly.js +13 -0
  485. package/node_modules/@sap/cds/libx/_runtime/common/generic/auth/requires.js +40 -0
  486. package/node_modules/@sap/cds/libx/_runtime/common/generic/auth/restrict.js +296 -0
  487. package/node_modules/@sap/cds/libx/_runtime/common/generic/auth/restrictions.js +124 -0
  488. package/node_modules/@sap/cds/libx/_runtime/common/generic/auth/service.js +18 -0
  489. package/node_modules/@sap/cds/libx/_runtime/common/generic/auth/utils.js +200 -0
  490. package/node_modules/@sap/cds/libx/_runtime/common/generic/crud.js +82 -0
  491. package/node_modules/@sap/cds/libx/_runtime/common/generic/etag.js +100 -0
  492. package/node_modules/@sap/cds/libx/_runtime/common/generic/flows.js +235 -0
  493. package/node_modules/@sap/cds/libx/_runtime/common/generic/input.js +441 -0
  494. package/node_modules/@sap/cds/libx/_runtime/common/generic/media.js +25 -0
  495. package/node_modules/@sap/cds/libx/_runtime/common/generic/paging.js +47 -0
  496. package/node_modules/@sap/cds/libx/_runtime/common/generic/sorting.js +83 -0
  497. package/node_modules/@sap/cds/libx/_runtime/common/generic/temporal.js +86 -0
  498. package/node_modules/@sap/cds/libx/_runtime/common/utils/binary.js +9 -0
  499. package/node_modules/@sap/cds/libx/_runtime/common/utils/compareJson.js +378 -0
  500. package/node_modules/@sap/cds/libx/_runtime/common/utils/copy.js +44 -0
  501. package/node_modules/@sap/cds/libx/_runtime/common/utils/cqn.js +73 -0
  502. package/node_modules/@sap/cds/libx/_runtime/common/utils/csn.js +153 -0
  503. package/node_modules/@sap/cds/libx/_runtime/common/utils/differ.js +183 -0
  504. package/node_modules/@sap/cds/libx/_runtime/common/utils/draft.js +82 -0
  505. package/node_modules/@sap/cds/libx/_runtime/common/utils/entityFromCqn.js +42 -0
  506. package/node_modules/@sap/cds/libx/_runtime/common/utils/etag.js +30 -0
  507. package/node_modules/@sap/cds/libx/_runtime/common/utils/foreignKeyPropagations.js +299 -0
  508. package/node_modules/@sap/cds/libx/_runtime/common/utils/keys.js +105 -0
  509. package/node_modules/@sap/cds/libx/_runtime/common/utils/normalizeTimestamp.js +34 -0
  510. package/node_modules/@sap/cds/libx/_runtime/common/utils/postProcess.js +102 -0
  511. package/node_modules/@sap/cds/libx/_runtime/common/utils/propagateForeignKeys.js +108 -0
  512. package/node_modules/@sap/cds/libx/_runtime/common/utils/resolveStructured.js +58 -0
  513. package/node_modules/@sap/cds/libx/_runtime/common/utils/resolveView.js +732 -0
  514. package/node_modules/@sap/cds/libx/_runtime/common/utils/rewriteAsterisks.js +199 -0
  515. package/node_modules/@sap/cds/libx/_runtime/common/utils/rowUUIDGenerator.js +21 -0
  516. package/node_modules/@sap/cds/libx/_runtime/common/utils/streamProp.js +72 -0
  517. package/node_modules/@sap/cds/libx/_runtime/common/utils/structured.js +314 -0
  518. package/node_modules/@sap/cds/libx/_runtime/common/utils/template.js +154 -0
  519. package/node_modules/@sap/cds/libx/_runtime/common/utils/templateDelimiter.js +1 -0
  520. package/node_modules/@sap/cds/libx/_runtime/common/utils/templateProcessor.js +83 -0
  521. package/node_modules/@sap/cds/libx/_runtime/common/utils/templateProcessorPathSerializer.js +51 -0
  522. package/node_modules/@sap/cds/libx/_runtime/common/utils/vcap.js +28 -0
  523. package/node_modules/@sap/cds/libx/_runtime/common/utils/waitingTime.js +14 -0
  524. package/node_modules/@sap/cds/libx/_runtime/fiori/lean-draft.js +2604 -0
  525. package/node_modules/@sap/cds/libx/_runtime/messaging/AMQPWebhookMessaging.js +71 -0
  526. package/node_modules/@sap/cds/libx/_runtime/messaging/common-utils/AMQPClient.js +90 -0
  527. package/node_modules/@sap/cds/libx/_runtime/messaging/common-utils/appId.js +9 -0
  528. package/node_modules/@sap/cds/libx/_runtime/messaging/common-utils/authorizedRequest.js +66 -0
  529. package/node_modules/@sap/cds/libx/_runtime/messaging/common-utils/connections.js +81 -0
  530. package/node_modules/@sap/cds/libx/_runtime/messaging/common-utils/normalizeIncomingMessage.js +29 -0
  531. package/node_modules/@sap/cds/libx/_runtime/messaging/common-utils/optionsForSubdomain.js +14 -0
  532. package/node_modules/@sap/cds/libx/_runtime/messaging/common-utils/runInSequence.js +6 -0
  533. package/node_modules/@sap/cds/libx/_runtime/messaging/composite.js +47 -0
  534. package/node_modules/@sap/cds/libx/_runtime/messaging/enterprise-messaging-shared.js +61 -0
  535. package/node_modules/@sap/cds/libx/_runtime/messaging/enterprise-messaging-utils/EMManagement.js +473 -0
  536. package/node_modules/@sap/cds/libx/_runtime/messaging/enterprise-messaging-utils/cloudEvents.js +31 -0
  537. package/node_modules/@sap/cds/libx/_runtime/messaging/enterprise-messaging-utils/getTenantInfo.js +24 -0
  538. package/node_modules/@sap/cds/libx/_runtime/messaging/enterprise-messaging-utils/options-management.js +24 -0
  539. package/node_modules/@sap/cds/libx/_runtime/messaging/enterprise-messaging-utils/options-messaging.js +73 -0
  540. package/node_modules/@sap/cds/libx/_runtime/messaging/enterprise-messaging-utils/registerEndpoints.js +158 -0
  541. package/node_modules/@sap/cds/libx/_runtime/messaging/enterprise-messaging.js +209 -0
  542. package/node_modules/@sap/cds/libx/_runtime/messaging/file-based.js +104 -0
  543. package/node_modules/@sap/cds/libx/_runtime/messaging/http-utils/token.js +75 -0
  544. package/node_modules/@sap/cds/libx/_runtime/messaging/kafka.js +273 -0
  545. package/node_modules/@sap/cds/libx/_runtime/messaging/message-queuing-utils/options-management.js +34 -0
  546. package/node_modules/@sap/cds/libx/_runtime/messaging/message-queuing-utils/options-messaging.js +40 -0
  547. package/node_modules/@sap/cds/libx/_runtime/messaging/message-queuing.js +238 -0
  548. package/node_modules/@sap/cds/libx/_runtime/messaging/redis-messaging.js +95 -0
  549. package/node_modules/@sap/cds/libx/_runtime/messaging/service.js +147 -0
  550. package/node_modules/@sap/cds/libx/_runtime/remote/Service.js +330 -0
  551. package/node_modules/@sap/cds/libx/_runtime/remote/utils/client.js +287 -0
  552. package/node_modules/@sap/cds/libx/_runtime/remote/utils/cloudSdkProvider.js +60 -0
  553. package/node_modules/@sap/cds/libx/_runtime/remote/utils/data.js +177 -0
  554. package/node_modules/@sap/cds/libx/_runtime/remote/utils/fetchClient.js +180 -0
  555. package/node_modules/@sap/cds/libx/_runtime/remote/utils/query.js +196 -0
  556. package/node_modules/@sap/cds/libx/_runtime/ucl/Service.js +450 -0
  557. package/node_modules/@sap/cds/libx/_runtime/ucl/queries.js +61 -0
  558. package/node_modules/@sap/cds/libx/common/utils/path.js +47 -0
  559. package/node_modules/@sap/cds/libx/common/utils/streaming.js +72 -0
  560. package/node_modules/@sap/cds/libx/http/body-parser.js +44 -0
  561. package/node_modules/@sap/cds/libx/http/location.js +42 -0
  562. package/node_modules/@sap/cds/libx/http/put.js +36 -0
  563. package/node_modules/@sap/cds/libx/odata/ODataAdapter.js +129 -0
  564. package/node_modules/@sap/cds/libx/odata/index.js +137 -0
  565. package/node_modules/@sap/cds/libx/odata/middleware/batch.js +695 -0
  566. package/node_modules/@sap/cds/libx/odata/middleware/create.js +113 -0
  567. package/node_modules/@sap/cds/libx/odata/middleware/delete.js +73 -0
  568. package/node_modules/@sap/cds/libx/odata/middleware/error.js +19 -0
  569. package/node_modules/@sap/cds/libx/odata/middleware/metadata.js +138 -0
  570. package/node_modules/@sap/cds/libx/odata/middleware/operation.js +192 -0
  571. package/node_modules/@sap/cds/libx/odata/middleware/parse.js +49 -0
  572. package/node_modules/@sap/cds/libx/odata/middleware/read.js +311 -0
  573. package/node_modules/@sap/cds/libx/odata/middleware/service-document.js +79 -0
  574. package/node_modules/@sap/cds/libx/odata/middleware/stream.js +180 -0
  575. package/node_modules/@sap/cds/libx/odata/middleware/update.js +178 -0
  576. package/node_modules/@sap/cds/libx/odata/parse/afterburner.js +1033 -0
  577. package/node_modules/@sap/cds/libx/odata/parse/cqn2odata.js +615 -0
  578. package/node_modules/@sap/cds/libx/odata/parse/grammar.peggy +1416 -0
  579. package/node_modules/@sap/cds/libx/odata/parse/multipartToJson.js +220 -0
  580. package/node_modules/@sap/cds/libx/odata/parse/parser.js +1 -0
  581. package/node_modules/@sap/cds/libx/odata/utils/etag.js +21 -0
  582. package/node_modules/@sap/cds/libx/odata/utils/index.js +348 -0
  583. package/node_modules/@sap/cds/libx/odata/utils/metadata.js +223 -0
  584. package/node_modules/@sap/cds/libx/odata/utils/normalizeTimeData.js +43 -0
  585. package/node_modules/@sap/cds/libx/odata/utils/odataBind.js +43 -0
  586. package/node_modules/@sap/cds/libx/odata/utils/postProcess.js +86 -0
  587. package/node_modules/@sap/cds/libx/odata/utils/readAfterWrite.js +144 -0
  588. package/node_modules/@sap/cds/libx/odata/utils/result.js +91 -0
  589. package/node_modules/@sap/cds/libx/queue/JobExecutor.js +80 -0
  590. package/node_modules/@sap/cds/libx/queue/SchedulingService.js +213 -0
  591. package/node_modules/@sap/cds/libx/queue/TaskRunner.js +92 -0
  592. package/node_modules/@sap/cds/libx/queue/api.js +28 -0
  593. package/node_modules/@sap/cds/libx/queue/consts.js +13 -0
  594. package/node_modules/@sap/cds/libx/queue/index.js +608 -0
  595. package/node_modules/@sap/cds/libx/queue/processing.js +645 -0
  596. package/node_modules/@sap/cds/libx/queue/utils.js +159 -0
  597. package/node_modules/@sap/cds/libx/rest/RestAdapter.js +102 -0
  598. package/node_modules/@sap/cds/libx/rest/middleware/create.js +50 -0
  599. package/node_modules/@sap/cds/libx/rest/middleware/delete.js +17 -0
  600. package/node_modules/@sap/cds/libx/rest/middleware/operation.js +54 -0
  601. package/node_modules/@sap/cds/libx/rest/middleware/parse.js +142 -0
  602. package/node_modules/@sap/cds/libx/rest/middleware/read.js +34 -0
  603. package/node_modules/@sap/cds/libx/rest/middleware/update.js +28 -0
  604. package/node_modules/@sap/cds/libx/rest/middleware/upsert.js +35 -0
  605. package/node_modules/@sap/cds/libx/rest/post-processing.js +33 -0
  606. package/node_modules/@sap/cds/libx/rest/pre-processing.js +28 -0
  607. package/node_modules/@sap/cds/package.json +49 -0
  608. package/node_modules/@sap/cds/server.js +119 -0
  609. package/node_modules/@sap/cds/srv/app-service.js +1 -0
  610. package/node_modules/@sap/cds/srv/db-service.js +1 -0
  611. package/node_modules/@sap/cds/srv/msg-service.js +1 -0
  612. package/node_modules/@sap/cds/srv/outbox.cds +15 -0
  613. package/node_modules/@sap/cds/srv/remote-service.js +1 -0
  614. package/node_modules/@sap/cds/srv/ucl-service.cds +58 -0
  615. package/node_modules/@sap/cds/srv/ucl-service.js +1 -0
  616. package/node_modules/@sap/cds/tasks/enterprise-messaging-deploy.js +52 -0
  617. package/node_modules/@sap/cds-compiler/CHANGELOG.md +987 -0
  618. package/node_modules/@sap/cds-compiler/LICENSE +32 -0
  619. package/node_modules/@sap/cds-compiler/README.md +44 -0
  620. package/node_modules/@sap/cds-compiler/bin/cds_update_identifiers.js +141 -0
  621. package/node_modules/@sap/cds-compiler/bin/cdsc.js +776 -0
  622. package/node_modules/@sap/cds-compiler/bin/cdshi.js +83 -0
  623. package/node_modules/@sap/cds-compiler/bin/cdsse.js +210 -0
  624. package/node_modules/@sap/cds-compiler/bin/cdsv2m.js +52 -0
  625. package/node_modules/@sap/cds-compiler/doc/API.md +16 -0
  626. package/node_modules/@sap/cds-compiler/doc/IncompatibleChanges_v5.md +436 -0
  627. package/node_modules/@sap/cds-compiler/doc/IncompatibleChanges_v6.md +659 -0
  628. package/node_modules/@sap/cds-compiler/doc/IncompatibleChanges_v7.md +639 -0
  629. package/node_modules/@sap/cds-compiler/doc/Versioning.md +79 -0
  630. package/node_modules/@sap/cds-compiler/lib/api/main.js +1415 -0
  631. package/node_modules/@sap/cds-compiler/lib/api/options.js +275 -0
  632. package/node_modules/@sap/cds-compiler/lib/api/validate.js +209 -0
  633. package/node_modules/@sap/cds-compiler/lib/base/builtins.js +122 -0
  634. package/node_modules/@sap/cds-compiler/lib/base/cloneCsn.js +226 -0
  635. package/node_modules/@sap/cds-compiler/lib/base/csnRefs.js +1420 -0
  636. package/node_modules/@sap/cds-compiler/lib/base/error.js +30 -0
  637. package/node_modules/@sap/cds-compiler/lib/base/keywords.js +930 -0
  638. package/node_modules/@sap/cds-compiler/lib/base/location.js +304 -0
  639. package/node_modules/@sap/cds-compiler/lib/base/message-registry.js +1635 -0
  640. package/node_modules/@sap/cds-compiler/lib/base/messages.js +1994 -0
  641. package/node_modules/@sap/cds-compiler/lib/base/meta.js +10 -0
  642. package/node_modules/@sap/cds-compiler/lib/base/model-api.js +82 -0
  643. package/node_modules/@sap/cds-compiler/lib/base/optionProcessor.js +593 -0
  644. package/node_modules/@sap/cds-compiler/lib/base/specialOptions.js +125 -0
  645. package/node_modules/@sap/cds-compiler/lib/base/trace.js +91 -0
  646. package/node_modules/@sap/cds-compiler/lib/base/xprAsTree.js +85 -0
  647. package/node_modules/@sap/cds-compiler/lib/checks/actionsFunctions.js +128 -0
  648. package/node_modules/@sap/cds-compiler/lib/checks/annotationsOData.js +126 -0
  649. package/node_modules/@sap/cds-compiler/lib/checks/arrayOfs.js +52 -0
  650. package/node_modules/@sap/cds-compiler/lib/checks/assocOutsideService.js +29 -0
  651. package/node_modules/@sap/cds-compiler/lib/checks/cdsMap.js +27 -0
  652. package/node_modules/@sap/cds-compiler/lib/checks/cdsPersistence.js +24 -0
  653. package/node_modules/@sap/cds-compiler/lib/checks/checkForTypes.js +35 -0
  654. package/node_modules/@sap/cds-compiler/lib/checks/checkPathsInStoredCalcElement.js +84 -0
  655. package/node_modules/@sap/cds-compiler/lib/checks/defaultValues.js +34 -0
  656. package/node_modules/@sap/cds-compiler/lib/checks/elements.js +345 -0
  657. package/node_modules/@sap/cds-compiler/lib/checks/enricher.js +225 -0
  658. package/node_modules/@sap/cds-compiler/lib/checks/enums.js +31 -0
  659. package/node_modules/@sap/cds-compiler/lib/checks/existsExpressionsOnlyForeignKeys.js +77 -0
  660. package/node_modules/@sap/cds-compiler/lib/checks/existsInForbiddenPlaces.js +32 -0
  661. package/node_modules/@sap/cds-compiler/lib/checks/existsMustEndInAssoc.js +32 -0
  662. package/node_modules/@sap/cds-compiler/lib/checks/existsMustNotStartWithDollarSelf.js +31 -0
  663. package/node_modules/@sap/cds-compiler/lib/checks/featureFlags.js +69 -0
  664. package/node_modules/@sap/cds-compiler/lib/checks/foreignKeys.js +80 -0
  665. package/node_modules/@sap/cds-compiler/lib/checks/hasPersistedElements.js +69 -0
  666. package/node_modules/@sap/cds-compiler/lib/checks/invalidTarget.js +64 -0
  667. package/node_modules/@sap/cds-compiler/lib/checks/managedInType.js +84 -0
  668. package/node_modules/@sap/cds-compiler/lib/checks/managedWithoutKeys.js +20 -0
  669. package/node_modules/@sap/cds-compiler/lib/checks/manyExpand.js +28 -0
  670. package/node_modules/@sap/cds-compiler/lib/checks/manyNavigations.js +33 -0
  671. package/node_modules/@sap/cds-compiler/lib/checks/nullableKeys.js +13 -0
  672. package/node_modules/@sap/cds-compiler/lib/checks/onConditions.js +268 -0
  673. package/node_modules/@sap/cds-compiler/lib/checks/parameters.js +46 -0
  674. package/node_modules/@sap/cds-compiler/lib/checks/queryNoDbArtifacts.js +225 -0
  675. package/node_modules/@sap/cds-compiler/lib/checks/selectItems.js +57 -0
  676. package/node_modules/@sap/cds-compiler/lib/checks/sql-snippets.js +117 -0
  677. package/node_modules/@sap/cds-compiler/lib/checks/structuredAnnoExpressions.js +26 -0
  678. package/node_modules/@sap/cds-compiler/lib/checks/typeParameters.js +162 -0
  679. package/node_modules/@sap/cds-compiler/lib/checks/types.js +198 -0
  680. package/node_modules/@sap/cds-compiler/lib/checks/utils.js +96 -0
  681. package/node_modules/@sap/cds-compiler/lib/checks/validator.js +292 -0
  682. package/node_modules/@sap/cds-compiler/lib/compiler/assert-consistency.js +1115 -0
  683. package/node_modules/@sap/cds-compiler/lib/compiler/base.js +153 -0
  684. package/node_modules/@sap/cds-compiler/lib/compiler/builtins.js +499 -0
  685. package/node_modules/@sap/cds-compiler/lib/compiler/checks.js +1447 -0
  686. package/node_modules/@sap/cds-compiler/lib/compiler/cycle-detector.js +135 -0
  687. package/node_modules/@sap/cds-compiler/lib/compiler/define.js +1190 -0
  688. package/node_modules/@sap/cds-compiler/lib/compiler/dictionaries.js +109 -0
  689. package/node_modules/@sap/cds-compiler/lib/compiler/extend.js +1928 -0
  690. package/node_modules/@sap/cds-compiler/lib/compiler/finalize-parse-cdl.js +170 -0
  691. package/node_modules/@sap/cds-compiler/lib/compiler/generate.js +910 -0
  692. package/node_modules/@sap/cds-compiler/lib/compiler/index.js +695 -0
  693. package/node_modules/@sap/cds-compiler/lib/compiler/kick-start.js +142 -0
  694. package/node_modules/@sap/cds-compiler/lib/compiler/lsp-api.js +506 -0
  695. package/node_modules/@sap/cds-compiler/lib/compiler/moduleLayers.js +75 -0
  696. package/node_modules/@sap/cds-compiler/lib/compiler/populate.js +1425 -0
  697. package/node_modules/@sap/cds-compiler/lib/compiler/propagator.js +457 -0
  698. package/node_modules/@sap/cds-compiler/lib/compiler/resolve.js +1996 -0
  699. package/node_modules/@sap/cds-compiler/lib/compiler/shared.js +2272 -0
  700. package/node_modules/@sap/cds-compiler/lib/compiler/tweak-assocs.js +1388 -0
  701. package/node_modules/@sap/cds-compiler/lib/compiler/utils.js +929 -0
  702. package/node_modules/@sap/cds-compiler/lib/compiler/xpr-rewrite.js +778 -0
  703. package/node_modules/@sap/cds-compiler/lib/compiler/xsn-model.js +50 -0
  704. package/node_modules/@sap/cds-compiler/lib/edm/EdmPrimitiveTypeDefinitions.js +263 -0
  705. package/node_modules/@sap/cds-compiler/lib/edm/annotations/edmJson.js +1245 -0
  706. package/node_modules/@sap/cds-compiler/lib/edm/annotations/genericTranslation.js +1873 -0
  707. package/node_modules/@sap/cds-compiler/lib/edm/annotations/preprocessAnnotations.js +308 -0
  708. package/node_modules/@sap/cds-compiler/lib/edm/annotations/vocabularyDefinitions.js +166 -0
  709. package/node_modules/@sap/cds-compiler/lib/edm/csn2edm.js +1226 -0
  710. package/node_modules/@sap/cds-compiler/lib/edm/edm.js +1628 -0
  711. package/node_modules/@sap/cds-compiler/lib/edm/edmAnnoPreprocessor.js +312 -0
  712. package/node_modules/@sap/cds-compiler/lib/edm/edmInboundChecks.js +182 -0
  713. package/node_modules/@sap/cds-compiler/lib/edm/edmPreprocessor.js +2320 -0
  714. package/node_modules/@sap/cds-compiler/lib/edm/edmUtils.js +949 -0
  715. package/node_modules/@sap/cds-compiler/lib/gen/BaseParser.js +892 -0
  716. package/node_modules/@sap/cds-compiler/lib/gen/CdlGrammar.checksum +1 -0
  717. package/node_modules/@sap/cds-compiler/lib/gen/CdlParser.js +4549 -0
  718. package/node_modules/@sap/cds-compiler/lib/gen/Dictionary.json +5124 -0
  719. package/node_modules/@sap/cds-compiler/lib/gen/cdlKeywords.json +26 -0
  720. package/node_modules/@sap/cds-compiler/lib/json/csnVersion.js +53 -0
  721. package/node_modules/@sap/cds-compiler/lib/json/from-csn.js +2217 -0
  722. package/node_modules/@sap/cds-compiler/lib/json/to-csn.js +1621 -0
  723. package/node_modules/@sap/cds-compiler/lib/language/docCommentParser.js +181 -0
  724. package/node_modules/@sap/cds-compiler/lib/language/genericAntlrParser.js +0 -0
  725. package/node_modules/@sap/cds-compiler/lib/language/multiLineStringParser.js +525 -0
  726. package/node_modules/@sap/cds-compiler/lib/language/textUtils.js +61 -0
  727. package/node_modules/@sap/cds-compiler/lib/main.d.ts +1631 -0
  728. package/node_modules/@sap/cds-compiler/lib/main.js +212 -0
  729. package/node_modules/@sap/cds-compiler/lib/model/csnUtils.js +1532 -0
  730. package/node_modules/@sap/cds-compiler/lib/model/sortViews.js +121 -0
  731. package/node_modules/@sap/cds-compiler/lib/modelCompare/compare.js +475 -0
  732. package/node_modules/@sap/cds-compiler/lib/modelCompare/utils/filter.js +230 -0
  733. package/node_modules/@sap/cds-compiler/lib/parsers/AstBuildingParser.js +1696 -0
  734. package/node_modules/@sap/cds-compiler/lib/parsers/Lexer.js +253 -0
  735. package/node_modules/@sap/cds-compiler/lib/parsers/XprTree.js +269 -0
  736. package/node_modules/@sap/cds-compiler/lib/parsers/identifiers.js +22 -0
  737. package/node_modules/@sap/cds-compiler/lib/parsers/index.js +120 -0
  738. package/node_modules/@sap/cds-compiler/lib/render/DuplicateChecker.js +126 -0
  739. package/node_modules/@sap/cds-compiler/lib/render/manageConstraints.js +257 -0
  740. package/node_modules/@sap/cds-compiler/lib/render/toCdl.js +3084 -0
  741. package/node_modules/@sap/cds-compiler/lib/render/toRename.js +115 -0
  742. package/node_modules/@sap/cds-compiler/lib/render/toSql.js +1789 -0
  743. package/node_modules/@sap/cds-compiler/lib/render/utils/common.js +784 -0
  744. package/node_modules/@sap/cds-compiler/lib/render/utils/delta.js +291 -0
  745. package/node_modules/@sap/cds-compiler/lib/render/utils/operators.js +160 -0
  746. package/node_modules/@sap/cds-compiler/lib/render/utils/pretty.js +337 -0
  747. package/node_modules/@sap/cds-compiler/lib/render/utils/sql.js +225 -0
  748. package/node_modules/@sap/cds-compiler/lib/render/utils/standardDatabaseFunctions.js +834 -0
  749. package/node_modules/@sap/cds-compiler/lib/render/utils/stringEscapes.js +112 -0
  750. package/node_modules/@sap/cds-compiler/lib/render/utils/unique.js +52 -0
  751. package/node_modules/@sap/cds-compiler/lib/sql-identifier.js +109 -0
  752. package/node_modules/@sap/cds-compiler/lib/tool-lib/enrichCsn.js +383 -0
  753. package/node_modules/@sap/cds-compiler/lib/tool-lib/index.js +14 -0
  754. package/node_modules/@sap/cds-compiler/lib/tool-lib/inspectModelStatistics.js +82 -0
  755. package/node_modules/@sap/cds-compiler/lib/tool-lib/inspectPropagation.js +191 -0
  756. package/node_modules/@sap/cds-compiler/lib/tool-lib/inspectUtils.js +44 -0
  757. package/node_modules/@sap/cds-compiler/lib/tool-lib/revealInternalProperties.js +419 -0
  758. package/node_modules/@sap/cds-compiler/lib/transform/addTenantFields.js +431 -0
  759. package/node_modules/@sap/cds-compiler/lib/transform/db/applyTransformations.js +444 -0
  760. package/node_modules/@sap/cds-compiler/lib/transform/db/assertUnique.js +307 -0
  761. package/node_modules/@sap/cds-compiler/lib/transform/db/associations.js +270 -0
  762. package/node_modules/@sap/cds-compiler/lib/transform/db/assocsToQueries/normalizeFrom.js +33 -0
  763. package/node_modules/@sap/cds-compiler/lib/transform/db/assocsToQueries/transformExists.js +401 -0
  764. package/node_modules/@sap/cds-compiler/lib/transform/db/assocsToQueries/utils.js +449 -0
  765. package/node_modules/@sap/cds-compiler/lib/transform/db/backlinks.js +333 -0
  766. package/node_modules/@sap/cds-compiler/lib/transform/db/cdsPersistence.js +127 -0
  767. package/node_modules/@sap/cds-compiler/lib/transform/db/constraints.js +619 -0
  768. package/node_modules/@sap/cds-compiler/lib/transform/db/expansion.js +913 -0
  769. package/node_modules/@sap/cds-compiler/lib/transform/db/flattening.js +814 -0
  770. package/node_modules/@sap/cds-compiler/lib/transform/db/groupByOrderBy.js +84 -0
  771. package/node_modules/@sap/cds-compiler/lib/transform/db/killAnnotations.js +44 -0
  772. package/node_modules/@sap/cds-compiler/lib/transform/db/processSqlServices.js +135 -0
  773. package/node_modules/@sap/cds-compiler/lib/transform/db/rewriteCalculatedElements.js +507 -0
  774. package/node_modules/@sap/cds-compiler/lib/transform/db/temporal.js +263 -0
  775. package/node_modules/@sap/cds-compiler/lib/transform/db/views.js +404 -0
  776. package/node_modules/@sap/cds-compiler/lib/transform/draft/db.js +381 -0
  777. package/node_modules/@sap/cds-compiler/lib/transform/draft/odata.js +302 -0
  778. package/node_modules/@sap/cds-compiler/lib/transform/effective/annotations.js +342 -0
  779. package/node_modules/@sap/cds-compiler/lib/transform/effective/associations.js +81 -0
  780. package/node_modules/@sap/cds-compiler/lib/transform/effective/flattening.js +124 -0
  781. package/node_modules/@sap/cds-compiler/lib/transform/effective/main.js +164 -0
  782. package/node_modules/@sap/cds-compiler/lib/transform/effective/misc.js +106 -0
  783. package/node_modules/@sap/cds-compiler/lib/transform/effective/queries.js +40 -0
  784. package/node_modules/@sap/cds-compiler/lib/transform/effective/service.js +34 -0
  785. package/node_modules/@sap/cds-compiler/lib/transform/effective/types.js +168 -0
  786. package/node_modules/@sap/cds-compiler/lib/transform/featureFlags.js +10 -0
  787. package/node_modules/@sap/cds-compiler/lib/transform/fioriTreeViews.js +196 -0
  788. package/node_modules/@sap/cds-compiler/lib/transform/forOdata.js +687 -0
  789. package/node_modules/@sap/cds-compiler/lib/transform/forRelationalDB.js +658 -0
  790. package/node_modules/@sap/cds-compiler/lib/transform/localized.js +758 -0
  791. package/node_modules/@sap/cds-compiler/lib/transform/odata/adaptAnnotationRefs.js +101 -0
  792. package/node_modules/@sap/cds-compiler/lib/transform/odata/createForeignKeys.js +203 -0
  793. package/node_modules/@sap/cds-compiler/lib/transform/odata/flattening.js +730 -0
  794. package/node_modules/@sap/cds-compiler/lib/transform/odata/foreignKeyRefsInXprAnnos.js +124 -0
  795. package/node_modules/@sap/cds-compiler/lib/transform/odata/toFinalBaseType.js +297 -0
  796. package/node_modules/@sap/cds-compiler/lib/transform/odata/typesExposure.js +455 -0
  797. package/node_modules/@sap/cds-compiler/lib/transform/odata/utils.js +65 -0
  798. package/node_modules/@sap/cds-compiler/lib/transform/transformUtils.js +1000 -0
  799. package/node_modules/@sap/cds-compiler/lib/transform/translateAssocsToJoins.js +1905 -0
  800. package/node_modules/@sap/cds-compiler/lib/transform/tupleExpansion.js +548 -0
  801. package/node_modules/@sap/cds-compiler/lib/transform/universalCsn/coreComputed.js +194 -0
  802. package/node_modules/@sap/cds-compiler/lib/transform/universalCsn/universalCsnEnricher.js +800 -0
  803. package/node_modules/@sap/cds-compiler/lib/transform/universalCsn/utils.js +63 -0
  804. package/node_modules/@sap/cds-compiler/lib/utils/file.js +267 -0
  805. package/node_modules/@sap/cds-compiler/lib/utils/lazyload.js +37 -0
  806. package/node_modules/@sap/cds-compiler/lib/utils/moduleResolve.js +608 -0
  807. package/node_modules/@sap/cds-compiler/lib/utils/node-helpers.js +44 -0
  808. package/node_modules/@sap/cds-compiler/lib/utils/objectUtils.js +112 -0
  809. package/node_modules/@sap/cds-compiler/lib/utils/optionProcessorHelper.js +652 -0
  810. package/node_modules/@sap/cds-compiler/lib/utils/shuffle.js +54 -0
  811. package/node_modules/@sap/cds-compiler/lib/utils/term.js +102 -0
  812. package/node_modules/@sap/cds-compiler/lib/utils/timetrace.js +158 -0
  813. package/node_modules/@sap/cds-compiler/package.json +30 -0
  814. package/node_modules/@sap/cds-compiler/share/messages/.markdownlintrc +13 -0
  815. package/node_modules/@sap/cds-compiler/share/messages/README.md +62 -0
  816. package/node_modules/@sap/cds-compiler/share/messages/anno-duplicate-unrelated-layer.md +69 -0
  817. package/node_modules/@sap/cds-compiler/share/messages/anno-missing-rewrite.md +45 -0
  818. package/node_modules/@sap/cds-compiler/share/messages/check-proper-type-of.md +46 -0
  819. package/node_modules/@sap/cds-compiler/share/messages/def-duplicate-autoexposed.md +82 -0
  820. package/node_modules/@sap/cds-compiler/share/messages/def-missing-type.md +48 -0
  821. package/node_modules/@sap/cds-compiler/share/messages/def-upcoming-virtual-change.md +55 -0
  822. package/node_modules/@sap/cds-compiler/share/messages/extend-repeated-intralayer.md +47 -0
  823. package/node_modules/@sap/cds-compiler/share/messages/extend-unrelated-layer.md +58 -0
  824. package/node_modules/@sap/cds-compiler/share/messages/file-unexpected-case-mismatch.md +61 -0
  825. package/node_modules/@sap/cds-compiler/share/messages/message-explanations.json +22 -0
  826. package/node_modules/@sap/cds-compiler/share/messages/redirected-to-ambiguous.md +72 -0
  827. package/node_modules/@sap/cds-compiler/share/messages/redirected-to-complex.md +66 -0
  828. package/node_modules/@sap/cds-compiler/share/messages/redirected-to-unrelated.md +78 -0
  829. package/node_modules/@sap/cds-compiler/share/messages/rewrite-not-supported.md +61 -0
  830. package/node_modules/@sap/cds-compiler/share/messages/rewrite-undefined-key.md +94 -0
  831. package/node_modules/@sap/cds-compiler/share/messages/syntax-expecting-unsigned-int.md +41 -0
  832. package/node_modules/@sap/cds-compiler/share/messages/type-missing-enum-value.md +59 -0
  833. package/node_modules/@sap/cds-compiler/share/messages/wildcard-excluding-one.md +37 -0
  834. package/node_modules/@sap/cds-fiori/CHANGELOG.md +163 -0
  835. package/node_modules/@sap/cds-fiori/LICENSE +32 -0
  836. package/node_modules/@sap/cds-fiori/README.md +11 -0
  837. package/node_modules/@sap/cds-fiori/app/preview.js +360 -0
  838. package/node_modules/@sap/cds-fiori/app/routes.js +74 -0
  839. package/node_modules/@sap/cds-fiori/cds-plugin.js +5 -0
  840. package/node_modules/@sap/cds-fiori/package.json +42 -0
  841. package/node_modules/@sap/cds-mtxs/CHANGELOG.md +1322 -0
  842. package/node_modules/@sap/cds-mtxs/LICENSE +32 -0
  843. package/node_modules/@sap/cds-mtxs/README.md +9 -0
  844. package/node_modules/@sap/cds-mtxs/bin/cds-mtx-migrate.js +115 -0
  845. package/node_modules/@sap/cds-mtxs/bin/cds-mtx.js +134 -0
  846. package/node_modules/@sap/cds-mtxs/cds-plugin.js +30 -0
  847. package/node_modules/@sap/cds-mtxs/db/extensions.cds +10 -0
  848. package/node_modules/@sap/cds-mtxs/db/t0.cds +46 -0
  849. package/node_modules/@sap/cds-mtxs/lib/index.js +26 -0
  850. package/node_modules/@sap/cds-mtxs/lib/migration/extension-project-builder.js +129 -0
  851. package/node_modules/@sap/cds-mtxs/lib/migration/extension-project.js +89 -0
  852. package/node_modules/@sap/cds-mtxs/lib/migration/migration.js +485 -0
  853. package/node_modules/@sap/cds-mtxs/lib/migration/mtx-adapter.js +230 -0
  854. package/node_modules/@sap/cds-mtxs/lib/utils.js +255 -0
  855. package/node_modules/@sap/cds-mtxs/package.json +257 -0
  856. package/node_modules/@sap/cds-mtxs/srv/bootstrap.cds +2 -0
  857. package/node_modules/@sap/cds-mtxs/srv/bootstrap.js +33 -0
  858. package/node_modules/@sap/cds-mtxs/srv/cf/abstract-provisioning-service.js +307 -0
  859. package/node_modules/@sap/cds-mtxs/srv/cf/saas-provisioning-service.cds +30 -0
  860. package/node_modules/@sap/cds-mtxs/srv/cf/saas-provisioning-service.js +59 -0
  861. package/node_modules/@sap/cds-mtxs/srv/cf/sms-provisioning-service.cds +37 -0
  862. package/node_modules/@sap/cds-mtxs/srv/cf/sms-provisioning-service.js +115 -0
  863. package/node_modules/@sap/cds-mtxs/srv/config.js +16 -0
  864. package/node_modules/@sap/cds-mtxs/srv/dberrors.js +45 -0
  865. package/node_modules/@sap/cds-mtxs/srv/deployment-service.cds +54 -0
  866. package/node_modules/@sap/cds-mtxs/srv/deployment-service.js +26 -0
  867. package/node_modules/@sap/cds-mtxs/srv/extensibility/compat/update.js +95 -0
  868. package/node_modules/@sap/cds-mtxs/srv/extensibility/linter/allowlist.js +292 -0
  869. package/node_modules/@sap/cds-mtxs/srv/extensibility/linter/annotations.js +168 -0
  870. package/node_modules/@sap/cds-mtxs/srv/extensibility/linter/config.js +98 -0
  871. package/node_modules/@sap/cds-mtxs/srv/extensibility/linter/index.js +76 -0
  872. package/node_modules/@sap/cds-mtxs/srv/extensibility/linter/message.js +57 -0
  873. package/node_modules/@sap/cds-mtxs/srv/extensibility/linter/namespace.js +94 -0
  874. package/node_modules/@sap/cds-mtxs/srv/extensibility-service.cds +82 -0
  875. package/node_modules/@sap/cds-mtxs/srv/extensibility-service.js +550 -0
  876. package/node_modules/@sap/cds-mtxs/srv/jobs-service.cds +37 -0
  877. package/node_modules/@sap/cds-mtxs/srv/jobs-service.js +346 -0
  878. package/node_modules/@sap/cds-mtxs/srv/model-provider.cds +85 -0
  879. package/node_modules/@sap/cds-mtxs/srv/model-provider.js +412 -0
  880. package/node_modules/@sap/cds-mtxs/srv/plugins/common.js +130 -0
  881. package/node_modules/@sap/cds-mtxs/srv/plugins/hana/ctnr-mgr-base.js +154 -0
  882. package/node_modules/@sap/cds-mtxs/srv/plugins/hana/hdi-ctnr-mgr.js +15 -0
  883. package/node_modules/@sap/cds-mtxs/srv/plugins/hana/hdi.js +167 -0
  884. package/node_modules/@sap/cds-mtxs/srv/plugins/hana/srv-mgr.js +323 -0
  885. package/node_modules/@sap/cds-mtxs/srv/plugins/hana/tms.js +542 -0
  886. package/node_modules/@sap/cds-mtxs/srv/plugins/hana.js +381 -0
  887. package/node_modules/@sap/cds-mtxs/srv/plugins/sqlite.js +122 -0
  888. package/node_modules/@sap/cds-mtxs/srv/worker/load.js +14 -0
  889. package/node_modules/@sap/cds-mtxs/srv/worker/pool.js +54 -0
  890. package/node_modules/@sap/hdi/CHANGELOG.md +159 -0
  891. package/node_modules/@sap/hdi/LICENSE +38 -0
  892. package/node_modules/@sap/hdi/README.md +244 -0
  893. package/node_modules/@sap/hdi/index.js +58 -0
  894. package/node_modules/@sap/hdi/lib/ResultTuple.js +33 -0
  895. package/node_modules/@sap/hdi/lib/main/Container.js +1107 -0
  896. package/node_modules/@sap/hdi/lib/main/ContainerGroup.js +147 -0
  897. package/node_modules/@sap/hdi/lib/main/ContainerGroupBase.js +788 -0
  898. package/node_modules/@sap/hdi/lib/main/HDI.js +437 -0
  899. package/node_modules/@sap/hdi/lib/main/HDIBase.js +592 -0
  900. package/node_modules/@sap/hdi/lib/main/promises/ContainerGroupPromises.js +401 -0
  901. package/node_modules/@sap/hdi/lib/main/promises/ContainerPromises.js +454 -0
  902. package/node_modules/@sap/hdi/lib/main/promises/HDIPromises.js +218 -0
  903. package/node_modules/@sap/hdi/lib/parameter/APIPrivilege.js +47 -0
  904. package/node_modules/@sap/hdi/lib/parameter/File.js +25 -0
  905. package/node_modules/@sap/hdi/lib/parameter/FileWithContent.js +24 -0
  906. package/node_modules/@sap/hdi/lib/parameter/Folder.js +25 -0
  907. package/node_modules/@sap/hdi/lib/parameter/FolderWithContent.js +24 -0
  908. package/node_modules/@sap/hdi/lib/parameter/HDIObject.js +40 -0
  909. package/node_modules/@sap/hdi/lib/parameter/LibraryConfiguration.js +62 -0
  910. package/node_modules/@sap/hdi/lib/parameter/Parameter.js +73 -0
  911. package/node_modules/@sap/hdi/lib/parameter/Path.js +39 -0
  912. package/node_modules/@sap/hdi/lib/parameter/PathParameter.js +43 -0
  913. package/node_modules/@sap/hdi/lib/parameter/PathWithContent.js +41 -0
  914. package/node_modules/@sap/hdi/lib/parameter/SchemaPrivilege.js +44 -0
  915. package/node_modules/@sap/hdi/lib/parameter/SchemaRole.js +44 -0
  916. package/node_modules/@sap/hdi/lib/parameter/TableRow.js +72 -0
  917. package/node_modules/@sap/hdi/lib/parameter/parameterCheck.js +41 -0
  918. package/node_modules/@sap/hdi/lib/result/DependencyResultTuple.js +105 -0
  919. package/node_modules/@sap/hdi/lib/result/LibraryInformationResultTuple.js +62 -0
  920. package/node_modules/@sap/hdi/lib/result/MakeGroupResultTuple.js +57 -0
  921. package/node_modules/@sap/hdi/lib/result/MetadataContentResultTuple.js +56 -0
  922. package/node_modules/@sap/hdi/lib/result/MetadataResult.js +40 -0
  923. package/node_modules/@sap/hdi/lib/result/MetadataResultTuple.js +37 -0
  924. package/node_modules/@sap/hdi/lib/result/StatusResultTuple.js +59 -0
  925. package/node_modules/@sap/hdi/lib/util/Constants.js +55 -0
  926. package/node_modules/@sap/hdi/lib/util/callback.js +18 -0
  927. package/node_modules/@sap/hdi/lib/util/connection.js +20 -0
  928. package/node_modules/@sap/hdi/lib/util/schema_escaping.js +11 -0
  929. package/node_modules/@sap/hdi/lib/util/typeCheck.js +43 -0
  930. package/node_modules/@sap/hdi/lib/util/wrap.js +23 -0
  931. package/node_modules/@sap/hdi/package.json +37 -0
  932. package/node_modules/@sap/hdi-deploy/CHANGELOG.md +672 -0
  933. package/node_modules/@sap/hdi-deploy/LICENSE +38 -0
  934. package/node_modules/@sap/hdi-deploy/README.md +1237 -0
  935. package/node_modules/@sap/hdi-deploy/deploy.js +1070 -0
  936. package/node_modules/@sap/hdi-deploy/lib/IgnoreFile.js +56 -0
  937. package/node_modules/@sap/hdi-deploy/lib/arguments.js +203 -0
  938. package/node_modules/@sap/hdi-deploy/lib/check_client.js +31 -0
  939. package/node_modules/@sap/hdi-deploy/lib/client-info.js +80 -0
  940. package/node_modules/@sap/hdi-deploy/lib/connections.js +4 -0
  941. package/node_modules/@sap/hdi-deploy/lib/content.js +478 -0
  942. package/node_modules/@sap/hdi-deploy/lib/deploy.js +113 -0
  943. package/node_modules/@sap/hdi-deploy/lib/features.client.js +59 -0
  944. package/node_modules/@sap/hdi-deploy/lib/fileWalker.js +58 -0
  945. package/node_modules/@sap/hdi-deploy/lib/fileWorker.js +85 -0
  946. package/node_modules/@sap/hdi-deploy/lib/filters/PathFilter.js +211 -0
  947. package/node_modules/@sap/hdi-deploy/lib/filters/regex-helper.js +87 -0
  948. package/node_modules/@sap/hdi-deploy/lib/hana-helper.js +1055 -0
  949. package/node_modules/@sap/hdi-deploy/lib/hdi.js +77 -0
  950. package/node_modules/@sap/hdi-deploy/lib/hdiTables.js +32 -0
  951. package/node_modules/@sap/hdi-deploy/lib/hdi_utils.js +356 -0
  952. package/node_modules/@sap/hdi-deploy/lib/info.js +44 -0
  953. package/node_modules/@sap/hdi-deploy/lib/json-comment-stripper.js +147 -0
  954. package/node_modules/@sap/hdi-deploy/lib/liveness-ping.js +53 -0
  955. package/node_modules/@sap/hdi-deploy/lib/logger.js +434 -0
  956. package/node_modules/@sap/hdi-deploy/lib/make.js +460 -0
  957. package/node_modules/@sap/hdi-deploy/lib/messages.hdi.js +7 -0
  958. package/node_modules/@sap/hdi-deploy/lib/options.js +49 -0
  959. package/node_modules/@sap/hdi-deploy/lib/ownership_checker.js +87 -0
  960. package/node_modules/@sap/hdi-deploy/lib/paths.js +71 -0
  961. package/node_modules/@sap/hdi-deploy/lib/privileges/grantor.js +94 -0
  962. package/node_modules/@sap/hdi-deploy/lib/privileges/privilege_utils.js +414 -0
  963. package/node_modules/@sap/hdi-deploy/lib/privileges/privileges.js +73 -0
  964. package/node_modules/@sap/hdi-deploy/lib/privileges/revoker.js +94 -0
  965. package/node_modules/@sap/hdi-deploy/lib/privileges/strategies.js +1049 -0
  966. package/node_modules/@sap/hdi-deploy/lib/services.js +253 -0
  967. package/node_modules/@sap/hdi-deploy/lib/shared-password-service.js +62 -0
  968. package/node_modules/@sap/hdi-deploy/lib/status.js +113 -0
  969. package/node_modules/@sap/hdi-deploy/lib/tasks.js +985 -0
  970. package/node_modules/@sap/hdi-deploy/lib/template.js +91 -0
  971. package/node_modules/@sap/hdi-deploy/lib/utils.js +717 -0
  972. package/node_modules/@sap/hdi-deploy/lib/version.cloud.js +71 -0
  973. package/node_modules/@sap/hdi-deploy/lib/version.container-api.js +100 -0
  974. package/node_modules/@sap/hdi-deploy/lib/version.hdi-version.js +101 -0
  975. package/node_modules/@sap/hdi-deploy/lib/version.server.js +145 -0
  976. package/node_modules/@sap/hdi-deploy/lib/zdm/generator/Generator.js +598 -0
  977. package/node_modules/@sap/hdi-deploy/lib/zdm/generator/artifact-visitors/AccessArtifactParserVisitor.js +68 -0
  978. package/node_modules/@sap/hdi-deploy/lib/zdm/generator/artifact-visitors/ArtifactVisitor.js +11 -0
  979. package/node_modules/@sap/hdi-deploy/lib/zdm/generator/artifact-visitors/DataArtifactParserVisitor.js +75 -0
  980. package/node_modules/@sap/hdi-deploy/lib/zdm/generator/file-artifacts/AccessContainerDuplicate.js +16 -0
  981. package/node_modules/@sap/hdi-deploy/lib/zdm/generator/file-artifacts/DataContainerDuplicate.js +16 -0
  982. package/node_modules/@sap/hdi-deploy/lib/zdm/generator/file-artifacts/FileArtifact.js +228 -0
  983. package/node_modules/@sap/hdi-deploy/lib/zdm/generator/file-artifacts/FileArtifactsFactory.js +243 -0
  984. package/node_modules/@sap/hdi-deploy/lib/zdm/generator/file-artifacts/HDBCDS.js +182 -0
  985. package/node_modules/@sap/hdi-deploy/lib/zdm/generator/file-artifacts/HDBRole.js +26 -0
  986. package/node_modules/@sap/hdi-deploy/lib/zdm/generator/file-artifacts/HDBSequence.js +29 -0
  987. package/node_modules/@sap/hdi-deploy/lib/zdm/generator/file-artifacts/HDBTable.js +82 -0
  988. package/node_modules/@sap/hdi-deploy/lib/zdm/generator/file-artifacts/HDIConfig.js +203 -0
  989. package/node_modules/@sap/hdi-deploy/lib/zdm/generator/file-artifacts/HDINamespace.js +16 -0
  990. package/node_modules/@sap/hdi-deploy/lib/zdm/generator/model/Model.js +306 -0
  991. package/node_modules/@sap/hdi-deploy/lib/zdm/generator/model/ModelSerializer.js +132 -0
  992. package/node_modules/@sap/hdi-deploy/lib/zdm/generator/model-artifacts/Column.js +19 -0
  993. package/node_modules/@sap/hdi-deploy/lib/zdm/generator/model-artifacts/Context.js +117 -0
  994. package/node_modules/@sap/hdi-deploy/lib/zdm/generator/model-artifacts/DataControlLanguageModelArtifact.js +14 -0
  995. package/node_modules/@sap/hdi-deploy/lib/zdm/generator/model-artifacts/DerivedType.js +23 -0
  996. package/node_modules/@sap/hdi-deploy/lib/zdm/generator/model-artifacts/Entity.js +14 -0
  997. package/node_modules/@sap/hdi-deploy/lib/zdm/generator/model-artifacts/ModelArtifact.js +22 -0
  998. package/node_modules/@sap/hdi-deploy/lib/zdm/generator/model-artifacts/ModelArtifactsFactory.js +80 -0
  999. package/node_modules/@sap/hdi-deploy/lib/zdm/generator/model-artifacts/StructuredType.js +23 -0
  1000. package/node_modules/@sap/hdi-deploy/lib/zdm/generator/model-artifacts/TableModelArtifact.js +41 -0
  1001. package/node_modules/@sap/hdi-deploy/lib/zdm/generator/model-artifacts/View.js +14 -0
  1002. package/node_modules/@sap/hdi-deploy/lib/zdm/resources/cfg/projectionViewConfig.hdbprojectionviewconfig.template +8 -0
  1003. package/node_modules/@sap/hdi-deploy/lib/zdm/resources/cfg/synonym.hdbsynonymconfig.template +8 -0
  1004. package/node_modules/@sap/hdi-deploy/lib/zdm/resources/cfg/zdm_data_access.hdbgrants.template +10 -0
  1005. package/node_modules/@sap/hdi-deploy/lib/zdm/resources/src/namespace.hdinamespace.template +4 -0
  1006. package/node_modules/@sap/hdi-deploy/lib/zdm/resources/src/projectionView.hdbprojectionview.template +5 -0
  1007. package/node_modules/@sap/hdi-deploy/lib/zdm/resources/src/synonym.hdbsynonym.template +4 -0
  1008. package/node_modules/@sap/hdi-deploy/lib/zdm/resources/src/zdm_access.hdbrole.template +10 -0
  1009. package/node_modules/@sap/hdi-deploy/lib/zdm/resources/src/zdm_sequences.hdbrole.template +12 -0
  1010. package/node_modules/@sap/hdi-deploy/lib/zdm/tasks/FinalizeTask.js +80 -0
  1011. package/node_modules/@sap/hdi-deploy/lib/zdm/tasks/InstallTask.js +93 -0
  1012. package/node_modules/@sap/hdi-deploy/lib/zdm/tasks/StartTask.js +101 -0
  1013. package/node_modules/@sap/hdi-deploy/lib/zdm/tasks/Task.js +110 -0
  1014. package/node_modules/@sap/hdi-deploy/lib/zdm/tasks/taskFactory.js +23 -0
  1015. package/node_modules/@sap/hdi-deploy/lib/zdm/zdmDeployer.js +34 -0
  1016. package/node_modules/@sap/hdi-deploy/lib/zdm/zdmUtils.js +257 -0
  1017. package/node_modules/@sap/hdi-deploy/library.js +129 -0
  1018. package/node_modules/@sap/hdi-deploy/package.json +42 -0
  1019. package/node_modules/@sap/xsenv/CHANGELOG.md +236 -0
  1020. package/node_modules/@sap/xsenv/LICENSE +37 -0
  1021. package/node_modules/@sap/xsenv/README.md +548 -0
  1022. package/node_modules/@sap/xsenv/index.js +17 -0
  1023. package/node_modules/@sap/xsenv/lib/cacert.js +26 -0
  1024. package/node_modules/@sap/xsenv/lib/cfservice.js +59 -0
  1025. package/node_modules/@sap/xsenv/lib/filter.js +42 -0
  1026. package/node_modules/@sap/xsenv/lib/k8sservice.js +121 -0
  1027. package/node_modules/@sap/xsenv/lib/loadEnv.js +31 -0
  1028. package/node_modules/@sap/xsenv/lib/redactServiceData.js +32 -0
  1029. package/node_modules/@sap/xsenv/lib/serviceBindingService.js +146 -0
  1030. package/node_modules/@sap/xsenv/lib/xsservices.js +180 -0
  1031. package/node_modules/@sap/xsenv/migration.md +49 -0
  1032. package/node_modules/@sap/xsenv/package.json +49 -0
  1033. package/node_modules/accepts/HISTORY.md +250 -0
  1034. package/node_modules/accepts/LICENSE +23 -0
  1035. package/node_modules/accepts/README.md +140 -0
  1036. package/node_modules/accepts/index.js +238 -0
  1037. package/node_modules/accepts/package.json +47 -0
  1038. package/node_modules/assert-plus/AUTHORS +6 -0
  1039. package/node_modules/assert-plus/CHANGES.md +14 -0
  1040. package/node_modules/assert-plus/README.md +162 -0
  1041. package/node_modules/assert-plus/assert.js +211 -0
  1042. package/node_modules/assert-plus/package.json +23 -0
  1043. package/node_modules/async/CHANGELOG.md +351 -0
  1044. package/node_modules/async/LICENSE +19 -0
  1045. package/node_modules/async/README.md +59 -0
  1046. package/node_modules/async/all.js +119 -0
  1047. package/node_modules/async/allLimit.js +46 -0
  1048. package/node_modules/async/allSeries.js +45 -0
  1049. package/node_modules/async/any.js +122 -0
  1050. package/node_modules/async/anyLimit.js +47 -0
  1051. package/node_modules/async/anySeries.js +46 -0
  1052. package/node_modules/async/apply.js +11 -0
  1053. package/node_modules/async/applyEach.js +57 -0
  1054. package/node_modules/async/applyEachSeries.js +37 -0
  1055. package/node_modules/async/asyncify.js +118 -0
  1056. package/node_modules/async/auto.js +333 -0
  1057. package/node_modules/async/autoInject.js +182 -0
  1058. package/node_modules/async/bower.json +17 -0
  1059. package/node_modules/async/cargo.js +63 -0
  1060. package/node_modules/async/cargoQueue.js +71 -0
  1061. package/node_modules/async/compose.js +55 -0
  1062. package/node_modules/async/concat.js +115 -0
  1063. package/node_modules/async/concatLimit.js +60 -0
  1064. package/node_modules/async/concatSeries.js +41 -0
  1065. package/node_modules/async/constant.js +14 -0
  1066. package/node_modules/async/detect.js +96 -0
  1067. package/node_modules/async/detectLimit.js +48 -0
  1068. package/node_modules/async/detectSeries.js +47 -0
  1069. package/node_modules/async/dir.js +43 -0
  1070. package/node_modules/async/dist/async.js +6061 -0
  1071. package/node_modules/async/dist/async.min.js +1 -0
  1072. package/node_modules/async/dist/async.mjs +5948 -0
  1073. package/node_modules/async/doDuring.js +68 -0
  1074. package/node_modules/async/doUntil.js +46 -0
  1075. package/node_modules/async/doWhilst.js +68 -0
  1076. package/node_modules/async/during.js +78 -0
  1077. package/node_modules/async/each.js +129 -0
  1078. package/node_modules/async/eachLimit.js +50 -0
  1079. package/node_modules/async/eachOf.js +185 -0
  1080. package/node_modules/async/eachOfLimit.js +47 -0
  1081. package/node_modules/async/eachOfSeries.js +39 -0
  1082. package/node_modules/async/eachSeries.js +44 -0
  1083. package/node_modules/async/ensureAsync.js +67 -0
  1084. package/node_modules/async/every.js +119 -0
  1085. package/node_modules/async/everyLimit.js +46 -0
  1086. package/node_modules/async/everySeries.js +45 -0
  1087. package/node_modules/async/filter.js +93 -0
  1088. package/node_modules/async/filterLimit.js +45 -0
  1089. package/node_modules/async/filterSeries.js +43 -0
  1090. package/node_modules/async/find.js +96 -0
  1091. package/node_modules/async/findLimit.js +48 -0
  1092. package/node_modules/async/findSeries.js +47 -0
  1093. package/node_modules/async/flatMap.js +115 -0
  1094. package/node_modules/async/flatMapLimit.js +60 -0
  1095. package/node_modules/async/flatMapSeries.js +41 -0
  1096. package/node_modules/async/foldl.js +153 -0
  1097. package/node_modules/async/foldr.js +41 -0
  1098. package/node_modules/async/forEach.js +129 -0
  1099. package/node_modules/async/forEachLimit.js +50 -0
  1100. package/node_modules/async/forEachOf.js +185 -0
  1101. package/node_modules/async/forEachOfLimit.js +47 -0
  1102. package/node_modules/async/forEachOfSeries.js +39 -0
  1103. package/node_modules/async/forEachSeries.js +44 -0
  1104. package/node_modules/async/forever.js +68 -0
  1105. package/node_modules/async/groupBy.js +108 -0
  1106. package/node_modules/async/groupByLimit.js +71 -0
  1107. package/node_modules/async/groupBySeries.js +36 -0
  1108. package/node_modules/async/index.js +588 -0
  1109. package/node_modules/async/inject.js +153 -0
  1110. package/node_modules/async/internal/DoublyLinkedList.js +92 -0
  1111. package/node_modules/async/internal/Heap.js +120 -0
  1112. package/node_modules/async/internal/applyEach.js +29 -0
  1113. package/node_modules/async/internal/asyncEachOfLimit.js +75 -0
  1114. package/node_modules/async/internal/awaitify.js +28 -0
  1115. package/node_modules/async/internal/breakLoop.js +10 -0
  1116. package/node_modules/async/internal/consoleFunc.js +31 -0
  1117. package/node_modules/async/internal/createTester.js +40 -0
  1118. package/node_modules/async/internal/eachOfLimit.js +90 -0
  1119. package/node_modules/async/internal/filter.js +55 -0
  1120. package/node_modules/async/internal/getIterator.js +11 -0
  1121. package/node_modules/async/internal/initialParams.js +14 -0
  1122. package/node_modules/async/internal/isArrayLike.js +10 -0
  1123. package/node_modules/async/internal/iterator.js +57 -0
  1124. package/node_modules/async/internal/map.js +30 -0
  1125. package/node_modules/async/internal/once.js +17 -0
  1126. package/node_modules/async/internal/onlyOnce.js +15 -0
  1127. package/node_modules/async/internal/parallel.js +34 -0
  1128. package/node_modules/async/internal/promiseCallback.js +23 -0
  1129. package/node_modules/async/internal/queue.js +294 -0
  1130. package/node_modules/async/internal/range.js +14 -0
  1131. package/node_modules/async/internal/reject.js +26 -0
  1132. package/node_modules/async/internal/setImmediate.js +34 -0
  1133. package/node_modules/async/internal/withoutIndex.js +10 -0
  1134. package/node_modules/async/internal/wrapAsync.js +34 -0
  1135. package/node_modules/async/log.js +41 -0
  1136. package/node_modules/async/map.js +142 -0
  1137. package/node_modules/async/mapLimit.js +45 -0
  1138. package/node_modules/async/mapSeries.js +44 -0
  1139. package/node_modules/async/mapValues.js +152 -0
  1140. package/node_modules/async/mapValuesLimit.js +61 -0
  1141. package/node_modules/async/mapValuesSeries.js +37 -0
  1142. package/node_modules/async/memoize.js +91 -0
  1143. package/node_modules/async/nextTick.js +52 -0
  1144. package/node_modules/async/package.json +75 -0
  1145. package/node_modules/async/parallel.js +180 -0
  1146. package/node_modules/async/parallelLimit.js +41 -0
  1147. package/node_modules/async/priorityQueue.js +60 -0
  1148. package/node_modules/async/queue.js +24 -0
  1149. package/node_modules/async/race.js +67 -0
  1150. package/node_modules/async/reduce.js +153 -0
  1151. package/node_modules/async/reduceRight.js +41 -0
  1152. package/node_modules/async/reflect.js +78 -0
  1153. package/node_modules/async/reflectAll.js +93 -0
  1154. package/node_modules/async/reject.js +87 -0
  1155. package/node_modules/async/rejectLimit.js +45 -0
  1156. package/node_modules/async/rejectSeries.js +43 -0
  1157. package/node_modules/async/retry.js +159 -0
  1158. package/node_modules/async/retryable.js +77 -0
  1159. package/node_modules/async/select.js +93 -0
  1160. package/node_modules/async/selectLimit.js +45 -0
  1161. package/node_modules/async/selectSeries.js +43 -0
  1162. package/node_modules/async/seq.js +79 -0
  1163. package/node_modules/async/series.js +186 -0
  1164. package/node_modules/async/setImmediate.js +45 -0
  1165. package/node_modules/async/some.js +122 -0
  1166. package/node_modules/async/someLimit.js +47 -0
  1167. package/node_modules/async/someSeries.js +46 -0
  1168. package/node_modules/async/sortBy.js +190 -0
  1169. package/node_modules/async/timeout.js +89 -0
  1170. package/node_modules/async/times.js +50 -0
  1171. package/node_modules/async/timesLimit.js +43 -0
  1172. package/node_modules/async/timesSeries.js +32 -0
  1173. package/node_modules/async/transform.js +173 -0
  1174. package/node_modules/async/tryEach.js +78 -0
  1175. package/node_modules/async/unmemoize.js +25 -0
  1176. package/node_modules/async/until.js +61 -0
  1177. package/node_modules/async/waterfall.js +105 -0
  1178. package/node_modules/async/whilst.js +78 -0
  1179. package/node_modules/async/wrapSync.js +118 -0
  1180. package/node_modules/body-parser/LICENSE +23 -0
  1181. package/node_modules/body-parser/README.md +509 -0
  1182. package/node_modules/body-parser/index.js +55 -0
  1183. package/node_modules/body-parser/lib/read.js +247 -0
  1184. package/node_modules/body-parser/lib/types/json.js +186 -0
  1185. package/node_modules/body-parser/lib/types/raw.js +42 -0
  1186. package/node_modules/body-parser/lib/types/text.js +36 -0
  1187. package/node_modules/body-parser/lib/types/urlencoded.js +138 -0
  1188. package/node_modules/body-parser/lib/utils.js +100 -0
  1189. package/node_modules/body-parser/node_modules/content-type/LICENSE +22 -0
  1190. package/node_modules/body-parser/node_modules/content-type/README.md +69 -0
  1191. package/node_modules/body-parser/node_modules/content-type/dist/index.d.ts +26 -0
  1192. package/node_modules/body-parser/node_modules/content-type/dist/index.js +170 -0
  1193. package/node_modules/body-parser/node_modules/content-type/dist/index.js.map +1 -0
  1194. package/node_modules/body-parser/node_modules/content-type/package.json +52 -0
  1195. package/node_modules/body-parser/package.json +65 -0
  1196. package/node_modules/braces/LICENSE +21 -0
  1197. package/node_modules/braces/README.md +586 -0
  1198. package/node_modules/braces/index.js +170 -0
  1199. package/node_modules/braces/lib/compile.js +60 -0
  1200. package/node_modules/braces/lib/constants.js +57 -0
  1201. package/node_modules/braces/lib/expand.js +113 -0
  1202. package/node_modules/braces/lib/parse.js +331 -0
  1203. package/node_modules/braces/lib/stringify.js +32 -0
  1204. package/node_modules/braces/lib/utils.js +122 -0
  1205. package/node_modules/braces/package.json +77 -0
  1206. package/node_modules/bytes/History.md +97 -0
  1207. package/node_modules/bytes/LICENSE +23 -0
  1208. package/node_modules/bytes/Readme.md +152 -0
  1209. package/node_modules/bytes/index.js +170 -0
  1210. package/node_modules/bytes/package.json +42 -0
  1211. package/node_modules/call-bind-apply-helpers/.eslintrc +17 -0
  1212. package/node_modules/call-bind-apply-helpers/.github/FUNDING.yml +12 -0
  1213. package/node_modules/call-bind-apply-helpers/.nycrc +9 -0
  1214. package/node_modules/call-bind-apply-helpers/CHANGELOG.md +30 -0
  1215. package/node_modules/call-bind-apply-helpers/LICENSE +21 -0
  1216. package/node_modules/call-bind-apply-helpers/README.md +62 -0
  1217. package/node_modules/call-bind-apply-helpers/actualApply.d.ts +1 -0
  1218. package/node_modules/call-bind-apply-helpers/actualApply.js +10 -0
  1219. package/node_modules/call-bind-apply-helpers/applyBind.d.ts +19 -0
  1220. package/node_modules/call-bind-apply-helpers/applyBind.js +10 -0
  1221. package/node_modules/call-bind-apply-helpers/functionApply.d.ts +1 -0
  1222. package/node_modules/call-bind-apply-helpers/functionApply.js +4 -0
  1223. package/node_modules/call-bind-apply-helpers/functionCall.d.ts +1 -0
  1224. package/node_modules/call-bind-apply-helpers/functionCall.js +4 -0
  1225. package/node_modules/call-bind-apply-helpers/index.d.ts +64 -0
  1226. package/node_modules/call-bind-apply-helpers/index.js +15 -0
  1227. package/node_modules/call-bind-apply-helpers/package.json +85 -0
  1228. package/node_modules/call-bind-apply-helpers/reflectApply.d.ts +3 -0
  1229. package/node_modules/call-bind-apply-helpers/reflectApply.js +4 -0
  1230. package/node_modules/call-bind-apply-helpers/test/index.js +63 -0
  1231. package/node_modules/call-bind-apply-helpers/tsconfig.json +9 -0
  1232. package/node_modules/call-bound/.eslintrc +13 -0
  1233. package/node_modules/call-bound/.github/FUNDING.yml +12 -0
  1234. package/node_modules/call-bound/.nycrc +9 -0
  1235. package/node_modules/call-bound/CHANGELOG.md +42 -0
  1236. package/node_modules/call-bound/LICENSE +21 -0
  1237. package/node_modules/call-bound/README.md +53 -0
  1238. package/node_modules/call-bound/index.d.ts +94 -0
  1239. package/node_modules/call-bound/index.js +19 -0
  1240. package/node_modules/call-bound/package.json +99 -0
  1241. package/node_modules/call-bound/test/index.js +61 -0
  1242. package/node_modules/call-bound/tsconfig.json +10 -0
  1243. package/node_modules/clone/.npmignore +4 -0
  1244. package/node_modules/clone/LICENSE +18 -0
  1245. package/node_modules/clone/README.md +194 -0
  1246. package/node_modules/clone/clone.iml +10 -0
  1247. package/node_modules/clone/clone.js +257 -0
  1248. package/node_modules/clone/package.json +56 -0
  1249. package/node_modules/content-disposition/LICENSE +22 -0
  1250. package/node_modules/content-disposition/README.md +141 -0
  1251. package/node_modules/content-disposition/index.js +536 -0
  1252. package/node_modules/content-disposition/package.json +40 -0
  1253. package/node_modules/content-type/HISTORY.md +29 -0
  1254. package/node_modules/content-type/LICENSE +22 -0
  1255. package/node_modules/content-type/README.md +94 -0
  1256. package/node_modules/content-type/index.js +225 -0
  1257. package/node_modules/content-type/package.json +42 -0
  1258. package/node_modules/cookie/LICENSE +24 -0
  1259. package/node_modules/cookie/README.md +317 -0
  1260. package/node_modules/cookie/SECURITY.md +25 -0
  1261. package/node_modules/cookie/index.js +335 -0
  1262. package/node_modules/cookie/package.json +44 -0
  1263. package/node_modules/cookie-signature/History.md +70 -0
  1264. package/node_modules/cookie-signature/LICENSE +22 -0
  1265. package/node_modules/cookie-signature/Readme.md +23 -0
  1266. package/node_modules/cookie-signature/index.js +47 -0
  1267. package/node_modules/cookie-signature/package.json +28 -0
  1268. package/node_modules/core-util-is/LICENSE +19 -0
  1269. package/node_modules/core-util-is/README.md +3 -0
  1270. package/node_modules/core-util-is/float.patch +604 -0
  1271. package/node_modules/core-util-is/lib/util.js +107 -0
  1272. package/node_modules/core-util-is/package.json +32 -0
  1273. package/node_modules/core-util-is/test.js +68 -0
  1274. package/node_modules/debug/LICENSE +20 -0
  1275. package/node_modules/debug/README.md +481 -0
  1276. package/node_modules/debug/package.json +64 -0
  1277. package/node_modules/debug/src/browser.js +272 -0
  1278. package/node_modules/debug/src/common.js +292 -0
  1279. package/node_modules/debug/src/index.js +10 -0
  1280. package/node_modules/debug/src/node.js +263 -0
  1281. package/node_modules/depd/History.md +103 -0
  1282. package/node_modules/depd/LICENSE +22 -0
  1283. package/node_modules/depd/Readme.md +280 -0
  1284. package/node_modules/depd/index.js +538 -0
  1285. package/node_modules/depd/lib/browser/index.js +77 -0
  1286. package/node_modules/depd/package.json +45 -0
  1287. package/node_modules/dotenv/CHANGELOG.md +520 -0
  1288. package/node_modules/dotenv/LICENSE +23 -0
  1289. package/node_modules/dotenv/README-es.md +411 -0
  1290. package/node_modules/dotenv/README.md +645 -0
  1291. package/node_modules/dotenv/SECURITY.md +1 -0
  1292. package/node_modules/dotenv/config.d.ts +1 -0
  1293. package/node_modules/dotenv/config.js +9 -0
  1294. package/node_modules/dotenv/lib/cli-options.js +17 -0
  1295. package/node_modules/dotenv/lib/env-options.js +28 -0
  1296. package/node_modules/dotenv/lib/main.d.ts +162 -0
  1297. package/node_modules/dotenv/lib/main.js +386 -0
  1298. package/node_modules/dotenv/package.json +62 -0
  1299. package/node_modules/dunder-proto/.eslintrc +5 -0
  1300. package/node_modules/dunder-proto/.github/FUNDING.yml +12 -0
  1301. package/node_modules/dunder-proto/.nycrc +13 -0
  1302. package/node_modules/dunder-proto/CHANGELOG.md +24 -0
  1303. package/node_modules/dunder-proto/LICENSE +21 -0
  1304. package/node_modules/dunder-proto/README.md +54 -0
  1305. package/node_modules/dunder-proto/get.d.ts +5 -0
  1306. package/node_modules/dunder-proto/get.js +30 -0
  1307. package/node_modules/dunder-proto/package.json +76 -0
  1308. package/node_modules/dunder-proto/set.d.ts +5 -0
  1309. package/node_modules/dunder-proto/set.js +35 -0
  1310. package/node_modules/dunder-proto/test/get.js +34 -0
  1311. package/node_modules/dunder-proto/test/index.js +4 -0
  1312. package/node_modules/dunder-proto/test/set.js +50 -0
  1313. package/node_modules/dunder-proto/tsconfig.json +9 -0
  1314. package/node_modules/ee-first/LICENSE +22 -0
  1315. package/node_modules/ee-first/README.md +80 -0
  1316. package/node_modules/ee-first/index.js +95 -0
  1317. package/node_modules/ee-first/package.json +29 -0
  1318. package/node_modules/encodeurl/LICENSE +22 -0
  1319. package/node_modules/encodeurl/README.md +109 -0
  1320. package/node_modules/encodeurl/index.js +60 -0
  1321. package/node_modules/encodeurl/package.json +40 -0
  1322. package/node_modules/es-define-property/.eslintrc +13 -0
  1323. package/node_modules/es-define-property/.github/FUNDING.yml +12 -0
  1324. package/node_modules/es-define-property/.nycrc +9 -0
  1325. package/node_modules/es-define-property/CHANGELOG.md +29 -0
  1326. package/node_modules/es-define-property/LICENSE +21 -0
  1327. package/node_modules/es-define-property/README.md +49 -0
  1328. package/node_modules/es-define-property/index.d.ts +3 -0
  1329. package/node_modules/es-define-property/index.js +14 -0
  1330. package/node_modules/es-define-property/package.json +81 -0
  1331. package/node_modules/es-define-property/test/index.js +56 -0
  1332. package/node_modules/es-define-property/tsconfig.json +10 -0
  1333. package/node_modules/es-errors/.eslintrc +5 -0
  1334. package/node_modules/es-errors/.github/FUNDING.yml +12 -0
  1335. package/node_modules/es-errors/CHANGELOG.md +40 -0
  1336. package/node_modules/es-errors/LICENSE +21 -0
  1337. package/node_modules/es-errors/README.md +55 -0
  1338. package/node_modules/es-errors/eval.d.ts +3 -0
  1339. package/node_modules/es-errors/eval.js +4 -0
  1340. package/node_modules/es-errors/index.d.ts +3 -0
  1341. package/node_modules/es-errors/index.js +4 -0
  1342. package/node_modules/es-errors/package.json +80 -0
  1343. package/node_modules/es-errors/range.d.ts +3 -0
  1344. package/node_modules/es-errors/range.js +4 -0
  1345. package/node_modules/es-errors/ref.d.ts +3 -0
  1346. package/node_modules/es-errors/ref.js +4 -0
  1347. package/node_modules/es-errors/syntax.d.ts +3 -0
  1348. package/node_modules/es-errors/syntax.js +4 -0
  1349. package/node_modules/es-errors/test/index.js +19 -0
  1350. package/node_modules/es-errors/tsconfig.json +49 -0
  1351. package/node_modules/es-errors/type.d.ts +3 -0
  1352. package/node_modules/es-errors/type.js +4 -0
  1353. package/node_modules/es-errors/uri.d.ts +3 -0
  1354. package/node_modules/es-errors/uri.js +4 -0
  1355. package/node_modules/es-object-atoms/.eslintrc +16 -0
  1356. package/node_modules/es-object-atoms/.github/FUNDING.yml +12 -0
  1357. package/node_modules/es-object-atoms/CHANGELOG.md +44 -0
  1358. package/node_modules/es-object-atoms/LICENSE +21 -0
  1359. package/node_modules/es-object-atoms/README.md +63 -0
  1360. package/node_modules/es-object-atoms/RequireObjectCoercible.d.ts +3 -0
  1361. package/node_modules/es-object-atoms/RequireObjectCoercible.js +11 -0
  1362. package/node_modules/es-object-atoms/ToObject.d.ts +7 -0
  1363. package/node_modules/es-object-atoms/ToObject.js +10 -0
  1364. package/node_modules/es-object-atoms/index.d.ts +3 -0
  1365. package/node_modules/es-object-atoms/index.js +4 -0
  1366. package/node_modules/es-object-atoms/isObject.d.ts +3 -0
  1367. package/node_modules/es-object-atoms/isObject.js +6 -0
  1368. package/node_modules/es-object-atoms/package.json +79 -0
  1369. package/node_modules/es-object-atoms/test/index.js +38 -0
  1370. package/node_modules/es-object-atoms/tsconfig.json +7 -0
  1371. package/node_modules/escape-html/LICENSE +24 -0
  1372. package/node_modules/escape-html/Readme.md +43 -0
  1373. package/node_modules/escape-html/index.js +78 -0
  1374. package/node_modules/escape-html/package.json +24 -0
  1375. package/node_modules/etag/HISTORY.md +83 -0
  1376. package/node_modules/etag/LICENSE +22 -0
  1377. package/node_modules/etag/README.md +159 -0
  1378. package/node_modules/etag/index.js +131 -0
  1379. package/node_modules/etag/package.json +47 -0
  1380. package/node_modules/express/LICENSE +24 -0
  1381. package/node_modules/express/Readme.md +276 -0
  1382. package/node_modules/express/index.js +11 -0
  1383. package/node_modules/express/lib/application.js +631 -0
  1384. package/node_modules/express/lib/express.js +81 -0
  1385. package/node_modules/express/lib/request.js +514 -0
  1386. package/node_modules/express/lib/response.js +1053 -0
  1387. package/node_modules/express/lib/utils.js +271 -0
  1388. package/node_modules/express/lib/view.js +205 -0
  1389. package/node_modules/express/package.json +99 -0
  1390. package/node_modules/extsprintf/.gitmodules +3 -0
  1391. package/node_modules/extsprintf/CHANGES.md +10 -0
  1392. package/node_modules/extsprintf/CONTRIBUTING.md +17 -0
  1393. package/node_modules/extsprintf/LICENSE +19 -0
  1394. package/node_modules/extsprintf/Makefile +30 -0
  1395. package/node_modules/extsprintf/Makefile.targ +285 -0
  1396. package/node_modules/extsprintf/README.md +46 -0
  1397. package/node_modules/extsprintf/jsl.node.conf +137 -0
  1398. package/node_modules/extsprintf/lib/extsprintf.js +225 -0
  1399. package/node_modules/extsprintf/package.json +14 -0
  1400. package/node_modules/extsprintf/test/tst.basic.js +118 -0
  1401. package/node_modules/extsprintf/test/tst.invalid.js +78 -0
  1402. package/node_modules/fill-range/LICENSE +21 -0
  1403. package/node_modules/fill-range/README.md +237 -0
  1404. package/node_modules/fill-range/index.js +248 -0
  1405. package/node_modules/fill-range/package.json +74 -0
  1406. package/node_modules/finalhandler/HISTORY.md +239 -0
  1407. package/node_modules/finalhandler/LICENSE +22 -0
  1408. package/node_modules/finalhandler/README.md +150 -0
  1409. package/node_modules/finalhandler/index.js +293 -0
  1410. package/node_modules/finalhandler/package.json +47 -0
  1411. package/node_modules/forwarded/HISTORY.md +21 -0
  1412. package/node_modules/forwarded/LICENSE +22 -0
  1413. package/node_modules/forwarded/README.md +57 -0
  1414. package/node_modules/forwarded/index.js +90 -0
  1415. package/node_modules/forwarded/package.json +45 -0
  1416. package/node_modules/fresh/HISTORY.md +80 -0
  1417. package/node_modules/fresh/LICENSE +23 -0
  1418. package/node_modules/fresh/README.md +117 -0
  1419. package/node_modules/fresh/index.js +136 -0
  1420. package/node_modules/fresh/package.json +46 -0
  1421. package/node_modules/function-bind/.eslintrc +21 -0
  1422. package/node_modules/function-bind/.github/FUNDING.yml +12 -0
  1423. package/node_modules/function-bind/.github/SECURITY.md +3 -0
  1424. package/node_modules/function-bind/.nycrc +13 -0
  1425. package/node_modules/function-bind/CHANGELOG.md +136 -0
  1426. package/node_modules/function-bind/LICENSE +20 -0
  1427. package/node_modules/function-bind/README.md +46 -0
  1428. package/node_modules/function-bind/implementation.js +84 -0
  1429. package/node_modules/function-bind/index.js +5 -0
  1430. package/node_modules/function-bind/package.json +87 -0
  1431. package/node_modules/function-bind/test/.eslintrc +9 -0
  1432. package/node_modules/function-bind/test/index.js +252 -0
  1433. package/node_modules/get-intrinsic/.eslintrc +42 -0
  1434. package/node_modules/get-intrinsic/.github/FUNDING.yml +12 -0
  1435. package/node_modules/get-intrinsic/.nycrc +9 -0
  1436. package/node_modules/get-intrinsic/CHANGELOG.md +186 -0
  1437. package/node_modules/get-intrinsic/LICENSE +21 -0
  1438. package/node_modules/get-intrinsic/README.md +71 -0
  1439. package/node_modules/get-intrinsic/index.js +378 -0
  1440. package/node_modules/get-intrinsic/package.json +97 -0
  1441. package/node_modules/get-intrinsic/test/GetIntrinsic.js +274 -0
  1442. package/node_modules/get-proto/.eslintrc +10 -0
  1443. package/node_modules/get-proto/.github/FUNDING.yml +12 -0
  1444. package/node_modules/get-proto/.nycrc +9 -0
  1445. package/node_modules/get-proto/CHANGELOG.md +21 -0
  1446. package/node_modules/get-proto/LICENSE +21 -0
  1447. package/node_modules/get-proto/Object.getPrototypeOf.d.ts +5 -0
  1448. package/node_modules/get-proto/Object.getPrototypeOf.js +6 -0
  1449. package/node_modules/get-proto/README.md +50 -0
  1450. package/node_modules/get-proto/Reflect.getPrototypeOf.d.ts +3 -0
  1451. package/node_modules/get-proto/Reflect.getPrototypeOf.js +4 -0
  1452. package/node_modules/get-proto/index.d.ts +5 -0
  1453. package/node_modules/get-proto/index.js +27 -0
  1454. package/node_modules/get-proto/package.json +81 -0
  1455. package/node_modules/get-proto/test/index.js +68 -0
  1456. package/node_modules/get-proto/tsconfig.json +9 -0
  1457. package/node_modules/gopd/.eslintrc +16 -0
  1458. package/node_modules/gopd/.github/FUNDING.yml +12 -0
  1459. package/node_modules/gopd/CHANGELOG.md +45 -0
  1460. package/node_modules/gopd/LICENSE +21 -0
  1461. package/node_modules/gopd/README.md +40 -0
  1462. package/node_modules/gopd/gOPD.d.ts +1 -0
  1463. package/node_modules/gopd/gOPD.js +4 -0
  1464. package/node_modules/gopd/index.d.ts +5 -0
  1465. package/node_modules/gopd/index.js +15 -0
  1466. package/node_modules/gopd/package.json +77 -0
  1467. package/node_modules/gopd/test/index.js +36 -0
  1468. package/node_modules/gopd/tsconfig.json +9 -0
  1469. package/node_modules/handlebars/LICENSE +19 -0
  1470. package/node_modules/handlebars/README.markdown +167 -0
  1471. package/node_modules/handlebars/bin/.eslintrc.js +6 -0
  1472. package/node_modules/handlebars/bin/handlebars +176 -0
  1473. package/node_modules/handlebars/dist/amd/handlebars/base.js +106 -0
  1474. package/node_modules/handlebars/dist/amd/handlebars/compiler/ast.js +31 -0
  1475. package/node_modules/handlebars/dist/amd/handlebars/compiler/base.js +102 -0
  1476. package/node_modules/handlebars/dist/amd/handlebars/compiler/code-gen.js +165 -0
  1477. package/node_modules/handlebars/dist/amd/handlebars/compiler/compiler.js +562 -0
  1478. package/node_modules/handlebars/dist/amd/handlebars/compiler/helpers.js +228 -0
  1479. package/node_modules/handlebars/dist/amd/handlebars/compiler/javascript-compiler.js +1158 -0
  1480. package/node_modules/handlebars/dist/amd/handlebars/compiler/parser.js +737 -0
  1481. package/node_modules/handlebars/dist/amd/handlebars/compiler/printer.js +186 -0
  1482. package/node_modules/handlebars/dist/amd/handlebars/compiler/visitor.js +138 -0
  1483. package/node_modules/handlebars/dist/amd/handlebars/compiler/whitespace-control.js +219 -0
  1484. package/node_modules/handlebars/dist/amd/handlebars/decorators/inline.js +25 -0
  1485. package/node_modules/handlebars/dist/amd/handlebars/decorators.js +16 -0
  1486. package/node_modules/handlebars/dist/amd/handlebars/exception.js +64 -0
  1487. package/node_modules/handlebars/dist/amd/handlebars/helpers/block-helper-missing.js +35 -0
  1488. package/node_modules/handlebars/dist/amd/handlebars/helpers/each.js +99 -0
  1489. package/node_modules/handlebars/dist/amd/handlebars/helpers/helper-missing.js +22 -0
  1490. package/node_modules/handlebars/dist/amd/handlebars/helpers/if.js +41 -0
  1491. package/node_modules/handlebars/dist/amd/handlebars/helpers/log.js +24 -0
  1492. package/node_modules/handlebars/dist/amd/handlebars/helpers/lookup.js +14 -0
  1493. package/node_modules/handlebars/dist/amd/handlebars/helpers/with.js +38 -0
  1494. package/node_modules/handlebars/dist/amd/handlebars/helpers.js +45 -0
  1495. package/node_modules/handlebars/dist/amd/handlebars/internal/proto-access.js +76 -0
  1496. package/node_modules/handlebars/dist/amd/handlebars/internal/wrapHelper.js +21 -0
  1497. package/node_modules/handlebars/dist/amd/handlebars/logger.js +44 -0
  1498. package/node_modules/handlebars/dist/amd/handlebars/no-conflict.js +28 -0
  1499. package/node_modules/handlebars/dist/amd/handlebars/runtime.js +363 -0
  1500. package/node_modules/handlebars/dist/amd/handlebars/safe-string.js +15 -0
  1501. package/node_modules/handlebars/dist/amd/handlebars/utils.js +126 -0
  1502. package/node_modules/handlebars/dist/amd/handlebars.js +52 -0
  1503. package/node_modules/handlebars/dist/amd/handlebars.runtime.js +44 -0
  1504. package/node_modules/handlebars/dist/amd/precompiler.js +345 -0
  1505. package/node_modules/handlebars/dist/cjs/handlebars/base.js +116 -0
  1506. package/node_modules/handlebars/dist/cjs/handlebars/compiler/ast.js +31 -0
  1507. package/node_modules/handlebars/dist/cjs/handlebars/compiler/base.js +116 -0
  1508. package/node_modules/handlebars/dist/cjs/handlebars/compiler/code-gen.js +168 -0
  1509. package/node_modules/handlebars/dist/cjs/handlebars/compiler/compiler.js +566 -0
  1510. package/node_modules/handlebars/dist/cjs/handlebars/compiler/helpers.js +228 -0
  1511. package/node_modules/handlebars/dist/cjs/handlebars/compiler/javascript-compiler.js +1166 -0
  1512. package/node_modules/handlebars/dist/cjs/handlebars/compiler/parser.js +737 -0
  1513. package/node_modules/handlebars/dist/cjs/handlebars/compiler/printer.js +186 -0
  1514. package/node_modules/handlebars/dist/cjs/handlebars/compiler/visitor.js +140 -0
  1515. package/node_modules/handlebars/dist/cjs/handlebars/compiler/whitespace-control.js +221 -0
  1516. package/node_modules/handlebars/dist/cjs/handlebars/decorators/inline.js +29 -0
  1517. package/node_modules/handlebars/dist/cjs/handlebars/decorators.js +16 -0
  1518. package/node_modules/handlebars/dist/cjs/handlebars/exception.js +64 -0
  1519. package/node_modules/handlebars/dist/cjs/handlebars/helpers/block-helper-missing.js +39 -0
  1520. package/node_modules/handlebars/dist/cjs/handlebars/helpers/each.js +104 -0
  1521. package/node_modules/handlebars/dist/cjs/handlebars/helpers/helper-missing.js +25 -0
  1522. package/node_modules/handlebars/dist/cjs/handlebars/helpers/if.js +46 -0
  1523. package/node_modules/handlebars/dist/cjs/handlebars/helpers/log.js +26 -0
  1524. package/node_modules/handlebars/dist/cjs/handlebars/helpers/lookup.js +16 -0
  1525. package/node_modules/handlebars/dist/cjs/handlebars/helpers/with.js +43 -0
  1526. package/node_modules/handlebars/dist/cjs/handlebars/helpers.js +57 -0
  1527. package/node_modules/handlebars/dist/cjs/handlebars/internal/proto-access.js +78 -0
  1528. package/node_modules/handlebars/dist/cjs/handlebars/internal/wrapHelper.js +19 -0
  1529. package/node_modules/handlebars/dist/cjs/handlebars/logger.js +47 -0
  1530. package/node_modules/handlebars/dist/cjs/handlebars/no-conflict.js +30 -0
  1531. package/node_modules/handlebars/dist/cjs/handlebars/runtime.js +379 -0
  1532. package/node_modules/handlebars/dist/cjs/handlebars/safe-string.js +15 -0
  1533. package/node_modules/handlebars/dist/cjs/handlebars/utils.js +124 -0
  1534. package/node_modules/handlebars/dist/cjs/handlebars.js +66 -0
  1535. package/node_modules/handlebars/dist/cjs/handlebars.runtime.js +66 -0
  1536. package/node_modules/handlebars/dist/cjs/precompiler.js +359 -0
  1537. package/node_modules/handlebars/dist/handlebars.amd.js +4694 -0
  1538. package/node_modules/handlebars/dist/handlebars.amd.min.js +29 -0
  1539. package/node_modules/handlebars/dist/handlebars.js +6026 -0
  1540. package/node_modules/handlebars/dist/handlebars.min.js +29 -0
  1541. package/node_modules/handlebars/dist/handlebars.runtime.amd.js +1292 -0
  1542. package/node_modules/handlebars/dist/handlebars.runtime.amd.min.js +27 -0
  1543. package/node_modules/handlebars/dist/handlebars.runtime.js +2548 -0
  1544. package/node_modules/handlebars/dist/handlebars.runtime.min.js +27 -0
  1545. package/node_modules/handlebars/lib/.eslintrc.js +8 -0
  1546. package/node_modules/handlebars/lib/handlebars/base.js +94 -0
  1547. package/node_modules/handlebars/lib/handlebars/compiler/ast.js +32 -0
  1548. package/node_modules/handlebars/lib/handlebars/compiler/base.js +101 -0
  1549. package/node_modules/handlebars/lib/handlebars/compiler/code-gen.js +171 -0
  1550. package/node_modules/handlebars/lib/handlebars/compiler/compiler.js +594 -0
  1551. package/node_modules/handlebars/lib/handlebars/compiler/helpers.js +219 -0
  1552. package/node_modules/handlebars/lib/handlebars/compiler/javascript-compiler.js +1306 -0
  1553. package/node_modules/handlebars/lib/handlebars/compiler/parser.js +622 -0
  1554. package/node_modules/handlebars/lib/handlebars/compiler/printer.js +178 -0
  1555. package/node_modules/handlebars/lib/handlebars/compiler/visitor.js +136 -0
  1556. package/node_modules/handlebars/lib/handlebars/compiler/whitespace-control.js +234 -0
  1557. package/node_modules/handlebars/lib/handlebars/decorators/inline.js +22 -0
  1558. package/node_modules/handlebars/lib/handlebars/decorators.js +5 -0
  1559. package/node_modules/handlebars/lib/handlebars/exception.js +68 -0
  1560. package/node_modules/handlebars/lib/handlebars/helpers/block-helper-missing.js +35 -0
  1561. package/node_modules/handlebars/lib/handlebars/helpers/each.js +101 -0
  1562. package/node_modules/handlebars/lib/handlebars/helpers/helper-missing.js +15 -0
  1563. package/node_modules/handlebars/lib/handlebars/helpers/if.js +33 -0
  1564. package/node_modules/handlebars/lib/handlebars/helpers/log.js +19 -0
  1565. package/node_modules/handlebars/lib/handlebars/helpers/lookup.js +9 -0
  1566. package/node_modules/handlebars/lib/handlebars/helpers/with.js +39 -0
  1567. package/node_modules/handlebars/lib/handlebars/helpers.js +27 -0
  1568. package/node_modules/handlebars/lib/handlebars/internal/proto-access.js +69 -0
  1569. package/node_modules/handlebars/lib/handlebars/internal/wrapHelper.js +13 -0
  1570. package/node_modules/handlebars/lib/handlebars/logger.js +39 -0
  1571. package/node_modules/handlebars/lib/handlebars/no-conflict.js +23 -0
  1572. package/node_modules/handlebars/lib/handlebars/runtime.js +452 -0
  1573. package/node_modules/handlebars/lib/handlebars/safe-string.js +10 -0
  1574. package/node_modules/handlebars/lib/handlebars/utils.js +116 -0
  1575. package/node_modules/handlebars/lib/handlebars.js +46 -0
  1576. package/node_modules/handlebars/lib/handlebars.runtime.js +37 -0
  1577. package/node_modules/handlebars/lib/index.js +26 -0
  1578. package/node_modules/handlebars/lib/precompiler.js +378 -0
  1579. package/node_modules/handlebars/package.json +134 -0
  1580. package/node_modules/handlebars/release-notes.md +1112 -0
  1581. package/node_modules/handlebars/runtime.d.ts +5 -0
  1582. package/node_modules/handlebars/runtime.js +3 -0
  1583. package/node_modules/handlebars/types/index.d.ts +422 -0
  1584. package/node_modules/has-symbols/.eslintrc +11 -0
  1585. package/node_modules/has-symbols/.github/FUNDING.yml +12 -0
  1586. package/node_modules/has-symbols/.nycrc +9 -0
  1587. package/node_modules/has-symbols/CHANGELOG.md +91 -0
  1588. package/node_modules/has-symbols/LICENSE +21 -0
  1589. package/node_modules/has-symbols/README.md +46 -0
  1590. package/node_modules/has-symbols/index.d.ts +3 -0
  1591. package/node_modules/has-symbols/index.js +14 -0
  1592. package/node_modules/has-symbols/package.json +111 -0
  1593. package/node_modules/has-symbols/shams.d.ts +3 -0
  1594. package/node_modules/has-symbols/shams.js +45 -0
  1595. package/node_modules/has-symbols/test/index.js +22 -0
  1596. package/node_modules/has-symbols/test/shams/core-js.js +29 -0
  1597. package/node_modules/has-symbols/test/shams/get-own-property-symbols.js +29 -0
  1598. package/node_modules/has-symbols/test/tests.js +58 -0
  1599. package/node_modules/has-symbols/tsconfig.json +10 -0
  1600. package/node_modules/hasown/.github/FUNDING.yml +12 -0
  1601. package/node_modules/hasown/.nycrc +13 -0
  1602. package/node_modules/hasown/CHANGELOG.md +58 -0
  1603. package/node_modules/hasown/LICENSE +21 -0
  1604. package/node_modules/hasown/README.md +40 -0
  1605. package/node_modules/hasown/eslint.config.mjs +6 -0
  1606. package/node_modules/hasown/index.d.ts +3 -0
  1607. package/node_modules/hasown/index.js +8 -0
  1608. package/node_modules/hasown/package.json +91 -0
  1609. package/node_modules/hasown/tsconfig.json +6 -0
  1610. package/node_modules/hdb/.claude/skills/hdb-commit-msg/SKILL.md +132 -0
  1611. package/node_modules/hdb/.hyperspace/pull_request_bot.json +26 -0
  1612. package/node_modules/hdb/.jshintrc +41 -0
  1613. package/node_modules/hdb/.pipeline/config.yml +21 -0
  1614. package/node_modules/hdb/.reuse/dep5 +28 -0
  1615. package/node_modules/hdb/CLAUDE.md +41 -0
  1616. package/node_modules/hdb/LICENSE +202 -0
  1617. package/node_modules/hdb/LICENSES/Apache-2.0.txt +73 -0
  1618. package/node_modules/hdb/Makefile +41 -0
  1619. package/node_modules/hdb/README.md +778 -0
  1620. package/node_modules/hdb/cfg/VERSION +1 -0
  1621. package/node_modules/hdb/cfg/xmake.cfg +7 -0
  1622. package/node_modules/hdb/chrome/sockets/tcp.js +28 -0
  1623. package/node_modules/hdb/index.js +21 -0
  1624. package/node_modules/hdb/lib/Client.js +327 -0
  1625. package/node_modules/hdb/lib/index.js +37 -0
  1626. package/node_modules/hdb/lib/protocol/ClientInfo.js +77 -0
  1627. package/node_modules/hdb/lib/protocol/Compressor.js +122 -0
  1628. package/node_modules/hdb/lib/protocol/Connection.js +707 -0
  1629. package/node_modules/hdb/lib/protocol/ConnectionManager.js +124 -0
  1630. package/node_modules/hdb/lib/protocol/ConnectionTopology.js +303 -0
  1631. package/node_modules/hdb/lib/protocol/ExecuteTask.js +266 -0
  1632. package/node_modules/hdb/lib/protocol/Lob.js +168 -0
  1633. package/node_modules/hdb/lib/protocol/MessageBuffer.js +74 -0
  1634. package/node_modules/hdb/lib/protocol/Parser.js +258 -0
  1635. package/node_modules/hdb/lib/protocol/PhysicalConnection.js +442 -0
  1636. package/node_modules/hdb/lib/protocol/Proxy.js +373 -0
  1637. package/node_modules/hdb/lib/protocol/Reader.js +470 -0
  1638. package/node_modules/hdb/lib/protocol/Result.js +287 -0
  1639. package/node_modules/hdb/lib/protocol/ResultSet.js +490 -0
  1640. package/node_modules/hdb/lib/protocol/ResultSetTransform.js +126 -0
  1641. package/node_modules/hdb/lib/protocol/Statement.js +219 -0
  1642. package/node_modules/hdb/lib/protocol/Stringifier.js +82 -0
  1643. package/node_modules/hdb/lib/protocol/Transaction.js +64 -0
  1644. package/node_modules/hdb/lib/protocol/Writer.js +1205 -0
  1645. package/node_modules/hdb/lib/protocol/auth/JWT.js +40 -0
  1646. package/node_modules/hdb/lib/protocol/auth/LDAP.js +133 -0
  1647. package/node_modules/hdb/lib/protocol/auth/Manager.js +162 -0
  1648. package/node_modules/hdb/lib/protocol/auth/SAML.js +40 -0
  1649. package/node_modules/hdb/lib/protocol/auth/SCRAMSHA256.js +175 -0
  1650. package/node_modules/hdb/lib/protocol/auth/SessionCookie.js +43 -0
  1651. package/node_modules/hdb/lib/protocol/auth/X509.js +211 -0
  1652. package/node_modules/hdb/lib/protocol/auth/index.js +20 -0
  1653. package/node_modules/hdb/lib/protocol/common/ClientContextOption.js +20 -0
  1654. package/node_modules/hdb/lib/protocol/common/ClientDistributionMode.js +21 -0
  1655. package/node_modules/hdb/lib/protocol/common/CommandOption.js +21 -0
  1656. package/node_modules/hdb/lib/protocol/common/CommitOption.js +18 -0
  1657. package/node_modules/hdb/lib/protocol/common/ConnectOption.js +43 -0
  1658. package/node_modules/hdb/lib/protocol/common/ConnectOptionType.js +45 -0
  1659. package/node_modules/hdb/lib/protocol/common/Constants.js +32 -0
  1660. package/node_modules/hdb/lib/protocol/common/DataFormatVersion.js +29 -0
  1661. package/node_modules/hdb/lib/protocol/common/DbConnectInfoOption.js +21 -0
  1662. package/node_modules/hdb/lib/protocol/common/DistributionProtocolVersion.js +19 -0
  1663. package/node_modules/hdb/lib/protocol/common/ErrorLevel.js +20 -0
  1664. package/node_modules/hdb/lib/protocol/common/FunctionCode.js +41 -0
  1665. package/node_modules/hdb/lib/protocol/common/IoType.js +20 -0
  1666. package/node_modules/hdb/lib/protocol/common/LobOptions.js +20 -0
  1667. package/node_modules/hdb/lib/protocol/common/LobSourceType.js +21 -0
  1668. package/node_modules/hdb/lib/protocol/common/MessageType.js +41 -0
  1669. package/node_modules/hdb/lib/protocol/common/NormalizedTypeCode.js +83 -0
  1670. package/node_modules/hdb/lib/protocol/common/ParameterMode.js +23 -0
  1671. package/node_modules/hdb/lib/protocol/common/PartAttributes.js +23 -0
  1672. package/node_modules/hdb/lib/protocol/common/PartKind.js +70 -0
  1673. package/node_modules/hdb/lib/protocol/common/ProxyConstants.js +129 -0
  1674. package/node_modules/hdb/lib/protocol/common/ReadFunction.js +85 -0
  1675. package/node_modules/hdb/lib/protocol/common/RedirectType.js +21 -0
  1676. package/node_modules/hdb/lib/protocol/common/SegmentKind.js +21 -0
  1677. package/node_modules/hdb/lib/protocol/common/SessionContext.js +23 -0
  1678. package/node_modules/hdb/lib/protocol/common/StatementContext.js +19 -0
  1679. package/node_modules/hdb/lib/protocol/common/StatementContextType.js +21 -0
  1680. package/node_modules/hdb/lib/protocol/common/TopologyInformation.js +31 -0
  1681. package/node_modules/hdb/lib/protocol/common/TransactionFlag.js +24 -0
  1682. package/node_modules/hdb/lib/protocol/common/TransactionFlagType.js +26 -0
  1683. package/node_modules/hdb/lib/protocol/common/TypeCode.js +93 -0
  1684. package/node_modules/hdb/lib/protocol/common/index.js +70 -0
  1685. package/node_modules/hdb/lib/protocol/data/Binary.js +42 -0
  1686. package/node_modules/hdb/lib/protocol/data/Default.js +42 -0
  1687. package/node_modules/hdb/lib/protocol/data/Fields.js +139 -0
  1688. package/node_modules/hdb/lib/protocol/data/Int32.js +55 -0
  1689. package/node_modules/hdb/lib/protocol/data/MultilineOptions.js +74 -0
  1690. package/node_modules/hdb/lib/protocol/data/Options.js +188 -0
  1691. package/node_modules/hdb/lib/protocol/data/ParameterMetadata.js +76 -0
  1692. package/node_modules/hdb/lib/protocol/data/Parameters.js +52 -0
  1693. package/node_modules/hdb/lib/protocol/data/ReadLobReply.js +72 -0
  1694. package/node_modules/hdb/lib/protocol/data/ReadLobRequest.js +69 -0
  1695. package/node_modules/hdb/lib/protocol/data/ResultSetMetadata.js +101 -0
  1696. package/node_modules/hdb/lib/protocol/data/SqlError.js +70 -0
  1697. package/node_modules/hdb/lib/protocol/data/Text.js +44 -0
  1698. package/node_modules/hdb/lib/protocol/data/Text20.js +44 -0
  1699. package/node_modules/hdb/lib/protocol/data/TextList.js +82 -0
  1700. package/node_modules/hdb/lib/protocol/data/TransactionFlags.js +26 -0
  1701. package/node_modules/hdb/lib/protocol/data/WriteLobReply.js +32 -0
  1702. package/node_modules/hdb/lib/protocol/data/index.js +76 -0
  1703. package/node_modules/hdb/lib/protocol/index.js +38 -0
  1704. package/node_modules/hdb/lib/protocol/part/AbstractOptions.js +55 -0
  1705. package/node_modules/hdb/lib/protocol/part/ClientContextOptions.js +46 -0
  1706. package/node_modules/hdb/lib/protocol/part/ConnectOptions.js +155 -0
  1707. package/node_modules/hdb/lib/protocol/part/DbConnectInfoOptions.js +41 -0
  1708. package/node_modules/hdb/lib/protocol/part/StatementContext.js +52 -0
  1709. package/node_modules/hdb/lib/protocol/part/index.js +19 -0
  1710. package/node_modules/hdb/lib/protocol/reply/Part.js +126 -0
  1711. package/node_modules/hdb/lib/protocol/reply/Segment.js +204 -0
  1712. package/node_modules/hdb/lib/protocol/reply/index.js +17 -0
  1713. package/node_modules/hdb/lib/protocol/request/Part.js +52 -0
  1714. package/node_modules/hdb/lib/protocol/request/Segment.js +120 -0
  1715. package/node_modules/hdb/lib/protocol/request/index.js +209 -0
  1716. package/node_modules/hdb/lib/protocol/tcp.js +186 -0
  1717. package/node_modules/hdb/lib/util/Network.js +230 -0
  1718. package/node_modules/hdb/lib/util/Queue.js +124 -0
  1719. package/node_modules/hdb/lib/util/bignum.js +844 -0
  1720. package/node_modules/hdb/lib/util/calendar.js +121 -0
  1721. package/node_modules/hdb/lib/util/convert.js +36 -0
  1722. package/node_modules/hdb/lib/util/index.js +314 -0
  1723. package/node_modules/hdb/lib/util/zeropad.js +110 -0
  1724. package/node_modules/hdb/node_modules/iconv-lite/Changelog.md +236 -0
  1725. package/node_modules/hdb/node_modules/iconv-lite/LICENSE +21 -0
  1726. package/node_modules/hdb/node_modules/iconv-lite/README.md +138 -0
  1727. package/node_modules/hdb/node_modules/iconv-lite/encodings/dbcs-codec.js +532 -0
  1728. package/node_modules/hdb/node_modules/iconv-lite/encodings/dbcs-data.js +185 -0
  1729. package/node_modules/hdb/node_modules/iconv-lite/encodings/index.js +23 -0
  1730. package/node_modules/hdb/node_modules/iconv-lite/encodings/internal.js +218 -0
  1731. package/node_modules/hdb/node_modules/iconv-lite/encodings/sbcs-codec.js +75 -0
  1732. package/node_modules/hdb/node_modules/iconv-lite/encodings/sbcs-data-generated.js +451 -0
  1733. package/node_modules/hdb/node_modules/iconv-lite/encodings/sbcs-data.js +178 -0
  1734. package/node_modules/hdb/node_modules/iconv-lite/encodings/tables/big5-added.json +122 -0
  1735. package/node_modules/hdb/node_modules/iconv-lite/encodings/tables/cp936.json +264 -0
  1736. package/node_modules/hdb/node_modules/iconv-lite/encodings/tables/cp949.json +273 -0
  1737. package/node_modules/hdb/node_modules/iconv-lite/encodings/tables/cp950.json +177 -0
  1738. package/node_modules/hdb/node_modules/iconv-lite/encodings/tables/eucjp.json +182 -0
  1739. package/node_modules/hdb/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +1 -0
  1740. package/node_modules/hdb/node_modules/iconv-lite/encodings/tables/gbk-added.json +56 -0
  1741. package/node_modules/hdb/node_modules/iconv-lite/encodings/tables/shiftjis.json +125 -0
  1742. package/node_modules/hdb/node_modules/iconv-lite/encodings/utf16.js +187 -0
  1743. package/node_modules/hdb/node_modules/iconv-lite/encodings/utf32.js +307 -0
  1744. package/node_modules/hdb/node_modules/iconv-lite/encodings/utf7.js +283 -0
  1745. package/node_modules/hdb/node_modules/iconv-lite/lib/bom-handling.js +48 -0
  1746. package/node_modules/hdb/node_modules/iconv-lite/lib/helpers/merge-exports.js +13 -0
  1747. package/node_modules/hdb/node_modules/iconv-lite/lib/index.d.ts +41 -0
  1748. package/node_modules/hdb/node_modules/iconv-lite/lib/index.js +183 -0
  1749. package/node_modules/hdb/node_modules/iconv-lite/lib/streams.js +105 -0
  1750. package/node_modules/hdb/node_modules/iconv-lite/package.json +59 -0
  1751. package/node_modules/hdb/package.json +58 -0
  1752. package/node_modules/http-errors/HISTORY.md +186 -0
  1753. package/node_modules/http-errors/LICENSE +23 -0
  1754. package/node_modules/http-errors/README.md +169 -0
  1755. package/node_modules/http-errors/index.js +290 -0
  1756. package/node_modules/http-errors/package.json +54 -0
  1757. package/node_modules/iconv-lite/LICENSE +21 -0
  1758. package/node_modules/iconv-lite/README.md +138 -0
  1759. package/node_modules/iconv-lite/encodings/dbcs-codec.js +532 -0
  1760. package/node_modules/iconv-lite/encodings/dbcs-data.js +185 -0
  1761. package/node_modules/iconv-lite/encodings/index.js +23 -0
  1762. package/node_modules/iconv-lite/encodings/internal.js +218 -0
  1763. package/node_modules/iconv-lite/encodings/sbcs-codec.js +75 -0
  1764. package/node_modules/iconv-lite/encodings/sbcs-data-generated.js +451 -0
  1765. package/node_modules/iconv-lite/encodings/sbcs-data.js +180 -0
  1766. package/node_modules/iconv-lite/encodings/tables/big5-added.json +122 -0
  1767. package/node_modules/iconv-lite/encodings/tables/cp936.json +264 -0
  1768. package/node_modules/iconv-lite/encodings/tables/cp949.json +273 -0
  1769. package/node_modules/iconv-lite/encodings/tables/cp950.json +177 -0
  1770. package/node_modules/iconv-lite/encodings/tables/eucjp.json +182 -0
  1771. package/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +1 -0
  1772. package/node_modules/iconv-lite/encodings/tables/gbk-added.json +56 -0
  1773. package/node_modules/iconv-lite/encodings/tables/shiftjis.json +125 -0
  1774. package/node_modules/iconv-lite/encodings/utf16.js +187 -0
  1775. package/node_modules/iconv-lite/encodings/utf32.js +314 -0
  1776. package/node_modules/iconv-lite/encodings/utf7.js +283 -0
  1777. package/node_modules/iconv-lite/lib/bom-handling.js +48 -0
  1778. package/node_modules/iconv-lite/lib/helpers/merge-exports.js +13 -0
  1779. package/node_modules/iconv-lite/lib/index.d.ts +129 -0
  1780. package/node_modules/iconv-lite/lib/index.js +182 -0
  1781. package/node_modules/iconv-lite/lib/streams.js +105 -0
  1782. package/node_modules/iconv-lite/package.json +70 -0
  1783. package/node_modules/iconv-lite/types/encodings.d.ts +425 -0
  1784. package/node_modules/inherits/LICENSE +16 -0
  1785. package/node_modules/inherits/README.md +42 -0
  1786. package/node_modules/inherits/inherits.js +9 -0
  1787. package/node_modules/inherits/inherits_browser.js +27 -0
  1788. package/node_modules/inherits/package.json +29 -0
  1789. package/node_modules/ipaddr.js/LICENSE +19 -0
  1790. package/node_modules/ipaddr.js/README.md +233 -0
  1791. package/node_modules/ipaddr.js/ipaddr.min.js +1 -0
  1792. package/node_modules/ipaddr.js/lib/ipaddr.js +673 -0
  1793. package/node_modules/ipaddr.js/lib/ipaddr.js.d.ts +68 -0
  1794. package/node_modules/ipaddr.js/package.json +35 -0
  1795. package/node_modules/is-number/LICENSE +21 -0
  1796. package/node_modules/is-number/README.md +187 -0
  1797. package/node_modules/is-number/index.js +18 -0
  1798. package/node_modules/is-number/package.json +82 -0
  1799. package/node_modules/is-promise/LICENSE +19 -0
  1800. package/node_modules/is-promise/index.d.ts +2 -0
  1801. package/node_modules/is-promise/index.js +6 -0
  1802. package/node_modules/is-promise/index.mjs +3 -0
  1803. package/node_modules/is-promise/package.json +30 -0
  1804. package/node_modules/is-promise/readme.md +33 -0
  1805. package/node_modules/livereload-js/.github/workflows/main.yml +23 -0
  1806. package/node_modules/livereload-js/LICENSE +20 -0
  1807. package/node_modules/livereload-js/README.md +250 -0
  1808. package/node_modules/livereload-js/dist/livereload.js +3795 -0
  1809. package/node_modules/livereload-js/dist/livereload.min.js +1 -0
  1810. package/node_modules/livereload-js/package.json +53 -0
  1811. package/node_modules/livereload-js/src/connector.js +169 -0
  1812. package/node_modules/livereload-js/src/customevents.js +37 -0
  1813. package/node_modules/livereload-js/src/less.js +60 -0
  1814. package/node_modules/livereload-js/src/livereload.js +245 -0
  1815. package/node_modules/livereload-js/src/options.js +96 -0
  1816. package/node_modules/livereload-js/src/protocol.js +98 -0
  1817. package/node_modules/livereload-js/src/reloader.js +611 -0
  1818. package/node_modules/livereload-js/src/startup.js +16 -0
  1819. package/node_modules/livereload-js/src/timer.js +35 -0
  1820. package/node_modules/lz4-wasm-nodejs/LICENSE_APACHE +176 -0
  1821. package/node_modules/lz4-wasm-nodejs/LICENSE_MIT +25 -0
  1822. package/node_modules/lz4-wasm-nodejs/README.md +71 -0
  1823. package/node_modules/lz4-wasm-nodejs/lz4_wasm_nodejs.d.ts +12 -0
  1824. package/node_modules/lz4-wasm-nodejs/lz4_wasm_nodejs.js +127 -0
  1825. package/node_modules/lz4-wasm-nodejs/lz4_wasm_nodejs_bg.wasm +0 -0
  1826. package/node_modules/lz4-wasm-nodejs/package.json +26 -0
  1827. package/node_modules/math-intrinsics/.eslintrc +16 -0
  1828. package/node_modules/math-intrinsics/.github/FUNDING.yml +12 -0
  1829. package/node_modules/math-intrinsics/CHANGELOG.md +24 -0
  1830. package/node_modules/math-intrinsics/LICENSE +21 -0
  1831. package/node_modules/math-intrinsics/README.md +50 -0
  1832. package/node_modules/math-intrinsics/abs.d.ts +1 -0
  1833. package/node_modules/math-intrinsics/abs.js +4 -0
  1834. package/node_modules/math-intrinsics/constants/maxArrayLength.d.ts +3 -0
  1835. package/node_modules/math-intrinsics/constants/maxArrayLength.js +4 -0
  1836. package/node_modules/math-intrinsics/constants/maxSafeInteger.d.ts +3 -0
  1837. package/node_modules/math-intrinsics/constants/maxSafeInteger.js +5 -0
  1838. package/node_modules/math-intrinsics/constants/maxValue.d.ts +3 -0
  1839. package/node_modules/math-intrinsics/constants/maxValue.js +5 -0
  1840. package/node_modules/math-intrinsics/floor.d.ts +1 -0
  1841. package/node_modules/math-intrinsics/floor.js +4 -0
  1842. package/node_modules/math-intrinsics/isFinite.d.ts +3 -0
  1843. package/node_modules/math-intrinsics/isFinite.js +12 -0
  1844. package/node_modules/math-intrinsics/isInteger.d.ts +3 -0
  1845. package/node_modules/math-intrinsics/isInteger.js +16 -0
  1846. package/node_modules/math-intrinsics/isNaN.d.ts +1 -0
  1847. package/node_modules/math-intrinsics/isNaN.js +6 -0
  1848. package/node_modules/math-intrinsics/isNegativeZero.d.ts +3 -0
  1849. package/node_modules/math-intrinsics/isNegativeZero.js +6 -0
  1850. package/node_modules/math-intrinsics/max.d.ts +1 -0
  1851. package/node_modules/math-intrinsics/max.js +4 -0
  1852. package/node_modules/math-intrinsics/min.d.ts +1 -0
  1853. package/node_modules/math-intrinsics/min.js +4 -0
  1854. package/node_modules/math-intrinsics/mod.d.ts +3 -0
  1855. package/node_modules/math-intrinsics/mod.js +9 -0
  1856. package/node_modules/math-intrinsics/package.json +86 -0
  1857. package/node_modules/math-intrinsics/pow.d.ts +1 -0
  1858. package/node_modules/math-intrinsics/pow.js +4 -0
  1859. package/node_modules/math-intrinsics/round.d.ts +1 -0
  1860. package/node_modules/math-intrinsics/round.js +4 -0
  1861. package/node_modules/math-intrinsics/sign.d.ts +3 -0
  1862. package/node_modules/math-intrinsics/sign.js +11 -0
  1863. package/node_modules/math-intrinsics/test/index.js +192 -0
  1864. package/node_modules/math-intrinsics/tsconfig.json +3 -0
  1865. package/node_modules/media-typer/HISTORY.md +50 -0
  1866. package/node_modules/media-typer/LICENSE +22 -0
  1867. package/node_modules/media-typer/README.md +93 -0
  1868. package/node_modules/media-typer/index.js +143 -0
  1869. package/node_modules/media-typer/package.json +33 -0
  1870. package/node_modules/merge-descriptors/index.d.ts +11 -0
  1871. package/node_modules/merge-descriptors/index.js +26 -0
  1872. package/node_modules/merge-descriptors/license +11 -0
  1873. package/node_modules/merge-descriptors/package.json +50 -0
  1874. package/node_modules/merge-descriptors/readme.md +55 -0
  1875. package/node_modules/micromatch/LICENSE +21 -0
  1876. package/node_modules/micromatch/README.md +1024 -0
  1877. package/node_modules/micromatch/index.js +474 -0
  1878. package/node_modules/micromatch/node_modules/picomatch/LICENSE +21 -0
  1879. package/node_modules/micromatch/node_modules/picomatch/README.md +716 -0
  1880. package/node_modules/micromatch/node_modules/picomatch/index.js +3 -0
  1881. package/node_modules/micromatch/node_modules/picomatch/lib/constants.js +184 -0
  1882. package/node_modules/micromatch/node_modules/picomatch/lib/parse.js +1392 -0
  1883. package/node_modules/micromatch/node_modules/picomatch/lib/picomatch.js +342 -0
  1884. package/node_modules/micromatch/node_modules/picomatch/lib/scan.js +391 -0
  1885. package/node_modules/micromatch/node_modules/picomatch/lib/utils.js +64 -0
  1886. package/node_modules/micromatch/node_modules/picomatch/package.json +81 -0
  1887. package/node_modules/micromatch/package.json +119 -0
  1888. package/node_modules/mime-db/HISTORY.md +541 -0
  1889. package/node_modules/mime-db/LICENSE +23 -0
  1890. package/node_modules/mime-db/README.md +109 -0
  1891. package/node_modules/mime-db/db.json +9342 -0
  1892. package/node_modules/mime-db/index.js +12 -0
  1893. package/node_modules/mime-db/package.json +56 -0
  1894. package/node_modules/mime-types/HISTORY.md +428 -0
  1895. package/node_modules/mime-types/LICENSE +23 -0
  1896. package/node_modules/mime-types/README.md +126 -0
  1897. package/node_modules/mime-types/index.js +211 -0
  1898. package/node_modules/mime-types/mimeScore.js +57 -0
  1899. package/node_modules/mime-types/package.json +49 -0
  1900. package/node_modules/minimist/.eslintrc +29 -0
  1901. package/node_modules/minimist/.github/FUNDING.yml +12 -0
  1902. package/node_modules/minimist/.nycrc +14 -0
  1903. package/node_modules/minimist/CHANGELOG.md +298 -0
  1904. package/node_modules/minimist/LICENSE +18 -0
  1905. package/node_modules/minimist/README.md +121 -0
  1906. package/node_modules/minimist/example/parse.js +4 -0
  1907. package/node_modules/minimist/index.js +263 -0
  1908. package/node_modules/minimist/package.json +75 -0
  1909. package/node_modules/minimist/test/all_bool.js +34 -0
  1910. package/node_modules/minimist/test/bool.js +177 -0
  1911. package/node_modules/minimist/test/dash.js +43 -0
  1912. package/node_modules/minimist/test/default_bool.js +37 -0
  1913. package/node_modules/minimist/test/dotted.js +24 -0
  1914. package/node_modules/minimist/test/kv_short.js +32 -0
  1915. package/node_modules/minimist/test/long.js +33 -0
  1916. package/node_modules/minimist/test/num.js +38 -0
  1917. package/node_modules/minimist/test/parse.js +209 -0
  1918. package/node_modules/minimist/test/parse_modified.js +11 -0
  1919. package/node_modules/minimist/test/proto.js +64 -0
  1920. package/node_modules/minimist/test/short.js +69 -0
  1921. package/node_modules/minimist/test/stop_early.js +17 -0
  1922. package/node_modules/minimist/test/unknown.js +104 -0
  1923. package/node_modules/minimist/test/whitespace.js +10 -0
  1924. package/node_modules/ms/index.js +162 -0
  1925. package/node_modules/ms/license.md +21 -0
  1926. package/node_modules/ms/package.json +38 -0
  1927. package/node_modules/ms/readme.md +59 -0
  1928. package/node_modules/mustache/CHANGELOG.md +618 -0
  1929. package/node_modules/mustache/LICENSE +11 -0
  1930. package/node_modules/mustache/README.md +621 -0
  1931. package/node_modules/mustache/bin/mustache +150 -0
  1932. package/node_modules/mustache/mustache.js +772 -0
  1933. package/node_modules/mustache/mustache.min.js +1 -0
  1934. package/node_modules/mustache/mustache.mjs +764 -0
  1935. package/node_modules/mustache/package.json +67 -0
  1936. package/node_modules/mustache/wrappers/dojo/mustache.js.post +4 -0
  1937. package/node_modules/mustache/wrappers/dojo/mustache.js.pre +9 -0
  1938. package/node_modules/mustache/wrappers/jquery/mustache.js.post +13 -0
  1939. package/node_modules/mustache/wrappers/jquery/mustache.js.pre +9 -0
  1940. package/node_modules/mustache/wrappers/mootools/mustache.js.post +5 -0
  1941. package/node_modules/mustache/wrappers/mootools/mustache.js.pre +2 -0
  1942. package/node_modules/mustache/wrappers/qooxdoo/mustache.js.post +9 -0
  1943. package/node_modules/mustache/wrappers/qooxdoo/mustache.js.pre +172 -0
  1944. package/node_modules/mustache/wrappers/yui3/mustache.js.post +4 -0
  1945. package/node_modules/mustache/wrappers/yui3/mustache.js.pre +1 -0
  1946. package/node_modules/negotiator/HISTORY.md +114 -0
  1947. package/node_modules/negotiator/LICENSE +24 -0
  1948. package/node_modules/negotiator/README.md +212 -0
  1949. package/node_modules/negotiator/index.js +83 -0
  1950. package/node_modules/negotiator/lib/charset.js +169 -0
  1951. package/node_modules/negotiator/lib/encoding.js +205 -0
  1952. package/node_modules/negotiator/lib/language.js +179 -0
  1953. package/node_modules/negotiator/lib/mediaType.js +294 -0
  1954. package/node_modules/negotiator/package.json +43 -0
  1955. package/node_modules/neo-async/LICENSE +22 -0
  1956. package/node_modules/neo-async/README.md +273 -0
  1957. package/node_modules/neo-async/all.js +3 -0
  1958. package/node_modules/neo-async/allLimit.js +3 -0
  1959. package/node_modules/neo-async/allSeries.js +3 -0
  1960. package/node_modules/neo-async/angelFall.js +3 -0
  1961. package/node_modules/neo-async/any.js +3 -0
  1962. package/node_modules/neo-async/anyLimit.js +3 -0
  1963. package/node_modules/neo-async/anySeries.js +3 -0
  1964. package/node_modules/neo-async/apply.js +3 -0
  1965. package/node_modules/neo-async/applyEach.js +3 -0
  1966. package/node_modules/neo-async/applyEachSeries.js +3 -0
  1967. package/node_modules/neo-async/async.js +9184 -0
  1968. package/node_modules/neo-async/async.min.js +80 -0
  1969. package/node_modules/neo-async/asyncify.js +3 -0
  1970. package/node_modules/neo-async/auto.js +3 -0
  1971. package/node_modules/neo-async/autoInject.js +3 -0
  1972. package/node_modules/neo-async/cargo.js +3 -0
  1973. package/node_modules/neo-async/compose.js +3 -0
  1974. package/node_modules/neo-async/concat.js +3 -0
  1975. package/node_modules/neo-async/concatLimit.js +3 -0
  1976. package/node_modules/neo-async/concatSeries.js +3 -0
  1977. package/node_modules/neo-async/constant.js +3 -0
  1978. package/node_modules/neo-async/createLogger.js +3 -0
  1979. package/node_modules/neo-async/detect.js +3 -0
  1980. package/node_modules/neo-async/detectLimit.js +3 -0
  1981. package/node_modules/neo-async/detectSeries.js +3 -0
  1982. package/node_modules/neo-async/dir.js +3 -0
  1983. package/node_modules/neo-async/doDuring.js +3 -0
  1984. package/node_modules/neo-async/doUntil.js +3 -0
  1985. package/node_modules/neo-async/doWhilst.js +3 -0
  1986. package/node_modules/neo-async/during.js +3 -0
  1987. package/node_modules/neo-async/each.js +3 -0
  1988. package/node_modules/neo-async/eachLimit.js +3 -0
  1989. package/node_modules/neo-async/eachOf.js +3 -0
  1990. package/node_modules/neo-async/eachOfLimit.js +3 -0
  1991. package/node_modules/neo-async/eachOfSeries.js +3 -0
  1992. package/node_modules/neo-async/eachSeries.js +3 -0
  1993. package/node_modules/neo-async/ensureAsync.js +3 -0
  1994. package/node_modules/neo-async/every.js +3 -0
  1995. package/node_modules/neo-async/everyLimit.js +3 -0
  1996. package/node_modules/neo-async/everySeries.js +3 -0
  1997. package/node_modules/neo-async/fast.js +3 -0
  1998. package/node_modules/neo-async/filter.js +3 -0
  1999. package/node_modules/neo-async/filterLimit.js +3 -0
  2000. package/node_modules/neo-async/filterSeries.js +3 -0
  2001. package/node_modules/neo-async/find.js +3 -0
  2002. package/node_modules/neo-async/findLimit.js +3 -0
  2003. package/node_modules/neo-async/findSeries.js +3 -0
  2004. package/node_modules/neo-async/foldl.js +3 -0
  2005. package/node_modules/neo-async/foldr.js +3 -0
  2006. package/node_modules/neo-async/forEach.js +3 -0
  2007. package/node_modules/neo-async/forEachLimit.js +3 -0
  2008. package/node_modules/neo-async/forEachOf.js +3 -0
  2009. package/node_modules/neo-async/forEachOfLimit.js +3 -0
  2010. package/node_modules/neo-async/forEachOfSeries.js +3 -0
  2011. package/node_modules/neo-async/forEachSeries.js +3 -0
  2012. package/node_modules/neo-async/forever.js +3 -0
  2013. package/node_modules/neo-async/groupBy.js +3 -0
  2014. package/node_modules/neo-async/groupByLimit.js +3 -0
  2015. package/node_modules/neo-async/groupBySeries.js +3 -0
  2016. package/node_modules/neo-async/inject.js +3 -0
  2017. package/node_modules/neo-async/iterator.js +3 -0
  2018. package/node_modules/neo-async/log.js +3 -0
  2019. package/node_modules/neo-async/map.js +3 -0
  2020. package/node_modules/neo-async/mapLimit.js +3 -0
  2021. package/node_modules/neo-async/mapSeries.js +3 -0
  2022. package/node_modules/neo-async/mapValues.js +3 -0
  2023. package/node_modules/neo-async/mapValuesLimit.js +3 -0
  2024. package/node_modules/neo-async/mapValuesSeries.js +3 -0
  2025. package/node_modules/neo-async/memoize.js +3 -0
  2026. package/node_modules/neo-async/nextTick.js +3 -0
  2027. package/node_modules/neo-async/omit.js +3 -0
  2028. package/node_modules/neo-async/omitLimit.js +3 -0
  2029. package/node_modules/neo-async/omitSeries.js +3 -0
  2030. package/node_modules/neo-async/package.json +57 -0
  2031. package/node_modules/neo-async/parallel.js +3 -0
  2032. package/node_modules/neo-async/parallelLimit.js +3 -0
  2033. package/node_modules/neo-async/pick.js +3 -0
  2034. package/node_modules/neo-async/pickLimit.js +3 -0
  2035. package/node_modules/neo-async/pickSeries.js +3 -0
  2036. package/node_modules/neo-async/priorityQueue.js +3 -0
  2037. package/node_modules/neo-async/queue.js +3 -0
  2038. package/node_modules/neo-async/race.js +3 -0
  2039. package/node_modules/neo-async/reduce.js +3 -0
  2040. package/node_modules/neo-async/reduceRight.js +3 -0
  2041. package/node_modules/neo-async/reflect.js +3 -0
  2042. package/node_modules/neo-async/reflectAll.js +3 -0
  2043. package/node_modules/neo-async/reject.js +3 -0
  2044. package/node_modules/neo-async/rejectLimit.js +3 -0
  2045. package/node_modules/neo-async/rejectSeries.js +3 -0
  2046. package/node_modules/neo-async/retry.js +3 -0
  2047. package/node_modules/neo-async/retryable.js +3 -0
  2048. package/node_modules/neo-async/safe.js +3 -0
  2049. package/node_modules/neo-async/select.js +3 -0
  2050. package/node_modules/neo-async/selectLimit.js +3 -0
  2051. package/node_modules/neo-async/selectSeries.js +3 -0
  2052. package/node_modules/neo-async/seq.js +3 -0
  2053. package/node_modules/neo-async/series.js +3 -0
  2054. package/node_modules/neo-async/setImmediate.js +3 -0
  2055. package/node_modules/neo-async/some.js +3 -0
  2056. package/node_modules/neo-async/someLimit.js +3 -0
  2057. package/node_modules/neo-async/someSeries.js +3 -0
  2058. package/node_modules/neo-async/sortBy.js +3 -0
  2059. package/node_modules/neo-async/sortByLimit.js +3 -0
  2060. package/node_modules/neo-async/sortBySeries.js +3 -0
  2061. package/node_modules/neo-async/timeout.js +3 -0
  2062. package/node_modules/neo-async/times.js +3 -0
  2063. package/node_modules/neo-async/timesLimit.js +3 -0
  2064. package/node_modules/neo-async/timesSeries.js +3 -0
  2065. package/node_modules/neo-async/transform.js +3 -0
  2066. package/node_modules/neo-async/transformLimit.js +3 -0
  2067. package/node_modules/neo-async/transformSeries.js +3 -0
  2068. package/node_modules/neo-async/tryEach.js +3 -0
  2069. package/node_modules/neo-async/unmemoize.js +3 -0
  2070. package/node_modules/neo-async/until.js +3 -0
  2071. package/node_modules/neo-async/waterfall.js +3 -0
  2072. package/node_modules/neo-async/whilst.js +3 -0
  2073. package/node_modules/neo-async/wrapSync.js +3 -0
  2074. package/node_modules/node-cache/.nvmrc +1 -0
  2075. package/node_modules/node-cache/.nycrc.yaml +7 -0
  2076. package/node_modules/node-cache/LICENSE +21 -0
  2077. package/node_modules/node-cache/README.md +497 -0
  2078. package/node_modules/node-cache/_src/test/typedefinition_test.ts +108 -0
  2079. package/node_modules/node-cache/index.d.ts +380 -0
  2080. package/node_modules/node-cache/index.js +17 -0
  2081. package/node_modules/node-cache/lib/node_cache.js +802 -0
  2082. package/node_modules/node-cache/package.json +68 -0
  2083. package/node_modules/node-cache/tsconfig.json +8 -0
  2084. package/node_modules/object-inspect/.eslintrc +53 -0
  2085. package/node_modules/object-inspect/.github/FUNDING.yml +12 -0
  2086. package/node_modules/object-inspect/.nycrc +13 -0
  2087. package/node_modules/object-inspect/CHANGELOG.md +424 -0
  2088. package/node_modules/object-inspect/LICENSE +21 -0
  2089. package/node_modules/object-inspect/example/all.js +23 -0
  2090. package/node_modules/object-inspect/example/circular.js +6 -0
  2091. package/node_modules/object-inspect/example/fn.js +5 -0
  2092. package/node_modules/object-inspect/example/inspect.js +10 -0
  2093. package/node_modules/object-inspect/index.js +544 -0
  2094. package/node_modules/object-inspect/package-support.json +20 -0
  2095. package/node_modules/object-inspect/package.json +105 -0
  2096. package/node_modules/object-inspect/readme.markdown +84 -0
  2097. package/node_modules/object-inspect/test/bigint.js +58 -0
  2098. package/node_modules/object-inspect/test/browser/dom.js +15 -0
  2099. package/node_modules/object-inspect/test/circular.js +16 -0
  2100. package/node_modules/object-inspect/test/deep.js +12 -0
  2101. package/node_modules/object-inspect/test/element.js +53 -0
  2102. package/node_modules/object-inspect/test/err.js +48 -0
  2103. package/node_modules/object-inspect/test/fakes.js +29 -0
  2104. package/node_modules/object-inspect/test/fn.js +76 -0
  2105. package/node_modules/object-inspect/test/global.js +17 -0
  2106. package/node_modules/object-inspect/test/has.js +15 -0
  2107. package/node_modules/object-inspect/test/holes.js +15 -0
  2108. package/node_modules/object-inspect/test/indent-option.js +271 -0
  2109. package/node_modules/object-inspect/test/inspect.js +139 -0
  2110. package/node_modules/object-inspect/test/lowbyte.js +12 -0
  2111. package/node_modules/object-inspect/test/number.js +58 -0
  2112. package/node_modules/object-inspect/test/quoteStyle.js +26 -0
  2113. package/node_modules/object-inspect/test/toStringTag.js +40 -0
  2114. package/node_modules/object-inspect/test/undef.js +12 -0
  2115. package/node_modules/object-inspect/test/values.js +261 -0
  2116. package/node_modules/object-inspect/test-core-js.js +26 -0
  2117. package/node_modules/object-inspect/util.inspect.js +1 -0
  2118. package/node_modules/on-finished/HISTORY.md +98 -0
  2119. package/node_modules/on-finished/LICENSE +23 -0
  2120. package/node_modules/on-finished/README.md +162 -0
  2121. package/node_modules/on-finished/index.js +234 -0
  2122. package/node_modules/on-finished/package.json +39 -0
  2123. package/node_modules/once/LICENSE +15 -0
  2124. package/node_modules/once/README.md +79 -0
  2125. package/node_modules/once/once.js +42 -0
  2126. package/node_modules/once/package.json +33 -0
  2127. package/node_modules/parseurl/HISTORY.md +58 -0
  2128. package/node_modules/parseurl/LICENSE +24 -0
  2129. package/node_modules/parseurl/README.md +133 -0
  2130. package/node_modules/parseurl/index.js +158 -0
  2131. package/node_modules/parseurl/package.json +40 -0
  2132. package/node_modules/path-to-regexp/LICENSE +21 -0
  2133. package/node_modules/path-to-regexp/Readme.md +224 -0
  2134. package/node_modules/path-to-regexp/dist/index.d.ts +147 -0
  2135. package/node_modules/path-to-regexp/dist/index.js +431 -0
  2136. package/node_modules/path-to-regexp/dist/index.js.map +1 -0
  2137. package/node_modules/path-to-regexp/package.json +64 -0
  2138. package/node_modules/pluralize/LICENSE +21 -0
  2139. package/node_modules/pluralize/Readme.md +100 -0
  2140. package/node_modules/pluralize/package.json +40 -0
  2141. package/node_modules/pluralize/pluralize.js +503 -0
  2142. package/node_modules/proxy-addr/HISTORY.md +161 -0
  2143. package/node_modules/proxy-addr/LICENSE +22 -0
  2144. package/node_modules/proxy-addr/README.md +139 -0
  2145. package/node_modules/proxy-addr/index.js +327 -0
  2146. package/node_modules/proxy-addr/package.json +47 -0
  2147. package/node_modules/qs/.editorconfig +46 -0
  2148. package/node_modules/qs/.github/FUNDING.yml +12 -0
  2149. package/node_modules/qs/.github/SECURITY.md +11 -0
  2150. package/node_modules/qs/.github/THREAT_MODEL.md +78 -0
  2151. package/node_modules/qs/.nycrc +13 -0
  2152. package/node_modules/qs/CHANGELOG.md +833 -0
  2153. package/node_modules/qs/LICENSE.md +29 -0
  2154. package/node_modules/qs/README.md +758 -0
  2155. package/node_modules/qs/dist/qs.js +141 -0
  2156. package/node_modules/qs/eslint.config.mjs +57 -0
  2157. package/node_modules/qs/lib/formats.js +23 -0
  2158. package/node_modules/qs/lib/index.js +11 -0
  2159. package/node_modules/qs/lib/parse.js +414 -0
  2160. package/node_modules/qs/lib/stringify.js +363 -0
  2161. package/node_modules/qs/lib/utils.js +381 -0
  2162. package/node_modules/qs/package.json +95 -0
  2163. package/node_modules/qs/test/empty-keys-cases.js +267 -0
  2164. package/node_modules/qs/test/parse.js +1933 -0
  2165. package/node_modules/qs/test/stringify.js +1448 -0
  2166. package/node_modules/qs/test/utils.js +626 -0
  2167. package/node_modules/range-parser/HISTORY.md +56 -0
  2168. package/node_modules/range-parser/LICENSE +23 -0
  2169. package/node_modules/range-parser/README.md +85 -0
  2170. package/node_modules/range-parser/index.js +181 -0
  2171. package/node_modules/range-parser/package.json +48 -0
  2172. package/node_modules/raw-body/LICENSE +22 -0
  2173. package/node_modules/raw-body/README.md +223 -0
  2174. package/node_modules/raw-body/index.d.ts +85 -0
  2175. package/node_modules/raw-body/index.js +336 -0
  2176. package/node_modules/raw-body/package.json +46 -0
  2177. package/node_modules/router/HISTORY.md +228 -0
  2178. package/node_modules/router/LICENSE +23 -0
  2179. package/node_modules/router/README.md +416 -0
  2180. package/node_modules/router/index.js +748 -0
  2181. package/node_modules/router/lib/layer.js +247 -0
  2182. package/node_modules/router/lib/route.js +242 -0
  2183. package/node_modules/router/package.json +44 -0
  2184. package/node_modules/safer-buffer/LICENSE +21 -0
  2185. package/node_modules/safer-buffer/Porting-Buffer.md +268 -0
  2186. package/node_modules/safer-buffer/Readme.md +156 -0
  2187. package/node_modules/safer-buffer/dangerous.js +58 -0
  2188. package/node_modules/safer-buffer/package.json +34 -0
  2189. package/node_modules/safer-buffer/safer.js +77 -0
  2190. package/node_modules/safer-buffer/tests.js +406 -0
  2191. package/node_modules/sax/LICENSE.md +55 -0
  2192. package/node_modules/sax/README.md +227 -0
  2193. package/node_modules/sax/lib/sax.js +1848 -0
  2194. package/node_modules/sax/package.json +34 -0
  2195. package/node_modules/semver/LICENSE +15 -0
  2196. package/node_modules/semver/README.md +680 -0
  2197. package/node_modules/semver/bin/semver.js +195 -0
  2198. package/node_modules/semver/classes/comparator.js +143 -0
  2199. package/node_modules/semver/classes/index.js +7 -0
  2200. package/node_modules/semver/classes/range.js +577 -0
  2201. package/node_modules/semver/classes/semver.js +350 -0
  2202. package/node_modules/semver/functions/clean.js +8 -0
  2203. package/node_modules/semver/functions/cmp.js +54 -0
  2204. package/node_modules/semver/functions/coerce.js +62 -0
  2205. package/node_modules/semver/functions/compare-build.js +9 -0
  2206. package/node_modules/semver/functions/compare-loose.js +5 -0
  2207. package/node_modules/semver/functions/compare.js +7 -0
  2208. package/node_modules/semver/functions/diff.js +60 -0
  2209. package/node_modules/semver/functions/eq.js +5 -0
  2210. package/node_modules/semver/functions/gt.js +5 -0
  2211. package/node_modules/semver/functions/gte.js +5 -0
  2212. package/node_modules/semver/functions/inc.js +21 -0
  2213. package/node_modules/semver/functions/lt.js +5 -0
  2214. package/node_modules/semver/functions/lte.js +5 -0
  2215. package/node_modules/semver/functions/major.js +5 -0
  2216. package/node_modules/semver/functions/minor.js +5 -0
  2217. package/node_modules/semver/functions/neq.js +5 -0
  2218. package/node_modules/semver/functions/parse.js +18 -0
  2219. package/node_modules/semver/functions/patch.js +5 -0
  2220. package/node_modules/semver/functions/prerelease.js +8 -0
  2221. package/node_modules/semver/functions/rcompare.js +5 -0
  2222. package/node_modules/semver/functions/rsort.js +5 -0
  2223. package/node_modules/semver/functions/satisfies.js +12 -0
  2224. package/node_modules/semver/functions/sort.js +5 -0
  2225. package/node_modules/semver/functions/truncate.js +48 -0
  2226. package/node_modules/semver/functions/valid.js +8 -0
  2227. package/node_modules/semver/index.js +93 -0
  2228. package/node_modules/semver/internal/constants.js +37 -0
  2229. package/node_modules/semver/internal/debug.js +11 -0
  2230. package/node_modules/semver/internal/identifiers.js +29 -0
  2231. package/node_modules/semver/internal/lrucache.js +42 -0
  2232. package/node_modules/semver/internal/parse-options.js +17 -0
  2233. package/node_modules/semver/internal/re.js +223 -0
  2234. package/node_modules/semver/package.json +78 -0
  2235. package/node_modules/semver/preload.js +4 -0
  2236. package/node_modules/semver/range.bnf +17 -0
  2237. package/node_modules/semver/ranges/gtr.js +6 -0
  2238. package/node_modules/semver/ranges/intersects.js +9 -0
  2239. package/node_modules/semver/ranges/ltr.js +6 -0
  2240. package/node_modules/semver/ranges/max-satisfying.js +27 -0
  2241. package/node_modules/semver/ranges/min-satisfying.js +26 -0
  2242. package/node_modules/semver/ranges/min-version.js +63 -0
  2243. package/node_modules/semver/ranges/outside.js +82 -0
  2244. package/node_modules/semver/ranges/simplify.js +49 -0
  2245. package/node_modules/semver/ranges/subset.js +249 -0
  2246. package/node_modules/semver/ranges/to-comparators.js +10 -0
  2247. package/node_modules/semver/ranges/valid.js +13 -0
  2248. package/node_modules/send/LICENSE +23 -0
  2249. package/node_modules/send/README.md +317 -0
  2250. package/node_modules/send/index.js +997 -0
  2251. package/node_modules/send/package.json +63 -0
  2252. package/node_modules/serve-static/LICENSE +25 -0
  2253. package/node_modules/serve-static/README.md +253 -0
  2254. package/node_modules/serve-static/index.js +208 -0
  2255. package/node_modules/serve-static/package.json +44 -0
  2256. package/node_modules/setprototypeof/LICENSE +13 -0
  2257. package/node_modules/setprototypeof/README.md +31 -0
  2258. package/node_modules/setprototypeof/index.d.ts +2 -0
  2259. package/node_modules/setprototypeof/index.js +17 -0
  2260. package/node_modules/setprototypeof/package.json +38 -0
  2261. package/node_modules/setprototypeof/test/index.js +24 -0
  2262. package/node_modules/side-channel/.editorconfig +9 -0
  2263. package/node_modules/side-channel/.eslintrc +12 -0
  2264. package/node_modules/side-channel/.github/FUNDING.yml +12 -0
  2265. package/node_modules/side-channel/.nycrc +13 -0
  2266. package/node_modules/side-channel/CHANGELOG.md +120 -0
  2267. package/node_modules/side-channel/LICENSE +21 -0
  2268. package/node_modules/side-channel/README.md +61 -0
  2269. package/node_modules/side-channel/index.d.ts +14 -0
  2270. package/node_modules/side-channel/index.js +46 -0
  2271. package/node_modules/side-channel/package.json +85 -0
  2272. package/node_modules/side-channel/test/index.js +120 -0
  2273. package/node_modules/side-channel/tsconfig.json +9 -0
  2274. package/node_modules/side-channel-list/.editorconfig +9 -0
  2275. package/node_modules/side-channel-list/.eslintrc +11 -0
  2276. package/node_modules/side-channel-list/.github/FUNDING.yml +12 -0
  2277. package/node_modules/side-channel-list/.nycrc +13 -0
  2278. package/node_modules/side-channel-list/CHANGELOG.md +36 -0
  2279. package/node_modules/side-channel-list/LICENSE +21 -0
  2280. package/node_modules/side-channel-list/README.md +62 -0
  2281. package/node_modules/side-channel-list/index.d.ts +13 -0
  2282. package/node_modules/side-channel-list/index.js +111 -0
  2283. package/node_modules/side-channel-list/list.d.ts +14 -0
  2284. package/node_modules/side-channel-list/package.json +77 -0
  2285. package/node_modules/side-channel-list/test/index.js +154 -0
  2286. package/node_modules/side-channel-list/tsconfig.json +9 -0
  2287. package/node_modules/side-channel-map/.editorconfig +9 -0
  2288. package/node_modules/side-channel-map/.eslintrc +11 -0
  2289. package/node_modules/side-channel-map/.github/FUNDING.yml +12 -0
  2290. package/node_modules/side-channel-map/.nycrc +13 -0
  2291. package/node_modules/side-channel-map/CHANGELOG.md +22 -0
  2292. package/node_modules/side-channel-map/LICENSE +21 -0
  2293. package/node_modules/side-channel-map/README.md +62 -0
  2294. package/node_modules/side-channel-map/index.d.ts +15 -0
  2295. package/node_modules/side-channel-map/index.js +68 -0
  2296. package/node_modules/side-channel-map/package.json +80 -0
  2297. package/node_modules/side-channel-map/test/index.js +114 -0
  2298. package/node_modules/side-channel-map/tsconfig.json +9 -0
  2299. package/node_modules/side-channel-weakmap/.editorconfig +9 -0
  2300. package/node_modules/side-channel-weakmap/.eslintrc +12 -0
  2301. package/node_modules/side-channel-weakmap/.github/FUNDING.yml +12 -0
  2302. package/node_modules/side-channel-weakmap/.nycrc +13 -0
  2303. package/node_modules/side-channel-weakmap/CHANGELOG.md +28 -0
  2304. package/node_modules/side-channel-weakmap/LICENSE +21 -0
  2305. package/node_modules/side-channel-weakmap/README.md +62 -0
  2306. package/node_modules/side-channel-weakmap/index.d.ts +15 -0
  2307. package/node_modules/side-channel-weakmap/index.js +84 -0
  2308. package/node_modules/side-channel-weakmap/package.json +87 -0
  2309. package/node_modules/side-channel-weakmap/test/index.js +114 -0
  2310. package/node_modules/side-channel-weakmap/tsconfig.json +9 -0
  2311. package/node_modules/source-map/CHANGELOG.md +301 -0
  2312. package/node_modules/source-map/LICENSE +28 -0
  2313. package/node_modules/source-map/README.md +742 -0
  2314. package/node_modules/source-map/dist/source-map.debug.js +3234 -0
  2315. package/node_modules/source-map/dist/source-map.js +3233 -0
  2316. package/node_modules/source-map/dist/source-map.min.js +2 -0
  2317. package/node_modules/source-map/dist/source-map.min.js.map +1 -0
  2318. package/node_modules/source-map/lib/array-set.js +121 -0
  2319. package/node_modules/source-map/lib/base64-vlq.js +140 -0
  2320. package/node_modules/source-map/lib/base64.js +67 -0
  2321. package/node_modules/source-map/lib/binary-search.js +111 -0
  2322. package/node_modules/source-map/lib/mapping-list.js +79 -0
  2323. package/node_modules/source-map/lib/quick-sort.js +114 -0
  2324. package/node_modules/source-map/lib/source-map-consumer.js +1145 -0
  2325. package/node_modules/source-map/lib/source-map-generator.js +425 -0
  2326. package/node_modules/source-map/lib/source-node.js +413 -0
  2327. package/node_modules/source-map/lib/util.js +488 -0
  2328. package/node_modules/source-map/package.json +73 -0
  2329. package/node_modules/source-map/source-map.d.ts +98 -0
  2330. package/node_modules/source-map/source-map.js +8 -0
  2331. package/node_modules/statuses/HISTORY.md +87 -0
  2332. package/node_modules/statuses/LICENSE +23 -0
  2333. package/node_modules/statuses/README.md +139 -0
  2334. package/node_modules/statuses/codes.json +65 -0
  2335. package/node_modules/statuses/index.js +146 -0
  2336. package/node_modules/statuses/package.json +49 -0
  2337. package/node_modules/to-regex-range/LICENSE +21 -0
  2338. package/node_modules/to-regex-range/README.md +305 -0
  2339. package/node_modules/to-regex-range/index.js +288 -0
  2340. package/node_modules/to-regex-range/package.json +88 -0
  2341. package/node_modules/toidentifier/HISTORY.md +9 -0
  2342. package/node_modules/toidentifier/LICENSE +21 -0
  2343. package/node_modules/toidentifier/README.md +61 -0
  2344. package/node_modules/toidentifier/index.js +32 -0
  2345. package/node_modules/toidentifier/package.json +38 -0
  2346. package/node_modules/type-is/HISTORY.md +292 -0
  2347. package/node_modules/type-is/LICENSE +23 -0
  2348. package/node_modules/type-is/README.md +198 -0
  2349. package/node_modules/type-is/index.js +240 -0
  2350. package/node_modules/type-is/node_modules/content-type/LICENSE +22 -0
  2351. package/node_modules/type-is/node_modules/content-type/README.md +69 -0
  2352. package/node_modules/type-is/node_modules/content-type/dist/index.d.ts +26 -0
  2353. package/node_modules/type-is/node_modules/content-type/dist/index.js +170 -0
  2354. package/node_modules/type-is/node_modules/content-type/dist/index.js.map +1 -0
  2355. package/node_modules/type-is/node_modules/content-type/package.json +52 -0
  2356. package/node_modules/type-is/package.json +51 -0
  2357. package/node_modules/uglify-js/LICENSE +29 -0
  2358. package/node_modules/uglify-js/README.md +1479 -0
  2359. package/node_modules/uglify-js/bin/uglifyjs +624 -0
  2360. package/node_modules/uglify-js/lib/ast.js +2357 -0
  2361. package/node_modules/uglify-js/lib/compress.js +14650 -0
  2362. package/node_modules/uglify-js/lib/minify.js +278 -0
  2363. package/node_modules/uglify-js/lib/mozilla-ast.js +1338 -0
  2364. package/node_modules/uglify-js/lib/output.js +1983 -0
  2365. package/node_modules/uglify-js/lib/parse.js +2589 -0
  2366. package/node_modules/uglify-js/lib/propmangle.js +328 -0
  2367. package/node_modules/uglify-js/lib/scope.js +883 -0
  2368. package/node_modules/uglify-js/lib/sourcemap.js +195 -0
  2369. package/node_modules/uglify-js/lib/transform.js +250 -0
  2370. package/node_modules/uglify-js/lib/utils.js +300 -0
  2371. package/node_modules/uglify-js/package.json +52 -0
  2372. package/node_modules/uglify-js/tools/domprops.html +456 -0
  2373. package/node_modules/uglify-js/tools/domprops.json +8327 -0
  2374. package/node_modules/uglify-js/tools/exports.js +8 -0
  2375. package/node_modules/uglify-js/tools/node.js +115 -0
  2376. package/node_modules/uglify-js/tools/tty.js +22 -0
  2377. package/node_modules/unpipe/HISTORY.md +4 -0
  2378. package/node_modules/unpipe/LICENSE +22 -0
  2379. package/node_modules/unpipe/README.md +43 -0
  2380. package/node_modules/unpipe/index.js +69 -0
  2381. package/node_modules/unpipe/package.json +27 -0
  2382. package/node_modules/vary/HISTORY.md +39 -0
  2383. package/node_modules/vary/LICENSE +22 -0
  2384. package/node_modules/vary/README.md +101 -0
  2385. package/node_modules/vary/index.js +149 -0
  2386. package/node_modules/vary/package.json +43 -0
  2387. package/node_modules/verror/CHANGES.md +28 -0
  2388. package/node_modules/verror/CONTRIBUTING.md +16 -0
  2389. package/node_modules/verror/LICENSE +19 -0
  2390. package/node_modules/verror/README.md +528 -0
  2391. package/node_modules/verror/lib/verror.js +451 -0
  2392. package/node_modules/verror/package.json +30 -0
  2393. package/node_modules/wordwrap/LICENSE +18 -0
  2394. package/node_modules/wordwrap/README.markdown +70 -0
  2395. package/node_modules/wordwrap/example/center.js +10 -0
  2396. package/node_modules/wordwrap/example/meat.js +3 -0
  2397. package/node_modules/wordwrap/index.js +76 -0
  2398. package/node_modules/wordwrap/package.json +34 -0
  2399. package/node_modules/wordwrap/test/break.js +32 -0
  2400. package/node_modules/wordwrap/test/idleness.txt +63 -0
  2401. package/node_modules/wordwrap/test/wrap.js +33 -0
  2402. package/node_modules/wrappy/LICENSE +15 -0
  2403. package/node_modules/wrappy/README.md +36 -0
  2404. package/node_modules/wrappy/package.json +29 -0
  2405. package/node_modules/wrappy/wrappy.js +33 -0
  2406. package/node_modules/ws/LICENSE +20 -0
  2407. package/node_modules/ws/README.md +548 -0
  2408. package/node_modules/ws/browser.js +8 -0
  2409. package/node_modules/ws/index.js +22 -0
  2410. package/node_modules/ws/lib/buffer-util.js +131 -0
  2411. package/node_modules/ws/lib/constants.js +19 -0
  2412. package/node_modules/ws/lib/event-target.js +292 -0
  2413. package/node_modules/ws/lib/extension.js +203 -0
  2414. package/node_modules/ws/lib/limiter.js +55 -0
  2415. package/node_modules/ws/lib/permessage-deflate.js +528 -0
  2416. package/node_modules/ws/lib/receiver.js +760 -0
  2417. package/node_modules/ws/lib/sender.js +607 -0
  2418. package/node_modules/ws/lib/stream.js +161 -0
  2419. package/node_modules/ws/lib/subprotocol.js +62 -0
  2420. package/node_modules/ws/lib/validation.js +152 -0
  2421. package/node_modules/ws/lib/websocket-server.js +562 -0
  2422. package/node_modules/ws/lib/websocket.js +1407 -0
  2423. package/node_modules/ws/package.json +70 -0
  2424. package/node_modules/ws/wrapper.mjs +21 -0
  2425. package/node_modules/xml-js/LICENSE +21 -0
  2426. package/node_modules/xml-js/README.md +390 -0
  2427. package/node_modules/xml-js/bin/cli-helper.js +47 -0
  2428. package/node_modules/xml-js/bin/cli.js +83 -0
  2429. package/node_modules/xml-js/bin/test.json +23 -0
  2430. package/node_modules/xml-js/bin/test.xml +3 -0
  2431. package/node_modules/xml-js/dist/xml-js.js +8310 -0
  2432. package/node_modules/xml-js/dist/xml-js.min.js +8 -0
  2433. package/node_modules/xml-js/index.js +1 -0
  2434. package/node_modules/xml-js/lib/array-helper.js +11 -0
  2435. package/node_modules/xml-js/lib/index.js +13 -0
  2436. package/node_modules/xml-js/lib/js2xml.js +320 -0
  2437. package/node_modules/xml-js/lib/json2xml.js +18 -0
  2438. package/node_modules/xml-js/lib/options-helper.js +43 -0
  2439. package/node_modules/xml-js/lib/xml2js.js +362 -0
  2440. package/node_modules/xml-js/lib/xml2json.js +22 -0
  2441. package/node_modules/xml-js/package.json +111 -0
  2442. package/node_modules/xml-js/types/index.d.ts +154 -0
  2443. package/node_modules/xml-js/types/tsconfig.json +14 -0
  2444. package/node_modules/xml-js/types/typings.json +4 -0
  2445. package/node_modules/xml-js/types/xml-js-tests.ts +60 -0
  2446. package/node_modules/xml-js/webpack.config.js +28 -0
  2447. package/node_modules/yaml/LICENSE +13 -0
  2448. package/node_modules/yaml/README.md +172 -0
  2449. package/node_modules/yaml/bin.mjs +11 -0
  2450. package/node_modules/yaml/browser/dist/compose/compose-collection.js +88 -0
  2451. package/node_modules/yaml/browser/dist/compose/compose-doc.js +43 -0
  2452. package/node_modules/yaml/browser/dist/compose/compose-node.js +109 -0
  2453. package/node_modules/yaml/browser/dist/compose/compose-scalar.js +86 -0
  2454. package/node_modules/yaml/browser/dist/compose/composer.js +219 -0
  2455. package/node_modules/yaml/browser/dist/compose/resolve-block-map.js +115 -0
  2456. package/node_modules/yaml/browser/dist/compose/resolve-block-scalar.js +198 -0
  2457. package/node_modules/yaml/browser/dist/compose/resolve-block-seq.js +49 -0
  2458. package/node_modules/yaml/browser/dist/compose/resolve-end.js +37 -0
  2459. package/node_modules/yaml/browser/dist/compose/resolve-flow-collection.js +207 -0
  2460. package/node_modules/yaml/browser/dist/compose/resolve-flow-scalar.js +225 -0
  2461. package/node_modules/yaml/browser/dist/compose/resolve-props.js +146 -0
  2462. package/node_modules/yaml/browser/dist/compose/util-contains-newline.js +34 -0
  2463. package/node_modules/yaml/browser/dist/compose/util-empty-scalar-position.js +26 -0
  2464. package/node_modules/yaml/browser/dist/compose/util-flow-indent-check.js +15 -0
  2465. package/node_modules/yaml/browser/dist/compose/util-map-includes.js +13 -0
  2466. package/node_modules/yaml/browser/dist/doc/Document.js +335 -0
  2467. package/node_modules/yaml/browser/dist/doc/anchors.js +71 -0
  2468. package/node_modules/yaml/browser/dist/doc/applyReviver.js +55 -0
  2469. package/node_modules/yaml/browser/dist/doc/createNode.js +88 -0
  2470. package/node_modules/yaml/browser/dist/doc/directives.js +176 -0
  2471. package/node_modules/yaml/browser/dist/errors.js +57 -0
  2472. package/node_modules/yaml/browser/dist/index.js +17 -0
  2473. package/node_modules/yaml/browser/dist/log.js +11 -0
  2474. package/node_modules/yaml/browser/dist/nodes/Alias.js +116 -0
  2475. package/node_modules/yaml/browser/dist/nodes/Collection.js +147 -0
  2476. package/node_modules/yaml/browser/dist/nodes/Node.js +38 -0
  2477. package/node_modules/yaml/browser/dist/nodes/Pair.js +36 -0
  2478. package/node_modules/yaml/browser/dist/nodes/Scalar.js +24 -0
  2479. package/node_modules/yaml/browser/dist/nodes/YAMLMap.js +144 -0
  2480. package/node_modules/yaml/browser/dist/nodes/YAMLSeq.js +113 -0
  2481. package/node_modules/yaml/browser/dist/nodes/addPairToJSMap.js +63 -0
  2482. package/node_modules/yaml/browser/dist/nodes/identity.js +36 -0
  2483. package/node_modules/yaml/browser/dist/nodes/toJS.js +37 -0
  2484. package/node_modules/yaml/browser/dist/parse/cst-scalar.js +214 -0
  2485. package/node_modules/yaml/browser/dist/parse/cst-stringify.js +61 -0
  2486. package/node_modules/yaml/browser/dist/parse/cst-visit.js +97 -0
  2487. package/node_modules/yaml/browser/dist/parse/cst.js +98 -0
  2488. package/node_modules/yaml/browser/dist/parse/lexer.js +721 -0
  2489. package/node_modules/yaml/browser/dist/parse/line-counter.js +39 -0
  2490. package/node_modules/yaml/browser/dist/parse/parser.js +975 -0
  2491. package/node_modules/yaml/browser/dist/public-api.js +102 -0
  2492. package/node_modules/yaml/browser/dist/schema/Schema.js +37 -0
  2493. package/node_modules/yaml/browser/dist/schema/common/map.js +17 -0
  2494. package/node_modules/yaml/browser/dist/schema/common/null.js +15 -0
  2495. package/node_modules/yaml/browser/dist/schema/common/seq.js +17 -0
  2496. package/node_modules/yaml/browser/dist/schema/common/string.js +14 -0
  2497. package/node_modules/yaml/browser/dist/schema/core/bool.js +19 -0
  2498. package/node_modules/yaml/browser/dist/schema/core/float.js +43 -0
  2499. package/node_modules/yaml/browser/dist/schema/core/int.js +38 -0
  2500. package/node_modules/yaml/browser/dist/schema/core/schema.js +23 -0
  2501. package/node_modules/yaml/browser/dist/schema/json/schema.js +62 -0
  2502. package/node_modules/yaml/browser/dist/schema/tags.js +96 -0
  2503. package/node_modules/yaml/browser/dist/schema/yaml-1.1/binary.js +58 -0
  2504. package/node_modules/yaml/browser/dist/schema/yaml-1.1/bool.js +26 -0
  2505. package/node_modules/yaml/browser/dist/schema/yaml-1.1/float.js +46 -0
  2506. package/node_modules/yaml/browser/dist/schema/yaml-1.1/int.js +71 -0
  2507. package/node_modules/yaml/browser/dist/schema/yaml-1.1/merge.js +67 -0
  2508. package/node_modules/yaml/browser/dist/schema/yaml-1.1/omap.js +74 -0
  2509. package/node_modules/yaml/browser/dist/schema/yaml-1.1/pairs.js +78 -0
  2510. package/node_modules/yaml/browser/dist/schema/yaml-1.1/schema.js +39 -0
  2511. package/node_modules/yaml/browser/dist/schema/yaml-1.1/set.js +93 -0
  2512. package/node_modules/yaml/browser/dist/schema/yaml-1.1/timestamp.js +101 -0
  2513. package/node_modules/yaml/browser/dist/stringify/foldFlowLines.js +146 -0
  2514. package/node_modules/yaml/browser/dist/stringify/stringify.js +129 -0
  2515. package/node_modules/yaml/browser/dist/stringify/stringifyCollection.js +153 -0
  2516. package/node_modules/yaml/browser/dist/stringify/stringifyComment.js +20 -0
  2517. package/node_modules/yaml/browser/dist/stringify/stringifyDocument.js +85 -0
  2518. package/node_modules/yaml/browser/dist/stringify/stringifyNumber.js +25 -0
  2519. package/node_modules/yaml/browser/dist/stringify/stringifyPair.js +150 -0
  2520. package/node_modules/yaml/browser/dist/stringify/stringifyString.js +336 -0
  2521. package/node_modules/yaml/browser/dist/util.js +11 -0
  2522. package/node_modules/yaml/browser/dist/visit.js +233 -0
  2523. package/node_modules/yaml/browser/index.js +5 -0
  2524. package/{lib/init/template/esm/files/package.json.hbs → node_modules/yaml/browser/package.json} +1 -1
  2525. package/node_modules/yaml/dist/cli.d.ts +8 -0
  2526. package/node_modules/yaml/dist/cli.mjs +201 -0
  2527. package/node_modules/yaml/dist/compose/compose-collection.d.ts +11 -0
  2528. package/node_modules/yaml/dist/compose/compose-collection.js +90 -0
  2529. package/node_modules/yaml/dist/compose/compose-doc.d.ts +7 -0
  2530. package/node_modules/yaml/dist/compose/compose-doc.js +45 -0
  2531. package/node_modules/yaml/dist/compose/compose-node.d.ts +29 -0
  2532. package/node_modules/yaml/dist/compose/compose-node.js +112 -0
  2533. package/node_modules/yaml/dist/compose/compose-scalar.d.ts +5 -0
  2534. package/node_modules/yaml/dist/compose/compose-scalar.js +88 -0
  2535. package/node_modules/yaml/dist/compose/composer.d.ts +63 -0
  2536. package/node_modules/yaml/dist/compose/composer.js +224 -0
  2537. package/node_modules/yaml/dist/compose/resolve-block-map.d.ts +6 -0
  2538. package/node_modules/yaml/dist/compose/resolve-block-map.js +117 -0
  2539. package/node_modules/yaml/dist/compose/resolve-block-scalar.d.ts +11 -0
  2540. package/node_modules/yaml/dist/compose/resolve-block-scalar.js +200 -0
  2541. package/node_modules/yaml/dist/compose/resolve-block-seq.d.ts +6 -0
  2542. package/node_modules/yaml/dist/compose/resolve-block-seq.js +51 -0
  2543. package/node_modules/yaml/dist/compose/resolve-end.d.ts +6 -0
  2544. package/node_modules/yaml/dist/compose/resolve-end.js +39 -0
  2545. package/node_modules/yaml/dist/compose/resolve-flow-collection.d.ts +7 -0
  2546. package/node_modules/yaml/dist/compose/resolve-flow-collection.js +209 -0
  2547. package/node_modules/yaml/dist/compose/resolve-flow-scalar.d.ts +10 -0
  2548. package/node_modules/yaml/dist/compose/resolve-flow-scalar.js +227 -0
  2549. package/node_modules/yaml/dist/compose/resolve-props.d.ts +23 -0
  2550. package/node_modules/yaml/dist/compose/resolve-props.js +148 -0
  2551. package/node_modules/yaml/dist/compose/util-contains-newline.d.ts +2 -0
  2552. package/node_modules/yaml/dist/compose/util-contains-newline.js +36 -0
  2553. package/node_modules/yaml/dist/compose/util-empty-scalar-position.d.ts +2 -0
  2554. package/node_modules/yaml/dist/compose/util-empty-scalar-position.js +28 -0
  2555. package/node_modules/yaml/dist/compose/util-flow-indent-check.d.ts +3 -0
  2556. package/node_modules/yaml/dist/compose/util-flow-indent-check.js +17 -0
  2557. package/node_modules/yaml/dist/compose/util-map-includes.d.ts +4 -0
  2558. package/node_modules/yaml/dist/compose/util-map-includes.js +15 -0
  2559. package/node_modules/yaml/dist/doc/Document.d.ts +141 -0
  2560. package/node_modules/yaml/dist/doc/Document.js +337 -0
  2561. package/node_modules/yaml/dist/doc/anchors.d.ts +24 -0
  2562. package/node_modules/yaml/dist/doc/anchors.js +76 -0
  2563. package/node_modules/yaml/dist/doc/applyReviver.d.ts +9 -0
  2564. package/node_modules/yaml/dist/doc/applyReviver.js +57 -0
  2565. package/node_modules/yaml/dist/doc/createNode.d.ts +17 -0
  2566. package/node_modules/yaml/dist/doc/createNode.js +90 -0
  2567. package/node_modules/yaml/dist/doc/directives.d.ts +49 -0
  2568. package/node_modules/yaml/dist/doc/directives.js +178 -0
  2569. package/node_modules/yaml/dist/errors.d.ts +21 -0
  2570. package/node_modules/yaml/dist/errors.js +62 -0
  2571. package/node_modules/yaml/dist/index.d.ts +25 -0
  2572. package/node_modules/yaml/dist/index.js +50 -0
  2573. package/node_modules/yaml/dist/log.d.ts +3 -0
  2574. package/node_modules/yaml/dist/log.js +19 -0
  2575. package/node_modules/yaml/dist/nodes/Alias.d.ts +29 -0
  2576. package/node_modules/yaml/dist/nodes/Alias.js +118 -0
  2577. package/node_modules/yaml/dist/nodes/Collection.d.ts +73 -0
  2578. package/node_modules/yaml/dist/nodes/Collection.js +151 -0
  2579. package/node_modules/yaml/dist/nodes/Node.d.ts +53 -0
  2580. package/node_modules/yaml/dist/nodes/Node.js +40 -0
  2581. package/node_modules/yaml/dist/nodes/Pair.d.ts +22 -0
  2582. package/node_modules/yaml/dist/nodes/Pair.js +39 -0
  2583. package/node_modules/yaml/dist/nodes/Scalar.d.ts +47 -0
  2584. package/node_modules/yaml/dist/nodes/Scalar.js +27 -0
  2585. package/node_modules/yaml/dist/nodes/YAMLMap.d.ts +53 -0
  2586. package/node_modules/yaml/dist/nodes/YAMLMap.js +147 -0
  2587. package/node_modules/yaml/dist/nodes/YAMLSeq.d.ts +60 -0
  2588. package/node_modules/yaml/dist/nodes/YAMLSeq.js +115 -0
  2589. package/node_modules/yaml/dist/nodes/addPairToJSMap.d.ts +4 -0
  2590. package/node_modules/yaml/dist/nodes/addPairToJSMap.js +65 -0
  2591. package/node_modules/yaml/dist/nodes/identity.d.ts +23 -0
  2592. package/node_modules/yaml/dist/nodes/identity.js +53 -0
  2593. package/node_modules/yaml/dist/nodes/toJS.d.ts +29 -0
  2594. package/node_modules/yaml/dist/nodes/toJS.js +39 -0
  2595. package/node_modules/yaml/dist/options.d.ts +350 -0
  2596. package/node_modules/yaml/dist/parse/cst-scalar.d.ts +64 -0
  2597. package/node_modules/yaml/dist/parse/cst-scalar.js +218 -0
  2598. package/node_modules/yaml/dist/parse/cst-stringify.d.ts +8 -0
  2599. package/node_modules/yaml/dist/parse/cst-stringify.js +63 -0
  2600. package/node_modules/yaml/dist/parse/cst-visit.d.ts +39 -0
  2601. package/node_modules/yaml/dist/parse/cst-visit.js +99 -0
  2602. package/node_modules/yaml/dist/parse/cst.d.ts +109 -0
  2603. package/node_modules/yaml/dist/parse/cst.js +112 -0
  2604. package/node_modules/yaml/dist/parse/lexer.d.ts +87 -0
  2605. package/node_modules/yaml/dist/parse/lexer.js +723 -0
  2606. package/node_modules/yaml/dist/parse/line-counter.d.ts +22 -0
  2607. package/node_modules/yaml/dist/parse/line-counter.js +41 -0
  2608. package/node_modules/yaml/dist/parse/parser.d.ts +84 -0
  2609. package/node_modules/yaml/dist/parse/parser.js +980 -0
  2610. package/node_modules/yaml/dist/public-api.d.ts +44 -0
  2611. package/node_modules/yaml/dist/public-api.js +107 -0
  2612. package/node_modules/yaml/dist/schema/Schema.d.ts +17 -0
  2613. package/node_modules/yaml/dist/schema/Schema.js +39 -0
  2614. package/node_modules/yaml/dist/schema/common/map.d.ts +2 -0
  2615. package/node_modules/yaml/dist/schema/common/map.js +19 -0
  2616. package/node_modules/yaml/dist/schema/common/null.d.ts +4 -0
  2617. package/node_modules/yaml/dist/schema/common/null.js +17 -0
  2618. package/node_modules/yaml/dist/schema/common/seq.d.ts +2 -0
  2619. package/node_modules/yaml/dist/schema/common/seq.js +19 -0
  2620. package/node_modules/yaml/dist/schema/common/string.d.ts +2 -0
  2621. package/node_modules/yaml/dist/schema/common/string.js +16 -0
  2622. package/node_modules/yaml/dist/schema/core/bool.d.ts +4 -0
  2623. package/node_modules/yaml/dist/schema/core/bool.js +21 -0
  2624. package/node_modules/yaml/dist/schema/core/float.d.ts +4 -0
  2625. package/node_modules/yaml/dist/schema/core/float.js +47 -0
  2626. package/node_modules/yaml/dist/schema/core/int.d.ts +4 -0
  2627. package/node_modules/yaml/dist/schema/core/int.js +42 -0
  2628. package/node_modules/yaml/dist/schema/core/schema.d.ts +1 -0
  2629. package/node_modules/yaml/dist/schema/core/schema.js +25 -0
  2630. package/node_modules/yaml/dist/schema/json/schema.d.ts +2 -0
  2631. package/node_modules/yaml/dist/schema/json/schema.js +64 -0
  2632. package/node_modules/yaml/dist/schema/json-schema.d.ts +69 -0
  2633. package/node_modules/yaml/dist/schema/tags.d.ts +48 -0
  2634. package/node_modules/yaml/dist/schema/tags.js +99 -0
  2635. package/node_modules/yaml/dist/schema/types.d.ts +92 -0
  2636. package/node_modules/yaml/dist/schema/yaml-1.1/binary.d.ts +2 -0
  2637. package/node_modules/yaml/dist/schema/yaml-1.1/binary.js +70 -0
  2638. package/node_modules/yaml/dist/schema/yaml-1.1/bool.d.ts +7 -0
  2639. package/node_modules/yaml/dist/schema/yaml-1.1/bool.js +29 -0
  2640. package/node_modules/yaml/dist/schema/yaml-1.1/float.d.ts +4 -0
  2641. package/node_modules/yaml/dist/schema/yaml-1.1/float.js +50 -0
  2642. package/node_modules/yaml/dist/schema/yaml-1.1/int.d.ts +5 -0
  2643. package/node_modules/yaml/dist/schema/yaml-1.1/int.js +76 -0
  2644. package/node_modules/yaml/dist/schema/yaml-1.1/merge.d.ts +9 -0
  2645. package/node_modules/yaml/dist/schema/yaml-1.1/merge.js +71 -0
  2646. package/node_modules/yaml/dist/schema/yaml-1.1/omap.d.ts +22 -0
  2647. package/node_modules/yaml/dist/schema/yaml-1.1/omap.js +77 -0
  2648. package/node_modules/yaml/dist/schema/yaml-1.1/pairs.d.ts +10 -0
  2649. package/node_modules/yaml/dist/schema/yaml-1.1/pairs.js +82 -0
  2650. package/node_modules/yaml/dist/schema/yaml-1.1/schema.d.ts +1 -0
  2651. package/node_modules/yaml/dist/schema/yaml-1.1/schema.js +41 -0
  2652. package/node_modules/yaml/dist/schema/yaml-1.1/set.d.ts +28 -0
  2653. package/node_modules/yaml/dist/schema/yaml-1.1/set.js +96 -0
  2654. package/node_modules/yaml/dist/schema/yaml-1.1/timestamp.d.ts +6 -0
  2655. package/node_modules/yaml/dist/schema/yaml-1.1/timestamp.js +105 -0
  2656. package/node_modules/yaml/dist/stringify/foldFlowLines.d.ts +34 -0
  2657. package/node_modules/yaml/dist/stringify/foldFlowLines.js +151 -0
  2658. package/node_modules/yaml/dist/stringify/stringify.d.ts +21 -0
  2659. package/node_modules/yaml/dist/stringify/stringify.js +132 -0
  2660. package/node_modules/yaml/dist/stringify/stringifyCollection.d.ts +17 -0
  2661. package/node_modules/yaml/dist/stringify/stringifyCollection.js +155 -0
  2662. package/node_modules/yaml/dist/stringify/stringifyComment.d.ts +10 -0
  2663. package/node_modules/yaml/dist/stringify/stringifyComment.js +24 -0
  2664. package/node_modules/yaml/dist/stringify/stringifyDocument.d.ts +4 -0
  2665. package/node_modules/yaml/dist/stringify/stringifyDocument.js +87 -0
  2666. package/node_modules/yaml/dist/stringify/stringifyNumber.d.ts +2 -0
  2667. package/node_modules/yaml/dist/stringify/stringifyNumber.js +27 -0
  2668. package/node_modules/yaml/dist/stringify/stringifyPair.d.ts +3 -0
  2669. package/node_modules/yaml/dist/stringify/stringifyPair.js +152 -0
  2670. package/node_modules/yaml/dist/stringify/stringifyString.d.ts +9 -0
  2671. package/node_modules/yaml/dist/stringify/stringifyString.js +338 -0
  2672. package/node_modules/yaml/dist/test-events.d.ts +4 -0
  2673. package/node_modules/yaml/dist/test-events.js +134 -0
  2674. package/node_modules/yaml/dist/util.d.ts +16 -0
  2675. package/node_modules/yaml/dist/util.js +28 -0
  2676. package/node_modules/yaml/dist/visit.d.ts +102 -0
  2677. package/node_modules/yaml/dist/visit.js +236 -0
  2678. package/node_modules/yaml/package.json +97 -0
  2679. package/node_modules/yaml/util.js +2 -0
  2680. package/package.json +117 -8
  2681. package/bin/data-products/get-csn-via-dp-cli.js +0 -41
  2682. package/bin/extend.js +0 -74
  2683. package/bin/migrate.js +0 -66
  2684. package/lib/init/template/containerize/index.js +0 -22
  2685. package/lib/init/template/helm/index.js +0 -163
  2686. package/lib/init/template/helm-unified-runtime/index.js +0 -65
  2687. package/lib/init/template/html5-repo/files/html5-deployer.package.json.hbs +0 -11
  2688. package/lib/mtx/download_legacy.js +0 -43
  2689. package/lib/mtx/util/legacy_ext.js +0 -15
  2690. package/npm-shrinkwrap.json +0 -1738
@@ -0,0 +1,1905 @@
1
+ 'use strict';
2
+
3
+ const { setProp } = require('../utils/objectUtils');
4
+ const { isBetaEnabled } = require('../base/specialOptions');
5
+ const { makeMessageFunction } = require('../base/messages');
6
+ const { recompileX } = require('../compiler/index');
7
+ const {
8
+ linkToOrigin,
9
+ pathName,
10
+ forEachGeneric,
11
+ forEachDefinition,
12
+ } = require('../compiler/utils');
13
+ const { compactModel, compactExpr } = require('../json/to-csn');
14
+ const { deduplicateMessages } = require('../base/messages');
15
+ const { timetrace } = require('../utils/timetrace');
16
+ const { CompilerAssertion } = require('../base/error');
17
+ // Paths that start with an artifact of protected kind are special
18
+ // either ignore them in QAT building or in path rewriting
19
+ const internalArtifactKinds = [ 'builtin', '$parameters', 'param' ];
20
+
21
+ function translateAssocsToJoinsCSN(csn, options) {
22
+ timetrace.start('A2J: Recompiling model');
23
+ // Do not re-complain about localized
24
+ const compileOptions = { ...options, $skipNameCheck: true };
25
+ delete compileOptions.csnFlavor;
26
+
27
+ const model = recompileX(csn, compileOptions);
28
+ timetrace.stop('A2J: Recompiling model');
29
+ timetrace.start('A2J: Translating associations to joins');
30
+ translateAssocsToJoins(model, options);
31
+ timetrace.stop('A2J: Translating associations to joins');
32
+ // Use the effective elements list as columns
33
+ forEachDefinition(model, (art) => {
34
+ if (art.$queries) {
35
+ for (const query of art.$queries) {
36
+ query.columns = Object.values(query.elements);
37
+ // TODO: Remove viaAll
38
+ for (const elemName in query.elements) {
39
+ const elem = query.elements[elemName];
40
+ if (elem.$inferred === '*')
41
+ delete elem.$inferred;
42
+ }
43
+ }
44
+ }
45
+ });
46
+
47
+ if (options.messages) {
48
+ // Make sure that we don't complain twice about the same things
49
+ deduplicateMessages( options.messages );
50
+ }
51
+
52
+ return compactModel(model, compileOptions);
53
+ }
54
+
55
+ function translateAssocsToJoins(model, inputOptions = {}) {
56
+ const { error, warning, throwWithError } = makeMessageFunction(model, inputOptions, 'a2j');
57
+
58
+ const options = model.options || inputOptions;
59
+
60
+ // create JOINs for foreign key paths
61
+ const noJoinForFK = options.forHana ? !options.joinfk : true;
62
+
63
+ // Note: This is called from the 'forHana' transformations, so it is controlled by its options
64
+ const pathDelimiter = (options.forHana && options.sqlMapping === 'hdbcds') ? '.' : '_';
65
+
66
+ forEachDefinition(model, prepareAssociations);
67
+ forEachDefinition(model, transformQueries);
68
+
69
+ // If A2J reports error - end! Continuing with a broken model makes no sense
70
+ throwWithError();
71
+
72
+ return model;
73
+
74
+ function prepareAssociations(art) {
75
+ if (art.kind === 'element' && art.target) {
76
+ /* Create the prefix string up to the main artifact which is
77
+ prepended to all source side paths of the resulting ON condition
78
+ (cut off name.id from name.element)
79
+ */
80
+ art.$elementPrefix = '';
81
+ for (let parent = art._parent; parent?.kind === 'element'; parent = parent._parent)
82
+ art.$elementPrefix = parent.name.id + pathDelimiter + art.$elementPrefix;
83
+
84
+ /*
85
+ Create path prefix tree for Foreign Keys, required to substitute
86
+ aliases in ON cond calculation, also very useful to detect fk overlaps.
87
+ */
88
+ if (art.foreignKeys && !art.$fkPathPrefixTree) {
89
+ art.$fkPathPrefixTree = { children: Object.create(null) };
90
+ forEachGeneric(art, 'foreignKeys', (fk) => {
91
+ let ppt = art.$fkPathPrefixTree;
92
+ fk.targetElement.path.forEach((ps) => {
93
+ ppt.children[ps.id] ??= { children: Object.create(null) };
94
+ ppt = ppt.children[ps.id];
95
+ });
96
+ ppt._fk = fk;
97
+ });
98
+ }
99
+ }
100
+ // drill into structures
101
+ forEachGeneric(art, 'elements', prepareAssociations);
102
+ }
103
+
104
+ function transformQueries(art) {
105
+ if (art.$queries === undefined)
106
+ return;
107
+
108
+ function forEachQuery(callback, env) {
109
+ art.$queries.forEach((q, i) => {
110
+ if (env !== undefined)
111
+ env.queryIndex = i;
112
+ callback(q, env);
113
+ });
114
+ }
115
+
116
+ const env = {
117
+ aliasCount: 0,
118
+ walkover: {
119
+ from: true, onCondFrom: true, select: true, filter: true,
120
+ },
121
+ };
122
+ /*
123
+ Setup QAs for mixins
124
+ Mark all mixin assoc definitions with a pseudo QA that points to the assoc target.
125
+ This QA is required to detect mixin assoc usages to decide whether a minimum or full
126
+ join needs to be done
127
+ */
128
+ forEachQuery(createQAForMixinAssoc, env);
129
+
130
+ /*
131
+ Setup QATs and leaf QAs (@ query and subqueries in from clause)
132
+ a) For all paths in a query create the path prefix trees aka QATs.
133
+ Paths that start with a mixin assoc are Qat'ed into the mixin definition.
134
+ If a mixin assoc is published, its leaf Qat receives the pseudo QA(view) from the rootQat,
135
+ which is the mixin definition itself. See 1a)
136
+ b) Create QAs for FROM clause subqueries, as they are not yet swept by the path walk
137
+ */
138
+ env.callback = mergePathIntoQAT;
139
+ forEachQuery(walkQuery, env);
140
+
141
+ forEachQuery(createQAForFromClauseSubQuery, env);
142
+
143
+ // 2) Walk over each from table path, transform it into a join tree
144
+ env.walkover = {
145
+ from: true, onCondFrom: false, select: false, filter: false,
146
+ };
147
+ env.callback = createInnerJoins;
148
+ forEachQuery(walkQuery, env);
149
+
150
+ // 3) Transform all remaining join relevant paths into left outer joins and connect with
151
+ // FROM block join tree. Instead of walking paths it is sufficient to process the $qat
152
+ // of each $tableAlias.
153
+ forEachQuery(createLeftOuterJoins, env);
154
+
155
+ // 4) Rewrite ON condition paths that are part of the original FROM block
156
+ // (same rewrite as (injected) assoc ON cond paths but with different table alias).
157
+ // 5) Prepend table alias to all remaining paths
158
+ env.walkover = {
159
+ from: false, onCondFrom: true, select: true, filter: false, virtual: true,
160
+ };
161
+ env.callback = substituteDollarSelf;
162
+ forEachQuery(walkQuery, env);
163
+ env.callback = rewriteGenericPaths;
164
+ forEachQuery(walkQuery, env);
165
+
166
+ // 6) Attach firstFilterConds to Where Condition.
167
+ forEachQuery(attachFirstFilterConditions);
168
+ }
169
+
170
+ // Transform each FROM table path into a join tree and attach the tree to the path object
171
+ function createInnerJoins(fromPathNode, env) {
172
+ const fqat = env.lead.$tableAliases[fromPathNode.name.id].$fqat;
173
+ const joinTree = createJoinTree(env, undefined, fqat, 'inner', '$fqat', undefined);
174
+
175
+ replaceTableAliasInPlace( fromPathNode, joinTree);
176
+ }
177
+
178
+ // Translate all other join relevant query paths into left outer join tree and attach it to the lead query
179
+ function createLeftOuterJoins(query, env) {
180
+ if (query.op.val === 'SELECT') {
181
+ env.lead = query;
182
+ let joinTree = query.from;
183
+ for (const tan in query.$tableAliases) {
184
+ if (query.$tableAliases[tan].kind !== '$self') { // don't drive into $projection/$self tableAlias (yet)
185
+ const ta = query.$tableAliases[tan];
186
+ joinTree = createJoinTree(env, joinTree, ta.$qat, 'left', '$qat', ta.$QA);
187
+ }
188
+ }
189
+ query.from = joinTree;
190
+ }
191
+ }
192
+
193
+ /*
194
+ Each leaf node of a table path must end in either a direct or a target artifact.
195
+ During mergePathIntoQat() this 'leaf' artifact is marked as a QA at the corresponding
196
+ 'leaf' QAT and to the respective $tableAlias which is used to link paths to the correct
197
+ table alias. Subqueries are not considered in the mergePathIntoQat(), so a subquery QA
198
+ must be created and added separately to the lead query $tableAlias'es.
199
+ Also, the name of the subquery (the alias) needs to be set to the final QA alias name.
200
+ */
201
+ function createQAForFromClauseSubQuery(query, env) {
202
+ for (const taName in query.$tableAliases) {
203
+ if (query.$tableAliases[taName].kind !== '$self') {
204
+ const ta = query.$tableAliases[taName];
205
+ if (!ta.$QA) {
206
+ let alias = taName;
207
+ if (ta.name.$inferred === '$internal') {
208
+ // query has no explicit table alias, i.e. is internal: make it visible and remove `$`
209
+ alias = ta.name.id.replace(/^[$]/, '_');
210
+ ta.$inferred = undefined;
211
+ ta.name.$inferred = undefined;
212
+ }
213
+ ta.$QA = createQA(env, ta._origin, alias, undefined);
214
+ incAliasCount(env, ta.$QA);
215
+ if (ta.name && ta.name.id)
216
+ ta.name.id = ta.$QA.name.id;
217
+ }
218
+ }
219
+ }
220
+ // Only subqueries of the FROM clause have a name (which is the alias)
221
+ // TODO Discuss: a query does not have a name.id anymore
222
+ // const queryAlias = query._parent; // parent could also be outer query, or main entity
223
+ // if(query.op.val === 'SELECT' && query.name.id && queryAlias && queryAlias.kind === '$tableAlias')
224
+ // {
225
+ // query.name.id = queryAlias._parent.$tableAliases[query.name.id].$QA.name.id;
226
+ // }
227
+ }
228
+
229
+ /*
230
+ Add an artificial QA for each mixin definition. This QA completes the QAT
231
+ data-structure that requires a QA at the rootQat before starting the join generation.
232
+ This QA is marked as 'mixin' which indicates that the paths of the ON condition must
233
+ not receive the usual source and target table alias (which is used for generic associations)
234
+ but instead just use the rootQA of the individual ON condition paths. These paths are
235
+ resolved against the FROM clause and must of course be connected to the respective table
236
+ aliases.
237
+
238
+ */
239
+ function createQAForMixinAssoc(query, env) {
240
+ if (query.op.val === 'SELECT') {
241
+ env.lead = query;
242
+ // use view as QA origin
243
+ forEachGeneric(query, 'mixin', (art) => {
244
+ if (!art.$QA) {
245
+ art.$QA = createQA(env, art.target._artifact, art.name.id );
246
+ art.$QA.mixin = true;
247
+ }
248
+ });
249
+ }
250
+ }
251
+
252
+ /*
253
+ Substitute $self/$projection expression with its value
254
+ */
255
+ function substituteDollarSelf(pathNode, env) {
256
+ // do not substitute $self values for outer order by clauses
257
+ if (env?.location === 'UnionOuterOrderBy')
258
+ return;
259
+
260
+ let pathValue = pathNode;
261
+ let [ head, ...tail ] = pathValue.path;
262
+ while (tail.length && head._navigation?.kind === '$self') {
263
+ const self = head;
264
+ [ head, ...tail ] = tail;
265
+ if (head) {
266
+ pathValue = self._navigation._origin.elements[head.id].value;
267
+ // core compiler has already caught $self.<assoc>.<postfix> and
268
+ // non-path $self expressions with postfix path
269
+ if (pathValue.path) {
270
+ if (tail.length)
271
+ pathValue = constructPathNode([ ...pathValue.path, ...tail ], pathValue.alias, false);
272
+ [ head, ...tail ] = pathValue.path;
273
+ }
274
+ }
275
+ }
276
+ if (head)
277
+ replaceNodeContent(pathNode, pathValue);
278
+ }
279
+
280
+ /*
281
+ Prefix all paths with table alias (or replace existing alias)
282
+
283
+ Rewrite a given path of the native ON condition to TableAlias.ColumnName
284
+ and substitute all eventually occurring foreign key path segments against
285
+ the respective FK aliases.
286
+ No flattening of structured leaf types necessary, this is done in renderer
287
+ */
288
+ function rewriteGenericPaths(pathNode, env) {
289
+ if (pathNode.$rewritten)
290
+ return;
291
+
292
+ if (env.location === 'onCondFrom') {
293
+ if (checkPathDictionary(pathNode, env)) {
294
+ const [ tableAlias, tail ] = constructTableAliasAndTailPath(pathNode.path);
295
+ const pathStr = translateONCondPath(tail).map(ps => ps.id).join(pathDelimiter);
296
+ replaceNodeContent(pathNode,
297
+ constructPathNode([ tableAlias, { id: pathStr, _artifact: pathNode._artifact } ]));
298
+ }
299
+ }
300
+ else {
301
+ // Paths without _navigation in ORDER BY are select item aliases, they must
302
+ // be rendered verbatim
303
+ // eslint-disable-next-line prefer-const
304
+ let [ head, ...tail ] = pathNode.path;
305
+ if ((env.location === 'OrderBy' && !head._navigation) ||
306
+ env.location === 'UnionOuterOrderBy' && (!head._navigation || [ '$self', '$projection' ].includes(head.id)))
307
+ return;
308
+
309
+ // path outside ON cond:
310
+ // spin the crystal ball to identify the correct table alias
311
+
312
+ // pop ta ps
313
+ if (head._navigation.kind !== '$tableAlias')
314
+ tail = pathNode.path;
315
+ const rootQA = head._navigation._parent.$QA || head._navigation.$QA;
316
+ // if tail.length > 1, search bottom up for QA
317
+ // default to rootQA, _parent.$QA has precedence
318
+ const [ QA, ps ] = rightMostJoinRelevantQA(tail, rootQA);
319
+ if (!QA) {
320
+ error(null, pathNode.$location,
321
+ { name: pathName(pathNode.path) },
322
+ 'Debug me: No QA found for generic path rewriting in $(NAME)');
323
+ return;
324
+ }
325
+ // if the found QA is the mixin QA and if the path length is one,
326
+ // this indicates the publishing of a mixin assoc, don't rewrite the path
327
+ if (QA.mixin && tail.length === 1)
328
+ return;
329
+ let pos = tail.indexOf(ps);
330
+ // cut off ps if it's a join relevant association with postfix
331
+ if (tail.length - (pos + 1) > 0 && ps._artifact.target && (rootQA.mixin || rootQA !== QA))
332
+ pos++;
333
+ // QA + tail is the rewritten path
334
+ tail = tail.slice(pos);
335
+
336
+ // leave virtual paths as is
337
+ if ( tail.at(-1)._artifact.virtual?.val ) {
338
+ replaceNodeContent(pathNode, constructPathNode([ constructTableAliasPathStep(QA), ...tail ]));
339
+ return;
340
+ }
341
+
342
+ // check from left to right (longest match) if a subsequent QAT is $njr
343
+ // if so, substitute path with pregenerated foreign key, prepend by optional
344
+ // (to be flattened) prefix
345
+ for (let i = 0; i < tail.length - 1; i++) {
346
+ if (tail[i]._navigation) {
347
+ // the correct flattened foreign key must match the leaf artifact and access path prefix of this path
348
+ const fk = findForeignKey(tail[i], tail[i + 1]);
349
+
350
+ // if the assoc is not join relevant, we should have found the foreign key
351
+ if (tail[i]._navigation.$njr && !fk)
352
+ throw new CompilerAssertion('Debug me: No FK found for FK rewriting');
353
+ }
354
+ }
355
+ const newTail = [];
356
+ // construct the tail (segment after last join relevant navigation) and preserve association steps
357
+ // each association may have a structured prefix
358
+ // `struct.foo.bar.assoc. otherStruct.baz.otherAssoc.fk`
359
+ // --> `[otherStruct_baz_otherAssoc, fk]
360
+ for (let i = 0; i < tail.length; i++) {
361
+ if (tail[i]._navigation) {
362
+ const nextNavigation = tail.slice(i + 1).findIndex(ps => ps._navigation);
363
+ if (nextNavigation >= 0) {
364
+ newTail.push({
365
+ id: tail.slice(i, i + 1 + nextNavigation).map(ps => ps.id).join(pathDelimiter),
366
+ _artifact: tail[i + nextNavigation]._artifact,
367
+ });
368
+ }
369
+ else {
370
+ newTail.push({
371
+ id: tail.slice(i).map(ps => ps.id).join(pathDelimiter),
372
+ _artifact: tail.at(-1)._artifact,
373
+ });
374
+ }
375
+ }
376
+ }
377
+ replaceNodeContent(pathNode,
378
+ constructPathNode([ constructTableAliasPathStep(QA), ...newTail ]));
379
+ }
380
+
381
+ function findForeignKey(assoc, fk) {
382
+ return Object.values(assoc._artifact.foreignKeys).find(k => k.targetElement._artifact === fk._artifact);
383
+ }
384
+
385
+ /**
386
+ * Search right-to-left for first QA that matches either
387
+ * - a $tableAlias
388
+ * - or an association (skip this QA if postfix path is foreign key)
389
+ *
390
+ * If no QA found, return rootQA with first path step.
391
+ */
392
+ function rightMostJoinRelevantQA(path, rootQA) {
393
+ /*
394
+ Search right to left to find first QA in QAT tree
395
+ Start with n-1st path element (to not find QA for exposed
396
+ nested association).
397
+ If no QA could be found, return rootQA with first path
398
+ step.
399
+ */
400
+ let QA;
401
+ let pl = path.length - 1;
402
+ let ps = path[pl]; // return [null, ps] for pl==0
403
+ while (!QA && pl > 0) {
404
+ const next = ps;
405
+ ps = path[--pl];
406
+ if (ps._navigation) {
407
+ const tailIsFk = !ps.where && !ps.args && ps._artifact.foreignKeys && findForeignKey(ps, next);
408
+ if (tailIsFk)
409
+ continue;
410
+ QA = ps._navigation.$QA;
411
+ }
412
+ }
413
+ return [ (QA || rootQA), ps ];
414
+ }
415
+ }
416
+
417
+ /*
418
+ AND filter conditions of the first path steps of the FROM clause to the WHERE condition.
419
+ If WHERE does not exist, create a new one. This step must be done after rewriteGenericPaths()
420
+ as the filter expressions would be traversed twice.
421
+ */
422
+ function attachFirstFilterConditions(query) {
423
+ if (query.$startFilters) {
424
+ if (query.where) {
425
+ if (query.where.op.val === 'and')
426
+ query.where.args.push(...query.$startFilters.map(parenthesise));
427
+ else
428
+ query.where = { op: { val: 'and' }, args: [ parenthesise(query.where), ...query.$startFilters.map(parenthesise) ] };
429
+ }
430
+ else {
431
+ query.where = query.$startFilters.length > 1
432
+ ? { op: { val: 'and' }, args: query.$startFilters.map(parenthesise) }
433
+ : parenthesise(query.$startFilters[0]);
434
+ }
435
+ }
436
+ }
437
+
438
+ /*
439
+ Transform a QATree into a JOIN tree
440
+ Starting from a root (parentQat) follow all QAT children and in
441
+ case QAT.origin is an association, create a new JOIN node using
442
+ the existing joinTree as LHS and the QAT.QA as RHS.
443
+ */
444
+ function createJoinTree(env, joinTree, parentQat, joinType, qatAttribName, lastAssocQA) {
445
+ for (const childQatId in parentQat) {
446
+ const childQat = parentQat[childQatId];
447
+
448
+ // If this QAT is not join relevant, don't drill down any further but
449
+ // continue with current parentQat
450
+ if (!childQat.$njr) {
451
+ let newAssocLHS = lastAssocQA;
452
+ const art = childQat._origin;
453
+ if (art.kind === 'entity') {
454
+ if (!childQat.$QA)
455
+ childQat.$QA = createQA(env, art, art.name.id.split('.').pop(), childQat._namedArgs);
456
+ incAliasCount(env, childQat.$QA);
457
+ newAssocLHS = childQat.$QA;
458
+
459
+ if (joinTree === undefined) { // This is the first artifact in the JOIN tree
460
+ joinTree = childQat.$QA;
461
+ // Collect the toplevel filters and add them to the where condition
462
+ if (childQat._filter) {
463
+ // Filter conditions are unique for each JOIN, they don't need to be copied
464
+ const filter = childQat._filter;
465
+ rewritePathsInFilterExpression(filter, pathNode => [ /* tableAlias=> */ constructTableAliasPathStep(childQat.$QA),
466
+ /* filterPath=> */ pathNode.path ], env);
467
+
468
+ if (!env.lead.$startFilters)
469
+ env.lead.$startFilters = [];
470
+ env.lead.$startFilters.push( filter );
471
+ }
472
+ }
473
+ }
474
+ else if (art.target) { // it's not an artifact, so it should be an assoc step
475
+ if (joinTree === undefined)
476
+ throw new CompilerAssertion('Can\'t follow Associations without starting Entity');
477
+
478
+ if (!childQat.$QA)
479
+ childQat.$QA = createQA(env, art.target._artifact, art.name.id, childQat._namedArgs);
480
+
481
+ incAliasCount(env, childQat.$QA);
482
+ joinTree = createJoinQA(joinType, joinTree, childQat.$QA, childQat, lastAssocQA, env);
483
+ newAssocLHS = childQat.$QA;
484
+ }
485
+ // Follow the children of this QAT to append more JOIN nodes
486
+ joinTree = createJoinTree(env, joinTree, childQat[qatAttribName], joinType, qatAttribName, newAssocLHS);
487
+ }
488
+ }
489
+ return joinTree;
490
+ }
491
+
492
+ function createJoinQA(joinType, lhs, rhs, assocQAT, assocSourceQA, env) {
493
+ const node = { op: { val: 'join' }, join: { val: joinType }, args: [ lhs, rhs ] };
494
+ const assoc = assocQAT._origin;
495
+ if (isBetaEnabled(options, 'mapAssocToJoinCardinality'))
496
+ node.cardinality = mapAssocToJoinCardinality(assoc);
497
+
498
+ // 'path steps' for the src/tgt table alias
499
+ const srcTableAlias = constructTableAliasPathStep(assocSourceQA);
500
+ const tgtTableAlias = constructTableAliasPathStep(assocQAT.$QA);
501
+
502
+ node.on = createOnCondition(assoc, srcTableAlias, tgtTableAlias, options.tenantDiscriminator);
503
+
504
+ if (assocQAT._filter) {
505
+ // Filter conditions are unique for each JOIN, they don't need to be copied
506
+ const filter = assocQAT._filter;
507
+ rewritePathsInFilterExpression(filter, pathNode => [ tgtTableAlias, pathNode.path ], env);
508
+
509
+ // If toplevel ON cond op is AND add filter condition to the args array,
510
+ // create a new toplevel AND op otherwise
511
+ const onCond = (Array.isArray(node.on) ? node.on[0] : node.on);
512
+
513
+ if (filter.args?.length !== 0) {
514
+ if (onCond.op.val === 'and')
515
+ onCond.args.push(parenthesise(filter));
516
+ else
517
+ node.on = parenthesise({ op: { val: 'and' }, args: [ parenthesise(onCond), parenthesise(filter) ] });
518
+ }
519
+ }
520
+ return node;
521
+
522
+ /*
523
+ Map assoc cardinality to allowed JOIN cardinality
524
+
525
+ Allowed join cardinalities are:
526
+ [ EXACT ] ONE | MANY TO [ EXACT ] ONE | MANY
527
+
528
+ Source side EXACT ONE is not applicable with CSN due to missing
529
+ sourceMin/Max
530
+
531
+ Mapping:
532
+
533
+ sourceMax != 1 > MANY, sourceMax = 1 > ONE
534
+ targetMax != 1 > MANY, targetMax = 1 > ONE
535
+ targetMin = 1 && targetMax = 1 > EXACT ONE
536
+
537
+ Default is the CDS default for Association
538
+ sourceMax = *, targetMax = 1 > MANY TO ONE
539
+
540
+ Default is the CDS default for Composition
541
+ sourceMin = 1, sourceMax = 1, targetMax = 1 > EXACT ONE TO ONE
542
+ */
543
+ function mapAssocToJoinCardinality(assoc) {
544
+ /** @type {object} */
545
+ const xsnCard = {
546
+ targetMax: { literal: 'number', val: 1 },
547
+ };
548
+ if (assoc.type._artifact._effectiveType.name.id === 'cds.Composition') {
549
+ xsnCard.sourceMin = { literal: 'number', val: 1 };
550
+ xsnCard.sourceMax = { literal: 'number', val: 1 };
551
+ }
552
+ else {
553
+ xsnCard.sourceMax = { literal: 'string', val: '*' };
554
+ }
555
+
556
+ if (assoc.cardinality) {
557
+ if (assoc.cardinality.sourceMax && assoc.cardinality.sourceMax.val === 1) {
558
+ xsnCard.sourceMax.literal = 'number';
559
+ xsnCard.sourceMax.val = 1;
560
+ }
561
+ if (assoc.cardinality.targetMax && assoc.cardinality.targetMax.val !== 1) {
562
+ xsnCard.targetMax.literal = 'string';
563
+ xsnCard.targetMax.val = '*';
564
+ }
565
+ else if (assoc.cardinality.targetMin && assoc.cardinality.targetMin.val === 1) {
566
+ xsnCard.targetMin = { literal: 'number', val: 1 };
567
+ }
568
+ }
569
+ return xsnCard;
570
+ }
571
+ // produce the ON condition for a given association
572
+ function createOnCondition(assoc, srcAlias, tgtAlias, compareTenants) {
573
+ const prefixes = [ assoc.name.id ];
574
+ /* This is no art and can be removed once ON cond for published
575
+ and renamed backlink assocs are publicly available. Example:
576
+
577
+ entity E { ...; toE: association to E; toEb: association to E on $self = toEb.toE; };
578
+ entity EP as projection on E { *, toEb as foo };
579
+ This requires ON cond rewritten to: $self = foo.toE but instead its still $self = toEb.toE,
580
+ so prefix 'foo' won't match....
581
+ */
582
+ if (assoc._origin && !prefixes.includes(assoc._origin.name.id))
583
+ prefixes.push(assoc._origin.name.id);
584
+
585
+ // produce the ON condition of the managed association
586
+ if (assoc.foreignKeys) {
587
+ /*
588
+ Get both the source and the target column names for the EQ term.
589
+ For the src side provide a path prefix for all paths that is the assocElement name itself preceded by
590
+ the path up to the first lead artifact (usually the entity or view) (or in QAT speak: follow the parent
591
+ QATs until a QA has been found).
592
+ */
593
+ if (!assoc.$flatSrcFKs)
594
+ setProp(assoc, '$flatSrcFKs', flattenElement(assoc, true, assoc.name.id, assoc.name.id));
595
+ if (!assoc.$flatTgtFKs)
596
+ setProp(assoc, '$flatTgtFKs', flattenElement(assoc, false));
597
+
598
+ if (assoc.$flatSrcFKs.length !== assoc.$flatTgtFKs.length)
599
+ throw new CompilerAssertion(`srcPaths length [${ assoc.$flatSrcFKs.length }] != tgtPaths length [${ assoc.$flatTgtFKs.length }]`);
600
+
601
+ /*
602
+ Put all src/tgt path siblings into the EQ term and create the proper path objects
603
+ with the src/tgt table alias path steps in front.
604
+ */
605
+ const args = compareTenants && addTenantComparison(assoc) || [];
606
+ for (let i = 0; i < assoc.$flatSrcFKs.length; i++) {
607
+ args.push({
608
+ op: { val: '=' },
609
+ args: [ constructPathNode( [ srcAlias, prefixFK(assoc.$elementPrefix, assoc.$flatSrcFKs[i]) ] ),
610
+ constructPathNode( [ tgtAlias, assoc.$flatTgtFKs[i] ] ) ],
611
+ });
612
+ }
613
+ // TODO: why inner "parenthesise" - comparison in `and`?
614
+ return parenthesise((args.length > 1 ? { op: { val: 'and' }, args: [ ...args.map(parenthesise) ] } : args[0] ));
615
+ }
616
+ else if (assoc.on) {
617
+ if (env.assocStack === undefined) {
618
+ env.assocStack = [];
619
+ env.assocStack.head = function head() {
620
+ return this[this.length - 1];
621
+ };
622
+ env.assocStack.id = function id() {
623
+ return (this.head() && this.head().name.id);
624
+ };
625
+ env.assocStack.element = function element() {
626
+ return (this.head() && (this.head().name.element || this.head().name.id));
627
+ };
628
+ env.assocStack.stripAssocPrefix = function stripAssocPrefix(path) {
629
+ return this.stripPrefix(path);
630
+ };
631
+
632
+ // offset must be a negative value to indicate prefix length
633
+ // offset=0 includes the element assoc id itself
634
+ env.assocStack.stripPrefix = function stripPrefix(path, offset = 0) {
635
+ const elt = this.element();
636
+ const id = this.id();
637
+ if (elt) {
638
+ let found = true;
639
+ const epath = [ elt ];
640
+ const epl = epath.length + offset;
641
+ if (epl < path.length) {
642
+ for (let i = 0; i < epl && found; i++)
643
+ found = epath[i] === path[i].id;
644
+
645
+ if (found)
646
+ return path.slice(epl);
647
+ }
648
+ }
649
+ if (id) {
650
+ let found = true;
651
+ const epath = [ id ];
652
+ const epl = epath.length + offset;
653
+ if (epl < path.length) {
654
+ for (let i = 0; i < epl && found; i++)
655
+ found = epath[i] === path[i].id;
656
+
657
+ if (found)
658
+ return path.slice(epl);
659
+ }
660
+ }
661
+ return path;
662
+ };
663
+ }
664
+ env.assocStack.push(assoc);
665
+ const onCond = cloneOnCondition(assoc.on);
666
+ env.assocStack.pop();
667
+ return compareTenants ? addTenantComparison(assoc, onCond) : onCond;
668
+ }
669
+ else if (!hasPersistenceSkipAnnotation(assoc._main)) {
670
+ // TODO: exclude non-persisted entities from SQL generation; they may have
671
+ // to-many associations without foreign keys nor ON-condition.
672
+ throw new CompilerAssertion(`Association must have either ON-condition or foreign keys: ${ assoc.name.id } at ${ JSON.stringify(assoc.location) }`);
673
+ }
674
+ else {
675
+ return null;
676
+ }
677
+
678
+ // Add tenant comparison
679
+ function addTenantComparison(assoc, cond) {
680
+ // It is enough to test whether the target is tenant-dependent. If it is,
681
+ // the current query must also be (check in addTenantFields). If we allow
682
+ // assocs from tenant-independent entities to tenant-dependent ones, we
683
+ // also need to use the current query = `env.lead`.
684
+ if (annotationVal(assoc.target._artifact['@cds.tenant.independent']))
685
+ return cond;
686
+
687
+ const args = [ constructPathNode([ srcAlias ]), constructPathNode([ tgtAlias ]) ];
688
+ args[0].path.push({ id: 'tenant' }); // no need for _artifact
689
+ args[1].path.push({ id: 'tenant' }); // no need for _artifact
690
+ const comparison = { op: { val: '=' }, args };
691
+ if (!cond) // for managed assoc
692
+ return [ comparison ];
693
+ return { op: { val: 'and' }, args: [ comparison, parenthesise(cond) ] };
694
+ }
695
+
696
+ // make foreign key absolute to its main entity
697
+ function prefixFK(prefix, fk) {
698
+ return prefix ? { id: prefix + fk.id, _artifact: fk._artifact } : fk;
699
+ }
700
+ // clone ON condition with rewritten paths and substituted backlink conditions
701
+ function cloneOnCondition(expr) {
702
+ const op = expr.op?.val;
703
+ if (op === 'xpr' || op === 'ixpr' || op === 'nary')
704
+ return cloneOnCondExprStream(expr);
705
+ return cloneOnCondExprTree(expr);
706
+ }
707
+
708
+ function cloneOnCondExprStream(expr) {
709
+ const { args } = expr;
710
+ const result = { op: { val: expr.op.val }, args: [ ] };
711
+ for (let i = 0; i < args.length; i++) {
712
+ const op = args[i].op?.val;
713
+ if (op === 'xpr' || op === 'ixpr' || op === 'nary') {
714
+ result.args.push(cloneOnCondition(args[i]));
715
+ }
716
+ // If this is a backlink condition, produce the
717
+ // ON cond of the forward assoc with swapped src/tgt aliases
718
+ else if (i < args.length - 2 && args[i].path &&
719
+ args[i + 1]?.literal === 'token' && args[i + 1]?.val === '=' && args[i + 2].path) {
720
+ const fwdAssoc = getForwardAssociation(args[i].path, args[i + 2].path);
721
+ if (fwdAssoc) {
722
+ // env.assocStack.includes(fwdAssoc) => recursion
723
+ if (env.assocStack.length === 2) {
724
+ error('type-invalid-self', [ env.assocStack[0].location, env.assocStack[0] ], { name: '$self' });
725
+ // don't check these paths again
726
+ args[i].$check = false;
727
+ args[i + 2].$check = false;
728
+ }
729
+ else {
730
+ result.args.push(createOnCondition(fwdAssoc, ...swapTableAliasesForFwdAssoc(fwdAssoc, srcAlias, tgtAlias)));
731
+ }
732
+ i += 2; // skip next two tokens and continue with loop
733
+ continue;
734
+ }
735
+ else { // it's ensured that it's a path
736
+ result.args.push(rewritePathNode(args[i]));
737
+ }
738
+ }
739
+ else { // could be `{op:…}`, clone generically
740
+ result.args.push(cloneOnCondition(args[i]));
741
+ }
742
+ }
743
+ return result;
744
+ }
745
+
746
+ function cloneOnCondExprTree(expr) {
747
+ // TODO: This function is not covered by an tests, only cloneOnCondExprStream is.
748
+ // keep parentheses intact
749
+ if (Array.isArray(expr))
750
+ return expr.map(cloneOnCondition);
751
+
752
+ // If this is a backlink condition, produce the
753
+ // ON cond of the forward assoc with swapped src/tgt aliases
754
+ const fwdAssoc = getForwardAssociationExpr(expr);
755
+ if (fwdAssoc) {
756
+ if (env.assocStack.length === 2) {
757
+ // reuse (ugly) error message from forHana
758
+ error(null, expr.location, { id: '$self' },
759
+ 'An association that uses $(ID) in its ON-condition can\'t be compared to $(ID)');
760
+ // don't check these paths again
761
+ expr.args.forEach((x) => {
762
+ x.$check = false;
763
+ } );
764
+ return expr;
765
+ }
766
+
767
+ return createOnCondition(fwdAssoc, ...swapTableAliasesForFwdAssoc(fwdAssoc, srcAlias, tgtAlias));
768
+ }
769
+
770
+ // If this is an ordinary expression, clone it and mangle its arguments
771
+ // this will substitute multiple backlink conditions ($self = ... AND $self = ...AND ...)
772
+ if (expr.op) {
773
+ const x = clone(expr);
774
+ if (expr.args)
775
+ x.args = expr.args.map(cloneOnCondition);
776
+ return x;
777
+ }
778
+
779
+ // If this is a regular path, rewrite it
780
+ return rewritePathNode(expr);
781
+ }
782
+
783
+ // The src/tgtAliases need to be swapped for ON Condition of the forward assoc.
784
+ // If the QAT assoc is a mixin and forward assoc was propagated, the original
785
+ // forward definition must have a target in the query source otherwise the ON cond
786
+ // is not resolvable (exception propagated mixins, as these are defined against the
787
+ // view signature and not a query source). If the target is not part of the query source,
788
+ // raise an error. Swap source and target otherwise.
789
+ function swapTableAliasesForFwdAssoc(fwdAssoc, srcAlias, tgtAlias) {
790
+ const newSrcAlias = tgtAlias;
791
+ let newTgtAlias = {};
792
+
793
+ let i = 0;
794
+ let fwdOrigin = fwdAssoc;
795
+ while (fwdOrigin._origin) {
796
+ fwdOrigin = fwdOrigin._origin;
797
+ i++;
798
+ }
799
+ // If fwdAssoc was propagated and the origin is not a mixin itself (which always
800
+ // points to the signature of the current view and ensures that the ON cond is
801
+ // resolvable) make sure that the original assoc target is contained in the local
802
+ // query source
803
+ const fwdTarget = fwdOrigin.target._artifact;
804
+ const assocSource = assoc._main;
805
+ if (assoc.kind === 'mixin' && (i > 0 || fwdTarget !== assocSource) && fwdOrigin.kind !== 'mixin') {
806
+ const tas = Object.values(env.lead.$tableAliases);
807
+ const j = tas.findIndex(ta => ta._artifact === fwdOrigin.target._artifact);
808
+ if (j >= 0 && tas[j].$QA) {
809
+ newTgtAlias.id = tas[j].$QA.name.id;
810
+ newTgtAlias._artifact = tas[j]._effectiveType;
811
+ newTgtAlias._navigation = tas[j].$QA.path[0]._navigation;
812
+ }
813
+ else if (i === 0 && fwdTarget !== assocSource) {
814
+ newTgtAlias = Object.assign(newTgtAlias, srcAlias);
815
+ }
816
+ else {
817
+ error(null, [ assocQAT._origin.location, assocQAT._origin ], { name: fwdOrigin.target._artifact.name.id, art: assoc.name.id },
818
+ 'Expected association target $(NAME) of association $(ART) to be a query source');
819
+ newTgtAlias = Object.assign(newTgtAlias, srcAlias);
820
+ }
821
+ }
822
+ else {
823
+ newTgtAlias = Object.assign(newTgtAlias, srcAlias);
824
+ }
825
+ return [ newSrcAlias, newTgtAlias ];
826
+ }
827
+
828
+ function rewritePathNode(pathNode) {
829
+ let tableAlias;
830
+ let { path } = pathNode;
831
+ if (!path) // it's not a path return it
832
+ return pathNode;
833
+
834
+ let [ head, ...tail ] = path;
835
+
836
+ // don't rewrite path
837
+ if (internalArtifactKinds.includes(head._artifact.kind))
838
+ return pathNode;
839
+
840
+ // strip the absolute path indicators
841
+ let hasDollarSelfPrefix = false;
842
+ if ([ '$projection', '$self' ].includes(head.id) && tail.length) {
843
+ hasDollarSelfPrefix = true;
844
+ path = tail;
845
+ }
846
+
847
+ if (!checkPathDictionary(pathNode, env))
848
+ return pathNode;
849
+
850
+
851
+ if (rhs.mixin) {
852
+ if (hasDollarSelfPrefix) {
853
+ /* Do the $projection resolution ONLY in own query not for referenced forward ON condition
854
+ view YP as select from Y mixin ( toXP: association to XP on $projection.yid = toXP.xid; } into { yid };
855
+ view XP as select from X mixin { toYP: association to YP on $self = toYP.toXP; } into { xid, toYP.elt };
856
+ X join Y ON ($self = toYP.toXP) => ($projection.yid = toXP.xid) => (Y.yid = X.xid)
857
+ $projection must be removed from $projection.yid (get's aliased with the mixinAssocQAT.$QA)
858
+ */
859
+ if (env.assocStack.length < 2) {
860
+ const { value } = env.lead.elements[path[0].id];
861
+ /*
862
+ If the value is an expression in the select block, return the unmodified
863
+ expression. rewriteGenericPaths will check and rewrite these paths later
864
+ to the correct ON condition expression.
865
+ */
866
+
867
+ if (!value.path)
868
+ return value;
869
+
870
+ // check for associations, not allowed at this time, trouble in resolving
871
+ // and addressing the correct foreign key (tuple)
872
+ [ head, ...tail ] = path;
873
+ path = value.path.concat(tail);
874
+ }
875
+ }
876
+ else {
877
+ // $self/$projection without tail is an error: $self = $self
878
+ }
879
+
880
+ /*
881
+ If all mixin assoc paths would result in the same join node (that is exactly
882
+ one shared QAT for all mixin path steps) it would be sufficient to reuse the
883
+ definition QA (see createQAForMixinAssoc()) for sharing the table alias.
884
+
885
+ As mixin assoc paths may have different filter conditions, separate QATs are
886
+ created for each distinct filter, resulting in separate JOIN trees requiring
887
+ individual table aliases. This also requires separate QAs at the assoc QAT
888
+ to hold the individual table aliases (that's why the definition QA is cloned
889
+ in mergePathIntoQAT()).
890
+
891
+ Paths in the ON condition referring to the target side are linked to the
892
+ original mixin QA via head._navigation (done by the compiler), which in turn
893
+ is childQat._parent (a mixin assoc path step MUST be path root, so _parent
894
+ IS the mixin definition. Mixin QATs are created at the mixin definition).
895
+ In order to create the correct table alias path, the definition QA must
896
+ be replaced with the current childQat.QA (the clone with the correct alias).
897
+ The original QA is used as template for its clones and can safely be replaced.
898
+
899
+ Example:
900
+ select from ... mixin { toTgt: association to Tgt on toTgt.elt = elt; }
901
+ into { toTgt[f1].field1, toTgt[f2].field2 };
902
+
903
+ toTgt definition has definition QA, ON cond path 'toTgt' refers to definition QA.
904
+ assoc path 'toTgt[f1].' and 'toTgt[f2]' have separate QATs with QA clones.
905
+ 'toTgt.elt' must now be rendered for each JOIN using the correct QA clone.
906
+ */
907
+
908
+ if (assocQAT.$QA.mixin)
909
+ assocQAT._parent.$QA = assocQAT.$QA;
910
+
911
+ /* if the $projection path has association path steps make sure to address the
912
+ element by its last table alias name. Search from the end upwards
913
+ to the top for the first association path step and cut off path here.
914
+ */
915
+ let i = path.length - 1;
916
+ while (i >= 0 && !path[i--]._artifact.target)
917
+ ;
918
+ // if this mixin ON condition path had a $projection/$self prefix, it could be
919
+ // that the path of the select list had many many associations, we're only interested in
920
+ // the last one (see MixinUsage2.cds V.toX as an example)
921
+ if (hasDollarSelfPrefix)
922
+ path.splice(0, i + 1);
923
+
924
+ /*
925
+ If the mixin is a backlink to some forward association, the forward ON condition
926
+ needs to be added in inverse direction. The challenge is to find the
927
+ correct QAs for the paths of the forward ON condition.
928
+
929
+ Example:
930
+ entity A { key id: Integer; }
931
+ entity B { key id: Integer; toV: association to V on id = toV.id; elt: String; }
932
+ view V as select from A
933
+ mixin {
934
+ toB: association to B on $self = toB.toV; // first use of 'id = toV.id'
935
+ }
936
+ into {
937
+ A.id
938
+ toB.elt
939
+ };
940
+
941
+ view V1 as select from A
942
+ mixin {
943
+ toB: association to B on $self = toB.toV; // second use of 'id = toV.id'
944
+ }
945
+ into {
946
+ A.id
947
+ toB.elt
948
+ };
949
+
950
+ Information we have:
951
+ * this is the forward assoc env.assocStack.length == 2s
952
+ * name of the forward association (env.assocStack)
953
+ * the forward association's target side is this view
954
+ => For all paths on the target side, we have to find the appropriate $tableAlias
955
+ path._artifact is reference into view.elements, the value of the select item
956
+ is the path in the select list. The first path step is linked into $tableAliases via
957
+ _navigation
958
+ * the forward association's source side is the target of the mixin (the assocQAT.QA)
959
+ => easy: assocQAT is _navigation
960
+ * If a $self is used multiple times, the forward ON cond paths are resolved to
961
+ the original target (in the example above against V). However, we cannot lookup
962
+ the _navigation link by following the _artifact.value.path[0] as this would always
963
+ lead to V.query[0].$tableAliases.$A. Instead we need to lookup the element in the
964
+ combined list of elements made available by the from clause.
965
+ */
966
+ let _navigation; // don't modify original path
967
+ if (env.assocStack.length === 2) {
968
+ // a mixin assoc cannot have a structure prefix, it's sufficient to check head
969
+ if (head.id === env.assocStack.id()) {
970
+ // source side from view point of view (target side from forward point of view)
971
+ path = tail; // pop assoc step
972
+ const elt = env.lead._combined[path[0].id];
973
+
974
+ if (elt) {
975
+ if (Array.isArray(elt)) {
976
+ const names = elt.map(e => (e._origin._main || e._origin).name.id);
977
+ error(null, [ assocQAT._origin.location, assocQAT._origin ], {
978
+ elemref: path[0].id, id: assoc.name.id, art: assoc._main, names,
979
+ },
980
+ 'Element $(ELEMREF) referred in association $(ID) of artifact $(ART) is available from multiple query sources $(NAMES)');
981
+ return pathNode.path;
982
+ }
983
+ // check if element has same origin on both ends
984
+ if (elt._origin._main !== path[0]._artifact._origin._main) {
985
+ warning(null, [ assocQAT._origin.location, assocQAT._origin ], {
986
+ elemref: path[0].id,
987
+ id: assoc.name.id,
988
+ art: assoc._main.name.id,
989
+ name: path[0]._artifact._origin._main.name.id,
990
+ alias: elt._origin._main.name.id,
991
+ source: elt._main.name.id,
992
+ }, 'Element $(ELEMREF) referred in association $(ID) of artifact $(ART) originates from $(NAME) and from $(ALIAS) in $(SOURCE)');
993
+ }
994
+ _navigation = elt._parent;
995
+ }
996
+ else {
997
+ error(null, [ assocQAT._origin.location, assocQAT._origin ], { elemref: path[0].id, id: assoc.name.id, art: (assoc._main || assoc) },
998
+ 'Element $(ELEMREF) referred in association $(ID) of artifact $(ART) has not been found');
999
+ return pathNode.path;
1000
+ }
1001
+ }
1002
+ else {
1003
+ // target side from view point of view (source side from forward point of view)
1004
+ // if(assocQAT.$QA._artifact === path[0]._artifact._parent)
1005
+ _navigation = assocQAT;
1006
+ }
1007
+ }
1008
+ [ tableAlias, path ] = constructTableAliasAndTailPath(path, _navigation);
1009
+ }
1010
+ else { // ON condition of non-mixin association
1011
+ // strip a structure prefix from this ON cond path (offset -1)
1012
+ path = env.assocStack.stripPrefix(path, -1);
1013
+ [ head, ...tail ] = path;
1014
+ if (prefixes.includes(head.id)) { // target side
1015
+ // no element prefix on target side
1016
+ path = translateONCondPath(tail);
1017
+ tableAlias = tgtAlias;
1018
+ }
1019
+ else { // source side
1020
+ tableAlias = srcAlias;
1021
+ // if path is not an absolute path, prepend element prefix
1022
+ path = translateONCondPath(path, !hasDollarSelfPrefix ? assoc.$elementPrefix : undefined);
1023
+ }
1024
+ }
1025
+ const pathStr = path.map(ps => ps.id).join(pathDelimiter);
1026
+ return constructPathNode([ tableAlias, { id: pathStr, _artifact: pathNode._artifact } ]);
1027
+ }
1028
+
1029
+ // Return the original association if expr is a backlink term, undefined otherwise
1030
+ function getForwardAssociationExpr(expr) {
1031
+ if (expr.op && expr.op.val === '=' && expr.args.length === 2)
1032
+ return getForwardAssociation(expr.args[0].path, expr.args[1].path);
1033
+
1034
+ return undefined;
1035
+ }
1036
+
1037
+ function getForwardAssociation(lhs, rhs) {
1038
+ // [alpha.]BACKLINK.[beta.]FORWARD
1039
+ if (lhs && rhs) {
1040
+ if (rhs.length === 1 && rhs[0].id === '$self' &&
1041
+ lhs.length > 1 && hasPrefix(lhs))
1042
+ return lhs[lhs.length - 1]._artifact;
1043
+ if (lhs.length === 1 && lhs[0].id === '$self' &&
1044
+ rhs.length > 1 && hasPrefix(rhs))
1045
+ return rhs[rhs.length - 1]._artifact;
1046
+ }
1047
+
1048
+ function hasPrefix(path) {
1049
+ return path.reduce((rc, ps) => (!rc ? (ps.id === env.assocStack.id()) : rc), false);
1050
+ }
1051
+ return undefined;
1052
+ }
1053
+ } // createOnCondition
1054
+ } // createJoinQA
1055
+
1056
+ /*
1057
+ A QA (QueryArtifact) is a representative for a table/view that must appear
1058
+ in the FROM clause either named directly or indirectly through an association.
1059
+ */
1060
+ function createQA(env, artifact, alias, namedArgs = undefined) {
1061
+ if (alias === undefined)
1062
+ throw new CompilerAssertion('no alias provided');
1063
+
1064
+
1065
+ const pathStep = {
1066
+ id: (artifact._main || artifact).name.id,
1067
+ _artifact: artifact,
1068
+ _navigation: { name: { select: env.queryIndex + 1 } }, // ???
1069
+ };
1070
+
1071
+ if (namedArgs)
1072
+ pathStep.args = namedArgs;
1073
+ if (isBooleanAnnotation(artifact['@cds.persistence.udf'], true))
1074
+ pathStep.$syntax = 'udf';
1075
+ if (isBooleanAnnotation(artifact['@cds.persistence.calcview'], true))
1076
+ pathStep.$syntax = 'calcview';
1077
+
1078
+ const node = constructPathNode( [ pathStep ], alias );
1079
+ return node;
1080
+ }
1081
+
1082
+ // Remark CW: why boolean and not just truthy/falsy as usual? See annotationVal() below
1083
+ function isBooleanAnnotation(prop, val = true) {
1084
+ return prop && prop.val !== undefined && prop.val === val && prop.literal === 'boolean';
1085
+ }
1086
+
1087
+ function incAliasCount(env, QA) {
1088
+ if (!QA.numberedAlias) {
1089
+ // Debug only:
1090
+ // QA.name.id += '_' + (QA.path[0]._navigation === undefined ? '***navigation_missing***' : QA.path[0]._navigation.name.select) + '_' + env.aliasCount++;
1091
+ QA.name.id += `_${ env.aliasCount++ }`;
1092
+ QA.numberedAlias = true;
1093
+ }
1094
+ }
1095
+ /*
1096
+ Recursively walk over expression and replace any found path with a new
1097
+ path consisting of two path steps. The first path step is the table alias
1098
+ and the second path step is the concatenated string of the original path steps.
1099
+ Leaf _artifact of pathNode is used as the leaf artifact of the new path string.
1100
+
1101
+ Both the table alias and the original (remaining) path steps are to be produced
1102
+ by getTableAliasAndPathSteps().
1103
+
1104
+ tableAlias = [ aliasName, _artifact, _navigation ]
1105
+ path = [ { id: ..., _artifact: ... (unused) } ]
1106
+ */
1107
+ function rewritePathsInFilterExpression(node, getTableAliasAndPathSteps, env) {
1108
+ const innerEnv = {
1109
+ lead: env.lead,
1110
+ location: env.location,
1111
+ position: env.position,
1112
+ aliasCount: env.aliasCount,
1113
+ walkover: {},
1114
+ callback: [
1115
+ function rewritePathNode(pathNode) {
1116
+ if (checkPathDictionary(pathNode, env)) {
1117
+ const head = pathNode.path[0];
1118
+ if (head._navigation?.kind === '$self') {
1119
+ substituteDollarSelf(pathNode);
1120
+ }
1121
+ else {
1122
+ const [ tableAlias, path ] = getTableAliasAndPathSteps(pathNode);
1123
+ const rewrittenPath = [];
1124
+ const leafArtifact = path.at(-1)._artifact;
1125
+ // Walk from left to right and search for first assoc. If assocs in filters become join relevant in the future,
1126
+ // i.e. not only fk-access, we need to revisit this
1127
+ for (let i = 0; i < path.length; i++) {
1128
+ const pathStep = path[i];
1129
+ if (pathStep._artifact?.foreignKeys) {
1130
+ const possibleNonAliasedFkName = path.slice(i).map(ps => ps.id).join(pathDelimiter);
1131
+ if (!pathStep._artifact.$flatSrcFKs)
1132
+ setProp(pathStep._artifact, '$flatSrcFKs', flattenElement(pathStep._artifact, true, pathStep._artifact.name.id, pathStep._artifact.name.id));
1133
+ const fk = pathStep._artifact.$flatSrcFKs.find(f => f._artifact === leafArtifact && f.acc.startsWith(possibleNonAliasedFkName));
1134
+ if (fk) {
1135
+ rewrittenPath.push(fk);
1136
+ i = path.length;
1137
+ continue;
1138
+ }
1139
+ }
1140
+
1141
+ rewrittenPath.push(pathStep);
1142
+ }
1143
+ replaceNodeContent(pathNode, constructPathNode([ tableAlias, { id: rewrittenPath.map(ps => ps.id).join(pathDelimiter), _artifact: pathNode._artifact } ]));
1144
+ }
1145
+ }
1146
+ },
1147
+ ],
1148
+ };
1149
+ walk(node, innerEnv);
1150
+ }
1151
+
1152
+ /*
1153
+ Replace the content of the old node with the new one.
1154
+ If newNode is a not a path (expression or constant/literal value), oldPath must be cleared first.
1155
+ If newNode is a path => oldNode._artifact === newNode._artifact, no need to
1156
+ exchange _artifact (as non-iterable property it is not assigned).
1157
+ */
1158
+ function replaceNodeContent(oldNode, newNode) {
1159
+ if (!newNode.path) {
1160
+ Object.keys(oldNode).forEach((k) => {
1161
+ delete oldNode[k];
1162
+ });
1163
+ delete oldNode._artifact;
1164
+ }
1165
+ Object.assign(oldNode, newNode);
1166
+ }
1167
+
1168
+ /*
1169
+ Replace the table alias node in $tableAliases inplace with the newly created JOIN node
1170
+ See define.js initTableExpression for details where _joinParent and $joinArgsIndex is set.
1171
+ */
1172
+ function replaceTableAliasInPlace( tableAlias, replacementNode ) {
1173
+ if (tableAlias._joinParent)
1174
+ tableAlias._joinParent.args[tableAlias.$joinArgsIndex] = replacementNode;
1175
+ else
1176
+ tableAlias._parent.from = replacementNode;
1177
+ }
1178
+
1179
+ /*
1180
+ Collect all of paths to all leafs for a given element
1181
+ respecting the src or the target side of the ON condition.
1182
+ Return an array of column names and it's leaf element.
1183
+ */
1184
+ function flattenElement(element, srcSide, prefix, acc) {
1185
+ // terminate if element is unstructured
1186
+ if (!element.foreignKeys && !element.elements)
1187
+ return [ { id: prefix, _artifact: element, acc } ];
1188
+
1189
+ let paths = [];
1190
+ // get paths of managed assocs (unmanaged assocs are not allowed in FK paths)
1191
+ if (element.foreignKeys) {
1192
+ for (const fkn in element.foreignKeys) {
1193
+ const fk = element.foreignKeys[fkn];
1194
+ // ignore an unmanaged association
1195
+ if (fk.targetElement._artifact.target &&
1196
+ fk.targetElement._artifact.on &&
1197
+ !fk.targetElement._artifact.foreignKeys)
1198
+ continue;
1199
+ // once a fk is to be followed, treat all sub-paths as srcSide, this will add fk.name.id only
1200
+ if (srcSide) {
1201
+ paths = paths.concat(flattenElement(fk.targetElement._artifact, true, fk.name.id, fk.targetElement.path.map(ps => ps.id).join(pathDelimiter)));
1202
+ }
1203
+ else {
1204
+ // consume path segments until the next assoc and substitute against fk alias until path is eaten up
1205
+ let [ assocStep, tail, fkPrefix ] = pathAsStringUpToAssoc(fk.targetElement.path);
1206
+ while (assocStep && tail.length) {
1207
+ [ tail, fkPrefix ] = substituteFKAliasForPath(assocStep, tail, fkPrefix);
1208
+ [ assocStep, tail, fkPrefix ] = pathAsStringUpToAssoc(tail, fkPrefix);
1209
+ }
1210
+ paths = paths.concat(flattenElement(fk.targetElement._artifact, true, fkPrefix, fk.targetElement.path.map(ps => ps.id).join(pathDelimiter)));
1211
+ }
1212
+ }
1213
+ }
1214
+ // get paths of plain structured elements
1215
+ else if (element.elements) {
1216
+ for (const n in element.elements) {
1217
+ const elt = element.elements[n];
1218
+ paths = paths.concat(flattenElement(elt, true, elt.name.id, elt.name.id));
1219
+ }
1220
+ }
1221
+ return paths.map(p => ({
1222
+ id: (prefix ? prefix + pathDelimiter : '' ) + p.id,
1223
+ acc: (acc ? acc + pathDelimiter : '') + p.acc,
1224
+ _artifact: p._artifact,
1225
+ }) );
1226
+ }
1227
+
1228
+
1229
+ /*
1230
+ Construct both the TA path step and the path tail for a given AST path array
1231
+ */
1232
+ function constructTableAliasAndTailPath(path, navigation = undefined) {
1233
+ const [ head, ...tail ] = path;
1234
+ if (navigation === undefined)
1235
+ navigation = head._navigation;
1236
+
1237
+ const QA = navigation.$QA || navigation._parent.$QA;
1238
+
1239
+ // First path step is table alias, use and pop it off
1240
+ if (navigation.$QA && tail.length > 0)
1241
+ path = tail;
1242
+
1243
+ return [ constructTableAliasPathStep(QA), path ];
1244
+ }
1245
+
1246
+ function constructTableAliasPathStep(QA) {
1247
+ return { id: QA.name.id, _artifact: QA._artifact, _navigation: QA.path[0]._navigation };
1248
+ }
1249
+ /*
1250
+ Translate ON cond paths and substitute FK aliases
1251
+ */
1252
+ function translateONCondPath(path, prefix) {
1253
+ let [ assocStep, tail, fkPrefix ] = pathAsStringUpToAssoc(path);
1254
+ while (assocStep && tail.length) {
1255
+ [ tail, fkPrefix ] = substituteFKAliasForPath(assocStep, tail, fkPrefix);
1256
+ [ assocStep, tail, fkPrefix ] = pathAsStringUpToAssoc(tail, fkPrefix);
1257
+ }
1258
+ return [ { id: (prefix ? prefix + fkPrefix : fkPrefix), _artifact: path[path.length - 1]._artifact } ];
1259
+ }
1260
+
1261
+ /*
1262
+ Munch path steps and append them to a path string until an
1263
+ assoc step is found. The assoc path step is also appended
1264
+ to the path string. If no assoc path step has occurred, all
1265
+ path steps are added to the path string and tail is empty.
1266
+
1267
+ Return assocPathStep, the remaining tail path and the path string
1268
+ */
1269
+ function pathAsStringUpToAssoc(path, pathStr) {
1270
+ if (!pathStr)
1271
+ pathStr = '';
1272
+ const assocStep = path.find((ps) => {
1273
+ if (pathStr.length > 0)
1274
+ pathStr += pathDelimiter;
1275
+ pathStr += ps.id;
1276
+ return (ps._artifact.target); // true if it has a target => is assoc => terminate find
1277
+ });
1278
+ return [ assocStep, path.slice(path.indexOf(assocStep) + 1), pathStr ];
1279
+ }
1280
+
1281
+ /*
1282
+ Substitute the n first path steps of a given path against a FK alias name.
1283
+ Resolve a foreign key of a managed association by following the n first
1284
+ path steps. Longest path matches:
1285
+ Example: fk tuple { a.b, a.b.c, a.b.e },
1286
+ path: a.b.c.d.e.f: FK a.b.c is found, even if FK a.b is one level higher in the prefix tree.
1287
+ path: a.b.x.y.z: FK a.b is found, remaining tail path is x.y.z
1288
+ Add the FK alias name to the path string.
1289
+
1290
+ Return remaining tail path and the path string.
1291
+ */
1292
+
1293
+ /**
1294
+ * @param {any} assocStep
1295
+ * @param {any[]} path
1296
+ * @param {string} [pathStr='']
1297
+ */
1298
+ function substituteFKAliasForPath(assocStep, path, pathStr = '') {
1299
+ if (assocStep && assocStep._artifact && assocStep._artifact.$fkPathPrefixTree) {
1300
+ let ppt = assocStep._artifact.$fkPathPrefixTree.children;
1301
+ /** @type any */
1302
+ let fk; // last found FK
1303
+ let fkPs; // last path step that found FK
1304
+ path.forEach((ps) => {
1305
+ if (ppt[ps.id]) {
1306
+ if (ppt[ps.id]._fk) {
1307
+ fk = ppt[ps.id]._fk;
1308
+ fkPs = ps;
1309
+ }
1310
+ ppt = ppt[ps.id].children;
1311
+ }
1312
+ });
1313
+
1314
+ if (fk) {
1315
+ if (pathStr.length)
1316
+ pathStr += pathDelimiter;
1317
+ pathStr += fk.name.id;
1318
+ }
1319
+
1320
+ const tail = path.slice(path.indexOf(fkPs) + 1);
1321
+ // If foreign key is an association itself, apply substituteFKAliasForPath on tail
1322
+ if (fk && fk.targetElement._artifact.target && tail.length)
1323
+ return substituteFKAliasForPath(fk.targetElement, tail, pathStr);
1324
+ return [ tail, pathStr ];
1325
+ }
1326
+
1327
+ // error(null, assocStep.location, `No fkPrefixTree for association, please report this error`);
1328
+ return [ path, pathStr ];
1329
+ }
1330
+
1331
+ /*
1332
+ checkPathDictionary performs these checks (for ON condition and filter paths)
1333
+ 1) all paths must end on a scalar type
1334
+ 2) Unmanaged associations are not allowed
1335
+ Exception: The first path step of a mixin assoc is allowed (to identify the
1336
+ target side of the mixin ON condition) and with backlink associations
1337
+ 3) Managed associations are only allowed to access a foreign key element
1338
+ 4) $self, $projection without suffix should not appear here anymore
1339
+ Returns true on success, false otherwise
1340
+ */
1341
+ function checkPathDictionary(pathDict, env) {
1342
+ if (pathDict.$check !== undefined)
1343
+ return pathDict.$check;
1344
+
1345
+ pathDict.$check = true;
1346
+
1347
+ // all leaf types must be scalar in a query
1348
+ let { path } = pathDict;
1349
+ let [ head, ...tail ] = path;
1350
+
1351
+ // pop head again if it is a table alias or $projection
1352
+ if ([ '$projection', '$self' ].includes(head.id)) {
1353
+ path = tail;
1354
+ [ head, ...tail ] = path;
1355
+ }
1356
+ if (head && env.tableAliases && env.tableAliases.includes(head.id))
1357
+ path = tail;
1358
+
1359
+ // assocStack eventually undefined => head is not Assoc
1360
+ // assoc prefix can be something structured or just the id, the core
1361
+ // compiler decides if it wants to add 'element' or only 'id' to the XSN
1362
+ // we need to unambiguously identify the target side with the full assoc prefix.
1363
+ // If the path is on the target side, strip the prefix of and treat src/tgt
1364
+ // paths uniformly.
1365
+ path = (env.assocStack?.stripAssocPrefix(path) || path);
1366
+ const lead = env.art || env.lead;
1367
+ path.forEach((ps) => {
1368
+ /* checks for all path steps */
1369
+ if (ps.args) {
1370
+ error(null, [ pathDict.location, lead ],
1371
+ { art: lead._main || lead, id: ps.id },
1372
+ '$(ART): $(ID) must not have parameters');
1373
+ pathDict.$check = false;
1374
+ }
1375
+ if (ps.where) {
1376
+ error(null, [ pathDict.location, lead ],
1377
+ { art: lead._main || lead, id: ps.id },
1378
+ '$(ART): $(ID) must not have a filter');
1379
+ pathDict.$check = false;
1380
+ }
1381
+ if (ps._artifact.virtual) {
1382
+ error(null, [ pathDict.location, lead ],
1383
+ { art: lead._main || lead, id: ps.id },
1384
+ '$(ART): $(ID) must not be virtual');
1385
+ pathDict.$check = false;
1386
+ }
1387
+ // checks for all path steps except the first one (if it is the name of the defining association)
1388
+ if (ps._artifact && ps._artifact.target) {
1389
+ // if this is not the last path step, complain
1390
+ const la1 = pathDict.path[pathDict.path.indexOf(ps) + 1];
1391
+ if (la1) {
1392
+ if (ps._artifact.on) {
1393
+ error(null, [ pathDict.location, lead ],
1394
+ { art: lead._main || lead, id: ps.id, alias: pathAsStr(pathDict.path) },
1395
+ '$(ART): $(ID) in path $(ALIAS) must not be an unmanaged association');
1396
+ pathDict.$check = false;
1397
+ }
1398
+ else if (ps._artifact.$fkPathPrefixTree) { // must be managed
1399
+ if (!ps._artifact.$fkPathPrefixTree.children[la1.id]) {
1400
+ error(null, [ pathDict.location, lead ],
1401
+ {
1402
+ art: lead._main || lead, id: la1.id, name: ps.id, alias: pathAsStr(pathDict.path),
1403
+ },
1404
+ '$(ART): $(ID) is not foreign key of managed association $(NAME) in path $(ALIAS)' );
1405
+ pathDict.$check = false;
1406
+ }
1407
+ }
1408
+ }
1409
+ else {
1410
+ // it is the last path step => no association
1411
+ error(null, [ pathDict.location, lead ],
1412
+ { art: lead._main || lead, id: ps.id, alias: pathAsStr(pathDict.path) },
1413
+ '$(ART): $(ID) in path $(ALIAS) must not be an association');
1414
+ pathDict.$check = false;
1415
+ }
1416
+ }
1417
+ });
1418
+
1419
+ const lastSegment = path[path.length - 1];
1420
+ const artifact = lastSegment && lastSegment._artifact && lastSegment._artifact.type && lastSegment._artifact.type._artifact && lastSegment._artifact.type._artifact;
1421
+ if (artifact && artifact.elements) {
1422
+ error(null, [ pathDict.location, lead ],
1423
+ { art: lead._main || lead, id: lastSegment.id },
1424
+ '$(ART): $(ID) must have scalar type');
1425
+ pathDict.$check = false;
1426
+ }
1427
+ return pathDict.$check;
1428
+ }
1429
+
1430
+ /*
1431
+ Create path prefix trees and merge paths into the trees depending on the path location.
1432
+ There are prefix trees for FROM table paths and all other paths. Paths of ON conditions
1433
+ (of either JOINs in FROM clause or of mixin associations) are not added to the QATree,
1434
+ as no associations can be followed in these paths. It is not the job of this transformer
1435
+ to semantically check for illegal association path steps in the various clauses of the query.
1436
+
1437
+ All prefix trees are put underneath the $tableAlias structure with attribute $qat or $fqat.
1438
+ Each path step appears exactly once for a given filter condition in the prefix tree and
1439
+ has a link to its definition (origin). The default filter is an empty string ''.
1440
+
1441
+ A special note on paths in filter conditions. Filter paths are treated like postfix
1442
+ paths to an association path step, meaning, they are inserted into the assoc's $qat or $fqat
1443
+ depending on where the association was traversed.
1444
+ As HANA CDS doesn't allow to traverse assocs in filter paths, this is checked in flyTrap above.
1445
+
1446
+ A node in the path prefix tree is abbreviated as QAT (which stands for Query Association Tree,
1447
+ a term originating from way back in time).
1448
+ */
1449
+ function mergePathIntoQAT(pathDict, env) {
1450
+ const { path } = pathDict;
1451
+
1452
+ if (path.length === 0)
1453
+ return;
1454
+
1455
+ let qatChildrenName = '$qat';
1456
+ if (env.location === 'from')
1457
+ qatChildrenName = '$fqat';
1458
+ if (env.location === 'onCondFrom')
1459
+ return;
1460
+
1461
+ // eslint-disable-next-line prefer-const
1462
+ let [ head, ...tail ] = path;
1463
+
1464
+ // qatParent is the node where the starting qat is attached to
1465
+ let qatParent;
1466
+
1467
+ // Note: If head is $self, we would need to resolve it if the path follows associations.
1468
+ // However, that is already rejected by SQL backend checks. For example $self paths
1469
+ // can't be "$self.assoc.foo.bar".
1470
+
1471
+ // FROM and filter paths do not have a _navigation, but for filter paths
1472
+ // the corresponding path step (to where the filter was attached to) is in env.pathStep
1473
+ if (!head._navigation) {
1474
+ // speciality for OrderBy: If path has no _navigation don't merge it.
1475
+ // Path is alias to select item expression
1476
+ if ([ 'OrderBy', 'UnionOuterOrderBy' ].includes(env.location))
1477
+ return;
1478
+
1479
+ // env.pathStep is set in walkPath for walk on filter conditions
1480
+ if (env.pathStep)
1481
+ qatParent = env.pathStep._navigation;
1482
+ else if (pathDict.name) // from table path with its alias
1483
+ qatParent = env.lead.$tableAliases[pathDict.name.id];
1484
+ else
1485
+ // tableAlias not found yet, last resort is head.id => published Assoc
1486
+ qatParent = env.lead.$tableAliases[head.id];
1487
+ tail = path; // start with the full path
1488
+ }
1489
+ // All other paths have a _navigation attribute
1490
+ else if (head._navigation) {
1491
+ /*
1492
+ Always start with QAT merge at $tableAlias, even if path doesn't start there.
1493
+ First identify $tableAlias (must be either head or head's parent) The resolver
1494
+ sets a _navigation at the very first path step that either points to $tableAlias
1495
+ or to a top level element from _combined which itself parent's to $tableAlias).
1496
+ */
1497
+ if (head._navigation.kind === '$navElement') {
1498
+ qatParent = head._navigation._parent;
1499
+ tail = path; // Start with the full path (no table alias prefix)
1500
+ }
1501
+ else if (head._navigation.kind === 'mixin') { // This is a mixin assoc
1502
+ qatParent = head._navigation;
1503
+ tail = path;
1504
+ }
1505
+ else { // Head is a table alias already
1506
+ qatParent = head._navigation;
1507
+ }
1508
+ }
1509
+
1510
+ if (qatParent === undefined || qatParent === null)
1511
+ throw new CompilerAssertion(`table alias/qathost not found for path: ${ pathAsStr(path) }`);
1512
+
1513
+ const rootQat = qatParent;
1514
+
1515
+ // Create the very first QAT if it doesn't exist
1516
+ // (filter condition for table alias prefix not allowed)
1517
+ let qatChildren = createQATChildren(qatParent);
1518
+ /** @type {object} */
1519
+ let qat = null;
1520
+
1521
+ tail.forEach((pathStep, i) => {
1522
+ /*
1523
+ If the current path step has not yet been inserted into the list of children at
1524
+ the parent QAT, create a new QAT (linkToOrigin) and a dictionary for subsequent
1525
+ path steps (a separate one for each filter condition).
1526
+ */
1527
+ let qatName = pathStep.id;
1528
+
1529
+ if (pathStep.where && pathStep.where?.args?.length !== 0)
1530
+ qatName += JSON.stringify(compactExpr(pathStep.where));
1531
+
1532
+ if (pathStep.args) {
1533
+ // sort named arguments
1534
+ const sortedNamedArgs = Object.create(null);
1535
+ Object.keys(pathStep.args).sort().forEach((p) => {
1536
+ sortedNamedArgs[p] = compactExpr(pathStep.args[p]);
1537
+ });
1538
+ qatName += JSON.stringify(sortedNamedArgs);
1539
+ }
1540
+
1541
+
1542
+ qat = qatChildren[qatName];
1543
+ if (!qat) {
1544
+ qat = linkToOrigin(pathStep._artifact, pathStep.id, qatParent, undefined, pathStep.location);
1545
+ /*
1546
+ Query filter have precedence over default filters.
1547
+ Clone default filter for each usage to avoid path rewriting of the definition.
1548
+ TODO: If Filter become JOIN relevant, default filters MUST BE cloned before starting the transformation
1549
+ or the paths won't be added to the QAT and the rewriting would be done on the filter definition.
1550
+ */
1551
+ if (pathStep.where /* || pathStep._artifact.where */)
1552
+ qat._filter = pathStep.where; /* || clone(pathStep._artifact.where) */
1553
+ if (pathStep.args)
1554
+ qat._namedArgs = pathStep.args;
1555
+
1556
+ /*
1557
+ If qat._origin has a QA, it must be a mixin association
1558
+ (No other QA's have been created so far). Clone new QA from this
1559
+ template to have space for table aliases (if mixin assoc is
1560
+ followed with different filter conditions).
1561
+ */
1562
+ if (qat._origin.$QA) {
1563
+ qat.$QA = clone(qat._origin.$QA);
1564
+ if (qat._namedArgs)
1565
+ qat.$QA.path[0].args = qat._namedArgs;
1566
+ }
1567
+ qat.kind = '$navElement';
1568
+ qatChildren[qatName] = qat;
1569
+ }
1570
+
1571
+ /*
1572
+ Mark QAT non join relevant (njr) if:
1573
+
1574
+ 1) the current association QAT has no children yet
1575
+ 2) the association is managed
1576
+ 3) the n+1st path step is element of the foreign key tuple of the association
1577
+ 4) the association path step has no filter expression and no actual parameter list
1578
+ 5) the final base type of the path leaf node must be a scalar type
1579
+ 6) a path which is not a FROM block member terminates on association
1580
+ optionally
1581
+ 7) Association is exactly to one [1..1]
1582
+
1583
+ If qat is njr:
1584
+ flatten out source side foreign keys (they are required later for path rewriting)
1585
+ and add it to the qat and xref to assocs own foreign keys.
1586
+ If njr prevails, this QAT will not pass createJoinQA with createOnCondition,
1587
+ so the flattening can either be done right here or very late when rewriting generic paths.
1588
+ */
1589
+ const art = qat._origin;
1590
+ if (noJoinForFK && qat._origin.target) {
1591
+ if (!pathStep.args && // has no args
1592
+ (
1593
+ (
1594
+ !pathStep.where && // has no filter
1595
+ // not leaf + next step is foreign key
1596
+ i < tail.length - 1 &&
1597
+ // association is managed
1598
+ art.foreignKeys &&
1599
+ // n+1st path step is foreign key
1600
+ Object.values(art.foreignKeys).some(fk => fk.targetElement.path[0].id === tail[i + 1].id)
1601
+ ) ||
1602
+ (
1603
+ // Non-FROM block path terminates on association, e.g. publishing associations
1604
+ // with or without filter.
1605
+ i === tail.length - 1 &&
1606
+ env.location !== 'from'
1607
+ )
1608
+ )) {
1609
+ // If qat has no children yet mark it njr
1610
+ if (!qat[qatChildrenName]) {
1611
+ setProp(qat, '$njr', true);
1612
+ // flatten left hand side ON condition paths ( => foreign keys to the source side)
1613
+ setProp(art, '$flatSrcFKs', flattenElement(art, true, art.name.id, art.name.id));
1614
+ }
1615
+ }
1616
+ else {
1617
+ // This QAT is join relevant
1618
+ setProp(qat, '$njr', false);
1619
+ }
1620
+ }
1621
+
1622
+ qatChildren = createQATChildren(qat);
1623
+ qatParent = qat; // Current qat becomes parent to the next level of children
1624
+ // don't destroy $self navigation for later $self substitution
1625
+ if (!pathStep._navigation || pathStep._navigation.kind !== '$self')
1626
+ setProp( pathStep, '_navigation', qat );
1627
+ });
1628
+
1629
+ if (!qat)
1630
+ throw new CompilerAssertion(`No leaf qat for head: ${ head } tail: ${ pathAsStr(tail, '"') } produced`);
1631
+
1632
+ /*
1633
+ If path terminates on an entity or an association (from clause,
1634
+ published Ad-Hoc Assocs), attach QA to the (leaf) QAT and to the
1635
+ rootQAT (which is the tableAlias).
1636
+ This QA will later serve as the initial 'lastAssocQA' for all other
1637
+ join relevant paths that originate from this alias. Also this is the
1638
+ only place where the original FROM alias is available.
1639
+ */
1640
+ let art = qat._origin;
1641
+ if (art._main) { // element (assoc) or sub query
1642
+ if (art.target)
1643
+ art = art.target ? art.target._artifact : undefined;
1644
+ }
1645
+
1646
+ if (art) {
1647
+ // If rootQat ($tableAlias) already has a QA, reuse it, create a new one otherwise.
1648
+ if (!rootQat.$QA) {
1649
+ // Use the original FROM alias if available!
1650
+ if (pathDict.name && pathDict.name.id) {
1651
+ qat.$QA = createQA(env, art, pathDict.name.id, qat._namedArgs);
1652
+ rootQat.$QA = qat.$QA;
1653
+ }
1654
+ }
1655
+ }
1656
+
1657
+ // Mark Qat root path from right to left join relevant
1658
+ // starting with the first $njr=false Qat
1659
+ let njr = true;
1660
+ do {
1661
+ if (qat.$njr !== undefined && qat.$njr === false)
1662
+ njr = false;
1663
+ if (qat.$njr !== undefined && !njr)
1664
+ qat.$njr = njr;
1665
+ qat = qat._parent;
1666
+ } while (qat._parent && qat._parent[qatChildrenName]);
1667
+
1668
+
1669
+ // Return or create a new children dictionary for a given QAT
1670
+ // Children are grouped under the filter condition that precedes them.
1671
+ function createQATChildren(parentQat) {
1672
+ if (!parentQat[qatChildrenName])
1673
+ parentQat[qatChildrenName] = Object.create(null);
1674
+ return parentQat[qatChildrenName];
1675
+ }
1676
+ }
1677
+
1678
+ function pathAsStr(p, delim = '') {
1679
+ return p.map(p => delim + p.id + delim).join('.');
1680
+ }
1681
+
1682
+ function clone(obj) {
1683
+ let newObj;
1684
+ if (typeof obj !== 'object' || obj === null) // return primitive type, note that typeof null === 'object'
1685
+ return obj;
1686
+ if (Array.isArray(obj))
1687
+ newObj = [];
1688
+ else if (obj.constructor) // important for classes, else prototype chain for inheritance will not be correct
1689
+ newObj = new obj.constructor();
1690
+ else if (!Object.getPrototypeOf(obj))
1691
+ newObj = Object.create(null); // dictionary
1692
+ else
1693
+ newObj = {};
1694
+
1695
+ const props = Object.getOwnPropertyNames(obj); // clone own properties only, not inherited ones
1696
+ for (const p of props) {
1697
+ const pd = Object.getOwnPropertyDescriptor(obj, p);
1698
+ if (pd && pd.enumerable === false) {
1699
+ pd.value = obj[p]; // don't copy references
1700
+ Object.defineProperty(newObj, p, pd);
1701
+ }
1702
+ else {
1703
+ newObj[p] = clone(obj[p]);
1704
+ }
1705
+ }
1706
+ return newObj;
1707
+ }
1708
+
1709
+ function parenthesise(expr) {
1710
+ if (typeof expr === 'object' && expr.op && expr.args)
1711
+ setProp(expr, '$parens', [ expr.$location ]);
1712
+ return expr;
1713
+ }
1714
+ }
1715
+
1716
+ /**
1717
+ * Return a new CSN path object constructed from an array of pathSteps
1718
+ * The final _artifact ref is set as _artifact ref to the path
1719
+ *
1720
+ * @param {Object[]} pathSteps Array of [ 'pathStep id', _artifact reference, namedArgs (optional) ]
1721
+ * @param {any} [alias] Alias to set as the name property -> { id: <alias> }
1722
+ * @param {boolean} [rewritten=true] If true, mark the objects with $rewritten
1723
+ * @returns {object} CSN path
1724
+ */
1725
+ function constructPathNode(pathSteps, alias, rewritten = true) {
1726
+ const node = {
1727
+ $rewritten: rewritten,
1728
+ path: pathSteps.map((p) => {
1729
+ const o = {};
1730
+ Object.keys(p).forEach((k) => {
1731
+ if (!(rewritten && [ '_' ].includes(k[0])))
1732
+ o[k] = p[k];
1733
+ });
1734
+ setProp(o, '_artifact', p._artifact );
1735
+ setProp(o, '_navigation', p._navigation );
1736
+ return o;
1737
+ }),
1738
+ };
1739
+
1740
+ if (alias)
1741
+ node.name = { id: alias };
1742
+
1743
+ // set the leaf artifact
1744
+ setProp(node, '_artifact', pathSteps[pathSteps.length - 1]._artifact);
1745
+ if (pathSteps[0]._navigation)
1746
+ setProp(node.path[0], '_navigation', pathSteps[0]._navigation);
1747
+ return node;
1748
+ }
1749
+
1750
+ // Crawl all relevant sections of the query AST for paths
1751
+ function walkQuery(query, env) {
1752
+ if (!query)
1753
+ return;
1754
+
1755
+ if (!env.walkover)
1756
+ env.walkover = {};
1757
+ env.location = query.op;
1758
+ env.position = query;
1759
+
1760
+ if (query.op.val === 'SELECT') {
1761
+ env.lead = query;
1762
+
1763
+ env.location = 'from';
1764
+ walkFrom(query.from);
1765
+
1766
+ env.location = 'select';
1767
+ if (env.walkover[env.location]) {
1768
+ for (const alias in query.elements)
1769
+ walk(query.elements[alias].value, env);
1770
+
1771
+ env.location = 'Where';
1772
+ walk(query.where, env);
1773
+ env.location = 'GroupBy';
1774
+ walk(query.groupBy, env);
1775
+ env.location = 'Having';
1776
+ walk(query.having, env);
1777
+ env.location = 'OrderBy';
1778
+ walk(query.orderBy, env);
1779
+ env.location = 'UnionOuterOrderBy';
1780
+ // outer orderBy's of anonymous union
1781
+ walk(query.$orderBy, env);
1782
+ if (query.limit) {
1783
+ env.location = 'Limit';
1784
+ walk(query.limit.rows, env);
1785
+ env.location = 'Offset';
1786
+ walk(query.limit.offset, env);
1787
+ }
1788
+ }
1789
+ }
1790
+
1791
+ function walkFrom(fromBlock) {
1792
+ const aliases = [];
1793
+ env.position = fromBlock;
1794
+ if (fromBlock) {
1795
+ if (env.walkover[env.location] && walkPath(fromBlock, env)) {
1796
+ if (fromBlock.name)
1797
+ aliases.push(fromBlock.name.id);
1798
+ }
1799
+ else {
1800
+ if (fromBlock.args)
1801
+ fromBlock.args.reduce((a, arg) => a.splice(0, ...walkFrom(arg)), aliases);
1802
+
1803
+ env.location = 'onCondFrom';
1804
+ if (env.walkover[env.location]) {
1805
+ env.tableAliases = aliases;
1806
+ walk(fromBlock.on, env);
1807
+ delete env.tableAliases;
1808
+ }
1809
+ env.location = 'from';
1810
+ }
1811
+ }
1812
+ return aliases;
1813
+ }
1814
+ }
1815
+
1816
+ /* node: any
1817
+ env: { callback: (array of) callback methods with signature(thing, env)
1818
+ ...: any additional payload for the callback
1819
+ }
1820
+ */
1821
+ function walk(node, env) {
1822
+ env.position = node;
1823
+ // In some expressions queries can occur, do not follow them as they
1824
+ // are walked as member of the queries array
1825
+ if (!env || !node || (node && node.query && !node.query._artifact))
1826
+ return;
1827
+
1828
+ if (node.path) {
1829
+ walkPath(node, env);
1830
+ return;
1831
+ }
1832
+
1833
+ // Ask for Array before typeof object (which would also be true for Array)
1834
+ if (Array.isArray(node)) {
1835
+ node.forEach(n => walk(n, env));
1836
+ }
1837
+ // instanceof Object doesn't respect dictionaries...
1838
+ else if (typeof node === 'object') {
1839
+ Object.entries(node).forEach(([ n, v ]) => {
1840
+ if (n !== 'type')
1841
+ walk(v, env);
1842
+ });
1843
+ }
1844
+ }
1845
+
1846
+ function walkPath(node, env) {
1847
+ const { path } = node;
1848
+ // Ignore paths that have no artifact (function calls etc.) or that are builtins ($now, $user)
1849
+ // or that are parameters ($parameters or escaped paths (':')
1850
+ // path.length && path[ path.length-1 ]._artifact
1851
+ const art = path?.length && path[path.length - 1]._artifact;
1852
+
1853
+ // regardless of the position in the query, ignore paths that have virtual path steps
1854
+ if (art && path.some(ps => ps._artifact?.virtual?.val) && !env.walkover.virtual)
1855
+ return path;
1856
+ if (art && !internalArtifactKinds.includes(art.kind) && node.scope !== 'param') {
1857
+ if (env.callback) {
1858
+ // an array of callbacks applied to the node
1859
+ if (Array.isArray(env.callback))
1860
+ env.callback.forEach(cb => cb(node, env));
1861
+ else
1862
+ env.callback(node, env);
1863
+ }
1864
+
1865
+ /*
1866
+ NOTE: As long as association path steps are not allowed in filters,
1867
+ it is not required to walk over filter expressions.
1868
+ Simple filter paths are rewritten in createJoinTree (first filter)
1869
+ and createJoinQA (subsequent one that belong to the ON condition).
1870
+
1871
+ If the filter becomes JOIN relevant, default FILTERS (part of the
1872
+ association definition) MUST be CLONED to each assoc path step
1873
+ BEFORE resolution.
1874
+
1875
+ let filterEnv = Object.assign({walkover: {} }, env);
1876
+ filterEnv.location = 'filter';
1877
+ if(filterEnv.walkover[filterEnv.location])
1878
+ {
1879
+ // Walk over all filter expressions (not JOIN relevant,
1880
+ // cannot be detected in generic walk. Store path step
1881
+ // to which this filter was attached to in filterEnt.pathStep
1882
+ path.filter(pathStep=>pathStep.where).forEach(pathStep => {
1883
+ filterEnv.pathStep = pathStep;
1884
+ walk(pathStep.where, filterEnv) });
1885
+ }
1886
+ */
1887
+ // TODO: Parameter expressions!
1888
+ }
1889
+ // else if(path) {
1890
+ // var util = require('util');
1891
+ // var { reveal } = require('../model/revealInternalProperties');
1892
+ // }
1893
+ return path;
1894
+ }
1895
+
1896
+ function annotationVal( anno ) {
1897
+ // XSN TODO: also set `val:true` but no location for anno short form
1898
+ return anno && (anno.val === undefined || anno.val);
1899
+ }
1900
+
1901
+ function hasPersistenceSkipAnnotation( art ) {
1902
+ return art?.['@cds.persistence.skip']?.val && art['@cds.persistence.skip'].val !== 'if-unused';
1903
+ }
1904
+
1905
+ module.exports = { translateAssocsToJoinsCSN };