X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=typescript_strings.py;h=e691f45845142e9e61e1999e4c87ae0281838478;hb=0ae1b807d30d36862617580b5886f178000a52a9;hp=82c3fa0cb934a8e49f59267edf3b6b73dac979d9;hpb=7da1092518e5ea1518255a4473c178f52549fd81;p=ldk-java diff --git a/typescript_strings.py b/typescript_strings.py index 82c3fa0c..e691f458 100644 --- a/typescript_strings.py +++ b/typescript_strings.py @@ -23,6 +23,7 @@ class Consts: uint32_t = ['number', 'number', 'Uint32Array'], int64_t = ['bigint', 'bigint', 'BigInt64Array'], uint64_t = ['bigint', 'bigint', 'BigUint64Array'], + double = ['number', 'number', 'Float64Array'], ) self.java_type_map = dict( String = "number" @@ -127,7 +128,7 @@ async function finishInitializeWasm(wasmInstance: WebAssembly.Instance) { isWasmInitialized = true; } -const fn_list = ["uuuuuu", "buuuuu", "bbuuuu", "bbbuuu", "bbbbuu", +const fn_list = ["uuuuuu", "buuuuu", "bbuuuu", "bbbuuu", "bbbbuu", "bbbbbu", "bbbbbb", "ubuubu", "ubuuuu", "ubbuuu", "uubuuu", "uububu", "ububuu"]; /* @internal */ @@ -751,7 +752,7 @@ import * as bindings from '../bindings.mjs' self.usize_c_ty = "uint32_t" self.usize_native_ty = "number" self.native_zero_ptr = "0n" - self.result_c_ty = "uint32_t" + self.unitary_enum_c_ty = "uint32_t" self.ptr_arr = "ptrArray" self.is_arr_some_check = ("", " != 0") self.get_native_arr_len_call = ("", "->arr_len") @@ -798,11 +799,14 @@ import * as bindings from '../bindings.mjs' else: return "FREE(" + arr_name + ")" - def map_hu_array_elems(self, arr_name, conv_name, arr_ty, elem_ty): + def map_hu_array_elems(self, arr_name, conv_name, arr_ty, elem_ty, is_nullable): if elem_ty.rust_obj == "LDKU5": return arr_name + " != null ? bindings.uint5ArrToBytes(" + arr_name + ") : null" assert elem_ty.c_ty == "uint64_t" or elem_ty.c_ty.endswith("Array") or elem_ty.rust_obj == "LDKStr" - return arr_name + " != null ? " + arr_name + ".map(" + conv_name + " => " + elem_ty.from_hu_conv[0] + ") : null" + if is_nullable: + return arr_name + " != null ? " + arr_name + ".map(" + conv_name + " => " + elem_ty.from_hu_conv[0] + ") : null" + else: + return arr_name + ".map(" + conv_name + " => " + elem_ty.from_hu_conv[0] + ")" def str_ref_to_native_call(self, var_name, str_len): return "str_ref_to_ts(" + var_name + ", " + str_len + ")" @@ -853,12 +857,10 @@ import * as bindings from '../bindings.mjs' return ("bindings.encodeUint8Array(" + inner + ")", "") elif mapped_ty.c_ty == "uint16_t" or mapped_ty.c_ty == "int16_t": return ("bindings.encodeUint16Array(" + inner + ")", "") - elif mapped_ty.c_ty == "uint32_t": + elif mapped_ty.c_ty == "uint32_t" or mapped_ty.rust_obj == "LDKStr": return ("bindings.encodeUint32Array(" + inner + ")", "") elif mapped_ty.c_ty == "int64_t" or mapped_ty.c_ty == "uint64_t": return ("bindings.encodeUint64Array(" + inner + ")", "") - elif mapped_ty.rust_obj == "LDKStr": - return ("XXX-unused", "") else: print(mapped_ty.c_ty) assert False @@ -960,7 +962,6 @@ export enum {struct_name} {{ for var in flattened_field_var_conversions: if isinstance(var, ConvInfo): impl_constructor_arguments += f", {var.arg_name}: {var.java_hu_ty}" - super_instantiator += first_to_lower(var.arg_name) + ", " if var.from_hu_conv is not None: bindings_instantiator += ", " + var.from_hu_conv[0] if var.from_hu_conv[1] != "": @@ -969,7 +970,6 @@ export enum {struct_name} {{ bindings_instantiator += ", " + first_to_lower(var.arg_name) else: bindings_instantiator += ", " + first_to_lower(var[1]) + ".instance_idx!" - super_instantiator += first_to_lower(var[1]) + "_impl, " pointer_to_adder += "\t\timpl_holder.held.ptrs_to.push(" + first_to_lower(var[1]) + ");\n" impl_constructor_arguments += f", {first_to_lower(var[1])}_impl: {var[0].replace('LDK', '')}Interface" @@ -979,7 +979,14 @@ export enum {struct_name} {{ if isinstance(var, ConvInfo): trait_constructor_arguments += ", " + var.arg_name else: - super_constructor_statements += "\t\tconst " + first_to_lower(var[1]) + " = " + var[1] + ".new_impl(" + super_instantiator + ");\n" + super_constructor_statements += "\t\tconst " + first_to_lower(var[1]) + " = " + var[1] + ".new_impl(" + first_to_lower(var[1]) + "_impl" + super_instantiator = "" + for suparg in var[2]: + if isinstance(suparg, ConvInfo): + super_instantiator += ", " + suparg.arg_name + else: + super_instantiator += ", " + first_to_lower(suparg[1]) + "_impl" + super_constructor_statements += super_instantiator + ");\n" trait_constructor_arguments += ", " + first_to_lower(var[1]) + ".instance_idx!" for suparg in var[2]: if isinstance(suparg, ConvInfo): @@ -1358,7 +1365,7 @@ export class {struct_name.replace("LDK","")} extends CommonBase {{ out_c += "\t" + struct_name + " *obj = (" + struct_name + "*)untag_ptr(ptr);\n" out_c += f"\tassert(obj->tag == {struct_name}_{var.var_name});\n" if field_map.ret_conv is not None: - out_c += ("\t\t\t" + field_map.ret_conv[0].replace("\n", "\n\t\t\t")) + out_c += ("\t" + field_map.ret_conv[0].replace("\n", "\n\t")) if var.tuple_variant: out_c += "obj->" + camel_to_snake(var.var_name) else: