diff options
| author | altaf-creator <dev@altafcreator.com> | 2025-11-09 11:15:19 +0800 |
|---|---|---|
| committer | altaf-creator <dev@altafcreator.com> | 2025-11-09 11:15:19 +0800 |
| commit | 8eff962cab608341a6f2fedc640a0e32d96f26e2 (patch) | |
| tree | 05534d1a720ddc3691d346c69b4972555820a061 /frontend-old/node_modules/@grpc/proto-loader/build | |
pain
Diffstat (limited to 'frontend-old/node_modules/@grpc/proto-loader/build')
8 files changed, 1436 insertions, 0 deletions
diff --git a/frontend-old/node_modules/@grpc/proto-loader/build/bin/proto-loader-gen-types.js b/frontend-old/node_modules/@grpc/proto-loader/build/bin/proto-loader-gen-types.js new file mode 100755 index 0000000..1df55f7 --- /dev/null +++ b/frontend-old/node_modules/@grpc/proto-loader/build/bin/proto-loader-gen-types.js @@ -0,0 +1,913 @@ +#!/usr/bin/env node +"use strict"; +/** + * @license + * Copyright 2020 gRPC authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const fs = require("fs"); +const path = require("path"); +const Protobuf = require("protobufjs"); +const yargs = require("yargs"); +const camelCase = require("lodash.camelcase"); +const util_1 = require("../src/util"); +const templateStr = "%s"; +const useNameFmter = ({ outputTemplate, inputTemplate }) => { + if (outputTemplate === inputTemplate) { + throw new Error('inputTemplate and outputTemplate must differ'); + } + return { + outputName: (n) => outputTemplate.replace(templateStr, n), + inputName: (n) => inputTemplate.replace(templateStr, n) + }; +}; +class TextFormatter { + constructor() { + this.indentText = ' '; + this.indentValue = 0; + this.textParts = []; + } + indent() { + this.indentValue += 1; + } + unindent() { + this.indentValue -= 1; + } + writeLine(line) { + for (let i = 0; i < this.indentValue; i += 1) { + this.textParts.push(this.indentText); + } + this.textParts.push(line); + this.textParts.push('\n'); + } + getFullText() { + return this.textParts.join(''); + } +} +// 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) { + return Array.isArray(obj.nestedArray); +} +function stripLeadingPeriod(name) { + return name.startsWith('.') ? name.substring(1) : name; +} +function getImportPath(to) { + /* If the thing we are importing is defined in a message, it is generated in + * the same file as that message. */ + if (to.parent instanceof Protobuf.Type) { + return getImportPath(to.parent); + } + return stripLeadingPeriod(to.fullName).replace(/\./g, '/'); +} +function getPath(to, options) { + return stripLeadingPeriod(to.fullName).replace(/\./g, '/') + options.targetFileExtension; +} +function getPathToRoot(from) { + const depth = stripLeadingPeriod(from.fullName).split('.').length - 1; + if (depth === 0) { + return './'; + } + let path = ''; + for (let i = 0; i < depth; i++) { + path += '../'; + } + return path; +} +function getRelativeImportPath(from, to) { + return getPathToRoot(from) + getImportPath(to); +} +function getTypeInterfaceName(type) { + return type.fullName.replace(/\./g, '_'); +} +function getImportLine(dependency, from, options) { + const filePath = from === undefined ? './' + getImportPath(dependency) : getRelativeImportPath(from, dependency); + const { outputName, inputName } = useNameFmter(options); + const typeInterfaceName = getTypeInterfaceName(dependency); + let importedTypes; + /* If the dependency is defined within a message, it will be generated in that + * message's file and exported using its typeInterfaceName. */ + if (dependency.parent instanceof Protobuf.Type) { + if (dependency instanceof Protobuf.Type || dependency instanceof Protobuf.Enum) { + importedTypes = `${inputName(typeInterfaceName)}, ${outputName(typeInterfaceName)}`; + } + else if (dependency instanceof Protobuf.Service) { + importedTypes = `${typeInterfaceName}Client, ${typeInterfaceName}Definition`; + } + else { + throw new Error('Invalid object passed to getImportLine'); + } + } + else { + if (dependency instanceof Protobuf.Type || dependency instanceof Protobuf.Enum) { + importedTypes = `${inputName(dependency.name)} as ${inputName(typeInterfaceName)}, ${outputName(dependency.name)} as ${outputName(typeInterfaceName)}`; + } + else if (dependency instanceof Protobuf.Service) { + importedTypes = `${dependency.name}Client as ${typeInterfaceName}Client, ${dependency.name}Definition as ${typeInterfaceName}Definition`; + } + else { + throw new Error('Invalid object passed to getImportLine'); + } + } + return `import type { ${importedTypes} } from '${filePath}${options.importFileExtension}';`; +} +function getChildMessagesAndEnums(namespace) { + const messageList = []; + for (const nested of namespace.nestedArray) { + if (nested instanceof Protobuf.Type || nested instanceof Protobuf.Enum) { + messageList.push(nested); + } + if (isNamespaceBase(nested)) { + messageList.push(...getChildMessagesAndEnums(nested)); + } + } + return messageList; +} +function formatComment(formatter, comment, options) { + if (!comment && !(options === null || options === void 0 ? void 0 : options.deprecated)) { + return; + } + formatter.writeLine('/**'); + if (comment) { + for (const line of comment.split('\n')) { + formatter.writeLine(` * ${line.replace(/\*\//g, '* /')}`); + } + } + if (options === null || options === void 0 ? void 0 : options.deprecated) { + formatter.writeLine(' * @deprecated'); + } + formatter.writeLine(' */'); +} +const typeBrandHint = `This field is a type brand and is not populated at runtime. Instances of this type should be created using type assertions. +https://github.com/grpc/grpc-node/pull/2281`; +function formatTypeBrand(formatter, messageType) { + formatComment(formatter, typeBrandHint); + formatter.writeLine(`__type: '${messageType.fullName}'`); +} +// GENERATOR FUNCTIONS +function getTypeNamePermissive(fieldType, resolvedType, repeated, map, options) { + const { inputName } = useNameFmter(options); + switch (fieldType) { + case 'double': + case 'float': + return 'number | string'; + case 'int32': + case 'uint32': + case 'sint32': + case 'fixed32': + case 'sfixed32': + return 'number'; + case 'int64': + case 'uint64': + case 'sint64': + case 'fixed64': + case 'sfixed64': + return 'number | string | Long'; + case 'bool': + return 'boolean'; + case 'string': + return 'string'; + case 'bytes': + return 'Buffer | Uint8Array | string'; + default: + if (resolvedType === null) { + throw new Error('Found field with no usable type'); + } + const typeInterfaceName = getTypeInterfaceName(resolvedType); + if (resolvedType instanceof Protobuf.Type) { + if (repeated || map) { + return inputName(typeInterfaceName); + } + else { + return `${inputName(typeInterfaceName)} | null`; + } + } + else { + // Enum + return inputName(typeInterfaceName); + } + } +} +function getFieldTypePermissive(field, options) { + const valueType = getTypeNamePermissive(field.type, field.resolvedType, field.repeated, field.map, options); + if (field instanceof Protobuf.MapField) { + const keyType = field.keyType === 'string' ? 'string' : 'number'; + return `{[key: ${keyType}]: ${valueType}}`; + } + else { + return valueType; + } +} +function generatePermissiveMessageInterface(formatter, messageType, options, nameOverride) { + const { inputName } = useNameFmter(options); + if (options.includeComments) { + formatComment(formatter, messageType.comment, messageType.options); + } + if (messageType.fullName === '.google.protobuf.Any') { + /* This describes the behavior of the Protobuf.js Any wrapper fromObject + * replacement function */ + formatter.writeLine(`export type ${inputName('Any')} = AnyExtension | {`); + formatter.writeLine(' type_url: string;'); + formatter.writeLine(' value: Buffer | Uint8Array | string;'); + formatter.writeLine('}'); + return; + } + formatter.writeLine(`export interface ${inputName(nameOverride !== null && nameOverride !== void 0 ? nameOverride : messageType.name)} {`); + formatter.indent(); + for (const field of messageType.fieldsArray) { + const repeatedString = field.repeated ? '[]' : ''; + const type = getFieldTypePermissive(field, options); + if (options.includeComments) { + formatComment(formatter, field.comment, field.options); + } + formatter.writeLine(`'${field.name}'?: (${type})${repeatedString};`); + } + for (const oneof of messageType.oneofsArray) { + const typeString = oneof.fieldsArray.map(field => `"${field.name}"`).join('|'); + if (options.includeComments) { + formatComment(formatter, oneof.comment, oneof.options); + } + formatter.writeLine(`'${oneof.name}'?: ${typeString};`); + } + if (options.inputBranded) { + formatTypeBrand(formatter, messageType); + } + formatter.unindent(); + formatter.writeLine('}'); +} +function getTypeNameRestricted(fieldType, resolvedType, repeated, map, options) { + const { outputName } = useNameFmter(options); + switch (fieldType) { + case 'double': + case 'float': + if (options.json) { + return 'number | string'; + } + else { + return 'number'; + } + case 'int32': + case 'uint32': + case 'sint32': + case 'fixed32': + case 'sfixed32': + return 'number'; + case 'int64': + case 'uint64': + case 'sint64': + case 'fixed64': + case 'sfixed64': + if (options.longs === Number) { + return 'number'; + } + else if (options.longs === String) { + return 'string'; + } + else { + return 'Long'; + } + case 'bool': + return 'boolean'; + case 'string': + return 'string'; + case 'bytes': + if (options.bytes === Array) { + return 'Uint8Array'; + } + else if (options.bytes === String) { + return 'string'; + } + else { + return 'Buffer'; + } + default: + if (resolvedType === null) { + throw new Error('Found field with no usable type'); + } + const typeInterfaceName = getTypeInterfaceName(resolvedType); + if (resolvedType instanceof Protobuf.Type) { + /* null is only used to represent absent message values if the defaults + * option is set, and only for non-repeated, non-map fields. */ + if (options.defaults && !repeated && !map) { + return `${outputName(typeInterfaceName)} | null`; + } + else { + return `${outputName(typeInterfaceName)}`; + } + } + else { + // Enum + return outputName(typeInterfaceName); + } + } +} +function getFieldTypeRestricted(field, options) { + const valueType = getTypeNameRestricted(field.type, field.resolvedType, field.repeated, field.map, options); + if (field instanceof Protobuf.MapField) { + const keyType = field.keyType === 'string' ? 'string' : 'number'; + return `{[key: ${keyType}]: ${valueType}}`; + } + else { + return valueType; + } +} +function generateRestrictedMessageInterface(formatter, messageType, options, nameOverride) { + var _a, _b, _c; + const { outputName } = useNameFmter(options); + if (options.includeComments) { + formatComment(formatter, messageType.comment, messageType.options); + } + if (messageType.fullName === '.google.protobuf.Any' && options.json) { + /* This describes the behavior of the Protobuf.js Any wrapper toObject + * replacement function */ + let optionalString = options.defaults ? '' : '?'; + formatter.writeLine(`export type ${outputName('Any')} = AnyExtension | {`); + formatter.writeLine(` type_url${optionalString}: string;`); + formatter.writeLine(` value${optionalString}: ${getTypeNameRestricted('bytes', null, false, false, options)};`); + formatter.writeLine('}'); + return; + } + formatter.writeLine(`export interface ${outputName(nameOverride !== null && nameOverride !== void 0 ? nameOverride : messageType.name)} {`); + formatter.indent(); + for (const field of messageType.fieldsArray) { + let fieldGuaranteed; + if (field.partOf) { + // The field is not guaranteed populated if it is part of a oneof + fieldGuaranteed = false; + } + else if (field.repeated) { + fieldGuaranteed = (_a = (options.defaults || options.arrays)) !== null && _a !== void 0 ? _a : false; + } + else if (field.map) { + fieldGuaranteed = (_b = (options.defaults || options.objects)) !== null && _b !== void 0 ? _b : false; + } + else { + fieldGuaranteed = (_c = options.defaults) !== null && _c !== void 0 ? _c : false; + } + const optionalString = fieldGuaranteed ? '' : '?'; + const repeatedString = field.repeated ? '[]' : ''; + const type = getFieldTypeRestricted(field, options); + if (options.includeComments) { + formatComment(formatter, field.comment, field.options); + } + formatter.writeLine(`'${field.name}'${optionalString}: (${type})${repeatedString};`); + } + if (options.oneofs) { + for (const oneof of messageType.oneofsArray) { + const typeString = oneof.fieldsArray.map(field => `"${field.name}"`).join('|'); + if (options.includeComments) { + formatComment(formatter, oneof.comment, oneof.options); + } + formatter.writeLine(`'${oneof.name}'?: ${typeString};`); + } + } + if (options.outputBranded) { + formatTypeBrand(formatter, messageType); + } + formatter.unindent(); + formatter.writeLine('}'); +} +function generateMessageInterfaces(formatter, messageType, options) { + var _a, _b; + let usesLong = false; + let seenDeps = new Set(); + const childTypes = getChildMessagesAndEnums(messageType); + formatter.writeLine(`// Original file: ${(_b = ((_a = messageType.filename) !== null && _a !== void 0 ? _a : 'null')) === null || _b === void 0 ? void 0 : _b.replace(/\\/g, '/')}`); + formatter.writeLine(''); + const isLongField = (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) { + const dependency = field.resolvedType; + if (seenDeps.has(dependency.fullName)) { + continue; + } + seenDeps.add(dependency.fullName); + formatter.writeLine(getImportLine(dependency, messageType, options)); + } + if (isLongField(field)) { + usesLong = true; + } + } + for (const childType of childTypes) { + if (childType instanceof Protobuf.Type) { + for (const field of childType.fieldsArray) { + if (field.resolvedType && childTypes.indexOf(field.resolvedType) < 0) { + const dependency = field.resolvedType; + if (seenDeps.has(dependency.fullName)) { + continue; + } + seenDeps.add(dependency.fullName); + formatter.writeLine(getImportLine(dependency, messageType, options)); + } + if (isLongField(field)) { + usesLong = true; + } + } + } + } + if (usesLong) { + formatter.writeLine("import type { Long } from '@grpc/proto-loader';"); + } + if (messageType.fullName === '.google.protobuf.Any') { + formatter.writeLine("import type { AnyExtension } from '@grpc/proto-loader';"); + } + formatter.writeLine(''); + for (const childType of childTypes.sort(compareName)) { + const nameOverride = getTypeInterfaceName(childType); + if (childType instanceof Protobuf.Type) { + generatePermissiveMessageInterface(formatter, childType, options, nameOverride); + formatter.writeLine(''); + generateRestrictedMessageInterface(formatter, childType, options, nameOverride); + } + else { + generateEnumInterface(formatter, childType, options, nameOverride); + } + formatter.writeLine(''); + } + generatePermissiveMessageInterface(formatter, messageType, options); + formatter.writeLine(''); + generateRestrictedMessageInterface(formatter, messageType, options); +} +function generateEnumInterface(formatter, enumType, options, nameOverride) { + var _a, _b, _c; + const { inputName, outputName } = useNameFmter(options); + const name = nameOverride !== null && nameOverride !== void 0 ? nameOverride : enumType.name; + formatter.writeLine(`// Original file: ${(_b = ((_a = enumType.filename) !== null && _a !== void 0 ? _a : 'null')) === null || _b === void 0 ? void 0 : _b.replace(/\\/g, '/')}`); + formatter.writeLine(''); + if (options.includeComments) { + formatComment(formatter, enumType.comment, enumType.options); + } + formatter.writeLine(`export const ${name} = {`); + formatter.indent(); + for (const key of Object.keys(enumType.values)) { + if (options.includeComments) { + formatComment(formatter, enumType.comments[key], ((_c = enumType.valuesOptions) !== null && _c !== void 0 ? _c : {})[key]); + } + formatter.writeLine(`${key}: ${options.enums == String ? `'${key}'` : enumType.values[key]},`); + } + formatter.unindent(); + formatter.writeLine('} as const;'); + // Permissive Type + formatter.writeLine(''); + if (options.includeComments) { + formatComment(formatter, enumType.comment, enumType.options); + } + formatter.writeLine(`export type ${inputName(name)} =`); + formatter.indent(); + for (const key of Object.keys(enumType.values)) { + if (options.includeComments) { + formatComment(formatter, enumType.comments[key]); + } + formatter.writeLine(`| '${key}'`); + formatter.writeLine(`| ${enumType.values[key]}`); + } + formatter.unindent(); + // Restrictive Type + formatter.writeLine(''); + if (options.includeComments) { + formatComment(formatter, enumType.comment, enumType.options); + } + formatter.writeLine(`export type ${outputName(name)} = typeof ${name}[keyof typeof ${name}]`); +} +/** + * This is a list of methods that are exist in the generic Client class in the + * gRPC libraries. TypeScript has a problem with methods in subclasses with the + * same names as methods in the superclass, but with mismatched APIs. So, we + * avoid generating methods with these names in the service client interfaces. + * We always generate two service client methods per service method: one camel + * cased, and one with the original casing. So we will still generate one + * service client method for any conflicting name. + * + * Technically, at runtime conflicting name in the service client method + * actually shadows the original method, but TypeScript does not have a good + * way to represent that. So this change is not 100% accurate, but it gets the + * generated code to compile. + * + * This is just a list of the methods in the Client class definitions in + * grpc@1.24.11 and @grpc/grpc-js@1.4.0. + */ +const CLIENT_RESERVED_METHOD_NAMES = new Set([ + 'close', + 'getChannel', + 'waitForReady', + 'makeUnaryRequest', + 'makeClientStreamRequest', + 'makeServerStreamRequest', + 'makeBidiStreamRequest', + 'resolveCallInterceptors', + /* These methods are private, but TypeScript is not happy with overriding even + * private methods with mismatched APIs. */ + 'checkOptionalUnaryResponseArguments', + 'checkMetadataAndOptions' +]); +function generateServiceClientInterface(formatter, serviceType, options) { + const { outputName, inputName } = useNameFmter(options); + if (options.includeComments) { + formatComment(formatter, serviceType.comment, serviceType.options); + } + formatter.writeLine(`export interface ${serviceType.name}Client extends grpc.Client {`); + formatter.indent(); + for (const methodName of Object.keys(serviceType.methods).sort()) { + const method = serviceType.methods[methodName]; + for (const name of new Set([methodName, camelCase(methodName)])) { + if (CLIENT_RESERVED_METHOD_NAMES.has(name)) { + continue; + } + if (options.includeComments) { + formatComment(formatter, method.comment, method.options); + } + const requestType = inputName(getTypeInterfaceName(method.resolvedRequestType)); + const responseType = outputName(getTypeInterfaceName(method.resolvedResponseType)); + const callbackType = `grpc.requestCallback<${responseType}>`; + if (method.requestStream) { + if (method.responseStream) { + // Bidi streaming + const callType = `grpc.ClientDuplexStream<${requestType}, ${responseType}>`; + formatter.writeLine(`${name}(metadata: grpc.Metadata, options?: grpc.CallOptions): ${callType};`); + formatter.writeLine(`${name}(options?: grpc.CallOptions): ${callType};`); + } + else { + // Client streaming + const callType = `grpc.ClientWritableStream<${requestType}>`; + formatter.writeLine(`${name}(metadata: grpc.Metadata, options: grpc.CallOptions, callback: ${callbackType}): ${callType};`); + formatter.writeLine(`${name}(metadata: grpc.Metadata, callback: ${callbackType}): ${callType};`); + formatter.writeLine(`${name}(options: grpc.CallOptions, callback: ${callbackType}): ${callType};`); + formatter.writeLine(`${name}(callback: ${callbackType}): ${callType};`); + } + } + else { + if (method.responseStream) { + // Server streaming + const callType = `grpc.ClientReadableStream<${responseType}>`; + formatter.writeLine(`${name}(argument: ${requestType}, metadata: grpc.Metadata, options?: grpc.CallOptions): ${callType};`); + formatter.writeLine(`${name}(argument: ${requestType}, options?: grpc.CallOptions): ${callType};`); + } + else { + // Unary + const callType = 'grpc.ClientUnaryCall'; + formatter.writeLine(`${name}(argument: ${requestType}, metadata: grpc.Metadata, options: grpc.CallOptions, callback: ${callbackType}): ${callType};`); + formatter.writeLine(`${name}(argument: ${requestType}, metadata: grpc.Metadata, callback: ${callbackType}): ${callType};`); + formatter.writeLine(`${name}(argument: ${requestType}, options: grpc.CallOptions, callback: ${callbackType}): ${callType};`); + formatter.writeLine(`${name}(argument: ${requestType}, callback: ${callbackType}): ${callType};`); + } + } + } + formatter.writeLine(''); + } + formatter.unindent(); + formatter.writeLine('}'); +} +function generateServiceHandlerInterface(formatter, serviceType, options) { + const { inputName, outputName } = useNameFmter(options); + if (options.includeComments) { + formatComment(formatter, serviceType.comment, serviceType.options); + } + formatter.writeLine(`export interface ${serviceType.name}Handlers extends grpc.UntypedServiceImplementation {`); + formatter.indent(); + for (const methodName of Object.keys(serviceType.methods).sort()) { + const method = serviceType.methods[methodName]; + if (options.includeComments) { + formatComment(formatter, method.comment, serviceType.options); + } + const requestType = outputName(getTypeInterfaceName(method.resolvedRequestType)); + const responseType = inputName(getTypeInterfaceName(method.resolvedResponseType)); + if (method.requestStream) { + if (method.responseStream) { + // Bidi streaming + formatter.writeLine(`${methodName}: grpc.handleBidiStreamingCall<${requestType}, ${responseType}>;`); + } + else { + // Client streaming + formatter.writeLine(`${methodName}: grpc.handleClientStreamingCall<${requestType}, ${responseType}>;`); + } + } + else { + if (method.responseStream) { + // Server streaming + formatter.writeLine(`${methodName}: grpc.handleServerStreamingCall<${requestType}, ${responseType}>;`); + } + else { + // Unary + formatter.writeLine(`${methodName}: grpc.handleUnaryCall<${requestType}, ${responseType}>;`); + } + } + formatter.writeLine(''); + } + formatter.unindent(); + formatter.writeLine('}'); +} +function generateServiceDefinitionInterface(formatter, serviceType, options) { + const { inputName, outputName } = useNameFmter(options); + if (options.grpcLib) { + formatter.writeLine(`export interface ${serviceType.name}Definition extends grpc.ServiceDefinition {`); + } + else { + formatter.writeLine(`export interface ${serviceType.name}Definition {`); + } + formatter.indent(); + for (const methodName of Object.keys(serviceType.methods).sort()) { + const method = serviceType.methods[methodName]; + const requestType = getTypeInterfaceName(method.resolvedRequestType); + const responseType = getTypeInterfaceName(method.resolvedResponseType); + formatter.writeLine(`${methodName}: MethodDefinition<${inputName(requestType)}, ${inputName(responseType)}, ${outputName(requestType)}, ${outputName(responseType)}>`); + } + formatter.unindent(); + formatter.writeLine('}'); +} +function generateServiceInterfaces(formatter, serviceType, options) { + var _a, _b; + formatter.writeLine(`// Original file: ${(_b = ((_a = serviceType.filename) !== null && _a !== void 0 ? _a : 'null')) === null || _b === void 0 ? void 0 : _b.replace(/\\/g, '/')}`); + formatter.writeLine(''); + if (options.grpcLib) { + const grpcImportPath = options.grpcLib.startsWith('.') ? getPathToRoot(serviceType) + options.grpcLib : options.grpcLib; + formatter.writeLine(`import type * as grpc from '${grpcImportPath}'`); + } + formatter.writeLine(`import type { MethodDefinition } from '@grpc/proto-loader'`); + const dependencies = new Set(); + for (const method of serviceType.methodsArray) { + dependencies.add(method.resolvedRequestType); + dependencies.add(method.resolvedResponseType); + } + for (const dep of Array.from(dependencies.values()).sort(compareName)) { + formatter.writeLine(getImportLine(dep, serviceType, options)); + } + formatter.writeLine(''); + if (options.grpcLib) { + generateServiceClientInterface(formatter, serviceType, options); + formatter.writeLine(''); + generateServiceHandlerInterface(formatter, serviceType, options); + formatter.writeLine(''); + } + generateServiceDefinitionInterface(formatter, serviceType, options); +} +function containsDefinition(definitionType, namespace) { + for (const nested of namespace.nestedArray.sort(compareName)) { + if (nested instanceof definitionType) { + return true; + } + else if (isNamespaceBase(nested) && !(nested instanceof Protobuf.Type) && !(nested instanceof Protobuf.Enum) && containsDefinition(definitionType, nested)) { + return true; + } + } + return false; +} +function generateDefinitionImports(formatter, namespace, options) { + const imports = []; + if (containsDefinition(Protobuf.Enum, namespace)) { + imports.push('EnumTypeDefinition'); + } + if (containsDefinition(Protobuf.Type, namespace)) { + imports.push('MessageTypeDefinition'); + } + if (imports.length) { + formatter.writeLine(`import type { ${imports.join(', ')} } from '@grpc/proto-loader';`); + } +} +function generateServiceImports(formatter, namespace, options) { + for (const nested of namespace.nestedArray.sort(compareName)) { + if (nested instanceof Protobuf.Service) { + formatter.writeLine(getImportLine(nested, undefined, options)); + } + else if (isNamespaceBase(nested) && !(nested instanceof Protobuf.Type) && !(nested instanceof Protobuf.Enum)) { + generateServiceImports(formatter, nested, options); + } + } +} +function generateSingleLoadedDefinitionType(formatter, nested, options) { + if (nested instanceof Protobuf.Service) { + if (options.includeComments) { + formatComment(formatter, nested.comment, nested.options); + } + const typeInterfaceName = getTypeInterfaceName(nested); + formatter.writeLine(`${nested.name}: SubtypeConstructor<typeof grpc.Client, ${typeInterfaceName}Client> & { service: ${typeInterfaceName}Definition }`); + } + else if (nested instanceof Protobuf.Enum) { + formatter.writeLine(`${nested.name}: EnumTypeDefinition`); + } + else if (nested instanceof Protobuf.Type) { + formatter.writeLine(`${nested.name}: MessageTypeDefinition`); + } + else if (isNamespaceBase(nested)) { + generateLoadedDefinitionTypes(formatter, nested, options); + } +} +function generateLoadedDefinitionTypes(formatter, namespace, options) { + formatter.writeLine(`${namespace.name}: {`); + formatter.indent(); + for (const nested of namespace.nestedArray.sort(compareName)) { + generateSingleLoadedDefinitionType(formatter, nested, options); + } + formatter.unindent(); + formatter.writeLine('}'); +} +function generateRootFile(formatter, root, options) { + if (!options.grpcLib) { + return; + } + formatter.writeLine(`import type * as grpc from '${options.grpcLib}';`); + generateDefinitionImports(formatter, root, options); + formatter.writeLine(''); + generateServiceImports(formatter, root, options); + formatter.writeLine(''); + formatter.writeLine('type SubtypeConstructor<Constructor extends new (...args: any) => any, Subtype> = {'); + formatter.writeLine(' new(...args: ConstructorParameters<Constructor>): Subtype;'); + formatter.writeLine('};'); + formatter.writeLine(''); + formatter.writeLine('export interface ProtoGrpcType {'); + formatter.indent(); + for (const nested of root.nestedArray) { + generateSingleLoadedDefinitionType(formatter, nested, options); + } + formatter.unindent(); + formatter.writeLine('}'); + formatter.writeLine(''); +} +async function writeFile(filename, contents) { + await fs.promises.mkdir(path.dirname(filename), { recursive: true }); + return fs.promises.writeFile(filename, contents); +} +function generateFilesForNamespace(namespace, options) { + const filePromises = []; + for (const nested of namespace.nestedArray) { + const fileFormatter = new TextFormatter(); + if (nested instanceof Protobuf.Type) { + generateMessageInterfaces(fileFormatter, nested, options); + if (options.verbose) { + console.log(`Writing ${options.outDir}/${getPath(nested, options)} from file ${nested.filename}`); + } + filePromises.push(writeFile(`${options.outDir}/${getPath(nested, options)}`, fileFormatter.getFullText())); + } + else if (nested instanceof Protobuf.Enum) { + generateEnumInterface(fileFormatter, nested, options); + if (options.verbose) { + console.log(`Writing ${options.outDir}/${getPath(nested, options)} from file ${nested.filename}`); + } + filePromises.push(writeFile(`${options.outDir}/${getPath(nested, options)}`, fileFormatter.getFullText())); + } + else if (nested instanceof Protobuf.Service) { + generateServiceInterfaces(fileFormatter, nested, options); + if (options.verbose) { + console.log(`Writing ${options.outDir}/${getPath(nested, options)} from file ${nested.filename}`); + } + filePromises.push(writeFile(`${options.outDir}/${getPath(nested, options)}`, fileFormatter.getFullText())); + } + else if (isNamespaceBase(nested)) { + filePromises.push(...generateFilesForNamespace(nested, options)); + } + } + return filePromises; +} +function writeFilesForRoot(root, masterFileName, options) { + const filePromises = []; + const masterFileFormatter = new TextFormatter(); + if (options.grpcLib) { + generateRootFile(masterFileFormatter, root, options); + if (options.verbose) { + console.log(`Writing ${options.outDir}/${masterFileName}`); + } + filePromises.push(writeFile(`${options.outDir}/${masterFileName}`, masterFileFormatter.getFullText())); + } + filePromises.push(...generateFilesForNamespace(root, options)); + return filePromises; +} +async function writeAllFiles(protoFiles, options) { + await fs.promises.mkdir(options.outDir, { recursive: true }); + const basenameMap = new Map(); + for (const filename of protoFiles) { + const basename = path.basename(filename).replace(/\.proto$/, options.targetFileExtension); + if (basenameMap.has(basename)) { + basenameMap.get(basename).push(filename); + } + else { + basenameMap.set(basename, [filename]); + } + } + for (const [basename, filenames] of basenameMap.entries()) { + const loadedRoot = await (0, util_1.loadProtosWithOptions)(filenames, options); + writeFilesForRoot(loadedRoot, basename, options); + } +} +async function runScript() { + const boolDefaultFalseOption = { + boolean: true, + default: false, + }; + const argv = await yargs + .parserConfiguration({ + 'parse-positional-numbers': false + }) + .option('keepCase', boolDefaultFalseOption) + .option('longs', { string: true, default: 'Long' }) + .option('enums', { string: true, default: 'number' }) + .option('bytes', { string: true, default: 'Buffer' }) + .option('defaults', boolDefaultFalseOption) + .option('arrays', boolDefaultFalseOption) + .option('objects', boolDefaultFalseOption) + .option('oneofs', boolDefaultFalseOption) + .option('json', boolDefaultFalseOption) + .boolean('verbose') + .option('includeComments', boolDefaultFalseOption) + .option('includeDirs', { + normalize: true, + array: true, + alias: 'I' + }) + .option('outDir', { + alias: 'O', + normalize: true, + }) + .option('grpcLib', { string: true }) + .option('inputTemplate', { string: true, default: `${templateStr}` }) + .option('outputTemplate', { string: true, default: `${templateStr}__Output` }) + .option('inputBranded', boolDefaultFalseOption) + .option('outputBranded', boolDefaultFalseOption) + .option('targetFileExtension', { string: true, default: '.ts' }) + .option('importFileExtension', { string: true, default: '' }) + .coerce('longs', value => { + switch (value) { + case 'String': return String; + case 'Number': return Number; + default: return undefined; + } + }).coerce('enums', value => { + if (value === 'String') { + return String; + } + else { + return undefined; + } + }).coerce('bytes', value => { + switch (value) { + case 'Array': return Array; + case 'String': return String; + default: return undefined; + } + }) + .alias({ + verbose: 'v' + }).describe({ + keepCase: 'Preserve the case of field names', + longs: 'The type that should be used to output 64 bit integer values. Can be String, Number', + enums: 'The type that should be used to output enum fields. Can be String', + bytes: 'The type that should be used to output bytes fields. Can be String, Array', + defaults: 'Output default values for omitted fields', + arrays: 'Output default values for omitted repeated fields even if --defaults is not set', + objects: 'Output default values for omitted message fields even if --defaults is not set', + oneofs: 'Output virtual oneof fields set to the present field\'s name', + json: 'Represent Infinity and NaN as strings in float fields. Also decode google.protobuf.Any automatically', + includeComments: 'Generate doc comments from comments in the original files', + includeDirs: 'Directories to search for included files', + outDir: 'Directory in which to output files', + grpcLib: 'The gRPC implementation library that these types will be used with. If not provided, some types will not be generated', + inputTemplate: 'Template for mapping input or "permissive" type names', + outputTemplate: 'Template for mapping output or "restricted" type names', + inputBranded: 'Output property for branded type for "permissive" types with fullName of the Message as its value', + outputBranded: 'Output property for branded type for "restricted" types with fullName of the Message as its value', + targetFileExtension: 'File extension for generated files.', + importFileExtension: 'File extension for import specifiers in generated code.' + }).demandOption(['outDir']) + .demand(1) + .usage('$0 [options] filenames...') + .epilogue('WARNING: This tool is in alpha. The CLI and generated code are subject to change') + .argv; + if (argv.verbose) { + console.log('Parsed arguments:', argv); + } + (0, util_1.addCommonProtos)(); + writeAllFiles(argv._, Object.assign(Object.assign({}, argv), { alternateCommentMode: true })).then(() => { + if (argv.verbose) { + console.log('Success'); + } + }, (error) => { + console.error(error); + process.exit(1); + }); +} +if (require.main === module) { + runScript(); +} +//# sourceMappingURL=proto-loader-gen-types.js.map
\ No newline at end of file diff --git a/frontend-old/node_modules/@grpc/proto-loader/build/bin/proto-loader-gen-types.js.map b/frontend-old/node_modules/@grpc/proto-loader/build/bin/proto-loader-gen-types.js.map new file mode 100644 index 0000000..229cd48 --- /dev/null +++ b/frontend-old/node_modules/@grpc/proto-loader/build/bin/proto-loader-gen-types.js.map @@ -0,0 +1 @@ +{"version":3,"file":"proto-loader-gen-types.js","sourceRoot":"","sources":["../../bin/proto-loader-gen-types.ts"],"names":[],"mappings":"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"}
\ No newline at end of file diff --git a/frontend-old/node_modules/@grpc/proto-loader/build/src/index.d.ts b/frontend-old/node_modules/@grpc/proto-loader/build/src/index.d.ts new file mode 100644 index 0000000..ff575c0 --- /dev/null +++ b/frontend-old/node_modules/@grpc/proto-loader/build/src/index.d.ts @@ -0,0 +1,160 @@ +/** + * @license + * Copyright 2018 gRPC authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +/// <reference types="node" /> +import * as Protobuf from 'protobufjs'; +import * as descriptor from 'protobufjs/ext/descriptor'; +import { Options } from './util'; +import Long = require('long'); +export { Options, Long }; +/** + * This type exists for use with code generated by the proto-loader-gen-types + * tool. This type should be used with another interface, e.g. + * MessageType & AnyExtension for an object that is converted to or from a + * google.protobuf.Any message. + * For example, when processing an Any message: + * + * ```ts + * if (isAnyExtension(message)) { + * switch (message['@type']) { + * case TYPE1_URL: + * handleType1(message as AnyExtension & Type1); + * break; + * case TYPE2_URL: + * handleType2(message as AnyExtension & Type2); + * break; + * // ... + * } + * } + * ``` + */ +export interface AnyExtension { + /** + * The fully qualified name of the message type that this object represents, + * possibly including a URL prefix. + */ + '@type': string; +} +export declare function isAnyExtension(obj: object): obj is AnyExtension; +declare module 'protobufjs' { + interface Type { + toDescriptor(protoVersion: string): Protobuf.Message<descriptor.IDescriptorProto> & descriptor.IDescriptorProto; + } + interface RootConstructor { + new (options?: Options): Root; + fromDescriptor(descriptorSet: descriptor.IFileDescriptorSet | Protobuf.Reader | Uint8Array): Root; + fromJSON(json: Protobuf.INamespace, root?: Root): Root; + } + interface Root { + toDescriptor(protoVersion: string): Protobuf.Message<descriptor.IFileDescriptorSet> & descriptor.IFileDescriptorSet; + } + interface Enum { + toDescriptor(protoVersion: string): Protobuf.Message<descriptor.IEnumDescriptorProto> & descriptor.IEnumDescriptorProto; + } +} +export interface Serialize<T> { + (value: T): Buffer; +} +export interface Deserialize<T> { + (bytes: Buffer): T; +} +export interface ProtobufTypeDefinition { + format: string; + type: object; + fileDescriptorProtos: Buffer[]; +} +export interface MessageTypeDefinition extends ProtobufTypeDefinition { + format: 'Protocol Buffer 3 DescriptorProto'; +} +export interface EnumTypeDefinition extends ProtobufTypeDefinition { + format: 'Protocol Buffer 3 EnumDescriptorProto'; +} +export declare enum IdempotencyLevel { + IDEMPOTENCY_UNKNOWN = "IDEMPOTENCY_UNKNOWN", + NO_SIDE_EFFECTS = "NO_SIDE_EFFECTS", + IDEMPOTENT = "IDEMPOTENT" +} +export interface NamePart { + name_part: string; + is_extension: boolean; +} +export interface UninterpretedOption { + name?: NamePart[]; + identifier_value?: string; + positive_int_value?: number; + negative_int_value?: number; + double_value?: number; + string_value?: string; + aggregate_value?: string; +} +export interface MethodOptions { + deprecated: boolean; + idempotency_level: IdempotencyLevel; + uninterpreted_option: UninterpretedOption[]; + [k: string]: unknown; +} +export interface MethodDefinition<RequestType, ResponseType, OutputRequestType = RequestType, OutputResponseType = ResponseType> { + path: string; + requestStream: boolean; + responseStream: boolean; + requestSerialize: Serialize<RequestType>; + responseSerialize: Serialize<ResponseType>; + requestDeserialize: Deserialize<OutputRequestType>; + responseDeserialize: Deserialize<OutputResponseType>; + originalName?: string; + requestType: MessageTypeDefinition; + responseType: MessageTypeDefinition; + options: MethodOptions; +} +export interface ServiceDefinition { + [index: string]: MethodDefinition<object, object>; +} +export declare type AnyDefinition = ServiceDefinition | MessageTypeDefinition | EnumTypeDefinition; +export interface PackageDefinition { + [index: string]: AnyDefinition; +} +/** + * Load a .proto file with the specified options. + * @param filename One or multiple file paths to load. Can be an absolute path + * or relative to an include path. + * @param options.keepCase Preserve field names. The default is to change them + * to camel case. + * @param options.longs The type that should be used to represent `long` values. + * Valid options are `Number` and `String`. Defaults to a `Long` object type + * from a library. + * @param options.enums The type that should be used to represent `enum` values. + * The only valid option is `String`. Defaults to the numeric value. + * @param options.bytes The type that should be used to represent `bytes` + * values. Valid options are `Array` and `String`. The default is to use + * `Buffer`. + * @param options.defaults Set default values on output objects. Defaults to + * `false`. + * @param options.arrays Set empty arrays for missing array values even if + * `defaults` is `false`. Defaults to `false`. + * @param options.objects Set empty objects for missing object values even if + * `defaults` is `false`. Defaults to `false`. + * @param options.oneofs Set virtual oneof properties to the present field's + * name + * @param options.json Represent Infinity and NaN as strings in float fields, + * and automatically decode google.protobuf.Any values. + * @param options.includeDirs Paths to search for imported `.proto` files. + */ +export declare function load(filename: string | string[], options?: Options): Promise<PackageDefinition>; +export declare function loadSync(filename: string | string[], options?: Options): PackageDefinition; +export declare function fromJSON(json: Protobuf.INamespace, options?: Options): PackageDefinition; +export declare function loadFileDescriptorSetFromBuffer(descriptorSet: Buffer, options?: Options): PackageDefinition; +export declare function loadFileDescriptorSetFromObject(descriptorSet: Parameters<typeof descriptor.FileDescriptorSet.fromObject>[0], options?: Options): PackageDefinition; diff --git a/frontend-old/node_modules/@grpc/proto-loader/build/src/index.js b/frontend-old/node_modules/@grpc/proto-loader/build/src/index.js new file mode 100644 index 0000000..1d86395 --- /dev/null +++ b/frontend-old/node_modules/@grpc/proto-loader/build/src/index.js @@ -0,0 +1,244 @@ +"use strict"; +/** + * @license + * Copyright 2018 gRPC authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +Object.defineProperty(exports, "__esModule", { value: true }); +exports.loadFileDescriptorSetFromObject = exports.loadFileDescriptorSetFromBuffer = exports.fromJSON = exports.loadSync = exports.load = exports.IdempotencyLevel = exports.isAnyExtension = exports.Long = void 0; +const camelCase = require("lodash.camelcase"); +const Protobuf = require("protobufjs"); +const descriptor = require("protobufjs/ext/descriptor"); +const util_1 = require("./util"); +const Long = require("long"); +exports.Long = Long; +function isAnyExtension(obj) { + return ('@type' in obj) && (typeof obj['@type'] === 'string'); +} +exports.isAnyExtension = isAnyExtension; +var IdempotencyLevel; +(function (IdempotencyLevel) { + IdempotencyLevel["IDEMPOTENCY_UNKNOWN"] = "IDEMPOTENCY_UNKNOWN"; + IdempotencyLevel["NO_SIDE_EFFECTS"] = "NO_SIDE_EFFECTS"; + IdempotencyLevel["IDEMPOTENT"] = "IDEMPOTENT"; +})(IdempotencyLevel = exports.IdempotencyLevel || (exports.IdempotencyLevel = {})); +const descriptorOptions = { + longs: String, + enums: String, + bytes: String, + defaults: true, + oneofs: true, + json: true, +}; +function joinName(baseName, name) { + if (baseName === '') { + return name; + } + else { + return baseName + '.' + name; + } +} +function isHandledReflectionObject(obj) { + return (obj instanceof Protobuf.Service || + obj instanceof Protobuf.Type || + obj instanceof Protobuf.Enum); +} +function isNamespaceBase(obj) { + return obj instanceof Protobuf.Namespace || obj instanceof Protobuf.Root; +} +function getAllHandledReflectionObjects(obj, parentName) { + const objName = joinName(parentName, obj.name); + if (isHandledReflectionObject(obj)) { + return [[objName, obj]]; + } + else { + if (isNamespaceBase(obj) && typeof obj.nested !== 'undefined') { + return Object.keys(obj.nested) + .map(name => { + return getAllHandledReflectionObjects(obj.nested[name], objName); + }) + .reduce((accumulator, currentValue) => accumulator.concat(currentValue), []); + } + } + return []; +} +function createDeserializer(cls, options) { + return function deserialize(argBuf) { + return cls.toObject(cls.decode(argBuf), options); + }; +} +function createSerializer(cls) { + return function serialize(arg) { + if (Array.isArray(arg)) { + throw new Error(`Failed to serialize message: expected object with ${cls.name} structure, got array instead`); + } + const message = cls.fromObject(arg); + return cls.encode(message).finish(); + }; +} +function mapMethodOptions(options) { + return (options || []).reduce((obj, item) => { + for (const [key, value] of Object.entries(item)) { + switch (key) { + case 'uninterpreted_option': + obj.uninterpreted_option.push(item.uninterpreted_option); + break; + default: + obj[key] = value; + } + } + return obj; + }, { + deprecated: false, + idempotency_level: IdempotencyLevel.IDEMPOTENCY_UNKNOWN, + uninterpreted_option: [], + }); +} +function createMethodDefinition(method, serviceName, options, fileDescriptors) { + /* This is only ever called after the corresponding root.resolveAll(), so we + * can assume that the resolved request and response types are non-null */ + const requestType = method.resolvedRequestType; + const responseType = method.resolvedResponseType; + return { + path: '/' + serviceName + '/' + method.name, + requestStream: !!method.requestStream, + responseStream: !!method.responseStream, + requestSerialize: createSerializer(requestType), + requestDeserialize: createDeserializer(requestType, options), + responseSerialize: createSerializer(responseType), + responseDeserialize: createDeserializer(responseType, options), + // TODO(murgatroid99): Find a better way to handle this + originalName: camelCase(method.name), + requestType: createMessageDefinition(requestType, fileDescriptors), + responseType: createMessageDefinition(responseType, fileDescriptors), + options: mapMethodOptions(method.parsedOptions), + }; +} +function createServiceDefinition(service, name, options, fileDescriptors) { + const def = {}; + for (const method of service.methodsArray) { + def[method.name] = createMethodDefinition(method, name, options, fileDescriptors); + } + return def; +} +function createMessageDefinition(message, fileDescriptors) { + const messageDescriptor = message.toDescriptor('proto3'); + return { + format: 'Protocol Buffer 3 DescriptorProto', + type: messageDescriptor.$type.toObject(messageDescriptor, descriptorOptions), + fileDescriptorProtos: fileDescriptors, + }; +} +function createEnumDefinition(enumType, fileDescriptors) { + const enumDescriptor = enumType.toDescriptor('proto3'); + return { + format: 'Protocol Buffer 3 EnumDescriptorProto', + type: enumDescriptor.$type.toObject(enumDescriptor, descriptorOptions), + fileDescriptorProtos: fileDescriptors, + }; +} +/** + * function createDefinition(obj: Protobuf.Service, name: string, options: + * Options): ServiceDefinition; function createDefinition(obj: Protobuf.Type, + * name: string, options: Options): MessageTypeDefinition; function + * createDefinition(obj: Protobuf.Enum, name: string, options: Options): + * EnumTypeDefinition; + */ +function createDefinition(obj, name, options, fileDescriptors) { + if (obj instanceof Protobuf.Service) { + return createServiceDefinition(obj, name, options, fileDescriptors); + } + else if (obj instanceof Protobuf.Type) { + return createMessageDefinition(obj, fileDescriptors); + } + else if (obj instanceof Protobuf.Enum) { + return createEnumDefinition(obj, fileDescriptors); + } + else { + throw new Error('Type mismatch in reflection object handling'); + } +} +function createPackageDefinition(root, options) { + const def = {}; + root.resolveAll(); + const descriptorList = root.toDescriptor('proto3').file; + const bufferList = descriptorList.map(value => Buffer.from(descriptor.FileDescriptorProto.encode(value).finish())); + for (const [name, obj] of getAllHandledReflectionObjects(root, '')) { + def[name] = createDefinition(obj, name, options, bufferList); + } + return def; +} +function createPackageDefinitionFromDescriptorSet(decodedDescriptorSet, options) { + options = options || {}; + const root = Protobuf.Root.fromDescriptor(decodedDescriptorSet); + root.resolveAll(); + return createPackageDefinition(root, options); +} +/** + * Load a .proto file with the specified options. + * @param filename One or multiple file paths to load. Can be an absolute path + * or relative to an include path. + * @param options.keepCase Preserve field names. The default is to change them + * to camel case. + * @param options.longs The type that should be used to represent `long` values. + * Valid options are `Number` and `String`. Defaults to a `Long` object type + * from a library. + * @param options.enums The type that should be used to represent `enum` values. + * The only valid option is `String`. Defaults to the numeric value. + * @param options.bytes The type that should be used to represent `bytes` + * values. Valid options are `Array` and `String`. The default is to use + * `Buffer`. + * @param options.defaults Set default values on output objects. Defaults to + * `false`. + * @param options.arrays Set empty arrays for missing array values even if + * `defaults` is `false`. Defaults to `false`. + * @param options.objects Set empty objects for missing object values even if + * `defaults` is `false`. Defaults to `false`. + * @param options.oneofs Set virtual oneof properties to the present field's + * name + * @param options.json Represent Infinity and NaN as strings in float fields, + * and automatically decode google.protobuf.Any values. + * @param options.includeDirs Paths to search for imported `.proto` files. + */ +function load(filename, options) { + return (0, util_1.loadProtosWithOptions)(filename, options).then(loadedRoot => { + return createPackageDefinition(loadedRoot, options); + }); +} +exports.load = load; +function loadSync(filename, options) { + const loadedRoot = (0, util_1.loadProtosWithOptionsSync)(filename, options); + return createPackageDefinition(loadedRoot, options); +} +exports.loadSync = loadSync; +function fromJSON(json, options) { + options = options || {}; + const loadedRoot = Protobuf.Root.fromJSON(json); + loadedRoot.resolveAll(); + return createPackageDefinition(loadedRoot, options); +} +exports.fromJSON = fromJSON; +function loadFileDescriptorSetFromBuffer(descriptorSet, options) { + const decodedDescriptorSet = descriptor.FileDescriptorSet.decode(descriptorSet); + return createPackageDefinitionFromDescriptorSet(decodedDescriptorSet, options); +} +exports.loadFileDescriptorSetFromBuffer = loadFileDescriptorSetFromBuffer; +function loadFileDescriptorSetFromObject(descriptorSet, options) { + const decodedDescriptorSet = descriptor.FileDescriptorSet.fromObject(descriptorSet); + return createPackageDefinitionFromDescriptorSet(decodedDescriptorSet, options); +} +exports.loadFileDescriptorSetFromObject = loadFileDescriptorSetFromObject; +(0, util_1.addCommonProtos)(); +//# sourceMappingURL=index.js.map
\ No newline at end of file diff --git a/frontend-old/node_modules/@grpc/proto-loader/build/src/index.js.map b/frontend-old/node_modules/@grpc/proto-loader/build/src/index.js.map new file mode 100644 index 0000000..8ba05f1 --- /dev/null +++ b/frontend-old/node_modules/@grpc/proto-loader/build/src/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
\ No newline at end of file diff --git a/frontend-old/node_modules/@grpc/proto-loader/build/src/util.d.ts b/frontend-old/node_modules/@grpc/proto-loader/build/src/util.d.ts new file mode 100644 index 0000000..d0b13d9 --- /dev/null +++ b/frontend-old/node_modules/@grpc/proto-loader/build/src/util.d.ts @@ -0,0 +1,27 @@ +/** + * @license + * Copyright 2018 gRPC authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +import * as Protobuf from 'protobufjs'; +export declare type Options = Protobuf.IParseOptions & Protobuf.IConversionOptions & { + includeDirs?: string[]; +}; +export declare function loadProtosWithOptions(filename: string | string[], options?: Options): Promise<Protobuf.Root>; +export declare function loadProtosWithOptionsSync(filename: string | string[], options?: Options): Protobuf.Root; +/** + * Load Google's well-known proto files that aren't exposed by Protobuf.js. + */ +export declare function addCommonProtos(): void; diff --git a/frontend-old/node_modules/@grpc/proto-loader/build/src/util.js b/frontend-old/node_modules/@grpc/proto-loader/build/src/util.js new file mode 100644 index 0000000..7ade36b --- /dev/null +++ b/frontend-old/node_modules/@grpc/proto-loader/build/src/util.js @@ -0,0 +1,89 @@ +"use strict"; +/** + * @license + * Copyright 2018 gRPC authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +Object.defineProperty(exports, "__esModule", { value: true }); +exports.addCommonProtos = exports.loadProtosWithOptionsSync = exports.loadProtosWithOptions = void 0; +const fs = require("fs"); +const path = require("path"); +const Protobuf = require("protobufjs"); +function addIncludePathResolver(root, includePaths) { + const originalResolvePath = root.resolvePath; + root.resolvePath = (origin, target) => { + if (path.isAbsolute(target)) { + return target; + } + for (const directory of includePaths) { + const fullPath = path.join(directory, target); + try { + fs.accessSync(fullPath, fs.constants.R_OK); + return fullPath; + } + catch (err) { + continue; + } + } + process.emitWarning(`${target} not found in any of the include paths ${includePaths}`); + return originalResolvePath(origin, target); + }; +} +async function loadProtosWithOptions(filename, options) { + const root = new Protobuf.Root(); + options = options || {}; + if (!!options.includeDirs) { + if (!Array.isArray(options.includeDirs)) { + return Promise.reject(new Error('The includeDirs option must be an array')); + } + addIncludePathResolver(root, options.includeDirs); + } + const loadedRoot = await root.load(filename, options); + loadedRoot.resolveAll(); + return loadedRoot; +} +exports.loadProtosWithOptions = loadProtosWithOptions; +function loadProtosWithOptionsSync(filename, options) { + const root = new Protobuf.Root(); + options = options || {}; + if (!!options.includeDirs) { + if (!Array.isArray(options.includeDirs)) { + throw new Error('The includeDirs option must be an array'); + } + addIncludePathResolver(root, options.includeDirs); + } + const loadedRoot = root.loadSync(filename, options); + loadedRoot.resolveAll(); + return loadedRoot; +} +exports.loadProtosWithOptionsSync = loadProtosWithOptionsSync; +/** + * Load Google's well-known proto files that aren't exposed by Protobuf.js. + */ +function addCommonProtos() { + // Protobuf.js exposes: any, duration, empty, field_mask, struct, timestamp, + // and wrappers. compiler/plugin is excluded in Protobuf.js and here. + // Using constant strings for compatibility with tools like Webpack + const apiDescriptor = require('protobufjs/google/protobuf/api.json'); + const descriptorDescriptor = require('protobufjs/google/protobuf/descriptor.json'); + const sourceContextDescriptor = require('protobufjs/google/protobuf/source_context.json'); + const typeDescriptor = require('protobufjs/google/protobuf/type.json'); + Protobuf.common('api', apiDescriptor.nested.google.nested.protobuf.nested); + Protobuf.common('descriptor', descriptorDescriptor.nested.google.nested.protobuf.nested); + Protobuf.common('source_context', sourceContextDescriptor.nested.google.nested.protobuf.nested); + Protobuf.common('type', typeDescriptor.nested.google.nested.protobuf.nested); +} +exports.addCommonProtos = addCommonProtos; +//# sourceMappingURL=util.js.map
\ No newline at end of file diff --git a/frontend-old/node_modules/@grpc/proto-loader/build/src/util.js.map b/frontend-old/node_modules/@grpc/proto-loader/build/src/util.js.map new file mode 100644 index 0000000..bb517f7 --- /dev/null +++ b/frontend-old/node_modules/@grpc/proto-loader/build/src/util.js.map @@ -0,0 +1 @@ +{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"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"}
\ No newline at end of file |
