Socket
Socket
Sign inDemoInstall

@grpc/proto-loader

Package Overview
Dependencies
Maintainers
3
Versions
57
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@grpc/proto-loader - npm Package Compare versions

Comparing version 0.6.0-pre8 to 0.6.0-pre9

131

build/bin/proto-loader-gen-types.js

@@ -27,13 +27,2 @@ #!/usr/bin/env node

const util_1 = require("../src/util");
function compareName(x, y) {
if (x.name < y.name) {
return -1;
}
else if (x.name > y.name) {
return 1;
}
else {
return 0;
}
}
class TextFormatter {

@@ -62,2 +51,14 @@ constructor() {

}
// GENERATOR UTILITY FUNCTIONS
function compareName(x, y) {
if (x.name < y.name) {
return -1;
}
else if (x.name > y.name) {
return 1;
}
else {
return 0;
}
}
function isNamespaceBase(obj) {

@@ -104,3 +105,17 @@ return Array.isArray(obj.nestedArray);

}
function generatePermissiveMessageInterface(formatter, messageType, nameOverride) {
function formatComment(formatter, comment) {
if (!comment) {
return;
}
formatter.writeLine('/**');
for (const line of comment.split('\n')) {
formatter.writeLine(` * ${line.replace(/\*\//g, '* /')}`);
}
formatter.writeLine(' */');
}
// GENERATOR FUNCTIONS
function generatePermissiveMessageInterface(formatter, messageType, options, nameOverride) {
if (options.includeComments) {
formatComment(formatter, messageType.comment);
}
if (messageType.fullName === '.google.protobuf.Any') {

@@ -160,2 +175,5 @@ /* This describes the behavior of the Protobuf.js Any wrapper fromObject

}
if (options.includeComments) {
formatComment(formatter, field.comment);
}
formatter.writeLine(`'${field.name}'?: (${type})${repeatedString};`);

@@ -165,2 +183,5 @@ }

const typeString = oneof.fieldsArray.map(field => `"${field.name}"`).join('|');
if (options.includeComments) {
formatComment(formatter, oneof.comment);
}
formatter.writeLine(`'${oneof.name}'?: ${typeString};`);

@@ -172,2 +193,5 @@ }

function generateRestrictedMessageInterface(formatter, messageType, options, nameOverride) {
if (options.includeComments) {
formatComment(formatter, messageType.comment);
}
if (messageType.fullName === '.google.protobuf.Any' && options.json) {

@@ -269,2 +293,5 @@ /* This describes the behavior of the Protobuf.js Any wrapper toObject

const optionalString = fieldGuaranteed ? '' : '?';
if (options.includeComments) {
formatComment(formatter, field.comment);
}
formatter.writeLine(`'${field.name}'${optionalString}: (${type})${repeatedString};`);

@@ -275,2 +302,5 @@ }

const typeString = oneof.fieldsArray.map(field => `"${field.name}"`).join('|');
if (options.includeComments) {
formatComment(formatter, oneof.comment);
}
formatter.writeLine(`'${oneof.name}': ${typeString};`);

@@ -329,3 +359,3 @@ }

if (childType instanceof Protobuf.Type) {
generatePermissiveMessageInterface(formatter, childType, nameOverride);
generatePermissiveMessageInterface(formatter, childType, options, nameOverride);
formatter.writeLine('');

@@ -335,16 +365,22 @@ generateRestrictedMessageInterface(formatter, childType, options, nameOverride);

else {
generateEnumInterface(formatter, childType, nameOverride);
generateEnumInterface(formatter, childType, options, nameOverride);
}
formatter.writeLine('');
}
generatePermissiveMessageInterface(formatter, messageType);
generatePermissiveMessageInterface(formatter, messageType, options);
formatter.writeLine('');
generateRestrictedMessageInterface(formatter, messageType, options);
}
function generateEnumInterface(formatter, enumType, nameOverride) {
function generateEnumInterface(formatter, enumType, options, nameOverride) {
formatter.writeLine(`// Original file: ${enumType.filename}`);
formatter.writeLine('');
if (options.includeComments) {
formatComment(formatter, enumType.comment);
}
formatter.writeLine(`export enum ${nameOverride !== null && nameOverride !== void 0 ? nameOverride : enumType.name} {`);
formatter.indent();
for (const key of Object.keys(enumType.values)) {
if (options.includeComments) {
formatComment(formatter, enumType.comments[key]);
}
formatter.writeLine(`${key} = ${enumType.values[key]},`);

@@ -365,3 +401,3 @@ }

}
function generateMessageAndEnumExports(formatter, namespace, nameOverride) {
function generateMessageAndEnumExports(formatter, namespace, options, nameOverride) {
formatter.writeLine(`export namespace ${nameOverride !== null && nameOverride !== void 0 ? nameOverride : namespace.name} {`);

@@ -371,4 +407,10 @@ formatter.indent();

if (nested instanceof Protobuf.Enum || nested instanceof Protobuf.Type) {
if (options.includeComments) {
formatComment(formatter, nested.comment);
}
formatter.writeLine(`export type ${nested.name} = ${getTypeInterfaceName(nested)};`);
if (nested instanceof Protobuf.Type) {
if (options.includeComments) {
formatComment(formatter, nested.comment);
}
formatter.writeLine(`export type ${nested.name}__Output = ${getTypeInterfaceName(nested)}__Output;`);

@@ -378,3 +420,3 @@ }

else if (isNamespaceBase(nested)) {
generateMessageAndEnumExports(formatter, nested);
generateMessageAndEnumExports(formatter, nested, options);
}

@@ -385,3 +427,6 @@ }

}
function generateServiceClientInterface(formatter, serviceType) {
function generateServiceClientInterface(formatter, serviceType, options) {
if (options.includeComments) {
formatComment(formatter, serviceType.comment);
}
formatter.writeLine(`export interface ${serviceType.name}Client extends grpc.Client {`);

@@ -392,2 +437,5 @@ formatter.indent();

for (const name of [methodName, camelCase(methodName)]) {
if (options.includeComments) {
formatComment(formatter, method.comment);
}
const requestType = 'messages.' + stripLeadingPeriod(method.resolvedRequestType.fullName);

@@ -434,3 +482,3 @@ const responseType = 'messages.' + stripLeadingPeriod(method.resolvedResponseType.fullName) + '__Output';

}
function generateAllServiceClientInterfaces(formatter, namespace, nameOverride) {
function generateAllServiceClientInterfaces(formatter, namespace, options, nameOverride) {
formatter.writeLine(`export namespace ${nameOverride !== null && nameOverride !== void 0 ? nameOverride : namespace.name} {`);

@@ -440,6 +488,6 @@ formatter.indent();

if (nested instanceof Protobuf.Service) {
generateServiceClientInterface(formatter, nested);
generateServiceClientInterface(formatter, nested, options);
}
else if (isNamespaceBase(nested)) {
generateAllServiceClientInterfaces(formatter, nested);
generateAllServiceClientInterfaces(formatter, nested, options);
}

@@ -450,4 +498,7 @@ }

}
function generateSingleLoadedDefinitionType(formatter, nested) {
function generateSingleLoadedDefinitionType(formatter, nested, options) {
if (nested instanceof Protobuf.Service) {
if (options.includeComments) {
formatComment(formatter, nested.comment);
}
formatter.writeLine(`${nested.name}: SubtypeConstructor<typeof grpc.Client, ClientInterfaces.${stripLeadingPeriod(nested.fullName)}Client> & { service: ServiceDefinition }`);

@@ -462,10 +513,10 @@ }

else if (isNamespaceBase(nested)) {
generateLoadedDefinitionTypes(formatter, nested);
generateLoadedDefinitionTypes(formatter, nested, options);
}
}
function generateLoadedDefinitionTypes(formatter, namespace) {
function generateLoadedDefinitionTypes(formatter, namespace, options) {
formatter.writeLine(`${namespace.name}: {`);
formatter.indent();
for (const nested of namespace.nestedArray.sort(compareName)) {
generateSingleLoadedDefinitionType(formatter, nested);
generateSingleLoadedDefinitionType(formatter, nested, options);
}

@@ -475,3 +526,6 @@ formatter.unindent();

}
function generateServiceHandlerInterface(formatter, serviceType) {
function generateServiceHandlerInterface(formatter, serviceType, options) {
if (options.includeComments) {
formatComment(formatter, serviceType.comment);
}
formatter.writeLine(`export interface ${serviceType.name} {`);

@@ -481,2 +535,5 @@ formatter.indent();

const method = serviceType.methods[methodName];
if (options.includeComments) {
formatComment(formatter, method.comment);
}
const requestType = 'messages.' + stripLeadingPeriod(method.resolvedRequestType.fullName) + '__Output';

@@ -509,3 +566,3 @@ const responseType = 'messages.' + stripLeadingPeriod(method.resolvedResponseType.fullName);

}
function generateAllServiceHandlerInterfaces(formatter, namespace, nameOverride) {
function generateAllServiceHandlerInterfaces(formatter, namespace, options, nameOverride) {
formatter.writeLine(`export namespace ${nameOverride !== null && nameOverride !== void 0 ? nameOverride : namespace.name} {`);

@@ -515,6 +572,6 @@ formatter.indent();

if (nested instanceof Protobuf.Service) {
generateServiceHandlerInterface(formatter, nested);
generateServiceHandlerInterface(formatter, nested, options);
}
else if (isNamespaceBase(nested)) {
generateAllServiceHandlerInterfaces(formatter, nested);
generateAllServiceHandlerInterfaces(formatter, nested, options);
}

@@ -531,5 +588,5 @@ }

formatter.writeLine('');
generateMessageAndEnumExports(formatter, root, 'messages');
generateMessageAndEnumExports(formatter, root, options, 'messages');
formatter.writeLine('');
generateAllServiceClientInterfaces(formatter, root, 'ClientInterfaces');
generateAllServiceClientInterfaces(formatter, root, options, 'ClientInterfaces');
formatter.writeLine('');

@@ -544,3 +601,3 @@ formatter.writeLine('type ConstructorArguments<Constructor> = Constructor extends new (...args: infer Args) => any ? Args: never;');

for (const nested of root.nestedArray) {
generateSingleLoadedDefinitionType(formatter, nested);
generateSingleLoadedDefinitionType(formatter, nested, options);
}

@@ -550,3 +607,3 @@ formatter.unindent();

formatter.writeLine('');
generateAllServiceHandlerInterfaces(formatter, root, 'ServiceHandlers');
generateAllServiceHandlerInterfaces(formatter, root, options, 'ServiceHandlers');
}

@@ -569,3 +626,3 @@ async function writeFile(filename, contents) {

else if (nested instanceof Protobuf.Enum) {
generateEnumInterface(fileFormatter, nested);
generateEnumInterface(fileFormatter, nested, options);
if (options.verbose) {

@@ -605,3 +662,3 @@ console.log(`Writing ${options.outDir}/${getPath(nested)} from file ${nested.filename}`);

.array('includeDirs')
.boolean(['keepCase', 'defaults', 'arrays', 'objects', 'oneofs', 'json', 'verbose'])
.boolean(['keepCase', 'defaults', 'arrays', 'objects', 'oneofs', 'json', 'verbose', 'generateComments'])
// .choices('longs', ['String', 'Number'])

@@ -663,3 +720,3 @@ // .choices('enums', ['String'])

util_1.addCommonProtos();
writeAllFiles(argv._, argv).then(() => {
writeAllFiles(argv._, Object.assign(Object.assign({}, argv), { alternateCommentMode: true })).then(() => {
if (argv.verbose) {

@@ -666,0 +723,0 @@ console.log('Success');

{
"name": "@grpc/proto-loader",
"version": "0.6.0-pre8",
"version": "0.6.0-pre9",
"author": "Google Inc.",

@@ -5,0 +5,0 @@ "contributors": [

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc