Current section

19 Versions

Jump to

Compare versions

4 files changed
+17 additions
-5 deletions
  @@ -13,7 +13,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
13 13
14 14 <!--------------------- Don't add new entries after this line --------------------->
15 15
16 - ## 0.1.4 - 2024-08-11
16 + ## 0.1.5 - 2024-08-24
17 +
18 + ### Added
19 +
20 + - `Kubereq.wait_until/5`: Support returning `{:error, error}` tuple in the callback
21 +
22 + ## 0.1.4 - 2024-08-21
17 23
18 24 ### Fixed
  @@ -3,7 +3,7 @@
3 3 {<<"GitHub">>,<<"https://github.com/mruoss/kubereq">>},
4 4 {<<"Sponsor">>,<<"https://github.com/sponsors/mruoss">>}]}.
5 5 {<<"name">>,<<"kubereq">>}.
6 - {<<"version">>,<<"0.1.4">>}.
6 + {<<"version">>,<<"0.1.5">>}.
7 7 {<<"description">>,<<"A Kubernetes Client using Req.">>}.
8 8 {<<"elixir">>,<<"~> 1.16">>}.
9 9 {<<"app">>,<<"kubereq">>}.
  @@ -38,7 +38,7 @@ defmodule Kubereq do
38 38 """
39 39 alias Kubereq.Step
40 40
41 - @type wait_until_callback :: (map() | :deleted -> boolean)
41 + @type wait_until_callback :: (map() | :deleted -> boolean | {:error, any})
42 42 @type wait_until_response :: :ok | {:error, :watch_timeout}
43 43 @type response() :: {:ok, Req.Response.t()} | {:error, Exception.t()}
44 44 @type namespace :: String.t() | nil
  @@ -335,6 +335,7 @@ defmodule Kubereq do
335 335 result
336 336 else
337 337 {:init, true} -> :ok
338 + {:init, {:error, error}} -> {:error, error}
338 339 {:error, error} -> {:error, error}
339 340 end
340 341 end
  @@ -342,7 +343,12 @@ defmodule Kubereq do
342 343 defp wait_event_loop(ref, callback) do
343 344 receive do
344 345 {^ref, %{"type" => "DELETED"}} ->
345 - if callback.(:deleted), do: :ok, else: wait_event_loop(ref, callback)
346 + case callback.(:deleted) do
347 + true -> :ok
348 + false -> :ok
349 + :ok -> :ok
350 + {:error, error} -> {:error, error}
351 + end
346 352
347 353 {^ref, %{"object" => resource}} ->
348 354 if callback.(resource), do: :ok, else: wait_event_loop(ref, callback)
  @@ -3,7 +3,7 @@ defmodule Kubereq.MixProject do
3 3
4 4 @app :kubereq
5 5 @source_url "https://github.com/mruoss/#{@app}"
6 - @version "0.1.4"
6 + @version "0.1.5"
7 7
8 8 def project do
9 9 [