New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@modern-js-reduck/store

Package Overview
Dependencies
Maintainers
7
Versions
38
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@modern-js-reduck/store - npm Package Compare versions

Comparing version 1.1.9 to 1.1.10-alpha.0

36

dist/js/modern/store/createStore.js

@@ -0,1 +1,3 @@

function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
import { applyMiddleware, compose, createStore as createReduxStore } from 'redux';

@@ -18,3 +20,3 @@ import { createContext } from "./context";

} = finalProps;
Object.assign(store, createReduxStore(state => state, initialState, compose(...[middlewares ? applyMiddleware(...middlewares) : undefined, ...(enhancers || [])].filter(Boolean))));
Object.assign(store, createReduxStore(state => state, initialState, compose(...[mergeInitialState(), middlewares ? applyMiddleware(...middlewares) : undefined, ...(enhancers || [])].filter(Boolean))));
store.use = context.apis.useModel;

@@ -30,3 +32,35 @@ store.unmount = context.apis.unmountModel;

};
/**
* Merge prev global state when mounting new models
* to avoid to miss the initial state of the mounting models
*/
function mergeInitialState() {
return createStore => (reducer, initialState) => {
const liftReducer = r => {
if (typeof r !== 'function') {
throw new Error('Expected the reducer to be a function.');
}
return (state = initialState, action) => {
const nextState = r(state, action);
if (/^@@redux\/REPLACE/.test(action.type)) {
return _extends({}, state, nextState);
} else {
return nextState;
}
};
};
const store = createStore(liftReducer(reducer));
return _extends({}, store, {
replaceReducer: reducer => {
return store.replaceReducer(liftReducer(reducer));
}
});
};
}
export default createStore;

@@ -12,2 +12,8 @@ "use strict";

function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
const createStore = (props = {}) => {

@@ -27,3 +33,3 @@ var _props$plugins;

} = finalProps;
Object.assign(store, (0, _redux.createStore)(state => state, initialState, (0, _redux.compose)(...[middlewares ? (0, _redux.applyMiddleware)(...middlewares) : undefined, ...(enhancers || [])].filter(Boolean))));
Object.assign(store, (0, _redux.createStore)(state => state, initialState, (0, _redux.compose)(...[mergeInitialState(), middlewares ? (0, _redux.applyMiddleware)(...middlewares) : undefined, ...(enhancers || [])].filter(Boolean))));
store.use = context.apis.useModel;

@@ -39,4 +45,36 @@ store.unmount = context.apis.unmountModel;

};
/**
* Merge prev global state when mounting new models
* to avoid to miss the initial state of the mounting models
*/
function mergeInitialState() {
return createStore => (reducer, initialState) => {
const liftReducer = r => {
if (typeof r !== 'function') {
throw new Error('Expected the reducer to be a function.');
}
return (state = initialState, action) => {
const nextState = r(state, action);
if (/^@@redux\/REPLACE/.test(action.type)) {
return _objectSpread(_objectSpread({}, state), nextState);
} else {
return nextState;
}
};
};
const store = createStore(liftReducer(reducer));
return _objectSpread(_objectSpread({}, store), {}, {
replaceReducer: reducer => {
return store.replaceReducer(liftReducer(reducer));
}
});
};
}
var _default = createStore;
exports.default = _default;

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

import _extends from "@babel/runtime/helpers/esm/extends";
import { applyMiddleware, compose, createStore as createReduxStore } from 'redux';

@@ -18,3 +19,3 @@ import { createContext } from "./context";

} = finalProps;
Object.assign(store, createReduxStore(state => state, initialState, compose(...[middlewares ? applyMiddleware(...middlewares) : undefined, ...(enhancers || [])].filter(Boolean))));
Object.assign(store, createReduxStore(state => state, initialState, compose(...[mergeInitialState(), middlewares ? applyMiddleware(...middlewares) : undefined, ...(enhancers || [])].filter(Boolean))));
store.use = context.apis.useModel;

@@ -30,3 +31,35 @@ store.unmount = context.apis.unmountModel;

};
/**
* Merge prev global state when mounting new models
* to avoid to miss the initial state of the mounting models
*/
function mergeInitialState() {
return createStore => (reducer, initialState) => {
const liftReducer = r => {
if (typeof r !== 'function') {
throw new Error('Expected the reducer to be a function.');
}
return (state = initialState, action) => {
const nextState = r(state, action);
if (/^@@redux\/REPLACE/.test(action.type)) {
return _extends({}, state, nextState);
} else {
return nextState;
}
};
};
const store = createStore(liftReducer(reducer));
return _extends({}, store, {
replaceReducer: reducer => {
return store.replaceReducer(liftReducer(reducer));
}
});
};
}
export default createStore;

2

package.json
{
"name": "@modern-js-reduck/store",
"version": "1.1.9",
"version": "1.1.10-alpha.0",
"files": [

@@ -5,0 +5,0 @@ "dist"

SocketSocket SOC 2 Logo

Product

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

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc