# `@bitty/nullish` [![Bundle minified size](https://badgen.net/bundlephobia/min/@bitty/nullish)](https://bundlephobia.com/result?p=@bitty/nullish) [![Bundle minified and gzipped size](https://badgen.net/bundlephobia/minzip/@bitty/nullish)](https://bundlephobia.com/result?p=@bitty/nullish) Nullish helper functions and types for TypeScript. - 📦 Distributions in ESM, CommonJS, UMD and UMD _minified_ formats. - ⚡ Lightweight: - Weighs less than 0.2KB (min + gzip). - Tree-shakeable. - Side-effects free. - 🔋 Bateries included: - No dependencies. - Its not based on newer browser's APIs or es2015+ features. - 🏷 Safe: - JSDocs and type declarations for IDEs and editor's autocomplete/intellisense. - Made with TypeScript as strict as possible. - Unit tests with AVA. ## Installation This library is published in the NPM registry and can be installed using any compatible package manager. ```sh npm install @bitty/nullish --save # For Yarn, use the command below. yarn add @bitty/nullish ``` ### Installation from CDN This module has a UMD bundle available through JSDelivr and Unpkg CDNs. ```html ``` ## Getting Stated This module default exports `isNullish`, which is a predicate function that checks if value is _nullish_. ```ts import isNullish from '@bitty/pipe'; isNullish(null); //=> true isNullish(undefined); //=> true isNullish(undefined as void); //=> true isNullish(NaN); //=> false ``` We also exports `NonNullish` and `Nullish` types. - `Nullish` is simply an union of `null`, `void` and `undefined` types. ```ts import { Nullish } from '@bitty/nullish'; let nullish: Nullish; nullish = null; nullish = undefined; nullish = undefined as void; nullish = false; //=> throws "Type 'false' is not assignable to type 'Nullish'.". ``` - `NonNullish` is a type helper that removes _nullish_ types. ```ts import { NonNullish } from '@bitty/nullish'; type Value = string | null | undefined; const value: NonNullish = null; //=> throws "Type 'null' is not assignable to type 'string'.". ``` ## License Released under [MIT License](./LICENSE).