Socket
Socket
Sign inDemoInstall

@rematch/core

Package Overview
Dependencies
1
Maintainers
3
Versions
76
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 2.1.1 to 2.2.0

25

dist/core.cjs.development.js

@@ -46,2 +46,4 @@ 'use strict';

function createReduxStore(bag) {
var _bag$reduxConfig;
bag.models.forEach(function (model) {

@@ -52,3 +54,3 @@ return createModelReducer(bag, model);

var middlewares = Redux__namespace.applyMiddleware.apply(Redux__namespace, bag.reduxConfig.middlewares);
var enhancers = composeEnhancersWithDevtools(bag.reduxConfig.devtoolOptions).apply(void 0, bag.reduxConfig.enhancers.concat([middlewares]));
var enhancers = bag.reduxConfig.devtoolComposer ? (_bag$reduxConfig = bag.reduxConfig).devtoolComposer.apply(_bag$reduxConfig, bag.reduxConfig.enhancers.concat([middlewares])) : composeEnhancersWithDevtools(bag.reduxConfig.devtoolOptions).apply(void 0, bag.reduxConfig.enhancers.concat([middlewares]));
var createStore = bag.reduxConfig.createStore || Redux__namespace.createStore;

@@ -211,3 +213,3 @@ var bagInitialState = bag.reduxConfig.initialState;

var createDispatcher = function createDispatcher(rematch, bag, model) {
var createReducerDispatcher = function createReducerDispatcher(rematch, model) {
var modelDispatcher = rematch.dispatch[model.name];

@@ -219,2 +221,5 @@ var modelReducersKeys = Object.keys(model.reducers);

});
};
var createEffectDispatcher = function createEffectDispatcher(rematch, bag, model) {
var modelDispatcher = rematch.dispatch[model.name];
var effects = {};

@@ -277,3 +282,4 @@

createModelReducer(bag, model);
prepareModel(rematchStore, bag, model);
prepareModel(rematchStore, model);
enhanceModel(rematchStore, bag, model);
reduxStore.replaceReducer(createRootReducer(bag));

@@ -288,4 +294,7 @@ reduxStore.dispatch({

bag.models.forEach(function (model) {
return prepareModel(rematchStore, bag, model);
return prepareModel(rematchStore, model);
});
bag.models.forEach(function (model) {
return enhanceModel(rematchStore, bag, model);
});
bag.forEachPlugin('onStoreCreated', function (onStoreCreated) {

@@ -312,6 +321,10 @@ rematchStore = onStoreCreated(rematchStore, bag) || rematchStore;

function prepareModel(rematchStore, bag, model) {
function prepareModel(rematchStore, model) {
var modelDispatcher = {};
rematchStore.dispatch["" + model.name] = modelDispatcher;
createDispatcher(rematchStore, bag, model);
createReducerDispatcher(rematchStore, model);
}
function enhanceModel(rematchStore, bag, model) {
createEffectDispatcher(rematchStore, bag, model);
bag.forEachPlugin('onModel', function (onModel) {

@@ -318,0 +331,0 @@ onModel(model, rematchStore);

@@ -1,2 +0,2 @@

"use strict";function e(e){if(e&&e.__esModule)return e;var r=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var t=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(r,n,t.get?t:{enumerable:!0,get:function(){return e[n]}})}})),r.default=e,r}Object.defineProperty(exports,"__esModule",{value:!0});var r=e(require("redux"));function n(){return n=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var n=arguments[r];for(var t in n)Object.prototype.hasOwnProperty.call(n,t)&&(e[t]=n[t])}return e},n.apply(this,arguments)}function t(e,r){var n={};Object.keys(r.reducers).forEach((function(e){var t=function(e){return e.indexOf("/")>-1}(e)?e:r.name+"/"+e;n[t]=r.reducers[e]}));var t=function(e,t){return void 0===e&&(e=r.state),t.type in n?n[t.type](e,t.payload,t.meta):e},o=r.baseReducer,u=o?function(e,n){return void 0===e&&(e=r.state),t(o(e,n),n)}:t;e.forEachPlugin("onReducer",(function(n){u=n(u,r.name,e)||u})),e.reduxConfig.reducers[r.name]=u}function o(e){var n,t,o=e.reduxConfig.rootReducers,u=(t=(n=e.reduxConfig).combineReducers||r.combineReducers,Object.keys(n.reducers).length?t(n.reducers):function(e){return e}),c=u;return o&&Object.keys(o).length&&(c=function(e,r){var n=o[r.type];return u(n?n(e,r):e,r)}),e.forEachPlugin("onRootReducer",(function(r){c=r(c,e)||c})),c}var u=function(e,r,n,t){return Object.assign((function(t,o){var u={type:r+"/"+n};return void 0!==t&&(u.payload=t),void 0!==o&&(u.meta=o),e.dispatch(u)}),{isEffect:t})};function c(e,r,n){e.dispatch[""+n.name]={},function(e,r,n){var t=e.dispatch[n.name];Object.keys(n.reducers).forEach((function(r){t[r]=u(e,n.name,r,!1)}));var o={};n.effects&&(o="function"==typeof n.effects?n.effects(e.dispatch):n.effects),Object.keys(o).forEach((function(c){r.effects[n.name+"/"+c]=o[c].bind(t),t[c]=u(e,n.name,c,!0)}))}(e,r,n),r.forEachPlugin("onModel",(function(r){r(n,e)}))}var i=0;function d(e,r){return r?n({},r,e):e}var a=function(e){var u=function(e){var r,t,o,u=null!=(r=e.name)?r:"Rematch Store "+i;i+=1;var c={name:u,models:e.models||{},plugins:e.plugins||[],redux:n({reducers:{},rootReducers:{},enhancers:[],middlewares:[]},e.redux,{devtoolOptions:n({name:u},null!=(t=null==(o=e.redux)?void 0:o.devtoolOptions)?t:{})})};return c.plugins.forEach((function(e){e.config&&(c.models=d(c.models,e.config.models),e.config.redux&&(c.redux.initialState=d(c.redux.initialState,e.config.redux.initialState),c.redux.reducers=d(c.redux.reducers,e.config.redux.reducers),c.redux.rootReducers=d(c.redux.rootReducers,e.config.redux.reducers),c.redux.enhancers=[].concat(c.redux.enhancers,e.config.redux.enhancers||[]),c.redux.middlewares=[].concat(c.redux.middlewares,e.config.redux.middlewares||[]),c.redux.combineReducers=c.redux.combineReducers||e.config.redux.combineReducers,c.redux.createStore=c.redux.createStore||e.config.redux.createStore))})),c}(e||{});return function(e){var u=function(e){return{models:(r=e.models,Object.keys(r).map((function(e){return n({name:e,reducers:{}},r[e])}))),reduxConfig:e.redux,forEachPlugin:function(r,n){e.plugins.forEach((function(e){e[r]&&n(e[r])}))},effects:{}};var r}(e);u.reduxConfig.middlewares.push(function(e){return function(r){return function(n){return function(t){return t.type in e.effects?(n(t),e.effects[t.type](t.payload,r.getState(),t.meta)):n(t)}}}}(u)),u.forEachPlugin("createMiddleware",(function(e){u.reduxConfig.middlewares.push(e(u))}));var i,d=function(e){e.models.forEach((function(r){return t(e,r)}));var n,u=o(e),c=r.applyMiddleware.apply(r,e.reduxConfig.middlewares),i=(n=e.reduxConfig.devtoolOptions,void 0===n&&(n={}),!n.disabled&&"object"==typeof window&&window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__?window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__(n):r.compose).apply(void 0,e.reduxConfig.enhancers.concat([c])),d=e.reduxConfig.initialState;return(e.reduxConfig.createStore||r.createStore)(u,void 0===d?{}:d,i)}(u),a=n({},d,{name:e.name,addModel:function(e){t(u,e),c(a,u,e),d.replaceReducer(o(u)),d.dispatch({type:"@@redux/REPLACE"})}});return i=a,e.plugins.forEach((function(e){e.exposed&&Object.keys(e.exposed).forEach((function(r){if(e.exposed){var n=e.exposed[r];i[r]="function"==typeof n?function(){for(var e=arguments.length,r=new Array(e),t=0;t<e;t++)r[t]=arguments[t];return n.apply(void 0,[i].concat(r))}:Object.create(e.exposed[r])}}))})),u.models.forEach((function(e){return c(a,u,e)})),u.forEachPlugin("onStoreCreated",(function(e){a=e(a,u)||a})),a}(u)},f=function(){return function(e){return e}},s={init:a,createModel:f};exports.createModel=f,exports.default=s,exports.init=a;
"use strict";function e(e){if(e&&e.__esModule)return e;var r=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var t=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(r,n,t.get?t:{enumerable:!0,get:function(){return e[n]}})}})),r.default=e,r}Object.defineProperty(exports,"__esModule",{value:!0});var r=e(require("redux"));function n(){return n=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var n=arguments[r];for(var t in n)Object.prototype.hasOwnProperty.call(n,t)&&(e[t]=n[t])}return e},n.apply(this,arguments)}function t(e,r){var n={};Object.keys(r.reducers).forEach((function(e){var t=function(e){return e.indexOf("/")>-1}(e)?e:r.name+"/"+e;n[t]=r.reducers[e]}));var t=function(e,t){return void 0===e&&(e=r.state),t.type in n?n[t.type](e,t.payload,t.meta):e},o=r.baseReducer,u=o?function(e,n){return void 0===e&&(e=r.state),t(o(e,n),n)}:t;e.forEachPlugin("onReducer",(function(n){u=n(u,r.name,e)||u})),e.reduxConfig.reducers[r.name]=u}function o(e){var n,t,o=e.reduxConfig.rootReducers,u=(t=(n=e.reduxConfig).combineReducers||r.combineReducers,Object.keys(n.reducers).length?t(n.reducers):function(e){return e}),c=u;return o&&Object.keys(o).length&&(c=function(e,r){var n=o[r.type];return u(n?n(e,r):e,r)}),e.forEachPlugin("onRootReducer",(function(r){c=r(c,e)||c})),c}var u=function(e,r,n,t){return Object.assign((function(t,o){var u={type:r+"/"+n};return void 0!==t&&(u.payload=t),void 0!==o&&(u.meta=o),e.dispatch(u)}),{isEffect:t})};function c(e,r){e.dispatch[""+r.name]={},function(e,r){var n=e.dispatch[r.name];Object.keys(r.reducers).forEach((function(t){n[t]=u(e,r.name,t,!1)}))}(e,r)}function i(e,r,n){!function(e,r,n){var t=e.dispatch[n.name],o={};n.effects&&(o="function"==typeof n.effects?n.effects(e.dispatch):n.effects),Object.keys(o).forEach((function(c){r.effects[n.name+"/"+c]=o[c].bind(t),t[c]=u(e,n.name,c,!0)}))}(e,r,n),r.forEachPlugin("onModel",(function(r){r(n,e)}))}var d=0;function a(e,r){return r?n({},r,e):e}var f=function(e){var u=function(e){var r,t,o,u=null!=(r=e.name)?r:"Rematch Store "+d;d+=1;var c={name:u,models:e.models||{},plugins:e.plugins||[],redux:n({reducers:{},rootReducers:{},enhancers:[],middlewares:[]},e.redux,{devtoolOptions:n({name:u},null!=(t=null==(o=e.redux)?void 0:o.devtoolOptions)?t:{})})};return c.plugins.forEach((function(e){e.config&&(c.models=a(c.models,e.config.models),e.config.redux&&(c.redux.initialState=a(c.redux.initialState,e.config.redux.initialState),c.redux.reducers=a(c.redux.reducers,e.config.redux.reducers),c.redux.rootReducers=a(c.redux.rootReducers,e.config.redux.reducers),c.redux.enhancers=[].concat(c.redux.enhancers,e.config.redux.enhancers||[]),c.redux.middlewares=[].concat(c.redux.middlewares,e.config.redux.middlewares||[]),c.redux.combineReducers=c.redux.combineReducers||e.config.redux.combineReducers,c.redux.createStore=c.redux.createStore||e.config.redux.createStore))})),c}(e||{});return function(e){var u=function(e){return{models:(r=e.models,Object.keys(r).map((function(e){return n({name:e,reducers:{}},r[e])}))),reduxConfig:e.redux,forEachPlugin:function(r,n){e.plugins.forEach((function(e){e[r]&&n(e[r])}))},effects:{}};var r}(e);u.reduxConfig.middlewares.push(function(e){return function(r){return function(n){return function(t){return t.type in e.effects?(n(t),e.effects[t.type](t.payload,r.getState(),t.meta)):n(t)}}}}(u)),u.forEachPlugin("createMiddleware",(function(e){u.reduxConfig.middlewares.push(e(u))}));var d,a=function(e){var n;e.models.forEach((function(r){return t(e,r)}));var u,c=o(e),i=r.applyMiddleware.apply(r,e.reduxConfig.middlewares),d=e.reduxConfig.devtoolComposer?(n=e.reduxConfig).devtoolComposer.apply(n,e.reduxConfig.enhancers.concat([i])):(u=e.reduxConfig.devtoolOptions,void 0===u&&(u={}),!u.disabled&&"object"==typeof window&&window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__?window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__(u):r.compose).apply(void 0,e.reduxConfig.enhancers.concat([i])),a=e.reduxConfig.initialState;return(e.reduxConfig.createStore||r.createStore)(c,void 0===a?{}:a,d)}(u),f=n({},a,{name:e.name,addModel:function(e){t(u,e),c(f,e),i(f,u,e),a.replaceReducer(o(u)),a.dispatch({type:"@@redux/REPLACE"})}});return d=f,e.plugins.forEach((function(e){e.exposed&&Object.keys(e.exposed).forEach((function(r){if(e.exposed){var n=e.exposed[r];d[r]="function"==typeof n?function(){for(var e=arguments.length,r=new Array(e),t=0;t<e;t++)r[t]=arguments[t];return n.apply(void 0,[d].concat(r))}:Object.create(e.exposed[r])}}))})),u.models.forEach((function(e){return c(f,e)})),u.models.forEach((function(e){return i(f,u,e)})),u.forEachPlugin("onStoreCreated",(function(e){f=e(f,u)||f})),f}(u)},s=function(){return function(e){return e}},l={init:f,createModel:s};exports.createModel=s,exports.default=l,exports.init=f;
//# sourceMappingURL=core.cjs.production.min.js.map

