UNPKG

firebaseui-angular

Version:

[![Build Status](https://github.com/RaphaelJenni/FirebaseUI-Angular/actions/workflows/firebaseui-angular.yml/badge.svg)](https://github.com/RaphaelJenni/FirebaseUI-Angular/actions/workflows/firebaseui-angular.yml/badge.svg) [![npm version](https://badge.f

42 lines 6.49 kB
import { Inject, Injectable, Optional } from '@angular/core'; import * as firebaseui from 'firebaseui'; import { FIREBASE_APP_NAME, FIREBASE_OPTIONS, ɵfirebaseAppFactory } from '@angular/fire/compat'; import { USE_EMULATOR as USE_AUTH_EMULATOR } from '@angular/fire/compat/auth'; import * as i0 from "@angular/core"; export class FirebaseuiAngularLibraryService { constructor(options, nameOrConfig, _useEmulator, // can't use the tuple here zone) { // noinspection JSNonASCIINames const app = ɵfirebaseAppFactory(options, zone, nameOrConfig); const useEmulator = _useEmulator; if (!window.firebaseUiInstance) { const auth = app.auth(); if (useEmulator) { const connectionString = useEmulator[0].startsWith('http') ? useEmulator[0] : `http://${useEmulator.join(':')}`; auth.useEmulator(connectionString); } window.firebaseUiInstance = new firebaseui.auth.AuthUI(auth); } // store the firebaseui instance on the window object to prevent double initialization this.firebaseUiInstance = window.firebaseUiInstance; } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FirebaseuiAngularLibraryService, deps: [{ token: FIREBASE_OPTIONS }, { token: FIREBASE_APP_NAME, optional: true }, { token: USE_AUTH_EMULATOR, optional: true }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FirebaseuiAngularLibraryService }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FirebaseuiAngularLibraryService, decorators: [{ type: Injectable }], ctorParameters: () => [{ type: undefined, decorators: [{ type: Inject, args: [FIREBASE_OPTIONS] }] }, { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [FIREBASE_APP_NAME] }] }, { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [USE_AUTH_EMULATOR] }] }, { type: i0.NgZone }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZWJhc2V1aS1hbmd1bGFyLWxpYnJhcnkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2ZpcmViYXNldWktYW5ndWxhci1saWJyYXJ5L3NyYy9saWIvZmlyZWJhc2V1aS1hbmd1bGFyLWxpYnJhcnkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBVSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxLQUFLLFVBQVUsTUFBTSxZQUFZLENBQUM7QUFDekMsT0FBTyxFQUFDLGlCQUFpQixFQUFFLGdCQUFnQixFQUFlLG1CQUFtQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFJM0csT0FBTyxFQUFFLFlBQVksSUFBSSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDOztBQUs5RSxNQUFNLE9BQU8sK0JBQStCO0lBRzFDLFlBQXNDLE9BQXdCLEVBQ1gsWUFBNkQsRUFDN0QsWUFBaUIsRUFBRSwyQkFBMkI7SUFDckYsSUFBWTtRQUN0QiwrQkFBK0I7UUFDL0IsTUFBTSxHQUFHLEdBQWdCLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFFMUUsTUFBTSxXQUFXLEdBQWdDLFlBQVksQ0FBQztRQUU5RCxJQUFJLENBQU8sTUFBTyxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDdEMsTUFBTSxJQUFJLEdBQXdCLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUM3QyxJQUFJLFdBQVcsRUFBRSxDQUFDO2dCQUNoQixNQUFNLGdCQUFnQixHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ2hILElBQUksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUNyQyxDQUFDO1lBQ0ssTUFBTyxDQUFDLGtCQUFrQixHQUFHLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEUsQ0FBQztRQUNELHNGQUFzRjtRQUN0RixJQUFJLENBQUMsa0JBQWtCLEdBQVMsTUFBTyxDQUFDLGtCQUE0QyxDQUFDO0lBQ3ZGLENBQUM7K0dBdEJVLCtCQUErQixrQkFHdEIsZ0JBQWdCLGFBQ0osaUJBQWlCLDZCQUNqQixpQkFBaUI7bUhBTHRDLCtCQUErQjs7NEZBQS9CLCtCQUErQjtrQkFEM0MsVUFBVTs7MEJBSUksTUFBTTsyQkFBQyxnQkFBZ0I7OzBCQUN2QixRQUFROzswQkFBSSxNQUFNOzJCQUFDLGlCQUFpQjs7MEJBQ3BDLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBOZ1pvbmUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgKiBhcyBmaXJlYmFzZXVpIGZyb20gJ2ZpcmViYXNldWknO1xuaW1wb3J0IHtGSVJFQkFTRV9BUFBfTkFNRSwgRklSRUJBU0VfT1BUSU9OUywgRmlyZWJhc2VBcHAsIMm1ZmlyZWJhc2VBcHBGYWN0b3J5fSBmcm9tICdAYW5ndWxhci9maXJlL2NvbXBhdCc7XG5pbXBvcnQgeyBGaXJlYmFzZU9wdGlvbnMsIEZpcmViYXNlQXBwU2V0dGluZ3MgfSBmcm9tICdmaXJlYmFzZS9hcHAnO1xuXG5pbXBvcnQgX2ZpcmViYXNlIGZyb20gJ2ZpcmViYXNlL2NvbXBhdC9hcHAnO1xuaW1wb3J0IHsgVVNFX0VNVUxBVE9SIGFzIFVTRV9BVVRIX0VNVUxBVE9SIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZS9jb21wYXQvYXV0aCc7XG5cbnR5cGUgVXNlRW11bGF0b3JBcmd1bWVudHMgPSBbc3RyaW5nLCBudW1iZXJdO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRmlyZWJhc2V1aUFuZ3VsYXJMaWJyYXJ5U2VydmljZSB7XG4gIHB1YmxpYyBmaXJlYmFzZVVpSW5zdGFuY2U6IGZpcmViYXNldWkuYXV0aC5BdXRoVUk7XG5cbiAgY29uc3RydWN0b3IoQEluamVjdChGSVJFQkFTRV9PUFRJT05TKSBvcHRpb25zOiBGaXJlYmFzZU9wdGlvbnMsXG4gICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoRklSRUJBU0VfQVBQX05BTUUpIG5hbWVPckNvbmZpZzogc3RyaW5nIHwgRmlyZWJhc2VBcHBTZXR0aW5ncyB8IG51bGwgfCB1bmRlZmluZWQsXG4gICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoVVNFX0FVVEhfRU1VTEFUT1IpIF91c2VFbXVsYXRvcjogYW55LCAvLyBjYW4ndCB1c2UgdGhlIHR1cGxlIGhlcmVcbiAgICAgICAgICAgICAgem9uZTogTmdab25lKSB7XG4gICAgLy8gbm9pbnNwZWN0aW9uIEpTTm9uQVNDSUlOYW1lc1xuICAgIGNvbnN0IGFwcDogRmlyZWJhc2VBcHAgPSDJtWZpcmViYXNlQXBwRmFjdG9yeShvcHRpb25zLCB6b25lLCBuYW1lT3JDb25maWcpO1xuXG4gICAgY29uc3QgdXNlRW11bGF0b3I6IFVzZUVtdWxhdG9yQXJndW1lbnRzIHwgbnVsbCA9IF91c2VFbXVsYXRvcjtcblxuICAgIGlmICghKDxhbnk+d2luZG93KS5maXJlYmFzZVVpSW5zdGFuY2UpIHtcbiAgICAgIGNvbnN0IGF1dGg6IF9maXJlYmFzZS5hdXRoLkF1dGggPSBhcHAuYXV0aCgpO1xuICAgICAgaWYgKHVzZUVtdWxhdG9yKSB7XG4gICAgICAgIGNvbnN0IGNvbm5lY3Rpb25TdHJpbmcgPSB1c2VFbXVsYXRvclswXS5zdGFydHNXaXRoKCdodHRwJykgPyB1c2VFbXVsYXRvclswXSA6IGBodHRwOi8vJHt1c2VFbXVsYXRvci5qb2luKCc6Jyl9YDtcbiAgICAgICAgYXV0aC51c2VFbXVsYXRvcihjb25uZWN0aW9uU3RyaW5nKTtcbiAgICAgIH1cbiAgICAgICg8YW55PndpbmRvdykuZmlyZWJhc2VVaUluc3RhbmNlID0gbmV3IGZpcmViYXNldWkuYXV0aC5BdXRoVUkoYXV0aCk7XG4gICAgfVxuICAgIC8vIHN0b3JlIHRoZSBmaXJlYmFzZXVpIGluc3RhbmNlIG9uIHRoZSB3aW5kb3cgb2JqZWN0IHRvIHByZXZlbnQgZG91YmxlIGluaXRpYWxpemF0aW9uXG4gICAgdGhpcy5maXJlYmFzZVVpSW5zdGFuY2UgPSAoPGFueT53aW5kb3cpLmZpcmViYXNlVWlJbnN0YW5jZSBhcyBmaXJlYmFzZXVpLmF1dGguQXV0aFVJO1xuICB9XG59XG4iXX0=