File: exportAssignmentOfDeclaredExternalModule.types

package info (click to toggle)
node-typescript 3.3.3333-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 324,548 kB
  • sloc: makefile: 6; sh: 3
file content (36 lines) | stat: -rw-r--r-- 961 bytes parent folder | download | duplicates (5)
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
=== tests/cases/compiler/exportAssignmentOfDeclaredExternalModule_1.ts ===
///<reference path='exportAssignmentOfDeclaredExternalModule_0.ts'/>
import Sammy = require('./exportAssignmentOfDeclaredExternalModule_0');
>Sammy : any

var x = new Sammy(); // error to use as constructor as there is not constructor symbol
>x : any
>new Sammy() : any
>Sammy : any

var y = Sammy(); // error to use interface name as call target
>y : any
>Sammy() : any
>Sammy : any

var z: Sammy; // no error - z is of type interface Sammy from module 'M'
>z : Sammy

var a = new z(); // constructor - no error
>a : any
>new z() : any
>z : Sammy

var b = z(); // call signature - no error
>b : number
>z() : number
>z : Sammy

=== tests/cases/compiler/exportAssignmentOfDeclaredExternalModule_0.ts ===
interface Sammy {
    new (): any; // a constructor signature
        (): number; // a 0 arg call signature
    }
export = Sammy;
>Sammy : Sammy