diff --git a/crates/loro-wasm/src/lib.rs b/crates/loro-wasm/src/lib.rs index 67da7ee5..44e43ff3 100644 --- a/crates/loro-wasm/src/lib.rs +++ b/crates/loro-wasm/src/lib.rs @@ -4704,4 +4704,12 @@ export type UnknownOp = { data: Uint8Array } }; + +export function newContainerID(id: OpId, type: ContainerType): ContainerID { + return `cid:${id.counter}@${id.peer}:${type}`; +} + +export function newRootContainerID(name: string, type: ContainerType): ContainerID { + return `cid:root-${name}:${type}`; +} "#; diff --git a/loro-js/src/index.ts b/loro-js/src/index.ts index 55a1b09c..7b7c90a6 100644 --- a/loro-js/src/index.ts +++ b/loro-js/src/index.ts @@ -1,4 +1,13 @@ -export * from "loro-wasm"; +export { + AwarenessWasm, Change, Container, ContainerID, ContainerType, + Cursor, Delta, ExportMode, ImportBlobMetadata, + JsonChange, JsonContainerID, JsonOp, JsonOpID, JsonSchema, + JsonValue, ListOp, LoroCounter, LoroList, LoroMap, + LoroMovableList, LoroText, LoroTree, LoroTreeNode, MapOp, MovableListOp, + OpId, PeerID, Side, TextOp, TreeID, TreeNodeValue, TreeOp, UndoConfig, + UndoManager, UnknownOp, Value, VersionVector, decodeImportBlobMeta, setDebug, + newContainerID, newRootContainerID +} from "loro-wasm"; import { Container, ContainerID, @@ -17,7 +26,7 @@ import { /** * @deprecated Please use LoroDoc */ -export class Loro extends LoroDoc {} +export class Loro extends LoroDoc { } export { Awareness } from "./awareness"; export type Frontiers = OpId[]; @@ -89,22 +98,22 @@ export type MapDiff = { export type TreeDiffItem = | { - target: TreeID; - action: "create"; - parent: TreeID | undefined; - index: number; - fractional_index: string; - } + target: TreeID; + action: "create"; + parent: TreeID | undefined; + index: number; + fractional_index: string; + } | { target: TreeID; action: "delete"; old_parent: TreeID | undefined; old_index: number } | { - target: TreeID; - action: "move"; - parent: TreeID | undefined; - index: number; - fractional_index: string; - old_parent: TreeID | undefined; - old_index: number; - }; + target: TreeID; + action: "move"; + parent: TreeID | undefined; + index: number; + fractional_index: string; + old_parent: TreeID | undefined; + old_index: number; + }; export type TreeDiff = { type: "tree"; @@ -128,8 +137,6 @@ export function isContainerId(s: string): s is ContainerID { return s.startsWith("cid:"); } -export { LoroDoc }; - /** Whether the value is a container. * * # Example @@ -181,13 +188,13 @@ export function getType( ): T extends LoroText ? "Text" : T extends LoroMap - ? "Map" - : T extends LoroTree - ? "Tree" - : T extends LoroList - ? "List" - :T extends LoroCounter?"Counter" - : "Json" { + ? "Map" + : T extends LoroTree + ? "Tree" + : T extends LoroList + ? "List" + : T extends LoroCounter ? "Counter" + : "Json" { if (isContainer(value)) { return value.kind() as unknown as any; } @@ -292,7 +299,7 @@ declare module "loro-wasm" { } interface LoroList { - new (): LoroList; + new(): LoroList; /** * Get elements of the list. If the value is a child container, the corresponding * `Container` will be returned. @@ -368,7 +375,7 @@ declare module "loro-wasm" { } interface LoroMovableList { - new (): LoroMovableList; + new(): LoroMovableList; /** * Get elements of the list. If the value is a child container, the corresponding * `Container` will be returned. @@ -490,7 +497,7 @@ declare module "loro-wasm" { interface LoroMap< T extends Record = Record, > { - new (): LoroMap; + new(): LoroMap; /** * Get the value of the key. If the value is a child container, the corresponding * `Container` will be returned. @@ -568,7 +575,7 @@ declare module "loro-wasm" { } interface LoroText { - new (): LoroText; + new(): LoroText; insert(pos: number, text: string): void; delete(pos: number, len: number): void; subscribe(listener: Listener): number; @@ -577,7 +584,7 @@ declare module "loro-wasm" { interface LoroTree< T extends Record = Record, > { - new (): LoroTree; + new(): LoroTree; /** * Create a new tree node as the child of parent and return a `LoroTreeNode` instance. * If the parent is undefined, the tree node will be a root node. @@ -635,7 +642,7 @@ declare module "loro-wasm" { * // / \ * // node2 node * ``` - */ + */ createNode(index?: number): LoroTreeNode; move(parent?: LoroTreeNode, index?: number): void; parent(): LoroTreeNode | undefined;