import type { Config, DesignToken, TransformedToken } from "style-dictionary/types" type Options = { useOriginalValue?: boolean } /** * getValue * @description Returns the value of the design token, either token.value or token.$value * @param token StyleDictionary.DesignToken * @returns token value */ export const getColorValue = (token: TransformedToken, config?: Config): string => { const colorMode = config?.colorMode ?? "light" const value = getValue(token, config) if (typeof value === "string") { return value } return value[colorMode] } export const getValue = ( token: TransformedToken, _config?: Config, options?: Options, ): T => { return options?.useOriginalValue ? (token.original as DesignToken).$value : (token.$value ?? token.value) } export const getType = (token: TransformedToken | Record): string | number => { return (token.$type as string | number) ?? token.type }