mirror of
https://github.com/lightpanda-io/browser.git
synced 2026-03-21 20:24:42 +00:00
give up on switch (comptime kind), prefer union(enum)
This commit is contained in:
@@ -1206,9 +1206,9 @@ pub fn stackTrace(self: *const Local) !?[]const u8 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// == Promise Helpers ==
|
// == Promise Helpers ==
|
||||||
pub fn rejectPromise(self: *const Local, comptime kind: js.PromiseResolver.RejectError) js.Promise {
|
pub fn rejectPromise(self: *const Local, err: js.PromiseResolver.RejectError) js.Promise {
|
||||||
var resolver = js.PromiseResolver.init(self);
|
var resolver = js.PromiseResolver.init(self);
|
||||||
resolver.rejectError("Local.rejectPromise", kind);
|
resolver.rejectError("Local.rejectPromise", err);
|
||||||
return resolver.promise();
|
return resolver.promise();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -20,7 +20,6 @@ const js = @import("js.zig");
|
|||||||
const v8 = js.v8;
|
const v8 = js.v8;
|
||||||
|
|
||||||
const log = @import("../../log.zig");
|
const log = @import("../../log.zig");
|
||||||
const DOMException = @import("../webapi/DOMException.zig");
|
|
||||||
|
|
||||||
const DOMException = @import("../webapi/DOMException.zig");
|
const DOMException = @import("../webapi/DOMException.zig");
|
||||||
|
|
||||||
@@ -67,17 +66,13 @@ pub fn reject(self: PromiseResolver, comptime source: []const u8, value: anytype
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
pub const RejectError = union(enum(u4)) {
|
pub const RejectError = union(enum) {
|
||||||
/// Not to be confused with `DOMException`; this is bare `Error`.
|
/// Not to be confused with `DOMException`; this is bare `Error`.
|
||||||
generic_error: []const u8,
|
generic_error: []const u8,
|
||||||
range_error: []const u8,
|
range_error: []const u8,
|
||||||
reference_error: []const u8,
|
reference_error: []const u8,
|
||||||
syntax_error: []const u8,
|
syntax_error: []const u8,
|
||||||
type_error: []const u8,
|
type_error: []const u8,
|
||||||
wasm_compile_error: void, // TODO.
|
|
||||||
wasm_link_error: void, // TODO.
|
|
||||||
wasm_runtime_error: void, // TODO.
|
|
||||||
wasm_suspend_error: void, // TODO.
|
|
||||||
/// DOM exceptions are unknown to V8, belongs to web standards.
|
/// DOM exceptions are unknown to V8, belongs to web standards.
|
||||||
dom_exception: struct { err: anyerror },
|
dom_exception: struct { err: anyerror },
|
||||||
};
|
};
|
||||||
@@ -86,9 +81,9 @@ pub const RejectError = union(enum(u4)) {
|
|||||||
pub fn rejectError(
|
pub fn rejectError(
|
||||||
self: PromiseResolver,
|
self: PromiseResolver,
|
||||||
comptime source: []const u8,
|
comptime source: []const u8,
|
||||||
comptime kind: RejectError,
|
err: RejectError,
|
||||||
) void {
|
) void {
|
||||||
const handle = switch (kind) {
|
const handle = switch (err) {
|
||||||
.generic_error => |msg| self.local.isolate.createError(msg),
|
.generic_error => |msg| self.local.isolate.createError(msg),
|
||||||
.range_error => |msg| self.local.isolate.createRangeError(msg),
|
.range_error => |msg| self.local.isolate.createRangeError(msg),
|
||||||
.reference_error => |msg| self.local.isolate.createReferenceError(msg),
|
.reference_error => |msg| self.local.isolate.createReferenceError(msg),
|
||||||
@@ -101,7 +96,6 @@ pub fn rejectError(
|
|||||||
};
|
};
|
||||||
return;
|
return;
|
||||||
},
|
},
|
||||||
inline else => unreachable,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
self._reject(js.Value{ .handle = handle, .local = self.local }) catch |reject_err| {
|
self._reject(js.Value{ .handle = handle, .local = self.local }) catch |reject_err| {
|
||||||
|
|||||||
@@ -73,7 +73,7 @@ pub fn getStorage(self: *Navigator) *StorageManager {
|
|||||||
|
|
||||||
pub fn getBattery(_: *const Navigator, page: *Page) !js.Promise {
|
pub fn getBattery(_: *const Navigator, page: *Page) !js.Promise {
|
||||||
log.info(.not_implemented, "navigator.getBattery", .{});
|
log.info(.not_implemented, "navigator.getBattery", .{});
|
||||||
return page.js.local.?.rejectErrorPromise(.{ .dom_exception = error.NotSupported });
|
return page.js.local.?.rejectErrorPromise(.{ .dom_exception = .{ .err = error.NotSupported } });
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn registerProtocolHandler(_: *const Navigator, scheme: []const u8, url: [:0]const u8, page: *const Page) !void {
|
pub fn registerProtocolHandler(_: *const Navigator, scheme: []const u8, url: [:0]const u8, page: *const Page) !void {
|
||||||
|
|||||||
Reference in New Issue
Block a user