@@ -22,2 +22,4 @@ import * as Redux from 'redux';

function createReduxStore(bag) {
var _bag$reduxConfig;
bag.models.forEach(function (model) {

@@ -28,3 +30,3 @@ return createModelReducer(bag, model);

var middlewares = Redux.applyMiddleware.apply(Redux, bag.reduxConfig.middlewares);
var enhancers = composeEnhancersWithDevtools(bag.reduxConfig.devtoolOptions).apply(void 0, bag.reduxConfig.enhancers.concat([middlewares]));
var enhancers = bag.reduxConfig.devtoolComposer ? (_bag$reduxConfig = bag.reduxConfig).devtoolComposer.apply(_bag$reduxConfig, bag.reduxConfig.enhancers.concat([middlewares])) : composeEnhancersWithDevtools(bag.reduxConfig.devtoolOptions).apply(void 0, bag.reduxConfig.enhancers.concat([middlewares]));
var createStore = bag.reduxConfig.createStore || Redux.createStore;

@@ -187,3 +189,3 @@ var bagInitialState = bag.reduxConfig.initialState;

var createDispatcher = function createDispatcher(rematch, bag, model) {
var createReducerDispatcher = function createReducerDispatcher(rematch, model) {
var modelDispatcher = rematch.dispatch[model.name];

@@ -195,2 +197,5 @@ var modelReducersKeys = Object.keys(model.reducers);

});
};
var createEffectDispatcher = function createEffectDispatcher(rematch, bag, model) {
var modelDispatcher = rematch.dispatch[model.name];
var effects = {};

@@ -253,3 +258,4 @@

createModelReducer(bag, model);
prepareModel(rematchStore, bag, model);
prepareModel(rematchStore, model);
enhanceModel(rematchStore, bag, model);
reduxStore.replaceReducer(createRootReducer(bag));

@@ -264,4 +270,7 @@ reduxStore.dispatch({

bag.models.forEach(function (model) {
return prepareModel(rematchStore, bag, model);
return prepareModel(rematchStore, model);
});
bag.models.forEach(function (model) {
return enhanceModel(rematchStore, bag, model);
});
bag.forEachPlugin('onStoreCreated', function (onStoreCreated) {

@@ -288,6 +297,10 @@ rematchStore = onStoreCreated(rematchStore, bag) || rematchStore;

function prepareModel(rematchStore, bag, model) {
function prepareModel(rematchStore, model) {
var modelDispatcher = {};
rematchStore.dispatch["" + model.name] = modelDispatcher;
createDispatcher(rematchStore, bag, model);
createReducerDispatcher(rematchStore, model);
}
function enhanceModel(rematchStore, bag, model) {
createEffectDispatcher(rematchStore, bag, model);
bag.forEachPlugin('onModel', function (onModel) {

@@ -294,0 +307,0 @@ onModel(model, rematchStore);

@@ -46,2 +46,4 @@ (function (global, factory) {

function createReduxStore(bag) {
var _bag$reduxConfig;
bag.models.forEach(function (model) {

@@ -52,3 +54,3 @@ return createModelReducer(bag, model);

var middlewares = Redux__namespace.applyMiddleware.apply(Redux__namespace, bag.reduxConfig.middlewares);
var enhancers = composeEnhancersWithDevtools(bag.reduxConfig.devtoolOptions).apply(void 0, bag.reduxConfig.enhancers.concat([middlewares]));
var enhancers = bag.reduxConfig.devtoolComposer ? (_bag$reduxConfig = bag.reduxConfig).devtoolComposer.apply(_bag$reduxConfig, bag.reduxConfig.enhancers.concat([middlewares])) : composeEnhancersWithDevtools(bag.reduxConfig.devtoolOptions).apply(void 0, bag.reduxConfig.enhancers.concat([middlewares]));
var createStore = bag.reduxConfig.createStore || Redux__namespace.createStore;

@@ -211,3 +213,3 @@ var bagInitialState = bag.reduxConfig.initialState;

var createDispatcher = function createDispatcher(rematch, bag, model) {
var createReducerDispatcher = function createReducerDispatcher(rematch, model) {
var modelDispatcher = rematch.dispatch[model.name];

@@ -219,2 +221,5 @@ var modelReducersKeys = Object.keys(model.reducers);

});
};
var createEffectDispatcher = function createEffectDispatcher(rematch, bag, model) {
var modelDispatcher = rematch.dispatch[model.name];
var effects = {};

@@ -277,3 +282,4 @@

createModelReducer(bag, model);
prepareModel(rematchStore, bag, model);
prepareModel(rematchStore, model);
enhanceModel(rematchStore, bag, model);
reduxStore.replaceReducer(createRootReducer(bag));

@@ -288,4 +294,7 @@ reduxStore.dispatch({

bag.models.forEach(function (model) {
return prepareModel(rematchStore, bag, model);
return prepareModel(rematchStore, model);
});
bag.models.forEach(function (model) {
return enhanceModel(rematchStore, bag, model);
});
bag.forEachPlugin('onStoreCreated', function (onStoreCreated) {

@@ -312,6 +321,10 @@ rematchStore = onStoreCreated(rematchStore, bag) || rematchStore;

function prepareModel(rematchStore, bag, model) {
function prepareModel(rematchStore, model) {
var modelDispatcher = {};
rematchStore.dispatch["" + model.name] = modelDispatcher;
createDispatcher(rematchStore, bag, model);
createReducerDispatcher(rematchStore, model);
}
function enhanceModel(rematchStore, bag, model) {
createEffectDispatcher(rematchStore, bag, model);
bag.forEachPlugin('onModel', function (onModel) {

@@ -318,0 +331,0 @@ onModel(model, rematchStore);

@@ -1,2 +0,2 @@

!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("redux")):"function"==typeof define&&define.amd?define(["exports","redux"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self)["@rematch/core"]={},e.Redux)}(this,(function(e,n){"use strict";function r(e){if(e&&e.__esModule)return e;var n=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var t=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(n,r,t.get?t:{enumerable:!0,get:function(){return e[r]}})}})),n.default=e,n}var t=r(n);function o(){return o=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var r=arguments[n];for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&(e[t]=r[t])}return e},o.apply(this,arguments)}function u(e,n){var r={};Object.keys(n.reducers).forEach((function(e){var t=function(e){return e.indexOf("/")>-1}(e)?e:n.name+"/"+e;r[t]=n.reducers[e]}));var t=function(e,t){return void 0===e&&(e=n.state),t.type in r?r[t.type](e,t.payload,t.meta):e},o=n.baseReducer,u=o?function(e,r){return void 0===e&&(e=n.state),t(o(e,r),r)}:t;e.forEachPlugin("onReducer",(function(r){u=r(u,n.name,e)||u})),e.reduxConfig.reducers[n.name]=u}function c(e){var n,r,o=e.reduxConfig.rootReducers,u=(r=(n=e.reduxConfig).combineReducers||t.combineReducers,Object.keys(n.reducers).length?r(n.reducers):function(e){return e}),c=u;return o&&Object.keys(o).length&&(c=function(e,n){var r=o[n.type];return u(r?r(e,n):e,n)}),e.forEachPlugin("onRootReducer",(function(n){c=n(c,e)||c})),c}var i=function(e,n,r,t){return Object.assign((function(t,o){var u={type:n+"/"+r};return void 0!==t&&(u.payload=t),void 0!==o&&(u.meta=o),e.dispatch(u)}),{isEffect:t})};function d(e,n,r){e.dispatch[""+r.name]={},function(e,n,r){var t=e.dispatch[r.name];Object.keys(r.reducers).forEach((function(n){t[n]=i(e,r.name,n,!1)}));var o={};r.effects&&(o="function"==typeof r.effects?r.effects(e.dispatch):r.effects),Object.keys(o).forEach((function(u){n.effects[r.name+"/"+u]=o[u].bind(t),t[u]=i(e,r.name,u,!0)}))}(e,n,r),n.forEachPlugin("onModel",(function(n){n(r,e)}))}var a=0;function f(e,n){return n?o({},n,e):e}var s=function(e){var n=function(e){var n,r,t,u=null!=(n=e.name)?n:"Rematch Store "+a;a+=1;var c={name:u,models:e.models||{},plugins:e.plugins||[],redux:o({reducers:{},rootReducers:{},enhancers:[],middlewares:[]},e.redux,{devtoolOptions:o({name:u},null!=(r=null==(t=e.redux)?void 0:t.devtoolOptions)?r:{})})};return c.plugins.forEach((function(e){e.config&&(c.models=f(c.models,e.config.models),e.config.redux&&(c.redux.initialState=f(c.redux.initialState,e.config.redux.initialState),c.redux.reducers=f(c.redux.reducers,e.config.redux.reducers),c.redux.rootReducers=f(c.redux.rootReducers,e.config.redux.reducers),c.redux.enhancers=[].concat(c.redux.enhancers,e.config.redux.enhancers||[]),c.redux.middlewares=[].concat(c.redux.middlewares,e.config.redux.middlewares||[]),c.redux.combineReducers=c.redux.combineReducers||e.config.redux.combineReducers,c.redux.createStore=c.redux.createStore||e.config.redux.createStore))})),c}(e||{});return function(e){var n=function(e){return{models:(n=e.models,Object.keys(n).map((function(e){return o({name:e,reducers:{}},n[e])}))),reduxConfig:e.redux,forEachPlugin:function(n,r){e.plugins.forEach((function(e){e[n]&&r(e[n])}))},effects:{}};var n}(e);n.reduxConfig.middlewares.push(function(e){return function(n){return function(r){return function(t){return t.type in e.effects?(r(t),e.effects[t.type](t.payload,n.getState(),t.meta)):r(t)}}}}(n)),n.forEachPlugin("createMiddleware",(function(e){n.reduxConfig.middlewares.push(e(n))}));var r,i=function(e){e.models.forEach((function(n){return u(e,n)}));var n,r=c(e),o=t.applyMiddleware.apply(t,e.reduxConfig.middlewares),i=(n=e.reduxConfig.devtoolOptions,void 0===n&&(n={}),!n.disabled&&"object"==typeof window&&window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__?window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__(n):t.compose).apply(void 0,e.reduxConfig.enhancers.concat([o])),d=e.reduxConfig.initialState;return(e.reduxConfig.createStore||t.createStore)(r,void 0===d?{}:d,i)}(n),a=o({},i,{name:e.name,addModel:function(e){u(n,e),d(a,n,e),i.replaceReducer(c(n)),i.dispatch({type:"@@redux/REPLACE"})}});return r=a,e.plugins.forEach((function(e){e.exposed&&Object.keys(e.exposed).forEach((function(n){if(e.exposed){var t=e.exposed[n];r[n]="function"==typeof t?function(){for(var e=arguments.length,n=new Array(e),o=0;o<e;o++)n[o]=arguments[o];return t.apply(void 0,[r].concat(n))}:Object.create(e.exposed[n])}}))})),n.models.forEach((function(e){return d(a,n,e)})),n.forEachPlugin("onStoreCreated",(function(e){a=e(a,n)||a})),a}(n)},l=function(){return function(e){return e}},p={init:s,createModel:l};e.createModel=l,e.default=p,e.init=s,Object.defineProperty(e,"__esModule",{value:!0})}));
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("redux")):"function"==typeof define&&define.amd?define(["exports","redux"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self)["@rematch/core"]={},e.Redux)}(this,(function(e,n){"use strict";function r(e){if(e&&e.__esModule)return e;var n=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var t=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(n,r,t.get?t:{enumerable:!0,get:function(){return e[r]}})}})),n.default=e,n}var t=r(n);function o(){return o=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var r=arguments[n];for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&(e[t]=r[t])}return e},o.apply(this,arguments)}function u(e,n){var r={};Object.keys(n.reducers).forEach((function(e){var t=function(e){return e.indexOf("/")>-1}(e)?e:n.name+"/"+e;r[t]=n.reducers[e]}));var t=function(e,t){return void 0===e&&(e=n.state),t.type in r?r[t.type](e,t.payload,t.meta):e},o=n.baseReducer,u=o?function(e,r){return void 0===e&&(e=n.state),t(o(e,r),r)}:t;e.forEachPlugin("onReducer",(function(r){u=r(u,n.name,e)||u})),e.reduxConfig.reducers[n.name]=u}function c(e){var n,r,o=e.reduxConfig.rootReducers,u=(r=(n=e.reduxConfig).combineReducers||t.combineReducers,Object.keys(n.reducers).length?r(n.reducers):function(e){return e}),c=u;return o&&Object.keys(o).length&&(c=function(e,n){var r=o[n.type];return u(r?r(e,n):e,n)}),e.forEachPlugin("onRootReducer",(function(n){c=n(c,e)||c})),c}var i=function(e,n,r,t){return Object.assign((function(t,o){var u={type:n+"/"+r};return void 0!==t&&(u.payload=t),void 0!==o&&(u.meta=o),e.dispatch(u)}),{isEffect:t})};function d(e,n){e.dispatch[""+n.name]={},function(e,n){var r=e.dispatch[n.name];Object.keys(n.reducers).forEach((function(t){r[t]=i(e,n.name,t,!1)}))}(e,n)}function a(e,n,r){!function(e,n,r){var t=e.dispatch[r.name],o={};r.effects&&(o="function"==typeof r.effects?r.effects(e.dispatch):r.effects),Object.keys(o).forEach((function(u){n.effects[r.name+"/"+u]=o[u].bind(t),t[u]=i(e,r.name,u,!0)}))}(e,n,r),n.forEachPlugin("onModel",(function(n){n(r,e)}))}var f=0;function s(e,n){return n?o({},n,e):e}var l=function(e){var n=function(e){var n,r,t,u=null!=(n=e.name)?n:"Rematch Store "+f;f+=1;var c={name:u,models:e.models||{},plugins:e.plugins||[],redux:o({reducers:{},rootReducers:{},enhancers:[],middlewares:[]},e.redux,{devtoolOptions:o({name:u},null!=(r=null==(t=e.redux)?void 0:t.devtoolOptions)?r:{})})};return c.plugins.forEach((function(e){e.config&&(c.models=s(c.models,e.config.models),e.config.redux&&(c.redux.initialState=s(c.redux.initialState,e.config.redux.initialState),c.redux.reducers=s(c.redux.reducers,e.config.redux.reducers),c.redux.rootReducers=s(c.redux.rootReducers,e.config.redux.reducers),c.redux.enhancers=[].concat(c.redux.enhancers,e.config.redux.enhancers||[]),c.redux.middlewares=[].concat(c.redux.middlewares,e.config.redux.middlewares||[]),c.redux.combineReducers=c.redux.combineReducers||e.config.redux.combineReducers,c.redux.createStore=c.redux.createStore||e.config.redux.createStore))})),c}(e||{});return function(e){var n=function(e){return{models:(n=e.models,Object.keys(n).map((function(e){return o({name:e,reducers:{}},n[e])}))),reduxConfig:e.redux,forEachPlugin:function(n,r){e.plugins.forEach((function(e){e[n]&&r(e[n])}))},effects:{}};var n}(e);n.reduxConfig.middlewares.push(function(e){return function(n){return function(r){return function(t){return t.type in e.effects?(r(t),e.effects[t.type](t.payload,n.getState(),t.meta)):r(t)}}}}(n)),n.forEachPlugin("createMiddleware",(function(e){n.reduxConfig.middlewares.push(e(n))}));var r,i=function(e){var n;e.models.forEach((function(n){return u(e,n)}));var r,o=c(e),i=t.applyMiddleware.apply(t,e.reduxConfig.middlewares),d=e.reduxConfig.devtoolComposer?(n=e.reduxConfig).devtoolComposer.apply(n,e.reduxConfig.enhancers.concat([i])):(r=e.reduxConfig.devtoolOptions,void 0===r&&(r={}),!r.disabled&&"object"==typeof window&&window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__?window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__(r):t.compose).apply(void 0,e.reduxConfig.enhancers.concat([i])),a=e.reduxConfig.initialState;return(e.reduxConfig.createStore||t.createStore)(o,void 0===a?{}:a,d)}(n),f=o({},i,{name:e.name,addModel:function(e){u(n,e),d(f,e),a(f,n,e),i.replaceReducer(c(n)),i.dispatch({type:"@@redux/REPLACE"})}});return r=f,e.plugins.forEach((function(e){e.exposed&&Object.keys(e.exposed).forEach((function(n){if(e.exposed){var t=e.exposed[n];r[n]="function"==typeof t?function(){for(var e=arguments.length,n=new Array(e),o=0;o<e;o++)n[o]=arguments[o];return t.apply(void 0,[r].concat(n))}:Object.create(e.exposed[n])}}))})),n.models.forEach((function(e){return d(f,e)})),n.models.forEach((function(e){return a(f,n,e)})),n.forEachPlugin("onStoreCreated",(function(e){f=e(f,n)||f})),f}(n)},p=function(){return function(e){return e}},x={init:l,createModel:p};e.createModel=p,e.default=x,e.init=l,Object.defineProperty(e,"__esModule",{value:!0})}));
//# sourceMappingURL=core.umd.production.min.js.map
import { Models, NamedModel, RematchBag, RematchStore } from './types';
declare const createDispatcher: <TModels extends Models<TModels>, TExtraModels extends Models<TModels>, TModel extends NamedModel<TModels, any, any>>(rematch: RematchStore<TModels, TExtraModels>, bag: RematchBag<TModels, TExtraModels>, model: TModel) => void;
export default createDispatcher;
export declare const createReducerDispatcher: <TModels extends Models<TModels>, TExtraModels extends Models<TModels>, TModel extends NamedModel<TModels, any, any>>(rematch: RematchStore<TModels, TExtraModels>, model: TModel) => void;
export declare const createEffectDispatcher: <TModels extends Models<TModels>, TExtraModels extends Models<TModels>, TModel extends NamedModel<TModels, any, any>>(rematch: RematchStore<TModels, TExtraModels>, bag: RematchBag<TModels, TExtraModels>, model: TModel) => void;
//# sourceMappingURL=dispatcher.d.ts.map

@@ -86,3 +86,3 @@ import { Action as ReduxAction, Reducer as ReduxReducer, Dispatch as ReduxDispatch, ReducersMapObject, Middleware, StoreEnhancer, StoreCreator, Store as ReduxStore, ActionCreator } from 'redux';

}
export interface InitConfigRedux<TRootState = any> {
export interface InitConfigRedux<TRootState = any, DevtoolComposerGeneric = any> {
initialState?: TRootState;

@@ -96,2 +96,3 @@ reducers?: ModelReducers<TRootState>;

devtoolOptions?: DevtoolOptions;
devtoolComposer?: DevtoolComposerGeneric;
}

@@ -98,0 +99,0 @@ export interface ConfigRedux<TRootState = any> extends InitConfigRedux<TRootState> {

{
"name": "@rematch/core",
"version": "2.1.1",
"version": "2.2.0",
"description": "A Redux Framework",

@@ -26,3 +26,3 @@ "homepage": "https://rematchjs.org",

"src",
"README.md"
"../../README.md"
],

@@ -58,3 +58,3 @@ "engines": {

},
"gitHead": "1bba6cf12529d18819a03a9ab298412606364fbf"
"gitHead": "af5f67a9ae4b6c2e6ec3a4c6055b63e9eaebd583"
}

@@ -50,6 +50,5 @@ import {

* Creates a dispatcher object for a model - it contains a mapping from all
* reducers and effects *names* to functions which dispatch their corresponding
* actions.
* reducers to functions which dispatch their corresponding actions.
*/
const createDispatcher = <
export const createReducerDispatcher = <
TModels extends Models<TModels>,

@@ -60,3 +59,2 @@ TExtraModels extends Models<TModels>,

rematch: RematchStore<TModels, TExtraModels>,
bag: RematchBag<TModels, TExtraModels>,
model: TModel

@@ -78,3 +76,18 @@ ): void => {

})
}
/**
* Creates effects dispatcher for a model - it contains a mapping from all
* effects *names* to functions which dispatch their corresponding actions.
*/
export const createEffectDispatcher = <
TModels extends Models<TModels>,
TExtraModels extends Models<TModels>,
TModel extends NamedModel<TModels>
>(
rematch: RematchStore<TModels, TExtraModels>,
bag: RematchBag<TModels, TExtraModels>,
model: TModel
): void => {
const modelDispatcher = rematch.dispatch[model.name]
let effects: ModelEffects<TModels> = {}

@@ -106,3 +119,1 @@

}
export default createDispatcher

@@ -28,5 +28,8 @@ import * as Redux from 'redux'

const middlewares = Redux.applyMiddleware(...bag.reduxConfig.middlewares)
const enhancers = composeEnhancersWithDevtools(
bag.reduxConfig.devtoolOptions
)(...bag.reduxConfig.enhancers, middlewares)
const enhancers = bag.reduxConfig.devtoolComposer
? bag.reduxConfig.devtoolComposer(...bag.reduxConfig.enhancers, middlewares)
: composeEnhancersWithDevtools(bag.reduxConfig.devtoolOptions)(
...bag.reduxConfig.enhancers,
middlewares
)

@@ -33,0 +36,0 @@ const createStore = bag.reduxConfig.createStore || Redux.createStore

@@ -19,3 +19,3 @@ import { Middleware } from 'redux'

} from './reduxStore'
import createDispatcher from './dispatcher'
import { createReducerDispatcher, createEffectDispatcher } from './dispatcher'
import { validateModel } from './validate'

@@ -47,3 +47,4 @@ import createRematchBag from './bag'

createModelReducer(bag, model)
prepareModel(rematchStore, bag, model)
prepareModel(rematchStore, model)
enhanceModel(rematchStore, bag, model)
reduxStore.replaceReducer(createRootReducer(bag))

@@ -56,4 +57,11 @@ reduxStore.dispatch({ type: '@@redux/REPLACE' })

// generate dispatch[modelName][actionName] for all reducers and effects
bag.models.forEach((model) => prepareModel(rematchStore, bag, model))
/**
* generate dispatch[modelName][actionName] for all reducers and effects
*
* Note: To have circular models accessible in effects method with destructing,
* ensure that model generation and effects generation execute in
* different steps.
*/
bag.models.forEach((model) => prepareModel(rematchStore, model))
bag.models.forEach((model) => enhanceModel(rematchStore, bag, model))

@@ -94,7 +102,3 @@ bag.forEachPlugin('onStoreCreated', (onStoreCreated) => {

TModel extends NamedModel<TModels>
>(
rematchStore: RematchStore<TModels, TExtraModels>,
bag: RematchBag<TModels, TExtraModels>,
model: TModel
): void {
>(rematchStore: RematchStore<TModels, TExtraModels>, model: TModel): void {
const modelDispatcher = {} as ModelDispatcher<TModel, TModels>

@@ -106,4 +110,16 @@

createDispatcher(rematchStore, bag, model)
createReducerDispatcher(rematchStore, model)
}
function enhanceModel<
TModels extends Models<TModels>,
TExtraModels extends Models<TModels>,
TModel extends NamedModel<TModels>
>(
rematchStore: RematchStore<TModels, TExtraModels>,
bag: RematchBag<TModels, TExtraModels>,
model: TModel
): void {
createEffectDispatcher(rematchStore, bag, model)
bag.forEachPlugin('onModel', (onModel) => {

@@ -110,0 +126,0 @@ onModel(model, rematchStore)

@@ -271,3 +271,6 @@ /*

*/
export interface InitConfigRedux<TRootState = any> {
export interface InitConfigRedux<
TRootState = any,
DevtoolComposerGeneric = any
> {
initialState?: TRootState

@@ -285,2 +288,3 @@ reducers?: ModelReducers<TRootState>

devtoolOptions?: DevtoolOptions
devtoolComposer?: DevtoolComposerGeneric
}

@@ -287,0 +291,0 @@

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc