UNPKG

@ribajs/monaco-editor

Version:

Monaco-editor module for Riba.js

34 lines (27 loc) 794 B
import { MonacoEditorModuleOptions } from "../types/index.js"; export class MonacoEditorService { protected static _options: MonacoEditorModuleOptions; public static instance?: MonacoEditorService; public static get options() { return this._options; } protected constructor() { /**/ } public static getSingleton() { if (this.instance) { return this.instance; } throw new Error( `Singleton of MonacoEditorService not defined, please call setSingleton first!`, ); } public static setSingleton(options: MonacoEditorModuleOptions = {}) { if (this.instance) { throw new Error(`Singleton of MonacoEditorService already defined!`); } this._options = options; this.instance = new this(); return this.instance; } }