Closed
Description
// @noEmit: true
// @allowJs: true
// @checkJs: true
// @Filename: a.js
// from enhanced-resolve
function T() {
this.plugins = {}
}
T.prototype.plugin = function (name, f) {
this.plugins[name] = f
}
function R(fs) {
T.call(this)
this.fs = fs
}
R.prototype = Object.create(T.prototype) // should create an extends: R extends T
R.prototype.resolve = function resolve(name) {
this.plugin(name, p => p)
}
Expected behavior:
R
behaves like T
is its base class: this.plugin
inside resolve
should be legal.
Actual behavior:
Property 'plugin' does not exist on type '{ fs: any, resolve: (name: any) => void }'