@vandenberghinc/volt 1.1.5 → 1.1.7

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 (287) hide show
  1. package/backend/dist/cjs/database.d.ts +41 -68
  2. package/backend/dist/cjs/database.js +127 -76
  3. package/backend/dist/cjs/endpoint.d.ts +23 -9
  4. package/backend/dist/cjs/endpoint.js +98 -21
  5. package/backend/dist/cjs/frontend.d.ts +0 -2
  6. package/backend/dist/cjs/frontend.js +9 -9
  7. package/backend/dist/cjs/image_endpoint.d.ts +3 -1
  8. package/backend/dist/cjs/image_endpoint.js +2 -1
  9. package/backend/dist/cjs/payments/paddle.js +10 -2
  10. package/backend/dist/cjs/plugins/css.d.ts +6 -5
  11. package/backend/dist/cjs/plugins/css.js +32 -7
  12. package/backend/dist/cjs/plugins/ts/compiler.d.ts +6 -1
  13. package/backend/dist/cjs/plugins/ts/compiler.js +26 -2
  14. package/backend/dist/cjs/plugins/ts/preprocessing.js +5 -3
  15. package/backend/dist/cjs/server.d.ts +7 -13
  16. package/backend/dist/cjs/server.js +184 -303
  17. package/backend/dist/cjs/status.d.ts +1 -0
  18. package/backend/dist/cjs/status.js +2 -1
  19. package/backend/dist/cjs/stream.d.ts +5 -3
  20. package/backend/dist/cjs/stream.js +13 -4
  21. package/backend/dist/cjs/users.d.ts +1 -1
  22. package/backend/dist/cjs/users.js +87 -72
  23. package/backend/dist/cjs/utils.d.ts +17 -9
  24. package/backend/dist/cjs/utils.js +22 -64
  25. package/backend/dist/cjs/view.d.ts +2 -2
  26. package/backend/dist/cjs/view.js +38 -40
  27. package/backend/dist/cjs/volt.d.ts +3 -2
  28. package/backend/dist/cjs/volt.js +2 -2
  29. package/backend/dist/css/volt.css +5 -0
  30. package/backend/dist/esm/database.d.ts +41 -68
  31. package/backend/dist/esm/database.js +127 -76
  32. package/backend/dist/esm/endpoint.d.ts +23 -9
  33. package/backend/dist/esm/endpoint.js +99 -22
  34. package/backend/dist/esm/frontend.d.ts +0 -2
  35. package/backend/dist/esm/frontend.js +9 -9
  36. package/backend/dist/esm/image_endpoint.d.ts +3 -1
  37. package/backend/dist/esm/image_endpoint.js +2 -1
  38. package/backend/dist/esm/payments/paddle.js +11 -3
  39. package/backend/dist/esm/plugins/css.d.ts +6 -5
  40. package/backend/dist/esm/plugins/css.js +32 -6
  41. package/backend/dist/esm/plugins/ts/compiler.d.ts +6 -1
  42. package/backend/dist/esm/plugins/ts/compiler.js +26 -2
  43. package/backend/dist/esm/plugins/ts/preprocessing.js +5 -3
  44. package/backend/dist/esm/server.d.ts +7 -13
  45. package/backend/dist/esm/server.js +182 -301
  46. package/backend/dist/esm/status.d.ts +1 -0
  47. package/backend/dist/esm/status.js +1 -0
  48. package/backend/dist/esm/stream.d.ts +5 -3
  49. package/backend/dist/esm/stream.js +13 -4
  50. package/backend/dist/esm/users.d.ts +1 -1
  51. package/backend/dist/esm/users.js +87 -72
  52. package/backend/dist/esm/utils.d.ts +17 -9
  53. package/backend/dist/esm/utils.js +21 -62
  54. package/backend/dist/esm/view.d.ts +2 -2
  55. package/backend/dist/esm/view.js +38 -40
  56. package/backend/dist/esm/volt.d.ts +3 -2
  57. package/backend/dist/esm/volt.js +2 -1
  58. package/backend/dist/esm-dev/blacklist.js +1 -1
  59. package/backend/dist/esm-dev/cli.js +2 -2
  60. package/backend/dist/esm-dev/database.d.ts +41 -68
  61. package/backend/dist/esm-dev/database.js +128 -77
  62. package/backend/dist/esm-dev/endpoint.d.ts +23 -9
  63. package/backend/dist/esm-dev/endpoint.js +100 -23
  64. package/backend/dist/esm-dev/file_watcher.js +1 -1
  65. package/backend/dist/esm-dev/frontend.d.ts +0 -2
  66. package/backend/dist/esm-dev/frontend.js +9 -9
  67. package/backend/dist/esm-dev/image_endpoint.d.ts +3 -1
  68. package/backend/dist/esm-dev/image_endpoint.js +2 -1
  69. package/backend/dist/esm-dev/logger.js +1 -1
  70. package/backend/dist/esm-dev/payments/paddle.js +12 -4
  71. package/backend/dist/esm-dev/plugins/css.d.ts +6 -5
  72. package/backend/dist/esm-dev/plugins/css.js +33 -7
  73. package/backend/dist/esm-dev/plugins/ts/compiler.d.ts +6 -1
  74. package/backend/dist/esm-dev/plugins/ts/compiler.js +27 -3
  75. package/backend/dist/esm-dev/plugins/ts/preprocessing.js +7 -5
  76. package/backend/dist/esm-dev/rate_limit.js +1 -1
  77. package/backend/dist/esm-dev/server.d.ts +7 -13
  78. package/backend/dist/esm-dev/server.js +184 -303
  79. package/backend/dist/esm-dev/status.d.ts +1 -0
  80. package/backend/dist/esm-dev/status.js +1 -0
  81. package/backend/dist/esm-dev/stream.d.ts +5 -3
  82. package/backend/dist/esm-dev/stream.js +13 -4
  83. package/backend/dist/esm-dev/users.d.ts +1 -1
  84. package/backend/dist/esm-dev/users.js +88 -73
  85. package/backend/dist/esm-dev/utils.d.ts +17 -9
  86. package/backend/dist/esm-dev/utils.js +22 -63
  87. package/backend/dist/esm-dev/view.d.ts +2 -2
  88. package/backend/dist/esm-dev/view.js +39 -41
  89. package/backend/dist/esm-dev/volt.d.ts +3 -2
  90. package/backend/dist/esm-dev/volt.js +2 -1
  91. package/backend/src/database.ts +163 -152
  92. package/backend/src/endpoint.ts +123 -31
  93. package/backend/src/frontend.ts +9 -8
  94. package/backend/src/image_endpoint.ts +4 -0
  95. package/backend/src/payments/paddle.ts +11 -3
  96. package/backend/src/plugins/css.ts +36 -8
  97. package/backend/src/plugins/ts/compiler.ts +37 -1
  98. package/backend/src/plugins/ts/preprocessing.ts +5 -3
  99. package/backend/src/server.ts +167 -306
  100. package/backend/src/status.ts +1 -0
  101. package/backend/src/stream.ts +28 -8
  102. package/backend/src/users.ts +87 -72
  103. package/backend/src/utils.ts +58 -25
  104. package/backend/src/view.ts +30 -28
  105. package/backend/src/{volt.js → volt.ts} +2 -1
  106. package/backend/tsconfig.cjs.json +3 -3
  107. package/backend/tsconfig.esm.json +3 -3
  108. package/frontend/dist/elements/base.d.ts +397 -415
  109. package/frontend/dist/elements/base.js +565 -328
  110. package/frontend/dist/elements/module.d.ts +26 -12
  111. package/frontend/dist/elements/module.js +69 -32
  112. package/frontend/dist/elements/register_element.d.ts +3 -0
  113. package/frontend/dist/elements/register_element.js +22 -0
  114. package/frontend/dist/modules/auth.d.ts +1 -0
  115. package/frontend/dist/modules/auth.js +6 -5
  116. package/frontend/dist/modules/color.d.ts +159 -0
  117. package/frontend/dist/modules/color.js +315 -0
  118. package/frontend/dist/modules/colors.d.ts +1 -26
  119. package/frontend/dist/modules/colors.js +417 -338
  120. package/frontend/dist/modules/cookies.d.ts +1 -0
  121. package/frontend/dist/modules/cookies.js +1 -0
  122. package/frontend/dist/modules/events.d.ts +1 -0
  123. package/frontend/dist/modules/events.js +1 -0
  124. package/frontend/dist/modules/google.d.ts +1 -0
  125. package/frontend/dist/modules/google.js +1 -0
  126. package/frontend/dist/modules/meta.d.ts +1 -0
  127. package/frontend/dist/modules/meta.js +1 -0
  128. package/frontend/dist/modules/mutex.d.ts +1 -2
  129. package/frontend/dist/modules/mutex.js +3 -4
  130. package/frontend/dist/modules/paddle.d.ts +1 -0
  131. package/frontend/dist/modules/paddle.js +14 -13
  132. package/frontend/dist/modules/scheme.d.ts +1 -0
  133. package/frontend/dist/modules/scheme.js +4 -2
  134. package/frontend/dist/modules/statics.d.ts +1 -0
  135. package/frontend/dist/modules/statics.js +1 -0
  136. package/frontend/dist/modules/support.d.ts +1 -0
  137. package/frontend/dist/modules/support.js +3 -2
  138. package/frontend/dist/modules/theme.d.ts +56 -0
  139. package/frontend/dist/{ui → modules}/theme.js +186 -75
  140. package/frontend/dist/modules/themes.d.ts +1 -1
  141. package/frontend/dist/modules/themes.js +1 -0
  142. package/frontend/dist/modules/user.d.ts +1 -0
  143. package/frontend/dist/modules/user.js +11 -10
  144. package/frontend/dist/modules/utils.d.ts +23 -2
  145. package/frontend/dist/modules/utils.js +93 -1
  146. package/frontend/dist/types/gradient.js +4 -0
  147. package/frontend/dist/ui/border_button.d.ts +0 -25
  148. package/frontend/dist/ui/border_button.js +50 -51
  149. package/frontend/dist/ui/button.d.ts +0 -21
  150. package/frontend/dist/ui/button.js +41 -46
  151. package/frontend/dist/ui/canvas.js +15 -15
  152. package/frontend/dist/ui/checkbox.d.ts +3 -17
  153. package/frontend/dist/ui/checkbox.js +36 -30
  154. package/frontend/dist/ui/code.d.ts +15 -82
  155. package/frontend/dist/ui/code.js +150 -125
  156. package/frontend/dist/ui/color.d.ts +0 -1
  157. package/frontend/dist/ui/color.js +1 -1
  158. package/frontend/dist/ui/context_menu.d.ts +4 -2
  159. package/frontend/dist/ui/context_menu.js +16 -17
  160. package/frontend/dist/ui/css.js +2 -0
  161. package/frontend/dist/ui/divider.d.ts +0 -7
  162. package/frontend/dist/ui/divider.js +21 -25
  163. package/frontend/dist/ui/dropdown.d.ts +13 -7
  164. package/frontend/dist/ui/dropdown.js +65 -30
  165. package/frontend/dist/ui/for_each.d.ts +0 -5
  166. package/frontend/dist/ui/for_each.js +17 -22
  167. package/frontend/dist/ui/form.d.ts +17 -12
  168. package/frontend/dist/ui/form.js +21 -18
  169. package/frontend/dist/ui/frame_modes.d.ts +9 -12
  170. package/frontend/dist/ui/frame_modes.js +8 -10
  171. package/frontend/dist/ui/google_map.d.ts +0 -11
  172. package/frontend/dist/ui/google_map.js +23 -28
  173. package/frontend/dist/ui/gradient.d.ts +0 -5
  174. package/frontend/dist/ui/gradient.js +17 -22
  175. package/frontend/dist/ui/image.d.ts +27 -58
  176. package/frontend/dist/ui/image.js +99 -93
  177. package/frontend/dist/ui/input.d.ts +20 -97
  178. package/frontend/dist/ui/input.js +192 -170
  179. package/frontend/dist/ui/link.d.ts +0 -18
  180. package/frontend/dist/ui/link.js +42 -48
  181. package/frontend/dist/ui/list.js +36 -37
  182. package/frontend/dist/ui/loader_button.d.ts +4 -19
  183. package/frontend/dist/ui/loader_button.js +35 -37
  184. package/frontend/dist/ui/loaders.d.ts +0 -8
  185. package/frontend/dist/ui/loaders.js +20 -25
  186. package/frontend/dist/ui/popup.d.ts +11 -8
  187. package/frontend/dist/ui/popup.js +183 -24
  188. package/frontend/dist/ui/pseudo.d.ts +3 -3
  189. package/frontend/dist/ui/pseudo.js +14 -17
  190. package/frontend/dist/ui/scroller.d.ts +10 -48
  191. package/frontend/dist/ui/scroller.js +306 -300
  192. package/frontend/dist/ui/slider.d.ts +9 -3
  193. package/frontend/dist/ui/slider.js +31 -17
  194. package/frontend/dist/ui/spacer.d.ts +0 -9
  195. package/frontend/dist/ui/spacer.js +21 -26
  196. package/frontend/dist/ui/span.js +13 -15
  197. package/frontend/dist/ui/stack.d.ts +14 -75
  198. package/frontend/dist/ui/stack.js +166 -169
  199. package/frontend/dist/ui/steps.d.ts +10 -23
  200. package/frontend/dist/ui/steps.js +47 -34
  201. package/frontend/dist/ui/style.d.ts +4 -3
  202. package/frontend/dist/ui/style.js +13 -18
  203. package/frontend/dist/ui/switch.d.ts +10 -4
  204. package/frontend/dist/ui/switch.js +24 -16
  205. package/frontend/dist/ui/table.d.ts +0 -23
  206. package/frontend/dist/ui/table.js +113 -119
  207. package/frontend/dist/ui/tabs.d.ts +3 -19
  208. package/frontend/dist/ui/tabs.js +35 -29
  209. package/frontend/dist/ui/text.d.ts +0 -8
  210. package/frontend/dist/ui/text.js +20 -25
  211. package/frontend/dist/ui/title.d.ts +0 -15
  212. package/frontend/dist/ui/title.js +39 -45
  213. package/frontend/dist/ui/ui.d.ts +0 -2
  214. package/frontend/dist/ui/ui.js +0 -2
  215. package/frontend/dist/ui/view.d.ts +3 -17
  216. package/frontend/dist/ui/view.js +27 -32
  217. package/frontend/dist/volt.d.ts +2 -1
  218. package/frontend/dist/volt.js +3 -1
  219. package/frontend/examples/dashboard/dashboard.ts +774 -0
  220. package/frontend/examples/theme/theme.ts +58 -0
  221. package/frontend/src/css/volt.css +5 -0
  222. package/frontend/src/elements/base.ts +767 -545
  223. package/frontend/src/elements/module.ts +90 -29
  224. package/frontend/src/elements/register_element.ts +24 -0
  225. package/frontend/src/modules/auth.ts +7 -6
  226. package/frontend/src/modules/color.ts +348 -0
  227. package/frontend/src/modules/colors.ts +468 -449
  228. package/frontend/src/modules/cookies.ts +1 -0
  229. package/frontend/src/modules/events.ts +1 -0
  230. package/frontend/src/modules/google.ts +1 -0
  231. package/frontend/src/modules/meta.ts +2 -1
  232. package/frontend/src/modules/mutex.ts +2 -4
  233. package/frontend/src/modules/paddle.ts +21 -20
  234. package/frontend/src/modules/scheme.ts +4 -3
  235. package/frontend/src/modules/statics.ts +2 -1
  236. package/frontend/src/modules/support.ts +3 -2
  237. package/frontend/src/modules/theme.ts +413 -0
  238. package/frontend/src/modules/themes.ts +2 -1
  239. package/frontend/src/modules/user.ts +12 -11
  240. package/frontend/src/modules/utils.ts +125 -2
  241. package/frontend/src/ui/border_button.ts +41 -37
  242. package/frontend/src/ui/button.ts +33 -32
  243. package/frontend/src/ui/canvas.ts +5 -2
  244. package/frontend/src/ui/checkbox.ts +21 -22
  245. package/frontend/src/ui/code.ts +92 -86
  246. package/frontend/src/ui/context_menu.ts +7 -5
  247. package/frontend/src/ui/css.ts +1 -1
  248. package/frontend/src/ui/divider.ts +15 -10
  249. package/frontend/src/ui/dropdown.ts +38 -21
  250. package/frontend/src/ui/for_each.ts +9 -8
  251. package/frontend/src/ui/form.ts +26 -21
  252. package/frontend/src/ui/frame_modes.ts +13 -17
  253. package/frontend/src/ui/google_map.ts +15 -13
  254. package/frontend/src/ui/gradient.ts +9 -8
  255. package/frontend/src/ui/image.ts +108 -86
  256. package/frontend/src/ui/input.ts +145 -144
  257. package/frontend/src/ui/link.ts +25 -23
  258. package/frontend/src/ui/list.ts +12 -6
  259. package/frontend/src/ui/loader_button.ts +26 -25
  260. package/frontend/src/ui/loaders.ts +12 -11
  261. package/frontend/src/ui/popup.ts +168 -14
  262. package/frontend/src/ui/pseudo.ts +5 -3
  263. package/frontend/src/ui/scroller.ts +303 -294
  264. package/frontend/src/ui/slider.ts +15 -10
  265. package/frontend/src/ui/spacer.ts +14 -11
  266. package/frontend/src/ui/span.ts +6 -2
  267. package/frontend/src/ui/stack.ts +196 -183
  268. package/frontend/src/ui/steps.ts +38 -22
  269. package/frontend/src/ui/style.ts +7 -4
  270. package/frontend/src/ui/switch.ts +16 -11
  271. package/frontend/src/ui/table.ts +42 -34
  272. package/frontend/src/ui/tabs.ts +20 -19
  273. package/frontend/src/ui/text.ts +12 -11
  274. package/frontend/src/ui/title.ts +22 -20
  275. package/frontend/src/ui/ui.ts +0 -2
  276. package/frontend/src/ui/view.ts +20 -19
  277. package/frontend/src/volt.ts +3 -1
  278. package/frontend/{compile.js → tools/compile.old.js} +2 -2
  279. package/frontend/tools/embed_scripts.js +69 -0
  280. package/frontend/tsconfig.json +26 -0
  281. package/package.json +8 -8
  282. package/frontend/dist/ui/theme.d.ts +0 -25
  283. package/frontend/exports.json +0 -1340
  284. package/frontend/src/modules/date.js +0 -535
  285. package/frontend/src/ui/color.ts +0 -117
  286. package/frontend/src/ui/theme.ts +0 -279
  287. /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 };