Skip to main content
Module

x/ts_toolbelt_unofficial/mod.ts>List.List

👷 TypeScript's largest type utility library, now on Deno
Latest
type alias List.List
import { type List } from "https://deno.land/x/ts_toolbelt_unofficial@1.1.0/mod.ts";
const { List } = List;

A [[List]]

Examples

Example 1

type list0 = [1, 2, 3]
type list1 = number[]

Type Parameters

optional
A = any
definition: ReadonlyArray<A>

Examples

Example 1

definition: L extends unknown ? _Reverse<L> : never

Examples

Example 1

Type Parameters

L extends List
optional
depth extends Depth = "flat"
definition: Cast<WritablePart<L, depth>, List>

Examples

Example 1

Type Parameters

L extends List
optional
depth extends Depth = "flat"
definition: Cast<OptionalPart<L, depth>, List>

Examples

Example 1

definition: OReadonlyKeys<ObjectOf<L>>

Examples

Example 1

definition: ORequiredKeys<ObjectOf<L>>

Examples

Example 1

Type Parameters

L extends List
L1 extends List
optional
match extends Match = "default"
definition: OExcludeKeys<ObjectOf<L>, ObjectOf<L1>, match>

Examples

Example 1

definition: ONonNullableKeys<ObjectOf<L>>

Examples

Example 1

Type Parameters

L extends List
M extends any
optional
match extends Match = "default"
definition: OIncludes<ObjectOf<L>, M, match>

Examples

Example 1

definition: L[number]

Examples

Example 1

Type Parameters

L extends List
K extends Key
optional
strict extends Boolean = 1
definition: OEither<ObjectOf<L>, `${K & number}` | K, strict> extends infer OE ? OE extends unknown ? _ListOf<OE & { }> : never : never

Examples

Example 1

import {L} from 'ts-toolbelt.ts'

type test0 = L.Concat<[1, 2], [3, 4]> // [1, 2, 3, 4]
type test1 = L.Concat<[1, 2], [[3], 4]> // [1, 2, [3], 4]
type test2 = L.Concat<[1, 2], number[]> // [1, 2, ...number[]]
type test3 = L.Concat<readonly [1, 2], readonly [3]> // [1, 2, 3]

Type Parameters

L extends List
L1 extends List
definition: [...L, ...L1]

Examples

Example 1

Type Parameters

L extends List
L1 extends object
definition: Cast<OOverwrite<L, L1>, List>

Examples

Example 1

definition: OOptionalKeys<ObjectOf<L>>

Examples

Example 1

Type Parameters

L extends List
L1 extends List
optional
K extends Key = Key
definition: [P in keyof L]: P extends K ? L[P] | At<L1, P> : L[P]

Examples

Example 1

type list0 = [1, 2, 3]
type list1 = number[]

Type Parameters

optional
A = any
definition: ReadonlyArray<A>

Examples

Example 1

Type Parameters

L extends List
L1 extends List
definition: L extends unknown ? L1 extends unknown ? _Zip<L, L1> : never : never

Examples

Example 1

Type Parameters

L extends List
L1 extends List
optional
match extends Match = "default"
definition: ListOf<OExclude<ObjectOf<L>, ObjectOf<L1>, match>>

Examples

Example 1

Type Parameters

L extends List
Ls extends List<List>
optional
depth extends Depth = "flat"
optional
ignore extends object = BuiltIn
optional
fill extends any = undefined
definition: Cast<OMergeAll<L, Ls, depth, ignore, fill>, List>

Examples

Example 1

Type Parameters

L extends List
optional
strict extends Boolean = 1
optional
limit extends number = number
definition: L extends unknown ? _Flatten<L, strict, limit> : never

Examples

Example 1

import {L} from 'ts-toolbelt.ts'

type test0 = L.Append<[1, 2, 3], 4> // [1, 2, 3, 4]
type test1 = L.Append<[], 'a'> // ['a']
type test2 = L.Append<readonly ['a', 'b'], 'c'> // ['a', 'b', 'c']
type test3 = L.Append<[1, 2], [3, 4]> // [1, 2, [3, 4]]

Type Parameters

L extends List
A extends any
definition: [...L, A]

Examples

Example 1

Type Parameters

L extends List
N extends number
optional
way extends Way = "->"
definition: L extends unknown ? N extends unknown ? _Drop<L, N, way> : never : never

Examples

Example 1

Type Parameters

L extends List
optional
K extends Key = Key
definition: Cast<Update<L, `${K & number}` | K, x | undefined>, List>

Examples

Example 1

Type Parameters

