aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <jarred@jarredsumner.com> 2022-03-17 18:27:44 -0700
committerGravatar Jarred Sumner <jarred@jarredsumner.com> 2022-03-17 18:27:44 -0700
commitd5613308f9b629e4e28f3625ead38fb052f2db34 (patch)
tree1426a7f16fb5add2fd7670592bd8c3d9ce490bd2 /src
parent3d1259ea36666b63e0656d370c37fec9ac5237b3 (diff)
downloadbun-d5613308f9b629e4e28f3625ead38fb052f2db34.tar.gz
bun-d5613308f9b629e4e28f3625ead38fb052f2db34.tar.zst
bun-d5613308f9b629e4e28f3625ead38fb052f2db34.zip
lil helper method
Diffstat (limited to '')
-rw-r--r--src/javascript/jsc/base.zig8
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);