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);