1 module libwasm.bindings.TestFunctions; 2 3 import libwasm.types; 4 @safe: 5 nothrow: 6 7 alias PromiseReturner = JsPromise!(Any) delegate(); 8 struct TestFunctions { 9 nothrow: 10 JsHandle handle; 11 alias handle this; 12 this(Handle h) { 13 this.handle = JsHandle(h); 14 } 15 void throwUncatchableException()() { 16 Object_Call__void(this.handle, "throwUncatchableException"); 17 } 18 auto passThroughPromise()(scope ref Promise!(Any) arg) { 19 return JsPromise!(Any)(Object_Call_Handle__Handle(this.handle, "passThroughPromise", arg.handle)); 20 } 21 auto passThroughCallbackPromise()(PromiseReturner callback) { 22 return JsPromise!(Any)(TestFunctions_passThroughCallbackPromise(this.handle, callback)); 23 } 24 void setStringData()(string arg) { 25 Object_Call_string__void(this.handle, "setStringData", arg); 26 } 27 string getStringDataAsAString()() { 28 return Object_Getter__string(this.handle, "getStringDataAsAString"); 29 } 30 string getStringDataAsAString()(uint length) { 31 return Object_Call_uint__string(this.handle, "getStringDataAsAString", length); 32 } 33 string getStringDataAsDOMString()(uint length) { 34 return Object_Call_uint__string(this.handle, "getStringDataAsDOMString", length); 35 } 36 string getStringDataAsDOMString()() { 37 return Object_Getter__string(this.handle, "getStringDataAsDOMString"); 38 } 39 void testThrowNsresult()() { 40 Object_Call__void(this.handle, "testThrowNsresult"); 41 } 42 void testThrowNsresultFromNative()() { 43 Object_Call__void(this.handle, "testThrowNsresultFromNative"); 44 } 45 auto throwToRejectPromise()() { 46 return JsPromise!(Any)(Object_Getter__Handle(this.handle, "throwToRejectPromise")); 47 } 48 int one()() { 49 return Object_Getter__int(this.handle, "one"); 50 } 51 int two()() { 52 return Object_Getter__int(this.handle, "two"); 53 } 54 auto toJSON()() { 55 return JsObject(Object_Getter__Handle(this.handle, "toJSON")); 56 } 57 auto wrapperCachedNonISupportsObject()() { 58 return WrapperCachedNonISupportsTestInterface(Object_Getter__Handle(this.handle, "wrapperCachedNonISupportsObject")); 59 } 60 } 61 struct WrapperCachedNonISupportsTestInterface { 62 nothrow: 63 JsHandle handle; 64 alias handle this; 65 this(Handle h) { 66 this.handle = JsHandle(h); 67 } 68 } 69 70 71 extern (C) Handle TestFunctions_passThroughCallbackPromise(Handle, PromiseReturner);