@sap/cds-dk 10.1.2 → 10.2.1

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 (898) hide show
  1. package/CHANGELOG.md +54 -0
  2. package/bin/add.js +7 -2
  3. package/bin/bind.js +5 -6
  4. package/bin/bindings.js +35 -0
  5. package/bin/build.js +11 -6
  6. package/bin/compile/index.js +1 -0
  7. package/bin/completion/index.js +10 -448
  8. package/bin/completion/scripts/cds.fish +28 -19
  9. package/bin/completion/scripts/cds.ps1 +30 -29
  10. package/bin/completion/scripts/cds.sh +26 -23
  11. package/bin/completion/scripts/cds.zsh +26 -23
  12. package/bin/debug.js +3 -3
  13. package/bin/deploy/index.js +3 -3
  14. package/bin/deploy/to-hana/hana.js +6 -5
  15. package/bin/deploy/to-hana/hdiDeployUtil.js +25 -14
  16. package/bin/env.js +0 -1
  17. package/bin/eval.js +9 -5
  18. package/bin/export.js +6 -4
  19. package/bin/help/export.md +28 -4
  20. package/bin/import.js +6 -5
  21. package/bin/inspect.js +0 -1
  22. package/bin/login.js +28 -3
  23. package/bin/repl.js +82 -26
  24. package/bin/run.js +6 -7
  25. package/bin/serve.js +6 -7
  26. package/bin/up.js +10 -5
  27. package/bin/upgrade/steps/install.js +6 -6
  28. package/bin/version.js +1 -1
  29. package/bin/watch/index.js +1 -0
  30. package/bin/watch/vite-watch.js +12 -6
  31. package/lib/bind/shared.js +1 -1
  32. package/lib/build/index.js +11 -7
  33. package/lib/build/plugins/featureToggles.js +2 -2
  34. package/lib/build/plugins/hana/index.js +1 -1
  35. package/lib/build/plugins/helm/files/subcharts/web-application/Chart.yaml +1 -1
  36. package/lib/build/plugins/helm/files/subcharts/web-application/templates/_helpers.tpl +7 -0
  37. package/lib/build/plugins/helm/files/subcharts/web-application/templates/api-rule.yaml +1 -0
  38. package/lib/build/plugins/helm/files/subcharts/web-application/templates/service-binding.yaml +4 -4
  39. package/lib/build/plugins/helm/files/subcharts/web-application/values.schema.json +13 -0
  40. package/lib/build/plugins/helm/files/subcharts/web-application/values.yaml +7 -1
  41. package/lib/build/plugins/java/index.js +5 -1
  42. package/lib/build/plugins/nodejs/index.js +5 -1
  43. package/lib/build/util.js +4 -5
  44. package/lib/env/schemas/cds-rc.js +5 -0
  45. package/lib/import/importapi.js +2 -3
  46. package/lib/init/constants.js +1 -1
  47. package/lib/init/index.js +9 -3
  48. package/lib/init/plugin.js +1 -1
  49. package/lib/init/projectReader.js +16 -12
  50. package/lib/init/registries/mta.js +0 -6
  51. package/lib/init/template/ai/index.js +4 -4
  52. package/lib/init/template/ams/files/extensionDeveloper.dcl +6 -0
  53. package/lib/init/template/ams/files/mta.yaml.hbs +6 -0
  54. package/lib/init/template/ams/files/sidecar.package.json.hbs +5 -0
  55. package/lib/init/template/ams/index.js +42 -40
  56. package/lib/init/template/app-frontend/files/mta.yaml.hbs +2 -0
  57. package/lib/init/template/app-frontend/files/ui5.yaml.hbs +0 -4
  58. package/lib/init/template/app-frontend/index.js +29 -24
  59. package/lib/init/template/application-logging/index.js +6 -6
  60. package/lib/init/template/approuter/files/values.yaml.hbs +0 -9
  61. package/lib/init/template/approuter/index.js +19 -13
  62. package/lib/init/template/attachments/index.js +3 -3
  63. package/lib/init/template/audit-logging/index.js +4 -4
  64. package/lib/init/template/cloud-logging/index.js +12 -6
  65. package/lib/init/template/completion/completionSetup.js +19 -6
  66. package/lib/init/template/connectivity/index.js +3 -3
  67. package/lib/init/template/data/as-csv.js +7 -4
  68. package/lib/init/template/data/as-json.js +77 -20
  69. package/lib/init/template/destination/index.js +12 -9
  70. package/lib/init/template/dynatrace/index.js +5 -5
  71. package/lib/init/template/enterprise-messaging/index.js +6 -6
  72. package/lib/init/template/enterprise-messaging-shared/index.js +4 -4
  73. package/lib/init/template/extensibility/index.js +2 -2
  74. package/lib/init/template/extension/index.js +26 -0
  75. package/lib/init/template/github-actions/index.js +3 -3
  76. package/lib/init/template/hana/files/package.json.hbs +3 -2
  77. package/lib/init/template/hana/index.js +5 -5
  78. package/lib/init/template/hana-serverless/index.js +3 -3
  79. package/lib/init/template/html5-repo/files/mta.yaml.hbs +2 -0
  80. package/lib/init/template/html5-repo/files/ui5.yaml.hbs +0 -4
  81. package/lib/init/template/html5-repo/index.js +80 -40
  82. package/lib/init/template/http/index.js +1 -1
  83. package/lib/init/template/ias/index.js +7 -7
  84. package/lib/init/template/initial/files/.gitignore.hbs +1 -0
  85. package/lib/init/template/kafka/index.js +3 -3
  86. package/lib/init/template/kyma/index.js +7 -9
  87. package/lib/init/template/malware-scanner/index.js +3 -3
  88. package/lib/init/template/mta/index.js +6 -3
  89. package/lib/init/template/multitenancy/index.js +6 -7
  90. package/lib/init/template/notifications/index.js +2 -2
  91. package/lib/init/template/portal/index.js +16 -10
  92. package/lib/init/template/postgres/index.js +5 -5
  93. package/lib/init/template/react/files/index.html.hbs +1 -1
  94. package/lib/init/template/react/files/package.json.hbs +3 -2
  95. package/lib/init/template/react/files/src/{App.jsx.hbs → App.{{jsxExtension}}.hbs} +8 -2
  96. package/lib/init/template/react/files/src/{main.jsx → main.{{jsxExtension}}.hbs} +2 -2
  97. package/lib/init/template/react/files/{vite.config.js.hbs → vite.config.{{extension}}.hbs} +2 -3
  98. package/lib/init/template/react/index.js +22 -5
  99. package/lib/init/template/react/typescript/src/vite-env.d.ts +1 -0
  100. package/lib/init/template/react/typescript/tsconfig.json.hbs +16 -0
  101. package/lib/init/template/redis/index.js +2 -2
  102. package/lib/init/template/sample/files/app/index.html.hbs +18 -0
  103. package/lib/init/template/sample/index.js +1 -0
  104. package/lib/init/template/side-by-side-extensibility/index.js +6 -3
  105. package/lib/init/template/typescript/files/tsconfig.json +3 -1
  106. package/lib/init/template/vue/files/index.html.hbs +1 -1
  107. package/lib/init/template/vue/files/package.json.hbs +2 -1
  108. package/lib/init/template/vue/files/src/App.vue.hbs +8 -2
  109. package/lib/init/template/vue/files/{vite.config.js.hbs → vite.config.{{extension}}.hbs} +2 -3
  110. package/lib/init/template/vue/index.js +19 -5
  111. package/lib/init/template/vue/typescript/tsconfig.json +11 -0
  112. package/lib/init/template/workzone-standard/files/mta.yaml.hbs +2 -2
  113. package/lib/init/template/workzone-standard/index.js +29 -27
  114. package/lib/init/template/xsuaa/files/mta.yaml.hbs +1 -1
  115. package/lib/init/template/xsuaa/files/values.yaml.hbs +1 -1
  116. package/lib/init/template/xsuaa/index.js +34 -22
  117. package/lib/mtx/auth_manager.js +8 -2
  118. package/lib/mtx/browser_login.js +181 -0
  119. package/lib/mtx/params.js +6 -0
  120. package/lib/mtx/push.js +7 -1
  121. package/lib/mtx/settings_manager.js +29 -4
  122. package/lib/util/cf.js +44 -8
  123. package/lib/util/fs.js +2 -2
  124. package/node_modules/@cap-js/asyncapi/README.md +4 -14
  125. package/node_modules/@cap-js/asyncapi/cds-plugin.js +12 -0
  126. package/node_modules/@cap-js/asyncapi/index.js +3 -2
  127. package/node_modules/@cap-js/asyncapi/lib/compile/components/messages/index.js +4 -2
  128. package/node_modules/@cap-js/asyncapi/lib/compile/components/schemas/definition.js +11 -1
  129. package/node_modules/@cap-js/asyncapi/lib/compile/components/schemas/utils.js +16 -0
  130. package/node_modules/@cap-js/asyncapi/lib/compile/utils.js +4 -3
  131. package/node_modules/@cap-js/asyncapi/lib/import/importAsyncAPI.js +34 -0
  132. package/node_modules/@cap-js/asyncapi/lib/import/index.js +18 -0
  133. package/node_modules/@cap-js/asyncapi/lib/import/message.js +9 -0
  134. package/node_modules/@cap-js/asyncapi/lib/import/parserContext.js +368 -0
  135. package/node_modules/@cap-js/asyncapi/lib/import/utils.js +85 -0
  136. package/node_modules/@cap-js/asyncapi/package.json +89 -1
  137. package/node_modules/@cap-js/db-service/CHANGELOG.md +10 -0
  138. package/node_modules/@cap-js/db-service/lib/cqn2pql.js +4 -0
  139. package/node_modules/@cap-js/db-service/lib/cqn2sql.js +3 -0
  140. package/node_modules/@cap-js/db-service/lib/cqn4sql.js +8 -23
  141. package/node_modules/@cap-js/db-service/lib/infer/index.js +20 -27
  142. package/node_modules/@cap-js/db-service/package.json +1 -1
  143. package/node_modules/@cap-js/openapi/cds-plugin.js +12 -0
  144. package/node_modules/@cap-js/openapi/index.js +3 -1
  145. package/node_modules/@cap-js/openapi/lib/compile/csdl2openapi.js +652 -413
  146. package/node_modules/@cap-js/openapi/lib/compile/diagram.js +16 -13
  147. package/node_modules/@cap-js/openapi/lib/compile/index.js +10 -7
  148. package/node_modules/@cap-js/openapi/lib/compile/property-util.js +51 -0
  149. package/{lib/import/openapi → node_modules/@cap-js/openapi/lib/import}/importOpenAPI.js +12 -9
  150. package/{lib/import/openapi → node_modules/@cap-js/openapi/lib/import}/index.js +4 -3
  151. package/node_modules/@cap-js/openapi/package.json +71 -3
  152. package/node_modules/@cap-js/sqlite/CHANGELOG.md +9 -0
  153. package/node_modules/@cap-js/sqlite/package.json +3 -3
  154. package/node_modules/@isaacs/fs-minipass/LICENSE +15 -0
  155. package/node_modules/@isaacs/fs-minipass/README.md +71 -0
  156. package/node_modules/@isaacs/fs-minipass/dist/commonjs/index.d.ts +118 -0
  157. package/node_modules/@isaacs/fs-minipass/dist/commonjs/index.d.ts.map +1 -0
  158. package/node_modules/@isaacs/fs-minipass/dist/commonjs/index.js +430 -0
  159. package/node_modules/@isaacs/fs-minipass/dist/commonjs/index.js.map +1 -0
  160. package/node_modules/@isaacs/fs-minipass/dist/commonjs/package.json +3 -0
  161. package/node_modules/@isaacs/fs-minipass/dist/esm/index.d.ts +118 -0
  162. package/node_modules/@isaacs/fs-minipass/dist/esm/index.d.ts.map +1 -0
  163. package/node_modules/@isaacs/fs-minipass/dist/esm/index.js +420 -0
  164. package/node_modules/@isaacs/fs-minipass/dist/esm/index.js.map +1 -0
  165. package/node_modules/@isaacs/fs-minipass/dist/esm/package.json +3 -0
  166. package/node_modules/@isaacs/fs-minipass/package.json +72 -0
  167. package/node_modules/@sap/cds/CHANGELOG.md +62 -1
  168. package/node_modules/@sap/cds/_i18n/messages_ar.properties +1 -0
  169. package/node_modules/@sap/cds/_i18n/messages_bg.properties +1 -0
  170. package/node_modules/@sap/cds/_i18n/messages_cs.properties +1 -0
  171. package/node_modules/@sap/cds/_i18n/messages_da.properties +1 -0
  172. package/node_modules/@sap/cds/_i18n/messages_de.properties +1 -0
  173. package/node_modules/@sap/cds/_i18n/messages_el.properties +1 -0
  174. package/node_modules/@sap/cds/_i18n/messages_en.properties +1 -0
  175. package/node_modules/@sap/cds/_i18n/messages_es.properties +1 -0
  176. package/node_modules/@sap/cds/_i18n/messages_es_MX.properties +1 -0
  177. package/node_modules/@sap/cds/_i18n/messages_fi.properties +1 -0
  178. package/node_modules/@sap/cds/_i18n/messages_fr.properties +1 -0
  179. package/node_modules/@sap/cds/_i18n/messages_he.properties +1 -0
  180. package/node_modules/@sap/cds/_i18n/messages_hr.properties +1 -0
  181. package/node_modules/@sap/cds/_i18n/messages_hu.properties +1 -0
  182. package/node_modules/@sap/cds/_i18n/messages_it.properties +1 -0
  183. package/node_modules/@sap/cds/_i18n/messages_ja.properties +1 -0
  184. package/node_modules/@sap/cds/_i18n/messages_kk.properties +1 -0
  185. package/node_modules/@sap/cds/_i18n/messages_ko.properties +1 -0
  186. package/node_modules/@sap/cds/_i18n/messages_ms.properties +1 -0
  187. package/node_modules/@sap/cds/_i18n/messages_nl.properties +1 -0
  188. package/node_modules/@sap/cds/_i18n/messages_no.properties +1 -0
  189. package/node_modules/@sap/cds/_i18n/messages_pl.properties +1 -0
  190. package/node_modules/@sap/cds/_i18n/messages_pt.properties +1 -0
  191. package/node_modules/@sap/cds/_i18n/messages_ro.properties +1 -0
  192. package/node_modules/@sap/cds/_i18n/messages_ru.properties +1 -0
  193. package/node_modules/@sap/cds/_i18n/messages_sh.properties +1 -0
  194. package/node_modules/@sap/cds/_i18n/messages_sk.properties +1 -0
  195. package/node_modules/@sap/cds/_i18n/messages_sl.properties +1 -0
  196. package/node_modules/@sap/cds/_i18n/messages_sv.properties +1 -0
  197. package/node_modules/@sap/cds/_i18n/messages_th.properties +1 -0
  198. package/node_modules/@sap/cds/_i18n/messages_tr.properties +1 -0
  199. package/node_modules/@sap/cds/_i18n/messages_uk.properties +1 -0
  200. package/node_modules/@sap/cds/_i18n/messages_vi.properties +1 -0
  201. package/node_modules/@sap/cds/_i18n/messages_zh_CN.properties +1 -0
  202. package/node_modules/@sap/cds/_i18n/messages_zh_TW.properties +1 -0
  203. package/node_modules/@sap/cds/app/index-client.js +164 -0
  204. package/node_modules/@sap/cds/app/index.css +598 -87
  205. package/node_modules/@sap/cds/app/index.html +54 -30
  206. package/node_modules/@sap/cds/app/index.js +311 -67
  207. package/node_modules/@sap/cds/app/table.html +226 -0
  208. package/node_modules/@sap/cds/app/table.js +302 -0
  209. package/node_modules/@sap/cds/bin/serve.js +3 -2
  210. package/node_modules/@sap/cds/eslint.config.mjs +2 -0
  211. package/node_modules/@sap/cds/lib/compile/cdsc.js +7 -0
  212. package/node_modules/@sap/cds/lib/compile/for/embeddings.js +27 -0
  213. package/node_modules/@sap/cds/lib/compile/load.js +2 -2
  214. package/node_modules/@sap/cds/lib/compile/minify.js +17 -4
  215. package/node_modules/@sap/cds/lib/compile/parse.js +3 -0
  216. package/node_modules/@sap/cds/lib/compile/resolve.js +16 -14
  217. package/node_modules/@sap/cds/lib/core/classes.js +1 -0
  218. package/node_modules/@sap/cds/lib/dbs/cds-deploy.js +4 -5
  219. package/node_modules/@sap/cds/lib/env/cds-env.js +132 -70
  220. package/node_modules/@sap/cds/lib/env/cds-requires/auth-strategies.js +62 -0
  221. package/node_modules/@sap/cds/lib/env/cds-requires/databases.js +49 -0
  222. package/node_modules/@sap/cds/lib/env/cds-requires/embeddings.js +8 -0
  223. package/node_modules/@sap/cds/lib/env/cds-requires/index.js +27 -0
  224. package/node_modules/@sap/cds/lib/env/cds-requires/messaging.js +82 -0
  225. package/node_modules/@sap/cds/lib/env/cds-requires/platform.js +23 -0
  226. package/node_modules/@sap/cds/lib/env/cds-requires/queues.js +34 -0
  227. package/node_modules/@sap/cds/lib/env/cds-requires/services.js +32 -0
  228. package/node_modules/@sap/cds/lib/env/defaults.js +9 -1
  229. package/node_modules/@sap/cds/lib/env/schemas/cds-package.js +0 -2
  230. package/node_modules/@sap/cds/lib/env/schemas/cds-rc.js +3 -3
  231. package/node_modules/@sap/cds/lib/env/schemas/index.js +4 -4
  232. package/node_modules/@sap/cds/lib/i18n/files.js +4 -4
  233. package/node_modules/@sap/cds/lib/i18n/locale.js +1 -1
  234. package/node_modules/@sap/cds/lib/index.js +9 -9
  235. package/node_modules/@sap/cds/lib/log/cds-log.js +3 -3
  236. package/node_modules/@sap/cds/lib/ql/SELECT.js +2 -0
  237. package/node_modules/@sap/cds/lib/ql/UPDATE.js +1 -1
  238. package/node_modules/@sap/cds/lib/ql/cds.ql-Query.js +4 -1
  239. package/node_modules/@sap/cds/lib/ql/core/@types/cqn.d.ts +146 -0
  240. package/node_modules/@sap/cds/lib/ql/core/@types/exprs.d.ts +51 -0
  241. package/node_modules/@sap/cds/lib/ql/core/@types/index.d.ts +29 -0
  242. package/node_modules/@sap/cds/lib/ql/core/@types/package.json +7 -0
  243. package/node_modules/@sap/cds/lib/ql/core/@types/ql/delete.d.ts +8 -0
  244. package/node_modules/@sap/cds/lib/ql/core/@types/ql/insert.d.ts +19 -0
  245. package/node_modules/@sap/cds/lib/ql/core/@types/ql/select.d.ts +24 -0
  246. package/node_modules/@sap/cds/lib/ql/core/@types/ql/update.d.ts +10 -0
  247. package/node_modules/@sap/cds/lib/ql/core/@types/query.d.ts +18 -0
  248. package/node_modules/@sap/cds/lib/ql/core/cql/parser.min.js +1 -0
  249. package/node_modules/@sap/cds/lib/ql/core/lib/index.js +69 -0
  250. package/node_modules/@sap/cds/lib/ql/core/lib/ql/cache.js +34 -0
  251. package/node_modules/@sap/cds/lib/ql/core/lib/ql/call-action.js +6 -0
  252. package/node_modules/@sap/cds/lib/ql/core/lib/ql/delete.js +8 -0
  253. package/node_modules/@sap/cds/lib/ql/core/lib/ql/insert.js +26 -0
  254. package/node_modules/@sap/cds/lib/ql/core/lib/ql/select.js +22 -0
  255. package/node_modules/@sap/cds/lib/ql/core/lib/ql/update.js +26 -0
  256. package/node_modules/@sap/cds/lib/ql/core/lib/query.js +85 -0
  257. package/node_modules/@sap/cds/lib/ql/core/lib/xl/fluent.js +47 -0
  258. package/node_modules/@sap/cds/lib/ql/core/lib/xl/ttl.js +24 -0
  259. package/node_modules/@sap/cds/lib/ql/core/license +201 -0
  260. package/node_modules/@sap/cds/lib/ql/core/package.json +24 -0
  261. package/node_modules/@sap/cds/lib/ql/core/readme.md +99 -0
  262. package/node_modules/@sap/cds/lib/ql/core/upstream.json +5 -0
  263. package/node_modules/@sap/cds/lib/req/spawn.js +1 -1
  264. package/node_modules/@sap/cds/lib/srv/bindings.js +111 -115
  265. package/node_modules/@sap/cds/lib/srv/cds-connect.js +11 -10
  266. package/node_modules/@sap/cds/lib/srv/cds-serve.js +16 -7
  267. package/node_modules/@sap/cds/lib/srv/cds.Service.js +13 -7
  268. package/node_modules/@sap/cds/lib/srv/factory.js +8 -10
  269. package/node_modules/@sap/cds/lib/srv/middlewares/auth/ias-auth.js +35 -32
  270. package/node_modules/@sap/cds/lib/srv/middlewares/auth/jwt-auth.js +5 -1
  271. package/node_modules/@sap/cds/lib/srv/middlewares/auth/mocked-users.js +1 -1
  272. package/node_modules/@sap/cds/lib/srv/protocols/hcql.js +230 -79
  273. package/node_modules/@sap/cds/lib/srv/protocols/http.js +7 -3
  274. package/node_modules/@sap/cds/lib/srv/protocols/index.js +7 -2
  275. package/node_modules/@sap/cds/lib/srv/srv-dispatch.js +2 -2
  276. package/node_modules/@sap/cds/lib/utils/cds-utils.js +50 -0
  277. package/node_modules/@sap/cds/lib/utils/csv-reader.js +2 -2
  278. package/node_modules/@sap/cds/libx/_runtime/common/generic/assert.js +18 -27
  279. package/node_modules/@sap/cds/libx/_runtime/common/generic/crud.js +1 -1
  280. package/node_modules/@sap/cds/libx/_runtime/common/utils/rewriteAsterisks.js +1 -1
  281. package/node_modules/@sap/cds/libx/_runtime/fiori/lean-draft.js +121 -84
  282. package/node_modules/@sap/cds/libx/_runtime/messaging/common-utils/authorizedRequest.js +24 -1
  283. package/node_modules/@sap/cds/libx/_runtime/messaging/common-utils/connections.js +45 -39
  284. package/node_modules/@sap/cds/libx/_runtime/remote/Service.js +2 -2
  285. package/node_modules/@sap/cds/libx/_runtime/remote/utils/client.js +3 -2
  286. package/node_modules/@sap/cds/libx/_runtime/remote/utils/query.js +11 -6
  287. package/node_modules/@sap/cds/libx/odata/ODataAdapter.js +1 -1
  288. package/node_modules/@sap/cds/libx/odata/middleware/create.js +4 -0
  289. package/node_modules/@sap/cds/libx/odata/middleware/metadata.js +1 -1
  290. package/node_modules/@sap/cds/libx/odata/middleware/operation.js +3 -0
  291. package/node_modules/@sap/cds/libx/odata/middleware/parse.js +9 -0
  292. package/node_modules/@sap/cds/libx/odata/middleware/read.js +6 -0
  293. package/node_modules/@sap/cds/libx/odata/middleware/update.js +5 -1
  294. package/node_modules/@sap/cds/libx/odata/parse/afterburner.js +3 -3
  295. package/node_modules/@sap/cds/libx/odata/parse/multipartToJson.js +1 -1
  296. package/node_modules/@sap/cds/libx/odata/utils/ieee754.js +20 -0
  297. package/node_modules/@sap/cds/libx/queue/TaskRunner.js +22 -5
  298. package/node_modules/@sap/cds/libx/queue/api.js +1 -1
  299. package/node_modules/@sap/cds/libx/queue/index.js +3 -1
  300. package/node_modules/@sap/cds/libx/queue/processing.js +5 -0
  301. package/node_modules/@sap/cds/libx/rest/RestAdapter.js +1 -0
  302. package/node_modules/@sap/cds/package.json +2 -2
  303. package/node_modules/@sap/cds/server.js +1 -0
  304. package/node_modules/@sap/cds/srv/ucl-service.cds +1 -0
  305. package/node_modules/@sap/cds-compiler/CHANGELOG.md +83 -0
  306. package/node_modules/@sap/cds-compiler/bin/cdsse.js +1 -1
  307. package/node_modules/@sap/cds-compiler/doc/EffectiveCSN.md +3314 -0
  308. package/node_modules/@sap/cds-compiler/lib/api/main.js +9 -6
  309. package/node_modules/@sap/cds-compiler/lib/api/options.js +3 -3
  310. package/node_modules/@sap/cds-compiler/lib/{model → base}/csnUtils.js +5 -5
  311. package/node_modules/@sap/cds-compiler/lib/base/message-registry.js +54 -6
  312. package/node_modules/@sap/cds-compiler/lib/base/optionProcessor.js +4 -4
  313. package/node_modules/@sap/cds-compiler/lib/{model → base}/sortViews.js +1 -1
  314. package/node_modules/@sap/cds-compiler/lib/checks/assocOutsideService.js +1 -1
  315. package/node_modules/@sap/cds-compiler/lib/checks/checkForTypes.js +1 -1
  316. package/node_modules/@sap/cds-compiler/lib/checks/checkPathsInStoredCalcElement.js +1 -1
  317. package/node_modules/@sap/cds-compiler/lib/checks/elements.js +37 -3
  318. package/node_modules/@sap/cds-compiler/lib/checks/enricher.js +1 -1
  319. package/node_modules/@sap/cds-compiler/lib/checks/existsInForbiddenPlaces.js +1 -1
  320. package/node_modules/@sap/cds-compiler/lib/checks/hasPersistedElements.js +1 -1
  321. package/node_modules/@sap/cds-compiler/lib/checks/manyExpand.js +1 -1
  322. package/node_modules/@sap/cds-compiler/lib/checks/manyNavigations.js +1 -1
  323. package/node_modules/@sap/cds-compiler/lib/checks/onConditions.js +1 -1
  324. package/node_modules/@sap/cds-compiler/lib/checks/parameters.js +1 -1
  325. package/node_modules/@sap/cds-compiler/lib/checks/queryNoDbArtifacts.js +1 -1
  326. package/node_modules/@sap/cds-compiler/lib/checks/selectItems.js +1 -1
  327. package/node_modules/@sap/cds-compiler/lib/checks/structuredAnnoExpressions.js +1 -1
  328. package/node_modules/@sap/cds-compiler/lib/checks/typeParameters.js +1 -1
  329. package/node_modules/@sap/cds-compiler/lib/checks/types.js +1 -1
  330. package/node_modules/@sap/cds-compiler/lib/checks/validator.js +1 -1
  331. package/node_modules/@sap/cds-compiler/lib/compiler/assert-consistency.js +20 -12
  332. package/node_modules/@sap/cds-compiler/lib/compiler/builtins.js +9 -4
  333. package/node_modules/@sap/cds-compiler/lib/compiler/checks.js +50 -0
  334. package/node_modules/@sap/cds-compiler/lib/compiler/define.js +303 -323
  335. package/node_modules/@sap/cds-compiler/lib/compiler/dictionaries.js +5 -0
  336. package/node_modules/@sap/cds-compiler/lib/compiler/extend.js +1015 -1177
  337. package/node_modules/@sap/cds-compiler/lib/compiler/generate.js +55 -42
  338. package/node_modules/@sap/cds-compiler/lib/compiler/populate.js +74 -45
  339. package/node_modules/@sap/cds-compiler/lib/compiler/propagator.js +1 -0
  340. package/node_modules/@sap/cds-compiler/lib/compiler/resolve.js +6 -4
  341. package/node_modules/@sap/cds-compiler/lib/compiler/shared.js +30 -49
  342. package/node_modules/@sap/cds-compiler/lib/compiler/utils.js +32 -18
  343. package/node_modules/@sap/cds-compiler/lib/edm/annotations/edmJson.js +3 -3
  344. package/node_modules/@sap/cds-compiler/lib/edm/annotations/genericTranslation.js +2 -2
  345. package/node_modules/@sap/cds-compiler/lib/edm/annotations/preprocessAnnotations.js +2 -3
  346. package/node_modules/@sap/cds-compiler/lib/edm/csn2edm.js +1 -1
  347. package/node_modules/@sap/cds-compiler/lib/edm/edm.js +6 -7
  348. package/node_modules/@sap/cds-compiler/lib/edm/edmAnnoPreprocessor.js +1 -1
  349. package/node_modules/@sap/cds-compiler/lib/edm/edmInboundChecks.js +1 -1
  350. package/node_modules/@sap/cds-compiler/lib/edm/edmPreprocessor.js +1 -1
  351. package/node_modules/@sap/cds-compiler/lib/edm/edmUtils.js +12 -7
  352. package/node_modules/@sap/cds-compiler/lib/gen/CdlGrammar.checksum +1 -1
  353. package/node_modules/@sap/cds-compiler/lib/gen/CdlParser.js +15 -15
  354. package/node_modules/@sap/cds-compiler/lib/gen/Dictionary.json +7 -0
  355. package/node_modules/@sap/cds-compiler/lib/json/from-csn.js +30 -30
  356. package/node_modules/@sap/cds-compiler/lib/json/to-csn.js +2 -1
  357. package/node_modules/@sap/cds-compiler/lib/main.js +4 -1
  358. package/node_modules/@sap/cds-compiler/lib/parsers/AstBuildingParser.js +42 -15
  359. package/node_modules/@sap/cds-compiler/lib/render/DuplicateChecker.js +37 -11
  360. package/node_modules/@sap/cds-compiler/lib/render/manageConstraints.js +1 -1
  361. package/node_modules/@sap/cds-compiler/lib/render/toCdl.js +11 -6
  362. package/node_modules/@sap/cds-compiler/lib/render/toRename.js +1 -1
  363. package/node_modules/@sap/cds-compiler/lib/render/toSql.js +74 -24
  364. package/node_modules/@sap/cds-compiler/lib/render/utils/common.js +1 -1
  365. package/node_modules/@sap/cds-compiler/lib/render/utils/operators.js +81 -0
  366. package/node_modules/@sap/cds-compiler/lib/render/utils/sql.js +17 -10
  367. package/node_modules/@sap/cds-compiler/lib/transform/db/assertUnique.js +1 -1
  368. package/node_modules/@sap/cds-compiler/lib/transform/db/associations.js +3 -4
  369. package/node_modules/@sap/cds-compiler/lib/transform/db/assocsToQueries/transformExists.js +1 -1
  370. package/node_modules/@sap/cds-compiler/lib/transform/db/backlinks.js +2 -2
  371. package/node_modules/@sap/cds-compiler/lib/transform/db/cdsPersistence.js +1 -1
  372. package/node_modules/@sap/cds-compiler/lib/transform/db/constraints.js +6 -5
  373. package/node_modules/@sap/cds-compiler/lib/transform/db/expansion.js +7 -1
  374. package/node_modules/@sap/cds-compiler/lib/transform/db/flattening.js +2 -2
  375. package/node_modules/@sap/cds-compiler/lib/{modelCompare/compare.js → transform/db/migration/diffModels.js} +5 -5
  376. package/node_modules/@sap/cds-compiler/lib/{modelCompare/utils/filter.js → transform/db/migration/filterDiff.js} +2 -2
  377. package/node_modules/@sap/cds-compiler/lib/transform/db/processSqlServices.js +1 -1
  378. package/node_modules/@sap/cds-compiler/lib/transform/db/rewriteCalculatedElements.js +1 -1
  379. package/node_modules/@sap/cds-compiler/lib/transform/db/temporal.js +1 -1
  380. package/node_modules/@sap/cds-compiler/lib/transform/db/views.js +2 -6
  381. package/node_modules/@sap/cds-compiler/lib/transform/draft/db.js +1 -1
  382. package/node_modules/@sap/cds-compiler/lib/transform/draft/odata.js +1 -1
  383. package/node_modules/@sap/cds-compiler/lib/transform/effective/annotations.js +1 -1
  384. package/node_modules/@sap/cds-compiler/lib/transform/effective/associations.js +1 -1
  385. package/node_modules/@sap/cds-compiler/lib/transform/effective/flattening.js +1 -1
  386. package/node_modules/@sap/cds-compiler/lib/transform/effective/main.js +3 -2
  387. package/node_modules/@sap/cds-compiler/lib/transform/effective/misc.js +2 -1
  388. package/node_modules/@sap/cds-compiler/lib/transform/effective/queries.js +1 -1
  389. package/node_modules/@sap/cds-compiler/lib/transform/effective/types.js +1 -1
  390. package/node_modules/@sap/cds-compiler/lib/transform/forOdata.js +1 -1
  391. package/node_modules/@sap/cds-compiler/lib/transform/forRelationalDB.js +9 -4
  392. package/node_modules/@sap/cds-compiler/lib/transform/localized.js +1 -1
  393. package/node_modules/@sap/cds-compiler/lib/transform/odata/adaptAnnotationRefs.js +5 -11
  394. package/node_modules/@sap/cds-compiler/lib/transform/odata/createForeignKeys.js +1 -1
  395. package/node_modules/@sap/cds-compiler/lib/transform/odata/flattening.js +4 -4
  396. package/node_modules/@sap/cds-compiler/lib/transform/odata/foreignKeyRefsInXprAnnos.js +5 -3
  397. package/node_modules/@sap/cds-compiler/lib/transform/odata/toFinalBaseType.js +29 -5
  398. package/node_modules/@sap/cds-compiler/lib/transform/odata/typesExposure.js +13 -3
  399. package/node_modules/@sap/cds-compiler/lib/transform/odata/utils.js +9 -0
  400. package/node_modules/@sap/cds-compiler/lib/transform/transformUtils.js +2 -2
  401. package/node_modules/@sap/cds-compiler/lib/transform/translateAssocsToJoins.js +1 -1
  402. package/node_modules/@sap/cds-compiler/lib/transform/tupleExpansion.js +1 -1
  403. package/node_modules/@sap/cds-compiler/lib/transform/universalCsn/coreComputed.js +1 -1
  404. package/node_modules/@sap/cds-compiler/lib/transform/universalCsn/universalCsnEnricher.js +1 -1
  405. package/node_modules/@sap/cds-compiler/lib/transform/universalCsn/utils.js +1 -1
  406. package/node_modules/@sap/cds-compiler/package.json +1 -1
  407. package/node_modules/@sap/cds-mtxs/CHANGELOG.md +55 -0
  408. package/node_modules/@sap/cds-mtxs/bin/cds-mtx-migrate.js +4 -6
  409. package/node_modules/@sap/cds-mtxs/bin/cds-mtx.js +5 -4
  410. package/node_modules/@sap/cds-mtxs/cds-plugin.js +38 -2
  411. package/node_modules/@sap/cds-mtxs/db/t0.cds +7 -0
  412. package/node_modules/@sap/cds-mtxs/lib/utils.js +129 -20
  413. package/node_modules/@sap/cds-mtxs/package.json +15 -14
  414. package/node_modules/@sap/cds-mtxs/srv/cf/abstract-provisioning-service.js +13 -12
  415. package/node_modules/@sap/cds-mtxs/srv/cf/saas-provisioning-service.cds +1 -0
  416. package/node_modules/@sap/cds-mtxs/srv/cf/sms-provisioning-service.cds +1 -0
  417. package/node_modules/@sap/cds-mtxs/srv/extensibility/compat/update.js +5 -2
  418. package/node_modules/@sap/cds-mtxs/srv/extensibility/linter/config.js +1 -2
  419. package/node_modules/@sap/cds-mtxs/srv/extensibility/linter/csv-allowlist.js +64 -0
  420. package/node_modules/@sap/cds-mtxs/srv/extensibility/linter/index.js +4 -2
  421. package/node_modules/@sap/cds-mtxs/srv/extensibility/linter/protected-namespace.js +67 -5
  422. package/node_modules/@sap/cds-mtxs/srv/extensibility-service.js +199 -19
  423. package/node_modules/@sap/cds-mtxs/srv/jobs-service.js +39 -15
  424. package/node_modules/@sap/cds-mtxs/srv/plugins/common.js +33 -12
  425. package/node_modules/@sap/cds-mtxs/srv/plugins/hana/ctnr-mgr-base.js +24 -6
  426. package/node_modules/@sap/cds-mtxs/srv/plugins/hana/hdi-ctnr-mgr.js +3 -1
  427. package/node_modules/@sap/cds-mtxs/srv/plugins/hana/hdi-native.js +752 -0
  428. package/node_modules/@sap/cds-mtxs/srv/plugins/hana/serverless.js +17 -20
  429. package/node_modules/@sap/cds-mtxs/srv/plugins/hana/srv-mgr-v2.js +511 -0
  430. package/node_modules/@sap/cds-mtxs/srv/plugins/hana/srv-mgr.js +11 -4
  431. package/node_modules/@sap/cds-mtxs/srv/plugins/hana/tms.js +8 -0
  432. package/node_modules/@sap/cds-mtxs/srv/plugins/hana.js +58 -43
  433. package/node_modules/@sap/cds-mtxs/srv/worker/job-worker-pool.js +1 -1
  434. package/node_modules/@sap/cds-mtxs/srv/worker/job-worker.js +1 -1
  435. package/node_modules/body-parser/README.md +17 -13
  436. package/node_modules/body-parser/lib/read.js +74 -57
  437. package/node_modules/body-parser/lib/types/json.js +11 -11
  438. package/node_modules/body-parser/lib/types/urlencoded.js +5 -5
  439. package/node_modules/body-parser/lib/utils.js +0 -15
  440. package/node_modules/body-parser/package.json +7 -12
  441. package/node_modules/chownr/LICENSE.md +63 -0
  442. package/node_modules/chownr/README.md +3 -0
  443. package/node_modules/chownr/dist/commonjs/index.d.ts +3 -0
  444. package/node_modules/chownr/dist/commonjs/index.d.ts.map +1 -0
  445. package/node_modules/chownr/dist/commonjs/index.js +93 -0
  446. package/node_modules/chownr/dist/commonjs/index.js.map +1 -0
  447. package/node_modules/chownr/dist/commonjs/package.json +3 -0
  448. package/node_modules/chownr/dist/esm/index.d.ts +3 -0
  449. package/node_modules/chownr/dist/esm/index.d.ts.map +1 -0
  450. package/node_modules/chownr/dist/esm/index.js +85 -0
  451. package/node_modules/chownr/dist/esm/index.js.map +1 -0
  452. package/node_modules/chownr/dist/esm/package.json +3 -0
  453. package/node_modules/chownr/package.json +69 -0
  454. package/node_modules/content-disposition/README.md +105 -35
  455. package/node_modules/content-disposition/dist/index.d.ts +72 -0
  456. package/node_modules/content-disposition/dist/index.js +388 -0
  457. package/node_modules/content-disposition/dist/index.js.map +1 -0
  458. package/node_modules/content-disposition/package.json +31 -19
  459. package/node_modules/content-type/README.md +34 -57
  460. package/node_modules/content-type/package.json +35 -25
  461. package/node_modules/encodeurl/README.md +14 -0
  462. package/node_modules/encodeurl/index.js +5 -10
  463. package/node_modules/encodeurl/package.json +10 -6
  464. package/node_modules/express/Readme.md +15 -9
  465. package/node_modules/express/lib/application.js +2 -2
  466. package/node_modules/express/lib/request.js +32 -19
  467. package/node_modules/express/lib/response.js +27 -30
  468. package/node_modules/express/package.json +10 -10
  469. package/node_modules/handlebars/bin/handlebars +1 -1
  470. package/node_modules/handlebars/dist/amd/handlebars/base.js +2 -2
  471. package/node_modules/handlebars/dist/amd/handlebars/compiler/base.js +2 -59
  472. package/node_modules/handlebars/dist/amd/handlebars/compiler/code-gen.js +68 -5
  473. package/node_modules/handlebars/dist/amd/handlebars/compiler/compiler.js +160 -19
  474. package/node_modules/handlebars/dist/amd/handlebars/compiler/javascript-compiler.js +23 -7
  475. package/node_modules/handlebars/dist/amd/handlebars/compiler/node-types.js +12 -0
  476. package/node_modules/handlebars/dist/amd/handlebars/compiler/visitor.js +26 -7
  477. package/node_modules/handlebars/dist/amd/handlebars/compiler/whitespace-control.js +9 -4
  478. package/node_modules/handlebars/dist/amd/handlebars/exception.js +8 -4
  479. package/node_modules/handlebars/dist/amd/handlebars/helpers/each.js +40 -14
  480. package/node_modules/handlebars/dist/amd/handlebars/internal/proto-access.js +21 -1
  481. package/node_modules/handlebars/dist/amd/handlebars/runtime.js +24 -4
  482. package/node_modules/handlebars/dist/amd/handlebars/utils.js +4 -3
  483. package/node_modules/handlebars/dist/amd/precompiler.js +13 -7
  484. package/node_modules/handlebars/dist/cjs/handlebars/base.js +2 -2
  485. package/node_modules/handlebars/dist/cjs/handlebars/compiler/base.js +1 -60
  486. package/node_modules/handlebars/dist/cjs/handlebars/compiler/code-gen.js +64 -4
  487. package/node_modules/handlebars/dist/cjs/handlebars/compiler/compiler.js +161 -18
  488. package/node_modules/handlebars/dist/cjs/handlebars/compiler/javascript-compiler.js +23 -7
  489. package/node_modules/handlebars/dist/cjs/handlebars/compiler/node-types.js +10 -0
  490. package/node_modules/handlebars/dist/cjs/handlebars/compiler/visitor.js +29 -6
  491. package/node_modules/handlebars/dist/cjs/handlebars/compiler/whitespace-control.js +9 -4
  492. package/node_modules/handlebars/dist/cjs/handlebars/exception.js +8 -4
  493. package/node_modules/handlebars/dist/cjs/handlebars/helpers/each.js +40 -14
  494. package/node_modules/handlebars/dist/cjs/handlebars/internal/proto-access.js +21 -1
  495. package/node_modules/handlebars/dist/cjs/handlebars/runtime.js +24 -4
  496. package/node_modules/handlebars/dist/cjs/handlebars/utils.js +4 -3
  497. package/node_modules/handlebars/dist/cjs/precompiler.js +14 -6
  498. package/node_modules/handlebars/dist/handlebars.amd.js +401 -130
  499. package/node_modules/handlebars/dist/handlebars.amd.min.js +4 -4
  500. package/node_modules/handlebars/dist/handlebars.js +396 -125
  501. package/node_modules/handlebars/dist/handlebars.min.js +4 -4
  502. package/node_modules/handlebars/dist/handlebars.runtime.amd.js +100 -29
  503. package/node_modules/handlebars/dist/handlebars.runtime.amd.min.js +2 -2
  504. package/node_modules/handlebars/dist/handlebars.runtime.js +94 -23
  505. package/node_modules/handlebars/dist/handlebars.runtime.min.js +2 -2
  506. package/node_modules/handlebars/lib/handlebars/base.js +1 -1
  507. package/node_modules/handlebars/lib/handlebars/compiler/base.js +0 -67
  508. package/node_modules/handlebars/lib/handlebars/compiler/code-gen.js +65 -11
  509. package/node_modules/handlebars/lib/handlebars/compiler/compiler.js +164 -23
  510. package/node_modules/handlebars/lib/handlebars/compiler/javascript-compiler.js +23 -7
  511. package/node_modules/handlebars/lib/handlebars/compiler/node-types.js +24 -0
  512. package/node_modules/handlebars/lib/handlebars/compiler/visitor.js +29 -5
  513. package/node_modules/handlebars/lib/handlebars/compiler/whitespace-control.js +16 -5
  514. package/node_modules/handlebars/lib/handlebars/exception.js +7 -3
  515. package/node_modules/handlebars/lib/handlebars/helpers/each.js +39 -16
  516. package/node_modules/handlebars/lib/handlebars/internal/proto-access.js +22 -0
  517. package/node_modules/handlebars/lib/handlebars/runtime.js +36 -4
  518. package/node_modules/handlebars/lib/handlebars/utils.js +3 -2
  519. package/node_modules/handlebars/lib/precompiler.js +14 -5
  520. package/node_modules/handlebars/package.json +2 -2
  521. package/node_modules/handlebars/release-notes.md +20 -1
  522. package/node_modules/handlebars/types/index.d.ts +8 -0
  523. package/node_modules/hdb/cfg/VERSION +1 -1
  524. package/node_modules/hdb/lib/Client.js +6 -2
  525. package/node_modules/hdb/lib/protocol/ClientInfo.js +28 -15
  526. package/node_modules/hdb/lib/protocol/Connection.js +30 -3
  527. package/node_modules/hdb/lib/protocol/Writer.js +2 -2
  528. package/node_modules/hdb/lib/protocol/common/ConnectOption.js +2 -0
  529. package/node_modules/hdb/lib/protocol/common/ConnectOptionFlagSet1.js +18 -0
  530. package/node_modules/hdb/lib/protocol/common/ConnectOptionType.js +2 -0
  531. package/node_modules/hdb/lib/protocol/common/Constants.js +1 -0
  532. package/node_modules/hdb/lib/protocol/common/MessageType.js +3 -2
  533. package/node_modules/hdb/lib/protocol/common/PartKind.js +2 -1
  534. package/node_modules/hdb/lib/protocol/common/index.js +1 -0
  535. package/node_modules/hdb/lib/protocol/data/TextList.js +25 -17
  536. package/node_modules/hdb/lib/protocol/data/index.js +1 -0
  537. package/node_modules/hdb/lib/protocol/part/ConnectOptions.js +7 -0
  538. package/node_modules/hdb/lib/protocol/request/index.js +7 -0
  539. package/node_modules/hdb/package.json +1 -2
  540. package/node_modules/livereload-js/.github/workflows/main.yml +4 -4
  541. package/node_modules/livereload-js/README.md +3 -3
  542. package/node_modules/livereload-js/dist/livereload.js +839 -2742
  543. package/node_modules/livereload-js/dist/livereload.min.js +1 -1
  544. package/node_modules/livereload-js/package.json +11 -11
  545. package/node_modules/minipass/LICENSE.md +55 -0
  546. package/node_modules/minipass/README.md +825 -0
  547. package/node_modules/minipass/dist/commonjs/index.d.ts +545 -0
  548. package/node_modules/minipass/dist/commonjs/index.d.ts.map +1 -0
  549. package/node_modules/minipass/dist/commonjs/index.js +1038 -0
  550. package/node_modules/minipass/dist/commonjs/index.js.map +1 -0
  551. package/node_modules/minipass/dist/commonjs/package.json +3 -0
  552. package/node_modules/minipass/dist/esm/index.d.ts +545 -0
  553. package/node_modules/minipass/dist/esm/index.d.ts.map +1 -0
  554. package/node_modules/minipass/dist/esm/index.js +1020 -0
  555. package/node_modules/minipass/dist/esm/index.js.map +1 -0
  556. package/node_modules/minipass/dist/esm/package.json +3 -0
  557. package/node_modules/minipass/package.json +77 -0
  558. package/node_modules/minizlib/LICENSE +26 -0
  559. package/node_modules/minizlib/README.md +64 -0
  560. package/node_modules/minizlib/dist/commonjs/constants.d.ts +2 -0
  561. package/node_modules/minizlib/dist/commonjs/constants.d.ts.map +1 -0
  562. package/node_modules/minizlib/dist/commonjs/constants.js +123 -0
  563. package/node_modules/minizlib/dist/commonjs/constants.js.map +1 -0
  564. package/node_modules/minizlib/dist/commonjs/index.d.ts +99 -0
  565. package/node_modules/minizlib/dist/commonjs/index.d.ts.map +1 -0
  566. package/node_modules/minizlib/dist/commonjs/index.js +416 -0
  567. package/node_modules/minizlib/dist/commonjs/index.js.map +1 -0
  568. package/node_modules/minizlib/dist/commonjs/package.json +3 -0
  569. package/node_modules/minizlib/dist/esm/constants.d.ts +2 -0
  570. package/node_modules/minizlib/dist/esm/constants.d.ts.map +1 -0
  571. package/node_modules/minizlib/dist/esm/constants.js +117 -0
  572. package/node_modules/minizlib/dist/esm/constants.js.map +1 -0
  573. package/node_modules/minizlib/dist/esm/index.d.ts +99 -0
  574. package/node_modules/minizlib/dist/esm/index.d.ts.map +1 -0
  575. package/node_modules/minizlib/dist/esm/index.js +363 -0
  576. package/node_modules/minizlib/dist/esm/index.js.map +1 -0
  577. package/node_modules/minizlib/dist/esm/package.json +3 -0
  578. package/node_modules/minizlib/package.json +80 -0
  579. package/node_modules/on-finished/index.js +14 -2
  580. package/node_modules/on-finished/package.json +11 -7
  581. package/node_modules/qs/.editorconfig +1 -1
  582. package/node_modules/qs/.github/THREAT_MODEL.md +4 -2
  583. package/node_modules/qs/CHANGELOG.md +103 -14
  584. package/node_modules/qs/README.md +90 -9
  585. package/node_modules/qs/dist/qs.js +19 -19
  586. package/node_modules/qs/eslint.config.mjs +61 -50
  587. package/node_modules/qs/lib/formats.js +7 -2
  588. package/node_modules/qs/lib/parse.js +121 -12
  589. package/node_modules/qs/lib/stringify.js +9 -7
  590. package/node_modules/qs/lib/utils.js +158 -15
  591. package/node_modules/qs/package.json +8 -8
  592. package/node_modules/qs/test/parse.js +509 -2
  593. package/node_modules/qs/test/stringify.js +485 -33
  594. package/node_modules/qs/test/utils.js +245 -3
  595. package/node_modules/semver/classes/range.js +2 -2
  596. package/node_modules/semver/internal/constants.js +30 -0
  597. package/node_modules/semver/internal/trim-comparator-whitespace.js +438 -0
  598. package/node_modules/semver/package.json +1 -1
  599. package/node_modules/tar/LICENSE.md +55 -0
  600. package/node_modules/tar/README.md +1233 -0
  601. package/node_modules/tar/dist/commonjs/create.d.ts +3 -0
  602. package/node_modules/tar/dist/commonjs/create.d.ts.map +1 -0
  603. package/node_modules/tar/dist/commonjs/create.js +82 -0
  604. package/node_modules/tar/dist/commonjs/create.js.map +1 -0
  605. package/node_modules/tar/dist/commonjs/cwd-error.d.ts +8 -0
  606. package/node_modules/tar/dist/commonjs/cwd-error.d.ts.map +1 -0
  607. package/node_modules/tar/dist/commonjs/cwd-error.js +18 -0
  608. package/node_modules/tar/dist/commonjs/cwd-error.js.map +1 -0
  609. package/node_modules/tar/dist/commonjs/extract.d.ts +3 -0
  610. package/node_modules/tar/dist/commonjs/extract.d.ts.map +1 -0
  611. package/node_modules/tar/dist/commonjs/extract.js +88 -0
  612. package/node_modules/tar/dist/commonjs/extract.js.map +1 -0
  613. package/node_modules/tar/dist/commonjs/get-write-flag.d.ts +2 -0
  614. package/node_modules/tar/dist/commonjs/get-write-flag.d.ts.map +1 -0
  615. package/node_modules/tar/dist/commonjs/get-write-flag.js +32 -0
  616. package/node_modules/tar/dist/commonjs/get-write-flag.js.map +1 -0
  617. package/node_modules/tar/dist/commonjs/header.d.ts +53 -0
  618. package/node_modules/tar/dist/commonjs/header.d.ts.map +1 -0
  619. package/node_modules/tar/dist/commonjs/header.js +348 -0
  620. package/node_modules/tar/dist/commonjs/header.js.map +1 -0
  621. package/node_modules/tar/dist/commonjs/index.d.ts +20 -0
  622. package/node_modules/tar/dist/commonjs/index.d.ts.map +1 -0
  623. package/node_modules/tar/dist/commonjs/index.js +64 -0
  624. package/node_modules/tar/dist/commonjs/index.js.map +1 -0
  625. package/node_modules/tar/dist/commonjs/index.min.js +4 -0
  626. package/node_modules/tar/dist/commonjs/index.min.js.map +7 -0
  627. package/node_modules/tar/dist/commonjs/large-numbers.d.ts +3 -0
  628. package/node_modules/tar/dist/commonjs/large-numbers.d.ts.map +1 -0
  629. package/node_modules/tar/dist/commonjs/large-numbers.js +99 -0
  630. package/node_modules/tar/dist/commonjs/large-numbers.js.map +1 -0
  631. package/node_modules/tar/dist/commonjs/list.d.ts +7 -0
  632. package/node_modules/tar/dist/commonjs/list.d.ts.map +1 -0
  633. package/node_modules/tar/dist/commonjs/list.js +153 -0
  634. package/node_modules/tar/dist/commonjs/list.js.map +1 -0
  635. package/node_modules/tar/dist/commonjs/make-command.d.ts +49 -0
  636. package/node_modules/tar/dist/commonjs/make-command.d.ts.map +1 -0
  637. package/node_modules/tar/dist/commonjs/make-command.js +52 -0
  638. package/node_modules/tar/dist/commonjs/make-command.js.map +1 -0
  639. package/node_modules/tar/dist/commonjs/mkdir.d.ts +25 -0
  640. package/node_modules/tar/dist/commonjs/mkdir.d.ts.map +1 -0
  641. package/node_modules/tar/dist/commonjs/mkdir.js +187 -0
  642. package/node_modules/tar/dist/commonjs/mkdir.js.map +1 -0
  643. package/node_modules/tar/dist/commonjs/mode-fix.d.ts +2 -0
  644. package/node_modules/tar/dist/commonjs/mode-fix.d.ts.map +1 -0
  645. package/node_modules/tar/dist/commonjs/mode-fix.js +29 -0
  646. package/node_modules/tar/dist/commonjs/mode-fix.js.map +1 -0
  647. package/node_modules/tar/dist/commonjs/normalize-unicode.d.ts +2 -0
  648. package/node_modules/tar/dist/commonjs/normalize-unicode.d.ts.map +1 -0
  649. package/node_modules/tar/dist/commonjs/normalize-unicode.js +38 -0
  650. package/node_modules/tar/dist/commonjs/normalize-unicode.js.map +1 -0
  651. package/node_modules/tar/dist/commonjs/normalize-windows-path.d.ts +2 -0
  652. package/node_modules/tar/dist/commonjs/normalize-windows-path.d.ts.map +1 -0
  653. package/node_modules/tar/dist/commonjs/normalize-windows-path.js +12 -0
  654. package/node_modules/tar/dist/commonjs/normalize-windows-path.js.map +1 -0
  655. package/node_modules/tar/dist/commonjs/options.d.ts +604 -0
  656. package/node_modules/tar/dist/commonjs/options.d.ts.map +1 -0
  657. package/node_modules/tar/dist/commonjs/options.js +66 -0
  658. package/node_modules/tar/dist/commonjs/options.js.map +1 -0
  659. package/node_modules/tar/dist/commonjs/pack.d.ts +105 -0
  660. package/node_modules/tar/dist/commonjs/pack.d.ts.map +1 -0
  661. package/node_modules/tar/dist/commonjs/pack.js +544 -0
  662. package/node_modules/tar/dist/commonjs/pack.js.map +1 -0
  663. package/node_modules/tar/dist/commonjs/package.json +3 -0
  664. package/node_modules/tar/dist/commonjs/parse.d.ts +92 -0
  665. package/node_modules/tar/dist/commonjs/parse.d.ts.map +1 -0
  666. package/node_modules/tar/dist/commonjs/parse.js +655 -0
  667. package/node_modules/tar/dist/commonjs/parse.js.map +1 -0
  668. package/node_modules/tar/dist/commonjs/path-reservations.d.ts +11 -0
  669. package/node_modules/tar/dist/commonjs/path-reservations.d.ts.map +1 -0
  670. package/node_modules/tar/dist/commonjs/path-reservations.js +170 -0
  671. package/node_modules/tar/dist/commonjs/path-reservations.js.map +1 -0
  672. package/node_modules/tar/dist/commonjs/pax.d.ts +26 -0
  673. package/node_modules/tar/dist/commonjs/pax.d.ts.map +1 -0
  674. package/node_modules/tar/dist/commonjs/pax.js +182 -0
  675. package/node_modules/tar/dist/commonjs/pax.js.map +1 -0
  676. package/node_modules/tar/dist/commonjs/process-umask.d.ts +2 -0
  677. package/node_modules/tar/dist/commonjs/process-umask.d.ts.map +1 -0
  678. package/node_modules/tar/dist/commonjs/process-umask.js +7 -0
  679. package/node_modules/tar/dist/commonjs/process-umask.js.map +1 -0
  680. package/node_modules/tar/dist/commonjs/read-entry.d.ts +36 -0
  681. package/node_modules/tar/dist/commonjs/read-entry.d.ts.map +1 -0
  682. package/node_modules/tar/dist/commonjs/read-entry.js +136 -0
  683. package/node_modules/tar/dist/commonjs/read-entry.js.map +1 -0
  684. package/node_modules/tar/dist/commonjs/replace.d.ts +2 -0
  685. package/node_modules/tar/dist/commonjs/replace.d.ts.map +1 -0
  686. package/node_modules/tar/dist/commonjs/replace.js +227 -0
  687. package/node_modules/tar/dist/commonjs/replace.js.map +1 -0
  688. package/node_modules/tar/dist/commonjs/strip-absolute-path.d.ts +2 -0
  689. package/node_modules/tar/dist/commonjs/strip-absolute-path.d.ts.map +1 -0
  690. package/node_modules/tar/dist/commonjs/strip-absolute-path.js +29 -0
  691. package/node_modules/tar/dist/commonjs/strip-absolute-path.js.map +1 -0
  692. package/node_modules/tar/dist/commonjs/strip-trailing-slashes.d.ts +2 -0
  693. package/node_modules/tar/dist/commonjs/strip-trailing-slashes.d.ts.map +1 -0
  694. package/node_modules/tar/dist/commonjs/strip-trailing-slashes.js +18 -0
  695. package/node_modules/tar/dist/commonjs/strip-trailing-slashes.js.map +1 -0
  696. package/node_modules/tar/dist/commonjs/symlink-error.d.ts +9 -0
  697. package/node_modules/tar/dist/commonjs/symlink-error.d.ts.map +1 -0
  698. package/node_modules/tar/dist/commonjs/symlink-error.js +19 -0
  699. package/node_modules/tar/dist/commonjs/symlink-error.js.map +1 -0
  700. package/node_modules/tar/dist/commonjs/types.d.ts +16 -0
  701. package/node_modules/tar/dist/commonjs/types.d.ts.map +1 -0
  702. package/node_modules/tar/dist/commonjs/types.js +70 -0
  703. package/node_modules/tar/dist/commonjs/types.js.map +1 -0
  704. package/node_modules/tar/dist/commonjs/unpack.d.ts +101 -0
  705. package/node_modules/tar/dist/commonjs/unpack.d.ts.map +1 -0
  706. package/node_modules/tar/dist/commonjs/unpack.js +932 -0
  707. package/node_modules/tar/dist/commonjs/unpack.js.map +1 -0
  708. package/node_modules/tar/dist/commonjs/update.d.ts +2 -0
  709. package/node_modules/tar/dist/commonjs/update.d.ts.map +1 -0
  710. package/node_modules/tar/dist/commonjs/update.js +33 -0
  711. package/node_modules/tar/dist/commonjs/update.js.map +1 -0
  712. package/node_modules/tar/dist/commonjs/warn-method.d.ts +24 -0
  713. package/node_modules/tar/dist/commonjs/warn-method.d.ts.map +1 -0
  714. package/node_modules/tar/dist/commonjs/warn-method.js +31 -0
  715. package/node_modules/tar/dist/commonjs/warn-method.js.map +1 -0
  716. package/node_modules/tar/dist/commonjs/winchars.d.ts +3 -0
  717. package/node_modules/tar/dist/commonjs/winchars.d.ts.map +1 -0
  718. package/node_modules/tar/dist/commonjs/winchars.js +14 -0
  719. package/node_modules/tar/dist/commonjs/winchars.js.map +1 -0
  720. package/node_modules/tar/dist/commonjs/write-entry.d.ts +129 -0
  721. package/node_modules/tar/dist/commonjs/write-entry.d.ts.map +1 -0
  722. package/node_modules/tar/dist/commonjs/write-entry.js +698 -0
  723. package/node_modules/tar/dist/commonjs/write-entry.js.map +1 -0
  724. package/node_modules/tar/dist/esm/create.d.ts +3 -0
  725. package/node_modules/tar/dist/esm/create.d.ts.map +1 -0
  726. package/node_modules/tar/dist/esm/create.js +76 -0
  727. package/node_modules/tar/dist/esm/create.js.map +1 -0
  728. package/node_modules/tar/dist/esm/cwd-error.d.ts +8 -0
  729. package/node_modules/tar/dist/esm/cwd-error.d.ts.map +1 -0
  730. package/node_modules/tar/dist/esm/cwd-error.js +14 -0
  731. package/node_modules/tar/dist/esm/cwd-error.js.map +1 -0
  732. package/node_modules/tar/dist/esm/extract.d.ts +3 -0
  733. package/node_modules/tar/dist/esm/extract.d.ts.map +1 -0
  734. package/node_modules/tar/dist/esm/extract.js +49 -0
  735. package/node_modules/tar/dist/esm/extract.js.map +1 -0
  736. package/node_modules/tar/dist/esm/get-write-flag.d.ts +2 -0
  737. package/node_modules/tar/dist/esm/get-write-flag.d.ts.map +1 -0
  738. package/node_modules/tar/dist/esm/get-write-flag.js +26 -0
  739. package/node_modules/tar/dist/esm/get-write-flag.js.map +1 -0
  740. package/node_modules/tar/dist/esm/header.d.ts +53 -0
  741. package/node_modules/tar/dist/esm/header.d.ts.map +1 -0
  742. package/node_modules/tar/dist/esm/header.js +311 -0
  743. package/node_modules/tar/dist/esm/header.js.map +1 -0
  744. package/node_modules/tar/dist/esm/index.d.ts +20 -0
  745. package/node_modules/tar/dist/esm/index.d.ts.map +1 -0
  746. package/node_modules/tar/dist/esm/index.js +20 -0
  747. package/node_modules/tar/dist/esm/index.js.map +1 -0
  748. package/node_modules/tar/dist/esm/index.min.js +4 -0
  749. package/node_modules/tar/dist/esm/index.min.js.map +7 -0
  750. package/node_modules/tar/dist/esm/large-numbers.d.ts +3 -0
  751. package/node_modules/tar/dist/esm/large-numbers.d.ts.map +1 -0
  752. package/node_modules/tar/dist/esm/large-numbers.js +94 -0
  753. package/node_modules/tar/dist/esm/large-numbers.js.map +1 -0
  754. package/node_modules/tar/dist/esm/list.d.ts +7 -0
  755. package/node_modules/tar/dist/esm/list.d.ts.map +1 -0
  756. package/node_modules/tar/dist/esm/list.js +113 -0
  757. package/node_modules/tar/dist/esm/list.js.map +1 -0
  758. package/node_modules/tar/dist/esm/make-command.d.ts +49 -0
  759. package/node_modules/tar/dist/esm/make-command.d.ts.map +1 -0
  760. package/node_modules/tar/dist/esm/make-command.js +48 -0
  761. package/node_modules/tar/dist/esm/make-command.js.map +1 -0
  762. package/node_modules/tar/dist/esm/mkdir.d.ts +25 -0
  763. package/node_modules/tar/dist/esm/mkdir.d.ts.map +1 -0
  764. package/node_modules/tar/dist/esm/mkdir.js +179 -0
  765. package/node_modules/tar/dist/esm/mkdir.js.map +1 -0
  766. package/node_modules/tar/dist/esm/mode-fix.d.ts +2 -0
  767. package/node_modules/tar/dist/esm/mode-fix.d.ts.map +1 -0
  768. package/node_modules/tar/dist/esm/mode-fix.js +25 -0
  769. package/node_modules/tar/dist/esm/mode-fix.js.map +1 -0
  770. package/node_modules/tar/dist/esm/normalize-unicode.d.ts +2 -0
  771. package/node_modules/tar/dist/esm/normalize-unicode.d.ts.map +1 -0
  772. package/node_modules/tar/dist/esm/normalize-unicode.js +34 -0
  773. package/node_modules/tar/dist/esm/normalize-unicode.js.map +1 -0
  774. package/node_modules/tar/dist/esm/normalize-windows-path.d.ts +2 -0
  775. package/node_modules/tar/dist/esm/normalize-windows-path.d.ts.map +1 -0
  776. package/node_modules/tar/dist/esm/normalize-windows-path.js +9 -0
  777. package/node_modules/tar/dist/esm/normalize-windows-path.js.map +1 -0
  778. package/node_modules/tar/dist/esm/options.d.ts +604 -0
  779. package/node_modules/tar/dist/esm/options.d.ts.map +1 -0
  780. package/node_modules/tar/dist/esm/options.js +54 -0
  781. package/node_modules/tar/dist/esm/options.js.map +1 -0
  782. package/node_modules/tar/dist/esm/pack.d.ts +105 -0
  783. package/node_modules/tar/dist/esm/pack.d.ts.map +1 -0
  784. package/node_modules/tar/dist/esm/pack.js +502 -0
  785. package/node_modules/tar/dist/esm/pack.js.map +1 -0
  786. package/node_modules/tar/dist/esm/package.json +3 -0
  787. package/node_modules/tar/dist/esm/parse.d.ts +92 -0
  788. package/node_modules/tar/dist/esm/parse.d.ts.map +1 -0
  789. package/node_modules/tar/dist/esm/parse.js +651 -0
  790. package/node_modules/tar/dist/esm/parse.js.map +1 -0
  791. package/node_modules/tar/dist/esm/path-reservations.d.ts +11 -0
  792. package/node_modules/tar/dist/esm/path-reservations.d.ts.map +1 -0
  793. package/node_modules/tar/dist/esm/path-reservations.js +166 -0
  794. package/node_modules/tar/dist/esm/path-reservations.js.map +1 -0
  795. package/node_modules/tar/dist/esm/pax.d.ts +26 -0
  796. package/node_modules/tar/dist/esm/pax.d.ts.map +1 -0
  797. package/node_modules/tar/dist/esm/pax.js +178 -0
  798. package/node_modules/tar/dist/esm/pax.js.map +1 -0
  799. package/node_modules/tar/dist/esm/process-umask.d.ts +2 -0
  800. package/node_modules/tar/dist/esm/process-umask.d.ts.map +1 -0
  801. package/node_modules/tar/dist/esm/process-umask.js +3 -0
  802. package/node_modules/tar/dist/esm/process-umask.js.map +1 -0
  803. package/node_modules/tar/dist/esm/read-entry.d.ts +36 -0
  804. package/node_modules/tar/dist/esm/read-entry.d.ts.map +1 -0
  805. package/node_modules/tar/dist/esm/read-entry.js +132 -0
  806. package/node_modules/tar/dist/esm/read-entry.js.map +1 -0
  807. package/node_modules/tar/dist/esm/replace.d.ts +2 -0
  808. package/node_modules/tar/dist/esm/replace.d.ts.map +1 -0
  809. package/node_modules/tar/dist/esm/replace.js +221 -0
  810. package/node_modules/tar/dist/esm/replace.js.map +1 -0
  811. package/node_modules/tar/dist/esm/strip-absolute-path.d.ts +2 -0
  812. package/node_modules/tar/dist/esm/strip-absolute-path.d.ts.map +1 -0
  813. package/node_modules/tar/dist/esm/strip-absolute-path.js +25 -0
  814. package/node_modules/tar/dist/esm/strip-absolute-path.js.map +1 -0
  815. package/node_modules/tar/dist/esm/strip-trailing-slashes.d.ts +2 -0
  816. package/node_modules/tar/dist/esm/strip-trailing-slashes.d.ts.map +1 -0
  817. package/node_modules/tar/dist/esm/strip-trailing-slashes.js +14 -0
  818. package/node_modules/tar/dist/esm/strip-trailing-slashes.js.map +1 -0
  819. package/node_modules/tar/dist/esm/symlink-error.d.ts +9 -0
  820. package/node_modules/tar/dist/esm/symlink-error.d.ts.map +1 -0
  821. package/node_modules/tar/dist/esm/symlink-error.js +15 -0
  822. package/node_modules/tar/dist/esm/symlink-error.js.map +1 -0
  823. package/node_modules/tar/dist/esm/types.d.ts +16 -0
  824. package/node_modules/tar/dist/esm/types.d.ts.map +1 -0
  825. package/node_modules/tar/dist/esm/types.js +65 -0
  826. package/node_modules/tar/dist/esm/types.js.map +1 -0
  827. package/node_modules/tar/dist/esm/unpack.d.ts +101 -0
  828. package/node_modules/tar/dist/esm/unpack.d.ts.map +1 -0
  829. package/node_modules/tar/dist/esm/unpack.js +891 -0
  830. package/node_modules/tar/dist/esm/unpack.js.map +1 -0
  831. package/node_modules/tar/dist/esm/update.d.ts +2 -0
  832. package/node_modules/tar/dist/esm/update.d.ts.map +1 -0
  833. package/node_modules/tar/dist/esm/update.js +30 -0
  834. package/node_modules/tar/dist/esm/update.js.map +1 -0
  835. package/node_modules/tar/dist/esm/warn-method.d.ts +24 -0
  836. package/node_modules/tar/dist/esm/warn-method.d.ts.map +1 -0
  837. package/node_modules/tar/dist/esm/warn-method.js +27 -0
  838. package/node_modules/tar/dist/esm/warn-method.js.map +1 -0
  839. package/node_modules/tar/dist/esm/winchars.d.ts +3 -0
  840. package/node_modules/tar/dist/esm/winchars.d.ts.map +1 -0
  841. package/node_modules/tar/dist/esm/winchars.js +9 -0
  842. package/node_modules/tar/dist/esm/winchars.js.map +1 -0
  843. package/node_modules/tar/dist/esm/write-entry.d.ts +129 -0
  844. package/node_modules/tar/dist/esm/write-entry.d.ts.map +1 -0
  845. package/node_modules/tar/dist/esm/write-entry.js +656 -0
  846. package/node_modules/tar/dist/esm/write-entry.js.map +1 -0
  847. package/node_modules/tar/package.json +298 -0
  848. package/node_modules/ws/README.md +21 -29
  849. package/node_modules/ws/lib/buffer-util.js +13 -2
  850. package/node_modules/ws/lib/sender.js +4 -1
  851. package/node_modules/ws/lib/websocket.js +25 -6
  852. package/node_modules/ws/package.json +1 -1
  853. package/node_modules/yallist/LICENSE.md +63 -0
  854. package/node_modules/yallist/README.md +205 -0
  855. package/node_modules/yallist/dist/commonjs/index.d.ts +39 -0
  856. package/node_modules/yallist/dist/commonjs/index.d.ts.map +1 -0
  857. package/node_modules/yallist/dist/commonjs/index.js +384 -0
  858. package/node_modules/yallist/dist/commonjs/index.js.map +1 -0
  859. package/node_modules/yallist/dist/commonjs/package.json +3 -0
  860. package/node_modules/yallist/dist/esm/index.d.ts +39 -0
  861. package/node_modules/yallist/dist/esm/index.d.ts.map +1 -0
  862. package/node_modules/yallist/dist/esm/index.js +379 -0
  863. package/node_modules/yallist/dist/esm/index.js.map +1 -0
  864. package/node_modules/yallist/dist/esm/package.json +3 -0
  865. package/node_modules/yallist/package.json +68 -0
  866. package/package.json +7 -1
  867. package/bin/completion/templates/cds-tmpl.fish +0 -65
  868. package/bin/completion/templates/cds-tmpl.ps1 +0 -217
  869. package/bin/completion/templates/cds-tmpl.sh +0 -93
  870. package/bin/completion/templates/cds-tmpl.zsh +0 -74
  871. package/node_modules/@cap-js/db-service/lib/recursion-guard.js +0 -40
  872. package/node_modules/@sap/cds/lib/env/cds-requires.js +0 -327
  873. package/node_modules/@sap/cds-mtxs/srv/bootstrap.cds +0 -2
  874. package/node_modules/@sap/cds-mtxs/srv/bootstrap.js +0 -33
  875. package/node_modules/body-parser/node_modules/content-type/LICENSE +0 -22
  876. package/node_modules/body-parser/node_modules/content-type/README.md +0 -71
  877. package/node_modules/body-parser/node_modules/content-type/package.json +0 -52
  878. package/node_modules/content-disposition/index.js +0 -536
  879. package/node_modules/content-type/HISTORY.md +0 -29
  880. package/node_modules/content-type/index.js +0 -225
  881. package/node_modules/negotiator/node_modules/content-type/LICENSE +0 -22
  882. package/node_modules/negotiator/node_modules/content-type/README.md +0 -71
  883. package/node_modules/negotiator/node_modules/content-type/dist/index.d.ts +0 -46
  884. package/node_modules/negotiator/node_modules/content-type/dist/index.js +0 -176
  885. package/node_modules/negotiator/node_modules/content-type/dist/index.js.map +0 -1
  886. package/node_modules/negotiator/node_modules/content-type/package.json +0 -52
  887. package/node_modules/on-finished/HISTORY.md +0 -98
  888. package/node_modules/type-is/node_modules/content-type/LICENSE +0 -22
  889. package/node_modules/type-is/node_modules/content-type/README.md +0 -71
  890. package/node_modules/type-is/node_modules/content-type/dist/index.d.ts +0 -46
  891. package/node_modules/type-is/node_modules/content-type/dist/index.js +0 -176
  892. package/node_modules/type-is/node_modules/content-type/dist/index.js.map +0 -1
  893. package/node_modules/type-is/node_modules/content-type/package.json +0 -52
  894. /package/lib/init/template/vue/files/src/{main.js → main.{{extension}}.hbs} +0 -0
  895. /package/{lib/import/openapi → node_modules/@cap-js/openapi/lib/import}/utilities.js +0 -0
  896. /package/node_modules/{body-parser/node_modules/content-type → content-type}/dist/index.d.ts +0 -0
  897. /package/node_modules/{body-parser/node_modules/content-type → content-type}/dist/index.js +0 -0
  898. /package/node_modules/{body-parser/node_modules/content-type → content-type}/dist/index.js.map +0 -0
