UNPKG

@sebastianwessel/quickjs

Version:

A typescript package to execute JavaScript and TypeScript code in a WebAssembly QuickJS sandbox

37 lines (36 loc) 1.52 kB
import { serializeArrayBuffer } from './serializeArrayBuffer.js'; import { serializeBuffer } from './serializeBuffer.js'; import { serializeDate } from './serializeDate.js'; import { serializeError } from './serializeError.js'; import { serializeHeaders } from './serializeHeaders.js'; import { serializeMap } from './serializeMap.js'; import { serializeSet } from './serializeSet.js'; import { serializeURLSearchParams } from './serializeURLSearchParams.js'; import { serializeUrl } from './serializeUrl.js'; export const serializer = new Map(); /** * Add a new Serializer */ export const addSerializer = (name, fn) => serializer.set(name, fn); /** * Get a Serializer by constructor name */ export const getSerializer = (name) => serializer.get(name); addSerializer('Buffer', serializeBuffer); addSerializer('ArrayBuffer', serializeArrayBuffer); addSerializer('Map', serializeMap); addSerializer('Set', serializeSet); addSerializer('Date', serializeDate); addSerializer('Headers', serializeHeaders); addSerializer('URL', serializeUrl); addSerializer('URLSearchParams', serializeURLSearchParams); // Errors addSerializer('AssertionError', serializeError); addSerializer('Error', serializeError); addSerializer('EvalError', serializeError); addSerializer('RangeError', serializeError); addSerializer('ReferenceError', serializeError); addSerializer('SyntaxError', serializeError); addSerializer('SystemError', serializeError); addSerializer('TypeError', serializeError); addSerializer('URIError', serializeError);