{"version":3,"file":"useDecorators.cjs","sources":["../../src/hooks/useDecorators.ts"],"sourcesContent":["import { type ReactNode, useMemo } from 'react'\n\nexport type DecoratorsType<T extends string> = {\n  [K in T]?: DecoratorType\n}\n\nexport type DecoratorType = (text: string) => ReactNode\n\nexport const useDecorators = <T extends string>(\n  defaultTexts: { [K in T]: string },\n  decorators: DecoratorsType<T> | undefined,\n) =>\n  useMemo(() => {\n    if (!decorators) {\n      return defaultTexts\n    }\n\n    const decorated = {} as { [K in T]: ReactNode }\n\n    for (const key in defaultTexts) {\n      const value = defaultTexts[key]\n\n      decorated[key] = decorators[key]?.(value) || value\n    }\n\n    return decorated\n  }, [decorators, defaultTexts])\n"],"names":["useMemo"],"mappings":";;;;AAQO,MAAM,aAAa,GAAG,CAC3B,YAAkC,EAClC,UAAyC,KAEzCA,aAAO,CAAC,MAAK;IACX,IAAI,CAAC,UAAU,EAAE;AACf,QAAA,OAAO,YAAY;IACrB;IAEA,MAAM,SAAS,GAAG,EAA6B;AAE/C,IAAA,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE;AAC9B,QAAA,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC;AAE/B,QAAA,SAAS,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,KAAK;IACpD;AAEA,IAAA,OAAO,SAAS;AAClB,CAAC,EAAE,CAAC,UAAU,EAAE,YAAY,CAAC;;;;"}