Módulo de aumento de tipos de escritura
Tengo extensión para observable. Funcionaba perfectamente bien, pero ahora he actualizado a angular 6 con mecanografiado 2.7.2.
import { Observable } from 'rxjs/Observable';
import { BaseComponent } from './base-component';
import { Subscription } from 'rxjs/Subscription';
import { Subscribable } from 'rxjs';
declare module 'rxjs/Observable' {
export interface Observable<T> {
safeSubscribe<T>(this: Observable<T>, component: BaseComponent,
next?: (value: T) => void, error?: (error: T) => void, complete?: () => void): Subscription;
}
}
export function safeSubscribe<T>(this: Observable<T>, component: BaseComponent,
next?: (value: T) => void, error?: (error: T) => void, complete?: () => void): Subscription {
let sub = this.subscribe(next, error, complete);
component.markForSafeDelete(sub);
return sub;
}
Observable.prototype.safeSubscribe = safeSubscribe;
Y este código no funciona
'Observable' solo se refiere a un tipo, pero se está utilizando como un valor aquí.Property 'subscribe' no existe en el tipo 'Observable'.https: //www.typescriptlang.org/docs/handbook/declaration-merging.htm