UNPKG

@zodiac-ui/ng-observable

Version:

Create powerful reactive components with Angular. AoT compatible and Ivy ready.

167 lines 10.6 kB
/** * @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==