@wundergraph/protographic 0.11.0 → 0.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +34 -3
- package/dist/src/index.d.ts +15 -0
- package/dist/src/index.js +10 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/operation-to-proto.d.ts +48 -0
- package/dist/src/operation-to-proto.js +378 -0
- package/dist/src/operation-to-proto.js.map +1 -0
- package/dist/src/operations/field-numbering.d.ts +73 -0
- package/dist/src/operations/field-numbering.js +134 -0
- package/dist/src/operations/field-numbering.js.map +1 -0
- package/dist/src/operations/list-type-utils.d.ts +28 -0
- package/dist/src/operations/list-type-utils.js +49 -0
- package/dist/src/operations/list-type-utils.js.map +1 -0
- package/dist/src/operations/message-builder.d.ts +58 -0
- package/dist/src/operations/message-builder.js +377 -0
- package/dist/src/operations/message-builder.js.map +1 -0
- package/dist/src/operations/proto-text-generator.d.ts +74 -0
- package/dist/src/operations/proto-text-generator.js +336 -0
- package/dist/src/operations/proto-text-generator.js.map +1 -0
- package/dist/src/operations/request-builder.d.ts +56 -0
- package/dist/src/operations/request-builder.js +194 -0
- package/dist/src/operations/request-builder.js.map +1 -0
- package/dist/src/operations/type-mapper.d.ts +66 -0
- package/dist/src/operations/type-mapper.js +236 -0
- package/dist/src/operations/type-mapper.js.map +1 -0
- package/dist/src/proto-options.d.ts +23 -0
- package/dist/src/proto-options.js +45 -0
- package/dist/src/proto-options.js.map +1 -0
- package/dist/src/sdl-to-proto-visitor.d.ts +2 -14
- package/dist/src/sdl-to-proto-visitor.js +25 -38
- package/dist/src/sdl-to-proto-visitor.js.map +1 -1
- package/dist/src/types.d.ts +12 -0
- package/dist/src/types.js +2 -0
- package/dist/src/types.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message-builder.js","sourceRoot":"","sources":["../../../src/operations/message-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import protobuf from 'protobufjs';
|
|
2
|
+
/**
|
|
3
|
+
* Options for generating proto text
|
|
4
|
+
*/
|
|
5
|
+
export interface ProtoTextOptions {
|
|
6
|
+
/** Package name for the proto file */
|
|
7
|
+
packageName?: string;
|
|
8
|
+
/** Go package option */
|
|
9
|
+
goPackage?: string;
|
|
10
|
+
/** Java package option */
|
|
11
|
+
javaPackage?: string;
|
|
12
|
+
/** Java outer classname option */
|
|
13
|
+
javaOuterClassname?: string;
|
|
14
|
+
/** Java multiple files option */
|
|
15
|
+
javaMultipleFiles?: boolean;
|
|
16
|
+
/** C# namespace option */
|
|
17
|
+
csharpNamespace?: string;
|
|
18
|
+
/** Ruby package option */
|
|
19
|
+
rubyPackage?: string;
|
|
20
|
+
/** PHP namespace option */
|
|
21
|
+
phpNamespace?: string;
|
|
22
|
+
/** PHP metadata namespace option */
|
|
23
|
+
phpMetadataNamespace?: string;
|
|
24
|
+
/** Objective-C class prefix option */
|
|
25
|
+
objcClassPrefix?: string;
|
|
26
|
+
/** Swift prefix option */
|
|
27
|
+
swiftPrefix?: string;
|
|
28
|
+
/** Additional imports to include */
|
|
29
|
+
imports?: string[];
|
|
30
|
+
/** Additional options to include */
|
|
31
|
+
options?: string[];
|
|
32
|
+
/** Whether to include comments */
|
|
33
|
+
includeComments?: boolean;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Converts a protobufjs Root to Protocol Buffer text definition
|
|
37
|
+
*
|
|
38
|
+
* @param root - The protobufjs Root object containing all definitions
|
|
39
|
+
* @param options - Optional configuration for text generation
|
|
40
|
+
* @returns The proto text as a string
|
|
41
|
+
*/
|
|
42
|
+
export declare function rootToProtoText(root: protobuf.Root, options?: ProtoTextOptions): string;
|
|
43
|
+
/**
|
|
44
|
+
* Converts a protobuf Service to proto text
|
|
45
|
+
*/
|
|
46
|
+
export declare function serviceToProtoText(service: protobuf.Service, options?: ProtoTextOptions): string[];
|
|
47
|
+
/**
|
|
48
|
+
* Converts a protobuf Type (message) to proto text
|
|
49
|
+
*/
|
|
50
|
+
export declare function messageToProtoText(message: protobuf.Type, options?: ProtoTextOptions, indent?: number): string[];
|
|
51
|
+
/**
|
|
52
|
+
* Converts a protobuf Enum to proto text
|
|
53
|
+
*/
|
|
54
|
+
export declare function enumToProtoText(enumType: protobuf.Enum, options?: ProtoTextOptions, indent?: number): string[];
|
|
55
|
+
/**
|
|
56
|
+
* Formats a protobuf field as proto text
|
|
57
|
+
*/
|
|
58
|
+
export declare function formatField(field: protobuf.Field, options?: ProtoTextOptions, indent?: number): string[];
|
|
59
|
+
/**
|
|
60
|
+
* Formats reserved field declarations from protobufjs reserved array
|
|
61
|
+
*
|
|
62
|
+
* The protobufjs reserved array can contain:
|
|
63
|
+
* - Arrays [start, end] representing ranges (e.g., [2, 2] for single number, [5, 10] for range)
|
|
64
|
+
* - Strings representing reserved field names
|
|
65
|
+
*
|
|
66
|
+
* This function separates them into proper proto3 reserved statements:
|
|
67
|
+
* - reserved 2, 5 to 10;
|
|
68
|
+
* - reserved "old_field", "deprecated_field";
|
|
69
|
+
*/
|
|
70
|
+
export declare function formatReserved(reserved: Array<number[] | string>, indent?: number): string[];
|
|
71
|
+
/**
|
|
72
|
+
* Helper to format method definitions for services
|
|
73
|
+
*/
|
|
74
|
+
export declare function formatMethod(method: protobuf.Method, options?: ProtoTextOptions, indent?: number): string[];
|
|
@@ -0,0 +1,336 @@
|
|
|
1
|
+
import protobuf from 'protobufjs';
|
|
2
|
+
import { buildProtoOptions } from '../proto-options.js';
|
|
3
|
+
/**
|
|
4
|
+
* Helper to format indentation
|
|
5
|
+
*/
|
|
6
|
+
function formatIndent(indent, content) {
|
|
7
|
+
return ' '.repeat(indent) + content;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Converts a protobufjs Root to Protocol Buffer text definition
|
|
11
|
+
*
|
|
12
|
+
* @param root - The protobufjs Root object containing all definitions
|
|
13
|
+
* @param options - Optional configuration for text generation
|
|
14
|
+
* @returns The proto text as a string
|
|
15
|
+
*/
|
|
16
|
+
export function rootToProtoText(root, options) {
|
|
17
|
+
const lines = generateHeader(root, options);
|
|
18
|
+
// Generate service definitions
|
|
19
|
+
for (const nested of Object.values(root.nestedArray)) {
|
|
20
|
+
if (nested instanceof protobuf.Service) {
|
|
21
|
+
lines.push(...serviceToProtoText(nested, options));
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
// Generate message definitions
|
|
25
|
+
for (const nested of Object.values(root.nestedArray)) {
|
|
26
|
+
if (nested instanceof protobuf.Type) {
|
|
27
|
+
lines.push(...messageToProtoText(nested, options));
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
// Generate enum definitions
|
|
31
|
+
for (const nested of Object.values(root.nestedArray)) {
|
|
32
|
+
if (nested instanceof protobuf.Enum) {
|
|
33
|
+
lines.push(...enumToProtoText(nested, options));
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
return lines.join('\n');
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Generates the proto file header (syntax, package, imports, options)
|
|
40
|
+
*/
|
|
41
|
+
function generateHeader(root, options) {
|
|
42
|
+
const lines = [];
|
|
43
|
+
// Syntax declaration
|
|
44
|
+
lines.push('syntax = "proto3";');
|
|
45
|
+
// Package declaration
|
|
46
|
+
const packageName = (options === null || options === void 0 ? void 0 : options.packageName) || 'service.v1';
|
|
47
|
+
lines.push(`package ${packageName};`);
|
|
48
|
+
lines.push('');
|
|
49
|
+
// Imports
|
|
50
|
+
const imports = new Set();
|
|
51
|
+
// Only add wrapper types import if actually used
|
|
52
|
+
if (detectWrapperTypeUsage(root)) {
|
|
53
|
+
imports.add('google/protobuf/wrappers.proto');
|
|
54
|
+
}
|
|
55
|
+
// Add custom imports
|
|
56
|
+
if (options === null || options === void 0 ? void 0 : options.imports) {
|
|
57
|
+
options.imports.forEach((imp) => imports.add(imp));
|
|
58
|
+
}
|
|
59
|
+
for (const imp of Array.from(imports).sort()) {
|
|
60
|
+
lines.push(`import "${imp}";`);
|
|
61
|
+
}
|
|
62
|
+
if (imports.size > 0) {
|
|
63
|
+
lines.push('');
|
|
64
|
+
}
|
|
65
|
+
// Options - use shared utility for standard options
|
|
66
|
+
const protoOptions = buildProtoOptions({
|
|
67
|
+
goPackage: options === null || options === void 0 ? void 0 : options.goPackage,
|
|
68
|
+
javaPackage: options === null || options === void 0 ? void 0 : options.javaPackage,
|
|
69
|
+
javaOuterClassname: options === null || options === void 0 ? void 0 : options.javaOuterClassname,
|
|
70
|
+
javaMultipleFiles: options === null || options === void 0 ? void 0 : options.javaMultipleFiles,
|
|
71
|
+
csharpNamespace: options === null || options === void 0 ? void 0 : options.csharpNamespace,
|
|
72
|
+
rubyPackage: options === null || options === void 0 ? void 0 : options.rubyPackage,
|
|
73
|
+
phpNamespace: options === null || options === void 0 ? void 0 : options.phpNamespace,
|
|
74
|
+
phpMetadataNamespace: options === null || options === void 0 ? void 0 : options.phpMetadataNamespace,
|
|
75
|
+
objcClassPrefix: options === null || options === void 0 ? void 0 : options.objcClassPrefix,
|
|
76
|
+
swiftPrefix: options === null || options === void 0 ? void 0 : options.swiftPrefix,
|
|
77
|
+
}, packageName);
|
|
78
|
+
// Add any custom options
|
|
79
|
+
if (options === null || options === void 0 ? void 0 : options.options) {
|
|
80
|
+
protoOptions.push(...options.options);
|
|
81
|
+
}
|
|
82
|
+
if (protoOptions.length > 0) {
|
|
83
|
+
lines.push(...protoOptions);
|
|
84
|
+
lines.push('');
|
|
85
|
+
}
|
|
86
|
+
return lines;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Converts a protobuf Service to proto text
|
|
90
|
+
*/
|
|
91
|
+
export function serviceToProtoText(service, options) {
|
|
92
|
+
const lines = [];
|
|
93
|
+
// Only include service comment if there's an actual custom comment
|
|
94
|
+
if ((options === null || options === void 0 ? void 0 : options.includeComments) && service.comment) {
|
|
95
|
+
lines.push(`// ${service.comment}`);
|
|
96
|
+
}
|
|
97
|
+
lines.push(`service ${service.name} {`);
|
|
98
|
+
// Sort methods for consistent output
|
|
99
|
+
const methods = Object.values(service.methods).sort((a, b) => a.name.localeCompare(b.name));
|
|
100
|
+
for (let i = 0; i < methods.length; i++) {
|
|
101
|
+
const method = methods[i];
|
|
102
|
+
// Add blank line between methods for readability
|
|
103
|
+
if (i > 0) {
|
|
104
|
+
lines.push('');
|
|
105
|
+
}
|
|
106
|
+
if ((options === null || options === void 0 ? void 0 : options.includeComments) && method.comment) {
|
|
107
|
+
lines.push(formatIndent(1, `// ${method.comment}`));
|
|
108
|
+
}
|
|
109
|
+
// Build method signature with streaming support
|
|
110
|
+
const requestPart = method.requestStream ? `stream ${method.requestType}` : method.requestType;
|
|
111
|
+
const responsePart = method.responseStream ? `stream ${method.responseType}` : method.responseType;
|
|
112
|
+
// Check if method has idempotency level option
|
|
113
|
+
const methodWithIdempotency = method;
|
|
114
|
+
const idempotencyLevel = methodWithIdempotency.idempotencyLevel;
|
|
115
|
+
if (idempotencyLevel) {
|
|
116
|
+
lines.push(formatIndent(1, `rpc ${method.name}(${requestPart}) returns (${responsePart}) {`));
|
|
117
|
+
lines.push(formatIndent(2, `option idempotency_level = ${idempotencyLevel};`));
|
|
118
|
+
lines.push(formatIndent(1, `}`));
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
lines.push(formatIndent(1, `rpc ${method.name}(${requestPart}) returns (${responsePart}) {}`));
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
lines.push('}');
|
|
125
|
+
lines.push('');
|
|
126
|
+
return lines;
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Converts a protobuf Type (message) to proto text
|
|
130
|
+
*/
|
|
131
|
+
export function messageToProtoText(message, options, indent = 0) {
|
|
132
|
+
const lines = [];
|
|
133
|
+
// Message comment
|
|
134
|
+
if ((options === null || options === void 0 ? void 0 : options.includeComments) && message.comment) {
|
|
135
|
+
lines.push(formatIndent(indent, `// ${message.comment}`));
|
|
136
|
+
}
|
|
137
|
+
lines.push(formatIndent(indent, `message ${message.name} {`));
|
|
138
|
+
// First, add nested types (messages and enums)
|
|
139
|
+
for (const nested of Object.values(message.nestedArray)) {
|
|
140
|
+
if (nested instanceof protobuf.Type) {
|
|
141
|
+
const nestedLines = messageToProtoText(nested, options, indent + 1);
|
|
142
|
+
lines.push(...nestedLines);
|
|
143
|
+
}
|
|
144
|
+
else if (nested instanceof protobuf.Enum) {
|
|
145
|
+
const nestedLines = enumToProtoText(nested, options, indent + 1);
|
|
146
|
+
lines.push(...nestedLines);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
// Then, add reserved declarations if any exist
|
|
150
|
+
if (message.reserved && Array.isArray(message.reserved) && message.reserved.length > 0) {
|
|
151
|
+
const reservedLines = formatReserved(message.reserved, indent + 1);
|
|
152
|
+
lines.push(...reservedLines);
|
|
153
|
+
}
|
|
154
|
+
// Finally, add fields
|
|
155
|
+
for (const field of message.fieldsArray) {
|
|
156
|
+
lines.push(...formatField(field, options, indent + 1));
|
|
157
|
+
}
|
|
158
|
+
lines.push(formatIndent(indent, `}`));
|
|
159
|
+
// Add blank line after top-level messages
|
|
160
|
+
if (indent === 0) {
|
|
161
|
+
lines.push('');
|
|
162
|
+
}
|
|
163
|
+
return lines;
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Converts a protobuf Enum to proto text
|
|
167
|
+
*/
|
|
168
|
+
export function enumToProtoText(enumType, options, indent = 0) {
|
|
169
|
+
const lines = [];
|
|
170
|
+
// Enum comment
|
|
171
|
+
if ((options === null || options === void 0 ? void 0 : options.includeComments) && enumType.comment) {
|
|
172
|
+
lines.push(formatIndent(indent, `// ${enumType.comment}`));
|
|
173
|
+
}
|
|
174
|
+
lines.push(formatIndent(indent, `enum ${enumType.name} {`));
|
|
175
|
+
// Add reserved declarations if any exist
|
|
176
|
+
if (enumType.reserved && Array.isArray(enumType.reserved) && enumType.reserved.length > 0) {
|
|
177
|
+
const reservedLines = formatReserved(enumType.reserved, indent + 1);
|
|
178
|
+
lines.push(...reservedLines);
|
|
179
|
+
}
|
|
180
|
+
// Add enum values
|
|
181
|
+
for (const [valueName, valueNumber] of Object.entries(enumType.values)) {
|
|
182
|
+
lines.push(formatIndent(indent + 1, `${valueName} = ${valueNumber};`));
|
|
183
|
+
}
|
|
184
|
+
lines.push(formatIndent(indent, `}`));
|
|
185
|
+
// Add blank line after top-level enums
|
|
186
|
+
if (indent === 0) {
|
|
187
|
+
lines.push('');
|
|
188
|
+
}
|
|
189
|
+
return lines;
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* Formats a protobuf field as proto text
|
|
193
|
+
*/
|
|
194
|
+
export function formatField(field, options, indent = 1) {
|
|
195
|
+
const lines = [];
|
|
196
|
+
// Field comment
|
|
197
|
+
if ((options === null || options === void 0 ? void 0 : options.includeComments) && field.comment) {
|
|
198
|
+
lines.push(formatIndent(indent, `// ${field.comment}`));
|
|
199
|
+
}
|
|
200
|
+
// Build field line
|
|
201
|
+
const repeated = field.repeated ? 'repeated ' : '';
|
|
202
|
+
lines.push(formatIndent(indent, `${repeated}${field.type} ${field.name} = ${field.id};`));
|
|
203
|
+
return lines;
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Formats reserved field declarations from protobufjs reserved array
|
|
207
|
+
*
|
|
208
|
+
* The protobufjs reserved array can contain:
|
|
209
|
+
* - Arrays [start, end] representing ranges (e.g., [2, 2] for single number, [5, 10] for range)
|
|
210
|
+
* - Strings representing reserved field names
|
|
211
|
+
*
|
|
212
|
+
* This function separates them into proper proto3 reserved statements:
|
|
213
|
+
* - reserved 2, 5 to 10;
|
|
214
|
+
* - reserved "old_field", "deprecated_field";
|
|
215
|
+
*/
|
|
216
|
+
export function formatReserved(reserved, indent = 1) {
|
|
217
|
+
const lines = [];
|
|
218
|
+
// Separate numbers and names
|
|
219
|
+
const numbers = [];
|
|
220
|
+
const names = [];
|
|
221
|
+
for (const item of reserved) {
|
|
222
|
+
if (typeof item === 'string') {
|
|
223
|
+
names.push(item);
|
|
224
|
+
}
|
|
225
|
+
else if (Array.isArray(item) && item.length >= 2) {
|
|
226
|
+
// Extract all numbers from the range [start, end]
|
|
227
|
+
const [start, end] = item;
|
|
228
|
+
for (let i = start; i <= end; i++) {
|
|
229
|
+
numbers.push(i);
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
// Format reserved numbers if any
|
|
234
|
+
if (numbers.length > 0) {
|
|
235
|
+
const formattedNumbers = formatReservedNumbers(numbers);
|
|
236
|
+
lines.push(formatIndent(indent, `reserved ${formattedNumbers};`));
|
|
237
|
+
}
|
|
238
|
+
// Format reserved names if any
|
|
239
|
+
if (names.length > 0) {
|
|
240
|
+
const formattedNames = names.map((name) => `"${name}"`).join(', ');
|
|
241
|
+
lines.push(formatIndent(indent, `reserved ${formattedNames};`));
|
|
242
|
+
}
|
|
243
|
+
return lines;
|
|
244
|
+
}
|
|
245
|
+
/**
|
|
246
|
+
* Formats a list of reserved field numbers into proto3 syntax
|
|
247
|
+
* Handles both individual numbers and ranges (e.g., "2, 5 to 10, 15")
|
|
248
|
+
*/
|
|
249
|
+
function formatReservedNumbers(numbers) {
|
|
250
|
+
if (numbers.length === 0)
|
|
251
|
+
return '';
|
|
252
|
+
// Sort and deduplicate numbers
|
|
253
|
+
const sortedNumbers = [...new Set(numbers)].sort((a, b) => a - b);
|
|
254
|
+
// Simple case: only one number
|
|
255
|
+
if (sortedNumbers.length === 1) {
|
|
256
|
+
return sortedNumbers[0].toString();
|
|
257
|
+
}
|
|
258
|
+
// Find continuous ranges to compact the representation
|
|
259
|
+
const ranges = [];
|
|
260
|
+
let rangeStart = sortedNumbers[0];
|
|
261
|
+
let rangeEnd = sortedNumbers[0];
|
|
262
|
+
for (let i = 1; i < sortedNumbers.length; i++) {
|
|
263
|
+
if (sortedNumbers[i] === rangeEnd + 1) {
|
|
264
|
+
// Extend the current range
|
|
265
|
+
rangeEnd = sortedNumbers[i];
|
|
266
|
+
}
|
|
267
|
+
else {
|
|
268
|
+
// End the current range and start a new one
|
|
269
|
+
ranges.push([rangeStart, rangeEnd]);
|
|
270
|
+
rangeStart = sortedNumbers[i];
|
|
271
|
+
rangeEnd = sortedNumbers[i];
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
// Add the last range
|
|
275
|
+
ranges.push([rangeStart, rangeEnd]);
|
|
276
|
+
// Format the ranges
|
|
277
|
+
return ranges
|
|
278
|
+
.map(([start, end]) => {
|
|
279
|
+
if (start === end) {
|
|
280
|
+
return start.toString();
|
|
281
|
+
}
|
|
282
|
+
else {
|
|
283
|
+
return `${start} to ${end}`;
|
|
284
|
+
}
|
|
285
|
+
})
|
|
286
|
+
.join(', ');
|
|
287
|
+
}
|
|
288
|
+
/**
|
|
289
|
+
* Detects if any message in the root uses Google Protocol Buffer wrapper types
|
|
290
|
+
*/
|
|
291
|
+
function detectWrapperTypeUsage(root) {
|
|
292
|
+
for (const nested of root.nestedArray) {
|
|
293
|
+
if (nested instanceof protobuf.Type) {
|
|
294
|
+
if (messageUsesWrapperTypes(nested)) {
|
|
295
|
+
return true;
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
return false;
|
|
300
|
+
}
|
|
301
|
+
/**
|
|
302
|
+
* Recursively checks if a message or its nested messages use wrapper types
|
|
303
|
+
*/
|
|
304
|
+
function messageUsesWrapperTypes(message) {
|
|
305
|
+
// Check fields in this message
|
|
306
|
+
for (const field of message.fieldsArray) {
|
|
307
|
+
if (field.type.startsWith('google.protobuf.')) {
|
|
308
|
+
return true;
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
// Check nested messages recursively
|
|
312
|
+
for (const nested of message.nestedArray) {
|
|
313
|
+
if (nested instanceof protobuf.Type) {
|
|
314
|
+
if (messageUsesWrapperTypes(nested)) {
|
|
315
|
+
return true;
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
return false;
|
|
320
|
+
}
|
|
321
|
+
/**
|
|
322
|
+
* Helper to format method definitions for services
|
|
323
|
+
*/
|
|
324
|
+
export function formatMethod(method, options, indent = 1) {
|
|
325
|
+
const lines = [];
|
|
326
|
+
// Method comment
|
|
327
|
+
if ((options === null || options === void 0 ? void 0 : options.includeComments) && method.comment) {
|
|
328
|
+
lines.push(formatIndent(indent, `// ${method.comment}`));
|
|
329
|
+
}
|
|
330
|
+
// Build method signature with streaming support
|
|
331
|
+
const requestPart = method.requestStream ? `stream ${method.requestType}` : method.requestType;
|
|
332
|
+
const responsePart = method.responseStream ? `stream ${method.responseType}` : method.responseType;
|
|
333
|
+
lines.push(formatIndent(indent, `rpc ${method.name}(${requestPart}) returns (${responsePart}) {}`));
|
|
334
|
+
return lines;
|
|
335
|
+
}
|
|
336
|
+
//# sourceMappingURL=proto-text-generator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proto-text-generator.js","sourceRoot":"","sources":["../../../src/operations/proto-text-generator.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxD;;GAEG;AACH,SAAS,YAAY,CAAC,MAAc,EAAE,OAAe;IACnD,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC;AACvC,CAAC;AAoCD;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,IAAmB,EAAE,OAA0B;IAC7E,MAAM,KAAK,GAAa,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAEtD,+BAA+B;IAC/B,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QACrD,IAAI,MAAM,YAAY,QAAQ,CAAC,OAAO,EAAE,CAAC;YACvC,KAAK,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAED,+BAA+B;IAC/B,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QACrD,IAAI,MAAM,YAAY,QAAQ,CAAC,IAAI,EAAE,CAAC;YACpC,KAAK,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAED,4BAA4B;IAC5B,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QACrD,IAAI,MAAM,YAAY,QAAQ,CAAC,IAAI,EAAE,CAAC;YACpC,KAAK,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CAAC,IAAmB,EAAE,OAA0B;IACrE,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,qBAAqB;IACrB,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAEjC,sBAAsB;IACtB,MAAM,WAAW,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,KAAI,YAAY,CAAC;IACzD,KAAK,CAAC,IAAI,CAAC,WAAW,WAAW,GAAG,CAAC,CAAC;IACtC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,UAAU;IACV,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAElC,iDAAiD;IACjD,IAAI,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;IAChD,CAAC;IAED,qBAAqB;IACrB,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,EAAE,CAAC;QACrB,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QAC7C,KAAK,CAAC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,oDAAoD;IACpD,MAAM,YAAY,GAAa,iBAAiB,CAC9C;QACE,SAAS,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS;QAC7B,WAAW,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW;QACjC,kBAAkB,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,kBAAkB;QAC/C,iBAAiB,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,iBAAiB;QAC7C,eAAe,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,eAAe;QACzC,WAAW,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW;QACjC,YAAY,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY;QACnC,oBAAoB,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,oBAAoB;QACnD,eAAe,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,eAAe;QACzC,WAAW,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW;KAClC,EACD,WAAW,CACZ,CAAC;IAEF,yBAAyB;IACzB,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,EAAE,CAAC;QACrB,YAAY,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAyB,EAAE,OAA0B;IACtF,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,mEAAmE;IACnE,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,eAAe,KAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QAChD,KAAK,CAAC,IAAI,CAAC,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,WAAW,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC;IAExC,qCAAqC;IACrC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAE5F,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAE1B,iDAAiD;QACjD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACV,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;QAED,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,eAAe,KAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YAC/C,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACtD,CAAC;QAED,gDAAgD;QAChD,MAAM,WAAW,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC;QAC/F,MAAM,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;QAEnG,+CAA+C;QAC/C,MAAM,qBAAqB,GAAG,MAA+B,CAAC;QAC9D,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,gBAAgB,CAAC;QAEhE,IAAI,gBAAgB,EAAE,CAAC;YACrB,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,OAAO,MAAM,CAAC,IAAI,IAAI,WAAW,cAAc,YAAY,KAAK,CAAC,CAAC,CAAC;YAC9F,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,8BAA8B,gBAAgB,GAAG,CAAC,CAAC,CAAC;YAC/E,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,OAAO,MAAM,CAAC,IAAI,IAAI,WAAW,cAAc,YAAY,MAAM,CAAC,CAAC,CAAC;QACjG,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAsB,EAAE,OAA0B,EAAE,SAAiB,CAAC;IACvG,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,kBAAkB;IAClB,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,eAAe,KAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QAChD,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,WAAW,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;IAE9D,+CAA+C;IAC/C,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QACxD,IAAI,MAAM,YAAY,QAAQ,CAAC,IAAI,EAAE,CAAC;YACpC,MAAM,WAAW,GAAG,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;YACpE,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC;QAC7B,CAAC;aAAM,IAAI,MAAM,YAAY,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC3C,MAAM,WAAW,GAAG,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;YACjE,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,+CAA+C;IAC/C,IAAI,OAAO,CAAC,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvF,MAAM,aAAa,GAAG,cAAc,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;QACnE,KAAK,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC;IAC/B,CAAC;IAED,sBAAsB;IACtB,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QACxC,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IAEtC,0CAA0C;IAC1C,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;QACjB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,QAAuB,EAAE,OAA0B,EAAE,SAAiB,CAAC;IACrG,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,eAAe;IACf,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,eAAe,KAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;QACjD,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,QAAQ,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;IAE5D,yCAAyC;IACzC,IAAI,QAAQ,CAAC,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1F,MAAM,aAAa,GAAG,cAAc,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;QACpE,KAAK,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC;IAC/B,CAAC;IAED,kBAAkB;IAClB,KAAK,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACvE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,GAAG,SAAS,MAAM,WAAW,GAAG,CAAC,CAAC,CAAC;IACzE,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IAEtC,uCAAuC;IACvC,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;QACjB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,KAAqB,EAAE,OAA0B,EAAE,SAAiB,CAAC;IAC/F,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,gBAAgB;IAChB,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,eAAe,KAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAC9C,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,mBAAmB;IACnB,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;IACnD,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,QAAQ,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAE1F,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,cAAc,CAAC,QAAkC,EAAE,SAAiB,CAAC;IACnF,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,6BAA6B;IAC7B,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACnD,kDAAkD;YAClD,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;YAC1B,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;gBAClC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;IACH,CAAC;IAED,iCAAiC;IACjC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;QACxD,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,YAAY,gBAAgB,GAAG,CAAC,CAAC,CAAC;IACpE,CAAC;IAED,+BAA+B;IAC/B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,cAAc,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,YAAY,cAAc,GAAG,CAAC,CAAC,CAAC;IAClE,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,SAAS,qBAAqB,CAAC,OAAiB;IAC9C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEpC,+BAA+B;IAC/B,MAAM,aAAa,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAElE,+BAA+B;IAC/B,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IACrC,CAAC;IAED,uDAAuD;IACvD,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,IAAI,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;IAClC,IAAI,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;IAEhC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9C,IAAI,aAAa,CAAC,CAAC,CAAC,KAAK,QAAQ,GAAG,CAAC,EAAE,CAAC;YACtC,2BAA2B;YAC3B,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,4CAA4C;YAC5C,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;YACpC,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;YAC9B,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,qBAAqB;IACrB,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEpC,oBAAoB;IACpB,OAAO,MAAM;SACV,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE;QACpB,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YAClB,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,KAAK,OAAO,GAAG,EAAE,CAAC;QAC9B,CAAC;IACH,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,SAAS,sBAAsB,CAAC,IAAmB;IACjD,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QACtC,IAAI,MAAM,YAAY,QAAQ,CAAC,IAAI,EAAE,CAAC;YACpC,IAAI,uBAAuB,CAAC,MAAM,CAAC,EAAE,CAAC;gBACpC,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,SAAS,uBAAuB,CAAC,OAAsB;IACrD,+BAA+B;IAC/B,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QACxC,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;YAC9C,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,oCAAoC;IACpC,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QACzC,IAAI,MAAM,YAAY,QAAQ,CAAC,IAAI,EAAE,CAAC;YACpC,IAAI,uBAAuB,CAAC,MAAM,CAAC,EAAE,CAAC;gBACpC,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,MAAuB,EAAE,OAA0B,EAAE,SAAiB,CAAC;IAClG,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,iBAAiB;IACjB,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,eAAe,KAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QAC/C,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,gDAAgD;IAChD,MAAM,WAAW,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC;IAC/F,MAAM,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;IAEnG,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,MAAM,CAAC,IAAI,IAAI,WAAW,cAAc,YAAY,MAAM,CAAC,CAAC,CAAC;IAEpG,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import protobuf from 'protobufjs';
|
|
2
|
+
import { VariableDefinitionNode, GraphQLSchema, GraphQLInputType, TypeNode, GraphQLInputObjectType, GraphQLEnumType } from 'graphql';
|
|
3
|
+
import { FieldNumberManager } from './field-numbering.js';
|
|
4
|
+
/**
|
|
5
|
+
* Options for building request messages
|
|
6
|
+
*/
|
|
7
|
+
export interface RequestBuilderOptions {
|
|
8
|
+
/** Whether to include comments/descriptions */
|
|
9
|
+
includeComments?: boolean;
|
|
10
|
+
/** Field number manager for consistent numbering */
|
|
11
|
+
fieldNumberManager?: FieldNumberManager;
|
|
12
|
+
/** The GraphQL schema for type lookups */
|
|
13
|
+
schema?: GraphQLSchema;
|
|
14
|
+
/** Custom scalar type mappings (scalar name -> proto type) */
|
|
15
|
+
customScalarMappings?: Record<string, string>;
|
|
16
|
+
/** Callback to ensure nested list wrapper messages are created */
|
|
17
|
+
ensureNestedListWrapper?: (graphqlType: GraphQLInputType) => string;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Builds a Protocol Buffer request message from GraphQL operation variables
|
|
21
|
+
*
|
|
22
|
+
* @param messageName - The name for the request message
|
|
23
|
+
* @param variables - Array of variable definitions from the operation
|
|
24
|
+
* @param schema - The GraphQL schema for type resolution
|
|
25
|
+
* @param options - Optional configuration
|
|
26
|
+
* @returns A protobuf Type object representing the request message
|
|
27
|
+
*/
|
|
28
|
+
export declare function buildRequestMessage(messageName: string, variables: ReadonlyArray<VariableDefinitionNode>, schema: GraphQLSchema, options?: RequestBuilderOptions): protobuf.Type;
|
|
29
|
+
/**
|
|
30
|
+
* Builds a proto field from a GraphQL variable definition
|
|
31
|
+
*
|
|
32
|
+
* @param variableName - The name of the variable
|
|
33
|
+
* @param typeNode - The GraphQL type node from the variable definition
|
|
34
|
+
* @param schema - The GraphQL schema for type resolution
|
|
35
|
+
* @param messageName - The name of the message this field belongs to
|
|
36
|
+
* @param options - Optional configuration
|
|
37
|
+
* @param defaultFieldNumber - Default field number if no manager is provided
|
|
38
|
+
* @returns A protobuf Field object
|
|
39
|
+
*/
|
|
40
|
+
export declare function buildVariableField(variableName: string, typeNode: TypeNode, schema: GraphQLSchema, messageName: string, options?: RequestBuilderOptions, defaultFieldNumber?: number): protobuf.Field | null;
|
|
41
|
+
/**
|
|
42
|
+
* Builds an input object message type from a GraphQL input object type
|
|
43
|
+
*
|
|
44
|
+
* @param inputType - The GraphQL input object type
|
|
45
|
+
* @param options - Optional configuration
|
|
46
|
+
* @returns A protobuf Type object
|
|
47
|
+
*/
|
|
48
|
+
export declare function buildInputObjectMessage(inputType: GraphQLInputObjectType, options?: RequestBuilderOptions): protobuf.Type;
|
|
49
|
+
/**
|
|
50
|
+
* Builds an enum type from a GraphQL enum type
|
|
51
|
+
*
|
|
52
|
+
* @param enumType - The GraphQL enum type
|
|
53
|
+
* @param options - Optional configuration
|
|
54
|
+
* @returns A protobuf Enum object
|
|
55
|
+
*/
|
|
56
|
+
export declare function buildEnumType(enumType: GraphQLEnumType, options?: RequestBuilderOptions): protobuf.Enum;
|