-
Notifications
You must be signed in to change notification settings - Fork 4.1k
Expand file tree
/
Copy pathProcessBindingNatives.cpp
More file actions
199 lines (188 loc) · 14 KB
/
ProcessBindingNatives.cpp
File metadata and controls
199 lines (188 loc) · 14 KB
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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
// Modelled off of https://github.com/nodejs/node/blob/main/src/node_constants.cc
// Note that if you change any of this code, you probably also have to change NodeConstantsModule.h
#include "ProcessBindingNatives.h"
#include "JavaScriptCore/ObjectConstructor.h"
namespace Bun {
using namespace JSC;
static JSValue processBindingNativesGetter(VM& vm, JSObject* bindingObject)
{
// Instead of actually returning our source code, we just return a dummy string.
// Most people just use `process.binding('natives')` to get a list of builtin modules
// We also don't report internal modules.
// If any of this breaks your package, please open an issue.
return jsString(vm, String("/* [native code] */"_s));
}
static JSValue processBindingNativesReturnUndefined(VM& vm, JSObject* bindingObject)
{
// process.binding('natives').config === undefined
return jsUndefined();
}
// TODO: generate this table
/* Source for ProcessBindingNatives.lut.h
@begin processBindingNativesTable
_http_agent processBindingNativesGetter PropertyCallback
_http_client processBindingNativesGetter PropertyCallback
_http_common processBindingNativesGetter PropertyCallback
_http_incoming processBindingNativesGetter PropertyCallback
_http_outgoing processBindingNativesGetter PropertyCallback
_http_server processBindingNativesGetter PropertyCallback
_stream_duplex processBindingNativesGetter PropertyCallback
_stream_passthrough processBindingNativesGetter PropertyCallback
_stream_readable processBindingNativesGetter PropertyCallback
_stream_transform processBindingNativesGetter PropertyCallback
_stream_wrap processBindingNativesGetter PropertyCallback
_stream_writable processBindingNativesGetter PropertyCallback
_tls_common processBindingNativesGetter PropertyCallback
_tls_wrap processBindingNativesGetter PropertyCallback
assert processBindingNativesGetter PropertyCallback
assert/strict processBindingNativesGetter PropertyCallback
async_hooks processBindingNativesGetter PropertyCallback
buffer processBindingNativesGetter PropertyCallback
child_process processBindingNativesGetter PropertyCallback
cluster processBindingNativesGetter PropertyCallback
console processBindingNativesGetter PropertyCallback
constants processBindingNativesGetter PropertyCallback
crypto processBindingNativesGetter PropertyCallback
dgram processBindingNativesGetter PropertyCallback
diagnostics_channel processBindingNativesGetter PropertyCallback
dns processBindingNativesGetter PropertyCallback
dns/promises processBindingNativesGetter PropertyCallback
domain processBindingNativesGetter PropertyCallback
events processBindingNativesGetter PropertyCallback
fs processBindingNativesGetter PropertyCallback
fs/promises processBindingNativesGetter PropertyCallback
http processBindingNativesGetter PropertyCallback
http2 processBindingNativesGetter PropertyCallback
https processBindingNativesGetter PropertyCallback
inspector processBindingNativesGetter PropertyCallback
inspector/promises processBindingNativesGetter PropertyCallback
module processBindingNativesGetter PropertyCallback
net processBindingNativesGetter PropertyCallback
os processBindingNativesGetter PropertyCallback
path processBindingNativesGetter PropertyCallback
path/posix processBindingNativesGetter PropertyCallback
path/win32 processBindingNativesGetter PropertyCallback
perf_hooks processBindingNativesGetter PropertyCallback
process processBindingNativesGetter PropertyCallback
punycode processBindingNativesGetter PropertyCallback
querystring processBindingNativesGetter PropertyCallback
readline processBindingNativesGetter PropertyCallback
readline/promises processBindingNativesGetter PropertyCallback
repl processBindingNativesGetter PropertyCallback
stream processBindingNativesGetter PropertyCallback
stream/consumers processBindingNativesGetter PropertyCallback
stream/promises processBindingNativesGetter PropertyCallback
stream/web processBindingNativesGetter PropertyCallback
string_decoder processBindingNativesGetter PropertyCallback
sys processBindingNativesGetter PropertyCallback
test processBindingNativesGetter PropertyCallback
test/reporters processBindingNativesGetter PropertyCallback
timers processBindingNativesGetter PropertyCallback
timers/promises processBindingNativesGetter PropertyCallback
tls processBindingNativesGetter PropertyCallback
trace_events processBindingNativesGetter PropertyCallback
tty processBindingNativesGetter PropertyCallback
url processBindingNativesGetter PropertyCallback
util processBindingNativesGetter PropertyCallback
util/types processBindingNativesGetter PropertyCallback
v8 processBindingNativesGetter PropertyCallback
vm processBindingNativesGetter PropertyCallback
wasi processBindingNativesGetter PropertyCallback
worker_threads processBindingNativesGetter PropertyCallback
zlib processBindingNativesGetter PropertyCallback
configs processBindingNativesReturnUndefined PropertyCallback
internal/abort_listener processBindingNativesGetter PropertyCallback
internal/assert/assertion_error processBindingNativesGetter PropertyCallback
internal/assert/calltracker processBindingNativesGetter PropertyCallback
internal/assert/myers_diff processBindingNativesGetter PropertyCallback
internal/assert/utils processBindingNativesGetter PropertyCallback
internal/buffer processBindingNativesGetter PropertyCallback
internal/cluster/child processBindingNativesGetter PropertyCallback
internal/cluster/isPrimary processBindingNativesGetter PropertyCallback
internal/cluster/primary processBindingNativesGetter PropertyCallback
internal/cluster/RoundRobinHandle processBindingNativesGetter PropertyCallback
internal/cluster/Worker processBindingNativesGetter PropertyCallback
internal/crypto/x509 processBindingNativesGetter PropertyCallback
internal/debugger processBindingNativesGetter PropertyCallback
internal/errors processBindingNativesGetter PropertyCallback
internal/fifo processBindingNativesGetter PropertyCallback
internal/fixed_queue processBindingNativesGetter PropertyCallback
internal/freelist processBindingNativesGetter PropertyCallback
internal/fs/cp-sync processBindingNativesGetter PropertyCallback
internal/fs/cp processBindingNativesGetter PropertyCallback
internal/fs/glob processBindingNativesGetter PropertyCallback
internal/fs/streams processBindingNativesGetter PropertyCallback
internal/html processBindingNativesGetter PropertyCallback
internal/mdx processBindingNativesGetter PropertyCallback
internal/http processBindingNativesGetter PropertyCallback
internal/http/FakeSocket processBindingNativesGetter PropertyCallback
internal/linkedlist processBindingNativesGetter PropertyCallback
internal/perf_hooks/monitorEventLoopDelay processBindingNativesGetter PropertyCallback
internal/primordials.js processBindingNativesGetter PropertyCallback
internal/promisify processBindingNativesGetter PropertyCallback
internal/shared processBindingNativesGetter PropertyCallback
internal/sql/errors processBindingNativesGetter PropertyCallback
internal/sql/mysql processBindingNativesGetter PropertyCallback
internal/sql/postgres processBindingNativesGetter PropertyCallback
internal/sql/query processBindingNativesGetter PropertyCallback
internal/sql/shared processBindingNativesGetter PropertyCallback
internal/sql/sqlite processBindingNativesGetter PropertyCallback
internal/stream.promises processBindingNativesGetter PropertyCallback
internal/stream processBindingNativesGetter PropertyCallback
internal/streams/add-abort-signal processBindingNativesGetter PropertyCallback
internal/streams/compose processBindingNativesGetter PropertyCallback
internal/streams/destroy processBindingNativesGetter PropertyCallback
internal/streams/duplex processBindingNativesGetter PropertyCallback
internal/streams/duplexify processBindingNativesGetter PropertyCallback
internal/streams/duplexpair processBindingNativesGetter PropertyCallback
internal/streams/end-of-stream processBindingNativesGetter PropertyCallback
internal/streams/from processBindingNativesGetter PropertyCallback
internal/streams/lazy_transform processBindingNativesGetter PropertyCallback
internal/streams/legacy processBindingNativesGetter PropertyCallback
internal/streams/native-readable processBindingNativesGetter PropertyCallback
internal/streams/operators processBindingNativesGetter PropertyCallback
internal/streams/passthrough processBindingNativesGetter PropertyCallback
internal/streams/pipeline processBindingNativesGetter PropertyCallback
internal/streams/readable processBindingNativesGetter PropertyCallback
internal/streams/state processBindingNativesGetter PropertyCallback
internal/streams/transform processBindingNativesGetter PropertyCallback
internal/streams/utils processBindingNativesGetter PropertyCallback
internal/streams/writable processBindingNativesGetter PropertyCallback
internal/timers processBindingNativesGetter PropertyCallback
internal/tls processBindingNativesGetter PropertyCallback
internal/tty processBindingNativesGetter PropertyCallback
internal/url processBindingNativesGetter PropertyCallback
internal/util/colors processBindingNativesGetter PropertyCallback
internal/util/deprecate processBindingNativesGetter PropertyCallback
internal/util/inspect processBindingNativesGetter PropertyCallback
internal/util/mime processBindingNativesGetter PropertyCallback
internal/validators processBindingNativesGetter PropertyCallback
internal/webstreams_adapters processBindingNativesGetter PropertyCallback
@end
*/
#include "ProcessBindingNatives.lut.h"
const ClassInfo ProcessBindingNatives::s_info = { "ProcessBindingNatives"_s, &Base::s_info, &processBindingNativesTable, nullptr, CREATE_METHOD_TABLE(ProcessBindingNatives) };
ProcessBindingNatives* ProcessBindingNatives::create(VM& vm, Structure* structure)
{
ProcessBindingNatives* obj = new (NotNull, allocateCell<ProcessBindingNatives>(vm)) ProcessBindingNatives(vm, structure);
obj->finishCreation(vm);
return obj;
}
Structure* ProcessBindingNatives::createStructure(VM& vm, JSGlobalObject* globalObject)
{
return Structure::create(vm, globalObject, jsNull(), TypeInfo(ObjectType, StructureFlags), ProcessBindingNatives::info());
}
void ProcessBindingNatives::finishCreation(JSC::VM& vm)
{
Base::finishCreation(vm);
ASSERT(inherits(info()));
}
template<typename Visitor>
void ProcessBindingNatives::visitChildrenImpl(JSCell* cell, Visitor& visitor)
{
ProcessBindingNatives* thisObject = jsCast<ProcessBindingNatives*>(cell);
ASSERT_GC_OBJECT_INHERITS(thisObject, info());
Base::visitChildren(thisObject, visitor);
}
DEFINE_VISIT_CHILDREN(ProcessBindingNatives);
} // namespace Bun