UNPKG

@grafana/ui

Version:
1 lines 1.91 kB
{"version":3,"file":"languageLoader.cjs","sources":["../../../../src/components/CodeMirror/languageLoader.ts"],"sourcesContent":["import { type CodeMirrorEditorLanguage, type CodeMirrorExtension } from './types';\n\ntype LanguageLoader = () => Promise<CodeMirrorExtension>;\n\nconst loadJson: LanguageLoader = async () =>\n (await import(/* webpackChunkName: \"codemirror-lang-json\" */ '@codemirror/lang-json')).json();\nconst loadSql: LanguageLoader = async () =>\n (await import(/* webpackChunkName: \"codemirror-lang-sql\" */ '@codemirror/lang-sql')).sql();\n\nconst languageLoaders: Record<CodeMirrorEditorLanguage, LanguageLoader> = {\n json: loadJson,\n sql: loadSql,\n};\n\nconst languagePromises = new Map<CodeMirrorEditorLanguage, Promise<CodeMirrorExtension>>();\n\nexport async function loadLanguageExtension(language?: CodeMirrorEditorLanguage): Promise<CodeMirrorExtension | null> {\n if (!language) {\n return null;\n }\n\n const promise =\n languagePromises.get(language) ??\n languageLoaders[language]().catch((error) => {\n languagePromises.delete(language);\n throw error;\n });\n\n languagePromises.set(language, promise);\n return promise;\n}\n"],"names":[],"mappings":";;;;;AAIA,MAAM,QAAA,GAA2B,aAC9B,MAAM;AAAA;AAAA,EAAsD;AAAuB,CAAA,EAAG,IAAA,EAAK;AAC9F,MAAM,OAAA,GAA0B,aAC7B,MAAM;AAAA;AAAA,EAAqD;AAAsB,CAAA,EAAG,GAAA,EAAI;AAE3F,MAAM,eAAA,GAAoE;AAAA,EACxE,IAAA,EAAM,QAAA;AAAA,EACN,GAAA,EAAK;AACP,CAAA;AAEA,MAAM,gBAAA,uBAAuB,GAAA,EAA4D;AAEzF,eAAsB,sBAAsB,QAAA,EAA0E;AAhBtH,EAAA,IAAA,EAAA;AAiBE,EAAA,IAAI,CAAC,QAAA,EAAU;AACb,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,MAAM,OAAA,GAAA,CACJ,EAAA,GAAA,gBAAA,CAAiB,GAAA,CAAI,QAAQ,CAAA,KAA7B,IAAA,GAAA,EAAA,GACA,eAAA,CAAgB,QAAQ,CAAA,EAAE,CAAE,KAAA,CAAM,CAAC,KAAA,KAAU;AAC3C,IAAA,gBAAA,CAAiB,OAAO,QAAQ,CAAA;AAChC,IAAA,MAAM,KAAA;AAAA,EACR,CAAC,CAAA;AAEH,EAAA,gBAAA,CAAiB,GAAA,CAAI,UAAU,OAAO,CAAA;AACtC,EAAA,OAAO,OAAA;AACT;;;;"}