SharedCounter Class
A SharedCounter
is a shared object which holds a number that can be incremented or decremented.
Signature
export declare class SharedCounter extends SharedObject<ISharedCounterEvents> implements ISharedCounter
Extends: SharedObject<ISharedCounterEvents
Implements: ISharedCounter
Remarks
### Creation
To create a SharedCounter
, get the factory and call create with a runtime and string ID:
const factory = SharedCounter.getFactory();
const counter = factory.create(this.runtime, id) as SharedCounter;
### Usage
Once created, you can call increment
to modify the value with either a positive or negative number:
counter.increment(10); // add 10 to the counter value
counter.increment(-5); // subtract 5 from the counter value
To observe changes to the value (including those from remote clients), register for the "incremented"
event:
counter.on("incremented", (incrementAmount, newValue) => {
console.log(`The counter incremented by ${incrementAmount} and now has a value of ${newValue}`);
});
Constructors
Constructor | Description |
---|---|
(constructor)(id, runtime, attributes) | Constructs a new instance of the SharedCounter class |
Static Methods
Method | Return Type | Description |
---|---|---|
create(runtime, id) | SharedCounter | Create a new shared counter |
getFactory() | IChannelFactory | Get a factory for SharedCounter to register with the data store. |
Properties
Property | Type | Description |
---|---|---|
value | number | The counter value. |
Methods
Method | Return Type | Description |
---|---|---|
increment(incrementAmount) | void | Increments or decrements the value. Must only increment or decrement by a whole number value. |
Constructor Details
(constructor)
Constructs a new instance of the SharedCounter
class
Signature
constructor(id: string, runtime: IFluidDataStoreRuntime, attributes: IChannelAttributes);
Parameters
Parameter | Type | Description |
---|---|---|
id | string | |
runtime | IFluidDataStoreRuntime | |
attributes | IChannelAttributes |
Property Details
value
The counter value.
Signature
get value(): number;
Type: number
Method Details
create
Create a new shared counter
Signature
static create(runtime: IFluidDataStoreRuntime, id?: string): SharedCounter;
Parameters
Parameter | Modifiers | Type | Description |
---|---|---|---|
runtime | IFluidDataStoreRuntime | data store runtime the new shared counter belongs to | |
id | optional | string | optional name of the shared counter |
Returns
newly create shared counter (but not attached yet)
Return type: SharedCounter
getFactory
Get a factory for SharedCounter to register with the data store.
Signature
static getFactory(): IChannelFactory;
Returns
a factory that creates and load SharedCounter
Return type: IChannelFactory
increment
Increments or decrements the value. Must only increment or decrement by a whole number value.
Signature
increment(incrementAmount: number): void;
Parameters
Parameter | Type | Description |
---|---|---|
incrementAmount | number | a whole number to increment or decrement by. |