@vandenberghinc/volt 1.1.4 → 1.1.6

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 (290) hide show
  1. package/backend/dist/cjs/database.d.ts +41 -68
  2. package/backend/dist/cjs/database.js +136 -78
  3. package/backend/dist/cjs/endpoint.d.ts +23 -9
  4. package/backend/dist/cjs/endpoint.js +98 -21
  5. package/backend/dist/cjs/file_watcher.js +2 -2
  6. package/backend/dist/cjs/frontend.d.ts +0 -2
  7. package/backend/dist/cjs/frontend.js +9 -9
  8. package/backend/dist/cjs/image_endpoint.d.ts +3 -1
  9. package/backend/dist/cjs/image_endpoint.js +2 -1
  10. package/backend/dist/cjs/payments/paddle.js +10 -2
  11. package/backend/dist/cjs/plugins/css.d.ts +6 -5
  12. package/backend/dist/cjs/plugins/css.js +32 -7
  13. package/backend/dist/cjs/plugins/ts/compiler.d.ts +6 -1
  14. package/backend/dist/cjs/plugins/ts/compiler.js +26 -2
  15. package/backend/dist/cjs/plugins/ts/preprocessing.js +5 -3
  16. package/backend/dist/cjs/server.d.ts +7 -13
  17. package/backend/dist/cjs/server.js +184 -303
  18. package/backend/dist/cjs/status.d.ts +1 -0
  19. package/backend/dist/cjs/status.js +2 -1
  20. package/backend/dist/cjs/stream.d.ts +5 -3
  21. package/backend/dist/cjs/stream.js +13 -4
  22. package/backend/dist/cjs/users.d.ts +1 -1
  23. package/backend/dist/cjs/users.js +87 -72
  24. package/backend/dist/cjs/utils.d.ts +17 -9
  25. package/backend/dist/cjs/utils.js +22 -64
  26. package/backend/dist/cjs/view.d.ts +2 -2
  27. package/backend/dist/cjs/view.js +38 -40
  28. package/backend/dist/cjs/volt.d.ts +3 -2
  29. package/backend/dist/cjs/volt.js +2 -2
  30. package/backend/dist/css/volt.css +5 -0
  31. package/backend/dist/esm/database.d.ts +41 -68
  32. package/backend/dist/esm/database.js +137 -79
  33. package/backend/dist/esm/endpoint.d.ts +23 -9
  34. package/backend/dist/esm/endpoint.js +99 -22
  35. package/backend/dist/esm/file_watcher.js +2 -2
  36. package/backend/dist/esm/frontend.d.ts +0 -2
  37. package/backend/dist/esm/frontend.js +9 -9
  38. package/backend/dist/esm/image_endpoint.d.ts +3 -1
  39. package/backend/dist/esm/image_endpoint.js +2 -1
  40. package/backend/dist/esm/payments/paddle.js +11 -3
  41. package/backend/dist/esm/plugins/css.d.ts +6 -5
  42. package/backend/dist/esm/plugins/css.js +32 -6
  43. package/backend/dist/esm/plugins/ts/compiler.d.ts +6 -1
  44. package/backend/dist/esm/plugins/ts/compiler.js +26 -2
  45. package/backend/dist/esm/plugins/ts/preprocessing.js +5 -3
  46. package/backend/dist/esm/server.d.ts +7 -13
  47. package/backend/dist/esm/server.js +182 -301
  48. package/backend/dist/esm/status.d.ts +1 -0
  49. package/backend/dist/esm/status.js +1 -0
  50. package/backend/dist/esm/stream.d.ts +5 -3
  51. package/backend/dist/esm/stream.js +13 -4
  52. package/backend/dist/esm/users.d.ts +1 -1
  53. package/backend/dist/esm/users.js +87 -72
  54. package/backend/dist/esm/utils.d.ts +17 -9
  55. package/backend/dist/esm/utils.js +21 -62
  56. package/backend/dist/esm/view.d.ts +2 -2
  57. package/backend/dist/esm/view.js +38 -40
  58. package/backend/dist/esm/volt.d.ts +3 -2
  59. package/backend/dist/esm/volt.js +2 -1
  60. package/backend/dist/esm-dev/blacklist.js +1 -1
  61. package/backend/dist/esm-dev/cli.js +2 -2
  62. package/backend/dist/esm-dev/database.d.ts +41 -68
  63. package/backend/dist/esm-dev/database.js +138 -80
  64. package/backend/dist/esm-dev/endpoint.d.ts +23 -9
  65. package/backend/dist/esm-dev/endpoint.js +100 -23
  66. package/backend/dist/esm-dev/file_watcher.js +3 -3
  67. package/backend/dist/esm-dev/frontend.d.ts +0 -2
  68. package/backend/dist/esm-dev/frontend.js +9 -9
  69. package/backend/dist/esm-dev/image_endpoint.d.ts +3 -1
  70. package/backend/dist/esm-dev/image_endpoint.js +2 -1
  71. package/backend/dist/esm-dev/logger.js +1 -1
  72. package/backend/dist/esm-dev/payments/paddle.js +12 -4
  73. package/backend/dist/esm-dev/plugins/css.d.ts +6 -5
  74. package/backend/dist/esm-dev/plugins/css.js +33 -7
  75. package/backend/dist/esm-dev/plugins/ts/compiler.d.ts +6 -1
  76. package/backend/dist/esm-dev/plugins/ts/compiler.js +27 -3
  77. package/backend/dist/esm-dev/plugins/ts/preprocessing.js +7 -5
  78. package/backend/dist/esm-dev/rate_limit.js +1 -1
  79. package/backend/dist/esm-dev/server.d.ts +7 -13
  80. package/backend/dist/esm-dev/server.js +184 -303
  81. package/backend/dist/esm-dev/status.d.ts +1 -0
  82. package/backend/dist/esm-dev/status.js +1 -0
  83. package/backend/dist/esm-dev/stream.d.ts +5 -3
  84. package/backend/dist/esm-dev/stream.js +13 -4
  85. package/backend/dist/esm-dev/users.d.ts +1 -1
  86. package/backend/dist/esm-dev/users.js +88 -73
  87. package/backend/dist/esm-dev/utils.d.ts +17 -9
  88. package/backend/dist/esm-dev/utils.js +22 -63
  89. package/backend/dist/esm-dev/view.d.ts +2 -2
  90. package/backend/dist/esm-dev/view.js +39 -41
  91. package/backend/dist/esm-dev/volt.d.ts +3 -2
  92. package/backend/dist/esm-dev/volt.js +2 -1
  93. package/backend/src/database.ts +173 -155
  94. package/backend/src/endpoint.ts +123 -31
  95. package/backend/src/file_watcher.ts +2 -2
  96. package/backend/src/frontend.ts +9 -8
  97. package/backend/src/image_endpoint.ts +4 -0
  98. package/backend/src/payments/paddle.ts +11 -3
  99. package/backend/src/plugins/css.ts +36 -8
  100. package/backend/src/plugins/ts/compiler.ts +37 -1
  101. package/backend/src/plugins/ts/preprocessing.ts +5 -3
  102. package/backend/src/server.ts +167 -306
  103. package/backend/src/status.ts +1 -0
  104. package/backend/src/stream.ts +28 -8
  105. package/backend/src/users.ts +87 -72
  106. package/backend/src/utils.ts +58 -25
  107. package/backend/src/view.ts +30 -28
  108. package/backend/src/{volt.js → volt.ts} +2 -1
  109. package/backend/tsconfig.cjs.json +3 -3
  110. package/backend/tsconfig.esm.json +3 -3
  111. package/frontend/dist/elements/base.d.ts +414 -432
  112. package/frontend/dist/elements/base.js +566 -329
  113. package/frontend/dist/elements/module.d.ts +26 -12
  114. package/frontend/dist/elements/module.js +69 -32
  115. package/frontend/dist/elements/register_element.d.ts +3 -0
  116. package/frontend/dist/elements/register_element.js +22 -0
  117. package/frontend/dist/modules/auth.d.ts +1 -0
  118. package/frontend/dist/modules/auth.js +6 -5
  119. package/frontend/dist/modules/color.d.ts +159 -0
  120. package/frontend/dist/modules/color.js +315 -0
  121. package/frontend/dist/modules/colors.d.ts +1 -26
  122. package/frontend/dist/modules/colors.js +417 -340
  123. package/frontend/dist/modules/cookies.d.ts +1 -0
  124. package/frontend/dist/modules/cookies.js +1 -0
  125. package/frontend/dist/modules/events.d.ts +1 -0
  126. package/frontend/dist/modules/events.js +1 -0
  127. package/frontend/dist/modules/google.d.ts +1 -0
  128. package/frontend/dist/modules/google.js +1 -0
  129. package/frontend/dist/modules/meta.d.ts +1 -0
  130. package/frontend/dist/modules/meta.js +1 -0
  131. package/frontend/dist/modules/mutex.d.ts +1 -2
  132. package/frontend/dist/modules/mutex.js +3 -4
  133. package/frontend/dist/modules/paddle.d.ts +1 -0
  134. package/frontend/dist/modules/paddle.js +14 -13
  135. package/frontend/dist/modules/scheme.d.ts +1 -0
  136. package/frontend/dist/modules/scheme.js +5 -3
  137. package/frontend/dist/modules/statics.d.ts +1 -0
  138. package/frontend/dist/modules/statics.js +1 -0
  139. package/frontend/dist/modules/support.d.ts +1 -0
  140. package/frontend/dist/modules/support.js +3 -2
  141. package/frontend/dist/modules/theme.d.ts +56 -0
  142. package/frontend/dist/{ui → modules}/theme.js +186 -75
  143. package/frontend/dist/modules/themes.d.ts +1 -1
  144. package/frontend/dist/modules/themes.js +1 -0
  145. package/frontend/dist/modules/user.d.ts +1 -0
  146. package/frontend/dist/modules/user.js +11 -10
  147. package/frontend/dist/modules/utils.d.ts +23 -2
  148. package/frontend/dist/modules/utils.js +93 -1
  149. package/frontend/dist/types/gradient.js +4 -0
  150. package/frontend/dist/ui/border_button.d.ts +0 -25
  151. package/frontend/dist/ui/border_button.js +50 -51
  152. package/frontend/dist/ui/button.d.ts +0 -21
  153. package/frontend/dist/ui/button.js +41 -46
  154. package/frontend/dist/ui/canvas.js +15 -15
  155. package/frontend/dist/ui/checkbox.d.ts +3 -17
  156. package/frontend/dist/ui/checkbox.js +36 -30
  157. package/frontend/dist/ui/code.d.ts +15 -82
  158. package/frontend/dist/ui/code.js +150 -125
  159. package/frontend/dist/ui/color.d.ts +0 -1
  160. package/frontend/dist/ui/color.js +1 -1
  161. package/frontend/dist/ui/context_menu.d.ts +4 -2
  162. package/frontend/dist/ui/context_menu.js +16 -17
  163. package/frontend/dist/ui/css.js +2 -0
  164. package/frontend/dist/ui/divider.d.ts +0 -7
  165. package/frontend/dist/ui/divider.js +21 -25
  166. package/frontend/dist/ui/dropdown.d.ts +13 -7
  167. package/frontend/dist/ui/dropdown.js +65 -30
  168. package/frontend/dist/ui/for_each.d.ts +0 -5
  169. package/frontend/dist/ui/for_each.js +17 -22
  170. package/frontend/dist/ui/form.d.ts +17 -12
  171. package/frontend/dist/ui/form.js +21 -18
  172. package/frontend/dist/ui/frame_modes.d.ts +9 -12
  173. package/frontend/dist/ui/frame_modes.js +8 -10
  174. package/frontend/dist/ui/google_map.d.ts +0 -11
  175. package/frontend/dist/ui/google_map.js +23 -28
  176. package/frontend/dist/ui/gradient.d.ts +0 -5
  177. package/frontend/dist/ui/gradient.js +17 -22
  178. package/frontend/dist/ui/image.d.ts +27 -58
  179. package/frontend/dist/ui/image.js +99 -93
  180. package/frontend/dist/ui/input.d.ts +20 -97
  181. package/frontend/dist/ui/input.js +192 -170
  182. package/frontend/dist/ui/link.d.ts +0 -18
  183. package/frontend/dist/ui/link.js +42 -48
  184. package/frontend/dist/ui/list.js +36 -37
  185. package/frontend/dist/ui/loader_button.d.ts +4 -19
  186. package/frontend/dist/ui/loader_button.js +35 -37
  187. package/frontend/dist/ui/loaders.d.ts +0 -8
  188. package/frontend/dist/ui/loaders.js +20 -25
  189. package/frontend/dist/ui/popup.d.ts +11 -8
  190. package/frontend/dist/ui/popup.js +183 -24
  191. package/frontend/dist/ui/pseudo.d.ts +3 -3
  192. package/frontend/dist/ui/pseudo.js +14 -17
  193. package/frontend/dist/ui/scroller.d.ts +10 -48
  194. package/frontend/dist/ui/scroller.js +306 -300
  195. package/frontend/dist/ui/slider.d.ts +9 -3
  196. package/frontend/dist/ui/slider.js +31 -17
  197. package/frontend/dist/ui/spacer.d.ts +0 -9
  198. package/frontend/dist/ui/spacer.js +21 -26
  199. package/frontend/dist/ui/span.js +13 -15
  200. package/frontend/dist/ui/stack.d.ts +14 -75
  201. package/frontend/dist/ui/stack.js +166 -169
  202. package/frontend/dist/ui/steps.d.ts +10 -23
  203. package/frontend/dist/ui/steps.js +47 -34
  204. package/frontend/dist/ui/style.d.ts +4 -3
  205. package/frontend/dist/ui/style.js +13 -18
  206. package/frontend/dist/ui/switch.d.ts +10 -4
  207. package/frontend/dist/ui/switch.js +24 -16
  208. package/frontend/dist/ui/table.d.ts +0 -23
  209. package/frontend/dist/ui/table.js +113 -119
  210. package/frontend/dist/ui/tabs.d.ts +3 -19
  211. package/frontend/dist/ui/tabs.js +35 -29
  212. package/frontend/dist/ui/text.d.ts +0 -8
  213. package/frontend/dist/ui/text.js +20 -25
  214. package/frontend/dist/ui/title.d.ts +0 -15
  215. package/frontend/dist/ui/title.js +39 -45
  216. package/frontend/dist/ui/ui.d.ts +0 -2
  217. package/frontend/dist/ui/ui.js +0 -2
  218. package/frontend/dist/ui/view.d.ts +3 -17
  219. package/frontend/dist/ui/view.js +27 -32
  220. package/frontend/dist/volt.d.ts +2 -1
  221. package/frontend/dist/volt.js +3 -1
  222. package/frontend/examples/dashboard/dashboard.ts +774 -0
  223. package/frontend/examples/theme/theme.ts +58 -0
  224. package/frontend/src/css/volt.css +5 -0
  225. package/frontend/src/elements/base.ts +767 -545
  226. package/frontend/src/elements/module.ts +90 -29
  227. package/frontend/src/elements/register_element.ts +24 -0
  228. package/frontend/src/modules/auth.ts +7 -6
  229. package/frontend/src/modules/color.ts +348 -0
  230. package/frontend/src/modules/colors.ts +468 -449
  231. package/frontend/src/modules/cookies.ts +1 -0
  232. package/frontend/src/modules/events.ts +1 -0
  233. package/frontend/src/modules/google.ts +1 -0
  234. package/frontend/src/modules/meta.ts +2 -1
  235. package/frontend/src/modules/mutex.ts +2 -4
  236. package/frontend/src/modules/paddle.ts +21 -20
  237. package/frontend/src/modules/scheme.ts +5 -4
  238. package/frontend/src/modules/statics.ts +2 -1
  239. package/frontend/src/modules/support.ts +3 -2
  240. package/frontend/src/modules/theme.ts +413 -0
  241. package/frontend/src/modules/themes.ts +2 -1
  242. package/frontend/src/modules/user.ts +12 -11
  243. package/frontend/src/modules/utils.ts +125 -2
  244. package/frontend/src/ui/border_button.ts +41 -37
  245. package/frontend/src/ui/button.ts +33 -32
  246. package/frontend/src/ui/canvas.ts +5 -2
  247. package/frontend/src/ui/checkbox.ts +21 -22
  248. package/frontend/src/ui/code.ts +92 -86
  249. package/frontend/src/ui/context_menu.ts +7 -5
  250. package/frontend/src/ui/css.ts +1 -1
  251. package/frontend/src/ui/divider.ts +15 -10
  252. package/frontend/src/ui/dropdown.ts +38 -21
  253. package/frontend/src/ui/for_each.ts +9 -8
  254. package/frontend/src/ui/form.ts +26 -21
  255. package/frontend/src/ui/frame_modes.ts +13 -17
  256. package/frontend/src/ui/google_map.ts +15 -13
  257. package/frontend/src/ui/gradient.ts +9 -8
  258. package/frontend/src/ui/image.ts +108 -86
  259. package/frontend/src/ui/input.ts +145 -144
  260. package/frontend/src/ui/link.ts +25 -23
  261. package/frontend/src/ui/list.ts +12 -6
  262. package/frontend/src/ui/loader_button.ts +26 -25
  263. package/frontend/src/ui/loaders.ts +12 -11
  264. package/frontend/src/ui/popup.ts +168 -14
  265. package/frontend/src/ui/pseudo.ts +5 -3
  266. package/frontend/src/ui/scroller.ts +303 -294
  267. package/frontend/src/ui/slider.ts +15 -10
  268. package/frontend/src/ui/spacer.ts +14 -11
  269. package/frontend/src/ui/span.ts +6 -2
  270. package/frontend/src/ui/stack.ts +196 -183
  271. package/frontend/src/ui/steps.ts +38 -22
  272. package/frontend/src/ui/style.ts +7 -4
  273. package/frontend/src/ui/switch.ts +16 -11
  274. package/frontend/src/ui/table.ts +42 -34
  275. package/frontend/src/ui/tabs.ts +20 -19
  276. package/frontend/src/ui/text.ts +12 -11
  277. package/frontend/src/ui/title.ts +22 -20
  278. package/frontend/src/ui/ui.ts +0 -2
  279. package/frontend/src/ui/view.ts +20 -19
  280. package/frontend/src/volt.ts +3 -1
  281. package/frontend/{compile.js → tools/compile.old.js} +2 -2
  282. package/frontend/tools/embed_scripts.js +69 -0
  283. package/frontend/tsconfig.json +26 -0
  284. package/package.json +7 -6
  285. package/frontend/dist/ui/theme.d.ts +0 -25
  286. package/frontend/exports.json +0 -1340
  287. package/frontend/src/modules/date.js +0 -535
  288. package/frontend/src/ui/color.ts +0 -117
  289. package/frontend/src/ui/theme.ts +0 -279
  290. /package/backend/src/{vinc.dev.js → vinc.dev.ts} +0 -0
