View Source Trifle.Stats.Nocturnal.Parser (Trifle.Stats v2.5.0)

Parser for granularity string representations like "1m", "15m", "33m", "1h", "1d", etc.

Converts string-based granularity formats into offset and unit components. Handles edge cases like "33m" which creates uneven segments (0-32 and 33-59).

Examples

iex> parser = Trifle.Stats.Nocturnal.Parser.new("15m")
iex> parser.valid?
true
iex> parser.offset
15
iex> parser.unit
:minute

# Edge case with uneven segments
iex> parser = Trifle.Stats.Nocturnal.Parser.new("33m")
iex> parser.valid?
true
iex> parser.offset
33
iex> parser.unit
:minute

# Invalid format
iex> parser = Trifle.Stats.Nocturnal.Parser.new("invalid")
iex> parser.valid?
false

Summary

Functions

Create a new Parser instance from a granularity string.

Check if the parsed granularity string is valid.

Functions

Create a new Parser instance from a granularity string.

Examples

iex> parser = Trifle.Stats.Nocturnal.Parser.new("1m")
iex> {parser.offset, parser.unit}
{1, :minute}

Check if the parsed granularity string is valid.

Examples

iex> Trifle.Stats.Nocturnal.Parser.new("15m").valid?
true

iex> Trifle.Stats.Nocturnal.Parser.new("invalid").valid?
false