UNPKG

@rematch/immer

Version:

Redux-Immer v6 plugin for Rematch. Provides immutable ability for rematch.

26 lines (21 loc) 723 B
import produce from 'immer'; function wrapReducerWithImmer(reducer) { return function (state, payload) { if (state === undefined) return reducer(state, payload); return produce(state, function (draft) { return reducer(draft, payload); }); }; } var immerPlugin = function immerPlugin(config) { return { onReducer: function onReducer(reducer, model) { if (!config || !config.whitelist && !config.blacklist || config.whitelist && config.whitelist.includes(model) || config.blacklist && !config.blacklist.includes(model)) { return wrapReducerWithImmer(reducer); } return undefined; } }; }; export { immerPlugin as default }; //# sourceMappingURL=immer.esm.js.map