@alessiofrittoli/web-utils
Version:
Common TypeScript web utilities
1 lines • 1.76 kB
JavaScript
import {isValidDate}from'@alessiofrittoli/date-utils';import {isNumeric}from'@alessiofrittoli/math-utils';var a=t=>t instanceof Promise;var c=t=>typeof t=="string"||t instanceof String;var b=t=>t.trim().length>0,g=t=>!b(t);var r=t=>t.replace(/[-\\^$*+?.()|[\]{}]/g,"\\$&");var S=t=>t.charAt(0).toUpperCase()+t.slice(1),C=t=>t.charAt(0).toLowerCase()+t.slice(1),L=t=>f(t).replace(/[-_\s](.)/g,(e,n)=>n.toUpperCase()),f=t=>t.replace(/\s+/g,"-").replace(/_/g,"-").replace(/([A-Z])/g,"-$1").replace(/[^a-zA-Z0-9-]/g,"-").replace(/--+/g,"-").toLowerCase(),N=t=>a(t)||typeof t=="function"?"":t instanceof Date&&isValidDate(t)?t.toISOString():t instanceof Map||t instanceof Headers?JSON.stringify(Array.from(t.entries())):typeof t=="object"?JSON.stringify(t):t?.toString()||"",v=t=>{if(t&&!(c(t)&&g(t))){if(isNumeric(t))return parseFloat(t);try{let e=new Date(t);return isValidDate(e)?e:JSON.parse(t)}catch{return t}}},Z=(t,e,n=e)=>{if(typeof t!="string")throw new TypeError("Input must be a string.");let s=n instanceof RegExp?n:new RegExp(`^[${r(n)}]?`);return t.replace(s,e)},O=(t,e)=>{if(typeof t!="string")throw new TypeError("Input must be a string.");let n=e instanceof RegExp?e:new RegExp(`^[${r(e)}]+`);return t.replace(n,"")},$=(t,e,n=e)=>{if(typeof t!="string")throw new TypeError("Input must be a string.");let s=n instanceof RegExp?n:new RegExp(`[${r(n)}]?$`);return t.replace(s,e)},k=(t,e)=>{if(typeof t!="string")throw new TypeError("Input must be a string.");let n=e instanceof RegExp?e:new RegExp(`[${r(e)}]?$`);return t.replace(n,"")};export{Z as addLeadingCharacter,$ as addTrailingCharacter,C as lcFirst,v as parseValue,O as removeLeadingCharacter,k as removeTrailingCharacter,N as stringifyValue,L as toCamelCase,f as toKebabCase,S as ucFirst};