type-fest/test-d/set-field-type.ts
Lucas Teles 964466c9d5
Add SetFieldType type (#721)
Co-authored-by: Sindre Sorhus <sindresorhus@gmail.com>
2023-10-25 23:44:24 +07:00

15 lines
662 B
TypeScript

import {expectNotAssignable, expectType} from 'tsd';
import type {SetFieldType} from '../index';
declare const variation1: SetFieldType<{a: number}, 'a', string>;
expectType<{a: string}>(variation1);
declare const variation2: SetFieldType<{a: number; b: boolean; c: Date}, 'a' | 'b', string>;
expectType<{a: string; b: string; c: Date}>(variation2);
declare const variation3: SetFieldType<{a: string; b: boolean; c: Date}, 'b' | 'c', number>;
expectType<{a: string; b: number; c: number}>(variation3);
declare const variation4: SetFieldType<{a: string; b: string; c: string}, 'b', number>;
expectNotAssignable<{a: string; b: string; c: string}>(variation4);