diff options
author | 2022-09-04 00:54:21 -0700 | |
---|---|---|
committer | 2022-09-04 00:54:21 -0700 | |
commit | 1112eb75e3bbc4b8afa1c12f7fd06ca3122878a1 (patch) | |
tree | 2b2a508df2219037460dbde31ed0d6df9bc9adb0 /src/bun.js/bindings/ImportMetaObject.cpp | |
parent | ef268c5ee5d6e873d5f1d61c95d74d93c6f1cc80 (diff) | |
download | bun-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.cpp | 35 |
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, |