UNPKG

ivt

Version:

Ivt Components Library

1 lines 3.02 kB
{"version":3,"file":"string-DRS4HkY8.mjs","sources":["../../src/utils/string.ts"],"sourcesContent":["const specialCharacterMap = [\n\t[\"á\", \"a\"],\n\t[\"à\", \"a\"],\n\t[\"ã\", \"a\"],\n\t[\"â\", \"a\"],\n\t[\"é\", \"e\"],\n\t[\"ê\", \"e\"],\n\t[\"í\", \"i\"],\n\t[\"ì\", \"i\"],\n\t[\"ó\", \"o\"],\n\t[\"ô\", \"o\"],\n\t[\"õ\", \"o\"],\n\t[\"ú\", \"u\"],\n\t[\"ù\", \"u\"],\n\t[\"ç\", \"c\"],\n] as const;\n\nconst lowercaseExceptions = [\"de\", \"da\", \"do\", \"das\", \"dos\", \"em\", \"para\", \"por\", \"a\", \"e\", \"o\"];\n\n/**\n * Remove acentos e caracteres especiais, mantendo letras equivalentes.\n */\nexport function removeSpecialCharacters(value: string): string {\n\tlet result = `${value}`.trim();\n\tfor (const [char, replacement] of specialCharacterMap) {\n\t\tresult = result.split(char).join(replacement);\n\t\tresult = result.split(char.toUpperCase()).join(replacement.toUpperCase());\n\t}\n\treturn result;\n}\n\n/**\n * Capitaliza cada palavra (primeira letra maiúscula).\n */\nexport function capitalize(value: string): string {\n\tif (!value) return \"\";\n\treturn value\n\t\t.toLowerCase()\n\t\t.split(\" \")\n\t\t.map((word) => word.charAt(0).toUpperCase() + word.slice(1))\n\t\t.join(\" \");\n}\n\n/**\n * Capitaliza ignorando preposições como \"de\", \"da\", etc.\n * Também normaliza acentos antes da capitalização.\n */\nexport function capitalizeSpecial(value: string): string {\n\tif (!value) return \"\";\n\n\tconst clean = removeSpecialCharacters(value.toLowerCase());\n\n\treturn clean\n\t\t.split(\" \")\n\t\t.map((word, index) => {\n\t\t\tif (index !== 0 && lowercaseExceptions.includes(word)) {\n\t\t\t\treturn word.toLowerCase();\n\t\t\t}\n\t\t\treturn word.charAt(0).toUpperCase() + word.slice(1);\n\t\t})\n\t\t.join(\" \");\n}\n"],"names":["specialCharacterMap","removeSpecialCharacters","value","result","trim","char","replacement","split","join","toUpperCase"],"mappings":"AAAA,MAAMA,mBAAAA,GAAsB;AAC3B,IAAA;AAAC,QAAA,GAAA;AAAK,QAAA;AAAI,KAAA;AACV,IAAA;AAAC,QAAA,GAAA;AAAK,QAAA;AAAI,KAAA;AACV,IAAA;AAAC,QAAA,GAAA;AAAK,QAAA;AAAI,KAAA;AACV,IAAA;AAAC,QAAA,GAAA;AAAK,QAAA;AAAI,KAAA;AACV,IAAA;AAAC,QAAA,GAAA;AAAK,QAAA;AAAI,KAAA;AACV,IAAA;AAAC,QAAA,GAAA;AAAK,QAAA;AAAI,KAAA;AACV,IAAA;AAAC,QAAA,GAAA;AAAK,QAAA;AAAI,KAAA;AACV,IAAA;AAAC,QAAA,GAAA;AAAK,QAAA;AAAI,KAAA;AACV,IAAA;AAAC,QAAA,GAAA;AAAK,QAAA;AAAI,KAAA;AACV,IAAA;AAAC,QAAA,GAAA;AAAK,QAAA;AAAI,KAAA;AACV,IAAA;AAAC,QAAA,GAAA;AAAK,QAAA;AAAI,KAAA;AACV,IAAA;AAAC,QAAA,GAAA;AAAK,QAAA;AAAI,KAAA;AACV,IAAA;AAAC,QAAA,GAAA;AAAK,QAAA;AAAI,KAAA;AACV,IAAA;AAAC,QAAA,GAAA;AAAK,QAAA;AAAI;AACV,CAAA;AAID;;IAGO,SAASC,uBAAAA,CAAwBC,KAAa,EAAA;AACpD,IAAA,IAAIC,MAAAA,GAAS,CAAA,EAAGD,KAAAA,CAAAA,CAAO,CAACE,IAAI,EAAA;AAC5B,IAAA,KAAK,MAAM,CAACC,IAAAA,EAAMC,WAAAA,CAAY,IAAIN,mBAAAA,CAAqB;AACtDG,QAAAA,MAAAA,GAASA,MAAAA,CAAOI,KAAK,CAACF,IAAAA,CAAAA,CAAMG,IAAI,CAACF,WAAAA,CAAAA;QACjCH,MAAAA,GAASA,MAAAA,CAAOI,KAAK,CAACF,IAAAA,CAAKI,WAAW,EAAA,CAAA,CAAID,IAAI,CAACF,WAAAA,CAAYG,WAAW,EAAA,CAAA;AACvE,IAAA;IACA,OAAON,MAAAA;AACR;;;;"}