1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
|
// 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";
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": {},
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;
}
|