viewof editor = {
const { EditorView, basicSetup } = await import("https://cdn.skypack.dev/codemirror@6?min");
const { javascript } = await import("https://cdn.skypack.dev/@codemirror/lang-javascript@6?min");
const updateViewOf = EditorView.updateListener.of((update) => {
const { dom } = update.view;
dom.value = update;
dom.dispatchEvent(new CustomEvent("input"));
});
const view = new EditorView({
doc: `function* infinite() {
let index = 0;
while (true)
yield index++;
}`,
extensions: [basicSetup, javascript(), updateViewOf]
});
return view.dom;
}