From 2c4ae43e688a9873e86211ea0e7aeb9ba770dd77 Mon Sep 17 00:00:00 2001 From: Minteck Date: Tue, 18 Oct 2022 08:59:09 +0200 Subject: Update --- .../string-strip-html/examples/minimal-ranges.js | 33 ++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 alarm/node_modules/string-strip-html/examples/minimal-ranges.js (limited to 'alarm/node_modules/string-strip-html/examples/minimal-ranges.js') diff --git a/alarm/node_modules/string-strip-html/examples/minimal-ranges.js b/alarm/node_modules/string-strip-html/examples/minimal-ranges.js new file mode 100644 index 0000000..91dcbf7 --- /dev/null +++ b/alarm/node_modules/string-strip-html/examples/minimal-ranges.js @@ -0,0 +1,33 @@ +// Minimal example using Ranges + +// We strip tags and fix apostrophes +// that's part of what https://codsen.com/os/detergent/ does + +import { strict as assert } from "assert"; +import { rApply } from "../../ranges-apply"; +import { stripHtml } from "../dist/string-strip-html.esm.js"; +import { convertAll } from "../../string-apostrophes"; + +function stripAndFixApos(str) { + if (!str || typeof str !== "string") { + return ""; + } + // Keep in mind, Ranges are array of 2-3 element arrays. + // But absent Ranges are marked as null, not empty array. + // It's so that we could test in "if-else" easily - null + // is falsy but empty array is truthy. + // That's why below we take precautions with "|| []". + return rApply( + str, + (stripHtml(str).ranges || []).concat(convertAll(str).ranges || []) + ); +} + +// strips tags and fixes apostrophes: +assert.equal( + stripAndFixApos(`Let's Go Larval`), + `Let’s Go Larval` +); + +// no tags, no apostrophes: +assert.equal(stripAndFixApos(`zzz`), `zzz`); -- cgit