Skip to content

Commit 666e42b

Browse files
stasberkovStanislav Berkov
and
Stanislav Berkov
authored
Closes #313 (#314)
Co-authored-by: Stanislav Berkov <[email protected]>
1 parent 2067c38 commit 666e42b

File tree

1 file changed

+9
-5
lines changed

1 file changed

+9
-5
lines changed

src/ts/extensions.ts

+9-5
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
import {Printer} from "../Printer";
2-
import {ExportMap} from "../ExportMap";
3-
import {FieldDescriptorProto} from "google-protobuf/google/protobuf/descriptor_pb";
1+
import { Printer } from "../Printer";
2+
import { ExportMap } from "../ExportMap";
3+
import { FieldDescriptorProto } from "google-protobuf/google/protobuf/descriptor_pb";
44
import { snakeToCamel, throwError } from "../util";
5-
import {getFieldType} from "./FieldTypes";
5+
import { getFieldType } from "./FieldTypes";
66

77
export function printExtension(fileName: string, exportMap: ExportMap, extension: FieldDescriptorProto, indentLevel: number): string {
88
const printer = new Printer(indentLevel + 1);
@@ -12,6 +12,10 @@ export function printExtension(fileName: string, exportMap: ExportMap, extension
1212
const extensionTypeName = extension.getTypeName() || null;
1313
const camelExtensionName = snakeToCamel(extensionName);
1414
const fieldType = getFieldType(extensionType, extensionTypeName ? extensionTypeName.slice(1) : null, fileName, exportMap);
15-
printer.printLn(`export const ${camelExtensionName}: jspb.ExtensionFieldInfo<${fieldType}>;`);
15+
if (extension.getLabel() === FieldDescriptorProto.Label.LABEL_REPEATED) {
16+
printer.printLn(`export const ${camelExtensionName}List: jspb.ExtensionFieldInfo<Array<${fieldType}>>;`);
17+
} else {
18+
printer.printLn(`export const ${camelExtensionName}: jspb.ExtensionFieldInfo<${fieldType}>;`);
19+
}
1620
return printer.output;
1721
}

0 commit comments

Comments
 (0)