UNPKG

monaco-editor-core

Version:

A browser based code editor

51 lines (50 loc) 1.42 kB
/*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ import * as editorCommon from '../common/editorCommon.js'; /** *@internal */ export function isCodeEditor(thing) { if (thing && typeof thing.getEditorType === 'function') { return thing.getEditorType() === editorCommon.EditorType.ICodeEditor; } else { return false; } } /** *@internal */ export function isDiffEditor(thing) { if (thing && typeof thing.getEditorType === 'function') { return thing.getEditorType() === editorCommon.EditorType.IDiffEditor; } else { return false; } } /** *@internal */ export function isCompositeEditor(thing) { return !!thing && typeof thing === 'object' && typeof thing.onDidChangeActiveEditor === 'function'; } /** *@internal */ export function getCodeEditor(thing) { if (isCodeEditor(thing)) { return thing; } if (isDiffEditor(thing)) { return thing.getModifiedEditor(); } if (isCompositeEditor(thing) && isCodeEditor(thing.activeCodeEditor)) { return thing.activeCodeEditor; } return null; }