@vandenberghinc/volt 1.2.6 → 1.2.8

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 (472) hide show
  1. package/.libris/config.json +82 -0
  2. package/backend/dist/cjs/backend/src/blacklist.d.ts +12 -0
  3. package/backend/dist/cjs/backend/src/blacklist.js +78 -0
  4. package/backend/dist/cjs/backend/src/cli.d.ts +2 -0
  5. package/backend/dist/cjs/backend/src/cli.js +198 -0
  6. package/backend/dist/cjs/backend/src/database/collection.d.ts +1765 -0
  7. package/backend/dist/cjs/backend/src/database/collection.js +3301 -0
  8. package/backend/dist/cjs/backend/src/database/database.d.ts +92 -0
  9. package/backend/dist/cjs/backend/src/database/database.js +170 -0
  10. package/backend/dist/cjs/backend/src/database/document.d.ts +1 -0
  11. package/backend/dist/cjs/backend/src/database/document.js +15 -0
  12. package/backend/dist/cjs/backend/src/database/filters/filters.d.ts +6 -0
  13. package/backend/dist/cjs/backend/src/database/filters/filters.js +15 -0
  14. package/backend/dist/cjs/backend/src/database/filters/strict_filter.d.ts +223 -0
  15. package/backend/dist/cjs/backend/src/database/filters/strict_filter.js +15 -0
  16. package/backend/dist/cjs/backend/src/database/filters/strict_filter_test.d.ts +1 -0
  17. package/backend/dist/cjs/backend/src/database/filters/strict_filter_test.js +443 -0
  18. package/backend/dist/cjs/backend/src/database/filters/strict_filter_test_v0.d.ts +1 -0
  19. package/backend/dist/cjs/backend/src/database/filters/strict_filter_test_v0.js +15 -0
  20. package/backend/dist/cjs/backend/src/database/filters/strict_filter_v0.d.ts +50 -0
  21. package/backend/dist/cjs/backend/src/database/filters/strict_filter_v0.js +15 -0
  22. package/backend/dist/cjs/backend/src/database/filters/strict_filter_v1.d.ts +76 -0
  23. package/backend/dist/cjs/backend/src/database/filters/strict_filter_v1.js +15 -0
  24. package/backend/dist/cjs/backend/src/database/filters/strict_filter_v2.d.ts +75 -0
  25. package/backend/dist/cjs/backend/src/database/filters/strict_filter_v2.js +15 -0
  26. package/backend/dist/cjs/backend/src/database/filters/strict_filter_v3.d.ts +219 -0
  27. package/backend/dist/cjs/backend/src/database/filters/strict_filter_v3.js +15 -0
  28. package/backend/dist/cjs/backend/src/database/filters/strict_update_filter.d.ts +165 -0
  29. package/backend/dist/cjs/backend/src/database/filters/strict_update_filter.js +15 -0
  30. package/backend/dist/cjs/backend/src/database/filters/strict_update_filter_test.d.ts +5 -0
  31. package/backend/dist/cjs/backend/src/database/filters/strict_update_filter_test.js +355 -0
  32. package/backend/dist/cjs/backend/src/database/flatten.d.ts +78 -0
  33. package/backend/dist/cjs/backend/src/database/flatten.js +53 -0
  34. package/backend/dist/cjs/backend/src/database/flatten_test.d.ts +1 -0
  35. package/backend/dist/cjs/backend/src/database/flatten_test.js +175 -0
  36. package/backend/dist/cjs/backend/src/database/quota/quoata_v2.d.ts +533 -0
  37. package/backend/dist/cjs/backend/src/database/quota/quoata_v2.js +1046 -0
  38. package/backend/dist/cjs/backend/src/database/quota/quota.d.ts +551 -0
  39. package/backend/dist/cjs/backend/src/database/quota/quota.js +1108 -0
  40. package/backend/dist/cjs/backend/src/database/quota/quota_v1.d.ts +534 -0
  41. package/backend/dist/cjs/backend/src/database/quota/quota_v1.js +1087 -0
  42. package/backend/dist/cjs/backend/src/database/quota/safe_int.d.ts +412 -0
  43. package/backend/dist/cjs/backend/src/database/quota/safe_int.js +745 -0
  44. package/backend/dist/cjs/backend/src/endpoint.d.ts +346 -0
  45. package/backend/dist/cjs/backend/src/endpoint.js +468 -0
  46. package/backend/dist/cjs/backend/src/errors/index.d.ts +7 -0
  47. package/backend/dist/cjs/backend/src/errors/index.js +25 -0
  48. package/backend/dist/cjs/backend/src/errors/internal_external.d.ts +52 -0
  49. package/backend/dist/cjs/backend/src/errors/internal_external.js +95 -0
  50. package/backend/dist/cjs/backend/src/errors/invalid_usage_error.d.ts +41 -0
  51. package/backend/dist/cjs/backend/src/errors/invalid_usage_error.js +47 -0
  52. package/backend/dist/cjs/backend/src/errors/system_error.d.ts +261 -0
  53. package/backend/dist/cjs/backend/src/errors/system_error.js +436 -0
  54. package/backend/dist/cjs/backend/src/events.d.ts +97 -0
  55. package/backend/dist/cjs/backend/src/events.js +15 -0
  56. package/backend/dist/cjs/backend/src/frontend.d.ts +13 -0
  57. package/backend/dist/cjs/backend/src/frontend.js +56 -0
  58. package/backend/dist/cjs/backend/src/image_endpoint.d.ts +44 -0
  59. package/backend/dist/cjs/backend/src/image_endpoint.js +185 -0
  60. package/backend/dist/cjs/backend/src/index.d.ts +23 -0
  61. package/backend/dist/cjs/backend/src/index.js +70 -0
  62. package/backend/dist/cjs/backend/src/logger.d.ts +5 -0
  63. package/backend/dist/cjs/backend/src/logger.js +15 -0
  64. package/backend/dist/cjs/backend/src/meta.d.ts +112 -0
  65. package/backend/dist/cjs/backend/src/meta.js +181 -0
  66. package/backend/dist/cjs/backend/src/payments/paddle.d.ts +329 -0
  67. package/backend/dist/cjs/backend/src/payments/paddle.js +1996 -0
  68. package/backend/dist/cjs/backend/src/payments/stripe/checkout.d.ts +113 -0
  69. package/backend/dist/cjs/backend/src/payments/stripe/checkout.js +295 -0
  70. package/backend/dist/cjs/backend/src/payments/stripe/customers.d.ts +17 -0
  71. package/backend/dist/cjs/backend/src/payments/stripe/customers.js +164 -0
  72. package/backend/dist/cjs/backend/src/payments/stripe/error.d.ts +74 -0
  73. package/backend/dist/cjs/backend/src/payments/stripe/error.js +64 -0
  74. package/backend/dist/cjs/backend/src/payments/stripe/events.d.ts +155 -0
  75. package/backend/dist/cjs/backend/src/payments/stripe/events.js +15 -0
  76. package/backend/dist/cjs/backend/src/payments/stripe/meters.d.ts +105 -0
  77. package/backend/dist/cjs/backend/src/payments/stripe/meters.js +230 -0
  78. package/backend/dist/cjs/backend/src/payments/stripe/payment_methods.d.ts +58 -0
  79. package/backend/dist/cjs/backend/src/payments/stripe/payment_methods.js +109 -0
  80. package/backend/dist/cjs/backend/src/payments/stripe/products.d.ts +519 -0
  81. package/backend/dist/cjs/backend/src/payments/stripe/products.js +650 -0
  82. package/backend/dist/cjs/backend/src/payments/stripe/stripe.d.ts +215 -0
  83. package/backend/dist/cjs/backend/src/payments/stripe/stripe.js +468 -0
  84. package/backend/dist/cjs/backend/src/payments/stripe/subscriptions.d.ts +172 -0
  85. package/backend/dist/cjs/backend/src/payments/stripe/subscriptions.js +557 -0
  86. package/backend/dist/cjs/backend/src/payments/stripe/utils.d.ts +63 -0
  87. package/backend/dist/cjs/backend/src/payments/stripe/utils.js +118 -0
  88. package/backend/dist/cjs/backend/src/payments/stripe/webhooks.d.ts +105 -0
  89. package/backend/dist/cjs/backend/src/payments/stripe/webhooks.js +627 -0
  90. package/backend/dist/cjs/backend/src/plugins/browser.d.ts +1 -0
  91. package/backend/dist/cjs/backend/src/plugins/browser.js +15 -0
  92. package/backend/dist/cjs/backend/src/plugins/communication.d.ts +70 -0
  93. package/backend/dist/cjs/backend/src/plugins/communication.js +196 -0
  94. package/backend/dist/cjs/backend/src/plugins/mail/mail.d.ts +255 -0
  95. package/backend/dist/cjs/backend/src/plugins/mail/mail.js +381 -0
  96. package/backend/dist/cjs/backend/src/plugins/mail/ui.d.ts +297 -0
  97. package/backend/dist/cjs/backend/src/plugins/mail/ui.js +1370 -0
  98. package/backend/dist/cjs/backend/src/plugins/pdf.d.ts +1 -0
  99. package/backend/dist/cjs/backend/src/plugins/pdf.js +1456 -0
  100. package/backend/dist/cjs/backend/src/plugins/thread_monitor.d.ts +18 -0
  101. package/backend/dist/cjs/backend/src/plugins/thread_monitor.js +116 -0
  102. package/backend/dist/cjs/backend/src/rate_limit.d.ts +148 -0
  103. package/backend/dist/cjs/backend/src/rate_limit.js +543 -0
  104. package/backend/dist/cjs/backend/src/route.d.ts +39 -0
  105. package/backend/dist/cjs/backend/src/route.js +172 -0
  106. package/backend/dist/cjs/backend/src/server.d.ts +502 -0
  107. package/backend/dist/cjs/backend/src/server.js +1710 -0
  108. package/backend/dist/cjs/backend/src/server.old.d.ts +594 -0
  109. package/backend/dist/cjs/backend/src/server.old.js +2058 -0
  110. package/backend/dist/cjs/backend/src/splash_screen.d.ts +93 -0
  111. package/backend/dist/cjs/backend/src/splash_screen.js +119 -0
  112. package/backend/dist/cjs/backend/src/status.d.ts +89 -0
  113. package/backend/dist/cjs/backend/src/status.js +211 -0
  114. package/backend/dist/cjs/backend/src/stream.d.ts +494 -0
  115. package/backend/dist/cjs/backend/src/stream.js +1370 -0
  116. package/backend/dist/cjs/backend/src/users.d.ts +926 -0
  117. package/backend/dist/cjs/backend/src/users.js +2223 -0
  118. package/backend/dist/cjs/backend/src/utils.d.ts +22 -0
  119. package/backend/dist/cjs/backend/src/utils.js +626 -0
  120. package/backend/dist/cjs/backend/src/view.d.ts +115 -0
  121. package/backend/dist/cjs/backend/src/view.js +519 -0
  122. package/backend/dist/cjs/backend/src/vinc.d.ts +6 -0
  123. package/backend/dist/cjs/backend/src/vinc.js +40 -0
  124. package/backend/dist/cjs/backend/src/volt.d.ts +24 -0
  125. package/backend/dist/cjs/backend/src/volt.js +72 -0
  126. package/backend/dist/cjs/frontend/src/modules/request.d.ts +70 -0
  127. package/backend/dist/cjs/frontend/src/modules/request.js +99 -0
  128. package/backend/dist/cjs/package.json +1 -0
  129. package/backend/dist/esm/backend/src/blacklist.d.ts +12 -0
  130. package/backend/dist/esm/backend/src/blacklist.js +52 -0
  131. package/backend/dist/esm/backend/src/cli.d.ts +2 -0
  132. package/backend/dist/esm/backend/src/cli.js +211 -0
  133. package/backend/dist/esm/backend/src/database/collection.d.ts +1765 -0
  134. package/backend/dist/esm/backend/src/database/collection.js +3779 -0
  135. package/backend/dist/esm/backend/src/database/database.d.ts +92 -0
  136. package/backend/dist/esm/backend/src/database/database.js +214 -0
  137. package/backend/dist/esm/backend/src/database/document.d.ts +1 -0
  138. package/backend/dist/esm/backend/src/database/document.js +558 -0
  139. package/backend/dist/esm/backend/src/database/filters/filters.d.ts +6 -0
  140. package/backend/dist/esm/backend/src/database/filters/filters.js +1 -0
  141. package/backend/dist/esm/backend/src/database/filters/strict_filter.d.ts +223 -0
  142. package/backend/dist/esm/backend/src/database/filters/strict_filter.js +3 -0
  143. package/backend/dist/esm/backend/src/database/filters/strict_filter_test.d.ts +1 -0
  144. package/backend/dist/esm/backend/src/database/filters/strict_filter_test.js +505 -0
  145. package/backend/dist/esm/backend/src/database/filters/strict_filter_test_v0.d.ts +1 -0
  146. package/backend/dist/esm/backend/src/database/filters/strict_filter_test_v0.js +712 -0
  147. package/backend/dist/esm/backend/src/database/filters/strict_filter_v0.d.ts +50 -0
  148. package/backend/dist/esm/backend/src/database/filters/strict_filter_v0.js +5 -0
  149. package/backend/dist/esm/backend/src/database/filters/strict_filter_v1.d.ts +76 -0
  150. package/backend/dist/esm/backend/src/database/filters/strict_filter_v1.js +44 -0
  151. package/backend/dist/esm/backend/src/database/filters/strict_filter_v2.d.ts +75 -0
  152. package/backend/dist/esm/backend/src/database/filters/strict_filter_v2.js +5 -0
  153. package/backend/dist/esm/backend/src/database/filters/strict_filter_v3.d.ts +219 -0
  154. package/backend/dist/esm/backend/src/database/filters/strict_filter_v3.js +1 -0
  155. package/backend/dist/esm/backend/src/database/filters/strict_update_filter.d.ts +165 -0
  156. package/backend/dist/esm/backend/src/database/filters/strict_update_filter.js +5 -0
  157. package/backend/dist/esm/backend/src/database/filters/strict_update_filter_test.d.ts +5 -0
  158. package/backend/dist/esm/backend/src/database/filters/strict_update_filter_test.js +415 -0
  159. package/backend/dist/esm/backend/src/database/flatten.d.ts +78 -0
  160. package/backend/dist/esm/backend/src/database/flatten.js +22 -0
  161. package/backend/dist/esm/backend/src/database/flatten_test.d.ts +1 -0
  162. package/backend/dist/esm/backend/src/database/flatten_test.js +174 -0
  163. package/backend/dist/esm/backend/src/database/quota/quoata_v2.d.ts +533 -0
  164. package/backend/dist/esm/backend/src/database/quota/quoata_v2.js +1155 -0
  165. package/backend/dist/esm/backend/src/database/quota/quota.d.ts +551 -0
  166. package/backend/dist/esm/backend/src/database/quota/quota.js +1219 -0
  167. package/backend/dist/esm/backend/src/database/quota/quota_v1.d.ts +534 -0
  168. package/backend/dist/esm/backend/src/database/quota/quota_v1.js +1242 -0
  169. package/backend/dist/esm/backend/src/database/quota/safe_int.d.ts +412 -0
  170. package/backend/dist/esm/backend/src/database/quota/safe_int.js +810 -0
  171. package/backend/dist/esm/backend/src/endpoint.d.ts +346 -0
  172. package/backend/dist/esm/backend/src/endpoint.js +479 -0
  173. package/backend/dist/esm/backend/src/errors/index.d.ts +7 -0
  174. package/backend/dist/esm/backend/src/errors/index.js +7 -0
  175. package/backend/dist/esm/backend/src/errors/internal_external.d.ts +52 -0
  176. package/backend/dist/esm/backend/src/errors/internal_external.js +86 -0
  177. package/backend/dist/esm/backend/src/errors/invalid_usage_error.d.ts +41 -0
  178. package/backend/dist/esm/backend/src/errors/invalid_usage_error.js +33 -0
  179. package/backend/dist/esm/backend/src/errors/system_error.d.ts +261 -0
  180. package/backend/dist/esm/backend/src/errors/system_error.js +444 -0
  181. package/backend/dist/esm/backend/src/events.d.ts +97 -0
  182. package/backend/dist/esm/backend/src/events.js +5 -0
  183. package/backend/dist/esm/backend/src/frontend.d.ts +13 -0
  184. package/backend/dist/esm/backend/src/frontend.js +23 -0
  185. package/backend/dist/esm/backend/src/image_endpoint.d.ts +44 -0
  186. package/backend/dist/esm/backend/src/image_endpoint.js +196 -0
  187. package/backend/dist/esm/backend/src/index.d.ts +23 -0
  188. package/backend/dist/esm/backend/src/index.js +26 -0
  189. package/backend/dist/esm/backend/src/logger.d.ts +5 -0
  190. package/backend/dist/esm/backend/src/logger.js +8 -0
  191. package/backend/dist/esm/backend/src/meta.d.ts +112 -0
  192. package/backend/dist/esm/backend/src/meta.js +152 -0
  193. package/backend/dist/esm/backend/src/payments/paddle.d.ts +329 -0
  194. package/backend/dist/esm/backend/src/payments/paddle.js +2276 -0
  195. package/backend/dist/esm/backend/src/payments/stripe/checkout.d.ts +113 -0
  196. package/backend/dist/esm/backend/src/payments/stripe/checkout.js +356 -0
  197. package/backend/dist/esm/backend/src/payments/stripe/customers.d.ts +17 -0
  198. package/backend/dist/esm/backend/src/payments/stripe/customers.js +193 -0
  199. package/backend/dist/esm/backend/src/payments/stripe/error.d.ts +74 -0
  200. package/backend/dist/esm/backend/src/payments/stripe/error.js +51 -0
  201. package/backend/dist/esm/backend/src/payments/stripe/events.d.ts +155 -0
  202. package/backend/dist/esm/backend/src/payments/stripe/events.js +5 -0
  203. package/backend/dist/esm/backend/src/payments/stripe/meters.d.ts +105 -0
  204. package/backend/dist/esm/backend/src/payments/stripe/meters.js +318 -0
  205. package/backend/dist/esm/backend/src/payments/stripe/payment_methods.d.ts +58 -0
  206. package/backend/dist/esm/backend/src/payments/stripe/payment_methods.js +135 -0
  207. package/backend/dist/esm/backend/src/payments/stripe/products.d.ts +519 -0
  208. package/backend/dist/esm/backend/src/payments/stripe/products.js +896 -0
  209. package/backend/dist/esm/backend/src/payments/stripe/stripe.d.ts +215 -0
  210. package/backend/dist/esm/backend/src/payments/stripe/stripe.js +464 -0
  211. package/backend/dist/esm/backend/src/payments/stripe/subscriptions.d.ts +172 -0
  212. package/backend/dist/esm/backend/src/payments/stripe/subscriptions.js +754 -0
  213. package/backend/dist/esm/backend/src/payments/stripe/utils.d.ts +63 -0
  214. package/backend/dist/esm/backend/src/payments/stripe/utils.js +131 -0
  215. package/backend/dist/esm/backend/src/payments/stripe/webhooks.d.ts +105 -0
  216. package/backend/dist/esm/backend/src/payments/stripe/webhooks.js +752 -0
  217. package/backend/dist/esm/backend/src/plugins/browser.d.ts +1 -0
  218. package/backend/dist/esm/backend/src/plugins/browser.js +170 -0
  219. package/backend/dist/esm/backend/src/plugins/communication.d.ts +70 -0
  220. package/backend/dist/esm/backend/src/plugins/communication.js +169 -0
  221. package/backend/dist/esm/backend/src/plugins/mail/mail.d.ts +255 -0
  222. package/backend/dist/esm/backend/src/plugins/mail/mail.js +396 -0
  223. package/backend/dist/esm/backend/src/plugins/mail/ui.d.ts +297 -0
  224. package/backend/dist/esm/backend/src/plugins/mail/ui.js +1400 -0
  225. package/backend/dist/esm/backend/src/plugins/pdf.d.ts +1 -0
  226. package/backend/dist/esm/backend/src/plugins/pdf.js +1694 -0
  227. package/backend/dist/esm/backend/src/plugins/thread_monitor.d.ts +18 -0
  228. package/backend/dist/esm/backend/src/plugins/thread_monitor.js +120 -0
  229. package/backend/dist/esm/backend/src/rate_limit.d.ts +148 -0
  230. package/backend/dist/esm/backend/src/rate_limit.js +667 -0
  231. package/backend/dist/esm/backend/src/route.d.ts +39 -0
  232. package/backend/dist/esm/backend/src/route.js +222 -0
  233. package/backend/dist/esm/backend/src/server.d.ts +502 -0
  234. package/backend/dist/esm/backend/src/server.js +2031 -0
  235. package/backend/dist/esm/backend/src/server.old.d.ts +594 -0
  236. package/backend/dist/esm/backend/src/server.old.js +2630 -0
  237. package/backend/dist/esm/backend/src/splash_screen.d.ts +93 -0
  238. package/backend/dist/esm/backend/src/splash_screen.js +156 -0
  239. package/backend/dist/esm/backend/src/status.d.ts +89 -0
  240. package/backend/dist/esm/backend/src/status.js +213 -0
  241. package/backend/dist/esm/backend/src/stream.d.ts +494 -0
  242. package/backend/dist/esm/backend/src/stream.js +1611 -0
  243. package/backend/dist/esm/backend/src/users.d.ts +926 -0
  244. package/backend/dist/esm/backend/src/users.js +2423 -0
  245. package/backend/dist/esm/backend/src/utils.d.ts +22 -0
  246. package/backend/dist/esm/backend/src/utils.js +463 -0
  247. package/backend/dist/esm/backend/src/view.d.ts +115 -0
  248. package/backend/dist/esm/backend/src/view.js +584 -0
  249. package/backend/dist/esm/backend/src/vinc.d.ts +6 -0
  250. package/backend/dist/esm/backend/src/vinc.js +6 -0
  251. package/backend/dist/esm/backend/src/volt.d.ts +24 -0
  252. package/backend/dist/esm/backend/src/volt.js +27 -0
  253. package/backend/dist/esm/frontend/src/modules/request.d.ts +70 -0
  254. package/backend/dist/esm/frontend/src/modules/request.js +117 -0
  255. package/backend/old/file_watcher.ts +359 -0
  256. package/backend/old/request.deprc.js +626 -0
  257. package/backend/old/response.deprc.js +354 -0
  258. package/frontend/dist/backend/src/database/collection.d.ts +1765 -0
  259. package/frontend/dist/backend/src/database/collection.js +3779 -0
  260. package/frontend/dist/backend/src/database/database.d.ts +92 -0
  261. package/frontend/dist/backend/src/database/database.js +214 -0
  262. package/frontend/dist/backend/src/database/filters/filters.d.ts +6 -0
  263. package/frontend/dist/backend/src/database/filters/filters.js +1 -0
  264. package/frontend/dist/backend/src/database/filters/strict_filter.d.ts +223 -0
  265. package/frontend/dist/backend/src/database/filters/strict_filter.js +3 -0
  266. package/frontend/dist/backend/src/database/filters/strict_update_filter.d.ts +165 -0
  267. package/frontend/dist/backend/src/database/filters/strict_update_filter.js +5 -0
  268. package/frontend/dist/backend/src/database/flatten.d.ts +78 -0
  269. package/frontend/dist/backend/src/database/flatten.js +22 -0
  270. package/frontend/dist/backend/src/endpoint.d.ts +346 -0
  271. package/frontend/dist/backend/src/endpoint.js +479 -0
  272. package/frontend/dist/backend/src/errors/index.d.ts +7 -0
  273. package/frontend/dist/backend/src/errors/index.js +7 -0
  274. package/frontend/dist/backend/src/errors/internal_external.d.ts +52 -0
  275. package/frontend/dist/backend/src/errors/internal_external.js +86 -0
  276. package/frontend/dist/backend/src/errors/invalid_usage_error.d.ts +41 -0
  277. package/frontend/dist/backend/src/errors/invalid_usage_error.js +33 -0
  278. package/frontend/dist/backend/src/errors/system_error.d.ts +261 -0
  279. package/frontend/dist/backend/src/errors/system_error.js +444 -0
  280. package/frontend/dist/backend/src/events.d.ts +97 -0
  281. package/frontend/dist/backend/src/events.js +5 -0
  282. package/frontend/dist/backend/src/frontend.d.ts +13 -0
  283. package/frontend/dist/backend/src/frontend.js +23 -0
  284. package/frontend/dist/backend/src/image_endpoint.d.ts +44 -0
  285. package/frontend/dist/backend/src/image_endpoint.js +196 -0
  286. package/frontend/dist/backend/src/meta.d.ts +112 -0
  287. package/frontend/dist/backend/src/meta.js +152 -0
  288. package/frontend/dist/backend/src/payments/paddle.d.ts +329 -0
  289. package/frontend/dist/backend/src/payments/paddle.js +2276 -0
  290. package/frontend/dist/backend/src/payments/stripe/checkout.d.ts +113 -0
  291. package/frontend/dist/backend/src/payments/stripe/checkout.js +356 -0
  292. package/frontend/dist/backend/src/payments/stripe/customers.d.ts +17 -0
  293. package/frontend/dist/backend/src/payments/stripe/customers.js +193 -0
  294. package/frontend/dist/backend/src/payments/stripe/error.d.ts +74 -0
  295. package/frontend/dist/backend/src/payments/stripe/error.js +51 -0
  296. package/frontend/dist/backend/src/payments/stripe/events.d.ts +155 -0
  297. package/frontend/dist/backend/src/payments/stripe/events.js +5 -0
  298. package/frontend/dist/backend/src/payments/stripe/meters.d.ts +105 -0
  299. package/frontend/dist/backend/src/payments/stripe/meters.js +318 -0
  300. package/frontend/dist/backend/src/payments/stripe/payment_methods.d.ts +58 -0
  301. package/frontend/dist/backend/src/payments/stripe/payment_methods.js +135 -0
  302. package/frontend/dist/backend/src/payments/stripe/products.d.ts +519 -0
  303. package/frontend/dist/backend/src/payments/stripe/products.js +896 -0
  304. package/frontend/dist/backend/src/payments/stripe/stripe.d.ts +215 -0
  305. package/frontend/dist/backend/src/payments/stripe/stripe.js +464 -0
  306. package/frontend/dist/backend/src/payments/stripe/subscriptions.d.ts +172 -0
  307. package/frontend/dist/backend/src/payments/stripe/subscriptions.js +754 -0
  308. package/frontend/dist/backend/src/payments/stripe/utils.d.ts +63 -0
  309. package/frontend/dist/backend/src/payments/stripe/utils.js +131 -0
  310. package/frontend/dist/backend/src/payments/stripe/webhooks.d.ts +105 -0
  311. package/frontend/dist/backend/src/payments/stripe/webhooks.js +752 -0
  312. package/frontend/dist/backend/src/plugins/mail/mail.d.ts +255 -0
  313. package/frontend/dist/backend/src/plugins/mail/mail.js +396 -0
  314. package/frontend/dist/backend/src/plugins/mail/ui.d.ts +297 -0
  315. package/frontend/dist/backend/src/plugins/mail/ui.js +1400 -0
  316. package/frontend/dist/backend/src/rate_limit.d.ts +148 -0
  317. package/frontend/dist/backend/src/rate_limit.js +667 -0
  318. package/frontend/dist/backend/src/route.d.ts +39 -0
  319. package/frontend/dist/backend/src/route.js +222 -0
  320. package/frontend/dist/backend/src/server.d.ts +502 -0
  321. package/frontend/dist/backend/src/server.js +2031 -0
  322. package/frontend/dist/backend/src/splash_screen.d.ts +93 -0
  323. package/frontend/dist/backend/src/splash_screen.js +156 -0
  324. package/frontend/dist/backend/src/status.d.ts +89 -0
  325. package/frontend/dist/backend/src/status.js +213 -0
  326. package/frontend/dist/backend/src/stream.d.ts +494 -0
  327. package/frontend/dist/backend/src/stream.js +1611 -0
  328. package/frontend/dist/backend/src/users.d.ts +926 -0
  329. package/frontend/dist/backend/src/users.js +2423 -0
  330. package/frontend/dist/backend/src/utils.d.ts +22 -0
  331. package/frontend/dist/backend/src/utils.js +463 -0
  332. package/frontend/dist/backend/src/view.d.ts +115 -0
  333. package/frontend/dist/backend/src/view.js +584 -0
  334. package/frontend/dist/frontend/src/css/adyen.css +92 -0
  335. package/frontend/dist/frontend/src/css/volt.css +75 -0
  336. package/frontend/dist/frontend/src/elements/base.d.ts +3743 -0
  337. package/frontend/dist/frontend/src/elements/base.js +12151 -0
  338. package/frontend/dist/frontend/src/elements/module.d.ts +95 -0
  339. package/frontend/dist/frontend/src/elements/module.js +216 -0
  340. package/frontend/dist/frontend/src/elements/register_element.d.ts +3 -0
  341. package/frontend/dist/frontend/src/elements/register_element.js +22 -0
  342. package/frontend/dist/frontend/src/elements/resize_query_manager.d.ts +0 -0
  343. package/frontend/dist/frontend/src/elements/resize_query_manager.js +150 -0
  344. package/frontend/dist/frontend/src/elements/types.d.ts +52 -0
  345. package/frontend/dist/frontend/src/elements/types.js +5 -0
  346. package/frontend/dist/frontend/src/index.d.ts +21 -0
  347. package/frontend/dist/frontend/src/index.js +29 -0
  348. package/frontend/dist/frontend/src/modules/attachment.d.ts +126 -0
  349. package/frontend/dist/frontend/src/modules/attachment.js +306 -0
  350. package/frontend/dist/frontend/src/modules/auth.d.ts +44 -0
  351. package/frontend/dist/frontend/src/modules/auth.js +80 -0
  352. package/frontend/dist/frontend/src/modules/color.d.ts +160 -0
  353. package/frontend/dist/frontend/src/modules/color.js +316 -0
  354. package/frontend/dist/frontend/src/modules/compression.d.ts +39 -0
  355. package/frontend/dist/frontend/src/modules/compression.js +102 -0
  356. package/frontend/dist/frontend/src/modules/cookies.d.ts +44 -0
  357. package/frontend/dist/frontend/src/modules/cookies.js +143 -0
  358. package/frontend/dist/frontend/src/modules/events.d.ts +31 -0
  359. package/frontend/dist/frontend/src/modules/events.js +79 -0
  360. package/frontend/dist/frontend/src/modules/google.d.ts +23 -0
  361. package/frontend/dist/frontend/src/modules/google.js +52 -0
  362. package/frontend/dist/frontend/src/modules/meta.d.ts +14 -0
  363. package/frontend/dist/frontend/src/modules/meta.js +48 -0
  364. package/frontend/dist/frontend/src/modules/paddle.d.ts +1207 -0
  365. package/frontend/dist/frontend/src/modules/paddle.js +2594 -0
  366. package/frontend/dist/frontend/src/modules/request.d.ts +70 -0
  367. package/frontend/dist/frontend/src/modules/request.js +117 -0
  368. package/frontend/dist/frontend/src/modules/settings.d.ts +3 -0
  369. package/frontend/dist/frontend/src/modules/settings.js +5 -0
  370. package/frontend/dist/frontend/src/modules/statics.d.ts +21 -0
  371. package/frontend/dist/frontend/src/modules/statics.js +43 -0
  372. package/frontend/dist/frontend/src/modules/stripe/cart.d.ts +112 -0
  373. package/frontend/dist/frontend/src/modules/stripe/cart.js +321 -0
  374. package/frontend/dist/frontend/src/modules/stripe/checkout.d.ts +7 -0
  375. package/frontend/dist/frontend/src/modules/stripe/checkout.js +37 -0
  376. package/frontend/dist/frontend/src/modules/stripe/index.m.d.ts +6 -0
  377. package/frontend/dist/frontend/src/modules/stripe/index.m.js +6 -0
  378. package/frontend/dist/frontend/src/modules/stripe/payments.d.ts +58 -0
  379. package/frontend/dist/frontend/src/modules/stripe/payments.js +92 -0
  380. package/frontend/dist/frontend/src/modules/support.d.ts +30 -0
  381. package/frontend/dist/frontend/src/modules/support.js +53 -0
  382. package/frontend/dist/frontend/src/modules/theme.d.ts +133 -0
  383. package/frontend/dist/frontend/src/modules/theme.js +406 -0
  384. package/frontend/dist/frontend/src/modules/themes.d.ts +12 -0
  385. package/frontend/dist/frontend/src/modules/themes.js +22 -0
  386. package/frontend/dist/frontend/src/modules/user.d.ts +164 -0
  387. package/frontend/dist/frontend/src/modules/user.js +270 -0
  388. package/frontend/dist/frontend/src/modules/utils.d.ts +176 -0
  389. package/frontend/dist/frontend/src/modules/utils.js +569 -0
  390. package/frontend/dist/frontend/src/types/gradient.d.ts +29 -0
  391. package/frontend/dist/frontend/src/types/gradient.js +79 -0
  392. package/frontend/dist/frontend/src/ui/border_button.d.ts +94 -0
  393. package/frontend/dist/frontend/src/ui/border_button.js +228 -0
  394. package/frontend/dist/frontend/src/ui/button.d.ts +241 -0
  395. package/frontend/dist/frontend/src/ui/button.js +682 -0
  396. package/frontend/dist/frontend/src/ui/canvas.d.ts +138 -0
  397. package/frontend/dist/frontend/src/ui/canvas.js +444 -0
  398. package/frontend/dist/frontend/src/ui/checkbox.d.ts +74 -0
  399. package/frontend/dist/frontend/src/ui/checkbox.js +321 -0
  400. package/frontend/dist/frontend/src/ui/code.d.ts +235 -0
  401. package/frontend/dist/frontend/src/ui/code.js +1007 -0
  402. package/frontend/dist/frontend/src/ui/context_menu.d.ts +36 -0
  403. package/frontend/dist/frontend/src/ui/context_menu.js +205 -0
  404. package/frontend/dist/frontend/src/ui/css.d.ts +16 -0
  405. package/frontend/dist/frontend/src/ui/css.js +48 -0
  406. package/frontend/dist/frontend/src/ui/divider.d.ts +15 -0
  407. package/frontend/dist/frontend/src/ui/divider.js +78 -0
  408. package/frontend/dist/frontend/src/ui/dropdown.d.ts +176 -0
  409. package/frontend/dist/frontend/src/ui/dropdown.js +481 -0
  410. package/frontend/dist/frontend/src/ui/for_each.d.ts +37 -0
  411. package/frontend/dist/frontend/src/ui/for_each.js +92 -0
  412. package/frontend/dist/frontend/src/ui/form.d.ts +34 -0
  413. package/frontend/dist/frontend/src/ui/form.js +233 -0
  414. package/frontend/dist/frontend/src/ui/frame_modes.d.ts +37 -0
  415. package/frontend/dist/frontend/src/ui/frame_modes.js +108 -0
  416. package/frontend/dist/frontend/src/ui/google_map.d.ts +24 -0
  417. package/frontend/dist/frontend/src/ui/google_map.js +106 -0
  418. package/frontend/dist/frontend/src/ui/gradient.d.ts +25 -0
  419. package/frontend/dist/frontend/src/ui/gradient.js +131 -0
  420. package/frontend/dist/frontend/src/ui/image.d.ts +111 -0
  421. package/frontend/dist/frontend/src/ui/image.js +576 -0
  422. package/frontend/dist/frontend/src/ui/input.d.ts +392 -0
  423. package/frontend/dist/frontend/src/ui/input.js +1201 -0
  424. package/frontend/dist/frontend/src/ui/link.d.ts +25 -0
  425. package/frontend/dist/frontend/src/ui/link.js +140 -0
  426. package/frontend/dist/frontend/src/ui/list.d.ts +37 -0
  427. package/frontend/dist/frontend/src/ui/list.js +170 -0
  428. package/frontend/dist/frontend/src/ui/loader_button.d.ts +80 -0
  429. package/frontend/dist/frontend/src/ui/loader_button.js +193 -0
  430. package/frontend/dist/frontend/src/ui/loaders.d.ts +57 -0
  431. package/frontend/dist/frontend/src/ui/loaders.js +157 -0
  432. package/frontend/dist/frontend/src/ui/popup.d.ts +94 -0
  433. package/frontend/dist/frontend/src/ui/popup.js +510 -0
  434. package/frontend/dist/frontend/src/ui/pseudo.d.ts +44 -0
  435. package/frontend/dist/frontend/src/ui/pseudo.js +154 -0
  436. package/frontend/dist/frontend/src/ui/scroller.d.ts +105 -0
  437. package/frontend/dist/frontend/src/ui/scroller.js +1253 -0
  438. package/frontend/dist/frontend/src/ui/slider.d.ts +45 -0
  439. package/frontend/dist/frontend/src/ui/slider.js +217 -0
  440. package/frontend/dist/frontend/src/ui/spacer.d.ts +15 -0
  441. package/frontend/dist/frontend/src/ui/spacer.js +78 -0
  442. package/frontend/dist/frontend/src/ui/span.d.ts +15 -0
  443. package/frontend/dist/frontend/src/ui/span.js +73 -0
  444. package/frontend/dist/frontend/src/ui/stack.d.ts +66 -0
  445. package/frontend/dist/frontend/src/ui/stack.js +335 -0
  446. package/frontend/dist/frontend/src/ui/steps.d.ts +131 -0
  447. package/frontend/dist/frontend/src/ui/steps.js +308 -0
  448. package/frontend/dist/frontend/src/ui/style.d.ts +17 -0
  449. package/frontend/dist/frontend/src/ui/style.js +73 -0
  450. package/frontend/dist/frontend/src/ui/switch.d.ts +69 -0
  451. package/frontend/dist/frontend/src/ui/switch.js +357 -0
  452. package/frontend/dist/frontend/src/ui/table.d.ts +100 -0
  453. package/frontend/dist/frontend/src/ui/table.js +405 -0
  454. package/frontend/dist/frontend/src/ui/tabs.d.ts +111 -0
  455. package/frontend/dist/frontend/src/ui/tabs.js +424 -0
  456. package/frontend/dist/frontend/src/ui/text.d.ts +15 -0
  457. package/frontend/dist/frontend/src/ui/text.js +83 -0
  458. package/frontend/dist/frontend/src/ui/title.d.ts +91 -0
  459. package/frontend/dist/frontend/src/ui/title.js +272 -0
  460. package/frontend/dist/frontend/src/ui/ui.d.ts +35 -0
  461. package/frontend/dist/frontend/src/ui/ui.js +38 -0
  462. package/frontend/dist/frontend/src/ui/view.d.ts +15 -0
  463. package/frontend/dist/frontend/src/ui/view.js +88 -0
  464. package/frontend/dist/frontend/src/volt.d.ts +20 -0
  465. package/frontend/dist/frontend/src/volt.js +27 -0
  466. package/frontend/examples/theme/theme.ts +58 -0
  467. package/frontend/tools/bundle_d_ts.js +71 -0
  468. package/frontend/tools/convert_to_jsdoc_input.txt +9452 -0
  469. package/frontend/tools/convert_to_jsdoc_output.txt +7626 -0
  470. package/frontend/tools/convert_to_jsdoc_tmp.js +345 -0
  471. package/frontend/tools/scan_mixed_imports.js +69 -0
  472. package/package.json +1 -5
