Buscar pacotes, repositórios e categorias de apps

Detalhes do pacotev2.2.0

change_case

Uma extensão para String para os métodos ausentes para camelCase, PascalCase, Capital Case, snake_case, param-case, CONSTANT_CASE e outros.

AndroidiOSWebmacOSWindowsLinux
Downloads em 30 dias
181 mil
Curtidas
71
Pontos Pub
160

Instalar pacote

flutter pub add change_case

Visão geral do pacote

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

style: very good analysis License: MIT codecov style: effective dart

Transform a string between camelCase, PascalCase, Capital Case, snake_case, param-case, CONSTANT_CASE and others.


Core

These functions come with package:change_case

toCamelCase

Transform into a string with the separator denoted by the next word capitalized.

'test string'.toCamelCase(); // 'testString'
toCapitalCase

Transform into a space separated string with each word capitalized.

'test string'.toCapitalCase(); // 'Test String'
toConstantCase

Transform into upper case string with an underscore between words.

'test string'.toConstantCase(); // 'TEST_STRING'
toDotCase

Transform into a lower case string with a period between words.

'test string'.toDotCase(); // 'test.string'
toHeaderCase

Transform into a dash separated string of capitalized words.

'test string'.toHeaderCase(); // 'Test-String'
toNoCase

Transform into a lower cased string with spaces between words.

'testString'.toNoCase(); // 'test string'
toParamCase

Transform into a lower cased string with dashes between words.

'test string'.toParamCase(); // 'test-string'
toPascalCase

Transform into a string of capitalized words without separators.

'test string'.toPascalCase(); // 'TestString'
toPathCase

Transform into a lower case string with slashes between words.

'test string'.toPathCase(); // 'test/string'

// provide a separator override default '/'
'test string'.toPathCase(r'\'); // 'test\string'

toSentenceCase

Transform into a lower case with spaces between words, then capitalize the string.

'testString'.toSentenceCase(); // 'Test string'
toSnakeCase

Transform into a lower case string with underscores between words.

'test string'.toSnakeCase(); // 'test_string'

Other Case Utilities

toTitleCase

Transform a string into title case following English rules.

'a simple test'.toTitleCase(); // 'A Simple Test'
toSwapCase

Transform a string by swapping every character from upper to lower case, or lower to upper case.

'Test String'.toSwapCase(); // 'tEST sTRING'
isLowerCase

Returns true if the string is lower case only.

'test string'.isLowerCase(); // true
isUpperCase

Returns true if the string is upper case only.

'test string'.isUpperCase(); // false
toLowerFirstCase

Transforms the string with the first character in lower cased.

'TEST'.toLowerFirstCase(); // 'tEST'
toUpperFirstCase

Transforms the string with the first character in upper cased.

'test'.toUpperFirstCase(); // 'Test'
toSpongeCase

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 char
      RegExp('([a-z0-9])(?:•)*([A-Z])')
      
    • ChangeCaseConfig.lowerOrNumToUpperPattern

      // matches uppercase char to uppercase followed by lowercase char
      RegExp('([A-Z])(?:•)*([A-Z][a-z])')
      
  • Strip

    • ChangeCaseConfig.upperToLowerPattern

      // matches any non-alphanumeric char
      RegExp('[^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])')
      

Placeholder

can be configured with ChangeCaseConfig.setUp(placeholder: ...)

The placeholder is a string that is added and used as a reference to configure each case.

The default placeholder is "•"

For example:

final string = 'test stringCase';
print(string.toCamelCase()); // expected: 'testStringCase'

// runs splitPatterns, returns "test string•Case"
// runs stripPatterns, returns "test•string•Case"
// runs camel case logic, returns "testStringCase"

This string needs to be a unique character that is not used in the string.

Related

Categorias

Dependências

Lista de dependências 1 itens

Repositório-fonte

Projetos que usam este pacote