-
Notifications
You must be signed in to change notification settings - Fork 22
/
CodeGeneratorResponse.ts
115 lines (107 loc) · 3.82 KB
/
CodeGeneratorResponse.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
import {
Type as File,
encodeJson as encodeJson_1,
decodeJson as decodeJson_1,
encodeBinary as encodeBinary_1,
decodeBinary as decodeBinary_1,
} from "./(CodeGeneratorResponse)/File.ts";
import {
tsValueToJsonValueFns,
jsonValueToTsValueFns,
} from "../../../../../core/runtime/json/scalar.ts";
import {
WireMessage,
WireType,
} from "../../../../../core/runtime/wire/index.ts";
import {
default as serialize,
} from "../../../../../core/runtime/wire/serialize.ts";
import {
tsValueToWireValueFns,
wireValueToTsValueFns,
} from "../../../../../core/runtime/wire/scalar.ts";
import {
default as deserialize,
} from "../../../../../core/runtime/wire/deserialize.ts";
export declare namespace $.google.protobuf.compiler {
export type CodeGeneratorResponse = {
error?: string;
supportedFeatures?: string;
file: File[];
}
}
export type Type = $.google.protobuf.compiler.CodeGeneratorResponse;
export function getDefaultValue(): $.google.protobuf.compiler.CodeGeneratorResponse {
return {
error: undefined,
supportedFeatures: undefined,
file: [],
};
}
export function createValue(partialValue: Partial<$.google.protobuf.compiler.CodeGeneratorResponse>): $.google.protobuf.compiler.CodeGeneratorResponse {
return {
...getDefaultValue(),
...partialValue,
};
}
export function encodeJson(value: $.google.protobuf.compiler.CodeGeneratorResponse): unknown {
const result: any = {};
if (value.error !== undefined) result.error = tsValueToJsonValueFns.string(value.error);
if (value.supportedFeatures !== undefined) result.supportedFeatures = tsValueToJsonValueFns.uint64(value.supportedFeatures);
result.file = value.file.map(value => encodeJson_1(value));
return result;
}
export function decodeJson(value: any): $.google.protobuf.compiler.CodeGeneratorResponse {
const result = getDefaultValue();
if (value.error !== undefined) result.error = jsonValueToTsValueFns.string(value.error);
if (value.supportedFeatures !== undefined) result.supportedFeatures = jsonValueToTsValueFns.uint64(value.supportedFeatures);
result.file = value.file?.map((value: any) => decodeJson_1(value)) ?? [];
return result;
}
export function encodeBinary(value: $.google.protobuf.compiler.CodeGeneratorResponse): Uint8Array {
const result: WireMessage = [];
if (value.error !== undefined) {
const tsValue = value.error;
result.push(
[1, tsValueToWireValueFns.string(tsValue)],
);
}
if (value.supportedFeatures !== undefined) {
const tsValue = value.supportedFeatures;
result.push(
[2, tsValueToWireValueFns.uint64(tsValue)],
);
}
for (const tsValue of value.file) {
result.push(
[15, { type: WireType.LengthDelimited as const, value: encodeBinary_1(tsValue) }],
);
}
return serialize(result);
}
export function decodeBinary(binary: Uint8Array): $.google.protobuf.compiler.CodeGeneratorResponse {
const result = getDefaultValue();
const wireMessage = deserialize(binary);
const wireFields = new Map(wireMessage);
field: {
const wireValue = wireFields.get(1);
if (wireValue === undefined) break field;
const value = wireValueToTsValueFns.string(wireValue);
if (value === undefined) break field;
result.error = value;
}
field: {
const wireValue = wireFields.get(2);
if (wireValue === undefined) break field;
const value = wireValueToTsValueFns.uint64(wireValue);
if (value === undefined) break field;
result.supportedFeatures = value;
}
collection: {
const wireValues = wireMessage.filter(([fieldNumber]) => fieldNumber === 15).map(([, wireValue]) => wireValue);
const value = wireValues.map((wireValue) => wireValue.type === WireType.LengthDelimited ? decodeBinary_1(wireValue.value) : undefined).filter(x => x !== undefined);
if (!value.length) break collection;
result.file = value as any;
}
return result;
}