UNPKG

angular4-paystack

Version:

[![Node CI](https://github.com/ashinzekene/angular4-paystack/actions/workflows/nodejs.yml/badge.svg)](https://github.com/ashinzekene/angular4-paystack/actions/workflows/nodejs.yml)

1 lines 26.1 kB
{"version":3,"file":"angular4-paystack.mjs","sources":["../../../projects/angular4-paystack/src/lib/paystack-token.ts","../../../projects/angular4-paystack/src/lib/angular4-paystack.service.ts","../../../projects/angular4-paystack/src/lib/angular4-paystack.component.ts","../../../projects/angular4-paystack/src/lib/angular4-paystack.directive.ts","../../../projects/angular4-paystack/src/lib/angular4-paystack-embed.component.ts","../../../projects/angular4-paystack/src/lib/angular4-paystack.module.ts","../../../projects/angular4-paystack/src/public-api.ts","../../../projects/angular4-paystack/src/angular4-paystack.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nexport const PUBLIC_KEY_TOKEN = new InjectionToken<string>('paystack.publickey');\n","import { Injectable, Inject } from '@angular/core';\nimport { PUBLIC_KEY_TOKEN } from './paystack-token';\nimport { PaystackOptions } from './paystack-options';\n\ninterface MyWindow extends Window {\n PaystackPop: {\n setup(options: Partial<PaystackOptions>): { openIframe(): any }\n };\n}\ndeclare var window: MyWindow;\n\n@Injectable({\n providedIn: 'root',\n})\nexport class Angular4PaystackService {\n constructor(@Inject(PUBLIC_KEY_TOKEN) private token: string) {}\n\n public loadScript(): Promise<void> {\n return new Promise(resolve => {\n if (window.PaystackPop && typeof window.PaystackPop.setup === 'function') {\n resolve();\n return;\n }\n const script = window.document.createElement('script');\n window.document.head.appendChild(script);\n const onLoadFunc = () => {\n script.removeEventListener('load', onLoadFunc);\n resolve();\n };\n script.addEventListener('load', onLoadFunc);\n script.setAttribute('src', 'https://js.paystack.co/v1/inline.js');\n });\n }\n\n checkInput(obj: Partial<PaystackOptions>): string {\n if (!obj.key && !this.token) {\n return 'ANGULAR-PAYSTACK: Please insert a your public key';\n }\n if (!obj.email) {\n return 'ANGULAR-PAYSTACK: Paystack email cannot be empty';\n }\n if (!obj.amount) {\n return 'ANGULAR-PAYSTACK: Paystack amount cannot be empty';\n }\n if (!obj.ref) {\n return 'ANGULAR-PAYSTACK: Paystack ref cannot be empty';\n }\n return '';\n }\n\n getPaystackOptions(obj: PaystackOptions): PaystackOptions {\n const paystackOptions: PaystackOptions = {\n key: obj.key || this.token,\n email: obj.email,\n amount: obj.amount,\n ref: obj.ref,\n metadata: obj.metadata || {},\n currency: obj.currency || 'NGN',\n plan: obj.plan || '',\n channels: obj.channels,\n quantity: obj.quantity || '',\n subaccount: obj.subaccount || '',\n transaction_charge: obj.transaction_charge || 0, // tslint:disable-line\n bearer: obj.bearer || '',\n split_code: obj.split_code || '',\n };\n return paystackOptions;\n }\n\n}\n","import { Component, Input, Output, EventEmitter } from '@angular/core';\nimport { PaystackOptions, PrivatePaystackOptions } from './paystack-options';\nimport { Angular4PaystackService } from './angular4-paystack.service';\n\ninterface MyWindow extends Window {\n PaystackPop: any;\n}\ndeclare var window: MyWindow;\n\n@Component({\n selector: 'angular4-paystack',\n template: `<button [ngClass]=\"class\" [ngStyle]=\"style\" (click)=\"pay()\"><ng-content></ng-content></button>`,\n})\nexport class Angular4PaystackComponent {\n @Input() key: string;\n @Input() email: string;\n @Input() amount: number;\n @Input() metadata: {};\n @Input() ref: string;\n @Input() currency: string;\n @Input() plan: string;\n @Input() quantity: string;\n @Input() channels: string[];\n @Input() split_code: string;\n @Input() subaccount: string;\n @Input() transaction_charge: number; // tslint:disable-line\n @Input() bearer: string;\n @Input() class: string;\n @Input() style: object;\n @Input() paystackOptions: PaystackOptions;\n @Output() paymentInit: EventEmitter<any> = new EventEmitter<any>();\n @Output() onClose: EventEmitter<any> = new EventEmitter<any>(); // tslint:disable-line\n @Output() callback: EventEmitter<any> = new EventEmitter<any>();\n public _paystackOptions: Partial<PrivatePaystackOptions>; // tslint:disable-line\n private isPaying = false;\n constructor(private paystackService: Angular4PaystackService) {}\n\n async pay() {\n let errorText = '';\n if (this.paystackOptions && Object.keys(this.paystackOptions).length >= 2) {\n errorText = this.valdateInput(this.paystackOptions);\n this.generateOptions(this.paystackOptions);\n } else {\n errorText = this.valdateInput(this);\n this.generateOptions(this);\n }\n if (errorText) {\n console.error(errorText);\n return errorText;\n }\n await this.paystackService.loadScript();\n if (this.isPaying) { return; }\n if (this.paymentInit.observers.length) {\n this.paymentInit.emit();\n }\n const payment = window.PaystackPop.setup(this._paystackOptions);\n payment.openIframe();\n this.isPaying = true;\n return '';\n }\n\n valdateInput(obj: PaystackOptions) {\n if (!this.callback.observers.length) {\n return 'ANGULAR-PAYSTACK: Insert a callback output like so (callback)=\\'PaymentComplete($event)\\' to check payment status';\n }\n return this.paystackService.checkInput(obj);\n }\n\n generateOptions(obj: PaystackOptions) {\n this._paystackOptions = this.paystackService.getPaystackOptions(obj);\n this._paystackOptions.onClose = () => {\n if (this.onClose.observers.length) {\n this.isPaying = false;\n this.onClose.emit();\n }\n };\n this._paystackOptions.callback = (...response) => {\n this.isPaying = false;\n this.callback.emit(...response);\n };\n }\n\n}\n","import { Directive, Input, Output, EventEmitter, HostListener } from '@angular/core';\nimport { PaystackOptions, PrivatePaystackOptions } from './paystack-options';\nimport { Angular4PaystackService } from './angular4-paystack.service';\n\ninterface MyWindow extends Window {\n PaystackPop: {\n setup(options: Partial<PaystackOptions>): { openIframe(): any }\n };\n}\ndeclare var window: MyWindow;\n\n@Directive({\n selector: '[angular4-paystack]', // tslint:disable-line\n})\nexport class Angular4PaystackDirective {\n @Input() key: string;\n @Input() email: string;\n @Input() amount: number;\n @Input() metadata: {};\n @Input() ref: string;\n @Input() currency: string;\n @Input() plan: string;\n @Input() quantity: string;\n @Input() subaccount: string;\n @Input() channels: string[];\n @Input() split_code: string;\n @Input() transaction_charge: number; // tslint:disable-line\n @Input() bearer: string;\n @Input() class: string;\n @Input() style: object;\n @Input() paystackOptions: PaystackOptions;\n @Output() paymentInit: EventEmitter<any> = new EventEmitter<any>(); // tslint:disable-line\n @Output() onClose: EventEmitter<any> = new EventEmitter<any>(); // tslint:disable-line\n @Output() callback: EventEmitter<any> = new EventEmitter<any>();\n private _paystackOptions: Partial<PrivatePaystackOptions>; // tslint:disable-line\n private isPaying = false;\n\n constructor(private paystackService: Angular4PaystackService) {}\n\n async pay() {\n let errorText = '';\n if (this.paystackOptions && Object.keys(this.paystackOptions).length >= 2) {\n errorText = this.valdateInput(this.paystackOptions);\n this.generateOptions(this.paystackOptions);\n } else {\n errorText = this.valdateInput(this);\n this.generateOptions(this);\n }\n if (errorText) {\n console.error(errorText);\n return errorText;\n }\n await this.paystackService.loadScript();\n if (this.isPaying) { return; }\n if (this.paymentInit.observers.length) {\n this.paymentInit.emit();\n }\n const payment = window.PaystackPop.setup(this._paystackOptions);\n payment.openIframe();\n this.isPaying = true;\n return '';\n }\n\n valdateInput(obj: PaystackOptions) {\n if (!this.callback.observers.length) {\n return 'ANGULAR-PAYSTACK: Insert a callback output like so (callback)=\\'PaymentComplete($event)\\' to check payment status';\n }\n return this.paystackService.checkInput(obj);\n }\n\n generateOptions(obj: PaystackOptions) {\n this._paystackOptions = this.paystackService.getPaystackOptions(obj);\n this._paystackOptions.onClose = () => {\n if (this.onClose.observers.length) {\n this.isPaying = false;\n this.onClose.emit();\n }\n };\n this._paystackOptions.callback = (...response) => {\n this.isPaying = false;\n this.callback.emit(...response);\n };\n }\n\n @HostListener('click')\n async buttonClick() {\n this.pay();\n }\n}\n","import { Component, OnInit, Input, Output, EventEmitter, ChangeDetectionStrategy } from '@angular/core';\nimport { PaystackOptions, PrivatePaystackOptions } from './paystack-options';\nimport { Angular4PaystackService } from './angular4-paystack.service';\n\ninterface MyWindow extends Window {\n PaystackPop: any;\n}\ndeclare var window: Partial<MyWindow>;\n\n@Component({\n selector: 'angular4-paystack-embed',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `<div id=\"paystackEmbedContainer\"></div>`\n})\n\nexport class Angular4PaystackEmbedComponent implements OnInit {\n @Input() key: string;\n @Input() email: string;\n @Input() amount: number;\n @Input() metadata: {};\n @Input() channels: string[];\n @Input() ref: string;\n @Input() currency: string;\n @Input() plan: string;\n @Input() quantity: string;\n @Input() subaccount: string;\n @Input() split_code: string;\n @Input() transaction_charge: number; // tslint:disable-line\n @Input() bearer: string;\n @Input() paystackOptions: PaystackOptions;\n @Output() paymentInit: EventEmitter<any> = new EventEmitter<any>();\n @Output() onClose: EventEmitter<any> = new EventEmitter<any>(); // tslint:disable-line\n @Output() callback: EventEmitter<any> = new EventEmitter<any>();\n public _paystackOptions: Partial<PrivatePaystackOptions>; // tslint:disable-line\n\n constructor(private paystackService: Angular4PaystackService) {}\n\n async pay() {\n let errorText = '';\n if (this.paystackOptions && Object.keys(this.paystackOptions).length >= 2) {\n errorText = this.valdateInput(this.paystackOptions);\n this.generateOptions(this.paystackOptions);\n } else {\n errorText = this.valdateInput(this);\n this.generateOptions(this);\n }\n if (errorText) {\n console.error(errorText);\n return errorText;\n }\n await this.paystackService.loadScript();\n if (this.paymentInit.observers.length) {\n this.paymentInit.emit();\n }\n const payment = window.PaystackPop.setup(this._paystackOptions);\n payment.openIframe();\n return '';\n }\n\n valdateInput(obj: PaystackOptions) {\n if (!this.callback.observers.length) {\n return 'ANGULAR-PAYSTACK: Insert a callback output like so (callback)=\\'PaymentComplete($event)\\' to check payment status';\n }\n return this.paystackService.checkInput(obj);\n }\n\n generateOptions(obj: PaystackOptions) {\n this._paystackOptions = this.paystackService.getPaystackOptions(obj);\n this._paystackOptions.onClose = () => {\n if (this.onClose.observers.length) {\n this.onClose.emit();\n }\n };\n this._paystackOptions.callback = (...response) => {\n this.callback.emit(...response);\n };\n }\n\n async ngOnInit() {\n console.error(\n 'ANGULAR-PAYSTACK: The paystack embed option is deprecated. Please use the paystack component or directive'\n );\n this.pay();\n }\n\n}\n","import { NgModule, ModuleWithProviders } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { Angular4PaystackComponent } from './angular4-paystack.component';\nimport { Angular4PaystackEmbedComponent } from './angular4-paystack-embed.component';\nimport { Angular4PaystackDirective } from './angular4-paystack.directive';\nimport { Angular4PaystackService } from './angular4-paystack.service';\nimport { PUBLIC_KEY_TOKEN } from './paystack-token';\n\n@NgModule({\n imports: [CommonModule],\n exports: [Angular4PaystackComponent, Angular4PaystackDirective, Angular4PaystackEmbedComponent],\n declarations: [Angular4PaystackComponent, Angular4PaystackDirective, Angular4PaystackEmbedComponent],\n providers: [],\n})\nexport class Angular4PaystackModule {\n static forRoot(token: string): ModuleWithProviders<Angular4PaystackModule> {\n return {\n ngModule: Angular4PaystackModule,\n providers: [\n Angular4PaystackService,\n { provide: PUBLIC_KEY_TOKEN, useValue: token }\n ]\n };\n }\n}\n","/*\n * Public API Surface of angular4-paystack\n */\n\nexport * from './lib/angular4-paystack.component';\nexport * from './lib/angular4-paystack.directive';\nexport * from './lib/angular4-paystack-embed.component';\nexport * from './lib/angular4-paystack.module';\nexport { PaystackOptions } from './lib/paystack-options';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.Angular4PaystackService"],"mappings":"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"}