@sebastianwessel/quickjs
Version:
A typescript package to execute JavaScript and TypeScript code in a WebAssembly QuickJS sandbox
23 lines (22 loc) • 832 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.serializeMap = void 0;
const helper_js_1 = require("../../helper.js");
const handleToNative_js_1 = require("../handleToNative.js");
const serializeMap = (ctx, handle, rootScope) => {
const m = new Map();
ctx
.newFunction('', (key, value) => {
const k = (0, handleToNative_js_1.handleToNative)(ctx, key, rootScope);
const v = (0, handleToNative_js_1.handleToNative)(ctx, value, rootScope);
m.set(k, v);
})
.consume(f => {
(0, helper_js_1.call)(ctx, 'internal/serializer/serializeMap.js', `(m,fn) => {
for(const [key,value] of m.entries())
fn(key,value)
}`, undefined, handle, f).dispose();
});
return m;
};
exports.serializeMap = serializeMap;