UNPKG

@alessiofrittoli/web-utils

Version:
1 lines 2.31 kB
import {isValidDate}from'@alessiofrittoli/date-utils';import {isNumeric}from'@alessiofrittoli/math-utils';var f=t=>t instanceof Promise;var m=t=>typeof t=="string"||t instanceof String;var u=t=>t.trim().length>0,x=t=>!u(t);var i=t=>t.replace(/[-\\^$*+?.()|[\]{}]/g,"\\$&");var v=t=>t.charAt(0).toUpperCase()+t.slice(1),D=t=>t.charAt(0).toLowerCase()+t.slice(1),Z=t=>d(t).replace(/[-_\s](.)/g,(e,n)=>n.toUpperCase()),d=t=>t.replace(/\s+/g,"-").replace(/_/g,"-").replace(/([A-Z])/g,"-$1").replace(/[^a-zA-Z0-9-]/g,"-").replace(/--+/g,"-").toLowerCase(),O=t=>f(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()||"",j=t=>{if(t&&!(m(t)&&x(t))){if(isNumeric(t))return parseFloat(t);try{let e=new Date(t);return isValidDate(e)?e:JSON.parse(t)}catch{return t}}},P=(t,e,n=e)=>{if(typeof t!="string")throw new TypeError("Input must be a string.");let r=n instanceof RegExp?n:new RegExp(`^[${i(n)}]?`);return t.replace(r,e)},k=(t,e)=>{if(typeof t!="string")throw new TypeError("Input must be a string.");let n=e instanceof RegExp?e:new RegExp(`^[${i(e)}]+`);return t.replace(n,"")},I=(t,e,n=e)=>{if(typeof t!="string")throw new TypeError("Input must be a string.");let r=n instanceof RegExp?n:new RegExp(`[${i(n)}]?$`);return t.replace(r,e)},V=(t,e)=>{if(typeof t!="string")throw new TypeError("Input must be a string.");let n=e instanceof RegExp?e:new RegExp(`[${i(e)}]?$`);return t.replace(n,"")},a=t=>Array.isArray(t)?t.filter(Boolean).map(e=>{if(typeof e!="string"){if(!e.email)return null;let n=e.name?.trim(),r=e.email.trim();return n?`${n}<${r}>`:r}return e.trim()}).filter(Boolean).join(","):a([t]),F=(t={})=>{let{to:e,body:n,subject:r,cc:g,bcc:b}=t,s=new URLSearchParams;if(n&&s.append("body",n),r&&s.append("subject",r),g){let o=a(g);o&&s.append("cc",o);}if(b){let o=a(b);o&&s.append("bcc",o);}return ["mailto:",e&&a(e),s.size>0&&`?${s.toString().replace(/\+/g," ")}`].filter(Boolean).join("")};export{P as addLeadingCharacter,I as addTrailingCharacter,F as emailDataToString,D as lcFirst,j as parseValue,a as recipientsToString,k as removeLeadingCharacter,V as removeTrailingCharacter,O as stringifyValue,Z as toCamelCase,d as toKebabCase,v as ucFirst};