zigar.function.Promise(T).any(self) - chung-leong/zigar GitHub Wiki
Convert the promise to one whose yield()
method accepts anyerror
.
Example:
const std = @import("std");
const zigar = @import("zigar");
fn hello() error{PantsOnFire}!void {
return error.PantsOnFire;
}
fn resolve(_: ?*anyopaque, _: error{PantsOnFire}!void) void {
return;
}
comptime {
const promise1: zigar.function.PromiseOf(hello) = .{ .ptr = null, .callback = &resolve };
const promise2 = promise1.any();
std.debug.assert(@TypeOf(promise2) == zigar.function.Promise(anyerror!void));
}
Arguments:
self
:@This()
Return value:
Promise(anyerror!@typeInfo(T).error_union.payload)