Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

string-range-expander

Package Overview
Dependencies
Maintainers
1
Versions
144
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

string-range-expander - npm Package Compare versions

Comparing version 3.0.12 to 3.0.13

6

CHANGELOG.md

@@ -6,2 +6,8 @@ # Change Log

## 3.0.13 (2022-04-18)
### Bug Fixes
- tweak types ([e7b5188](https://github.com/codsen/codsen/commit/e7b518884cc6b8edf3099efb2fc023c8318e938c))
## 3.0.0 (2021-09-09)

@@ -8,0 +14,0 @@

8

dist/string-range-expander.esm.js
/**
* @name string-range-expander
* @fileoverview Expands string index ranges within whitespace boundaries until letters are met
* @version 3.0.12
* @version 3.0.13
* @author Roy Revelt, Codsen Ltd

@@ -10,4 +10,4 @@ * @license MIT

var h="3.0.12";var m=h,a={str:"",from:0,to:0,ifLeftSideIncludesThisThenCropTightly:"",ifLeftSideIncludesThisCropItToo:"",ifRightSideIncludesThisThenCropTightly:"",ifRightSideIncludesThisCropItToo:"",extendToOneSide:!1,wipeAllWhitespaceOnLeft:!1,wipeAllWhitespaceOnRight:!1,addSingleSpaceToPreventAccidentalConcatenation:!1};function y(t){let f=/^[0-9a-zA-Z]+$/;function s(i){return!i||typeof i!="string"?!1:!i.trim()}function l(i){return typeof i=="string"}if(!t||typeof t!="object"||Array.isArray(t)){let i;throw t===void 0?i="but it is missing completely.":t===null?i="but it was given as null.":i=`but it was given as ${typeof t}, equal to:
${JSON.stringify(t,null,4)}.`,new Error(`string-range-expander: [THROW_ID_01] Input must be a plain object ${i}`)}else if(typeof t=="object"&&t!==null&&!Array.isArray(t)&&!Object.keys(t).length)throw new Error("string-range-expander: [THROW_ID_02] Input must be a plain object but it was given as a plain object without any keys.");if(typeof t.from!="number")throw new Error(`string-range-expander: [THROW_ID_03] The input's "from" value opts.from, is not a number! Currently it's given as ${typeof t.from}, equal to ${JSON.stringify(t.from,null,0)}`);if(typeof t.to!="number")throw new Error(`string-range-expander: [THROW_ID_04] The input's "to" value opts.to, is not a number! Currently it's given as ${typeof t.to}, equal to ${JSON.stringify(t.to,null,0)}`);if(t?.str&&!t.str[t.from]&&t.from!==t.to)throw new Error(`string-range-expander: [THROW_ID_05] The given input string opts.str ("${t.str}") must contain the character at index "from" ("${t.from}")`);if(t?.str&&!t.str[t.to-1])throw new Error(`string-range-expander: [THROW_ID_06] The given input string, opts.str ("${t.str}") must contain the character at index before "to" ("${t.to-1}")`);if(t.from>t.to)throw new Error(`string-range-expander: [THROW_ID_07] The given "from" index, "${t.from}" is greater than "to" index, "${t.to}". That's wrong!`);if(l(t.extendToOneSide)&&t.extendToOneSide!=="left"&&t.extendToOneSide!=="right"||!l(t.extendToOneSide)&&t.extendToOneSide!==void 0&&t.extendToOneSide!==!1)throw new Error(`string-range-expander: [THROW_ID_08] The opts.extendToOneSide value is not recogniseable! It's set to: "${t.extendToOneSide}" (${typeof t.extendToOneSide}). It has to be either Boolean "false" or strings "left" or "right"`);let e={...a,...t};if(Array.isArray(e.ifLeftSideIncludesThisThenCropTightly)){let i,d;if(e.ifLeftSideIncludesThisThenCropTightly.every((u,c)=>l(u)?!0:(i=c,d=u,!1)))e.ifLeftSideIncludesThisThenCropTightly=e.ifLeftSideIncludesThisThenCropTightly.join("");else throw new Error(`string-range-expander: [THROW_ID_09] The opts.ifLeftSideIncludesThisThenCropTightly was set to an array:
${JSON.stringify(e.ifLeftSideIncludesThisThenCropTightly,null,4)}. Now, that array contains not only string elements. For example, an element at index ${i} is of a type ${typeof d} (equal to ${JSON.stringify(d,null,0)}).`)}let n=e.str,r=e.from,o=e.to;if(e.extendToOneSide!=="right"&&(s(n[r-1])&&(s(n[r-2])||e.ifLeftSideIncludesThisCropItToo.includes(n[r-2]))||n[r-1]&&e.ifLeftSideIncludesThisCropItToo.includes(n[r-1])||e.wipeAllWhitespaceOnLeft&&s(n[r-1]))){for(let i=r;i--;)if(!e.ifLeftSideIncludesThisCropItToo.includes(n[i])){if(n[i].trim()){e.wipeAllWhitespaceOnLeft||e.ifLeftSideIncludesThisCropItToo.includes(n[i+1])?r=i+1:r=i+2;break}else if(i===0){e.wipeAllWhitespaceOnLeft?r=0:r=1;break}}}if(e.extendToOneSide!=="left"&&(s(n[o])&&(e.wipeAllWhitespaceOnRight||s(n[o+1]))||e.ifRightSideIncludesThisCropItToo.includes(n[o]))){for(let i=o,d=n.length;i<d;i++)if(!e.ifRightSideIncludesThisCropItToo.includes(n[i])&&n[i]?.trim()){e.wipeAllWhitespaceOnRight||e.ifRightSideIncludesThisCropItToo.includes(n[i-1])?o=i:o=i-1;break}}return(e.extendToOneSide!=="right"&&l(e.ifLeftSideIncludesThisThenCropTightly)&&e.ifLeftSideIncludesThisThenCropTightly&&(n[r-2]&&e.ifLeftSideIncludesThisThenCropTightly.includes(n[r-2])||n[r-1]&&e.ifLeftSideIncludesThisThenCropTightly.includes(n[r-1]))||e.extendToOneSide!=="left"&&l(e.ifRightSideIncludesThisThenCropTightly)&&e.ifRightSideIncludesThisThenCropTightly&&(n[o+1]&&e.ifRightSideIncludesThisThenCropTightly.includes(n[o+1])||n[o]&&e.ifRightSideIncludesThisThenCropTightly.includes(n[o])))&&(e.extendToOneSide!=="right"&&s(n[r-1])&&!e.wipeAllWhitespaceOnLeft&&(r-=1),e.extendToOneSide!=="left"&&s(n[o])&&!e.wipeAllWhitespaceOnRight&&(o+=1)),e.addSingleSpaceToPreventAccidentalConcatenation&&n[r-1]&&n[r-1].trim()&&n[o]&&n[o].trim()&&(!e.ifLeftSideIncludesThisThenCropTightly&&!e.ifRightSideIncludesThisThenCropTightly||!((!e.ifLeftSideIncludesThisThenCropTightly||e.ifLeftSideIncludesThisThenCropTightly.includes(n[r-1]))&&(!e.ifRightSideIncludesThisThenCropTightly||n[o]&&e.ifRightSideIncludesThisThenCropTightly.includes(n[o]))))&&(f.test(n[r-1])||f.test(n[o]))?[r,o," "]:[r,o]}export{a as defaults,y as expander,m as version};
var u="3.0.13";var m=u,g={str:"",from:0,to:0,ifLeftSideIncludesThisThenCropTightly:"",ifLeftSideIncludesThisCropItToo:"",ifRightSideIncludesThisThenCropTightly:"",ifRightSideIncludesThisCropItToo:"",extendToOneSide:!1,wipeAllWhitespaceOnLeft:!1,wipeAllWhitespaceOnRight:!1,addSingleSpaceToPreventAccidentalConcatenation:!1};function y(i){let a=/^[0-9a-zA-Z]+$/;function o(n){return!n||typeof n!="string"?!1:!n.trim()}function l(n){return typeof n=="string"}if(!i||typeof i!="object"||Array.isArray(i)){let n;throw i===void 0?n="but it is missing completely.":i===null?n="but it was given as null.":n=`but it was given as ${typeof i}, equal to:
${JSON.stringify(i,null,4)}.`,new Error(`string-range-expander: [THROW_ID_01] Input must be a plain object ${n}`)}else if(typeof i=="object"&&i!==null&&!Array.isArray(i)&&!Object.keys(i).length)throw new Error("string-range-expander: [THROW_ID_02] Input must be a plain object but it was given as a plain object without any keys.");if(typeof i.from!="number")throw new Error(`string-range-expander: [THROW_ID_03] The input's "from" value resolvedOpts.from, is not a number! Currently it's given as ${typeof i.from}, equal to ${JSON.stringify(i.from,null,0)}`);if(typeof i.to!="number")throw new Error(`string-range-expander: [THROW_ID_04] The input's "to" value resolvedOpts.to, is not a number! Currently it's given as ${typeof i.to}, equal to ${JSON.stringify(i.to,null,0)}`);if(i?.str&&!i.str[i.from]&&i.from!==i.to)throw new Error(`string-range-expander: [THROW_ID_05] The given input string resolvedOpts.str ("${i.str}") must contain the character at index "from" ("${i.from}")`);if(i?.str&&!i.str[i.to-1])throw new Error(`string-range-expander: [THROW_ID_06] The given input string, resolvedOpts.str ("${i.str}") must contain the character at index before "to" ("${i.to-1}")`);if(i.from>i.to)throw new Error(`string-range-expander: [THROW_ID_07] The given "from" index, "${i.from}" is greater than "to" index, "${i.to}". That's wrong!`);if(l(i.extendToOneSide)&&i.extendToOneSide!=="left"&&i.extendToOneSide!=="right"||!l(i.extendToOneSide)&&i.extendToOneSide!==void 0&&i.extendToOneSide!==!1)throw new Error(`string-range-expander: [THROW_ID_08] The resolvedOpts.extendToOneSide value is not recognisable! It's set to: "${i.extendToOneSide}" (${typeof i.extendToOneSide}). It has to be either Boolean "false" or strings "left" or "right"`);let e={...g,...i};if(Array.isArray(e.ifLeftSideIncludesThisThenCropTightly)){let n,d;if(e.ifLeftSideIncludesThisThenCropTightly.every((f,h)=>l(f)?!0:(n=h,d=f,!1)))e.ifLeftSideIncludesThisThenCropTightly=e.ifLeftSideIncludesThisThenCropTightly.join("");else throw new Error(`string-range-expander: [THROW_ID_09] The resolvedOpts.ifLeftSideIncludesThisThenCropTightly was set to an array:
${JSON.stringify(e.ifLeftSideIncludesThisThenCropTightly,null,4)}. Now, that array contains not only string elements. For example, an element at index ${n} is of a type ${typeof d} (equal to ${JSON.stringify(d,null,0)}).`)}let t=e.str,r=e.from,s=e.to;if(e.extendToOneSide!=="right"&&(o(t[r-1])&&(o(t[r-2])||e.ifLeftSideIncludesThisCropItToo.includes(t[r-2]))||t[r-1]&&e.ifLeftSideIncludesThisCropItToo.includes(t[r-1])||e.wipeAllWhitespaceOnLeft&&o(t[r-1]))){for(let n=r;n--;)if(!e.ifLeftSideIncludesThisCropItToo.includes(t[n])){if(t[n].trim()){e.wipeAllWhitespaceOnLeft||e.ifLeftSideIncludesThisCropItToo.includes(t[n+1])?r=n+1:r=n+2;break}else if(n===0){e.wipeAllWhitespaceOnLeft?r=0:r=1;break}}}if(e.extendToOneSide!=="left"&&(o(t[s])&&(e.wipeAllWhitespaceOnRight||o(t[s+1]))||e.ifRightSideIncludesThisCropItToo.includes(t[s]))){for(let n=s,d=t.length;n<d;n++)if(!e.ifRightSideIncludesThisCropItToo.includes(t[n])&&t[n]?.trim()){e.wipeAllWhitespaceOnRight||e.ifRightSideIncludesThisCropItToo.includes(t[n-1])?s=n:s=n-1;break}}return(e.extendToOneSide!=="right"&&l(e.ifLeftSideIncludesThisThenCropTightly)&&e.ifLeftSideIncludesThisThenCropTightly&&(t[r-2]&&e.ifLeftSideIncludesThisThenCropTightly.includes(t[r-2])||t[r-1]&&e.ifLeftSideIncludesThisThenCropTightly.includes(t[r-1]))||e.extendToOneSide!=="left"&&l(e.ifRightSideIncludesThisThenCropTightly)&&e.ifRightSideIncludesThisThenCropTightly&&(t[s+1]&&e.ifRightSideIncludesThisThenCropTightly.includes(t[s+1])||t[s]&&e.ifRightSideIncludesThisThenCropTightly.includes(t[s])))&&(e.extendToOneSide!=="right"&&o(t[r-1])&&!e.wipeAllWhitespaceOnLeft&&(r-=1),e.extendToOneSide!=="left"&&o(t[s])&&!e.wipeAllWhitespaceOnRight&&(s+=1)),e.addSingleSpaceToPreventAccidentalConcatenation&&t[r-1]&&t[r-1].trim()&&t[s]&&t[s].trim()&&(!e.ifLeftSideIncludesThisThenCropTightly&&!e.ifRightSideIncludesThisThenCropTightly||!((!e.ifLeftSideIncludesThisThenCropTightly||e.ifLeftSideIncludesThisThenCropTightly.includes(t[r-1]))&&(!e.ifRightSideIncludesThisThenCropTightly||t[s]&&e.ifRightSideIncludesThisThenCropTightly.includes(t[s]))))&&(a.test(t[r-1])||a.test(t[s]))?[r,s," "]:[r,s]}export{g as defaults,y as expander,m as version};
/**
* @name string-range-expander
* @fileoverview Expands string index ranges within whitespace boundaries until letters are met
* @version 3.0.12
* @version 3.0.13
* @author Roy Revelt, Codsen Ltd

@@ -10,4 +10,4 @@ * @license MIT

var stringRangeExpander=(()=>{var u=Object.defineProperty;var S=Object.getOwnPropertyDescriptor;var b=Object.getOwnPropertyNames,a=Object.getOwnPropertySymbols;var p=Object.prototype.hasOwnProperty,I=Object.prototype.propertyIsEnumerable;var m=(e,r,o)=>r in e?u(e,r,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[r]=o,h=(e,r)=>{for(var o in r||(r={}))p.call(r,o)&&m(e,o,r[o]);if(a)for(var o of a(r))I.call(r,o)&&m(e,o,r[o]);return e};var x=e=>u(e,"__esModule",{value:!0});var w=(e,r)=>{for(var o in r)u(e,o,{get:r[o],enumerable:!0})},R=(e,r,o,d)=>{if(r&&typeof r=="object"||typeof r=="function")for(let t of b(r))!p.call(e,t)&&(o||t!=="default")&&u(e,t,{get:()=>r[t],enumerable:!(d=S(r,t))||d.enumerable});return e};var C=(e=>(r,o)=>e&&e.get(r)||(o=R(x({}),r,1),e&&e.set(r,o),o))(typeof WeakMap!="undefined"?new WeakMap:0);var D={};w(D,{defaults:()=>y,expander:()=>A,version:()=>L});var g="3.0.12";var L=g,y={str:"",from:0,to:0,ifLeftSideIncludesThisThenCropTightly:"",ifLeftSideIncludesThisCropItToo:"",ifRightSideIncludesThisThenCropTightly:"",ifRightSideIncludesThisCropItToo:"",extendToOneSide:!1,wipeAllWhitespaceOnLeft:!1,wipeAllWhitespaceOnRight:!1,addSingleSpaceToPreventAccidentalConcatenation:!1};function A(e){var c;let r=/^[0-9a-zA-Z]+$/;function o(i){return!i||typeof i!="string"?!1:!i.trim()}function d(i){return typeof i=="string"}if(!e||typeof e!="object"||Array.isArray(e)){let i;throw e===void 0?i="but it is missing completely.":e===null?i="but it was given as null.":i=`but it was given as ${typeof e}, equal to:
${JSON.stringify(e,null,4)}.`,new Error(`string-range-expander: [THROW_ID_01] Input must be a plain object ${i}`)}else if(typeof e=="object"&&e!==null&&!Array.isArray(e)&&!Object.keys(e).length)throw new Error("string-range-expander: [THROW_ID_02] Input must be a plain object but it was given as a plain object without any keys.");if(typeof e.from!="number")throw new Error(`string-range-expander: [THROW_ID_03] The input's "from" value opts.from, is not a number! Currently it's given as ${typeof e.from}, equal to ${JSON.stringify(e.from,null,0)}`);if(typeof e.to!="number")throw new Error(`string-range-expander: [THROW_ID_04] The input's "to" value opts.to, is not a number! Currently it's given as ${typeof e.to}, equal to ${JSON.stringify(e.to,null,0)}`);if((e==null?void 0:e.str)&&!e.str[e.from]&&e.from!==e.to)throw new Error(`string-range-expander: [THROW_ID_05] The given input string opts.str ("${e.str}") must contain the character at index "from" ("${e.from}")`);if((e==null?void 0:e.str)&&!e.str[e.to-1])throw new Error(`string-range-expander: [THROW_ID_06] The given input string, opts.str ("${e.str}") must contain the character at index before "to" ("${e.to-1}")`);if(e.from>e.to)throw new Error(`string-range-expander: [THROW_ID_07] The given "from" index, "${e.from}" is greater than "to" index, "${e.to}". That's wrong!`);if(d(e.extendToOneSide)&&e.extendToOneSide!=="left"&&e.extendToOneSide!=="right"||!d(e.extendToOneSide)&&e.extendToOneSide!==void 0&&e.extendToOneSide!==!1)throw new Error(`string-range-expander: [THROW_ID_08] The opts.extendToOneSide value is not recogniseable! It's set to: "${e.extendToOneSide}" (${typeof e.extendToOneSide}). It has to be either Boolean "false" or strings "left" or "right"`);let t=h(h({},y),e);if(Array.isArray(t.ifLeftSideIncludesThisThenCropTightly)){let i,f;if(t.ifLeftSideIncludesThisThenCropTightly.every((T,$)=>d(T)?!0:(i=$,f=T,!1)))t.ifLeftSideIncludesThisThenCropTightly=t.ifLeftSideIncludesThisThenCropTightly.join("");else throw new Error(`string-range-expander: [THROW_ID_09] The opts.ifLeftSideIncludesThisThenCropTightly was set to an array:
${JSON.stringify(t.ifLeftSideIncludesThisThenCropTightly,null,4)}. Now, that array contains not only string elements. For example, an element at index ${i} is of a type ${typeof f} (equal to ${JSON.stringify(f,null,0)}).`)}let n=t.str,s=t.from,l=t.to;if(t.extendToOneSide!=="right"&&(o(n[s-1])&&(o(n[s-2])||t.ifLeftSideIncludesThisCropItToo.includes(n[s-2]))||n[s-1]&&t.ifLeftSideIncludesThisCropItToo.includes(n[s-1])||t.wipeAllWhitespaceOnLeft&&o(n[s-1]))){for(let i=s;i--;)if(!t.ifLeftSideIncludesThisCropItToo.includes(n[i])){if(n[i].trim()){t.wipeAllWhitespaceOnLeft||t.ifLeftSideIncludesThisCropItToo.includes(n[i+1])?s=i+1:s=i+2;break}else if(i===0){t.wipeAllWhitespaceOnLeft?s=0:s=1;break}}}if(t.extendToOneSide!=="left"&&(o(n[l])&&(t.wipeAllWhitespaceOnRight||o(n[l+1]))||t.ifRightSideIncludesThisCropItToo.includes(n[l]))){for(let i=l,f=n.length;i<f;i++)if(!t.ifRightSideIncludesThisCropItToo.includes(n[i])&&((c=n[i])==null?void 0:c.trim())){t.wipeAllWhitespaceOnRight||t.ifRightSideIncludesThisCropItToo.includes(n[i-1])?l=i:l=i-1;break}}return(t.extendToOneSide!=="right"&&d(t.ifLeftSideIncludesThisThenCropTightly)&&t.ifLeftSideIncludesThisThenCropTightly&&(n[s-2]&&t.ifLeftSideIncludesThisThenCropTightly.includes(n[s-2])||n[s-1]&&t.ifLeftSideIncludesThisThenCropTightly.includes(n[s-1]))||t.extendToOneSide!=="left"&&d(t.ifRightSideIncludesThisThenCropTightly)&&t.ifRightSideIncludesThisThenCropTightly&&(n[l+1]&&t.ifRightSideIncludesThisThenCropTightly.includes(n[l+1])||n[l]&&t.ifRightSideIncludesThisThenCropTightly.includes(n[l])))&&(t.extendToOneSide!=="right"&&o(n[s-1])&&!t.wipeAllWhitespaceOnLeft&&(s-=1),t.extendToOneSide!=="left"&&o(n[l])&&!t.wipeAllWhitespaceOnRight&&(l+=1)),t.addSingleSpaceToPreventAccidentalConcatenation&&n[s-1]&&n[s-1].trim()&&n[l]&&n[l].trim()&&(!t.ifLeftSideIncludesThisThenCropTightly&&!t.ifRightSideIncludesThisThenCropTightly||!((!t.ifLeftSideIncludesThisThenCropTightly||t.ifLeftSideIncludesThisThenCropTightly.includes(n[s-1]))&&(!t.ifRightSideIncludesThisThenCropTightly||n[l]&&t.ifRightSideIncludesThisThenCropTightly.includes(n[l]))))&&(r.test(n[s-1])||r.test(n[l]))?[s,l," "]:[s,l]}return C(D);})();
var stringRangeExpander=(()=>{var f=Object.defineProperty;var S=Object.getOwnPropertyDescriptor;var b=Object.getOwnPropertyNames,g=Object.getOwnPropertySymbols;var p=Object.prototype.hasOwnProperty,I=Object.prototype.propertyIsEnumerable;var T=(e,r,s)=>r in e?f(e,r,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[r]=s,u=(e,r)=>{for(var s in r||(r={}))p.call(r,s)&&T(e,s,r[s]);if(g)for(var s of g(r))I.call(r,s)&&T(e,s,r[s]);return e};var O=(e,r)=>{for(var s in r)f(e,s,{get:r[s],enumerable:!0})},x=(e,r,s,d)=>{if(r&&typeof r=="object"||typeof r=="function")for(let i of b(r))!p.call(e,i)&&i!==s&&f(e,i,{get:()=>r[i],enumerable:!(d=S(r,i))||d.enumerable});return e};var w=e=>x(f({},"__esModule",{value:!0}),e);var v={};O(v,{defaults:()=>y,expander:()=>E,version:()=>C});var m="3.0.13";var C=m,y={str:"",from:0,to:0,ifLeftSideIncludesThisThenCropTightly:"",ifLeftSideIncludesThisCropItToo:"",ifRightSideIncludesThisThenCropTightly:"",ifRightSideIncludesThisCropItToo:"",extendToOneSide:!1,wipeAllWhitespaceOnLeft:!1,wipeAllWhitespaceOnRight:!1,addSingleSpaceToPreventAccidentalConcatenation:!1};function E(e){var h;let r=/^[0-9a-zA-Z]+$/;function s(n){return!n||typeof n!="string"?!1:!n.trim()}function d(n){return typeof n=="string"}if(!e||typeof e!="object"||Array.isArray(e)){let n;throw e===void 0?n="but it is missing completely.":e===null?n="but it was given as null.":n=`but it was given as ${typeof e}, equal to:
${JSON.stringify(e,null,4)}.`,new Error(`string-range-expander: [THROW_ID_01] Input must be a plain object ${n}`)}else if(typeof e=="object"&&e!==null&&!Array.isArray(e)&&!Object.keys(e).length)throw new Error("string-range-expander: [THROW_ID_02] Input must be a plain object but it was given as a plain object without any keys.");if(typeof e.from!="number")throw new Error(`string-range-expander: [THROW_ID_03] The input's "from" value resolvedOpts.from, is not a number! Currently it's given as ${typeof e.from}, equal to ${JSON.stringify(e.from,null,0)}`);if(typeof e.to!="number")throw new Error(`string-range-expander: [THROW_ID_04] The input's "to" value resolvedOpts.to, is not a number! Currently it's given as ${typeof e.to}, equal to ${JSON.stringify(e.to,null,0)}`);if((e==null?void 0:e.str)&&!e.str[e.from]&&e.from!==e.to)throw new Error(`string-range-expander: [THROW_ID_05] The given input string resolvedOpts.str ("${e.str}") must contain the character at index "from" ("${e.from}")`);if((e==null?void 0:e.str)&&!e.str[e.to-1])throw new Error(`string-range-expander: [THROW_ID_06] The given input string, resolvedOpts.str ("${e.str}") must contain the character at index before "to" ("${e.to-1}")`);if(e.from>e.to)throw new Error(`string-range-expander: [THROW_ID_07] The given "from" index, "${e.from}" is greater than "to" index, "${e.to}". That's wrong!`);if(d(e.extendToOneSide)&&e.extendToOneSide!=="left"&&e.extendToOneSide!=="right"||!d(e.extendToOneSide)&&e.extendToOneSide!==void 0&&e.extendToOneSide!==!1)throw new Error(`string-range-expander: [THROW_ID_08] The resolvedOpts.extendToOneSide value is not recognisable! It's set to: "${e.extendToOneSide}" (${typeof e.extendToOneSide}). It has to be either Boolean "false" or strings "left" or "right"`);let i=u(u({},y),e);if(Array.isArray(i.ifLeftSideIncludesThisThenCropTightly)){let n,a;if(i.ifLeftSideIncludesThisThenCropTightly.every((c,$)=>d(c)?!0:(n=$,a=c,!1)))i.ifLeftSideIncludesThisThenCropTightly=i.ifLeftSideIncludesThisThenCropTightly.join("");else throw new Error(`string-range-expander: [THROW_ID_09] The resolvedOpts.ifLeftSideIncludesThisThenCropTightly was set to an array:
${JSON.stringify(i.ifLeftSideIncludesThisThenCropTightly,null,4)}. Now, that array contains not only string elements. For example, an element at index ${n} is of a type ${typeof a} (equal to ${JSON.stringify(a,null,0)}).`)}let t=i.str,o=i.from,l=i.to;if(i.extendToOneSide!=="right"&&(s(t[o-1])&&(s(t[o-2])||i.ifLeftSideIncludesThisCropItToo.includes(t[o-2]))||t[o-1]&&i.ifLeftSideIncludesThisCropItToo.includes(t[o-1])||i.wipeAllWhitespaceOnLeft&&s(t[o-1]))){for(let n=o;n--;)if(!i.ifLeftSideIncludesThisCropItToo.includes(t[n])){if(t[n].trim()){i.wipeAllWhitespaceOnLeft||i.ifLeftSideIncludesThisCropItToo.includes(t[n+1])?o=n+1:o=n+2;break}else if(n===0){i.wipeAllWhitespaceOnLeft?o=0:o=1;break}}}if(i.extendToOneSide!=="left"&&(s(t[l])&&(i.wipeAllWhitespaceOnRight||s(t[l+1]))||i.ifRightSideIncludesThisCropItToo.includes(t[l]))){for(let n=l,a=t.length;n<a;n++)if(!i.ifRightSideIncludesThisCropItToo.includes(t[n])&&((h=t[n])==null?void 0:h.trim())){i.wipeAllWhitespaceOnRight||i.ifRightSideIncludesThisCropItToo.includes(t[n-1])?l=n:l=n-1;break}}return(i.extendToOneSide!=="right"&&d(i.ifLeftSideIncludesThisThenCropTightly)&&i.ifLeftSideIncludesThisThenCropTightly&&(t[o-2]&&i.ifLeftSideIncludesThisThenCropTightly.includes(t[o-2])||t[o-1]&&i.ifLeftSideIncludesThisThenCropTightly.includes(t[o-1]))||i.extendToOneSide!=="left"&&d(i.ifRightSideIncludesThisThenCropTightly)&&i.ifRightSideIncludesThisThenCropTightly&&(t[l+1]&&i.ifRightSideIncludesThisThenCropTightly.includes(t[l+1])||t[l]&&i.ifRightSideIncludesThisThenCropTightly.includes(t[l])))&&(i.extendToOneSide!=="right"&&s(t[o-1])&&!i.wipeAllWhitespaceOnLeft&&(o-=1),i.extendToOneSide!=="left"&&s(t[l])&&!i.wipeAllWhitespaceOnRight&&(l+=1)),i.addSingleSpaceToPreventAccidentalConcatenation&&t[o-1]&&t[o-1].trim()&&t[l]&&t[l].trim()&&(!i.ifLeftSideIncludesThisThenCropTightly&&!i.ifRightSideIncludesThisThenCropTightly||!((!i.ifLeftSideIncludesThisThenCropTightly||i.ifLeftSideIncludesThisThenCropTightly.includes(t[o-1]))&&(!i.ifRightSideIncludesThisThenCropTightly||t[l]&&i.ifRightSideIncludesThisThenCropTightly.includes(t[l]))))&&(r.test(t[o-1])||r.test(t[l]))?[o,l," "]:[o,l]}return w(v);})();
{
"name": "string-range-expander",
"version": "3.0.12",
"version": "3.0.13",
"description": "Expands string index ranges within whitespace boundaries until letters are met",

@@ -5,0 +5,0 @@ "keywords": [

@@ -29,3 +29,3 @@ # string-range-expander

The latest version is **ESM only**: Node 12+ is needed to use it and it must be `import`ed instead of `require`d. If your project is not on ESM yet and you want to use `require`, use an older version of this program, `2.1.0`.
This package is [pure ESM](https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c). If you're not ready yet, install an older version of this program, 2.1.0 (`npm i string-range-expander@2.1.0`).

@@ -32,0 +32,0 @@ ```bash

@@ -20,4 +20,4 @@ declare type Range =

declare const defaults: Opts;
declare function expander(originalOpts: Partial<Opts>): Range;
declare function expander(opts: Partial<Opts>): Range;
export { defaults, expander, version };
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc