2 import CommonBase from './CommonBase';
3 import * as bindings from '../bindings' // TODO: figure out location
5 export default class COption_CVec_NetAddressZZ extends CommonBase {
6 protected constructor(_dummy: object, ptr: number) { super(ptr); }
9 if (this.ptr != 0) { bindings.COption_CVec_NetAddressZZ_free(this.ptr); }
11 static constr_from_ptr(ptr: number): COption_CVec_NetAddressZZ {
12 const raw_val: bindings.LDKCOption_CVec_NetAddressZZ = bindings.LDKCOption_CVec_NetAddressZZ_ref_from_ptr(ptr);
13 if (raw_val instanceof bindings.LDKCOption_CVec_NetAddressZZ.Some) {
14 return new Some(this.ptr, raw_val);
16 if (raw_val instanceof bindings.LDKCOption_CVec_NetAddressZZ.None) {
17 return new None(this.ptr, raw_val);
19 throw new Error('oops, this should be unreachable'); // Unreachable without extending the (internal) bindings interface
23 export class Some extends COption_CVec_NetAddressZZ {
24 public some: NetAddress[];
25 private constructor(ptr: number, obj: bindings.LDKCOption_CVec_NetAddressZZ.Some) {
27 const some: number[] = obj.some;
28 NetAddress[] some_conv_12_arr = new NetAddress[some.length];
29 for (int m = 0; m < some.length; m++) {
30 number some_conv_12 = some[m];
31 NetAddress some_conv_12_hu_conv = NetAddress.constr_from_ptr(some_conv_12);
32 some_conv_12_hu_conv.ptrs_to.add(this);
33 some_conv_12_arr[m] = some_conv_12_hu_conv;
35 this.some = some_conv_12_arr;
38 export class None extends COption_CVec_NetAddressZZ {
39 private constructor(ptr: number, obj: bindings.LDKCOption_CVec_NetAddressZZ.None) {
43 public static Option_CVec_NetAddressZZ constructor_some(NetAddress[] o) {
44 number ret = bindings.COption_CVec_NetAddressZZ_some(o != null ? Arrays.stream(o).map(o_conv_12 -> o_conv_12.ptr).toArray(number[]::new) : null);
45 Option_CVec_NetAddressZZ ret_hu_conv = Option_CVec_NetAddressZZ.constr_from_ptr(ret);
46 ret_hu_conv.ptrs_to.add(ret_hu_conv);
50 public static Option_CVec_NetAddressZZ constructor_none() {
51 number ret = bindings.COption_CVec_NetAddressZZ_none();
52 Option_CVec_NetAddressZZ ret_hu_conv = Option_CVec_NetAddressZZ.constr_from_ptr(ret);
53 ret_hu_conv.ptrs_to.add(ret_hu_conv);
57 public Option_CVec_NetAddressZZ clone() {
58 number ret = bindings.COption_CVec_NetAddressZZ_clone(this.ptr);
59 Option_CVec_NetAddressZZ ret_hu_conv = Option_CVec_NetAddressZZ.constr_from_ptr(ret);
60 ret_hu_conv.ptrs_to.add(this);