From abab10b2ccded70c7807a24e0b2f88a9fbef57ff Mon Sep 17 00:00:00 2001 From: Halil Durak Date: Thu, 19 Feb 2026 10:03:04 +0300 Subject: [PATCH] move `createTypedArray` to `Local` --- src/browser/js/Context.zig | 7 ------- src/browser/js/Local.zig | 6 ++++++ src/browser/webapi/ImageData.zig | 2 +- 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/src/browser/js/Context.zig b/src/browser/js/Context.zig index f2b65ce3..de9c4849 100644 --- a/src/browser/js/Context.zig +++ b/src/browser/js/Context.zig @@ -1045,13 +1045,6 @@ pub const FinalizerCallback = struct { } }; -/// Creates a new typed array. Memory is owned by JS context. -/// If storing the type in a Zig type is desired, prefer `.global` state to persist. -/// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Typed_arrays -pub fn createTypedArray(self: *const Context, comptime array_type: js.ArrayType, size: usize) js.ArrayBufferRef(array_type) { - return .init(self.local.?, size); -} - // == Profiler == pub fn startCpuProfiler(self: *Context) void { if (comptime !IS_DEBUG) { diff --git a/src/browser/js/Local.zig b/src/browser/js/Local.zig index b06e0600..e9d9d9d9 100644 --- a/src/browser/js/Local.zig +++ b/src/browser/js/Local.zig @@ -75,6 +75,12 @@ pub fn newArray(self: *const Local, len: u32) js.Array { }; } +/// Creates a new typed array. Memory is owned by JS context. +/// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Typed_arrays +pub fn createTypedArray(self: *const Local, comptime array_type: js.ArrayType, size: usize) js.ArrayBufferRef(array_type) { + return .init(self, size); +} + pub fn runMicrotasks(self: *const Local) void { self.isolate.performMicrotasksCheckpoint(); } diff --git a/src/browser/webapi/ImageData.zig b/src/browser/webapi/ImageData.zig index 39c7c241..05fcae6c 100644 --- a/src/browser/webapi/ImageData.zig +++ b/src/browser/webapi/ImageData.zig @@ -74,7 +74,7 @@ pub fn constructor( return page._factory.create(ImageData{ ._width = width, ._height = height, - ._data = try page.js.createTypedArray(.uint8_clamped, size).persist(), + ._data = try page.js.local.?.createTypedArray(.uint8_clamped, size).persist(), }); }