Skip to content

All Functions

317 implemented helpers + 60 covered by native JavaScript APIs, sorted alphabetically.

Function Category Description
add / subtract (date arithmetic) date native JS Temporal.PlainDate.prototype.add(duration) / .subtract(duration) (Temporal (Stage 3))
addDays date Adds days to a date.
addMonths date Adds months to a date.
addYears date Adds years to a date.
analyzeCommits commit Analyses a list of commits to suggest a semantic version bump.
argbToRgb color Converts a 32-bit packed ARGB integer (as used by e.g.
Brand type Brands a base type `T` with a phantom tag `B` to create a nominal type.
buildConventionalCommitRegex commit Builds a regular expression matching the **subject line** of a Conventional Commits message.
buildStatusTable ci Builds a Markdown table body from a map of job names to CI/CD statuses.
camelCase string Converts a string to camelCase.
camelCaseKeys object Recursively transforms every key of a plain object (including keys nested inside arrays and nested objects) to camelCas…
capitalize string Capitalizes the first letter of a string.
cartesianProduct array Computes the Cartesian product of the provided arrays.
ceil / floor number native JS Math.ceil() / Math.floor() (ES1)
chunk array Chunks an array into smaller arrays of specified size.
clamp number Clamps a number between min and max values
clampDate date Clamps a date to a [min, max] range.
cleanPath url Clean an URL by removing duplicate slashes.
clone object Creates a shallow copy of a value — one level deep, unlike cloneDeep.
cloneDeep object Creates a deep copy of an object or array.
combine observable Combine two observables with a map function and an optional pre-treatment.
combineLatest observable Combines multiple Observables to create an Observable whose values are calculated from the latest values of each of its…
combineSortFns array Chains multiple sort functions into a single comparator: the first function decides the order unless it reports a tie (…
compact array Removes all falsy values (`false`, `null`, `undefined`, `0`, `“”`, `NaN`) from an array.
compact object Removes all entries with falsy values (`false`, `null`, `undefined`, `0`, `“”`, `NaN`) from an object.
compare date Comparison of two dates.
compare version Compares two semantic version strings according to SemVer 2.0.0 specification Supports: - Core version: MAJOR.MINOR.PA…
compare (ordering) date native JS Temporal.PlainDate.compare(a, b) / Temporal.Instant.compare(a, b) (Temporal (Stage 3))
compose function Composes functions right-to-left: `compose(f, g)(x)` is equivalent to `f(g(x))`.
consoleLogPromise promise Returns a function that logs data to the console and passes it through.
correctFloat number Corrects floating-point arithmetic errors by rounding to a given number of significant digits.
countBy array Groups the elements of an array by the key returned by `keyFn` and returns a record mapping each key to the number of m…
countBy map Groups the entries of a Map by a derived key and counts how many fall into each group.
countBy set Groups the values of a Set by a derived key and counts how many fall into each group.
createCachedResolver function Creates a lazy, cached resolver: `resolve(key)` computes and caches `compute(key)` the first time a given key is seen, …
createMutex promise Creates a mutex: a lock allowing at most one holder at a time, queueing excess `acquire()` callers in FIFO order.
createSemaphore promise Creates a semaphore limiting concurrent access to `permits` holders at a time, queueing excess `acquire()` callers in F…
createSortByBooleanFn array Creates a sort function for objects by a boolean property.
createSortByDateFn array Creates a sort function for objects by date property.
createSortByNaturalFn array Creates a sort function for objects by one or more string properties using natural ordering.
createSortByNumberFn array Creates a sort function for objects by number property.
createSortByStringFn array Creates a sort function for objects by one or more string properties.
curry function Transforms a multi-argument function into a chain of single-argument functions (Haskell-style currying).
daysInMonth date Returns the number of days in the given month of the given year.
debounce function Creates a debounced function that delays invoking func until after delay milliseconds have elapsed since the last time …
dedent string Strips the common leading whitespace from every line of a multi-line string, and trims a single leading/trailing blank …
DeepGet type Resolves the value type at a given `Path` within `T`.
DeepPartial type Recursively makes all properties of T optional, including nested objects and array elements.
DeepSet type Produces the type of `T` after replacing the value at `Path` with `V`.
DeepWritable type Recursively removes `readonly` from all properties of T, including nested objects, array elements, and tuple positions.
DEFAULT_PERCENTAGE_TIERS ci Default tiers, geared towards coverage/quality-gate style percentages.
defer promise Runs an async function and guarantees that all deferred callbacks are executed afterwards, in LIFO order (last register…
delay promise Creates a promise that resolves after specified delay
diff object Structural object diff.
difference array Returns the difference between two arrays (items in first array but not in second).
difference date Calculates the difference between two dates in the specified unit.
difference set native JS Set.prototype.difference() (ES2025 (Set methods))
drop array native JS Array.prototype.slice(n) (ES3)
eachDay date Returns an array of `Date` objects for each day from `start` to `end` (inclusive).
eachMonth date Returns an array of `Date` objects for the first day of each month from `start` to `end` (inclusive).
endOf date Returns a new `Date` set to the **end** of the given unit.
ensureArray array Wraps a value in an array if it is not already one.
ensureDate date Safely converts a date-like value to a valid `Date` object, or returns `null`.
equalsDeep array Recursive structural array equality.
equalsDeep object Recursive structural object equality.
equalsShallow array Positional, one-level (shallow) array equality.
equalsShallow object One-level (shallow) object equality.
equalsUnordered array Order-independent (set-style) array equality.
escape markdown Escapes all Markdown special characters in a string so they render as literal text rather than formatting syntax.
escapeHtml string Escapes the HTML special characters `&`, `<`, `>`, `“`, and `’` in a string.
escapeRegExp string Escapes regular expression metacharacters (`.
every map Checks if every entry of a Map satisfies the predicate.
extractErrorMessage string Convert an error to a readable message.
extractNumber number Extracts the first number embedded anywhere in a string, or passes through a `number`.
extractPureURI url Extracts the pure URI from a URL by removing query parameters and fragments.
falsyPromiseOrThrow promise Returns a function that passes through falsy data or throws an error.
filter map Creates a new Map containing only the entries for which the predicate returns true.
filter set Creates a new Set containing only the values for which the predicate returns true.
filterAsync array The async counterpart to `Array.prototype.filter`: runs `predicate` for every item and resolves to the items whose pred…
find / findIndex array native JS Array.prototype.find() / findIndex() (ES2015)
findKey map Returns the first key of a Map whose entry satisfies the predicate, in insertion order.
findKey / findValue map native JS map.entries().find(([k, v]) => pred(v, k))?.[0 or 1] (ES2025 (Iterator Helpers))
findValue map Returns the first value of a Map whose entry satisfies the predicate, in insertion order.
flatten object Flattens a nested object into a single-level object whose keys are the dot-notation path to each leaf value.
flatten / flat array native JS Array.prototype.flat(depth?) (ES2019)
flip function Creates a function that invokes `fn` with the first two arguments swapped.
forEach map native JS Map.prototype.forEach((value, key, map) => ...) (ES2015)
forEach set native JS Set.prototype.forEach((value, value2, set) => ...) (ES2015)
forEachAsync array The async counterpart to `Array.prototype.forEach`: runs `fn` for every item for its side effects, discarding any retur…
formatCompact number Formats a number using compact notation (e.g.
formatDuration date Formats a duration in milliseconds as a compact human-readable string.
formatInTimezone date Formats a date in a specific IANA timezone using `Intl.DateTimeFormat`.
formatProgressBar string Formats a value as a text progress bar, repeating `filledChar`/`emptyChar` across `width` cells proportional to `value …
formatSize number Format a byte count into a human-readable string with the appropriate unit.
from (parse temporal string) date native JS Temporal.Instant.from(str) / Temporal.PlainDate.from(str) / etc. (Temporal (Stage 3))
fromMillis date Creates a `Date` from a timestamp in **milliseconds**.
fromSeconds date Creates a `Date` from a timestamp in **seconds**.
get object Gets a value from an object using a dot/bracket-notated path or explicit key array.
getTimezoneOffset date Returns the UTC offset **in minutes** for the given IANA timezone at a specific point in time.
groupBy map native JS Map.groupBy(map.entries(), ([k, v]) => groupFn(v, k)) (ES2024)
groupBy object Groups an array of items by a key derived from each item.
groupBy set native JS Map.groupBy(set.values(), fn) (ES2024)
groupBy / group array native JS Object.groupBy(arr, fn) (ES2024)
guard promise Wraps a function so that if it throws, a default value is returned instead of propagating the error.
has object native JS Object.hasOwn(obj, key) (ES2022)
hasValue map Checks whether a value exists anywhere in a Map (`Map.prototype.has` checks keys, not values).
hasValue map native JS map.values().some(v => Object.is(v, value)) (ES2025 (Iterator Helpers))
head / first array native JS Array.prototype.at(0) (ES2022)
hexToRgb color Parses a hex color string (`#rgb`, `#rgba`, `#rrggbb`, `#rrggbbaa` — the leading `#` is optional) into its RGB(A) chann…
hslToRgb color Converts an HSL(A) color into RGB(A).
identity function Returns the given value unchanged Useful as a default transform, in function composition, or as a placeholder mapper.
includes array native JS Array.prototype.includes() (ES2016)
increment version Increments a semantic version
incrementPrerelease version Increments the prerelease portion of a semantic version — the semantics `npm version prerelease --preid ` uses, not…
injectWordBreaks string Adds word-break opportunities to a string so it can wrap cleanly in narrow UI containers such as side panels or table c…
inRange number Checks whether a number falls within `[min, max]` (both inclusive by default).
intersection array Compute the intersection of two arrays, meaning the elements that are present in both arrays.
intersection set native JS Set.prototype.intersection() (ES2025 (Set methods))
intersects array Simple helper that check if two lists shared at least an item in common.
invert object Returns a new object with keys and values swapped.
isArray guard Checks if a value is an array.
isArrayBuffer guard Checks if a value is an ArrayBuffer instance.
isArrayLike guard Checks if a value is array-like: has a non-negative integer `length` property.
isAsyncFunction guard Checks if a value is an async function.
isAsyncGenerator guard Checks if a value is an async generator object (the result of calling an `async function*`).
isAsyncGeneratorFunction guard Checks if a value is an async generator function (an `async function*` declaration or expression).
isAsyncIterable guard Checks if a value implements the async iterable protocol.
isBigInt guard Checks if a value is a bigint.
isBlank string Checks if a string is blank — empty or contains only whitespace characters.
isBlob guard Checks if a value is a Blob instance.
isBoolean guard Checks if a value is a boolean.
isBrowser guard Checks whether the code is currently running in a browser-like environment (`window` and `window.document` both defined…
isBuffer node Checks if a value is a Node.js Buffer instance.
isBusinessDay date Checks whether a date falls on a business day (i.e.
isConventionalCommit commit Checks whether a commit message’s subject line follows the Conventional Commits format constrained by the given options.
isCssColor guard Checks whether a value is a syntactically-safe, plain CSS color: a hex color (`#rgb`, `#rgba`, `#rrggbb`, `#rrggbbaa`),…
isDate guard Checks if a value is a Date instance.
isDefined guard Checks if a value is defined (not undefined nor null).
isDirectInstanceOf type native JS value.constructor === Foo (ES1)
isEmpty array Checks if an array is empty (has no elements).
isEmpty object Checks if a plain object has no own enumerable string-keyed properties.
isEmpty string Checks if a string is empty (`“”`), `null`, or `undefined`.
isError guard Checks if a value is an Error instance.
isEven number Checks if a value is an even integer.
isFalsy guard Checks if a value is falsy (`false`, `null`, `undefined`, `0`, `“”`, `NaN`).
isFinite / isFiniteNumber type native JS Number.isFinite(value) (ES2015)
isFormData guard Checks if a value is a FormData instance.
isFunction guard Checks if a value is a function.
isGenerator guard Checks if a value is a generator object (the result of calling a `function*`).
isGeneratorFunction guard Checks if a value is a generator function (a `function*` declaration or expression).
isHtmlElement / isUrlInstance / isUrlSearchParams type native JS value instanceof HTMLElement / URL / URLSearchParams (Web API)
isInfinite type native JS value === Infinity || value === -Infinity / !Number.isFinite(value) && !Number.isNaN(value) (ES2015)
isInteger type native JS Number.isInteger(value) (ES2015)
isIterable guard Checks if a value is iterable (has a `Symbol.iterator` method).
isJSON guard Checks whether a value is a string containing valid, parseable JSON text.
isJSONArray guard Checks whether a value is an array whose every element is a valid JSON value (see isJSONValue).
isJSONObject guard Checks whether a value is a plain object whose every own value is a valid JSON value (see isJSONValue).
isJSONValue guard Checks whether a value is composed entirely of JSON-representable types: `string`, finite `number`, `boolean`, `null`, …
isLeapYear date Returns `true` if the given year is a leap year.
isLength guard Checks whether a value is a valid array-like `length`: a non-negative safe integer (`0 <= value <= Number.MAX_SAFE_INTE…
isLight / isDark (pick a readable text color) color native JS contrast-color(<color>) (CSS Color 6 (Baseline newly available since April 2026 — Chrome 147, Firefox 146, Safari 26.0))
isMap guard Checks if a value is a Map instance.
isNaN type native JS Number.isNaN(value) (ES2015)
isNegative number Checks if a value is a number less than 0.
isNode guard Checks whether the code is currently running in a Node.js-like environment (`process.versions.node` is defined — also t…
isNodeStream node Checks if a value is a Node.js stream (has a `.pipe()` method).
isNonEmpty array Checks if an array is non-empty (has at least one element).
isNonEmpty object Checks if a plain object has at least one own enumerable string-keyed property.
isNonEmpty string Checks if a string is non-empty (has at least one character).
isNotBlank string Checks if a string is not blank — non-empty and contains at least one non-whitespace character.
isNull guard Checks if a value is `null`.
isNullish guard Checks if a value is null or undefined (nullish).
isNumber guard Checks if a value is a number.
isObservable observable Checks if a value is an RxJS Observable or any compatible observable.
isOdd number Checks if a value is an odd integer.
isPlainObject guard Checks if a value is a plain object.
isPositive number Checks if a value is a number greater than 0.
isPrerelease version Returns `true` when the version string has a prerelease suffix (i.e.
isPrimitive guard Checks if a value is a JavaScript primitive.
isPromise guard Checks if a value is a Promise or a thenable.
isPromiseLike guard Checks if a value is a thenable (has a `.then()` method).
isPropertyKey guard Checks if a value is a valid property key: `string`, `number`, or `symbol`.
isRegExp guard Checks if a value is a RegExp instance.
isSafeInteger type native JS Number.isSafeInteger(value) (ES2015)
isSameDay date Checks if two dates are the same day.
isSameMonth date Checks if two dates are in the same month (and year).
isSameYear date Checks if two dates are in the same year.
isSet guard Checks if a value is a Set instance.
isSet (Set data structure) type native JS value instanceof Set (ES2015)
isSharedArrayBuffer node Checks if a value is a `SharedArrayBuffer` instance.
isSpecialObject guard Determines if a value is a special object that should not have its properties compared deeply.
isString guard Checks if a value is a string.
isSymbol guard Checks if a value is a symbol.
isTemporalDuration guard Checks if a value is a `Temporal.Duration`.
isTemporalInstant guard Checks if a value is a `Temporal.Instant`.
isTemporalPlainDate guard Checks if a value is a `Temporal.PlainDate`.
isTemporalPlainDateTime guard Checks if a value is a `Temporal.PlainDateTime`.
isTemporalPlainTime guard Checks if a value is a `Temporal.PlainTime`.
isTemporalZonedDateTime guard Checks if a value is a `Temporal.ZonedDateTime`.
isTimestamp guard Checks if a value is a valid timestamp (milliseconds or Unix seconds).
isTimestampInSeconds date Checks if a timestamp is likely in seconds (Java/Unix style) vs milliseconds (JavaScript style)
isTruthy guard Checks if a value is truthy (not `false`, `null`, `undefined`, `0`, `“”`, or `NaN`).
isUndefined guard Checks if a value is `undefined`.
isValid date Checks if a value is a valid Date instance (not `Invalid Date`).
isValidDateString date Checks whether a string can be parsed into a valid `Date`.
isValidRegex guard Checks if a string is a valid regex pattern.
isWeakMap guard Checks if a value is a WeakMap instance.
isWeakMap / isWeakSet / isWeakRef type native JS value instanceof WeakMap / WeakSet / WeakRef (ES2015 / ES2021)
isWeakSet guard Checks if a value is a WeakSet instance.
isWeekend date Checks whether a date falls on a weekend day.
isWithinRange date Checks whether a date falls within a range (inclusive on both ends).
kebabCase string Converts a string to kebab-case.
kebabCaseKeys object Recursively transforms every key of a plain object (including keys nested inside arrays and nested objects) to kebab-ca…
keys / values object native JS Object.keys() / Object.values() (ES2017)
KeysOfType type Extracts the keys of `T` whose values extend `V`.
last array native JS Array.prototype.at(-1) (ES2022)
leadingSentence string Extracts the leading sentence from a string.
lerp number Linearly interpolates between `start` and `end` by the factor `t`.
lighten / darken color native JS color-mix(in oklch, <color> <percent>, white|black) (CSS Color 5 (Baseline widely available since 2023 — Chrome 111, Firefox 113, Safari 16.2))
listTimezones date Returns the list of IANA timezone identifiers supported by the runtime.
map object Transforms the values and/or keys of a plain object in a single pass.
map set Creates a new Set with each value transformed by a function.
map / filter set native JS new Set(set.values().map(fn)) / new Set(set.values().filter(fn)) (ES2025 (Iterator Helpers))
mapAsync array The async counterpart to `Array.prototype.map`: applies `fn` to every item and resolves to an array of the results, in …
mapDeep object Recursively transforms the keys and/or values of a plain object — the deep counterpart to map, which only transforms th…
mapKeys map Creates a new Map with the same values but with each key transformed by a function.
mapValues map Creates a new Map with the same keys but with each value transformed by a function.
max array Returns the maximum value in an array using a loop instead of spread, avoiding the call stack overflow that occurs with…
Maybe type Type for values that can be T, undefined, or null.
mean array Calculates the arithmetic mean (average) of an array of numbers.
meanBy array Calculates the arithmetic mean of numbers derived from each item of an array via an iteratee.
meaningPromiseOrThrow promise Returns a function that passes through meaningful data or throws an error.
median array Calculates the median (middle value) of an array of numbers.
memoize function Returns a memoized version of the function that caches results.
merge (shallow) object native JS { ...a, ...b } or Object.assign({}, a, b) (ES2015)
mergeDeep object Merges two or more objects deeply, returning a **new** object without mutating any input.
min array Returns the minimum value in an array using a loop instead of spread, avoiding the call stack overflow that occurs with…
min / max number native JS Math.min(...arr) / Math.max(...arr) (ES1)
negate function Creates a function that negates the result of `predicate`.
noop function A no-operation function that does nothing and returns `undefined` Useful as a default callback, placeholder, or to exp…
normalizeTimestamp date Converts a timestamp to JavaScript milliseconds format
now (date/time/instant) date native JS Temporal.Now.instant() / .zonedDateTimeISO() / .plainDateISO() / .plainTimeISO() (Temporal (Stage 3))
Nullable type Adds `null` to a type (`T | null`).
Nullish type Adds `null` and `undefined` to a type (`T | null | undefined`).
omit object Creates a new object without the specified keys.
omitBy object Creates a new object without the own enumerable entries for which `predicate` returns `true`.
OmitByValue type Constructs a type by omitting all entries of `T` whose values extend `V`.
once function Creates a function that is restricted to be called only once.
onlyPath url Extract only the path from an URI with optional query and fragments.
OptionalKeys type Extracts the optional keys of an object type `T`.
overlaps date Checks whether two date ranges overlap.
padStart / padEnd string native JS String.prototype.padStart() / padEnd() (ES2017)
parallel promise Runs an array of async functions with a concurrency limit.
parallelSettle promise Runs an array of async functions with a concurrency limit, partitioning the outcomes instead of rejecting on the first …
parse version Parses a semantic version string into its components according to SemVer 2.0.0 specification Supports: - Core version:…
parseConventionalCommit commit Parses a Conventional Commits message into a structured object.
parseDuration date Parses a compact duration string (as produced by formatDuration, e.g.
parsePackageRepository url Parse the `repository` field from `package.json` into a structured object.
parsePropertyPath object Parses a dot/bracket-notation property path into an array of string/number key segments — the same notation accepted by…
partial function Partially applies arguments to a function, returning a new function that accepts the remaining arguments.
partition array Splits an array into two groups based on a predicate function.
pascalCase string Converts a string to PascalCase.
pascalCaseKeys object Recursively transforms every key of a plain object (including keys nested inside arrays and nested objects) to PascalCa…
percentageToTier ci Maps a numeric percentage to a tier (icon, color, label) using configurable thresholds.
percentile array Calculates the p-th percentile of an array of numbers using linear interpolation between the closest ranks.
pick object Creates a new object with only the specified keys.
pickBy object Creates a new object with only the own enumerable entries for which `predicate` returns `true`.
PickByValue type Constructs a type by picking all entries of `T` whose values extend `V`.
pipe function Composes functions left-to-right: the output of each function is passed as input to the next.
Prettify type Flattens an intersection type into a single readable object type.
randomBetween number Generates a random number between min and max (inclusive)
randomIntBetween number Generates a random integer between min and max (inclusive)
range array Generates an array of sequential numbers from start to end (exclusive).
reduce map Reduces a Map to a single value by applying a function to each entry, in insertion order.
reduce / some / every map native JS map.entries().reduce(fn, init) / .some(fn) / .every(fn) (ES2025 (Iterator Helpers))
reduce / some / every / find set native JS set.values().reduce(fn, init) / .some(fn) / .every(fn) / .find(fn) (ES2025 (Iterator Helpers))
relativeURLToAbsolute url Converts a relative URL to an absolute URL using the current document base URI.
removeDiacritics string Removes diacritical marks (accents) from a string, e.g.
removeUndefinedNull object Remove null and undefined values from an object.
repeat string native JS String.prototype.repeat() (ES2015)
replaceOrAppend array Returns a new array with the first item matching `predicate` replaced by `item` — or `item` appended at the end if no m…
RequiredKeys type Extracts the required (non-optional) keys of an object type `T`.
resolveRecord promise Resolves an array of keys into a record by calling an async mapper for each key.
retry promise Retries a promise-returning function up to maxAttempts times
returnOrThrowError function Return a value or throw an error if null or undefined.
reverse array native JS Array.prototype.toReversed() (ES2023)
rgbToHex color Converts an RGB(A) color into a hex color string.
rgbToHsl color Converts an RGB(A) color into HSL(A).
roundTo number Rounds a number to specified decimal places
safeFetch promise Wraps `fetch` with built-in error handling: returns `null` when the request fails (network error, non-OK status, or par…
safeJsonParse object Parses a JSON string, returning `null` (or a fallback) on any parse failure.
safeReadJsonFile node Reads a file and parses its contents as JSON, returning `null` (or a fallback) on any failure — a missing/unreadable fi…
sample array Picks one or more random elements from an array.
satisfiesRange version Checks if a version satisfies a range (simple implementation)
select array Filters and transforms an array in a single pass.
select / filterMap array native JS Array.prototype.filter().map() (ES5)
set object Sets a value in an object at the given path, creating intermediate objects as needed.
settle promise Runs an array of promises concurrently and partitions the outcomes instead of rejecting on the first failure, unlike `P…
shuffle array Randomly reorders elements of an array using the Fisher-Yates algorithm.
slugify string Converts a string into a URL-friendly slug.
snakeCase string Converts a string to snake_case.
snakeCaseKeys object Recursively transforms every key of a plain object (including keys nested inside arrays and nested objects) to snake_ca…
some map Checks if at least one entry of a Map satisfies the predicate.
sort (immutable) array native JS Array.prototype.toSorted(compareFn?) (ES2023)
sortBy / orderBy array native JS Array.prototype.toSorted(fn?) (ES2023)
sortKeys object Creates a new object with the same entries as the input, but with its own keys sorted.
sortNumberAscFn array Sort numbers in ascending order
sortNumberDescFn array Sort numbers in descending order
sortStringAscFn array Sort strings in ascending order
sortStringAscInsensitiveFn array Sort strings in ascending order (case insensitive)
sortStringDescFn array Sort strings in descending order
sortStringNaturalAscFn array Sort strings in ascending order using natural (human-friendly) ordering.
sortStringNaturalAscInsensitiveFn array Sort strings in ascending natural order, ignoring case **and diacritics** (`Intl.Collator { sensitivity: ‘base’ }` — tr…
sortStringNaturalDescFn array Sort strings in descending order using natural (human-friendly) ordering.
sortStringNaturalDescInsensitiveFn array Sort strings in descending natural order, ignoring case **and diacritics** (`Intl.Collator { sensitivity: ‘base’ }` — t…
startOf date Returns a new `Date` set to the **start** of the given unit.
startsWith / endsWith string native JS String.prototype.startsWith() / endsWith() (ES2015)
statusToBadge ci Maps a CI/CD job status to an inline code badge string.
statusToIcon ci Maps a CI/CD job status to an emoji icon.
stringify version Reconstruct a semantic version string from a ParsedVersion object.
stripV version Strip the leading “v” from a version string if it exists.
sum array Calculates the sum of an array of numbers.
sumBy array Calculates the sum of numbers derived from each item of an array via an iteratee.
symmetricDifference array Returns the symmetric difference between two arrays: items present in exactly one of the two arrays (in either, but not…
symmetricDifference set native JS Set.prototype.symmetricDifference() (ES2025 (Set methods))
tail array native JS Array.prototype.slice(1) (ES3)
take array native JS Array.prototype.slice(0, n) (ES3)
template string Interpolates `{{key}}` placeholders in a template string with values from a data record.
throttle function Creates a throttled function that only invokes func at most once per every wait milliseconds
timeAgo date Formats a date as a human-readable relative time string.
timeout promise Wraps a promise to reject with a `TimeoutError` if it does not resolve within the specified duration.
titleCase string Converts a string to Title Case.
titleCaseKeys object Recursively transforms every key of a plain object (including keys nested inside arrays and nested objects) to Title Ca…
toggle array Returns a new array with `item` removed if present, or appended if absent — the common “toggle a selection” pattern.
toInt / toFloat number native JS parseInt(str, 10) / parseFloat(str) (ES1)
toISO8601 date Converts a date to ISO 8601 format Format: YYYY-MM-DDTHH:mm:ss.sssZ
toMapByKey map Builds a Map from an iterable of items, keyed by a derived key.
toMapByKey set Builds a Map from a Set, keyed by a derived key.
toMillis date Converts a date to a timestamp in **milliseconds** (epoch millis).
toPairs / fromPairs object native JS Object.entries() / Object.fromEntries() (ES2019)
toPlainDate / toPlainDateTime / toPlainTime date native JS Temporal.ZonedDateTime.prototype.toPlainDate() / toPlainDateTime() / toPlainTime() (Temporal (Stage 3))
toRFC2822 date Converts a date to RFC 2822 format Format: Day, DD Mon YYYY HH:mm:ss +0000 Used in email headers (Date field) and HTTP …
toRFC3339 date Converts a date to RFC 3339 format Format: YYYY-MM-DDTHH:mm:ssZ or YYYY-MM-DDTHH:mm:ss+HH:mm RFC 3339 is a profile of I…
toSeconds date Converts a date to a timestamp in **seconds** (epoch seconds).
toTemporalInstant date native JS Date.prototype.toTemporalInstant() (Temporal (Stage 3))
toZonedDateTime date native JS Temporal.Instant.prototype.toZonedDateTimeISO(tz) (Temporal (Stage 3))
trim string Trims both leading and trailing characters from a string, at a configurable level of aggressiveness (see TrimMode).
trim / trimStart / trimEnd string native JS String.prototype.trim() / trimStart() / trimEnd() (ES2019)
trimEnd string Trims trailing characters from a string, at a configurable level of aggressiveness (see TrimMode).
trimStart string Trims leading characters from a string, at a configurable level of aggressiveness (see TrimMode).
truncate string Truncates a string to `maxLength` characters, appending an ellipsis when cut.
truthyPromiseOrThrow promise Returns a function that passes through truthy data or throws an error.
tryit promise Wraps a function so it never throws.
TypedArrays (isInt8Array, isFloat32Array, ...) type native JS value instanceof Int8Array / Float32Array / ... (ES2015)
unary function Creates a function that calls `fn` with only its first argument, discarding any others.
unescapeHtml string Unescapes the HTML entities `&`, `<`, `>`, `"`, and `&#39;` back to `&`, `<`, `>`, `“`, and `’`.
unflatten object Rebuilds a nested object from a single-level object whose keys are dot-notation paths.
union array native JS unique([...a, ...b]) (ES2015)
union set native JS Set.prototype.union() (ES2025 (Set methods))
UnionToIntersection type Converts a union type to an intersection type: `A | B | C` → `A & B & C`.
unique array Removes duplicate values from an array.
unset object Removes the value at a dot/bracket-notation path or explicit key array, mutating the object in place.
until / since (difference) date native JS Temporal.PlainDate.prototype.until(other) / .since(other) (Temporal (Stage 3))
unzip array Splits an array of tuples into separate arrays, one per position.
update object Updates the value at a path by applying a function to its current value, creating intermediate objects as needed.
uuid7 id Generates a UUID v7 string (RFC 9562).
ValueOf type Produces a union of all value types of an object type `T`.
WeekDays date Named day-of-week constants following the JavaScript `Date.getDay()` convention.
withAlpha (change the alpha channel of an existing color) color native JS rgb(from <color> r g b / <alpha>) (CSS Color 5 relative color syntax (Baseline widely available since September 2024 — Chrome 119+))
withLeadingSlash url Adds a leading slash `/` to the given URL if it is not already present.
without array Returns a new array with all occurrences of the given values removed.
withoutLeadingSlash url Removes the leading slash `/` from the given URL if it is present.
withoutTrailingSlash url Removes the trailing slash `/` from the given URL if it is present.
withResolvers promise native JS Promise.withResolvers() (ES2024)
withTrailingSlash url Adds a trailing slash `/` to the given URL if it is not already present.
words string Splits a string into an array of words.
zip array Combines multiple arrays element-by-element into an array of tuples.