Type-safe utility functions for TypeScript projects
npm install @dloizides/utilsbash
npm install @dloizides/utils
or
yarn add @dloizides/utils
or
pnpm add @dloizides/utils
`
Features
- Type Guards: isValueDefined, isNotEmptyArray, isNotEmptyString, isNullOrUndefined, isEmptyArray, isEmptyString
- Assertions: assertDefined
- Zero Dependencies: No runtime dependencies
- Tree-shakeable: Only import what you need
- TypeScript First: Full type inference and narrowing
Usage
$3
`typescript
import { isValueDefined, isNotEmptyArray, isNotEmptyString } from '@dloizides/utils';
// isValueDefined - Check if value is not null or undefined
const user = getUserOrNull();
if (isValueDefined(user)) {
console.log(user.name); // TypeScript knows user is defined
}
// isNotEmptyArray - Check if array has elements
const items = getItems();
if (isNotEmptyArray(items)) {
console.log(items[0]); // Safe to access first element
}
// isNotEmptyString - Check if string has content
const input = formData.get('name');
if (isNotEmptyString(input)) {
saveUser(input); // String is guaranteed to have content
}
`
$3
`typescript
import { assertDefined } from '@dloizides/utils';
function processUser(user: User | null) {
assertDefined(user, 'User is required');
// user is now narrowed to User
return user.name.toUpperCase();
}
`
$3
`typescript
// Import only guards
import { isValueDefined } from '@dloizides/utils/guards';
// Import only assertions
import { assertDefined } from '@dloizides/utils/assertions';
`
API Reference
$3
| Function | Description |
|----------|-------------|
| isValueDefined | Returns true if value is not null or undefined |
| isNotEmptyArray | Returns true if value is an array with length > 0 |
| isNotEmptyString(value) | Returns true if value is a non-empty string (after trim) |
| isNullOrUndefined(value) | Returns true if value is null or undefined |
| isEmptyArray(value) | Returns true if value is an empty array |
| isEmptyString(value) | Returns true if value is empty or whitespace only |
$3
| Function | Description |
|----------|-------------|
| assertDefined | Throws if value is null or undefined` |