@vandenberghinc/volt 1.1.20 → 1.1.21

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 (212) hide show
  1. package/backend/dist/cjs/database/collection.d.ts +146 -0
  2. package/backend/dist/cjs/database/collection.js +1290 -0
  3. package/backend/dist/cjs/database/database.d.ts +120 -0
  4. package/backend/dist/cjs/database/database.js +765 -0
  5. package/backend/dist/cjs/database/document.d.ts +131 -0
  6. package/backend/dist/cjs/database/document.js +252 -0
  7. package/backend/dist/cjs/database.d.ts +132 -9
  8. package/backend/dist/cjs/database.js +331 -53
  9. package/backend/dist/cjs/endpoint.d.ts +53 -30
  10. package/backend/dist/cjs/endpoint.js +127 -66
  11. package/backend/dist/cjs/file_watcher.js +9 -9
  12. package/backend/dist/cjs/frontend.d.ts +0 -5
  13. package/backend/dist/cjs/frontend.js +2 -8
  14. package/backend/dist/cjs/image_endpoint.js +4 -4
  15. package/backend/dist/cjs/logger.d.ts +0 -2
  16. package/backend/dist/cjs/logger.js +1 -3
  17. package/backend/dist/cjs/payments/paddle.d.ts +0 -1
  18. package/backend/dist/cjs/payments/paddle.js +91 -69
  19. package/backend/dist/cjs/plugins/browser.js +12 -12
  20. package/backend/dist/cjs/plugins/mail/ui.d.ts +277 -0
  21. package/backend/dist/cjs/plugins/mail/ui.js +1419 -0
  22. package/backend/dist/cjs/plugins/ts/compiler.d.ts +2 -0
  23. package/backend/dist/cjs/plugins/ts/compiler.js +365 -102
  24. package/backend/dist/cjs/rate_limit.d.ts +1 -3
  25. package/backend/dist/cjs/rate_limit.js +12 -51
  26. package/backend/dist/cjs/route.d.ts +42 -0
  27. package/backend/dist/cjs/route.js +211 -0
  28. package/backend/dist/cjs/server.d.ts +23 -8
  29. package/backend/dist/cjs/server.js +206 -261
  30. package/backend/dist/cjs/stream.d.ts +3 -1
  31. package/backend/dist/cjs/stream.js +30 -14
  32. package/backend/dist/cjs/users.d.ts +4 -4
  33. package/backend/dist/cjs/users.js +52 -36
  34. package/backend/dist/cjs/utils.d.ts +0 -3
  35. package/backend/dist/cjs/utils.js +4 -22
  36. package/backend/dist/cjs/view.d.ts +5 -1
  37. package/backend/dist/cjs/view.js +41 -30
  38. package/backend/dist/cjs/volt.d.ts +4 -2
  39. package/backend/dist/cjs/volt.js +4 -2
  40. package/backend/dist/esm/database/collection.d.ts +146 -0
  41. package/backend/dist/esm/database/collection.js +1286 -0
  42. package/backend/dist/esm/database/database.d.ts +120 -0
  43. package/backend/dist/esm/database/database.js +761 -0
  44. package/backend/dist/esm/database/document.d.ts +131 -0
  45. package/backend/dist/esm/database/document.js +247 -0
  46. package/backend/dist/esm/database.d.ts +132 -9
  47. package/backend/dist/esm/database.js +330 -53
  48. package/backend/dist/esm/endpoint.d.ts +53 -30
  49. package/backend/dist/esm/endpoint.js +128 -67
  50. package/backend/dist/esm/file_watcher.js +9 -9
  51. package/backend/dist/esm/frontend.d.ts +0 -5
  52. package/backend/dist/esm/frontend.js +1 -7
  53. package/backend/dist/esm/image_endpoint.js +5 -5
  54. package/backend/dist/esm/logger.d.ts +0 -2
  55. package/backend/dist/esm/logger.js +0 -2
  56. package/backend/dist/esm/payments/paddle.d.ts +0 -1
  57. package/backend/dist/esm/payments/paddle.js +91 -69
  58. package/backend/dist/esm/plugins/browser.js +12 -12
  59. package/backend/dist/esm/plugins/mail/ui.d.ts +277 -0
  60. package/backend/dist/esm/plugins/mail/ui.js +1403 -0
  61. package/backend/dist/esm/plugins/ts/compiler.d.ts +2 -0
  62. package/backend/dist/esm/plugins/ts/compiler.js +365 -102
  63. package/backend/dist/esm/rate_limit.d.ts +1 -3
  64. package/backend/dist/esm/rate_limit.js +12 -18
  65. package/backend/dist/esm/route.d.ts +42 -0
  66. package/backend/dist/esm/route.js +207 -0
  67. package/backend/dist/esm/server.d.ts +23 -8
  68. package/backend/dist/esm/server.js +200 -255
  69. package/backend/dist/esm/stream.d.ts +3 -1
  70. package/backend/dist/esm/stream.js +30 -14
  71. package/backend/dist/esm/users.d.ts +4 -4
  72. package/backend/dist/esm/users.js +52 -36
  73. package/backend/dist/esm/utils.d.ts +0 -3
  74. package/backend/dist/esm/utils.js +4 -22
  75. package/backend/dist/esm/view.d.ts +5 -1
  76. package/backend/dist/esm/view.js +41 -30
  77. package/backend/dist/esm/volt.d.ts +4 -2
  78. package/backend/dist/esm/volt.js +4 -2
  79. package/backend/dist/esm-dev/database/collection.d.ts +146 -0
  80. package/backend/dist/esm-dev/database/collection.js +1286 -0
  81. package/backend/dist/esm-dev/database/database.d.ts +120 -0
  82. package/backend/dist/esm-dev/database/database.js +761 -0
  83. package/backend/dist/esm-dev/database/document.d.ts +131 -0
  84. package/backend/dist/esm-dev/database/document.js +247 -0
  85. package/backend/dist/esm-dev/database.d.ts +132 -9
  86. package/backend/dist/esm-dev/database.js +330 -53
  87. package/backend/dist/esm-dev/endpoint.d.ts +53 -30
  88. package/backend/dist/esm-dev/endpoint.js +128 -67
  89. package/backend/dist/esm-dev/file_watcher.js +9 -9
  90. package/backend/dist/esm-dev/frontend.d.ts +0 -5
  91. package/backend/dist/esm-dev/frontend.js +1 -7
  92. package/backend/dist/esm-dev/image_endpoint.js +5 -5
  93. package/backend/dist/esm-dev/logger.d.ts +0 -2
  94. package/backend/dist/esm-dev/logger.js +0 -2
  95. package/backend/dist/esm-dev/payments/paddle.d.ts +0 -1
  96. package/backend/dist/esm-dev/payments/paddle.js +91 -69
  97. package/backend/dist/esm-dev/plugins/browser.js +12 -12
  98. package/backend/dist/esm-dev/plugins/mail/ui.d.ts +277 -0
  99. package/backend/dist/esm-dev/plugins/mail/ui.js +1403 -0
  100. package/backend/dist/esm-dev/plugins/ts/compiler.d.ts +2 -0
  101. package/backend/dist/esm-dev/plugins/ts/compiler.js +365 -102
  102. package/backend/dist/esm-dev/rate_limit.d.ts +1 -3
  103. package/backend/dist/esm-dev/rate_limit.js +12 -18
  104. package/backend/dist/esm-dev/route.d.ts +42 -0
  105. package/backend/dist/esm-dev/route.js +207 -0
  106. package/backend/dist/esm-dev/server.d.ts +23 -8
  107. package/backend/dist/esm-dev/server.js +200 -255
  108. package/backend/dist/esm-dev/stream.d.ts +3 -1
  109. package/backend/dist/esm-dev/stream.js +30 -14
  110. package/backend/dist/esm-dev/users.d.ts +4 -4
  111. package/backend/dist/esm-dev/users.js +52 -36
  112. package/backend/dist/esm-dev/utils.d.ts +0 -3
  113. package/backend/dist/esm-dev/utils.js +4 -22
  114. package/backend/dist/esm-dev/view.d.ts +5 -1
  115. package/backend/dist/esm-dev/view.js +41 -30
  116. package/backend/dist/esm-dev/volt.d.ts +4 -2
  117. package/backend/dist/esm-dev/volt.js +4 -2
  118. package/backend/{src → old}/file_watcher.ts +9 -9
  119. package/backend/src/database/collection.ts +1397 -0
  120. package/backend/src/database/database.ts +922 -0
  121. package/backend/src/database/document.ts +335 -0
  122. package/backend/src/endpoint.ts +170 -89
  123. package/backend/src/frontend.ts +1 -8
  124. package/backend/src/image_endpoint.ts +5 -5
  125. package/backend/src/logger.ts +0 -3
  126. package/backend/src/payments/paddle.ts +95 -82
  127. package/backend/src/plugins/browser.ts +12 -12
  128. package/backend/src/plugins/ts/compiler.ts +407 -119
  129. package/backend/src/rate_limit.ts +13 -20
  130. package/backend/src/route.ts +233 -0
  131. package/backend/src/server.ts +306 -381
  132. package/backend/src/stream.ts +37 -15
  133. package/backend/src/users.ts +58 -42
  134. package/backend/src/utils.ts +4 -26
  135. package/backend/src/view.ts +55 -43
  136. package/backend/src/volt.ts +4 -2
  137. package/frontend/dist/elements/base.d.ts +12 -4
  138. package/frontend/dist/elements/base.js +78 -31
  139. package/frontend/dist/modules/array.d.ts +84 -27
  140. package/frontend/dist/modules/array.js +611 -261
  141. package/frontend/dist/modules/color.js +1 -1
  142. package/frontend/dist/modules/number.d.ts +15 -11
  143. package/frontend/dist/modules/number.js +22 -7
  144. package/frontend/dist/modules/object.d.ts +51 -49
  145. package/frontend/dist/modules/object.js +353 -117
  146. package/frontend/dist/modules/paddle.js +2 -2
  147. package/frontend/dist/modules/scheme.d.ts +68 -49
  148. package/frontend/dist/modules/scheme.js +74 -194
  149. package/frontend/dist/modules/string.d.ts +118 -157
  150. package/frontend/dist/modules/string.js +712 -258
  151. package/frontend/dist/modules/theme.d.ts +13 -3
  152. package/frontend/dist/modules/theme.js +19 -1
  153. package/frontend/dist/ui/button.js +1 -1
  154. package/frontend/dist/ui/checkbox.js +1 -2
  155. package/frontend/dist/ui/code.d.ts +3 -0
  156. package/frontend/dist/ui/code.js +5 -2
  157. package/frontend/dist/ui/css.d.ts +3 -1
  158. package/frontend/dist/ui/css.js +2 -0
  159. package/frontend/dist/ui/dropdown.d.ts +11 -11
  160. package/frontend/dist/ui/dropdown.js +31 -32
  161. package/frontend/dist/ui/input.d.ts +2 -0
  162. package/frontend/dist/ui/input.js +3 -0
  163. package/frontend/dist/ui/list.js +1 -1
  164. package/frontend/dist/ui/loaders.d.ts +5 -0
  165. package/frontend/dist/ui/loaders.js +12 -0
  166. package/frontend/dist/ui/popup.js +4 -6
  167. package/frontend/dist/ui/span.d.ts +2 -2
  168. package/frontend/dist/ui/span.js +4 -4
  169. package/frontend/dist/ui/switch.d.ts +7 -4
  170. package/frontend/dist/ui/switch.js +9 -1
  171. package/frontend/dist/ui/table.d.ts +10 -9
  172. package/frontend/dist/ui/table.js +11 -8
  173. package/frontend/dist/ui/tabs.js +2 -2
  174. package/frontend/dist/volt.d.ts +0 -6
  175. package/frontend/dist/volt.js +0 -6
  176. package/frontend/examples/dashboard/dashboard.ts +3 -1
  177. package/frontend/examples/theme/theme.ts +1 -1
  178. package/frontend/src/elements/base.ts +93 -30
  179. package/frontend/src/elements/types.d.ts +1 -1
  180. package/frontend/src/modules/color.ts +1 -1
  181. package/frontend/src/modules/paddle.ts +2 -2
  182. package/frontend/src/modules/theme.ts +22 -2
  183. package/frontend/src/ui/button.ts +1 -1
  184. package/frontend/src/ui/checkbox.ts +1 -2
  185. package/frontend/src/ui/code.ts +6 -1
  186. package/frontend/src/ui/css.ts +5 -1
  187. package/frontend/src/ui/dropdown.ts +38 -38
  188. package/frontend/src/ui/input.ts +8 -0
  189. package/frontend/src/ui/list.ts +1 -1
  190. package/frontend/src/ui/loaders.ts +15 -1
  191. package/frontend/src/ui/popup.ts +4 -6
  192. package/frontend/src/ui/span.ts +2 -2
  193. package/frontend/src/ui/switch.ts +23 -3
  194. package/frontend/src/ui/table.ts +18 -15
  195. package/frontend/src/ui/tabs.ts +2 -2
  196. package/frontend/src/volt.ts +0 -6
  197. package/frontend/tools/embed_scripts.js +11 -11
  198. package/frontend/tools/scan_mixed_imports.js +69 -0
  199. package/frontend/tsconfig.json +5 -2
  200. package/package.json +25 -8
  201. package/backend/src/database.ts +0 -2420
  202. package/frontend/dist/ui/color.d.ts +0 -0
  203. package/frontend/dist/ui/color.js +0 -110
  204. package/frontend/src/modules/array.ts +0 -366
  205. package/frontend/src/modules/date.ts +0 -583
  206. package/frontend/src/modules/number.ts +0 -20
  207. package/frontend/src/modules/object.ts +0 -212
  208. package/frontend/src/modules/scheme.ts +0 -741
  209. package/frontend/src/modules/string.ts +0 -500
  210. /package/backend/{src → old}/request.deprc.js +0 -0
  211. /package/backend/{src → old}/response.deprc.js +0 -0
  212. /package/backend/src/plugins/{mail.ts → mail/ui.ts} +0 -0
