@rematch/select
Version:
Selectors plugin for Rematch
3 lines (2 loc) • 1.77 kB
JavaScript
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("reselect")):"function"==typeof define&&define.amd?define(["exports","reselect"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["@rematch/select"]={},e.reselect)}(this,(function(e,t){"use strict";Object.defineProperty(e,"createSelector",{enumerable:!0,get:function(){return t.createSelector}}),Object.defineProperty(e,"createStructuredSelector",{enumerable:!0,get:function(){return t.createStructuredSelector}}),e.default=function(e){void 0===e&&(e={});var n,r,c=e.sliceState||function(e,t){return e[t.name||""]},o=e.selectorCreator||t.createSelector,u=function(e){return function(t){var n=this;return o((function(e){return e}),(function(r){return e.call(n,t,r)}))}},i=(n=!1,r=new Set,{add:function(e){e.forEach(n?function(e){return e()}:function(e){return r.add(e)})},finish:function(e){r.delete(e)},startBuilding:function(){n=!0,r.forEach((function(e){return e()}))}}),f=function e(n,r){void 0===r&&(r=t.createStructuredSelector);var c=function(t,o){return(c=r(n(e)))(t,o)};return function(e,t){return c(e,t)}};return{exposed:{select:f,sliceState:c,selectorCreator:o},onModel:function(e){f[e.name]={};var t="function"==typeof e.selectors?e.selectors(function(e){return function(t){return"function"==typeof t?o((function(t){return c(t,e)}),t):c(t,e)}}(e),o,u):e.selectors;i.add(Object.keys(t||{}).map((function(n){var r=function r(){return i.finish(r),delete f[e.name][n],f[e.name][n]=t[n].call(f[e.name],f)};return Object.defineProperty(f[e.name],n,{configurable:!0,get:function(){return r()}}),r})))},onStoreCreated:function(e){i.startBuilding(),e.select=f}}},Object.defineProperty(e,"__esModule",{value:!0})}));
//# sourceMappingURL=select.umd.production.min.js.map