react-hookstore
Advanced tools
Comparing version 1.0.5 to 1.0.6
@@ -1,3 +0,12 @@ | ||
exports["hookStore"] = | ||
/******/ (function(modules) { // webpackBootstrap | ||
(function webpackUniversalModuleDefinition(root, factory) { | ||
if(typeof exports === 'object' && typeof module === 'object') | ||
module.exports = factory(require("react")); | ||
else if(typeof define === 'function' && define.amd) | ||
define(["React"], factory); | ||
else if(typeof exports === 'object') | ||
exports["hookStore"] = factory(require("react")); | ||
else | ||
root["hookStore"] = factory(root["React"]); | ||
})(window, function(__WEBPACK_EXTERNAL_MODULE__0__) { | ||
return /******/ (function(modules) { // webpackBootstrap | ||
/******/ // The module cache | ||
@@ -92,3 +101,3 @@ /******/ var installedModules = {}; | ||
module.exports = require("react"); | ||
module.exports = __WEBPACK_EXTERNAL_MODULE__0__; | ||
@@ -105,6 +114,18 @@ /***/ }), | ||
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); | ||
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } | ||
let stores = {}; | ||
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } | ||
const defaultReducer = (state, payload) => payload; | ||
function _iterableToArrayLimit(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"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } | ||
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } | ||
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; } | ||
var stores = {}; | ||
var defaultReducer = function defaultReducer(state, payload) { | ||
return payload; | ||
}; | ||
/** | ||
@@ -124,7 +145,10 @@ * Creates a new store | ||
function createStore({ | ||
state = {}, | ||
name = 'store', | ||
reducer = defaultReducer | ||
}) { | ||
function createStore(_ref) { | ||
var _ref$state = _ref.state, | ||
state = _ref$state === void 0 ? {} : _ref$state, | ||
_ref$name = _ref.name, | ||
name = _ref$name === void 0 ? 'store' : _ref$name, | ||
_ref$reducer = _ref.reducer, | ||
reducer = _ref$reducer === void 0 ? defaultReducer : _ref$reducer; | ||
if (stores[name]) { | ||
@@ -134,17 +158,17 @@ throw 'store already exists'; | ||
const store = { | ||
state, | ||
reducer, | ||
var store = { | ||
state: state, | ||
reducer: reducer, | ||
setState: function setState(action) { | ||
var _this = this; | ||
setState(action) { | ||
this.state = this.reducer(this.state, action); | ||
this.setters.forEach(setter => setter(this.state)); | ||
this.setters.forEach(function (setter) { | ||
return setter(_this.state); | ||
}); | ||
}, | ||
setters: [] | ||
}; | ||
store.setState = store.setState.bind(store); | ||
stores = Object.assign({}, stores, { | ||
[name]: store | ||
}); | ||
stores = Object.assign({}, stores, _defineProperty({}, name, store)); | ||
return store; | ||
@@ -157,4 +181,5 @@ } | ||
function useStore(name = 'store') { | ||
const store = stores[name]; | ||
function useStore() { | ||
var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'store'; | ||
var store = stores[name]; | ||
@@ -165,5 +190,13 @@ if (!store) { | ||
const [state, set] = Object(react__WEBPACK_IMPORTED_MODULE_0__["useState"])(store.state); | ||
Object(react__WEBPACK_IMPORTED_MODULE_0__["useEffect"])(() => () => { | ||
store.setters = store.setters.filter(setter => setter !== set); | ||
var _useState = Object(react__WEBPACK_IMPORTED_MODULE_0__["useState"])(store.state), | ||
_useState2 = _slicedToArray(_useState, 2), | ||
state = _useState2[0], | ||
set = _useState2[1]; | ||
Object(react__WEBPACK_IMPORTED_MODULE_0__["useEffect"])(function () { | ||
return function () { | ||
store.setters = store.setters.filter(function (setter) { | ||
return setter !== set; | ||
}); | ||
}; | ||
}, []); | ||
@@ -180,2 +213,3 @@ | ||
/******/ ]); | ||
}); | ||
//# sourceMappingURL=react-hookstore.js.map |
@@ -1,1 +0,1 @@ | ||
!function(t){var e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={i:n,l:!1,exports:{}};return t[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=t,r.c=e,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)r.d(n,o,function(e){return t[e]}.bind(null,o));return n},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=1)}([function(t,e){t.exports=react},function(t,e,r){"use strict";r.r(e),r.d(e,"createStore",function(){return u}),r.d(e,"useStore",function(){return i});var n=r(0);let o={};const s=(t,e)=>e;function u({state:t={},name:e="store",reducer:r=s}){if(o[e])throw"store already exists";const n={state:t,reducer:r,setState(t){this.state=this.reducer(this.state,t),this.setters.forEach(t=>t(this.state))},setters:[]};return n.setState=n.setState.bind(n),o=Object.assign({},o,{[e]:n}),n}function i(t="store"){const e=o[t];if(!e)throw"store does not exist";const[r,s]=Object(n.useState)(e.state);return Object(n.useEffect)(()=>()=>{e.setters=e.setters.filter(t=>t!==s)},[]),e.setters.includes(s)||e.setters.push(s),[r,e.setState]}}]); | ||
!function(t){var e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={i:n,l:!1,exports:{}};return t[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=t,r.c=e,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)r.d(n,o,function(e){return t[e]}.bind(null,o));return n},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=1)}([function(t,e){t.exports=void 0},function(t,e,r){"use strict";r.r(e),r.d(e,"createStore",function(){return u}),r.d(e,"useStore",function(){return i});var n=r(0);let o={};const s=(t,e)=>e;function u({state:t={},name:e="store",reducer:r=s}){if(o[e])throw"store already exists";const n={state:t,reducer:r,setState(t){this.state=this.reducer(this.state,t),this.setters.forEach(t=>t(this.state))},setters:[]};return n.setState=n.setState.bind(n),o=Object.assign({},o,{[e]:n}),n}function i(t="store"){const e=o[t];if(!e)throw"store does not exist";const[r,s]=Object(n.useState)(e.state);return Object(n.useEffect)(()=>()=>{e.setters=e.setters.filter(t=>t!==s)},[]),e.setters.includes(s)||e.setters.push(s),[r,e.setState]}}]); |
{ | ||
"name": "react-hookstore", | ||
"version": "1.0.5", | ||
"version": "1.0.6", | ||
"description": "A state management library for react using the bleeding edge hooks feature", | ||
"main": "src/index.js", | ||
"main": "dist/react-hookstore.js", | ||
"module": "src/index.js", | ||
@@ -25,5 +25,9 @@ "jsnext:main": "src/index.js", | ||
"@babel/plugin-proposal-object-rest-spread": "^7.0.0", | ||
"@babel/preset-env": "^7.1.0", | ||
"@babel/preset-react": "^7.0.0", | ||
"@babel/preset-stage-0": "^7.0.0", | ||
"babel-loader": "^8.0.4", | ||
"html-webpack-plugin": "^3.2.0", | ||
"react": "^16.7.0-alpha.0", | ||
"react-dom": "^16.7.0-alpha.0", | ||
"webpack": "^4.23.1", | ||
@@ -40,7 +44,3 @@ "webpack-cli": "^3.1.2", | ||
"dist" | ||
], | ||
"dependencies": { | ||
"react": "^16.7.0-alpha.0", | ||
"react-dom": "^16.7.0-alpha.0" | ||
} | ||
] | ||
} |
Sorry, the diff of this file is not supported yet
23009
2
13
5
185
- Removedreact@^16.7.0-alpha.0
- Removedreact-dom@^16.7.0-alpha.0