upend/sdks/js/src/wasm/web.ts

37 lines
1021 B
TypeScript

import type { AddressComponents, AddressTypeConstants } from "./index";
import { UpEndWasmExtensions } from "./index";
import type { InitInput } from "@upnd/wasm-web";
import {
addr_to_components,
components_to_addr,
AddressComponents as WasmAddresComponents,
AddressTypeConstants as WasmAddresTypeConstants,
} from "@upnd/wasm-web";
import init_wasm from "@upnd/wasm-web";
export class UpEndWasmExtensionsWeb extends UpEndWasmExtensions {
private initInput: InitInput;
constructor(init: InitInput) {
super();
this.initInput = init;
}
protected async _init(): Promise<void> {
await init_wasm(this.initInput);
}
addr_to_components(address: string): AddressComponents {
return addr_to_components(address);
}
components_to_addr(components: AddressComponents): string {
const wc = new WasmAddresComponents(components.t, components.c);
return components_to_addr(wc);
}
get AddressTypeConstants(): AddressTypeConstants {
return new WasmAddresTypeConstants();
}
}