@sap/cds-dk 9.9.2 → 10.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2662) hide show
  1. package/CHANGELOG.md +95 -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/import.js +6 -1
  9. package/bin/login.js +4 -8
  10. package/bin/logout.js +4 -9
  11. package/bin/pull.js +4 -8
  12. package/bin/push.js +8 -23
  13. package/bin/up.js +50 -1
  14. package/bin/upgrade-tenant.js +78 -0
  15. package/bin/upgrade.js +55 -53
  16. package/bin/util/log.js +1 -2
  17. package/bin/version.js +44 -60
  18. package/lib/bind/shared.js +5 -1
  19. package/lib/build/index.js +3 -3
  20. package/lib/build/plugins/fiori/index.js +5 -5
  21. package/lib/build/plugins/hana/index.js +13 -12
  22. package/lib/build/plugins/hana/template/package.json +1 -1
  23. package/lib/build/plugins/internal.js +4 -3
  24. package/lib/build/plugins/mtx-sidecar/index.js +8 -25
  25. package/lib/build/plugins/nodejs/index.js +4 -2
  26. package/lib/build/plugins/plugin.js +4 -10
  27. package/lib/build/util.js +0 -41
  28. package/lib/import/common.js +3 -2
  29. package/lib/import/importapi.js +1 -1
  30. package/lib/import/odata/annotationParser.js +316 -0
  31. package/lib/import/odata/v2parser.js +217 -0
  32. package/lib/import/odata/v4parser.js +8 -232
  33. package/lib/import/openapi/importOpenAPI.js +15 -3
  34. package/lib/index.js +1 -1
  35. package/lib/init/bas.js +2 -3
  36. package/lib/init/constants.js +8 -7
  37. package/lib/init/index.js +1 -17
  38. package/lib/init/projectReader.js +14 -5
  39. package/lib/init/registries/mta.js +12 -0
  40. package/lib/init/template/ai/files/mta.yaml.hbs +14 -0
  41. package/lib/init/template/ai/files/package.json.hbs +25 -0
  42. package/lib/init/template/ai/files/values.yaml +7 -0
  43. package/lib/init/template/ai/index.js +48 -0
  44. package/lib/init/template/ams/files/Chart.yaml.hbs +2 -2
  45. package/lib/init/template/ams/files/containerize.yaml.hbs +5 -5
  46. package/lib/init/template/ams/files/mta.yaml.hbs +1 -1
  47. package/lib/init/template/ams/files/package.json.hbs +3 -0
  48. package/lib/init/template/ams/index.js +2 -2
  49. package/lib/init/template/app-frontend/files/app-package.json.hbs +2 -2
  50. package/lib/init/template/app-frontend/files/containerize.yaml.hbs +13 -0
  51. package/lib/init/template/app-frontend/files/index.html.hbs +1 -1
  52. package/lib/init/template/app-frontend/files/mta.yaml.hbs +1 -1
  53. package/lib/init/template/app-frontend/files/ui5.yaml.hbs +4 -4
  54. package/lib/init/template/app-frontend/files/values.yaml.hbs +21 -9
  55. package/lib/init/template/app-frontend/index.js +37 -29
  56. package/lib/init/template/application-logging/files/mta.yaml.hbs +1 -1
  57. package/lib/init/template/application-logging/index.js +3 -3
  58. package/lib/init/template/approuter/files/containerize.yaml.hbs +4 -4
  59. package/lib/init/template/approuter/files/mta.yaml.hbs +1 -1
  60. package/lib/init/template/approuter/index.js +5 -5
  61. package/lib/init/template/attachments/files/mta.yaml.hbs +1 -1
  62. package/lib/init/template/attachments/files/values.yaml +1 -1
  63. package/lib/init/template/attachments/index.js +4 -4
  64. package/lib/init/template/audit-logging/files/mta.yaml.hbs +1 -1
  65. package/lib/init/template/audit-logging/index.js +4 -4
  66. package/lib/init/template/cf-manifest/files/manifest.yml.hbs +3 -3
  67. package/lib/init/template/cjs/files/package.json.hbs +3 -0
  68. package/lib/init/template/{esm → cjs}/index.js +2 -2
  69. package/lib/init/template/cloud-logging/files/mta.yaml.hbs +1 -1
  70. package/lib/init/template/cloud-logging/index.js +3 -3
  71. package/lib/init/template/completion/completionSetup.js +1 -1
  72. package/lib/init/template/connectivity/files/mta.yaml.hbs +1 -1
  73. package/lib/init/template/connectivity/index.js +4 -4
  74. package/lib/init/template/data/as-json.js +0 -10
  75. package/lib/init/template/destination/files/mta.yaml.hbs +1 -1
  76. package/lib/init/template/destination/index.js +4 -4
  77. package/lib/init/template/dynatrace/files/mta.yaml.hbs +1 -1
  78. package/lib/init/template/dynatrace/index.js +3 -3
  79. package/lib/init/template/enterprise-messaging/files/mta.yaml.hbs +1 -1
  80. package/lib/init/template/enterprise-messaging/index.js +39 -23
  81. package/lib/init/template/enterprise-messaging-shared/files/mta.yaml.hbs +1 -1
  82. package/lib/init/template/enterprise-messaging-shared/index.js +22 -44
  83. package/lib/init/template/event-mesh/files/event-mesh.json.hbs +31 -0
  84. package/lib/init/template/event-mesh/files/mta.yaml.hbs +22 -0
  85. package/lib/init/template/event-mesh/files/package.json.hbs +20 -0
  86. package/lib/init/template/event-mesh/files/values.yaml +7 -0
  87. package/lib/init/template/event-mesh/files/xs-security.json.hbs +19 -0
  88. package/lib/init/template/event-mesh/index.js +16 -0
  89. package/lib/init/template/event-mesh-shared/files/event-mesh.json.hbs +31 -0
  90. package/lib/init/template/event-mesh-shared/files/mta.yaml.hbs +15 -0
  91. package/lib/init/template/event-mesh-shared/files/package.json.hbs +23 -0
  92. package/lib/init/template/event-mesh-shared/files/values.yaml +7 -0
  93. package/lib/init/template/event-mesh-shared/index.js +16 -0
  94. package/lib/init/template/extensibility/files/package.json.hbs +1 -1
  95. package/lib/init/template/github-actions/files/workflows/cf.yaml.hbs +2 -2
  96. package/lib/init/template/github-actions/files/workflows/test.yaml.hbs +2 -2
  97. package/lib/init/template/hana/files/containerize.yaml.hbs +5 -5
  98. package/lib/init/template/hana/files/mta.yaml.hbs +1 -1
  99. package/lib/init/template/hana/files/package.json.hbs +1 -1
  100. package/lib/init/template/hana/files/src/.hdiconfig +1 -1
  101. package/lib/init/template/hana/index.js +5 -8
  102. package/lib/init/template/handler/files/extension/handler.xs.hbs +1 -1
  103. package/lib/init/template/handler/index.js +1 -19
  104. package/lib/init/template/html5-repo/files/app-package.json.hbs +2 -2
  105. package/lib/init/template/html5-repo/files/containerize.yaml.hbs +5 -7
  106. package/lib/init/template/html5-repo/files/mta.yaml.hbs +4 -4
  107. package/lib/init/template/html5-repo/files/ui5.yaml.hbs +4 -4
  108. package/lib/init/template/html5-repo/files/values.yaml.hbs +9 -0
  109. package/lib/init/template/html5-repo/index.js +23 -22
  110. package/lib/init/template/ias/files/Chart.yaml.hbs +2 -2
  111. package/lib/init/template/ias/files/mta.yaml.hbs +1 -1
  112. package/lib/init/template/ias/index.js +5 -5
  113. package/lib/init/template/initial/index.js +2 -10
  114. package/lib/init/template/kafka/files/mta.yaml.hbs +1 -1
  115. package/lib/init/template/kafka/files/values.yaml +1 -1
  116. package/lib/init/template/kafka/index.js +4 -4
  117. package/lib/init/template/kyma/files/containerize.yaml.hbs +11 -11
  118. package/lib/init/template/kyma/files/values.schema.json +1 -1
  119. package/lib/init/template/kyma/index.js +10 -10
  120. package/lib/init/template/lint/files/package.json +1 -1
  121. package/lib/init/template/malware-scanner/files/mta.yaml.hbs +2 -2
  122. package/lib/init/template/malware-scanner/files/package.json.hbs +1 -1
  123. package/lib/init/template/malware-scanner/files/values.yaml +1 -1
  124. package/lib/init/template/malware-scanner/index.js +4 -4
  125. package/lib/init/template/mta/files/mta.yaml.hbs +1 -1
  126. package/lib/init/template/mta/files/package.json +1 -1
  127. package/lib/init/template/multitenancy/files/containerize.yaml.hbs +5 -5
  128. package/lib/init/template/multitenancy/files/mta.yaml.hbs +1 -1
  129. package/lib/init/template/multitenancy/files/package.json.hbs +1 -1
  130. package/lib/init/template/multitenancy/files/package.sidecar.json.hbs +5 -5
  131. package/lib/init/template/multitenancy/index.js +10 -11
  132. package/lib/init/template/nodejs/files/package.json.hbs +3 -2
  133. package/lib/init/template/portal/files/containerize.yaml.hbs +4 -4
  134. package/lib/init/template/portal/files/mta.yaml.hbs +1 -1
  135. package/lib/init/template/portal/files/values.yaml.hbs +3 -32
  136. package/lib/init/template/portal/index.js +5 -13
  137. package/lib/init/template/postgres/files/containerize.yaml.hbs +4 -4
  138. package/lib/init/template/postgres/files/mta.yml.hbs +1 -1
  139. package/lib/init/template/postgres/files/package.json.hbs +1 -1
  140. package/lib/init/template/postgres/index.js +4 -4
  141. package/lib/init/template/react/files/{index.html → index.html.hbs} +1 -1
  142. package/lib/init/template/react/files/{vite.config.js → vite.config.js.hbs} +2 -1
  143. package/lib/init/template/react/index.js +15 -7
  144. package/lib/init/template/redis/files/mta.yaml.hbs +1 -1
  145. package/lib/init/template/redis/index.js +4 -4
  146. package/lib/init/template/sample/files/app/admin-books/webapp/manifest.json +2 -1
  147. package/lib/init/template/side-by-side-extensibility/files/mta.yaml.hbs +1 -1
  148. package/lib/init/template/sqlite/files/package.json.hbs +2 -2
  149. package/lib/init/template/toggles/files/package.json.hbs +1 -1
  150. package/lib/init/template/typer/files/gitignore +1 -1
  151. package/lib/init/template/typescript/files/package.json +1 -1
  152. package/lib/init/template/vue/files/{index.html → index.html.hbs} +1 -1
  153. package/lib/init/template/vue/files/{vite.config.js → vite.config.js.hbs} +2 -1
  154. package/lib/init/template/vue/index.js +16 -8
  155. package/lib/init/template/workzone-standard/files/mta.yaml.hbs +1 -1
  156. package/lib/init/template/workzone-standard/index.js +3 -3
  157. package/lib/init/template/xsuaa/files/mta.yaml.hbs +1 -1
  158. package/lib/init/template/xsuaa/index.js +3 -3
  159. package/lib/lint/Linter.js +5 -4
  160. package/lib/lint/eslintHelp.json +1 -1
  161. package/lib/mtx/params.js +0 -4
  162. package/lib/mtx/pull.js +1 -1
  163. package/lib/mtx/push.js +4 -3
  164. package/lib/mtx/settings_manager.js +9 -14
  165. package/lib/mtx/tenant_action.js +6 -6
  166. package/lib/mtx/util/question.js +0 -18
  167. package/lib/upgrade/constants.js +102 -0
  168. package/lib/upgrade/context.js +24 -0
  169. package/lib/upgrade/index.js +65 -0
  170. package/lib/upgrade/migrations/cds10/migrations.json +705 -0
  171. package/lib/upgrade/preflight/cds-version.js +61 -0
  172. package/lib/upgrade/preflight/consistency.js +94 -0
  173. package/lib/upgrade/preflight/index.js +49 -0
  174. package/lib/upgrade/preflight/project-type.js +224 -0
  175. package/lib/upgrade/steps/analyze/classification.js +92 -0
  176. package/lib/upgrade/steps/analyze/detector.js +22 -0
  177. package/lib/upgrade/steps/analyze/evaluator.js +91 -0
  178. package/lib/upgrade/steps/analyze/index.js +124 -0
  179. package/lib/upgrade/steps/analyze/reporter.js +339 -0
  180. package/lib/upgrade/steps/analyze/setup.js +71 -0
  181. package/lib/upgrade/steps/analyze/utils/detection.js +63 -0
  182. package/lib/upgrade/steps/analyze/utils/files.js +114 -0
  183. package/lib/upgrade/steps/analyze/utils/grep.js +95 -0
  184. package/lib/upgrade/steps/analyze/utils/yaml.js +58 -0
  185. package/lib/upgrade/steps/install.js +115 -0
  186. package/lib/upgrade/steps/openrewrite.js +293 -0
  187. package/lib/upgrade/steps/removals.js +88 -0
  188. package/lib/upgrade/steps/rewrite.js +167 -0
  189. package/lib/upgrade/steps/verify.js +96 -0
  190. package/lib/upgrade/util/pom.js +46 -0
  191. package/lib/upgrade/util/prompt.js +28 -0
  192. package/lib/upgrade/util/workspaces.js +111 -0
  193. package/lib/util/cf.js +23 -12
  194. package/lib/util/term.js +1 -1
  195. package/lib/watch/vite-watch.js +33 -8
  196. package/lib/watch/watcher.js +27 -1
  197. package/node_modules/@cap-js/asyncapi/LICENSE +201 -0
  198. package/node_modules/@cap-js/asyncapi/README.md +46 -0
  199. package/node_modules/@cap-js/asyncapi/index.js +4 -0
  200. package/node_modules/@cap-js/asyncapi/lib/compile/channels.js +18 -0
  201. package/node_modules/@cap-js/asyncapi/lib/compile/components/messageTraits/index.js +89 -0
  202. package/node_modules/@cap-js/asyncapi/lib/compile/components/messages/index.js +179 -0
  203. package/node_modules/@cap-js/asyncapi/lib/compile/components/schemas/annotations.js +36 -0
  204. package/node_modules/@cap-js/asyncapi/lib/compile/components/schemas/array.js +8 -0
  205. package/node_modules/@cap-js/asyncapi/lib/compile/components/schemas/cache.js +16 -0
  206. package/node_modules/@cap-js/asyncapi/lib/compile/components/schemas/definition.js +191 -0
  207. package/node_modules/@cap-js/asyncapi/lib/compile/components/schemas/enum.js +15 -0
  208. package/node_modules/@cap-js/asyncapi/lib/compile/components/schemas/examples.js +10 -0
  209. package/node_modules/@cap-js/asyncapi/lib/compile/components/schemas/index.js +14 -0
  210. package/node_modules/@cap-js/asyncapi/lib/compile/components/schemas/localized.js +29 -0
  211. package/node_modules/@cap-js/asyncapi/lib/compile/components/schemas/primitiveElement.js +41 -0
  212. package/node_modules/@cap-js/asyncapi/lib/compile/components/schemas/ref.js +45 -0
  213. package/node_modules/@cap-js/asyncapi/lib/compile/components/schemas/utils.js +108 -0
  214. package/node_modules/@cap-js/asyncapi/lib/compile/index.js +277 -0
  215. package/node_modules/@cap-js/asyncapi/lib/compile/message.js +13 -0
  216. package/node_modules/@cap-js/asyncapi/lib/compile/utils.js +77 -0
  217. package/node_modules/@cap-js/asyncapi/package.json +34 -0
  218. package/node_modules/@cap-js/openapi/LICENSE +201 -0
  219. package/node_modules/@cap-js/openapi/README.md +96 -0
  220. package/node_modules/@cap-js/openapi/index.js +5 -0
  221. package/node_modules/@cap-js/openapi/lib/compile/csdl-types.d.ts +546 -0
  222. package/node_modules/@cap-js/openapi/lib/compile/csdl.js +212 -0
  223. package/node_modules/@cap-js/openapi/lib/compile/csdl2openapi.js +2753 -0
  224. package/node_modules/@cap-js/openapi/lib/compile/diagram.js +112 -0
  225. package/node_modules/@cap-js/openapi/lib/compile/index.js +259 -0
  226. package/node_modules/@cap-js/openapi/lib/compile/string-util.js +20 -0
  227. package/node_modules/@cap-js/openapi/lib/compile/types.d.ts +117 -0
  228. package/node_modules/@cap-js/openapi/package.json +44 -0
  229. package/node_modules/@eslint/js/LICENSE +19 -0
  230. package/node_modules/@eslint/js/README.md +103 -0
  231. package/node_modules/@eslint/js/package.json +44 -0
  232. package/node_modules/@eslint/js/src/configs/eslint-all.js +210 -0
  233. package/node_modules/@eslint/js/src/configs/eslint-recommended.js +75 -0
  234. package/node_modules/@eslint/js/src/index.js +23 -0
  235. package/node_modules/@eslint/js/types/index.d.ts +14 -0
  236. package/node_modules/@sap/cds/CHANGELOG.md +810 -0
  237. package/node_modules/@sap/cds/LICENSE +32 -0
  238. package/node_modules/@sap/cds/README.md +13 -0
  239. package/node_modules/@sap/cds/_i18n/i18n.properties +113 -0
  240. package/node_modules/@sap/cds/_i18n/i18n_ar.properties +58 -0
  241. package/node_modules/@sap/cds/_i18n/i18n_bg.properties +58 -0
  242. package/node_modules/@sap/cds/_i18n/i18n_cs.properties +58 -0
  243. package/node_modules/@sap/cds/_i18n/i18n_da.properties +58 -0
  244. package/node_modules/@sap/cds/_i18n/i18n_de.properties +58 -0
  245. package/node_modules/@sap/cds/_i18n/i18n_el.properties +58 -0
  246. package/node_modules/@sap/cds/_i18n/i18n_en.properties +58 -0
  247. package/node_modules/@sap/cds/_i18n/i18n_en_US_saptrc.properties +58 -0
  248. package/node_modules/@sap/cds/_i18n/i18n_es.properties +58 -0
  249. package/node_modules/@sap/cds/_i18n/i18n_es_MX.properties +58 -0
  250. package/node_modules/@sap/cds/_i18n/i18n_fi.properties +58 -0
  251. package/node_modules/@sap/cds/_i18n/i18n_fr.properties +58 -0
  252. package/node_modules/@sap/cds/_i18n/i18n_he.properties +58 -0
  253. package/node_modules/@sap/cds/_i18n/i18n_hr.properties +58 -0
  254. package/node_modules/@sap/cds/_i18n/i18n_hu.properties +58 -0
  255. package/node_modules/@sap/cds/_i18n/i18n_it.properties +58 -0
  256. package/node_modules/@sap/cds/_i18n/i18n_ja.properties +58 -0
  257. package/node_modules/@sap/cds/_i18n/i18n_kk.properties +58 -0
  258. package/node_modules/@sap/cds/_i18n/i18n_ko.properties +58 -0
  259. package/node_modules/@sap/cds/_i18n/i18n_ms.properties +58 -0
  260. package/node_modules/@sap/cds/_i18n/i18n_nl.properties +58 -0
  261. package/node_modules/@sap/cds/_i18n/i18n_no.properties +58 -0
  262. package/node_modules/@sap/cds/_i18n/i18n_pl.properties +58 -0
  263. package/node_modules/@sap/cds/_i18n/i18n_pt.properties +58 -0
  264. package/node_modules/@sap/cds/_i18n/i18n_ro.properties +58 -0
  265. package/node_modules/@sap/cds/_i18n/i18n_ru.properties +58 -0
  266. package/node_modules/@sap/cds/_i18n/i18n_sh.properties +58 -0
  267. package/node_modules/@sap/cds/_i18n/i18n_sk.properties +58 -0
  268. package/node_modules/@sap/cds/_i18n/i18n_sl.properties +58 -0
  269. package/node_modules/@sap/cds/_i18n/i18n_sv.properties +58 -0
  270. package/node_modules/@sap/cds/_i18n/i18n_th.properties +58 -0
  271. package/node_modules/@sap/cds/_i18n/i18n_tr.properties +58 -0
  272. package/node_modules/@sap/cds/_i18n/i18n_uk.properties +58 -0
  273. package/node_modules/@sap/cds/_i18n/i18n_vi.properties +58 -0
  274. package/node_modules/@sap/cds/_i18n/i18n_zh_CN.properties +58 -0
  275. package/node_modules/@sap/cds/_i18n/i18n_zh_TW.properties +58 -0
  276. package/node_modules/@sap/cds/_i18n/messages.properties +196 -0
  277. package/node_modules/@sap/cds/_i18n/messages_ar.properties +103 -0
  278. package/node_modules/@sap/cds/_i18n/messages_bg.properties +103 -0
  279. package/node_modules/@sap/cds/_i18n/messages_cs.properties +103 -0
  280. package/node_modules/@sap/cds/_i18n/messages_da.properties +103 -0
  281. package/node_modules/@sap/cds/_i18n/messages_de.properties +103 -0
  282. package/node_modules/@sap/cds/_i18n/messages_el.properties +103 -0
  283. package/node_modules/@sap/cds/_i18n/messages_en.properties +103 -0
  284. package/node_modules/@sap/cds/_i18n/messages_en_US_saptrc.properties +103 -0
  285. package/node_modules/@sap/cds/_i18n/messages_es.properties +103 -0
  286. package/node_modules/@sap/cds/_i18n/messages_es_MX.properties +103 -0
  287. package/node_modules/@sap/cds/_i18n/messages_fi.properties +103 -0
  288. package/node_modules/@sap/cds/_i18n/messages_fr.properties +103 -0
  289. package/node_modules/@sap/cds/_i18n/messages_he.properties +103 -0
  290. package/node_modules/@sap/cds/_i18n/messages_hr.properties +103 -0
  291. package/node_modules/@sap/cds/_i18n/messages_hu.properties +103 -0
  292. package/node_modules/@sap/cds/_i18n/messages_it.properties +103 -0
  293. package/node_modules/@sap/cds/_i18n/messages_ja.properties +103 -0
  294. package/node_modules/@sap/cds/_i18n/messages_kk.properties +103 -0
  295. package/node_modules/@sap/cds/_i18n/messages_ko.properties +103 -0
  296. package/node_modules/@sap/cds/_i18n/messages_ms.properties +103 -0
  297. package/node_modules/@sap/cds/_i18n/messages_nl.properties +103 -0
  298. package/node_modules/@sap/cds/_i18n/messages_no.properties +103 -0
  299. package/node_modules/@sap/cds/_i18n/messages_pl.properties +103 -0
  300. package/node_modules/@sap/cds/_i18n/messages_pt.properties +103 -0
  301. package/node_modules/@sap/cds/_i18n/messages_ro.properties +103 -0
  302. package/node_modules/@sap/cds/_i18n/messages_ru.properties +103 -0
  303. package/node_modules/@sap/cds/_i18n/messages_sh.properties +103 -0
  304. package/node_modules/@sap/cds/_i18n/messages_sk.properties +103 -0
  305. package/node_modules/@sap/cds/_i18n/messages_sl.properties +103 -0
  306. package/node_modules/@sap/cds/_i18n/messages_sv.properties +103 -0
  307. package/node_modules/@sap/cds/_i18n/messages_th.properties +103 -0
  308. package/node_modules/@sap/cds/_i18n/messages_tr.properties +103 -0
  309. package/node_modules/@sap/cds/_i18n/messages_uk.properties +103 -0
  310. package/node_modules/@sap/cds/_i18n/messages_vi.properties +103 -0
  311. package/node_modules/@sap/cds/_i18n/messages_zh_CN.properties +103 -0
  312. package/node_modules/@sap/cds/_i18n/messages_zh_TW.properties +103 -0
  313. package/node_modules/@sap/cds/app/etc/livereload.js +9 -0
  314. package/node_modules/@sap/cds/app/favicon.ico +0 -0
  315. package/node_modules/@sap/cds/app/index.css +132 -0
  316. package/node_modules/@sap/cds/app/index.html +32 -0
  317. package/node_modules/@sap/cds/app/index.js +100 -0
  318. package/node_modules/@sap/cds/bin/args.js +34 -0
  319. package/node_modules/@sap/cds/bin/deploy.js +29 -0
  320. package/node_modules/@sap/cds/bin/serve.js +398 -0
  321. package/node_modules/@sap/cds/common.cds +216 -0
  322. package/node_modules/@sap/cds/eslint.config.mjs +153 -0
  323. package/node_modules/@sap/cds/lib/compile/cds-compile.js +63 -0
  324. package/node_modules/@sap/cds/lib/compile/cdsc.js +166 -0
  325. package/node_modules/@sap/cds/lib/compile/etc/_localized.js +75 -0
  326. package/node_modules/@sap/cds/lib/compile/etc/csv.js +87 -0
  327. package/node_modules/@sap/cds/lib/compile/etc/properties.js +44 -0
  328. package/node_modules/@sap/cds/lib/compile/etc/yaml.js +9 -0
  329. package/node_modules/@sap/cds/lib/compile/extend.js +39 -0
  330. package/node_modules/@sap/cds/lib/compile/for/assert.js +64 -0
  331. package/node_modules/@sap/cds/lib/compile/for/direct_crud.js +49 -0
  332. package/node_modules/@sap/cds/lib/compile/for/flows.js +396 -0
  333. package/node_modules/@sap/cds/lib/compile/for/java.js +49 -0
  334. package/node_modules/@sap/cds/lib/compile/for/lean_drafts.js +230 -0
  335. package/node_modules/@sap/cds/lib/compile/for/nodejs.js +94 -0
  336. package/node_modules/@sap/cds/lib/compile/for/odata.js +19 -0
  337. package/node_modules/@sap/cds/lib/compile/for/sql.js +9 -0
  338. package/node_modules/@sap/cds/lib/compile/load.js +59 -0
  339. package/node_modules/@sap/cds/lib/compile/minify.js +112 -0
  340. package/node_modules/@sap/cds/lib/compile/parse.js +140 -0
  341. package/node_modules/@sap/cds/lib/compile/resolve.js +166 -0
  342. package/node_modules/@sap/cds/lib/compile/to/cdl.js +22 -0
  343. package/node_modules/@sap/cds/lib/compile/to/csn.js +80 -0
  344. package/node_modules/@sap/cds/lib/compile/to/edm-files.js +80 -0
  345. package/node_modules/@sap/cds/lib/compile/to/edm.js +97 -0
  346. package/node_modules/@sap/cds/lib/compile/to/hana.js +31 -0
  347. package/node_modules/@sap/cds/lib/compile/to/hdbtabledata.js +152 -0
  348. package/node_modules/@sap/cds/lib/compile/to/json.js +63 -0
  349. package/node_modules/@sap/cds/lib/compile/to/sql.js +62 -0
  350. package/node_modules/@sap/cds/lib/compile/to/srvinfo.js +135 -0
  351. package/node_modules/@sap/cds/lib/core/classes.js +230 -0
  352. package/node_modules/@sap/cds/lib/core/entities.js +132 -0
  353. package/node_modules/@sap/cds/lib/core/linked-csn.js +188 -0
  354. package/node_modules/@sap/cds/lib/core/types.js +67 -0
  355. package/node_modules/@sap/cds/lib/dbs/cds-deploy.js +420 -0
  356. package/node_modules/@sap/cds/lib/env/cds-env.js +584 -0
  357. package/node_modules/@sap/cds/lib/env/cds-requires.js +315 -0
  358. package/node_modules/@sap/cds/lib/env/compat.js +95 -0
  359. package/node_modules/@sap/cds/lib/env/defaults.js +227 -0
  360. package/node_modules/@sap/cds/lib/env/schemas/cds-package.js +27 -0
  361. package/node_modules/@sap/cds/lib/env/schemas/cds-rc.js +1124 -0
  362. package/node_modules/@sap/cds/lib/env/schemas/index.js +12 -0
  363. package/node_modules/@sap/cds/lib/env/serviceBindings.js +157 -0
  364. package/node_modules/@sap/cds/lib/i18n/bundles.js +114 -0
  365. package/node_modules/@sap/cds/lib/i18n/files.js +140 -0
  366. package/node_modules/@sap/cds/lib/i18n/index.js +63 -0
  367. package/node_modules/@sap/cds/lib/i18n/locale.js +42 -0
  368. package/node_modules/@sap/cds/lib/i18n/localize.js +137 -0
  369. package/node_modules/@sap/cds/lib/index.js +156 -0
  370. package/node_modules/@sap/cds/lib/log/cds-error.js +114 -0
  371. package/node_modules/@sap/cds/lib/log/cds-log.js +215 -0
  372. package/node_modules/@sap/cds/lib/log/format/aspects/als.js +27 -0
  373. package/node_modules/@sap/cds/lib/log/format/aspects/cf.js +36 -0
  374. package/node_modules/@sap/cds/lib/log/format/aspects/cls.js +19 -0
  375. package/node_modules/@sap/cds/lib/log/format/json.js +143 -0
  376. package/node_modules/@sap/cds/lib/log/service/index.js +96 -0
  377. package/node_modules/@sap/cds/lib/log/service/model.cds +21 -0
  378. package/node_modules/@sap/cds/lib/log/service/test.http +16 -0
  379. package/node_modules/@sap/cds/lib/log/service/vue.html +73 -0
  380. package/node_modules/@sap/cds/lib/plugins.js +45 -0
  381. package/node_modules/@sap/cds/lib/ql/CREATE.js +30 -0
  382. package/node_modules/@sap/cds/lib/ql/DELETE.js +26 -0
  383. package/node_modules/@sap/cds/lib/ql/DROP.js +33 -0
  384. package/node_modules/@sap/cds/lib/ql/INSERT.js +57 -0
  385. package/node_modules/@sap/cds/lib/ql/SELECT.js +207 -0
  386. package/node_modules/@sap/cds/lib/ql/UPDATE.js +111 -0
  387. package/node_modules/@sap/cds/lib/ql/UPSERT.js +17 -0
  388. package/node_modules/@sap/cds/lib/ql/Whereable.js +58 -0
  389. package/node_modules/@sap/cds/lib/ql/cds-ql.js +228 -0
  390. package/node_modules/@sap/cds/lib/ql/cds.ql-Query.js +111 -0
  391. package/node_modules/@sap/cds/lib/ql/cds.ql-infer.js +148 -0
  392. package/node_modules/@sap/cds/lib/ql/cds.ql-predicates.js +136 -0
  393. package/node_modules/@sap/cds/lib/ql/cds.ql-projections.js +111 -0
  394. package/node_modules/@sap/cds/lib/ql/cqn.d.ts +146 -0
  395. package/node_modules/@sap/cds/lib/req/assert.js +71 -0
  396. package/node_modules/@sap/cds/lib/req/context.js +216 -0
  397. package/node_modules/@sap/cds/lib/req/event.js +14 -0
  398. package/node_modules/@sap/cds/lib/req/request.js +183 -0
  399. package/node_modules/@sap/cds/lib/req/response.js +54 -0
  400. package/node_modules/@sap/cds/lib/req/spawn.js +38 -0
  401. package/node_modules/@sap/cds/lib/req/user.js +77 -0
  402. package/node_modules/@sap/cds/lib/req/validate.js +339 -0
  403. package/node_modules/@sap/cds/lib/srv/bindings.js +170 -0
  404. package/node_modules/@sap/cds/lib/srv/cds-connect.js +79 -0
  405. package/node_modules/@sap/cds/lib/srv/cds-serve.js +84 -0
  406. package/node_modules/@sap/cds/lib/srv/cds.Service.js +214 -0
  407. package/node_modules/@sap/cds/lib/srv/factory.js +78 -0
  408. package/node_modules/@sap/cds/lib/srv/middlewares/auth/basic-auth.js +55 -0
  409. package/node_modules/@sap/cds/lib/srv/middlewares/auth/dummy-auth.js +8 -0
  410. package/node_modules/@sap/cds/lib/srv/middlewares/auth/ias-auth.js +167 -0
  411. package/node_modules/@sap/cds/lib/srv/middlewares/auth/index.js +53 -0
  412. package/node_modules/@sap/cds/lib/srv/middlewares/auth/jwt-auth.js +89 -0
  413. package/node_modules/@sap/cds/lib/srv/middlewares/auth/mocked-users.js +73 -0
  414. package/node_modules/@sap/cds/lib/srv/middlewares/auth/xssec.js +7 -0
  415. package/node_modules/@sap/cds/lib/srv/middlewares/cds-context.js +17 -0
  416. package/node_modules/@sap/cds/lib/srv/middlewares/ctx-model.js +25 -0
  417. package/node_modules/@sap/cds/lib/srv/middlewares/errors.js +42 -0
  418. package/node_modules/@sap/cds/lib/srv/middlewares/index.js +51 -0
  419. package/node_modules/@sap/cds/lib/srv/middlewares/trace.js +117 -0
  420. package/node_modules/@sap/cds/lib/srv/protocols/hcql.js +170 -0
  421. package/node_modules/@sap/cds/lib/srv/protocols/http.js +207 -0
  422. package/node_modules/@sap/cds/lib/srv/protocols/index.js +186 -0
  423. package/node_modules/@sap/cds/lib/srv/protocols/odata-v4.js +1 -0
  424. package/node_modules/@sap/cds/lib/srv/protocols/rest.js +1 -0
  425. package/node_modules/@sap/cds/lib/srv/srv-dispatch.js +117 -0
  426. package/node_modules/@sap/cds/lib/srv/srv-handlers.js +173 -0
  427. package/node_modules/@sap/cds/lib/srv/srv-methods.js +86 -0
  428. package/node_modules/@sap/cds/lib/srv/srv-models.js +167 -0
  429. package/node_modules/@sap/cds/lib/srv/srv-resolve.js +21 -0
  430. package/node_modules/@sap/cds/lib/srv/srv-tx.js +204 -0
  431. package/node_modules/@sap/cds/lib/test/cds-test.js +5 -0
  432. package/node_modules/@sap/cds/lib/utils/cds-utils.js +411 -0
  433. package/node_modules/@sap/cds/lib/utils/colors.js +56 -0
  434. package/node_modules/@sap/cds/lib/utils/csv-reader.js +100 -0
  435. package/node_modules/@sap/cds/lib/utils/extend.js +20 -0
  436. package/node_modules/@sap/cds/lib/utils/inflect.js +25 -0
  437. package/node_modules/@sap/cds/lib/utils/lazify.js +33 -0
  438. package/node_modules/@sap/cds/lib/utils/tar-lib.js +58 -0
  439. package/node_modules/@sap/cds/lib/utils/tar-win.js +106 -0
  440. package/node_modules/@sap/cds/lib/utils/tar.js +180 -0
  441. package/node_modules/@sap/cds/lib/utils/version.js +11 -0
  442. package/node_modules/@sap/cds/libx/_runtime/cds.js +25 -0
  443. package/node_modules/@sap/cds/libx/_runtime/common/Service.js +96 -0
  444. package/node_modules/@sap/cds/libx/_runtime/common/aspects/Association.js +82 -0
  445. package/node_modules/@sap/cds/libx/_runtime/common/aspects/any.js +34 -0
  446. package/node_modules/@sap/cds/libx/_runtime/common/aspects/entity.js +41 -0
  447. package/node_modules/@sap/cds/libx/_runtime/common/aspects/service.js +25 -0
  448. package/node_modules/@sap/cds/libx/_runtime/common/constants/draft.js +48 -0
  449. package/node_modules/@sap/cds/libx/_runtime/common/constants/events.js +6 -0
  450. package/node_modules/@sap/cds/libx/_runtime/common/generic/assert.js +225 -0
  451. package/node_modules/@sap/cds/libx/_runtime/common/generic/auth/autoexpose.js +26 -0
  452. package/node_modules/@sap/cds/libx/_runtime/common/generic/auth/capabilities.js +87 -0
  453. package/node_modules/@sap/cds/libx/_runtime/common/generic/auth/expand.js +74 -0
  454. package/node_modules/@sap/cds/libx/_runtime/common/generic/auth/index.js +84 -0
  455. package/node_modules/@sap/cds/libx/_runtime/common/generic/auth/insertOnly.js +13 -0
  456. package/node_modules/@sap/cds/libx/_runtime/common/generic/auth/readOnly.js +13 -0
  457. package/node_modules/@sap/cds/libx/_runtime/common/generic/auth/requires.js +40 -0
  458. package/node_modules/@sap/cds/libx/_runtime/common/generic/auth/restrict.js +296 -0
  459. package/node_modules/@sap/cds/libx/_runtime/common/generic/auth/restrictions.js +124 -0
  460. package/node_modules/@sap/cds/libx/_runtime/common/generic/auth/service.js +18 -0
  461. package/node_modules/@sap/cds/libx/_runtime/common/generic/auth/utils.js +200 -0
  462. package/node_modules/@sap/cds/libx/_runtime/common/generic/crud.js +82 -0
  463. package/node_modules/@sap/cds/libx/_runtime/common/generic/etag.js +100 -0
  464. package/node_modules/@sap/cds/libx/_runtime/common/generic/flows.js +235 -0
  465. package/node_modules/@sap/cds/libx/_runtime/common/generic/input.js +441 -0
  466. package/node_modules/@sap/cds/libx/_runtime/common/generic/media.js +25 -0
  467. package/node_modules/@sap/cds/libx/_runtime/common/generic/paging.js +47 -0
  468. package/node_modules/@sap/cds/libx/_runtime/common/generic/sorting.js +83 -0
  469. package/node_modules/@sap/cds/libx/_runtime/common/generic/temporal.js +86 -0
  470. package/node_modules/@sap/cds/libx/_runtime/common/utils/binary.js +9 -0
  471. package/node_modules/@sap/cds/libx/_runtime/common/utils/compareJson.js +378 -0
  472. package/node_modules/@sap/cds/libx/_runtime/common/utils/copy.js +44 -0
  473. package/node_modules/@sap/cds/libx/_runtime/common/utils/cqn.js +73 -0
  474. package/node_modules/@sap/cds/libx/_runtime/common/utils/csn.js +153 -0
  475. package/node_modules/@sap/cds/libx/_runtime/common/utils/differ.js +183 -0
  476. package/node_modules/@sap/cds/libx/_runtime/common/utils/draft.js +82 -0
  477. package/node_modules/@sap/cds/libx/_runtime/common/utils/entityFromCqn.js +42 -0
  478. package/node_modules/@sap/cds/libx/_runtime/common/utils/etag.js +30 -0
  479. package/node_modules/@sap/cds/libx/_runtime/common/utils/foreignKeyPropagations.js +299 -0
  480. package/node_modules/@sap/cds/libx/_runtime/common/utils/keys.js +105 -0
  481. package/node_modules/@sap/cds/libx/_runtime/common/utils/normalizeTimestamp.js +34 -0
  482. package/node_modules/@sap/cds/libx/_runtime/common/utils/postProcess.js +102 -0
  483. package/node_modules/@sap/cds/libx/_runtime/common/utils/propagateForeignKeys.js +108 -0
  484. package/node_modules/@sap/cds/libx/_runtime/common/utils/resolveStructured.js +58 -0
  485. package/node_modules/@sap/cds/libx/_runtime/common/utils/resolveView.js +732 -0
  486. package/node_modules/@sap/cds/libx/_runtime/common/utils/rewriteAsterisks.js +199 -0
  487. package/node_modules/@sap/cds/libx/_runtime/common/utils/rowUUIDGenerator.js +21 -0
  488. package/node_modules/@sap/cds/libx/_runtime/common/utils/streamProp.js +72 -0
  489. package/node_modules/@sap/cds/libx/_runtime/common/utils/structured.js +314 -0
  490. package/node_modules/@sap/cds/libx/_runtime/common/utils/template.js +154 -0
  491. package/node_modules/@sap/cds/libx/_runtime/common/utils/templateDelimiter.js +1 -0
  492. package/node_modules/@sap/cds/libx/_runtime/common/utils/templateProcessor.js +83 -0
  493. package/node_modules/@sap/cds/libx/_runtime/common/utils/templateProcessorPathSerializer.js +51 -0
  494. package/node_modules/@sap/cds/libx/_runtime/common/utils/vcap.js +28 -0
  495. package/node_modules/@sap/cds/libx/_runtime/common/utils/waitingTime.js +14 -0
  496. package/node_modules/@sap/cds/libx/_runtime/fiori/lean-draft.js +2604 -0
  497. package/node_modules/@sap/cds/libx/_runtime/messaging/AMQPWebhookMessaging.js +71 -0
  498. package/node_modules/@sap/cds/libx/_runtime/messaging/common-utils/AMQPClient.js +90 -0
  499. package/node_modules/@sap/cds/libx/_runtime/messaging/common-utils/appId.js +9 -0
  500. package/node_modules/@sap/cds/libx/_runtime/messaging/common-utils/authorizedRequest.js +66 -0
  501. package/node_modules/@sap/cds/libx/_runtime/messaging/common-utils/connections.js +81 -0
  502. package/node_modules/@sap/cds/libx/_runtime/messaging/common-utils/normalizeIncomingMessage.js +29 -0
  503. package/node_modules/@sap/cds/libx/_runtime/messaging/common-utils/optionsForSubdomain.js +14 -0
  504. package/node_modules/@sap/cds/libx/_runtime/messaging/common-utils/runInSequence.js +6 -0
  505. package/node_modules/@sap/cds/libx/_runtime/messaging/composite.js +47 -0
  506. package/node_modules/@sap/cds/libx/_runtime/messaging/enterprise-messaging-shared.js +61 -0
  507. package/node_modules/@sap/cds/libx/_runtime/messaging/enterprise-messaging-utils/EMManagement.js +473 -0
  508. package/node_modules/@sap/cds/libx/_runtime/messaging/enterprise-messaging-utils/cloudEvents.js +31 -0
  509. package/node_modules/@sap/cds/libx/_runtime/messaging/enterprise-messaging-utils/getTenantInfo.js +24 -0
  510. package/node_modules/@sap/cds/libx/_runtime/messaging/enterprise-messaging-utils/options-management.js +24 -0
  511. package/node_modules/@sap/cds/libx/_runtime/messaging/enterprise-messaging-utils/options-messaging.js +73 -0
  512. package/node_modules/@sap/cds/libx/_runtime/messaging/enterprise-messaging-utils/registerEndpoints.js +158 -0
  513. package/node_modules/@sap/cds/libx/_runtime/messaging/enterprise-messaging.js +209 -0
  514. package/node_modules/@sap/cds/libx/_runtime/messaging/file-based.js +104 -0
  515. package/node_modules/@sap/cds/libx/_runtime/messaging/http-utils/token.js +75 -0
  516. package/node_modules/@sap/cds/libx/_runtime/messaging/kafka.js +273 -0
  517. package/node_modules/@sap/cds/libx/_runtime/messaging/message-queuing-utils/options-management.js +34 -0
  518. package/node_modules/@sap/cds/libx/_runtime/messaging/message-queuing-utils/options-messaging.js +40 -0
  519. package/node_modules/@sap/cds/libx/_runtime/messaging/message-queuing.js +238 -0
  520. package/node_modules/@sap/cds/libx/_runtime/messaging/redis-messaging.js +95 -0
  521. package/node_modules/@sap/cds/libx/_runtime/messaging/service.js +147 -0
  522. package/node_modules/@sap/cds/libx/_runtime/remote/Service.js +330 -0
  523. package/node_modules/@sap/cds/libx/_runtime/remote/utils/client.js +287 -0
  524. package/node_modules/@sap/cds/libx/_runtime/remote/utils/cloudSdkProvider.js +60 -0
  525. package/node_modules/@sap/cds/libx/_runtime/remote/utils/data.js +177 -0
  526. package/node_modules/@sap/cds/libx/_runtime/remote/utils/fetchClient.js +180 -0
  527. package/node_modules/@sap/cds/libx/_runtime/remote/utils/query.js +196 -0
  528. package/node_modules/@sap/cds/libx/_runtime/ucl/Service.js +450 -0
  529. package/node_modules/@sap/cds/libx/_runtime/ucl/queries.js +61 -0
  530. package/node_modules/@sap/cds/libx/common/utils/path.js +47 -0
  531. package/node_modules/@sap/cds/libx/common/utils/streaming.js +72 -0
  532. package/node_modules/@sap/cds/libx/http/body-parser.js +44 -0
  533. package/node_modules/@sap/cds/libx/http/location.js +42 -0
  534. package/node_modules/@sap/cds/libx/http/put.js +36 -0
  535. package/node_modules/@sap/cds/libx/odata/ODataAdapter.js +129 -0
  536. package/node_modules/@sap/cds/libx/odata/index.js +137 -0
  537. package/node_modules/@sap/cds/libx/odata/middleware/batch.js +695 -0
  538. package/node_modules/@sap/cds/libx/odata/middleware/create.js +113 -0
  539. package/node_modules/@sap/cds/libx/odata/middleware/delete.js +73 -0
  540. package/node_modules/@sap/cds/libx/odata/middleware/error.js +19 -0
  541. package/node_modules/@sap/cds/libx/odata/middleware/metadata.js +138 -0
  542. package/node_modules/@sap/cds/libx/odata/middleware/operation.js +192 -0
  543. package/node_modules/@sap/cds/libx/odata/middleware/parse.js +49 -0
  544. package/node_modules/@sap/cds/libx/odata/middleware/read.js +311 -0
  545. package/node_modules/@sap/cds/libx/odata/middleware/service-document.js +79 -0
  546. package/node_modules/@sap/cds/libx/odata/middleware/stream.js +180 -0
  547. package/node_modules/@sap/cds/libx/odata/middleware/update.js +178 -0
  548. package/node_modules/@sap/cds/libx/odata/parse/afterburner.js +1033 -0
  549. package/node_modules/@sap/cds/libx/odata/parse/cqn2odata.js +615 -0
  550. package/node_modules/@sap/cds/libx/odata/parse/grammar.peggy +1416 -0
  551. package/node_modules/@sap/cds/libx/odata/parse/multipartToJson.js +220 -0
  552. package/node_modules/@sap/cds/libx/odata/parse/parser.js +1 -0
  553. package/node_modules/@sap/cds/libx/odata/utils/etag.js +21 -0
  554. package/node_modules/@sap/cds/libx/odata/utils/index.js +348 -0
  555. package/node_modules/@sap/cds/libx/odata/utils/metadata.js +223 -0
  556. package/node_modules/@sap/cds/libx/odata/utils/normalizeTimeData.js +43 -0
  557. package/node_modules/@sap/cds/libx/odata/utils/odataBind.js +43 -0
  558. package/node_modules/@sap/cds/libx/odata/utils/postProcess.js +86 -0
  559. package/node_modules/@sap/cds/libx/odata/utils/readAfterWrite.js +144 -0
  560. package/node_modules/@sap/cds/libx/odata/utils/result.js +91 -0
  561. package/node_modules/@sap/cds/libx/queue/JobExecutor.js +80 -0
  562. package/node_modules/@sap/cds/libx/queue/SchedulingService.js +213 -0
  563. package/node_modules/@sap/cds/libx/queue/TaskRunner.js +92 -0
  564. package/node_modules/@sap/cds/libx/queue/api.js +28 -0
  565. package/node_modules/@sap/cds/libx/queue/consts.js +13 -0
  566. package/node_modules/@sap/cds/libx/queue/index.js +608 -0
  567. package/node_modules/@sap/cds/libx/queue/processing.js +645 -0
  568. package/node_modules/@sap/cds/libx/queue/utils.js +159 -0
  569. package/node_modules/@sap/cds/libx/rest/RestAdapter.js +102 -0
  570. package/node_modules/@sap/cds/libx/rest/middleware/create.js +50 -0
  571. package/node_modules/@sap/cds/libx/rest/middleware/delete.js +17 -0
  572. package/node_modules/@sap/cds/libx/rest/middleware/operation.js +54 -0
  573. package/node_modules/@sap/cds/libx/rest/middleware/parse.js +142 -0
  574. package/node_modules/@sap/cds/libx/rest/middleware/read.js +34 -0
  575. package/node_modules/@sap/cds/libx/rest/middleware/update.js +28 -0
  576. package/node_modules/@sap/cds/libx/rest/middleware/upsert.js +35 -0
  577. package/node_modules/@sap/cds/libx/rest/post-processing.js +33 -0
  578. package/node_modules/@sap/cds/libx/rest/pre-processing.js +28 -0
  579. package/node_modules/@sap/cds/package.json +49 -0
  580. package/node_modules/@sap/cds/server.js +119 -0
  581. package/node_modules/@sap/cds/srv/app-service.js +1 -0
  582. package/node_modules/@sap/cds/srv/db-service.js +1 -0
  583. package/node_modules/@sap/cds/srv/msg-service.js +1 -0
  584. package/node_modules/@sap/cds/srv/outbox.cds +15 -0
  585. package/node_modules/@sap/cds/srv/remote-service.js +1 -0
  586. package/node_modules/@sap/cds/srv/ucl-service.cds +58 -0
  587. package/node_modules/@sap/cds/srv/ucl-service.js +1 -0
  588. package/node_modules/@sap/cds/tasks/enterprise-messaging-deploy.js +52 -0
  589. package/node_modules/@sap/cds-compiler/CHANGELOG.md +987 -0
  590. package/node_modules/@sap/cds-compiler/LICENSE +32 -0
  591. package/node_modules/@sap/cds-compiler/README.md +44 -0
  592. package/node_modules/@sap/cds-compiler/bin/cds_update_identifiers.js +141 -0
  593. package/node_modules/@sap/cds-compiler/bin/cdsc.js +776 -0
  594. package/node_modules/@sap/cds-compiler/bin/cdshi.js +83 -0
  595. package/node_modules/@sap/cds-compiler/bin/cdsse.js +210 -0
  596. package/node_modules/@sap/cds-compiler/bin/cdsv2m.js +52 -0
  597. package/node_modules/@sap/cds-compiler/doc/API.md +16 -0
  598. package/node_modules/@sap/cds-compiler/doc/IncompatibleChanges_v5.md +436 -0
  599. package/node_modules/@sap/cds-compiler/doc/IncompatibleChanges_v6.md +659 -0
  600. package/node_modules/@sap/cds-compiler/doc/IncompatibleChanges_v7.md +639 -0
  601. package/node_modules/@sap/cds-compiler/doc/Versioning.md +79 -0
  602. package/node_modules/@sap/cds-compiler/lib/api/main.js +1415 -0
  603. package/node_modules/@sap/cds-compiler/lib/api/options.js +275 -0
  604. package/node_modules/@sap/cds-compiler/lib/api/validate.js +209 -0
  605. package/node_modules/@sap/cds-compiler/lib/base/builtins.js +122 -0
  606. package/node_modules/@sap/cds-compiler/lib/base/cloneCsn.js +226 -0
  607. package/node_modules/@sap/cds-compiler/lib/base/csnRefs.js +1420 -0
  608. package/node_modules/@sap/cds-compiler/lib/base/error.js +30 -0
  609. package/node_modules/@sap/cds-compiler/lib/base/keywords.js +930 -0
  610. package/node_modules/@sap/cds-compiler/lib/base/location.js +304 -0
  611. package/node_modules/@sap/cds-compiler/lib/base/message-registry.js +1635 -0
  612. package/node_modules/@sap/cds-compiler/lib/base/messages.js +1994 -0
  613. package/node_modules/@sap/cds-compiler/lib/base/meta.js +10 -0
  614. package/node_modules/@sap/cds-compiler/lib/base/model-api.js +82 -0
  615. package/node_modules/@sap/cds-compiler/lib/base/optionProcessor.js +593 -0
  616. package/node_modules/@sap/cds-compiler/lib/base/specialOptions.js +125 -0
  617. package/node_modules/@sap/cds-compiler/lib/base/trace.js +91 -0
  618. package/node_modules/@sap/cds-compiler/lib/base/xprAsTree.js +85 -0
  619. package/node_modules/@sap/cds-compiler/lib/checks/actionsFunctions.js +128 -0
  620. package/node_modules/@sap/cds-compiler/lib/checks/annotationsOData.js +126 -0
  621. package/node_modules/@sap/cds-compiler/lib/checks/arrayOfs.js +52 -0
  622. package/node_modules/@sap/cds-compiler/lib/checks/assocOutsideService.js +29 -0
  623. package/node_modules/@sap/cds-compiler/lib/checks/cdsMap.js +27 -0
  624. package/node_modules/@sap/cds-compiler/lib/checks/cdsPersistence.js +24 -0
  625. package/node_modules/@sap/cds-compiler/lib/checks/checkForTypes.js +35 -0
  626. package/node_modules/@sap/cds-compiler/lib/checks/checkPathsInStoredCalcElement.js +84 -0
  627. package/node_modules/@sap/cds-compiler/lib/checks/defaultValues.js +34 -0
  628. package/node_modules/@sap/cds-compiler/lib/checks/elements.js +345 -0
  629. package/node_modules/@sap/cds-compiler/lib/checks/enricher.js +225 -0
  630. package/node_modules/@sap/cds-compiler/lib/checks/enums.js +31 -0
  631. package/node_modules/@sap/cds-compiler/lib/checks/existsExpressionsOnlyForeignKeys.js +77 -0
  632. package/node_modules/@sap/cds-compiler/lib/checks/existsInForbiddenPlaces.js +32 -0
  633. package/node_modules/@sap/cds-compiler/lib/checks/existsMustEndInAssoc.js +32 -0
  634. package/node_modules/@sap/cds-compiler/lib/checks/existsMustNotStartWithDollarSelf.js +31 -0
  635. package/node_modules/@sap/cds-compiler/lib/checks/featureFlags.js +69 -0
  636. package/node_modules/@sap/cds-compiler/lib/checks/foreignKeys.js +80 -0
  637. package/node_modules/@sap/cds-compiler/lib/checks/hasPersistedElements.js +69 -0
  638. package/node_modules/@sap/cds-compiler/lib/checks/invalidTarget.js +64 -0
  639. package/node_modules/@sap/cds-compiler/lib/checks/managedInType.js +84 -0
  640. package/node_modules/@sap/cds-compiler/lib/checks/managedWithoutKeys.js +20 -0
  641. package/node_modules/@sap/cds-compiler/lib/checks/manyExpand.js +28 -0
  642. package/node_modules/@sap/cds-compiler/lib/checks/manyNavigations.js +33 -0
  643. package/node_modules/@sap/cds-compiler/lib/checks/nullableKeys.js +13 -0
  644. package/node_modules/@sap/cds-compiler/lib/checks/onConditions.js +268 -0
  645. package/node_modules/@sap/cds-compiler/lib/checks/parameters.js +46 -0
  646. package/node_modules/@sap/cds-compiler/lib/checks/queryNoDbArtifacts.js +225 -0
  647. package/node_modules/@sap/cds-compiler/lib/checks/selectItems.js +57 -0
  648. package/node_modules/@sap/cds-compiler/lib/checks/sql-snippets.js +117 -0
  649. package/node_modules/@sap/cds-compiler/lib/checks/structuredAnnoExpressions.js +26 -0
  650. package/node_modules/@sap/cds-compiler/lib/checks/typeParameters.js +162 -0
  651. package/node_modules/@sap/cds-compiler/lib/checks/types.js +198 -0
  652. package/node_modules/@sap/cds-compiler/lib/checks/utils.js +96 -0
  653. package/node_modules/@sap/cds-compiler/lib/checks/validator.js +292 -0
  654. package/node_modules/@sap/cds-compiler/lib/compiler/assert-consistency.js +1115 -0
  655. package/node_modules/@sap/cds-compiler/lib/compiler/base.js +153 -0
  656. package/node_modules/@sap/cds-compiler/lib/compiler/builtins.js +499 -0
  657. package/node_modules/@sap/cds-compiler/lib/compiler/checks.js +1447 -0
  658. package/node_modules/@sap/cds-compiler/lib/compiler/cycle-detector.js +135 -0
  659. package/node_modules/@sap/cds-compiler/lib/compiler/define.js +1190 -0
  660. package/node_modules/@sap/cds-compiler/lib/compiler/dictionaries.js +109 -0
  661. package/node_modules/@sap/cds-compiler/lib/compiler/extend.js +1928 -0
  662. package/node_modules/@sap/cds-compiler/lib/compiler/finalize-parse-cdl.js +170 -0
  663. package/node_modules/@sap/cds-compiler/lib/compiler/generate.js +910 -0
  664. package/node_modules/@sap/cds-compiler/lib/compiler/index.js +695 -0
  665. package/node_modules/@sap/cds-compiler/lib/compiler/kick-start.js +142 -0
  666. package/node_modules/@sap/cds-compiler/lib/compiler/lsp-api.js +506 -0
  667. package/node_modules/@sap/cds-compiler/lib/compiler/moduleLayers.js +75 -0
  668. package/node_modules/@sap/cds-compiler/lib/compiler/populate.js +1425 -0
  669. package/node_modules/@sap/cds-compiler/lib/compiler/propagator.js +457 -0
  670. package/node_modules/@sap/cds-compiler/lib/compiler/resolve.js +1996 -0
  671. package/node_modules/@sap/cds-compiler/lib/compiler/shared.js +2272 -0
  672. package/node_modules/@sap/cds-compiler/lib/compiler/tweak-assocs.js +1388 -0
  673. package/node_modules/@sap/cds-compiler/lib/compiler/utils.js +929 -0
  674. package/node_modules/@sap/cds-compiler/lib/compiler/xpr-rewrite.js +778 -0
  675. package/node_modules/@sap/cds-compiler/lib/compiler/xsn-model.js +50 -0
  676. package/node_modules/@sap/cds-compiler/lib/edm/EdmPrimitiveTypeDefinitions.js +263 -0
  677. package/node_modules/@sap/cds-compiler/lib/edm/annotations/edmJson.js +1245 -0
  678. package/node_modules/@sap/cds-compiler/lib/edm/annotations/genericTranslation.js +1873 -0
  679. package/node_modules/@sap/cds-compiler/lib/edm/annotations/preprocessAnnotations.js +308 -0
  680. package/node_modules/@sap/cds-compiler/lib/edm/annotations/vocabularyDefinitions.js +166 -0
  681. package/node_modules/@sap/cds-compiler/lib/edm/csn2edm.js +1226 -0
  682. package/node_modules/@sap/cds-compiler/lib/edm/edm.js +1628 -0
  683. package/node_modules/@sap/cds-compiler/lib/edm/edmAnnoPreprocessor.js +312 -0
  684. package/node_modules/@sap/cds-compiler/lib/edm/edmInboundChecks.js +182 -0
  685. package/node_modules/@sap/cds-compiler/lib/edm/edmPreprocessor.js +2320 -0
  686. package/node_modules/@sap/cds-compiler/lib/edm/edmUtils.js +949 -0
  687. package/node_modules/@sap/cds-compiler/lib/gen/BaseParser.js +892 -0
  688. package/node_modules/@sap/cds-compiler/lib/gen/CdlGrammar.checksum +1 -0
  689. package/node_modules/@sap/cds-compiler/lib/gen/CdlParser.js +4549 -0
  690. package/node_modules/@sap/cds-compiler/lib/gen/Dictionary.json +5124 -0
  691. package/node_modules/@sap/cds-compiler/lib/gen/cdlKeywords.json +26 -0
  692. package/node_modules/@sap/cds-compiler/lib/json/csnVersion.js +53 -0
  693. package/node_modules/@sap/cds-compiler/lib/json/from-csn.js +2217 -0
  694. package/node_modules/@sap/cds-compiler/lib/json/to-csn.js +1621 -0
  695. package/node_modules/@sap/cds-compiler/lib/language/docCommentParser.js +181 -0
  696. package/node_modules/@sap/cds-compiler/lib/language/genericAntlrParser.js +0 -0
  697. package/node_modules/@sap/cds-compiler/lib/language/multiLineStringParser.js +525 -0
  698. package/node_modules/@sap/cds-compiler/lib/language/textUtils.js +61 -0
  699. package/node_modules/@sap/cds-compiler/lib/main.d.ts +1631 -0
  700. package/node_modules/@sap/cds-compiler/lib/main.js +212 -0
  701. package/node_modules/@sap/cds-compiler/lib/model/csnUtils.js +1532 -0
  702. package/node_modules/@sap/cds-compiler/lib/model/sortViews.js +121 -0
  703. package/node_modules/@sap/cds-compiler/lib/modelCompare/compare.js +475 -0
  704. package/node_modules/@sap/cds-compiler/lib/modelCompare/utils/filter.js +230 -0
  705. package/node_modules/@sap/cds-compiler/lib/parsers/AstBuildingParser.js +1696 -0
  706. package/node_modules/@sap/cds-compiler/lib/parsers/Lexer.js +253 -0
  707. package/node_modules/@sap/cds-compiler/lib/parsers/XprTree.js +269 -0
  708. package/node_modules/@sap/cds-compiler/lib/parsers/identifiers.js +22 -0
  709. package/node_modules/@sap/cds-compiler/lib/parsers/index.js +120 -0
  710. package/node_modules/@sap/cds-compiler/lib/render/DuplicateChecker.js +126 -0
  711. package/node_modules/@sap/cds-compiler/lib/render/manageConstraints.js +257 -0
  712. package/node_modules/@sap/cds-compiler/lib/render/toCdl.js +3084 -0
  713. package/node_modules/@sap/cds-compiler/lib/render/toRename.js +115 -0
  714. package/node_modules/@sap/cds-compiler/lib/render/toSql.js +1789 -0
  715. package/node_modules/@sap/cds-compiler/lib/render/utils/common.js +784 -0
  716. package/node_modules/@sap/cds-compiler/lib/render/utils/delta.js +291 -0
  717. package/node_modules/@sap/cds-compiler/lib/render/utils/operators.js +160 -0
  718. package/node_modules/@sap/cds-compiler/lib/render/utils/pretty.js +337 -0
  719. package/node_modules/@sap/cds-compiler/lib/render/utils/sql.js +225 -0
  720. package/node_modules/@sap/cds-compiler/lib/render/utils/standardDatabaseFunctions.js +834 -0
  721. package/node_modules/@sap/cds-compiler/lib/render/utils/stringEscapes.js +112 -0
  722. package/node_modules/@sap/cds-compiler/lib/render/utils/unique.js +52 -0
  723. package/node_modules/@sap/cds-compiler/lib/sql-identifier.js +109 -0
  724. package/node_modules/@sap/cds-compiler/lib/tool-lib/enrichCsn.js +383 -0
  725. package/node_modules/@sap/cds-compiler/lib/tool-lib/index.js +14 -0
  726. package/node_modules/@sap/cds-compiler/lib/tool-lib/inspectModelStatistics.js +82 -0
  727. package/node_modules/@sap/cds-compiler/lib/tool-lib/inspectPropagation.js +191 -0
  728. package/node_modules/@sap/cds-compiler/lib/tool-lib/inspectUtils.js +44 -0
  729. package/node_modules/@sap/cds-compiler/lib/tool-lib/revealInternalProperties.js +419 -0
  730. package/node_modules/@sap/cds-compiler/lib/transform/addTenantFields.js +431 -0
  731. package/node_modules/@sap/cds-compiler/lib/transform/db/applyTransformations.js +444 -0
  732. package/node_modules/@sap/cds-compiler/lib/transform/db/assertUnique.js +307 -0
  733. package/node_modules/@sap/cds-compiler/lib/transform/db/associations.js +270 -0
  734. package/node_modules/@sap/cds-compiler/lib/transform/db/assocsToQueries/normalizeFrom.js +33 -0
  735. package/node_modules/@sap/cds-compiler/lib/transform/db/assocsToQueries/transformExists.js +401 -0
  736. package/node_modules/@sap/cds-compiler/lib/transform/db/assocsToQueries/utils.js +449 -0
  737. package/node_modules/@sap/cds-compiler/lib/transform/db/backlinks.js +333 -0
  738. package/node_modules/@sap/cds-compiler/lib/transform/db/cdsPersistence.js +127 -0
  739. package/node_modules/@sap/cds-compiler/lib/transform/db/constraints.js +619 -0
  740. package/node_modules/@sap/cds-compiler/lib/transform/db/expansion.js +913 -0
  741. package/node_modules/@sap/cds-compiler/lib/transform/db/flattening.js +814 -0
  742. package/node_modules/@sap/cds-compiler/lib/transform/db/groupByOrderBy.js +84 -0
  743. package/node_modules/@sap/cds-compiler/lib/transform/db/killAnnotations.js +44 -0
  744. package/node_modules/@sap/cds-compiler/lib/transform/db/processSqlServices.js +135 -0
  745. package/node_modules/@sap/cds-compiler/lib/transform/db/rewriteCalculatedElements.js +507 -0
  746. package/node_modules/@sap/cds-compiler/lib/transform/db/temporal.js +263 -0
  747. package/node_modules/@sap/cds-compiler/lib/transform/db/views.js +404 -0
  748. package/node_modules/@sap/cds-compiler/lib/transform/draft/db.js +381 -0
  749. package/node_modules/@sap/cds-compiler/lib/transform/draft/odata.js +302 -0
  750. package/node_modules/@sap/cds-compiler/lib/transform/effective/annotations.js +342 -0
  751. package/node_modules/@sap/cds-compiler/lib/transform/effective/associations.js +81 -0
  752. package/node_modules/@sap/cds-compiler/lib/transform/effective/flattening.js +124 -0
  753. package/node_modules/@sap/cds-compiler/lib/transform/effective/main.js +164 -0
  754. package/node_modules/@sap/cds-compiler/lib/transform/effective/misc.js +106 -0
  755. package/node_modules/@sap/cds-compiler/lib/transform/effective/queries.js +40 -0
  756. package/node_modules/@sap/cds-compiler/lib/transform/effective/service.js +34 -0
  757. package/node_modules/@sap/cds-compiler/lib/transform/effective/types.js +168 -0
  758. package/node_modules/@sap/cds-compiler/lib/transform/featureFlags.js +10 -0
  759. package/node_modules/@sap/cds-compiler/lib/transform/fioriTreeViews.js +196 -0
  760. package/node_modules/@sap/cds-compiler/lib/transform/forOdata.js +687 -0
  761. package/node_modules/@sap/cds-compiler/lib/transform/forRelationalDB.js +658 -0
  762. package/node_modules/@sap/cds-compiler/lib/transform/localized.js +758 -0
  763. package/node_modules/@sap/cds-compiler/lib/transform/odata/adaptAnnotationRefs.js +101 -0
  764. package/node_modules/@sap/cds-compiler/lib/transform/odata/createForeignKeys.js +203 -0
  765. package/node_modules/@sap/cds-compiler/lib/transform/odata/flattening.js +730 -0
  766. package/node_modules/@sap/cds-compiler/lib/transform/odata/foreignKeyRefsInXprAnnos.js +124 -0
  767. package/node_modules/@sap/cds-compiler/lib/transform/odata/toFinalBaseType.js +297 -0
  768. package/node_modules/@sap/cds-compiler/lib/transform/odata/typesExposure.js +455 -0
  769. package/node_modules/@sap/cds-compiler/lib/transform/odata/utils.js +65 -0
  770. package/node_modules/@sap/cds-compiler/lib/transform/transformUtils.js +1000 -0
  771. package/node_modules/@sap/cds-compiler/lib/transform/translateAssocsToJoins.js +1905 -0
  772. package/node_modules/@sap/cds-compiler/lib/transform/tupleExpansion.js +548 -0
  773. package/node_modules/@sap/cds-compiler/lib/transform/universalCsn/coreComputed.js +194 -0
  774. package/node_modules/@sap/cds-compiler/lib/transform/universalCsn/universalCsnEnricher.js +800 -0
  775. package/node_modules/@sap/cds-compiler/lib/transform/universalCsn/utils.js +63 -0
  776. package/node_modules/@sap/cds-compiler/lib/utils/file.js +267 -0
  777. package/node_modules/@sap/cds-compiler/lib/utils/lazyload.js +37 -0
  778. package/node_modules/@sap/cds-compiler/lib/utils/moduleResolve.js +608 -0
  779. package/node_modules/@sap/cds-compiler/lib/utils/node-helpers.js +44 -0
  780. package/node_modules/@sap/cds-compiler/lib/utils/objectUtils.js +112 -0
  781. package/node_modules/@sap/cds-compiler/lib/utils/optionProcessorHelper.js +652 -0
  782. package/node_modules/@sap/cds-compiler/lib/utils/shuffle.js +54 -0
  783. package/node_modules/@sap/cds-compiler/lib/utils/term.js +102 -0
  784. package/node_modules/@sap/cds-compiler/lib/utils/timetrace.js +158 -0
  785. package/node_modules/@sap/cds-compiler/package.json +30 -0
  786. package/node_modules/@sap/cds-compiler/share/messages/.markdownlintrc +13 -0
  787. package/node_modules/@sap/cds-compiler/share/messages/README.md +62 -0
  788. package/node_modules/@sap/cds-compiler/share/messages/anno-duplicate-unrelated-layer.md +69 -0
  789. package/node_modules/@sap/cds-compiler/share/messages/anno-missing-rewrite.md +45 -0
  790. package/node_modules/@sap/cds-compiler/share/messages/check-proper-type-of.md +46 -0
  791. package/node_modules/@sap/cds-compiler/share/messages/def-duplicate-autoexposed.md +82 -0
  792. package/node_modules/@sap/cds-compiler/share/messages/def-missing-type.md +48 -0
  793. package/node_modules/@sap/cds-compiler/share/messages/def-upcoming-virtual-change.md +55 -0
  794. package/node_modules/@sap/cds-compiler/share/messages/extend-repeated-intralayer.md +47 -0
  795. package/node_modules/@sap/cds-compiler/share/messages/extend-unrelated-layer.md +58 -0
  796. package/node_modules/@sap/cds-compiler/share/messages/file-unexpected-case-mismatch.md +61 -0
  797. package/node_modules/@sap/cds-compiler/share/messages/message-explanations.json +22 -0
  798. package/node_modules/@sap/cds-compiler/share/messages/redirected-to-ambiguous.md +72 -0
  799. package/node_modules/@sap/cds-compiler/share/messages/redirected-to-complex.md +66 -0
  800. package/node_modules/@sap/cds-compiler/share/messages/redirected-to-unrelated.md +78 -0
  801. package/node_modules/@sap/cds-compiler/share/messages/rewrite-not-supported.md +61 -0
  802. package/node_modules/@sap/cds-compiler/share/messages/rewrite-undefined-key.md +94 -0
  803. package/node_modules/@sap/cds-compiler/share/messages/syntax-expecting-unsigned-int.md +41 -0
  804. package/node_modules/@sap/cds-compiler/share/messages/type-missing-enum-value.md +59 -0
  805. package/node_modules/@sap/cds-compiler/share/messages/wildcard-excluding-one.md +37 -0
  806. package/node_modules/@sap/cds-fiori/CHANGELOG.md +163 -0
  807. package/node_modules/@sap/cds-fiori/LICENSE +32 -0
  808. package/node_modules/@sap/cds-fiori/README.md +11 -0
  809. package/node_modules/@sap/cds-fiori/app/preview.js +360 -0
  810. package/node_modules/@sap/cds-fiori/app/routes.js +74 -0
  811. package/node_modules/@sap/cds-fiori/cds-plugin.js +5 -0
  812. package/node_modules/@sap/cds-fiori/package.json +42 -0
  813. package/node_modules/@sap/cds-mtxs/CHANGELOG.md +1322 -0
  814. package/node_modules/@sap/cds-mtxs/LICENSE +32 -0
  815. package/node_modules/@sap/cds-mtxs/README.md +9 -0
  816. package/node_modules/@sap/cds-mtxs/bin/cds-mtx-migrate.js +115 -0
  817. package/node_modules/@sap/cds-mtxs/bin/cds-mtx.js +134 -0
  818. package/node_modules/@sap/cds-mtxs/cds-plugin.js +30 -0
  819. package/node_modules/@sap/cds-mtxs/db/extensions.cds +10 -0
  820. package/node_modules/@sap/cds-mtxs/db/t0.cds +46 -0
  821. package/node_modules/@sap/cds-mtxs/lib/index.js +26 -0
  822. package/node_modules/@sap/cds-mtxs/lib/migration/extension-project-builder.js +129 -0
  823. package/node_modules/@sap/cds-mtxs/lib/migration/extension-project.js +89 -0
  824. package/node_modules/@sap/cds-mtxs/lib/migration/migration.js +485 -0
  825. package/node_modules/@sap/cds-mtxs/lib/migration/mtx-adapter.js +230 -0
  826. package/node_modules/@sap/cds-mtxs/lib/utils.js +255 -0
  827. package/node_modules/@sap/cds-mtxs/package.json +257 -0
  828. package/node_modules/@sap/cds-mtxs/srv/bootstrap.cds +2 -0
  829. package/node_modules/@sap/cds-mtxs/srv/bootstrap.js +33 -0
  830. package/node_modules/@sap/cds-mtxs/srv/cf/abstract-provisioning-service.js +307 -0
  831. package/node_modules/@sap/cds-mtxs/srv/cf/saas-provisioning-service.cds +30 -0
  832. package/node_modules/@sap/cds-mtxs/srv/cf/saas-provisioning-service.js +59 -0
  833. package/node_modules/@sap/cds-mtxs/srv/cf/sms-provisioning-service.cds +37 -0
  834. package/node_modules/@sap/cds-mtxs/srv/cf/sms-provisioning-service.js +115 -0
  835. package/node_modules/@sap/cds-mtxs/srv/config.js +16 -0
  836. package/node_modules/@sap/cds-mtxs/srv/dberrors.js +45 -0
  837. package/node_modules/@sap/cds-mtxs/srv/deployment-service.cds +54 -0
  838. package/node_modules/@sap/cds-mtxs/srv/deployment-service.js +26 -0
  839. package/node_modules/@sap/cds-mtxs/srv/extensibility/compat/update.js +95 -0
  840. package/node_modules/@sap/cds-mtxs/srv/extensibility/linter/allowlist.js +292 -0
  841. package/node_modules/@sap/cds-mtxs/srv/extensibility/linter/annotations.js +168 -0
  842. package/node_modules/@sap/cds-mtxs/srv/extensibility/linter/config.js +98 -0
  843. package/node_modules/@sap/cds-mtxs/srv/extensibility/linter/index.js +76 -0
  844. package/node_modules/@sap/cds-mtxs/srv/extensibility/linter/message.js +57 -0
  845. package/node_modules/@sap/cds-mtxs/srv/extensibility/linter/namespace.js +94 -0
  846. package/node_modules/@sap/cds-mtxs/srv/extensibility-service.cds +82 -0
  847. package/node_modules/@sap/cds-mtxs/srv/extensibility-service.js +550 -0
  848. package/node_modules/@sap/cds-mtxs/srv/jobs-service.cds +37 -0
  849. package/node_modules/@sap/cds-mtxs/srv/jobs-service.js +346 -0
  850. package/node_modules/@sap/cds-mtxs/srv/model-provider.cds +85 -0
  851. package/node_modules/@sap/cds-mtxs/srv/model-provider.js +412 -0
  852. package/node_modules/@sap/cds-mtxs/srv/plugins/common.js +130 -0
  853. package/node_modules/@sap/cds-mtxs/srv/plugins/hana/ctnr-mgr-base.js +154 -0
  854. package/node_modules/@sap/cds-mtxs/srv/plugins/hana/hdi-ctnr-mgr.js +15 -0
  855. package/node_modules/@sap/cds-mtxs/srv/plugins/hana/hdi.js +167 -0
  856. package/node_modules/@sap/cds-mtxs/srv/plugins/hana/srv-mgr.js +323 -0
  857. package/node_modules/@sap/cds-mtxs/srv/plugins/hana/tms.js +542 -0
  858. package/node_modules/@sap/cds-mtxs/srv/plugins/hana.js +381 -0
  859. package/node_modules/@sap/cds-mtxs/srv/plugins/sqlite.js +122 -0
  860. package/node_modules/@sap/cds-mtxs/srv/worker/load.js +14 -0
  861. package/node_modules/@sap/cds-mtxs/srv/worker/pool.js +54 -0
  862. package/node_modules/@sap/hdi/CHANGELOG.md +159 -0
  863. package/node_modules/@sap/hdi/LICENSE +38 -0
  864. package/node_modules/@sap/hdi/README.md +244 -0
  865. package/node_modules/@sap/hdi/index.js +58 -0
  866. package/node_modules/@sap/hdi/lib/ResultTuple.js +33 -0
  867. package/node_modules/@sap/hdi/lib/main/Container.js +1107 -0
  868. package/node_modules/@sap/hdi/lib/main/ContainerGroup.js +147 -0
  869. package/node_modules/@sap/hdi/lib/main/ContainerGroupBase.js +788 -0
  870. package/node_modules/@sap/hdi/lib/main/HDI.js +437 -0
  871. package/node_modules/@sap/hdi/lib/main/HDIBase.js +592 -0
  872. package/node_modules/@sap/hdi/lib/main/promises/ContainerGroupPromises.js +401 -0
  873. package/node_modules/@sap/hdi/lib/main/promises/ContainerPromises.js +454 -0
  874. package/node_modules/@sap/hdi/lib/main/promises/HDIPromises.js +218 -0
  875. package/node_modules/@sap/hdi/lib/parameter/APIPrivilege.js +47 -0
  876. package/node_modules/@sap/hdi/lib/parameter/File.js +25 -0
  877. package/node_modules/@sap/hdi/lib/parameter/FileWithContent.js +24 -0
  878. package/node_modules/@sap/hdi/lib/parameter/Folder.js +25 -0
  879. package/node_modules/@sap/hdi/lib/parameter/FolderWithContent.js +24 -0
  880. package/node_modules/@sap/hdi/lib/parameter/HDIObject.js +40 -0
  881. package/node_modules/@sap/hdi/lib/parameter/LibraryConfiguration.js +62 -0
  882. package/node_modules/@sap/hdi/lib/parameter/Parameter.js +73 -0
  883. package/node_modules/@sap/hdi/lib/parameter/Path.js +39 -0
  884. package/node_modules/@sap/hdi/lib/parameter/PathParameter.js +43 -0
  885. package/node_modules/@sap/hdi/lib/parameter/PathWithContent.js +41 -0
  886. package/node_modules/@sap/hdi/lib/parameter/SchemaPrivilege.js +44 -0
  887. package/node_modules/@sap/hdi/lib/parameter/SchemaRole.js +44 -0
  888. package/node_modules/@sap/hdi/lib/parameter/TableRow.js +72 -0
  889. package/node_modules/@sap/hdi/lib/parameter/parameterCheck.js +41 -0
  890. package/node_modules/@sap/hdi/lib/result/DependencyResultTuple.js +105 -0
  891. package/node_modules/@sap/hdi/lib/result/LibraryInformationResultTuple.js +62 -0
  892. package/node_modules/@sap/hdi/lib/result/MakeGroupResultTuple.js +57 -0
  893. package/node_modules/@sap/hdi/lib/result/MetadataContentResultTuple.js +56 -0
  894. package/node_modules/@sap/hdi/lib/result/MetadataResult.js +40 -0
  895. package/node_modules/@sap/hdi/lib/result/MetadataResultTuple.js +37 -0
  896. package/node_modules/@sap/hdi/lib/result/StatusResultTuple.js +59 -0
  897. package/node_modules/@sap/hdi/lib/util/Constants.js +55 -0
  898. package/node_modules/@sap/hdi/lib/util/callback.js +18 -0
  899. package/node_modules/@sap/hdi/lib/util/connection.js +20 -0
  900. package/node_modules/@sap/hdi/lib/util/schema_escaping.js +11 -0
  901. package/node_modules/@sap/hdi/lib/util/typeCheck.js +43 -0
  902. package/node_modules/@sap/hdi/lib/util/wrap.js +23 -0
  903. package/node_modules/@sap/hdi/package.json +37 -0
  904. package/node_modules/@sap/hdi-deploy/CHANGELOG.md +672 -0
  905. package/node_modules/@sap/hdi-deploy/LICENSE +38 -0
  906. package/node_modules/@sap/hdi-deploy/README.md +1237 -0
  907. package/node_modules/@sap/hdi-deploy/deploy.js +1070 -0
  908. package/node_modules/@sap/hdi-deploy/lib/IgnoreFile.js +56 -0
  909. package/node_modules/@sap/hdi-deploy/lib/arguments.js +203 -0
  910. package/node_modules/@sap/hdi-deploy/lib/check_client.js +31 -0
  911. package/node_modules/@sap/hdi-deploy/lib/client-info.js +80 -0
  912. package/node_modules/@sap/hdi-deploy/lib/connections.js +4 -0
  913. package/node_modules/@sap/hdi-deploy/lib/content.js +478 -0
  914. package/node_modules/@sap/hdi-deploy/lib/deploy.js +113 -0
  915. package/node_modules/@sap/hdi-deploy/lib/features.client.js +59 -0
  916. package/node_modules/@sap/hdi-deploy/lib/fileWalker.js +58 -0
  917. package/node_modules/@sap/hdi-deploy/lib/fileWorker.js +85 -0
  918. package/node_modules/@sap/hdi-deploy/lib/filters/PathFilter.js +211 -0
  919. package/node_modules/@sap/hdi-deploy/lib/filters/regex-helper.js +87 -0
  920. package/node_modules/@sap/hdi-deploy/lib/hana-helper.js +1055 -0
  921. package/node_modules/@sap/hdi-deploy/lib/hdi.js +77 -0
  922. package/node_modules/@sap/hdi-deploy/lib/hdiTables.js +32 -0
  923. package/node_modules/@sap/hdi-deploy/lib/hdi_utils.js +356 -0
  924. package/node_modules/@sap/hdi-deploy/lib/info.js +44 -0
  925. package/node_modules/@sap/hdi-deploy/lib/json-comment-stripper.js +147 -0
  926. package/node_modules/@sap/hdi-deploy/lib/liveness-ping.js +53 -0
  927. package/node_modules/@sap/hdi-deploy/lib/logger.js +434 -0
  928. package/node_modules/@sap/hdi-deploy/lib/make.js +460 -0
  929. package/node_modules/@sap/hdi-deploy/lib/messages.hdi.js +7 -0
  930. package/node_modules/@sap/hdi-deploy/lib/options.js +49 -0
  931. package/node_modules/@sap/hdi-deploy/lib/ownership_checker.js +87 -0
  932. package/node_modules/@sap/hdi-deploy/lib/paths.js +71 -0
  933. package/node_modules/@sap/hdi-deploy/lib/privileges/grantor.js +94 -0
  934. package/node_modules/@sap/hdi-deploy/lib/privileges/privilege_utils.js +414 -0
  935. package/node_modules/@sap/hdi-deploy/lib/privileges/privileges.js +73 -0
  936. package/node_modules/@sap/hdi-deploy/lib/privileges/revoker.js +94 -0
  937. package/node_modules/@sap/hdi-deploy/lib/privileges/strategies.js +1049 -0
  938. package/node_modules/@sap/hdi-deploy/lib/services.js +253 -0
  939. package/node_modules/@sap/hdi-deploy/lib/shared-password-service.js +62 -0
  940. package/node_modules/@sap/hdi-deploy/lib/status.js +113 -0
  941. package/node_modules/@sap/hdi-deploy/lib/tasks.js +985 -0
  942. package/node_modules/@sap/hdi-deploy/lib/template.js +91 -0
  943. package/node_modules/@sap/hdi-deploy/lib/utils.js +717 -0
  944. package/node_modules/@sap/hdi-deploy/lib/version.cloud.js +71 -0
  945. package/node_modules/@sap/hdi-deploy/lib/version.container-api.js +100 -0
  946. package/node_modules/@sap/hdi-deploy/lib/version.hdi-version.js +101 -0
  947. package/node_modules/@sap/hdi-deploy/lib/version.server.js +145 -0
  948. package/node_modules/@sap/hdi-deploy/lib/zdm/generator/Generator.js +598 -0
  949. package/node_modules/@sap/hdi-deploy/lib/zdm/generator/artifact-visitors/AccessArtifactParserVisitor.js +68 -0
  950. package/node_modules/@sap/hdi-deploy/lib/zdm/generator/artifact-visitors/ArtifactVisitor.js +11 -0
  951. package/node_modules/@sap/hdi-deploy/lib/zdm/generator/artifact-visitors/DataArtifactParserVisitor.js +75 -0
  952. package/node_modules/@sap/hdi-deploy/lib/zdm/generator/file-artifacts/AccessContainerDuplicate.js +16 -0
  953. package/node_modules/@sap/hdi-deploy/lib/zdm/generator/file-artifacts/DataContainerDuplicate.js +16 -0
  954. package/node_modules/@sap/hdi-deploy/lib/zdm/generator/file-artifacts/FileArtifact.js +228 -0
  955. package/node_modules/@sap/hdi-deploy/lib/zdm/generator/file-artifacts/FileArtifactsFactory.js +243 -0
  956. package/node_modules/@sap/hdi-deploy/lib/zdm/generator/file-artifacts/HDBCDS.js +182 -0
  957. package/node_modules/@sap/hdi-deploy/lib/zdm/generator/file-artifacts/HDBRole.js +26 -0
  958. package/node_modules/@sap/hdi-deploy/lib/zdm/generator/file-artifacts/HDBSequence.js +29 -0
  959. package/node_modules/@sap/hdi-deploy/lib/zdm/generator/file-artifacts/HDBTable.js +82 -0
  960. package/node_modules/@sap/hdi-deploy/lib/zdm/generator/file-artifacts/HDIConfig.js +203 -0
  961. package/node_modules/@sap/hdi-deploy/lib/zdm/generator/file-artifacts/HDINamespace.js +16 -0
  962. package/node_modules/@sap/hdi-deploy/lib/zdm/generator/model/Model.js +306 -0
  963. package/node_modules/@sap/hdi-deploy/lib/zdm/generator/model/ModelSerializer.js +132 -0
  964. package/node_modules/@sap/hdi-deploy/lib/zdm/generator/model-artifacts/Column.js +19 -0
  965. package/node_modules/@sap/hdi-deploy/lib/zdm/generator/model-artifacts/Context.js +117 -0
  966. package/node_modules/@sap/hdi-deploy/lib/zdm/generator/model-artifacts/DataControlLanguageModelArtifact.js +14 -0
  967. package/node_modules/@sap/hdi-deploy/lib/zdm/generator/model-artifacts/DerivedType.js +23 -0
  968. package/node_modules/@sap/hdi-deploy/lib/zdm/generator/model-artifacts/Entity.js +14 -0
  969. package/node_modules/@sap/hdi-deploy/lib/zdm/generator/model-artifacts/ModelArtifact.js +22 -0
  970. package/node_modules/@sap/hdi-deploy/lib/zdm/generator/model-artifacts/ModelArtifactsFactory.js +80 -0
  971. package/node_modules/@sap/hdi-deploy/lib/zdm/generator/model-artifacts/StructuredType.js +23 -0
  972. package/node_modules/@sap/hdi-deploy/lib/zdm/generator/model-artifacts/TableModelArtifact.js +41 -0
  973. package/node_modules/@sap/hdi-deploy/lib/zdm/generator/model-artifacts/View.js +14 -0
  974. package/node_modules/@sap/hdi-deploy/lib/zdm/resources/cfg/projectionViewConfig.hdbprojectionviewconfig.template +8 -0
  975. package/node_modules/@sap/hdi-deploy/lib/zdm/resources/cfg/synonym.hdbsynonymconfig.template +8 -0
  976. package/node_modules/@sap/hdi-deploy/lib/zdm/resources/cfg/zdm_data_access.hdbgrants.template +10 -0
  977. package/node_modules/@sap/hdi-deploy/lib/zdm/resources/src/namespace.hdinamespace.template +4 -0
  978. package/node_modules/@sap/hdi-deploy/lib/zdm/resources/src/projectionView.hdbprojectionview.template +5 -0
  979. package/node_modules/@sap/hdi-deploy/lib/zdm/resources/src/synonym.hdbsynonym.template +4 -0
  980. package/node_modules/@sap/hdi-deploy/lib/zdm/resources/src/zdm_access.hdbrole.template +10 -0
  981. package/node_modules/@sap/hdi-deploy/lib/zdm/resources/src/zdm_sequences.hdbrole.template +12 -0
  982. package/node_modules/@sap/hdi-deploy/lib/zdm/tasks/FinalizeTask.js +80 -0
  983. package/node_modules/@sap/hdi-deploy/lib/zdm/tasks/InstallTask.js +93 -0
  984. package/node_modules/@sap/hdi-deploy/lib/zdm/tasks/StartTask.js +101 -0
  985. package/node_modules/@sap/hdi-deploy/lib/zdm/tasks/Task.js +110 -0
  986. package/node_modules/@sap/hdi-deploy/lib/zdm/tasks/taskFactory.js +23 -0
  987. package/node_modules/@sap/hdi-deploy/lib/zdm/zdmDeployer.js +34 -0
  988. package/node_modules/@sap/hdi-deploy/lib/zdm/zdmUtils.js +257 -0
  989. package/node_modules/@sap/hdi-deploy/library.js +129 -0
  990. package/node_modules/@sap/hdi-deploy/package.json +42 -0
  991. package/node_modules/@sap/xsenv/CHANGELOG.md +236 -0
  992. package/node_modules/@sap/xsenv/LICENSE +37 -0
  993. package/node_modules/@sap/xsenv/README.md +548 -0
  994. package/node_modules/@sap/xsenv/index.js +17 -0
  995. package/node_modules/@sap/xsenv/lib/cacert.js +26 -0
  996. package/node_modules/@sap/xsenv/lib/cfservice.js +59 -0
  997. package/node_modules/@sap/xsenv/lib/filter.js +42 -0
  998. package/node_modules/@sap/xsenv/lib/k8sservice.js +121 -0
  999. package/node_modules/@sap/xsenv/lib/loadEnv.js +31 -0
  1000. package/node_modules/@sap/xsenv/lib/redactServiceData.js +32 -0
  1001. package/node_modules/@sap/xsenv/lib/serviceBindingService.js +146 -0
  1002. package/node_modules/@sap/xsenv/lib/xsservices.js +180 -0
  1003. package/node_modules/@sap/xsenv/migration.md +49 -0
  1004. package/node_modules/@sap/xsenv/package.json +49 -0
  1005. package/node_modules/accepts/HISTORY.md +250 -0
  1006. package/node_modules/accepts/LICENSE +23 -0
  1007. package/node_modules/accepts/README.md +140 -0
  1008. package/node_modules/accepts/index.js +238 -0
  1009. package/node_modules/accepts/package.json +47 -0
  1010. package/node_modules/assert-plus/AUTHORS +6 -0
  1011. package/node_modules/assert-plus/CHANGES.md +14 -0
  1012. package/node_modules/assert-plus/README.md +162 -0
  1013. package/node_modules/assert-plus/assert.js +211 -0
  1014. package/node_modules/assert-plus/package.json +23 -0
  1015. package/node_modules/async/CHANGELOG.md +351 -0
  1016. package/node_modules/async/LICENSE +19 -0
  1017. package/node_modules/async/README.md +59 -0
  1018. package/node_modules/async/all.js +119 -0
  1019. package/node_modules/async/allLimit.js +46 -0
  1020. package/node_modules/async/allSeries.js +45 -0
  1021. package/node_modules/async/any.js +122 -0
  1022. package/node_modules/async/anyLimit.js +47 -0
  1023. package/node_modules/async/anySeries.js +46 -0
  1024. package/node_modules/async/apply.js +11 -0
  1025. package/node_modules/async/applyEach.js +57 -0
  1026. package/node_modules/async/applyEachSeries.js +37 -0
  1027. package/node_modules/async/asyncify.js +118 -0
  1028. package/node_modules/async/auto.js +333 -0
  1029. package/node_modules/async/autoInject.js +182 -0
  1030. package/node_modules/async/bower.json +17 -0
  1031. package/node_modules/async/cargo.js +63 -0
  1032. package/node_modules/async/cargoQueue.js +71 -0
  1033. package/node_modules/async/compose.js +55 -0
  1034. package/node_modules/async/concat.js +115 -0
  1035. package/node_modules/async/concatLimit.js +60 -0
  1036. package/node_modules/async/concatSeries.js +41 -0
  1037. package/node_modules/async/constant.js +14 -0
  1038. package/node_modules/async/detect.js +96 -0
  1039. package/node_modules/async/detectLimit.js +48 -0
  1040. package/node_modules/async/detectSeries.js +47 -0
  1041. package/node_modules/async/dir.js +43 -0
  1042. package/node_modules/async/dist/async.js +6061 -0
  1043. package/node_modules/async/dist/async.min.js +1 -0
  1044. package/node_modules/async/dist/async.mjs +5948 -0
  1045. package/node_modules/async/doDuring.js +68 -0
  1046. package/node_modules/async/doUntil.js +46 -0
  1047. package/node_modules/async/doWhilst.js +68 -0
  1048. package/node_modules/async/during.js +78 -0
  1049. package/node_modules/async/each.js +129 -0
  1050. package/node_modules/async/eachLimit.js +50 -0
  1051. package/node_modules/async/eachOf.js +185 -0
  1052. package/node_modules/async/eachOfLimit.js +47 -0
  1053. package/node_modules/async/eachOfSeries.js +39 -0
  1054. package/node_modules/async/eachSeries.js +44 -0
  1055. package/node_modules/async/ensureAsync.js +67 -0
  1056. package/node_modules/async/every.js +119 -0
  1057. package/node_modules/async/everyLimit.js +46 -0
  1058. package/node_modules/async/everySeries.js +45 -0
  1059. package/node_modules/async/filter.js +93 -0
  1060. package/node_modules/async/filterLimit.js +45 -0
  1061. package/node_modules/async/filterSeries.js +43 -0
  1062. package/node_modules/async/find.js +96 -0
  1063. package/node_modules/async/findLimit.js +48 -0
  1064. package/node_modules/async/findSeries.js +47 -0
  1065. package/node_modules/async/flatMap.js +115 -0
  1066. package/node_modules/async/flatMapLimit.js +60 -0
  1067. package/node_modules/async/flatMapSeries.js +41 -0
  1068. package/node_modules/async/foldl.js +153 -0
  1069. package/node_modules/async/foldr.js +41 -0
  1070. package/node_modules/async/forEach.js +129 -0
  1071. package/node_modules/async/forEachLimit.js +50 -0
  1072. package/node_modules/async/forEachOf.js +185 -0
  1073. package/node_modules/async/forEachOfLimit.js +47 -0
  1074. package/node_modules/async/forEachOfSeries.js +39 -0
  1075. package/node_modules/async/forEachSeries.js +44 -0
  1076. package/node_modules/async/forever.js +68 -0
  1077. package/node_modules/async/groupBy.js +108 -0
  1078. package/node_modules/async/groupByLimit.js +71 -0
  1079. package/node_modules/async/groupBySeries.js +36 -0
  1080. package/node_modules/async/index.js +588 -0
  1081. package/node_modules/async/inject.js +153 -0
  1082. package/node_modules/async/internal/DoublyLinkedList.js +92 -0
  1083. package/node_modules/async/internal/Heap.js +120 -0
  1084. package/node_modules/async/internal/applyEach.js +29 -0
  1085. package/node_modules/async/internal/asyncEachOfLimit.js +75 -0
  1086. package/node_modules/async/internal/awaitify.js +28 -0
  1087. package/node_modules/async/internal/breakLoop.js +10 -0
  1088. package/node_modules/async/internal/consoleFunc.js +31 -0
  1089. package/node_modules/async/internal/createTester.js +40 -0
  1090. package/node_modules/async/internal/eachOfLimit.js +90 -0
  1091. package/node_modules/async/internal/filter.js +55 -0
  1092. package/node_modules/async/internal/getIterator.js +11 -0
  1093. package/node_modules/async/internal/initialParams.js +14 -0
  1094. package/node_modules/async/internal/isArrayLike.js +10 -0
  1095. package/node_modules/async/internal/iterator.js +57 -0
  1096. package/node_modules/async/internal/map.js +30 -0
  1097. package/node_modules/async/internal/once.js +17 -0
  1098. package/node_modules/async/internal/onlyOnce.js +15 -0
  1099. package/node_modules/async/internal/parallel.js +34 -0
  1100. package/node_modules/async/internal/promiseCallback.js +23 -0
  1101. package/node_modules/async/internal/queue.js +294 -0
  1102. package/node_modules/async/internal/range.js +14 -0
  1103. package/node_modules/async/internal/reject.js +26 -0
  1104. package/node_modules/async/internal/setImmediate.js +34 -0
  1105. package/node_modules/async/internal/withoutIndex.js +10 -0
  1106. package/node_modules/async/internal/wrapAsync.js +34 -0
  1107. package/node_modules/async/log.js +41 -0
  1108. package/node_modules/async/map.js +142 -0
  1109. package/node_modules/async/mapLimit.js +45 -0
  1110. package/node_modules/async/mapSeries.js +44 -0
  1111. package/node_modules/async/mapValues.js +152 -0
  1112. package/node_modules/async/mapValuesLimit.js +61 -0
  1113. package/node_modules/async/mapValuesSeries.js +37 -0
  1114. package/node_modules/async/memoize.js +91 -0
  1115. package/node_modules/async/nextTick.js +52 -0
  1116. package/node_modules/async/package.json +75 -0
  1117. package/node_modules/async/parallel.js +180 -0
  1118. package/node_modules/async/parallelLimit.js +41 -0
  1119. package/node_modules/async/priorityQueue.js +60 -0
  1120. package/node_modules/async/queue.js +24 -0
  1121. package/node_modules/async/race.js +67 -0
  1122. package/node_modules/async/reduce.js +153 -0
  1123. package/node_modules/async/reduceRight.js +41 -0
  1124. package/node_modules/async/reflect.js +78 -0
  1125. package/node_modules/async/reflectAll.js +93 -0
  1126. package/node_modules/async/reject.js +87 -0
  1127. package/node_modules/async/rejectLimit.js +45 -0
  1128. package/node_modules/async/rejectSeries.js +43 -0
  1129. package/node_modules/async/retry.js +159 -0
  1130. package/node_modules/async/retryable.js +77 -0
  1131. package/node_modules/async/select.js +93 -0
  1132. package/node_modules/async/selectLimit.js +45 -0
  1133. package/node_modules/async/selectSeries.js +43 -0
  1134. package/node_modules/async/seq.js +79 -0
  1135. package/node_modules/async/series.js +186 -0
  1136. package/node_modules/async/setImmediate.js +45 -0
  1137. package/node_modules/async/some.js +122 -0
  1138. package/node_modules/async/someLimit.js +47 -0
  1139. package/node_modules/async/someSeries.js +46 -0
  1140. package/node_modules/async/sortBy.js +190 -0
  1141. package/node_modules/async/timeout.js +89 -0
  1142. package/node_modules/async/times.js +50 -0
  1143. package/node_modules/async/timesLimit.js +43 -0
  1144. package/node_modules/async/timesSeries.js +32 -0
  1145. package/node_modules/async/transform.js +173 -0
  1146. package/node_modules/async/tryEach.js +78 -0
  1147. package/node_modules/async/unmemoize.js +25 -0
  1148. package/node_modules/async/until.js +61 -0
  1149. package/node_modules/async/waterfall.js +105 -0
  1150. package/node_modules/async/whilst.js +78 -0
  1151. package/node_modules/async/wrapSync.js +118 -0
  1152. package/node_modules/body-parser/LICENSE +23 -0
  1153. package/node_modules/body-parser/README.md +509 -0
  1154. package/node_modules/body-parser/index.js +55 -0
  1155. package/node_modules/body-parser/lib/read.js +247 -0
  1156. package/node_modules/body-parser/lib/types/json.js +186 -0
  1157. package/node_modules/body-parser/lib/types/raw.js +42 -0
  1158. package/node_modules/body-parser/lib/types/text.js +36 -0
  1159. package/node_modules/body-parser/lib/types/urlencoded.js +138 -0
  1160. package/node_modules/body-parser/lib/utils.js +100 -0
  1161. package/node_modules/body-parser/node_modules/content-type/LICENSE +22 -0
  1162. package/node_modules/body-parser/node_modules/content-type/README.md +69 -0
  1163. package/node_modules/body-parser/node_modules/content-type/dist/index.d.ts +26 -0
  1164. package/node_modules/body-parser/node_modules/content-type/dist/index.js +170 -0
  1165. package/node_modules/body-parser/node_modules/content-type/dist/index.js.map +1 -0
  1166. package/node_modules/body-parser/node_modules/content-type/package.json +52 -0
  1167. package/node_modules/body-parser/package.json +65 -0
  1168. package/node_modules/braces/LICENSE +21 -0
  1169. package/node_modules/braces/README.md +586 -0
  1170. package/node_modules/braces/index.js +170 -0
  1171. package/node_modules/braces/lib/compile.js +60 -0
  1172. package/node_modules/braces/lib/constants.js +57 -0
  1173. package/node_modules/braces/lib/expand.js +113 -0
  1174. package/node_modules/braces/lib/parse.js +331 -0
  1175. package/node_modules/braces/lib/stringify.js +32 -0
  1176. package/node_modules/braces/lib/utils.js +122 -0
  1177. package/node_modules/braces/package.json +77 -0
  1178. package/node_modules/bytes/History.md +97 -0
  1179. package/node_modules/bytes/LICENSE +23 -0
  1180. package/node_modules/bytes/Readme.md +152 -0
  1181. package/node_modules/bytes/index.js +170 -0
  1182. package/node_modules/bytes/package.json +42 -0
  1183. package/node_modules/call-bind-apply-helpers/.eslintrc +17 -0
  1184. package/node_modules/call-bind-apply-helpers/.github/FUNDING.yml +12 -0
  1185. package/node_modules/call-bind-apply-helpers/.nycrc +9 -0
  1186. package/node_modules/call-bind-apply-helpers/CHANGELOG.md +30 -0
  1187. package/node_modules/call-bind-apply-helpers/LICENSE +21 -0
  1188. package/node_modules/call-bind-apply-helpers/README.md +62 -0
  1189. package/node_modules/call-bind-apply-helpers/actualApply.d.ts +1 -0
  1190. package/node_modules/call-bind-apply-helpers/actualApply.js +10 -0
  1191. package/node_modules/call-bind-apply-helpers/applyBind.d.ts +19 -0
  1192. package/node_modules/call-bind-apply-helpers/applyBind.js +10 -0
  1193. package/node_modules/call-bind-apply-helpers/functionApply.d.ts +1 -0
  1194. package/node_modules/call-bind-apply-helpers/functionApply.js +4 -0
  1195. package/node_modules/call-bind-apply-helpers/functionCall.d.ts +1 -0
  1196. package/node_modules/call-bind-apply-helpers/functionCall.js +4 -0
  1197. package/node_modules/call-bind-apply-helpers/index.d.ts +64 -0
  1198. package/node_modules/call-bind-apply-helpers/index.js +15 -0
  1199. package/node_modules/call-bind-apply-helpers/package.json +85 -0
  1200. package/node_modules/call-bind-apply-helpers/reflectApply.d.ts +3 -0
  1201. package/node_modules/call-bind-apply-helpers/reflectApply.js +4 -0
  1202. package/node_modules/call-bind-apply-helpers/test/index.js +63 -0
  1203. package/node_modules/call-bind-apply-helpers/tsconfig.json +9 -0
  1204. package/node_modules/call-bound/.eslintrc +13 -0
  1205. package/node_modules/call-bound/.github/FUNDING.yml +12 -0
  1206. package/node_modules/call-bound/.nycrc +9 -0
  1207. package/node_modules/call-bound/CHANGELOG.md +42 -0
  1208. package/node_modules/call-bound/LICENSE +21 -0
  1209. package/node_modules/call-bound/README.md +53 -0
  1210. package/node_modules/call-bound/index.d.ts +94 -0
  1211. package/node_modules/call-bound/index.js +19 -0
  1212. package/node_modules/call-bound/package.json +99 -0
  1213. package/node_modules/call-bound/test/index.js +61 -0
  1214. package/node_modules/call-bound/tsconfig.json +10 -0
  1215. package/node_modules/clone/.npmignore +4 -0
  1216. package/node_modules/clone/LICENSE +18 -0
  1217. package/node_modules/clone/README.md +194 -0
  1218. package/node_modules/clone/clone.iml +10 -0
  1219. package/node_modules/clone/clone.js +257 -0
  1220. package/node_modules/clone/package.json +56 -0
  1221. package/node_modules/content-disposition/LICENSE +22 -0
  1222. package/node_modules/content-disposition/README.md +141 -0
  1223. package/node_modules/content-disposition/index.js +536 -0
  1224. package/node_modules/content-disposition/package.json +40 -0
  1225. package/node_modules/content-type/HISTORY.md +29 -0
  1226. package/node_modules/content-type/LICENSE +22 -0
  1227. package/node_modules/content-type/README.md +94 -0
  1228. package/node_modules/content-type/index.js +225 -0
  1229. package/node_modules/content-type/package.json +42 -0
  1230. package/node_modules/cookie/LICENSE +24 -0
  1231. package/node_modules/cookie/README.md +317 -0
  1232. package/node_modules/cookie/SECURITY.md +25 -0
  1233. package/node_modules/cookie/index.js +335 -0
  1234. package/node_modules/cookie/package.json +44 -0
  1235. package/node_modules/cookie-signature/History.md +70 -0
  1236. package/node_modules/cookie-signature/LICENSE +22 -0
  1237. package/node_modules/cookie-signature/Readme.md +23 -0
  1238. package/node_modules/cookie-signature/index.js +47 -0
  1239. package/node_modules/cookie-signature/package.json +28 -0
  1240. package/node_modules/core-util-is/LICENSE +19 -0
  1241. package/node_modules/core-util-is/README.md +3 -0
  1242. package/node_modules/core-util-is/float.patch +604 -0
  1243. package/node_modules/core-util-is/lib/util.js +107 -0
  1244. package/node_modules/core-util-is/package.json +32 -0
  1245. package/node_modules/core-util-is/test.js +68 -0
  1246. package/node_modules/debug/LICENSE +20 -0
  1247. package/node_modules/debug/README.md +481 -0
  1248. package/node_modules/debug/package.json +64 -0
  1249. package/node_modules/debug/src/browser.js +272 -0
  1250. package/node_modules/debug/src/common.js +292 -0
  1251. package/node_modules/debug/src/index.js +10 -0
  1252. package/node_modules/debug/src/node.js +263 -0
  1253. package/node_modules/depd/History.md +103 -0
  1254. package/node_modules/depd/LICENSE +22 -0
  1255. package/node_modules/depd/Readme.md +280 -0
  1256. package/node_modules/depd/index.js +538 -0
  1257. package/node_modules/depd/lib/browser/index.js +77 -0
  1258. package/node_modules/depd/package.json +45 -0
  1259. package/node_modules/dotenv/CHANGELOG.md +520 -0
  1260. package/node_modules/dotenv/LICENSE +23 -0
  1261. package/node_modules/dotenv/README-es.md +411 -0
  1262. package/node_modules/dotenv/README.md +645 -0
  1263. package/node_modules/dotenv/SECURITY.md +1 -0
  1264. package/node_modules/dotenv/config.d.ts +1 -0
  1265. package/node_modules/dotenv/config.js +9 -0
  1266. package/node_modules/dotenv/lib/cli-options.js +17 -0
  1267. package/node_modules/dotenv/lib/env-options.js +28 -0
  1268. package/node_modules/dotenv/lib/main.d.ts +162 -0
  1269. package/node_modules/dotenv/lib/main.js +386 -0
  1270. package/node_modules/dotenv/package.json +62 -0
  1271. package/node_modules/dunder-proto/.eslintrc +5 -0
  1272. package/node_modules/dunder-proto/.github/FUNDING.yml +12 -0
  1273. package/node_modules/dunder-proto/.nycrc +13 -0
  1274. package/node_modules/dunder-proto/CHANGELOG.md +24 -0
  1275. package/node_modules/dunder-proto/LICENSE +21 -0
  1276. package/node_modules/dunder-proto/README.md +54 -0
  1277. package/node_modules/dunder-proto/get.d.ts +5 -0
  1278. package/node_modules/dunder-proto/get.js +30 -0
  1279. package/node_modules/dunder-proto/package.json +76 -0
  1280. package/node_modules/dunder-proto/set.d.ts +5 -0
  1281. package/node_modules/dunder-proto/set.js +35 -0
  1282. package/node_modules/dunder-proto/test/get.js +34 -0
  1283. package/node_modules/dunder-proto/test/index.js +4 -0
  1284. package/node_modules/dunder-proto/test/set.js +50 -0
  1285. package/node_modules/dunder-proto/tsconfig.json +9 -0
  1286. package/node_modules/ee-first/LICENSE +22 -0
  1287. package/node_modules/ee-first/README.md +80 -0
  1288. package/node_modules/ee-first/index.js +95 -0
  1289. package/node_modules/ee-first/package.json +29 -0
  1290. package/node_modules/encodeurl/LICENSE +22 -0
  1291. package/node_modules/encodeurl/README.md +109 -0
  1292. package/node_modules/encodeurl/index.js +60 -0
  1293. package/node_modules/encodeurl/package.json +40 -0
  1294. package/node_modules/es-define-property/.eslintrc +13 -0
  1295. package/node_modules/es-define-property/.github/FUNDING.yml +12 -0
  1296. package/node_modules/es-define-property/.nycrc +9 -0
  1297. package/node_modules/es-define-property/CHANGELOG.md +29 -0
  1298. package/node_modules/es-define-property/LICENSE +21 -0
  1299. package/node_modules/es-define-property/README.md +49 -0
  1300. package/node_modules/es-define-property/index.d.ts +3 -0
  1301. package/node_modules/es-define-property/index.js +14 -0
  1302. package/node_modules/es-define-property/package.json +81 -0
  1303. package/node_modules/es-define-property/test/index.js +56 -0
  1304. package/node_modules/es-define-property/tsconfig.json +10 -0
  1305. package/node_modules/es-errors/.eslintrc +5 -0
  1306. package/node_modules/es-errors/.github/FUNDING.yml +12 -0
  1307. package/node_modules/es-errors/CHANGELOG.md +40 -0
  1308. package/node_modules/es-errors/LICENSE +21 -0
  1309. package/node_modules/es-errors/README.md +55 -0
  1310. package/node_modules/es-errors/eval.d.ts +3 -0
  1311. package/node_modules/es-errors/eval.js +4 -0
  1312. package/node_modules/es-errors/index.d.ts +3 -0
  1313. package/node_modules/es-errors/index.js +4 -0
  1314. package/node_modules/es-errors/package.json +80 -0
  1315. package/node_modules/es-errors/range.d.ts +3 -0
  1316. package/node_modules/es-errors/range.js +4 -0
  1317. package/node_modules/es-errors/ref.d.ts +3 -0
  1318. package/node_modules/es-errors/ref.js +4 -0
  1319. package/node_modules/es-errors/syntax.d.ts +3 -0
  1320. package/node_modules/es-errors/syntax.js +4 -0
  1321. package/node_modules/es-errors/test/index.js +19 -0
  1322. package/node_modules/es-errors/tsconfig.json +49 -0
  1323. package/node_modules/es-errors/type.d.ts +3 -0
  1324. package/node_modules/es-errors/type.js +4 -0
  1325. package/node_modules/es-errors/uri.d.ts +3 -0
  1326. package/node_modules/es-errors/uri.js +4 -0
  1327. package/node_modules/es-object-atoms/.eslintrc +16 -0
  1328. package/node_modules/es-object-atoms/.github/FUNDING.yml +12 -0
  1329. package/node_modules/es-object-atoms/CHANGELOG.md +44 -0
  1330. package/node_modules/es-object-atoms/LICENSE +21 -0
  1331. package/node_modules/es-object-atoms/README.md +63 -0
  1332. package/node_modules/es-object-atoms/RequireObjectCoercible.d.ts +3 -0
  1333. package/node_modules/es-object-atoms/RequireObjectCoercible.js +11 -0
  1334. package/node_modules/es-object-atoms/ToObject.d.ts +7 -0
  1335. package/node_modules/es-object-atoms/ToObject.js +10 -0
  1336. package/node_modules/es-object-atoms/index.d.ts +3 -0
  1337. package/node_modules/es-object-atoms/index.js +4 -0
  1338. package/node_modules/es-object-atoms/isObject.d.ts +3 -0
  1339. package/node_modules/es-object-atoms/isObject.js +6 -0
  1340. package/node_modules/es-object-atoms/package.json +79 -0
  1341. package/node_modules/es-object-atoms/test/index.js +38 -0
  1342. package/node_modules/es-object-atoms/tsconfig.json +7 -0
  1343. package/node_modules/escape-html/LICENSE +24 -0
  1344. package/node_modules/escape-html/Readme.md +43 -0
  1345. package/node_modules/escape-html/index.js +78 -0
  1346. package/node_modules/escape-html/package.json +24 -0
  1347. package/node_modules/etag/HISTORY.md +83 -0
  1348. package/node_modules/etag/LICENSE +22 -0
  1349. package/node_modules/etag/README.md +159 -0
  1350. package/node_modules/etag/index.js +131 -0
  1351. package/node_modules/etag/package.json +47 -0
  1352. package/node_modules/express/LICENSE +24 -0
  1353. package/node_modules/express/Readme.md +276 -0
  1354. package/node_modules/express/index.js +11 -0
  1355. package/node_modules/express/lib/application.js +631 -0
  1356. package/node_modules/express/lib/express.js +81 -0
  1357. package/node_modules/express/lib/request.js +514 -0
  1358. package/node_modules/express/lib/response.js +1053 -0
  1359. package/node_modules/express/lib/utils.js +271 -0
  1360. package/node_modules/express/lib/view.js +205 -0
  1361. package/node_modules/express/package.json +99 -0
  1362. package/node_modules/extsprintf/.gitmodules +3 -0
  1363. package/node_modules/extsprintf/CHANGES.md +10 -0
  1364. package/node_modules/extsprintf/CONTRIBUTING.md +17 -0
  1365. package/node_modules/extsprintf/LICENSE +19 -0
  1366. package/node_modules/extsprintf/Makefile +30 -0
  1367. package/node_modules/extsprintf/Makefile.targ +285 -0
  1368. package/node_modules/extsprintf/README.md +46 -0
  1369. package/node_modules/extsprintf/jsl.node.conf +137 -0
  1370. package/node_modules/extsprintf/lib/extsprintf.js +225 -0
  1371. package/node_modules/extsprintf/package.json +14 -0
  1372. package/node_modules/extsprintf/test/tst.basic.js +118 -0
  1373. package/node_modules/extsprintf/test/tst.invalid.js +78 -0
  1374. package/node_modules/fill-range/LICENSE +21 -0
  1375. package/node_modules/fill-range/README.md +237 -0
  1376. package/node_modules/fill-range/index.js +248 -0
  1377. package/node_modules/fill-range/package.json +74 -0
  1378. package/node_modules/finalhandler/HISTORY.md +239 -0
  1379. package/node_modules/finalhandler/LICENSE +22 -0
  1380. package/node_modules/finalhandler/README.md +150 -0
  1381. package/node_modules/finalhandler/index.js +293 -0
  1382. package/node_modules/finalhandler/package.json +47 -0
  1383. package/node_modules/forwarded/HISTORY.md +21 -0
  1384. package/node_modules/forwarded/LICENSE +22 -0
  1385. package/node_modules/forwarded/README.md +57 -0
  1386. package/node_modules/forwarded/index.js +90 -0
  1387. package/node_modules/forwarded/package.json +45 -0
  1388. package/node_modules/fresh/HISTORY.md +80 -0
  1389. package/node_modules/fresh/LICENSE +23 -0
  1390. package/node_modules/fresh/README.md +117 -0
  1391. package/node_modules/fresh/index.js +136 -0
  1392. package/node_modules/fresh/package.json +46 -0
  1393. package/node_modules/function-bind/.eslintrc +21 -0
  1394. package/node_modules/function-bind/.github/FUNDING.yml +12 -0
  1395. package/node_modules/function-bind/.github/SECURITY.md +3 -0
  1396. package/node_modules/function-bind/.nycrc +13 -0
  1397. package/node_modules/function-bind/CHANGELOG.md +136 -0
  1398. package/node_modules/function-bind/LICENSE +20 -0
  1399. package/node_modules/function-bind/README.md +46 -0
  1400. package/node_modules/function-bind/implementation.js +84 -0
  1401. package/node_modules/function-bind/index.js +5 -0
  1402. package/node_modules/function-bind/package.json +87 -0
  1403. package/node_modules/function-bind/test/.eslintrc +9 -0
  1404. package/node_modules/function-bind/test/index.js +252 -0
  1405. package/node_modules/get-intrinsic/.eslintrc +42 -0
  1406. package/node_modules/get-intrinsic/.github/FUNDING.yml +12 -0
  1407. package/node_modules/get-intrinsic/.nycrc +9 -0
  1408. package/node_modules/get-intrinsic/CHANGELOG.md +186 -0
  1409. package/node_modules/get-intrinsic/LICENSE +21 -0
  1410. package/node_modules/get-intrinsic/README.md +71 -0
  1411. package/node_modules/get-intrinsic/index.js +378 -0
  1412. package/node_modules/get-intrinsic/package.json +97 -0
  1413. package/node_modules/get-intrinsic/test/GetIntrinsic.js +274 -0
  1414. package/node_modules/get-proto/.eslintrc +10 -0
  1415. package/node_modules/get-proto/.github/FUNDING.yml +12 -0
  1416. package/node_modules/get-proto/.nycrc +9 -0
  1417. package/node_modules/get-proto/CHANGELOG.md +21 -0
  1418. package/node_modules/get-proto/LICENSE +21 -0
  1419. package/node_modules/get-proto/Object.getPrototypeOf.d.ts +5 -0
  1420. package/node_modules/get-proto/Object.getPrototypeOf.js +6 -0
  1421. package/node_modules/get-proto/README.md +50 -0
  1422. package/node_modules/get-proto/Reflect.getPrototypeOf.d.ts +3 -0
  1423. package/node_modules/get-proto/Reflect.getPrototypeOf.js +4 -0
  1424. package/node_modules/get-proto/index.d.ts +5 -0
  1425. package/node_modules/get-proto/index.js +27 -0
  1426. package/node_modules/get-proto/package.json +81 -0
  1427. package/node_modules/get-proto/test/index.js +68 -0
  1428. package/node_modules/get-proto/tsconfig.json +9 -0
  1429. package/node_modules/gopd/.eslintrc +16 -0
  1430. package/node_modules/gopd/.github/FUNDING.yml +12 -0
  1431. package/node_modules/gopd/CHANGELOG.md +45 -0
  1432. package/node_modules/gopd/LICENSE +21 -0
  1433. package/node_modules/gopd/README.md +40 -0
  1434. package/node_modules/gopd/gOPD.d.ts +1 -0
  1435. package/node_modules/gopd/gOPD.js +4 -0
  1436. package/node_modules/gopd/index.d.ts +5 -0
  1437. package/node_modules/gopd/index.js +15 -0
  1438. package/node_modules/gopd/package.json +77 -0
  1439. package/node_modules/gopd/test/index.js +36 -0
  1440. package/node_modules/gopd/tsconfig.json +9 -0
  1441. package/node_modules/handlebars/LICENSE +19 -0
  1442. package/node_modules/handlebars/README.markdown +167 -0
  1443. package/node_modules/handlebars/bin/.eslintrc.js +6 -0
  1444. package/node_modules/handlebars/bin/handlebars +176 -0
  1445. package/node_modules/handlebars/dist/amd/handlebars/base.js +106 -0
  1446. package/node_modules/handlebars/dist/amd/handlebars/compiler/ast.js +31 -0
  1447. package/node_modules/handlebars/dist/amd/handlebars/compiler/base.js +102 -0
  1448. package/node_modules/handlebars/dist/amd/handlebars/compiler/code-gen.js +165 -0
  1449. package/node_modules/handlebars/dist/amd/handlebars/compiler/compiler.js +562 -0
  1450. package/node_modules/handlebars/dist/amd/handlebars/compiler/helpers.js +228 -0
  1451. package/node_modules/handlebars/dist/amd/handlebars/compiler/javascript-compiler.js +1158 -0
  1452. package/node_modules/handlebars/dist/amd/handlebars/compiler/parser.js +737 -0
  1453. package/node_modules/handlebars/dist/amd/handlebars/compiler/printer.js +186 -0
  1454. package/node_modules/handlebars/dist/amd/handlebars/compiler/visitor.js +138 -0
  1455. package/node_modules/handlebars/dist/amd/handlebars/compiler/whitespace-control.js +219 -0
  1456. package/node_modules/handlebars/dist/amd/handlebars/decorators/inline.js +25 -0
  1457. package/node_modules/handlebars/dist/amd/handlebars/decorators.js +16 -0
  1458. package/node_modules/handlebars/dist/amd/handlebars/exception.js +64 -0
  1459. package/node_modules/handlebars/dist/amd/handlebars/helpers/block-helper-missing.js +35 -0
  1460. package/node_modules/handlebars/dist/amd/handlebars/helpers/each.js +99 -0
  1461. package/node_modules/handlebars/dist/amd/handlebars/helpers/helper-missing.js +22 -0
  1462. package/node_modules/handlebars/dist/amd/handlebars/helpers/if.js +41 -0
  1463. package/node_modules/handlebars/dist/amd/handlebars/helpers/log.js +24 -0
  1464. package/node_modules/handlebars/dist/amd/handlebars/helpers/lookup.js +14 -0
  1465. package/node_modules/handlebars/dist/amd/handlebars/helpers/with.js +38 -0
  1466. package/node_modules/handlebars/dist/amd/handlebars/helpers.js +45 -0
  1467. package/node_modules/handlebars/dist/amd/handlebars/internal/proto-access.js +76 -0
  1468. package/node_modules/handlebars/dist/amd/handlebars/internal/wrapHelper.js +21 -0
  1469. package/node_modules/handlebars/dist/amd/handlebars/logger.js +44 -0
  1470. package/node_modules/handlebars/dist/amd/handlebars/no-conflict.js +28 -0
  1471. package/node_modules/handlebars/dist/amd/handlebars/runtime.js +363 -0
  1472. package/node_modules/handlebars/dist/amd/handlebars/safe-string.js +15 -0
  1473. package/node_modules/handlebars/dist/amd/handlebars/utils.js +126 -0
  1474. package/node_modules/handlebars/dist/amd/handlebars.js +52 -0
  1475. package/node_modules/handlebars/dist/amd/handlebars.runtime.js +44 -0
  1476. package/node_modules/handlebars/dist/amd/precompiler.js +345 -0
  1477. package/node_modules/handlebars/dist/cjs/handlebars/base.js +116 -0
  1478. package/node_modules/handlebars/dist/cjs/handlebars/compiler/ast.js +31 -0
  1479. package/node_modules/handlebars/dist/cjs/handlebars/compiler/base.js +116 -0
  1480. package/node_modules/handlebars/dist/cjs/handlebars/compiler/code-gen.js +168 -0
  1481. package/node_modules/handlebars/dist/cjs/handlebars/compiler/compiler.js +566 -0
  1482. package/node_modules/handlebars/dist/cjs/handlebars/compiler/helpers.js +228 -0
  1483. package/node_modules/handlebars/dist/cjs/handlebars/compiler/javascript-compiler.js +1166 -0
  1484. package/node_modules/handlebars/dist/cjs/handlebars/compiler/parser.js +737 -0
  1485. package/node_modules/handlebars/dist/cjs/handlebars/compiler/printer.js +186 -0
  1486. package/node_modules/handlebars/dist/cjs/handlebars/compiler/visitor.js +140 -0
  1487. package/node_modules/handlebars/dist/cjs/handlebars/compiler/whitespace-control.js +221 -0
  1488. package/node_modules/handlebars/dist/cjs/handlebars/decorators/inline.js +29 -0
  1489. package/node_modules/handlebars/dist/cjs/handlebars/decorators.js +16 -0
  1490. package/node_modules/handlebars/dist/cjs/handlebars/exception.js +64 -0
  1491. package/node_modules/handlebars/dist/cjs/handlebars/helpers/block-helper-missing.js +39 -0
  1492. package/node_modules/handlebars/dist/cjs/handlebars/helpers/each.js +104 -0
  1493. package/node_modules/handlebars/dist/cjs/handlebars/helpers/helper-missing.js +25 -0
  1494. package/node_modules/handlebars/dist/cjs/handlebars/helpers/if.js +46 -0
  1495. package/node_modules/handlebars/dist/cjs/handlebars/helpers/log.js +26 -0
  1496. package/node_modules/handlebars/dist/cjs/handlebars/helpers/lookup.js +16 -0
  1497. package/node_modules/handlebars/dist/cjs/handlebars/helpers/with.js +43 -0
  1498. package/node_modules/handlebars/dist/cjs/handlebars/helpers.js +57 -0
  1499. package/node_modules/handlebars/dist/cjs/handlebars/internal/proto-access.js +78 -0
  1500. package/node_modules/handlebars/dist/cjs/handlebars/internal/wrapHelper.js +19 -0
  1501. package/node_modules/handlebars/dist/cjs/handlebars/logger.js +47 -0
  1502. package/node_modules/handlebars/dist/cjs/handlebars/no-conflict.js +30 -0
  1503. package/node_modules/handlebars/dist/cjs/handlebars/runtime.js +379 -0
  1504. package/node_modules/handlebars/dist/cjs/handlebars/safe-string.js +15 -0
  1505. package/node_modules/handlebars/dist/cjs/handlebars/utils.js +124 -0
  1506. package/node_modules/handlebars/dist/cjs/handlebars.js +66 -0
  1507. package/node_modules/handlebars/dist/cjs/handlebars.runtime.js +66 -0
  1508. package/node_modules/handlebars/dist/cjs/precompiler.js +359 -0
  1509. package/node_modules/handlebars/dist/handlebars.amd.js +4694 -0
  1510. package/node_modules/handlebars/dist/handlebars.amd.min.js +29 -0
  1511. package/node_modules/handlebars/dist/handlebars.js +6026 -0
  1512. package/node_modules/handlebars/dist/handlebars.min.js +29 -0
  1513. package/node_modules/handlebars/dist/handlebars.runtime.amd.js +1292 -0
  1514. package/node_modules/handlebars/dist/handlebars.runtime.amd.min.js +27 -0
  1515. package/node_modules/handlebars/dist/handlebars.runtime.js +2548 -0
  1516. package/node_modules/handlebars/dist/handlebars.runtime.min.js +27 -0
  1517. package/node_modules/handlebars/lib/.eslintrc.js +8 -0
  1518. package/node_modules/handlebars/lib/handlebars/base.js +94 -0
  1519. package/node_modules/handlebars/lib/handlebars/compiler/ast.js +32 -0
  1520. package/node_modules/handlebars/lib/handlebars/compiler/base.js +101 -0
  1521. package/node_modules/handlebars/lib/handlebars/compiler/code-gen.js +171 -0
  1522. package/node_modules/handlebars/lib/handlebars/compiler/compiler.js +594 -0
  1523. package/node_modules/handlebars/lib/handlebars/compiler/helpers.js +219 -0
  1524. package/node_modules/handlebars/lib/handlebars/compiler/javascript-compiler.js +1306 -0
  1525. package/node_modules/handlebars/lib/handlebars/compiler/parser.js +622 -0
  1526. package/node_modules/handlebars/lib/handlebars/compiler/printer.js +178 -0
  1527. package/node_modules/handlebars/lib/handlebars/compiler/visitor.js +136 -0
  1528. package/node_modules/handlebars/lib/handlebars/compiler/whitespace-control.js +234 -0
  1529. package/node_modules/handlebars/lib/handlebars/decorators/inline.js +22 -0
  1530. package/node_modules/handlebars/lib/handlebars/decorators.js +5 -0
  1531. package/node_modules/handlebars/lib/handlebars/exception.js +68 -0
  1532. package/node_modules/handlebars/lib/handlebars/helpers/block-helper-missing.js +35 -0
  1533. package/node_modules/handlebars/lib/handlebars/helpers/each.js +101 -0
  1534. package/node_modules/handlebars/lib/handlebars/helpers/helper-missing.js +15 -0
  1535. package/node_modules/handlebars/lib/handlebars/helpers/if.js +33 -0
  1536. package/node_modules/handlebars/lib/handlebars/helpers/log.js +19 -0
  1537. package/node_modules/handlebars/lib/handlebars/helpers/lookup.js +9 -0
  1538. package/node_modules/handlebars/lib/handlebars/helpers/with.js +39 -0
  1539. package/node_modules/handlebars/lib/handlebars/helpers.js +27 -0
  1540. package/node_modules/handlebars/lib/handlebars/internal/proto-access.js +69 -0
  1541. package/node_modules/handlebars/lib/handlebars/internal/wrapHelper.js +13 -0
  1542. package/node_modules/handlebars/lib/handlebars/logger.js +39 -0
  1543. package/node_modules/handlebars/lib/handlebars/no-conflict.js +23 -0
  1544. package/node_modules/handlebars/lib/handlebars/runtime.js +452 -0
  1545. package/node_modules/handlebars/lib/handlebars/safe-string.js +10 -0
  1546. package/node_modules/handlebars/lib/handlebars/utils.js +116 -0
  1547. package/node_modules/handlebars/lib/handlebars.js +46 -0
  1548. package/node_modules/handlebars/lib/handlebars.runtime.js +37 -0
  1549. package/node_modules/handlebars/lib/index.js +26 -0
  1550. package/node_modules/handlebars/lib/precompiler.js +378 -0
  1551. package/node_modules/handlebars/package.json +134 -0
  1552. package/node_modules/handlebars/release-notes.md +1112 -0
  1553. package/node_modules/handlebars/runtime.d.ts +5 -0
  1554. package/node_modules/handlebars/runtime.js +3 -0
  1555. package/node_modules/handlebars/types/index.d.ts +422 -0
  1556. package/node_modules/has-symbols/.eslintrc +11 -0
  1557. package/node_modules/has-symbols/.github/FUNDING.yml +12 -0
  1558. package/node_modules/has-symbols/.nycrc +9 -0
  1559. package/node_modules/has-symbols/CHANGELOG.md +91 -0
  1560. package/node_modules/has-symbols/LICENSE +21 -0
  1561. package/node_modules/has-symbols/README.md +46 -0
  1562. package/node_modules/has-symbols/index.d.ts +3 -0
  1563. package/node_modules/has-symbols/index.js +14 -0
  1564. package/node_modules/has-symbols/package.json +111 -0
  1565. package/node_modules/has-symbols/shams.d.ts +3 -0
  1566. package/node_modules/has-symbols/shams.js +45 -0
  1567. package/node_modules/has-symbols/test/index.js +22 -0
  1568. package/node_modules/has-symbols/test/shams/core-js.js +29 -0
  1569. package/node_modules/has-symbols/test/shams/get-own-property-symbols.js +29 -0
  1570. package/node_modules/has-symbols/test/tests.js +58 -0
  1571. package/node_modules/has-symbols/tsconfig.json +10 -0
  1572. package/node_modules/hasown/.github/FUNDING.yml +12 -0
  1573. package/node_modules/hasown/.nycrc +13 -0
  1574. package/node_modules/hasown/CHANGELOG.md +58 -0
  1575. package/node_modules/hasown/LICENSE +21 -0
  1576. package/node_modules/hasown/README.md +40 -0
  1577. package/node_modules/hasown/eslint.config.mjs +6 -0
  1578. package/node_modules/hasown/index.d.ts +3 -0
  1579. package/node_modules/hasown/index.js +8 -0
  1580. package/node_modules/hasown/package.json +91 -0
  1581. package/node_modules/hasown/tsconfig.json +6 -0
  1582. package/node_modules/hdb/.claude/skills/hdb-commit-msg/SKILL.md +132 -0
  1583. package/node_modules/hdb/.hyperspace/pull_request_bot.json +26 -0
  1584. package/node_modules/hdb/.jshintrc +41 -0
  1585. package/node_modules/hdb/.pipeline/config.yml +21 -0
  1586. package/node_modules/hdb/.reuse/dep5 +28 -0
  1587. package/node_modules/hdb/CLAUDE.md +41 -0
  1588. package/node_modules/hdb/LICENSE +202 -0
  1589. package/node_modules/hdb/LICENSES/Apache-2.0.txt +73 -0
  1590. package/node_modules/hdb/Makefile +41 -0
  1591. package/node_modules/hdb/README.md +778 -0
  1592. package/node_modules/hdb/cfg/VERSION +1 -0
  1593. package/node_modules/hdb/cfg/xmake.cfg +7 -0
  1594. package/node_modules/hdb/chrome/sockets/tcp.js +28 -0
  1595. package/node_modules/hdb/index.js +21 -0
  1596. package/node_modules/hdb/lib/Client.js +327 -0
  1597. package/node_modules/hdb/lib/index.js +37 -0
  1598. package/node_modules/hdb/lib/protocol/ClientInfo.js +77 -0
  1599. package/node_modules/hdb/lib/protocol/Compressor.js +122 -0
  1600. package/node_modules/hdb/lib/protocol/Connection.js +707 -0
  1601. package/node_modules/hdb/lib/protocol/ConnectionManager.js +124 -0
  1602. package/node_modules/hdb/lib/protocol/ConnectionTopology.js +303 -0
  1603. package/node_modules/hdb/lib/protocol/ExecuteTask.js +266 -0
  1604. package/node_modules/hdb/lib/protocol/Lob.js +168 -0
  1605. package/node_modules/hdb/lib/protocol/MessageBuffer.js +74 -0
  1606. package/node_modules/hdb/lib/protocol/Parser.js +258 -0
  1607. package/node_modules/hdb/lib/protocol/PhysicalConnection.js +442 -0
  1608. package/node_modules/hdb/lib/protocol/Proxy.js +373 -0
  1609. package/node_modules/hdb/lib/protocol/Reader.js +470 -0
  1610. package/node_modules/hdb/lib/protocol/Result.js +287 -0
  1611. package/node_modules/hdb/lib/protocol/ResultSet.js +490 -0
  1612. package/node_modules/hdb/lib/protocol/ResultSetTransform.js +126 -0
  1613. package/node_modules/hdb/lib/protocol/Statement.js +219 -0
  1614. package/node_modules/hdb/lib/protocol/Stringifier.js +82 -0
  1615. package/node_modules/hdb/lib/protocol/Transaction.js +64 -0
  1616. package/node_modules/hdb/lib/protocol/Writer.js +1205 -0
  1617. package/node_modules/hdb/lib/protocol/auth/JWT.js +40 -0
  1618. package/node_modules/hdb/lib/protocol/auth/LDAP.js +133 -0
  1619. package/node_modules/hdb/lib/protocol/auth/Manager.js +162 -0
  1620. package/node_modules/hdb/lib/protocol/auth/SAML.js +40 -0
  1621. package/node_modules/hdb/lib/protocol/auth/SCRAMSHA256.js +175 -0
  1622. package/node_modules/hdb/lib/protocol/auth/SessionCookie.js +43 -0
  1623. package/node_modules/hdb/lib/protocol/auth/X509.js +211 -0
  1624. package/node_modules/hdb/lib/protocol/auth/index.js +20 -0
  1625. package/node_modules/hdb/lib/protocol/common/ClientContextOption.js +20 -0
  1626. package/node_modules/hdb/lib/protocol/common/ClientDistributionMode.js +21 -0
  1627. package/node_modules/hdb/lib/protocol/common/CommandOption.js +21 -0
  1628. package/node_modules/hdb/lib/protocol/common/CommitOption.js +18 -0
  1629. package/node_modules/hdb/lib/protocol/common/ConnectOption.js +43 -0
  1630. package/node_modules/hdb/lib/protocol/common/ConnectOptionType.js +45 -0
  1631. package/node_modules/hdb/lib/protocol/common/Constants.js +32 -0
  1632. package/node_modules/hdb/lib/protocol/common/DataFormatVersion.js +29 -0
  1633. package/node_modules/hdb/lib/protocol/common/DbConnectInfoOption.js +21 -0
  1634. package/node_modules/hdb/lib/protocol/common/DistributionProtocolVersion.js +19 -0
  1635. package/node_modules/hdb/lib/protocol/common/ErrorLevel.js +20 -0
  1636. package/node_modules/hdb/lib/protocol/common/FunctionCode.js +41 -0
  1637. package/node_modules/hdb/lib/protocol/common/IoType.js +20 -0
  1638. package/node_modules/hdb/lib/protocol/common/LobOptions.js +20 -0
  1639. package/node_modules/hdb/lib/protocol/common/LobSourceType.js +21 -0
  1640. package/node_modules/hdb/lib/protocol/common/MessageType.js +41 -0
  1641. package/node_modules/hdb/lib/protocol/common/NormalizedTypeCode.js +83 -0
  1642. package/node_modules/hdb/lib/protocol/common/ParameterMode.js +23 -0
  1643. package/node_modules/hdb/lib/protocol/common/PartAttributes.js +23 -0
  1644. package/node_modules/hdb/lib/protocol/common/PartKind.js +70 -0
  1645. package/node_modules/hdb/lib/protocol/common/ProxyConstants.js +129 -0
  1646. package/node_modules/hdb/lib/protocol/common/ReadFunction.js +85 -0
  1647. package/node_modules/hdb/lib/protocol/common/RedirectType.js +21 -0
  1648. package/node_modules/hdb/lib/protocol/common/SegmentKind.js +21 -0
  1649. package/node_modules/hdb/lib/protocol/common/SessionContext.js +23 -0
  1650. package/node_modules/hdb/lib/protocol/common/StatementContext.js +19 -0
  1651. package/node_modules/hdb/lib/protocol/common/StatementContextType.js +21 -0
  1652. package/node_modules/hdb/lib/protocol/common/TopologyInformation.js +31 -0
  1653. package/node_modules/hdb/lib/protocol/common/TransactionFlag.js +24 -0
  1654. package/node_modules/hdb/lib/protocol/common/TransactionFlagType.js +26 -0
  1655. package/node_modules/hdb/lib/protocol/common/TypeCode.js +93 -0
  1656. package/node_modules/hdb/lib/protocol/common/index.js +70 -0
  1657. package/node_modules/hdb/lib/protocol/data/Binary.js +42 -0
  1658. package/node_modules/hdb/lib/protocol/data/Default.js +42 -0
  1659. package/node_modules/hdb/lib/protocol/data/Fields.js +139 -0
  1660. package/node_modules/hdb/lib/protocol/data/Int32.js +55 -0
  1661. package/node_modules/hdb/lib/protocol/data/MultilineOptions.js +74 -0
  1662. package/node_modules/hdb/lib/protocol/data/Options.js +188 -0
  1663. package/node_modules/hdb/lib/protocol/data/ParameterMetadata.js +76 -0
  1664. package/node_modules/hdb/lib/protocol/data/Parameters.js +52 -0
  1665. package/node_modules/hdb/lib/protocol/data/ReadLobReply.js +72 -0
  1666. package/node_modules/hdb/lib/protocol/data/ReadLobRequest.js +69 -0
  1667. package/node_modules/hdb/lib/protocol/data/ResultSetMetadata.js +101 -0
  1668. package/node_modules/hdb/lib/protocol/data/SqlError.js +70 -0
  1669. package/node_modules/hdb/lib/protocol/data/Text.js +44 -0
  1670. package/node_modules/hdb/lib/protocol/data/Text20.js +44 -0
  1671. package/node_modules/hdb/lib/protocol/data/TextList.js +82 -0
  1672. package/node_modules/hdb/lib/protocol/data/TransactionFlags.js +26 -0
  1673. package/node_modules/hdb/lib/protocol/data/WriteLobReply.js +32 -0
  1674. package/node_modules/hdb/lib/protocol/data/index.js +76 -0
  1675. package/node_modules/hdb/lib/protocol/index.js +38 -0
  1676. package/node_modules/hdb/lib/protocol/part/AbstractOptions.js +55 -0
  1677. package/node_modules/hdb/lib/protocol/part/ClientContextOptions.js +46 -0
  1678. package/node_modules/hdb/lib/protocol/part/ConnectOptions.js +155 -0
  1679. package/node_modules/hdb/lib/protocol/part/DbConnectInfoOptions.js +41 -0
  1680. package/node_modules/hdb/lib/protocol/part/StatementContext.js +52 -0
  1681. package/node_modules/hdb/lib/protocol/part/index.js +19 -0
  1682. package/node_modules/hdb/lib/protocol/reply/Part.js +126 -0
  1683. package/node_modules/hdb/lib/protocol/reply/Segment.js +204 -0
  1684. package/node_modules/hdb/lib/protocol/reply/index.js +17 -0
  1685. package/node_modules/hdb/lib/protocol/request/Part.js +52 -0
  1686. package/node_modules/hdb/lib/protocol/request/Segment.js +120 -0
  1687. package/node_modules/hdb/lib/protocol/request/index.js +209 -0
  1688. package/node_modules/hdb/lib/protocol/tcp.js +186 -0
  1689. package/node_modules/hdb/lib/util/Network.js +230 -0
  1690. package/node_modules/hdb/lib/util/Queue.js +124 -0
  1691. package/node_modules/hdb/lib/util/bignum.js +844 -0
  1692. package/node_modules/hdb/lib/util/calendar.js +121 -0
  1693. package/node_modules/hdb/lib/util/convert.js +36 -0
  1694. package/node_modules/hdb/lib/util/index.js +314 -0
  1695. package/node_modules/hdb/lib/util/zeropad.js +110 -0
  1696. package/node_modules/hdb/node_modules/iconv-lite/Changelog.md +236 -0
  1697. package/node_modules/hdb/node_modules/iconv-lite/LICENSE +21 -0
  1698. package/node_modules/hdb/node_modules/iconv-lite/README.md +138 -0
  1699. package/node_modules/hdb/node_modules/iconv-lite/encodings/dbcs-codec.js +532 -0
  1700. package/node_modules/hdb/node_modules/iconv-lite/encodings/dbcs-data.js +185 -0
  1701. package/node_modules/hdb/node_modules/iconv-lite/encodings/index.js +23 -0
  1702. package/node_modules/hdb/node_modules/iconv-lite/encodings/internal.js +218 -0
  1703. package/node_modules/hdb/node_modules/iconv-lite/encodings/sbcs-codec.js +75 -0
  1704. package/node_modules/hdb/node_modules/iconv-lite/encodings/sbcs-data-generated.js +451 -0
  1705. package/node_modules/hdb/node_modules/iconv-lite/encodings/sbcs-data.js +178 -0
  1706. package/node_modules/hdb/node_modules/iconv-lite/encodings/tables/big5-added.json +122 -0
  1707. package/node_modules/hdb/node_modules/iconv-lite/encodings/tables/cp936.json +264 -0
  1708. package/node_modules/hdb/node_modules/iconv-lite/encodings/tables/cp949.json +273 -0
  1709. package/node_modules/hdb/node_modules/iconv-lite/encodings/tables/cp950.json +177 -0
  1710. package/node_modules/hdb/node_modules/iconv-lite/encodings/tables/eucjp.json +182 -0
  1711. package/node_modules/hdb/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +1 -0
  1712. package/node_modules/hdb/node_modules/iconv-lite/encodings/tables/gbk-added.json +56 -0
  1713. package/node_modules/hdb/node_modules/iconv-lite/encodings/tables/shiftjis.json +125 -0
  1714. package/node_modules/hdb/node_modules/iconv-lite/encodings/utf16.js +187 -0
  1715. package/node_modules/hdb/node_modules/iconv-lite/encodings/utf32.js +307 -0
  1716. package/node_modules/hdb/node_modules/iconv-lite/encodings/utf7.js +283 -0
  1717. package/node_modules/hdb/node_modules/iconv-lite/lib/bom-handling.js +48 -0
  1718. package/node_modules/hdb/node_modules/iconv-lite/lib/helpers/merge-exports.js +13 -0
  1719. package/node_modules/hdb/node_modules/iconv-lite/lib/index.d.ts +41 -0
  1720. package/node_modules/hdb/node_modules/iconv-lite/lib/index.js +183 -0
  1721. package/node_modules/hdb/node_modules/iconv-lite/lib/streams.js +105 -0
  1722. package/node_modules/hdb/node_modules/iconv-lite/package.json +59 -0
  1723. package/node_modules/hdb/package.json +58 -0
  1724. package/node_modules/http-errors/HISTORY.md +186 -0
  1725. package/node_modules/http-errors/LICENSE +23 -0
  1726. package/node_modules/http-errors/README.md +169 -0
  1727. package/node_modules/http-errors/index.js +290 -0
  1728. package/node_modules/http-errors/package.json +54 -0
  1729. package/node_modules/iconv-lite/LICENSE +21 -0
  1730. package/node_modules/iconv-lite/README.md +138 -0
  1731. package/node_modules/iconv-lite/encodings/dbcs-codec.js +532 -0
  1732. package/node_modules/iconv-lite/encodings/dbcs-data.js +185 -0
  1733. package/node_modules/iconv-lite/encodings/index.js +23 -0
  1734. package/node_modules/iconv-lite/encodings/internal.js +218 -0
  1735. package/node_modules/iconv-lite/encodings/sbcs-codec.js +75 -0
  1736. package/node_modules/iconv-lite/encodings/sbcs-data-generated.js +451 -0
  1737. package/node_modules/iconv-lite/encodings/sbcs-data.js +178 -0
  1738. package/node_modules/iconv-lite/encodings/tables/big5-added.json +122 -0
  1739. package/node_modules/iconv-lite/encodings/tables/cp936.json +264 -0
  1740. package/node_modules/iconv-lite/encodings/tables/cp949.json +273 -0
  1741. package/node_modules/iconv-lite/encodings/tables/cp950.json +177 -0
  1742. package/node_modules/iconv-lite/encodings/tables/eucjp.json +182 -0
  1743. package/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +1 -0
  1744. package/node_modules/iconv-lite/encodings/tables/gbk-added.json +56 -0
  1745. package/node_modules/iconv-lite/encodings/tables/shiftjis.json +125 -0
  1746. package/node_modules/iconv-lite/encodings/utf16.js +187 -0
  1747. package/node_modules/iconv-lite/encodings/utf32.js +307 -0
  1748. package/node_modules/iconv-lite/encodings/utf7.js +283 -0
  1749. package/node_modules/iconv-lite/lib/bom-handling.js +48 -0
  1750. package/node_modules/iconv-lite/lib/helpers/merge-exports.js +13 -0
  1751. package/node_modules/iconv-lite/lib/index.d.ts +129 -0
  1752. package/node_modules/iconv-lite/lib/index.js +182 -0
  1753. package/node_modules/iconv-lite/lib/streams.js +105 -0
  1754. package/node_modules/iconv-lite/package.json +70 -0
  1755. package/node_modules/iconv-lite/types/encodings.d.ts +423 -0
  1756. package/node_modules/inherits/LICENSE +16 -0
  1757. package/node_modules/inherits/README.md +42 -0
  1758. package/node_modules/inherits/inherits.js +9 -0
  1759. package/node_modules/inherits/inherits_browser.js +27 -0
  1760. package/node_modules/inherits/package.json +29 -0
  1761. package/node_modules/ipaddr.js/LICENSE +19 -0
  1762. package/node_modules/ipaddr.js/README.md +233 -0
  1763. package/node_modules/ipaddr.js/ipaddr.min.js +1 -0
  1764. package/node_modules/ipaddr.js/lib/ipaddr.js +673 -0
  1765. package/node_modules/ipaddr.js/lib/ipaddr.js.d.ts +68 -0
  1766. package/node_modules/ipaddr.js/package.json +35 -0
  1767. package/node_modules/is-number/LICENSE +21 -0
  1768. package/node_modules/is-number/README.md +187 -0
  1769. package/node_modules/is-number/index.js +18 -0
  1770. package/node_modules/is-number/package.json +82 -0
  1771. package/node_modules/is-promise/LICENSE +19 -0
  1772. package/node_modules/is-promise/index.d.ts +2 -0
  1773. package/node_modules/is-promise/index.js +6 -0
  1774. package/node_modules/is-promise/index.mjs +3 -0
  1775. package/node_modules/is-promise/package.json +30 -0
  1776. package/node_modules/is-promise/readme.md +33 -0
  1777. package/node_modules/livereload-js/.github/workflows/main.yml +23 -0
  1778. package/node_modules/livereload-js/LICENSE +20 -0
  1779. package/node_modules/livereload-js/README.md +250 -0
  1780. package/node_modules/livereload-js/dist/livereload.js +3795 -0
  1781. package/node_modules/livereload-js/dist/livereload.min.js +1 -0
  1782. package/node_modules/livereload-js/package.json +53 -0
  1783. package/node_modules/livereload-js/src/connector.js +169 -0
  1784. package/node_modules/livereload-js/src/customevents.js +37 -0
  1785. package/node_modules/livereload-js/src/less.js +60 -0
  1786. package/node_modules/livereload-js/src/livereload.js +245 -0
  1787. package/node_modules/livereload-js/src/options.js +96 -0
  1788. package/node_modules/livereload-js/src/protocol.js +98 -0
  1789. package/node_modules/livereload-js/src/reloader.js +611 -0
  1790. package/node_modules/livereload-js/src/startup.js +16 -0
  1791. package/node_modules/livereload-js/src/timer.js +35 -0
  1792. package/node_modules/lz4-wasm-nodejs/LICENSE_APACHE +176 -0
  1793. package/node_modules/lz4-wasm-nodejs/LICENSE_MIT +25 -0
  1794. package/node_modules/lz4-wasm-nodejs/README.md +71 -0
  1795. package/node_modules/lz4-wasm-nodejs/lz4_wasm_nodejs.d.ts +12 -0
  1796. package/node_modules/lz4-wasm-nodejs/lz4_wasm_nodejs.js +127 -0
  1797. package/node_modules/lz4-wasm-nodejs/lz4_wasm_nodejs_bg.wasm +0 -0
  1798. package/node_modules/lz4-wasm-nodejs/package.json +26 -0
  1799. package/node_modules/math-intrinsics/.eslintrc +16 -0
  1800. package/node_modules/math-intrinsics/.github/FUNDING.yml +12 -0
  1801. package/node_modules/math-intrinsics/CHANGELOG.md +24 -0
  1802. package/node_modules/math-intrinsics/LICENSE +21 -0
  1803. package/node_modules/math-intrinsics/README.md +50 -0
  1804. package/node_modules/math-intrinsics/abs.d.ts +1 -0
  1805. package/node_modules/math-intrinsics/abs.js +4 -0
  1806. package/node_modules/math-intrinsics/constants/maxArrayLength.d.ts +3 -0
  1807. package/node_modules/math-intrinsics/constants/maxArrayLength.js +4 -0
  1808. package/node_modules/math-intrinsics/constants/maxSafeInteger.d.ts +3 -0
  1809. package/node_modules/math-intrinsics/constants/maxSafeInteger.js +5 -0
  1810. package/node_modules/math-intrinsics/constants/maxValue.d.ts +3 -0
  1811. package/node_modules/math-intrinsics/constants/maxValue.js +5 -0
  1812. package/node_modules/math-intrinsics/floor.d.ts +1 -0
  1813. package/node_modules/math-intrinsics/floor.js +4 -0
  1814. package/node_modules/math-intrinsics/isFinite.d.ts +3 -0
  1815. package/node_modules/math-intrinsics/isFinite.js +12 -0
  1816. package/node_modules/math-intrinsics/isInteger.d.ts +3 -0
  1817. package/node_modules/math-intrinsics/isInteger.js +16 -0
  1818. package/node_modules/math-intrinsics/isNaN.d.ts +1 -0
  1819. package/node_modules/math-intrinsics/isNaN.js +6 -0
  1820. package/node_modules/math-intrinsics/isNegativeZero.d.ts +3 -0
  1821. package/node_modules/math-intrinsics/isNegativeZero.js +6 -0
  1822. package/node_modules/math-intrinsics/max.d.ts +1 -0
  1823. package/node_modules/math-intrinsics/max.js +4 -0
  1824. package/node_modules/math-intrinsics/min.d.ts +1 -0
  1825. package/node_modules/math-intrinsics/min.js +4 -0
  1826. package/node_modules/math-intrinsics/mod.d.ts +3 -0
  1827. package/node_modules/math-intrinsics/mod.js +9 -0
  1828. package/node_modules/math-intrinsics/package.json +86 -0
  1829. package/node_modules/math-intrinsics/pow.d.ts +1 -0
  1830. package/node_modules/math-intrinsics/pow.js +4 -0
  1831. package/node_modules/math-intrinsics/round.d.ts +1 -0
  1832. package/node_modules/math-intrinsics/round.js +4 -0
  1833. package/node_modules/math-intrinsics/sign.d.ts +3 -0
  1834. package/node_modules/math-intrinsics/sign.js +11 -0
  1835. package/node_modules/math-intrinsics/test/index.js +192 -0
  1836. package/node_modules/math-intrinsics/tsconfig.json +3 -0
  1837. package/node_modules/media-typer/HISTORY.md +50 -0
  1838. package/node_modules/media-typer/LICENSE +22 -0
  1839. package/node_modules/media-typer/README.md +93 -0
  1840. package/node_modules/media-typer/index.js +143 -0
  1841. package/node_modules/media-typer/package.json +33 -0
  1842. package/node_modules/merge-descriptors/index.d.ts +11 -0
  1843. package/node_modules/merge-descriptors/index.js +26 -0
  1844. package/node_modules/merge-descriptors/license +11 -0
  1845. package/node_modules/merge-descriptors/package.json +50 -0
  1846. package/node_modules/merge-descriptors/readme.md +55 -0
  1847. package/node_modules/micromatch/LICENSE +21 -0
  1848. package/node_modules/micromatch/README.md +1024 -0
  1849. package/node_modules/micromatch/index.js +474 -0
  1850. package/node_modules/micromatch/node_modules/picomatch/LICENSE +21 -0
  1851. package/node_modules/micromatch/node_modules/picomatch/README.md +716 -0
  1852. package/node_modules/micromatch/node_modules/picomatch/index.js +3 -0
  1853. package/node_modules/micromatch/node_modules/picomatch/lib/constants.js +184 -0
  1854. package/node_modules/micromatch/node_modules/picomatch/lib/parse.js +1392 -0
  1855. package/node_modules/micromatch/node_modules/picomatch/lib/picomatch.js +342 -0
  1856. package/node_modules/micromatch/node_modules/picomatch/lib/scan.js +391 -0
  1857. package/node_modules/micromatch/node_modules/picomatch/lib/utils.js +64 -0
  1858. package/node_modules/micromatch/node_modules/picomatch/package.json +81 -0
  1859. package/node_modules/micromatch/package.json +119 -0
  1860. package/node_modules/mime-db/HISTORY.md +541 -0
  1861. package/node_modules/mime-db/LICENSE +23 -0
  1862. package/node_modules/mime-db/README.md +109 -0
  1863. package/node_modules/mime-db/db.json +9342 -0
  1864. package/node_modules/mime-db/index.js +12 -0
  1865. package/node_modules/mime-db/package.json +56 -0
  1866. package/node_modules/mime-types/HISTORY.md +428 -0
  1867. package/node_modules/mime-types/LICENSE +23 -0
  1868. package/node_modules/mime-types/README.md +126 -0
  1869. package/node_modules/mime-types/index.js +211 -0
  1870. package/node_modules/mime-types/mimeScore.js +57 -0
  1871. package/node_modules/mime-types/package.json +49 -0
  1872. package/node_modules/minimist/.eslintrc +29 -0
  1873. package/node_modules/minimist/.github/FUNDING.yml +12 -0
  1874. package/node_modules/minimist/.nycrc +14 -0
  1875. package/node_modules/minimist/CHANGELOG.md +298 -0
  1876. package/node_modules/minimist/LICENSE +18 -0
  1877. package/node_modules/minimist/README.md +121 -0
  1878. package/node_modules/minimist/example/parse.js +4 -0
  1879. package/node_modules/minimist/index.js +263 -0
  1880. package/node_modules/minimist/package.json +75 -0
  1881. package/node_modules/minimist/test/all_bool.js +34 -0
  1882. package/node_modules/minimist/test/bool.js +177 -0
  1883. package/node_modules/minimist/test/dash.js +43 -0
  1884. package/node_modules/minimist/test/default_bool.js +37 -0
  1885. package/node_modules/minimist/test/dotted.js +24 -0
  1886. package/node_modules/minimist/test/kv_short.js +32 -0
  1887. package/node_modules/minimist/test/long.js +33 -0
  1888. package/node_modules/minimist/test/num.js +38 -0
  1889. package/node_modules/minimist/test/parse.js +209 -0
  1890. package/node_modules/minimist/test/parse_modified.js +11 -0
  1891. package/node_modules/minimist/test/proto.js +64 -0
  1892. package/node_modules/minimist/test/short.js +69 -0
  1893. package/node_modules/minimist/test/stop_early.js +17 -0
  1894. package/node_modules/minimist/test/unknown.js +104 -0
  1895. package/node_modules/minimist/test/whitespace.js +10 -0
  1896. package/node_modules/ms/index.js +162 -0
  1897. package/node_modules/ms/license.md +21 -0
  1898. package/node_modules/ms/package.json +38 -0
  1899. package/node_modules/ms/readme.md +59 -0
  1900. package/node_modules/mustache/CHANGELOG.md +618 -0
  1901. package/node_modules/mustache/LICENSE +11 -0
  1902. package/node_modules/mustache/README.md +621 -0
  1903. package/node_modules/mustache/bin/mustache +150 -0
  1904. package/node_modules/mustache/mustache.js +772 -0
  1905. package/node_modules/mustache/mustache.min.js +1 -0
  1906. package/node_modules/mustache/mustache.mjs +764 -0
  1907. package/node_modules/mustache/package.json +67 -0
  1908. package/node_modules/mustache/wrappers/dojo/mustache.js.post +4 -0
  1909. package/node_modules/mustache/wrappers/dojo/mustache.js.pre +9 -0
  1910. package/node_modules/mustache/wrappers/jquery/mustache.js.post +13 -0
  1911. package/node_modules/mustache/wrappers/jquery/mustache.js.pre +9 -0
  1912. package/node_modules/mustache/wrappers/mootools/mustache.js.post +5 -0
  1913. package/node_modules/mustache/wrappers/mootools/mustache.js.pre +2 -0
  1914. package/node_modules/mustache/wrappers/qooxdoo/mustache.js.post +9 -0
  1915. package/node_modules/mustache/wrappers/qooxdoo/mustache.js.pre +172 -0
  1916. package/node_modules/mustache/wrappers/yui3/mustache.js.post +4 -0
  1917. package/node_modules/mustache/wrappers/yui3/mustache.js.pre +1 -0
  1918. package/node_modules/negotiator/HISTORY.md +114 -0
  1919. package/node_modules/negotiator/LICENSE +24 -0
  1920. package/node_modules/negotiator/README.md +212 -0
  1921. package/node_modules/negotiator/index.js +83 -0
  1922. package/node_modules/negotiator/lib/charset.js +169 -0
  1923. package/node_modules/negotiator/lib/encoding.js +205 -0
  1924. package/node_modules/negotiator/lib/language.js +179 -0
  1925. package/node_modules/negotiator/lib/mediaType.js +294 -0
  1926. package/node_modules/negotiator/package.json +43 -0
  1927. package/node_modules/neo-async/LICENSE +22 -0
  1928. package/node_modules/neo-async/README.md +273 -0
  1929. package/node_modules/neo-async/all.js +3 -0
  1930. package/node_modules/neo-async/allLimit.js +3 -0
  1931. package/node_modules/neo-async/allSeries.js +3 -0
  1932. package/node_modules/neo-async/angelFall.js +3 -0
  1933. package/node_modules/neo-async/any.js +3 -0
  1934. package/node_modules/neo-async/anyLimit.js +3 -0
  1935. package/node_modules/neo-async/anySeries.js +3 -0
  1936. package/node_modules/neo-async/apply.js +3 -0
  1937. package/node_modules/neo-async/applyEach.js +3 -0
  1938. package/node_modules/neo-async/applyEachSeries.js +3 -0
  1939. package/node_modules/neo-async/async.js +9184 -0
  1940. package/node_modules/neo-async/async.min.js +80 -0
  1941. package/node_modules/neo-async/asyncify.js +3 -0
  1942. package/node_modules/neo-async/auto.js +3 -0
  1943. package/node_modules/neo-async/autoInject.js +3 -0
  1944. package/node_modules/neo-async/cargo.js +3 -0
  1945. package/node_modules/neo-async/compose.js +3 -0
  1946. package/node_modules/neo-async/concat.js +3 -0
  1947. package/node_modules/neo-async/concatLimit.js +3 -0
  1948. package/node_modules/neo-async/concatSeries.js +3 -0
  1949. package/node_modules/neo-async/constant.js +3 -0
  1950. package/node_modules/neo-async/createLogger.js +3 -0
  1951. package/node_modules/neo-async/detect.js +3 -0
  1952. package/node_modules/neo-async/detectLimit.js +3 -0
  1953. package/node_modules/neo-async/detectSeries.js +3 -0
  1954. package/node_modules/neo-async/dir.js +3 -0
  1955. package/node_modules/neo-async/doDuring.js +3 -0
  1956. package/node_modules/neo-async/doUntil.js +3 -0
  1957. package/node_modules/neo-async/doWhilst.js +3 -0
  1958. package/node_modules/neo-async/during.js +3 -0
  1959. package/node_modules/neo-async/each.js +3 -0
  1960. package/node_modules/neo-async/eachLimit.js +3 -0
  1961. package/node_modules/neo-async/eachOf.js +3 -0
  1962. package/node_modules/neo-async/eachOfLimit.js +3 -0
  1963. package/node_modules/neo-async/eachOfSeries.js +3 -0
  1964. package/node_modules/neo-async/eachSeries.js +3 -0
  1965. package/node_modules/neo-async/ensureAsync.js +3 -0
  1966. package/node_modules/neo-async/every.js +3 -0
  1967. package/node_modules/neo-async/everyLimit.js +3 -0
  1968. package/node_modules/neo-async/everySeries.js +3 -0
  1969. package/node_modules/neo-async/fast.js +3 -0
  1970. package/node_modules/neo-async/filter.js +3 -0
  1971. package/node_modules/neo-async/filterLimit.js +3 -0
  1972. package/node_modules/neo-async/filterSeries.js +3 -0
  1973. package/node_modules/neo-async/find.js +3 -0
  1974. package/node_modules/neo-async/findLimit.js +3 -0
  1975. package/node_modules/neo-async/findSeries.js +3 -0
  1976. package/node_modules/neo-async/foldl.js +3 -0
  1977. package/node_modules/neo-async/foldr.js +3 -0
  1978. package/node_modules/neo-async/forEach.js +3 -0
  1979. package/node_modules/neo-async/forEachLimit.js +3 -0
  1980. package/node_modules/neo-async/forEachOf.js +3 -0
  1981. package/node_modules/neo-async/forEachOfLimit.js +3 -0
  1982. package/node_modules/neo-async/forEachOfSeries.js +3 -0
  1983. package/node_modules/neo-async/forEachSeries.js +3 -0
  1984. package/node_modules/neo-async/forever.js +3 -0
  1985. package/node_modules/neo-async/groupBy.js +3 -0
  1986. package/node_modules/neo-async/groupByLimit.js +3 -0
  1987. package/node_modules/neo-async/groupBySeries.js +3 -0
  1988. package/node_modules/neo-async/inject.js +3 -0
  1989. package/node_modules/neo-async/iterator.js +3 -0
  1990. package/node_modules/neo-async/log.js +3 -0
  1991. package/node_modules/neo-async/map.js +3 -0
  1992. package/node_modules/neo-async/mapLimit.js +3 -0
  1993. package/node_modules/neo-async/mapSeries.js +3 -0
  1994. package/node_modules/neo-async/mapValues.js +3 -0
  1995. package/node_modules/neo-async/mapValuesLimit.js +3 -0
  1996. package/node_modules/neo-async/mapValuesSeries.js +3 -0
  1997. package/node_modules/neo-async/memoize.js +3 -0
  1998. package/node_modules/neo-async/nextTick.js +3 -0
  1999. package/node_modules/neo-async/omit.js +3 -0
  2000. package/node_modules/neo-async/omitLimit.js +3 -0
  2001. package/node_modules/neo-async/omitSeries.js +3 -0
  2002. package/node_modules/neo-async/package.json +57 -0
  2003. package/node_modules/neo-async/parallel.js +3 -0
  2004. package/node_modules/neo-async/parallelLimit.js +3 -0
  2005. package/node_modules/neo-async/pick.js +3 -0
  2006. package/node_modules/neo-async/pickLimit.js +3 -0
  2007. package/node_modules/neo-async/pickSeries.js +3 -0
  2008. package/node_modules/neo-async/priorityQueue.js +3 -0
  2009. package/node_modules/neo-async/queue.js +3 -0
  2010. package/node_modules/neo-async/race.js +3 -0
  2011. package/node_modules/neo-async/reduce.js +3 -0
  2012. package/node_modules/neo-async/reduceRight.js +3 -0
  2013. package/node_modules/neo-async/reflect.js +3 -0
  2014. package/node_modules/neo-async/reflectAll.js +3 -0
  2015. package/node_modules/neo-async/reject.js +3 -0
  2016. package/node_modules/neo-async/rejectLimit.js +3 -0
  2017. package/node_modules/neo-async/rejectSeries.js +3 -0
  2018. package/node_modules/neo-async/retry.js +3 -0
  2019. package/node_modules/neo-async/retryable.js +3 -0
  2020. package/node_modules/neo-async/safe.js +3 -0
  2021. package/node_modules/neo-async/select.js +3 -0
  2022. package/node_modules/neo-async/selectLimit.js +3 -0
  2023. package/node_modules/neo-async/selectSeries.js +3 -0
  2024. package/node_modules/neo-async/seq.js +3 -0
  2025. package/node_modules/neo-async/series.js +3 -0
  2026. package/node_modules/neo-async/setImmediate.js +3 -0
  2027. package/node_modules/neo-async/some.js +3 -0
  2028. package/node_modules/neo-async/someLimit.js +3 -0
  2029. package/node_modules/neo-async/someSeries.js +3 -0
  2030. package/node_modules/neo-async/sortBy.js +3 -0
  2031. package/node_modules/neo-async/sortByLimit.js +3 -0
  2032. package/node_modules/neo-async/sortBySeries.js +3 -0
  2033. package/node_modules/neo-async/timeout.js +3 -0
  2034. package/node_modules/neo-async/times.js +3 -0
  2035. package/node_modules/neo-async/timesLimit.js +3 -0
  2036. package/node_modules/neo-async/timesSeries.js +3 -0
  2037. package/node_modules/neo-async/transform.js +3 -0
  2038. package/node_modules/neo-async/transformLimit.js +3 -0
  2039. package/node_modules/neo-async/transformSeries.js +3 -0
  2040. package/node_modules/neo-async/tryEach.js +3 -0
  2041. package/node_modules/neo-async/unmemoize.js +3 -0
  2042. package/node_modules/neo-async/until.js +3 -0
  2043. package/node_modules/neo-async/waterfall.js +3 -0
  2044. package/node_modules/neo-async/whilst.js +3 -0
  2045. package/node_modules/neo-async/wrapSync.js +3 -0
  2046. package/node_modules/node-cache/.nvmrc +1 -0
  2047. package/node_modules/node-cache/.nycrc.yaml +7 -0
  2048. package/node_modules/node-cache/LICENSE +21 -0
  2049. package/node_modules/node-cache/README.md +497 -0
  2050. package/node_modules/node-cache/_src/test/typedefinition_test.ts +108 -0
  2051. package/node_modules/node-cache/index.d.ts +380 -0
  2052. package/node_modules/node-cache/index.js +17 -0
  2053. package/node_modules/node-cache/lib/node_cache.js +802 -0
  2054. package/node_modules/node-cache/package.json +68 -0
  2055. package/node_modules/node-cache/tsconfig.json +8 -0
  2056. package/node_modules/object-inspect/.eslintrc +53 -0
  2057. package/node_modules/object-inspect/.github/FUNDING.yml +12 -0
  2058. package/node_modules/object-inspect/.nycrc +13 -0
  2059. package/node_modules/object-inspect/CHANGELOG.md +424 -0
  2060. package/node_modules/object-inspect/LICENSE +21 -0
  2061. package/node_modules/object-inspect/example/all.js +23 -0
  2062. package/node_modules/object-inspect/example/circular.js +6 -0
  2063. package/node_modules/object-inspect/example/fn.js +5 -0
  2064. package/node_modules/object-inspect/example/inspect.js +10 -0
  2065. package/node_modules/object-inspect/index.js +544 -0
  2066. package/node_modules/object-inspect/package-support.json +20 -0
  2067. package/node_modules/object-inspect/package.json +105 -0
  2068. package/node_modules/object-inspect/readme.markdown +84 -0
  2069. package/node_modules/object-inspect/test/bigint.js +58 -0
  2070. package/node_modules/object-inspect/test/browser/dom.js +15 -0
  2071. package/node_modules/object-inspect/test/circular.js +16 -0
  2072. package/node_modules/object-inspect/test/deep.js +12 -0
  2073. package/node_modules/object-inspect/test/element.js +53 -0
  2074. package/node_modules/object-inspect/test/err.js +48 -0
  2075. package/node_modules/object-inspect/test/fakes.js +29 -0
  2076. package/node_modules/object-inspect/test/fn.js +76 -0
  2077. package/node_modules/object-inspect/test/global.js +17 -0
  2078. package/node_modules/object-inspect/test/has.js +15 -0
  2079. package/node_modules/object-inspect/test/holes.js +15 -0
  2080. package/node_modules/object-inspect/test/indent-option.js +271 -0
  2081. package/node_modules/object-inspect/test/inspect.js +139 -0
  2082. package/node_modules/object-inspect/test/lowbyte.js +12 -0
  2083. package/node_modules/object-inspect/test/number.js +58 -0
  2084. package/node_modules/object-inspect/test/quoteStyle.js +26 -0
  2085. package/node_modules/object-inspect/test/toStringTag.js +40 -0
  2086. package/node_modules/object-inspect/test/undef.js +12 -0
  2087. package/node_modules/object-inspect/test/values.js +261 -0
  2088. package/node_modules/object-inspect/test-core-js.js +26 -0
  2089. package/node_modules/object-inspect/util.inspect.js +1 -0
  2090. package/node_modules/on-finished/HISTORY.md +98 -0
  2091. package/node_modules/on-finished/LICENSE +23 -0
  2092. package/node_modules/on-finished/README.md +162 -0
  2093. package/node_modules/on-finished/index.js +234 -0
  2094. package/node_modules/on-finished/package.json +39 -0
  2095. package/node_modules/once/LICENSE +15 -0
  2096. package/node_modules/once/README.md +79 -0
  2097. package/node_modules/once/once.js +42 -0
  2098. package/node_modules/once/package.json +33 -0
  2099. package/node_modules/parseurl/HISTORY.md +58 -0
  2100. package/node_modules/parseurl/LICENSE +24 -0
  2101. package/node_modules/parseurl/README.md +133 -0
  2102. package/node_modules/parseurl/index.js +158 -0
  2103. package/node_modules/parseurl/package.json +40 -0
  2104. package/node_modules/path-to-regexp/LICENSE +21 -0
  2105. package/node_modules/path-to-regexp/Readme.md +224 -0
  2106. package/node_modules/path-to-regexp/dist/index.d.ts +147 -0
  2107. package/node_modules/path-to-regexp/dist/index.js +431 -0
  2108. package/node_modules/path-to-regexp/dist/index.js.map +1 -0
  2109. package/node_modules/path-to-regexp/package.json +64 -0
  2110. package/node_modules/pluralize/LICENSE +21 -0
  2111. package/node_modules/pluralize/Readme.md +100 -0
  2112. package/node_modules/pluralize/package.json +40 -0
  2113. package/node_modules/pluralize/pluralize.js +503 -0
  2114. package/node_modules/proxy-addr/HISTORY.md +161 -0
  2115. package/node_modules/proxy-addr/LICENSE +22 -0
  2116. package/node_modules/proxy-addr/README.md +139 -0
  2117. package/node_modules/proxy-addr/index.js +327 -0
  2118. package/node_modules/proxy-addr/package.json +47 -0
  2119. package/node_modules/qs/.editorconfig +46 -0
  2120. package/node_modules/qs/.github/FUNDING.yml +12 -0
  2121. package/node_modules/qs/.github/SECURITY.md +11 -0
  2122. package/node_modules/qs/.github/THREAT_MODEL.md +78 -0
  2123. package/node_modules/qs/.nycrc +13 -0
  2124. package/node_modules/qs/CHANGELOG.md +833 -0
  2125. package/node_modules/qs/LICENSE.md +29 -0
  2126. package/node_modules/qs/README.md +758 -0
  2127. package/node_modules/qs/dist/qs.js +141 -0
  2128. package/node_modules/qs/eslint.config.mjs +57 -0
  2129. package/node_modules/qs/lib/formats.js +23 -0
  2130. package/node_modules/qs/lib/index.js +11 -0
  2131. package/node_modules/qs/lib/parse.js +414 -0
  2132. package/node_modules/qs/lib/stringify.js +363 -0
  2133. package/node_modules/qs/lib/utils.js +381 -0
  2134. package/node_modules/qs/package.json +95 -0
  2135. package/node_modules/qs/test/empty-keys-cases.js +267 -0
  2136. package/node_modules/qs/test/parse.js +1933 -0
  2137. package/node_modules/qs/test/stringify.js +1448 -0
  2138. package/node_modules/qs/test/utils.js +626 -0
  2139. package/node_modules/range-parser/HISTORY.md +56 -0
  2140. package/node_modules/range-parser/LICENSE +23 -0
  2141. package/node_modules/range-parser/README.md +85 -0
  2142. package/node_modules/range-parser/index.js +181 -0
  2143. package/node_modules/range-parser/package.json +48 -0
  2144. package/node_modules/raw-body/LICENSE +22 -0
  2145. package/node_modules/raw-body/README.md +223 -0
  2146. package/node_modules/raw-body/index.d.ts +85 -0
  2147. package/node_modules/raw-body/index.js +336 -0
  2148. package/node_modules/raw-body/package.json +46 -0
  2149. package/node_modules/router/HISTORY.md +228 -0
  2150. package/node_modules/router/LICENSE +23 -0
  2151. package/node_modules/router/README.md +416 -0
  2152. package/node_modules/router/index.js +748 -0
  2153. package/node_modules/router/lib/layer.js +247 -0
  2154. package/node_modules/router/lib/route.js +242 -0
  2155. package/node_modules/router/package.json +44 -0
  2156. package/node_modules/safer-buffer/LICENSE +21 -0
  2157. package/node_modules/safer-buffer/Porting-Buffer.md +268 -0
  2158. package/node_modules/safer-buffer/Readme.md +156 -0
  2159. package/node_modules/safer-buffer/dangerous.js +58 -0
  2160. package/node_modules/safer-buffer/package.json +34 -0
  2161. package/node_modules/safer-buffer/safer.js +77 -0
  2162. package/node_modules/safer-buffer/tests.js +406 -0
  2163. package/node_modules/sax/LICENSE.md +55 -0
  2164. package/node_modules/sax/README.md +227 -0
  2165. package/node_modules/sax/lib/sax.js +1848 -0
  2166. package/node_modules/sax/package.json +34 -0
  2167. package/node_modules/semver/LICENSE +15 -0
  2168. package/node_modules/semver/README.md +680 -0
  2169. package/node_modules/semver/bin/semver.js +195 -0
  2170. package/node_modules/semver/classes/comparator.js +143 -0
  2171. package/node_modules/semver/classes/index.js +7 -0
  2172. package/node_modules/semver/classes/range.js +577 -0
  2173. package/node_modules/semver/classes/semver.js +350 -0
  2174. package/node_modules/semver/functions/clean.js +8 -0
  2175. package/node_modules/semver/functions/cmp.js +54 -0
  2176. package/node_modules/semver/functions/coerce.js +62 -0
  2177. package/node_modules/semver/functions/compare-build.js +9 -0
  2178. package/node_modules/semver/functions/compare-loose.js +5 -0
  2179. package/node_modules/semver/functions/compare.js +7 -0
  2180. package/node_modules/semver/functions/diff.js +60 -0
  2181. package/node_modules/semver/functions/eq.js +5 -0
  2182. package/node_modules/semver/functions/gt.js +5 -0
  2183. package/node_modules/semver/functions/gte.js +5 -0
  2184. package/node_modules/semver/functions/inc.js +21 -0
  2185. package/node_modules/semver/functions/lt.js +5 -0
  2186. package/node_modules/semver/functions/lte.js +5 -0
  2187. package/node_modules/semver/functions/major.js +5 -0
  2188. package/node_modules/semver/functions/minor.js +5 -0
  2189. package/node_modules/semver/functions/neq.js +5 -0
  2190. package/node_modules/semver/functions/parse.js +18 -0
  2191. package/node_modules/semver/functions/patch.js +5 -0
  2192. package/node_modules/semver/functions/prerelease.js +8 -0
  2193. package/node_modules/semver/functions/rcompare.js +5 -0
  2194. package/node_modules/semver/functions/rsort.js +5 -0
  2195. package/node_modules/semver/functions/satisfies.js +12 -0
  2196. package/node_modules/semver/functions/sort.js +5 -0
  2197. package/node_modules/semver/functions/truncate.js +48 -0
  2198. package/node_modules/semver/functions/valid.js +8 -0
  2199. package/node_modules/semver/index.js +93 -0
  2200. package/node_modules/semver/internal/constants.js +37 -0
  2201. package/node_modules/semver/internal/debug.js +11 -0
  2202. package/node_modules/semver/internal/identifiers.js +29 -0
  2203. package/node_modules/semver/internal/lrucache.js +42 -0
  2204. package/node_modules/semver/internal/parse-options.js +17 -0
  2205. package/node_modules/semver/internal/re.js +223 -0
  2206. package/node_modules/semver/package.json +78 -0
  2207. package/node_modules/semver/preload.js +4 -0
  2208. package/node_modules/semver/range.bnf +17 -0
  2209. package/node_modules/semver/ranges/gtr.js +6 -0
  2210. package/node_modules/semver/ranges/intersects.js +9 -0
  2211. package/node_modules/semver/ranges/ltr.js +6 -0
  2212. package/node_modules/semver/ranges/max-satisfying.js +27 -0
  2213. package/node_modules/semver/ranges/min-satisfying.js +26 -0
  2214. package/node_modules/semver/ranges/min-version.js +63 -0
  2215. package/node_modules/semver/ranges/outside.js +82 -0
  2216. package/node_modules/semver/ranges/simplify.js +49 -0
  2217. package/node_modules/semver/ranges/subset.js +249 -0
  2218. package/node_modules/semver/ranges/to-comparators.js +10 -0
  2219. package/node_modules/semver/ranges/valid.js +13 -0
  2220. package/node_modules/send/LICENSE +23 -0
  2221. package/node_modules/send/README.md +317 -0
  2222. package/node_modules/send/index.js +997 -0
  2223. package/node_modules/send/package.json +63 -0
  2224. package/node_modules/serve-static/LICENSE +25 -0
  2225. package/node_modules/serve-static/README.md +253 -0
  2226. package/node_modules/serve-static/index.js +208 -0
  2227. package/node_modules/serve-static/package.json +44 -0
  2228. package/node_modules/setprototypeof/LICENSE +13 -0
  2229. package/node_modules/setprototypeof/README.md +31 -0
  2230. package/node_modules/setprototypeof/index.d.ts +2 -0
  2231. package/node_modules/setprototypeof/index.js +17 -0
  2232. package/node_modules/setprototypeof/package.json +38 -0
  2233. package/node_modules/setprototypeof/test/index.js +24 -0
  2234. package/node_modules/side-channel/.editorconfig +9 -0
  2235. package/node_modules/side-channel/.eslintrc +12 -0
  2236. package/node_modules/side-channel/.github/FUNDING.yml +12 -0
  2237. package/node_modules/side-channel/.nycrc +13 -0
  2238. package/node_modules/side-channel/CHANGELOG.md +120 -0
  2239. package/node_modules/side-channel/LICENSE +21 -0
  2240. package/node_modules/side-channel/README.md +61 -0
  2241. package/node_modules/side-channel/index.d.ts +14 -0
  2242. package/node_modules/side-channel/index.js +46 -0
  2243. package/node_modules/side-channel/package.json +85 -0
  2244. package/node_modules/side-channel/test/index.js +120 -0
  2245. package/node_modules/side-channel/tsconfig.json +9 -0
  2246. package/node_modules/side-channel-list/.editorconfig +9 -0
  2247. package/node_modules/side-channel-list/.eslintrc +11 -0
  2248. package/node_modules/side-channel-list/.github/FUNDING.yml +12 -0
  2249. package/node_modules/side-channel-list/.nycrc +13 -0
  2250. package/node_modules/side-channel-list/CHANGELOG.md +36 -0
  2251. package/node_modules/side-channel-list/LICENSE +21 -0
  2252. package/node_modules/side-channel-list/README.md +62 -0
  2253. package/node_modules/side-channel-list/index.d.ts +13 -0
  2254. package/node_modules/side-channel-list/index.js +111 -0
  2255. package/node_modules/side-channel-list/list.d.ts +14 -0
  2256. package/node_modules/side-channel-list/package.json +77 -0
  2257. package/node_modules/side-channel-list/test/index.js +154 -0
  2258. package/node_modules/side-channel-list/tsconfig.json +9 -0
  2259. package/node_modules/side-channel-map/.editorconfig +9 -0
  2260. package/node_modules/side-channel-map/.eslintrc +11 -0
  2261. package/node_modules/side-channel-map/.github/FUNDING.yml +12 -0
  2262. package/node_modules/side-channel-map/.nycrc +13 -0
  2263. package/node_modules/side-channel-map/CHANGELOG.md +22 -0
  2264. package/node_modules/side-channel-map/LICENSE +21 -0
  2265. package/node_modules/side-channel-map/README.md +62 -0
  2266. package/node_modules/side-channel-map/index.d.ts +15 -0
  2267. package/node_modules/side-channel-map/index.js +68 -0
  2268. package/node_modules/side-channel-map/package.json +80 -0
  2269. package/node_modules/side-channel-map/test/index.js +114 -0
  2270. package/node_modules/side-channel-map/tsconfig.json +9 -0
  2271. package/node_modules/side-channel-weakmap/.editorconfig +9 -0
  2272. package/node_modules/side-channel-weakmap/.eslintrc +12 -0
  2273. package/node_modules/side-channel-weakmap/.github/FUNDING.yml +12 -0
  2274. package/node_modules/side-channel-weakmap/.nycrc +13 -0
  2275. package/node_modules/side-channel-weakmap/CHANGELOG.md +28 -0
  2276. package/node_modules/side-channel-weakmap/LICENSE +21 -0
  2277. package/node_modules/side-channel-weakmap/README.md +62 -0
  2278. package/node_modules/side-channel-weakmap/index.d.ts +15 -0
  2279. package/node_modules/side-channel-weakmap/index.js +84 -0
  2280. package/node_modules/side-channel-weakmap/package.json +87 -0
  2281. package/node_modules/side-channel-weakmap/test/index.js +114 -0
  2282. package/node_modules/side-channel-weakmap/tsconfig.json +9 -0
  2283. package/node_modules/source-map/CHANGELOG.md +301 -0
  2284. package/node_modules/source-map/LICENSE +28 -0
  2285. package/node_modules/source-map/README.md +742 -0
  2286. package/node_modules/source-map/dist/source-map.debug.js +3234 -0
  2287. package/node_modules/source-map/dist/source-map.js +3233 -0
  2288. package/node_modules/source-map/dist/source-map.min.js +2 -0
  2289. package/node_modules/source-map/dist/source-map.min.js.map +1 -0
  2290. package/node_modules/source-map/lib/array-set.js +121 -0
  2291. package/node_modules/source-map/lib/base64-vlq.js +140 -0
  2292. package/node_modules/source-map/lib/base64.js +67 -0
  2293. package/node_modules/source-map/lib/binary-search.js +111 -0
  2294. package/node_modules/source-map/lib/mapping-list.js +79 -0
  2295. package/node_modules/source-map/lib/quick-sort.js +114 -0
  2296. package/node_modules/source-map/lib/source-map-consumer.js +1145 -0
  2297. package/node_modules/source-map/lib/source-map-generator.js +425 -0
  2298. package/node_modules/source-map/lib/source-node.js +413 -0
  2299. package/node_modules/source-map/lib/util.js +488 -0
  2300. package/node_modules/source-map/package.json +73 -0
  2301. package/node_modules/source-map/source-map.d.ts +98 -0
  2302. package/node_modules/source-map/source-map.js +8 -0
  2303. package/node_modules/statuses/HISTORY.md +87 -0
  2304. package/node_modules/statuses/LICENSE +23 -0
  2305. package/node_modules/statuses/README.md +139 -0
  2306. package/node_modules/statuses/codes.json +65 -0
  2307. package/node_modules/statuses/index.js +146 -0
  2308. package/node_modules/statuses/package.json +49 -0
  2309. package/node_modules/to-regex-range/LICENSE +21 -0
  2310. package/node_modules/to-regex-range/README.md +305 -0
  2311. package/node_modules/to-regex-range/index.js +288 -0
  2312. package/node_modules/to-regex-range/package.json +88 -0
  2313. package/node_modules/toidentifier/HISTORY.md +9 -0
  2314. package/node_modules/toidentifier/LICENSE +21 -0
  2315. package/node_modules/toidentifier/README.md +61 -0
  2316. package/node_modules/toidentifier/index.js +32 -0
  2317. package/node_modules/toidentifier/package.json +38 -0
  2318. package/node_modules/type-is/HISTORY.md +292 -0
  2319. package/node_modules/type-is/LICENSE +23 -0
  2320. package/node_modules/type-is/README.md +198 -0
  2321. package/node_modules/type-is/index.js +240 -0
  2322. package/node_modules/type-is/node_modules/content-type/LICENSE +22 -0
  2323. package/node_modules/type-is/node_modules/content-type/README.md +69 -0
  2324. package/node_modules/type-is/node_modules/content-type/dist/index.d.ts +26 -0
  2325. package/node_modules/type-is/node_modules/content-type/dist/index.js +170 -0
  2326. package/node_modules/type-is/node_modules/content-type/dist/index.js.map +1 -0
  2327. package/node_modules/type-is/node_modules/content-type/package.json +52 -0
  2328. package/node_modules/type-is/package.json +51 -0
  2329. package/node_modules/uglify-js/LICENSE +29 -0
  2330. package/node_modules/uglify-js/README.md +1479 -0
  2331. package/node_modules/uglify-js/bin/uglifyjs +624 -0
  2332. package/node_modules/uglify-js/lib/ast.js +2357 -0
  2333. package/node_modules/uglify-js/lib/compress.js +14650 -0
  2334. package/node_modules/uglify-js/lib/minify.js +278 -0
  2335. package/node_modules/uglify-js/lib/mozilla-ast.js +1338 -0
  2336. package/node_modules/uglify-js/lib/output.js +1983 -0
  2337. package/node_modules/uglify-js/lib/parse.js +2589 -0
  2338. package/node_modules/uglify-js/lib/propmangle.js +328 -0
  2339. package/node_modules/uglify-js/lib/scope.js +883 -0
  2340. package/node_modules/uglify-js/lib/sourcemap.js +195 -0
  2341. package/node_modules/uglify-js/lib/transform.js +250 -0
  2342. package/node_modules/uglify-js/lib/utils.js +300 -0
  2343. package/node_modules/uglify-js/package.json +52 -0
  2344. package/node_modules/uglify-js/tools/domprops.html +456 -0
  2345. package/node_modules/uglify-js/tools/domprops.json +8327 -0
  2346. package/node_modules/uglify-js/tools/exports.js +8 -0
  2347. package/node_modules/uglify-js/tools/node.js +115 -0
  2348. package/node_modules/uglify-js/tools/tty.js +22 -0
  2349. package/node_modules/unpipe/HISTORY.md +4 -0
  2350. package/node_modules/unpipe/LICENSE +22 -0
  2351. package/node_modules/unpipe/README.md +43 -0
  2352. package/node_modules/unpipe/index.js +69 -0
  2353. package/node_modules/unpipe/package.json +27 -0
  2354. package/node_modules/vary/HISTORY.md +39 -0
  2355. package/node_modules/vary/LICENSE +22 -0
  2356. package/node_modules/vary/README.md +101 -0
  2357. package/node_modules/vary/index.js +149 -0
  2358. package/node_modules/vary/package.json +43 -0
  2359. package/node_modules/verror/CHANGES.md +28 -0
  2360. package/node_modules/verror/CONTRIBUTING.md +16 -0
  2361. package/node_modules/verror/LICENSE +19 -0
  2362. package/node_modules/verror/README.md +528 -0
  2363. package/node_modules/verror/lib/verror.js +451 -0
  2364. package/node_modules/verror/package.json +30 -0
  2365. package/node_modules/wordwrap/LICENSE +18 -0
  2366. package/node_modules/wordwrap/README.markdown +70 -0
  2367. package/node_modules/wordwrap/example/center.js +10 -0
  2368. package/node_modules/wordwrap/example/meat.js +3 -0
  2369. package/node_modules/wordwrap/index.js +76 -0
  2370. package/node_modules/wordwrap/package.json +34 -0
  2371. package/node_modules/wordwrap/test/break.js +32 -0
  2372. package/node_modules/wordwrap/test/idleness.txt +63 -0
  2373. package/node_modules/wordwrap/test/wrap.js +33 -0
  2374. package/node_modules/wrappy/LICENSE +15 -0
  2375. package/node_modules/wrappy/README.md +36 -0
  2376. package/node_modules/wrappy/package.json +29 -0
  2377. package/node_modules/wrappy/wrappy.js +33 -0
  2378. package/node_modules/ws/LICENSE +20 -0
  2379. package/node_modules/ws/README.md +548 -0
  2380. package/node_modules/ws/browser.js +8 -0
  2381. package/node_modules/ws/index.js +22 -0
  2382. package/node_modules/ws/lib/buffer-util.js +131 -0
  2383. package/node_modules/ws/lib/constants.js +19 -0
  2384. package/node_modules/ws/lib/event-target.js +292 -0
  2385. package/node_modules/ws/lib/extension.js +203 -0
  2386. package/node_modules/ws/lib/limiter.js +55 -0
  2387. package/node_modules/ws/lib/permessage-deflate.js +528 -0
  2388. package/node_modules/ws/lib/receiver.js +760 -0
  2389. package/node_modules/ws/lib/sender.js +607 -0
  2390. package/node_modules/ws/lib/stream.js +161 -0
  2391. package/node_modules/ws/lib/subprotocol.js +62 -0
  2392. package/node_modules/ws/lib/validation.js +152 -0
  2393. package/node_modules/ws/lib/websocket-server.js +562 -0
  2394. package/node_modules/ws/lib/websocket.js +1407 -0
  2395. package/node_modules/ws/package.json +70 -0
  2396. package/node_modules/ws/wrapper.mjs +21 -0
  2397. package/node_modules/xml-js/LICENSE +21 -0
  2398. package/node_modules/xml-js/README.md +390 -0
  2399. package/node_modules/xml-js/bin/cli-helper.js +47 -0
  2400. package/node_modules/xml-js/bin/cli.js +83 -0
  2401. package/node_modules/xml-js/bin/test.json +23 -0
  2402. package/node_modules/xml-js/bin/test.xml +3 -0
  2403. package/node_modules/xml-js/dist/xml-js.js +8310 -0
  2404. package/node_modules/xml-js/dist/xml-js.min.js +8 -0
  2405. package/node_modules/xml-js/index.js +1 -0
  2406. package/node_modules/xml-js/lib/array-helper.js +11 -0
  2407. package/node_modules/xml-js/lib/index.js +13 -0
  2408. package/node_modules/xml-js/lib/js2xml.js +320 -0
  2409. package/node_modules/xml-js/lib/json2xml.js +18 -0
  2410. package/node_modules/xml-js/lib/options-helper.js +43 -0
  2411. package/node_modules/xml-js/lib/xml2js.js +362 -0
  2412. package/node_modules/xml-js/lib/xml2json.js +22 -0
  2413. package/node_modules/xml-js/package.json +111 -0
  2414. package/node_modules/xml-js/types/index.d.ts +154 -0
  2415. package/node_modules/xml-js/types/tsconfig.json +14 -0
  2416. package/node_modules/xml-js/types/typings.json +4 -0
  2417. package/node_modules/xml-js/types/xml-js-tests.ts +60 -0
  2418. package/node_modules/xml-js/webpack.config.js +28 -0
  2419. package/node_modules/yaml/LICENSE +13 -0
  2420. package/node_modules/yaml/README.md +172 -0
  2421. package/node_modules/yaml/bin.mjs +11 -0
  2422. package/node_modules/yaml/browser/dist/compose/compose-collection.js +88 -0
  2423. package/node_modules/yaml/browser/dist/compose/compose-doc.js +43 -0
  2424. package/node_modules/yaml/browser/dist/compose/compose-node.js +109 -0
  2425. package/node_modules/yaml/browser/dist/compose/compose-scalar.js +86 -0
  2426. package/node_modules/yaml/browser/dist/compose/composer.js +219 -0
  2427. package/node_modules/yaml/browser/dist/compose/resolve-block-map.js +115 -0
  2428. package/node_modules/yaml/browser/dist/compose/resolve-block-scalar.js +198 -0
  2429. package/node_modules/yaml/browser/dist/compose/resolve-block-seq.js +49 -0
  2430. package/node_modules/yaml/browser/dist/compose/resolve-end.js +37 -0
  2431. package/node_modules/yaml/browser/dist/compose/resolve-flow-collection.js +207 -0
  2432. package/node_modules/yaml/browser/dist/compose/resolve-flow-scalar.js +225 -0
  2433. package/node_modules/yaml/browser/dist/compose/resolve-props.js +146 -0
  2434. package/node_modules/yaml/browser/dist/compose/util-contains-newline.js +34 -0
  2435. package/node_modules/yaml/browser/dist/compose/util-empty-scalar-position.js +26 -0
  2436. package/node_modules/yaml/browser/dist/compose/util-flow-indent-check.js +15 -0
  2437. package/node_modules/yaml/browser/dist/compose/util-map-includes.js +13 -0
  2438. package/node_modules/yaml/browser/dist/doc/Document.js +335 -0
  2439. package/node_modules/yaml/browser/dist/doc/anchors.js +71 -0
  2440. package/node_modules/yaml/browser/dist/doc/applyReviver.js +55 -0
  2441. package/node_modules/yaml/browser/dist/doc/createNode.js +88 -0
  2442. package/node_modules/yaml/browser/dist/doc/directives.js +176 -0
  2443. package/node_modules/yaml/browser/dist/errors.js +57 -0
  2444. package/node_modules/yaml/browser/dist/index.js +17 -0
  2445. package/node_modules/yaml/browser/dist/log.js +11 -0
  2446. package/node_modules/yaml/browser/dist/nodes/Alias.js +116 -0
  2447. package/node_modules/yaml/browser/dist/nodes/Collection.js +147 -0
  2448. package/node_modules/yaml/browser/dist/nodes/Node.js +38 -0
  2449. package/node_modules/yaml/browser/dist/nodes/Pair.js +36 -0
  2450. package/node_modules/yaml/browser/dist/nodes/Scalar.js +24 -0
  2451. package/node_modules/yaml/browser/dist/nodes/YAMLMap.js +144 -0
  2452. package/node_modules/yaml/browser/dist/nodes/YAMLSeq.js +113 -0
  2453. package/node_modules/yaml/browser/dist/nodes/addPairToJSMap.js +63 -0
  2454. package/node_modules/yaml/browser/dist/nodes/identity.js +36 -0
  2455. package/node_modules/yaml/browser/dist/nodes/toJS.js +37 -0
  2456. package/node_modules/yaml/browser/dist/parse/cst-scalar.js +214 -0
  2457. package/node_modules/yaml/browser/dist/parse/cst-stringify.js +61 -0
  2458. package/node_modules/yaml/browser/dist/parse/cst-visit.js +97 -0
  2459. package/node_modules/yaml/browser/dist/parse/cst.js +98 -0
  2460. package/node_modules/yaml/browser/dist/parse/lexer.js +721 -0
  2461. package/node_modules/yaml/browser/dist/parse/line-counter.js +39 -0
  2462. package/node_modules/yaml/browser/dist/parse/parser.js +975 -0
  2463. package/node_modules/yaml/browser/dist/public-api.js +102 -0
  2464. package/node_modules/yaml/browser/dist/schema/Schema.js +37 -0
  2465. package/node_modules/yaml/browser/dist/schema/common/map.js +17 -0
  2466. package/node_modules/yaml/browser/dist/schema/common/null.js +15 -0
  2467. package/node_modules/yaml/browser/dist/schema/common/seq.js +17 -0
  2468. package/node_modules/yaml/browser/dist/schema/common/string.js +14 -0
  2469. package/node_modules/yaml/browser/dist/schema/core/bool.js +19 -0
  2470. package/node_modules/yaml/browser/dist/schema/core/float.js +43 -0
  2471. package/node_modules/yaml/browser/dist/schema/core/int.js +38 -0
  2472. package/node_modules/yaml/browser/dist/schema/core/schema.js +23 -0
  2473. package/node_modules/yaml/browser/dist/schema/json/schema.js +62 -0
  2474. package/node_modules/yaml/browser/dist/schema/tags.js +96 -0
  2475. package/node_modules/yaml/browser/dist/schema/yaml-1.1/binary.js +58 -0
  2476. package/node_modules/yaml/browser/dist/schema/yaml-1.1/bool.js +26 -0
  2477. package/node_modules/yaml/browser/dist/schema/yaml-1.1/float.js +46 -0
  2478. package/node_modules/yaml/browser/dist/schema/yaml-1.1/int.js +71 -0
  2479. package/node_modules/yaml/browser/dist/schema/yaml-1.1/merge.js +67 -0
  2480. package/node_modules/yaml/browser/dist/schema/yaml-1.1/omap.js +74 -0
  2481. package/node_modules/yaml/browser/dist/schema/yaml-1.1/pairs.js +78 -0
  2482. package/node_modules/yaml/browser/dist/schema/yaml-1.1/schema.js +39 -0
  2483. package/node_modules/yaml/browser/dist/schema/yaml-1.1/set.js +93 -0
  2484. package/node_modules/yaml/browser/dist/schema/yaml-1.1/timestamp.js +101 -0
  2485. package/node_modules/yaml/browser/dist/stringify/foldFlowLines.js +146 -0
  2486. package/node_modules/yaml/browser/dist/stringify/stringify.js +129 -0
  2487. package/node_modules/yaml/browser/dist/stringify/stringifyCollection.js +153 -0
  2488. package/node_modules/yaml/browser/dist/stringify/stringifyComment.js +20 -0
  2489. package/node_modules/yaml/browser/dist/stringify/stringifyDocument.js +85 -0
  2490. package/node_modules/yaml/browser/dist/stringify/stringifyNumber.js +25 -0
  2491. package/node_modules/yaml/browser/dist/stringify/stringifyPair.js +150 -0
  2492. package/node_modules/yaml/browser/dist/stringify/stringifyString.js +336 -0
  2493. package/node_modules/yaml/browser/dist/util.js +11 -0
  2494. package/node_modules/yaml/browser/dist/visit.js +233 -0
  2495. package/node_modules/yaml/browser/index.js +5 -0
  2496. package/{lib/init/template/esm/files/package.json.hbs → node_modules/yaml/browser/package.json} +1 -1
  2497. package/node_modules/yaml/dist/cli.d.ts +8 -0
  2498. package/node_modules/yaml/dist/cli.mjs +201 -0
  2499. package/node_modules/yaml/dist/compose/compose-collection.d.ts +11 -0
  2500. package/node_modules/yaml/dist/compose/compose-collection.js +90 -0
  2501. package/node_modules/yaml/dist/compose/compose-doc.d.ts +7 -0
  2502. package/node_modules/yaml/dist/compose/compose-doc.js +45 -0
  2503. package/node_modules/yaml/dist/compose/compose-node.d.ts +29 -0
  2504. package/node_modules/yaml/dist/compose/compose-node.js +112 -0
  2505. package/node_modules/yaml/dist/compose/compose-scalar.d.ts +5 -0
  2506. package/node_modules/yaml/dist/compose/compose-scalar.js +88 -0
  2507. package/node_modules/yaml/dist/compose/composer.d.ts +63 -0
  2508. package/node_modules/yaml/dist/compose/composer.js +224 -0
  2509. package/node_modules/yaml/dist/compose/resolve-block-map.d.ts +6 -0
  2510. package/node_modules/yaml/dist/compose/resolve-block-map.js +117 -0
  2511. package/node_modules/yaml/dist/compose/resolve-block-scalar.d.ts +11 -0
  2512. package/node_modules/yaml/dist/compose/resolve-block-scalar.js +200 -0
  2513. package/node_modules/yaml/dist/compose/resolve-block-seq.d.ts +6 -0
  2514. package/node_modules/yaml/dist/compose/resolve-block-seq.js +51 -0
  2515. package/node_modules/yaml/dist/compose/resolve-end.d.ts +6 -0
  2516. package/node_modules/yaml/dist/compose/resolve-end.js +39 -0
  2517. package/node_modules/yaml/dist/compose/resolve-flow-collection.d.ts +7 -0
  2518. package/node_modules/yaml/dist/compose/resolve-flow-collection.js +209 -0
  2519. package/node_modules/yaml/dist/compose/resolve-flow-scalar.d.ts +10 -0
  2520. package/node_modules/yaml/dist/compose/resolve-flow-scalar.js +227 -0
  2521. package/node_modules/yaml/dist/compose/resolve-props.d.ts +23 -0
  2522. package/node_modules/yaml/dist/compose/resolve-props.js +148 -0
  2523. package/node_modules/yaml/dist/compose/util-contains-newline.d.ts +2 -0
  2524. package/node_modules/yaml/dist/compose/util-contains-newline.js +36 -0
  2525. package/node_modules/yaml/dist/compose/util-empty-scalar-position.d.ts +2 -0
  2526. package/node_modules/yaml/dist/compose/util-empty-scalar-position.js +28 -0
  2527. package/node_modules/yaml/dist/compose/util-flow-indent-check.d.ts +3 -0
  2528. package/node_modules/yaml/dist/compose/util-flow-indent-check.js +17 -0
  2529. package/node_modules/yaml/dist/compose/util-map-includes.d.ts +4 -0
  2530. package/node_modules/yaml/dist/compose/util-map-includes.js +15 -0
  2531. package/node_modules/yaml/dist/doc/Document.d.ts +141 -0
  2532. package/node_modules/yaml/dist/doc/Document.js +337 -0
  2533. package/node_modules/yaml/dist/doc/anchors.d.ts +24 -0
  2534. package/node_modules/yaml/dist/doc/anchors.js +76 -0
  2535. package/node_modules/yaml/dist/doc/applyReviver.d.ts +9 -0
  2536. package/node_modules/yaml/dist/doc/applyReviver.js +57 -0
  2537. package/node_modules/yaml/dist/doc/createNode.d.ts +17 -0
  2538. package/node_modules/yaml/dist/doc/createNode.js +90 -0
  2539. package/node_modules/yaml/dist/doc/directives.d.ts +49 -0
  2540. package/node_modules/yaml/dist/doc/directives.js +178 -0
  2541. package/node_modules/yaml/dist/errors.d.ts +21 -0
  2542. package/node_modules/yaml/dist/errors.js +62 -0
  2543. package/node_modules/yaml/dist/index.d.ts +25 -0
  2544. package/node_modules/yaml/dist/index.js +50 -0
  2545. package/node_modules/yaml/dist/log.d.ts +3 -0
  2546. package/node_modules/yaml/dist/log.js +19 -0
  2547. package/node_modules/yaml/dist/nodes/Alias.d.ts +29 -0
  2548. package/node_modules/yaml/dist/nodes/Alias.js +118 -0
  2549. package/node_modules/yaml/dist/nodes/Collection.d.ts +73 -0
  2550. package/node_modules/yaml/dist/nodes/Collection.js +151 -0
  2551. package/node_modules/yaml/dist/nodes/Node.d.ts +53 -0
  2552. package/node_modules/yaml/dist/nodes/Node.js +40 -0
  2553. package/node_modules/yaml/dist/nodes/Pair.d.ts +22 -0
  2554. package/node_modules/yaml/dist/nodes/Pair.js +39 -0
  2555. package/node_modules/yaml/dist/nodes/Scalar.d.ts +47 -0
  2556. package/node_modules/yaml/dist/nodes/Scalar.js +27 -0
  2557. package/node_modules/yaml/dist/nodes/YAMLMap.d.ts +53 -0
  2558. package/node_modules/yaml/dist/nodes/YAMLMap.js +147 -0
  2559. package/node_modules/yaml/dist/nodes/YAMLSeq.d.ts +60 -0
  2560. package/node_modules/yaml/dist/nodes/YAMLSeq.js +115 -0
  2561. package/node_modules/yaml/dist/nodes/addPairToJSMap.d.ts +4 -0
  2562. package/node_modules/yaml/dist/nodes/addPairToJSMap.js +65 -0
  2563. package/node_modules/yaml/dist/nodes/identity.d.ts +23 -0
  2564. package/node_modules/yaml/dist/nodes/identity.js +53 -0
  2565. package/node_modules/yaml/dist/nodes/toJS.d.ts +29 -0
  2566. package/node_modules/yaml/dist/nodes/toJS.js +39 -0
  2567. package/node_modules/yaml/dist/options.d.ts +350 -0
  2568. package/node_modules/yaml/dist/parse/cst-scalar.d.ts +64 -0
  2569. package/node_modules/yaml/dist/parse/cst-scalar.js +218 -0
  2570. package/node_modules/yaml/dist/parse/cst-stringify.d.ts +8 -0
  2571. package/node_modules/yaml/dist/parse/cst-stringify.js +63 -0
  2572. package/node_modules/yaml/dist/parse/cst-visit.d.ts +39 -0
  2573. package/node_modules/yaml/dist/parse/cst-visit.js +99 -0
  2574. package/node_modules/yaml/dist/parse/cst.d.ts +109 -0
  2575. package/node_modules/yaml/dist/parse/cst.js +112 -0
  2576. package/node_modules/yaml/dist/parse/lexer.d.ts +87 -0
  2577. package/node_modules/yaml/dist/parse/lexer.js +723 -0
  2578. package/node_modules/yaml/dist/parse/line-counter.d.ts +22 -0
  2579. package/node_modules/yaml/dist/parse/line-counter.js +41 -0
  2580. package/node_modules/yaml/dist/parse/parser.d.ts +84 -0
  2581. package/node_modules/yaml/dist/parse/parser.js +980 -0
  2582. package/node_modules/yaml/dist/public-api.d.ts +44 -0
  2583. package/node_modules/yaml/dist/public-api.js +107 -0
  2584. package/node_modules/yaml/dist/schema/Schema.d.ts +17 -0
  2585. package/node_modules/yaml/dist/schema/Schema.js +39 -0
  2586. package/node_modules/yaml/dist/schema/common/map.d.ts +2 -0
  2587. package/node_modules/yaml/dist/schema/common/map.js +19 -0
  2588. package/node_modules/yaml/dist/schema/common/null.d.ts +4 -0
  2589. package/node_modules/yaml/dist/schema/common/null.js +17 -0
  2590. package/node_modules/yaml/dist/schema/common/seq.d.ts +2 -0
  2591. package/node_modules/yaml/dist/schema/common/seq.js +19 -0
  2592. package/node_modules/yaml/dist/schema/common/string.d.ts +2 -0
  2593. package/node_modules/yaml/dist/schema/common/string.js +16 -0
  2594. package/node_modules/yaml/dist/schema/core/bool.d.ts +4 -0
  2595. package/node_modules/yaml/dist/schema/core/bool.js +21 -0
  2596. package/node_modules/yaml/dist/schema/core/float.d.ts +4 -0
  2597. package/node_modules/yaml/dist/schema/core/float.js +47 -0
  2598. package/node_modules/yaml/dist/schema/core/int.d.ts +4 -0
  2599. package/node_modules/yaml/dist/schema/core/int.js +42 -0
  2600. package/node_modules/yaml/dist/schema/core/schema.d.ts +1 -0
  2601. package/node_modules/yaml/dist/schema/core/schema.js +25 -0
  2602. package/node_modules/yaml/dist/schema/json/schema.d.ts +2 -0
  2603. package/node_modules/yaml/dist/schema/json/schema.js +64 -0
  2604. package/node_modules/yaml/dist/schema/json-schema.d.ts +69 -0
  2605. package/node_modules/yaml/dist/schema/tags.d.ts +48 -0
  2606. package/node_modules/yaml/dist/schema/tags.js +99 -0
  2607. package/node_modules/yaml/dist/schema/types.d.ts +92 -0
  2608. package/node_modules/yaml/dist/schema/yaml-1.1/binary.d.ts +2 -0
  2609. package/node_modules/yaml/dist/schema/yaml-1.1/binary.js +70 -0
  2610. package/node_modules/yaml/dist/schema/yaml-1.1/bool.d.ts +7 -0
  2611. package/node_modules/yaml/dist/schema/yaml-1.1/bool.js +29 -0
  2612. package/node_modules/yaml/dist/schema/yaml-1.1/float.d.ts +4 -0
  2613. package/node_modules/yaml/dist/schema/yaml-1.1/float.js +50 -0
  2614. package/node_modules/yaml/dist/schema/yaml-1.1/int.d.ts +5 -0
  2615. package/node_modules/yaml/dist/schema/yaml-1.1/int.js +76 -0
  2616. package/node_modules/yaml/dist/schema/yaml-1.1/merge.d.ts +9 -0
  2617. package/node_modules/yaml/dist/schema/yaml-1.1/merge.js +71 -0
  2618. package/node_modules/yaml/dist/schema/yaml-1.1/omap.d.ts +22 -0
  2619. package/node_modules/yaml/dist/schema/yaml-1.1/omap.js +77 -0
  2620. package/node_modules/yaml/dist/schema/yaml-1.1/pairs.d.ts +10 -0
  2621. package/node_modules/yaml/dist/schema/yaml-1.1/pairs.js +82 -0
  2622. package/node_modules/yaml/dist/schema/yaml-1.1/schema.d.ts +1 -0
  2623. package/node_modules/yaml/dist/schema/yaml-1.1/schema.js +41 -0
  2624. package/node_modules/yaml/dist/schema/yaml-1.1/set.d.ts +28 -0
  2625. package/node_modules/yaml/dist/schema/yaml-1.1/set.js +96 -0
  2626. package/node_modules/yaml/dist/schema/yaml-1.1/timestamp.d.ts +6 -0
  2627. package/node_modules/yaml/dist/schema/yaml-1.1/timestamp.js +105 -0
  2628. package/node_modules/yaml/dist/stringify/foldFlowLines.d.ts +34 -0
  2629. package/node_modules/yaml/dist/stringify/foldFlowLines.js +151 -0
  2630. package/node_modules/yaml/dist/stringify/stringify.d.ts +21 -0
  2631. package/node_modules/yaml/dist/stringify/stringify.js +132 -0
  2632. package/node_modules/yaml/dist/stringify/stringifyCollection.d.ts +17 -0
  2633. package/node_modules/yaml/dist/stringify/stringifyCollection.js +155 -0
  2634. package/node_modules/yaml/dist/stringify/stringifyComment.d.ts +10 -0
  2635. package/node_modules/yaml/dist/stringify/stringifyComment.js +24 -0
  2636. package/node_modules/yaml/dist/stringify/stringifyDocument.d.ts +4 -0
  2637. package/node_modules/yaml/dist/stringify/stringifyDocument.js +87 -0
  2638. package/node_modules/yaml/dist/stringify/stringifyNumber.d.ts +2 -0
  2639. package/node_modules/yaml/dist/stringify/stringifyNumber.js +27 -0
  2640. package/node_modules/yaml/dist/stringify/stringifyPair.d.ts +3 -0
  2641. package/node_modules/yaml/dist/stringify/stringifyPair.js +152 -0
  2642. package/node_modules/yaml/dist/stringify/stringifyString.d.ts +9 -0
  2643. package/node_modules/yaml/dist/stringify/stringifyString.js +338 -0
  2644. package/node_modules/yaml/dist/test-events.d.ts +4 -0
  2645. package/node_modules/yaml/dist/test-events.js +134 -0
  2646. package/node_modules/yaml/dist/util.d.ts +16 -0
  2647. package/node_modules/yaml/dist/util.js +28 -0
  2648. package/node_modules/yaml/dist/visit.d.ts +102 -0
  2649. package/node_modules/yaml/dist/visit.js +236 -0
  2650. package/node_modules/yaml/package.json +97 -0
  2651. package/node_modules/yaml/util.js +2 -0
  2652. package/package.json +116 -9
  2653. package/bin/data-products/get-csn-via-dp-cli.js +0 -41
  2654. package/bin/extend.js +0 -74
  2655. package/bin/migrate.js +0 -66
  2656. package/lib/init/template/containerize/index.js +0 -22
  2657. package/lib/init/template/helm/index.js +0 -163
  2658. package/lib/init/template/helm-unified-runtime/index.js +0 -65
  2659. package/lib/init/template/html5-repo/files/html5-deployer.package.json.hbs +0 -11
  2660. package/lib/mtx/download_legacy.js +0 -43
  2661. package/lib/mtx/util/legacy_ext.js +0 -15
  2662. package/npm-shrinkwrap.json +0 -1725
