TypeScript/tests/baselines/reference/promiseChaining.js
Sheetal Nandi 6ab3adfd43 Modified the emitComment logic to handle emitting leading or trailing spaces depending on flags
Leading comments have trailing separator while trailing comments have leading space
This removes the extra trailing space in the trailing comments
2014-08-15 14:32:08 -07:00

27 lines
885 B
JavaScript

//// [promiseChaining.ts]
class Chain<T> {
constructor(public value: T) { }
then<S>(cb: (x: T) => S): Chain<S> {
var result = cb(this.value);
// should get a fresh type parameter which each then call
var z = this.then(x => result)/*S*/.then(x => "abc")/*string*/.then(x => x.length)/*number*/; // No error
return new Chain(result);
}
}
//// [promiseChaining.js]
var Chain = (function () {
function Chain(value) {
this.value = value;
}
Chain.prototype.then = function (cb) {
var result = cb(this.value);
// should get a fresh type parameter which each then call
var z = this.then(function (x) { return result; }).then(function (x) { return "abc"; }).then(function (x) { return x.length; }) /*number*/; // No error
return new Chain(result);
};
return Chain;
})();