Guava.DateRangeParser (Guava v0.34.0)

Copy Markdown View Source

Parse natural-language time expressions into concrete date ranges via the LLM endpoint.

Summary

Functions

Build a parser.

Return {start_date, end_date} for the range described by query, extended by buffer_days on each side and clamped to today..today+1yr.

Like parse/3, but returns {start_date, end_date} or raises Guava.Error.

Types

t()

@type t() :: %Guava.DateRangeParser{client: Guava.Client.t()}

Functions

new(client)

@spec new(Guava.Client.t()) :: t()

Build a parser.

parse(p, query, buffer_days \\ 1)

@spec parse(t(), String.t(), non_neg_integer()) ::
  {:ok, {Date.t(), Date.t()}} | {:error, Guava.Error.t()}

Return {start_date, end_date} for the range described by query, extended by buffer_days on each side and clamped to today..today+1yr.

parse!(p, query, buffer_days \\ 1)

@spec parse!(t(), String.t(), non_neg_integer()) :: {Date.t(), Date.t()}

Like parse/3, but returns {start_date, end_date} or raises Guava.Error.