mirror of
https://github.com/fluencelabs/wasm-bindgen
synced 2025-06-12 04:21:21 +00:00
Merge pull request #100 from sendilkumarn/remove-coder-func
Reduce the JS file size and optimizing encoder and decoder functions
This commit is contained in:
@ -568,7 +568,7 @@ impl<'a> Context<'a> {
|
||||
self.globals.push_str(&format!("
|
||||
function passStringToWasm(arg) {{
|
||||
{}
|
||||
const buf = textEncoder().encode(arg);
|
||||
const buf = cachedEncoder.encode(arg);
|
||||
const ptr = wasm.__wbindgen_malloc(buf.length);
|
||||
getUint8Memory().set(buf, ptr);
|
||||
return [ptr, buf.length];
|
||||
@ -655,7 +655,7 @@ impl<'a> Context<'a> {
|
||||
}
|
||||
if self.config.nodejs {
|
||||
self.globals.push_str(&format!("
|
||||
const TextEncoder = require('util');
|
||||
const TextEncoder = require('util').TextEncoder;
|
||||
"));
|
||||
} else if !self.config.browser {
|
||||
self.globals.push_str(&format!("
|
||||
@ -665,13 +665,7 @@ impl<'a> Context<'a> {
|
||||
"));
|
||||
}
|
||||
self.globals.push_str(&format!("
|
||||
let cachedEncoder = null;
|
||||
function textEncoder() {{
|
||||
if (cachedEncoder)
|
||||
return cachedEncoder;
|
||||
cachedEncoder = new TextEncoder('utf-8');
|
||||
return cachedEncoder;
|
||||
}}
|
||||
let cachedEncoder = new TextEncoder('utf-8');
|
||||
"));
|
||||
}
|
||||
|
||||
@ -691,13 +685,7 @@ impl<'a> Context<'a> {
|
||||
"));
|
||||
}
|
||||
self.globals.push_str(&format!("
|
||||
let cachedDecoder = null;
|
||||
function textDecoder() {{
|
||||
if (cachedDecoder)
|
||||
return cachedDecoder;
|
||||
cachedDecoder = new TextDecoder('utf-8');
|
||||
return cachedDecoder;
|
||||
}}
|
||||
let cachedDecoder = new TextDecoder('utf-8');
|
||||
"));
|
||||
}
|
||||
|
||||
@ -709,7 +697,7 @@ impl<'a> Context<'a> {
|
||||
self.expose_uint8_memory();
|
||||
self.globals.push_str(&format!("
|
||||
function getStringFromWasm(ptr, len) {{
|
||||
return textDecoder().decode(getUint8Memory().slice(ptr, ptr + len));
|
||||
return cachedDecoder.decode(getUint8Memory().slice(ptr, ptr + len));
|
||||
}}
|
||||
"));
|
||||
}
|
||||
|
Reference in New Issue
Block a user