@sebastianwessel/quickjs
Version:
A typescript package to execute JavaScript and TypeScript code in a WebAssembly QuickJS sandbox
19 lines (18 loc) • 617 B
JavaScript
import { call } from '../../helper.js';
import { handleToNative } from '../handleToNative.js';
export const serializeError = (ctx, handle) => {
const d = new Error();
ctx
.newFunction('serializeError', (value, name) => {
const v = handleToNative(ctx, value);
const n = handleToNative(ctx, name);
Object.defineProperties(d, v);
d.name = n;
})
.consume(f => {
call(ctx, 'internal/serializer/serializeError.js', `(d,fn) => {
fn(Object.getOwnPropertyDescriptors(d),d.name)
}`, undefined, handle, f).dispose();
});
return d;
};