From aa9c3c1a3eb131cba3f7a87f05f730f19682de58 Mon Sep 17 00:00:00 2001 From: Jarred Sumner Date: Wed, 10 Sep 2025 21:56:52 -0700 Subject: [PATCH] Update JSRef.zig --- src/bun.js/bindings/JSRef.zig | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/bun.js/bindings/JSRef.zig b/src/bun.js/bindings/JSRef.zig index a4f079b98d..7d5a8b9e08 100644 --- a/src/bun.js/bindings/JSRef.zig +++ b/src/bun.js/bindings/JSRef.zig @@ -64,6 +64,21 @@ pub const JSRef = union(enum) { } } + pub fn downgrade(this: *@This()) void { + switch (this.*) { + .weak => {}, + .strong => { + if (this.strong.trySwap()) |strong| { + bun.debugAssert(strong != .zero); + this.* = .{ .weak = strong }; + } + }, + .finalized => {}, + } + } + + pub const finalize = deinit; + pub fn deinit(this: *@This()) void { switch (this.*) { .weak => {