@@ -0,0 +1,24 @@
1
+ import { Query } from '../query.js';
2
+ import * as cqn from '../cqn'
3
+
4
+ export class SELECT extends Query {
5
+ static from(...args: any[]): SELECT;
6
+ static columns(...args: any[]): SELECT;
7
+ static get localized(): SELECT;
8
+ static get distinct(): SELECT;
9
+ static get one(): SELECT;
10
+ SELECT: cqn.SELECT;
11
+ get localized(): this;
12
+ get distinct(): this;
13
+ get one(): this;
14
+ columns(...args: any[]): this;
15
+ from(...args: any[]): this;
16
+ where(...args: any[]): this;
17
+ having(...args: any[]): this;
18
+ groupBy(...args: any[]): this;
19
+ orderBy(...args: any[]): this;
20
+ limit(...args: any[]): this;
21
+ top(...args: any[]): this;
22
+ skip(...args: any[]): this;
23
+ offset(...args: any[]): this;
24
+ }
@@ -0,0 +1,10 @@
1
+ import { Query } from '../query.js';
2
+ import * as cqn from '../cqn'
3
+
4
+ export class UPDATE extends Query {
5
+ static entity(...args: any[]): UPDATE;
6
+ UPDATE: cqn.UPDATE;
7
+ where(...args: any[]): this;
8
+ with(data: any, x: any): this;
9
+ set(data: any, x: any): this;
10
+ }
@@ -0,0 +1,18 @@
1
+ import * as cqn from './cqn'
2
+
3
+ export class Query {
4
+ /**
5
+ * - Fills in any binding `{param}`s with corresponding `{val}`s from given `args`.
6
+ * - If no `args` are provided, the ones collected during parsing are used.
7
+ */
8
+ bind(...args: any[]): this;
9
+
10
+ /**
11
+ * Returns the main subject `{ref}` of the query, which refers to the entity being queried or modified.
12
+ * - For `SELECT` and `DELETE` queries, this is the `from` clause.
13
+ * - For `INSERT` and `UPSERT` queries, this is the `into` clause.
14
+ * - For `UPDATE` queries, this is the `entity` clause.
15
+ * @returns {ref:string[]} The main subject of the query.
16
+ */
17
+ get subject(): cqn.ref;
18
+ }
@@ -0,0 +1 @@
1
+ import*as fluent from"../lib/xl/fluent.js";import{SELECT}from"../lib/ql/select.js";import{INSERT}from"../lib/ql/insert.js";import{UPSERT}from"../lib/ql/insert.js";import{UPDATE}from"../lib/ql/update.js";import{DELETE}from"../lib/ql/delete.js";import{CALL}from"../lib/ql/call-action.js";class peg$SyntaxError extends SyntaxError{constructor(t,e,r,n){super(t),this.expected=e,this.found=r,this.location=n,this.name="SyntaxError"}format(t){let e="Error: "+this.message;if(this.location){let r=null;const n=t.find(t=>t.source===this.location.source);n&&(r=n.text.split(/\r\n|\n|\r/g));const o=this.location.start,s=this.location.source&&"function"==typeof this.location.source.offset?this.location.source.offset(o):o,u=this.location.source+":"+s.line+":"+s.column;if(r){const t=this.location.end,n="".padEnd(s.line.toString().length," "),l=r[o.line-1],i=(o.line===t.line?t.column:l.length+1)-o.column||1;e+="\n --\x3e "+u+"\n"+n+" |\n"+s.line+" | "+l+"\n"+n+" | "+"".padEnd(o.column-1," ")+"".padEnd(i,"^")}else e+="\n at "+u}return e}static buildMessage(t,e){function r(t){return t.codePointAt(0).toString(16).toUpperCase()}const n=Object.prototype.hasOwnProperty.call(RegExp.prototype,"unicode")?new RegExp("[\\p{C}\\p{Mn}\\p{Mc}]","gu"):null;function o(t){return n?t.replace(n,t=>"\\u{"+r(t)+"}"):t}function s(t){return o(t.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,t=>"\\x0"+r(t)).replace(/[\x10-\x1F\x7F-\x9F]/g,t=>"\\x"+r(t)))}function u(t){return o(t.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,t=>"\\x0"+r(t)).replace(/[\x10-\x1F\x7F-\x9F]/g,t=>"\\x"+r(t)))}const l={literal:t=>'"'+s(t.text)+'"',class(t){const e=t.parts.map(t=>Array.isArray(t)?u(t[0])+"-"+u(t[1]):u(t));return"["+(t.inverted?"^":"")+e.join("")+"]"+(t.unicode?"u":"")},any:()=>"any character",end:()=>"end of input",other:t=>t.description};function i(t){return l[t.type](t)}return"Expected "+function(t){const e=t.map(i);if(e.sort(),e.length>0){let t=1;for(let r=1;r<e.length;r++)e[r-1]!==e[r]&&(e[t]=e[r],t++);e.length=t}switch(e.length){case 1:return e[0];case 2:return e[0]+" or "+e[1];default:return e.slice(0,-1).join(", ")+", or "+e[e.length-1]}}(t)+" but "+function(t){return t?'"'+s(t)+'"':"end of input"}(e)+" found."}}function peg$parse(t,e){const r={},n=(e=void 0!==e?e:{}).grammarSource,o={CQL:kr,subject:cn,columns:Jr,values:Ln,ref:pn,val:dn,expr:fn,set:nn,with:rn,where:Xr,groupBy:tn,orderBy:en};let s=kr;const u="select",l="stream",i="localized",a="distinct",c="one",f="from",h="where",p="group by",d="having",C="order by",b="limit",g="offset",w="as",L="*",A="[",m="]",E="asc",x="desc",v="insert",y="upsert",_="into",S="entries",T="columns",$="rows",R="values",F="update",I="entity",j="with",O="set",N="=",P="{",U=":",D="}",z="delete",B="call",M="action",q="function",Z="![",H="#",W="?",Y="and",k="or",G="in",Q="between",V="like",J="exists",K="contains",X="case",tt="when",et="then",rt="else",nt="end",ot="is",st="not",ut="null",lt="empty",it="-",at=".",ct="e",ft="'",ht="''",pt="\\'",dt="true",Ct="false",bt="$user",gt="(",wt=")",Lt=",",At="//",mt="--",Et=/^[A-Za-z_$]/,xt=/^[A-Za-z0-9_$]/,vt=/^[^\]]/,yt=/^[!=><+\-*\/%&|\^~]/,_t=/^[0-9]/,St=/^[^']/,Tt=/^[A-Za-z_$0-9]/,$t=/^[ \t\n\r]/,Rt=/^[^\n\r]/,Ft=Br("SELECT",!0),It=Br("STREAM",!0),jt=Br("LOCALIZED",!0),Ot=Br("DISTINCT",!0),Nt=Br("ONE",!0),Pt=Br("FROM",!0),Ut=Br("WHERE",!0),Dt={type:"any"},zt=Br("GROUP BY",!0),Bt=Br("HAVING",!0),Mt=Br("ORDER BY",!0),qt=Br("LIMIT",!0),Zt=Br("OFFSET",!0),Ht=Br("as",!0),Wt=Br("*",!1),Yt=Br("[",!1),kt=Br("]",!1),Gt=Br("asc",!0),Qt=Br("desc",!0),Vt=Br("INSERT",!0),Jt=Br("UPSERT",!0),Kt=Br("INTO",!0),Xt=Br("ENTRIES",!0),te=Br("COLUMNS",!0),ee=Br("ROWS",!0),re=Br("VALUES",!0),ne=Br("UPDATE",!0),oe=Br("ENTITY",!0),se=Br("WITH",!0),ue=Br("SET",!0),le=Br("=",!1),ie=Br("{",!1),ae=Br(":",!1),ce=Br("}",!1),fe=Br("DELETE",!0),he=Br("CALL",!0),pe=Br("ACTION",!0),de=Br("FUNCTION",!0),Ce=Br("from",!0),be=Br("where",!0),ge=Br("group by",!0),we=Br("order by",!0),Le=Br("limit",!0),Ae=Br("offset",!0),me=qr("a name"),Ee=Br("AS",!0),xe=Mr([["A","Z"],["a","z"],"_","$"],!1,!1,!1),ve=Mr([["A","Z"],["a","z"],["0","9"],"_","$"],!1,!1,!1),ye=qr("a quoted identifier"),_e=Br("![",!1),Se=Mr(["]"],!0,!1,!1),Te=qr("an element ref"),$e=qr("an entity ref"),Re=qr("a reference"),Fe=qr("a value"),Ie=qr("a list"),je=qr("a function"),Oe=qr("a symbol"),Ne=Br("#",!1),Pe=qr("a parameter"),Ue=Br("?",!1),De=qr("an operator"),ze=Mr(["!","=",">","<","+","-","*","/","%","&","|","^","~"],!1,!1,!1),Be=Br("and",!0),Me=Br("or",!0),qe=Br("in",!0),Ze=Br("between",!0),He=Br("like",!0),We=Br("exists",!0),Ye=Br("contains",!0),ke=Br("case",!0),Ge=Br("when",!0),Qe=Br("then",!0),Ve=Br("else",!0),Je=Br("end",!0),Ke=Br("is",!0),Xe=Br("not",!0),tr=Br("null",!0),er=Br("empty",!0),rr=qr("a literal"),nr=Br("-",!1),or=Mr([["0","9"]],!1,!1,!1),sr=Br(".",!1),ur=Br("e",!1),lr=Br("'",!1),ir=Br("''",!1),ar=Br("\\'",!1),cr=Mr(["'"],!0,!1,!1),fr=Br("null",!1),hr=Br("true",!1),pr=Br("false",!1),dr=Br("$user",!1),Cr=Br("(",!1),br=Br(")",!1),gr=Mr([["A","Z"],["a","z"],"_","$",["0","9"]],!1,!1,!1),wr=qr("a comma"),Lr=Br(",",!1),Ar=qr(""),mr=Mr([" ","\t","\n","\r"],!1,!1,!1),Er=Br("//",!1),xr=Br("--",!1),vr=Mr(["\n","\r"],!0,!1,!1);function yr(t,e){t.as=e}function _r(t,e,r){e?t.inline=r:t.expand=r}function Sr(t,e){t.as=e}function Tr(t,e){t.sort=e.toLowerCase()}function $r(t,e,r){t[e]=r}function Rr(t,e,r){t[e]="val"in r?r.val:r}function Fr(t,e){return e?{id:t,...e}:t}let Ir=0|e.peg$currPos,jr=Ir;const Or=[{line:1,column:1}];let Nr,Pr=Ir,Ur=e.peg$maxFailExpected||[],Dr=0|e.peg$silentFails;if(e.startRule){if(!(e.startRule in o))throw new Error("Can't start parsing from rule \""+e.startRule+'".');s=o[e.startRule]}function zr(){return t.substring(jr,Ir)}function Br(t,e){return{type:"literal",text:t,ignoreCase:e}}function Mr(t,e,r,n){return{type:"class",parts:t,inverted:e,ignoreCase:r,unicode:n}}function qr(t){return{type:"other",description:t}}function Zr(e){let r,n=Or[e];if(n)return n;if(e>=Or.length)r=Or.length-1;else for(r=e;!Or[--r];);for(n=Or[r],n={line:n.line,column:n.column};r<e;)10===t.charCodeAt(r)?(n.line++,n.column=1):n.column++,r++;return Or[e]=n,n}function Hr(t,e,r){const o=Zr(t),s=Zr(e),u={source:n,start:{offset:t,line:o.line,column:o.column},end:{offset:e,line:s.line,column:s.column}};return r&&n&&"function"==typeof n.offset&&(u.start=n.offset(u.start),u.end=n.offset(u.end)),u}function Wr(t){Ir<Pr||(Ir>Pr&&(Pr=Ir,Ur=[]),Ur.push(t))}function Yr(t,e,r){return new peg$SyntaxError(peg$SyntaxError.buildMessage(t,e),t,e,r)}function kr(){let e,n,o,s;var u;return e=Ir,n=Rn(),o=Gr(),o===r&&(o=function(){let e,n,o,s,u,l,i,a,c,h,p,d,C,b;e=Ir,n=Ir,o=t.substr(Ir,6),o.toLowerCase()===v?Ir+=6:(o=r,0===Dr&&Wr(Vt));o!==r?(s=Fn(),s!==r?(jr=n,n=new INSERT):(Ir=n,n=r)):(Ir=n,n=r);n===r&&(n=Ir,o=t.substr(Ir,6),o.toLowerCase()===y?Ir+=6:(o=r,0===Dr&&Wr(Jt)),o!==r?(s=Fn(),s!==r?(jr=n,n=new UPSERT):(Ir=n,n=r)):(Ir=n,n=r));if(n!==r)if(o=Ir,s=En(),s!==r&&(jr=o,g=s,s=void(n._.entries=Array.isArray(g)?g:[g])),o=s,o===r&&(o=null),s=Ir,u=Ir,l=t.substr(Ir,4),l.toLowerCase()===_?Ir+=4:(l=r,0===Dr&&Wr(Kt)),l!==r?(i=Fn(),i!==r?(l=[l,i],u=l):(Ir=u,u=r)):(Ir=u,u=r),u!==r?(l=cn(),l!==r?(jr=s,s=function(t,e){t._.into=e}(n,l)):(Ir=s,s=r)):(Ir=s,s=r),s!==r){if(u=Ir,l=t.substr(Ir,4),l.toLowerCase()===f?Ir+=4:(l=r,0===Dr&&Wr(Pt)),l!==r?(i=Fn(),i!==r?(a=En(),a!==r?(jr=u,u=function(t,e){t._.from=e}(n,a)):(Ir=u,u=r)):(Ir=u,u=r)):(Ir=u,u=r),u===r&&(u=Ir,l=Gr(),l!==r&&(jr=u,l=function(t,e){t._.from=e}(n,l)),u=l),u===r){if(u=Ir,l=Ir,i=Ir,a=t.substr(Ir,7),a.toLowerCase()===S?Ir+=7:(a=r,0===Dr&&Wr(Xt)),a!==r?(c=Fn(),c!==r?(a=[a,c],i=a):(Ir=i,i=r)):(Ir=i,i=r),i===r&&(i=null),a=Ir,c=En(),c===r){for(c=Ir,h=[],p=on();p!==r;)h.push(p),p=Ir,d=Tn(),d!==r?(d=on(),d===r?(Ir=p,p=r):p=d):p=d;h.length<1?(Ir=c,c=r):c=h}if(c!==r&&(jr=a,c=function(t,e){t._tail(e)}(n,c)),a=c,a!==r?(i=[i,a],l=i):(Ir=l,l=r),l===r&&(l=null),i=Ir,a=Ir,c=t.substr(Ir,7),c.toLowerCase()===T?Ir+=7:(c=r,0===Dr&&Wr(te)),c!==r?(h=Fn(),h!==r?(c=[c,h],a=c):(Ir=a,a=r)):(Ir=a,a=r),a===r&&(a=null),c=En(),c===r)if(c=Ir,h=yn(),h!==r){for(p=Ir,d=[],C=an();C!==r;)d.push(C),C=Ir,b=Tn(),b!==r?(b=an(),b===r?(Ir=C,C=r):C=b):C=b;d.length<1?(Ir=p,p=r):p=d,p!==r?(d=_n(),d!==r?c=p:(Ir=c,c=r)):(Ir=c,c=r)}else Ir=c,c=r;c!==r?(jr=i,i=function(t,e){t._.columns=e}(n,c)):(Ir=i,i=r),i===r&&(i=null),a=Ir,c=Ir,h=t.substr(Ir,4),h.toLowerCase()===$?Ir+=4:(h=r,0===Dr&&Wr(ee)),h!==r?(p=Fn(),p!==r?(h=[h,p],c=h):(Ir=c,c=r)):(Ir=c,c=r),c===r&&(c=null),h=En(),h!==r?(jr=a,a=function(t,e){t._.rows=e}(n,h)):(Ir=a,a=r),a===r&&(a=null),c=Ir,h=Ir,p=t.substr(Ir,6),p.toLowerCase()===R?Ir+=6:(p=r,0===Dr&&Wr(re)),p!==r?(d=Fn(),d!==r?(p=[p,d],h=p):(Ir=h,h=r)):(Ir=h,h=r),h!==r?(p=Cn(),p!==r?(jr=c,c=function(t,e){t._.values=e.list}(n,p)):(Ir=c,c=r)):(Ir=c,c=r),c===r&&(c=null),l=[l,i,a,c],u=l}u!==r?e=n:(Ir=e,e=r)}else Ir=e,e=r;else Ir=e,e=r;var g;return e}(),o===r&&(o=function(){let e,n,o,s,u,l,i,a,f,p;e=Ir,n=Ir,o=t.substr(Ir,6),o.toLowerCase()===F?Ir+=6:(o=r,0===Dr&&Wr(ne));o!==r?(s=Fn(),s!==r?(jr=n,n=new UPDATE):(Ir=n,n=r)):(Ir=n,n=r);n!==r?(o=Ir,s=t.substr(Ir,3),s.toLowerCase()===c?Ir+=3:(s=r,0===Dr&&Wr(Nt)),s!==r?(u=Fn(),u!==r?(jr=o,o=void(n._.one=!0)):(Ir=o,o=r)):(Ir=o,o=r),o===r&&(o=null),s=Ir,u=Ir,l=t.substr(Ir,6),l.toLowerCase()===I?Ir+=6:(l=r,0===Dr&&Wr(oe)),l!==r?(i=Fn(),i!==r?(l=[l,i],u=l):(Ir=u,u=r)):(Ir=u,u=r),u===r&&(u=null),l=cn(),l!==r?(jr=s,s=function(t,e){t._.entity=e}(n,l)):(Ir=s,s=r),s!==r?(u=Ir,l=Ir,i=t.substr(Ir,4),i.toLowerCase()===j?Ir+=4:(i=r,0===Dr&&Wr(se)),i!==r?(a=Fn(),a!==r?(i=[i,a],l=i):(Ir=l,l=r)):(Ir=l,l=r),l!==r?(i=rn(),i!==r?(jr=u,u=function(t,e){t._.data=e}(n,i)):(Ir=u,u=r)):(Ir=u,u=r),u===r&&(u=null),l=Ir,i=Ir,a=t.substr(Ir,3),a.toLowerCase()===O?Ir+=3:(a=r,0===Dr&&Wr(ue)),a!==r?(f=Fn(),f!==r?(a=[a,f],i=a):(Ir=i,i=r)):(Ir=i,i=r),i!==r?(a=nn(),a!==r?(jr=l,l=function(t,e){t._.with=e}(n,a)):(Ir=l,l=r)):(Ir=l,l=r),l===r&&(l=null),i=Ir,a=Ir,f=t.substr(Ir,5),f.toLowerCase()===h?Ir+=5:(f=r,0===Dr&&Wr(Ut)),f!==r?(p=Fn(),p!==r?(f=[f,p],a=f):(Ir=a,a=r)):(Ir=a,a=r),a!==r?(f=Xr(),f!==r?(p=Rn(),jr=i,i=function(t,e){t._.where=e}(n,f)):(Ir=i,i=r)):(Ir=i,i=r),i===r&&(i=null),e=n):(Ir=e,e=r)):(Ir=e,e=r);return e}(),o===r&&(o=function(){let e,n,o,s,u,l,i,a;e=Ir,n=Ir,o=t.substr(Ir,6),o.toLowerCase()===z?Ir+=6:(o=r,0===Dr&&Wr(fe));o!==r?(s=Fn(),s!==r?(jr=n,n=new DELETE):(Ir=n,n=r)):(Ir=n,n=r);n!==r?(o=Ir,s=t.substr(Ir,3),s.toLowerCase()===c?Ir+=3:(s=r,0===Dr&&Wr(Nt)),s!==r?(u=Fn(),u!==r?(jr=o,o=void(n._.one=!0)):(Ir=o,o=r)):(Ir=o,o=r),o===r&&(o=null),s=Ir,u=Ir,l=t.substr(Ir,4),l.toLowerCase()===f?Ir+=4:(l=r,0===Dr&&Wr(Pt)),l!==r?(i=Fn(),i!==r?(l=[l,i],u=l):(Ir=u,u=r)):(Ir=u,u=r),u===r&&(u=null),l=cn(),l!==r?(i=Rn(),jr=s,s=function(t,e){t._.from=e}(n,l)):(Ir=s,s=r),s!==r?(u=Ir,l=Ir,i=t.substr(Ir,5),i.toLowerCase()===h?Ir+=5:(i=r,0===Dr&&Wr(Ut)),i!==r?(a=Fn(),a!==r?(i=[i,a],l=i):(Ir=l,l=r)):(Ir=l,l=r),l!==r?(i=Xr(),i!==r?(a=Rn(),jr=u,u=function(t,e){t._.where=e}(n,i)):(Ir=u,u=r)):(Ir=u,u=r),u===r&&(u=null),e=n):(Ir=e,e=r)):(Ir=e,e=r);return e}(),o===r&&(o=function(){let e,n,o,s,u,l,i;e=Ir,n=Ir,o=t.substr(Ir,4),o.toLowerCase()===B?Ir+=4:(o=r,0===Dr&&Wr(he));o!==r?(s=Fn(),s!==r?(jr=n,n=new CALL):(Ir=n,n=r)):(Ir=n,n=r);n!==r?(o=Ir,s=Ir,u=t.substr(Ir,6),u.toLowerCase()===M?Ir+=6:(u=r,0===Dr&&Wr(pe)),u===r&&(u=t.substr(Ir,8),u.toLowerCase()===q?Ir+=8:(u=r,0===Dr&&Wr(de))),u!==r?(l=Fn(),l!==r?(u=[u,l],s=u):(Ir=s,s=r)):(Ir=s,s=r),s===r&&(s=null),u=un(),u!==r?(l=Rn(),jr=o,a=u,o=void(n._.action=a)):(Ir=o,o=r),o!==r?(s=Ir,u=Ir,l=t.substr(Ir,4),l.toLowerCase()===j?Ir+=4:(l=r,0===Dr&&Wr(se)),l!==r?(i=Fn(),i!==r?(l=[l,i],u=l):(Ir=u,u=r)):(Ir=u,u=r),u===r&&(u=null),l=on(),l!==r?(i=Rn(),jr=s,s=function(t,e){Object.assign(t._,{with:e})}(n,l)):(Ir=s,s=r),s!==r?e=n:(Ir=e,e=r)):(Ir=e,e=r)):(Ir=e,e=r);var a;return e}())))),o!==r?(s=Rn(),jr=e,u=o,jn?.length&&(u.params=jn),On?.length&&(u.args=On),u.source=zr(),e=u):(Ir=e,e=r),e}function Gr(){let e,n,o,s,p,d,C,b,g,w,L,A,m,E;return e=Ir,n=Ir,o=t.substr(Ir,6),o.toLowerCase()===u?Ir+=6:(o=r,0===Dr&&Wr(Ft)),o!==r?(s=Fn(),s!==r?(jr=n,n=new SELECT):(Ir=n,n=r)):(Ir=n,n=r),n===r&&(n=Ir,o=t.substr(Ir,6),o.toLowerCase()===l?Ir+=6:(o=r,0===Dr&&Wr(It)),o!==r?(s=Fn(),s!==r?(jr=n,n=function(){let t=new SELECT;return t._.stream=!0,t}()):(Ir=n,n=r)):(Ir=n,n=r)),n!==r?(o=Ir,s=t.substr(Ir,9),s.toLowerCase()===i?Ir+=9:(s=r,0===Dr&&Wr(jt)),s!==r?(p=Fn(),p!==r?(jr=o,o=void(n._.localized=!0)):(Ir=o,o=r)):(Ir=o,o=r),o===r&&(o=null),s=Ir,p=t.substr(Ir,8),p.toLowerCase()===a?Ir+=8:(p=r,0===Dr&&Wr(Ot)),p!==r?(d=Fn(),d!==r?(jr=s,s=function(t){t._.distinct=!0}(n)):(Ir=s,s=r)):(Ir=s,s=r),s===r&&(s=null),p=Ir,d=t.substr(Ir,6),d.toLowerCase()===l?Ir+=6:(d=r,0===Dr&&Wr(It)),d!==r?(C=Fn(),C!==r?(jr=p,p=function(t){t._.stream=!0}(n)):(Ir=p,p=r)):(Ir=p,p=r),p===r&&(p=null),d=Ir,C=t.substr(Ir,3),C.toLowerCase()===c?Ir+=3:(C=r,0===Dr&&Wr(Nt)),C!==r?(b=Fn(),b!==r?(jr=d,d=function(t){t._.one=!0}(n)):(Ir=d,d=r)):(Ir=d,d=r),d===r&&(d=null),C=Ir,b=Jr(),b!==r?(g=Rn(),jr=C,C=function(t,e){t._.columns=e}(n,b)):(Ir=C,C=r),C===r&&(C=null),b=Ir,g=t.substr(Ir,4),g.toLowerCase()===f?Ir+=4:(g=r,0===Dr&&Wr(Pt)),g!==r?(w=Fn(),w!==r?(L=cn(),L===r&&(L=mn()),L!==r?(jr=b,b=function(t,e){t._.from=e}(n,L)):(Ir=b,b=r)):(Ir=b,b=r)):(Ir=b,b=r),b===r&&(b=null),g=Ir,w=xn(),w!==r?(L=Jr(),L!==r?(A=vn(),A!==r?(jr=g,g=function(t,e){t._.columns=e}(n,L)):(Ir=g,g=r)):(Ir=g,g=r)):(Ir=g,g=r),g===r&&(g=null),w=Ir,L=t.substr(Ir,5),L.toLowerCase()===h?Ir+=5:(L=r,0===Dr&&Wr(Ut)),L!==r?(A=Fn(),A!==r?(m=Xr(),m!==r?(E=Rn(),jr=w,w=function(t,e){t._.where=e}(n,m)):(Ir=w,w=r)):(Ir=w,w=r)):(Ir=w,w=r),w===r&&(w=null),L=Ir,A=Qr(),A!==r&&(jr=L,A=function(t,e){Object.assign(t._,e)}(n,A)),L=A,L===r&&(L=null),e=n):(Ir=e,e=r),e}function Qr(){let e,n,o,s,u,l,i,a,c,f;var h;return e=Ir,n=Ir,o=Ir,Dr++,t.length>Ir?(s=t.charAt(Ir),Ir++):(s=r,0===Dr&&Wr(Dt)),Dr--,s!==r?(Ir=o,o=void 0):o=r,o!==r&&(jr=n,o={}),n=o,n!==r?(o=Ir,s=Ir,u=t.substr(Ir,8),u.toLowerCase()===p?Ir+=8:(u=r,0===Dr&&Wr(zt)),u!==r?(l=Fn(),l!==r?(i=tn(),i!==r?(a=Rn(),jr=s,h=i,s=void(n.groupBy=h)):(Ir=s,s=r)):(Ir=s,s=r)):(Ir=s,s=r),s!==r?(u=Ir,l=t.substr(Ir,6),l.toLowerCase()===d?Ir+=6:(l=r,0===Dr&&Wr(Bt)),l!==r?(i=Fn(),i!==r?(a=Xr(),a!==r?(c=Rn(),jr=u,u=function(t,e){t.having=e}(n,a)):(Ir=u,u=r)):(Ir=u,u=r)):(Ir=u,u=r),u===r&&(u=null),s=[s,u],o=s):(Ir=o,o=r),o===r&&(o=null),s=Ir,u=Ir,l=t.substr(Ir,8),l.toLowerCase()===C?Ir+=8:(l=r,0===Dr&&Wr(Mt)),l!==r?(i=Fn(),i!==r?(l=[l,i],u=l):(Ir=u,u=r)):(Ir=u,u=r),u!==r?(l=en(),l!==r?(i=Rn(),jr=s,s=function(t,e){t.orderBy=e}(n,l)):(Ir=s,s=r)):(Ir=s,s=r),s===r&&(s=null),u=Ir,l=Ir,i=t.substr(Ir,5),i.toLowerCase()===b?Ir+=5:(i=r,0===Dr&&Wr(qt)),i!==r?(a=Fn(),a!==r?(c=pn(),c===r&&(c=dn()),c!==r?(f=Rn(),jr=l,l=function(t,e){t.limit={rows:e}}(n,c)):(Ir=l,l=r)):(Ir=l,l=r)):(Ir=l,l=r),l!==r?(i=Ir,a=Ir,c=t.substr(Ir,6),c.toLowerCase()===g?Ir+=6:(c=r,0===Dr&&Wr(Zt)),c!==r?(f=Fn(),f!==r?(c=[c,f],a=c):(Ir=a,a=r)):(Ir=a,a=r),a===r&&(a=Tn()),a!==r?(c=pn(),c===r&&(c=dn()),c!==r?(f=Rn(),jr=i,i=function(t,e){t.limit.offset=e}(n,c)):(Ir=i,i=r)):(Ir=i,i=r),i===r&&(i=null),l=[l,i],u=l):(Ir=u,u=r),u===r&&(u=null),e=n):(Ir=e,e=r),e}function Vr(){let e,n,o,s,u;return e=Ir,n=Ir,o=Rn(),n=t.substring(n,Ir),o=t.substr(Ir,2),o.toLowerCase()===w?Ir+=2:(o=r,0===Dr&&Wr(Ht)),o!==r?(s=Fn(),s!==r?(u=un(),u!==r?e=u:(Ir=e,e=r)):(Ir=e,e=r)):(Ir=e,e=r),e}function Jr(){let e,n,o,s,u,l,i,a,c,f,h,p;for(e=Ir,n=Ir,o=[],42===t.charCodeAt(Ir)?(s=L,Ir++):(s=r,0===Dr&&Wr(Wt)),s===r&&(s=Ir,u=pn(),u!==r?(l=Ir,i=Vr(),i!==r&&(jr=l,i=yr(u,i)),l=i,l===r&&(l=null),i=$n(),i===r&&(i=null),a=Ir,c=xn(),c!==r?(f=Jr(),f!==r?(h=vn(),h!==r?(jr=a,a=_r(u,i,f)):(Ir=a,a=r)):(Ir=a,a=r)):(Ir=a,a=r),a!==r?s=u:(Ir=s,s=r)):(Ir=s,s=r),s===r&&(s=Ir,u=fn(),u!==r?(l=Ir,i=Vr(),i!==r&&(jr=l,i=Sr(u,i)),l=i,l===r&&(l=null),s=u):(Ir=s,s=r)));s!==r;)o.push(s),s=Ir,u=Tn(),u!==r?(42===t.charCodeAt(Ir)?(u=L,Ir++):(u=r,0===Dr&&Wr(Wt)),u===r&&(u=Ir,l=pn(),l!==r?(i=Ir,a=Vr(),a!==r&&(jr=i,a=yr(l,a)),i=a,i===r&&(i=null),a=$n(),a===r&&(a=null),c=Ir,f=xn(),f!==r?(h=Jr(),h!==r?(p=vn(),p!==r?(jr=c,c=_r(l,a,h)):(Ir=c,c=r)):(Ir=c,c=r)):(Ir=c,c=r),c!==r?u=l:(Ir=u,u=r)):(Ir=u,u=r),u===r&&(u=Ir,l=fn(),l!==r?(i=Ir,a=Vr(),a!==r&&(jr=i,a=Sr(l,a)),i=a,i===r&&(i=null),u=l):(Ir=u,u=r))),u===r?(Ir=s,s=r):s=u):s=u;return o.length<1?(Ir=n,n=r):n=o,n!==r?(o=Tn(),o===r&&(o=null),e=n):(Ir=e,e=r),e}function Kr(){let e,n,o,s,u,l,i,a;return e=Ir,n=Rn(),91===t.charCodeAt(Ir)?(o=A,Ir++):(o=r,0===Dr&&Wr(Yt)),o!==r?(s=Rn(),u=function(){let e,n,o,s,u;e=Ir,n=En(),n!==r&&(jr=e,l=n,n={where:fluent.where(l)});var l;if(e=n,e===r){for(e=Ir,n=Ir,o=[],s=dn();s!==r;)o.push(s),s=Ir,u=Tn(),u!==r?(u=dn(),u===r?(Ir=s,s=r):s=u):s=u;o.length<1?(Ir=n,n=r):n=o,n!==r&&(jr=e,n={where:n}),e=n,e===r&&(e=Ir,n=Ir,o=Ir,s=t.substr(Ir,5),s.toLowerCase()===h?Ir+=5:(s=r,0===Dr&&Wr(Ut)),s!==r?(u=Fn(),u!==r?(s=[s,u],o=s):(Ir=o,o=r)):(Ir=o,o=r),o===r&&(o=null),s=Xr(),s!==r?(u=Rn(),n=s):(Ir=n,n=r),n===r&&(n=null),o=Qr(),o===r&&(o=null),jr=e,a=o,e=(i=n)?{where:i,...a}:a)}var i,a;return e}(),u!==r?(l=Rn(),93===t.charCodeAt(Ir)?(i=m,Ir++):(i=r,0===Dr&&Wr(kt)),i!==r?(a=Rn(),e=u):(Ir=e,e=r)):(Ir=e,e=r)):(Ir=e,e=r),e}function Xr(){let t,e;var n;return t=Ir,e=En(),e!==r&&(jr=t,n=e,e=fluent.where(n)),t=e,t===r&&(t=Ir,e=hn(),e!==r&&(jr=t,e=e.xpr),t=e),t}function tn(){let t,e,n,o,s;for(t=Ir,e=[],n=Ir,o=bn(),o===r&&(o=pn()),o!==r?n=o:(Ir=n,n=r);n!==r;)e.push(n),n=Ir,o=Tn(),o!==r?(o=Ir,s=bn(),s===r&&(s=pn()),s!==r?o=s:(Ir=o,o=r),o===r?(Ir=n,n=r):n=o):n=o;return e.length<1?(Ir=t,t=r):t=e,t}function en(){let e,n,o,s,u,l,i,a;for(e=Ir,n=[],o=Ir,s=bn(),s===r&&(s=pn()),s!==r?(u=Ir,l=Rn(),i=t.substr(Ir,3),i.toLowerCase()===E?Ir+=3:(i=r,0===Dr&&Wr(Gt)),i===r&&(i=t.substr(Ir,4),i.toLowerCase()===x?Ir+=4:(i=r,0===Dr&&Wr(Qt))),i!==r?(jr=u,u=Tr(s,i)):(Ir=u,u=r),u===r&&(u=null),o=s):(Ir=o,o=r);o!==r;)n.push(o),o=Ir,s=Tn(),s!==r?(s=Ir,u=bn(),u===r&&(u=pn()),u!==r?(l=Ir,i=Rn(),a=t.substr(Ir,3),a.toLowerCase()===E?Ir+=3:(a=r,0===Dr&&Wr(Gt)),a===r&&(a=t.substr(Ir,4),a.toLowerCase()===x?Ir+=4:(a=r,0===Dr&&Wr(Qt))),a!==r?(jr=l,l=Tr(u,a)):(Ir=l,l=r),l===r&&(l=null),s=u):(Ir=s,s=r),s===r?(Ir=o,o=r):o=s):o=s;return n.length<1?(Ir=e,e=r):e=n,e}function rn(){let t;return t=En(),t===r&&(t=on()),t}function nn(){let e,n,o,s,u,l,i,a,c,f,h;for(e=Ir,n=Ir,o="",jr=n,o={},n=o,o=Ir,s=[],u=Ir,l=an(),l!==r?(i=Rn(),61===t.charCodeAt(Ir)?(a=N,Ir++):(a=r,0===Dr&&Wr(le)),a!==r?(c=Rn(),f=wn(),f===r&&(f=fn()),f!==r?(jr=u,u=$r(n,l,f)):(Ir=u,u=r)):(Ir=u,u=r)):(Ir=u,u=r);u!==r;)s.push(u),u=Ir,l=Tn(),l!==r?(l=Ir,i=an(),i!==r?(a=Rn(),61===t.charCodeAt(Ir)?(c=N,Ir++):(c=r,0===Dr&&Wr(le)),c!==r?(f=Rn(),h=wn(),h===r&&(h=fn()),h!==r?(jr=l,l=$r(n,i,h)):(Ir=l,l=r)):(Ir=l,l=r)):(Ir=l,l=r),l===r?(Ir=u,u=r):u=l):u=l;return s.length<1?(Ir=o,o=r):o=s,o!==r?(s=Rn(),e=n):(Ir=e,e=r),e}function on(){let e,n,o,s,u,l,i,a,c,f,h,p;if(e=Ir,n=Ir,o=Ir,s=Rn(),123===t.charCodeAt(Ir)?(u=P,Ir++):(u=r,0===Dr&&Wr(ie)),u!==r?(l=Rn(),jr=o,o={}):(Ir=o,o=r),o!==r){for(s=Ir,u=[],l=Ir,i=an(),i!==r?(a=Rn(),58===t.charCodeAt(Ir)?(c=U,Ir++):(c=r,0===Dr&&Wr(ae)),c!==r?(f=Rn(),h=dn(),h===r&&(h=on(),h===r&&(h=sn())),h!==r?(jr=l,l=Rr(o,i,h)):(Ir=l,l=r)):(Ir=l,l=r)):(Ir=l,l=r);l!==r;)u.push(l),l=Ir,i=Tn(),i!==r?(i=Ir,a=an(),a!==r?(c=Rn(),58===t.charCodeAt(Ir)?(f=U,Ir++):(f=r,0===Dr&&Wr(ae)),f!==r?(h=Rn(),p=dn(),p===r&&(p=on(),p===r&&(p=sn())),p!==r?(jr=i,i=Rr(o,a,p)):(Ir=i,i=r)):(Ir=i,i=r)):(Ir=i,i=r),i===r?(Ir=l,l=r):l=i):l=i;u.length<1?(Ir=s,s=r):s=u,s!==r?(u=Tn(),u===r&&(u=null),l=Rn(),125===t.charCodeAt(Ir)?(i=D,Ir++):(i=r,0===Dr&&Wr(ce)),i!==r?(a=Rn(),n=o):(Ir=n,n=r)):(Ir=n,n=r)}else Ir=n,n=r;return n!==r?e=n:(Ir=e,e=r),e}function sn(){let e,n,o,s,u,l,i,a,c;if(e=Ir,n=Rn(),91===t.charCodeAt(Ir)?(o=A,Ir++):(o=r,0===Dr&&Wr(Yt)),o!==r){for(s=Rn(),u=Ir,l=[],i=on();i!==r;)l.push(i),i=Ir,a=Tn(),a!==r?(a=on(),a===r?(Ir=i,i=r):i=a):i=a;l.length<1?(Ir=u,u=r):u=l,u!==r?(l=Tn(),l===r&&(l=null),i=Rn(),93===t.charCodeAt(Ir)?(a=m,Ir++):(a=r,0===Dr&&Wr(kt)),a!==r?(c=Rn(),e=u):(Ir=e,e=r)):(Ir=e,e=r)}else Ir=e,e=r;return e}function un(){let e,n,o,s,u,l,i,a;if(Dr++,e=Ir,n=Ir,Dr++,o=t.substr(Ir,2),o.toLowerCase()===w?Ir+=2:(o=r,0===Dr&&Wr(Ee)),Dr--,o===r?n=void 0:(Ir=n,n=r),n!==r)if(o=Ir,Dr++,s=function(){let e;return e=t.substr(Ir,4),e.toLowerCase()===f?Ir+=4:(e=r,0===Dr&&Wr(Ce)),e===r&&(e=t.substr(Ir,5),e.toLowerCase()===h?Ir+=5:(e=r,0===Dr&&Wr(be)),e===r&&(e=t.substr(Ir,8),e.toLowerCase()===p?Ir+=8:(e=r,0===Dr&&Wr(ge)),e===r&&(e=t.substr(Ir,8),e.toLowerCase()===C?Ir+=8:(e=r,0===Dr&&Wr(we)),e===r&&(e=t.substr(Ir,5),e.toLowerCase()===b?Ir+=5:(e=r,0===Dr&&Wr(Le)),e===r&&(e=t.substr(Ir,6),e.toLowerCase()===g?Ir+=6:(e=r,0===Dr&&Wr(Ae))))))),e}(),Dr--,s===r?o=void 0:(Ir=o,o=r),o!==r){if(s=Ir,u=Ir,l=t.charAt(Ir),Et.test(l)?Ir++:(l=r,0===Dr&&Wr(xe)),l!==r){for(i=[],a=t.charAt(Ir),xt.test(a)?Ir++:(a=r,0===Dr&&Wr(ve));a!==r;)i.push(a),a=t.charAt(Ir),xt.test(a)?Ir++:(a=r,0===Dr&&Wr(ve));l=[l,i],u=l}else Ir=u,u=r;s=u!==r?t.substring(s,Ir):u,s!==r?e=s:(Ir=e,e=r)}else Ir=e,e=r;else Ir=e,e=r;return e===r&&(e=ln()),Dr--,e===r&&(n=r,0===Dr&&Wr(me)),e}function ln(){let e,n,o,s,u;if(Dr++,e=Ir,t.substr(Ir,2)===Z?(n=Z,Ir+=2):(n=r,0===Dr&&Wr(_e)),n!==r){if(o=Ir,s=[],u=t.charAt(Ir),vt.test(u)?Ir++:(u=r,0===Dr&&Wr(Se)),u!==r)for(;u!==r;)s.push(u),u=t.charAt(Ir),vt.test(u)?Ir++:(u=r,0===Dr&&Wr(Se));else s=r;o=s!==r?t.substring(o,Ir):s,o!==r?(93===t.charCodeAt(Ir)?(s=m,Ir++):(s=r,0===Dr&&Wr(kt)),s!==r?e=o:(Ir=e,e=r)):(Ir=e,e=r)}else Ir=e,e=r;return Dr--,e===r&&(n=r,0===Dr&&Wr(ye)),e}function an(){let e,n,o,s,u,l;for(Dr++,e=Ir,n=Ir,o=Ir,s=[],u=un();u!==r;)s.push(u),u=Ir,l=$n(),l!==r?(l=un(),l===r?(Ir=u,u=r):u=l):u=l;return s.length<1?(Ir=o,o=r):o=s,n=o!==r?t.substring(n,Ir):o,n!==r?e=n:(Ir=e,e=r),Dr--,e===r&&(n=r,0===Dr&&Wr(Te)),e}function cn(){let e,n,o,s,u,l,i;var a;if(Dr++,e=Ir,n=En(),n!==r&&(jr=e,a=n,n=fluent.subject(a)),e=n,e===r){for(e=Ir,n=Ir,o=[],s=Ir,u=un(),u!==r?(l=$n(),l!==r?(u=[u,l],s=u):(Ir=s,s=r)):(Ir=s,s=r);s!==r;)o.push(s),s=Ir,u=un(),u!==r?(l=$n(),l!==r?(u=[u,l],s=u):(Ir=s,s=r)):(Ir=s,s=r);n=t.substring(n,Ir),o=Ir,s=un(),s!==r?(u=Rn(),58===t.charCodeAt(Ir)?(l=U,Ir++):(l=r,0===Dr&&Wr(ae)),l!==r?(i=Rn(),o=s):(Ir=o,o=r)):(Ir=o,o=r),o===r&&(o=null),s=pn(),s!==r?(u=Rn(),jr=e,e=function(t,e,r){if(e)return{ref:[t+e,...r.ref]};if(t){let[e]=r.ref;e.id?e.id=t+e.id:r.ref[0]=t+e}return r}(n,o,s)):(Ir=e,e=r)}return Dr--,e===r&&(n=r,0===Dr&&Wr($e)),e}function fn(){let t,e;var n;return t=Ir,e=hn(),e!==r&&(jr=t,e=(n=e).xpr.length>1?n:n.xpr[0]),t=e,t}function hn(){let t,e,n,o,s,u;if(t=Ir,e=[],n=mn(),n===r&&(n=Cn(),n===r&&(n=gn(),n===r&&(n=dn(),n===r&&(n=An(),n===r&&(n=bn(),n===r&&(n=pn(),n===r&&(n=Ir,o=yn(),o!==r?(s=fn(),s!==r?(u=_n(),u!==r?n=s:(Ir=n,n=r)):(Ir=n,n=r)):(Ir=n,n=r)))))))),n!==r)for(;n!==r;)e.push(n),n=mn(),n===r&&(n=Cn(),n===r&&(n=gn(),n===r&&(n=dn(),n===r&&(n=An(),n===r&&(n=bn(),n===r&&(n=pn(),n===r&&(n=Ir,o=yn(),o!==r?(s=fn(),s!==r?(u=_n(),u!==r?n=s:(Ir=n,n=r)):(Ir=n,n=r)):(Ir=n,n=r))))))));else e=r;return e!==r&&(jr=t,e={xpr:e.flat()}),t=e,t}function pn(){let e,n,o,s,u,l,i;if(Dr++,e=function(){let e,n,o,s,u;e=Ir,t.substr(Ir,5)===bt?(n=bt,Ir+=5):(n=r,0===Dr&&Wr(dr));n!==r?(o=Ir,Dr++,s=Sn(),Dr--,s===r?o=void 0:(Ir=o,o=r),o!==r?(s=Ir,Dr++,u=$n(),Dr--,u===r?s=void 0:(Ir=s,s=r),s!==r?(jr=e,e={ref:["$user","id"]}):(Ir=e,e=r)):(Ir=e,e=r)):(Ir=e,e=r);return e}(),e===r){for(e=Ir,n=Ir,o=[],s=Ir,u=un(),u!==r?(l=Kr(),l===r&&(l=null),jr=s,s=Fr(u,l)):(Ir=s,s=r);s!==r;)o.push(s),s=Ir,u=$n(),u!==r?(u=Ir,l=un(),l!==r?(i=Kr(),i===r&&(i=null),jr=u,u=Fr(l,i)):(Ir=u,u=r),u===r?(Ir=s,s=r):s=u):s=u;o.length<1?(Ir=n,n=r):n=o,n!==r&&(jr=e,n={ref:n}),e=n}return Dr--,e===r&&(n=r,0===Dr&&Wr(Re)),e}function dn(){let e,n;return Dr++,e=wn(),e===r&&(e=Ir,n=function(){let e,n;Dr++,e=function(){let e,n,o,s,u,l;e=Ir,39===t.charCodeAt(Ir)?(n=ft,Ir++):(n=r,0===Dr&&Wr(lr));if(n!==r){for(o=Ir,s=Ir,u=[],t.substr(Ir,2)===ht?(l=ht,Ir+=2):(l=r,0===Dr&&Wr(ir)),l===r&&(t.substr(Ir,2)===pt?(l=pt,Ir+=2):(l=r,0===Dr&&Wr(ar)),l===r&&(l=t.charAt(Ir),St.test(l)?Ir++:(l=r,0===Dr&&Wr(cr))));l!==r;)u.push(l),t.substr(Ir,2)===ht?(l=ht,Ir+=2):(l=r,0===Dr&&Wr(ir)),l===r&&(t.substr(Ir,2)===pt?(l=pt,Ir+=2):(l=r,0===Dr&&Wr(ar)),l===r&&(l=t.charAt(Ir),St.test(l)?Ir++:(l=r,0===Dr&&Wr(cr))));s=t.substring(s,Ir),jr=o,s=zr().replace(/''|\\'/g,"'"),o=s,39===t.charCodeAt(Ir)?(s=ft,Ir++):(s=r,0===Dr&&Wr(lr)),s!==r?e=o:(Ir=e,e=r)}else Ir=e,e=r;return e}(),e===r&&(e=function(){let e,n,o,s,u,l,i,a,c,f;e=Ir,n=Ir,o=Ir,45===t.charCodeAt(Ir)?(s=it,Ir++):(s=r,0===Dr&&Wr(nr));s===r&&(s=null);u=[],l=t.charAt(Ir),_t.test(l)?Ir++:(l=r,0===Dr&&Wr(or));if(l!==r)for(;l!==r;)u.push(l),l=t.charAt(Ir),_t.test(l)?Ir++:(l=r,0===Dr&&Wr(or));else u=r;if(u!==r){if(l=Ir,46===t.charCodeAt(Ir)?(i=at,Ir++):(i=r,0===Dr&&Wr(sr)),i!==r){if(a=[],c=t.charAt(Ir),_t.test(c)?Ir++:(c=r,0===Dr&&Wr(or)),c!==r)for(;c!==r;)a.push(c),c=t.charAt(Ir),_t.test(c)?Ir++:(c=r,0===Dr&&Wr(or));else a=r;a!==r?(i=[i,a],l=i):(Ir=l,l=r)}else Ir=l,l=r;if(l===r&&(l=null),i=Ir,101===t.charCodeAt(Ir)?(a=ct,Ir++):(a=r,0===Dr&&Wr(ur)),a!==r){if(c=[],f=t.charAt(Ir),_t.test(f)?Ir++:(f=r,0===Dr&&Wr(or)),f!==r)for(;f!==r;)c.push(f),f=t.charAt(Ir),_t.test(f)?Ir++:(f=r,0===Dr&&Wr(or));else c=r;c!==r?(a=[a,c],i=a):(Ir=i,i=r)}else Ir=i,i=r;i===r&&(i=null),s=[s,u,l,i],o=s}else Ir=o,o=r;n=o!==r?t.substring(n,Ir):o;n!==r&&(jr=e,n=Number(n));return e=n,e}(),e===r&&(e=function(){let e,n,o,s;e=Ir,t.substr(Ir,4)===dt?(n=dt,Ir+=4):(n=r,0===Dr&&Wr(hr));n!==r?(o=Ir,Dr++,s=Sn(),Dr--,s===r?o=void 0:(Ir=o,o=r),o!==r?(jr=e,e=!0):(Ir=e,e=r)):(Ir=e,e=r);return e}(),e===r&&(e=function(){let e,n,o,s;e=Ir,t.substr(Ir,5)===Ct?(n=Ct,Ir+=5):(n=r,0===Dr&&Wr(pr));n!==r?(o=Ir,Dr++,s=Sn(),Dr--,s===r?o=void 0:(Ir=o,o=r),o!==r?(jr=e,e=!1):(Ir=e,e=r)):(Ir=e,e=r);return e}(),e===r&&(e=function(){let e,n,o,s;e=Ir,t.substr(Ir,4)===ut?(n=ut,Ir+=4):(n=r,0===Dr&&Wr(fr));n!==r?(o=Ir,Dr++,s=Sn(),Dr--,s===r?o=void 0:(Ir=o,o=r),o!==r?(jr=e,e=null):(Ir=e,e=r)):(Ir=e,e=r);return e}()))));Dr--,e===r&&(n=r,0===Dr&&Wr(rr));return e}(),n!==r&&(jr=e,n={val:n}),e=n),Dr--,e===r&&(n=r,0===Dr&&Wr(Fe)),e}function Cn(){let t,e,n,o;return Dr++,t=wn(),t===r&&(t=Ir,e=yn(),e!==r?(n=Ir,o=Ln(),o!==r&&(jr=n,o={list:o}),n=o,n!==r?(o=_n(),o!==r?t=n:(Ir=t,t=r)):(Ir=t,t=r)):(Ir=t,t=r)),Dr--,t===r&&(e=r,0===Dr&&Wr(Ie)),t}function bn(){let e,n,o,s,u,l,i;if(Dr++,e=Ir,n=un(),n!==r)if(o=yn(),o!==r){for(s=Ir,u=[],42===t.charCodeAt(Ir)?(l=L,Ir++):(l=r,0===Dr&&Wr(Wt)),l===r&&(l=fn());l!==r;)u.push(l),l=Ir,i=Tn(),i!==r?(42===t.charCodeAt(Ir)?(i=L,Ir++):(i=r,0===Dr&&Wr(Wt)),i===r&&(i=fn()),i===r?(Ir=l,l=r):l=i):l=i;u.length<1?(Ir=s,s=r):s=u,s!==r?(u=_n(),u!==r?(jr=e,e={func:n,args:s}):(Ir=e,e=r)):(Ir=e,e=r)}else Ir=e,e=r;else Ir=e,e=r;return Dr--,e===r&&(n=r,0===Dr&&Wr(je)),e}function gn(){let e,n,o;return Dr++,e=Ir,35===t.charCodeAt(Ir)?(n=H,Ir++):(n=r,0===Dr&&Wr(Ne)),n!==r?(o=un(),o!==r?(jr=e,e={"#":o}):(Ir=e,e=r)):(Ir=e,e=r),Dr--,e===r&&(n=r,0===Dr&&Wr(Oe)),e}function wn(){let e,n,o,s;return Dr++,e=Ir,n=Rn(),63===t.charCodeAt(Ir)?(o=W,Ir++):(o=r,0===Dr&&Wr(Ue)),o!==r?(s=Rn(),jr=e,e=Pn()):(Ir=e,e=r),Dr--,e===r&&(n=r,0===Dr&&Wr(Pe)),e}function Ln(){let t,e,n,o;for(Dr++,t=Ir,e=[],n=gn(),n===r&&(n=dn(),n===r&&(n=pn(),n===r&&(n=bn())));n!==r;)e.push(n),n=Ir,o=Tn(),o!==r?(o=gn(),o===r&&(o=dn(),o===r&&(o=pn(),o===r&&(o=bn()))),o===r?(Ir=n,n=r):n=o):n=o;return e.length<2?(Ir=t,t=r):t=e,Dr--,t===r&&(e=r,0===Dr&&Wr(Fe)),t}function An(){let e,n,o,s,u,l,i;if(Dr++,e=Ir,n=Rn(),o=function(){let e,n,o,s,u,l,i;e=Ir,n=t.substr(Ir,3),n.toLowerCase()===Y?Ir+=3:(n=r,0===Dr&&Wr(Be));n===r&&(n=t.substr(Ir,2),n.toLowerCase()===k?Ir+=2:(n=r,0===Dr&&Wr(Me)),n===r&&(n=t.substr(Ir,2),n.toLowerCase()===G?Ir+=2:(n=r,0===Dr&&Wr(qe)),n===r&&(n=t.substr(Ir,7),n.toLowerCase()===Q?Ir+=7:(n=r,0===Dr&&Wr(Ze)),n===r&&(n=t.substr(Ir,4),n.toLowerCase()===V?Ir+=4:(n=r,0===Dr&&Wr(He)),n===r&&(n=t.substr(Ir,6),n.toLowerCase()===J?Ir+=6:(n=r,0===Dr&&Wr(We)),n===r&&(n=Ir,o=t.substr(Ir,8),o.toLowerCase()===K?Ir+=8:(o=r,0===Dr&&Wr(Ye)),o!==r?(s=Ir,Dr++,u=yn(),Dr--,u===r?s=void 0:(Ir=s,s=r),s!==r?n=o:(Ir=n,n=r)):(Ir=n,n=r)))))));n!==r?(o=Ir,Dr++,s=Sn(),Dr--,s===r?o=void 0:(Ir=o,o=r),o!==r?e=n:(Ir=e,e=r)):(Ir=e,e=r);if(e===r&&(e=Ir,n=t.substr(Ir,4),n.toLowerCase()===X?Ir+=4:(n=r,0===Dr&&Wr(ke)),n===r&&(n=t.substr(Ir,4),n.toLowerCase()===tt?Ir+=4:(n=r,0===Dr&&Wr(Ge)),n===r&&(n=t.substr(Ir,4),n.toLowerCase()===et?Ir+=4:(n=r,0===Dr&&Wr(Qe)),n===r&&(n=t.substr(Ir,4),n.toLowerCase()===rt?Ir+=4:(n=r,0===Dr&&Wr(Ve)),n===r&&(n=t.substr(Ir,3),n.toLowerCase()===nt?Ir+=3:(n=r,0===Dr&&Wr(Je)))))),n!==r?(o=Ir,Dr++,s=Sn(),Dr--,s===r?o=void 0:(Ir=o,o=r),o!==r?e=n:(Ir=e,e=r)):(Ir=e,e=r),e===r)){for(e=Ir,n=[],o=Ir,s=t.substr(Ir,2),s.toLowerCase()===ot?Ir+=2:(s=r,0===Dr&&Wr(Ke)),s===r&&(s=t.substr(Ir,3),s.toLowerCase()===st?Ir+=3:(s=r,0===Dr&&Wr(Xe)),s===r&&(s=t.substr(Ir,4),s.toLowerCase()===ut?Ir+=4:(s=r,0===Dr&&Wr(tr)),s===r&&(s=t.substr(Ir,5),s.toLowerCase()===lt?Ir+=5:(s=r,0===Dr&&Wr(er))))),s!==r?(u=Ir,Dr++,l=Sn(),Dr--,l===r?u=void 0:(Ir=u,u=r),u!==r?o=s:(Ir=o,o=r)):(Ir=o,o=r);o!==r;)n.push(o),o=Ir,s=Rn(),s=Ir,u=t.substr(Ir,2),u.toLowerCase()===ot?Ir+=2:(u=r,0===Dr&&Wr(Ke)),u===r&&(u=t.substr(Ir,3),u.toLowerCase()===st?Ir+=3:(u=r,0===Dr&&Wr(Xe)),u===r&&(u=t.substr(Ir,4),u.toLowerCase()===ut?Ir+=4:(u=r,0===Dr&&Wr(tr)),u===r&&(u=t.substr(Ir,5),u.toLowerCase()===lt?Ir+=5:(u=r,0===Dr&&Wr(er))))),u!==r?(l=Ir,Dr++,i=Sn(),Dr--,i===r?l=void 0:(Ir=l,l=r),l!==r?s=u:(Ir=s,s=r)):(Ir=s,s=r),s===r?(Ir=o,o=r):o=s;n.length<1?(Ir=e,e=r):e=n}return e}(),o===r)if(o=Ir,s=Ir,Dr++,u=ln(),Dr--,u===r?s=void 0:(Ir=s,s=r),s!==r){if(u=Ir,l=[],i=t.charAt(Ir),yt.test(i)?Ir++:(i=r,0===Dr&&Wr(ze)),i!==r)for(;i!==r;)l.push(i),i=t.charAt(Ir),yt.test(i)?Ir++:(i=r,0===Dr&&Wr(ze));else l=r;u=l!==r?t.substring(u,Ir):l,u!==r?o=u:(Ir=o,o=r)}else Ir=o,o=r;return o!==r?(s=Rn(),e=o):(Ir=e,e=r),Dr--,e===r&&(n=r,0===Dr&&Wr(De)),e}function mn(){let t,e,n,o;return t=Ir,e=yn(),e!==r?(n=Gr(),n!==r?(o=_n(),o!==r?t=n:(Ir=t,t=r)):(Ir=t,t=r)):(Ir=t,t=r),t}function En(){let e,n,o,s;return e=Ir,n=Rn(),63===t.charCodeAt(Ir)?(o=W,Ir++):(o=r,0===Dr&&Wr(Ue)),o!==r?(s=Rn(),jr=e,e=On.shift()):(Ir=e,e=r),e}function xn(){let e,n,o,s;return e=Ir,n=Rn(),123===t.charCodeAt(Ir)?(o=P,Ir++):(o=r,0===Dr&&Wr(ie)),o!==r?(s=Rn(),n=[n,o,s],e=n):(Ir=e,e=r),e}function vn(){let e,n,o,s;return e=Ir,n=Rn(),125===t.charCodeAt(Ir)?(o=D,Ir++):(o=r,0===Dr&&Wr(ce)),o!==r?(s=Rn(),n=[n,o,s],e=n):(Ir=e,e=r),e}function yn(){let e,n,o,s;return e=Ir,n=Rn(),40===t.charCodeAt(Ir)?(o=gt,Ir++):(o=r,0===Dr&&Wr(Cr)),o!==r?(s=Rn(),n=[n,o,s],e=n):(Ir=e,e=r),e}function _n(){let e,n,o,s;return e=Ir,n=Rn(),41===t.charCodeAt(Ir)?(o=wt,Ir++):(o=r,0===Dr&&Wr(br)),o!==r?(s=Rn(),n=[n,o,s],e=n):(Ir=e,e=r),e}function Sn(){let e;return e=t.charAt(Ir),Tt.test(e)?Ir++:(e=r,0===Dr&&Wr(gr)),e}function Tn(){let e,n,o,s;return Dr++,e=Ir,n=Rn(),44===t.charCodeAt(Ir)?(o=Lt,Ir++):(o=r,0===Dr&&Wr(Lr)),o!==r?(s=Rn(),e=o):(Ir=e,e=r),Dr--,e===r&&(n=r,0===Dr&&Wr(wr)),e}function $n(){let e,n,o,s;return Dr++,e=Ir,n=Rn(),46===t.charCodeAt(Ir)?(o=at,Ir++):(o=r,0===Dr&&Wr(sr)),o!==r?(s=Rn(),jr=e,e="."):(Ir=e,e=r),Dr--,e===r&&(n=r,0===Dr&&Wr(Ar)),e}function Rn(){let e,n,o,s,u;for(Dr++,e=Ir,n=Ir,o=[],s=t.charAt(Ir),$t.test(s)?Ir++:(s=r,0===Dr&&Wr(mr));s!==r;)o.push(s),s=t.charAt(Ir),$t.test(s)?Ir++:(s=r,0===Dr&&Wr(mr));return n=t.substring(n,Ir),o=Ir,s=In(),s!==r?(u=Rn(),s=[s,u],o=s):(Ir=o,o=r),o===r&&(o=null),n=[n,o],e=n,Dr--,e}function Fn(){let e,n,o,s,u;if(Dr++,e=Ir,n=Ir,o=[],s=t.charAt(Ir),$t.test(s)?Ir++:(s=r,0===Dr&&Wr(mr)),s!==r)for(;s!==r;)o.push(s),s=t.charAt(Ir),$t.test(s)?Ir++:(s=r,0===Dr&&Wr(mr));else o=r;return n=o!==r?t.substring(n,Ir):o,n!==r?(o=Ir,s=In(),s!==r?(u=Rn(),s=[s,u],o=s):(Ir=o,o=r),o===r&&(o=null),n=[n,o],e=n):(Ir=e,e=r),Dr--,e===r&&(n=r,0===Dr&&Wr(Ar)),e}function In(){let e,n,o,s,u;if(Dr++,e=Ir,t.substr(Ir,2)===At?(n=At,Ir+=2):(n=r,0===Dr&&Wr(Er)),n===r&&(t.substr(Ir,2)===mt?(n=mt,Ir+=2):(n=r,0===Dr&&Wr(xr))),n!==r){for(o=Ir,s=[],u=t.charAt(Ir),Rt.test(u)?Ir++:(u=r,0===Dr&&Wr(vr));u!==r;)s.push(u),u=t.charAt(Ir),Rt.test(u)?Ir++:(u=r,0===Dr&&Wr(vr));o=t.substring(o,Ir),n=[n,o],e=n}else Ir=e,e=r;return Dr--,e===r&&(n=r,0===Dr&&Wr(Ar)),e}const jn=[],On=e.args;let Nn=0;const Pn=!On?.length||!e.startRule&&peg$parse.late_binding?()=>jn[Nn++]=Un:()=>jn[Nn]=fluent.expr(On[Nn++]),Un={ref:["?"],param:!0};Nr=s();const Dn=Nr!==r&&Ir===t.length;function zn(){throw Nr!==r&&Ir<t.length&&Wr({type:"end"}),Yr(Ur,Pr<t.length?function(e=Ir){const r=t.codePointAt(e);return void 0===r?"":String.fromCodePoint(r)}(Pr):null,Pr<t.length?Hr(Pr,Pr+1):Hr(Pr,Pr))}return e.peg$library?{peg$result:Nr,peg$currPos:Ir,peg$FAILED:r,peg$maxFailExpected:Ur,peg$maxFailPos:Pr,peg$success:Dn,peg$throw:Dn?void 0:zn}:Dn?Nr:void zn()}const peg$allowedStartRules=["CQL","subject","columns","values","ref","val","expr","set","with","where","groupBy","orderBy"];export{peg$allowedStartRules as StartRules,peg$SyntaxError as SyntaxError,peg$parse as parse};
@@ -0,0 +1,69 @@
1
+
2
+ /**
3
+ * This is the central entry point for creating queries from various types of input:
4
+ * - If the input is a `Query` instance already, it's returned as-is.
5
+ * - If the input is a `string` or a template literal, it's parsed into a CQN object.
6
+ * - If the input is an `object` with a recognized query kind, it's cast into an instance of
7
+ * the corresponding query class.
8
+ * @param { Query | string | object } qso - The input, as described above, to be converted into an instance of a Query subclass.
9
+ * @param { ...any } args - Optional arguments for template literals or parameterized queries.
10
+ * @returns { SELECT_ & INSERT_ & UPSERT_ & UPDATE_ & DELETE_ }
11
+ */
12
+ export const cql = Query.for = (qso, ...args) => {
13
+ if (!qso || qso instanceof Query) return qso
14
+ if (qso.raw) return cql.cache.query4 (qso, ...args)
15
+ if (typeof qso === 'string') return peg.parse (qso, {args})
16
+ else for (let k in qso) if (k in Query.for) //> usually query.kind is first key
17
+ return Object.setPrototypeOf (qso, Query.for[k].prototype)
18
+ return null //> for any other object
19
+ }
20
+ export default cql
21
+
22
+
23
+ // Re-export all the helper functions and classes from the xl module
24
+ export * from './xl/ttl.js'
25
+ import * as peg from '../cql/parser.min.js'
26
+ import { Query } from './query.js'
27
+ export { Query }
28
+
29
+ // Export fluent variants of the query classes
30
+ import { SELECT as SELECT_ } from './ql/select.js'
31
+ import { INSERT as INSERT_ } from './ql/insert.js'
32
+ import { UPSERT as UPSERT_ } from './ql/insert.js'
33
+ import { UPDATE as UPDATE_ } from './ql/update.js'
34
+ import { DELETE as DELETE_ } from './ql/delete.js'
35
+ import { CALL as CALL_ } from './ql/call-action.js'
36
+
37
+ export const SELECT = chimera (SELECT_, SELECT_.columns)
38
+ export const INSERT = chimera (INSERT_, INSERT_.entries)
39
+ export const UPSERT = chimera (UPSERT_, UPSERT_.entries)
40
+ export const UPDATE = chimera (UPDATE_, UPDATE_.entity)
41
+ export const DELETE = chimera (DELETE_, DELETE_.from)
42
+ export const CALL = chimera (CALL_, CALL_.action)
43
+
44
+ /**
45
+ * Turns subclasses of Query into fluent APIs that allow constructing instances with `new`
46
+ * as well as plain function calls. For example, this enables usages like these: @example
47
+ * SELECT`ID,title`.from`Books`
48
+ * UPDATE`Books`.with`${data}`
49
+ * @param factory - The function to be called when the fluent API is invoked without `new`.
50
+ * @type <clazz> (clazz:clazz, factory:()=> clazz) => factory & clazz
51
+ */
52
+ function chimera (clazz, factory) { const kind = clazz.name
53
+ function fx (...args) { return new.target ? new clazz : factory.call (clazz,...args) }
54
+ Object.defineProperty (clazz.prototype, '_', { get(){ return this[kind] }})
55
+ Object.defineProperty (clazz.prototype, 'kind', { value: kind })
56
+ Object.defineProperty (clazz, 'name', { value: 'Query' })
57
+ Object.defineProperty (fx, 'name', { value: kind })
58
+ Object.defineProperty (fx, 'class', { value: clazz })
59
+ Object.defineProperty (fx, 'prototype', { value: clazz.prototype })
60
+ Object.setPrototypeOf (fx,clazz) //> adds static members
61
+ return Query.for[kind] = fx
62
+ }
63
+
64
+
65
+ // Prepare a cache for parsed queries, and export it as part of the cql facade
66
+ // for easy access and control over caching behavior.
67
+ import { QueryCache } from './ql/cache.js'
68
+ cql.cache = new QueryCache
69
+ cql.cache.enabled = false //> disable caching by default
@@ -0,0 +1,34 @@
1
+ import * as peg from '../../cql/parser.min.js'
2
+ import { Query } from '../query.js'
3
+
4
+ export class QueryCache extends Map {
5
+
6
+ cached (strings, ...args) {
7
+ if (!strings?.raw) return this.parse (strings, ...args)
8
+ const cached = this.get (strings)
9
+ if (cached) {
10
+ const q = new Query.for[cached.kind]
11
+ q[q.kind] = cached[cached.kind]
12
+ q.params = cached.params
13
+ if (args?.length) q.args = args
14
+ return q
15
+ } else {
16
+ const q = this.parse (strings, ...args)
17
+ this.set (strings, q)
18
+ return q
19
+ }
20
+ }
21
+
22
+ parse (strings, ...args) {
23
+ const src = String.raw (strings, ...'?'.repeat(args.length))
24
+ return peg.parse (src, {args})
25
+ }
26
+
27
+ get enabled () { return peg.parse.late_binding }
28
+ set enabled (v) {
29
+ this.query4 = v ? this.cached : this.parse
30
+ peg.parse.late_binding = v
31
+ }
32
+
33
+ query4 = this.parse
34
+ }
@@ -0,0 +1,6 @@
1
+ import { Query } from '../query.js'
2
+
3
+ export class CALL extends Query { CALL = {}
4
+ static action (x,...etc) { return (new this)._set('action', x?.raw ? String.raw(x,...etc) : x) }
5
+ with (args) { return this._add('with', args) }
6
+ }
@@ -0,0 +1,8 @@
1
+ import { subject, where } from '../xl/ttl.js'
2
+ import { Query } from '../query.js'
3
+
4
+ export class DELETE extends Query { DELETE = {}
5
+ static one (...args) { return (new this)._set('one',true)._set('from', subject (...args)) }
6
+ static from (...args) { return (new this)._set('from', subject (...args)) }
7
+ where (...args) { return this._add('where', where (...args)) }
8
+ }
@@ -0,0 +1,26 @@
1
+ import { subject, columns, values } from '../xl/ttl.js'
2
+ import { Query } from '../query.js'
3
+
4
+ const unwrapped = args => Array.isArray(args[0]) ? args[0] : args
5
+
6
+ export class XSERT extends Query {
7
+ static entries (...args) { return (new this).entries(...args) }
8
+ static into (x,...tail) {
9
+ if (x.raw) return (new this)._set ('into', subject(x,...tail)) //> INSERT.into`Foo`
10
+ const insert = (new this)._set ('into', subject(x)) //> INSERT.into(Foo)
11
+ return !tail.length ? insert : insert._tail(...tail) //> INSERT.into(Foo, ...?)
12
+ }; _tail (...tail) {
13
+ if (unwrapped(tail)[0]?.split) return this.columns(...tail) //> INSERT.into(Foo, columns)
14
+ return this._set ('entries', unwrapped(tail)) //> INSERT.into(Foo, entries)
15
+ }
16
+ into (...args) { return this._set('into', subject(...args)) }
17
+ entries (...args) { return this._set('entries', unwrapped(args)) }
18
+ columns (...args) { return this._add('columns', columns(...args).map(c => c.ref[0])) }
19
+ values (...args) { return this._set('values', values(...args)) }
20
+ rows (...args) { return this._set('rows', unwrapped(args)) }
21
+ from (...args) { return this._set('from', Query.for(...args)) }
22
+ get subject() { return this._.into }
23
+ }
24
+
25
+ export class INSERT extends XSERT { INSERT = {} }
26
+ export class UPSERT extends XSERT { UPSERT = {} }
@@ -0,0 +1,22 @@
1
+ import { subject, columns, where, orderBy, val } from '../xl/ttl.js'
2
+ import { Query } from '../query.js'
3
+
4
+ export class SELECT extends Query { SELECT = {}
5
+ static from (...args) { return (new this).from (...args) }
6
+ static columns (...args) { return (new this).columns (...args) }
7
+ static get localized() { return (new this)._set('localized', true) }
8
+ static get distinct() { return (new this)._set('distinct', true) }
9
+ static get one() { return (new this)._set('one', true) }
10
+ get localized() { return this._set('localized', true) }
11
+ get distinct() { return this._set('distinct', true) }
12
+ columns (...args) { return this._add('columns', columns (...args)) }
13
+ from (...args) { return this._set('from', subject (...args)) }
14
+ where (...args) { return this._add('where', where (...args)) }
15
+ having (...args) { return this._add('having', where (...args)) }
16
+ groupBy (...args) { return this._add('groupBy', columns (...args)) }
17
+ orderBy (...args) { return this._add('orderBy', orderBy (...args)) }
18
+ limit (...args) { return args[0]?.raw ? this.top(...args) : this.top(args[0]).skip(args[1]) }
19
+ top (...args) { if (args[0]) (this._.limit ??= {}).rows = val(...args); return this }
20
+ skip (...args) { if (args[0]) (this._.limit ??= {}).offset = val(...args); return this }
21
+ offset (...args) { return this.skip(...args) }
22
+ }
@@ -0,0 +1,26 @@
1
+ import { subject, where, ttl } from '../xl/ttl.js'
2
+ import { Query } from '../query.js'
3
+
4
+ export class UPDATE extends Query { UPDATE = {}
5
+ static one (...args) { return (new this)._set('one',true)._set('entity', subject (...args)) }
6
+ static entity (...args) { return (new this)._set('entity', subject (...args)) }
7
+ where (...args) { return this._add ('where', where (...args)) }
8
+ with (...args) {
9
+ if (args[0]?.raw) this._set('data', ttl('with',...args))
10
+ else this._set('data', args[0])
11
+ return this
12
+ }
13
+ set (...args) {
14
+ // PARKED: legacy with/data split behavior from @sap/cds
15
+ // if (args[0]?.raw) { //> split into 'with' and 'data'
16
+ // const w={}, d={}, wd = ttl('set',...args)
17
+ // for (let k in wd) 'val' in wd[k] ? d[k] = wd[k].val : w[k] = wd[k]
18
+ // if (Object.keys(w).length) this._set('with', w)
19
+ // if (Object.keys(d).length) this._set('data', d)
20
+ // }
21
+ if (args[0]?.raw) this._set('with', ttl('set',...args))
22
+ else this._set('data', args[0])
23
+ return this
24
+ }
25
+ get subject() { return this._.entity }
26
+ }
@@ -0,0 +1,85 @@
1
+ import { expr } from './xl/fluent.js'
2
+
3
+ export class Query {
4
+
5
+ // These are required for Peggy Live Preview in VSCode
6
+ /** @private */ get kind() { return this.constructor.name }
7
+ /** @private */ get _() { return this[this.kind] }
8
+
9
+ /**
10
+ * Returns the main subject `{ref}` of the query, which refers to the entity being queried or modified.
11
+ * @returns {ref:string[]} The main subject of the query.
12
+ */
13
+ get subject() { return this._.from }
14
+
15
+ // Non-enumerable properties that are only valid within the same process
16
+ /** @private */ set source (cql) { Object.defineProperty (this, 'source', { value: cql, writable: true }) }
17
+ /** @private */ set params (arr) { Object.defineProperty (this, 'params', { value: arr, writable: true }) }
18
+ /** @private */ set args (arr) { Object.defineProperty (this, 'args', { value: arr, writable: true }) }
19
+
20
+ /**
21
+ * - Fills in any binding `{param}`s with corresponding `{val}`s from given `args`.
22
+ * - If no `args` are provided, the ones collected during parsing are used.
23
+ */
24
+ bind (...args) {
25
+ let vals = args?.length ? args : this.args || [], i=0
26
+ if (this.params) for (let p of this.params) {
27
+ if ('list' in p) p.list = vals[i++].map(expr)
28
+ else p.val = vals[i++]
29
+ delete p.param
30
+ delete p.ref
31
+ }
32
+ else !function traverse (cqn) { // for manually created CQNs
33
+ Object.entries (cqn) .forEach (([k,x]) => {
34
+ if (!x || typeof x !== 'object') return
35
+ if (!x.param) return traverse(x)
36
+ let val = vals[i++]; if (val === undefined) return
37
+ let y = cqn[k] = {val}
38
+ if (x.as) y.as = x.as
39
+ })
40
+ } (this)
41
+ return this
42
+ }
43
+
44
+ /**
45
+ * - Creates a shallow clone of the given `query`.
46
+ * - Subsequent changes to the clone will not affect the original.
47
+ * - However, changes to nested objects will affect both the original and the clone.
48
+ * @param clauses - Optional list of objects with clauses to override in the clone.
49
+ * @type <T> (this:T, clauses:{columns,from,where,having,groupy,orderBy,limit}[]) => T
50
+ */
51
+ clone (...clauses) {
52
+ const _ = this.kind || Object.keys(this)[0]
53
+ return Object.assign ({ __proto__: this,
54
+ [_]: { __proto__: this[_] }
55
+ }, ...clauses)
56
+ }
57
+
58
+ /**
59
+ * Adds the given values to the specified clause in the CQN. If the clause already
60
+ * exists, the new values are appended to the existing ones. Otherwise, a clause
61
+ * is added with the provided values.
62
+ */
63
+ _add (clause, values, former = this._[clause]) {
64
+ if (values === undefined) return this
65
+ this._[clause] = !former ? values : [ ...former, ...values ]
66
+ return this
67
+ }
68
+
69
+ /**
70
+ * Sets the specified clause in the CQN to the given value, replacing existing
71
+ * one if present, or overriding it in case of cloned queries.
72
+ */
73
+ _set (clause, value) {
74
+ if (value === undefined) return this
75
+ this._[clause] = value
76
+ return this
77
+ }
78
+
79
+ // Custom inspect method to improve the output, e.g. in repl, console.log,
80
+ [Symbol.for('nodejs.util.inspect.custom')] (depth, options, inspect) {
81
+ return `${this.kind} ${inspect(this[this.kind], options)}`
82
+ }
83
+ }
84
+
85
+ /** @private */ Query.for = {} //> filled in from ./index.js
@@ -0,0 +1,47 @@
1
+ const unwrapped = args => Array.isArray(args[0]) ? args[0] : args
2
+
3
+ export const val = (v) => ({ val: v })
4
+ export const ref = (r) => ({ ref: String(r).split('.') })
5
+ export const expr = (x) => {
6
+ if (Array.isArray(x)) return { list: x.map(expr) }
7
+ if (x && typeof x === 'object') return x //> already a cxn object
8
+ else return val(x)
9
+ }
10
+
11
+ export const subject = (x,pk) => {
12
+ if (x.ref) return x
13
+ if (x.name) return Object.defineProperty ({ref:[x.name]},'target',{value:x})
14
+ let ref = [ !pk ? x : { id:x, where: where(pk) } ]
15
+ return {ref}
16
+ }
17
+
18
+ export const columns = (...args) => {
19
+ return unwrapped(args) .map (a => typeof a === 'string' ? ref(a) : val(a))
20
+ }
21
+
22
+ export const values = (...args) => {
23
+ return unwrapped(args) .map (expr)
24
+ }
25
+
26
+ export const where = (x) => {
27
+ if (!x || typeof x !== 'object') return [ val(x) ]
28
+ return Object.entries(x) .map (([k,v]) => ['and', ref(k), '=', val(v)])
29
+ .flat().slice(1)
30
+ }
31
+
32
+ export const having = where
33
+ export const groupBy = columns
34
+ export const orderBy = (...args) => {
35
+ // orderBy({ a:1, b:-1 })
36
+ if (typeof (args = unwrapped(args))[0] === 'object')
37
+ return Object.entries(args[0]) .map (
38
+ ([k,v]) => ({ ref:[k], sort: { [1]:'asc',[-1]:'desc' }[v] || v })
39
+ )
40
+ // orderBy('a desc','b')
41
+ else return args.map (ordering_term => {
42
+ const [,c,ad] = /^([^\s]+)(?:\s+(asc|desc))?$/i .exec (ordering_term)
43
+ const ref = { ref: c.split('.') }
44
+ if (ad) ref.sort = ad.toLowerCase()
45
+ return ref
46
+ })
47
+ }
@@ -0,0 +1,24 @@
1
+ import * as peg from '../../cql/parser.min.js'
2
+ import * as fluent from './fluent.js'
3
+ export { fluent }
4
+
5
+ export const ttl = (rule, x,...args) => {
6
+ const src = String.raw (x,...'?'.repeat(args.length))
7
+ return peg.parse (src, { startRule: rule, args })
8
+ }
9
+
10
+ export const ttl_ = (rule, ffn) => (x,...args) => {
11
+ if (x?.raw) return ttl (rule, x,...args)
12
+ else return ffn (x,...args)
13
+ }
14
+
15
+ export const val = ttl_('val', fluent.val)
16
+ export const ref = ttl_('ref', fluent.ref)
17
+ export const expr = ttl_('expr', fluent.expr)
18
+ export const subject = ttl_('subject', fluent.subject)
19
+ export const columns = ttl_('columns', fluent.columns)
20
+ export const values = ttl_('values', fluent.values)
21
+ export const where = ttl_('where', fluent.where)
22
+ export const having = ttl_('having', fluent.having)
23
+ export const groupBy = ttl_('groupBy', fluent.groupBy)
24
+ export const orderBy = ttl_('orderBy', fluent.orderBy)