string-collapse-leading-whitespace
Version:
Collapse the leading and trailing whitespace of a string
14 lines (12 loc) • 1.65 kB
JavaScript
/**
* @name string-collapse-leading-whitespace
* @fileoverview Collapse the leading and trailing whitespace of a string
* @version 7.0.9
* @author Roy Revelt, Codsen Ltd
* @license MIT
* {@link https://codsen.com/os/string-collapse-leading-whitespace/}
*/
;var stringCollapseLeadingWhitespace=(()=>{var p=Object.defineProperty;var b=Object.getOwnPropertyDescriptor;var y=Object.getOwnPropertyNames;var E=Object.prototype.hasOwnProperty;var D=(l,t)=>{for(var r in t)p(l,r,{get:t[r],enumerable:!0})},V=(l,t,r,c)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of y(t))!E.call(l,s)&&s!==r&&p(l,s,{get:()=>t[s],enumerable:!(c=b(t,s))||c.enumerable});return l};var N=l=>V(p({},"__esModule",{value:!0}),l);var O={};D(O,{collWhitespace:()=>J,version:()=>v});var a="7.0.9";var v=a;function J(l,t=1){let r="\xA0";function c(e){return Array.from(e).reverse().join("")}function s(e,i,$){let o=$?`
`:"\r",g=$?"\r":`
`;if(!e)return e;let f=0,m=0,u="";for(let n=0,d=e.length;n<d;n++)(e[n]===o||e[n]===g&&e[n-1]!==o)&&m++,`\r
`.includes(e[n])||e[n]===r?(f=0,e[n]===r?u+=e[n]:e[n]===o?m<=i&&(u+=e[n],e[n+1]===g&&(u+=e[n+1],n++)):e[n]===g&&(e==null?void 0:e[n-1])!==o&&m<=i&&(u+=e[n])):(f++,!e[n+1]&&!m&&(u+=" "));return u}if(typeof l=="string"&&l.length){let e=1;typeof+t=="number"&&Number.isInteger(+t)&&+t>=0&&(e=+t);let i="",$="";if(!l.trim())i=l;else if(!l[0].trim()){for(let o=0,g=l.length;o<g;o++)if(l[o].trim()){i=l.slice(0,o);break}}if(l.trim()&&(l.slice(-1).trim()===""||l.slice(-1)===r)){for(let o=l.length;o--;)if(l[o].trim()){$=l.slice(o+1);break}}return`${s(i,e,!1)}${l.trim()}${c(s(c($),e,!0))}`}return l}return N(O);})();