mirror of
https://github.com/sindresorhus/type-fest.git
synced 2025-12-08 19:25:05 +00:00
16 lines
573 B
TypeScript
16 lines
573 B
TypeScript
import {expectAssignable, expectNotAssignable} from 'tsd';
|
|
import type {RequireNone} from '../../source/internal';
|
|
|
|
type NoneAllowed = RequireNone<'foo' | 'bar'>;
|
|
|
|
expectAssignable<NoneAllowed>({});
|
|
expectNotAssignable<NoneAllowed>({foo: 'foo'});
|
|
expectNotAssignable<NoneAllowed>({bar: 'bar'});
|
|
expectNotAssignable<NoneAllowed>({foo: 'foo', bar: 'bar'});
|
|
|
|
type SomeAllowed = Record<'bar', string> & RequireNone<'foo'>;
|
|
|
|
expectAssignable<SomeAllowed>({bar: 'bar'});
|
|
expectNotAssignable<SomeAllowed>({foo: 'foo'});
|
|
expectNotAssignable<SomeAllowed>({foo: 'foo', bar: 'bar'});
|