| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- import { isPlatformBrowser } from "@angular/common";
- import { Inject, Injectable, Optional, PLATFORM_ID } from "@angular/core";
- import { BehaviorSubject, of } from "rxjs";
- import { loader } from "./load-script";
- import { RECAPTCHA_BASE_URL, RECAPTCHA_LANGUAGE, RECAPTCHA_NONCE, RECAPTCHA_V3_SITE_KEY } from "./tokens";
- import * as i0 from "@angular/core";
- export class RecaptchaLoaderService {
- /**
- * @internal
- * @nocollapse
- */
- static { this.ready = null; }
- constructor(
- // eslint-disable-next-line @typescript-eslint/ban-types
- platformId, language, baseUrl, nonce, v3SiteKey) {
- this.platformId = platformId;
- this.language = language;
- this.baseUrl = baseUrl;
- this.nonce = nonce;
- this.v3SiteKey = v3SiteKey;
- this.init();
- this.ready = isPlatformBrowser(this.platformId) ? RecaptchaLoaderService.ready.asObservable() : of();
- }
- /** @internal */
- init() {
- if (RecaptchaLoaderService.ready) {
- return;
- }
- if (isPlatformBrowser(this.platformId)) {
- const subject = new BehaviorSubject(null);
- RecaptchaLoaderService.ready = subject;
- const langParam = this.language ? "&hl=" + this.language : "";
- const renderMode = this.v3SiteKey || "explicit";
- loader.loadScript(renderMode, (grecaptcha) => subject.next(grecaptcha), langParam, this.baseUrl, this.nonce);
- }
- }
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: RecaptchaLoaderService, deps: [{ token: PLATFORM_ID }, { token: RECAPTCHA_LANGUAGE, optional: true }, { token: RECAPTCHA_BASE_URL, optional: true }, { token: RECAPTCHA_NONCE, optional: true }, { token: RECAPTCHA_V3_SITE_KEY, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: RecaptchaLoaderService }); }
- }
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: RecaptchaLoaderService, decorators: [{
- type: Injectable
- }], ctorParameters: function () { return [{ type: Object, decorators: [{
- type: Inject,
- args: [PLATFORM_ID]
- }] }, { type: undefined, decorators: [{
- type: Optional
- }, {
- type: Inject,
- args: [RECAPTCHA_LANGUAGE]
- }] }, { type: undefined, decorators: [{
- type: Optional
- }, {
- type: Inject,
- args: [RECAPTCHA_BASE_URL]
- }] }, { type: undefined, decorators: [{
- type: Optional
- }, {
- type: Inject,
- args: [RECAPTCHA_NONCE]
- }] }, { type: undefined, decorators: [{
- type: Optional
- }, {
- type: Inject,
- args: [RECAPTCHA_V3_SITE_KEY]
- }] }]; } });
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjYXB0Y2hhLWxvYWRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctcmVjYXB0Y2hhL3NyYy9saWIvcmVjYXB0Y2hhLWxvYWRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUUsT0FBTyxFQUFFLGVBQWUsRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsa0JBQWtCLEVBQUUsZUFBZSxFQUFFLHFCQUFxQixFQUFFLE1BQU0sVUFBVSxDQUFDOztBQUcxRyxNQUFNLE9BQU8sc0JBQXNCO0lBQ2pDOzs7T0FHRzthQUNZLFVBQUssR0FBMkMsSUFBSSxDQUFDO0lBYXBFO0lBQ0Usd0RBQXdEO0lBQ2xCLFVBQWtCLEVBQ2hCLFFBQWlCLEVBQ2pCLE9BQWdCLEVBQ25CLEtBQWMsRUFDUixTQUFrQjtRQUp2QixlQUFVLEdBQVYsVUFBVSxDQUFRO1FBTXhELElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQzNCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNaLElBQUksQ0FBQyxLQUFLLEdBQUcsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDO0lBQ3ZHLENBQUM7SUFFRCxnQkFBZ0I7SUFDUixJQUFJO1FBQ1YsSUFBSSxzQkFBc0IsQ0FBQyxLQUFLLEVBQUU7WUFDaEMsT0FBTztTQUNSO1FBQ0QsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDdEMsTUFBTSxPQUFPLEdBQUcsSUFBSSxlQUFlLENBQXdCLElBQUksQ0FBQyxDQUFDO1lBQ2pFLHNCQUFzQixDQUFDLEtBQUssR0FBRyxPQUFPLENBQUM7WUFDdkMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUU5RCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsU0FBUyxJQUFJLFVBQVUsQ0FBQztZQUNoRCxNQUFNLENBQUMsVUFBVSxDQUFDLFVBQVUsRUFBRSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDOUc7SUFDSCxDQUFDOzhHQS9DVSxzQkFBc0Isa0JBb0J2QixXQUFXLGFBQ0Msa0JBQWtCLDZCQUNsQixrQkFBa0IsNkJBQ2xCLGVBQWUsNkJBQ2YscUJBQXFCO2tIQXhCaEMsc0JBQXNCOzsyRkFBdEIsc0JBQXNCO2tCQURsQyxVQUFVOzswQkFxQk4sTUFBTTsyQkFBQyxXQUFXOzswQkFDbEIsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxrQkFBa0I7OzBCQUNyQyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLGtCQUFrQjs7MEJBQ3JDLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsZUFBZTs7MEJBQ2xDLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsLCBQTEFURk9STV9JRCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIG9mIH0gZnJvbSBcInJ4anNcIjtcblxuaW1wb3J0IHsgbG9hZGVyIH0gZnJvbSBcIi4vbG9hZC1zY3JpcHRcIjtcbmltcG9ydCB7IFJFQ0FQVENIQV9CQVNFX1VSTCwgUkVDQVBUQ0hBX0xBTkdVQUdFLCBSRUNBUFRDSEFfTk9OQ0UsIFJFQ0FQVENIQV9WM19TSVRFX0tFWSB9IGZyb20gXCIuL3Rva2Vuc1wiO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUmVjYXB0Y2hhTG9hZGVyU2VydmljZSB7XG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICogQG5vY29sbGFwc2VcbiAgICovXG4gIHByaXZhdGUgc3RhdGljIHJlYWR5OiBCZWhhdmlvclN1YmplY3Q8UmVDYXB0Y2hhVjIuUmVDYXB0Y2hhPiA9IG51bGw7XG5cbiAgcHVibGljIHJlYWR5OiBPYnNlcnZhYmxlPFJlQ2FwdGNoYVYyLlJlQ2FwdGNoYT47XG5cbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBwcml2YXRlIGxhbmd1YWdlOiBzdHJpbmc7XG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgcHJpdmF0ZSBiYXNlVXJsOiBzdHJpbmc7XG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgcHJpdmF0ZSBub25jZTogc3RyaW5nO1xuICAvKiogQGludGVybmFsICovXG4gIHByaXZhdGUgdjNTaXRlS2V5OiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHlwZXNcbiAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHJlYWRvbmx5IHBsYXRmb3JtSWQ6IE9iamVjdCxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KFJFQ0FQVENIQV9MQU5HVUFHRSkgbGFuZ3VhZ2U/OiBzdHJpbmcsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChSRUNBUFRDSEFfQkFTRV9VUkwpIGJhc2VVcmw/OiBzdHJpbmcsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChSRUNBUFRDSEFfTk9OQ0UpIG5vbmNlPzogc3RyaW5nLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoUkVDQVBUQ0hBX1YzX1NJVEVfS0VZKSB2M1NpdGVLZXk/OiBzdHJpbmcsXG4gICkge1xuICAgIHRoaXMubGFuZ3VhZ2UgPSBsYW5ndWFnZTtcbiAgICB0aGlzLmJhc2VVcmwgPSBiYXNlVXJsO1xuICAgIHRoaXMubm9uY2UgPSBub25jZTtcbiAgICB0aGlzLnYzU2l0ZUtleSA9IHYzU2l0ZUtleTtcbiAgICB0aGlzLmluaXQoKTtcbiAgICB0aGlzLnJlYWR5ID0gaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSA/IFJlY2FwdGNoYUxvYWRlclNlcnZpY2UucmVhZHkuYXNPYnNlcnZhYmxlKCkgOiBvZigpO1xuICB9XG5cbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBwcml2YXRlIGluaXQoKSB7XG4gICAgaWYgKFJlY2FwdGNoYUxvYWRlclNlcnZpY2UucmVhZHkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcbiAgICAgIGNvbnN0IHN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFJlQ2FwdGNoYVYyLlJlQ2FwdGNoYT4obnVsbCk7XG4gICAgICBSZWNhcHRjaGFMb2FkZXJTZXJ2aWNlLnJlYWR5ID0gc3ViamVjdDtcbiAgICAgIGNvbnN0IGxhbmdQYXJhbSA9IHRoaXMubGFuZ3VhZ2UgPyBcIiZobD1cIiArIHRoaXMubGFuZ3VhZ2UgOiBcIlwiO1xuXG4gICAgICBjb25zdCByZW5kZXJNb2RlID0gdGhpcy52M1NpdGVLZXkgfHwgXCJleHBsaWNpdFwiO1xuICAgICAgbG9hZGVyLmxvYWRTY3JpcHQocmVuZGVyTW9kZSwgKGdyZWNhcHRjaGEpID0+IHN1YmplY3QubmV4dChncmVjYXB0Y2hhKSwgbGFuZ1BhcmFtLCB0aGlzLmJhc2VVcmwsIHRoaXMubm9uY2UpO1xuICAgIH1cbiAgfVxufVxuIl19
|