aboutsummaryrefslogtreecommitdiff
path: root/src/api
diff options
context:
space:
mode:
Diffstat (limited to 'src/api')
-rw-r--r--src/api/schema.d.ts47
-rw-r--r--src/api/schema.js154
-rw-r--r--src/api/schema.peechy38
-rw-r--r--src/api/schema.zig103
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 {