@sebastianwessel/quickjs
Version:
A typescript package to execute JavaScript and TypeScript code in a WebAssembly QuickJS sandbox
19 lines (18 loc) • 580 B
JavaScript
import { call } from '../../helper.js';
import { handleToNative } from '../handleToNative.js';
export const serializeMap = (ctx, handle) => {
const m = new Map();
ctx
.newFunction('', (key, value) => {
const k = handleToNative(ctx, key);
const v = handleToNative(ctx, value);
m.set(k, v);
})
.consume(f => {
call(ctx, 'internal/serializer/serializeMap.js', `(m,fn) => {
for(const [key,value] of m.entries())
fn(key,value)
}`, undefined, handle, f).dispose();
});
return m;
};