UNPKG

bootstrap-vue-next

Version:

BootstrapVueNext is an early and lovely component library for Vue 3 & Nuxt 3 based on Bootstrap 5 and Typescript.

1 lines 2.51 kB
{"version":3,"file":"stringUtils-B4XdnJx5.mjs","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"],"names":[],"mappings":";AAaO,MAAM,YAAY,CAAC,QACxB,IACG,QAAQ,eAAe,GAAG,EAC1B,QAAQ,gBAAgB,CAAC,GAAG,IAAI,OAAO,GAAG,EAAE,IAAI,EAAE,EAAE,EACpD,QAAQ,2BAA2B,CAAC,GAAG,IAAI,OAAO,KAAK,GAAG,YAAa,CAAA;AAMrE,MAAM,YAAY,CAAC,QACxB,IACG,QAAQ,eAAe,GAAG,EAC1B,QAAQ,gBAAgB,CAAC,GAAG,IAAI,OAAO,GAAG,EAAE,IAAI,EAAE,EAAE,EACpD,QAAQ,qBAAqB,CAAC,GAAG,IAAI,OAAO,KAAK,GAAG,YAAa,CAAA;AAQzD,MAAA,aAAa,CAAC,QAAwB;AAC3C,QAAA,OAAO,IAAI,KAAK;AACf,SAAA,KAAK,OAAO,CAAC,EAAE,gBAAgB,KAAK,MAAM,CAAC;AACpD;AAQO,MAAM,eAAe,CAAC,QAAwB,IAAI,QAAQ,mBAAmB,MAAM;AAS7E,MAAA,oBAAoB,CAAC,QAChC,aAAa,GAAG,EAAE,QAAQ,WAAW,KAAK;AAE/B,MAAA,eAAe,CAAC,QAC3B,IAEG,QAAQ,OAAO,CAAC,UAAU,MAAM,OAAO,CAAC,EAAE,aAAa,EAEvD,QAAQ,SAAS,CAAC,UAAU,MAAM,aAAa,EAC/C,QAAQ,QAAQ,EAAE;"}