UNPKG

said-ngx-paypal

Version:
101 lines 7.62 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Injectable } from '@angular/core'; import { ScriptService } from './script.service'; export class PayPalScriptService { /** * @param {?} scriptService */ constructor(scriptService) { this.scriptService = scriptService; this.paypalWindowName = 'paypal'; } /** * @param {?} config * @param {?} onReady * @param {?} onError * @return {?} */ registerPayPalScript(config, onReady, onError) { this.scriptService.registerScript(this.getUrlForConfig(config), this.paypalWindowName, onReady, onError); } /** * @return {?} */ destroyPayPalScript() { this.scriptService.cleanup(this.paypalWindowName); } /** * @private * @param {?} config * @return {?} */ getUrlForConfig(config) { /** @type {?} */ const params = [ { name: 'client-id', value: config.clientId } ]; if (config.currency) { params.push({ name: 'currency', value: config.currency }); } if (config.commit) { params.push({ name: 'commit', value: config.commit }); } if (config.extraParams) { params.push(...config.extraParams); } return `https://www.paypal.com/sdk/js${this.getQueryString(params)}`; } /** * @private * @param {?} queryParams * @return {?} */ getQueryString(queryParams) { /** @type {?} */ let queryString = ''; for (let i = 0; i < queryParams.length; i++) { /** @type {?} */ const queryParam = queryParams[i]; if (i === 0) { queryString += '?'; } else { queryString += '&'; } queryString += `${queryParam.name}=${queryParam.value}`; } return queryString; } } PayPalScriptService.decorators = [ { type: Injectable } ]; /** @nocollapse */ PayPalScriptService.ctorParameters = () => [ { type: ScriptService } ]; if (false) { /** * @type {?} * @private */ PayPalScriptService.prototype.paypalWindowName; /** * @type {?} * @protected */ PayPalScriptService.prototype.scriptService; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5cGFsLXNjcmlwdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vc2FpZC1uZ3gtcGF5cGFsLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL3BheXBhbC1zY3JpcHQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFHakQsTUFBTSxPQUFPLG1CQUFtQjs7OztJQUs1QixZQUNjLGFBQTRCO1FBQTVCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBSnpCLHFCQUFnQixHQUFHLFFBQVEsQ0FBQztJQU03QyxDQUFDOzs7Ozs7O0lBRUQsb0JBQW9CLENBQUMsTUFBd0IsRUFBRSxPQUFpQyxFQUFFLE9BQW9DO1FBQ2xILElBQUksQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM3RyxDQUFDOzs7O0lBRUQsbUJBQW1CO1FBQ2YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDdEQsQ0FBQzs7Ozs7O0lBRU8sZUFBZSxDQUFDLE1BQXdCOztjQUN0QyxNQUFNLEdBQWtCO1lBQzFCO2dCQUNJLElBQUksRUFBRSxXQUFXO2dCQUNqQixLQUFLLEVBQUUsTUFBTSxDQUFDLFFBQVE7YUFDekI7U0FDSjtRQUVELElBQUksTUFBTSxDQUFDLFFBQVEsRUFBRTtZQUNqQixNQUFNLENBQUMsSUFBSSxDQUFDO2dCQUNSLElBQUksRUFBRSxVQUFVO2dCQUNoQixLQUFLLEVBQUUsTUFBTSxDQUFDLFFBQVE7YUFDekIsQ0FBQyxDQUFDO1NBQ047UUFFRCxJQUFJLE1BQU0sQ0FBQyxNQUFNLEVBQUU7WUFDZixNQUFNLENBQUMsSUFBSSxDQUFDO2dCQUNSLElBQUksRUFBRSxRQUFRO2dCQUNkLEtBQUssRUFBRSxNQUFNLENBQUMsTUFBTTthQUN2QixDQUFDLENBQUM7U0FDTjtRQUVELElBQUksTUFBTSxDQUFDLFdBQVcsRUFBRTtZQUNwQixNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQ3RDO1FBRUQsT0FBTyxnQ0FBZ0MsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO0lBQ3pFLENBQUM7Ozs7OztJQUVPLGNBQWMsQ0FBQyxXQUEwQjs7WUFDekMsV0FBVyxHQUFHLEVBQUU7UUFFcEIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7O2tCQUNuQyxVQUFVLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQztZQUNqQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ1QsV0FBVyxJQUFJLEdBQUcsQ0FBQzthQUN0QjtpQkFBTTtnQkFDSCxXQUFXLElBQUksR0FBRyxDQUFDO2FBQ3RCO1lBRUQsV0FBVyxJQUFJLEdBQUcsVUFBVSxDQUFDLElBQUksSUFBSSxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDM0Q7UUFFRCxPQUFPLFdBQVcsQ0FBQztJQUN2QixDQUFDOzs7WUEvREosVUFBVTs7OztZQUZGLGFBQWE7Ozs7Ozs7SUFLbEIsK0NBQTZDOzs7OztJQUl6Qyw0Q0FBc0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBJUGF5UGFsVXJsQ29uZmlnLCBJUXVlcnlQYXJhbSB9IGZyb20gJy4uL21vZGVscy9wYXlwYWwtbW9kZWxzJztcclxuaW1wb3J0IHsgU2NyaXB0U2VydmljZSB9IGZyb20gJy4vc2NyaXB0LnNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgUGF5UGFsU2NyaXB0U2VydmljZSB7XHJcblxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBwYXlwYWxXaW5kb3dOYW1lID0gJ3BheXBhbCc7XHJcblxyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByb3RlY3RlZCBzY3JpcHRTZXJ2aWNlOiBTY3JpcHRTZXJ2aWNlLFxyXG4gICAgKSB7XHJcbiAgICB9XHJcblxyXG4gICAgcmVnaXN0ZXJQYXlQYWxTY3JpcHQoY29uZmlnOiBJUGF5UGFsVXJsQ29uZmlnLCBvblJlYWR5OiAocGF5UGFsQXBpOiBhbnkpID0+IHZvaWQsIG9uRXJyb3I6IChzY3JpcHRTcmM6IHN0cmluZykgPT4gdm9pZCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuc2NyaXB0U2VydmljZS5yZWdpc3RlclNjcmlwdCh0aGlzLmdldFVybEZvckNvbmZpZyhjb25maWcpLCB0aGlzLnBheXBhbFdpbmRvd05hbWUsIG9uUmVhZHksIG9uRXJyb3IpO1xyXG4gICAgfVxyXG5cclxuICAgIGRlc3Ryb3lQYXlQYWxTY3JpcHQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5zY3JpcHRTZXJ2aWNlLmNsZWFudXAodGhpcy5wYXlwYWxXaW5kb3dOYW1lKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldFVybEZvckNvbmZpZyhjb25maWc6IElQYXlQYWxVcmxDb25maWcpOiBzdHJpbmcge1xyXG4gICAgICAgIGNvbnN0IHBhcmFtczogSVF1ZXJ5UGFyYW1bXSA9IFtcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgbmFtZTogJ2NsaWVudC1pZCcsXHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogY29uZmlnLmNsaWVudElkXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICBdO1xyXG5cclxuICAgICAgICBpZiAoY29uZmlnLmN1cnJlbmN5KSB7XHJcbiAgICAgICAgICAgIHBhcmFtcy5wdXNoKHtcclxuICAgICAgICAgICAgICAgIG5hbWU6ICdjdXJyZW5jeScsXHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogY29uZmlnLmN1cnJlbmN5XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGNvbmZpZy5jb21taXQpIHtcclxuICAgICAgICAgICAgcGFyYW1zLnB1c2goe1xyXG4gICAgICAgICAgICAgICAgbmFtZTogJ2NvbW1pdCcsXHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogY29uZmlnLmNvbW1pdFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChjb25maWcuZXh0cmFQYXJhbXMpIHtcclxuICAgICAgICAgICAgcGFyYW1zLnB1c2goLi4uY29uZmlnLmV4dHJhUGFyYW1zKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBgaHR0cHM6Ly93d3cucGF5cGFsLmNvbS9zZGsvanMke3RoaXMuZ2V0UXVlcnlTdHJpbmcocGFyYW1zKX1gO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0UXVlcnlTdHJpbmcocXVlcnlQYXJhbXM6IElRdWVyeVBhcmFtW10pOiBzdHJpbmcge1xyXG4gICAgICAgIGxldCBxdWVyeVN0cmluZyA9ICcnO1xyXG5cclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHF1ZXJ5UGFyYW1zLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHF1ZXJ5UGFyYW0gPSBxdWVyeVBhcmFtc1tpXTtcclxuICAgICAgICAgICAgaWYgKGkgPT09IDApIHtcclxuICAgICAgICAgICAgICAgIHF1ZXJ5U3RyaW5nICs9ICc/JztcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHF1ZXJ5U3RyaW5nICs9ICcmJztcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgcXVlcnlTdHJpbmcgKz0gYCR7cXVlcnlQYXJhbS5uYW1lfT0ke3F1ZXJ5UGFyYW0udmFsdWV9YDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBxdWVyeVN0cmluZztcclxuICAgIH1cclxufVxyXG4iXX0=