rambda 6.8.1 → 7.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 (189) hide show
  1. package/CHANGELOG.md +93 -0
  2. package/README.md +4108 -5600
  3. package/dist/rambda.esm.js +340 -212
  4. package/dist/rambda.js +345 -212
  5. package/dist/rambda.mjs +340 -212
  6. package/dist/rambda.umd.js +1 -1
  7. package/immutable.d.ts +202 -275
  8. package/immutable.js +1 -0
  9. package/index.d.ts +202 -275
  10. package/package.json +111 -94
  11. package/src/F.js +1 -1
  12. package/src/T.js +1 -1
  13. package/src/_internals/_isInteger.js +1 -1
  14. package/src/_internals/_objectIs.js +2 -2
  15. package/src/_internals/baseSlice.js +6 -8
  16. package/src/_internals/cloneList.js +3 -0
  17. package/src/_internals/isFalsy.js +5 -5
  18. package/src/_internals/isObject.js +5 -0
  19. package/src/_internals/isTruthy.js +5 -5
  20. package/src/_internals/set.js +35 -0
  21. package/src/add.js +1 -1
  22. package/src/adjust.js +5 -6
  23. package/src/all.js +3 -3
  24. package/src/allPass.js +4 -4
  25. package/src/always.js +1 -1
  26. package/src/and.js +1 -1
  27. package/src/any.js +3 -3
  28. package/src/anyPass.js +4 -4
  29. package/src/append.js +4 -2
  30. package/src/apply.js +7 -0
  31. package/src/applySpec.js +33 -59
  32. package/src/assoc.js +3 -7
  33. package/src/assocPath.js +22 -25
  34. package/src/bind.js +9 -0
  35. package/src/both.js +1 -1
  36. package/src/chain.js +2 -2
  37. package/src/clamp.js +6 -6
  38. package/src/clone.js +10 -10
  39. package/src/complement.js +1 -1
  40. package/src/compose.js +6 -6
  41. package/src/concat.js +2 -2
  42. package/src/cond.js +3 -3
  43. package/src/converge.js +11 -11
  44. package/src/curry.js +2 -2
  45. package/src/curryN.js +61 -81
  46. package/src/defaultTo.js +5 -8
  47. package/src/difference.js +3 -3
  48. package/src/dissoc.js +4 -4
  49. package/src/divide.js +1 -1
  50. package/src/drop.js +1 -1
  51. package/src/dropLast.js +5 -5
  52. package/src/dropLastWhile.js +12 -12
  53. package/src/dropRepeats.js +6 -6
  54. package/src/dropRepeatsWith.js +7 -7
  55. package/src/dropWhile.js +9 -9
  56. package/src/either.js +2 -2
  57. package/src/endsWith.js +20 -3
  58. package/src/eqProps.js +5 -10
  59. package/src/equals.js +119 -38
  60. package/src/evolve.js +23 -21
  61. package/src/filter.js +17 -19
  62. package/src/find.js +4 -4
  63. package/src/findIndex.js +3 -3
  64. package/src/findLast.js +4 -4
  65. package/src/findLastIndex.js +3 -3
  66. package/src/flatten.js +6 -6
  67. package/src/flip.js +11 -15
  68. package/src/forEach.js +10 -12
  69. package/src/fromPairs.js +2 -2
  70. package/src/groupBy.js +6 -6
  71. package/src/groupWith.js +11 -12
  72. package/src/hasPath.js +5 -5
  73. package/src/head.js +3 -3
  74. package/src/identical.js +1 -1
  75. package/src/identity.js +2 -2
  76. package/src/ifElse.js +3 -5
  77. package/src/includes.js +11 -22
  78. package/src/indexBy.js +11 -11
  79. package/src/indexOf.js +5 -12
  80. package/src/init.js +2 -4
  81. package/src/intersection.js +3 -3
  82. package/src/intersperse.js +5 -5
  83. package/src/is.js +2 -2
  84. package/src/isEmpty.js +5 -5
  85. package/src/isFunction.js +3 -3
  86. package/src/isNil.js +1 -1
  87. package/src/isPromise.js +3 -3
  88. package/src/join.js +1 -1
  89. package/src/keys.js +1 -1
  90. package/src/last.js +4 -4
  91. package/src/lastIndexOf.js +5 -11
  92. package/src/length.js +6 -5
  93. package/src/lens.js +3 -3
  94. package/src/lensIndex.js +4 -4
  95. package/src/lensProp.js +4 -4
  96. package/src/map.js +19 -18
  97. package/src/match.js +1 -1
  98. package/src/mathMod.js +2 -2
  99. package/src/max.js +1 -1
  100. package/src/maxBy.js +2 -4
  101. package/src/maybe.js +2 -4
  102. package/src/mean.js +2 -2
  103. package/src/median.js +12 -10
  104. package/src/merge.js +2 -4
  105. package/src/mergeAll.js +3 -3
  106. package/src/mergeDeepRight.js +8 -8
  107. package/src/mergeLeft.js +2 -2
  108. package/src/min.js +1 -1
  109. package/src/minBy.js +2 -4
  110. package/src/modulo.js +1 -1
  111. package/src/move.js +7 -8
  112. package/src/multiply.js +1 -1
  113. package/src/negate.js +1 -1
  114. package/src/none.js +3 -3
  115. package/src/not.js +1 -1
  116. package/src/nth.js +4 -4
  117. package/src/objOf.js +3 -3
  118. package/src/of.js +2 -2
  119. package/src/omit.js +5 -5
  120. package/src/once.js +6 -6
  121. package/src/or.js +1 -1
  122. package/src/over.js +3 -5
  123. package/src/partial.js +3 -3
  124. package/src/partition.js +17 -15
  125. package/src/path.js +6 -6
  126. package/src/pathEq.js +4 -6
  127. package/src/pathOr.js +5 -7
  128. package/src/paths.js +3 -3
  129. package/src/pick.js +5 -5
  130. package/src/pickAll.js +6 -6
  131. package/src/pipe.js +3 -3
  132. package/src/pluck.js +4 -4
  133. package/src/prepend.js +3 -3
  134. package/src/product.js +2 -2
  135. package/src/prop.js +2 -2
  136. package/src/propEq.js +3 -5
  137. package/src/propIs.js +4 -6
  138. package/src/propOr.js +4 -6
  139. package/src/props.js +6 -6
  140. package/src/range.js +4 -4
  141. package/src/reduce.js +7 -11
  142. package/src/reject.js +2 -2
  143. package/src/repeat.js +2 -2
  144. package/src/replace.js +2 -4
  145. package/src/reverse.js +3 -4
  146. package/src/set.js +5 -9
  147. package/src/slice.js +2 -4
  148. package/src/sort.js +4 -4
  149. package/src/sortBy.js +4 -2
  150. package/src/split.js +1 -1
  151. package/src/splitAt.js +9 -9
  152. package/src/splitEvery.js +8 -6
  153. package/src/splitWhen.js +10 -10
  154. package/src/startsWith.js +20 -3
  155. package/src/subtract.js +1 -1
  156. package/src/sum.js +1 -1
  157. package/src/symmetricDifference.js +9 -7
  158. package/src/tail.js +2 -2
  159. package/src/take.js +2 -4
  160. package/src/takeLast.js +2 -4
  161. package/src/takeLastWhile.js +7 -7
  162. package/src/takeWhile.js +8 -8
  163. package/src/tap.js +1 -1
  164. package/src/test.js +5 -3
  165. package/src/times.js +4 -4
  166. package/src/toLower.js +1 -1
  167. package/src/toPairs.js +1 -1
  168. package/src/toString.js +1 -1
  169. package/src/toUpper.js +1 -1
  170. package/src/transpose.js +4 -3
  171. package/src/trim.js +1 -1
  172. package/src/tryCatch.js +5 -5
  173. package/src/type.js +7 -29
  174. package/src/unapply.js +5 -0
  175. package/src/union.js +4 -3
  176. package/src/uniq.js +7 -10
  177. package/src/uniqWith.js +18 -7
  178. package/src/unless.js +3 -3
  179. package/src/update.js +6 -8
  180. package/src/values.js +2 -2
  181. package/src/view.js +2 -2
  182. package/src/when.js +2 -4
  183. package/src/where.js +5 -5
  184. package/src/whereEq.js +9 -7
  185. package/src/without.js +5 -5
  186. package/src/xor.js +2 -2
  187. package/src/zip.js +3 -3
  188. package/src/zipObj.js +4 -6
  189. package/src/zipWith.js +6 -7
