import type { GlobalState, Workspace, WorkspaceLocalState, } from '@toeverything/infra'; export class WorkspaceLocalStateImpl implements WorkspaceLocalState { constructor( private readonly workspace: Workspace, private readonly globalState: GlobalState ) {} get(key: string): T | null { return this.globalState.get( `workspace-state:${this.workspace.id}:${key}` ); } watch(key: string) { return this.globalState.watch( `workspace-state:${this.workspace.id}:${key}` ); } set(key: string, value: T | null): void { return this.globalState.set( `workspace-state:${this.workspace.id}:${key}`, value ); } }