import { Injectable } from '@angular/core'; import { BaseLogicState, BaseLogicStateRecord } from './logic-state.typing'; @Injectable({ providedIn: 'root' }) export class LogicStateService { getRecordsFromState, K extends string = string> ( column: K, logicState: BaseLogicState ): { source: L; dependents: L[]; } { return { source: logicState.sourceMap.get(column) ?? null, dependents: logicState.dependentMap.get(column) ?? [] }; } getCurrentLogicValueOfColumn, K extends string = string> ( column: K, logicState: BaseLogicState ) { const { source } = this.getRecordsFromState(column, logicState); return source?.result$?.value; } }