platform/packages/inflection3
2021-05-17 23:10:07 +08:00
..
example Fixed static analysis warnings 2021-05-17 23:10:07 +08:00
lib Fixed static analysis warnings 2021-05-17 23:10:07 +08:00
test Fixed static analysis warnings 2021-05-17 23:10:07 +08:00
analysis_options.yaml Fixed static analysis warnings 2021-05-17 23:10:07 +08:00
AUTHORS.md Moved inflection2 to inflection3 2021-05-17 22:50:37 +08:00
CHANGELOG.md Moved inflection2 to inflection3 2021-05-17 22:50:37 +08:00
LICENSE Moved inflection2 to inflection3 2021-05-17 22:50:37 +08:00
pubspec.yaml Fixed static analysis warnings 2021-05-17 23:10:07 +08:00
README.md Moved inflection2 to inflection3 2021-05-17 22:50:37 +08:00

Inflection3

version Null Safety

In grammar, inflection or inflexion is the modification of a word to express different grammatical categories such as tense, mood, voice, aspect, person, number, gender and case.

A port of the Rails/ActiveSupport inflector library to Dart.

IMPORTANT NOTE: This is a hard fork of the original inflection2 package, as the former is now archived, and abandoned.

Usage

A simple usage example:

import 'package:inflection3/inflection3.dart';

void main() {
  // Using 'shortcut' functions.
  
  print(pluralize("house")); // => "houses"
  print(convertToPlural("house")); // => "houses", alias for pluralize
  print(pluralizeVerb("goes")); // => "go"
  print(singularize("axes")); // => "axis"
  print(convertToSingular("axes")); // => "axis", alias for pluralize
  print(singularizeVerb("write")); // => "writes"
  print(convertToSnakeCase("CamelCaseName")); // => "camel_case_name"
  print(convertToSpinalCase("CamelCaseName")); // => "camel-case-name"
  print(past("forgo")); // => "forwent"

  // Using default encoders.
  
  print(PLURAL.convert("virus")); // => "viri"
  print(SINGULAR.convert("Matrices")); // => "Matrix"
  print(SINGULAR.convert("species")); // => "species"
  print(SNAKE_CASE.convert("CamelCaseName")); // => "camel_case_name"
  print(SPINAL_CASE.convert("CamelCaseName")); // => "camel-case-name"
  print(PAST.convert("miss")); // => "missed"
}