@angular/fire 7.2.0-canary.390691b → 7.2.0-canary.4852c35
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -2
- package/bundles/angular-fire-compat.umd.js.map +1 -1
- package/bundles/angular-fire.umd.js +10 -8
- package/bundles/angular-fire.umd.js.map +1 -1
- package/compat/proxy.d.ts +9 -6
- package/docs/auth/getting-started.md +5 -5
- package/esm2015/compat/proxy.js +1 -1
- package/esm2015/core.js +5 -5
- package/esm2015/zones.js +7 -5
- package/fesm2015/angular-fire-compat.js.map +1 -1
- package/fesm2015/angular-fire.js +10 -8
- package/fesm2015/angular-fire.js.map +1 -1
- package/package.json +1 -1
- package/schematics/deploy/schema.json +5 -5
- package/schematics/setup/prompts.js +7 -7
package/README.md
CHANGED
|
@@ -66,6 +66,7 @@ AngularFire doesn't follow Angular's versioning as Firebase also has breaking ch
|
|
|
66
66
|
|
|
67
67
|
| Angular | Firebase | AngularFire |
|
|
68
68
|
| --------|----------|--------------|
|
|
69
|
+
| 13 | 9 | ^7.2 |
|
|
69
70
|
| 12 | 9 | ^7.0 |
|
|
70
71
|
| 12 | 7,8 | ^6.1.5 |
|
|
71
72
|
| 11 | 7,8 | ^6.1 |
|
|
@@ -73,8 +74,6 @@ AngularFire doesn't follow Angular's versioning as Firebase also has breaking ch
|
|
|
73
74
|
| 10 | 7 | ^6.0.3 |
|
|
74
75
|
| 9 | 8 | ^6.0.4 |
|
|
75
76
|
| 9 | 7 | ^6.0 |
|
|
76
|
-
| 8 | 7 | ^5.2.3 |
|
|
77
|
-
| 8 | 6 | ^5.2.0 |
|
|
78
77
|
|
|
79
78
|
<sub>Version combinations not documented here __may__ work but are untested and you will see NPM peer warnings.</sub>
|
|
80
79
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"angular-fire-compat.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../../src/compat/proxy.ts","../../../src/compat/firebase.app.ts","../../../src/compat/firebase.app.module.ts","../../../src/compat/cache.ts","../../../src/compat/angular-fire-compat.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\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 (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\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 function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\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) : adopt(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 var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") 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 throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\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\n/** @deprecated */\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\n/** @deprecated */\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 __spreadArray(to, from) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\r\n to[j] = from[i];\r\n return to;\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\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\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 (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, 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\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { NgZone } from '@angular/core';\nimport { Observable } from 'rxjs';\n\n// tslint:disable:ban-types\ntype FunctionPropertyNames<T> = { [K in keyof T]: T[K] extends Function ? K : never }[keyof T];\ntype PromiseReturningFunctionPropertyNames<T> = {\n [K in FunctionPropertyNames<T>]: ReturnType<T[K]> extends Promise<any> ? K : never\n}[FunctionPropertyNames<T>];\ntype NonPromiseReturningFunctionPropertyNames<T> = {\n [K in FunctionPropertyNames<T>]: ReturnType<T[K]> extends Promise<any> ? never : K\n}[FunctionPropertyNames<T>];\ntype NonFunctionPropertyNames<T> = { [K in keyof T]: T[K] extends Function ? never : K }[keyof T];\n// tslint:enable:ban-types\n\nexport type ɵPromiseProxy<T> = { [K in NonFunctionPropertyNames<T>]: Promise<T[K]> } &\n { [K in NonPromiseReturningFunctionPropertyNames<T>]: (...args: Parameters<T[K]>) => Promise<ReturnType<T[K]>> } &\n { [K in PromiseReturningFunctionPropertyNames<T>]: (...args: Parameters<T[K]>) => ReturnType<T[K]> };\n\n\n// DEBUG quick debugger function for inline logging that typescript doesn't complain about\n// wrote it for debugging the ɵlazySDKProxy, commenting out for now; should consider exposing a\n// verbose mode for AngularFire in a future release that uses something like this in multiple places\n// usage: () => log('something') || returnValue\n// const log = (...args: any[]): false => { console.log(...args); return false }\n\n// The problem here are things like ngOnDestroy are missing, then triggering the service\n// rather than dig too far; I'm capturing these as I go.\nconst noopFunctions = ['ngOnDestroy'];\n\n// INVESTIGATE should we make the Proxy revokable and do some cleanup?\n// right now it's fairly simple but I'm sure this will grow in complexity\nexport const ɵlazySDKProxy = (klass: any, observable: Observable<any>, zone: NgZone, options: {\n spy?: {\n get?: ((name: string, it: any) => void),\n apply?: ((name: string, args: any[], it: any) => void)\n }\n} = {}) => {\n return new Proxy(klass, {\n get: (_, name: string) => zone.runOutsideAngular(() => {\n if (klass[name]) {\n if (options?.spy?.get) {\n options.spy.get(name, klass[name]);\n }\n return klass[name];\n }\n if (noopFunctions.indexOf(name) > -1) {\n return () => {\n };\n }\n const promise = observable.toPromise().then(mod => {\n const ret = mod && mod[name];\n // TODO move to proper type guards\n if (typeof ret === 'function') {\n return ret.bind(mod);\n } else if (ret && ret.then) {\n return ret.then((res: any) => zone.run(() => res));\n } else {\n return zone.run(() => ret);\n }\n });\n // recurse the proxy\n return new Proxy(() => {}, {\n get: (_, name) => promise[name],\n // TODO handle callbacks as transparently as I can\n apply: (self, _, args) => promise.then(it => {\n const res = it && it(...args);\n if (options?.spy?.apply) {\n options.spy.apply(name, args, res);\n }\n return res;\n })\n }\n );\n })\n });\n};\n\nexport const ɵapplyMixins = (derivedCtor: any, constructors: any[]) => {\n constructors.forEach((baseCtor) => {\n Object.getOwnPropertyNames(baseCtor.prototype || baseCtor).forEach((name) => {\n Object.defineProperty(\n derivedCtor.prototype,\n name,\n Object.getOwnPropertyDescriptor(baseCtor.prototype || baseCtor, name)\n );\n });\n });\n};\n","import firebase from 'firebase/compat/app';\n\n// tslint:disable-next-line:no-empty-interface\nexport interface FirebaseApp extends firebase.app.App {}\n\nexport class FirebaseApp {\n constructor(app: firebase.app.App) {\n return app;\n }\n}\n","import {\n InjectionToken, Inject, isDevMode, ModuleWithProviders, NgModule, NgZone, Optional, PLATFORM_ID, VERSION as NG_VERSION, Version\n} from '@angular/core';\nimport firebase from 'firebase/compat/app';\nimport { FirebaseOptions, FirebaseAppSettings } from 'firebase/app';\nimport { VERSION } from '@angular/fire';\nimport { FirebaseApp } from './firebase.app';\n\nexport const FIREBASE_OPTIONS = new InjectionToken<FirebaseOptions>('angularfire2.app.options');\nexport const FIREBASE_APP_NAME = new InjectionToken<string | undefined>('angularfire2.app.name');\n\n\nexport function ɵfirebaseAppFactory(options: FirebaseOptions, zone: NgZone, nameOrConfig?: string | FirebaseAppSettings | null) {\n const name = typeof nameOrConfig === 'string' && nameOrConfig || '[DEFAULT]';\n const config = typeof nameOrConfig === 'object' && nameOrConfig || {};\n config.name = config.name || name;\n // Added any due to some inconsistency between @firebase/app and firebase types\n const existingApp = firebase.apps.filter(app => app && app.name === config.name)[0];\n // We support FirebaseConfig, initializeApp's public type only accepts string; need to cast as any\n // Could be solved with https://github.com/firebase/firebase-js-sdk/pull/1206\n const app = (existingApp || zone.runOutsideAngular(() => firebase.initializeApp(options, config as any)));\n try {\n if (JSON.stringify(options) !== JSON.stringify(app.options)) {\n const hmr = !!(module as any).hot;\n log('error', `${app.name} Firebase App already initialized with different options${hmr ? ', you may need to reload as Firebase is not HMR aware.' : '.'}`);\n }\n } catch (e) { }\n return new FirebaseApp(app);\n}\n\nconst log = (level: 'log'|'error'|'info'|'warn', ...args: any) => {\n if (isDevMode() && typeof console !== 'undefined') {\n console[level](...args);\n }\n};\n\nconst FIREBASE_APP_PROVIDER = {\n provide: FirebaseApp,\n useFactory: ɵfirebaseAppFactory,\n deps: [\n FIREBASE_OPTIONS,\n NgZone,\n [new Optional(), FIREBASE_APP_NAME]\n ]\n};\n\n@NgModule({\n providers: [FIREBASE_APP_PROVIDER]\n})\nexport class AngularFireModule {\n static initializeApp(options: FirebaseOptions, nameOrConfig?: string | FirebaseAppSettings): ModuleWithProviders<AngularFireModule> {\n return {\n ngModule: AngularFireModule,\n providers: [\n {provide: FIREBASE_OPTIONS, useValue: options},\n {provide: FIREBASE_APP_NAME, useValue: nameOrConfig}\n ]\n };\n }\n\n // tslint:disable-next-line:ban-types\n constructor(@Inject(PLATFORM_ID) platformId: Object) {\n firebase.registerVersion('angularfire', VERSION.full, 'core');\n firebase.registerVersion('angularfire', VERSION.full, 'app-compat');\n firebase.registerVersion('angular', NG_VERSION.full, platformId.toString());\n }\n}\n","import { isDevMode } from '@angular/core';\n\nexport function ɵcacheInstance<T>(cacheKey: any, moduleName: string, appName: string, fn: () => T, deps: any): T {\n const [, instance, cachedDeps] = globalThis.ɵAngularfireInstanceCache.find((it: any) => it[0] === cacheKey) || [];\n if (instance) {\n if (!matchDep(deps, cachedDeps)) {\n log('error', `${moduleName} was already initialized on the ${appName} Firebase App with different settings.${IS_HMR ? ' You may need to reload as Firebase is not HMR aware.' : ''}`);\n log('warn', {is: deps, was: cachedDeps});\n }\n return instance;\n } else {\n const newInstance = fn();\n globalThis.ɵAngularfireInstanceCache.push([cacheKey, newInstance, deps]);\n return newInstance;\n }\n}\n\nfunction matchDep(a: any, b: any) {\n try {\n return a.toString() === b.toString();\n } catch (_) {\n return a === b;\n }\n}\n\nconst IS_HMR = !!(module as any).hot;\n\nconst log = (level: 'log'|'error'|'info'|'warn', ...args: any) => {\n if (isDevMode() && typeof console !== 'undefined') {\n console[level](...args);\n }\n};\n\nglobalThis.ɵAngularfireInstanceCache ||= [];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["InjectionToken","firebase","log","isDevMode","NgZone","Optional","VERSION","NG_VERSION","PLATFORM_ID","NgModule","Inject"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"angular-fire-compat.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../../src/compat/proxy.ts","../../../src/compat/firebase.app.ts","../../../src/compat/firebase.app.module.ts","../../../src/compat/cache.ts","../../../src/compat/angular-fire-compat.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\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 (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\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 function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\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) : adopt(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 var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") 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 throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\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\n/** @deprecated */\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\n/** @deprecated */\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 __spreadArray(to, from) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\r\n to[j] = from[i];\r\n return to;\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\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\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 (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, 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\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { NgZone } from '@angular/core';\nimport { Observable } from 'rxjs';\n\ntype MyFunction = (...args: any[]) => any;\ntype FunctionPropertyNames<T> = { [K in keyof T]: T[K] extends MyFunction ? K : never }[keyof T];\ntype ReturnTypeOrNever<T> = T extends MyFunction ? ReturnType<T> : never;\ntype ParametersOrNever<T> = T extends MyFunction ? Parameters<T> : never;\ntype PromiseReturningFunctionPropertyNames<T> = {\n [K in FunctionPropertyNames<T>]: ReturnTypeOrNever<T[K]> extends Promise<any> ? K : never\n}[FunctionPropertyNames<T>];\ntype NonPromiseReturningFunctionPropertyNames<T> = {\n [K in FunctionPropertyNames<T>]: ReturnTypeOrNever<T[K]> extends Promise<any> ? never : K\n}[FunctionPropertyNames<T>];\ntype NonFunctionPropertyNames<T> = { [K in keyof T]: T[K] extends MyFunction ? never : K }[keyof T];\n\nexport type ɵPromiseProxy<T> = { [K in NonFunctionPropertyNames<T>]: Promise<T[K]> } &\n { [K in NonPromiseReturningFunctionPropertyNames<T>]: (...args: ParametersOrNever<T[K]>) => Promise<ReturnTypeOrNever<T[K]>> } &\n { [K in PromiseReturningFunctionPropertyNames<T>]: T[K] };\n\n// DEBUG quick debugger function for inline logging that typescript doesn't complain about\n// wrote it for debugging the ɵlazySDKProxy, commenting out for now; should consider exposing a\n// verbose mode for AngularFire in a future release that uses something like this in multiple places\n// usage: () => log('something') || returnValue\n// const log = (...args: any[]): false => { console.log(...args); return false }\n\n// The problem here are things like ngOnDestroy are missing, then triggering the service\n// rather than dig too far; I'm capturing these as I go.\nconst noopFunctions = ['ngOnDestroy'];\n\n// INVESTIGATE should we make the Proxy revokable and do some cleanup?\n// right now it's fairly simple but I'm sure this will grow in complexity\nexport const ɵlazySDKProxy = (klass: any, observable: Observable<any>, zone: NgZone, options: {\n spy?: {\n get?: ((name: string, it: any) => void),\n apply?: ((name: string, args: any[], it: any) => void)\n }\n} = {}) => {\n return new Proxy(klass, {\n get: (_, name: string) => zone.runOutsideAngular(() => {\n if (klass[name]) {\n if (options?.spy?.get) {\n options.spy.get(name, klass[name]);\n }\n return klass[name];\n }\n if (noopFunctions.indexOf(name) > -1) {\n return () => {\n };\n }\n const promise = observable.toPromise().then(mod => {\n const ret = mod && mod[name];\n // TODO move to proper type guards\n if (typeof ret === 'function') {\n return ret.bind(mod);\n } else if (ret && ret.then) {\n return ret.then((res: any) => zone.run(() => res));\n } else {\n return zone.run(() => ret);\n }\n });\n // recurse the proxy\n return new Proxy(() => {}, {\n get: (_, name) => promise[name],\n // TODO handle callbacks as transparently as I can\n apply: (self, _, args) => promise.then(it => {\n const res = it && it(...args);\n if (options?.spy?.apply) {\n options.spy.apply(name, args, res);\n }\n return res;\n })\n }\n );\n })\n });\n};\n\nexport const ɵapplyMixins = (derivedCtor: any, constructors: any[]) => {\n constructors.forEach((baseCtor) => {\n Object.getOwnPropertyNames(baseCtor.prototype || baseCtor).forEach((name) => {\n Object.defineProperty(\n derivedCtor.prototype,\n name,\n Object.getOwnPropertyDescriptor(baseCtor.prototype || baseCtor, name)\n );\n });\n });\n};\n","import firebase from 'firebase/compat/app';\n\n// tslint:disable-next-line:no-empty-interface\nexport interface FirebaseApp extends firebase.app.App {}\n\nexport class FirebaseApp {\n constructor(app: firebase.app.App) {\n return app;\n }\n}\n","import {\n InjectionToken, Inject, isDevMode, ModuleWithProviders, NgModule, NgZone, Optional, PLATFORM_ID, VERSION as NG_VERSION, Version\n} from '@angular/core';\nimport firebase from 'firebase/compat/app';\nimport { FirebaseOptions, FirebaseAppSettings } from 'firebase/app';\nimport { VERSION } from '@angular/fire';\nimport { FirebaseApp } from './firebase.app';\n\nexport const FIREBASE_OPTIONS = new InjectionToken<FirebaseOptions>('angularfire2.app.options');\nexport const FIREBASE_APP_NAME = new InjectionToken<string | undefined>('angularfire2.app.name');\n\n\nexport function ɵfirebaseAppFactory(options: FirebaseOptions, zone: NgZone, nameOrConfig?: string | FirebaseAppSettings | null) {\n const name = typeof nameOrConfig === 'string' && nameOrConfig || '[DEFAULT]';\n const config = typeof nameOrConfig === 'object' && nameOrConfig || {};\n config.name = config.name || name;\n // Added any due to some inconsistency between @firebase/app and firebase types\n const existingApp = firebase.apps.filter(app => app && app.name === config.name)[0];\n // We support FirebaseConfig, initializeApp's public type only accepts string; need to cast as any\n // Could be solved with https://github.com/firebase/firebase-js-sdk/pull/1206\n const app = (existingApp || zone.runOutsideAngular(() => firebase.initializeApp(options, config as any)));\n try {\n if (JSON.stringify(options) !== JSON.stringify(app.options)) {\n const hmr = !!(module as any).hot;\n log('error', `${app.name} Firebase App already initialized with different options${hmr ? ', you may need to reload as Firebase is not HMR aware.' : '.'}`);\n }\n } catch (e) { }\n return new FirebaseApp(app);\n}\n\nconst log = (level: 'log'|'error'|'info'|'warn', ...args: any) => {\n if (isDevMode() && typeof console !== 'undefined') {\n console[level](...args);\n }\n};\n\nconst FIREBASE_APP_PROVIDER = {\n provide: FirebaseApp,\n useFactory: ɵfirebaseAppFactory,\n deps: [\n FIREBASE_OPTIONS,\n NgZone,\n [new Optional(), FIREBASE_APP_NAME]\n ]\n};\n\n@NgModule({\n providers: [FIREBASE_APP_PROVIDER]\n})\nexport class AngularFireModule {\n static initializeApp(options: FirebaseOptions, nameOrConfig?: string | FirebaseAppSettings): ModuleWithProviders<AngularFireModule> {\n return {\n ngModule: AngularFireModule,\n providers: [\n {provide: FIREBASE_OPTIONS, useValue: options},\n {provide: FIREBASE_APP_NAME, useValue: nameOrConfig}\n ]\n };\n }\n\n // tslint:disable-next-line:ban-types\n constructor(@Inject(PLATFORM_ID) platformId: Object) {\n firebase.registerVersion('angularfire', VERSION.full, 'core');\n firebase.registerVersion('angularfire', VERSION.full, 'app-compat');\n firebase.registerVersion('angular', NG_VERSION.full, platformId.toString());\n }\n}\n","import { isDevMode } from '@angular/core';\n\nexport function ɵcacheInstance<T>(cacheKey: any, moduleName: string, appName: string, fn: () => T, deps: any): T {\n const [, instance, cachedDeps] = globalThis.ɵAngularfireInstanceCache.find((it: any) => it[0] === cacheKey) || [];\n if (instance) {\n if (!matchDep(deps, cachedDeps)) {\n log('error', `${moduleName} was already initialized on the ${appName} Firebase App with different settings.${IS_HMR ? ' You may need to reload as Firebase is not HMR aware.' : ''}`);\n log('warn', {is: deps, was: cachedDeps});\n }\n return instance;\n } else {\n const newInstance = fn();\n globalThis.ɵAngularfireInstanceCache.push([cacheKey, newInstance, deps]);\n return newInstance;\n }\n}\n\nfunction matchDep(a: any, b: any) {\n try {\n return a.toString() === b.toString();\n } catch (_) {\n return a === b;\n }\n}\n\nconst IS_HMR = !!(module as any).hot;\n\nconst log = (level: 'log'|'error'|'info'|'warn', ...args: any) => {\n if (isDevMode() && typeof console !== 'undefined') {\n console[level](...args);\n }\n};\n\nglobalThis.ɵAngularfireInstanceCache ||= [];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["InjectionToken","firebase","log","isDevMode","NgZone","Optional","VERSION","NG_VERSION","PLATFORM_ID","NgModule","Inject"],"mappings":"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"}
|
|
@@ -26,16 +26,16 @@
|
|
|
26
26
|
|
|
27
27
|
var i0__namespace = /*#__PURE__*/_interopNamespace(i0);
|
|
28
28
|
|
|
29
|
-
var VERSION = new i0.Version('7.2.0-canary.
|
|
29
|
+
var VERSION = new i0.Version('7.2.0-canary.4852c35');
|
|
30
30
|
var isAnalyticsSupportedValueSymbol = '__angularfire_symbol__analyticsIsSupportedValue';
|
|
31
31
|
var isAnalyticsSupportedPromiseSymbol = '__angularfire_symbol__analyticsIsSupported';
|
|
32
32
|
var isRemoteConfigSupportedValueSymbol = '__angularfire_symbol__remoteConfigIsSupportedValue';
|
|
33
33
|
var isRemoteConfigSupportedPromiseSymbol = '__angularfire_symbol__remoteConfigIsSupported';
|
|
34
34
|
var isMessagingSupportedValueSymbol = '__angularfire_symbol__messagingIsSupportedValue';
|
|
35
35
|
var isMessagingSupportedPromiseSymbol = '__angularfire_symbol__messagingIsSupported';
|
|
36
|
-
globalThis[isAnalyticsSupportedPromiseSymbol] || (globalThis[isAnalyticsSupportedPromiseSymbol] = analytics.isSupported().then(function (it) { return globalThis[isAnalyticsSupportedValueSymbol] = it; }));
|
|
37
|
-
globalThis[isMessagingSupportedPromiseSymbol] || (globalThis[isMessagingSupportedPromiseSymbol] = messaging.isSupported().then(function (it) { return globalThis[isMessagingSupportedValueSymbol] = it; }));
|
|
38
|
-
globalThis[isRemoteConfigSupportedPromiseSymbol] || (globalThis[isRemoteConfigSupportedPromiseSymbol] = remoteConfig.isSupported().then(function (it) { return globalThis[isRemoteConfigSupportedValueSymbol] = it; }));
|
|
36
|
+
globalThis[isAnalyticsSupportedPromiseSymbol] || (globalThis[isAnalyticsSupportedPromiseSymbol] = analytics.isSupported().then(function (it) { return globalThis[isAnalyticsSupportedValueSymbol] = it; }).catch(function () { return globalThis[isAnalyticsSupportedValueSymbol] = false; }));
|
|
37
|
+
globalThis[isMessagingSupportedPromiseSymbol] || (globalThis[isMessagingSupportedPromiseSymbol] = messaging.isSupported().then(function (it) { return globalThis[isMessagingSupportedValueSymbol] = it; }).catch(function () { return globalThis[isMessagingSupportedValueSymbol] = false; }));
|
|
38
|
+
globalThis[isRemoteConfigSupportedPromiseSymbol] || (globalThis[isRemoteConfigSupportedPromiseSymbol] = remoteConfig.isSupported().then(function (it) { return globalThis[isRemoteConfigSupportedValueSymbol] = it; }).catch(function () { return globalThis[isRemoteConfigSupportedValueSymbol] = false; }));
|
|
39
39
|
var isSupportedError = function (module) { return "The APP_INITIALIZER that is \"making\" isSupported() sync for the sake of convenient DI has not resolved in this\ncontext. Rather than injecting " + module + " in the constructor, first ensure that " + module + " is supported by calling\n`await isSupported()`, then retrieve the instance from the injector manually `injector.get(" + module + ")`."; };
|
|
40
40
|
var ɵisMessagingSupportedFactory = {
|
|
41
41
|
async: function () { return globalThis[isMessagingSupportedPromiseSymbol]; },
|
|
@@ -219,6 +219,7 @@
|
|
|
219
219
|
// function() is needed for the arguments object
|
|
220
220
|
// tslint:disable-next-line:only-arrow-functions
|
|
221
221
|
return function () {
|
|
222
|
+
var _arguments = arguments;
|
|
222
223
|
if (macrotask) {
|
|
223
224
|
setTimeout(function () {
|
|
224
225
|
if (macrotask.state === 'scheduled') {
|
|
@@ -226,7 +227,7 @@
|
|
|
226
227
|
}
|
|
227
228
|
}, 10);
|
|
228
229
|
}
|
|
229
|
-
return run(function () { return it.apply(_this,
|
|
230
|
+
return run(function () { return it.apply(_this, _arguments); });
|
|
230
231
|
};
|
|
231
232
|
};
|
|
232
233
|
var ɵzoneWrap = function (it, blockUntilFirst) {
|
|
@@ -235,18 +236,19 @@
|
|
|
235
236
|
return function () {
|
|
236
237
|
var _this_1 = this;
|
|
237
238
|
var macrotask;
|
|
239
|
+
var _arguments = arguments;
|
|
238
240
|
// if this is a callback function, e.g, onSnapshot, we should create a microtask and invoke it
|
|
239
241
|
// only once one of the callback functions is tripped.
|
|
240
242
|
for (var i = 0; i < arguments.length; i++) {
|
|
241
|
-
if (typeof
|
|
243
|
+
if (typeof _arguments[i] === 'function') {
|
|
242
244
|
if (blockUntilFirst) {
|
|
243
245
|
macrotask || (macrotask = run(function () { return Zone.current.scheduleMacroTask('firebaseZoneBlock', noop, {}, noop, noop); }));
|
|
244
246
|
}
|
|
245
247
|
// TODO create a microtask to track callback functions
|
|
246
|
-
|
|
248
|
+
_arguments[i] = zoneWrapFn(_arguments[i], macrotask);
|
|
247
249
|
}
|
|
248
250
|
}
|
|
249
|
-
var ret = runOutsideAngular(function () { return it.apply(_this_1,
|
|
251
|
+
var ret = runOutsideAngular(function () { return it.apply(_this_1, _arguments); });
|
|
250
252
|
if (!blockUntilFirst) {
|
|
251
253
|
if (ret instanceof rxjs.Observable) {
|
|
252
254
|
var schedulers = getSchedulers();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"angular-fire.umd.js","sources":["../../../src/core.ts","../../../src/zones.ts","../../../src/angular-fire.ts"],"sourcesContent":["import { Version } from '@angular/core';\nimport { FirebaseApp, getApps } from 'firebase/app';\nimport { ComponentContainer } from '@firebase/component';\nimport { isSupported as isRemoteConfigSupported } from 'firebase/remote-config';\nimport { isSupported as isMessagingSupported } from 'firebase/messaging';\nimport { isSupported as isAnalyticsSupported } from 'firebase/analytics';\n\nexport const VERSION = new Version('7.2.0-canary.390691b');\n\nconst isAnalyticsSupportedValueSymbol = '__angularfire_symbol__analyticsIsSupportedValue';\nconst isAnalyticsSupportedPromiseSymbol = '__angularfire_symbol__analyticsIsSupported';\nconst isRemoteConfigSupportedValueSymbol = '__angularfire_symbol__remoteConfigIsSupportedValue';\nconst isRemoteConfigSupportedPromiseSymbol = '__angularfire_symbol__remoteConfigIsSupported';\nconst isMessagingSupportedValueSymbol = '__angularfire_symbol__messagingIsSupportedValue';\nconst isMessagingSupportedPromiseSymbol = '__angularfire_symbol__messagingIsSupported';\n\nglobalThis[isAnalyticsSupportedPromiseSymbol] ||= isAnalyticsSupported().then(it =>\n globalThis[isAnalyticsSupportedValueSymbol] = it\n);\n\nglobalThis[isMessagingSupportedPromiseSymbol] ||= isMessagingSupported().then(it =>\n globalThis[isMessagingSupportedValueSymbol] = it\n);\n\nglobalThis[isRemoteConfigSupportedPromiseSymbol] ||= isRemoteConfigSupported().then(it =>\n globalThis[isRemoteConfigSupportedValueSymbol] = it\n);\n\nconst isSupportedError = (module: string) =>\n `The APP_INITIALIZER that is \"making\" isSupported() sync for the sake of convenient DI has not resolved in this\ncontext. Rather than injecting ${module} in the constructor, first ensure that ${module} is supported by calling\n\\`await isSupported()\\`, then retrieve the instance from the injector manually \\`injector.get(${module})\\`.`;\n\nexport const ɵisMessagingSupportedFactory = {\n async: () => globalThis[isMessagingSupportedPromiseSymbol],\n sync: () => {\n const ret = globalThis[isMessagingSupportedValueSymbol];\n if (ret === undefined) { throw new Error(isSupportedError('Messaging')); }\n return ret;\n }\n};\n\nexport const ɵisRemoteConfigSupportedFactory = {\n async: () => globalThis[isRemoteConfigSupportedPromiseSymbol],\n sync: () => {\n const ret = globalThis[isRemoteConfigSupportedValueSymbol];\n if (ret === undefined) { throw new Error(isSupportedError('RemoteConfig')); }\n return ret;\n }\n};\n\nexport const ɵisAnalyticsSupportedFactory = {\n async: () => globalThis[isAnalyticsSupportedPromiseSymbol],\n sync: () => {\n const ret = globalThis[isAnalyticsSupportedValueSymbol];\n if (ret === undefined) { throw new Error(isSupportedError('Analytics')); }\n return ret;\n }\n};\n\n// TODO is there a better way to get at the internal types?\ninterface FirebaseAppWithContainer extends FirebaseApp {\n container: ComponentContainer;\n}\n\nexport function ɵgetDefaultInstanceOf<T= unknown>(identifier: string, provided: T[]|undefined, defaultApp: FirebaseApp): T|undefined {\n if (provided) {\n // Was provide* only called once? If so grab that\n if (provided.length === 1) { return provided[0]; }\n const providedUsingDefaultApp = provided.filter((it: any) => it.app === defaultApp);\n // Was provide* only called once, using the default app? If so use that\n if (providedUsingDefaultApp.length === 1) { return providedUsingDefaultApp[0]; }\n }\n // Grab the default instance from the defaultApp\n const defaultAppWithContainer: FirebaseAppWithContainer = defaultApp as any;\n const provider = defaultAppWithContainer.container.getProvider(identifier as never);\n return provider.getImmediate({ optional: true });\n}\n\nexport const ɵgetAllInstancesOf = <T= unknown>(identifier: string, app?: FirebaseApp): Array<T> => {\n const apps = app ? [app] : getApps();\n const instances: Array<any> = [];\n apps.forEach((app: FirebaseAppWithContainer) => {\n const provider: any = app.container.getProvider(identifier as never);\n provider.instances.forEach((instance: any) => {\n if (!instances.includes(instance)) {\n instances.push(instance);\n }\n });\n });\n return instances;\n};\n","import { Injectable, NgZone } from '@angular/core';\nimport {\n asyncScheduler,\n Observable,\n Operator,\n queueScheduler,\n SchedulerAction,\n SchedulerLike,\n Subscriber,\n Subscription,\n TeardownLogic\n} from 'rxjs';\nimport { observeOn, subscribeOn, tap } from 'rxjs/operators';\n\nfunction noop() {\n}\n\n/**\n * Schedules tasks so that they are invoked inside the Zone that is passed in the constructor.\n */\n// tslint:disable-next-line:class-name\nexport class ɵZoneScheduler implements SchedulerLike {\n constructor(private zone: any, private delegate: any = queueScheduler) {\n }\n\n now() {\n return this.delegate.now();\n }\n\n schedule(work: (this: SchedulerAction<any>, state?: any) => void, delay?: number, state?: any): Subscription {\n const targetZone = this.zone;\n // Wrap the specified work function to make sure that if nested scheduling takes place the\n // work is executed in the correct zone\n const workInZone = function(this: SchedulerAction<any>, state: any) {\n targetZone.runGuarded(() => {\n work.apply(this, [state]);\n });\n };\n\n // Scheduling itself needs to be run in zone to ensure setInterval calls for async scheduling are done\n // inside the correct zone. This scheduler needs to schedule asynchronously always to ensure that\n // firebase emissions are never synchronous. Specifying a delay causes issues with the queueScheduler delegate.\n return this.delegate.schedule(workInZone, delay, state);\n }\n}\n\nclass BlockUntilFirstOperator<T> implements Operator<T, T> {\n private task: MacroTask | null = null;\n\n constructor(private zone: any) {\n }\n\n call(subscriber: Subscriber<T>, source: Observable<T>): TeardownLogic {\n const unscheduleTask = this.unscheduleTask.bind(this);\n this.task = this.zone.run(() => Zone.current.scheduleMacroTask('firebaseZoneBlock', noop, {}, noop, noop));\n\n return source.pipe(\n tap({ next: unscheduleTask, complete: unscheduleTask, error: unscheduleTask })\n ).subscribe(subscriber).add(unscheduleTask);\n }\n\n private unscheduleTask() {\n // maybe this is a race condition, invoke in a timeout\n // hold for 10ms while I try to figure out what is going on\n setTimeout(() => {\n if (this.task != null && this.task.state === 'scheduled') {\n this.task.invoke();\n this.task = null;\n }\n }, 10);\n }\n}\n\n@Injectable({\n providedIn: 'root',\n})\n// tslint:disable-next-line:class-name\nexport class ɵAngularFireSchedulers {\n public readonly outsideAngular: ɵZoneScheduler;\n public readonly insideAngular: ɵZoneScheduler;\n\n constructor(public ngZone: NgZone) {\n this.outsideAngular = ngZone.runOutsideAngular(() => new ɵZoneScheduler(Zone.current));\n this.insideAngular = ngZone.run(() => new ɵZoneScheduler(Zone.current, asyncScheduler));\n globalThis.ɵAngularFireScheduler ||= this;\n }\n}\n\nfunction getSchedulers() {\n const schedulers = globalThis.ɵAngularFireScheduler as ɵAngularFireSchedulers|undefined;\n if (!schedulers) {\n throw new Error(\n`Either AngularFireModule has not been provided in your AppModule (this can be done manually or implictly using\nprovideFirebaseApp) or you're calling an AngularFire method outside of an NgModule (which is not supported).`);\n }\n return schedulers;\n}\n\nfunction runOutsideAngular<T>(fn: (...args: any[]) => T): T {\n return getSchedulers().ngZone.runOutsideAngular(() => fn());\n}\n\nfunction run<T>(fn: (...args: any[]) => T): T {\n return getSchedulers().ngZone.run(() => fn());\n}\n\nexport function observeOutsideAngular<T>(obs$: Observable<T>): Observable<T> {\n return obs$.pipe(observeOn(getSchedulers().outsideAngular));\n}\n\nexport function observeInsideAngular<T>(obs$: Observable<T>): Observable<T> {\n return obs$.pipe(observeOn(getSchedulers().insideAngular));\n}\n\nexport function keepUnstableUntilFirst<T>(obs$: Observable<T>): Observable<T> {\n const scheduler = getSchedulers();\n return ɵkeepUnstableUntilFirstFactory(getSchedulers())(obs$);\n}\n\n/**\n * Operator to block the zone until the first value has been emitted or the observable\n * has completed/errored. This is used to make sure that universal waits until the first\n * value from firebase but doesn't block the zone forever since the firebase subscription\n * is still alive.\n */\nexport function ɵkeepUnstableUntilFirstFactory(schedulers: ɵAngularFireSchedulers) {\n return function keepUnstableUntilFirst<T>(obs$: Observable<T>): Observable<T> {\n obs$ = obs$.lift(\n new BlockUntilFirstOperator(schedulers.ngZone)\n );\n\n return obs$.pipe(\n // Run the subscribe body outside of Angular (e.g. calling Firebase SDK to add a listener to a change event)\n subscribeOn(schedulers.outsideAngular),\n // Run operators inside the angular zone (e.g. side effects via tap())\n observeOn(schedulers.insideAngular)\n // INVESTIGATE https://github.com/angular/angularfire/pull/2315\n // share()\n );\n };\n}\n\nconst zoneWrapFn = (it: (...args: any[]) => any, macrotask: MacroTask|undefined) => {\n const _this = this;\n // function() is needed for the arguments object\n // tslint:disable-next-line:only-arrow-functions\n return function() {\n if (macrotask) {\n setTimeout(() => {\n if (macrotask.state === 'scheduled') {\n macrotask.invoke();\n }\n }, 10);\n }\n return run(() => it.apply(_this, arguments));\n };\n};\n\nexport const ɵzoneWrap = <T= unknown>(it: T, blockUntilFirst: boolean): T => {\n // function() is needed for the arguments object\n // tslint:disable-next-line:only-arrow-functions\n return function() {\n let macrotask: MacroTask | undefined;\n // if this is a callback function, e.g, onSnapshot, we should create a microtask and invoke it\n // only once one of the callback functions is tripped.\n for (let i = 0; i < arguments.length; i++) {\n if (typeof arguments[i] === 'function') {\n if (blockUntilFirst) {\n macrotask ||= run(() => Zone.current.scheduleMacroTask('firebaseZoneBlock', noop, {}, noop, noop));\n }\n // TODO create a microtask to track callback functions\n arguments[i] = zoneWrapFn(arguments[i], macrotask);\n }\n }\n const ret = runOutsideAngular(() => (it as any).apply(this, arguments));\n if (!blockUntilFirst) {\n if (ret instanceof Observable) {\n const schedulers = getSchedulers();\n return ret.pipe(\n subscribeOn(schedulers.outsideAngular),\n observeOn(schedulers.insideAngular),\n );\n } else {\n return run(() => ret);\n }\n }\n if (ret instanceof Observable) {\n return ret.pipe(keepUnstableUntilFirst) as any;\n } else if (ret instanceof Promise) {\n return run(() => new Promise((resolve, reject) => ret.then(it => run(() => resolve(it)), reason => run(() => reject(reason)))));\n } else if (typeof ret === 'function' && macrotask) {\n // Handle unsubscribe\n // function() is needed for the arguments object\n // tslint:disable-next-line:only-arrow-functions\n return function() {\n setTimeout(() => {\n if (macrotask && macrotask.state === 'scheduled') {\n macrotask.invoke();\n }\n }, 10);\n return ret.apply(this, arguments);\n };\n } else {\n // TODO how do we handle storage uploads in Zone? and other stuff with cancel() etc?\n return run(() => ret);\n }\n } as any;\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["Version","isAnalyticsSupported","isMessagingSupported","isRemoteConfigSupported","app","getApps","tap","asyncScheduler","Injectable","observeOn","subscribeOn","Observable"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"angular-fire.umd.js","sources":["../../../src/core.ts","../../../src/zones.ts","../../../src/angular-fire.ts"],"sourcesContent":["import { Version } from '@angular/core';\nimport { FirebaseApp, getApps } from 'firebase/app';\nimport { ComponentContainer } from '@firebase/component';\nimport { isSupported as isRemoteConfigSupported } from 'firebase/remote-config';\nimport { isSupported as isMessagingSupported } from 'firebase/messaging';\nimport { isSupported as isAnalyticsSupported } from 'firebase/analytics';\n\nexport const VERSION = new Version('7.2.0-canary.4852c35');\n\nconst isAnalyticsSupportedValueSymbol = '__angularfire_symbol__analyticsIsSupportedValue';\nconst isAnalyticsSupportedPromiseSymbol = '__angularfire_symbol__analyticsIsSupported';\nconst isRemoteConfigSupportedValueSymbol = '__angularfire_symbol__remoteConfigIsSupportedValue';\nconst isRemoteConfigSupportedPromiseSymbol = '__angularfire_symbol__remoteConfigIsSupported';\nconst isMessagingSupportedValueSymbol = '__angularfire_symbol__messagingIsSupportedValue';\nconst isMessagingSupportedPromiseSymbol = '__angularfire_symbol__messagingIsSupported';\n\nglobalThis[isAnalyticsSupportedPromiseSymbol] ||= isAnalyticsSupported().then(it =>\n globalThis[isAnalyticsSupportedValueSymbol] = it\n).catch(() =>\n globalThis[isAnalyticsSupportedValueSymbol] = false\n);\n\nglobalThis[isMessagingSupportedPromiseSymbol] ||= isMessagingSupported().then(it =>\n globalThis[isMessagingSupportedValueSymbol] = it\n).catch(() =>\n globalThis[isMessagingSupportedValueSymbol] = false\n);\n\nglobalThis[isRemoteConfigSupportedPromiseSymbol] ||= isRemoteConfigSupported().then(it =>\n globalThis[isRemoteConfigSupportedValueSymbol] = it\n).catch(() =>\n globalThis[isRemoteConfigSupportedValueSymbol] = false\n);\n\nconst isSupportedError = (module: string) =>\n `The APP_INITIALIZER that is \"making\" isSupported() sync for the sake of convenient DI has not resolved in this\ncontext. Rather than injecting ${module} in the constructor, first ensure that ${module} is supported by calling\n\\`await isSupported()\\`, then retrieve the instance from the injector manually \\`injector.get(${module})\\`.`;\n\nexport const ɵisMessagingSupportedFactory = {\n async: () => globalThis[isMessagingSupportedPromiseSymbol],\n sync: () => {\n const ret = globalThis[isMessagingSupportedValueSymbol];\n if (ret === undefined) { throw new Error(isSupportedError('Messaging')); }\n return ret;\n }\n};\n\nexport const ɵisRemoteConfigSupportedFactory = {\n async: () => globalThis[isRemoteConfigSupportedPromiseSymbol],\n sync: () => {\n const ret = globalThis[isRemoteConfigSupportedValueSymbol];\n if (ret === undefined) { throw new Error(isSupportedError('RemoteConfig')); }\n return ret;\n }\n};\n\nexport const ɵisAnalyticsSupportedFactory = {\n async: () => globalThis[isAnalyticsSupportedPromiseSymbol],\n sync: () => {\n const ret = globalThis[isAnalyticsSupportedValueSymbol];\n if (ret === undefined) { throw new Error(isSupportedError('Analytics')); }\n return ret;\n }\n};\n\n// TODO is there a better way to get at the internal types?\ninterface FirebaseAppWithContainer extends FirebaseApp {\n container: ComponentContainer;\n}\n\nexport function ɵgetDefaultInstanceOf<T= unknown>(identifier: string, provided: T[]|undefined, defaultApp: FirebaseApp): T|undefined {\n if (provided) {\n // Was provide* only called once? If so grab that\n if (provided.length === 1) { return provided[0]; }\n const providedUsingDefaultApp = provided.filter((it: any) => it.app === defaultApp);\n // Was provide* only called once, using the default app? If so use that\n if (providedUsingDefaultApp.length === 1) { return providedUsingDefaultApp[0]; }\n }\n // Grab the default instance from the defaultApp\n const defaultAppWithContainer: FirebaseAppWithContainer = defaultApp as any;\n const provider = defaultAppWithContainer.container.getProvider(identifier as never);\n return provider.getImmediate({ optional: true });\n}\n\nexport const ɵgetAllInstancesOf = <T= unknown>(identifier: string, app?: FirebaseApp): Array<T> => {\n const apps = app ? [app] : getApps();\n const instances: Array<any> = [];\n apps.forEach((app: FirebaseAppWithContainer) => {\n const provider: any = app.container.getProvider(identifier as never);\n provider.instances.forEach((instance: any) => {\n if (!instances.includes(instance)) {\n instances.push(instance);\n }\n });\n });\n return instances;\n};\n","import { Injectable, NgZone } from '@angular/core';\nimport {\n asyncScheduler,\n Observable,\n Operator,\n queueScheduler,\n SchedulerAction,\n SchedulerLike,\n Subscriber,\n Subscription,\n TeardownLogic\n} from 'rxjs';\nimport { observeOn, subscribeOn, tap } from 'rxjs/operators';\n\nfunction noop() {\n}\n\n/**\n * Schedules tasks so that they are invoked inside the Zone that is passed in the constructor.\n */\n// tslint:disable-next-line:class-name\nexport class ɵZoneScheduler implements SchedulerLike {\n constructor(private zone: any, private delegate: any = queueScheduler) {\n }\n\n now() {\n return this.delegate.now();\n }\n\n schedule(work: (this: SchedulerAction<any>, state?: any) => void, delay?: number, state?: any): Subscription {\n const targetZone = this.zone;\n // Wrap the specified work function to make sure that if nested scheduling takes place the\n // work is executed in the correct zone\n const workInZone = function(this: SchedulerAction<any>, state: any) {\n targetZone.runGuarded(() => {\n work.apply(this, [state]);\n });\n };\n\n // Scheduling itself needs to be run in zone to ensure setInterval calls for async scheduling are done\n // inside the correct zone. This scheduler needs to schedule asynchronously always to ensure that\n // firebase emissions are never synchronous. Specifying a delay causes issues with the queueScheduler delegate.\n return this.delegate.schedule(workInZone, delay, state);\n }\n}\n\nclass BlockUntilFirstOperator<T> implements Operator<T, T> {\n private task: MacroTask | null = null;\n\n constructor(private zone: any) {\n }\n\n call(subscriber: Subscriber<T>, source: Observable<T>): TeardownLogic {\n const unscheduleTask = this.unscheduleTask.bind(this);\n this.task = this.zone.run(() => Zone.current.scheduleMacroTask('firebaseZoneBlock', noop, {}, noop, noop));\n\n return source.pipe(\n tap({ next: unscheduleTask, complete: unscheduleTask, error: unscheduleTask })\n ).subscribe(subscriber).add(unscheduleTask);\n }\n\n private unscheduleTask() {\n // maybe this is a race condition, invoke in a timeout\n // hold for 10ms while I try to figure out what is going on\n setTimeout(() => {\n if (this.task != null && this.task.state === 'scheduled') {\n this.task.invoke();\n this.task = null;\n }\n }, 10);\n }\n}\n\n@Injectable({\n providedIn: 'root',\n})\n// tslint:disable-next-line:class-name\nexport class ɵAngularFireSchedulers {\n public readonly outsideAngular: ɵZoneScheduler;\n public readonly insideAngular: ɵZoneScheduler;\n\n constructor(public ngZone: NgZone) {\n this.outsideAngular = ngZone.runOutsideAngular(() => new ɵZoneScheduler(Zone.current));\n this.insideAngular = ngZone.run(() => new ɵZoneScheduler(Zone.current, asyncScheduler));\n globalThis.ɵAngularFireScheduler ||= this;\n }\n}\n\nfunction getSchedulers() {\n const schedulers = globalThis.ɵAngularFireScheduler as ɵAngularFireSchedulers|undefined;\n if (!schedulers) {\n throw new Error(\n`Either AngularFireModule has not been provided in your AppModule (this can be done manually or implictly using\nprovideFirebaseApp) or you're calling an AngularFire method outside of an NgModule (which is not supported).`);\n }\n return schedulers;\n}\n\nfunction runOutsideAngular<T>(fn: (...args: any[]) => T): T {\n return getSchedulers().ngZone.runOutsideAngular(() => fn());\n}\n\nfunction run<T>(fn: (...args: any[]) => T): T {\n return getSchedulers().ngZone.run(() => fn());\n}\n\nexport function observeOutsideAngular<T>(obs$: Observable<T>): Observable<T> {\n return obs$.pipe(observeOn(getSchedulers().outsideAngular));\n}\n\nexport function observeInsideAngular<T>(obs$: Observable<T>): Observable<T> {\n return obs$.pipe(observeOn(getSchedulers().insideAngular));\n}\n\nexport function keepUnstableUntilFirst<T>(obs$: Observable<T>): Observable<T> {\n const scheduler = getSchedulers();\n return ɵkeepUnstableUntilFirstFactory(getSchedulers())(obs$);\n}\n\n/**\n * Operator to block the zone until the first value has been emitted or the observable\n * has completed/errored. This is used to make sure that universal waits until the first\n * value from firebase but doesn't block the zone forever since the firebase subscription\n * is still alive.\n */\nexport function ɵkeepUnstableUntilFirstFactory(schedulers: ɵAngularFireSchedulers) {\n return function keepUnstableUntilFirst<T>(obs$: Observable<T>): Observable<T> {\n obs$ = obs$.lift(\n new BlockUntilFirstOperator(schedulers.ngZone)\n );\n\n return obs$.pipe(\n // Run the subscribe body outside of Angular (e.g. calling Firebase SDK to add a listener to a change event)\n subscribeOn(schedulers.outsideAngular),\n // Run operators inside the angular zone (e.g. side effects via tap())\n observeOn(schedulers.insideAngular)\n // INVESTIGATE https://github.com/angular/angularfire/pull/2315\n // share()\n );\n };\n}\n\nconst zoneWrapFn = (it: (...args: any[]) => any, macrotask: MacroTask|undefined) => {\n const _this = this;\n // function() is needed for the arguments object\n // tslint:disable-next-line:only-arrow-functions\n return function() {\n const _arguments = arguments;\n if (macrotask) {\n setTimeout(() => {\n if (macrotask.state === 'scheduled') {\n macrotask.invoke();\n }\n }, 10);\n }\n return run(() => it.apply(_this, _arguments));\n };\n};\n\nexport const ɵzoneWrap = <T= unknown>(it: T, blockUntilFirst: boolean): T => {\n // function() is needed for the arguments object\n // tslint:disable-next-line:only-arrow-functions\n return function() {\n let macrotask: MacroTask | undefined;\n const _arguments = arguments;\n // if this is a callback function, e.g, onSnapshot, we should create a microtask and invoke it\n // only once one of the callback functions is tripped.\n for (let i = 0; i < arguments.length; i++) {\n if (typeof _arguments[i] === 'function') {\n if (blockUntilFirst) {\n macrotask ||= run(() => Zone.current.scheduleMacroTask('firebaseZoneBlock', noop, {}, noop, noop));\n }\n // TODO create a microtask to track callback functions\n _arguments[i] = zoneWrapFn(_arguments[i], macrotask);\n }\n }\n const ret = runOutsideAngular(() => (it as any).apply(this, _arguments));\n if (!blockUntilFirst) {\n if (ret instanceof Observable) {\n const schedulers = getSchedulers();\n return ret.pipe(\n subscribeOn(schedulers.outsideAngular),\n observeOn(schedulers.insideAngular),\n );\n } else {\n return run(() => ret);\n }\n }\n if (ret instanceof Observable) {\n return ret.pipe(keepUnstableUntilFirst) as any;\n } else if (ret instanceof Promise) {\n return run(() => new Promise((resolve, reject) => ret.then(it => run(() => resolve(it)), reason => run(() => reject(reason)))));\n } else if (typeof ret === 'function' && macrotask) {\n // Handle unsubscribe\n // function() is needed for the arguments object\n // tslint:disable-next-line:only-arrow-functions\n return function() {\n setTimeout(() => {\n if (macrotask && macrotask.state === 'scheduled') {\n macrotask.invoke();\n }\n }, 10);\n return ret.apply(this, arguments);\n };\n } else {\n // TODO how do we handle storage uploads in Zone? and other stuff with cancel() etc?\n return run(() => ret);\n }\n } as any;\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["Version","isAnalyticsSupported","isMessagingSupported","isRemoteConfigSupported","app","getApps","tap","asyncScheduler","Injectable","observeOn","subscribeOn","Observable"],"mappings":"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"}
|
package/compat/proxy.d.ts
CHANGED
|
@@ -1,23 +1,26 @@
|
|
|
1
1
|
import { NgZone } from '@angular/core';
|
|
2
2
|
import { Observable } from 'rxjs';
|
|
3
|
+
declare type MyFunction = (...args: any[]) => any;
|
|
3
4
|
declare type FunctionPropertyNames<T> = {
|
|
4
|
-
[K in keyof T]: T[K] extends
|
|
5
|
+
[K in keyof T]: T[K] extends MyFunction ? K : never;
|
|
5
6
|
}[keyof T];
|
|
7
|
+
declare type ReturnTypeOrNever<T> = T extends MyFunction ? ReturnType<T> : never;
|
|
8
|
+
declare type ParametersOrNever<T> = T extends MyFunction ? Parameters<T> : never;
|
|
6
9
|
declare type PromiseReturningFunctionPropertyNames<T> = {
|
|
7
|
-
[K in FunctionPropertyNames<T>]:
|
|
10
|
+
[K in FunctionPropertyNames<T>]: ReturnTypeOrNever<T[K]> extends Promise<any> ? K : never;
|
|
8
11
|
}[FunctionPropertyNames<T>];
|
|
9
12
|
declare type NonPromiseReturningFunctionPropertyNames<T> = {
|
|
10
|
-
[K in FunctionPropertyNames<T>]:
|
|
13
|
+
[K in FunctionPropertyNames<T>]: ReturnTypeOrNever<T[K]> extends Promise<any> ? never : K;
|
|
11
14
|
}[FunctionPropertyNames<T>];
|
|
12
15
|
declare type NonFunctionPropertyNames<T> = {
|
|
13
|
-
[K in keyof T]: T[K] extends
|
|
16
|
+
[K in keyof T]: T[K] extends MyFunction ? never : K;
|
|
14
17
|
}[keyof T];
|
|
15
18
|
export declare type ɵPromiseProxy<T> = {
|
|
16
19
|
[K in NonFunctionPropertyNames<T>]: Promise<T[K]>;
|
|
17
20
|
} & {
|
|
18
|
-
[K in NonPromiseReturningFunctionPropertyNames<T>]: (...args:
|
|
21
|
+
[K in NonPromiseReturningFunctionPropertyNames<T>]: (...args: ParametersOrNever<T[K]>) => Promise<ReturnTypeOrNever<T[K]>>;
|
|
19
22
|
} & {
|
|
20
|
-
[K in PromiseReturningFunctionPropertyNames<T>]:
|
|
23
|
+
[K in PromiseReturningFunctionPropertyNames<T>]: T[K];
|
|
21
24
|
};
|
|
22
25
|
export declare const ɵlazySDKProxy: (klass: any, observable: Observable<any>, zone: NgZone, options?: {
|
|
23
26
|
spy?: {
|
|
@@ -51,7 +51,7 @@ like app verification mode for phone authentication, which is useful for
|
|
|
51
51
|
[testing](https://cloud.google.com/identity-platform/docs/test-phone-numbers).
|
|
52
52
|
|
|
53
53
|
```ts
|
|
54
|
-
import { SETTINGS as AUTH_SETTINGS } from '@angular/fire/auth';
|
|
54
|
+
import { SETTINGS as AUTH_SETTINGS } from '@angular/fire/compat/auth';
|
|
55
55
|
|
|
56
56
|
@NgModule({
|
|
57
57
|
// ... Existing configuration
|
|
@@ -73,7 +73,7 @@ preference. This allows to localize emails but be aware that this only applies
|
|
|
73
73
|
if you use the standard template provided by Firebase.
|
|
74
74
|
|
|
75
75
|
```ts
|
|
76
|
-
import { USE_DEVICE_LANGUAGE } from '@angular/fire/auth';
|
|
76
|
+
import { USE_DEVICE_LANGUAGE } from '@angular/fire/compat/auth';
|
|
77
77
|
|
|
78
78
|
@NgModule({
|
|
79
79
|
// ... Existing configuration
|
|
@@ -91,7 +91,7 @@ If you want to set a different language, you can use `LANGUAGE_CODE` DI Token
|
|
|
91
91
|
More info at the [firebase auth docs](https://firebase.google.com/docs/reference/js/firebase.auth.Auth#languagecode).
|
|
92
92
|
|
|
93
93
|
```ts
|
|
94
|
-
import { LANGUAGE_CODE } from '@angular/fire/auth';
|
|
94
|
+
import { LANGUAGE_CODE } from '@angular/fire/compat/auth';
|
|
95
95
|
|
|
96
96
|
@NgModule({
|
|
97
97
|
// ... Existing configuration
|
|
@@ -115,7 +115,7 @@ The possible types are `'local'`, `'session'` or `'none'`. Read more at
|
|
|
115
115
|
[authentication state persistence](https://firebase.google.com/docs/auth/web/auth-state-persistence),
|
|
116
116
|
|
|
117
117
|
```ts
|
|
118
|
-
import { PERSISTENCE } from '@angular/fire/auth';
|
|
118
|
+
import { PERSISTENCE } from '@angular/fire/compat/auth';
|
|
119
119
|
|
|
120
120
|
@NgModule({
|
|
121
121
|
// ... Existing configuration
|
|
@@ -135,7 +135,7 @@ ID using `TENANT_ID` DI Token (*default: null*).
|
|
|
135
135
|
More tutorials regarding this topic are _coming soon_.
|
|
136
136
|
|
|
137
137
|
```ts
|
|
138
|
-
import { TENANT_ID } from '@angular/fire/auth';
|
|
138
|
+
import { TENANT_ID } from '@angular/fire/compat/auth';
|
|
139
139
|
|
|
140
140
|
@NgModule({
|
|
141
141
|
// ... Existing configuration
|
package/esm2015/compat/proxy.js
CHANGED
|
@@ -58,4 +58,4 @@ export const ɵapplyMixins = (derivedCtor, constructors) => {
|
|
|
58
58
|
});
|
|
59
59
|
});
|
|
60
60
|
};
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJveHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcGF0L3Byb3h5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW1CQSwwRkFBMEY7QUFDMUYscUdBQXFHO0FBQ3JHLDBHQUEwRztBQUMxRyxxREFBcUQ7QUFDckQsZ0ZBQWdGO0FBRWhGLHdGQUF3RjtBQUN4Rix3REFBd0Q7QUFDeEQsTUFBTSxhQUFhLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQztBQUV0QyxzRUFBc0U7QUFDdEUscUZBQXFGO0FBQ3JGLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxDQUFDLEtBQVUsRUFBRSxVQUEyQixFQUFFLElBQVksRUFBRSxVQUtqRixFQUFFLEVBQUUsRUFBRTtJQUNSLE9BQU8sSUFBSSxLQUFLLENBQUMsS0FBSyxFQUFFO1FBQ3RCLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFZLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUU7O1lBQ3BELElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUNmLElBQUksTUFBQSxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsR0FBRywwQ0FBRSxHQUFHLEVBQUU7b0JBQ3JCLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztpQkFDcEM7Z0JBQ0QsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDcEI7WUFDRCxJQUFJLGFBQWEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUU7Z0JBQ3BDLE9BQU8sR0FBRyxFQUFFO2dCQUNaLENBQUMsQ0FBQzthQUNIO1lBQ0QsTUFBTSxPQUFPLEdBQUcsVUFBVSxDQUFDLFNBQVMsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDaEQsTUFBTSxHQUFHLEdBQUcsR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDN0Isa0NBQWtDO2dCQUNsQyxJQUFJLE9BQU8sR0FBRyxLQUFLLFVBQVUsRUFBRTtvQkFDN0IsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2lCQUN0QjtxQkFBTSxJQUFJLEdBQUcsSUFBSSxHQUFHLENBQUMsSUFBSSxFQUFFO29CQUMxQixPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztpQkFDcEQ7cUJBQU07b0JBQ0wsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2lCQUM1QjtZQUNILENBQUMsQ0FBQyxDQUFDO1lBQ0gsb0JBQW9CO1lBQ3BCLE9BQU8sSUFBSSxLQUFLLENBQUMsR0FBRyxFQUFFLEdBQUUsQ0FBQyxFQUFFO2dCQUN2QixHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO2dCQUMvQixrREFBa0Q7Z0JBQ2xELEtBQUssRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFOztvQkFDMUMsTUFBTSxHQUFHLEdBQUcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO29CQUM5QixJQUFJLE1BQUEsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLEdBQUcsMENBQUUsS0FBSyxFQUFFO3dCQUN2QixPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO3FCQUNwQztvQkFDRCxPQUFPLEdBQUcsQ0FBQztnQkFDYixDQUFDLENBQUM7YUFDSCxDQUNGLENBQUM7UUFDSixDQUFDLENBQUM7S0FDSCxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxXQUFnQixFQUFFLFlBQW1CLEVBQUUsRUFBRTtJQUNwRSxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7UUFDaEMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxTQUFTLElBQUksUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDMUUsTUFBTSxDQUFDLGNBQWMsQ0FDbkIsV0FBVyxDQUFDLFNBQVMsRUFDckIsSUFBSSxFQUNKLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLENBQUMsU0FBUyxJQUFJLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FDdEUsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxudHlwZSBNeUZ1bmN0aW9uID0gKC4uLmFyZ3M6IGFueVtdKSA9PiBhbnk7XG50eXBlIEZ1bmN0aW9uUHJvcGVydHlOYW1lczxUPiA9IHsgW0sgaW4ga2V5b2YgVF06IFRbS10gZXh0ZW5kcyBNeUZ1bmN0aW9uID8gSyA6IG5ldmVyIH1ba2V5b2YgVF07XG50eXBlIFJldHVyblR5cGVPck5ldmVyPFQ+ID0gVCBleHRlbmRzIE15RnVuY3Rpb24gPyBSZXR1cm5UeXBlPFQ+IDogbmV2ZXI7XG50eXBlIFBhcmFtZXRlcnNPck5ldmVyPFQ+ID0gVCBleHRlbmRzIE15RnVuY3Rpb24gPyBQYXJhbWV0ZXJzPFQ+IDogbmV2ZXI7XG50eXBlIFByb21pc2VSZXR1cm5pbmdGdW5jdGlvblByb3BlcnR5TmFtZXM8VD4gPSB7XG4gIFtLIGluIEZ1bmN0aW9uUHJvcGVydHlOYW1lczxUPl06IFJldHVyblR5cGVPck5ldmVyPFRbS10+IGV4dGVuZHMgUHJvbWlzZTxhbnk+ID8gSyA6IG5ldmVyXG59W0Z1bmN0aW9uUHJvcGVydHlOYW1lczxUPl07XG50eXBlIE5vblByb21pc2VSZXR1cm5pbmdGdW5jdGlvblByb3BlcnR5TmFtZXM8VD4gPSB7XG4gIFtLIGluIEZ1bmN0aW9uUHJvcGVydHlOYW1lczxUPl06IFJldHVyblR5cGVPck5ldmVyPFRbS10+IGV4dGVuZHMgUHJvbWlzZTxhbnk+ID8gbmV2ZXIgOiBLXG59W0Z1bmN0aW9uUHJvcGVydHlOYW1lczxUPl07XG50eXBlIE5vbkZ1bmN0aW9uUHJvcGVydHlOYW1lczxUPiA9IHsgW0sgaW4ga2V5b2YgVF06IFRbS10gZXh0ZW5kcyBNeUZ1bmN0aW9uID8gbmV2ZXIgOiBLIH1ba2V5b2YgVF07XG5cbmV4cG9ydCB0eXBlIMm1UHJvbWlzZVByb3h5PFQ+ID0geyBbSyBpbiBOb25GdW5jdGlvblByb3BlcnR5TmFtZXM8VD5dOiBQcm9taXNlPFRbS10+IH0gJlxuICB7IFtLIGluIE5vblByb21pc2VSZXR1cm5pbmdGdW5jdGlvblByb3BlcnR5TmFtZXM8VD5dOiAoLi4uYXJnczogUGFyYW1ldGVyc09yTmV2ZXI8VFtLXT4pID0+IFByb21pc2U8UmV0dXJuVHlwZU9yTmV2ZXI8VFtLXT4+IH0gJlxuICB7IFtLIGluIFByb21pc2VSZXR1cm5pbmdGdW5jdGlvblByb3BlcnR5TmFtZXM8VD5dOiBUW0tdIH07XG5cbi8vIERFQlVHIHF1aWNrIGRlYnVnZ2VyIGZ1bmN0aW9uIGZvciBpbmxpbmUgbG9nZ2luZyB0aGF0IHR5cGVzY3JpcHQgZG9lc24ndCBjb21wbGFpbiBhYm91dFxuLy8gICAgICAgd3JvdGUgaXQgZm9yIGRlYnVnZ2luZyB0aGUgybVsYXp5U0RLUHJveHksIGNvbW1lbnRpbmcgb3V0IGZvciBub3c7IHNob3VsZCBjb25zaWRlciBleHBvc2luZyBhXG4vLyAgICAgICB2ZXJib3NlIG1vZGUgZm9yIEFuZ3VsYXJGaXJlIGluIGEgZnV0dXJlIHJlbGVhc2UgdGhhdCB1c2VzIHNvbWV0aGluZyBsaWtlIHRoaXMgaW4gbXVsdGlwbGUgcGxhY2VzXG4vLyAgICAgICB1c2FnZTogKCkgPT4gbG9nKCdzb21ldGhpbmcnKSB8fCByZXR1cm5WYWx1ZVxuLy8gY29uc3QgbG9nID0gKC4uLmFyZ3M6IGFueVtdKTogZmFsc2UgPT4geyBjb25zb2xlLmxvZyguLi5hcmdzKTsgcmV0dXJuIGZhbHNlIH1cblxuLy8gVGhlIHByb2JsZW0gaGVyZSBhcmUgdGhpbmdzIGxpa2UgbmdPbkRlc3Ryb3kgYXJlIG1pc3NpbmcsIHRoZW4gdHJpZ2dlcmluZyB0aGUgc2VydmljZVxuLy8gcmF0aGVyIHRoYW4gZGlnIHRvbyBmYXI7IEknbSBjYXB0dXJpbmcgdGhlc2UgYXMgSSBnby5cbmNvbnN0IG5vb3BGdW5jdGlvbnMgPSBbJ25nT25EZXN0cm95J107XG5cbi8vIElOVkVTVElHQVRFIHNob3VsZCB3ZSBtYWtlIHRoZSBQcm94eSByZXZva2FibGUgYW5kIGRvIHNvbWUgY2xlYW51cD9cbi8vICAgICAgICAgICAgIHJpZ2h0IG5vdyBpdCdzIGZhaXJseSBzaW1wbGUgYnV0IEknbSBzdXJlIHRoaXMgd2lsbCBncm93IGluIGNvbXBsZXhpdHlcbmV4cG9ydCBjb25zdCDJtWxhenlTREtQcm94eSA9IChrbGFzczogYW55LCBvYnNlcnZhYmxlOiBPYnNlcnZhYmxlPGFueT4sIHpvbmU6IE5nWm9uZSwgb3B0aW9uczoge1xuICBzcHk/OiB7XG4gICAgZ2V0PzogKChuYW1lOiBzdHJpbmcsIGl0OiBhbnkpID0+IHZvaWQpLFxuICAgIGFwcGx5PzogKChuYW1lOiBzdHJpbmcsIGFyZ3M6IGFueVtdLCBpdDogYW55KSA9PiB2b2lkKVxuICB9XG59ID0ge30pID0+IHtcbiAgcmV0dXJuIG5ldyBQcm94eShrbGFzcywge1xuICAgIGdldDogKF8sIG5hbWU6IHN0cmluZykgPT4gem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICBpZiAoa2xhc3NbbmFtZV0pIHtcbiAgICAgICAgaWYgKG9wdGlvbnM/LnNweT8uZ2V0KSB7XG4gICAgICAgICAgb3B0aW9ucy5zcHkuZ2V0KG5hbWUsIGtsYXNzW25hbWVdKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ga2xhc3NbbmFtZV07XG4gICAgICB9XG4gICAgICBpZiAobm9vcEZ1bmN0aW9ucy5pbmRleE9mKG5hbWUpID4gLTEpIHtcbiAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHByb21pc2UgPSBvYnNlcnZhYmxlLnRvUHJvbWlzZSgpLnRoZW4obW9kID0+IHtcbiAgICAgICAgY29uc3QgcmV0ID0gbW9kICYmIG1vZFtuYW1lXTtcbiAgICAgICAgLy8gVE9ETyBtb3ZlIHRvIHByb3BlciB0eXBlIGd1YXJkc1xuICAgICAgICBpZiAodHlwZW9mIHJldCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgIHJldHVybiByZXQuYmluZChtb2QpO1xuICAgICAgICB9IGVsc2UgaWYgKHJldCAmJiByZXQudGhlbikge1xuICAgICAgICAgIHJldHVybiByZXQudGhlbigocmVzOiBhbnkpID0+IHpvbmUucnVuKCgpID0+IHJlcykpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiB6b25lLnJ1bigoKSA9PiByZXQpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIC8vIHJlY3Vyc2UgdGhlIHByb3h5XG4gICAgICByZXR1cm4gbmV3IFByb3h5KCgpID0+IHt9LCB7XG4gICAgICAgICAgZ2V0OiAoXywgbmFtZSkgPT4gcHJvbWlzZVtuYW1lXSxcbiAgICAgICAgICAvLyBUT0RPIGhhbmRsZSBjYWxsYmFja3MgYXMgdHJhbnNwYXJlbnRseSBhcyBJIGNhblxuICAgICAgICAgIGFwcGx5OiAoc2VsZiwgXywgYXJncykgPT4gcHJvbWlzZS50aGVuKGl0ID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHJlcyA9IGl0ICYmIGl0KC4uLmFyZ3MpO1xuICAgICAgICAgICAgaWYgKG9wdGlvbnM/LnNweT8uYXBwbHkpIHtcbiAgICAgICAgICAgICAgb3B0aW9ucy5zcHkuYXBwbHkobmFtZSwgYXJncywgcmVzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiByZXM7XG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9KVxuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCDJtWFwcGx5TWl4aW5zID0gKGRlcml2ZWRDdG9yOiBhbnksIGNvbnN0cnVjdG9yczogYW55W10pID0+IHtcbiAgY29uc3RydWN0b3JzLmZvckVhY2goKGJhc2VDdG9yKSA9PiB7XG4gICAgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoYmFzZUN0b3IucHJvdG90eXBlIHx8IGJhc2VDdG9yKS5mb3JFYWNoKChuYW1lKSA9PiB7XG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoXG4gICAgICAgIGRlcml2ZWRDdG9yLnByb3RvdHlwZSxcbiAgICAgICAgbmFtZSxcbiAgICAgICAgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihiYXNlQ3Rvci5wcm90b3R5cGUgfHwgYmFzZUN0b3IsIG5hbWUpXG4gICAgICApO1xuICAgIH0pO1xuICB9KTtcbn07XG4iXX0=
|
package/esm2015/core.js
CHANGED
|
@@ -3,16 +3,16 @@ import { getApps } from 'firebase/app';
|
|
|
3
3
|
import { isSupported as isRemoteConfigSupported } from 'firebase/remote-config';
|
|
4
4
|
import { isSupported as isMessagingSupported } from 'firebase/messaging';
|
|
5
5
|
import { isSupported as isAnalyticsSupported } from 'firebase/analytics';
|
|
6
|
-
export const VERSION = new Version('7.2.0-canary.
|
|
6
|
+
export const VERSION = new Version('7.2.0-canary.4852c35');
|
|
7
7
|
const isAnalyticsSupportedValueSymbol = '__angularfire_symbol__analyticsIsSupportedValue';
|
|
8
8
|
const isAnalyticsSupportedPromiseSymbol = '__angularfire_symbol__analyticsIsSupported';
|
|
9
9
|
const isRemoteConfigSupportedValueSymbol = '__angularfire_symbol__remoteConfigIsSupportedValue';
|
|
10
10
|
const isRemoteConfigSupportedPromiseSymbol = '__angularfire_symbol__remoteConfigIsSupported';
|
|
11
11
|
const isMessagingSupportedValueSymbol = '__angularfire_symbol__messagingIsSupportedValue';
|
|
12
12
|
const isMessagingSupportedPromiseSymbol = '__angularfire_symbol__messagingIsSupported';
|
|
13
|
-
globalThis[isAnalyticsSupportedPromiseSymbol] || (globalThis[isAnalyticsSupportedPromiseSymbol] = isAnalyticsSupported().then(it => globalThis[isAnalyticsSupportedValueSymbol] = it));
|
|
14
|
-
globalThis[isMessagingSupportedPromiseSymbol] || (globalThis[isMessagingSupportedPromiseSymbol] = isMessagingSupported().then(it => globalThis[isMessagingSupportedValueSymbol] = it));
|
|
15
|
-
globalThis[isRemoteConfigSupportedPromiseSymbol] || (globalThis[isRemoteConfigSupportedPromiseSymbol] = isRemoteConfigSupported().then(it => globalThis[isRemoteConfigSupportedValueSymbol] = it));
|
|
13
|
+
globalThis[isAnalyticsSupportedPromiseSymbol] || (globalThis[isAnalyticsSupportedPromiseSymbol] = isAnalyticsSupported().then(it => globalThis[isAnalyticsSupportedValueSymbol] = it).catch(() => globalThis[isAnalyticsSupportedValueSymbol] = false));
|
|
14
|
+
globalThis[isMessagingSupportedPromiseSymbol] || (globalThis[isMessagingSupportedPromiseSymbol] = isMessagingSupported().then(it => globalThis[isMessagingSupportedValueSymbol] = it).catch(() => globalThis[isMessagingSupportedValueSymbol] = false));
|
|
15
|
+
globalThis[isRemoteConfigSupportedPromiseSymbol] || (globalThis[isRemoteConfigSupportedPromiseSymbol] = isRemoteConfigSupported().then(it => globalThis[isRemoteConfigSupportedValueSymbol] = it).catch(() => globalThis[isRemoteConfigSupportedValueSymbol] = false));
|
|
16
16
|
const isSupportedError = (module) => `The APP_INITIALIZER that is "making" isSupported() sync for the sake of convenient DI has not resolved in this
|
|
17
17
|
context. Rather than injecting ${module} in the constructor, first ensure that ${module} is supported by calling
|
|
18
18
|
\`await isSupported()\`, then retrieve the instance from the injector manually \`injector.get(${module})\`.`;
|
|
@@ -76,4 +76,4 @@ export const ɵgetAllInstancesOf = (identifier, app) => {
|
|
|
76
76
|
});
|
|
77
77
|
return instances;
|
|
78
78
|
};
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEMsT0FBTyxFQUFlLE9BQU8sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUVwRCxPQUFPLEVBQUUsV0FBVyxJQUFJLHVCQUF1QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDaEYsT0FBTyxFQUFFLFdBQVcsSUFBSSxvQkFBb0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxXQUFXLElBQUksb0JBQW9CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV6RSxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsSUFBSSxPQUFPLENBQUMsc0JBQXNCLENBQUMsQ0FBQztBQUUzRCxNQUFNLCtCQUErQixHQUFHLGlEQUFpRCxDQUFDO0FBQzFGLE1BQU0saUNBQWlDLEdBQUcsNENBQTRDLENBQUM7QUFDdkYsTUFBTSxrQ0FBa0MsR0FBRyxvREFBb0QsQ0FBQztBQUNoRyxNQUFNLG9DQUFvQyxHQUFHLCtDQUErQyxDQUFDO0FBQzdGLE1BQU0sK0JBQStCLEdBQUcsaURBQWlELENBQUM7QUFDMUYsTUFBTSxpQ0FBaUMsR0FBRyw0Q0FBNEMsQ0FBQztBQUV2RixVQUFVLENBQUMsaUNBQWlDLE1BQTVDLFVBQVUsQ0FBQyxpQ0FBaUMsSUFBTSxvQkFBb0IsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUNqRixVQUFVLENBQUMsK0JBQStCLENBQUMsR0FBRyxFQUFFLENBQ2pELEVBQUM7QUFFRixVQUFVLENBQUMsaUNBQWlDLE1BQTVDLFVBQVUsQ0FBQyxpQ0FBaUMsSUFBTSxvQkFBb0IsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUNqRixVQUFVLENBQUMsK0JBQStCLENBQUMsR0FBRyxFQUFFLENBQ2pE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LENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDckMsTUFBTSxTQUFTLEdBQWUsRUFBRSxDQUFDO0lBQ2pDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUE2QixFQUFFLEVBQUU7UUFDN0MsTUFBTSxRQUFRLEdBQVEsR0FBRyxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsVUFBbUIsQ0FBQyxDQUFDO1FBQ3JFLFFBQVEsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBYSxFQUFFLEVBQUU7WUFDM0MsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUU7Z0JBQ2pDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDMUI7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0gsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmVyc2lvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRmlyZWJhc2VBcHAsIGdldEFwcHMgfSBmcm9tICdmaXJlYmFzZS9hcHAnO1xuaW1wb3J0IHsgQ29tcG9uZW50Q29udGFpbmVyIH0gZnJvbSAnQGZpcmViYXNlL2NvbXBvbmVudCc7XG5pbXBvcnQgeyBpc1N1cHBvcnRlZCBhcyBpc1JlbW90ZUNvbmZpZ1N1cHBvcnRlZCB9IGZyb20gJ2ZpcmViYXNlL3JlbW90ZS1jb25maWcnO1xuaW1wb3J0IHsgaXNTdXBwb3J0ZWQgYXMgaXNNZXNzYWdpbmdTdXBwb3J0ZWQgfSBmcm9tICdmaXJlYmFzZS9tZXNzYWdpbmcnO1xuaW1wb3J0IHsgaXNTdXBwb3J0ZWQgYXMgaXNBbmFseXRpY3NTdXBwb3J0ZWQgfSBmcm9tICdmaXJlYmFzZS9hbmFseXRpY3MnO1xuXG5leHBvcnQgY29uc3QgVkVSU0lPTiA9IG5ldyBWZXJzaW9uKCdBTkdVTEFSRklSRTJfVkVSU0lPTicpO1xuXG5jb25zdCBpc0FuYWx5dGljc1N1cHBvcnRlZFZhbHVlU3ltYm9sID0gJ19fYW5ndWxhcmZpcmVfc3ltYm9sX19hbmFseXRpY3NJc1N1cHBvcnRlZFZhbHVlJztcbmNvbnN0IGlzQW5hbHl0aWNzU3VwcG9ydGVkUHJvbWlzZVN5bWJvbCA9ICdfX2FuZ3VsYXJmaXJlX3N5bWJvbF9fYW5hbHl0aWNzSXNTdXBwb3J0ZWQnO1xuY29uc3QgaXNSZW1vdGVDb25maWdTdXBwb3J0ZWRWYWx1ZVN5bWJvbCA9ICdfX2FuZ3VsYXJmaXJlX3N5bWJvbF9fcmVtb3RlQ29uZmlnSXNTdXBwb3J0ZWRWYWx1ZSc7XG5jb25zdCBpc1JlbW90ZUNvbmZpZ1N1cHBvcnRlZFByb21pc2VTeW1ib2wgPSAnX19hbmd1bGFyZmlyZV9zeW1ib2xfX3JlbW90ZUNvbmZpZ0lzU3VwcG9ydGVkJztcbmNvbnN0IGlzTWVzc2FnaW5nU3VwcG9ydGVkVmFsdWVTeW1ib2wgPSAnX19hbmd1bGFyZmlyZV9zeW1ib2xfX21lc3NhZ2luZ0lzU3VwcG9ydGVkVmFsdWUnO1xuY29uc3QgaXNNZXNzYWdpbmdTdXBwb3J0ZWRQcm9taXNlU3ltYm9sID0gJ19fYW5ndWxhcmZpcmVfc3ltYm9sX19tZXNzYWdpbmdJc1N1cHBvcnRlZCc7XG5cbmdsb2JhbFRoaXNbaXNBbmFseXRpY3NTdXBwb3J0ZWRQcm9taXNlU3ltYm9sXSB8fD0gaXNBbmFseXRpY3NTdXBwb3J0ZWQoKS50aGVuKGl0ID0+XG4gIGdsb2JhbFRoaXNbaXNBbmFseXRpY3NTdXBwb3J0ZWRWYWx1ZVN5bWJvbF0gPSBpdFxuKTtcblxuZ2xvYmFsVGhpc1tpc01lc3NhZ2luZ1N1cHBvcnRlZFByb21pc2VTeW1ib2xdIHx8PSBpc01lc3NhZ2luZ1N1cHBvcnRlZCgpLnRoZW4oaXQgPT5cbiAgZ2xvYmFsVGhpc1tpc01lc3NhZ2luZ1N1cHBvcnRlZFZhbHVlU3ltYm9sXSA9IGl0XG4pO1xuXG5nbG9iYWxUaGlzW2lzUmVtb3RlQ29uZmlnU3VwcG9ydGVkUHJvbWlzZVN5bWJvbF0gfHw9IGlzUmVtb3RlQ29uZmlnU3VwcG9ydGVkKCkudGhlbihpdCA9PlxuICBnbG9iYWxUaGlzW2lzUmVtb3RlQ29uZmlnU3VwcG9ydGVkVmFsdWVTeW1ib2xdID0gaXRcbik7XG5cbmNvbnN0IGlzU3VwcG9ydGVkRXJyb3IgPSAobW9kdWxlOiBzdHJpbmcpID0+XG4gIGBUaGUgQVBQX0lOSVRJQUxJWkVSIHRoYXQgaXMgXCJtYWtpbmdcIiBpc1N1cHBvcnRlZCgpIHN5bmMgZm9yIHRoZSBzYWtlIG9mIGNvbnZlbmllbnQgREkgaGFzIG5vdCByZXNvbHZlZCBpbiB0aGlzXG5jb250ZXh0LiBSYXRoZXIgdGhhbiBpbmplY3RpbmcgJHttb2R1bGV9IGluIHRoZSBjb25zdHJ1Y3RvciwgZmlyc3QgZW5zdXJlIHRoYXQgJHttb2R1bGV9IGlzIHN1cHBvcnRlZCBieSBjYWxsaW5nXG5cXGBhd2FpdCBpc1N1cHBvcnRlZCgpXFxgLCB0aGVuIHJldHJpZXZlIHRoZSBpbnN0YW5jZSBmcm9tIHRoZSBpbmplY3RvciBtYW51YWxseSBcXGBpbmplY3Rvci5nZXQoJHttb2R1bGV9KVxcYC5gO1xuXG5leHBvcnQgY29uc3QgybVpc01lc3NhZ2luZ1N1cHBvcnRlZEZhY3RvcnkgPSB7XG4gIGFzeW5jOiAoKSA9PiBnbG9iYWxUaGlzW2lzTWVzc2FnaW5nU3VwcG9ydGVkUHJvbWlzZVN5bWJvbF0sXG4gIHN5bmM6ICgpID0+IHtcbiAgICBjb25zdCByZXQgPSBnbG9iYWxUaGlzW2lzTWVzc2FnaW5nU3VwcG9ydGVkVmFsdWVTeW1ib2xdO1xuICAgIGlmIChyZXQgPT09IHVuZGVmaW5lZCkgeyB0aHJvdyBuZXcgRXJyb3IoaXNTdXBwb3J0ZWRFcnJvcignTWVzc2FnaW5nJykpOyB9XG4gICAgcmV0dXJuIHJldDtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IMm1aXNSZW1vdGVDb25maWdTdXBwb3J0ZWRGYWN0b3J5ID0ge1xuICBhc3luYzogKCkgPT4gZ2xvYmFsVGhpc1tpc1JlbW90ZUNvbmZpZ1N1cHBvcnRlZFByb21pc2VTeW1ib2xdLFxuICBzeW5jOiAoKSA9PiB7XG4gICAgY29uc3QgcmV0ID0gZ2xvYmFsVGhpc1tpc1JlbW90ZUNvbmZpZ1N1cHBvcnRlZFZhbHVlU3ltYm9sXTtcbiAgICBpZiAocmV0ID09PSB1bmRlZmluZWQpIHsgdGhyb3cgbmV3IEVycm9yKGlzU3VwcG9ydGVkRXJyb3IoJ1JlbW90ZUNvbmZpZycpKTsgfVxuICAgIHJldHVybiByZXQ7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCDJtWlzQW5hbHl0aWNzU3VwcG9ydGVkRmFjdG9yeSA9IHtcbiAgYXN5bmM6ICgpID0+IGdsb2JhbFRoaXNbaXNBbmFseXRpY3NTdXBwb3J0ZWRQcm9taXNlU3ltYm9sXSxcbiAgc3luYzogKCkgPT4ge1xuICAgIGNvbnN0IHJldCA9IGdsb2JhbFRoaXNbaXNBbmFseXRpY3NTdXBwb3J0ZWRWYWx1ZVN5bWJvbF07XG4gICAgaWYgKHJldCA9PT0gdW5kZWZpbmVkKSB7IHRocm93IG5ldyBFcnJvcihpc1N1cHBvcnRlZEVycm9yKCdBbmFseXRpY3MnKSk7IH1cbiAgICByZXR1cm4gcmV0O1xuICB9XG59O1xuXG4vLyBUT0RPIGlzIHRoZXJlIGEgYmV0dGVyIHdheSB0byBnZXQgYXQgdGhlIGludGVybmFsIHR5cGVzP1xuaW50ZXJmYWNlIEZpcmViYXNlQXBwV2l0aENvbnRhaW5lciBleHRlbmRzIEZpcmViYXNlQXBwIHtcbiAgY29udGFpbmVyOiBDb21wb25lbnRDb250YWluZXI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiDJtWdldERlZmF1bHRJbnN0YW5jZU9mPFQ9IHVua25vd24+KGlkZW50aWZpZXI6IHN0cmluZywgcHJvdmlkZWQ6IFRbXXx1bmRlZmluZWQsIGRlZmF1bHRBcHA6IEZpcmViYXNlQXBwKTogVHx1bmRlZmluZWQgIHtcbiAgaWYgKHByb3ZpZGVkKSB7XG4gICAgLy8gV2FzIHByb3ZpZGUqIG9ubHkgY2FsbGVkIG9uY2U/IElmIHNvIGdyYWIgdGhhdFxuICAgIGlmIChwcm92aWRlZC5sZW5ndGggPT09IDEpIHsgcmV0dXJuIHByb3ZpZGVkWzBdOyB9XG4gICAgY29uc3QgcHJvdmlkZWRVc2luZ0RlZmF1bHRBcHAgPSBwcm92aWRlZC5maWx0ZXIoKGl0OiBhbnkpID0+IGl0LmFwcCA9PT0gZGVmYXVsdEFwcCk7XG4gICAgLy8gV2FzIHByb3ZpZGUqIG9ubHkgY2FsbGVkIG9uY2UsIHVzaW5nIHRoZSBkZWZhdWx0IGFwcD8gSWYgc28gdXNlIHRoYXRcbiAgICBpZiAocHJvdmlkZWRVc2luZ0RlZmF1bHRBcHAubGVuZ3RoID09PSAxKSB7IHJldHVybiBwcm92aWRlZFVzaW5nRGVmYXVsdEFwcFswXTsgfVxuICB9XG4gIC8vIEdyYWIgdGhlIGRlZmF1bHQgaW5zdGFuY2UgZnJvbSB0aGUgZGVmYXVsdEFwcFxuICBjb25zdCBkZWZhdWx0QXBwV2l0aENvbnRhaW5lcjogRmlyZWJhc2VBcHBXaXRoQ29udGFpbmVyID0gZGVmYXVsdEFwcCBhcyBhbnk7XG4gIGNvbnN0IHByb3ZpZGVyID0gZGVmYXVsdEFwcFdpdGhDb250YWluZXIuY29udGFpbmVyLmdldFByb3ZpZGVyKGlkZW50aWZpZXIgYXMgbmV2ZXIpO1xuICByZXR1cm4gcHJvdmlkZXIuZ2V0SW1tZWRpYXRlKHsgb3B0aW9uYWw6IHRydWUgfSk7XG59XG5cbmV4cG9ydCBjb25zdCDJtWdldEFsbEluc3RhbmNlc09mID0gPFQ9IHVua25vd24+KGlkZW50aWZpZXI6IHN0cmluZywgYXBwPzogRmlyZWJhc2VBcHApOiBBcnJheTxUPiA9PiB7XG4gIGNvbnN0IGFwcHMgPSBhcHAgPyBbYXBwXSA6IGdldEFwcHMoKTtcbiAgY29uc3QgaW5zdGFuY2VzOiBBcnJheTxhbnk+ID0gW107XG4gIGFwcHMuZm9yRWFjaCgoYXBwOiBGaXJlYmFzZUFwcFdpdGhDb250YWluZXIpID0+IHtcbiAgICBjb25zdCBwcm92aWRlcjogYW55ID0gYXBwLmNvbnRhaW5lci5nZXRQcm92aWRlcihpZGVudGlmaWVyIGFzIG5ldmVyKTtcbiAgICBwcm92aWRlci5pbnN0YW5jZXMuZm9yRWFjaCgoaW5zdGFuY2U6IGFueSkgPT4ge1xuICAgICAgaWYgKCFpbnN0YW5jZXMuaW5jbHVkZXMoaW5zdGFuY2UpKSB7XG4gICAgICAgIGluc3RhbmNlcy5wdXNoKGluc3RhbmNlKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSk7XG4gIHJldHVybiBpbnN0YW5jZXM7XG59O1xuIl19
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEMsT0FBTyxFQUFlLE9BQU8sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUVwRCxPQUFPLEVBQUUsV0FBVyxJQUFJLHVCQUF1QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDaEYsT0FBTyxFQUFFLFdBQVcsSUFBSSxvQkFBb0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxXQUFXLElBQUksb0JBQW9CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV6RSxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsSUFBSSxPQUFPLENBQUMsc0JBQXNCLENBQUMsQ0FBQztBQUUzRCxNQUFNLCtCQUErQixHQUFHLGlEQUFpRCxDQUFDO0FBQzFGLE1BQU0saUNBQWlDLEdBQUcsNENBQTRDLENBQUM7QUFDdkYsTUFBTSxrQ0FBa0MsR0FBRyxvREFBb0QsQ0FBQztBQUNoRyxNQUFNLG9DQUFvQyxHQUFHLCtDQUErQyxDQUFDO0FBQzdGLE1BQU0sK0JBQStCLEdBQUcsaURBQWlELENBQUM7QUFDMUYsTUFBTSxpQ0FBaUMsR0FBRyw0Q0FBNEMsQ0FBQztBQUV2RixVQUFVLENBQUMsaUNBQWlDLE1BQTVDLFVBQVUsQ0FBQyxpQ0FBaUMsSUFBTSxvQkFBb0IsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUNqRixVQUFVLENBQUMsK0JBQStCLENBQUMsR0FBRyxFQUFFLENBQ2pELENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUNYLFVBQVUsQ0FBQywrQkFBK0IsQ0FBQyxHQUFHLEtBQUssQ0FDcEQsRUFBQztBQUVGLFVBQVUsQ0FBQyxpQ0FBaUMsTUFBNUMsVUFBVSxDQUFDLGlDQUFpQyxJQUFNLG9CQUFvQixFQUFFLENBQUMs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bUIsQ0FBQyxDQUFDO0lBQ3BGLE9BQU8sUUFBUSxDQUFDLFlBQVksQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0FBQ25ELENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxDQUFhLFVBQWtCLEVBQUUsR0FBaUIsRUFBWSxFQUFFO0lBQ2hHLE1BQU0sSUFBSSxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDckMsTUFBTSxTQUFTLEdBQWUsRUFBRSxDQUFDO0lBQ2pDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUE2QixFQUFFLEVBQUU7UUFDN0MsTUFBTSxRQUFRLEdBQVEsR0FBRyxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsVUFBbUIsQ0FBQyxDQUFDO1FBQ3JFLFFBQVEsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBYSxFQUFFLEVBQUU7WUFDM0MsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUU7Z0JBQ2pDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDMUI7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0gsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmVyc2lvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRmlyZWJhc2VBcHAsIGdldEFwcHMgfSBmcm9tICdmaXJlYmFzZS9hcHAnO1xuaW1wb3J0IHsgQ29tcG9uZW50Q29udGFpbmVyIH0gZnJvbSAnQGZpcmViYXNlL2NvbXBvbmVudCc7XG5pbXBvcnQgeyBpc1N1cHBvcnRlZCBhcyBpc1JlbW90ZUNvbmZpZ1N1cHBvcnRlZCB9IGZyb20gJ2ZpcmViYXNlL3JlbW90ZS1jb25maWcnO1xuaW1wb3J0IHsgaXNTdXBwb3J0ZWQgYXMgaXNNZXNzYWdpbmdTdXBwb3J0ZWQgfSBmcm9tICdmaXJlYmFzZS9tZXNzYWdpbmcnO1xuaW1wb3J0IHsgaXNTdXBwb3J0ZWQgYXMgaXNBbmFseXRpY3NTdXBwb3J0ZWQgfSBmcm9tICdmaXJlYmFzZS9hbmFseXRpY3MnO1xuXG5leHBvcnQgY29uc3QgVkVSU0lPTiA9IG5ldyBWZXJzaW9uKCdBTkdVTEFSRklSRTJfVkVSU0lPTicpO1xuXG5jb25zdCBpc0FuYWx5dGljc1N1cHBvcnRlZFZhbHVlU3ltYm9sID0gJ19fYW5ndWxhcmZpcmVfc3ltYm9sX19hbmFseXRpY3NJc1N1cHBvcnRlZFZhbHVlJztcbmNvbnN0IGlzQW5hbHl0aWNzU3VwcG9ydGVkUHJvbWlzZVN5bWJvbCA9ICdfX2FuZ3VsYXJmaXJlX3N5bWJvbF9fYW5hbHl0aWNzSXNTdXBwb3J0ZWQnO1xuY29uc3QgaXNSZW1vdGVDb25maWdTdXBwb3J0ZWRWYWx1ZVN5bWJvbCA9ICdfX2FuZ3VsYXJmaXJlX3N5bWJvbF9fcmVtb3RlQ29uZmlnSXNTdXBwb3J0ZWRWYWx1ZSc7XG5jb25zdCBpc1JlbW90ZUNvbmZpZ1N1cHBvcnRlZFByb21pc2VTeW1ib2wgPSAnX19hbmd1bGFyZmlyZV9zeW1ib2xfX3JlbW90ZUNvbmZpZ0lzU3VwcG9ydGVkJztcbmNvbnN0IGlzTWVzc2FnaW5nU3VwcG9ydGVkVmFsdWVTeW1ib2wgPSAnX19hbmd1bGFyZmlyZV9zeW1ib2xfX21lc3NhZ2luZ0lzU3VwcG9ydGVkVmFsdWUnO1xuY29uc3QgaXNNZXNzYWdpbmdTdXBwb3J0ZWRQcm9taXNlU3ltYm9sID0gJ19fYW5ndWxhcmZpcmVfc3ltYm9sX19tZXNzYWdpbmdJc1N1cHBvcnRlZCc7XG5cbmdsb2JhbFRoaXNbaXNBbmFseXRpY3NTdXBwb3J0ZWRQcm9taXNlU3ltYm9sXSB8fD0gaXNBbmFseXRpY3NTdXBwb3J0ZWQoKS50aGVuKGl0ID0+XG4gIGdsb2JhbFRoaXNbaXNBbmFseXRpY3NTdXBwb3J0ZWRWYWx1ZVN5bWJvbF0gPSBpdFxuKS5jYXRjaCgoKSA9PlxuICBnbG9iYWxUaGlzW2lzQW5hbHl0aWNzU3VwcG9ydGVkVmFsdWVTeW1ib2xdID0gZmFsc2Vcbik7XG5cbmdsb2JhbFRoaXNbaXNNZXNzYWdpbmdTdXBwb3J0ZWRQcm9taXNlU3ltYm9sXSB8fD0gaXNNZXNzYWdpbmdTdXBwb3J0ZWQoKS50aGVuKGl0ID0+XG4gIGdsb2JhbFRoaXNbaXNNZXNzYWdpbmdTdXBwb3J0ZWRWYWx1ZVN5bWJvbF0gPSBpdFxuKS5jYXRjaCgoKSA9PlxuICBnbG9iYWxUaGlzW2lzTWVzc2FnaW5nU3VwcG9ydGVkVmFsdWVTeW1ib2xdID0gZmFsc2Vcbik7XG5cbmdsb2JhbFRoaXNbaXNSZW1vdGVDb25maWdTdXBwb3J0ZWRQcm9taXNlU3ltYm9sXSB8fD0gaXNSZW1vdGVDb25maWdTdXBwb3J0ZWQoKS50aGVuKGl0ID0+XG4gIGdsb2JhbFRoaXNbaXNSZW1vdGVDb25maWdTdXBwb3J0ZWRWYWx1ZVN5bWJvbF0gPSBpdFxuKS5jYXRjaCgoKSA9PlxuICBnbG9iYWxUaGlzW2lzUmVtb3RlQ29uZmlnU3VwcG9ydGVkVmFsdWVTeW1ib2xdID0gZmFsc2Vcbik7XG5cbmNvbnN0IGlzU3VwcG9ydGVkRXJyb3IgPSAobW9kdWxlOiBzdHJpbmcpID0+XG4gIGBUaGUgQVBQX0lOSVRJQUxJWkVSIHRoYXQgaXMgXCJtYWtpbmdcIiBpc1N1cHBvcnRlZCgpIHN5bmMgZm9yIHRoZSBzYWtlIG9mIGNvbnZlbmllbnQgREkgaGFzIG5vdCByZXNvbHZlZCBpbiB0aGlzXG5jb250ZXh0LiBSYXRoZXIgdGhhbiBpbmplY3RpbmcgJHttb2R1bGV9IGluIHRoZSBjb25zdHJ1Y3RvciwgZmlyc3QgZW5zdXJlIHRoYXQgJHttb2R1bGV9IGlzIHN1cHBvcnRlZCBieSBjYWxsaW5nXG5cXGBhd2FpdCBpc1N1cHBvcnRlZCgpXFxgLCB0aGVuIHJldHJpZXZlIHRoZSBpbnN0YW5jZSBmcm9tIHRoZSBpbmplY3RvciBtYW51YWxseSBcXGBpbmplY3Rvci5nZXQoJHttb2R1bGV9KVxcYC5gO1xuXG5leHBvcnQgY29uc3QgybVpc01lc3NhZ2luZ1N1cHBvcnRlZEZhY3RvcnkgPSB7XG4gIGFzeW5jOiAoKSA9PiBnbG9iYWxUaGlzW2lzTWVzc2FnaW5nU3VwcG9ydGVkUHJvbWlzZVN5bWJvbF0sXG4gIHN5bmM6ICgpID0+IHtcbiAgICBjb25zdCByZXQgPSBnbG9iYWxUaGlzW2lzTWVzc2FnaW5nU3VwcG9ydGVkVmFsdWVTeW1ib2xdO1xuICAgIGlmIChyZXQgPT09IHVuZGVmaW5lZCkgeyB0aHJvdyBuZXcgRXJyb3IoaXNTdXBwb3J0ZWRFcnJvcignTWVzc2FnaW5nJykpOyB9XG4gICAgcmV0dXJuIHJldDtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IMm1aXNSZW1vdGVDb25maWdTdXBwb3J0ZWRGYWN0b3J5ID0ge1xuICBhc3luYzogKCkgPT4gZ2xvYmFsVGhpc1tpc1JlbW90ZUNvbmZpZ1N1cHBvcnRlZFByb21pc2VTeW1ib2xdLFxuICBzeW5jOiAoKSA9PiB7XG4gICAgY29uc3QgcmV0ID0gZ2xvYmFsVGhpc1tpc1JlbW90ZUNvbmZpZ1N1cHBvcnRlZFZhbHVlU3ltYm9sXTtcbiAgICBpZiAocmV0ID09PSB1bmRlZmluZWQpIHsgdGhyb3cgbmV3IEVycm9yKGlzU3VwcG9ydGVkRXJyb3IoJ1JlbW90ZUNvbmZpZycpKTsgfVxuICAgIHJldHVybiByZXQ7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCDJtWlzQW5hbHl0aWNzU3VwcG9ydGVkRmFjdG9yeSA9IHtcbiAgYXN5bmM6ICgpID0+IGdsb2JhbFRoaXNbaXNBbmFseXRpY3NTdXBwb3J0ZWRQcm9taXNlU3ltYm9sXSxcbiAgc3luYzogKCkgPT4ge1xuICAgIGNvbnN0IHJldCA9IGdsb2JhbFRoaXNbaXNBbmFseXRpY3NTdXBwb3J0ZWRWYWx1ZVN5bWJvbF07XG4gICAgaWYgKHJldCA9PT0gdW5kZWZpbmVkKSB7IHRocm93IG5ldyBFcnJvcihpc1N1cHBvcnRlZEVycm9yKCdBbmFseXRpY3MnKSk7IH1cbiAgICByZXR1cm4gcmV0O1xuICB9XG59O1xuXG4vLyBUT0RPIGlzIHRoZXJlIGEgYmV0dGVyIHdheSB0byBnZXQgYXQgdGhlIGludGVybmFsIHR5cGVzP1xuaW50ZXJmYWNlIEZpcmViYXNlQXBwV2l0aENvbnRhaW5lciBleHRlbmRzIEZpcmViYXNlQXBwIHtcbiAgY29udGFpbmVyOiBDb21wb25lbnRDb250YWluZXI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiDJtWdldERlZmF1bHRJbnN0YW5jZU9mPFQ9IHVua25vd24+KGlkZW50aWZpZXI6IHN0cmluZywgcHJvdmlkZWQ6IFRbXXx1bmRlZmluZWQsIGRlZmF1bHRBcHA6IEZpcmViYXNlQXBwKTogVHx1bmRlZmluZWQgIHtcbiAgaWYgKHByb3ZpZGVkKSB7XG4gICAgLy8gV2FzIHByb3ZpZGUqIG9ubHkgY2FsbGVkIG9uY2U/IElmIHNvIGdyYWIgdGhhdFxuICAgIGlmIChwcm92aWRlZC5sZW5ndGggPT09IDEpIHsgcmV0dXJuIHByb3ZpZGVkWzBdOyB9XG4gICAgY29uc3QgcHJvdmlkZWRVc2luZ0RlZmF1bHRBcHAgPSBwcm92aWRlZC5maWx0ZXIoKGl0OiBhbnkpID0+IGl0LmFwcCA9PT0gZGVmYXVsdEFwcCk7XG4gICAgLy8gV2FzIHByb3ZpZGUqIG9ubHkgY2FsbGVkIG9uY2UsIHVzaW5nIHRoZSBkZWZhdWx0IGFwcD8gSWYgc28gdXNlIHRoYXRcbiAgICBpZiAocHJvdmlkZWRVc2luZ0RlZmF1bHRBcHAubGVuZ3RoID09PSAxKSB7IHJldHVybiBwcm92aWRlZFVzaW5nRGVmYXVsdEFwcFswXTsgfVxuICB9XG4gIC8vIEdyYWIgdGhlIGRlZmF1bHQgaW5zdGFuY2UgZnJvbSB0aGUgZGVmYXVsdEFwcFxuICBjb25zdCBkZWZhdWx0QXBwV2l0aENvbnRhaW5lcjogRmlyZWJhc2VBcHBXaXRoQ29udGFpbmVyID0gZGVmYXVsdEFwcCBhcyBhbnk7XG4gIGNvbnN0IHByb3ZpZGVyID0gZGVmYXVsdEFwcFdpdGhDb250YWluZXIuY29udGFpbmVyLmdldFByb3ZpZGVyKGlkZW50aWZpZXIgYXMgbmV2ZXIpO1xuICByZXR1cm4gcHJvdmlkZXIuZ2V0SW1tZWRpYXRlKHsgb3B0aW9uYWw6IHRydWUgfSk7XG59XG5cbmV4cG9ydCBjb25zdCDJtWdldEFsbEluc3RhbmNlc09mID0gPFQ9IHVua25vd24+KGlkZW50aWZpZXI6IHN0cmluZywgYXBwPzogRmlyZWJhc2VBcHApOiBBcnJheTxUPiA9PiB7XG4gIGNvbnN0IGFwcHMgPSBhcHAgPyBbYXBwXSA6IGdldEFwcHMoKTtcbiAgY29uc3QgaW5zdGFuY2VzOiBBcnJheTxhbnk+ID0gW107XG4gIGFwcHMuZm9yRWFjaCgoYXBwOiBGaXJlYmFzZUFwcFdpdGhDb250YWluZXIpID0+IHtcbiAgICBjb25zdCBwcm92aWRlcjogYW55ID0gYXBwLmNvbnRhaW5lci5nZXRQcm92aWRlcihpZGVudGlmaWVyIGFzIG5ldmVyKTtcbiAgICBwcm92aWRlci5pbnN0YW5jZXMuZm9yRWFjaCgoaW5zdGFuY2U6IGFueSkgPT4ge1xuICAgICAgaWYgKCFpbnN0YW5jZXMuaW5jbHVkZXMoaW5zdGFuY2UpKSB7XG4gICAgICAgIGluc3RhbmNlcy5wdXNoKGluc3RhbmNlKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSk7XG4gIHJldHVybiBpbnN0YW5jZXM7XG59O1xuIl19
|
package/esm2015/zones.js
CHANGED
|
@@ -117,6 +117,7 @@ const zoneWrapFn = (it, macrotask) => {
|
|
|
117
117
|
// function() is needed for the arguments object
|
|
118
118
|
// tslint:disable-next-line:only-arrow-functions
|
|
119
119
|
return function () {
|
|
120
|
+
const _arguments = arguments;
|
|
120
121
|
if (macrotask) {
|
|
121
122
|
setTimeout(() => {
|
|
122
123
|
if (macrotask.state === 'scheduled') {
|
|
@@ -124,7 +125,7 @@ const zoneWrapFn = (it, macrotask) => {
|
|
|
124
125
|
}
|
|
125
126
|
}, 10);
|
|
126
127
|
}
|
|
127
|
-
return run(() => it.apply(_this,
|
|
128
|
+
return run(() => it.apply(_this, _arguments));
|
|
128
129
|
};
|
|
129
130
|
};
|
|
130
131
|
export const ɵzoneWrap = (it, blockUntilFirst) => {
|
|
@@ -132,18 +133,19 @@ export const ɵzoneWrap = (it, blockUntilFirst) => {
|
|
|
132
133
|
// tslint:disable-next-line:only-arrow-functions
|
|
133
134
|
return function () {
|
|
134
135
|
let macrotask;
|
|
136
|
+
const _arguments = arguments;
|
|
135
137
|
// if this is a callback function, e.g, onSnapshot, we should create a microtask and invoke it
|
|
136
138
|
// only once one of the callback functions is tripped.
|
|
137
139
|
for (let i = 0; i < arguments.length; i++) {
|
|
138
|
-
if (typeof
|
|
140
|
+
if (typeof _arguments[i] === 'function') {
|
|
139
141
|
if (blockUntilFirst) {
|
|
140
142
|
macrotask || (macrotask = run(() => Zone.current.scheduleMacroTask('firebaseZoneBlock', noop, {}, noop, noop)));
|
|
141
143
|
}
|
|
142
144
|
// TODO create a microtask to track callback functions
|
|
143
|
-
|
|
145
|
+
_arguments[i] = zoneWrapFn(_arguments[i], macrotask);
|
|
144
146
|
}
|
|
145
147
|
}
|
|
146
|
-
const ret = runOutsideAngular(() => it.apply(this,
|
|
148
|
+
const ret = runOutsideAngular(() => it.apply(this, _arguments));
|
|
147
149
|
if (!blockUntilFirst) {
|
|
148
150
|
if (ret instanceof Observable) {
|
|
149
151
|
const schedulers = getSchedulers();
|
|
@@ -178,4 +180,4 @@ export const ɵzoneWrap = (it, blockUntilFirst) => {
|
|
|
178
180
|
}
|
|
179
181
|
};
|
|
180
182
|
};
|
|
181
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9uZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvem9uZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUNMLGNBQWMsRUFDZCxVQUFVLEVBRVYsY0FBYyxFQU1mLE1BQU0sTUFBTSxDQUFDO0FBQ2QsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBRTdELFNBQVMsSUFBSTtBQUNiLENBQUM7QUFFRDs7R0FFRztBQUNILHNDQUFzQztBQUN0QyxNQUFNLE9BQU8sY0FBYztJQUN6QixZQUFvQixJQUFTLEVBQVUsV0FBZ0IsY0FBYztRQUFqRCxTQUFJLEdBQUosSUFBSSxDQUFLO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBc0I7SUFDckUsQ0FBQztJQUVELEdBQUc7UUFDRCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELFFBQVEsQ0FBQyxJQUF1RCxFQUFFLEtBQWMsRUFBRSxLQUFXO1FBQzNGLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDN0IsMEZBQTBGO1FBQzFGLHVDQUF1QztRQUN2QyxNQUFNLFVBQVUsR0FBRyxVQUFxQyxLQUFVO1lBQ2hFLFVBQVUsQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUN6QixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDNUIsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUM7UUFFRixzR0FBc0c7UUFDdEcsaUdBQWlHO1FBQ2pHLCtHQUErRztRQUMvRyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7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RyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ3ZCO0lBQ0gsQ0FBUSxDQUFDO0FBQ1gsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgTmdab25lIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBhc3luY1NjaGVkdWxlcixcbiAgT2JzZXJ2YWJsZSxcbiAgT3BlcmF0b3IsXG4gIHF1ZXVlU2NoZWR1bGVyLFxuICBTY2hlZHVsZXJBY3Rpb24sXG4gIFNjaGVkdWxlckxpa2UsXG4gIFN1YnNjcmliZXIsXG4gIFN1YnNjcmlwdGlvbixcbiAgVGVhcmRvd25Mb2dpY1xufSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG9ic2VydmVPbiwgc3Vic2NyaWJlT24sIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuZnVuY3Rpb24gbm9vcCgpIHtcbn1cblxuLyoqXG4gKiBTY2hlZHVsZXMgdGFza3Mgc28gdGhhdCB0aGV5IGFyZSBpbnZva2VkIGluc2lkZSB0aGUgWm9uZSB0aGF0IGlzIHBhc3NlZCBpbiB0aGUgY29uc3RydWN0b3IuXG4gKi9cbi8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpjbGFzcy1uYW1lXG5leHBvcnQgY2xhc3MgybVab25lU2NoZWR1bGVyIGltcGxlbWVudHMgU2NoZWR1bGVyTGlrZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgem9uZTogYW55LCBwcml2YXRlIGRlbGVnYXRlOiBhbnkgPSBxdWV1ZVNjaGVkdWxlcikge1xuICB9XG5cbiAgbm93KCkge1xuICAgIHJldHVybiB0aGlzLmRlbGVnYXRlLm5vdygpO1xuICB9XG5cbiAgc2NoZWR1bGUod29yazogKHRoaXM6IFNjaGVkdWxlckFjdGlvbjxhbnk+LCBzdGF0ZT86IGFueSkgPT4gdm9pZCwgZGVsYXk/OiBudW1iZXIsIHN0YXRlPzogYW55KTogU3Vic2NyaXB0aW9uIHtcbiAgICBjb25zdCB0YXJnZXRab25lID0gdGhpcy56b25lO1xuICAgIC8vIFdyYXAgdGhlIHNwZWNpZmllZCB3b3JrIGZ1bmN0aW9uIHRvIG1ha2Ugc3VyZSB0aGF0IGlmIG5lc3RlZCBzY2hlZHVsaW5nIHRha2VzIHBsYWNlIHRoZVxuICAgIC8vIHdvcmsgaXMgZXhlY3V0ZWQgaW4gdGhlIGNvcnJlY3Qgem9uZVxuICAgIGNvbnN0IHdvcmtJblpvbmUgPSBmdW5jdGlvbih0aGlzOiBTY2hlZHVsZXJBY3Rpb248YW55Piwgc3RhdGU6IGFueSkge1xuICAgICAgdGFyZ2V0Wm9uZS5ydW5HdWFyZGVkKCgpID0+IHtcbiAgICAgICAgd29yay5hcHBseSh0aGlzLCBbc3RhdGVdKTtcbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICAvLyBTY2hlZHVsaW5nIGl0c2VsZiBuZWVkcyB0byBiZSBydW4gaW4gem9uZSB0byBlbnN1cmUgc2V0SW50ZXJ2YWwgY2FsbHMgZm9yIGFzeW5jIHNjaGVkdWxpbmcgYXJlIGRvbmVcbiAgICAvLyBpbnNpZGUgdGhlIGNvcnJlY3Qgem9uZS4gVGhpcyBzY2hlZHVsZXIgbmVlZHMgdG8gc2NoZWR1bGUgYXN5bmNocm9ub3VzbHkgYWx3YXlzIHRvIGVuc3VyZSB0aGF0XG4gICAgLy8gZmlyZWJhc2UgZW1pc3Npb25zIGFyZSBuZXZlciBzeW5jaHJvbm91cy4gU3BlY2lmeWluZyBhIGRlbGF5IGNhdXNlcyBpc3N1ZXMgd2l0aCB0aGUgcXVldWVTY2hlZHVsZXIgZGVsZWdhdGUuXG4gICAgcmV0dXJuIHRoaXMuZGVsZWdhdGUuc2NoZWR1bGUod29ya0luWm9uZSwgZGVsYXksIHN0YXRlKTtcbiAgfVxufVxuXG5jbGFzcyBCbG9ja1VudGlsRmlyc3RPcGVyYXRvcjxUPiBpbXBsZW1lbnRzIE9wZXJhdG9yPFQsIFQ+IHtcbiAgcHJpdmF0ZSB0YXNrOiBNYWNyb1Rhc2sgfCBudWxsID0gbnVsbDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHpvbmU6IGFueSkge1xuICB9XG5cbiAgY2FsbChzdWJzY3JpYmVyOiBTdWJzY3JpYmVyPFQ+LCBzb3VyY2U6IE9ic2VydmFibGU8VD4pOiBUZWFyZG93bkxvZ2ljIHtcbiAgICBjb25zdCB1bnNjaGVkdWxlVGFzayA9IHRoaXMudW5zY2hlZHVsZVRhc2suYmluZCh0aGlzKTtcbiAgICB0aGlzLnRhc2sgPSB0aGlzLnpvbmUucnVuKCgpID0+IFpvbmUuY3VycmVudC5zY2hlZHVsZU1hY3JvVGFzaygnZmlyZWJhc2Vab25lQmxvY2snLCBub29wLCB7fSwgbm9vcCwgbm9vcCkpO1xuXG4gICAgcmV0dXJuIHNvdXJjZS5waXBlKFxuICAgICAgdGFwKHsgbmV4dDogdW5zY2hlZHVsZVRhc2ssIGNvbXBsZXRlOiB1bnNjaGVkdWxlVGFzaywgZXJyb3I6IHVuc2NoZWR1bGVUYXNrIH0pXG4gICAgKS5zdWJzY3JpYmUoc3Vic2NyaWJlcikuYWRkKHVuc2NoZWR1bGVUYXNrKTtcbiAgfVxuXG4gIHByaXZhdGUgdW5zY2hlZHVsZVRhc2soKSB7XG4gICAgLy8gbWF5YmUgdGhpcyBpcyBhIHJhY2UgY29uZGl0aW9uLCBpbnZva2UgaW4gYSB0aW1lb3V0XG4gICAgLy8gaG9sZCBmb3IgMTBtcyB3aGlsZSBJIHRyeSB0byBmaWd1cmUgb3V0IHdoYXQgaXMgZ29pbmcgb25cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICh0aGlzLnRhc2sgIT0gbnVsbCAmJiB0aGlzLnRhc2suc3RhdGUgPT09ICdzY2hlZHVsZWQnKSB7XG4gICAgICAgIHRoaXMudGFzay5pbnZva2UoKTtcbiAgICAgICAgdGhpcy50YXNrID0gbnVsbDtcbiAgICAgIH1cbiAgICB9LCAxMCk7XG4gIH1cbn1cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmNsYXNzLW5hbWVcbmV4cG9ydCBjbGFzcyDJtUFuZ3VsYXJGaXJlU2NoZWR1bGVycyB7XG4gIHB1YmxpYyByZWFkb25seSBvdXRzaWRlQW5ndWxhcjogybVab25lU2NoZWR1bGVyO1xuICBwdWJsaWMgcmVhZG9ubHkgaW5zaWRlQW5ndWxhcjogybVab25lU2NoZWR1bGVyO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBuZ1pvbmU6IE5nWm9uZSkge1xuICAgIHRoaXMub3V0c2lkZUFuZ3VsYXIgPSBuZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4gbmV3IMm1Wm9uZVNjaGVkdWxlcihab25lLmN1cnJlbnQpKTtcbiAgICB0aGlzLmluc2lkZUFuZ3VsYXIgPSBuZ1pvbmUucnVuKCgpID0+IG5ldyDJtVpvbmVTY2hlZHVsZXIoWm9uZS5jdXJyZW50LCBhc3luY1NjaGVkdWxlcikpO1xuICAgIGdsb2JhbFRoaXMuybVBbmd1bGFyRmlyZVNjaGVkdWxlciB8fD0gdGhpcztcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRTY2hlZHVsZXJzKCkge1xuICBjb25zdCBzY2hlZHVsZXJzID0gZ2xvYmFsVGhpcy7JtUFuZ3VsYXJGaXJlU2NoZWR1bGVyIGFzIMm1QW5ndWxhckZpcmVTY2hlZHVsZXJzfHVuZGVmaW5lZDtcbiAgaWYgKCFzY2hlZHVsZXJzKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuYEVpdGhlciBBbmd1bGFyRmlyZU1vZHVsZSBoYXMgbm90IGJlZW4gcHJvdmlkZWQgaW4geW91ciBBcHBNb2R1bGUgKHRoaXMgY2FuIGJlIGRvbmUgbWFudWFsbHkgb3IgaW1wbGljdGx5IHVzaW5nXG5wcm92aWRlRmlyZWJhc2VBcHApIG9yIHlvdSdyZSBjYWxsaW5nIGFuIEFuZ3VsYXJGaXJlIG1ldGhvZCBvdXRzaWRlIG9mIGFuIE5nTW9kdWxlICh3aGljaCBpcyBub3Qgc3VwcG9ydGVkKS5gKTtcbiAgfVxuICByZXR1cm4gc2NoZWR1bGVycztcbn1cblxuZnVuY3Rpb24gcnVuT3V0c2lkZUFuZ3VsYXI8VD4oZm46ICguLi5hcmdzOiBhbnlbXSkgPT4gVCk6IFQge1xuICByZXR1cm4gZ2V0U2NoZWR1bGVycygpLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiBmbigpKTtcbn1cblxuZnVuY3Rpb24gcnVuPFQ+KGZuOiAoLi4uYXJnczogYW55W10pID0+IFQpOiBUIHtcbiAgcmV0dXJuIGdldFNjaGVkdWxlcnMoKS5uZ1pvbmUucnVuKCgpID0+IGZuKCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gb2JzZXJ2ZU91dHNpZGVBbmd1bGFyPFQ+KG9icyQ6IE9ic2VydmFibGU8VD4pOiBPYnNlcnZhYmxlPFQ+IHtcbiAgcmV0dXJuIG9icyQucGlwZShvYnNlcnZlT24oZ2V0U2NoZWR1bGVycygpLm91dHNpZGVBbmd1bGFyKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBvYnNlcnZlSW5zaWRlQW5ndWxhcjxUPihvYnMkOiBPYnNlcnZhYmxlPFQ+KTogT2JzZXJ2YWJsZTxUPiB7XG4gIHJldHVybiBvYnMkLnBpcGUob2JzZXJ2ZU9uKGdldFNjaGVkdWxlcnMoKS5pbnNpZGVBbmd1bGFyKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBrZWVwVW5zdGFibGVVbnRpbEZpcnN0PFQ+KG9icyQ6IE9ic2VydmFibGU8VD4pOiBPYnNlcnZhYmxlPFQ+IHtcbiAgY29uc3Qgc2NoZWR1bGVyID0gZ2V0U2NoZWR1bGVycygpO1xuICByZXR1cm4gybVrZWVwVW5zdGFibGVVbnRpbEZpcnN0RmFjdG9yeShnZXRTY2hlZHVsZXJzKCkpKG9icyQpO1xufVxuXG4vKipcbiAqIE9wZXJhdG9yIHRvIGJsb2NrIHRoZSB6b25lIHVudGlsIHRoZSBmaXJzdCB2YWx1ZSBoYXMgYmVlbiBlbWl0dGVkIG9yIHRoZSBvYnNlcnZhYmxlXG4gKiBoYXMgY29tcGxldGVkL2Vycm9yZWQuIFRoaXMgaXMgdXNlZCB0byBtYWtlIHN1cmUgdGhhdCB1bml2ZXJzYWwgd2FpdHMgdW50aWwgdGhlIGZpcnN0XG4gKiB2YWx1ZSBmcm9tIGZpcmViYXNlIGJ1dCBkb2Vzbid0IGJsb2NrIHRoZSB6b25lIGZvcmV2ZXIgc2luY2UgdGhlIGZpcmViYXNlIHN1YnNjcmlwdGlvblxuICogaXMgc3RpbGwgYWxpdmUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiDJtWtlZXBVbnN0YWJsZVVudGlsRmlyc3RGYWN0b3J5KHNjaGVkdWxlcnM6IMm1QW5ndWxhckZpcmVTY2hlZHVsZXJzKSB7XG4gIHJldHVybiBmdW5jdGlvbiBrZWVwVW5zdGFibGVVbnRpbEZpcnN0PFQ+KG9icyQ6IE9ic2VydmFibGU8VD4pOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICBvYnMkID0gb2JzJC5saWZ0KFxuICAgICAgbmV3IEJsb2NrVW50aWxGaXJzdE9wZXJhdG9yKHNjaGVkdWxlcnMubmdab25lKVxuICAgICk7XG5cbiAgICByZXR1cm4gb2JzJC5waXBlKFxuICAgICAgLy8gUnVuIHRoZSBzdWJzY3JpYmUgYm9keSBvdXRzaWRlIG9mIEFuZ3VsYXIgKGUuZy4gY2FsbGluZyBGaXJlYmFzZSBTREsgdG8gYWRkIGEgbGlzdGVuZXIgdG8gYSBjaGFuZ2UgZXZlbnQpXG4gICAgICBzdWJzY3JpYmVPbihzY2hlZHVsZXJzLm91dHNpZGVBbmd1bGFyKSxcbiAgICAgIC8vIFJ1biBvcGVyYXRvcnMgaW5zaWRlIHRoZSBhbmd1bGFyIHpvbmUgKGUuZy4gc2lkZSBlZmZlY3RzIHZpYSB0YXAoKSlcbiAgICAgIG9ic2VydmVPbihzY2hlZHVsZXJzLmluc2lkZUFuZ3VsYXIpXG4gICAgICAvLyBJTlZFU1RJR0FURSBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyZmlyZS9wdWxsLzIzMTVcbiAgICAgIC8vIHNoYXJlKClcbiAgICApO1xuICB9O1xufVxuXG5jb25zdCB6b25lV3JhcEZuID0gKGl0OiAoLi4uYXJnczogYW55W10pID0+IGFueSwgbWFjcm90YXNrOiBNYWNyb1Rhc2t8dW5kZWZpbmVkKSA9PiB7XG4gIGNvbnN0IF90aGlzID0gdGhpcztcbiAgLy8gZnVuY3Rpb24oKSBpcyBuZWVkZWQgZm9yIHRoZSBhcmd1bWVudHMgb2JqZWN0XG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpvbmx5LWFycm93LWZ1bmN0aW9uc1xuICByZXR1cm4gZnVuY3Rpb24oKSB7XG4gICAgaWYgKG1hY3JvdGFzaykge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGlmIChtYWNyb3Rhc2suc3RhdGUgPT09ICdzY2hlZHVsZWQnKSB7XG4gICAgICAgICAgbWFjcm90YXNrLmludm9rZSgpO1xuICAgICAgICB9XG4gICAgICB9LCAxMCk7XG4gICAgfVxuICAgIHJldHVybiBydW4oKCkgPT4gaXQuYXBwbHkoX3RoaXMsIGFyZ3VtZW50cykpO1xuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IMm1em9uZVdyYXAgPSA8VD0gdW5rbm93bj4oaXQ6IFQsIGJsb2NrVW50aWxGaXJzdDogYm9vbGVhbik6IFQgPT4ge1xuICAvLyBmdW5jdGlvbigpIGlzIG5lZWRlZCBmb3IgdGhlIGFyZ3VtZW50cyBvYmplY3RcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm9ubHktYXJyb3ctZnVuY3Rpb25zXG4gIHJldHVybiBmdW5jdGlvbigpIHtcbiAgICBsZXQgbWFjcm90YXNrOiBNYWNyb1Rhc2sgfCB1bmRlZmluZWQ7XG4gICAgLy8gaWYgdGhpcyBpcyBhIGNhbGxiYWNrIGZ1bmN0aW9uLCBlLmcsIG9uU25hcHNob3QsIHdlIHNob3VsZCBjcmVhdGUgYSBtaWNyb3Rhc2sgYW5kIGludm9rZSBpdFxuICAgIC8vIG9ubHkgb25jZSBvbmUgb2YgdGhlIGNhbGxiYWNrIGZ1bmN0aW9ucyBpcyB0cmlwcGVkLlxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBpZiAodHlwZW9mIGFyZ3VtZW50c1tpXSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBpZiAoYmxvY2tVbnRpbEZpcnN0KSB7XG4gICAgICAgICAgbWFjcm90YXNrIHx8PSBydW4oKCkgPT4gWm9uZS5jdXJyZW50LnNjaGVkdWxlTWFjcm9UYXNrKCdmaXJlYmFzZVpvbmVCbG9jaycsIG5vb3AsIHt9LCBub29wLCBub29wKSk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gVE9ETyBjcmVhdGUgYSBtaWNyb3Rhc2sgdG8gdHJhY2sgY2FsbGJhY2sgZnVuY3Rpb25zXG4gICAgICAgIGFyZ3VtZW50c1tpXSA9IHpvbmVXcmFwRm4oYXJndW1lbnRzW2ldLCBtYWNyb3Rhc2spO1xuICAgICAgfVxuICAgIH1cbiAgICBjb25zdCByZXQgPSBydW5PdXRzaWRlQW5ndWxhcigoKSA9PiAoaXQgYXMgYW55KS5hcHBseSh0aGlzLCBhcmd1bWVudHMpKTtcbiAgICBpZiAoIWJsb2NrVW50aWxGaXJzdCkge1xuICAgICAgaWYgKHJldCBpbnN0YW5jZW9mIE9ic2VydmFibGUpIHtcbiAgICAgICAgY29uc3Qgc2NoZWR1bGVycyA9IGdldFNjaGVkdWxlcnMoKTtcbiAgICAgICAgcmV0dXJuIHJldC5waXBlKFxuICAgICAgICAgIHN1YnNjcmliZU9uKHNjaGVkdWxlcnMub3V0c2lkZUFuZ3VsYXIpLFxuICAgICAgICAgIG9ic2VydmVPbihzY2hlZHVsZXJzLmluc2lkZUFuZ3VsYXIpLFxuICAgICAgICApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHJ1bigoKSA9PiByZXQpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAocmV0IGluc3RhbmNlb2YgT2JzZXJ2YWJsZSkge1xuICAgICAgcmV0dXJuIHJldC5waXBlKGtlZXBVbnN0YWJsZVVudGlsRmlyc3QpIGFzIGFueTtcbiAgICB9IGVsc2UgaWYgKHJldCBpbnN0YW5jZW9mIFByb21pc2UpIHtcbiAgICAgIHJldHVybiBydW4oKCkgPT4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4gcmV0LnRoZW4oaXQgPT4gcnVuKCgpID0+IHJlc29sdmUoaXQpKSwgcmVhc29uID0+IHJ1bigoKSA9PiByZWplY3QocmVhc29uKSkpKSk7XG4gICAgfSBlbHNlIGlmICh0eXBlb2YgcmV0ID09PSAnZnVuY3Rpb24nICYmIG1hY3JvdGFzaykge1xuICAgICAgLy8gSGFuZGxlIHVuc3Vic2NyaWJlXG4gICAgICAvLyBmdW5jdGlvbigpIGlzIG5lZWRlZCBmb3IgdGhlIGFyZ3VtZW50cyBvYmplY3RcbiAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpvbmx5LWFycm93LWZ1bmN0aW9uc1xuICAgICAgcmV0dXJuIGZ1bmN0aW9uKCkge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICBpZiAobWFjcm90YXNrICYmIG1hY3JvdGFzay5zdGF0ZSA9PT0gJ3NjaGVkdWxlZCcpIHtcbiAgICAgICAgICAgIG1hY3JvdGFzay5pbnZva2UoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sIDEwKTtcbiAgICAgICAgcmV0dXJuIHJldC5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVE9ETyBob3cgZG8gd2UgaGFuZGxlIHN0b3JhZ2UgdXBsb2FkcyBpbiBab25lPyBhbmQgb3RoZXIgc3R1ZmYgd2l0aCBjYW5jZWwoKSBldGM/XG4gICAgICByZXR1cm4gcnVuKCgpID0+IHJldCk7XG4gICAgfVxuICB9IGFzIGFueTtcbn07XG4iXX0=
|
|
183
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9uZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvem9uZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUNMLGNBQWMsRUFDZCxVQUFVLEVBRVYsY0FBYyxFQU1mLE1BQU0sTUFBTSxDQUFDO0FBQ2QsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBRTdELFNBQVMsSUFBSTtBQUNiLENBQUM7QUFFRDs7R0FFRztBQUNILHNDQUFzQztBQUN0QyxNQUFNLE9BQU8sY0FBYztJQUN6QixZQUFvQixJQUFTLEVBQVUsV0FBZ0IsY0FBYztRQUFqRCxTQUFJLEdBQUosSUFBSSxDQUFLO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBc0I7SUFDckUsQ0FBQztJQUVELEdBQUc7UUFDRCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELFFBQVEsQ0FBQyxJQUF1RCxFQUFFLEtBQWMsRUFBRSxLQUFXO1FBQzNGLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDN0IsMEZBQTBGO1FBQzFGLHVDQUF1QztRQUN2QyxNQUFNLFVBQVUsR0FBRyxVQUFxQyxLQUFVO1lBQ2hFLFVBQVUsQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUN6QixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDNUIsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUM7UUFFRixzR0FBc0c7UUFDdEcsaUdBQWlHO1FBQ2pHLCtHQUErRztRQUMvRyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7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Q0FBQyxDQUFDO1lBQ3BDLENBQUMsQ0FBQztTQUNIO2FBQU07WUFDTCxvRkFBb0Y7WUFDcEYsT0FBTyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDdkI7SUFDSCxDQUFRLENBQUM7QUFDWCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIGFzeW5jU2NoZWR1bGVyLFxuICBPYnNlcnZhYmxlLFxuICBPcGVyYXRvcixcbiAgcXVldWVTY2hlZHVsZXIsXG4gIFNjaGVkdWxlckFjdGlvbixcbiAgU2NoZWR1bGVyTGlrZSxcbiAgU3Vic2NyaWJlcixcbiAgU3Vic2NyaXB0aW9uLFxuICBUZWFyZG93bkxvZ2ljXG59IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgb2JzZXJ2ZU9uLCBzdWJzY3JpYmVPbiwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5mdW5jdGlvbiBub29wKCkge1xufVxuXG4vKipcbiAqIFNjaGVkdWxlcyB0YXNrcyBzbyB0aGF0IHRoZXkgYXJlIGludm9rZWQgaW5zaWRlIHRoZSBab25lIHRoYXQgaXMgcGFzc2VkIGluIHRoZSBjb25zdHJ1Y3Rvci5cbiAqL1xuLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmNsYXNzLW5hbWVcbmV4cG9ydCBjbGFzcyDJtVpvbmVTY2hlZHVsZXIgaW1wbGVtZW50cyBTY2hlZHVsZXJMaWtlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSB6b25lOiBhbnksIHByaXZhdGUgZGVsZWdhdGU6IGFueSA9IHF1ZXVlU2NoZWR1bGVyKSB7XG4gIH1cblxuICBub3coKSB7XG4gICAgcmV0dXJuIHRoaXMuZGVsZWdhdGUubm93KCk7XG4gIH1cblxuICBzY2hlZHVsZSh3b3JrOiAodGhpczogU2NoZWR1bGVyQWN0aW9uPGFueT4sIHN0YXRlPzogYW55KSA9PiB2b2lkLCBkZWxheT86IG51bWJlciwgc3RhdGU/OiBhbnkpOiBTdWJzY3JpcHRpb24ge1xuICAgIGNvbnN0IHRhcmdldFpvbmUgPSB0aGlzLnpvbmU7XG4gICAgLy8gV3JhcCB0aGUgc3BlY2lmaWVkIHdvcmsgZnVuY3Rpb24gdG8gbWFrZSBzdXJlIHRoYXQgaWYgbmVzdGVkIHNjaGVkdWxpbmcgdGFrZXMgcGxhY2UgdGhlXG4gICAgLy8gd29yayBpcyBleGVjdXRlZCBpbiB0aGUgY29ycmVjdCB6b25lXG4gICAgY29uc3Qgd29ya0luWm9uZSA9IGZ1bmN0aW9uKHRoaXM6IFNjaGVkdWxlckFjdGlvbjxhbnk+LCBzdGF0ZTogYW55KSB7XG4gICAgICB0YXJnZXRab25lLnJ1bkd1YXJkZWQoKCkgPT4ge1xuICAgICAgICB3b3JrLmFwcGx5KHRoaXMsIFtzdGF0ZV0pO1xuICAgICAgfSk7XG4gICAgfTtcblxuICAgIC8vIFNjaGVkdWxpbmcgaXRzZWxmIG5lZWRzIHRvIGJlIHJ1biBpbiB6b25lIHRvIGVuc3VyZSBzZXRJbnRlcnZhbCBjYWxscyBmb3IgYXN5bmMgc2NoZWR1bGluZyBhcmUgZG9uZVxuICAgIC8vIGluc2lkZSB0aGUgY29ycmVjdCB6b25lLiBUaGlzIHNjaGVkdWxlciBuZWVkcyB0byBzY2hlZHVsZSBhc3luY2hyb25vdXNseSBhbHdheXMgdG8gZW5zdXJlIHRoYXRcbiAgICAvLyBmaXJlYmFzZSBlbWlzc2lvbnMgYXJlIG5ldmVyIHN5bmNocm9ub3VzLiBTcGVjaWZ5aW5nIGEgZGVsYXkgY2F1c2VzIGlzc3VlcyB3aXRoIHRoZSBxdWV1ZVNjaGVkdWxlciBkZWxlZ2F0ZS5cbiAgICByZXR1cm4gdGhpcy5kZWxlZ2F0ZS5zY2hlZHVsZSh3b3JrSW5ab25lLCBkZWxheSwgc3RhdGUpO1xuICB9XG59XG5cbmNsYXNzIEJsb2NrVW50aWxGaXJzdE9wZXJhdG9yPFQ+IGltcGxlbWVudHMgT3BlcmF0b3I8VCwgVD4ge1xuICBwcml2YXRlIHRhc2s6IE1hY3JvVGFzayB8IG51bGwgPSBudWxsO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgem9uZTogYW55KSB7XG4gIH1cblxuICBjYWxsKHN1YnNjcmliZXI6IFN1YnNjcmliZXI8VD4sIHNvdXJjZTogT2JzZXJ2YWJsZTxUPik6IFRlYXJkb3duTG9naWMge1xuICAgIGNvbnN0IHVuc2NoZWR1bGVUYXNrID0gdGhpcy51bnNjaGVkdWxlVGFzay5iaW5kKHRoaXMpO1xuICAgIHRoaXMudGFzayA9IHRoaXMuem9uZS5ydW4oKCkgPT4gWm9uZS5jdXJyZW50LnNjaGVkdWxlTWFjcm9UYXNrKCdmaXJlYmFzZVpvbmVCbG9jaycsIG5vb3AsIHt9LCBub29wLCBub29wKSk7XG5cbiAgICByZXR1cm4gc291cmNlLnBpcGUoXG4gICAgICB0YXAoeyBuZXh0OiB1bnNjaGVkdWxlVGFzaywgY29tcGxldGU6IHVuc2NoZWR1bGVUYXNrLCBlcnJvcjogdW5zY2hlZHVsZVRhc2sgfSlcbiAgICApLnN1YnNjcmliZShzdWJzY3JpYmVyKS5hZGQodW5zY2hlZHVsZVRhc2spO1xuICB9XG5cbiAgcHJpdmF0ZSB1bnNjaGVkdWxlVGFzaygpIHtcbiAgICAvLyBtYXliZSB0aGlzIGlzIGEgcmFjZSBjb25kaXRpb24sIGludm9rZSBpbiBhIHRpbWVvdXRcbiAgICAvLyBob2xkIGZvciAxMG1zIHdoaWxlIEkgdHJ5IHRvIGZpZ3VyZSBvdXQgd2hhdCBpcyBnb2luZyBvblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMudGFzayAhPSBudWxsICYmIHRoaXMudGFzay5zdGF0ZSA9PT0gJ3NjaGVkdWxlZCcpIHtcbiAgICAgICAgdGhpcy50YXNrLmludm9rZSgpO1xuICAgICAgICB0aGlzLnRhc2sgPSBudWxsO1xuICAgICAgfVxuICAgIH0sIDEwKTtcbiAgfVxufVxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG4vLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6Y2xhc3MtbmFtZVxuZXhwb3J0IGNsYXNzIMm1QW5ndWxhckZpcmVTY2hlZHVsZXJzIHtcbiAgcHVibGljIHJlYWRvbmx5IG91dHNpZGVBbmd1bGFyOiDJtVpvbmVTY2hlZHVsZXI7XG4gIHB1YmxpYyByZWFkb25seSBpbnNpZGVBbmd1bGFyOiDJtVpvbmVTY2hlZHVsZXI7XG5cbiAgY29uc3RydWN0b3IocHVibGljIG5nWm9uZTogTmdab25lKSB7XG4gICAgdGhpcy5vdXRzaWRlQW5ndWxhciA9IG5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiBuZXcgybVab25lU2NoZWR1bGVyKFpvbmUuY3VycmVudCkpO1xuICAgIHRoaXMuaW5zaWRlQW5ndWxhciA9IG5nWm9uZS5ydW4oKCkgPT4gbmV3IMm1Wm9uZVNjaGVkdWxlcihab25lLmN1cnJlbnQsIGFzeW5jU2NoZWR1bGVyKSk7XG4gICAgZ2xvYmFsVGhpcy7JtUFuZ3VsYXJGaXJlU2NoZWR1bGVyIHx8PSB0aGlzO1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldFNjaGVkdWxlcnMoKSB7XG4gIGNvbnN0IHNjaGVkdWxlcnMgPSBnbG9iYWxUaGlzLsm1QW5ndWxhckZpcmVTY2hlZHVsZXIgYXMgybVBbmd1bGFyRmlyZVNjaGVkdWxlcnN8dW5kZWZpbmVkO1xuICBpZiAoIXNjaGVkdWxlcnMpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG5gRWl0aGVyIEFuZ3VsYXJGaXJlTW9kdWxlIGhhcyBub3QgYmVlbiBwcm92aWRlZCBpbiB5b3VyIEFwcE1vZHVsZSAodGhpcyBjYW4gYmUgZG9uZSBtYW51YWxseSBvciBpbXBsaWN0bHkgdXNpbmdcbnByb3ZpZGVGaXJlYmFzZUFwcCkgb3IgeW91J3JlIGNhbGxpbmcgYW4gQW5ndWxhckZpcmUgbWV0aG9kIG91dHNpZGUgb2YgYW4gTmdNb2R1bGUgKHdoaWNoIGlzIG5vdCBzdXBwb3J0ZWQpLmApO1xuICB9XG4gIHJldHVybiBzY2hlZHVsZXJzO1xufVxuXG5mdW5jdGlvbiBydW5PdXRzaWRlQW5ndWxhcjxUPihmbjogKC4uLmFyZ3M6IGFueVtdKSA9PiBUKTogVCB7XG4gIHJldHVybiBnZXRTY2hlZHVsZXJzKCkubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IGZuKCkpO1xufVxuXG5mdW5jdGlvbiBydW48VD4oZm46ICguLi5hcmdzOiBhbnlbXSkgPT4gVCk6IFQge1xuICByZXR1cm4gZ2V0U2NoZWR1bGVycygpLm5nWm9uZS5ydW4oKCkgPT4gZm4oKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBvYnNlcnZlT3V0c2lkZUFuZ3VsYXI8VD4ob2JzJDogT2JzZXJ2YWJsZTxUPik6IE9ic2VydmFibGU8VD4ge1xuICByZXR1cm4gb2JzJC5waXBlKG9ic2VydmVPbihnZXRTY2hlZHVsZXJzKCkub3V0c2lkZUFuZ3VsYXIpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG9ic2VydmVJbnNpZGVBbmd1bGFyPFQ+KG9icyQ6IE9ic2VydmFibGU8VD4pOiBPYnNlcnZhYmxlPFQ+IHtcbiAgcmV0dXJuIG9icyQucGlwZShvYnNlcnZlT24oZ2V0U2NoZWR1bGVycygpLmluc2lkZUFuZ3VsYXIpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGtlZXBVbnN0YWJsZVVudGlsRmlyc3Q8VD4ob2JzJDogT2JzZXJ2YWJsZTxUPik6IE9ic2VydmFibGU8VD4ge1xuICBjb25zdCBzY2hlZHVsZXIgPSBnZXRTY2hlZHVsZXJzKCk7XG4gIHJldHVybiDJtWtlZXBVbnN0YWJsZVVudGlsRmlyc3RGYWN0b3J5KGdldFNjaGVkdWxlcnMoKSkob2JzJCk7XG59XG5cbi8qKlxuICogT3BlcmF0b3IgdG8gYmxvY2sgdGhlIHpvbmUgdW50aWwgdGhlIGZpcnN0IHZhbHVlIGhhcyBiZWVuIGVtaXR0ZWQgb3IgdGhlIG9ic2VydmFibGVcbiAqIGhhcyBjb21wbGV0ZWQvZXJyb3JlZC4gVGhpcyBpcyB1c2VkIHRvIG1ha2Ugc3VyZSB0aGF0IHVuaXZlcnNhbCB3YWl0cyB1bnRpbCB0aGUgZmlyc3RcbiAqIHZhbHVlIGZyb20gZmlyZWJhc2UgYnV0IGRvZXNuJ3QgYmxvY2sgdGhlIHpvbmUgZm9yZXZlciBzaW5jZSB0aGUgZmlyZWJhc2Ugc3Vic2NyaXB0aW9uXG4gKiBpcyBzdGlsbCBhbGl2ZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIMm1a2VlcFVuc3RhYmxlVW50aWxGaXJzdEZhY3Rvcnkoc2NoZWR1bGVyczogybVBbmd1bGFyRmlyZVNjaGVkdWxlcnMpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIGtlZXBVbnN0YWJsZVVudGlsRmlyc3Q8VD4ob2JzJDogT2JzZXJ2YWJsZTxUPik6IE9ic2VydmFibGU8VD4ge1xuICAgIG9icyQgPSBvYnMkLmxpZnQoXG4gICAgICBuZXcgQmxvY2tVbnRpbEZpcnN0T3BlcmF0b3Ioc2NoZWR1bGVycy5uZ1pvbmUpXG4gICAgKTtcblxuICAgIHJldHVybiBvYnMkLnBpcGUoXG4gICAgICAvLyBSdW4gdGhlIHN1YnNjcmliZSBib2R5IG91dHNpZGUgb2YgQW5ndWxhciAoZS5nLiBjYWxsaW5nIEZpcmViYXNlIFNESyB0byBhZGQgYSBsaXN0ZW5lciB0byBhIGNoYW5nZSBldmVudClcbiAgICAgIHN1YnNjcmliZU9uKHNjaGVkdWxlcnMub3V0c2lkZUFuZ3VsYXIpLFxuICAgICAgLy8gUnVuIG9wZXJhdG9ycyBpbnNpZGUgdGhlIGFuZ3VsYXIgem9uZSAoZS5nLiBzaWRlIGVmZmVjdHMgdmlhIHRhcCgpKVxuICAgICAgb2JzZXJ2ZU9uKHNjaGVkdWxlcnMuaW5zaWRlQW5ndWxhcilcbiAgICAgIC8vIElOVkVTVElHQVRFIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXJmaXJlL3B1bGwvMjMxNVxuICAgICAgLy8gc2hhcmUoKVxuICAgICk7XG4gIH07XG59XG5cbmNvbnN0IHpvbmVXcmFwRm4gPSAoaXQ6ICguLi5hcmdzOiBhbnlbXSkgPT4gYW55LCBtYWNyb3Rhc2s6IE1hY3JvVGFza3x1bmRlZmluZWQpID0+IHtcbiAgY29uc3QgX3RoaXMgPSB0aGlzO1xuICAvLyBmdW5jdGlvbigpIGlzIG5lZWRlZCBmb3IgdGhlIGFyZ3VtZW50cyBvYmplY3RcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm9ubHktYXJyb3ctZnVuY3Rpb25zXG4gIHJldHVybiBmdW5jdGlvbigpIHtcbiAgICBjb25zdCBfYXJndW1lbnRzID0gYXJndW1lbnRzO1xuICAgIGlmIChtYWNyb3Rhc2spIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBpZiAobWFjcm90YXNrLnN0YXRlID09PSAnc2NoZWR1bGVkJykge1xuICAgICAgICAgIG1hY3JvdGFzay5pbnZva2UoKTtcbiAgICAgICAgfVxuICAgICAgfSwgMTApO1xuICAgIH1cbiAgICByZXR1cm4gcnVuKCgpID0+IGl0LmFwcGx5KF90aGlzLCBfYXJndW1lbnRzKSk7XG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgybV6b25lV3JhcCA9IDxUPSB1bmtub3duPihpdDogVCwgYmxvY2tVbnRpbEZpcnN0OiBib29sZWFuKTogVCA9PiB7XG4gIC8vIGZ1bmN0aW9uKCkgaXMgbmVlZGVkIGZvciB0aGUgYXJndW1lbnRzIG9iamVjdFxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6b25seS1hcnJvdy1mdW5jdGlvbnNcbiAgcmV0dXJuIGZ1bmN0aW9uKCkge1xuICAgIGxldCBtYWNyb3Rhc2s6IE1hY3JvVGFzayB8IHVuZGVmaW5lZDtcbiAgICBjb25zdCBfYXJndW1lbnRzID0gYXJndW1lbnRzO1xuICAgIC8vIGlmIHRoaXMgaXMgYSBjYWxsYmFjayBmdW5jdGlvbiwgZS5nLCBvblNuYXBzaG90LCB3ZSBzaG91bGQgY3JlYXRlIGEgbWljcm90YXNrIGFuZCBpbnZva2UgaXRcbiAgICAvLyBvbmx5IG9uY2Ugb25lIG9mIHRoZSBjYWxsYmFjayBmdW5jdGlvbnMgaXMgdHJpcHBlZC5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgaWYgKHR5cGVvZiBfYXJndW1lbnRzW2ldID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIGlmIChibG9ja1VudGlsRmlyc3QpIHtcbiAgICAgICAgICBtYWNyb3Rhc2sgfHw9IHJ1bigoKSA9PiBab25lLmN1cnJlbnQuc2NoZWR1bGVNYWNyb1Rhc2soJ2ZpcmViYXNlWm9uZUJsb2NrJywgbm9vcCwge30sIG5vb3AsIG5vb3ApKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBUT0RPIGNyZWF0ZSBhIG1pY3JvdGFzayB0byB0cmFjayBjYWxsYmFjayBmdW5jdGlvbnNcbiAgICAgICAgX2FyZ3VtZW50c1tpXSA9IHpvbmVXcmFwRm4oX2FyZ3VtZW50c1tpXSwgbWFjcm90YXNrKTtcbiAgICAgIH1cbiAgICB9XG4gICAgY29uc3QgcmV0ID0gcnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4gKGl0IGFzIGFueSkuYXBwbHkodGhpcywgX2FyZ3VtZW50cykpO1xuICAgIGlmICghYmxvY2tVbnRpbEZpcnN0KSB7XG4gICAgICBpZiAocmV0IGluc3RhbmNlb2YgT2JzZXJ2YWJsZSkge1xuICAgICAgICBjb25zdCBzY2hlZHVsZXJzID0gZ2V0U2NoZWR1bGVycygpO1xuICAgICAgICByZXR1cm4gcmV0LnBpcGUoXG4gICAgICAgICAgc3Vic2NyaWJlT24oc2NoZWR1bGVycy5vdXRzaWRlQW5ndWxhciksXG4gICAgICAgICAgb2JzZXJ2ZU9uKHNjaGVkdWxlcnMuaW5zaWRlQW5ndWxhciksXG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gcnVuKCgpID0+IHJldCk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChyZXQgaW5zdGFuY2VvZiBPYnNlcnZhYmxlKSB7XG4gICAgICByZXR1cm4gcmV0LnBpcGUoa2VlcFVuc3RhYmxlVW50aWxGaXJzdCkgYXMgYW55O1xuICAgIH0gZWxzZSBpZiAocmV0IGluc3RhbmNlb2YgUHJvbWlzZSkge1xuICAgICAgcmV0dXJuIHJ1bigoKSA9PiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiByZXQudGhlbihpdCA9PiBydW4oKCkgPT4gcmVzb2x2ZShpdCkpLCByZWFzb24gPT4gcnVuKCgpID0+IHJlamVjdChyZWFzb24pKSkpKTtcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiByZXQgPT09ICdmdW5jdGlvbicgJiYgbWFjcm90YXNrKSB7XG4gICAgICAvLyBIYW5kbGUgdW5zdWJzY3JpYmVcbiAgICAgIC8vIGZ1bmN0aW9uKCkgaXMgbmVlZGVkIGZvciB0aGUgYXJndW1lbnRzIG9iamVjdFxuICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm9ubHktYXJyb3ctZnVuY3Rpb25zXG4gICAgICByZXR1cm4gZnVuY3Rpb24oKSB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIGlmIChtYWNyb3Rhc2sgJiYgbWFjcm90YXNrLnN0YXRlID09PSAnc2NoZWR1bGVkJykge1xuICAgICAgICAgICAgbWFjcm90YXNrLmludm9rZSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSwgMTApO1xuICAgICAgICByZXR1cm4gcmV0LmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBUT0RPIGhvdyBkbyB3ZSBoYW5kbGUgc3RvcmFnZSB1cGxvYWRzIGluIFpvbmU/IGFuZCBvdGhlciBzdHVmZiB3aXRoIGNhbmNlbCgpIGV0Yz9cbiAgICAgIHJldHVybiBydW4oKCkgPT4gcmV0KTtcbiAgICB9XG4gIH0gYXMgYW55O1xufTtcbiJdfQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"angular-fire-compat.js","sources":["../../../src/compat/proxy.ts","../../../src/compat/firebase.app.ts","../../../src/compat/firebase.app.module.ts","../../../src/compat/cache.ts","../../../src/compat/angular-fire-compat.ts"],"sourcesContent":["import { NgZone } from '@angular/core';\nimport { Observable } from 'rxjs';\n\n// tslint:disable:ban-types\ntype FunctionPropertyNames<T> = { [K in keyof T]: T[K] extends Function ? K : never }[keyof T];\ntype PromiseReturningFunctionPropertyNames<T> = {\n [K in FunctionPropertyNames<T>]: ReturnType<T[K]> extends Promise<any> ? K : never\n}[FunctionPropertyNames<T>];\ntype NonPromiseReturningFunctionPropertyNames<T> = {\n [K in FunctionPropertyNames<T>]: ReturnType<T[K]> extends Promise<any> ? never : K\n}[FunctionPropertyNames<T>];\ntype NonFunctionPropertyNames<T> = { [K in keyof T]: T[K] extends Function ? never : K }[keyof T];\n// tslint:enable:ban-types\n\nexport type ɵPromiseProxy<T> = { [K in NonFunctionPropertyNames<T>]: Promise<T[K]> } &\n { [K in NonPromiseReturningFunctionPropertyNames<T>]: (...args: Parameters<T[K]>) => Promise<ReturnType<T[K]>> } &\n { [K in PromiseReturningFunctionPropertyNames<T>]: (...args: Parameters<T[K]>) => ReturnType<T[K]> };\n\n\n// DEBUG quick debugger function for inline logging that typescript doesn't complain about\n// wrote it for debugging the ɵlazySDKProxy, commenting out for now; should consider exposing a\n// verbose mode for AngularFire in a future release that uses something like this in multiple places\n// usage: () => log('something') || returnValue\n// const log = (...args: any[]): false => { console.log(...args); return false }\n\n// The problem here are things like ngOnDestroy are missing, then triggering the service\n// rather than dig too far; I'm capturing these as I go.\nconst noopFunctions = ['ngOnDestroy'];\n\n// INVESTIGATE should we make the Proxy revokable and do some cleanup?\n// right now it's fairly simple but I'm sure this will grow in complexity\nexport const ɵlazySDKProxy = (klass: any, observable: Observable<any>, zone: NgZone, options: {\n spy?: {\n get?: ((name: string, it: any) => void),\n apply?: ((name: string, args: any[], it: any) => void)\n }\n} = {}) => {\n return new Proxy(klass, {\n get: (_, name: string) => zone.runOutsideAngular(() => {\n if (klass[name]) {\n if (options?.spy?.get) {\n options.spy.get(name, klass[name]);\n }\n return klass[name];\n }\n if (noopFunctions.indexOf(name) > -1) {\n return () => {\n };\n }\n const promise = observable.toPromise().then(mod => {\n const ret = mod && mod[name];\n // TODO move to proper type guards\n if (typeof ret === 'function') {\n return ret.bind(mod);\n } else if (ret && ret.then) {\n return ret.then((res: any) => zone.run(() => res));\n } else {\n return zone.run(() => ret);\n }\n });\n // recurse the proxy\n return new Proxy(() => {}, {\n get: (_, name) => promise[name],\n // TODO handle callbacks as transparently as I can\n apply: (self, _, args) => promise.then(it => {\n const res = it && it(...args);\n if (options?.spy?.apply) {\n options.spy.apply(name, args, res);\n }\n return res;\n })\n }\n );\n })\n });\n};\n\nexport const ɵapplyMixins = (derivedCtor: any, constructors: any[]) => {\n constructors.forEach((baseCtor) => {\n Object.getOwnPropertyNames(baseCtor.prototype || baseCtor).forEach((name) => {\n Object.defineProperty(\n derivedCtor.prototype,\n name,\n Object.getOwnPropertyDescriptor(baseCtor.prototype || baseCtor, name)\n );\n });\n });\n};\n","import firebase from 'firebase/compat/app';\n\n// tslint:disable-next-line:no-empty-interface\nexport interface FirebaseApp extends firebase.app.App {}\n\nexport class FirebaseApp {\n constructor(app: firebase.app.App) {\n return app;\n }\n}\n","import {\n InjectionToken, Inject, isDevMode, ModuleWithProviders, NgModule, NgZone, Optional, PLATFORM_ID, VERSION as NG_VERSION, Version\n} from '@angular/core';\nimport firebase from 'firebase/compat/app';\nimport { FirebaseOptions, FirebaseAppSettings } from 'firebase/app';\nimport { VERSION } from '@angular/fire';\nimport { FirebaseApp } from './firebase.app';\n\nexport const FIREBASE_OPTIONS = new InjectionToken<FirebaseOptions>('angularfire2.app.options');\nexport const FIREBASE_APP_NAME = new InjectionToken<string | undefined>('angularfire2.app.name');\n\n\nexport function ɵfirebaseAppFactory(options: FirebaseOptions, zone: NgZone, nameOrConfig?: string | FirebaseAppSettings | null) {\n const name = typeof nameOrConfig === 'string' && nameOrConfig || '[DEFAULT]';\n const config = typeof nameOrConfig === 'object' && nameOrConfig || {};\n config.name = config.name || name;\n // Added any due to some inconsistency between @firebase/app and firebase types\n const existingApp = firebase.apps.filter(app => app && app.name === config.name)[0];\n // We support FirebaseConfig, initializeApp's public type only accepts string; need to cast as any\n // Could be solved with https://github.com/firebase/firebase-js-sdk/pull/1206\n const app = (existingApp || zone.runOutsideAngular(() => firebase.initializeApp(options, config as any)));\n try {\n if (JSON.stringify(options) !== JSON.stringify(app.options)) {\n const hmr = !!(module as any).hot;\n log('error', `${app.name} Firebase App already initialized with different options${hmr ? ', you may need to reload as Firebase is not HMR aware.' : '.'}`);\n }\n } catch (e) { }\n return new FirebaseApp(app);\n}\n\nconst log = (level: 'log'|'error'|'info'|'warn', ...args: any) => {\n if (isDevMode() && typeof console !== 'undefined') {\n console[level](...args);\n }\n};\n\nconst FIREBASE_APP_PROVIDER = {\n provide: FirebaseApp,\n useFactory: ɵfirebaseAppFactory,\n deps: [\n FIREBASE_OPTIONS,\n NgZone,\n [new Optional(), FIREBASE_APP_NAME]\n ]\n};\n\n@NgModule({\n providers: [FIREBASE_APP_PROVIDER]\n})\nexport class AngularFireModule {\n static initializeApp(options: FirebaseOptions, nameOrConfig?: string | FirebaseAppSettings): ModuleWithProviders<AngularFireModule> {\n return {\n ngModule: AngularFireModule,\n providers: [\n {provide: FIREBASE_OPTIONS, useValue: options},\n {provide: FIREBASE_APP_NAME, useValue: nameOrConfig}\n ]\n };\n }\n\n // tslint:disable-next-line:ban-types\n constructor(@Inject(PLATFORM_ID) platformId: Object) {\n firebase.registerVersion('angularfire', VERSION.full, 'core');\n firebase.registerVersion('angularfire', VERSION.full, 'app-compat');\n firebase.registerVersion('angular', NG_VERSION.full, platformId.toString());\n }\n}\n","import { isDevMode } from '@angular/core';\n\nexport function ɵcacheInstance<T>(cacheKey: any, moduleName: string, appName: string, fn: () => T, deps: any): T {\n const [, instance, cachedDeps] = globalThis.ɵAngularfireInstanceCache.find((it: any) => it[0] === cacheKey) || [];\n if (instance) {\n if (!matchDep(deps, cachedDeps)) {\n log('error', `${moduleName} was already initialized on the ${appName} Firebase App with different settings.${IS_HMR ? ' You may need to reload as Firebase is not HMR aware.' : ''}`);\n log('warn', {is: deps, was: cachedDeps});\n }\n return instance;\n } else {\n const newInstance = fn();\n globalThis.ɵAngularfireInstanceCache.push([cacheKey, newInstance, deps]);\n return newInstance;\n }\n}\n\nfunction matchDep(a: any, b: any) {\n try {\n return a.toString() === b.toString();\n } catch (_) {\n return a === b;\n }\n}\n\nconst IS_HMR = !!(module as any).hot;\n\nconst log = (level: 'log'|'error'|'info'|'warn', ...args: any) => {\n if (isDevMode() && typeof console !== 'undefined') {\n console[level](...args);\n }\n};\n\nglobalThis.ɵAngularfireInstanceCache ||= [];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["log","NG_VERSION"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"angular-fire-compat.js","sources":["../../../src/compat/proxy.ts","../../../src/compat/firebase.app.ts","../../../src/compat/firebase.app.module.ts","../../../src/compat/cache.ts","../../../src/compat/angular-fire-compat.ts"],"sourcesContent":["import { NgZone } from '@angular/core';\nimport { Observable } from 'rxjs';\n\ntype MyFunction = (...args: any[]) => any;\ntype FunctionPropertyNames<T> = { [K in keyof T]: T[K] extends MyFunction ? K : never }[keyof T];\ntype ReturnTypeOrNever<T> = T extends MyFunction ? ReturnType<T> : never;\ntype ParametersOrNever<T> = T extends MyFunction ? Parameters<T> : never;\ntype PromiseReturningFunctionPropertyNames<T> = {\n [K in FunctionPropertyNames<T>]: ReturnTypeOrNever<T[K]> extends Promise<any> ? K : never\n}[FunctionPropertyNames<T>];\ntype NonPromiseReturningFunctionPropertyNames<T> = {\n [K in FunctionPropertyNames<T>]: ReturnTypeOrNever<T[K]> extends Promise<any> ? never : K\n}[FunctionPropertyNames<T>];\ntype NonFunctionPropertyNames<T> = { [K in keyof T]: T[K] extends MyFunction ? never : K }[keyof T];\n\nexport type ɵPromiseProxy<T> = { [K in NonFunctionPropertyNames<T>]: Promise<T[K]> } &\n { [K in NonPromiseReturningFunctionPropertyNames<T>]: (...args: ParametersOrNever<T[K]>) => Promise<ReturnTypeOrNever<T[K]>> } &\n { [K in PromiseReturningFunctionPropertyNames<T>]: T[K] };\n\n// DEBUG quick debugger function for inline logging that typescript doesn't complain about\n// wrote it for debugging the ɵlazySDKProxy, commenting out for now; should consider exposing a\n// verbose mode for AngularFire in a future release that uses something like this in multiple places\n// usage: () => log('something') || returnValue\n// const log = (...args: any[]): false => { console.log(...args); return false }\n\n// The problem here are things like ngOnDestroy are missing, then triggering the service\n// rather than dig too far; I'm capturing these as I go.\nconst noopFunctions = ['ngOnDestroy'];\n\n// INVESTIGATE should we make the Proxy revokable and do some cleanup?\n// right now it's fairly simple but I'm sure this will grow in complexity\nexport const ɵlazySDKProxy = (klass: any, observable: Observable<any>, zone: NgZone, options: {\n spy?: {\n get?: ((name: string, it: any) => void),\n apply?: ((name: string, args: any[], it: any) => void)\n }\n} = {}) => {\n return new Proxy(klass, {\n get: (_, name: string) => zone.runOutsideAngular(() => {\n if (klass[name]) {\n if (options?.spy?.get) {\n options.spy.get(name, klass[name]);\n }\n return klass[name];\n }\n if (noopFunctions.indexOf(name) > -1) {\n return () => {\n };\n }\n const promise = observable.toPromise().then(mod => {\n const ret = mod && mod[name];\n // TODO move to proper type guards\n if (typeof ret === 'function') {\n return ret.bind(mod);\n } else if (ret && ret.then) {\n return ret.then((res: any) => zone.run(() => res));\n } else {\n return zone.run(() => ret);\n }\n });\n // recurse the proxy\n return new Proxy(() => {}, {\n get: (_, name) => promise[name],\n // TODO handle callbacks as transparently as I can\n apply: (self, _, args) => promise.then(it => {\n const res = it && it(...args);\n if (options?.spy?.apply) {\n options.spy.apply(name, args, res);\n }\n return res;\n })\n }\n );\n })\n });\n};\n\nexport const ɵapplyMixins = (derivedCtor: any, constructors: any[]) => {\n constructors.forEach((baseCtor) => {\n Object.getOwnPropertyNames(baseCtor.prototype || baseCtor).forEach((name) => {\n Object.defineProperty(\n derivedCtor.prototype,\n name,\n Object.getOwnPropertyDescriptor(baseCtor.prototype || baseCtor, name)\n );\n });\n });\n};\n","import firebase from 'firebase/compat/app';\n\n// tslint:disable-next-line:no-empty-interface\nexport interface FirebaseApp extends firebase.app.App {}\n\nexport class FirebaseApp {\n constructor(app: firebase.app.App) {\n return app;\n }\n}\n","import {\n InjectionToken, Inject, isDevMode, ModuleWithProviders, NgModule, NgZone, Optional, PLATFORM_ID, VERSION as NG_VERSION, Version\n} from '@angular/core';\nimport firebase from 'firebase/compat/app';\nimport { FirebaseOptions, FirebaseAppSettings } from 'firebase/app';\nimport { VERSION } from '@angular/fire';\nimport { FirebaseApp } from './firebase.app';\n\nexport const FIREBASE_OPTIONS = new InjectionToken<FirebaseOptions>('angularfire2.app.options');\nexport const FIREBASE_APP_NAME = new InjectionToken<string | undefined>('angularfire2.app.name');\n\n\nexport function ɵfirebaseAppFactory(options: FirebaseOptions, zone: NgZone, nameOrConfig?: string | FirebaseAppSettings | null) {\n const name = typeof nameOrConfig === 'string' && nameOrConfig || '[DEFAULT]';\n const config = typeof nameOrConfig === 'object' && nameOrConfig || {};\n config.name = config.name || name;\n // Added any due to some inconsistency between @firebase/app and firebase types\n const existingApp = firebase.apps.filter(app => app && app.name === config.name)[0];\n // We support FirebaseConfig, initializeApp's public type only accepts string; need to cast as any\n // Could be solved with https://github.com/firebase/firebase-js-sdk/pull/1206\n const app = (existingApp || zone.runOutsideAngular(() => firebase.initializeApp(options, config as any)));\n try {\n if (JSON.stringify(options) !== JSON.stringify(app.options)) {\n const hmr = !!(module as any).hot;\n log('error', `${app.name} Firebase App already initialized with different options${hmr ? ', you may need to reload as Firebase is not HMR aware.' : '.'}`);\n }\n } catch (e) { }\n return new FirebaseApp(app);\n}\n\nconst log = (level: 'log'|'error'|'info'|'warn', ...args: any) => {\n if (isDevMode() && typeof console !== 'undefined') {\n console[level](...args);\n }\n};\n\nconst FIREBASE_APP_PROVIDER = {\n provide: FirebaseApp,\n useFactory: ɵfirebaseAppFactory,\n deps: [\n FIREBASE_OPTIONS,\n NgZone,\n [new Optional(), FIREBASE_APP_NAME]\n ]\n};\n\n@NgModule({\n providers: [FIREBASE_APP_PROVIDER]\n})\nexport class AngularFireModule {\n static initializeApp(options: FirebaseOptions, nameOrConfig?: string | FirebaseAppSettings): ModuleWithProviders<AngularFireModule> {\n return {\n ngModule: AngularFireModule,\n providers: [\n {provide: FIREBASE_OPTIONS, useValue: options},\n {provide: FIREBASE_APP_NAME, useValue: nameOrConfig}\n ]\n };\n }\n\n // tslint:disable-next-line:ban-types\n constructor(@Inject(PLATFORM_ID) platformId: Object) {\n firebase.registerVersion('angularfire', VERSION.full, 'core');\n firebase.registerVersion('angularfire', VERSION.full, 'app-compat');\n firebase.registerVersion('angular', NG_VERSION.full, platformId.toString());\n }\n}\n","import { isDevMode } from '@angular/core';\n\nexport function ɵcacheInstance<T>(cacheKey: any, moduleName: string, appName: string, fn: () => T, deps: any): T {\n const [, instance, cachedDeps] = globalThis.ɵAngularfireInstanceCache.find((it: any) => it[0] === cacheKey) || [];\n if (instance) {\n if (!matchDep(deps, cachedDeps)) {\n log('error', `${moduleName} was already initialized on the ${appName} Firebase App with different settings.${IS_HMR ? ' You may need to reload as Firebase is not HMR aware.' : ''}`);\n log('warn', {is: deps, was: cachedDeps});\n }\n return instance;\n } else {\n const newInstance = fn();\n globalThis.ɵAngularfireInstanceCache.push([cacheKey, newInstance, deps]);\n return newInstance;\n }\n}\n\nfunction matchDep(a: any, b: any) {\n try {\n return a.toString() === b.toString();\n } catch (_) {\n return a === b;\n }\n}\n\nconst IS_HMR = !!(module as any).hot;\n\nconst log = (level: 'log'|'error'|'info'|'warn', ...args: any) => {\n if (isDevMode() && typeof console !== 'undefined') {\n console[level](...args);\n }\n};\n\nglobalThis.ɵAngularfireInstanceCache ||= [];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["log","NG_VERSION"],"mappings":"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"}
|
package/fesm2015/angular-fire.js
CHANGED
|
@@ -7,16 +7,16 @@ import { isSupported } from 'firebase/analytics';
|
|
|
7
7
|
import { queueScheduler, asyncScheduler, Observable } from 'rxjs';
|
|
8
8
|
import { tap, observeOn, subscribeOn } from 'rxjs/operators';
|
|
9
9
|
|
|
10
|
-
const VERSION = new Version('7.2.0-canary.
|
|
10
|
+
const VERSION = new Version('7.2.0-canary.4852c35');
|
|
11
11
|
const isAnalyticsSupportedValueSymbol = '__angularfire_symbol__analyticsIsSupportedValue';
|
|
12
12
|
const isAnalyticsSupportedPromiseSymbol = '__angularfire_symbol__analyticsIsSupported';
|
|
13
13
|
const isRemoteConfigSupportedValueSymbol = '__angularfire_symbol__remoteConfigIsSupportedValue';
|
|
14
14
|
const isRemoteConfigSupportedPromiseSymbol = '__angularfire_symbol__remoteConfigIsSupported';
|
|
15
15
|
const isMessagingSupportedValueSymbol = '__angularfire_symbol__messagingIsSupportedValue';
|
|
16
16
|
const isMessagingSupportedPromiseSymbol = '__angularfire_symbol__messagingIsSupported';
|
|
17
|
-
globalThis[isAnalyticsSupportedPromiseSymbol] || (globalThis[isAnalyticsSupportedPromiseSymbol] = isSupported().then(it => globalThis[isAnalyticsSupportedValueSymbol] = it));
|
|
18
|
-
globalThis[isMessagingSupportedPromiseSymbol] || (globalThis[isMessagingSupportedPromiseSymbol] = isSupported$1().then(it => globalThis[isMessagingSupportedValueSymbol] = it));
|
|
19
|
-
globalThis[isRemoteConfigSupportedPromiseSymbol] || (globalThis[isRemoteConfigSupportedPromiseSymbol] = isSupported$2().then(it => globalThis[isRemoteConfigSupportedValueSymbol] = it));
|
|
17
|
+
globalThis[isAnalyticsSupportedPromiseSymbol] || (globalThis[isAnalyticsSupportedPromiseSymbol] = isSupported().then(it => globalThis[isAnalyticsSupportedValueSymbol] = it).catch(() => globalThis[isAnalyticsSupportedValueSymbol] = false));
|
|
18
|
+
globalThis[isMessagingSupportedPromiseSymbol] || (globalThis[isMessagingSupportedPromiseSymbol] = isSupported$1().then(it => globalThis[isMessagingSupportedValueSymbol] = it).catch(() => globalThis[isMessagingSupportedValueSymbol] = false));
|
|
19
|
+
globalThis[isRemoteConfigSupportedPromiseSymbol] || (globalThis[isRemoteConfigSupportedPromiseSymbol] = isSupported$2().then(it => globalThis[isRemoteConfigSupportedValueSymbol] = it).catch(() => globalThis[isRemoteConfigSupportedValueSymbol] = false));
|
|
20
20
|
const isSupportedError = (module) => `The APP_INITIALIZER that is "making" isSupported() sync for the sake of convenient DI has not resolved in this
|
|
21
21
|
context. Rather than injecting ${module} in the constructor, first ensure that ${module} is supported by calling
|
|
22
22
|
\`await isSupported()\`, then retrieve the instance from the injector manually \`injector.get(${module})\`.`;
|
|
@@ -196,6 +196,7 @@ const zoneWrapFn = (it, macrotask) => {
|
|
|
196
196
|
// function() is needed for the arguments object
|
|
197
197
|
// tslint:disable-next-line:only-arrow-functions
|
|
198
198
|
return function () {
|
|
199
|
+
const _arguments = arguments;
|
|
199
200
|
if (macrotask) {
|
|
200
201
|
setTimeout(() => {
|
|
201
202
|
if (macrotask.state === 'scheduled') {
|
|
@@ -203,7 +204,7 @@ const zoneWrapFn = (it, macrotask) => {
|
|
|
203
204
|
}
|
|
204
205
|
}, 10);
|
|
205
206
|
}
|
|
206
|
-
return run(() => it.apply(_this,
|
|
207
|
+
return run(() => it.apply(_this, _arguments));
|
|
207
208
|
};
|
|
208
209
|
};
|
|
209
210
|
const ɵzoneWrap = (it, blockUntilFirst) => {
|
|
@@ -211,18 +212,19 @@ const ɵzoneWrap = (it, blockUntilFirst) => {
|
|
|
211
212
|
// tslint:disable-next-line:only-arrow-functions
|
|
212
213
|
return function () {
|
|
213
214
|
let macrotask;
|
|
215
|
+
const _arguments = arguments;
|
|
214
216
|
// if this is a callback function, e.g, onSnapshot, we should create a microtask and invoke it
|
|
215
217
|
// only once one of the callback functions is tripped.
|
|
216
218
|
for (let i = 0; i < arguments.length; i++) {
|
|
217
|
-
if (typeof
|
|
219
|
+
if (typeof _arguments[i] === 'function') {
|
|
218
220
|
if (blockUntilFirst) {
|
|
219
221
|
macrotask || (macrotask = run(() => Zone.current.scheduleMacroTask('firebaseZoneBlock', noop, {}, noop, noop)));
|
|
220
222
|
}
|
|
221
223
|
// TODO create a microtask to track callback functions
|
|
222
|
-
|
|
224
|
+
_arguments[i] = zoneWrapFn(_arguments[i], macrotask);
|
|
223
225
|
}
|
|
224
226
|
}
|
|
225
|
-
const ret = runOutsideAngular(() => it.apply(this,
|
|
227
|
+
const ret = runOutsideAngular(() => it.apply(this, _arguments));
|
|
226
228
|
if (!blockUntilFirst) {
|
|
227
229
|
if (ret instanceof Observable) {
|
|
228
230
|
const schedulers = getSchedulers();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"angular-fire.js","sources":["../../../src/core.ts","../../../src/zones.ts","../../../src/angular-fire.ts"],"sourcesContent":["import { Version } from '@angular/core';\nimport { FirebaseApp, getApps } from 'firebase/app';\nimport { ComponentContainer } from '@firebase/component';\nimport { isSupported as isRemoteConfigSupported } from 'firebase/remote-config';\nimport { isSupported as isMessagingSupported } from 'firebase/messaging';\nimport { isSupported as isAnalyticsSupported } from 'firebase/analytics';\n\nexport const VERSION = new Version('7.2.0-canary.390691b');\n\nconst isAnalyticsSupportedValueSymbol = '__angularfire_symbol__analyticsIsSupportedValue';\nconst isAnalyticsSupportedPromiseSymbol = '__angularfire_symbol__analyticsIsSupported';\nconst isRemoteConfigSupportedValueSymbol = '__angularfire_symbol__remoteConfigIsSupportedValue';\nconst isRemoteConfigSupportedPromiseSymbol = '__angularfire_symbol__remoteConfigIsSupported';\nconst isMessagingSupportedValueSymbol = '__angularfire_symbol__messagingIsSupportedValue';\nconst isMessagingSupportedPromiseSymbol = '__angularfire_symbol__messagingIsSupported';\n\nglobalThis[isAnalyticsSupportedPromiseSymbol] ||= isAnalyticsSupported().then(it =>\n globalThis[isAnalyticsSupportedValueSymbol] = it\n);\n\nglobalThis[isMessagingSupportedPromiseSymbol] ||= isMessagingSupported().then(it =>\n globalThis[isMessagingSupportedValueSymbol] = it\n);\n\nglobalThis[isRemoteConfigSupportedPromiseSymbol] ||= isRemoteConfigSupported().then(it =>\n globalThis[isRemoteConfigSupportedValueSymbol] = it\n);\n\nconst isSupportedError = (module: string) =>\n `The APP_INITIALIZER that is \"making\" isSupported() sync for the sake of convenient DI has not resolved in this\ncontext. Rather than injecting ${module} in the constructor, first ensure that ${module} is supported by calling\n\\`await isSupported()\\`, then retrieve the instance from the injector manually \\`injector.get(${module})\\`.`;\n\nexport const ɵisMessagingSupportedFactory = {\n async: () => globalThis[isMessagingSupportedPromiseSymbol],\n sync: () => {\n const ret = globalThis[isMessagingSupportedValueSymbol];\n if (ret === undefined) { throw new Error(isSupportedError('Messaging')); }\n return ret;\n }\n};\n\nexport const ɵisRemoteConfigSupportedFactory = {\n async: () => globalThis[isRemoteConfigSupportedPromiseSymbol],\n sync: () => {\n const ret = globalThis[isRemoteConfigSupportedValueSymbol];\n if (ret === undefined) { throw new Error(isSupportedError('RemoteConfig')); }\n return ret;\n }\n};\n\nexport const ɵisAnalyticsSupportedFactory = {\n async: () => globalThis[isAnalyticsSupportedPromiseSymbol],\n sync: () => {\n const ret = globalThis[isAnalyticsSupportedValueSymbol];\n if (ret === undefined) { throw new Error(isSupportedError('Analytics')); }\n return ret;\n }\n};\n\n// TODO is there a better way to get at the internal types?\ninterface FirebaseAppWithContainer extends FirebaseApp {\n container: ComponentContainer;\n}\n\nexport function ɵgetDefaultInstanceOf<T= unknown>(identifier: string, provided: T[]|undefined, defaultApp: FirebaseApp): T|undefined {\n if (provided) {\n // Was provide* only called once? If so grab that\n if (provided.length === 1) { return provided[0]; }\n const providedUsingDefaultApp = provided.filter((it: any) => it.app === defaultApp);\n // Was provide* only called once, using the default app? If so use that\n if (providedUsingDefaultApp.length === 1) { return providedUsingDefaultApp[0]; }\n }\n // Grab the default instance from the defaultApp\n const defaultAppWithContainer: FirebaseAppWithContainer = defaultApp as any;\n const provider = defaultAppWithContainer.container.getProvider(identifier as never);\n return provider.getImmediate({ optional: true });\n}\n\nexport const ɵgetAllInstancesOf = <T= unknown>(identifier: string, app?: FirebaseApp): Array<T> => {\n const apps = app ? [app] : getApps();\n const instances: Array<any> = [];\n apps.forEach((app: FirebaseAppWithContainer) => {\n const provider: any = app.container.getProvider(identifier as never);\n provider.instances.forEach((instance: any) => {\n if (!instances.includes(instance)) {\n instances.push(instance);\n }\n });\n });\n return instances;\n};\n","import { Injectable, NgZone } from '@angular/core';\nimport {\n asyncScheduler,\n Observable,\n Operator,\n queueScheduler,\n SchedulerAction,\n SchedulerLike,\n Subscriber,\n Subscription,\n TeardownLogic\n} from 'rxjs';\nimport { observeOn, subscribeOn, tap } from 'rxjs/operators';\n\nfunction noop() {\n}\n\n/**\n * Schedules tasks so that they are invoked inside the Zone that is passed in the constructor.\n */\n// tslint:disable-next-line:class-name\nexport class ɵZoneScheduler implements SchedulerLike {\n constructor(private zone: any, private delegate: any = queueScheduler) {\n }\n\n now() {\n return this.delegate.now();\n }\n\n schedule(work: (this: SchedulerAction<any>, state?: any) => void, delay?: number, state?: any): Subscription {\n const targetZone = this.zone;\n // Wrap the specified work function to make sure that if nested scheduling takes place the\n // work is executed in the correct zone\n const workInZone = function(this: SchedulerAction<any>, state: any) {\n targetZone.runGuarded(() => {\n work.apply(this, [state]);\n });\n };\n\n // Scheduling itself needs to be run in zone to ensure setInterval calls for async scheduling are done\n // inside the correct zone. This scheduler needs to schedule asynchronously always to ensure that\n // firebase emissions are never synchronous. Specifying a delay causes issues with the queueScheduler delegate.\n return this.delegate.schedule(workInZone, delay, state);\n }\n}\n\nclass BlockUntilFirstOperator<T> implements Operator<T, T> {\n private task: MacroTask | null = null;\n\n constructor(private zone: any) {\n }\n\n call(subscriber: Subscriber<T>, source: Observable<T>): TeardownLogic {\n const unscheduleTask = this.unscheduleTask.bind(this);\n this.task = this.zone.run(() => Zone.current.scheduleMacroTask('firebaseZoneBlock', noop, {}, noop, noop));\n\n return source.pipe(\n tap({ next: unscheduleTask, complete: unscheduleTask, error: unscheduleTask })\n ).subscribe(subscriber).add(unscheduleTask);\n }\n\n private unscheduleTask() {\n // maybe this is a race condition, invoke in a timeout\n // hold for 10ms while I try to figure out what is going on\n setTimeout(() => {\n if (this.task != null && this.task.state === 'scheduled') {\n this.task.invoke();\n this.task = null;\n }\n }, 10);\n }\n}\n\n@Injectable({\n providedIn: 'root',\n})\n// tslint:disable-next-line:class-name\nexport class ɵAngularFireSchedulers {\n public readonly outsideAngular: ɵZoneScheduler;\n public readonly insideAngular: ɵZoneScheduler;\n\n constructor(public ngZone: NgZone) {\n this.outsideAngular = ngZone.runOutsideAngular(() => new ɵZoneScheduler(Zone.current));\n this.insideAngular = ngZone.run(() => new ɵZoneScheduler(Zone.current, asyncScheduler));\n globalThis.ɵAngularFireScheduler ||= this;\n }\n}\n\nfunction getSchedulers() {\n const schedulers = globalThis.ɵAngularFireScheduler as ɵAngularFireSchedulers|undefined;\n if (!schedulers) {\n throw new Error(\n`Either AngularFireModule has not been provided in your AppModule (this can be done manually or implictly using\nprovideFirebaseApp) or you're calling an AngularFire method outside of an NgModule (which is not supported).`);\n }\n return schedulers;\n}\n\nfunction runOutsideAngular<T>(fn: (...args: any[]) => T): T {\n return getSchedulers().ngZone.runOutsideAngular(() => fn());\n}\n\nfunction run<T>(fn: (...args: any[]) => T): T {\n return getSchedulers().ngZone.run(() => fn());\n}\n\nexport function observeOutsideAngular<T>(obs$: Observable<T>): Observable<T> {\n return obs$.pipe(observeOn(getSchedulers().outsideAngular));\n}\n\nexport function observeInsideAngular<T>(obs$: Observable<T>): Observable<T> {\n return obs$.pipe(observeOn(getSchedulers().insideAngular));\n}\n\nexport function keepUnstableUntilFirst<T>(obs$: Observable<T>): Observable<T> {\n const scheduler = getSchedulers();\n return ɵkeepUnstableUntilFirstFactory(getSchedulers())(obs$);\n}\n\n/**\n * Operator to block the zone until the first value has been emitted or the observable\n * has completed/errored. This is used to make sure that universal waits until the first\n * value from firebase but doesn't block the zone forever since the firebase subscription\n * is still alive.\n */\nexport function ɵkeepUnstableUntilFirstFactory(schedulers: ɵAngularFireSchedulers) {\n return function keepUnstableUntilFirst<T>(obs$: Observable<T>): Observable<T> {\n obs$ = obs$.lift(\n new BlockUntilFirstOperator(schedulers.ngZone)\n );\n\n return obs$.pipe(\n // Run the subscribe body outside of Angular (e.g. calling Firebase SDK to add a listener to a change event)\n subscribeOn(schedulers.outsideAngular),\n // Run operators inside the angular zone (e.g. side effects via tap())\n observeOn(schedulers.insideAngular)\n // INVESTIGATE https://github.com/angular/angularfire/pull/2315\n // share()\n );\n };\n}\n\nconst zoneWrapFn = (it: (...args: any[]) => any, macrotask: MacroTask|undefined) => {\n const _this = this;\n // function() is needed for the arguments object\n // tslint:disable-next-line:only-arrow-functions\n return function() {\n if (macrotask) {\n setTimeout(() => {\n if (macrotask.state === 'scheduled') {\n macrotask.invoke();\n }\n }, 10);\n }\n return run(() => it.apply(_this, arguments));\n };\n};\n\nexport const ɵzoneWrap = <T= unknown>(it: T, blockUntilFirst: boolean): T => {\n // function() is needed for the arguments object\n // tslint:disable-next-line:only-arrow-functions\n return function() {\n let macrotask: MacroTask | undefined;\n // if this is a callback function, e.g, onSnapshot, we should create a microtask and invoke it\n // only once one of the callback functions is tripped.\n for (let i = 0; i < arguments.length; i++) {\n if (typeof arguments[i] === 'function') {\n if (blockUntilFirst) {\n macrotask ||= run(() => Zone.current.scheduleMacroTask('firebaseZoneBlock', noop, {}, noop, noop));\n }\n // TODO create a microtask to track callback functions\n arguments[i] = zoneWrapFn(arguments[i], macrotask);\n }\n }\n const ret = runOutsideAngular(() => (it as any).apply(this, arguments));\n if (!blockUntilFirst) {\n if (ret instanceof Observable) {\n const schedulers = getSchedulers();\n return ret.pipe(\n subscribeOn(schedulers.outsideAngular),\n observeOn(schedulers.insideAngular),\n );\n } else {\n return run(() => ret);\n }\n }\n if (ret instanceof Observable) {\n return ret.pipe(keepUnstableUntilFirst) as any;\n } else if (ret instanceof Promise) {\n return run(() => new Promise((resolve, reject) => ret.then(it => run(() => resolve(it)), reason => run(() => reject(reason)))));\n } else if (typeof ret === 'function' && macrotask) {\n // Handle unsubscribe\n // function() is needed for the arguments object\n // tslint:disable-next-line:only-arrow-functions\n return function() {\n setTimeout(() => {\n if (macrotask && macrotask.state === 'scheduled') {\n macrotask.invoke();\n }\n }, 10);\n return ret.apply(this, arguments);\n };\n } else {\n // TODO how do we handle storage uploads in Zone? and other stuff with cancel() etc?\n return run(() => ret);\n }\n } as any;\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["isAnalyticsSupported","isMessagingSupported","isRemoteConfigSupported","this"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"angular-fire.js","sources":["../../../src/core.ts","../../../src/zones.ts","../../../src/angular-fire.ts"],"sourcesContent":["import { Version } from '@angular/core';\nimport { FirebaseApp, getApps } from 'firebase/app';\nimport { ComponentContainer } from '@firebase/component';\nimport { isSupported as isRemoteConfigSupported } from 'firebase/remote-config';\nimport { isSupported as isMessagingSupported } from 'firebase/messaging';\nimport { isSupported as isAnalyticsSupported } from 'firebase/analytics';\n\nexport const VERSION = new Version('7.2.0-canary.4852c35');\n\nconst isAnalyticsSupportedValueSymbol = '__angularfire_symbol__analyticsIsSupportedValue';\nconst isAnalyticsSupportedPromiseSymbol = '__angularfire_symbol__analyticsIsSupported';\nconst isRemoteConfigSupportedValueSymbol = '__angularfire_symbol__remoteConfigIsSupportedValue';\nconst isRemoteConfigSupportedPromiseSymbol = '__angularfire_symbol__remoteConfigIsSupported';\nconst isMessagingSupportedValueSymbol = '__angularfire_symbol__messagingIsSupportedValue';\nconst isMessagingSupportedPromiseSymbol = '__angularfire_symbol__messagingIsSupported';\n\nglobalThis[isAnalyticsSupportedPromiseSymbol] ||= isAnalyticsSupported().then(it =>\n globalThis[isAnalyticsSupportedValueSymbol] = it\n).catch(() =>\n globalThis[isAnalyticsSupportedValueSymbol] = false\n);\n\nglobalThis[isMessagingSupportedPromiseSymbol] ||= isMessagingSupported().then(it =>\n globalThis[isMessagingSupportedValueSymbol] = it\n).catch(() =>\n globalThis[isMessagingSupportedValueSymbol] = false\n);\n\nglobalThis[isRemoteConfigSupportedPromiseSymbol] ||= isRemoteConfigSupported().then(it =>\n globalThis[isRemoteConfigSupportedValueSymbol] = it\n).catch(() =>\n globalThis[isRemoteConfigSupportedValueSymbol] = false\n);\n\nconst isSupportedError = (module: string) =>\n `The APP_INITIALIZER that is \"making\" isSupported() sync for the sake of convenient DI has not resolved in this\ncontext. Rather than injecting ${module} in the constructor, first ensure that ${module} is supported by calling\n\\`await isSupported()\\`, then retrieve the instance from the injector manually \\`injector.get(${module})\\`.`;\n\nexport const ɵisMessagingSupportedFactory = {\n async: () => globalThis[isMessagingSupportedPromiseSymbol],\n sync: () => {\n const ret = globalThis[isMessagingSupportedValueSymbol];\n if (ret === undefined) { throw new Error(isSupportedError('Messaging')); }\n return ret;\n }\n};\n\nexport const ɵisRemoteConfigSupportedFactory = {\n async: () => globalThis[isRemoteConfigSupportedPromiseSymbol],\n sync: () => {\n const ret = globalThis[isRemoteConfigSupportedValueSymbol];\n if (ret === undefined) { throw new Error(isSupportedError('RemoteConfig')); }\n return ret;\n }\n};\n\nexport const ɵisAnalyticsSupportedFactory = {\n async: () => globalThis[isAnalyticsSupportedPromiseSymbol],\n sync: () => {\n const ret = globalThis[isAnalyticsSupportedValueSymbol];\n if (ret === undefined) { throw new Error(isSupportedError('Analytics')); }\n return ret;\n }\n};\n\n// TODO is there a better way to get at the internal types?\ninterface FirebaseAppWithContainer extends FirebaseApp {\n container: ComponentContainer;\n}\n\nexport function ɵgetDefaultInstanceOf<T= unknown>(identifier: string, provided: T[]|undefined, defaultApp: FirebaseApp): T|undefined {\n if (provided) {\n // Was provide* only called once? If so grab that\n if (provided.length === 1) { return provided[0]; }\n const providedUsingDefaultApp = provided.filter((it: any) => it.app === defaultApp);\n // Was provide* only called once, using the default app? If so use that\n if (providedUsingDefaultApp.length === 1) { return providedUsingDefaultApp[0]; }\n }\n // Grab the default instance from the defaultApp\n const defaultAppWithContainer: FirebaseAppWithContainer = defaultApp as any;\n const provider = defaultAppWithContainer.container.getProvider(identifier as never);\n return provider.getImmediate({ optional: true });\n}\n\nexport const ɵgetAllInstancesOf = <T= unknown>(identifier: string, app?: FirebaseApp): Array<T> => {\n const apps = app ? [app] : getApps();\n const instances: Array<any> = [];\n apps.forEach((app: FirebaseAppWithContainer) => {\n const provider: any = app.container.getProvider(identifier as never);\n provider.instances.forEach((instance: any) => {\n if (!instances.includes(instance)) {\n instances.push(instance);\n }\n });\n });\n return instances;\n};\n","import { Injectable, NgZone } from '@angular/core';\nimport {\n asyncScheduler,\n Observable,\n Operator,\n queueScheduler,\n SchedulerAction,\n SchedulerLike,\n Subscriber,\n Subscription,\n TeardownLogic\n} from 'rxjs';\nimport { observeOn, subscribeOn, tap } from 'rxjs/operators';\n\nfunction noop() {\n}\n\n/**\n * Schedules tasks so that they are invoked inside the Zone that is passed in the constructor.\n */\n// tslint:disable-next-line:class-name\nexport class ɵZoneScheduler implements SchedulerLike {\n constructor(private zone: any, private delegate: any = queueScheduler) {\n }\n\n now() {\n return this.delegate.now();\n }\n\n schedule(work: (this: SchedulerAction<any>, state?: any) => void, delay?: number, state?: any): Subscription {\n const targetZone = this.zone;\n // Wrap the specified work function to make sure that if nested scheduling takes place the\n // work is executed in the correct zone\n const workInZone = function(this: SchedulerAction<any>, state: any) {\n targetZone.runGuarded(() => {\n work.apply(this, [state]);\n });\n };\n\n // Scheduling itself needs to be run in zone to ensure setInterval calls for async scheduling are done\n // inside the correct zone. This scheduler needs to schedule asynchronously always to ensure that\n // firebase emissions are never synchronous. Specifying a delay causes issues with the queueScheduler delegate.\n return this.delegate.schedule(workInZone, delay, state);\n }\n}\n\nclass BlockUntilFirstOperator<T> implements Operator<T, T> {\n private task: MacroTask | null = null;\n\n constructor(private zone: any) {\n }\n\n call(subscriber: Subscriber<T>, source: Observable<T>): TeardownLogic {\n const unscheduleTask = this.unscheduleTask.bind(this);\n this.task = this.zone.run(() => Zone.current.scheduleMacroTask('firebaseZoneBlock', noop, {}, noop, noop));\n\n return source.pipe(\n tap({ next: unscheduleTask, complete: unscheduleTask, error: unscheduleTask })\n ).subscribe(subscriber).add(unscheduleTask);\n }\n\n private unscheduleTask() {\n // maybe this is a race condition, invoke in a timeout\n // hold for 10ms while I try to figure out what is going on\n setTimeout(() => {\n if (this.task != null && this.task.state === 'scheduled') {\n this.task.invoke();\n this.task = null;\n }\n }, 10);\n }\n}\n\n@Injectable({\n providedIn: 'root',\n})\n// tslint:disable-next-line:class-name\nexport class ɵAngularFireSchedulers {\n public readonly outsideAngular: ɵZoneScheduler;\n public readonly insideAngular: ɵZoneScheduler;\n\n constructor(public ngZone: NgZone) {\n this.outsideAngular = ngZone.runOutsideAngular(() => new ɵZoneScheduler(Zone.current));\n this.insideAngular = ngZone.run(() => new ɵZoneScheduler(Zone.current, asyncScheduler));\n globalThis.ɵAngularFireScheduler ||= this;\n }\n}\n\nfunction getSchedulers() {\n const schedulers = globalThis.ɵAngularFireScheduler as ɵAngularFireSchedulers|undefined;\n if (!schedulers) {\n throw new Error(\n`Either AngularFireModule has not been provided in your AppModule (this can be done manually or implictly using\nprovideFirebaseApp) or you're calling an AngularFire method outside of an NgModule (which is not supported).`);\n }\n return schedulers;\n}\n\nfunction runOutsideAngular<T>(fn: (...args: any[]) => T): T {\n return getSchedulers().ngZone.runOutsideAngular(() => fn());\n}\n\nfunction run<T>(fn: (...args: any[]) => T): T {\n return getSchedulers().ngZone.run(() => fn());\n}\n\nexport function observeOutsideAngular<T>(obs$: Observable<T>): Observable<T> {\n return obs$.pipe(observeOn(getSchedulers().outsideAngular));\n}\n\nexport function observeInsideAngular<T>(obs$: Observable<T>): Observable<T> {\n return obs$.pipe(observeOn(getSchedulers().insideAngular));\n}\n\nexport function keepUnstableUntilFirst<T>(obs$: Observable<T>): Observable<T> {\n const scheduler = getSchedulers();\n return ɵkeepUnstableUntilFirstFactory(getSchedulers())(obs$);\n}\n\n/**\n * Operator to block the zone until the first value has been emitted or the observable\n * has completed/errored. This is used to make sure that universal waits until the first\n * value from firebase but doesn't block the zone forever since the firebase subscription\n * is still alive.\n */\nexport function ɵkeepUnstableUntilFirstFactory(schedulers: ɵAngularFireSchedulers) {\n return function keepUnstableUntilFirst<T>(obs$: Observable<T>): Observable<T> {\n obs$ = obs$.lift(\n new BlockUntilFirstOperator(schedulers.ngZone)\n );\n\n return obs$.pipe(\n // Run the subscribe body outside of Angular (e.g. calling Firebase SDK to add a listener to a change event)\n subscribeOn(schedulers.outsideAngular),\n // Run operators inside the angular zone (e.g. side effects via tap())\n observeOn(schedulers.insideAngular)\n // INVESTIGATE https://github.com/angular/angularfire/pull/2315\n // share()\n );\n };\n}\n\nconst zoneWrapFn = (it: (...args: any[]) => any, macrotask: MacroTask|undefined) => {\n const _this = this;\n // function() is needed for the arguments object\n // tslint:disable-next-line:only-arrow-functions\n return function() {\n const _arguments = arguments;\n if (macrotask) {\n setTimeout(() => {\n if (macrotask.state === 'scheduled') {\n macrotask.invoke();\n }\n }, 10);\n }\n return run(() => it.apply(_this, _arguments));\n };\n};\n\nexport const ɵzoneWrap = <T= unknown>(it: T, blockUntilFirst: boolean): T => {\n // function() is needed for the arguments object\n // tslint:disable-next-line:only-arrow-functions\n return function() {\n let macrotask: MacroTask | undefined;\n const _arguments = arguments;\n // if this is a callback function, e.g, onSnapshot, we should create a microtask and invoke it\n // only once one of the callback functions is tripped.\n for (let i = 0; i < arguments.length; i++) {\n if (typeof _arguments[i] === 'function') {\n if (blockUntilFirst) {\n macrotask ||= run(() => Zone.current.scheduleMacroTask('firebaseZoneBlock', noop, {}, noop, noop));\n }\n // TODO create a microtask to track callback functions\n _arguments[i] = zoneWrapFn(_arguments[i], macrotask);\n }\n }\n const ret = runOutsideAngular(() => (it as any).apply(this, _arguments));\n if (!blockUntilFirst) {\n if (ret instanceof Observable) {\n const schedulers = getSchedulers();\n return ret.pipe(\n subscribeOn(schedulers.outsideAngular),\n observeOn(schedulers.insideAngular),\n );\n } else {\n return run(() => ret);\n }\n }\n if (ret instanceof Observable) {\n return ret.pipe(keepUnstableUntilFirst) as any;\n } else if (ret instanceof Promise) {\n return run(() => new Promise((resolve, reject) => ret.then(it => run(() => resolve(it)), reason => run(() => reject(reason)))));\n } else if (typeof ret === 'function' && macrotask) {\n // Handle unsubscribe\n // function() is needed for the arguments object\n // tslint:disable-next-line:only-arrow-functions\n return function() {\n setTimeout(() => {\n if (macrotask && macrotask.state === 'scheduled') {\n macrotask.invoke();\n }\n }, 10);\n return ret.apply(this, arguments);\n };\n } else {\n // TODO how do we handle storage uploads in Zone? and other stuff with cancel() etc?\n return run(() => ret);\n }\n } as any;\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["isAnalyticsSupported","isMessagingSupported","isRemoteConfigSupported","this"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "../node_modules/ng-packagr/package.schema.json",
|
|
3
3
|
"name": "@angular/fire",
|
|
4
|
-
"version": "7.2.0-canary.
|
|
4
|
+
"version": "7.2.0-canary.4852c35",
|
|
5
5
|
"description": "The official Angular library for Firebase.",
|
|
6
6
|
"schematics": "./schematics/collection.json",
|
|
7
7
|
"builders": "./schematics/builders.json",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"pattern": "^[^:\\s]+:[^:\\s]+(:[^\\s]+)?$"
|
|
31
31
|
},
|
|
32
32
|
"ssr": {
|
|
33
|
-
"
|
|
33
|
+
"oneOf": [{ "type": "boolean" }, { "type": "string" }],
|
|
34
34
|
"description": "Should we attempt to deploy the function to Cloud Functions (true or 'cloud-functions') / Cloud Run ('cloud-run') or just Hosting (false)"
|
|
35
35
|
},
|
|
36
36
|
"prerender": {
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
"description": "The name of the Cloud Function or Cloud Run serviceId to deploy SSR to"
|
|
55
55
|
},
|
|
56
56
|
"functionsNodeVersion": {
|
|
57
|
-
"
|
|
57
|
+
"oneOf": [{ "type": "number" }, { "type": "string" }],
|
|
58
58
|
"description": "Version of Node.js to run Cloud Functions / Run on"
|
|
59
59
|
},
|
|
60
60
|
"region": {
|
|
@@ -82,12 +82,12 @@
|
|
|
82
82
|
"description": "Set a CPU limit in Kubernetes cpu units."
|
|
83
83
|
},
|
|
84
84
|
"maxConcurrency": {
|
|
85
|
-
"
|
|
85
|
+
"oneOf": [{ "type": "number" }, { "type": "string" }],
|
|
86
86
|
"pattern": "^(\\d+|default)$",
|
|
87
87
|
"description": "Set the maximum number of concurrent requests allowed per container instance. If concurrency is unspecified, any number of concurrent requests are allowed. To unset this field, provide the special value default."
|
|
88
88
|
},
|
|
89
89
|
"maxInstances": {
|
|
90
|
-
"
|
|
90
|
+
"oneOf": [{ "type": "number" }, { "type": "string" }],
|
|
91
91
|
"pattern": "^(\\d+|default)$",
|
|
92
92
|
"description": "The maximum number of container instances of the Service to run. Use 'default' to unset the limit and use the platform default."
|
|
93
93
|
},
|
|
@@ -97,7 +97,7 @@
|
|
|
97
97
|
"description": "Set a memory limit. Ex: 1Gi, 512Mi."
|
|
98
98
|
},
|
|
99
99
|
"minInstances": {
|
|
100
|
-
"
|
|
100
|
+
"oneOf": [{ "type": "number" }, { "type": "string" }],
|
|
101
101
|
"pattern": "^(\\d+|default)$",
|
|
102
102
|
"description": "The minimum number of container instances of the Service to run or 'default' to remove any minimum."
|
|
103
103
|
},
|
|
@@ -47,7 +47,7 @@ const isApp = (elem) => {
|
|
|
47
47
|
const isSite = (elem) => {
|
|
48
48
|
return elem.original === undefined;
|
|
49
49
|
};
|
|
50
|
-
const searchProjects = (
|
|
50
|
+
const searchProjects = (projects) => (_, input) => __awaiter(void 0, void 0, void 0, function* () {
|
|
51
51
|
projects.unshift({
|
|
52
52
|
projectId: NEW_OPTION,
|
|
53
53
|
displayName: '[CREATE NEW PROJECT]'
|
|
@@ -72,7 +72,7 @@ const searchProjects = (promise) => (_, input) => promise.then(projects => {
|
|
|
72
72
|
});
|
|
73
73
|
});
|
|
74
74
|
exports.searchProjects = searchProjects;
|
|
75
|
-
const searchApps = (
|
|
75
|
+
const searchApps = (apps) => (_, input) => __awaiter(void 0, void 0, void 0, function* () {
|
|
76
76
|
apps.unshift({
|
|
77
77
|
appId: NEW_OPTION,
|
|
78
78
|
displayName: '[CREATE NEW APP]',
|
|
@@ -97,7 +97,7 @@ const searchApps = (promise) => (_, input) => promise.then(apps => {
|
|
|
97
97
|
});
|
|
98
98
|
});
|
|
99
99
|
exports.searchApps = searchApps;
|
|
100
|
-
const searchSites = (
|
|
100
|
+
const searchSites = (sites) => (_, input) => __awaiter(void 0, void 0, void 0, function* () {
|
|
101
101
|
sites.unshift({
|
|
102
102
|
name: NEW_OPTION,
|
|
103
103
|
defaultUrl: '[CREATE NEW SITE]',
|
|
@@ -164,7 +164,7 @@ const userPrompt = (options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
|
164
164
|
exports.userPrompt = userPrompt;
|
|
165
165
|
const projectPrompt = (defaultProject, options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
166
166
|
const firebaseTools = yield firebaseTools_1.getFirebaseTools();
|
|
167
|
-
const projects = firebaseTools.projects.list(options);
|
|
167
|
+
const projects = yield firebaseTools.projects.list(options);
|
|
168
168
|
const { projectId } = yield autocomplete({
|
|
169
169
|
type: 'autocomplete',
|
|
170
170
|
name: 'projectId',
|
|
@@ -191,7 +191,7 @@ const projectPrompt = (defaultProject, options) => __awaiter(void 0, void 0, voi
|
|
|
191
191
|
exports.projectPrompt = projectPrompt;
|
|
192
192
|
const appPrompt = ({ projectId: project }, defaultAppId, options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
193
193
|
const firebaseTools = yield firebaseTools_1.getFirebaseTools();
|
|
194
|
-
const apps = firebaseTools.apps.list('web', Object.assign(Object.assign({}, options), { project }));
|
|
194
|
+
const apps = yield firebaseTools.apps.list('web', Object.assign(Object.assign({}, options), { project }));
|
|
195
195
|
const { appId } = yield autocomplete({
|
|
196
196
|
type: 'autocomplete',
|
|
197
197
|
name: 'appId',
|
|
@@ -212,7 +212,7 @@ const appPrompt = ({ projectId: project }, defaultAppId, options) => __awaiter(v
|
|
|
212
212
|
exports.appPrompt = appPrompt;
|
|
213
213
|
const sitePrompt = ({ projectId: project }, options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
214
214
|
const firebaseTools = yield firebaseTools_1.getFirebaseTools();
|
|
215
|
-
const sites = firebaseTools.hosting.sites.list(Object.assign(Object.assign({}, options), { project })).then(it => {
|
|
215
|
+
const sites = yield firebaseTools.hosting.sites.list(Object.assign(Object.assign({}, options), { project })).then(it => {
|
|
216
216
|
if (it.sites.length === 0) {
|
|
217
217
|
return [{
|
|
218
218
|
name: project,
|
|
@@ -230,7 +230,7 @@ const sitePrompt = ({ projectId: project }, options) => __awaiter(void 0, void 0
|
|
|
230
230
|
name: 'siteName',
|
|
231
231
|
source: exports.searchSites(sites),
|
|
232
232
|
message: 'Please select a hosting site:',
|
|
233
|
-
default: _ =>
|
|
233
|
+
default: _ => common_1.shortSiteName(sites.find(site => site.type === DEFAULT_SITE_TYPE)),
|
|
234
234
|
});
|
|
235
235
|
if (siteName === NEW_OPTION) {
|
|
236
236
|
const { subdomain } = yield inquirer.prompt({
|