{"version":3,"file":"pascalCase.mjs","names":[],"sources":["../../src/string/pascalCase.ts"],"sourcesContent":["/**\n * Converts string to pascal case.\n *\n * @param str - The string to convert\n * @returns The pascal cased string\n *\n * @example\n * pascalCase('foo bar') // => 'FooBar'\n * pascalCase('--foo-bar--') // => 'FooBar'\n * pascalCase('foo_bar') // => 'FooBar'\n */\nexport function pascalCase(str: string): string {\n  if (typeof str !== 'string') {\n    return '';\n  }\n\n  // First, insert separators before uppercase letters (for camelCase/PascalCase)\n  let normalized = str.replace(/([a-z])([A-Z])/g, '$1-$2').replace(/([A-Z])([A-Z][a-z])/g, '$1-$2');\n\n  // Split by non-alphanumeric characters and filter empty strings\n  const words = normalized.split(/[-_\\s]+/).filter((word) => word.length > 0);\n\n  if (words.length === 0) {\n    return '';\n  }\n\n  // Convert all words to title case\n  return words.map((word) => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase()).join('');\n}\n"],"mappings":";;;;;;;;;;;;AAWA,SAAgB,WAAW,KAAqB;CAC9C,IAAI,OAAO,QAAQ,UACjB,OAAO;CAOT,MAAM,QAHW,IAAI,QAAQ,mBAAmB,OAAO,CAAC,CAAC,QAAQ,wBAAwB,OAGlE,CAAC,CAAC,MAAM,SAAS,CAAC,CAAC,QAAQ,SAAS,KAAK,SAAS,CAAC;CAE1E,IAAI,MAAM,WAAW,GACnB,OAAO;CAIT,OAAO,MAAM,KAAK,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,YAAY,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,EAAE;AAChG"}