@wundergraph/protographic 0.9.8 → 0.11.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/dist/src/index.d.ts +1 -1
- package/dist/src/naming-conventions.d.ts +20 -1
- package/dist/src/naming-conventions.js +27 -0
- package/dist/src/naming-conventions.js.map +1 -1
- package/dist/src/sdl-to-mapping-visitor.d.ts +17 -0
- package/dist/src/sdl-to-mapping-visitor.js +55 -7
- package/dist/src/sdl-to-mapping-visitor.js.map +1 -1
- package/dist/src/sdl-to-proto-visitor.d.ts +76 -5
- package/dist/src/sdl-to-proto-visitor.js +272 -20
- package/dist/src/sdl-to-proto-visitor.js.map +1 -1
- package/dist/src/sdl-validation-visitor.d.ts +94 -20
- package/dist/src/sdl-validation-visitor.js +258 -73
- package/dist/src/sdl-validation-visitor.js.map +1 -1
- package/dist/src/string-constants.d.ts +4 -0
- package/dist/src/string-constants.js +5 -0
- package/dist/src/string-constants.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
package/dist/src/index.d.ts
CHANGED
|
@@ -42,7 +42,7 @@ export * from './sdl-to-mapping-visitor.js';
|
|
|
42
42
|
export { GraphQLToProtoTextVisitor } from './sdl-to-proto-visitor.js';
|
|
43
43
|
export { ProtoLockManager } from './proto-lock.js';
|
|
44
44
|
export { SDLValidationVisitor } from './sdl-validation-visitor.js';
|
|
45
|
-
export type { GraphQLToProtoTextVisitorOptions } from './sdl-to-proto-visitor.js';
|
|
45
|
+
export type { GraphQLToProtoTextVisitorOptions, ProtoOption } from './sdl-to-proto-visitor.js';
|
|
46
46
|
export type { ProtoLock } from './proto-lock.js';
|
|
47
47
|
export type { ValidationResult } from './sdl-validation-visitor.js';
|
|
48
48
|
export { GRPCMapping, OperationMapping, EntityMapping, TypeFieldMapping, FieldMapping, ArgumentMapping, EnumMapping, EnumValueMapping, OperationType, } from '@wundergraph/cosmo-connect/dist/node/v1/node_pb';
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
/**
|
|
8
8
|
* The names of the GraphQL operation types
|
|
9
9
|
*/
|
|
10
|
-
export type OperationTypeName = 'Query' | 'Mutation' | 'Subscription';
|
|
10
|
+
export type OperationTypeName = 'Query' | 'Mutation' | 'Subscription' | 'Resolve';
|
|
11
11
|
/**
|
|
12
12
|
* Converts a GraphQL field name to a Protocol Buffer field name (snake_case)
|
|
13
13
|
*/
|
|
@@ -20,6 +20,7 @@ export declare function graphqlArgumentToProtoField(argName: string): string;
|
|
|
20
20
|
* Creates an operation method name from an operation type and field name
|
|
21
21
|
*/
|
|
22
22
|
export declare function createOperationMethodName(operationType: OperationTypeName, fieldName: string): string;
|
|
23
|
+
export declare function createResolverMethodName(parentTypeName: string, fieldName: string): string;
|
|
23
24
|
/**
|
|
24
25
|
* Creates a request message name for an operation
|
|
25
26
|
*/
|
|
@@ -40,3 +41,21 @@ export declare function graphqlEnumValueToProtoEnumValue(enumTypeName: string, e
|
|
|
40
41
|
* Creates a Proto enum unspecified value (required as first value in proto3)
|
|
41
42
|
*/
|
|
42
43
|
export declare function createEnumUnspecifiedValue(enumTypeName: string): string;
|
|
44
|
+
/**
|
|
45
|
+
* Creates a response result name for a resolver response
|
|
46
|
+
* @param methodName - The name of the method
|
|
47
|
+
* @returns The name of the response result built from the method name
|
|
48
|
+
*/
|
|
49
|
+
export declare function resolverResponseResultName(methodName: string): string;
|
|
50
|
+
/**
|
|
51
|
+
* Creates a type field arguments name for a type field
|
|
52
|
+
* @param methodName - The method name
|
|
53
|
+
* @returns The name of the type field arguments built from the method name
|
|
54
|
+
*/
|
|
55
|
+
export declare function typeFieldArgsName(methodName: string): string;
|
|
56
|
+
/**
|
|
57
|
+
* Creates a type field context name for a type field
|
|
58
|
+
* @param methodName - The method name
|
|
59
|
+
* @returns The name of the type field context built from the method name
|
|
60
|
+
*/
|
|
61
|
+
export declare function typeFieldContextName(methodName: string): string;
|
|
@@ -17,6 +17,9 @@ export function graphqlArgumentToProtoField(argName) {
|
|
|
17
17
|
export function createOperationMethodName(operationType, fieldName) {
|
|
18
18
|
return `${operationType}${upperFirst(camelCase(fieldName))}`;
|
|
19
19
|
}
|
|
20
|
+
export function createResolverMethodName(parentTypeName, fieldName) {
|
|
21
|
+
return `Resolve${upperFirst(camelCase(parentTypeName))}${upperFirst(camelCase(fieldName))}`;
|
|
22
|
+
}
|
|
20
23
|
/**
|
|
21
24
|
* Creates a request message name for an operation
|
|
22
25
|
*/
|
|
@@ -53,4 +56,28 @@ export function graphqlEnumValueToProtoEnumValue(enumTypeName, enumValue) {
|
|
|
53
56
|
export function createEnumUnspecifiedValue(enumTypeName) {
|
|
54
57
|
return `${snakeCase(enumTypeName).toUpperCase()}_UNSPECIFIED`;
|
|
55
58
|
}
|
|
59
|
+
/**
|
|
60
|
+
* Creates a response result name for a resolver response
|
|
61
|
+
* @param methodName - The name of the method
|
|
62
|
+
* @returns The name of the response result built from the method name
|
|
63
|
+
*/
|
|
64
|
+
export function resolverResponseResultName(methodName) {
|
|
65
|
+
return `${upperFirst(camelCase(methodName))}Result`;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Creates a type field arguments name for a type field
|
|
69
|
+
* @param methodName - The method name
|
|
70
|
+
* @returns The name of the type field arguments built from the method name
|
|
71
|
+
*/
|
|
72
|
+
export function typeFieldArgsName(methodName) {
|
|
73
|
+
return `${methodName}Args`;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Creates a type field context name for a type field
|
|
77
|
+
* @param methodName - The method name
|
|
78
|
+
* @returns The name of the type field context built from the method name
|
|
79
|
+
*/
|
|
80
|
+
export function typeFieldContextName(methodName) {
|
|
81
|
+
return `${methodName}Context`;
|
|
82
|
+
}
|
|
56
83
|
//# sourceMappingURL=naming-conventions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"naming-conventions.js","sourceRoot":"","sources":["../../src/naming-conventions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAc7D;;GAEG;AACH,MAAM,UAAU,wBAAwB,CAAC,SAAiB;IACxD,OAAO,SAAS,CAAC,SAAS,CAAC,CAAC;AAC9B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,2BAA2B,CAAC,OAAe;IACzD,OAAO,SAAS,CAAC,OAAO,CAAC,CAAC;AAC5B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,yBAAyB,CAAC,aAAgC,EAAE,SAAiB;IAC3F,OAAO,GAAG,aAAa,GAAG,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;AAC/D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,wBAAwB,CAAC,UAAkB;IACzD,OAAO,GAAG,UAAU,SAAS,CAAC;AAChC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,yBAAyB,CAAC,UAAkB;IAC1D,OAAO,GAAG,UAAU,UAAU,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,4BAA4B,CAAC,QAAgB,EAAE,YAAoB,IAAI;IACrF,MAAM,aAAa,GAAG,SAAS;SAC5B,KAAK,CAAC,QAAQ,CAAC;SACf,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;SACnC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;SAC5C,IAAI,EAAE;SACN,IAAI,CAAC,KAAK,CAAC,CAAC;IAEf,OAAO,SAAS,QAAQ,KAAK,aAAa,EAAE,CAAC;AAC/C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gCAAgC,CAAC,YAAoB,EAAE,SAAiB;IACtF,OAAO,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,IAAI,SAAS,EAAE,CAAC;AACjE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,0BAA0B,CAAC,YAAoB;IAC7D,OAAO,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,cAAc,CAAC;AAChE,CAAC"}
|
|
1
|
+
{"version":3,"file":"naming-conventions.js","sourceRoot":"","sources":["../../src/naming-conventions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAc7D;;GAEG;AACH,MAAM,UAAU,wBAAwB,CAAC,SAAiB;IACxD,OAAO,SAAS,CAAC,SAAS,CAAC,CAAC;AAC9B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,2BAA2B,CAAC,OAAe;IACzD,OAAO,SAAS,CAAC,OAAO,CAAC,CAAC;AAC5B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,yBAAyB,CAAC,aAAgC,EAAE,SAAiB;IAC3F,OAAO,GAAG,aAAa,GAAG,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,cAAsB,EAAE,SAAiB;IAChF,OAAO,UAAU,UAAU,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;AAC9F,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,wBAAwB,CAAC,UAAkB;IACzD,OAAO,GAAG,UAAU,SAAS,CAAC;AAChC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,yBAAyB,CAAC,UAAkB;IAC1D,OAAO,GAAG,UAAU,UAAU,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,4BAA4B,CAAC,QAAgB,EAAE,YAAoB,IAAI;IACrF,MAAM,aAAa,GAAG,SAAS;SAC5B,KAAK,CAAC,QAAQ,CAAC;SACf,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;SACnC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;SAC5C,IAAI,EAAE;SACN,IAAI,CAAC,KAAK,CAAC,CAAC;IAEf,OAAO,SAAS,QAAQ,KAAK,aAAa,EAAE,CAAC;AAC/C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gCAAgC,CAAC,YAAoB,EAAE,SAAiB;IACtF,OAAO,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,IAAI,SAAS,EAAE,CAAC;AACjE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,0BAA0B,CAAC,YAAoB;IAC7D,OAAO,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,cAAc,CAAC;AAChE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,0BAA0B,CAAC,UAAkB;IAC3D,OAAO,GAAG,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC;AACtD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,UAAkB;IAClD,OAAO,GAAG,UAAU,MAAM,CAAC;AAC7B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,UAAkB;IACrD,OAAO,GAAG,UAAU,SAAS,CAAC;AAChC,CAAC"}
|
|
@@ -88,6 +88,12 @@ export declare class GraphQLToProtoVisitor {
|
|
|
88
88
|
* needs to be mapped to a corresponding gRPC RPC method.
|
|
89
89
|
*/
|
|
90
90
|
private processSubscriptionType;
|
|
91
|
+
/**
|
|
92
|
+
* Process the resolvable fields to generate lookup mappings
|
|
93
|
+
*
|
|
94
|
+
* Each field with arguments that is marked with @connect__fieldResolver is a resolvable field.
|
|
95
|
+
*/
|
|
96
|
+
private processResolvableFields;
|
|
91
97
|
/**
|
|
92
98
|
* Process a GraphQL type to generate operation mappings
|
|
93
99
|
*
|
|
@@ -107,6 +113,7 @@ export declare class GraphQLToProtoVisitor {
|
|
|
107
113
|
* @param mappedName - Transformed name for use in gRPC context
|
|
108
114
|
*/
|
|
109
115
|
private createOperationMapping;
|
|
116
|
+
private createLookupMapping;
|
|
110
117
|
/**
|
|
111
118
|
* Process all remaining GraphQL types to generate complete mappings
|
|
112
119
|
*
|
|
@@ -159,6 +166,16 @@ export declare class GraphQLToProtoVisitor {
|
|
|
159
166
|
* @returns The created field mapping
|
|
160
167
|
*/
|
|
161
168
|
private createFieldMapping;
|
|
169
|
+
/**
|
|
170
|
+
* Create a lookup field mapping between a GraphQL type and Protocol Buffer type
|
|
171
|
+
*
|
|
172
|
+
* This includes mapping the type name and any fields the type may have.
|
|
173
|
+
*
|
|
174
|
+
* @param type - The name of the containing GraphQL type
|
|
175
|
+
* @param field - The GraphQL field to create a mapping for
|
|
176
|
+
* @returns The created lookup field mapping
|
|
177
|
+
*/
|
|
178
|
+
private createLookupFieldMapping;
|
|
162
179
|
/**
|
|
163
180
|
* Create argument mappings for a GraphQL field
|
|
164
181
|
*
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { isEnumType, isInputObjectType, isObjectType, Kind, } from 'graphql';
|
|
2
|
-
import { createEntityLookupMethodName, createOperationMethodName, createRequestMessageName, createResponseMessageName, graphqlArgumentToProtoField, graphqlEnumValueToProtoEnumValue, graphqlFieldToProtoField, } from './naming-conventions.js';
|
|
3
|
-
import { ArgumentMapping, EntityMapping, EnumMapping, EnumValueMapping, FieldMapping, GRPCMapping, OperationMapping, OperationType, TypeFieldMapping, } from '@wundergraph/cosmo-connect/dist/node/v1/node_pb';
|
|
2
|
+
import { createEntityLookupMethodName, createOperationMethodName, createRequestMessageName, createResolverMethodName, createResponseMessageName, graphqlArgumentToProtoField, graphqlEnumValueToProtoEnumValue, graphqlFieldToProtoField, } from './naming-conventions.js';
|
|
3
|
+
import { ArgumentMapping, EntityMapping, EnumMapping, EnumValueMapping, FieldMapping, GRPCMapping, LookupFieldMapping, LookupMapping, LookupType, OperationMapping, OperationType, TypeFieldMapping, } from '@wundergraph/cosmo-connect/dist/node/v1/node_pb';
|
|
4
4
|
/**
|
|
5
5
|
* Visitor that converts a GraphQL schema to gRPC mapping definitions
|
|
6
6
|
*
|
|
@@ -50,6 +50,8 @@ export class GraphQLToProtoVisitor {
|
|
|
50
50
|
this.processMutationType();
|
|
51
51
|
// Process subscription type
|
|
52
52
|
this.processSubscriptionType();
|
|
53
|
+
// Process resolvable fields
|
|
54
|
+
this.processResolvableFields();
|
|
53
55
|
// Process all other types for field mappings
|
|
54
56
|
this.processAllTypes();
|
|
55
57
|
return this.mapping;
|
|
@@ -62,8 +64,7 @@ export class GraphQLToProtoVisitor {
|
|
|
62
64
|
*/
|
|
63
65
|
processEntityTypes() {
|
|
64
66
|
const typeMap = this.schema.getTypeMap();
|
|
65
|
-
for (const typeName
|
|
66
|
-
const type = typeMap[typeName];
|
|
67
|
+
for (const [typeName, type] of Object.entries(typeMap)) {
|
|
67
68
|
// Skip built-in types and query/mutation/subscription types
|
|
68
69
|
if (this.shouldSkipRootType(type))
|
|
69
70
|
continue;
|
|
@@ -159,6 +160,27 @@ export class GraphQLToProtoVisitor {
|
|
|
159
160
|
processSubscriptionType() {
|
|
160
161
|
this.processType('Subscription', OperationType.SUBSCRIPTION, this.schema.getSubscriptionType());
|
|
161
162
|
}
|
|
163
|
+
/**
|
|
164
|
+
* Process the resolvable fields to generate lookup mappings
|
|
165
|
+
*
|
|
166
|
+
* Each field with arguments that is marked with @connect__fieldResolver is a resolvable field.
|
|
167
|
+
*/
|
|
168
|
+
processResolvableFields() {
|
|
169
|
+
const typeMap = this.schema.getTypeMap();
|
|
170
|
+
for (const typeName in typeMap) {
|
|
171
|
+
const type = typeMap[typeName];
|
|
172
|
+
if (this.shouldSkipRootType(type))
|
|
173
|
+
continue;
|
|
174
|
+
if (!isObjectType(type))
|
|
175
|
+
continue;
|
|
176
|
+
const fields = type.getFields();
|
|
177
|
+
for (const field of Object.values(fields)) {
|
|
178
|
+
if (field.args.length === 0)
|
|
179
|
+
continue;
|
|
180
|
+
this.createLookupMapping(LookupType.RESOLVE, type.name, field);
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
}
|
|
162
184
|
/**
|
|
163
185
|
* Process a GraphQL type to generate operation mappings
|
|
164
186
|
*
|
|
@@ -184,7 +206,7 @@ export class GraphQLToProtoVisitor {
|
|
|
184
206
|
const field = fields[fieldName];
|
|
185
207
|
const mappedName = createOperationMethodName(operationTypeName, fieldName);
|
|
186
208
|
this.createOperationMapping(operationType, fieldName, mappedName);
|
|
187
|
-
const fieldMapping = this.createFieldMapping(
|
|
209
|
+
const fieldMapping = this.createFieldMapping(field);
|
|
188
210
|
typeFieldMapping.fieldMappings.push(fieldMapping);
|
|
189
211
|
}
|
|
190
212
|
this.mapping.typeFieldMappings.push(typeFieldMapping);
|
|
@@ -206,6 +228,17 @@ export class GraphQLToProtoVisitor {
|
|
|
206
228
|
});
|
|
207
229
|
this.mapping.operationMappings.push(operationMapping);
|
|
208
230
|
}
|
|
231
|
+
createLookupMapping(type, typeName, field) {
|
|
232
|
+
const methodName = createResolverMethodName(typeName, field.name);
|
|
233
|
+
const lookupMapping = new LookupMapping({
|
|
234
|
+
type,
|
|
235
|
+
lookupMapping: this.createLookupFieldMapping(typeName, field),
|
|
236
|
+
rpc: methodName,
|
|
237
|
+
request: createRequestMessageName(methodName),
|
|
238
|
+
response: createResponseMessageName(methodName),
|
|
239
|
+
});
|
|
240
|
+
this.mapping.resolveMappings.push(lookupMapping);
|
|
241
|
+
}
|
|
209
242
|
/**
|
|
210
243
|
* Process all remaining GraphQL types to generate complete mappings
|
|
211
244
|
*
|
|
@@ -262,7 +295,7 @@ export class GraphQLToProtoVisitor {
|
|
|
262
295
|
const fields = type.getFields();
|
|
263
296
|
for (const fieldName in fields) {
|
|
264
297
|
const field = fields[fieldName];
|
|
265
|
-
const fieldMapping = this.createFieldMapping(
|
|
298
|
+
const fieldMapping = this.createFieldMapping(field);
|
|
266
299
|
typeFieldMapping.fieldMappings.push(fieldMapping);
|
|
267
300
|
}
|
|
268
301
|
// Only add to mappings if there are fields to map
|
|
@@ -332,7 +365,7 @@ export class GraphQLToProtoVisitor {
|
|
|
332
365
|
* @param field - The GraphQL field to create a mapping for
|
|
333
366
|
* @returns The created field mapping
|
|
334
367
|
*/
|
|
335
|
-
createFieldMapping(
|
|
368
|
+
createFieldMapping(field) {
|
|
336
369
|
const fieldName = field.name;
|
|
337
370
|
// Convert field names to snake_case for Protocol Buffers
|
|
338
371
|
const mappedFieldName = graphqlFieldToProtoField(fieldName);
|
|
@@ -343,6 +376,21 @@ export class GraphQLToProtoVisitor {
|
|
|
343
376
|
argumentMappings,
|
|
344
377
|
});
|
|
345
378
|
}
|
|
379
|
+
/**
|
|
380
|
+
* Create a lookup field mapping between a GraphQL type and Protocol Buffer type
|
|
381
|
+
*
|
|
382
|
+
* This includes mapping the type name and any fields the type may have.
|
|
383
|
+
*
|
|
384
|
+
* @param type - The name of the containing GraphQL type
|
|
385
|
+
* @param field - The GraphQL field to create a mapping for
|
|
386
|
+
* @returns The created lookup field mapping
|
|
387
|
+
*/
|
|
388
|
+
createLookupFieldMapping(type, field) {
|
|
389
|
+
return new LookupFieldMapping({
|
|
390
|
+
type,
|
|
391
|
+
fieldMapping: this.createFieldMapping(field),
|
|
392
|
+
});
|
|
393
|
+
}
|
|
346
394
|
/**
|
|
347
395
|
* Create argument mappings for a GraphQL field
|
|
348
396
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdl-to-mapping-visitor.js","sourceRoot":"","sources":["../../src/sdl-to-mapping-visitor.ts"],"names":[],"mappings":"AAAA,OAAO,EAQL,UAAU,EACV,iBAAiB,EACjB,YAAY,EACZ,IAAI,GACL,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,4BAA4B,EAC5B,yBAAyB,EACzB,wBAAwB,EACxB,yBAAyB,EACzB,2BAA2B,EAC3B,gCAAgC,EAChC,wBAAwB,GAEzB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,eAAe,EACf,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,gBAAgB,GACjB,MAAM,iDAAiD,CAAC;AAGzD;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,qBAAqB;IAIhC;;;;;OAKG;IACH,YAAY,MAAqB,EAAE,cAAsB,gBAAgB;QACvE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,IAAI,WAAW,CAAC;YAC7B,OAAO,EAAE,CAAC;YACV,OAAO,EAAE,WAAW;YACpB,iBAAiB,EAAE,EAAE;YACrB,cAAc,EAAE,EAAE;YAClB,iBAAiB,EAAE,EAAE;YACrB,YAAY,EAAE,EAAE;SACjB,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;OASG;IACI,KAAK;QACV,yDAAyD;QACzD,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE1B,qBAAqB;QACrB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAExB,wBAAwB;QACxB,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAE3B,4BAA4B;QAC5B,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAE/B,6CAA6C;QAC7C,IAAI,CAAC,eAAe,EAAE,CAAC;QAEvB,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;;;;OAKG;IACK,kBAAkB;QACxB,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QAEzC,KAAK,MAAM,QAAQ,IAAI,
|
|
1
|
+
{"version":3,"file":"sdl-to-mapping-visitor.js","sourceRoot":"","sources":["../../src/sdl-to-mapping-visitor.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,10 +6,18 @@ import { ProtoLock } from './proto-lock.js';
|
|
|
6
6
|
export interface GraphQLToProtoTextVisitorOptions {
|
|
7
7
|
serviceName?: string;
|
|
8
8
|
packageName?: string;
|
|
9
|
-
goPackage?: string;
|
|
10
9
|
lockData?: ProtoLock;
|
|
11
10
|
/** Whether to include descriptions/comments from GraphQL schema */
|
|
12
11
|
includeComments?: boolean;
|
|
12
|
+
/** Custom options printed as proto options */
|
|
13
|
+
protoOptions?: ProtoOption[];
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Format based on https://protobuf.dev/reference/protobuf/proto3-spec/#option
|
|
17
|
+
*/
|
|
18
|
+
export interface ProtoOption {
|
|
19
|
+
name: string;
|
|
20
|
+
constant: string;
|
|
13
21
|
}
|
|
14
22
|
/**
|
|
15
23
|
* Visitor that converts GraphQL SDL to Protocol Buffer text definition
|
|
@@ -105,10 +113,6 @@ export declare class GraphQLToProtoTextVisitor {
|
|
|
105
113
|
* Add an import statement to the proto file
|
|
106
114
|
*/
|
|
107
115
|
private addImport;
|
|
108
|
-
/**
|
|
109
|
-
* Add an option statement to the proto file
|
|
110
|
-
*/
|
|
111
|
-
private addOption;
|
|
112
116
|
/**
|
|
113
117
|
* Build the proto file header with syntax, package, imports, and options
|
|
114
118
|
*/
|
|
@@ -199,6 +203,60 @@ export declare class GraphQLToProtoTextVisitor {
|
|
|
199
203
|
* @returns An object with the key fields and whether it is resolvable
|
|
200
204
|
*/
|
|
201
205
|
private getKeyInfoFromDirective;
|
|
206
|
+
private collectResolverRpcMethods;
|
|
207
|
+
private getFieldContext;
|
|
208
|
+
private getIDFields;
|
|
209
|
+
private getUnderlyingType;
|
|
210
|
+
private findResolverDirective;
|
|
211
|
+
/**
|
|
212
|
+
* Creates a request message for a resolver field. This message is used to
|
|
213
|
+
* pass the arguments to the resolver method.
|
|
214
|
+
*
|
|
215
|
+
* @example
|
|
216
|
+
* ```protobuf
|
|
217
|
+
message ResolveUserPostArgs {
|
|
218
|
+
bool upper = 1;
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
message ResolveUserPostContext {
|
|
222
|
+
string id = 1;
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
message ResolveUserPostRequest {
|
|
226
|
+
repeated ResolveUserPostContext context = 1;
|
|
227
|
+
ResolveUserPostArgs field_args = 2;
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
*
|
|
231
|
+
* ```
|
|
232
|
+
* @param requestName - The name of the request message
|
|
233
|
+
* @param field
|
|
234
|
+
* @returns
|
|
235
|
+
*/
|
|
236
|
+
private createResolverRequestMessage;
|
|
237
|
+
/**
|
|
238
|
+
* Creates a response message for a resolver field. This message is used to
|
|
239
|
+
* pass the response from the resolver method.
|
|
240
|
+
*
|
|
241
|
+
* @example
|
|
242
|
+
* ```protobuf
|
|
243
|
+
message ResolveUserPostsResult {
|
|
244
|
+
string user_id = 1;
|
|
245
|
+
ListOfPost posts = 2;
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
message ResolveUserPostsResponse {
|
|
249
|
+
repeated ResolveUserPostsResult result = 1;
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
* ```
|
|
253
|
+
* @param responseName
|
|
254
|
+
* @param fieldName
|
|
255
|
+
* @param field
|
|
256
|
+
* @returns string[] - The protobuf text generated for the response message
|
|
257
|
+
*/
|
|
258
|
+
private createResolverResponseMessage;
|
|
259
|
+
private isOperationType;
|
|
202
260
|
/**
|
|
203
261
|
* Queue all types from the schema that need processing
|
|
204
262
|
*/
|
|
@@ -377,4 +435,17 @@ export declare class GraphQLToProtoTextVisitor {
|
|
|
377
435
|
* @returns Array of comment lines with proper indentation
|
|
378
436
|
*/
|
|
379
437
|
private formatComment;
|
|
438
|
+
/**
|
|
439
|
+
* Builds a message definition from a ProtoMessage object
|
|
440
|
+
* @param message - The ProtoMessage object
|
|
441
|
+
* @returns The message definition
|
|
442
|
+
*/
|
|
443
|
+
private buildMessage;
|
|
444
|
+
/**
|
|
445
|
+
* Formats the indent for the content
|
|
446
|
+
* @param indent - The indent level
|
|
447
|
+
* @param content - The content to format
|
|
448
|
+
* @returns The formatted content
|
|
449
|
+
*/
|
|
450
|
+
private formatIndent;
|
|
380
451
|
}
|