UNPKG

@altostra/core

Version:

Core library for shared types and logic

1 lines 774 B
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.parseBoolean=exports.falseValues=exports.trim=void 0;const whiteSpacesRX=/\s/,defaultTrimOptions={skipStart:!1,skipEnd:!1,trimPredicate:whiteSpacesRX.test.bind(whiteSpacesRX)};function trim(e,t){const{skipStart:s,skipEnd:o,trimPredicate:r}=Object.assign(Object.assign({},defaultTrimOptions),t),i=[];if(s&&o)return e;if(o){let t=!0;for(const s of e)t&&r(s)||(t=!1,i.push(s))}else{let t=[];for(const o of e)r(o)?(i.length>0||s)&&t.push(o):(t.length>0&&(i.push(...t),t=[]),i.push(o))}return i.join("")}function parseBoolean(e){const t=e.trim().toLowerCase();return!exports.falseValues.has(t)}exports.trim=trim,exports.falseValues=new Set(["0","","no","false","off"]),exports.parseBoolean=parseBoolean;