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