UNPKG

704 BJavaScriptView Raw
1import _objectSpread from "@babel/runtime/helpers/objectSpread2";
2export default function createStore(initialState) {
3 var state = initialState;
4 var listeners = [];
5
6 function setState(partial) {
7 state = _objectSpread({}, state, {}, partial);
8
9 for (var i = 0; i < listeners.length; i++) {
10 listeners[i]();
11 }
12 }
13
14 function getState() {
15 return state;
16 }
17
18 function subscribe(listener) {
19 listeners.push(listener);
20 return function unsubscribe() {
21 var index = listeners.indexOf(listener);
22 listeners.splice(index, 1);
23 };
24 }
25
26 return {
27 setState: setState,
28 getState: getState,
29 subscribe: subscribe
30 };
31}
32//# sourceMappingURL=createStore.js.map