@splendidlabz/utils 1.5.1 → 1.7.0
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/CHANGELOG.md +13 -0
- package/dist/cjs/dom/accessibility.cjs +53 -0
- package/dist/cjs/dom/actions/index.cjs +407 -0
- package/dist/cjs/dom/actions/masonry.cjs +149 -0
- package/dist/cjs/dom/actions/prefer-horizontal-scroll.cjs +157 -0
- package/dist/cjs/dom/actions/sticky.cjs +211 -0
- package/dist/cjs/dom/bounding-box.cjs +70 -0
- package/dist/cjs/dom/clipboard.cjs +37 -0
- package/dist/cjs/dom/cookie.cjs +57 -0
- package/dist/cjs/dom/css-vars.cjs +57 -0
- package/dist/cjs/dom/events.cjs +95 -0
- package/dist/cjs/dom/focusable.cjs +143 -0
- package/dist/cjs/dom/font-size.cjs +74 -0
- package/dist/cjs/dom/get-element.cjs +98 -0
- package/dist/cjs/dom/hash.cjs +35 -0
- package/dist/cjs/dom/index.cjs +1197 -0
- package/dist/cjs/dom/keyboard.cjs +51 -0
- package/dist/cjs/dom/local-store.cjs +79 -0
- package/dist/cjs/dom/media.cjs +59 -0
- package/dist/cjs/dom/observers/index.cjs +156 -0
- package/dist/cjs/dom/observers/intersection-observer.cjs +91 -0
- package/dist/cjs/dom/observers/mutation-observer.cjs +95 -0
- package/dist/cjs/dom/observers/observer.cjs +48 -0
- package/dist/cjs/dom/observers/resize-observer.cjs +82 -0
- package/dist/cjs/dom/pkce.cjs +53 -0
- package/dist/cjs/dom/query-params.cjs +38 -0
- package/dist/cjs/dom/random-string.cjs +38 -0
- package/dist/cjs/dom/sanitize.cjs +65 -0
- package/dist/cjs/dom/session-store.cjs +49 -0
- package/dist/cjs/dom/spam-prevention.cjs +50 -0
- package/dist/cjs/dom/trap-focus.cjs +197 -0
- package/dist/cjs/dom/ui/aria-current.cjs +43 -0
- package/dist/cjs/dom/ui/inconsistent-button-fix.cjs +35 -0
- package/dist/cjs/dom/ui/index.cjs +105 -0
- package/dist/cjs/dom/ui/scroll-container.cjs +47 -0
- package/dist/cjs/dom/ui/traverse-and-scramble.cjs +50 -0
- package/dist/cjs/lib/arrays/index.cjs +139 -0
- package/dist/cjs/lib/arrays/item-position.cjs +42 -0
- package/dist/cjs/lib/arrays/join.cjs +43 -0
- package/dist/cjs/lib/arrays/shuffle.cjs +42 -0
- package/dist/cjs/lib/arrays/sort.cjs +67 -0
- package/dist/cjs/lib/arrays/split-array.cjs +41 -0
- package/dist/cjs/lib/arrays/unique.cjs +31 -0
- package/dist/cjs/lib/auth/index.cjs +53 -0
- package/dist/cjs/lib/auth/route-manager.cjs +51 -0
- package/dist/cjs/lib/checks.cjs +58 -0
- package/dist/cjs/lib/date/days.cjs +37 -0
- package/dist/cjs/lib/date/index.cjs +206 -0
- package/dist/cjs/lib/date/months.cjs +102 -0
- package/dist/cjs/lib/date/time.cjs +115 -0
- package/dist/cjs/lib/form/form-data.cjs +83 -0
- package/dist/cjs/lib/form/index.cjs +122 -0
- package/dist/cjs/lib/form/sanitize.cjs +61 -0
- package/dist/cjs/lib/functions/debounce.cjs +43 -0
- package/dist/cjs/lib/functions/env.cjs +32 -0
- package/dist/cjs/lib/functions/functional.cjs +62 -0
- package/dist/cjs/lib/functions/index.cjs +122 -0
- package/dist/cjs/lib/functions/throttle.cjs +38 -0
- package/dist/cjs/lib/functions/timeout.cjs +41 -0
- package/dist/cjs/lib/hash.cjs +43 -0
- package/dist/cjs/lib/index.cjs +1141 -0
- package/dist/cjs/lib/numbers/index.cjs +49 -0
- package/dist/cjs/lib/numbers/math.cjs +36 -0
- package/dist/cjs/lib/objects/camelcase-keys.cjs +80 -0
- package/dist/cjs/lib/objects/empty.cjs +39 -0
- package/dist/cjs/lib/objects/equal.cjs +47 -0
- package/dist/cjs/lib/objects/extend.cjs +146 -0
- package/dist/cjs/lib/objects/flatten.cjs +48 -0
- package/dist/cjs/lib/objects/index.cjs +375 -0
- package/dist/cjs/lib/objects/json.cjs +35 -0
- package/dist/cjs/lib/objects/loop.cjs +40 -0
- package/dist/cjs/lib/objects/mix/mix.cjs +112 -0
- package/dist/cjs/lib/objects/nested-property.cjs +45 -0
- package/dist/cjs/lib/objects/normalize-object.cjs +106 -0
- package/dist/cjs/lib/objects/omit-empty.cjs +40 -0
- package/dist/cjs/lib/objects/size.cjs +63 -0
- package/dist/cjs/lib/objects/split.cjs +39 -0
- package/dist/cjs/lib/promises/index.cjs +69 -0
- package/dist/cjs/lib/promises/reject.cjs +67 -0
- package/dist/cjs/lib/sse.cjs +99 -0
- package/dist/cjs/lib/strings/convert-case/convert-case.cjs +96 -0
- package/dist/cjs/lib/strings/index.cjs +190 -0
- package/dist/cjs/lib/strings/markdown.cjs +59 -0
- package/dist/cjs/lib/strings/name.cjs +46 -0
- package/dist/cjs/lib/strings/pluralize.cjs +40 -0
- package/dist/cjs/lib/strings/query-string.cjs +43 -0
- package/dist/cjs/lib/style/index.cjs +64 -0
- package/dist/cjs/lib/symbols/index.cjs +40 -0
- package/dist/cjs/lib/symbols/symbols.cjs +38 -0
- package/dist/cjs/node/common.cjs +42 -0
- package/dist/cjs/node/dirname.cjs +49 -0
- package/dist/cjs/node/file-cache.cjs +196 -0
- package/dist/cjs/node/file.cjs +50 -0
- package/dist/cjs/node/hash.cjs +42 -0
- package/dist/cjs/node/index.cjs +290 -0
- package/dist/cjs/node/pkce.cjs +62 -0
- package/dist/cjs/node/random-string.cjs +43 -0
- package/dist/cjs/node/sanitize.cjs +65 -0
- package/dist/esm/dom/accessibility.js +27 -0
- package/dist/esm/dom/actions/index.js +379 -0
- package/dist/esm/dom/actions/masonry.js +123 -0
- package/dist/esm/dom/actions/prefer-horizontal-scroll.js +131 -0
- package/dist/esm/dom/actions/sticky.js +185 -0
- package/dist/esm/dom/bounding-box.js +45 -0
- package/dist/esm/dom/clipboard.js +13 -0
- package/dist/esm/dom/cookie.js +32 -0
- package/dist/esm/dom/css-vars.js +28 -0
- package/dist/esm/dom/events.js +67 -0
- package/dist/esm/dom/focusable.js +118 -0
- package/dist/esm/dom/font-size.js +44 -0
- package/dist/esm/dom/get-element.js +67 -0
- package/dist/esm/dom/hash.js +11 -0
- package/dist/esm/dom/index.js +1100 -0
- package/dist/esm/dom/keyboard.js +23 -0
- package/dist/esm/dom/local-store.js +55 -0
- package/dist/esm/dom/media.js +33 -0
- package/dist/esm/dom/observers/index.js +128 -0
- package/dist/esm/dom/observers/intersection-observer.js +65 -0
- package/dist/esm/dom/observers/mutation-observer.js +69 -0
- package/dist/esm/dom/observers/observer.js +22 -0
- package/dist/esm/dom/observers/resize-observer.js +56 -0
- package/dist/esm/dom/pkce.js +27 -0
- package/dist/esm/dom/query-params.js +14 -0
- package/dist/esm/dom/random-string.js +13 -0
- package/dist/esm/dom/sanitize.js +31 -0
- package/dist/esm/dom/session-store.js +25 -0
- package/dist/esm/dom/spam-prevention.js +26 -0
- package/dist/esm/dom/trap-focus.js +170 -0
- package/dist/esm/dom/ui/aria-current.js +18 -0
- package/dist/esm/dom/ui/inconsistent-button-fix.js +11 -0
- package/dist/esm/dom/ui/index.js +75 -0
- package/dist/esm/dom/ui/scroll-container.js +23 -0
- package/dist/esm/dom/ui/traverse-and-scramble.js +26 -0
- package/dist/esm/lib/arrays/index.js +106 -0
- package/dist/esm/lib/arrays/item-position.js +16 -0
- package/dist/esm/lib/arrays/join.js +17 -0
- package/dist/esm/lib/arrays/shuffle.js +18 -0
- package/dist/esm/lib/arrays/sort.js +41 -0
- package/dist/esm/lib/arrays/split-array.js +17 -0
- package/dist/esm/lib/arrays/unique.js +7 -0
- package/dist/esm/lib/auth/index.js +26 -0
- package/dist/esm/lib/auth/route-manager.js +26 -0
- package/dist/esm/lib/checks.js +31 -0
- package/dist/esm/lib/date/days.js +13 -0
- package/dist/esm/lib/date/index.js +171 -0
- package/dist/esm/lib/date/months.js +78 -0
- package/dist/esm/lib/date/time.js +82 -0
- package/dist/esm/lib/form/form-data.js +58 -0
- package/dist/esm/lib/form/index.js +92 -0
- package/dist/esm/lib/form/sanitize.js +35 -0
- package/dist/esm/lib/functions/debounce.js +19 -0
- package/dist/esm/lib/functions/env.js +8 -0
- package/dist/esm/lib/functions/functional.js +35 -0
- package/dist/esm/lib/functions/index.js +87 -0
- package/dist/esm/lib/functions/throttle.js +14 -0
- package/dist/esm/lib/functions/timeout.js +15 -0
- package/dist/esm/lib/hash.js +19 -0
- package/dist/esm/lib/index.js +1023 -0
- package/dist/esm/lib/numbers/index.js +21 -0
- package/dist/esm/lib/numbers/math.js +11 -0
- package/dist/esm/lib/objects/camelcase-keys.js +54 -0
- package/dist/esm/lib/objects/empty.js +14 -0
- package/dist/esm/lib/objects/equal.js +12 -0
- package/dist/esm/lib/objects/extend.js +120 -0
- package/dist/esm/lib/objects/flatten.js +22 -0
- package/dist/esm/lib/objects/index.js +321 -0
- package/dist/esm/lib/objects/json.js +11 -0
- package/dist/esm/lib/objects/loop.js +15 -0
- package/dist/esm/lib/objects/mix/mix.js +87 -0
- package/dist/esm/lib/objects/nested-property.js +19 -0
- package/dist/esm/lib/objects/normalize-object.js +80 -0
- package/dist/esm/lib/objects/omit-empty.js +16 -0
- package/dist/esm/lib/objects/size.js +39 -0
- package/dist/esm/lib/objects/split.js +15 -0
- package/dist/esm/lib/promises/index.js +33 -0
- package/dist/esm/lib/promises/reject.js +33 -0
- package/dist/esm/lib/sse.js +72 -0
- package/dist/esm/lib/strings/convert-case/convert-case.js +65 -0
- package/dist/esm/lib/strings/index.js +140 -0
- package/dist/esm/lib/strings/markdown.js +34 -0
- package/dist/esm/lib/strings/name.js +22 -0
- package/dist/esm/lib/strings/pluralize.js +6 -0
- package/dist/esm/lib/strings/query-string.js +17 -0
- package/dist/esm/lib/style/index.js +38 -0
- package/dist/esm/lib/symbols/index.js +13 -0
- package/dist/esm/lib/symbols/symbols.js +13 -0
- package/dist/esm/node/common.js +8 -0
- package/dist/esm/node/dirname.js +14 -0
- package/dist/esm/node/file-cache.js +158 -0
- package/dist/esm/node/file.js +15 -0
- package/dist/esm/node/hash.js +8 -0
- package/dist/esm/node/index.js +243 -0
- package/dist/esm/node/pkce.js +28 -0
- package/dist/esm/node/random-string.js +9 -0
- package/dist/esm/node/sanitize.js +31 -0
- package/dist/{dom/accessibility.d.ts → types/dom/accessibility.d.cts} +5 -3
- package/dist/types/dom/actions/index.d.cts +3 -0
- package/dist/types/dom/actions/masonry.d.cts +5 -0
- package/dist/types/dom/actions/prefer-horizontal-scroll.d.cts +5 -0
- package/dist/types/dom/actions/sticky.d.cts +5 -0
- package/dist/{dom/bounding-box.d.ts → types/dom/bounding-box.d.cts} +4 -2
- package/dist/{dom/clipboard.d.ts → types/dom/clipboard.d.cts} +3 -1
- package/dist/types/dom/cookie.d.cts +7 -0
- package/dist/types/dom/css-vars.d.cts +6 -0
- package/dist/types/dom/events.d.cts +20 -0
- package/dist/{dom/focusable.d.ts → types/dom/focusable.d.cts} +5 -3
- package/dist/types/dom/font-size.d.cts +7 -0
- package/dist/{dom/get-element.d.ts → types/dom/get-element.d.cts} +10 -8
- package/dist/types/dom/hash.d.cts +3 -0
- package/dist/types/dom/index.d.cts +30 -0
- package/dist/{dom/keyboard.d.ts → types/dom/keyboard.d.cts} +7 -5
- package/dist/{dom/local-store.d.ts → types/dom/local-store.d.cts} +3 -1
- package/dist/types/dom/media.d.cts +5 -0
- package/dist/types/dom/observers/index.d.cts +3 -0
- package/dist/{dom/observers/intersection-observer.d.ts → types/dom/observers/intersection-observer.d.cts} +3 -1
- package/dist/{dom/observers/mutation-observer.d.ts → types/dom/observers/mutation-observer.d.cts} +3 -1
- package/dist/types/dom/observers/observer.d.cts +3 -0
- package/dist/{dom/observers/resize-observer.d.ts → types/dom/observers/resize-observer.d.cts} +3 -1
- package/dist/{node/pkce.d.ts → types/dom/pkce.d.cts} +3 -1
- package/dist/{dom/query-params.d.ts → types/dom/query-params.d.cts} +3 -1
- package/dist/{dom/random-string.d.ts → types/dom/random-string.d.cts} +4 -2
- package/dist/{dom/sanitize.d.ts → types/dom/sanitize.d.cts} +3 -1
- package/dist/{dom/session-store.d.ts → types/dom/session-store.d.cts} +3 -1
- package/dist/types/dom/spam-prevention.d.cts +14 -0
- package/dist/{dom/trap-focus.d.ts → types/dom/trap-focus.d.cts} +8 -4
- package/dist/types/dom/ui/aria-current.d.cts +7 -0
- package/dist/{dom/ui/inconsistent-button-fix.d.ts → types/dom/ui/inconsistent-button-fix.d.cts} +3 -1
- package/dist/types/dom/ui/index.d.cts +4 -0
- package/dist/types/dom/ui/scroll-container.d.cts +3 -0
- package/dist/{dom/ui/traverse-and-scramble.d.ts → types/dom/ui/traverse-and-scramble.d.cts} +3 -1
- package/dist/types/lib/arrays/index.d.cts +6 -0
- package/dist/{lib/arrays/item-position.d.ts → types/lib/arrays/item-position.d.cts} +5 -3
- package/dist/{lib/arrays/join.d.ts → types/lib/arrays/join.d.cts} +3 -1
- package/dist/types/lib/arrays/shuffle.d.cts +3 -0
- package/dist/{lib/arrays/sort.d.ts → types/lib/arrays/sort.d.cts} +3 -1
- package/dist/types/lib/arrays/split-array.d.cts +6 -0
- package/dist/types/lib/arrays/unique.d.cts +3 -0
- package/dist/types/lib/auth/index.d.cts +1 -0
- package/dist/{lib/auth/route-manager.d.ts → types/lib/auth/route-manager.d.cts} +5 -2
- package/{lib/checks.js → dist/types/lib/checks.d.cts} +6 -11
- package/dist/{lib/date/days.d.ts → types/lib/date/days.d.cts} +3 -1
- package/dist/types/lib/date/index.d.cts +3 -0
- package/dist/{lib/date/months.d.ts → types/lib/date/months.d.cts} +3 -1
- package/dist/types/lib/date/time.d.cts +21 -0
- package/dist/types/lib/form/form-data.d.cts +9 -0
- package/dist/types/lib/form/index.d.cts +2 -0
- package/dist/{lib/form/sanitize.d.ts → types/lib/form/sanitize.d.cts} +6 -4
- package/dist/types/lib/functions/debounce.d.cts +3 -0
- package/dist/types/lib/functions/env.d.cts +3 -0
- package/dist/types/lib/functions/functional.d.cts +6 -0
- package/dist/types/lib/functions/index.d.cts +5 -0
- package/dist/types/lib/functions/throttle.d.cts +3 -0
- package/dist/types/lib/functions/timeout.d.cts +5 -0
- package/dist/types/lib/hash.d.cts +3 -0
- package/dist/types/lib/index.d.cts +43 -0
- package/dist/types/lib/numbers/index.d.cts +5 -0
- package/dist/types/lib/numbers/math.d.cts +4 -0
- package/dist/types/lib/objects/camelcase-keys.d.cts +3 -0
- package/dist/types/lib/objects/empty.d.cts +4 -0
- package/dist/types/lib/objects/equal.d.cts +4 -0
- package/dist/types/lib/objects/extend.d.cts +6 -0
- package/dist/types/lib/objects/flatten.d.cts +6 -0
- package/dist/types/lib/objects/index.d.cts +13 -0
- package/dist/types/lib/objects/json.d.cts +3 -0
- package/dist/types/lib/objects/loop.d.cts +4 -0
- package/dist/types/lib/objects/mix/mix.d.cts +4 -0
- package/dist/{lib/objects/nested-property.d.ts → types/lib/objects/nested-property.d.cts} +5 -3
- package/dist/types/lib/objects/normalize-object.d.cts +3 -0
- package/dist/types/lib/objects/omit-empty.d.cts +3 -0
- package/dist/types/lib/objects/size.d.cts +3 -0
- package/dist/{lib/objects/split.d.ts → types/lib/objects/split.d.cts} +5 -1
- package/dist/types/lib/promises/index.d.cts +1 -0
- package/dist/types/lib/promises/reject.d.cts +5 -0
- package/dist/{lib/sse.d.ts → types/lib/sse.d.cts} +4 -2
- package/dist/types/lib/strings/convert-case/convert-case.d.cts +10 -0
- package/dist/types/lib/strings/index.d.cts +5 -0
- package/dist/{lib/strings/markdown.d.ts → types/lib/strings/markdown.d.cts} +4 -2
- package/dist/types/lib/strings/name.d.cts +7 -0
- package/dist/types/lib/strings/pluralize.d.cts +3 -0
- package/dist/types/lib/strings/query-string.d.cts +10 -0
- package/dist/types/lib/style/index.d.cts +3 -0
- package/dist/types/lib/symbols/index.d.cts +1 -0
- package/dist/types/lib/symbols/symbols.d.cts +4 -0
- package/dist/types/node/common.d.cts +3 -0
- package/dist/types/node/dirname.d.cts +9 -0
- package/dist/{node/file-cache.d.ts → types/node/file-cache.d.cts} +7 -5
- package/dist/types/node/file.d.cts +4 -0
- package/dist/types/node/hash.d.cts +3 -0
- package/dist/types/node/index.d.cts +7 -0
- package/dist/{dom/pkce.d.ts → types/node/pkce.d.cts} +3 -1
- package/dist/types/node/random-string.d.cts +3 -0
- package/dist/{node/sanitize.d.ts → types/node/sanitize.d.cts} +3 -1
- package/package.json +29 -16
- package/{dom → src/dom}/cookie.js +8 -7
- package/{dom → src/dom}/index.js +1 -0
- package/{dom → src/dom}/random-string.js +1 -1
- package/src/dom/random-string.test.js +13 -0
- package/src/dom/spam-prevention.js +39 -0
- package/{dom → src/dom}/ui/aria-current.js +1 -1
- package/{lib → src/lib}/arrays/index.js +1 -0
- package/{lib → src/lib}/arrays/sort.js +6 -6
- package/src/lib/arrays/split-array.js +15 -0
- package/{lib → src/lib}/auth/route-manager.js +1 -0
- package/src/lib/checks.js +53 -0
- package/{lib → src/lib}/date/time.js +36 -5
- package/src/lib/hash.js +18 -0
- package/src/lib/hash.spec.js +163 -0
- package/{lib → src/lib}/index.js +1 -0
- package/{lib → src/lib}/objects/mix/mix.js +30 -11
- package/{lib → src/lib}/objects/mix/mix.test.js +57 -1
- package/{lib → src/lib}/objects/split.js +1 -1
- package/{lib → src/lib}/strings/index.js +1 -0
- package/src/lib/strings/name.js +24 -0
- package/src/lib/strings/name.test.js +67 -0
- package/src/lib/strings/pluralize.js +2 -0
- package/{lib → src/lib}/style/index.js +2 -0
- package/src/node/random-string.js +10 -0
- package/src/node/random-string.test.js +15 -0
- package/tsconfig.json +6 -6
- package/tsup.config.js +38 -0
- package/tsup.config.mjs +43 -0
- package/dist/dom/actions/index.d.ts +0 -3
- package/dist/dom/actions/masonry.d.ts +0 -3
- package/dist/dom/actions/prefer-horizontal-scroll.d.ts +0 -3
- package/dist/dom/actions/sticky.d.ts +0 -3
- package/dist/dom/cookie.d.ts +0 -11
- package/dist/dom/css-vars.d.ts +0 -4
- package/dist/dom/events.d.ts +0 -18
- package/dist/dom/font-size.d.ts +0 -5
- package/dist/dom/hash.d.ts +0 -1
- package/dist/dom/index.d.ts +0 -22
- package/dist/dom/media.d.ts +0 -3
- package/dist/dom/observers/index.d.ts +0 -3
- package/dist/dom/observers/observer.d.ts +0 -1
- package/dist/dom/ui/aria-current.d.ts +0 -5
- package/dist/dom/ui/index.d.ts +0 -4
- package/dist/dom/ui/scroll-container.d.ts +0 -1
- package/dist/lib/arrays/index.d.ts +0 -5
- package/dist/lib/arrays/shuffle.d.ts +0 -1
- package/dist/lib/arrays/unique.d.ts +0 -1
- package/dist/lib/auth/index.d.ts +0 -1
- package/dist/lib/checks.d.ts +0 -29
- package/dist/lib/date/index.d.ts +0 -3
- package/dist/lib/date/time.d.ts +0 -8
- package/dist/lib/form/form-data.d.ts +0 -7
- package/dist/lib/form/index.d.ts +0 -2
- package/dist/lib/functions/debounce.d.ts +0 -1
- package/dist/lib/functions/env.d.ts +0 -1
- package/dist/lib/functions/functional.d.ts +0 -4
- package/dist/lib/functions/index.d.ts +0 -5
- package/dist/lib/functions/throttle.d.ts +0 -1
- package/dist/lib/functions/timeout.d.ts +0 -3
- package/dist/lib/index.d.ts +0 -13
- package/dist/lib/numbers/index.d.ts +0 -2
- package/dist/lib/numbers/math.d.ts +0 -2
- package/dist/lib/objects/camelcase-keys.d.ts +0 -1
- package/dist/lib/objects/empty.d.ts +0 -2
- package/dist/lib/objects/equal.d.ts +0 -2
- package/dist/lib/objects/extend.d.ts +0 -4
- package/dist/lib/objects/flatten.d.ts +0 -4
- package/dist/lib/objects/index.d.ts +0 -13
- package/dist/lib/objects/json.d.ts +0 -1
- package/dist/lib/objects/loop.d.ts +0 -2
- package/dist/lib/objects/mix/mix.d.ts +0 -1
- package/dist/lib/objects/normalize-object.d.ts +0 -1
- package/dist/lib/objects/omit-empty.d.ts +0 -1
- package/dist/lib/objects/size.d.ts +0 -1
- package/dist/lib/promises/index.d.ts +0 -1
- package/dist/lib/promises/reject.d.ts +0 -3
- package/dist/lib/strings/convert-case/convert-case.d.ts +0 -8
- package/dist/lib/strings/index.d.ts +0 -4
- package/dist/lib/strings/pluralize.d.ts +0 -1
- package/dist/lib/strings/query-string.d.ts +0 -8
- package/dist/lib/style/index.d.ts +0 -1
- package/dist/lib/symbols/index.d.ts +0 -1
- package/dist/lib/symbols/symbols.d.ts +0 -2
- package/dist/node/common.d.ts +0 -1
- package/dist/node/dirname.d.ts +0 -7
- package/dist/node/file.d.ts +0 -2
- package/dist/node/hash.d.ts +0 -1
- package/dist/node/index.d.ts +0 -7
- package/dist/node/random-string.d.ts +0 -2
- package/lib/strings/pluralize.js +0 -2
- package/node/random-string.js +0 -10
- /package/{dom → src/dom}/accessibility.js +0 -0
- /package/{dom → src/dom}/actions/index.js +0 -0
- /package/{dom → src/dom}/actions/masonry.js +0 -0
- /package/{dom → src/dom}/actions/prefer-horizontal-scroll.js +0 -0
- /package/{dom → src/dom}/actions/sticky.js +0 -0
- /package/{dom → src/dom}/bounding-box.js +0 -0
- /package/{dom → src/dom}/clipboard.js +0 -0
- /package/{dom → src/dom}/css-vars.js +0 -0
- /package/{dom → src/dom}/events.js +0 -0
- /package/{dom → src/dom}/events.test.js +0 -0
- /package/{dom → src/dom}/focusable.js +0 -0
- /package/{dom → src/dom}/font-size.js +0 -0
- /package/{dom → src/dom}/get-element.js +0 -0
- /package/{dom → src/dom}/hash.js +0 -0
- /package/{dom → src/dom}/keyboard.js +0 -0
- /package/{dom → src/dom}/local-store.js +0 -0
- /package/{dom → src/dom}/media.js +0 -0
- /package/{dom → src/dom}/observers/index.js +0 -0
- /package/{dom → src/dom}/observers/intersection-observer.js +0 -0
- /package/{dom → src/dom}/observers/mutation-observer.js +0 -0
- /package/{dom → src/dom}/observers/observer.js +0 -0
- /package/{dom → src/dom}/observers/resize-observer.js +0 -0
- /package/{dom → src/dom}/pkce.js +0 -0
- /package/{dom → src/dom}/query-params.js +0 -0
- /package/{dom → src/dom}/sanitize.js +0 -0
- /package/{dom → src/dom}/session-store.js +0 -0
- /package/{dom → src/dom}/trap-focus.js +0 -0
- /package/{dom → src/dom}/ui/inconsistent-button-fix.js +0 -0
- /package/{dom → src/dom}/ui/index.js +0 -0
- /package/{dom → src/dom}/ui/scroll-container.js +0 -0
- /package/{dom → src/dom}/ui/traverse-and-scramble.js +0 -0
- /package/{lib → src/lib}/arrays/item-position.js +0 -0
- /package/{lib → src/lib}/arrays/join.js +0 -0
- /package/{lib → src/lib}/arrays/shuffle.js +0 -0
- /package/{lib → src/lib}/arrays/sort.spec.js +0 -0
- /package/{lib → src/lib}/arrays/unique.js +0 -0
- /package/{lib → src/lib}/auth/index.js +0 -0
- /package/{lib → src/lib}/date/days.js +0 -0
- /package/{lib → src/lib}/date/index.js +0 -0
- /package/{lib → src/lib}/date/months.js +0 -0
- /package/{lib → src/lib}/form/form-data.js +0 -0
- /package/{lib → src/lib}/form/index.js +0 -0
- /package/{lib → src/lib}/form/sanitize.js +0 -0
- /package/{lib → src/lib}/form/sanitize.spec.js +0 -0
- /package/{lib → src/lib}/functions/debounce.js +0 -0
- /package/{lib → src/lib}/functions/env.js +0 -0
- /package/{lib → src/lib}/functions/functional.js +0 -0
- /package/{lib → src/lib}/functions/index.js +0 -0
- /package/{lib → src/lib}/functions/throttle.js +0 -0
- /package/{lib → src/lib}/functions/timeout.js +0 -0
- /package/{lib → src/lib}/numbers/index.js +0 -0
- /package/{lib → src/lib}/numbers/math.js +0 -0
- /package/{lib → src/lib}/objects/camelcase-keys.js +0 -0
- /package/{lib → src/lib}/objects/camelcase-keys.test.js +0 -0
- /package/{lib → src/lib}/objects/empty.js +0 -0
- /package/{lib → src/lib}/objects/equal.js +0 -0
- /package/{lib → src/lib}/objects/extend.js +0 -0
- /package/{lib → src/lib}/objects/extend.test.js +0 -0
- /package/{lib → src/lib}/objects/flatten.js +0 -0
- /package/{lib → src/lib}/objects/index.js +0 -0
- /package/{lib → src/lib}/objects/json.js +0 -0
- /package/{lib → src/lib}/objects/loop.js +0 -0
- /package/{lib → src/lib}/objects/loop.test.js +0 -0
- /package/{lib → src/lib}/objects/mix/mix.md +0 -0
- /package/{lib → src/lib}/objects/nested-property.js +0 -0
- /package/{lib → src/lib}/objects/normalize-object.js +0 -0
- /package/{lib → src/lib}/objects/omit-empty.js +0 -0
- /package/{lib → src/lib}/objects/omit-empty.test.js +0 -0
- /package/{lib → src/lib}/objects/size.js +0 -0
- /package/{lib → src/lib}/promises/index.js +0 -0
- /package/{lib → src/lib}/promises/reject.js +0 -0
- /package/{lib → src/lib}/sse.js +0 -0
- /package/{lib → src/lib}/strings/convert-case/convert-case.js +0 -0
- /package/{lib → src/lib}/strings/convert-case/convert-case.md +0 -0
- /package/{lib → src/lib}/strings/convert-case/convert-case.test.js +0 -0
- /package/{lib → src/lib}/strings/markdown.js +0 -0
- /package/{lib → src/lib}/strings/query-string.js +0 -0
- /package/{lib → src/lib}/symbols/index.js +0 -0
- /package/{lib → src/lib}/symbols/symbols.js +0 -0
- /package/{node → src/node}/common.js +0 -0
- /package/{node → src/node}/dirname.js +0 -0
- /package/{node → src/node}/file-cache.js +0 -0
- /package/{node → src/node}/file.js +0 -0
- /package/{node → src/node}/hash.js +0 -0
- /package/{node → src/node}/index.js +0 -0
- /package/{node → src/node}/pkce.js +0 -0
- /package/{node → src/node}/sanitize.js +0 -0
- /package/{node → src/node}/sanitize.spec.js +0 -0
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* @param {Node|NodeList|Array} node - The node to check
|
|
4
4
|
* @returns {'element'|'nodelist'|'array'|undefined} The type of the node
|
|
5
5
|
*/
|
|
6
|
-
|
|
6
|
+
declare function getNodeType(node: Node | NodeList | any[]): "element" | "nodelist" | "array" | undefined;
|
|
7
7
|
/**
|
|
8
8
|
* Gets an element from a selector or returns the element if it's already an Element
|
|
9
9
|
* @param {string|Element} selector - CSS selector or Element
|
|
@@ -17,7 +17,7 @@ export function getNodeType(node: Node | NodeList | any[]): "element" | "nodelis
|
|
|
17
17
|
* const element = document.querySelector('.button')
|
|
18
18
|
* const sameElement = getElement(element) // Returns element directly
|
|
19
19
|
*/
|
|
20
|
-
|
|
20
|
+
declare function getElement(selector: string | Element): Element | undefined;
|
|
21
21
|
/**
|
|
22
22
|
* Gets all child elements of a node, handling Astro slots
|
|
23
23
|
* @param {Element} node - The parent node
|
|
@@ -30,7 +30,7 @@ export function getElement(selector: string | Element): Element | undefined;
|
|
|
30
30
|
* // Works with Astro slots
|
|
31
31
|
* const slotChildren = getChildrenElements(astroSlot)
|
|
32
32
|
*/
|
|
33
|
-
|
|
33
|
+
declare function getChildrenElements(node: Element): Element[];
|
|
34
34
|
/**
|
|
35
35
|
* Gets the parent element, skipping Astro-specific nodes
|
|
36
36
|
* @param {Element} element - The element to get the parent of
|
|
@@ -40,7 +40,7 @@ export function getChildrenElements(node: Element): Element[];
|
|
|
40
40
|
* // Get parent, skipping Astro slots
|
|
41
41
|
* const parent = getParentElement(element)
|
|
42
42
|
*/
|
|
43
|
-
|
|
43
|
+
declare function getParentElement(element: Element): Element | null;
|
|
44
44
|
/**
|
|
45
45
|
* Gets all sibling elements of an element (excluding the element itself)
|
|
46
46
|
* @param {Element} element - The element to get siblings of
|
|
@@ -50,7 +50,7 @@ export function getParentElement(element: Element): Element | null;
|
|
|
50
50
|
* // Get all siblings of an element
|
|
51
51
|
* const siblings = getSiblingElements(element)
|
|
52
52
|
*/
|
|
53
|
-
|
|
53
|
+
declare function getSiblingElements(element: Element): Element[];
|
|
54
54
|
/**
|
|
55
55
|
* Gets the index of an element among its siblings
|
|
56
56
|
* @param {Element} element - The element to get the index of
|
|
@@ -60,7 +60,7 @@ export function getSiblingElements(element: Element): Element[];
|
|
|
60
60
|
* // Get position of element among siblings
|
|
61
61
|
* const index = getSelfIndex(element)
|
|
62
62
|
*/
|
|
63
|
-
|
|
63
|
+
declare function getSelfIndex(element: Element): number;
|
|
64
64
|
/**
|
|
65
65
|
* Checks if an element is an ancestor of another element
|
|
66
66
|
* @param {Element} ancestor - The potential ancestor element
|
|
@@ -76,7 +76,7 @@ export function getSelfIndex(element: Element): number;
|
|
|
76
76
|
* // Check if div is an ancestor within 2 levels
|
|
77
77
|
* const isCloseAncestor = isAncestor(div, button, { searchLevels: 2 })
|
|
78
78
|
*/
|
|
79
|
-
|
|
79
|
+
declare function isAncestor(ancestor: Element, element: Element, { searchLevels }?: {
|
|
80
80
|
searchLevels?: number;
|
|
81
81
|
}): boolean;
|
|
82
82
|
/**
|
|
@@ -95,6 +95,8 @@ export function isAncestor(ancestor: Element, element: Element, { searchLevels }
|
|
|
95
95
|
* // Search up to 2 levels
|
|
96
96
|
* const limitedSiblings = getAncestorWithSiblings(element, { limit: 2 })
|
|
97
97
|
*/
|
|
98
|
-
|
|
98
|
+
declare function getAncestorWithSiblings(element: Element, { limit }?: {
|
|
99
99
|
limit?: number | boolean;
|
|
100
100
|
}): Element[] | null;
|
|
101
|
+
|
|
102
|
+
export { getAncestorWithSiblings, getChildrenElements, getElement, getNodeType, getParentElement, getSelfIndex, getSiblingElements, isAncestor };
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export { checkForAccessibleName, hasAccessibleName, isInvalidAriaPopup } from './accessibility.cjs';
|
|
2
|
+
export { masonry } from './actions/masonry.cjs';
|
|
3
|
+
export { preferHorizontalScroll } from './actions/prefer-horizontal-scroll.cjs';
|
|
4
|
+
export { sticky } from './actions/sticky.cjs';
|
|
5
|
+
export { boundingBox, boundingBoxRelativeToAncestor } from './bounding-box.cjs';
|
|
6
|
+
export { copyRichText } from './clipboard.cjs';
|
|
7
|
+
export { cookies, getCookie } from './cookie.cjs';
|
|
8
|
+
export { getCSSValue, getCSSVar, setCSSValue, setCSSVar } from './css-vars.cjs';
|
|
9
|
+
export { addListeners, createListeners, dispatchEvent, removeListeners, updateEvent } from './events.cjs';
|
|
10
|
+
export { Focusable, Focusables, getFocusableElements } from './focusable.cjs';
|
|
11
|
+
export { em, getUnit, lh, rem, toPx } from './font-size.cjs';
|
|
12
|
+
export { getAncestorWithSiblings, getChildrenElements, getElement, getNodeType, getParentElement, getSelfIndex, getSiblingElements, isAncestor } from './get-element.cjs';
|
|
13
|
+
export { sha256Hash } from './hash.cjs';
|
|
14
|
+
export { isArrowKey, isEscapeKey, isShiftTab, isTab, isTabKey } from './keyboard.cjs';
|
|
15
|
+
export { localStore } from './local-store.cjs';
|
|
16
|
+
export { imagesLoaded, mediaLoaded, videosLoaded } from './media.cjs';
|
|
17
|
+
export { intersectionObserver } from './observers/intersection-observer.cjs';
|
|
18
|
+
export { mutationObserver } from './observers/mutation-observer.cjs';
|
|
19
|
+
export { resizeObserver } from './observers/resize-observer.cjs';
|
|
20
|
+
export { PKCE } from './pkce.cjs';
|
|
21
|
+
export { queryParams } from './query-params.cjs';
|
|
22
|
+
export { randomString, uuid } from './random-string.cjs';
|
|
23
|
+
export { sanitize } from './sanitize.cjs';
|
|
24
|
+
export { sessionStore } from './session-store.cjs';
|
|
25
|
+
export { preventSpam } from './spam-prevention.cjs';
|
|
26
|
+
export { manageFocus, trapFocus } from './trap-focus.cjs';
|
|
27
|
+
export { markActiveAnchorIn, scrollToElement } from './ui/aria-current.cjs';
|
|
28
|
+
export { inconsistentButtonFix } from './ui/inconsistent-button-fix.cjs';
|
|
29
|
+
export { findScrollContainer } from './ui/scroll-container.cjs';
|
|
30
|
+
export { traverseAndScramble } from './ui/traverse-and-scramble.cjs';
|
|
@@ -3,28 +3,30 @@
|
|
|
3
3
|
* @param {KeyboardEvent} event - The keyboard event object
|
|
4
4
|
* @returns {boolean}
|
|
5
5
|
*/
|
|
6
|
-
|
|
6
|
+
declare function isTab(event: KeyboardEvent): boolean;
|
|
7
7
|
/**
|
|
8
8
|
* Event is shift + Tab
|
|
9
9
|
* @param {KeyboardEvent} event - The keyboard event object
|
|
10
10
|
* @returns {boolean}
|
|
11
11
|
*/
|
|
12
|
-
|
|
12
|
+
declare function isShiftTab(event: KeyboardEvent): boolean;
|
|
13
13
|
/**
|
|
14
14
|
* Matches both Tab and Shift+Tab
|
|
15
15
|
* @param {string} key - The keyboard key to check
|
|
16
16
|
* @returns {boolean} Whether the key is Tab
|
|
17
17
|
*/
|
|
18
|
-
|
|
18
|
+
declare function isTabKey(key: string): boolean;
|
|
19
19
|
/**
|
|
20
20
|
* Event is an arrow key
|
|
21
21
|
* @param {string} key - The keyboard key to check
|
|
22
22
|
* @returns {boolean} Whether the key is an arrow key (Up, Down, Left, Right)
|
|
23
23
|
*/
|
|
24
|
-
|
|
24
|
+
declare function isArrowKey(key: string): boolean;
|
|
25
25
|
/**
|
|
26
26
|
* Event is Escape key
|
|
27
27
|
* @param {string} key - The keyboard key to check
|
|
28
28
|
* @returns {boolean} Whether the key is Escape
|
|
29
29
|
*/
|
|
30
|
-
|
|
30
|
+
declare function isEscapeKey(key: string): boolean;
|
|
31
|
+
|
|
32
|
+
export { isArrowKey, isEscapeKey, isShiftTab, isTab, isTabKey };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
declare namespace localStore {
|
|
2
2
|
/**
|
|
3
3
|
* Retrieves a value from localStorage
|
|
4
4
|
* @param {string} key - The key to retrieve from localStorage
|
|
@@ -27,3 +27,5 @@ export namespace localStore {
|
|
|
27
27
|
*/
|
|
28
28
|
function removeMultiple(keys: string[]): void;
|
|
29
29
|
}
|
|
30
|
+
|
|
31
|
+
export { localStore };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
declare function intersectionObserver(target: any, options?: {}): {
|
|
2
2
|
observer: IntersectionObserver;
|
|
3
3
|
observe(target: any): void;
|
|
4
4
|
unobserve(target: any): void;
|
|
@@ -6,3 +6,5 @@ export function intersectionObserver(target: any, options?: {}): {
|
|
|
6
6
|
disconnect(): void;
|
|
7
7
|
destroy(): void;
|
|
8
8
|
};
|
|
9
|
+
|
|
10
|
+
export { intersectionObserver };
|
package/dist/{dom/observers/mutation-observer.d.ts → types/dom/observers/mutation-observer.d.cts}
RENAMED
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
|
|
1
|
+
declare function mutationObserver(target: any, options: any): {
|
|
2
2
|
observer: MutationObserver;
|
|
3
3
|
observe(target: any): void;
|
|
4
4
|
takeRecords(): MutationRecord[];
|
|
5
5
|
disconnect(): void;
|
|
6
6
|
destroy(): void;
|
|
7
7
|
};
|
|
8
|
+
|
|
9
|
+
export { mutationObserver };
|
package/dist/{dom/observers/resize-observer.d.ts → types/dom/observers/resize-observer.d.cts}
RENAMED
|
@@ -31,8 +31,10 @@
|
|
|
31
31
|
* console.log('Element resized:', detail.entry.contentRect);
|
|
32
32
|
* });
|
|
33
33
|
*/
|
|
34
|
-
|
|
34
|
+
declare function resizeObserver(target: Element | Window | NodeList | Element[], options: {
|
|
35
35
|
observe?: boolean;
|
|
36
36
|
callback?: Function;
|
|
37
37
|
observerOptions?: any;
|
|
38
38
|
}): any;
|
|
39
|
+
|
|
40
|
+
export { resizeObserver };
|
|
@@ -3,5 +3,7 @@
|
|
|
3
3
|
* Ensures first character is a letter so it can be used in HTML ids and classes
|
|
4
4
|
* This can actually be used everywhere, not just in the browser.
|
|
5
5
|
*/
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
declare function randomString(length?: number): string;
|
|
7
|
+
declare function uuid(): `${string}-${string}-${string}-${string}-${string}`;
|
|
8
|
+
|
|
9
|
+
export { randomString, uuid };
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Enhances a form element with spam detection capabilities
|
|
3
|
+
* @param {HTMLFormElement} form - The form element to enhance
|
|
4
|
+
* @param {Object} options - Configuration options
|
|
5
|
+
* @param {string} options.honeypotField - Name of the honeypot field (default: 'hp')
|
|
6
|
+
* @param {number} options.honeypotDuration - Minimum time in ms for legitimate form fill (default: 2000)
|
|
7
|
+
* @returns {Function} Cleanup function to remove listeners and method
|
|
8
|
+
*/
|
|
9
|
+
declare function preventSpam(form: HTMLFormElement, { honeypotField, honeypotDuration }?: {
|
|
10
|
+
honeypotField: string;
|
|
11
|
+
honeypotDuration: number;
|
|
12
|
+
}): Function;
|
|
13
|
+
|
|
14
|
+
export { preventSpam };
|
|
@@ -1,12 +1,14 @@
|
|
|
1
|
+
import { Focusables } from './focusable.cjs';
|
|
2
|
+
|
|
1
3
|
/**
|
|
2
4
|
* Traps focus within a set of focusable elements, creating a circular tab order
|
|
3
5
|
* @param {Object} params
|
|
4
6
|
* @param {KeyboardEvent} params.event - The keyboard event to handle
|
|
5
7
|
* @param {import('./focusable.js').Focusables} params.focusables - Object containing focusable elements
|
|
6
8
|
*/
|
|
7
|
-
|
|
9
|
+
declare function trapFocus({ event, focusables }: {
|
|
8
10
|
event: KeyboardEvent;
|
|
9
|
-
focusables:
|
|
11
|
+
focusables: Focusables;
|
|
10
12
|
}): void;
|
|
11
13
|
/**
|
|
12
14
|
* Manages focus behavior when tabbing through content, with options to control focus on exit
|
|
@@ -18,11 +20,13 @@ export function trapFocus({ event, focusables }: {
|
|
|
18
20
|
* @param {'next'|'trigger'} [params.tabOutFocus='next'] - Where to focus when tabbing out: 'next' element or back to trigger
|
|
19
21
|
* @param {Function} [params.onLeave=()=>{}] - Callback when focus leaves content, receives 'forward' or 'back' direction
|
|
20
22
|
*/
|
|
21
|
-
|
|
23
|
+
declare function manageFocus({ event, triggerNode, contentNode, focusables, tabOutFocus, onLeave, }: {
|
|
22
24
|
event: KeyboardEvent;
|
|
23
25
|
triggerNode: HTMLElement;
|
|
24
26
|
contentNode: HTMLElement;
|
|
25
|
-
focusables:
|
|
27
|
+
focusables: Focusables;
|
|
26
28
|
tabOutFocus?: "next" | "trigger";
|
|
27
29
|
onLeave?: Function;
|
|
28
30
|
}): void;
|
|
31
|
+
|
|
32
|
+
export { manageFocus, trapFocus };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
declare function markActiveAnchorIn(container: any, anchorType?: string): any;
|
|
2
|
+
declare function scrollToElement(element: any, { scrollBehaviour, scrollMargin }?: {
|
|
3
|
+
scrollBehaviour?: string;
|
|
4
|
+
scrollMargin?: string;
|
|
5
|
+
}): void;
|
|
6
|
+
|
|
7
|
+
export { markActiveAnchorIn, scrollToElement };
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { markActiveAnchorIn, scrollToElement } from './aria-current.cjs';
|
|
2
|
+
export { inconsistentButtonFix } from './inconsistent-button-fix.cjs';
|
|
3
|
+
export { findScrollContainer } from './scroll-container.cjs';
|
|
4
|
+
export { traverseAndScramble } from './traverse-and-scramble.cjs';
|
|
@@ -14,6 +14,8 @@
|
|
|
14
14
|
* excludes: ['.no-scramble', '[data-no-scramble]']
|
|
15
15
|
* })
|
|
16
16
|
*/
|
|
17
|
-
|
|
17
|
+
declare function traverseAndScramble(node: Element | ChildNode, { excludes }?: {
|
|
18
18
|
excludes?: string[];
|
|
19
19
|
}): void;
|
|
20
|
+
|
|
21
|
+
export { traverseAndScramble };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { isLastItem, last, lastArrayItem } from './item-position.cjs';
|
|
2
|
+
export { joinWithConjunction } from './join.cjs';
|
|
3
|
+
export { shuffle } from './shuffle.cjs';
|
|
4
|
+
export { sort } from './sort.cjs';
|
|
5
|
+
export { splitArray } from './split-array.cjs';
|
|
6
|
+
export { uniqueArray } from './unique.cjs';
|
|
@@ -1,14 +1,16 @@
|
|
|
1
|
-
|
|
1
|
+
declare function last(array: any, index: any): boolean;
|
|
2
2
|
/**
|
|
3
3
|
* Checks if the given index is the last item in the array
|
|
4
4
|
* @param {Array} array - The array to check
|
|
5
5
|
* @param {number} index - The index to check
|
|
6
6
|
* @returns {boolean} True if the index is the last item, false otherwise
|
|
7
7
|
*/
|
|
8
|
-
|
|
8
|
+
declare function isLastItem(array: any[], index: number): boolean;
|
|
9
9
|
/**
|
|
10
10
|
* Returns the last item in the array
|
|
11
11
|
* @param {Array} array - The array to get the last item from
|
|
12
12
|
* @returns {*} The last item in the array
|
|
13
13
|
*/
|
|
14
|
-
|
|
14
|
+
declare function lastArrayItem(array: any[]): any;
|
|
15
|
+
|
|
16
|
+
export { isLastItem, last, lastArrayItem };
|
|
@@ -8,6 +8,8 @@
|
|
|
8
8
|
* joinWithConjunction(['a', 'b', 'c']) // 'a, b, and c'
|
|
9
9
|
* joinWithConjunction(['a', 'b'], { conjunction: 'or' }) // 'a or b'
|
|
10
10
|
*/
|
|
11
|
-
|
|
11
|
+
declare function joinWithConjunction(array: Array<string>, { conjunction }?: {
|
|
12
12
|
conjunction?: string;
|
|
13
13
|
}): string;
|
|
14
|
+
|
|
15
|
+
export { joinWithConjunction };
|
|
@@ -24,7 +24,9 @@
|
|
|
24
24
|
* // Sort by nested property
|
|
25
25
|
* sort(users, { props: 'address.city' })
|
|
26
26
|
*/
|
|
27
|
-
|
|
27
|
+
declare function sort<T>(array: T[], { props, reverse }?: {
|
|
28
28
|
props?: string | string[] | null;
|
|
29
29
|
reverse?: boolean;
|
|
30
30
|
}): T[];
|
|
31
|
+
|
|
32
|
+
export { sort };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { AuthManager, RouteManager } from './route-manager.cjs';
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
// Usage ... Probably should use either protected or bypass, not both.
|
|
3
|
+
// Maybe ... glob would be a better for this
|
|
3
4
|
@example
|
|
4
5
|
const config = {
|
|
5
6
|
routeConfig: {
|
|
@@ -15,11 +16,13 @@
|
|
|
15
16
|
if (!isProtectedRoute(context.url.pathname)) return next() // Handle only protected routes
|
|
16
17
|
if (isBypassRoute(context.url.pathname)) return next() // Bypass all non protected routes
|
|
17
18
|
*/
|
|
18
|
-
|
|
19
|
+
declare function RouteManager(config: any): {
|
|
19
20
|
isProtectedRoute(pathname: any): any;
|
|
20
21
|
isBypassRoute(pathname: any): any;
|
|
21
22
|
};
|
|
22
|
-
|
|
23
|
+
declare function AuthManager(config: any): {
|
|
23
24
|
isProtectedRoute(pathname: any): any;
|
|
24
25
|
isBypassRoute(pathname: any): any;
|
|
25
26
|
};
|
|
27
|
+
|
|
28
|
+
export { AuthManager, RouteManager };
|
|
@@ -7,10 +7,7 @@
|
|
|
7
7
|
* isObject([]) // false
|
|
8
8
|
* isObject(null) // false
|
|
9
9
|
*/
|
|
10
|
-
|
|
11
|
-
return typeof x === 'object' && !Array.isArray(x) && x !== null
|
|
12
|
-
}
|
|
13
|
-
|
|
10
|
+
declare function isObject(x: unknown): boolean;
|
|
14
11
|
/**
|
|
15
12
|
* Checks if a value is an array
|
|
16
13
|
* @param {unknown} x - The value to check
|
|
@@ -19,10 +16,7 @@ export function isObject(x) {
|
|
|
19
16
|
* isArray([]) // true
|
|
20
17
|
* isArray({}) // false
|
|
21
18
|
*/
|
|
22
|
-
|
|
23
|
-
return Array.isArray(x)
|
|
24
|
-
}
|
|
25
|
-
|
|
19
|
+
declare function isArray(x: unknown): boolean;
|
|
26
20
|
/**
|
|
27
21
|
* Checks if a value is not a plain object
|
|
28
22
|
* @param {unknown} x - The value to check
|
|
@@ -32,6 +26,7 @@ export function isArray(x) {
|
|
|
32
26
|
* notObject(null) // true
|
|
33
27
|
* notObject({}) // false
|
|
34
28
|
*/
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
29
|
+
declare function notObject(x: unknown): boolean;
|
|
30
|
+
declare function getType(x: any): "array" | "string" | "integer" | "float" | "boolean" | "function" | "undefined" | "symbol" | "bigint" | "object" | "unknown";
|
|
31
|
+
|
|
32
|
+
export { getType, isArray, isObject, notObject };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Convert a time string to milliseconds
|
|
3
|
+
* @param {string} arg - The time string to convert
|
|
4
|
+
* @returns {number}
|
|
5
|
+
*/
|
|
6
|
+
declare function ms(arg: string): number;
|
|
7
|
+
declare function getTimeInMs(value: any, unit?: string): any;
|
|
8
|
+
declare function toWeeks(ms: any): number;
|
|
9
|
+
declare function toDays(ms: any): number;
|
|
10
|
+
declare function toHours(ms: any): number;
|
|
11
|
+
declare function toMinutes(ms: any): number;
|
|
12
|
+
declare function toSeconds(ms: any): number;
|
|
13
|
+
declare function toReadableTime(ms: any): {
|
|
14
|
+
weeks: number;
|
|
15
|
+
days: number;
|
|
16
|
+
hours: number;
|
|
17
|
+
minutes: number;
|
|
18
|
+
seconds: number;
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
export { getTimeInMs, ms, toDays, toHours, toMinutes, toReadableTime, toSeconds, toWeeks };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Converts Form Data into an object
|
|
3
|
+
* @param {FormData} formData
|
|
4
|
+
* @returns Object
|
|
5
|
+
*/
|
|
6
|
+
declare function formDataToObject(formData: FormData): {};
|
|
7
|
+
declare function flattenArrayFields(inputObject: any): {};
|
|
8
|
+
|
|
9
|
+
export { flattenArrayFields, formDataToObject };
|
|
@@ -23,8 +23,8 @@
|
|
|
23
23
|
* char: '-'
|
|
24
24
|
* })
|
|
25
25
|
*/
|
|
26
|
-
|
|
27
|
-
|
|
26
|
+
declare function sanitize(value: any, options?: SanitizeOptions): any;
|
|
27
|
+
type SanitizeOptions = {
|
|
28
28
|
/**
|
|
29
29
|
* - Function to sanitize strings
|
|
30
30
|
*/
|
|
@@ -44,7 +44,7 @@ export type SanitizeOptions = {
|
|
|
44
44
|
* @throws {Error} If sanitizer function is not provided
|
|
45
45
|
* @returns {Array} New array with sanitized values
|
|
46
46
|
*/
|
|
47
|
-
|
|
47
|
+
declare function sanitizeArray(arr: any[], { sanitizer, ...rest }: SanitizeOptions): any[];
|
|
48
48
|
/**
|
|
49
49
|
* Sanitizes all string values in an object recursively.
|
|
50
50
|
* Throws if no sanitizer function is not provided.
|
|
@@ -55,4 +55,6 @@ export function sanitizeArray(arr: any[], { sanitizer, ...rest }: SanitizeOption
|
|
|
55
55
|
* @throws {Error} If sanitizer function is not provided
|
|
56
56
|
* @returns {Object} New object with sanitized values
|
|
57
57
|
*/
|
|
58
|
-
|
|
58
|
+
declare function sanitizeObject(obj: any, { sanitizer, ...options }?: SanitizeOptions): any;
|
|
59
|
+
|
|
60
|
+
export { type SanitizeOptions, sanitize, sanitizeArray, sanitizeObject };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
declare function curry(fn: any): (...args: any[]) => any;
|
|
2
|
+
declare function compose(...fns: any[]): (value: any) => any;
|
|
3
|
+
declare function pipe(...fns: any[]): (value: any) => any;
|
|
4
|
+
declare function times(fn: any, n: any): any[];
|
|
5
|
+
|
|
6
|
+
export { compose, curry, pipe, times };
|