Closed
Description
__extends
and static methods / accessors
-
Previously reported issues:
-
the
for
loop is there to support browsers pre__proto__
, e.g. IE8, IE9, and IE10- if we remove it IE10 and below will be broken
-
Condition it:
- seems like a good solution
- proposal:
var __extendStatics = (this && this.__extendStatics) ||
Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
var __extends = (this && this.__extends) || function (d, b) {
__extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
- What about the other side of the issue, emitting methods and accessors as
enumrable: false
?- we have to do it for
--target ES5
and not--target ES3
- if we do this we break the static inheritance for IE10,
- concolusion:
- wait on more feedback for this
- we have to do it for
Promise
in lib.d.ts
-
Issues:
-
DOM keeps moving forward, but the lib.d.ts does not
-
Resolution:
- split the DOM into multiple definitions as well, and have the parts depend on what version they need of the library
- this is a large effort, not clear when or how it can be done
- No conclusion here, leave it open
Extensibility (@RyanCavanaugh)
- PR: Language service proxy
- Follow up with the experement and see what APIs are needed to be exposed