Files
genieacs/ui/dynamic-loader.ts
T
2019-06-05 00:17:36 -07:00

36 lines
887 B
TypeScript

export let codeMirror;
export let yaml;
export function loadCodeMirror(): Promise<void> {
if (codeMirror) return Promise.resolve();
return new Promise((resolve, reject) => {
const promises = [
import(/* webpackChunkName: "codemirror" */ "codemirror"),
import(
/* webpackChunkName: "codemirror" */ "codemirror/mode/javascript/javascript"
),
import(/* webpackChunkName: "codemirror" */ "codemirror/mode/yaml/yaml")
];
Promise.all(promises)
.then(modules => {
codeMirror = modules[0];
resolve();
})
.catch(reject);
});
}
export function loadYaml(): Promise<void> {
if (yaml) return Promise.resolve();
return new Promise((resolve, reject) => {
import(/* webpackChunkName: "yaml" */ "yaml")
.then(module => {
yaml = module;
resolve();
})
.catch(reject);
});
}