Do not edit this file. It is a report generated by API Extractor.
import { AsyncFluidObjectProvider } from '@fluidframework/synthesize';
import { ContainerRuntime } from '@fluidframework/container-runtime';
import { EventForwarder } from '@fluidframework/common-utils';
import { FluidDataStoreRuntime } from '@fluidframework/datastore';
import { FluidObject } from '@fluidframework/core-interfaces';
import { FluidObjectSymbolProvider } from '@fluidframework/synthesize';
import { IChannelFactory } from '@fluidframework/datastore-definitions';
import { IContainer } from '@fluidframework/container-definitions';
import { IContainerContext } from '@fluidframework/container-definitions';
import { IContainerRuntime } from '@fluidframework/container-runtime-definitions';
import { IContainerRuntimeBase } from '@fluidframework/runtime-definitions';
import { IContainerRuntimeOptions } from '@fluidframework/container-runtime';
import { IEvent } from '@fluidframework/common-definitions';
import { IFluidDataStoreContext } from '@fluidframework/runtime-definitions';
import { IFluidDataStoreContextDetached } from '@fluidframework/runtime-definitions';
import { IFluidDataStoreFactory } from '@fluidframework/runtime-definitions';
import { IFluidDataStoreRegistry } from '@fluidframework/runtime-definitions';
import { IFluidDataStoreRuntime } from '@fluidframework/datastore-definitions';
import { IFluidDependencySynthesizer } from '@fluidframework/synthesize';
import { IFluidHandle } from '@fluidframework/core-interfaces';
import { IFluidLoadable } from '@fluidframework/core-interfaces';
import type { IFluidMountableViewClass } from '@fluidframework/view-interfaces';
import { IFluidRouter } from '@fluidframework/core-interfaces';
import { IProvideFluidDataStoreRegistry } from '@fluidframework/runtime-definitions';
import { IProvideFluidHandle } from '@fluidframework/core-interfaces';
import { IRequest } from '@fluidframework/core-interfaces';
import { IResponse } from '@fluidframework/core-interfaces';
import { ISharedDirectory } from '@fluidframework/map';
import { NamedFluidDataStoreRegistryEntries } from '@fluidframework/runtime-definitions';
import { NamedFluidDataStoreRegistryEntry } from '@fluidframework/runtime-definitions';
import { RequestParser } from '@fluidframework/runtime-utils';
import { RuntimeFactoryHelper } from '@fluidframework/runtime-utils';
import { RuntimeRequestHandler } from '@fluidframework/request-handler';
// @public
export class BaseContainerRuntimeFactory extends RuntimeFactoryHelper implements IProvideFluidDataStoreRegistry {
constructor(registryEntries: NamedFluidDataStoreRegistryEntries, dependencyContainer?: IFluidDependencySynthesizer | undefined, requestHandlers?: RuntimeRequestHandler[], runtimeOptions?: IContainerRuntimeOptions | undefined, initializeEntryPoint?: ((runtime: IContainerRuntime) => Promise<FluidObject>) | undefined);
protected containerHasInitialized(runtime: IContainerRuntime): Promise<void>;
protected containerInitializingFirstTime(runtime: IContainerRuntime): Promise<void>;
// (undocumented)
get IFluidDataStoreRegistry(): IFluidDataStoreRegistry;
// (undocumented)
instantiateFirstTime(runtime: ContainerRuntime): Promise<void>;
// (undocumented)
instantiateFromExisting(runtime: ContainerRuntime): Promise<void>;
// (undocumented)
preInitialize(context: IContainerContext, existing: boolean): Promise<ContainerRuntime>;
}
// @public
export class ContainerRuntimeFactoryWithDefaultDataStore extends BaseContainerRuntimeFactory {
constructor(defaultFactory: IFluidDataStoreFactory, registryEntries: NamedFluidDataStoreRegistryEntries, dependencyContainer?: IFluidDependencySynthesizer, requestHandlers?: RuntimeRequestHandler[], runtimeOptions?: IContainerRuntimeOptions, initializeEntryPoint?: (runtime: IContainerRuntime) => Promise<FluidObject>);
protected containerInitializingFirstTime(runtime: IContainerRuntime): Promise<void>;
// (undocumented)
static readonly defaultDataStoreId = "default";
// (undocumented)
protected readonly defaultFactory: IFluidDataStoreFactory;
}
// @public
export abstract class DataObject<I extends DataObjectTypes = DataObjectTypes> extends PureDataObject<I> {
protected getUninitializedErrorString(item: string): string;
initializeInternal(existing: boolean): Promise<void>;
protected get root(): ISharedDirectory;
}
// @public
export class DataObjectFactory<TObj extends DataObject<I>, I extends DataObjectTypes = DataObjectTypes> extends PureDataObjectFactory<TObj, I> {
constructor(type: string, ctor: new (props: IDataObjectProps<I>) => TObj, sharedObjects: readonly IChannelFactory[] | undefined, optionalProviders: FluidObjectSymbolProvider<I["OptionalProviders"]>, registryEntries?: NamedFluidDataStoreRegistryEntries, runtimeFactory?: typeof FluidDataStoreRuntime);
}
// @public
export interface DataObjectTypes {
Events?: IEvent;
InitialState?: any;
OptionalProviders?: FluidObject;
}
// @public
export function defaultFluidObjectRequestHandler(fluidObject: FluidObject, request: IRequest): IResponse;
// @public
export const defaultRouteRequestHandler: (defaultRootId: string) => (request: IRequest, runtime: IContainerRuntime) => Promise<IResponse | undefined>;
// @public
export function getDefaultObjectFromContainer<T = FluidObject>(container: IContainer): Promise<T>;
// @public
export function getObjectFromContainer<T = FluidObject>(path: string, container: IContainer): Promise<T>;
// @public
export function getObjectWithIdFromContainer<T = FluidObject>(id: string, container: IContainer): Promise<T>;
// @public (undocumented)
export interface IDataObjectProps<I extends DataObjectTypes = DataObjectTypes> {
// (undocumented)
readonly context: IFluidDataStoreContext;
// (undocumented)
readonly initProps?: I["InitialState"];
// (undocumented)
readonly providers: AsyncFluidObjectProvider<I["OptionalProviders"]>;
// (undocumented)
readonly runtime: IFluidDataStoreRuntime;
}
// @public (undocumented)
export interface IRootDataObjectFactory extends IFluidDataStoreFactory {
// (undocumented)
createRootInstance(rootDataStoreId: string, runtime: IContainerRuntime): Promise<IFluidRouter>;
}
// @public
export const mountableViewRequestHandler: (MountableViewClass: IFluidMountableViewClass, handlers: RuntimeRequestHandler[]) => (request: RequestParser, runtime: IContainerRuntime) => Promise<IResponse>;
// @public
export abstract class PureDataObject<I extends DataObjectTypes = DataObjectTypes> extends EventForwarder<I["Events"] & IEvent> implements IFluidLoadable, IFluidRouter, IProvideFluidHandle {
constructor(props: IDataObjectProps<I>);
protected readonly context: IFluidDataStoreContext;
dispose(): void;
// (undocumented)
get disposed(): boolean;
finishInitialization(existing: boolean): Promise<void>;
// (undocumented)
static getDataObject(runtime: IFluidDataStoreRuntime): Promise<PureDataObject<DataObjectTypes>>;
get handle(): IFluidHandle<this>;
protected hasInitialized(): Promise<void>;
// (undocumented)
get id(): string;
// (undocumented)
get IFluidHandle(): IFluidHandle<this>;
// (undocumented)
get IFluidLoadable(): this;
// (undocumented)
get IFluidRouter(): this;
initializeInternal(existing: boolean): Promise<void>;
// (undocumented)
protected initializeP: Promise<void> | undefined;
protected initializingFirstTime(props?: I["InitialState"]): Promise<void>;
protected initializingFromExisting(): Promise<void>;
// (undocumented)
protected initProps?: I["InitialState"];
protected preInitialize(): Promise<void>;
protected readonly providers: AsyncFluidObjectProvider<I["OptionalProviders"]>;
request(req: IRequest): Promise<IResponse>;
protected readonly runtime: IFluidDataStoreRuntime;
}
// @public
export class PureDataObjectFactory<TObj extends PureDataObject<I>, I extends DataObjectTypes = DataObjectTypes> implements IFluidDataStoreFactory, Partial<IProvideFluidDataStoreRegistry>, IRootDataObjectFactory {
constructor(type: string, ctor: new (props: IDataObjectProps<I>) => TObj, sharedObjects: readonly IChannelFactory[], optionalProviders: FluidObjectSymbolProvider<I["OptionalProviders"]>, registryEntries?: NamedFluidDataStoreRegistryEntries, runtimeClass?: typeof FluidDataStoreRuntime);
createChildInstance(parentContext: IFluidDataStoreContext, initialState?: I["InitialState"]): Promise<TObj>;
createInstance(runtime: IContainerRuntimeBase, initialState?: I["InitialState"]): Promise<TObj>;
// (undocumented)
protected createInstanceCore(context: IFluidDataStoreContextDetached, initialState?: I["InitialState"]): Promise<TObj>;
// (undocumented)
protected createNonRootInstanceCore(containerRuntime: IContainerRuntimeBase, packagePath: Readonly<string[]>, initialState?: I["InitialState"]): Promise<TObj>;
createPeerInstance(peerContext: IFluidDataStoreContext, initialState?: I["InitialState"]): Promise<TObj>;
createRootInstance(rootDataStoreId: string, runtime: IContainerRuntime, initialState?: I["InitialState"]): Promise<TObj>;
// (undocumented)
get IFluidDataStoreFactory(): this;
// (undocumented)
get IFluidDataStoreRegistry(): IFluidDataStoreRegistry | undefined;
instantiateDataStore(context: IFluidDataStoreContext, existing: boolean): Promise<FluidDataStoreRuntime>;
get registryEntry(): NamedFluidDataStoreRegistryEntry;
// (undocumented)
readonly type: string;
}