@@ -153,7 +153,7 @@ export class View {
153
153
  is_js_ts_view;
154
154
  html;
155
155
  raw_html;
156
- bundle;
156
+ _bundle;
157
157
  payments;
158
158
  // vhighlight?: string | undefined;
159
159
  min_device_width;
@@ -197,7 +197,7 @@ export class View {
197
197
  this.includes = this.includes.drop_duplicates();
198
198
  // Attributes.
199
199
  this.html = undefined;
200
- this.bundle = undefined;
200
+ this._bundle = undefined;
201
201
  }
202
202
  // Initialize.
203
203
  _initialize(server, endpoint) {
@@ -210,51 +210,45 @@ export class View {
210
210
  this._server = server;
211
211
  this._endpoint = endpoint;
212
212
  }
213
- // Bundle the compiled typescript / javascript view.
214
- async _bundle_ts(dist_path, bundle = null) {
213
+ // Bundle the compiled typescript / javascript dynamically on demand to optimize server startup for development purposes.
214
+ async _dynamic_bundle() {
215
215
  // Server & endpoint.
216
216
  if (this._server === undefined || this._endpoint === undefined) {
217
217
  throw Error("View has not been initialized with \"View._initialize()\" yet.");
218
218
  }
219
219
  // Bundle.
220
- const had_bundle = this.bundle !== undefined;
221
- if (bundle != null) {
222
- // also accept already bundled for server.js in case multiple endpoint paths serve the same bundle.
223
- this.bundle = bundle;
224
- }
225
- else {
226
- logger.log(2, log_source, `Bundling entry path "${dist_path}".`);
227
- this.bundle = await TSCompiler.bundle({
228
- entry_paths: [dist_path],
229
- minify: this._server.production,
230
- platform: "browser",
231
- // format: "esm",
232
- format: "iife",
233
- target: "es2021",
234
- // target: "esnext",
235
- // sourcemap: this._server.production ? false : "inline",
236
- extract_inputs: true, // since bundle.inputs is used by server.js.
237
- tree_shaking: true,
238
- });
239
- if (this.bundle.errors.length > 0) {
240
- logger.log(0, log_source, `Encountered an error while bundling "${this.source}".`);
241
- this.bundle.debug();
242
- return;
243
- }
220
+ // const had_bundle = this.bundle !== undefined;
221
+ // if (bundle != null) {
222
+ // // also accept already bundled for server.js in case multiple endpoint paths serve the same bundle.
223
+ // this.bundle = bundle;
224
+ // } else {
225
+ logger.log(2, log_source, `Bundling entry path "${this.source_path?.str()}".`);
226
+ this._bundle = await TSCompiler.bundle({
227
+ entry_paths: [this.source_path?.str() ?? ""],
228
+ minify: false, //this._server.production,
229
+ platform: "browser",
230
+ // format: "esm",
231
+ format: "iife",
232
+ target: "es2021",
233
+ // target: "esnext",
234
+ // sourcemap: this._server.production ? false : "inline",
235
+ extract_inputs: true, // since bundle.inputs is used by server.js.
236
+ tree_shaking: false,
237
+ });
238
+ if (this._bundle.errors.length > 0) {
239
+ logger.log(0, log_source, `Encountered an error while bundling "${this.source}".`);
240
+ this._bundle.debug();
241
+ return;
244
242
  }
243
+ // }
245
244
  // Set options based on inputs.
246
- this.payments = this.bundle.inputs.find((path) => path.endsWith("/modules/paddle.js"));
245
+ this.payments = this._bundle.inputs.find((path) => path.endsWith("/modules/paddle.js"));
247
246
  // this.vhighlight = this.bundle.inputs.find((path: string) => path.endsWith("/vhighlight.js"));
248
247
  // Rebuild html.
249
248
  await this._build_html();
250
- if (had_bundle) {
251
- logger.log(0, log_source, `Refreshing endpoint ${this._endpoint.method}:${this._endpoint.endpoint}.`);
252
- }
253
- else {
254
- logger.log(1, log_source, `Refreshing endpoint ${this._endpoint.method}:${this._endpoint.endpoint}.`);
255
- }
249
+ logger.log(0, log_source, `Bundling javascript endpoint ${this._endpoint.method}:${this._endpoint.endpoint}.`);
256
250
  // Response.
257
- return this.bundle;
251
+ // return this.bundle;
258
252
  }
259
253
  // Build html.
260
254
  async _build_html() {
@@ -262,9 +256,13 @@ export class View {
262
256
  if (this._server === undefined || this._endpoint === undefined) {
263
257
  throw Error("View has not been initialized with \"View._initialize()\" yet.");
264
258
  }
259
+ // Bundle js files automatically.
260
+ if (this.is_js_ts_view && !this._bundle) {
261
+ await this._dynamic_bundle();
262
+ }
265
263
  // Vars.
266
- const line_break = this._server.production ? "" : "\n";
267
- const has_bundle = this.bundle != null && typeof this.bundle === "object";
264
+ const line_break = this._server.production ? "\n" : "\n";
265
+ const has_bundle = this._bundle != null && typeof this._bundle === "object";
268
266
  // Initialize html.
269
267
  this.html = "";
270
268
  // Doctype.
@@ -506,8 +504,8 @@ export class View {
506
504
  }
507
505
  });
508
506
  // Add direct source code.
509
- if (has_bundle && typeof this.bundle.code === "string") {
510
- this.html += `<script type='module'>${line_break}${this.bundle.code}${line_break}</script>${line_break}`;
507
+ if (has_bundle && typeof this._bundle.code === "string") {
508
+ this.html += `<script type='module'>${line_break}${this._bundle.code}${line_break}</script>${line_break}`;
511
509
  }
512
510
  // Include the source.
513
511
  else if (typeof this.source === "string") {
@@ -1,3 +1,4 @@
1
+ export { APIError } from "./utils.js";
1
2
  export * from "./status.js";
2
3
  export * from "./meta.js";
3
4
  export * from "./splash_screen.js";
@@ -9,7 +10,7 @@ export * from "./database.js";
9
10
  export * from "./rate_limit.js";
10
11
  export * from "./logger.js";
11
12
  export * from "./file_watcher.js";
12
- export * from "./frontend.js";
13
13
  export * as Mail from "./plugins/mail.js";
14
14
  export * as TypeScript from "./plugins/ts/compiler.js";
15
- export { FrontendError, APIError } from "./utils.js";
15
+ export * from "./plugins/css.js";
16
+ export * from "./frontend.js";
@@ -5,7 +5,7 @@
5
5
  // ---------------------------------------------------------
6
6
  // Exports.
7
7
  // Create volt lib.
8
- export { FrontendError, APIError } from "./utils.js";
8
+ export { APIError } from "./utils.js";
9
9
  export * from "./status.js";
10
10
  export * from "./meta.js";
11
11
  export * from "./splash_screen.js";
@@ -20,4 +20,5 @@ export * from "./file_watcher.js";
20
20
  export * as Mail from "./plugins/mail.js";
21
21
  // export * as PDF from "./plugins/pdf.js"
22
22
  export * as TypeScript from "./plugins/ts/compiler.js";
23
+ export * from "./plugins/css.js";
23
24
  export * from "./frontend.js";
@@ -2,7 +2,7 @@
2
2
  * Author: Daan van den Bergh
3
3
  * Copyright: © 2022 - 2024 Daan van den Bergh.
4
4
  */
5
- import { vlib } from "/Users/administrator/persistance/private/dev/vinc/volt/backend/./src/vinc.dev.js";
5
+ import { vlib } from "@vinc";
6
6
  // ---------------------------------------------------------
7
7
  // Blacklist.
8
8
  export class Blacklist {
@@ -5,8 +5,8 @@
5
5
  */
6
6
  // ---------------------------------------------------------
7
7
  // Imports.
8
- import { vlib } from "/Users/administrator/persistance/private/dev/vinc/volt/backend/./src/vinc.dev.js";
9
- import { vhighlight } from "/Users/administrator/persistance/private/dev/vinc/volt/backend/./src/vinc.dev.js";
8
+ import { vlib } from "@vinc";
9
+ import { vhighlight } from "@vinc";
10
10
  import * as volt from "./volt.js";
11
11
  // ---------------------------------------------------------
12
12
  // Global constants.
@@ -1,5 +1,18 @@
1
1
  import { ChildProcess } from "child_process";
2
2
  import { MongoClient, Collection as MongoCollection } from 'mongodb';
3
+ import { vlib } from "@vinc";
4
+ interface BaseOptions {
5
+ options?: Record<string, any>;
6
+ commit_quorum?: any;
7
+ forced?: boolean;
8
+ }
9
+ type IndexOptions = (BaseOptions & {
10
+ key: string;
11
+ keys?: never;
12
+ }) | (BaseOptions & {
13
+ key?: never;
14
+ keys: string[];
15
+ });
3
16
  declare class Collection {
4
17
  static chunk_size: number;
5
18
  static constructor_scheme: {
@@ -47,21 +60,13 @@ declare class Collection {
47
60
  uid_based: boolean;
48
61
  ttl: number | null;
49
62
  ttl_enabled: boolean;
50
- constructor(name: string, collection: MongoCollection, ttl?: number | null, indexes?: Array<{
51
- keys: string[] | string | Record<string, any>;
52
- options?: Record<string, any>;
53
- commit_quorum?: any;
54
- forced?: boolean;
55
- }>, uid_based?: boolean);
63
+ constructor(name: string, collection: MongoCollection, ttl?: number | null, // ttl in msec
64
+ indexes?: IndexOptions[], uid_based?: boolean);
56
65
  private _process_doc;
57
66
  private _load_chunked;
58
67
  private _save_chunked;
59
- create_index({ keys, options, commit_quorum, forced }: {
60
- keys: string[] | string | Record<string, any>;
61
- options?: Record<string, any> | null;
62
- commit_quorum?: any;
63
- forced?: boolean;
64
- }): Promise<string>;
68
+ create_index({ key, keys, // following the IndexOptions "key" or "keys" must be defined in typescript but not in raw js.
69
+ options, commit_quorum, forced }: IndexOptions): Promise<string>;
65
70
  find(query: Record<string, any>): Promise<any>;
66
71
  exists(path: string | Record<string, any>): Promise<boolean>;
67
72
  load(path: string | Record<string, any>, opts?: {
@@ -101,16 +106,8 @@ declare class Collection {
101
106
  declare class UIDCollection {
102
107
  private _col;
103
108
  col: MongoCollection;
104
- constructor(name: string, collection: MongoCollection, indexes?: Array<{
105
- keys: string[] | string | Record<string, any>;
106
- options?: Record<string, any>;
107
- commit_quorum?: any;
108
- }>, ttl?: number | null);
109
- create_index({ keys, options, commit_quorum }: {
110
- keys: string[] | string | Record<string, any>;
111
- options?: Record<string, any> | null;
112
- commit_quorum?: any;
113
- }): Promise<string>;
109
+ constructor(name: string, collection: MongoCollection, indexes?: IndexOptions[], ttl?: number | null);
110
+ create_index(args: IndexOptions): Promise<string>;
114
111
  find(uid?: string | null, query?: Record<string, any>): Promise<any>;
115
112
  exists(uid: string, path: string | Record<string, any>): Promise<boolean>;
116
113
  load(uid: string, path: string | Record<string, any>, opts?: {
@@ -275,90 +272,66 @@ declare class Database {
275
272
  type: string[];
276
273
  default: {};
277
274
  };
278
- _server: string;
275
+ _server: {
276
+ type: string[];
277
+ };
279
278
  };
280
279
  uri: string | null;
281
- preview: boolean;
282
- preview_ip_whitelist: string[];
283
280
  client_opts: Record<string, any> | null;
284
281
  config: Record<string, any>;
285
- source: any;
282
+ source: vlib.Path | undefined;
286
283
  start_args: string[];
287
- _collections: Array<{
284
+ _collections: {
288
285
  name: string;
289
286
  ttl?: number | null;
290
- indexes?: Array<{
291
- keys: string[] | string | Record<string, any>;
292
- options?: Record<string, any>;
293
- commit_quorum?: any;
294
- }>;
295
- }>;
296
- _uid_collections: Array<{
287
+ indexes?: string[] | IndexOptions[];
288
+ }[];
289
+ _uid_collections: {
297
290
  name: string;
298
291
  ttl?: number | null;
299
- indexes?: Array<{
300
- keys: string[] | string | Record<string, any>;
301
- options?: Record<string, any>;
302
- commit_quorum?: any;
303
- }>;
304
- }>;
292
+ indexes?: string[] | IndexOptions[];
293
+ }[];
305
294
  server: any;
306
295
  client: MongoClient | null;
307
296
  collections: Record<string, Collection | UIDCollection>;
308
297
  proc?: ChildProcess;
309
298
  daemon?: any;
310
299
  db?: any;
311
- constructor({ uri, source, config, start_args, client, collections, uid_collections, preview, preview_ip_whitelist, daemon, _server, }: {
300
+ _listed_cols: any;
301
+ constructor({ uri, source, config, start_args, client, collections, uid_collections, daemon, _server, }: {
312
302
  uri?: string | null;
313
303
  source?: string | null;
314
304
  config?: Record<string, any> | null;
315
305
  start_args?: string[];
316
306
  client?: Record<string, any> | null;
317
- collections?: Array<{
307
+ collections?: {
318
308
  name: string;
319
309
  ttl?: number | null;
320
- indexes?: Array<{
321
- keys: string[] | string | Record<string, any>;
322
- options?: Record<string, any>;
323
- commit_quorum?: any;
324
- }>;
325
- }>;
326
- uid_collections?: Array<{
310
+ indexes?: string[] | IndexOptions[];
311
+ }[];
312
+ uid_collections?: {
327
313
  name: string;
328
314
  ttl?: number | null;
329
- indexes?: Array<{
330
- keys: string[] | string | Record<string, any>;
331
- options?: Record<string, any>;
332
- commit_quorum?: any;
333
- }>;
334
- }>;
315
+ indexes?: string[] | IndexOptions[];
316
+ }[];
335
317
  preview?: boolean;
336
318
  preview_ip_whitelist?: string[];
337
319
  daemon?: Record<string, any> | boolean;
338
320
  _server: any;
339
321
  });
340
- _initialize_db_preview(): void;
341
322
  connect(): Promise<void>;
342
323
  initialize(): Promise<void>;
343
324
  close(): Promise<void>;
344
325
  create_collection(info: {
345
326
  name: string;
346
- indexes?: Array<{
347
- keys: string[] | string | Record<string, any>;
348
- options?: Record<string, any>;
349
- commit_quorum?: any;
350
- }>;
327
+ indexes?: IndexOptions[];
351
328
  ttl?: number | null;
352
- } | string): Collection;
329
+ } | string): Promise<Collection>;
353
330
  create_uid_collection(info: {
354
331
  name: string;
355
- indexes?: Array<{
356
- keys: string[] | string | Record<string, any>;
357
- options?: Record<string, any>;
358
- commit_quorum?: any;
359
- }>;
332
+ indexes?: IndexOptions[];
360
333
  ttl?: number | null;
361
- } | string): UIDCollection;
334
+ } | string): Promise<UIDCollection>;
362
335
  get_collections(): Promise<string[]>;
363
336
  }
364
337
  export { Collection, UIDCollection, Database };