This is the last of the big changes to the js code

This Pr largely tightens up a lot of the code. 'v8' is no longer imported
outside of js. A number of helper functions have been moved to the js.Context.
For example, js.Function.getName used to call:

```zig
return js.valueToString(allocator, name, self.context.isolate, self.context.v8_context);
```

It now calls:

```zig
return self.context.valueToString(name, .{ .allocator = allocator });
```

Page.main_context has been renamed to `Page.js`. This, in combination with new
promise helpers, turns:

```zig
const resolver = page.main_context.createPromiseResolver();
try resolver.resolve({});
return resolver.promise();
```

into:

```zig
return page.js.resolvePromise({});
```
This commit is contained in:
Karl Seguin
2025-10-03 13:19:53 +08:00
parent 432e3c3a5e
commit 2e734fae57
31 changed files with 882 additions and 944 deletions

View File

@@ -123,7 +123,7 @@ fn run(
_ = page.wait(2000);
const js_context = page.main_context;
const js_context = page.js;
var try_catch: js.TryCatch = undefined;
try_catch.init(js_context);
defer try_catch.deinit();