aboutsummaryrefslogtreecommitdiff
path: root/src/bun.js/bindings/ImportMetaObject.cpp
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-09-04 00:54:21 -0700
committerGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-09-04 00:54:21 -0700
commit1112eb75e3bbc4b8afa1c12f7fd06ca3122878a1 (patch)
tree2b2a508df2219037460dbde31ed0d6df9bc9adb0 /src/bun.js/bindings/ImportMetaObject.cpp
parentef268c5ee5d6e873d5f1d61c95d74d93c6f1cc80 (diff)
downloadbun-1112eb75e3bbc4b8afa1c12f7fd06ca3122878a1.tar.gz
bun-1112eb75e3bbc4b8afa1c12f7fd06ca3122878a1.tar.zst
bun-1112eb75e3bbc4b8afa1c12f7fd06ca3122878a1.zip
`[node:module]` Implement `_resolveFileName`, stub `_nodeModulePaths` & `_cache`
Closes https://github.com/oven-sh/bun/issues/1111
Diffstat (limited to 'src/bun.js/bindings/ImportMetaObject.cpp')
-rw-r--r--src/bun.js/bindings/ImportMetaObject.cpp35
1 files changed, 13 insertions, 22 deletions
diff --git a/src/bun.js/bindings/ImportMetaObject.cpp b/src/bun.js/bindings/ImportMetaObject.cpp
index ba1617aa4..17338da5c 100644
--- a/src/bun.js/bindings/ImportMetaObject.cpp
+++ b/src/bun.js/bindings/ImportMetaObject.cpp
@@ -42,9 +42,6 @@ namespace Zig {
using namespace JSC;
using namespace WebCore;
-extern "C" JSC__JSValue Bun__resolve(JSC::JSGlobalObject* global, JSC__JSValue specifier, JSC__JSValue from);
-extern "C" JSC__JSValue Bun__resolveSync(JSC::JSGlobalObject* global, JSC__JSValue specifier, JSC__JSValue from);
-
static EncodedJSValue functionRequireResolve(JSC::JSGlobalObject* globalObject, JSC::CallFrame* callFrame, JSC::EncodedJSValue from)
{
JSC::VM& vm = globalObject->vm();
@@ -161,10 +158,7 @@ JSObject* Zig::ImportMetaObject::createRequireFunction(VM& vm, JSGlobalObject* g
return requireFunction;
}
-static JSC_DECLARE_HOST_FUNCTION(functionImportMeta__resolveSync);
-
-static JSC_DEFINE_HOST_FUNCTION(functionImportMeta__resolveSync,
- (JSC::JSGlobalObject * globalObject, JSC::CallFrame* callFrame))
+extern "C" EncodedJSValue functionImportMeta__resolveSync(JSC::JSGlobalObject* globalObject, JSC::CallFrame* callFrame)
{
JSC::VM& vm = globalObject->vm();
@@ -228,9 +222,9 @@ static JSC_DEFINE_HOST_FUNCTION(functionImportMeta__resolveSync,
}
}
-static JSC_DECLARE_HOST_FUNCTION(functionImportMeta__resolve);
+JSC_DECLARE_HOST_FUNCTION(functionImportMeta__resolve);
-static JSC_DEFINE_HOST_FUNCTION(functionImportMeta__resolve,
+JSC_DEFINE_HOST_FUNCTION(functionImportMeta__resolve,
(JSC::JSGlobalObject * globalObject, JSC::CallFrame* callFrame))
{
JSC::VM& vm = globalObject->vm();
@@ -318,27 +312,24 @@ void ImportMetaObjectPrototype::finishCreation(VM& vm, JSGlobalObject* globalObj
auto* globalObject = reinterpret_cast<Zig::GlobalObject*>(globalObject_);
auto clientData = WebCore::clientData(vm);
- this->putDirect(vm, clientData->builtinNames().filePublicName(), jsEmptyString(vm), 0);
- this->putDirect(vm, clientData->builtinNames().dirPublicName(), jsEmptyString(vm), 0);
- this->putDirect(vm, clientData->builtinNames().pathPublicName(), jsEmptyString(vm), 0);
- this->putDirect(vm, clientData->builtinNames().urlPublicName(), jsEmptyString(vm), 0);
- this->putDirect(vm, clientData->builtinNames().mainPublicName(), jsBoolean(false), 0);
+ auto& builtinNames = clientData->builtinNames();
- String requireString = "[[require]]"_s;
- this->putDirect(vm, clientData->builtinNames().requirePublicName(), Zig::ImportMetaObject::createRequireFunction(vm, globalObject, requireString), PropertyAttribute::Builtin | PropertyAttribute::Function | 0);
+ this->putDirect(vm, builtinNames.filePublicName(), jsEmptyString(vm), 0);
+ this->putDirect(vm, builtinNames.dirPublicName(), jsEmptyString(vm), 0);
+ this->putDirect(vm, builtinNames.pathPublicName(), jsEmptyString(vm), 0);
+ this->putDirect(vm, builtinNames.urlPublicName(), jsEmptyString(vm), 0);
+ this->putDirect(vm, builtinNames.mainPublicName(), jsBoolean(false), 0);
- this->putDirectBuiltinFunction(vm, globalObject,
- clientData->builtinNames().loadModulePublicName(), importMetaObjectLoadModuleCodeGenerator(vm), JSC::PropertyAttribute::DontEnum | JSC::PropertyAttribute::DontDelete | 0);
- this->putDirectBuiltinFunction(vm, globalObject,
- clientData->builtinNames().requireModulePublicName(), importMetaObjectRequireModuleCodeGenerator(vm), JSC::PropertyAttribute::DontEnum | JSC::PropertyAttribute::DontDelete | 0);
+ String requireString = "[[require]]"_s;
+ this->putDirect(vm, builtinNames.requirePublicName(), Zig::ImportMetaObject::createRequireFunction(vm, globalObject, requireString), PropertyAttribute::Builtin | PropertyAttribute::Function | 0);
- this->putDirectNativeFunction(vm, globalObject, clientData->builtinNames().resolvePublicName(), 1,
+ this->putDirectNativeFunction(vm, globalObject, builtinNames.resolvePublicName(), 1,
functionImportMeta__resolve,
ImplementationVisibility::Public,
NoIntrinsic,
JSC::PropertyAttribute::Function | 0);
this->putDirectNativeFunction(
- vm, globalObject, clientData->builtinNames().resolveSyncPublicName(),
+ vm, globalObject, builtinNames.resolveSyncPublicName(),
1,
functionImportMeta__resolveSync,
ImplementationVisibility::Public,