Humanizer
What?
A Dart library to convert values into human-friendly representations.
Why?
When writing user interfaces we often want to present data we have in a raw format in a way that makes sense to the end user, but doing so is often non-trivial. This library aims to make such conversions easy and flexible.
Where?
Firstly, install the humanizer package, then you can import Humanizer into your Dart code as follows:
import 'package:humanizer/humanizer.dart';
How?
This library has a broad API surface, and in fact has multiple API layers as discussed here. The following table gives a high level overview of the various features, with links to deeper discussion:
| Feature | Description |
|---|---|
| Approximate time | Converts a Duration to a human-friendly approximation. |
| Cardinal numbers | Converts an integral value to cardinal form (one, two, three etc). |
| Ordinal numbers | Converts an integral value to ordinal form (1st / first, 2nd / second etc). |
| Plurality | Alters the plurality of an input word. |
| String casing | Converts input strings to Sentence case or Title Case. |
| String truncation | Intelligently truncates input strings. |
| Symbols | Converts programming symbol names into human-friendly representations. |
| Units of measurement | Provides types to represent common units of measurement and the ability to convert those types to a human-readable form. |
Note that whilst this library is locale-aware, it currently only includes an English implementation.
Who?
Thanks goes to these wonderful people (emoji key):
Kent Boogaart 💻 |
Arun Prakash 💻 |
This project follows the all-contributors specification. Contributions of any kind welcome!
Special thanks to these inspirational open source libraries: