Skip to content

Commit 7dbe1d0

Browse files
authored
Update Ecto.Repo calls to work with Ecto 3.8 (#85)
Options are now a tuple with adapter metadata
1 parent 04d7b26 commit 7dbe1d0

File tree

4 files changed

+57
-47
lines changed

4 files changed

+57
-47
lines changed

lib/repo/queryable.ex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ defmodule ExAudit.Queryable do
4040
)
4141
end
4242

43-
versions = Ecto.Repo.Queryable.all(module, query, opts)
43+
versions = Ecto.Repo.Queryable.all(module, query, Ecto.Repo.Supervisor.tuplet(module, opts))
4444

4545
if Keyword.get(opts, :render_struct, false) do
4646
{versions, oldest_struct} =

lib/repo/repo.ex

Lines changed: 32 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -94,113 +94,125 @@ defmodule ExAudit.Repo do
9494
defoverridable(tracked?: 1)
9595

9696
def insert(struct, opts) do
97+
repo = get_dynamic_repo()
98+
9799
if tracked?(struct) do
98100
ExAudit.Schema.insert(
99101
__MODULE__,
100-
get_dynamic_repo(),
102+
repo,
101103
struct,
102-
opts
104+
Ecto.Repo.Supervisor.tuplet(repo, prepare_opts(:insert, opts))
103105
)
104106
else
105107
super(struct, opts)
106108
end
107109
end
108110

109111
def update(struct, opts) do
112+
repo = get_dynamic_repo()
113+
110114
if tracked?(struct) do
111115
ExAudit.Schema.update(
112116
__MODULE__,
113-
get_dynamic_repo(),
117+
repo,
114118
struct,
115-
opts
119+
Ecto.Repo.Supervisor.tuplet(repo, prepare_opts(:update, opts))
116120
)
117121
else
118122
super(struct, opts)
119123
end
120124
end
121125

122126
def insert_or_update(changeset, opts) do
127+
repo = get_dynamic_repo()
128+
123129
if tracked?(changeset) do
124130
ExAudit.Schema.insert_or_update(
125131
__MODULE__,
126-
get_dynamic_repo(),
132+
repo,
127133
changeset,
128-
opts
134+
Ecto.Repo.Supervisor.tuplet(repo, prepare_opts(:insert_or_update, opts))
129135
)
130136
else
131137
super(changeset, opts)
132138
end
133139
end
134140

135141
def delete(struct, opts) do
142+
repo = get_dynamic_repo()
143+
136144
if tracked?(struct) do
137145
ExAudit.Schema.delete(
138146
__MODULE__,
139-
get_dynamic_repo(),
147+
repo,
140148
struct,
141-
opts
149+
Ecto.Repo.Supervisor.tuplet(repo, prepare_opts(:delete, opts))
142150
)
143151
else
144152
super(struct, opts)
145153
end
146154
end
147155

148156
def insert!(struct, opts) do
157+
repo = get_dynamic_repo()
158+
149159
if tracked?(struct) do
150160
ExAudit.Schema.insert!(
151161
__MODULE__,
152-
get_dynamic_repo(),
162+
repo,
153163
struct,
154-
opts
164+
Ecto.Repo.Supervisor.tuplet(repo, prepare_opts(:insert, opts))
155165
)
156166
else
157167
super(struct, opts)
158168
end
159169
end
160170

161171
def update!(struct, opts) do
172+
repo = get_dynamic_repo()
173+
162174
if tracked?(struct) do
163175
ExAudit.Schema.update!(
164176
__MODULE__,
165-
get_dynamic_repo(),
177+
repo,
166178
struct,
167-
opts
179+
Ecto.Repo.Supervisor.tuplet(repo, prepare_opts(:update, opts))
168180
)
169181
else
170182
super(struct, opts)
171183
end
172184
end
173185

174186
def insert_or_update!(changeset, opts) do
187+
repo = get_dynamic_repo()
188+
175189
if tracked?(changeset) do
176190
ExAudit.Schema.insert_or_update!(
177191
__MODULE__,
178-
get_dynamic_repo(),
192+
repo,
179193
changeset,
180-
opts
194+
Ecto.Repo.Supervisor.tuplet(repo, prepare_opts(:insert_or_update, opts))
181195
)
182196
else
183197
super(changeset, opts)
184198
end
185199
end
186200

187201
def delete!(struct, opts) do
202+
repo = get_dynamic_repo()
203+
188204
if tracked?(struct) do
189205
ExAudit.Schema.delete!(
190206
__MODULE__,
191-
get_dynamic_repo(),
207+
repo,
192208
struct,
193-
opts
209+
Ecto.Repo.Supervisor.tuplet(repo, prepare_opts(:delete, opts))
194210
)
195211
else
196212
super(struct, opts)
197213
end
198214
end
199215

200-
def default_options(_operation), do: []
201-
202-
defoverridable(default_options: 1)
203-
204216
defoverridable(child_spec: 1)
205217

206218
# additional functions
@@ -247,6 +259,4 @@ defmodule ExAudit.Repo do
247259
"""
248260
@callback revert(version :: struct, opts :: list) ::
249261
{:ok, struct} | {:error, changeset :: Ecto.Changeset.t()}
250-
251-
@callback default_options(operation :: atom) :: keyword
252262
end

lib/repo/schema.ex

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
defmodule ExAudit.Schema do
2-
def insert_all(module, name, schema_or_source, entries, opts) do
2+
def insert_all(module, name, schema_or_source, entries, tuplet = {_adapter_meta, opts}) do
33
# TODO!
44
opts = augment_opts(opts)
5-
Ecto.Repo.Schema.insert_all(module, name, schema_or_source, entries, opts)
5+
Ecto.Repo.Schema.insert_all(module, name, schema_or_source, entries, tuplet)
66
end
77

8-
def insert(module, name, struct, opts) do
8+
def insert(module, name, struct, tuplet = {_adapter_meta, opts}) do
99
opts = augment_opts(opts)
1010

1111
augment_transaction(module, fn ->
12-
result = Ecto.Repo.Schema.insert(module, name, struct, opts)
12+
result = Ecto.Repo.Schema.insert(module, name, struct, tuplet)
1313

1414
case result do
1515
{:ok, resulting_struct} ->
@@ -23,11 +23,11 @@ defmodule ExAudit.Schema do
2323
end)
2424
end
2525

26-
def update(module, name, struct, opts) do
26+
def update(module, name, struct, tuplet = {_adapter_meta, opts}) do
2727
opts = augment_opts(opts)
2828

2929
augment_transaction(module, fn ->
30-
result = Ecto.Repo.Schema.update(module, name, struct, opts)
30+
result = Ecto.Repo.Schema.update(module, name, struct, tuplet)
3131

3232
case result do
3333
{:ok, resulting_struct} ->
@@ -41,11 +41,11 @@ defmodule ExAudit.Schema do
4141
end)
4242
end
4343

44-
def insert_or_update(module, name, changeset, opts) do
44+
def insert_or_update(module, name, changeset, tuplet = {_adapter_meta, opts}) do
4545
opts = augment_opts(opts)
4646

4747
augment_transaction(module, fn ->
48-
result = Ecto.Repo.Schema.insert_or_update(module, name, changeset, opts)
48+
result = Ecto.Repo.Schema.insert_or_update(module, name, changeset, tuplet)
4949

5050
case result do
5151
{:ok, resulting_struct} ->
@@ -60,12 +60,12 @@ defmodule ExAudit.Schema do
6060
end)
6161
end
6262

63-
def delete(module, name, struct, opts) do
63+
def delete(module, name, struct, tuplet = {_adapter_meta, opts}) do
6464
opts = augment_opts(opts)
6565

6666
augment_transaction(module, fn ->
6767
ExAudit.Tracking.track_assoc_deletion(module, struct, opts)
68-
result = Ecto.Repo.Schema.delete(module, name, struct, opts)
68+
result = Ecto.Repo.Schema.delete(module, name, struct, tuplet)
6969

7070
case result do
7171
{:ok, resulting_struct} ->
@@ -79,41 +79,41 @@ defmodule ExAudit.Schema do
7979
end)
8080
end
8181

82-
def insert!(module, name, struct, opts) do
82+
def insert!(module, name, struct, tuplet = {_adapter_meta, opts}) do
8383
opts = augment_opts(opts)
8484

8585
augment_transaction(
8686
module,
8787
fn ->
88-
result = Ecto.Repo.Schema.insert!(module, name, struct, opts)
88+
result = Ecto.Repo.Schema.insert!(module, name, struct, tuplet)
8989
ExAudit.Tracking.track_change(module, :created, struct, result, opts)
9090
result
9191
end,
9292
true
9393
)
9494
end
9595

96-
def update!(module, name, struct, opts) do
96+
def update!(module, name, struct, tuplet = {_adapter_meta, opts}) do
9797
opts = augment_opts(opts)
9898

9999
augment_transaction(
100100
module,
101101
fn ->
102-
result = Ecto.Repo.Schema.update!(module, name, struct, opts)
102+
result = Ecto.Repo.Schema.update!(module, name, struct, tuplet)
103103
ExAudit.Tracking.track_change(module, :updated, struct, result, opts)
104104
result
105105
end,
106106
true
107107
)
108108
end
109109

110-
def insert_or_update!(module, name, changeset, opts) do
110+
def insert_or_update!(module, name, changeset, tuplet = {_adapter_meta, opts}) do
111111
opts = augment_opts(opts)
112112

113113
augment_transaction(
114114
module,
115115
fn ->
116-
result = Ecto.Repo.Schema.insert_or_update!(module, name, changeset, opts)
116+
result = Ecto.Repo.Schema.insert_or_update!(module, name, changeset, tuplet)
117117
state = if changeset.data.__meta__.state == :loaded, do: :updated, else: :created
118118
ExAudit.Tracking.track_change(module, state, changeset, result, opts)
119119
result
@@ -122,14 +122,14 @@ defmodule ExAudit.Schema do
122122
)
123123
end
124124

125-
def delete!(module, name, struct, opts) do
125+
def delete!(module, name, struct, tuplet = {_adapter_meta, opts}) do
126126
opts = augment_opts(opts)
127127

128128
augment_transaction(
129129
module,
130130
fn ->
131131
ExAudit.Tracking.track_assoc_deletion(module, struct, opts)
132-
result = Ecto.Repo.Schema.delete!(module, name, struct, opts)
132+
result = Ecto.Repo.Schema.delete!(module, name, struct, tuplet)
133133
ExAudit.Tracking.track_change(module, :deleted, struct, result, opts)
134134
result
135135
end,

mix.lock

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
%{
22
"certifi": {:hex, :certifi, "2.5.1", "867ce347f7c7d78563450a18a6a28a8090331e77fa02380b4a21962a65d36ee5", [:rebar3], [{:parse_trans, "~>3.3", [hex: :parse_trans, repo: "hexpm", optional: false]}], "hexpm", "805abd97539caf89ec6d4732c91e62ba9da0cda51ac462380bbd28ee697a8c42"},
33
"connection": {:hex, :connection, "1.1.0", "ff2a49c4b75b6fb3e674bfc5536451607270aac754ffd1bdfe175abe4a6d7a68", [:mix], [], "hexpm", "722c1eb0a418fbe91ba7bd59a47e28008a189d47e37e0e7bb85585a016b2869c"},
4-
"db_connection": {:hex, :db_connection, "2.4.0", "d04b1b73795dae60cead94189f1b8a51cc9e1f911c234cc23074017c43c031e5", [:mix], [{:connection, "~> 1.0", [hex: :connection, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "ad416c21ad9f61b3103d254a71b63696ecadb6a917b36f563921e0de00d7d7c8"},
4+
"db_connection": {:hex, :db_connection, "2.4.2", "f92e79aff2375299a16bcb069a14ee8615c3414863a6fef93156aee8e86c2ff3", [:mix], [{:connection, "~> 1.0", [hex: :connection, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "4fe53ca91b99f55ea249693a0229356a08f4d1a7931d8ffa79289b145fe83668"},
55
"decimal": {:hex, :decimal, "2.0.0", "a78296e617b0f5dd4c6caf57c714431347912ffb1d0842e998e9792b5642d697", [:mix], [], "hexpm", "34666e9c55dea81013e77d9d87370fe6cb6291d1ef32f46a1600230b1d44f577"},
66
"earmark": {:hex, :earmark, "1.4.3", "364ca2e9710f6bff494117dbbd53880d84bebb692dafc3a78eb50aa3183f2bfd", [:mix], [], "hexpm", "8cf8a291ebf1c7b9539e3cddb19e9cef066c2441b1640f13c34c1d3cfc825fec"},
77
"earmark_parser": {:hex, :earmark_parser, "1.4.13", "0c98163e7d04a15feb62000e1a891489feb29f3d10cb57d4f845c405852bbef8", [:mix], [], "hexpm", "d602c26af3a0af43d2f2645613f65841657ad6efc9f0e361c3b6c06b578214ba"},
8-
"ecto": {:hex, :ecto, "3.6.2", "efdf52acfc4ce29249bab5417415bd50abd62db7b0603b8bab0d7b996548c2bc", [:mix], [{:decimal, "~> 1.6 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "efad6dfb04e6f986b8a3047822b0f826d9affe8e4ebdd2aeedbfcb14fd48884e"},
9-
"ecto_sql": {:hex, :ecto_sql, "3.6.2", "9526b5f691701a5181427634c30655ac33d11e17e4069eff3ae1176c764e0ba3", [:mix], [{:db_connection, "~> 2.2", [hex: :db_connection, repo: "hexpm", optional: false]}, {:ecto, "~> 3.6.2", [hex: :ecto, repo: "hexpm", optional: false]}, {:myxql, "~> 0.4.0 or ~> 0.5.0", [hex: :myxql, repo: "hexpm", optional: true]}, {:postgrex, "~> 0.15.0 or ~> 1.0", [hex: :postgrex, repo: "hexpm", optional: true]}, {:tds, "~> 2.1.1", [hex: :tds, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "5ec9d7e6f742ea39b63aceaea9ac1d1773d574ea40df5a53ef8afbd9242fdb6b"},
8+
"ecto": {:hex, :ecto, "3.8.3", "5e681d35bc2cbb46dcca1e2675837c7d666316e5ada14eca6c9c609b6232817c", [:mix], [{:decimal, "~> 1.6 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "af92dd7815967bcaea0daaaccf31c3b23165432b1c7a475d84144efbc703d105"},
9+
"ecto_sql": {:hex, :ecto_sql, "3.8.2", "d7d44bc8d45ba9c85485952710c80408632a7336eb811b045e791718d11ddb5b", [:mix], [{:db_connection, "~> 2.5 or ~> 2.4.1", [hex: :db_connection, repo: "hexpm", optional: false]}, {:ecto, "~> 3.8.1", [hex: :ecto, repo: "hexpm", optional: false]}, {:myxql, "~> 0.6.0", [hex: :myxql, repo: "hexpm", optional: true]}, {:postgrex, "~> 0.15.0 or ~> 0.16.0 or ~> 1.0", [hex: :postgrex, repo: "hexpm", optional: true]}, {:tds, "~> 2.1.1 or ~> 2.2", [hex: :tds, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4.0 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "7b9b03d64360d6cc05dc263500a43c11740b5fd4552244c27efad358e98c75b3"},
1010
"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"},
1111
"excoveralls": {:hex, :excoveralls, "0.12.3", "2142be7cb978a3ae78385487edda6d1aff0e482ffc6123877bb7270a8ffbcfe0", [:mix], [{:hackney, "~> 1.0", [hex: :hackney, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "568a3e616c264283f5dea5b020783ae40eef3f7ee2163f7a67cbd7b35bcadada"},
1212
"file_system": {:hex, :file_system, "0.2.8", "f632bd287927a1eed2b718f22af727c5aeaccc9a98d8c2bd7bff709e851dc986", [:mix], [], "hexpm", "97a3b6f8d63ef53bd0113070102db2ce05352ecf0d25390eb8d747c2bde98bca"},
1313
"hackney": {:hex, :hackney, "1.15.2", "07e33c794f8f8964ee86cebec1a8ed88db5070e52e904b8f12209773c1036085", [:rebar3], [{:certifi, "2.5.1", [hex: :certifi, repo: "hexpm", optional: false]}, {:idna, "6.0.0", [hex: :idna, repo: "hexpm", optional: false]}, {:metrics, "1.0.1", [hex: :metrics, repo: "hexpm", optional: false]}, {:mimerl, "~>1.1", [hex: :mimerl, repo: "hexpm", optional: false]}, {:ssl_verify_fun, "1.1.5", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}], "hexpm", "e0100f8ef7d1124222c11ad362c857d3df7cb5f4204054f9f0f4a728666591fc"},
1414
"idna": {:hex, :idna, "6.0.0", "689c46cbcdf3524c44d5f3dde8001f364cd7608a99556d8fbd8239a5798d4c10", [:rebar3], [{:unicode_util_compat, "0.4.1", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm", "4bdd305eb64e18b0273864920695cb18d7a2021f31a11b9c5fbcd9a253f936e2"},
15-
"jason": {:hex, :jason, "1.2.2", "ba43e3f2709fd1aa1dce90aaabfd039d000469c05c56f0b8e31978e03fa39052", [:mix], [{:decimal, "~> 1.0 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm", "18a228f5f0058ee183f29f9eae0805c6e59d61c3b006760668d8d18ff0d12179"},
15+
"jason": {:hex, :jason, "1.3.0", "fa6b82a934feb176263ad2df0dbd91bf633d4a46ebfdffea0c8ae82953714946", [:mix], [{:decimal, "~> 1.0 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm", "53fc1f51255390e0ec7e50f9cb41e751c260d065dcba2bf0d08dc51a4002c2ac"},
1616
"makeup": {:hex, :makeup, "1.0.5", "d5a830bc42c9800ce07dd97fa94669dfb93d3bf5fcf6ea7a0c67b2e0e4a7f26c", [:mix], [{:nimble_parsec, "~> 0.5 or ~> 1.0", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "cfa158c02d3f5c0c665d0af11512fed3fba0144cf1aadee0f2ce17747fba2ca9"},
1717
"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"},
1818
"makeup_erlang": {:hex, :makeup_erlang, "0.1.1", "3fcb7f09eb9d98dc4d208f49cc955a34218fc41ff6b84df7c75b3e6e533cc65f", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}], "hexpm", "174d0809e98a4ef0b3309256cbf97101c6ec01c4ab0b23e926a9e17df2077cbb"},
@@ -21,8 +21,8 @@
2121
"mix_test_watch": {:hex, :mix_test_watch, "1.0.2", "34900184cbbbc6b6ed616ed3a8ea9b791f9fd2088419352a6d3200525637f785", [:mix], [{:file_system, "~> 0.2.1 or ~> 0.3", [hex: :file_system, repo: "hexpm", optional: false]}], "hexpm", "47ac558d8b06f684773972c6d04fcc15590abdb97aeb7666da19fcbfdc441a07"},
2222
"nimble_parsec": {:hex, :nimble_parsec, "1.1.0", "3a6fca1550363552e54c216debb6a9e95bd8d32348938e13de5eda962c0d7f89", [:mix], [], "hexpm", "08eb32d66b706e913ff748f11694b17981c0b04a33ef470e33e11b3d3ac8f54b"},
2323
"parse_trans": {:hex, :parse_trans, "3.3.0", "09765507a3c7590a784615cfd421d101aec25098d50b89d7aa1d66646bc571c1", [:rebar3], [], "hexpm", "17ef63abde837ad30680ea7f857dd9e7ced9476cdd7b0394432af4bfc241b960"},
24-
"postgrex": {:hex, :postgrex, "0.15.9", "46f8fe6f25711aeb861c4d0ae09780facfdf3adbd2fb5594ead61504dd489bda", [:mix], [{:connection, "~> 1.0", [hex: :connection, repo: "hexpm", optional: false]}, {:db_connection, "~> 2.1", [hex: :db_connection, repo: "hexpm", optional: false]}, {:decimal, "~> 1.5 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}], "hexpm", "610719103e4cb2223d4ab78f9f0f3e720320eeca6011415ab4137ddef730adee"},
24+
"postgrex": {:hex, :postgrex, "0.16.3", "fac79a81a9a234b11c44235a4494d8565303fa4b9147acf57e48978a074971db", [:mix], [{:connection, "~> 1.1", [hex: :connection, repo: "hexpm", optional: false]}, {:db_connection, "~> 2.1", [hex: :db_connection, repo: "hexpm", optional: false]}, {:decimal, "~> 1.5 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:table, "~> 0.1.0", [hex: :table, repo: "hexpm", optional: true]}], "hexpm", "aeaae1d2d1322da4e5fe90d241b0a564ce03a3add09d7270fb85362166194590"},
2525
"ssl_verify_fun": {:hex, :ssl_verify_fun, "1.1.5", "6eaf7ad16cb568bb01753dbbd7a95ff8b91c7979482b95f38443fe2c8852a79b", [:make, :mix, :rebar3], [], "hexpm", "13104d7897e38ed7f044c4de953a6c28597d1c952075eb2e328bc6d6f2bfc496"},
26-
"telemetry": {:hex, :telemetry, "0.4.3", "a06428a514bdbc63293cd9a6263aad00ddeb66f608163bdec7c8995784080818", [:rebar3], [], "hexpm", "eb72b8365ffda5bed68a620d1da88525e326cb82a75ee61354fc24b844768041"},
26+
"telemetry": {:hex, :telemetry, "1.1.0", "a589817034a27eab11144ad24d5c0f9fab1f58173274b1e9bae7074af9cbee51", [:rebar3], [], "hexpm", "b727b2a1f75614774cff2d7565b64d0dfa5bd52ba517f16543e6fc7efcc0df48"},
2727
"unicode_util_compat": {:hex, :unicode_util_compat, "0.4.1", "d869e4c68901dd9531385bb0c8c40444ebf624e60b6962d95952775cac5e90cd", [:rebar3], [], "hexpm", "1d1848c40487cdb0b30e8ed975e34e025860c02e419cb615d255849f3427439d"},
2828
}

0 commit comments

Comments
 (0)