Skip to content

sgrishchenko/reselect-utils

Repository files navigation

build status coverage status npm version github license

Install

Install from the NPM repository using yarn or npm:

yarn add reselect-utils
npm install reselect-utils

Motivation

Such projects as Reselect and Re-reselect try to solve the task of memoization. But there is no standard solutions for some applied problems. This library was created to try to systematically solve the following problems:

  • Work with optional objects as a source for selection.
  • Binding parametric selectors to specific property values.
  • Adaptation of parametric selectors to the new parameter interface (useful for creating parametric structured selectors).
  • Using selection results as parameters for a new selection.
  • Calculating the aggregate value from a collection of selector results.
  • Structuring of selection results (more proper typed version of structured selector and cached structured selector).
  • Implementation of key selectors composition (useful for key selector creator usages).

Credits

Reselect Utils is inspired by projects such as Reselect, Re-reselect and ts-optchain. Also functional programming principles are used for design of this library. For example, Chain Selector was inspired by Monad Pattern.