Skip to content

Commit e284194

Browse files
committed
prettier
1 parent 21c5cc6 commit e284194

17 files changed

+1566
-1024
lines changed

protographic/src/index.ts

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -100,19 +100,35 @@ export { compileOperationsToProto } from './operation-to-proto.js';
100100
export type { OperationsToProtoOptions, CompileOperationsToProtoResult } from './operation-to-proto.js';
101101

102102
// Export operation modules
103-
export { mapGraphQLTypeToProto, getProtoTypeName, isGraphQLScalarType, requiresWrapperType, getRequiredImports } from './operations/type-mapper.js';
103+
export {
104+
mapGraphQLTypeToProto,
105+
getProtoTypeName,
106+
isGraphQLScalarType,
107+
requiresWrapperType,
108+
getRequiredImports,
109+
} from './operations/type-mapper.js';
104110
export type { ProtoTypeInfo, TypeMapperOptions } from './operations/type-mapper.js';
105111

106112
export { createFieldNumberManager } from './operations/field-numbering.js';
107113
export type { FieldNumberManager } from './operations/field-numbering.js';
108114

109-
export { buildMessageFromSelectionSet, buildFieldDefinition, buildNestedMessage } from './operations/message-builder.js';
115+
export {
116+
buildMessageFromSelectionSet,
117+
buildFieldDefinition,
118+
buildNestedMessage,
119+
} from './operations/message-builder.js';
110120
export type { MessageBuilderOptions } from './operations/message-builder.js';
111121

112122
export { buildRequestMessage, buildInputObjectMessage, buildEnumType } from './operations/request-builder.js';
113123
export type { RequestBuilderOptions } from './operations/request-builder.js';
114124

115-
export { rootToProtoText, serviceToProtoText, messageToProtoText, enumToProtoText, formatField } from './operations/proto-text-generator.js';
125+
export {
126+
rootToProtoText,
127+
serviceToProtoText,
128+
messageToProtoText,
129+
enumToProtoText,
130+
formatField,
131+
} from './operations/proto-text-generator.js';
116132
export type { ProtoTextOptions } from './operations/proto-text-generator.js';
117133

118134
export type { GraphQLToProtoTextVisitorOptions } from './sdl-to-proto-visitor.js';

protographic/src/operation-to-proto.ts

