@vandenberghinc/volt 1.2.6 → 1.2.8
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/.libris/config.json +82 -0
- package/backend/dist/cjs/backend/src/blacklist.d.ts +12 -0
- package/backend/dist/cjs/backend/src/blacklist.js +78 -0
- package/backend/dist/cjs/backend/src/cli.d.ts +2 -0
- package/backend/dist/cjs/backend/src/cli.js +198 -0
- package/backend/dist/cjs/backend/src/database/collection.d.ts +1765 -0
- package/backend/dist/cjs/backend/src/database/collection.js +3301 -0
- package/backend/dist/cjs/backend/src/database/database.d.ts +92 -0
- package/backend/dist/cjs/backend/src/database/database.js +170 -0
- package/backend/dist/cjs/backend/src/database/document.d.ts +1 -0
- package/backend/dist/cjs/backend/src/database/document.js +15 -0
- 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.d.ts +1 -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.d.ts +1 -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 +78 -0
- package/backend/dist/cjs/backend/src/database/flatten.js +53 -0
- package/backend/dist/cjs/backend/src/database/flatten_test.d.ts +1 -0
- package/backend/dist/cjs/backend/src/database/flatten_test.js +175 -0
- package/backend/dist/cjs/backend/src/database/quota/quoata_v2.d.ts +533 -0
- package/backend/dist/cjs/backend/src/database/quota/quoata_v2.js +1046 -0
- package/backend/dist/cjs/backend/src/database/quota/quota.d.ts +551 -0
- package/backend/dist/cjs/backend/src/database/quota/quota.js +1108 -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 +412 -0
- package/backend/dist/cjs/backend/src/database/quota/safe_int.js +745 -0
- package/backend/dist/cjs/backend/src/endpoint.d.ts +346 -0
- package/backend/dist/cjs/backend/src/endpoint.js +468 -0
- 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/cjs/backend/src/errors/internal_external.d.ts +52 -0
- package/backend/dist/cjs/backend/src/errors/internal_external.js +95 -0
- package/backend/dist/cjs/backend/src/errors/invalid_usage_error.d.ts +41 -0
- package/backend/dist/cjs/backend/src/errors/invalid_usage_error.js +47 -0
- package/backend/dist/cjs/backend/src/errors/system_error.d.ts +261 -0
- package/backend/dist/cjs/backend/src/errors/system_error.js +436 -0
- package/backend/dist/cjs/backend/src/events.d.ts +97 -0
- package/backend/dist/cjs/backend/src/events.js +15 -0
- package/backend/dist/cjs/backend/src/frontend.d.ts +13 -0
- package/backend/dist/cjs/backend/src/frontend.js +56 -0
- package/backend/dist/cjs/backend/src/image_endpoint.d.ts +44 -0
- package/backend/dist/cjs/backend/src/image_endpoint.js +185 -0
- package/backend/dist/cjs/backend/src/index.d.ts +23 -0
- package/backend/dist/cjs/backend/src/index.js +70 -0
- 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 +112 -0
- package/backend/dist/cjs/backend/src/meta.js +181 -0
- package/backend/dist/cjs/backend/src/payments/paddle.d.ts +329 -0
- package/backend/dist/cjs/backend/src/payments/paddle.js +1996 -0
- package/backend/dist/cjs/backend/src/payments/stripe/checkout.d.ts +113 -0
- package/backend/dist/cjs/backend/src/payments/stripe/checkout.js +295 -0
- package/backend/dist/cjs/backend/src/payments/stripe/customers.d.ts +17 -0
- package/backend/dist/cjs/backend/src/payments/stripe/customers.js +164 -0
- package/backend/dist/cjs/backend/src/payments/stripe/error.d.ts +74 -0
- package/backend/dist/cjs/backend/src/payments/stripe/error.js +64 -0
- package/backend/dist/cjs/backend/src/payments/stripe/events.d.ts +155 -0
- package/backend/dist/cjs/backend/src/payments/stripe/events.js +15 -0
- package/backend/dist/cjs/backend/src/payments/stripe/meters.d.ts +105 -0
- package/backend/dist/cjs/backend/src/payments/stripe/meters.js +230 -0
- package/backend/dist/cjs/backend/src/payments/stripe/payment_methods.d.ts +58 -0
- package/backend/dist/cjs/backend/src/payments/stripe/payment_methods.js +109 -0
- package/backend/dist/cjs/backend/src/payments/stripe/products.d.ts +519 -0
- package/backend/dist/cjs/backend/src/payments/stripe/products.js +650 -0
- package/backend/dist/cjs/backend/src/payments/stripe/stripe.d.ts +215 -0
- package/backend/dist/cjs/backend/src/payments/stripe/stripe.js +468 -0
- package/backend/dist/cjs/backend/src/payments/stripe/subscriptions.d.ts +172 -0
- package/backend/dist/cjs/backend/src/payments/stripe/subscriptions.js +557 -0
- package/backend/dist/cjs/backend/src/payments/stripe/utils.d.ts +63 -0
- package/backend/dist/cjs/backend/src/payments/stripe/utils.js +118 -0
- package/backend/dist/cjs/backend/src/payments/stripe/webhooks.d.ts +105 -0
- package/backend/dist/cjs/backend/src/payments/stripe/webhooks.js +627 -0
- 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/communication.d.ts +70 -0
- package/backend/dist/cjs/backend/src/plugins/communication.js +196 -0
- package/backend/dist/cjs/backend/src/plugins/mail/mail.d.ts +255 -0
- package/backend/dist/cjs/backend/src/plugins/mail/mail.js +381 -0
- package/backend/dist/cjs/backend/src/plugins/mail/ui.d.ts +297 -0
- package/backend/dist/cjs/backend/src/plugins/mail/ui.js +1370 -0
- package/backend/dist/cjs/backend/src/plugins/pdf.d.ts +1 -0
- package/backend/dist/cjs/backend/src/plugins/pdf.js +1456 -0
- package/backend/dist/cjs/backend/src/plugins/thread_monitor.d.ts +18 -0
- package/backend/dist/cjs/backend/src/plugins/thread_monitor.js +116 -0
- package/backend/dist/cjs/backend/src/rate_limit.d.ts +148 -0
- package/backend/dist/cjs/backend/src/rate_limit.js +543 -0
- package/backend/dist/cjs/backend/src/route.d.ts +39 -0
- package/backend/dist/cjs/backend/src/route.js +172 -0
- package/backend/dist/cjs/backend/src/server.d.ts +502 -0
- package/backend/dist/cjs/backend/src/server.js +1710 -0
- package/backend/dist/cjs/backend/src/server.old.d.ts +594 -0
- package/backend/dist/cjs/backend/src/server.old.js +2058 -0
- package/backend/dist/cjs/backend/src/splash_screen.d.ts +93 -0
- package/backend/dist/cjs/backend/src/splash_screen.js +119 -0
- package/backend/dist/cjs/backend/src/status.d.ts +89 -0
- package/backend/dist/cjs/backend/src/status.js +211 -0
- package/backend/dist/cjs/backend/src/stream.d.ts +494 -0
- package/backend/dist/cjs/backend/src/stream.js +1370 -0
- package/backend/dist/cjs/backend/src/users.d.ts +926 -0
- package/backend/dist/cjs/backend/src/users.js +2223 -0
- package/backend/dist/cjs/backend/src/utils.d.ts +22 -0
- package/backend/dist/cjs/backend/src/utils.js +626 -0
- package/backend/dist/cjs/backend/src/view.d.ts +115 -0
- package/backend/dist/cjs/backend/src/view.js +519 -0
- package/backend/dist/cjs/backend/src/vinc.d.ts +6 -0
- package/backend/dist/cjs/backend/src/vinc.js +40 -0
- package/backend/dist/cjs/backend/src/volt.d.ts +24 -0
- package/backend/dist/cjs/backend/src/volt.js +72 -0
- 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/cjs/package.json +1 -0
- package/backend/dist/esm/backend/src/blacklist.d.ts +12 -0
- package/backend/dist/esm/backend/src/blacklist.js +52 -0
- package/backend/dist/esm/backend/src/cli.d.ts +2 -0
- package/backend/dist/esm/backend/src/cli.js +211 -0
- package/backend/dist/esm/backend/src/database/collection.d.ts +1765 -0
- package/backend/dist/esm/backend/src/database/collection.js +3779 -0
- package/backend/dist/esm/backend/src/database/database.d.ts +92 -0
- package/backend/dist/esm/backend/src/database/database.js +214 -0
- 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 +415 -0
- package/backend/dist/esm/backend/src/database/flatten.d.ts +78 -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/quoata_v2.d.ts +533 -0
- package/backend/dist/esm/backend/src/database/quota/quoata_v2.js +1155 -0
- package/backend/dist/esm/backend/src/database/quota/quota.d.ts +551 -0
- package/backend/dist/esm/backend/src/database/quota/quota.js +1219 -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 +412 -0
- package/backend/dist/esm/backend/src/database/quota/safe_int.js +810 -0
- package/backend/dist/esm/backend/src/endpoint.d.ts +346 -0
- package/backend/dist/esm/backend/src/endpoint.js +479 -0
- 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/esm/backend/src/errors/internal_external.d.ts +52 -0
- package/backend/dist/esm/backend/src/errors/internal_external.js +86 -0
- package/backend/dist/esm/backend/src/errors/invalid_usage_error.d.ts +41 -0
- package/backend/dist/esm/backend/src/errors/invalid_usage_error.js +33 -0
- package/backend/dist/esm/backend/src/errors/system_error.d.ts +261 -0
- package/backend/dist/esm/backend/src/errors/system_error.js +444 -0
- package/backend/dist/esm/backend/src/events.d.ts +97 -0
- package/backend/dist/esm/backend/src/events.js +5 -0
- package/backend/dist/esm/backend/src/frontend.d.ts +13 -0
- package/backend/dist/esm/backend/src/frontend.js +23 -0
- package/backend/dist/esm/backend/src/image_endpoint.d.ts +44 -0
- package/backend/dist/esm/backend/src/image_endpoint.js +196 -0
- package/backend/dist/esm/backend/src/index.d.ts +23 -0
- package/backend/dist/esm/backend/src/index.js +26 -0
- 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 +112 -0
- package/backend/dist/esm/backend/src/meta.js +152 -0
- package/backend/dist/esm/backend/src/payments/paddle.d.ts +329 -0
- package/backend/dist/esm/backend/src/payments/paddle.js +2276 -0
- package/backend/dist/esm/backend/src/payments/stripe/checkout.d.ts +113 -0
- package/backend/dist/esm/backend/src/payments/stripe/checkout.js +356 -0
- package/backend/dist/esm/backend/src/payments/stripe/customers.d.ts +17 -0
- package/backend/dist/esm/backend/src/payments/stripe/customers.js +193 -0
- package/backend/dist/esm/backend/src/payments/stripe/error.d.ts +74 -0
- package/backend/dist/esm/backend/src/payments/stripe/error.js +51 -0
- package/backend/dist/esm/backend/src/payments/stripe/events.d.ts +155 -0
- package/backend/dist/esm/backend/src/payments/stripe/events.js +5 -0
- package/backend/dist/esm/backend/src/payments/stripe/meters.d.ts +105 -0
- package/backend/dist/esm/backend/src/payments/stripe/meters.js +318 -0
- package/backend/dist/esm/backend/src/payments/stripe/payment_methods.d.ts +58 -0
- package/backend/dist/esm/backend/src/payments/stripe/payment_methods.js +135 -0
- package/backend/dist/esm/backend/src/payments/stripe/products.d.ts +519 -0
- package/backend/dist/esm/backend/src/payments/stripe/products.js +896 -0
- package/backend/dist/esm/backend/src/payments/stripe/stripe.d.ts +215 -0
- package/backend/dist/esm/backend/src/payments/stripe/stripe.js +464 -0
- package/backend/dist/esm/backend/src/payments/stripe/subscriptions.d.ts +172 -0
- package/backend/dist/esm/backend/src/payments/stripe/subscriptions.js +754 -0
- package/backend/dist/esm/backend/src/payments/stripe/utils.d.ts +63 -0
- package/backend/dist/esm/backend/src/payments/stripe/utils.js +131 -0
- package/backend/dist/esm/backend/src/payments/stripe/webhooks.d.ts +105 -0
- package/backend/dist/esm/backend/src/payments/stripe/webhooks.js +752 -0
- 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/communication.d.ts +70 -0
- package/backend/dist/esm/backend/src/plugins/communication.js +169 -0
- package/backend/dist/esm/backend/src/plugins/mail/mail.d.ts +255 -0
- package/backend/dist/esm/backend/src/plugins/mail/mail.js +396 -0
- package/backend/dist/esm/backend/src/plugins/mail/ui.d.ts +297 -0
- package/backend/dist/esm/backend/src/plugins/mail/ui.js +1400 -0
- package/backend/dist/esm/backend/src/plugins/pdf.d.ts +1 -0
- package/backend/dist/esm/backend/src/plugins/pdf.js +1694 -0
- package/backend/dist/esm/backend/src/plugins/thread_monitor.d.ts +18 -0
- package/backend/dist/esm/backend/src/plugins/thread_monitor.js +120 -0
- package/backend/dist/esm/backend/src/rate_limit.d.ts +148 -0
- package/backend/dist/esm/backend/src/rate_limit.js +667 -0
- package/backend/dist/esm/backend/src/route.d.ts +39 -0
- package/backend/dist/esm/backend/src/route.js +222 -0
- package/backend/dist/esm/backend/src/server.d.ts +502 -0
- package/backend/dist/esm/backend/src/server.js +2031 -0
- package/backend/dist/esm/backend/src/server.old.d.ts +594 -0
- package/backend/dist/esm/backend/src/server.old.js +2630 -0
- package/backend/dist/esm/backend/src/splash_screen.d.ts +93 -0
- package/backend/dist/esm/backend/src/splash_screen.js +156 -0
- package/backend/dist/esm/backend/src/status.d.ts +89 -0
- package/backend/dist/esm/backend/src/status.js +213 -0
- package/backend/dist/esm/backend/src/stream.d.ts +494 -0
- package/backend/dist/esm/backend/src/stream.js +1611 -0
- package/backend/dist/esm/backend/src/users.d.ts +926 -0
- package/backend/dist/esm/backend/src/users.js +2423 -0
- package/backend/dist/esm/backend/src/utils.d.ts +22 -0
- package/backend/dist/esm/backend/src/utils.js +463 -0
- package/backend/dist/esm/backend/src/view.d.ts +115 -0
- package/backend/dist/esm/backend/src/view.js +584 -0
- package/backend/dist/esm/backend/src/vinc.d.ts +6 -0
- package/backend/dist/esm/backend/src/vinc.js +6 -0
- package/backend/dist/esm/backend/src/volt.d.ts +24 -0
- package/backend/dist/esm/backend/src/volt.js +27 -0
- package/backend/dist/esm/frontend/src/modules/request.d.ts +70 -0
- package/backend/dist/esm/frontend/src/modules/request.js +117 -0
- package/backend/old/file_watcher.ts +359 -0
- package/backend/old/request.deprc.js +626 -0
- package/backend/old/response.deprc.js +354 -0
- package/frontend/dist/backend/src/database/collection.d.ts +1765 -0
- package/frontend/dist/backend/src/database/collection.js +3779 -0
- package/frontend/dist/backend/src/database/database.d.ts +92 -0
- package/frontend/dist/backend/src/database/database.js +214 -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 +78 -0
- package/frontend/dist/backend/src/database/flatten.js +22 -0
- package/frontend/dist/backend/src/endpoint.d.ts +346 -0
- package/frontend/dist/backend/src/endpoint.js +479 -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 +52 -0
- package/frontend/dist/backend/src/errors/internal_external.js +86 -0
- package/frontend/dist/backend/src/errors/invalid_usage_error.d.ts +41 -0
- package/frontend/dist/backend/src/errors/invalid_usage_error.js +33 -0
- package/frontend/dist/backend/src/errors/system_error.d.ts +261 -0
- package/frontend/dist/backend/src/errors/system_error.js +444 -0
- package/frontend/dist/backend/src/events.d.ts +97 -0
- package/frontend/dist/backend/src/events.js +5 -0
- package/frontend/dist/backend/src/frontend.d.ts +13 -0
- package/frontend/dist/backend/src/frontend.js +23 -0
- package/frontend/dist/backend/src/image_endpoint.d.ts +44 -0
- package/frontend/dist/backend/src/image_endpoint.js +196 -0
- package/frontend/dist/backend/src/meta.d.ts +112 -0
- package/frontend/dist/backend/src/meta.js +152 -0
- package/frontend/dist/backend/src/payments/paddle.d.ts +329 -0
- package/frontend/dist/backend/src/payments/paddle.js +2276 -0
- package/frontend/dist/backend/src/payments/stripe/checkout.d.ts +113 -0
- package/frontend/dist/backend/src/payments/stripe/checkout.js +356 -0
- package/frontend/dist/backend/src/payments/stripe/customers.d.ts +17 -0
- package/frontend/dist/backend/src/payments/stripe/customers.js +193 -0
- package/frontend/dist/backend/src/payments/stripe/error.d.ts +74 -0
- package/frontend/dist/backend/src/payments/stripe/error.js +51 -0
- package/frontend/dist/backend/src/payments/stripe/events.d.ts +155 -0
- package/frontend/dist/backend/src/payments/stripe/events.js +5 -0
- package/frontend/dist/backend/src/payments/stripe/meters.d.ts +105 -0
- package/frontend/dist/backend/src/payments/stripe/meters.js +318 -0
- package/frontend/dist/backend/src/payments/stripe/payment_methods.d.ts +58 -0
- package/frontend/dist/backend/src/payments/stripe/payment_methods.js +135 -0
- package/frontend/dist/backend/src/payments/stripe/products.d.ts +519 -0
- package/frontend/dist/backend/src/payments/stripe/products.js +896 -0
- package/frontend/dist/backend/src/payments/stripe/stripe.d.ts +215 -0
- package/frontend/dist/backend/src/payments/stripe/stripe.js +464 -0
- package/frontend/dist/backend/src/payments/stripe/subscriptions.d.ts +172 -0
- package/frontend/dist/backend/src/payments/stripe/subscriptions.js +754 -0
- package/frontend/dist/backend/src/payments/stripe/utils.d.ts +63 -0
- package/frontend/dist/backend/src/payments/stripe/utils.js +131 -0
- package/frontend/dist/backend/src/payments/stripe/webhooks.d.ts +105 -0
- package/frontend/dist/backend/src/payments/stripe/webhooks.js +752 -0
- package/frontend/dist/backend/src/plugins/mail/mail.d.ts +255 -0
- package/frontend/dist/backend/src/plugins/mail/mail.js +396 -0
- package/frontend/dist/backend/src/plugins/mail/ui.d.ts +297 -0
- package/frontend/dist/backend/src/plugins/mail/ui.js +1400 -0
- package/frontend/dist/backend/src/rate_limit.d.ts +148 -0
- package/frontend/dist/backend/src/rate_limit.js +667 -0
- package/frontend/dist/backend/src/route.d.ts +39 -0
- package/frontend/dist/backend/src/route.js +222 -0
- package/frontend/dist/backend/src/server.d.ts +502 -0
- package/frontend/dist/backend/src/server.js +2031 -0
- package/frontend/dist/backend/src/splash_screen.d.ts +93 -0
- package/frontend/dist/backend/src/splash_screen.js +156 -0
- package/frontend/dist/backend/src/status.d.ts +89 -0
- package/frontend/dist/backend/src/status.js +213 -0
- package/frontend/dist/backend/src/stream.d.ts +494 -0
- package/frontend/dist/backend/src/stream.js +1611 -0
- package/frontend/dist/backend/src/users.d.ts +926 -0
- package/frontend/dist/backend/src/users.js +2423 -0
- package/frontend/dist/backend/src/utils.d.ts +22 -0
- package/frontend/dist/backend/src/utils.js +463 -0
- package/frontend/dist/backend/src/view.d.ts +115 -0
- package/frontend/dist/backend/src/view.js +584 -0
- package/frontend/dist/frontend/src/css/adyen.css +92 -0
- package/frontend/dist/frontend/src/css/volt.css +75 -0
- package/frontend/dist/frontend/src/elements/base.d.ts +3743 -0
- package/frontend/dist/frontend/src/elements/base.js +12151 -0
- package/frontend/dist/frontend/src/elements/module.d.ts +95 -0
- package/frontend/dist/frontend/src/elements/module.js +216 -0
- package/frontend/dist/frontend/src/elements/register_element.d.ts +3 -0
- package/frontend/dist/frontend/src/elements/register_element.js +22 -0
- package/frontend/dist/frontend/src/elements/resize_query_manager.d.ts +0 -0
- package/frontend/dist/frontend/src/elements/resize_query_manager.js +150 -0
- 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/index.d.ts +21 -0
- package/frontend/dist/frontend/src/index.js +29 -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/frontend/src/modules/color.d.ts +160 -0
- package/frontend/dist/frontend/src/modules/color.js +316 -0
- 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 +79 -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/frontend/src/modules/meta.js +48 -0
- package/frontend/dist/frontend/src/modules/paddle.d.ts +1207 -0
- package/frontend/dist/frontend/src/modules/paddle.js +2594 -0
- 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/frontend/src/modules/statics.js +43 -0
- package/frontend/dist/frontend/src/modules/stripe/cart.d.ts +112 -0
- package/frontend/dist/frontend/src/modules/stripe/cart.js +321 -0
- package/frontend/dist/frontend/src/modules/stripe/checkout.d.ts +7 -0
- package/frontend/dist/frontend/src/modules/stripe/checkout.js +37 -0
- package/frontend/dist/frontend/src/modules/stripe/index.m.d.ts +6 -0
- package/frontend/dist/frontend/src/modules/stripe/index.m.js +6 -0
- package/frontend/dist/frontend/src/modules/stripe/payments.d.ts +58 -0
- package/frontend/dist/frontend/src/modules/stripe/payments.js +92 -0
- package/frontend/dist/frontend/src/modules/support.d.ts +30 -0
- package/frontend/dist/frontend/src/modules/support.js +53 -0
- package/frontend/dist/frontend/src/modules/theme.d.ts +133 -0
- package/frontend/dist/frontend/src/modules/theme.js +406 -0
- 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 +270 -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/frontend/src/types/gradient.js +79 -0
- package/frontend/dist/frontend/src/ui/border_button.d.ts +94 -0
- package/frontend/dist/frontend/src/ui/border_button.js +228 -0
- package/frontend/dist/frontend/src/ui/button.d.ts +241 -0
- package/frontend/dist/frontend/src/ui/button.js +682 -0
- package/frontend/dist/frontend/src/ui/canvas.d.ts +138 -0
- package/frontend/dist/frontend/src/ui/canvas.js +444 -0
- package/frontend/dist/frontend/src/ui/checkbox.d.ts +74 -0
- package/frontend/dist/frontend/src/ui/checkbox.js +321 -0
- package/frontend/dist/frontend/src/ui/code.d.ts +235 -0
- package/frontend/dist/frontend/src/ui/code.js +1007 -0
- package/frontend/dist/frontend/src/ui/context_menu.d.ts +36 -0
- package/frontend/dist/frontend/src/ui/context_menu.js +205 -0
- package/frontend/dist/frontend/src/ui/css.d.ts +16 -0
- package/frontend/dist/frontend/src/ui/css.js +48 -0
- package/frontend/dist/frontend/src/ui/divider.d.ts +15 -0
- package/frontend/dist/frontend/src/ui/divider.js +78 -0
- package/frontend/dist/frontend/src/ui/dropdown.d.ts +176 -0
- package/frontend/dist/frontend/src/ui/dropdown.js +481 -0
- package/frontend/dist/frontend/src/ui/for_each.d.ts +37 -0
- package/frontend/dist/frontend/src/ui/for_each.js +92 -0
- package/frontend/dist/frontend/src/ui/form.d.ts +34 -0
- package/frontend/dist/frontend/src/ui/form.js +233 -0
- package/frontend/dist/frontend/src/ui/frame_modes.d.ts +37 -0
- package/frontend/dist/frontend/src/ui/frame_modes.js +108 -0
- package/frontend/dist/frontend/src/ui/google_map.d.ts +24 -0
- package/frontend/dist/frontend/src/ui/google_map.js +106 -0
- package/frontend/dist/frontend/src/ui/gradient.d.ts +25 -0
- package/frontend/dist/frontend/src/ui/gradient.js +131 -0
- package/frontend/dist/frontend/src/ui/image.d.ts +111 -0
- package/frontend/dist/frontend/src/ui/image.js +576 -0
- package/frontend/dist/frontend/src/ui/input.d.ts +392 -0
- package/frontend/dist/frontend/src/ui/input.js +1201 -0
- package/frontend/dist/frontend/src/ui/link.d.ts +25 -0
- package/frontend/dist/frontend/src/ui/link.js +140 -0
- package/frontend/dist/frontend/src/ui/list.d.ts +37 -0
- package/frontend/dist/frontend/src/ui/list.js +170 -0
- package/frontend/dist/frontend/src/ui/loader_button.d.ts +80 -0
- package/frontend/dist/frontend/src/ui/loader_button.js +193 -0
- package/frontend/dist/frontend/src/ui/loaders.d.ts +57 -0
- package/frontend/dist/frontend/src/ui/loaders.js +157 -0
- package/frontend/dist/frontend/src/ui/popup.d.ts +94 -0
- package/frontend/dist/frontend/src/ui/popup.js +510 -0
- package/frontend/dist/frontend/src/ui/pseudo.d.ts +44 -0
- package/frontend/dist/frontend/src/ui/pseudo.js +154 -0
- package/frontend/dist/frontend/src/ui/scroller.d.ts +105 -0
- package/frontend/dist/frontend/src/ui/scroller.js +1253 -0
- package/frontend/dist/frontend/src/ui/slider.d.ts +45 -0
- package/frontend/dist/frontend/src/ui/slider.js +217 -0
- package/frontend/dist/frontend/src/ui/spacer.d.ts +15 -0
- package/frontend/dist/frontend/src/ui/spacer.js +78 -0
- package/frontend/dist/frontend/src/ui/span.d.ts +15 -0
- package/frontend/dist/frontend/src/ui/span.js +73 -0
- package/frontend/dist/frontend/src/ui/stack.d.ts +66 -0
- package/frontend/dist/frontend/src/ui/stack.js +335 -0
- package/frontend/dist/frontend/src/ui/steps.d.ts +131 -0
- package/frontend/dist/frontend/src/ui/steps.js +308 -0
- package/frontend/dist/frontend/src/ui/style.d.ts +17 -0
- package/frontend/dist/frontend/src/ui/style.js +73 -0
- package/frontend/dist/frontend/src/ui/switch.d.ts +69 -0
- package/frontend/dist/frontend/src/ui/switch.js +357 -0
- package/frontend/dist/frontend/src/ui/table.d.ts +100 -0
- package/frontend/dist/frontend/src/ui/table.js +405 -0
- package/frontend/dist/frontend/src/ui/tabs.d.ts +111 -0
- package/frontend/dist/frontend/src/ui/tabs.js +424 -0
- package/frontend/dist/frontend/src/ui/text.d.ts +15 -0
- package/frontend/dist/frontend/src/ui/text.js +83 -0
- package/frontend/dist/frontend/src/ui/title.d.ts +91 -0
- package/frontend/dist/frontend/src/ui/title.js +272 -0
- package/frontend/dist/frontend/src/ui/ui.d.ts +35 -0
- package/frontend/dist/frontend/src/ui/ui.js +38 -0
- package/frontend/dist/frontend/src/ui/view.d.ts +15 -0
- package/frontend/dist/frontend/src/ui/view.js +88 -0
- package/frontend/dist/frontend/src/volt.d.ts +20 -0
- package/frontend/dist/frontend/src/volt.js +27 -0
- package/frontend/examples/theme/theme.ts +58 -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/frontend/tools/scan_mixed_imports.js +69 -0
- package/package.json +1 -5
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @author Daan van den Bergh
|
|
3
|
+
* @copyright © 2022 - 2025 Daan van den Bergh.
|
|
4
|
+
*/
|
|
5
|
+
import type { Server } from "../../../backend/src/server.js";
|
|
6
|
+
import type { APIError } from "../../../backend/src/stream.js";
|
|
7
|
+
export declare namespace Request {
|
|
8
|
+
/** The method type. */
|
|
9
|
+
export type Method = "GET" | "POST" | "PUT" | "DELETE" | "PATCH" | "HEAD" | "OPTIONS";
|
|
10
|
+
/** The response data template base. */
|
|
11
|
+
type ResponseBodyBase = unknown | null | undefined | number | boolean | string | any[] | Record<string, any>;
|
|
12
|
+
/** The request data template base. */
|
|
13
|
+
type RequestBodyBase = unknown | null | undefined | string | Record<string, any>;
|
|
14
|
+
/**
|
|
15
|
+
* The detailed generic type for providing info for the {@link request} function.
|
|
16
|
+
*/
|
|
17
|
+
export type Info<Method extends Request.Method, Endpoint extends string | RegExp, ParamsBody extends RequestBodyBase, SuccessBody extends ResponseBodyBase, ErrorBody extends ResponseBodyBase> = {
|
|
18
|
+
/** The HTTP method for the request. */
|
|
19
|
+
method: Method;
|
|
20
|
+
/** The route's endpoint or full url with domain, string or regex. */
|
|
21
|
+
endpoint: Endpoint;
|
|
22
|
+
/** The request payload (body) type. */
|
|
23
|
+
payload: ParamsBody;
|
|
24
|
+
/** The success result body type. */
|
|
25
|
+
result: SuccessBody;
|
|
26
|
+
/** The error result body type. */
|
|
27
|
+
error: ErrorBody;
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Create request info from a registered endpoint.
|
|
31
|
+
*/
|
|
32
|
+
export type InfoFromEndpoint<E extends Server.RegisteredEndpoint<any, any, any>, SuccessBody extends ResponseBodyBase = undefined, ErrorBody extends ResponseBodyBase = undefined> = E extends Server.RegisteredEndpoint<infer M, infer EP, infer P> ? Info<M extends undefined ? "GET" : M extends Method ? M : never, EP extends string ? EP : never, P, SuccessBody, ErrorBody> : never;
|
|
33
|
+
/** The request options. */
|
|
34
|
+
export interface Opts<Method extends Request.Method = "GET", Url extends string | RegExp = string, // use regex for backend support.
|
|
35
|
+
RequestBody extends RequestBodyBase = unknown> {
|
|
36
|
+
method?: Method;
|
|
37
|
+
url: Url;
|
|
38
|
+
data?: RequestBody;
|
|
39
|
+
json?: boolean;
|
|
40
|
+
credentials?: RequestCredentials;
|
|
41
|
+
headers?: Record<string, string>;
|
|
42
|
+
}
|
|
43
|
+
/** The returned result */
|
|
44
|
+
export type Result<SuccessBody extends ResponseBodyBase = unknown, ErrorBody extends ResponseBodyBase = unknown> = {
|
|
45
|
+
/** The request status. */
|
|
46
|
+
status: number;
|
|
47
|
+
} & ({
|
|
48
|
+
/** The api error from the backend {@link Stream.error}. */
|
|
49
|
+
error: APIError;
|
|
50
|
+
/** The error response body, always optional in case of body parsing failure. */
|
|
51
|
+
data?: ErrorBody;
|
|
52
|
+
} | {
|
|
53
|
+
/** The success response body. */
|
|
54
|
+
data: SuccessBody;
|
|
55
|
+
/** No API error from the backend {@link Stream.error} was found. */
|
|
56
|
+
error?: never;
|
|
57
|
+
});
|
|
58
|
+
/** The returned result by endpoint {@link Info} */
|
|
59
|
+
export type ResultFromInfo<Info extends Request.Info<any, any, any, any, any>> = Info extends Request.Info<any, any, any, infer S, infer E> ? Result<S, E> : never;
|
|
60
|
+
/** A promise to {@link Result}, for convenience. */
|
|
61
|
+
export type ResultPromise<SuccessBody extends ResponseBodyBase = unknown, ErrorBody extends ResponseBodyBase = unknown> = Promise<Result<SuccessBody, ErrorBody>>;
|
|
62
|
+
/** A promise to {@link Result} from endpoint {@link Info}, for convenience. */
|
|
63
|
+
export type ResultPromiseFromInfo<Info extends Request.Info<any, any, any, any, any>> = Info extends Request.Info<any, any, any, infer S, infer E> ? Promise<Result<S, E>> : never;
|
|
64
|
+
export {};
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Make a request with a specific generic typing, optionally passing
|
|
68
|
+
* the request method, endpoint, request body and response body types.
|
|
69
|
+
*/
|
|
70
|
+
export declare function request<Info extends Request.Info<any, any, any, any, any>>(options: Info extends Request.Info<infer M, infer E, infer P, any, any> ? Request.Opts<M, E, P> : never): Promise<Info extends Request.Info<any, any, any, infer S, infer E> ? Request.Result<S, E> : never>;
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @author Daan van den Bergh
|
|
3
|
+
* @copyright © 2022 - 2025 Daan van den Bergh.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Make a request with a specific generic typing, optionally passing
|
|
7
|
+
* the request method, endpoint, request body and response body types.
|
|
8
|
+
*/
|
|
9
|
+
export async function request(options) {
|
|
10
|
+
const { method = 'GET', url = null, data = null, json = true, credentials = "same-origin", headers = {}, } = options;
|
|
11
|
+
if (url instanceof RegExp) {
|
|
12
|
+
throw Error("The 'url' parameter cannot be a RegExp.");
|
|
13
|
+
}
|
|
14
|
+
// — prepare headers —
|
|
15
|
+
if (json && data != null && !headers['Content-Type']) {
|
|
16
|
+
headers['Content-Type'] = 'application/json';
|
|
17
|
+
}
|
|
18
|
+
// — build URL + body —
|
|
19
|
+
let finalUrl = url;
|
|
20
|
+
let body;
|
|
21
|
+
if (data != null && typeof data === 'object') {
|
|
22
|
+
if (method.toUpperCase() === 'GET') {
|
|
23
|
+
// @todo do without any cast.
|
|
24
|
+
finalUrl = `${url}?${new URLSearchParams(data).toString()}`;
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
body = JSON.stringify(data);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
else if (data != null) {
|
|
31
|
+
body = String(data);
|
|
32
|
+
}
|
|
33
|
+
const init = { method, credentials, headers };
|
|
34
|
+
if (body !== undefined)
|
|
35
|
+
init.body = body;
|
|
36
|
+
try {
|
|
37
|
+
const response = await fetch(finalUrl, init);
|
|
38
|
+
const status = response.status;
|
|
39
|
+
// — parse payload once —
|
|
40
|
+
let payload;
|
|
41
|
+
const clone = response.clone(); // @dev.
|
|
42
|
+
if (json) {
|
|
43
|
+
try {
|
|
44
|
+
payload = await response.json();
|
|
45
|
+
}
|
|
46
|
+
catch (e) {
|
|
47
|
+
// malformed JSON still counts as a “success” fetch
|
|
48
|
+
console.log("[debug] Unable to parse a json from response:", await clone.text(), "- Error: ", JSON.stringify(e, null, 4));
|
|
49
|
+
console.log("[debug] Response:", response);
|
|
50
|
+
return {
|
|
51
|
+
status,
|
|
52
|
+
error: { message: `Failed to parse JSON response: ${e.message}` },
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
try {
|
|
58
|
+
payload = await response.text();
|
|
59
|
+
}
|
|
60
|
+
catch (e) {
|
|
61
|
+
return {
|
|
62
|
+
status,
|
|
63
|
+
error: { message: `Failed to parse text response: ${e.message}` },
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
// console.log("Payload", json, payload)
|
|
68
|
+
// — handle HTTP errors (4xx/5xx) by resolving with an error object —
|
|
69
|
+
if (!response.ok) {
|
|
70
|
+
// if server wrapped its error in { error: { message, type?, invalid_fields? }, … }
|
|
71
|
+
if (payload &&
|
|
72
|
+
typeof payload === 'object' &&
|
|
73
|
+
payload.error &&
|
|
74
|
+
typeof payload.error === 'object' &&
|
|
75
|
+
typeof payload.error.message === 'string') {
|
|
76
|
+
return {
|
|
77
|
+
status,
|
|
78
|
+
error: {
|
|
79
|
+
message: payload.error.message,
|
|
80
|
+
type: typeof payload.error.type === "string" ? payload.error.type : undefined,
|
|
81
|
+
invalid_fields: payload.error.invalid_fields && typeof payload.error.invalid_fields === "object" && !Array.isArray(payload.error.invalid_fields)
|
|
82
|
+
? payload.error.invalid_fields
|
|
83
|
+
: undefined,
|
|
84
|
+
},
|
|
85
|
+
data: payload.data,
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
// otherwise fall back to a generic single‐message error
|
|
89
|
+
const msg = typeof payload === 'string'
|
|
90
|
+
? payload
|
|
91
|
+
: payload?.error?.toString() ?? JSON.stringify(payload);
|
|
92
|
+
return {
|
|
93
|
+
status,
|
|
94
|
+
error: { message: msg },
|
|
95
|
+
data: payload.data,
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
// — 2xx: success —
|
|
99
|
+
return { status, data: payload };
|
|
100
|
+
}
|
|
101
|
+
catch (networkErr) {
|
|
102
|
+
// genuine network / system failure
|
|
103
|
+
throw networkErr;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
;
|
|
107
|
+
// void request<{
|
|
108
|
+
// method: "GET",
|
|
109
|
+
// endpoint: "/example",
|
|
110
|
+
// payload: { id: string },
|
|
111
|
+
// result: { name: string, age: number },
|
|
112
|
+
// error: { reason: string }
|
|
113
|
+
// }>({
|
|
114
|
+
// method: "GET",
|
|
115
|
+
// url: "/example",
|
|
116
|
+
// data: { id: "123" }
|
|
117
|
+
// })
|
|
@@ -0,0 +1,359 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Author: Daan van den Bergh
|
|
3
|
+
* Copyright: © 2022 - 2024 Daan van den Bergh.
|
|
4
|
+
* @deprecated use tsc & nodemon instead.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
// // ---------------------------------------------------------
|
|
8
|
+
// // Libraries.
|
|
9
|
+
|
|
10
|
+
// import * as fs from "fs";
|
|
11
|
+
// import * as path from "path";
|
|
12
|
+
// import { spawn, type ChildProcess } from "child_process";
|
|
13
|
+
// import * as vlib from "@vandenberghinc/vlib";
|
|
14
|
+
// import { BrowserPreview } from "./plugins/browser.js";
|
|
15
|
+
// import { logger, LogSource } from "./logger.js";
|
|
16
|
+
|
|
17
|
+
// // ---------------------------------------------------------
|
|
18
|
+
// // Static endpoints file watcher watcher only used for checking static files with reloads.
|
|
19
|
+
|
|
20
|
+
// class StaticFileWatcher {
|
|
21
|
+
// private server: any;
|
|
22
|
+
// private mtimes: Map<string, number>;
|
|
23
|
+
// private endpoints: Map<string, any>;
|
|
24
|
+
// // @ts-ignore
|
|
25
|
+
// private log_source: LogSource;
|
|
26
|
+
// private interval: NodeJS.Timeout | undefined;
|
|
27
|
+
|
|
28
|
+
// constructor(server: any) {
|
|
29
|
+
// this.server = server;
|
|
30
|
+
// this.mtimes = new Map();
|
|
31
|
+
// this.endpoints = new Map();
|
|
32
|
+
// this.log_source = new LogSource("StaticFileWatcher");
|
|
33
|
+
// }
|
|
34
|
+
|
|
35
|
+
// async start(): Promise<void> {
|
|
36
|
+
// // Set interval.
|
|
37
|
+
// this.interval = setInterval(async () => {
|
|
38
|
+
// // Changed endpoints.
|
|
39
|
+
// const changed_endpoints: string[] = [];
|
|
40
|
+
// let changed_aspect_ratio = false;
|
|
41
|
+
|
|
42
|
+
// // Check file paths.
|
|
43
|
+
// for (const endpoint of this.endpoints.values()) {
|
|
44
|
+
// if (endpoint._path && !endpoint.view?.is_js_ts_view) {
|
|
45
|
+
// const path = new vlib.Path(endpoint._path);
|
|
46
|
+
// if (path.mtime !== this.mtimes.get(endpoint._path)) {
|
|
47
|
+
// if (this.mtimes.get(endpoint._path) != null) {
|
|
48
|
+
// logger.log(1, `Refreshing endpoint ${endpoint.method}:${endpoint.endpoint}.`)
|
|
49
|
+
|
|
50
|
+
// // Image.
|
|
51
|
+
// if (endpoint.is_image_endpoint) {
|
|
52
|
+
// endpoint._clear_cache();
|
|
53
|
+
// const aspect_ratio = await endpoint.get_aspect_ratio()
|
|
54
|
+
// if (aspect_ratio && this.server.statics_aspect_ratios.get(endpoint.endpoint) !== aspect_ratio) {
|
|
55
|
+
// changed_aspect_ratio = true;
|
|
56
|
+
// this.server.statics_aspect_ratios.set(endpoint.endpoint, aspect_ratio);
|
|
57
|
+
// }
|
|
58
|
+
// }
|
|
59
|
+
|
|
60
|
+
// // Static file.
|
|
61
|
+
// else if (endpoint.view == null) {
|
|
62
|
+
// endpoint._load_data_by_path(this.server);
|
|
63
|
+
// changed_endpoints.push(endpoint.endpoint);
|
|
64
|
+
// }
|
|
65
|
+
|
|
66
|
+
// // Refresh browser.
|
|
67
|
+
// if (this.server.browser_preview) {
|
|
68
|
+
// await this.server.browser_preview.refresh(endpoint.endpoint);
|
|
69
|
+
// }
|
|
70
|
+
// }
|
|
71
|
+
// this.mtimes.set(endpoint._path, path.mtime);
|
|
72
|
+
// }
|
|
73
|
+
// }
|
|
74
|
+
// }
|
|
75
|
+
|
|
76
|
+
// // Iterate all endpoints using view to check if any included scripts have changed.
|
|
77
|
+
// for (const endpoint of this.endpoints.values()) {
|
|
78
|
+
// if (endpoint.view && !endpoint.view?.is_js_ts_view) {
|
|
79
|
+
// let changed = changed_aspect_ratio;
|
|
80
|
+
// if (!changed && changed_endpoints.length > 0) {
|
|
81
|
+
// changed = endpoint.view._embedded_sources.some(url => {
|
|
82
|
+
// return changed_endpoints.includes(url);
|
|
83
|
+
// });
|
|
84
|
+
// }
|
|
85
|
+
// if (changed) {
|
|
86
|
+
// logger.log(1, `Refreshing endpoint ${endpoint.method}:${endpoint.endpoint}.`)
|
|
87
|
+
// endpoint._refresh(this.server)
|
|
88
|
+
// if (this.server.browser_preview) {
|
|
89
|
+
// await this.server.browser_preview.refresh(endpoint.endpoint);
|
|
90
|
+
// }
|
|
91
|
+
// }
|
|
92
|
+
// }
|
|
93
|
+
// }
|
|
94
|
+
// }, 500)
|
|
95
|
+
// }
|
|
96
|
+
|
|
97
|
+
// add(endpoint: any): void {
|
|
98
|
+
// if (endpoint._path) {
|
|
99
|
+
// this.mtimes.set(endpoint._path, new vlib.Path(endpoint._path).mtime)
|
|
100
|
+
// }
|
|
101
|
+
// this.endpoints.set(endpoint.endpoint, endpoint);
|
|
102
|
+
// }
|
|
103
|
+
|
|
104
|
+
// has(endpoint: string): boolean {
|
|
105
|
+
// return this.endpoints.has(endpoint);
|
|
106
|
+
// }
|
|
107
|
+
|
|
108
|
+
// stop(): void {
|
|
109
|
+
// if (this.interval) {
|
|
110
|
+
// clearInterval(this.interval)
|
|
111
|
+
// }
|
|
112
|
+
// }
|
|
113
|
+
// }
|
|
114
|
+
|
|
115
|
+
// // ---------------------------------------------------------
|
|
116
|
+
// // File watcher watching entire files and restarting when needed.
|
|
117
|
+
|
|
118
|
+
// /* @docs:
|
|
119
|
+
// @chapter: Server
|
|
120
|
+
// @title: FileWatcher
|
|
121
|
+
// @description:
|
|
122
|
+
// Used to watch all included files and restart the server when any changes have been made.
|
|
123
|
+
|
|
124
|
+
// @parameter:
|
|
125
|
+
// @name: source
|
|
126
|
+
// @description: The path to the source directory to watch.
|
|
127
|
+
// @type: string
|
|
128
|
+
// @parameter:
|
|
129
|
+
// @name: config
|
|
130
|
+
// @description: The path to the server's configuration file.
|
|
131
|
+
// @type: string
|
|
132
|
+
// @parameter:
|
|
133
|
+
// @name: interval
|
|
134
|
+
// @description: The interval in milliseconds between file change checks.
|
|
135
|
+
// @type: number
|
|
136
|
+
// @parameter:
|
|
137
|
+
// @name: start_file
|
|
138
|
+
// @description: The optional start js file to start the server.
|
|
139
|
+
// @type: string
|
|
140
|
+
// */
|
|
141
|
+
// class FileWatcher {
|
|
142
|
+
// private source: string;
|
|
143
|
+
// private config?: string;
|
|
144
|
+
// private interval: number;
|
|
145
|
+
// private excluded: string[];
|
|
146
|
+
// private additional_paths: string[];
|
|
147
|
+
// private start_file?: string;
|
|
148
|
+
// // @ts-ignore
|
|
149
|
+
// private log_source: LogSource;
|
|
150
|
+
// private args: string[];
|
|
151
|
+
// private mtimes: Record<string, number>;
|
|
152
|
+
// public promise: Promise<any>;
|
|
153
|
+
// private proc!: ChildProcess;
|
|
154
|
+
// private has_changed: boolean = false;
|
|
155
|
+
// private _com_file?: any;
|
|
156
|
+
|
|
157
|
+
// constructor({
|
|
158
|
+
// source,
|
|
159
|
+
// config = undefined,
|
|
160
|
+
// interval = 750,
|
|
161
|
+
// excluded = [],
|
|
162
|
+
// additional_paths = [],
|
|
163
|
+
// start_file = undefined,
|
|
164
|
+
// }: {
|
|
165
|
+
// source: vlib.Path | string,
|
|
166
|
+
// config?: string,
|
|
167
|
+
// interval?: number,
|
|
168
|
+
// excluded?: string[],
|
|
169
|
+
// additional_paths?: string[],
|
|
170
|
+
// start_file?: string,
|
|
171
|
+
// }) {
|
|
172
|
+
// // Arguments.
|
|
173
|
+
// // this.source = source == null ? source : new vlib.Path(source).abs().str();
|
|
174
|
+
// this.config = config;
|
|
175
|
+
// this.interval = interval;
|
|
176
|
+
// this.excluded = excluded ?? [];
|
|
177
|
+
// this.excluded = this.excluded.filter(Boolean).map(path => new vlib.Path(path).abs().str())
|
|
178
|
+
// this.start_file = start_file;
|
|
179
|
+
|
|
180
|
+
// // Check source.
|
|
181
|
+
// if (source) {
|
|
182
|
+
// source = new vlib.Path(source).abs().str();
|
|
183
|
+
// }
|
|
184
|
+
// if ((source as any) instanceof vlib.Path) {
|
|
185
|
+
// source = (source as any).str();
|
|
186
|
+
// }
|
|
187
|
+
// this.source = source as string;
|
|
188
|
+
// if (this.source == null) {
|
|
189
|
+
// throw Error("Define argument: source.");
|
|
190
|
+
// }
|
|
191
|
+
// this.log_source = new LogSource("FileWatcher");
|
|
192
|
+
|
|
193
|
+
// // Check if the excluded paths exist for user mistakes, these happen often.
|
|
194
|
+
// this.excluded.forEach(path => {
|
|
195
|
+
// if (!new vlib.Path(path).exists()) {
|
|
196
|
+
// logger.warn(1, `Excluded file watcher path ${path} does not exist.`);
|
|
197
|
+
// }
|
|
198
|
+
// })
|
|
199
|
+
|
|
200
|
+
// // Attributes.
|
|
201
|
+
// this.additional_paths = additional_paths.map(path => new vlib.Path(path).abs().str());
|
|
202
|
+
// this.args = [];
|
|
203
|
+
// this.mtimes = {};
|
|
204
|
+
// this.promise = new Promise(() => {});
|
|
205
|
+
// }
|
|
206
|
+
|
|
207
|
+
// // Add path.
|
|
208
|
+
// add_path(path: string | vlib.Path): void {
|
|
209
|
+
// try {
|
|
210
|
+
// const add = new vlib.Path(path).abs().str();
|
|
211
|
+
// logger.log(2, "Add file watcher exclude", add)
|
|
212
|
+
// this.additional_paths.push(add)
|
|
213
|
+
// } catch (e) {
|
|
214
|
+
// logger.warn(0, `Additional file watcher path ${path.toString()} does not exist.`);
|
|
215
|
+
// }
|
|
216
|
+
// }
|
|
217
|
+
|
|
218
|
+
// // Add exclude.
|
|
219
|
+
// add_exclude(path: string | vlib.Path): void {
|
|
220
|
+
// try {
|
|
221
|
+
// const add = new vlib.Path(path).abs().str();
|
|
222
|
+
// logger.log(2, "Add file watcher exclude", add)
|
|
223
|
+
// this.excluded.push(add)
|
|
224
|
+
// } catch (e) {
|
|
225
|
+
// logger.warn(1, `Excluded file watcher path ${path.toString()} does not exist.`);
|
|
226
|
+
// }
|
|
227
|
+
// }
|
|
228
|
+
|
|
229
|
+
// // Start.
|
|
230
|
+
// async start(): Promise<void> {
|
|
231
|
+
// process.on('SIGTERM', () => {
|
|
232
|
+
// this.proc.kill("SIGTERM");
|
|
233
|
+
// process.exit(0)
|
|
234
|
+
// });
|
|
235
|
+
// process.on('SIGINT', () => {
|
|
236
|
+
// this.proc.kill("SIGINT");
|
|
237
|
+
// process.exit(0)
|
|
238
|
+
// });
|
|
239
|
+
|
|
240
|
+
// // Spawn process.
|
|
241
|
+
// this.scan_files();
|
|
242
|
+
// this.has_changed = false;
|
|
243
|
+
// this.spawn_process();
|
|
244
|
+
// this.args.push("--file-watcher-restart")
|
|
245
|
+
|
|
246
|
+
// // Start scan loop.
|
|
247
|
+
// await this.scan();
|
|
248
|
+
// }
|
|
249
|
+
|
|
250
|
+
// // Scan.
|
|
251
|
+
// async scan(): Promise<void> {
|
|
252
|
+
// this.scan_files()
|
|
253
|
+
// let interval = this.interval;
|
|
254
|
+
// if (this.has_changed) {
|
|
255
|
+
// interval += 250;
|
|
256
|
+
// await new Promise((resolve) => {
|
|
257
|
+
// setTimeout(async () => {
|
|
258
|
+
// this.scan_files()
|
|
259
|
+
// this.has_changed = false;
|
|
260
|
+
// await this.restart_process();
|
|
261
|
+
// resolve(null);
|
|
262
|
+
// }, 250)
|
|
263
|
+
// })
|
|
264
|
+
// }
|
|
265
|
+
// setTimeout(() => this.scan(), interval);
|
|
266
|
+
// }
|
|
267
|
+
|
|
268
|
+
// // Scan files.
|
|
269
|
+
// scan_files(): void {
|
|
270
|
+
// const scan_files = (dir: string) => {
|
|
271
|
+
// fs.readdirSync(dir).forEach((name) => scan_file(path.join(dir, name)));
|
|
272
|
+
// }
|
|
273
|
+
// const scan_file = (path: string) => {
|
|
274
|
+
// if (this.excluded.includes(path)) {
|
|
275
|
+
// return null;
|
|
276
|
+
// }
|
|
277
|
+
// let stat;
|
|
278
|
+
// try {
|
|
279
|
+
// stat = fs.statSync(path);
|
|
280
|
+
// } catch (e) {
|
|
281
|
+
// delete this.mtimes[path]; // a file was deleted.
|
|
282
|
+
// return;
|
|
283
|
+
// }
|
|
284
|
+
// if (this.mtimes[path] != stat.mtimeMs) {
|
|
285
|
+
// if (this.mtimes[path] != null) {
|
|
286
|
+
// logger.log(1, `Source file ${path} changed.`);
|
|
287
|
+
// }
|
|
288
|
+
// this.has_changed = true;
|
|
289
|
+
// }
|
|
290
|
+
// this.mtimes[path] = stat.mtimeMs;
|
|
291
|
+
// if (stat.isDirectory()) {
|
|
292
|
+
// scan_files(path)
|
|
293
|
+
// }
|
|
294
|
+
// }
|
|
295
|
+
// scan_files(this.source);
|
|
296
|
+
// this.additional_paths.forEach((path) => scan_file(path));
|
|
297
|
+
// }
|
|
298
|
+
|
|
299
|
+
// // Spawn process.
|
|
300
|
+
// spawn_process(): void {
|
|
301
|
+
// if (this._com_file === undefined) {
|
|
302
|
+
// // @ts-ignore
|
|
303
|
+
// this._com_file = new vlib.Path(`/tmp/${String.random(12)}`);
|
|
304
|
+
// }
|
|
305
|
+
// if (this.config == null && this.start_file == null) {
|
|
306
|
+
// throw new Error("When 'Server.file_watcher.start_file' is undefined, the server must be started using `$ volt --start` in order to use the file watcher.");
|
|
307
|
+
// }
|
|
308
|
+
// this.proc = spawn(
|
|
309
|
+
// this.start_file ? "node" : "volt",
|
|
310
|
+
// this.start_file
|
|
311
|
+
// ? [this.start_file, ...this.args, ...process.argv]
|
|
312
|
+
// : ["--start", "--config", this.config || "", ...this.args, ...process.argv],
|
|
313
|
+
// {
|
|
314
|
+
// cwd: this.source,
|
|
315
|
+
// stdio: "inherit",
|
|
316
|
+
// env: {
|
|
317
|
+
// ...process.env,
|
|
318
|
+
// "VOLT_FILE_WATCHER": "1",
|
|
319
|
+
// "VOLT_STARTED_FILE": this._com_file.str(),
|
|
320
|
+
// },
|
|
321
|
+
// }
|
|
322
|
+
// );
|
|
323
|
+
// this.proc.on("exit", (code) => {
|
|
324
|
+
// if (code === 0) {
|
|
325
|
+
// this.scan_files(); // scan again so any subsequent file changes will be updated as well.
|
|
326
|
+
// this.has_changed = false;
|
|
327
|
+
// this.spawn_process();
|
|
328
|
+
// } else {
|
|
329
|
+
// process.exit(code || 1);
|
|
330
|
+
// }
|
|
331
|
+
// })
|
|
332
|
+
// this.proc.on("error", (e) => {
|
|
333
|
+
// console.error(e)
|
|
334
|
+
// process.exit(1);
|
|
335
|
+
// })
|
|
336
|
+
// }
|
|
337
|
+
|
|
338
|
+
// // Spawn process.
|
|
339
|
+
// async restart_process(): Promise<void> {
|
|
340
|
+
// logger.log(0, `Restarting server due to file changes.`);
|
|
341
|
+
// this._com_file.save_sync("0");
|
|
342
|
+
// this.has_changed = false;
|
|
343
|
+
// this.proc.kill("SIGINT");
|
|
344
|
+
// await new Promise<void>((resolve) => {
|
|
345
|
+
// const loop = () => {
|
|
346
|
+
// if (this._com_file.load_sync() === "1") {
|
|
347
|
+
// return resolve();
|
|
348
|
+
// }
|
|
349
|
+
// setTimeout(loop, 150)
|
|
350
|
+
// }
|
|
351
|
+
// loop();
|
|
352
|
+
// })
|
|
353
|
+
// }
|
|
354
|
+
// }
|
|
355
|
+
|
|
356
|
+
// // ---------------------------------------------------------
|
|
357
|
+
// // Exports.
|
|
358
|
+
|
|
359
|
+
// export { StaticFileWatcher, FileWatcher };
|