UNPKG

rambda

Version:

Lightweight and faster alternative to Ramda with included TS definitions

839 lines (466 loc) 32.5 kB
8.4.0 - Add `R.dissocPath` - Fix TS definitions of `R.head/R.last` and add missing handle of empty string - Add `R.removeIndex` - method was before only in `Rambdax`, but now since `R.dissocPath` is using it, it is added to main library. - Allow `R.omit` to pass numbers as part of properties to omit, i.e. `R.omit(['a', 1], {a: {1: 1, 2: 2}})` - R.keys always returns strings - [MR #700](https://github.com/selfrefactor/rambda/pull/700) - Improve `R.prepend/R.append` type interference - [MR #699](https://github.com/selfrefactor/rambda/pull/699) - Change `R.reduce` TS definitions so index is always received - [MR #696](https://github.com/selfrefactor/rambda/pull/696) - Functions as a type guard in `R.anyPass` TS definitions - [MR #695](https://github.com/selfrefactor/rambda/pull/695) - Fix R.append's curried type - [MR #694](https://github.com/selfrefactor/rambda/pull/694) - Fix cannot compare errors in `Deno` with `R.equals` - [Issue #704](https://github.com/selfrefactor/rambda/issues/704). - Fix cannot compare `BigInt` with `R.equals` 8.3.0 Add the following methods: - binary - call - collectBy - comparator - composeWith 8.2.0 Add the following methods: - addIndex - addIndexRight - ap - aperture - applyTo - ascend - descend 8.1.0 - Fix input order of TS definitions for `R.propEq` method - [Issue #688](https://github.com/selfrefactor/rambda/issues/688). The issue was due to 8.0.0 was shipped with TS definitions of `7.5.0` release. - Add `R.differenceWith` method - [Issue #91](https://github.com/selfrefactor/rambdax/issues/91) 8.0.0 - handle falsy values in merge methods - https://github.com/ramda/ramda/pull/3222 - `R.head`/`R.last` don't return `undefined` for non-empty arrays - `R.type` supports dates in TS definition - `Rambda` already did support dates in JS. - Improve typings of `R.endsWith/startsWith` with regard to `string` input. - [PR #622](https://github.com/selfrefactor/rambda/pull/622) - Handle list as falsy value in `R.reduce` - [Ramda MR](https://github.com/ramda/ramda/pull/2997/files) - `R.nop` is removed - it will be moved to `Rambdax` as `R.noop` - `R.includes` is no longer using string literal in TypeScript definitions > Reason for breaking change - synchronize with Ramda `0.29.0` release: - change order of `R.propEq` - [Ramda MR](https://github.com/ramda/ramda/pull/2938/files) 7.5.0 - IMPORTANT: Remove `export` property in `package.json` in order to allow `Rambda` support for projects with `"type": "module"` in `package.json` - [Issue #667](https://github.com/selfrefactor/rambda/issues/657) - Add `R.unnest` - [Rambdax issue 89](https://github.com/selfrefactor/rambdax/issues/89) - `R.uniq` is not using `R.equals` as Ramda does - [Issue #88](https://github.com/selfrefactor/rambdax/issues/88) - Fix `R.path(['non','existing','path'], obj)` TS definition as 7.4.0 release caused TS errors - [Issue #668](https://github.com/selfrefactor/rambda/issues/668) 7.4.0 - Synchronize with `@types/ramda` - `R.prop`, `R.path`, `R.pickAll` - Remove `esm` Rollup output due to tree-shaking issues. - Upgrade all dev dependencies. 7.3.0 - Important - changing import declaration in `package.json` in order to fix tree-shaking issue - [Issue #647](https://github.com/selfrefactor/rambda/issues/647) - Add `R.modify` - Allow multiple inputs in TypeScript versions of `R.anyPass` and `R.allPass` - [Issue #642](https://github.com/selfrefactor/rambda/issues/604) - Using wrong clone of object in `R.mergeDeepRight` - [Issue #650](https://github.com/selfrefactor/rambda/issues/650) - Missing early return in `R.where` - [Issue #648](https://github.com/selfrefactor/rambda/issues/648) - `R.allPass` doesn't accept more than 1 parameters for function predicates- [Issue #604](https://github.com/selfrefactor/rambda/issues/604) 7.2.1 - Remove bad typings of `R.propIs` which caused the library to cannot be build with TypeScript. - Drop support for `Wallaby` as per [https://github.com/wallabyjs/public/issues/3037](https://github.com/wallabyjs/public/issues/3037) 7.2.0 - Wrong `R.update` if index is `-1` - [PR #593](https://github.com/selfrefactor/rambda/pull/593) - Wrong curried typings in `R.anyPass` - [Issue #642](https://github.com/selfrefactor/rambda/issues/642) - `R.modifyPath` not exported - [Issue #640](https://github.com/selfrefactor/rambda/issues/640) - Add new method `R.uniqBy`. Implementation is coming from [Ramda MR#2641](https://github.com/ramda/ramda/pull/2641) - Apply the following changes from `@types/rambda`: -- [https://github.com/DefinitelyTyped/DefinitelyTyped/commit/bab47272d52fc7bb81e85da36dbe9c905a04d067](add `AnyFunction` and `AnyConstructor`) -- Improve `R.ifElse` typings - https://github.com/DefinitelyTyped/DefinitelyTyped/pull/59291 -- Make `R.propEq` safe for `null/undefined` arguments - https://github.com/ramda/ramda/pull/2594/files 7.1.4 - `R.mergeRight` not found on `Deno` import - [Issue #633](https://github.com/selfrefactor/rambda/issues/633) 7.1.0 - Add `R.mergeRight` - introduced by Ramda's latest release. While Ramda renames `R.merge`, Rambda will keep `R.merge`. - Rambda's `pipe/compose` doesn't return proper length of composed function which leads to issue with `R.applySpec`. It was fixed by using Ramda's `pipe/compose` logic - [Issue #627](https://github.com/selfrefactor/rambda/issues/627) - Replace `Async` with `Promise` as return type of `R.type`. - Add new types as TypeScript output for `R.type` - "Map", "WeakMap", "Generator", "GeneratorFunction", "BigInt", "ArrayBuffer" - Add `R.juxt` method - Add `R.propSatisfies` method - Add new methods after `Ramda` version upgrade to `0.28.0`: -- R.count -- R.modifyPath -- R.on -- R.whereAny -- R.partialObject 7.0.3 Rambda.none has wrong logic introduced in version `7.0.0` - [Issue #625](https://github.com/selfrefactor/rambda/issues/625) 7.0.2 Rambda doesn't work with `pnpm` due to wrong export configuration - [Issue #619](https://github.com/selfrefactor/rambda/issues/619) 7.0.1 - Wrong ESM export configuration in `package.json` - [Issue #614](https://github.com/selfrefactor/rambda/issues/614) 7.0.0 - Breaking 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. Related commit in `@types/ramda` - https://github.com/DefinitelyTyped/DefinitelyTyped/commit/286eff4f76d41eb8f091e7437eabd8a60d97fc1f#diff-4f74803fa83a81e47cb17a7d8a4e46a7e451f4d9e5ce2f1bd7a70a72d91f4bc1 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**: -- R.unless -- R.toString -- R.ifElse -- R.always -- R.complement -- R.cond -- R.is -- R.sortBy -- R.dissoc -- R.toPairs -- R.assoc -- R.toLower -- R.toUpper - One more reason for the breaking 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`. - Add `R.apply`, `R.bind` and `R.unapply` - `R.startsWith/R.endsWith` now support lists as inputs. This way, it matches current Ramda behavior. - Remove unused typing for `R.chain`. - `R.map`/`R.filter` no longer accept bad inputs as iterable. This way, Rambda behaves more like Ramda, which also throws. - Make `R.lastIndexOf` follow the logic of `R.indexOf`. - Change `R.type` logic to Ramda logic. This way, `R.type` can return `Error` and `Set` as results. - Add missing logic in `R.equals` to compare sets - [Issue #599](https://github.com/selfrefactor/rambda/issues/599) - Improve list cloning - [Issue #595](https://github.com/selfrefactor/rambda/issues/595) - Handle multiple inputs with `R.allPass` and `R.anyPass` - [Issue #604](https://github.com/selfrefactor/rambda/issues/604) - Fix `R.length` wrong logic with inputs as `{length: 123}` - [Issue #606](https://github.com/selfrefactor/rambda/issues/606). - Improve non-curry typings of `R.merge` by using types from [mobily/ts-belt](https://github.com/mobily/ts-belt). - Improve performance of `R.uniqWith`. - Wrong `R.update` if index is `-1` - [PR #593](https://github.com/selfrefactor/rambda/pull/593) - Make `R.eqProps` safe for falsy inputs - based on [this opened Ramda PR](https://github.com/ramda/ramda/pull/2943). - Incorrect benchmarks for `R.pipe/R.compose` - [Issue #608](https://github.com/selfrefactor/rambda/issues/608) - Fix `R.last/R.head` typings - [Issue #609](https://github.com/selfrefactor/rambda/issues/609) 6.9.0 - Fix slow `R.uniq` methods - [Issue #581](https://github.com/selfrefactor/rambda/issues/581) Fixing `R.uniq` was done by improving `R.indexOf` which has performance implication to all methods importing `R.indexOf`: - R.includes - R.intersection - R.difference - R.excludes - R.symmetricDifference - R.union - 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. 6.8.3 - Fix TypeScript build process with `rambda/immutable` - [Issue #572](https://github.com/selfrefactor/rambda/issues/572) - Add `R.objOf` method - Add `R.mapObjIndexed` method - Publish shorter README.md version to NPM 6.8.0 - `R.has` use `Object.prototype.hasOwnProperty`- [Issue #572](https://github.com/selfrefactor/rambda/issues/572) - Expose `immutable.ts` typings which are Rambda typings with `readonly` statements - [Issue #565](https://github.com/selfrefactor/rambda/issues/565) - Fix `R.intersection` wrong order compared to Ramda. - `R.path` wrong return of `null` instead of `undefined` when path value is `null` - [PR #577](https://github.com/selfrefactor/rambda/pull/577) 6.7.0 - Remove `ts-toolbelt` types from TypeScript definitions. Most affected are the following methods, which lose one of its curried definitions: 1. R.maxBy 2. R.minBy 3. R.pathEq 4. R.viewOr 5. R.when 6. R.merge 7. R.mergeDeepRight 8. R.mergeLeft 6.6.0 - Change `R.piped` typings to mimic that of `R.pipe`. Main difference is that `R.pipe` is focused on unary functions. - Fix wrong logic when `R.without` use `R.includes` while it should use array version of `R.includes`. - Use uglify plugin for UMD bundle. - Remove `dist` folder from `.gitignore` in order to fix `Deno` broken package. [Issue #570](https://github.com/selfrefactor/rambda/issues/570) - Improve `R.fromPairs` typings - [Issue #567](https://github.com/selfrefactor/rambda/issues/567) 6.5.3 - Wrong logic where `R.without` use `R.includes` while it should use the array version of `R.includes` This is Ramda bug, that Rambda also has before this release - https://github.com/ramda/ramda/issues/3086 6.5.2 - Wrong `R.defaultTo` typings - changes introduced in v6.5.0 are missing their TS equivalent. - Update dependencies 6.5.1 Fix wrong versions in changelog 6.5.0 - `R.defaultTo` no longer accepts infinite inputs, thus it follows Ramda implementation. - `R.equals` supports equality of functions. - `R.pipe` doesn't use `R.compose`. - Close [Issue #561](https://github.com/selfrefactor/rambda/issues/561) - export several internal TS interfaces and types - Close [Issue #559](https://github.com/selfrefactor/rambda/issues/559) - improve `R.propOr` typings - Add `CHANGELOG.md` file in release files list 6.4.0 - Close [Issue #560](https://github.com/selfrefactor/rambda/issues/560) - apply immutable lint to TypeScript definitions - Close [Issue #553](https://github.com/selfrefactor/rambda/issues/553) - fix problem with curried typings of `R.prop` - Fix wrong `R.last` typing - Upgrade all `rollup` related dependencies - `R.type` supports `Symbol` just like *Ramda*. - Remove file extension in `main` property in `package.json` in order to allow `experimental-modules`. See also this Ramda's PR - https://github.com/ramda/ramda/pull/2678/files - Import `R.indexBy`/`R.when`/`R.zipObj`/`R.propEq`/`R.complement` changes from recent `@types/ramda` release. - `R.tryCatch` stop supporting asynchronous functions; the previous behaviour is exported to *Rambdax* as `R.tryCatchAsync` 6.3.1 - Fix missing `Evolved` declaration in TypeScript definition 6.3.0 - Add `R.takeLastWhile` - Add `R.dropWhile` - Add `R.eqProps` - Add `R.dropLastWhile` - Add `R.dropRepeats` - Add `R.dropRepeatsWith` - Add `R.evolve` - Add typings for `R.takeWhile` when iterable is a string 6.2.0 - Add `R.props` - Add `R.zipWith` - Add `R.splitAt` - Add `R.splitWhen` - Close [Issue #547](https://github.com/selfrefactor/rambda/issues/547) - restore `readonly` declaration in TypeScript definitions. - `R.append`/`R.prepend` now work only with arrays just like Ramda. Previous behaviour was for them to work with both arrays and strings. - Sync `R.pluck` typings with `@types/ramda` as there was a tiny difference. 6.1.0 - Fix `R.and` wrong definition, because the function doesn't convert the result to boolean. This introduce another difference with `@types/ramda`. - Add `R.once` - Add `R.or` 6.0.1 - Fix typing of `R.reject` as it wrongly declares that with object, it pass property to predicate. 6.0.0 - Breaking change - `R.map`/`R.filter`/`R.reject`/`R.forEach`/`R.partition` doesn't pass index as second argument to the predicate, when looping over arrays. The old behaviour of *map*, *filter* and *forEach* can be found in Rambdax methods *R.mapIndexed*, *R.filterIndexed* and *R.forEachIndexed*. - Breaking change - `R.all`/`R.none`/`R.any`/`R.find`/`R.findLast`/`R.findIndex`/`R.findLastIndex` doesn't pass index as second argument to the predicate. - Change `R.assocPath` typings so the user can explicitly sets type of the new object - Typings of `R.assoc` match its `@types/ramda` counterpart. - Simplify `R.forEach` typings - Remove `ReadonlyArray<T>` pattern from TypeScript definitions - not enough value for the noise it adds. 5.13.1 - Fix wrong `R.takeWhile` 5.13.0 - Add `R.takeWhile` method - Fix `R.lensPath` issue when using string as path input. The issue was introduced when fixing [Issue #524](https://github.com/selfrefactor/rambda/issues/524) in the previous release. 5.12.1 - Close [Issue #524](https://github.com/selfrefactor/rambda/issues/524) - wrong `R.assocPath` when path includes numbers - `R.includes` throws on wrong input, i.e. `R.includes(1, null)` 5.12.0 - Add `R.move` method - Add `R.union` method - Close [Issue #519](https://github.com/selfrefactor/rambda/issues/519) - `ts-toolbelt` needs other type of export with `--isolatedModules` flag - Change `R.when` implementation and typings to match those of `Ramda` - `R.over` and `R.set` use `R.curry` instead of manual currying - `R.lensPath` typings support string as path, i.e. `'a.b'` instead of `['a', 'b']` - `R.equals` now supports negative zero just like `Ramda.equals` - `R.replace` uses `R.curry` 5.11.0 Forgot to export `R.of` because of wrong marker in `files/index.d.ts` 5.10.0 Close [Issue #514](https://github.com/selfrefactor/rambda/issues/514) - wrong `R.length` with empty string Close [Issue #511](https://github.com/selfrefactor/rambda/issues/511) - error in `ts-toolbelt` library Close [Issue #510](https://github.com/selfrefactor/rambda/issues/510) - `R.clamp` should throw if min argument is greater than max argument - [PR #508](https://github.com/selfrefactor/rambda/pull/508) - add `R.of` - Definition of `R.curry` are not same as those of `@types/ramda` - Definitions of `R.either` is same as that of `R.both` - Definitions of `R.ifElse` no longer use `any` type - Definition of `R.flatten` requires passing type for the output - Fix definition of `R.propOr`, `R.dissoc` - Fix curried definitions of `R.take`, `R.takeLast`, `R.drop` and `R.dropLast` - 5.9.0 - `R.pickAll` definition allows passing string as path to search. - `R.propEq` definition is now similar to that in `@types/ramda`. - `R.none` matches `R.all` implementation and pass index as second argument to predicate input. - `R.reduce` - drop support for object as iterable. Now it throws the same error as Ramda. Also instead of returning the initial value when iterable is `undefined`, now it throws. Add index as additional argument to the TypeScript definitions of the following methods: - R.all - R.find - R.findLast - R.findIndex - R.findLastIndex - 5.8.0 Add `R.mergeAll` Add `R.mergeDeepRight` Add `R.mergeLeft` Add `R.partition` Add `R.pathEq` Add `R.tryCatch` Add `R.unless` Add `R.whereEq` Add `R.where` - Add `R.last` typing for empty array - 5.7.0 Revert [PR #469](https://github.com/selfrefactor/rambda/pull/469) as `R.curry` was slow | Also now `R.flip` throws if arity is greater than or equal to 5 - 5.6.3 Merge several PRs of [@farwayer](https://github.com/farwayer) - [PR #482](https://github.com/selfrefactor/rambda/pull/482) - improve `R.forEach` performance by not using `R.map` - [PR #485](https://github.com/selfrefactor/rambda/pull/485) - improve `R.map` performance - [PR #482](https://github.com/selfrefactor/rambda/pull/486) - improve `R.reduce` performance - Fix missing high arity typings for `R.compose/pipe` - `R.merge` definitions match those of `@types/ramda` - Remove `dist` folder from Rambda repo - 5.6.2 Close [Issue #476](https://github.com/selfrefactor/rambda/issues/476) - typesafe `R.propEq` definitions Approve [PR #477](https://github.com/selfrefactor/rambda/pull/477) - fix `R.groupWith` when list length is 1 - 5.6.1 Update `ts-toolbelt` files as now there is update pipeline for it. Approve [PR #474](https://github.com/selfrefactor/rambda/pull/474) - intruduce internal `isArray` helper - 5.6.0 Approve [PR #469](https://github.com/selfrefactor/rambda/pull/469) - R.flip supports any arity | implement `R.curry` with `R.curryN` add `R.applySpec` - 5.5.0 Close [Issue #464](https://github.com/selfrefactor/rambda/issues/464) - `R.flip` should handle functions with arity above 2 Close [Issue #468](https://github.com/selfrefactor/rambda/issues/468) - `fs-extra` should be dev dependency as it was wrongly added as production dependency in `5.2.0` `R.flip` typings now match `@types/ramda` typings Add `R.hasPath` method Add `R.mathMod` typings - 5.4.3 Fix `R.omit` typings - 5.4.2 Fix `R.pick` typings > Close [Issue #460](https://github.com/selfrefactor/rambda/issues/460) - `R.paths` should be curried - 5.4.1 > Close [Issue #458](https://github.com/selfrefactor/rambda/issues/458) - wrong `R.propIs` typing - 5.4.0 > Close [Issue #408](https://github.com/selfrefactor/rambda/issues/408) - add `R.chain` - 5.3.0 > Close [Issue #430](https://github.com/selfrefactor/rambda/issues/430) - add `R.when` Also restore `R.converge`, `R.findLast`, `R.findLastIndex` and `R.curryN` as I have forgotten to export them when releasing `5.2.0`. - 5.2.1 Fix TypeScript comment for every method - 5.2.0 Release new documentation site `Ramda` repo now holds all `Rambdax` methods and tests - 5.1.1 Add `R.converge` and `R.curryN` from [PR #412](https://github.com/selfrefactor/rambda/pull/412) Close [Issue #410](https://github.com/selfrefactor/rambda/issues/410) - wrong implementation of `R.groupWith` Close [Issue #411](https://github.com/selfrefactor/rambda/issues/411) - change the order of declared `R.map` typings rules - 5.0.0 Move `R.partialCurry` to Rambdax(reason for major bump). Use new type of export in TypeScript definitions. Approve [PR #381](https://github.com/selfrefactor/rambda/pull/381) - add `R.applySpec` - 4.6.0 Approve [PR #375](https://github.com/selfrefactor/rambda/pull/375) - add lenses(Thank you [@synthet1c](https://github.com/synthet1c)) Add `R.lens` Add `R.lensIndex` Add `R.lensPath` Add `R.lensProp` Add `R.over` Add `R.set` Add `R.view` > Sync with Ramda 0.27 Add `R.paths` Add `R.xor` > Close [Issue #373](https://github.com/selfrefactor/rambda/issues/373) Add `R.cond` - 4.5.0 Add `R.clamp` - 4.4.2 Improve `R.propOr` typings - 4.4.1 Make `R.reject` has the same typing as `R.filter` - 4.4.0 Several changes: Close [Issue #317](https://github.com/selfrefactor/rambda/issues/317) - add `R.transpose` Close [Issue #325](https://github.com/selfrefactor/rambda/issues/325) - `R.filter` should return equal values for bad inputs `null` and `undefined` Approve suggestion for `R.indexBy` to accept string not only function as first argument. Edit of `R.path` typings - 4.2.0 Approve [PR #314](https://github.com/selfrefactor/rambda/pull/314) - add `R.and` - 4.1.1 Add missing typings for `R.slice` - 4.1.0 Add `R.findLast` and `R.findLastIndex` - 4.0.2 Fix `R.isEmpty` wrong behaviour compared to the Ramda method - 4.0.1 Approve [PR #289](https://github.com/selfrefactor/rambda/pull/289) - remove console.log in `R.values` method - 4.0.0 Multiple breaking changes as Rambda methods are changed in order to increase the similarity between with Ramda Add to `Differences`: ```text R.type can return 'NaN' R.compose doesn't pass `this` context R.clone doesn't work with number, booleans and strings as input ``` All breaking changes: -- R.add works only with numbers -- Fix R.adjust which had wrong order of arguments -- R.adjust works when index is out of bounds -- R.complement support function with multiple arguments -- R.compose/pipe throws when called with no argument -- R.clone works with `Date` value as input -- R.drop/dropLast/take/takeLast always return new copy of the list/string -- R.take/takeLast return original list/string with negative index -- R.equals handles `NaN` and `RegExp` types -- R.type/R.equals supports `new Boolean/new Number/new Date/new String` expressions -- R.has works with non-object -- R.ifElse pass all arguments -- R.length works with bad input -- R.propEq work with bad input for object argument -- R.range work with bad inputs -- R.times work with bad inputs -- R.reverse works with strings -- R.splitEvery throws on non-positive integer index -- R.test throws just like Ramda when first argument is not regex -- R.values works with bad inputs -- R.zipObj ignores extra keys - 3.3.0 This is pre `4.0.0` release and it contains all of the above changes Close [issue #287](https://github.com/selfrefactor/rambda/issues/287) - `ts-toolbelt` directory was changed but not reflected in `files` property in `package.json` - 3.2.5 Close [issue #273](https://github.com/selfrefactor/rambda/issues/273) - ts-toolbelt needs other type of export when `isolatedModules` TypeScript property Close [issue #245](https://github.com/selfrefactor/rambda/issues/245) - complete typings tests for methods that have more specific TypeScript definitions - 3.2.1 Fast fix for [issue #273](https://github.com/selfrefactor/rambda/issues/273) - messed up typings - 3.2.0 There are several changes: Close [issue #263](https://github.com/selfrefactor/rambda/issues/263) - broken curry typing solved by `ts-toolbelt` local dependency. Add `R.partialCurry` typings. Approve [PR #266](https://github.com/selfrefactor/rambda/pull/266) that adds `R.slice` method. - 3.1.0 This might be breaking change for TypeScript users, as very different definitions are introduced. With the previous state of the definitions, it was not possible to pass `dtslint` typings tests. - `R.either` and `R.both` supports multiple arguments as they should. - Several methods added by [@squidfunk](https://github.com/squidfunk) - `R.assocPath`, `R.symmetricDifference`, `R.intersperse`, `R.intersection` and `R.difference` - 3.0.1 Close [issue #234](https://github.com/selfrefactor/rambda/issues/234) - wrong curry typing - 3.0.0 Deprecate `R.contains`, while `R.includes` is now following Ramda API(it uses `R.equals` for comparision) - 2.14.5 `R.without` needs currying - 2.14.4 Close [issue #227](https://github.com/selfrefactor/rambda/issues/227) - add index as third argument of `R.reduce` typings - 2.14.2 Use `R.curry` with `R.reduce` as manual curry there didn't work as expected. - 2.14.1 Fix wrong typescript with `R.head` - [PR #228](https://github.com/selfrefactor/rambda/pull/228) pushed by [@tonivj5](https://github.com/tonivj5) - 2.14.0 Add `R.groupWith` by @selfrefactor | Add `R.propOr`, `R.mathMod`, `R.mean`, `R.median`, `R.negate`, `R.product` by [@ku8ar](https://github.com/ku8ar) - 2.13.0 Add `R.identical` - [PR #217](https://github.com/selfrefactor/rambda/pull/217) pushed by [@ku8ar](https://github.com/ku8ar) - 2.12.0 Add `R.propIs` - [PR #213](https://github.com/selfrefactor/rambda/pull/213) and add `R.sum` - [issue #207](https://github.com/selfrefactor/rambda/issues/207) - 2.11.2 Close Rambdax [issue #32](https://github.com/selfrefactor/rambdax/issues/32) - wrong `R.type` when function is input - 2.11.1 Approve [PR #182](https://github.com/selfrefactor/rambda/pull/182) - Changed typings to allow object as input to `R.forEach` and `R.map` - 2.11.0 Approve [PR #179](https://github.com/selfrefactor/rambda/pull/179) - `R.adjust` handles negative index; `R.all` doesn't need `R.filter` - 2.10.2 Close [issue #175](https://github.com/selfrefactor/rambda/issues/175) - missing typescript file - 2.10.0 Approve huge and important [PR #171](https://github.com/selfrefactor/rambda/pull/171) submitted by [@helmuthdu](https://github.com/helmuthdu) - Add comments to each method, improve TypeScript support - 2.9.0 `R.toPairs` and `R.fromPairs` - 2.8.0 Approve [PR #165](https://github.com/selfrefactor/rambda/pull/165) `R.clone` - 2.7.1 expose `src` | Discussed at [issue #147](https://github.com/selfrefactor/rambda/issues/147) - 2.7.0 Approve [PR #161](https://github.com/selfrefactor/rambda/pull/161) `R.isEmpty` - 2.6.0 `R.map`, `R.filter` and `R.forEach` pass original object to iterator as third argument | Discussed at [issue #147](https://github.com/selfrefactor/rambda/issues/147) - 2.5.0 Close [issue #149](https://github.com/selfrefactor/rambda/issues/149) Add `R.partial` | `R.type` handles `NaN` - 2.4.0 Major bump of `Rollup`; Stop building for ES5 - 2.3.1 Close [issue #90](https://github.com/selfrefactor/rambda/issues/90) | Add string type of path in `R.pathOr` - 2.3.0 Close [issue #89](https://github.com/selfrefactor/rambda/issues/89) | Fix missing `Number` TS definition in `R.type` - 2.2.0 `R.defaultTo` accepts indefinite number of input arguments. So the following is valid expression: `const x = defaultTo('foo',null, null, 'bar')` - 2.1.0 Restore `R.zip` using [WatermelonDB](https://github.com/Nozbe/WatermelonDB/) implementation. - 2.0.0 Major version caused by removing of `R.zip` and `R.addIndex`. [Issue #85](https://github.com/selfrefactor/rambda/issues/85) rightfully finds that the implementation of `R.addIndex` is not correct. This led to removing this method and also of `R.zip` as it had depended on it. The second change is that `R.map`, `R.filter` are passing array index as second argument when looping over arrays. The third change is that `R.includes` will return `false` if input is neigher `string` nor `array`. The previous behaviour was to throw an error. The last change is to increase the number of methods that are passing index as second argument to the predicate function. - 1.2.6 Use `src` folder instead of `modules` - 1.2.5 Fix `omit` typing - 1.2.4 Add missing TypeScript definitions - [PR#82](https://github.com/selfrefactor/rambda/pull/82) - 1.2.2 Change curry method used across most of library methods - 1.2.1 Add `R.assoc` | fix passing `undefined` to `R.map` and `R.merge` [issue #77](https://github.com/selfrefactor/rambda/issues/77) - 1.2.0 Add `R.min`, `R.minBy`, `R.max`, `R.maxBy`, `R.nth` and `R.keys` - 1.1.5 Close [issue #74](https://github.com/selfrefactor/rambda/issues/74) `R.zipObj` - 1.1.4 Close [issue #71](https://github.com/selfrefactor/rambda/issues/71) CRA fail to build `rambda` - 1.1.3 Approve [PR #70](https://github.com/selfrefactor/rambda/pull/67) implement `R.groupBy` | Close [issue #69](https://github.com/selfrefactor/rambda/issues/69) - 1.1.2 Approve [PR #67](https://github.com/selfrefactor/rambda/pull/67) use `babel-plugin-annotate-pure-calls` - 1.1.1 Approve [PR #66](https://github.com/selfrefactor/rambda/pull/66) `R.zip` - 1.1.0 `R.compose` accepts more than one input argument [issue #65](https://github.com/selfrefactor/rambda/issues/65) - 1.0.13 Approve [PR #64](https://github.com/selfrefactor/rambda/pull/64) `R.indexOf` - 1.0.12 Close [issue #61](https://github.com/selfrefactor/rambda/issues/61) make all functions modules - 1.0.11 Close [issue #60](https://github.com/selfrefactor/rambda/issues/60) problem with babelrc - 1.0.10 Close [issue #59](https://github.com/selfrefactor/rambda/issues/59) add R.dissoc - 1.0.9 Close [issue #58](https://github.com/selfrefactor/rambda/issues/58) - Incorrect `R.equals` - 1.0.8 `R.map` and `R.filter` pass object properties when mapping over objects - 1.0.7 Add `R.uniqWith` - 1.0.6 Close [issue #52](https://github.com/selfrefactor/rambda/issues/52) - ES5 compatible code - 1.0.5 Close [issue #51](https://github.com/selfrefactor/rambda/issues/51) - 1.0.4 Close [issue #50](https://github.com/selfrefactor/rambda/issues/50) - add `R.pipe` typings - 1.0.3 `R.ifElse` accept also boolean as condition argument - 1.0.2 Remove `typedDefaultTo` and `typedPathOr` | Add `R.pickAll` and `R.none` - 1.0.0 Major change as build is now ES6 not ES5 compatible (Related to [issue #46](https://github.com/selfrefactor/rambda/issues/46))| Making `Rambda` fully tree-shakeable| Edit TypeScript definition - 0.9.8 Revert to ES5 compatible build - [issue #46](https://github.com/selfrefactor/rambda/issues/46) - 0.9.7 Refactor for `Rollup` tree-shake | Remove `R.padEnd` and `R.padStart` - 0.9.6 Close [issue #44](https://github.com/selfrefactor/rambda/issues/44) - `R.reverse` mutates the array - 0.9.5 Close [issue #45](https://github.com/selfrefactor/rambda/issues/45) - invalid TypeScript typings - 0.9.4 Add `R.reject` and `R.without` ([PR#41](https://github.com/selfrefactor/rambda/pull/41) [PR#42](https://github.com/selfrefactor/rambda/pull/42)) | Remove 'browser' field in `package.json` due to Webpack bug [4674](https://github.com/webpack/webpack/issues/4674) - 0.9.3 Add `R.forEach` and `R.times` - 0.9.2 Add `TypeScript` definitions - 0.9.1 Close [issue #36](https://github.com/selfrefactor/rambda/issues/36) - move current behaviour of `defaultTo` to a new method `typedDefaultTo`; make `defaultTo` follow Ramda spec; add `pathOr`; add `typedPathOr`. - 0.9.0 Add `R.pipe` [PR#35](https://github.com/selfrefactor/rambda/pull/35) - 0.8.9 Add `R.isNil` - 0.8.8 Migrate to ES modules [PR33](https://github.com/selfrefactor/rambda/pull/33) | Add R.flip to the API | R.map/filter works with objects - 0.8.7 Change `Webpack` with `Rollup` - [PR29](https://github.com/selfrefactor/rambda/pull/29) - 0.8.6 Add `R.tap` and `R.identity` - 0.8.5 Add `R.all`, `R.allPass`, `R.both`, `R.either` and `R.complement` - 0.8.4 Learning to run `yarn test` before `yarn publish` the hard way - 0.8.3 Add `R.always`, `R.T` and `R.F` - 0.8.2 Add `concat`, `padStart`, `padEnd`, `lastIndexOf`, `toString`, `reverse`, `endsWith` and `startsWith` methods - 0.8.1 Add `R.ifElse` - 0.8.0 Add `R.not`, `R.includes` | Take string as condition for `R.pick` and `R.omit` - 0.7.6 Fix incorrect implementation of `R.values` - 0.7.5 Fix incorrect implementation of `R.omit` - 0.7.4 [issue #13](https://github.com/selfrefactor/rambda/issues/13) - Fix `R.curry`, which used to return incorrectly `function` when called with more arguments - 0.7.3 Close [issue #9](https://github.com/selfrefactor/rambda/issues/9) - Compile to `es2015`; Approve [PR #10](https://github.com/selfrefactor/rambda/pull/10) - add `R.addIndex` to the API - 0.7.2 Add `Promise` support for `R.type` - 0.7.1 Close [issue #7](https://github.com/selfrefactor/rambda/issues/7) - add `R.reduce` to the API - 0.7.0 Close [issue #5](https://github.com/selfrefactor/rambda/issues/5) - change name of `curry` to `partialCurry`; add new method `curry`, which works just like Ramda's `curry` - 0.6.2 Add separate documentation site via `docsify`