-module(fused@promise).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/fused/promise.gleam").
-export([await/2, await_list/1, map/2, map_try/2, rescue/2, resolve/1, tap/2, try_await/2]).
-file("src/fused/promise.gleam", 11).
-spec await(FUB, fun((FUB) -> FUD)) -> FUD.
await(A, B) ->
fused@sync@promise:await(A, B).
-file("src/fused/promise.gleam", 15).
-spec await_list(list(FUG)) -> list(FUG).
await_list(Xs) ->
fused@sync@promise:await_list(Xs).
-file("src/fused/promise.gleam", 19).
-spec map(FUL, fun((FUL) -> FUN)) -> FUN.
map(A, B) ->
fused@sync@promise:map(A, B).
-file("src/fused/promise.gleam", 23).
-spec map_try({ok, FUP} | {error, FUQ}, fun((FUP) -> {ok, FUU} | {error, FUQ})) -> {ok,
FUU} |
{error, FUQ}.
map_try(Promise, Callback) ->
fused@sync@promise:map_try(Promise, Callback).
-file("src/fused/promise.gleam", 30).
-spec rescue(FVA, fun((gleam@dynamic:dynamic_()) -> FVA)) -> FVA.
rescue(A, B) ->
fused@sync@promise:rescue(A, B).
-file("src/fused/promise.gleam", 34).
-spec resolve(FVD) -> FVD.
resolve(A) ->
fused@sync@promise:resolve(A).
-file("src/fused/promise.gleam", 38).
-spec tap(FVF, fun((FVF) -> any())) -> FVF.
tap(Promise, Callback) ->
fused@sync@promise:tap(Promise, Callback).
-file("src/fused/promise.gleam", 42).
-spec try_await(
{ok, FVJ} | {error, FVK},
fun((FVJ) -> {ok, FVO} | {error, FVK})
) -> {ok, FVO} | {error, FVK}.
try_await(Promise, Callback) ->
fused@sync@promise:try_await(Promise, Callback).