Packages

A Paddle client for Elixir.

Current section

Files

Jump to
paddlex lib paddle helpers.ex
Raw

lib/paddle/helpers.ex

defmodule Paddle.Helpers do
@moduledoc """
Helpers
"""
def map_to_struct(map, module) do
processed_map =
Map.keys(module.__struct__)
|> List.delete(:__struct__)
|> Enum.reduce(%{}, fn key, acc ->
value = Map.get(map, Atom.to_string(key))
Map.put(acc, key, value)
end)
struct(module, processed_map)
end
def maybe_convert_datetime(map, key) do
datetime_string = Map.get(map, key)
if datetime_string do
{:ok, datetime, 0} = DateTime.from_iso8601(datetime_string <> "Z")
Map.replace(map, key, datetime)
else
map
end
end
def maybe_convert_date(map, key) do
date_string = Map.get(map, key)
if date_string do
date = Date.from_iso8601!(date_string)
Map.replace(map, key, date)
else
map
end
end
end