1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
=== tests/cases/conformance/expressions/typeSatisfaction/typeSatisfaction_ensureInterfaceImpl.ts ===
type Movable = {
>Movable : { move(distance: number): void; }
move(distance: number): void;
>move : (distance: number) => void
>distance : number
};
const car = {
>car : { start(): void; move(d: number): void; stop(): void; }
>{ start() { }, move(d) { // d should be number }, stop() { }} satisfies Movable & Record<string, unknown> : { start(): void; move(d: number): void; stop(): void; }
>{ start() { }, move(d) { // d should be number }, stop() { }} : { start(): void; move(d: number): void; stop(): void; }
start() { },
>start : () => void
move(d) {
>move : (d: number) => void
>d : number
// d should be number
},
stop() { }
>stop : () => void
} satisfies Movable & Record<string, unknown>;
|