diff --git a/.tool-versions b/.tool-versions index d24b586..6fe0c3d 100644 --- a/.tool-versions +++ b/.tool-versions @@ -1 +1,2 @@ -elixir 1.12.1 +elixir 1.17.1-otp-27 +erlang 27.0 diff --git a/config/config.exs b/config/config.exs index 99cdb39..b364bad 100644 --- a/config/config.exs +++ b/config/config.exs @@ -1,4 +1,4 @@ -use Mix.Config +import Config config :logger, level: :info config :ex_owm, api_key: System.get_env("OWM_API_KEY") diff --git a/lib/application.ex b/lib/application.ex index 87cf278..c86d6c9 100644 --- a/lib/application.ex +++ b/lib/application.ex @@ -1,4 +1,5 @@ defmodule ExOwm.Application do + @moduledoc false require Logger use Application diff --git a/lib/ex_owm/cache.ex b/lib/ex_owm/cache.ex index c5f59e6..9436d3d 100644 --- a/lib/ex_owm/cache.ex +++ b/lib/ex_owm/cache.ex @@ -1,3 +1,4 @@ defmodule ExOwm.Cache do + @moduledoc false use Nebulex.Cache, otp_app: :ex_owm, adapter: Nebulex.Adapters.Local end diff --git a/lib/ex_owm/current_weather/worker.ex b/lib/ex_owm/current_weather/worker.ex index d3c7521..4c55a41 100644 --- a/lib/ex_owm/current_weather/worker.ex +++ b/lib/ex_owm/current_weather/worker.ex @@ -2,17 +2,17 @@ defmodule ExOwm.CurrentWeather.Worker do @moduledoc """ Current Weather Worker task implementation. """ - alias ExOwm.Api - alias ExOwm.Cache + alias ExOwm.{Api, WorkerHelper} @doc """ Returns current weather for a specific location and given options. Checks whether request has been already cached, if not it sends the request to OWM API and caches it with specific TTL. """ - @spec get_current_weather(map, key: atom) :: map + @spec get_current_weather(map, key: atom) :: + {:ok, map()} | {:error, map()} | {:error, map(), map()} def get_current_weather(location, opts) do - ExOwm.WorkerHelper.get_from_cache_or_call("current_weather: #{inspect(location)}", fn -> + WorkerHelper.get_from_cache_or_call("current_weather: #{inspect(location)}", fn -> Api.send_and_parse_request(:get_current_weather, location, opts) end) end diff --git a/lib/ex_owm/five_day_forecast/worker.ex b/lib/ex_owm/five_day_forecast/worker.ex index efd9b83..3d7695f 100644 --- a/lib/ex_owm/five_day_forecast/worker.ex +++ b/lib/ex_owm/five_day_forecast/worker.ex @@ -2,17 +2,17 @@ defmodule ExOwm.FiveDayForecast.Worker do @moduledoc """ Five Day Forecast Worker task implementation. """ - alias ExOwm.Api - alias ExOwm.Cache + alias ExOwm.{Api, WorkerHelper} @doc """ Returns five day weather forecast for a specific location and given options. Checks whether request has been already cached, if not it sends the request to OWM API and caches it with specific TTL. """ - @spec get_five_day_forecast(map, key: atom) :: map + @spec get_five_day_forecast(map, key: atom) :: + {:ok, map()} | {:error, map()} | {:error, map(), map()} def get_five_day_forecast(location, opts) do - ExOwm.WorkerHelper.get_from_cache_or_call("five_day_forecast: #{inspect(location)}", fn -> + WorkerHelper.get_from_cache_or_call("five_day_forecast: #{inspect(location)}", fn -> Api.send_and_parse_request(:get_five_day_forecast, location, opts) end) end diff --git a/lib/ex_owm/historical_weather/worker.ex b/lib/ex_owm/historical_weather/worker.ex index 9f7e263..b836726 100644 --- a/lib/ex_owm/historical_weather/worker.ex +++ b/lib/ex_owm/historical_weather/worker.ex @@ -2,17 +2,17 @@ defmodule ExOwm.HistoricalWeather.Worker do @moduledoc """ Five Day Forecast Worker task implementation. """ - alias ExOwm.Api - alias ExOwm.Cache + alias ExOwm.{Api, WorkerHelper} @doc """ Returns five day weather forecast for a specific location and given options. Checks whether request has been already cached, if not it sends the request to OWM API and caches it with specific TTL. """ - @spec get_historical_weather(map, key: atom) :: map + @spec get_historical_weather(map, key: atom) :: + {:ok, map()} | {:error, map()} | {:error, map(), map()} def get_historical_weather(location, opts) do - ExOwm.WorkerHelper.get_from_cache_or_call("historical_weather: #{inspect(location)}", fn -> + WorkerHelper.get_from_cache_or_call("historical_weather: #{inspect(location)}", fn -> Api.send_and_parse_request(:get_historical_weather, location, opts) end) end diff --git a/lib/ex_owm/hourly_forecast/worker.ex b/lib/ex_owm/hourly_forecast/worker.ex index 826bf15..ac2d99a 100644 --- a/lib/ex_owm/hourly_forecast/worker.ex +++ b/lib/ex_owm/hourly_forecast/worker.ex @@ -2,17 +2,17 @@ defmodule ExOwm.HourlyForecast.Worker do @moduledoc """ Five Day Forecast Worker task implementation. """ - alias ExOwm.Api - alias ExOwm.Cache + alias ExOwm.{Api, WorkerHelper} @doc """ Returns five day weather forecast for a specific location and given options. Checks whether request has been already cached, if not it sends the request to OWM API and caches it with specific TTL. """ - @spec get_hourly_forecast(map, key: atom) :: map + @spec get_hourly_forecast(map, key: atom) :: + {:ok, map()} | {:error, map()} | {:error, map(), map()} def get_hourly_forecast(location, opts) do - ExOwm.WorkerHelper.get_from_cache_or_call("hourly_forecast: #{inspect(location)}", fn -> + WorkerHelper.get_from_cache_or_call("hourly_forecast: #{inspect(location)}", fn -> Api.send_and_parse_request(:get_hourly_forecast, location, opts) end) end diff --git a/lib/ex_owm/request_string.ex b/lib/ex_owm/request_string.ex index 5ef2830..24faa2f 100644 --- a/lib/ex_owm/request_string.ex +++ b/lib/ex_owm/request_string.ex @@ -112,7 +112,8 @@ defmodule ExOwm.RequestString do case Keyword.has_key?(opts, :lang) do true -> lang = - Keyword.get(opts, :lang) + opts + |> Keyword.get(:lang) |> Atom.to_string() string <> "&lang=#{lang}" diff --git a/lib/ex_owm/sixteen_day_forecast/worker.ex b/lib/ex_owm/sixteen_day_forecast/worker.ex index 2bd5fa2..f4a9131 100644 --- a/lib/ex_owm/sixteen_day_forecast/worker.ex +++ b/lib/ex_owm/sixteen_day_forecast/worker.ex @@ -2,17 +2,17 @@ defmodule ExOwm.SixteenDayForecast.Worker do @moduledoc """ Sixteen Day Forecast Worker task implementation. """ - alias ExOwm.Api - alias ExOwm.Cache + alias ExOwm.{Api, WorkerHelper} @doc """ Returns sixteen day weather forecast for a specific location and given options. Checks whether request has been already cached, if not it sends the request to OWM API and caches it with specific TTL. """ - @spec get_sixteen_day_forecast(map, key: atom) :: map + @spec get_sixteen_day_forecast(map, key: atom) :: + {:ok, map()} | {:error, map()} | {:error, map(), map()} def get_sixteen_day_forecast(location, opts) do - ExOwm.WorkerHelper.get_from_cache_or_call("sixteen_day_forecast: #{inspect(location)}", fn -> + WorkerHelper.get_from_cache_or_call("sixteen_day_forecast: #{inspect(location)}", fn -> Api.send_and_parse_request(:get_sixteen_day_forecast, location, opts) end) end diff --git a/lib/ex_owm/weather/worker.ex b/lib/ex_owm/weather/worker.ex index e508db8..259e3de 100644 --- a/lib/ex_owm/weather/worker.ex +++ b/lib/ex_owm/weather/worker.ex @@ -2,17 +2,16 @@ defmodule ExOwm.Weather.Worker do @moduledoc """ Current Weather Worker task implementation. """ - alias ExOwm.Api - alias ExOwm.Cache + alias ExOwm.{Api, WorkerHelper} @doc """ Returns current weather for a specific location and given options. Checks whether request has been already cached, if not it sends the request to OWM API and caches it with specific TTL. """ - @spec get_weather(map, key: atom) :: map + @spec get_weather(map, key: atom) :: {:ok, map()} | {:error, map()} | {:error, map(), map()} def get_weather(location, opts) do - ExOwm.WorkerHelper.get_from_cache_or_call("one_call: #{inspect(location)}", fn -> + WorkerHelper.get_from_cache_or_call("one_call: #{inspect(location)}", fn -> Api.send_and_parse_request(:get_weather, location, opts) end) end diff --git a/mix.exs b/mix.exs index b9805ed..bef9722 100644 --- a/mix.exs +++ b/mix.exs @@ -6,7 +6,7 @@ defmodule ExOwm.Mixfile do [ app: :ex_owm, name: "ExOwm", - version: "1.2.4", + version: "1.3.0", description: "OpenWeatherMap API Elixir client.", source_url: @github_url, homepage_url: @github_url, @@ -15,7 +15,11 @@ defmodule ExOwm.Mixfile do licenses: ["MIT"], links: %{"GitHub" => @github_url} ], - elixir: "~> 1.12", + dialyzer: [ + plt_file: {:no_warn, "priv/plts/project.plt"}, + format: :dialyxir, + paths: ["_build/dev/lib/ex_owm/ebin"] + ], start_permanent: Mix.env() == :prod, deps: deps(), docs: [ @@ -36,12 +40,13 @@ defmodule ExOwm.Mixfile do # Run "mix help deps" to learn about dependencies. defp deps do [ - {:httpoison, "~> 1.7"}, - {:jason, "~> 1.2"}, - {:nebulex, "~> 2.0"}, - {:shards, "~> 1.0"}, - {:ex_doc, "~> 0.22", only: :dev, runtime: false}, - {:credo, "~> 1.4", only: [:dev, :test], runtime: false} + {:credo, "~> 1.7", only: [:dev, :test], runtime: false}, + {:dialyxir, "~> 1.4", only: [:dev, :test], runtime: false}, + {:ex_doc, "~> 0.31", only: :dev, runtime: false}, + {:httpoison, "~> 2.0"}, + {:jason, "~> 1.4"}, + {:nebulex, "~> 2.6"}, + {:shards, "~> 1.1"} ] end end diff --git a/mix.lock b/mix.lock index 2973473..6d4004d 100644 --- a/mix.lock +++ b/mix.lock @@ -1,25 +1,27 @@ %{ - "bunt": {:hex, :bunt, "0.2.0", "951c6e801e8b1d2cbe58ebbd3e616a869061ddadcc4863d0a2182541acae9a38", [:mix], [], "hexpm", "7af5c7e09fe1d40f76c8e4f9dd2be7cebd83909f31fee7cd0e9eadc567da8353"}, - "certifi": {:hex, :certifi, "2.6.1", "dbab8e5e155a0763eea978c913ca280a6b544bfa115633fa20249c3d396d9493", [:rebar3], [], "hexpm", "524c97b4991b3849dd5c17a631223896272c6b0af446778ba4675a1dff53bb7e"}, - "credo": {:hex, :credo, "1.5.6", "e04cc0fdc236fefbb578e0c04bd01a471081616e741d386909e527ac146016c6", [:mix], [{:bunt, "~> 0.2.0", [hex: :bunt, repo: "hexpm", optional: false]}, {:file_system, "~> 0.2.8", [hex: :file_system, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "4b52a3e558bd64e30de62a648518a5ea2b6e3e5d2b164ef5296244753fc7eb17"}, + "bunt": {:hex, :bunt, "1.0.0", "081c2c665f086849e6d57900292b3a161727ab40431219529f13c4ddcf3e7a44", [:mix], [], "hexpm", "dc5f86aa08a5f6fa6b8096f0735c4e76d54ae5c9fa2c143e5a1fc7c1cd9bb6b5"}, + "certifi": {:hex, :certifi, "2.12.0", "2d1cca2ec95f59643862af91f001478c9863c2ac9cb6e2f89780bfd8de987329", [:rebar3], [], "hexpm", "ee68d85df22e554040cdb4be100f33873ac6051387baf6a8f6ce82272340ff1c"}, + "credo": {:hex, :credo, "1.7.7", "771445037228f763f9b2afd612b6aa2fd8e28432a95dbbc60d8e03ce71ba4446", [:mix], [{:bunt, "~> 0.2.1 or ~> 1.0", [hex: :bunt, repo: "hexpm", optional: false]}, {:file_system, "~> 0.2 or ~> 1.0", [hex: :file_system, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "8bc87496c9aaacdc3f90f01b7b0582467b69b4bd2441fe8aae3109d843cc2f2e"}, "decorator": {:hex, :decorator, "1.3.2", "63b8ac9e23b28053390abdda33bb9e1f3dd9e8f9a981f47a06fc2f2fe2e2f772", [:mix], [], "hexpm", "b80bd089e3c8579e6d9ea84eed307b1597a0d94af25331e424a209477ad1a7fc"}, - "earmark_parser": {:hex, :earmark_parser, "1.4.13", "0c98163e7d04a15feb62000e1a891489feb29f3d10cb57d4f845c405852bbef8", [:mix], [], "hexpm", "d602c26af3a0af43d2f2645613f65841657ad6efc9f0e361c3b6c06b578214ba"}, - "ex_doc": {:hex, :ex_doc, "0.24.2", "e4c26603830c1a2286dae45f4412a4d1980e1e89dc779fcd0181ed1d5a05c8d9", [:mix], [{:earmark_parser, "~> 1.4.0", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_elixir, "~> 0.14", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1", [hex: :makeup_erlang, repo: "hexpm", optional: false]}], "hexpm", "e134e1d9e821b8d9e4244687fb2ace58d479b67b282de5158333b0d57c6fb7da"}, - "file_system": {:hex, :file_system, "0.2.10", "fb082005a9cd1711c05b5248710f8826b02d7d1784e7c3451f9c1231d4fc162d", [:mix], [], "hexpm", "41195edbfb562a593726eda3b3e8b103a309b733ad25f3d642ba49696bf715dc"}, - "hackney": {:hex, :hackney, "1.17.4", "99da4674592504d3fb0cfef0db84c3ba02b4508bae2dff8c0108baa0d6e0977c", [:rebar3], [{:certifi, "~>2.6.1", [hex: :certifi, repo: "hexpm", optional: false]}, {:idna, "~>6.1.0", [hex: :idna, repo: "hexpm", optional: false]}, {:metrics, "~>1.0.0", [hex: :metrics, repo: "hexpm", optional: false]}, {:mimerl, "~>1.1", [hex: :mimerl, repo: "hexpm", optional: false]}, {:parse_trans, "3.3.1", [hex: :parse_trans, repo: "hexpm", optional: false]}, {:ssl_verify_fun, "~>1.1.0", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}, {:unicode_util_compat, "~>0.7.0", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm", "de16ff4996556c8548d512f4dbe22dd58a587bf3332e7fd362430a7ef3986b16"}, - "httpoison": {:hex, :httpoison, "1.8.0", "6b85dea15820b7804ef607ff78406ab449dd78bed923a49c7160e1886e987a3d", [:mix], [{:hackney, "~> 1.17", [hex: :hackney, repo: "hexpm", optional: false]}], "hexpm", "28089eaa98cf90c66265b6b5ad87c59a3729bea2e74e9d08f9b51eb9729b3c3a"}, - "idna": {:hex, :idna, "6.1.1", "8a63070e9f7d0c62eb9d9fcb360a7de382448200fbbd1b106cc96d3d8099df8d", [:rebar3], [{:unicode_util_compat, "~>0.7.0", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm", "92376eb7894412ed19ac475e4a86f7b413c1b9fbb5bd16dccd57934157944cea"}, - "jason": {:hex, :jason, "1.2.2", "ba43e3f2709fd1aa1dce90aaabfd039d000469c05c56f0b8e31978e03fa39052", [:mix], [{:decimal, "~> 1.0 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm", "18a228f5f0058ee183f29f9eae0805c6e59d61c3b006760668d8d18ff0d12179"}, - "makeup": {:hex, :makeup, "1.0.5", "d5a830bc42c9800ce07dd97fa94669dfb93d3bf5fcf6ea7a0c67b2e0e4a7f26c", [:mix], [{:nimble_parsec, "~> 0.5 or ~> 1.0", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "cfa158c02d3f5c0c665d0af11512fed3fba0144cf1aadee0f2ce17747fba2ca9"}, - "makeup_elixir": {:hex, :makeup_elixir, "0.15.1", "b5888c880d17d1cc3e598f05cdb5b5a91b7b17ac4eaf5f297cb697663a1094dd", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}, {:nimble_parsec, "~> 1.1", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "db68c173234b07ab2a07f645a5acdc117b9f99d69ebf521821d89690ae6c6ec8"}, - "makeup_erlang": {:hex, :makeup_erlang, "0.1.1", "3fcb7f09eb9d98dc4d208f49cc955a34218fc41ff6b84df7c75b3e6e533cc65f", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}], "hexpm", "174d0809e98a4ef0b3309256cbf97101c6ec01c4ab0b23e926a9e17df2077cbb"}, + "dialyxir": {:hex, :dialyxir, "1.4.3", "edd0124f358f0b9e95bfe53a9fcf806d615d8f838e2202a9f430d59566b6b53b", [:mix], [{:erlex, ">= 0.2.6", [hex: :erlex, repo: "hexpm", optional: false]}], "hexpm", "bf2cfb75cd5c5006bec30141b131663299c661a864ec7fbbc72dfa557487a986"}, + "earmark_parser": {:hex, :earmark_parser, "1.4.40", "f3534689f6b58f48aa3a9ac850d4f05832654fe257bf0549c08cc290035f70d5", [:mix], [], "hexpm", "cdb34f35892a45325bad21735fadb88033bcb7c4c296a999bde769783f53e46a"}, + "erlex": {:hex, :erlex, "0.2.7", "810e8725f96ab74d17aac676e748627a07bc87eb950d2b83acd29dc047a30595", [:mix], [], "hexpm", "3ed95f79d1a844c3f6bf0cea61e0d5612a42ce56da9c03f01df538685365efb0"}, + "ex_doc": {:hex, :ex_doc, "0.34.2", "13eedf3844ccdce25cfd837b99bea9ad92c4e511233199440488d217c92571e8", [:mix], [{:earmark_parser, "~> 1.4.39", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_c, ">= 0.1.0", [hex: :makeup_c, repo: "hexpm", optional: true]}, {:makeup_elixir, "~> 0.14 or ~> 1.0", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1 or ~> 1.0", [hex: :makeup_erlang, repo: "hexpm", optional: false]}, {:makeup_html, ">= 0.1.0", [hex: :makeup_html, repo: "hexpm", optional: true]}], "hexpm", "5ce5f16b41208a50106afed3de6a2ed34f4acfd65715b82a0b84b49d995f95c1"}, + "file_system": {:hex, :file_system, "1.0.0", "b689cc7dcee665f774de94b5a832e578bd7963c8e637ef940cd44327db7de2cd", [:mix], [], "hexpm", "6752092d66aec5a10e662aefeed8ddb9531d79db0bc145bb8c40325ca1d8536d"}, + "hackney": {:hex, :hackney, "1.20.1", "8d97aec62ddddd757d128bfd1df6c5861093419f8f7a4223823537bad5d064e2", [:rebar3], [{:certifi, "~> 2.12.0", [hex: :certifi, repo: "hexpm", optional: false]}, {:idna, "~> 6.1.0", [hex: :idna, repo: "hexpm", optional: false]}, {:metrics, "~> 1.0.0", [hex: :metrics, repo: "hexpm", optional: false]}, {:mimerl, "~> 1.1", [hex: :mimerl, repo: "hexpm", optional: false]}, {:parse_trans, "3.4.1", [hex: :parse_trans, repo: "hexpm", optional: false]}, {:ssl_verify_fun, "~> 1.1.0", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}, {:unicode_util_compat, "~> 0.7.0", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm", "fe9094e5f1a2a2c0a7d10918fee36bfec0ec2a979994cff8cfe8058cd9af38e3"}, + "httpoison": {:hex, :httpoison, "2.2.1", "87b7ed6d95db0389f7df02779644171d7319d319178f6680438167d7b69b1f3d", [:mix], [{:hackney, "~> 1.17", [hex: :hackney, repo: "hexpm", optional: false]}], "hexpm", "51364e6d2f429d80e14fe4b5f8e39719cacd03eb3f9a9286e61e216feac2d2df"}, + "idna": {:hex, :idna, "6.1.1", "8a63070e9f7d0c62eb9d9fcb360a7de382448200fbbd1b106cc96d3d8099df8d", [:rebar3], [{:unicode_util_compat, "~> 0.7.0", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm", "92376eb7894412ed19ac475e4a86f7b413c1b9fbb5bd16dccd57934157944cea"}, + "jason": {:hex, :jason, "1.4.3", "d3f984eeb96fe53b85d20e0b049f03e57d075b5acda3ac8d465c969a2536c17b", [:mix], [{:decimal, "~> 1.0 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm", "9a90e868927f7c777689baa16d86f4d0e086d968db5c05d917ccff6d443e58a3"}, + "makeup": {:hex, :makeup, "1.1.2", "9ba8837913bdf757787e71c1581c21f9d2455f4dd04cfca785c70bbfff1a76a3", [:mix], [{:nimble_parsec, "~> 1.2.2 or ~> 1.3", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "cce1566b81fbcbd21eca8ffe808f33b221f9eee2cbc7a1706fc3da9ff18e6cac"}, + "makeup_elixir": {:hex, :makeup_elixir, "0.16.2", "627e84b8e8bf22e60a2579dad15067c755531fea049ae26ef1020cad58fe9578", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}, {:nimble_parsec, "~> 1.2.3 or ~> 1.3", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "41193978704763f6bbe6cc2758b84909e62984c7752b3784bd3c218bb341706b"}, + "makeup_erlang": {:hex, :makeup_erlang, "1.0.0", "6f0eff9c9c489f26b69b61440bf1b238d95badae49adac77973cbacae87e3c2e", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}], "hexpm", "ea7a9307de9d1548d2a72d299058d1fd2339e3d398560a0e46c27dab4891e4d2"}, "metrics": {:hex, :metrics, "1.0.1", "25f094dea2cda98213cecc3aeff09e940299d950904393b2a29d191c346a8486", [:rebar3], [], "hexpm", "69b09adddc4f74a40716ae54d140f93beb0fb8978d8636eaded0c31b6f099f16"}, - "mimerl": {:hex, :mimerl, "1.2.0", "67e2d3f571088d5cfd3e550c383094b47159f3eee8ffa08e64106cdf5e981be3", [:rebar3], [], "hexpm", "f278585650aa581986264638ebf698f8bb19df297f66ad91b18910dfc6e19323"}, - "nebulex": {:hex, :nebulex, "2.1.0", "6ed3dc8e851366c59b1260c73d8c70bd694667f1da439bcd13c9eca2d20c74bb", [:mix], [{:decorator, "~> 1.4", [hex: :decorator, repo: "hexpm", optional: true]}, {:shards, "~> 1.0", [hex: :shards, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4", [hex: :telemetry, repo: "hexpm", optional: true]}], "hexpm", "d19ef2d7ee57350b1e88931d79c621e69b4ed52ba3351d53348cd4283a0fdb72"}, - "nimble_parsec": {:hex, :nimble_parsec, "1.1.0", "3a6fca1550363552e54c216debb6a9e95bd8d32348938e13de5eda962c0d7f89", [:mix], [], "hexpm", "08eb32d66b706e913ff748f11694b17981c0b04a33ef470e33e11b3d3ac8f54b"}, - "parse_trans": {:hex, :parse_trans, "3.3.1", "16328ab840cc09919bd10dab29e431da3af9e9e7e7e6f0089dd5a2d2820011d8", [:rebar3], [], "hexpm", "07cd9577885f56362d414e8c4c4e6bdf10d43a8767abb92d24cbe8b24c54888b"}, + "mimerl": {:hex, :mimerl, "1.3.0", "d0cd9fc04b9061f82490f6581e0128379830e78535e017f7780f37fea7545726", [:rebar3], [], "hexpm", "a1e15a50d1887217de95f0b9b0793e32853f7c258a5cd227650889b38839fe9d"}, + "nebulex": {:hex, :nebulex, "2.6.2", "0874989db4e382362884662d2ee9f31b4c4862595f4ec300bd279068729dd2d0", [:mix], [{:decorator, "~> 1.4", [hex: :decorator, repo: "hexpm", optional: true]}, {:shards, "~> 1.1", [hex: :shards, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: true]}], "hexpm", "002a1774d5a187eb631ae4006db13df4bb6b325fe2a3c14cb14a1f3e989042b4"}, + "nimble_parsec": {:hex, :nimble_parsec, "1.4.0", "51f9b613ea62cfa97b25ccc2c1b4216e81df970acd8e16e8d1bdc58fef21370d", [:mix], [], "hexpm", "9c565862810fb383e9838c1dd2d7d2c437b3d13b267414ba6af33e50d2d1cf28"}, + "parse_trans": {:hex, :parse_trans, "3.4.1", "6e6aa8167cb44cc8f39441d05193be6e6f4e7c2946cb2759f015f8c56b76e5ff", [:rebar3], [], "hexpm", "620a406ce75dada827b82e453c19cf06776be266f5a67cff34e1ef2cbb60e49a"}, "poison": {:hex, :poison, "4.0.1", "bcb755a16fac91cad79bfe9fc3585bb07b9331e50cfe3420a24bcc2d735709ae", [:mix], [], "hexpm", "ba8836feea4b394bb718a161fc59a288fe0109b5006d6bdf97b6badfcf6f0f25"}, - "shards": {:hex, :shards, "1.0.1", "1bdbbf047db27f3c3eb800a829d4a47062c84d5543cbfebcfc4c14d038bf9220", [:make, :rebar3], [], "hexpm", "2c57788afbf053c4024366772892beee89b8b72e884e764fb0a075dfa7442041"}, - "ssl_verify_fun": {:hex, :ssl_verify_fun, "1.1.6", "cf344f5692c82d2cd7554f5ec8fd961548d4fd09e7d22f5b62482e5aeaebd4b0", [:make, :mix, :rebar3], [], "hexpm", "bdb0d2471f453c88ff3908e7686f86f9be327d065cc1ec16fa4540197ea04680"}, + "shards": {:hex, :shards, "1.1.1", "8b42323457d185b26b15d05187784ce6c5d1e181b35c46fca36c45f661defe02", [:make, :rebar3], [], "hexpm", "169a045dae6668cda15fbf86d31bf433d0dbbaec42c8c23ca4f8f2d405ea8eda"}, + "ssl_verify_fun": {:hex, :ssl_verify_fun, "1.1.7", "354c321cf377240c7b8716899e182ce4890c5938111a1296add3ec74cf1715df", [:make, :mix, :rebar3], [], "hexpm", "fe4c190e8f37401d30167c8c405eda19469f34577987c76dde613e838bbc67f8"}, "unicode_util_compat": {:hex, :unicode_util_compat, "0.7.0", "bc84380c9ab48177092f43ac89e4dfa2c6d62b40b8bd132b1059ecc7232f9a78", [:rebar3], [], "hexpm", "25eee6d67df61960cf6a794239566599b09e17e668d3700247bc498638152521"}, } diff --git a/priv/plts/project.plt b/priv/plts/project.plt new file mode 100644 index 0000000..b372b52 Binary files /dev/null and b/priv/plts/project.plt differ diff --git a/priv/plts/project.plt.hash b/priv/plts/project.plt.hash new file mode 100644 index 0000000..728ae18 --- /dev/null +++ b/priv/plts/project.plt.hash @@ -0,0 +1 @@ +|Vþû'Àðäf긤„ÝçÐX`« \ No newline at end of file