@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.
- package/backend/dist/cjs/{blacklist.d.ts → backend/src/blacklist.d.ts} +5 -3
- package/backend/dist/cjs/{blacklist.js → backend/src/blacklist.js} +8 -5
- package/backend/dist/cjs/{cli.js → backend/src/cli.js} +29 -47
- package/backend/dist/cjs/backend/src/database/collection.d.ts +1543 -0
- package/backend/dist/cjs/backend/src/database/collection.js +3042 -0
- package/backend/dist/cjs/backend/src/database/database.d.ts +66 -0
- package/backend/dist/cjs/{database → backend/src/database}/database.js +48 -43
- package/backend/dist/cjs/backend/src/database/filters/filters.d.ts +6 -0
- package/backend/dist/cjs/backend/src/database/filters/filters.js +15 -0
- package/backend/dist/cjs/backend/src/database/filters/strict_filter.d.ts +223 -0
- package/backend/dist/cjs/backend/src/database/filters/strict_filter.js +15 -0
- package/backend/dist/cjs/backend/src/database/filters/strict_filter_test.js +443 -0
- package/backend/dist/cjs/backend/src/database/filters/strict_filter_test_v0.js +15 -0
- package/backend/dist/cjs/backend/src/database/filters/strict_filter_v0.d.ts +50 -0
- package/backend/dist/cjs/backend/src/database/filters/strict_filter_v0.js +15 -0
- package/backend/dist/cjs/backend/src/database/filters/strict_filter_v1.d.ts +76 -0
- package/backend/dist/cjs/backend/src/database/filters/strict_filter_v1.js +15 -0
- package/backend/dist/cjs/backend/src/database/filters/strict_filter_v2.d.ts +75 -0
- package/backend/dist/cjs/backend/src/database/filters/strict_filter_v2.js +15 -0
- package/backend/dist/cjs/backend/src/database/filters/strict_filter_v3.d.ts +219 -0
- package/backend/dist/cjs/backend/src/database/filters/strict_filter_v3.js +15 -0
- package/backend/dist/cjs/backend/src/database/filters/strict_update_filter.d.ts +165 -0
- package/backend/dist/cjs/backend/src/database/filters/strict_update_filter.js +15 -0
- package/backend/dist/cjs/backend/src/database/filters/strict_update_filter_test.d.ts +5 -0
- package/backend/dist/cjs/backend/src/database/filters/strict_update_filter_test.js +355 -0
- package/backend/dist/cjs/backend/src/database/flatten.d.ts +75 -0
- package/backend/dist/cjs/{logger.js → backend/src/database/flatten.js} +18 -7
- package/backend/dist/cjs/backend/src/database/flatten_test.js +175 -0
- package/backend/dist/cjs/backend/src/database/quota/quota.d.ts +461 -0
- package/backend/dist/cjs/backend/src/database/quota/quota.js +1014 -0
- package/backend/dist/cjs/backend/src/database/quota/quota_v1.d.ts +534 -0
- package/backend/dist/cjs/backend/src/database/quota/quota_v1.js +1087 -0
- package/backend/dist/cjs/backend/src/database/quota/safe_int.d.ts +293 -0
- package/backend/dist/cjs/backend/src/database/quota/safe_int.js +573 -0
- package/backend/dist/{esm → cjs/backend/src}/endpoint.d.ts +69 -46
- package/backend/dist/cjs/{endpoint.js → backend/src/endpoint.js} +87 -101
- package/backend/dist/cjs/backend/src/errors/index.d.ts +7 -0
- package/backend/dist/cjs/backend/src/errors/index.js +25 -0
- package/backend/dist/{esm/utils.d.ts → cjs/backend/src/errors/internal_external.d.ts} +14 -22
- package/backend/dist/cjs/backend/src/errors/internal_external.js +85 -0
- package/backend/dist/cjs/backend/src/errors/invalid_usage_error.d.ts +38 -0
- package/backend/dist/cjs/{mutex.js → backend/src/errors/invalid_usage_error.js} +20 -37
- package/backend/dist/cjs/backend/src/errors/system_error.d.ts +230 -0
- package/backend/dist/cjs/backend/src/errors/system_error.js +393 -0
- package/backend/dist/cjs/backend/src/events.d.ts +54 -0
- package/backend/dist/cjs/backend/src/events.js +15 -0
- package/backend/dist/cjs/{frontend.js → backend/src/frontend.js} +1 -1
- package/backend/dist/cjs/{image_endpoint.d.ts → backend/src/image_endpoint.d.ts} +16 -1
- package/backend/dist/cjs/{image_endpoint.js → backend/src/image_endpoint.js} +3 -5
- package/backend/dist/cjs/backend/src/logger.d.ts +5 -0
- package/backend/dist/cjs/backend/src/logger.js +15 -0
- package/backend/dist/cjs/backend/src/meta.d.ts +64 -0
- package/backend/dist/cjs/{meta.js → backend/src/meta.js} +9 -12
- package/backend/dist/cjs/backend/src/payments/paddle.d.ts +326 -0
- package/backend/dist/cjs/{payments → backend/src/payments}/paddle.js +377 -327
- package/backend/dist/cjs/backend/src/plugins/browser.d.ts +1 -0
- package/backend/dist/cjs/backend/src/plugins/browser.js +15 -0
- package/backend/dist/cjs/backend/src/plugins/mail/mail.d.ts +248 -0
- package/backend/dist/cjs/backend/src/plugins/mail/mail.js +379 -0
- package/backend/dist/{esm → cjs/backend/src}/plugins/mail/ui.d.ts +23 -0
- package/backend/dist/cjs/backend/src/plugins/pdf.d.ts +1 -0
- package/backend/dist/cjs/backend/src/rate_limit.d.ts +145 -0
- package/backend/dist/cjs/backend/src/rate_limit.js +549 -0
- package/backend/dist/cjs/{route.d.ts → backend/src/route.d.ts} +3 -10
- package/backend/dist/cjs/{route.js → backend/src/route.js} +23 -21
- package/backend/dist/cjs/backend/src/server.d.ts +485 -0
- package/backend/dist/cjs/{server.js → backend/src/server.js} +688 -873
- package/backend/dist/cjs/backend/src/splash_screen.d.ts +80 -0
- package/backend/dist/cjs/{splash_screen.js → backend/src/splash_screen.js} +24 -3
- package/backend/dist/cjs/backend/src/status.d.ts +74 -0
- package/backend/dist/cjs/{status.js → backend/src/status.js} +64 -64
- package/backend/dist/cjs/backend/src/stream.d.ts +376 -0
- package/backend/dist/cjs/{stream.js → backend/src/stream.js} +299 -276
- package/backend/dist/cjs/backend/src/users.d.ts +807 -0
- package/backend/dist/cjs/backend/src/users.js +1971 -0
- package/backend/dist/cjs/backend/src/utils.d.ts +16 -0
- package/backend/dist/cjs/{utils.js → backend/src/utils.js} +14 -77
- package/backend/dist/{esm → cjs/backend/src}/view.d.ts +33 -11
- package/backend/dist/cjs/backend/src/view.js +508 -0
- package/backend/dist/{esm → cjs/backend/src}/volt.d.ts +10 -1
- package/backend/dist/cjs/{volt.js → backend/src/volt.js} +8 -5
- package/backend/dist/cjs/frontend/src/modules/request.d.ts +70 -0
- package/backend/dist/cjs/frontend/src/modules/request.js +99 -0
- package/backend/dist/esm/{blacklist.d.ts → backend/src/blacklist.d.ts} +5 -3
- package/backend/dist/esm/{blacklist.js → backend/src/blacklist.js} +9 -6
- package/backend/dist/esm/{cli.js → backend/src/cli.js} +43 -60
- package/backend/dist/esm/backend/src/database/collection.d.ts +1543 -0
- package/backend/dist/esm/backend/src/database/collection.js +3510 -0
- package/backend/dist/esm/backend/src/database/database.d.ts +66 -0
- package/backend/dist/esm/{database → backend/src/database}/database.js +62 -103
- package/backend/dist/esm/backend/src/database/document.d.ts +1 -0
- package/backend/dist/esm/backend/src/database/document.js +558 -0
- package/backend/dist/esm/backend/src/database/filters/filters.d.ts +6 -0
- package/backend/dist/esm/backend/src/database/filters/filters.js +1 -0
- package/backend/dist/esm/backend/src/database/filters/strict_filter.d.ts +223 -0
- package/backend/dist/esm/backend/src/database/filters/strict_filter.js +3 -0
- package/backend/dist/esm/backend/src/database/filters/strict_filter_test.d.ts +1 -0
- package/backend/dist/esm/backend/src/database/filters/strict_filter_test.js +505 -0
- package/backend/dist/esm/backend/src/database/filters/strict_filter_test_v0.d.ts +1 -0
- package/backend/dist/esm/backend/src/database/filters/strict_filter_test_v0.js +712 -0
- package/backend/dist/esm/backend/src/database/filters/strict_filter_v0.d.ts +50 -0
- package/backend/dist/esm/backend/src/database/filters/strict_filter_v0.js +5 -0
- package/backend/dist/esm/backend/src/database/filters/strict_filter_v1.d.ts +76 -0
- package/backend/dist/esm/backend/src/database/filters/strict_filter_v1.js +44 -0
- package/backend/dist/esm/backend/src/database/filters/strict_filter_v2.d.ts +75 -0
- package/backend/dist/esm/backend/src/database/filters/strict_filter_v2.js +5 -0
- package/backend/dist/esm/backend/src/database/filters/strict_filter_v3.d.ts +219 -0
- package/backend/dist/esm/backend/src/database/filters/strict_filter_v3.js +1 -0
- package/backend/dist/esm/backend/src/database/filters/strict_update_filter.d.ts +165 -0
- package/backend/dist/esm/backend/src/database/filters/strict_update_filter.js +5 -0
- package/backend/dist/esm/backend/src/database/filters/strict_update_filter_test.d.ts +5 -0
- package/backend/dist/esm/backend/src/database/filters/strict_update_filter_test.js +405 -0
- package/backend/dist/esm/backend/src/database/flatten.d.ts +75 -0
- package/backend/dist/esm/backend/src/database/flatten.js +22 -0
- package/backend/dist/esm/backend/src/database/flatten_test.d.ts +1 -0
- package/backend/dist/esm/backend/src/database/flatten_test.js +174 -0
- package/backend/dist/esm/backend/src/database/quota/quota.d.ts +461 -0
- package/backend/dist/esm/backend/src/database/quota/quota.js +1118 -0
- package/backend/dist/esm/backend/src/database/quota/quota_v1.d.ts +534 -0
- package/backend/dist/esm/backend/src/database/quota/quota_v1.js +1242 -0
- package/backend/dist/esm/backend/src/database/quota/safe_int.d.ts +293 -0
- package/backend/dist/esm/backend/src/database/quota/safe_int.js +602 -0
- package/backend/dist/{cjs → esm/backend/src}/endpoint.d.ts +69 -46
- package/backend/dist/esm/{endpoint.js → backend/src/endpoint.js} +136 -127
- package/backend/dist/esm/backend/src/errors/index.d.ts +7 -0
- package/backend/dist/esm/backend/src/errors/index.js +7 -0
- package/backend/dist/{cjs/utils.d.ts → esm/backend/src/errors/internal_external.d.ts} +14 -22
- package/backend/dist/esm/backend/src/errors/internal_external.js +70 -0
- package/backend/dist/esm/backend/src/errors/invalid_usage_error.d.ts +38 -0
- package/backend/dist/esm/backend/src/errors/invalid_usage_error.js +30 -0
- package/backend/dist/esm/backend/src/errors/system_error.d.ts +230 -0
- package/backend/dist/esm/backend/src/errors/system_error.js +402 -0
- package/backend/dist/esm/backend/src/events.d.ts +54 -0
- package/backend/dist/esm/backend/src/events.js +5 -0
- package/backend/dist/esm/{frontend.js → backend/src/frontend.js} +1 -1
- package/backend/dist/esm/{image_endpoint.d.ts → backend/src/image_endpoint.d.ts} +16 -1
- package/backend/dist/esm/{image_endpoint.js → backend/src/image_endpoint.js} +16 -20
- package/backend/dist/esm/backend/src/logger.d.ts +5 -0
- package/backend/dist/esm/backend/src/logger.js +8 -0
- package/backend/dist/esm/backend/src/meta.d.ts +64 -0
- package/backend/dist/esm/{meta.js → backend/src/meta.js} +15 -54
- package/backend/dist/esm/backend/src/payments/paddle.d.ts +326 -0
- package/backend/dist/esm/{payments → backend/src/payments}/paddle.js +417 -452
- package/backend/dist/esm/backend/src/plugins/browser.d.ts +1 -0
- package/backend/dist/esm/backend/src/plugins/browser.js +170 -0
- package/backend/dist/esm/backend/src/plugins/mail/mail.d.ts +248 -0
- package/backend/dist/esm/backend/src/plugins/mail/mail.js +389 -0
- package/backend/dist/{cjs → esm/backend/src}/plugins/mail/ui.d.ts +23 -0
- package/backend/dist/esm/{plugins → backend/src/plugins}/mail/ui.js +3 -6
- package/backend/dist/esm/backend/src/plugins/pdf.d.ts +1 -0
- package/backend/dist/esm/{plugins → backend/src/plugins}/pdf.js +3 -3
- package/backend/dist/esm/backend/src/rate_limit.d.ts +145 -0
- package/backend/dist/esm/backend/src/rate_limit.js +667 -0
- package/backend/dist/esm/{route.d.ts → backend/src/route.d.ts} +3 -10
- package/backend/dist/esm/{route.js → backend/src/route.js} +26 -21
- package/backend/dist/esm/backend/src/server.d.ts +485 -0
- package/backend/dist/esm/{server.js → backend/src/server.js} +891 -1441
- package/backend/dist/esm/backend/src/splash_screen.d.ts +80 -0
- package/backend/dist/esm/{splash_screen.js → backend/src/splash_screen.js} +42 -55
- package/backend/dist/esm/backend/src/status.d.ts +74 -0
- package/backend/dist/esm/backend/src/status.js +199 -0
- package/backend/dist/esm/backend/src/stream.d.ts +376 -0
- package/backend/dist/esm/{stream.js → backend/src/stream.js} +327 -292
- package/backend/dist/esm/backend/src/users.d.ts +809 -0
- package/backend/dist/esm/backend/src/users.js +2140 -0
- package/backend/dist/esm/backend/src/utils.d.ts +16 -0
- package/backend/dist/esm/{utils.js → backend/src/utils.js} +20 -81
- package/backend/dist/{cjs → esm/backend/src}/view.d.ts +33 -11
- package/backend/dist/esm/{view.js → backend/src/view.js} +266 -86
- package/backend/dist/{cjs → esm/backend/src}/volt.d.ts +10 -1
- package/backend/dist/esm/{volt.js → backend/src/volt.js} +7 -4
- package/backend/dist/esm/frontend/src/modules/request.d.ts +70 -0
- package/backend/dist/esm/frontend/src/modules/request.js +117 -0
- package/frontend/dist/backend/src/database/collection.d.ts +1543 -0
- package/frontend/dist/backend/src/database/collection.js +3510 -0
- package/frontend/dist/backend/src/database/database.d.ts +66 -0
- package/frontend/dist/backend/src/database/database.js +196 -0
- package/frontend/dist/backend/src/database/filters/filters.d.ts +6 -0
- package/frontend/dist/backend/src/database/filters/filters.js +1 -0
- package/frontend/dist/backend/src/database/filters/strict_filter.d.ts +223 -0
- package/frontend/dist/backend/src/database/filters/strict_filter.js +3 -0
- package/frontend/dist/backend/src/database/filters/strict_update_filter.d.ts +165 -0
- package/frontend/dist/backend/src/database/filters/strict_update_filter.js +5 -0
- package/frontend/dist/backend/src/database/flatten.d.ts +75 -0
- package/frontend/dist/backend/src/database/flatten.js +22 -0
- package/frontend/dist/backend/src/endpoint.d.ts +204 -0
- package/frontend/dist/backend/src/endpoint.js +570 -0
- package/frontend/dist/backend/src/errors/index.d.ts +7 -0
- package/frontend/dist/backend/src/errors/index.js +7 -0
- package/frontend/dist/backend/src/errors/internal_external.d.ts +38 -0
- package/frontend/dist/backend/src/errors/internal_external.js +70 -0
- package/frontend/dist/backend/src/errors/invalid_usage_error.d.ts +38 -0
- package/frontend/dist/backend/src/errors/invalid_usage_error.js +30 -0
- package/frontend/dist/backend/src/errors/system_error.d.ts +230 -0
- package/frontend/dist/backend/src/errors/system_error.js +402 -0
- package/frontend/dist/backend/src/events.d.ts +54 -0
- package/frontend/dist/backend/src/events.js +5 -0
- package/frontend/dist/backend/src/frontend.d.ts +11 -0
- package/frontend/dist/backend/src/frontend.js +12 -0
- package/frontend/dist/backend/src/image_endpoint.d.ts +39 -0
- package/frontend/dist/backend/src/image_endpoint.js +202 -0
- package/frontend/dist/backend/src/meta.d.ts +64 -0
- package/frontend/dist/backend/src/meta.js +110 -0
- package/frontend/dist/backend/src/payments/paddle.d.ts +326 -0
- package/frontend/dist/backend/src/payments/paddle.js +2256 -0
- package/frontend/dist/backend/src/plugins/mail/mail.d.ts +248 -0
- package/frontend/dist/backend/src/plugins/mail/mail.js +389 -0
- package/{backend/dist/esm/plugins/mail.d.ts → frontend/dist/backend/src/plugins/mail/ui.d.ts} +23 -0
- package/{backend/dist/esm/plugins/mail.js → frontend/dist/backend/src/plugins/mail/ui.js} +3 -6
- package/frontend/dist/backend/src/rate_limit.d.ts +145 -0
- package/frontend/dist/backend/src/rate_limit.js +673 -0
- package/frontend/dist/backend/src/route.d.ts +35 -0
- package/frontend/dist/backend/src/route.js +212 -0
- package/frontend/dist/backend/src/server.d.ts +485 -0
- package/frontend/dist/backend/src/server.js +2670 -0
- package/frontend/dist/backend/src/splash_screen.d.ts +80 -0
- package/frontend/dist/backend/src/splash_screen.js +135 -0
- package/frontend/dist/backend/src/status.d.ts +74 -0
- package/frontend/dist/backend/src/status.js +199 -0
- package/frontend/dist/backend/src/stream.d.ts +376 -0
- package/frontend/dist/backend/src/stream.js +1007 -0
- package/frontend/dist/backend/src/users.d.ts +807 -0
- package/frontend/dist/backend/src/users.js +2118 -0
- package/frontend/dist/backend/src/utils.d.ts +16 -0
- package/frontend/dist/backend/src/utils.js +241 -0
- package/frontend/dist/backend/src/view.d.ts +162 -0
- package/frontend/dist/backend/src/view.js +720 -0
- package/frontend/dist/frontend/src/elements/base.d.ts +4414 -0
- package/frontend/dist/{elements → frontend/src/elements}/base.js +3624 -260
- package/frontend/dist/frontend/src/elements/module.d.ts +95 -0
- package/frontend/dist/{elements → frontend/src/elements}/module.js +53 -52
- package/frontend/dist/frontend/src/elements/types.d.ts +52 -0
- package/frontend/dist/frontend/src/elements/types.js +5 -0
- package/frontend/dist/frontend/src/modules/attachment.d.ts +126 -0
- package/frontend/dist/frontend/src/modules/attachment.js +306 -0
- package/frontend/dist/frontend/src/modules/auth.d.ts +44 -0
- package/frontend/dist/frontend/src/modules/auth.js +80 -0
- package/frontend/dist/{modules → frontend/src/modules}/color.js +2 -2
- package/frontend/dist/frontend/src/modules/compression.d.ts +39 -0
- package/frontend/dist/frontend/src/modules/compression.js +102 -0
- package/frontend/dist/frontend/src/modules/cookies.d.ts +44 -0
- package/frontend/dist/frontend/src/modules/cookies.js +143 -0
- package/frontend/dist/frontend/src/modules/events.d.ts +31 -0
- package/frontend/dist/frontend/src/modules/events.js +74 -0
- package/frontend/dist/frontend/src/modules/google.d.ts +23 -0
- package/frontend/dist/frontend/src/modules/google.js +52 -0
- package/frontend/dist/frontend/src/modules/meta.d.ts +14 -0
- package/frontend/dist/{modules → frontend/src/modules}/meta.js +9 -7
- package/frontend/dist/{modules → frontend/src/modules}/paddle.d.ts +37 -134
- package/frontend/dist/{modules → frontend/src/modules}/paddle.js +620 -568
- package/frontend/dist/frontend/src/modules/request.d.ts +70 -0
- package/frontend/dist/frontend/src/modules/request.js +117 -0
- package/frontend/dist/frontend/src/modules/settings.d.ts +3 -0
- package/frontend/dist/frontend/src/modules/settings.js +5 -0
- package/frontend/dist/frontend/src/modules/statics.d.ts +21 -0
- package/frontend/dist/{modules → frontend/src/modules}/statics.js +15 -18
- package/frontend/dist/frontend/src/modules/support.d.ts +30 -0
- package/frontend/dist/frontend/src/modules/support.js +53 -0
- package/frontend/dist/{modules → frontend/src/modules}/theme.d.ts +67 -0
- package/frontend/dist/{modules → frontend/src/modules}/theme.js +68 -38
- package/frontend/dist/frontend/src/modules/themes.d.ts +12 -0
- package/frontend/dist/frontend/src/modules/themes.js +22 -0
- package/frontend/dist/frontend/src/modules/user.d.ts +164 -0
- package/frontend/dist/frontend/src/modules/user.js +268 -0
- package/frontend/dist/frontend/src/modules/utils.d.ts +176 -0
- package/frontend/dist/frontend/src/modules/utils.js +569 -0
- package/frontend/dist/frontend/src/types/gradient.d.ts +29 -0
- package/frontend/dist/{types → frontend/src/types}/gradient.js +14 -18
- package/frontend/dist/frontend/src/ui/border_button.d.ts +94 -0
- package/frontend/dist/{ui → frontend/src/ui}/border_button.js +7 -13
- package/frontend/dist/frontend/src/ui/button.d.ts +28 -0
- package/frontend/dist/{ui → frontend/src/ui}/button.js +21 -12
- package/frontend/dist/frontend/src/ui/canvas.d.ts +138 -0
- package/frontend/dist/{ui → frontend/src/ui}/canvas.js +88 -55
- package/frontend/dist/frontend/src/ui/checkbox.d.ts +74 -0
- package/frontend/dist/{ui → frontend/src/ui}/checkbox.js +80 -41
- package/frontend/dist/{ui → frontend/src/ui}/code.d.ts +73 -6
- package/frontend/dist/{ui → frontend/src/ui}/code.js +55 -52
- package/frontend/dist/{ui → frontend/src/ui}/context_menu.d.ts +4 -0
- package/frontend/dist/{ui → frontend/src/ui}/context_menu.js +12 -17
- package/frontend/dist/{ui → frontend/src/ui}/css.d.ts +4 -0
- package/frontend/dist/{ui → frontend/src/ui}/css.js +3 -3
- package/frontend/dist/{ui → frontend/src/ui}/divider.d.ts +4 -0
- package/frontend/dist/{ui → frontend/src/ui}/divider.js +3 -3
- package/frontend/dist/{ui → frontend/src/ui}/dropdown.d.ts +57 -2
- package/frontend/dist/{ui → frontend/src/ui}/dropdown.js +87 -94
- package/frontend/dist/{ui → frontend/src/ui}/for_each.d.ts +4 -0
- package/frontend/dist/{ui → frontend/src/ui}/for_each.js +3 -3
- package/frontend/dist/{ui → frontend/src/ui}/form.d.ts +6 -2
- package/frontend/dist/{ui → frontend/src/ui}/form.js +10 -7
- package/frontend/dist/frontend/src/ui/frame_modes.d.ts +37 -0
- package/frontend/dist/{ui → frontend/src/ui}/frame_modes.js +16 -22
- package/frontend/dist/{ui → frontend/src/ui}/google_map.d.ts +4 -0
- package/frontend/dist/{ui → frontend/src/ui}/google_map.js +4 -4
- package/frontend/dist/{ui → frontend/src/ui}/gradient.d.ts +4 -0
- package/frontend/dist/{ui → frontend/src/ui}/gradient.js +3 -3
- package/frontend/dist/{ui → frontend/src/ui}/image.d.ts +4 -0
- package/frontend/dist/{ui → frontend/src/ui}/image.js +5 -5
- package/frontend/dist/frontend/src/ui/input.d.ts +392 -0
- package/frontend/dist/{ui → frontend/src/ui}/input.js +346 -360
- package/frontend/dist/{ui → frontend/src/ui}/link.d.ts +4 -0
- package/frontend/dist/{ui → frontend/src/ui}/link.js +3 -3
- package/frontend/dist/{ui → frontend/src/ui}/list.d.ts +4 -0
- package/frontend/dist/{ui → frontend/src/ui}/list.js +12 -6
- package/frontend/dist/frontend/src/ui/loader_button.d.ts +80 -0
- package/frontend/dist/{ui → frontend/src/ui}/loader_button.js +35 -47
- package/frontend/dist/frontend/src/ui/loaders.d.ts +57 -0
- package/frontend/dist/{ui → frontend/src/ui}/loaders.js +11 -11
- package/frontend/dist/{ui → frontend/src/ui}/popup.d.ts +11 -6
- package/frontend/dist/{ui → frontend/src/ui}/popup.js +32 -18
- package/frontend/dist/frontend/src/ui/pseudo.d.ts +44 -0
- package/frontend/dist/{ui → frontend/src/ui}/pseudo.js +84 -8
- package/frontend/dist/{ui → frontend/src/ui}/scroller.d.ts +14 -2
- package/frontend/dist/{ui → frontend/src/ui}/scroller.js +37 -43
- package/frontend/dist/{ui → frontend/src/ui}/slider.d.ts +5 -1
- package/frontend/dist/{ui → frontend/src/ui}/slider.js +4 -4
- package/frontend/dist/{ui → frontend/src/ui}/spacer.d.ts +4 -0
- package/frontend/dist/{ui → frontend/src/ui}/spacer.js +3 -3
- package/frontend/dist/{ui → frontend/src/ui}/span.d.ts +4 -0
- package/frontend/dist/{ui → frontend/src/ui}/span.js +3 -3
- package/frontend/dist/{ui → frontend/src/ui}/stack.d.ts +4 -0
- package/frontend/dist/{ui → frontend/src/ui}/stack.js +3 -9
- package/frontend/dist/frontend/src/ui/steps.d.ts +131 -0
- package/frontend/dist/{ui → frontend/src/ui}/steps.js +30 -45
- package/frontend/dist/{ui → frontend/src/ui}/style.d.ts +4 -0
- package/frontend/dist/{ui → frontend/src/ui}/style.js +3 -3
- package/frontend/dist/{ui → frontend/src/ui}/switch.d.ts +5 -1
- package/frontend/dist/{ui → frontend/src/ui}/switch.js +4 -4
- package/frontend/dist/{ui → frontend/src/ui}/table.d.ts +4 -0
- package/frontend/dist/{ui → frontend/src/ui}/table.js +6 -6
- package/frontend/dist/{ui → frontend/src/ui}/tabs.d.ts +45 -3
- package/frontend/dist/{ui → frontend/src/ui}/tabs.js +65 -40
- package/frontend/dist/{ui → frontend/src/ui}/text.d.ts +4 -0
- package/frontend/dist/{ui → frontend/src/ui}/text.js +3 -3
- package/frontend/dist/frontend/src/ui/title.d.ts +91 -0
- package/frontend/dist/frontend/src/ui/title.js +272 -0
- package/frontend/dist/{ui → frontend/src/ui}/view.d.ts +4 -0
- package/frontend/dist/{ui → frontend/src/ui}/view.js +3 -3
- package/frontend/dist/{volt.d.ts → frontend/src/volt.d.ts} +3 -0
- package/frontend/dist/{volt.js → frontend/src/volt.js} +4 -0
- package/frontend/tools/bundle_d_ts.js +71 -0
- package/frontend/tools/convert_to_jsdoc_input.txt +9452 -0
- package/frontend/tools/convert_to_jsdoc_output.txt +7626 -0
- package/frontend/tools/convert_to_jsdoc_tmp.js +345 -0
- package/package.json +11 -12
- package/backend/dist/cjs/database/collection.d.ts +0 -160
- package/backend/dist/cjs/database/collection.js +0 -842
- package/backend/dist/cjs/database/database.d.ts +0 -121
- package/backend/dist/cjs/database/document.d.ts +0 -131
- package/backend/dist/cjs/database/document.js +0 -224
- package/backend/dist/cjs/database.d.ts +0 -502
- package/backend/dist/cjs/database.js +0 -2248
- package/backend/dist/cjs/logger.d.ts +0 -3
- package/backend/dist/cjs/meta.d.ts +0 -50
- package/backend/dist/cjs/mutex.d.ts +0 -24
- package/backend/dist/cjs/payments/paddle.d.ts +0 -160
- package/backend/dist/cjs/plugins/browser.d.ts +0 -36
- package/backend/dist/cjs/plugins/browser.js +0 -198
- package/backend/dist/cjs/plugins/css.d.ts +0 -11
- package/backend/dist/cjs/plugins/css.js +0 -80
- package/backend/dist/cjs/plugins/mail.d.ts +0 -277
- package/backend/dist/cjs/plugins/mail.js +0 -1370
- package/backend/dist/cjs/plugins/ts/compiler.d.ts +0 -139
- package/backend/dist/cjs/plugins/ts/compiler.js +0 -750
- package/backend/dist/cjs/plugins/ts/preprocessing.d.ts +0 -14
- package/backend/dist/cjs/plugins/ts/preprocessing.js +0 -440
- package/backend/dist/cjs/rate_limit.d.ts +0 -63
- package/backend/dist/cjs/rate_limit.js +0 -348
- package/backend/dist/cjs/request.deprc.d.ts +0 -48
- package/backend/dist/cjs/request.deprc.js +0 -572
- package/backend/dist/cjs/response.deprc.d.ts +0 -55
- package/backend/dist/cjs/response.deprc.js +0 -275
- package/backend/dist/cjs/server.d.ts +0 -342
- package/backend/dist/cjs/splash_screen.d.ts +0 -35
- package/backend/dist/cjs/status.d.ts +0 -61
- package/backend/dist/cjs/stream.d.ts +0 -79
- package/backend/dist/cjs/users.d.ts +0 -111
- package/backend/dist/cjs/users.js +0 -1817
- package/backend/dist/cjs/view.js +0 -352
- package/backend/dist/cjs/vinc.dev.d.ts +0 -3
- package/backend/dist/cjs/vinc.dev.js +0 -7
- package/backend/dist/css/adyen.css +0 -92
- package/backend/dist/css/volt.css +0 -70
- package/backend/dist/esm/database/collection.d.ts +0 -160
- package/backend/dist/esm/database/collection.js +0 -1328
- package/backend/dist/esm/database/database.d.ts +0 -121
- package/backend/dist/esm/database/document.d.ts +0 -131
- package/backend/dist/esm/database/document.js +0 -247
- package/backend/dist/esm/database.d.ts +0 -502
- package/backend/dist/esm/database.js +0 -2423
- package/backend/dist/esm/file_watcher.js +0 -329
- package/backend/dist/esm/logger.d.ts +0 -3
- package/backend/dist/esm/logger.js +0 -11
- package/backend/dist/esm/meta.d.ts +0 -50
- package/backend/dist/esm/mutex.d.ts +0 -24
- package/backend/dist/esm/mutex.js +0 -48
- package/backend/dist/esm/payments/paddle.d.ts +0 -160
- package/backend/dist/esm/plugins/browser.d.ts +0 -36
- package/backend/dist/esm/plugins/browser.js +0 -176
- package/backend/dist/esm/plugins/css.d.ts +0 -11
- package/backend/dist/esm/plugins/css.js +0 -90
- package/backend/dist/esm/plugins/ts/compiler.d.ts +0 -139
- package/backend/dist/esm/plugins/ts/compiler.js +0 -1194
- package/backend/dist/esm/plugins/ts/preprocessing.d.ts +0 -14
- package/backend/dist/esm/plugins/ts/preprocessing.js +0 -726
- package/backend/dist/esm/rate_limit.d.ts +0 -63
- package/backend/dist/esm/rate_limit.js +0 -417
- package/backend/dist/esm/request.deprc.d.ts +0 -48
- package/backend/dist/esm/request.deprc.js +0 -572
- package/backend/dist/esm/response.deprc.d.ts +0 -55
- package/backend/dist/esm/response.deprc.js +0 -275
- package/backend/dist/esm/server.d.ts +0 -342
- package/backend/dist/esm/splash_screen.d.ts +0 -35
- package/backend/dist/esm/status.d.ts +0 -61
- package/backend/dist/esm/status.js +0 -197
- package/backend/dist/esm/stream.d.ts +0 -79
- package/backend/dist/esm/users.d.ts +0 -111
- package/backend/dist/esm/users.js +0 -1935
- package/backend/dist/esm/vinc.dev.d.ts +0 -3
- package/backend/dist/esm/vinc.dev.js +0 -7
- package/frontend/dist/elements/base.d.ts +0 -9889
- package/frontend/dist/elements/module.d.ts +0 -30
- package/frontend/dist/modules/array.d.ts +0 -94
- package/frontend/dist/modules/array.js +0 -634
- package/frontend/dist/modules/auth.d.ts +0 -46
- package/frontend/dist/modules/auth.js +0 -139
- package/frontend/dist/modules/colors.d.ts +0 -1
- package/frontend/dist/modules/colors.js +0 -417
- package/frontend/dist/modules/compression.d.ts +0 -6
- package/frontend/dist/modules/compression.js +0 -999
- package/frontend/dist/modules/cookies.d.ts +0 -18
- package/frontend/dist/modules/cookies.js +0 -167
- package/frontend/dist/modules/date.d.ts +0 -142
- package/frontend/dist/modules/date.js +0 -493
- package/frontend/dist/modules/events.d.ts +0 -8
- package/frontend/dist/modules/events.js +0 -91
- package/frontend/dist/modules/google.d.ts +0 -11
- package/frontend/dist/modules/google.js +0 -54
- package/frontend/dist/modules/meta.d.ts +0 -10
- package/frontend/dist/modules/mutex.d.ts +0 -7
- package/frontend/dist/modules/mutex.js +0 -51
- package/frontend/dist/modules/number.d.ts +0 -16
- package/frontend/dist/modules/number.js +0 -23
- package/frontend/dist/modules/object.d.ts +0 -52
- package/frontend/dist/modules/object.js +0 -383
- package/frontend/dist/modules/scheme.d.ts +0 -227
- package/frontend/dist/modules/scheme.js +0 -531
- package/frontend/dist/modules/settings.d.ts +0 -3
- package/frontend/dist/modules/settings.js +0 -4
- package/frontend/dist/modules/statics.d.ts +0 -5
- package/frontend/dist/modules/string.d.ts +0 -124
- package/frontend/dist/modules/string.js +0 -745
- package/frontend/dist/modules/support.d.ts +0 -19
- package/frontend/dist/modules/support.js +0 -103
- package/frontend/dist/modules/themes.d.ts +0 -8
- package/frontend/dist/modules/themes.js +0 -18
- package/frontend/dist/modules/user.d.ts +0 -59
- package/frontend/dist/modules/user.js +0 -280
- package/frontend/dist/modules/utils.d.ts +0 -87
- package/frontend/dist/modules/utils.js +0 -923
- package/frontend/dist/types/gradient.d.ts +0 -12
- package/frontend/dist/ui/border_button.d.ts +0 -152
- package/frontend/dist/ui/button.d.ts +0 -21
- package/frontend/dist/ui/canvas.d.ts +0 -56
- package/frontend/dist/ui/checkbox.d.ts +0 -52
- package/frontend/dist/ui/frame_modes.d.ts +0 -25
- package/frontend/dist/ui/input.d.ts +0 -241
- package/frontend/dist/ui/loader_button.d.ts +0 -93
- package/frontend/dist/ui/loaders.d.ts +0 -57
- package/frontend/dist/ui/pseudo.d.ts +0 -16
- package/frontend/dist/ui/steps.d.ts +0 -59
- package/frontend/dist/ui/title.d.ts +0 -21
- package/frontend/dist/ui/title.js +0 -121
- package/frontend/examples/dashboard/dashboard.ts +0 -776
- /package/backend/dist/cjs/{cli.d.ts → backend/src/cli.d.ts} +0 -0
- /package/backend/dist/cjs/{file_watcher.d.ts → backend/src/database/document.d.ts} +0 -0
- /package/backend/dist/cjs/{file_watcher.js → backend/src/database/document.js} +0 -0
- /package/backend/dist/cjs/{plugins/pdf.d.ts → backend/src/database/filters/strict_filter_test.d.ts} +0 -0
- /package/backend/dist/{esm/file_watcher.d.ts → cjs/backend/src/database/filters/strict_filter_test_v0.d.ts} +0 -0
- /package/backend/dist/{esm/plugins/pdf.d.ts → cjs/backend/src/database/flatten_test.d.ts} +0 -0
- /package/backend/dist/cjs/{frontend.d.ts → backend/src/frontend.d.ts} +0 -0
- /package/backend/dist/cjs/{plugins → backend/src/plugins}/communication.d.ts +0 -0
- /package/backend/dist/cjs/{plugins → backend/src/plugins}/communication.js +0 -0
- /package/backend/dist/cjs/{plugins → backend/src/plugins}/mail/ui.js +0 -0
- /package/backend/dist/cjs/{plugins → backend/src/plugins}/pdf.js +0 -0
- /package/backend/dist/cjs/{plugins → backend/src/plugins}/thread_monitor.d.ts +0 -0
- /package/backend/dist/cjs/{plugins → backend/src/plugins}/thread_monitor.js +0 -0
- /package/backend/dist/cjs/{vinc.d.ts → backend/src/vinc.d.ts} +0 -0
- /package/backend/dist/cjs/{vinc.js → backend/src/vinc.js} +0 -0
- /package/backend/dist/esm/{cli.d.ts → backend/src/cli.d.ts} +0 -0
- /package/backend/dist/esm/{frontend.d.ts → backend/src/frontend.d.ts} +0 -0
- /package/backend/dist/esm/{plugins → backend/src/plugins}/communication.d.ts +0 -0
- /package/backend/dist/esm/{plugins → backend/src/plugins}/communication.js +0 -0
- /package/backend/dist/esm/{plugins → backend/src/plugins}/thread_monitor.d.ts +0 -0
- /package/backend/dist/esm/{plugins → backend/src/plugins}/thread_monitor.js +0 -0
- /package/backend/dist/esm/{vinc.d.ts → backend/src/vinc.d.ts} +0 -0
- /package/backend/dist/esm/{vinc.js → backend/src/vinc.js} +0 -0
- /package/frontend/dist/{elements → frontend/src/elements}/register_element.d.ts +0 -0
- /package/frontend/dist/{elements → frontend/src/elements}/register_element.js +0 -0
- /package/frontend/dist/{modules → frontend/src/modules}/color.d.ts +0 -0
- /package/frontend/dist/{ui → frontend/src/ui}/ui.d.ts +0 -0
- /package/frontend/dist/{ui → frontend/src/ui}/ui.js +0 -0
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @author Daan van den Bergh
|
|
3
|
+
* @copyright © 2022 - 2025 Daan van den Bergh.
|
|
4
|
+
*/
|
|
5
|
+
import { Db, MongoClient } from 'mongodb';
|
|
6
|
+
import * as mongodb from "mongodb";
|
|
7
|
+
import { Collection } from "./collection.js";
|
|
8
|
+
import type { Server } from "../server.js";
|
|
9
|
+
export declare namespace Database {
|
|
10
|
+
/** The database constructor options. */
|
|
11
|
+
interface Opts {
|
|
12
|
+
/** The database URI. */
|
|
13
|
+
uri: string;
|
|
14
|
+
/** The additional cient options. */
|
|
15
|
+
client?: mongodb.MongoClientOptions;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* The MongoDB database class, accessable under `Server.db`.
|
|
20
|
+
* @docs
|
|
21
|
+
* @nav Backend/Database
|
|
22
|
+
*/
|
|
23
|
+
export declare class Database {
|
|
24
|
+
static constructor_scheme: {
|
|
25
|
+
uri: {
|
|
26
|
+
type: string;
|
|
27
|
+
default: null;
|
|
28
|
+
};
|
|
29
|
+
client: {
|
|
30
|
+
type: string;
|
|
31
|
+
default: {};
|
|
32
|
+
};
|
|
33
|
+
_server: {
|
|
34
|
+
type: string[];
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
uri: string;
|
|
38
|
+
client_opts?: mongodb.MongoClientOptions;
|
|
39
|
+
server: Server;
|
|
40
|
+
client?: MongoClient;
|
|
41
|
+
_db?: Db;
|
|
42
|
+
collections: Map<string, Collection<any>>;
|
|
43
|
+
_listed_cols: any;
|
|
44
|
+
constructor({ uri, client, _server, }: Database.Opts & {
|
|
45
|
+
_server: Server;
|
|
46
|
+
});
|
|
47
|
+
db(): Promise<Db>;
|
|
48
|
+
connected: boolean;
|
|
49
|
+
private connect_promise?;
|
|
50
|
+
connect(): Promise<void>;
|
|
51
|
+
/** Initialize. */
|
|
52
|
+
initialize(): Promise<void>;
|
|
53
|
+
/** Ensure connection. */
|
|
54
|
+
ensure_connection(): Promise<void>;
|
|
55
|
+
close(): Promise<void>;
|
|
56
|
+
/**
|
|
57
|
+
* {Create Collection}
|
|
58
|
+
* Initialize database collection.
|
|
59
|
+
* @note When called multiple times with the same name, it will return the same cached collection.
|
|
60
|
+
* @param info.unique If true, an error will be thrown if the collection already exists.
|
|
61
|
+
* Defauls to `true`.
|
|
62
|
+
*/
|
|
63
|
+
collection<Data extends mongodb.Document = mongodb.Document>(info: string | (Omit<Collection.Opts<Data>, "db"> & {
|
|
64
|
+
unique?: boolean;
|
|
65
|
+
})): Collection<Data>;
|
|
66
|
+
}
|
|
@@ -21,29 +21,18 @@ __export(stdin_exports, {
|
|
|
21
21
|
});
|
|
22
22
|
module.exports = __toCommonJS(stdin_exports);
|
|
23
23
|
var import_mongodb = require("mongodb");
|
|
24
|
-
var import_logger = require("../logger.js");
|
|
25
24
|
var import_collection = require("./collection.js");
|
|
26
|
-
const { log } = import_logger.logger;
|
|
27
25
|
class Database {
|
|
28
26
|
static constructor_scheme = {
|
|
29
27
|
uri: { type: "string", default: null },
|
|
30
|
-
source: { type: "string", default: null },
|
|
31
|
-
config: { type: "object", default: {} },
|
|
32
|
-
start_args: { type: "array", default: [] },
|
|
33
28
|
client: { type: "object", default: {} },
|
|
34
|
-
collections: { type: "array", default: [], value_scheme: {
|
|
35
|
-
type: ["string", "object"],
|
|
36
|
-
preprocess: (info) => typeof info === "string" ? { name: info } : info,
|
|
37
|
-
scheme: {
|
|
38
|
-
name: import_collection.Collection.constructor_scheme.name,
|
|
39
|
-
ttl: import_collection.Collection.constructor_scheme.ttl,
|
|
40
|
-
indexes: import_collection.Collection.constructor_scheme.indexes
|
|
41
|
-
}
|
|
42
|
-
} },
|
|
43
|
-
preview: { type: "boolean", default: true },
|
|
44
|
-
preview_ip_whitelist: { type: "array", default: [] },
|
|
45
|
-
daemon: { type: ["object", "boolean"], default: {} },
|
|
46
29
|
_server: { type: ["object", "undefined"] }
|
|
30
|
+
// source: {type: "string", default: null},
|
|
31
|
+
// config: {type: "object", default: {}},
|
|
32
|
+
// start_args: {type: "array", default: []},
|
|
33
|
+
// preview: {type: "boolean", default: true},
|
|
34
|
+
// preview_ip_whitelist: {type: "array", default: []},
|
|
35
|
+
// daemon: {type: ["object", "boolean"], default: {}},
|
|
47
36
|
};
|
|
48
37
|
// Attributes.
|
|
49
38
|
uri;
|
|
@@ -52,7 +41,6 @@ class Database {
|
|
|
52
41
|
client;
|
|
53
42
|
_db;
|
|
54
43
|
collections = /* @__PURE__ */ new Map();
|
|
55
|
-
_connect_promise;
|
|
56
44
|
// System.
|
|
57
45
|
_listed_cols;
|
|
58
46
|
constructor({ uri, client, _server }) {
|
|
@@ -67,63 +55,80 @@ class Database {
|
|
|
67
55
|
}
|
|
68
56
|
// Connect.
|
|
69
57
|
connected = false;
|
|
58
|
+
connect_promise;
|
|
70
59
|
async connect() {
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
throw new Error("MongoDB client is not initialized.");
|
|
74
|
-
}
|
|
75
|
-
await this.client.connect();
|
|
76
|
-
this._db = this.client.db();
|
|
77
|
-
this.connected = true;
|
|
78
|
-
log(1, "Connected to the database.");
|
|
79
|
-
} catch (error) {
|
|
80
|
-
console.error(error);
|
|
81
|
-
throw new Error("Error connecting to the database");
|
|
60
|
+
if (this.connect_promise) {
|
|
61
|
+
return await this.connect_promise;
|
|
82
62
|
}
|
|
63
|
+
return this.connect_promise = new Promise(async (resolve, reject) => {
|
|
64
|
+
try {
|
|
65
|
+
if (this.client == null) {
|
|
66
|
+
throw new Error("MongoDB client is not initialized.");
|
|
67
|
+
}
|
|
68
|
+
await this.client.connect();
|
|
69
|
+
this._db = this.client.db();
|
|
70
|
+
this.connected = true;
|
|
71
|
+
this.server.log(1, "Connected to the database.");
|
|
72
|
+
} catch (error) {
|
|
73
|
+
this.server.log.error(error);
|
|
74
|
+
throw new Error("Error connecting to the database");
|
|
75
|
+
}
|
|
76
|
+
});
|
|
83
77
|
}
|
|
84
78
|
/** Initialize. */
|
|
85
79
|
async initialize() {
|
|
86
80
|
const opts = this.client_opts ?? {};
|
|
87
|
-
opts.serverApi ??= {
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
81
|
+
opts.serverApi ??= {
|
|
82
|
+
version: import_mongodb.ServerApiVersion.v1,
|
|
83
|
+
strict: true,
|
|
84
|
+
deprecationErrors: true
|
|
85
|
+
};
|
|
86
|
+
if (typeof opts.serverApi === "object") {
|
|
87
|
+
opts.serverApi.version ??= import_mongodb.ServerApiVersion.v1;
|
|
88
|
+
opts.serverApi.strict ??= true;
|
|
89
|
+
opts.serverApi.deprecationErrors ??= true;
|
|
90
|
+
}
|
|
91
|
+
opts.serverSelectionTimeoutMS = 1e3;
|
|
92
|
+
opts.connectTimeoutMS = 1e3;
|
|
91
93
|
this.client = new import_mongodb.MongoClient(this.uri, opts);
|
|
92
94
|
if (this.server.production === false) {
|
|
93
|
-
this.
|
|
95
|
+
this.connect();
|
|
94
96
|
} else {
|
|
95
97
|
await this.connect();
|
|
98
|
+
for (const col of this.collections.values()) {
|
|
99
|
+
await col.init();
|
|
100
|
+
}
|
|
96
101
|
}
|
|
97
102
|
}
|
|
98
103
|
/** Ensure connection. */
|
|
99
104
|
async ensure_connection() {
|
|
100
105
|
if (this.connected)
|
|
101
106
|
return;
|
|
102
|
-
if (this.
|
|
103
|
-
return this.
|
|
104
|
-
|
|
105
|
-
return this._connect_promise;
|
|
107
|
+
if (this.connect_promise)
|
|
108
|
+
return this.connect_promise;
|
|
109
|
+
return this.connect();
|
|
106
110
|
}
|
|
107
111
|
// Close.
|
|
108
112
|
async close() {
|
|
109
|
-
log(0, "Stopping the database.");
|
|
113
|
+
this.server.log(0, "Stopping the database.");
|
|
110
114
|
await this.client?.close();
|
|
115
|
+
this.connect_promise = void 0;
|
|
111
116
|
}
|
|
112
117
|
/**
|
|
113
118
|
* {Create Collection}
|
|
114
119
|
* Initialize database collection.
|
|
115
120
|
* @note When called multiple times with the same name, it will return the same cached collection.
|
|
116
121
|
* @param info.unique If true, an error will be thrown if the collection already exists.
|
|
117
|
-
*
|
|
122
|
+
* Defauls to `true`.
|
|
118
123
|
*/
|
|
119
|
-
|
|
124
|
+
collection(info) {
|
|
120
125
|
let name;
|
|
121
|
-
let unique =
|
|
126
|
+
let unique = true;
|
|
122
127
|
let args;
|
|
123
128
|
if (typeof info === "string") {
|
|
124
129
|
name = info;
|
|
125
130
|
} else {
|
|
126
|
-
unique = info.unique
|
|
131
|
+
unique = info.unique ?? true;
|
|
127
132
|
name = info.name;
|
|
128
133
|
args = info;
|
|
129
134
|
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __copyProps = (to, from, except, desc) => {
|
|
6
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
7
|
+
for (let key of __getOwnPropNames(from))
|
|
8
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
9
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
10
|
+
}
|
|
11
|
+
return to;
|
|
12
|
+
};
|
|
13
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
14
|
+
var stdin_exports = {};
|
|
15
|
+
module.exports = __toCommonJS(stdin_exports);
|
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
import type { ObjectId, Document as MongoDocument, WithId } from "mongodb";
|
|
2
|
+
type KnownKeys<T> = {
|
|
3
|
+
[K in keyof T]-?: string extends K ? never : number extends K ? never : symbol extends K ? never : K;
|
|
4
|
+
}[keyof T];
|
|
5
|
+
type Comparable = number | bigint | Date;
|
|
6
|
+
type Elem<T> = T extends readonly (infer U)[] ? U : never;
|
|
7
|
+
type IsArray<T> = T extends readonly any[] ? true : false;
|
|
8
|
+
type Defined<T> = Exclude<T, undefined>;
|
|
9
|
+
type Prev = [never, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
|
|
10
|
+
type Join<K, P> = K extends string | number ? P extends string | number ? `${K}.${P}` : never : never;
|
|
11
|
+
/** Dot paths over object properties, ignoring arrays. Depth default = 5. */
|
|
12
|
+
export type DotPaths<T, D extends number = 5> = [D] extends [never] ? never : T extends object ? {
|
|
13
|
+
[K in KnownKeys<T>]: T[K] extends object ? IsArray<T[K]> extends true ? K & string : (K & string) | Join<K & string, DotPaths<T[K], Prev[D]>> : K & string;
|
|
14
|
+
}[KnownKeys<T>] : never;
|
|
15
|
+
/** Value type at a given dot-path (subset handles up to depth ~5 cleanly). */
|
|
16
|
+
export type PathValue<T, P extends string> = P extends `${infer K}.${infer R}` ? K extends keyof T ? PathValue<T[K], R> : never : P extends keyof T ? T[P] : never;
|
|
17
|
+
export type BSONTypeName = "double" | "string" | "object" | "array" | "binData" | "undefined" | "objectId" | "bool" | "date" | "null" | "regex" | "dbPointer" | "javascript" | "symbol" | "javascriptWithScope" | "int" | "timestamp" | "long" | "decimal" | "minKey" | "maxKey";
|
|
18
|
+
export type BSONType = BSONTypeName | number;
|
|
19
|
+
export type Position = [number, number] | [number, number, number];
|
|
20
|
+
export type Point = {
|
|
21
|
+
type: "Point";
|
|
22
|
+
coordinates: Position;
|
|
23
|
+
};
|
|
24
|
+
export type LineString = {
|
|
25
|
+
type: "LineString";
|
|
26
|
+
coordinates: Position[];
|
|
27
|
+
};
|
|
28
|
+
export type Polygon = {
|
|
29
|
+
type: "Polygon";
|
|
30
|
+
coordinates: Position[][];
|
|
31
|
+
};
|
|
32
|
+
export type MultiPoint = {
|
|
33
|
+
type: "MultiPoint";
|
|
34
|
+
coordinates: Position[];
|
|
35
|
+
};
|
|
36
|
+
export type MultiLineString = {
|
|
37
|
+
type: "MultiLineString";
|
|
38
|
+
coordinates: Position[][];
|
|
39
|
+
};
|
|
40
|
+
export type MultiPolygon = {
|
|
41
|
+
type: "MultiPolygon";
|
|
42
|
+
coordinates: Position[][][];
|
|
43
|
+
};
|
|
44
|
+
export type Geometry = Point | LineString | Polygon | MultiPoint | MultiLineString | MultiPolygon;
|
|
45
|
+
type AllFieldPaths<T extends MongoDocument> = DotPaths<WithId<T>> | KnownKeys<WithId<T>>;
|
|
46
|
+
export type FieldRef<T extends MongoDocument> = `$${AllFieldPaths<T> & string}`;
|
|
47
|
+
type StrictExprString<T extends MongoDocument> = FieldRef<T> | (string extends infer S ? S extends `${string}` ? S extends FieldRef<T> ? S : never : S : never);
|
|
48
|
+
type NonStrictExprString<T extends MongoDocument, S> = S extends `$${infer Path}` ? Path extends AllFieldPaths<T> ? S : never : S;
|
|
49
|
+
type ExprValue<T extends MongoDocument> = number | boolean | null | Date | StrictExprString<T>;
|
|
50
|
+
/** Strict expression tree for `$expr`. */
|
|
51
|
+
export type Expr<T extends MongoDocument> = ExprValue<T> | Expr<T>[] | {
|
|
52
|
+
$add?: Expr<T>[];
|
|
53
|
+
$subtract?: [Expr<T>, Expr<T>];
|
|
54
|
+
$multiply?: Expr<T>[];
|
|
55
|
+
$divide?: [Expr<T>, Expr<T>];
|
|
56
|
+
$mod?: [Expr<T>, Expr<T>];
|
|
57
|
+
$eq?: [Expr<T>, Expr<T>];
|
|
58
|
+
$ne?: [Expr<T>, Expr<T>];
|
|
59
|
+
$gt?: [Expr<T>, Expr<T>];
|
|
60
|
+
$gte?: [Expr<T>, Expr<T>];
|
|
61
|
+
$lt?: [Expr<T>, Expr<T>];
|
|
62
|
+
$lte?: [Expr<T>, Expr<T>];
|
|
63
|
+
$and?: Expr<T>[];
|
|
64
|
+
$or?: Expr<T>[];
|
|
65
|
+
$not?: Expr<T>;
|
|
66
|
+
$concat?: Expr<T>[];
|
|
67
|
+
$size?: Expr<T>;
|
|
68
|
+
$in?: [Expr<T> | NonStrictExprString<T, string>, Expr<T>];
|
|
69
|
+
$toString?: Expr<T>;
|
|
70
|
+
$toInt?: Expr<T>;
|
|
71
|
+
$toDouble?: Expr<T>;
|
|
72
|
+
$toDecimal?: Expr<T>;
|
|
73
|
+
$toLong?: Expr<T>;
|
|
74
|
+
$toBool?: Expr<T>;
|
|
75
|
+
$toDate?: Expr<T>;
|
|
76
|
+
};
|
|
77
|
+
type BitwiseOps<T> = [T] extends [number | bigint] ? {
|
|
78
|
+
$bitsAllClear?: number;
|
|
79
|
+
$bitsAllSet?: number;
|
|
80
|
+
$bitsAnyClear?: number;
|
|
81
|
+
$bitsAnySet?: number;
|
|
82
|
+
} : {};
|
|
83
|
+
type NumericComparators<T> = [T] extends [Comparable] ? {
|
|
84
|
+
$gt?: T;
|
|
85
|
+
$gte?: T;
|
|
86
|
+
$lt?: T;
|
|
87
|
+
$lte?: T;
|
|
88
|
+
$mod?: T extends number | bigint ? [number, number] : never;
|
|
89
|
+
} : {};
|
|
90
|
+
/**
|
|
91
|
+
* String ops:
|
|
92
|
+
* - `$regex` optional overall, but `$options` is only legal when `$regex` is present.
|
|
93
|
+
*/
|
|
94
|
+
type StringRegexOps = {
|
|
95
|
+
$regex: RegExp | string;
|
|
96
|
+
$options?: string;
|
|
97
|
+
} | {
|
|
98
|
+
$regex?: undefined;
|
|
99
|
+
$options?: undefined;
|
|
100
|
+
};
|
|
101
|
+
type StringOps<T> = [T] extends [string] ? StringRegexOps : {};
|
|
102
|
+
type ArrayOps<T> = [T] extends [readonly any[]] ? {
|
|
103
|
+
$size?: number;
|
|
104
|
+
$all?: Elem<T>[];
|
|
105
|
+
$elemMatch?: Elem<T> extends object ? StrictFilter<Elem<T>> | FieldOperators<Elem<T>> : FieldOperators<Elem<T>>;
|
|
106
|
+
$in?: Elem<T>[];
|
|
107
|
+
$nin?: Elem<T>[];
|
|
108
|
+
} : {};
|
|
109
|
+
type ExistsOp = {
|
|
110
|
+
$exists?: boolean;
|
|
111
|
+
};
|
|
112
|
+
/**
|
|
113
|
+
* `$type` differs for string fields for driver-interop:
|
|
114
|
+
* - For string/regex fields, the mongodb driver narrows *`$type`* to **names only** (no numeric codes).
|
|
115
|
+
* - For other fields we allow both numeric codes and names.
|
|
116
|
+
*/
|
|
117
|
+
type TypeOpByField<T> = {
|
|
118
|
+
$type?: [Defined<T>] extends [string] ? BSONTypeName | BSONTypeName[] : BSONType | BSONType[];
|
|
119
|
+
};
|
|
120
|
+
/**
|
|
121
|
+
* For arrays, omit $in/$nin here to avoid the `string[][] & string[]` intersection.
|
|
122
|
+
* For union types, properly handle $in and $nin to accept arrays of the union values.
|
|
123
|
+
*/
|
|
124
|
+
type EqualityOps<T> = [T] extends [readonly any[]] ? {
|
|
125
|
+
$eq?: T;
|
|
126
|
+
$ne?: T;
|
|
127
|
+
} : {
|
|
128
|
+
$eq?: T;
|
|
129
|
+
$ne?: T;
|
|
130
|
+
$in?: T[];
|
|
131
|
+
$nin?: T[];
|
|
132
|
+
};
|
|
133
|
+
/** Geospatial operators (field-level) */
|
|
134
|
+
type GeoOps = {
|
|
135
|
+
$geoWithin?: {
|
|
136
|
+
$geometry: Geometry;
|
|
137
|
+
} | {
|
|
138
|
+
$box: [Position, Position];
|
|
139
|
+
} | {
|
|
140
|
+
$polygon: Position[];
|
|
141
|
+
} | {
|
|
142
|
+
$centerSphere: [Position, number];
|
|
143
|
+
};
|
|
144
|
+
$geoIntersects?: {
|
|
145
|
+
$geometry: Geometry;
|
|
146
|
+
};
|
|
147
|
+
/**
|
|
148
|
+
* `$near`/`$nearSphere`: accept only GeoJSON Point (+ optional distance bounds).
|
|
149
|
+
* (Unit tests expect raw coordinate arrays to be rejected.)
|
|
150
|
+
*/
|
|
151
|
+
$near?: Point & {
|
|
152
|
+
$maxDistance?: number;
|
|
153
|
+
$minDistance?: number;
|
|
154
|
+
};
|
|
155
|
+
$nearSphere?: Point & {
|
|
156
|
+
$maxDistance?: number;
|
|
157
|
+
$minDistance?: number;
|
|
158
|
+
};
|
|
159
|
+
};
|
|
160
|
+
/** Operators excluding equality — used as the inner type for $not */
|
|
161
|
+
type FieldOperatorsBase<T> = ExistsOp & TypeOpByField<T> & NumericComparators<Defined<T>> & StringOps<Defined<T>> & ArrayOps<T extends undefined ? never : T> & BitwiseOps<Defined<T>> & GeoOps;
|
|
162
|
+
type NotInner<T> = Omit<FieldOperatorsBase<T>, "$not">;
|
|
163
|
+
export type FieldOperators<T> = EqualityOps<Defined<T>> & FieldOperatorsBase<T> & {
|
|
164
|
+
/**
|
|
165
|
+
* Field-level $not wrapping EITHER a regex (only for string fields)
|
|
166
|
+
* OR any non-equality operators. (Equality inside $not is not allowed.)
|
|
167
|
+
*
|
|
168
|
+
* This shape also matches the driver's `FilterOperators<string | RegExp | BSONRegExp>`
|
|
169
|
+
* so `StrictFilter<T>` remains assignable to `mongodb.Filter<T>`.
|
|
170
|
+
*/
|
|
171
|
+
$not?: (Defined<T> extends string ? RegExp : never) | NotInner<Defined<T>>;
|
|
172
|
+
};
|
|
173
|
+
/** Value OR operators for a given field type.
|
|
174
|
+
* For strings, allow bare RegExp because the driver accepts `{ name: /x/ }`.
|
|
175
|
+
*/
|
|
176
|
+
export type FieldCondition<T> = [T] extends [string] ? string | RegExp | FieldOperators<T> : Defined<T> | FieldOperators<T>;
|
|
177
|
+
type IdField = {
|
|
178
|
+
_id?: ObjectId | FieldOperators<ObjectId>;
|
|
179
|
+
};
|
|
180
|
+
type FieldQueryMap<T extends MongoDocument> = {
|
|
181
|
+
[K in KnownKeys<T>]?: FieldCondition<T[K]>;
|
|
182
|
+
};
|
|
183
|
+
type DotPathQueryMap<T extends MongoDocument> = {
|
|
184
|
+
[P in DotPaths<T>]?: FieldCondition<PathValue<T, P>>;
|
|
185
|
+
};
|
|
186
|
+
/**
|
|
187
|
+
* Use `WithId<T>` in logicals for driver interop (driver defines logicals in terms of `Filter<WithId<T>>`).
|
|
188
|
+
* That lets `StrictFilter<T>` be assignable to `Filter<T>` and also makes arrays of `StrictFilter<T>`
|
|
189
|
+
* usable where the driver expects `Filter<WithId<T>>[]` (because `StrictFilter<T>` is a subtype).
|
|
190
|
+
*/
|
|
191
|
+
type LogicalOps<T extends MongoDocument> = {
|
|
192
|
+
$and?: StrictFilter<WithId<T>>[];
|
|
193
|
+
$or?: StrictFilter<WithId<T>>[];
|
|
194
|
+
$nor?: StrictFilter<WithId<T>>[];
|
|
195
|
+
};
|
|
196
|
+
/** Top-level evaluation-ish operators accepted by find() / $match */
|
|
197
|
+
type TopEvalOps<T extends MongoDocument> = {
|
|
198
|
+
$expr?: Expr<T>;
|
|
199
|
+
$jsonSchema?: unknown;
|
|
200
|
+
/**
|
|
201
|
+
* Accept a $where function compatible with both our tests (WithId<T>) and the driver
|
|
202
|
+
* (which spells it as WithId<WithId<T>>). The intersection makes it callable as either.
|
|
203
|
+
*/
|
|
204
|
+
$where?: string | (((this: WithId<T>) => boolean) & ((this: WithId<WithId<T>>) => boolean));
|
|
205
|
+
$text?: {
|
|
206
|
+
$search: string;
|
|
207
|
+
$language?: string;
|
|
208
|
+
$caseSensitive?: boolean;
|
|
209
|
+
$diacriticSensitive?: boolean;
|
|
210
|
+
};
|
|
211
|
+
$comment?: string;
|
|
212
|
+
};
|
|
213
|
+
/**
|
|
214
|
+
* StrictFilter<T>
|
|
215
|
+
* - Only allows T's declared keys (plus dot paths) and legal top-level operators.
|
|
216
|
+
* - Field operators strictly depend on the field type.
|
|
217
|
+
* - `$expr` has a strongly-typed expression tree with field refs limited to known paths.
|
|
218
|
+
* - Includes support for _id field which is always present in MongoDB documents.
|
|
219
|
+
*
|
|
220
|
+
* NOTE: No string index signatures anywhere — TS excess property checks will catch typos.
|
|
221
|
+
*/
|
|
222
|
+
export type StrictFilter<TSchema extends MongoDocument> = IdField & FieldQueryMap<TSchema> & DotPathQueryMap<TSchema> & LogicalOps<TSchema> & TopEvalOps<TSchema>;
|
|
223
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __copyProps = (to, from, except, desc) => {
|
|
6
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
7
|
+
for (let key of __getOwnPropNames(from))
|
|
8
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
9
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
10
|
+
}
|
|
11
|
+
return to;
|
|
12
|
+
};
|
|
13
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
14
|
+
var stdin_exports = {};
|
|
15
|
+
module.exports = __toCommonJS(stdin_exports);
|