A collection of utility types and functions
Install the package with your manager of choice.
# npm
npm install @ubloimmo/front-util
# yarn
yarn add @ubloimmo/front-util
# bun
bun add @ubloimmo/front-utilImport an utility type...
import type { GenericFn, Nullish } from "@ubloimmo/front-util";
const addTwoNumbers: GenericFn<[number, number], number> = (a, b) => a + b;
const joinStrings: GenericFn<string[], string> = (...strings) => {
return strings.join();
}...or a function.
import type { Nullish } from "@ubloimmo/front-util";
import { isNumber } from "@ubloimmo/front-util";
const isMoreThanTen = (a: Nullish<number>) => {
if (isNumber(a)) return a > 10;
return false;
}A bunch of generics for usage in various cases. All documented using jsdoc.
GenericFnVoidFnAsyncFnMaybeAsyncFnPredicate
PrimitivesNullishPritives
Nullable<T>Optional<T>Nullish<T>NonNullable<T>NonOptional<T>NonNullish<T>
KeyOf<TObject, TRestriction>DeepKeyOf<TObject, TRestriction>DeepRequired<T>DeepNullish<T>DeepNonNullish<T>DeepNullable<T>DeepNonNullable<T>DeepOptional<T>DeepNonOptional<T>DeepPickLax<T, TKey>DeepPick<TObject, TKey>
Some commonly used utility functions
Functions that verify the type of a value at runtime. Type safe.
isNumber()isString()isBoolean()isObject()isArray()isNull()isUndefined()isNullish()
objectKeys()objectValues()objectEntries()objectFromEntries()transformObject()
arrayFilter()
Logger()factory
Functions and type declarations that have yet to be added to this lib
-
Address -
Currency -
UUID
- Currency parsers & transformers
- Integer to double precision float parser
- Double precision float to string formatter
- Address parsers & formatter
- Date parsers & formatters
- String transformers
- To Pascal case
- To Kebab case
- Common regular expressions
- Object parsers, validators & transformers
- Object value / key transformer
- Object merge