{"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"}