import CommonBase from './CommonBase.mjs';
import * as bindings from '../bindings.mjs'
-import * as InternalUtils from '../InternalUtils.mjs'
+/** An implementation of Type */
export interface TypeInterface {
+ /**Returns the type identifying the message payload.
+ */
type_id(): number;
- debug_str(): String;
+ /**Return a human-readable "debug" string describing this object
+ */
+ debug_str(): string;
+ /**Serialize the object into a byte array
+ */
write(): Uint8Array;
}
held: Type;
}
+/**
+ * Defines a type identifier for sending messages over the wire.
+ *
+ * Messages implementing this trait specify a type and must be [`Writeable`].
+ */
export class Type extends CommonBase {
/* @internal */
public bindings_instance?: bindings.LDKType;
this.bindings_instance = null;
}
- static new_impl(arg: TypeInterface): Type {
+ /** Creates a new instance of Type from a given implementation */
+ public static new_impl(arg: TypeInterface): Type {
const impl_holder: LDKTypeHolder = new LDKTypeHolder();
let structImplementation = {
type_id (): number {
const ret: number = arg.type_id();
return ret;
},
- debug_str (): String {
- const ret: String = arg.debug_str();
- return ret;
+ debug_str (): number {
+ const ret: string = arg.debug_str();
+ const result: number = bindings.encodeString(ret);
+ return result;
},
- write (): Uint8Array {
+ write (): number {
const ret: Uint8Array = arg.write();
- return ret;
+ const result: number = bindings.encodeUint8Array(ret);
+ return result;
},
} as bindings.LDKType;
const ptr: number = bindings.LDKType_new(structImplementation);
impl_holder.held.bindings_instance = structImplementation;
return impl_holder.held;
}
+
+ /**
+ * Returns the type identifying the message payload.
+ */
public type_id(): number {
const ret: number = bindings.Type_type_id(this.ptr);
return ret;
}
- public debug_str(): String {
- const ret: String = bindings.Type_debug_str(this.ptr);
- return ret;
+ /**
+ * Return a human-readable "debug" string describing this object
+ */
+ public debug_str(): string {
+ const ret: number = bindings.Type_debug_str(this.ptr);
+ const ret_conv: string = bindings.decodeString(ret);
+ return ret_conv;
}
+ /**
+ * Serialize the object into a byte array
+ */
public write(): Uint8Array {
- const ret: Uint8Array = bindings.Type_write(this.ptr);
- return ret;
+ const ret: number = bindings.Type_write(this.ptr);
+ const ret_conv: Uint8Array = bindings.decodeUint8Array(ret);
+ return ret_conv;
}
public clone_ptr(): number {
return ret;
}
+ /**
+ * Creates a copy of a Type
+ */
public clone(): Type {
const ret: number = bindings.Type_clone(this.ptr);
const ret_hu_conv: Type = new Type(null, ret);