@@ -0,0 +1,146 @@
1
+ /**
2
+ * @author Daan van den Bergh
3
+ * @copyright © 2022 - 2025 Daan van den Bergh.
4
+ */
5
+ import { Collection as MongoCollection } from 'mongodb';
6
+ import { Document } from "./document.js";
7
+ import type { Database } from "./database.js";
8
+ /** Index options. */
9
+ interface BaseOptions {
10
+ options?: Record<string, any>;
11
+ forced?: boolean;
12
+ }
13
+ export type IndexOptions = (BaseOptions & {
14
+ key: string;
15
+ keys?: never;
16
+ }) | (BaseOptions & {
17
+ key?: never;
18
+ keys: string[];
19
+ });
20
+ export type Query = string | Record<string, any>;
21
+ /**
22
+ * A wrapper class for the MongoDB collection.
23
+ *
24
+ * @note Any document type is suported, including primitives, arrays and objects.
25
+ *
26
+ * @example
27
+ * const col1 = server.db.collection("col1");
28
+ * const col2 = server.db.collection({
29
+ * name: "col2",
30
+ * indexes: ["uid", "name"],
31
+ * ttl: 1000 * 60 * 60 * 24, // 1 day
32
+ * });
33
+ */
34
+ export declare class Collection<Data extends Document.Data = any> {
35
+ static chunk_size: number;
36
+ static constructor_scheme: {
37
+ name: string;
38
+ ttl: {
39
+ type: string;
40
+ default: null;
41
+ };
42
+ indexes: {
43
+ type: string;
44
+ default: never[];
45
+ value_scheme: {
46
+ type: string[];
47
+ scheme: {
48
+ key: {
49
+ type: string;
50
+ required: (data: any) => boolean;
51
+ };
52
+ keys: {
53
+ type: string[];
54
+ required: (data: any) => boolean;
55
+ value_scheme: string;
56
+ postprocess: (keys: any) => any;
57
+ };
58
+ options: {
59
+ type: string;
60
+ required: boolean;
61
+ };
62
+ forced: {
63
+ type: string;
64
+ default: boolean;
65
+ };
66
+ };
67
+ postprocess: (info: any) => any;
68
+ };
69
+ };
70
+ };
71
+ /** Collection name */
72
+ name: string;
73
+ /** Time to live in msec for all documents. */
74
+ ttl?: number;
75
+ ttl_enabled: boolean;
76
+ /** The column. */
77
+ col?: MongoCollection;
78
+ /**
79
+ * The Database parent class, used to initialize the column on demand.
80
+ * So the user can define collections at root level before the database is initialized. */
81
+ db: Database;
82
+ /** Is initialized. */
83
+ initialized: boolean;
84
+ /** The temporary indexes passed to the constructor for the init method. */
85
+ private _init_indexes?;
86
+ /** Constructor. */
87
+ constructor(opts: {
88
+ name: string;
89
+ col?: MongoCollection;
90
+ ttl?: number;
91
+ indexes?: (string | IndexOptions)[];
92
+ db: Database;
93
+ });
94
+ /** Initialize. */
95
+ init(): Promise<void>;
96
+ assert_init(): asserts this is {
97
+ col: MongoCollection;
98
+ };
99
+ /** Setup the ttl configuration. */
100
+ _setup_ttl(): Promise<void>;
101
+ private _process_doc;
102
+ private _load_chunked;
103
+ private _save_chunked;
104
+ /** Create a reference. */
105
+ ref<Data extends Document.Data = any>(query: Query, opts?: Omit<ConstructorParameters<typeof Document.Ref<Data>>[1], "col">): Document.Ref<Data>;
106
+ reference<Data extends Document.Data = any>(query: Query, opts?: Omit<ConstructorParameters<typeof Document.Ref<Data>>[1], "col">): Document.Ref<Data>;
107
+ create_index(opts: string | IndexOptions): Promise<string>;
108
+ find(query: Record<string, any>): Promise<Data | undefined>;
109
+ exists(path: Query): Promise<boolean>;
110
+ load(path: Query, opts?: {
111
+ default?: any;
112
+ chunked?: boolean;
113
+ attributes?: string[];
114
+ projection?: Record<string, any>;
115
+ } | null): Promise<Data | undefined>;
116
+ save(path: Query, content: any, opts?: {
117
+ chunked?: boolean;
118
+ bulk?: boolean;
119
+ set?: boolean;
120
+ } | null): Promise<any>;
121
+ /** Update many. */
122
+ update_many(...args: Parameters<typeof MongoCollection.prototype.updateMany>): Promise<any>;
123
+ list(path: Query, options?: {
124
+ process?: boolean;
125
+ projection?: Record<string, any>;
126
+ }): Promise<Data[]>;
127
+ list_query(query?: Record<string, any>, options?: {
128
+ process?: boolean;
129
+ projection?: Record<string, any>;
130
+ }): Promise<Data[]>;
131
+ list_all(query?: Record<string, any>, options?: {
132
+ process?: boolean;
133
+ projection?: Record<string, any>;
134
+ }): Promise<Data[]>;
135
+ delete(path: Query, opts?: {
136
+ chunked?: boolean;
137
+ bulk?: boolean;
138
+ }): Promise<any>;
139
+ delete_query(query?: Record<string, any>): Promise<void>;
140
+ delete_all(path: Query): Promise<void>;
141
+ delete_many(query: Record<string, any>): Promise<void>;
142
+ delete_collection(): Promise<void>;
143
+ clean<T>(doc: T): T | null;
144
+ bulk_operations(operations?: any[]): Promise<any>;
145
+ }
146
+ export {};