@@ -0,0 +1,1928 @@
1
+ // Extend
2
+
3
+ 'use strict';
4
+
5
+ const { weakRefLocation } = require('../base/location');
6
+ const { searchName } = require('../base/messages');
7
+ const { dictAdd, pushToDict, dictForEach } = require('./dictionaries');
8
+ const { kindProperties, dictKinds } = require('./base');
9
+ const {
10
+ setLink,
11
+ setArtifactLink,
12
+ copyExpr,
13
+ setExpandStatus,
14
+ linkToOrigin,
15
+ initItemsLinks,
16
+ setMemberParent,
17
+ createAndLinkCalcDepElement,
18
+ initExprAnnoBlock,
19
+ initBoundSelfParam,
20
+ dependsOnSilent,
21
+ pathName,
22
+ annotationHasEllipsis,
23
+ forEachInOrder,
24
+ forEachDefinition,
25
+ forEachMember,
26
+ forEachGeneric,
27
+ isDirectComposition,
28
+ targetCantBeAspect,
29
+ } = require('./utils');
30
+ const layers = require('./moduleLayers');
31
+ const { CompilerAssertion } = require('../base/error');
32
+ const { Location } = require('../base/location');
33
+ const { typeParameters } = require('./builtins');
34
+
35
+ const $location = Symbol.for( 'cds.$location' );
36
+ const $inferred = Symbol.for( 'cds.$inferred' ); // TODO: no $inferred yet?
37
+
38
+ // attach stupid location - TODO: remove in v7
39
+ const genLocation = new Location( '' );
40
+
41
+ const draftElements = [
42
+ 'IsActiveEntity',
43
+ 'HasActiveEntity',
44
+ 'HasDraftEntity',
45
+ 'DraftAdministrativeData',
46
+ 'SiblingEntity',
47
+ ];
48
+ const draftBoundActions = [
49
+ 'draftPrepare',
50
+ 'draftActivate',
51
+ 'draftEdit',
52
+ ];
53
+
54
+ function canBeDraftMember( name, parent, draftMembers ) {
55
+ return parent?.kind === 'entity' && parent._service && draftMembers.includes( name );
56
+ }
57
+
58
+ function extend( model ) {
59
+ // Get simplified "resolve" functionality and the message function:
60
+ const {
61
+ message, error, warning, info,
62
+ } = model.$messageFunctions;
63
+ const {
64
+ resolvePath,
65
+ resolveUncheckedPath,
66
+ resolveTypeArgumentsUnchecked,
67
+ resolveDefinitionName,
68
+ attachAndEmitValidNames,
69
+ checkRedefinition,
70
+ } = model.$functions;
71
+
72
+ Object.assign( model.$functions, {
73
+ createRemainingAnnotateStatements,
74
+ extendArtifactBefore,
75
+ extendArtifactAfter,
76
+ extendArtifactAdd,
77
+ extendForeignKeys,
78
+ withLocalizedData,
79
+ applyIncludes, // TODO: re-check
80
+ } );
81
+
82
+ const includeCollisions = [];
83
+
84
+ forEachGeneric( model, 'definitions', tagCompositionTargets );
85
+ dictForEach( model.$collectedExtensions, e => e._extensions.forEach( tagCompositionTargets ) );
86
+ // remark: tagging on extensions works _before_ running extendArtifactBefore() on each artifact
87
+ sortModelSources();
88
+
89
+ // Set annotations on user-provided artifacts, but they are not propagated yet!
90
+ // Use them in the main compiler phase (and before) with extra care:
91
+ forEachDefinition( model, extendArtifactBefore );
92
+ return;
93
+
94
+ // Tag composition targets: ---------------------------------------------------
95
+
96
+ function tagCompositionTargets( elem ) {
97
+ if (elem.$inferred) // TODO: probably no $inferred yet
98
+ return;
99
+ if (elem.targetAspect?.elements)
100
+ elem = elem.targetAspect;
101
+ if (elem.elements) {
102
+ forEachGeneric( elem, 'elements', tagCompositionTargets );
103
+ }
104
+ else if (elem.columns) { // `elem` is query or extension
105
+ elem.columns.forEach( tagCompositionTargets );
106
+ }
107
+ else if (elem.$queries) {
108
+ for (const query of elem.$queries) {
109
+ if (query.mixin)
110
+ forEachGeneric( query, 'mixin', tagCompositionTargets );
111
+ if (query.columns)
112
+ query.columns.forEach( tagCompositionTargets );
113
+ // Remark: no directly published expand/inline column yet
114
+ }
115
+ }
116
+ else if (elem.target && isDirectComposition( elem )) {
117
+ const name = resolveUncheckedPath( elem.target, 'target', elem );
118
+ if (!name)
119
+ return;
120
+ const target = model.definitions[name];
121
+ // move target aspect in `target` to `targetAspect` (in define.js, we only
122
+ // do it with anonymous aspect)
123
+ if (target?.kind in { aspect: 1, type: 1 } && // type is sloppy
124
+ target.elements && !target.elements[$inferred] &&
125
+ !targetCantBeAspect( elem, false, model.definitions )) { // tests `!elem.targetAspect`
126
+ elem.targetAspect = elem.target;
127
+ delete elem.target;
128
+ }
129
+ model.$compositionTargets[name] = true; // does not hurt if set on aspect
130
+ }
131
+ }
132
+
133
+
134
+ //-----------------------------------------------------------------------------
135
+ // Extensions: general algorithm
136
+ //-----------------------------------------------------------------------------
137
+ // extendArtifactBefore, extendArtifactAfter, createRemainingAnnotateStatements,
138
+ // extendForeignKeys
139
+
140
+ /**
141
+ * Goes through all (applied) annotations in the given artifact and chooses one
142
+ * if multiple exist according to the module layer.
143
+ * TODO: update comment if extension algorithm is finished
144
+ *
145
+ * Called at the beginning for each main artifact, and must not call
146
+ * resolvePath() then. It is later called via effectiveType().
147
+ *
148
+ * @param {XSN.Artifact} art
149
+ */
150
+ function extendArtifactBefore( art ) {
151
+ // for main artifacts, move extensions from `$collectedExtensions` model dictionary:
152
+ if (!art._main && !art._outer && art._extensions === undefined &&
153
+ art.name && // TODO: probably just a workaround, check with TODO in getOriginRaw()
154
+ art.kind !== 'namespace') {
155
+ const { id } = art.name;
156
+ setLink( art, '_extensions', model.$collectedExtensions[id]?._extensions || null );
157
+ if (art._extensions && !art.builtin) { // keep extensions for builtin in $collectedExtensions
158
+ delete model.$collectedExtensions[id];
159
+ // TODO: if the extension mechanism has been completed, we could uncomment:
160
+ // art._extensions.forEach( ext => resolvePath( ext.name, ext.kind, ext )); // for LSP
161
+ // for now, we do that at the end of createRemainingAnnotateStatements()
162
+ }
163
+ }
164
+ if (art.kind === 'entity' && art.includes && !art._entityIncludes)
165
+ setEntityIncludes( art, art );
166
+
167
+ if (art._extensions) {
168
+ // TODO: the following function can now be simplified
169
+ // if (art.$inferred) console.log('CAI:', art.name, art.$inferred,art._extensions)
170
+ // With extensions, member appears in CSN, affects directly the rendering of
171
+ // elements etc. TODO: do that more specifically on the dicts (via symbol)
172
+ // Probably better: we could use the _extensions dict prop directly in to-csn
173
+ if (art.$inferred)
174
+ setExpandStatus( art, 'annotate' );
175
+ if (Array.isArray( art._extensions )) {
176
+ checkExtensionsKind( art._extensions, art );
177
+ transformArtifactExtensions( art );
178
+ }
179
+ // console.log('EA:',require('../model/revealInternalProperties')
180
+ // .ref(art),Object.keys(art._extensions))
181
+ for (const prop in art._extensions) {
182
+ if (Object.hasOwn( art._extensions, prop ) &&
183
+ // remark: if we change the array, consider whether to delete the artifact
184
+ // TODO: what is the `$gen`? `$add` is handled...
185
+ ![ 'elements', 'actions', 'params', '$gen' ].includes( prop ))
186
+ applyPropertyExtensions( art, prop );
187
+ }
188
+ }
189
+ }
190
+
191
+ /**
192
+ * Push down extensions on member properties like `elements` to the individual
193
+ * members (setting their `_extensions` property).
194
+ * Currently, definitions in `extend` members are ignored,
195
+ * because they are handled a-priori by the old-style extension mechanism.
196
+ *
197
+ * Outside this file: only called in effectiveType() and indirectly in
198
+ * tweak-assocs.js (for foreign keys and super-annotates).
199
+ */
200
+ function extendArtifactAfter( art ) {
201
+ // TODO: assert that we have not yet transformed/used _extensions on sub elements
202
+ // TODO necessary(?): transformArtifactExtensions must ensure that each annotate
203
+ // is in either returns,items,elements,enum
204
+ if (art.builtin) // builtin members handled via "super annotate"
205
+ return;
206
+ // If elements are added in the future via includes or extend, it should be done here
207
+
208
+ const extensionsMap = art._extensions;
209
+ if (!extensionsMap) // builtin members handled via "super annotate"
210
+ return;
211
+ // type extensions after having “populated” the artifact ($typeArgs -> length,
212
+ // …, TODO: do that there) and setting an _effectiveType:
213
+ if (art.$typeExts) {
214
+ const { type } = art; // if the type is not inferred, it is the origin...
215
+ if (type?._artifact && !type.$inferred) // ...and thus is resolved
216
+ resolveTypeArgumentsUnchecked( art, type._artifact, art );
217
+ const exts = art.$typeExts;
218
+ applyTypeExtensions( art, exts.length, 'length' );
219
+ const scaleDiff = applyTypeExtensions( art, exts.scale, 'scale' );
220
+ applyTypeExtensions( art, exts.precision, 'precision', scaleDiff );
221
+ applyTypeExtensions( art, exts.srid, 'srid' );
222
+ checkPrecisionScaleExtension( art, exts );
223
+
224
+ delete art.$typeExts;
225
+ }
226
+
227
+ moveDictExtensions( art, extensionsMap, 'actions' );
228
+ moveDictExtensions( art, extensionsMap, 'params' );
229
+ if (!extensionsMap.elements)
230
+ return;
231
+
232
+ // after populateArtifact, it is clear which properties the artifact has:
233
+ const artProp = art.kind === 'action' || art.kind === 'function'
234
+ ? 'returns'
235
+ : [ 'returns', 'targetAspect', 'items' ].find( p => art[p] );
236
+ if (artProp) {
237
+ const returnsDict = artProp === 'returns' && !art.returns &&
238
+ annotateFor( art, 'params', '' ); // create anno for non-existing returns
239
+ for (const ext of extensionsMap.elements) {
240
+ if (!ext.returns) {
241
+ pushToDict( returnsDict || art[artProp], '_extensions', ext );
242
+ if (artProp === 'returns')
243
+ extendHandleReturns( ext, art );
244
+ }
245
+ else {
246
+ pushToDict( returnsDict || art[artProp], '_extensions', ext.returns );
247
+ if (!art.returns)
248
+ checkReturnsExtension( ext, art );
249
+ }
250
+ }
251
+ // TODO: what about `many many Type` (via CSN)?
252
+ }
253
+ else if (!art.target) { // TODO: foreign keys currently handled specially
254
+ for (const ext of extensionsMap.elements) {
255
+ if (ext.returns)
256
+ checkReturnsExtension( ext, art );
257
+ }
258
+ // if (art.elements || art.enum || art.kind === 'annotate')
259
+ moveDictExtensions( art, extensionsMap,
260
+ (art.enum ? 'enum' : 'elements'), false );
261
+ }
262
+ }
263
+
264
+ /**
265
+ * Apply foreign key extensions. Because foreign keys are handled late in the compiler
266
+ * (in tweak-assocs.js), we can't apply them in effectiveType(), yet.
267
+ * Instead, we postpone applying them until all foreign keys were generated.
268
+ *
269
+ * @param art
270
+ */
271
+ function extendForeignKeys( art ) {
272
+ // See extendArtifactAfter() for targetAspect/items handling.
273
+ if (!art._extensions || art.items || art.targetAspect?.elements)
274
+ return;
275
+
276
+ // push down foreign keys
277
+ moveDictExtensions( art, art._extensions, 'foreignKeys', 'elements' );
278
+ if (!art.foreignKeys)
279
+ return;
280
+
281
+ forEachGeneric(art, 'foreignKeys', (key) => {
282
+ if (!key._effectiveType)
283
+ throw new CompilerAssertion('foreign key should have been processed');
284
+ extendArtifactBefore( key );
285
+ extendArtifactAfter( key );
286
+ });
287
+ }
288
+
289
+ /**
290
+ * Applying extensions is handled in extendArtifactAfter(). And only afterward,
291
+ * an effective sequence number is set. Meaning that if a sub artifact already
292
+ * has a sequence number, then extensions would be lost.
293
+ *
294
+ * A special case are foreign keys, see extendForeignKeys().
295
+ */
296
+ function ensureArtifactNotProcessed( art ) {
297
+ if (!model.options.testMode)
298
+ return;
299
+
300
+ if (art.kind !== 'key' && art.$effectiveSeqNo !== 0 && art.$effectiveSeqNo !== undefined) {
301
+ // if the artifact already has a sequence number, then
302
+ // extendArtifactAfter() was already called -> annotations would be lost.
303
+ throw new CompilerAssertion('artifact already processed; extensions would be lost');
304
+ }
305
+ }
306
+
307
+ /**
308
+ * Create super annotate statements for remaining extensions
309
+ */
310
+ function createRemainingAnnotateStatements() {
311
+ model.extensions = Object.values( model.$collectedExtensions );
312
+ // TODO: testMode sort?
313
+ model.extensions.forEach( createSuperAnnotate );
314
+ // set _artifact links for “main extensions” late as it would disturb the
315
+ // still existing old extend mechanism, see extendArtifactBefore(),
316
+ // needed for LSP and friends:
317
+ Object.values( model.sources ).forEach( setArtifactLinkForExtensions );
318
+ Object.values( model.definitions ).forEach( setArtifactLinkForExtensions );
319
+ }
320
+
321
+ // TODO: delete again - if not, what about extensions in contexts/services?
322
+ // Check test.lsp-api.js! Links in extensions are needed.
323
+ function setArtifactLinkForExtensions( source ) {
324
+ if (!source.extensions)
325
+ return;
326
+ for (const ext of source.extensions) {
327
+ if (!ext.name?.id)
328
+ continue;
329
+
330
+ const { name } = ext;
331
+ const { path } = name;
332
+ if (name._artifact === undefined) {
333
+ resolvePath( name, ext.kind, ext ); // induce error & for LSP
334
+ }
335
+ else if (model.options.lspMode && path?.[0]._artifact === undefined) {
336
+ // we don't use resolvePath(…,'extend'), as that would add a dependency
337
+ resolveDefinitionName( ext );
338
+ setArtifactLink( path[path.length - 1], name._artifact );
339
+ }
340
+ }
341
+ }
342
+
343
+ // For extendArtifactBefore(): ------------------------------------------------
344
+
345
+ /**
346
+ * Complain about invalid `extend service` and `extend context`.
347
+ */
348
+ function checkExtensionsKind( extensions, art ) {
349
+ for (const ext of extensions) {
350
+ const kind = ext.expectedKind?.val;
351
+ if (kind && kind !== art.kind) {
352
+ const loc = ext.expectedKind.location;
353
+ if (kind === 'context' || kind === 'service') {
354
+ // We have no real artifact during the construction of a super-annotate statement:
355
+ const msgArgs = {
356
+ '#': (art.kind === 'service' || art.kind === 'annotate') ? art.kind : 'std',
357
+ art,
358
+ kind,
359
+ code: 'extend … with definitions',
360
+ keyword: 'extend service',
361
+ };
362
+ // TODO v7: Discuss: make this an error?
363
+ warning( 'ext-invalid-kind', [ loc, ext ], msgArgs, {
364
+ std: 'Artifact $(ART) is not of kind $(KIND), use $(CODE) instead',
365
+ annotate: 'There is no artifact $(ART), use $(CODE) instead',
366
+ // do not mention 'extend context', that is not in CAPire
367
+ service: 'Artifact $(ART) is not of kind $(KIND), use $(CODE) or $(KEYWORD) instead',
368
+ } );
369
+ }
370
+ // TODO: Use similar checks for EXTEND ENTITY etc - 'ext-ignoring-kind'
371
+ }
372
+ }
373
+ }
374
+
375
+ /**
376
+ * Transform `art._extensions` from an array of extensions into an object
377
+ * `{ prop: relevantExtensions, … }` where `relevantExtensions` are the extensions
378
+ * which are relevant for the value of `art[prop]` after the application of extensions.
379
+ *
380
+ * Remark: it is not necessarily clear at this moment whether `art` has
381
+ * `elements`, `enums`, `items`, etc.
382
+ */
383
+ function transformArtifactExtensions( art ) {
384
+ // TODO: if extensions has more than one of returns,items,elements,enum, delete all those props
385
+ const dict = {};
386
+ for (const ext of art._extensions) {
387
+ // `annotate SomeFunction with @action { r @elem };` would later be moved to
388
+ // `someFunction.returns._extensions` due to `elements` → @action not relevant then:
389
+ // (TODO: should we use some “already applied” flag instead?)
390
+ const isAutoItemsOrReturns = art._outer || // in items or targetAspect
391
+ art._parent?.returns === art && !ext._parent?.returns;
392
+ for (const prop in ext) {
393
+ if (!Object.hasOwn( ext, prop ) || ext[prop] === undefined) // deleted property
394
+ continue;
395
+ // TODO: do this check nicer (after complete move to new extensions mechanism)
396
+ if (prop === 'includes') {
397
+ pushToDict( dict, prop, ext );
398
+ pushTo$add( dict, ext );
399
+ }
400
+ else if (prop.charAt(0) === '@' || prop === 'doc' || prop === 'columns' ||
401
+ prop === 'groupBy' || prop === 'where' || prop === 'having' ||
402
+ prop === 'orderBy' || prop === 'limit' || prop === 'length' ||
403
+ prop === 'scale' || prop === 'precision' || prop === 'srid') {
404
+ if (!isAutoItemsOrReturns)
405
+ pushToDict( dict, prop, ext );
406
+ }
407
+ else if (prop === 'elements' || prop === 'enum') {
408
+ if (ext.returns) { // TODO: currently, an annotate can have both
409
+ // if this is a hard error, we could use syntax-unexpected-property#sibling
410
+ message( 'syntax-unexpected-with-returns',
411
+ [ ext[prop][$location] || ext.location, ext ],
412
+ { prop, siblingprop: 'returns' },
413
+ // eslint-disable-next-line @stylistic/max-len
414
+ 'Property $(PROP) of an annotate statement is ignored when it also has a property $(SIBLINGPROP)' );
415
+ }
416
+ else {
417
+ pushToDict( dict, 'elements', ext ); // yes, enum → elements here
418
+ if (ext.kind === 'extend' && !isAutoItemsOrReturns)
419
+ pushTo$add( dict, ext );
420
+ }
421
+ }
422
+ else if (prop === 'returns') {
423
+ pushToDict( dict, 'elements', ext );
424
+ if (hasSecurityAnno( ext.returns ))
425
+ checkReturnsExtension( ext, ext );
426
+ // create 'returns' for the super annotate, store in elements anyway
427
+ if (!art.returns && art.kind === 'annotate')
428
+ annotateCreate( art, '', art, 'returns' );
429
+ if (ext.kind === 'extend' && !isAutoItemsOrReturns)
430
+ pushTo$add( dict, ext );
431
+ }
432
+ else if (prop === 'actions' || prop === 'params') {
433
+ pushToDict( dict, prop, ext );
434
+ if (ext.kind === 'extend' && prop === 'actions' && !isAutoItemsOrReturns)
435
+ pushTo$add( dict, ext );
436
+ }
437
+ }
438
+ }
439
+ art._extensions = dict;
440
+ }
441
+
442
+ /**
443
+ * Sort sources according to the reversed layered extension order without
444
+ * reporting any messages.
445
+ *
446
+ * The order of the CSN property `$sources` (from XSN `_sortedSources`) is
447
+ * defined as follows: for _any_ model
448
+ *
449
+ * - add `type $Sources: String @(Names: []);` to one of the source files
450
+ * - add `annotate $Sources with @Names: [..., ‹sourceName›]` to each source
451
+ * file where ‹sourceName› is the file name of the source
452
+ * - then the array value of `‹csn›.$sources` is the reverse of the array value
453
+ * of `‹csn›.definitions.$Sources.@Names`
454
+ */
455
+ function sortModelSources() {
456
+ const scheduled = [];
457
+ const layered = layeredExtensions( Object.values( model.sources ) );
458
+ for (;;) {
459
+ const { highest } = extensionsOfHighestLayers( layered );
460
+ if (!highest.length)
461
+ break;
462
+ highest.reverse();
463
+ scheduled.push( ...highest );
464
+ }
465
+ setLink( model, '_sortedSources', scheduled );
466
+ }
467
+
468
+ /**
469
+ * For all `prop → extensions` in `art._extensions`, apply the extensions.
470
+ * Currently only for annotations, the `doc` property, `columns` and type properties,
471
+ * not for `elements` and other members.
472
+ */
473
+ function applyPropertyExtensions( art, prop ) {
474
+ const extensions = art._extensions;
475
+ // annotations, `doc`, `includes`, `columns`, `length`, ...
476
+ const scheduled = [];
477
+ // sort extensions according to layer (specified elements are bottom layer):
478
+ const layered = layeredExtensions( extensions[prop] );
479
+
480
+ let cont = true;
481
+ while (cont) {
482
+ const { highest, issue } = extensionsOfHighestLayers( layered );
483
+ // console.log( 'CA:', annoName, issue, extensions)
484
+ let index = highest.length;
485
+ cont = !!index; // safety
486
+ while (--index >= 0) {
487
+ const ext = highest[index];
488
+ scheduled.push( ext );
489
+ if (extensionOverwrites( ext, prop )) {
490
+ cont = false;
491
+ break;
492
+ }
493
+ }
494
+ if (issue || index > 0)
495
+ reportDuplicateExtensions( highest, prop, issue, index, art );
496
+ }
497
+ // Now apply the relevant extensions
498
+ scheduled.reverse();
499
+ art.$postponeInclude ??= 0; // add elems of includes before direct ones
500
+ if (prop === 'includes' && !art.includes?.$original) {
501
+ const $original = art.includes ?? [];
502
+ art.includes = [ ...$original ];
503
+ art.includes.$original = $original;
504
+ // console.log('APE:',art.name.id,art.includes.map( r => r._artifact?.name.id ))
505
+ }
506
+ if (prop === '$add') {
507
+ extensions[prop] = scheduled;
508
+ return; // the $add is applied in extendArtifactAdd()
509
+ }
510
+ for (const ext of scheduled)
511
+ applySingleExtension( art, ext, prop );
512
+ delete extensions[prop];
513
+ }
514
+
515
+ function extensionOverwrites( ext, prop ) {
516
+ return (prop.charAt(0) !== '@')
517
+ ? (prop === 'doc' || typeParameters.list.includes(prop))
518
+ : !annotationHasEllipsis( ext[prop] );
519
+ }
520
+
521
+ // TODO: still a bit annotation assignment specific
522
+ function reportDuplicateExtensions( extensions, prop, issue, index, art ) {
523
+ // TODO: think about messages for these
524
+ if (prop === 'elements' || prop === 'actions' || prop === 'columns' ||
525
+ prop === 'params' || prop === '$add' )
526
+ return; // extensions currently handled extra
527
+ // TODO: columns?
528
+ if (issue) {
529
+ // eslint-disable-next-line no-nested-ternary
530
+ let msg = (index < 0)
531
+ ? 'anno-unstable-array'
532
+ : (issue === true)
533
+ ? 'anno-duplicate'
534
+ : 'anno-duplicate-unrelated-layer';
535
+ if (prop.charAt(0) !== '@' && prop !== 'doc') {
536
+ msg = (issue === true)
537
+ ? 'ext-duplicate-extend-type'
538
+ : 'ext-duplicate-extend-type-unrelated-layer';
539
+ // not sure whether to repeat the extended artifact in the message (we
540
+ // have the semantic location, after all)
541
+ // extend-repeated-intralayer / extend-unrelated-layer
542
+ }
543
+ const variant = prop === 'doc' ? 'doc' : 'std';
544
+ for (const ext of extensions) {
545
+ const anno = ext[prop];
546
+ if (anno && !anno.$errorReported) {
547
+ message( msg, [ anno.name?.location || anno.location, ext ],
548
+ { '#': variant, anno: prop, type: art } );
549
+ }
550
+ }
551
+ }
552
+ else if (index > 0) { // more than one set (not just ...)
553
+ const variant = prop === 'doc' ? 'doc' : 'std';
554
+ const msgid = (prop.charAt(0) === '@' || prop === 'doc')
555
+ ? 'anno-duplicate-same-file' // TODO: always ext-duplicate-…
556
+ : 'ext-duplicate-same-file';
557
+ while (index >= 0) { // do not report for trailing [...]
558
+ const ext = extensions[index--];
559
+ const anno = ext[prop];
560
+ warning( msgid, [ anno.name?.location || anno.location, ext ],
561
+ { '#': variant, prop, anno: prop } );
562
+ }
563
+ }
564
+ }
565
+
566
+ function applySingleExtension( art, ext, prop ) {
567
+ if (prop === 'includes') {
568
+ if (art.kind !== 'annotate' && !art._outer) { // TODO: why this check?
569
+ // not with elem extension in targetAspect
570
+ art.includes.push( ...ext.includes );
571
+ // head of ref in in ext.includes must be set in _block of ext; for
572
+ // remaining path items, effectiveType() has `art` as user
573
+ // (alternatively, we could set some _user on `includes` items):
574
+ for (const ref of ext.includes)
575
+ resolveUncheckedPath( ref, 'include', ext );
576
+ if (art.kind === 'entity')
577
+ setEntityIncludes( ext, art );
578
+ // console.log( 'ASI:',prop,art.name,ext,extensionsDict[id])
579
+ }
580
+ // art[prop] = (art[prop]) ? art[prop].concat( ext[prop] ) : ext[prop];
581
+ }
582
+ else if (prop === 'columns') {
583
+ const { query } = art;
584
+ for (const col of ext.columns)
585
+ col.$extended = 'columns';
586
+
587
+ if (art.kind === 'annotate' && art.$inferred === '')
588
+ return; // internal super-annotate for unknown artifacts
589
+
590
+ if (!query?.from?.path) {
591
+ const variant = (query?.from || query)?.op?.val || 'std';
592
+ error( 'extend-columns', [ ext.columns[$location], ext ], { '#': variant, art } );
593
+ return;
594
+ }
595
+ if (!query.columns)
596
+ query.columns = [ { location: query.from.location, val: '*' }, ...ext.columns ];
597
+ else
598
+ query.columns.push( ...ext.columns );
599
+ ext.columns.forEach( col => changeParentLinks( col, query ) );
600
+ }
601
+ else if (prop === 'groupBy' || prop === 'where' || prop === 'having' ||
602
+ prop === 'orderBy' || prop === 'limit') {
603
+ applyQueryClause( prop, ext, art );
604
+ }
605
+ else if (typeParameters.list.includes( prop )) {
606
+ const typeExts = art.$typeExts || (art.$typeExts = {});
607
+ typeExts[prop] = ext;
608
+ }
609
+ else {
610
+ const result = applyAssignment( art[prop], ext[prop], ext, prop );
611
+ art[prop] = (result.name) ? result : Object.assign( {}, art[prop], result );
612
+ }
613
+ }
614
+
615
+ function applyQueryClause( prop, ext, art ) {
616
+ const { query } = art;
617
+ const clause = ext[prop];
618
+ const isArray = Array.isArray( clause );
619
+
620
+ if (prop !== 'limit') {
621
+ const items = isArray ? clause : [ clause ];
622
+ for (const item of items) {
623
+ item.$extended = prop;
624
+ setLink( item, '_block', ext._block );
625
+ setLink( item, '_outer', query );
626
+ }
627
+ }
628
+ if (!query?.from?.path) {
629
+ const variant = (query?.from || query)?.op?.val || 'std';
630
+ const loc = isArray ? clause[$location] : clause.location;
631
+ error( `extend-${ prop.toLowerCase() }`, [ loc, ext ], { '#': variant, art } );
632
+ return;
633
+ }
634
+ if (isArray) {
635
+ if (!query[prop])
636
+ query[prop] = [];
637
+ query[prop].push( ...clause );
638
+ }
639
+ else {
640
+ if (query[prop]) {
641
+ error( 'ext-unexpected-sql-clause', [ clause.location, ext ], { art, keyword: prop } );
642
+ return;
643
+ }
644
+ query[prop] = clause;
645
+ }
646
+ }
647
+
648
+ function changeParentLinks( art, queryOrMain ) {
649
+ // TODO: we might also change the implicit name (if name.id is a number,
650
+ // adding the previous column lenght - 1) for better error messages
651
+ const parent = art._parent;
652
+ if (!art._parent)
653
+ return;
654
+ if (parent.kind === 'extend')
655
+ art._parent = queryOrMain;
656
+ if (art._main.kind === 'extend') // TODO: probably always
657
+ art._main = queryOrMain._main;
658
+ if (art._columnParent?.kind === 'extend')
659
+ art._columnParent = queryOrMain;
660
+ const subColumns = art.expand || art.inline;
661
+ if (subColumns)
662
+ subColumns.forEach( a => changeParentLinks( a, queryOrMain ) );
663
+ forEachMember( art, a => changeParentLinks( a, queryOrMain ) );
664
+ }
665
+
666
+ function applyAssignment( previousAnno, anno, art, annoName ) {
667
+ const firstEllipsis = annotationHasEllipsis( anno );
668
+ if (!firstEllipsis)
669
+ return anno;
670
+ const hasBase = previousAnno?.literal === 'array';
671
+ if (!previousAnno) {
672
+ const { location } = anno.name;
673
+ if (annoName !== '@extension.code') {
674
+ // Remark: we could allow that for all annotations which are not propagated
675
+ message( 'anno-unexpected-ellipsis', [ firstEllipsis.location || location, art ],
676
+ { code: '...' } );
677
+ }
678
+ previousAnno = {
679
+ kind: '$annotation',
680
+ val: [],
681
+ literal: 'array',
682
+ name: anno.name,
683
+ location,
684
+ };
685
+ }
686
+ else if (previousAnno.literal !== 'array') {
687
+ // TODO: If we introduce sub-messages, point to the non-array base value.
688
+ error( 'anno-mismatched-ellipsis', [ anno.name.location, art ], { code: '...' } );
689
+ previousAnno = {
690
+ kind: '$annotation',
691
+ val: [],
692
+ literal: 'array',
693
+ name: previousAnno.name,
694
+ location: previousAnno.location,
695
+ };
696
+ }
697
+ const previousValue = previousAnno.val;
698
+ let prevPos = 0;
699
+ const result = [];
700
+ for (const item of anno.val) {
701
+ const ell = item && item.literal === 'token' && item.val === '...';
702
+ if (!ell) {
703
+ result.push( item );
704
+ }
705
+ else {
706
+ let upToSpec = !item.$errorReported && item.upTo;
707
+ while (prevPos < previousValue.length) {
708
+ const prevItem = previousValue[prevPos++];
709
+ result.push( prevItem );
710
+ if (upToSpec && prevItem && equalUpTo( prevItem, item.upTo )) {
711
+ upToSpec = false;
712
+ break;
713
+ }
714
+ }
715
+ if (upToSpec && hasBase) {
716
+ // non-matched UP TO; if there is no base to apply to, there is already an error.
717
+ warning( null, [ item.upTo.location, art ], { anno: annoName, code: '... up to' },
718
+ 'The $(CODE) value does not match any item in the base annotation $(ANNO)' );
719
+ }
720
+ }
721
+ }
722
+ // console.log('TP:',previousValue.map(se),anno.val.map(se),'->',result.map(se))
723
+ return {
724
+ kind: '$annotation',
725
+ val: result,
726
+ literal: 'array',
727
+ name: previousAnno.name,
728
+ location: previousAnno.location,
729
+ };
730
+ }
731
+
732
+ // For the `up to` specification, see ../../test3/Annotations/EllipsisUpTo/
733
+
734
+ function equalUpTo( previousItem, upToSpec ) {
735
+ if (!previousItem)
736
+ return false;
737
+
738
+ if (upToSpec.sym) // enum symbol (literal: 'enum')
739
+ return previousItem.sym?.id === upToSpec.sym.id;
740
+ if (upToSpec.val !== undefined) { // not struct, ref or non-val expression
741
+ if (previousItem.val === upToSpec.val) // enum, struct and ref have no val
742
+ return true;
743
+ const upToVal = upToSpec.val;
744
+ const prevVal = previousItem.val;
745
+ // eslint-disable-next-line eqeqeq
746
+ return prevVal == upToVal &&
747
+ ( typeof upToVal === 'number' && stringCouldHaveBeenCdlNumber( prevVal ) ||
748
+ typeof prevVal === 'number' && stringCouldHaveBeenCdlNumber( upToVal ) );
749
+ }
750
+
751
+ if (upToSpec.path) {
752
+ // console.log(upToSpec.location+'',normalizeRef( upToSpec ),previousItem.struct?.['='])
753
+ return (previousItem.path)
754
+ ? normalizeRef( upToSpec ) === normalizeRef( previousItem )
755
+ : normalizeRef( upToSpec ) === previousItem.struct?.['=']?.val &&
756
+ (!upToSpec.$tokenTexts || Object.keys( previousItem.struct ).length === 1);
757
+ }
758
+ if (!upToSpec.struct)
759
+ return false;
760
+
761
+ const { struct } = previousItem;
762
+ if (struct) {
763
+ const entries = Object.entries( upToSpec.struct );
764
+ // {} does not match { "=": "ref" }, but { prop: … } and { "=": "ref", more: … }
765
+ return (entries.length)
766
+ ? entries.every( ([ n, v ]) => equalUpTo( previousItem.struct[n], v ) )
767
+ : !struct['='] || Object.keys( struct ).length > 1;
768
+ }
769
+ return previousItem.path && Object.keys( upToSpec.struct ).length === 1 &&
770
+ normalizeRef( previousItem ) === upToSpec.struct['=']?.val;
771
+ }
772
+
773
+ // We only compare a string by number if the string is not empty, and could have
774
+ // been produced for a CDL number by (a previous version of) the compiler,
775
+ // i.e. having used a decimal dot, or using the scientific notation:
776
+ function stringCouldHaveBeenCdlNumber( val ) { // also consider previous compiler versions
777
+ return val && typeof val === 'string' && /[.eE]/.test( val );
778
+ // We do not use `!Number.isSafeInteger( Number.parseFloat( text||'0' )`
779
+ // because it is unlikely that people have written a non-integer like this,
780
+ // more likely is meant a digit-sequence as string
781
+ }
782
+
783
+ function normalizeRef( node ) { // see to-csn.js
784
+ const ref = pathName( node.path );
785
+ // TODO XSN 7.1: get rid of name.variant (induces a wrong structure anyway)
786
+ return node.variant ? `${ ref }#${ pathName( node.variant.path ) }` : ref;
787
+ }
788
+
789
+ // For extendArtifactAfter(): -------------------------------------------------
790
+
791
+ // Remarks on messages: we allow the type extensions only if the artifact
792
+ // originally had that property → any check of the kind “type prop can only be
793
+ // used with FooBar” is independent from `extend … with type`. Function
794
+ // checkTypeArguments() in resolve.js reports 'type-unexpected-argument', but
795
+ // that is currently incomplete.
796
+ //
797
+ // We then report (in the future), use the first message of:
798
+ // - the usual messages if a type argument is wrong, independently from `extend`
799
+ // - 'ext-unexpected-type-argument' (TODO) if the artifact does not have the prop
800
+ // - 'ext-invalid-type-argument' if the value is wrong for extend (no overwrite)
801
+ //
802
+ // TODO v6: do not allow `extend … with (precision: …)` alone if original def also has `scale`
803
+ function applyTypeExtensions( art, ext, prop, scaleDiff ) {
804
+ // console.log('ATE:',art?.[prop],ext?.[prop],scaleDiff)
805
+ if (!ext?.[prop])
806
+ return 0;
807
+ if (!art[prop]) {
808
+ const isBuiltin = art._effectiveType?.builtin;
809
+ if (isBuiltin && !allowsTypeArgument( art, prop )) {
810
+ // Let checkTypeArguments() in resolve.js report a message, is incomplete
811
+ // though, i.e. can only safely be used for scalars at the moment. But we
812
+ // will improve that function and not try to do extra things here.
813
+ art[prop] = ext[prop]; // enable checkTypeArguments() doing its job
814
+ return 0;
815
+ }
816
+ // TODO: think about 'ext-unexpected-type-argument'
817
+ error( 'ext-invalid-type-property', [ ext[prop].location, ext ],
818
+ { '#': (isBuiltin ? 'indirect' : 'new-prop'), prop } );
819
+ return 0;
820
+ }
821
+ const artVal = art[prop].val;
822
+ const extVal = ext[prop].val;
823
+ if (prop === 'srid') {
824
+ error( 'ext-invalid-type-property', [ ext[prop].location, ext ], { '#': 'prop', prop } );
825
+ }
826
+ else if (typeof artVal !== 'number' || typeof extVal !== 'number' ) {
827
+ // Users can't change from/to string value for property,
828
+ // e.g. `variable`/`floating` for Decimal
829
+ // TODO: Shouldn't the text distinguish between orig string and extension string?
830
+ // Not sure whether to talk about strings if we have a keyword in CDL
831
+ error( 'ext-invalid-type-property', [ ext[prop].location, ext ], { '#': 'string', prop } );
832
+ }
833
+ else if (extVal < artVal + (scaleDiff || 0)) {
834
+ const number = artVal + (scaleDiff || 0);
835
+ error( 'ext-invalid-type-property', [ ext[prop].location, ext ], {
836
+ '#': (scaleDiff ? 'scale' : 'number'), prop, number, otherprop: 'scale',
837
+ } );
838
+ }
839
+ else {
840
+ art[prop] = ext[prop];
841
+ return extVal - artVal;
842
+ }
843
+ return 0;
844
+ }
845
+
846
+ /**
847
+ * If the target artifact has both precision and scale set, then extensions on it must also
848
+ * provide both to avoid user errors for subsequent `extend` statements.
849
+ * There is already a syntax error [syntax-missing-type-property] for `scale` without `precision`.
850
+ *
851
+ * @param {XSN.Artifact} art
852
+ * @param {object} exts
853
+ */
854
+ function checkPrecisionScaleExtension( art, exts ) {
855
+ if (art.precision && art.scale) {
856
+ if (exts.precision && !exts.scale) {
857
+ error( 'ext-missing-type-property', [ exts.precision.location, exts.precision ],
858
+ { art, prop: 'precision', otherprop: 'scale' } );
859
+ }
860
+ }
861
+ }
862
+
863
+ function allowsTypeArgument( art, prop ) {
864
+ const { parameters } = art._effectiveType;
865
+ if (!parameters)
866
+ return false;
867
+ return parameters.includes( prop ) || parameters[0]?.name === prop;
868
+ }
869
+
870
+ function moveDictExtensions( art, extensionsMap, artProp, extProp = artProp ) {
871
+ // TODO: setExpandStatus
872
+ const extensions = extensionsMap[extProp || 'elements'];
873
+ if (!extensions)
874
+ return;
875
+
876
+ for (const ext of extensions) {
877
+ forEachGeneric( ext, extProp || (ext.enum ? 'enum' : 'elements'), ( elemExt, name ) => {
878
+ if (elemExt.kind !== 'annotate' && elemExt.kind !== 'extend') // TODO: specified elems
879
+ return; // definitions inside extend, already handled
880
+ checkRemainingMemberExtensions( art, elemExt, artProp, name );
881
+ const elem = art[artProp]?.[name] || annotateFor( art, extProp || 'elements', name );
882
+ setLink( elemExt.name, '_artifact', (elem.kind !== 'annotate' ? elem : null ) );
883
+ // TODO: why null for annotate?
884
+ ensureArtifactNotProcessed( elem );
885
+ if (elem.$duplicates !== true) // TODO: re-check
886
+ pushToDict( elem, '_extensions', elemExt );
887
+ });
888
+ }
889
+ }
890
+
891
+ function annotateFor( art, prop, name ) {
892
+ const base = annotateBase( art );
893
+ if (name === '' && prop === 'params')
894
+ return base.returns || annotateCreate( base, name, base, 'returns' );
895
+ const dict = base[prop] || (base[prop] = Object.create( null ));
896
+ if (name == null)
897
+ return dict;
898
+ return dict[name] || annotateCreate( dict, name, base );
899
+ }
900
+
901
+ function annotateBase( art ) {
902
+ while (art._outer) // TODO: think about anonymous target aspect
903
+ art = art._outer;
904
+ if (art.kind === 'annotate')
905
+ return art;
906
+
907
+ // TODO: more to do if annotate can have `returns` property
908
+ if (art.kind === 'select')
909
+ art = art._parent;
910
+ if (art._main)
911
+ return annotateFor( art._parent, kindProperties[art.kind].dict, art.name.id );
912
+
913
+ const { id } = art.name;
914
+ return model.$collectedExtensions[id] ||
915
+ annotateCreate( model.$collectedExtensions, id );
916
+ }
917
+
918
+ function annotateCreate( dict, id, parent, prop ) {
919
+ const annotate = {
920
+ kind: 'annotate',
921
+ name: { id, location: genLocation },
922
+ $inferred: '',
923
+ location: genLocation,
924
+ };
925
+ if (parent) {
926
+ setLink( annotate, '_parent', parent );
927
+ setLink( annotate, '_main', parent._main || parent );
928
+ }
929
+ dict[prop || id] = annotate;
930
+ return annotate;
931
+ }
932
+
933
+ function checkReturnsExtension( ext, art ) {
934
+ const msgId = hasSecurityAnno( ext.returns )
935
+ ? 'ext-unexpected-returns-sec'
936
+ : 'ext-unexpected-returns';
937
+ message( msgId, [ ext.returns.location, ext ],
938
+ { '#': art.kind, keyword: 'returns' } );
939
+ // Do not put completely wrong returns into a “super annotate” statement;
940
+ // this could induce consequential errors with [..., …]:
941
+ return art.kind === 'action' || art.kind === 'function';
942
+ }
943
+
944
+ function extendHandleReturns( ext, art ) {
945
+ warning( 'ext-expecting-returns', [ ext.name.location, ext ], {
946
+ '#': art.kind, keyword: 'returns', code: 'annotate ‹name› with returns { … }',
947
+ }, {
948
+ std: 'Expected $(CODE)', // unused variant
949
+ action: 'Expected $(KEYWORD) when annotating action return structure, i.e. $(CODE)',
950
+ function: 'Expected $(KEYWORD) when annotating function return structure, i.e. $(CODE)',
951
+ // eslint-disable-next-line @stylistic/max-len
952
+ annotate: 'Expected $(KEYWORD) when annotating a return structure of an unknown action or function, i.e. $(CODE)',
953
+ } );
954
+ }
955
+
956
+ function checkRemainingMemberExtensions( parent, ext, prop, name ) {
957
+ // console.log('CRME:',prop,name,parent,ext)
958
+
959
+ // TODO: just use `ext-undefined-element` etc also when no elements are there
960
+ // at all (but use an extra text variant and the `{…}` location). Reason: we
961
+ // might allow to add new actions, and an `annotate` on an undefined action
962
+ // should not lead to another message id. We would use and extra message id
963
+ // if we consider this an error or such sub annotates are then ignored
964
+ // (i.e. not put into the "super annotate").
965
+ const dict = parent[prop];
966
+ const securityRelevant = hasSecurityAnno( ext ) ? '-sec' : '';
967
+ const inSuperAnnotate = (parent.kind === 'annotate');
968
+ if (!dict && !securityRelevant) {
969
+ if (inSuperAnnotate) // no check in super annotate statement
970
+ return;
971
+ // TODO: check - for each name? - better locations
972
+ const location = ext._parent?.[prop]?.[$location] || ext.name.location;
973
+ // Remark: no `elements` dict location with `annotate Main:elem`
974
+ switch (prop) {
975
+ // TODO: change texts, somehow similar to checkDefinitions() ?
976
+ case 'foreignKeys':
977
+ case 'elements':
978
+ case 'enum': // TODO: extra?
979
+ warning( 'anno-unexpected-elements', [ location, ext._parent ],
980
+ { '#': (parent._effectiveType?.kind === 'entity') ? 'entity' : 'std' }, {
981
+ std: 'Elements only exist in entities, types or typed constructs',
982
+ entity: 'Elements of entity types can\'t be annotated',
983
+ // TODO: extra msg for 'entity'? → this is some other
984
+ // situation, somehow similar when trying to annotate elements
985
+ // of target entity
986
+ } );
987
+ break;
988
+ case 'params':
989
+ warning( 'anno-unexpected-params', [ location, ext._parent ], {},
990
+ 'Parameters only exist for actions or functions' );
991
+ break;
992
+ case 'actions':
993
+ if (canBeDraftMember( name, parent, draftBoundActions ))
994
+ return;
995
+ // TODO: use extra text variant and location of dictionary - no
996
+ notFound( 'ext-undefined-action', ext.name.location, ext,
997
+ { '#': 'action', art: parent, name } );
998
+ break;
999
+ default:
1000
+ if (model.options.testMode)
1001
+ throw new CompilerAssertion(`Missing case for prop: ${ prop }`);
1002
+ }
1003
+ }
1004
+ else if (!dict?.[name]) {
1005
+ if (inSuperAnnotate && !securityRelevant)
1006
+ return; // there was already a warning for the parent
1007
+ // TODO: make variant `returns` an auto-variant for ($ART) ?
1008
+ const inReturns = parent._parent?.returns;
1009
+ switch (prop) {
1010
+ case 'elements':
1011
+ if (canBeDraftMember( name, parent, draftElements ))
1012
+ break;
1013
+ notFound( `ext-undefined-element${ securityRelevant }`, ext.name.location, ext,
1014
+ { '#': (inReturns ? 'returns' : 'element'), name },
1015
+ parent.elements );
1016
+ break;
1017
+ case 'enum': // TODO: extra msg id?
1018
+ notFound( `ext-undefined-element${ securityRelevant }`, ext.name.location, ext,
1019
+ { '#': (inReturns ? 'enum-returns' : 'enum'), name },
1020
+ parent.enum );
1021
+ break;
1022
+ case 'foreignKeys':
1023
+ notFound( `ext-undefined-key${ securityRelevant }`, ext.name.location, ext,
1024
+ { name }, parent.foreignKeys );
1025
+ break;
1026
+ case 'params':
1027
+ notFound( `ext-undefined-param${ securityRelevant }`, ext.name.location, ext,
1028
+ { '#': 'param', name },
1029
+ parent.params );
1030
+ break;
1031
+ case 'actions':
1032
+ if (canBeDraftMember( name, parent, draftBoundActions ))
1033
+ break;
1034
+ notFound( `ext-undefined-action${ securityRelevant }`, ext.name.location, ext,
1035
+ { '#': 'action', name },
1036
+ parent.actions );
1037
+ break;
1038
+ default:
1039
+ if (model.options.testMode)
1040
+ throw new CompilerAssertion(`Missing case for prop: ${ prop }`);
1041
+ }
1042
+ }
1043
+ }
1044
+
1045
+ function notFound( msgId, location, address, args, validDict ) {
1046
+ const msg = message( msgId, [ location, address ], args );
1047
+ attachAndEmitValidNames( msg, validDict );
1048
+ }
1049
+
1050
+ // For createRemainingAnnotateStatements(): -----------------------------------
1051
+
1052
+ function createSuperAnnotate( annotate ) {
1053
+ const extensions = annotate._extensions;
1054
+ if (extensions && !annotate._main) {
1055
+ const art = model.definitions[annotate.name.id];
1056
+ for (const ext of extensions)
1057
+ checkRemainingMainExtensions( art, ext ); // induce messages for extension path
1058
+ if (art?.builtin && art.kind !== 'namespace') { // TODO: do not set `builtin` on cds, cds.hana
1059
+ setLink( annotate, '_extensions', art._extensions ); // for messages and member extensions
1060
+ // direct annotations on builtins or on the builtins for propagation, and
1061
+ // also shallow-copied to $collectedExtensions for to-csn
1062
+ for (const prop in art) {
1063
+ if (prop.charAt(0) === '@' || prop === 'doc')
1064
+ annotate[prop] = art[prop];
1065
+ }
1066
+ }
1067
+ }
1068
+ if (extensions?.length === 1) { // i.e. no proper location if from more than one extension
1069
+ annotate.location = extensions[0].location;
1070
+ annotate.name.location = extensions[0].name.location;
1071
+ }
1072
+ extendArtifactBefore( annotate );
1073
+ extendArtifactAfter( annotate );
1074
+ forEachMember( annotate, createSuperAnnotate );
1075
+ }
1076
+
1077
+ function hasSecurityAnno( ext ) {
1078
+ return ext['@restrict'] || ext['@requires'] ||
1079
+ Object.keys( ext ).some( prop => prop.startsWith( '@ams.' ) );
1080
+ }
1081
+
1082
+ function checkRemainingMainExtensions( art, ext ) {
1083
+ const refCtx = extensionRefContext( ext );
1084
+ if (resolvePath( ext.name, refCtx, ext ) && art?.builtin) {
1085
+ if (ext.kind === 'extend') {
1086
+ // extending built-ins with elements/enums already gives an error
1087
+ warning( 'ext-unexpected-builtin', [ ext.name.location, ext ], {}, // error v8?
1088
+ 'Built-in types should not be extended' ); // keep the text general
1089
+ const typeProp = typeParameters.list.find( p => ext[p] );
1090
+ if (typeProp) {
1091
+ const location = ext.$typeArgs?.[$location] || ext[typeProp].location;
1092
+ message( 'ext-unexpected-type-property', [ location, ext ], {}, // error v7
1093
+ 'Built-in types can\'t be extended with type properties' );
1094
+ // see also 'ext-invalid-type-property'
1095
+ }
1096
+ }
1097
+ else {
1098
+ info( 'anno-builtin', [ ext.name.location, ext ], {} ); // TODO: better location?
1099
+ }
1100
+ // TODO: remove built-ins as CC candidates via accept property of ./shared.js
1101
+ }
1102
+ }
1103
+
1104
+ function extensionRefContext( ext ) {
1105
+ if (ext.kind === 'annotate') {
1106
+ if (hasSecurityAnno( ext ))
1107
+ return 'annotate-sec';
1108
+ }
1109
+ else if (ext.artifacts || // extend … with definitions
1110
+ ext._block.$frontend === 'json' && !ext.elements && !ext.actions) {
1111
+ // TODO: not for `extend context` and `extend service` → !ext.expectedKind
1112
+ // TODO v7: also fully with CSN input
1113
+ if (!ext.doc && !Object.keys( ext ).some( a => a.charAt(0) === '@') )
1114
+ return 'annotate'; // TODO: or an extra refCtx ?
1115
+ }
1116
+ return ext.kind;
1117
+ }
1118
+
1119
+ // Issue messages for annotations on namespaces and builtins
1120
+ // (TODO: really here?, probably split main artifacts vs returns)
1121
+ // see also createRemainingAnnotateStatements() where similar messages are reported
1122
+ function checkAnnotate( construct, art ) {
1123
+ // TODO: Handle extend statements properly: Different message for empty extend?
1124
+
1125
+ // --> without art._block, art not found
1126
+ if (construct.kind === 'annotate' && art._block?.$frontend === 'cdl') {
1127
+ if (construct.returns && art.kind !== 'action' && art.kind !== 'function' ) {
1128
+ // See moveReturnsExtensions()
1129
+ }
1130
+ else if (!construct.returns &&
1131
+ (art.kind === 'action' || art.kind === 'function') && construct.elements) {
1132
+ warning( 'ext-expecting-returns', [ construct.name.location, construct ], {
1133
+ '#': art.kind, keyword: 'returns', code: 'annotate ‹name› with returns { … }',
1134
+ }, {
1135
+ std: 'Expected $(CODE)', // unused variant
1136
+ action: 'Expected $(KEYWORD) when annotating action return structure, i.e. $(CODE)',
1137
+ function: 'Expected $(KEYWORD) when annotating function return structure, i.e. $(CODE)',
1138
+ } );
1139
+ }
1140
+ }
1141
+ }
1142
+
1143
+ // extend, mainly old-style ---------------------------------------------------
1144
+
1145
+ function addedElements( art ) {
1146
+ return Object.values( art.elements )
1147
+ .reduce( ( acc, elem ) => (elem.kind === 'extend' ? acc : acc + 1), 0 );
1148
+ }
1149
+
1150
+ /**
1151
+ * Extend artifact with additional elements and actions: via includes and/or
1152
+ * extensions. This happens _after_ `populateArtifact`, i.e. after eventually
1153
+ * having inferred the elements/... from an "origin".
1154
+ */
1155
+ function extendArtifactAdd( art ) {
1156
+ const { includes } = art;
1157
+ if (includes) {
1158
+ if (includes.$original) // if extensions with includes:
1159
+ art.includes = includes.$original; // original includes have been stored
1160
+ if (art.includes?.length)
1161
+ applyIncludes( art, art ); // apply includes provided with definition
1162
+ else if (art.elements) // next include only after elements so far
1163
+ art.$postponeInclude += addedElements( art );
1164
+
1165
+ art.includes = includes;
1166
+ // early propagation of specific annotation assignments
1167
+ // TODO: propagate in effectiveType() ?
1168
+ propagateEarly( art, '@cds.autoexpose' );
1169
+ propagateEarly( art, '@fiori.draft.enabled' );
1170
+ }
1171
+ if (art._extensions?.$add)
1172
+ extendArtifact( art._extensions.$add, art ); // apply extensions
1173
+ checkRedefinitionThroughIncludes( art, 'elements' );
1174
+ checkRedefinitionThroughIncludes( art, 'actions' );
1175
+ }
1176
+
1177
+ /**
1178
+ * Extend artifact `art` by `extensions`. `cyclicIncludeNames` can have values:
1179
+ * - falsy: try to apply include, then perform extend and annotate
1180
+ * - an array of include names with cyclic dependencies: includes are not applied,
1181
+ * extend and annotate is performed
1182
+ * remark: we could have applied includes without cycle
1183
+ *
1184
+ * Returns true if extend and annotate are performed.
1185
+ *
1186
+ * @param {XSN.Extension[]} extensions
1187
+ * @param {XSN.Definition} art
1188
+ * @param {String[]|false} [cyclicIncludeNames=false]
1189
+ */
1190
+ function extendArtifact( extensions, art ) {
1191
+ if (!art.query && !art._main && !art._outer) { // TODO: remove _entities
1192
+ model._entities.push( art ); // add structure with includes in dep order
1193
+ }
1194
+ // TODO: complain if $inferred
1195
+ // checkExtensionsKind( extensions, art );
1196
+ extendMembers( extensions, art );
1197
+ reportIncludeCollisions( art );
1198
+ // TODO: complain about element extensions inside projection
1199
+ return true;
1200
+ }
1201
+
1202
+ function reportIncludeCollisions( art ) {
1203
+ const grouped = Object.create( null );
1204
+ for (const {
1205
+ prop, name, existing, elem,
1206
+ } of includeCollisions) {
1207
+ const key = `${ prop }:${ name }`;
1208
+ if (!grouped[key])
1209
+ grouped[key] = { prop, name, collisions: new Set( [ existing ] ) };
1210
+ grouped[key].collisions.add( elem );
1211
+ }
1212
+ for (const key in grouped) {
1213
+ const { prop, name, collisions } = grouped[key];
1214
+ const member = art[prop]?.[name];
1215
+ if (member?.$inferred === 'include') {
1216
+ const arts = [ ...collisions ].map( m => m._origin._main );
1217
+ message( 'ext-duplicate-include', [ art.name.location, member ],
1218
+ { '#': prop, name, sorted_arts: arts } );
1219
+ }
1220
+ }
1221
+ includeCollisions.length = 0;
1222
+ }
1223
+
1224
+ function extendMembers( extensions, art ) {
1225
+ // only called in extendArtifact()
1226
+ // TODO: do the whole extension stuff lazily if the elements are requested
1227
+ const elemExtensions = [];
1228
+ // if (art._main) // extensions already sorted for main artifacts
1229
+ // extensions.sort( layers.compareLayer );
1230
+ // TODO: use same sequence as in chooseAssignment() - better: use common code with that fn
1231
+ // console.log('EM:',art.name,extensions,art._extensions)
1232
+ for (const ext of extensions) { // those in extMap.includes
1233
+ if (art.$inferred === 'include') {
1234
+ error( 'ref-expected-direct-structure', [ ext.name.location, ext ],
1235
+ { '#': 'elements', art } );
1236
+ }
1237
+ else if (art.$inferred) {
1238
+ error( 'extend-for-generated', [ ext.name.location, ext ], { art, keyword: 'extend' },
1239
+ 'You can\'t use $(KEYWORD) on the generated $(ART)' ); // or with inferred elements
1240
+ }
1241
+
1242
+
1243
+ // console.log(message( 'id', [ext.location, ext], { art: ext.name._artifact },
1244
+ // 'Info', 'EXT').toString())
1245
+ setArtifactLink( ext.name, art ); // TODO: probably already done
1246
+ if (ext.includes)
1247
+ applyIncludes( ext, art ); // moves included elem to extension(! TODO: recheck)
1248
+ else if (ext.elements)
1249
+ art.$postponeInclude += addedElements( ext );
1250
+
1251
+ // console.log(ext,art)
1252
+ checkAnnotate( ext, art );
1253
+ // TODO: do we allow to add elements with array of {...}? If yes, adapt
1254
+ initMembers( ext, art, ext._block ); // might set _extend, _annotate
1255
+ dependsOnSilent( art, ext ); // art depends silently on ext (inverse to normal dep!)
1256
+
1257
+ for (const name in ext.elements) {
1258
+ const elem = ext.elements[name];
1259
+ if (elem.kind === 'element') { // i.e. not extend or annotate
1260
+ elemExtensions.push( elem );
1261
+ break; // more than one elem in same EXTEND is fine
1262
+ }
1263
+ }
1264
+ }
1265
+ if (elemExtensions.length > 1)
1266
+ reportUnstableExtensions( elemExtensions ); // TODO: still?
1267
+
1268
+ // This whole function will be removed with a next change - no need to have nice code here:
1269
+ const dict = Object.create( null );
1270
+ // actions cannot be extended anyway. TODO: there should be a message
1271
+ // (possible with CSN input), but that was missing before this change, too.
1272
+ for (const e of extensions) {
1273
+ if (!e.elements)
1274
+ continue;
1275
+ for (const n in e.elements) {
1276
+ if (e.elements[n].kind === 'extend')
1277
+ pushToDict( dict, n, e.elements[n] );
1278
+ }
1279
+ }
1280
+ for (const name in dict) {
1281
+ let obj = art;
1282
+ if (obj.targetAspect)
1283
+ obj = obj.targetAspect;
1284
+ while (obj.items)
1285
+ obj = obj.items;
1286
+ const validDict = obj.elements || obj.enum;
1287
+ const member = validDict && validDict[name];
1288
+ if (!member)
1289
+ extendNothing( dict[name], 'elements', name, art, validDict );
1290
+ }
1291
+ }
1292
+
1293
+ /**
1294
+ * Report 'Warning: Unstable element order due to repeated extensions'
1295
+ * except if all extensions are in the same file.
1296
+ *
1297
+ * @param {XSN.Extension[]} extensions
1298
+ */
1299
+ function reportUnstableExtensions( extensions ) {
1300
+ // No message if all extensions are in the same file:
1301
+ const file = layers.realname( extensions[0] );
1302
+ if (extensions.every( ( ext, i ) => !i || file === layers.realname( ext ) ))
1303
+ return;
1304
+ // Similar to chooseAssignment(), TODO there: also extra intralayer message
1305
+ // as this is a modeling error
1306
+ let lastExt = null;
1307
+ let open = []; // the "highest" layers
1308
+ for (const ext of extensions) {
1309
+ const extLayer = layers.layer( ext ) ||
1310
+ { realname: '', _layerExtends: Object.create( null ) };
1311
+ if (!open.length) {
1312
+ lastExt = ext;
1313
+ open = [ extLayer.realname ];
1314
+ }
1315
+ else if (extLayer.realname === open[open.length - 1]) { // in same layer
1316
+ if (lastExt) {
1317
+ message( 'extend-repeated-intralayer', [ lastExt.location, lastExt ] );
1318
+ lastExt = null;
1319
+ }
1320
+ message( 'extend-repeated-intralayer', [ ext.location, ext ] );
1321
+ }
1322
+ else {
1323
+ if (lastExt && (open.length > 1 || !extLayer._layerExtends[open[0]])) {
1324
+ // report for lastExt if that is unrelated to other open exts or current ext
1325
+ message( 'extend-unrelated-layer', [ lastExt.location, lastExt ], {},
1326
+ 'Unstable element order due to other extension in unrelated layer' );
1327
+ }
1328
+ lastExt = ext;
1329
+ open = open.filter( name => !extLayer._layerExtends[name] );
1330
+ open.push( extLayer.realname );
1331
+ }
1332
+ }
1333
+ }
1334
+
1335
+
1336
+ /**
1337
+ * @param {XSN.Extension[]} extensions
1338
+ * @param {string} prop
1339
+ * @param {string} name
1340
+ * @param {XSN.Artifact} art
1341
+ * @param {object} validDict
1342
+ */
1343
+ function extendNothing( extensions, prop, name, art, validDict ) {
1344
+ // TODO: probably too much magic in the creation of artName…
1345
+ const extMain = { ...(art._main || art) };
1346
+ const artName = searchName( art, name, dictKinds[prop] );
1347
+ setLink( artName, '_main', extMain );
1348
+ for (const ext of extensions) {
1349
+ // TODO: use shared functionality with notFound in resolver.js
1350
+ const { location } = ext.name;
1351
+ extMain.kind = ext.kind;
1352
+ const msg = error( 'extend-undefined', [ location, artName ], { art: artName }, {
1353
+ std: 'Unknown $(ART) - nothing to extend',
1354
+ element: 'Artifact $(ART) has no element or enum $(MEMBER) - nothing to extend',
1355
+ action: 'Artifact $(ART) has no action $(MEMBER) - nothing to extend',
1356
+ } );
1357
+ attachAndEmitValidNames( msg, validDict );
1358
+ }
1359
+ }
1360
+
1361
+ // TODO TMP: copied from ./define.js: -----------------------------------------
1362
+
1363
+ /**
1364
+ * Set property `_parent` for all elements in `parent` to `parent` and do so
1365
+ * recursively for all sub elements.
1366
+ *
1367
+ * If `construct !== parent`, also copy elements to `parent`.
1368
+ *
1369
+ * (Only) if called recursively: `construct === parent`
1370
+ *
1371
+ * TODO: separate extension!
1372
+ */
1373
+ function initMembers( construct, parent, block ) {
1374
+ // only called by extendMembers() and recursively
1375
+ // TODO: split extend from init
1376
+ const obj = initItemsLinks( construct, block );
1377
+ initExprAnnoBlock( construct, block, error );
1378
+ if (parent.targetAspect?.elements)
1379
+ parent = parent.targetAspect;
1380
+ const main = parent._main || parent;
1381
+ const isQueryExtension = construct.kind === 'extend' && main.query;
1382
+
1383
+ if (obj !== parent && obj.elements && parent.enum) { // applying the extension
1384
+ initElementsAsEnum();
1385
+ if (parent.enum[$inferred])
1386
+ setExpandStatus( parent, 'extend' );
1387
+ }
1388
+ else {
1389
+ if (checkDefinitions( construct, parent, 'elements', obj.elements || false ))
1390
+ forEachInOrder( obj, 'elements', init );
1391
+ if (checkDefinitions( construct, parent, 'enum', obj.enum || false ))
1392
+ forEachGeneric( obj, 'enum', init );
1393
+ }
1394
+
1395
+ if (obj.foreignKeys)
1396
+ forEachInOrder( obj, 'foreignKeys', init );
1397
+ if (checkDefinitions( construct, parent, 'actions' ))
1398
+ forEachGeneric( construct, 'actions', init );
1399
+ if (checkDefinitions( construct, parent, 'params' ))
1400
+ forEachInOrder( construct, 'params', init );
1401
+ const { returns } = construct;
1402
+ if (returns) {
1403
+ const { kind } = construct;
1404
+ returns.kind = (kind === 'extend' || kind === 'annotate') ? kind : 'param';
1405
+ init( returns, '' ); // '' is special name for returns parameter
1406
+ }
1407
+ return;
1408
+
1409
+ // We allow `extend MyEnum with {…}` and not just `extend MyEnum with enum {…}`
1410
+ // for compatibility, with a warning.
1411
+ function initElementsAsEnum() {
1412
+ // in extensions, extended enums are represented as elements
1413
+ let hasElement = false;
1414
+ for (const n in obj.elements) {
1415
+ const e = obj.elements[n];
1416
+ if (e.kind === 'extend')
1417
+ continue;
1418
+ if (e.$syntax !== 'or-enum') { // parser might set $syntax: 'or-enum'
1419
+ // We do not want to complain separately about all element properties:
1420
+ error( 'ext-unexpected-element', [ e.location, construct ],
1421
+ { name: e.name.id, code: 'extend … with enum' },
1422
+ // eslint-disable-next-line @stylistic/max-len
1423
+ 'Unexpected elements like $(NAME) in an extension for an enum. Additionally, use $(CODE) when extending enums' );
1424
+ // Don't emit 'ext-expecting-enum' if this error is emitted.
1425
+ return;
1426
+ }
1427
+ e.kind = 'enum';
1428
+ hasElement = true; // warning with CDL input or `name: {}` in CSN input
1429
+ }
1430
+ if (!parent.type || parent.type.$inferred || (parent._main || parent).query) {
1431
+ error( 'extend-type', [ obj.elements[$location], construct ], {},
1432
+ 'Only structures or enum types can be extended with elements/enums' );
1433
+ }
1434
+ else if (hasElement) {
1435
+ warning( 'ext-expecting-enum', [ obj.elements[$location], construct ],
1436
+ { code: 'extend … with enum' }, 'Use $(CODE) when extending enums' );
1437
+ }
1438
+ forEachGeneric( { enum: obj.elements }, 'enum', init );
1439
+ }
1440
+
1441
+ function init( elem, name, prop ) {
1442
+ if (!elem.name && !elem._outer) {
1443
+ const ref = elem.targetElement || elem.kind === 'element' && elem.value;
1444
+ if (ref && ref.path) {
1445
+ elem.name = Object.assign( { $inferred: 'as' },
1446
+ ref.path[ref.path.length - 1] );
1447
+ }
1448
+ else { // RETURNS, parser robustness
1449
+ elem.name = { id: name, location: elem.location };
1450
+ }
1451
+ }
1452
+
1453
+ if (!elem._block)
1454
+ setLink( elem, '_block', block );
1455
+ // if (!kindProperties[ elem.kind ]) console.log(elem.kind,elem.name)
1456
+ if ((elem.kind === 'extend' || elem.kind === 'annotate'))
1457
+ return;
1458
+
1459
+ if (isQueryExtension && elem.kind === 'element') {
1460
+ error( 'extend-query', [ elem.location, construct ], // TODO: searchName ?
1461
+ { code: 'extend … with columns' },
1462
+ 'Use $(CODE) to add select items to the query entity' );
1463
+ return;
1464
+ }
1465
+
1466
+ const existing = parent[prop]?.[name];
1467
+ const shadowsIncludeMember = construct !== parent &&
1468
+ elem.$inferred !== 'include' &&
1469
+ existing?.$inferred === 'include';
1470
+ const add = construct !== parent && (!existing || elem.$inferred !== 'include');
1471
+ if (!add && existing?.$inferred === 'include' && elem.$inferred === 'include') {
1472
+ includeCollisions.push( {
1473
+ prop, name, existing, elem,
1474
+ } );
1475
+ }
1476
+ // don't dump with `entity T {}; extend T with { extend e {}; e {}; e {} };`:
1477
+ const { $duplicates } = elem;
1478
+ if ($duplicates === true && add)
1479
+ elem.$duplicates = null;
1480
+ if (add && elem.$inferred === 'include' && Array.isArray( $duplicates ))
1481
+ elem.$duplicates = null;
1482
+ if (shadowsIncludeMember) {
1483
+ parent[prop][name] = elem;
1484
+ setMemberParent( elem, name, parent );
1485
+ }
1486
+ else {
1487
+ setMemberParent( elem, name, parent, add && prop );
1488
+ if (!$duplicates) // not already reported
1489
+ checkRedefinition( elem );
1490
+ }
1491
+ initMembers( elem, elem, elem._block );
1492
+ if (elem.kind === 'action' || elem.kind === 'function')
1493
+ initBoundSelfParam( elem.params, elem._main );
1494
+
1495
+ // for a correct home path, setMemberParent needed to be called
1496
+
1497
+ if (parent[prop]?.[$inferred])
1498
+ setExpandStatus( parent, 'extend' );
1499
+
1500
+ if (!elem.value || elem.kind !== 'element')
1501
+ return;
1502
+ // remark: potential enum elements have already been turned into enums
1503
+ // -> it's a calculated element
1504
+ if (!elem.type && elem.value?.type) { // top-level CAST( expr AS type )
1505
+ if (!elem.target)
1506
+ elem.type = { ...elem.value.type, $inferred: 'cast' };
1507
+ }
1508
+ elem.$syntax = 'calc';
1509
+ // TODO: it is not just "syntax" - maybe better test for `$calcDepElement`?
1510
+ createAndLinkCalcDepElement( elem );
1511
+
1512
+ // Special case (hack) for calculated elements that use composition+filter:
1513
+ // See "Notes on `$enclosed`" in `ExposingAssocWithFilter.md` for details.
1514
+ if (elem.target && elem.value.path?.[elem.value.path.length - 1]?.where) {
1515
+ delete elem.type;
1516
+ delete elem.on;
1517
+ delete elem.target;
1518
+ }
1519
+ }
1520
+ }
1521
+
1522
+ // TODO: is only necessary for extensions - make special for extend/annotate
1523
+ function checkDefinitions( construct, parent, prop, dict = construct[prop] ) {
1524
+ // TODO: do differently, see also annotateMembers() in resolver
1525
+ // To have been checked by parsers:
1526
+ // - artifacts (CDL-only anyway) only inside [extend] context|service
1527
+ if (!dict)
1528
+ return false;
1529
+ const feature = kindProperties[parent.kind ?? 'element'][prop];
1530
+ if (feature &&
1531
+ (feature === true || construct.kind !== 'extend' || feature( prop, parent )))
1532
+ return true;
1533
+ const location = dict[$location];
1534
+
1535
+ // TODO: a bit inconsistent = not a simple switch on `prop`…
1536
+ if (prop === 'actions') {
1537
+ if (Object.keys( dict ).length) {
1538
+ error( 'def-unexpected-actions', [ location, construct ], {}, // TODO: ext-
1539
+ 'Actions and functions only exist top-level and for entities' ); // or aspects
1540
+ }
1541
+ else {
1542
+ warning( 'ext-ignoring-actions', [ location, construct ], {},
1543
+ 'Actions and functions only exist top-level and for entities' );
1544
+ return false;
1545
+ }
1546
+ }
1547
+ else if (parent.kind === 'action' || parent.kind === 'function') {
1548
+ error( 'ext-unexpected-action', [ construct.location, construct ], { '#': parent.kind }, {
1549
+ std: 'Actions and functions can\'t be extended, only annotated', // TODO: → ext-unsupported
1550
+ action: 'Actions can\'t be extended, only annotated',
1551
+ function: 'Functions can\'t be extended, only annotated',
1552
+ } );
1553
+ }
1554
+ else if (prop === 'params') {
1555
+ if (!feature) {
1556
+ // Note: This error can't be triggered at the moment. But as we likely want to
1557
+ // allow extensions with params in the future, we keep the code.
1558
+ error( 'def-unexpected-params', [ location, construct ], {},
1559
+ 'Parameters only exist for entities, actions or functions' );
1560
+ }
1561
+ else {
1562
+ // remark: we could allow this
1563
+ error( 'extend-with-params', [ location, construct ], {},
1564
+ 'Extending artifacts with parameters is not supported' );
1565
+ }
1566
+ }
1567
+ else if (feature) { // allowed in principle, but not with extend
1568
+ if (!Object.keys( dict ).length) {
1569
+ warning( 'ext-ignoring-elements', [ location, construct ], {},
1570
+ 'Only structures with directly specified elements can be extended by elements' );
1571
+ return false;
1572
+ }
1573
+ else if (parent.$inferred === 'include') { // special case for better error message
1574
+ const variant = (construct.enum || construct.elements) ? 'elements' : 'std';
1575
+ error( 'ref-expected-direct-structure', [ location, construct ],
1576
+ { '#': variant, art: parent } );
1577
+ }
1578
+ else if (prop !== 'enum' || !parent.enum ||
1579
+ !parent.type || parent.type.$inferred || (parent._main || parent).query) {
1580
+ error( 'extend-type', [ location, construct ], {},
1581
+ 'Only structures or enum types can be extended with elements/enums' );
1582
+ }
1583
+ else {
1584
+ return true;
1585
+ }
1586
+ }
1587
+ else if (prop === 'elements') {
1588
+ error( 'def-unexpected-elements', [ location, construct ], {},
1589
+ 'Elements only exist in entities, types or typed constructs' );
1590
+ }
1591
+ else if (prop === 'columns') {
1592
+ error( 'extend-columns', [ location, construct ], { art: construct } );
1593
+ }
1594
+ else { // if (prop === 'enum') {
1595
+ error( 'def-unexpected-enum', [ location, construct ], {},
1596
+ 'Enum symbols can only be defined for types or typed constructs' );
1597
+ }
1598
+ return construct === parent;
1599
+ }
1600
+
1601
+
1602
+ // includes ----------------------------------------------------------------
1603
+
1604
+ /**
1605
+ * Apply all includes of `ext` on `ext`. Checks that `art` allows includes.
1606
+ * If `ext === art`, then includes of the artifact itself are applied.
1607
+ * If `ext !== art`, applies includes on the extensions, not artifact.
1608
+
1609
+ * Sets `_ancestors` links on `art` if it is an entity, collecting the entity
1610
+ * includes with their ancestors.
1611
+ *
1612
+ * Examples:
1613
+ * ext === art: `entity E : F {}` => add elements of F to E
1614
+ * ext !== art: `extend E with F` => add elements of F to extension on E
1615
+ *
1616
+ * @param {XSN.Extension} ext
1617
+ * @param {XSN.Artifact} art
1618
+ */
1619
+ function setEntityIncludes( ext, art ) {
1620
+ setLink( art, '_entityIncludes', [] );
1621
+ for (const ref of ext.includes) {
1622
+ const name = resolveUncheckedPath( ref, 'include', ext );
1623
+ const template = name && model.definitions[name];
1624
+ if (template?.kind === 'entity')
1625
+ art._entityIncludes.push( template );
1626
+ }
1627
+ }
1628
+
1629
+ function applyIncludes( ext, art ) {
1630
+ if (kindProperties[art.kind].include !== true) {
1631
+ error( 'extend-unexpected-include', [ ext.includes[0]?.location, ext ],
1632
+ { meta: art.kind } );
1633
+ return;
1634
+ }
1635
+ // console.log( (ext===art?'D-INCL:':'E-INCL:'), art.kind, art.name.id,
1636
+ // ...ext.includes.map( r => r._artifact?.name.id ));
1637
+ if (!art.query && art.elements) // do not set art.elements and art.enums with query entity!
1638
+ includeMembers( ext, art, 'elements' );
1639
+
1640
+ if (art.kind !== 'type') {
1641
+ includeMembers( ext, art, 'actions' );
1642
+ }
1643
+ else {
1644
+ for (const ref of ext.includes) {
1645
+ const template = ref._artifact; // already resolved
1646
+ if (template?.actions && Object.keys( template.actions ).length) {
1647
+ warning( 'ref-ignoring-actions', [ ref.location, ext ], { art: template },
1648
+ 'The actions of $(ART) are not added to the type' );
1649
+ }
1650
+ }
1651
+ }
1652
+ }
1653
+
1654
+ /**
1655
+ * Add all members (e.g. elements or actions) of `ext.includes` to `ext[prop]`.
1656
+ * If `art` is `ext`, set the parent link accordingly.
1657
+ *
1658
+ * @param {XSN.Extension} ext
1659
+ * @param {XSN.Artifact} art
1660
+ * @param {string} prop 'elements' or 'actions'
1661
+ */
1662
+ function includeMembers( ext, art, prop ) {
1663
+ // TODO two kind of messages:
1664
+ // Error 'More than one include defines element "A"' (at include ref)
1665
+ // Warning 'Overwrites definition from include "I" (at elem def)
1666
+ const propagateKeys = art.kind !== 'type' || model.options.v6KeyPropagation;
1667
+ const parent = ext === art && art;
1668
+ const members = ext[prop];
1669
+ // if (members)console.log( 'EXT:', prop, art.kind, art.name.id, ...Object.keys(members));
1670
+ if (members) {
1671
+ ext[prop] = Object.create( null );
1672
+ ext[prop][$location] = members[$location];
1673
+ }
1674
+ let elementsAdded = 0;
1675
+ let hasNewElement = false;
1676
+ for (const ref of ext.includes) {
1677
+ // Elements of include are added after previously provided elements:
1678
+ if (prop === 'elements') {
1679
+ if (ref.$postponeInclude == null) {
1680
+ if (ref._artifact?.elements)
1681
+ ref.$postponeInclude = art.$postponeInclude || 0;
1682
+ }
1683
+ else if (ref.$postponeInclude > 0 && members) {
1684
+ let added = elementsAdded;
1685
+ let postpone = ref.$postponeInclude;
1686
+ elementsAdded += postpone;
1687
+ forEachInOrder( { [prop]: members }, prop, ( elem, name ) => {
1688
+ // The element could have been added in the previous loop (includes) to keep
1689
+ // the element order.
1690
+ if (--added < 0 && --postpone >= 0 && ext[prop][name] !== elem )
1691
+ dictAdd( ext[prop], name, elem );
1692
+ } );
1693
+ }
1694
+ if (ref.$postponeInclude != null) // not reset after bare aspect
1695
+ art.$postponeInclude = 0; // elements of next include directly after this one
1696
+ }
1697
+ const template = ref._artifact; // already resolved
1698
+ if (template) { // be robust
1699
+ if (template[prop] && !ext[prop])
1700
+ ext[prop] = Object.create( null );
1701
+ const location = weakRefLocation( ref );
1702
+
1703
+ // prevent recompilation issue when localized entity is included in aspect or
1704
+ // entity without keys (via shadowing):
1705
+ const checkForLocalized = prop === 'elements' &&
1706
+ template.kind === 'entity' && !template.query &&
1707
+ withLocalizedData( template, ext );
1708
+
1709
+ // eslint-disable-next-line no-loop-func
1710
+ forEachInOrder( template, prop, ( origin, name ) => {
1711
+ if (checkForLocalized && (name === 'texts' || name === 'localized'))
1712
+ return;
1713
+ if (members && members[name]) {
1714
+ if (!ext[prop][name])
1715
+ dictAdd( ext[prop], name, members[name] ); // to keep order
1716
+ return;
1717
+ }
1718
+ hasNewElement = true;
1719
+ const elem = linkToOrigin( origin, name, parent, prop, location );
1720
+ setLink( elem, '_block', origin._block );
1721
+ if (!parent) // not yet set for EXTEND foo WITH bar => linkToOrigin() did not add it
1722
+ dictAdd( ext[prop], name, elem );
1723
+ elem.$inferred = 'include';
1724
+ if (origin.key && propagateKeys)
1725
+ elem.key = Object.assign( { $inferred: 'include' }, origin.key );
1726
+ if (origin.value && origin.$syntax === 'calc') {
1727
+ // TODO: If paths become invalid in the new artifact, should we mark
1728
+ // all usages in the expressions? Possibly just the first one?
1729
+ // TODO: Unify with other code in extend.js
1730
+ elem.value = Object.assign( { $inferred: 'include' },
1731
+ copyExpr( origin.value, location, true ) );
1732
+ elem.$syntax = 'calc';
1733
+ createAndLinkCalcDepElement( elem );
1734
+ setLink( elem, '_calcOrigin', origin._calcOrigin || origin );
1735
+ }
1736
+ // TODO: also complain if elem is just defined in art
1737
+ } );
1738
+ }
1739
+ }
1740
+ if (!hasNewElement && members) {
1741
+ ext[prop] = members;
1742
+ if (prop === 'elements')
1743
+ art.$postponeInclude += addedElements( ext );
1744
+ }
1745
+ else if (members) {
1746
+ let added = elementsAdded;
1747
+ // TODO: expand elements having direct elements (if needed)
1748
+ forEachInOrder( { [prop]: members }, prop, ( elem, name ) => {
1749
+ // The element could have been added in the previous loop (includes) to keep
1750
+ // the element order.
1751
+ if (--added < 0 && ext[prop][name] !== elem ) {
1752
+ dictAdd( ext[prop], name, elem );
1753
+ if (prop === 'elements' && elem.kind !== 'extend')
1754
+ ++art.$postponeInclude;
1755
+ }
1756
+ } );
1757
+ }
1758
+ }
1759
+
1760
+ /**
1761
+ * Return true if include (with `name` and `elements`) in `ext` highly likely
1762
+ * contain elements `texts` and `localized` which are compiler-generated for
1763
+ * localized data. Due to recompilation, we cannot just check the `$inferred`
1764
+ * property in the XSN, but need to apply an heuristics.
1765
+ * (We could still use $inferred as speed-up if run without `testMode`.)
1766
+ *
1767
+ * It is as follows: the elements `texts` and `localized` in entity `‹E›` and
1768
+ * the entity `‹E›.texts` are considered compiler-generated for Localized Data if
1769
+ *
1770
+ * - `‹E›.texts` has a key element `locale`
1771
+ * (TODO: currently weakend to “entity exists”)
1772
+ * - `texts` of `‹E›` is an unmanaged composition to `‹E›.texts`
1773
+ * - `localized` of `‹E›` is an unmanaged association to `‹E›.texts`
1774
+ */
1775
+ function withLocalizedData( { name, elements }, ext ) {
1776
+ const textsEntityName = `${ name.id }.texts`;
1777
+ // if we test (again) for element `locale` - it might come from an extend or
1778
+ // TextsAspect include, which might not have yet applied
1779
+ if (!model.definitions[textsEntityName])
1780
+ return false;
1781
+ const { texts, localized } = elements ?? {};
1782
+ return texts?.target && localized?.target && texts.on && localized.on &&
1783
+ resolveUncheckedPath( texts.target, 'target', ext ) === textsEntityName &&
1784
+ resolveUncheckedPath( localized.target, 'target', ext ) === textsEntityName &&
1785
+ resolveUncheckedPath( texts.type, 'type', ext ) === 'cds.Composition' &&
1786
+ resolveUncheckedPath( localized.type, 'type', ext ) === 'cds.Association';
1787
+ }
1788
+
1789
+ /**
1790
+ * Report duplicates in parent[prop] that happen due to multiple includes having the
1791
+ * same member. Run after includes and extends so shadowing members have already
1792
+ * replaced any include-derived survivors in-place.
1793
+ */
1794
+ function checkRedefinitionThroughIncludes( parent, prop ) {
1795
+ if (!parent[prop])
1796
+ return;
1797
+ forEachInOrder( parent, prop, ( member, name ) => {
1798
+ if (member.$inferred === 'include' && Array.isArray( member.$duplicates )) {
1799
+ const includes = [ member, ...member.$duplicates ].map( dup => dup._origin._main );
1800
+ error( 'duplicate-definition', [ parent.name.location, member ],
1801
+ { '#': `include-${ prop }`, name, sorted_arts: includes } );
1802
+ }
1803
+ } );
1804
+ }
1805
+ }
1806
+
1807
+ /**
1808
+ * Group extensions by their layers. A definition (for specified elements)
1809
+ * is considered to be provided in a layer named '', the lowest layer.
1810
+ *
1811
+ * @param {object[]} extensions Array of extensions.
1812
+ * @returns {Record<string, object>} key: layer name, value: {name, layer, extensions[]}`
1813
+ */
1814
+ function layeredExtensions( extensions ) {
1815
+ const layered = Object.create( null );
1816
+ for (const ext of extensions) {
1817
+ const layer = (ext.kind === 'annotate' || ext.kind === 'extend' || ext.kind === 'source') &&
1818
+ layers.layer( ext );
1819
+ // just consider layer if Extend/Annotate, not Define
1820
+ const name = (layer) ? layer.realname : '';
1821
+ const done = layered[name];
1822
+ if (done)
1823
+ done.extensions.push( ext );
1824
+ else
1825
+ layered[name] = { name, layer, extensions: [ ext ] };
1826
+ }
1827
+ return layered;
1828
+ }
1829
+
1830
+ /**
1831
+ * Return extensions of the highest layers.
1832
+ * Also returns whether there could be an issue:
1833
+ * - false: there are just extensions in one file,
1834
+ * - 'unrelated': there is just one extension per layer
1835
+ * - true: there is at least one layer with two or more extensions, and
1836
+ * at least two files are involved
1837
+ *
1838
+ * @param {Record<string, object>} layered Structure as returned by layeredExtensions()
1839
+ * @returns {{highest, issue: boolean|string}}
1840
+ */
1841
+ function extensionsOfHighestLayers( layered ) {
1842
+ const layerNames = Object.keys( layered );
1843
+ // console.log('HIB:',layerNames)
1844
+ if (layerNames.length <= 1) {
1845
+ const name = layerNames[0];
1846
+ const highest = layered[name]?.extensions || [];
1847
+ highest.sort( compareExtensions );
1848
+ delete layered[name];
1849
+ return { highest, issue: inMoreThanOneFile( highest ) };
1850
+ }
1851
+
1852
+ // collect all layers which are lower than another layer
1853
+ const allExtends = Object.create( null );
1854
+ allExtends[''] = {}; // the "Define" layer
1855
+ for (const name of layerNames) {
1856
+ if (name) // not the "Define" layer
1857
+ Object.assign( allExtends, layered[name].layer._layerExtends );
1858
+ }
1859
+ // console.log('HIE:',Object.keys(allExtends))
1860
+ const highest = []; // extensions
1861
+ const highestLayers = [];
1862
+ for (const name of layerNames) {
1863
+ if (!(name in allExtends)) {
1864
+ const layer = layered[name];
1865
+ delete layered[name];
1866
+ highestLayers.push( layer );
1867
+ highest.push( ...layer.extensions );
1868
+ }
1869
+ }
1870
+ highest.sort( compareExtensions );
1871
+ const good = highestLayers.every( layer => !inMoreThanOneFile( layer.extensions ) );
1872
+ // TODO: use layer.file instead
1873
+ const issue = !good || highestLayers.length > 1 && 'unrelated';
1874
+ // console.log('HI:',highest.map(l=>l.name),issue,issue&&extensions)
1875
+ return { highest, issue };
1876
+ }
1877
+
1878
+ function inMoreThanOneFile( extensions ) {
1879
+ if (extensions.length <= 1)
1880
+ return false;
1881
+ const file = extensions[0].location?.file;
1882
+ return !file || extensions.some( e => e.location?.file !== file );
1883
+ }
1884
+
1885
+ /**
1886
+ * Compare two extensions which are not comparable via layering:
1887
+ * - via the fs.realpath of the file (not layer!) of the extensions, then
1888
+ * - via the line, then column of the extensions.
1889
+ * Returns <0 if `a`<`b`, >1 if `a`>`b`, i.e. can be used for ascending sort.
1890
+ */
1891
+ function compareExtensions( a, b ) {
1892
+ const fileA = layers.realname( a );
1893
+ const fileB = layers.realname( b );
1894
+ if (fileA !== fileB)
1895
+ return (fileA > fileB) ? 1 : -1;
1896
+ return (a?.location?.line || 0) - (b?.location?.line || 0) ||
1897
+ (a?.location?.col || 0) - (b?.location?.col || 0);
1898
+ }
1899
+
1900
+
1901
+ /**
1902
+ * Propagate the given `prop` (e.g. annotation) early, i.e. copy it from all `.includes`
1903
+ * if they have the property.
1904
+ *
1905
+ * @param {XSN.Definition} art
1906
+ * @param {string} prop
1907
+ */
1908
+ function propagateEarly( art, prop ) {
1909
+ if (art[prop])
1910
+ return;
1911
+ for (const ref of art.includes) {
1912
+ const aspect = ref._artifact;
1913
+ if (aspect) {
1914
+ const anno = aspect[prop];
1915
+ if (anno && (anno.val !== null || !art[prop]))
1916
+ art[prop] = Object.assign( { $inferred: 'include' }, anno );
1917
+ }
1918
+ }
1919
+ }
1920
+
1921
+ function pushTo$add( extensions, ext ) {
1922
+ if (!extensions.$add)
1923
+ extensions.$add = [ ext ];
1924
+ else if (extensions.$add.at( -1 ) !== ext)
1925
+ extensions.$add.push( ext );
1926
+ }
1927
+
1928
+ module.exports = extend;