All files / libs/amalia-lang/tokens/shared/src/lib build-variable-ref-name.ts

100% Statements 12/12
100% Branches 3/3
100% Functions 1/1
100% Lines 12/12

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 131x 1x 1x 1x 1x 5x 5x 5x 5x 5x 5x 1x  
import { match, P } from 'ts-pattern';
 
import { VariableType, type Variable } from '@amalia/amalia-lang/tokens/types';
 
export const buildVariableRefName = (variable: Pick<Variable, 'machineName' | 'object' | 'type'>) =>
  match(variable)
    .with(
      { type: P.union(VariableType.statement, VariableType.plan, VariableType.team, VariableType.user) },
      ({ type, machineName }) => `${type}.${machineName}`,
    )
    .with({ type: VariableType.object }, ({ machineName, object }) => `${object!.machineName}.${machineName}`)
    .exhaustive();