@wundergraph/protographic 0.15.6 → 0.16.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/abstract-selection-rewriter.d.ts +265 -0
- package/dist/src/abstract-selection-rewriter.js +585 -0
- package/dist/src/abstract-selection-rewriter.js.map +1 -0
- package/dist/src/index.d.ts +2 -0
- package/dist/src/index.js +4 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/naming-conventions.d.ts +59 -0
- package/dist/src/naming-conventions.js +82 -7
- package/dist/src/naming-conventions.js.map +1 -1
- package/dist/src/operation-to-proto.js +9 -6
- package/dist/src/operation-to-proto.js.map +1 -1
- package/dist/src/operations/field-numbering.js +6 -3
- package/dist/src/operations/field-numbering.js.map +1 -1
- package/dist/src/operations/message-builder.js +38 -23
- package/dist/src/operations/message-builder.js.map +1 -1
- package/dist/src/operations/proto-field-options.js.map +1 -1
- package/dist/src/operations/proto-text-generator.js +16 -27
- package/dist/src/operations/proto-text-generator.js.map +1 -1
- package/dist/src/operations/request-builder.js +5 -3
- package/dist/src/operations/request-builder.js.map +1 -1
- package/dist/src/operations/type-mapper.js +3 -22
- package/dist/src/operations/type-mapper.js.map +1 -1
- package/dist/src/proto-lock.js +19 -19
- package/dist/src/proto-lock.js.map +1 -1
- package/dist/src/proto-utils.d.ts +74 -0
- package/dist/src/proto-utils.js +286 -0
- package/dist/src/proto-utils.js.map +1 -0
- package/dist/src/required-fields-visitor.d.ts +230 -0
- package/dist/src/required-fields-visitor.js +513 -0
- package/dist/src/required-fields-visitor.js.map +1 -0
- package/dist/src/sdl-to-mapping-visitor.d.ts +9 -1
- package/dist/src/sdl-to-mapping-visitor.js +72 -12
- package/dist/src/sdl-to-mapping-visitor.js.map +1 -1
- package/dist/src/sdl-to-proto-visitor.d.ts +20 -66
- package/dist/src/sdl-to-proto-visitor.js +270 -390
- package/dist/src/sdl-to-proto-visitor.js.map +1 -1
- package/dist/src/sdl-validation-visitor.d.ts +2 -0
- package/dist/src/sdl-validation-visitor.js +85 -29
- package/dist/src/sdl-validation-visitor.js.map +1 -1
- package/dist/src/selection-set-validation-visitor.d.ts +112 -0
- package/dist/src/selection-set-validation-visitor.js +199 -0
- package/dist/src/selection-set-validation-visitor.js.map +1 -0
- package/dist/src/string-constants.d.ts +4 -0
- package/dist/src/string-constants.js +4 -0
- package/dist/src/string-constants.js.map +1 -1
- package/dist/src/types.d.ts +102 -0
- package/dist/src/types.js +37 -1
- package/dist/src/types.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +9 -5
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { isEnumType, isInputObjectType, isObjectType, Kind, } from 'graphql';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { ArgumentMapping, EntityMapping, EnumMapping, EnumValueMapping, FieldMapping, GRPCMapping, LookupFieldMapping, LookupMapping, LookupType, OperationMapping, OperationType, RequiredFieldMapping, TypeFieldMapping, } from '@wundergraph/cosmo-connect/dist/node/v1/node_pb';
|
|
3
|
+
import { createEntityLookupMethodName, createOperationMethodName, createRequestMessageName, createResolverMethodName, createResponseMessageName, graphqlArgumentToProtoField, graphqlEnumValueToProtoEnumValue, graphqlFieldToProtoField, formatKeyElements, } from './naming-conventions.js';
|
|
4
|
+
import { REQUIRES_DIRECTIVE_NAME } from './string-constants.js';
|
|
5
|
+
import { RequiredFieldsVisitor } from './required-fields-visitor.js';
|
|
4
6
|
/**
|
|
5
7
|
* Visitor that converts a GraphQL schema to gRPC mapping definitions
|
|
6
8
|
*
|
|
@@ -13,7 +15,7 @@ import { ArgumentMapping, EntityMapping, EnumMapping, EnumValueMapping, FieldMap
|
|
|
13
15
|
* The generated mappings are used to translate between GraphQL and Protocol Buffer
|
|
14
16
|
* representations in a consistent manner.
|
|
15
17
|
*/
|
|
16
|
-
export class
|
|
18
|
+
export class GraphQLToMappingVisitor {
|
|
17
19
|
/**
|
|
18
20
|
* Creates a new visitor for generating gRPC mappings from a GraphQL schema
|
|
19
21
|
*
|
|
@@ -66,13 +68,15 @@ export class GraphQLToProtoVisitor {
|
|
|
66
68
|
const typeMap = this.schema.getTypeMap();
|
|
67
69
|
for (const [typeName, type] of Object.entries(typeMap)) {
|
|
68
70
|
// Skip built-in types and query/mutation/subscription types
|
|
69
|
-
if (this.shouldSkipRootType(type))
|
|
71
|
+
if (this.shouldSkipRootType(type)) {
|
|
70
72
|
continue;
|
|
73
|
+
}
|
|
71
74
|
// Check if this is an entity type (has @key directive)
|
|
72
75
|
if (isObjectType(type)) {
|
|
73
76
|
const keyDirectives = this.getKeyDirectives(type);
|
|
74
|
-
if (keyDirectives.length === 0)
|
|
77
|
+
if (keyDirectives.length === 0) {
|
|
75
78
|
continue;
|
|
79
|
+
}
|
|
76
80
|
// Process each @key directive separately
|
|
77
81
|
for (const keyDirective of keyDirectives) {
|
|
78
82
|
const key = this.getKeyFromDirective(keyDirective);
|
|
@@ -81,9 +85,58 @@ export class GraphQLToProtoVisitor {
|
|
|
81
85
|
this.createEntityMapping(typeName, key);
|
|
82
86
|
}
|
|
83
87
|
}
|
|
88
|
+
this.createRequiredFieldsMapping(type);
|
|
84
89
|
}
|
|
85
90
|
}
|
|
86
91
|
}
|
|
92
|
+
createRequiredFieldsMapping(type) {
|
|
93
|
+
var _a;
|
|
94
|
+
const fields = Object.values(type.getFields()).filter((field) => { var _a, _b; return (_b = (_a = field.astNode) === null || _a === void 0 ? void 0 : _a.directives) === null || _b === void 0 ? void 0 : _b.some((d) => d.name.value === REQUIRES_DIRECTIVE_NAME); });
|
|
95
|
+
if (fields.length === 0) {
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
for (const field of fields) {
|
|
99
|
+
const visitor = new RequiredFieldsVisitor(this.schema, type, field, this.getRequiredFieldSet(field));
|
|
100
|
+
visitor.visit();
|
|
101
|
+
const mapping = visitor.getMapping();
|
|
102
|
+
const seenKeys = new Set();
|
|
103
|
+
for (const [key, value] of Object.entries(mapping)) {
|
|
104
|
+
const normalizedKey = formatKeyElements(key).join(' ');
|
|
105
|
+
if (seenKeys.has(normalizedKey)) {
|
|
106
|
+
continue;
|
|
107
|
+
}
|
|
108
|
+
seenKeys.add(normalizedKey);
|
|
109
|
+
// Compare normalized versions of both keys to handle different formatting
|
|
110
|
+
const em = this.mapping.entityMappings.find((em) => em.typeName === type.name && formatKeyElements(em.key).join(' ') === normalizedKey);
|
|
111
|
+
if (!em) {
|
|
112
|
+
throw new Error(`Entity mapping not found for type ${type.name} and key ${key}`);
|
|
113
|
+
}
|
|
114
|
+
if (!value.rpc) {
|
|
115
|
+
throw new Error(`RPC method not found for required field ${(_a = value.requiredFieldMapping) === null || _a === void 0 ? void 0 : _a.original}`);
|
|
116
|
+
}
|
|
117
|
+
em.requiredFieldMappings.push(new RequiredFieldMapping({
|
|
118
|
+
fieldMapping: value.requiredFieldMapping,
|
|
119
|
+
request: value.rpc.request,
|
|
120
|
+
response: value.rpc.response,
|
|
121
|
+
rpc: value.rpc.name,
|
|
122
|
+
}));
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Extracts the required field set from a field's requires directive
|
|
128
|
+
* @param field - The GraphQL field to get the required field set from
|
|
129
|
+
* @returns The required field set string
|
|
130
|
+
* @throws Error if the required field set is not found or is not a string
|
|
131
|
+
*/
|
|
132
|
+
getRequiredFieldSet(field) {
|
|
133
|
+
var _a, _b, _c, _d;
|
|
134
|
+
const arg = (_d = (_c = (_b = (_a = field.astNode) === null || _a === void 0 ? void 0 : _a.directives) === null || _b === void 0 ? void 0 : _b.find((d) => d.name.value === REQUIRES_DIRECTIVE_NAME)) === null || _c === void 0 ? void 0 : _c.arguments) === null || _d === void 0 ? void 0 : _d.find((arg) => arg.name.value === 'fields');
|
|
135
|
+
if (!arg || arg.value.kind !== Kind.STRING) {
|
|
136
|
+
throw new Error(`Required field set not found for field ${field.name}`);
|
|
137
|
+
}
|
|
138
|
+
return arg.value.value;
|
|
139
|
+
}
|
|
87
140
|
/**
|
|
88
141
|
* Extract all key directives from a GraphQL object type
|
|
89
142
|
*
|
|
@@ -109,9 +162,10 @@ export class GraphQLToProtoVisitor {
|
|
|
109
162
|
typeName,
|
|
110
163
|
kind: 'entity',
|
|
111
164
|
key: keyField,
|
|
112
|
-
rpc
|
|
165
|
+
rpc,
|
|
113
166
|
request: createRequestMessageName(rpc),
|
|
114
167
|
response: createResponseMessageName(rpc),
|
|
168
|
+
requiredFieldMappings: [],
|
|
115
169
|
});
|
|
116
170
|
this.mapping.entityMappings.push(entityMapping);
|
|
117
171
|
}
|
|
@@ -169,14 +223,17 @@ export class GraphQLToProtoVisitor {
|
|
|
169
223
|
const typeMap = this.schema.getTypeMap();
|
|
170
224
|
for (const typeName in typeMap) {
|
|
171
225
|
const type = typeMap[typeName];
|
|
172
|
-
if (this.shouldSkipRootType(type))
|
|
226
|
+
if (this.shouldSkipRootType(type)) {
|
|
173
227
|
continue;
|
|
174
|
-
|
|
228
|
+
}
|
|
229
|
+
if (!isObjectType(type)) {
|
|
175
230
|
continue;
|
|
231
|
+
}
|
|
176
232
|
const fields = type.getFields();
|
|
177
233
|
for (const field of Object.values(fields)) {
|
|
178
|
-
if (field.args.length === 0)
|
|
234
|
+
if (field.args.length === 0) {
|
|
179
235
|
continue;
|
|
236
|
+
}
|
|
180
237
|
this.createLookupMapping(LookupType.RESOLVE, type.name, field);
|
|
181
238
|
}
|
|
182
239
|
}
|
|
@@ -192,8 +249,9 @@ export class GraphQLToProtoVisitor {
|
|
|
192
249
|
* @param graphqlType - The GraphQL type to process
|
|
193
250
|
*/
|
|
194
251
|
processType(operationTypeName, operationType, graphqlType) {
|
|
195
|
-
if (!graphqlType)
|
|
252
|
+
if (!graphqlType) {
|
|
196
253
|
return;
|
|
254
|
+
}
|
|
197
255
|
const typeFieldMapping = new TypeFieldMapping({
|
|
198
256
|
type: operationTypeName,
|
|
199
257
|
fieldMappings: [],
|
|
@@ -201,8 +259,9 @@ export class GraphQLToProtoVisitor {
|
|
|
201
259
|
const fields = graphqlType.getFields();
|
|
202
260
|
for (const fieldName in fields) {
|
|
203
261
|
// Skip special federation fields
|
|
204
|
-
if (fieldName === '_entities')
|
|
262
|
+
if (fieldName === '_entities' || fieldName === '_service') {
|
|
205
263
|
continue;
|
|
264
|
+
}
|
|
206
265
|
const field = fields[fieldName];
|
|
207
266
|
const mappedName = createOperationMethodName(operationTypeName, fieldName);
|
|
208
267
|
this.createOperationMapping(operationType, fieldName, mappedName);
|
|
@@ -249,8 +308,9 @@ export class GraphQLToProtoVisitor {
|
|
|
249
308
|
const typeMap = this.schema.getTypeMap();
|
|
250
309
|
for (const typeName in typeMap) {
|
|
251
310
|
const type = typeMap[typeName];
|
|
252
|
-
if (this.shouldSkipRootType(type))
|
|
311
|
+
if (this.shouldSkipRootType(type)) {
|
|
253
312
|
continue;
|
|
313
|
+
}
|
|
254
314
|
// Process each type according to its kind
|
|
255
315
|
if (isObjectType(type)) {
|
|
256
316
|
this.processObjectType(type);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdl-to-mapping-visitor.js","sourceRoot":"","sources":["../../src/sdl-to-mapping-visitor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sdl-to-mapping-visitor.js","sourceRoot":"","sources":["../../src/sdl-to-mapping-visitor.ts"],"names":[],"mappings":"AAAA,OAAO,EASL,UAAU,EACV,iBAAiB,EACjB,YAAY,EACZ,IAAI,GACL,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,eAAe,EACf,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,kBAAkB,EAClB,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,aAAa,EACb,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,iDAAiD,CAAC;AAEzD,OAAO,EACL,4BAA4B,EAC5B,yBAAyB,EACzB,wBAAwB,EACxB,wBAAwB,EACxB,yBAAyB,EACzB,2BAA2B,EAC3B,gCAAgC,EAChC,wBAAwB,EACxB,iBAAiB,GAElB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,uBAAuB;IAIlC;;;;;OAKG;IACH,YAAY,MAAqB,EAAE,WAAW,GAAG,gBAAgB;QAC/D,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,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,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACvD,4DAA4D;YAC5D,IAAI,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClC,SAAS;YACX,CAAC;YAED,uDAAuD;YACvD,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvB,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;gBAClD,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC/B,SAAS;gBACX,CAAC;gBAED,yCAAyC;gBACzC,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;oBACzC,MAAM,GAAG,GAAG,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;oBACnD,IAAI,GAAG,EAAE,CAAC;wBACR,iDAAiD;wBACjD,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;oBAC1C,CAAC;gBACH,CAAC;gBAED,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;IACH,CAAC;IAEO,2BAA2B,CAAC,IAAuB;;QACzD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,eAC9D,OAAA,MAAA,MAAA,KAAK,CAAC,OAAO,0CAAE,UAAU,0CAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,uBAAuB,CAAC,CAAA,EAAA,CACjF,CAAC;QACF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,OAAO,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;YACrG,OAAO,CAAC,KAAK,EAAE,CAAC;YAChB,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;YAErC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;YAEnC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBACnD,MAAM,aAAa,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAEvD,IAAI,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;oBAChC,SAAS;gBACX,CAAC;gBAED,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;gBAE5B,0EAA0E;gBAC1E,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CACzC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,KAAK,IAAI,CAAC,IAAI,IAAI,iBAAiB,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,aAAa,CAC3F,CAAC;gBACF,IAAI,CAAC,EAAE,EAAE,CAAC;oBACR,MAAM,IAAI,KAAK,CAAC,qCAAqC,IAAI,CAAC,IAAI,YAAY,GAAG,EAAE,CAAC,CAAC;gBACnF,CAAC;gBAED,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;oBACf,MAAM,IAAI,KAAK,CAAC,2CAA2C,MAAA,KAAK,CAAC,oBAAoB,0CAAE,QAAQ,EAAE,CAAC,CAAC;gBACrG,CAAC;gBAED,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAC3B,IAAI,oBAAoB,CAAC;oBACvB,YAAY,EAAE,KAAK,CAAC,oBAAoB;oBACxC,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO;oBAC1B,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,QAAQ;oBAC5B,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI;iBACpB,CAAC,CACH,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACK,mBAAmB,CAAC,KAA6B;;QACvD,MAAM,GAAG,GAAG,MAAA,MAAA,MAAA,MAAA,KAAK,CAAC,OAAO,0CAAE,UAAU,0CACjC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,uBAAuB,CAAC,0CACrD,SAAS,0CAAE,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC;QAC1D,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CAAC,0CAA0C,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1E,CAAC;QAED,OAAO,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC;IACzB,CAAC;IAED;;;;;OAKG;IACK,gBAAgB,CAAC,IAAuB;;QAC9C,OAAO,CAAA,MAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,UAAU,0CAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,KAAI,EAAE,CAAC;IAC/E,CAAC;IAED;;;;;;;;OAQG;IACK,mBAAmB,CAAC,QAAgB,EAAE,QAAgB;QAC5D,MAAM,GAAG,GAAG,4BAA4B,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAE7D,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC;YACtC,QAAQ;YACR,IAAI,EAAE,QAAQ;YACd,GAAG,EAAE,QAAQ;YACb,GAAG;YACH,OAAO,EAAE,wBAAwB,CAAC,GAAG,CAAC;YACtC,QAAQ,EAAE,yBAAyB,CAAC,GAAG,CAAC;YACxC,qBAAqB,EAAE,EAAE;SAC1B,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAClD,CAAC;IAED;;;;;;;;OAQG;IACK,mBAAmB,CAAC,SAAwB;;QAClD,iDAAiD;QACjD,MAAM,SAAS,GAAG,MAAA,SAAS,CAAC,SAAS,0CAAE,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC;QAClF,IAAI,SAAS,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;YACtD,OAAO,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC;QAC/B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACK,gBAAgB;QACtB,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED;;;;;OAKG;IACK,mBAAmB;QACzB,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC;IACtF,CAAC;IAED;;;;;OAKG;IACK,uBAAuB;QAC7B,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAClG,CAAC;IAED;;;;OAIG;IACK,uBAAuB;QAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QAEzC,KAAK,MAAM,QAAQ,IAAI,OAAO,EAAE,CAAC;YAC/B,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC/B,IAAI,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClC,SAAS;YACX,CAAC;YAED,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxB,SAAS;YACX,CAAC;YAED,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YAEhC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC1C,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC5B,SAAS;gBACX,CAAC;gBAED,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACjE,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;;;;OASG;IACK,WAAW,CACjB,iBAAoC,EACpC,aAA4B,EAC5B,WAAqC;QAErC,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;QAED,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,CAAC;YAC5C,IAAI,EAAE,iBAAiB;YACvB,aAAa,EAAE,EAAE;SAClB,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,WAAW,CAAC,SAAS,EAAE,CAAC;QAEvC,KAAK,MAAM,SAAS,IAAI,MAAM,EAAE,CAAC;YAC/B,iCAAiC;YACjC,IAAI,SAAS,KAAK,WAAW,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;gBAC1D,SAAS;YACX,CAAC;YAED,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;YAChC,MAAM,UAAU,GAAG,yBAAyB,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;YAC3E,IAAI,CAAC,sBAAsB,CAAC,aAAa,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;YAElE,MAAM,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;YACpD,gBAAgB,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACpD,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACxD,CAAC;IAED;;;;;;OAMG;IACK,sBAAsB,CAAC,aAA4B,EAAE,SAAiB,EAAE,UAAkB;QAChG,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,CAAC;YAC5C,IAAI,EAAE,aAAa;YACnB,QAAQ,EAAE,SAAS;YACnB,MAAM,EAAE,UAAU;YAClB,OAAO,EAAE,wBAAwB,CAAC,UAAU,CAAC;YAC7C,QAAQ,EAAE,yBAAyB,CAAC,UAAU,CAAC;SAChD,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACxD,CAAC;IAEO,mBAAmB,CAAC,IAAgB,EAAE,QAAgB,EAAE,KAA6B;QAC3F,MAAM,UAAU,GAAG,wBAAwB,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAElE,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC;YACtC,IAAI;YACJ,aAAa,EAAE,IAAI,CAAC,wBAAwB,CAAC,QAAQ,EAAE,KAAK,CAAC;YAC7D,GAAG,EAAE,UAAU;YACf,OAAO,EAAE,wBAAwB,CAAC,UAAU,CAAC;YAC7C,QAAQ,EAAE,yBAAyB,CAAC,UAAU,CAAC;SAChD,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACnD,CAAC;IAED;;;;;OAKG;IACK,eAAe;QACrB,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QAEzC,KAAK,MAAM,QAAQ,IAAI,OAAO,EAAE,CAAC;YAC/B,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;YAE/B,IAAI,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClC,SAAS;YACX,CAAC;YAED,0CAA0C;YAC1C,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAC/B,CAAC;iBAAM,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;YACpC,CAAC;iBAAM,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAC7B,CAAC;YACD,oEAAoE;QACtE,CAAC;IACH,CAAC;IAED;;;;;;;;;OASG;IACK,kBAAkB,CAAC,IAAsB;;QAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;QAC3B,OAAO,CACL,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC;YACzB,QAAQ,MAAK,MAAA,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,0CAAE,IAAI,CAAA;YAC7C,QAAQ,MAAK,MAAA,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,0CAAE,IAAI,CAAA;YAChD,QAAQ,MAAK,MAAA,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE,0CAAE,IAAI,CAAA,CACrD,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACK,iBAAiB,CAAC,IAAuB;QAC/C,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,CAAC;YAC5C,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,aAAa,EAAE,EAAE;SAClB,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAEhC,KAAK,MAAM,SAAS,IAAI,MAAM,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;YAEhC,MAAM,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;YACpD,gBAAgB,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACpD,CAAC;QAED,kDAAkD;QAClD,IAAI,gBAAgB,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9C,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACK,sBAAsB,CAAC,IAA4B;QACzD,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,CAAC;YAC5C,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,aAAa,EAAE,EAAE;SAClB,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAEhC,KAAK,MAAM,SAAS,IAAI,MAAM,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;YAChC,qEAAqE;YACrE,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC;gBACpC,QAAQ,EAAE,KAAK,CAAC,IAAI;gBACpB,MAAM,EAAE,wBAAwB,CAAC,KAAK,CAAC,IAAI,CAAC;gBAC5C,gBAAgB,EAAE,EAAE;aACrB,CAAC,CAAC;YACH,gBAAgB,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACpD,CAAC;QAED,kDAAkD;QAClD,IAAI,gBAAgB,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9C,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACK,eAAe,CAAC,IAAqB;QAC3C,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC;YAClC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,EAAE;SACX,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAEpC,4DAA4D;QAC5D,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,WAAW,CAAC,MAAM,CAAC,IAAI,CACrB,IAAI,gBAAgB,CAAC;gBACnB,QAAQ,EAAE,SAAS,CAAC,IAAI;gBACxB,oEAAoE;gBACpE,MAAM,EAAE,gCAAgC,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC;aACpE,CAAC,CACH,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC9C,CAAC;IAED;;;;;;;;OAQG;IACK,kBAAkB,CAAC,KAA6B;QACtD,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC;QAC7B,yDAAyD;QACzD,MAAM,eAAe,GAAG,wBAAwB,CAAC,SAAS,CAAC,CAAC;QAC5D,MAAM,gBAAgB,GAAsB,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;QAE/E,OAAO,IAAI,YAAY,CAAC;YACtB,QAAQ,EAAE,SAAS;YACnB,MAAM,EAAE,eAAe;YACvB,gBAAgB;SACjB,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;OAQG;IACK,wBAAwB,CAAC,IAAY,EAAE,KAA6B;QAC1E,OAAO,IAAI,kBAAkB,CAAC;YAC5B,IAAI;YACJ,YAAY,EAAE,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC;SAC7C,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;OAQG;IACK,sBAAsB,CAAC,KAA6B;QAC1D,MAAM,gBAAgB,GAAsB,EAAE,CAAC;QAE/C,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxC,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;gBAC7B,gBAAgB,CAAC,IAAI,CACnB,IAAI,eAAe,CAAC;oBAClB,QAAQ,EAAE,GAAG,CAAC,IAAI;oBAClB,4DAA4D;oBAC5D,MAAM,EAAE,2BAA2B,CAAC,GAAG,CAAC,IAAI,CAAC;iBAC9C,CAAC,CACH,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO,gBAAgB,CAAC;IAC1B,CAAC;CACF"}
|
|
@@ -76,6 +76,12 @@ export declare class GraphQLToProtoTextVisitor {
|
|
|
76
76
|
* @param options - Configuration options for the visitor
|
|
77
77
|
*/
|
|
78
78
|
constructor(schema: GraphQLSchema, options?: GraphQLToProtoTextVisitorOptions);
|
|
79
|
+
/**
|
|
80
|
+
* Visit the GraphQL schema to generate Proto buffer definition
|
|
81
|
+
*
|
|
82
|
+
* @returns The complete Protocol Buffer definition as a string
|
|
83
|
+
*/
|
|
84
|
+
visit(): string;
|
|
79
85
|
/**
|
|
80
86
|
* Initialize the field numbers map from the lock data to preserve field numbers
|
|
81
87
|
* even when fields are removed and later re-added
|
|
@@ -118,12 +124,6 @@ export declare class GraphQLToProtoTextVisitor {
|
|
|
118
124
|
* Build the proto file header with syntax, package, imports, and options
|
|
119
125
|
*/
|
|
120
126
|
private buildProtoHeader;
|
|
121
|
-
/**
|
|
122
|
-
* Visit the GraphQL schema to generate Proto buffer definition
|
|
123
|
-
*
|
|
124
|
-
* @returns The complete Protocol Buffer definition as a string
|
|
125
|
-
*/
|
|
126
|
-
visit(): string;
|
|
127
127
|
/**
|
|
128
128
|
* Trim empty lines from the beginning and end of the array
|
|
129
129
|
*/
|
|
@@ -194,6 +194,12 @@ export declare class GraphQLToProtoTextVisitor {
|
|
|
194
194
|
* @returns Array of all key directives found
|
|
195
195
|
*/
|
|
196
196
|
private getKeyDirectives;
|
|
197
|
+
/**
|
|
198
|
+
* Checks if a type has a @key directive
|
|
199
|
+
* @param type - The type to check
|
|
200
|
+
* @returns True if the type has a @key directive, false otherwise
|
|
201
|
+
*/
|
|
202
|
+
private hasKeyDirective;
|
|
197
203
|
/**
|
|
198
204
|
* Extract key info from a directive
|
|
199
205
|
*
|
|
@@ -205,6 +211,8 @@ export declare class GraphQLToProtoTextVisitor {
|
|
|
205
211
|
*/
|
|
206
212
|
private getKeyInfoFromDirective;
|
|
207
213
|
private collectResolverRpcMethods;
|
|
214
|
+
private collectRequiredFieldRpcMethods;
|
|
215
|
+
private getRequiredFieldSet;
|
|
208
216
|
private getFieldContext;
|
|
209
217
|
private getIDFields;
|
|
210
218
|
private getUnderlyingType;
|
|
@@ -258,6 +266,12 @@ export declare class GraphQLToProtoTextVisitor {
|
|
|
258
266
|
*/
|
|
259
267
|
private createResolverResponseMessage;
|
|
260
268
|
private isOperationType;
|
|
269
|
+
/**
|
|
270
|
+
* Checks if a type is an entity type
|
|
271
|
+
* @param type - The type to check
|
|
272
|
+
* @returns True if the type is an entity type, false otherwise
|
|
273
|
+
*/
|
|
274
|
+
private isEntityType;
|
|
261
275
|
/**
|
|
262
276
|
* Queue all types from the schema that need processing
|
|
263
277
|
*/
|
|
@@ -347,59 +361,6 @@ export declare class GraphQLToProtoTextVisitor {
|
|
|
347
361
|
* @returns The corresponding Protocol Buffer type name
|
|
348
362
|
*/
|
|
349
363
|
private getProtoTypeFromGraphQL;
|
|
350
|
-
/**
|
|
351
|
-
* Converts GraphQL list types to appropriate Protocol Buffer representations.
|
|
352
|
-
*
|
|
353
|
-
* For non-nullable, single-level lists (e.g., [String!]!), generates simple repeated fields.
|
|
354
|
-
* For nullable lists (e.g., [String]) or nested lists (e.g., [[String]]), creates wrapper
|
|
355
|
-
* messages to properly handle nullability in proto3.
|
|
356
|
-
*
|
|
357
|
-
* Examples:
|
|
358
|
-
* - [String!]! → repeated string field_name = 1;
|
|
359
|
-
* - [String] → ListOfString field_name = 1; (with wrapper message)
|
|
360
|
-
* - [[String!]!]! → ListOfListOfString field_name = 1; (with nested wrapper messages)
|
|
361
|
-
* - [[String]] → ListOfListOfString field_name = 1; (with nested wrapper messages)
|
|
362
|
-
*
|
|
363
|
-
* @param graphqlType - The GraphQL list type to convert
|
|
364
|
-
* @returns ProtoType object containing the type name and whether it should be repeated
|
|
365
|
-
*/
|
|
366
|
-
private handleListType;
|
|
367
|
-
/**
|
|
368
|
-
* Creates wrapper messages for nullable or nested GraphQL lists.
|
|
369
|
-
*
|
|
370
|
-
* Generates Protocol Buffer message definitions to handle list nullability and nesting.
|
|
371
|
-
* The wrapper messages are stored and later included in the final proto output.
|
|
372
|
-
*
|
|
373
|
-
* For level 1: Creates simple wrapper like:
|
|
374
|
-
* message ListOfString {
|
|
375
|
-
* repeated string items = 1;
|
|
376
|
-
* }
|
|
377
|
-
*
|
|
378
|
-
* For level > 1: Creates nested wrapper structures like:
|
|
379
|
-
* message ListOfListOfString {
|
|
380
|
-
* message List {
|
|
381
|
-
* repeated ListOfString items = 1;
|
|
382
|
-
* }
|
|
383
|
-
* List list = 1;
|
|
384
|
-
* }
|
|
385
|
-
*
|
|
386
|
-
* @param level - The nesting level (1 for simple wrapper, >1 for nested structures)
|
|
387
|
-
* @param baseType - The GraphQL base type being wrapped (e.g., String, User, etc.)
|
|
388
|
-
* @returns The generated wrapper message name (e.g., "ListOfString", "ListOfListOfUser")
|
|
389
|
-
*/
|
|
390
|
-
private createNestedListWrapper;
|
|
391
|
-
/**
|
|
392
|
-
* Builds the message lines for a wrapper message
|
|
393
|
-
*/
|
|
394
|
-
private buildWrapperMessage;
|
|
395
|
-
/**
|
|
396
|
-
* Get indentation based on the current level
|
|
397
|
-
*
|
|
398
|
-
* Helper method to maintain consistent indentation in the output.
|
|
399
|
-
*
|
|
400
|
-
* @returns String with spaces for the current indentation level
|
|
401
|
-
*/
|
|
402
|
-
private getIndent;
|
|
403
364
|
/**
|
|
404
365
|
* Get the generated lock data after visiting
|
|
405
366
|
*
|
|
@@ -429,11 +390,4 @@ export declare class GraphQLToProtoTextVisitor {
|
|
|
429
390
|
* @returns The message definition
|
|
430
391
|
*/
|
|
431
392
|
private buildMessage;
|
|
432
|
-
/**
|
|
433
|
-
* Formats the indent for the content
|
|
434
|
-
* @param indent - The indent level
|
|
435
|
-
* @param content - The content to format
|
|
436
|
-
* @returns The formatted content
|
|
437
|
-
*/
|
|
438
|
-
private formatIndent;
|
|
439
393
|
}
|