hg-async-render
Advanced tools
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"hg-async-render.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://hg-async-render/lib/async-render-resolver.ts","ng://hg-async-render/lib/async-render-base.ts","ng://hg-async-render/lib/async-render/async-render.component.ts","ng://hg-async-render/lib/async-render.directive.ts","ng://hg-async-render/lib/async-render.module.ts","ng://hg-async-render/lib/decorators.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\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;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\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;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\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); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\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);\r\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); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { first, takeUntil } from 'rxjs/operators';\nimport { asapScheduler, Subject, Observable, combineLatest, of, Subscription, ReplaySubject } from 'rxjs';\nimport { InjectionToken } from '@angular/core';\n\nexport const HG_ASYNC_RENDER_RESOLVER = new InjectionToken<string>('HG_ASYNC_RENDER_RESOLVER');\n\nexport enum ResolverConfig {\n Default,\n AutoResolveOnce,\n AutoResolve\n}\n\ninterface IActionsTarget<T> {\n loadAction: (data: T) => void;\n cancelAction: () => void;\n success$: Observable<any>;\n failure$: Observable<any>;\n}\n\ntype FunctionObservableTarget<T = any, R = T> = (data: T) => Observable<R>;\n\nexport class AsyncRenderResolver<T = any, R = T> {\n\n protected config = ResolverConfig.Default;\n\n // tslint:disable-next-line:variable-name\n private _isAlive$: Subject<void> = new Subject();\n\n // tslint:disable-next-line:variable-name\n private _shouldSkip = null;\n\n // tslint:disable-next-line:variable-name\n private _autoResolveOnceCompleted = false;\n\n // tslint:disable-next-line:variable-name\n private _dependencySubscription: Subscription;\n\n // tslint:disable-next-line:variable-name\n private _resolveRequested = false;\n\n // tslint:disable-next-line:variable-name\n private _state = { loading: false, errored: false };\n\n // tslint:disable-next-line:variable-name\n private _data$ = new ReplaySubject<R>(1);\n\n // tslint:disable-next-line:variable-name\n private _dataObservable$ = this._data$.asObservable();\n\n // tslint:disable-next-line:variable-name\n private _functionObservableSubscription: Subscription;\n\n get isLoading() { return this._state.loading; }\n\n get hasErrored() { return this._state.errored; }\n\n error: Error;\n\n public get data$() {\n if (this.isFunctionObservableTarget) { return this._dataObservable$; }\n // tslint:disable-next-line:max-line-length\n console.warn('hg-async-render: Action based async render resolvers don\\'t have data$ property! Data management should be controlled via action handlers!');\n return undefined;\n }\n\n set shouldSkip(value: boolean) {\n if (value === true && !this._shouldSkip) {\n if (!!this._functionObservableSubscription) {\n this._functionObservableSubscription.unsubscribe();\n this._functionObservableSubscription = undefined;\n } else if (!!this._dependencySubscription) {\n this._dependencySubscription.unsubscribe();\n this._dependencySubscription = undefined;\n }\n this._resolveRequested = false;\n this._state.errored = false;\n this._state.loading = false;\n }\n\n const shouldAutoResolveOnce = (this.config === ResolverConfig.AutoResolveOnce && this._autoResolveOnceCompleted === false);\n if (\n (\n (this.config === ResolverConfig.AutoResolve && this._shouldSkip === true) ||\n (shouldAutoResolveOnce && this._shouldSkip)\n ) && value === false\n ) {\n // asapScheduler.schedule(() => { this.resolve(true); });\n this.resolve(true);\n }\n this._shouldSkip = value;\n }\n\n get shouldSkip() {\n return this._shouldSkip;\n }\n\n private get isFunctionObservableTarget() {\n return this.target instanceof Function;\n }\n\n constructor(\n private target: IActionsTarget<T> | FunctionObservableTarget<T, R>,\n private dependencies: () => (Observable<any> | any[]) | Observable<any> | Observable<any>[] = null\n ) { }\n\n resolve(auto = false) {\n if (this._resolveRequested || (auto && this._autoResolveOnceCompleted)) { return; }\n this._resolveRequested = true;\n\n if (this._dependencySubscription) { this._dependencySubscription.unsubscribe(); }\n const isAutoResolveOnceConfig = this.config === ResolverConfig.AutoResolveOnce;\n const isDefaultConfig = this.config === ResolverConfig.Default;\n\n if (isAutoResolveOnceConfig) { this._autoResolveOnceCompleted = true; }\n\n asapScheduler.schedule(() => {\n this._state.errored = false;\n this._state.loading = true;\n this.error = undefined;\n\n let dependencies: any = this.dependencies;\n if (typeof this.dependencies === 'function') {\n dependencies = this.dependencies();\n if (Array.isArray(dependencies)) { dependencies = [dependencies]; }\n }\n const deps = !dependencies ? of(undefined) : combineLatest(dependencies).pipe(\n (isAutoResolveOnceConfig || isDefaultConfig) ? first() : takeUntil(this._isAlive$)\n );\n\n this._dependencySubscription = deps.subscribe(data => {\n this._resolveRequested = false;\n\n asapScheduler.schedule(() => {\n this._state.errored = false;\n this._state.loading = true;\n });\n\n if (!this.isFunctionObservableTarget) {\n const target = this.target as IActionsTarget<T>;\n target.loadAction(data);\n target.success$.pipe(first(), takeUntil(this._isAlive$)).subscribe(() => {\n this._state.loading = false;\n this._state.errored = false;\n });\n target.failure$.pipe(first(), takeUntil(this._isAlive$)).subscribe(() => {\n this._state.loading = false;\n this._state.errored = true;\n });\n } else {\n const targetFn = this.target as FunctionObservableTarget<T, R>;\n if (this._functionObservableSubscription) {\n this._functionObservableSubscription.unsubscribe();\n this._functionObservableSubscription = undefined;\n }\n this._functionObservableSubscription = targetFn(data).pipe(takeUntil(this._isAlive$)).subscribe({\n next: res => {\n this._data$.next(res);\n this._state.loading = false;\n this._state.errored = false;\n },\n error: err => {\n this._data$.error(err);\n this.error = err;\n this._state.loading = false;\n this._state.errored = true;\n },\n complete: () => {\n this._state.loading = false;\n this._state.errored = false;\n this._functionObservableSubscription = undefined;\n }\n });\n }\n });\n });\n }\n\n destroy() {\n this._isAlive$.next();\n this._isAlive$.complete();\n\n if (!this._state.loading) { return; }\n const target = this.target as IActionsTarget<T>;\n if (target.cancelAction) {\n target.cancelAction();\n }\n }\n}\n","import { AsyncRenderResolver } from '../lib/async-render-resolver';\n\nexport class AsyncRenderBase {\n\n constructor(private resolvers: AsyncRenderResolver<any>[] = []) {\n this.resolvers = [].concat(this.resolvers || []);\n }\n\n get isLoading() {\n return this.resolvers.reduce((acc, res) => acc || res.isLoading, false);\n }\n\n get hasError() {\n return this.resolvers.reduce((acc, res) => acc || res.hasErrored, false);\n }\n\n destroy() {\n this.resolvers.forEach(res => res.destroy());\n }\n\n resolve() {\n this.resolvers.forEach(res => {\n if (res.shouldSkip) { return; }\n res.resolve();\n });\n }\n}\n","import { Component, Input, OnDestroy, Inject, TemplateRef, Optional, OnInit } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { HG_ASYNC_RENDER_RESOLVER, AsyncRenderResolver } from '../async-render-resolver';\nimport { AsyncRenderBase } from '../async-render-base';\n\n@Component({\n selector: 'hg-async-render',\n templateUrl: './async-render.component.html',\n styleUrls: ['./async-render.component.scss'],\n exportAs: 'asyncRender'\n})\nexport class AsyncRenderComponent extends AsyncRenderBase implements OnInit, OnDestroy {\n\n refresh$: Subject<void> = new Subject();\n @Input() loaderTemplateRef: TemplateRef<any>;\n @Input() errorTemplateRef: TemplateRef<any>;\n @Input() autoControlLoader = false;\n @Input() autoControlError = false;\n\n constructor(@Inject(HG_ASYNC_RENDER_RESOLVER) @Optional() resolvers: AsyncRenderResolver<any>[] = []) {\n super(resolvers);\n this.refresh$.subscribe(() => { this.resolve(); });\n }\n\n ngOnInit() {\n this.resolve();\n }\n\n ngOnDestroy() {\n this.refresh$.complete();\n this.destroy();\n }\n}\n","import { Directive, Inject, Optional, OnDestroy, TemplateRef, ViewContainerRef, OnInit } from '@angular/core';\nimport { AsyncRenderResolver, HG_ASYNC_RENDER_RESOLVER } from '../lib/async-render-resolver';\nimport { AsyncRenderBase } from './async-render-base';\nimport { Subject } from 'rxjs';\n\n@Directive({\n selector: '[hgAsyncRender]',\n exportAs: 'asyncRender'\n})\nexport class AsyncRenderDirective extends AsyncRenderBase implements OnInit, OnDestroy {\n\n refresh$: Subject<void> = new Subject();\n\n constructor(\n @Inject(HG_ASYNC_RENDER_RESOLVER) @Optional() resolvers: AsyncRenderResolver<any>[] = [],\n viewContainerRef: ViewContainerRef,\n @Optional() templateRef: TemplateRef<any>,\n ) {\n super(resolvers);\n this.refresh$.subscribe(() => { this.resolve(); });\n if (!!templateRef) { viewContainerRef.createEmbeddedView(templateRef, { $implicit: this }); }\n }\n\n ngOnInit() {\n this.resolve();\n }\n\n ngOnDestroy() {\n this.refresh$.complete();\n this.destroy();\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AsyncRenderComponent } from './async-render/async-render.component';\nimport { AsyncRenderDirective } from './async-render.directive';\n\n@NgModule({\n declarations: [AsyncRenderComponent, AsyncRenderDirective],\n imports: [\n CommonModule\n ],\n exports: [AsyncRenderComponent, AsyncRenderDirective]\n})\nexport class AsyncRenderModule { }\n","import { BehaviorSubject } from 'rxjs';\nimport { distinctUntilChanged } from 'rxjs/operators';\n\nexport function toObservable(target, key) {\n const subject = new BehaviorSubject(target[key]);\n const observable = subject.asObservable().pipe(distinctUntilChanged());\n Object.defineProperty(target, key, {\n set: (value) => { subject.next(value); },\n get: () => observable\n });\n}\n"],"names":["InjectionToken","Subject","ReplaySubject","asapScheduler","of","combineLatest","first","takeUntil","tslib_1.__extends","Component","Inject","Optional","Input","Directive","ViewContainerRef","TemplateRef","NgModule","CommonModule","BehaviorSubject","distinctUntilChanged"],"mappings":"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"} | ||
| {"version":3,"file":"hg-async-render.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://hg-async-render/lib/async-render-resolver.ts","ng://hg-async-render/lib/async-render-base.ts","ng://hg-async-render/lib/async-render/async-render.component.ts","ng://hg-async-render/lib/async-render.directive.ts","ng://hg-async-render/lib/async-render.module.ts","ng://hg-async-render/lib/decorators.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\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;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\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;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\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); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\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);\r\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); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { first, takeUntil } from 'rxjs/operators';\nimport { asapScheduler, Subject, Observable, combineLatest, of, Subscription, ReplaySubject } from 'rxjs';\nimport { InjectionToken } from '@angular/core';\n\nexport const HG_ASYNC_RENDER_RESOLVER = new InjectionToken<string>('HG_ASYNC_RENDER_RESOLVER');\n\nexport enum ResolverConfig {\n Default,\n AutoResolveOnce,\n AutoResolve\n}\n\ninterface IActionsTarget<T> {\n loadAction: (data: T) => void;\n cancelAction: () => void;\n success$: Observable<any>;\n failure$: Observable<any>;\n}\n\ntype FunctionObservableTarget<T = any, R = T> = (data: T) => Observable<R>;\n\nexport class AsyncRenderResolver<T, R = T> {\n\n protected config = ResolverConfig.Default;\n\n // tslint:disable-next-line:variable-name\n private _isAlive$: Subject<void> = new Subject();\n\n // tslint:disable-next-line:variable-name\n private _shouldSkip = null;\n\n // tslint:disable-next-line:variable-name\n private _autoResolveOnceCompleted = false;\n\n // tslint:disable-next-line:variable-name\n private _dependencySubscription: Subscription;\n\n // tslint:disable-next-line:variable-name\n private _resolveRequested = false;\n\n // tslint:disable-next-line:variable-name\n private _state = { loading: false, errored: false };\n\n // tslint:disable-next-line:variable-name\n private _data$ = new ReplaySubject<R>(1);\n\n // tslint:disable-next-line:variable-name\n private _dataObservable$ = this._data$.asObservable();\n\n // tslint:disable-next-line:variable-name\n private _functionObservableSubscription: Subscription;\n\n get isLoading() { return this._state.loading; }\n\n get hasErrored() { return this._state.errored; }\n\n error: Error;\n\n public get data$() {\n if (this.isFunctionObservableTarget) { return this._dataObservable$; }\n // tslint:disable-next-line:max-line-length\n console.warn('hg-async-render: Action based async render resolvers don\\'t have data$ property! Data management should be controlled via action handlers!');\n return undefined;\n }\n\n set shouldSkip(value: boolean) {\n if (value === true && !this._shouldSkip) {\n if (!!this._functionObservableSubscription) {\n this._functionObservableSubscription.unsubscribe();\n this._functionObservableSubscription = undefined;\n } else if (!!this._dependencySubscription) {\n this._dependencySubscription.unsubscribe();\n this._dependencySubscription = undefined;\n }\n this._resolveRequested = false;\n this._state.errored = false;\n this._state.loading = false;\n }\n\n const shouldAutoResolveOnce = (this.config === ResolverConfig.AutoResolveOnce && this._autoResolveOnceCompleted === false);\n if (\n (\n (this.config === ResolverConfig.AutoResolve && this._shouldSkip === true) ||\n (shouldAutoResolveOnce && this._shouldSkip)\n ) && value === false\n ) {\n // asapScheduler.schedule(() => { this.resolve(true); });\n this.resolve(true);\n }\n this._shouldSkip = value;\n }\n\n get shouldSkip() {\n return this._shouldSkip;\n }\n\n private get isFunctionObservableTarget() {\n return this.target instanceof Function;\n }\n\n constructor(\n private target: IActionsTarget<T> | FunctionObservableTarget<T, R>,\n private dependencies: () => (Observable<any> | any[]) | Observable<any> | Observable<any>[] = null\n ) { }\n\n resolve(auto = false) {\n if (this._resolveRequested || (auto && this._autoResolveOnceCompleted)) { return; }\n this._resolveRequested = true;\n\n if (this._dependencySubscription) { this._dependencySubscription.unsubscribe(); }\n const isAutoResolveOnceConfig = this.config === ResolverConfig.AutoResolveOnce;\n const isDefaultConfig = this.config === ResolverConfig.Default;\n\n if (isAutoResolveOnceConfig) { this._autoResolveOnceCompleted = true; }\n\n asapScheduler.schedule(() => {\n this._state.errored = false;\n this._state.loading = true;\n this.error = undefined;\n\n let dependencies: any = this.dependencies;\n if (typeof this.dependencies === 'function') {\n dependencies = this.dependencies();\n if (Array.isArray(dependencies)) { dependencies = [dependencies]; }\n }\n const deps = !dependencies ? of(undefined) : combineLatest(dependencies).pipe(\n (isAutoResolveOnceConfig || isDefaultConfig) ? first() : takeUntil(this._isAlive$)\n );\n\n this._dependencySubscription = deps.subscribe(data => {\n this._resolveRequested = false;\n\n asapScheduler.schedule(() => {\n this._state.errored = false;\n this._state.loading = true;\n });\n\n if (!this.isFunctionObservableTarget) {\n const target = this.target as IActionsTarget<T>;\n target.loadAction(data);\n target.success$.pipe(first(), takeUntil(this._isAlive$)).subscribe(() => {\n this._state.loading = false;\n this._state.errored = false;\n });\n target.failure$.pipe(first(), takeUntil(this._isAlive$)).subscribe(() => {\n this._state.loading = false;\n this._state.errored = true;\n });\n } else {\n const targetFn = this.target as FunctionObservableTarget<T, R>;\n if (this._functionObservableSubscription) {\n this._functionObservableSubscription.unsubscribe();\n this._functionObservableSubscription = undefined;\n }\n this._functionObservableSubscription = targetFn(data).pipe(takeUntil(this._isAlive$)).subscribe({\n next: res => {\n this._data$.next(res);\n this._state.loading = false;\n this._state.errored = false;\n },\n error: err => {\n this._data$.error(err);\n this.error = err;\n this._state.loading = false;\n this._state.errored = true;\n },\n complete: () => {\n this._state.loading = false;\n this._state.errored = false;\n this._functionObservableSubscription = undefined;\n }\n });\n }\n });\n });\n }\n\n destroy() {\n this._isAlive$.next();\n this._isAlive$.complete();\n\n if (!this._state.loading) { return; }\n const target = this.target as IActionsTarget<T>;\n if (target.cancelAction) {\n target.cancelAction();\n }\n }\n}\n","import { AsyncRenderResolver } from '../lib/async-render-resolver';\n\nexport class AsyncRenderBase {\n\n constructor(private resolvers: AsyncRenderResolver<any>[] = []) {\n this.resolvers = [].concat(this.resolvers || []);\n }\n\n get isLoading() {\n return this.resolvers.reduce((acc, res) => acc || res.isLoading, false);\n }\n\n get hasError() {\n return this.resolvers.reduce((acc, res) => acc || res.hasErrored, false);\n }\n\n destroy() {\n this.resolvers.forEach(res => res.destroy());\n }\n\n resolve() {\n this.resolvers.forEach(res => {\n if (res.shouldSkip) { return; }\n res.resolve();\n });\n }\n}\n","import { Component, Input, OnDestroy, Inject, TemplateRef, Optional, OnInit } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { HG_ASYNC_RENDER_RESOLVER, AsyncRenderResolver } from '../async-render-resolver';\nimport { AsyncRenderBase } from '../async-render-base';\n\n@Component({\n selector: 'hg-async-render',\n templateUrl: './async-render.component.html',\n styleUrls: ['./async-render.component.scss'],\n exportAs: 'asyncRender'\n})\nexport class AsyncRenderComponent extends AsyncRenderBase implements OnInit, OnDestroy {\n\n refresh$: Subject<void> = new Subject();\n @Input() loaderTemplateRef: TemplateRef<any>;\n @Input() errorTemplateRef: TemplateRef<any>;\n @Input() autoControlLoader = false;\n @Input() autoControlError = false;\n\n constructor(@Inject(HG_ASYNC_RENDER_RESOLVER) @Optional() resolvers: AsyncRenderResolver<any>[] = []) {\n super(resolvers);\n this.refresh$.subscribe(() => { this.resolve(); });\n }\n\n ngOnInit() {\n this.resolve();\n }\n\n ngOnDestroy() {\n this.refresh$.complete();\n this.destroy();\n }\n}\n","import { Directive, Inject, Optional, OnDestroy, TemplateRef, ViewContainerRef, OnInit } from '@angular/core';\nimport { AsyncRenderResolver, HG_ASYNC_RENDER_RESOLVER } from '../lib/async-render-resolver';\nimport { AsyncRenderBase } from './async-render-base';\nimport { Subject } from 'rxjs';\n\n@Directive({\n selector: '[hgAsyncRender]',\n exportAs: 'asyncRender'\n})\nexport class AsyncRenderDirective extends AsyncRenderBase implements OnInit, OnDestroy {\n\n refresh$: Subject<void> = new Subject();\n\n constructor(\n @Inject(HG_ASYNC_RENDER_RESOLVER) @Optional() resolvers: AsyncRenderResolver<any>[] = [],\n viewContainerRef: ViewContainerRef,\n @Optional() templateRef: TemplateRef<any>,\n ) {\n super(resolvers);\n this.refresh$.subscribe(() => { this.resolve(); });\n if (!!templateRef) { viewContainerRef.createEmbeddedView(templateRef, { $implicit: this }); }\n }\n\n ngOnInit() {\n this.resolve();\n }\n\n ngOnDestroy() {\n this.refresh$.complete();\n this.destroy();\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AsyncRenderComponent } from './async-render/async-render.component';\nimport { AsyncRenderDirective } from './async-render.directive';\n\n@NgModule({\n declarations: [AsyncRenderComponent, AsyncRenderDirective],\n imports: [\n CommonModule\n ],\n exports: [AsyncRenderComponent, AsyncRenderDirective]\n})\nexport class AsyncRenderModule { }\n","import { BehaviorSubject } from 'rxjs';\nimport { distinctUntilChanged } from 'rxjs/operators';\n\nexport function toObservable(target, key) {\n const subject = new BehaviorSubject(target[key]);\n const observable = subject.asObservable().pipe(distinctUntilChanged());\n Object.defineProperty(target, key, {\n set: (value) => { subject.next(value); },\n get: () => observable\n });\n}\n"],"names":["InjectionToken","Subject","ReplaySubject","asapScheduler","of","combineLatest","first","takeUntil","tslib_1.__extends","Component","Inject","Optional","Input","Directive","ViewContainerRef","TemplateRef","NgModule","CommonModule","BehaviorSubject","distinctUntilChanged"],"mappings":"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"} |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://hg-async-render/lib/async-render-resolver.ts","ng://hg-async-render/lib/async-render-base.ts","ng://hg-async-render/lib/async-render/async-render.component.ts","ng://hg-async-render/lib/async-render.directive.ts","ng://hg-async-render/lib/async-render.module.ts","ng://hg-async-render/lib/decorators.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__extends","__","this","constructor","prototype","create","HG_ASYNC_RENDER_RESOLVER","InjectionToken","Default","AutoResolveOnce","AutoResolve","AsyncRenderResolver","target","dependencies","config","ResolverConfig","_isAlive$","Subject","_shouldSkip","_autoResolveOnceCompleted","_resolveRequested","_state","loading","errored","_data$","ReplaySubject","_dataObservable$","asObservable","defineProperty","isFunctionObservableTarget","console","warn","value","_functionObservableSubscription","unsubscribe","undefined","_dependencySubscription","shouldAutoResolveOnce","resolve","Function","auto","_this","isAutoResolveOnceConfig","isDefaultConfig","asapScheduler","schedule","error","isArray","deps","combineLatest","pipe","first","takeUntil","of","subscribe","data","targetFn","next","res","err","complete","loadAction","success$","failure$","destroy","cancelAction","AsyncRenderBase","resolvers","concat","reduce","acc","isLoading","hasErrored","forEach","shouldSkip","AsyncRenderComponent","_super","call","refresh$","autoControlLoader","autoControlError","tslib_1.__extends","ngOnInit","ngOnDestroy","Component","args","selector","template","exportAs","Inject","type","Optional","Input","AsyncRenderDirective","viewContainerRef","templateRef","createEmbeddedView","$implicit","Directive","ViewContainerRef","TemplateRef","decorators","AsyncRenderModule","NgModule","declarations","imports","CommonModule","exports","key","subject","BehaviorSubject","observable","distinctUntilChanged","set","get"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\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;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\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;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\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); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\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);\r\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); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { first, takeUntil } from 'rxjs/operators';\nimport { asapScheduler, Subject, Observable, combineLatest, of, Subscription, ReplaySubject } from 'rxjs';\nimport { InjectionToken } from '@angular/core';\n\nexport const HG_ASYNC_RENDER_RESOLVER = new InjectionToken<string>('HG_ASYNC_RENDER_RESOLVER');\n\nexport enum ResolverConfig {\n Default,\n AutoResolveOnce,\n AutoResolve\n}\n\ninterface IActionsTarget<T> {\n loadAction: (data: T) => void;\n cancelAction: () => void;\n success$: Observable<any>;\n failure$: Observable<any>;\n}\n\ntype FunctionObservableTarget<T = any, R = T> = (data: T) => Observable<R>;\n\nexport class AsyncRenderResolver<T = any, R = T> {\n\n protected config = ResolverConfig.Default;\n\n // tslint:disable-next-line:variable-name\n private _isAlive$: Subject<void> = new Subject();\n\n // tslint:disable-next-line:variable-name\n private _shouldSkip = null;\n\n // tslint:disable-next-line:variable-name\n private _autoResolveOnceCompleted = false;\n\n // tslint:disable-next-line:variable-name\n private _dependencySubscription: Subscription;\n\n // tslint:disable-next-line:variable-name\n private _resolveRequested = false;\n\n // tslint:disable-next-line:variable-name\n private _state = { loading: false, errored: false };\n\n // tslint:disable-next-line:variable-name\n private _data$ = new ReplaySubject<R>(1);\n\n // tslint:disable-next-line:variable-name\n private _dataObservable$ = this._data$.asObservable();\n\n // tslint:disable-next-line:variable-name\n private _functionObservableSubscription: Subscription;\n\n get isLoading() { return this._state.loading; }\n\n get hasErrored() { return this._state.errored; }\n\n error: Error;\n\n public get data$() {\n if (this.isFunctionObservableTarget) { return this._dataObservable$; }\n // tslint:disable-next-line:max-line-length\n console.warn('hg-async-render: Action based async render resolvers don\\'t have data$ property! Data management should be controlled via action handlers!');\n return undefined;\n }\n\n set shouldSkip(value: boolean) {\n if (value === true && !this._shouldSkip) {\n if (!!this._functionObservableSubscription) {\n this._functionObservableSubscription.unsubscribe();\n this._functionObservableSubscription = undefined;\n } else if (!!this._dependencySubscription) {\n this._dependencySubscription.unsubscribe();\n this._dependencySubscription = undefined;\n }\n this._resolveRequested = false;\n this._state.errored = false;\n this._state.loading = false;\n }\n\n const shouldAutoResolveOnce = (this.config === ResolverConfig.AutoResolveOnce && this._autoResolveOnceCompleted === false);\n if (\n (\n (this.config === ResolverConfig.AutoResolve && this._shouldSkip === true) ||\n (shouldAutoResolveOnce && this._shouldSkip)\n ) && value === false\n ) {\n // asapScheduler.schedule(() => { this.resolve(true); });\n this.resolve(true);\n }\n this._shouldSkip = value;\n }\n\n get shouldSkip() {\n return this._shouldSkip;\n }\n\n private get isFunctionObservableTarget() {\n return this.target instanceof Function;\n }\n\n constructor(\n private target: IActionsTarget<T> | FunctionObservableTarget<T, R>,\n private dependencies: () => (Observable<any> | any[]) | Observable<any> | Observable<any>[] = null\n ) { }\n\n resolve(auto = false) {\n if (this._resolveRequested || (auto && this._autoResolveOnceCompleted)) { return; }\n this._resolveRequested = true;\n\n if (this._dependencySubscription) { this._dependencySubscription.unsubscribe(); }\n const isAutoResolveOnceConfig = this.config === ResolverConfig.AutoResolveOnce;\n const isDefaultConfig = this.config === ResolverConfig.Default;\n\n if (isAutoResolveOnceConfig) { this._autoResolveOnceCompleted = true; }\n\n asapScheduler.schedule(() => {\n this._state.errored = false;\n this._state.loading = true;\n this.error = undefined;\n\n let dependencies: any = this.dependencies;\n if (typeof this.dependencies === 'function') {\n dependencies = this.dependencies();\n if (Array.isArray(dependencies)) { dependencies = [dependencies]; }\n }\n const deps = !dependencies ? of(undefined) : combineLatest(dependencies).pipe(\n (isAutoResolveOnceConfig || isDefaultConfig) ? first() : takeUntil(this._isAlive$)\n );\n\n this._dependencySubscription = deps.subscribe(data => {\n this._resolveRequested = false;\n\n asapScheduler.schedule(() => {\n this._state.errored = false;\n this._state.loading = true;\n });\n\n if (!this.isFunctionObservableTarget) {\n const target = this.target as IActionsTarget<T>;\n target.loadAction(data);\n target.success$.pipe(first(), takeUntil(this._isAlive$)).subscribe(() => {\n this._state.loading = false;\n this._state.errored = false;\n });\n target.failure$.pipe(first(), takeUntil(this._isAlive$)).subscribe(() => {\n this._state.loading = false;\n this._state.errored = true;\n });\n } else {\n const targetFn = this.target as FunctionObservableTarget<T, R>;\n if (this._functionObservableSubscription) {\n this._functionObservableSubscription.unsubscribe();\n this._functionObservableSubscription = undefined;\n }\n this._functionObservableSubscription = targetFn(data).pipe(takeUntil(this._isAlive$)).subscribe({\n next: res => {\n this._data$.next(res);\n this._state.loading = false;\n this._state.errored = false;\n },\n error: err => {\n this._data$.error(err);\n this.error = err;\n this._state.loading = false;\n this._state.errored = true;\n },\n complete: () => {\n this._state.loading = false;\n this._state.errored = false;\n this._functionObservableSubscription = undefined;\n }\n });\n }\n });\n });\n }\n\n destroy() {\n this._isAlive$.next();\n this._isAlive$.complete();\n\n if (!this._state.loading) { return; }\n const target = this.target as IActionsTarget<T>;\n if (target.cancelAction) {\n target.cancelAction();\n }\n }\n}\n","import { AsyncRenderResolver } from '../lib/async-render-resolver';\n\nexport class AsyncRenderBase {\n\n constructor(private resolvers: AsyncRenderResolver<any>[] = []) {\n this.resolvers = [].concat(this.resolvers || []);\n }\n\n get isLoading() {\n return this.resolvers.reduce((acc, res) => acc || res.isLoading, false);\n }\n\n get hasError() {\n return this.resolvers.reduce((acc, res) => acc || res.hasErrored, false);\n }\n\n destroy() {\n this.resolvers.forEach(res => res.destroy());\n }\n\n resolve() {\n this.resolvers.forEach(res => {\n if (res.shouldSkip) { return; }\n res.resolve();\n });\n }\n}\n","import { Component, Input, OnDestroy, Inject, TemplateRef, Optional, OnInit } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { HG_ASYNC_RENDER_RESOLVER, AsyncRenderResolver } from '../async-render-resolver';\nimport { AsyncRenderBase } from '../async-render-base';\n\n@Component({\n selector: 'hg-async-render',\n templateUrl: './async-render.component.html',\n styleUrls: ['./async-render.component.scss'],\n exportAs: 'asyncRender'\n})\nexport class AsyncRenderComponent extends AsyncRenderBase implements OnInit, OnDestroy {\n\n refresh$: Subject<void> = new Subject();\n @Input() loaderTemplateRef: TemplateRef<any>;\n @Input() errorTemplateRef: TemplateRef<any>;\n @Input() autoControlLoader = false;\n @Input() autoControlError = false;\n\n constructor(@Inject(HG_ASYNC_RENDER_RESOLVER) @Optional() resolvers: AsyncRenderResolver<any>[] = []) {\n super(resolvers);\n this.refresh$.subscribe(() => { this.resolve(); });\n }\n\n ngOnInit() {\n this.resolve();\n }\n\n ngOnDestroy() {\n this.refresh$.complete();\n this.destroy();\n }\n}\n","import { Directive, Inject, Optional, OnDestroy, TemplateRef, ViewContainerRef, OnInit } from '@angular/core';\nimport { AsyncRenderResolver, HG_ASYNC_RENDER_RESOLVER } from '../lib/async-render-resolver';\nimport { AsyncRenderBase } from './async-render-base';\nimport { Subject } from 'rxjs';\n\n@Directive({\n selector: '[hgAsyncRender]',\n exportAs: 'asyncRender'\n})\nexport class AsyncRenderDirective extends AsyncRenderBase implements OnInit, OnDestroy {\n\n refresh$: Subject<void> = new Subject();\n\n constructor(\n @Inject(HG_ASYNC_RENDER_RESOLVER) @Optional() resolvers: AsyncRenderResolver<any>[] = [],\n viewContainerRef: ViewContainerRef,\n @Optional() templateRef: TemplateRef<any>,\n ) {\n super(resolvers);\n this.refresh$.subscribe(() => { this.resolve(); });\n if (!!templateRef) { viewContainerRef.createEmbeddedView(templateRef, { $implicit: this }); }\n }\n\n ngOnInit() {\n this.resolve();\n }\n\n ngOnDestroy() {\n this.refresh$.complete();\n this.destroy();\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AsyncRenderComponent } from './async-render/async-render.component';\nimport { AsyncRenderDirective } from './async-render.directive';\n\n@NgModule({\n declarations: [AsyncRenderComponent, AsyncRenderDirective],\n imports: [\n CommonModule\n ],\n exports: [AsyncRenderComponent, AsyncRenderDirective]\n})\nexport class AsyncRenderModule { }\n","import { BehaviorSubject } from 'rxjs';\nimport { distinctUntilChanged } from 'rxjs/operators';\n\nexport function toObservable(target, key) {\n const subject = new BehaviorSubject(target[key]);\n const observable = subject.asObservable().pipe(distinctUntilChanged());\n Object.defineProperty(target, key, {\n set: (value) => { subject.next(value); },\n get: () => observable\n });\n}\n"]} | ||
| {"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://hg-async-render/lib/async-render-resolver.ts","ng://hg-async-render/lib/async-render-base.ts","ng://hg-async-render/lib/async-render/async-render.component.ts","ng://hg-async-render/lib/async-render.directive.ts","ng://hg-async-render/lib/async-render.module.ts","ng://hg-async-render/lib/decorators.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__extends","__","this","constructor","prototype","create","HG_ASYNC_RENDER_RESOLVER","InjectionToken","Default","AutoResolveOnce","AutoResolve","AsyncRenderResolver","target","dependencies","config","ResolverConfig","_isAlive$","Subject","_shouldSkip","_autoResolveOnceCompleted","_resolveRequested","_state","loading","errored","_data$","ReplaySubject","_dataObservable$","asObservable","defineProperty","isFunctionObservableTarget","console","warn","value","_functionObservableSubscription","unsubscribe","undefined","_dependencySubscription","shouldAutoResolveOnce","resolve","Function","auto","_this","isAutoResolveOnceConfig","isDefaultConfig","asapScheduler","schedule","error","isArray","deps","combineLatest","pipe","first","takeUntil","of","subscribe","data","targetFn","next","res","err","complete","loadAction","success$","failure$","destroy","cancelAction","AsyncRenderBase","resolvers","concat","reduce","acc","isLoading","hasErrored","forEach","shouldSkip","AsyncRenderComponent","_super","call","refresh$","autoControlLoader","autoControlError","tslib_1.__extends","ngOnInit","ngOnDestroy","Component","args","selector","template","exportAs","Inject","type","Optional","Input","AsyncRenderDirective","viewContainerRef","templateRef","createEmbeddedView","$implicit","Directive","ViewContainerRef","TemplateRef","decorators","AsyncRenderModule","NgModule","declarations","imports","CommonModule","exports","key","subject","BehaviorSubject","observable","distinctUntilChanged","set","get"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\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;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\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;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\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); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\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);\r\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); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { first, takeUntil } from 'rxjs/operators';\nimport { asapScheduler, Subject, Observable, combineLatest, of, Subscription, ReplaySubject } from 'rxjs';\nimport { InjectionToken } from '@angular/core';\n\nexport const HG_ASYNC_RENDER_RESOLVER = new InjectionToken<string>('HG_ASYNC_RENDER_RESOLVER');\n\nexport enum ResolverConfig {\n Default,\n AutoResolveOnce,\n AutoResolve\n}\n\ninterface IActionsTarget<T> {\n loadAction: (data: T) => void;\n cancelAction: () => void;\n success$: Observable<any>;\n failure$: Observable<any>;\n}\n\ntype FunctionObservableTarget<T = any, R = T> = (data: T) => Observable<R>;\n\nexport class AsyncRenderResolver<T, R = T> {\n\n protected config = ResolverConfig.Default;\n\n // tslint:disable-next-line:variable-name\n private _isAlive$: Subject<void> = new Subject();\n\n // tslint:disable-next-line:variable-name\n private _shouldSkip = null;\n\n // tslint:disable-next-line:variable-name\n private _autoResolveOnceCompleted = false;\n\n // tslint:disable-next-line:variable-name\n private _dependencySubscription: Subscription;\n\n // tslint:disable-next-line:variable-name\n private _resolveRequested = false;\n\n // tslint:disable-next-line:variable-name\n private _state = { loading: false, errored: false };\n\n // tslint:disable-next-line:variable-name\n private _data$ = new ReplaySubject<R>(1);\n\n // tslint:disable-next-line:variable-name\n private _dataObservable$ = this._data$.asObservable();\n\n // tslint:disable-next-line:variable-name\n private _functionObservableSubscription: Subscription;\n\n get isLoading() { return this._state.loading; }\n\n get hasErrored() { return this._state.errored; }\n\n error: Error;\n\n public get data$() {\n if (this.isFunctionObservableTarget) { return this._dataObservable$; }\n // tslint:disable-next-line:max-line-length\n console.warn('hg-async-render: Action based async render resolvers don\\'t have data$ property! Data management should be controlled via action handlers!');\n return undefined;\n }\n\n set shouldSkip(value: boolean) {\n if (value === true && !this._shouldSkip) {\n if (!!this._functionObservableSubscription) {\n this._functionObservableSubscription.unsubscribe();\n this._functionObservableSubscription = undefined;\n } else if (!!this._dependencySubscription) {\n this._dependencySubscription.unsubscribe();\n this._dependencySubscription = undefined;\n }\n this._resolveRequested = false;\n this._state.errored = false;\n this._state.loading = false;\n }\n\n const shouldAutoResolveOnce = (this.config === ResolverConfig.AutoResolveOnce && this._autoResolveOnceCompleted === false);\n if (\n (\n (this.config === ResolverConfig.AutoResolve && this._shouldSkip === true) ||\n (shouldAutoResolveOnce && this._shouldSkip)\n ) && value === false\n ) {\n // asapScheduler.schedule(() => { this.resolve(true); });\n this.resolve(true);\n }\n this._shouldSkip = value;\n }\n\n get shouldSkip() {\n return this._shouldSkip;\n }\n\n private get isFunctionObservableTarget() {\n return this.target instanceof Function;\n }\n\n constructor(\n private target: IActionsTarget<T> | FunctionObservableTarget<T, R>,\n private dependencies: () => (Observable<any> | any[]) | Observable<any> | Observable<any>[] = null\n ) { }\n\n resolve(auto = false) {\n if (this._resolveRequested || (auto && this._autoResolveOnceCompleted)) { return; }\n this._resolveRequested = true;\n\n if (this._dependencySubscription) { this._dependencySubscription.unsubscribe(); }\n const isAutoResolveOnceConfig = this.config === ResolverConfig.AutoResolveOnce;\n const isDefaultConfig = this.config === ResolverConfig.Default;\n\n if (isAutoResolveOnceConfig) { this._autoResolveOnceCompleted = true; }\n\n asapScheduler.schedule(() => {\n this._state.errored = false;\n this._state.loading = true;\n this.error = undefined;\n\n let dependencies: any = this.dependencies;\n if (typeof this.dependencies === 'function') {\n dependencies = this.dependencies();\n if (Array.isArray(dependencies)) { dependencies = [dependencies]; }\n }\n const deps = !dependencies ? of(undefined) : combineLatest(dependencies).pipe(\n (isAutoResolveOnceConfig || isDefaultConfig) ? first() : takeUntil(this._isAlive$)\n );\n\n this._dependencySubscription = deps.subscribe(data => {\n this._resolveRequested = false;\n\n asapScheduler.schedule(() => {\n this._state.errored = false;\n this._state.loading = true;\n });\n\n if (!this.isFunctionObservableTarget) {\n const target = this.target as IActionsTarget<T>;\n target.loadAction(data);\n target.success$.pipe(first(), takeUntil(this._isAlive$)).subscribe(() => {\n this._state.loading = false;\n this._state.errored = false;\n });\n target.failure$.pipe(first(), takeUntil(this._isAlive$)).subscribe(() => {\n this._state.loading = false;\n this._state.errored = true;\n });\n } else {\n const targetFn = this.target as FunctionObservableTarget<T, R>;\n if (this._functionObservableSubscription) {\n this._functionObservableSubscription.unsubscribe();\n this._functionObservableSubscription = undefined;\n }\n this._functionObservableSubscription = targetFn(data).pipe(takeUntil(this._isAlive$)).subscribe({\n next: res => {\n this._data$.next(res);\n this._state.loading = false;\n this._state.errored = false;\n },\n error: err => {\n this._data$.error(err);\n this.error = err;\n this._state.loading = false;\n this._state.errored = true;\n },\n complete: () => {\n this._state.loading = false;\n this._state.errored = false;\n this._functionObservableSubscription = undefined;\n }\n });\n }\n });\n });\n }\n\n destroy() {\n this._isAlive$.next();\n this._isAlive$.complete();\n\n if (!this._state.loading) { return; }\n const target = this.target as IActionsTarget<T>;\n if (target.cancelAction) {\n target.cancelAction();\n }\n }\n}\n","import { AsyncRenderResolver } from '../lib/async-render-resolver';\n\nexport class AsyncRenderBase {\n\n constructor(private resolvers: AsyncRenderResolver<any>[] = []) {\n this.resolvers = [].concat(this.resolvers || []);\n }\n\n get isLoading() {\n return this.resolvers.reduce((acc, res) => acc || res.isLoading, false);\n }\n\n get hasError() {\n return this.resolvers.reduce((acc, res) => acc || res.hasErrored, false);\n }\n\n destroy() {\n this.resolvers.forEach(res => res.destroy());\n }\n\n resolve() {\n this.resolvers.forEach(res => {\n if (res.shouldSkip) { return; }\n res.resolve();\n });\n }\n}\n","import { Component, Input, OnDestroy, Inject, TemplateRef, Optional, OnInit } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { HG_ASYNC_RENDER_RESOLVER, AsyncRenderResolver } from '../async-render-resolver';\nimport { AsyncRenderBase } from '../async-render-base';\n\n@Component({\n selector: 'hg-async-render',\n templateUrl: './async-render.component.html',\n styleUrls: ['./async-render.component.scss'],\n exportAs: 'asyncRender'\n})\nexport class AsyncRenderComponent extends AsyncRenderBase implements OnInit, OnDestroy {\n\n refresh$: Subject<void> = new Subject();\n @Input() loaderTemplateRef: TemplateRef<any>;\n @Input() errorTemplateRef: TemplateRef<any>;\n @Input() autoControlLoader = false;\n @Input() autoControlError = false;\n\n constructor(@Inject(HG_ASYNC_RENDER_RESOLVER) @Optional() resolvers: AsyncRenderResolver<any>[] = []) {\n super(resolvers);\n this.refresh$.subscribe(() => { this.resolve(); });\n }\n\n ngOnInit() {\n this.resolve();\n }\n\n ngOnDestroy() {\n this.refresh$.complete();\n this.destroy();\n }\n}\n","import { Directive, Inject, Optional, OnDestroy, TemplateRef, ViewContainerRef, OnInit } from '@angular/core';\nimport { AsyncRenderResolver, HG_ASYNC_RENDER_RESOLVER } from '../lib/async-render-resolver';\nimport { AsyncRenderBase } from './async-render-base';\nimport { Subject } from 'rxjs';\n\n@Directive({\n selector: '[hgAsyncRender]',\n exportAs: 'asyncRender'\n})\nexport class AsyncRenderDirective extends AsyncRenderBase implements OnInit, OnDestroy {\n\n refresh$: Subject<void> = new Subject();\n\n constructor(\n @Inject(HG_ASYNC_RENDER_RESOLVER) @Optional() resolvers: AsyncRenderResolver<any>[] = [],\n viewContainerRef: ViewContainerRef,\n @Optional() templateRef: TemplateRef<any>,\n ) {\n super(resolvers);\n this.refresh$.subscribe(() => { this.resolve(); });\n if (!!templateRef) { viewContainerRef.createEmbeddedView(templateRef, { $implicit: this }); }\n }\n\n ngOnInit() {\n this.resolve();\n }\n\n ngOnDestroy() {\n this.refresh$.complete();\n this.destroy();\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AsyncRenderComponent } from './async-render/async-render.component';\nimport { AsyncRenderDirective } from './async-render.directive';\n\n@NgModule({\n declarations: [AsyncRenderComponent, AsyncRenderDirective],\n imports: [\n CommonModule\n ],\n exports: [AsyncRenderComponent, AsyncRenderDirective]\n})\nexport class AsyncRenderModule { }\n","import { BehaviorSubject } from 'rxjs';\nimport { distinctUntilChanged } from 'rxjs/operators';\n\nexport function toObservable(target, key) {\n const subject = new BehaviorSubject(target[key]);\n const observable = subject.asObservable().pipe(distinctUntilChanged());\n Object.defineProperty(target, key, {\n set: (value) => { subject.next(value); },\n get: () => observable\n });\n}\n"]} |
@@ -309,2 +309,2 @@ /** | ||
| } | ||
| //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXN5bmMtcmVuZGVyLXJlc29sdmVyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vaGctYXN5bmMtcmVuZGVyLyIsInNvdXJjZXMiOlsibGliL2FzeW5jLXJlbmRlci1yZXNvbHZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBYyxhQUFhLEVBQUUsRUFBRSxFQUFnQixhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUcsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFL0MsTUFBTSxPQUFPLHdCQUF3QixHQUFHLElBQUksY0FBYyxDQUFTLDBCQUEwQixDQUFDOzs7SUFHNUYsVUFBTztJQUNQLGtCQUFlO0lBQ2YsY0FBVzs7Ozs7Ozs7OztBQUdiLDZCQUtDOzs7SUFKQyxvQ0FBOEI7O0lBQzlCLHNDQUF5Qjs7SUFDekIsa0NBQTBCOztJQUMxQixrQ0FBMEI7Ozs7O0FBSzVCLE1BQU0sT0FBTyxtQkFBbUI7Ozs7O0lBK0U5QixZQUNVLE1BQTBELEVBQzFELGVBQXNGLElBQUk7UUFEMUYsV0FBTSxHQUFOLE1BQU0sQ0FBb0Q7UUFDMUQsaUJBQVksR0FBWixZQUFZLENBQThFO1FBL0UxRixXQUFNLEdBQUcsY0FBYyxDQUFDLE9BQU8sQ0FBQzs7UUFHbEMsY0FBUyxHQUFrQixJQUFJLE9BQU8sRUFBRSxDQUFDOztRQUd6QyxnQkFBVyxHQUFHLElBQUksQ0FBQzs7UUFHbkIsOEJBQXlCLEdBQUcsS0FBSyxDQUFDOztRQU1sQyxzQkFBaUIsR0FBRyxLQUFLLENBQUM7O1FBRzFCLFdBQU0sR0FBRyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDOztRQUc1QyxXQUFNLEdBQUcsSUFBSSxhQUFhLENBQUksQ0FBQyxDQUFDLENBQUM7O1FBR2pDLHFC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RDs7Ozs7SUFHakQsMENBQTJCOzs7OztJQUczQix3REFBMEM7Ozs7O0lBRzFDLHNEQUE4Qzs7Ozs7SUFHOUMsZ0RBQWtDOzs7OztJQUdsQyxxQ0FBb0Q7Ozs7O0lBR3BELHFDQUF5Qzs7Ozs7SUFHekMsK0NBQXNEOzs7OztJQUd0RCw4REFBc0Q7O0lBTXRELG9DQUFhOzs7OztJQTZDWCxxQ0FBa0U7Ozs7O0lBQ2xFLDJDQUFrRyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZpcnN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBhc2FwU2NoZWR1bGVyLCBTdWJqZWN0LCBPYnNlcnZhYmxlLCBjb21iaW5lTGF0ZXN0LCBvZiwgU3Vic2NyaXB0aW9uLCBSZXBsYXlTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY29uc3QgSEdfQVNZTkNfUkVOREVSX1JFU09MVkVSID0gbmV3IEluamVjdGlvblRva2VuPHN0cmluZz4oJ0hHX0FTWU5DX1JFTkRFUl9SRVNPTFZFUicpO1xuXG5leHBvcnQgZW51bSBSZXNvbHZlckNvbmZpZyB7XG4gIERlZmF1bHQsXG4gIEF1dG9SZXNvbHZlT25jZSxcbiAgQXV0b1Jlc29sdmVcbn1cblxuaW50ZXJmYWNlIElBY3Rpb25zVGFyZ2V0PFQ+IHtcbiAgbG9hZEFjdGlvbjogKGRhdGE6IFQpID0+IHZvaWQ7XG4gIGNhbmNlbEFjdGlvbjogKCkgPT4gdm9pZDtcbiAgc3VjY2VzcyQ6IE9ic2VydmFibGU8YW55PjtcbiAgZmFpbHVyZSQ6IE9ic2VydmFibGU8YW55Pjtcbn1cblxudHlwZSBGdW5jdGlvbk9ic2VydmFibGVUYXJnZXQ8VCA9IGFueSwgUiA9IFQ+ID0gKGRhdGE6IFQpID0+IE9ic2VydmFibGU8Uj47XG5cbmV4cG9ydCBjbGFzcyBBc3luY1JlbmRlclJlc29sdmVyPFQgPSBhbnksIFIgPSBUPiB7XG5cbiAgcHJvdGVjdGVkIGNvbmZpZyA9IFJlc29sdmVyQ29uZmlnLkRlZmF1bHQ7XG5cbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOnZhcmlhYmxlLW5hbWVcbiAgcHJpdmF0ZSBfaXNBbGl2ZSQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xuXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTp2YXJpYWJsZS1uYW1lXG4gIHByaXZhdGUgX3Nob3VsZFNraXAgPSBudWxsO1xuXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTp2YXJpYWJsZS1uYW1lXG4gIHByaXZhdGUgX2F1dG9SZXNvbHZlT25jZUNvbXBsZXRlZCA9IGZhbHNlO1xuXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTp2YXJpYWJsZS1uYW1lXG4gIHByaXZhdGUgX2RlcGVuZGVuY3lTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6dmFyaWFibGUtbmFtZVxuICBwcml2YXRlIF9yZXNvbHZlUmVxdWVzdGVkID0gZmFsc2U7XG5cbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOnZhcmlhYmxlLW5hbWVcbiAgcHJpdmF0ZSBfc3RhdGUgPSB7IGxvYWRpbmc6IGZhbHNlLCBlcnJvcmVkOiBmYWxzZSB9O1xuXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTp2YXJpYWJsZS1uYW1lXG4gIHByaXZhdGUgX2RhdGEkID0gbmV3IFJlcGxheVN1YmplY3Q8Uj4oMSk7XG5cbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOnZhcmlhYmxlLW5hbWVcbiAgcHJpdmF0ZSBfZGF0YU9ic2VydmFibGUkID0gdGhpcy5fZGF0YSQuYXNPYnNlcnZhYmxlKCk7XG5cbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOnZhcmlhYmxlLW5hbWVcbiAgcHJpdmF0ZSBfZnVuY3Rpb25PYnNlcnZhYmxlU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgZ2V0IGlzTG9hZGluZygpIHsgcmV0dXJuIHRoaXMuX3N0YXRlLmxvYWRpbmc7IH1cblxuICBnZXQgaGFzRXJyb3JlZCgpIHsgcmV0dXJuIHRoaXMuX3N0YXRlLmVycm9yZWQ7IH1cblxuICBlcnJvcjogRXJyb3I7XG5cbiAgcHVibGljIGdldCBkYXRhJCgpIHtcbiAgICBpZiAodGhpcy5pc0Z1bmN0aW9uT2JzZXJ2YWJsZVRhcmdldCkgeyByZXR1cm4gdGhpcy5fZGF0YU9ic2VydmFibGUkOyB9XG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm1heC1saW5lLWxlbmd0aFxuICAgIGNvbnNvbGUud2FybignaGctYXN5bmMtcmVuZGVyOiBBY3Rpb24gYmFzZWQgYXN5bmMgcmVuZGVyIHJlc29sdmVycyBkb25cXCd0IGhhdmUgZGF0YSQgcHJvcGVydHkhIERhdGEgbWFuYWdlbWVudCBzaG91bGQgYmUgY29udHJvbGxlZCB2aWEgYWN0aW9uIGhhbmRsZXJzIScpO1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBzZXQgc2hvdWxkU2tpcCh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICh2YWx1ZSA9PT0gdHJ1ZSAmJiAhdGhpcy5fc2hvdWxkU2tpcCkge1xuICAgICAgaWYgKCEhdGhpcy5fZnVuY3Rpb25PYnNlcnZhYmxlU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgIHRoaXMuX2Z1bmN0aW9uT2JzZXJ2YWJsZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLl9mdW5jdGlvbk9ic2VydmFibGVTdWJzY3JpcHRpb24gPSB1bmRlZmluZWQ7XG4gICAgICB9IGVsc2UgaWYgKCEhdGhpcy5fZGVwZW5kZW5jeVN1YnNjcmlwdGlvbikge1xuICAgICAgICB0aGlzLl9kZXBlbmRlbmN5U3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuX2RlcGVuZGVuY3lTdWJzY3JpcHRpb24gPSB1bmRlZmluZWQ7XG4gICAgICB9XG4gICAgICB0aGlzLl9yZXNvbHZlUmVxdWVzdGVkID0gZmFsc2U7XG4gICAgICB0aGlzLl9zdGF0ZS5lcnJvcmVkID0gZmFsc2U7XG4gICAgICB0aGlzLl9zdGF0ZS5sb2FkaW5nID0gZmFsc2U7XG4gICAgfVxuXG4gICAgY29uc3Qgc2hvdWxkQXV0b1Jlc29sdmVPbmNlID0gKHRoaXMuY29uZmlnID09PSBSZXNvbHZlckNvbmZpZy5BdXRvUmVzb2x2ZU9uY2UgJiYgdGhpcy5fYXV0b1Jlc29sdmVPbmNlQ29tcGxldGVkID09PSBmYWxzZSk7XG4gICAgaWYgKFxuICAgICAgKFxuICAgICAgICAodGhpcy5jb25maWcgPT09IFJlc29sdmVyQ29uZmlnLkF1dG9SZXNvbHZlICYmIHRoaXMuX3Nob3VsZFNraXAgPT09IHRydWUpIHx8XG4gICAgICAgIChzaG91bGRBdXRvUmVzb2x2ZU9uY2UgJiYgdGhpcy5fc2hvdWxkU2tpcClcbiAgICAgICkgJiYgdmFsdWUgPT09IGZhbHNlXG4gICAgKSB7XG4gICAgICAvLyBhc2FwU2NoZWR1bGVyLnNjaGVkdWxlKCgpID0+IHsgdGhpcy5yZXNvbHZlKHRydWUpOyB9KTtcbiAgICAgIHRoaXMucmVzb2x2ZSh0cnVlKTtcbiAgICB9XG4gICAgdGhpcy5fc2hvdWxkU2tpcCA9IHZhbHVlO1xuICB9XG5cbiAgZ2V0IHNob3VsZFNraXAoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3Nob3VsZFNraXA7XG4gIH1cblxuICBwcml2YXRlIGdldCBpc0Z1bmN0aW9uT2JzZXJ2YWJsZVRhcmdldCgpIHtcbiAgICByZXR1cm4gdGhpcy50YXJnZXQgaW5zdGFuY2VvZiBGdW5jdGlvbjtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgdGFyZ2V0OiBJQWN0aW9uc1RhcmdldDxUPiB8IEZ1bmN0aW9uT2JzZXJ2YWJsZVRhcmdldDxULCBSPixcbiAgICBwcml2YXRlIGRlcGVuZGVuY2llczogKCkgPT4gKE9ic2VydmFibGU8YW55PiB8IGFueVtdKSB8IE9ic2VydmFibGU8YW55PiB8IE9ic2VydmFibGU8YW55PltdID0gbnVsbFxuICApIHsgfVxuXG4gIHJlc29sdmUoYXV0byA9IGZhbHNlKSB7XG4gICAgaWYgKHRoaXMuX3Jlc29sdmVSZXF1ZXN0ZWQgfHwgKGF1dG8gJiYgdGhpcy5fYXV0b1Jlc29sdmVPbmNlQ29tcGxldGVkKSkgeyByZXR1cm47IH1cbiAgICB0aGlzLl9yZXNvbHZlUmVxdWVzdGVkID0gdHJ1ZTtcblxuICAgIGlmICh0aGlzLl9kZXBlbmRlbmN5U3Vic2NyaXB0aW9uKSB7IHRoaXMuX2RlcGVuZGVuY3lTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTsgfVxuICAgIGNvbnN0IGlzQXV0b1Jlc29sdmVPbmNlQ29uZmlnID0gdGhpcy5jb25maWcgPT09IFJlc29sdmVyQ29uZmlnLkF1dG9SZXNvbHZlT25jZTtcbiAgICBjb25zdCBpc0RlZmF1bHRDb25maWcgPSB0aGlzLmNvbmZpZyA9PT0gUmVzb2x2ZXJDb25maWcuRGVmYXVsdDtcblxuICAgIGlmIChpc0F1dG9SZXNvbHZlT25jZUNvbmZpZykgeyB0aGlzLl9hdXRvUmVzb2x2ZU9uY2VDb21wbGV0ZWQgPSB0cnVlOyB9XG5cbiAgICBhc2FwU2NoZWR1bGVyLnNjaGVkdWxlKCgpID0+IHtcbiAgICAgIHRoaXMuX3N0YXRlLmVycm9yZWQgPSBmYWxzZTtcbiAgICAgIHRoaXMuX3N0YXRlLmxvYWRpbmcgPSB0cnVlO1xuICAgICAgdGhpcy5lcnJvciA9IHVuZGVmaW5lZDtcblxuICAgICAgbGV0IGRlcGVuZGVuY2llczogYW55ID0gdGhpcy5kZXBlbmRlbmNpZXM7XG4gICAgICBpZiAodHlwZW9mIHRoaXMuZGVwZW5kZW5jaWVzID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIGRlcGVuZGVuY2llcyA9IHRoaXMuZGVwZW5kZW5jaWVzKCk7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGRlcGVuZGVuY2llcykpIHsgZGVwZW5kZW5jaWVzID0gW2RlcGVuZGVuY2llc107IH1cbiAgICAgIH1cbiAgICAgIGNvbnN0IGRlcHMgPSAhZGVwZW5kZW5jaWVzID8gb2YodW5kZWZpbmVkKSA6IGNvbWJpbmVMYXRlc3QoZGVwZW5kZW5jaWVzKS5waXBlKFxuICAgICAgICAoaXNBdXRvUmVzb2x2ZU9uY2VDb25maWcgfHwgaXNEZWZhdWx0Q29uZmlnKSA/IGZpcnN0KCkgOiB0YWtlVW50aWwodGhpcy5faXNBbGl2ZSQpXG4gICAgICApO1xuXG4gICAgICB0aGlzLl9kZXBlbmRlbmN5U3Vic2NyaXB0aW9uID0gZGVwcy5zdWJzY3JpYmUoZGF0YSA9PiB7XG4gICAgICAgIHRoaXMuX3Jlc29sdmVSZXF1ZXN0ZWQgPSBmYWxzZTtcblxuICAgICAgICBhc2FwU2NoZWR1bGVyLnNjaGVkdWxlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLl9zdGF0ZS5lcnJvcmVkID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5fc3RhdGUubG9hZGluZyA9IHRydWU7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmICghdGhpcy5pc0Z1bmN0aW9uT2JzZXJ2YWJsZVRhcmdldCkge1xuICAgICAgICAgIGNvbnN0IHRhcmdldCA9IHRoaXMudGFyZ2V0IGFzIElBY3Rpb25zVGFyZ2V0PFQ+O1xuICAgICAgICAgIHRhcmdldC5sb2FkQWN0aW9uKGRhdGEpO1xuICAgICAgICAgIHRhcmdldC5zdWNjZXNzJC5waXBlKGZpcnN0KCksIHRha2VVbnRpbCh0aGlzLl9pc0FsaXZlJCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9zdGF0ZS5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLl9zdGF0ZS5lcnJvcmVkID0gZmFsc2U7XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgdGFyZ2V0LmZhaWx1cmUkLnBpcGUoZmlyc3QoKSwgdGFrZVVudGlsKHRoaXMuX2lzQWxpdmUkKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX3N0YXRlLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuX3N0YXRlLmVycm9yZWQgPSB0cnVlO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IHRhcmdldEZuID0gdGhpcy50YXJnZXQgYXMgRnVuY3Rpb25PYnNlcnZhYmxlVGFyZ2V0PFQsIFI+O1xuICAgICAgICAgIGlmICh0aGlzLl9mdW5jdGlvbk9ic2VydmFibGVTdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIHRoaXMuX2Z1bmN0aW9uT2JzZXJ2YWJsZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgdGhpcy5fZnVuY3Rpb25PYnNlcnZhYmxlU3Vic2NyaXB0aW9uID0gdW5kZWZpbmVkO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLl9mdW5jdGlvbk9ic2VydmFibGVTdWJzY3JpcHRpb24gPSB0YXJnZXRGbihkYXRhKS5waXBlKHRha2VVbnRpbCh0aGlzLl9pc0FsaXZlJCkpLnN1YnNjcmliZSh7XG4gICAgICAgICAgICBuZXh0OiByZXMgPT4ge1xuICAgICAgICAgICAgICB0aGlzLl9kYXRhJC5uZXh0KHJlcyk7XG4gICAgICAgICAgICAgIHRoaXMuX3N0YXRlLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgdGhpcy5fc3RhdGUuZXJyb3JlZCA9IGZhbHNlO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGVycm9yOiBlcnIgPT4ge1xuICAgICAgICAgICAgICB0aGlzLl9kYXRhJC5lcnJvcihlcnIpO1xuICAgICAgICAgICAgICB0aGlzLmVycm9yID0gZXJyO1xuICAgICAgICAgICAgICB0aGlzLl9zdGF0ZS5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgIHRoaXMuX3N0YXRlLmVycm9yZWQgPSB0cnVlO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGNvbXBsZXRlOiAoKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMuX3N0YXRlLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgdGhpcy5fc3RhdGUuZXJyb3JlZCA9IGZhbHNlO1xuICAgICAgICAgICAgICB0aGlzLl9mdW5jdGlvbk9ic2VydmFibGVTdWJzY3JpcHRpb24gPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgZGVzdHJveSgpIHtcbiAgICB0aGlzLl9pc0FsaXZlJC5uZXh0KCk7XG4gICAgdGhpcy5faXNBbGl2ZSQuY29tcGxldGUoKTtcblxuICAgIGlmICghdGhpcy5fc3RhdGUubG9hZGluZykgeyByZXR1cm47IH1cbiAgICBjb25zdCB0YXJnZXQgPSB0aGlzLnRhcmdldCBhcyBJQWN0aW9uc1RhcmdldDxUPjtcbiAgICBpZiAodGFyZ2V0LmNhbmNlbEFjdGlvbikge1xuICAgICAgdGFyZ2V0LmNhbmNlbEFjdGlvbigpO1xuICAgIH1cbiAgfVxufVxuIl19 | ||
| //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXN5bmMtcmVuZGVyLXJlc29sdmVyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vaGctYXN5bmMtcmVuZGVyLyIsInNvdXJjZXMiOlsibGliL2FzeW5jLXJlbmRlci1yZXNvbHZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBYyxhQUFhLEVBQUUsRUFBRSxFQUFnQixhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUcsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFL0MsTUFBTSxPQUFPLHdCQUF3QixHQUFHLElBQUksY0FBYyxDQUFTLDBCQUEwQixDQUFDOzs7SUFHNUYsVUFBTztJQUNQLGtCQUFlO0lBQ2YsY0FBVzs7Ozs7Ozs7OztBQUdiLDZCQUtDOzs7SUFKQyxvQ0FBOEI7O0lBQzlCLHNDQUF5Qjs7SUFDekIsa0NBQTBCOztJQUMxQixrQ0FBMEI7Ozs7O0FBSzVCLE1BQU0sT0FBTyxtQkFBbUI7Ozs7O0lBK0U5QixZQUNVLE1BQTBELEVBQzFELGVBQXNGLElBQUk7UUFEMUYsV0FBTSxHQUFOLE1BQU0sQ0FBb0Q7UUFDMUQsaUJBQVksR0FBWixZQUFZLENBQThFO1FBL0UxRixXQUFNLEdBQUcsY0FBYyxDQUFDLE9BQU8sQ0FBQzs7UUFHbEMsY0FBUyxHQUFrQixJQUFJLE9BQU8sRUFBRSxDQUFDOztRQUd6QyxnQkFBVyxHQUFHLElBQUksQ0FBQzs7UUFHbkIsOEJBQXlCLEdBQUcsS0FBSyxDQUFDOztRQU1sQyxzQkFBaUIsR0FBRyxLQUFLLENBQUM7O1FBRzFCLFdBQU0sR0FBRyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDOztRQUc1QyxXQUFNLEdBQUcsSUFBSSxhQUFhLENBQUksQ0FBQyxDQUFDLENBQUM7O1FBR2pDLHFC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RDs7Ozs7SUFHakQsMENBQTJCOzs7OztJQUczQix3REFBMEM7Ozs7O0lBRzFDLHNEQUE4Qzs7Ozs7SUFHOUMsZ0RBQWtDOzs7OztJQUdsQyxxQ0FBb0Q7Ozs7O0lBR3BELHFDQUF5Qzs7Ozs7SUFHekMsK0NBQXNEOzs7OztJQUd0RCw4REFBc0Q7O0lBTXRELG9DQUFhOzs7OztJQTZDWCxxQ0FBa0U7Ozs7O0lBQ2xFLDJDQUFrRyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZpcnN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBhc2FwU2NoZWR1bGVyLCBTdWJqZWN0LCBPYnNlcnZhYmxlLCBjb21iaW5lTGF0ZXN0LCBvZiwgU3Vic2NyaXB0aW9uLCBSZXBsYXlTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY29uc3QgSEdfQVNZTkNfUkVOREVSX1JFU09MVkVSID0gbmV3IEluamVjdGlvblRva2VuPHN0cmluZz4oJ0hHX0FTWU5DX1JFTkRFUl9SRVNPTFZFUicpO1xuXG5leHBvcnQgZW51bSBSZXNvbHZlckNvbmZpZyB7XG4gIERlZmF1bHQsXG4gIEF1dG9SZXNvbHZlT25jZSxcbiAgQXV0b1Jlc29sdmVcbn1cblxuaW50ZXJmYWNlIElBY3Rpb25zVGFyZ2V0PFQ+IHtcbiAgbG9hZEFjdGlvbjogKGRhdGE6IFQpID0+IHZvaWQ7XG4gIGNhbmNlbEFjdGlvbjogKCkgPT4gdm9pZDtcbiAgc3VjY2VzcyQ6IE9ic2VydmFibGU8YW55PjtcbiAgZmFpbHVyZSQ6IE9ic2VydmFibGU8YW55Pjtcbn1cblxudHlwZSBGdW5jdGlvbk9ic2VydmFibGVUYXJnZXQ8VCA9IGFueSwgUiA9IFQ+ID0gKGRhdGE6IFQpID0+IE9ic2VydmFibGU8Uj47XG5cbmV4cG9ydCBjbGFzcyBBc3luY1JlbmRlclJlc29sdmVyPFQsIFIgPSBUPiB7XG5cbiAgcHJvdGVjdGVkIGNvbmZpZyA9IFJlc29sdmVyQ29uZmlnLkRlZmF1bHQ7XG5cbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOnZhcmlhYmxlLW5hbWVcbiAgcHJpdmF0ZSBfaXNBbGl2ZSQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xuXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTp2YXJpYWJsZS1uYW1lXG4gIHByaXZhdGUgX3Nob3VsZFNraXAgPSBudWxsO1xuXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTp2YXJpYWJsZS1uYW1lXG4gIHByaXZhdGUgX2F1dG9SZXNvbHZlT25jZUNvbXBsZXRlZCA9IGZhbHNlO1xuXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTp2YXJpYWJsZS1uYW1lXG4gIHByaXZhdGUgX2RlcGVuZGVuY3lTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6dmFyaWFibGUtbmFtZVxuICBwcml2YXRlIF9yZXNvbHZlUmVxdWVzdGVkID0gZmFsc2U7XG5cbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOnZhcmlhYmxlLW5hbWVcbiAgcHJpdmF0ZSBfc3RhdGUgPSB7IGxvYWRpbmc6IGZhbHNlLCBlcnJvcmVkOiBmYWxzZSB9O1xuXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTp2YXJpYWJsZS1uYW1lXG4gIHByaXZhdGUgX2RhdGEkID0gbmV3IFJlcGxheVN1YmplY3Q8Uj4oMSk7XG5cbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOnZhcmlhYmxlLW5hbWVcbiAgcHJpdmF0ZSBfZGF0YU9ic2VydmFibGUkID0gdGhpcy5fZGF0YSQuYXNPYnNlcnZhYmxlKCk7XG5cbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOnZhcmlhYmxlLW5hbWVcbiAgcHJpdmF0ZSBfZnVuY3Rpb25PYnNlcnZhYmxlU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgZ2V0IGlzTG9hZGluZygpIHsgcmV0dXJuIHRoaXMuX3N0YXRlLmxvYWRpbmc7IH1cblxuICBnZXQgaGFzRXJyb3JlZCgpIHsgcmV0dXJuIHRoaXMuX3N0YXRlLmVycm9yZWQ7IH1cblxuICBlcnJvcjogRXJyb3I7XG5cbiAgcHVibGljIGdldCBkYXRhJCgpIHtcbiAgICBpZiAodGhpcy5pc0Z1bmN0aW9uT2JzZXJ2YWJsZVRhcmdldCkgeyByZXR1cm4gdGhpcy5fZGF0YU9ic2VydmFibGUkOyB9XG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm1heC1saW5lLWxlbmd0aFxuICAgIGNvbnNvbGUud2FybignaGctYXN5bmMtcmVuZGVyOiBBY3Rpb24gYmFzZWQgYXN5bmMgcmVuZGVyIHJlc29sdmVycyBkb25cXCd0IGhhdmUgZGF0YSQgcHJvcGVydHkhIERhdGEgbWFuYWdlbWVudCBzaG91bGQgYmUgY29udHJvbGxlZCB2aWEgYWN0aW9uIGhhbmRsZXJzIScpO1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBzZXQgc2hvdWxkU2tpcCh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICh2YWx1ZSA9PT0gdHJ1ZSAmJiAhdGhpcy5fc2hvdWxkU2tpcCkge1xuICAgICAgaWYgKCEhdGhpcy5fZnVuY3Rpb25PYnNlcnZhYmxlU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgIHRoaXMuX2Z1bmN0aW9uT2JzZXJ2YWJsZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLl9mdW5jdGlvbk9ic2VydmFibGVTdWJzY3JpcHRpb24gPSB1bmRlZmluZWQ7XG4gICAgICB9IGVsc2UgaWYgKCEhdGhpcy5fZGVwZW5kZW5jeVN1YnNjcmlwdGlvbikge1xuICAgICAgICB0aGlzLl9kZXBlbmRlbmN5U3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuX2RlcGVuZGVuY3lTdWJzY3JpcHRpb24gPSB1bmRlZmluZWQ7XG4gICAgICB9XG4gICAgICB0aGlzLl9yZXNvbHZlUmVxdWVzdGVkID0gZmFsc2U7XG4gICAgICB0aGlzLl9zdGF0ZS5lcnJvcmVkID0gZmFsc2U7XG4gICAgICB0aGlzLl9zdGF0ZS5sb2FkaW5nID0gZmFsc2U7XG4gICAgfVxuXG4gICAgY29uc3Qgc2hvdWxkQXV0b1Jlc29sdmVPbmNlID0gKHRoaXMuY29uZmlnID09PSBSZXNvbHZlckNvbmZpZy5BdXRvUmVzb2x2ZU9uY2UgJiYgdGhpcy5fYXV0b1Jlc29sdmVPbmNlQ29tcGxldGVkID09PSBmYWxzZSk7XG4gICAgaWYgKFxuICAgICAgKFxuICAgICAgICAodGhpcy5jb25maWcgPT09IFJlc29sdmVyQ29uZmlnLkF1dG9SZXNvbHZlICYmIHRoaXMuX3Nob3VsZFNraXAgPT09IHRydWUpIHx8XG4gICAgICAgIChzaG91bGRBdXRvUmVzb2x2ZU9uY2UgJiYgdGhpcy5fc2hvdWxkU2tpcClcbiAgICAgICkgJiYgdmFsdWUgPT09IGZhbHNlXG4gICAgKSB7XG4gICAgICAvLyBhc2FwU2NoZWR1bGVyLnNjaGVkdWxlKCgpID0+IHsgdGhpcy5yZXNvbHZlKHRydWUpOyB9KTtcbiAgICAgIHRoaXMucmVzb2x2ZSh0cnVlKTtcbiAgICB9XG4gICAgdGhpcy5fc2hvdWxkU2tpcCA9IHZhbHVlO1xuICB9XG5cbiAgZ2V0IHNob3VsZFNraXAoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3Nob3VsZFNraXA7XG4gIH1cblxuICBwcml2YXRlIGdldCBpc0Z1bmN0aW9uT2JzZXJ2YWJsZVRhcmdldCgpIHtcbiAgICByZXR1cm4gdGhpcy50YXJnZXQgaW5zdGFuY2VvZiBGdW5jdGlvbjtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgdGFyZ2V0OiBJQWN0aW9uc1RhcmdldDxUPiB8IEZ1bmN0aW9uT2JzZXJ2YWJsZVRhcmdldDxULCBSPixcbiAgICBwcml2YXRlIGRlcGVuZGVuY2llczogKCkgPT4gKE9ic2VydmFibGU8YW55PiB8IGFueVtdKSB8IE9ic2VydmFibGU8YW55PiB8IE9ic2VydmFibGU8YW55PltdID0gbnVsbFxuICApIHsgfVxuXG4gIHJlc29sdmUoYXV0byA9IGZhbHNlKSB7XG4gICAgaWYgKHRoaXMuX3Jlc29sdmVSZXF1ZXN0ZWQgfHwgKGF1dG8gJiYgdGhpcy5fYXV0b1Jlc29sdmVPbmNlQ29tcGxldGVkKSkgeyByZXR1cm47IH1cbiAgICB0aGlzLl9yZXNvbHZlUmVxdWVzdGVkID0gdHJ1ZTtcblxuICAgIGlmICh0aGlzLl9kZXBlbmRlbmN5U3Vic2NyaXB0aW9uKSB7IHRoaXMuX2RlcGVuZGVuY3lTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTsgfVxuICAgIGNvbnN0IGlzQXV0b1Jlc29sdmVPbmNlQ29uZmlnID0gdGhpcy5jb25maWcgPT09IFJlc29sdmVyQ29uZmlnLkF1dG9SZXNvbHZlT25jZTtcbiAgICBjb25zdCBpc0RlZmF1bHRDb25maWcgPSB0aGlzLmNvbmZpZyA9PT0gUmVzb2x2ZXJDb25maWcuRGVmYXVsdDtcblxuICAgIGlmIChpc0F1dG9SZXNvbHZlT25jZUNvbmZpZykgeyB0aGlzLl9hdXRvUmVzb2x2ZU9uY2VDb21wbGV0ZWQgPSB0cnVlOyB9XG5cbiAgICBhc2FwU2NoZWR1bGVyLnNjaGVkdWxlKCgpID0+IHtcbiAgICAgIHRoaXMuX3N0YXRlLmVycm9yZWQgPSBmYWxzZTtcbiAgICAgIHRoaXMuX3N0YXRlLmxvYWRpbmcgPSB0cnVlO1xuICAgICAgdGhpcy5lcnJvciA9IHVuZGVmaW5lZDtcblxuICAgICAgbGV0IGRlcGVuZGVuY2llczogYW55ID0gdGhpcy5kZXBlbmRlbmNpZXM7XG4gICAgICBpZiAodHlwZW9mIHRoaXMuZGVwZW5kZW5jaWVzID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIGRlcGVuZGVuY2llcyA9IHRoaXMuZGVwZW5kZW5jaWVzKCk7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGRlcGVuZGVuY2llcykpIHsgZGVwZW5kZW5jaWVzID0gW2RlcGVuZGVuY2llc107IH1cbiAgICAgIH1cbiAgICAgIGNvbnN0IGRlcHMgPSAhZGVwZW5kZW5jaWVzID8gb2YodW5kZWZpbmVkKSA6IGNvbWJpbmVMYXRlc3QoZGVwZW5kZW5jaWVzKS5waXBlKFxuICAgICAgICAoaXNBdXRvUmVzb2x2ZU9uY2VDb25maWcgfHwgaXNEZWZhdWx0Q29uZmlnKSA/IGZpcnN0KCkgOiB0YWtlVW50aWwodGhpcy5faXNBbGl2ZSQpXG4gICAgICApO1xuXG4gICAgICB0aGlzLl9kZXBlbmRlbmN5U3Vic2NyaXB0aW9uID0gZGVwcy5zdWJzY3JpYmUoZGF0YSA9PiB7XG4gICAgICAgIHRoaXMuX3Jlc29sdmVSZXF1ZXN0ZWQgPSBmYWxzZTtcblxuICAgICAgICBhc2FwU2NoZWR1bGVyLnNjaGVkdWxlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLl9zdGF0ZS5lcnJvcmVkID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5fc3RhdGUubG9hZGluZyA9IHRydWU7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmICghdGhpcy5pc0Z1bmN0aW9uT2JzZXJ2YWJsZVRhcmdldCkge1xuICAgICAgICAgIGNvbnN0IHRhcmdldCA9IHRoaXMudGFyZ2V0IGFzIElBY3Rpb25zVGFyZ2V0PFQ+O1xuICAgICAgICAgIHRhcmdldC5sb2FkQWN0aW9uKGRhdGEpO1xuICAgICAgICAgIHRhcmdldC5zdWNjZXNzJC5waXBlKGZpcnN0KCksIHRha2VVbnRpbCh0aGlzLl9pc0FsaXZlJCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9zdGF0ZS5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLl9zdGF0ZS5lcnJvcmVkID0gZmFsc2U7XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgdGFyZ2V0LmZhaWx1cmUkLnBpcGUoZmlyc3QoKSwgdGFrZVVudGlsKHRoaXMuX2lzQWxpdmUkKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX3N0YXRlLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuX3N0YXRlLmVycm9yZWQgPSB0cnVlO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IHRhcmdldEZuID0gdGhpcy50YXJnZXQgYXMgRnVuY3Rpb25PYnNlcnZhYmxlVGFyZ2V0PFQsIFI+O1xuICAgICAgICAgIGlmICh0aGlzLl9mdW5jdGlvbk9ic2VydmFibGVTdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIHRoaXMuX2Z1bmN0aW9uT2JzZXJ2YWJsZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgdGhpcy5fZnVuY3Rpb25PYnNlcnZhYmxlU3Vic2NyaXB0aW9uID0gdW5kZWZpbmVkO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLl9mdW5jdGlvbk9ic2VydmFibGVTdWJzY3JpcHRpb24gPSB0YXJnZXRGbihkYXRhKS5waXBlKHRha2VVbnRpbCh0aGlzLl9pc0FsaXZlJCkpLnN1YnNjcmliZSh7XG4gICAgICAgICAgICBuZXh0OiByZXMgPT4ge1xuICAgICAgICAgICAgICB0aGlzLl9kYXRhJC5uZXh0KHJlcyk7XG4gICAgICAgICAgICAgIHRoaXMuX3N0YXRlLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgdGhpcy5fc3RhdGUuZXJyb3JlZCA9IGZhbHNlO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGVycm9yOiBlcnIgPT4ge1xuICAgICAgICAgICAgICB0aGlzLl9kYXRhJC5lcnJvcihlcnIpO1xuICAgICAgICAgICAgICB0aGlzLmVycm9yID0gZXJyO1xuICAgICAgICAgICAgICB0aGlzLl9zdGF0ZS5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgIHRoaXMuX3N0YXRlLmVycm9yZWQgPSB0cnVlO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGNvbXBsZXRlOiAoKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMuX3N0YXRlLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgdGhpcy5fc3RhdGUuZXJyb3JlZCA9IGZhbHNlO1xuICAgICAgICAgICAgICB0aGlzLl9mdW5jdGlvbk9ic2VydmFibGVTdWJzY3JpcHRpb24gPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgZGVzdHJveSgpIHtcbiAgICB0aGlzLl9pc0FsaXZlJC5uZXh0KCk7XG4gICAgdGhpcy5faXNBbGl2ZSQuY29tcGxldGUoKTtcblxuICAgIGlmICghdGhpcy5fc3RhdGUubG9hZGluZykgeyByZXR1cm47IH1cbiAgICBjb25zdCB0YXJnZXQgPSB0aGlzLnRhcmdldCBhcyBJQWN0aW9uc1RhcmdldDxUPjtcbiAgICBpZiAodGFyZ2V0LmNhbmNlbEFjdGlvbikge1xuICAgICAgdGFyZ2V0LmNhbmNlbEFjdGlvbigpO1xuICAgIH1cbiAgfVxufVxuIl19 |
@@ -343,2 +343,2 @@ /** | ||
| } | ||
| //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXN5bmMtcmVuZGVyLXJlc29sdmVyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vaGctYXN5bmMtcmVuZGVyLyIsInNvdXJjZXMiOlsibGliL2FzeW5jLXJlbmRlci1yZXNvbHZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBYyxhQUFhLEVBQUUsRUFBRSxFQUFnQixhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUcsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFL0MsTUFBTSxLQUFPLHdCQUF3QixHQUFHLElBQUksY0FBYyxDQUFTLDBCQUEwQixDQUFDOzs7SUFHNUYsVUFBTztJQUNQLGtCQUFlO0lBQ2YsY0FBVzs7Ozs7Ozs7OztBQUdiLDZCQUtDOzs7SUFKQyxvQ0FBOEI7O0lBQzlCLHNDQUF5Qjs7SUFDekIsa0NBQTBCOztJQUMxQixrQ0FBMEI7Ozs7O0FBSzVCOzs7O0lBK0VFLDZCQUNVLE1BQTBELEVBQzFELFlBQTBGO1FBQTFGLDZCQUFBLEVBQUEsbUJBQTBGO1FBRDFGLFdBQU0sR0FBTixNQUFNLENBQW9EO1FBQzFELGlCQUFZLEdBQVosWUFBWSxDQUE4RTtRQS9FMUYsV0FBTSxHQUFHLGNBQWMsQ0FBQyxPQUFPLENBQUM7O1FBR2xDLGNBQVMsR0FBa0IsSUFBSSxPQUFPLEVBQUUsQ0FBQzs7UUFHekMsZ0JBQVcsR0FBRyxJQUFJLENBQUM7O1FBR25CLDhCQUF5QixHQUFHLEtBQUssQ0FBQzs7UUFNbEMsc0JBQWlCLEdBQUcsS0FBSyxDQUFDOztRQUcxQixXQUFNLEdBQUcsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQzs7UUFHNUMsV0FBTSxHQUFHLElBQUksYUFBYSxDQUFJLENBQUMsQ0FBQyxDQUFDOztRQUdqQyxx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QUN2QjtJQUNILENBQUM7SUFDSCwwQkFBQztBQUFELENBQUMsQUF0S0QsSUFzS0M7Ozs7Ozs7Ozs7SUFwS0MscUNBQTBDOzs7OztJQUcxQyx3Q0FBaUQ7Ozs7O0lBR2pELDBDQUEyQjs7Ozs7SUFHM0Isd0RBQTBDOzs7OztJQUcxQyxzREFBOEM7Ozs7O0lBRzlDLGdEQUFrQzs7Ozs7SUFHbEMscUNBQW9EOzs7OztJQUdwRCxxQ0FBeUM7Ozs7O0lBR3pDLCtDQUFzRDs7Ozs7SUFHdEQsOERBQXNEOztJQU10RCxvQ0FBYTs7Ozs7SUE2Q1gscUNBQWtFOzs7OztJQUNsRSwyQ0FBa0ciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmaXJzdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgYXNhcFNjaGVkdWxlciwgU3ViamVjdCwgT2JzZXJ2YWJsZSwgY29tYmluZUxhdGVzdCwgb2YsIFN1YnNjcmlwdGlvbiwgUmVwbGF5U3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGNvbnN0IEhHX0FTWU5DX1JFTkRFUl9SRVNPTFZFUiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+KCdIR19BU1lOQ19SRU5ERVJfUkVTT0xWRVInKTtcblxuZXhwb3J0IGVudW0gUmVzb2x2ZXJDb25maWcge1xuICBEZWZhdWx0LFxuICBBdXRvUmVzb2x2ZU9uY2UsXG4gIEF1dG9SZXNvbHZlXG59XG5cbmludGVyZmFjZSBJQWN0aW9uc1RhcmdldDxUPiB7XG4gIGxvYWRBY3Rpb246IChkYXRhOiBUKSA9PiB2b2lkO1xuICBjYW5jZWxBY3Rpb246ICgpID0+IHZvaWQ7XG4gIHN1Y2Nlc3MkOiBPYnNlcnZhYmxlPGFueT47XG4gIGZhaWx1cmUkOiBPYnNlcnZhYmxlPGFueT47XG59XG5cbnR5cGUgRnVuY3Rpb25PYnNlcnZhYmxlVGFyZ2V0PFQgPSBhbnksIFIgPSBUPiA9IChkYXRhOiBUKSA9PiBPYnNlcnZhYmxlPFI+O1xuXG5leHBvcnQgY2xhc3MgQXN5bmNSZW5kZXJSZXNvbHZlcjxUID0gYW55LCBSID0gVD4ge1xuXG4gIHByb3RlY3RlZCBjb25maWcgPSBSZXNvbHZlckNvbmZpZy5EZWZhdWx0O1xuXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTp2YXJpYWJsZS1uYW1lXG4gIHByaXZhdGUgX2lzQWxpdmUkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3QoKTtcblxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6dmFyaWFibGUtbmFtZVxuICBwcml2YXRlIF9zaG91bGRTa2lwID0gbnVsbDtcblxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6dmFyaWFibGUtbmFtZVxuICBwcml2YXRlIF9hdXRvUmVzb2x2ZU9uY2VDb21wbGV0ZWQgPSBmYWxzZTtcblxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6dmFyaWFibGUtbmFtZVxuICBwcml2YXRlIF9kZXBlbmRlbmN5U3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOnZhcmlhYmxlLW5hbWVcbiAgcHJpdmF0ZSBfcmVzb2x2ZVJlcXVlc3RlZCA9IGZhbHNlO1xuXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTp2YXJpYWJsZS1uYW1lXG4gIHByaXZhdGUgX3N0YXRlID0geyBsb2FkaW5nOiBmYWxzZSwgZXJyb3JlZDogZmFsc2UgfTtcblxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6dmFyaWFibGUtbmFtZVxuICBwcml2YXRlIF9kYXRhJCA9IG5ldyBSZXBsYXlTdWJqZWN0PFI+KDEpO1xuXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTp2YXJpYWJsZS1uYW1lXG4gIHByaXZhdGUgX2RhdGFPYnNlcnZhYmxlJCA9IHRoaXMuX2RhdGEkLmFzT2JzZXJ2YWJsZSgpO1xuXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTp2YXJpYWJsZS1uYW1lXG4gIHByaXZhdGUgX2Z1bmN0aW9uT2JzZXJ2YWJsZVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gIGdldCBpc0xvYWRpbmcoKSB7IHJldHVybiB0aGlzLl9zdGF0ZS5sb2FkaW5nOyB9XG5cbiAgZ2V0IGhhc0Vycm9yZWQoKSB7IHJldHVybiB0aGlzLl9zdGF0ZS5lcnJvcmVkOyB9XG5cbiAgZXJyb3I6IEVycm9yO1xuXG4gIHB1YmxpYyBnZXQgZGF0YSQoKSB7XG4gICAgaWYgKHRoaXMuaXNGdW5jdGlvbk9ic2VydmFibGVUYXJnZXQpIHsgcmV0dXJuIHRoaXMuX2RhdGFPYnNlcnZhYmxlJDsgfVxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTptYXgtbGluZS1sZW5ndGhcbiAgICBjb25zb2xlLndhcm4oJ2hnLWFzeW5jLXJlbmRlcjogQWN0aW9uIGJhc2VkIGFzeW5jIHJlbmRlciByZXNvbHZlcnMgZG9uXFwndCBoYXZlIGRhdGEkIHByb3BlcnR5ISBEYXRhIG1hbmFnZW1lbnQgc2hvdWxkIGJlIGNvbnRyb2xsZWQgdmlhIGFjdGlvbiBoYW5kbGVycyEnKTtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgc2V0IHNob3VsZFNraXAodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAodmFsdWUgPT09IHRydWUgJiYgIXRoaXMuX3Nob3VsZFNraXApIHtcbiAgICAgIGlmICghIXRoaXMuX2Z1bmN0aW9uT2JzZXJ2YWJsZVN1YnNjcmlwdGlvbikge1xuICAgICAgICB0aGlzLl9mdW5jdGlvbk9ic2VydmFibGVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5fZnVuY3Rpb25PYnNlcnZhYmxlU3Vic2NyaXB0aW9uID0gdW5kZWZpbmVkO1xuICAgICAgfSBlbHNlIGlmICghIXRoaXMuX2RlcGVuZGVuY3lTdWJzY3JpcHRpb24pIHtcbiAgICAgICAgdGhpcy5fZGVwZW5kZW5jeVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLl9kZXBlbmRlbmN5U3Vic2NyaXB0aW9uID0gdW5kZWZpbmVkO1xuICAgICAgfVxuICAgICAgdGhpcy5fcmVzb2x2ZVJlcXVlc3RlZCA9IGZhbHNlO1xuICAgICAgdGhpcy5fc3RhdGUuZXJyb3JlZCA9IGZhbHNlO1xuICAgICAgdGhpcy5fc3RhdGUubG9hZGluZyA9IGZhbHNlO1xuICAgIH1cblxuICAgIGNvbnN0IHNob3VsZEF1dG9SZXNvbHZlT25jZSA9ICh0aGlzLmNvbmZpZyA9PT0gUmVzb2x2ZXJDb25maWcuQXV0b1Jlc29sdmVPbmNlICYmIHRoaXMuX2F1dG9SZXNvbHZlT25jZUNvbXBsZXRlZCA9PT0gZmFsc2UpO1xuICAgIGlmIChcbiAgICAgIChcbiAgICAgICAgKHRoaXMuY29uZmlnID09PSBSZXNvbHZlckNvbmZpZy5BdXRvUmVzb2x2ZSAmJiB0aGlzLl9zaG91bGRTa2lwID09PSB0cnVlKSB8fFxuICAgICAgICAoc2hvdWxkQXV0b1Jlc29sdmVPbmNlICYmIHRoaXMuX3Nob3VsZFNraXApXG4gICAgICApICYmIHZhbHVlID09PSBmYWxzZVxuICAgICkge1xuICAgICAgLy8gYXNhcFNjaGVkdWxlci5zY2hlZHVsZSgoKSA9PiB7IHRoaXMucmVzb2x2ZSh0cnVlKTsgfSk7XG4gICAgICB0aGlzLnJlc29sdmUodHJ1ZSk7XG4gICAgfVxuICAgIHRoaXMuX3Nob3VsZFNraXAgPSB2YWx1ZTtcbiAgfVxuXG4gIGdldCBzaG91bGRTa2lwKCkge1xuICAgIHJldHVybiB0aGlzLl9zaG91bGRTa2lwO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgaXNGdW5jdGlvbk9ic2VydmFibGVUYXJnZXQoKSB7XG4gICAgcmV0dXJuIHRoaXMudGFyZ2V0IGluc3RhbmNlb2YgRnVuY3Rpb247XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHRhcmdldDogSUFjdGlvbnNUYXJnZXQ8VD4gfCBGdW5jdGlvbk9ic2VydmFibGVUYXJnZXQ8VCwgUj4sXG4gICAgcHJpdmF0ZSBkZXBlbmRlbmNpZXM6ICgpID0+IChPYnNlcnZhYmxlPGFueT4gfCBhbnlbXSkgfCBPYnNlcnZhYmxlPGFueT4gfCBPYnNlcnZhYmxlPGFueT5bXSA9IG51bGxcbiAgKSB7IH1cblxuICByZXNvbHZlKGF1dG8gPSBmYWxzZSkge1xuICAgIGlmICh0aGlzLl9yZXNvbHZlUmVxdWVzdGVkIHx8IChhdXRvICYmIHRoaXMuX2F1dG9SZXNvbHZlT25jZUNvbXBsZXRlZCkpIHsgcmV0dXJuOyB9XG4gICAgdGhpcy5fcmVzb2x2ZVJlcXVlc3RlZCA9IHRydWU7XG5cbiAgICBpZiAodGhpcy5fZGVwZW5kZW5jeVN1YnNjcmlwdGlvbikgeyB0aGlzLl9kZXBlbmRlbmN5U3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7IH1cbiAgICBjb25zdCBpc0F1dG9SZXNvbHZlT25jZUNvbmZpZyA9IHRoaXMuY29uZmlnID09PSBSZXNvbHZlckNvbmZpZy5BdXRvUmVzb2x2ZU9uY2U7XG4gICAgY29uc3QgaXNEZWZhdWx0Q29uZmlnID0gdGhpcy5jb25maWcgPT09IFJlc29sdmVyQ29uZmlnLkRlZmF1bHQ7XG5cbiAgICBpZiAoaXNBdXRvUmVzb2x2ZU9uY2VDb25maWcpIHsgdGhpcy5fYXV0b1Jlc29sdmVPbmNlQ29tcGxldGVkID0gdHJ1ZTsgfVxuXG4gICAgYXNhcFNjaGVkdWxlci5zY2hlZHVsZSgoKSA9PiB7XG4gICAgICB0aGlzLl9zdGF0ZS5lcnJvcmVkID0gZmFsc2U7XG4gICAgICB0aGlzLl9zdGF0ZS5sb2FkaW5nID0gdHJ1ZTtcbiAgICAgIHRoaXMuZXJyb3IgPSB1bmRlZmluZWQ7XG5cbiAgICAgIGxldCBkZXBlbmRlbmNpZXM6IGFueSA9IHRoaXMuZGVwZW5kZW5jaWVzO1xuICAgICAgaWYgKHR5cGVvZiB0aGlzLmRlcGVuZGVuY2llcyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBkZXBlbmRlbmNpZXMgPSB0aGlzLmRlcGVuZGVuY2llcygpO1xuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShkZXBlbmRlbmNpZXMpKSB7IGRlcGVuZGVuY2llcyA9IFtkZXBlbmRlbmNpZXNdOyB9XG4gICAgICB9XG4gICAgICBjb25zdCBkZXBzID0gIWRlcGVuZGVuY2llcyA/IG9mKHVuZGVmaW5lZCkgOiBjb21iaW5lTGF0ZXN0KGRlcGVuZGVuY2llcykucGlwZShcbiAgICAgICAgKGlzQXV0b1Jlc29sdmVPbmNlQ29uZmlnIHx8IGlzRGVmYXVsdENvbmZpZykgPyBmaXJzdCgpIDogdGFrZVVudGlsKHRoaXMuX2lzQWxpdmUkKVxuICAgICAgKTtcblxuICAgICAgdGhpcy5fZGVwZW5kZW5jeVN1YnNjcmlwdGlvbiA9IGRlcHMuc3Vic2NyaWJlKGRhdGEgPT4ge1xuICAgICAgICB0aGlzLl9yZXNvbHZlUmVxdWVzdGVkID0gZmFsc2U7XG5cbiAgICAgICAgYXNhcFNjaGVkdWxlci5zY2hlZHVsZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5fc3RhdGUuZXJyb3JlZCA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuX3N0YXRlLmxvYWRpbmcgPSB0cnVlO1xuICAgICAgICB9KTtcblxuICAgICAgICBpZiAoIXRoaXMuaXNGdW5jdGlvbk9ic2VydmFibGVUYXJnZXQpIHtcbiAgICAgICAgICBjb25zdCB0YXJnZXQgPSB0aGlzLnRhcmdldCBhcyBJQWN0aW9uc1RhcmdldDxUPjtcbiAgICAgICAgICB0YXJnZXQubG9hZEFjdGlvbihkYXRhKTtcbiAgICAgICAgICB0YXJnZXQuc3VjY2VzcyQucGlwZShmaXJzdCgpLCB0YWtlVW50aWwodGhpcy5faXNBbGl2ZSQpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fc3RhdGUubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5fc3RhdGUuZXJyb3JlZCA9IGZhbHNlO1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIHRhcmdldC5mYWlsdXJlJC5waXBlKGZpcnN0KCksIHRha2VVbnRpbCh0aGlzLl9pc0FsaXZlJCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9zdGF0ZS5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLl9zdGF0ZS5lcnJvcmVkID0gdHJ1ZTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zdCB0YXJnZXRGbiA9IHRoaXMudGFyZ2V0IGFzIEZ1bmN0aW9uT2JzZXJ2YWJsZVRhcmdldDxULCBSPjtcbiAgICAgICAgICBpZiAodGhpcy5fZnVuY3Rpb25PYnNlcnZhYmxlU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLl9mdW5jdGlvbk9ic2VydmFibGVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgIHRoaXMuX2Z1bmN0aW9uT2JzZXJ2YWJsZVN1YnNjcmlwdGlvbiA9IHVuZGVmaW5lZDtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5fZnVuY3Rpb25PYnNlcnZhYmxlU3Vic2NyaXB0aW9uID0gdGFyZ2V0Rm4oZGF0YSkucGlwZSh0YWtlVW50aWwodGhpcy5faXNBbGl2ZSQpKS5zdWJzY3JpYmUoe1xuICAgICAgICAgICAgbmV4dDogcmVzID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5fZGF0YSQubmV4dChyZXMpO1xuICAgICAgICAgICAgICB0aGlzLl9zdGF0ZS5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgIHRoaXMuX3N0YXRlLmVycm9yZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBlcnJvcjogZXJyID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5fZGF0YSQuZXJyb3IoZXJyKTtcbiAgICAgICAgICAgICAgdGhpcy5lcnJvciA9IGVycjtcbiAgICAgICAgICAgICAgdGhpcy5fc3RhdGUubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICB0aGlzLl9zdGF0ZS5lcnJvcmVkID0gdHJ1ZTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBjb21wbGV0ZTogKCkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLl9zdGF0ZS5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgIHRoaXMuX3N0YXRlLmVycm9yZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgdGhpcy5fZnVuY3Rpb25PYnNlcnZhYmxlU3Vic2NyaXB0aW9uID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIGRlc3Ryb3koKSB7XG4gICAgdGhpcy5faXNBbGl2ZSQubmV4dCgpO1xuICAgIHRoaXMuX2lzQWxpdmUkLmNvbXBsZXRlKCk7XG5cbiAgICBpZiAoIXRoaXMuX3N0YXRlLmxvYWRpbmcpIHsgcmV0dXJuOyB9XG4gICAgY29uc3QgdGFyZ2V0ID0gdGhpcy50YXJnZXQgYXMgSUFjdGlvbnNUYXJnZXQ8VD47XG4gICAgaWYgKHRhcmdldC5jYW5jZWxBY3Rpb24pIHtcbiAgICAgIHRhcmdldC5jYW5jZWxBY3Rpb24oKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ== | ||
| //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXN5bmMtcmVuZGVyLXJlc29sdmVyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vaGctYXN5bmMtcmVuZGVyLyIsInNvdXJjZXMiOlsibGliL2FzeW5jLXJlbmRlci1yZXNvbHZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBYyxhQUFhLEVBQUUsRUFBRSxFQUFnQixhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUcsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFL0MsTUFBTSxLQUFPLHdCQUF3QixHQUFHLElBQUksY0FBYyxDQUFTLDBCQUEwQixDQUFDOzs7SUFHNUYsVUFBTztJQUNQLGtCQUFlO0lBQ2YsY0FBVzs7Ozs7Ozs7OztBQUdiLDZCQUtDOzs7SUFKQyxvQ0FBOEI7O0lBQzlCLHNDQUF5Qjs7SUFDekIsa0NBQTBCOztJQUMxQixrQ0FBMEI7Ozs7O0FBSzVCOzs7O0lBK0VFLDZCQUNVLE1BQTBELEVBQzFELFlBQTBGO1FBQTFGLDZCQUFBLEVBQUEsbUJBQTBGO1FBRDFGLFdBQU0sR0FBTixNQUFNLENBQW9EO1FBQzFELGlCQUFZLEdBQVosWUFBWSxDQUE4RTtRQS9FMUYsV0FBTSxHQUFHLGNBQWMsQ0FBQyxPQUFPLENBQUM7O1FBR2xDLGNBQVMsR0FBa0IsSUFBSSxPQUFPLEVBQUUsQ0FBQzs7UUFHekMsZ0JBQVcsR0FBRyxJQUFJLENBQUM7O1FBR25CLDhCQUF5QixHQUFHLEtBQUssQ0FBQzs7UUFNbEMsc0JBQWlCLEdBQUcsS0FBSyxDQUFDOztRQUcxQixXQUFNLEdBQUcsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQzs7UUFHNUMsV0FBTSxHQUFHLElBQUksYUFBYSxDQUFJLENBQUMsQ0FBQyxDQUFDOztRQUdqQyxxQkFBZ0IsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBd0RsRCxDQUFDO0lBbkRMLHNCQUFJLDBDQUFTOzs7O1FBQWIsY0FBa0IsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7OztPQUFBO0lBRS9DLHNCQUFJLDJDQUFVOzs7O1FBQWQsY0FBbUIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7OztPQUFBO0lBSWhELHNCQUFXLHNDQUFLOzs7O1FBQWhCO1lBQ0UsSUFBSSxJQUFJLENBQUMsMEJBQTBCLEVBQUU7Z0JBQUUsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7YUFBRTtZQUN0RSwyQ0FBMkM7WUFDM0MsT0FBTyxDQUFDLElBQUksQ0FBQyw0SUFBNEksQ0FBQyxDQUFDO1lBQzNKLE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUM7OztPQUFBO0lBRUQsc0JBQUksMkNBQVU7Ozs7UUEyQmQ7WUFDRSxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDMUIsQ0FBQzs7Ozs7UUE3QkQsVUFBZSxLQUFjO1lBQzNCLElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUU7Z0JBQ3ZDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQywrQkFBK0IsRUFBRTtvQkFDMUMsSUFBSSxDQUFDLCtCQUErQixDQUFDLFdBQVcsRUFBRSxDQUFDO29CQUNuRCxJQUFJLENBQUMsK0JBQStCLEdBQUcsU0FBUyxDQUFDO2lCQUNsRDtxQkFBTSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLEVBQUU7b0JBQ3pDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztvQkFDM0MsSUFBSSxDQUFDLHVCQUF1QixHQUFHLFNBQVMsQ0FBQztpQkFDMUM7Z0JBQ0QsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQztnQkFDL0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO2dCQUM1QixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7YUFDN0I7O2dCQUVLLHFCQUFxQixHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sS0FBSyxjQUFjLENBQUMsZUFBZSxJQUFJLElBQUksQ0FBQyx5QkFBeUIsS0FBSyxLQUFLLENBQUM7WUFDMUgsSUFDRSxDQUNFLENBQUMsSUFBSSxDQUFDLE1BQU0sS0FBSyxjQUFjLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxXQUFXLEtBQUssSUFBSSxDQUFDO2dCQUN6RSxDQUFDLHFCQUFxQixJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FDNUMsSUFBSSxLQUFLLEtBQUssS0FBSyxFQUNwQjtnQkFDQSx5REFBeUQ7Z0JBQ3pELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDcEI7WUFDRCxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztRQUMzQixDQUFDOzs7T0FBQTtJQU1ELHNCQUFZLDJEQUEwQjs7Ozs7UUFBdEM7WUFDRSxPQUFPLElBQUksQ0FBQyxNQUFNLFlBQVksUUFBUSxDQUFDO1FBQ3pDLENBQUM7OztPQUFBOzs7OztJQU9ELHFDQUFPOzs7O0lBQVAsVUFBUSxJQUFZO1FBQXBCLGlCQXNFQztRQXRFTyxxQkFBQSxFQUFBLFlBQVk7UUFDbEIsSUFBSSxJQUFJLENBQUMsaUJBQWlCLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLHlCQUF5QixDQUFDLEVBQUU7WUFBRSxPQUFPO1NBQUU7UUFDbkYsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQztRQUU5QixJQUFJLElBQUksQ0FBQyx1QkFBdUIsRUFBRTtZQUFFLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUFFOztZQUMzRSx1QkFBdUIsR0FBRyxJQUFJLENBQUMsTUFBTSxLQUFLLGNBQWMsQ0FBQyxlQUFlOztZQUN4RSxlQUFlLEdBQUcsSUFBSSxDQUFDLE1BQU0sS0FBSyxjQUFjLENBQUMsT0FBTztRQUU5RCxJQUFJLHVCQUF1QixFQUFFO1lBQUUsSUFBSSxDQUFDLHlCQUF5QixHQUFHLElBQUksQ0FBQztTQUFFO1FBRXZFLGFBQWEsQ0FBQyxRQUFROzs7UUFBQztZQUNyQixLQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFDNUIsS0FBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1lBQzNCLEtBQUksQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDOztnQkFFbkIsWUFBWSxHQUFRLEtBQUksQ0FBQyxZQUFZO1lBQ3pDLElBQUksT0FBTyxLQUFJLENBQUMsWUFBWSxLQUFLLFVBQVUsRUFBRTtnQkFDM0MsWUFBWSxHQUFHLEtBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztnQkFDbkMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxFQUFFO29CQUFFLFlBQVksR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDO2lCQUFFO2FBQ3BFOztnQkFDSyxJQUFJLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FDM0UsQ0FBQyx1QkFBdUIsSUFBSSxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFJLENBQUMsU0FBUyxDQUFDLENBQ25GO1lBRUQsS0FBSSxDQUFDLHVCQUF1QixHQUFHLElBQUksQ0FBQyxTQUFTOzs7O1lBQUMsVUFBQSxJQUFJO2dCQUNoRCxLQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO2dCQUUvQixhQUFhLENBQUMsUUFBUTs7O2dCQUFDO29CQUNyQixLQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7b0JBQzVCLEtBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztnQkFDN0IsQ0FBQyxFQUFDLENBQUM7Z0JBRUgsSUFBSSxDQUFDLEtBQUksQ0FBQywwQkFBMEIsRUFBRTs7d0JBQzlCLE1BQU0sR0FBRyxtQkFBQSxLQUFJLENBQUMsTUFBTSxFQUFxQjtvQkFDL0MsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDeEIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUUsU0FBUyxDQUFDLEtBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVM7OztvQkFBQzt3QkFDakUsS0FBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO3dCQUM1QixLQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7b0JBQzlCLENBQUMsRUFBQyxDQUFDO29CQUNILE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLFNBQVMsQ0FBQyxLQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTOzs7b0JBQUM7d0JBQ2pFLEtBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQzt3QkFDNUIsS0FBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO29CQUM3QixDQUFDLEVBQUMsQ0FBQztpQkFDSjtxQkFBTTs7d0JBQ0MsUUFBUSxHQUFHLG1CQUFBLEtBQUksQ0FBQyxNQUFNLEVBQWtDO29CQUM5RCxJQUFJLEtBQUksQ0FBQywrQkFBK0IsRUFBRTt3QkFDeEMsS0FBSSxDQUFDLCtCQUErQixDQUFDLFdBQVcsRUFBRSxDQUFDO3dCQUNuRCxLQUFJLENBQUMsK0JBQStCLEdBQUcsU0FBUyxDQUFDO3FCQUNsRDtvQkFDRCxLQUFJLENBQUMsK0JBQStCLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO3dCQUM5RixJQUFJOzs7O3dCQUFFLFVBQUEsR0FBRzs0QkFDUCxLQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQzs0QkFDdEIsS0FBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDOzRCQUM1QixLQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7d0JBQzlCLENBQUMsQ0FBQTt3QkFDRCxLQUFLOzs7O3dCQUFFLFVBQUEsR0FBRzs0QkFDUixLQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQzs0QkFDdkIsS0FBSSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUM7NEJBQ2pCLEtBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQzs0QkFDNUIsS0FBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO3dCQUM3QixDQUFDLENBQUE7d0JBQ0QsUUFBUTs7O3dCQUFFOzRCQUNSLEtBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQzs0QkFDNUIsS0FBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDOzRCQUM1QixLQUFJLENBQUMsK0JBQStCLEdBQUcsU0FBUyxDQUFDO3dCQUNuRCxDQUFDLENBQUE7cUJBQ0YsQ0FBQyxDQUFDO2lCQUNKO1lBQ0gsQ0FBQyxFQUFDLENBQUM7UUFDTCxDQUFDLEVBQUMsQ0FBQztJQUNMLENBQUM7Ozs7SUFFRCxxQ0FBTzs7O0lBQVA7UUFDRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFMUIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFO1lBQUUsT0FBTztTQUFFOztZQUMvQixNQUFNLEdBQUcsbUJBQUEsSUFBSSxDQUFDLE1BQU0sRUFBcUI7UUFDL0MsSUFBSSxNQUFNLENBQUMsWUFBWSxFQUFFO1lBQ3ZCLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUN2QjtJQUNILENBQUM7SUFDSCwwQkFBQztBQUFELENBQUMsQUF0S0QsSUFzS0M7Ozs7Ozs7Ozs7SUFwS0MscUNBQTBDOzs7OztJQUcxQyx3Q0FBaUQ7Ozs7O0lBR2pELDBDQUEyQjs7Ozs7SUFHM0Isd0RBQTBDOzs7OztJQUcxQyxzREFBOEM7Ozs7O0lBRzlDLGdEQUFrQzs7Ozs7SUFHbEMscUNBQW9EOzs7OztJQUdwRCxxQ0FBeUM7Ozs7O0lBR3pDLCtDQUFzRDs7Ozs7SUFHdEQsOERBQXNEOztJQU10RCxvQ0FBYTs7Ozs7SUE2Q1gscUNBQWtFOzs7OztJQUNsRSwyQ0FBa0ciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmaXJzdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgYXNhcFNjaGVkdWxlciwgU3ViamVjdCwgT2JzZXJ2YWJsZSwgY29tYmluZUxhdGVzdCwgb2YsIFN1YnNjcmlwdGlvbiwgUmVwbGF5U3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGNvbnN0IEhHX0FTWU5DX1JFTkRFUl9SRVNPTFZFUiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+KCdIR19BU1lOQ19SRU5ERVJfUkVTT0xWRVInKTtcblxuZXhwb3J0IGVudW0gUmVzb2x2ZXJDb25maWcge1xuICBEZWZhdWx0LFxuICBBdXRvUmVzb2x2ZU9uY2UsXG4gIEF1dG9SZXNvbHZlXG59XG5cbmludGVyZmFjZSBJQWN0aW9uc1RhcmdldDxUPiB7XG4gIGxvYWRBY3Rpb246IChkYXRhOiBUKSA9PiB2b2lkO1xuICBjYW5jZWxBY3Rpb246ICgpID0+IHZvaWQ7XG4gIHN1Y2Nlc3MkOiBPYnNlcnZhYmxlPGFueT47XG4gIGZhaWx1cmUkOiBPYnNlcnZhYmxlPGFueT47XG59XG5cbnR5cGUgRnVuY3Rpb25PYnNlcnZhYmxlVGFyZ2V0PFQgPSBhbnksIFIgPSBUPiA9IChkYXRhOiBUKSA9PiBPYnNlcnZhYmxlPFI+O1xuXG5leHBvcnQgY2xhc3MgQXN5bmNSZW5kZXJSZXNvbHZlcjxULCBSID0gVD4ge1xuXG4gIHByb3RlY3RlZCBjb25maWcgPSBSZXNvbHZlckNvbmZpZy5EZWZhdWx0O1xuXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTp2YXJpYWJsZS1uYW1lXG4gIHByaXZhdGUgX2lzQWxpdmUkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3QoKTtcblxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6dmFyaWFibGUtbmFtZVxuICBwcml2YXRlIF9zaG91bGRTa2lwID0gbnVsbDtcblxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6dmFyaWFibGUtbmFtZVxuICBwcml2YXRlIF9hdXRvUmVzb2x2ZU9uY2VDb21wbGV0ZWQgPSBmYWxzZTtcblxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6dmFyaWFibGUtbmFtZVxuICBwcml2YXRlIF9kZXBlbmRlbmN5U3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOnZhcmlhYmxlLW5hbWVcbiAgcHJpdmF0ZSBfcmVzb2x2ZVJlcXVlc3RlZCA9IGZhbHNlO1xuXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTp2YXJpYWJsZS1uYW1lXG4gIHByaXZhdGUgX3N0YXRlID0geyBsb2FkaW5nOiBmYWxzZSwgZXJyb3JlZDogZmFsc2UgfTtcblxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6dmFyaWFibGUtbmFtZVxuICBwcml2YXRlIF9kYXRhJCA9IG5ldyBSZXBsYXlTdWJqZWN0PFI+KDEpO1xuXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTp2YXJpYWJsZS1uYW1lXG4gIHByaXZhdGUgX2RhdGFPYnNlcnZhYmxlJCA9IHRoaXMuX2RhdGEkLmFzT2JzZXJ2YWJsZSgpO1xuXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTp2YXJpYWJsZS1uYW1lXG4gIHByaXZhdGUgX2Z1bmN0aW9uT2JzZXJ2YWJsZVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gIGdldCBpc0xvYWRpbmcoKSB7IHJldHVybiB0aGlzLl9zdGF0ZS5sb2FkaW5nOyB9XG5cbiAgZ2V0IGhhc0Vycm9yZWQoKSB7IHJldHVybiB0aGlzLl9zdGF0ZS5lcnJvcmVkOyB9XG5cbiAgZXJyb3I6IEVycm9yO1xuXG4gIHB1YmxpYyBnZXQgZGF0YSQoKSB7XG4gICAgaWYgKHRoaXMuaXNGdW5jdGlvbk9ic2VydmFibGVUYXJnZXQpIHsgcmV0dXJuIHRoaXMuX2RhdGFPYnNlcnZhYmxlJDsgfVxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTptYXgtbGluZS1sZW5ndGhcbiAgICBjb25zb2xlLndhcm4oJ2hnLWFzeW5jLXJlbmRlcjogQWN0aW9uIGJhc2VkIGFzeW5jIHJlbmRlciByZXNvbHZlcnMgZG9uXFwndCBoYXZlIGRhdGEkIHByb3BlcnR5ISBEYXRhIG1hbmFnZW1lbnQgc2hvdWxkIGJlIGNvbnRyb2xsZWQgdmlhIGFjdGlvbiBoYW5kbGVycyEnKTtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgc2V0IHNob3VsZFNraXAodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAodmFsdWUgPT09IHRydWUgJiYgIXRoaXMuX3Nob3VsZFNraXApIHtcbiAgICAgIGlmICghIXRoaXMuX2Z1bmN0aW9uT2JzZXJ2YWJsZVN1YnNjcmlwdGlvbikge1xuICAgICAgICB0aGlzLl9mdW5jdGlvbk9ic2VydmFibGVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5fZnVuY3Rpb25PYnNlcnZhYmxlU3Vic2NyaXB0aW9uID0gdW5kZWZpbmVkO1xuICAgICAgfSBlbHNlIGlmICghIXRoaXMuX2RlcGVuZGVuY3lTdWJzY3JpcHRpb24pIHtcbiAgICAgICAgdGhpcy5fZGVwZW5kZW5jeVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLl9kZXBlbmRlbmN5U3Vic2NyaXB0aW9uID0gdW5kZWZpbmVkO1xuICAgICAgfVxuICAgICAgdGhpcy5fcmVzb2x2ZVJlcXVlc3RlZCA9IGZhbHNlO1xuICAgICAgdGhpcy5fc3RhdGUuZXJyb3JlZCA9IGZhbHNlO1xuICAgICAgdGhpcy5fc3RhdGUubG9hZGluZyA9IGZhbHNlO1xuICAgIH1cblxuICAgIGNvbnN0IHNob3VsZEF1dG9SZXNvbHZlT25jZSA9ICh0aGlzLmNvbmZpZyA9PT0gUmVzb2x2ZXJDb25maWcuQXV0b1Jlc29sdmVPbmNlICYmIHRoaXMuX2F1dG9SZXNvbHZlT25jZUNvbXBsZXRlZCA9PT0gZmFsc2UpO1xuICAgIGlmIChcbiAgICAgIChcbiAgICAgICAgKHRoaXMuY29uZmlnID09PSBSZXNvbHZlckNvbmZpZy5BdXRvUmVzb2x2ZSAmJiB0aGlzLl9zaG91bGRTa2lwID09PSB0cnVlKSB8fFxuICAgICAgICAoc2hvdWxkQXV0b1Jlc29sdmVPbmNlICYmIHRoaXMuX3Nob3VsZFNraXApXG4gICAgICApICYmIHZhbHVlID09PSBmYWxzZVxuICAgICkge1xuICAgICAgLy8gYXNhcFNjaGVkdWxlci5zY2hlZHVsZSgoKSA9PiB7IHRoaXMucmVzb2x2ZSh0cnVlKTsgfSk7XG4gICAgICB0aGlzLnJlc29sdmUodHJ1ZSk7XG4gICAgfVxuICAgIHRoaXMuX3Nob3VsZFNraXAgPSB2YWx1ZTtcbiAgfVxuXG4gIGdldCBzaG91bGRTa2lwKCkge1xuICAgIHJldHVybiB0aGlzLl9zaG91bGRTa2lwO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgaXNGdW5jdGlvbk9ic2VydmFibGVUYXJnZXQoKSB7XG4gICAgcmV0dXJuIHRoaXMudGFyZ2V0IGluc3RhbmNlb2YgRnVuY3Rpb247XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHRhcmdldDogSUFjdGlvbnNUYXJnZXQ8VD4gfCBGdW5jdGlvbk9ic2VydmFibGVUYXJnZXQ8VCwgUj4sXG4gICAgcHJpdmF0ZSBkZXBlbmRlbmNpZXM6ICgpID0+IChPYnNlcnZhYmxlPGFueT4gfCBhbnlbXSkgfCBPYnNlcnZhYmxlPGFueT4gfCBPYnNlcnZhYmxlPGFueT5bXSA9IG51bGxcbiAgKSB7IH1cblxuICByZXNvbHZlKGF1dG8gPSBmYWxzZSkge1xuICAgIGlmICh0aGlzLl9yZXNvbHZlUmVxdWVzdGVkIHx8IChhdXRvICYmIHRoaXMuX2F1dG9SZXNvbHZlT25jZUNvbXBsZXRlZCkpIHsgcmV0dXJuOyB9XG4gICAgdGhpcy5fcmVzb2x2ZVJlcXVlc3RlZCA9IHRydWU7XG5cbiAgICBpZiAodGhpcy5fZGVwZW5kZW5jeVN1YnNjcmlwdGlvbikgeyB0aGlzLl9kZXBlbmRlbmN5U3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7IH1cbiAgICBjb25zdCBpc0F1dG9SZXNvbHZlT25jZUNvbmZpZyA9IHRoaXMuY29uZmlnID09PSBSZXNvbHZlckNvbmZpZy5BdXRvUmVzb2x2ZU9uY2U7XG4gICAgY29uc3QgaXNEZWZhdWx0Q29uZmlnID0gdGhpcy5jb25maWcgPT09IFJlc29sdmVyQ29uZmlnLkRlZmF1bHQ7XG5cbiAgICBpZiAoaXNBdXRvUmVzb2x2ZU9uY2VDb25maWcpIHsgdGhpcy5fYXV0b1Jlc29sdmVPbmNlQ29tcGxldGVkID0gdHJ1ZTsgfVxuXG4gICAgYXNhcFNjaGVkdWxlci5zY2hlZHVsZSgoKSA9PiB7XG4gICAgICB0aGlzLl9zdGF0ZS5lcnJvcmVkID0gZmFsc2U7XG4gICAgICB0aGlzLl9zdGF0ZS5sb2FkaW5nID0gdHJ1ZTtcbiAgICAgIHRoaXMuZXJyb3IgPSB1bmRlZmluZWQ7XG5cbiAgICAgIGxldCBkZXBlbmRlbmNpZXM6IGFueSA9IHRoaXMuZGVwZW5kZW5jaWVzO1xuICAgICAgaWYgKHR5cGVvZiB0aGlzLmRlcGVuZGVuY2llcyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBkZXBlbmRlbmNpZXMgPSB0aGlzLmRlcGVuZGVuY2llcygpO1xuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShkZXBlbmRlbmNpZXMpKSB7IGRlcGVuZGVuY2llcyA9IFtkZXBlbmRlbmNpZXNdOyB9XG4gICAgICB9XG4gICAgICBjb25zdCBkZXBzID0gIWRlcGVuZGVuY2llcyA/IG9mKHVuZGVmaW5lZCkgOiBjb21iaW5lTGF0ZXN0KGRlcGVuZGVuY2llcykucGlwZShcbiAgICAgICAgKGlzQXV0b1Jlc29sdmVPbmNlQ29uZmlnIHx8IGlzRGVmYXVsdENvbmZpZykgPyBmaXJzdCgpIDogdGFrZVVudGlsKHRoaXMuX2lzQWxpdmUkKVxuICAgICAgKTtcblxuICAgICAgdGhpcy5fZGVwZW5kZW5jeVN1YnNjcmlwdGlvbiA9IGRlcHMuc3Vic2NyaWJlKGRhdGEgPT4ge1xuICAgICAgICB0aGlzLl9yZXNvbHZlUmVxdWVzdGVkID0gZmFsc2U7XG5cbiAgICAgICAgYXNhcFNjaGVkdWxlci5zY2hlZHVsZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5fc3RhdGUuZXJyb3JlZCA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuX3N0YXRlLmxvYWRpbmcgPSB0cnVlO1xuICAgICAgICB9KTtcblxuICAgICAgICBpZiAoIXRoaXMuaXNGdW5jdGlvbk9ic2VydmFibGVUYXJnZXQpIHtcbiAgICAgICAgICBjb25zdCB0YXJnZXQgPSB0aGlzLnRhcmdldCBhcyBJQWN0aW9uc1RhcmdldDxUPjtcbiAgICAgICAgICB0YXJnZXQubG9hZEFjdGlvbihkYXRhKTtcbiAgICAgICAgICB0YXJnZXQuc3VjY2VzcyQucGlwZShmaXJzdCgpLCB0YWtlVW50aWwodGhpcy5faXNBbGl2ZSQpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fc3RhdGUubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5fc3RhdGUuZXJyb3JlZCA9IGZhbHNlO1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIHRhcmdldC5mYWlsdXJlJC5waXBlKGZpcnN0KCksIHRha2VVbnRpbCh0aGlzLl9pc0FsaXZlJCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9zdGF0ZS5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLl9zdGF0ZS5lcnJvcmVkID0gdHJ1ZTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zdCB0YXJnZXRGbiA9IHRoaXMudGFyZ2V0IGFzIEZ1bmN0aW9uT2JzZXJ2YWJsZVRhcmdldDxULCBSPjtcbiAgICAgICAgICBpZiAodGhpcy5fZnVuY3Rpb25PYnNlcnZhYmxlU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLl9mdW5jdGlvbk9ic2VydmFibGVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgIHRoaXMuX2Z1bmN0aW9uT2JzZXJ2YWJsZVN1YnNjcmlwdGlvbiA9IHVuZGVmaW5lZDtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5fZnVuY3Rpb25PYnNlcnZhYmxlU3Vic2NyaXB0aW9uID0gdGFyZ2V0Rm4oZGF0YSkucGlwZSh0YWtlVW50aWwodGhpcy5faXNBbGl2ZSQpKS5zdWJzY3JpYmUoe1xuICAgICAgICAgICAgbmV4dDogcmVzID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5fZGF0YSQubmV4dChyZXMpO1xuICAgICAgICAgICAgICB0aGlzLl9zdGF0ZS5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgIHRoaXMuX3N0YXRlLmVycm9yZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBlcnJvcjogZXJyID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5fZGF0YSQuZXJyb3IoZXJyKTtcbiAgICAgICAgICAgICAgdGhpcy5lcnJvciA9IGVycjtcbiAgICAgICAgICAgICAgdGhpcy5fc3RhdGUubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICB0aGlzLl9zdGF0ZS5lcnJvcmVkID0gdHJ1ZTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBjb21wbGV0ZTogKCkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLl9zdGF0ZS5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgIHRoaXMuX3N0YXRlLmVycm9yZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgdGhpcy5fZnVuY3Rpb25PYnNlcnZhYmxlU3Vic2NyaXB0aW9uID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIGRlc3Ryb3koKSB7XG4gICAgdGhpcy5faXNBbGl2ZSQubmV4dCgpO1xuICAgIHRoaXMuX2lzQWxpdmUkLmNvbXBsZXRlKCk7XG5cbiAgICBpZiAoIXRoaXMuX3N0YXRlLmxvYWRpbmcpIHsgcmV0dXJuOyB9XG4gICAgY29uc3QgdGFyZ2V0ID0gdGhpcy50YXJnZXQgYXMgSUFjdGlvbnNUYXJnZXQ8VD47XG4gICAgaWYgKHRhcmdldC5jYW5jZWxBY3Rpb24pIHtcbiAgICAgIHRhcmdldC5jYW5jZWxBY3Rpb24oKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ== |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"hg-async-render.js","sources":["ng://hg-async-render/lib/async-render-resolver.ts","ng://hg-async-render/lib/async-render-base.ts","ng://hg-async-render/lib/async-render/async-render.component.ts","ng://hg-async-render/lib/async-render.directive.ts","ng://hg-async-render/lib/async-render.module.ts","ng://hg-async-render/lib/decorators.ts"],"sourcesContent":["import { first, takeUntil } from 'rxjs/operators';\nimport { asapScheduler, Subject, Observable, combineLatest, of, Subscription, ReplaySubject } from 'rxjs';\nimport { InjectionToken } from '@angular/core';\n\nexport const HG_ASYNC_RENDER_RESOLVER = new InjectionToken<string>('HG_ASYNC_RENDER_RESOLVER');\n\nexport enum ResolverConfig {\n Default,\n AutoResolveOnce,\n AutoResolve\n}\n\ninterface IActionsTarget<T> {\n loadAction: (data: T) => void;\n cancelAction: () => void;\n success$: Observable<any>;\n failure$: Observable<any>;\n}\n\ntype FunctionObservableTarget<T = any, R = T> = (data: T) => Observable<R>;\n\nexport class AsyncRenderResolver<T = any, R = T> {\n\n protected config = ResolverConfig.Default;\n\n // tslint:disable-next-line:variable-name\n private _isAlive$: Subject<void> = new Subject();\n\n // tslint:disable-next-line:variable-name\n private _shouldSkip = null;\n\n // tslint:disable-next-line:variable-name\n private _autoResolveOnceCompleted = false;\n\n // tslint:disable-next-line:variable-name\n private _dependencySubscription: Subscription;\n\n // tslint:disable-next-line:variable-name\n private _resolveRequested = false;\n\n // tslint:disable-next-line:variable-name\n private _state = { loading: false, errored: false };\n\n // tslint:disable-next-line:variable-name\n private _data$ = new ReplaySubject<R>(1);\n\n // tslint:disable-next-line:variable-name\n private _dataObservable$ = this._data$.asObservable();\n\n // tslint:disable-next-line:variable-name\n private _functionObservableSubscription: Subscription;\n\n get isLoading() { return this._state.loading; }\n\n get hasErrored() { return this._state.errored; }\n\n error: Error;\n\n public get data$() {\n if (this.isFunctionObservableTarget) { return this._dataObservable$; }\n // tslint:disable-next-line:max-line-length\n console.warn('hg-async-render: Action based async render resolvers don\\'t have data$ property! Data management should be controlled via action handlers!');\n return undefined;\n }\n\n set shouldSkip(value: boolean) {\n if (value === true && !this._shouldSkip) {\n if (!!this._functionObservableSubscription) {\n this._functionObservableSubscription.unsubscribe();\n this._functionObservableSubscription = undefined;\n } else if (!!this._dependencySubscription) {\n this._dependencySubscription.unsubscribe();\n this._dependencySubscription = undefined;\n }\n this._resolveRequested = false;\n this._state.errored = false;\n this._state.loading = false;\n }\n\n const shouldAutoResolveOnce = (this.config === ResolverConfig.AutoResolveOnce && this._autoResolveOnceCompleted === false);\n if (\n (\n (this.config === ResolverConfig.AutoResolve && this._shouldSkip === true) ||\n (shouldAutoResolveOnce && this._shouldSkip)\n ) && value === false\n ) {\n // asapScheduler.schedule(() => { this.resolve(true); });\n this.resolve(true);\n }\n this._shouldSkip = value;\n }\n\n get shouldSkip() {\n return this._shouldSkip;\n }\n\n private get isFunctionObservableTarget() {\n return this.target instanceof Function;\n }\n\n constructor(\n private target: IActionsTarget<T> | FunctionObservableTarget<T, R>,\n private dependencies: () => (Observable<any> | any[]) | Observable<any> | Observable<any>[] = null\n ) { }\n\n resolve(auto = false) {\n if (this._resolveRequested || (auto && this._autoResolveOnceCompleted)) { return; }\n this._resolveRequested = true;\n\n if (this._dependencySubscription) { this._dependencySubscription.unsubscribe(); }\n const isAutoResolveOnceConfig = this.config === ResolverConfig.AutoResolveOnce;\n const isDefaultConfig = this.config === ResolverConfig.Default;\n\n if (isAutoResolveOnceConfig) { this._autoResolveOnceCompleted = true; }\n\n asapScheduler.schedule(() => {\n this._state.errored = false;\n this._state.loading = true;\n this.error = undefined;\n\n let dependencies: any = this.dependencies;\n if (typeof this.dependencies === 'function') {\n dependencies = this.dependencies();\n if (Array.isArray(dependencies)) { dependencies = [dependencies]; }\n }\n const deps = !dependencies ? of(undefined) : combineLatest(dependencies).pipe(\n (isAutoResolveOnceConfig || isDefaultConfig) ? first() : takeUntil(this._isAlive$)\n );\n\n this._dependencySubscription = deps.subscribe(data => {\n this._resolveRequested = false;\n\n asapScheduler.schedule(() => {\n this._state.errored = false;\n this._state.loading = true;\n });\n\n if (!this.isFunctionObservableTarget) {\n const target = this.target as IActionsTarget<T>;\n target.loadAction(data);\n target.success$.pipe(first(), takeUntil(this._isAlive$)).subscribe(() => {\n this._state.loading = false;\n this._state.errored = false;\n });\n target.failure$.pipe(first(), takeUntil(this._isAlive$)).subscribe(() => {\n this._state.loading = false;\n this._state.errored = true;\n });\n } else {\n const targetFn = this.target as FunctionObservableTarget<T, R>;\n if (this._functionObservableSubscription) {\n this._functionObservableSubscription.unsubscribe();\n this._functionObservableSubscription = undefined;\n }\n this._functionObservableSubscription = targetFn(data).pipe(takeUntil(this._isAlive$)).subscribe({\n next: res => {\n this._data$.next(res);\n this._state.loading = false;\n this._state.errored = false;\n },\n error: err => {\n this._data$.error(err);\n this.error = err;\n this._state.loading = false;\n this._state.errored = true;\n },\n complete: () => {\n this._state.loading = false;\n this._state.errored = false;\n this._functionObservableSubscription = undefined;\n }\n });\n }\n });\n });\n }\n\n destroy() {\n this._isAlive$.next();\n this._isAlive$.complete();\n\n if (!this._state.loading) { return; }\n const target = this.target as IActionsTarget<T>;\n if (target.cancelAction) {\n target.cancelAction();\n }\n }\n}\n","import { AsyncRenderResolver } from '../lib/async-render-resolver';\n\nexport class AsyncRenderBase {\n\n constructor(private resolvers: AsyncRenderResolver<any>[] = []) {\n this.resolvers = [].concat(this.resolvers || []);\n }\n\n get isLoading() {\n return this.resolvers.reduce((acc, res) => acc || res.isLoading, false);\n }\n\n get hasError() {\n return this.resolvers.reduce((acc, res) => acc || res.hasErrored, false);\n }\n\n destroy() {\n this.resolvers.forEach(res => res.destroy());\n }\n\n resolve() {\n this.resolvers.forEach(res => {\n if (res.shouldSkip) { return; }\n res.resolve();\n });\n }\n}\n","import { Component, Input, OnDestroy, Inject, TemplateRef, Optional, OnInit } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { HG_ASYNC_RENDER_RESOLVER, AsyncRenderResolver } from '../async-render-resolver';\nimport { AsyncRenderBase } from '../async-render-base';\n\n@Component({\n selector: 'hg-async-render',\n templateUrl: './async-render.component.html',\n styleUrls: ['./async-render.component.scss'],\n exportAs: 'asyncRender'\n})\nexport class AsyncRenderComponent extends AsyncRenderBase implements OnInit, OnDestroy {\n\n refresh$: Subject<void> = new Subject();\n @Input() loaderTemplateRef: TemplateRef<any>;\n @Input() errorTemplateRef: TemplateRef<any>;\n @Input() autoControlLoader = false;\n @Input() autoControlError = false;\n\n constructor(@Inject(HG_ASYNC_RENDER_RESOLVER) @Optional() resolvers: AsyncRenderResolver<any>[] = []) {\n super(resolvers);\n this.refresh$.subscribe(() => { this.resolve(); });\n }\n\n ngOnInit() {\n this.resolve();\n }\n\n ngOnDestroy() {\n this.refresh$.complete();\n this.destroy();\n }\n}\n","import { Directive, Inject, Optional, OnDestroy, TemplateRef, ViewContainerRef, OnInit } from '@angular/core';\nimport { AsyncRenderResolver, HG_ASYNC_RENDER_RESOLVER } from '../lib/async-render-resolver';\nimport { AsyncRenderBase } from './async-render-base';\nimport { Subject } from 'rxjs';\n\n@Directive({\n selector: '[hgAsyncRender]',\n exportAs: 'asyncRender'\n})\nexport class AsyncRenderDirective extends AsyncRenderBase implements OnInit, OnDestroy {\n\n refresh$: Subject<void> = new Subject();\n\n constructor(\n @Inject(HG_ASYNC_RENDER_RESOLVER) @Optional() resolvers: AsyncRenderResolver<any>[] = [],\n viewContainerRef: ViewContainerRef,\n @Optional() templateRef: TemplateRef<any>,\n ) {\n super(resolvers);\n this.refresh$.subscribe(() => { this.resolve(); });\n if (!!templateRef) { viewContainerRef.createEmbeddedView(templateRef, { $implicit: this }); }\n }\n\n ngOnInit() {\n this.resolve();\n }\n\n ngOnDestroy() {\n this.refresh$.complete();\n this.destroy();\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AsyncRenderComponent } from './async-render/async-render.component';\nimport { AsyncRenderDirective } from './async-render.directive';\n\n@NgModule({\n declarations: [AsyncRenderComponent, AsyncRenderDirective],\n imports: [\n CommonModule\n ],\n exports: [AsyncRenderComponent, AsyncRenderDirective]\n})\nexport class AsyncRenderModule { }\n","import { BehaviorSubject } from 'rxjs';\nimport { distinctUntilChanged } from 'rxjs/operators';\n\nexport function toObservable(target, key) {\n const subject = new BehaviorSubject(target[key]);\n const observable = subject.asObservable().pipe(distinctUntilChanged());\n Object.defineProperty(target, key, {\n set: (value) => { subject.next(value); },\n get: () => observable\n });\n}\n"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"hg-async-render.js","sources":["ng://hg-async-render/lib/async-render-resolver.ts","ng://hg-async-render/lib/async-render-base.ts","ng://hg-async-render/lib/async-render/async-render.component.ts","ng://hg-async-render/lib/async-render.directive.ts","ng://hg-async-render/lib/async-render.module.ts","ng://hg-async-render/lib/decorators.ts"],"sourcesContent":["import { first, takeUntil } from 'rxjs/operators';\nimport { asapScheduler, Subject, Observable, combineLatest, of, Subscription, ReplaySubject } from 'rxjs';\nimport { InjectionToken } from '@angular/core';\n\nexport const HG_ASYNC_RENDER_RESOLVER = new InjectionToken<string>('HG_ASYNC_RENDER_RESOLVER');\n\nexport enum ResolverConfig {\n Default,\n AutoResolveOnce,\n AutoResolve\n}\n\ninterface IActionsTarget<T> {\n loadAction: (data: T) => void;\n cancelAction: () => void;\n success$: Observable<any>;\n failure$: Observable<any>;\n}\n\ntype FunctionObservableTarget<T = any, R = T> = (data: T) => Observable<R>;\n\nexport class AsyncRenderResolver<T, R = T> {\n\n protected config = ResolverConfig.Default;\n\n // tslint:disable-next-line:variable-name\n private _isAlive$: Subject<void> = new Subject();\n\n // tslint:disable-next-line:variable-name\n private _shouldSkip = null;\n\n // tslint:disable-next-line:variable-name\n private _autoResolveOnceCompleted = false;\n\n // tslint:disable-next-line:variable-name\n private _dependencySubscription: Subscription;\n\n // tslint:disable-next-line:variable-name\n private _resolveRequested = false;\n\n // tslint:disable-next-line:variable-name\n private _state = { loading: false, errored: false };\n\n // tslint:disable-next-line:variable-name\n private _data$ = new ReplaySubject<R>(1);\n\n // tslint:disable-next-line:variable-name\n private _dataObservable$ = this._data$.asObservable();\n\n // tslint:disable-next-line:variable-name\n private _functionObservableSubscription: Subscription;\n\n get isLoading() { return this._state.loading; }\n\n get hasErrored() { return this._state.errored; }\n\n error: Error;\n\n public get data$() {\n if (this.isFunctionObservableTarget) { return this._dataObservable$; }\n // tslint:disable-next-line:max-line-length\n console.warn('hg-async-render: Action based async render resolvers don\\'t have data$ property! Data management should be controlled via action handlers!');\n return undefined;\n }\n\n set shouldSkip(value: boolean) {\n if (value === true && !this._shouldSkip) {\n if (!!this._functionObservableSubscription) {\n this._functionObservableSubscription.unsubscribe();\n this._functionObservableSubscription = undefined;\n } else if (!!this._dependencySubscription) {\n this._dependencySubscription.unsubscribe();\n this._dependencySubscription = undefined;\n }\n this._resolveRequested = false;\n this._state.errored = false;\n this._state.loading = false;\n }\n\n const shouldAutoResolveOnce = (this.config === ResolverConfig.AutoResolveOnce && this._autoResolveOnceCompleted === false);\n if (\n (\n (this.config === ResolverConfig.AutoResolve && this._shouldSkip === true) ||\n (shouldAutoResolveOnce && this._shouldSkip)\n ) && value === false\n ) {\n // asapScheduler.schedule(() => { this.resolve(true); });\n this.resolve(true);\n }\n this._shouldSkip = value;\n }\n\n get shouldSkip() {\n return this._shouldSkip;\n }\n\n private get isFunctionObservableTarget() {\n return this.target instanceof Function;\n }\n\n constructor(\n private target: IActionsTarget<T> | FunctionObservableTarget<T, R>,\n private dependencies: () => (Observable<any> | any[]) | Observable<any> | Observable<any>[] = null\n ) { }\n\n resolve(auto = false) {\n if (this._resolveRequested || (auto && this._autoResolveOnceCompleted)) { return; }\n this._resolveRequested = true;\n\n if (this._dependencySubscription) { this._dependencySubscription.unsubscribe(); }\n const isAutoResolveOnceConfig = this.config === ResolverConfig.AutoResolveOnce;\n const isDefaultConfig = this.config === ResolverConfig.Default;\n\n if (isAutoResolveOnceConfig) { this._autoResolveOnceCompleted = true; }\n\n asapScheduler.schedule(() => {\n this._state.errored = false;\n this._state.loading = true;\n this.error = undefined;\n\n let dependencies: any = this.dependencies;\n if (typeof this.dependencies === 'function') {\n dependencies = this.dependencies();\n if (Array.isArray(dependencies)) { dependencies = [dependencies]; }\n }\n const deps = !dependencies ? of(undefined) : combineLatest(dependencies).pipe(\n (isAutoResolveOnceConfig || isDefaultConfig) ? first() : takeUntil(this._isAlive$)\n );\n\n this._dependencySubscription = deps.subscribe(data => {\n this._resolveRequested = false;\n\n asapScheduler.schedule(() => {\n this._state.errored = false;\n this._state.loading = true;\n });\n\n if (!this.isFunctionObservableTarget) {\n const target = this.target as IActionsTarget<T>;\n target.loadAction(data);\n target.success$.pipe(first(), takeUntil(this._isAlive$)).subscribe(() => {\n this._state.loading = false;\n this._state.errored = false;\n });\n target.failure$.pipe(first(), takeUntil(this._isAlive$)).subscribe(() => {\n this._state.loading = false;\n this._state.errored = true;\n });\n } else {\n const targetFn = this.target as FunctionObservableTarget<T, R>;\n if (this._functionObservableSubscription) {\n this._functionObservableSubscription.unsubscribe();\n this._functionObservableSubscription = undefined;\n }\n this._functionObservableSubscription = targetFn(data).pipe(takeUntil(this._isAlive$)).subscribe({\n next: res => {\n this._data$.next(res);\n this._state.loading = false;\n this._state.errored = false;\n },\n error: err => {\n this._data$.error(err);\n this.error = err;\n this._state.loading = false;\n this._state.errored = true;\n },\n complete: () => {\n this._state.loading = false;\n this._state.errored = false;\n this._functionObservableSubscription = undefined;\n }\n });\n }\n });\n });\n }\n\n destroy() {\n this._isAlive$.next();\n this._isAlive$.complete();\n\n if (!this._state.loading) { return; }\n const target = this.target as IActionsTarget<T>;\n if (target.cancelAction) {\n target.cancelAction();\n }\n }\n}\n","import { AsyncRenderResolver } from '../lib/async-render-resolver';\n\nexport class AsyncRenderBase {\n\n constructor(private resolvers: AsyncRenderResolver<any>[] = []) {\n this.resolvers = [].concat(this.resolvers || []);\n }\n\n get isLoading() {\n return this.resolvers.reduce((acc, res) => acc || res.isLoading, false);\n }\n\n get hasError() {\n return this.resolvers.reduce((acc, res) => acc || res.hasErrored, false);\n }\n\n destroy() {\n this.resolvers.forEach(res => res.destroy());\n }\n\n resolve() {\n this.resolvers.forEach(res => {\n if (res.shouldSkip) { return; }\n res.resolve();\n });\n }\n}\n","import { Component, Input, OnDestroy, Inject, TemplateRef, Optional, OnInit } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { HG_ASYNC_RENDER_RESOLVER, AsyncRenderResolver } from '../async-render-resolver';\nimport { AsyncRenderBase } from '../async-render-base';\n\n@Component({\n selector: 'hg-async-render',\n templateUrl: './async-render.component.html',\n styleUrls: ['./async-render.component.scss'],\n exportAs: 'asyncRender'\n})\nexport class AsyncRenderComponent extends AsyncRenderBase implements OnInit, OnDestroy {\n\n refresh$: Subject<void> = new Subject();\n @Input() loaderTemplateRef: TemplateRef<any>;\n @Input() errorTemplateRef: TemplateRef<any>;\n @Input() autoControlLoader = false;\n @Input() autoControlError = false;\n\n constructor(@Inject(HG_ASYNC_RENDER_RESOLVER) @Optional() resolvers: AsyncRenderResolver<any>[] = []) {\n super(resolvers);\n this.refresh$.subscribe(() => { this.resolve(); });\n }\n\n ngOnInit() {\n this.resolve();\n }\n\n ngOnDestroy() {\n this.refresh$.complete();\n this.destroy();\n }\n}\n","import { Directive, Inject, Optional, OnDestroy, TemplateRef, ViewContainerRef, OnInit } from '@angular/core';\nimport { AsyncRenderResolver, HG_ASYNC_RENDER_RESOLVER } from '../lib/async-render-resolver';\nimport { AsyncRenderBase } from './async-render-base';\nimport { Subject } from 'rxjs';\n\n@Directive({\n selector: '[hgAsyncRender]',\n exportAs: 'asyncRender'\n})\nexport class AsyncRenderDirective extends AsyncRenderBase implements OnInit, OnDestroy {\n\n refresh$: Subject<void> = new Subject();\n\n constructor(\n @Inject(HG_ASYNC_RENDER_RESOLVER) @Optional() resolvers: AsyncRenderResolver<any>[] = [],\n viewContainerRef: ViewContainerRef,\n @Optional() templateRef: TemplateRef<any>,\n ) {\n super(resolvers);\n this.refresh$.subscribe(() => { this.resolve(); });\n if (!!templateRef) { viewContainerRef.createEmbeddedView(templateRef, { $implicit: this }); }\n }\n\n ngOnInit() {\n this.resolve();\n }\n\n ngOnDestroy() {\n this.refresh$.complete();\n this.destroy();\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AsyncRenderComponent } from './async-render/async-render.component';\nimport { AsyncRenderDirective } from './async-render.directive';\n\n@NgModule({\n declarations: [AsyncRenderComponent, AsyncRenderDirective],\n imports: [\n CommonModule\n ],\n exports: [AsyncRenderComponent, AsyncRenderDirective]\n})\nexport class AsyncRenderModule { }\n","import { BehaviorSubject } from 'rxjs';\nimport { distinctUntilChanged } from 'rxjs/operators';\n\nexport function toObservable(target, key) {\n const subject = new BehaviorSubject(target[key]);\n const observable = subject.asObservable().pipe(distinctUntilChanged());\n Object.defineProperty(target, key, {\n set: (value) => { subject.next(value); },\n get: () => observable\n });\n}\n"],"names":[],"mappings":"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"} |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"hg-async-render.js","sources":["ng://hg-async-render/lib/async-render-resolver.ts","ng://hg-async-render/lib/async-render-base.ts","ng://hg-async-render/lib/async-render/async-render.component.ts","ng://hg-async-render/lib/async-render.directive.ts","ng://hg-async-render/lib/async-render.module.ts","ng://hg-async-render/lib/decorators.ts"],"sourcesContent":["import { first, takeUntil } from 'rxjs/operators';\nimport { asapScheduler, Subject, Observable, combineLatest, of, Subscription, ReplaySubject } from 'rxjs';\nimport { InjectionToken } from '@angular/core';\n\nexport const HG_ASYNC_RENDER_RESOLVER = new InjectionToken<string>('HG_ASYNC_RENDER_RESOLVER');\n\nexport enum ResolverConfig {\n Default,\n AutoResolveOnce,\n AutoResolve\n}\n\ninterface IActionsTarget<T> {\n loadAction: (data: T) => void;\n cancelAction: () => void;\n success$: Observable<any>;\n failure$: Observable<any>;\n}\n\ntype FunctionObservableTarget<T = any, R = T> = (data: T) => Observable<R>;\n\nexport class AsyncRenderResolver<T = any, R = T> {\n\n protected config = ResolverConfig.Default;\n\n // tslint:disable-next-line:variable-name\n private _isAlive$: Subject<void> = new Subject();\n\n // tslint:disable-next-line:variable-name\n private _shouldSkip = null;\n\n // tslint:disable-next-line:variable-name\n private _autoResolveOnceCompleted = false;\n\n // tslint:disable-next-line:variable-name\n private _dependencySubscription: Subscription;\n\n // tslint:disable-next-line:variable-name\n private _resolveRequested = false;\n\n // tslint:disable-next-line:variable-name\n private _state = { loading: false, errored: false };\n\n // tslint:disable-next-line:variable-name\n private _data$ = new ReplaySubject<R>(1);\n\n // tslint:disable-next-line:variable-name\n private _dataObservable$ = this._data$.asObservable();\n\n // tslint:disable-next-line:variable-name\n private _functionObservableSubscription: Subscription;\n\n get isLoading() { return this._state.loading; }\n\n get hasErrored() { return this._state.errored; }\n\n error: Error;\n\n public get data$() {\n if (this.isFunctionObservableTarget) { return this._dataObservable$; }\n // tslint:disable-next-line:max-line-length\n console.warn('hg-async-render: Action based async render resolvers don\\'t have data$ property! Data management should be controlled via action handlers!');\n return undefined;\n }\n\n set shouldSkip(value: boolean) {\n if (value === true && !this._shouldSkip) {\n if (!!this._functionObservableSubscription) {\n this._functionObservableSubscription.unsubscribe();\n this._functionObservableSubscription = undefined;\n } else if (!!this._dependencySubscription) {\n this._dependencySubscription.unsubscribe();\n this._dependencySubscription = undefined;\n }\n this._resolveRequested = false;\n this._state.errored = false;\n this._state.loading = false;\n }\n\n const shouldAutoResolveOnce = (this.config === ResolverConfig.AutoResolveOnce && this._autoResolveOnceCompleted === false);\n if (\n (\n (this.config === ResolverConfig.AutoResolve && this._shouldSkip === true) ||\n (shouldAutoResolveOnce && this._shouldSkip)\n ) && value === false\n ) {\n // asapScheduler.schedule(() => { this.resolve(true); });\n this.resolve(true);\n }\n this._shouldSkip = value;\n }\n\n get shouldSkip() {\n return this._shouldSkip;\n }\n\n private get isFunctionObservableTarget() {\n return this.target instanceof Function;\n }\n\n constructor(\n private target: IActionsTarget<T> | FunctionObservableTarget<T, R>,\n private dependencies: () => (Observable<any> | any[]) | Observable<any> | Observable<any>[] = null\n ) { }\n\n resolve(auto = false) {\n if (this._resolveRequested || (auto && this._autoResolveOnceCompleted)) { return; }\n this._resolveRequested = true;\n\n if (this._dependencySubscription) { this._dependencySubscription.unsubscribe(); }\n const isAutoResolveOnceConfig = this.config === ResolverConfig.AutoResolveOnce;\n const isDefaultConfig = this.config === ResolverConfig.Default;\n\n if (isAutoResolveOnceConfig) { this._autoResolveOnceCompleted = true; }\n\n asapScheduler.schedule(() => {\n this._state.errored = false;\n this._state.loading = true;\n this.error = undefined;\n\n let dependencies: any = this.dependencies;\n if (typeof this.dependencies === 'function') {\n dependencies = this.dependencies();\n if (Array.isArray(dependencies)) { dependencies = [dependencies]; }\n }\n const deps = !dependencies ? of(undefined) : combineLatest(dependencies).pipe(\n (isAutoResolveOnceConfig || isDefaultConfig) ? first() : takeUntil(this._isAlive$)\n );\n\n this._dependencySubscription = deps.subscribe(data => {\n this._resolveRequested = false;\n\n asapScheduler.schedule(() => {\n this._state.errored = false;\n this._state.loading = true;\n });\n\n if (!this.isFunctionObservableTarget) {\n const target = this.target as IActionsTarget<T>;\n target.loadAction(data);\n target.success$.pipe(first(), takeUntil(this._isAlive$)).subscribe(() => {\n this._state.loading = false;\n this._state.errored = false;\n });\n target.failure$.pipe(first(), takeUntil(this._isAlive$)).subscribe(() => {\n this._state.loading = false;\n this._state.errored = true;\n });\n } else {\n const targetFn = this.target as FunctionObservableTarget<T, R>;\n if (this._functionObservableSubscription) {\n this._functionObservableSubscription.unsubscribe();\n this._functionObservableSubscription = undefined;\n }\n this._functionObservableSubscription = targetFn(data).pipe(takeUntil(this._isAlive$)).subscribe({\n next: res => {\n this._data$.next(res);\n this._state.loading = false;\n this._state.errored = false;\n },\n error: err => {\n this._data$.error(err);\n this.error = err;\n this._state.loading = false;\n this._state.errored = true;\n },\n complete: () => {\n this._state.loading = false;\n this._state.errored = false;\n this._functionObservableSubscription = undefined;\n }\n });\n }\n });\n });\n }\n\n destroy() {\n this._isAlive$.next();\n this._isAlive$.complete();\n\n if (!this._state.loading) { return; }\n const target = this.target as IActionsTarget<T>;\n if (target.cancelAction) {\n target.cancelAction();\n }\n }\n}\n","import { AsyncRenderResolver } from '../lib/async-render-resolver';\n\nexport class AsyncRenderBase {\n\n constructor(private resolvers: AsyncRenderResolver<any>[] = []) {\n this.resolvers = [].concat(this.resolvers || []);\n }\n\n get isLoading() {\n return this.resolvers.reduce((acc, res) => acc || res.isLoading, false);\n }\n\n get hasError() {\n return this.resolvers.reduce((acc, res) => acc || res.hasErrored, false);\n }\n\n destroy() {\n this.resolvers.forEach(res => res.destroy());\n }\n\n resolve() {\n this.resolvers.forEach(res => {\n if (res.shouldSkip) { return; }\n res.resolve();\n });\n }\n}\n","import { Component, Input, OnDestroy, Inject, TemplateRef, Optional, OnInit } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { HG_ASYNC_RENDER_RESOLVER, AsyncRenderResolver } from '../async-render-resolver';\nimport { AsyncRenderBase } from '../async-render-base';\n\n@Component({\n selector: 'hg-async-render',\n templateUrl: './async-render.component.html',\n styleUrls: ['./async-render.component.scss'],\n exportAs: 'asyncRender'\n})\nexport class AsyncRenderComponent extends AsyncRenderBase implements OnInit, OnDestroy {\n\n refresh$: Subject<void> = new Subject();\n @Input() loaderTemplateRef: TemplateRef<any>;\n @Input() errorTemplateRef: TemplateRef<any>;\n @Input() autoControlLoader = false;\n @Input() autoControlError = false;\n\n constructor(@Inject(HG_ASYNC_RENDER_RESOLVER) @Optional() resolvers: AsyncRenderResolver<any>[] = []) {\n super(resolvers);\n this.refresh$.subscribe(() => { this.resolve(); });\n }\n\n ngOnInit() {\n this.resolve();\n }\n\n ngOnDestroy() {\n this.refresh$.complete();\n this.destroy();\n }\n}\n","import { Directive, Inject, Optional, OnDestroy, TemplateRef, ViewContainerRef, OnInit } from '@angular/core';\nimport { AsyncRenderResolver, HG_ASYNC_RENDER_RESOLVER } from '../lib/async-render-resolver';\nimport { AsyncRenderBase } from './async-render-base';\nimport { Subject } from 'rxjs';\n\n@Directive({\n selector: '[hgAsyncRender]',\n exportAs: 'asyncRender'\n})\nexport class AsyncRenderDirective extends AsyncRenderBase implements OnInit, OnDestroy {\n\n refresh$: Subject<void> = new Subject();\n\n constructor(\n @Inject(HG_ASYNC_RENDER_RESOLVER) @Optional() resolvers: AsyncRenderResolver<any>[] = [],\n viewContainerRef: ViewContainerRef,\n @Optional() templateRef: TemplateRef<any>,\n ) {\n super(resolvers);\n this.refresh$.subscribe(() => { this.resolve(); });\n if (!!templateRef) { viewContainerRef.createEmbeddedView(templateRef, { $implicit: this }); }\n }\n\n ngOnInit() {\n this.resolve();\n }\n\n ngOnDestroy() {\n this.refresh$.complete();\n this.destroy();\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AsyncRenderComponent } from './async-render/async-render.component';\nimport { AsyncRenderDirective } from './async-render.directive';\n\n@NgModule({\n declarations: [AsyncRenderComponent, AsyncRenderDirective],\n imports: [\n CommonModule\n ],\n exports: [AsyncRenderComponent, AsyncRenderDirective]\n})\nexport class AsyncRenderModule { }\n","import { BehaviorSubject } from 'rxjs';\nimport { distinctUntilChanged } from 'rxjs/operators';\n\nexport function toObservable(target, key) {\n const subject = new BehaviorSubject(target[key]);\n const observable = subject.asObservable().pipe(distinctUntilChanged());\n Object.defineProperty(target, key, {\n set: (value) => { subject.next(value); },\n get: () => observable\n });\n}\n"],"names":["tslib_1.__extends"],"mappings":"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"} | ||
| {"version":3,"file":"hg-async-render.js","sources":["ng://hg-async-render/lib/async-render-resolver.ts","ng://hg-async-render/lib/async-render-base.ts","ng://hg-async-render/lib/async-render/async-render.component.ts","ng://hg-async-render/lib/async-render.directive.ts","ng://hg-async-render/lib/async-render.module.ts","ng://hg-async-render/lib/decorators.ts"],"sourcesContent":["import { first, takeUntil } from 'rxjs/operators';\nimport { asapScheduler, Subject, Observable, combineLatest, of, Subscription, ReplaySubject } from 'rxjs';\nimport { InjectionToken } from '@angular/core';\n\nexport const HG_ASYNC_RENDER_RESOLVER = new InjectionToken<string>('HG_ASYNC_RENDER_RESOLVER');\n\nexport enum ResolverConfig {\n Default,\n AutoResolveOnce,\n AutoResolve\n}\n\ninterface IActionsTarget<T> {\n loadAction: (data: T) => void;\n cancelAction: () => void;\n success$: Observable<any>;\n failure$: Observable<any>;\n}\n\ntype FunctionObservableTarget<T = any, R = T> = (data: T) => Observable<R>;\n\nexport class AsyncRenderResolver<T, R = T> {\n\n protected config = ResolverConfig.Default;\n\n // tslint:disable-next-line:variable-name\n private _isAlive$: Subject<void> = new Subject();\n\n // tslint:disable-next-line:variable-name\n private _shouldSkip = null;\n\n // tslint:disable-next-line:variable-name\n private _autoResolveOnceCompleted = false;\n\n // tslint:disable-next-line:variable-name\n private _dependencySubscription: Subscription;\n\n // tslint:disable-next-line:variable-name\n private _resolveRequested = false;\n\n // tslint:disable-next-line:variable-name\n private _state = { loading: false, errored: false };\n\n // tslint:disable-next-line:variable-name\n private _data$ = new ReplaySubject<R>(1);\n\n // tslint:disable-next-line:variable-name\n private _dataObservable$ = this._data$.asObservable();\n\n // tslint:disable-next-line:variable-name\n private _functionObservableSubscription: Subscription;\n\n get isLoading() { return this._state.loading; }\n\n get hasErrored() { return this._state.errored; }\n\n error: Error;\n\n public get data$() {\n if (this.isFunctionObservableTarget) { return this._dataObservable$; }\n // tslint:disable-next-line:max-line-length\n console.warn('hg-async-render: Action based async render resolvers don\\'t have data$ property! Data management should be controlled via action handlers!');\n return undefined;\n }\n\n set shouldSkip(value: boolean) {\n if (value === true && !this._shouldSkip) {\n if (!!this._functionObservableSubscription) {\n this._functionObservableSubscription.unsubscribe();\n this._functionObservableSubscription = undefined;\n } else if (!!this._dependencySubscription) {\n this._dependencySubscription.unsubscribe();\n this._dependencySubscription = undefined;\n }\n this._resolveRequested = false;\n this._state.errored = false;\n this._state.loading = false;\n }\n\n const shouldAutoResolveOnce = (this.config === ResolverConfig.AutoResolveOnce && this._autoResolveOnceCompleted === false);\n if (\n (\n (this.config === ResolverConfig.AutoResolve && this._shouldSkip === true) ||\n (shouldAutoResolveOnce && this._shouldSkip)\n ) && value === false\n ) {\n // asapScheduler.schedule(() => { this.resolve(true); });\n this.resolve(true);\n }\n this._shouldSkip = value;\n }\n\n get shouldSkip() {\n return this._shouldSkip;\n }\n\n private get isFunctionObservableTarget() {\n return this.target instanceof Function;\n }\n\n constructor(\n private target: IActionsTarget<T> | FunctionObservableTarget<T, R>,\n private dependencies: () => (Observable<any> | any[]) | Observable<any> | Observable<any>[] = null\n ) { }\n\n resolve(auto = false) {\n if (this._resolveRequested || (auto && this._autoResolveOnceCompleted)) { return; }\n this._resolveRequested = true;\n\n if (this._dependencySubscription) { this._dependencySubscription.unsubscribe(); }\n const isAutoResolveOnceConfig = this.config === ResolverConfig.AutoResolveOnce;\n const isDefaultConfig = this.config === ResolverConfig.Default;\n\n if (isAutoResolveOnceConfig) { this._autoResolveOnceCompleted = true; }\n\n asapScheduler.schedule(() => {\n this._state.errored = false;\n this._state.loading = true;\n this.error = undefined;\n\n let dependencies: any = this.dependencies;\n if (typeof this.dependencies === 'function') {\n dependencies = this.dependencies();\n if (Array.isArray(dependencies)) { dependencies = [dependencies]; }\n }\n const deps = !dependencies ? of(undefined) : combineLatest(dependencies).pipe(\n (isAutoResolveOnceConfig || isDefaultConfig) ? first() : takeUntil(this._isAlive$)\n );\n\n this._dependencySubscription = deps.subscribe(data => {\n this._resolveRequested = false;\n\n asapScheduler.schedule(() => {\n this._state.errored = false;\n this._state.loading = true;\n });\n\n if (!this.isFunctionObservableTarget) {\n const target = this.target as IActionsTarget<T>;\n target.loadAction(data);\n target.success$.pipe(first(), takeUntil(this._isAlive$)).subscribe(() => {\n this._state.loading = false;\n this._state.errored = false;\n });\n target.failure$.pipe(first(), takeUntil(this._isAlive$)).subscribe(() => {\n this._state.loading = false;\n this._state.errored = true;\n });\n } else {\n const targetFn = this.target as FunctionObservableTarget<T, R>;\n if (this._functionObservableSubscription) {\n this._functionObservableSubscription.unsubscribe();\n this._functionObservableSubscription = undefined;\n }\n this._functionObservableSubscription = targetFn(data).pipe(takeUntil(this._isAlive$)).subscribe({\n next: res => {\n this._data$.next(res);\n this._state.loading = false;\n this._state.errored = false;\n },\n error: err => {\n this._data$.error(err);\n this.error = err;\n this._state.loading = false;\n this._state.errored = true;\n },\n complete: () => {\n this._state.loading = false;\n this._state.errored = false;\n this._functionObservableSubscription = undefined;\n }\n });\n }\n });\n });\n }\n\n destroy() {\n this._isAlive$.next();\n this._isAlive$.complete();\n\n if (!this._state.loading) { return; }\n const target = this.target as IActionsTarget<T>;\n if (target.cancelAction) {\n target.cancelAction();\n }\n }\n}\n","import { AsyncRenderResolver } from '../lib/async-render-resolver';\n\nexport class AsyncRenderBase {\n\n constructor(private resolvers: AsyncRenderResolver<any>[] = []) {\n this.resolvers = [].concat(this.resolvers || []);\n }\n\n get isLoading() {\n return this.resolvers.reduce((acc, res) => acc || res.isLoading, false);\n }\n\n get hasError() {\n return this.resolvers.reduce((acc, res) => acc || res.hasErrored, false);\n }\n\n destroy() {\n this.resolvers.forEach(res => res.destroy());\n }\n\n resolve() {\n this.resolvers.forEach(res => {\n if (res.shouldSkip) { return; }\n res.resolve();\n });\n }\n}\n","import { Component, Input, OnDestroy, Inject, TemplateRef, Optional, OnInit } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { HG_ASYNC_RENDER_RESOLVER, AsyncRenderResolver } from '../async-render-resolver';\nimport { AsyncRenderBase } from '../async-render-base';\n\n@Component({\n selector: 'hg-async-render',\n templateUrl: './async-render.component.html',\n styleUrls: ['./async-render.component.scss'],\n exportAs: 'asyncRender'\n})\nexport class AsyncRenderComponent extends AsyncRenderBase implements OnInit, OnDestroy {\n\n refresh$: Subject<void> = new Subject();\n @Input() loaderTemplateRef: TemplateRef<any>;\n @Input() errorTemplateRef: TemplateRef<any>;\n @Input() autoControlLoader = false;\n @Input() autoControlError = false;\n\n constructor(@Inject(HG_ASYNC_RENDER_RESOLVER) @Optional() resolvers: AsyncRenderResolver<any>[] = []) {\n super(resolvers);\n this.refresh$.subscribe(() => { this.resolve(); });\n }\n\n ngOnInit() {\n this.resolve();\n }\n\n ngOnDestroy() {\n this.refresh$.complete();\n this.destroy();\n }\n}\n","import { Directive, Inject, Optional, OnDestroy, TemplateRef, ViewContainerRef, OnInit } from '@angular/core';\nimport { AsyncRenderResolver, HG_ASYNC_RENDER_RESOLVER } from '../lib/async-render-resolver';\nimport { AsyncRenderBase } from './async-render-base';\nimport { Subject } from 'rxjs';\n\n@Directive({\n selector: '[hgAsyncRender]',\n exportAs: 'asyncRender'\n})\nexport class AsyncRenderDirective extends AsyncRenderBase implements OnInit, OnDestroy {\n\n refresh$: Subject<void> = new Subject();\n\n constructor(\n @Inject(HG_ASYNC_RENDER_RESOLVER) @Optional() resolvers: AsyncRenderResolver<any>[] = [],\n viewContainerRef: ViewContainerRef,\n @Optional() templateRef: TemplateRef<any>,\n ) {\n super(resolvers);\n this.refresh$.subscribe(() => { this.resolve(); });\n if (!!templateRef) { viewContainerRef.createEmbeddedView(templateRef, { $implicit: this }); }\n }\n\n ngOnInit() {\n this.resolve();\n }\n\n ngOnDestroy() {\n this.refresh$.complete();\n this.destroy();\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AsyncRenderComponent } from './async-render/async-render.component';\nimport { AsyncRenderDirective } from './async-render.directive';\n\n@NgModule({\n declarations: [AsyncRenderComponent, AsyncRenderDirective],\n imports: [\n CommonModule\n ],\n exports: [AsyncRenderComponent, AsyncRenderDirective]\n})\nexport class AsyncRenderModule { }\n","import { BehaviorSubject } from 'rxjs';\nimport { distinctUntilChanged } from 'rxjs/operators';\n\nexport function toObservable(target, key) {\n const subject = new BehaviorSubject(target[key]);\n const observable = subject.asObservable().pipe(distinctUntilChanged());\n Object.defineProperty(target, key, {\n set: (value) => { subject.next(value); },\n get: () => observable\n });\n}\n"],"names":["tslib_1.__extends"],"mappings":"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"} |
@@ -16,3 +16,3 @@ import { Observable } from 'rxjs'; | ||
| declare type FunctionObservableTarget<T = any, R = T> = (data: T) => Observable<R>; | ||
| export declare class AsyncRenderResolver<T = any, R = T> { | ||
| export declare class AsyncRenderResolver<T, R = T> { | ||
| private target; | ||
@@ -19,0 +19,0 @@ private dependencies; |
+1
-1
| { | ||
| "name": "hg-async-render", | ||
| "version": "3.0.0", | ||
| "version": "3.0.1", | ||
| "repository": { | ||
@@ -5,0 +5,0 @@ "type": "git", |
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
302815
-0.02%