@vandenberghinc/volt 1.1.2
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/.vrepo +28 -0
- package/.vscode/tasks.json +87 -0
- package/README.md +67 -0
- package/backend/dist/cjs/blacklist.d.ts +10 -0
- package/backend/dist/cjs/blacklist.js +53 -0
- package/backend/dist/cjs/cli.d.ts +2 -0
- package/backend/dist/cjs/cli.js +263 -0
- package/backend/dist/cjs/database.d.ts +364 -0
- package/backend/dist/cjs/database.js +1962 -0
- package/backend/dist/cjs/endpoint.d.ts +57 -0
- package/backend/dist/cjs/endpoint.js +425 -0
- package/backend/dist/cjs/file_watcher.d.ts +44 -0
- package/backend/dist/cjs/file_watcher.js +348 -0
- package/backend/dist/cjs/frontend.d.ts +13 -0
- package/backend/dist/cjs/frontend.js +30 -0
- package/backend/dist/cjs/image_endpoint.d.ts +24 -0
- package/backend/dist/cjs/image_endpoint.js +210 -0
- package/backend/dist/cjs/logger.d.ts +5 -0
- package/backend/dist/cjs/logger.js +16 -0
- package/backend/dist/cjs/meta.d.ts +50 -0
- package/backend/dist/cjs/meta.js +153 -0
- package/backend/dist/cjs/mutex.d.ts +24 -0
- package/backend/dist/cjs/mutex.js +52 -0
- package/backend/dist/cjs/package.json +1 -0
- package/backend/dist/cjs/payments/paddle.d.ts +161 -0
- package/backend/dist/cjs/payments/paddle.js +2301 -0
- package/backend/dist/cjs/plugins/browser.d.ts +36 -0
- package/backend/dist/cjs/plugins/browser.js +183 -0
- package/backend/dist/cjs/plugins/communication.d.ts +70 -0
- package/backend/dist/cjs/plugins/communication.js +177 -0
- package/backend/dist/cjs/plugins/css.d.ts +10 -0
- package/backend/dist/cjs/plugins/css.js +71 -0
- package/backend/dist/cjs/plugins/mail.d.ts +277 -0
- package/backend/dist/cjs/plugins/mail.js +1419 -0
- package/backend/dist/cjs/plugins/pdf.d.ts +757 -0
- package/backend/dist/cjs/plugins/pdf.js +1694 -0
- package/backend/dist/cjs/plugins/thread_monitor.d.ts +18 -0
- package/backend/dist/cjs/plugins/thread_monitor.js +127 -0
- package/backend/dist/cjs/plugins/ts/compiler.d.ts +132 -0
- package/backend/dist/cjs/plugins/ts/compiler.js +944 -0
- package/backend/dist/cjs/plugins/ts/preprocessing.d.ts +14 -0
- package/backend/dist/cjs/plugins/ts/preprocessing.js +762 -0
- package/backend/dist/cjs/rate_limit.d.ts +65 -0
- package/backend/dist/cjs/rate_limit.js +463 -0
- package/backend/dist/cjs/request.deprc.d.ts +48 -0
- package/backend/dist/cjs/request.deprc.js +572 -0
- package/backend/dist/cjs/response.deprc.d.ts +55 -0
- package/backend/dist/cjs/response.deprc.js +275 -0
- package/backend/dist/cjs/server.d.ts +311 -0
- package/backend/dist/cjs/server.js +3475 -0
- package/backend/dist/cjs/splash_screen.d.ts +35 -0
- package/backend/dist/cjs/splash_screen.js +152 -0
- package/backend/dist/cjs/status.d.ts +60 -0
- package/backend/dist/cjs/status.js +199 -0
- package/backend/dist/cjs/stream.d.ts +75 -0
- package/backend/dist/cjs/stream.js +954 -0
- package/backend/dist/cjs/users.d.ts +111 -0
- package/backend/dist/cjs/users.js +1945 -0
- package/backend/dist/cjs/utils.d.ts +27 -0
- package/backend/dist/cjs/utils.js +329 -0
- package/backend/dist/cjs/view.d.ts +52 -0
- package/backend/dist/cjs/view.js +568 -0
- package/backend/dist/cjs/vinc.d.ts +2 -0
- package/backend/dist/cjs/vinc.dev.d.ts +2 -0
- package/backend/dist/cjs/vinc.dev.js +42 -0
- package/backend/dist/cjs/vinc.js +42 -0
- package/backend/dist/cjs/volt.d.ts +15 -0
- package/backend/dist/cjs/volt.js +64 -0
- package/backend/dist/css/adyen.css +92 -0
- package/backend/dist/css/volt.css +65 -0
- package/backend/dist/esm/blacklist.d.ts +10 -0
- package/backend/dist/esm/blacklist.js +49 -0
- package/backend/dist/esm/cli.d.ts +2 -0
- package/backend/dist/esm/cli.js +228 -0
- package/backend/dist/esm/database.d.ts +364 -0
- package/backend/dist/esm/database.js +1957 -0
- package/backend/dist/esm/endpoint.d.ts +57 -0
- package/backend/dist/esm/endpoint.js +421 -0
- package/backend/dist/esm/file_watcher.d.ts +44 -0
- package/backend/dist/esm/file_watcher.js +313 -0
- package/backend/dist/esm/frontend.d.ts +13 -0
- package/backend/dist/esm/frontend.js +27 -0
- package/backend/dist/esm/image_endpoint.d.ts +24 -0
- package/backend/dist/esm/image_endpoint.js +206 -0
- package/backend/dist/esm/logger.d.ts +5 -0
- package/backend/dist/esm/logger.js +13 -0
- package/backend/dist/esm/meta.d.ts +50 -0
- package/backend/dist/esm/meta.js +149 -0
- package/backend/dist/esm/mutex.d.ts +24 -0
- package/backend/dist/esm/mutex.js +48 -0
- package/backend/dist/esm/payments/paddle.d.ts +161 -0
- package/backend/dist/esm/payments/paddle.js +2261 -0
- package/backend/dist/esm/plugins/browser.d.ts +36 -0
- package/backend/dist/esm/plugins/browser.js +176 -0
- package/backend/dist/esm/plugins/communication.d.ts +70 -0
- package/backend/dist/esm/plugins/communication.js +169 -0
- package/backend/dist/esm/plugins/css.d.ts +10 -0
- package/backend/dist/esm/plugins/css.js +64 -0
- package/backend/dist/esm/plugins/mail.d.ts +277 -0
- package/backend/dist/esm/plugins/mail.js +1403 -0
- package/backend/dist/esm/plugins/pdf.d.ts +757 -0
- package/backend/dist/esm/plugins/pdf.js +1694 -0
- package/backend/dist/esm/plugins/thread_monitor.d.ts +18 -0
- package/backend/dist/esm/plugins/thread_monitor.js +120 -0
- package/backend/dist/esm/plugins/ts/compiler.d.ts +132 -0
- package/backend/dist/esm/plugins/ts/compiler.js +907 -0
- package/backend/dist/esm/plugins/ts/preprocessing.d.ts +14 -0
- package/backend/dist/esm/plugins/ts/preprocessing.js +724 -0
- package/backend/dist/esm/rate_limit.d.ts +65 -0
- package/backend/dist/esm/rate_limit.js +425 -0
- package/backend/dist/esm/request.deprc.d.ts +48 -0
- package/backend/dist/esm/request.deprc.js +572 -0
- package/backend/dist/esm/response.deprc.d.ts +55 -0
- package/backend/dist/esm/response.deprc.js +275 -0
- package/backend/dist/esm/server.d.ts +311 -0
- package/backend/dist/esm/server.js +3435 -0
- package/backend/dist/esm/splash_screen.d.ts +35 -0
- package/backend/dist/esm/splash_screen.js +148 -0
- package/backend/dist/esm/status.d.ts +60 -0
- package/backend/dist/esm/status.js +196 -0
- package/backend/dist/esm/stream.d.ts +75 -0
- package/backend/dist/esm/stream.js +947 -0
- package/backend/dist/esm/users.d.ts +111 -0
- package/backend/dist/esm/users.js +1908 -0
- package/backend/dist/esm/utils.d.ts +27 -0
- package/backend/dist/esm/utils.js +324 -0
- package/backend/dist/esm/view.d.ts +52 -0
- package/backend/dist/esm/view.js +561 -0
- package/backend/dist/esm/vinc.d.ts +2 -0
- package/backend/dist/esm/vinc.dev.d.ts +2 -0
- package/backend/dist/esm/vinc.dev.js +6 -0
- package/backend/dist/esm/vinc.js +6 -0
- package/backend/dist/esm/volt.d.ts +15 -0
- package/backend/dist/esm/volt.js +23 -0
- package/backend/dist/esm-dev/blacklist.d.ts +10 -0
- package/backend/dist/esm-dev/blacklist.js +49 -0
- package/backend/dist/esm-dev/cli.d.ts +2 -0
- package/backend/dist/esm-dev/cli.js +228 -0
- package/backend/dist/esm-dev/database.d.ts +364 -0
- package/backend/dist/esm-dev/database.js +1957 -0
- package/backend/dist/esm-dev/endpoint.d.ts +57 -0
- package/backend/dist/esm-dev/endpoint.js +421 -0
- package/backend/dist/esm-dev/file_watcher.d.ts +44 -0
- package/backend/dist/esm-dev/file_watcher.js +313 -0
- package/backend/dist/esm-dev/frontend.d.ts +13 -0
- package/backend/dist/esm-dev/frontend.js +27 -0
- package/backend/dist/esm-dev/image_endpoint.d.ts +24 -0
- package/backend/dist/esm-dev/image_endpoint.js +206 -0
- package/backend/dist/esm-dev/logger.d.ts +5 -0
- package/backend/dist/esm-dev/logger.js +13 -0
- package/backend/dist/esm-dev/meta.d.ts +50 -0
- package/backend/dist/esm-dev/meta.js +149 -0
- package/backend/dist/esm-dev/mutex.d.ts +24 -0
- package/backend/dist/esm-dev/mutex.js +48 -0
- package/backend/dist/esm-dev/payments/paddle.d.ts +161 -0
- package/backend/dist/esm-dev/payments/paddle.js +2261 -0
- package/backend/dist/esm-dev/plugins/browser.d.ts +36 -0
- package/backend/dist/esm-dev/plugins/browser.js +176 -0
- package/backend/dist/esm-dev/plugins/communication.d.ts +70 -0
- package/backend/dist/esm-dev/plugins/communication.js +169 -0
- package/backend/dist/esm-dev/plugins/css.d.ts +10 -0
- package/backend/dist/esm-dev/plugins/css.js +64 -0
- package/backend/dist/esm-dev/plugins/mail.d.ts +277 -0
- package/backend/dist/esm-dev/plugins/mail.js +1403 -0
- package/backend/dist/esm-dev/plugins/pdf.d.ts +757 -0
- package/backend/dist/esm-dev/plugins/pdf.js +1694 -0
- package/backend/dist/esm-dev/plugins/thread_monitor.d.ts +18 -0
- package/backend/dist/esm-dev/plugins/thread_monitor.js +120 -0
- package/backend/dist/esm-dev/plugins/ts/compiler.d.ts +132 -0
- package/backend/dist/esm-dev/plugins/ts/compiler.js +907 -0
- package/backend/dist/esm-dev/plugins/ts/preprocessing.d.ts +14 -0
- package/backend/dist/esm-dev/plugins/ts/preprocessing.js +724 -0
- package/backend/dist/esm-dev/rate_limit.d.ts +65 -0
- package/backend/dist/esm-dev/rate_limit.js +425 -0
- package/backend/dist/esm-dev/request.deprc.d.ts +48 -0
- package/backend/dist/esm-dev/request.deprc.js +572 -0
- package/backend/dist/esm-dev/response.deprc.d.ts +55 -0
- package/backend/dist/esm-dev/response.deprc.js +275 -0
- package/backend/dist/esm-dev/server.d.ts +311 -0
- package/backend/dist/esm-dev/server.js +3435 -0
- package/backend/dist/esm-dev/splash_screen.d.ts +35 -0
- package/backend/dist/esm-dev/splash_screen.js +148 -0
- package/backend/dist/esm-dev/status.d.ts +60 -0
- package/backend/dist/esm-dev/status.js +196 -0
- package/backend/dist/esm-dev/stream.d.ts +75 -0
- package/backend/dist/esm-dev/stream.js +947 -0
- package/backend/dist/esm-dev/users.d.ts +111 -0
- package/backend/dist/esm-dev/users.js +1908 -0
- package/backend/dist/esm-dev/utils.d.ts +27 -0
- package/backend/dist/esm-dev/utils.js +324 -0
- package/backend/dist/esm-dev/view.d.ts +52 -0
- package/backend/dist/esm-dev/view.js +561 -0
- package/backend/dist/esm-dev/vinc.d.ts +2 -0
- package/backend/dist/esm-dev/vinc.dev.d.ts +2 -0
- package/backend/dist/esm-dev/vinc.dev.js +6 -0
- package/backend/dist/esm-dev/vinc.js +6 -0
- package/backend/dist/esm-dev/volt.d.ts +15 -0
- package/backend/dist/esm-dev/volt.js +23 -0
- package/backend/src/blacklist.ts +69 -0
- package/backend/src/cli.js +245 -0
- package/backend/src/database.ts +2241 -0
- package/backend/src/endpoint.ts +494 -0
- package/backend/src/file_watcher.ts +359 -0
- package/backend/src/frontend.ts +35 -0
- package/backend/src/globals.d.ts +8 -0
- package/backend/src/image_endpoint.ts +258 -0
- package/backend/src/logger.ts +18 -0
- package/backend/src/meta.ts +202 -0
- package/backend/src/mutex.ts +51 -0
- package/backend/src/payments/paddle.ts +2659 -0
- package/backend/src/plugins/browser.ts +188 -0
- package/backend/src/plugins/communication.ts +204 -0
- package/backend/src/plugins/css.ts +84 -0
- package/backend/src/plugins/fonts/Menlo-Bold.ttf +0 -0
- package/backend/src/plugins/fonts/Menlo-Regular.ttf +0 -0
- package/backend/src/plugins/mail.ts +1720 -0
- package/backend/src/plugins/pdf.js +1932 -0
- package/backend/src/plugins/thread_monitor.ts +164 -0
- package/backend/src/plugins/ts/compiler.ts +1242 -0
- package/backend/src/plugins/ts/preprocessing.ts +812 -0
- package/backend/src/rate_limit.ts +503 -0
- package/backend/src/request.deprc.js +626 -0
- package/backend/src/response.deprc.js +354 -0
- package/backend/src/server.ts +4149 -0
- package/backend/src/splash_screen.ts +192 -0
- package/backend/src/status.ts +199 -0
- package/backend/src/stream.ts +1070 -0
- package/backend/src/users.ts +2077 -0
- package/backend/src/utils.ts +359 -0
- package/backend/src/view.ts +655 -0
- package/backend/src/vinc.dev.js +6 -0
- package/backend/src/vinc.ts +6 -0
- package/backend/src/volt.js +25 -0
- package/backend/tsconfig.cjs.json +29 -0
- package/backend/tsconfig.esm.dev.json +34 -0
- package/backend/tsconfig.esm.json +30 -0
- package/backend/tsconfig.json +2 -0
- package/frontend/compile.js +436 -0
- package/frontend/dist/elements/base.d.ts +9891 -0
- package/frontend/dist/elements/base.js +8818 -0
- package/frontend/dist/elements/module.d.ts +16 -0
- package/frontend/dist/elements/module.js +178 -0
- package/frontend/dist/modules/array.d.ts +37 -0
- package/frontend/dist/modules/array.js +284 -0
- package/frontend/dist/modules/auth.d.ts +45 -0
- package/frontend/dist/modules/auth.js +138 -0
- package/frontend/dist/modules/colors.d.ts +26 -0
- package/frontend/dist/modules/colors.js +340 -0
- package/frontend/dist/modules/compression.d.ts +6 -0
- package/frontend/dist/modules/compression.js +999 -0
- package/frontend/dist/modules/cookies.d.ts +17 -0
- package/frontend/dist/modules/cookies.js +166 -0
- package/frontend/dist/modules/date.d.ts +142 -0
- package/frontend/dist/modules/date.js +493 -0
- package/frontend/dist/modules/events.d.ts +7 -0
- package/frontend/dist/modules/events.js +90 -0
- package/frontend/dist/modules/google.d.ts +10 -0
- package/frontend/dist/modules/google.js +53 -0
- package/frontend/dist/modules/meta.d.ts +9 -0
- package/frontend/dist/modules/meta.js +45 -0
- package/frontend/dist/modules/mutex.d.ts +8 -0
- package/frontend/dist/modules/mutex.js +52 -0
- package/frontend/dist/modules/number.d.ts +12 -0
- package/frontend/dist/modules/number.js +8 -0
- package/frontend/dist/modules/object.d.ts +50 -0
- package/frontend/dist/modules/object.js +147 -0
- package/frontend/dist/modules/paddle.d.ts +1403 -0
- package/frontend/dist/modules/paddle.js +2641 -0
- package/frontend/dist/modules/scheme.d.ts +207 -0
- package/frontend/dist/modules/scheme.js +649 -0
- package/frontend/dist/modules/settings.d.ts +3 -0
- package/frontend/dist/modules/settings.js +4 -0
- package/frontend/dist/modules/statics.d.ts +4 -0
- package/frontend/dist/modules/statics.js +45 -0
- package/frontend/dist/modules/string.d.ts +163 -0
- package/frontend/dist/modules/string.js +291 -0
- package/frontend/dist/modules/support.d.ts +18 -0
- package/frontend/dist/modules/support.js +102 -0
- package/frontend/dist/modules/themes.d.ts +8 -0
- package/frontend/dist/modules/themes.js +17 -0
- package/frontend/dist/modules/user.d.ts +58 -0
- package/frontend/dist/modules/user.js +279 -0
- package/frontend/dist/modules/utils.d.ts +58 -0
- package/frontend/dist/modules/utils.js +1159 -0
- package/frontend/dist/types/gradient.d.ts +12 -0
- package/frontend/dist/types/gradient.js +79 -0
- package/frontend/dist/ui/border_button.d.ts +177 -0
- package/frontend/dist/ui/border_button.js +235 -0
- package/frontend/dist/ui/button.d.ts +42 -0
- package/frontend/dist/ui/button.js +114 -0
- package/frontend/dist/ui/canvas.d.ts +56 -0
- package/frontend/dist/ui/canvas.js +411 -0
- package/frontend/dist/ui/checkbox.d.ts +72 -0
- package/frontend/dist/ui/checkbox.js +277 -0
- package/frontend/dist/ui/code.d.ts +232 -0
- package/frontend/dist/ui/code.js +977 -0
- package/frontend/dist/ui/color.d.ts +1 -0
- package/frontend/dist/ui/color.js +110 -0
- package/frontend/dist/ui/context_menu.d.ts +30 -0
- package/frontend/dist/ui/context_menu.js +211 -0
- package/frontend/dist/ui/css.d.ts +10 -0
- package/frontend/dist/ui/css.js +44 -0
- package/frontend/dist/ui/divider.d.ts +18 -0
- package/frontend/dist/ui/divider.js +82 -0
- package/frontend/dist/ui/dropdown.d.ts +115 -0
- package/frontend/dist/ui/dropdown.js +446 -0
- package/frontend/dist/ui/for_each.d.ts +38 -0
- package/frontend/dist/ui/for_each.js +97 -0
- package/frontend/dist/ui/form.d.ts +25 -0
- package/frontend/dist/ui/form.js +227 -0
- package/frontend/dist/ui/frame_modes.d.ts +28 -0
- package/frontend/dist/ui/frame_modes.js +116 -0
- package/frontend/dist/ui/google_map.d.ts +31 -0
- package/frontend/dist/ui/google_map.js +111 -0
- package/frontend/dist/ui/gradient.d.ts +24 -0
- package/frontend/dist/ui/gradient.js +115 -0
- package/frontend/dist/ui/image.d.ts +138 -0
- package/frontend/dist/ui/image.js +570 -0
- package/frontend/dist/ui/input.d.ts +316 -0
- package/frontend/dist/ui/input.js +1187 -0
- package/frontend/dist/ui/link.d.ts +39 -0
- package/frontend/dist/ui/link.js +146 -0
- package/frontend/dist/ui/list.d.ts +33 -0
- package/frontend/dist/ui/list.js +161 -0
- package/frontend/dist/ui/loader_button.d.ts +108 -0
- package/frontend/dist/ui/loader_button.js +207 -0
- package/frontend/dist/ui/loaders.d.ts +60 -0
- package/frontend/dist/ui/loaders.js +150 -0
- package/frontend/dist/ui/popup.d.ts +84 -0
- package/frontend/dist/ui/popup.js +331 -0
- package/frontend/dist/ui/pseudo.d.ts +16 -0
- package/frontend/dist/ui/pseudo.js +81 -0
- package/frontend/dist/ui/scroller.d.ts +131 -0
- package/frontend/dist/ui/scroller.js +1251 -0
- package/frontend/dist/ui/slider.d.ts +35 -0
- package/frontend/dist/ui/slider.js +203 -0
- package/frontend/dist/ui/spacer.d.ts +20 -0
- package/frontend/dist/ui/spacer.js +83 -0
- package/frontend/dist/ui/span.d.ts +11 -0
- package/frontend/dist/ui/span.js +75 -0
- package/frontend/dist/ui/stack.d.ts +123 -0
- package/frontend/dist/ui/stack.js +344 -0
- package/frontend/dist/ui/steps.d.ts +72 -0
- package/frontend/dist/ui/steps.js +306 -0
- package/frontend/dist/ui/style.d.ts +12 -0
- package/frontend/dist/ui/style.js +78 -0
- package/frontend/dist/ui/switch.d.ts +44 -0
- package/frontend/dist/ui/switch.js +280 -0
- package/frontend/dist/ui/table.d.ts +118 -0
- package/frontend/dist/ui/table.js +411 -0
- package/frontend/dist/ui/tabs.d.ts +85 -0
- package/frontend/dist/ui/tabs.js +392 -0
- package/frontend/dist/ui/text.d.ts +19 -0
- package/frontend/dist/ui/text.js +88 -0
- package/frontend/dist/ui/theme.d.ts +25 -0
- package/frontend/dist/ui/theme.js +237 -0
- package/frontend/dist/ui/title.d.ts +36 -0
- package/frontend/dist/ui/title.js +127 -0
- package/frontend/dist/ui/ui.d.ts +38 -0
- package/frontend/dist/ui/ui.js +41 -0
- package/frontend/dist/ui/view.d.ts +25 -0
- package/frontend/dist/ui/view.js +93 -0
- package/frontend/dist/volt.d.ts +22 -0
- package/frontend/dist/volt.js +27 -0
- package/frontend/exports.json +1340 -0
- package/frontend/src/css/adyen.css +92 -0
- package/frontend/src/css/volt.css +65 -0
- package/frontend/src/elements/base.ts +16790 -0
- package/frontend/src/elements/module.ts +184 -0
- package/frontend/src/elements/types.d.ts +155 -0
- package/frontend/src/modules/array.ts +366 -0
- package/frontend/src/modules/auth.ts +188 -0
- package/frontend/src/modules/colors.ts +449 -0
- package/frontend/src/modules/compression.ts +67 -0
- package/frontend/src/modules/cookies.ts +182 -0
- package/frontend/src/modules/date.js +535 -0
- package/frontend/src/modules/date.ts +583 -0
- package/frontend/src/modules/events.ts +96 -0
- package/frontend/src/modules/google.ts +60 -0
- package/frontend/src/modules/meta.ts +59 -0
- package/frontend/src/modules/mutex.ts +59 -0
- package/frontend/src/modules/number.ts +20 -0
- package/frontend/src/modules/object.ts +212 -0
- package/frontend/src/modules/paddle.ts +2990 -0
- package/frontend/src/modules/scheme.ts +740 -0
- package/frontend/src/modules/settings.ts +5 -0
- package/frontend/src/modules/statics.ts +47 -0
- package/frontend/src/modules/string.ts +500 -0
- package/frontend/src/modules/support.ts +118 -0
- package/frontend/src/modules/themes.ts +24 -0
- package/frontend/src/modules/user.ts +321 -0
- package/frontend/src/modules/utils.ts +1260 -0
- package/frontend/src/static/admin/admin.png +0 -0
- package/frontend/src/static/admin/password.webp +0 -0
- package/frontend/src/static/icons/copy.webp +0 -0
- package/frontend/src/static/payments/arrow.long.webp +0 -0
- package/frontend/src/static/payments/arrow.long2.webp +0 -0
- package/frontend/src/static/payments/cancelled.webp +0 -0
- package/frontend/src/static/payments/check.sign.webp +0 -0
- package/frontend/src/static/payments/check.webp +0 -0
- package/frontend/src/static/payments/close.webp +0 -0
- package/frontend/src/static/payments/error.webp +0 -0
- package/frontend/src/static/payments/exclamation.webp +0 -0
- package/frontend/src/static/payments/minus.webp +0 -0
- package/frontend/src/static/payments/party.webp +0 -0
- package/frontend/src/static/payments/plus.webp +0 -0
- package/frontend/src/static/payments/shopping_cart.webp +0 -0
- package/frontend/src/static/payments/trash.webp +0 -0
- package/frontend/src/types/global.d.ts +4 -0
- package/frontend/src/types/gradient.ts +87 -0
- package/frontend/src/ui/any_element.d.ts +5 -0
- package/frontend/src/ui/border_button.ts +320 -0
- package/frontend/src/ui/button.ts +62 -0
- package/frontend/src/ui/canvas.ts +431 -0
- package/frontend/src/ui/checkbox.ts +284 -0
- package/frontend/src/ui/code.ts +1049 -0
- package/frontend/src/ui/color.ts +117 -0
- package/frontend/src/ui/context_menu.ts +194 -0
- package/frontend/src/ui/css.ts +57 -0
- package/frontend/src/ui/divider.ts +28 -0
- package/frontend/src/ui/dropdown.ts +503 -0
- package/frontend/src/ui/for_each.ts +71 -0
- package/frontend/src/ui/form.ts +208 -0
- package/frontend/src/ui/frame_modes.ts +140 -0
- package/frontend/src/ui/google_map.ts +70 -0
- package/frontend/src/ui/gradient.ts +73 -0
- package/frontend/src/ui/image.ts +587 -0
- package/frontend/src/ui/input.ts +1284 -0
- package/frontend/src/ui/link.ts +77 -0
- package/frontend/src/ui/list.ts +88 -0
- package/frontend/src/ui/loader_button.ts +192 -0
- package/frontend/src/ui/loaders.ts +126 -0
- package/frontend/src/ui/popup.ts +370 -0
- package/frontend/src/ui/pseudo.ts +33 -0
- package/frontend/src/ui/scroller.ts +1324 -0
- package/frontend/src/ui/slider.ts +215 -0
- package/frontend/src/ui/spacer.ts +29 -0
- package/frontend/src/ui/span.ts +23 -0
- package/frontend/src/ui/stack.ts +238 -0
- package/frontend/src/ui/steps.ts +334 -0
- package/frontend/src/ui/style.ts +26 -0
- package/frontend/src/ui/switch.ts +286 -0
- package/frontend/src/ui/table.ts +323 -0
- package/frontend/src/ui/tabs.ts +441 -0
- package/frontend/src/ui/text.ts +38 -0
- package/frontend/src/ui/theme.ts +279 -0
- package/frontend/src/ui/title.ts +64 -0
- package/frontend/src/ui/ui.ts +47 -0
- package/frontend/src/ui/view.ts +44 -0
- package/frontend/src/volt.ts +31 -0
- package/package.json +58 -0
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Author: Daan van den Bergh
|
|
3
|
+
* Copyright: © 2022 - 2024 Daan van den Bergh.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
// Import elements create func.
|
|
7
|
+
export * from "./base.js";
|
|
8
|
+
import {
|
|
9
|
+
VElement,
|
|
10
|
+
extend as extend_velement,
|
|
11
|
+
wrapper as _wrapper,
|
|
12
|
+
create_null as _create_null,
|
|
13
|
+
} from "./base.js"
|
|
14
|
+
|
|
15
|
+
export namespace Elements {
|
|
16
|
+
|
|
17
|
+
// Get by id.
|
|
18
|
+
// @note: always use VElement as return type since this is most likely the case and avoids type casting for users.
|
|
19
|
+
/* @docs:
|
|
20
|
+
@nav: Frontend
|
|
21
|
+
@chapter: Elements
|
|
22
|
+
@title: Get Element by ID
|
|
23
|
+
@desc: Get an element by its ID.
|
|
24
|
+
@param:
|
|
25
|
+
@name: id
|
|
26
|
+
@description The ID of the element.
|
|
27
|
+
*/
|
|
28
|
+
export function get(id: string): VElement {
|
|
29
|
+
const e = document.getElementById(id);
|
|
30
|
+
if (e == null) {
|
|
31
|
+
throw new Error(`Unable to find element with id "${id}".`);
|
|
32
|
+
}
|
|
33
|
+
return e as any as VElement;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
// Get by id (alias).
|
|
37
|
+
// @note: always use VElement as return type since this is most likely the case and avoids type casting for users.
|
|
38
|
+
/* @docs:
|
|
39
|
+
@nav: Frontend
|
|
40
|
+
@chapter: Elements
|
|
41
|
+
@title: Get Element by ID (Alias)
|
|
42
|
+
@desc: Alias for `get` to get an element by its ID.
|
|
43
|
+
@param:
|
|
44
|
+
@name: id
|
|
45
|
+
@description The ID of the element.
|
|
46
|
+
*/
|
|
47
|
+
export function get_by_id(id: string): VElement {
|
|
48
|
+
return Elements.get(id);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
// Click an element by id.
|
|
52
|
+
/* @docs:
|
|
53
|
+
@nav: Frontend
|
|
54
|
+
@chapter: Elements
|
|
55
|
+
@title: Click Element by ID
|
|
56
|
+
@desc: Programmatically clicks an element by its ID.
|
|
57
|
+
@param:
|
|
58
|
+
@name: id
|
|
59
|
+
@description The ID of the element.
|
|
60
|
+
*/
|
|
61
|
+
export function click(id: string): void {
|
|
62
|
+
const element = document.getElementById(id);
|
|
63
|
+
if (element) {
|
|
64
|
+
element.click();
|
|
65
|
+
} else {
|
|
66
|
+
throw new Error(`Unable to find element with id "${id}".`);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
// Register a custom type.
|
|
71
|
+
/* @docs:
|
|
72
|
+
@nav: Frontend
|
|
73
|
+
@chapter: Elements
|
|
74
|
+
@title: Register Custom Type
|
|
75
|
+
@desc: Registers a custom element type.
|
|
76
|
+
@param:
|
|
77
|
+
@name: type
|
|
78
|
+
@description The custom element type (class).
|
|
79
|
+
@param:
|
|
80
|
+
@name: tag
|
|
81
|
+
@description Optional tag name to extend.
|
|
82
|
+
*/
|
|
83
|
+
export function register_type(type: any, tag?: string): void {
|
|
84
|
+
(type as any)._is_registered = true;
|
|
85
|
+
// customElements.define(type.name, type, { extends: tag || (type as any).element_tag });
|
|
86
|
+
customElements.define("v-" + type.name.toLowerCase(), type, { extends: tag || (type as any).element_tag });
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
// Register decorator.
|
|
90
|
+
/* @docs:
|
|
91
|
+
@nav: Frontend
|
|
92
|
+
@chapter: Elements
|
|
93
|
+
@title: Register Decorator
|
|
94
|
+
@desc: Registers a class as a custom element.
|
|
95
|
+
@param:
|
|
96
|
+
@name: constructor
|
|
97
|
+
@description The class constructor to register.
|
|
98
|
+
*/
|
|
99
|
+
export function register<T extends { new(...args: any[]): {} }>(constructor: T): void {
|
|
100
|
+
Elements.register_type(constructor);
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
// Create a constructor wrapper.
|
|
104
|
+
export const wrapper = _wrapper;
|
|
105
|
+
|
|
106
|
+
// Create a shared null element mainly for typescript types.
|
|
107
|
+
export const create_null = _create_null;
|
|
108
|
+
|
|
109
|
+
// Submit multiple elements by id or element.
|
|
110
|
+
// When one is not filled in then an error is thrown.
|
|
111
|
+
// When an input is not required, no errors will be thrown.
|
|
112
|
+
// An object will be returned with each input's id as the key and the input's value as value.
|
|
113
|
+
// Only supported extended input elements like `ExtendedInput`.
|
|
114
|
+
/* @docs:
|
|
115
|
+
@nav: Frontend
|
|
116
|
+
@chapter: Elements
|
|
117
|
+
@title: Submit Elements
|
|
118
|
+
@desc: Submits multiple elements by ID or reference.
|
|
119
|
+
@deprecated: true
|
|
120
|
+
@param:
|
|
121
|
+
@name: elements
|
|
122
|
+
@description A list of element IDs or element references to submit.
|
|
123
|
+
*/
|
|
124
|
+
export function submit(...elements: (string | VElement | HTMLElement)[]): Record<string, any> {
|
|
125
|
+
const params: Record<string, any> = {};
|
|
126
|
+
let error;
|
|
127
|
+
for (let i = 0; i < elements.length; i++) {
|
|
128
|
+
try {
|
|
129
|
+
let element = elements[i];
|
|
130
|
+
if (typeof element === "string") {
|
|
131
|
+
element = Elements.get(element);
|
|
132
|
+
}
|
|
133
|
+
const id = (element as any).id();
|
|
134
|
+
if (id == null || id === "") {
|
|
135
|
+
continue;
|
|
136
|
+
}
|
|
137
|
+
if ((element as any).required() !== true) {
|
|
138
|
+
params[id] = (element as any).value();
|
|
139
|
+
} else {
|
|
140
|
+
params[id] = (element as any).submit();
|
|
141
|
+
}
|
|
142
|
+
} catch (e) {
|
|
143
|
+
error = e;
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
if (error) {
|
|
147
|
+
throw error;
|
|
148
|
+
}
|
|
149
|
+
return params;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
// Forward a function to a child so a user can easily create functions on the parent like border_radius() which actually set the border radius of a child.
|
|
153
|
+
// The new function still returns `this`.
|
|
154
|
+
/* @docs:
|
|
155
|
+
@nav: Frontend
|
|
156
|
+
@chapter: Elements
|
|
157
|
+
@title: Forward Function to Child
|
|
158
|
+
@desc: Forwards a function to a child element.
|
|
159
|
+
@param:
|
|
160
|
+
@name: func_name
|
|
161
|
+
@description The name of the function to forward.
|
|
162
|
+
@param:
|
|
163
|
+
@name: child
|
|
164
|
+
@description The child element or a function that returns the child element.
|
|
165
|
+
*/
|
|
166
|
+
export function forward_func_to_child(func_name: string, child: any): (val?: any) => any {
|
|
167
|
+
return function (this: any, val?: any) {
|
|
168
|
+
if (typeof child === "function") {
|
|
169
|
+
child = child(this);
|
|
170
|
+
}
|
|
171
|
+
if (val == null) {
|
|
172
|
+
return child[func_name]();
|
|
173
|
+
}
|
|
174
|
+
child[func_name](val);
|
|
175
|
+
return this;
|
|
176
|
+
};
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
// Update the extend_velement function to use proper types
|
|
180
|
+
export const extend = extend_velement;
|
|
181
|
+
|
|
182
|
+
// Create.
|
|
183
|
+
// export const create = create_velement;
|
|
184
|
+
};
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
|
|
2
|
+
// Add some html properties since VBaseElement wants properties of them all since is is mixed in.
|
|
3
|
+
interface HTMLElement extends VElementExtensions {
|
|
4
|
+
|
|
5
|
+
setAttribute(name: string, value: string | number | boolean): void;
|
|
6
|
+
|
|
7
|
+
acceptCharset: any;
|
|
8
|
+
name: any;
|
|
9
|
+
hreflang: any;
|
|
10
|
+
readOnly: any;
|
|
11
|
+
autoplay: any;
|
|
12
|
+
maxlength: any;
|
|
13
|
+
minlength: any;
|
|
14
|
+
dateTime: any;
|
|
15
|
+
srcset?: string
|
|
16
|
+
srclang?: string;
|
|
17
|
+
srcdoc?: string;
|
|
18
|
+
novalidate?: boolean;
|
|
19
|
+
isMap?: boolean;
|
|
20
|
+
httpEquiv?: string;
|
|
21
|
+
formAction?: string;
|
|
22
|
+
rowspan?: number;
|
|
23
|
+
autocomplete?: "" | "on" | "off";
|
|
24
|
+
useMap?: string;
|
|
25
|
+
|
|
26
|
+
// value(): string;
|
|
27
|
+
// value(value: string): this;
|
|
28
|
+
// type(): string;
|
|
29
|
+
// type(value: string): this;
|
|
30
|
+
// title(): string;
|
|
31
|
+
// title(value: string): this;
|
|
32
|
+
// target(): string;
|
|
33
|
+
// target(value: string): this;
|
|
34
|
+
// pattern(): string;
|
|
35
|
+
// pattern(value: string): this;
|
|
36
|
+
// step(): string;
|
|
37
|
+
// step(value: string): this;
|
|
38
|
+
// start(): number | null;
|
|
39
|
+
// start(value: number): this;
|
|
40
|
+
// multiple(): boolean;
|
|
41
|
+
// multiple(value: boolean): this;
|
|
42
|
+
// checked(): boolean;
|
|
43
|
+
// checked(value: boolean): this;
|
|
44
|
+
// required(): boolean;
|
|
45
|
+
// required(value: boolean): this;
|
|
46
|
+
|
|
47
|
+
// rows(): null | number
|
|
48
|
+
// rows(value: number): this;
|
|
49
|
+
// span(): null | number
|
|
50
|
+
// span(value: number): this;
|
|
51
|
+
|
|
52
|
+
//
|
|
53
|
+
|
|
54
|
+
// alt(): string;
|
|
55
|
+
// alt(value: string): this;
|
|
56
|
+
// accept(): string;
|
|
57
|
+
// accept(value: string): this;
|
|
58
|
+
// action(): string;
|
|
59
|
+
// action(value: string): this;
|
|
60
|
+
// enctype(): string;
|
|
61
|
+
// enctype(value: string): this;
|
|
62
|
+
// id(): string;
|
|
63
|
+
// id(value: string): this;
|
|
64
|
+
// lang(): string;
|
|
65
|
+
// lang(value: string): this;
|
|
66
|
+
// max(): string;
|
|
67
|
+
// max(value: string): this;
|
|
68
|
+
// method(): string;
|
|
69
|
+
// method(value: string): this;
|
|
70
|
+
// min(): string;
|
|
71
|
+
// min(value: string): this;
|
|
72
|
+
// placeholder(): string;
|
|
73
|
+
// placeholder(value: string): this;
|
|
74
|
+
// rel(): string;
|
|
75
|
+
// rel(value: string): this;
|
|
76
|
+
// shape(): string;
|
|
77
|
+
// shape(value: string): this;
|
|
78
|
+
|
|
79
|
+
// download(): string;
|
|
80
|
+
// download(value: string): this;
|
|
81
|
+
// charset(): string;
|
|
82
|
+
// charset(value: string): this;
|
|
83
|
+
// cite(): string;
|
|
84
|
+
// cite(value: string): this;
|
|
85
|
+
// cols(): null | number
|
|
86
|
+
// cols(value: number): this;
|
|
87
|
+
// colspan(): null | number
|
|
88
|
+
// colspan; (value: number): this;
|
|
89
|
+
// controls(): boolean;
|
|
90
|
+
// controls(value: boolean): this;
|
|
91
|
+
// coords(): string;
|
|
92
|
+
// coords(value: string): this;
|
|
93
|
+
// data(): string;
|
|
94
|
+
// data(value: string): this;
|
|
95
|
+
// async(): boolean;
|
|
96
|
+
// async(value: boolean): this;
|
|
97
|
+
// default(): boolean;
|
|
98
|
+
// default(value: boolean): this;
|
|
99
|
+
// defer(): boolean;
|
|
100
|
+
// defer(value: boolean): this;
|
|
101
|
+
// dir(): string;
|
|
102
|
+
// dir(value: string): this;
|
|
103
|
+
// dirname(): string;
|
|
104
|
+
// dirname(value: string): this;
|
|
105
|
+
// disabled(): boolean;
|
|
106
|
+
// disabled(value: boolean): this;
|
|
107
|
+
// draggable(): boolean;
|
|
108
|
+
// draggable(value: boolean): this;
|
|
109
|
+
// for(): string;
|
|
110
|
+
// for(value: string): this;
|
|
111
|
+
// headers(): string;
|
|
112
|
+
// headers(value: string): this;
|
|
113
|
+
// high(): string;
|
|
114
|
+
// high(value: string | number): this;
|
|
115
|
+
// href(): string;
|
|
116
|
+
// href(value: string): this;
|
|
117
|
+
// kind(): string;
|
|
118
|
+
// kind(value: string): this;
|
|
119
|
+
// label(): string;
|
|
120
|
+
// label(value: string): this;
|
|
121
|
+
// loop(): boolean;
|
|
122
|
+
// loop(value: boolean): this;
|
|
123
|
+
// low(): string;
|
|
124
|
+
// low(value: string | number): this;
|
|
125
|
+
// muted(): boolean;
|
|
126
|
+
// muted(value: boolean): this;
|
|
127
|
+
// open(): boolean;
|
|
128
|
+
// open(value: boolean): this;
|
|
129
|
+
// optimum(): null | number
|
|
130
|
+
// optimum(value: number): this;
|
|
131
|
+
// poster(): string;
|
|
132
|
+
// poster(value: string): this;
|
|
133
|
+
// preload(): string;
|
|
134
|
+
// preload(value: string): this;
|
|
135
|
+
// reversed(): boolean;
|
|
136
|
+
// reversed(value: boolean): this;
|
|
137
|
+
// sandbox(): string;
|
|
138
|
+
// sandbox(value: string): this;
|
|
139
|
+
// scope(): string;
|
|
140
|
+
// scope(value: string): this;
|
|
141
|
+
// selected(): boolean;
|
|
142
|
+
// selected(value: boolean): this;
|
|
143
|
+
// shape(): string;
|
|
144
|
+
// shape(value: string): this;
|
|
145
|
+
// span(): null | number;
|
|
146
|
+
// span(value: number): this;
|
|
147
|
+
// size(): null | number;
|
|
148
|
+
// size(value: number): this;
|
|
149
|
+
// sizes(): string;
|
|
150
|
+
// sizes(value: string): this;
|
|
151
|
+
// span(): string;
|
|
152
|
+
// span(value: string): this;
|
|
153
|
+
// src(): string;
|
|
154
|
+
// src(value: string): this;
|
|
155
|
+
}
|
|
@@ -0,0 +1,366 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Author: Daan van den Bergh
|
|
3
|
+
* Copyright: © 2022 - 2024 Daan van den Bergh.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
declare global {
|
|
7
|
+
interface Array<T> {
|
|
8
|
+
|
|
9
|
+
// Append alias for push.
|
|
10
|
+
append(...items: T[]): number;
|
|
11
|
+
|
|
12
|
+
// Get the first item.
|
|
13
|
+
first(): T | undefined;
|
|
14
|
+
|
|
15
|
+
// Get the last item.
|
|
16
|
+
last(): T | undefined;
|
|
17
|
+
|
|
18
|
+
// Iteration functions
|
|
19
|
+
iterate(handler: (item: T, index: number, array: T[]) => any): any;
|
|
20
|
+
iterate(start: number, handler: (item: T, index: number, array: T[]) => any): any;
|
|
21
|
+
iterate(start: number, end: number, handler: (item: T, index: number, array: T[]) => any): any;
|
|
22
|
+
|
|
23
|
+
// Asynchronous iteration functions
|
|
24
|
+
iterate_async(handler: (item: T, index: number, array: T[]) => Promise<any>): Promise<any[]>;
|
|
25
|
+
iterate_async(start: number, handler: (item: T, index: number, array: T[]) => Promise<any>): Promise<any[]>;
|
|
26
|
+
iterate_async(start: number, end: number, handler: (item: T, index: number, array: T[]) => Promise<any>): Promise<any[]>;
|
|
27
|
+
|
|
28
|
+
iterate_async_await(handler: (item: T, index: number, array: T[]) => Promise<any>): Promise<any>;
|
|
29
|
+
iterate_async_await(start: number, handler: (item: T, index: number, array: T[]) => Promise<any>): Promise<any>;
|
|
30
|
+
iterate_async_await(start: number, end: number, handler: (item: T, index: number, array: T[]) => Promise<any>): Promise<any>;
|
|
31
|
+
|
|
32
|
+
// Iteration function to build an array by appending returned values
|
|
33
|
+
iterate_append(handler: (item: T, index: number, array: T[]) => any): any[];
|
|
34
|
+
iterate_append(start: number, handler: (item: T, index: number, array: T[]) => any): any[];
|
|
35
|
+
iterate_append(start: number, end: number, handler: (item: T, index: number, array: T[]) => any): any[];
|
|
36
|
+
|
|
37
|
+
// Reversed iteration functions
|
|
38
|
+
iterate_reversed(handler: (item: T, index: number, array: T[]) => any): any;
|
|
39
|
+
iterate_reversed(start: number, handler: (item: T, index: number, array: T[]) => any): any;
|
|
40
|
+
iterate_reversed(start: number, end: number, handler: (item: T, index: number, array: T[]) => any): any;
|
|
41
|
+
|
|
42
|
+
iterate_reversed_async(handler: (item: T, index: number, array: T[]) => Promise<any>): Promise<any[]>;
|
|
43
|
+
iterate_reversed_async(start: number, handler: (item: T, index: number, array: T[]) => Promise<any>): Promise<any[]>;
|
|
44
|
+
iterate_reversed_async(start: number, end: number, handler: (item: T, index: number, array: T[]) => Promise<any>): Promise<any[]>;
|
|
45
|
+
|
|
46
|
+
iterate_reversed_async_await(handler: (item: T, index: number, array: T[]) => Promise<any>): Promise<any>;
|
|
47
|
+
iterate_reversed_async_await(start: number, handler: (item: T, index: number, array: T[]) => Promise<any>): Promise<any>;
|
|
48
|
+
iterate_reversed_async_await(start: number, end: number, handler: (item: T, index: number, array: T[]) => Promise<any>): Promise<any>;
|
|
49
|
+
|
|
50
|
+
// Drop methods
|
|
51
|
+
drop(item: T): T[];
|
|
52
|
+
|
|
53
|
+
drop_index(index: number): T[];
|
|
54
|
+
|
|
55
|
+
// Remove duplicates
|
|
56
|
+
drop_duplicates(): T[];
|
|
57
|
+
|
|
58
|
+
// Limit from end
|
|
59
|
+
limit_from_end(limit: number): T[];
|
|
60
|
+
|
|
61
|
+
// Remove items equal to the specified item
|
|
62
|
+
remove(item: T): T[];
|
|
63
|
+
|
|
64
|
+
// Equality check
|
|
65
|
+
eq(otherArray: any[]): boolean;
|
|
66
|
+
eq(x: any, y: any): boolean;
|
|
67
|
+
|
|
68
|
+
// Divide into nested arrays
|
|
69
|
+
divide(x: number): T[][];
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
export {}; // is required.
|
|
73
|
+
|
|
74
|
+
// Append alias for push.
|
|
75
|
+
Array.prototype.append = Array.prototype.push;
|
|
76
|
+
|
|
77
|
+
// Get the first and last item.
|
|
78
|
+
Array.prototype.first = function() {
|
|
79
|
+
return this[0];
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
// Get the first and last item.
|
|
83
|
+
Array.prototype.last = function() {
|
|
84
|
+
return this[this.length - 1];
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
// Iteration function for arrays.
|
|
88
|
+
Array.prototype.iterate = function(start: any, end?: any, handler?: any): any {
|
|
89
|
+
if (typeof start === "function") {
|
|
90
|
+
handler = start;
|
|
91
|
+
start = null;
|
|
92
|
+
}
|
|
93
|
+
if (start == null) {
|
|
94
|
+
start = 0;
|
|
95
|
+
}
|
|
96
|
+
if (end == null) {
|
|
97
|
+
end = this.length;
|
|
98
|
+
}
|
|
99
|
+
for (let i = start; i < end; i++) {
|
|
100
|
+
const res = handler(this[i]);
|
|
101
|
+
if (res != null && !(res instanceof Promise)) {
|
|
102
|
+
return res;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
return null;
|
|
106
|
+
};
|
|
107
|
+
Array.prototype.iterate_async = function(start: any, end?: any, handler?: any): any {
|
|
108
|
+
if (typeof start === "function") {
|
|
109
|
+
handler = start;
|
|
110
|
+
start = null;
|
|
111
|
+
}
|
|
112
|
+
if (start == null) {
|
|
113
|
+
start = 0;
|
|
114
|
+
}
|
|
115
|
+
if (end == null) {
|
|
116
|
+
end = this.length;
|
|
117
|
+
}
|
|
118
|
+
let promises: Promise<any>[] = [];
|
|
119
|
+
for (let i = start; i < end; i++) {
|
|
120
|
+
const res = handler(this[i]);
|
|
121
|
+
if (res != null && res instanceof Promise) {
|
|
122
|
+
promises.push(res);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
return promises;
|
|
126
|
+
};
|
|
127
|
+
Array.prototype.iterate_async_await = async function(start: any, end?: any, handler?: any): Promise<any> {
|
|
128
|
+
if (typeof start === "function") {
|
|
129
|
+
handler = start;
|
|
130
|
+
start = null;
|
|
131
|
+
}
|
|
132
|
+
if (start == null) {
|
|
133
|
+
start = 0;
|
|
134
|
+
}
|
|
135
|
+
if (end == null) {
|
|
136
|
+
end = this.length;
|
|
137
|
+
}
|
|
138
|
+
for (let i = start; i < end; i++) {
|
|
139
|
+
const res = handler(this[i]);
|
|
140
|
+
if (res != null && res instanceof Promise) {
|
|
141
|
+
const pres = await res;
|
|
142
|
+
if (pres != null) {
|
|
143
|
+
return pres;
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
return null;
|
|
148
|
+
};
|
|
149
|
+
|
|
150
|
+
// Iteration function for arrays to build an array by another array, it appends all the returned callback values into an array and returns that array. Quite useful for volt.
|
|
151
|
+
Array.prototype.iterate_append = function(start: any, end?: any, handler?: any): any {
|
|
152
|
+
if (typeof start === "function") {
|
|
153
|
+
handler = start;
|
|
154
|
+
start = null;
|
|
155
|
+
}
|
|
156
|
+
if (start == null) {
|
|
157
|
+
start = 0;
|
|
158
|
+
}
|
|
159
|
+
if (end == null) {
|
|
160
|
+
end = this.length;
|
|
161
|
+
}
|
|
162
|
+
const items: any[] = [];
|
|
163
|
+
for (let i = start; i < end; i++) {
|
|
164
|
+
items.append(handler(this[i]));
|
|
165
|
+
}
|
|
166
|
+
return items;
|
|
167
|
+
};
|
|
168
|
+
|
|
169
|
+
// Iterate an array reversed.
|
|
170
|
+
Array.prototype.iterate_reversed = function(start: any, end?: any, handler?: any): any {
|
|
171
|
+
if (handler == null && start != null) {
|
|
172
|
+
handler = start;
|
|
173
|
+
start = null;
|
|
174
|
+
}
|
|
175
|
+
if (start == null) {
|
|
176
|
+
start = 0;
|
|
177
|
+
}
|
|
178
|
+
if (end == null) {
|
|
179
|
+
end = this.length;
|
|
180
|
+
}
|
|
181
|
+
for (let i = end - 1; i >= start; i--) {
|
|
182
|
+
const res = handler(this[i]);
|
|
183
|
+
if (res != null && !(res instanceof Promise)) {
|
|
184
|
+
return res;
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
return null;
|
|
188
|
+
};
|
|
189
|
+
Array.prototype.iterate_reversed_async = function(start: any, end?: any, handler?: any): any {
|
|
190
|
+
if (handler == null && start != null) {
|
|
191
|
+
handler = start;
|
|
192
|
+
start = null;
|
|
193
|
+
}
|
|
194
|
+
if (start == null) {
|
|
195
|
+
start = 0;
|
|
196
|
+
}
|
|
197
|
+
if (end == null) {
|
|
198
|
+
end = this.length;
|
|
199
|
+
}
|
|
200
|
+
let promises: Promise<any>[] = [];
|
|
201
|
+
for (let i = end - 1; i >= start; i--) {
|
|
202
|
+
const res = handler(this[i]);
|
|
203
|
+
if (res != null && res instanceof Promise) {
|
|
204
|
+
promises.push(res);
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
return promises;
|
|
208
|
+
};
|
|
209
|
+
Array.prototype.iterate_reversed_async_await = async function(start: any, end?: any, handler?: any): Promise<any> {
|
|
210
|
+
if (handler == null && start != null) {
|
|
211
|
+
handler = start;
|
|
212
|
+
start = null;
|
|
213
|
+
}
|
|
214
|
+
if (start == null) {
|
|
215
|
+
start = 0;
|
|
216
|
+
}
|
|
217
|
+
if (end == null) {
|
|
218
|
+
end = this.length;
|
|
219
|
+
}
|
|
220
|
+
for (let i = end - 1; i >= start; i--) {
|
|
221
|
+
const res = handler(this[i]);
|
|
222
|
+
if (res != null && res instanceof Promise) {
|
|
223
|
+
const pres = await res;
|
|
224
|
+
if (pres != null) {
|
|
225
|
+
return pres;
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
return null;
|
|
230
|
+
};
|
|
231
|
+
|
|
232
|
+
// Drop an item by the item itself.
|
|
233
|
+
Array.prototype.drop = function(item) {
|
|
234
|
+
// @ts-expect-error
|
|
235
|
+
const dropped = new this.constructor(); // for when a class extends Array.
|
|
236
|
+
for (let i = 0; i < this.length; i++) {
|
|
237
|
+
if (this[i] !== item) {
|
|
238
|
+
dropped.push(this[i])
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
return dropped;
|
|
242
|
+
};
|
|
243
|
+
|
|
244
|
+
// Drop an item by index.
|
|
245
|
+
Array.prototype.drop_index = function(index) {
|
|
246
|
+
// @ts-expect-error
|
|
247
|
+
const dropped = new this.constructor(); // for when a class extends Array.
|
|
248
|
+
for (let i = 0; i < this.length; i++) {
|
|
249
|
+
if (i != index) {
|
|
250
|
+
dropped.push(this[i])
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
return dropped;
|
|
254
|
+
};
|
|
255
|
+
|
|
256
|
+
// Drop duplicate items from an array.
|
|
257
|
+
Array.prototype.drop_duplicates = function() {
|
|
258
|
+
return this.reduce((accumulator, val) => {
|
|
259
|
+
if (!accumulator.includes(val)) {
|
|
260
|
+
accumulator.push(val);
|
|
261
|
+
}
|
|
262
|
+
return accumulator;
|
|
263
|
+
}, []);
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
// Limit from end, always creates a new array.
|
|
267
|
+
Array.prototype.limit_from_end = function<T extends any>(limit) {
|
|
268
|
+
let limited: T[] = [];
|
|
269
|
+
if (this.length > limit) {
|
|
270
|
+
for (let i = this.length - limit; i < this.length; i++) {
|
|
271
|
+
limited.push(this[i]);
|
|
272
|
+
}
|
|
273
|
+
} else {
|
|
274
|
+
for (let i = 0; i < this.length; i++) {
|
|
275
|
+
limited.push(this[i]);
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
return limited;
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
// Remove all items that equal the item from the array.
|
|
282
|
+
Array.prototype.remove = function<T extends any>(item: T) {
|
|
283
|
+
let removed: T[] = [];
|
|
284
|
+
this.iterate((i) => {
|
|
285
|
+
if (i != item) {
|
|
286
|
+
removed.push(i);
|
|
287
|
+
}
|
|
288
|
+
})
|
|
289
|
+
return removed;
|
|
290
|
+
};
|
|
291
|
+
|
|
292
|
+
// Check if an array equals another array.
|
|
293
|
+
// When the second parameter is not passed `this` will be used as `x` and `x` will be used as `y`.
|
|
294
|
+
Array.prototype.eq = function(x?: any[], y?: any[]) {
|
|
295
|
+
const eq = (x, y) => {
|
|
296
|
+
|
|
297
|
+
// Arrays.
|
|
298
|
+
if (Array.isArray(x)) {
|
|
299
|
+
if (
|
|
300
|
+
Array.isArray(y) === false ||
|
|
301
|
+
x.length !== y.length
|
|
302
|
+
) {
|
|
303
|
+
return false;
|
|
304
|
+
}
|
|
305
|
+
for (let i = 0; i < x.length; i++) {
|
|
306
|
+
if (typeof x[i] === "object" || typeof y[i] === "object") {
|
|
307
|
+
const result = eq(x[i], y[i]);
|
|
308
|
+
if (result === false) {
|
|
309
|
+
return false;
|
|
310
|
+
}
|
|
311
|
+
} else if (x[i] !== y[i]) {
|
|
312
|
+
return false;
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
return true;
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
// Objects.
|
|
319
|
+
else if (typeof x === "object") {
|
|
320
|
+
if (
|
|
321
|
+
typeof y !== "object" ||
|
|
322
|
+
Array.isArray(y)
|
|
323
|
+
) {
|
|
324
|
+
return false;
|
|
325
|
+
}
|
|
326
|
+
const x_keys = Object.keys(x);
|
|
327
|
+
const y_keys = Object.keys(y);
|
|
328
|
+
if (eq(x_keys, y_keys) === false) {
|
|
329
|
+
return false;
|
|
330
|
+
}
|
|
331
|
+
for (let i = 0; i < x_keys.length; i++) {
|
|
332
|
+
if (typeof x[x_keys[i]] === "object" || typeof y[y_keys[i]] === "object") {
|
|
333
|
+
const result = eq(x[x_keys[i]], y[y_keys[i]]);
|
|
334
|
+
if (result === false) {
|
|
335
|
+
return false;
|
|
336
|
+
}
|
|
337
|
+
} else if (x[x_keys[i]] !== y[y_keys[i]]) {
|
|
338
|
+
return false;
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
return true;
|
|
342
|
+
}
|
|
343
|
+
|
|
344
|
+
// Others.
|
|
345
|
+
else if (typeof x !== typeof y) { return false; }
|
|
346
|
+
return x === y;
|
|
347
|
+
}
|
|
348
|
+
if (y == null) {
|
|
349
|
+
y = x;
|
|
350
|
+
x = this;
|
|
351
|
+
}
|
|
352
|
+
return eq(x, y);
|
|
353
|
+
}
|
|
354
|
+
|
|
355
|
+
// Divide into nested arrays.
|
|
356
|
+
Array.prototype.divide = function(x) {
|
|
357
|
+
if (typeof x !== 'number' || x <= 0) {
|
|
358
|
+
throw new Error('Number of nested arrays must be a positive number');
|
|
359
|
+
}
|
|
360
|
+
const result: any[] = [];
|
|
361
|
+
const nested_len = Math.ceil(this.length / x);
|
|
362
|
+
for (let i = 0; i < this.length; i += nested_len) {
|
|
363
|
+
result.push(this.slice(i, i + nested_len));
|
|
364
|
+
}
|
|
365
|
+
return result;
|
|
366
|
+
}
|