{"version":3,"file":"utils/manifest.mjs","sources":["../../src/utils/manifest.tsx"],"sourcesContent":["import { useContext, useEffect, useMemo, useState } from 'react';\nimport { ModuleGraph } from '@rsdoctor/graph';\nimport { Manifest, SDK } from '@rsdoctor/types';\nimport { ConfigContext } from '../config';\nimport { Theme, ViewMode } from '../constants';\nimport { fetchManifest } from './request';\n\nexport function useManifestJson() {\n  const { json } = useContext(ConfigContext);\n  return json;\n}\n\nexport function useLocale() {\n  const ctx = useContext(ConfigContext);\n\n  return ctx.locale;\n}\n\nexport function useTheme() {\n  const { theme, setTheme } = useContext(ConfigContext);\n  const isDark = theme === Theme.Dark;\n\n  return { theme, setTheme, isDark, isLight: !isDark };\n}\n\nexport function useViewMode() {\n  const { viewMode, setViewMode } = useContext(ConfigContext);\n\n  const { bundleAlerts, compileAlerts } = viewMode;\n\n  return {\n    viewMode,\n    setViewMode,\n    setCompileAlertsViewMode(mode: ViewMode) {\n      setViewMode({ compileAlerts: mode });\n    },\n    setBundleAlertsViewMode(mode: ViewMode) {\n      setViewMode({ bundleAlerts: mode });\n    },\n    isCompileList: compileAlerts === ViewMode.List,\n    isBundleList: bundleAlerts === ViewMode.List,\n  };\n}\n\nexport function useManifest(url: string) {\n  const [manifest, setManifest] = useState<Manifest.RsdoctorManifestWithShardingFiles>();\n\n  useEffect(() => {\n    fetchManifest(url).then((res) => {\n      setManifest(res);\n    });\n  }, []);\n\n  return manifest;\n}\n\nexport function useModuleGraphInstanceByModuleGraph(moduleGraph: SDK.ModuleGraphData) {\n  return useMemo(() => ModuleGraph.fromData(moduleGraph), [moduleGraph]);\n}\n"],"names":["useManifestJson","json","useContext","ConfigContext","useLocale","ctx","useTheme","theme","setTheme","isDark","Theme","useViewMode","viewMode","setViewMode","bundleAlerts","compileAlerts","mode","ViewMode","useManifest","url","manifest","setManifest","useState","useEffect","fetchManifest","res","useModuleGraphInstanceByModuleGraph","moduleGraph","useMemo","ModuleGraph"],"mappings":";;;;;AAOO,SAASA;IACd,MAAM,EAAEC,IAAI,EAAE,GAAGC,WAAWC;IAC5B,OAAOF;AACT;AAEO,SAASG;IACd,MAAMC,MAAMH,WAAWC;IAEvB,OAAOE,IAAI,MAAM;AACnB;AAEO,SAASC;IACd,MAAM,EAAEC,KAAK,EAAEC,QAAQ,EAAE,GAAGN,WAAWC;IACvC,MAAMM,SAASF,UAAUG,MAAM,IAAI;IAEnC,OAAO;QAAEH;QAAOC;QAAUC;QAAQ,SAAS,CAACA;IAAO;AACrD;AAEO,SAASE;IACd,MAAM,EAAEC,QAAQ,EAAEC,WAAW,EAAE,GAAGX,WAAWC;IAE7C,MAAM,EAAEW,YAAY,EAAEC,aAAa,EAAE,GAAGH;IAExC,OAAO;QACLA;QACAC;QACA,0BAAyBG,IAAc;YACrCH,YAAY;gBAAE,eAAeG;YAAK;QACpC;QACA,yBAAwBA,IAAc;YACpCH,YAAY;gBAAE,cAAcG;YAAK;QACnC;QACA,eAAeD,kBAAkBE,SAAS,IAAI;QAC9C,cAAcH,iBAAiBG,SAAS,IAAI;IAC9C;AACF;AAEO,SAASC,YAAYC,GAAW;IACrC,MAAM,CAACC,UAAUC,YAAY,GAAGC;IAEhCC,UAAU;QACRC,cAAcL,KAAK,IAAI,CAAC,CAACM;YACvBJ,YAAYI;QACd;IACF,GAAG,EAAE;IAEL,OAAOL;AACT;AAEO,SAASM,oCAAoCC,WAAgC;IAClF,OAAOC,QAAQ,IAAMC,YAAY,QAAQ,CAACF,cAAc;QAACA;KAAY;AACvE"}