{"version":3,"file":"useLoading.fUL67uJk.js","sources":["../../../../../../../node_modules/@babylon/ui-kit-searchers/hooks/useLoading.js"],"sourcesContent":["import { useState, useRef, useCallback } from 'react';\n\nconst useLoading = (initialState = true)=>{\n const [isLoading, setLoading] = useState(initialState);\n const lockRef = useRef(false);\n const updateLoading = useCallback(()=>{\n if (lockRef.current) {\n setLoading(true);\n return;\n }\n setLoading(false);\n }, []);\n const doFetchLoading = useCallback(async (fetchFnc, onError)=>{\n if (lockRef.current) return;\n lockRef.current = true;\n setTimeout(updateLoading, 300);\n const result = await fetchFnc().catch((error)=>{\n if (onError) return onError(error);\n console.error(error);\n });\n lockRef.current = false;\n updateLoading();\n return result;\n }, [\n updateLoading\n ]);\n return {\n isLoading,\n updateLoading,\n doFetchLoading\n };\n};\n\nexport { useLoading as default };\n//# sourceMappingURL=useLoading.js.map\n"],"names":["useLoading","initialState","isLoading","setLoading","useState","lockRef","useRef","updateLoading","useCallback","doFetchLoading","fetchFnc","onError","result","error"],"mappings":"oCAEK,MAACA,EAAa,CAACC,EAAe,KAAO,CACtC,KAAM,CAACC,EAAWC,CAAU,EAAIC,EAAAA,SAASH,CAAY,EAC/CI,EAAUC,EAAM,OAAC,EAAK,EACtBC,EAAgBC,EAAAA,YAAY,IAAI,CAClC,GAAIH,EAAQ,QAAS,CACjBF,EAAW,EAAI,EACf,MACZ,CACQA,EAAW,EAAK,CACnB,EAAE,EAAE,EACCM,EAAiBD,EAAAA,YAAY,MAAOE,EAAUC,IAAU,CAC1D,GAAIN,EAAQ,QAAS,OACrBA,EAAQ,QAAU,GAClB,WAAWE,EAAe,GAAG,EAC7B,MAAMK,EAAS,MAAMF,EAAU,EAAC,MAAOG,GAAQ,CAC3C,GAAIF,EAAS,OAAOA,EAAQE,CAAK,EACjC,QAAQ,MAAMA,CAAK,CAC/B,CAAS,EACD,OAAAR,EAAQ,QAAU,GAClBE,EAAe,EACRK,CACf,EAAO,CACCL,CACR,CAAK,EACD,MAAO,CACH,UAAAL,EACA,cAAAK,EACA,eAAAE,CACH,CACL","x_google_ignoreList":[0]}