rittenhop-ghost/versions/5.94.2/node_modules/@lexical/headless/LexicalHeadless.dev.js

32 lines
1.1 KiB
JavaScript

/**
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
'use strict';
var lexical = require('lexical');
/** @module @lexical/headless */
/**
* Generates a headless editor that allows lexical to be used without the need for a DOM, eg in Node.js.
* Throws an error when unsupported metehods are used.
* @param editorConfig - The optional lexical editor configuration.
* @returns - The configured headless editor.
*/
function createHeadlessEditor(editorConfig) {
const editor = lexical.createEditor(editorConfig);
editor._headless = true;
const unsupportedMethods = ['registerDecoratorListener', 'registerRootListener', 'registerMutationListener', 'getRootElement', 'setRootElement', 'getElementByKey', 'focus', 'blur'];
unsupportedMethods.forEach(method => {
editor[method] = () => {
throw new Error(`${method} is not supported in headless mode`);
};
});
return editor;
}
exports.createHeadlessEditor = createHeadlessEditor;