import * as fathymCommon from "https://deno.land/x/fathym_common@v0.0.185/src/src.deps.ts";
Pure functions for common tasks around collection types like arrays and objects.
Heavily inspired by Kotlin's Collections package.
import { intersect } from "https://deno.land/std@0.224.0/collections/intersect.ts";
const lisaInterests = ["Cooking", "Music", "Hiking"];
const kimInterests = ["Music", "Tennis", "Cooking"];
intersect(lisaInterests, kimInterests); // [ "Cooking", "Music" ]
Classes
Transforms server-sent message objects into strings for the client. |
Variables
Contains the | |
A record of all the status codes text. | |
Functions
Applies the given aggregator to each group in the given grouping, returning the results together with the respective group keys | |
Transforms the given array into a Record, extracting the key of each element using the given selector. If the selector produces the same key for multiple elements, the latest one will be used (overriding the ones before it). | |
Builds a new Record using the given array as keys and choosing a value for each key using the given selector. If any of two pairs would have the same value the latest on will be used (overriding the ones before it). | |
Return the last portion of a | |
Splits the given array into chunks of the given size and returns them. | |
Determines the common path from a set of paths, using an optional separator, which defaults to the OS default separator. | |
Merges the two given Records, recursively merging any nested Records with the second collection overriding the first in case of conflict | |
Return the directory path of a | |
Returns all distinct elements in the given array, preserving order by first occurrence. | |
Returns all elements in the given array that produce a distinct value using the given selector, preserving order by first occurrence. | |
Returns a new array that drops all elements in the given collection until the last element that does not match the given predicate. | |
Returns a new array that drops all elements in the given collection until the first element that does not match the given predicate. | |
Return the extension of the | |
Returns a new record with all entries of the given record except the ones that do not match the given predicate. | |
Returns a new record with all entries of the given record except the ones that have a key that does not match the given predicate. | |
Returns a new record with all entries of the given record except the ones that have a value that does not match the given predicate. | |
Returns an element if and only if that element is the only one matching the
given condition. Returns | |
Applies the given selector to elements in the given array until a value is
produced that is neither | |
Generate a path from | |
Converts a file URL to a path string. | |
Convert a glob string to a regular expression. | |
If the given value is part of the given object it returns true, otherwise it returns false. Doesn't work with non-primitive values: includesValue({x: {}}, {}) returns false. | |
Returns all distinct elements that appear at least once in each of the given arrays. | |
Verifies whether provided path is absolute | |
A type guard that determines if the status code is a client error. | |
A type guard that determines if the status code is an error. | |
Test whether the given string is a glob | |
A type guard that determines if the status code is informational. | |
A type guard that determines if the status code is a redirection. | |
A type guard that determines if the status code is a server error. | |
Returns whether the provided number is a valid HTTP status code. | |
A type guard that determines if the status code is successful. | |
f join | Join all given a sequence of |
Like join(), but doesn't collapse "**/.." when | |
Transforms the elements in the given array to strings using the given
selector. Joins the produced strings into one using the given | |
Applies the given transformer to all entries in the given record and returns a new record containing the results. | |
Applies the given transformer to all keys in the given record's entries and returns a new record containing the transformed entries. | |
Returns a new array, containing all elements in the given array transformed
using the given transformer, except the ones that were transformed to | |
Applies the given transformer to all values in the given record and returns a new record containing the resulting keys associated to the last value that produced them. | |
Returns the first element that is the largest value of the given function or undefined if there are no elements. | |
Applies the given selector to all elements of the provided collection and returns the max value of all elements. If an empty array is provided the function will return undefined | |
Returns the first element having the largest value according to the provided comparator or undefined if there are no elements. | |
Returns the first element that is the smallest value of the given function or undefined if there are no elements | |
Applies the given selector to all elements of the given collection and returns the min value of all elements. If an empty array is provided the function will return undefined. | |
Returns the first element having the smallest value according to the provided comparator or undefined if there are no elements | |
Normalize the | |
Like normalize(), but doesn't collapse "**/.." when | |
f omit | Creates a new object by excluding the specified keys from the provided object. |
Return a | |
Returns a tuple of two arrays with the first one containing all elements in the given array that match the given predicate and the second one containing all that do not. | |
Returns a tuple of two records with the first one containing all entries of the given record that match the given predicate and the second one containing all that do not. | |
Builds all possible orders of all elements in the given array Ignores equality of elements, meaning this will always return the same number of permutations for a given length of input. | |
f pick | Creates a new object by including the specified keys from the provided object. |
Applies the given reducer to each group in the given grouping, returning the results together with the respective group keys. | |
Return the relative path from | |
Resolves path segments into a | |
Calls the given reducer on each element of the given collection, passing its result as the accumulator to the next respective call, starting with the given initialValue. Returns all intermediate accumulator results. | |
Returns a random element from the given array. | |
Generates sliding views of the given array of the given size and returns a new array containing all of them. | |
Returns all elements in the given collection, sorted by their result using the given selector. The selector function is called only once for each element. Ascending or descending order can be specified. | |
Applies the given selector to all elements in the given collection and calculates the sum of the results. | |
Returns all elements in the given array after the last element that does not match the given predicate. | |
Returns all elements in the given collection until the first element that does not match the given predicate. | |
Converts a path string to a file URL. | |
Resolves path to a namespace path | |
Returns all distinct elements that appear in any of the given arrays. | |
Builds two separate arrays from the given array of 2-tuples, with the first returned array holding all first tuple elements and the second one holding all the second elements. | |
Returns an array excluding all given values. | |
f zip | Builds N-tuples of elements from the given N arrays with matching indices, stopping when the smallest array's end is reached. |
Interfaces
Options for | |
A parsed path object generated by path.parse() or consumed by path.format(). | |
Represents a message in the Server-Sent Event (SSE) protocol. |
Type Aliases
Get array values type | |
An HTTP status that is a client error (4XX). | |
Merge deeply two objects | |
Deep merge options | |
An HTTP status that is an error (4XX and 5XX). | |
Force intellisense to expand the typing to hide merging typings | |
An HTTP status that is a informational (1XX). | |
Options for | |
Get map values types | |
Get map values types | |
Merge two objects | |
Merge all sets types definitions from keys present in both objects | |
Merge all sets types definitions from keys present in both objects | |
Merge all records types definitions from keys present in both objects | |
Merge all sets types definitions from keys present in both objects | |
Merge two objects, with left precedence | |
Merging strategy | |
Object with keys in either T or U but not in both | |
Exclude map, sets and array from type | |
Order option for | |
Filter of keys matching a given type | |
An HTTP status that is a redirect (3XX). | |
An HTTP status that is a server error (5XX). | |
Get set values type | |
Options for | |
An HTTP status code. | |
An HTTP status text. | |
An HTTP status that is a success (2XX). |