@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,569 @@
1
+ /**
2
+ * @author Daan van den Bergh
3
+ * @copyright © 2022 - 2025 Daan van den Bergh. All rights reserved
4
+ */
5
+ /** Utils module. */
6
+ export var Utils;
7
+ (function (Utils) {
8
+ /** True if the current browser's vendor string indicates Apple (e.g., Safari on iOS/macOS). */
9
+ Utils.is_apple = navigator?.vendor?.includes('Apple');
10
+ /** True if the current browser is identified via vendor as Safari/Apple (same check as {@link is_apple}). */
11
+ Utils.is_safari = navigator?.vendor?.includes('Apple');
12
+ /**
13
+ * Determine whether the provided value is a string.
14
+ * @param value The value to check.
15
+ * @returns Returns true if the value is a string, otherwise false.
16
+ * @docs
17
+ */
18
+ function is_string(value) {
19
+ return typeof value === 'string' || value instanceof String;
20
+ }
21
+ Utils.is_string = is_string;
22
+ ;
23
+ /**
24
+ * Determine whether the provided value is a finite number.
25
+ * @param value The value to check.
26
+ * @returns Returns true if the value is a finite number, otherwise false.
27
+ * @docs
28
+ */
29
+ function is_numeric(value) {
30
+ return typeof value === 'number' && Number.isFinite(value);
31
+ }
32
+ Utils.is_numeric = is_numeric;
33
+ ;
34
+ /**
35
+ * Determine whether the provided value is an integer.
36
+ * @param value The value to check.
37
+ * @returns Returns true if the value is an integer, otherwise false.
38
+ * @docs
39
+ */
40
+ function is_int(value) {
41
+ return typeof value === 'number' && Number.isInteger(value);
42
+ }
43
+ Utils.is_int = is_int;
44
+ ;
45
+ /**
46
+ * Determine whether the provided value is a floating-point number.
47
+ * @param value The value to check.
48
+ * @returns Returns true if the value is a float, otherwise false.
49
+ * @docs
50
+ */
51
+ function is_float(value) {
52
+ return typeof value === 'number' && !Number.isNaN(value) && !Number.isInteger(value);
53
+ }
54
+ Utils.is_float = is_float;
55
+ ;
56
+ /**
57
+ * Determine whether the provided value is a function.
58
+ * @param value The value to check.
59
+ * @returns Returns true if the value is a function, otherwise false.
60
+ * @docs
61
+ */
62
+ function is_func(value) {
63
+ return typeof value === 'function';
64
+ }
65
+ Utils.is_func = is_func;
66
+ ;
67
+ /**
68
+ * Determine whether the provided value is an array.
69
+ * @param value The value to check.
70
+ * @returns Returns true if the value is an array, otherwise false.
71
+ * @docs
72
+ */
73
+ function is_array(value) {
74
+ return Array.isArray(value);
75
+ }
76
+ Utils.is_array = is_array;
77
+ ;
78
+ /**
79
+ * Determine whether the provided value is a non-array object.
80
+ * @param value The value to check.
81
+ * @returns Returns true if the value is an object and not an array, otherwise false.
82
+ * @docs
83
+ */
84
+ function is_obj(value) {
85
+ return value != null && typeof value === 'object' && !Array.isArray(value);
86
+ }
87
+ Utils.is_obj = is_obj;
88
+ ;
89
+ /**
90
+ * Determine whether the provided number is even.
91
+ * @param number The number to check.
92
+ * @returns Returns true if the number is even, otherwise false.
93
+ * @docs
94
+ */
95
+ function is_even(number) {
96
+ return number % 2 === 0;
97
+ }
98
+ Utils.is_even = is_even;
99
+ ;
100
+ /**
101
+ * Check if the user agent is a mobile device.
102
+ * @returns Returns true when a mobile user agent is detected.
103
+ * @docs
104
+ */
105
+ function is_mobile() {
106
+ return (!!navigator.userAgent.match(/Android/i) ||
107
+ !!navigator.userAgent.match(/webOS/i) ||
108
+ !!navigator.userAgent.match(/iPhone/i) ||
109
+ !!navigator.userAgent.match(/iPad/i) ||
110
+ !!navigator.userAgent.match(/iPod/i) ||
111
+ !!navigator.userAgent.match(/BlackBerry/i) ||
112
+ !!navigator.userAgent.match(/Windows Phone/i));
113
+ }
114
+ Utils.is_mobile = is_mobile;
115
+ ;
116
+ /**
117
+ * Make all objects of an array or object immutable. All nested objects will also be made immutable recursively.
118
+ * @param object The array or object to freeze.
119
+ * @docs
120
+ */
121
+ function make_immutable(object) {
122
+ if (Array.isArray(object)) {
123
+ object.forEach((item, index) => {
124
+ if (item != null && typeof item === "object") {
125
+ object[index] = Utils.make_immutable(item);
126
+ }
127
+ });
128
+ Object.freeze(object);
129
+ }
130
+ else if (object != null && typeof object === "object") {
131
+ Object.keys(object).forEach((key) => {
132
+ if (object[key] != null && typeof object[key] === "object") {
133
+ object[key] = Utils.make_immutable(object[key]);
134
+ }
135
+ });
136
+ Object.freeze(object);
137
+ }
138
+ return object;
139
+ }
140
+ Utils.make_immutable = make_immutable;
141
+ ;
142
+ /**
143
+ * Check if an element is a direct child of an element or the parent element itself.
144
+ * @param parent The parent element to test.
145
+ * @param target The target element to test.
146
+ * @docs
147
+ */
148
+ function is_child(parent, target) {
149
+ for (let i = 0; i < parent.children.length; i++) {
150
+ if (target === parent.children[i]) {
151
+ return true;
152
+ }
153
+ }
154
+ return false;
155
+ }
156
+ Utils.is_child = is_child;
157
+ ;
158
+ /**
159
+ * Check if an element is a recursively nested child of an element or the parent element itself.
160
+ * @param parent The parent element to test.
161
+ * @param target The target element to test.
162
+ * @param stop_node A node at which to stop checking if target is a parent of the current element.
163
+ * @docs
164
+ */
165
+ function is_nested_child(parent, target, stop_node = null) {
166
+ let e = target instanceof Element ? target : null;
167
+ while (e != null) {
168
+ if (e === parent) {
169
+ return true;
170
+ }
171
+ else if (e === stop_node) {
172
+ return false;
173
+ }
174
+ e = e.parentElement;
175
+ }
176
+ return false;
177
+ }
178
+ Utils.is_nested_child = is_nested_child;
179
+ ;
180
+ // Equals.
181
+ // eq(x, y) { return x == y; }
182
+ // not_eq(x, y) { return x != y; }
183
+ // Greater than.
184
+ // gt(x, y) { return x > y; }
185
+ // gt_eq(x, y) { return x >= y; }
186
+ // Lesser than.
187
+ // lt(x, y) { return x < y; }
188
+ // lt_eq(x, y) { return x <= y; }
189
+ /**
190
+ * Round a number to a specified number of decimal places.
191
+ * @param value The number to round.
192
+ * @param decimals The number of decimal places.
193
+ * @returns The rounded number.
194
+ * @docs
195
+ */
196
+ function round(value, decimals) {
197
+ const factor = 10 ** decimals;
198
+ return Math.round(value * factor) / factor;
199
+ }
200
+ Utils.round = round;
201
+ ;
202
+ /**
203
+ * Get the width of the device's viewport.
204
+ * @returns The width of the device's viewport.
205
+ * @docs
206
+ */
207
+ function device_width() {
208
+ return (window.innerWidth > 0) ? window.innerWidth : screen.width;
209
+ }
210
+ Utils.device_width = device_width;
211
+ ;
212
+ /**
213
+ * Get the height of the device's viewport.
214
+ * @returns The height of the device's viewport.
215
+ * @docs
216
+ */
217
+ function device_height() {
218
+ return (window.innerHeight > 0) ? window.innerHeight : screen.height;
219
+ }
220
+ Utils.device_height = device_height;
221
+ ;
222
+ /**
223
+ * Get the endpoint sub URL of a full domain URL. When parameter "url" is undefined, it uses the current URL.
224
+ * @param url The full domain URL.
225
+ * @returns The endpoint sub URL.
226
+ * @docs
227
+ */
228
+ function endpoint(url = null) {
229
+ if (url == null) {
230
+ return Utils.endpoint(window.location.href);
231
+ }
232
+ else {
233
+ // Strip http:// or https://
234
+ let endpoint = url.replace(/^https?:\/\//, "");
235
+ // Remove domain.
236
+ const firstSlash = endpoint.indexOf('/');
237
+ endpoint = firstSlash !== -1 ? endpoint.substring(firstSlash) : '/';
238
+ // Strip query.
239
+ const queryIndex = endpoint.indexOf("?");
240
+ if (queryIndex !== -1) {
241
+ endpoint = endpoint.substring(0, queryIndex);
242
+ }
243
+ // Clean.
244
+ endpoint = endpoint.replaceAll("//", "/");
245
+ // Remove trailing slashes.
246
+ if (endpoint.length === 0) {
247
+ return '/';
248
+ }
249
+ else {
250
+ while (endpoint.length > 1 && endpoint.endsWith('/')) {
251
+ endpoint = endpoint.slice(0, -1);
252
+ }
253
+ }
254
+ return endpoint;
255
+ }
256
+ }
257
+ Utils.endpoint = endpoint;
258
+ ;
259
+ /**
260
+ * Execute a function when the content is loaded, optionally handling a splash screen.
261
+ * @param func The function to execute when the content is loaded.
262
+ * @returns void
263
+ * @docs
264
+ */
265
+ async function on_load(func) {
266
+ // document.addEventListener("DOMContentLoaded", async () => {
267
+ const splash = document.getElementById("__volt_splash_screen");
268
+ if (splash != null) {
269
+ splash.remove();
270
+ }
271
+ let e = func();
272
+ if (e instanceof Promise) {
273
+ try {
274
+ e = await e;
275
+ }
276
+ catch (err) {
277
+ console.error(err);
278
+ return;
279
+ }
280
+ }
281
+ if (e != null && e instanceof HTMLElement) {
282
+ document.body.appendChild(e);
283
+ }
284
+ // });
285
+ }
286
+ Utils.on_load = on_load;
287
+ /**
288
+ * Redirect to a specified URL, optionally forcing the redirect even if the endpoint is the same.
289
+ * @param url The URL to redirect to.
290
+ * @param forced Whether to force the redirect even if the current endpoint is the same as the target URL.
291
+ * @docs
292
+ */
293
+ function redirect(url, forced = false) {
294
+ if (forced || Utils.endpoint() !== url) {
295
+ window.location.href = url;
296
+ }
297
+ }
298
+ Utils.redirect = redirect;
299
+ /**
300
+ * Get a URL parameter by name, with an optional default value.
301
+ * @param name The name of the URL parameter.
302
+ * @param def The default value to return if the parameter is not found.
303
+ * @returns The value of the URL parameter or the default value.
304
+ * @docs
305
+ */
306
+ function url_param(name, def = null) {
307
+ const params = new URLSearchParams(window.location.search);
308
+ const param = params.get(name);
309
+ if (param == null || param === "") {
310
+ return def;
311
+ }
312
+ switch (param.toLowerCase()) {
313
+ case "true": return true;
314
+ case "false": return false;
315
+ case "null": return null;
316
+ default: return param;
317
+ }
318
+ }
319
+ Utils.url_param = url_param;
320
+ /**
321
+ * Encode an object into a URL-encoded query string.
322
+ * @param params The parameters to encode.
323
+ * @returns The URL-encoded query string.
324
+ * @docs
325
+ */
326
+ function url_encode(params) {
327
+ const encodedParams = [];
328
+ Object.keys(params).forEach((key) => {
329
+ const encodedKey = encodeURIComponent(key);
330
+ const encodedValue = encodeURIComponent(params[key]);
331
+ encodedParams.push(`${encodedKey}=${encodedValue}`);
332
+ });
333
+ return encodedParams.join('&');
334
+ }
335
+ Utils.url_encode = url_encode;
336
+ /**
337
+ * Copy text to the clipboard.
338
+ * @param text The text to copy.
339
+ * @returns A Promise that resolves when the text is copied.
340
+ * @docs
341
+ */
342
+ async function copy_to_clipboard(text) {
343
+ return new Promise((resolve, reject) => {
344
+ navigator.clipboard.writeText(text)
345
+ .then(() => {
346
+ resolve();
347
+ })
348
+ .catch((err) => {
349
+ reject(err);
350
+ });
351
+ });
352
+ }
353
+ Utils.copy_to_clipboard = copy_to_clipboard;
354
+ // /**
355
+ // * Make a request with a specific generic typing, optionally passing
356
+ // * the request method, endpoint, request body and response body types.
357
+ // */
358
+ // export function request<Info extends RequestInfo>(
359
+ // options: Info extends RequestInfo<infer M, infer E, infer P>
360
+ // ? RequestOpts<M, E, P>
361
+ // : never
362
+ // ): Promise<Info extends RequestInfo<any, any, any, infer S, infer E> ? RequestResult<S, E> : never>;
363
+ // /** Request with success body. */
364
+ // export function request<
365
+ // SuccessBody extends ResponseBodyBase,
366
+ // >(
367
+ // options: RequestOpts<Utils.Method, string, unknown>
368
+ // ): Promise<RequestResult<SuccessBody, unknown>>;
369
+ // /** Request with success body & request body generics. */
370
+ // export function request<
371
+ // SuccessBody extends ResponseBodyBase,
372
+ // RequestBody extends RequestBodyBase
373
+ // >(
374
+ // options: RequestOpts<Utils.Method, string, RequestBody>
375
+ // ): Promise<RequestResult<SuccessBody, unknown>>;
376
+ // /** Request with success body & request info generics. */
377
+ // export function request<
378
+ // SuccessBody extends ResponseBodyBase,
379
+ // RequestInfo extends RegisteredEndpoint,
380
+ // >(
381
+ // options: RequestInfo extends RegisteredEndpoint<infer M, infer E, infer P>
382
+ // ? RequestOpts<M extends undefined ? "GET" : M, E, P>
383
+ // : RequestOpts<Utils.Method, string, unknown>
384
+ // ): Promise<RequestResult<SuccessBody, unknown>>;
385
+ // /** Request with success body, error body & request body generics. */
386
+ // export function request<
387
+ // SuccessBody extends ResponseBodyBase,
388
+ // ErrorBody extends ResponseBodyBase,
389
+ // RequestBody extends RequestBodyBase
390
+ // >(
391
+ // options: RequestOpts<Utils.Method, string, RequestBody>
392
+ // ): Promise<RequestResult<SuccessBody, ErrorBody>>;
393
+ // /** New request method. */
394
+ // export async function request(options: RequestOpts<Utils.Method, string, any>): Promise<RequestResult<any, any>> {
395
+ /**
396
+ * Create a debounced version of a function that delays invoking it until after a specified delay.
397
+ * @param delay The number of milliseconds to delay.
398
+ * @param func The function to debounce.
399
+ * @returns The debounced function.
400
+ * @docs
401
+ */
402
+ function debounce(delay, func) {
403
+ let timeout;
404
+ return function (...args) {
405
+ if (timeout !== undefined) {
406
+ clearTimeout(timeout);
407
+ }
408
+ timeout = window.setTimeout(() => func.apply(this, args), delay);
409
+ };
410
+ }
411
+ Utils.debounce = debounce;
412
+ /**
413
+ * @deprecated Use vlib.VDate instead.
414
+ * Convert a Unix timestamp in seconds or milliseconds to the user's date format.
415
+ * @param unix The Unix timestamp.
416
+ * @param mseconds Optional. Whether the Unix timestamp is in milliseconds.
417
+ * @returns The formatted date string.
418
+ * @docs
419
+ */
420
+ function unix_to_date(unix, mseconds = null) {
421
+ // Guess msec or sec.
422
+ if (mseconds == null) {
423
+ // As of now, Unix time in milliseconds is 13 digits and in seconds is 10 digits
424
+ const str = unix.toString();
425
+ if (str.length === 13) {
426
+ mseconds = true;
427
+ }
428
+ else if (str.length === 10) {
429
+ mseconds = false;
430
+ }
431
+ else {
432
+ // Future-proofing: When second-based timestamps eventually reach 11 digits
433
+ if (str.length > 10 && str.length < 13) {
434
+ // Check if adding three zeroes (to simulate milliseconds) results in a plausible future date
435
+ // This is a rough estimation and might not be accurate
436
+ const futureCheck = new Date(parseInt(str + "000", 10));
437
+ if (futureCheck.getFullYear() > new Date().getFullYear() && futureCheck.getFullYear() < 3000) {
438
+ mseconds = false;
439
+ }
440
+ }
441
+ }
442
+ }
443
+ // Format.
444
+ const date = new Date(mseconds ? unix : unix * 1000);
445
+ const lang = navigator.language || navigator.userLanguage;
446
+ const tz = Intl.DateTimeFormat().resolvedOptions().timeZone;
447
+ let options = {
448
+ year: "numeric",
449
+ month: "2-digit",
450
+ day: "2-digit",
451
+ timeZone: tz,
452
+ };
453
+ const date_format = new Intl.DateTimeFormat(lang, options).format(date);
454
+ options = {
455
+ hour: "2-digit",
456
+ minute: "2-digit",
457
+ second: "2-digit",
458
+ hour12: lang.toLowerCase().includes("en"),
459
+ timeZone: tz,
460
+ };
461
+ const time_format = new Intl.DateTimeFormat(lang, options).format(date);
462
+ return `${date_format} ${time_format}`;
463
+ }
464
+ Utils.unix_to_date = unix_to_date;
465
+ // Get the brightness of a hex color (0.0 white 1.0 dark).
466
+ // @deprecated moved to `Colors`
467
+ // hex_brightness(color: string): number {
468
+ // // Remove the hash symbol if present
469
+ // color = color.replace(/^#/, '');
470
+ // // Convert hex to RGB
471
+ // const bigint = parseInt(color, 16);
472
+ // const r = (bigint >> 16) & 255;
473
+ // const g = (bigint >> 8) & 255;
474
+ // const b = bigint & 255;
475
+ // // Calculate perceived brightness using the relative luminance formula
476
+ // const brightness = (0.299 * r + 0.587 * g + 0.114 * b) / 255;
477
+ // return brightness;
478
+ // },
479
+ // Hex to rgbA.
480
+ // @deprecated moved to `Colors`
481
+ // hex_to_rgb(hex: string): { r: number, g: number, b: number, a: number } {
482
+ // let index = hex.indexOf("#");
483
+ // if (index !== -1) {
484
+ // hex = hex.substr(index + 1);
485
+ // }
486
+ // let r = parseInt(hex.substring(0, 2), 16);
487
+ // let g = parseInt(hex.substring(2, 4), 16);
488
+ // let b = parseInt(hex.substring(4, 6), 16);
489
+ // let a = 1;
490
+ // if (hex.length > 6) {
491
+ // a = parseInt(hex.substring(6, 8)) / 100;
492
+ // }
493
+ // return { r, g, b, a };
494
+ // },
495
+ // Aggregate multiple classes into a single class, can be used to extend more than one class.
496
+ // aggregate(
497
+ // BaseClass: new (...args: any[]) => any,
498
+ // ...Mixins: Array<new (...args: any[]) => any>
499
+ // ) {
500
+ // class AggregatedClass extends BaseClass {
501
+ // constructor(...args: any[]) {
502
+ // super(...args);
503
+ // // Additional initialization if needed
504
+ // }
505
+ // }
506
+ // // Copy methods and properties from mixin classes to the AggregatedClass prototype
507
+ // Mixins.forEach(MixinClass => {
508
+ // // Copy instance methods and properties
509
+ // Object.getOwnPropertyNames(MixinClass.prototype).forEach(name => {
510
+ // if (name !== 'constructor') {
511
+ // Object.defineProperty(
512
+ // AggregatedClass.prototype,
513
+ // name,
514
+ // Object.getOwnPropertyDescriptor(MixinClass.prototype, name)!
515
+ // );
516
+ // }
517
+ // });
518
+ // // Copy static methods and properties if needed
519
+ // Object.getOwnPropertyNames(MixinClass).forEach(name => {
520
+ // if (name !== 'prototype' && name !== 'name' && name !== 'length') {
521
+ // Object.defineProperty(
522
+ // AggregatedClass,
523
+ // name,
524
+ // Object.getOwnPropertyDescriptor(MixinClass, name)!
525
+ // );
526
+ // }
527
+ // });
528
+ // });
529
+ // return AggregatedClass;
530
+ // },
531
+ })(Utils || (Utils = {}));
532
+ export { Utils as utils }; // also export as lowercase for compatibility.
533
+ // // ---------------------------------------
534
+ // // SMALL REQUESTS TESTS
535
+ // // 2 generics: <Success, Body> -> Error = unknown
536
+ // const res_1 = await Utils.request<
537
+ // { uid: string },
538
+ // { name: string }
539
+ // >({ method: 'POST', url: '/users', data: { name: 'Ada' } });
540
+ // if (res_1.error) {
541
+ // const e = res_1.error;
542
+ // } else {
543
+ // const d = res_1.data;
544
+ // }
545
+ // // 3 generics: <Success, Error, Body>
546
+ // const res_2 = await Utils.request<{ uid: string }, { unknown_uid: string }, { name: string }>({ method: 'POST', url: '/users', data: { name: 'Ada' } });
547
+ // if (res_2.error) {
548
+ // const e = res_2.error;
549
+ // const d = res_2.data;
550
+ // } else {
551
+ // const d = res_2.data;
552
+ // }
553
+ // // 1 generic: <Success> -> Body inferred from `data`, Error = unknown
554
+ // const res_3 = await Utils.request<{ uid: string }>({ method: 'POST', url: '/users', data: { name: 'Ada' } });
555
+ // if (res_3.error) {
556
+ // const e = res_3.error;
557
+ // } else {
558
+ // const d = res_3.data;
559
+ // }
560
+ // // missing data attr
561
+ // const res_4 = await Utils.request<
562
+ // { uid: string },
563
+ // { name: string, age: number }
564
+ // >({
565
+ // method: 'POST',
566
+ // url: '/users',
567
+ // // @ts-expect-error
568
+ // data: { name: 'Ada' }
569
+ // });
@@ -0,0 +1,29 @@
1
+ /**
2
+ * @author Daan van den Bergh
3
+ * @copyright © 2022 - 2025 Daan van den Bergh. All rights reserved
4
+ */
5
+ /**
6
+ * Create a gradient object.
7
+ *
8
+ * Can also be constructed with wrapper function `Gradient`.
9
+ * @nav Frontend/Styling
10
+ * @returns Returns the `GradientType` object.
11
+ * @param ...args The arguments can either be of length 1, containing the full gradient string `new GradientType("linear-gradient(...)")`. Or the arguments can be as `new GradientType("linear", "black", "0%", "white", "100%")`.
12
+ * @docs
13
+ */
14
+ export declare class GradientType {
15
+ gradient?: string;
16
+ type?: string;
17
+ degree?: string;
18
+ colors?: {
19
+ color: string;
20
+ stop?: string;
21
+ }[];
22
+ constructor(gradient: string);
23
+ constructor(type: string, ...colors: string[]);
24
+ /**
25
+ * Cast to a CSS `*-gradient(...)` string. If `gradient` is unset but `colors` exist, it is built from `type`, `degree`, and `colors`, then cached.
26
+ * @returns The CSS gradient string, or an empty string when insufficient data is available.
27
+ */
28
+ toString(): string;
29
+ }
@@ -0,0 +1,79 @@
1
+ /**
2
+ * @author Daan van den Bergh
3
+ * @copyright © 2022 - 2025 Daan van den Bergh. All rights reserved
4
+ */
5
+ /**
6
+ * Create a gradient object.
7
+ *
8
+ * Can also be constructed with wrapper function `Gradient`.
9
+ * @nav Frontend/Styling
10
+ * @returns Returns the `GradientType` object.
11
+ * @param ...args The arguments can either be of length 1, containing the full gradient string `new GradientType("linear-gradient(...)")`. Or the arguments can be as `new GradientType("linear", "black", "0%", "white", "100%")`.
12
+ * @docs
13
+ */
14
+ export class GradientType {
15
+ gradient;
16
+ type;
17
+ degree;
18
+ colors;
19
+ constructor(...args) {
20
+ if (args.length === 1) {
21
+ this.gradient = args[0];
22
+ }
23
+ else if (args.length > 1) {
24
+ this.type = args[0];
25
+ this.colors = [];
26
+ for (let i = 1; i < args.length; i++) {
27
+ if (args[i].endsWith("deg")) {
28
+ this.degree = args[i];
29
+ continue;
30
+ }
31
+ if (typeof args[i + 1] === "string" && args[i + 1].includes("%")) {
32
+ this.colors.push({
33
+ color: args[i],
34
+ stop: args[i + 1],
35
+ });
36
+ i++;
37
+ }
38
+ else {
39
+ this.colors.push({
40
+ color: args[i],
41
+ stop: undefined,
42
+ });
43
+ }
44
+ }
45
+ }
46
+ else {
47
+ console.error("Invalid number of arguments for class \"Gradient()\".");
48
+ }
49
+ }
50
+ /**
51
+ * Cast to a CSS `*-gradient(...)` string. If `gradient` is unset but `colors` exist, it is built from `type`, `degree`, and `colors`, then cached.
52
+ * @returns The CSS gradient string, or an empty string when insufficient data is available.
53
+ */
54
+ // Cast to string.
55
+ toString() {
56
+ if (this.gradient == null && this.colors !== undefined) {
57
+ this.gradient = `${this.type}-gradient(`;
58
+ if (this.degree) {
59
+ this.gradient += this.degree + ", ";
60
+ }
61
+ for (let i = 0; i < this.colors.length; i++) {
62
+ this.gradient += this.colors[i].color;
63
+ this.gradient += " ";
64
+ let stop = this.colors[i].stop;
65
+ if (typeof stop === "number" && stop <= 1.0) {
66
+ stop = (stop * 100) + "%";
67
+ }
68
+ this.gradient += stop;
69
+ if (i + 1 < this.colors.length) {
70
+ this.gradient += ", ";
71
+ }
72
+ }
73
+ this.gradient += ")";
74
+ return this.gradient;
75
+ }
76
+ return this.gradient ?? "";
77
+ }
78
+ }
79
+ ;