@ngxs/hmr-plugin 3.8.2-dev.master-0fd1fe5 → 3.8.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/ngxs-hmr-plugin.umd.js +790 -0
- package/bundles/ngxs-hmr-plugin.umd.js.map +1 -0
- package/esm2015/src/hmr-bootstrap.js +31 -0
- package/esm2015/src/hmr-manager.js +76 -0
- package/{esm2020/src/internal/hmr-state-context-factory.mjs → esm2015/src/internal/hmr-state-context-factory.js} +2 -2
- package/{esm2020/src/utils/externals.mjs → esm2015/src/utils/externals.js} +2 -2
- package/{esm2020/src/utils/internals.mjs → esm2015/src/utils/internals.js} +4 -4
- package/fesm2015/{ngxs-hmr-plugin.mjs → ngxs-hmr-plugin.js} +5 -5
- package/fesm2015/ngxs-hmr-plugin.js.map +1 -0
- package/ngxs-hmr-plugin.d.ts +5 -0
- package/package.json +10 -22
- package/esm2020/src/hmr-bootstrap.mjs +0 -28
- package/esm2020/src/hmr-manager.mjs +0 -73
- package/fesm2015/ngxs-hmr-plugin.mjs.map +0 -1
- package/fesm2020/ngxs-hmr-plugin.mjs +0 -266
- package/fesm2020/ngxs-hmr-plugin.mjs.map +0 -1
- /package/{esm2020/index.mjs → esm2015/index.js} +0 -0
- /package/{esm2020/ngxs-hmr-plugin.mjs → esm2015/ngxs-hmr-plugin.js} +0 -0
- /package/{esm2020/src/actions/hmr-before-destroy.action.mjs → esm2015/src/actions/hmr-before-destroy.action.js} +0 -0
- /package/{esm2020/src/actions/hmr-init.action.mjs → esm2015/src/actions/hmr-init.action.js} +0 -0
- /package/{esm2020/src/internal/hmr-lifecycle.mjs → esm2015/src/internal/hmr-lifecycle.js} +0 -0
- /package/{esm2020/src/internal/hmr-options-builder.mjs → esm2015/src/internal/hmr-options-builder.js} +0 -0
- /package/{esm2020/src/internal/hmr-storage.mjs → esm2015/src/internal/hmr-storage.js} +0 -0
- /package/{esm2020/src/public_api.mjs → esm2015/src/public_api.js} +0 -0
- /package/{esm2020/src/symbols.mjs → esm2015/src/symbols.js} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ngxs-hmr-plugin.umd.js","sources":["../../../packages/hmr-plugin/src/actions/hmr-init.action.ts","../../../packages/hmr-plugin/src/actions/hmr-before-destroy.action.ts","../../../node_modules/tslib/tslib.es6.mjs","../../../packages/hmr-plugin/src/internal/hmr-state-context-factory.ts","../../../packages/hmr-plugin/src/internal/hmr-options-builder.ts","../../../packages/hmr-plugin/src/internal/hmr-lifecycle.ts","../../../packages/hmr-plugin/src/hmr-manager.ts","../../../packages/hmr-plugin/src/internal/hmr-storage.ts","../../../packages/hmr-plugin/src/utils/internals.ts","../../../packages/hmr-plugin/src/hmr-bootstrap.ts","../../../packages/hmr-plugin/src/utils/externals.ts","../../../packages/hmr-plugin/index.ts","../../../packages/hmr-plugin/ngxs-hmr-plugin.ts"],"sourcesContent":["import { NgxsHmrSnapshot } from '../symbols';\n\nexport class HmrInitAction {\n static get type() {\n // NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138\n return '@@HMR_INIT';\n }\n\n constructor(public payload: Partial<NgxsHmrSnapshot>) {}\n}\n","import { NgxsHmrSnapshot } from '../symbols';\n\nexport class HmrBeforeDestroyAction {\n static get type() {\n // NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138\n return '@@HMR_BEFORE_DESTROY';\n }\n\n constructor(public payload: Partial<NgxsHmrSnapshot>) {}\n}\n","/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n function next() {\n while (env.stack.length) {\n var rec = env.stack.pop();\n try {\n var result = rec.dispose && rec.dispose.call(rec.value);\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n catch (e) {\n fail(e);\n }\n }\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n};\n","import { StateContext, Store } from '@ngxs/store';\nimport { isStateOperator } from '@ngxs/store/operators';\nimport { NgModuleRef } from '@angular/core';\n\nexport class HmrStateContextFactory<T, S> {\n public store: Store;\n\n constructor(module: NgModuleRef<T>) {\n const store = module.injector.get<Store>(Store, undefined);\n\n if (!store) {\n throw new Error('Store not found, maybe you forgot to import the NgxsModule');\n }\n\n this.store = store;\n }\n\n /**\n * @description\n * must be taken out into @ngxs/store/internals\n */\n public createStateContext(): StateContext<S> {\n return {\n dispatch: actions => this.store!.dispatch(actions),\n getState: () => <S>this.store!.snapshot(),\n setState: val => {\n if (isStateOperator(val)) {\n const currentState = this.store!.snapshot();\n val = val(currentState);\n }\n\n this.store!.reset(val);\n return <S>val;\n },\n patchState: val => {\n const currentState = this.store!.snapshot();\n const newState = { ...currentState, ...(<object>val) };\n this.store!.reset(newState);\n return newState;\n }\n };\n }\n}\n","import { NgxsHmrOptions } from '../symbols';\n\nexport class HmrOptionBuilder {\n public readonly deferTime: number;\n public readonly autoClearLogs: boolean;\n\n constructor({ deferTime, autoClearLogs }: NgxsHmrOptions) {\n this.deferTime = deferTime || 100;\n this.autoClearLogs = autoClearLogs === undefined ? true : autoClearLogs;\n }\n\n public clearLogs(): void {\n if (this.autoClearLogs) {\n console.clear();\n }\n }\n}\n","import { NgxsBootstrapper } from '@ngxs/store/internals';\nimport { Observable, Subscription } from 'rxjs';\nimport { StateContext } from '@ngxs/store';\n\nimport { HmrOptionBuilder } from './hmr-options-builder';\nimport { HmrCallback, NgxsHmrLifeCycle } from '../symbols';\nimport { HmrStateContextFactory } from './hmr-state-context-factory';\nimport { HmrBeforeDestroyAction } from '../actions/hmr-before-destroy.action';\nimport { HmrStorage } from './hmr-storage';\n\nexport class HmrLifecycle<T extends Partial<NgxsHmrLifeCycle<S>>, S> {\n constructor(\n private ngAppModule: T,\n private bootstrap: NgxsBootstrapper,\n private storage: HmrStorage<S>,\n private context: HmrStateContextFactory<T, S>,\n private options: HmrOptionBuilder\n ) {}\n\n public hmrNgxsStoreOnInit(hmrAfterOnInit: HmrCallback<S>) {\n let moduleHmrInit: HmrCallback<S> = this.getModuleHmrInitCallback();\n moduleHmrInit = moduleHmrInit.bind(this.ngAppModule);\n this.detectIvyWithJIT();\n this.stateEventLoop((ctx, state) => {\n moduleHmrInit(ctx, state);\n hmrAfterOnInit(ctx, state);\n });\n }\n\n private getModuleHmrInitCallback(): HmrCallback<S> {\n if (typeof this.ngAppModule.hmrNgxsStoreOnInit === 'function') {\n return this.ngAppModule.hmrNgxsStoreOnInit;\n }\n return function defaultModuleHmrInit(ctx, state) {\n ctx.patchState(state);\n };\n }\n\n public hmrNgxsStoreBeforeOnDestroy(): Partial<S> {\n let state: Partial<S> = {};\n const ctx: StateContext<S> = this.context.createStateContext();\n if (typeof this.ngAppModule.hmrNgxsStoreBeforeOnDestroy === 'function') {\n state = this.ngAppModule.hmrNgxsStoreBeforeOnDestroy(ctx);\n } else {\n state = ctx.getState();\n }\n\n ctx.dispatch(new HmrBeforeDestroyAction(state));\n return state;\n }\n\n private stateEventLoop(callback: HmrCallback<S>): void {\n if (!this.storage.hasData()) return;\n\n const appBootstrapped$: Observable<boolean> = this.bootstrap.appBootstrapped$;\n const state$: Observable<any> = this.context.store.select(state => state);\n\n appBootstrapped$.subscribe(() => {\n let eventId: number;\n const storeEventId: Subscription = state$.subscribe(() => {\n // setTimeout used for zone detection after set hmr state\n clearInterval(eventId);\n eventId = window.setTimeout(() => {\n // close check on the message queue\n storeEventId.unsubscribe();\n // if events are no longer running on the call stack,\n // then we can update the state\n callback(this.context.createStateContext(), this.storage.snapshot as Partial<S>);\n }, this.options.deferTime);\n });\n });\n }\n\n private detectIvyWithJIT(): void {\n const jit: boolean = this.ngAppModule.constructor.hasOwnProperty('__annotations__');\n const ivy: boolean = this.ngAppModule.constructor.hasOwnProperty('ɵmod');\n if (jit && ivy) {\n throw new Error(\n `@ngxs/hmr-plugin doesn't work with JIT mode in Angular Ivy. Please use AOT mode.`\n );\n }\n }\n}\n","import { ApplicationRef, ComponentRef, NgModuleRef } from '@angular/core';\nimport { InitialState, NgxsBootstrapper } from '@ngxs/store/internals';\n\nimport { HmrStorage } from './internal/hmr-storage';\nimport {\n BootstrapModuleFn,\n NgxsHmrLifeCycle,\n NgxsHmrOptions,\n NgxsHmrSnapshot\n} from './symbols';\nimport { HmrStateContextFactory } from './internal/hmr-state-context-factory';\nimport { HmrOptionBuilder } from './internal/hmr-options-builder';\nimport { HmrInitAction } from './actions/hmr-init.action';\nimport { HmrLifecycle } from './internal/hmr-lifecycle';\n\ntype OldHostRemoverFn = () => void;\n\nexport class HmrManager<T extends Partial<NgxsHmrLifeCycle<S>>, S = NgxsHmrSnapshot> {\n public storage: HmrStorage<S>;\n public context: HmrStateContextFactory<T, S>;\n public lifecycle: HmrLifecycle<T, S>;\n public optionsBuilder: HmrOptionBuilder;\n private ngModule: NgModuleRef<T>;\n\n constructor(options: NgxsHmrOptions, storage: HmrStorage<S>) {\n this.storage = storage;\n this.optionsBuilder = new HmrOptionBuilder(options);\n }\n\n private get applicationRef(): ApplicationRef {\n return this.ngModule.injector.get(ApplicationRef);\n }\n\n private get bootstrap(): NgxsBootstrapper {\n return this.ngModule.injector.get(NgxsBootstrapper);\n }\n\n public async hmrModule(\n bootstrapFn: BootstrapModuleFn<T>,\n tick: () => void\n ): Promise<NgModuleRef<T>> {\n InitialState.set(this.storage.snapshot);\n this.ngModule = await bootstrapFn();\n this.context = new HmrStateContextFactory(this.ngModule);\n this.lifecycle = this.createLifecycle();\n\n tick();\n\n InitialState.pop();\n return this.ngModule;\n }\n\n public beforeModuleBootstrap(): void {\n this.lifecycle.hmrNgxsStoreOnInit((ctx, state) => {\n ctx.dispatch(new HmrInitAction(state));\n });\n }\n\n public beforeModuleOnDestroy(): Partial<S> {\n this.optionsBuilder.clearLogs();\n return this.lifecycle.hmrNgxsStoreBeforeOnDestroy();\n }\n\n public createNewModule(): void {\n const removeOldHosts: () => void = this.cloneHostsBeforeDestroy();\n this.removeNgStyles();\n this.ngModule.destroy();\n removeOldHosts();\n }\n\n private createLifecycle(): HmrLifecycle<T, S> {\n return new HmrLifecycle(\n this.ngModule.instance,\n this.bootstrap,\n this.storage,\n this.context,\n this.optionsBuilder\n );\n }\n\n private cloneHostsBeforeDestroy(): () => void {\n const elements: Element[] = this.applicationRef.components.map(\n (component: ComponentRef<Element>) => component.location.nativeElement\n );\n\n const removableList: OldHostRemoverFn[] = elements.map((componentNode: Element) => {\n const newNode = document.createElement(componentNode.tagName);\n const parentNode: Node = componentNode.parentNode as Node;\n const currentDisplay: string | null = newNode.style.display;\n\n newNode.style.display = 'none';\n parentNode.insertBefore(newNode, componentNode);\n\n return (): void => {\n newNode.style.display = currentDisplay;\n try {\n parentNode.removeChild(componentNode);\n } catch {}\n };\n });\n\n return function removeOldHosts(): void {\n removableList.forEach((removeOldHost: OldHostRemoverFn) => removeOldHost());\n };\n }\n\n private removeNgStyles(): void {\n const head: HTMLHeadElement = document.head!;\n const styles: HTMLStyleElement[] = Array.from(head!.querySelectorAll('style'));\n\n styles\n .filter((style: HTMLStyleElement) => style.innerText.includes('_ng'))\n .map((style: HTMLStyleElement) => head!.removeChild(style));\n }\n}\n","export class HmrStorage<S> {\n constructor(private _snapshot: Partial<S> = {}) {}\n\n public hasData(): boolean {\n return Object.keys(this._snapshot).length > 0;\n }\n\n public get snapshot(): Partial<S> {\n return this._snapshot;\n }\n}\n","import { HmrRuntime } from '../symbols';\n\ndeclare const window: any;\n\nexport function setHmrReloadedTo(value: boolean): void {\n if (window[HmrRuntime.Status]) {\n window[HmrRuntime.Status].hmrReloaded = value;\n }\n}\n\nexport function markApplicationAsHmrReloaded(): void {\n window[HmrRuntime.Status] = window[HmrRuntime.Status] || {\n hmrReloaded: false\n };\n}\n","import { NgModuleRef } from '@angular/core';\nimport { HmrManager } from './hmr-manager';\nimport { BootstrapModuleFn, NgxsHmrOptions, WebpackModule } from './symbols';\nimport { HmrStorage } from './internal/hmr-storage';\nimport { markApplicationAsHmrReloaded, setHmrReloadedTo } from './utils/internals';\n\n/**\n * Hot Module Replacement plugin for NGXS\n * @deprecated As of Angular v10, HMR is no longer supported and will be deprecated.\n * More information [here](https://www.ngxs.io/plugins/hmr).\n */\nexport async function hmr<T>(\n webpackModule: WebpackModule,\n bootstrapFn: BootstrapModuleFn<T>,\n options: NgxsHmrOptions = {}\n): Promise<NgModuleRef<T>> {\n if (!webpackModule.hot) {\n console.error('Are you using the --hmr flag for ng serve?');\n throw new Error('HMR is not enabled for webpack-dev-server!');\n }\n\n markApplicationAsHmrReloaded();\n\n webpackModule.hot.accept();\n\n interface HmrDataTransfer {\n snapshot?: any;\n }\n const dataTransfer: HmrDataTransfer = webpackModule.hot.data || {};\n\n const storage = new HmrStorage<any>(dataTransfer.snapshot || {});\n const manager = new HmrManager<T>(options, storage);\n\n return await manager.hmrModule(bootstrapFn, () => {\n manager.beforeModuleBootstrap();\n\n webpackModule.hot!.dispose((data: HmrDataTransfer) => {\n setHmrReloadedTo(true);\n data.snapshot = manager.beforeModuleOnDestroy();\n manager.createNewModule();\n });\n });\n}\n","import { HmrRuntime } from '../symbols';\n\ndeclare const window: any;\n\nexport function hmrIsReloaded(): boolean {\n return !!(window[HmrRuntime.Status] && window[HmrRuntime.Status].hmrReloaded);\n}\n","/**\n * The public api for consumers of @ngxs/hmr-plugin\n */\nexport * from './src/public_api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["store","Store","isStateOperator","ApplicationRef","NgxsBootstrapper","InitialState"],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { __awaiter } from "tslib";
|
|
2
|
+
import { HmrManager } from './hmr-manager';
|
|
3
|
+
import { HmrStorage } from './internal/hmr-storage';
|
|
4
|
+
import { markApplicationAsHmrReloaded, setHmrReloadedTo } from './utils/internals';
|
|
5
|
+
/**
|
|
6
|
+
* Hot Module Replacement plugin for NGXS
|
|
7
|
+
* @deprecated As of Angular v10, HMR is no longer supported and will be deprecated.
|
|
8
|
+
* More information [here](https://www.ngxs.io/plugins/hmr).
|
|
9
|
+
*/
|
|
10
|
+
export function hmr(webpackModule, bootstrapFn, options = {}) {
|
|
11
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
12
|
+
if (!webpackModule.hot) {
|
|
13
|
+
console.error('Are you using the --hmr flag for ng serve?');
|
|
14
|
+
throw new Error('HMR is not enabled for webpack-dev-server!');
|
|
15
|
+
}
|
|
16
|
+
markApplicationAsHmrReloaded();
|
|
17
|
+
webpackModule.hot.accept();
|
|
18
|
+
const dataTransfer = webpackModule.hot.data || {};
|
|
19
|
+
const storage = new HmrStorage(dataTransfer.snapshot || {});
|
|
20
|
+
const manager = new HmrManager(options, storage);
|
|
21
|
+
return yield manager.hmrModule(bootstrapFn, () => {
|
|
22
|
+
manager.beforeModuleBootstrap();
|
|
23
|
+
webpackModule.hot.dispose((data) => {
|
|
24
|
+
setHmrReloadedTo(true);
|
|
25
|
+
data.snapshot = manager.beforeModuleOnDestroy();
|
|
26
|
+
manager.createNewModule();
|
|
27
|
+
});
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG1yLWJvb3RzdHJhcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2htci1wbHVnaW4vc3JjL2htci1ib290c3RyYXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3BELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRW5GOzs7O0dBSUc7QUFDSCxNQUFNLFVBQWdCLEdBQUcsQ0FDdkIsYUFBNEIsRUFDNUIsV0FBaUMsRUFDakMsVUFBMEIsRUFBRTs7UUFFNUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLEVBQUU7WUFDdEIsT0FBTyxDQUFDLEtBQUssQ0FBQyw0Q0FBNEMsQ0FBQyxDQUFDO1lBQzVELE1BQU0sSUFBSSxLQUFLLENBQUMsNENBQTRDLENBQUMsQ0FBQztTQUMvRDtRQUVELDRCQUE0QixFQUFFLENBQUM7UUFFL0IsYUFBYSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUszQixNQUFNLFlBQVksR0FBb0IsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO1FBRW5FLE1BQU0sT0FBTyxHQUFHLElBQUksVUFBVSxDQUFNLFlBQVksQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDLENBQUM7UUFDakUsTUFBTSxPQUFPLEdBQUcsSUFBSSxVQUFVLENBQUksT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRXBELE9BQU8sTUFBTSxPQUFPLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxHQUFHLEVBQUU7WUFDL0MsT0FBTyxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFFaEMsYUFBYSxDQUFDLEdBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFxQixFQUFFLEVBQUU7Z0JBQ25ELGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUN2QixJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO2dCQUNoRCxPQUFPLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDNUIsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIbXJNYW5hZ2VyIH0gZnJvbSAnLi9obXItbWFuYWdlcic7XG5pbXBvcnQgeyBCb290c3RyYXBNb2R1bGVGbiwgTmd4c0htck9wdGlvbnMsIFdlYnBhY2tNb2R1bGUgfSBmcm9tICcuL3N5bWJvbHMnO1xuaW1wb3J0IHsgSG1yU3RvcmFnZSB9IGZyb20gJy4vaW50ZXJuYWwvaG1yLXN0b3JhZ2UnO1xuaW1wb3J0IHsgbWFya0FwcGxpY2F0aW9uQXNIbXJSZWxvYWRlZCwgc2V0SG1yUmVsb2FkZWRUbyB9IGZyb20gJy4vdXRpbHMvaW50ZXJuYWxzJztcblxuLyoqXG4gKiBIb3QgTW9kdWxlIFJlcGxhY2VtZW50IHBsdWdpbiBmb3IgTkdYU1xuICogQGRlcHJlY2F0ZWQgQXMgb2YgQW5ndWxhciB2MTAsIEhNUiBpcyBubyBsb25nZXIgc3VwcG9ydGVkIGFuZCB3aWxsIGJlIGRlcHJlY2F0ZWQuXG4gKiBNb3JlIGluZm9ybWF0aW9uIFtoZXJlXShodHRwczovL3d3dy5uZ3hzLmlvL3BsdWdpbnMvaG1yKS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGhtcjxUPihcbiAgd2VicGFja01vZHVsZTogV2VicGFja01vZHVsZSxcbiAgYm9vdHN0cmFwRm46IEJvb3RzdHJhcE1vZHVsZUZuPFQ+LFxuICBvcHRpb25zOiBOZ3hzSG1yT3B0aW9ucyA9IHt9XG4pOiBQcm9taXNlPE5nTW9kdWxlUmVmPFQ+PiB7XG4gIGlmICghd2VicGFja01vZHVsZS5ob3QpIHtcbiAgICBjb25zb2xlLmVycm9yKCdBcmUgeW91IHVzaW5nIHRoZSAtLWhtciBmbGFnIGZvciBuZyBzZXJ2ZT8nKTtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0hNUiBpcyBub3QgZW5hYmxlZCBmb3Igd2VicGFjay1kZXYtc2VydmVyIScpO1xuICB9XG5cbiAgbWFya0FwcGxpY2F0aW9uQXNIbXJSZWxvYWRlZCgpO1xuXG4gIHdlYnBhY2tNb2R1bGUuaG90LmFjY2VwdCgpO1xuXG4gIGludGVyZmFjZSBIbXJEYXRhVHJhbnNmZXIge1xuICAgIHNuYXBzaG90PzogYW55O1xuICB9XG4gIGNvbnN0IGRhdGFUcmFuc2ZlcjogSG1yRGF0YVRyYW5zZmVyID0gd2VicGFja01vZHVsZS5ob3QuZGF0YSB8fCB7fTtcblxuICBjb25zdCBzdG9yYWdlID0gbmV3IEhtclN0b3JhZ2U8YW55PihkYXRhVHJhbnNmZXIuc25hcHNob3QgfHwge30pO1xuICBjb25zdCBtYW5hZ2VyID0gbmV3IEhtck1hbmFnZXI8VD4ob3B0aW9ucywgc3RvcmFnZSk7XG5cbiAgcmV0dXJuIGF3YWl0IG1hbmFnZXIuaG1yTW9kdWxlKGJvb3RzdHJhcEZuLCAoKSA9PiB7XG4gICAgbWFuYWdlci5iZWZvcmVNb2R1bGVCb290c3RyYXAoKTtcblxuICAgIHdlYnBhY2tNb2R1bGUuaG90IS5kaXNwb3NlKChkYXRhOiBIbXJEYXRhVHJhbnNmZXIpID0+IHtcbiAgICAgIHNldEhtclJlbG9hZGVkVG8odHJ1ZSk7XG4gICAgICBkYXRhLnNuYXBzaG90ID0gbWFuYWdlci5iZWZvcmVNb2R1bGVPbkRlc3Ryb3koKTtcbiAgICAgIG1hbmFnZXIuY3JlYXRlTmV3TW9kdWxlKCk7XG4gICAgfSk7XG4gIH0pO1xufVxuIl19
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { __awaiter } from "tslib";
|
|
2
|
+
import { ApplicationRef } from '@angular/core';
|
|
3
|
+
import { InitialState, NgxsBootstrapper } from '@ngxs/store/internals';
|
|
4
|
+
import { HmrStateContextFactory } from './internal/hmr-state-context-factory';
|
|
5
|
+
import { HmrOptionBuilder } from './internal/hmr-options-builder';
|
|
6
|
+
import { HmrInitAction } from './actions/hmr-init.action';
|
|
7
|
+
import { HmrLifecycle } from './internal/hmr-lifecycle';
|
|
8
|
+
export class HmrManager {
|
|
9
|
+
constructor(options, storage) {
|
|
10
|
+
this.storage = storage;
|
|
11
|
+
this.optionsBuilder = new HmrOptionBuilder(options);
|
|
12
|
+
}
|
|
13
|
+
get applicationRef() {
|
|
14
|
+
return this.ngModule.injector.get(ApplicationRef);
|
|
15
|
+
}
|
|
16
|
+
get bootstrap() {
|
|
17
|
+
return this.ngModule.injector.get(NgxsBootstrapper);
|
|
18
|
+
}
|
|
19
|
+
hmrModule(bootstrapFn, tick) {
|
|
20
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
21
|
+
InitialState.set(this.storage.snapshot);
|
|
22
|
+
this.ngModule = yield bootstrapFn();
|
|
23
|
+
this.context = new HmrStateContextFactory(this.ngModule);
|
|
24
|
+
this.lifecycle = this.createLifecycle();
|
|
25
|
+
tick();
|
|
26
|
+
InitialState.pop();
|
|
27
|
+
return this.ngModule;
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
beforeModuleBootstrap() {
|
|
31
|
+
this.lifecycle.hmrNgxsStoreOnInit((ctx, state) => {
|
|
32
|
+
ctx.dispatch(new HmrInitAction(state));
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
beforeModuleOnDestroy() {
|
|
36
|
+
this.optionsBuilder.clearLogs();
|
|
37
|
+
return this.lifecycle.hmrNgxsStoreBeforeOnDestroy();
|
|
38
|
+
}
|
|
39
|
+
createNewModule() {
|
|
40
|
+
const removeOldHosts = this.cloneHostsBeforeDestroy();
|
|
41
|
+
this.removeNgStyles();
|
|
42
|
+
this.ngModule.destroy();
|
|
43
|
+
removeOldHosts();
|
|
44
|
+
}
|
|
45
|
+
createLifecycle() {
|
|
46
|
+
return new HmrLifecycle(this.ngModule.instance, this.bootstrap, this.storage, this.context, this.optionsBuilder);
|
|
47
|
+
}
|
|
48
|
+
cloneHostsBeforeDestroy() {
|
|
49
|
+
const elements = this.applicationRef.components.map((component) => component.location.nativeElement);
|
|
50
|
+
const removableList = elements.map((componentNode) => {
|
|
51
|
+
const newNode = document.createElement(componentNode.tagName);
|
|
52
|
+
const parentNode = componentNode.parentNode;
|
|
53
|
+
const currentDisplay = newNode.style.display;
|
|
54
|
+
newNode.style.display = 'none';
|
|
55
|
+
parentNode.insertBefore(newNode, componentNode);
|
|
56
|
+
return () => {
|
|
57
|
+
newNode.style.display = currentDisplay;
|
|
58
|
+
try {
|
|
59
|
+
parentNode.removeChild(componentNode);
|
|
60
|
+
}
|
|
61
|
+
catch (_a) { }
|
|
62
|
+
};
|
|
63
|
+
});
|
|
64
|
+
return function removeOldHosts() {
|
|
65
|
+
removableList.forEach((removeOldHost) => removeOldHost());
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
removeNgStyles() {
|
|
69
|
+
const head = document.head;
|
|
70
|
+
const styles = Array.from(head.querySelectorAll('style'));
|
|
71
|
+
styles
|
|
72
|
+
.filter((style) => style.innerText.includes('_ng'))
|
|
73
|
+
.map((style) => head.removeChild(style));
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG1yLW1hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9obXItcGx1Z2luL3NyYy9obXItbWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLGNBQWMsRUFBNkIsTUFBTSxlQUFlLENBQUM7QUFDMUUsT0FBTyxFQUFFLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBU3ZFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFJeEQsTUFBTSxPQUFPLFVBQVU7SUFPckIsWUFBWSxPQUF1QixFQUFFLE9BQXNCO1FBQ3pELElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsSUFBWSxjQUFjO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxJQUFZLFNBQVM7UUFDbkIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRVksU0FBUyxDQUNwQixXQUFpQyxFQUNqQyxJQUFnQjs7WUFFaEIsWUFBWSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3hDLElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxXQUFXLEVBQUUsQ0FBQztZQUNw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QUMsQ0FBQzthQUNwRSxHQUFHLENBQUMsQ0FBQyxLQUF1QixFQUFFLEVBQUUsQ0FBQyxJQUFLLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDaEUsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXBwbGljYXRpb25SZWYsIENvbXBvbmVudFJlZiwgTmdNb2R1bGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEluaXRpYWxTdGF0ZSwgTmd4c0Jvb3RzdHJhcHBlciB9IGZyb20gJ0BuZ3hzL3N0b3JlL2ludGVybmFscyc7XG5cbmltcG9ydCB7IEhtclN0b3JhZ2UgfSBmcm9tICcuL2ludGVybmFsL2htci1zdG9yYWdlJztcbmltcG9ydCB7XG4gIEJvb3RzdHJhcE1vZHVsZUZuLFxuICBOZ3hzSG1yTGlmZUN5Y2xlLFxuICBOZ3hzSG1yT3B0aW9ucyxcbiAgTmd4c0htclNuYXBzaG90XG59IGZyb20gJy4vc3ltYm9scyc7XG5pbXBvcnQgeyBIbXJTdGF0ZUNvbnRleHRGYWN0b3J5IH0gZnJvbSAnLi9pbnRlcm5hbC9obXItc3RhdGUtY29udGV4dC1mYWN0b3J5JztcbmltcG9ydCB7IEhtck9wdGlvbkJ1aWxkZXIgfSBmcm9tICcuL2ludGVybmFsL2htci1vcHRpb25zLWJ1aWxkZXInO1xuaW1wb3J0IHsgSG1ySW5pdEFjdGlvbiB9IGZyb20gJy4vYWN0aW9ucy9obXItaW5pdC5hY3Rpb24nO1xuaW1wb3J0IHsgSG1yTGlmZWN5Y2xlIH0gZnJvbSAnLi9pbnRlcm5hbC9obXItbGlmZWN5Y2xlJztcblxudHlwZSBPbGRIb3N0UmVtb3ZlckZuID0gKCkgPT4gdm9pZDtcblxuZXhwb3J0IGNsYXNzIEhtck1hbmFnZXI8VCBleHRlbmRzIFBhcnRpYWw8Tmd4c0htckxpZmVDeWNsZTxTPj4sIFMgPSBOZ3hzSG1yU25hcHNob3Q+IHtcbiAgcHVibGljIHN0b3JhZ2U6IEhtclN0b3JhZ2U8Uz47XG4gIHB1YmxpYyBjb250ZXh0OiBIbXJTdGF0ZUNvbnRleHRGYWN0b3J5PFQsIFM+O1xuICBwdWJsaWMgbGlmZWN5Y2xlOiBIbXJMaWZlY3ljbGU8VCwgUz47XG4gIHB1YmxpYyBvcHRpb25zQnVpbGRlcjogSG1yT3B0aW9uQnVpbGRlcjtcbiAgcHJpdmF0ZSBuZ01vZHVsZTogTmdNb2R1bGVSZWY8VD47XG5cbiAgY29uc3RydWN0b3Iob3B0aW9uczogTmd4c0htck9wdGlvbnMsIHN0b3JhZ2U6IEhtclN0b3JhZ2U8Uz4pIHtcbiAgICB0aGlzLnN0b3JhZ2UgPSBzdG9yYWdlO1xuICAgIHRoaXMub3B0aW9uc0J1aWxkZXIgPSBuZXcgSG1yT3B0aW9uQnVpbGRlcihvcHRpb25zKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IGFwcGxpY2F0aW9uUmVmKCk6IEFwcGxpY2F0aW9uUmVmIHtcbiAgICByZXR1cm4gdGhpcy5uZ01vZHVsZS5pbmplY3Rvci5nZXQoQXBwbGljYXRpb25SZWYpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgYm9vdHN0cmFwKCk6IE5neHNCb290c3RyYXBwZXIge1xuICAgIHJldHVybiB0aGlzLm5nTW9kdWxlLmluamVjdG9yLmdldChOZ3hzQm9vdHN0cmFwcGVyKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBobXJNb2R1bGUoXG4gICAgYm9vdHN0cmFwRm46IEJvb3RzdHJhcE1vZHVsZUZuPFQ+LFxuICAgIHRpY2s6ICgpID0+IHZvaWRcbiAgKTogUHJvbWlzZTxOZ01vZHVsZVJlZjxUPj4ge1xuICAgIEluaXRpYWxTdGF0ZS5zZXQodGhpcy5zdG9yYWdlLnNuYXBzaG90KTtcbiAgICB0aGlzLm5nTW9kdWxlID0gYXdhaXQgYm9vdHN0cmFwRm4oKTtcbiAgICB0aGlzLmNvbnRleHQgPSBuZXcgSG1yU3RhdGVDb250ZXh0RmFjdG9yeSh0aGlzLm5nTW9kdWxlKTtcbiAgICB0aGlzLmxpZmVjeWNsZSA9IHRoaXMuY3JlYXRlTGlmZWN5Y2xlKCk7XG5cbiAgICB0aWNrKCk7XG5cbiAgICBJbml0aWFsU3RhdGUucG9wKCk7XG4gICAgcmV0dXJuIHRoaXMubmdNb2R1bGU7XG4gIH1cblxuICBwdWJsaWMgYmVmb3JlTW9kdWxlQm9vdHN0cmFwKCk6IHZvaWQge1xuICAgIHRoaXMubGlmZWN5Y2xlLmhtck5neHNTdG9yZU9uSW5pdCgoY3R4LCBzdGF0ZSkgPT4ge1xuICAgICAgY3R4LmRpc3BhdGNoKG5ldyBIbXJJbml0QWN0aW9uKHN0YXRlKSk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgYmVmb3JlTW9kdWxlT25EZXN0cm95KCk6IFBhcnRpYWw8Uz4ge1xuICAgIHRoaXMub3B0aW9uc0J1aWxkZXIuY2xlYXJMb2dzKCk7XG4gICAgcmV0dXJuIHRoaXMubGlmZWN5Y2xlLmhtck5neHNTdG9yZUJlZm9yZU9uRGVzdHJveSgpO1xuICB9XG5cbiAgcHVibGljIGNyZWF0ZU5ld01vZHVsZSgpOiB2b2lkIHtcbiAgICBjb25zdCByZW1vdmVPbGRIb3N0czogKCkgPT4gdm9pZCA9IHRoaXMuY2xvbmVIb3N0c0JlZm9yZURlc3Ryb3koKTtcbiAgICB0aGlzLnJlbW92ZU5nU3R5bGVzKCk7XG4gICAgdGhpcy5uZ01vZHVsZS5kZXN0cm95KCk7XG4gICAgcmVtb3ZlT2xkSG9zdHMoKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlTGlmZWN5Y2xlKCk6IEhtckxpZmVjeWNsZTxULCBTPiB7XG4gICAgcmV0dXJuIG5ldyBIbXJMaWZlY3ljbGUoXG4gICAgICB0aGlzLm5nTW9kdWxlLmluc3RhbmNlLFxuICAgICAgdGhpcy5ib290c3RyYXAsXG4gICAgICB0aGlzLnN0b3JhZ2UsXG4gICAgICB0aGlzLmNvbnRleHQsXG4gICAgICB0aGlzLm9wdGlvbnNCdWlsZGVyXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgY2xvbmVIb3N0c0JlZm9yZURlc3Ryb3koKTogKCkgPT4gdm9pZCB7XG4gICAgY29uc3QgZWxlbWVudHM6IEVsZW1lbnRbXSA9IHRoaXMuYXBwbGljYXRpb25SZWYuY29tcG9uZW50cy5tYXAoXG4gICAgICAoY29tcG9uZW50OiBDb21wb25lbnRSZWY8RWxlbWVudD4pID0+IGNvbXBvbmVudC5sb2NhdGlvbi5uYXRpdmVFbGVtZW50XG4gICAgKTtcblxuICAgIGNvbnN0IHJlbW92YWJsZUxpc3Q6IE9sZEhvc3RSZW1vdmVyRm5bXSA9IGVsZW1lbnRzLm1hcCgoY29tcG9uZW50Tm9kZTogRWxlbWVudCkgPT4ge1xuICAgICAgY29uc3QgbmV3Tm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoY29tcG9uZW50Tm9kZS50YWdOYW1lKTtcbiAgICAgIGNvbnN0IHBhcmVudE5vZGU6IE5vZGUgPSBjb21wb25lbnROb2RlLnBhcmVudE5vZGUgYXMgTm9kZTtcbiAgICAgIGNvbnN0IGN1cnJlbnREaXNwbGF5OiBzdHJpbmcgfCBudWxsID0gbmV3Tm9kZS5zdHlsZS5kaXNwbGF5O1xuXG4gICAgICBuZXdOb2RlLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gICAgICBwYXJlbnROb2RlLmluc2VydEJlZm9yZShuZXdOb2RlLCBjb21wb25lbnROb2RlKTtcblxuICAgICAgcmV0dXJuICgpOiB2b2lkID0+IHtcbiAgICAgICAgbmV3Tm9kZS5zdHlsZS5kaXNwbGF5ID0gY3VycmVudERpc3BsYXk7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgcGFyZW50Tm9kZS5yZW1vdmVDaGlsZChjb21wb25lbnROb2RlKTtcbiAgICAgICAgfSBjYXRjaCB7fVxuICAgICAgfTtcbiAgICB9KTtcblxuICAgIHJldHVybiBmdW5jdGlvbiByZW1vdmVPbGRIb3N0cygpOiB2b2lkIHtcbiAgICAgIHJlbW92YWJsZUxpc3QuZm9yRWFjaCgocmVtb3ZlT2xkSG9zdDogT2xkSG9zdFJlbW92ZXJGbikgPT4gcmVtb3ZlT2xkSG9zdCgpKTtcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmVOZ1N0eWxlcygpOiB2b2lkIHtcbiAgICBjb25zdCBoZWFkOiBIVE1MSGVhZEVsZW1lbnQgPSBkb2N1bWVudC5oZWFkITtcbiAgICBjb25zdCBzdHlsZXM6IEhUTUxTdHlsZUVsZW1lbnRbXSA9IEFycmF5LmZyb20oaGVhZCEucXVlcnlTZWxlY3RvckFsbCgnc3R5bGUnKSk7XG5cbiAgICBzdHlsZXNcbiAgICAgIC5maWx0ZXIoKHN0eWxlOiBIVE1MU3R5bGVFbGVtZW50KSA9PiBzdHlsZS5pbm5lclRleHQuaW5jbHVkZXMoJ19uZycpKVxuICAgICAgLm1hcCgoc3R5bGU6IEhUTUxTdHlsZUVsZW1lbnQpID0+IGhlYWQhLnJlbW92ZUNoaWxkKHN0eWxlKSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -26,11 +26,11 @@ export class HmrStateContextFactory {
|
|
|
26
26
|
},
|
|
27
27
|
patchState: val => {
|
|
28
28
|
const currentState = this.store.snapshot();
|
|
29
|
-
const newState = {
|
|
29
|
+
const newState = Object.assign(Object.assign({}, currentState), val);
|
|
30
30
|
this.store.reset(newState);
|
|
31
31
|
return newState;
|
|
32
32
|
}
|
|
33
33
|
};
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG1yLXN0YXRlLWNvbnRleHQtZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2htci1wbHVnaW4vc3JjL2ludGVybmFsL2htci1zdGF0ZS1jb250ZXh0LWZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDbEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBR3hELE1BQU0sT0FBTyxzQkFBc0I7SUFHakMsWUFBWSxNQUFzQjtRQUNoQyxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBUSxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFFM0QsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNWLE1BQU0sSUFBSSxLQUFLLENBQUMsNERBQTRELENBQUMsQ0FBQztTQUMvRTtRQUVELElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7SUFFRDs7O09BR0c7SUFDSSxrQkFBa0I7UUFDdkIsT0FBTztZQUNMLFFBQVEsRUFBRSxPQUFPLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFNLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQztZQUNsRCxRQUFRLEVBQUUsR0FBRyxFQUFFLENBQUksSUFBSSxDQUFDLEtBQU0sQ0FBQyxRQUFRLEVBQUU7WUFDekMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxFQUFFO2dCQUNkLElBQUksZUFBZSxDQUFDLEdBQUcsQ0FBQyxFQUFFO29CQUN4QixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsS0FBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO29CQUM1QyxHQUFHLEdBQUcsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDO2lCQUN6QjtnQkFFRCxJQUFJLENBQUMsS0FBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDdkIsT0FBVSxHQUFHLENBQUM7WUFDaEIsQ0FBQztZQUNELFVBQVUsRUFBRSxHQUFHLENBQUMsRUFBRTtnQkFDaEIsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDNUMsTUFBTSxRQUFRLG1DQUFRLFlBQVksR0FBYyxHQUFJLENBQUUsQ0FBQztnQkFDdkQsSUFBSSxDQUFDLEtBQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzVCLE9BQU8sUUFBUSxDQUFDO1lBQ2xCLENBQUM7U0FDRixDQUFDO0lBQ0osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3RhdGVDb250ZXh0LCBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IGlzU3RhdGVPcGVyYXRvciB9IGZyb20gJ0BuZ3hzL3N0b3JlL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBOZ01vZHVsZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY2xhc3MgSG1yU3RhdGVDb250ZXh0RmFjdG9yeTxULCBTPiB7XG4gIHB1YmxpYyBzdG9yZTogU3RvcmU7XG5cbiAgY29uc3RydWN0b3IobW9kdWxlOiBOZ01vZHVsZVJlZjxUPikge1xuICAgIGNvbnN0IHN0b3JlID0gbW9kdWxlLmluamVjdG9yLmdldDxTdG9yZT4oU3RvcmUsIHVuZGVmaW5lZCk7XG5cbiAgICBpZiAoIXN0b3JlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1N0b3JlIG5vdCBmb3VuZCwgbWF5YmUgeW91IGZvcmdvdCB0byBpbXBvcnQgdGhlIE5neHNNb2R1bGUnKTtcbiAgICB9XG5cbiAgICB0aGlzLnN0b3JlID0gc3RvcmU7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIG11c3QgYmUgdGFrZW4gb3V0IGludG8gIEBuZ3hzL3N0b3JlL2ludGVybmFsc1xuICAgKi9cbiAgcHVibGljIGNyZWF0ZVN0YXRlQ29udGV4dCgpOiBTdGF0ZUNvbnRleHQ8Uz4ge1xuICAgIHJldHVybiB7XG4gICAgICBkaXNwYXRjaDogYWN0aW9ucyA9PiB0aGlzLnN0b3JlIS5kaXNwYXRjaChhY3Rpb25zKSxcbiAgICAgIGdldFN0YXRlOiAoKSA9PiA8Uz50aGlzLnN0b3JlIS5zbmFwc2hvdCgpLFxuICAgICAgc2V0U3RhdGU6IHZhbCA9PiB7XG4gICAgICAgIGlmIChpc1N0YXRlT3BlcmF0b3IodmFsKSkge1xuICAgICAgICAgIGNvbnN0IGN1cnJlbnRTdGF0ZSA9IHRoaXMuc3RvcmUhLnNuYXBzaG90KCk7XG4gICAgICAgICAgdmFsID0gdmFsKGN1cnJlbnRTdGF0ZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnN0b3JlIS5yZXNldCh2YWwpO1xuICAgICAgICByZXR1cm4gPFM+dmFsO1xuICAgICAgfSxcbiAgICAgIHBhdGNoU3RhdGU6IHZhbCA9PiB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRTdGF0ZSA9IHRoaXMuc3RvcmUhLnNuYXBzaG90KCk7XG4gICAgICAgIGNvbnN0IG5ld1N0YXRlID0geyAuLi5jdXJyZW50U3RhdGUsIC4uLig8b2JqZWN0PnZhbCkgfTtcbiAgICAgICAgdGhpcy5zdG9yZSEucmVzZXQobmV3U3RhdGUpO1xuICAgICAgICByZXR1cm4gbmV3U3RhdGU7XG4gICAgICB9XG4gICAgfTtcbiAgfVxufVxuIl19
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export function hmrIsReloaded() {
|
|
2
|
-
return !!(window["NGXS_HMR_LIFECYCLE_STATUS" /*
|
|
2
|
+
return !!(window["NGXS_HMR_LIFECYCLE_STATUS" /* Status */] && window["NGXS_HMR_LIFECYCLE_STATUS" /* Status */].hmrReloaded);
|
|
3
3
|
}
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZXJuYWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvaG1yLXBsdWdpbi9zcmMvdXRpbHMvZXh0ZXJuYWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE1BQU0sVUFBVSxhQUFhO0lBQzNCLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSwwQ0FBbUIsSUFBSSxNQUFNLDBDQUFtQixDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBQ2hGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIbXJSdW50aW1lIH0gZnJvbSAnLi4vc3ltYm9scyc7XG5cbmRlY2xhcmUgY29uc3Qgd2luZG93OiBhbnk7XG5cbmV4cG9ydCBmdW5jdGlvbiBobXJJc1JlbG9hZGVkKCk6IGJvb2xlYW4ge1xuICByZXR1cm4gISEod2luZG93W0htclJ1bnRpbWUuU3RhdHVzXSAmJiB3aW5kb3dbSG1yUnVudGltZS5TdGF0dXNdLmhtclJlbG9hZGVkKTtcbn1cbiJdfQ==
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
export function setHmrReloadedTo(value) {
|
|
2
|
-
if (window["NGXS_HMR_LIFECYCLE_STATUS" /*
|
|
3
|
-
window["NGXS_HMR_LIFECYCLE_STATUS" /*
|
|
2
|
+
if (window["NGXS_HMR_LIFECYCLE_STATUS" /* Status */]) {
|
|
3
|
+
window["NGXS_HMR_LIFECYCLE_STATUS" /* Status */].hmrReloaded = value;
|
|
4
4
|
}
|
|
5
5
|
}
|
|
6
6
|
export function markApplicationAsHmrReloaded() {
|
|
7
|
-
window["NGXS_HMR_LIFECYCLE_STATUS" /*
|
|
7
|
+
window["NGXS_HMR_LIFECYCLE_STATUS" /* Status */] = window["NGXS_HMR_LIFECYCLE_STATUS" /* Status */] || {
|
|
8
8
|
hmrReloaded: false
|
|
9
9
|
};
|
|
10
10
|
}
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJuYWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvaG1yLXBsdWdpbi9zcmMvdXRpbHMvaW50ZXJuYWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxLQUFjO0lBQzdDLElBQUksTUFBTSwwQ0FBbUIsRUFBRTtRQUM3QixNQUFNLDBDQUFtQixDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7S0FDL0M7QUFDSCxDQUFDO0FBRUQsTUFBTSxVQUFVLDRCQUE0QjtJQUMxQyxNQUFNLDBDQUFtQixHQUFHLE1BQU0sMENBQW1CLElBQUk7UUFDdkQsV0FBVyxFQUFFLEtBQUs7S0FDbkIsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIbXJSdW50aW1lIH0gZnJvbSAnLi4vc3ltYm9scyc7XG5cbmRlY2xhcmUgY29uc3Qgd2luZG93OiBhbnk7XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRIbXJSZWxvYWRlZFRvKHZhbHVlOiBib29sZWFuKTogdm9pZCB7XG4gIGlmICh3aW5kb3dbSG1yUnVudGltZS5TdGF0dXNdKSB7XG4gICAgd2luZG93W0htclJ1bnRpbWUuU3RhdHVzXS5obXJSZWxvYWRlZCA9IHZhbHVlO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtYXJrQXBwbGljYXRpb25Bc0htclJlbG9hZGVkKCk6IHZvaWQge1xuICB3aW5kb3dbSG1yUnVudGltZS5TdGF0dXNdID0gd2luZG93W0htclJ1bnRpbWUuU3RhdHVzXSB8fCB7XG4gICAgaG1yUmVsb2FkZWQ6IGZhbHNlXG4gIH07XG59XG4iXX0=
|
|
@@ -218,12 +218,12 @@ class HmrStorage {
|
|
|
218
218
|
}
|
|
219
219
|
|
|
220
220
|
function setHmrReloadedTo(value) {
|
|
221
|
-
if (window["NGXS_HMR_LIFECYCLE_STATUS" /*
|
|
222
|
-
window["NGXS_HMR_LIFECYCLE_STATUS" /*
|
|
221
|
+
if (window["NGXS_HMR_LIFECYCLE_STATUS" /* Status */]) {
|
|
222
|
+
window["NGXS_HMR_LIFECYCLE_STATUS" /* Status */].hmrReloaded = value;
|
|
223
223
|
}
|
|
224
224
|
}
|
|
225
225
|
function markApplicationAsHmrReloaded() {
|
|
226
|
-
window["NGXS_HMR_LIFECYCLE_STATUS" /*
|
|
226
|
+
window["NGXS_HMR_LIFECYCLE_STATUS" /* Status */] = window["NGXS_HMR_LIFECYCLE_STATUS" /* Status */] || {
|
|
227
227
|
hmrReloaded: false
|
|
228
228
|
};
|
|
229
229
|
}
|
|
@@ -256,7 +256,7 @@ function hmr(webpackModule, bootstrapFn, options = {}) {
|
|
|
256
256
|
}
|
|
257
257
|
|
|
258
258
|
function hmrIsReloaded() {
|
|
259
|
-
return !!(window["NGXS_HMR_LIFECYCLE_STATUS" /*
|
|
259
|
+
return !!(window["NGXS_HMR_LIFECYCLE_STATUS" /* Status */] && window["NGXS_HMR_LIFECYCLE_STATUS" /* Status */].hmrReloaded);
|
|
260
260
|
}
|
|
261
261
|
|
|
262
262
|
/**
|
|
@@ -268,4 +268,4 @@ function hmrIsReloaded() {
|
|
|
268
268
|
*/
|
|
269
269
|
|
|
270
270
|
export { HmrBeforeDestroyAction, HmrInitAction, hmr, hmrIsReloaded };
|
|
271
|
-
//# sourceMappingURL=ngxs-hmr-plugin.
|
|
271
|
+
//# sourceMappingURL=ngxs-hmr-plugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ngxs-hmr-plugin.js","sources":["../../../packages/hmr-plugin/src/actions/hmr-init.action.ts","../../../packages/hmr-plugin/src/actions/hmr-before-destroy.action.ts","../../../packages/hmr-plugin/src/internal/hmr-state-context-factory.ts","../../../packages/hmr-plugin/src/internal/hmr-options-builder.ts","../../../packages/hmr-plugin/src/internal/hmr-lifecycle.ts","../../../packages/hmr-plugin/src/hmr-manager.ts","../../../packages/hmr-plugin/src/internal/hmr-storage.ts","../../../packages/hmr-plugin/src/utils/internals.ts","../../../packages/hmr-plugin/src/hmr-bootstrap.ts","../../../packages/hmr-plugin/src/utils/externals.ts","../../../packages/hmr-plugin/index.ts","../../../packages/hmr-plugin/ngxs-hmr-plugin.ts"],"sourcesContent":["import { NgxsHmrSnapshot } from '../symbols';\n\nexport class HmrInitAction {\n static get type() {\n // NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138\n return '@@HMR_INIT';\n }\n\n constructor(public payload: Partial<NgxsHmrSnapshot>) {}\n}\n","import { NgxsHmrSnapshot } from '../symbols';\n\nexport class HmrBeforeDestroyAction {\n static get type() {\n // NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138\n return '@@HMR_BEFORE_DESTROY';\n }\n\n constructor(public payload: Partial<NgxsHmrSnapshot>) {}\n}\n","import { StateContext, Store } from '@ngxs/store';\nimport { isStateOperator } from '@ngxs/store/operators';\nimport { NgModuleRef } from '@angular/core';\n\nexport class HmrStateContextFactory<T, S> {\n public store: Store;\n\n constructor(module: NgModuleRef<T>) {\n const store = module.injector.get<Store>(Store, undefined);\n\n if (!store) {\n throw new Error('Store not found, maybe you forgot to import the NgxsModule');\n }\n\n this.store = store;\n }\n\n /**\n * @description\n * must be taken out into @ngxs/store/internals\n */\n public createStateContext(): StateContext<S> {\n return {\n dispatch: actions => this.store!.dispatch(actions),\n getState: () => <S>this.store!.snapshot(),\n setState: val => {\n if (isStateOperator(val)) {\n const currentState = this.store!.snapshot();\n val = val(currentState);\n }\n\n this.store!.reset(val);\n return <S>val;\n },\n patchState: val => {\n const currentState = this.store!.snapshot();\n const newState = { ...currentState, ...(<object>val) };\n this.store!.reset(newState);\n return newState;\n }\n };\n }\n}\n","import { NgxsHmrOptions } from '../symbols';\n\nexport class HmrOptionBuilder {\n public readonly deferTime: number;\n public readonly autoClearLogs: boolean;\n\n constructor({ deferTime, autoClearLogs }: NgxsHmrOptions) {\n this.deferTime = deferTime || 100;\n this.autoClearLogs = autoClearLogs === undefined ? true : autoClearLogs;\n }\n\n public clearLogs(): void {\n if (this.autoClearLogs) {\n console.clear();\n }\n }\n}\n","import { NgxsBootstrapper } from '@ngxs/store/internals';\nimport { Observable, Subscription } from 'rxjs';\nimport { StateContext } from '@ngxs/store';\n\nimport { HmrOptionBuilder } from './hmr-options-builder';\nimport { HmrCallback, NgxsHmrLifeCycle } from '../symbols';\nimport { HmrStateContextFactory } from './hmr-state-context-factory';\nimport { HmrBeforeDestroyAction } from '../actions/hmr-before-destroy.action';\nimport { HmrStorage } from './hmr-storage';\n\nexport class HmrLifecycle<T extends Partial<NgxsHmrLifeCycle<S>>, S> {\n constructor(\n private ngAppModule: T,\n private bootstrap: NgxsBootstrapper,\n private storage: HmrStorage<S>,\n private context: HmrStateContextFactory<T, S>,\n private options: HmrOptionBuilder\n ) {}\n\n public hmrNgxsStoreOnInit(hmrAfterOnInit: HmrCallback<S>) {\n let moduleHmrInit: HmrCallback<S> = this.getModuleHmrInitCallback();\n moduleHmrInit = moduleHmrInit.bind(this.ngAppModule);\n this.detectIvyWithJIT();\n this.stateEventLoop((ctx, state) => {\n moduleHmrInit(ctx, state);\n hmrAfterOnInit(ctx, state);\n });\n }\n\n private getModuleHmrInitCallback(): HmrCallback<S> {\n if (typeof this.ngAppModule.hmrNgxsStoreOnInit === 'function') {\n return this.ngAppModule.hmrNgxsStoreOnInit;\n }\n return function defaultModuleHmrInit(ctx, state) {\n ctx.patchState(state);\n };\n }\n\n public hmrNgxsStoreBeforeOnDestroy(): Partial<S> {\n let state: Partial<S> = {};\n const ctx: StateContext<S> = this.context.createStateContext();\n if (typeof this.ngAppModule.hmrNgxsStoreBeforeOnDestroy === 'function') {\n state = this.ngAppModule.hmrNgxsStoreBeforeOnDestroy(ctx);\n } else {\n state = ctx.getState();\n }\n\n ctx.dispatch(new HmrBeforeDestroyAction(state));\n return state;\n }\n\n private stateEventLoop(callback: HmrCallback<S>): void {\n if (!this.storage.hasData()) return;\n\n const appBootstrapped$: Observable<boolean> = this.bootstrap.appBootstrapped$;\n const state$: Observable<any> = this.context.store.select(state => state);\n\n appBootstrapped$.subscribe(() => {\n let eventId: number;\n const storeEventId: Subscription = state$.subscribe(() => {\n // setTimeout used for zone detection after set hmr state\n clearInterval(eventId);\n eventId = window.setTimeout(() => {\n // close check on the message queue\n storeEventId.unsubscribe();\n // if events are no longer running on the call stack,\n // then we can update the state\n callback(this.context.createStateContext(), this.storage.snapshot as Partial<S>);\n }, this.options.deferTime);\n });\n });\n }\n\n private detectIvyWithJIT(): void {\n const jit: boolean = this.ngAppModule.constructor.hasOwnProperty('__annotations__');\n const ivy: boolean = this.ngAppModule.constructor.hasOwnProperty('ɵmod');\n if (jit && ivy) {\n throw new Error(\n `@ngxs/hmr-plugin doesn't work with JIT mode in Angular Ivy. Please use AOT mode.`\n );\n }\n }\n}\n","import { ApplicationRef, ComponentRef, NgModuleRef } from '@angular/core';\nimport { InitialState, NgxsBootstrapper } from '@ngxs/store/internals';\n\nimport { HmrStorage } from './internal/hmr-storage';\nimport {\n BootstrapModuleFn,\n NgxsHmrLifeCycle,\n NgxsHmrOptions,\n NgxsHmrSnapshot\n} from './symbols';\nimport { HmrStateContextFactory } from './internal/hmr-state-context-factory';\nimport { HmrOptionBuilder } from './internal/hmr-options-builder';\nimport { HmrInitAction } from './actions/hmr-init.action';\nimport { HmrLifecycle } from './internal/hmr-lifecycle';\n\ntype OldHostRemoverFn = () => void;\n\nexport class HmrManager<T extends Partial<NgxsHmrLifeCycle<S>>, S = NgxsHmrSnapshot> {\n public storage: HmrStorage<S>;\n public context: HmrStateContextFactory<T, S>;\n public lifecycle: HmrLifecycle<T, S>;\n public optionsBuilder: HmrOptionBuilder;\n private ngModule: NgModuleRef<T>;\n\n constructor(options: NgxsHmrOptions, storage: HmrStorage<S>) {\n this.storage = storage;\n this.optionsBuilder = new HmrOptionBuilder(options);\n }\n\n private get applicationRef(): ApplicationRef {\n return this.ngModule.injector.get(ApplicationRef);\n }\n\n private get bootstrap(): NgxsBootstrapper {\n return this.ngModule.injector.get(NgxsBootstrapper);\n }\n\n public async hmrModule(\n bootstrapFn: BootstrapModuleFn<T>,\n tick: () => void\n ): Promise<NgModuleRef<T>> {\n InitialState.set(this.storage.snapshot);\n this.ngModule = await bootstrapFn();\n this.context = new HmrStateContextFactory(this.ngModule);\n this.lifecycle = this.createLifecycle();\n\n tick();\n\n InitialState.pop();\n return this.ngModule;\n }\n\n public beforeModuleBootstrap(): void {\n this.lifecycle.hmrNgxsStoreOnInit((ctx, state) => {\n ctx.dispatch(new HmrInitAction(state));\n });\n }\n\n public beforeModuleOnDestroy(): Partial<S> {\n this.optionsBuilder.clearLogs();\n return this.lifecycle.hmrNgxsStoreBeforeOnDestroy();\n }\n\n public createNewModule(): void {\n const removeOldHosts: () => void = this.cloneHostsBeforeDestroy();\n this.removeNgStyles();\n this.ngModule.destroy();\n removeOldHosts();\n }\n\n private createLifecycle(): HmrLifecycle<T, S> {\n return new HmrLifecycle(\n this.ngModule.instance,\n this.bootstrap,\n this.storage,\n this.context,\n this.optionsBuilder\n );\n }\n\n private cloneHostsBeforeDestroy(): () => void {\n const elements: Element[] = this.applicationRef.components.map(\n (component: ComponentRef<Element>) => component.location.nativeElement\n );\n\n const removableList: OldHostRemoverFn[] = elements.map((componentNode: Element) => {\n const newNode = document.createElement(componentNode.tagName);\n const parentNode: Node = componentNode.parentNode as Node;\n const currentDisplay: string | null = newNode.style.display;\n\n newNode.style.display = 'none';\n parentNode.insertBefore(newNode, componentNode);\n\n return (): void => {\n newNode.style.display = currentDisplay;\n try {\n parentNode.removeChild(componentNode);\n } catch {}\n };\n });\n\n return function removeOldHosts(): void {\n removableList.forEach((removeOldHost: OldHostRemoverFn) => removeOldHost());\n };\n }\n\n private removeNgStyles(): void {\n const head: HTMLHeadElement = document.head!;\n const styles: HTMLStyleElement[] = Array.from(head!.querySelectorAll('style'));\n\n styles\n .filter((style: HTMLStyleElement) => style.innerText.includes('_ng'))\n .map((style: HTMLStyleElement) => head!.removeChild(style));\n }\n}\n","export class HmrStorage<S> {\n constructor(private _snapshot: Partial<S> = {}) {}\n\n public hasData(): boolean {\n return Object.keys(this._snapshot).length > 0;\n }\n\n public get snapshot(): Partial<S> {\n return this._snapshot;\n }\n}\n","import { HmrRuntime } from '../symbols';\n\ndeclare const window: any;\n\nexport function setHmrReloadedTo(value: boolean): void {\n if (window[HmrRuntime.Status]) {\n window[HmrRuntime.Status].hmrReloaded = value;\n }\n}\n\nexport function markApplicationAsHmrReloaded(): void {\n window[HmrRuntime.Status] = window[HmrRuntime.Status] || {\n hmrReloaded: false\n };\n}\n","import { NgModuleRef } from '@angular/core';\nimport { HmrManager } from './hmr-manager';\nimport { BootstrapModuleFn, NgxsHmrOptions, WebpackModule } from './symbols';\nimport { HmrStorage } from './internal/hmr-storage';\nimport { markApplicationAsHmrReloaded, setHmrReloadedTo } from './utils/internals';\n\n/**\n * Hot Module Replacement plugin for NGXS\n * @deprecated As of Angular v10, HMR is no longer supported and will be deprecated.\n * More information [here](https://www.ngxs.io/plugins/hmr).\n */\nexport async function hmr<T>(\n webpackModule: WebpackModule,\n bootstrapFn: BootstrapModuleFn<T>,\n options: NgxsHmrOptions = {}\n): Promise<NgModuleRef<T>> {\n if (!webpackModule.hot) {\n console.error('Are you using the --hmr flag for ng serve?');\n throw new Error('HMR is not enabled for webpack-dev-server!');\n }\n\n markApplicationAsHmrReloaded();\n\n webpackModule.hot.accept();\n\n interface HmrDataTransfer {\n snapshot?: any;\n }\n const dataTransfer: HmrDataTransfer = webpackModule.hot.data || {};\n\n const storage = new HmrStorage<any>(dataTransfer.snapshot || {});\n const manager = new HmrManager<T>(options, storage);\n\n return await manager.hmrModule(bootstrapFn, () => {\n manager.beforeModuleBootstrap();\n\n webpackModule.hot!.dispose((data: HmrDataTransfer) => {\n setHmrReloadedTo(true);\n data.snapshot = manager.beforeModuleOnDestroy();\n manager.createNewModule();\n });\n });\n}\n","import { HmrRuntime } from '../symbols';\n\ndeclare const window: any;\n\nexport function hmrIsReloaded(): boolean {\n return !!(window[HmrRuntime.Status] && window[HmrRuntime.Status].hmrReloaded);\n}\n","/**\n * The public api for consumers of @ngxs/hmr-plugin\n */\nexport * from './src/public_api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,32 +1,20 @@
|
|
|
1
1
|
{
|
|
2
|
+
"$schema": "../../node_modules/ng-packagr/package.schema.json",
|
|
2
3
|
"name": "@ngxs/hmr-plugin",
|
|
3
|
-
"version": "3.8.2
|
|
4
|
+
"version": "3.8.2",
|
|
4
5
|
"license": "MIT",
|
|
5
6
|
"sideEffects": true,
|
|
6
7
|
"peerDependencies": {
|
|
7
8
|
"@angular/core": ">=12.0.0 <18.0.0"
|
|
8
9
|
},
|
|
9
|
-
"
|
|
10
|
-
"
|
|
11
|
-
"
|
|
12
|
-
"
|
|
13
|
-
"fesm2015": "fesm2015/ngxs-hmr-plugin.
|
|
14
|
-
"typings": "
|
|
15
|
-
"exports": {
|
|
16
|
-
"./package.json": {
|
|
17
|
-
"default": "./package.json"
|
|
18
|
-
},
|
|
19
|
-
".": {
|
|
20
|
-
"types": "./index.d.ts",
|
|
21
|
-
"esm2020": "./esm2020/ngxs-hmr-plugin.mjs",
|
|
22
|
-
"es2020": "./fesm2020/ngxs-hmr-plugin.mjs",
|
|
23
|
-
"es2015": "./fesm2015/ngxs-hmr-plugin.mjs",
|
|
24
|
-
"node": "./fesm2015/ngxs-hmr-plugin.mjs",
|
|
25
|
-
"default": "./fesm2020/ngxs-hmr-plugin.mjs"
|
|
26
|
-
}
|
|
27
|
-
},
|
|
10
|
+
"main": "bundles/ngxs-hmr-plugin.umd.js",
|
|
11
|
+
"module": "fesm2015/ngxs-hmr-plugin.js",
|
|
12
|
+
"es2015": "fesm2015/ngxs-hmr-plugin.js",
|
|
13
|
+
"esm2015": "esm2015/ngxs-hmr-plugin.js",
|
|
14
|
+
"fesm2015": "fesm2015/ngxs-hmr-plugin.js",
|
|
15
|
+
"typings": "ngxs-hmr-plugin.d.ts",
|
|
28
16
|
"dependencies": {
|
|
29
|
-
"tslib": "^2.
|
|
17
|
+
"tslib": "^2.2.0"
|
|
30
18
|
},
|
|
31
19
|
"repository": {
|
|
32
20
|
"type": "git",
|
|
@@ -71,4 +59,4 @@
|
|
|
71
59
|
"type": "opencollective",
|
|
72
60
|
"url": "https://opencollective.com/ngxs"
|
|
73
61
|
}
|
|
74
|
-
}
|
|
62
|
+
}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { HmrManager } from './hmr-manager';
|
|
2
|
-
import { HmrStorage } from './internal/hmr-storage';
|
|
3
|
-
import { markApplicationAsHmrReloaded, setHmrReloadedTo } from './utils/internals';
|
|
4
|
-
/**
|
|
5
|
-
* Hot Module Replacement plugin for NGXS
|
|
6
|
-
* @deprecated As of Angular v10, HMR is no longer supported and will be deprecated.
|
|
7
|
-
* More information [here](https://www.ngxs.io/plugins/hmr).
|
|
8
|
-
*/
|
|
9
|
-
export async function hmr(webpackModule, bootstrapFn, options = {}) {
|
|
10
|
-
if (!webpackModule.hot) {
|
|
11
|
-
console.error('Are you using the --hmr flag for ng serve?');
|
|
12
|
-
throw new Error('HMR is not enabled for webpack-dev-server!');
|
|
13
|
-
}
|
|
14
|
-
markApplicationAsHmrReloaded();
|
|
15
|
-
webpackModule.hot.accept();
|
|
16
|
-
const dataTransfer = webpackModule.hot.data || {};
|
|
17
|
-
const storage = new HmrStorage(dataTransfer.snapshot || {});
|
|
18
|
-
const manager = new HmrManager(options, storage);
|
|
19
|
-
return await manager.hmrModule(bootstrapFn, () => {
|
|
20
|
-
manager.beforeModuleBootstrap();
|
|
21
|
-
webpackModule.hot.dispose((data) => {
|
|
22
|
-
setHmrReloadedTo(true);
|
|
23
|
-
data.snapshot = manager.beforeModuleOnDestroy();
|
|
24
|
-
manager.createNewModule();
|
|
25
|
-
});
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG1yLWJvb3RzdHJhcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2htci1wbHVnaW4vc3JjL2htci1ib290c3RyYXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDcEQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFbkY7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsR0FBRyxDQUN2QixhQUE0QixFQUM1QixXQUFpQyxFQUNqQyxVQUEwQixFQUFFO0lBRTVCLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxFQUFFO1FBQ3RCLE9BQU8sQ0FBQyxLQUFLLENBQUMsNENBQTRDLENBQUMsQ0FBQztRQUM1RCxNQUFNLElBQUksS0FBSyxDQUFDLDRDQUE0QyxDQUFDLENBQUM7S0FDL0Q7SUFFRCw0QkFBNEIsRUFBRSxDQUFDO0lBRS9CLGFBQWEsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUM7SUFLM0IsTUFBTSxZQUFZLEdBQW9CLGFBQWEsQ0FBQyxHQUFHLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztJQUVuRSxNQUFNLE9BQU8sR0FBRyxJQUFJLFVBQVUsQ0FBTSxZQUFZLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ2pFLE1BQU0sT0FBTyxHQUFHLElBQUksVUFBVSxDQUFNLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUV0RCxPQUFPLE1BQU0sT0FBTyxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxFQUFFO1FBQy9DLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBRWhDLGFBQWEsQ0FBQyxHQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBcUIsRUFBRSxFQUFFO1lBQ25ELGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDaEQsT0FBTyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEhtck1hbmFnZXIgfSBmcm9tICcuL2htci1tYW5hZ2VyJztcbmltcG9ydCB7IEJvb3RzdHJhcE1vZHVsZUZuLCBOZ3hzSG1yT3B0aW9ucywgV2VicGFja01vZHVsZSB9IGZyb20gJy4vc3ltYm9scyc7XG5pbXBvcnQgeyBIbXJTdG9yYWdlIH0gZnJvbSAnLi9pbnRlcm5hbC9obXItc3RvcmFnZSc7XG5pbXBvcnQgeyBtYXJrQXBwbGljYXRpb25Bc0htclJlbG9hZGVkLCBzZXRIbXJSZWxvYWRlZFRvIH0gZnJvbSAnLi91dGlscy9pbnRlcm5hbHMnO1xuXG4vKipcbiAqIEhvdCBNb2R1bGUgUmVwbGFjZW1lbnQgcGx1Z2luIGZvciBOR1hTXG4gKiBAZGVwcmVjYXRlZCBBcyBvZiBBbmd1bGFyIHYxMCwgSE1SIGlzIG5vIGxvbmdlciBzdXBwb3J0ZWQgYW5kIHdpbGwgYmUgZGVwcmVjYXRlZC5cbiAqIE1vcmUgaW5mb3JtYXRpb24gW2hlcmVdKGh0dHBzOi8vd3d3Lm5neHMuaW8vcGx1Z2lucy9obXIpLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gaG1yPFQ+KFxuICB3ZWJwYWNrTW9kdWxlOiBXZWJwYWNrTW9kdWxlLFxuICBib290c3RyYXBGbjogQm9vdHN0cmFwTW9kdWxlRm48VD4sXG4gIG9wdGlvbnM6IE5neHNIbXJPcHRpb25zID0ge31cbik6IFByb21pc2U8TmdNb2R1bGVSZWY8VD4+IHtcbiAgaWYgKCF3ZWJwYWNrTW9kdWxlLmhvdCkge1xuICAgIGNvbnNvbGUuZXJyb3IoJ0FyZSB5b3UgdXNpbmcgdGhlIC0taG1yIGZsYWcgZm9yIG5nIHNlcnZlPycpO1xuICAgIHRocm93IG5ldyBFcnJvcignSE1SIGlzIG5vdCBlbmFibGVkIGZvciB3ZWJwYWNrLWRldi1zZXJ2ZXIhJyk7XG4gIH1cblxuICBtYXJrQXBwbGljYXRpb25Bc0htclJlbG9hZGVkKCk7XG5cbiAgd2VicGFja01vZHVsZS5ob3QuYWNjZXB0KCk7XG5cbiAgaW50ZXJmYWNlIEhtckRhdGFUcmFuc2ZlciB7XG4gICAgc25hcHNob3Q/OiBhbnk7XG4gIH1cbiAgY29uc3QgZGF0YVRyYW5zZmVyOiBIbXJEYXRhVHJhbnNmZXIgPSB3ZWJwYWNrTW9kdWxlLmhvdC5kYXRhIHx8IHt9O1xuXG4gIGNvbnN0IHN0b3JhZ2UgPSBuZXcgSG1yU3RvcmFnZTxhbnk+KGRhdGFUcmFuc2Zlci5zbmFwc2hvdCB8fCB7fSk7XG4gIGNvbnN0IG1hbmFnZXIgPSBuZXcgSG1yTWFuYWdlcjxhbnk+KG9wdGlvbnMsIHN0b3JhZ2UpO1xuXG4gIHJldHVybiBhd2FpdCBtYW5hZ2VyLmhtck1vZHVsZShib290c3RyYXBGbiwgKCkgPT4ge1xuICAgIG1hbmFnZXIuYmVmb3JlTW9kdWxlQm9vdHN0cmFwKCk7XG5cbiAgICB3ZWJwYWNrTW9kdWxlLmhvdCEuZGlzcG9zZSgoZGF0YTogSG1yRGF0YVRyYW5zZmVyKSA9PiB7XG4gICAgICBzZXRIbXJSZWxvYWRlZFRvKHRydWUpO1xuICAgICAgZGF0YS5zbmFwc2hvdCA9IG1hbmFnZXIuYmVmb3JlTW9kdWxlT25EZXN0cm95KCk7XG4gICAgICBtYW5hZ2VyLmNyZWF0ZU5ld01vZHVsZSgpO1xuICAgIH0pO1xuICB9KTtcbn1cbiJdfQ==
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import { ApplicationRef } from '@angular/core';
|
|
2
|
-
import { InitialState, NgxsBootstrapper } from '@ngxs/store/internals';
|
|
3
|
-
import { HmrStateContextFactory } from './internal/hmr-state-context-factory';
|
|
4
|
-
import { HmrOptionBuilder } from './internal/hmr-options-builder';
|
|
5
|
-
import { HmrInitAction } from './actions/hmr-init.action';
|
|
6
|
-
import { HmrLifecycle } from './internal/hmr-lifecycle';
|
|
7
|
-
export class HmrManager {
|
|
8
|
-
constructor(options, storage) {
|
|
9
|
-
this.storage = storage;
|
|
10
|
-
this.optionsBuilder = new HmrOptionBuilder(options);
|
|
11
|
-
}
|
|
12
|
-
get applicationRef() {
|
|
13
|
-
return this.ngModule.injector.get(ApplicationRef);
|
|
14
|
-
}
|
|
15
|
-
get bootstrap() {
|
|
16
|
-
return this.ngModule.injector.get(NgxsBootstrapper);
|
|
17
|
-
}
|
|
18
|
-
async hmrModule(bootstrapFn, tick) {
|
|
19
|
-
InitialState.set(this.storage.snapshot);
|
|
20
|
-
this.ngModule = await bootstrapFn();
|
|
21
|
-
this.context = new HmrStateContextFactory(this.ngModule);
|
|
22
|
-
this.lifecycle = this.createLifecycle();
|
|
23
|
-
tick();
|
|
24
|
-
InitialState.pop();
|
|
25
|
-
return this.ngModule;
|
|
26
|
-
}
|
|
27
|
-
beforeModuleBootstrap() {
|
|
28
|
-
this.lifecycle.hmrNgxsStoreOnInit((ctx, state) => {
|
|
29
|
-
ctx.dispatch(new HmrInitAction(state));
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
beforeModuleOnDestroy() {
|
|
33
|
-
this.optionsBuilder.clearLogs();
|
|
34
|
-
return this.lifecycle.hmrNgxsStoreBeforeOnDestroy();
|
|
35
|
-
}
|
|
36
|
-
createNewModule() {
|
|
37
|
-
const removeOldHosts = this.cloneHostsBeforeDestroy();
|
|
38
|
-
this.removeNgStyles();
|
|
39
|
-
this.ngModule.destroy();
|
|
40
|
-
removeOldHosts();
|
|
41
|
-
}
|
|
42
|
-
createLifecycle() {
|
|
43
|
-
return new HmrLifecycle(this.ngModule.instance, this.bootstrap, this.storage, this.context, this.optionsBuilder);
|
|
44
|
-
}
|
|
45
|
-
cloneHostsBeforeDestroy() {
|
|
46
|
-
const elements = this.applicationRef.components.map((component) => component.location.nativeElement);
|
|
47
|
-
const removableList = elements.map((componentNode) => {
|
|
48
|
-
const newNode = document.createElement(componentNode.tagName);
|
|
49
|
-
const parentNode = componentNode.parentNode;
|
|
50
|
-
const currentDisplay = newNode.style.display;
|
|
51
|
-
newNode.style.display = 'none';
|
|
52
|
-
parentNode.insertBefore(newNode, componentNode);
|
|
53
|
-
return () => {
|
|
54
|
-
newNode.style.display = currentDisplay;
|
|
55
|
-
try {
|
|
56
|
-
parentNode.removeChild(componentNode);
|
|
57
|
-
}
|
|
58
|
-
catch { }
|
|
59
|
-
};
|
|
60
|
-
});
|
|
61
|
-
return function removeOldHosts() {
|
|
62
|
-
removableList.forEach((removeOldHost) => removeOldHost());
|
|
63
|
-
};
|
|
64
|
-
}
|
|
65
|
-
removeNgStyles() {
|
|
66
|
-
const head = document.head;
|
|
67
|
-
const styles = Array.from(head.querySelectorAll('style'));
|
|
68
|
-
styles
|
|
69
|
-
.filter((style) => style.innerText.includes('_ng'))
|
|
70
|
-
.map((style) => head.removeChild(style));
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG1yLW1hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9obXItcGx1Z2luL3NyYy9obXItbWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUE2QixNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFTdkUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDOUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzFELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUl4RCxNQUFNLE9BQU8sVUFBVTtJQU9yQixZQUFZLE9BQXVCLEVBQUUsT0FBc0I7UUFDekQsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxJQUFZLGNBQWM7UUFDeEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELElBQVksU0FBUztRQUNuQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFTSxLQUFLLENBQUMsU0FBUyxDQUNwQixXQUFpQyxFQUNqQyxJQUFnQjtRQUVoQixZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDeEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLFdBQVcsRUFBRSxD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LENBQUMsQ0FBQzthQUNwRSxHQUFHLENBQUMsQ0FBQyxLQUF1QixFQUFFLEVBQUUsQ0FBQyxJQUFLLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDaEUsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXBwbGljYXRpb25SZWYsIENvbXBvbmVudFJlZiwgTmdNb2R1bGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEluaXRpYWxTdGF0ZSwgTmd4c0Jvb3RzdHJhcHBlciB9IGZyb20gJ0BuZ3hzL3N0b3JlL2ludGVybmFscyc7XG5cbmltcG9ydCB7IEhtclN0b3JhZ2UgfSBmcm9tICcuL2ludGVybmFsL2htci1zdG9yYWdlJztcbmltcG9ydCB7XG4gIEJvb3RzdHJhcE1vZHVsZUZuLFxuICBOZ3hzSG1yTGlmZUN5Y2xlLFxuICBOZ3hzSG1yT3B0aW9ucyxcbiAgTmd4c0htclNuYXBzaG90XG59IGZyb20gJy4vc3ltYm9scyc7XG5pbXBvcnQgeyBIbXJTdGF0ZUNvbnRleHRGYWN0b3J5IH0gZnJvbSAnLi9pbnRlcm5hbC9obXItc3RhdGUtY29udGV4dC1mYWN0b3J5JztcbmltcG9ydCB7IEhtck9wdGlvbkJ1aWxkZXIgfSBmcm9tICcuL2ludGVybmFsL2htci1vcHRpb25zLWJ1aWxkZXInO1xuaW1wb3J0IHsgSG1ySW5pdEFjdGlvbiB9IGZyb20gJy4vYWN0aW9ucy9obXItaW5pdC5hY3Rpb24nO1xuaW1wb3J0IHsgSG1yTGlmZWN5Y2xlIH0gZnJvbSAnLi9pbnRlcm5hbC9obXItbGlmZWN5Y2xlJztcblxudHlwZSBPbGRIb3N0UmVtb3ZlckZuID0gKCkgPT4gdm9pZDtcblxuZXhwb3J0IGNsYXNzIEhtck1hbmFnZXI8VCBleHRlbmRzIFBhcnRpYWw8Tmd4c0htckxpZmVDeWNsZTxTPj4sIFMgPSBOZ3hzSG1yU25hcHNob3Q+IHtcbiAgcHVibGljIHN0b3JhZ2U6IEhtclN0b3JhZ2U8Uz47XG4gIHB1YmxpYyBjb250ZXh0OiBIbXJTdGF0ZUNvbnRleHRGYWN0b3J5PFQsIFM+O1xuICBwdWJsaWMgbGlmZWN5Y2xlOiBIbXJMaWZlY3ljbGU8VCwgUz47XG4gIHB1YmxpYyBvcHRpb25zQnVpbGRlcjogSG1yT3B0aW9uQnVpbGRlcjtcbiAgcHJpdmF0ZSBuZ01vZHVsZTogTmdNb2R1bGVSZWY8VD47XG5cbiAgY29uc3RydWN0b3Iob3B0aW9uczogTmd4c0htck9wdGlvbnMsIHN0b3JhZ2U6IEhtclN0b3JhZ2U8Uz4pIHtcbiAgICB0aGlzLnN0b3JhZ2UgPSBzdG9yYWdlO1xuICAgIHRoaXMub3B0aW9uc0J1aWxkZXIgPSBuZXcgSG1yT3B0aW9uQnVpbGRlcihvcHRpb25zKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IGFwcGxpY2F0aW9uUmVmKCk6IEFwcGxpY2F0aW9uUmVmIHtcbiAgICByZXR1cm4gdGhpcy5uZ01vZHVsZS5pbmplY3Rvci5nZXQoQXBwbGljYXRpb25SZWYpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgYm9vdHN0cmFwKCk6IE5neHNCb290c3RyYXBwZXIge1xuICAgIHJldHVybiB0aGlzLm5nTW9kdWxlLmluamVjdG9yLmdldChOZ3hzQm9vdHN0cmFwcGVyKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBobXJNb2R1bGUoXG4gICAgYm9vdHN0cmFwRm46IEJvb3RzdHJhcE1vZHVsZUZuPFQ+LFxuICAgIHRpY2s6ICgpID0+IHZvaWRcbiAgKTogUHJvbWlzZTxOZ01vZHVsZVJlZjxUPj4ge1xuICAgIEluaXRpYWxTdGF0ZS5zZXQodGhpcy5zdG9yYWdlLnNuYXBzaG90KTtcbiAgICB0aGlzLm5nTW9kdWxlID0gYXdhaXQgYm9vdHN0cmFwRm4oKTtcbiAgICB0aGlzLmNvbnRleHQgPSBuZXcgSG1yU3RhdGVDb250ZXh0RmFjdG9yeSh0aGlzLm5nTW9kdWxlKTtcbiAgICB0aGlzLmxpZmVjeWNsZSA9IHRoaXMuY3JlYXRlTGlmZWN5Y2xlKCk7XG5cbiAgICB0aWNrKCk7XG5cbiAgICBJbml0aWFsU3RhdGUucG9wKCk7XG4gICAgcmV0dXJuIHRoaXMubmdNb2R1bGU7XG4gIH1cblxuICBwdWJsaWMgYmVmb3JlTW9kdWxlQm9vdHN0cmFwKCk6IHZvaWQge1xuICAgIHRoaXMubGlmZWN5Y2xlLmhtck5neHNTdG9yZU9uSW5pdCgoY3R4LCBzdGF0ZSkgPT4ge1xuICAgICAgY3R4LmRpc3BhdGNoKG5ldyBIbXJJbml0QWN0aW9uKHN0YXRlKSk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgYmVmb3JlTW9kdWxlT25EZXN0cm95KCk6IFBhcnRpYWw8Uz4ge1xuICAgIHRoaXMub3B0aW9uc0J1aWxkZXIuY2xlYXJMb2dzKCk7XG4gICAgcmV0dXJuIHRoaXMubGlmZWN5Y2xlLmhtck5neHNTdG9yZUJlZm9yZU9uRGVzdHJveSgpO1xuICB9XG5cbiAgcHVibGljIGNyZWF0ZU5ld01vZHVsZSgpOiB2b2lkIHtcbiAgICBjb25zdCByZW1vdmVPbGRIb3N0czogKCkgPT4gdm9pZCA9IHRoaXMuY2xvbmVIb3N0c0JlZm9yZURlc3Ryb3koKTtcbiAgICB0aGlzLnJlbW92ZU5nU3R5bGVzKCk7XG4gICAgdGhpcy5uZ01vZHVsZS5kZXN0cm95KCk7XG4gICAgcmVtb3ZlT2xkSG9zdHMoKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlTGlmZWN5Y2xlKCk6IEhtckxpZmVjeWNsZTxULCBTPiB7XG4gICAgcmV0dXJuIG5ldyBIbXJMaWZlY3ljbGUoXG4gICAgICB0aGlzLm5nTW9kdWxlLmluc3RhbmNlLFxuICAgICAgdGhpcy5ib290c3RyYXAsXG4gICAgICB0aGlzLnN0b3JhZ2UsXG4gICAgICB0aGlzLmNvbnRleHQsXG4gICAgICB0aGlzLm9wdGlvbnNCdWlsZGVyXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgY2xvbmVIb3N0c0JlZm9yZURlc3Ryb3koKTogKCkgPT4gdm9pZCB7XG4gICAgY29uc3QgZWxlbWVudHM6IEVsZW1lbnRbXSA9IHRoaXMuYXBwbGljYXRpb25SZWYuY29tcG9uZW50cy5tYXAoXG4gICAgICAoY29tcG9uZW50OiBDb21wb25lbnRSZWY8RWxlbWVudD4pID0+IGNvbXBvbmVudC5sb2NhdGlvbi5uYXRpdmVFbGVtZW50XG4gICAgKTtcblxuICAgIGNvbnN0IHJlbW92YWJsZUxpc3Q6IE9sZEhvc3RSZW1vdmVyRm5bXSA9IGVsZW1lbnRzLm1hcCgoY29tcG9uZW50Tm9kZTogRWxlbWVudCkgPT4ge1xuICAgICAgY29uc3QgbmV3Tm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoY29tcG9uZW50Tm9kZS50YWdOYW1lKTtcbiAgICAgIGNvbnN0IHBhcmVudE5vZGU6IE5vZGUgPSBjb21wb25lbnROb2RlLnBhcmVudE5vZGUgYXMgTm9kZTtcbiAgICAgIGNvbnN0IGN1cnJlbnREaXNwbGF5OiBzdHJpbmcgfCBudWxsID0gbmV3Tm9kZS5zdHlsZS5kaXNwbGF5O1xuXG4gICAgICBuZXdOb2RlLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gICAgICBwYXJlbnROb2RlLmluc2VydEJlZm9yZShuZXdOb2RlLCBjb21wb25lbnROb2RlKTtcblxuICAgICAgcmV0dXJuICgpOiB2b2lkID0+IHtcbiAgICAgICAgbmV3Tm9kZS5zdHlsZS5kaXNwbGF5ID0gY3VycmVudERpc3BsYXk7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgcGFyZW50Tm9kZS5yZW1vdmVDaGlsZChjb21wb25lbnROb2RlKTtcbiAgICAgICAgfSBjYXRjaCB7fVxuICAgICAgfTtcbiAgICB9KTtcblxuICAgIHJldHVybiBmdW5jdGlvbiByZW1vdmVPbGRIb3N0cygpOiB2b2lkIHtcbiAgICAgIHJlbW92YWJsZUxpc3QuZm9yRWFjaCgocmVtb3ZlT2xkSG9zdDogT2xkSG9zdFJlbW92ZXJGbikgPT4gcmVtb3ZlT2xkSG9zdCgpKTtcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmVOZ1N0eWxlcygpOiB2b2lkIHtcbiAgICBjb25zdCBoZWFkOiBIVE1MSGVhZEVsZW1lbnQgPSBkb2N1bWVudC5oZWFkITtcbiAgICBjb25zdCBzdHlsZXM6IEhUTUxTdHlsZUVsZW1lbnRbXSA9IEFycmF5LmZyb20oaGVhZCEucXVlcnlTZWxlY3RvckFsbCgnc3R5bGUnKSk7XG5cbiAgICBzdHlsZXNcbiAgICAgIC5maWx0ZXIoKHN0eWxlOiBIVE1MU3R5bGVFbGVtZW50KSA9PiBzdHlsZS5pbm5lclRleHQuaW5jbHVkZXMoJ19uZycpKVxuICAgICAgLm1hcCgoc3R5bGU6IEhUTUxTdHlsZUVsZW1lbnQpID0+IGhlYWQhLnJlbW92ZUNoaWxkKHN0eWxlKSk7XG4gIH1cbn1cbiJdfQ==
|