File: spreadIdenticalTypesRemoved.types

package info (click to toggle)
node-typescript 4.9.5%2Bds1-2
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 533,908 kB
  • sloc: javascript: 2,018,330; makefile: 7; sh: 1
file content (74 lines) | stat: -rw-r--r-- 1,851 bytes parent folder | download | duplicates (3)
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
=== tests/cases/compiler/spreadIdenticalTypesRemoved.ts ===
interface Animal {
    name: string;
>name : string

    kind: string;
>kind : string

    age: number;
>age : number

    location: string;
>location : string

    owner: object;
>owner : object
}

function clonePet(pet: Animal, fullCopy?: boolean) {
>clonePet : (pet: Animal, fullCopy?: boolean) => { name: string; kind: string; age?: number | undefined; location?: string | undefined; owner?: object | undefined; }
>pet : Animal
>fullCopy : boolean | undefined

    return {
>{        name: pet.name,        kind: pet.kind,        ...(fullCopy && pet),    } : { name: string; kind: string; age?: number | undefined; location?: string | undefined; owner?: object | undefined; }

        name: pet.name,
>name : string
>pet.name : string
>pet : Animal
>name : string

        kind: pet.kind,
>kind : string
>pet.kind : string
>pet : Animal
>kind : string

        ...(fullCopy && pet),
>(fullCopy && pet) : false | Animal | undefined
>fullCopy && pet : false | Animal | undefined
>fullCopy : boolean | undefined
>pet : Animal
    }
}

interface Animal2 {
    name: string;
>name : string

    owner?: string;
>owner : string | undefined
}
function billOwner(pet: Animal2) {
>billOwner : (pet: Animal2) => { paid: boolean; name?: string | undefined; owner?: string | undefined; }
>pet : Animal2

    return {
>{        ...(pet.owner && pet),        paid: false    } : { paid: boolean; name?: string | undefined; owner?: string | undefined; }

        ...(pet.owner && pet),
>(pet.owner && pet) : "" | Animal2 | undefined
>pet.owner && pet : "" | Animal2 | undefined
>pet.owner : string | undefined
>pet : Animal2
>owner : string | undefined
>pet : Animal2

        paid: false
>paid : boolean
>false : false
    }
}