Alpa.Helpers (AlpaEx v1.0.3)

View Source

Shared helper functions for parsing API response values.

These helpers are used across model modules to convert raw API response strings into appropriate Elixir types (Decimal, DateTime, Date).

Summary

Functions

Parse an ISO 8601 string into a Date.

Parse an ISO 8601 string into a DateTime.

Parse a value into a Decimal.

Functions

parse_date(value)

@spec parse_date(nil | String.t()) :: Date.t() | nil

Parse an ISO 8601 string into a Date.

Examples

iex> Alpa.Helpers.parse_date("2024-01-15")
~D[2024-01-15]

iex> Alpa.Helpers.parse_date(nil)
nil

parse_datetime(value)

@spec parse_datetime(nil | String.t()) :: DateTime.t() | nil

Parse an ISO 8601 string into a DateTime.

Examples

iex> Alpa.Helpers.parse_datetime("2024-01-15T14:30:00Z")
~U[2024-01-15 14:30:00Z]

iex> Alpa.Helpers.parse_datetime(nil)
nil

parse_decimal(value)

@spec parse_decimal(nil | String.t() | integer() | float()) :: Decimal.t() | nil

Parse a value into a Decimal.

Handles nil, string, integer, and float inputs.

Examples

iex> Alpa.Helpers.parse_decimal("123.45")
Decimal.new("123.45")

iex> Alpa.Helpers.parse_decimal(nil)
nil