Browser Runtime API
This page covers the browser-facing wasm_bindgen runtime exported by the core crate. These are the classes and functions re-exported through the browser TypeScript package.
Generated from
src/wasm.rs.
Top-level functions
parallelEnabled
function parallelEnabled(): boolean;
parallelThreadCount
function parallelThreadCount(): number;
generateSeaPair
function generateSeaPair(): any;
seaPairFromPrivateKeys
function seaPairFromPrivateKeys(secret_key_base64: string, encryption_secret_key_base64: string): any;
seaSign
function seaSign(pair: any, payload: any): any;
seaVerify
function seaVerify(public_key_base64: string, signed: any): any;
seaSecret
function seaSecret(pair: any, other_epub_base64: string): string;
seaEncrypt
function seaEncrypt(key_base64: string, payload: any): any;
seaDecrypt
function seaDecrypt(key_base64: string, payload: any): any;
Runtime classes
Primadb
class Primadb {
constructor(replica_id: string | null);
replicaId(): string;
chain(root: string): Chain;
snapshot(): any;
snapshotForRoot(root: string | null): any;
exportSnapshotJson(): string;
importSnapshotJson(payload: string): void;
mergeSnapshotJson(payload: string): void;
pendingOperations(): any;
pendingEnvelope(): any;
exportPendingOperationsJson(): string;
drainPendingOperations(): any;
drainPendingEnvelope(): any;
drainPendingOperationsJson(): string;
applyOperations(operations: any): number;
applyEnvelope(envelope: any): number;
applyOperationsJson(payload: string): number;
useBrowserStorage(key: string): boolean;
openDurableStorage(config: any): Promise<any>;
registerUser(alias: string, public_key_base64: string, roots: any): void;
authenticateLocalUser(alias: string, secret_key_base64: string, roots: any): void;
requireSignedSync(required: boolean): void;
setSnapshotEncryptionKey(key_base64: string): void;
setTransportEncryptionKey(key_base64: string): void;
createWriteCertificate(certificants: any, write_policy: any, expires_at_millis: number | null, write_block: any): string;
setNetworkHooks(hooks: any): void;
clearNetworkHooks(): void;
saveIndexedDb(database_name: string, store_name: string, key: string): Promise<void>;
loadIndexedDb(database_name: string, store_name: string, key: string): Promise<boolean>;
enableIndexedDbPersistence(database_name: string, store_name: string, key: string, load_existing: boolean | null): Promise<IndexedDbPersistence>;
saveIndexedDbSegments(database_name: string, store_name: string, namespace: string): Promise<void>;
loadIndexedDbSegments(database_name: string, store_name: string, namespace: string): Promise<boolean>;
enableIndexedDbSegmentPersistence(database_name: string, store_name: string, namespace: string, load_existing: boolean | null): Promise<IndexedDbSegmentPersistence>;
openBlobStorage(config: any): any;
enableIndexedDbBlobStorage(database_name: string, store_name: string, namespace: string): IndexedDbBlobStorage;
connectWebSocket(url: string, retry_interval_ms: number | null): WebSocketSync;
connectRelay(config: any): WebSocketSync;
connectWebRtcMesh(room: string, retry_interval_ms: number | null, options: any | null): WebRtcMesh;
connectWebRtcMeshViaRelay(url: string, room: string, retry_interval_ms: number | null, options: any | null): WebRtcMesh;
connectMesh(config: any): WebRtcMesh;
}
Chain
class Chain {
field(key: string): Chain;
path(): string;
put(value: any): void;
putBytes(bytes: Uint8Array): void;
putSigned(value: any, certificate: string | null): void;
once(): any;
onceBytes(): any;
set(value: any): string;
setSigned(value: any, certificate: string | null): string;
remove(value: any): string;
unset(): void;
map(): any;
query(spec: any): any;
scan(spec: any): any;
firstQuery(spec: any): any;
on(callback: Function): Subscription;
putBlob(data: Uint8Array, media_type: string | null): Promise<any>;
blobRef(): any;
getBlob(): Promise<any>;
}
Subscription
class Subscription {
cancel(): void;
}
RemoteWatch
class RemoteWatch {
next(): Promise<any>;
tryNext(): any;
cancel(): void;
}
IndexedDbPersistence
class IndexedDbPersistence {
flush(): Promise<void>;
close(): void;
}
IndexedDbSegmentPersistence
class IndexedDbSegmentPersistence {
flush(): Promise<void>;
close(): void;
}
IndexedDbBlobStorage
class IndexedDbBlobStorage {
put(data: Uint8Array, media_type: string | null): Promise<any>;
get(blob_id: string): Promise<any>;
hasBlob(blob_id: string): Promise<boolean>;
}
WebSocketSync
class WebSocketSync {
readyState(): number;
url(): string;
pendingCount(): number;
inflightCount(): number;
recommendedPeers(): any;
watchRemoteGet(peer_id: string, path: any): RemoteWatch;
watchRemoteMap(peer_id: string, path: any): RemoteWatch;
watchRemoteQuery(peer_id: string, path: any, spec: any): RemoteWatch;
watchRemoteLex(peer_id: string, path: any, spec: any): RemoteWatch;
watchRemoteSnapshot(peer_id: string, root: string | null): RemoteWatch;
remoteGet(peer_id: string, path: any): Promise<any>;
remoteQuery(peer_id: string, path: any, spec: any): Promise<any>;
remoteLex(peer_id: string, path: any, spec: any): Promise<any>;
remoteSnapshot(peer_id: string, root: string | null): Promise<any>;
flushPending(): number;
retryInflight(): number;
close(): void;
}
WebRtcMesh
class WebRtcMesh {
peerId(): string;
signalingMode(): string;
relayUrl(): string | null;
signalingReadyState(): number | null;
peerCount(): number;
openPeerCount(): number;
inflightCount(): number;
watchRemoteGet(peer_id: string, path: any): RemoteWatch;
watchRemoteMap(peer_id: string, path: any): RemoteWatch;
watchRemoteQuery(peer_id: string, path: any, spec: any): RemoteWatch;
watchRemoteLex(peer_id: string, path: any, spec: any): RemoteWatch;
watchRemoteSnapshot(peer_id: string, root: string | null): RemoteWatch;
flushPending(): number;
retryInflight(): number;
close(): void;
}