TypeScript/tests/cases/compiler/moduleAugmentationExtendAmbientModule1.ts
2015-12-22 13:56:22 -08:00

34 lines
742 B
TypeScript

// @module: commonjs
// @filename: map.ts
import { Observable } from "observable"
(<any>Observable.prototype).map = function() { }
declare module "observable" {
interface Observable<T> {
map<U>(proj: (e:T) => U): Observable<U>
}
namespace Observable {
let someAnotherValue: number;
}
}
// @filename: observable.d.ts
declare module "observable" {
class Observable<T> {
filter(pred: (e:T) => boolean): Observable<T>;
}
namespace Observable {
let someValue: number;
}
}
// @filename: main.ts
/// <reference path="observable.d.ts"/>
import { Observable } from "observable"
import "./map";
let x: Observable<number>;
let y = x.map(x => x + 1);