// Widow word removal from text within HTML import { strict as assert } from "assert"; import { stripHtml } from "../dist/string-strip-html.esm.js"; import { removeWidows } from "../../string-remove-widows"; const someHtml = `The quick brown fox jumps of the lazy dog.
`; // default widow word removal libs are not aware of HTML: // ----------------------------------------------------------------------------- assert.equal( removeWidows(someHtml).res, `The quick brown fox jumps of the lazy dog.` // 😱 ); // luckily, removeWidows() consumes optional HTML tag locations assert.equal( removeWidows(someHtml, { tagRanges: stripHtml(someHtml) // remove the third argument, what to insert (" " string in these cases) .ranges.map(([from, to]) => [from, to]), }).res, `The quick brown fox jumps of the lazy dog.
` // ✅ );