Nutrient Web SDK

Interface Set

An immutable, unordered collection of unique values. Every change returns a new set and leaves the original untouched; a change that would not alter the set returns the same set. Values are compared as is() does, so collections and records with equal values are the same member.

Interface

Type Parameters

T

Properties

size

Readonly
number

The number of values in the set.

Methods

  • Iterates the values.

    Returns

    IterableIterator<T>

    An iterator of the values.

  • An alias of includes.

    Parameters

    valueT

    The value to look for.

    Returns

    boolean

    true when the set has value.

  • Counts the values.

    Returns

    number

    The number of values.

  • Counts the values the predicate accepts.

    Parameters

    predicate(value: T, key: T, set: NutrientViewer.Immutable.Set<T>) => boolean

    Called with each value, again as its key, and the set.

    contextunknown
    Optional

    The this value for predicate.

    Returns

    number

    The number of accepted values.

  • Iterates the values as [value, value] pairs.

    Returns

    IterableIterator<[T, T]>

    An iterator of pairs.

  • Compares this set with another collection by value.

    Parameters

    otherunknown

    The value to compare with.

    Returns

    boolean

    true when other is a set of equal values. A set is never equal to an ordered set.

  • Reports whether the predicate accepts every value, narrowing the collection to the type predicate guards.

    Type Parameters

    F

    Parameters

    predicate(value: T, key: T, set: NutrientViewer.Immutable.Set<T>) => value is F

    Called with each value, again as its key, and the set.

    contextunknown
    Optional

    The this value for predicate.

    Returns

    true when every value is accepted, including for an empty set.

  • Reports whether the predicate accepts every value.

    Parameters

    predicate(value: T, key: T, set: NutrientViewer.Immutable.Set<T>) => boolean

    Called with each value, again as its key, and the set.

    contextunknown
    Optional

    The this value for predicate.

    Returns

    boolean

    true when every value is accepted, including for an empty set.

  • Returns the first value the predicate accepts, narrowed to the type predicate guards.

    Type Parameters

    F

    Parameters

    predicate(value: T, key: T, set: NutrientViewer.Immutable.Set<T>) => value is F

    Called with each value, again as its key, and the set.

    contextunknown
    Optional

    The this value for predicate.

    Returns

    F | undefined

    The first accepted value, or undefined.

  • Returns the first value the predicate accepts.

    Type Parameters

    N

    Parameters

    predicate(value: T, key: T, set: NutrientViewer.Immutable.Set<T>) => boolean

    Called with each value, again as its key, and the set.

    contextunknown

    The this value for predicate.

    notSetValueN

    Returned when no value is accepted.

    Returns

    T | N

    The first accepted value, or notSetValue.

  • Returns the first value the predicate accepts.

    Parameters

    predicate(value: T, key: T, set: NutrientViewer.Immutable.Set<T>) => boolean

    Called with each value, again as its key, and the set.

    contextunknown
    Optional

    The this value for predicate.

    notSetValueT
    Optional

    Returned when no value is accepted.

    Returns

    T | undefined

    The first accepted value, or notSetValue.

  • Returns the last value the predicate accepts, narrowed to the type predicate guards.

    Type Parameters

    F

    Parameters

    predicate(value: T, key: T, set: NutrientViewer.Immutable.Set<T>) => value is F

    Called with each value, again as its key, and the set.

    contextunknown
    Optional

    The this value for predicate.

    Returns

    F | undefined

    The last accepted value, or undefined.

  • Returns the last value the predicate accepts.

    Type Parameters

    N

    Parameters

    predicate(value: T, key: T, set: NutrientViewer.Immutable.Set<T>) => boolean

    Called with each value, again as its key, and the set.

    contextunknown

    The this value for predicate.

    notSetValueN

    Returned when no value is accepted.

    Returns

    T | N

    The last accepted value, or notSetValue.

  • Returns the last value the predicate accepts.

    Parameters

    predicate(value: T, key: T, set: NutrientViewer.Immutable.Set<T>) => boolean

    Called with each value, again as its key, and the set.

    contextunknown
    Optional

    The this value for predicate.

    notSetValueT
    Optional

    Returned when no value is accepted.

    Returns

    T | undefined

    The last accepted value, or notSetValue.

  • Returns the last [value, value] pair the predicate accepts.

    Parameters

    predicate(value: T, key: T, set: NutrientViewer.Immutable.Set<T>) => boolean

    Called with each value, again as its key, and the set.

    contextunknown
    Optional

    The this value for predicate.

    notSetValue[T, T]
    Optional

    Returned when no value is accepted.

    Returns

    [T, T] | undefined

    The last accepted pair, or notSetValue.

  • Returns the last value the predicate accepts.

    Parameters

    predicate(value: T, key: T, set: NutrientViewer.Immutable.Set<T>) => boolean

    Called with each value, again as its key, and the set.

    contextunknown
    Optional

    The this value for predicate.

    Returns

    T | undefined

    The last accepted value, or undefined when none is accepted.

  • Returns the first value in iteration order.

    Returns

    T | undefined

    The first value, or undefined for an empty set.

  • Returns the first value in iteration order.

    Type Parameters

    N

    Parameters

    notSetValueN

    Returned when the set is empty.

    Returns

    T | N

    The first value, or notSetValue for an empty set.

  • Returns a set of the values of the collections nested in this set, at every depth or down to depth.

    Parameters

    depthnumber
    Optional

    How many levels to flatten; every level when omitted.

    Returns

    A new set.

  • Returns a set of the values of the collections nested in this set, one level deep when shallow is true and at every depth otherwise.

    Parameters

    shallowboolean
    Optional

    Whether to flatten one level only.

    Returns

    A new set.

  • Calls sideEffect with each value until it returns false.

    Parameters

    sideEffect(value: T, key: T, set: NutrientViewer.Immutable.Set<T>) => unknown

    Called with each value, again as its key, and the set.

    contextunknown
    Optional

    The this value for sideEffect.

    Returns

    number

    The number of values visited, including the one that stopped the loop.

  • Returns value when the set has an equal value.

    Parameters

    valueT

    The value to look for.

    Returns

    T | undefined

    value, or undefined when the set has no equal value.

  • Returns value when the set has an equal value.

    Type Parameters

    N

    Parameters

    valueT

    The value to look for.

    notSetValueN

    Returned when the set has no equal value.

    Returns

    T | N

    value, or notSetValue when the set has no equal value.

  • Reads a value deep inside nested collections.

    Parameters

    searchKeyPathIterable<unknown>

    The keys to follow, from this set inwards.

    notSetValueunknown
    Optional

    Returned when the path does not exist.

    Returns

    unknown

    The value at the path, or notSetValue.

  • Reports whether the set has value.

    Parameters

    valueT

    The value to look for.

    Returns

    boolean

    true when the set has value.

  • Computes a hash of this set from its contents, the same way Immutable.js does. Equal sets have equal hashes; sets with equal hashes are not necessarily equal. Plain objects, functions and symbols hash by identity, so a hash is only meaningful within the page that computed it.

    Returns

    number

    An integer hash.

  • Reports whether a path exists inside nested collections.

    Parameters

    searchKeyPathIterable<unknown>

    The keys to follow, from this set inwards.

    Returns

    boolean

    true when every key on the path exists.

  • Reports whether the set has value.

    Parameters

    valueT

    The value to look for.

    Returns

    boolean

    true when the set has value.

  • Reports whether the set is empty.

    Returns

    boolean

    true when the set has no values.

  • Reports whether every value of this set is in iter.

    Parameters

    iterIterable<T>

    The values to look in.

    Returns

    boolean

    true when each value of this set equals one in iter.

  • Reports whether every value of iter is in this set.

    Parameters

    iterIterable<T>

    The values to check.

    Returns

    boolean

    true when this set has each value of iter.

  • Joins the values into a string, printing null and undefined as nothing.

    Parameters

    separatorstring
    Optional

    Placed between values; defaults to a comma.

    Returns

    string

    The joined string.

  • Returns value when the set has an equal value.

    Parameters

    valueT

    The value to look for.

    Returns

    T | undefined

    value, or undefined when the set has no equal value.

  • Iterates the values.

    Returns

    IterableIterator<T>

    An iterator of the values.

  • Returns the last value in iteration order.

    Returns

    T | undefined

    The last value, or undefined for an empty set.

  • Returns the last value in iteration order.

    Type Parameters

    N

    Parameters

    notSetValueN

    Returned when the set is empty.

    Returns

    T | N

    The last value, or notSetValue for an empty set.

  • Returns value when the set has an equal value.

    Parameters

    valueT

    The value to look for.

    Returns

    T | undefined

    value, or undefined when the set has no equal value.

  • Returns the largest value.

    Parameters

    comparator(a: T, b: T) => number
    Optional

    Orders two values; defaults to < and >.

    Returns

    T | undefined

    The largest value, or undefined for an empty set.

  • Returns the value with the largest mapped key.

    Type Parameters

    C

    Parameters

    comparatorValueMapper(value: T, key: T, set: NutrientViewer.Immutable.Set<T>) => C

    Maps each value to the key to compare by.

    comparator(a: C, b: C) => number
    Optional

    Orders two mapped keys; defaults to < and >.

    Returns

    T | undefined

    The value, or undefined for an empty set.

  • Returns the smallest value.

    Parameters

    comparator(a: T, b: T) => number
    Optional

    Orders two values; defaults to < and >.

    Returns

    T | undefined

    The smallest value, or undefined for an empty set.

  • Returns the value with the smallest mapped key.

    Type Parameters

    C

    Parameters

    comparatorValueMapper(value: T, key: T, set: NutrientViewer.Immutable.Set<T>) => C

    Maps each value to the key to compare by.

    comparator(a: C, b: C) => number
    Optional

    Orders two mapped keys; defaults to < and >.

    Returns

    T | undefined

    The value, or undefined for an empty set.

  • Reduces the values to one, starting from the first value.

    Parameters

    reducer(reduction: T, value: T, key: T, set: NutrientViewer.Immutable.Set<T>) => T

    Called with the reduction so far, each remaining value, again as its key, and the set.

    Returns

    The reduction, or undefined for an empty set.

  • Reduces the values to one.

    Type Parameters

    R

    Parameters

    reducer(reduction: R, value: T, key: T, set: NutrientViewer.Immutable.Set<T>) => R

    Called with the reduction so far, each value, again as its key, and the set.

    initialReductionR

    The first reduction.

    contextunknown
    Optional

    The this value for reducer.

    Returns

    The reduction.

  • Type Parameters

    R

    Parameters

    reducer(reduction: T | R, value: T, key: T, set: NutrientViewer.Immutable.Set<T>) => R

    Returns

  • Reduces the values to one, from the last value to the first, starting from the last value.

    Parameters

    reducer(reduction: T, value: T, key: T, set: NutrientViewer.Immutable.Set<T>) => T

    Called with the reduction so far, each earlier value, again as its key, and the set.

    Returns

    The reduction, or undefined for an empty set.

  • Reduces the values to one, from the last value to the first.

    Type Parameters

    R

    Parameters

    reducer(reduction: R, value: T, key: T, set: NutrientViewer.Immutable.Set<T>) => R

    Called with the reduction so far, each value, again as its key, and the set.

    initialReductionR

    The first reduction.

    contextunknown
    Optional

    The this value for reducer.

    Returns

    The reduction.

  • Type Parameters

    R

    Parameters

    reducer(reduction: T | R, value: T, key: T, set: NutrientViewer.Immutable.Set<T>) => R

    Returns

  • Returns the values from begin up to, but not including, end.

    Parameters

    beginnumber
    Optional

    The first position to keep; negative counts from the end.

    endnumber
    Optional

    The position to stop before; negative counts from the end.

    Returns

    A new set, or this one when begin is given and the range covers every value.

  • Reports whether the predicate accepts any value.

    Parameters

    predicate(value: T, key: T, set: NutrientViewer.Immutable.Set<T>) => boolean

    Called with each value, again as its key, and the set.

    contextunknown
    Optional

    The this value for predicate.

    Returns

    boolean

    true when at least one value is accepted.

  • Returns the values sorted.

    Parameters

    comparator(a: T, b: T) => number
    Optional

    Orders two values; defaults to ascending, with undefined last.

    Returns

    OrderedSet<T>

    A new ordered set.

  • Returns the values ordered by the results of mapper.

    Type Parameters

    C

    Parameters

    mapper(value: T, key: T, set: NutrientViewer.Immutable.Set<T>) => C

    Called with each value, again as its key, and the set.

    comparator(a: C, b: C) => number
    Optional

    Orders two results; defaults to ascending, with undefined last.

    Returns

    OrderedSet<T>

    A new ordered set.

  • Converts the set to an array of its values.

    Returns

    T[]

    A new array.

  • Converts the set to plain values all the way down: nested collections, records, arrays and plain objects become plain arrays and objects.

    Returns

    CollectionPlainValue<T>[]

    A new array.

  • Converts the set to an array of its values, leaving nested collections as they are.

    Returns

    T[]

    A new array.

  • Converts the set to an object keyed by each value, with the value stored under it.

    Returns

    { [key: string]: T }

    A new object.

  • Converts the set to an ordered map from each value to itself, in iteration order.

    Returns

    OrderedMap<T, T>

    A new ordered map.

  • Converts the set to an ordered set in iteration order.

    Returns

    OrderedSet<T>

    A new ordered set.

  • Returns a readable description of the set.

    Returns

    string

    A string such as Set { 1, 2 }.

  • Iterates the values.

    Returns

    IterableIterator<T>

    An iterator of the values.