package/CHANGELOG.md CHANGED
@@ -1,3 +1,96 @@
1
+ 7.0.0
2
+
3
+ - Braking change - sync `R.compose`/`R.pipe` with `@types/ramda`. That is significant change so as safeguard, it will lead a major bump. Important - this lead to raising required Typescript version to `4.2.2`. In other words, to use `Rambda` you'll need Typescript version `4.2.2` or newer.
4
+
5
+ Related commit in `@types/ramda` - https://github.com/DefinitelyTyped/DefinitelyTyped/commit/286eff4f76d41eb8f091e7437eabd8a60d97fc1f#diff-4f74803fa83a81e47cb17a7d8a4e46a7e451f4d9e5ce2f1bd7a70a72d91f4bc1
6
+
7
+ There are several other changes in `@types/ramda` as stated in [this comment](https://github.com/ramda/ramda/issues/2976#issuecomment-990408945). This leads to change of typings for the following methods in **Rambda**:
8
+
9
+ -- R.unless
10
+
11
+ -- R.toString
12
+
13
+ -- R.ifElse
14
+
15
+ -- R.always
16
+
17
+ -- R.complement
18
+
19
+ -- R.cond
20
+
21
+ -- R.is
22
+
23
+ -- R.sortBy
24
+
25
+ -- R.dissoc
26
+
27
+ -- R.toPairs
28
+
29
+ -- R.assoc
30
+
31
+ -- R.toLower
32
+
33
+ -- R.toUpper
34
+
35
+ - One more reason for the braking change is changing of export declarations in `package.json` based on [this blog post](https://devblogs.microsoft.com/typescript/announcing-typescript-4-5-beta/#packagejson-exports-imports-and-self-referencing) and [this merged Ramda's PR](https://github.com/ramda/ramda/pull/2999). This also led to renaming of `babel.config.js` to `babel.config.cjs`.
36
+
37
+ - Add `R.apply`, `R.bind` and `R.unapply`
38
+
39
+ - `R.startsWith/R.endsWith` now support lists as inputs. This way, it matches current Ramda behavior.
40
+
41
+ - Remove unused typing for `R.chain`.
42
+
43
+ - `R.map`/`R.filter` no longer accept bad inputs as iterable. This way, Rambda behaves more like Ramda, which also throws.
44
+
45
+ - Make `R.lastIndexOf` follow the logic of `R.indexOf`.
46
+
47
+ - Change `R.type` logic to Ramda logic. This way, `R.type` can return `Error` and `Set` as results.
48
+
49
+ - Add missing logic in `R.equals` to compare sets - [Issue #599](https://github.com/selfrefactor/rambda/issues/599)
50
+
51
+ - Improve list cloning - [Issue #595](https://github.com/selfrefactor/rambda/issues/595)
52
+
53
+ - Handle multiple inputs with `R.allPass` and `R.anyPass` - [Issue #604](https://github.com/selfrefactor/rambda/issues/604)
54
+
55
+ - Fix `R.length` wrong logic with inputs as `{length: 123}` - [Issue #606](https://github.com/selfrefactor/rambda/issues/606).
56
+
57
+ - Improve non-curry typings of `R.merge` by using types from [mobily/ts-belt](https://github.com/mobily/ts-belt).
58
+
59
+ - Improve performance of `R.uniqWith`.
60
+
61
+ - Wrong `R.update` if index is `-1` - [PR #593](https://github.com/selfrefactor/rambda/pull/593)
62
+
63
+ - Make `R.eqProps` safe for falsy inputs - based on [this opened Ramda PR](https://github.com/ramda/ramda/pull/2943).
64
+
65
+ - Incorrect benchmarks for `R.pipe/R.compose` - [Issue #608](https://github.com/selfrefactor/rambda/issues/608)
66
+
67
+ - Fix `R.last/R.head` typings - [Issue #609](https://github.com/selfrefactor/rambda/issues/609)
68
+
69
+ 6.9.0
70
+
71
+ - Fix slow `R.uniq` methods - [Issue #581](https://github.com/selfrefactor/rambda/issues/581)
72
+
73
+ Fixing `R.uniq` was done by improving `R.indexOf` which has performance implication to all methods importing `R.indexOf`:
74
+
75
+ - R.includes
76
+ - R.intersection
77
+ - R.difference
78
+ - R.excludes
79
+ - R.symmetricDifference
80
+ - R.union
81
+
82
+ - R.without no longer support the following case - `without('0:1', ['0', '0:1']) // => ['0']`. Now it throws as the first argument should be a list, not a string. Ramda, on the other hand, returns an empty list - https://github.com/ramda/ramda/issues/3086.
83
+
84
+ 6.8.3
85
+
86
+ - Fix Typescript build process with `rambda/immutable` - [Issue #572](https://github.com/selfrefactor/rambda/issues/572)
87
+
88
+ - Add `R.objOf` method
89
+
90
+ - Add `R.mapObjIndexed` method
91
+
92
+ - Publish shorter README.md version to NPM
93
+
1
94
  6.8.0
2
95
 
3
96
  - `R.has` use `Object.prototype.hasOwnProperty`- [Issue #572](https://github.com/selfrefactor/rambda/issues/572)