32 lines
No EOL
4.4 KiB
JavaScript
32 lines
No EOL
4.4 KiB
JavaScript
import { isDevMode } from '@angular/core';
|
|
export function ɵcacheInstance(cacheKey, moduleName, appName, fn, deps) {
|
|
const [, instance, cachedDeps] = globalThis.ɵAngularfireInstanceCache.find((it) => it[0] === cacheKey) || [];
|
|
if (instance) {
|
|
if (!matchDep(deps, cachedDeps)) {
|
|
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.' : ''}`);
|
|
log('warn', { is: deps, was: cachedDeps });
|
|
}
|
|
return instance;
|
|
}
|
|
else {
|
|
const newInstance = fn();
|
|
globalThis.ɵAngularfireInstanceCache.push([cacheKey, newInstance, deps]);
|
|
return newInstance;
|
|
}
|
|
}
|
|
function matchDep(a, b) {
|
|
try {
|
|
return a.toString() === b.toString();
|
|
}
|
|
catch (_) {
|
|
return a === b;
|
|
}
|
|
}
|
|
const IS_HMR = !!module.hot;
|
|
const log = (level, ...args) => {
|
|
if (isDevMode() && typeof console !== 'undefined') {
|
|
console[level](...args);
|
|
}
|
|
};
|
|
globalThis.ɵAngularfireInstanceCache || (globalThis.ɵAngularfireInstanceCache = []);
|
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcGF0L2NhY2hlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUMsTUFBTSxVQUFVLGNBQWMsQ0FBSSxRQUFhLEVBQUUsVUFBa0IsRUFBRSxPQUFlLEVBQUUsRUFBVyxFQUFFLElBQVM7SUFDMUcsTUFBTSxDQUFDLEVBQUUsUUFBUSxFQUFFLFVBQVUsQ0FBQyxHQUFHLFVBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFPLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbEgsSUFBSSxRQUFRLEVBQUU7UUFDWixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsRUFBRTtZQUMvQixHQUFHLENBQUMsT0FBTyxFQUFFLEdBQUcsVUFBVSxtQ0FBbUMsT0FBTyx5Q0FBeUMsTUFBTSxDQUFDLENBQUMsQ0FBQyx1REFBdUQsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUN0TCxHQUFHLENBQUMsTUFBTSxFQUFFLEVBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFDLENBQUMsQ0FBQztTQUMxQztRQUNELE9BQU8sUUFBUSxDQUFDO0tBQ2pCO1NBQU07UUFDTCxNQUFNLFdBQVcsR0FBRyxFQUFFLEVBQUUsQ0FBQztRQUN6QixVQUFVLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3pFLE9BQU8sV0FBVyxDQUFDO0tBQ3BCO0FBQ0gsQ0FBQztBQUVELFNBQVMsUUFBUSxDQUFDLENBQU0sRUFBRSxDQUFNO0lBQzlCLElBQUk7UUFDRixPQUFPLENBQUMsQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7S0FDdEM7SUFBQyxPQUFPLENBQUMsRUFBRTtRQUNWLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztLQUNoQjtBQUNILENBQUM7QUFFRCxNQUFNLE1BQU0sR0FBRyxDQUFDLENBQUUsTUFBYyxDQUFDLEdBQUcsQ0FBQztBQUVyQyxNQUFNLEdBQUcsR0FBRyxDQUFDLEtBQWtDLEVBQUUsR0FBRyxJQUFTLEVBQUUsRUFBRTtJQUMvRCxJQUFJLFNBQVMsRUFBRSxJQUFJLE9BQU8sT0FBTyxLQUFLLFdBQVcsRUFBRTtRQUNqRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztLQUN6QjtBQUNILENBQUMsQ0FBQztBQUVGLFVBQVUsQ0FBQyx5QkFBeUIsS0FBcEMsVUFBVSxDQUFDLHlCQUF5QixHQUFLLEVBQUUsRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzRGV2TW9kZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgZnVuY3Rpb24gybVjYWNoZUluc3RhbmNlPFQ+KGNhY2hlS2V5OiBhbnksIG1vZHVsZU5hbWU6IHN0cmluZywgYXBwTmFtZTogc3RyaW5nLCBmbjogKCkgPT4gVCwgZGVwczogYW55KTogVCB7XG4gIGNvbnN0IFssIGluc3RhbmNlLCBjYWNoZWREZXBzXSA9IGdsb2JhbFRoaXMuybVBbmd1bGFyZmlyZUluc3RhbmNlQ2FjaGUuZmluZCgoaXQ6IGFueSkgPT4gaXRbMF0gPT09IGNhY2hlS2V5KSB8fCBbXTtcbiAgaWYgKGluc3RhbmNlKSB7XG4gICAgaWYgKCFtYXRjaERlcChkZXBzLCBjYWNoZWREZXBzKSkge1xuICAgICAgbG9nKCdlcnJvcicsIGAke21vZHVsZU5hbWV9IHdhcyBhbHJlYWR5IGluaXRpYWxpemVkIG9uIHRoZSAke2FwcE5hbWV9IEZpcmViYXNlIEFwcCB3aXRoIGRpZmZlcmVudCBzZXR0aW5ncy4ke0lTX0hNUiA/ICcgWW91IG1heSBuZWVkIHRvIHJlbG9hZCBhcyBGaXJlYmFzZSBpcyBub3QgSE1SIGF3YXJlLicgOiAnJ31gKTtcbiAgICAgIGxvZygnd2FybicsIHtpczogZGVwcywgd2FzOiBjYWNoZWREZXBzfSk7XG4gICAgfVxuICAgIHJldHVybiBpbnN0YW5jZTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBuZXdJbnN0YW5jZSA9IGZuKCk7XG4gICAgZ2xvYmFsVGhpcy7JtUFuZ3VsYXJmaXJlSW5zdGFuY2VDYWNoZS5wdXNoKFtjYWNoZUtleSwgbmV3SW5zdGFuY2UsIGRlcHNdKTtcbiAgICByZXR1cm4gbmV3SW5zdGFuY2U7XG4gIH1cbn1cblxuZnVuY3Rpb24gbWF0Y2hEZXAoYTogYW55LCBiOiBhbnkpIHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gYS50b1N0cmluZygpID09PSBiLnRvU3RyaW5nKCk7XG4gIH0gY2F0Y2ggKF8pIHtcbiAgICByZXR1cm4gYSA9PT0gYjtcbiAgfVxufVxuXG5jb25zdCBJU19ITVIgPSAhIShtb2R1bGUgYXMgYW55KS5ob3Q7XG5cbmNvbnN0IGxvZyA9IChsZXZlbDogJ2xvZyd8J2Vycm9yJ3wnaW5mbyd8J3dhcm4nLCAuLi5hcmdzOiBhbnkpID0+IHtcbiAgaWYgKGlzRGV2TW9kZSgpICYmIHR5cGVvZiBjb25zb2xlICE9PSAndW5kZWZpbmVkJykge1xuICAgIGNvbnNvbGVbbGV2ZWxdKC4uLmFyZ3MpO1xuICB9XG59O1xuXG5nbG9iYWxUaGlzLsm1QW5ndWxhcmZpcmVJbnN0YW5jZUNhY2hlIHx8PSBbXTtcbiJdfQ==
|