An idiomatic way to enforce values not to be null or undefined, with first-class support for TypeScript. Very lightweight with no dependencies.
npm install @expo/nullthrowsimport process from 'node:process';
import nullthrows from '@expo/nullthrows';
// nodeEnv is guaranteed to be a string. If the environment variable is
// undefined, nullthrows throws a TypeError.
const nodeEnv = nullthrows(process.env.NODE_ENV);
// You can optionally provide a custom error message
const nodeEnv2 = nullthrows(process.env.NODE_ENV, `NODE_ENV must be defined`);value: the value to enforce not to benullorundefinedmessage: an optional error message to use in the thrownTypeErrorif the given value isnullorundefined
T: the static type ofvalue
Returns value if it is neither null nor undefined.
Throws a TypeError if value is null or undefined.
This package is a spiritual successor of nullthrows. The motivation for a new package was primarily to support using TypeScript with ES modules since the type declarations included with nullthrows produce type errors.