From d2397b60e79e4386c6a7b7a9783a6f8e379a5ae0 Mon Sep 17 00:00:00 2001 From: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> Date: Mon, 5 Sep 2022 05:16:21 -0700 Subject: Move `generateObjectModuleSourceCode` to separate file to fix build error --- src/bun.js/modules/ObjectModule.cpp | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 src/bun.js/modules/ObjectModule.cpp (limited to 'src/bun.js/modules/ObjectModule.cpp') 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 &exportNames, + JSC::MarkedArgumentBuffer &exportValues) -> void { + JSC::VM &vm = lexicalGlobalObject->vm(); + GlobalObject *globalObject = + reinterpret_cast(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 -- cgit v1.2.3