All files / types client.ts

100% Statements 1/1
100% Branches 0/0
100% Functions 0/0
100% Lines 1/1

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47                  2x                                                                          
import { ResponseError } from "@sendgrid/helpers/classes";
import { ClientRequest } from "@sendgrid/client/src/request";
import { ClientResponse } from "@sendgrid/client/src/response";
 
/**
 * Stub of the provided sendgrid Client class.
 * https://github.com/sendgrid/sendgrid-nodejs/blob/master/packages/client/src/client.d.ts
 * We need this because sendgrid doesn't export the raw class type :(
 */
export default class Client {
  /**
   * Set API key
   */
  setApiKey(apiKey: string): void;
 
  /**
   * Set default header
   */
  setDefaultHeader(key: string, value: string): this;
 
  /**
   * Set default request
   */
  setDefaultRequest<K extends keyof ClientRequest>(
    key: K,
    value: ClientRequest[K]
  ): this;
 
  /**
   * Create headers for request
   */
  createHeaders(data: { [key: string]: string }): { [key: string]: string };
 
  /**
   * Create request
   */
  createRequest(data: ClientRequest): ClientRequest;
 
  /**
   * Do a request
   */
  request(
    data: ClientRequest,
    cb?: (err: ResponseError, response: [ClientResponse, any]) => void
  ): Promise<[ClientResponse, any]>;
}