2020-06-07 17:00:56 +03:00

26 lines
565 B
Elixir

defmodule Localizator.Parser.JSON do
@extensions ["json"]
@type contents :: String.t()
@type data :: map
@type extensions :: [String.t()]
@behaviour Localizator.Parser.Base
@impl true
@spec parse(contents) :: {:ok, data} | {:error, atom | Jason.DecodeError.t()}
def parse(contents) do
Jason.decode(contents)
end
@impl true
@spec generate(data) :: {:ok, contents} | {:error, any}
def generate(data) do
Jason.encode(data)
end
@impl true
@spec extensions() :: {:ok, extensions}
def extensions(), do: {:ok, @extensions}
end