mirror of
https://github.com/MercuryWorkshop/scramjet.git
synced 2025-05-17 16:10:02 -04:00
update rewriter
This commit is contained in:
parent
0fef6e8853
commit
034c8e1c6d
1 changed files with 17 additions and 14 deletions
|
@ -33,36 +33,39 @@ fn create_encode_function(encode: JsValue) -> EncodeFn {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
fn get_obj(config: &JsValue, k: &str) -> JsValue {
|
fn get_obj(obj: &JsValue, k: &str) -> JsValue {
|
||||||
Reflect::get(config, &k.into()).unwrap()
|
Reflect::get(obj, &k.into()).unwrap()
|
||||||
}
|
}
|
||||||
|
|
||||||
fn get_str(config: &JsValue, k: &str) -> String {
|
fn get_str(obj: &JsValue, k: &str) -> String {
|
||||||
Reflect::get(config, &k.into())
|
Reflect::get(obj, &k.into())
|
||||||
.unwrap()
|
.unwrap()
|
||||||
.as_string()
|
.as_string()
|
||||||
.unwrap()
|
.unwrap()
|
||||||
}
|
}
|
||||||
|
|
||||||
fn get_config(config: Object) -> Config {
|
fn get_config(scramjet: &Object) -> Config {
|
||||||
|
let codec = &get_obj(scramjet, "codec");
|
||||||
|
let config = &get_obj(scramjet, "config");
|
||||||
|
|
||||||
Config {
|
Config {
|
||||||
prefix: get_str(&config, "prefix"),
|
prefix: get_str(config, "prefix"),
|
||||||
encode: create_encode_function(get_obj(&get_obj(&config, "codec"), "encode")),
|
encode: create_encode_function(get_obj(codec, "encode")),
|
||||||
wrapfn: get_str(&config, "wrapfn"),
|
wrapfn: get_str(config, "wrapfn"),
|
||||||
importfn: get_str(&config, "importfn"),
|
importfn: get_str(config, "importfn"),
|
||||||
rewritefn: get_str(&config, "rewritefn"),
|
rewritefn: get_str(config, "rewritefn"),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[wasm_bindgen]
|
#[wasm_bindgen]
|
||||||
pub fn rewrite_js(js: &str, url: &str, config: Object) -> Vec<u8> {
|
pub fn rewrite_js(js: &str, url: &str, scramjet: &Object) -> Vec<u8> {
|
||||||
rewrite(js, Url::from_str(url).unwrap(), get_config(config))
|
rewrite(js, Url::from_str(url).unwrap(), get_config(scramjet))
|
||||||
}
|
}
|
||||||
|
|
||||||
#[wasm_bindgen]
|
#[wasm_bindgen]
|
||||||
pub fn rewrite_js_from_arraybuffer(js: &[u8], url: &str, config: Object) -> Vec<u8> {
|
pub fn rewrite_js_from_arraybuffer(js: &[u8], url: &str, scramjet: &Object) -> Vec<u8> {
|
||||||
// we know that this is a valid utf-8 string
|
// we know that this is a valid utf-8 string
|
||||||
let js = unsafe { std::str::from_utf8_unchecked(js) };
|
let js = unsafe { std::str::from_utf8_unchecked(js) };
|
||||||
|
|
||||||
rewrite(js, Url::from_str(url).unwrap(), get_config(config))
|
rewrite(js, Url::from_str(url).unwrap(), get_config(scramjet))
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue