@ceramicnetwork/stream-model-instance
Version:
Ceramic Model Instance Document stream type
47 lines • 2.76 kB
TypeScript
import type { Operation } from 'fast-json-patch';
import { CreateOpts, LoadOpts, UpdateOpts, Stream, CeramicCommit, GenesisCommit, SignedCommitContainer, CeramicSigner, StreamWriter, StreamReader, IntoSigner, CommitHeader, NonEmptyArray } from '@ceramicnetwork/common';
import { CommitID, StreamID } from '@ceramicnetwork/streamid';
export interface ModelInstanceDocumentMetadataArgs {
controller?: string;
model: StreamID;
context?: StreamID;
deterministic?: boolean;
shouldIndex?: boolean;
}
export declare type ModelInstanceDocumentStateMetadata = {
controllers: NonEmptyArray<string>;
model: StreamID;
context?: StreamID;
unique?: Uint8Array;
shouldIndex?: boolean;
};
export interface ModelInstanceDocumentMetadata {
controller: string;
model: StreamID;
unique?: Uint8Array;
context?: StreamID;
shouldIndex?: boolean;
}
export declare class ModelInstanceDocument<T = Record<string, any>> extends Stream {
static STREAM_TYPE_NAME: string;
static STREAM_TYPE_ID: number;
static MAX_DOCUMENT_SIZE: number;
private _isReadOnly;
get content(): T | null;
get metadata(): ModelInstanceDocumentMetadata;
static create<T>(ceramic: StreamWriter, content: T | null, metadata: ModelInstanceDocumentMetadataArgs, opts?: CreateOpts): Promise<ModelInstanceDocument<T>>;
static single<T>(ceramic: StreamWriter, metadata: ModelInstanceDocumentMetadataArgs, opts?: CreateOpts): Promise<ModelInstanceDocument<T>>;
static set<T>(ceramic: StreamWriter, metadata: ModelInstanceDocumentMetadataArgs, unique: Array<string>, opts?: CreateOpts): Promise<ModelInstanceDocument<T>>;
static load<T>(reader: StreamReader, streamId: StreamID | CommitID | string, opts?: LoadOpts): Promise<ModelInstanceDocument<T>>;
replace(content: T | null, metadata?: Partial<ModelInstanceDocumentMetadataArgs> | undefined | null, opts?: UpdateOpts): Promise<void>;
patch(jsonPatch: Operation[], metadata?: Partial<ModelInstanceDocumentMetadataArgs> | undefined | null, opts?: UpdateOpts): Promise<void>;
shouldIndex(shouldIndex: boolean, opts?: UpdateOpts): Promise<void>;
makeReadOnly(): void;
get isReadOnly(): boolean;
static makeUpdateCommit<T>(signer: CeramicSigner, prev: CommitID, oldContent: T | null, newContent: T | null, header?: Partial<CommitHeader>): Promise<CeramicCommit>;
private static _makeRawCommit;
static makeGenesis<T>(context: IntoSigner, content: T | null, metadata: ModelInstanceDocumentMetadataArgs, unique?: Array<string>): Promise<SignedCommitContainer | GenesisCommit>;
private static _makeRawGenesis;
}
export declare function validateContentLength<T>(content: T | null): void;
//# sourceMappingURL=model-instance-document.d.ts.map