@vandenberghinc/volt 1.1.26 → 1.1.28

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 (502) hide show
  1. package/backend/dist/cjs/{blacklist.d.ts → backend/src/blacklist.d.ts} +5 -3
  2. package/backend/dist/cjs/{blacklist.js → backend/src/blacklist.js} +8 -5
  3. package/backend/dist/cjs/{cli.js → backend/src/cli.js} +29 -47
  4. package/backend/dist/cjs/backend/src/database/collection.d.ts +1543 -0
  5. package/backend/dist/cjs/backend/src/database/collection.js +3042 -0
  6. package/backend/dist/cjs/backend/src/database/database.d.ts +66 -0
  7. package/backend/dist/cjs/{database → backend/src/database}/database.js +48 -43
  8. package/backend/dist/cjs/backend/src/database/filters/filters.d.ts +6 -0
  9. package/backend/dist/cjs/backend/src/database/filters/filters.js +15 -0
  10. package/backend/dist/cjs/backend/src/database/filters/strict_filter.d.ts +223 -0
  11. package/backend/dist/cjs/backend/src/database/filters/strict_filter.js +15 -0
  12. package/backend/dist/cjs/backend/src/database/filters/strict_filter_test.js +443 -0
  13. package/backend/dist/cjs/backend/src/database/filters/strict_filter_test_v0.js +15 -0
  14. package/backend/dist/cjs/backend/src/database/filters/strict_filter_v0.d.ts +50 -0
  15. package/backend/dist/cjs/backend/src/database/filters/strict_filter_v0.js +15 -0
  16. package/backend/dist/cjs/backend/src/database/filters/strict_filter_v1.d.ts +76 -0
  17. package/backend/dist/cjs/backend/src/database/filters/strict_filter_v1.js +15 -0
  18. package/backend/dist/cjs/backend/src/database/filters/strict_filter_v2.d.ts +75 -0
  19. package/backend/dist/cjs/backend/src/database/filters/strict_filter_v2.js +15 -0
  20. package/backend/dist/cjs/backend/src/database/filters/strict_filter_v3.d.ts +219 -0
  21. package/backend/dist/cjs/backend/src/database/filters/strict_filter_v3.js +15 -0
  22. package/backend/dist/cjs/backend/src/database/filters/strict_update_filter.d.ts +165 -0
  23. package/backend/dist/cjs/backend/src/database/filters/strict_update_filter.js +15 -0
  24. package/backend/dist/cjs/backend/src/database/filters/strict_update_filter_test.d.ts +5 -0
  25. package/backend/dist/cjs/backend/src/database/filters/strict_update_filter_test.js +355 -0
  26. package/backend/dist/cjs/backend/src/database/flatten.d.ts +75 -0
  27. package/backend/dist/cjs/{logger.js → backend/src/database/flatten.js} +18 -7
  28. package/backend/dist/cjs/backend/src/database/flatten_test.js +175 -0
  29. package/backend/dist/cjs/backend/src/database/quota/quota.d.ts +461 -0
  30. package/backend/dist/cjs/backend/src/database/quota/quota.js +1014 -0
  31. package/backend/dist/cjs/backend/src/database/quota/quota_v1.d.ts +534 -0
  32. package/backend/dist/cjs/backend/src/database/quota/quota_v1.js +1087 -0
  33. package/backend/dist/cjs/backend/src/database/quota/safe_int.d.ts +293 -0
  34. package/backend/dist/cjs/backend/src/database/quota/safe_int.js +573 -0
  35. package/backend/dist/{esm → cjs/backend/src}/endpoint.d.ts +69 -46
  36. package/backend/dist/cjs/{endpoint.js → backend/src/endpoint.js} +87 -101
  37. package/backend/dist/cjs/backend/src/errors/index.d.ts +7 -0
  38. package/backend/dist/cjs/backend/src/errors/index.js +25 -0
  39. package/backend/dist/{esm/utils.d.ts → cjs/backend/src/errors/internal_external.d.ts} +14 -22
  40. package/backend/dist/cjs/backend/src/errors/internal_external.js +85 -0
  41. package/backend/dist/cjs/backend/src/errors/invalid_usage_error.d.ts +38 -0
  42. package/backend/dist/cjs/{mutex.js → backend/src/errors/invalid_usage_error.js} +20 -37
  43. package/backend/dist/cjs/backend/src/errors/system_error.d.ts +230 -0
  44. package/backend/dist/cjs/backend/src/errors/system_error.js +393 -0
  45. package/backend/dist/cjs/backend/src/events.d.ts +54 -0
  46. package/backend/dist/cjs/backend/src/events.js +15 -0
  47. package/backend/dist/cjs/{frontend.js → backend/src/frontend.js} +1 -1
  48. package/backend/dist/cjs/{image_endpoint.d.ts → backend/src/image_endpoint.d.ts} +16 -1
  49. package/backend/dist/cjs/{image_endpoint.js → backend/src/image_endpoint.js} +3 -5
  50. package/backend/dist/cjs/backend/src/logger.d.ts +5 -0
  51. package/backend/dist/cjs/backend/src/logger.js +15 -0
  52. package/backend/dist/cjs/backend/src/meta.d.ts +64 -0
  53. package/backend/dist/cjs/{meta.js → backend/src/meta.js} +9 -12
  54. package/backend/dist/cjs/backend/src/payments/paddle.d.ts +326 -0
  55. package/backend/dist/cjs/{payments → backend/src/payments}/paddle.js +377 -327
  56. package/backend/dist/cjs/backend/src/plugins/browser.d.ts +1 -0
  57. package/backend/dist/cjs/backend/src/plugins/browser.js +15 -0
  58. package/backend/dist/cjs/backend/src/plugins/mail/mail.d.ts +248 -0
  59. package/backend/dist/cjs/backend/src/plugins/mail/mail.js +379 -0
  60. package/backend/dist/{esm → cjs/backend/src}/plugins/mail/ui.d.ts +23 -0
  61. package/backend/dist/cjs/backend/src/plugins/pdf.d.ts +1 -0
  62. package/backend/dist/cjs/backend/src/rate_limit.d.ts +145 -0
  63. package/backend/dist/cjs/backend/src/rate_limit.js +549 -0
  64. package/backend/dist/cjs/{route.d.ts → backend/src/route.d.ts} +3 -10
  65. package/backend/dist/cjs/{route.js → backend/src/route.js} +23 -21
  66. package/backend/dist/cjs/backend/src/server.d.ts +485 -0
  67. package/backend/dist/cjs/{server.js → backend/src/server.js} +688 -873
  68. package/backend/dist/cjs/backend/src/splash_screen.d.ts +80 -0
  69. package/backend/dist/cjs/{splash_screen.js → backend/src/splash_screen.js} +24 -3
  70. package/backend/dist/cjs/backend/src/status.d.ts +74 -0
  71. package/backend/dist/cjs/{status.js → backend/src/status.js} +64 -64
  72. package/backend/dist/cjs/backend/src/stream.d.ts +376 -0
  73. package/backend/dist/cjs/{stream.js → backend/src/stream.js} +299 -276
  74. package/backend/dist/cjs/backend/src/users.d.ts +807 -0
  75. package/backend/dist/cjs/backend/src/users.js +1971 -0
  76. package/backend/dist/cjs/backend/src/utils.d.ts +16 -0
  77. package/backend/dist/cjs/{utils.js → backend/src/utils.js} +14 -77
  78. package/backend/dist/{esm → cjs/backend/src}/view.d.ts +33 -11
  79. package/backend/dist/cjs/backend/src/view.js +508 -0
  80. package/backend/dist/{esm → cjs/backend/src}/volt.d.ts +10 -1
  81. package/backend/dist/cjs/{volt.js → backend/src/volt.js} +8 -5
  82. package/backend/dist/cjs/frontend/src/modules/request.d.ts +70 -0
  83. package/backend/dist/cjs/frontend/src/modules/request.js +99 -0
  84. package/backend/dist/esm/{blacklist.d.ts → backend/src/blacklist.d.ts} +5 -3
  85. package/backend/dist/esm/{blacklist.js → backend/src/blacklist.js} +9 -6
  86. package/backend/dist/esm/{cli.js → backend/src/cli.js} +43 -60
  87. package/backend/dist/esm/backend/src/database/collection.d.ts +1543 -0
  88. package/backend/dist/esm/backend/src/database/collection.js +3510 -0
  89. package/backend/dist/esm/backend/src/database/database.d.ts +66 -0
  90. package/backend/dist/esm/{database → backend/src/database}/database.js +62 -103
  91. package/backend/dist/esm/backend/src/database/document.d.ts +1 -0
  92. package/backend/dist/esm/backend/src/database/document.js +558 -0
  93. package/backend/dist/esm/backend/src/database/filters/filters.d.ts +6 -0
  94. package/backend/dist/esm/backend/src/database/filters/filters.js +1 -0
  95. package/backend/dist/esm/backend/src/database/filters/strict_filter.d.ts +223 -0
  96. package/backend/dist/esm/backend/src/database/filters/strict_filter.js +3 -0
  97. package/backend/dist/esm/backend/src/database/filters/strict_filter_test.d.ts +1 -0
  98. package/backend/dist/esm/backend/src/database/filters/strict_filter_test.js +505 -0
  99. package/backend/dist/esm/backend/src/database/filters/strict_filter_test_v0.d.ts +1 -0
  100. package/backend/dist/esm/backend/src/database/filters/strict_filter_test_v0.js +712 -0
  101. package/backend/dist/esm/backend/src/database/filters/strict_filter_v0.d.ts +50 -0
  102. package/backend/dist/esm/backend/src/database/filters/strict_filter_v0.js +5 -0
  103. package/backend/dist/esm/backend/src/database/filters/strict_filter_v1.d.ts +76 -0
  104. package/backend/dist/esm/backend/src/database/filters/strict_filter_v1.js +44 -0
  105. package/backend/dist/esm/backend/src/database/filters/strict_filter_v2.d.ts +75 -0
  106. package/backend/dist/esm/backend/src/database/filters/strict_filter_v2.js +5 -0
  107. package/backend/dist/esm/backend/src/database/filters/strict_filter_v3.d.ts +219 -0
  108. package/backend/dist/esm/backend/src/database/filters/strict_filter_v3.js +1 -0
  109. package/backend/dist/esm/backend/src/database/filters/strict_update_filter.d.ts +165 -0
  110. package/backend/dist/esm/backend/src/database/filters/strict_update_filter.js +5 -0
  111. package/backend/dist/esm/backend/src/database/filters/strict_update_filter_test.d.ts +5 -0
  112. package/backend/dist/esm/backend/src/database/filters/strict_update_filter_test.js +405 -0
  113. package/backend/dist/esm/backend/src/database/flatten.d.ts +75 -0
  114. package/backend/dist/esm/backend/src/database/flatten.js +22 -0
  115. package/backend/dist/esm/backend/src/database/flatten_test.d.ts +1 -0
  116. package/backend/dist/esm/backend/src/database/flatten_test.js +174 -0
  117. package/backend/dist/esm/backend/src/database/quota/quota.d.ts +461 -0
  118. package/backend/dist/esm/backend/src/database/quota/quota.js +1118 -0
  119. package/backend/dist/esm/backend/src/database/quota/quota_v1.d.ts +534 -0
  120. package/backend/dist/esm/backend/src/database/quota/quota_v1.js +1242 -0
  121. package/backend/dist/esm/backend/src/database/quota/safe_int.d.ts +293 -0
  122. package/backend/dist/esm/backend/src/database/quota/safe_int.js +602 -0
  123. package/backend/dist/{cjs → esm/backend/src}/endpoint.d.ts +69 -46
  124. package/backend/dist/esm/{endpoint.js → backend/src/endpoint.js} +136 -127
  125. package/backend/dist/esm/backend/src/errors/index.d.ts +7 -0
  126. package/backend/dist/esm/backend/src/errors/index.js +7 -0
  127. package/backend/dist/{cjs/utils.d.ts → esm/backend/src/errors/internal_external.d.ts} +14 -22
  128. package/backend/dist/esm/backend/src/errors/internal_external.js +70 -0
  129. package/backend/dist/esm/backend/src/errors/invalid_usage_error.d.ts +38 -0
  130. package/backend/dist/esm/backend/src/errors/invalid_usage_error.js +30 -0
  131. package/backend/dist/esm/backend/src/errors/system_error.d.ts +230 -0
  132. package/backend/dist/esm/backend/src/errors/system_error.js +402 -0
  133. package/backend/dist/esm/backend/src/events.d.ts +54 -0
  134. package/backend/dist/esm/backend/src/events.js +5 -0
  135. package/backend/dist/esm/{frontend.js → backend/src/frontend.js} +1 -1
  136. package/backend/dist/esm/{image_endpoint.d.ts → backend/src/image_endpoint.d.ts} +16 -1
  137. package/backend/dist/esm/{image_endpoint.js → backend/src/image_endpoint.js} +16 -20
  138. package/backend/dist/esm/backend/src/logger.d.ts +5 -0
  139. package/backend/dist/esm/backend/src/logger.js +8 -0
  140. package/backend/dist/esm/backend/src/meta.d.ts +64 -0
  141. package/backend/dist/esm/{meta.js → backend/src/meta.js} +15 -54
  142. package/backend/dist/esm/backend/src/payments/paddle.d.ts +326 -0
  143. package/backend/dist/esm/{payments → backend/src/payments}/paddle.js +417 -452
  144. package/backend/dist/esm/backend/src/plugins/browser.d.ts +1 -0
  145. package/backend/dist/esm/backend/src/plugins/browser.js +170 -0
  146. package/backend/dist/esm/backend/src/plugins/mail/mail.d.ts +248 -0
  147. package/backend/dist/esm/backend/src/plugins/mail/mail.js +389 -0
  148. package/backend/dist/{cjs → esm/backend/src}/plugins/mail/ui.d.ts +23 -0
  149. package/backend/dist/esm/{plugins → backend/src/plugins}/mail/ui.js +3 -6
  150. package/backend/dist/esm/backend/src/plugins/pdf.d.ts +1 -0
  151. package/backend/dist/esm/{plugins → backend/src/plugins}/pdf.js +3 -3
  152. package/backend/dist/esm/backend/src/rate_limit.d.ts +145 -0
  153. package/backend/dist/esm/backend/src/rate_limit.js +667 -0
  154. package/backend/dist/esm/{route.d.ts → backend/src/route.d.ts} +3 -10
  155. package/backend/dist/esm/{route.js → backend/src/route.js} +26 -21
  156. package/backend/dist/esm/backend/src/server.d.ts +485 -0
  157. package/backend/dist/esm/{server.js → backend/src/server.js} +891 -1441
  158. package/backend/dist/esm/backend/src/splash_screen.d.ts +80 -0
  159. package/backend/dist/esm/{splash_screen.js → backend/src/splash_screen.js} +42 -55
  160. package/backend/dist/esm/backend/src/status.d.ts +74 -0
  161. package/backend/dist/esm/backend/src/status.js +199 -0
  162. package/backend/dist/esm/backend/src/stream.d.ts +376 -0
  163. package/backend/dist/esm/{stream.js → backend/src/stream.js} +327 -292
  164. package/backend/dist/esm/backend/src/users.d.ts +809 -0
  165. package/backend/dist/esm/backend/src/users.js +2140 -0
  166. package/backend/dist/esm/backend/src/utils.d.ts +16 -0
  167. package/backend/dist/esm/{utils.js → backend/src/utils.js} +20 -81
  168. package/backend/dist/{cjs → esm/backend/src}/view.d.ts +33 -11
  169. package/backend/dist/esm/{view.js → backend/src/view.js} +266 -86
  170. package/backend/dist/{cjs → esm/backend/src}/volt.d.ts +10 -1
  171. package/backend/dist/esm/{volt.js → backend/src/volt.js} +7 -4
  172. package/backend/dist/esm/frontend/src/modules/request.d.ts +70 -0
  173. package/backend/dist/esm/frontend/src/modules/request.js +117 -0
  174. package/frontend/dist/backend/src/database/collection.d.ts +1543 -0
  175. package/frontend/dist/backend/src/database/collection.js +3510 -0
  176. package/frontend/dist/backend/src/database/database.d.ts +66 -0
  177. package/frontend/dist/backend/src/database/database.js +196 -0
  178. package/frontend/dist/backend/src/database/filters/filters.d.ts +6 -0
  179. package/frontend/dist/backend/src/database/filters/filters.js +1 -0
  180. package/frontend/dist/backend/src/database/filters/strict_filter.d.ts +223 -0
  181. package/frontend/dist/backend/src/database/filters/strict_filter.js +3 -0
  182. package/frontend/dist/backend/src/database/filters/strict_update_filter.d.ts +165 -0
  183. package/frontend/dist/backend/src/database/filters/strict_update_filter.js +5 -0
  184. package/frontend/dist/backend/src/database/flatten.d.ts +75 -0
  185. package/frontend/dist/backend/src/database/flatten.js +22 -0
  186. package/frontend/dist/backend/src/endpoint.d.ts +204 -0
  187. package/frontend/dist/backend/src/endpoint.js +570 -0
  188. package/frontend/dist/backend/src/errors/index.d.ts +7 -0
  189. package/frontend/dist/backend/src/errors/index.js +7 -0
  190. package/frontend/dist/backend/src/errors/internal_external.d.ts +38 -0
  191. package/frontend/dist/backend/src/errors/internal_external.js +70 -0
  192. package/frontend/dist/backend/src/errors/invalid_usage_error.d.ts +38 -0
  193. package/frontend/dist/backend/src/errors/invalid_usage_error.js +30 -0
  194. package/frontend/dist/backend/src/errors/system_error.d.ts +230 -0
  195. package/frontend/dist/backend/src/errors/system_error.js +402 -0
  196. package/frontend/dist/backend/src/events.d.ts +54 -0
  197. package/frontend/dist/backend/src/events.js +5 -0
  198. package/frontend/dist/backend/src/frontend.d.ts +11 -0
  199. package/frontend/dist/backend/src/frontend.js +12 -0
  200. package/frontend/dist/backend/src/image_endpoint.d.ts +39 -0
  201. package/frontend/dist/backend/src/image_endpoint.js +202 -0
  202. package/frontend/dist/backend/src/meta.d.ts +64 -0
  203. package/frontend/dist/backend/src/meta.js +110 -0
  204. package/frontend/dist/backend/src/payments/paddle.d.ts +326 -0
  205. package/frontend/dist/backend/src/payments/paddle.js +2256 -0
  206. package/frontend/dist/backend/src/plugins/mail/mail.d.ts +248 -0
  207. package/frontend/dist/backend/src/plugins/mail/mail.js +389 -0
  208. package/{backend/dist/esm/plugins/mail.d.ts → frontend/dist/backend/src/plugins/mail/ui.d.ts} +23 -0
  209. package/{backend/dist/esm/plugins/mail.js → frontend/dist/backend/src/plugins/mail/ui.js} +3 -6
  210. package/frontend/dist/backend/src/rate_limit.d.ts +145 -0
  211. package/frontend/dist/backend/src/rate_limit.js +673 -0
  212. package/frontend/dist/backend/src/route.d.ts +35 -0
  213. package/frontend/dist/backend/src/route.js +212 -0
  214. package/frontend/dist/backend/src/server.d.ts +485 -0
  215. package/frontend/dist/backend/src/server.js +2670 -0
  216. package/frontend/dist/backend/src/splash_screen.d.ts +80 -0
  217. package/frontend/dist/backend/src/splash_screen.js +135 -0
  218. package/frontend/dist/backend/src/status.d.ts +74 -0
  219. package/frontend/dist/backend/src/status.js +199 -0
  220. package/frontend/dist/backend/src/stream.d.ts +376 -0
  221. package/frontend/dist/backend/src/stream.js +1007 -0
  222. package/frontend/dist/backend/src/users.d.ts +807 -0
  223. package/frontend/dist/backend/src/users.js +2118 -0
  224. package/frontend/dist/backend/src/utils.d.ts +16 -0
  225. package/frontend/dist/backend/src/utils.js +241 -0
  226. package/frontend/dist/backend/src/view.d.ts +162 -0
  227. package/frontend/dist/backend/src/view.js +720 -0
  228. package/frontend/dist/frontend/src/elements/base.d.ts +4414 -0
  229. package/frontend/dist/{elements → frontend/src/elements}/base.js +3624 -260
  230. package/frontend/dist/frontend/src/elements/module.d.ts +95 -0
  231. package/frontend/dist/{elements → frontend/src/elements}/module.js +53 -52
  232. package/frontend/dist/frontend/src/elements/types.d.ts +52 -0
  233. package/frontend/dist/frontend/src/elements/types.js +5 -0
  234. package/frontend/dist/frontend/src/modules/attachment.d.ts +126 -0
  235. package/frontend/dist/frontend/src/modules/attachment.js +306 -0
  236. package/frontend/dist/frontend/src/modules/auth.d.ts +44 -0
  237. package/frontend/dist/frontend/src/modules/auth.js +80 -0
  238. package/frontend/dist/{modules → frontend/src/modules}/color.js +2 -2
  239. package/frontend/dist/frontend/src/modules/compression.d.ts +39 -0
  240. package/frontend/dist/frontend/src/modules/compression.js +102 -0
  241. package/frontend/dist/frontend/src/modules/cookies.d.ts +44 -0
  242. package/frontend/dist/frontend/src/modules/cookies.js +143 -0
  243. package/frontend/dist/frontend/src/modules/events.d.ts +31 -0
  244. package/frontend/dist/frontend/src/modules/events.js +74 -0
  245. package/frontend/dist/frontend/src/modules/google.d.ts +23 -0
  246. package/frontend/dist/frontend/src/modules/google.js +52 -0
  247. package/frontend/dist/frontend/src/modules/meta.d.ts +14 -0
  248. package/frontend/dist/{modules → frontend/src/modules}/meta.js +9 -7
  249. package/frontend/dist/{modules → frontend/src/modules}/paddle.d.ts +37 -134
  250. package/frontend/dist/{modules → frontend/src/modules}/paddle.js +620 -568
  251. package/frontend/dist/frontend/src/modules/request.d.ts +70 -0
  252. package/frontend/dist/frontend/src/modules/request.js +117 -0
  253. package/frontend/dist/frontend/src/modules/settings.d.ts +3 -0
  254. package/frontend/dist/frontend/src/modules/settings.js +5 -0
  255. package/frontend/dist/frontend/src/modules/statics.d.ts +21 -0
  256. package/frontend/dist/{modules → frontend/src/modules}/statics.js +15 -18
  257. package/frontend/dist/frontend/src/modules/support.d.ts +30 -0
  258. package/frontend/dist/frontend/src/modules/support.js +53 -0
  259. package/frontend/dist/{modules → frontend/src/modules}/theme.d.ts +67 -0
  260. package/frontend/dist/{modules → frontend/src/modules}/theme.js +68 -38
  261. package/frontend/dist/frontend/src/modules/themes.d.ts +12 -0
  262. package/frontend/dist/frontend/src/modules/themes.js +22 -0
  263. package/frontend/dist/frontend/src/modules/user.d.ts +164 -0
  264. package/frontend/dist/frontend/src/modules/user.js +268 -0
  265. package/frontend/dist/frontend/src/modules/utils.d.ts +176 -0
  266. package/frontend/dist/frontend/src/modules/utils.js +569 -0
  267. package/frontend/dist/frontend/src/types/gradient.d.ts +29 -0
  268. package/frontend/dist/{types → frontend/src/types}/gradient.js +14 -18
  269. package/frontend/dist/frontend/src/ui/border_button.d.ts +94 -0
  270. package/frontend/dist/{ui → frontend/src/ui}/border_button.js +7 -13
  271. package/frontend/dist/frontend/src/ui/button.d.ts +28 -0
  272. package/frontend/dist/{ui → frontend/src/ui}/button.js +21 -12
  273. package/frontend/dist/frontend/src/ui/canvas.d.ts +138 -0
  274. package/frontend/dist/{ui → frontend/src/ui}/canvas.js +88 -55
  275. package/frontend/dist/frontend/src/ui/checkbox.d.ts +74 -0
  276. package/frontend/dist/{ui → frontend/src/ui}/checkbox.js +80 -41
  277. package/frontend/dist/{ui → frontend/src/ui}/code.d.ts +73 -6
  278. package/frontend/dist/{ui → frontend/src/ui}/code.js +55 -52
  279. package/frontend/dist/{ui → frontend/src/ui}/context_menu.d.ts +4 -0
  280. package/frontend/dist/{ui → frontend/src/ui}/context_menu.js +12 -17
  281. package/frontend/dist/{ui → frontend/src/ui}/css.d.ts +4 -0
  282. package/frontend/dist/{ui → frontend/src/ui}/css.js +3 -3
  283. package/frontend/dist/{ui → frontend/src/ui}/divider.d.ts +4 -0
  284. package/frontend/dist/{ui → frontend/src/ui}/divider.js +3 -3
  285. package/frontend/dist/{ui → frontend/src/ui}/dropdown.d.ts +57 -2
  286. package/frontend/dist/{ui → frontend/src/ui}/dropdown.js +87 -94
  287. package/frontend/dist/{ui → frontend/src/ui}/for_each.d.ts +4 -0
  288. package/frontend/dist/{ui → frontend/src/ui}/for_each.js +3 -3
  289. package/frontend/dist/{ui → frontend/src/ui}/form.d.ts +6 -2
  290. package/frontend/dist/{ui → frontend/src/ui}/form.js +10 -7
  291. package/frontend/dist/frontend/src/ui/frame_modes.d.ts +37 -0
  292. package/frontend/dist/{ui → frontend/src/ui}/frame_modes.js +16 -22
  293. package/frontend/dist/{ui → frontend/src/ui}/google_map.d.ts +4 -0
  294. package/frontend/dist/{ui → frontend/src/ui}/google_map.js +4 -4
  295. package/frontend/dist/{ui → frontend/src/ui}/gradient.d.ts +4 -0
  296. package/frontend/dist/{ui → frontend/src/ui}/gradient.js +3 -3
  297. package/frontend/dist/{ui → frontend/src/ui}/image.d.ts +4 -0
  298. package/frontend/dist/{ui → frontend/src/ui}/image.js +5 -5
  299. package/frontend/dist/frontend/src/ui/input.d.ts +392 -0
  300. package/frontend/dist/{ui → frontend/src/ui}/input.js +346 -360
  301. package/frontend/dist/{ui → frontend/src/ui}/link.d.ts +4 -0
  302. package/frontend/dist/{ui → frontend/src/ui}/link.js +3 -3
  303. package/frontend/dist/{ui → frontend/src/ui}/list.d.ts +4 -0
  304. package/frontend/dist/{ui → frontend/src/ui}/list.js +12 -6
  305. package/frontend/dist/frontend/src/ui/loader_button.d.ts +80 -0
  306. package/frontend/dist/{ui → frontend/src/ui}/loader_button.js +35 -47
  307. package/frontend/dist/frontend/src/ui/loaders.d.ts +57 -0
  308. package/frontend/dist/{ui → frontend/src/ui}/loaders.js +11 -11
  309. package/frontend/dist/{ui → frontend/src/ui}/popup.d.ts +11 -6
  310. package/frontend/dist/{ui → frontend/src/ui}/popup.js +32 -18
  311. package/frontend/dist/frontend/src/ui/pseudo.d.ts +44 -0
  312. package/frontend/dist/{ui → frontend/src/ui}/pseudo.js +84 -8
  313. package/frontend/dist/{ui → frontend/src/ui}/scroller.d.ts +14 -2
  314. package/frontend/dist/{ui → frontend/src/ui}/scroller.js +37 -43
  315. package/frontend/dist/{ui → frontend/src/ui}/slider.d.ts +5 -1
  316. package/frontend/dist/{ui → frontend/src/ui}/slider.js +4 -4
  317. package/frontend/dist/{ui → frontend/src/ui}/spacer.d.ts +4 -0
  318. package/frontend/dist/{ui → frontend/src/ui}/spacer.js +3 -3
  319. package/frontend/dist/{ui → frontend/src/ui}/span.d.ts +4 -0
  320. package/frontend/dist/{ui → frontend/src/ui}/span.js +3 -3
  321. package/frontend/dist/{ui → frontend/src/ui}/stack.d.ts +4 -0
  322. package/frontend/dist/{ui → frontend/src/ui}/stack.js +3 -9
  323. package/frontend/dist/frontend/src/ui/steps.d.ts +131 -0
  324. package/frontend/dist/{ui → frontend/src/ui}/steps.js +30 -45
  325. package/frontend/dist/{ui → frontend/src/ui}/style.d.ts +4 -0
  326. package/frontend/dist/{ui → frontend/src/ui}/style.js +3 -3
  327. package/frontend/dist/{ui → frontend/src/ui}/switch.d.ts +5 -1
  328. package/frontend/dist/{ui → frontend/src/ui}/switch.js +4 -4
  329. package/frontend/dist/{ui → frontend/src/ui}/table.d.ts +4 -0
  330. package/frontend/dist/{ui → frontend/src/ui}/table.js +6 -6
  331. package/frontend/dist/{ui → frontend/src/ui}/tabs.d.ts +45 -3
  332. package/frontend/dist/{ui → frontend/src/ui}/tabs.js +65 -40
  333. package/frontend/dist/{ui → frontend/src/ui}/text.d.ts +4 -0
  334. package/frontend/dist/{ui → frontend/src/ui}/text.js +3 -3
  335. package/frontend/dist/frontend/src/ui/title.d.ts +91 -0
  336. package/frontend/dist/frontend/src/ui/title.js +272 -0
  337. package/frontend/dist/{ui → frontend/src/ui}/view.d.ts +4 -0
  338. package/frontend/dist/{ui → frontend/src/ui}/view.js +3 -3
  339. package/frontend/dist/{volt.d.ts → frontend/src/volt.d.ts} +3 -0
  340. package/frontend/dist/{volt.js → frontend/src/volt.js} +4 -0
  341. package/frontend/tools/bundle_d_ts.js +71 -0
  342. package/frontend/tools/convert_to_jsdoc_input.txt +9452 -0
  343. package/frontend/tools/convert_to_jsdoc_output.txt +7626 -0
  344. package/frontend/tools/convert_to_jsdoc_tmp.js +345 -0
  345. package/package.json +11 -12
  346. package/backend/dist/cjs/database/collection.d.ts +0 -160
  347. package/backend/dist/cjs/database/collection.js +0 -842
  348. package/backend/dist/cjs/database/database.d.ts +0 -121
  349. package/backend/dist/cjs/database/document.d.ts +0 -131
  350. package/backend/dist/cjs/database/document.js +0 -224
  351. package/backend/dist/cjs/database.d.ts +0 -502
  352. package/backend/dist/cjs/database.js +0 -2248
  353. package/backend/dist/cjs/logger.d.ts +0 -3
  354. package/backend/dist/cjs/meta.d.ts +0 -50
  355. package/backend/dist/cjs/mutex.d.ts +0 -24
  356. package/backend/dist/cjs/payments/paddle.d.ts +0 -160
  357. package/backend/dist/cjs/plugins/browser.d.ts +0 -36
  358. package/backend/dist/cjs/plugins/browser.js +0 -198
  359. package/backend/dist/cjs/plugins/css.d.ts +0 -11
  360. package/backend/dist/cjs/plugins/css.js +0 -80
  361. package/backend/dist/cjs/plugins/mail.d.ts +0 -277
  362. package/backend/dist/cjs/plugins/mail.js +0 -1370
  363. package/backend/dist/cjs/plugins/ts/compiler.d.ts +0 -139
  364. package/backend/dist/cjs/plugins/ts/compiler.js +0 -750
  365. package/backend/dist/cjs/plugins/ts/preprocessing.d.ts +0 -14
  366. package/backend/dist/cjs/plugins/ts/preprocessing.js +0 -440
  367. package/backend/dist/cjs/rate_limit.d.ts +0 -63
  368. package/backend/dist/cjs/rate_limit.js +0 -348
  369. package/backend/dist/cjs/request.deprc.d.ts +0 -48
  370. package/backend/dist/cjs/request.deprc.js +0 -572
  371. package/backend/dist/cjs/response.deprc.d.ts +0 -55
  372. package/backend/dist/cjs/response.deprc.js +0 -275
  373. package/backend/dist/cjs/server.d.ts +0 -342
  374. package/backend/dist/cjs/splash_screen.d.ts +0 -35
  375. package/backend/dist/cjs/status.d.ts +0 -61
  376. package/backend/dist/cjs/stream.d.ts +0 -79
  377. package/backend/dist/cjs/users.d.ts +0 -111
  378. package/backend/dist/cjs/users.js +0 -1817
  379. package/backend/dist/cjs/view.js +0 -352
  380. package/backend/dist/cjs/vinc.dev.d.ts +0 -3
  381. package/backend/dist/cjs/vinc.dev.js +0 -7
  382. package/backend/dist/css/adyen.css +0 -92
  383. package/backend/dist/css/volt.css +0 -70
  384. package/backend/dist/esm/database/collection.d.ts +0 -160
  385. package/backend/dist/esm/database/collection.js +0 -1328
  386. package/backend/dist/esm/database/database.d.ts +0 -121
  387. package/backend/dist/esm/database/document.d.ts +0 -131
  388. package/backend/dist/esm/database/document.js +0 -247
  389. package/backend/dist/esm/database.d.ts +0 -502
  390. package/backend/dist/esm/database.js +0 -2423
  391. package/backend/dist/esm/file_watcher.js +0 -329
  392. package/backend/dist/esm/logger.d.ts +0 -3
  393. package/backend/dist/esm/logger.js +0 -11
  394. package/backend/dist/esm/meta.d.ts +0 -50
  395. package/backend/dist/esm/mutex.d.ts +0 -24
  396. package/backend/dist/esm/mutex.js +0 -48
  397. package/backend/dist/esm/payments/paddle.d.ts +0 -160
  398. package/backend/dist/esm/plugins/browser.d.ts +0 -36
  399. package/backend/dist/esm/plugins/browser.js +0 -176
  400. package/backend/dist/esm/plugins/css.d.ts +0 -11
  401. package/backend/dist/esm/plugins/css.js +0 -90
  402. package/backend/dist/esm/plugins/ts/compiler.d.ts +0 -139
  403. package/backend/dist/esm/plugins/ts/compiler.js +0 -1194
  404. package/backend/dist/esm/plugins/ts/preprocessing.d.ts +0 -14
  405. package/backend/dist/esm/plugins/ts/preprocessing.js +0 -726
  406. package/backend/dist/esm/rate_limit.d.ts +0 -63
  407. package/backend/dist/esm/rate_limit.js +0 -417
  408. package/backend/dist/esm/request.deprc.d.ts +0 -48
  409. package/backend/dist/esm/request.deprc.js +0 -572
  410. package/backend/dist/esm/response.deprc.d.ts +0 -55
  411. package/backend/dist/esm/response.deprc.js +0 -275
  412. package/backend/dist/esm/server.d.ts +0 -342
  413. package/backend/dist/esm/splash_screen.d.ts +0 -35
  414. package/backend/dist/esm/status.d.ts +0 -61
  415. package/backend/dist/esm/status.js +0 -197
  416. package/backend/dist/esm/stream.d.ts +0 -79
  417. package/backend/dist/esm/users.d.ts +0 -111
  418. package/backend/dist/esm/users.js +0 -1935
  419. package/backend/dist/esm/vinc.dev.d.ts +0 -3
  420. package/backend/dist/esm/vinc.dev.js +0 -7
  421. package/frontend/dist/elements/base.d.ts +0 -9889
  422. package/frontend/dist/elements/module.d.ts +0 -30
  423. package/frontend/dist/modules/array.d.ts +0 -94
  424. package/frontend/dist/modules/array.js +0 -634
  425. package/frontend/dist/modules/auth.d.ts +0 -46
  426. package/frontend/dist/modules/auth.js +0 -139
  427. package/frontend/dist/modules/colors.d.ts +0 -1
  428. package/frontend/dist/modules/colors.js +0 -417
  429. package/frontend/dist/modules/compression.d.ts +0 -6
  430. package/frontend/dist/modules/compression.js +0 -999
  431. package/frontend/dist/modules/cookies.d.ts +0 -18
  432. package/frontend/dist/modules/cookies.js +0 -167
  433. package/frontend/dist/modules/date.d.ts +0 -142
  434. package/frontend/dist/modules/date.js +0 -493
  435. package/frontend/dist/modules/events.d.ts +0 -8
  436. package/frontend/dist/modules/events.js +0 -91
  437. package/frontend/dist/modules/google.d.ts +0 -11
  438. package/frontend/dist/modules/google.js +0 -54
  439. package/frontend/dist/modules/meta.d.ts +0 -10
  440. package/frontend/dist/modules/mutex.d.ts +0 -7
  441. package/frontend/dist/modules/mutex.js +0 -51
  442. package/frontend/dist/modules/number.d.ts +0 -16
  443. package/frontend/dist/modules/number.js +0 -23
  444. package/frontend/dist/modules/object.d.ts +0 -52
  445. package/frontend/dist/modules/object.js +0 -383
  446. package/frontend/dist/modules/scheme.d.ts +0 -227
  447. package/frontend/dist/modules/scheme.js +0 -531
  448. package/frontend/dist/modules/settings.d.ts +0 -3
  449. package/frontend/dist/modules/settings.js +0 -4
  450. package/frontend/dist/modules/statics.d.ts +0 -5
  451. package/frontend/dist/modules/string.d.ts +0 -124
  452. package/frontend/dist/modules/string.js +0 -745
  453. package/frontend/dist/modules/support.d.ts +0 -19
  454. package/frontend/dist/modules/support.js +0 -103
  455. package/frontend/dist/modules/themes.d.ts +0 -8
  456. package/frontend/dist/modules/themes.js +0 -18
  457. package/frontend/dist/modules/user.d.ts +0 -59
  458. package/frontend/dist/modules/user.js +0 -280
  459. package/frontend/dist/modules/utils.d.ts +0 -87
  460. package/frontend/dist/modules/utils.js +0 -923
  461. package/frontend/dist/types/gradient.d.ts +0 -12
  462. package/frontend/dist/ui/border_button.d.ts +0 -152
  463. package/frontend/dist/ui/button.d.ts +0 -21
  464. package/frontend/dist/ui/canvas.d.ts +0 -56
  465. package/frontend/dist/ui/checkbox.d.ts +0 -52
  466. package/frontend/dist/ui/frame_modes.d.ts +0 -25
  467. package/frontend/dist/ui/input.d.ts +0 -241
  468. package/frontend/dist/ui/loader_button.d.ts +0 -93
  469. package/frontend/dist/ui/loaders.d.ts +0 -57
  470. package/frontend/dist/ui/pseudo.d.ts +0 -16
  471. package/frontend/dist/ui/steps.d.ts +0 -59
  472. package/frontend/dist/ui/title.d.ts +0 -21
  473. package/frontend/dist/ui/title.js +0 -121
  474. package/frontend/examples/dashboard/dashboard.ts +0 -776
  475. /package/backend/dist/cjs/{cli.d.ts → backend/src/cli.d.ts} +0 -0
  476. /package/backend/dist/cjs/{file_watcher.d.ts → backend/src/database/document.d.ts} +0 -0
  477. /package/backend/dist/cjs/{file_watcher.js → backend/src/database/document.js} +0 -0
  478. /package/backend/dist/cjs/{plugins/pdf.d.ts → backend/src/database/filters/strict_filter_test.d.ts} +0 -0
  479. /package/backend/dist/{esm/file_watcher.d.ts → cjs/backend/src/database/filters/strict_filter_test_v0.d.ts} +0 -0
  480. /package/backend/dist/{esm/plugins/pdf.d.ts → cjs/backend/src/database/flatten_test.d.ts} +0 -0
  481. /package/backend/dist/cjs/{frontend.d.ts → backend/src/frontend.d.ts} +0 -0
  482. /package/backend/dist/cjs/{plugins → backend/src/plugins}/communication.d.ts +0 -0
  483. /package/backend/dist/cjs/{plugins → backend/src/plugins}/communication.js +0 -0
  484. /package/backend/dist/cjs/{plugins → backend/src/plugins}/mail/ui.js +0 -0
  485. /package/backend/dist/cjs/{plugins → backend/src/plugins}/pdf.js +0 -0
  486. /package/backend/dist/cjs/{plugins → backend/src/plugins}/thread_monitor.d.ts +0 -0
  487. /package/backend/dist/cjs/{plugins → backend/src/plugins}/thread_monitor.js +0 -0
  488. /package/backend/dist/cjs/{vinc.d.ts → backend/src/vinc.d.ts} +0 -0
  489. /package/backend/dist/cjs/{vinc.js → backend/src/vinc.js} +0 -0
  490. /package/backend/dist/esm/{cli.d.ts → backend/src/cli.d.ts} +0 -0
  491. /package/backend/dist/esm/{frontend.d.ts → backend/src/frontend.d.ts} +0 -0
  492. /package/backend/dist/esm/{plugins → backend/src/plugins}/communication.d.ts +0 -0
  493. /package/backend/dist/esm/{plugins → backend/src/plugins}/communication.js +0 -0
  494. /package/backend/dist/esm/{plugins → backend/src/plugins}/thread_monitor.d.ts +0 -0
  495. /package/backend/dist/esm/{plugins → backend/src/plugins}/thread_monitor.js +0 -0
  496. /package/backend/dist/esm/{vinc.d.ts → backend/src/vinc.d.ts} +0 -0
  497. /package/backend/dist/esm/{vinc.js → backend/src/vinc.js} +0 -0
  498. /package/frontend/dist/{elements → frontend/src/elements}/register_element.d.ts +0 -0
  499. /package/frontend/dist/{elements → frontend/src/elements}/register_element.js +0 -0
  500. /package/frontend/dist/{modules → frontend/src/modules}/color.d.ts +0 -0
  501. /package/frontend/dist/{ui → frontend/src/ui}/ui.d.ts +0 -0
  502. /package/frontend/dist/{ui → frontend/src/ui}/ui.js +0 -0
