UNPKG

react-simple-modal-controller

Version:
34 lines (33 loc) 1.14 kB
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) { if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { if (ar || !(i in from)) { if (!ar) ar = Array.prototype.slice.call(from, 0, i); ar[i] = from[i]; } } return to.concat(ar || Array.prototype.slice.call(from)); }; import { modalReducer } from "./reducer"; var modalInfos = []; var listeners = []; export var emitChangeListener = function () { for (var _i = 0, listeners_1 = listeners; _i < listeners_1.length; _i++) { var listener = listeners_1[_i]; listener(); } }; export var dispatchModal = function (action) { modalInfos = modalReducer(modalInfos, action); emitChangeListener(); }; export var registerModalStore = { subscribe: function (listener) { listeners = __spreadArray(__spreadArray([], listeners, true), [listener], false); return function () { listeners = listeners.filter(function (l) { return l !== listener; }); }; }, getSnapshot: function () { return modalInfos; }, };