'use strict'; var immer$1 = require('immer'); var immerImpl = function immerImpl(initializer) { return function (set, get, store) { store.setState = function (updater, replace) { var nextState = typeof updater === 'function' ? immer$1.produce(updater) : updater; for (var _len = arguments.length, a = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) { a[_key - 2] = arguments[_key]; } return set.apply(void 0, [nextState, replace].concat(a)); }; return initializer(store.setState, get, store); }; }; var immer = immerImpl; exports.immer = immer;