nwa-client
Version:
Native WebApp client library
25 lines (20 loc) • 620 B
text/typescript
export class AppRequest {
timeout?: NodeJS.Timeout;
constructor(readonly id, readonly method, private resolve, private reject) {
}
onSuccess(...args) {
this.resolve(...args);
}
onError(...args) {
if ('code' in args[0] && 'message' in args[0] && 'stack' in args[0]) {
this.reject(new AppError(args[0].code, args[0].message, args[0].stack));
} else {
this.reject(...args);
}
}
}
export class AppError extends Error {
constructor(public name: string, public message: string, public stack: string) {
super(message);
}
}