27 lines
633 B
JavaScript
27 lines
633 B
JavaScript
/**
|
|
* @flow
|
|
*/
|
|
|
|
var EventEmitter = require('events').EventEmitter;
|
|
|
|
// This pattern seems to cause the trouble.
|
|
var Bad = Object.assign({}, EventEmitter.prototype, {
|
|
foo: function(): string { return 'hi'; }
|
|
});
|
|
|
|
// Calling Bad.foo() in the same file doesn't error
|
|
var bad: number = Bad.foo();
|
|
|
|
// Doesn't repro if I extend the class myself
|
|
class MyEventEmitter extends events$EventEmitter {}
|
|
var Good = Object.assign({}, MyEventEmitter.prototype, {
|
|
foo: function(): string { return 'hi'; }
|
|
});
|
|
// Calling Good.foo() in the same file doesn't error
|
|
var good: number = Good.foo();
|
|
|
|
module.exports = {
|
|
Bad: Bad,
|
|
Good: Good,
|
|
};
|