Merge pull request #2370 from install/explicit-field-type-long-check

proto-loader-gen-types Narrow field Long check
This commit is contained in:
Michael Lumish 2023-02-24 10:40:55 -08:00 committed by GitHub
commit 1054432580
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 4 additions and 2 deletions

View File

@ -414,6 +414,8 @@ function generateMessageInterfaces(formatter: TextFormatter, messageType: Protob
const childTypes = getChildMessagesAndEnums(messageType);
formatter.writeLine(`// Original file: ${(messageType.filename ?? 'null')?.replace(/\\/g, '/')}`);
formatter.writeLine('');
const isLongField = (field: Protobuf.Field) =>
['int64', 'uint64', 'sint64', 'fixed64', 'sfixed64'].includes(field.type);
messageType.fieldsArray.sort((fieldA, fieldB) => fieldA.id - fieldB.id);
for (const field of messageType.fieldsArray) {
if (field.resolvedType && childTypes.indexOf(field.resolvedType) < 0) {
@ -424,7 +426,7 @@ function generateMessageInterfaces(formatter: TextFormatter, messageType: Protob
seenDeps.add(dependency.fullName);
formatter.writeLine(getImportLine(dependency, messageType, options));
}
if (field.type.indexOf('64') >= 0) {
if (isLongField(field)) {
usesLong = true;
}
}
@ -439,7 +441,7 @@ function generateMessageInterfaces(formatter: TextFormatter, messageType: Protob
seenDeps.add(dependency.fullName);
formatter.writeLine(getImportLine(dependency, messageType, options));
}
if (field.type.indexOf('64') >= 0) {
if (isLongField(field)) {
usesLong = true;
}
}