/var/www/greso.tech/server/nsm/node_modules/@grpc/grpc-js/src
NameSizeModeActions
generated/-0755rm
admin.ts13450644editdlrm
backoff-timeout.ts47190644editdlrm
call-credentials.ts65550644editdlrm
call-interface.ts49820644editdlrm
call-number.ts6940644editdlrm
call.ts54470644editdlrm
channel-credentials.ts87530644editdlrm
channel-options.ts41000644editdlrm
channel.ts55470644editdlrm
channelz.ts262260644editdlrm
client-interceptors.ts179010644editdlrm
client.ts248280644editdlrm
compression-algorithms.ts6820644editdlrm
compression-filter.ts101670644editdlrm
connectivity-state.ts6990644editdlrm
constants.ts16510644editdlrm
control-plane-status.ts12220644editdlrm
deadline.ts29350644editdlrm
duration.ts10960644editdlrm
error.ts10620644editdlrm
events.ts11080644editdlrm
experimental.ts13520644editdlrm
filter-stack.ts26740644editdlrm
filter.ts18870644editdlrm
http_proxy.ts88270644editdlrm
index.ts79180644editdlrm
internal-channel.ts218310644editdlrm
load-balancer-child-handler.ts48680644editdlrm
load-balancer-outlier-detection.ts250140644editdlrm
load-balancer-pick-first.ts160730644editdlrm
load-balancer-round-robin.ts75730644editdlrm
load-balancer.ts74830644editdlrm
load-balancing-call.ts105850644editdlrm
logging.ts34070644editdlrm
make-client.ts72010644editdlrm
max-message-size-filter.ts30490644editdlrm
metadata.ts89880644editdlrm
object-stream.ts22140644editdlrm
picker.ts43280644editdlrm
resolver-dns.ts131690644editdlrm
resolver-ip.ts35590644editdlrm
resolver-uds.ts16110644editdlrm
resolver.ts58050644editdlrm
resolving-call.ts98560644editdlrm
resolving-load-balancer.ts115080644editdlrm
retrying-call.ts230790644editdlrm
server-call.ts272560644editdlrm
server-credentials.ts28220644editdlrm
server.ts373340644editdlrm
service-config.ts158520644editdlrm
status-builder.ts17830644editdlrm
stream-decoder.ts35010644editdlrm
subchannel-address.ts23070644editdlrm
subchannel-call.ts181970644editdlrm
subchannel-interface.ts28310644editdlrm
subchannel-pool.ts54900644editdlrm
subchannel.ts137550644editdlrm
tls-helpers.ts10880644editdlrm
transport.ts252640644editdlrm
uri-parser.ts28140644editdlrm
Edit: /var/www/greso.tech/server/nsm/node_modules/@grpc/grpc-js/src/make-client.ts (7201B)
/* * Copyright 2019 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 { ChannelCredentials } from './channel-credentials'; import { ChannelOptions } from './channel-options'; import { Client } from './client'; import { UntypedServiceImplementation } from './server'; export interface Serialize { (value: T): Buffer; } export interface Deserialize { (bytes: Buffer): T; } export interface ClientMethodDefinition { path: string; requestStream: boolean; responseStream: boolean; requestSerialize: Serialize; responseDeserialize: Deserialize; originalName?: string; } export interface ServerMethodDefinition { path: string; requestStream: boolean; responseStream: boolean; responseSerialize: Serialize; requestDeserialize: Deserialize; originalName?: string; } export interface MethodDefinition extends ClientMethodDefinition, ServerMethodDefinition {} /* eslint-disable @typescript-eslint/no-explicit-any */ export type ServiceDefinition< ImplementationType = UntypedServiceImplementation > = { readonly [index in keyof ImplementationType]: MethodDefinition; }; /* eslint-enable @typescript-eslint/no-explicit-any */ export interface ProtobufTypeDefinition { format: string; type: object; fileDescriptorProtos: Buffer[]; } export interface PackageDefinition { [index: string]: ServiceDefinition | ProtobufTypeDefinition; } /** * Map with short names for each of the requester maker functions. Used in * makeClientConstructor * @private */ const requesterFuncs = { unary: Client.prototype.makeUnaryRequest, server_stream: Client.prototype.makeServerStreamRequest, client_stream: Client.prototype.makeClientStreamRequest, bidi: Client.prototype.makeBidiStreamRequest, }; export interface ServiceClient extends Client { [methodName: string]: Function; } export interface ServiceClientConstructor { new ( address: string, credentials: ChannelCredentials, options?: Partial ): ServiceClient; service: ServiceDefinition; serviceName: string; } /** * Returns true, if given key is included in the blacklisted * keys. * @param key key for check, string. */ function isPrototypePolluted(key: string): boolean { return ['__proto__', 'prototype', 'constructor'].includes(key); } /** * Creates a constructor for a client with the given methods, as specified in * the methods argument. The resulting class will have an instance method for * each method in the service, which is a partial application of one of the * [Client]{@link grpc.Client} request methods, depending on `requestSerialize` * and `responseSerialize`, with the `method`, `serialize`, and `deserialize` * arguments predefined. * @param methods An object mapping method names to * method attributes * @param serviceName The fully qualified name of the service * @param classOptions An options object. * @return New client constructor, which is a subclass of * {@link grpc.Client}, and has the same arguments as that constructor. */ export function makeClientConstructor( methods: ServiceDefinition, serviceName: string, classOptions?: {} ): ServiceClientConstructor { if (!classOptions) { classOptions = {}; } class ServiceClientImpl extends Client implements ServiceClient { static service: ServiceDefinition; static serviceName: string; [methodName: string]: Function; } Object.keys(methods).forEach((name) => { if (isPrototypePolluted(name)) { return; } const attrs = methods[name]; let methodType: keyof typeof requesterFuncs; // TODO(murgatroid99): Verify that we don't need this anymore if (typeof name === 'string' && name.charAt(0) === '$') { throw new Error('Method names cannot start with $'); } if (attrs.requestStream) { if (attrs.responseStream) { methodType = 'bidi'; } else { methodType = 'client_stream'; } } else { if (attrs.responseStream) { methodType = 'server_stream'; } else { methodType = 'unary'; } } const serialize = attrs.requestSerialize; const deserialize = attrs.responseDeserialize; const methodFunc = partial( requesterFuncs[methodType], attrs.path, serialize, deserialize ); ServiceClientImpl.prototype[name] = methodFunc; // Associate all provided attributes with the method Object.assign(ServiceClientImpl.prototype[name], attrs); if (attrs.originalName && !isPrototypePolluted(attrs.originalName)) { ServiceClientImpl.prototype[attrs.originalName] = ServiceClientImpl.prototype[name]; } }); ServiceClientImpl.service = methods; ServiceClientImpl.serviceName = serviceName; return ServiceClientImpl; } function partial( fn: Function, path: string, serialize: Function, deserialize: Function ): Function { // eslint-disable-next-line @typescript-eslint/no-explicit-any return function (this: any, ...args: any[]) { return fn.call(this, path, serialize, deserialize, ...args); }; } export interface GrpcObject { [index: string]: | GrpcObject | ServiceClientConstructor | ProtobufTypeDefinition; } function isProtobufTypeDefinition( obj: ServiceDefinition | ProtobufTypeDefinition ): obj is ProtobufTypeDefinition { return 'format' in obj; } /** * Load a gRPC package definition as a gRPC object hierarchy. * @param packageDef The package definition object. * @return The resulting gRPC object. */ export function loadPackageDefinition( packageDef: PackageDefinition ): GrpcObject { const result: GrpcObject = {}; for (const serviceFqn in packageDef) { if (Object.prototype.hasOwnProperty.call(packageDef, serviceFqn)) { const service = packageDef[serviceFqn]; const nameComponents = serviceFqn.split('.'); if (nameComponents.some((comp: string) => isPrototypePolluted(comp))) { continue; } const serviceName = nameComponents[nameComponents.length - 1]; let current = result; for (const packageName of nameComponents.slice(0, -1)) { if (!current[packageName]) { current[packageName] = {}; } current = current[packageName] as GrpcObject; } if (isProtobufTypeDefinition(service)) { current[serviceName] = service; } else { current[serviceName] = makeClientConstructor(service, serviceName, {}); } } } return result; }