DataObject Class
Packages > @fluidframework/aqueduct > DataObject
DataObject is a base data store that is primed with a root directory and task manager. It ensures that both are created and ready before you can access it.
Having a single root directory allows for easier development. Instead of creating and registering channels with the runtime any new DDS that is set on the root will automatically be registered.
Generics: P - represents a type that will define optional providers that will be injected S - the initial state type that the produced data store may take during creation E - represents events that will be available in the EventForwarder
Signature:
export declare abstract class DataObject<P extends IFluidObject = object, S = undefined, E extends IEvent = IEvent> extends PureDataObject<P, S, E>
Extends: PureDataObject<P, S, E>
Properties
Property | Modifiers | Type | Description |
---|---|---|---|
root | ISharedDirectory | The root directory will either be ready or will return an error. If an error is thrown the root has not been correctly created/set. | |
taskManager | ITaskManager | Returns the built-in task manager responsible for scheduling tasks. |
Methods
Method | Modifiers | Description |
---|---|---|
getUninitializedErrorString(item) | ||
initializeInternal(props) | Initializes internal objects and calls initialization overrides. Caller is responsible for ensuring this is only invoked once. | |
request(request) | ||
writeBlob(blob) | Temporary implementation of blobs. Currently blobs are stored as properties on root map and we rely on map doing proper snapshot blob partitioning to reuse non-changing big properties. In future blobs would be implemented as first class citizen, using blob storage APIs |
Properties
root
The root directory will either be ready or will return an error. If an error is thrown the root has not been correctly created/set.
Signature:
protected get root(): ISharedDirectory;
taskManager
Returns the built-in task manager responsible for scheduling tasks.
Signature:
protected get taskManager(): ITaskManager;
Methods
getUninitializedErrorString
Signature:
protected getUninitializedErrorString(item: string): string;
Parameters
Parameter | Type | Description |
---|---|---|
item | string |
Returns:
string
initializeInternal
Initializes internal objects and calls initialization overrides. Caller is responsible for ensuring this is only invoked once.
Signature:
initializeInternal(props?: S): Promise<void>;
Parameters
Parameter | Type | Description |
---|---|---|
props | S |
Returns:
Promise<void>
request
Signature:
request(request: IRequest): Promise<IResponse>;
Parameters
Parameter | Type | Description |
---|---|---|
request | IRequest |
Returns:
Promise<IResponse>
writeBlob
Temporary implementation of blobs. Currently blobs are stored as properties on root map and we rely on map doing proper snapshot blob partitioning to reuse non-changing big properties. In future blobs would be implemented as first class citizen, using blob storage APIs
Signature:
protected writeBlob(blob: string): Promise<IFluidHandle<string>>;
Parameters
Parameter | Type | Description |
---|---|---|
blob | string |
Returns:
Promise<IFluidHandle<string>>