aboutsummaryrefslogtreecommitdiff
path: root/src/api
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <jarred@jarredsumner.com> 2021-05-21 17:55:42 -0700
committerGravatar Jarred Sumner <jarred@jarredsumner.com> 2021-05-21 17:55:42 -0700
commitc3d3d70ced281a1d7863b2f08f036b3bc83537b9 (patch)
tree706f2387e81b255a393962daeeebad4e675d8e3b /src/api
parent8b75f56577abc3ad2479b87fc59b7243add6a29a (diff)
downloadbun-c3d3d70ced281a1d7863b2f08f036b3bc83537b9.tar.gz
bun-c3d3d70ced281a1d7863b2f08f036b3bc83537b9.tar.zst
bun-c3d3d70ced281a1d7863b2f08f036b3bc83537b9.zip
wip
Former-commit-id: 63e622f2f366a30d4432835b1e190191fd04f6df
Diffstat (limited to 'src/api')
-rw-r--r--src/api/schema.d.ts3
-rw-r--r--src/api/schema.js14
-rw-r--r--src/api/schema.peechy5
-rw-r--r--src/api/schema.zig26
4 files changed, 39 insertions, 9 deletions
diff --git a/src/api/schema.d.ts b/src/api/schema.d.ts
index c78d7fc6c..23eafa37b 100644
--- a/src/api/schema.d.ts
+++ b/src/api/schema.d.ts
@@ -126,8 +126,9 @@ type uint32 = number;
loader_values?: Loader[];
main_fields?: string[];
platform?: Platform;
- watch?: boolean;
+ serve?: boolean;
extension_order?: string[];
+ public_dir?: string;
}
export interface FileHandle {
diff --git a/src/api/schema.js b/src/api/schema.js
index 43670dff0..0d7d942b3 100644
--- a/src/api/schema.js
+++ b/src/api/schema.js
@@ -228,7 +228,7 @@ function decodeTransformOptions(bb) {
break;
case 18:
- result["watch"] = !!bb.readByte();
+ result["serve"] = !!bb.readByte();
break;
case 19:
@@ -237,6 +237,10 @@ function decodeTransformOptions(bb) {
for (var i = 0; i < length; i++) values[i] = bb.readString();
break;
+ case 20:
+ result["public_dir"] = bb.readString();
+ break;
+
default:
throw new Error("Attempted to parse invalid message");
}
@@ -393,7 +397,7 @@ if (encoded === void 0) throw new Error("Invalid value " + JSON.stringify(value)
bb.writeByte(encoded);
}
- var value = message["watch"];
+ var value = message["serve"];
if (value != null) {
bb.writeByte(18);
bb.writeByte(value);
@@ -409,6 +413,12 @@ bb.writeByte(encoded);
bb.writeString(value);
}
}
+
+ var value = message["public_dir"];
+ if (value != null) {
+ bb.writeByte(20);
+ bb.writeString(value);
+ }
bb.writeByte(0);
}
diff --git a/src/api/schema.peechy b/src/api/schema.peechy
index 6c6889f00..9ba51c3d6 100644
--- a/src/api/schema.peechy
+++ b/src/api/schema.peechy
@@ -49,6 +49,7 @@ message TransformOptions {
string public_url = 4;
string absolute_working_dir = 5;
+
string[] define_keys = 6;
string[] define_values = 7;
@@ -68,9 +69,11 @@ message TransformOptions {
string[] main_fields = 16;
Platform platform = 17;
- bool watch = 18;
+ bool serve = 18;
string[] extension_order = 19;
+
+ string public_dir = 20;
}
struct FileHandle {
diff --git a/src/api/schema.zig b/src/api/schema.zig
index bba5a3c94..262c0d01c 100644
--- a/src/api/schema.zig
+++ b/src/api/schema.zig
@@ -200,12 +200,15 @@ pub const Api = struct {
/// platform
platform: ?Platform = null,
- /// watch
- watch: ?bool = null,
+ /// serve
+ serve: ?bool = null,
/// extension_order
extension_order: []const []const u8,
+ /// public_dir
+ public_dir: ?[]const u8 = null,
+
pub fn decode(allocator: *std.mem.Allocator, reader: anytype) anyerror!TransformOptions {
var obj = std.mem.zeroes(TransformOptions);
try update(&obj, allocator, reader);
@@ -381,7 +384,7 @@ pub const Api = struct {
result.platform = try reader.readEnum(Platform, .Little);
},
18 => {
- result.watch = (try reader.readByte()) == @as(u8, 1);
+ result.serve = (try reader.readByte()) == @as(u8, 1);
},
19 => {
{
@@ -398,6 +401,13 @@ pub const Api = struct {
}
}
},
+ 20 => {
+ length = try reader.readIntNative(u32);
+ if ((result.public_dir orelse &([_]u8{})).len != length) {
+ result.public_dir = try allocator.alloc(u8, length);
+ }
+ _ = try reader.readAll(result.public_dir.?);
+ },
else => {
return error.InvalidMessage;
},
@@ -559,9 +569,9 @@ pub const Api = struct {
try writer.writeIntNative(@TypeOf(@enumToInt(result.platform orelse unreachable)), @enumToInt(result.platform orelse unreachable));
}
- if (result.watch) |watch| {
+ if (result.serve) |serve| {
try writer.writeByte(18);
- try writer.writeByte(@boolToInt(watch));
+ try writer.writeByte(@boolToInt(serve));
}
if (result.extension_order) |extension_order| {
@@ -576,6 +586,12 @@ pub const Api = struct {
}
}
}
+
+ if (result.public_dir) |public_dir| {
+ try writer.writeByte(20);
+ try writer.writeIntNative(u32, @intCast(u32, public_dir.len));
+ try writer.writeAll(std.mem.sliceAsBytes(public_dir));
+ }
try writer.writeByte(0);
return;
}