"msg": "{\\\"metadata\\\":{\\\"title\\\":\\\"Advanced typing for classnames/bind\\\",\\\"description\\\":\\\"Been looking for a way to type classnames properly for quiet some time, found a way:\\\\r\\\\n\\\\r\\\\nUsing https://www.npmjs.com/package/css-modules-typescript-loader along with advanced classnames/bind typing would let us typecheck all the bound arguments, leveling classnames/bind up to the new heights.\\\\r\\\\n\\\\r\\\\nWould a PR with the following typing be welcome?\\\\r\\\\n```typescript\\\\r\\\\ntype StyleSheetClasses = { [name: any]: string };\\\\r\\\\n\\\\r\\\\n\\\\r\\\\n/**\\\\r\\\\n * Type definition for arguments of cn (class-1, class-2, class-3)\\\\r\\\\n * className={cn(\\\'class-1\\\', \\\'class-2\\\', { \\\'class-3\\\': flag })}\\\\r\\\\n */\\\\r\\\\nexport type CxArgument<CL extends StyleSheetClasses> = CL | Partial<Record<CL, boolean | string | number | undefined>>;\\\\r\\\\n\\\\r\\\\n/**\\\\r\\\\n * Type definition for cn:\\\\r\\\\n * const cn = classnames.bind(styles)\\\\r\\\\n */\\\\r\\\\nexport type CxBind<CL extends StyleSheetClasses> = (...args: CxArgument<CL>[]) => string;\\\\r\\\\n\\\\r\\\\n/**\\\\r\\\\n * Type definition for bind:\\\\r\\\\n * import { bind } from \\\'classnames/bind\\\';\\\\r\\\\n */\\\\r\\\\nexport type ClassNamesBind = <CL extends StyleSheetClasses>(styles: CL) => CxBind<keyof CL>;\\\\r\\\\n\\\\r\\\\nexport declare module \\\'classnames/bind\\\' {\\\\r\\\\n export const bind: ClassNamesBind;\\\\r\\\\n export default {\\\\r\\\\n bind,\\\\r\\\\n };\\\\r\\\\n}\\\\r\\\\n```\\\\r\\\\n\\\\r\\\\nWorks for both strings and record:\\\\r\\\\n<img width=\\\\\\\"1195\\\\\\\" alt=\\\\\\\"image\\\\\\\" src=\\\\\\\"https://user-images.githubusercontent.com/18382880/217026204-4d91d1fa-c259-4713-b4a9-ba3602561992.png\\\\\\\">\\\\r\\\\n\\\",\\\"category\\\":\\\"Marketing\\\",\\\"experience\\\":\\\"Intermediate\\\",\\\"tags\\\":[\\\"API\\\"],\\\"acceptance_criteria\\\":\\\"POW\\\",\\\"contact_details\\\":{\\\"contact\\\":\\\"dsc_acc\\\",\\\"contact_type\\\":\\\"Discord\\\"},\\\"time_commitment\\\":\\\"Days\\\",\\\"attachments\\\":[\\\"https://w3s.link/ipfs/bafybeiajqe4tajxtx3iskh7dbdsnbe77hawkgyq3s7cw7gxbfb2pudx6n4\\\"]},\\\"deadline\\\":\\\"WithoutDeadline\\\",\\\"claimer_approval\\\":\\\"MultipleClaims\\\",\\\"reviewers\\\":{}}",