L extends List
K extends Key
optional
M extends any = any
optional
match extends Match = "default"
definition: OHas<ObjectOf<L>, `${K & number}` | K, M, match>

Examples

Example 1

definition: L[Length<Tail<L>>]

Examples

Example 1

Type Parameters

L extends List
L1 extends List
optional
match extends Match = "default"
definition: ListOf<ODiff<ObjectOf<L>, ObjectOf<L1>, match>>

Examples

Example 1

Type Parameters

L extends List
optional
K extends Key = Key
definition: Cast<Update<L, `${K & number}` | K, x | null | undefined>, List>

Examples

Example 1

Type Parameters

L extends List
L1 extends List
definition: L extends unknown ? L1 extends unknown ? { 0: L1; 1: L; }[Has<keyof L1, keyof L>] : never : never

Examples

Example 1

Type Parameters

L extends List
M extends any
optional
match extends Match = "default"
definition: ListOf<OSelect<ObjectOf<L>, M, match>>

Examples

Example 1

Type Parameters

L extends List
L1 extends List
optional
match extends Match = "default"
definition: ListOf<OIntersect<ObjectOf<L>, ObjectOf<L1>, match>>

Examples

Example 1

Type Parameters

L extends List
L1 extends List
optional
depth extends Depth = "flat"
optional
ignore extends object = BuiltIn
optional
fill extends any = undefined
definition: Cast<OMerge<L, L1, depth, ignore, fill>, List>

Examples

Example 1

Type Parameters

L extends List
M extends any
optional
match extends Match = "default"
definition: ListOf<OFilter<ObjectOf<L>, M, match>>

Examples

Example 1

Type Parameters

L extends List
M extends any
A extends any
optional
match extends Match = "default"
definition: Cast<OReplace<L, M, A, match>, List>

Examples

Example 1

definition: O extends unknown ? number extends Length<O> ? _Pick<O, number> : _Omit<O, keyof any[]> : never

Examples

Example 1

Type Parameters

L extends List
Path extends List<Key>
definition: OPath<L, Path>

Examples

Example 1

import {O} from 'ts-toolbelt.ts'

type L = [1, 2, 3, [4, [5]]]

type test0 = O.Partial<L>
type test1 = O.Partial<L, 'deep'>

Type Parameters

L extends List
optional
depth extends Depth = "flat"
definition: Cast<OPartial<L, depth>, List>

Examples

Example 1

Type Parameters

LKeys extends List<Key>
LFields extends List
definition: LKeys extends unknown ? LFields extends unknown ? _ZipObj<LKeys, LFields> : never : never

Examples

Example 1

definition: L extends readonly [] ? L : L extends readonly [any, ...infer LTail] ? LTail : L

Examples

Example 1

definition: OUndefinableKeys<ObjectOf<L>>

Examples

Example 1

Type Parameters

L extends List
A extends any
definition: [A, ...L]

Examples

Example 1

definition: Length<Tail<L>>

Examples

Example 1

import {L} from 'ts-toolbelt.ts'

type test0 = L.CompulsoryKeys<[1, 2, 3]> // {0: 1, 1: 2, 2: 3}
definition: OCompulsoryKeys<ObjectOf<L>>

Examples

Example 1

Type Parameters

L extends List
M extends any
optional
match extends Match = "default"
definition: OFilterKeys<ObjectOf<L>, M, match>

Examples

Example 1

Type Parameters

L extends List
K extends Key
definition: L extends unknown ? _Omit<L, K> : never

Examples

Example 1

Type Parameters

L extends List
K extends Key
definition: L extends unknown ? _Pick<L, K> : never

Examples

Example 1

import {L} from 'ts-toolbelt.ts'

type test0 = Assign<[1, 2, 3], [[2, 1]]> // [2, 1, 3]
type test1 = Assign<[], [[1, 2, 3, 4], [2, 4, 6]]> // [2, 4, 6, 4]
type test2 = Assign<[0, 0, 0, 0, 0], [[0, 1], [0, 2, 0, 4?]]> // [0, 2, 0, 0 | 4, 0]

Type Parameters

L extends List
Ls extends List<List>
optional
depth extends Depth = "flat"
optional
ignore extends object = BuiltIn
optional
fill extends any = never
definition: Cast<OAssign<L, Ls, depth, ignore, fill>, List>

Examples

Example 1

Type Parameters

L extends List
LMod extends List
definition: Cast<[K in keyof LMod]: Replace<LMod[K], x, Exclude<At<L, K>, undefined>>, List>

Examples

Example 1

Type Parameters

O extends List
Ls extends List<List>
optional
depth extends Depth = "flat"
optional
ignore extends object = BuiltIn
optional
fill extends any = never
definition: Cast<OPatchAll<O, Ls, depth, ignore, fill>, List>

