aboutsummaryrefslogtreecommitdiff
path: root/src/bun.js/api
diff options
context:
space:
mode:
Diffstat (limited to 'src/bun.js/api')
-rw-r--r--src/bun.js/api/bun.zig2
-rw-r--r--src/bun.js/api/bun/socket.zig4
-rw-r--r--src/bun.js/api/bun/subprocess.zig6
-rw-r--r--src/bun.js/api/html_rewriter.zig15
-rw-r--r--src/bun.js/api/server.zig29
5 files changed, 16 insertions, 40 deletions
diff --git a/src/bun.js/api/bun.zig b/src/bun.js/api/bun.zig
index 31d536000..6b19f138d 100644
--- a/src/bun.js/api/bun.zig
+++ b/src/bun.js/api/bun.zig
@@ -2855,7 +2855,7 @@ pub const Timer = struct {
return;
}
- if (result.asPromise()) |promise| {
+ if (result.asAnyPromise()) |promise| {
switch (promise.status(globalThis.vm())) {
.Rejected => {
this.deinit();
diff --git a/src/bun.js/api/bun/socket.zig b/src/bun.js/api/bun/socket.zig
index cbee356f2..1b0df92f5 100644
--- a/src/bun.js/api/bun/socket.zig
+++ b/src/bun.js/api/bun/socket.zig
@@ -83,13 +83,13 @@ const Handlers = struct {
pub fn resolvePromise(this: *Handlers, value: JSValue) void {
var promise = this.promise.get() orelse return;
this.promise.deinit();
- promise.asPromise().?.resolve(this.globalObject, value);
+ promise.asAnyPromise().?.resolve(this.globalObject, value);
}
pub fn rejectPromise(this: *Handlers, value: JSValue) bool {
var promise = this.promise.get() orelse return false;
this.promise.deinit();
- promise.asPromise().?.reject(this.globalObject, value);
+ promise.asAnyPromise().?.reject(this.globalObject, value);
return true;
}
diff --git a/src/bun.js/api/bun/subprocess.zig b/src/bun.js/api/bun/subprocess.zig
index 6352c936d..3f667491b 100644
--- a/src/bun.js/api/bun/subprocess.zig
+++ b/src/bun.js/api/bun/subprocess.zig
@@ -1516,12 +1516,12 @@ pub const Subprocess = struct {
if (this.hasExited()) {
if (this.exit_promise.trySwap()) |promise| {
if (this.exit_code) |code| {
- promise.asPromise().?.resolve(globalThis, JSValue.jsNumber(code));
+ promise.asAnyPromise().?.resolve(globalThis, JSValue.jsNumber(code));
} else if (this.signal_code != null) {
- promise.asPromise().?.resolve(globalThis, this.getSignalCode(globalThis));
+ promise.asAnyPromise().?.resolve(globalThis, this.getSignalCode(globalThis));
} else if (this.waitpid_err) |err| {
this.waitpid_err = null;
- promise.asPromise().?.reject(globalThis, err.toJSC(globalThis));
+ promise.asAnyPromise().?.reject(globalThis, err.toJSC(globalThis));
} else {
// crash in debug mode
if (comptime Environment.allow_assert)
diff --git a/src/bun.js/api/html_rewriter.zig b/src/bun.js/api/html_rewriter.zig
index 05b110b90..f5abdc734 100644
--- a/src/bun.js/api/html_rewriter.zig
+++ b/src/bun.js/api/html_rewriter.zig
@@ -842,14 +842,7 @@ fn HandlerCallback(
return true;
}
- if (result.asPromise()) |promise| {
- this.global.bunVM().waitForPromise(promise);
- const fail = promise.status(this.global.vm()) == .Rejected;
- if (fail) {
- this.global.bunVM().runErrorHandler(promise.result(this.global.vm()), null);
- }
- return fail;
- } else if (result.asInternalPromise()) |promise| {
+ if (result.asAnyPromise()) |promise| {
this.global.bunVM().waitForPromise(promise);
const fail = promise.status(this.global.vm()) == .Rejected;
if (fail) {
@@ -1462,13 +1455,13 @@ pub const AttributeIterator = struct {
\\ }
\\
\\ #iterator;
- \\
+ \\
\\ [Symbol.iterator]() {
\\ return this;
\\ }
- \\
+ \\
\\ next() {
- \\ if (this.#iterator === null)
+ \\ if (this.#iterator === null)
\\ return {done: true};
\\ var value = this.#iterator.next();
\\ if (!value) {
diff --git a/src/bun.js/api/server.zig b/src/bun.js/api/server.zig
index 384db3a60..e06e1337e 100644
--- a/src/bun.js/api/server.zig
+++ b/src/bun.js/api/server.zig
@@ -999,7 +999,7 @@ fn NewRequestContext(comptime ssl_enabled: bool, comptime debug_mode: bool, comp
if (this.promise) |promise| {
this.pending_promises_for_abort += 1;
this.promise = null;
- promise.asPromise().?.reject(this.server.globalThis, JSC.toTypeError(.ABORT_ERR, "Request aborted", .{}, this.server.globalThis));
+ promise.asAnyPromise().?.reject(this.server.globalThis, JSC.toTypeError(.ABORT_ERR, "Request aborted", .{}, this.server.globalThis));
}
if (this.pending_promises_for_abort > 0) {
@@ -1052,9 +1052,7 @@ fn NewRequestContext(comptime ssl_enabled: bool, comptime debug_mode: bool, comp
if (this.promise) |promise| {
this.promise = null;
- if (promise.asInternalPromise()) |prom| {
- prom.rejectAsHandled(this.server.globalThis, (JSC.toTypeError(.ABORT_ERR, "Request aborted", .{}, this.server.globalThis)));
- } else if (promise.asPromise()) |prom| {
+ if (promise.asAnyPromise()) |prom| {
prom.rejectAsHandled(this.server.globalThis, (JSC.toTypeError(.ABORT_ERR, "Request aborted", .{}, this.server.globalThis)));
}
JSC.C.JSValueUnprotect(this.server.globalThis, promise.asObjectRef());
@@ -1520,7 +1518,7 @@ fn NewRequestContext(comptime ssl_enabled: bool, comptime debug_mode: bool, comp
if (!assignment_result.isEmptyOrUndefinedOrNull()) {
assignment_result.ensureStillAlive();
// it returns a Promise when it goes through ReadableStreamDefaultReader
- if (assignment_result.asPromise()) |promise| {
+ if (assignment_result.asAnyPromise()) |promise| {
streamLog("returned a promise", .{});
switch (promise.status(this.server.globalThis.vm())) {
.Pending => {
@@ -1661,7 +1659,7 @@ fn NewRequestContext(comptime ssl_enabled: bool, comptime debug_mode: bool, comp
var wait_for_promise = false;
var vm = this.vm;
- if (response_value.asPromise()) |promise| {
+ if (response_value.asAnyPromise()) |promise| {
// If we immediately have the value available, we can skip the extra event loop tick
switch (promise.status(vm.global.vm())) {
.Pending => {},
@@ -1713,21 +1711,6 @@ fn NewRequestContext(comptime ssl_enabled: bool, comptime debug_mode: bool, comp
},
}
wait_for_promise = true;
- // I don't think this case should happen
- // But I'm uncertain
- } else if (response_value.asInternalPromise()) |promise| {
- switch (promise.status(vm.global.vm())) {
- .Pending => {},
- .Fulfilled => {
- ctx.handleResolve(promise.result(vm.global.vm()));
- return;
- },
- .Rejected => {
- ctx.handleReject(promise.result(vm.global.vm()));
- return;
- },
- }
- wait_for_promise = true;
}
if (wait_for_promise) {
@@ -2900,7 +2883,7 @@ pub const ServerWebSocket = struct {
return;
}
- if (result.asPromise()) |promise| {
+ if (result.asAnyPromise()) |promise| {
switch (promise.status(globalObject.vm())) {
.Rejected => {
_ = promise.result(globalObject.vm());
@@ -4216,7 +4199,7 @@ pub fn NewServer(comptime ssl_enabled_: bool, comptime debug_mode_: bool) type {
return JSC.JSPromise.rejectedPromiseValue(ctx, ZigString.init("fetch() returned an empty value").toErrorInstance(ctx)).asObjectRef();
}
- if (response_value.asPromise() != null) {
+ if (response_value.asAnyPromise() != null) {
return response_value.asObjectRef();
}