aboutsummaryrefslogtreecommitdiff
path: root/src/javascript/jsc/javascript.zig
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <jarred@jarredsumner.com> 2021-08-11 00:02:08 -0700
committerGravatar Jarred Sumner <jarred@jarredsumner.com> 2021-08-11 00:02:08 -0700
commitca90126cc43e688cfbe8636f6b373c4bb3af602c (patch)
treeb0bf9f39bc9f7c52396e2618fd88a56f885a6a8c /src/javascript/jsc/javascript.zig
parent10b4b872a2824b6d7c66030dafc831f0da3309e8 (diff)
downloadbun-ca90126cc43e688cfbe8636f6b373c4bb3af602c.tar.gz
bun-ca90126cc43e688cfbe8636f6b373c4bb3af602c.tar.zst
bun-ca90126cc43e688cfbe8636f6b373c4bb3af602c.zip
client-side entry point works and also generates a correct url on the server
Former-commit-id: 272e52f55e44e998b9238e4173de37bfc6a05a94
Diffstat (limited to 'src/javascript/jsc/javascript.zig')
-rw-r--r--src/javascript/jsc/javascript.zig33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/javascript/jsc/javascript.zig b/src/javascript/jsc/javascript.zig
index 777fc4b57..a2d9220ad 100644
--- a/src/javascript/jsc/javascript.zig
+++ b/src/javascript/jsc/javascript.zig
@@ -110,6 +110,34 @@ pub const Wundle = struct {
return ZigString.init(VirtualMachine.vm.main).toValue(VirtualMachine.vm.global).asRef();
}
+ pub fn getRoutesDir(
+ this: void,
+ ctx: js.JSContextRef,
+ thisObject: js.JSValueRef,
+ prop: js.JSStringRef,
+ exception: js.ExceptionRef,
+ ) js.JSValueRef {
+ if (!VirtualMachine.vm.bundler.options.routes.routes_enabled or VirtualMachine.vm.bundler.options.routes.dir.len > 0) {
+ return js.JSValueMakeUndefined(ctx);
+ }
+
+ return ZigString.init(VirtualMachine.vm.bundler.options.routes.dir).toValue(VirtualMachine.vm.global).asRef();
+ }
+
+ pub fn routeByName(
+ this: void,
+ ctx: js.JSContextRef,
+ thisObject: js.JSValueRef,
+ prop: js.JSStringRef,
+ exception: js.ExceptionRef,
+ ) js.JSValueRef {
+ if (!VirtualMachine.vm.bundler.options.routes.routes_enabled) {
+ return js.JSValueMakeUndefined(ctx);
+ }
+
+ return ZigString.init(VirtualMachine.vm.bundler.options.routes.dir).toValue(VirtualMachine.vm.global).asRef();
+ }
+
pub fn getImportedStyles(
this: void,
ctx: js.JSContextRef,
@@ -181,6 +209,10 @@ pub const Wundle = struct {
.get = getOrigin,
.ts = d.ts{ .name = "origin", .@"return" = "string" },
},
+ .routesDir = .{
+ .get = getRoutesDir,
+ .ts = d.ts{ .name = "routesDir", .@"return" = "string" },
+ },
},
);
};
@@ -349,6 +381,7 @@ pub const VirtualMachine = struct {
0,
fd,
hash,
+ null,
) orelse {
return error.ParseError;
};