mirror of
https://github.com/loro-dev/loro.git
synced 2025-02-11 14:53:12 +00:00
46 lines
851 B
TypeScript
46 lines
851 B
TypeScript
import initWasm, {
|
|
initSync,
|
|
Loro,
|
|
LoroList,
|
|
LoroMap,
|
|
LoroText,
|
|
PrelimList,
|
|
PrelimMap,
|
|
PrelimText,
|
|
setPanicHook,
|
|
} from "./pkg/loro_wasm.js";
|
|
import {
|
|
ContainerID,
|
|
ContainerType,
|
|
InitInput,
|
|
InitOutput,
|
|
} from "./pkg/loro_wasm.d.ts";
|
|
|
|
export {
|
|
initSync,
|
|
Loro,
|
|
LoroList,
|
|
LoroMap,
|
|
LoroText,
|
|
PrelimList,
|
|
PrelimMap,
|
|
PrelimText,
|
|
};
|
|
|
|
export type { ContainerID, ContainerType };
|
|
|
|
// Extend the interfaces here, to provide richer type information
|
|
declare module "./pkg/loro_wasm.js" {
|
|
interface Loro {
|
|
exportUpdates(version?: Uint8Array): Uint8Array;
|
|
getContainerById(id: ContainerID): LoroText | LoroMap | LoroList;
|
|
}
|
|
}
|
|
|
|
export async function init(
|
|
module_or_path?: InitInput | Promise<InitInput>,
|
|
): Promise<InitOutput> {
|
|
const out = await initWasm(module_or_path);
|
|
setPanicHook();
|
|
return out;
|
|
}
|