@ceramicnetwork/stream-tile
Version:
Ceramic Tile Document stream type
32 lines • 1.93 kB
TypeScript
import type { Operation } from 'fast-json-patch';
import { CreateOpts, LoadOpts, UpdateOpts, Stream, CeramicCommit, GenesisCommit, StreamMetadata, StreamWriter, StreamReader, IntoSigner } from '@ceramicnetwork/common';
import { CommitID, StreamID } from '@ceramicnetwork/streamid';
export interface TileMetadataArgs {
controllers?: Array<string>;
family?: string;
tags?: Array<string>;
schema?: CommitID | string;
deterministic?: boolean;
forbidControllerChange?: boolean;
}
export declare type TileMetadata = StreamMetadata;
export declare class TileDocument<T = Record<string, any>> extends Stream {
static STREAM_TYPE_NAME: string;
static STREAM_TYPE_ID: number;
private _isReadOnly;
get content(): T;
get metadata(): TileMetadata;
get controllers(): Array<string>;
static create<T>(ceramic: StreamWriter, content: T | null | undefined, metadata?: TileMetadataArgs, opts?: CreateOpts): Promise<TileDocument<T>>;
static createFromGenesis<T>(ceramic: StreamWriter, genesisCommit: GenesisCommit, opts?: CreateOpts): Promise<TileDocument<T>>;
static deterministic<T>(ceramic: StreamWriter, metadata: TileMetadataArgs, opts?: CreateOpts): Promise<TileDocument<T>>;
static load<T>(ceramic: StreamReader, streamId: StreamID | CommitID | string, opts?: LoadOpts): Promise<TileDocument<T>>;
update(content: T | null | undefined, metadata?: TileMetadataArgs, opts?: UpdateOpts): Promise<void>;
patch(jsonPatch: Operation[], opts?: UpdateOpts): Promise<void>;
makeReadOnly(): void;
get isReadOnly(): boolean;
makeCommit(context: IntoSigner, newContent: T | null | undefined, newMetadata?: TileMetadataArgs): Promise<CeramicCommit>;
private _makeRawCommit;
static makeGenesis<T>(context: IntoSigner, content: T | null | undefined, metadata: TileMetadataArgs | undefined | null): Promise<CeramicCommit>;
}
//# sourceMappingURL=tile-document.d.ts.map