UNPKG

bootstrap-vue-next

Version:

Seamless integration of Vue 3, Bootstrap 5, and TypeScript for modern, type-safe UI development

1 lines 2.48 kB
{"version":3,"file":"stringUtils-CslYpDTt.mjs","names":[],"sources":["../src/utils/stringUtils.ts"],"sourcesContent":["import {\n RX_FIRST_START_SPACE_WORD,\n RX_LOWER_UPPER,\n RX_REGEXP_REPLACE,\n RX_SPACES,\n RX_START_SPACE_WORD,\n RX_UNDERSCORE,\n} from './constants'\n\n/**\n * @param str\n * @returns\n */\nexport const startCase = (str: string): string =>\n str\n .replace(RX_UNDERSCORE, ' ')\n .replace(RX_LOWER_UPPER, (_, $1, $2) => `${$1} ${$2}`)\n .replace(RX_FIRST_START_SPACE_WORD, (_, $1, $2) => $1 + $2.toUpperCase())\n\n/**\n * @param str\n * @returns\n */\nexport const titleCase = (str: string): string =>\n str\n .replace(RX_UNDERSCORE, ' ')\n .replace(RX_LOWER_UPPER, (_, $1, $2) => `${$1} ${$2}`)\n .replace(RX_START_SPACE_WORD, (_, $1, $2) => $1 + $2.toUpperCase())\n\n/**\n * Uppercases the first letter of a string and returns a new string\n *\n * @param str\n * @returns\n */\nexport const upperFirst = (str: string): string => {\n const trim = str.trim()\n return trim.charAt(0).toUpperCase() + trim.slice(1)\n}\n\n/**\n * Escapes a string for RegExp usage.\n *\n * @param str\n * @returns\n */\nexport const escapeRegExp = (str: string): string => str.replace(RX_REGEXP_REPLACE, '\\\\$&')\n\n/**\n * Escapes special chars in string and replaces\n * contiguous spaces with a whitespace match\n *\n * @param str\n * @returns\n */\nexport const escapeRegExpChars = (str: string): string =>\n escapeRegExp(str).replace(RX_SPACES, '\\\\s')\n\nexport const toPascalCase = (str: string) =>\n str\n // Convert kebab-case to Pascal case\n .replace(/-./g, (match) => match.charAt(1).toUpperCase())\n // Capitalize the first letter of each word\n .replace(/\\b\\w/g, (match) => match.toUpperCase())\n .replace(/\\s+/g, '') // Remove any spaces\n"],"mappings":";;;;;;AAaA,IAAa,aAAa,QACxB,IACG,QAAQ,eAAe,IAAI,CAC3B,QAAQ,iBAAiB,GAAG,IAAI,OAAO,GAAG,GAAG,GAAG,KAAK,CACrD,QAAQ,4BAA4B,GAAG,IAAI,OAAO,KAAK,GAAG,aAAa,CAAC;;;;;AAM7E,IAAa,aAAa,QACxB,IACG,QAAQ,eAAe,IAAI,CAC3B,QAAQ,iBAAiB,GAAG,IAAI,OAAO,GAAG,GAAG,GAAG,KAAK,CACrD,QAAQ,sBAAsB,GAAG,IAAI,OAAO,KAAK,GAAG,aAAa,CAAC;;;;;;;AAQvE,IAAa,cAAc,QAAwB;CACjD,MAAM,OAAO,IAAI,MAAM;AACvB,QAAO,KAAK,OAAO,EAAE,CAAC,aAAa,GAAG,KAAK,MAAM,EAAE;;;;;;;;AASrD,IAAa,gBAAgB,QAAwB,IAAI,QAAQ,mBAAmB,OAAO;;;;;;;;AAS3F,IAAa,qBAAqB,QAChC,aAAa,IAAI,CAAC,QAAQ,WAAW,MAAM;AAE7C,IAAa,gBAAgB,QAC3B,IAEG,QAAQ,QAAQ,UAAU,MAAM,OAAO,EAAE,CAAC,aAAa,CAAC,CAExD,QAAQ,UAAU,UAAU,MAAM,aAAa,CAAC,CAChD,QAAQ,QAAQ,GAAG"}