UNPKG

@ceramicnetwork/stream-model-instance

Version:

Ceramic Model Instance Document stream type

47 lines 2.76 kB
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