Есть ли более точная идиома Typescript для выдачи ошибки в случае, если значение не определено во время выполнения? - PullRequest
0 голосов
/ 29 апреля 2020

Я использую dotenv для загрузки некоторых значений времени выполнения. Я хочу выдать ошибку в случае, если значение не определено. Есть ли более аккуратный способ сделать это в Typescript, чем следующий?

    dotenv.config()
    if (process.env.USERNAME == undefined) {
        throw new Error("USERNAME is undefined")
    }
    let username:string = process.env.USERNAME

1 Ответ

0 голосов
/ 29 апреля 2020

Node.js имеет модуль assert для подобных целей, хотя @types/assert не может объявить функции в этом модуле как предикаты типа типа поэтому утверждения также нужно будет делать отдельно, используя TypeScript во время компиляции.

import assert from 'assert';
import dotenv from 'dotenv';

dotenv.config();

assert.notStrictEqual(process.env.USERNAME, undefined, 'USERNAME is undefined');

let username: string = process.env.USERNAME;
...