FluidFramework/api-report/container-loader.api.md

9.6 KiB

API Report File for "@fluidframework/container-loader"

Do not edit this file. It is a report generated by API Extractor.


import { AttachState } from '@fluidframework/container-definitions';
import { EventEmitterWithErrorHandling } from '@fluidframework/telemetry-utils';
import { FluidObject } from '@fluidframework/core-interfaces';
import { IAudience } from '@fluidframework/container-definitions';
import { IAudienceOwner } from '@fluidframework/container-definitions';
import { IClientConfiguration } from '@fluidframework/protocol-definitions';
import { IClientDetails } from '@fluidframework/protocol-definitions';
import { IConfigProviderBase } from '@fluidframework/telemetry-utils';
import { IContainer } from '@fluidframework/container-definitions';
import { IContainerEvents } from '@fluidframework/container-definitions';
import { IContainerLoadMode } from '@fluidframework/container-definitions';
import { ICriticalContainerError } from '@fluidframework/container-definitions';
import { IDeltaManager } from '@fluidframework/container-definitions';
import { IDocumentAttributes } from '@fluidframework/protocol-definitions';
import { IDocumentMessage } from '@fluidframework/protocol-definitions';
import { IDocumentServiceFactory } from '@fluidframework/driver-definitions';
import { IDocumentStorageService } from '@fluidframework/driver-definitions';
import { IFluidCodeDetails } from '@fluidframework/container-definitions';
import { IFluidModule } from '@fluidframework/container-definitions';
import { IFluidResolvedUrl } from '@fluidframework/driver-definitions';
import { IFluidRouter } from '@fluidframework/core-interfaces';
import { IHostLoader } from '@fluidframework/container-definitions';
import { ILoader } from '@fluidframework/container-definitions';
import { ILoaderOptions as ILoaderOptions_2 } from '@fluidframework/container-definitions';
import { IProtocolHandler as IProtocolHandler_2 } from '@fluidframework/protocol-base';
import { IProtocolState } from '@fluidframework/protocol-definitions';
import { IProvideFluidCodeDetailsComparer } from '@fluidframework/container-definitions';
import { IQuorumClients } from '@fluidframework/protocol-definitions';
import { IQuorumSnapshot } from '@fluidframework/protocol-base';
import { IRequest } from '@fluidframework/core-interfaces';
import { IResolvedUrl } from '@fluidframework/driver-definitions';
import { IResponse } from '@fluidframework/core-interfaces';
import { ISequencedDocumentMessage } from '@fluidframework/protocol-definitions';
import { ISignalMessage } from '@fluidframework/protocol-definitions';
import { ITelemetryBaseLogger } from '@fluidframework/common-definitions';
import { ITelemetryLogger } from '@fluidframework/common-definitions';
import { IUrlResolver } from '@fluidframework/driver-definitions';
import { IVersion } from '@fluidframework/protocol-definitions';
import { ReadOnlyInfo } from '@fluidframework/container-definitions';
import { TelemetryLogger } from '@fluidframework/telemetry-utils';

// @public (undocumented)
export enum ConnectionState {
    CatchingUp = 1,
    Connected = 2,
    Disconnected = 0,
    EstablishingConnection = 3
}

// @public (undocumented)
export class Container extends EventEmitterWithErrorHandling<IContainerEvents> implements IContainer {
    constructor(loader: Loader, config: IContainerConfig, protocolHandlerBuilder?: ProtocolHandlerBuilder | undefined);
    // (undocumented)
    attach(request: IRequest): Promise<void>;
    // (undocumented)
    get attachState(): AttachState;
    get audience(): IAudience;
    // (undocumented)
    get clientDetails(): IClientDetails;
    get clientId(): string | undefined;
    // (undocumented)
    close(error?: ICriticalContainerError): void;
    // (undocumented)
    closeAndGetPendingLocalState(): string;
    // (undocumented)
    get closed(): boolean;
    // (undocumented)
    get closeSignal(): AbortSignal;
    // (undocumented)
    connect(): void;
    // (undocumented)
    get connected(): boolean;
    // (undocumented)
    get connectionState(): ConnectionState;
    static createDetached(loader: Loader, codeDetails: IFluidCodeDetails, protocolHandlerBuilder?: ProtocolHandlerBuilder): Promise<Container>;
    // (undocumented)
    get deltaManager(): IDeltaManager<ISequencedDocumentMessage, IDocumentMessage>;
    // (undocumented)
    disconnect(): void;
    // (undocumented)
    dispose?(error?: ICriticalContainerError): void;
    forceReadonly(readonly: boolean): void;
    // (undocumented)
    getAbsoluteUrl(relativeUrl: string): Promise<string | undefined>;
    getLoadedCodeDetails(): IFluidCodeDetails | undefined;
    getQuorum(): IQuorumClients;
    getSpecifiedCodeDetails(): IFluidCodeDetails | undefined;
    // (undocumented)
    get IFluidRouter(): IFluidRouter;
    get isDirty(): boolean;
    static load(loader: Loader, loadOptions: IContainerLoadOptions, pendingLocalState?: IPendingContainerState, protocolHandlerBuilder?: ProtocolHandlerBuilder): Promise<Container>;
    // (undocumented)
    get loadedFromVersion(): IVersion | undefined;
    // (undocumented)
    readonly options: ILoaderOptions;
    // (undocumented)
    proposeCodeDetails(codeDetails: IFluidCodeDetails): Promise<boolean>;
    // (undocumented)
    get readOnlyInfo(): ReadOnlyInfo;
    static rehydrateDetachedFromSnapshot(loader: Loader, snapshot: string, protocolHandlerBuilder?: ProtocolHandlerBuilder): Promise<Container>;
    // (undocumented)
    request(path: IRequest): Promise<IResponse>;
    // (undocumented)
    get resolvedUrl(): IResolvedUrl | undefined;
    get scopes(): string[] | undefined;
    // (undocumented)
    serialize(): string;
    get serviceConfiguration(): IClientConfiguration | undefined;
    // (undocumented)
    get storage(): IDocumentStorageService;
    // (undocumented)
    subLogger: TelemetryLogger;
    // (undocumented)
    static version: string;
}

