Skip to main content

interface MultiSetBase.Context<UT,Tp>

undocumented

Extends: MultiSetBase.Factory<Tp,UT>

Implemented by: MultiSetContext<UT,N,Tp>

Type parameters​

NameConstraintsDefaultDescription
UTundocumented
TpMultiSetBase.TypesMultiSetBase.Typesundocumented

Properties​

_types​

undocumented

Definition​

readonly _types: Tp;

countMapContext​

The context used for the internal countMap instances.

Definition​

readonly countMapContext: WithElem<Tp, UT>['countMapContext'];

typeTag​

A string tag defining the specific collection type

Definition​

readonly typeTag: string;

example
HashMultiSet.defaultContext().typeTag   // => 'HashMultiSet'

Methods​

builder​

Returns an empty builder instance for this type of collection and context.

Definition​

builder<T extends UT>(): WithElem<Tp, T>['builder'];

Type parameters​

NameConstraintsDescription
TUT
example
HashMultiSet.builder<number>()    // => HashMultiSet.Builder<number>

Overrides​

Factory.builder

empty​

Returns the (singleton) empty instance of this type and context with given key and value types.

Definition​

empty<T extends UT>(): WithElem<Tp, T>['normal'];

Type parameters​

NameConstraintsDescription
TUT
example
HashMultiSet.empty<number>()  // => HashMultiSet<number>
HashMultiSet.empty<string>() // => HashMultiSet<string>

Overrides​

Factory.empty

from​

Returns an immutable multiset of this type and context, containing the values in the given sources StreamSource.

Definitions​

from<T extends UT>(...sources: ArrayNonEmpty<StreamSource.NonEmpty<T>>): WithElem<Tp, T>['nonEmpty'];

from<T extends UT>(...sources: ArrayNonEmpty<StreamSource<T>>): WithElem<Tp, T>['normal'];

Type parameters​

NameConstraintsDescription
TUT

Parameters​

NameTypeDescription
sourcesArrayNonEmpty<StreamSource.NonEmpty<T>>a non-empty array of StreamSource instances containing values to add
example
HashMultiSet.from([1, 2], [2, 3, 4]).toArray()    // => [1, 2, 2, 3, 4]

Overrides​

Factory.from

isValidElem​

Returns true if given obj could be a valid key in this Context.

Definition​

isValidElem(key: any): key is UT;

Parameters​

NameTypeDescription
keyany
example
HashMultiSet.defaultContext().isValidElem(1)   // => true

of​

Returns an immutable multiset of this collection type and context, containing the given values.

Definition​

of<T extends UT>(...values: ArrayNonEmpty<T>): WithElem<Tp, T>['nonEmpty'];

Type parameters​

NameConstraintsDescription
TUT

Parameters​

NameTypeDescription
valuesArrayNonEmpty<T>a non-empty array of values
example
HashMultiSet.of(1, 2, 2)    // => HashMultiSet.NonEmpty<number>

Overrides​

Factory.of

reducer​

Returns a Reducer that appends received items to a MultiSet and returns the MultiSet as a result. When a source is given, the reducer will first create a MultiSet from the source, and then add elements to it.

Definition​

reducer<T extends UT>(source?: StreamSource<T>): Reducer<T, WithElem<Tp, T>['normal']>;

Type parameters​

NameConstraintsDescription
TUT

Parameters​

NameTypeDescription
sourceStreamSource<T>(optional) an initial source of elements to add to
example
const someList = [1, 2, 3];
const result = Stream.range({ start: 20, amount: 5 }).reduce(SortedMultiSet.reducer(someList))
result.toArray() // => [1, 2, 3, 20, 21, 22, 23, 24]
note

uses a MultiSet builder under the hood. If the given source is a MultiSet in the same context, it will directly call .toBuilder().

Overrides​

Factory.reducer