@vinicunca/perkakas 0.3.1 → 0.3.5

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 (338) hide show
  1. package/dist/commonjs/array/all-pass.js +2 -2
  2. package/dist/commonjs/array/any-pass.js +2 -2
  3. package/dist/commonjs/array/chunk.js +3 -3
  4. package/dist/commonjs/array/concat.js +2 -2
  5. package/dist/commonjs/array/count-by.js +8 -6
  6. package/dist/commonjs/array/difference-with.js +5 -15
  7. package/dist/commonjs/array/difference.js +5 -15
  8. package/dist/commonjs/array/drop-first-by.js +1 -1
  9. package/dist/commonjs/array/drop-last-while.js +2 -2
  10. package/dist/commonjs/array/drop-last.js +3 -3
  11. package/dist/commonjs/array/drop-while.js +2 -2
  12. package/dist/commonjs/array/drop.js +5 -12
  13. package/dist/commonjs/array/filter.js +3 -16
  14. package/dist/commonjs/array/find-index.js +12 -25
  15. package/dist/commonjs/array/find-last-index.js +3 -3
  16. package/dist/commonjs/array/find-last.js +3 -3
  17. package/dist/commonjs/array/find.js +10 -22
  18. package/dist/commonjs/array/first.js +4 -10
  19. package/dist/commonjs/array/flat-map-to-obj.js +10 -9
  20. package/dist/commonjs/array/flat-map.js +5 -15
  21. package/dist/commonjs/array/flatten-deep.js +9 -19
  22. package/dist/commonjs/array/flatten.js +5 -17
  23. package/dist/commonjs/array/for-each.js +18 -22
  24. package/dist/commonjs/array/group-by.js +5 -5
  25. package/dist/commonjs/array/index-by.js +20 -7
  26. package/dist/commonjs/array/index.js +4 -0
  27. package/dist/commonjs/array/intersection-with.js +5 -15
  28. package/dist/commonjs/array/intersection.js +6 -16
  29. package/dist/commonjs/array/last.js +2 -2
  30. package/dist/commonjs/array/length.js +2 -2
  31. package/dist/commonjs/array/map-to-obj.js +8 -7
  32. package/dist/commonjs/array/map.js +11 -15
  33. package/dist/commonjs/array/max-by.js +6 -6
  34. package/dist/commonjs/array/mean-by.js +6 -6
  35. package/dist/commonjs/array/merge-all.js +5 -1
  36. package/dist/commonjs/array/min-by.js +6 -6
  37. package/dist/commonjs/array/only.js +3 -6
  38. package/dist/commonjs/array/partition.js +5 -5
  39. package/dist/commonjs/array/range.js +2 -2
  40. package/dist/commonjs/array/rank-by.js +1 -1
  41. package/dist/commonjs/array/reduce.js +3 -3
  42. package/dist/commonjs/array/reject.js +9 -22
  43. package/dist/commonjs/array/reverse.js +2 -2
  44. package/dist/commonjs/array/sample.js +1 -1
  45. package/dist/commonjs/array/shuffle.js +3 -3
  46. package/dist/commonjs/array/sort-by.js +5 -43
  47. package/dist/commonjs/array/sort.js +3 -3
  48. package/dist/commonjs/array/sorted-index-by.js +19 -0
  49. package/dist/commonjs/array/sorted-index-with.js +15 -0
  50. package/dist/commonjs/array/sorted-index.js +12 -0
  51. package/dist/commonjs/array/sorted-last-index-by.js +19 -0
  52. package/dist/commonjs/array/sorted-last-index.js +12 -0
  53. package/dist/commonjs/array/splice.js +3 -3
  54. package/dist/commonjs/array/split-at.js +3 -3
  55. package/dist/commonjs/array/split-when.js +6 -6
  56. package/dist/commonjs/array/sum-by.js +6 -6
  57. package/dist/commonjs/array/swap-indices.js +7 -7
  58. package/dist/commonjs/array/take-first-by.js +1 -1
  59. package/dist/commonjs/array/take-while.js +2 -2
  60. package/dist/commonjs/array/take.js +8 -21
  61. package/dist/commonjs/array/uniq-by.js +4 -11
  62. package/dist/commonjs/array/uniq-with.js +8 -18
  63. package/dist/commonjs/array/uniq.js +4 -11
  64. package/dist/commonjs/array/zip-obj.js +2 -2
  65. package/dist/commonjs/array/zip-with.js +4 -4
  66. package/dist/commonjs/array/zip.js +2 -2
  67. package/dist/commonjs/function/create-pipe.js +1 -1
  68. package/dist/commonjs/function/index.js +1 -0
  69. package/dist/commonjs/function/pipe.js +18 -24
  70. package/dist/commonjs/function/purry.js +8 -9
  71. package/dist/commonjs/function/times.js +18 -0
  72. package/dist/commonjs/guard/is-defined.js +1 -1
  73. package/dist/commonjs/guard/is-empty.js +4 -4
  74. package/dist/commonjs/guard/is-nil.js +1 -1
  75. package/dist/commonjs/guard/is-not.js +1 -3
  76. package/dist/commonjs/number/add.js +2 -2
  77. package/dist/commonjs/number/clamp.js +6 -6
  78. package/dist/commonjs/number/divide.js +2 -2
  79. package/dist/commonjs/number/multiply.js +2 -2
  80. package/dist/commonjs/number/subtract.js +2 -2
  81. package/dist/commonjs/object/add-prop.js +2 -2
  82. package/dist/commonjs/object/clone.js +5 -5
  83. package/dist/commonjs/object/equals.js +48 -52
  84. package/dist/commonjs/object/for-each-obj.js +9 -9
  85. package/dist/commonjs/object/from-pairs.js +6 -2
  86. package/dist/commonjs/object/invert.js +5 -3
  87. package/dist/commonjs/object/keys.js +3 -2
  88. package/dist/commonjs/object/map-keys.js +2 -2
  89. package/dist/commonjs/object/map-values.js +2 -2
  90. package/dist/commonjs/object/merge-deep.js +2 -2
  91. package/dist/commonjs/object/merge.js +2 -2
  92. package/dist/commonjs/object/omit-by.js +7 -6
  93. package/dist/commonjs/object/omit.js +2 -2
  94. package/dist/commonjs/object/path-or.js +6 -6
  95. package/dist/commonjs/object/pick-by.js +9 -8
  96. package/dist/commonjs/object/pick.js +7 -9
  97. package/dist/commonjs/object/set-path.js +14 -15
  98. package/dist/commonjs/object/set.js +2 -2
  99. package/dist/commonjs/object/swap-props.js +2 -2
  100. package/dist/commonjs/string/random-string.js +11 -5
  101. package/dist/commonjs/string/string-to-path.js +5 -5
  102. package/dist/commonjs/utils/binary-search-cutoff-index.js +19 -0
  103. package/dist/commonjs/utils/heap.js +1 -1
  104. package/dist/commonjs/utils/purry-order-rules.js +1 -1
  105. package/dist/commonjs/utils/quick-select.js +2 -2
  106. package/dist/commonjs/utils/reduce-lazy.js +9 -6
  107. package/dist/commonjs/utils/to-single.js +1 -2
  108. package/dist/es/array/all-pass.js +2 -2
  109. package/dist/es/array/any-pass.js +2 -2
  110. package/dist/es/array/chunk.js +3 -3
  111. package/dist/es/array/concat.js +2 -2
  112. package/dist/es/array/count-by.js +8 -6
  113. package/dist/es/array/difference-with.js +5 -15
  114. package/dist/es/array/difference.js +5 -15
  115. package/dist/es/array/drop-first-by.js +1 -1
  116. package/dist/es/array/drop-last-while.js +2 -2
  117. package/dist/es/array/drop-last.js +3 -3
  118. package/dist/es/array/drop-while.js +2 -2
  119. package/dist/es/array/drop.js +5 -12
  120. package/dist/es/array/filter.js +3 -16
  121. package/dist/es/array/find-index.js +12 -25
  122. package/dist/es/array/find-last-index.js +3 -3
  123. package/dist/es/array/find-last.js +3 -3
  124. package/dist/es/array/find.js +10 -22
  125. package/dist/es/array/first.js +4 -10
  126. package/dist/es/array/flat-map-to-obj.js +10 -9
  127. package/dist/es/array/flat-map.js +5 -15
  128. package/dist/es/array/flatten-deep.js +9 -19
  129. package/dist/es/array/flatten.js +5 -17
  130. package/dist/es/array/for-each.js +18 -22
  131. package/dist/es/array/group-by.js +5 -5
  132. package/dist/es/array/index-by.js +20 -7
  133. package/dist/es/array/index.js +4 -0
  134. package/dist/es/array/intersection-with.js +5 -15
  135. package/dist/es/array/intersection.js +6 -16
  136. package/dist/es/array/last.js +2 -2
  137. package/dist/es/array/length.js +2 -2
  138. package/dist/es/array/map-to-obj.js +8 -7
  139. package/dist/es/array/map.js +11 -15
  140. package/dist/es/array/max-by.js +6 -6
  141. package/dist/es/array/mean-by.js +6 -6
  142. package/dist/es/array/merge-all.js +5 -1
  143. package/dist/es/array/min-by.js +6 -6
  144. package/dist/es/array/only.js +3 -6
  145. package/dist/es/array/partition.js +5 -5
  146. package/dist/es/array/range.js +2 -2
  147. package/dist/es/array/rank-by.js +1 -1
  148. package/dist/es/array/reduce.js +3 -3
  149. package/dist/es/array/reject.js +9 -22
  150. package/dist/es/array/reverse.js +2 -2
  151. package/dist/es/array/sample.js +1 -1
  152. package/dist/es/array/shuffle.js +3 -3
  153. package/dist/es/array/sort-by.js +5 -43
  154. package/dist/es/array/sort.js +3 -3
  155. package/dist/es/array/sorted-index-by.js +15 -0
  156. package/dist/es/array/sorted-index-with.js +11 -0
  157. package/dist/es/array/sorted-index.js +8 -0
  158. package/dist/es/array/sorted-last-index-by.js +15 -0
  159. package/dist/es/array/sorted-last-index.js +8 -0
  160. package/dist/es/array/splice.js +3 -3
  161. package/dist/es/array/split-at.js +3 -3
  162. package/dist/es/array/split-when.js +6 -6
  163. package/dist/es/array/sum-by.js +6 -6
  164. package/dist/es/array/swap-indices.js +7 -7
  165. package/dist/es/array/take-first-by.js +1 -1
  166. package/dist/es/array/take-while.js +2 -2
  167. package/dist/es/array/take.js +8 -21
  168. package/dist/es/array/uniq-by.js +4 -11
  169. package/dist/es/array/uniq-with.js +8 -18
  170. package/dist/es/array/uniq.js +4 -11
  171. package/dist/es/array/zip-obj.js +2 -2
  172. package/dist/es/array/zip-with.js +4 -4
  173. package/dist/es/array/zip.js +2 -2
  174. package/dist/es/function/index.js +1 -0
  175. package/dist/es/function/pipe.js +18 -24
  176. package/dist/es/function/purry.js +8 -9
  177. package/dist/es/function/times.js +14 -0
  178. package/dist/es/guard/is-defined.js +1 -1
  179. package/dist/es/guard/is-empty.js +4 -4
  180. package/dist/es/guard/is-nil.js +1 -1
  181. package/dist/es/guard/is-not.js +1 -3
  182. package/dist/es/number/add.js +2 -2
  183. package/dist/es/number/clamp.js +6 -6
  184. package/dist/es/number/divide.js +2 -2
  185. package/dist/es/number/multiply.js +2 -2
  186. package/dist/es/number/subtract.js +2 -2
  187. package/dist/es/object/add-prop.js +2 -2
  188. package/dist/es/object/clone.js +5 -5
  189. package/dist/es/object/equals.js +48 -52
  190. package/dist/es/object/for-each-obj.js +9 -9
  191. package/dist/es/object/from-pairs.js +5 -1
  192. package/dist/es/object/invert.js +5 -3
  193. package/dist/es/object/keys.js +3 -2
  194. package/dist/es/object/map-keys.js +2 -2
  195. package/dist/es/object/map-values.js +2 -2
  196. package/dist/es/object/merge-deep.js +2 -2
  197. package/dist/es/object/merge.js +2 -2
  198. package/dist/es/object/omit-by.js +7 -6
  199. package/dist/es/object/omit.js +2 -2
  200. package/dist/es/object/path-or.js +6 -6
  201. package/dist/es/object/pick-by.js +9 -8
  202. package/dist/es/object/pick.js +7 -9
  203. package/dist/es/object/set-path.js +12 -13
  204. package/dist/es/object/set.js +2 -2
  205. package/dist/es/object/swap-props.js +2 -2
  206. package/dist/es/string/random-string.js +11 -5
  207. package/dist/es/string/string-to-path.js +5 -5
  208. package/dist/es/utils/binary-search-cutoff-index.js +15 -0
  209. package/dist/es/utils/heap.js +1 -1
  210. package/dist/es/utils/purry-order-rules.js +1 -1
  211. package/dist/es/utils/quick-select.js +2 -2
  212. package/dist/es/utils/reduce-lazy.js +9 -6
  213. package/dist/es/utils/to-single.js +1 -2
  214. package/dist/metadata.json +7915 -4373
  215. package/dist/types/array/count-by.d.ts.map +1 -1
  216. package/dist/types/array/difference-with.d.ts +2 -2
  217. package/dist/types/array/difference-with.d.ts.map +1 -1
  218. package/dist/types/array/difference.d.ts +2 -2
  219. package/dist/types/array/difference.d.ts.map +1 -1
  220. package/dist/types/array/drop.d.ts +2 -2
  221. package/dist/types/array/drop.d.ts.map +1 -1
  222. package/dist/types/array/filter.d.ts +5 -5
  223. package/dist/types/array/filter.d.ts.map +1 -1
  224. package/dist/types/array/find-index.d.ts +5 -20
  225. package/dist/types/array/find-index.d.ts.map +1 -1
  226. package/dist/types/array/find.d.ts +5 -12
  227. package/dist/types/array/find.d.ts.map +1 -1
  228. package/dist/types/array/first.d.ts +2 -5
  229. package/dist/types/array/first.d.ts.map +1 -1
  230. package/dist/types/array/flat-map-to-obj.d.ts +4 -4
  231. package/dist/types/array/flat-map-to-obj.d.ts.map +1 -1
  232. package/dist/types/array/flat-map.d.ts +2 -11
  233. package/dist/types/array/flat-map.d.ts.map +1 -1
  234. package/dist/types/array/flatten-deep.d.ts +15 -5
  235. package/dist/types/array/flatten-deep.d.ts.map +1 -1
  236. package/dist/types/array/flatten.d.ts +17 -2
  237. package/dist/types/array/flatten.d.ts.map +1 -1
  238. package/dist/types/array/for-each.d.ts +3 -3
  239. package/dist/types/array/for-each.d.ts.map +1 -1
  240. package/dist/types/array/group-by.d.ts.map +1 -1
  241. package/dist/types/array/index-by.d.ts +25 -6
  242. package/dist/types/array/index-by.d.ts.map +1 -1
  243. package/dist/types/array/index.d.ts +4 -0
  244. package/dist/types/array/index.d.ts.map +1 -1
  245. package/dist/types/array/intersection-with.d.ts +2 -2
  246. package/dist/types/array/intersection-with.d.ts.map +1 -1
  247. package/dist/types/array/intersection.d.ts +2 -2
  248. package/dist/types/array/intersection.d.ts.map +1 -1
  249. package/dist/types/array/last.d.ts +13 -4
  250. package/dist/types/array/last.d.ts.map +1 -1
  251. package/dist/types/array/map.d.ts +3 -3
  252. package/dist/types/array/map.d.ts.map +1 -1
  253. package/dist/types/array/max-by.d.ts.map +1 -1
  254. package/dist/types/array/mean-by.d.ts.map +1 -1
  255. package/dist/types/array/merge-all.d.ts +1 -1
  256. package/dist/types/array/merge-all.d.ts.map +1 -1
  257. package/dist/types/array/min-by.d.ts.map +1 -1
  258. package/dist/types/array/reduce.d.ts +2 -2
  259. package/dist/types/array/reduce.d.ts.map +1 -1
  260. package/dist/types/array/reject.d.ts +3 -3
  261. package/dist/types/array/reject.d.ts.map +1 -1
  262. package/dist/types/array/sort-by.d.ts +33 -33
  263. package/dist/types/array/sort-by.d.ts.map +1 -1
  264. package/dist/types/array/sort.d.ts.map +1 -1
  265. package/dist/types/array/sorted-index-by.d.ts +63 -0
  266. package/dist/types/array/sorted-index-by.d.ts.map +1 -0
  267. package/dist/types/array/sorted-index-with.d.ts +65 -0
  268. package/dist/types/array/sorted-index-with.d.ts.map +1 -0
  269. package/dist/types/array/sorted-index.d.ts +47 -0
  270. package/dist/types/array/sorted-index.d.ts.map +1 -0
  271. package/dist/types/array/sorted-last-index-by.d.ts +63 -0
  272. package/dist/types/array/sorted-last-index-by.d.ts.map +1 -0
  273. package/dist/types/array/sorted-last-index.d.ts +47 -0
  274. package/dist/types/array/sorted-last-index.d.ts.map +1 -0
  275. package/dist/types/array/sum-by.d.ts.map +1 -1
  276. package/dist/types/array/take.d.ts +2 -2
  277. package/dist/types/array/take.d.ts.map +1 -1
  278. package/dist/types/array/uniq-with.d.ts +3 -3
  279. package/dist/types/array/uniq-with.d.ts.map +1 -1
  280. package/dist/types/array/uniq.d.ts +15 -4
  281. package/dist/types/array/uniq.d.ts.map +1 -1
  282. package/dist/types/array/zip-obj.d.ts +2 -2
  283. package/dist/types/array/zip-obj.d.ts.map +1 -1
  284. package/dist/types/array/zip.d.ts.map +1 -1
  285. package/dist/types/function/conditional.d.ts.map +1 -1
  286. package/dist/types/function/index.d.ts +1 -0
  287. package/dist/types/function/index.d.ts.map +1 -1
  288. package/dist/types/function/noop.d.ts.map +1 -1
  289. package/dist/types/function/pipe.d.ts +21 -0
  290. package/dist/types/function/pipe.d.ts.map +1 -1
  291. package/dist/types/function/purry.d.ts +21 -6
  292. package/dist/types/function/purry.d.ts.map +1 -1
  293. package/dist/types/function/times.d.ts +29 -0
  294. package/dist/types/function/times.d.ts.map +1 -0
  295. package/dist/types/guard/is-empty.d.ts +15 -4
  296. package/dist/types/guard/is-empty.d.ts.map +1 -1
  297. package/dist/types/guard/is-not.d.ts +1 -1
  298. package/dist/types/guard/is-not.d.ts.map +1 -1
  299. package/dist/types/guard/is-object.d.ts +1 -1
  300. package/dist/types/guard/is-object.d.ts.map +1 -1
  301. package/dist/types/number/clamp.d.ts +7 -8
  302. package/dist/types/number/clamp.d.ts.map +1 -1
  303. package/dist/types/object/add-prop.d.ts +2 -2
  304. package/dist/types/object/add-prop.d.ts.map +1 -1
  305. package/dist/types/object/equals.d.ts +2 -2
  306. package/dist/types/object/equals.d.ts.map +1 -1
  307. package/dist/types/object/for-each-obj.d.ts +6 -6
  308. package/dist/types/object/for-each-obj.d.ts.map +1 -1
  309. package/dist/types/object/from-pairs.d.ts +9 -0
  310. package/dist/types/object/from-pairs.d.ts.map +1 -1
  311. package/dist/types/object/keys.d.ts +8 -4
  312. package/dist/types/object/keys.d.ts.map +1 -1
  313. package/dist/types/object/pick.d.ts +9 -9
  314. package/dist/types/object/pick.d.ts.map +1 -1
  315. package/dist/types/object/prop.d.ts.map +1 -1
  316. package/dist/types/object/set-path.d.ts +1 -1
  317. package/dist/types/object/set-path.d.ts.map +1 -1
  318. package/dist/types/object/to-pairs.d.ts +1 -1
  319. package/dist/types/object/to-pairs.d.ts.map +1 -1
  320. package/dist/types/string/random-string.d.ts +6 -2
  321. package/dist/types/string/random-string.d.ts.map +1 -1
  322. package/dist/types/string/string-to-path.d.ts.map +1 -1
  323. package/dist/types/type/type.d.ts.map +1 -1
  324. package/dist/types/utils/binary-search-cutoff-index.d.ts +2 -0
  325. package/dist/types/utils/binary-search-cutoff-index.d.ts.map +1 -0
  326. package/dist/types/utils/narrow.d.ts +1 -1
  327. package/dist/types/utils/narrow.d.ts.map +1 -1
  328. package/dist/types/utils/purry-on.d.ts +1 -1
  329. package/dist/types/utils/purry-on.d.ts.map +1 -1
  330. package/dist/types/utils/reduce-lazy.d.ts +2 -21
  331. package/dist/types/utils/reduce-lazy.d.ts.map +1 -1
  332. package/dist/types/utils/swap-in-place.d.ts.map +1 -1
  333. package/dist/types/utils/to-single.d.ts +4 -2
  334. package/dist/types/utils/to-single.d.ts.map +1 -1
  335. package/dist/types/utils/types.d.ts +2 -2
  336. package/dist/types/utils/types.d.ts.map +1 -1
  337. package/dist/types/utils/with-precision.d.ts.map +1 -1
  338. package/package.json +2 -4
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.isDefined = void 0;
4
4
  function isDefined(data) {
5
- return typeof data !== 'undefined' && data !== null;
5
+ return data !== undefined && data !== null;
6
6
  }
