Skip to content

All Functions

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

FunctionCategoryDescription
add / subtract (date arithmetic)datenative JS Temporal.PlainDate.prototype.add(duration) / .subtract(duration) (Temporal (Stage 3))
addDaysdateAdds days to a date.
addMonthsdateAdds months to a date.
addYearsdateAdds years to a date.
analyzeCommitscommitAnalyses a list of commits to suggest a semantic version bump.
argbToRgbcolorConverts a 32-bit packed ARGB integer (as used by e.g.
BrandtypeBrands a base type `T` with a phantom tag `B` to create a nominal type.
buildConventionalCommitRegexcommitBuilds a regular expression matching the **subject line** of a Conventional Commits message.
buildStatusTableciBuilds a Markdown table body from a map of job names to CI/CD statuses.
camelCasestringConverts a string to camelCase.
camelCaseKeysobjectRecursively transforms every key of a plain object (including keys nested inside arrays and nested objects) to camelC…
capitalizestringCapitalizes the first letter of a string.
cartesianProductarrayComputes the Cartesian product of the provided arrays.
ceil / floornumbernative JS Math.ceil() / Math.floor() (ES1)
chunkarrayChunks an array into smaller arrays of specified size.
clampnumberClamps a number between min and max values
clampDatedateClamps a date to a [min, max] range.
cleanPathurlClean an URL by removing duplicate slashes.
cloneobjectCreates a shallow copy of a value — one level deep, unlike cloneDeep.
cloneDeepobjectCreates a deep copy of an object or array.
combineobservableCombine two observables with a map function and an optional pre-treatment.
combineLatestobservableCombines multiple Observables to create an Observable whose values are calculated from the latest values of each of i…
combineSortFnsarrayChains multiple sort functions into a single comparator: the first function decides the order unless it reports a tie…
compactarrayRemoves all falsy values (`false`, `null`, `undefined`, `0`, `""`, `NaN`) from an array.
compactobjectRemoves all entries with falsy values (`false`, `null`, `undefined`, `0`, `""`, `NaN`) from an object.
comparedateComparison of two dates.
compareversionCompares two semantic version strings according to SemVer 2.0.0 specification Supports: - Core version: MAJOR.MINOR.…
compare (ordering)datenative JS Temporal.PlainDate.compare(a, b) / Temporal.Instant.compare(a, b) (Temporal (Stage 3))
composefunctionComposes functions right-to-left: `compose(f, g)(x)` is equivalent to `f(g(x))`.
consoleLogPromisepromiseReturns a function that logs data to the console and passes it through.
correctFloatnumberCorrects floating-point arithmetic errors by rounding to a given number of significant digits.
countByarrayGroups the elements of an array by the key returned by `keyFn` and returns a record mapping each key to the number of…
countBymapGroups the entries of a Map by a derived key and counts how many fall into each group.
countBysetGroups the values of a Set by a derived key and counts how many fall into each group.
createMutexpromiseCreates a mutex: a lock allowing at most one holder at a time, queueing excess `acquire()` callers in FIFO order.
createSemaphorepromiseCreates a semaphore limiting concurrent access to `permits` holders at a time, queueing excess `acquire()` callers in…
createSortByBooleanFnarrayCreates a sort function for objects by a boolean property.
createSortByDateFnarrayCreates a sort function for objects by date property.
createSortByNaturalFnarrayCreates a sort function for objects by one or more string properties using natural ordering.
createSortByNumberFnarrayCreates a sort function for objects by number property.
createSortByStringFnarrayCreates a sort function for objects by one or more string properties.
curryfunctionTransforms a multi-argument function into a chain of single-argument functions (Haskell-style currying).
daysInMonthdateReturns the number of days in the given month of the given year.
debouncefunctionCreates a debounced function that delays invoking func until after delay milliseconds have elapsed since the last tim…
dedentstringStrips the common leading whitespace from every line of a multi-line string, and trims a single leading/trailing blan…
DeepGettypeResolves the value type at a given `Path` within `T`.
DeepPartialtypeRecursively makes all properties of T optional, including nested objects and array elements.
DeepSettypeProduces the type of `T` after replacing the value at `Path` with `V`.
DeepWritabletypeRecursively removes `readonly` from all properties of T, including nested objects, array elements, and tuple positions.
DEFAULT_PERCENTAGE_TIERSciDefault tiers, geared towards coverage/quality-gate style percentages.
deferpromiseRuns an async function and guarantees that all deferred callbacks are executed afterwards, in LIFO order (last regist…
delaypromiseCreates a promise that resolves after specified delay
diffobjectStructural object diff.
differencearrayReturns the difference between two arrays (items in first array but not in second).
differencedateCalculates the difference between two dates in the specified unit.
differencesetnative JS Set.prototype.difference() (ES2025 (Set methods))
droparraynative JS Array.prototype.slice(n) (ES3)
eachDaydateReturns an array of `Date` objects for each day from `start` to `end` (inclusive).
eachMonthdateReturns an array of `Date` objects for the first day of each month from `start` to `end` (inclusive).
endOfdateReturns a new `Date` set to the **end** of the given unit.
ensureArrayarrayWraps a value in an array if it is not already one.
ensureDatedateSafely converts a date-like value to a valid `Date` object, or returns `null`.
equalsDeeparrayRecursive structural array equality.
equalsDeepobjectRecursive structural object equality.
equalsShallowarrayPositional, one-level (shallow) array equality.
equalsShallowobjectOne-level (shallow) object equality.
equalsUnorderedarrayOrder-independent (set-style) array equality.
escapemarkdownEscapes all Markdown special characters in a string so they render as literal text rather than formatting syntax.
escapeHtmlstringEscapes the HTML special characters `&`, `<`, `>`, `”`, and `’` in a string.
escapeRegExpstringEscapes regular expression metacharacters (`.
everymapChecks if every entry of a Map satisfies the predicate.
extractErrorMessagestringConvert an error to a readable message.
extractNumbernumberExtracts the first number embedded anywhere in a string, or passes through a `number`.
extractPureURIurlExtracts the pure URI from a URL by removing query parameters and fragments.
falsyPromiseOrThrowpromiseReturns a function that passes through falsy data or throws an error.
filtermapCreates a new Map containing only the entries for which the predicate returns true.
filtersetCreates a new Set containing only the values for which the predicate returns true.
filterAsyncarrayThe async counterpart to `Array.prototype.filter`: runs `predicate` for every item and resolves to the items whose pr…
find / findIndexarraynative JS Array.prototype.find() / findIndex() (ES2015)
findKeymapReturns the first key of a Map whose entry satisfies the predicate, in insertion order.
findKey / findValuemapnative JS map.entries().find(([k, v]) => pred(v, k))?.[0 or 1] (ES2025 (Iterator Helpers))
findValuemapReturns the first value of a Map whose entry satisfies the predicate, in insertion order.
flattenobjectFlattens a nested object into a single-level object whose keys are the dot-notation path to each leaf value.
flatten / flatarraynative JS Array.prototype.flat(depth?) (ES2019)
flipfunctionCreates a function that invokes `fn` with the first two arguments swapped.
forEachmapnative JS Map.prototype.forEach((value, key, map) => ...) (ES2015)
forEachsetnative JS Set.prototype.forEach((value, value2, set) => ...) (ES2015)
forEachAsyncarrayThe async counterpart to `Array.prototype.forEach`: runs `fn` for every item for its side effects, discarding any ret…
formatCompactnumberFormats a number using compact notation (e.g.
formatDurationdateFormats a duration in milliseconds as a compact human-readable string.
formatInTimezonedateFormats a date in a specific IANA timezone using `Intl.DateTimeFormat`.
formatProgressBarstringFormats a value as a text progress bar, repeating `filledChar`/`emptyChar` across `width` cells proportional to `valu…
formatSizenumberFormat a byte count into a human-readable string with the appropriate unit.
from (parse temporal string)datenative JS Temporal.Instant.from(str) / Temporal.PlainDate.from(str) / etc. (Temporal (Stage 3))
fromMillisdateCreates a `Date` from a timestamp in **milliseconds**.
fromSecondsdateCreates a `Date` from a timestamp in **seconds**.
getobjectGets a value from an object using a dot/bracket-notated path or explicit key array.
getTimezoneOffsetdateReturns the UTC offset **in minutes** for the given IANA timezone at a specific point in time.
groupBymapnative JS Map.groupBy(map.entries(), ([k, v]) => groupFn(v, k)) (ES2024)
groupByobjectGroups an array of items by a key derived from each item.
groupBysetnative JS Map.groupBy(set.values(), fn) (ES2024)
groupBy / grouparraynative JS Object.groupBy(arr, fn) (ES2024)
guardpromiseWraps a function so that if it throws, a default value is returned instead of propagating the error.
hasobjectnative JS Object.hasOwn(obj, key) (ES2022)
hasValuemapChecks whether a value exists anywhere in a Map (`Map.prototype.has` checks keys, not values).
hasValuemapnative JS map.values().some(v => Object.is(v, value)) (ES2025 (Iterator Helpers))
head / firstarraynative JS Array.prototype.at(0) (ES2022)
hexToRgbcolorParses a hex color string (`#rgb`, `#rgba`, `#rrggbb`, `#rrggbbaa` — the leading `#` is optional) into its RGB(A) cha…
hslToRgbcolorConverts an HSL(A) color into RGB(A).
identityfunctionReturns the given value unchanged Useful as a default transform, in function composition, or as a placeholder mapper.
includesarraynative JS Array.prototype.includes() (ES2016)
incrementversionIncrements a semantic version
incrementPrereleaseversionIncrements the prerelease portion of a semantic version — the semantics `npm version prerelease —preid ` uses, n…
injectWordBreaksstringAdds word-break opportunities to a string so it can wrap cleanly in narrow UI containers such as side panels or table…
inRangenumberChecks whether a number falls within `[min, max]` (both inclusive by default).
intersectionarrayCompute the intersection of two arrays, meaning the elements that are present in both arrays.
intersectionsetnative JS Set.prototype.intersection() (ES2025 (Set methods))
intersectsarraySimple helper that check if two lists shared at least an item in common.
invertobjectReturns a new object with keys and values swapped.
isArrayguardChecks if a value is an array.
isArrayBufferguardChecks if a value is an ArrayBuffer instance.
isArrayLikeguardChecks if a value is array-like: has a non-negative integer `length` property.
isAsyncFunctionguardChecks if a value is an async function.
isAsyncGeneratorguardChecks if a value is an async generator object (the result of calling an `async function*`).
isAsyncGeneratorFunctionguardChecks if a value is an async generator function (an `async function*` declaration or expression).
isAsyncIterableguardChecks if a value implements the async iterable protocol.
isBigIntguardChecks if a value is a bigint.
isBlankstringChecks if a string is blank — empty or contains only whitespace characters.
isBlobguardChecks if a value is a Blob instance.
isBooleanguardChecks if a value is a boolean.
isBrowserguardChecks whether the code is currently running in a browser-like environment (`window` and `window.document` both defin…
isBuffernodeChecks if a value is a Node.js Buffer instance.
isBusinessDaydateChecks whether a date falls on a business day (i.e.
isConventionalCommitcommitChecks whether a commit message’s subject line follows the Conventional Commits format constrained by the given options.
isCssColorguardChecks whether a value is a syntactically-safe, plain CSS color: a hex color (`#rgb`, `#rgba`, `#rrggbb`, `#rrggbbaa`…
isDateguardChecks if a value is a Date instance.
isDefinedguardChecks if a value is defined (not undefined nor null).
isDirectInstanceOftypenative JS value.constructor === Foo (ES1)
isEmptyarrayChecks if an array is empty (has no elements).
isEmptyobjectChecks if a plain object has no own enumerable string-keyed properties.
isEmptystringChecks if a string is empty (`""`), `null`, or `undefined`.
isErrorguardChecks if a value is an Error instance.
isEvennumberChecks if a value is an even integer.
isFalsyguardChecks if a value is falsy (`false`, `null`, `undefined`, `0`, `""`, `NaN`).
isFinite / isFiniteNumbertypenative JS Number.isFinite(value) (ES2015)
isFormDataguardChecks if a value is a FormData instance.
isFunctionguardChecks if a value is a function.
isGeneratorguardChecks if a value is a generator object (the result of calling a `function*`).
isGeneratorFunctionguardChecks if a value is a generator function (a `function*` declaration or expression).
isHtmlElement / isUrlInstance / isUrlSearchParamstypenative JS value instanceof HTMLElement / URL / URLSearchParams (Web API)
isInfinitetypenative JS value === Infinity || value === -Infinity / !Number.isFinite(value) && !Number.isNaN(value) (ES2015)
isIntegertypenative JS Number.isInteger(value) (ES2015)
isIterableguardChecks if a value is iterable (has a `Symbol.iterator` method).
isJSONguardChecks whether a value is a string containing valid, parseable JSON text.
isJSONArrayguardChecks whether a value is an array whose every element is a valid JSON value (see isJSONValue).
isJSONObjectguardChecks whether a value is a plain object whose every own value is a valid JSON value (see isJSONValue).
isJSONValueguardChecks whether a value is composed entirely of JSON-representable types: `string`, finite `number`, `boolean`, `null`…
isLeapYeardateReturns `true` if the given year is a leap year.
isLengthguardChecks whether a value is a valid array-like `length`: a non-negative safe integer (`0 <= value <= Number.MAX_SAFE_IN…
isLight / isDark (pick a readable text color)colornative JS contrast-color(<color>) (CSS Color 6 (Baseline newly available since April 2026 — Chrome 147, Firefox 146, Safari 26.0))
isMapguardChecks if a value is a Map instance.
isNaNtypenative JS Number.isNaN(value) (ES2015)
isNegativenumberChecks if a value is a number less than 0.
isNodeguardChecks whether the code is currently running in a Node.js-like environment (`process.versions.node` is defined — also…
isNodeStreamnodeChecks if a value is a Node.js stream (has a `.pipe()` method).
isNonEmptyarrayChecks if an array is non-empty (has at least one element).
isNonEmptyobjectChecks if a plain object has at least one own enumerable string-keyed property.
isNonEmptystringChecks if a string is non-empty (has at least one character).
isNotBlankstringChecks if a string is not blank — non-empty and contains at least one non-whitespace character.
isNullguardChecks if a value is `null`.
isNullishguardChecks if a value is null or undefined (nullish).
isNumberguardChecks if a value is a number.
isObservableobservableChecks if a value is an RxJS Observable or any compatible observable.
isOddnumberChecks if a value is an odd integer.
isPlainObjectguardChecks if a value is a plain object.
isPositivenumberChecks if a value is a number greater than 0.
isPrereleaseversionReturns `true` when the version string has a prerelease suffix (i.e.
isPrimitiveguardChecks if a value is a JavaScript primitive.
isPromiseguardChecks if a value is a Promise or a thenable.
isPromiseLikeguardChecks if a value is a thenable (has a `.then()` method).
isPropertyKeyguardChecks if a value is a valid property key: `string`, `number`, or `symbol`.
isRegExpguardChecks if a value is a RegExp instance.
isSafeIntegertypenative JS Number.isSafeInteger(value) (ES2015)
isSameDaydateChecks if two dates are the same day.
isSameMonthdateChecks if two dates are in the same month (and year).
isSameYeardateChecks if two dates are in the same year.
isSetguardChecks if a value is a Set instance.
isSet (Set data structure)typenative JS value instanceof Set (ES2015)
isSharedArrayBuffernodeChecks if a value is a `SharedArrayBuffer` instance.
isSpecialObjectguardDetermines if a value is a special object that should not have its properties compared deeply.
isStringguardChecks if a value is a string.
isSymbolguardChecks if a value is a symbol.
isTemporalDurationguardChecks if a value is a `Temporal.Duration`.
isTemporalInstantguardChecks if a value is a `Temporal.Instant`.
isTemporalPlainDateguardChecks if a value is a `Temporal.PlainDate`.
isTemporalPlainDateTimeguardChecks if a value is a `Temporal.PlainDateTime`.
isTemporalPlainTimeguardChecks if a value is a `Temporal.PlainTime`.
isTemporalZonedDateTimeguardChecks if a value is a `Temporal.ZonedDateTime`.
isTimestampguardChecks if a value is a valid timestamp (milliseconds or Unix seconds).
isTimestampInSecondsdateChecks if a timestamp is likely in seconds (Java/Unix style) vs milliseconds (JavaScript style)
isTruthyguardChecks if a value is truthy (not `false`, `null`, `undefined`, `0`, `""`, or `NaN`).
isUndefinedguardChecks if a value is `undefined`.
isValiddateChecks if a value is a valid Date instance (not `Invalid Date`).
isValidDateStringdateChecks whether a string can be parsed into a valid `Date`.
isValidRegexguardChecks if a string is a valid regex pattern.
isWeakMapguardChecks if a value is a WeakMap instance.
isWeakMap / isWeakSet / isWeakReftypenative JS value instanceof WeakMap / WeakSet / WeakRef (ES2015 / ES2021)
isWeakSetguardChecks if a value is a WeakSet instance.
isWeekenddateChecks whether a date falls on a weekend day.
isWithinRangedateChecks whether a date falls within a range (inclusive on both ends).
kebabCasestringConverts a string to kebab-case.
kebabCaseKeysobjectRecursively transforms every key of a plain object (including keys nested inside arrays and nested objects) to kebab-…
keys / valuesobjectnative JS Object.keys() / Object.values() (ES2017)
KeysOfTypetypeExtracts the keys of `T` whose values extend `V`.
lastarraynative JS Array.prototype.at(-1) (ES2022)
leadingSentencestringExtracts the leading sentence from a string.
lerpnumberLinearly interpolates between `start` and `end` by the factor `t`.
lighten / darkencolornative JS color-mix(in oklch, <color> <percent>, white|black) (CSS Color 5 (Baseline widely available since 2023 — Chrome 111, Firefox 113, Safari 16.2))
listTimezonesdateReturns the list of IANA timezone identifiers supported by the runtime.
mapobjectTransforms the values and/or keys of a plain object in a single pass.
mapsetCreates a new Set with each value transformed by a function.
map / filtersetnative JS new Set(set.values().map(fn)) / new Set(set.values().filter(fn)) (ES2025 (Iterator Helpers))
mapAsyncarrayThe async counterpart to `Array.prototype.map`: applies `fn` to every item and resolves to an array of the results, i…
mapDeepobjectRecursively transforms the keys and/or values of a plain object — the deep counterpart to map, which only transforms …
mapKeysmapCreates a new Map with the same values but with each key transformed by a function.
mapValuesmapCreates a new Map with the same keys but with each value transformed by a function.
maxarrayReturns the maximum value in an array using a loop instead of spread, avoiding the call stack overflow that occurs wi…
MaybetypeType for values that can be T, undefined, or null.
meanarrayCalculates the arithmetic mean (average) of an array of numbers.
meanByarrayCalculates the arithmetic mean of numbers derived from each item of an array via an iteratee.
meaningPromiseOrThrowpromiseReturns a function that passes through meaningful data or throws an error.
medianarrayCalculates the median (middle value) of an array of numbers.
memoizefunctionReturns a memoized version of the function that caches results.
merge (shallow)objectnative JS { ...a, ...b } or Object.assign({}, a, b) (ES2015)
mergeDeepobjectMerges two or more objects deeply, returning a **new** object without mutating any input.
minarrayReturns the minimum value in an array using a loop instead of spread, avoiding the call stack overflow that occurs wi…
min / maxnumbernative JS Math.min(...arr) / Math.max(...arr) (ES1)
negatefunctionCreates a function that negates the result of `predicate`.
noopfunctionA no-operation function that does nothing and returns `undefined` Useful as a default callback, placeholder, or to e…
normalizeTimestampdateConverts a timestamp to JavaScript milliseconds format
now (date/time/instant)datenative JS Temporal.Now.instant() / .zonedDateTimeISO() / .plainDateISO() / .plainTimeISO() (Temporal (Stage 3))
NullabletypeAdds `null` to a type (`T | null`).
NullishtypeAdds `null` and `undefined` to a type (`T | null | undefined`).
omitobjectCreates a new object without the specified keys.
omitByobjectCreates a new object without the own enumerable entries for which `predicate` returns `true`.
OmitByValuetypeConstructs a type by omitting all entries of `T` whose values extend `V`.
oncefunctionCreates a function that is restricted to be called only once.
onlyPathurlExtract only the path from an URI with optional query and fragments.
OptionalKeystypeExtracts the optional keys of an object type `T`.
overlapsdateChecks whether two date ranges overlap.
padStart / padEndstringnative JS String.prototype.padStart() / padEnd() (ES2017)
parallelpromiseRuns an array of async functions with a concurrency limit.
parallelSettlepromiseRuns an array of async functions with a concurrency limit, partitioning the outcomes instead of rejecting on the firs…
parseversionParses a semantic version string into its components according to SemVer 2.0.0 specification Supports: - Core versio…
parseConventionalCommitcommitParses a Conventional Commits message into a structured object.
parseDurationdateParses a compact duration string (as produced by formatDuration, e.g.
parsePackageRepositoryurlParse the `repository` field from `package.json` into a structured object.
parsePropertyPathobjectParses a dot/bracket-notation property path into an array of string/number key segments — the same notation accepted …
partialfunctionPartially applies arguments to a function, returning a new function that accepts the remaining arguments.
partitionarraySplits an array into two groups based on a predicate function.
pascalCasestringConverts a string to PascalCase.
pascalCaseKeysobjectRecursively transforms every key of a plain object (including keys nested inside arrays and nested objects) to Pascal…
percentageToTierciMaps a numeric percentage to a tier (icon, color, label) using configurable thresholds.
percentilearrayCalculates the p-th percentile of an array of numbers using linear interpolation between the closest ranks.
pickobjectCreates a new object with only the specified keys.
pickByobjectCreates a new object with only the own enumerable entries for which `predicate` returns `true`.
PickByValuetypeConstructs a type by picking all entries of `T` whose values extend `V`.
pipefunctionComposes functions left-to-right: the output of each function is passed as input to the next.
PrettifytypeFlattens an intersection type into a single readable object type.
randomBetweennumberGenerates a random number between min and max (inclusive)
randomIntBetweennumberGenerates a random integer between min and max (inclusive)
rangearrayGenerates an array of sequential numbers from start to end (exclusive).
reducemapReduces a Map to a single value by applying a function to each entry, in insertion order.
reduce / some / everymapnative JS map.entries().reduce(fn, init) / .some(fn) / .every(fn) (ES2025 (Iterator Helpers))
reduce / some / every / findsetnative JS set.values().reduce(fn, init) / .some(fn) / .every(fn) / .find(fn) (ES2025 (Iterator Helpers))
relativeURLToAbsoluteurlConverts a relative URL to an absolute URL using the current document base URI.
removeDiacriticsstringRemoves diacritical marks (accents) from a string, e.g.
removeUndefinedNullobjectRemove null and undefined values from an object.
repeatstringnative JS String.prototype.repeat() (ES2015)
replaceOrAppendarrayReturns a new array with the first item matching `predicate` replaced by `item` — or `item` appended at the end if no…
RequiredKeystypeExtracts the required (non-optional) keys of an object type `T`.
resolveRecordpromiseResolves an array of keys into a record by calling an async mapper for each key.
retrypromiseRetries a promise-returning function up to maxAttempts times
returnOrThrowErrorfunctionReturn a value or throw an error if null or undefined.
reversearraynative JS Array.prototype.toReversed() (ES2023)
rgbToHexcolorConverts an RGB(A) color into a hex color string.
rgbToHslcolorConverts an RGB(A) color into HSL(A).
roundTonumberRounds a number to specified decimal places
safeFetchpromiseWraps `fetch` with built-in error handling: returns `null` when the request fails (network error, non-OK status, or p…
safeJsonParseobjectParses a JSON string, returning `null` (or a fallback) on any parse failure.
samplearrayPicks one or more random elements from an array.
satisfiesRangeversionChecks if a version satisfies a range (simple implementation)
selectarrayFilters and transforms an array in a single pass.
select / filterMaparraynative JS Array.prototype.filter().map() (ES5)
setobjectSets a value in an object at the given path, creating intermediate objects as needed.
settlepromiseRuns an array of promises concurrently and partitions the outcomes instead of rejecting on the first failure, unlike …
shufflearrayRandomly reorders elements of an array using the Fisher-Yates algorithm.
slugifystringConverts a string into a URL-friendly slug.
snakeCasestringConverts a string to snake_case.
snakeCaseKeysobjectRecursively transforms every key of a plain object (including keys nested inside arrays and nested objects) to snake_…
somemapChecks if at least one entry of a Map satisfies the predicate.
sort (immutable)arraynative JS Array.prototype.toSorted(compareFn?) (ES2023)
sortBy / orderByarraynative JS Array.prototype.toSorted(fn?) (ES2023)
sortKeysobjectCreates a new object with the same entries as the input, but with its own keys sorted.
sortNumberAscFnarraySort numbers in ascending order
sortNumberDescFnarraySort numbers in descending order
sortStringAscFnarraySort strings in ascending order
sortStringAscInsensitiveFnarraySort strings in ascending order (case insensitive)
sortStringDescFnarraySort strings in descending order
sortStringNaturalAscFnarraySort strings in ascending order using natural (human-friendly) ordering.
sortStringNaturalAscInsensitiveFnarraySort strings in ascending natural order, ignoring case **and diacritics** (`Intl.Collator { sensitivity: ‘base’ }` — …
sortStringNaturalDescFnarraySort strings in descending order using natural (human-friendly) ordering.
sortStringNaturalDescInsensitiveFnarraySort strings in descending natural order, ignoring case **and diacritics** (`Intl.Collator { sensitivity: ‘base’ }` —…
startOfdateReturns a new `Date` set to the **start** of the given unit.
startsWith / endsWithstringnative JS String.prototype.startsWith() / endsWith() (ES2015)
statusToBadgeciMaps a CI/CD job status to an inline code badge string.
statusToIconciMaps a CI/CD job status to an emoji icon.
stringifyversionReconstruct a semantic version string from a ParsedVersion object.
stripVversionStrip the leading “v” from a version string if it exists.
sumarrayCalculates the sum of an array of numbers.
sumByarrayCalculates the sum of numbers derived from each item of an array via an iteratee.
symmetricDifferencearrayReturns the symmetric difference between two arrays: items present in exactly one of the two arrays (in either, but n…
symmetricDifferencesetnative JS Set.prototype.symmetricDifference() (ES2025 (Set methods))
tailarraynative JS Array.prototype.slice(1) (ES3)
takearraynative JS Array.prototype.slice(0, n) (ES3)
templatestringInterpolates `{{key}}` placeholders in a template string with values from a data record.
throttlefunctionCreates a throttled function that only invokes func at most once per every wait milliseconds
timeAgodateFormats a date as a human-readable relative time string.
timeoutpromiseWraps a promise to reject with a `TimeoutError` if it does not resolve within the specified duration.
titleCasestringConverts a string to Title Case.
titleCaseKeysobjectRecursively transforms every key of a plain object (including keys nested inside arrays and nested objects) to Title …
togglearrayReturns a new array with `item` removed if present, or appended if absent — the common “toggle a selection” pattern.
toInt / toFloatnumbernative JS parseInt(str, 10) / parseFloat(str) (ES1)
toISO8601dateConverts a date to ISO 8601 format Format: YYYY-MM-DDTHH:mm:ss.sssZ
toMapByKeymapBuilds a Map from an iterable of items, keyed by a derived key.
toMapByKeysetBuilds a Map from a Set, keyed by a derived key.
toMillisdateConverts a date to a timestamp in **milliseconds** (epoch millis).
toPairs / fromPairsobjectnative JS Object.entries() / Object.fromEntries() (ES2019)
toPlainDate / toPlainDateTime / toPlainTimedatenative JS Temporal.ZonedDateTime.prototype.toPlainDate() / toPlainDateTime() / toPlainTime() (Temporal (Stage 3))
toRFC2822dateConverts a date to RFC 2822 format Format: Day, DD Mon YYYY HH:mm:ss +0000 Used in email headers (Date field) and HTT…
toRFC3339dateConverts 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…
toSecondsdateConverts a date to a timestamp in **seconds** (epoch seconds).
toTemporalInstantdatenative JS Date.prototype.toTemporalInstant() (Temporal (Stage 3))
toZonedDateTimedatenative JS Temporal.Instant.prototype.toZonedDateTimeISO(tz) (Temporal (Stage 3))
trim / trimStart / trimEndstringnative JS String.prototype.trim() / trimStart() / trimEnd() (ES2019)
truncatestringTruncates a string to `maxLength` characters, appending an ellipsis when cut.
truthyPromiseOrThrowpromiseReturns a function that passes through truthy data or throws an error.
tryitpromiseWraps a function so it never throws.
TypedArrays (isInt8Array, isFloat32Array, ...)typenative JS value instanceof Int8Array / Float32Array / ... (ES2015)
unaryfunctionCreates a function that calls `fn` with only its first argument, discarding any others.
unescapeHtmlstringUnescapes the HTML entities `&`, `<`, `>`, `”`, and `&#39;` back to `&`, `<`, `>`, `”`, and `’`.
unflattenobjectRebuilds a nested object from a single-level object whose keys are dot-notation paths.
unionarraynative JS unique([...a, ...b]) (ES2015)
unionsetnative JS Set.prototype.union() (ES2025 (Set methods))
UnionToIntersectiontypeConverts a union type to an intersection type: `A | B | C` → `A & B & C`.
uniquearrayRemoves duplicate values from an array.
unsetobjectRemoves the value at a dot/bracket-notation path or explicit key array, mutating the object in place.
until / since (difference)datenative JS Temporal.PlainDate.prototype.until(other) / .since(other) (Temporal (Stage 3))
unziparraySplits an array of tuples into separate arrays, one per position.
updateobjectUpdates the value at a path by applying a function to its current value, creating intermediate objects as needed.
uuid7idGenerates a UUID v7 string (RFC 9562).
ValueOftypeProduces a union of all value types of an object type `T`.
WeekDaysdateNamed day-of-week constants following the JavaScript `Date.getDay()` convention.
withAlpha (change the alpha channel of an existing color)colornative JS rgb(from <color> r g b / <alpha>) (CSS Color 5 relative color syntax (Baseline widely available since September 2024 — Chrome 119+))
withLeadingSlashurlAdds a leading slash `/` to the given URL if it is not already present.
withoutarrayReturns a new array with all occurrences of the given values removed.
withoutLeadingSlashurlRemoves the leading slash `/` from the given URL if it is present.
withoutTrailingSlashurlRemoves the trailing slash `/` from the given URL if it is present.
withResolverspromisenative JS Promise.withResolvers() (ES2024)
withTrailingSlashurlAdds a trailing slash `/` to the given URL if it is not already present.
wordsstringSplits a string into an array of words.
ziparrayCombines multiple arrays element-by-element into an array of tuples.