redux-storage
Advanced tools
Comparing version 1.3.2 to 1.3.3
@@ -7,3 +7,3 @@ "use strict"; | ||
exports["default"] = function (key) { | ||
exports.default = function (key) { | ||
return { | ||
@@ -14,3 +14,2 @@ load: function load() { | ||
}, | ||
save: function save(state) { | ||
@@ -22,4 +21,2 @@ var jsonState = JSON.stringify(state); | ||
}; | ||
}; | ||
module.exports = exports["default"]; | ||
}; |
'use strict'; | ||
Object.defineProperty(exports, '__esModule', { | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
var _reactNative = require('react-native'); | ||
exports['default'] = function (key) { | ||
exports.default = function (key) { | ||
return { | ||
@@ -16,3 +14,2 @@ load: function load() { | ||
}, | ||
save: function save(state) { | ||
@@ -25,2 +22,2 @@ var jsonState = JSON.stringify(state); | ||
module.exports = exports['default']; | ||
var _reactNative = require('react-native'); |
'use strict'; | ||
Object.defineProperty(exports, '__esModule', { | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports.save = exports.load = undefined; | ||
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } } | ||
var _reduxActions = require('redux-actions'); | ||
@@ -15,5 +14,5 @@ | ||
var load = (0, _reduxActions.createAction)(constants.LOAD); | ||
exports.load = load; | ||
var save = (0, _reduxActions.createAction)(constants.SAVE); | ||
exports.save = save; | ||
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } | ||
var load = exports.load = (0, _reduxActions.createAction)(constants.LOAD); | ||
var save = exports.save = (0, _reduxActions.createAction)(constants.SAVE); |
'use strict'; | ||
Object.defineProperty(exports, '__esModule', { | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
var LOAD = 'REDUX_STORAGE_LOAD'; | ||
exports.LOAD = LOAD; | ||
var SAVE = 'REDUX_STORAGE_SAVE'; | ||
exports.SAVE = SAVE; | ||
var LOAD = exports.LOAD = 'REDUX_STORAGE_LOAD'; | ||
var SAVE = exports.SAVE = 'REDUX_STORAGE_SAVE'; |
'use strict'; | ||
Object.defineProperty(exports, '__esModule', { | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
var _actions = require('./actions'); | ||
exports['default'] = function (engine) { | ||
exports.default = function (engine) { | ||
return function (store) { | ||
@@ -21,2 +19,2 @@ var dispatchLoad = function dispatchLoad(state) { | ||
module.exports = exports['default']; | ||
var _actions = require('./actions'); |
'use strict'; | ||
Object.defineProperty(exports, '__esModule', { | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i]; return arr2; } else { return Array.from(arr); } } | ||
var _actions = require('./actions'); | ||
var _constants = require('./constants'); | ||
function swallow() {} | ||
function warnAboutConfusingFiltering(blacklist, whitelist) { | ||
for (var _iterator = blacklist, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) { | ||
var _ref; | ||
if (_isArray) { | ||
if (_i >= _iterator.length) break; | ||
_ref = _iterator[_i++]; | ||
} else { | ||
_i = _iterator.next(); | ||
if (_i.done) break; | ||
_ref = _i.value; | ||
} | ||
var item = _ref; | ||
if (whitelist.indexOf(item) === -1) { | ||
continue; | ||
} | ||
console.warn( // eslint-disable-line no-console | ||
'[redux-storage] Action ' + item + ' is on BOTH black- and whitelist.' + ' This is most likely a mistake!'); | ||
} | ||
} | ||
exports['default'] = function (engine) { | ||
exports.default = function (engine) { | ||
var actionBlacklist = arguments.length <= 1 || arguments[1] === undefined ? [] : arguments[1]; | ||
@@ -50,5 +18,5 @@ var actionWhitelist = arguments.length <= 2 || arguments[2] === undefined ? [] : arguments[2]; | ||
return function (_ref2) { | ||
var dispatch = _ref2.dispatch; | ||
var getState = _ref2.getState; | ||
return function (_ref) { | ||
var dispatch = _ref.dispatch; | ||
var getState = _ref.getState; | ||
@@ -70,3 +38,3 @@ return function (next) { | ||
}; | ||
engine.save(saveState).then(dispatchSave)['catch'](swallow); | ||
engine.save(saveState).then(dispatchSave).catch(swallow); | ||
})(); | ||
@@ -81,2 +49,40 @@ } | ||
module.exports = exports['default']; | ||
var _actions = require('./actions'); | ||
var _constants = require('./constants'); | ||
function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i]; return arr2; } else { return Array.from(arr); } } | ||
function swallow() {} | ||
function warnAboutConfusingFiltering(blacklist, whitelist) { | ||
var _iteratorNormalCompletion = true; | ||
var _didIteratorError = false; | ||
var _iteratorError = undefined; | ||
try { | ||
for (var _iterator = blacklist[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { | ||
var item = _step.value; | ||
if (whitelist.indexOf(item) === -1) { | ||
continue; | ||
} | ||
console.warn( // eslint-disable-line no-console | ||
'[redux-storage] Action ' + item + ' is on BOTH black- and whitelist.' + ' This is most likely a mistake!'); | ||
} | ||
} catch (err) { | ||
_didIteratorError = true; | ||
_iteratorError = err; | ||
} finally { | ||
try { | ||
if (!_iteratorNormalCompletion && _iterator.return) { | ||
_iterator.return(); | ||
} | ||
} finally { | ||
if (_didIteratorError) { | ||
throw _iteratorError; | ||
} | ||
} | ||
} | ||
} |
@@ -7,3 +7,3 @@ "use strict"; | ||
exports["default"] = function (engine, ms) { | ||
exports.default = function (engine, ms) { | ||
var lastTimeout = undefined; | ||
@@ -16,3 +16,2 @@ var lastReject = undefined; | ||
}, | ||
save: function save(state) { | ||
@@ -29,3 +28,3 @@ clearTimeout(lastTimeout); | ||
lastReject = null; | ||
engine.save(state).then(resolve)["catch"](reject); | ||
engine.save(state).then(resolve).catch(reject); | ||
}, ms); | ||
@@ -35,4 +34,2 @@ }); | ||
}; | ||
}; | ||
module.exports = exports["default"]; | ||
}; |
'use strict'; | ||
Object.defineProperty(exports, '__esModule', { | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } | ||
var _lodashSet = require('lodash.set'); | ||
var _lodashSet2 = _interopRequireDefault(_lodashSet); | ||
var _lodashIsfunction = require('lodash.isfunction'); | ||
var _lodashIsfunction2 = _interopRequireDefault(_lodashIsfunction); | ||
exports['default'] = function (engine) { | ||
exports.default = function (engine) { | ||
var whitelist = arguments.length <= 1 || arguments[1] === undefined ? [] : arguments[1]; | ||
@@ -24,3 +14,2 @@ | ||
}, | ||
save: function save(state) { | ||
@@ -32,33 +21,41 @@ var saveState = {}; | ||
for (var _iterator = key, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) { | ||
var _ref; | ||
var _iteratorNormalCompletion = true; | ||
var _didIteratorError = false; | ||
var _iteratorError = undefined; | ||
if (_isArray) { | ||
if (_i >= _iterator.length) break; | ||
_ref = _iterator[_i++]; | ||
} else { | ||
_i = _iterator.next(); | ||
if (_i.done) break; | ||
_ref = _i.value; | ||
} | ||
try { | ||
for (var _iterator = key[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { | ||
var keyPart = _step.value; | ||
var keyPart = _ref; | ||
// Support immutable structures | ||
if ((0, _lodash4.default)(value.has) && (0, _lodash4.default)(value.get)) { | ||
if (!value.has(keyPart)) { | ||
// No value stored - continue whiteliste.forEach! | ||
return; | ||
} | ||
// Support immutable structures | ||
if ((0, _lodashIsfunction2['default'])(value.has) && (0, _lodashIsfunction2['default'])(value.get)) { | ||
if (!value.has(keyPart)) { | ||
value = value.get(keyPart); | ||
} else if (value[keyPart]) { | ||
value = value[keyPart]; | ||
} else { | ||
// No value stored - continue whiteliste.forEach! | ||
return; | ||
} | ||
value = value.get(keyPart); | ||
} else if (value[keyPart]) { | ||
value = value[keyPart]; | ||
} else { | ||
// No value stored - continue whiteliste.forEach! | ||
return; | ||
} | ||
} catch (err) { | ||
_didIteratorError = true; | ||
_iteratorError = err; | ||
} finally { | ||
try { | ||
if (!_iteratorNormalCompletion && _iterator.return) { | ||
_iterator.return(); | ||
} | ||
} finally { | ||
if (_didIteratorError) { | ||
throw _iteratorError; | ||
} | ||
} | ||
} | ||
(0, _lodashSet2['default'])(saveState, key, value); | ||
(0, _lodash2.default)(saveState, key, value); | ||
}); | ||
@@ -71,2 +68,10 @@ | ||
module.exports = exports['default']; | ||
var _lodash = require('lodash.set'); | ||
var _lodash2 = _interopRequireDefault(_lodash); | ||
var _lodash3 = require('lodash.isfunction'); | ||
var _lodash4 = _interopRequireDefault(_lodash3); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } |
'use strict'; | ||
Object.defineProperty(exports, '__esModule', { | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
var _immutable = require('immutable'); | ||
exports['default'] = function (engine) { | ||
exports.default = function (engine) { | ||
var whitelist = arguments.length <= 1 || arguments[1] === undefined ? [] : arguments[1]; | ||
@@ -21,3 +19,2 @@ | ||
}, | ||
save: function save(state) { | ||
@@ -29,2 +26,2 @@ return engine.save(state); | ||
module.exports = exports['default']; | ||
var _immutable = require('immutable'); |
'use strict'; | ||
Object.defineProperty(exports, '__esModule', { | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } | ||
var _debounce = require('./debounce'); | ||
@@ -21,3 +19,4 @@ | ||
exports['default'] = { debounce: _debounce2['default'], filter: _filter2['default'], immutablejs: _immutablejs2['default'] }; | ||
module.exports = exports['default']; | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
exports.default = { debounce: _debounce2.default, filter: _filter2.default, immutablejs: _immutablejs2.default }; |
'use strict'; | ||
Object.defineProperty(exports, '__esModule', { | ||
var _extends = Object.assign || 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; }; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
var _extends = Object.assign || 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; }; | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } | ||
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } } | ||
var _constants = require('./constants'); | ||
@@ -33,3 +29,6 @@ | ||
exports['default'] = _extends({}, constants, { createMiddleware: _createMiddleware2['default'], reducer: _reducer2['default'], decorators: _decorators2['default'], createLoader: _createLoader2['default'] }); | ||
module.exports = exports['default']; | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } | ||
exports.default = _extends({}, constants, { createMiddleware: _createMiddleware2.default, reducer: _reducer2.default, decorators: _decorators2.default, createLoader: _createLoader2.default }); |
'use strict'; | ||
Object.defineProperty(exports, '__esModule', { | ||
var _slicedToArray = (function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; })(); | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } | ||
exports.default = function (reducer) { | ||
return function (state, action) { | ||
return reducer(action.type === _constants.LOAD ? myMerge(state, action.payload) : state, action); | ||
}; | ||
}; | ||
function _slicedToArrayLoose(arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { var _arr = []; for (var _iterator = arr[Symbol.iterator](), _step; !(_step = _iterator.next()).done;) { _arr.push(_step.value); if (i && _arr.length === i) break; } return _arr; } else { throw new TypeError('Invalid attempt to destructure non-iterable instance'); } } | ||
var _lodash = require('lodash.isfunction'); | ||
var _lodashIsfunction = require('lodash.isfunction'); | ||
var _lodash2 = _interopRequireDefault(_lodash); | ||
var _lodashIsfunction2 = _interopRequireDefault(_lodashIsfunction); | ||
var _lodash3 = require('lodash.isobject'); | ||
var _lodashIsobject = require('lodash.isobject'); | ||
var _lodash4 = _interopRequireDefault(_lodash3); | ||
var _lodashIsobject2 = _interopRequireDefault(_lodashIsobject); | ||
var _lodash5 = require('lodash.isarray'); | ||
var _lodashMerge = require('lodash.merge'); | ||
var _lodash6 = _interopRequireDefault(_lodash5); | ||
var _lodashMerge2 = _interopRequireDefault(_lodashMerge); | ||
var _lodash7 = require('lodash.merge'); | ||
var _lodashPairs = require('lodash.pairs'); | ||
var _lodash8 = _interopRequireDefault(_lodash7); | ||
var _lodashPairs2 = _interopRequireDefault(_lodashPairs); | ||
var _lodash9 = require('lodash.pairs'); | ||
var _lodash10 = _interopRequireDefault(_lodash9); | ||
var _immutable = require('immutable'); | ||
@@ -31,5 +39,7 @@ | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
function myMerge(oldState, newState) { | ||
// Whole state is ImmutableJS? Easiest way to merge | ||
if ((0, _lodashIsfunction2['default'])(oldState.mergeDeep)) { | ||
if ((0, _lodash2.default)(oldState.mergeDeep)) { | ||
return oldState.mergeDeep(newState); | ||
@@ -39,3 +49,3 @@ } | ||
// newState is ImmutableJS? We can safely use fromJS and merge | ||
if ((0, _lodashIsfunction2['default'])(newState.mergeDeep)) { | ||
if ((0, _lodash2.default)(newState.mergeDeep)) { | ||
return (0, _immutable.fromJS)(oldState).mergeDeep(newState); | ||
@@ -48,34 +58,42 @@ } | ||
var result = Object.assign({}, oldState); | ||
for (var _iterator = (0, _lodashPairs2['default'])(newState), _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) { | ||
var _ref; | ||
var _iteratorNormalCompletion = true; | ||
var _didIteratorError = false; | ||
var _iteratorError = undefined; | ||
if (_isArray) { | ||
if (_i >= _iterator.length) break; | ||
_ref = _iterator[_i++]; | ||
} else { | ||
_i = _iterator.next(); | ||
if (_i.done) break; | ||
_ref = _i.value; | ||
} | ||
try { | ||
for (var _iterator = (0, _lodash10.default)(newState)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { | ||
var _step$value = _slicedToArray(_step.value, 2); | ||
var _ref2 = _slicedToArrayLoose(_ref, 2); | ||
var key = _step$value[0]; | ||
var value = _step$value[1]; | ||
var key = _ref2[0]; | ||
var value = _ref2[1]; | ||
// Assign if we don't need to merge at all | ||
if (!result.hasOwnProperty(key)) { | ||
result[key] = (0, _lodash4.default)(value) && !(0, _lodash6.default)(value) ? (0, _lodash8.default)({}, value) : value; | ||
continue; | ||
} | ||
// Assign if we don't need to merge at all | ||
if (!result.hasOwnProperty(key)) { | ||
result[key] = (0, _lodashIsobject2['default'])(value) ? (0, _lodashMerge2['default'])({}, value) : value; | ||
continue; | ||
var oldValue = result[key]; | ||
if ((0, _lodash2.default)(oldValue.mergeDeep)) { | ||
result[key] = oldValue.mergeDeep(value); | ||
} else if ((0, _lodash2.default)(value.mergeDeep)) { | ||
result[key] = (0, _immutable.fromJS)(oldValue).mergeDeep(value); | ||
} else if ((0, _lodash4.default)(value) && !(0, _lodash6.default)(value)) { | ||
result[key] = (0, _lodash8.default)({}, oldValue, value); | ||
} else { | ||
result[key] = value; | ||
} | ||
} | ||
var oldValue = result[key]; | ||
if ((0, _lodashIsfunction2['default'])(oldValue.mergeDeep)) { | ||
result[key] = oldValue.mergeDeep(value); | ||
} else if ((0, _lodashIsfunction2['default'])(value.mergeDeep)) { | ||
result[key] = (0, _immutable.fromJS)(oldValue).mergeDeep(value); | ||
} else if ((0, _lodashIsobject2['default'])(value)) { | ||
result[key] = (0, _lodashMerge2['default'])({}, oldValue, value); | ||
} else { | ||
result[key] = value; | ||
} catch (err) { | ||
_didIteratorError = true; | ||
_iteratorError = err; | ||
} finally { | ||
try { | ||
if (!_iteratorNormalCompletion && _iterator.return) { | ||
_iterator.return(); | ||
} | ||
} finally { | ||
if (_didIteratorError) { | ||
throw _iteratorError; | ||
} | ||
} | ||
@@ -85,10 +103,2 @@ } | ||
return result; | ||
} | ||
exports['default'] = function (reducer) { | ||
return function (state, action) { | ||
return reducer(action.type === _constants.LOAD ? myMerge(state, action.payload) : state, action); | ||
}; | ||
}; | ||
module.exports = exports['default']; | ||
} |
{ | ||
"name": "redux-storage", | ||
"version": "1.3.2", | ||
"version": "1.3.3", | ||
"description": "Persistence layer for redux with flexible backends", | ||
@@ -32,11 +32,14 @@ "main": "lib/index.js", | ||
"devDependencies": { | ||
"babel": "^5.8.29", | ||
"babel-core": "^5.8.29", | ||
"babel-eslint": "^4.1.3", | ||
"chai": "^3.4.0", | ||
"babel-cli": "^6.1.4", | ||
"babel-core": "^6.1.4", | ||
"babel-eslint": "^4.1.5", | ||
"babel-polyfill": "^6.1.4", | ||
"babel-preset-es2015": "^6.1.4", | ||
"babel-preset-stage-1": "^6.1.2", | ||
"chai": "^3.4.1", | ||
"chai-as-promised": "^5.1.0", | ||
"chai-string": "^1.1.3", | ||
"eslint": "^1.7.3", | ||
"eslint-config-airbnb": "^0.1.0", | ||
"eslint-plugin-react": "^3.6.3", | ||
"eslint": "^1.9.0", | ||
"eslint-config-airbnb": "^1.0.0", | ||
"eslint-plugin-mocha-only": "0.0.3", | ||
"mocha": "^2.3.3", | ||
@@ -49,2 +52,3 @@ "sinon": "^1.17.2", | ||
"immutable": "^3.7.5", | ||
"lodash.isarray": "^3.0.4", | ||
"lodash.isfunction": "^3.0.6", | ||
@@ -51,0 +55,0 @@ "lodash.isobject": "^3.0.2", |
@@ -37,2 +37,4 @@ [redux-storage][] | ||
```js | ||
import storage from 'redux-storage' | ||
// Import redux and all your reducers as usual | ||
@@ -39,0 +41,0 @@ import { createStore, applyMiddleware, combineReducers } from 'redux'; |
25682
339
222
9
16
+ Addedlodash.isarray@^3.0.4