NamedTupleDecomposition

scala.NamedTupleDecomposition

Separate from NamedTuple object so that we can match on the opaque type NamedTuple.

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Members list

Type members

Types

type DropNames[NT <: AnyNamedTuple] = NT match { case NamedTuple[_$4, x] => x }

The value types of a named tuple represented as a regular tuple.

The value types of a named tuple represented as a regular tuple.

Attributes

type Names[X <: AnyNamedTuple] = X match { case NamedTuple[n, _$3] => n }

The names of a named tuple, represented as a tuple of literal string values.

The names of a named tuple, represented as a tuple of literal string values.

Attributes

Extensions

Extensions

extension [N <: Tuple, V <: Tuple](x: NamedTuple[N, V])
inline def ++[N2 <: Tuple, V2 <: Tuple](that: NamedTuple[N2, V2])(using Disjoint[N, N2] =:= true): Concat[NamedTuple[N, V], NamedTuple[N2, V2]]

The tuple consisting of all elements of this tuple followed by all elements of tuple that. The names of the two tuples must be disjoint.

The tuple consisting of all elements of this tuple followed by all elements of tuple that. The names of the two tuples must be disjoint.

Attributes

inline def apply(n: Int): Elem[NamedTuple[N, V], n.type]

The value (without the name) at index n of this tuple

The value (without the name) at index n of this tuple

Attributes

inline def drop(n: Int): Drop[NamedTuple[N, V], n.type]

The tuple consisting of all elements of this tuple except the first n ones, or no elements if n exceeds size.

The tuple consisting of all elements of this tuple except the first n ones, or no elements if n exceeds size.

Attributes

inline def head: Head[NamedTuple[N, V]]

The first element value of this tuple

The first element value of this tuple

Attributes

inline def init: Init[NamedTuple[N, V]]

The tuple consisting of all elements of this tuple except the last one

The tuple consisting of all elements of this tuple except the last one

Attributes

inline def last: Last[NamedTuple[N, V]]

The last element value of this tuple

The last element value of this tuple

Attributes

inline def map[F[_]](f: [t] => t -> F[t]): Map[NamedTuple[N, V], F]

The named tuple consisting of all element values of this tuple mapped by the polymorphic mapping function f. The names of elements are preserved. If x = (n1 = v1, ..., ni = vi) then x.map(f) =(n1 = f(v1), ..., ni = f(vi))`.

The named tuple consisting of all element values of this tuple mapped by the polymorphic mapping function f. The names of elements are preserved. If x = (n1 = v1, ..., ni = vi) then x.map(f) =(n1 = f(v1), ..., ni = f(vi))`.

Attributes

inline def reverse: Reverse[NamedTuple[N, V]]

The named tuple consisting of all elements of this tuple in reverse

The named tuple consisting of all elements of this tuple in reverse

Attributes

inline def size: Size[NamedTuple[N, V]]

The number of elements in this tuple

The number of elements in this tuple

Attributes

inline def splitAt(n: Int): Split[NamedTuple[N, V], n.type]

The tuple (x.take(n), x.drop(n))

The tuple (x.take(n), x.drop(n))

Attributes

inline def tail: Tail[NamedTuple[N, V]]

The tuple consisting of all elements of this tuple except the first one

The tuple consisting of all elements of this tuple except the first one

Attributes

inline def take(n: Int): Take[NamedTuple[N, V], n.type]

The tuple consisting of the first n elements of this tuple, or all elements if n exceeds size.

The tuple consisting of the first n elements of this tuple, or all elements if n exceeds size.

Attributes

inline def toArray: Array[Object]

An array consisting of all element values

An array consisting of all element values

Attributes

inline def toIArray: IArray[Object]

An immutable array consisting of all element values

An immutable array consisting of all element values

Attributes

inline def toList: List[Union[V]]

A list consisting of all element values

A list consisting of all element values

Attributes

inline def toSeqMap: SeqMap[String, Union[V]]

An immutable map consisting of all element values preserving the order of fields. Keys are the names of the elements.

An immutable map consisting of all element values preserving the order of fields. Keys are the names of the elements.

Attributes

inline def zip[V2 <: Tuple](that: NamedTuple[N, V2]): Zip[NamedTuple[N, V], NamedTuple[N, V2]]

The named tuple consisting of all element values of this tuple zipped with corresponding element values in named tuple that. If the two tuples have different sizes, the extra elements of the larger tuple will be disregarded. The names of x and that at the same index must be the same. The result tuple keeps the same names as the operand tuples.

The named tuple consisting of all element values of this tuple zipped with corresponding element values in named tuple that. If the two tuples have different sizes, the extra elements of the larger tuple will be disregarded. The names of x and that at the same index must be the same. The result tuple keeps the same names as the operand tuples.

Attributes