@zodiac-ui/ng-observable
Version:
Create powerful reactive components with Angular. AoT compatible and Ivy ready.
167 lines • 10.6 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { makePropertyMapper } from "./make-property-mapper";
import { InvokeSubject } from "../invoke-subject";
/**
* @param {?} decorator
* @return {?}
*/
export function makeDecorator(decorator) {
return decorator;
}
/**
* @param {?} decorator
* @return {?}
*/
export function makePropDecorator(decorator) {
return decorator;
}
/**
* @template R, T, U
* @param {?} selectorFactory
* @return {?}
*/
export function computed(selectorFactory) {
return (/**
* @param {?} target
* @param {?} propertyKey
* @return {?}
*/
function (target, propertyKey) {
makePropertyMapper(target, propertyKey, selectorFactory);
});
}
/**
* @param {?} target
* @param {?} propertyKey
* @param {?} name
* @return {?}
*/
export function decorateLifecycle(target, propertyKey, name) {
/** @type {?} */
const originalHook = target[name];
target[name] = new InvokeSubject((/**
* @this {?}
* @param {...?} args
* @return {?}
*/
function (...args) {
this[propertyKey].apply(this, args);
originalHook.apply(this, args);
}));
}
/**
* @template T
* @return {?}
*/
export function ngOnChanges() {
return (/**
* @param {?} target
* @param {?} propertyKey
* @return {?}
*/
function (target, propertyKey) {
return decorateLifecycle(target, propertyKey, "ngOnChanges");
});
}
/**
* @template T
* @return {?}
*/
export function ngOnInit() {
return (/**
* @param {?} target
* @param {?} propertyKey
* @return {?}
*/
function (target, propertyKey) {
return decorateLifecycle(target, propertyKey, "ngOnInit");
});
}
/**
* @template T
* @return {?}
*/
export function ngDoCheck() {
return (/**
* @param {?} target
* @param {?} propertyKey
* @return {?}
*/
function (target, propertyKey) {
return decorateLifecycle(target, propertyKey, "ngDoCheck");
});
}
/**
* @template T
* @return {?}
*/
export function ngAfterContentInit() {
return (/**
* @param {?} target
* @param {?} propertyKey
* @return {?}
*/
function (target, propertyKey) {
return decorateLifecycle(target, propertyKey, "ngAfterContentInit");
});
}
/**
* @template T
* @return {?}
*/
export function ngAfterContentChecked() {
return (/**
* @param {?} target
* @param {?} propertyKey
* @return {?}
*/
function (target, propertyKey) {
return decorateLifecycle(target, propertyKey, "ngAfterContentChecked");
});
}
/**
* @template T
* @return {?}
*/
export function ngAfterViewInit() {
return (/**
* @param {?} target
* @param {?} propertyKey
* @return {?}
*/
function (target, propertyKey) {
return decorateLifecycle(target, propertyKey, "ngAfterViewInit");
});
}
/**
* @template T
* @return {?}
*/
export function ngAfterViewChecked() {
return (/**
* @param {?} target
* @param {?} propertyKey
* @return {?}
*/
function (target, propertyKey) {
return decorateLifecycle(target, propertyKey, "ngAfterViewChecked");
});
}
/**
* @template T
* @return {?}
*/
export function ngOnDestroy() {
return (/**
* @param {?} target
* @param {?} propertyKey
* @return {?}
*/
function (target, propertyKey) {
return decorateLifecycle(target, propertyKey, "ngOnDestroy");
});
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B6b2RpYWMtdWkvbmctb2JzZXJ2YWJsZS8iLCJzb3VyY2VzIjpbImxpYi9pbnRlcm5hbHMvZGVjb3JhdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFBOzs7OztBQUdqRCxNQUFNLFVBQVUsYUFBYSxDQUFDLFNBQW1CO0lBQzdDLE9BQU8sU0FBUyxDQUFBO0FBQ3BCLENBQUM7Ozs7O0FBRUQsTUFBTSxVQUFVLGlCQUFpQixDQUFDLFNBQW1CO0lBQ2pELE9BQU8sU0FBUyxDQUFBO0FBQ3BCLENBQUM7Ozs7OztBQUVELE1BQU0sVUFBVSxRQUFRLENBQ3BCLGVBQTRDO0lBRTVDOzs7OztJQUFPLFVBQVMsTUFBVyxFQUFFLFdBQWM7UUFDdkMsa0JBQWtCLENBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRSxlQUFlLENBQUMsQ0FBQTtJQUM1RCxDQUFDLEVBQUE7QUFDTCxDQUFDOzs7Ozs7O0FBRUQsTUFBTSxVQUFVLGlCQUFpQixDQUFDLE1BQVcsRUFBRSxXQUFtQixFQUFFLElBQVk7O1VBQ3RFLFlBQVksR0FBUSxNQUFNLENBQUMsSUFBSSxDQUFDO0lBQ3RDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLGFBQWE7Ozs7O0lBQUMsVUFBb0IsR0FBRyxJQUFXO1FBQy9ELElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFBO1FBQ25DLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFBO0lBQ2xDLENBQUMsRUFBQyxDQUFBO0FBQ04sQ0FBQzs7Ozs7QUFFRCxNQUFNLFVBQVUsV0FBVztJQUN2Qjs7Ozs7SUFBTyxVQUFTLE1BQU0sRUFBRSxXQUFtQjtRQUN2QyxPQUFPLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsYUFBYSxDQUFDLENBQUE7SUFDaEUsQ0FBQyxFQUFBO0FBQ0wsQ0FBQzs7Ozs7QUFFRCxNQUFNLFVBQVUsUUFBUTtJQUNwQjs7Ozs7SUFBTyxVQUFTLE1BQU0sRUFBRSxXQUFXO1FBQy9CLE9BQU8saUJBQWlCLENBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRSxVQUFVLENBQUMsQ0FBQTtJQUM3RCxDQUFDLEVBQUE7QUFDTCxDQUFDOzs7OztBQUVELE1BQU0sVUFBVSxTQUFTO0lBQ3JCOzs7OztJQUFPLFVBQVMsTUFBTSxFQUFFLFdBQVc7UUFDL0IsT0FBTyxpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLFdBQVcsQ0FBQyxDQUFBO0lBQzlELENBQUMsRUFBQTtBQUNMLENBQUM7Ozs7O0FBRUQsTUFBTSxVQUFVLGtCQUFrQjtJQUk5Qjs7Ozs7SUFBTyxVQUFTLE1BQU0sRUFBRSxXQUFXO1FBQy9CLE9BQU8saUJBQWlCLENBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRSxvQkFBb0IsQ0FBQyxDQUFBO0lBQ3ZFLENBQUMsRUFBQTtBQUNMLENBQUM7Ozs7O0FBRUQsTUFBTSxVQUFVLHFCQUFxQjtJQUlqQzs7Ozs7SUFBTyxVQUFTLE1BQU0sRUFBRSxXQUFXO1FBQy9CLE9BQU8saUJBQWlCLENBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRSx1QkFBdUIsQ0FBQyxDQUFBO0lBQzFFLENBQUMsRUFBQTtBQUNMLENBQUM7Ozs7O0FBRUQsTUFBTSxVQUFVLGVBQWU7SUFJM0I7Ozs7O0lBQU8sVUFBUyxNQUFNLEVBQUUsV0FBVztRQUMvQixPQUFPLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsaUJBQWlCLENBQUMsQ0FBQTtJQUNwRSxDQUFDLEVBQUE7QUFDTCxDQUFDOzs7OztBQUVELE1BQU0sVUFBVSxrQkFBa0I7SUFJOUI7Ozs7O0lBQU8sVUFBUyxNQUFNLEVBQUUsV0FBVztRQUMvQixPQUFPLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsb0JBQW9CLENBQUMsQ0FBQTtJQUN2RSxDQUFDLEVBQUE7QUFDTCxDQUFDOzs7OztBQUVELE1BQU0sVUFBVSxXQUFXO0lBQ3ZCOzs7OztJQUFPLFVBQVMsTUFBTSxFQUFFLFdBQVc7UUFDL0IsT0FBTyxpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLGFBQWEsQ0FBQyxDQUFBO0lBQ2hFLENBQUMsRUFBQTtBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBtYWtlUHJvcGVydHlNYXBwZXIgfSBmcm9tIFwiLi9tYWtlLXByb3BlcnR5LW1hcHBlclwiXHJcbmltcG9ydCB7IEludm9rZVN1YmplY3QgfSBmcm9tIFwiLi4vaW52b2tlLXN1YmplY3RcIlxyXG5pbXBvcnQgeyBOZ09ic2VydmFibGUgfSBmcm9tIFwiLi4vbmctb2JzZXJ2YWJsZVwiXHJcblxyXG5leHBvcnQgZnVuY3Rpb24gbWFrZURlY29yYXRvcihkZWNvcmF0b3I6IEZ1bmN0aW9uKTogYW55IHtcclxuICAgIHJldHVybiBkZWNvcmF0b3JcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIG1ha2VQcm9wRGVjb3JhdG9yKGRlY29yYXRvcjogRnVuY3Rpb24pOiBhbnkge1xyXG4gICAgcmV0dXJuIGRlY29yYXRvclxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY29tcHV0ZWQ8UiBleHRlbmRzIHVua25vd24gPSBuZXZlciwgVCBleHRlbmRzIGFueSA9IGFueSwgVSBleHRlbmRzIHN0cmluZyA9IHN0cmluZz4oXHJcbiAgICBzZWxlY3RvckZhY3Rvcnk6ICgpID0+IChzdGF0ZTogYW55KSA9PiBUICYgUixcclxuKSB7XHJcbiAgICByZXR1cm4gZnVuY3Rpb24odGFyZ2V0OiBhbnksIHByb3BlcnR5S2V5OiBVKSB7XHJcbiAgICAgICAgbWFrZVByb3BlcnR5TWFwcGVyKHRhcmdldCwgcHJvcGVydHlLZXksIHNlbGVjdG9yRmFjdG9yeSlcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGRlY29yYXRlTGlmZWN5Y2xlKHRhcmdldDogYW55LCBwcm9wZXJ0eUtleTogc3RyaW5nLCBuYW1lOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IG9yaWdpbmFsSG9vazogYW55ID0gdGFyZ2V0W25hbWVdXHJcbiAgICB0YXJnZXRbbmFtZV0gPSBuZXcgSW52b2tlU3ViamVjdChmdW5jdGlvbih0aGlzOiBhbnksIC4uLmFyZ3M6IGFueVtdKSB7XHJcbiAgICAgICAgdGhpc1twcm9wZXJ0eUtleV0uYXBwbHkodGhpcywgYXJncylcclxuICAgICAgICBvcmlnaW5hbEhvb2suYXBwbHkodGhpcywgYXJncylcclxuICAgIH0pXHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBuZ09uQ2hhbmdlczxUIGV4dGVuZHMgTmdPYnNlcnZhYmxlPigpOiAodGFyZ2V0OiBULCBwcm9wZXJ0eUtleTogc3RyaW5nKSA9PiB2b2lkIHtcclxuICAgIHJldHVybiBmdW5jdGlvbih0YXJnZXQsIHByb3BlcnR5S2V5OiBzdHJpbmcpIHtcclxuICAgICAgICByZXR1cm4gZGVjb3JhdGVMaWZlY3ljbGUodGFyZ2V0LCBwcm9wZXJ0eUtleSwgXCJuZ09uQ2hhbmdlc1wiKVxyXG4gICAgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gbmdPbkluaXQ8VCBleHRlbmRzIE5nT2JzZXJ2YWJsZT4oKTogKHRhcmdldDogVCwgcHJvcGVydHlLZXk6IHN0cmluZykgPT4gdm9pZCB7XHJcbiAgICByZXR1cm4gZnVuY3Rpb24odGFyZ2V0LCBwcm9wZXJ0eUtleSkge1xyXG4gICAgICAgIHJldHVybiBkZWNvcmF0ZUxpZmVjeWNsZSh0YXJnZXQsIHByb3BlcnR5S2V5LCBcIm5nT25Jbml0XCIpXHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBuZ0RvQ2hlY2s8VCBleHRlbmRzIE5nT2JzZXJ2YWJsZT4oKTogKHRhcmdldDogVCwgcHJvcGVydHlLZXk6IHN0cmluZykgPT4gdm9pZCB7XHJcbiAgICByZXR1cm4gZnVuY3Rpb24odGFyZ2V0LCBwcm9wZXJ0eUtleSkge1xyXG4gICAgICAgIHJldHVybiBkZWNvcmF0ZUxpZmVjeWNsZSh0YXJnZXQsIHByb3BlcnR5S2V5LCBcIm5nRG9DaGVja1wiKVxyXG4gICAgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gbmdBZnRlckNvbnRlbnRJbml0PFQgZXh0ZW5kcyBOZ09ic2VydmFibGU+KCk6IChcclxuICAgIHRhcmdldDogVCxcclxuICAgIHByb3BlcnR5S2V5OiBzdHJpbmcsXHJcbikgPT4gdm9pZCB7XHJcbiAgICByZXR1cm4gZnVuY3Rpb24odGFyZ2V0LCBwcm9wZXJ0eUtleSkge1xyXG4gICAgICAgIHJldHVybiBkZWNvcmF0ZUxpZmVjeWNsZSh0YXJnZXQsIHByb3BlcnR5S2V5LCBcIm5nQWZ0ZXJDb250ZW50SW5pdFwiKVxyXG4gICAgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gbmdBZnRlckNvbnRlbnRDaGVja2VkPFQgZXh0ZW5kcyBOZ09ic2VydmFibGU+KCk6IChcclxuICAgIHRhcmdldDogVCxcclxuICAgIHByb3BlcnR5S2V5OiBzdHJpbmcsXHJcbikgPT4gdm9pZCB7XHJcbiAgICByZXR1cm4gZnVuY3Rpb24odGFyZ2V0LCBwcm9wZXJ0eUtleSkge1xyXG4gICAgICAgIHJldHVybiBkZWNvcmF0ZUxpZmVjeWNsZSh0YXJnZXQsIHByb3BlcnR5S2V5LCBcIm5nQWZ0ZXJDb250ZW50Q2hlY2tlZFwiKVxyXG4gICAgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gbmdBZnRlclZpZXdJbml0PFQgZXh0ZW5kcyBOZ09ic2VydmFibGU+KCk6IChcclxuICAgIHRhcmdldDogVCxcclxuICAgIHByb3BlcnR5S2V5OiBzdHJpbmcsXHJcbikgPT4gdm9pZCB7XHJcbiAgICByZXR1cm4gZnVuY3Rpb24odGFyZ2V0LCBwcm9wZXJ0eUtleSkge1xyXG4gICAgICAgIHJldHVybiBkZWNvcmF0ZUxpZmVjeWNsZSh0YXJnZXQsIHByb3BlcnR5S2V5LCBcIm5nQWZ0ZXJWaWV3SW5pdFwiKVxyXG4gICAgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gbmdBZnRlclZpZXdDaGVja2VkPFQgZXh0ZW5kcyBOZ09ic2VydmFibGU+KCk6IChcclxuICAgIHRhcmdldDogVCxcclxuICAgIHByb3BlcnR5S2V5OiBzdHJpbmcsXHJcbikgPT4gdm9pZCB7XHJcbiAgICByZXR1cm4gZnVuY3Rpb24odGFyZ2V0LCBwcm9wZXJ0eUtleSkge1xyXG4gICAgICAgIHJldHVybiBkZWNvcmF0ZUxpZmVjeWNsZSh0YXJnZXQsIHByb3BlcnR5S2V5LCBcIm5nQWZ0ZXJWaWV3Q2hlY2tlZFwiKVxyXG4gICAgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gbmdPbkRlc3Ryb3k8VCBleHRlbmRzIE5nT2JzZXJ2YWJsZT4oKTogKHRhcmdldDogVCwgcHJvcGVydHlLZXk6IHN0cmluZykgPT4gdm9pZCB7XHJcbiAgICByZXR1cm4gZnVuY3Rpb24odGFyZ2V0LCBwcm9wZXJ0eUtleSkge1xyXG4gICAgICAgIHJldHVybiBkZWNvcmF0ZUxpZmVjeWNsZSh0YXJnZXQsIHByb3BlcnR5S2V5LCBcIm5nT25EZXN0cm95XCIpXHJcbiAgICB9XHJcbn1cclxuXHJcbiJdfQ==