diff --git a/packages/grpc-js-core/src/call-credentials.ts b/packages/grpc-js-core/src/call-credentials.ts index 5b322402..3be454d5 100644 --- a/packages/grpc-js-core/src/call-credentials.ts +++ b/packages/grpc-js-core/src/call-credentials.ts @@ -3,7 +3,7 @@ import {map, reduce} from 'lodash'; import {Metadata} from './metadata'; export type CallMetadataGenerator = - (options: Object, cb: (err: Error|null, metadata?: Metadata) => void) => + (options: {}, cb: (err: Error|null, metadata?: Metadata) => void) => void; /** @@ -15,7 +15,7 @@ export interface CallCredentials { * Asynchronously generates a new Metadata object. * @param options Options used in generating the Metadata object. */ - generateMetadata(options: Object): Promise; + generateMetadata(options: {}): Promise; /** * Creates a new CallCredentials object from properties of both this and * another CallCredentials object. This object's metadata generator will be @@ -28,7 +28,7 @@ export interface CallCredentials { class ComposedCallCredentials implements CallCredentials { constructor(private creds: CallCredentials[]) {} - async generateMetadata(options: Object): Promise { + async generateMetadata(options: {}): Promise { let base: Metadata = new Metadata(); let generated: Metadata[] = await Promise.all( map(this.creds, (cred) => cred.generateMetadata(options))); @@ -46,7 +46,7 @@ class ComposedCallCredentials implements CallCredentials { class SingleCallCredentials implements CallCredentials { constructor(private metadataGenerator: CallMetadataGenerator) {} - async generateMetadata(options: Object): Promise { + async generateMetadata(options: {}): Promise { return new Promise((resolve, reject) => { this.metadataGenerator(options, (err, metadata) => { if (metadata !== undefined) { @@ -64,7 +64,7 @@ class SingleCallCredentials implements CallCredentials { } class EmptyCallCredentials implements CallCredentials { - async generateMetadata(options: Object): Promise { + async generateMetadata(options: {}): Promise { return new Metadata(); } diff --git a/packages/grpc-js-core/src/metadata.ts b/packages/grpc-js-core/src/metadata.ts index c4bb2568..9ed69dfc 100644 --- a/packages/grpc-js-core/src/metadata.ts +++ b/packages/grpc-js-core/src/metadata.ts @@ -194,7 +194,7 @@ export class Metadata { values.forEach((value) => { result.add(key, Buffer.from(value, 'base64')); }); - } else { + } else if (values !== undefined) { result.add(key, Buffer.from(values, 'base64')); } } else { @@ -202,7 +202,7 @@ export class Metadata { values.forEach((value) => { result.add(key, value); }); - } else { + } else if (values !== undefined) { result.add(key, values); } }