@@ -1,726 +0,0 @@
1
- /*
2
- * Author: Daan van den Bergh
3
- * Copyright: © 2024 - 2024 Daan van den Bergh.
4
- */
5
- import * as ts from 'typescript';
6
- import { vlib } from "../../vinc.js";
7
- import { vhighlight } from "../../vinc.js";
8
- import { Utils } from "../../utils.js";
9
- import { fileURLToPath } from 'url';
10
- import { dirname } from 'path';
11
- var __dirname = typeof __dirname !== 'undefined' ? __dirname : dirname(fileURLToPath(new URL('./package.json', import.meta.url)));
12
- export * as Preprocessing from "./preprocessing.js";
13
- /*
14
- * Preprocesses the input text, replacing non-string numeric literals
15
- * suffixed with units and hex color codes with string literals.
16
- */
17
- export function preprocess(path, input, opts = {}) {
18
- const { macros = true, templates = undefined, } = opts;
19
- // Initialize output and batch
20
- let output = [];
21
- let batch = [];
22
- let State;
23
- (function (State) {
24
- State[State["code"] = 0] = "code";
25
- State[State["string"] = 1] = "string";
26
- State[State["comment"] = 2] = "comment";
27
- State[State["regex"] = 3] = "regex";
28
- })(State || (State = {}));
29
- let state = State.code;
30
- // Function to process the accumulated batch
31
- const process_code_batch = () => {
32
- let str = batch.join('')
33
- // Replace numeric suffix to string.
34
- .replace(/\b\d+(\.\d+)?(em\b|rem\b|px\b|vh\b|vw\b|%)/g, '"$&"')
35
- // Replace hex colors.
36
- .replace(/#([0-9a-fA-F]{3,4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})\b/g, '"$&"');
37
- // Append the transformed segment to output
38
- output.push(str);
39
- // Clear the batch
40
- batch = [];
41
- };
42
- // Process string batch.
43
- const process_string_batch = () => {
44
- let BaseIndentState;
45
- (function (BaseIndentState) {
46
- BaseIndentState[BaseIndentState["init"] = 0] = "init";
47
- })(BaseIndentState || (BaseIndentState = {}));
48
- let str = batch.join('')
49
- // Dedent ``` code blocks.
50
- .replace(/```([\s\S]*?)```/g, (match, code) => {
51
- // console.log("===========================\nMatched\n"+ code)
52
- // Remove leading and trailing empty lines
53
- // Dont use trim() since that would also remove start indent.
54
- code = code.replace(/^\s*\n|\s*$/g, '');
55
- // Match the base indentation (4 spaces) from the first non-empty line
56
- const base_indent_match = code.match(/^([ \t]+)/m);
57
- if (!base_indent_match)
58
- return '`' + code + '`'; // No base indent found
59
- const base_indent = base_indent_match[1];
60
- // Ensure base_indent contains only spaces
61
- // if (/\t/.test(base_indent)) {
62
- // throw new Error('Invalid indentation: Tabs are not allowed.');
63
- // }
64
- // Create a regex to remove the base_indent from the start of each line
65
- const dedent_regex = new RegExp(`^${base_indent}`, 'gm');
66
- // Dedent the code by removing base_indent
67
- const dedented_code = code.replace(dedent_regex, '');
68
- return `\`${dedented_code}\``;
69
- });
70
- // Append the transformed segment to output
71
- output.push(str);
72
- // Clear the batch
73
- batch = [];
74
- };
75
- // Initialize the Iterator
76
- new vhighlight.Iterator({
77
- tokenizer: vhighlight.js,
78
- language: vhighlight.js.language,
79
- code: input,
80
- callback(s) {
81
- // Get new state.
82
- let new_state;
83
- if (s.is_str || s.is_template_literal) {
84
- new_state = State.string;
85
- }
86
- else if (s.is_comment || s.is_multi_line_comment) {
87
- new_state = State.comment;
88
- }
89
- else if (s.is_str) {
90
- new_state = State.regex;
91
- }
92
- else {
93
- new_state = State.code;
94
- }
95
- // Process new state.
96
- if (new_state !== state) {
97
- if (state === State.code) {
98
- process_code_batch();
99
- }
100
- else if (state === State.string) {
101
- process_string_batch();
102
- }
103
- state = new_state;
104
- }
105
- // Push character.
106
- if (state === State.code || state === State.string) {
107
- batch.push(s.char);
108
- }
109
- else {
110
- output.push(s.char);
111
- }
112
- },
113
- }).iterate();
114
- // Process any remaining batch after iteration
115
- if (batch.length > 0) {
116
- if (state === State.code) {
117
- process_code_batch();
118
- }
119
- else if (state === State.string) {
120
- process_string_batch();
121
- }
122
- }
123
- let content = output.join("");
124
- // Apply plugins.
125
- content = _global_interface_plugin(content);
126
- // if (path.includes("ui.ts")) {
127
- // console.log(content)
128
- // }
129
- // Process macros.
130
- if (macros) {
131
- content = _apply_macro_preprocessing(path, content);
132
- }
133
- // Fill templates.
134
- if (templates !== undefined && Object.keys(templates.length > 0)) {
135
- content = Utils.fill_templates(content, templates, true);
136
- }
137
- // Response.
138
- return content;
139
- }
140
- // Split macro args `X, X` args.
141
- function _split_macro_args(data) {
142
- // Process args.
143
- let args = [""];
144
- const process_arg = () => {
145
- let arg = args[args.length - 1].trim();
146
- if ((arg.charAt(0) === "'" && arg.charAt(arg.length - 1) === "'") ||
147
- (arg.charAt(0) === "\"" && arg.charAt(arg.length - 1) === "\"")) {
148
- arg = arg.slice(1, -1);
149
- }
150
- args[args.length - 1] = arg;
151
- };
152
- // Iterate.
153
- new vhighlight.Iterator({
154
- tokenizer: vhighlight.js,
155
- language: vhighlight.js.language,
156
- code: data,
157
- callback(state) {
158
- if (state.char === "," &&
159
- state.curly_depth === 0 &&
160
- state.bracket_depth === 0 &&
161
- state.parenth_depth === 0 &&
162
- !state.is_str &&
163
- !state.is_regex &&
164
- !state.is_comment &&
165
- !state.is_multi_line_comment) {
166
- process_arg();
167
- args.push("");
168
- }
169
- else {
170
- args[args.length - 1] += state.char;
171
- }
172
- },
173
- }).iterate();
174
- // Return empty array.
175
- if (args.length === 1 && args[0] === "") {
176
- return [];
177
- }
178
- // Process arg.
179
- if (args.length > 0) {
180
- process_arg();
181
- }
182
- // Return args.
183
- return args;
184
- }
185
- /*
186
- * Fill all #macro statements.
187
- */
188
- function _apply_macro_preprocessing(path, data) {
189
- // ----------------------------------------
190
- // Extract macro statements.
191
- let output = [], is_preprocessor = null;
192
- const macros = {};
193
- let iterator = new vhighlight.Iterator({
194
- tokenizer: vhighlight.js,
195
- language: vhighlight.js.language,
196
- code: data,
197
- allow_preprocessors: true,
198
- callback(state) {
199
- // End of preprocessor.
200
- if (is_preprocessor !== undefined && !state.is_preprocessor) {
201
- // Extract name & value.
202
- let Modes;
203
- (function (Modes) {
204
- Modes[Modes["type"] = 0] = "type";
205
- Modes[Modes["pre_name"] = 1] = "pre_name";
206
- Modes[Modes["name"] = 2] = "name";
207
- Modes[Modes["args"] = 3] = "args";
208
- Modes[Modes["value"] = 4] = "value";
209
- })(Modes || (Modes = {}));
210
- ;
211
- let type = "", name = "", value = "", full = "", args = "", args_depth = [0, 0, 0];
212
- let s = is_preprocessor, mode = Modes.type;
213
- while (s != null && s != state) {
214
- if (mode === Modes.type) {
215
- if (s.is_whitespace) {
216
- mode = Modes.pre_name;
217
- }
218
- else {
219
- type += s.char;
220
- }
221
- }
222
- else if (mode === Modes.pre_name && !s.is_whitespace) {
223
- mode = Modes.name;
224
- name += s.char;
225
- }
226
- else if (mode === Modes.name) {
227
- if (s.char === "(") {
228
- mode = Modes.args;
229
- args_depth = [s.curly_depth, s.parenth_depth - 1, s.bracket_depth];
230
- }
231
- else if (s.is_whitespace &&
232
- s.curly_depth === is_preprocessor.curly_depth &&
233
- s.parenth_depth === is_preprocessor.parenth_depth &&
234
- s.bracket_depth === is_preprocessor.bracket_depth) {
235
- mode = Modes.value;
236
- }
237
- else {
238
- name += s.char;
239
- }
240
- }
241
- else if (mode === Modes.args) {
242
- if (s.char === ")" &&
243
- s.curly_depth === args_depth[0] &&
244
- s.parenth_depth === args_depth[1] &&
245
- s.bracket_depth === args_depth[2]) {
246
- mode = Modes.name;
247
- }
248
- else {
249
- args += s.char;
250
- }
251
- }
252
- else if (mode === Modes.value) {
253
- if (s.char === "\\" && s.next?.is_line_break) {
254
- // skip.
255
- }
256
- else {
257
- value += s.char;
258
- }
259
- }
260
- full += s.char;
261
- s = s.next;
262
- }
263
- if (type === "#macro") {
264
- name = name.trim();
265
- macros[name] = {
266
- name,
267
- value: value.trim(),
268
- args: args.length === 0 ? [] : _split_macro_args(args),
269
- };
270
- }
271
- else {
272
- output.push(full);
273
- }
274
- is_preprocessor = undefined;
275
- }
276
- // Start of preprocessor.
277
- else if (state.is_preprocessor) {
278
- if (is_preprocessor === undefined) {
279
- is_preprocessor = state;
280
- }
281
- return; // dont add to new data.
282
- }
283
- output.push(state.char);
284
- },
285
- });
286
- iterator.iterate();
287
- data = output.join("");
288
- // ----------------------------------------
289
- // Fill macro statements.
290
- output.length = 0;
291
- let buff = [];
292
- // Construct regex to match preprocessor variables
293
- const macros_keys = Object.keys(macros);
294
- const regex = new RegExp(`(\\#?|\\b)(${macros_keys.join("|")})(\\([^)]*\\)|\\b)`, 'g');
295
- // Fill macro replacements.
296
- const make_replacements = (buff) => {
297
- return buff
298
- .join('')
299
- .replace(regex, (match, m1, m2, m3) => {
300
- const macro = macros[m2];
301
- if (macro == null) {
302
- return match;
303
- }
304
- let value = "";
305
- if (m1.charAt(0) !== "#") {
306
- value = m1;
307
- }
308
- value += macro.value;
309
- if (m3 && m3.charAt(0) === "(" && macro.args.length > 0) {
310
- let args = _split_macro_args(m3.slice(1, -1));
311
- for (let i = 0; i < macro.args.length; i++) {
312
- value = value.replace(new RegExp(`\\b${macro.args[i]}\\b`, 'g'), args[i] ?? "");
313
- }
314
- return value;
315
- }
316
- return value;
317
- });
318
- };
319
- // Iterator that processes the code
320
- iterator = new vhighlight.Iterator({
321
- tokenizer: vhighlight.js,
322
- language: vhighlight.js.language,
323
- code: data,
324
- allow_preprocessors: true,
325
- callback(state) {
326
- // Accumulate real code into the buffer
327
- if (!state.is_str && !state.is_regex && !state.is_comment && !state.is_multi_line_comment) {
328
- buff.push(state.char);
329
- }
330
- else {
331
- // Process code buff.
332
- if (buff.length > 0) {
333
- output.push(make_replacements(buff));
334
- buff = [];
335
- }
336
- // Push non-code characters directly to output (strings, comments, etc.)
337
- output.push(state.char);
338
- }
339
- },
340
- });
341
- // Run the iterator to process the code
342
- iterator.iterate();
343
- // Process code buff.
344
- if (buff.length > 0) {
345
- output.push(make_replacements(buff));
346
- }
347
- // Return the processed output as a joined string
348
- return output.join('');
349
- }
350
- // Process all code sections.
351
- // function _process_code_sections(path: string, data: string, callback: ((code: string) => string) | ((code: string) => string)[]): string {
352
- // let batch: string[] = [];
353
- // let is_code = true, start_index: number | undefined = undefined;
354
- // new vhighlight.Iterator({
355
- // tokenizer: vhighlight.js,
356
- // code: data,
357
- // callback(state) {
358
- // if (
359
- // state.is_str ||
360
- // state.is_regex ||
361
- // state.is_comment ||
362
- // state.is_multi_line_comment
363
- // ) {
364
- // if (start_index !== undefined) {
365
- // let code: string = data.slice(start_index, state.index);
366
- // if (Array.isArray(callback)) {
367
- // for (const c of callback) {
368
- // code = c(code);
369
- // }
370
- // } else {
371
- // code = callback(code);
372
- // }
373
- // batch.push(code);
374
- // start_index = undefined;
375
- // }
376
- // batch.push(state.char);
377
- // } else {
378
- // if (start_index === undefined) {
379
- // start_index = state.index;
380
- // }
381
- // }
382
- // },
383
- // }).iterate();
384
- // if (start_index !== undefined) {
385
- // let code: string = data.slice(start_index);
386
- // if (Array.isArray(callback)) {
387
- // for (const c of callback) {
388
- // code = c(code);
389
- // }
390
- // } else {
391
- // code = callback(code);
392
- // }
393
- // batch.push(code);
394
- // }
395
- // return batch.join("");
396
- // }
397
- /* Apply global interfaces. Only used as internal plugin for preprocess().
398
- With this plugin interfaces can be placed anywhere inside a code file supporting the following syntax.
399
-
400
- [interface myinterface {
401
- ...
402
- }]
403
- [export interface mynamespace.myothernamespace.myinterface {
404
- ...
405
- }]
406
- */
407
- function _global_interface_plugin(data) {
408
- const prefix_output = [];
409
- while (true) {
410
- // Use a regex without brackets in the character class for clarity
411
- // and ensure proper spacing handling.
412
- const regex = /\[(\s*export)*\s*interface\s+([a-zA-Z0-9_.]+)\s*{/g;
413
- const match = regex.exec(data);
414
- if (match == null) {
415
- break; // No more matches.
416
- }
417
- const start = match.index;
418
- let end = -1;
419
- let curly_start = -1;
420
- let curly_end = -1;
421
- // console.log("interface-plugin: Found global interface", match[0])
422
- // Find closing ].
423
- new vhighlight.Iterator({
424
- tokenizer: vhighlight.js,
425
- language: vhighlight.js.language,
426
- code: data.slice(start + 1),
427
- callback(s) {
428
- if (match[0].includes("UI.ReturnResponseDataOptions")) {
429
- // console.log(({char: s.char, curly_depth: s.curly_depth, bracket_depth: s.bracket_depth}));
430
- }
431
- if (curly_start === -1 && s.curly_depth === 1) {
432
- // console.log({state: 1});
433
- curly_start = start + 1 + s.index;
434
- }
435
- else if (curly_start !== -1 && curly_end === -1 && s.curly_depth === 0) {
436
- // console.log({state: 2});
437
- curly_end = start + 1 + s.index + 1;
438
- }
439
- else if (s.bracket_depth === -1) {
440
- // console.log({state: 3});
441
- end = start + 1 + s.index + 1;
442
- return false; // stop iteration
443
- }
444
- else {
445
- // console.log({unmachted: true})
446
- }
447
- },
448
- }).iterate();
449
- // if (match[0].includes("UI.ReturnResponseDataOptions") && end === -1) {
450
- // console.log("DATA:\n"+data)
451
- // }
452
- // If we found a closing brace successfully.
453
- if (curly_end >= 0 && end !== -1) {
454
- // console.log("interface-plugin: Found global interface", match[0], "proceed");
455
- // Extract the interface body (excluding the initial '{' and final '}')
456
- // 'start' points at 'i' of 'interface', so the '{' should be at some offset after that.
457
- // We found 'end' where bracket_depth returned to -1, i.e., after the closing '}'.
458
- // Adjust slicing as needed if off by one.
459
- // Slice out the interface including 'interface ... { ... }'
460
- // The interface block presumably starts at 'start' and ends at 'end'.
461
- // We want the inside of the interface without the initial 'i' and final brace.
462
- // If you want just the inside of the braces, ensure that start+1 and end-1 indices are correct.
463
- // Push the interface code into prefix_output. Adjust indices if needed.
464
- let export_statement = match[1] === undefined ? "" : "export ";
465
- const names = match[2].split(".");
466
- let closing_curlies = 0;
467
- for (let i = 0; i < names.length; i++) {
468
- if (i + 1 === names.length) {
469
- prefix_output.push(export_statement, "interface ", names[i], " ", data.slice(curly_start, curly_end));
470
- if (closing_curlies > 0) {
471
- prefix_output.push("}".repeat(closing_curlies));
472
- }
473
- }
474
- else {
475
- export_statement = "export ";
476
- prefix_output.push(export_statement, "namespace ", names[i], " { ");
477
- ++closing_curlies;
478
- }
479
- }
480
- prefix_output.push(";\n");
481
- // Remove the interface from the original code.
482
- data = (start > 0 ? data.slice(0, start) : "") + data.slice(end);
483
- }
484
- else {
485
- // console.log("interface-plugin: Found global interface", match[0], "dont proceed -",curly_end, end)
486
- break;
487
- }
488
- }
489
- if (prefix_output.length > 0) {
490
- return prefix_output.join("") + data;
491
- }
492
- return data;
493
- }
494
- // Variables.
495
- const volt_frontend = new vlib.Path(`${__dirname}/../../../../../frontend/dist/`).abs().str();
496
- let volt_exports = undefined;
497
- // Detect unused volt frontend imports.
498
- function detect_unused_imports(source_file) {
499
- // Load volt exports.
500
- if (volt_exports === undefined) {
501
- volt_exports = {};
502
- // @deprecated.
503
- // volt_exports = new vlib.Path(`${__dirname}/../../../../../frontend/exports.json`).load_sync({type: "object"}) as Record<string, string[]>;
504
- // volt_exports["ui/ui.ts"] = ["VoltUI"];
505
- // volt_exports["volt.ts"] = ["Volt"];
506
- }
507
- // Vars.
508
- // const source_file = ts.createSourceFile(file_path, file_content, ts.ScriptTarget.Latest, true);
509
- const imported_identifiers = new Set();
510
- const declared_identifiers = new Set();
511
- const used_identifiers = new Set();
512
- // Helper function to recursively collect declared identifiers
513
- function collect_declared_identifiers(name) {
514
- if (ts.isIdentifier(name)) {
515
- declared_identifiers.add(name.text);
516
- }
517
- else if (ts.isObjectBindingPattern(name) || ts.isArrayBindingPattern(name)) {
518
- name.elements.forEach(element => {
519
- if (ts.isBindingElement(element)) {
520
- collect_declared_identifiers(element.name);
521
- }
522
- });
523
- }
524
- }
525
- // First pass: Collect imported and declared identifiers
526
- const visit_first_pass = (node) => {
527
- if (ts.isImportDeclaration(node)) {
528
- if (node.importClause) {
529
- const { name, namedBindings } = node.importClause;
530
- if (name)
531
- imported_identifiers.add(name.text);
532
- if (namedBindings) {
533
- if (ts.isNamedImports(namedBindings)) {
534
- namedBindings.elements.forEach(element => imported_identifiers.add(element.name.text));
535
- }
536
- else if (ts.isNamespaceImport(namedBindings)) {
537
- imported_identifiers.add(namedBindings.name.text);
538
- }
539
- }
540
- }
541
- }
542
- if (ts.isVariableDeclaration(node) && node.name) {
543
- collect_declared_identifiers(node.name);
544
- }
545
- else if (ts.isFunctionDeclaration(node) && node.name) {
546
- declared_identifiers.add(node.name.text);
547
- }
548
- else if (ts.isClassDeclaration(node) && node.name) {
549
- declared_identifiers.add(node.name.text);
550
- }
551
- if (ts.isIdentifier(node)) {
552
- used_identifiers.add(node.text);
553
- }
554
- ts.forEachChild(node, visit_first_pass);
555
- };
556
- // Second pass: Collect used identifiers
557
- // const visit_second_pass = (node: ts.Node) => {
558
- // if (ts.isIdentifier(node)) {
559
- // used_identifiers.add(node.text);
560
- // }
561
- // ts.forEachChild(node, visit_second_pass);
562
- // };
563
- ts.forEachChild(source_file, visit_first_pass);
564
- // ts.forEachChild(source_file, visit_second_pass);
565
- const used_names_set = new Set();
566
- // Determine which classes/variables are used without being imported
567
- const classes_to_check = new Set(Object.values(volt_exports).flat());
568
- classes_to_check.forEach(class_name => {
569
- if (used_identifiers.has(class_name) &&
570
- !imported_identifiers.has(class_name) &&
571
- !declared_identifiers.has(class_name)) {
572
- used_names_set.add(class_name);
573
- }
574
- });
575
- return Array.from(used_names_set);
576
- }
577
- /**
578
- * Apply volt frontend auto imports preprocessing
579
- */
580
- export function volt_auto_imports(path, data) {
581
- // Check auto import
582
- if (data.includes("@volt-no-auto-import")) {
583
- return undefined;
584
- }
585
- // console.log(path)
586
- // Capture names.
587
- const names = detect_unused_imports(ts.createSourceFile(path, data, ts.ScriptTarget.Latest, true));
588
- // Create needed modules.
589
- const names_per_module = {}, added_names = new Set;
590
- for (const name of names) {
591
- for (const m of Object.keys(volt_exports)) {
592
- if (name === "VoltUI") {
593
- names_per_module["VoltUI"] = [];
594
- }
595
- else if (name === "Volt") {
596
- names_per_module["Volt"] = [];
597
- }
598
- else if (
599
- // name !== "volt.ts" &&
600
- !path.endsWith(m) &&
601
- volt_exports[m].includes(name) &&
602
- !added_names.has(name)) {
603
- if (names_per_module[m] === undefined) {
604
- names_per_module[m] = [];
605
- }
606
- names_per_module[m].push(name);
607
- added_names.add(name);
608
- // console.log(name, names_per_module[m])
609
- }
610
- }
611
- }
612
- // Add global types.
613
- let prefix = `import "${volt_frontend}/modules/string.js"; ` +
614
- `import "${volt_frontend}/modules/number.js"; ` +
615
- `import "${volt_frontend}/modules/object.js"; ` +
616
- `import "${volt_frontend}/modules/array.js"; `;
617
- // Add ts code.
618
- if (names.length > 0) {
619
- for (const m of Object.keys(names_per_module)) {
620
- if (m === "VoltUI") {
621
- prefix += `import * as VoltUI from "${volt_frontend}/ui/ui.js"; `;
622
- }
623
- else if (m === "Volt") {
624
- prefix += `import * as Volt from "${volt_frontend}/volt.js"; `;
625
- }
626
- else {
627
- prefix += `import { ${names_per_module[m].join(", ")} } from "${volt_frontend}/${m.slice(0, -3)}.js"; `;
628
- }
629
- }
630
- }
631
- // Response.
632
- return prefix + data;
633
- }
634
- // console.log("=========================\nOUTPUT\n"+
635
- // preprocess("X", `
636
- // tokenize({
637
- // code = undefined,
638
- // stop_callback = undefined,
639
- // build_html = false,
640
- // is_insert_tokens = false,
641
- // state = undefined,
642
- // }: TokenizeOptions = {}): string | Tokens {}
643
- // [interface X.Y.TokenizeOptions {
644
- // code?: string,
645
- // stop_callback?: Function,
646
- // build_html?: boolean,
647
- // is_insert_tokens?: boolean,
648
- // state?: TokenizerState,
649
- // } ]
650
- // [export interface X.Y.TokenizeOptions2 {
651
- // code?: string,
652
- // stop_callback?: Function,
653
- // build_html?: boolean,
654
- // is_insert_tokens?: boolean,
655
- // state?: TokenizerState,
656
- // } ]
657
- // [interface TokenizeOptions3 {
658
- // code?: string,
659
- // stop_callback?: Function,
660
- // build_html?: boolean,
661
- // is_insert_tokens?: boolean,
662
- // state?: TokenizerState,
663
- // } ]
664
- // tokenize({
665
- // code = undefined,
666
- // stop_callback = undefined,
667
- // build_html = false,
668
- // is_insert_tokens = false,
669
- // state = undefined,
670
- // }: string | Tokens;
671
- // tokenize({
672
- // code = undefined,
673
- // stop_callback = undefined,
674
- // build_html = false,
675
- // is_insert_tokens = false,
676
- // state = undefined,
677
- // }: TokenizeOptions = {}): string | Tokens {
678
- // // Rese
679
- // `)
680
- // );process.exit(1);
681
- // console.log("=========================\nOUTPUT\n"+
682
- // preprocess("X", `
683
- // .inner_html(
684
- // \`\`\`
685
- // 1 Begin with installing the Libris Client via npm, offering seamless interaction through either the Libris Client API or the intuitive Libris CLI.
686
- // <div style='height: 0.5em'></div>
687
- // More information about installing libris can be found in the \${ThemeV2.Link("documentation", "/docs?id=getting_started/installation")}.
688
- // \`\`\`
689
- // ),
690
- // .inner_html(
691
- // \`\`\`
692
- // 2 Begin with installing the Libris Client via npm, offering seamless interaction through either the Libris Client API or the intuitive Libris CLI.
693
- // <div style='height: 0.5em'></div>
694
- // More information about installing libris can be found in the \${ThemeV2.Link("documentation", "/docs?id=getting_started/installation")}.
695
- // \`\`\`
696
- // ),
697
- // .inner_html(
698
- // \`\`\`3 Begin with installing the Libris Client via npm, offering seamless interaction through either the Libris Client API or the intuitive Libris CLI.
699
- // <div style='height: 0.5em'></div>
700
- // More information about installing libris can be found in the \${ThemeV2.Link("documentation", "/docs?id=getting_started/installation")}.
701
- // \`\`\`
702
- // ),
703
- // \`\`\`
704
- // ---
705
- // title: Lorem Ipsum
706
- // name: lorem_ipsum.md
707
- // ---
708
- // # Lorem ipsum
709
- // Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
710
- // \`\`\`
711
- // \`\`\`
712
- // {
713
- // "name": "My Project", // The name of your project.
714
- // "version": "1.1", // The documentation version.
715
- // "include": [ // The source files you want to include, directories are allowed.
716
- // "src/load.js"
717
- // ],
718
- // "documents": [
719
- // "pages/lorem_ipsum.md" // The source path to the document.
720
- // ],
721
- // "output": "docs.html" // The output path of the generated HTML data.
722
- // }
723
- // \`\`\`
724
- // `)
725
- // );process.exit(1);
726
- export default { preprocess, volt_auto_imports };