1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00

js,vfmt: fix formatting for JS types; add fetch API (#12608)

This commit is contained in:
playX
2021-11-29 16:32:29 +03:00
committed by GitHub
parent 9825c7e06c
commit ddec89f9ee
6 changed files with 61 additions and 23 deletions

33
vlib/js/js.js.v Normal file
View File

@ -0,0 +1,33 @@
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
}