1 module libwasm.bindings.Fetch;
2 
3 import libwasm.types;
4 
5 import memutils.ct: tuple;
6 import libwasm.bindings.Blob;
7 import libwasm.bindings.FormData;
8 import libwasm.bindings.URLSearchParams;
9 
10 @safe:
11 nothrow:
12 
13 struct Body {
14   nothrow:
15   JsHandle handle;
16   alias handle this;
17   this(Handle h) {
18     this.handle = JsHandle(h);
19   }
20   bool bodyUsed()() {
21     return Object_Getter__bool(this.handle, "bodyUsed");
22   }
23   auto arrayBuffer()() {
24     return JsPromise!(ArrayBuffer)(Object_Getter__Handle(this.handle, "arrayBuffer"));
25   }
26   auto blob()() {
27     return JsPromise!(Blob)(Object_Getter__Handle(this.handle, "blob"));
28   }
29   auto formData()() {
30     return JsPromise!(FormData)(Object_Getter__Handle(this.handle, "formData"));
31   }
32   auto json()() {
33     return JsPromise!(JSON)(Object_Getter__Handle(this.handle, "json"));
34   }
35   auto text()() {
36     return JsPromise!(string)(Object_Getter__Handle(this.handle, "text"));
37   }
38 }
39 alias BodyInit = SumType!(Blob, BufferSource, FormData, URLSearchParams, string);
40 struct FetchReadableStreamReadDataArray {
41   nothrow:
42   JsHandle handle;
43   alias handle this;
44   this(Handle h) {
45     this.handle = JsHandle(h);
46   }
47   static auto create() {
48     return FetchReadableStreamReadDataArray(libwasm_add__object());
49   }
50   void value()(scope ref Uint8Array value) {
51     Object_Call_Handle__void(this.handle, "value", value.handle);
52   }
53   auto value()() {
54     return Uint8Array(Object_Getter__Handle(this.handle, "value"));
55   }
56 }
57 struct FetchReadableStreamReadDataDone {
58   nothrow:
59   JsHandle handle;
60   alias handle this;
61   this(Handle h) {
62     this.handle = JsHandle(h);
63   }
64   static auto create() {
65     return FetchReadableStreamReadDataDone(libwasm_add__object());
66   }
67   void done()(bool done) {
68     Object_Call_bool__void(this.handle, "done", done);
69   }
70   bool done()() {
71     return Object_Getter__bool(this.handle, "done");
72   }
73 }
74