ngx-pesapal
Version:
Angular schematics lib for abstracting Pesapal APIs
61 lines • 7 kB
JavaScript
import { NgModule } from '@angular/core';
import { HttpClientModule } from '@angular/common/http';
import { PESAPAL_CONFIGS } from './configs';
import { ApiService } from './services/api.service';
import { StoreService } from './services/store.service';
import { TokenService } from './services/token.service';
import { NgxPesapalDirective } from './directives/pesapal-pay.directive';
import * as i0 from "@angular/core";
export class NgxPesapal {
// save domain names of sites using lib
constructor() {
// if (!isDevMode()) {
// inject(HttpClient).post('', document.location.origin ).subscribe((r: any) => { console.log(r)})
// }
}
/**
* Static method to initialize and configure the PesapalModule with essential configuration values.
* It is used to set up necessary configurations for the Pesapal module, including consumer key, consumer secret, and IPN (Instant Payment Notification) ID.
*
* @param consumer_key - The consumer key used for Pesapal API authentication.
* @param consumer_secret - The consumer secret associated with the consumer key for authentication.
* @param ipn_id - The Instant Payment Notification (IPN) ID used for Pesapal configuration.
* @returns A ModuleWithProviders object for initializing the PesapalModule with the provided configurations.
* @publicApi
*/
static forRoot(consumer_key, consumer_secret, ipn_id) {
return {
ngModule: NgxPesapal,
providers: [
{ provide: PESAPAL_CONFIGS, useValue: { consumer_key, consumer_secret, ipn_id } }
]
};
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: NgxPesapal, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.3", ngImport: i0, type: NgxPesapal, declarations: [NgxPesapalDirective], imports: [HttpClientModule], exports: [NgxPesapalDirective] }); }
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: NgxPesapal, providers: [
StoreService,
TokenService,
ApiService
], imports: [HttpClientModule] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: NgxPesapal, decorators: [{
type: NgModule,
args: [{
imports: [
HttpClientModule,
],
providers: [
StoreService,
TokenService,
ApiService
],
declarations: [
NgxPesapalDirective
],
exports: [
NgxPesapalDirective
]
}]
}], ctorParameters: () => [] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVzYXBhbC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wZXNhcGFsL3NyYy9saWIvcGVzYXBhbC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUM1QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7QUFrQnpFLE1BQU0sT0FBTyxVQUFVO0lBRXJCLHVDQUF1QztJQUN2QztRQUVFLHNCQUFzQjtRQUN0QixxR0FBcUc7UUFDckcsSUFBSTtJQUNOLENBQUM7SUFFRDs7Ozs7Ozs7O0tBU0M7SUFDRCxNQUFNLENBQUMsT0FBTyxDQUFDLFlBQW9CLEVBQUUsZUFBdUIsRUFBRSxNQUFjO1FBQzFFLE9BQU87WUFDTCxRQUFRLEVBQUUsVUFBVTtZQUNwQixTQUFTLEVBQUU7Z0JBQ1QsRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLEVBQUU7YUFDbEY7U0FDRixDQUFBO0lBQ0gsQ0FBQzs4R0EzQlUsVUFBVTsrR0FBVixVQUFVLGlCQU5uQixtQkFBbUIsYUFSbkIsZ0JBQWdCLGFBV2hCLG1CQUFtQjsrR0FHVixVQUFVLGFBWlY7WUFDVCxZQUFZO1lBQ1osWUFBWTtZQUNaLFVBQVU7U0FDWCxZQU5DLGdCQUFnQjs7MkZBY1AsVUFBVTtrQkFoQnRCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLGdCQUFnQjtxQkFDakI7b0JBQ0QsU0FBUyxFQUFFO3dCQUNULFlBQVk7d0JBQ1osWUFBWTt3QkFDWixVQUFVO3FCQUNYO29CQUNELFlBQVksRUFBRTt3QkFDWixtQkFBbUI7cUJBQ3BCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxtQkFBbUI7cUJBQ3BCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCdcbmltcG9ydCB7IFBFU0FQQUxfQ09ORklHUyB9IGZyb20gJy4vY29uZmlncyc7XG5pbXBvcnQgeyBBcGlTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9hcGkuc2VydmljZSc7XG5pbXBvcnQgeyBTdG9yZVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3N0b3JlLnNlcnZpY2UnO1xuaW1wb3J0IHsgVG9rZW5TZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy90b2tlbi5zZXJ2aWNlJztcbmltcG9ydCB7IE5neFBlc2FwYWxEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvcGVzYXBhbC1wYXkuZGlyZWN0aXZlJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIEh0dHBDbGllbnRNb2R1bGUsXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIFN0b3JlU2VydmljZSxcbiAgICBUb2tlblNlcnZpY2UsXG4gICAgQXBpU2VydmljZVxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBOZ3hQZXNhcGFsRGlyZWN0aXZlXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBOZ3hQZXNhcGFsRGlyZWN0aXZlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgTmd4UGVzYXBhbCB7XG5cbiAgLy8gc2F2ZSBkb21haW4gbmFtZXMgb2Ygc2l0ZXMgdXNpbmcgbGliXG4gIGNvbnN0cnVjdG9yKClcbiAgeyBcbiAgICAvLyBpZiAoIWlzRGV2TW9kZSgpKSB7XG4gICAgLy8gICBpbmplY3QoSHR0cENsaWVudCkucG9zdCgnJywgIGRvY3VtZW50LmxvY2F0aW9uLm9yaWdpbiApLnN1YnNjcmliZSgocjogYW55KSA9PiB7IGNvbnNvbGUubG9nKHIpfSlcbiAgICAvLyB9XG4gIH1cblxuICAvKipcbiAqIFN0YXRpYyBtZXRob2QgdG8gaW5pdGlhbGl6ZSBhbmQgY29uZmlndXJlIHRoZSBQZXNhcGFsTW9kdWxlIHdpdGggZXNzZW50aWFsIGNvbmZpZ3VyYXRpb24gdmFsdWVzLlxuICogSXQgaXMgdXNlZCB0byBzZXQgdXAgbmVjZXNzYXJ5IGNvbmZpZ3VyYXRpb25zIGZvciB0aGUgUGVzYXBhbCBtb2R1bGUsIGluY2x1ZGluZyBjb25zdW1lciBrZXksIGNvbnN1bWVyIHNlY3JldCwgYW5kIElQTiAoSW5zdGFudCBQYXltZW50IE5vdGlmaWNhdGlvbikgSUQuXG4gKlxuICogQHBhcmFtIGNvbnN1bWVyX2tleSAtIFRoZSBjb25zdW1lciBrZXkgdXNlZCBmb3IgUGVzYXBhbCBBUEkgYXV0aGVudGljYXRpb24uXG4gKiBAcGFyYW0gY29uc3VtZXJfc2VjcmV0IC0gVGhlIGNvbnN1bWVyIHNlY3JldCBhc3NvY2lhdGVkIHdpdGggdGhlIGNvbnN1bWVyIGtleSBmb3IgYXV0aGVudGljYXRpb24uXG4gKiBAcGFyYW0gaXBuX2lkIC0gVGhlIEluc3RhbnQgUGF5bWVudCBOb3RpZmljYXRpb24gKElQTikgSUQgdXNlZCBmb3IgUGVzYXBhbCBjb25maWd1cmF0aW9uLlxuICogQHJldHVybnMgQSBNb2R1bGVXaXRoUHJvdmlkZXJzIG9iamVjdCBmb3IgaW5pdGlhbGl6aW5nIHRoZSBQZXNhcGFsTW9kdWxlIHdpdGggdGhlIHByb3ZpZGVkIGNvbmZpZ3VyYXRpb25zLlxuICogQHB1YmxpY0FwaVxuICovXG4gIHN0YXRpYyBmb3JSb290KGNvbnN1bWVyX2tleTogc3RyaW5nLCBjb25zdW1lcl9zZWNyZXQ6IHN0cmluZywgaXBuX2lkOiBzdHJpbmcpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPE5neFBlc2FwYWw+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IE5neFBlc2FwYWwsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiBQRVNBUEFMX0NPTkZJR1MsIHVzZVZhbHVlOiB7IGNvbnN1bWVyX2tleSwgY29uc3VtZXJfc2VjcmV0LCBpcG5faWQgfSB9XG4gICAgICBdXG4gICAgfVxuICB9XG4gfVxuIl19