UNPKG

rambdax

Version:

Extended version of Rambda - a lightweight, faster alternative to Ramda

475 lines (258 loc) 12 kB
7.2.0 - Approve [PR #61](https://github.com/selfrefactor/rambda/pull/61) - fix wrong `R.isValid` typings - R.produceAsync returns promise even if all rules are synchronous. - `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 - Add `CHANGELOG.md` file in release files list 7.1.0 - Add `R.tryCatchAsync` - Add `R.xnor` - `R.equals` supports equality of functions. - Close [Issue #559](https://github.com/selfrefactor/rambda/issues/559) - improve `R.propOr` typings - 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` 7.0.1 - Fix missing `Evolved` declaration in Typescript definition 7.0.0 - Rename `R.produce` to `R.produceAsync` - Add `R.produce` which is synchronous version of `R.produceAsync` - Stop supporting expression inside template's props. Also, spaces are no longer allowed between `{{` and `}}`, i.e. `R.interpolate('{{ foo }}', x)` should be `R.interpolate('{{foo}}', x)`. - Add typings for `R.takeWhile` when iterable is a string - Add `R.takeLastWhile` - Add `R.dropWhile` - Add `R.eqProps` - Add `R.dropLastWhile` - Add `R.dropRepeats` - Add `R.dropRepeatsWith` - Add `R.evolve` 6.2.0 - `R.switcher` accepts `undefined` as valid input - 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 Rambda 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 - Add `R.mapIndexed` - Add `R.filterIndexed` - Add `R.forEachIndexed` - 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.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*(introduced in version `6.1.0`). - 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. - Add `R.applyDiff` method - 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. - Fix typing of `R.reject` as it wrongly declares that with object, it pass property to predicate. 5.1.0 - Add `R.takeUntil` method - Fix wrong `R.takeWhile` 5.0.0 - Deprecate `R.change` method - it does too much; partially replaced with `R.updateObject`. - Deprecate `R.compact` method - vague use case; `R.filter` does the same job. - `R.produce` always returns a promise - Add `R.updateObject` method - Add `R.takeWhile` method - Add `R.viewOr` method - Add `R.pipeAsync` method - Add `R.removeIndex` method - Add `R.excludes` method - `R.includes` throws on wrong input, i.e. `R.includes(1, null)` - Close [Issue #524](https://github.com/selfrefactor/rambda/issues/524) - `R.assocPath` wrong logic when number is used in array path input. - `R.mapToObjectAsync` supports currying - `R.mapAsyncLimit` supports currying - Fix `R.mapAsync` to pass property to iterator, when input is an object. - Fix currying for several async methods - `R.tapAsync`, `R.produce`, `R.filterAsync` *(extend typings) 4.2.0 - Add `R.move` method - Add `R.union` method - Add `R.lensSatisfies` method - Add `R.mapKeys` method - Add `R.sortByPath` method - Add `R.sortByProps` method - Close [Issue #519](https://github.com/selfrefactor/rambda/issues/519) - `ts-toolbelt` needs other type of export with `--isolatedModules` flag 4.1.0 - `R.template` is renamed to `R.interpolate` - `R.equals` now supports negative zero just like `Ramda.equals` - Add `R.replaceAll` method - Add `R.lensEq` method 4.0.1 Forgot to export `R.of` because of wrong marker in `files/index.d.ts` 4.0.0 Deprecate the following methods: - `R.promiseAllObject` - because `R.produce` serves the same purpose - `R.composed` - because `R.piped` makes more sense, when we want to pass the input at the start of the function - `R.defaultToStrict` - confusing logic - `R.findInObject` - overestimated importance - `R.headObject` - overestimated importance - `R.includesType` - overestimated importance - `R.inject` - confusing logic - `R.isAttach` - confusing logic - `R.mergeRight` - overestimated importance - `R.opposite` - overestimated importance - `R.otherwise` - overestimated importance - `R.pushUniq` - overestimated importance - `R.resolve` - overestimated importance - `R.s` - overestimated importance - `R.toggle` - overestimated importance - `R.uuid` - not suitable - `R.whenAsync` - overestimated importance Move the following methods to `Rambda` and change their logic to match `Ramda` implementation: - `R.hasPath` - `R.unless` - `R.pathEq` - `R.tryCatch` - `R.where` - `R.whereEq` Also these changes: - `R.flatMap` - renamed to `R.chain` and moved to `Rambda` - `R.ifElseAsync` - accept any number of arguments for the returned function - `R.produce`, `R.filterAsync`, `R.debounce`, `R.throttle` - fix typings - `R.mapAsyncLimit` - drop support for curring and therefore for usage with `R.composeAsync` - Improve `R.ok` throwed error message - `R.ok` returns `undefined` instead of `true` when validation passes. - `R.mergeDeep` is renamed to `R.mergeDeepLeft` - Add `R.pipeAsync` - Take `R.partialCurry` from `Rambda` as it is deprecated there 3.7.0 > Sync with Rambda Add `R.lens` Add `R.lensIndex` Add `R.lensPath` Add `R.lensProp` Add `R.over` Add `R.set` Add `R.view` Add `R.paths` Add `R.xor` Add `R.cond` 3.6.0 - Add `R.mapAsyncLimit` - Add `R.toggle`, match Ramda upcoming method specification - Add `R.isValidAsync` - Extend `R.template` without introducing breaking change 3.5.0 Sync with `Rambda` - add methods descriptions to Typescript definitions 3.4.0 Sync with `Rambda` and close [Issue #42](https://github.com/selfrefactor/rambdax/pull/42) 3.3.0 Fix `R.sortObject` typing 3.3.0 Add `R.filterAsync` and `R.sortObject` methods 3.2.0 `R.uuid` accept second argument in order to return string only uuid 3.1.0 Dynamic set of exports lead to adding previously ommited Rambda exports such as `R.identical` 3.0.3 Sync with Rambda - new functionality of `R.isEmpty` 3.0.2 Add typings for `R.mapToObject` 3.0.1 Fix typings 3.0.0 Breaking change as `Rambda` also has breaking changes Read more about it in `Rambda` changelog Also with this versions, typings tests are provided and several definitions are changed. - R.anyTrue, R.anyFalse, R.allTrue, R.allFalse use internal `isTruthy` and `isFalsy` methods. Empty array and object with zero length are considered falsy. - Deprecate `R.contains` - Deprecate `R.defaultToWhen` - Moved `R.runTests` to `helpers` repo 2.17.0 Change in `R.runTests` logic. It will be removed from Rambdax to `helpers` repo. 2.16.0 Restore `R.runTests` but without documentation - export `getEvaluations`, `getPositiveEvaluation`, `getNegativeEvaluation` in the context of `R.runTests` 2.15.0 Several changes - Typescript definitions have been updated and typings tests are introduced - `R.mapAsync` and `R.mapFastAsync` pass index as second argument 2.14.1 Restore `R.contains` 2.14.0 Several changes: - `R.inject` accept before flag as fourth argument - Remove `R.includesAny` - Improve typing of `R.partition` - `R.nextIndex` and `R.prevIndex` work also with number as second argument 2.13.1 Deprecate `R.log` and `R.runTests` 2.12.3 Add 'dist' directory to `files` 2.12.2 Add `R.mapToObject` typings 2.12.0 Sync with Rambda 2.11.1 Fix `R.waitFor` 2.11.0 Add `R.toDecimal` 2.10.2 Fix [issue 32](https://github.com/selfrefactor/rambdax/issues/32) 2.10.0 deprecate `R._` 2.9.1 R.fromPairs/toPairs typing 2.9.0 npm doesn't update version on their site 2.8.2 R.map typing 2.8.0 Sync with Rambda | no need for create types script 2.7.0 Add `R.prevIndex` 2.6.2 Sync with Rambda 2.6.0 `R.log` depends on `RAMBDAX_LOG` 2.5.0 Rambda's `partial` 2.4.0 Add `R.uuid` 2.3.0 `R._` parse to constant case > This introduce breaking change for ie11 as noted in [issue 31](https://github.com/selfrefactor/rambdax/issues/31) which is fixed with `2.10.0` which deprecates this method 2.2.1 Add `R.log`, `R.logInit` and `R.logHolder` 2.1.0 Add `R._` 2.0.0 Add `R.toggle` 1.9.0 Add `R.pushUniq` 1.8.2 No need for sourcemaps 1.8.1 Fix building with `regeneratorRuntime` 1.8.0 Upgrade to new major Rollup release - Restore `R.headObject` - Add `R.hasPath` method 1.7.2 `R.memoize` contains dev console.logs 1.7.1 Forgot to build types 1.7.0 Rename `R.then` to `R.resolve` because of Ramda issue with `R.then`(they rename it to `R.andThen`) - Add `R.isFalsy`, `R.nextIndex` and `R.mergeDeep` 1.6.3 Forgot to export `R.unless`(credit to @mobily for the PR) 1.6.0 Restore `R.compact` method 1.5.6 `R.maybe` accepts also anonymous functions as second and third argument 1.5.5 Add `R.maybe` method - Fix errors caugth by `DeepScan` service - Fix Typescript definitions for `R.then` and `R.otherwise` - `R.change` increase nesting level to 4 1.4.1 `R.isValid` didn't work with `Number` prototype 1.4.0 Add multiple methods - Add `R.defaultToStrict` - Add `R.defaultToWhen` - Add `R.whereEq` - Add `R.partition` - Add `R.negate` is renamed to `R.opposite` - Add `R.then` - Add `R.otherwise` - `R.isValid` accepts prototypes as rules, i.e. `schema = {a: String}` - The prevoious point leads to the same change applied to the methods depending on `R.isValid`, i.e. `R.ok`, `R.pass` and `R.isAttach` 1.3.0 Add `R.unless` - `R.when` accepts both function and value for `whenTrue` argument. The same is valid for `R.unless` - export `R.negate` which is the same as `R.complement` 1.2.0 Export `src` folder 1.1.0 Restore `promiseAllObject` and `flatMap` 1.0.1 Fix typings 1.0.0 Deprecate the following methods: - compact - evolve - flatMap - greater - intersection - less - omitBy - pickBy - promiseAllObject - promiseAllSecure - rangeBy > Also pass deprecation of `addIndex` from `Rambda@2.0.0` 0.24.0 add `R.pipedAsync`, replace `R.multiline` with `R.glue`, remove `R.validate` 0.23.0 Add `R.count` 0.22.0 Add `R.includesAny` 0.21.0 Add `R.includesType` 0.20.1 `R.pass` and `R.ok` work with single schema. 0.20.0 Add `R.pathEq` 0.19.0 Add `R.wait`, expose already complete `R.waitFor` 0.18.0 Add`R.anyType` and `R.allType` 0.17.0 Rename `R.is` to `R.pass` and restore `R.is` original functionality. 0.16.0 getter, setter, reset methods 0.15.3 No more `prepublish` script 0.15.2 curry in `remove` > Last version with `lib` folder exposed