@helpwave/hightide
Version:
helpwave's component and theming library
1 lines • 1.21 kB
Source Map (JSON)
{"version":3,"sources":["../../src/hooks/useLogOnce.ts"],"sourcesContent":["import { useEffect, useState } from 'react'\n\ntype Options = {\n message: string,\n condition: boolean,\n type?: 'info' | 'error' | 'warning',\n}\n\nexport const useLogOnce = ({\n message,\n condition,\n type = 'warning',\n }: Options) => {\n const [hasLogged,setHasLogged] = useState<boolean>(false)\n\n useEffect(() => {\n if(!hasLogged && condition) {\n switch (type) {\n case 'info': console.info(message)\n break\n case 'error': console.error(message)\n break\n case 'warning': console.warn(message)\n break\n }\n setHasLogged(true)\n }\n }, [condition]) // eslint-disable-line react-hooks/exhaustive-deps\n}"],"mappings":";AAAA,SAAS,WAAW,gBAAgB;AAQ7B,IAAM,aAAa,CAAC;AAAA,EACzB;AAAA,EACA;AAAA,EACA,OAAO;AACkB,MAAe;AACxC,QAAM,CAAC,WAAU,YAAY,IAAI,SAAkB,KAAK;AAExD,YAAU,MAAM;AACd,QAAG,CAAC,aAAa,WAAW;AAC1B,cAAQ,MAAM;AAAA,QACZ,KAAK;AAAQ,kBAAQ,KAAK,OAAO;AAC/B;AAAA,QACF,KAAK;AAAS,kBAAQ,MAAM,OAAO;AACjC;AAAA,QACF,KAAK;AAAW,kBAAQ,KAAK,OAAO;AAClC;AAAA,MACJ;AACA,mBAAa,IAAI;AAAA,IACnB;AAAA,EACF,GAAG,CAAC,SAAS,CAAC;AAChB;","names":[]}