aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/bun.js/modules/ObjectModule.cpp29
-rw-r--r--src/bun.js/modules/ObjectModule.h26
2 files changed, 31 insertions, 24 deletions
diff --git a/src/bun.js/modules/ObjectModule.cpp b/src/bun.js/modules/ObjectModule.cpp
new file mode 100644
index 000000000..4272bec4e
--- /dev/null
+++ b/src/bun.js/modules/ObjectModule.cpp
@@ -0,0 +1,29 @@
+#include "ObjectModule.h"
+
+namespace Zig {
+JSC::SyntheticSourceProvider::SyntheticSourceGenerator
+generateObjectModuleSourceCode(JSC::JSGlobalObject *globalObject,
+ JSC::JSObject *object) {
+ JSC::VM &vm = globalObject->vm();
+
+ return [object](JSC::JSGlobalObject *lexicalGlobalObject,
+ JSC::Identifier moduleKey,
+ Vector<JSC::Identifier, 4> &exportNames,
+ JSC::MarkedArgumentBuffer &exportValues) -> void {
+ JSC::VM &vm = lexicalGlobalObject->vm();
+ GlobalObject *globalObject =
+ reinterpret_cast<GlobalObject *>(lexicalGlobalObject);
+ JSC::EnsureStillAliveScope stillAlive(object);
+
+ PropertyNameArray properties(vm, PropertyNameMode::Strings,
+ PrivateSymbolMode::Exclude);
+ object->getPropertyNames(globalObject, properties,
+ DontEnumPropertiesMode::Exclude);
+
+ for (auto &entry : properties) {
+ exportNames.append(entry);
+ exportValues.append(object->get(globalObject, entry));
+ }
+ };
+}
+} // namespace Zig \ No newline at end of file
diff --git a/src/bun.js/modules/ObjectModule.h b/src/bun.js/modules/ObjectModule.h
index 3a651b0c4..25a3e5130 100644
--- a/src/bun.js/modules/ObjectModule.h
+++ b/src/bun.js/modules/ObjectModule.h
@@ -4,30 +4,8 @@
#include "JavaScriptCore/JSGlobalObject.h"
namespace Zig {
-inline JSC::SyntheticSourceProvider::SyntheticSourceGenerator
+JSC::SyntheticSourceProvider::SyntheticSourceGenerator
generateObjectModuleSourceCode(JSC::JSGlobalObject *globalObject,
- JSC::JSObject *object) {
- JSC::VM &vm = globalObject->vm();
-
- return [object](JSC::JSGlobalObject *lexicalGlobalObject,
- JSC::Identifier moduleKey,
- Vector<JSC::Identifier, 4> &exportNames,
- JSC::MarkedArgumentBuffer &exportValues) -> void {
- JSC::VM &vm = lexicalGlobalObject->vm();
- GlobalObject *globalObject =
- reinterpret_cast<GlobalObject *>(lexicalGlobalObject);
- JSC::EnsureStillAliveScope stillAlive(object);
-
- PropertyNameArray properties(vm, PropertyNameMode::Strings,
- PrivateSymbolMode::Exclude);
- object->getPropertyNames(globalObject, properties,
- DontEnumPropertiesMode::Exclude);
-
- for (auto &entry : properties) {
- exportNames.append(entry);
- exportValues.append(object->get(globalObject, entry));
- }
- };
-}
+ JSC::JSObject *object);
} // namespace Zig \ No newline at end of file