UNPKG

flypro

Version:
39 lines (31 loc) 911 B
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = createStore; function createStore(handler, state) { var currentHandler = handler; var currentState = state; var listeners = []; function getState() { return currentState; } function getListeners() { return listeners; } function subscribe(listener) { listeners.push(listener); return function unsubscribe() { listeners.splice(listeners.indexOf(listener), 1); }; } function send(command) { currentState = currentHandler(currentState, command); listeners.slice().forEach(function (listener) { return listener(); }); return command; } send({ type: 'INIT_FLYPRO' }); return { send: send, subscribe: subscribe, getState: getState, getListeners: getListeners }; }