aboutsummaryrefslogtreecommitdiff
path: root/src/api
diff options
context:
space:
mode:
Diffstat (limited to 'src/api')
-rw-r--r--src/api/schema.d.ts1
-rw-r--r--src/api/schema.js17
-rw-r--r--src/api/schema.peechy2
-rw-r--r--src/api/schema.zig31
4 files changed, 51 insertions, 0 deletions
diff --git a/src/api/schema.d.ts b/src/api/schema.d.ts
index ce4521d6b..c78d7fc6c 100644
--- a/src/api/schema.d.ts
+++ b/src/api/schema.d.ts
@@ -127,6 +127,7 @@ type uint32 = number;
main_fields?: string[];
platform?: Platform;
watch?: boolean;
+ extension_order?: string[];
}
export interface FileHandle {
diff --git a/src/api/schema.js b/src/api/schema.js
index acd53ac51..43670dff0 100644
--- a/src/api/schema.js
+++ b/src/api/schema.js
@@ -231,6 +231,12 @@ function decodeTransformOptions(bb) {
result["watch"] = !!bb.readByte();
break;
+ case 19:
+ var length = bb.readVarUint();
+ var values = result["extension_order"] = Array(length);
+ for (var i = 0; i < length; i++) values[i] = bb.readString();
+ break;
+
default:
throw new Error("Attempted to parse invalid message");
}
@@ -392,6 +398,17 @@ bb.writeByte(encoded);
bb.writeByte(18);
bb.writeByte(value);
}
+
+ var value = message["extension_order"];
+ if (value != null) {
+ bb.writeByte(19);
+ var values = value, n = values.length;
+ bb.writeVarUint(n);
+ for (var i = 0; i < n; i++) {
+ value = values[i];
+ bb.writeString(value);
+ }
+ }
bb.writeByte(0);
}
diff --git a/src/api/schema.peechy b/src/api/schema.peechy
index f36a968b2..6c6889f00 100644
--- a/src/api/schema.peechy
+++ b/src/api/schema.peechy
@@ -69,6 +69,8 @@ message TransformOptions {
Platform platform = 17;
bool watch = 18;
+
+ string[] extension_order = 19;
}
struct FileHandle {
diff --git a/src/api/schema.zig b/src/api/schema.zig
index d32b8fb23..bba5a3c94 100644
--- a/src/api/schema.zig
+++ b/src/api/schema.zig
@@ -203,6 +203,9 @@ pub const Api = struct {
/// watch
watch: ?bool = null,
+ /// extension_order
+ extension_order: []const []const u8,
+
pub fn decode(allocator: *std.mem.Allocator, reader: anytype) anyerror!TransformOptions {
var obj = std.mem.zeroes(TransformOptions);
try update(&obj, allocator, reader);
@@ -380,6 +383,21 @@ pub const Api = struct {
18 => {
result.watch = (try reader.readByte()) == @as(u8, 1);
},
+ 19 => {
+ {
+ var array_count = try reader.readIntNative(u32);
+ if (array_count != result.extension_order.len) {
+ result.extension_order = try allocator.alloc([]const u8, array_count);
+ }
+ length = try reader.readIntNative(u32);
+ for (result.extension_order) |content, j| {
+ if (result.extension_order[j].len != length and length > 0) {
+ result.extension_order[j] = try allocator.alloc(u8, length);
+ }
+ _ = try reader.readAll(result.extension_order[j].?);
+ }
+ }
+ },
else => {
return error.InvalidMessage;
},
@@ -545,6 +563,19 @@ pub const Api = struct {
try writer.writeByte(18);
try writer.writeByte(@boolToInt(watch));
}
+
+ if (result.extension_order) |extension_order| {
+ try writer.writeByte(19);
+ n = result.extension_order.len;
+ _ = try writer.writeIntNative(u32, @intCast(u32, n));
+ {
+ var j: usize = 0;
+ while (j < n) : (j += 1) {
+ _ = try writer.writeIntNative(u32, @intCast(u32, result.extension_order[j].len));
+ try writer.writeAll(std.mem.sliceAsBytes(extension_order[j]));
+ }
+ }
+ }
try writer.writeByte(0);
return;
}