UNPKG

@visulima/string

Version:

Functions for manipulating strings.

2 lines (1 loc) 1.02 kB
import{c}from"../packem_shared/constants-aPzGW29R.js";import{i as m}from"../packem_shared/lru-cache-BtMSrYQJ.js";import{splitByCase as p}from"./split-by-case.js";import{n as f}from"../packem_shared/generate-cache-key-BqU1Cqwm.js";import h from"../packem_shared/joinSegments-CaHT-45s.js";import{a as A}from"../packem_shared/normalize-german-eszett-hNMwtGjd.js";const d=new m(1e3),L=(s,o)=>{if(typeof s!="string")return"";const n=o?.cache??!1,e=o?.cacheStore??d;let r;if(n&&(r=f(s,o)),n&&r&&e.has(r))return e.get(r);const l=p(s,{handleAnsi:o?.handleAnsi,handleEmoji:o?.handleEmoji,knownAcronyms:o?.knownAcronyms,locale:o?.locale,normalize:o?.normalize,separators:void 0,stripAnsi:o?.stripAnsi,stripEmoji:o?.stripEmoji}).map(t=>{if(o?.handleAnsi&&c.test(t))return t;if(o?.toUpperCase)return o.locale?t.toLocaleUpperCase(o.locale):t.toUpperCase();const a=o?.locale?.startsWith("de")?A(t):t;return o?.locale?a.toLocaleLowerCase(o.locale):a.toLowerCase()}),i=h(l,o?.joiner??"-");return n&&r&&e.set(r,i),i};export{L as kebabCase};