UNPKG

antd

Version:

An enterprise-class UI design language and React-based implementation

40 lines (34 loc) 1.03 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _extends2 = require("babel-runtime/helpers/extends"); var _extends3 = _interopRequireDefault(_extends2); exports["default"] = createStore; function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } function createStore(initialState) { var state = initialState; var listeners = []; function setState(partial) { state = (0, _extends3["default"])({}, state, partial); for (var i = 0; i < listeners.length; i++) { listeners[i](); } } function getState() { return state; } function subscribe(listener) { listeners.push(listener); return function unsubscribe() { var index = listeners.indexOf(listener); listeners.splice(index, 1); }; } return { setState: setState, getState: getState, subscribe: subscribe }; } module.exports = exports["default"];