Brandon Watson 4fd9341cea
Some checks failed
continuous-integration/drone/push Build is failing
Update files
2021-12-28 18:03:51 -05:00

32 lines
845 B
TypeScript

import { inject, injectable } from "tsyringe";
import { IActivityState } from "../models/activityState";
import { IActivity } from "../models/config";
@injectable()
export class StateDataProvider {
private _states: {
[controlUnitName: string]: IActivityState | undefined;
} = {};
public updateState(activity: IActivity, controlUnitName: string): void {
this._states[controlUnitName] = { currentActivity: activity };
}
public removeState(controlUnitName: string): void {
this._states[controlUnitName] = undefined;
}
public getState(controlUnitName: string) {
if (!this._states[controlUnitName]) {
return undefined;
}
return this._states[controlUnitName]!.currentActivity;
}
public get states(): {
[controlUnitName: string]: IActivityState | undefined;
} {
return this._states;
}
}