UNPKG

@nativescript/firebase-app-check-debug

Version:
89 lines 2.84 kB
import { firebase, FirebaseApp, FirebaseError } from '@nativescript/firebase-core'; import lazy from '@nativescript/core/utils/lazy'; let defaultAppCheck; const fb = firebase(); Object.defineProperty(fb, 'appCheck', { value: (app) => { if (!app) { if (!defaultAppCheck) { defaultAppCheck = new AppCheck(); } return defaultAppCheck; } return new AppCheck(app); }, writable: false, }); const NSAppCheck = lazy(() => org.nativescript.firebase.app_check_debug.FirebaseAppCheckDebug); export class AppCheckToken { static fromNative(token) { if (token instanceof com.google.firebase.appcheck.AppCheckToken) { const t = new AppCheckToken(); t._native = token; return t; } return null; } get native() { return this._native; } get android() { return this.native; } get token() { return this.native?.getToken?.(); } get expireTimeMillis() { return this.native?.getExpireTimeMillis?.(); } } export class AppCheck { constructor(app) { if (app?.native) { this._nativeApp = app.native; this._native = com.google.firebase.appcheck.FirebaseAppCheck.getInstance(app.native); } else { if (defaultAppCheck) { return defaultAppCheck; } defaultAppCheck = this; this._nativeApp = com.google.firebase.FirebaseApp.getInstance(); this._native = com.google.firebase.appcheck.FirebaseAppCheck.getInstance(); } } static setProviderFactory() { } activate(isTokenAutoRefreshEnabled) { this.native.installAppCheckProviderFactory(com.google.firebase.appcheck.debug.DebugAppCheckProviderFactory.getInstance(), isTokenAutoRefreshEnabled); } getToken(forceRefresh) { return new Promise((resolve, reject) => { NSAppCheck().getToken(this.native, forceRefresh, new org.nativescript.firebase.app_check_debug.FirebaseAppCheckDebug.Callback({ onSuccess(param0) { resolve(AppCheckToken.fromNative(param0)); }, onError(param0) { const err = FirebaseError.fromNative(param0); reject(err); }, })); }); } setTokenAutoRefreshEnabled(enabled) { this.native.setTokenAutoRefreshEnabled(enabled); } get native() { return this._native; } get ios() { return this.native; } get app() { if (!this._app) { // @ts-ignore this._app = FirebaseApp.fromNative(this._nativeApp); } return this._app; } } //# sourceMappingURL=index.android.js.map