UNPKG

angular2-hmr

Version:

angular2-hmr: Hot Module Replacement for Webpack and Angular 2

58 lines 1.84 kB
"use strict"; var OpaqueToken = (function () { function OpaqueToken(_desc) { this._desc = _desc; } OpaqueToken.prototype.toString = function () { return "Token " + this._desc; }; return OpaqueToken; }()); exports.OpaqueToken = OpaqueToken; exports.HMR_STATE = new OpaqueToken('hmrState'); var HmrStore = (function () { function HmrStore() { } HmrStore.set = function (prop, value) { HmrStore._state[prop] = value; return HmrStore._state[prop]; }; HmrStore.get = function (prop) { return HmrStore._state[prop]; }; HmrStore.select = function (name, getState) { HmrStore._states.push({ name: name, getState: getState }); var defaultData = getState(); var currentData = HmrStore.get(name); if (defaultData && !currentData) { return HmrStore.set(name, defaultData); } else if (defaultData && currentData) { return HmrStore.set(name, Object.assign({}, defaultData, currentData)); } else { return HmrStore.set(name, currentData || defaultData); } }; HmrStore.dispose = function () { HmrStore._states = []; HmrStore._state = {}; HmrStore._initialValues = {}; }; HmrStore.getState = function () { var initialState = Object.assign({}, HmrStore._state); return HmrStore._states .reduce(function (memo, item) { memo[item.name] = item.getState(); return memo; }, initialState); }; HmrStore.toJSON = function () { return HmrStore.getState(); }; HmrStore.dev = false; HmrStore._state = {}; HmrStore._initialValues = {}; HmrStore._states = []; return HmrStore; }()); exports.HmrStore = HmrStore; //# sourceMappingURL=hmr-store.js.map