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 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112
|
=== tests/cases/conformance/externalModules/a.ts ===
/// <reference path="node_modules/math2d/index.d.ts" />
/// <reference path="math2d-augment.d.ts" />
let v = new Math2d.Vector(3, 2);
>v : Math2d.Vector
>new Math2d.Vector(3, 2) : Math2d.Vector
>Math2d.Vector : typeof Math2d.Vector
>Math2d : typeof Math2d
>Vector : typeof Math2d.Vector
>3 : 3
>2 : 2
let magnitude = Math2d.getLength(v);
>magnitude : number
>Math2d.getLength(v) : number
>Math2d.getLength : (p: Math2d.Vector) => number
>Math2d : typeof Math2d
>getLength : (p: Math2d.Vector) => number
>v : Math2d.Vector
let p: Math2d.Point = v.translate(5, 5);
>p : Math2d.Point
>Math2d : any
>Point : Math2d.Point
>v.translate(5, 5) : Math2d.Vector
>v.translate : (dx: number, dy: number) => Math2d.Vector
>v : Math2d.Vector
>translate : (dx: number, dy: number) => Math2d.Vector
>5 : 5
>5 : 5
p = v.reverse();
>p = v.reverse() : Math2d.Point
>p : Math2d.Point
>v.reverse() : Math2d.Point
>v.reverse : () => Math2d.Point
>v : Math2d.Vector
>reverse : () => Math2d.Point
var t = p.x;
>t : number
>p.x : number
>p : Math2d.Point
>x : number
=== tests/cases/conformance/externalModules/node_modules/math2d/index.d.ts ===
export as namespace Math2d;
>Math2d : typeof Math2d
export = M2D;
>M2D : typeof M2D
declare namespace M2D {
>M2D : typeof Math2d
interface Point {
>Point : Point
x: number;
>x : number
y: number;
>y : number
}
class Vector implements Point {
>Vector : Vector
>Point : Point
x: number;
>x : number
y: number;
>y : number
constructor(x: number, y: number);
>x : number
>y : number
translate(dx: number, dy: number): Vector;
>translate : (dx: number, dy: number) => Vector
>dx : number
>dy : number
>Vector : Vector
}
function getLength(p: Vector): number;
>getLength : (p: Vector) => number
>p : Vector
>Vector : Vector
}
=== tests/cases/conformance/externalModules/math2d-augment.d.ts ===
import * as Math2d from 'math2d';
>Math2d : typeof Math2d
// Augment the module
declare module 'math2d' {
// Add a method to the class
interface Vector {
>Vector : Vector
reverse(): Math2d.Point;
>reverse : () => Point
>Math2d : any
>Point : Point
}
}
|