Назад к задачам
СБЕРПолучайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Junior — Senior
32
Реализация объединения кортежей в TypeScript
Компании, где спрашивали:
Условие задачи
Необходимо создать тип Concat, который принимает два кортежа и возвращает новый кортеж, содержащий элементы первого кортежа, за которыми следуют элементы второго.
/* _____________ Your Code Here _____________ */
type Concat<T, U> = any
/* _____________ Test Cases _____________ */
import type { Equal, Expect } from '@type-challenges/utils'
const tuple = [1] as const
type cases = [
Expect<Equal<Concat<[], []>, []>>,
Expect<Equal<Concat<[], [1]>, [1]>>,
Expect<Equal<Concat<typeof tuple, typeof tuple>, [1, 1]>>,
Expect<Equal<Concat<[1, 2], [3, 4]>, [1, 2, 3, 4]>>,
Expect<Equal<Concat<['1', 2, '3'], [false, boolean, '6']>, ['1', 2, '3', false, boolean, '6']>>,
]
// @ts-expect-error
type error = Concat<null, undefined>