Module: format

Methods


<inner> dateFormat(date)

Format a date into a SolarNet UTC date format.

Parameters:
Name Type Description
date Date

the date to format

Returns:

the formatted date value - yyyy-MM-dd

Type
string

<inner> dateParse(str)

Parse a SolarNet UTC date value.

Parameters:
Name Type Description
str string

the string to parse - yyyy-MM-dd

Returns:

the parsed date, or null

Type
Date

<inner> dateParser(str)

Parse a UTC date string, from a variety of supported formats.

Parameters:
Name Type Description
str String

the string to parse into a date

Returns:

the parsed Date, or null if the date can't be parsed

Type
Date

<inner> dateTimeFormat(date)

Format a date into a SolarNet UTC date/time format.

Parameters:
Name Type Description
date Date

the date to format

Returns:

the formatted date value - yyyy-MM-dd HH:mm

Type
string

<inner> dateTimeParse(str)

Parse a SolarNet UTC date/time.

Parameters:
Name Type Description
str string

the string to parse - `yyyy-MM-dd HH:mm

Returns:

the parsed date, or null

Type
Date

<inner> dateTimeUrlFormat(date)

Format a date into a SolarNet URL UTC date/time format.

Parameters:
Name Type Description
date Date

the date to format

Returns:

the formatted date value - yyyy-MM-dd'T'HH:mm

Type
string

<inner> dateTimeUrlParse(str)

Parse a SolarNet URL UTC date/time value.

Parameters:
Name Type Description
str string

the string to parse - yyyy-MM-dd'T'HH:mm

Returns:

the parsed date, or null

Type
Date

<inner> displayScaleForValue(value)

Get an appropriate multiplier value for scaling a given value to a more display-friendly form.

This will return values suitable for passing to module:format~displayUnitsForScale.

Parameters:
Name Type Description
value number

the value to get a display scale factor for, for example the maximum value in a range of values

Returns:

the display scale factor

Type
number

<inner> displayUnitsForScale(baseUnit, scale)

Get an appropriate display unit for a given base unit and scale factor.

Use this method to render scaled data value units. Typically you would first call module:module:format~displayScaleForValue, passing in the largest expected value in a set of data, and then pass the result to this method to generate a display unit for the base unit for that data.

For example, given a base unit of W (watts) and a maximum data value of 10000:

const fmt = import { * } from 'format/scale';
const displayScale = fmt.displayScaleForValue(10000);
const displayUnit = fmt.displayUnitForScale('W', displayScale);

The displayUnit result in that example would be kW.

Parameters:
Name Type Description
baseUnit string

the base unit, for example W or Wh

scale number

the unit scale, which must be a recognized SI scale, such as 1000 for k

Returns:

the display unit value

Type
string

<inner> iso8601Date(date [, includeTime])

Format a date into an ISO 8601 timestamp or date string, in the UTC time zone.

Parameters:
Name Type Argument Default Description
date Date

the date to format

includeTime boolean <optional>
false

true to format as a timestamp, false as just a date

Returns:

the formatted date string

Type
string

<inner> timestampFormat(date)

Format a date into a SolarNet UTC timestamp format.

Parameters:
Name Type Description
date Date

the date to format

Returns:

the formatted date value - yyyy-MM-dd HH:mm:ss.SSS'Z'

Type
string

<inner> timestampParse(str)

Parse a SolarNet UTC timestamp value.

Parameters:
Name Type Description
str string

the string to parse - `yyyy-MM-dd HH:mm:ss.SSS'Z'

Returns:

the parsed date, or null

Type
Date