- public clone_ptr(): bigint {
- const ret: bigint = bindings.OnionMessageContents_clone_ptr(this.ptr);
- return ret;
+ /** Creates a new instance of OnionMessageContents from a given implementation */
+ public static new_impl(arg: OnionMessageContentsInterface): OnionMessageContents {
+ const impl_holder: LDKOnionMessageContentsHolder = new LDKOnionMessageContentsHolder();
+ let structImplementation = {
+ tlv_type (): bigint {
+ const ret: bigint = arg.tlv_type();
+ return ret;
+ },
+ write (): number {
+ const ret: Uint8Array = arg.write();
+ const result: number = bindings.encodeUint8Array(ret);
+ return result;
+ },
+ debug_str (): number {
+ const ret: string = arg.debug_str();
+ const result: number = bindings.encodeString(ret);
+ return result;
+ },
+ } as bindings.LDKOnionMessageContents;
+ const ptr_idx: [bigint, number] = bindings.LDKOnionMessageContents_new(structImplementation);
+
+ impl_holder.held = new OnionMessageContents(null, ptr_idx[0]);
+ impl_holder.held.instance_idx = ptr_idx[1];
+ impl_holder.held.bindings_instance = structImplementation;
+ return impl_holder.held!;