@@ -0,0 +1,505 @@
1
+ // strict_filter_test.ts
2
+ // Compile-time only tests for StrictFilter<T>.
3
+ // Run `tsc` and confirm only the lines marked with `@ts-expect-error` error out.
4
+ import * as mongodb from 'mongodb';
5
+ // ---------------------------------------------------------------------------
6
+ // VALID filters: primitives, operators, dot-paths
7
+ // ---------------------------------------------------------------------------
8
+ // By `_id`.
9
+ const ok_id = {
10
+ _id: new mongodb.ObjectId("507f191e810c19729de860ea")
11
+ };
12
+ const ok_eq = {
13
+ name: 'Ada',
14
+ };
15
+ const ok_eq_regex_on_string = {
16
+ name: /A.*/i,
17
+ };
18
+ const ok_numeric_ops = {
19
+ age: {
20
+ $gte: 18,
21
+ $lt: 65,
22
+ $mod: [10, 0],
23
+ },
24
+ };
25
+ const ok_string_ops = {
26
+ name: {
27
+ $regex: 'Ada',
28
+ $options: 'i',
29
+ },
30
+ };
31
+ const ok_date_ops = {
32
+ createdAt: { $gt: new Date('2020-01-01') },
33
+ };
34
+ const ok_exists_and_type = {
35
+ active: { $exists: true },
36
+ createdAt: { $type: ['date', 9] }, // array of BSON types
37
+ };
38
+ const ok_array_ops_scalars = {
39
+ tags: {
40
+ $all: ['pro', 'admin'],
41
+ $in: ['alpha', 'beta'],
42
+ $nin: ['zzz'],
43
+ $size: 2,
44
+ $elemMatch: { $eq: 'pro' },
45
+ },
46
+ };
47
+ const ok_array_ops_numbers = {
48
+ scores: {
49
+ $elemMatch: { $gt: 90 },
50
+ },
51
+ };
52
+ const ok_bitwise = {
53
+ age: { $bitsAnySet: 0b1010 },
54
+ };
55
+ const ok_dot_path_string = {
56
+ 'address.street': { $regex: /Main/i },
57
+ };
58
+ const ok_dot_path_optional_number = {
59
+ 'address.zip': { $type: 'int' },
60
+ };
61
+ const ok_subdoc_equality = {
62
+ address: { street: 'Main', zip: 12345 },
63
+ };
64
+ const ok_field_not_numeric = {
65
+ age: { $not: { $lt: 18 } },
66
+ };
67
+ const ok_field_not_regex_string = {
68
+ name: { $not: /tmp/i },
69
+ };
70
+ // By in status const.
71
+ const ok_const_status = {
72
+ status: { $in: ['active', 'inactive', 'pending'] },
73
+ };
74
+ // ---------------------------------------------------------------------------
75
+ // VALID: Geospatial operators on GeoJSON-ish field
76
+ // ---------------------------------------------------------------------------
77
+ const ok_geo_near = {
78
+ location: {
79
+ $near: { type: 'Point', coordinates: [10, 20], $maxDistance: 1000 },
80
+ },
81
+ };
82
+ const ok_geo_within = {
83
+ location: {
84
+ $geoWithin: {
85
+ $centerSphere: [[10, 20], 1],
86
+ },
87
+ },
88
+ };
89
+ const ok_geo_intersects = {
90
+ location: {
91
+ $geoIntersects: {
92
+ $geometry: { type: 'Point', coordinates: [11, 21] },
93
+ },
94
+ },
95
+ };
96
+ // ---------------------------------------------------------------------------
97
+ // VALID: Logical operators and recursion
98
+ // ---------------------------------------------------------------------------
99
+ const ok_and_or_nor = {
100
+ $and: [
101
+ { active: { $exists: true } },
102
+ { $or: [{ age: { $gte: 21 } }, { 'address.street': 'Baker St' }] },
103
+ { $nor: [{ tags: { $size: 0 } }] },
104
+ ],
105
+ };
106
+ // ---------------------------------------------------------------------------
107
+ // VALID: $expr with strict field refs and op shapes
108
+ // ---------------------------------------------------------------------------
109
+ const ok_expr_math_compare = {
110
+ $expr: {
111
+ $and: [
112
+ { $gte: ['$age', 18] },
113
+ { $lt: ['$age', { $add: [60, -1] }] },
114
+ ],
115
+ },
116
+ };
117
+ // const ok_expr_string_array_helpers: StrictFilter<User> = {
118
+ // $expr: {
119
+ // $or: [
120
+ // { $eq: [{ $toString: '$age' }, '42'] },
121
+ // { $in: ['admin', '$tags'] },
122
+ // { $size: '$tags' },
123
+ // ],
124
+ // },
125
+ // };
126
+ const ok_expr_string_array_helpers = {
127
+ $expr: {
128
+ $or: [
129
+ // { $eq: [{ $toString: '$age' }, '42'] },
130
+ { $in: ['admin', '$tags'] },
131
+ { $size: '$tags' },
132
+ ],
133
+ },
134
+ };
135
+ const bad_expr_string_array_helpers = {
136
+ // @ts-expect-error
137
+ $expr: {
138
+ $or: [
139
+ { $in: ['admin', '$tagsUNKNOWN'] },
140
+ { $size: '$tags' },
141
+ ],
142
+ },
143
+ };
144
+ // ---------------------------------------------------------------------------
145
+ // VALID: text / where / jsonSchema / comment
146
+ // ---------------------------------------------------------------------------
147
+ const ok_text = {
148
+ $text: { $search: 'engineer', $language: 'en', $caseSensitive: false, $diacriticSensitive: true },
149
+ };
150
+ const ok_where_string = {
151
+ $where: 'this.age > 20',
152
+ };
153
+ const ok_where_function = {
154
+ $where: function () {
155
+ return this.age >= 18 && this.name.length > 0;
156
+ },
157
+ };
158
+ const ok_json_schema_comment = {
159
+ $jsonSchema: { bsonType: 'object', required: ['name'] },
160
+ $comment: 'unit-test',
161
+ };
162
+ // ---------------------------------------------------------------------------
163
+ // VALID: $elemMatch with array of subdocuments (notes?: Note[])
164
+ // Force using $elemMatch instead of dot paths into arrays.
165
+ // ---------------------------------------------------------------------------
166
+ const ok_elemMatch_subdoc = {
167
+ notes: {
168
+ $elemMatch: {
169
+ title: { $regex: '^T' },
170
+ // Keep `as any` here – we aren't building a full, deep StrictFilter<Note> shape
171
+ // and equality to subdocs is allowed; using any avoids creating another type.
172
+ meta: {
173
+ rank: { $gte: 1 },
174
+ tags: { $in: ['x'] },
175
+ },
176
+ },
177
+ },
178
+ };
179
+ // ---------------------------------------------------------------------------
180
+ // INVALID CASES (Each preceded by @ts-expect-error on the offending line)
181
+ // ---------------------------------------------------------------------------
182
+ // By `_id`.
183
+ const bad_id = {
184
+ // @ts-expect-error - must be ObjectId
185
+ _id: []
186
+ };
187
+ const bad_id_1 = {
188
+ // @ts-expect-error - must be ObjectId
189
+ _id: false
190
+ };
191
+ // Unknown top-level key
192
+ const bad_unknown_top = {
193
+ // @ts-expect-error - 'nmae' is not a declared key on User
194
+ nmae: 'typo',
195
+ };
196
+ // Unknown nested dot path
197
+ const bad_unknown_dot = {
198
+ // @ts-expect-error - 'adress.stret' doesn't exist
199
+ 'adress.stret': 'nope',
200
+ };
201
+ // Dot path too deep / not present
202
+ const bad_too_deep = {
203
+ // @ts-expect-error - 'address.zip.code' is not a valid path
204
+ 'address.zip.code': 5,
205
+ };
206
+ // Wrong operator for string ($size only for arrays)
207
+ const bad_string_size = {
208
+ name: {
209
+ // @ts-expect-error
210
+ $size: 3,
211
+ },
212
+ };
213
+ // Bare RegExp on non-string field
214
+ const bad_regex_on_number = {
215
+ // @ts-expect-error
216
+ age: /x/,
217
+ };
218
+ // $regex only valid for strings
219
+ const bad_number_regex = {
220
+ age: {
221
+ // @ts-expect-error
222
+ $regex: /x/,
223
+ },
224
+ };
225
+ // Wrong $mod shape
226
+ const bad_mod_arity = {
227
+ age: {
228
+ // @ts-expect-error
229
+ $mod: [2],
230
+ },
231
+ };
232
+ // Wrong $type string
233
+ const bad_type_name = {
234
+ age: {
235
+ // @ts-expect-error
236
+ $type: 'nonsense',
237
+ },
238
+ };
239
+ // $in wrong element type for scalar field
240
+ const bad_in_scalar_type = {
241
+ age: {
242
+ // @ts-expect-error
243
+ $in: ['x'],
244
+ },
245
+ };
246
+ // $in wrong element type for array field (tags: string[])
247
+ const bad_in_array_elem_type = {
248
+ // @ts-expect-error
249
+ tags: {
250
+ $in: [1, 2],
251
+ },
252
+ };
253
+ // $all wrong elem type
254
+ const bad_all_type = {
255
+ // @ts-expect-error
256
+ tags: {
257
+ $all: [1, 2, 3],
258
+ },
259
+ };
260
+ // $elemMatch shape mismatch for number[] (scores)
261
+ const bad_elemMatch_type = {
262
+ scores: {
263
+ $elemMatch: {
264
+ // @ts-expect-error
265
+ $regex: /x/,
266
+ },
267
+ },
268
+ };
269
+ // Geo: wrong $near payload (must be Point or Position-like)
270
+ const bad_near_shape = {
271
+ location: {
272
+ // @ts-expect-error
273
+ $near: [0, 0],
274
+ },
275
+ };
276
+ // $geoIntersects missing $geometry
277
+ const bad_geo_intersects_shape = {
278
+ location: {
279
+ $geoIntersects: {
280
+ // @ts-expect-error
281
+ foo: 1,
282
+ },
283
+ },
284
+ };
285
+ // $not with illegal inner operator for number (regex disallowed)
286
+ const bad_not_regex_on_number = {
287
+ age: {
288
+ // @ts-expect-error
289
+ $not: /x/,
290
+ },
291
+ };
292
+ // Equality with extra unknown key inside subdocument literal
293
+ const bad_subdoc_extra_key = {
294
+ address: {
295
+ street: 'Main',
296
+ zip: 1,
297
+ // @ts-expect-error
298
+ oops: true,
299
+ },
300
+ };
301
+ // Top-level unknown operator
302
+ const bad_unknown_top_op = {
303
+ // @ts-expect-error
304
+ $foo: 1,
305
+ };
306
+ // $text with extra unknown property
307
+ const bad_text_extra = {
308
+ $text: {
309
+ $search: 'q',
310
+ // @ts-expect-error
311
+ unknown: true,
312
+ },
313
+ };
314
+ // $comment wrong type
315
+ const bad_comment_type = {
316
+ // @ts-expect-error
317
+ $comment: 42,
318
+ };
319
+ // $where wrong type
320
+ const bad_where_type = {
321
+ // @ts-expect-error
322
+ $where: 7,
323
+ };
324
+ // $expr wrong field ref (typo in path)
325
+ const bad_expr_field_ref = {
326
+ // @ts-expect-error
327
+ $expr: {
328
+ $eq: ['$ages', 12],
329
+ },
330
+ };
331
+ // $expr wrong shapes
332
+ const bad_expr_add_scalar = {
333
+ // @ts-expect-error
334
+ $expr: {
335
+ $add: 1,
336
+ },
337
+ };
338
+ // $and recursive unknown keys
339
+ const bad_and_unknown_inside = {
340
+ $and: [
341
+ {
342
+ // @ts-expect-error
343
+ nmae: 'typo', // should be name
344
+ },
345
+ ],
346
+ };
347
+ // $or element with wrong type (not a StrictFilter)
348
+ const bad_or_wrong_elem_type = {
349
+ $or: [
350
+ // @ts-expect-error
351
+ 42,
352
+ ],
353
+ };
354
+ // $elemMatch with unknown nested field on subdoc array (notes)
355
+ const bad_elemMatch_unknown_nested = {
356
+ notes: {
357
+ $elemMatch: {
358
+ // @ts-expect-error
359
+ titla: { $regex: '^T' }, // typo
360
+ },
361
+ },
362
+ };
363
+ const typo_in_and = {
364
+ 'address.street': { $regex: 'Main', $options: 'i' },
365
+ age: { $gte: 18, $lte: 99 },
366
+ // @ts-expect-error
367
+ $expr: {
368
+ $and: [
369
+ { $gte: ['$ageXXX', 18] },
370
+ { $lt: ['$ageXXX', 100] }
371
+ ]
372
+ },
373
+ };
374
+ // Bad status const.
375
+ const bad_const_status = {
376
+ // @ts-expect-error
377
+ status: { $in: ['UNKNOWN'] },
378
+ };
379
+ // ---------------------------------------------------------------------------
380
+ // Driver interop: assignment to mongodb.Filter<T>, findOne usage
381
+ // ---------------------------------------------------------------------------
382
+ const strictOk = {
383
+ 'address.street': { $regex: 'Main', $options: 'i' },
384
+ age: { $gte: 18, $lte: 99 },
385
+ $expr: { $and: [{ $gte: ['$age', 18] }, { $lt: ['$age', 100] }] },
386
+ };
387
+ const mongoFilterAccepts = strictOk; // should compile
388
+ // should accept StrictFilter<User> where Filter<User> is expected
389
+ async function _useInFindOne() {
390
+ const r = await usersCol.findOne(strictOk);
391
+ void r;
392
+ }
393
+ // ---------------------------------------------------------------------------
394
+ // Generics: your requested class and a few variants
395
+ // ---------------------------------------------------------------------------
396
+ // Casting with generics (requested sample)
397
+ class SomeClassGeneric {
398
+ col;
399
+ cast(query) {
400
+ const q = query; // ensure castable to mongodb.Filter<Data>
401
+ void q;
402
+ }
403
+ async find(query) {
404
+ return (await this.col.findOne(query)) ?? undefined;
405
+ }
406
+ }
407
+ // Use with concrete Data:
408
+ const repo1 = new SomeClassGeneric();
409
+ repo1.cast(strictOk);
410
+ // (Removed SourceSomeClass usage — class no longer exported from strict_filter.ts)
411
+ // Generic function accepting StrictFilter<T> and assigning to Filter<T>
412
+ function acceptsStrict(q) {
413
+ const f = q;
414
+ void f;
415
+ }
416
+ acceptsStrict({ $and: [{ age: { $gte: 1 } }] });
417
+ // Nested generic repository using intersection to ensure constraints still pass
418
+ class FancyRepo {
419
+ col;
420
+ whereRecent(q) {
421
+ const f = q;
422
+ void f;
423
+ }
424
+ async findOneStrict(q) {
425
+ return (await this.col.findOne(q)) ?? undefined;
426
+ }
427
+ }
428
+ const fancy = new FancyRepo();
429
+ fancy.whereRecent({ createdAt: { $gt: new Date(0) } });
430
+ // Ensure logicals accept nested StrictFilter<WithId<T>>[] in generics:
431
+ function complexWhere(conds) {
432
+ const merged = {
433
+ $and: conds,
434
+ };
435
+ const f = merged;
436
+ void f;
437
+ }
438
+ complexWhere([{ name: 'Ada' }, { age: { $gt: 20 } }]);
439
+ // ---------------------------------------------------------------------------
440
+ // Additional edge coverage
441
+ // ---------------------------------------------------------------------------
442
+ // Bare string equality + regex mix
443
+ const ok_mix = {
444
+ name: { $eq: 'Ada' },
445
+ age: 36,
446
+ };
447
+ // Plain dot path equality
448
+ const ok_dot_eq = {
449
+ 'address.street': 'Baker St',
450
+ };
451
+ // Ensure array equality works but operator types still correct
452
+ const ok_array_equality = {
453
+ tags: ['x', 'y'],
454
+ };
455
+ // Invalid: $options without $regex (still allowed by Mongo but here it's under string ops only)
456
+ const bad_options_without_regex = {
457
+ // @ts-expect-error
458
+ name: {
459
+ $options: 'i',
460
+ },
461
+ };
462
+ // Invalid: $nearSphere wrong shape
463
+ const bad_nearSphere_shape = {
464
+ location: {
465
+ $nearSphere: {
466
+ // @ts-expect-error
467
+ foo: 'bar',
468
+ },
469
+ },
470
+ };
471
+ // Invalid: $jsonSchema wrong top-level type (must be object, we allow unknown, but basic sanity)
472
+ // This one WON'T error because $jsonSchema is `unknown` by design for pass-through.
473
+ const ok_jsonSchema_any = {
474
+ $jsonSchema: 123,
475
+ };
476
+ void ok_jsonSchema_any;
477
+ // Keep references to avoid TS stripping unused vars
478
+ void ok_eq;
479
+ void ok_eq_regex_on_string;
480
+ void ok_numeric_ops;
481
+ void ok_string_ops;
482
+ void ok_date_ops;
483
+ void ok_exists_and_type;
484
+ void ok_array_ops_scalars;
485
+ void ok_array_ops_numbers;
486
+ void ok_bitwise;
487
+ void ok_dot_path_string;
488
+ void ok_dot_path_optional_number;
489
+ void ok_subdoc_equality;
490
+ void ok_field_not_numeric;
491
+ void ok_field_not_regex_string;
492
+ void ok_geo_near;
493
+ void ok_geo_within;
494
+ void ok_geo_intersects;
495
+ void ok_and_or_nor;
496
+ void ok_expr_math_compare;
497
+ void ok_expr_string_array_helpers;
498
+ void ok_text;
499
+ void ok_where_string;
500
+ void ok_where_function;
501
+ void ok_json_schema_comment;
502
+ void ok_elemMatch_subdoc;
503
+ void ok_mix;
504
+ void ok_dot_eq;
505
+ void ok_array_equality;