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
|
//// [tests/cases/conformance/externalModules/umd-augmentation-2.ts] ////
//// [index.d.ts]
export as namespace Math2d;
export interface Point {
x: number;
y: number;
}
export class Vector implements Point {
x: number;
y: number;
constructor(x: number, y: number);
translate(dx: number, dy: number): Vector;
}
export function getLength(p: Vector): number;
//// [math2d-augment.d.ts]
import * as Math2d from 'math2d';
// Augment the module
declare module 'math2d' {
// Add a method to the class
interface Vector {
reverse(): Math2d.Point;
}
}
//// [a.ts]
/// <reference path="node_modules/math2d/index.d.ts" />
/// <reference path="math2d-augment.d.ts" />
let v = new Math2d.Vector(3, 2);
let magnitude = Math2d.getLength(v);
let p: Math2d.Point = v.translate(5, 5);
p = v.reverse();
var t = p.x;
//// [a.js]
/// <reference path="node_modules/math2d/index.d.ts" />
/// <reference path="math2d-augment.d.ts" />
var v = new Math2d.Vector(3, 2);
var magnitude = Math2d.getLength(v);
var p = v.translate(5, 5);
p = v.reverse();
var t = p.x;
|