diff --git a/lib/json_dumper.ex b/lib/json_dumper.ex new file mode 100644 index 0000000..7ec5b56 --- /dev/null +++ b/lib/json_dumper.ex @@ -0,0 +1,11 @@ +defmodule TzExtra.JsonDumper do + @moduledoc false + + def dump(fun, filename) do + json = Jason.encode!(fun.()) + + file_path = Path.join(:code.priv_dir(:tz_extra), filename) + + File.write!(file_path, json, [:write]) + end +end diff --git a/mix.exs b/mix.exs index da6c6af..74d329f 100644 --- a/mix.exs +++ b/mix.exs @@ -31,7 +31,8 @@ defmodule TzExtra.MixProject do defp deps do [ {:tz, "~> 0.8.0"}, - {:ex_doc, "~> 0.21", only: :dev} + {:ex_doc, "~> 0.21", only: :dev}, + {:jason, "~> 1.1", only: :dev} ] end diff --git a/mix.lock b/mix.lock index 59fda7f..64766aa 100644 --- a/mix.lock +++ b/mix.lock @@ -1,6 +1,7 @@ %{ "earmark": {:hex, :earmark, "1.4.3", "364ca2e9710f6bff494117dbbd53880d84bebb692dafc3a78eb50aa3183f2bfd", [:mix], [], "hexpm"}, "ex_doc": {:hex, :ex_doc, "0.21.3", "857ec876b35a587c5d9148a2512e952e24c24345552259464b98bfbb883c7b42", [:mix], [{:earmark, "~> 1.4", [hex: :earmark, repo: "hexpm", optional: false]}, {:makeup_elixir, "~> 0.14", [hex: :makeup_elixir, repo: "hexpm", optional: false]}], "hexpm"}, + "jason": {:hex, :jason, "1.1.2", "b03dedea67a99223a2eaf9f1264ce37154564de899fd3d8b9a21b1a6fd64afe7", [:mix], [{:decimal, "~> 1.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm"}, "makeup": {:hex, :makeup, "1.0.0", "671df94cf5a594b739ce03b0d0316aa64312cee2574b6a44becb83cd90fb05dc", [:mix], [{:nimble_parsec, "~> 0.5.0", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm"}, "makeup_elixir": {:hex, :makeup_elixir, "0.14.0", "cf8b7c66ad1cff4c14679698d532f0b5d45a3968ffbcbfd590339cb57742f1ae", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}], "hexpm"}, "nimble_parsec": {:hex, :nimble_parsec, "0.5.3", "def21c10a9ed70ce22754fdeea0810dafd53c2db3219a0cd54cf5526377af1c6", [:mix], [], "hexpm"},