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:
33
vlib/js/js.js.v
Normal file
33
vlib/js/js.js.v
Normal 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
|
||||
}
|
Reference in New Issue
Block a user