Orientação gerada a partir de informações públicas. Apenas para referência.
O pacote change_case estende a classe String no Dart com métodos convenientes para converter texto entre vários formatos de caixa, incluindo camelCase, PascalCase, snake_case, param-case e CONSTANT_CASE. Ele simplifica tarefas comuns de transformação de strings em desenvolvimento de aplicativos, como formatar respostas da API, gerar identificadores dinâmicos ou garantir convenções de nomeação consistentes em bases de código. O pacote é leve e suporta todas as principais plataformas, tornando-o ideal para aplicações Flutter multiplataforma que exigem manipulação robusta de texto.
Casos de uso
Formatar chaves de resposta da API
Gerando nomes de variáveis consistentes
Convertendo a entrada do usuário para formatos padronizados
Criando strings amigáveis para URLs
Gerenciamento de nomeação de chave de configuração
Simplificando fluxos de trabalho de geração de código
Principais recursos
Extende String com métodos de conversão
Suporta múltiplos formatos de caixa
Leve e fácil de integrar
Compatibilidade multiplataforma
Sem dependências externas
Sintaxe limpa e legível
Indicado para
Desenvolvedores Flutter que precisam de formatação de string
Projetos com convenções de nomeação rígidas
pipelines de processamento de dados da API
Ferramentas de geração de código
Aplicativos que exigem normalização de URL ou identificador
Considerações
Não trata regras linguísticas complexas
Limitado a padrões de capitalização pré-definidos
Não adequado para processamento avançado de texto
Requer tratamento manual de casos de borda
Nenhuma validação embutida para entradas inválidas
README original
Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.
Change Case
Transform a string between camelCase, PascalCase, Capital Case, snake_case, param-case, CONSTANT_CASE and others.
Transform into a string with random capitalization applied.
'Test String'.toSpongeCase(); // 'tEst stRINg'
Configuration
package:change_case has a configuration file, ChangeCaseConfig, that you can use to update splitPatterns, stripPatterns, and the placeholder which will be applied to most
function listed above.
I don't suggest changing these unless you know what you are doing 😁
Patterns
Change case uses RegExp to split & replace characters of the string.
While they are great at what they do, you may want to update or add new patterns.
These patterns can be updated by using the ChangeCaseConfig.setUp(splitPatterns: [...], stripPatterns: [...])
The default patterns are:
Note: (?:•)* is used to match any "•" (placeholder) character.
Split
ChangeCaseConfig.lowerOrNumToUpperPattern
// matches lowercase or numeric char to uppercase charRegExp('([a-z0-9])(?:•)*([A-Z])')
ChangeCaseConfig.lowerOrNumToUpperPattern
// matches uppercase char to uppercase followed by lowercase charRegExp('([A-Z])(?:•)*([A-Z][a-z])')
Strip
ChangeCaseConfig.upperToLowerPattern
// matches any non-alphanumeric charRegExp('[^A-Z0-9]+', caseSensitive: false)
ChangeCaseConfig.lowerToNumOrUpperPattern (Not included in default, but can be used to add or replace)
// matches lowercase char to numeric or uppercase char// changes the behavior to `word2019 -> word 2019` and `minifyURLs -> minify urls`RegExp('([a-z])([A-Z0-9])')