UNPKG

@platform/cell.typesystem

Version:

The 'strongly typed sheets' system of the CellOS.

59 lines (58 loc) 1.92 kB
import { Observable, Subject } from 'rxjs'; import { t } from './common'; import { TypedSheetState } from './TypedSheetState'; export declare class TypedSheet<T = {}> implements t.ITypedSheet<T> { static client: (client: t.IHttpClient) => { load: <T_1 = {}>(ns: string | t.INsUri) => Promise<t.ITypedSheet<T_1>>; }; static ctx(args: { fetch: t.ISheetFetcher; cache?: t.IMemoryCache; event$?: Subject<t.TypedSheetEvent>; dispose$?: Observable<{}>; pool?: t.ISheetPool; }): t.SheetCtx; static load<T = {}>(args: { fetch: t.ISheetFetcher; ns: string | t.INsUri; cache?: t.IMemoryCache; event$?: Subject<t.TypedSheetEvent>; pool?: t.ISheetPool; }): Promise<t.ITypedSheet<T>>; static create<T = {}>(args: { fetch: t.ISheetFetcher; implements: string | t.INsUri; ns?: string | t.INsUri; cache?: t.IMemoryCache; event$?: Subject<t.TypedSheetEvent>; pool?: t.ISheetPool; }): Promise<t.ITypedSheet<T>>; private constructor(); dispose(): void; private readonly _ctx; private readonly _errorList; private readonly _dispose$; private readonly _typeDefs; private _types; private _data; readonly uri: t.INsUri; readonly implements: t.INsUri; readonly state: TypedSheetState; readonly pool: t.ISheetPool; readonly dispose$: Observable<{}>; readonly event$: Observable<t.TypedSheetEvent>; get isDisposed(): boolean; get ok(): boolean; get errors(): t.ITypeError[]; get types(): { typename: string; columns: t.IColumnTypeDef<t.IType>[]; }[]; toString(): string; info<P extends t.INsProps = t.INsProps>(): Promise<{ exists: boolean; ns: P; }>; data<D = T>(input: string | t.ITypedSheetDataArgs): t.ITypedSheetData<D>; private throwIfDisposed; }