UNPKG

@visulima/string

Version:

Functions for manipulating strings.

3 lines (2 loc) 783 B
"use strict";var d=Object.defineProperty;var g=(t,e)=>d(t,"name",{value:e,configurable:!0});Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const h=require("./get-string-width.cjs");var c=Object.defineProperty,a=g((t,e)=>c(t,"name",{value:e,configurable:!0}),"n");const p=a((t,e)=>Math.floor((t-e)/2),"halfDiff"),m=a((t,e)=>t-e,"fullDiff"),S=a((t,e={})=>{const l=e.align??"center";if(l==="left")return t;const o=e.split??` `,f=e.pad??" ",u=l==="right"?m:p;let s=!1;Array.isArray(t)||(s=!0,t=String(t).split(o));let i,n=0;return t=t.map(r=>(r=String(r),i=h.getStringWidth(r,e.stringWidthOptions),n=Math.max(i,n),{str:r,width:i})).map(r=>Array.from({length:u(n,r.width)+1}).join(f)+r.str),s?t.join(o):t},"alignText");exports.alignText=S;