import { expectTypeOf, test } from 'vitest' import type { Filter, IsNarrowable, IsNever, IsUndefined, Or, Prettify, RequiredBy, } from './utils.js' test('Filter', () => { expectTypeOf>().toEqualTypeOf< readonly [1, false] >() }) test('IsNarrowable', () => { expectTypeOf>().toEqualTypeOf() expectTypeOf>().toEqualTypeOf() }) test('IsNever', () => { expectTypeOf>().toEqualTypeOf() expectTypeOf>().toEqualTypeOf() expectTypeOf>().toEqualTypeOf() expectTypeOf>().toEqualTypeOf() expectTypeOf>().toEqualTypeOf() expectTypeOf>().toEqualTypeOf() expectTypeOf>().toEqualTypeOf() expectTypeOf>().toEqualTypeOf() expectTypeOf>().toEqualTypeOf() }) test('IsUndefined', () => { expectTypeOf>().toEqualTypeOf() expectTypeOf>().toEqualTypeOf() expectTypeOf>().toEqualTypeOf() expectTypeOf>().toEqualTypeOf() expectTypeOf>().toEqualTypeOf() expectTypeOf>().toEqualTypeOf() expectTypeOf>().toEqualTypeOf() expectTypeOf>().toEqualTypeOf() expectTypeOf>().toEqualTypeOf() }) test('Or', () => { expectTypeOf>().toEqualTypeOf() expectTypeOf>().toEqualTypeOf() }) test('RequiredBy', () => { expectTypeOf< Prettify> >().toEqualTypeOf<{ a: number; b?: string; c: boolean }>() })