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 | 2x 2x 2x 9x 2x 7x 7x 6x 7x 4x 1x 3x 2x 1x 3x | import { EmailJSON } from "@sendgrid/helpers/classes/email-address"; import Config from "./config"; import ProductionConfig from "./production-config"; import TestConfig from "./test-config"; export interface ConfigurationData { apiKey?: string; from?: EmailJSON; } export default class Configuration { private _config: Config; public apiKey: string; constructor(data?: ConfigurationData) { if (!((data && data.apiKey) || process.env.SENDGRID_API_KEY)) { throw new Error( "[ProductionConfiguration.constructor] SENDGRID_API_KEY undefined." ); } let apiKey = process.env.SENDGRID_API_KEY; if (data && data.apiKey) { apiKey = data.apiKey; } this.apiKey = apiKey; } public get config(): Config { if (typeof this._config !== "undefined") { return this._config; } if (process.env.NODE_ENV === "test") { this._config = new TestConfig(); } else { this._config = new ProductionConfig(); } return this._config; } } |