All Functions
All Functions
Section titled “All Functions”464 implemented helpers + 60 covered by native JavaScript APIs, sorted alphabetically.
| Function | Category | Description |
|---|---|---|
AbortSignalLike | type | What helpers4 needs of an `AbortSignal`: whether it is aborted, why, and a way to listen for the abort. |
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. |
agree | license | Whether two raw license strings agree closely enough to count as “no real conflict” — true when their family sets share… |
AlpineDependency | package | One package reference of an Alpine (apk) `depends` list. |
AlpineOperator | package | The operators of an Alpine (apk) version constraint, as apk writes them: the five comparisons; |
analyzeCommits | commit | Analyses a list of commits to suggest a semantic version bump. |
applyToPoint | geometry | Transforms a point by a matrix. |
applyToRect | geometry | Transforms a rectangle by a matrix and returns its bounding box: the smallest axis-aligned rectangle that contains it. |
ArchDependency | package | One package reference of an Arch Linux `depends` array. |
argbToRgb | color | Converts a 32-bit packed ARGB integer (as used by e.g. |
blendColors | color | Composites a source color over a backdrop with a blend mode, as the browser does for `mix-blend-mode` (W3C Compositing… |
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 version strings, according to the given `scheme`. |
compare (ordering) | date | native JS Temporal.PlainDate.compare(a, b) / Temporal.Instant.compare(a, b) (Temporal (Stage 3)) |
ComparisonOperator | package | The operators of an RPM or Arch Linux version constraint. |
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. |
contains | geometry | Whether a point or a rectangle is inside a rectangle. |
contrastRatio | color | Computes the WCAG 2 contrast ratio between two colors, from 1 (identical) to 21 (black on white). |
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. |
createBackStack | structure | Creates a back stack: a stack that always has a current entry (the one on top), with the previous ones underneath to go… |
createByteReader | binary | Creates a cursor over bytes, for decoding binary formats: fixed-size integers and floats, LEB128 varints (signed ones z… |
createByteWriter | binary | Creates a growable buffer to encode binary formats: the counterpart of createByteReader, with the same types, byte orde… |
createCachedResolver | function | Creates a lazy, cached resolver: `resolve(key)` computes and caches `compute(key)` the first time a given key is seen,… |
createFileStore | browser | Creates a file store on a named Cache API cache: keep a computed set of files (a bake, a download, extracted layers) un… |
createGlobMatcher | string | createMatcher with every string read as a glob (`*`, `?`): no string is ever taken for a regular expression, so it neve… |
createMatcher | string | Turns user-supplied filters (a setting, a CLI flag, a list of rules) into one predicate. |
createMutex | promise | Creates a mutex: a lock allowing at most one holder at a time, queueing excess `acquire()` callers in FIFO order. |
createRegexMatcher | string | createMatcher with every string read as the source of a regular expression, without slashes or flags (`’^(Home|Login)$’… |
createSafeMatcher | string | Like createMatcher, but returns `null` instead of throwing when a string pattern is an invalid regular expression, to r… |
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. |
createUnionFind | structure | Creates a disjoint-set (union-find) structure: tracks a partition of items into non-overlapping sets, merging two sets… |
cubicBezier | animation | Builds the easing function of CSS `cubic-bezier(x1, y1, x2, y2)`: given the progress of time (`0` to `1`), it returns t… |
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. |
DebianDependency | package | One package reference of a Debian relationship field: `name[:arch] [(op version)] [[archs]] [ |
DebianDependencyOptions | package | Options of the Debian format of parseDependencies. |
DebianOperator | package | The operators of a Debian version constraint (Debian Policy 7.1): `<<` (strictly earlier), `<=`, `=`, `>=` and `>>` (st… |
debounce | function | Creates a debounced function that delays invoking func until after delay milliseconds have elapsed since the last time… |
decodeImage | browser | Loads an image and waits until it is decoded, so it can be painted without a flash or a decoding pause (e.g. |
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 |
deobfuscate | string | Reverses obfuscate. |
DependencyConstraint | package | A version constraint such as the `(>= 2.34)` of `libc6 (>= 2.34)`, with the operator spelled as the format spells it. |
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)) |
distance | geography | Great-circle distance between two WGS84 points, in kilometres (haversine formula, mean Earth radius of 6371 km). |
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). |
ellipsePath | geometry | The path of the ellipse that fills a box, as SVG path data: two half-turn arcs. |
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. |
excerpt | string | Derives a short, readable excerpt from a longer text — for a card/header/preview where a full paragraph doesn’t fit. |
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. |
families | license | Groups a raw, possibly compound license string into its coarse family set — e.g. |
fetchJson | fetch | Fetches a URL and returns its parsed JSON body, retrying transient failures. |
fetchJson | promise | Fetches a URL and returns its parsed JSON body, retrying transient failures (network errors, `5xx` and `429`). |
fetchOrThrow | fetch | Wraps `fetch` so that a non-2xx response rejects with an HttpError, instead of resolving like any other response — the… |
fetchOrThrow | promise | Wraps `fetch` so that a non-2xx response rejects with an HttpError. |
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)) |
findMap | array | Returns the first non-`undefined` result of mapping `fn` over `array`, short-circuiting as soon as one is found. |
findValue | map | Returns the first value of a Map whose entry satisfies the predicate, in insertion order. |
fit | geometry | Places content in a box like CSS `object-fit` and `object-position`, e.g. |
fitContain | geometry | Places content in a box, as large as possible while staying entirely inside the box (CSS `object-fit: contain`). |
fitCover | geometry | Places content in a box, as small as possible while covering the whole box (CSS `object-fit: cover`). |
fitFill | geometry | Places content in a box, stretched to the box on each axis, without keeping its proportions (CSS `object-fit: fill`). |
fitNone | geometry | Places content in a box, at its own size, only positioned (CSS `object-fit: none`). |
fitScaleDown | geometry | Places content in a box, like fitContain, but never enlarged (CSS `object-fit: scale-down`). |
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… |
format | date | Formats a date as a short label that does not depend on the machine: UTC, English, and `Jul 27, 2026` by default. |
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`. |
formatPartial | date | Formats a partial ISO date at the precision it was given, in UTC: a year alone is approximate and reads `c. |
formatPath | geometry | Writes path commands back as SVG path data: letters and numbers separated by single spaces, numbers rounded to `precisi… |
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. |
frameLoop | animation | Calls `onFrame` once per animation frame with the time elapsed since the start, until it returns `false` or the loop is… |
from (parse temporal string) | date | native JS Temporal.Instant.from(str) / Temporal.PlainDate.from(str) / etc. (Temporal (Stage 3)) |
fromBase64 | string | Decodes Base64 text. |
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. |
globToRegExp | string | Compiles a glob pattern into a `RegExp` that matches the whole string. |
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… |
hsbToRgb | color | Converts an HSB(A) color (also called HSV), as shown by design tool color pickers, into RGB(A). |
hslToCss | color | Formats an HSL(A) color as a CSS `hsl()` value, in the modern space-separated syntax. |
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. |
identity | geometry | The matrix that changes nothing. |
includes | array | native JS Array.prototype.includes() (ES2016) |
increment | version | Increments a version, according to the given `scheme`. |
incrementPrerelease | version | Increments the prerelease portion of a version, according to the given `scheme` — the semantics `npm version prerelease… |
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). |
interpolate | animation | Blends two values of the same shape: every number goes from its value in `from` (`t = 0`) to its value in `to` (`t = 1`… |
intersection | array | Compute the intersection of two arrays, meaning the elements that are present in both arrays. |
intersection | geometry | The area two rectangles have in common. |
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. |
intersects | geometry | Whether two rectangles have an area in common, exactly when intersection returns a rectangle: rectangles that only touc… |
invert | geometry | The matrix that undoes `m`, e.g. |
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. |
isCanonicalJson | guard | Checks whether a value is a string that is already canonical JSON (RFC 8785, JSON Canonicalization Scheme) — byte for b… |
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. |
isExternal | url | Whether a link points to another origin than `base`: an absolute `http(s)` URL or a protocol-relative one (`//host/path… |
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). |
isHostname | guard | Checks whether a value is a syntactically valid DNS hostname (RFC 952, RFC 1123, RFC 3696 section 2). |
isHtmlElement / isUrlInstance / isUrlSearchParams | type | native JS value instanceof HTMLElement / URL / URLSearchParams (Web API) |
isIJson | guard | Checks whether a value is a string holding I-JSON (RFC 7493, the Internet JSON message format): strict JSON that every… |
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. |
isJson5 | guard | Checks whether a value is a string holding valid JSON5 (JSON5 1.0.0) — JSON with comments, trailing commas, unquoted ke… |
isJSONArray | guard | Checks whether a value is an array whose every element is a valid JSON value (see isJSONValue). |
isJsonc | guard | Checks whether a value is a string holding valid JSONC — JSON with comments and trailing commas, the dialect of `tsconf… |
isJSONObject | guard | Checks whether a value is a plain object whose every own value is a valid JSON value (see isJSONValue). |
isJsonSequence | guard | Checks whether a value is a string holding a valid JSON text sequence (RFC 7464, `application/json-seq`): records that… |
isJSONValue | guard | Checks whether a value is composed entirely of JSON-representable types: `string`, finite `number`, `boolean`, `null`,… |
isKnown | license | Whether a raw license string resolves to at least one recognized family — `false` for an empty string, a purely non-inf… |
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) |
isNdjson | guard | Checks whether a value is a string holding valid newline-delimited JSON — one strict JSON value per line, as NDJSON and… |
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. |
isoWeek | date | ISO 8601 week of a date: weeks start on Monday and week 1 is the one that contains the first Thursday of the year, so t… |
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, according to the given `scheme`. |
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`). |
isValid | version | Whether `version` is a valid version in the given `scheme`. |
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) |
isWeakMapKey | guard | Checks whether a value can be used as a key in a `WeakMap` (or a `WeakSet` member / `WeakRef` target) — an object, a fu… |
isWeakSet | guard | Checks if a value is a WeakSet instance. |
isWeekend | date | Checks whether a date falls on a weekend day. |
isWithinDistance | geography | Whether a point lies within a radius of a center, the border included. |
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`. |
levenshteinDistance | string | Levenshtein edit distance between two strings — the minimum number of single-character insertions, deletions, or substi… |
levenshteinSimilarity | string | Normalized Levenshtein similarity between two strings, in `[0, 1]` — `1` means identical, `0` means completely dissimil… |
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. |
loadFont | browser | Loads a font and registers it in `document.fonts`, so CSS and canvas can use `family` right away. |
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. |
mapSettled | array | Like mapAsync, but never rejects: each item gets its own result, in the shape of `Promise.allSettled`, so one failure d… |
mapValues | map | Creates a new Map with the same keys but with each value transformed by a function. |
matchesMedia | browser | Whether the document currently matches a CSS media query. |
matchGlob | string | Whether `text` matches a glob pattern in full: `*` matches any run of characters, `?` exactly one. |
matrixToCss | geometry | Writes a matrix as a CSS `transform` or SVG `transform` value. |
max | array | Returns the maximum value in an array using a loop instead of spread, avoiding the call stack overflow that occurs with… |
maxBy | array | Returns the element of an array with the greatest derived key, computed by `keyFn`. |
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. |
mediaTypeOf | binary | Finds the media type of an image from its first bytes (its magic number), whatever its name says: PNG, JPEG, GIF, WebP,… |
mediaTypeOfPath | binary | Finds the media type of a file from the extension of its path or URL: images, fonts, web documents, scripts and styles,… |
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) |
minBy | array | Returns the element of an array with the smallest derived key, computed by `keyFn`. |
mixColors | color | Mixes two colors in sRGB, as CSS `color-mix(in srgb, color P%, base)` does: `percent`% of `color` and the rest of `base… |
multiply | geometry | Multiplies matrices, in the mathematical order: the last one applies first. |
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`). |
obfuscate | string | Hides a text from anything that reads the raw page source: the text is reversed (by Unicode code point, so emoji stay w… |
observeIntersection | browser | Calls `callback` each time `element` enters or leaves the viewport (or `options.root`), with an `IntersectionObserver`… |
observeResize | browser | Calls `callback` each time the size of `element` changes, with a `ResizeObserver` dedicated to it. |
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. |
onPointerIntent | browser | Tells a tap from a drag, and hover from touch, on one element: the pointer-event logic every draggable or clickable wid… |
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) |
paginate | promise | Collects every item of a paginated source by requesting pages one after the other, from page 1, until the source runs o… |
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 | json | Parses JSON permissively: strict JSON, JSONC (the dialect of `tsconfig.json` and VS Code’s `settings.json`, also known… |
parse | version | Parses a version string into its components, according to the given `scheme`. |
parseConventionalCommit | commit | Parses a Conventional Commits message into a structured object. |
parseDeb822 | package | Parses a deb822 document, the format of Debian `Packages`, `Sources` and `Release` indexes, `control` and `.dsc` and `.… |
parseDependencies | package | Parses the value of a package dependency field (`Depends`, `Requires`, `depends`, …) into a structure: groups of alte… |
parseDuration | date | Parses a compact duration string (as produced by formatDuration, e.g. |
ParsedVersion | version | A version parsed according to SemVer 2.0.0 — alias of ParsedSemVerVersion, kept under this name for backward compatibil… |
parseEasing | animation | Reads a CSS easing into an easing function, to play in JavaScript the timing a stylesheet or a design tool export descr… |
parseLines | json | Parses newline-delimited JSON — one JSON value per line. |
parsePackageRepository | url | Parse the `repository` field from `package.json` into a structured object. |
parsePartial | date | Parses an ISO date that may only be known to the year or the month: `YYYY`, `YYYY-MM` or `YYYY-MM-DD`. |
parsePath | geometry | Parses SVG path data (the `d` attribute) into commands, as written: the letters keep their case (absolute or relative),… |
parsePatternOrRegExp | string | Reads a setting that is either a regular expression or a glob: `/source/flags` is a regular expression when every flag… |
parsePropertyPath | object | Parses a dot/bracket-notation property path into an array of string/number key segments — the same notation accepted by… |
parseSequence | json | Parses a JSON text sequence (RFC 7464, `application/json-seq`): records that each start with the ASCII record separator… |
parseStrict | json | Parses strict JSON (RFC 8259) — exactly what `JSON.parse` accepts, nothing more. |
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… |
Pep508Dependency | package | One requirement of a PEP 508 dependency specification. |
Pep508Operator | package | The operators of a PEP 440 version specifier, as PEP 508 requirements use them. |
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`. |
pickClosest | font | Picks the face that CSS would use for a request, among the faces of one family: the CSS Fonts Level 4 matching algorith… |
pipe | function | Composes functions left-to-right: the output of each function is passed as input to the next. |
prefersReducedMotion | browser | Whether the user asked the system to reduce motion (`prefers-reduced-motion: reduce`). |
preloadImages | browser | Loads and decodes several images with decodeImage, a few at a time, with `mapSettled` from `helpers4/array`. |
premultiply | color | Multiplies the color channels by the alpha channel (premultiplied alpha), the form compositing and GPU blending work in. |
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). |
rectToRect | geometry | The translation and scale that put one rectangle exactly on another, for animating or fitting between two boxes. |
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)) |
reflectAttribute | browser | Defines a property on `element` that is backed by an HTML attribute — what a custom element needs for `<my-card heading… |
relativeLuminance | color | Computes the WCAG 2.x relative luminance of a color: the perceived brightness from 0 (black) to 1 (white), after linear… |
relativeURLToAbsolute | url | Converts a relative URL to an absolute URL, using `base` when given, or else the current document base URI (and the win… |
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… |
requestWorker | browser | Runs one job in a module worker: starts it, posts the request, relays its progress, resolves with its result and ends i… |
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 until it succeeds or runs out of attempts, then rejects with the last error, waiti… |
returnOrThrowError | function | Return a value or throw an error if null or undefined. |
reverse | array | native JS Array.prototype.toReversed() (ES2023) |
reverseSortFn | array | Reverses the order of a sort function: `reverseSortFn(fn)(a, b)` is `fn(b, a)`. |
rgbToCss | color | Formats an RGB(A) color as a CSS `rgb()` value, in the modern space-separated syntax that every current browser and SVG… |
rgbToHex | color | Converts an RGB(A) color into a hex color string. |
rgbToHsb | color | Converts an RGB(A) color into HSB(A), the model design tools (Figma, Sketch, XD) show in their color pickers. |
rgbToHsl | color | Converts an RGB(A) color into HSL(A). |
rgbToUnit | color | Converts an RgbColor (channels from `0` to `255`) into a color whose channels are floats from `0` to `1`, the way Figma… |
rotate | geometry | A matrix that rotates points around the origin. |
roundedRectPath | geometry | The path of a rectangle with a radius per corner, as SVG path data. |
roundTo | number | Rounds a number to specified decimal places |
RpmDependency | package | One package reference of an RPM `Requires` field. |
safeFetch | fetch | Wraps `fetch` with built-in error handling: returns `null` when the request fails (network error, non-OK status, or par… |
safeFetch | promise | Wraps `fetch` and returns `null` when the request fails (network error, non-OK status, or parse error) instead of throw… |
safeJsonParse | object | Parses a JSON string, returning `null` (or a fallback) on any parse failure. |
safeParse | json | Parses JSON permissively like parse — strict JSON, JSONC (HuJSON, JWCC) and JSON5 — but returns `null` (or `fallback`)… |
safeParseLines | json | Parses newline-delimited JSON (NDJSON, JSON Lines) like parseLines, but returns `null` (or `fallback`) instead of throw… |
safeParseSequence | json | Parses a JSON text sequence (RFC 7464) like parseSequence, but returns `null` (or `fallback`) instead of throwing on in… |
safeParseStrict | json | Parses strict JSON like parseStrict, but returns `null` (or `fallback`) instead of throwing on invalid input. |
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, according to the given `scheme` (simple implementation — see each scheme’s own d… |
scale | geometry | A matrix that scales points from the origin. |
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… |
sha256Hex | browser | The SHA-256 digest of some data as a hexadecimal string, optionally cut short: a compact content key, not a security ch… |
shuffle | array | Randomly reorders elements of an array using the Fisher-Yates algorithm. |
simplifyPolyline | geometry | Removes the points of a polyline that change its shape by less than `tolerance`, with the Ramer–Douglas–Peucker algorit… |
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… |
sortVersions | version | Sorts version strings by version, not by text (`1.10.0` after `1.9.0`), in the given scheme: the same as `versions.sort… |
spring | animation | Simulates a damped spring going from `0` to `1`, the curve behind “spring” transitions of design tools, and computes ho… |
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. |
steps | animation | Builds the easing function of CSS `steps(count, position)`: progress moves by jumps instead of continuously, for frame-… |
stringify | json | Serializes a value to JSON text — pretty-printed with 2 spaces by default, or canonical. |
stringify | version | Reconstructs a version string from a AnyParsedVersion object — the scheme is read from the object’s own `scheme` field,… |
stringifyDependencies | package | Writes dependency groups back as a field value, the inverse of parseDependencies; |
stringifyForHtml | json | Serializes a value to compact JSON that is safe to inline in an HTML page, typically in a `<script type=“application/js… |
stringifyLines | json | Serializes values as newline-delimited JSON — one compact JSON value per line, each followed by `\n`. |
stringifySequence | json | Serializes values as a JSON text sequence (RFC 7464, `application/json-seq`): each value is written as the ASCII record… |
stripHtml | string | Plain text of an HTML fragment: tags removed, ` |
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 Call `cancel()`, or abort… |
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… |
toBase64 | string | Encodes a string (as UTF-8) or raw bytes to Base64, without relying on `btoa` or `Buffer`, so it behaves the same in a… |
toCssLinear | animation | Samples an easing function into a CSS `linear()` easing, so any curve (a spring, a custom bounce) can be played by CSS… |
toggle | array | Returns a new array with `item` removed if present, or appended if absent — the common “toggle a selection” pattern. |
toHex | binary | Writes bytes as lowercase hexadecimal, two digits per byte. |
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)) |
transformPath | geometry | Transforms SVG path data by a matrix. |
translate | geometry | A matrix that moves points by `(tx, ty)`. |
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. |
tween | animation | Animates a value from `from` to `to` over `durationMs`, calling `onUpdate` with the blended value at each frame, for wh… |
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 `'` 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 | geometry | The smallest rectangle that contains all the given rectangles, e.g. |
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. |
uniqueBy | array | Removes duplicate items from an array, using a derived key instead of value equality. |
unitToRgb | color | Converts a color whose channels are floats from `0` to `1` (as Figma, Sketch and Penpot store them) into an RgbColor, w… |
unorderedPairKey | string | Builds a canonical, order-independent key for an unordered pair of strings — the same result for `(a, b)` and `(b, a)`. |
unpremultiply | color | Divides the color channels by the alpha channel: the inverse of premultiply. |
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`. |
watchMedia | browser | Calls `listener` each time a CSS media query starts or stops matching. |
WeekDays | date | Named day-of-week constants following the JavaScript `Date.getDay()` convention. |
whenIdle | browser | Runs `callback` when the browser is idle, with `requestIdleCallback`, for work that can wait (prefetching, analytics, w… |
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) |
withTempDir | node | Creates a fresh temporary directory under the OS temp root, runs `fn` with its path, and always removes it (recursively… |
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. |
zigzagDecode | binary | The inverse of zigzagEncode: maps an unsigned 64-bit zigzag value back to the signed integer. |
zigzagEncode | binary | Maps a signed 64-bit integer to an unsigned one so that values near zero stay small (`0, -1, 1, -2` become `0, 1, 2, 3`… |
zip | array | Combines multiple arrays element-by-element into an array of tuples. |
