@bitfiber/utils 1.0.2 → 1.0.4
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/LICENSE.txt +1 -1
- package/README.md +1 -1
- package/dist/cjs/arr/at/at.js +8 -0
- package/dist/cjs/arr/at/at.js.map +1 -0
- package/dist/cjs/arr/cnd/cnd.js +87 -0
- package/dist/cjs/arr/cnd/cnd.js.map +1 -0
- package/dist/cjs/arr/diff-arr/diff-arr.js +34 -0
- package/dist/cjs/arr/diff-arr/diff-arr.js.map +1 -0
- package/dist/cjs/arr/fill/fill.js +8 -0
- package/dist/cjs/arr/fill/fill.js.map +1 -0
- package/dist/cjs/arr/for-each-arr/for-each-arr.js +22 -0
- package/dist/cjs/arr/for-each-arr/for-each-arr.js.map +1 -0
- package/dist/cjs/arr/index-by/index-by.js +16 -0
- package/dist/cjs/arr/index-by/index-by.js.map +1 -0
- package/dist/cjs/arr/index.js +20 -0
- package/dist/cjs/arr/index.js.map +1 -0
- package/dist/cjs/arr/pluck/pluck.js +12 -0
- package/dist/cjs/arr/pluck/pluck.js.map +1 -0
- package/dist/cjs/arr/within/within.js +10 -0
- package/dist/cjs/arr/within/within.js.map +1 -0
- package/dist/cjs/common/copy/copy.js +83 -0
- package/dist/cjs/common/copy/copy.js.map +1 -0
- package/dist/cjs/common/equals/equals.js +120 -0
- package/dist/cjs/common/equals/equals.js.map +1 -0
- package/dist/cjs/common/error.js +14 -0
- package/dist/cjs/common/error.js.map +1 -0
- package/dist/cjs/common/for-each/for-each.js +37 -0
- package/dist/cjs/common/for-each/for-each.js.map +1 -0
- package/dist/cjs/common/get-unique-num-id/get-unique-num-id.js +9 -0
- package/dist/cjs/common/get-unique-num-id/get-unique-num-id.js.map +1 -0
- package/dist/cjs/common/get-unique-str-id/get-unique-str-id.js +11 -0
- package/dist/cjs/common/get-unique-str-id/get-unique-str-id.js.map +1 -0
- package/dist/cjs/common/has-iterator/has-iterator.js +8 -0
- package/dist/cjs/common/has-iterator/has-iterator.js.map +1 -0
- package/dist/cjs/common/index.js +62 -0
- package/dist/cjs/common/index.js.map +1 -0
- package/dist/cjs/common/interrupt.js +5 -0
- package/dist/cjs/common/interrupt.js.map +1 -0
- package/dist/cjs/common/is/is.js +126 -0
- package/dist/cjs/common/is/is.js.map +1 -0
- package/dist/cjs/common/is-empty/is-empty.js +29 -0
- package/dist/cjs/common/is-empty/is-empty.js.map +1 -0
- package/dist/cjs/common/random/random.js +9 -0
- package/dist/cjs/common/random/random.js.map +1 -0
- package/dist/cjs/common/same/same.js +8 -0
- package/dist/cjs/common/same/same.js.map +1 -0
- package/dist/cjs/common/stub/stub.js +8 -0
- package/dist/cjs/common/stub/stub.js.map +1 -0
- package/dist/cjs/common/to-float/to-float.js +10 -0
- package/dist/cjs/common/to-float/to-float.js.map +1 -0
- package/dist/cjs/common/to-int/to-int.js +10 -0
- package/dist/cjs/common/to-int/to-int.js.map +1 -0
- package/dist/cjs/common/to-sorted-string/to-sorted-string.js +51 -0
- package/dist/cjs/common/to-sorted-string/to-sorted-string.js.map +1 -0
- package/dist/cjs/common/types.js +3 -0
- package/dist/cjs/common/types.js.map +1 -0
- package/dist/cjs/dom/closest/closest.js +25 -0
- package/dist/cjs/dom/closest/closest.js.map +1 -0
- package/dist/cjs/dom/document/document.js +19 -0
- package/dist/cjs/dom/document/document.js.map +1 -0
- package/dist/cjs/dom/download-file/download-file.js +31 -0
- package/dist/cjs/dom/download-file/download-file.js.map +1 -0
- package/dist/cjs/dom/for-each-elements/for-each-elements.js +13 -0
- package/dist/cjs/dom/for-each-elements/for-each-elements.js.map +1 -0
- package/dist/cjs/dom/for-each-nodes/for-each-nodes.js +13 -0
- package/dist/cjs/dom/for-each-nodes/for-each-nodes.js.map +1 -0
- package/dist/cjs/dom/get-all-styles/get-all-styles.js +10 -0
- package/dist/cjs/dom/get-all-styles/get-all-styles.js.map +1 -0
- package/dist/cjs/dom/get-body/get-body.js +10 -0
- package/dist/cjs/dom/get-body/get-body.js.map +1 -0
- package/dist/cjs/dom/get-html/get-html.js +10 -0
- package/dist/cjs/dom/get-html/get-html.js.map +1 -0
- package/dist/cjs/dom/get-non-static-parent/get-non-static-parent.js +9 -0
- package/dist/cjs/dom/get-non-static-parent/get-non-static-parent.js.map +1 -0
- package/dist/cjs/dom/get-offset-from-doc/get-offset-from-doc.js +18 -0
- package/dist/cjs/dom/get-offset-from-doc/get-offset-from-doc.js.map +1 -0
- package/dist/cjs/dom/get-offset-from-parent/get-offset-from-parent.js +42 -0
- package/dist/cjs/dom/get-offset-from-parent/get-offset-from-parent.js.map +1 -0
- package/dist/cjs/dom/get-offset-from-win/get-offset-from-win.js +8 -0
- package/dist/cjs/dom/get-offset-from-win/get-offset-from-win.js.map +1 -0
- package/dist/cjs/dom/get-scroll-width/get-scroll-width.js +28 -0
- package/dist/cjs/dom/get-scroll-width/get-scroll-width.js.map +1 -0
- package/dist/cjs/dom/get-style/get-style.js +22 -0
- package/dist/cjs/dom/get-style/get-style.js.map +1 -0
- package/dist/cjs/dom/get-styles/get-styles.js +11 -0
- package/dist/cjs/dom/get-styles/get-styles.js.map +1 -0
- package/dist/cjs/dom/get-valid-style-name/get-valid-style-name.js +40 -0
- package/dist/cjs/dom/get-valid-style-name/get-valid-style-name.js.map +1 -0
- package/dist/cjs/dom/get-window/get-window.js +18 -0
- package/dist/cjs/dom/get-window/get-window.js.map +1 -0
- package/dist/cjs/dom/has-name/has-name.js +8 -0
- package/dist/cjs/dom/has-name/has-name.js.map +1 -0
- package/dist/cjs/dom/index.js +53 -0
- package/dist/cjs/dom/index.js.map +1 -0
- package/dist/cjs/dom/is-comment/is-comment.js +8 -0
- package/dist/cjs/dom/is-comment/is-comment.js.map +1 -0
- package/dist/cjs/dom/is-element/is-element.js +8 -0
- package/dist/cjs/dom/is-element/is-element.js.map +1 -0
- package/dist/cjs/dom/is-text/is-text.js +8 -0
- package/dist/cjs/dom/is-text/is-text.js.map +1 -0
- package/dist/cjs/dom/set-offset-from-parent/set-offset-from-parent.js +38 -0
- package/dist/cjs/dom/set-offset-from-parent/set-offset-from-parent.js.map +1 -0
- package/dist/cjs/dom/set-style/set-style.js +11 -0
- package/dist/cjs/dom/set-style/set-style.js.map +1 -0
- package/dist/cjs/dom/set-styles/set-styles.js +14 -0
- package/dist/cjs/dom/set-styles/set-styles.js.map +1 -0
- package/dist/cjs/dom/types.js +3 -0
- package/dist/cjs/dom/types.js.map +1 -0
- package/dist/cjs/env/get-browser/get-browser.js +27 -0
- package/dist/cjs/env/get-browser/get-browser.js.map +1 -0
- package/dist/cjs/env/get-engine/get-engine.js +19 -0
- package/dist/cjs/env/get-engine/get-engine.js.map +1 -0
- package/dist/cjs/env/get-os/get-os.js +22 -0
- package/dist/cjs/env/get-os/get-os.js.map +1 -0
- package/dist/cjs/env/get-platform/get-platform.js +27 -0
- package/dist/cjs/env/get-platform/get-platform.js.map +1 -0
- package/dist/cjs/env/index.js +45 -0
- package/dist/cjs/env/index.js.map +1 -0
- package/dist/cjs/env/is-browser/is-browser.js +10 -0
- package/dist/cjs/env/is-browser/is-browser.js.map +1 -0
- package/dist/cjs/env/is-chrome-like/is-chrome-like.js +10 -0
- package/dist/cjs/env/is-chrome-like/is-chrome-like.js.map +1 -0
- package/dist/cjs/env/is-desktop/is-desktop.js +10 -0
- package/dist/cjs/env/is-desktop/is-desktop.js.map +1 -0
- package/dist/cjs/env/is-engine/is-engine.js +10 -0
- package/dist/cjs/env/is-engine/is-engine.js.map +1 -0
- package/dist/cjs/env/is-firefox-like/is-firefox-like.js +10 -0
- package/dist/cjs/env/is-firefox-like/is-firefox-like.js.map +1 -0
- package/dist/cjs/env/is-mobile/is-mobile.js +10 -0
- package/dist/cjs/env/is-mobile/is-mobile.js.map +1 -0
- package/dist/cjs/env/is-os/is-os.js +10 -0
- package/dist/cjs/env/is-os/is-os.js.map +1 -0
- package/dist/cjs/env/is-portable/is-portable.js +9 -0
- package/dist/cjs/env/is-portable/is-portable.js.map +1 -0
- package/dist/cjs/env/is-safari-like/is-safari-like.js +10 -0
- package/dist/cjs/env/is-safari-like/is-safari-like.js.map +1 -0
- package/dist/cjs/env/is-stationary/is-stationary.js +9 -0
- package/dist/cjs/env/is-stationary/is-stationary.js.map +1 -0
- package/dist/cjs/env/is-tablet/is-tablet.js +10 -0
- package/dist/cjs/env/is-tablet/is-tablet.js.map +1 -0
- package/dist/cjs/env/is-tv/is-tv.js +10 -0
- package/dist/cjs/env/is-tv/is-tv.js.map +1 -0
- package/dist/cjs/env/matches/matches.js +24 -0
- package/dist/cjs/env/matches/matches.js.map +1 -0
- package/dist/cjs/env/matches-with-browsers/matches-with-browsers.js +36 -0
- package/dist/cjs/env/matches-with-browsers/matches-with-browsers.js.map +1 -0
- package/dist/cjs/env/matches-with-version/matches-with-version.js +40 -0
- package/dist/cjs/env/matches-with-version/matches-with-version.js.map +1 -0
- package/dist/cjs/env/private/private.js +57 -0
- package/dist/cjs/env/private/private.js.map +1 -0
- package/dist/cjs/env/types.js +3 -0
- package/dist/cjs/env/types.js.map +1 -0
- package/dist/cjs/env/user-agent/user-agent.js +25 -0
- package/dist/cjs/env/user-agent/user-agent.js.map +1 -0
- package/dist/cjs/index.js +11 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/num/in-range/in-range.js +22 -0
- package/dist/cjs/num/in-range/in-range.js.map +1 -0
- package/dist/cjs/num/index.js +8 -0
- package/dist/cjs/num/index.js.map +1 -0
- package/dist/cjs/num/round/round.js +9 -0
- package/dist/cjs/num/round/round.js.map +1 -0
- package/dist/cjs/obj/constant/constant.js +8 -0
- package/dist/cjs/obj/constant/constant.js.map +1 -0
- package/dist/cjs/obj/deep-constant/deep-constant.js +16 -0
- package/dist/cjs/obj/deep-constant/deep-constant.js.map +1 -0
- package/dist/cjs/obj/diff-obj/diff-obj.js +46 -0
- package/dist/cjs/obj/diff-obj/diff-obj.js.map +1 -0
- package/dist/cjs/obj/exclude/exclude.js +16 -0
- package/dist/cjs/obj/exclude/exclude.js.map +1 -0
- package/dist/cjs/obj/extend/extend.js +41 -0
- package/dist/cjs/obj/extend/extend.js.map +1 -0
- package/dist/cjs/obj/for-each-obj/for-each-obj.js +14 -0
- package/dist/cjs/obj/for-each-obj/for-each-obj.js.map +1 -0
- package/dist/cjs/obj/has-own/has-own.js +8 -0
- package/dist/cjs/obj/has-own/has-own.js.map +1 -0
- package/dist/cjs/obj/include/include.js +16 -0
- package/dist/cjs/obj/include/include.js.map +1 -0
- package/dist/cjs/obj/index.js +29 -0
- package/dist/cjs/obj/index.js.map +1 -0
- package/dist/cjs/obj/keys/keys.js +8 -0
- package/dist/cjs/obj/keys/keys.js.map +1 -0
- package/dist/cjs/obj/map-obj/map-obj.js +11 -0
- package/dist/cjs/obj/map-obj/map-obj.js.map +1 -0
- package/dist/cjs/obj/map-obj-to-arr/map-obj-to-arr.js +11 -0
- package/dist/cjs/obj/map-obj-to-arr/map-obj-to-arr.js.map +1 -0
- package/dist/cjs/obj/values/values.js +11 -0
- package/dist/cjs/obj/values/values.js.map +1 -0
- package/dist/cjs/str/index.js +10 -0
- package/dist/cjs/str/index.js.map +1 -0
- package/dist/cjs/str/to-camel-case/to-camel-case.js +13 -0
- package/dist/cjs/str/to-camel-case/to-camel-case.js.map +1 -0
- package/dist/cjs/str/to-hash/to-hash.js +19 -0
- package/dist/cjs/str/to-hash/to-hash.js.map +1 -0
- package/dist/cjs/str/with-capital/with-capital.js +8 -0
- package/dist/cjs/str/with-capital/with-capital.js.map +1 -0
- package/dist/esm/arr/at/at.js +4 -0
- package/dist/esm/arr/at/at.js.map +1 -0
- package/dist/esm/arr/cnd/cnd.js +83 -0
- package/dist/esm/arr/cnd/cnd.js.map +1 -0
- package/dist/esm/arr/diff-arr/diff-arr.js +30 -0
- package/dist/esm/arr/diff-arr/diff-arr.js.map +1 -0
- package/dist/esm/arr/fill/fill.js +4 -0
- package/dist/esm/arr/fill/fill.js.map +1 -0
- package/dist/esm/arr/for-each-arr/for-each-arr.js +18 -0
- package/dist/esm/arr/for-each-arr/for-each-arr.js.map +1 -0
- package/dist/esm/arr/index-by/index-by.js +12 -0
- package/dist/esm/arr/index-by/index-by.js.map +1 -0
- package/dist/esm/arr/index.js +9 -0
- package/dist/esm/arr/index.js.map +1 -0
- package/dist/esm/arr/pluck/pluck.js +8 -0
- package/dist/esm/arr/pluck/pluck.js.map +1 -0
- package/dist/esm/arr/within/within.js +6 -0
- package/dist/esm/arr/within/within.js.map +1 -0
- package/dist/esm/common/copy/copy.js +79 -0
- package/dist/esm/common/copy/copy.js.map +1 -0
- package/dist/esm/common/equals/equals.js +116 -0
- package/dist/esm/common/equals/equals.js.map +1 -0
- package/dist/esm/common/error.js +10 -0
- package/dist/esm/common/error.js.map +1 -0
- package/dist/esm/common/for-each/for-each.js +33 -0
- package/dist/esm/common/for-each/for-each.js.map +1 -0
- package/dist/esm/common/get-unique-num-id/get-unique-num-id.js +5 -0
- package/dist/esm/common/get-unique-num-id/get-unique-num-id.js.map +1 -0
- package/dist/esm/common/get-unique-str-id/get-unique-str-id.js +7 -0
- package/dist/esm/common/get-unique-str-id/get-unique-str-id.js.map +1 -0
- package/dist/esm/common/has-iterator/has-iterator.js +4 -0
- package/dist/esm/common/has-iterator/has-iterator.js.map +1 -0
- package/dist/esm/common/index.js +17 -0
- package/dist/esm/common/index.js.map +1 -0
- package/dist/esm/common/interrupt.js +2 -0
- package/dist/esm/common/interrupt.js.map +1 -0
- package/dist/esm/common/is/is.js +96 -0
- package/dist/esm/common/is/is.js.map +1 -0
- package/dist/esm/common/is-empty/is-empty.js +25 -0
- package/dist/esm/common/is-empty/is-empty.js.map +1 -0
- package/dist/esm/common/random/random.js +5 -0
- package/dist/esm/common/random/random.js.map +1 -0
- package/dist/esm/common/same/same.js +4 -0
- package/dist/esm/common/same/same.js.map +1 -0
- package/dist/esm/common/stub/stub.js +4 -0
- package/dist/esm/common/stub/stub.js.map +1 -0
- package/dist/esm/common/to-float/to-float.js +6 -0
- package/dist/esm/common/to-float/to-float.js.map +1 -0
- package/dist/esm/common/to-int/to-int.js +6 -0
- package/dist/esm/common/to-int/to-int.js.map +1 -0
- package/dist/esm/common/to-sorted-string/to-sorted-string.js +47 -0
- package/dist/esm/common/to-sorted-string/to-sorted-string.js.map +1 -0
- package/dist/esm/common/types.js.map +1 -0
- package/dist/esm/dom/closest/closest.js +21 -0
- package/dist/esm/dom/closest/closest.js.map +1 -0
- package/dist/esm/dom/document/document.js +14 -0
- package/dist/esm/dom/document/document.js.map +1 -0
- package/dist/esm/dom/download-file/download-file.js +27 -0
- package/dist/esm/dom/download-file/download-file.js.map +1 -0
- package/dist/esm/dom/for-each-elements/for-each-elements.js +9 -0
- package/dist/esm/dom/for-each-elements/for-each-elements.js.map +1 -0
- package/dist/esm/dom/for-each-nodes/for-each-nodes.js +9 -0
- package/dist/esm/dom/for-each-nodes/for-each-nodes.js.map +1 -0
- package/dist/esm/dom/get-all-styles/get-all-styles.js +6 -0
- package/dist/esm/dom/get-all-styles/get-all-styles.js.map +1 -0
- package/dist/esm/dom/get-body/get-body.js +6 -0
- package/dist/esm/dom/get-body/get-body.js.map +1 -0
- package/dist/esm/dom/get-html/get-html.js +6 -0
- package/dist/esm/dom/get-html/get-html.js.map +1 -0
- package/dist/esm/dom/get-non-static-parent/get-non-static-parent.js +5 -0
- package/dist/esm/dom/get-non-static-parent/get-non-static-parent.js.map +1 -0
- package/dist/esm/dom/get-offset-from-doc/get-offset-from-doc.js +14 -0
- package/dist/esm/dom/get-offset-from-doc/get-offset-from-doc.js.map +1 -0
- package/dist/esm/dom/get-offset-from-parent/get-offset-from-parent.js +38 -0
- package/dist/esm/dom/get-offset-from-parent/get-offset-from-parent.js.map +1 -0
- package/dist/esm/dom/get-offset-from-win/get-offset-from-win.js +4 -0
- package/dist/esm/dom/get-offset-from-win/get-offset-from-win.js.map +1 -0
- package/dist/esm/dom/get-scroll-width/get-scroll-width.js +24 -0
- package/dist/esm/dom/get-scroll-width/get-scroll-width.js.map +1 -0
- package/dist/esm/dom/get-style/get-style.js +18 -0
- package/dist/esm/dom/get-style/get-style.js.map +1 -0
- package/dist/esm/dom/get-styles/get-styles.js +7 -0
- package/dist/esm/dom/get-styles/get-styles.js.map +1 -0
- package/dist/esm/dom/get-valid-style-name/get-valid-style-name.js +36 -0
- package/dist/esm/dom/get-valid-style-name/get-valid-style-name.js.map +1 -0
- package/dist/esm/dom/get-window/get-window.js +14 -0
- package/dist/esm/dom/get-window/get-window.js.map +1 -0
- package/dist/esm/dom/has-name/has-name.js +4 -0
- package/dist/esm/dom/has-name/has-name.js.map +1 -0
- package/dist/esm/dom/index.js +25 -0
- package/dist/esm/dom/index.js.map +1 -0
- package/dist/esm/dom/is-comment/is-comment.js +4 -0
- package/dist/esm/dom/is-comment/is-comment.js.map +1 -0
- package/dist/esm/dom/is-element/is-element.js +4 -0
- package/dist/esm/dom/is-element/is-element.js.map +1 -0
- package/dist/esm/dom/is-text/is-text.js +4 -0
- package/dist/esm/dom/is-text/is-text.js.map +1 -0
- package/dist/esm/dom/set-offset-from-parent/set-offset-from-parent.js +34 -0
- package/dist/esm/dom/set-offset-from-parent/set-offset-from-parent.js.map +1 -0
- package/dist/esm/dom/set-style/set-style.js +7 -0
- package/dist/esm/dom/set-style/set-style.js.map +1 -0
- package/dist/esm/dom/set-styles/set-styles.js +10 -0
- package/dist/esm/dom/set-styles/set-styles.js.map +1 -0
- package/dist/esm/dom/types.js.map +1 -0
- package/dist/esm/env/get-browser/get-browser.js +22 -0
- package/dist/esm/env/get-browser/get-browser.js.map +1 -0
- package/dist/esm/env/get-engine/get-engine.js +14 -0
- package/dist/esm/env/get-engine/get-engine.js.map +1 -0
- package/dist/esm/env/get-os/get-os.js +17 -0
- package/dist/esm/env/get-os/get-os.js.map +1 -0
- package/dist/esm/env/get-platform/get-platform.js +22 -0
- package/dist/esm/env/get-platform/get-platform.js.map +1 -0
- package/dist/esm/env/index.js +21 -0
- package/dist/esm/env/index.js.map +1 -0
- package/dist/esm/env/is-browser/is-browser.js +6 -0
- package/dist/esm/env/is-browser/is-browser.js.map +1 -0
- package/dist/esm/env/is-chrome-like/is-chrome-like.js +6 -0
- package/dist/esm/env/is-chrome-like/is-chrome-like.js.map +1 -0
- package/dist/esm/env/is-desktop/is-desktop.js +6 -0
- package/dist/esm/env/is-desktop/is-desktop.js.map +1 -0
- package/dist/esm/env/is-engine/is-engine.js +6 -0
- package/dist/esm/env/is-engine/is-engine.js.map +1 -0
- package/dist/esm/env/is-firefox-like/is-firefox-like.js +6 -0
- package/dist/esm/env/is-firefox-like/is-firefox-like.js.map +1 -0
- package/dist/esm/env/is-mobile/is-mobile.js +6 -0
- package/dist/esm/env/is-mobile/is-mobile.js.map +1 -0
- package/dist/esm/env/is-os/is-os.js +6 -0
- package/dist/esm/env/is-os/is-os.js.map +1 -0
- package/dist/esm/env/is-portable/is-portable.js +5 -0
- package/dist/esm/env/is-portable/is-portable.js.map +1 -0
- package/dist/esm/env/is-safari-like/is-safari-like.js +6 -0
- package/dist/esm/env/is-safari-like/is-safari-like.js.map +1 -0
- package/dist/esm/env/is-stationary/is-stationary.js +5 -0
- package/dist/esm/env/is-stationary/is-stationary.js.map +1 -0
- package/dist/esm/env/is-tablet/is-tablet.js +6 -0
- package/dist/esm/env/is-tablet/is-tablet.js.map +1 -0
- package/dist/esm/env/is-tv/is-tv.js +6 -0
- package/dist/esm/env/is-tv/is-tv.js.map +1 -0
- package/dist/esm/env/matches/matches.js +20 -0
- package/dist/esm/env/matches/matches.js.map +1 -0
- package/dist/esm/env/matches-with-browsers/matches-with-browsers.js +32 -0
- package/dist/esm/env/matches-with-browsers/matches-with-browsers.js.map +1 -0
- package/dist/esm/env/matches-with-version/matches-with-version.js +36 -0
- package/dist/esm/env/matches-with-version/matches-with-version.js.map +1 -0
- package/dist/esm/env/private/private.js +51 -0
- package/dist/esm/env/private/private.js.map +1 -0
- package/dist/esm/env/types.js.map +1 -0
- package/dist/esm/env/user-agent/user-agent.js +20 -0
- package/dist/esm/env/user-agent/user-agent.js.map +1 -0
- package/dist/esm/index.js +8 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/num/in-range/in-range.js +18 -0
- package/dist/esm/num/in-range/in-range.js.map +1 -0
- package/dist/esm/num/index.js +3 -0
- package/dist/esm/num/index.js.map +1 -0
- package/dist/esm/num/round/round.js +5 -0
- package/dist/esm/num/round/round.js.map +1 -0
- package/dist/esm/obj/constant/constant.js +4 -0
- package/dist/esm/obj/constant/constant.js.map +1 -0
- package/dist/esm/obj/deep-constant/deep-constant.js +12 -0
- package/dist/esm/obj/deep-constant/deep-constant.js.map +1 -0
- package/dist/esm/obj/diff-obj/diff-obj.js +42 -0
- package/dist/esm/obj/diff-obj/diff-obj.js.map +1 -0
- package/dist/esm/obj/exclude/exclude.js +12 -0
- package/dist/esm/obj/exclude/exclude.js.map +1 -0
- package/dist/esm/obj/extend/extend.js +36 -0
- package/dist/esm/obj/extend/extend.js.map +1 -0
- package/dist/esm/obj/for-each-obj/for-each-obj.js +10 -0
- package/dist/esm/obj/for-each-obj/for-each-obj.js.map +1 -0
- package/dist/esm/obj/has-own/has-own.js +4 -0
- package/dist/esm/obj/has-own/has-own.js.map +1 -0
- package/dist/esm/obj/include/include.js +12 -0
- package/dist/esm/obj/include/include.js.map +1 -0
- package/dist/esm/obj/index.js +13 -0
- package/dist/esm/obj/index.js.map +1 -0
- package/dist/esm/obj/keys/keys.js +4 -0
- package/dist/esm/obj/keys/keys.js.map +1 -0
- package/dist/esm/obj/map-obj/map-obj.js +7 -0
- package/dist/esm/obj/map-obj/map-obj.js.map +1 -0
- package/dist/esm/obj/map-obj-to-arr/map-obj-to-arr.js +7 -0
- package/dist/esm/obj/map-obj-to-arr/map-obj-to-arr.js.map +1 -0
- package/dist/esm/obj/values/values.js +7 -0
- package/dist/esm/obj/values/values.js.map +1 -0
- package/dist/esm/str/index.js +4 -0
- package/dist/esm/str/index.js.map +1 -0
- package/dist/esm/str/to-camel-case/to-camel-case.js +9 -0
- package/dist/esm/str/to-camel-case/to-camel-case.js.map +1 -0
- package/dist/esm/str/to-hash/to-hash.js +15 -0
- package/dist/esm/str/to-hash/to-hash.js.map +1 -0
- package/dist/esm/str/with-capital/with-capital.js +4 -0
- package/dist/esm/str/with-capital/with-capital.js.map +1 -0
- package/dist/types/arr/at/at.d.ts +8 -0
- package/dist/types/arr/at/at.d.ts.map +1 -0
- package/dist/types/arr/cnd/cnd.d.ts +118 -0
- package/dist/types/arr/cnd/cnd.d.ts.map +1 -0
- package/dist/types/arr/diff-arr/diff-arr.d.ts +31 -0
- package/dist/types/arr/diff-arr/diff-arr.d.ts.map +1 -0
- package/dist/types/arr/fill/fill.d.ts +9 -0
- package/dist/types/arr/fill/fill.d.ts.map +1 -0
- package/dist/types/arr/for-each-arr/for-each-arr.d.ts +10 -0
- package/dist/types/arr/for-each-arr/for-each-arr.d.ts.map +1 -0
- package/dist/types/arr/index-by/index-by.d.ts +10 -0
- package/dist/types/arr/index-by/index-by.d.ts.map +1 -0
- package/dist/types/arr/index.d.ts +9 -0
- package/dist/types/arr/index.d.ts.map +1 -0
- package/dist/types/arr/pluck/pluck.d.ts +8 -0
- package/dist/types/arr/pluck/pluck.d.ts.map +1 -0
- package/dist/types/arr/within/within.d.ts +10 -0
- package/dist/types/arr/within/within.d.ts.map +1 -0
- package/dist/types/common/copy/copy.d.ts +7 -0
- package/dist/types/common/copy/copy.d.ts.map +1 -0
- package/dist/types/common/equals/equals.d.ts +13 -0
- package/dist/types/common/equals/equals.d.ts.map +1 -0
- package/dist/types/common/error.d.ts +26 -0
- package/dist/types/common/error.d.ts.map +1 -0
- package/dist/types/common/for-each/for-each.d.ts +10 -0
- package/dist/types/common/for-each/for-each.d.ts.map +1 -0
- package/dist/types/common/get-unique-num-id/get-unique-num-id.d.ts +5 -0
- package/dist/types/common/get-unique-num-id/get-unique-num-id.d.ts.map +1 -0
- package/dist/types/common/get-unique-str-id/get-unique-str-id.d.ts +5 -0
- package/dist/types/common/get-unique-str-id/get-unique-str-id.d.ts.map +1 -0
- package/dist/types/common/has-iterator/has-iterator.d.ts +6 -0
- package/dist/types/common/has-iterator/has-iterator.d.ts.map +1 -0
- package/dist/types/common/index.d.ts +18 -0
- package/dist/types/common/index.d.ts.map +1 -0
- package/dist/types/common/interrupt.d.ts +5 -0
- package/dist/types/common/interrupt.d.ts.map +1 -0
- package/dist/types/common/is/is.d.ts +137 -0
- package/dist/types/common/is/is.d.ts.map +1 -0
- package/dist/types/common/is-empty/is-empty.d.ts +7 -0
- package/dist/types/common/is-empty/is-empty.d.ts.map +1 -0
- package/dist/types/common/random/random.d.ts +6 -0
- package/dist/types/common/random/random.d.ts.map +1 -0
- package/dist/types/common/same/same.d.ts +7 -0
- package/dist/types/common/same/same.d.ts.map +1 -0
- package/dist/types/common/stub/stub.d.ts +5 -0
- package/dist/types/common/stub/stub.d.ts.map +1 -0
- package/dist/types/common/to-float/to-float.d.ts +7 -0
- package/dist/types/common/to-float/to-float.d.ts.map +1 -0
- package/dist/types/common/to-int/to-int.d.ts +7 -0
- package/dist/types/common/to-int/to-int.d.ts.map +1 -0
- package/dist/types/common/to-sorted-string/to-sorted-string.d.ts +8 -0
- package/dist/types/common/to-sorted-string/to-sorted-string.d.ts.map +1 -0
- package/dist/types/common/types.d.ts +53 -0
- package/dist/types/common/types.d.ts.map +1 -0
- package/dist/types/dom/closest/closest.d.ts +7 -0
- package/dist/types/dom/closest/closest.d.ts.map +1 -0
- package/dist/types/dom/document/document.d.ts +13 -0
- package/dist/types/dom/document/document.d.ts.map +1 -0
- package/dist/types/dom/download-file/download-file.d.ts +7 -0
- package/dist/types/dom/download-file/download-file.d.ts.map +1 -0
- package/dist/types/dom/for-each-elements/for-each-elements.d.ts +9 -0
- package/dist/types/dom/for-each-elements/for-each-elements.d.ts.map +1 -0
- package/dist/types/dom/for-each-nodes/for-each-nodes.d.ts +8 -0
- package/dist/types/dom/for-each-nodes/for-each-nodes.d.ts.map +1 -0
- package/dist/types/dom/get-all-styles/get-all-styles.d.ts +6 -0
- package/dist/types/dom/get-all-styles/get-all-styles.d.ts.map +1 -0
- package/dist/types/dom/get-body/get-body.d.ts +5 -0
- package/dist/types/dom/get-body/get-body.d.ts.map +1 -0
- package/dist/types/dom/get-html/get-html.d.ts +5 -0
- package/dist/types/dom/get-html/get-html.d.ts.map +1 -0
- package/dist/types/dom/get-non-static-parent/get-non-static-parent.d.ts +6 -0
- package/dist/types/dom/get-non-static-parent/get-non-static-parent.d.ts.map +1 -0
- package/dist/types/dom/get-offset-from-doc/get-offset-from-doc.d.ts +7 -0
- package/dist/types/dom/get-offset-from-doc/get-offset-from-doc.d.ts.map +1 -0
- package/dist/types/dom/get-offset-from-parent/get-offset-from-parent.d.ts +8 -0
- package/dist/types/dom/get-offset-from-parent/get-offset-from-parent.d.ts.map +1 -0
- package/dist/types/dom/get-offset-from-win/get-offset-from-win.d.ts +7 -0
- package/dist/types/dom/get-offset-from-win/get-offset-from-win.d.ts.map +1 -0
- package/dist/types/dom/get-scroll-width/get-scroll-width.d.ts +9 -0
- package/dist/types/dom/get-scroll-width/get-scroll-width.d.ts.map +1 -0
- package/dist/types/dom/get-style/get-style.d.ts +7 -0
- package/dist/types/dom/get-style/get-style.d.ts.map +1 -0
- package/dist/types/dom/get-styles/get-styles.d.ts +10 -0
- package/dist/types/dom/get-styles/get-styles.d.ts.map +1 -0
- package/dist/types/dom/get-valid-style-name/get-valid-style-name.d.ts +7 -0
- package/dist/types/dom/get-valid-style-name/get-valid-style-name.d.ts.map +1 -0
- package/dist/types/dom/get-window/get-window.d.ts +5 -0
- package/dist/types/dom/get-window/get-window.d.ts.map +1 -0
- package/dist/types/dom/has-name/has-name.d.ts +7 -0
- package/dist/types/dom/has-name/has-name.d.ts.map +1 -0
- package/dist/types/dom/index.d.ts +26 -0
- package/dist/types/dom/index.d.ts.map +1 -0
- package/dist/types/dom/is-comment/is-comment.d.ts +6 -0
- package/dist/types/dom/is-comment/is-comment.d.ts.map +1 -0
- package/dist/types/dom/is-element/is-element.d.ts +6 -0
- package/dist/types/dom/is-element/is-element.d.ts.map +1 -0
- package/dist/types/dom/is-text/is-text.d.ts +6 -0
- package/dist/types/dom/is-text/is-text.d.ts.map +1 -0
- package/dist/types/dom/set-offset-from-parent/set-offset-from-parent.d.ts +9 -0
- package/dist/types/dom/set-offset-from-parent/set-offset-from-parent.d.ts.map +1 -0
- package/dist/types/dom/set-style/set-style.d.ts +9 -0
- package/dist/types/dom/set-style/set-style.d.ts.map +1 -0
- package/dist/types/dom/set-styles/set-styles.d.ts +9 -0
- package/dist/types/dom/set-styles/set-styles.d.ts.map +1 -0
- package/dist/types/dom/types.d.ts +20 -0
- package/dist/types/dom/types.d.ts.map +1 -0
- package/dist/types/env/get-browser/get-browser.d.ts +11 -0
- package/dist/types/env/get-browser/get-browser.d.ts.map +1 -0
- package/dist/types/env/get-engine/get-engine.d.ts +8 -0
- package/dist/types/env/get-engine/get-engine.d.ts.map +1 -0
- package/dist/types/env/get-os/get-os.d.ts +9 -0
- package/dist/types/env/get-os/get-os.d.ts.map +1 -0
- package/dist/types/env/get-platform/get-platform.d.ts +8 -0
- package/dist/types/env/get-platform/get-platform.d.ts.map +1 -0
- package/dist/types/env/index.d.ts +22 -0
- package/dist/types/env/index.d.ts.map +1 -0
- package/dist/types/env/is-browser/is-browser.d.ts +12 -0
- package/dist/types/env/is-browser/is-browser.d.ts.map +1 -0
- package/dist/types/env/is-chrome-like/is-chrome-like.d.ts +5 -0
- package/dist/types/env/is-chrome-like/is-chrome-like.d.ts.map +1 -0
- package/dist/types/env/is-desktop/is-desktop.d.ts +5 -0
- package/dist/types/env/is-desktop/is-desktop.d.ts.map +1 -0
- package/dist/types/env/is-engine/is-engine.d.ts +9 -0
- package/dist/types/env/is-engine/is-engine.d.ts.map +1 -0
- package/dist/types/env/is-firefox-like/is-firefox-like.d.ts +5 -0
- package/dist/types/env/is-firefox-like/is-firefox-like.d.ts.map +1 -0
- package/dist/types/env/is-mobile/is-mobile.d.ts +5 -0
- package/dist/types/env/is-mobile/is-mobile.d.ts.map +1 -0
- package/dist/types/env/is-os/is-os.d.ts +10 -0
- package/dist/types/env/is-os/is-os.d.ts.map +1 -0
- package/dist/types/env/is-portable/is-portable.d.ts +5 -0
- package/dist/types/env/is-portable/is-portable.d.ts.map +1 -0
- package/dist/types/env/is-safari-like/is-safari-like.d.ts +5 -0
- package/dist/types/env/is-safari-like/is-safari-like.d.ts.map +1 -0
- package/dist/types/env/is-stationary/is-stationary.d.ts +5 -0
- package/dist/types/env/is-stationary/is-stationary.d.ts.map +1 -0
- package/dist/types/env/is-tablet/is-tablet.d.ts +5 -0
- package/dist/types/env/is-tablet/is-tablet.d.ts.map +1 -0
- package/dist/types/env/is-tv/is-tv.d.ts +5 -0
- package/dist/types/env/is-tv/is-tv.d.ts.map +1 -0
- package/dist/types/env/matches/matches.d.ts +35 -0
- package/dist/types/env/matches/matches.d.ts.map +1 -0
- package/dist/types/env/matches-with-browsers/matches-with-browsers.d.ts +24 -0
- package/dist/types/env/matches-with-browsers/matches-with-browsers.d.ts.map +1 -0
- package/dist/types/env/matches-with-version/matches-with-version.d.ts +7 -0
- package/dist/types/env/matches-with-version/matches-with-version.d.ts.map +1 -0
- package/dist/types/env/private/private.d.ts +5 -0
- package/dist/types/env/private/private.d.ts.map +1 -0
- package/dist/types/env/types.d.ts +107 -0
- package/dist/types/env/types.d.ts.map +1 -0
- package/dist/types/env/user-agent/user-agent.d.ts +10 -0
- package/dist/types/env/user-agent/user-agent.d.ts.map +1 -0
- package/dist/types/index.d.ts +8 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/num/in-range/in-range.d.ts +32 -0
- package/dist/types/num/in-range/in-range.d.ts.map +1 -0
- package/dist/types/num/index.d.ts +3 -0
- package/dist/types/num/index.d.ts.map +1 -0
- package/dist/types/num/round/round.d.ts +8 -0
- package/dist/types/num/round/round.d.ts.map +1 -0
- package/dist/types/obj/constant/constant.d.ts +7 -0
- package/dist/types/obj/constant/constant.d.ts.map +1 -0
- package/dist/types/obj/deep-constant/deep-constant.d.ts +7 -0
- package/dist/types/obj/deep-constant/deep-constant.d.ts.map +1 -0
- package/dist/types/obj/diff-obj/diff-obj.d.ts +38 -0
- package/dist/types/obj/diff-obj/diff-obj.d.ts.map +1 -0
- package/dist/types/obj/exclude/exclude.d.ts +8 -0
- package/dist/types/obj/exclude/exclude.d.ts.map +1 -0
- package/dist/types/obj/extend/extend.d.ts +17 -0
- package/dist/types/obj/extend/extend.d.ts.map +1 -0
- package/dist/types/obj/for-each-obj/for-each-obj.d.ts +9 -0
- package/dist/types/obj/for-each-obj/for-each-obj.d.ts.map +1 -0
- package/dist/types/obj/has-own/has-own.d.ts +9 -0
- package/dist/types/obj/has-own/has-own.d.ts.map +1 -0
- package/dist/types/obj/include/include.d.ts +8 -0
- package/dist/types/obj/include/include.d.ts.map +1 -0
- package/dist/types/obj/index.d.ts +13 -0
- package/dist/types/obj/index.d.ts.map +1 -0
- package/dist/types/obj/keys/keys.d.ts +7 -0
- package/dist/types/obj/keys/keys.d.ts.map +1 -0
- package/dist/types/obj/map-obj/map-obj.d.ts +8 -0
- package/dist/types/obj/map-obj/map-obj.d.ts.map +1 -0
- package/dist/types/obj/map-obj-to-arr/map-obj-to-arr.d.ts +8 -0
- package/dist/types/obj/map-obj-to-arr/map-obj-to-arr.d.ts.map +1 -0
- package/dist/types/obj/values/values.d.ts +7 -0
- package/dist/types/obj/values/values.d.ts.map +1 -0
- package/dist/types/str/index.d.ts +4 -0
- package/dist/types/str/index.d.ts.map +1 -0
- package/dist/types/str/to-camel-case/to-camel-case.d.ts +11 -0
- package/dist/types/str/to-camel-case/to-camel-case.d.ts.map +1 -0
- package/dist/types/str/to-hash/to-hash.d.ts +8 -0
- package/dist/types/str/to-hash/to-hash.d.ts.map +1 -0
- package/dist/types/str/with-capital/with-capital.d.ts +7 -0
- package/dist/types/str/with-capital/with-capital.d.ts.map +1 -0
- package/package.json +92 -73
- package/src/arr/at/at.ts +10 -0
- package/src/arr/cnd/cnd.ts +188 -0
- package/src/arr/diff-arr/diff-arr.ts +66 -0
- package/src/arr/fill/fill.ts +10 -0
- package/src/arr/for-each-arr/for-each-arr.ts +25 -0
- package/src/arr/index-by/index-by.ts +19 -0
- package/src/arr/index.ts +11 -0
- package/src/arr/pluck/pluck.ts +14 -0
- package/src/arr/within/within.ts +14 -0
- package/src/common/copy/copy.ts +89 -0
- package/src/common/equals/equals.ts +142 -0
- package/src/common/error.ts +34 -0
- package/src/common/for-each/for-each.ts +36 -0
- package/src/common/get-unique-num-id/get-unique-num-id.ts +8 -0
- package/src/common/get-unique-str-id/get-unique-str-id.ts +18 -0
- package/src/common/has-iterator/has-iterator.ts +7 -0
- package/src/common/index.ts +23 -0
- package/src/common/interrupt.ts +4 -0
- package/src/common/is/is.ts +244 -0
- package/src/common/is-empty/is-empty.ts +26 -0
- package/src/common/random/random.ts +8 -0
- package/src/common/same/same.ts +8 -0
- package/src/common/stub/stub.ts +7 -0
- package/src/common/to-float/to-float.ts +10 -0
- package/src/common/to-int/to-int.ts +10 -0
- package/src/common/to-sorted-string/to-sorted-string.ts +58 -0
- package/src/common/types.ts +66 -0
- package/src/dom/closest/closest.ts +24 -0
- package/src/dom/document/document.ts +25 -0
- package/src/dom/download-file/download-file.ts +31 -0
- package/src/dom/for-each-elements/for-each-elements.ts +17 -0
- package/src/dom/for-each-nodes/for-each-nodes.ts +15 -0
- package/src/dom/get-all-styles/get-all-styles.ts +10 -0
- package/src/dom/get-body/get-body.ts +9 -0
- package/src/dom/get-html/get-html.ts +9 -0
- package/src/dom/get-non-static-parent/get-non-static-parent.ts +9 -0
- package/src/dom/get-offset-from-doc/get-offset-from-doc.ts +18 -0
- package/src/dom/get-offset-from-parent/get-offset-from-parent.ts +48 -0
- package/src/dom/get-offset-from-win/get-offset-from-win.ts +9 -0
- package/src/dom/get-scroll-width/get-scroll-width.ts +33 -0
- package/src/dom/get-style/get-style.ts +25 -0
- package/src/dom/get-styles/get-styles.ts +14 -0
- package/src/dom/get-valid-style-name/get-valid-style-name.ts +45 -0
- package/src/dom/get-window/get-window.ts +17 -0
- package/src/dom/has-name/has-name.ts +8 -0
- package/src/dom/index.ts +25 -0
- package/src/dom/is-comment/is-comment.ts +7 -0
- package/src/dom/is-element/is-element.ts +7 -0
- package/src/dom/is-text/is-text.ts +7 -0
- package/src/dom/set-offset-from-parent/set-offset-from-parent.ts +46 -0
- package/src/dom/set-style/set-style.ts +14 -0
- package/src/dom/set-styles/set-styles.ts +17 -0
- package/src/dom/types.ts +20 -0
- package/src/env/get-browser/get-browser.ts +38 -0
- package/src/env/get-engine/get-engine.ts +27 -0
- package/src/env/get-os/get-os.ts +31 -0
- package/src/env/get-platform/get-platform.ts +34 -0
- package/src/env/index.ts +24 -0
- package/src/env/is-browser/is-browser.ts +15 -0
- package/src/env/is-chrome-like/is-chrome-like.ts +9 -0
- package/src/env/is-desktop/is-desktop.ts +9 -0
- package/src/env/is-engine/is-engine.ts +12 -0
- package/src/env/is-firefox-like/is-firefox-like.ts +9 -0
- package/src/env/is-mobile/is-mobile.ts +9 -0
- package/src/env/is-os/is-os.ts +13 -0
- package/src/env/is-portable/is-portable.ts +8 -0
- package/src/env/is-safari-like/is-safari-like.ts +9 -0
- package/src/env/is-stationary/is-stationary.ts +8 -0
- package/src/env/is-tablet/is-tablet.ts +9 -0
- package/src/env/is-tv/is-tv.ts +9 -0
- package/src/env/matches/matches.ts +55 -0
- package/src/env/matches-with-browsers/matches-with-browsers.ts +55 -0
- package/src/env/matches-with-version/matches-with-version.ts +44 -0
- package/src/env/private/private.ts +82 -0
- package/src/env/types.ts +146 -0
- package/src/env/user-agent/user-agent.ts +29 -0
- package/src/index.ts +7 -0
- package/src/num/in-range/in-range.ts +54 -0
- package/src/num/index.ts +2 -0
- package/src/num/round/round.ts +10 -0
- package/src/obj/constant/constant.ts +9 -0
- package/src/obj/deep-constant/deep-constant.ts +20 -0
- package/src/obj/diff-obj/diff-obj.ts +87 -0
- package/src/obj/exclude/exclude.ts +18 -0
- package/src/obj/extend/extend.ts +54 -0
- package/src/obj/for-each-obj/for-each-obj.ts +17 -0
- package/src/obj/has-own/has-own.ts +12 -0
- package/src/obj/include/include.ts +17 -0
- package/src/obj/index.ts +12 -0
- package/src/obj/keys/keys.ts +9 -0
- package/src/obj/map-obj/map-obj.ts +14 -0
- package/src/obj/map-obj-to-arr/map-obj-to-arr.ts +14 -0
- package/src/obj/values/values.ts +12 -0
- package/src/str/index.ts +3 -0
- package/src/str/to-camel-case/to-camel-case.ts +17 -0
- package/src/str/to-hash/to-hash.ts +21 -0
- package/src/str/with-capital/with-capital.ts +8 -0
- package/arr/at/at.d.ts +0 -7
- package/arr/at/at.js +0 -11
- package/arr/at/at.js.map +0 -1
- package/arr/cnd/cnd.d.ts +0 -55
- package/arr/cnd/cnd.js +0 -136
- package/arr/cnd/cnd.js.map +0 -1
- package/arr/diff-arr/diff-arr.d.ts +0 -10
- package/arr/diff-arr/diff-arr.js +0 -37
- package/arr/diff-arr/diff-arr.js.map +0 -1
- package/arr/fill/fill.d.ts +0 -8
- package/arr/fill/fill.js +0 -11
- package/arr/fill/fill.js.map +0 -1
- package/arr/for-each-arr/for-each-arr.d.ts +0 -9
- package/arr/for-each-arr/for-each-arr.js +0 -25
- package/arr/for-each-arr/for-each-arr.js.map +0 -1
- package/arr/index-by/index-by.d.ts +0 -9
- package/arr/index-by/index-by.js +0 -19
- package/arr/index-by/index-by.js.map +0 -1
- package/arr/index.d.ts +0 -9
- package/arr/index.js +0 -10
- package/arr/index.js.map +0 -1
- package/arr/pluck/pluck.d.ts +0 -7
- package/arr/pluck/pluck.js +0 -13
- package/arr/pluck/pluck.js.map +0 -1
- package/arr/types.d.ts +0 -84
- package/arr/types.js.map +0 -1
- package/arr/within/within.d.ts +0 -9
- package/arr/within/within.js +0 -14
- package/arr/within/within.js.map +0 -1
- package/common/copy/copy.d.ts +0 -6
- package/common/copy/copy.js +0 -86
- package/common/copy/copy.js.map +0 -1
- package/common/equals/equals.d.ts +0 -12
- package/common/equals/equals.js +0 -127
- package/common/equals/equals.js.map +0 -1
- package/common/error.d.ts +0 -19
- package/common/error.js +0 -16
- package/common/error.js.map +0 -1
- package/common/for-each/for-each.d.ts +0 -9
- package/common/for-each/for-each.js +0 -40
- package/common/for-each/for-each.js.map +0 -1
- package/common/get-unique-num-id/get-unique-num-id.d.ts +0 -4
- package/common/get-unique-num-id/get-unique-num-id.js +0 -8
- package/common/get-unique-num-id/get-unique-num-id.js.map +0 -1
- package/common/get-unique-str-id/get-unique-str-id.d.ts +0 -4
- package/common/get-unique-str-id/get-unique-str-id.js +0 -16
- package/common/get-unique-str-id/get-unique-str-id.js.map +0 -1
- package/common/has-iterator/has-iterator.d.ts +0 -5
- package/common/has-iterator/has-iterator.js +0 -8
- package/common/has-iterator/has-iterator.js.map +0 -1
- package/common/index.d.ts +0 -16
- package/common/index.js +0 -17
- package/common/index.js.map +0 -1
- package/common/is/is.d.ts +0 -136
- package/common/is/is.js +0 -214
- package/common/is/is.js.map +0 -1
- package/common/is-empty/is-empty.d.ts +0 -6
- package/common/is-empty/is-empty.js +0 -30
- package/common/is-empty/is-empty.js.map +0 -1
- package/common/random/random.d.ts +0 -5
- package/common/random/random.js +0 -9
- package/common/random/random.js.map +0 -1
- package/common/same/same.d.ts +0 -6
- package/common/same/same.js +0 -9
- package/common/same/same.js.map +0 -1
- package/common/stub/stub.d.ts +0 -4
- package/common/stub/stub.js +0 -8
- package/common/stub/stub.js.map +0 -1
- package/common/to-float/to-float.d.ts +0 -6
- package/common/to-float/to-float.js +0 -10
- package/common/to-float/to-float.js.map +0 -1
- package/common/to-int/to-int.d.ts +0 -6
- package/common/to-int/to-int.js +0 -10
- package/common/to-int/to-int.js.map +0 -1
- package/common/to-sorted-string/to-sorted-string.d.ts +0 -7
- package/common/to-sorted-string/to-sorted-string.js +0 -53
- package/common/to-sorted-string/to-sorted-string.js.map +0 -1
- package/common/types.d.ts +0 -63
- package/common/types.js +0 -5
- package/common/types.js.map +0 -1
- package/dom/closest/closest.d.ts +0 -6
- package/dom/closest/closest.js +0 -26
- package/dom/closest/closest.js.map +0 -1
- package/dom/document/document.d.ts +0 -12
- package/dom/document/document.js +0 -24
- package/dom/document/document.js.map +0 -1
- package/dom/download-file/download-file.d.ts +0 -6
- package/dom/download-file/download-file.js +0 -32
- package/dom/download-file/download-file.js.map +0 -1
- package/dom/for-each-elements/for-each-elements.d.ts +0 -8
- package/dom/for-each-elements/for-each-elements.js +0 -16
- package/dom/for-each-elements/for-each-elements.js.map +0 -1
- package/dom/for-each-nodes/for-each-nodes.d.ts +0 -7
- package/dom/for-each-nodes/for-each-nodes.js +0 -15
- package/dom/for-each-nodes/for-each-nodes.js.map +0 -1
- package/dom/get-all-styles/get-all-styles.d.ts +0 -5
- package/dom/get-all-styles/get-all-styles.js +0 -10
- package/dom/get-all-styles/get-all-styles.js.map +0 -1
- package/dom/get-body/get-body.d.ts +0 -4
- package/dom/get-body/get-body.js +0 -9
- package/dom/get-body/get-body.js.map +0 -1
- package/dom/get-html/get-html.d.ts +0 -4
- package/dom/get-html/get-html.js +0 -9
- package/dom/get-html/get-html.js.map +0 -1
- package/dom/get-non-static-parent/get-non-static-parent.d.ts +0 -5
- package/dom/get-non-static-parent/get-non-static-parent.js +0 -9
- package/dom/get-non-static-parent/get-non-static-parent.js.map +0 -1
- package/dom/get-offset-from-doc/get-offset-from-doc.d.ts +0 -6
- package/dom/get-offset-from-doc/get-offset-from-doc.js +0 -18
- package/dom/get-offset-from-doc/get-offset-from-doc.js.map +0 -1
- package/dom/get-offset-from-parent/get-offset-from-parent.d.ts +0 -7
- package/dom/get-offset-from-parent/get-offset-from-parent.js +0 -45
- package/dom/get-offset-from-parent/get-offset-from-parent.js.map +0 -1
- package/dom/get-offset-from-win/get-offset-from-win.d.ts +0 -6
- package/dom/get-offset-from-win/get-offset-from-win.js +0 -8
- package/dom/get-offset-from-win/get-offset-from-win.js.map +0 -1
- package/dom/get-scroll-width/get-scroll-width.d.ts +0 -8
- package/dom/get-scroll-width/get-scroll-width.js +0 -28
- package/dom/get-scroll-width/get-scroll-width.js.map +0 -1
- package/dom/get-style/get-style.d.ts +0 -6
- package/dom/get-style/get-style.js +0 -23
- package/dom/get-style/get-style.js.map +0 -1
- package/dom/get-styles/get-styles.d.ts +0 -9
- package/dom/get-styles/get-styles.js +0 -12
- package/dom/get-styles/get-styles.js.map +0 -1
- package/dom/get-valid-style-name/get-valid-style-name.d.ts +0 -6
- package/dom/get-valid-style-name/get-valid-style-name.js +0 -41
- package/dom/get-valid-style-name/get-valid-style-name.js.map +0 -1
- package/dom/get-window/get-window.d.ts +0 -4
- package/dom/get-window/get-window.js +0 -17
- package/dom/get-window/get-window.js.map +0 -1
- package/dom/has-name/has-name.d.ts +0 -6
- package/dom/has-name/has-name.js +0 -9
- package/dom/has-name/has-name.js.map +0 -1
- package/dom/index.d.ts +0 -25
- package/dom/index.js +0 -26
- package/dom/index.js.map +0 -1
- package/dom/is-comment/is-comment.d.ts +0 -5
- package/dom/is-comment/is-comment.js +0 -8
- package/dom/is-comment/is-comment.js.map +0 -1
- package/dom/is-element/is-element.d.ts +0 -5
- package/dom/is-element/is-element.js +0 -8
- package/dom/is-element/is-element.js.map +0 -1
- package/dom/is-text/is-text.d.ts +0 -5
- package/dom/is-text/is-text.js +0 -8
- package/dom/is-text/is-text.js.map +0 -1
- package/dom/set-offset-from-parent/set-offset-from-parent.d.ts +0 -8
- package/dom/set-offset-from-parent/set-offset-from-parent.js +0 -42
- package/dom/set-offset-from-parent/set-offset-from-parent.js.map +0 -1
- package/dom/set-style/set-style.d.ts +0 -8
- package/dom/set-style/set-style.js +0 -14
- package/dom/set-style/set-style.js.map +0 -1
- package/dom/set-styles/set-styles.d.ts +0 -8
- package/dom/set-styles/set-styles.js +0 -16
- package/dom/set-styles/set-styles.js.map +0 -1
- package/dom/types.d.ts +0 -19
- package/dom/types.js.map +0 -1
- package/env/get-browser/get-browser.d.ts +0 -10
- package/env/get-browser/get-browser.js +0 -33
- package/env/get-browser/get-browser.js.map +0 -1
- package/env/get-engine/get-engine.d.ts +0 -7
- package/env/get-engine/get-engine.js +0 -22
- package/env/get-engine/get-engine.js.map +0 -1
- package/env/get-os/get-os.d.ts +0 -8
- package/env/get-os/get-os.js +0 -26
- package/env/get-os/get-os.js.map +0 -1
- package/env/get-platform/get-platform.d.ts +0 -7
- package/env/get-platform/get-platform.js +0 -30
- package/env/get-platform/get-platform.js.map +0 -1
- package/env/index.d.ts +0 -21
- package/env/index.js +0 -22
- package/env/index.js.map +0 -1
- package/env/is-browser/is-browser.d.ts +0 -11
- package/env/is-browser/is-browser.js +0 -15
- package/env/is-browser/is-browser.js.map +0 -1
- package/env/is-chrome-like/is-chrome-like.d.ts +0 -4
- package/env/is-chrome-like/is-chrome-like.js +0 -9
- package/env/is-chrome-like/is-chrome-like.js.map +0 -1
- package/env/is-desktop/is-desktop.d.ts +0 -4
- package/env/is-desktop/is-desktop.js +0 -9
- package/env/is-desktop/is-desktop.js.map +0 -1
- package/env/is-engine/is-engine.d.ts +0 -8
- package/env/is-engine/is-engine.js +0 -12
- package/env/is-engine/is-engine.js.map +0 -1
- package/env/is-firefox-like/is-firefox-like.d.ts +0 -4
- package/env/is-firefox-like/is-firefox-like.js +0 -9
- package/env/is-firefox-like/is-firefox-like.js.map +0 -1
- package/env/is-mobile/is-mobile.d.ts +0 -4
- package/env/is-mobile/is-mobile.js +0 -9
- package/env/is-mobile/is-mobile.js.map +0 -1
- package/env/is-os/is-os.d.ts +0 -9
- package/env/is-os/is-os.js +0 -13
- package/env/is-os/is-os.js.map +0 -1
- package/env/is-portable/is-portable.d.ts +0 -4
- package/env/is-portable/is-portable.js +0 -8
- package/env/is-portable/is-portable.js.map +0 -1
- package/env/is-safari-like/is-safari-like.d.ts +0 -4
- package/env/is-safari-like/is-safari-like.js +0 -9
- package/env/is-safari-like/is-safari-like.js.map +0 -1
- package/env/is-stationary/is-stationary.d.ts +0 -4
- package/env/is-stationary/is-stationary.js +0 -8
- package/env/is-stationary/is-stationary.js.map +0 -1
- package/env/is-tablet/is-tablet.d.ts +0 -4
- package/env/is-tablet/is-tablet.js +0 -9
- package/env/is-tablet/is-tablet.js.map +0 -1
- package/env/is-tv/is-tv.d.ts +0 -4
- package/env/is-tv/is-tv.js +0 -9
- package/env/is-tv/is-tv.js.map +0 -1
- package/env/matches/matches.d.ts +0 -34
- package/env/matches/matches.js +0 -52
- package/env/matches/matches.js.map +0 -1
- package/env/matches-with-browsers/matches-with-browsers.d.ts +0 -23
- package/env/matches-with-browsers/matches-with-browsers.js +0 -53
- package/env/matches-with-browsers/matches-with-browsers.js.map +0 -1
- package/env/matches-with-version/matches-with-version.d.ts +0 -6
- package/env/matches-with-version/matches-with-version.js +0 -41
- package/env/matches-with-version/matches-with-version.js.map +0 -1
- package/env/private/private.d.ts +0 -4
- package/env/private/private.js +0 -67
- package/env/private/private.js.map +0 -1
- package/env/types.d.ts +0 -106
- package/env/types.js.map +0 -1
- package/env/user-agent/user-agent.d.ts +0 -9
- package/env/user-agent/user-agent.js +0 -24
- package/env/user-agent/user-agent.js.map +0 -1
- package/index.d.ts +0 -7
- package/index.js +0 -8
- package/index.js.map +0 -1
- package/num/in-range/in-range.d.ts +0 -8
- package/num/in-range/in-range.js +0 -23
- package/num/in-range/in-range.js.map +0 -1
- package/num/index.d.ts +0 -3
- package/num/index.js +0 -4
- package/num/index.js.map +0 -1
- package/num/round/round.d.ts +0 -7
- package/num/round/round.js +0 -11
- package/num/round/round.js.map +0 -1
- package/num/types.d.ts +0 -24
- package/num/types.js +0 -2
- package/num/types.js.map +0 -1
- package/obj/constant/constant.d.ts +0 -6
- package/obj/constant/constant.js +0 -8
- package/obj/constant/constant.js.map +0 -1
- package/obj/deep-constant/deep-constant.d.ts +0 -6
- package/obj/deep-constant/deep-constant.js +0 -18
- package/obj/deep-constant/deep-constant.js.map +0 -1
- package/obj/diff-obj/diff-obj.d.ts +0 -9
- package/obj/diff-obj/diff-obj.js +0 -48
- package/obj/diff-obj/diff-obj.js.map +0 -1
- package/obj/exclude/exclude.d.ts +0 -7
- package/obj/exclude/exclude.js +0 -18
- package/obj/exclude/exclude.js.map +0 -1
- package/obj/extend/extend.d.ts +0 -16
- package/obj/extend/extend.js +0 -49
- package/obj/extend/extend.js.map +0 -1
- package/obj/for-each-obj/for-each-obj.d.ts +0 -8
- package/obj/for-each-obj/for-each-obj.js +0 -16
- package/obj/for-each-obj/for-each-obj.js.map +0 -1
- package/obj/has-own/has-own.d.ts +0 -8
- package/obj/has-own/has-own.js +0 -11
- package/obj/has-own/has-own.js.map +0 -1
- package/obj/include/include.d.ts +0 -7
- package/obj/include/include.js +0 -17
- package/obj/include/include.js.map +0 -1
- package/obj/index.d.ts +0 -13
- package/obj/index.js +0 -14
- package/obj/index.js.map +0 -1
- package/obj/keys/keys.d.ts +0 -6
- package/obj/keys/keys.js +0 -8
- package/obj/keys/keys.js.map +0 -1
- package/obj/map-obj/map-obj.d.ts +0 -7
- package/obj/map-obj/map-obj.js +0 -12
- package/obj/map-obj/map-obj.js.map +0 -1
- package/obj/map-obj-to-arr/map-obj-to-arr.d.ts +0 -7
- package/obj/map-obj-to-arr/map-obj-to-arr.js +0 -12
- package/obj/map-obj-to-arr/map-obj-to-arr.js.map +0 -1
- package/obj/types.d.ts +0 -30
- package/obj/types.js +0 -2
- package/obj/types.js.map +0 -1
- package/obj/values/values.d.ts +0 -6
- package/obj/values/values.js +0 -11
- package/obj/values/values.js.map +0 -1
- package/str/index.d.ts +0 -3
- package/str/index.js +0 -4
- package/str/index.js.map +0 -1
- package/str/to-camel-case/to-camel-case.d.ts +0 -10
- package/str/to-camel-case/to-camel-case.js +0 -18
- package/str/to-camel-case/to-camel-case.js.map +0 -1
- package/str/to-hash/to-hash.d.ts +0 -7
- package/str/to-hash/to-hash.js +0 -21
- package/str/to-hash/to-hash.js.map +0 -1
- package/str/with-capital/with-capital.d.ts +0 -6
- package/str/with-capital/with-capital.js +0 -9
- package/str/with-capital/with-capital.js.map +0 -1
- /package/{arr → dist/esm/common}/types.js +0 -0
- /package/{dom → dist/esm/dom}/types.js +0 -0
- /package/{env → dist/esm/env}/types.js +0 -0
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Index, isNaN, isDate, isRegExp, isFunction, isDefined, isMap, isSet, isObject, isArray, isTypedArray,
|
|
3
|
+
} from '../';
|
|
4
|
+
import {hasOwn} from '../../obj';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Determines whether two values are equal.
|
|
8
|
+
* The comparison is performed to the full depth of nesting.
|
|
9
|
+
* Objects are equal if they have the same fields with equal values.
|
|
10
|
+
* Arrays and sets are equal if they have the same length and equal values in the same order.
|
|
11
|
+
* Maps are equal if they have the same keys with equal values.
|
|
12
|
+
* Objects, arrays, sets, maps etc. will be ignored if they have been visited to prevent looping
|
|
13
|
+
* @param value1 - anything
|
|
14
|
+
* @param value2 - anything
|
|
15
|
+
* @param sortFn - if added, arrays and sets will be sorted before comparison
|
|
16
|
+
*/
|
|
17
|
+
export function equals(value1: any, value2: any, sortFn?: (a: any, b: any) => number): boolean {
|
|
18
|
+
return _equals(value1, value2, new Map<any, true>(), sortFn);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
function _equals(obj1: any, obj2: any, visited: Map<any, true>, sortFn?: (a: any, b: any) => number): boolean {
|
|
22
|
+
if (obj1 === obj2 || (isNaN(obj1) && isNaN(obj2))) {
|
|
23
|
+
return true;
|
|
24
|
+
} else if (isArray(obj1) || isTypedArray(obj1)) {
|
|
25
|
+
if (visited.has(obj1)) {
|
|
26
|
+
return true;
|
|
27
|
+
}
|
|
28
|
+
visited.set(obj1, true);
|
|
29
|
+
|
|
30
|
+
if ((!isArray(obj2) && !isTypedArray(obj2)) || obj1.length !== obj2.length) {
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
let arr1 = obj1;
|
|
35
|
+
let arr2 = obj2;
|
|
36
|
+
|
|
37
|
+
if (sortFn) {
|
|
38
|
+
arr1 = [...obj1].sort(sortFn);
|
|
39
|
+
arr2 = [...obj2].sort(sortFn);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
for (let i = 0; i < arr1.length; i++) {
|
|
43
|
+
if (!_equals(arr1[i], arr2[i], visited, sortFn)) {
|
|
44
|
+
return false;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
return true;
|
|
49
|
+
} else if (isFunction(obj1)) {
|
|
50
|
+
return false;
|
|
51
|
+
} else if (isDate(obj1)) {
|
|
52
|
+
return isDate(obj2) && obj1.getTime() === obj2.getTime();
|
|
53
|
+
} else if (isRegExp(obj1)) {
|
|
54
|
+
return isRegExp(obj2) && obj1.toString() === obj2.toString();
|
|
55
|
+
} else if (isMap(obj1)) {
|
|
56
|
+
if (visited.has(obj1)) {
|
|
57
|
+
return true;
|
|
58
|
+
}
|
|
59
|
+
visited.set(obj1, true);
|
|
60
|
+
|
|
61
|
+
if (!isMap(obj2) || obj1.size !== obj2.size) {
|
|
62
|
+
return false;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
const map = new Map<any, true>();
|
|
66
|
+
|
|
67
|
+
for (const [key, value] of obj1) {
|
|
68
|
+
if (!_equals(value, obj2.get(key), visited, sortFn)) {
|
|
69
|
+
return false;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
map.set(key, true);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
for (const [key, value] of obj2) {
|
|
76
|
+
if (!map.has(key) && isDefined(value)) {
|
|
77
|
+
return false;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
return true;
|
|
82
|
+
} else if (isSet(obj1)) {
|
|
83
|
+
if (visited.has(obj1)) {
|
|
84
|
+
return true;
|
|
85
|
+
}
|
|
86
|
+
visited.set(obj1, true);
|
|
87
|
+
|
|
88
|
+
if (!isSet(obj2) || obj1.size !== obj2.size) {
|
|
89
|
+
return false;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
const arr1 = Array.from(obj1);
|
|
93
|
+
const arr2 = Array.from(obj2);
|
|
94
|
+
|
|
95
|
+
if (sortFn) {
|
|
96
|
+
arr1.sort(sortFn);
|
|
97
|
+
arr2.sort(sortFn);
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
for (let i = 0; i < arr1.length; i++) {
|
|
101
|
+
if (!_equals(arr1[i], arr2[i], visited, sortFn)) {
|
|
102
|
+
return false;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
return true;
|
|
107
|
+
} else if (isObject(obj1)) {
|
|
108
|
+
if (visited.has(obj1)) {
|
|
109
|
+
return true;
|
|
110
|
+
}
|
|
111
|
+
visited.set(obj1, true);
|
|
112
|
+
|
|
113
|
+
if (!isObject(obj2) || isArray(obj2) || isTypedArray(obj2) || isDate(obj2) || isRegExp(obj2) || isMap(obj2)
|
|
114
|
+
|| isSet(obj2)) {
|
|
115
|
+
return false;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
const obj: Index<true> = {};
|
|
119
|
+
|
|
120
|
+
for (const key in obj1) {
|
|
121
|
+
if (!hasOwn(obj1, key) || isFunction(obj1[key])) {
|
|
122
|
+
continue;
|
|
123
|
+
} else if (!_equals(obj1[key], obj2[key], visited, sortFn)) {
|
|
124
|
+
return false;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
obj[key] = true;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
for (const key in obj2) {
|
|
131
|
+
if (!hasOwn(obj2, key) || isFunction(obj2[key])) {
|
|
132
|
+
continue;
|
|
133
|
+
} else if (!hasOwn(obj, key) && isDefined(obj2[key])) {
|
|
134
|
+
return false;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
return true;
|
|
139
|
+
} else {
|
|
140
|
+
return false;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Represents additional error options the BfError class
|
|
3
|
+
*/
|
|
4
|
+
export interface BfErrorOptions {
|
|
5
|
+
code?: string;
|
|
6
|
+
data?: any;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Extends the Error class and adds additional parameters: date, code, data
|
|
11
|
+
*/
|
|
12
|
+
export class BfError extends Error {
|
|
13
|
+
/**
|
|
14
|
+
* Creation date
|
|
15
|
+
*/
|
|
16
|
+
readonly date = new Date();
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Unique error code
|
|
20
|
+
*/
|
|
21
|
+
readonly code?: string;
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Any additional data for error handling
|
|
25
|
+
*/
|
|
26
|
+
readonly data?: any;
|
|
27
|
+
|
|
28
|
+
constructor(massage?: string, options?: BfErrorOptions) {
|
|
29
|
+
super(massage);
|
|
30
|
+
this.name = 'BfError';
|
|
31
|
+
this.code = options?.code;
|
|
32
|
+
this.data = options?.data;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import {NumStr, BfError, INTERRUPT, isNumber, isFunction, isMap, isSet, isObject, hasIterator} from '../';
|
|
2
|
+
import {forEachArr} from '../../arr';
|
|
3
|
+
import {forEachObj} from '../../obj';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Iterates through all the items of any iterable object and calls a handler for each item
|
|
7
|
+
* If the handler returns INTERRUPT, the loop will be interrupted
|
|
8
|
+
* @param obj - any iterable object
|
|
9
|
+
* @param handler - function called for each item
|
|
10
|
+
* @param reverse - iterates in reverse order if true
|
|
11
|
+
*/
|
|
12
|
+
export function forEach(obj: any, handler: (value: any, key: NumStr, obj: any) => any, reverse?: boolean): void {
|
|
13
|
+
if (hasIterator(obj)) {
|
|
14
|
+
if (isMap(obj)) {
|
|
15
|
+
const iterable = Array.from(obj);
|
|
16
|
+
forEachArr(iterable, entry => handler(entry[1], entry[0], obj), reverse);
|
|
17
|
+
} else if (isFunction(obj.forEach) || isNumber(obj.length)) {
|
|
18
|
+
const iterable: any = isSet(obj) ? Array.from(obj) : obj;
|
|
19
|
+
forEachArr(iterable, (value, i) => handler(value, i, obj), reverse);
|
|
20
|
+
} else {
|
|
21
|
+
let i = 0;
|
|
22
|
+
for (const item of obj) {
|
|
23
|
+
if (handler(item, i++, obj) === INTERRUPT) {
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
} else if (isObject(obj)) {
|
|
29
|
+
forEachObj(obj, handler);
|
|
30
|
+
} else {
|
|
31
|
+
throw new BfError('Invalid iterable object', {
|
|
32
|
+
code: 'bf_utils_forEach_1',
|
|
33
|
+
data: obj,
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import {random} from '../random/random';
|
|
2
|
+
|
|
3
|
+
/*
|
|
4
|
+
* Counter for the getUniqueStrId function
|
|
5
|
+
*/
|
|
6
|
+
let counter = 0;
|
|
7
|
+
|
|
8
|
+
/*
|
|
9
|
+
* Salt for the getUniqueStrId function
|
|
10
|
+
*/
|
|
11
|
+
const salt = random(7);
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Returns a unique string identifier for the current session
|
|
15
|
+
*/
|
|
16
|
+
export function getUniqueStrId(): string {
|
|
17
|
+
return `${salt}${++counter}`;
|
|
18
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export {
|
|
2
|
+
Nullish, NumStr, NumStrSym, Fn, Arr, TypedArr, Obj, Index, ArrObj, UnionToIntersection, ValueUnion, ValueIntersection,
|
|
3
|
+
} from './types';
|
|
4
|
+
export {INTERRUPT} from './interrupt';
|
|
5
|
+
export {BfError, BfErrorOptions} from './error';
|
|
6
|
+
export {stub} from './stub/stub';
|
|
7
|
+
export {
|
|
8
|
+
isNull, isUndefined, isDefined, isNullish, isNaN, isString, isNumber, isBigInt, isBoolean, isSymbol, isFunction,
|
|
9
|
+
isObject, isArray, isSet, isMap, isDate, isRegExp, isFile, isBlob, isFormData, isArrayBuffer, isDocument, isWindow,
|
|
10
|
+
isPromise, isObservable, isTypedArray, isUsualObject,
|
|
11
|
+
} from './is/is';
|
|
12
|
+
export {isEmpty} from './is-empty/is-empty';
|
|
13
|
+
export {same} from './same/same';
|
|
14
|
+
export {random} from './random/random';
|
|
15
|
+
export {toInt} from './to-int/to-int';
|
|
16
|
+
export {toFloat} from './to-float/to-float';
|
|
17
|
+
export {hasIterator} from './has-iterator/has-iterator';
|
|
18
|
+
export {getUniqueStrId} from './get-unique-str-id/get-unique-str-id';
|
|
19
|
+
export {getUniqueNumId} from './get-unique-num-id/get-unique-num-id';
|
|
20
|
+
export {toSortedString} from './to-sorted-string/to-sorted-string';
|
|
21
|
+
export {forEach} from './for-each/for-each';
|
|
22
|
+
export {equals} from './equals/equals';
|
|
23
|
+
export {copy} from './copy/copy';
|
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
import {Fn, TypedArr, Obj, Nullish} from '../';
|
|
2
|
+
|
|
3
|
+
/*
|
|
4
|
+
* Why is typeof or constructor used to check type?
|
|
5
|
+
* For 100 000 000 iterations type checking is spending:
|
|
6
|
+
* by typeof: ~75 milliseconds
|
|
7
|
+
* by constructor: ~75 milliseconds
|
|
8
|
+
* by instanceof: ~255 milliseconds
|
|
9
|
+
* by toString.call: ~850 milliseconds
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Returns true if the value is null, otherwise false
|
|
14
|
+
* @param value - anything
|
|
15
|
+
*/
|
|
16
|
+
export function isNull(value: any): value is null {
|
|
17
|
+
return value === null;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Returns true if the value is undefined, otherwise false
|
|
22
|
+
* @param value - anything
|
|
23
|
+
*/
|
|
24
|
+
export function isUndefined(value: any): value is undefined {
|
|
25
|
+
return typeof value === 'undefined';
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Returns true if the value is defined, otherwise false
|
|
30
|
+
* @param value - anything
|
|
31
|
+
*/
|
|
32
|
+
export function isDefined(value: any): boolean {
|
|
33
|
+
return typeof value !== 'undefined';
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Returns true if the value is undefined or null, otherwise false
|
|
38
|
+
* @param value - anything
|
|
39
|
+
*/
|
|
40
|
+
export function isNullish(value: any): value is Nullish {
|
|
41
|
+
return isNull(value) || isUndefined(value);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Returns true if the value is NaN, otherwise false
|
|
46
|
+
* @param value - anything
|
|
47
|
+
*/
|
|
48
|
+
export function isNaN(value: any): value is typeof NaN {
|
|
49
|
+
return Number.isNaN(value);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Returns true if the value is a string, otherwise false
|
|
54
|
+
* @param value - anything
|
|
55
|
+
*/
|
|
56
|
+
export function isString(value: any): value is string {
|
|
57
|
+
return typeof value === 'string';
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Returns true if the value is a number, otherwise false
|
|
62
|
+
* @param value - anything
|
|
63
|
+
*/
|
|
64
|
+
export function isNumber(value: any): value is number {
|
|
65
|
+
return typeof value === 'number';
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* Returns true if the value is a big integer, otherwise false
|
|
70
|
+
* @param value - anything
|
|
71
|
+
*/
|
|
72
|
+
export function isBigInt(value: any): value is bigint {
|
|
73
|
+
return typeof value === 'bigint';
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* Returns true if the value is a boolean, otherwise false
|
|
78
|
+
* @param value - anything
|
|
79
|
+
*/
|
|
80
|
+
export function isBoolean(value: any): value is boolean {
|
|
81
|
+
return typeof value === 'boolean';
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* Returns true if the value is a symbol, otherwise false
|
|
86
|
+
* @param value - anything
|
|
87
|
+
*/
|
|
88
|
+
export function isSymbol(value: any): value is symbol {
|
|
89
|
+
return typeof value === 'symbol';
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* Returns true if the value is a function, otherwise false
|
|
94
|
+
* @param value - anything
|
|
95
|
+
*/
|
|
96
|
+
export function isFunction(value: any): value is Fn {
|
|
97
|
+
return typeof value === 'function';
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* Returns true if the value is an object, otherwise false
|
|
102
|
+
* @param value - anything
|
|
103
|
+
*/
|
|
104
|
+
export function isObject(value: any): value is Obj {
|
|
105
|
+
return !!value && typeof value === 'object';
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* Returns true if the value is an array, otherwise false
|
|
110
|
+
* @param value - anything
|
|
111
|
+
*/
|
|
112
|
+
export function isArray(value: any): value is Array<any> {
|
|
113
|
+
return Array.isArray(value);
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* Returns true if the value is a set, otherwise false
|
|
118
|
+
* @param value - anything
|
|
119
|
+
*/
|
|
120
|
+
export function isSet(value: any): value is Set<any> {
|
|
121
|
+
return !!value && value.constructor === Set;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
/**
|
|
125
|
+
* Returns true if the value is a map, otherwise false
|
|
126
|
+
* @param value - anything
|
|
127
|
+
*/
|
|
128
|
+
export function isMap(value: any): value is Map<any, any> {
|
|
129
|
+
return !!value && value.constructor === Map;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
/**
|
|
133
|
+
* Returns true if the value is a date, otherwise false
|
|
134
|
+
* @param value - anything
|
|
135
|
+
*/
|
|
136
|
+
export function isDate(value: any): value is Date {
|
|
137
|
+
return !!value && value.constructor === Date;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
/**
|
|
141
|
+
* Returns true if the value is a regular expression, otherwise false
|
|
142
|
+
* @param value - anything
|
|
143
|
+
*/
|
|
144
|
+
export function isRegExp(value: any): value is RegExp {
|
|
145
|
+
return !!value && value.constructor === RegExp;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
/**
|
|
149
|
+
* Returns true if the value is a file, otherwise false
|
|
150
|
+
* @param value - anything
|
|
151
|
+
*/
|
|
152
|
+
export function isFile(value: any): value is File {
|
|
153
|
+
return !!value && value.constructor === File;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
/**
|
|
157
|
+
* Returns true if the value is a blob, otherwise false
|
|
158
|
+
* @param value - anything
|
|
159
|
+
*/
|
|
160
|
+
export function isBlob(value: any): value is Blob {
|
|
161
|
+
return !!value && value.constructor === Blob;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
/**
|
|
165
|
+
* Returns true if the value is form data, otherwise false
|
|
166
|
+
* @param value - anything
|
|
167
|
+
*/
|
|
168
|
+
export function isFormData(value: any): value is FormData {
|
|
169
|
+
return !!value && value.constructor === FormData;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
/**
|
|
173
|
+
* Returns true if the value is an array buffer, otherwise false
|
|
174
|
+
* @param value - anything
|
|
175
|
+
*/
|
|
176
|
+
export function isArrayBuffer(value: any): value is ArrayBuffer {
|
|
177
|
+
return !!value && value.constructor === ArrayBuffer;
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
/**
|
|
181
|
+
* Returns true if the value is a document, otherwise false
|
|
182
|
+
* @param value - anything
|
|
183
|
+
*/
|
|
184
|
+
export function isDocument(value: any): value is Document {
|
|
185
|
+
return !!value && typeof Document === 'function' && value.constructor === Document;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
/**
|
|
189
|
+
* Returns true if the value is a window, otherwise false
|
|
190
|
+
* @param value - anything
|
|
191
|
+
*/
|
|
192
|
+
export function isWindow(value: any): value is Window {
|
|
193
|
+
return !!value && value.window === value;
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
/**
|
|
197
|
+
* Returns true if the value is a promise, otherwise false
|
|
198
|
+
* @param value - anything
|
|
199
|
+
*/
|
|
200
|
+
export function isPromise(value: any): value is Promise<any> {
|
|
201
|
+
return !!value && (value.constructor === Promise || (isFunction(value.then) && isFunction(value.catch)));
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
/**
|
|
205
|
+
* Returns true if the value is an observable, otherwise false
|
|
206
|
+
* @param value - anything
|
|
207
|
+
*/
|
|
208
|
+
export function isObservable(value: any): boolean {
|
|
209
|
+
return !!value && isFunction(value.pipe) && isFunction(value.subscribe);
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
/**
|
|
213
|
+
* Returns true if the value is a typed array, otherwise false
|
|
214
|
+
* @param value - anything
|
|
215
|
+
*/
|
|
216
|
+
export function isTypedArray(value: any): value is TypedArr {
|
|
217
|
+
switch (value?.constructor) {
|
|
218
|
+
case Int8Array:
|
|
219
|
+
case Int16Array:
|
|
220
|
+
case Int32Array:
|
|
221
|
+
case Float32Array:
|
|
222
|
+
case Float64Array:
|
|
223
|
+
case Uint8Array:
|
|
224
|
+
case Uint8ClampedArray:
|
|
225
|
+
case Uint16Array:
|
|
226
|
+
case Uint32Array:
|
|
227
|
+
// case BigInt64Array:
|
|
228
|
+
// case BigUint64Array:
|
|
229
|
+
return true;
|
|
230
|
+
default:
|
|
231
|
+
return false;
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
/**
|
|
236
|
+
* Returns true if the value is a usual object, otherwise false
|
|
237
|
+
* @param value - anything
|
|
238
|
+
*/
|
|
239
|
+
export function isUsualObject(value: any): value is Obj {
|
|
240
|
+
return isObject(value) && !isArray(value) && !isTypedArray(value) && !isSet(value) && !isMap(value) && !isDate(value)
|
|
241
|
+
&& !isRegExp(value) && !isFile(value) && !isBlob(value) && !isFormData(value) && !isArrayBuffer(value) && !isWindow(
|
|
242
|
+
value,
|
|
243
|
+
) && !isDocument(value) && !isPromise(value) && !isObservable(value);
|
|
244
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import {isNumber, isBigInt, isBoolean, isSymbol, isString, isDate, isRegExp, isFunction, isDefined} from '../';
|
|
2
|
+
import {hasOwn} from '../../obj';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Returns true if the value is empty (null, undefined, NaN, Infinity, '', {}, [], Int32Array(), Set(), Map()),
|
|
6
|
+
* otherwise false
|
|
7
|
+
* @param value - anything
|
|
8
|
+
*/
|
|
9
|
+
export function isEmpty(value: any): boolean {
|
|
10
|
+
if (isNumber(value) || isBigInt(value) || isBoolean(value) || isSymbol(value)) {
|
|
11
|
+
return false;
|
|
12
|
+
} else if (!value) {
|
|
13
|
+
return true;
|
|
14
|
+
} else if (isString(value) || isDate(value) || isRegExp(value) || isFunction(value)) {
|
|
15
|
+
return false;
|
|
16
|
+
} else if (isFunction(value.forEach)) {
|
|
17
|
+
return value.length === 0 || value.size === 0;
|
|
18
|
+
} else {
|
|
19
|
+
for (const key in value) {
|
|
20
|
+
if (hasOwn(value, key) && isDefined(value[key])) {
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return true;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns a random integer between 0 and number, not exceeding a certain number of digits
|
|
3
|
+
* @param numberOfDigits - number of digits (default: 7, maximum: 15)
|
|
4
|
+
*/
|
|
5
|
+
export function random(numberOfDigits = 7): number {
|
|
6
|
+
numberOfDigits = numberOfDigits <= 15 ? numberOfDigits : 15;
|
|
7
|
+
return Math.round(Math.random() * Math.pow(10, numberOfDigits));
|
|
8
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import {NumStr, isNumber} from '../';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Converts a string to a float and replaces NaN and Infinity with 0
|
|
5
|
+
* @param value - a string or number
|
|
6
|
+
*/
|
|
7
|
+
export function toFloat(value: NumStr): number {
|
|
8
|
+
const num = isNumber(value) ? value : parseFloat(value);
|
|
9
|
+
return isFinite(num) ? num : 0;
|
|
10
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import {NumStr, isNumber} from '../';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Converts a string to an integer and replaces NaN and Infinity with 0
|
|
5
|
+
* @param value - a string or number
|
|
6
|
+
*/
|
|
7
|
+
export function toInt(value: NumStr): number {
|
|
8
|
+
const num = isNumber(value) ? value : parseInt(value, 10);
|
|
9
|
+
return isFinite(num) ? num : 0;
|
|
10
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import {NumStr, isString, isDate, isRegExp, isFunction, isMap, isSet, isObject, isArray, isTypedArray} from '../';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Converts any value to a sorted string.
|
|
5
|
+
* Sorts arrays, maps and sets by value and sorts objects by field name before adding them to a string.
|
|
6
|
+
* Objects, arrays, sets, maps etc. will be ignored if they have been visited to prevent looping
|
|
7
|
+
* @param value - anything
|
|
8
|
+
*/
|
|
9
|
+
export function toSortedString(value: any): string {
|
|
10
|
+
return _toSortedString(value, null, 0, new Map<any, true>());
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
function _toSortedString(value: any, index: number | null, field: NumStr, visited: Map<any, true>): string {
|
|
14
|
+
let str = index === null ? '' : ((index === 0 ? '' : ',') + (isString(field) ? field + ':' : ''));
|
|
15
|
+
|
|
16
|
+
if (isMap(value) || isSet(value)) {
|
|
17
|
+
if (visited.has(value)) {
|
|
18
|
+
return '';
|
|
19
|
+
}
|
|
20
|
+
visited.set(value, true);
|
|
21
|
+
|
|
22
|
+
value = Array.from(value);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
if (isArray(value) || isTypedArray(value)) {
|
|
26
|
+
if (visited.has(value)) {
|
|
27
|
+
return '';
|
|
28
|
+
}
|
|
29
|
+
visited.set(value, true);
|
|
30
|
+
|
|
31
|
+
str += '[';
|
|
32
|
+
value.sort();
|
|
33
|
+
value.forEach((value: any, i: number) => {
|
|
34
|
+
str += _toSortedString(value, i, i, visited);
|
|
35
|
+
});
|
|
36
|
+
str += ']';
|
|
37
|
+
} else if (isFunction(value)) {
|
|
38
|
+
str += value.toString();
|
|
39
|
+
} else if (isObject(value) && !isDate(value) && !isRegExp(value)) {
|
|
40
|
+
if (visited.has(value)) {
|
|
41
|
+
return '';
|
|
42
|
+
}
|
|
43
|
+
visited.set(value, true);
|
|
44
|
+
|
|
45
|
+
const fields = Object.keys(value);
|
|
46
|
+
|
|
47
|
+
str += '{';
|
|
48
|
+
fields.sort();
|
|
49
|
+
fields.forEach((field, i) => {
|
|
50
|
+
str += _toSortedString(value[field], i, field, visited);
|
|
51
|
+
});
|
|
52
|
+
str += '}';
|
|
53
|
+
} else {
|
|
54
|
+
str += value;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
return str;
|
|
58
|
+
}
|