UNPKG

react-openqasm-editor

Version:

A powerful, customizable code editor for OpenQASM (Open Quantum Assembly Language) based on Monaco Editor.

33 lines (25 loc) 874 B
import LanguageService from "./LanguageService" import { type worker } from "monaco-editor-core" import { IError } from "./errorListener" export class OpenQasmWorker { private _ctx: worker.IWorkerContext private languageService: LanguageService constructor(ctx: worker.IWorkerContext) { this._ctx = ctx this.languageService = new LanguageService() } static getMethodNames() { return ['doValidation']; } doValidation(): Promise<IError[]> { const code = this.getTextDocument(); return Promise.resolve(this.languageService.validate(code)); } format(code: string): Promise<string> { return Promise.resolve(this.languageService.format(code)); } private getTextDocument(): string { const model = this._ctx.getMirrorModels()[0];// When there are multiple files open, this will be an array return model.getValue(); } }