UNPKG

@finos/legend-studio

Version:
52 lines 1.9 kB
/** * Copyright (c) 2020-present, Goldman Sachs * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { EditorState } from './EditorState.js'; import { observable, makeObservable, computed } from 'mobx'; import { EDITOR_LANGUAGE, TAB_SIZE } from '@finos/legend-application'; import { returnUndefOnError } from '@finos/legend-shared'; export const getTextContent = (content, format) => { switch (format?.toLowerCase()) { case EDITOR_LANGUAGE.JSON: return (returnUndefOnError(() => JSON.stringify(JSON.parse(content), undefined, TAB_SIZE)) ?? content); default: return content; } }; export const getEditorLanguageFromFormat = (format) => { switch (format?.toLowerCase()) { case EDITOR_LANGUAGE.JAVA: return EDITOR_LANGUAGE.JAVA; case EDITOR_LANGUAGE.JSON: return EDITOR_LANGUAGE.JSON; default: return EDITOR_LANGUAGE.TEXT; } }; export class FileGenerationViewerState extends EditorState { generatedFile; constructor(editorStore, generatedFile) { super(editorStore); makeObservable(this, { generatedFile: observable, headerName: computed, }); this.generatedFile = generatedFile; } get headerName() { return this.generatedFile.name; } } //# sourceMappingURL=FileGenerationViewerState.js.map