UNPKG

@grafana/ui

Version:
51 lines (46 loc) 1.54 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var React = require('react'); var faroWebSdk = require('@grafana/faro-web-sdk'); var languageLoader = require('./languageLoader.cjs'); "use strict"; function useLanguageExtension(language) { const [languageExtension, setLanguageExtension] = React.useState(null); const [error, setError] = React.useState(null); React.useEffect(() => { let cancelled = false; if (!language) { setLanguageExtension(null); setError(null); return; } setLanguageExtension(null); setError(null); void languageLoader.loadLanguageExtension(language).then((extension) => { if (!cancelled) { setLanguageExtension(extension); setError(null); } }).catch((caughtError) => { var _a, _b; const error2 = caughtError instanceof Error ? caughtError : new Error("Failed to load CodeMirror language extension", { cause: caughtError }); (_b = (_a = faroWebSdk.faro) == null ? void 0 : _a.api) == null ? void 0 : _b.pushError(error2, { context: { type: "async", source: "CodeMirror.useLanguageExtension", language } }); if (!cancelled) { setLanguageExtension(null); setError(error2); } }); return () => { cancelled = true; }; }, [language]); return { extension: languageExtension, error }; } exports.useLanguageExtension = useLanguageExtension; //# sourceMappingURL=useLanguageExtension.cjs.map