@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,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generates a hash value for a given input string for insecure purposes
|
|
3
|
+
* Hash functions are commonly used to convert input data into a fixed-length string of characters,
|
|
4
|
+
* providing a unique representation of the input
|
|
5
|
+
* @param str - The input string to be hashed
|
|
6
|
+
*/
|
|
7
|
+
export declare function toHash(str: string): string;
|
|
8
|
+
//# sourceMappingURL=to-hash.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"to-hash.d.ts","sourceRoot":"","sources":["../../../../src/str/to-hash/to-hash.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAc1C"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Takes a string as input and returns a new string with the initial letter in uppercase,
|
|
3
|
+
* while preserving the rest of the string
|
|
4
|
+
* @param str - The input string whose first letter needs to be capitalized
|
|
5
|
+
*/
|
|
6
|
+
export declare function withCapital(str: string): string;
|
|
7
|
+
//# sourceMappingURL=with-capital.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"with-capital.d.ts","sourceRoot":"","sources":["../../../../src/str/with-capital/with-capital.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE/C"}
|
package/package.json
CHANGED
|
@@ -1,73 +1,92 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@bitfiber/utils",
|
|
3
|
-
"description": "Collection of versatile utility functions for Javascript",
|
|
4
|
-
"version": "1.0.
|
|
5
|
-
"
|
|
6
|
-
"module": "./
|
|
7
|
-
"
|
|
8
|
-
"types": "
|
|
9
|
-
"typesVersions": {
|
|
10
|
-
">=4.8.2": {
|
|
11
|
-
"*": [
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
"
|
|
20
|
-
"
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
"
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
"
|
|
28
|
-
"default": "./
|
|
29
|
-
},
|
|
30
|
-
"./
|
|
31
|
-
"types": "./
|
|
32
|
-
"
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
"
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
"
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
"
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
"
|
|
71
|
-
},
|
|
72
|
-
"
|
|
73
|
-
|
|
1
|
+
{
|
|
2
|
+
"name": "@bitfiber/utils",
|
|
3
|
+
"description": "Collection of versatile utility functions for Javascript",
|
|
4
|
+
"version": "1.0.4",
|
|
5
|
+
"main": "./dist/cjs/index.js",
|
|
6
|
+
"module": "./dist/esm/index.js",
|
|
7
|
+
"es2015": "./dist/esm/index.js",
|
|
8
|
+
"types": "index.d.ts",
|
|
9
|
+
"typesVersions": {
|
|
10
|
+
">=4.8.2": {
|
|
11
|
+
"*": ["dist/types/*"]
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
"sideEffects": false,
|
|
15
|
+
"exports": {
|
|
16
|
+
".": {
|
|
17
|
+
"types": "./dist/types/index.d.ts",
|
|
18
|
+
"node": "./dist/cjs/index.js",
|
|
19
|
+
"require": "./dist/cjs/index.js",
|
|
20
|
+
"es2015": "./dist/esm/index.js",
|
|
21
|
+
"default": "./dist/esm/index.js"
|
|
22
|
+
},
|
|
23
|
+
"./arr": {
|
|
24
|
+
"types": "./dist/types/arr/index.d.ts",
|
|
25
|
+
"node": "./dist/cjs/arr/index.js",
|
|
26
|
+
"require": "./dist/cjs/arr/index.js",
|
|
27
|
+
"es2015": "./dist/esm/arr/index.js",
|
|
28
|
+
"default": "./dist/esm/arr/index.js"
|
|
29
|
+
},
|
|
30
|
+
"./obj": {
|
|
31
|
+
"types": "./dist/types/obj/index.d.ts",
|
|
32
|
+
"node": "./dist/cjs/obj/index.js",
|
|
33
|
+
"require": "./dist/cjs/obj/index.js",
|
|
34
|
+
"es2015": "./dist/esm/obj/index.js",
|
|
35
|
+
"default": "./dist/esm/obj/index.js"
|
|
36
|
+
},
|
|
37
|
+
"./str": {
|
|
38
|
+
"types": "./dist/types/str/index.d.ts",
|
|
39
|
+
"node": "./dist/cjs/str/index.js",
|
|
40
|
+
"require": "./dist/cjs/str/index.js",
|
|
41
|
+
"es2015": "./dist/esm/str/index.js",
|
|
42
|
+
"default": "./dist/esm/str/index.js"
|
|
43
|
+
},
|
|
44
|
+
"./num": {
|
|
45
|
+
"types": "./dist/types/num/index.d.ts",
|
|
46
|
+
"node": "./dist/cjs/num/index.js",
|
|
47
|
+
"require": "./dist/cjs/num/index.js",
|
|
48
|
+
"es2015": "./dist/esm/num/index.js",
|
|
49
|
+
"default": "./dist/esm/num/index.js"
|
|
50
|
+
},
|
|
51
|
+
"./dom": {
|
|
52
|
+
"types": "./dist/types/dom/index.d.ts",
|
|
53
|
+
"node": "./dist/cjs/dom/index.js",
|
|
54
|
+
"require": "./dist/cjs/dom/index.js",
|
|
55
|
+
"es2015": "./dist/esm/dom/index.js",
|
|
56
|
+
"default": "./dist/esm/dom/index.js"
|
|
57
|
+
},
|
|
58
|
+
"./env": {
|
|
59
|
+
"types": "./dist/types/env/index.d.ts",
|
|
60
|
+
"node": "./dist/cjs/env/index.js",
|
|
61
|
+
"require": "./dist/cjs/env/index.js",
|
|
62
|
+
"es2015": "./dist/esm/env/index.js",
|
|
63
|
+
"default": "./dist/esm/env/index.js"
|
|
64
|
+
},
|
|
65
|
+
"./package.json": "./package.json"
|
|
66
|
+
},
|
|
67
|
+
"repository": {
|
|
68
|
+
"type": "git",
|
|
69
|
+
"url": "https://github.com/bitfiber/utils.git",
|
|
70
|
+
"directory": "utils"
|
|
71
|
+
},
|
|
72
|
+
"keywords": [
|
|
73
|
+
"Javascript",
|
|
74
|
+
"Typescript",
|
|
75
|
+
"Utils",
|
|
76
|
+
"Utilities",
|
|
77
|
+
"Helpers"
|
|
78
|
+
],
|
|
79
|
+
"author": {
|
|
80
|
+
"name": "Oleksandr Zmanovskyi",
|
|
81
|
+
"email": "bitfiber.web@gmail.com"
|
|
82
|
+
},
|
|
83
|
+
"license": "Apache 2.0",
|
|
84
|
+
"bugs": {
|
|
85
|
+
"url": "https://github.com/bitfiber/utils/issues"
|
|
86
|
+
},
|
|
87
|
+
"homepage": "https://github.com/bitfiber/utils",
|
|
88
|
+
"dependencies": {
|
|
89
|
+
"tslib": "^2.3.0"
|
|
90
|
+
},
|
|
91
|
+
"peerDependencies": {}
|
|
92
|
+
}
|
package/src/arr/at/at.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns the array item at index, or undefined if there is no index.
|
|
3
|
+
* For negative indexes, returns items from the end
|
|
4
|
+
* @param arr - any array
|
|
5
|
+
* @param index - item index
|
|
6
|
+
*/
|
|
7
|
+
export function at<T>(arr: T[], index: number): T | undefined {
|
|
8
|
+
// todo: change on 'Array.at' with ES2022
|
|
9
|
+
return index < 0 ? arr[arr.length + index] : arr[index];
|
|
10
|
+
}
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
import {BfError, isFunction, isObject, isRegExp, isString, same, equals, isArray} from '../../common';
|
|
2
|
+
import {hasOwn} from '../../obj';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Represents a condition that is true if the function returns true
|
|
6
|
+
* Used for the cnd function
|
|
7
|
+
*/
|
|
8
|
+
export type MatchConditionFn = (value: any) => boolean;
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Represents a condition that is true if the value is the same as the condition
|
|
12
|
+
* Used for the cnd function
|
|
13
|
+
*/
|
|
14
|
+
export type MatchConditionIs = {is: any};
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Represents a condition that is true if the value is the same for at least one part of the condition
|
|
18
|
+
* Used for the cnd function
|
|
19
|
+
*/
|
|
20
|
+
export type MatchConditionOr = {or: any[]};
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Represents a condition that is true if the value is not the same for each part of the condition
|
|
24
|
+
* Used for the cnd function
|
|
25
|
+
*/
|
|
26
|
+
export type MatchConditionNot = {not: any[]};
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Represents a condition that is true if the value is equal to the condition
|
|
30
|
+
* Used for the cnd function
|
|
31
|
+
*/
|
|
32
|
+
export type MatchConditionEqual = {equal: any};
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Represents a condition that is true if the value is equal to at least one part of the condition
|
|
36
|
+
* Used for the cnd function
|
|
37
|
+
*/
|
|
38
|
+
export type MatchConditionOrEqual = {orEqual: any[]};
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Represents a condition that is true if the value is not equal to each part of the condition
|
|
42
|
+
* Used for the cnd function
|
|
43
|
+
*/
|
|
44
|
+
export type MatchConditionNotEqual = {notEqual: any[]};
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Represents a group of all object condition types
|
|
48
|
+
* Used for the cnd function
|
|
49
|
+
*/
|
|
50
|
+
export type MatchConditionObj = MatchConditionIs | MatchConditionOr | MatchConditionNot | MatchConditionEqual
|
|
51
|
+
| MatchConditionOrEqual | MatchConditionNotEqual;
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Represents a condition that is true if the value of each field matches each field condition
|
|
55
|
+
* Used for the cnd function
|
|
56
|
+
*/
|
|
57
|
+
export type MatchConditionsByFields = {
|
|
58
|
+
[field: string]: MatchConditionObj | RegExp;
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Represents all condition types for the cnd function
|
|
63
|
+
*/
|
|
64
|
+
export type MatchConditions = MatchConditionFn | MatchConditionObj | MatchConditionsByFields;
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* Returns a function that checks if a value matches the conditions
|
|
68
|
+
* @example
|
|
69
|
+
* import {cnd} from '@bitfiber/utils/arr';
|
|
70
|
+
*
|
|
71
|
+
* const obj1 = {name: 'Alex'};
|
|
72
|
+
* const obj2 = {name: 'Mary'};
|
|
73
|
+
* const obj3 = {name: 'Jack'};
|
|
74
|
+
* const arr = [obj1, obj2, obj3];
|
|
75
|
+
* const strArr = ['Alex', 'Mary', 'Jack'];
|
|
76
|
+
*
|
|
77
|
+
* // Handler for comparison
|
|
78
|
+
* arr.filter(cnd(obj => obj.name === 'Alex')); // [{name: 'Alex'}]
|
|
79
|
+
*
|
|
80
|
+
* // Strict value comparison
|
|
81
|
+
* arr.filter(cnd({is: obj1})); // [{name: 'Alex'}]
|
|
82
|
+
* arr.filter(cnd({is: {name: 'Alex'}})); // []
|
|
83
|
+
* arr.filter(cnd({or: [obj1, obj2]})); // [{name: 'Alex'}, {name: 'Mary'}]
|
|
84
|
+
* arr.filter(cnd({or: [{name: 'Alex'}, obj2]})); // [{name: 'Mary'}]
|
|
85
|
+
* arr.filter(cnd({not: [obj1, obj2]})); // [{name: 'Jack'}]
|
|
86
|
+
* arr.filter(cnd({not: [{name: 'Alex'}, obj2]})); // [{name: 'Alex'}, {name: 'Jack'}]
|
|
87
|
+
*
|
|
88
|
+
* // Value equivalence comparison
|
|
89
|
+
* arr.filter(cnd({equal: obj1})); // [{name: 'Alex'}]
|
|
90
|
+
* arr.filter(cnd({equal: {name: 'Alex'}})); // [{name: 'Alex'}]
|
|
91
|
+
* arr.filter(cnd({orEqual: [obj1, obj2]})); // [{name: 'Alex'}, {name: 'Mary'}]
|
|
92
|
+
* arr.filter(cnd({orEqual: [{name: 'Alex'}, obj2]})); // [{name: 'Alex'}, {name: 'Mary'}]
|
|
93
|
+
* arr.filter(cnd({notEqual: [obj1, obj2]})); // [{name: 'Jack'}]
|
|
94
|
+
* arr.filter(cnd({notEqual: [{name: 'Alex'}, obj2]})); // [{name: 'Jack'}]
|
|
95
|
+
*
|
|
96
|
+
* // String value RegExp comparison
|
|
97
|
+
* strArr.filter(cnd({equal: /^Alex$/})); // ['Alex']
|
|
98
|
+
* strArr.filter(cnd({orEqual: [/^Alex$/, /^Mary$/]})); // ['Alex', 'Mary']
|
|
99
|
+
* strArr.filter(cnd({notEqual: [/^Alex$/, /^Mary$/]})); // ['Jack']
|
|
100
|
+
*
|
|
101
|
+
* // Strict comparison of field value in objects
|
|
102
|
+
* arr.filter(cnd({name: {is: 'Alex'}})); // [{name: 'Alex'}]
|
|
103
|
+
* arr.filter(cnd({name: {or: ['Alex', 'Mary']}})); // [{name: 'Alex'}, {name: 'Mary'}]
|
|
104
|
+
* arr.filter(cnd({name: {not: ['Alex', 'Mary']}})); // [{name: 'Jack'}]
|
|
105
|
+
*
|
|
106
|
+
* // Comparison of field value equivalence in objects
|
|
107
|
+
* arr.filter(cnd({name: {equal: 'Alex'}})); // [{name: 'Alex'}]
|
|
108
|
+
* arr.filter(cnd({name: {orEqual: ['Alex', 'Mary']}})); // [{name: 'Alex'}, {name: 'Mary'}]
|
|
109
|
+
* arr.filter(cnd({name: {notEqual: ['Alex', 'Mary']}})); // [{name: 'Jack'}]
|
|
110
|
+
*
|
|
111
|
+
* // Comparing string fields in objects using RegExp
|
|
112
|
+
* arr.filter(cnd({name: /^Alex$/})); // [{name: 'Alex'}]
|
|
113
|
+
* arr.filter(cnd({name: {equal: /^Alex$/}})); // [{name: 'Alex'}]
|
|
114
|
+
* arr.filter(cnd({name: {orEqual: [/^Alex$/, /^Mary$/]}})); // [{name: 'Alex'}, {name: 'Mary'}]
|
|
115
|
+
* arr.filter(cnd({name: {notEqual: [/^Alex$/, /^Mary$/]}})); // [{name: 'Jack'}]
|
|
116
|
+
*
|
|
117
|
+
* @param conditions
|
|
118
|
+
*/
|
|
119
|
+
export function cnd(conditions: MatchConditions): MatchConditionFn {
|
|
120
|
+
if (isFunction(conditions)) {
|
|
121
|
+
return conditions;
|
|
122
|
+
} else if ('is' in conditions) {
|
|
123
|
+
return value => same(conditions.is, value);
|
|
124
|
+
} else if ('or' in conditions) {
|
|
125
|
+
return value => (isArray(conditions.or) ? conditions.or.some(item => same(item, value)) : cndErr());
|
|
126
|
+
} else if ('not' in conditions) {
|
|
127
|
+
return value => (isArray(conditions.not) ? !conditions.not.some(item => same(item, value)) : cndErr());
|
|
128
|
+
} else if ('equal' in conditions) {
|
|
129
|
+
return value => fit(conditions.equal, value);
|
|
130
|
+
} else if ('orEqual' in conditions) {
|
|
131
|
+
return value => (isArray(conditions.orEqual) ? conditions.orEqual.some(item => fit(item, value)) : cndErr());
|
|
132
|
+
} else if ('notEqual' in conditions) {
|
|
133
|
+
return value => (isArray(conditions.notEqual) ? !conditions.notEqual.some(item => fit(item, value)) : cndErr());
|
|
134
|
+
} else {
|
|
135
|
+
return obj => {
|
|
136
|
+
if (isObject(obj)) {
|
|
137
|
+
for (const key in conditions) {
|
|
138
|
+
if (hasOwn(conditions, key)) {
|
|
139
|
+
const value = obj[key];
|
|
140
|
+
const condition = conditions[key];
|
|
141
|
+
|
|
142
|
+
if (isRegExp(condition)) {
|
|
143
|
+
if (!fit(condition, value)) {
|
|
144
|
+
return false;
|
|
145
|
+
}
|
|
146
|
+
} else if ('is' in condition) {
|
|
147
|
+
if (!same(condition.is, value)) {
|
|
148
|
+
return false;
|
|
149
|
+
}
|
|
150
|
+
} else if ('or' in condition) {
|
|
151
|
+
if (!condition.or.some(item => same(item, value))) {
|
|
152
|
+
return false;
|
|
153
|
+
}
|
|
154
|
+
} else if ('not' in condition) {
|
|
155
|
+
if (condition.not.some(item => same(item, value))) {
|
|
156
|
+
return false;
|
|
157
|
+
}
|
|
158
|
+
} else if ('equal' in condition) {
|
|
159
|
+
if (!fit(condition.equal, value)) {
|
|
160
|
+
return false;
|
|
161
|
+
}
|
|
162
|
+
} else if ('orEqual' in condition) {
|
|
163
|
+
if (!condition.orEqual.some(item => fit(item, value))) {
|
|
164
|
+
return false;
|
|
165
|
+
}
|
|
166
|
+
} else if ('notEqual' in condition) {
|
|
167
|
+
if (condition.notEqual.some(item => fit(item, value))) {
|
|
168
|
+
return false;
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
return true;
|
|
175
|
+
} else {
|
|
176
|
+
return false;
|
|
177
|
+
}
|
|
178
|
+
};
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
function fit(condition: any, value: any): boolean {
|
|
183
|
+
return isRegExp(condition) ? isString(value) && condition.test(value) : equals(condition, value);
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
function cndErr(): never {
|
|
187
|
+
throw new BfError('"or", "not", "orEqual" and "notEqual" must be an array', {code: 'bf_utils_arr_cnd_1'});
|
|
188
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import {NumStr} from '../../common';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Represents response of the diffArr function
|
|
5
|
+
*/
|
|
6
|
+
export interface ArrDiff<T> {
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Contains items that are only in array 1
|
|
10
|
+
*/
|
|
11
|
+
only1: T[];
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Contains items that are only in array 2
|
|
15
|
+
*/
|
|
16
|
+
only2: T[];
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Contains items that are in both arrays
|
|
20
|
+
*/
|
|
21
|
+
equal: T[];
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* True if only1 and only2 are empty, otherwise false
|
|
25
|
+
*/
|
|
26
|
+
isEqual: boolean;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Returns the difference between two arrays
|
|
31
|
+
* Strict comparison of array items is applied
|
|
32
|
+
* The order doesn't matter
|
|
33
|
+
* @param arr1 - array 1
|
|
34
|
+
* @param arr2 - array 2
|
|
35
|
+
*/
|
|
36
|
+
export function diffArr<T extends NumStr>(arr1: T[], arr2: T[]): ArrDiff<T> {
|
|
37
|
+
let isEqual = true;
|
|
38
|
+
const only1: T[] = [];
|
|
39
|
+
const only2: T[] = [];
|
|
40
|
+
const equal: T[] = [];
|
|
41
|
+
const map1 = new Map(arr1.map(value => [value, true]));
|
|
42
|
+
const map2 = new Map(arr2.map(value => [value, true]));
|
|
43
|
+
|
|
44
|
+
for (const value of map1.keys()) {
|
|
45
|
+
if (!map2.has(value)) {
|
|
46
|
+
isEqual = false;
|
|
47
|
+
only1.push(value);
|
|
48
|
+
} else {
|
|
49
|
+
equal.push(value);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
for (const value of map2.keys()) {
|
|
54
|
+
if (!map1.has(value)) {
|
|
55
|
+
isEqual = false;
|
|
56
|
+
only2.push(value);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
return {
|
|
61
|
+
only1,
|
|
62
|
+
only2,
|
|
63
|
+
equal,
|
|
64
|
+
isEqual,
|
|
65
|
+
};
|
|
66
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fills a new array with items that will be returned by the handler,
|
|
3
|
+
* which will be called a certain number of times
|
|
4
|
+
* @param quantity - number of array items
|
|
5
|
+
* @param handler - a function that should return a new array item
|
|
6
|
+
* @param offset - offset for the index, which is passed to the handler
|
|
7
|
+
*/
|
|
8
|
+
export function fill<T>(quantity: number, handler: (offsetIndex: number, index: number) => T, offset = 1): T[] {
|
|
9
|
+
return Array(quantity).fill(null).map((item, index) => handler(index + offset, index));
|
|
10
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import {Arr, INTERRUPT, ValueUnion} from '../../common';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Iterates through all the items of an array and calls a handler for each item
|
|
5
|
+
* If the handler returns INTERRUPT, the loop will be interrupted
|
|
6
|
+
* @param arr - an array or any typed array
|
|
7
|
+
* @param handler - function called for each item
|
|
8
|
+
* @param reverse - iterates in reverse order if true
|
|
9
|
+
*/
|
|
10
|
+
export function forEachArr<T extends Arr, V extends ValueUnion<T>>(arr: T,
|
|
11
|
+
handler: (value: V, index: number, arr: T) => any, reverse?: boolean): void {
|
|
12
|
+
if (reverse) {
|
|
13
|
+
for (let i = arr.length - 1; i >= 0; i--) {
|
|
14
|
+
if (handler(arr[i], i, arr) === INTERRUPT) {
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
} else {
|
|
19
|
+
for (let i = 0; i < arr.length; i++) {
|
|
20
|
+
if (handler(arr[i], i, arr) === INTERRUPT) {
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import {isFunction, Obj, Index} from '../../common';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Returns an object indexed by the values from a specific field of each item
|
|
5
|
+
* or from a function that is executed on each item
|
|
6
|
+
* @param arr - array of objects
|
|
7
|
+
* @param fieldOrFn - the name of the field from which the index value should be taken,
|
|
8
|
+
* or the function that should return the index value
|
|
9
|
+
*/
|
|
10
|
+
export function indexBy<T extends Obj>(arr: T[], fieldOrFn: string | ((item: T) => string)): Index<T> {
|
|
11
|
+
const result: Index<T> = {};
|
|
12
|
+
arr.forEach(item => {
|
|
13
|
+
const key = isFunction(fieldOrFn) ? fieldOrFn(item) : item[fieldOrFn];
|
|
14
|
+
if (key) {
|
|
15
|
+
result[key] = item;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
return result;
|
|
19
|
+
}
|
package/src/arr/index.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export {at} from './at/at';
|
|
2
|
+
export {within} from './within/within';
|
|
3
|
+
export {pluck} from './pluck/pluck';
|
|
4
|
+
export {indexBy} from './index-by/index-by';
|
|
5
|
+
export {fill} from './fill/fill';
|
|
6
|
+
export {diffArr, ArrDiff} from './diff-arr/diff-arr';
|
|
7
|
+
export {forEachArr} from './for-each-arr/for-each-arr';
|
|
8
|
+
export {
|
|
9
|
+
cnd, MatchConditionFn, MatchConditionIs, MatchConditionOr, MatchConditionNot, MatchConditionEqual,
|
|
10
|
+
MatchConditionOrEqual, MatchConditionNotEqual, MatchConditionObj, MatchConditionsByFields, MatchConditions,
|
|
11
|
+
} from './cnd/cnd';
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import {Obj} from '../../common';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Returns an array with values, each of which corresponds to the value of a certain array item field
|
|
5
|
+
* @param arr - array of objects
|
|
6
|
+
* @param fieldName - name of the array item field from which the value is to be taken
|
|
7
|
+
*/
|
|
8
|
+
export function pluck<T extends Obj, F extends keyof T>(arr: T[], fieldName: F): (T[F])[] {
|
|
9
|
+
const result: (T[F])[] = [];
|
|
10
|
+
arr.forEach(item => {
|
|
11
|
+
result.push(item[fieldName]);
|
|
12
|
+
});
|
|
13
|
+
return result;
|
|
14
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import {at} from '../';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Returns an array item by index.
|
|
5
|
+
* If the index is greater than the array length,
|
|
6
|
+
* then the array item will be obtained like remainder of division the index by the array length.
|
|
7
|
+
* For negative indexes, returns items from the end
|
|
8
|
+
* @param arr - any array
|
|
9
|
+
* @param index - an array item index
|
|
10
|
+
*/
|
|
11
|
+
export function within<T>(arr: T[], index: number): T | undefined {
|
|
12
|
+
const max = arr.length;
|
|
13
|
+
return at(arr, ((index + 1) % max || max) - 1);
|
|
14
|
+
}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import {
|
|
2
|
+
isNumber, isBigInt, isBoolean, isString, isDate, isRegExp, isFunction, isMap, isSet, isObject, isArray, isTypedArray,
|
|
3
|
+
isBlob, isArrayBuffer, isWindow, isDocument, isFile, isFormData, isPromise, isObservable,
|
|
4
|
+
} from '../';
|
|
5
|
+
import {forEachObj} from '../../obj';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Creates a deep copy of a value of any type
|
|
9
|
+
* Objects, arrays, sets, maps etc. will be ignored if they have been visited to prevent looping
|
|
10
|
+
* @param value - anything
|
|
11
|
+
*/
|
|
12
|
+
export function copy<T>(value: T): T {
|
|
13
|
+
return _copy(value, new Map());
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
function _copy(value: any, visited: Map<any, any>): any {
|
|
17
|
+
if (!value || isString(value) || isNumber(value) || isBigInt(value) || isBoolean(value) || isFunction(value)) {
|
|
18
|
+
return value;
|
|
19
|
+
} else if (isDate(value)) {
|
|
20
|
+
return new Date(value.getTime());
|
|
21
|
+
} else if (isArray(value)) {
|
|
22
|
+
if (visited.has(value)) {
|
|
23
|
+
return visited.get(value);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
const arr: any[] = [];
|
|
27
|
+
visited.set(value, arr);
|
|
28
|
+
value.forEach(item => arr.push(_copy(item, visited)));
|
|
29
|
+
|
|
30
|
+
return arr;
|
|
31
|
+
} else if (isSet(value)) {
|
|
32
|
+
if (visited.has(value)) {
|
|
33
|
+
return visited.get(value);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
const newSet = new Set();
|
|
37
|
+
visited.set(value, newSet);
|
|
38
|
+
value.forEach(item => newSet.add(_copy(item, visited)));
|
|
39
|
+
|
|
40
|
+
return newSet;
|
|
41
|
+
} else if (isMap(value)) {
|
|
42
|
+
if (visited.has(value)) {
|
|
43
|
+
return visited.get(value);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
const newMap = new Map();
|
|
47
|
+
visited.set(value, newMap);
|
|
48
|
+
|
|
49
|
+
value.forEach((item, key) => newMap.set(_copy(key, visited), _copy(item, visited)));
|
|
50
|
+
|
|
51
|
+
return newMap;
|
|
52
|
+
} else if (isRegExp(value)) {
|
|
53
|
+
// @ts-ignore
|
|
54
|
+
const reg = new RegExp(value.source, value.toString().match(/[^/]*$/)[0]);
|
|
55
|
+
reg.lastIndex = value.lastIndex;
|
|
56
|
+
return reg;
|
|
57
|
+
} else if (isBlob(value)) {
|
|
58
|
+
return new Blob([value], {type: value.type});
|
|
59
|
+
} else if (isArrayBuffer(value)) {
|
|
60
|
+
return value.slice(0);
|
|
61
|
+
} else if (isTypedArray(value)) {
|
|
62
|
+
// @ts-ignore
|
|
63
|
+
return new value.constructor(value.buffer.slice(0), value.byteOffset, value.length);
|
|
64
|
+
} else if (isWindow(value) || isDocument(value) || isFile(value) || isFormData(value) || isPromise(value)
|
|
65
|
+
|| isObservable(value)) {
|
|
66
|
+
return value;
|
|
67
|
+
} else if (isObject(value)) {
|
|
68
|
+
if (visited.has(value)) {
|
|
69
|
+
return visited.get(value);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
const obj = Object.create(Object.getPrototypeOf(value));
|
|
73
|
+
visited.set(value, obj);
|
|
74
|
+
|
|
75
|
+
forEachObj(value, (val, key) => {
|
|
76
|
+
const descriptor = Object.getOwnPropertyDescriptor(value, key);
|
|
77
|
+
|
|
78
|
+
if (descriptor?.get || descriptor?.set) {
|
|
79
|
+
Object.defineProperty(obj, key, descriptor);
|
|
80
|
+
} else {
|
|
81
|
+
obj[key] = _copy(val, visited);
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
|
|
85
|
+
return obj;
|
|
86
|
+
} else {
|
|
87
|
+
return value;
|
|
88
|
+
}
|
|
89
|
+
}
|