aboutsummaryrefslogtreecommitdiff
path: root/src/javascript/jsc/javascript.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/javascript/jsc/javascript.zig')
-rw-r--r--src/javascript/jsc/javascript.zig28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/javascript/jsc/javascript.zig b/src/javascript/jsc/javascript.zig
index 5349aaec1..a84437851 100644
--- a/src/javascript/jsc/javascript.zig
+++ b/src/javascript/jsc/javascript.zig
@@ -260,6 +260,27 @@ pub const Bun = struct {
}
}
+ var public_path_temp_str: [std.fs.MAX_PATH_BYTES]u8 = undefined;
+
+ pub fn getPublicPathJS(
+ this: void,
+ ctx: js.JSContextRef,
+ function: js.JSObjectRef,
+ thisObject: js.JSObjectRef,
+ arguments: []const js.JSValueRef,
+ exception: js.ExceptionRef,
+ ) js.JSValueRef {
+ var zig_str: ZigString = ZigString.Empty;
+ JSValue.toZigString(JSValue.fromRef(arguments[0]), &zig_str, VirtualMachine.vm.global);
+
+ const to = zig_str.slice();
+
+ var stream = std.io.fixedBufferStream(&public_path_temp_str);
+ var writer = stream.writer();
+ getPublicPath(to, @TypeOf(&writer), &writer);
+ return ZigString.init(stream.buffer[0..stream.pos]).toValueGC(VirtualMachine.vm.global).asRef();
+ }
+
pub const Class = NewClass(
void,
.{
@@ -302,6 +323,13 @@ pub const Bun = struct {
.@"return" = "string",
},
},
+ .getPublicPath = .{
+ .rfn = Bun.getPublicPathJS,
+ .ts = d.ts{
+ .name = "getPublicPath",
+ .@"return" = "string",
+ },
+ },
},
.{
.main = .{