2 import CommonBase from './CommonBase';
3 import * as bindings from '../bindings' // TODO: figure out location
5 export default class PaymentSendFailure extends CommonBase {
6 protected constructor(_dummy: object, ptr: number) { super(ptr); }
9 if (this.ptr != 0) { bindings.PaymentSendFailure_free(this.ptr); }
11 static constr_from_ptr(ptr: number): PaymentSendFailure {
12 const raw_val: bindings.LDKPaymentSendFailure = bindings.LDKPaymentSendFailure_ref_from_ptr(ptr);
13 if (raw_val instanceof bindings.LDKPaymentSendFailure.ParameterError) {
14 return new ParameterError(this.ptr, raw_val);
16 if (raw_val instanceof bindings.LDKPaymentSendFailure.PathParameterError) {
17 return new PathParameterError(this.ptr, raw_val);
19 if (raw_val instanceof bindings.LDKPaymentSendFailure.AllFailedRetrySafe) {
20 return new AllFailedRetrySafe(this.ptr, raw_val);
22 if (raw_val instanceof bindings.LDKPaymentSendFailure.PartialFailure) {
23 return new PartialFailure(this.ptr, raw_val);
25 throw new Error('oops, this should be unreachable'); // Unreachable without extending the (internal) bindings interface
29 export class ParameterError extends PaymentSendFailure {
30 private constructor(ptr: number, obj: bindings.LDKPaymentSendFailure.ParameterError) {
34 export class PathParameterError extends PaymentSendFailure {
35 private constructor(ptr: number, obj: bindings.LDKPaymentSendFailure.PathParameterError) {
39 export class AllFailedRetrySafe extends PaymentSendFailure {
40 private constructor(ptr: number, obj: bindings.LDKPaymentSendFailure.AllFailedRetrySafe) {
44 export class PartialFailure extends PaymentSendFailure {
45 private constructor(ptr: number, obj: bindings.LDKPaymentSendFailure.PartialFailure) {