UNPKG

debt-collector

Version:

a nodejs tool to identify, track and mesure technical debt

47 lines (46 loc) 1.61 kB
import { useEffect, useState } from 'react'; import getConfigPath from './getConfigPath.js'; import validateConfig from './validateConfig.js'; const useValidatedConfig = (config) => { const [result, setResult] = useState({ isConfigValid: null, sanitizedConfig: null, configErrors: null, userConfig: null, }); useEffect(() => { ; (async () => { const configPath = getConfigPath(config ?? ''); try { const { isConfigValid: isValid, sanitizedConfig: cleanConfig, configErrors: errors, userConfig: baseConfig, } = await validateConfig(configPath); if (!isValid) { setResult({ isConfigValid: false, sanitizedConfig: null, configErrors: errors, userConfig: null, }); } else { setResult({ isConfigValid: true, sanitizedConfig: cleanConfig, configErrors: null, userConfig: baseConfig, }); } } catch (e) { setResult({ isConfigValid: false, sanitizedConfig: null, configErrors: [e instanceof Error ? e.message : 'Unknown error'], userConfig: null, }); } })(); }, []); return result; }; export default useValidatedConfig;