@fewings/core
Version:
Useful pure functions for frontend development
2 lines (1 loc) • 1.45 kB
JavaScript
;var s=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var u=Object.prototype.hasOwnProperty;var c=(r,t)=>{for(var e in t)s(r,e,{get:t[e],enumerable:!0})},l=(r,t,e,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of p(t))!u.call(r,o)&&o!==e&&s(r,o,{get:()=>t[o],enumerable:!(n=i(t,o))||n.enumerable});return r};var m=r=>l(s({},"__esModule",{value:!0}),r);var w={};c(w,{parseArgv:()=>x,percentToRatio:()=>C,ratioToPercent:()=>$,secondToTime:()=>f,toCamelCase:()=>b,toKebabCase:()=>h,toPascalCase:()=>a,withCommas:()=>g});module.exports=m(w);function g(r){let t=typeof r=="number"?r.toString():r,[e,n]=t.split("."),o=e.replace(/\B(?=(\d{3})+(?!\d))/g,",");return n?`${o}.${n}`:o}function f(r,t){return t==="h"?{h:Math.floor(r/3600),m:Math.floor(r%3600/60),s:Math.floor(r%60)}:{h:0,m:Math.floor(r/60),s:Math.floor(r%60)}}var a=r=>r.replace(/([a-z])([A-Z])/g,"$1 $2").replace(/[-_]/g," ").replace(/\w\S*/g,t=>t.charAt(0).toUpperCase()+t.substring(1).toLowerCase()).replace(/\s/g,""),b=r=>a(r).replace(/^[A-Z]/,t=>t.toLowerCase()),h=r=>r.replace(/([a-z])([A-Z])/g,"$1-$2").replace(/[_\s]/g,"-").toLowerCase();function x(r){let t={};for(let e=2;e<r.length;e++)if(r[e].startsWith("--")){let n=r[e].slice(2),o=r[e+1]&&!r[e+1].startsWith("--")?r[e+1]:!0;t[n]=o,o!==!0&&e++}return t}var C=r=>typeof r=="number"?r/100:parseFloat(r)/100,$=(r,t)=>{let e=r*100;return`${t?e.toFixed(t):e}%`};