formatter
A module for formatting values of different types to strings.
Contents
Module Members
Module Members
create( type, optionalOptions )
Creates a function to format values of a given type to a configurable string representations. If a
value has the wrong type to be formatted using the configured type, the format function throws a
TypeError.
When formatting values for display as date or time, the full datetime should always be passed if available; either as a Date-object, or as a full ISO 8601 string, including timezone. To format a date without time or to format a time-of-day, the respective ISO-formatted portions can be passed instead, without TZ information. Finally, the string "NOW" can be used which always results in the current local date/time.
Acceptable input values for
- date: "NOW", new Date(), "2014-03-22T14:52:03.444Z", "2014-03-22"
- time: "NOW", new Date(), "2014-03-22T14:52:03.444Z", "14:52:03"
The formatter for type 'string' simply triggers the toString method of the given argument, while
null and undefined result in the empty string.
Parameters
| Property | Type | Description |
|---|---|---|
| type | String |
the value type to create the formatter for. Can be one of 'string', 'integer', 'decimal', 'date' and 'time' |
| optionalOptions | Object |
different options depending on the selected type |
| optionalOptions.groupingSeparator | String |
the character used for thousands separation. Applicable to types decimal and integer only. Default: ',' |
| optionalOptions.decimalSeparator | String |
the character used for fraction part separation. Applicable to type decimal only. Default: '.' |
| optionalOptions.decimalPlaces | Number |
number of decimal places to keep in the formatted value. Applies rounding if necessary. Applicable to type decimal only. Default: 2 |
| optionalOptions.decimalTruncation | String |
how to treat insignificant decimal places (trailing zeros): - 'FIXED': uses a fraction length of exactly decimalPlaces, padding with zeros- 'BOUNDED': uses a fraction length up to decimalPlaces, no padding- 'NONE': unbounded fraction length (only limited by numeric precision), no padding Applicable to type decimal only. Default: 'FIXED' |
| optionalOptions.dateFormat | String |
the format used to format date values with. Applicable to type date only. Default: 'M/D/YYYY' |
| optionalOptions.timeFormat | String |
the format used to format time values with. Applicable to type time only. Default: 'H:m' |
Returns
| Type | Description |
|---|---|
Function |
the format function as described above. Throws a TypeError if the provided value cannot be formatted using the configured type |