@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.
Files changed (362) hide show
  1. package/.babelrc +1 -0
  2. package/.eslintrc.json +152 -0
  3. package/.nyc_output/79bac8a3-26d6-499d-a9d9-6f61d6c11628.json +1 -0
  4. package/.nyc_output/8a42299e-25b8-4720-a08c-cb83c830059c.json +1 -0
  5. package/.nyc_output/processinfo/79bac8a3-26d6-499d-a9d9-6f61d6c11628.json +1 -0
  6. package/.nyc_output/processinfo/8a42299e-25b8-4720-a08c-cb83c830059c.json +1 -0
  7. package/.nyc_output/processinfo/index.json +1 -0
  8. package/.nycrc +4 -0
  9. package/.travis.yml +2 -3
  10. package/CHANGELOG.md +75 -0
  11. package/README.md +70 -2
  12. package/array/dedupe.js +14 -14
  13. package/array/is.js +5 -4
  14. package/array/isNotEmpty.js +15 -0
  15. package/boolean/is.js +5 -4
  16. package/caching/memoize.js +14 -19
  17. package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/base.css +224 -0
  18. package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/block-navigation.js +87 -0
  19. package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/favicon.png +0 -0
  20. package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/index.html +296 -0
  21. package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/prettify.css +1 -0
  22. package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/prettify.js +2 -0
  23. package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/sort-arrow-sprite.png +0 -0
  24. package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/sorter.js +196 -0
  25. package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/array/dedupe.js.html +118 -0
  26. package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/array/index.html +146 -0
  27. package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/array/is.js.html +100 -0
  28. package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/array/isNotEmpty.js.html +109 -0
  29. package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/boolean/index.html +116 -0
  30. package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/boolean/is.js.html +100 -0
  31. package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/caching/index.html +116 -0
  32. package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/caching/memoize.js.html +130 -0
  33. package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/date/index.html +116 -0
  34. package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/date/is.js.html +100 -0
  35. package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/deep/define.js.html +106 -0
  36. package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/deep/freeze.js.html +151 -0
  37. package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/deep/get.js.html +187 -0
  38. package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/deep/index.html +176 -0
  39. package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/deep/seal.js.html +151 -0
  40. package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/deep/set.js.html +220 -0
  41. package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/equal.js.html +274 -0
  42. package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/formdata/index.html +116 -0
  43. package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/formdata/is.js.html +100 -0
  44. package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/function/index.html +176 -0
  45. package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/function/is.js.html +103 -0
  46. package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/function/noop.js.html +100 -0
  47. package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/function/noopresolve.js.html +103 -0
  48. package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/function/noopreturn.js.html +103 -0
  49. package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/function/sleep.js.html +124 -0
  50. package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/hash/fnv1A.js.html +232 -0
  51. package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/hash/guid.js.html +175 -0
  52. package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/hash/index.html +131 -0
  53. package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/index.html +131 -0
  54. package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/is.js.html +202 -0
  55. package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/number/index.html +221 -0
  56. package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/number/is.js.html +112 -0
  57. package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/number/isAbove.js.html +115 -0
  58. package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/number/isBelow.js.html +115 -0
  59. package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/number/isBetween.js.html +121 -0
  60. package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/number/isNumericalNaN.js.html +100 -0
  61. package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/number/randomBetween.js.html +136 -0
  62. package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/number/round.js.html +139 -0
  63. package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/number/toPercentage.js.html +151 -0
  64. package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/object/define.js.html +118 -0
  65. package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/object/defineFrozen.js.html +106 -0
  66. package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/object/defineSealed.js.html +106 -0
  67. package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/object/forValues.js.html +133 -0
  68. package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/object/index.html +236 -0
  69. package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/object/is.js.html +100 -0
  70. package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/object/isNotEmpty.js.html +109 -0
  71. package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/object/merge.js.html +157 -0
  72. package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/object/pick.js.html +151 -0
  73. package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/object/zip.js.html +139 -0
  74. package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/regexp/index.html +116 -0
  75. package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/regexp/is.js.html +100 -0
  76. package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/string/index.html +146 -0
  77. package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/string/is.js.html +100 -0
  78. package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/string/isBetween.js.html +133 -0
  79. package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/string/isNotEmpty.js.html +109 -0
  80. package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov.info +974 -0
  81. package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/base.css +224 -0
  82. package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/block-navigation.js +79 -0
  83. package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/favicon.png +0 -0
  84. package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/index.html +291 -0
  85. package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/prettify.css +1 -0
  86. package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/prettify.js +2 -0
  87. package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/sort-arrow-sprite.png +0 -0
  88. package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/sorter.js +170 -0
  89. package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/array/dedupe.js.html +113 -0
  90. package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/array/index.html +126 -0
  91. package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/array/is.js.html +95 -0
  92. package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/boolean/index.html +111 -0
  93. package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/boolean/is.js.html +95 -0
  94. package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/caching/index.html +111 -0
  95. package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/caching/memoize.js.html +125 -0
  96. package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/date/index.html +111 -0
  97. package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/date/is.js.html +95 -0
  98. package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/deep/define.js.html +101 -0
  99. package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/deep/freeze.js.html +146 -0
  100. package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/deep/get.js.html +182 -0
  101. package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/deep/index.html +171 -0
  102. package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/deep/seal.js.html +146 -0
  103. package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/deep/set.js.html +215 -0
  104. package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/equal.js.html +269 -0
  105. package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/formdata/index.html +111 -0
  106. package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/formdata/is.js.html +95 -0
  107. package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/function/index.html +171 -0
  108. package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/function/is.js.html +98 -0
  109. package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/function/noop.js.html +95 -0
  110. package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/function/noopresolve.js.html +98 -0
  111. package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/function/noopreturn.js.html +98 -0
  112. package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/function/sleep.js.html +119 -0
  113. package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/hash/fnv1A.js.html +218 -0
  114. package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/hash/guid.js.html +170 -0
  115. package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/hash/index.html +126 -0
  116. package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/index.html +111 -0
  117. package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/number/index.html +171 -0
  118. package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/number/is.js.html +104 -0
  119. package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/number/isNumericalNaN.js.html +95 -0
  120. package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/number/randomBetween.js.html +131 -0
  121. package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/number/round.js.html +134 -0
  122. package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/number/toPercentage.js.html +146 -0
  123. package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/object/define.js.html +113 -0
  124. package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/object/defineFrozen.js.html +101 -0
  125. package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/object/defineSealed.js.html +101 -0
  126. package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/object/forValues.js.html +128 -0
  127. package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/object/index.html +216 -0
  128. package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/object/is.js.html +95 -0
  129. package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/object/merge.js.html +152 -0
  130. package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/object/pick.js.html +146 -0
  131. package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/object/zip.js.html +134 -0
  132. package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/regexp/index.html +111 -0
  133. package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/regexp/is.js.html +95 -0
  134. package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/string/index.html +111 -0
  135. package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov-report/src/string/is.js.html +95 -0
  136. package/coverage/Chrome Headless 80.0.3987.87 (Linux x86_64)/lcov.info +822 -0
  137. package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/base.css +224 -0
  138. package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/block-navigation.js +79 -0
  139. package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/favicon.png +0 -0
  140. package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/index.html +291 -0
  141. package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/prettify.css +1 -0
  142. package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/prettify.js +2 -0
  143. package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/sort-arrow-sprite.png +0 -0
  144. package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/sorter.js +170 -0
  145. package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/array/dedupe.js.html +113 -0
  146. package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/array/index.html +141 -0
  147. package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/array/is.js.html +95 -0
  148. package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/array/isNotEmpty.js.html +104 -0
  149. package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/boolean/index.html +111 -0
  150. package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/boolean/is.js.html +95 -0
  151. package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/caching/index.html +111 -0
  152. package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/caching/memoize.js.html +125 -0
  153. package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/date/index.html +111 -0
  154. package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/date/is.js.html +95 -0
  155. package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/deep/define.js.html +101 -0
  156. package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/deep/freeze.js.html +146 -0
  157. package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/deep/get.js.html +182 -0
  158. package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/deep/index.html +171 -0
  159. package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/deep/seal.js.html +146 -0
  160. package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/deep/set.js.html +215 -0
  161. package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/equal.js.html +269 -0
  162. package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/formdata/index.html +111 -0
  163. package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/formdata/is.js.html +95 -0
  164. package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/function/index.html +171 -0
  165. package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/function/is.js.html +98 -0
  166. package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/function/noop.js.html +95 -0
  167. package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/function/noopresolve.js.html +98 -0
  168. package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/function/noopreturn.js.html +98 -0
  169. package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/function/sleep.js.html +119 -0
  170. package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/hash/fnv1A.js.html +227 -0
  171. package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/hash/guid.js.html +170 -0
  172. package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/hash/index.html +126 -0
  173. package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/index.html +126 -0
  174. package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/is.js.html +185 -0
  175. package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/number/index.html +186 -0
  176. package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/number/is.js.html +107 -0
  177. package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/number/isBetween.js.html +116 -0
  178. package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/number/isNumericalNaN.js.html +95 -0
  179. package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/number/randomBetween.js.html +131 -0
  180. package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/number/round.js.html +134 -0
  181. package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/number/toPercentage.js.html +146 -0
  182. package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/object/define.js.html +113 -0
  183. package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/object/defineFrozen.js.html +101 -0
  184. package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/object/defineSealed.js.html +101 -0
  185. package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/object/forValues.js.html +128 -0
  186. package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/object/index.html +231 -0
  187. package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/object/is.js.html +95 -0
  188. package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/object/isNotEmpty.js.html +104 -0
  189. package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/object/merge.js.html +152 -0
  190. package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/object/pick.js.html +146 -0
  191. package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/object/zip.js.html +134 -0
  192. package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/regexp/index.html +111 -0
  193. package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/regexp/is.js.html +95 -0
  194. package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/string/index.html +141 -0
  195. package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/string/is.js.html +95 -0
  196. package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/string/isBetween.js.html +128 -0
  197. package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/string/isNotEmpty.js.html +104 -0
  198. package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov.info +940 -0
  199. package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/index.html +14 -14
  200. package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/array/dedupe.js.html +1 -1
  201. package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/array/index.html +1 -1
  202. package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/array/is.js.html +1 -1
  203. package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/boolean/index.html +1 -1
  204. package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/boolean/is.js.html +1 -1
  205. package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/caching/index.html +1 -1
  206. package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/caching/memoize.js.html +1 -1
  207. package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/date/index.html +1 -1
  208. package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/date/is.js.html +1 -1
  209. package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/deep/define.js.html +1 -1
  210. package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/deep/freeze.js.html +1 -1
  211. package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/deep/get.js.html +1 -1
  212. package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/deep/index.html +1 -1
  213. package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/deep/seal.js.html +1 -1
  214. package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/deep/set.js.html +1 -1
  215. package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/equal.js.html +1 -1
  216. package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/formdata/index.html +1 -1
  217. package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/formdata/is.js.html +1 -1
  218. package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/function/index.html +21 -6
  219. package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/function/is.js.html +1 -1
  220. package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/function/noop.js.html +1 -1
  221. package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/function/noopresolve.js.html +1 -1
  222. package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/function/noopreturn.js.html +1 -1
  223. package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/function/sleep.js.html +119 -0
  224. package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/hash/fnv1A.js.html +1 -1
  225. package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/hash/guid.js.html +1 -1
  226. package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/hash/index.html +1 -1
  227. package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/index.html +1 -1
  228. package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/number/index.html +1 -1
  229. package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/number/is.js.html +1 -1
  230. package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/number/isNumericalNaN.js.html +1 -1
  231. package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/number/randomBetween.js.html +1 -1
  232. package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/number/round.js.html +1 -1
  233. package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/number/toPercentage.js.html +1 -1
  234. package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/object/define.js.html +1 -1
  235. package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/object/defineFrozen.js.html +1 -1
  236. package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/object/defineSealed.js.html +1 -1
  237. package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/object/forValues.js.html +1 -1
  238. package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/object/index.html +1 -1
  239. package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/object/is.js.html +1 -1
  240. package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/object/merge.js.html +1 -1
  241. package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/object/pick.js.html +1 -1
  242. package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/object/zip.js.html +1 -1
  243. package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/regexp/index.html +1 -1
  244. package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/regexp/is.js.html +1 -1
  245. package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/string/index.html +1 -1
  246. package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov-report/src/string/is.js.html +1 -1
  247. package/coverage/HeadlessChrome 80.0.3987 (Linux 0.0.0)/lcov.info +18 -0
  248. package/coverage/lcov-report/base.css +5 -4
  249. package/coverage/lcov-report/block-navigation.js +71 -48
  250. package/coverage/lcov-report/favicon.png +0 -0
  251. package/coverage/lcov-report/index.html +247 -50
  252. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  253. package/coverage/lcov-report/sorter.js +51 -14
  254. package/coverage/lcov-report/src/array/dedupe.js.html +145 -0
  255. package/coverage/lcov-report/src/array/index.html +146 -0
  256. package/coverage/lcov-report/src/array/is.js.html +100 -0
  257. package/coverage/lcov-report/src/array/isNotEmpty.js.html +109 -0
  258. package/coverage/lcov-report/src/boolean/index.html +116 -0
  259. package/coverage/lcov-report/src/boolean/is.js.html +100 -0
  260. package/coverage/lcov-report/src/caching/index.html +116 -0
  261. package/coverage/lcov-report/src/caching/memoize.js.html +139 -0
  262. package/coverage/lcov-report/src/date/index.html +116 -0
  263. package/coverage/lcov-report/src/date/is.js.html +100 -0
  264. package/coverage/lcov-report/src/deep/define.js.html +106 -0
  265. package/coverage/lcov-report/src/deep/freeze.js.html +151 -0
  266. package/coverage/lcov-report/src/deep/get.js.html +190 -0
  267. package/coverage/lcov-report/src/deep/index.html +176 -0
  268. package/coverage/lcov-report/src/deep/seal.js.html +151 -0
  269. package/coverage/lcov-report/src/deep/set.js.html +229 -0
  270. package/coverage/lcov-report/src/equal.js.html +280 -0
  271. package/coverage/lcov-report/src/function/index.html +176 -0
  272. package/coverage/lcov-report/src/function/is.js.html +103 -0
  273. package/coverage/lcov-report/src/function/noop.js.html +100 -0
  274. package/coverage/lcov-report/src/function/noopresolve.js.html +103 -0
  275. package/coverage/lcov-report/src/function/noopreturn.js.html +103 -0
  276. package/coverage/lcov-report/src/function/sleep.js.html +121 -0
  277. package/coverage/lcov-report/src/hash/fnv1A.js.html +238 -0
  278. package/coverage/lcov-report/src/hash/guid.js.html +184 -0
  279. package/coverage/lcov-report/src/hash/index.html +131 -0
  280. package/coverage/lcov-report/src/index.html +131 -0
  281. package/coverage/lcov-report/src/is.js.html +196 -0
  282. package/coverage/lcov-report/src/number/index.html +221 -0
  283. package/coverage/lcov-report/src/number/is.js.html +109 -0
  284. package/coverage/lcov-report/src/number/isAbove.js.html +115 -0
  285. package/coverage/lcov-report/src/number/isBelow.js.html +115 -0
  286. package/coverage/lcov-report/src/number/isBetween.js.html +121 -0
  287. package/coverage/lcov-report/src/number/isNumericalNaN.js.html +100 -0
  288. package/coverage/lcov-report/src/number/randomBetween.js.html +136 -0
  289. package/coverage/lcov-report/src/number/round.js.html +139 -0
  290. package/coverage/lcov-report/src/number/toPercentage.js.html +151 -0
  291. package/coverage/lcov-report/src/object/define.js.html +118 -0
  292. package/coverage/lcov-report/src/object/defineFrozen.js.html +106 -0
  293. package/coverage/lcov-report/src/object/defineSealed.js.html +106 -0
  294. package/coverage/lcov-report/src/object/forValues.js.html +133 -0
  295. package/coverage/lcov-report/src/object/index.html +236 -0
  296. package/coverage/lcov-report/src/object/is.js.html +100 -0
  297. package/coverage/lcov-report/src/object/isNotEmpty.js.html +109 -0
  298. package/coverage/lcov-report/src/object/merge.js.html +157 -0
  299. package/coverage/lcov-report/src/object/pick.js.html +151 -0
  300. package/coverage/lcov-report/src/object/zip.js.html +145 -0
  301. package/coverage/lcov-report/src/regexp/index.html +116 -0
  302. package/coverage/lcov-report/src/regexp/is.js.html +100 -0
  303. package/coverage/lcov-report/src/string/index.html +146 -0
  304. package/coverage/lcov-report/src/string/is.js.html +100 -0
  305. package/coverage/lcov-report/src/string/isBetween.js.html +133 -0
  306. package/coverage/lcov-report/src/string/isNotEmpty.js.html +109 -0
  307. package/coverage/lcov.info +1132 -0
  308. package/date/is.js +5 -4
  309. package/deep/define.js +8 -10
  310. package/deep/freeze.js +19 -25
  311. package/deep/get.js +29 -32
  312. package/deep/seal.js +19 -25
  313. package/deep/set.js +41 -42
  314. package/equal.js +44 -59
  315. package/function/is.js +5 -6
  316. package/function/noop.js +2 -3
  317. package/function/noopresolve.js +7 -8
  318. package/function/noopreturn.js +5 -6
  319. package/function/sleep.js +15 -0
  320. package/hash/fnv1A.js +38 -54
  321. package/hash/guid.js +22 -30
  322. package/is.js +133 -0
  323. package/number/is.js +8 -8
  324. package/number/isAbove.js +15 -0
  325. package/number/isBelow.js +15 -0
  326. package/number/isBetween.js +16 -0
  327. package/number/isNumericalNaN.js +5 -4
  328. package/number/randomBetween.js +16 -19
  329. package/number/round.js +16 -19
  330. package/number/toPercentage.js +21 -26
  331. package/object/define.js +12 -13
  332. package/object/defineFrozen.js +9 -11
  333. package/object/defineSealed.js +9 -11
  334. package/object/forValues.js +17 -22
  335. package/object/is.js +5 -4
  336. package/object/isNotEmpty.js +15 -0
  337. package/object/merge.js +21 -22
  338. package/object/pick.js +22 -29
  339. package/object/zip.js +19 -20
  340. package/package.json +15 -17
  341. package/regexp/is.js +5 -4
  342. package/string/is.js +5 -4
  343. package/string/isBetween.js +21 -0
  344. package/string/isNotEmpty.js +16 -0
  345. package/test/constants.js +79 -0
  346. package/test/src/array.test.js +104 -51
  347. package/test/src/boolean.test.js +39 -43
  348. package/test/src/caching.test.js +10 -1
  349. package/test/src/date.test.js +39 -43
  350. package/test/src/deep.test.js +155 -66
  351. package/test/src/equal.test.js +66 -57
  352. package/test/src/function.test.js +85 -68
  353. package/test/src/hash.test.js +39 -30
  354. package/test/src/is.test.js +187 -0
  355. package/test/src/number.test.js +467 -73
  356. package/test/src/object.test.js +211 -149
  357. package/test/src/regexp.test.js +39 -43
  358. package/test/src/string.test.js +216 -40
  359. package/formdata/is.js +0 -9
  360. package/karma.conf.js +0 -64
  361. package/test/src/formdata.test.js +0 -74
  362. package/test/test_index.js +0 -2
