34 lines
660 B
V
34 lines
660 B
V
module js
|
|
|
|
import js.promise
|
|
|
|
pub fn JS.fetch(input JS.String, init JS.Object) JS.Promise
|
|
|
|
pub interface JS.Body {
|
|
body JS.Uint8Array
|
|
bodyUse JS.Boolean
|
|
blob() JS.Promise
|
|
json() JS.Promise
|
|
text() JS.Promise
|
|
}
|
|
|
|
pub interface JS.Response {
|
|
JS.Body
|
|
ok JS.Boolean
|
|
redirected JS.Boolean
|
|
status JS.Number
|
|
statusText JS.String
|
|
url JS.String
|
|
clone() JS.Response
|
|
}
|
|
|
|
pub fn fetch(input string, init map[string]JS.Any) promise.Promise<JS.Response, JS.String> {
|
|
p_init := JS.Any(voidptr(0))
|
|
p := promise.Promise<JS.Response,String>{p_init}
|
|
|
|
#let obj = {}; for (let [key,val] of init.map) { obj[key] = val; }
|
|
#p.promise = fetch(input.str,obj);
|
|
|
|
return p
|
|
}
|