All Functions
All Functions
Section titled “All Functions”168 implemented helpers + 40 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. |
buildConventionalCommitRegex | commit | Builds a regular expression matching the subject line of a Conventional Commits message. |
camelCase | string | Converts kebab-case to camelCase |
capitalize | string | Capitalizes the first letter of a string |
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. |
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 i… |
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.… |
compare (ordering) | date | native JS Temporal.PlainDate.compare(a, b) / Temporal.Instant.compare(a, b) (Temporal (Stage 3)) |
consoleLogPromise | promise | Returns a function that logs data to the console and passes it through. |
createSortByDateFn | array | Creates a sort function for objects by date property |
createSortByNumberFn | array | Creates a sort function for objects by number property |
createSortByStringFn | array | Creates a sort function for objects by string property |
dateToISOString | date | Formats a date to ISO string or returns null. |
daysDifference | date | Gets the difference in days between two dates. |
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 tim… |
deepClone | object | Creates a deep copy of an object or array |
deepCompare | object | Deep comparison of two objects that returns detailed information about differences. |
deepEquals | array | Deep comparison of two arrays that only returns true or false. |
deepMerge | object | Merges two or more objects deeply |
delay | promise | Creates a promise that resolves after specified delay |
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. |
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. |
equals | array | Simple helper that checks if two lists are identical. |
extractErrorMessage | string | Convert an error to a readable message. |
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. |
find / findIndex | array | native JS Array.prototype.find() / findIndex() (ES2015) |
flatten / flat | array | native JS Array.prototype.flat(depth?) (ES2019) |
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. |
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-notated path |
getTimezoneOffset | date | Returns the UTC offset in minutes for the given IANA timezone at a specific point in time. |
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) |
head / first | array | native JS Array.prototype.at(0) (ES2022) |
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 |
injectWordBreaks | string | Adds word-break opportunities to a string so it can wrap cleanly in narrow UI containers such as side panels or table… |
intersection | array | Compute the intersection of two arrays, meaning the elements that are present in both arrays. |
isArray | type | Checks if a value is an array. |
isArrayBuffer | type | Checks if a value is an ArrayBuffer instance. |
isAsyncFunction | type | Checks if a value is an async function. |
isBigInt | type | Checks if a value is a bigint. |
isBlob | type | Checks if a value is a Blob instance. |
isBoolean | type | Checks if a value is a boolean. |
isBuffer | type | 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. |
isDate | type | Checks if a value is a Date instance. |
isDefined | type | Checks if a value is defined (not undefined nor null). |
isDirectInstanceOf | type | native JS value.constructor === Foo (ES1) |
isEmpty | type | Checks if a value is empty. |
isError | type | Checks if a value is an Error instance. |
isFalsy | type | Checks if a value is falsy (false, null, undefined, 0, "", NaN). |
isFinite / isFiniteNumber | type | native JS Number.isFinite(value) (ES2015) |
isFormData | type | Checks if a value is a FormData instance. |
isFunction | type | Checks if a value is a function. |
isHtmlElement / isUrlInstance / isUrlSearchParams | type | native JS value instanceof HTMLElement / URL / URLSearchParams (Web API) |
isInteger | type | native JS Number.isInteger(value) (ES2015) |
isIterable | type | Checks if a value is iterable (has a Symbol.iterator method). |
isLeapYear | date | Returns true if the given year is a leap year. |
isMap | type | Checks if a value is a Map instance. |
isNaN | type | native JS Number.isNaN(value) (ES2015) |
isNegativeNumber | type | Checks if a value is a number less than 0. |
isNonEmptyArray | type | Checks if a value is a non-empty array (length > 0). |
isNonEmptyString | type | Checks if a value is a non-empty string (length > 0). |
isNull | type | Checks if a value is null. |
isNullish | type | Checks if a value is null or undefined (nullish). |
isNumber | type | Checks if a value is a number. |
isPlainObject | type | Checks if a value is a plain object. |
isPositiveNumber | type | 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 | type | Checks if a value is a JavaScript primitive. |
isPromise | type | Checks if a value is a Promise or a thenable. |
isRegExp | type | 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 (Set data structure) | type | native JS value instanceof Set (ES2015) |
isSpecialObject | type | Determines if a value is a special object that should not have its properties compared deeply. |
isString | type | Checks if a value is a string. |
isSymbol | type | Checks if a value is a symbol. |
isTemporalDuration | type | Checks if a value is a Temporal.Duration. |
isTemporalInstant | type | Checks if a value is a Temporal.Instant. |
isTemporalPlainDate | type | Checks if a value is a Temporal.PlainDate. |
isTemporalPlainDateTime | type | Checks if a value is a Temporal.PlainDateTime. |
isTemporalPlainTime | type | Checks if a value is a Temporal.PlainTime. |
isTemporalZonedDateTime | type | Checks if a value is a Temporal.ZonedDateTime. |
isTimestamp | type | 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 | type | Checks if a value is truthy (not false, null, undefined, 0, "", or NaN). |
isUndefined | type | Checks if a value is undefined. |
isValidDate | type | 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 | type | Checks if a string is a valid regex pattern. |
isWeakMap / isWeakSet / isWeakRef | type | native JS value instanceof WeakMap / WeakSet / WeakRef (ES2015 / ES2021) |
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 camelCase to kebab-case |
keys / values | object | native JS Object.keys() / Object.values() (ES2017) |
last | array | native JS Array.prototype.at(-1) (ES2022) |
listTimezones | date | Returns the list of IANA timezone identifiers supported by the runtime. |
meaningPromiseOrThrow | promise | Returns a function that passes through meaningful data or throws an error. |
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) |
min / max | number | native JS Math.min(...arr) / Math.max(...arr) (ES1) |
noop | function | A no-operation function that does nothing and returns undefined Useful as a default callback, placeholder, or to e… |
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)) |
omit | object | Creates a new object without the specified keys. |
oneInCommon | array | Simple helper that check if two lists shared at least an item in common. |
onlyPath | url | Extract only the path from an URI with optional query and fragments. |
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. |
parse | version | Parses a semantic version string into its components according to SemVer 2.0.0 specification Supports: - Core versio… |
parseConventionalCommit | commit | Parses a Conventional Commits message into a structured object. |
parsePackageRepository | url | Parse the repository field from package.json into a structured object. |
partition | array | Splits an array into two groups based on a predicate function. |
pascalCase | string | Converts a string to PascalCase. |
pick | object | Creates a new object with only the specified keys. |
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). |
relativeURLToAbsolute | url | Converts a relative URL to an absolute URL using the current document base URI. |
removeUndefinedNull | object | Remove null and undefined values from an object. |
repeat | string | native JS String.prototype.repeat() (ES2015) |
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) |
roundTo | number | Rounds a number to specified decimal places |
safeDate | date | Safely creates a Date object from various input types. |
safeJsonParse | object | Parses a JSON string, returning null (or a fallback) on any parse failure. |
sample | array | Picks one or more random elements from an array. |
satisfiesRange | version | Checks if a version satisfies a range (simple implementation) |
set | object | Sets a value in an object using a dot-notated path |
shallowEquals | array | Quick comparison of two arrays using JSON.stringify. |
shallowEquals | object | Quick comparison of two objects using JSON.stringify. |
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. |
sortBy / orderBy | array | native JS Array.prototype.toSorted(fn?) (ES2023) |
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 |
startOf | date | Returns a new Date set to the start of the given unit. |
startsWith / endsWith | string | native JS String.prototype.startsWith() / endsWith() (ES2015) |
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 | number | Calculates the sum of an array of numbers. |
tail | array | native JS Array.prototype.slice(1) (ES3) |
take | array | native JS Array.prototype.slice(0, n) (ES3) |
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. |
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 |
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 HTT… |
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… |
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 / trimStart / trimEnd | string | native JS String.prototype.trim() / trimStart() / trimEnd() (ES2019) |
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) |
unique | array | Removes duplicate values from an array |
until / since (difference) | date | native JS Temporal.PlainDate.prototype.until(other) / .since(other) (Temporal (Stage 3)) |
uuid7 | math | Generates a UUID v7 string (RFC 9562). |
WeekDays | date | Named day-of-week constants following the JavaScript Date.getDay() convention. |
withLeadingSlash | url | Adds a leading slash / to the given URL if it is not already present. |
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. |