reduxjs-toolkit-persist-transform-filter
TypeScript icon, indicating that this package has built-in type declarations

1.0.1 • Public • Published

reduxjs-toolkit-persist-transform-filter

npm Build Status

Filter transformator for reduxjs-toolkit-persist

Installation

  npm install reduxjs-toolkit-persist-transform-filter

Usage

import { createFilter, createBlacklistFilter } from 'reduxjs-toolkit-persist-transform-filter';

// this works too:
import createFilter, { createBlacklistFilter } from 'reduxjs-toolkit-persist-transform-filter';

// you want to store only a subset of your state of reducer one
const saveSubsetFilter = createFilter(
  'myReducerOne',
  ['keyYouWantToSave1', 'keyYouWantToSave2']
);

// you want to remove some keys before you save
const saveSubsetBlacklistFilter = createBlacklistFilter(
  'myReducerTwo',
  ['keyYouDontWantToSave1', 'keyYouDontWantToSave2']
);

// you want to load only a subset of your state of reducer three
const loadSubsetFilter = createFilter(
  'myReducerThree',
  null,
  ['keyYouWantToLoad1', 'keyYouWantToLoad2']
);

// saving a subset and loading a different subset is possible
// but doesn't make much sense because you'd load an empty state
const saveAndloadSubsetFilter = createFilter(
  'myReducerFour',
  ['one', 'two']
  ['three', 'four']
);

const predicateFilter = persistFilter(
	'form',
	[
		{ path: 'one', filterFunction: (item: any): boolean => item.mustBeStored },
		{ path: 'two', filterFunction: (item: any): boolean => item.mustBeStored },
	],
	'whitelist'
)

const normalPathFilter = persistFilter(
	'form',
	['one', 'two'],
	'whitelist'
)

const persistConfig = ;

const persistedReducer = persistReducer(
  {
    key: "suffix",
    ... // another config options
    transforms: [
      saveSubsetFilter,
      saveSubsetBlacklistFilter,
      loadSubsetFilter,
      saveAndloadSubsetFilter,
    ],
  },
  rootReducer, // your reducer object root
);

Example project

git clone https://github.com/sunertech/reduxjs-toolkit-persist-transform-filter-example.git
cd reduxjs-toolkit-persist-transform-filter-example
npm install
npm start

Package Sidebar

Install

npm i reduxjs-toolkit-persist-transform-filter

Weekly Downloads

7

Version

1.0.1

License

MIT

Unpacked Size

16.5 kB

Total Files

7

Last publish

Collaborators

  • mazinsw