1 module libwasm.bindings.PromiseRejectionEvent; 2 3 import libwasm.types; 4 5 import memutils.ct: tuple; 6 import libwasm.bindings.Event; 7 8 @safe: 9 nothrow: 10 11 struct PromiseRejectionEvent { 12 nothrow: 13 libwasm.bindings.Event.Event _parent; 14 alias _parent this; 15 this(Handle h) { 16 _parent = .Event(h); 17 } 18 auto promise()() { 19 return JsPromise!(Any)(Object_Getter__Handle(this._parent, "promise")); 20 } 21 auto reason()() { 22 return Any(Object_Getter__Handle(this._parent, "reason")); 23 } 24 } 25 struct PromiseRejectionEventInit { 26 nothrow: 27 libwasm.bindings.Event.EventInit _parent; 28 alias _parent this; 29 this(Handle h) { 30 _parent = .EventInit(h); 31 } 32 static auto create() { 33 return PromiseRejectionEventInit(libwasm_add__object()); 34 } 35 void promise()(scope ref JsPromise!(Any) promise) { 36 Object_Call_Handle__void(this._parent, "promise", promise.handle); 37 } 38 auto promise()() { 39 return JsPromise!(Any)(Object_Getter__Handle(this._parent, "promise")); 40 } 41 void reason(T0)(scope auto ref T0 reason) { 42 import std.traits : isNumeric, isFloatingPoint, isSomeString; 43 if (isSomeString!T0) { 44 Object_Call_string__void(this._parent, "reason", cast(string) reason); 45 return; 46 } else if (isNumeric!T0 && !isFloatingPoint!T0) { 47 Object_Call_long__void(this._parent, "reason", cast(long) reason); 48 return; 49 } else if (isFloatingPoint!T0) { 50 Object_Call_double__void(this._parent, "reason", cast(double) reason); 51 return; 52 } 53 // Any 54 Handle _handle_reason = getOrCreateHandle(reason); 55 Object_Call_Handle__void(this._parent, "reason", _handle_reason); 56 dropHandle!(T0)(_handle_reason); 57 } 58 auto reason()() { 59 return Any(Object_Getter__Handle(this._parent, "reason")); 60 } 61 } 62 63