import { DefaultThemeGroupIds, NoInfer, ThemeGetter, ThemeObject } from './types' const fallbackThemeArr: ThemeObject[DefaultThemeGroupIds] = [] export const fromTheme = < AdditionalThemeGroupIds extends string = never, DefaultThemeGroupIdsInner extends string = DefaultThemeGroupIds, >( key: NoInfer, ): ThemeGetter => { const themeGetter = (theme: ThemeObject) => theme[key] || fallbackThemeArr themeGetter.isThemeGetter = true as const return themeGetter }