angular-l10n
Version:
An Angular library to translate messages, dates and numbers
34 lines • 987 B
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
*/
import { Subject } from 'rxjs';
import { takeUntil } from 'rxjs/operators';
import { Logger } from '../models/logger';
/**
* @param {?} target
* @return {?}
*/
export function takeUntilDestroyed(target) {
/** @type {?} */
var destroy = new Subject();
/** @type {?} */
var targetNgOnDestroy = target.ngOnDestroy;
if (typeof targetNgOnDestroy === "undefined") {
Logger.log(target.constructor ? target.constructor.name : 'takeUntilDestroyed', 'missingOnDestroy');
}
/**
* @this {?}
* @return {?}
*/
function ngOnDestroy() {
destroy.next(true);
destroy.complete();
if (targetNgOnDestroy) {
targetNgOnDestroy.apply(this);
}
}
target.ngOnDestroy = ngOnDestroy;
return takeUntil(destroy);
}
//# sourceMappingURL=take-until-destroyed.js.map