string-trim-spaces-only
Version:
Like String.trim() but you can choose granularly what to trim
19 lines (17 loc) • 5.33 kB
JavaScript
/**
* @name string-trim-spaces-only
* @fileoverview Like String.trim() but you can choose granularly what to trim
* @version 5.2.1
* @author Roy Revelt
* @license MIT
* {@link https://codsen.com/os/string-trim-spaces-only/}
*/
;var stringTrimSpacesOnly=(()=>{var g=Object.defineProperty;var B=Object.getOwnPropertyDescriptor;var I=Object.getOwnPropertyNames,A=Object.getOwnPropertySymbols;var S=Object.prototype.hasOwnProperty,M=Object.prototype.propertyIsEnumerable;var $=(t,n,e)=>n in t?g(t,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[n]=e,b=(t,n)=>{for(var e in n||(n={}))S.call(n,e)&&$(t,e,n[e]);if(A)for(var e of A(n))M.call(n,e)&&$(t,e,n[e]);return t};var T=(t,n)=>{for(var e in n)g(t,e,{get:n[e],enumerable:!0})},L=(t,n,e,i)=>{if(n&&typeof n=="object"||typeof n=="function")for(let o of I(n))!S.call(t,o)&&o!==e&&g(t,o,{get:()=>n[o],enumerable:!(i=B(n,o))||i.enumerable});return t};var V=t=>L(g({},"__esModule",{value:!0}),t);var J={};T(J,{defaults:()=>j,trimSpaces:()=>H,version:()=>_});function P(){let t=[],n=0,e=!1;return{append(i){return e?!1:n+i.length>1999?(t.push("\u2026"),n+=1,e=!0,!1):(t.push(i),n+=i.length,!0)},result(){return t.join("")},stopped(){return e}}}function N(t){return"\\u".concat(t.toString(16).padStart(4,"0"))}function m(t,n){if(t.append('"')){for(let e=0;e<n.length&&!t.stopped();e+=1){let i=n.charCodeAt(e);i===34?t.append('\\"'):i===92?t.append("\\\\"):i===8?t.append("\\b"):i===9?t.append("\\t"):i===10?t.append("\\n"):i===12?t.append("\\f"):i===13?t.append("\\r"):i<32||i===8232||i===8233||i>=55296&&i<=57343?t.append(N(i)):t.append(n[e])}t.append('"')}}function U(t){return t.get&&t.set?"[Getter/Setter]":t.get?"[Getter]":t.set?"[Setter]":"[Accessor]"}function x(t,n){t.append("Symbol(");let e=String(n);e.length>8&&m(t,e.slice(7,-1)),t.append(")")}function C(t,n){typeof n=="symbol"?x(t,n):m(t,String(n))}function k(t,n=0){let e=P(),i=n===4?4:0,o=new WeakSet,u=0;function l(r){i&&e.append(" ".repeat(r*i))}function h(r,s){r&&e.append(","),i&&(e.append("\n"),l(s+1))}function y(r,s,a){i&&s&&(e.append("\n"),l(a)),e.append(r)}function v(r,s){Object.prototype.hasOwnProperty.call(r,"value")?w(r.value,s):e.append(U(r))}function E(r,s){let a;try{a=Reflect.getOwnPropertyDescriptor(r,"length")}catch(c){e.append("[Uninspectable]");return}let f=a==null?void 0:a.value;if(!Number.isSafeInteger(f)||f<0){e.append("[Uninspectable]");return}e.append("[");let p=!1;for(let c=0;c<f&&!e.stopped();c+=1){if(h(p,s),p=!0,u>=50){e.append("[MaxEntries]");break}u+=1;let d;try{d=Reflect.getOwnPropertyDescriptor(r,String(c))}catch(Q){e.append("[Uninspectable]");continue}d!=null&&d.enumerable?v(d,s+1):e.append("[Empty]")}y("]",p,s)}function R(r,s){let a;try{a=Reflect.ownKeys(r)}catch(p){e.append("[Uninspectable]");return}e.append("{");let f=!1;for(let p of a){if(e.stopped())break;if(u>=50){h(f,s),f=!0,m(e,"\u2026"),e.append(i?": ":":"),e.append("[MaxEntries]");break}u+=1;let c;try{c=Reflect.getOwnPropertyDescriptor(r,p)}catch(d){h(f,s),f=!0,C(e,p),e.append(i?": ":":"),e.append("[Uninspectable]");continue}c!=null&&c.enumerable&&(h(f,s),f=!0,C(e,p),e.append(i?": ":":"),v(c,s+1))}y("}",f,s)}function W(r,s){if(o.has(r)){e.append("[Circular]");return}if(s>=5){e.append("[MaxDepth]");return}let a;try{a=Array.isArray(r)}catch(f){e.append("[Uninspectable]");return}o.add(r);try{a?E(r,s):R(r,s)}finally{o.delete(r)}}function w(r,s){r===null?e.append("null"):typeof r=="string"?m(e,r):typeof r=="number"?e.append(Object.is(r,-0)?"-0":String(r)):typeof r=="boolean"?e.append(r?"true":"false"):typeof r>"u"?e.append("undefined"):typeof r=="bigint"?e.append("".concat(r,"n")):typeof r=="symbol"?x(e,r):typeof r=="function"?e.append("[Function]"):W(r,s)}try{return w(t,0),e.result()}catch(r){return"[Uninspectable]"}}var z=new Set([..."\u060B$\u20BC\u17DB\xA5\u20A1\u20B1\xA3\u20AC\xA2\u20B9\uFDFC\u20AA\u20A9\u20AD\u20A8\u20AE\u20A6\u20BD\u20AB\u0E3F\u20A9\u20BA\u20B4","$U","$b","B/.","BZ$","Br","Bs","C$","CHF","Ft","Gs","J$","KM","K\u010D","L","MT","NT$","P","Q","R","R$","RD$","RM","Rp","S","S/.","TT$","Z$","kn","kr","lei","z\u0142","\u0192","\u0414\u0438\u043D.","\u0434\u0435\u043D","\u043B\u0432","\u062F.\u0625","Lek"]);var O,G=(O=Object.getOwnPropertyDescriptor(RegExp.prototype,"source"))==null?void 0:O.get;var Y=Date.prototype.getTime;var D="5.2.1";var _=D,j={classicTrim:!1,cr:!1,lf:!1,tab:!1,space:!0,nbsp:!1};function H(t,n){if(typeof t!="string")throw new Error("string-trim-spaces-only/trimSpaces(): [THROW_ID_01] input must be string! It was given as ".concat(typeof t,", equal to:\n").concat(k(t,4)));let e=b(b({},j),n);function i(l){return e.classicTrim&&!l.trim()||!e.classicTrim&&(e.space&&l===" "||e.cr&&l==="\r"||e.lf&&l==="\n"||e.tab&&l===" "||e.nbsp&&l==="\xA0")}let o,u;if(t.length){if(i(t[0]))for(let l=0,h=t.length;l<h;l++){if(!i(t[l])){o=l;break}if(l===t.length-1)return{res:"",ranges:[[0,t.length]]}}if(i(t[t.length-1])){for(let l=t.length;l--;)if(!i(t[l])){u=l+1;break}}return o?u?{res:t.slice(o,u),ranges:[[0,o],[u,t.length]]}:{res:t.slice(o),ranges:[[0,o]]}:u?{res:t.slice(0,u),ranges:[[u,t.length]]}:{res:t,ranges:[]}}return{res:"",ranges:[]}}return V(J);})();
/**
* @name codsen-utils
* @fileoverview Various utility functions
* @version 1.9.0
* @author Roy Revelt
* @license MIT
* {@link https://codsen.com/os/codsen-utils/}
*/