diff options
author | 2021-06-18 00:51:11 -0700 | |
---|---|---|
committer | 2021-06-18 00:51:11 -0700 | |
commit | 6dce0c1e032edd9ff70f4a1c417a8662d1012e8b (patch) | |
tree | 23e3af849a0bbbf8943227941f900dc91421a358 /src/api | |
parent | 9ca283bb43ebee74bf36af50807474b962ac44a1 (diff) | |
download | bun-6dce0c1e032edd9ff70f4a1c417a8662d1012e8b.tar.gz bun-6dce0c1e032edd9ff70f4a1c417a8662d1012e8b.tar.zst bun-6dce0c1e032edd9ff70f4a1c417a8662d1012e8b.zip |
100x!!
Former-commit-id: e0fa2e78da8083dc590c4b1f3d016ba545261b84
Diffstat (limited to 'src/api')
-rw-r--r-- | src/api/schema.d.ts | 47 | ||||
-rw-r--r-- | src/api/schema.js | 154 | ||||
-rw-r--r-- | src/api/schema.peechy | 38 | ||||
-rw-r--r-- | src/api/schema.zig | 103 |
4 files changed, 333 insertions, 9 deletions
diff --git a/src/api/schema.d.ts b/src/api/schema.d.ts index e5370097c..367932105 100644 --- a/src/api/schema.d.ts +++ b/src/api/schema.d.ts @@ -123,7 +123,9 @@ type uint32 = number; welcome = 1, file_change_notification = 2, build_success = 3, - build_fail = 4 + build_fail = 4, + manifest_success = 5, + manifest_fail = 6 } export const WebsocketMessageKindKeys = { 1: "welcome", @@ -133,14 +135,21 @@ type uint32 = number; 3: "build_success", build_success: "build_success", 4: "build_fail", - build_fail: "build_fail" + build_fail: "build_fail", + 5: "manifest_success", + manifest_success: "manifest_success", + 6: "manifest_fail", + manifest_fail: "manifest_fail" } export enum WebsocketCommandKind { - build = 1 + build = 1, + manifest = 2 } export const WebsocketCommandKindKeys = { 1: "build", - build: "build" + build: "build", + 2: "manifest", + manifest: "manifest" } export interface JSX { factory: string; @@ -308,6 +317,10 @@ type uint32 = number; id: uint32; } + export interface WebsocketCommandManifest { + id: uint32; + } + export interface WebsocketMessageBuildSuccess { id: uint32; from_timestamp: uint32; @@ -324,6 +337,24 @@ type uint32 = number; log: Log; } + export interface DependencyManifest { + ids: Uint32Array; + } + + export interface WebsocketMessageManifestSuccess { + id: uint32; + module_path: string; + loader: Loader; + manifest: DependencyManifest; + } + + export interface WebsocketMessageManifestFailure { + id: uint32; + from_timestamp: uint32; + loader: Loader; + log: Log; + } + export declare function encodeJSX(message: JSX, bb: ByteBuffer): void; export declare function decodeJSX(buffer: ByteBuffer): JSX; export declare function encodeStringPointer(message: StringPointer, bb: ByteBuffer): void; @@ -372,7 +403,15 @@ type uint32 = number; export declare function decodeWebsocketCommand(buffer: ByteBuffer): WebsocketCommand; export declare function encodeWebsocketCommandBuild(message: WebsocketCommandBuild, bb: ByteBuffer): void; export declare function decodeWebsocketCommandBuild(buffer: ByteBuffer): WebsocketCommandBuild; + export declare function encodeWebsocketCommandManifest(message: WebsocketCommandManifest, bb: ByteBuffer): void; + export declare function decodeWebsocketCommandManifest(buffer: ByteBuffer): WebsocketCommandManifest; export declare function encodeWebsocketMessageBuildSuccess(message: WebsocketMessageBuildSuccess, bb: ByteBuffer): void; export declare function decodeWebsocketMessageBuildSuccess(buffer: ByteBuffer): WebsocketMessageBuildSuccess; export declare function encodeWebsocketMessageBuildFailure(message: WebsocketMessageBuildFailure, bb: ByteBuffer): void; export declare function decodeWebsocketMessageBuildFailure(buffer: ByteBuffer): WebsocketMessageBuildFailure; + export declare function encodeDependencyManifest(message: DependencyManifest, bb: ByteBuffer): void; + export declare function decodeDependencyManifest(buffer: ByteBuffer): DependencyManifest; + export declare function encodeWebsocketMessageManifestSuccess(message: WebsocketMessageManifestSuccess, bb: ByteBuffer): void; + export declare function decodeWebsocketMessageManifestSuccess(buffer: ByteBuffer): WebsocketMessageManifestSuccess; + export declare function encodeWebsocketMessageManifestFailure(message: WebsocketMessageManifestFailure, bb: ByteBuffer): void; + export declare function decodeWebsocketMessageManifestFailure(buffer: ByteBuffer): WebsocketMessageManifestFailure; diff --git a/src/api/schema.js b/src/api/schema.js index 8882ecc30..f460064e5 100644 --- a/src/api/schema.js +++ b/src/api/schema.js @@ -1241,28 +1241,40 @@ const WebsocketMessageKind = { "2": 2, "3": 3, "4": 4, + "5": 5, + "6": 6, "welcome": 1, "file_change_notification": 2, "build_success": 3, - "build_fail": 4 + "build_fail": 4, + "manifest_success": 5, + "manifest_fail": 6 }; const WebsocketMessageKindKeys = { "1": "welcome", "2": "file_change_notification", "3": "build_success", "4": "build_fail", + "5": "manifest_success", + "6": "manifest_fail", "welcome": "welcome", "file_change_notification": "file_change_notification", "build_success": "build_success", - "build_fail": "build_fail" + "build_fail": "build_fail", + "manifest_success": "manifest_success", + "manifest_fail": "manifest_fail" }; const WebsocketCommandKind = { "1": 1, - "build": 1 + "2": 2, + "build": 1, + "manifest": 2 }; const WebsocketCommandKindKeys = { "1": "build", - "build": "build" + "2": "manifest", + "build": "build", + "manifest": "manifest" }; function decodeWebsocketMessage(bb) { @@ -1385,6 +1397,24 @@ function encodeWebsocketCommandBuild(message, bb) { } +function decodeWebsocketCommandManifest(bb) { + var result = {}; + + result["id"] = bb.readUint32(); + return result; +} + +function encodeWebsocketCommandManifest(message, bb) { + + var value = message["id"]; + if (value != null) { + bb.writeUint32(value); + } else { + throw new Error("Missing required field \"id\""); + } + +} + function decodeWebsocketMessageBuildSuccess(bb) { var result = {}; @@ -1489,6 +1519,112 @@ bb.writeByte(encoded); } +function decodeDependencyManifest(bb) { + var result = {}; + + result["ids"] = bb.readUint32ByteArray(); + return result; +} + +function encodeDependencyManifest(message, bb) { + + var value = message["ids"]; + if (value != null) { + bb.writeUint32ByteArray(value); + } else { + throw new Error("Missing required field \"ids\""); + } + +} + +function decodeWebsocketMessageManifestSuccess(bb) { + var result = {}; + + result["id"] = bb.readUint32(); + result["module_path"] = bb.readString(); + result["loader"] = Loader[bb.readByte()]; + result["manifest"] = decodeDependencyManifest(bb); + return result; +} + +function encodeWebsocketMessageManifestSuccess(message, bb) { + + var value = message["id"]; + if (value != null) { + bb.writeUint32(value); + } else { + throw new Error("Missing required field \"id\""); + } + + var value = message["module_path"]; + if (value != null) { + bb.writeString(value); + } else { + throw new Error("Missing required field \"module_path\""); + } + + var value = message["loader"]; + if (value != null) { + var encoded = Loader[value]; +if (encoded === void 0) throw new Error("Invalid value " + JSON.stringify(value) + " for enum \"Loader\""); +bb.writeByte(encoded); + } else { + throw new Error("Missing required field \"loader\""); + } + + var value = message["manifest"]; + if (value != null) { + encodeDependencyManifest(value, bb); + } else { + throw new Error("Missing required field \"manifest\""); + } + +} + +function decodeWebsocketMessageManifestFailure(bb) { + var result = {}; + + result["id"] = bb.readUint32(); + result["from_timestamp"] = bb.readUint32(); + result["loader"] = Loader[bb.readByte()]; + result["log"] = decodeLog(bb); + return result; +} + +function encodeWebsocketMessageManifestFailure(message, bb) { + + var value = message["id"]; + if (value != null) { + bb.writeUint32(value); + } else { + throw new Error("Missing required field \"id\""); + } + + var value = message["from_timestamp"]; + if (value != null) { + bb.writeUint32(value); + } else { + throw new Error("Missing required field \"from_timestamp\""); + } + + var value = message["loader"]; + if (value != null) { + var encoded = Loader[value]; +if (encoded === void 0) throw new Error("Invalid value " + JSON.stringify(value) + " for enum \"Loader\""); +bb.writeByte(encoded); + } else { + throw new Error("Missing required field \"loader\""); + } + + var value = message["log"]; + if (value != null) { + encodeLog(value, bb); + } else { + throw new Error("Missing required field \"log\""); + } + +} + export { Loader } export { LoaderKeys } export { ResolveMode } @@ -1557,7 +1693,15 @@ export { decodeWebsocketCommand } export { encodeWebsocketCommand } export { decodeWebsocketCommandBuild } export { encodeWebsocketCommandBuild } +export { decodeWebsocketCommandManifest } +export { encodeWebsocketCommandManifest } export { decodeWebsocketMessageBuildSuccess } export { encodeWebsocketMessageBuildSuccess } export { decodeWebsocketMessageBuildFailure } -export { encodeWebsocketMessageBuildFailure }
\ No newline at end of file +export { encodeWebsocketMessageBuildFailure } +export { decodeDependencyManifest } +export { encodeDependencyManifest } +export { decodeWebsocketMessageManifestSuccess } +export { encodeWebsocketMessageManifestSuccess } +export { decodeWebsocketMessageManifestFailure } +export { encodeWebsocketMessageManifestFailure }
\ No newline at end of file diff --git a/src/api/schema.peechy b/src/api/schema.peechy index e65319dc4..477ce5d0b 100644 --- a/src/api/schema.peechy +++ b/src/api/schema.peechy @@ -248,10 +248,13 @@ smol WebsocketMessageKind { file_change_notification = 2; build_success = 3; build_fail = 4; + manifest_success = 5; + manifest_fail = 6; } smol WebsocketCommandKind { build = 1; + manifest = 2; } // Each websocket message has two messages in it! @@ -281,6 +284,10 @@ struct WebsocketCommandBuild { uint32 id; } +struct WebsocketCommandManifest { + uint32 id; +} + // We copy the module_path here incase they don't already have it struct WebsocketMessageBuildSuccess { uint32 id; @@ -303,6 +310,37 @@ struct WebsocketMessageBuildFailure { Log log; } +// CSS @import only for now! +struct DependencyManifest { + uint32[] ids; +} + +struct FileList { + StringPointer[] ptrs; + string files; +} + +struct WebsocketMessageResolveIDs { + uint32[] id; + FileList list; +} + +struct WebsocketCommandResolveIDs { + StringPointer[] ptrs; + string files; +} +struct WebsocketMessageManifestSuccess { + uint32 id; + string module_path; + Loader loader; + DependencyManifest manifest; +} +struct WebsocketMessageManifestFailure { + uint32 id; + uint32 from_timestamp; + Loader loader; + Log log; +}
\ No newline at end of file diff --git a/src/api/schema.zig b/src/api/schema.zig index 6c4b539f8..00460fcc6 100644 --- a/src/api/schema.zig +++ b/src/api/schema.zig @@ -1285,6 +1285,12 @@ pub const Api = struct { /// build_fail build_fail, + /// manifest_success + manifest_success, + + /// manifest_fail + manifest_fail, + _, pub fn jsonStringify(self: *const @This(), opts: anytype, o: anytype) !void { @@ -1297,6 +1303,9 @@ pub const Api = struct { /// build build, + /// manifest + manifest, + _, pub fn jsonStringify(self: *const @This(), opts: anytype, o: anytype) !void { @@ -1399,6 +1408,22 @@ pub const Api = struct { } }; + pub const WebsocketCommandManifest = packed struct { + /// id + id: u32 = 0, + + pub fn decode(reader: anytype) anyerror!WebsocketCommandManifest { + var this = std.mem.zeroes(WebsocketCommandManifest); + + this.id = try reader.readValue(u32); + return this; + } + + pub fn encode(this: *const @This(), writer: anytype) anyerror!void { + try writer.writeInt(this.id); + } + }; + pub const WebsocketMessageBuildSuccess = struct { /// id id: u32 = 0, @@ -1470,6 +1495,84 @@ pub const Api = struct { try writer.writeValue(this.log); } }; + + pub const DependencyManifest = struct { + /// ids + ids: []const u32, + + pub fn decode(reader: anytype) anyerror!DependencyManifest { + var this = std.mem.zeroes(DependencyManifest); + + this.ids = try reader.readArray(u32); + return this; + } + + pub fn encode(this: *const @This(), writer: anytype) anyerror!void { + try writer.writeArray(u32, this.ids); + } + }; + + pub const WebsocketMessageManifestSuccess = struct { + /// id + id: u32 = 0, + + /// module_path + module_path: []const u8, + + /// loader + loader: Loader, + + /// manifest + manifest: DependencyManifest, + + pub fn decode(reader: anytype) anyerror!WebsocketMessageManifestSuccess { + var this = std.mem.zeroes(WebsocketMessageManifestSuccess); + + this.id = try reader.readValue(u32); + this.module_path = try reader.readValue([]const u8); + this.loader = try reader.readValue(Loader); + this.manifest = try reader.readValue(DependencyManifest); + return this; + } + + pub fn encode(this: *const @This(), writer: anytype) anyerror!void { + try writer.writeInt(this.id); + try writer.writeValue(this.module_path); + try writer.writeEnum(this.loader); + try writer.writeValue(this.manifest); + } + }; + + pub const WebsocketMessageManifestFailure = struct { + /// id + id: u32 = 0, + + /// from_timestamp + from_timestamp: u32 = 0, + + /// loader + loader: Loader, + + /// log + log: Log, + + pub fn decode(reader: anytype) anyerror!WebsocketMessageManifestFailure { + var this = std.mem.zeroes(WebsocketMessageManifestFailure); + + this.id = try reader.readValue(u32); + this.from_timestamp = try reader.readValue(u32); + this.loader = try reader.readValue(Loader); + this.log = try reader.readValue(Log); + return this; + } + + pub fn encode(this: *const @This(), writer: anytype) anyerror!void { + try writer.writeInt(this.id); + try writer.writeInt(this.from_timestamp); + try writer.writeEnum(this.loader); + try writer.writeValue(this.log); + } + }; }; const ExamplePackedStruct = packed struct { |