PureDataObject Class
This is a bare-bones base class that does basic setup and enables for factory on an initialize call.
To use, import via @fluidframework/aqueduct/legacy
.
For more information about our API support guarantees, see here.
Signature
export declare abstract class PureDataObject<I extends DataObjectTypes = DataObjectTypes> extends TypedEventEmitter<I["Events"] & IEvent> implements IFluidLoadable, IProvideFluidHandle
Extends: TypedEventEmitter<I["Events"] & IEvent>
Implements: IFluidLoadable, IProvideFluidHandle
Type Parameters
Parameter | Constraint | Default | Description |
---|---|---|---|
I | DataObjectTypes | DataObjectTypes | The optional input types used to strongly type the data object |
Remarks
You probably don't want to inherit from this data store directly unless you are creating another base data store class.
Constructors
Constructor | Alerts | Description |
---|---|---|
(constructor)(props) | Beta |
Constructs a new instance of the PureDataObject class |
Static Methods
Method | Alerts | Return Type | Description |
---|---|---|---|
getDataObject(runtime) | Beta |
Promise<PureDataObject> |
Properties
Property | Alerts | Modifiers | Type | Description |
---|---|---|---|---|
context | Beta |
readonly |
IFluidDataStoreContext | This context is used to talk up to the IContainerRuntime |
handle | Beta |
readonly |
IFluidHandleInternal<this> | Handle to a data store |
id | Beta |
readonly |
string | |
IFluidHandle | Beta |
readonly |
IFluidHandleInternal<this> | |
IFluidLoadable | Beta |
readonly |
this | |
initializeP | Beta |
Promise<void> | undefined | Internal implementation detail. Subclasses should not use this. | |
initProps | Beta |
optional |
I["InitialState"] | |
providers | Beta |
readonly |
AsyncFluidObjectProvider<I["OptionalProviders"]> |
Providers are FluidObject keyed objects that provide back a promise to the corresponding FluidObject or undefined. Providers injected/provided by the Container and/or HostingApplication To define providers set FluidObject interfaces in the OptionalProviders generic type for your data store |
runtime | Beta |
readonly |
IFluidDataStoreRuntime | This is your FluidDataStoreRuntime object |
Methods
Method | Alerts | Return Type | Description |
---|---|---|---|
finishInitialization(existing) | Beta |
Promise<void> | Await this API to ensure PureDataObject is fully initialized. Initialization happens on demand, only on as-needed bases. In most cases you should allow factory/object to decide when to finish initialization. But if you are supplying your own implementation of DataStoreRuntime factory and overriding some methods and need a fully initialized object, then you can await this API to ensure object is fully initialized. |
hasInitialized() | Beta |
Promise<void> | Called every time the data store is initialized after create or existing. |
initializeInternal(existing) | Beta |
Promise<void> |
Internal initialize implementation. Overwriting this will change the flow of the PureDataObject and should generally not be done. Calls initializingFirstTime, initializingFromExisting, and hasInitialized. Caller is responsible for ensuring this is only invoked once. |
initializingFirstTime(props) | Beta |
Promise<void> | Called the first time the data store is initialized (new creations with a new data store runtime) |
initializingFromExisting() | Beta |
Promise<void> | Called every time but the first time the data store is initialized (creations with an existing data store runtime) |
preInitialize() | Beta |
Promise<void> | Called every time the data store is initialized, before initializingFirstTime or initializingFromExisting is called. |
request(req) | Beta |
Promise<IResponse> |
Return this object if someone requests it directly We will return this object in two scenarios:
|
Constructor Details
(constructor)
Constructs a new instance of the PureDataObject
class
For more information about our API support guarantees, see here.
Signature
constructor(props: IDataObjectProps<I>);
Parameters
Parameter | Type | Description |
---|---|---|
props | IDataObjectProps<I> |
Property Details
context
This context is used to talk up to the IContainerRuntime
For more information about our API support guarantees, see here.
Signature
protected readonly context: IFluidDataStoreContext;
Type: IFluidDataStoreContext
handle
Handle to a data store
For more information about our API support guarantees, see here.
Signature
get handle(): IFluidHandleInternal<this>;
Type: IFluidHandleInternal<this>
id
For more information about our API support guarantees, see here.
Signature
get id(): string;
Type: string
IFluidHandle
For more information about our API support guarantees, see here.
Signature
get IFluidHandle(): IFluidHandleInternal<this>;
Type: IFluidHandleInternal<this>
IFluidLoadable
For more information about our API support guarantees, see here.
Signature
get IFluidLoadable(): this;
Type: this
initializeP
Internal implementation detail. Subclasses should not use this.
For more information about our API support guarantees, see here.
Signature
protected initializeP: Promise<void> | undefined;
Type: Promise<void> | undefined
initProps
For more information about our API support guarantees, see here.
Signature
protected initProps?: I["InitialState"];
Type: I["InitialState"]
providers
Providers are FluidObject keyed objects that provide back a promise to the corresponding FluidObject or undefined. Providers injected/provided by the Container and/or HostingApplication
To define providers set FluidObject interfaces in the OptionalProviders generic type for your data store
For more information about our API support guarantees, see here.
Signature
protected readonly providers: AsyncFluidObjectProvider<I["OptionalProviders"]>;
Type: AsyncFluidObjectProvider<I["OptionalProviders"]>
runtime
This is your FluidDataStoreRuntime object
For more information about our API support guarantees, see here.
Signature
protected readonly runtime: IFluidDataStoreRuntime;
Type: IFluidDataStoreRuntime
Method Details
finishInitialization
Await this API to ensure PureDataObject is fully initialized. Initialization happens on demand, only on as-needed bases. In most cases you should allow factory/object to decide when to finish initialization. But if you are supplying your own implementation of DataStoreRuntime factory and overriding some methods and need a fully initialized object, then you can await this API to ensure object is fully initialized.
For more information about our API support guarantees, see here.
Signature
finishInitialization(existing: boolean): Promise<void>;
Parameters
Parameter | Type | Description |
---|---|---|
existing | boolean |
Returns
Return type: Promise<void>
getDataObject
For more information about our API support guarantees, see here.
Signature
static getDataObject(runtime: IFluidDataStoreRuntime): Promise<PureDataObject>;
Parameters
Parameter | Type | Description |
---|---|---|
runtime | IFluidDataStoreRuntime |
Returns
Return type: Promise<PureDataObject>
hasInitialized
Called every time the data store is initialized after create or existing.
For more information about our API support guarantees, see here.
Signature
protected hasInitialized(): Promise<void>;
Returns
Return type: Promise<void>
initializeInternal
Internal initialize implementation. Overwriting this will change the flow of the PureDataObject and should generally not be done.
Calls initializingFirstTime, initializingFromExisting, and hasInitialized. Caller is responsible for ensuring this is only invoked once.
For more information about our API support guarantees, see here.
Signature
initializeInternal(existing: boolean): Promise<void>;
Parameters
Parameter | Type | Description |
---|---|---|
existing | boolean |
Returns
Return type: Promise<void>
initializingFirstTime
Called the first time the data store is initialized (new creations with a new data store runtime)
For more information about our API support guarantees, see here.
Signature
protected initializingFirstTime(props?: I["InitialState"]): Promise<void>;
Parameters
Parameter | Modifiers | Type | Description |
---|---|---|---|
props | optional | I["InitialState"] | Optional props to be passed in on create |
Returns
Return type: Promise<void>
initializingFromExisting
Called every time but the first time the data store is initialized (creations with an existing data store runtime)
For more information about our API support guarantees, see here.
Signature
protected initializingFromExisting(): Promise<void>;
Returns
Return type: Promise<void>
preInitialize
Called every time the data store is initialized, before initializingFirstTime or initializingFromExisting is called.
For more information about our API support guarantees, see here.
Signature
protected preInitialize(): Promise<void>;
Returns
Return type: Promise<void>
request
Return this object if someone requests it directly We will return this object in two scenarios:
- the request url is a "/"
- the request url is empty
For more information about our API support guarantees, see here.
Signature
request(req: IRequest): Promise<IResponse>;
Parameters
Parameter | Type | Description |
---|---|---|
req | IRequest |
Returns
Return type: Promise<IResponse>