{"repo":"selfrefactor/rambda","free":true,"listed":false,"github":"https://github.com/selfrefactor/rambda","clone":"git clone https://github.com/selfrefactor/rambda.git","description":"Typescript focused FP library similar to Remeda and Ramda","language":"JavaScript","stars":1755,"topics":["fp","ramda","lodash","utils","functional-programming","typescript","functions","functional","utility"],"license":"MIT","category":"docs-static-sites","readme_excerpt":"Rambda Rambda is TypeScript-focused utility library similar to Remeda , Ramda and Radashi . - Documentation site ❯ Example use You can test this example in Rambda's REPL API Changelog ❯ Rambda's features ❯ Goals Typescript focus Mixing Functional Programming and TypeScript is not easy. One way to solve this is to focus what can be actually achieved and refrain from what is not possible. R.pipe as the main way to use Rambda - All methods are meant to be used as part of R.pipe chain - This is the main purpose of functional programming, i.e. to pass data through a chain of functions. - Having R.pipe(input, ...fns) helps TypeScript to infer the types of the input and the output. Here is one example why R.pipe is better than Ramda.pipe : :exclamation: IMPORTANT - all methods are tested to deliver correct types when they are part of R.pipe/R.pipeAsync chains. In other words: might trigger TS error as it not the same as :exclamation: All methods are curried There is one way to use Rambda methods and it is with currying, i.e. using R.filter(fn, list) will not work as it is inteded to be R.filter(fn)(list) . The reason is that all methods are supposed to be used inside R.pipe . After all, building chains is the very base of functional programming. Of course, there is value in supporting the case where you can pass all inputs at once, but I find that the price in terms of maintainability is not worth it. Keep only the most useful methods The idea is to give TypeScript users only the mo","default_branch":null,"files":null,"tree":[],"storefront":"/r/selfrefactor","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/selfrefactor/rambda/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}