UNPKG

@ckeditor/ckeditor5-word-count

Version:

Word and character count feature for CKEditor 5.

28 lines (27 loc) 836 B
/** * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /** * Returns a plain text representation of an element and its children. * * @returns Plain text representing the model's data. */ export function modelElementToPlainText(item) { if (item.is('$text') || item.is('$textProxy')) { return item.data; } const element = item; let text = ''; let prev = null; for (const child of element.getChildren()) { const childText = modelElementToPlainText(child); // If last block was finish, start from new line. if (prev && prev.is('element')) { text += '\n'; } text += childText; prev = child; } return text; }