aboutsummaryrefslogtreecommitdiff
path: root/src/bun.js/bindings
diff options
context:
space:
mode:
Diffstat (limited to 'src/bun.js/bindings')
-rw-r--r--src/bun.js/bindings/ZigGlobalObject.cpp19
-rw-r--r--src/bun.js/bindings/bindings.zig10
-rw-r--r--src/bun.js/bindings/exports.zig28
-rw-r--r--src/bun.js/bindings/headers-cpp.h2
-rw-r--r--src/bun.js/bindings/headers.h4
5 files changed, 35 insertions, 28 deletions
diff --git a/src/bun.js/bindings/ZigGlobalObject.cpp b/src/bun.js/bindings/ZigGlobalObject.cpp
index 74b8eab9e..b37e280f3 100644
--- a/src/bun.js/bindings/ZigGlobalObject.cpp
+++ b/src/bun.js/bindings/ZigGlobalObject.cpp
@@ -3585,9 +3585,14 @@ JSC::Identifier GlobalObject::moduleLoaderResolve(JSGlobalObject* globalObject,
res.success = false;
ZigString keyZ = toZigString(key, globalObject);
ZigString referrerZ = referrer && !referrer.isUndefinedOrNull() && referrer.isString() ? toZigString(referrer, globalObject) : ZigStringEmpty;
- Zig__GlobalObject__resolve(&res, globalObject, &keyZ, &referrerZ);
+ ZigString queryString = { 0, 0 };
+ Zig__GlobalObject__resolve(&res, globalObject, &keyZ, &referrerZ, &queryString);
if (res.success) {
+ if (queryString.len > 0) {
+ return JSC::Identifier::fromString(globalObject->vm(), makeString(Zig::toString(res.result.value), Zig::toString(queryString)));
+ }
+
return toIdentifier(res.result.value, globalObject);
} else {
auto scope = DECLARE_THROW_SCOPE(globalObject->vm());
@@ -3612,14 +3617,22 @@ JSC::JSInternalPromise* GlobalObject::moduleLoaderImportModule(JSGlobalObject* g
ErrorableZigString resolved;
auto moduleNameZ = toZigString(moduleNameValue, globalObject);
auto sourceOriginZ = sourceURL.isEmpty() ? ZigStringCwd : toZigString(sourceURL.fileSystemPath());
+ ZigString queryString = { 0, 0 };
resolved.success = false;
- Zig__GlobalObject__resolve(&resolved, globalObject, &moduleNameZ, &sourceOriginZ);
+ Zig__GlobalObject__resolve(&resolved, globalObject, &moduleNameZ, &sourceOriginZ, &queryString);
if (!resolved.success) {
throwException(scope, resolved.result.err, globalObject);
return promise->rejectWithCaughtException(globalObject, scope);
}
- auto result = JSC::importModule(globalObject, toIdentifier(resolved.result.value, globalObject),
+ JSC::Identifier resolvedIdentifier;
+ if (queryString.len == 0) {
+ resolvedIdentifier = toIdentifier(resolved.result.value, globalObject);
+ } else {
+ resolvedIdentifier = JSC::Identifier::fromString(vm, makeString(Zig::toString(resolved.result.value), Zig::toString(queryString)));
+ }
+
+ auto result = JSC::importModule(globalObject, resolvedIdentifier,
JSC::jsUndefined(), parameters, JSC::jsUndefined());
RETURN_IF_EXCEPTION(scope, promise->rejectWithCaughtException(globalObject, scope));
diff --git a/src/bun.js/bindings/bindings.zig b/src/bun.js/bindings/bindings.zig
index 49e0fad23..d77a9dbb6 100644
--- a/src/bun.js/bindings/bindings.zig
+++ b/src/bun.js/bindings/bindings.zig
@@ -1354,9 +1354,15 @@ pub fn NewGlobalObject(comptime Type: type) type {
}
return ErrorableZigString.err(error.ImportFailed, ZigString.init(importNotImpl).toErrorInstance(global).asVoid());
}
- pub fn resolve(res: *ErrorableZigString, global: *JSGlobalObject, specifier: *ZigString, source: *ZigString) callconv(.C) void {
+ pub fn resolve(
+ res: *ErrorableZigString,
+ global: *JSGlobalObject,
+ specifier: *ZigString,
+ source: *ZigString,
+ query_string: *ZigString,
+ ) callconv(.C) void {
if (comptime @hasDecl(Type, "resolve")) {
- @call(.always_inline, Type.resolve, .{ res, global, specifier.*, source.*, true });
+ @call(.always_inline, Type.resolve, .{ res, global, specifier.*, source.*, query_string, true });
return;
}
res.* = ErrorableZigString.err(error.ResolveFailed, ZigString.init(resolveNotImpl).toErrorInstance(global).asVoid());
diff --git a/src/bun.js/bindings/exports.zig b/src/bun.js/bindings/exports.zig
index d4956b1c4..54d855d23 100644
--- a/src/bun.js/bindings/exports.zig
+++ b/src/bun.js/bindings/exports.zig
@@ -54,43 +54,31 @@ pub const ZigGlobalObject = extern struct {
}
pub fn import(global: *JSGlobalObject, specifier: *ZigString, source: *ZigString) callconv(.C) ErrorableZigString {
- if (comptime is_bindgen) {
- unreachable;
- }
+ JSC.markBinding(@src());
return @call(.always_inline, Interface.import, .{ global, specifier, source });
}
- pub fn resolve(res: *ErrorableZigString, global: *JSGlobalObject, specifier: *ZigString, source: *ZigString) callconv(.C) void {
- if (comptime is_bindgen) {
- unreachable;
- }
- @call(.always_inline, Interface.resolve, .{ res, global, specifier, source });
+ pub fn resolve(res: *ErrorableZigString, global: *JSGlobalObject, specifier: *ZigString, source: *ZigString, query: *ZigString) callconv(.C) void {
+ JSC.markBinding(@src());
+ @call(.always_inline, Interface.resolve, .{ res, global, specifier, source, query });
}
pub fn fetch(ret: *ErrorableResolvedSource, global: *JSGlobalObject, specifier: *ZigString, source: *ZigString) callconv(.C) void {
- if (comptime is_bindgen) {
- unreachable;
- }
+ JSC.markBinding(@src());
@call(.always_inline, Interface.fetch, .{ ret, global, specifier, source });
}
pub fn promiseRejectionTracker(global: *JSGlobalObject, promise: *JSPromise, rejection: JSPromiseRejectionOperation) callconv(.C) JSValue {
- if (comptime is_bindgen) {
- unreachable;
- }
+ JSC.markBinding(@src());
return @call(.always_inline, Interface.promiseRejectionTracker, .{ global, promise, rejection });
}
pub fn reportUncaughtException(global: *JSGlobalObject, exception: *Exception) callconv(.C) JSValue {
- if (comptime is_bindgen) {
- unreachable;
- }
+ JSC.markBinding(@src());
return @call(.always_inline, Interface.reportUncaughtException, .{ global, exception });
}
pub fn onCrash() callconv(.C) void {
- if (comptime is_bindgen) {
- unreachable;
- }
+ JSC.markBinding(@src());
return @call(.always_inline, Interface.onCrash, .{});
}
diff --git a/src/bun.js/bindings/headers-cpp.h b/src/bun.js/bindings/headers-cpp.h
index a05007fff..969134e50 100644
--- a/src/bun.js/bindings/headers-cpp.h
+++ b/src/bun.js/bindings/headers-cpp.h
@@ -1,4 +1,4 @@
-//-- AUTOGENERATED FILE -- 1673376494
+//-- AUTOGENERATED FILE -- 1674359227
// clang-format off
#pragma once
diff --git a/src/bun.js/bindings/headers.h b/src/bun.js/bindings/headers.h
index 71a8d1034..269698a98 100644
--- a/src/bun.js/bindings/headers.h
+++ b/src/bun.js/bindings/headers.h
@@ -1,5 +1,5 @@
// clang-format off
-//-- AUTOGENERATED FILE -- 1673376494
+//-- AUTOGENERATED FILE -- 1674359227
#pragma once
#include <stddef.h>
@@ -521,7 +521,7 @@ ZIG_DECL ErrorableZigString Zig__GlobalObject__import(JSC__JSGlobalObject* arg0,
ZIG_DECL void Zig__GlobalObject__onCrash();
ZIG_DECL JSC__JSValue Zig__GlobalObject__promiseRejectionTracker(JSC__JSGlobalObject* arg0, JSC__JSPromise* arg1, uint32_t JSPromiseRejectionOperation2);
ZIG_DECL JSC__JSValue Zig__GlobalObject__reportUncaughtException(JSC__JSGlobalObject* arg0, JSC__Exception* arg1);
-ZIG_DECL void Zig__GlobalObject__resolve(ErrorableZigString* arg0, JSC__JSGlobalObject* arg1, ZigString* arg2, ZigString* arg3);
+ZIG_DECL void Zig__GlobalObject__resolve(ErrorableZigString* arg0, JSC__JSGlobalObject* arg1, ZigString* arg2, ZigString* arg3, ZigString* arg4);
#endif