UNPKG

said-ngx-paypal

Version:
117 lines 7.72 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Injectable, NgZone } from '@angular/core'; var ScriptService = /** @class */ (function () { function ScriptService(zone) { this.zone = zone; } /** * @param {?} url * @param {?} globalVar * @param {?} onReady * @param {?} onError * @return {?} */ ScriptService.prototype.registerScript = /** * @param {?} url * @param {?} globalVar * @param {?} onReady * @param {?} onError * @return {?} */ function (url, globalVar, onReady, onError) { var _this = this; /** @type {?} */ var existingGlobalVar = ((/** @type {?} */ (window)))[globalVar]; if (existingGlobalVar) { // global variable is present = script was already loaded this.zone.run((/** * @return {?} */ function () { onReady(existingGlobalVar); })); return; } // prepare script elem /** @type {?} */ var scriptElem = document.createElement('script'); scriptElem.id = this.getElemId(globalVar); scriptElem.innerHTML = ''; scriptElem.onload = (/** * @return {?} */ function () { _this.zone.run((/** * @return {?} */ function () { onReady(((/** @type {?} */ (window)))[globalVar]); })); }); scriptElem.onerror = (/** * @return {?} */ function () { _this.zone.run((/** * @return {?} */ function () { onError(scriptElem.src); })); }); scriptElem.src = url; scriptElem.async = true; scriptElem.defer = true; // add script to header document.getElementsByTagName('head')[0].appendChild(scriptElem); }; /** * @param {?} globalVar * @return {?} */ ScriptService.prototype.cleanup = /** * @param {?} globalVar * @return {?} */ function (globalVar) { // remove script from DOM /** @type {?} */ var scriptElem = document.getElementById(this.getElemId(globalVar)); if (scriptElem) { scriptElem.remove(); } }; /** * @private * @param {?} globalVar * @return {?} */ ScriptService.prototype.getElemId = /** * @private * @param {?} globalVar * @return {?} */ function (globalVar) { return "ngx-paypal-script-elem-" + globalVar; }; ScriptService.decorators = [ { type: Injectable } ]; /** @nocollapse */ ScriptService.ctorParameters = function () { return [ { type: NgZone } ]; }; return ScriptService; }()); export { ScriptService }; if (false) { /** * @type {?} * @protected */ ScriptService.prototype.zone; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NyaXB0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9zYWlkLW5neC1wYXlwYWwvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvc2NyaXB0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5EO0lBR0ksdUJBQ2MsSUFBWTtRQUFaLFNBQUksR0FBSixJQUFJLENBQVE7SUFFMUIsQ0FBQzs7Ozs7Ozs7SUFFRCxzQ0FBYzs7Ozs7OztJQUFkLFVBQWUsR0FBVyxFQUFFLFNBQWlCLEVBQUUsT0FBaUMsRUFBRSxPQUFvQztRQUF0SCxpQkErQkM7O1lBOUJTLGlCQUFpQixHQUFHLENBQUMsbUJBQUEsTUFBTSxFQUFPLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDcEQsSUFBSSxpQkFBaUIsRUFBRTtZQUNuQix5REFBeUQ7WUFDekQsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHOzs7WUFBQztnQkFDVixPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQztZQUMvQixDQUFDLEVBQUMsQ0FBQztZQUNILE9BQU87U0FDVjs7O1lBSUssVUFBVSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDO1FBQ25ELFVBQVUsQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMxQyxVQUFVLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUMxQixVQUFVLENBQUMsTUFBTTs7O1FBQUc7WUFDaEIsS0FBSSxDQUFDLElBQUksQ0FBQyxHQUFHOzs7WUFBQztnQkFDVixPQUFPLENBQUMsQ0FBQyxtQkFBQSxNQUFNLEVBQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7WUFDeEMsQ0FBQyxFQUFDLENBQUM7UUFDUCxDQUFDLENBQUEsQ0FBQztRQUNGLFVBQVUsQ0FBQyxPQUFPOzs7UUFBRztZQUNuQixLQUFJLENBQUMsSUFBSSxDQUFDLEdBQUc7OztZQUFDO2dCQUNaLE9BQU8sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDMUIsQ0FBQyxFQUFDLENBQUM7UUFDTCxDQUFDLENBQUEsQ0FBQztRQUNGLFVBQVUsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ3JCLFVBQVUsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ3hCLFVBQVUsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBRXhCLHVCQUF1QjtRQUN2QixRQUFRLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7Ozs7O0lBRUQsK0JBQU87Ozs7SUFBUCxVQUFRLFNBQWlCOzs7WUFFZixVQUFVLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRXJFLElBQUksVUFBVSxFQUFFO1lBQ1osVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDO1NBQ3ZCO0lBQ0wsQ0FBQzs7Ozs7O0lBRU8saUNBQVM7Ozs7O0lBQWpCLFVBQWtCLFNBQWlCO1FBQy9CLE9BQU8sNEJBQTBCLFNBQVcsQ0FBQztJQUNqRCxDQUFDOztnQkFwREosVUFBVTs7OztnQkFGVSxNQUFNOztJQXVEM0Isb0JBQUM7Q0FBQSxBQXJERCxJQXFEQztTQXBEWSxhQUFhOzs7Ozs7SUFHbEIsNkJBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgTmdab25lIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBTY3JpcHRTZXJ2aWNlIHtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcm90ZWN0ZWQgem9uZTogTmdab25lLFxyXG4gICAgKSB7XHJcbiAgICB9XHJcblxyXG4gICAgcmVnaXN0ZXJTY3JpcHQodXJsOiBzdHJpbmcsIGdsb2JhbFZhcjogc3RyaW5nLCBvblJlYWR5OiAoZ2xvYmFsVmFyOiBhbnkpID0+IHZvaWQsIG9uRXJyb3I6IChzY3JpcHRTcmM6IHN0cmluZykgPT4gdm9pZCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGV4aXN0aW5nR2xvYmFsVmFyID0gKHdpbmRvdyBhcyBhbnkpW2dsb2JhbFZhcl07XHJcbiAgICAgICAgaWYgKGV4aXN0aW5nR2xvYmFsVmFyKSB7XHJcbiAgICAgICAgICAgIC8vIGdsb2JhbCB2YXJpYWJsZSBpcyBwcmVzZW50ID0gc2NyaXB0IHdhcyBhbHJlYWR5IGxvYWRlZFxyXG4gICAgICAgICAgICB0aGlzLnpvbmUucnVuKCgpID0+IHtcclxuICAgICAgICAgICAgICAgIG9uUmVhZHkoZXhpc3RpbmdHbG9iYWxWYXIpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcblxyXG4gICAgICAgIC8vIHByZXBhcmUgc2NyaXB0IGVsZW1cclxuICAgICAgICBjb25zdCBzY3JpcHRFbGVtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XHJcbiAgICAgICAgc2NyaXB0RWxlbS5pZCA9IHRoaXMuZ2V0RWxlbUlkKGdsb2JhbFZhcik7XHJcbiAgICAgICAgc2NyaXB0RWxlbS5pbm5lckhUTUwgPSAnJztcclxuICAgICAgICBzY3JpcHRFbGVtLm9ubG9hZCA9ICgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy56b25lLnJ1bigoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBvblJlYWR5KCh3aW5kb3cgYXMgYW55KVtnbG9iYWxWYXJdKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfTtcclxuICAgICAgICBzY3JpcHRFbGVtLm9uZXJyb3IgPSAoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnpvbmUucnVuKCgpID0+IHtcclxuICAgICAgICAgICAgb25FcnJvcihzY3JpcHRFbGVtLnNyYyk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9O1xyXG4gICAgICAgIHNjcmlwdEVsZW0uc3JjID0gdXJsO1xyXG4gICAgICAgIHNjcmlwdEVsZW0uYXN5bmMgPSB0cnVlO1xyXG4gICAgICAgIHNjcmlwdEVsZW0uZGVmZXIgPSB0cnVlO1xyXG5cclxuICAgICAgICAvLyBhZGQgc2NyaXB0IHRvIGhlYWRlclxyXG4gICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF0uYXBwZW5kQ2hpbGQoc2NyaXB0RWxlbSk7XHJcbiAgICB9XHJcblxyXG4gICAgY2xlYW51cChnbG9iYWxWYXI6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICAgIC8vIHJlbW92ZSBzY3JpcHQgZnJvbSBET01cclxuICAgICAgICBjb25zdCBzY3JpcHRFbGVtID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5nZXRFbGVtSWQoZ2xvYmFsVmFyKSk7XHJcblxyXG4gICAgICAgIGlmIChzY3JpcHRFbGVtKSB7XHJcbiAgICAgICAgICAgIHNjcmlwdEVsZW0ucmVtb3ZlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0RWxlbUlkKGdsb2JhbFZhcjogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gYG5neC1wYXlwYWwtc2NyaXB0LWVsZW0tJHtnbG9iYWxWYXJ9YDtcclxuICAgIH1cclxufVxyXG4iXX0=