1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-11-25 15:29:32 -05:00
denoland-deno/ext/node/polyfills/internal_binding/mod.ts

80 lines
2.3 KiB
TypeScript

// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
// TODO(petamoriken): enable prefer-primordials for node polyfills
// deno-lint-ignore-file prefer-primordials
import * as asyncWrap from "ext:deno_node/internal_binding/async_wrap.ts";
import * as buffer from "ext:deno_node/internal_binding/buffer.ts";
import * as caresWrap from "ext:deno_node/internal_binding/cares_wrap.ts";
import * as constants from "ext:deno_node/internal_binding/constants.ts";
import * as crypto from "ext:deno_node/internal_binding/crypto.ts";
import * as pipeWrap from "ext:deno_node/internal_binding/pipe_wrap.ts";
import * as streamWrap from "ext:deno_node/internal_binding/stream_wrap.ts";
import * as stringDecoder from "ext:deno_node/internal_binding/string_decoder.ts";
import * as symbols from "ext:deno_node/internal_binding/symbols.ts";
import * as tcpWrap from "ext:deno_node/internal_binding/tcp_wrap.ts";
import * as types from "ext:deno_node/internal_binding/types.ts";
import * as udpWrap from "ext:deno_node/internal_binding/udp_wrap.ts";
import * as util from "ext:deno_node/internal_binding/util.ts";
import * as uv from "ext:deno_node/internal_binding/uv.ts";
import * as httpParser from "ext:deno_node/internal_binding/http_parser.ts";
const modules = {
"async_wrap": asyncWrap,
buffer,
"cares_wrap": caresWrap,
config: {},
constants,
contextify: {},
credentials: {},
crypto,
errors: {},
fs: {},
"fs_dir": {},
"fs_event_wrap": {},
"heap_utils": {},
"http_parser": httpParser,
icu: {},
inspector: {},
"js_stream": {},
messaging: {},
"module_wrap": {},
"native_module": {},
natives: {},
options: {},
os: {},
performance: {},
"pipe_wrap": pipeWrap,
"process_methods": {},
report: {},
serdes: {},
"signal_wrap": {},
"spawn_sync": {},
"stream_wrap": streamWrap,
"string_decoder": stringDecoder,
symbols,
"task_queue": {},
"tcp_wrap": tcpWrap,
timers: {},
"tls_wrap": {},
"trace_events": {},
"tty_wrap": {},
types,
"udp_wrap": udpWrap,
url: {},
util,
uv,
v8: {},
worker: {},
zlib: {},
};
export type BindingName = keyof typeof modules;
export function getBinding(name: BindingName) {
const mod = modules[name];
if (!mod) {
throw new Error(`No such module: ${name}`);
}
return mod;
}