@finos/legend-data-cube
Version:
37 lines • 1.06 kB
JavaScript
import { ActionState, uuid } from '@finos/legend-shared';
import { editor as monacoEditorAPI, Uri } from 'monaco-editor';
import { clearMarkers, CODE_EDITOR_LANGUAGE } from '@finos/legend-code-editor';
export class DataCubeCodeEditorState {
uuid = uuid();
editorModel;
editor;
editorModelUri;
code = '';
codePrefix;
returnType;
finalizationState = ActionState.create();
codeError;
model;
engine;
currentlyEditing;
constructor(engine) {
this.engine = engine;
this.codePrefix = '';
this.editorModelUri = Uri.file(`/${this.uuid}.pure`);
this.editorModel = monacoEditorAPI.createModel('', CODE_EDITOR_LANGUAGE.PURE, this.editorModelUri);
}
get hasErrors() {
return Boolean(this.codeError);
}
clearError() {
this.codeError = undefined;
clearMarkers(this.uuid);
}
setReturnType(value) {
this.returnType = value;
}
setEditor(editor) {
this.editor = editor;
}
}
//# sourceMappingURL=DataCubeCodeEditorState.js.map