// @public @deprecated (undocumented)
export interface ICodeDetailsLoader extends Partial<IProvideFluidCodeDetailsComparer> {
    load(source: IFluidCodeDetails): Promise<IFluidModuleWithDetails>;
}

// @public (undocumented)
export interface IContainerConfig {
    // (undocumented)
    canReconnect?: boolean;
    clientDetailsOverride?: IClientDetails;
    // (undocumented)
    resolvedUrl?: IFluidResolvedUrl;
    serializedContainerState?: IPendingContainerState;
}

// @public (undocumented)
export interface IContainerLoadOptions {
    canReconnect?: boolean;
    clientDetailsOverride?: IClientDetails;
    loadMode?: IContainerLoadMode;
    // (undocumented)
    resolvedUrl: IFluidResolvedUrl;
    version: string | undefined;
}

// @public
export type IDetachedBlobStorage = Pick<IDocumentStorageService, "createBlob" | "readBlob"> & {
    size: number;
    getBlobIds(): string[];
};

// @public @deprecated (undocumented)
export interface IFluidModuleWithDetails {
    details: IFluidCodeDetails;
    module: IFluidModule;
}

// @public (undocumented)
export interface ILoaderOptions extends ILoaderOptions_2 {
    // (undocumented)
    summarizeProtocolTree?: boolean;
}

// @public
export interface ILoaderProps {
    readonly codeLoader: ICodeDetailsLoader;
    readonly configProvider?: IConfigProviderBase;
    readonly detachedBlobStorage?: IDetachedBlobStorage;
    readonly documentServiceFactory: IDocumentServiceFactory;
    readonly logger?: ITelemetryBaseLogger;
    readonly options?: ILoaderOptions;
    readonly protocolHandlerBuilder?: ProtocolHandlerBuilder;
    readonly scope?: FluidObject;
    readonly urlResolver: IUrlResolver;
}

// @public
export interface ILoaderServices {
    readonly codeLoader: ICodeDetailsLoader;
    readonly detachedBlobStorage?: IDetachedBlobStorage;
    readonly documentServiceFactory: IDocumentServiceFactory;
    readonly options: ILoaderOptions;
    readonly scope: FluidObject;
    readonly subLogger: ITelemetryLogger;
    readonly urlResolver: IUrlResolver;
}

// @public
export interface IPendingContainerState {
    // (undocumented)
    clientId?: string;
    // (undocumented)
    pendingRuntimeState: unknown;
    // (undocumented)
    protocol: IProtocolState;
    // (undocumented)
    term: number;
    // (undocumented)
    url: string;
}

// @public (undocumented)
export interface IProtocolHandler extends IProtocolHandler_2 {
    // (undocumented)
    readonly audience: IAudienceOwner;
    // (undocumented)
    processSignal(message: ISignalMessage): any;
}

// @public
export class Loader implements IHostLoader {
    constructor(loaderProps: ILoaderProps);
    // (undocumented)
    createDetachedContainer(codeDetails: IFluidCodeDetails): Promise<IContainer>;
    // (undocumented)
    get IFluidRouter(): IFluidRouter;
    // (undocumented)
    rehydrateDetachedContainerFromSnapshot(snapshot: string): Promise<IContainer>;
    // (undocumented)
    request(request: IRequest): Promise<IResponse>;
    // (undocumented)
    resolve(request: IRequest, pendingLocalState?: string): Promise<IContainer>;
    // (undocumented)
    readonly services: ILoaderServices;
}

// @public
export type ProtocolHandlerBuilder = (attributes: IDocumentAttributes, snapshot: IQuorumSnapshot, sendProposal: (key: string, value: any) => number) => IProtocolHandler;

// @public (undocumented)
export class RelativeLoader implements ILoader {
    constructor(container: Container, loader: ILoader | undefined);
    // (undocumented)
    get IFluidRouter(): IFluidRouter;
    // (undocumented)
    request(request: IRequest): Promise<IResponse>;
    // (undocumented)
    resolve(request: IRequest): Promise<IContainer>;
}

// @public
export function waitContainerToCatchUp(container: IContainer): Promise<boolean>;

// (No @packageDocumentation comment for this package)