typescript - Angular 7, Metodă de extensie cu NgModel


Am un fișier global.d.ts care are următoarea declarație de metodă de extensie:

declare global {
    interface Object {
        isEmpty(this: Object): boolean;
    }
}

Și un fișier object-extension care are implementarea:

Object.prototype.isEmpty = function (this: any) : boolean {
    return true;//some logic
};

în main.ts import fișierul object-extension. Metoda de extensie funcționează perfect. DAR

Când am un component cu [(ngModel)] în el (într-un tag input), generează următoarea eroare:

ERROR Error: Uncaught (in promise): Error: @Output isEmpty not initialized in 'NgModel'. Error: @Output isEmpty not initialized in 'NgModel'.
    at createDirectiveInstance (core.js:18560)
    at createViewNodes (core.js:19776)
    at callViewAction (core.js:20092)
    at execComponentViewsAction (core.js:20011)
    at createViewNodes (core.js:19804)
    at createRootView (core.js:19690)
    at callWithDebugContext (core.js:20722)
    at Object.debugCreateRootView [as createRootView] (core.js:20208)
    at ComponentFactory_.push../node_modules/@angular/core/fesm5/core.js.ComponentFactory_.create (core.js:18029)
    at ComponentFactoryBoundToModule.push../node_modules/@angular/core/fesm5/core.js.ComponentFactoryBoundToModule.create (core.js:7812)
    at createDirectiveInstance (core.js:18560)
    at createViewNodes (core.js:19776)
    at callViewAction (core.js:20092)
    at execComponentViewsAction (core.js:20011)
    at createViewNodes (core.js:19804)
    at createRootView (core.js:19690)
    at callWithDebugContext (core.js:20722)
    at Object.debugCreateRootView [as createRootView] (core.js:20208)
    at ComponentFactory_.push../node_modules/@angular/core/fesm5/core.js.ComponentFactory_.create (core.js:18029)
    at ComponentFactoryBoundToModule.push../node_modules/@angular/core/fesm5/core.js.ComponentFactoryBoundToModule.create (core.js:7812)
    at resolvePromise (zone.js:814)
    at resolvePromise (zone.js:771)
    at zone.js:873
    at ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask (zone.js:421)
    at Object.onInvokeTask (core.js:14134)
    at ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask (zone.js:420)
    at Zone.push../node_modules/zone.js/dist/zone.js.Zone.runTask (zone.js:188)
    at drainMicroTaskQueue (zone.js:595)