<const E>(element: E): <const T extends ReadonlyArray<unknown>>(
self: T
) => [...T, E]
<const T extends ReadonlyArray<unknown>, const E>(self: T, element: E): [
...T,
E
]Appends a single element to the end of a tuple.
When to use
Use when you need the appended value to remain part of the tuple's type-level shape and preserve literal element positions.
Details
The result type is [...T, E], preserving all existing element types.
Example (Appending an element)
import { pipe, Tuple } from "effect"
const result = pipe(Tuple.make(1, 2), Tuple.appendElement("end"))
console.log(result) // [1, 2, "end"]combiningappendElements
Source effect/Tuple.ts:2104 lines
export const const appendElement: {
<const E>(element: E): <
const T extends ReadonlyArray<unknown>
>(
self: T
) => [...T, E]
<
const T extends ReadonlyArray<unknown>,
const E
>(
self: T,
element: E
): [...T, E]
}
Appends a single element to the end of a tuple.
When to use
Use when you need the appended value to remain part of the tuple's type-level
shape and preserve literal element positions.
Details
The result type is [...T, E], preserving all existing element types.
Example (Appending an element)
import { pipe, Tuple } from "effect"
const result = pipe(Tuple.make(1, 2), Tuple.appendElement("end"))
console.log(result) // [1, 2, "end"]
appendElement: {
<const function (type parameter) E in <const E>(element: E): <const T extends ReadonlyArray<unknown>>(self: T) => [...T, E]E>(element: const Eelement: function (type parameter) E in <const E>(element: E): <const T extends ReadonlyArray<unknown>>(self: T) => [...T, E]E): <const function (type parameter) T in <const T extends ReadonlyArray<unknown>>(self: T): [...T, E]T extends interface ReadonlyArray<T>ReadonlyArray<unknown>>(self: const T extends ReadonlyArray<unknown>self: function (type parameter) T in <const T extends ReadonlyArray<unknown>>(self: T): [...T, E]T) => [...function (type parameter) T in <const T extends ReadonlyArray<unknown>>(self: T): [...T, E]T, function (type parameter) E in <const E>(element: E): <const T extends ReadonlyArray<unknown>>(self: T) => [...T, E]E]
<const function (type parameter) T in <const T extends ReadonlyArray<unknown>, const E>(self: T, element: E): [...T, E]T extends interface ReadonlyArray<T>ReadonlyArray<unknown>, const function (type parameter) E in <const T extends ReadonlyArray<unknown>, const E>(self: T, element: E): [...T, E]E>(self: const T extends ReadonlyArray<unknown>self: function (type parameter) T in <const T extends ReadonlyArray<unknown>, const E>(self: T, element: E): [...T, E]T, element: const Eelement: function (type parameter) E in <const T extends ReadonlyArray<unknown>, const E>(self: T, element: E): [...T, E]E): [...function (type parameter) T in <const T extends ReadonlyArray<unknown>, const E>(self: T, element: E): [...T, E]T, function (type parameter) E in <const T extends ReadonlyArray<unknown>, const E>(self: T, element: E): [...T, E]E]
} = import dualdual(2, <function (type parameter) T in <T extends ReadonlyArray<unknown>, E>(self: T, element: E): [...T, E]T extends interface ReadonlyArray<T>ReadonlyArray<unknown>, function (type parameter) E in <T extends ReadonlyArray<unknown>, E>(self: T, element: E): [...T, E]E>(self: T extends ReadonlyArray<unknown>self: function (type parameter) T in <T extends ReadonlyArray<unknown>, E>(self: T, element: E): [...T, E]T, element: Eelement: function (type parameter) E in <T extends ReadonlyArray<unknown>, E>(self: T, element: E): [...T, E]E): [...function (type parameter) T in <T extends ReadonlyArray<unknown>, E>(self: T, element: E): [...T, E]T, function (type parameter) E in <T extends ReadonlyArray<unknown>, E>(self: T, element: E): [...T, E]E] => [...self: T extends ReadonlyArray<unknown>self, element: Eelement])