7
7
  exports.isDefined = isDefined;
8
8
  (function (isDefined) {
@@ -5,14 +5,14 @@ const is_array_1 = require("./is-array");
5
5
  const is_object_1 = require("./is-object");
6
6
  const is_string_1 = require("./is-string");
7
7
  function isEmpty(data) {
8
+ if (data === undefined) {
9
+ return true;
10
+ }
8
11
  if ((0, is_array_1.isArray)(data) || (0, is_string_1.isString)(data)) {
9
12
  return data.length === 0;
10
13
  }
11
14
  if ((0, is_object_1.isObject)(data)) {
12
- for (const _ in data) {
13
- return false;
14
- }
15
- return !(data instanceof RegExp);
15
+ return Object.keys(data).length === 0;
16
16
  }
17
17
  return false;
18
18
  }
@@ -2,6 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.isNil = void 0;
4
4
  function isNil(data) {
5
- return data == null;
5
+ return data === null || data === undefined;
6
6
  }
7
7
  exports.isNil = isNil;
@@ -2,8 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.isNot = void 0;
4
4
  function isNot(predicate) {
5
- return (data) => {
6
- return !predicate(data);
7
- };
5
+ return (data) => !predicate(data);
8
6
  }
9
7
  exports.isNot = isNot;
@@ -3,9 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.add = void 0;
4
4
  const purry_1 = require("../function/purry");
5
5
  function add(...args) {
6
- return (0, purry_1.purry)(_add, args);
6
+ return (0, purry_1.purry)(add_, args);
7
7
  }
8
8
  exports.add = add;
9
- function _add(value, addend) {
9
+ function add_(value, addend) {
10
10
  return value + addend;
11
11
  }
@@ -3,15 +3,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.clamp = void 0;
4
4
  const purry_1 = require("../function/purry");
5
5
  function clamp(...args) {
6
- return (0, purry_1.purry)(_clamp, args);
6
+ return (0, purry_1.purry)(clamp_, args);
7
7
  }
8
8
  exports.clamp = clamp;
9
- function _clamp(value, limits) {
10
- if (limits.min != null && limits.min > value) {
11
- return limits.min;
9
+ function clamp_(value, { max, min }) {
10
+ if (min !== undefined && value < min) {
11
+ return min;
12
12
  }
13
- if (limits.max != null && limits.max < value) {
14
- return limits.max;
13
+ if (max !== undefined && value > max) {
14
+ return max;
15
15
  }
16
16
  return value;
17
17
  }
@@ -3,9 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.divide = void 0;
4
4
  const purry_1 = require("../function/purry");
5
5
  function divide(...args) {
6
- return (0, purry_1.purry)(_divide, args);
6
+ return (0, purry_1.purry)(divide_, args);
7
7
  }
8
8
  exports.divide = divide;
9
- function _divide(value, divisor) {
9
+ function divide_(value, divisor) {
10
10
  return value / divisor;
11
11
  }
@@ -3,9 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.multiply = void 0;
4
4
  const purry_1 = require("../function/purry");
5
5
  function multiply(...args) {
6
- return (0, purry_1.purry)(_multiply, args);
6
+ return (0, purry_1.purry)(multiply_, args);
7
7
  }
8
8
  exports.multiply = multiply;
9
- function _multiply(value, multiplicand) {
9
+ function multiply_(value, multiplicand) {
10
10
  return value * multiplicand;
11
11
  }
@@ -3,9 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.subtract = void 0;
4
4
  const purry_1 = require("../function/purry");
5
5
  function subtract(...args) {
6
- return (0, purry_1.purry)(_subtract, args);
6
+ return (0, purry_1.purry)(subtract_, args);
7
7
  }
8
8
  exports.subtract = subtract;
9
- function _subtract(value, subtrahend) {
9
+ function subtract_(value, subtrahend) {
10
10
  return value - subtrahend;
11
11
  }
@@ -3,10 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.addProp = void 0;
4
4
  const purry_1 = require("../function/purry");
5
5
  function addProp(...args) {
6
- return (0, purry_1.purry)(_addProp, args);
6
+ return (0, purry_1.purry)(addProp_, args);
7
7
  }
8
8
  exports.addProp = addProp;
9
- function _addProp(obj, prop, value) {
9
+ function addProp_(obj, prop, value) {
10
10
  return {
11
11
  ...obj,
12
12
  [prop]: value,
@@ -2,14 +2,14 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.clone = void 0;
4
4
  const type_1 = require("../type");
5
- function _cloneRegExp(pattern) {
5
+ function cloneRegExp_(pattern) {
6
6
  return new RegExp(pattern.source, (pattern.global ? 'g' : '')
7
7
  + (pattern.ignoreCase ? 'i' : '')
8
8
  + (pattern.multiline ? 'm' : '')
9
9
  + (pattern.sticky ? 'y' : '')
10
10
  + (pattern.unicode ? 'u' : ''));
11
11
  }
12
- function _clone(value, refFrom, refTo, deep) {
12
+ function clone_(value, refFrom, refTo, deep) {
13
13
  function copy(copiedValue) {
14
14
  const len = refFrom.length;
15
15
  let idx = 0;
@@ -23,7 +23,7 @@ function _clone(value, refFrom, refTo, deep) {
23
23
  refTo[idx + 1] = copiedValue;
24
24
  for (const key in value) {
25
25
  copiedValue[key] = deep
26
- ? _clone(value[key], refFrom, refTo, true)
26
+ ? clone_(value[key], refFrom, refTo, true)
27
27
  : value[key];
28
28
  }
29
29
  return copiedValue;
@@ -36,7 +36,7 @@ function _clone(value, refFrom, refTo, deep) {
36
36
  case 'Date':
37
37
  return new Date(value.valueOf());
38
38
  case 'RegExp':
39
- return _cloneRegExp(value);
39
+ return cloneRegExp_(value);
40
40
  default:
41
41
  return value;
42
42
  }
@@ -44,6 +44,6 @@ function _clone(value, refFrom, refTo, deep) {
44
44
  function clone(value) {
45
45
  return value != null && typeof value.clone === 'function'
46
46
  ? value.clone()
47
- : _clone(value, [], [], true);
47
+ : clone_(value, [], [], true);
48
48
  }
49
49
  exports.clone = clone;
@@ -2,70 +2,66 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.equals = void 0;
4
4
  const purry_1 = require("../function/purry");
5
- const isArray = Array.isArray;
6
- const keyList = Object.keys;
7
5
  function equals(...args) {
8
- return (0, purry_1.purry)(_equals, args);
6
+ return (0, purry_1.purry)(equals_, args);
9
7
  }
10
8
  exports.equals = equals;
11
- function _equals(a, b) {
9
+ function equals_(a, b) {
12
10
  if (a === b) {
13
11
  return true;
14
12
  }
15
- if (a && b && typeof a === 'object' && typeof b === 'object') {
16
- const arrA = isArray(a);
17
- const arrB = isArray(b);
18
- let i;
19
- let length;
20
- let key;
21
- if (arrA && arrB) {
22
- length = a.length;
23
- if (length !== b.length) {
24
- return false;
25
- }
26
- for (i = length; i-- !== 0;) {
27
- if (!equals(a[i], b[i])) {
28
- return false;
29
- }
30
- }
31
- return true;
32
- }
33
- if (arrA !== arrB) {
34
- return false;
35
- }
36
- const dateA = a instanceof Date;
37
- const dateB = b instanceof Date;
38
- if (dateA !== dateB) {
13
+ if (typeof a === 'number' && typeof b === 'number') {
14
+ return Number.isNaN(a) && Number.isNaN(b);
15
+ }
16
+ if (typeof a !== 'object' || typeof b !== 'object') {
17
+ return false;
18
+ }
19
+ if (a === null || b === null) {
20
+ return false;
21
+ }
22
+ const isArrayA = Array.isArray(a);
23
+ const isArrayB = Array.isArray(b);
24
+ if (isArrayA && isArrayB) {
25
+ if (a.length !== b.length) {
39
26
  return false;
40
27
  }
41
- if (dateA && dateB) {
42
- return a.getTime() === b.getTime();
28
+ for (let i = 0; i < a.length; i++) {
29
+ if (!equals_(a[i], b[i])) {
30
+ return false;
31
+ }
43
32
  }
44
- const regexpA = a instanceof RegExp;
45
- const regexpB = b instanceof RegExp;
46
- if (regexpA !== regexpB) {
33
+ return true;
34
+ }
35
+ if (isArrayA !== isArrayB) {
36
+ return false;
37
+ }
38
+ const isDateA = a instanceof Date;
39
+ const isDateB = b instanceof Date;
40
+ if (isDateA && isDateB) {
41
+ return a.getTime() === b.getTime();
42
+ }
43
+ if (isDateA !== isDateB) {
44
+ return false;
45
+ }
46
+ const isRegExpA = a instanceof RegExp;
47
+ const isRegExpB = b instanceof RegExp;
48
+ if (isRegExpA && isRegExpB) {
49
+ return a.toString() === b.toString();
50
+ }
51
+ if (isRegExpA !== isRegExpB) {
52
+ return false;
53
+ }
54
+ const keys = Object.keys(a);
55
+ if (keys.length !== Object.keys(b).length) {
56
+ return false;
57
+ }
58
+ for (const key of keys) {
59
+ if (!Object.prototype.hasOwnProperty.call(b, key)) {
47
60
  return false;
48
61
  }
49
- if (regexpA && regexpB) {
50
- return a.toString() === b.toString();
51
- }
52
- const keys = keyList(a);
53
- length = keys.length;
54
- if (length !== keyList(b).length) {
62
+ if (!equals_(a[key], b[key])) {
55
63
  return false;
56
64
  }
57
- for (i = length; i-- !== 0;) {
58
- if (!Object.prototype.hasOwnProperty.call(b, keys[i])) {
59
- return false;
60
- }
61
- }
62
- for (i = length; i-- !== 0;) {
63
- key = keys[i];
64
- if (!equals(a[key], b[key])) {
65
- return false;
66
- }
67
- }
68
- return true;
69
65
  }
70
- return a !== a && b !== b;
66
+ return true;
71
67
  }
@@ -3,28 +3,28 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.forEachObj = void 0;
4
4
  const purry_1 = require("../function/purry");
5
5
  function forEachObj(...args) {
6
- return (0, purry_1.purry)(_forEachObj(false), args);
6
+ return (0, purry_1.purry)(forEachObj_(false), args);
7
7
  }
8
8
  exports.forEachObj = forEachObj;
9
- function _forEachObj(indexed) {
10
- return (object, fn) => {
11
- for (const key in object) {
12
- if (Object.prototype.hasOwnProperty.call(object, key)) {
13
- const val = object[key];
9
+ function forEachObj_(indexed) {
10
+ return (data, fn) => {
11
+ for (const key in data) {
12
+ if (Object.prototype.hasOwnProperty.call(data, key)) {
13
+ const { [key]: val } = data;
14
14
  if (indexed) {
15
- fn(val, key, object);
15
+ fn(val, key, data);
16
16
  }
17
17
  else {
18
18
  fn(val);
19
19
  }
20
20
  }
21
21
  }
22
- return object;
22
+ return data;
23
23
  };
24
24
  }
25
25
  (function (forEachObj) {
26
26
  function indexed(...args) {
27
- return (0, purry_1.purry)(_forEachObj(true), args);
27
+ return (0, purry_1.purry)(forEachObj_(true), args);
28
28
  }
29
29
  forEachObj.indexed = indexed;
30
30
  })(forEachObj || (exports.forEachObj = forEachObj = {}));
@@ -1,14 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.fromPairs = void 0;
4
- function fromPairs(entries) {
4
+ const purry_1 = require("../function/purry");
5
+ function fromPairs(...args) {
6
+ return (0, purry_1.purry)(fromPairsImplementation, args);
7
+ }
8
+ exports.fromPairs = fromPairs;
9
+ function fromPairsImplementation(entries) {
5
10
  const out = {};
6
11
  for (const [key, value] of entries) {
7
12
  out[key] = value;
8
13
  }
9
14
  return out;
10
15
  }
11
- exports.fromPairs = fromPairs;
12
16
  (function (fromPairs) {
13
17
  fromPairs.strict = fromPairs;
14
18
  })(fromPairs || (exports.fromPairs = fromPairs = {}));
@@ -3,13 +3,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.invert = void 0;
4
4
  const purry_1 = require("../function/purry");
5
5
  function invert(...args) {
6
- return (0, purry_1.purry)(_invert, args);
6
+ return (0, purry_1.purry)(invert_, args);
7
7
  }
8
8
  exports.invert = invert;
9
- function _invert(object) {
9
+ function invert_(object) {
10
10
  const result = {};
11
11
  for (const key in object) {
12
- result[object[key]] = key;
12
+ if (Object.prototype.hasOwnProperty.call(object, key)) {
13
+ result[object[key]] = key;
14
+ }
13
15
  }
14
16
  return result;
15
17
  }
@@ -1,8 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.keys = void 0;
4
- function keys(source) {
5
- return Object.keys(source);
4
+ const purry_1 = require("../function/purry");
5
+ function keys(...args) {
6
+ return (0, purry_1.purry)(Object.keys, args);
6
7
  }
7
8
  exports.keys = keys;
8
9
  (function (keys) {
@@ -4,10 +4,10 @@ exports.mapKeys = void 0;
4
4
  const purry_1 = require("../function/purry");
5
5
  const to_pairs_1 = require("./to-pairs");
6
6
  function mapKeys(...args) {
7
- return (0, purry_1.purry)(_mapKeys, args);
7
+ return (0, purry_1.purry)(mapKeys_, args);
8
8
  }
9
9
  exports.mapKeys = mapKeys;
10
- function _mapKeys(data, fn) {
10
+ function mapKeys_(data, fn) {
11
11
  const out = {};
12
12
  for (const [key, value] of to_pairs_1.toPairs.strict(data)) {
13
13
  out[fn(key, value)] = value;
@@ -4,10 +4,10 @@ exports.mapValues = void 0;
4
4
  const purry_1 = require("../function/purry");
5
5
  const to_pairs_1 = require("./to-pairs");
6
6
  function mapValues(...args) {
7
- return (0, purry_1.purry)(_mapValues, args);
7
+ return (0, purry_1.purry)(mapValues_, args);
8
8
  }
9
9
  exports.mapValues = mapValues;
10
- function _mapValues(data, fn) {
10
+ function mapValues_(data, fn) {
11
11
  const out = {};
12
12
  for (const [key, value] of to_pairs_1.toPairs.strict(data)) {
13
13
  out[key] = fn(value, key);
@@ -12,11 +12,11 @@ function mergeDeepImplementation(destination, source) {
12
12
  if (!(key in destination)) {
13
13
  continue;
14
14
  }
15
- const destinationValue = destination[key];
15
+ const { [key]: destinationValue } = destination;
16
16
  if (!isRecord(destinationValue)) {
17
17
  continue;
18
18
  }
19
- const sourceValue = source[key];
19
+ const { [key]: sourceValue } = source;
20
20
  if (!isRecord(sourceValue)) {
21
21
  continue;
22
22
  }
@@ -3,9 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.merge = void 0;
4
4
  const purry_1 = require("../function/purry");
5
5
  function merge(...args) {
6
- return (0, purry_1.purry)(_merge, args);
6
+ return (0, purry_1.purry)(merge_, args);
7
7
  }
8
8
  exports.merge = merge;
9
- function _merge(a, b) {
9
+ function merge_(a, b) {
10
10
  return Object.assign({}, a, b);
11
11
  }
@@ -4,17 +4,18 @@ exports.omitBy = void 0;
4
4
  const purry_1 = require("../function/purry");
5
5
  const keys_1 = require("./keys");
6
6
  function omitBy(...args) {
7
- return (0, purry_1.purry)(_omitBy, args);
7
+ return (0, purry_1.purry)(omitBy_, args);
8
8
  }
9
9
  exports.omitBy = omitBy;
10
- function _omitBy(object, fn) {
10
+ function omitBy_(object, fn) {
11
11
  if (object === undefined || object === null) {
12
12
  return object;
13
13
  }
14
- return keys_1.keys.strict(object).reduce((acc, key) => {
14
+ const out = {};
15
+ for (const key of keys_1.keys.strict(object)) {
15
16
  if (!fn(object[key], key)) {
16
- acc[key] = object[key];
17
+ out[key] = object[key];
17
18
  }
18
- return acc;
19
- }, {});
19
+ }
20
+ return out;
20
21
  }
@@ -5,10 +5,10 @@ const has_at_least_1 = require("../array/has-at-least");
5
5
  const purry_1 = require("../function/purry");
6
6
  const from_pairs_1 = require("./from-pairs");
7
7
  function omit(...args) {
8
- return (0, purry_1.purry)(_omit, args);
8
+ return (0, purry_1.purry)(omit_, args);
9
9
  }
10
10
  exports.omit = omit;
11
- function _omit(data, propNames) {
11
+ function omit_(data, propNames) {
12
12
  if (!(0, has_at_least_1.hasAtLeast)(propNames, 1)) {
13
13
  return { ...data };
14
14
  }
@@ -3,16 +3,16 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.pathOr = void 0;
4
4
  const purry_1 = require("../function/purry");
5
5
  function pathOr(...args) {
6
- return (0, purry_1.purry)(_pathOr, args);
6
+ return (0, purry_1.purry)(pathOr_, args);
7
7
  }
8
8
  exports.pathOr = pathOr;
9
- function _pathOr(object, path, defaultValue) {
10
- let current = object;
9
+ function pathOr_(data, path, defaultValue) {
10
+ let current = data;
11
11
  for (const prop of path) {
12
- if (current == null || current[prop] == null) {
13
- return defaultValue;
12
+ if (current === null || current === undefined) {
13
+ break;
14
14
  }
15
15
  current = current[prop];
16
16
  }
17
- return current;
17
+ return current ?? defaultValue;
18
18
  }
@@ -4,17 +4,18 @@ exports.pickBy = void 0;
4
4
  const purry_1 = require("../function/purry");
5
5
  const keys_1 = require("./keys");
6
6
  function pickBy(...args) {
7
- return (0, purry_1.purry)(_pickBy, args);
7
+ return (0, purry_1.purry)(pickBy_, args);
8
8
  }
9
9
  exports.pickBy = pickBy;
10
- function _pickBy(object, fn) {
11
- if (object == null) {
10
+ function pickBy_(data, fn) {
11
+ if (data === null || data === undefined) {
12
12
  return {};
13
13
  }
14
- return keys_1.keys.strict(object).reduce((acc, key) => {
15
- if (fn(object[key], key)) {
16
- acc[key] = object[key];
14
+ const out = {};
15
+ for (const key of keys_1.keys.strict(data)) {
16
+ if (fn(data[key], key)) {
17
+ out[key] = data[key];
17
18
  }
18
- return acc;
19
- }, {});
19
+ }
20
+ return out;
20
21
  }
@@ -3,17 +3,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.pick = void 0;
4
4
  const purry_1 = require("../function/purry");
5
5
  function pick(...args) {
6
- return (0, purry_1.purry)(_pick, args);
6
+ return (0, purry_1.purry)(pick_, args);
7
7
  }
8
8
  exports.pick = pick;
9
- function _pick(object, names) {
10
- if (object == null) {
11
- return {};
12
- }
13
- return names.reduce((acc, name) => {
9
+ function pick_(object, names) {
10
+ const out = {};
11
+ for (const name of names) {
14
12
  if (name in object) {
15
- acc[name] = object[name];
13
+ out[name] = object[name];
16
14
  }
17
- return acc;
18
- }, {});
15
+ }
16
+ return out;
19
17
  }
@@ -1,26 +1,25 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports._setPath = exports.setPath = void 0;
3
+ exports.setPath_ = exports.setPath = void 0;
4
4
  const purry_1 = require("../function/purry");
5
5
  function setPath(...args) {
6
- return (0, purry_1.purry)(_setPath, args);
6
+ return (0, purry_1.purry)(setPath_, args);
7
7
  }
8
8
  exports.setPath = setPath;
9
- function _setPath(object, path, defaultValue) {
10
- if (path.length === 0) {
11
- return defaultValue;
9
+ function setPath_(data, path, value) {
10
+ const [current, ...rest] = path;
11
+ if (current === undefined) {
12
+ return value;
12
13
  }
13
- if (Array.isArray(object)) {
14
- return object.map((item, index) => {
15
- if (index === path[0]) {
16
- return _setPath(item, path.slice(1), defaultValue);
17
- }
18
- return item;
19
- });
14
+ if (Array.isArray(data)) {
15
+ return data.map((item, index) => index === current ? setPath_(item, rest, value) : item);
16
+ }
17
+ if (data === null || data === undefined) {
18
+ throw new Error('Path doesn\'t exist in object!');
20
19
  }
21
20
  return {
22
- ...object,
23
- [path[0]]: _setPath(object[path[0]], path.slice(1), defaultValue),
21
+ ...data,
22
+ [current]: setPath_(data[current], rest, value),
24
23
  };
25
24
  }
26
- exports._setPath = _setPath;
25
+ exports.setPath_ = setPath_;
@@ -3,10 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.set = void 0;
4
4
  const purry_1 = require("../function/purry");
5
5
  function set(...args) {
6
- return (0, purry_1.purry)(_set, args);
6
+ return (0, purry_1.purry)(set_, args);
7
7
  }
8
8
  exports.set = set;
9
- function _set(obj, prop, value) {
9
+ function set_(obj, prop, value) {
10
10
  return {
11
11
  ...obj,
12
12
  [prop]: value,
@@ -3,10 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.swapProps = void 0;
4
4
  const purry_1 = require("../function/purry");
5
5
  function swapProps(...args) {
6
- return (0, purry_1.purry)(_swapProps, args);
6
+ return (0, purry_1.purry)(swapProps_, args);
7
7
  }
8
8
  exports.swapProps = swapProps;
9
- function _swapProps(obj, key1, key2) {
9
+ function swapProps_(obj, key1, key2) {
10
10
  const { [key1]: value1, [key2]: value2 } = obj;
11
11
  return {
12
12
  ...obj,