UNPKG

ng-recaptchav3

Version:

Angular8 library to provide easy extraction for google recaptcha v3, invisible recaptcha and recaptcha v2

88 lines 7.42 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { isPlatformBrowser } from '@angular/common'; import { Inject, Injectable, InjectionToken, Optional, PLATFORM_ID } from '@angular/core'; import { BehaviorSubject, of } from 'rxjs'; /** @type {?} */ export var RECAPTCHA_LANGUAGE = new InjectionToken('recaptcha-language'); var RecaptchaLoaderService = /** @class */ (function () { function RecaptchaLoaderService(platformId, language) { this.platformId = platformId; this.language = language; this.init(); this.ready = isPlatformBrowser(this.platformId) ? RecaptchaLoaderService.ready.asObservable() : of(); } /** @internal */ /** * \@internal * @private * @return {?} */ RecaptchaLoaderService.prototype.init = /** * \@internal * @private * @return {?} */ function () { if (RecaptchaLoaderService.ready || !isPlatformBrowser(this.platformId)) { return; } window.ngRecaptchaLoaded = (/** * @return {?} */ function () { RecaptchaLoaderService.ready.next(grecaptcha); }); RecaptchaLoaderService.ready = new BehaviorSubject(null); /** @type {?} */ var script = (/** @type {?} */ (document.createElement('script'))); script.innerHTML = ''; /** @type {?} */ var langParam = this.language ? "&hl=" + this.language : ''; script.src = "https://www.google.com/recaptcha/api.js?render=explicit&onload=ngRecaptchaLoaded" + langParam; script.async = true; script.defer = true; script.setAttribute('nonce', ''); document.head.appendChild(script); }; /** * \@internal * @nocollapse */ RecaptchaLoaderService.ready = null; RecaptchaLoaderService.decorators = [ { type: Injectable } ]; /** @nocollapse */ RecaptchaLoaderService.ctorParameters = function () { return [ { type: undefined, decorators: [{ type: Inject, args: [PLATFORM_ID,] }] }, { type: String, decorators: [{ type: Optional }, { type: Inject, args: [RECAPTCHA_LANGUAGE,] }] } ]; }; return RecaptchaLoaderService; }()); export { RecaptchaLoaderService }; if (false) { /** * \@internal * @nocollapse * @type {?} * @private */ RecaptchaLoaderService.ready; /** @type {?} */ RecaptchaLoaderService.prototype.ready; /** * \@internal * @type {?} * @private */ RecaptchaLoaderService.prototype.language; /** * @type {?} * @private */ RecaptchaLoaderService.prototype.platformId; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjYXB0Y2hhLWxvYWRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmctcmVjYXB0Y2hhdjMvIiwic291cmNlcyI6WyJsaWIvcmVjYXB0Y2hhLWxvYWRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxRixPQUFPLEVBQUUsZUFBZSxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFFdkQsTUFBTSxLQUFPLGtCQUFrQixHQUFHLElBQUksY0FBYyxDQUFTLG9CQUFvQixDQUFDO0FBVWxGO0lBYUUsZ0NBRXdDLFVBQWUsRUFDYixRQUFpQjtRQURuQixlQUFVLEdBQVYsVUFBVSxDQUFLO1FBR3JELElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNaLElBQUksQ0FBQyxLQUFLLEdBQUcsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDO0lBQ3ZHLENBQUM7SUFFRCxnQkFBZ0I7Ozs7OztJQUNSLHFDQUFJOzs7OztJQUFaO1FBQ0UsSUFBSSxzQkFBc0IsQ0FBQyxLQUFLLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDdkUsT0FBTztTQUNSO1FBRUQsTUFBTSxDQUFDLGlCQUFpQjs7O1FBQUc7WUFDekIsc0JBQXNCLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNoRCxDQUFDLENBQUEsQ0FBQztRQUNGLHNCQUFzQixDQUFDLEtBQUssR0FBRyxJQUFJLGVBQWUsQ0FBWSxJQUFJLENBQUMsQ0FBQzs7WUFDOUQsTUFBTSxHQUFHLG1CQUFBLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEVBQXFCO1FBQ3BFLE1BQU0sQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDOztZQUNoQixTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBTyxJQUFJLENBQUMsUUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFO1FBQzdELE1BQU0sQ0FBQyxHQUFHLEdBQUcscUZBQW1GLFNBQVcsQ0FBQztRQUM1RyxNQUFNLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNwQixNQUFNLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNwQixNQUFNLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNqQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNwQyxDQUFDOzs7OztJQW5DYyw0QkFBSyxHQUErQixJQUFJLENBQUM7O2dCQU56RCxVQUFVOzs7O2dEQWVOLE1BQU0sU0FBQyxXQUFXOzZDQUNsQixRQUFRLFlBQUksTUFBTSxTQUFDLGtCQUFrQjs7SUEwQjFDLDZCQUFDO0NBQUEsQUExQ0QsSUEwQ0M7U0F6Q1ksc0JBQXNCOzs7Ozs7OztJQUtqQyw2QkFBd0Q7O0lBRXhELHVDQUE2Qjs7Ozs7O0lBRzdCLDBDQUFrQzs7Ozs7SUFJaEMsNENBQXFEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiwgT3B0aW9uYWwsIFBMQVRGT1JNX0lEIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZUNhcHRjaGEgfSBmcm9tICcuL2dyZWNhcHRjaGEnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgY29uc3QgUkVDQVBUQ0hBX0xBTkdVQUdFID0gbmV3IEluamVjdGlvblRva2VuPHN0cmluZz4oJ3JlY2FwdGNoYS1sYW5ndWFnZScpO1xuZGVjbGFyZSBjb25zdCBncmVjYXB0Y2hhOiBSZUNhcHRjaGE7XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIFdpbmRvdyB7XG4gICAgZ3JlY2FwdGNoYTogUmVDYXB0Y2hhO1xuICAgIG5nUmVjYXB0Y2hhTG9hZGVkOiAoKSA9PiB2b2lkO1xuICB9XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBSZWNhcHRjaGFMb2FkZXJTZXJ2aWNlIHtcbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKiBAbm9jb2xsYXBzZVxuICAgKi9cbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZHk6IEJlaGF2aW9yU3ViamVjdDxSZUNhcHRjaGE+ID0gbnVsbDtcblxuICByZWFkeTogT2JzZXJ2YWJsZTxSZUNhcHRjaGE+O1xuXG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBsYW5ndWFnZTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1hbnlcbiAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHJlYWRvbmx5IHBsYXRmb3JtSWQ6IGFueSxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KFJFQ0FQVENIQV9MQU5HVUFHRSkgbGFuZ3VhZ2U/OiBzdHJpbmdcbiAgKSB7XG4gICAgdGhpcy5sYW5ndWFnZSA9IGxhbmd1YWdlO1xuICAgIHRoaXMuaW5pdCgpO1xuICAgIHRoaXMucmVhZHkgPSBpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpID8gUmVjYXB0Y2hhTG9hZGVyU2VydmljZS5yZWFkeS5hc09ic2VydmFibGUoKSA6IG9mKCk7XG4gIH1cblxuICAvKiogQGludGVybmFsICovXG4gIHByaXZhdGUgaW5pdCgpIHtcbiAgICBpZiAoUmVjYXB0Y2hhTG9hZGVyU2VydmljZS5yZWFkeSB8fCAhaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHdpbmRvdy5uZ1JlY2FwdGNoYUxvYWRlZCA9ICgpID0+IHtcbiAgICAgIFJlY2FwdGNoYUxvYWRlclNlcnZpY2UucmVhZHkubmV4dChncmVjYXB0Y2hhKTtcbiAgICB9O1xuICAgIFJlY2FwdGNoYUxvYWRlclNlcnZpY2UucmVhZHkgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFJlQ2FwdGNoYT4obnVsbCk7XG4gICAgY29uc3Qgc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0JykgYXMgSFRNTFNjcmlwdEVsZW1lbnQ7XG4gICAgc2NyaXB0LmlubmVySFRNTCA9ICcnO1xuICAgIGNvbnN0IGxhbmdQYXJhbSA9IHRoaXMubGFuZ3VhZ2UgPyBgJmhsPSR7dGhpcy5sYW5ndWFnZX1gIDogJyc7XG4gICAgc2NyaXB0LnNyYyA9IGBodHRwczovL3d3dy5nb29nbGUuY29tL3JlY2FwdGNoYS9hcGkuanM/cmVuZGVyPWV4cGxpY2l0Jm9ubG9hZD1uZ1JlY2FwdGNoYUxvYWRlZCR7bGFuZ1BhcmFtfWA7XG4gICAgc2NyaXB0LmFzeW5jID0gdHJ1ZTtcbiAgICBzY3JpcHQuZGVmZXIgPSB0cnVlO1xuICAgIHNjcmlwdC5zZXRBdHRyaWJ1dGUoJ25vbmNlJywgJycpO1xuICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc2NyaXB0KTtcbiAgfVxufVxuIl19