summaryrefslogtreecommitdiff
path: root/alarm/node_modules/string-left-right/dist/string-left-right.esm.js
diff options
context:
space:
mode:
authorMinteck <contact@minteck.org>2023-01-10 14:54:04 +0100
committerMinteck <contact@minteck.org>2023-01-10 14:54:04 +0100
commit99c1d9af689e5325f3cf535c4007b3aeb8325229 (patch)
treee663b3c2ebdbd67c818ac0c5147f0ce1d2463cda /alarm/node_modules/string-left-right/dist/string-left-right.esm.js
parent9871b03912fc28ad38b4037ebf26a78aa937baba (diff)
downloadpluralconnect-99c1d9af689e5325f3cf535c4007b3aeb8325229.tar.gz
pluralconnect-99c1d9af689e5325f3cf535c4007b3aeb8325229.tar.bz2
pluralconnect-99c1d9af689e5325f3cf535c4007b3aeb8325229.zip
Update - This is an automated commit
Diffstat (limited to 'alarm/node_modules/string-left-right/dist/string-left-right.esm.js')
-rw-r--r--alarm/node_modules/string-left-right/dist/string-left-right.esm.js423
1 files changed, 0 insertions, 423 deletions
diff --git a/alarm/node_modules/string-left-right/dist/string-left-right.esm.js b/alarm/node_modules/string-left-right/dist/string-left-right.esm.js
deleted file mode 100644
index 708614c..0000000
--- a/alarm/node_modules/string-left-right/dist/string-left-right.esm.js
+++ /dev/null
@@ -1,423 +0,0 @@
-/**
- * @name string-left-right
- * @fileoverview Looks up the first non-whitespace character to the left/right of a given index
- * @version 4.1.0
- * @author Roy Revelt, Codsen Ltd
- * @license MIT
- * {@link https://codsen.com/os/string-left-right/}
- */
-
-import isObj from 'lodash.isplainobject';
-import clone from 'lodash.clonedeep';
-
-var version$1 = "4.1.0";
-
-const version = version$1;
-const RAWNBSP = "\u00A0";
-function x(something) {
- const res = {
- value: something,
- hungry: false,
- optional: false
- };
- if ((res.value.endsWith("?*") || res.value.endsWith("*?")) && res.value.length > 2) {
- res.value = res.value.slice(0, res.value.length - 2);
- res.optional = true;
- res.hungry = true;
- } else if (res.value.endsWith("?") && res.value.length > 1) {
- res.value = res.value.slice(0, ~-res.value.length);
- res.optional = true;
- } else if (res.value.endsWith("*") && res.value.length > 1) {
- res.value = res.value.slice(0, ~-res.value.length);
- res.hungry = true;
- }
- return res;
-}
-function isNum(something) {
- return typeof something === "number";
-}
-function isStr(something) {
- return typeof something === "string";
-}
-function rightMain({
- str,
- idx = 0,
- stopAtNewlines = false,
- stopAtRawNbsp = false
-}) {
- if (typeof str !== "string" || !str.length) {
- return null;
- }
- if (!idx || typeof idx !== "number") {
- idx = 0;
- }
- if (!str[idx + 1]) {
- return null;
- }
- if (
- str[idx + 1] && (
- str[idx + 1].trim() ||
- stopAtNewlines &&
- "\n\r".includes(str[idx + 1]) ||
- stopAtRawNbsp &&
- str[idx + 1] === RAWNBSP)) {
- return idx + 1;
- }
- if (
- str[idx + 2] && (
- str[idx + 2].trim() ||
- stopAtNewlines &&
- "\n\r".includes(str[idx + 2]) ||
- stopAtRawNbsp &&
- str[idx + 2] === RAWNBSP)) {
- return idx + 2;
- }
- for (let i = idx + 1, len = str.length; i < len; i++) {
- if (
- str[i].trim() ||
- stopAtNewlines &&
- "\n\r".includes(str[i]) ||
- stopAtRawNbsp &&
- str[i] === RAWNBSP) {
- return i;
- }
- }
- return null;
-}
-function right(str, idx = 0) {
- return rightMain({
- str,
- idx,
- stopAtNewlines: false,
- stopAtRawNbsp: false
- });
-}
-function rightStopAtNewLines(str, idx) {
- return rightMain({
- str,
- idx,
- stopAtNewlines: true,
- stopAtRawNbsp: false
- });
-}
-function rightStopAtRawNbsp(str, idx) {
- return rightMain({
- str,
- idx,
- stopAtNewlines: false,
- stopAtRawNbsp: true
- });
-}
-function leftMain({
- str,
- idx,
- stopAtNewlines,
- stopAtRawNbsp
-}) {
- if (typeof str !== "string" || !str.length) {
- return null;
- }
- if (!idx || typeof idx !== "number") {
- idx = 0;
- }
- if (idx < 1) {
- return null;
- }
- if (
- str[~-idx] && (
- str[~-idx].trim() ||
- stopAtNewlines &&
- "\n\r".includes(str[~-idx]) ||
- stopAtRawNbsp &&
- str[~-idx] === RAWNBSP)) {
- return ~-idx;
- }
- if (
- str[idx - 2] && (
- str[idx - 2].trim() ||
- stopAtNewlines &&
- "\n\r".includes(str[idx - 2]) ||
- stopAtRawNbsp &&
- str[idx - 2] === RAWNBSP)) {
- return idx - 2;
- }
- for (let i = idx; i--;) {
- if (str[i] && (
- str[i].trim() ||
- stopAtNewlines &&
- "\n\r".includes(str[i]) ||
- stopAtRawNbsp &&
- str[i] === RAWNBSP)) {
- return i;
- }
- }
- return null;
-}
-function left(str, idx = 0) {
- return leftMain({
- str,
- idx,
- stopAtNewlines: false,
- stopAtRawNbsp: false
- });
-}
-function leftStopAtNewLines(str, idx) {
- return leftMain({
- str,
- idx,
- stopAtNewlines: true,
- stopAtRawNbsp: false
- });
-}
-function leftStopAtRawNbsp(str, idx) {
- return leftMain({
- str,
- idx,
- stopAtNewlines: false,
- stopAtRawNbsp: true
- });
-}
-function seq(direction, str, idx, opts, args) {
- if (typeof str !== "string" || !str.length) {
- return null;
- }
- if (typeof idx !== "number") {
- idx = 0;
- }
- if (direction === "right" && !str[idx + 1] || direction === "left" && !str[~-idx]) {
- return null;
- }
- let lastFinding = idx;
- const gaps = [];
- let leftmostChar;
- let rightmostChar;
- let satiated;
- let i = 0;
- while (i < args.length) {
- if (!isStr(args[i]) || !args[i].length) {
- i += 1;
- continue;
- }
- const {
- value,
- optional,
- hungry
- } = x(args[i]);
- const whattsOnTheSide = direction === "right" ? right(str, lastFinding) : left(str, lastFinding);
- if (opts.i && str[whattsOnTheSide].toLowerCase() === value.toLowerCase() || !opts.i && str[whattsOnTheSide] === value) {
- const temp = direction === "right" ? right(str, whattsOnTheSide) : left(str, whattsOnTheSide);
- if (hungry && (opts.i && str[temp].toLowerCase() === value.toLowerCase() || !opts.i && str[temp] === value)) {
- satiated = true;
- } else {
- i += 1;
- }
- if (typeof whattsOnTheSide === "number" && direction === "right" && whattsOnTheSide > lastFinding + 1) {
- gaps.push([lastFinding + 1, whattsOnTheSide]);
- } else if (direction === "left" && typeof whattsOnTheSide === "number" && whattsOnTheSide < ~-lastFinding) {
- gaps.unshift([whattsOnTheSide + 1, lastFinding]);
- }
- lastFinding = whattsOnTheSide;
- if (direction === "right") {
- if (leftmostChar === undefined) {
- leftmostChar = whattsOnTheSide;
- }
- rightmostChar = whattsOnTheSide;
- } else {
- if (rightmostChar === undefined) {
- rightmostChar = whattsOnTheSide;
- }
- leftmostChar = whattsOnTheSide;
- }
- } else if (optional) {
- i += 1;
- continue;
- } else if (satiated) {
- i += 1;
- satiated = undefined;
- continue;
- } else {
- return null;
- }
- }
- if (leftmostChar === undefined || rightmostChar === undefined) {
- return null;
- }
- return {
- gaps,
- leftmostChar,
- rightmostChar
- };
-}
-const seqDefaults = {
- i: false
-};
-function leftSeq(str, idx, ...args) {
- if (!args || !args.length) {
- throw new Error(`string-left-right/leftSeq(): only two input arguments were passed! Did you intend to use left() method instead?`);
- }
- let opts;
- if (isObj(args[0])) {
- opts = { ...seqDefaults,
- ...args.shift()
- };
- } else {
- opts = seqDefaults;
- }
- return seq("left", str, idx, opts, Array.from(args).reverse());
-}
-function rightSeq(str, idx, ...args) {
- if (!args || !args.length) {
- throw new Error(`string-left-right/rightSeq(): only two input arguments were passed! Did you intend to use right() method instead?`);
- }
- let opts;
- if (isObj(args[0])) {
- opts = { ...seqDefaults,
- ...args.shift()
- };
- } else {
- opts = seqDefaults;
- }
- return seq("right", str, idx, opts, args);
-}
-function chomp(direction, str, idx, opts, args = []) {
- if (typeof str !== "string" || !str.length) {
- return null;
- }
- if (!idx || typeof idx !== "number") {
- idx = 0;
- }
- if (direction === "right" && !str[idx + 1] || direction === "left" && +idx === 0) {
- return null;
- }
- let lastRes = null;
- let lastIdx = null;
- do {
- lastRes = direction === "right" ? rightSeq(str, typeof lastIdx === "number" ? lastIdx : idx, ...args) : leftSeq(str, typeof lastIdx === "number" ? lastIdx : idx, ...args);
- if (lastRes !== null) {
- lastIdx = direction === "right" ? lastRes.rightmostChar : lastRes.leftmostChar;
- }
- } while (lastRes);
- if (lastIdx != null && direction === "right") {
- lastIdx += 1;
- }
- if (lastIdx === null) {
- return null;
- }
- if (direction === "right") {
- if (str[lastIdx] && str[lastIdx].trim()) {
- return lastIdx;
- }
- const whatsOnTheRight = right(str, lastIdx);
- if (!opts || opts.mode === 0) {
- if (whatsOnTheRight === lastIdx + 1) {
- return lastIdx;
- }
- if (str.slice(lastIdx, whatsOnTheRight || str.length).trim() || str.slice(lastIdx, whatsOnTheRight || str.length).includes("\n") || str.slice(lastIdx, whatsOnTheRight || str.length).includes("\r")) {
- for (let y = lastIdx, len = str.length; y < len; y++) {
- if (`\n\r`.includes(str[y])) {
- return y;
- }
- }
- } else {
- return whatsOnTheRight ? ~-whatsOnTheRight : str.length;
- }
- } else if (opts.mode === 1) {
- return lastIdx;
- } else if (opts.mode === 2) {
- const remainderString = str.slice(lastIdx);
- if (remainderString.trim() || remainderString.includes("\n") || remainderString.includes("\r")) {
- for (let y = lastIdx, len = str.length; y < len; y++) {
- if (str[y].trim() || `\n\r`.includes(str[y])) {
- return y;
- }
- }
- }
- return str.length;
- }
- return whatsOnTheRight || str.length;
- }
- if (str[lastIdx] && str[~-lastIdx] && str[~-lastIdx].trim()) {
- return lastIdx;
- }
- const whatsOnTheLeft = left(str, lastIdx);
- if (!opts || opts.mode === 0) {
- if (whatsOnTheLeft === lastIdx - 2) {
- return lastIdx;
- }
- if (str.slice(0, lastIdx).trim() || str.slice(0, lastIdx).includes("\n") || str.slice(0, lastIdx).includes("\r")) {
- for (let y = lastIdx; y--;) {
- if (`\n\r`.includes(str[y]) || str[y].trim()) {
- return y + 1 + (str[y].trim() ? 1 : 0);
- }
- }
- }
- return 0;
- }
- if (opts.mode === 1) {
- return lastIdx;
- }
- if (opts.mode === 2) {
- const remainderString = str.slice(0, lastIdx);
- if (remainderString.trim() || remainderString.includes("\n") || remainderString.includes("\r")) {
- for (let y = lastIdx; y--;) {
- if (str[y].trim() || `\n\r`.includes(str[y])) {
- return y + 1;
- }
- }
- }
- return 0;
- }
- return whatsOnTheLeft !== null ? whatsOnTheLeft + 1 : 0;
-}
-function chompLeft(str, idx, ...args) {
- if (!args.length || args.length === 1 && isObj(args[0])) {
- return null;
- }
- const defaults = {
- mode: 0
- };
- if (isObj(args[0])) {
- const opts = { ...defaults,
- ...clone(args[0])
- };
- if (!opts.mode) {
- opts.mode = 0;
- } else if (isStr(opts.mode) && `0123`.includes(opts.mode)) {
- opts.mode = Number.parseInt(opts.mode, 10);
- } else if (!isNum(opts.mode)) {
- throw new Error(`string-left-right/chompLeft(): [THROW_ID_01] the opts.mode is wrong! It should be 0, 1, 2 or 3. It was given as ${opts.mode} (type ${typeof opts.mode})`);
- }
- return chomp("left", str, idx, opts, clone(args).slice(1));
- }
- if (!isStr(args[0])) {
- return chomp("left", str, idx, defaults, clone(args).slice(1));
- }
- return chomp("left", str, idx, defaults, clone(args));
-}
-function chompRight(str, idx, ...args) {
- if (!args.length || args.length === 1 && isObj(args[0])) {
- return null;
- }
- const defaults = {
- mode: 0
- };
- if (isObj(args[0])) {
- const opts = { ...defaults,
- ...clone(args[0])
- };
- if (!opts.mode) {
- opts.mode = 0;
- } else if (isStr(opts.mode) && `0123`.includes(opts.mode)) {
- opts.mode = Number.parseInt(opts.mode, 10);
- } else if (!isNum(opts.mode)) {
- throw new Error(`string-left-right/chompRight(): [THROW_ID_02] the opts.mode is wrong! It should be 0, 1, 2 or 3. It was given as ${opts.mode} (type ${typeof opts.mode})`);
- }
- return chomp("right", str, idx, opts, clone(args).slice(1));
- }
- if (!isStr(args[0])) {
- return chomp("right", str, idx, defaults, clone(args).slice(1));
- }
- return chomp("right", str, idx, defaults, clone(args));
-}
-
-export { chompLeft, chompRight, left, leftSeq, leftStopAtNewLines, leftStopAtRawNbsp, right, rightSeq, rightStopAtNewLines, rightStopAtRawNbsp, version };