ng-gapi
Version:
Angular 9+ Google api module ng-gapi
38 lines • 4.9 kB
JavaScript
import { __decorate, __param } from "tslib";
import { Injectable, Inject } from '@angular/core';
import { GoogleApiService } from './GoogleApiService';
import { Observable, of } from 'rxjs';
import { mergeMap } from 'rxjs/operators';
let GoogleAuthService = class GoogleAuthService {
constructor(googleApi) {
this.googleApi = googleApi;
this.GoogleAuth = undefined;
this.googleApi.onLoad().subscribe(() => {
this.loadGapiAuth().subscribe();
});
}
getAuth(newInstance = false) {
if (!this.GoogleAuth || newInstance) {
return this.googleApi.onLoad()
.pipe(mergeMap(() => this.loadGapiAuth()));
}
return of(this.GoogleAuth);
}
loadGapiAuth() {
return new Observable((observer) => {
gapi.load('auth2', () => {
gapi.auth2.init(this.googleApi.getConfig().getClientConfig()).then((auth) => {
this.GoogleAuth = auth;
observer.next(auth);
observer.complete();
}).catch((err) => observer.error(err));
});
});
}
};
GoogleAuthService = __decorate([
Injectable(),
__param(0, Inject(GoogleApiService))
], GoogleAuthService);
export { GoogleAuthService };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR29vZ2xlQXV0aFNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvR29vZ2xlQXV0aFNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBRXBELE9BQU8sRUFBQyxVQUFVLEVBQVksRUFBRSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUd4QyxJQUFhLGlCQUFpQixHQUE5QixNQUFhLGlCQUFpQjtJQUc1QixZQUE4QyxTQUEyQjtRQUEzQixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUZqRSxlQUFVLEdBQWUsU0FBUyxDQUFDO1FBR3pDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNyQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDbEMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sT0FBTyxDQUFDLFdBQVcsR0FBRyxLQUFLO1FBQ2hDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFJLFdBQVcsRUFBRTtZQUNuQyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFO2lCQUMzQixJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDOUM7UUFDRCxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVPLFlBQVk7UUFDbEIsT0FBTyxJQUFJLFVBQVUsQ0FBQyxDQUFDLFFBQThCLEVBQUUsRUFBRTtZQUN2RCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUU7Z0JBQ3RCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxFQUFFLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFnQixFQUFFLEVBQUU7b0JBQ3RGLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO29CQUN2QixRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUNwQixRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ3RCLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQzlDLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YsQ0FBQTtBQTVCWSxpQkFBaUI7SUFEN0IsVUFBVSxFQUFFO0lBSUUsV0FBQSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtHQUgxQixpQkFBaUIsQ0E0QjdCO1NBNUJZLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZSwgSW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7R29vZ2xlQXBpU2VydmljZX0gZnJvbSAnLi9Hb29nbGVBcGlTZXJ2aWNlJztcbmltcG9ydCBHb29nbGVBdXRoID0gZ2FwaS5hdXRoMi5Hb29nbGVBdXRoO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCBPYnNlcnZlciwgb2Z9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttZXJnZU1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgR29vZ2xlQXV0aFNlcnZpY2Uge1xuICBwcml2YXRlIEdvb2dsZUF1dGg6IEdvb2dsZUF1dGggPSB1bmRlZmluZWQ7XG5cbiAgY29uc3RydWN0b3IoQEluamVjdChHb29nbGVBcGlTZXJ2aWNlKSBwcml2YXRlIGdvb2dsZUFwaTogR29vZ2xlQXBpU2VydmljZSkge1xuICAgIHRoaXMuZ29vZ2xlQXBpLm9uTG9hZCgpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmxvYWRHYXBpQXV0aCgpLnN1YnNjcmliZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdldEF1dGgobmV3SW5zdGFuY2UgPSBmYWxzZSk6IE9ic2VydmFibGU8R29vZ2xlQXV0aD4ge1xuICAgIGlmICghdGhpcy5Hb29nbGVBdXRoIHx8IG5ld0luc3RhbmNlKSB7XG4gICAgICByZXR1cm4gdGhpcy5nb29nbGVBcGkub25Mb2FkKClcbiAgICAgICAgLnBpcGUobWVyZ2VNYXAoKCkgPT4gdGhpcy5sb2FkR2FwaUF1dGgoKSkpO1xuICAgIH1cbiAgICByZXR1cm4gb2YodGhpcy5Hb29nbGVBdXRoKTtcbiAgfVxuXG4gIHByaXZhdGUgbG9hZEdhcGlBdXRoKCk6IE9ic2VydmFibGU8R29vZ2xlQXV0aD4ge1xuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgob2JzZXJ2ZXI6IE9ic2VydmVyPEdvb2dsZUF1dGg+KSA9PiB7XG4gICAgICBnYXBpLmxvYWQoJ2F1dGgyJywgKCkgPT4ge1xuICAgICAgICBnYXBpLmF1dGgyLmluaXQodGhpcy5nb29nbGVBcGkuZ2V0Q29uZmlnKCkuZ2V0Q2xpZW50Q29uZmlnKCkpLnRoZW4oKGF1dGg6IEdvb2dsZUF1dGgpID0+IHtcbiAgICAgICAgICB0aGlzLkdvb2dsZUF1dGggPSBhdXRoO1xuICAgICAgICAgIG9ic2VydmVyLm5leHQoYXV0aCk7XG4gICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcbiAgICAgICAgfSkuY2F0Y2goKGVycjogYW55KSA9PiBvYnNlcnZlci5lcnJvcihlcnIpKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG59XG4iXX0=