diff options
author | 2022-03-17 18:27:44 -0700 | |
---|---|---|
committer | 2022-03-17 18:27:44 -0700 | |
commit | d5613308f9b629e4e28f3625ead38fb052f2db34 (patch) | |
tree | 1426a7f16fb5add2fd7670592bd8c3d9ce490bd2 /src | |
parent | 3d1259ea36666b63e0656d370c37fec9ac5237b3 (diff) | |
download | bun-d5613308f9b629e4e28f3625ead38fb052f2db34.tar.gz bun-d5613308f9b629e4e28f3625ead38fb052f2db34.tar.zst bun-d5613308f9b629e4e28f3625ead38fb052f2db34.zip |
lil helper method
Diffstat (limited to '')
-rw-r--r-- | src/javascript/jsc/base.zig | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/javascript/jsc/base.zig b/src/javascript/jsc/base.zig index beb16d1e5..1ccc023ce 100644 --- a/src/javascript/jsc/base.zig +++ b/src/javascript/jsc/base.zig @@ -1888,6 +1888,10 @@ pub const RefString = struct { pub const Hash = u32; pub const Map = std.HashMap(Hash, *JSC.RefString, IdentityContext(Hash), 80); + pub fn toJS(this: *RefString, global: *JSC.JSGlobalObject) JSValue { + return JSC.ZigString.init(this.slice()).external(global, this, RefString__external); + } + pub const Callback = fn (ctx: *anyopaque, str: *RefString) void; pub fn computeHash(input: []const u8) u32 { @@ -1921,6 +1925,10 @@ pub const RefString = struct { this.deref(); } + pub export fn RefString__external(this: ?*anyopaque, _: ?*anyopaque, _: usize) void { + bun.cast(*RefString, this.?).deref(); + } + pub fn deinit(this: *RefString) void { if (this.onBeforeDeinit) |onBeforeDeinit| { onBeforeDeinit(this.ctx.?, this); |