@valkyriestudios/utils 4.0.0 → 5.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.babelrc +1 -0
- package/.eslintrc.json +152 -0
- package/.nyc_output/79bac8a3-26d6-499d-a9d9-6f61d6c11628.json +1 -0
- package/.nyc_output/8a42299e-25b8-4720-a08c-cb83c830059c.json +1 -0
- package/.nyc_output/processinfo/79bac8a3-26d6-499d-a9d9-6f61d6c11628.json +1 -0
- package/.nyc_output/processinfo/8a42299e-25b8-4720-a08c-cb83c830059c.json +1 -0
- package/.nyc_output/processinfo/index.json +1 -0
- package/.nycrc +4 -0
- package/.travis.yml +2 -3
- package/CHANGELOG.md +75 -0
- package/README.md +70 -2
- package/array/dedupe.js +14 -14
- package/array/is.js +5 -4
- package/array/isNotEmpty.js +15 -0
- package/boolean/is.js +5 -4
- package/caching/memoize.js +14 -19
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/base.css +224 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/block-navigation.js +87 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/favicon.png +0 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/index.html +296 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/prettify.css +1 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/prettify.js +2 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/sort-arrow-sprite.png +0 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/sorter.js +196 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/array/dedupe.js.html +118 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/array/index.html +146 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/array/is.js.html +100 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/array/isNotEmpty.js.html +109 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/boolean/index.html +116 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/boolean/is.js.html +100 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/caching/index.html +116 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/caching/memoize.js.html +130 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/date/index.html +116 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/date/is.js.html +100 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/deep/define.js.html +106 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/deep/freeze.js.html +151 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/deep/get.js.html +187 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/deep/index.html +176 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/deep/seal.js.html +151 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/deep/set.js.html +220 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/equal.js.html +274 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/formdata/index.html +116 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/formdata/is.js.html +100 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/function/index.html +176 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/function/is.js.html +103 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/function/noop.js.html +100 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/function/noopresolve.js.html +103 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/function/noopreturn.js.html +103 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/function/sleep.js.html +124 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/hash/fnv1A.js.html +232 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/hash/guid.js.html +175 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/hash/index.html +131 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/index.html +131 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/is.js.html +202 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/number/index.html +221 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/number/is.js.html +112 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/number/isAbove.js.html +115 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/number/isBelow.js.html +115 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/number/isBetween.js.html +121 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/number/isNumericalNaN.js.html +100 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/number/randomBetween.js.html +136 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/number/round.js.html +139 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/number/toPercentage.js.html +151 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/object/define.js.html +118 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/object/defineFrozen.js.html +106 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/object/defineSealed.js.html +106 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/object/forValues.js.html +133 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/object/index.html +236 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/object/is.js.html +100 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/object/isNotEmpty.js.html +109 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/object/merge.js.html +157 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/object/pick.js.html +151 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/object/zip.js.html +139 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/regexp/index.html +116 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/regexp/is.js.html +100 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/string/index.html +146 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/string/is.js.html +100 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/string/isBetween.js.html +133 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/string/isNotEmpty.js.html +109 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov.info +974 -0
- package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/base.css +224 -0
- package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/block-navigation.js +79 -0
- package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/favicon.png +0 -0
- package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/index.html +291 -0
- package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/prettify.css +1 -0
- package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/prettify.js +2 -0
- package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/sort-arrow-sprite.png +0 -0
- package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/sorter.js +170 -0
- package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/array/dedupe.js.html +113 -0
- package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/array/index.html +126 -0
- package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/array/is.js.html +95 -0
- package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/boolean/index.html +111 -0
- package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/boolean/is.js.html +95 -0
- package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/caching/index.html +111 -0
- package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/caching/memoize.js.html +125 -0
- package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/date/index.html +111 -0
- package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/date/is.js.html +95 -0
- package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/deep/define.js.html +101 -0
- package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/deep/freeze.js.html +146 -0
- package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/deep/get.js.html +182 -0
- package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/deep/index.html +171 -0
- package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/deep/seal.js.html +146 -0
- package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/deep/set.js.html +215 -0
- package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/equal.js.html +269 -0
- package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/formdata/index.html +111 -0
- package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/formdata/is.js.html +95 -0
- package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/function/index.html +171 -0
- package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/function/is.js.html +98 -0
- package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/function/noop.js.html +95 -0
- package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/function/noopresolve.js.html +98 -0
- package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/function/noopreturn.js.html +98 -0
- package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/function/sleep.js.html +119 -0
- package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/hash/fnv1A.js.html +218 -0
- package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/hash/guid.js.html +170 -0
- package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/hash/index.html +126 -0
- package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/index.html +111 -0
- package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/number/index.html +171 -0
- package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/number/is.js.html +104 -0
- package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/number/isNumericalNaN.js.html +95 -0
- package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/number/randomBetween.js.html +131 -0
- package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/number/round.js.html +134 -0
- package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/number/toPercentage.js.html +146 -0
- package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/object/define.js.html +113 -0
- package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/object/defineFrozen.js.html +101 -0
- package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/object/defineSealed.js.html +101 -0
- package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/object/forValues.js.html +128 -0
- package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/object/index.html +216 -0
- package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/object/is.js.html +95 -0
- package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/object/merge.js.html +152 -0
- package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/object/pick.js.html +146 -0
- package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/object/zip.js.html +134 -0
- package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/regexp/index.html +111 -0
- package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/regexp/is.js.html +95 -0
- package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/string/index.html +111 -0
- package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/string/is.js.html +95 -0
- package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov.info +822 -0
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/base.css +224 -0
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/block-navigation.js +79 -0
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/favicon.png +0 -0
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/index.html +291 -0
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/prettify.css +1 -0
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/prettify.js +2 -0
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/sort-arrow-sprite.png +0 -0
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/sorter.js +170 -0
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/array/dedupe.js.html +113 -0
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/array/index.html +141 -0
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/array/is.js.html +95 -0
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/array/isNotEmpty.js.html +104 -0
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/boolean/index.html +111 -0
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/boolean/is.js.html +95 -0
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/caching/index.html +111 -0
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/caching/memoize.js.html +125 -0
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/date/index.html +111 -0
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/date/is.js.html +95 -0
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/deep/define.js.html +101 -0
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/deep/freeze.js.html +146 -0
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/deep/get.js.html +182 -0
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/deep/index.html +171 -0
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/deep/seal.js.html +146 -0
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/deep/set.js.html +215 -0
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/equal.js.html +269 -0
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/formdata/index.html +111 -0
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/formdata/is.js.html +95 -0
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/function/index.html +171 -0
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/function/is.js.html +98 -0
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/function/noop.js.html +95 -0
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/function/noopresolve.js.html +98 -0
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/function/noopreturn.js.html +98 -0
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/function/sleep.js.html +119 -0
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/hash/fnv1A.js.html +227 -0
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/hash/guid.js.html +170 -0
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/hash/index.html +126 -0
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/index.html +126 -0
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/is.js.html +185 -0
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/number/index.html +186 -0
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/number/is.js.html +107 -0
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/number/isBetween.js.html +116 -0
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/number/isNumericalNaN.js.html +95 -0
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/number/randomBetween.js.html +131 -0
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/number/round.js.html +134 -0
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/number/toPercentage.js.html +146 -0
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/object/define.js.html +113 -0
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/object/defineFrozen.js.html +101 -0
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/object/defineSealed.js.html +101 -0
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/object/forValues.js.html +128 -0
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/object/index.html +231 -0
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/object/is.js.html +95 -0
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/object/isNotEmpty.js.html +104 -0
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/object/merge.js.html +152 -0
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/object/pick.js.html +146 -0
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/object/zip.js.html +134 -0
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/regexp/index.html +111 -0
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/regexp/is.js.html +95 -0
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/string/index.html +141 -0
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/string/is.js.html +95 -0
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/string/isBetween.js.html +128 -0
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/string/isNotEmpty.js.html +104 -0
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov.info +940 -0
- package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/index.html +14 -14
- package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/array/dedupe.js.html +1 -1
- package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/array/index.html +1 -1
- package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/array/is.js.html +1 -1
- package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/boolean/index.html +1 -1
- package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/boolean/is.js.html +1 -1
- package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/caching/index.html +1 -1
- package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/caching/memoize.js.html +1 -1
- package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/date/index.html +1 -1
- package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/date/is.js.html +1 -1
- package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/deep/define.js.html +1 -1
- package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/deep/freeze.js.html +1 -1
- package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/deep/get.js.html +1 -1
- package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/deep/index.html +1 -1
- package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/deep/seal.js.html +1 -1
- package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/deep/set.js.html +1 -1
- package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/equal.js.html +1 -1
- package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/formdata/index.html +1 -1
- package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/formdata/is.js.html +1 -1
- package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/function/index.html +21 -6
- package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/function/is.js.html +1 -1
- package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/function/noop.js.html +1 -1
- package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/function/noopresolve.js.html +1 -1
- package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/function/noopreturn.js.html +1 -1
- package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/function/sleep.js.html +119 -0
- package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/hash/fnv1A.js.html +1 -1
- package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/hash/guid.js.html +1 -1
- package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/hash/index.html +1 -1
- package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/index.html +1 -1
- package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/number/index.html +1 -1
- package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/number/is.js.html +1 -1
- package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/number/isNumericalNaN.js.html +1 -1
- package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/number/randomBetween.js.html +1 -1
- package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/number/round.js.html +1 -1
- package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/number/toPercentage.js.html +1 -1
- package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/object/define.js.html +1 -1
- package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/object/defineFrozen.js.html +1 -1
- package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/object/defineSealed.js.html +1 -1
- package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/object/forValues.js.html +1 -1
- package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/object/index.html +1 -1
- package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/object/is.js.html +1 -1
- package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/object/merge.js.html +1 -1
- package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/object/pick.js.html +1 -1
- package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/object/zip.js.html +1 -1
- package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/regexp/index.html +1 -1
- package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/regexp/is.js.html +1 -1
- package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/string/index.html +1 -1
- package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/string/is.js.html +1 -1
- package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov.info +18 -0
- package/coverage/lcov-report/base.css +5 -4
- package/coverage/lcov-report/block-navigation.js +71 -48
- package/coverage/lcov-report/favicon.png +0 -0
- package/coverage/lcov-report/index.html +247 -50
- package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/coverage/lcov-report/sorter.js +51 -14
- package/coverage/lcov-report/src/array/dedupe.js.html +145 -0
- package/coverage/lcov-report/src/array/index.html +146 -0
- package/coverage/lcov-report/src/array/is.js.html +100 -0
- package/coverage/lcov-report/src/array/isNotEmpty.js.html +109 -0
- package/coverage/lcov-report/src/boolean/index.html +116 -0
- package/coverage/lcov-report/src/boolean/is.js.html +100 -0
- package/coverage/lcov-report/src/caching/index.html +116 -0
- package/coverage/lcov-report/src/caching/memoize.js.html +139 -0
- package/coverage/lcov-report/src/date/index.html +116 -0
- package/coverage/lcov-report/src/date/is.js.html +100 -0
- package/coverage/lcov-report/src/deep/define.js.html +106 -0
- package/coverage/lcov-report/src/deep/freeze.js.html +151 -0
- package/coverage/lcov-report/src/deep/get.js.html +190 -0
- package/coverage/lcov-report/src/deep/index.html +176 -0
- package/coverage/lcov-report/src/deep/seal.js.html +151 -0
- package/coverage/lcov-report/src/deep/set.js.html +229 -0
- package/coverage/lcov-report/src/equal.js.html +280 -0
- package/coverage/lcov-report/src/function/index.html +176 -0
- package/coverage/lcov-report/src/function/is.js.html +103 -0
- package/coverage/lcov-report/src/function/noop.js.html +100 -0
- package/coverage/lcov-report/src/function/noopresolve.js.html +103 -0
- package/coverage/lcov-report/src/function/noopreturn.js.html +103 -0
- package/coverage/lcov-report/src/function/sleep.js.html +121 -0
- package/coverage/lcov-report/src/hash/fnv1A.js.html +238 -0
- package/coverage/lcov-report/src/hash/guid.js.html +184 -0
- package/coverage/lcov-report/src/hash/index.html +131 -0
- package/coverage/lcov-report/src/index.html +131 -0
- package/coverage/lcov-report/src/is.js.html +196 -0
- package/coverage/lcov-report/src/number/index.html +221 -0
- package/coverage/lcov-report/src/number/is.js.html +109 -0
- package/coverage/lcov-report/src/number/isAbove.js.html +115 -0
- package/coverage/lcov-report/src/number/isBelow.js.html +115 -0
- package/coverage/lcov-report/src/number/isBetween.js.html +121 -0
- package/coverage/lcov-report/src/number/isNumericalNaN.js.html +100 -0
- package/coverage/lcov-report/src/number/randomBetween.js.html +136 -0
- package/coverage/lcov-report/src/number/round.js.html +139 -0
- package/coverage/lcov-report/src/number/toPercentage.js.html +151 -0
- package/coverage/lcov-report/src/object/define.js.html +118 -0
- package/coverage/lcov-report/src/object/defineFrozen.js.html +106 -0
- package/coverage/lcov-report/src/object/defineSealed.js.html +106 -0
- package/coverage/lcov-report/src/object/forValues.js.html +133 -0
- package/coverage/lcov-report/src/object/index.html +236 -0
- package/coverage/lcov-report/src/object/is.js.html +100 -0
- package/coverage/lcov-report/src/object/isNotEmpty.js.html +109 -0
- package/coverage/lcov-report/src/object/merge.js.html +157 -0
- package/coverage/lcov-report/src/object/pick.js.html +151 -0
- package/coverage/lcov-report/src/object/zip.js.html +145 -0
- package/coverage/lcov-report/src/regexp/index.html +116 -0
- package/coverage/lcov-report/src/regexp/is.js.html +100 -0
- package/coverage/lcov-report/src/string/index.html +146 -0
- package/coverage/lcov-report/src/string/is.js.html +100 -0
- package/coverage/lcov-report/src/string/isBetween.js.html +133 -0
- package/coverage/lcov-report/src/string/isNotEmpty.js.html +109 -0
- package/coverage/lcov.info +1132 -0
- package/date/is.js +5 -4
- package/deep/define.js +8 -10
- package/deep/freeze.js +19 -25
- package/deep/get.js +29 -32
- package/deep/seal.js +19 -25
- package/deep/set.js +41 -42
- package/equal.js +44 -59
- package/function/is.js +5 -6
- package/function/noop.js +2 -3
- package/function/noopresolve.js +7 -8
- package/function/noopreturn.js +5 -6
- package/function/sleep.js +15 -0
- package/hash/fnv1A.js +38 -54
- package/hash/guid.js +22 -30
- package/is.js +133 -0
- package/number/is.js +8 -8
- package/number/isAbove.js +15 -0
- package/number/isBelow.js +15 -0
- package/number/isBetween.js +16 -0
- package/number/isNumericalNaN.js +5 -4
- package/number/randomBetween.js +16 -19
- package/number/round.js +16 -19
- package/number/toPercentage.js +21 -26
- package/object/define.js +12 -13
- package/object/defineFrozen.js +9 -11
- package/object/defineSealed.js +9 -11
- package/object/forValues.js +17 -22
- package/object/is.js +5 -4
- package/object/isNotEmpty.js +15 -0
- package/object/merge.js +21 -22
- package/object/pick.js +22 -29
- package/object/zip.js +19 -20
- package/package.json +15 -17
- package/regexp/is.js +5 -4
- package/string/is.js +5 -4
- package/string/isBetween.js +21 -0
- package/string/isNotEmpty.js +16 -0
- package/test/constants.js +79 -0
- package/test/src/array.test.js +104 -51
- package/test/src/boolean.test.js +39 -43
- package/test/src/caching.test.js +10 -1
- package/test/src/date.test.js +39 -43
- package/test/src/deep.test.js +155 -66
- package/test/src/equal.test.js +66 -57
- package/test/src/function.test.js +85 -68
- package/test/src/hash.test.js +39 -30
- package/test/src/is.test.js +187 -0
- package/test/src/number.test.js +467 -73
- package/test/src/object.test.js +211 -149
- package/test/src/regexp.test.js +39 -43
- package/test/src/string.test.js +216 -40
- package/formdata/is.js +0 -9
- package/karma.conf.js +0 -64
- package/test/src/formdata.test.js +0 -74
- package/test/test_index.js +0 -2
package/test/src/object.test.js
CHANGED
|
@@ -1,83 +1,80 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
import isObject
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
import
|
|
3
|
+
import isObject from '../../src/object/is';
|
|
4
|
+
import isNotEmptyObject from '../../src/object/isNotEmpty';
|
|
5
|
+
import pick from '../../src/object/pick';
|
|
6
|
+
import merge from '../../src/object/merge';
|
|
7
|
+
import forValues from '../../src/object/forValues';
|
|
8
|
+
import zip from '../../src/object/zip';
|
|
9
|
+
import define from '../../src/object/define';
|
|
10
|
+
import defineFrozen from '../../src/object/defineFrozen';
|
|
11
|
+
import defineSealed from '../../src/object/defineSealed';
|
|
12
|
+
import noopreturn from '../../src/function/noopreturn';
|
|
13
|
+
import {
|
|
14
|
+
fnNumericValues,
|
|
15
|
+
fnBooleanValues,
|
|
16
|
+
fnRegexValues,
|
|
17
|
+
fnStringValues,
|
|
18
|
+
fnObjectValues,
|
|
19
|
+
fnDateValues,
|
|
20
|
+
fnArrayValues,
|
|
21
|
+
fnFunctionValues,
|
|
22
|
+
fnNullables,
|
|
23
|
+
} from '../constants';
|
|
24
|
+
|
|
25
|
+
const chai = require('chai');
|
|
26
|
+
const spies = require('chai-spies');
|
|
27
|
+
chai.use(spies);
|
|
28
|
+
|
|
29
|
+
const expect = chai.expect;
|
|
30
|
+
const assert = chai.assert;
|
|
31
|
+
const should = chai.should();
|
|
32
|
+
const spy = chai.spy;
|
|
12
33
|
|
|
13
34
|
describe("Object - isObject", () => {
|
|
14
35
|
it ('not see a string as an object', () => {
|
|
15
|
-
|
|
16
|
-
expect(isObject(
|
|
36
|
+
let vals = fnStringValues();
|
|
37
|
+
for (let el of vals) expect(isObject(el)).to.eql(false);
|
|
17
38
|
});
|
|
18
39
|
|
|
19
40
|
it ('not see a numeric value as an object', () => {
|
|
20
|
-
|
|
21
|
-
expect(isObject(
|
|
22
|
-
expect(isObject(0.000001)).toEqual(false);
|
|
23
|
-
expect(isObject(8e10)).toEqual(false);
|
|
24
|
-
expect(isObject(Math.PI)).toEqual(false);
|
|
25
|
-
expect(isObject(new Number(1.12345))).toEqual(false);
|
|
26
|
-
expect(isObject(new Number(Number.EPSILON))).toEqual(false);
|
|
41
|
+
let vals = fnNumericValues();
|
|
42
|
+
for (let el of vals) expect(isObject(el)).to.eql(false);
|
|
27
43
|
});
|
|
28
44
|
|
|
29
45
|
it ('not see a boolean as an object', () => {
|
|
30
|
-
|
|
31
|
-
expect(isObject(
|
|
32
|
-
expect(isObject(Boolean(true))).toEqual(false);
|
|
33
|
-
expect(isObject(Boolean(false))).toEqual(false);
|
|
34
|
-
expect(isObject(Boolean('foo'))).toEqual(false);
|
|
35
|
-
expect(isObject(new Boolean(false))).toEqual(false);
|
|
46
|
+
let vals = fnBooleanValues();
|
|
47
|
+
for (let el of vals) expect(isObject(el)).to.eql(false);
|
|
36
48
|
});
|
|
37
49
|
|
|
38
50
|
it ('not see a regex as an object', () => {
|
|
39
|
-
|
|
40
|
-
expect(isObject(
|
|
51
|
+
let vals = fnRegexValues();
|
|
52
|
+
for (let el of vals) expect(isObject(el)).to.eql(false);
|
|
41
53
|
});
|
|
42
54
|
|
|
43
55
|
it ('see an object as an object', () => {
|
|
44
|
-
|
|
45
|
-
expect(isObject(
|
|
46
|
-
expect(isObject(Object.create(null))).toEqual(true);
|
|
47
|
-
expect(isObject(Object.create([]))).toEqual(true);
|
|
56
|
+
let vals = fnObjectValues();
|
|
57
|
+
for (let el of vals) expect(isObject(el)).to.eql(true);
|
|
48
58
|
});
|
|
49
59
|
|
|
50
|
-
it ('not see a
|
|
51
|
-
|
|
60
|
+
it ('not see a nullable as an object', () => {
|
|
61
|
+
let vals = fnNullables();
|
|
62
|
+
for (let el of vals) expect(isObject(el)).to.eql(false);
|
|
52
63
|
});
|
|
53
64
|
|
|
54
65
|
it ('not see a date as an object', () => {
|
|
55
|
-
|
|
56
|
-
expect(isObject(
|
|
57
|
-
});
|
|
58
|
-
|
|
59
|
-
it ('not see an undefined as an object', () => {
|
|
60
|
-
expect(isObject(undefined)).toEqual(false);
|
|
66
|
+
let vals = fnDateValues();
|
|
67
|
+
for (let el of vals) expect(isObject(el)).to.eql(false);
|
|
61
68
|
});
|
|
62
69
|
|
|
63
70
|
it ('not see an array as an object', () => {
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
expect(isObject(new Array(5))).toEqual(false);
|
|
71
|
+
let vals = fnArrayValues();
|
|
72
|
+
for (let el of vals) expect(isObject(el)).to.eql(false);
|
|
67
73
|
});
|
|
68
74
|
|
|
69
75
|
it ('not see a function as an object', () => {
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
const testArrowFunction = () => {};
|
|
73
|
-
|
|
74
|
-
expect(isObject(testFunction)).toEqual(false);
|
|
75
|
-
expect(isObject(testArrowFunction)).toEqual(false);
|
|
76
|
-
});
|
|
77
|
-
|
|
78
|
-
it ('not see formdata as an object', () => {
|
|
79
|
-
let fdata = new FormData();
|
|
80
|
-
expect(isObject(fdata)).toEqual(false);
|
|
76
|
+
let vals = fnFunctionValues();
|
|
77
|
+
for (let el of vals) expect(isObject(el)).to.eql(false);
|
|
81
78
|
});
|
|
82
79
|
});
|
|
83
80
|
|
|
@@ -93,38 +90,38 @@ describe("Object - pick", () => {
|
|
|
93
90
|
};
|
|
94
91
|
|
|
95
92
|
it ('correctly retrieve the selected keys', () => {
|
|
96
|
-
expect(pick(subject, ['a'])).
|
|
97
|
-
expect(pick(subject, ['a', 'b'])).
|
|
98
|
-
expect(pick(subject, ['a', 'c.e'])).
|
|
99
|
-
expect(pick(subject, ['a', 'c.d', 'c.f'])).
|
|
100
|
-
expect(pick(subject, ['a', 'b', 'd'])).
|
|
93
|
+
expect(pick(subject, ['a'])).to.eql({ a: 100 });
|
|
94
|
+
expect(pick(subject, ['a', 'b'])).to.eql({ a: 100, b: 200 });
|
|
95
|
+
expect(pick(subject, ['a', 'c.e'])).to.eql({ a: 100, c: { e: true }});
|
|
96
|
+
expect(pick(subject, ['a', 'c.d', 'c.f'])).to.eql({ a: 100, c: { d: 5, f: [0, 1, 2] }});
|
|
97
|
+
expect(pick(subject, ['a', 'b', 'd'])).to.eql({ a: 100, b: 200 });
|
|
101
98
|
});
|
|
102
99
|
|
|
103
100
|
it ('returns an empty object when nothing is passed', () => {
|
|
104
|
-
expect(pick()).
|
|
101
|
+
expect(pick()).to.eql({});
|
|
105
102
|
});
|
|
106
103
|
|
|
107
104
|
it ('returns an empty object when no keys are passed', () => {
|
|
108
|
-
expect(pick(subject)).
|
|
105
|
+
expect(pick(subject)).to.eql({});
|
|
109
106
|
});
|
|
110
107
|
|
|
111
108
|
it ('throws a type error when passed something else than an object', () => {
|
|
112
109
|
expect(function() {
|
|
113
110
|
pick(false);
|
|
114
|
-
}).
|
|
111
|
+
}).to.throw(TypeError);
|
|
115
112
|
expect(function() {
|
|
116
113
|
pick(subject, false);
|
|
117
|
-
}).
|
|
114
|
+
}).to.throw(TypeError);
|
|
118
115
|
});
|
|
119
116
|
});
|
|
120
117
|
|
|
121
118
|
describe("Object - merge", () => {
|
|
122
119
|
it ('returns the target object if only passed a target', () => {
|
|
123
|
-
expect(merge({a: 1, b: 2})).
|
|
120
|
+
expect(merge({a: 1, b: 2})).to.eql({a: 1, b:2 });
|
|
124
121
|
});
|
|
125
122
|
|
|
126
123
|
it ('merges keys correctly', () => {
|
|
127
|
-
expect(merge({ a: 1, b: 2, c: true}, { a: 5, c: false })).
|
|
124
|
+
expect(merge({ a: 1, b: 2, c: true}, { a: 5, c: false })).to.eql({ a: 5, b: 2, c: false });
|
|
128
125
|
expect(merge({
|
|
129
126
|
a: [0, 1, 2, 3],
|
|
130
127
|
b: {
|
|
@@ -136,7 +133,7 @@ describe("Object - merge", () => {
|
|
|
136
133
|
foo: 'bar',
|
|
137
134
|
hello: 'world',
|
|
138
135
|
},
|
|
139
|
-
}, { a: ['foo', 'bar'], b: { available: true }, c: { hello: 'core' }})).
|
|
136
|
+
}, { a: ['foo', 'bar'], b: { available: true }, c: { hello: 'core' }})).to.eql({
|
|
140
137
|
a: ['foo', 'bar'],
|
|
141
138
|
b: {
|
|
142
139
|
name: 'utils',
|
|
@@ -151,13 +148,13 @@ describe("Object - merge", () => {
|
|
|
151
148
|
});
|
|
152
149
|
|
|
153
150
|
it ('does not merge in keys that are not defined in the target', () => {
|
|
154
|
-
expect(merge({ a: 1, b: 2 }, { a: 2, b: 3, c: 4 })).
|
|
151
|
+
expect(merge({ a: 1, b: 2 }, { a: 2, b: 3, c: 4 })).to.eql({ a: 2, b: 3 });
|
|
155
152
|
});
|
|
156
153
|
|
|
157
154
|
it ('throws a type error when passed something else than an object', () => {
|
|
158
155
|
expect(function() {
|
|
159
156
|
merge(false, { a: 2 })
|
|
160
|
-
}).
|
|
157
|
+
}).to.throw(TypeError);
|
|
161
158
|
});
|
|
162
159
|
});
|
|
163
160
|
|
|
@@ -183,8 +180,8 @@ describe("Object - forValues", () => {
|
|
|
183
180
|
});
|
|
184
181
|
|
|
185
182
|
it ('correctly executes the cb on every value', () => {
|
|
186
|
-
expect(forValues(subject_sum, (key, val) => val + 1)).
|
|
187
|
-
expect(forValues(subject_obj, (key, val) => Object.assign(val, { name: `${val.first_name} ${val.last_name}` }))).
|
|
183
|
+
expect(forValues(subject_sum, (key, val) => val + 1)).to.eql({ a: 2, b: 3, c: 4 });
|
|
184
|
+
expect(forValues(subject_obj, (key, val) => Object.assign(val, { name: `${val.first_name} ${val.last_name}` }))).to.eql({
|
|
188
185
|
1823 : {
|
|
189
186
|
name: 'Jane Doe',
|
|
190
187
|
first_name: 'Jane',
|
|
@@ -201,55 +198,55 @@ describe("Object - forValues", () => {
|
|
|
201
198
|
last_name: 'The Clown',
|
|
202
199
|
},
|
|
203
200
|
});
|
|
204
|
-
expect(forValues(subject_sum, noopreturn)).
|
|
201
|
+
expect(forValues(subject_sum, noopreturn)).to.eql(subject_sum);
|
|
205
202
|
});
|
|
206
203
|
|
|
207
204
|
it ('throws a type error when passed something else than an object', () => {
|
|
208
205
|
expect(function() {
|
|
209
206
|
forValues(false, (key, val) => val + 1);
|
|
210
|
-
}).
|
|
207
|
+
}).to.throw(TypeError);
|
|
211
208
|
});
|
|
212
209
|
});
|
|
213
210
|
|
|
214
211
|
describe("Object - zip", () => {
|
|
215
212
|
it ('returns an empty object when called without parameters', () => {
|
|
216
|
-
expect(zip()).
|
|
213
|
+
expect(zip()).to.eql({});
|
|
217
214
|
});
|
|
218
215
|
|
|
219
216
|
it ('only returns a zipped object for the keys that are passed', () => {
|
|
220
|
-
expect(zip(['a'], [1, 2, 3])).
|
|
217
|
+
expect(zip(['a'], [1, 2, 3])).to.eql({a: 1});
|
|
221
218
|
});
|
|
222
219
|
|
|
223
220
|
it ('defaults to null when passed with only keys', () => {
|
|
224
|
-
expect(zip(['a', 'b', 'c'])).
|
|
221
|
+
expect(zip(['a', 'b', 'c'])).to.eql({a: null, b: null, c: null});
|
|
225
222
|
});
|
|
226
223
|
|
|
227
224
|
it ('defaults to the provided default when passed one', () => {
|
|
228
|
-
expect(zip(['a', 'b', 'c'], false, false)).
|
|
225
|
+
expect(zip(['a', 'b', 'c'], false, false)).to.eql({a: false, b: false, c: false});
|
|
229
226
|
});
|
|
230
227
|
|
|
231
228
|
it ('zips an object when passed with the correct parameters', () => {
|
|
232
|
-
expect(zip(['a', 'b', 'c'], [1, 2, 3])).
|
|
229
|
+
expect(zip(['a', 'b', 'c'], [1, 2, 3])).to.eql({ a: 1, b: 2, c: 3});
|
|
233
230
|
});
|
|
234
231
|
|
|
235
232
|
it ('throws a type error when passed something else than the expected parameters', () => {
|
|
236
233
|
expect(function() {
|
|
237
234
|
zip(false);
|
|
238
|
-
}).
|
|
235
|
+
}).to.throw(TypeError);
|
|
239
236
|
|
|
240
237
|
expect(function() {
|
|
241
238
|
zip(['a'], { hello: 'bar' });
|
|
242
|
-
}).
|
|
239
|
+
}).to.throw(TypeError);
|
|
243
240
|
});
|
|
244
241
|
});
|
|
245
242
|
|
|
246
243
|
describe("Object - define", () => {
|
|
247
244
|
it ('returns an empty object when called without parameters', () => {
|
|
248
|
-
expect(define()).
|
|
245
|
+
expect(define()).to.eql({});
|
|
249
246
|
});
|
|
250
247
|
|
|
251
248
|
it ('returns the same object when called with an empty properties object and an existing object', () => {
|
|
252
|
-
expect(define({}, {a: 1})).
|
|
249
|
+
expect(define({}, {a: 1})).to.eql({a: 1});
|
|
253
250
|
});
|
|
254
251
|
|
|
255
252
|
it ('defines properties that are passed without passing an existing object', () => {
|
|
@@ -264,22 +261,22 @@ describe("Object - define", () => {
|
|
|
264
261
|
},
|
|
265
262
|
});
|
|
266
263
|
|
|
267
|
-
|
|
268
|
-
expect(Object.getOwnPropertyDescriptor(obj, 'a').set).
|
|
269
|
-
|
|
264
|
+
should.exist(obj.a);
|
|
265
|
+
expect(Object.getOwnPropertyDescriptor(obj, 'a').set).to.eql(undefined);
|
|
266
|
+
assert.typeOf(Object.getOwnPropertyDescriptor(obj, 'a').get, 'function');
|
|
270
267
|
|
|
271
|
-
|
|
272
|
-
expect(Object.getOwnPropertyDescriptor(obj, 'b').get).
|
|
273
|
-
expect(Object.getOwnPropertyDescriptor(obj, 'b').set).
|
|
274
|
-
|
|
268
|
+
should.exist(obj.b);
|
|
269
|
+
expect(Object.getOwnPropertyDescriptor(obj, 'b').get).to.eql(undefined);
|
|
270
|
+
expect(Object.getOwnPropertyDescriptor(obj, 'b').set).to.eql(undefined);
|
|
271
|
+
assert.typeOf(Object.getOwnPropertyDescriptor(obj, 'b').value, 'function');
|
|
275
272
|
|
|
276
|
-
const spy_a =
|
|
277
|
-
expect(obj.a).
|
|
278
|
-
expect(spy_a).
|
|
273
|
+
const spy_a = spy(obj, 'a');
|
|
274
|
+
expect(obj.a).to.eql(1);
|
|
275
|
+
expect(spy_a).to.have.been.called;
|
|
279
276
|
|
|
280
|
-
const spy_b =
|
|
281
|
-
expect(obj.b()).
|
|
282
|
-
expect(spy_b).
|
|
277
|
+
const spy_b = spy(obj, 'b');
|
|
278
|
+
expect(obj.b()).to.eql(2);
|
|
279
|
+
expect(spy_b).to.have.been.called;
|
|
283
280
|
});
|
|
284
281
|
|
|
285
282
|
it ('defines properties that are passed on an existing object', () => {
|
|
@@ -294,24 +291,24 @@ describe("Object - define", () => {
|
|
|
294
291
|
},
|
|
295
292
|
}, { c: 1 });
|
|
296
293
|
|
|
297
|
-
|
|
298
|
-
expect(Object.getOwnPropertyDescriptor(obj, 'a').set).
|
|
299
|
-
|
|
294
|
+
should.exist(obj.a);
|
|
295
|
+
expect(Object.getOwnPropertyDescriptor(obj, 'a').set).to.eql(undefined);
|
|
296
|
+
assert.typeOf(Object.getOwnPropertyDescriptor(obj, 'a').get, 'function');
|
|
300
297
|
|
|
301
|
-
|
|
302
|
-
expect(Object.getOwnPropertyDescriptor(obj, 'b').get).
|
|
303
|
-
expect(Object.getOwnPropertyDescriptor(obj, 'b').set).
|
|
304
|
-
|
|
298
|
+
should.exist(obj.b);
|
|
299
|
+
expect(Object.getOwnPropertyDescriptor(obj, 'b').get).to.eql(undefined);
|
|
300
|
+
expect(Object.getOwnPropertyDescriptor(obj, 'b').set).to.eql(undefined);
|
|
301
|
+
assert.typeOf(Object.getOwnPropertyDescriptor(obj, 'b').value, 'function');
|
|
305
302
|
|
|
306
|
-
const spy_a =
|
|
307
|
-
expect(obj.a).
|
|
308
|
-
expect(spy_a).
|
|
303
|
+
const spy_a = spy(obj, 'a');
|
|
304
|
+
expect(obj.a).to.eql(1);
|
|
305
|
+
expect(spy_a).to.have.been.called;
|
|
309
306
|
|
|
310
|
-
const spy_b =
|
|
311
|
-
expect(obj.b()).
|
|
312
|
-
expect(spy_b).
|
|
307
|
+
const spy_b = spy(obj, 'b');
|
|
308
|
+
expect(obj.b()).to.eql(2);
|
|
309
|
+
expect(spy_b).to.have.been.called;
|
|
313
310
|
|
|
314
|
-
expect(obj.c).
|
|
311
|
+
expect(obj.c).to.eql(1);
|
|
315
312
|
});
|
|
316
313
|
|
|
317
314
|
it ('defines properties that are passed on an existing object', () => {
|
|
@@ -326,32 +323,32 @@ describe("Object - define", () => {
|
|
|
326
323
|
},
|
|
327
324
|
}, { a: 5 });
|
|
328
325
|
|
|
329
|
-
|
|
330
|
-
expect(Object.getOwnPropertyDescriptor(obj, 'a').set).
|
|
331
|
-
|
|
326
|
+
should.exist(obj.a);
|
|
327
|
+
expect(Object.getOwnPropertyDescriptor(obj, 'a').set).to.eql(undefined);
|
|
328
|
+
assert.typeOf(Object.getOwnPropertyDescriptor(obj, 'a').get, 'function');
|
|
332
329
|
|
|
333
|
-
|
|
334
|
-
expect(Object.getOwnPropertyDescriptor(obj, 'b').get).
|
|
335
|
-
expect(Object.getOwnPropertyDescriptor(obj, 'b').set).
|
|
336
|
-
|
|
330
|
+
should.exist(obj.b);
|
|
331
|
+
expect(Object.getOwnPropertyDescriptor(obj, 'b').get).to.eql(undefined);
|
|
332
|
+
expect(Object.getOwnPropertyDescriptor(obj, 'b').set).to.eql(undefined);
|
|
333
|
+
assert.typeOf(Object.getOwnPropertyDescriptor(obj, 'b').value, 'function');
|
|
337
334
|
|
|
338
|
-
const spy_a =
|
|
339
|
-
expect(obj.a).
|
|
340
|
-
expect(spy_a).
|
|
335
|
+
const spy_a = spy(obj, 'a');
|
|
336
|
+
expect(obj.a).to.eql(1);
|
|
337
|
+
expect(spy_a).to.have.been.called;
|
|
341
338
|
|
|
342
|
-
const spy_b =
|
|
343
|
-
expect(obj.b()).
|
|
344
|
-
expect(spy_b).
|
|
339
|
+
const spy_b = spy(obj, 'b');
|
|
340
|
+
expect(obj.b()).to.eql(2);
|
|
341
|
+
expect(spy_b).to.have.been.called;
|
|
345
342
|
});
|
|
346
343
|
|
|
347
344
|
it ('throws a type error when passed something else than the expected parameters', () => {
|
|
348
345
|
expect(function() {
|
|
349
346
|
define(false);
|
|
350
|
-
}).
|
|
347
|
+
}).to.throw(TypeError);
|
|
351
348
|
|
|
352
349
|
expect(function() {
|
|
353
350
|
define({}, false);
|
|
354
|
-
}).
|
|
351
|
+
}).to.throw(TypeError);
|
|
355
352
|
});
|
|
356
353
|
});
|
|
357
354
|
|
|
@@ -359,21 +356,21 @@ describe("Object - defineFrozen", () => {
|
|
|
359
356
|
it ('returns a frozen empty object when called without parameters', () => {
|
|
360
357
|
const obj = defineFrozen();
|
|
361
358
|
|
|
362
|
-
expect(obj).
|
|
363
|
-
expect(Object.isFrozen(obj)).
|
|
359
|
+
expect(obj).to.eql({});
|
|
360
|
+
expect(Object.isFrozen(obj)).to.eql(true);
|
|
364
361
|
expect(function() {
|
|
365
362
|
obj.b = false;
|
|
366
|
-
}).
|
|
363
|
+
}).to.throw();
|
|
367
364
|
});
|
|
368
365
|
|
|
369
366
|
it ('returns a frozen version of the same object when called with an empty properties object and an existing object', () => {
|
|
370
367
|
const obj = defineFrozen({}, {a: 1});
|
|
371
368
|
|
|
372
|
-
expect(obj).
|
|
373
|
-
expect(Object.isFrozen(obj)).
|
|
369
|
+
expect(obj).to.eql({a: 1});
|
|
370
|
+
expect(Object.isFrozen(obj)).to.eql(true);
|
|
374
371
|
expect(function() {
|
|
375
372
|
obj.a = 9999;
|
|
376
|
-
}).
|
|
373
|
+
}).to.throw();
|
|
377
374
|
});
|
|
378
375
|
|
|
379
376
|
it ('defines properties that are passed without passing an existing object, and freezes them', () => {
|
|
@@ -383,28 +380,28 @@ describe("Object - defineFrozen", () => {
|
|
|
383
380
|
},
|
|
384
381
|
});
|
|
385
382
|
|
|
386
|
-
|
|
387
|
-
expect(Object.getOwnPropertyDescriptor(obj, 'a').set).
|
|
388
|
-
|
|
383
|
+
should.exist(obj.a);
|
|
384
|
+
expect(Object.getOwnPropertyDescriptor(obj, 'a').set).to.eql(undefined);
|
|
385
|
+
assert.typeOf(Object.getOwnPropertyDescriptor(obj, 'a').get, 'function');
|
|
389
386
|
|
|
390
|
-
expect(Object.isFrozen(obj)).
|
|
387
|
+
expect(Object.isFrozen(obj)).to.eql(true);
|
|
391
388
|
expect(function () {
|
|
392
389
|
Object.defineProperty(obj, {
|
|
393
390
|
x: {
|
|
394
391
|
get: () => 9999,
|
|
395
392
|
},
|
|
396
393
|
});
|
|
397
|
-
}).
|
|
394
|
+
}).to.throw();
|
|
398
395
|
});
|
|
399
396
|
|
|
400
397
|
it ('throws a type error when passed something else than the expected parameters', () => {
|
|
401
398
|
expect(function() {
|
|
402
399
|
defineFrozen(false);
|
|
403
|
-
}).
|
|
400
|
+
}).to.throw(TypeError);
|
|
404
401
|
|
|
405
402
|
expect(function() {
|
|
406
403
|
defineFrozen({}, false);
|
|
407
|
-
}).
|
|
404
|
+
}).to.throw(TypeError);
|
|
408
405
|
});
|
|
409
406
|
});
|
|
410
407
|
|
|
@@ -412,24 +409,24 @@ describe("Object - defineSealed", () => {
|
|
|
412
409
|
it ('returns a sealed empty object when called without parameters', () => {
|
|
413
410
|
const obj = defineSealed();
|
|
414
411
|
|
|
415
|
-
expect(obj).
|
|
416
|
-
expect(Object.isSealed(obj)).
|
|
412
|
+
expect(obj).to.eql({});
|
|
413
|
+
expect(Object.isSealed(obj)).to.eql(true);
|
|
417
414
|
expect(function() {
|
|
418
415
|
obj.b = false;
|
|
419
|
-
}).
|
|
416
|
+
}).to.throw();
|
|
420
417
|
});
|
|
421
418
|
|
|
422
419
|
it ('returns a sealed version of the same object when called with an empty properties object and an existing object', () => {
|
|
423
420
|
const obj = defineSealed({}, {a: 1});
|
|
424
421
|
|
|
425
|
-
expect(obj).
|
|
426
|
-
expect(Object.isSealed(obj)).
|
|
422
|
+
expect(obj).to.eql({a: 1});
|
|
423
|
+
expect(Object.isSealed(obj)).to.eql(true);
|
|
427
424
|
expect(function() {
|
|
428
425
|
obj.a = 9999;
|
|
429
|
-
}).not.
|
|
426
|
+
}).not.to.throw();
|
|
430
427
|
expect(function() {
|
|
431
428
|
obj.b = 9999;
|
|
432
|
-
}).
|
|
429
|
+
}).to.throw();
|
|
433
430
|
});
|
|
434
431
|
|
|
435
432
|
it ('defines properties that are passed without passing an existing object, and seals them', () => {
|
|
@@ -439,30 +436,95 @@ describe("Object - defineSealed", () => {
|
|
|
439
436
|
},
|
|
440
437
|
});
|
|
441
438
|
|
|
442
|
-
|
|
443
|
-
expect(Object.getOwnPropertyDescriptor(obj, 'a').set).
|
|
444
|
-
|
|
439
|
+
should.exist(obj.a);
|
|
440
|
+
expect(Object.getOwnPropertyDescriptor(obj, 'a').set).to.eql(undefined);
|
|
441
|
+
assert.typeOf(Object.getOwnPropertyDescriptor(obj, 'a').get, 'function');
|
|
445
442
|
|
|
446
|
-
expect(Object.isSealed(obj)).
|
|
443
|
+
expect(Object.isSealed(obj)).to.eql(true);
|
|
447
444
|
expect(function () {
|
|
448
445
|
obj.a = 9999;
|
|
449
|
-
}).
|
|
446
|
+
}).to.throw();
|
|
450
447
|
expect(function () {
|
|
451
448
|
Object.defineProperty(obj, {
|
|
452
449
|
x: {
|
|
453
450
|
get: () => 9999,
|
|
454
451
|
},
|
|
455
452
|
});
|
|
456
|
-
}).
|
|
453
|
+
}).to.throw();
|
|
457
454
|
});
|
|
458
455
|
|
|
459
456
|
it ('throws a type error when passed something else than the expected parameters', () => {
|
|
460
457
|
expect(function() {
|
|
461
458
|
defineSealed(false);
|
|
462
|
-
}).
|
|
459
|
+
}).to.throw(TypeError);
|
|
463
460
|
|
|
464
461
|
expect(function() {
|
|
465
462
|
defineSealed({}, false);
|
|
466
|
-
}).
|
|
463
|
+
}).to.throw(TypeError);
|
|
464
|
+
});
|
|
465
|
+
});
|
|
466
|
+
|
|
467
|
+
describe("Object - isNotEmptyObject", () => {
|
|
468
|
+
it ('not see a string as a not empty object', () => {
|
|
469
|
+
let vals = fnStringValues();
|
|
470
|
+
for (let el of vals) expect(isNotEmptyObject(el)).to.eql(false);
|
|
471
|
+
});
|
|
472
|
+
|
|
473
|
+
it ('not see a numeric value as a not empty object', () => {
|
|
474
|
+
let vals = fnNumericValues();
|
|
475
|
+
for (let el of vals) expect(isNotEmptyObject(el)).to.eql(false);
|
|
476
|
+
});
|
|
477
|
+
|
|
478
|
+
it ('not see a boolean as a not empty object', () => {
|
|
479
|
+
let vals = fnBooleanValues();
|
|
480
|
+
for (let el of vals) expect(isNotEmptyObject(el)).to.eql(false);
|
|
481
|
+
});
|
|
482
|
+
|
|
483
|
+
it ('not see a regex as a not empty object', () => {
|
|
484
|
+
let vals = fnRegexValues();
|
|
485
|
+
for (let el of vals) expect(isNotEmptyObject(el)).to.eql(false);
|
|
486
|
+
});
|
|
487
|
+
|
|
488
|
+
it ('see an object as an object', () => {
|
|
489
|
+
expect(isNotEmptyObject({bar:'foo'})).to.eql(true);
|
|
490
|
+
|
|
491
|
+
expect(isNotEmptyObject(Object.defineProperties(Object.create(null), {
|
|
492
|
+
'hi': {
|
|
493
|
+
enumerable: true,
|
|
494
|
+
get: () => 'there',
|
|
495
|
+
}
|
|
496
|
+
}))).to.eql(true);
|
|
497
|
+
});
|
|
498
|
+
|
|
499
|
+
it ('see an empty object as an empty object', () => {
|
|
500
|
+
expect(isNotEmptyObject(Object.create(null))).to.eql(false);
|
|
501
|
+
expect(isNotEmptyObject(new Object())).to.eql(false);
|
|
502
|
+
expect(isNotEmptyObject(Object.create([]))).to.eql(false);
|
|
503
|
+
expect(isNotEmptyObject(Object.defineProperties(Object.create(null), {
|
|
504
|
+
'hi': {
|
|
505
|
+
enumerable: false,
|
|
506
|
+
get: () => 'there',
|
|
507
|
+
}
|
|
508
|
+
}))).to.eql(false);
|
|
509
|
+
});
|
|
510
|
+
|
|
511
|
+
it ('not see a nullable as a not empty object', () => {
|
|
512
|
+
let vals = fnNullables();
|
|
513
|
+
for (let el of vals) expect(isNotEmptyObject(el)).to.eql(false);
|
|
514
|
+
});
|
|
515
|
+
|
|
516
|
+
it ('not see a date as a not empty object', () => {
|
|
517
|
+
let vals = fnDateValues();
|
|
518
|
+
for (let el of vals) expect(isNotEmptyObject(el)).to.eql(false);
|
|
519
|
+
});
|
|
520
|
+
|
|
521
|
+
it ('not see an array as a not empty object', () => {
|
|
522
|
+
let vals = fnArrayValues();
|
|
523
|
+
for (let el of vals) expect(isNotEmptyObject(el)).to.eql(false);
|
|
524
|
+
});
|
|
525
|
+
|
|
526
|
+
it ('not see a function as a not empty object', () => {
|
|
527
|
+
let vals = fnFunctionValues();
|
|
528
|
+
for (let el of vals) expect(isNotEmptyObject(el)).to.eql(false);
|
|
467
529
|
});
|
|
468
530
|
});
|