ngx-pesapal
Version:
Angular schematics lib for abstracting Pesapal APIs
93 lines • 9.75 kB
JavaScript
import { Directive, HostListener, Input, DestroyRef, inject } from '@angular/core';
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
import { ApiService } from '../services/api.service';
import * as i0 from "@angular/core";
export class NgxPesapalDirective {
constructor() {
this.id = Date.now().toString(36) + Math.random().toString(36).substring(2);
this.currency = 'KES';
this.errorMessages = false;
this.api = inject(ApiService);
this.destroy = inject(DestroyRef);
}
onClick() {
this.api.submitOrderRequest({
id: this.id,
amount: this.amount,
currency: this.currency,
description: this.description,
callback_url: this.callback_url,
billing_address: {
phone_number: this.phone_number,
email_address: this.email_address,
country_code: this.country_code,
first_name: this.first_name,
middle_name: this.middle_name,
last_name: this.last_name,
line_1: this.line_1,
line_2: this.line_2,
city: this.city,
state: this.state,
postal_code: this.postal_code,
zip_code: this.zip_code,
}
}).pipe(takeUntilDestroyed(this.destroy)).subscribe({
error: (e) => {
throw new Error(e);
}
});
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: NgxPesapalDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.3", type: NgxPesapalDirective, selector: "[ngx-pesapal]", inputs: { currency: "currency", amount: "amount", description: "description", callback_url: "callback_url", phone_number: "phone_number", email_address: "email_address", country_code: "country_code", first_name: "first_name", middle_name: "middle_name", last_name: "last_name", line_1: "line_1", line_2: "line_2", city: "city", state: "state", postal_code: "postal_code", zip_code: "zip_code", cancellation_url: "cancellation_url", errorMessages: "errorMessages" }, host: { listeners: { "click": "onClick($event)" } }, ngImport: i0 }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: NgxPesapalDirective, decorators: [{
type: Directive,
args: [{
selector: '[ngx-pesapal]'
}]
}], propDecorators: { currency: [{
type: Input,
args: [{ required: true }]
}], amount: [{
type: Input,
args: [{ required: true }]
}], description: [{
type: Input,
args: [{ required: true }]
}], callback_url: [{
type: Input,
args: [{ required: true }]
}], phone_number: [{
type: Input,
args: [{ required: true }]
}], email_address: [{
type: Input
}], country_code: [{
type: Input
}], first_name: [{
type: Input
}], middle_name: [{
type: Input
}], last_name: [{
type: Input
}], line_1: [{
type: Input
}], line_2: [{
type: Input
}], city: [{
type: Input
}], state: [{
type: Input
}], postal_code: [{
type: Input
}], zip_code: [{
type: Input
}], cancellation_url: [{
type: Input
}], errorMessages: [{
type: Input
}], onClick: [{
type: HostListener,
args: ['click', ['$event']]
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVzYXBhbC1wYXkuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcGVzYXBhbC9zcmMvbGliL2RpcmVjdGl2ZXMvcGVzYXBhbC1wYXkuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFBO0FBQy9ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFLckQsTUFBTSxPQUFPLG1CQUFtQjtJQUhoQztRQUtFLE9BQUUsR0FBVyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ25ELGFBQVEsR0FBVSxLQUFLLENBQUE7UUFrQnpDLGtCQUFhLEdBQVksS0FBSyxDQUFBO1FBR3ZDLFFBQUcsR0FBZSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7UUFDcEMsWUFBTyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQTtLQWlDN0I7SUEvQm9DLE9BQU87UUFDeEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FDekI7WUFDRSxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUU7WUFDWCxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDbkIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztZQUM3QixZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7WUFDL0IsZUFBZSxFQUFFO2dCQUNmLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWTtnQkFDL0IsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhO2dCQUNqQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7Z0JBQy9CLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtnQkFDM0IsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO2dCQUM3QixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7Z0JBQ3pCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtnQkFDbkIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO2dCQUNuQixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7Z0JBQ2YsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO2dCQUNqQixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7Z0JBQzdCLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTthQUN4QjtTQUNGLENBQ0YsQ0FBQyxJQUFJLENBQ0osa0JBQWtCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUNqQyxDQUFDLFNBQVMsQ0FBQztZQUNSLEtBQUssRUFBRSxDQUFDLENBQU0sRUFBRSxFQUFFO2dCQUNoQixNQUFNLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFBO1lBQ3BCLENBQUM7U0FDSixDQUFDLENBQUE7SUFDSixDQUFDOzhHQXpEVSxtQkFBbUI7a0dBQW5CLG1CQUFtQjs7MkZBQW5CLG1CQUFtQjtrQkFIL0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZUFBZTtpQkFDMUI7OEJBSTRCLFFBQVE7c0JBQWxDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUNFLE1BQU07c0JBQWhDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUNFLFdBQVc7c0JBQXJDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUNFLFlBQVk7c0JBQXRDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUVFLFlBQVk7c0JBQXRDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUNoQixhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFNNkIsT0FBTztzQkFBekMsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIERlc3Ryb3lSZWYsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnXG5pbXBvcnQgeyBBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvYXBpLnNlcnZpY2UnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbbmd4LXBlc2FwYWxdJ1xufSlcbmV4cG9ydCBjbGFzcyBOZ3hQZXNhcGFsRGlyZWN0aXZlIHtcblxuICBpZDogc3RyaW5nID0gRGF0ZS5ub3coKS50b1N0cmluZygzNikgKyBNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoMilcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgY3VycmVuY3k6c3RyaW5nID0gJ0tFUydcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgYW1vdW50ITogbnVtYmVyXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIGRlc2NyaXB0aW9uITogc3RyaW5nXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIGNhbGxiYWNrX3VybCE6IHN0cmluZ1xuXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIHBob25lX251bWJlciE6IHN0cmluZ1xuICBASW5wdXQoKSBlbWFpbF9hZGRyZXNzITogc3RyaW5nXG4gIEBJbnB1dCgpIGNvdW50cnlfY29kZT86IHN0cmluZyBcbiAgQElucHV0KCkgZmlyc3RfbmFtZT86IHN0cmluZyBcbiAgQElucHV0KCkgbWlkZGxlX25hbWU/OiBzdHJpbmcgXG4gIEBJbnB1dCgpIGxhc3RfbmFtZT86IHN0cmluZyBcbiAgQElucHV0KCkgbGluZV8xPzogc3RyaW5nIFxuICBASW5wdXQoKSBsaW5lXzI/OiBzdHJpbmcgXG4gIEBJbnB1dCgpIGNpdHk/OiBzdHJpbmcgXG4gIEBJbnB1dCgpIHN0YXRlPzogc3RyaW5nIFxuICBASW5wdXQoKSBwb3N0YWxfY29kZT86IHN0cmluZyBcbiAgQElucHV0KCkgemlwX2NvZGU/OiBzdHJpbmcgXG4gIEBJbnB1dCgpIGNhbmNlbGxhdGlvbl91cmw/OiBzdHJpbmcgXG4gIEBJbnB1dCgpIGVycm9yTWVzc2FnZXM6IGJvb2xlYW4gPSBmYWxzZVxuXG5cbiAgYXBpOiBBcGlTZXJ2aWNlID0gaW5qZWN0KEFwaVNlcnZpY2UpXG4gIGRlc3Ryb3kgPSBpbmplY3QoRGVzdHJveVJlZilcblxuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pIG9uQ2xpY2soKSB7XG4gICAgdGhpcy5hcGkuc3VibWl0T3JkZXJSZXF1ZXN0KFxuICAgICAge1xuICAgICAgICBpZDogdGhpcy5pZCxcbiAgICAgICAgYW1vdW50OiB0aGlzLmFtb3VudCxcbiAgICAgICAgY3VycmVuY3k6IHRoaXMuY3VycmVuY3ksXG4gICAgICAgIGRlc2NyaXB0aW9uOiB0aGlzLmRlc2NyaXB0aW9uLFxuICAgICAgICBjYWxsYmFja191cmw6IHRoaXMuY2FsbGJhY2tfdXJsLFxuICAgICAgICBiaWxsaW5nX2FkZHJlc3M6IHtcbiAgICAgICAgICBwaG9uZV9udW1iZXI6IHRoaXMucGhvbmVfbnVtYmVyLFxuICAgICAgICAgIGVtYWlsX2FkZHJlc3M6IHRoaXMuZW1haWxfYWRkcmVzcyxcbiAgICAgICAgICBjb3VudHJ5X2NvZGU6IHRoaXMuY291bnRyeV9jb2RlLFxuICAgICAgICAgIGZpcnN0X25hbWU6IHRoaXMuZmlyc3RfbmFtZSxcbiAgICAgICAgICBtaWRkbGVfbmFtZTogdGhpcy5taWRkbGVfbmFtZSxcbiAgICAgICAgICBsYXN0X25hbWU6IHRoaXMubGFzdF9uYW1lLFxuICAgICAgICAgIGxpbmVfMTogdGhpcy5saW5lXzEsXG4gICAgICAgICAgbGluZV8yOiB0aGlzLmxpbmVfMixcbiAgICAgICAgICBjaXR5OiB0aGlzLmNpdHksXG4gICAgICAgICAgc3RhdGU6IHRoaXMuc3RhdGUsXG4gICAgICAgICAgcG9zdGFsX2NvZGU6IHRoaXMucG9zdGFsX2NvZGUsXG4gICAgICAgICAgemlwX2NvZGU6IHRoaXMuemlwX2NvZGUsXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICApLnBpcGUoXG4gICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95KVxuICAgICkuc3Vic2NyaWJlKHtcbiAgICAgICAgZXJyb3I6IChlOiBhbnkpID0+IHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZSlcbiAgICAgICAgfVxuICAgIH0pXG4gIH1cbn1cbiJdfQ==