Skip to content

Namespace ts-types

Package: @litert/utils-ts-types

This namespace provides static TypeScript utility types for use in generic constraints, type-level programming, and common type transformations. It contains no runtime code — all exports are compile-time-only type declarations.

Install

Use this package only:

bash
npm i @litert/utils-ts-types

Or install the full bundle:

bash
npm i @litert/utils

And then import from it.

ts
import type * as LibUtils from '@litert/utils';
type MyObj = LibUtils.IObject;

// or
import type { IObject } from '@litert/utils';

Errors

See Errors.md for all exported error classes.

ClassDescription
UtilityErrorBase error class for all LiteRT utility errors, carrying structured context.

Typings

See Typings.md for all exported interfaces and type aliases.

TypeDescription
IObjectBase interface for any object value, useful in generic constraints.
IDict<T, TKey>Lightweight dictionary type (Record<TKey, T>).
IFunction<TArgs, TReturn>Type for any function, useful in generic constraints.
IAsyncFunction<TArgs, TReturn>Type for any async function, useful in generic constraints.
IDeepPartial<T>Recursively makes all properties of T optional.
IConstructor<T>Type for a class constructor.
IBasicTypeUnion of all JavaScript primitive types.
IAdvancedTypeUnion of all non-primitive types.
IElementOfArray<T>Extracts the element type from an array type.
IMaybeAsync<T>T or Promise<T>.
IMaybeArray<T>T or T[].
IToPromise<T>Wraps T in Promise<T> unless already a Promise.
IfIsAny<T, TYes, TNo>Conditional type: resolves to TYes if T is any.
IfIsNever<T, TYes, TNo>Conditional type: resolves to TYes if T is never.
IInstanceOf<T>Extracts the instance type from a constructor type.