Examples

Example 1

Type Parameters

L extends List
optional
depth extends Depth = "flat"
definition: Cast<ReadonlyPart<L, depth>, List>

Examples

Example 1

Type Parameters

L extends List
From extends number
To extends number
definition: Omit<L, KeySet<From, To>>

Examples

Example 1

Type Parameters

L extends List
K extends Key
A extends any
definition: Cast<OUpdate<L, `${K & number}` | K, A>, List>

Examples

Example 1

 * import {L} from 'ts-toolbelt.ts'

type test0 = L.Compulsory<[1, 2, 3?, 4?]> // [1, 2, 3, 4]
type test1 = L.Compulsory<['a', 'b' | undefined, 'c', 'd', 'e' | null]> // ['a', 'b', 'c', 'd', 'e']

Type Parameters

L extends List
optional
depth extends Depth = "flat"
definition: Cast<CompulsoryPart<L, depth>, List>

Examples

Example 1

Type Parameters

L extends List
Path extends List<Key>
optional
M extends any = any
optional
match extends Match = "default"
definition: OHasPath<ObjectOf<L>, Path, M, match>

Examples

Example 1

Type Parameters

L extends List
N extends number
definition: L extends unknown ? N extends unknown ? _Group<L, N> : never : never

Examples

Example 1

Type Parameters

L extends List
optional
K extends Key = Key
optional
depth extends Depth = "flat"
definition: Cast<NonNullablePart<L, `${K & number}` | K, depth>, List>

Examples

Example 1

definition: Length<L> extends 0 ? never : L[0]

Examples

Example 1

definition: L["length"]

Examples

Example 1

Type Parameters

L extends List
M extends any
optional
match extends Match = "default"
definition: OSelectKeys<ObjectOf<L>, M, match>

Examples

Example 1

Type Parameters

L extends List
N extends number
optional
way extends Way = "->"
definition: L extends unknown ? N extends unknown ? _Take<L, N, way> : never : never

Examples

Example 1

Type Parameters

L extends List
L1 extends List
optional
match extends Match = "default"
definition: OIntersectKeys<ObjectOf<L>, L1, match>

Examples

Example 1

definition: OWritableKeys<ObjectOf<L>>

Examples

Example 1

Type Parameters

L extends List
L1 extends List
optional
depth extends Depth = "flat"
optional
ignore extends object = BuiltIn
optional
fill extends any = never
definition: Cast<OPatch<L, L1, depth, ignore, fill>, List>

Examples

Example 1

definition: OPaths<ObjectOf<L>>

Examples

Example 1

definition: L extends (readonly [...infer LBody, any] | readonly [...infer LBody, any]) ? LBody : L

Examples

Example 1

Type Parameters

L extends List
From extends number
To extends number
definition: Pick<L, KeySet<From, To>>

Examples

Example 1

definition: ONullableKeys<ObjectOf<L>>

Examples

Example 1

Type Parameters

A extends any
N extends number
optional
L extends List = []
definition: N extends unknown ? L extends unknown ? _Repeat<A, N, L> : never : never

Examples

Example 1

import {L} from 'ts-toolbelt.ts'

type test0 = L.AtLeast<[1, 2, 3], 0> // [1, 2 | undefined, 3 | undefined]
type test1 = L.AtLeast<[1, 2, 3], 0 | 1> // [1, 2 | undefined, 3 | undefined] | [1 | undefined, 2, 3 | undefined]
type test2 = L.AtLeast<[1, 2, 3]>
// | [1, 2, 3]
// | [1, 2 | undefined, 3 | undefined]
// | [1 | undefined, 2, 3 | undefined]
// | [1 | undefined, 2 | undefined, 3]

Type Parameters

L extends List
optional
K extends Key = Keys<L>
definition: OAtLeast<ObjectOf<L>, `${K & number}` | K> extends infer U ? U extends unknown ? _ListOf<U & { }> : never : never

Examples

Example 1

Type Parameters

From extends number
To extends number
definition: UnionOf<Range<From, To, "->">>

Examples

Example 1

Type Parameters

L extends List
optional
strict extends Boolean = 1
definition: L extends unknown ? _UnNest<L, strict> : never

Examples

Example 1

Type Parameters

L extends List
L1 extends List
definition: L extends unknown ? L1 extends unknown ? { 0: L1; 1: L; }[Has<keyof L, keyof L1>] : never : never

Examples

Example 1

Type Parameters

L extends List
optional
depth extends Depth = "flat"
definition: Cast<RequiredPart<L, depth>, List>