diff options
Diffstat (limited to 'src/bun.js/api')
-rw-r--r-- | src/bun.js/api/bun.zig | 2 | ||||
-rw-r--r-- | src/bun.js/api/bun/socket.zig | 4 | ||||
-rw-r--r-- | src/bun.js/api/bun/subprocess.zig | 6 | ||||
-rw-r--r-- | src/bun.js/api/html_rewriter.zig | 15 | ||||
-rw-r--r-- | src/bun.js/api/server.zig | 29 |
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(); } |