Pakete, Repositories und App-Kategorien suchen

Paketdetailsv2.2.0

change_case

Eine Erweiterung für String für fehlende Methoden wie camelCase, PascalCase, Capital Case, snake_case, param-case, CONSTANT_CASE und andere.

AndroidiOSWebmacOSWindowsLinux
30-Tage-Downloads
181.000
Likes
71
Pub-Punkte
160

Paket installieren

flutter pub add change_case

Paketübersicht

Aus öffentlichen Paketdaten erstellte Orientierung.

Das change_case-Paket erweitert die String-Klasse in Dart mit praktischen Methoden zur Umwandlung von Text zwischen verschiedenen Groß-/Kleinschreibung-Formaten wie camelCase, PascalCase, snake_case, param-case und CONSTANT_CASE. Es vereinfacht häufig benötigte Aufgaben bei der String-Transformation im App-Entwicklungsbereich, beispielsweise die Formatierung von API-Antworten, die Erstellung dynamischer Bezeichner oder die Sicherstellung konsistenter Namenskonventionen innerhalb von Codebasen. Das Paket ist leichtgewichtig und unterstützt alle wichtigen Plattformen, wodurch es ideal für plattformübergreifende Flutter-Anwendungen mit robusten Textmanipulationsfunktionen ist.

Anwendungsfälle

  • API-Antwortschlüssel formatieren
  • Konsistente Variablennamen generieren
  • Konvertierung von Benutzereingaben in standardisierte Formate
  • URL-freundliche Zeichenfolgen erstellen
  • Verwaltung der Konfigurationsschlüsselbenennung
  • Codegenerierungsarbeitsabläufe vereinfachen

Hauptmerkmale

  • Erweitert String um Konvertierungsmethoden
  • Unterstützt mehrere Schreibweisen
  • Leichtgewichtig und einfach zu integrieren
  • Plattformübergreifende Kompatibilität
  • Keine externen Abhängigkeiten
  • Sauberer, lesbarer Syntax

Geeignet für

  • Flutter-Entwickler, die String-Formatierung benötigen
  • Projekte mit strengen Namenskonventionen
  • API-Datenverarbeitungspipelines
  • Codegenerierungswerkzeuge
  • Apps, die eine Normalisierung von URL oder Kennung erfordern

Hinweise

  • Behandelt keine komplexen sprachlichen Regeln
  • Beschränkt auf vordefinierte Groß-/Kleinschreibungsmuster
  • Nicht geeignet für fortgeschrittene Textverarbeitung
  • Erfordert manuelle Behandlung von Randfällen
  • Keine integrierte Überprüfung für ungültige Eingaben

Original-README

Originaler README-Schnappschuss aus dem verknüpften Quell-Repository. Aktuelle Inhalte finden Sie im Repository.

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

Kategorien

Abhängigkeiten

Abhängigkeiten 1 Einträge

Quell-Repository

Projekte, die dieses Paket verwenden