Lines changed: 14 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ export function compileOperationsToProto(
7979
const root = visitor.visit();
8080

8181
const proto = visitor.toProtoText(root);
82-
82+
8383
// Get the updated lock data for field number stability
8484
const lockData = visitor.getLockData();
8585

@@ -107,7 +107,7 @@ class OperationsToProtoVisitor {
107107

108108
// Lock manager for field number stability
109109
private readonly lockManager: ProtoLockManager;
110-
110+
111111
// Field number manager
112112
private readonly fieldNumberManager;
113113

@@ -125,12 +125,12 @@ class OperationsToProtoVisitor {
125125

126126
// Initialize lock manager with previous lock data if provided
127127
this.lockManager = new ProtoLockManager(options?.lockData);
128-
128+
129129
// Create field number manager with lock manager integration
130130
this.fieldNumberManager = createFieldNumberManager(this.lockManager);
131131

132132
this.root = new protobuf.Root();
133-
133+
134134
// Collect all fragment definitions from the document
135135
this.collectFragments();
136136
}
@@ -203,20 +203,14 @@ class OperationsToProtoVisitor {
203203
const responseMessageName = createResponseMessageName(methodName);
204204
if (node.selectionSet) {
205205
const rootType = this.getRootType(node.operation);
206-
const responseMessage = buildMessageFromSelectionSet(
207-
responseMessageName,
208-
node.selectionSet,
209-
rootType,
210-
typeInfo,
211-
{
212-
includeComments: this.includeComments,
213-
root: this.root,
214-
fieldNumberManager: this.fieldNumberManager,
215-
fragments: this.fragments,
216-
schema: this.schema,
217-
createdEnums: this.createdEnums,
218-
},
219-
);
206+
const responseMessage = buildMessageFromSelectionSet(responseMessageName, node.selectionSet, rootType, typeInfo, {
207+
includeComments: this.includeComments,
208+
root: this.root,
209+
fieldNumberManager: this.fieldNumberManager,
210+
fragments: this.fragments,
211+
schema: this.schema,
212+
createdEnums: this.createdEnums,
213+
});
220214

221215
// Add response message to root
222216
if (!this.createdMessages.has(responseMessageName)) {
@@ -300,7 +294,7 @@ class OperationsToProtoVisitor {
300294
*/
301295
private processEnumType(enumType: GraphQLEnumType): void {
302296
const typeName = enumType.name;
303-
297+
304298
if (!this.createdEnums.has(typeName)) {
305299
const protoEnum = buildEnumType(enumType, {
306300
includeComments: this.includeComments,
@@ -323,7 +317,7 @@ class OperationsToProtoVisitor {
323317
return this.schema.getSubscriptionType()!;
324318
}
325319
}
326-
320+
327321
/**
328322
* Get the current lock data for field number stability
329323
*/

protographic/src/operations/field-numbering.ts

Lines changed: 31 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -18,49 +18,49 @@ export interface FieldNumberManager {
1818
* @returns The next available field number
1919
*/
2020
getNextFieldNumber(messageName: string): number;
21-
21+
2222
/**
2323
* Assigns a specific field number to a field in a message
2424
* @param messageName - The name of the message
2525
* @param fieldName - The name of the field
2626
* @param fieldNumber - The field number to assign
2727
*/
2828
assignFieldNumber(messageName: string, fieldName: string, fieldNumber: number): void;
29-
29+
3030
/**
3131
* Gets the field number for a specific field if it exists
3232
* @param messageName - The name of the message
3333
* @param fieldName - The name of the field
3434
* @returns The field number or undefined if not assigned
3535
*/
3636
getFieldNumber(messageName: string, fieldName: string): number | undefined;
37-
37+
3838
/**
3939
* Resets field numbering for a specific message
4040
* @param messageName - The name of the message to reset
4141
*/
4242
resetMessage(messageName: string): void;
43-
43+
4444
/**
4545
* Resets all field numbering
4646
*/
4747
resetAll(): void;
48-
48+
4949
/**
5050
* Gets all field mappings for a message
5151
* @param messageName - The name of the message
5252
* @returns Record of field names to field numbers
5353
*/
5454
getMessageFields(messageName: string): Record<string, number>;
55-
55+
5656
/**
5757
* Reconciles field order for a message using lock data
5858
* @param messageName - The name of the message
5959
* @param fieldNames - The field names to reconcile
6060
* @returns Ordered array of field names
6161
*/
6262
reconcileFieldOrder(messageName: string, fieldNames: string[]): string[];
63-
63+
6464
/**
6565
* Gets the lock manager if available
6666
*/
@@ -76,115 +76,115 @@ export interface FieldNumberManager {
7676
export function createFieldNumberManager(lockManager?: ProtoLockManager): FieldNumberManager {
7777
// Map of message name to field name to field number
7878
const fieldNumbers = new Map<string, Map<string, number>>();
79-
79+
8080
// Map of message name to the next available field number
8181
const nextFieldNumbers = new Map<string, number>();
82-
82+
8383
return {
8484
getNextFieldNumber(messageName: string): number {
8585
// If we have a lock manager and this message has been reconciled,
8686
// check if we already have a field number assigned
8787
if (lockManager) {
8888
const lockData = lockManager.getLockData();
8989
const messageData = lockData.messages[messageName];
90-
90+
9191
if (messageData) {
9292
// Find the highest assigned number
9393
const assignedNumbers = Object.values(messageData.fields);
9494
const reservedNumbers = messageData.reservedNumbers || [];
9595
const allNumbers = [...assignedNumbers, ...reservedNumbers];
96-
96+
9797
if (allNumbers.length > 0) {
9898
const maxNumber = Math.max(...allNumbers);
99-
99+
100100
// Initialize next field number to be after the max
101101
if (!nextFieldNumbers.has(messageName)) {
102102
nextFieldNumbers.set(messageName, maxNumber + 1);
103103
}
104104
}
105105
}
106106
}
107-
107+
108108
// Initialize if needed
109109
if (!nextFieldNumbers.has(messageName)) {
110110
nextFieldNumbers.set(messageName, 1);
111111
}
112-
112+
113113
const current = nextFieldNumbers.get(messageName)!;
114114
nextFieldNumbers.set(messageName, current + 1);
115115
return current;
116116
},
117-
117+
118118
assignFieldNumber(messageName: string, fieldName: string, fieldNumber: number): void {
119119
// Initialize message map if needed
120120
if (!fieldNumbers.has(messageName)) {
121121
fieldNumbers.set(messageName, new Map());
122122
}
123-
123+
124124
const messageFields = fieldNumbers.get(messageName)!;
125125
messageFields.set(fieldName, fieldNumber);
126-
126+
127127
// Update next field number if this assignment affects it
128128
const currentNext = nextFieldNumbers.get(messageName) || 1;
129129
if (fieldNumber >= currentNext) {
130130
nextFieldNumbers.set(messageName, fieldNumber + 1);
131131
}
132132
},
133-
133+
134134
getFieldNumber(messageName: string, fieldName: string): number | undefined {
135135
return fieldNumbers.get(messageName)?.get(fieldName);
136136
},
137-
137+
138138
resetMessage(messageName: string): void {
139139
fieldNumbers.delete(messageName);
140140
nextFieldNumbers.set(messageName, 1);
141141
},
142-
142+
143143
resetAll(): void {
144144
fieldNumbers.clear();
145145
nextFieldNumbers.clear();
146146
},
147-
147+
148148
getMessageFields(messageName: string): Record<string, number> {
149149
const messageFields = fieldNumbers.get(messageName);
150150
if (!messageFields) {
151151
return {};
152152
}
153-
153+
154154
const result: Record<string, number> = {};
155155
for (const [fieldName, fieldNumber] of messageFields.entries()) {
156156
result[fieldName] = fieldNumber;
157157
}
158158
return result;
159159
},
160-
160+
161161
reconcileFieldOrder(messageName: string, fieldNames: string[]): string[] {
162162
if (!lockManager) {
163163
// No lock manager, return fields in original order
164164
return fieldNames;
165165
}
166-
166+
167167
// Use lock manager to reconcile field order
168168
const orderedFields = lockManager.reconcileMessageFieldOrder(messageName, fieldNames);
169-
169+
170170
// Update our internal tracking with the reconciled numbers
171171
const lockData = lockManager.getLockData();
172172
const messageData = lockData.messages[messageName];
173-
173+
174174
if (messageData) {
175175
// Initialize message map if needed
176176
if (!fieldNumbers.has(messageName)) {
177177
fieldNumbers.set(messageName, new Map());
178178
}
179-
179+
180180
const messageFields = fieldNumbers.get(messageName)!;
181-
181+
182182
// Update field numbers from lock data
183183
for (const fieldName of orderedFields) {
184184
const fieldNumber = messageData.fields[fieldName];
185185
if (fieldNumber !== undefined) {
186186
messageFields.set(fieldName, fieldNumber);
187-
187+
188188
// Update next field number
189189
const currentNext = nextFieldNumbers.get(messageName) || 1;
190190
if (fieldNumber >= currentNext) {
@@ -193,13 +193,12 @@ export function createFieldNumberManager(lockManager?: ProtoLockManager): FieldN
193193
}
194194
}
195195
}
196-
196+
197197
return orderedFields;
198198
},
199-
199+
200200
getLockManager(): ProtoLockManager | undefined {
201201
return lockManager;
202202
},
203203
};
204204
}
205-

0 commit comments

Comments
 (0)