@@ -1,83 +1,81 @@
1
1
  'use strict';
2
2
 
3
3
  import isFunction from '../../src/function/is';
4
+ import sleep from '../../src/function/sleep';
4
5
  import noop from '../../src/function/noop';
5
6
  import noopreturn from '../../src/function/noopreturn';
6
7
  import noopresolve from '../../src/function/noopresolve';
8
+ import {
9
+ fnNumericValues,
10
+ fnBooleanValues,
11
+ fnRegexValues,
12
+ fnStringValues,
13
+ fnObjectValues,
14
+ fnDateValues,
15
+ fnArrayValues,
16
+ fnFunctionValues,
17
+ fnNullables,
18
+ } from '../constants';
19
+
20
+ const chai = require('chai');
21
+ const spies = require('chai-spies');
22
+ chai.use(spies);
23
+
24
+ const expect = chai.expect;
25
+ const assert = chai.assert;
26
+ const should = chai.should();
27
+ const spy = chai.spy;
7
28
 
8
29
  describe("Function - isFunction", () => {
9
30
  it ('not see a string as a function', () => {
10
- expect(isFunction('foo')).toEqual(false);
11
- expect(isFunction(new String('bar'))).toEqual(false);
31
+ let vals = fnStringValues();
32
+ for (let el of vals) expect(isFunction(el)).to.eql(false);
12
33
  });
13
34
 
14
35
  it ('not see a numeric value as a function', () => {
15
- expect(isFunction(1)).toEqual(false);
16
- expect(isFunction(NaN)).toEqual(false);
17
- expect(isFunction(0.000001)).toEqual(false);
18
- expect(isFunction(8e10)).toEqual(false);
19
- expect(isFunction(Math.PI)).toEqual(false);
20
- expect(isFunction(new Number(1.12345))).toEqual(false);
21
- expect(isFunction(new Number(Number.EPSILON))).toEqual(false);
36
+ let vals = fnNumericValues();
37
+ for (let el of vals) expect(isFunction(el)).to.eql(false);
22
38
  });
23
39
 
24
40
  it ('not see a boolean as a function', () => {
25
- expect(isFunction(true)).toEqual(false);
26
- expect(isFunction(false)).toEqual(false);
27
- expect(isFunction(Boolean(true))).toEqual(false);
28
- expect(isFunction(Boolean(false))).toEqual(false);
29
- expect(isFunction(Boolean('foo'))).toEqual(false);
30
- expect(isFunction(new Boolean(false))).toEqual(false);
41
+ let vals = fnBooleanValues();
42
+ for (let el of vals) expect(isFunction(el)).to.eql(false);
31
43
  });
32
44
 
33
45
  it ('not see a regex as a function', () => {
34
- expect(isFunction(/abcdefg/i)).toEqual(false);
35
- expect(isFunction(new RegExp('\\w+'))).toEqual(false);
46
+ let vals = fnRegexValues();
47
+ for (let el of vals) expect(isFunction(el)).to.eql(false);
36
48
  });
37
49
 
38
50
  it ('not see an object as a function', () => {
39
- expect(isFunction({bar:'foo'})).toEqual(false);
40
- expect(isFunction(new Object())).toEqual(false);
41
- expect(isFunction(Object.create(null))).toEqual(false);
42
- expect(isFunction(Object.create([]))).toEqual(false);
51
+ let vals = fnObjectValues();
52
+ for (let el of vals) expect(isFunction(el)).to.eql(false);
43
53
  });
44
54
 
45
- it ('not see a null as a function', () => {
46
- expect(isFunction(null)).toEqual(false);
55
+ it ('not see a nullable as a function', () => {
56
+ let vals = fnNullables();
57
+ for (let el of vals) expect(isFunction(el)).to.eql(false);
47
58
  });
48
59
 
49
60
  it ('not see a date as a function', () => {
50
- expect(isFunction(new Date())).toEqual(false);
51
- expect(isFunction(Date.now())).toEqual(false);
52
- });
53
-
54
- it ('not see an undefined as a function', () => {
55
- expect(isFunction(undefined)).toEqual(false);
61
+ let vals = fnDateValues();
62
+ for (let el of vals) expect(isFunction(el)).to.eql(false);
56
63
  });
57
64
 
58
65
  it ('not see an array as a function', () => {
59
- expect(isFunction([0, 1, 2])).toEqual(false);
60
- expect(isFunction(new Array(1, 2, 3))).toEqual(false);
61
- expect(isFunction(new Array(5))).toEqual(false);
66
+ let vals = fnArrayValues();
67
+ for (let el of vals) expect(isFunction(el)).to.eql(false);
62
68
  });
63
69
 
64
70
  it ('see a function as a function', () => {
65
- function testFunction () {}
66
-
67
- const testArrowFunction = () => {};
68
-
69
- expect(isFunction(testFunction)).toEqual(true);
70
- expect(isFunction(testArrowFunction)).toEqual(true);
71
- });
72
-
73
- it ('not see formdata as a function', () => {
74
- let fdata = new FormData();
75
- expect(isFunction(fdata)).toEqual(false);
71
+ let vals = fnFunctionValues();
72
+ for (let el of vals) expect(isFunction(el)).to.eql(true);
76
73
  });
77
74
  });
78
75
 
79
76
  describe("Function - noop", () => {
80
77
  let obj, rslt, thrown, var_a;
78
+ let spy_fn = false;
81
79
 
82
80
  beforeEach(() => {
83
81
  try {
@@ -86,8 +84,7 @@ describe("Function - noop", () => {
86
84
  var_a = 42;
87
85
  thrown = false;
88
86
 
89
- spyOn(obj, 'fn');
90
-
87
+ spy_fn = spy(obj, 'fn');
91
88
  rslt = obj.fn(var_a);
92
89
  } catch (err) {
93
90
  thrown = true;
@@ -95,24 +92,25 @@ describe("Function - noop", () => {
95
92
  });
96
93
 
97
94
  it ('execute the function when called', () => {
98
- expect(obj.fn).toHaveBeenCalled();
95
+ expect(spy_fn).to.have.been.called;
99
96
  });
100
97
 
101
98
  it ('return nothing', () => {
102
- expect(rslt).toBeUndefined();
99
+ expect(rslt).to.eql(undefined);
103
100
  });
104
101
 
105
102
  it ('not affect parameters', () => {
106
- expect(var_a).toBe(42);
103
+ expect(var_a).to.eql(42);
107
104
  });
108
105
 
109
106
  it ('not throw an error', () => {
110
- expect(thrown).toBe(false);
107
+ expect(thrown).to.eql(false);
111
108
  });
112
109
  });
113
110
 
114
111
  describe("Function - noopreturn", () => {
115
112
  let obj, rslt, thrown, var_a;
113
+ let spy_fn = false;
116
114
 
117
115
  beforeEach(() => {
118
116
  try {
@@ -121,7 +119,7 @@ describe("Function - noopreturn", () => {
121
119
  var_a = 42;
122
120
  thrown = false;
123
121
 
124
- spyOn(obj, 'fn').and.callThrough();
122
+ spy_fn = spy(obj, 'fn');
125
123
  rslt = obj.fn(var_a);
126
124
  rslt = obj.fn(obj.fn(var_a));
127
125
  } catch (err) {
@@ -130,33 +128,34 @@ describe("Function - noopreturn", () => {
130
128
  });
131
129
 
132
130
  it ('execute the function when called', () => {
133
- expect(obj.fn).toHaveBeenCalled();
131
+ expect(spy_fn).to.have.been.called;
134
132
  });
135
133
 
136
134
  it ('return passed variable', () => {
137
- expect(rslt).toBe(42);
135
+ expect(rslt).to.eql(42);
138
136
  });
139
137
 
140
138
  it ('not affect parameters', () => {
141
- expect(var_a).toBe(42);
139
+ expect(var_a).to.eql(42);
142
140
  });
143
141
 
144
142
  it ('not throw an error', () => {
145
- expect(thrown).toBe(false);
143
+ expect(thrown).to.eql(false);
146
144
  });
147
145
  });
148
146
 
149
147
  describe("Function - noopresolve", () => {
150
148
  let obj, rslt, thrown, var_a;
149
+ let spy_fn = false;
151
150
 
152
151
  beforeEach(() => {
153
152
  try {
154
- obj = { fn : noopresolve };
153
+ obj = {fn : noopresolve};
155
154
  rslt = undefined;
156
155
  var_a = 42;
157
156
  thrown = false;
158
157
 
159
- spyOn(obj, 'fn').and.callThrough();
158
+ spy_fn = spy(obj, 'fn');
160
159
  rslt = obj.fn(var_a);
161
160
  } catch (err) {
162
161
  thrown = true;
@@ -164,35 +163,53 @@ describe("Function - noopresolve", () => {
164
163
  });
165
164
 
166
165
  it ('execute the function when called', () => {
167
- expect(obj.fn).toHaveBeenCalled();
166
+ expect(spy_fn).to.have.been.called;
168
167
  });
169
168
 
170
169
  it ('returns a promise', (next) => {
171
- expect(rslt instanceof Promise).toBe(true);
170
+ expect(rslt instanceof Promise).to.eql(true);
172
171
  next();
173
172
  });
174
173
 
175
- it ('returns a resolved promise', (next) => {
176
- rslt.then(
177
- next,
178
- () => next(new Error('Promise should have resolved, instead it rejected'))
179
- ).catch(
180
- () => next(new Error('Promise should have resolved, instead it threw an error'))
181
- );
174
+ it ('returns a resolved promise', async () => {
175
+ let is_resolved = false;
176
+ await rslt.then(() => is_resolved = true, () => {}).catch(() => {});
177
+ expect(is_resolved).to.eql(true);
182
178
  });
183
179
 
184
180
  it ('resolving the promise returns passed variable', (next) => {
185
181
  rslt.then((value) => {
186
- expect(value).toBe(42);
182
+ expect(value).to.eql(42);
187
183
  next();
188
184
  });
189
185
  });
190
186
 
191
187
  it ('not affect parameters', () => {
192
- expect(var_a).toBe(42);
188
+ expect(var_a).to.eql(42);
193
189
  });
194
190
 
195
191
  it ('not throw an error', () => {
196
- expect(thrown).toBe(false);
192
+ expect(thrown).to.eql(false);
193
+ });
194
+ });
195
+
196
+ describe("Function - sleep", () => {
197
+ it ('execute the function when called', async () => {
198
+ const o = {fn: sleep};
199
+ const fn_spy = spy(o, 'fn');
200
+ await o.fn(0);
201
+ expect(fn_spy).to.have.been.called;
202
+ });
203
+
204
+ it ('returns a promise', () => {
205
+ const rslt = sleep();
206
+ expect(rslt instanceof Promise).to.eql(true);
207
+ });
208
+
209
+ it ('resolves after the provided time', async () => {
210
+ const timer_start = new Date();
211
+ await sleep(200);
212
+ const timer_end = new Date() - timer_start;
213
+ expect(timer_end >= 200).to.eql(true);
197
214
  });
198
215
  });
@@ -3,20 +3,29 @@
3
3
  import guid from '../../src/hash/guid';
4
4
  import fnv1A from '../../src/hash/fnv1A';
5
5
 
6
+ const chai = require('chai');
7
+ const spies = require('chai-spies');
8
+ chai.use(spies);
9
+
10
+ const expect = chai.expect;
11
+ const assert = chai.assert;
12
+ const should = chai.should();
13
+ const spy = chai.spy;
14
+
6
15
  describe("Hash - Guid", () => {
7
16
  it ('output a string value', () => {
8
17
  let g = guid();
9
- expect(g).toEqual(jasmine.any(String));
18
+ assert.typeOf(g, 'string');
10
19
  });
11
20
 
12
21
  it ('have exactly 36 characters', () => {
13
22
  let g = guid();
14
- expect(g.length).toBe(36);
23
+ expect(g.length).to.eql(36);
15
24
  });
16
25
 
17
26
  it ('match the rfc4122 spec', () => {
18
27
  let g = guid();
19
- expect(/^[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$/g.test(g)).toBe(true);
28
+ expect(/^[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$/g.test(g)).to.eql(true);
20
29
  });
21
30
 
22
31
  it ('be unique (50.000 benchmark)', () => {
@@ -28,7 +37,7 @@ describe("Hash - Guid", () => {
28
37
  cursor++;
29
38
  }
30
39
 
31
- expect(Object.keys(cache).length).toBe(cursor);
40
+ expect(Object.keys(cache).length).to.eql(cursor);
32
41
  });
33
42
  });
34
43
 
@@ -63,39 +72,39 @@ describe("Hash - FNV1A", () => {
63
72
  const e_2 = fnv1A(new RegExp('abcdefg', 'i'));
64
73
  const e_3 = fnv1A(new RegExp('abcdefg', 'ig'));
65
74
  const e_4 = fnv1A(new RegExp('abcdefghij', 'i'));
66
- expect(a_1).toEqual(a_2);
67
- expect(b_1).toEqual(b_2);
68
- expect(c_1).toEqual(c_2);
69
- expect(d_1).toEqual(d_2);
70
- expect(d_1 === d_3).toEqual(false);
71
- expect(e_1).toEqual(e_2);
72
- expect(e_1 === e_3).toEqual(false);
73
- expect(e_1 === e_4).toEqual(false);
75
+ expect(a_1).to.eql(a_2);
76
+ expect(b_1).to.eql(b_2);
77
+ expect(c_1).to.eql(c_2);
78
+ expect(d_1).to.eql(d_2);
79
+ expect(d_1 === d_3).to.eql(false);
80
+ expect(e_1).to.eql(e_2);
81
+ expect(e_1 === e_3).to.eql(false);
82
+ expect(e_1 === e_4).to.eql(false);
74
83
  });
75
84
 
76
85
  it ('should throw a type error when passed an unhashable value', () => {
77
- expect(function () { fnv1A(new Function()) }).toThrowError(TypeError);
86
+ expect(function () { fnv1A(new Function()) }).to.throw(TypeError);
78
87
  });
79
88
 
80
89
  // Based on some tests available at : http://isthe.com/chongo/src/fnv/test_fnv.c
81
90
  it ('should output values that equal the official spec (32 bit)', () => {
82
- expect(fnv1A("")).toEqual(0x811c9dc5);
83
- expect(fnv1A("a")).toEqual(0xe40c292c);
84
- expect(fnv1A("b")).toEqual(0xe70c2de5);
85
- expect(fnv1A("c")).toEqual(0xe60c2c52);
86
- expect(fnv1A("d")).toEqual(0xe10c2473);
87
- expect(fnv1A("e")).toEqual(0xe00c22e0);
88
- expect(fnv1A("f")).toEqual(0xe30c2799);
89
- expect(fnv1A("fo")).toEqual(0x6222e842);
90
- expect(fnv1A("foo")).toEqual(0xa9f37ed7);
91
- expect(fnv1A("foob")).toEqual(0x3f5076ef);
92
- expect(fnv1A("fooba")).toEqual(0x39aaa18a);
93
- expect(fnv1A("foobar")).toEqual(0xbf9cf968);
94
- expect(fnv1A("64.81.78.84")).toEqual(0xa55b89ed);
95
- expect(fnv1A("feedfacedaffdeed")).toEqual(0xe83641e1);
96
- expect(fnv1A("http://www.fourmilab.ch/gravitation/orbits/")).toEqual(0x29b50b38);
97
- expect(fnv1A("EFCDAB8967452301")).toEqual(0x7fcb2275);
98
- expect(fnv1A("2^21701-1")).toEqual(0xc0ed2114);
91
+ expect(fnv1A("")).to.eql(0x811c9dc5);
92
+ expect(fnv1A("a")).to.eql(0xe40c292c);
93
+ expect(fnv1A("b")).to.eql(0xe70c2de5);
94
+ expect(fnv1A("c")).to.eql(0xe60c2c52);
95
+ expect(fnv1A("d")).to.eql(0xe10c2473);
96
+ expect(fnv1A("e")).to.eql(0xe00c22e0);
97
+ expect(fnv1A("f")).to.eql(0xe30c2799);
98
+ expect(fnv1A("fo")).to.eql(0x6222e842);
99
+ expect(fnv1A("foo")).to.eql(0xa9f37ed7);
100
+ expect(fnv1A("foob")).to.eql(0x3f5076ef);
101
+ expect(fnv1A("fooba")).to.eql(0x39aaa18a);
102
+ expect(fnv1A("foobar")).to.eql(0xbf9cf968);
103
+ expect(fnv1A("64.81.78.84")).to.eql(0xa55b89ed);
104
+ expect(fnv1A("feedfacedaffdeed")).to.eql(0xe83641e1);
105
+ expect(fnv1A("http://www.fourmilab.ch/gravitation/orbits/")).to.eql(0x29b50b38);
106
+ expect(fnv1A("EFCDAB8967452301")).to.eql(0x7fcb2275);
107
+ expect(fnv1A("2^21701-1")).to.eql(0xc0ed2114);
99
108
  });
100
109
 
101
110
  });
@@ -0,0 +1,187 @@
1
+ 'use strict';
2
+
3
+ import Is from '../../src/is';
4
+ import isObject from '../../src/object/is';
5
+ import isFunction from '../../src/function/is';
6
+
7
+ const chai = require('chai');
8
+ const spies = require('chai-spies');
9
+ chai.use(spies);
10
+
11
+ const expect = chai.expect;
12
+ const assert = chai.assert;
13
+ const should = chai.should();
14
+ const spy = chai.spy;
15
+
16
+ describe("Is", () => {
17
+
18
+ it ('Should be an object', () => {
19
+ expect(isObject(Is)).to.eql(true);
20
+ });
21
+
22
+ it ('Should be a frozen object', () => {
23
+ expect(Object.isFrozen(Is)).to.eql(true);
24
+ });
25
+
26
+ // Is.Array
27
+
28
+ it ('[fn-array] Should have an Array function', () => {
29
+ expect(isFunction(Is.Array)).to.eql(true);
30
+ });
31
+
32
+ it ('[fn-array] Should link to isArray', () => {
33
+ expect(Is.Array([])).to.eql(true);
34
+ expect(Is.Array({})).to.eql(false);
35
+ });
36
+
37
+ // Is.NotEmptyArray
38
+
39
+ it ('[fn-notemptyarray] Should have a NotEmptyArray function', () => {
40
+ expect(isFunction(Is.Array)).to.eql(true);
41
+ });
42
+
43
+ it ('[fn-notemptyarray] Should link to isNotEmptyArray', () => {
44
+ expect(Is.NotEmptyArray([1, 2, 3])).to.eql(true);
45
+ expect(Is.NotEmptyArray([])).to.eql(false);
46
+ expect(Is.NotEmptyArray({})).to.eql(false);
47
+ });
48
+
49
+ // Is.Boolean
50
+
51
+ it ('[fn-boolean] Should have a Boolean function', () => {
52
+ expect(isFunction(Is.Boolean)).to.eql(true);
53
+ });
54
+
55
+ it ('[fn-boolean] Should link to isBoolean', () => {
56
+ expect(Is.Boolean([])).to.eql(false);
57
+ expect(Is.Boolean(false)).to.eql(true);
58
+ expect(Is.Boolean(true)).to.eql(true);
59
+ });
60
+
61
+ // Is.Date
62
+
63
+ it ('[fn-date] Should have a Date function', () => {
64
+ expect(isFunction(Is.Date)).to.eql(true);
65
+ });
66
+
67
+ it ('[fn-date] Should link to isDate', () => {
68
+ expect(Is.Date([1, 2, 3])).to.eql(false);
69
+ expect(Is.Date('2021-01-01')).to.eql(false);
70
+ expect(Is.Date(new Date())).to.eql(true);
71
+ });
72
+
73
+ // Is.Function
74
+
75
+ it ('[fn-function] Should have a Function function', () => {
76
+ expect(isFunction(Is.Function)).to.eql(true);
77
+ });
78
+
79
+ it ('[fn-function] Should link to isFunction', () => {
80
+ expect(Is.Function([1, 2, 3])).to.eql(false);
81
+ expect(Is.Function('2021-01-01')).to.eql(false);
82
+ expect(Is.Function(() => {})).to.eql(true);
83
+ });
84
+
85
+ // Is.Number
86
+
87
+ it ('[fn-number] Should have a Number function', () => {
88
+ expect(isFunction(Is.Number)).to.eql(true);
89
+ });
90
+
91
+ it ('[fn-number] Should link to isNumber', () => {
92
+ expect(Is.Number([1, 2, 3])).to.eql(false);
93
+ expect(Is.Number('2021-01-01')).to.eql(false);
94
+ expect(Is.Number(1)).to.eql(true);
95
+ });
96
+
97
+ // Is.NumberBetween
98
+
99
+ it ('[fn-numberbetween] Should have a NumberBetween function', () => {
100
+ expect(isFunction(Is.NumberBetween)).to.eql(true);
101
+ });
102
+
103
+ it ('[fn-numberbetween] Should link to isNumberBetween', () => {
104
+ expect(Is.NumberBetween(1, 0, 2)).to.eql(true);
105
+ expect(Is.NumberBetween(10, 10, 11)).to.eql(true);
106
+ expect(Is.NumberBetween(50, 10, 30)).to.eql(false);
107
+ expect(Is.NumberBetween('a', 2, 6)).to.eql(false);
108
+ expect(Is.NumberBetween({})).to.eql(false);
109
+ });
110
+
111
+ // Is.RegExp
112
+
113
+ it ('[fn-regexp] Should have a RegExp function', () => {
114
+ expect(isFunction(Is.RegExp)).to.eql(true);
115
+ });
116
+
117
+ it ('[fn-regexp] Should link to isRegExp', () => {
118
+ expect(Is.RegExp([1, 2, 3])).to.eql(false);
119
+ expect(Is.RegExp('2021-01-01')).to.eql(false);
120
+ expect(Is.RegExp(/hi/g)).to.eql(true);
121
+ });
122
+
123
+ // Is.Object
124
+
125
+ it ('[fn-object] Should have an Object function', () => {
126
+ expect(isFunction(Is.Object)).to.eql(true);
127
+ });
128
+
129
+ it ('[fn-object] Should link to isObject', () => {
130
+ expect(Is.Object([1, 2, 3])).to.eql(false);
131
+ expect(Is.Object('2021-01-01')).to.eql(false);
132
+ expect(Is.Object({a:1})).to.eql(true);
133
+ });
134
+
135
+ // Is.NotEmptyObject
136
+
137
+ it ('[fn-notemptyobject] Should have an NotEmptyObject function', () => {
138
+ expect(isFunction(Is.NotEmptyObject)).to.eql(true);
139
+ });
140
+
141
+ it ('[fn-notemptyobject] Should link to isNotEmptyObject', () => {
142
+ expect(Is.NotEmptyObject([1, 2, 3])).to.eql(false);
143
+ expect(Is.NotEmptyObject('2021-01-01')).to.eql(false);
144
+ expect(Is.NotEmptyObject({a:1})).to.eql(true);
145
+ expect(Is.NotEmptyObject({})).to.eql(false);
146
+ });
147
+
148
+ // Is.String
149
+
150
+ it ('[fn-string] Should have a String function', () => {
151
+ expect(isFunction(Is.String)).to.eql(true);
152
+ });
153
+
154
+ it ('[fn-string] Should link to isString', () => {
155
+ expect(Is.String([1, 2, 3])).to.eql(false);
156
+ expect(Is.String('2021-01-01')).to.eql(true);
157
+ expect(Is.String({a:1})).to.eql(false);
158
+ });
159
+
160
+ // Is.StringBetween
161
+
162
+ it ('[fn-stringbetween] Should have a StringBetween function', () => {
163
+ expect(isFunction(Is.StringBetween)).to.eql(true);
164
+ });
165
+
166
+ it ('[fn-stringbetween] Should link to isStringBetween', () => {
167
+ expect(Is.StringBetween([1, 2, 3])).to.eql(false);
168
+ expect(Is.StringBetween('2021-01-01', 0, 10)).to.eql(true);
169
+ expect(Is.StringBetween('a', 2, 6)).to.eql(false);
170
+ expect(Is.StringBetween({})).to.eql(false);
171
+ });
172
+
173
+ // Is.NotEmptyString
174
+
175
+ it ('[fn-notemptystring] Should have an NotEmptyString function', () => {
176
+ expect(isFunction(Is.NotEmptyString)).to.eql(true);
177
+ });
178
+
179
+ it ('[fn-notemptystring] Should link to isNotEmptyString', () => {
180
+ expect(Is.NotEmptyString([1, 2, 3])).to.eql(false);
181
+ expect(Is.NotEmptyString('2021-01-01')).to.eql(true);
182
+ expect(Is.NotEmptyString('')).to.eql(false);
183
+ expect(Is.NotEmptyString({a:1})).to.eql(false);
184
+ expect(Is.NotEmptyString({})).to.eql(false);
185
+ });
186
+
187
+ });