UNPKG

@zodiac-ui/ng-observable

Version:

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

171 lines 10.7 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 {?} */ var originalHook = target[name]; target[name] = new InvokeSubject((/** * @this {?} * @param {...?} args * @return {?} */ function () { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B6b2RpYWMtdWkvbmctb2JzZXJ2YWJsZS8iLCJzb3VyY2VzIjpbImxpYi9pbnRlcm5hbHMvZGVjb3JhdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFBOzs7OztBQUdqRCxNQUFNLFVBQVUsYUFBYSxDQUFDLFNBQW1CO0lBQzdDLE9BQU8sU0FBUyxDQUFBO0FBQ3BCLENBQUM7Ozs7O0FBRUQsTUFBTSxVQUFVLGlCQUFpQixDQUFDLFNBQW1CO0lBQ2pELE9BQU8sU0FBUyxDQUFBO0FBQ3BCLENBQUM7Ozs7OztBQUVELE1BQU0sVUFBVSxRQUFRLENBQ3BCLGVBQTRDO0lBRTVDOzs7OztJQUFPLFVBQVMsTUFBVyxFQUFFLFdBQWM7UUFDdkMsa0JBQWtCLENBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRSxlQUFlLENBQUMsQ0FBQTtJQUM1RCxDQUFDLEVBQUE7QUFDTCxDQUFDOzs7Ozs7O0FBRUQsTUFBTSxVQUFVLGlCQUFpQixDQUFDLE1BQVcsRUFBRSxXQUFtQixFQUFFLElBQVk7O1FBQ3RFLFlBQVksR0FBUSxNQUFNLENBQUMsSUFBSSxDQUFDO0lBQ3RDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLGFBQWE7Ozs7O0lBQUM7UUFBb0IsY0FBYzthQUFkLFVBQWMsRUFBZCxxQkFBYyxFQUFkLElBQWM7WUFBZCx5QkFBYzs7UUFDL0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUE7UUFDbkMsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUE7SUFDbEMsQ0FBQyxFQUFDLENBQUE7QUFDTixDQUFDOzs7OztBQUVELE1BQU0sVUFBVSxXQUFXO0lBQ3ZCOzs7OztJQUFPLFVBQVMsTUFBTSxFQUFFLFdBQW1CO1FBQ3ZDLE9BQU8saUJBQWlCLENBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRSxhQUFhLENBQUMsQ0FBQTtJQUNoRSxDQUFDLEVBQUE7QUFDTCxDQUFDOzs7OztBQUVELE1BQU0sVUFBVSxRQUFRO0lBQ3BCOzs7OztJQUFPLFVBQVMsTUFBTSxFQUFFLFdBQVc7UUFDL0IsT0FBTyxpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxDQUFBO0lBQzdELENBQUMsRUFBQTtBQUNMLENBQUM7Ozs7O0FBRUQsTUFBTSxVQUFVLFNBQVM7SUFDckI7Ozs7O0lBQU8sVUFBUyxNQUFNLEVBQUUsV0FBVztRQUMvQixPQUFPLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsV0FBVyxDQUFDLENBQUE7SUFDOUQsQ0FBQyxFQUFBO0FBQ0wsQ0FBQzs7Ozs7QUFFRCxNQUFNLFVBQVUsa0JBQWtCO0lBSTlCOzs7OztJQUFPLFVBQVMsTUFBTSxFQUFFLFdBQVc7UUFDL0IsT0FBTyxpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLG9CQUFvQixDQUFDLENBQUE7SUFDdkUsQ0FBQyxFQUFBO0FBQ0wsQ0FBQzs7Ozs7QUFFRCxNQUFNLFVBQVUscUJBQXFCO0lBSWpDOzs7OztJQUFPLFVBQVMsTUFBTSxFQUFFLFdBQVc7UUFDL0IsT0FBTyxpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLHVCQUF1QixDQUFDLENBQUE7SUFDMUUsQ0FBQyxFQUFBO0FBQ0wsQ0FBQzs7Ozs7QUFFRCxNQUFNLFVBQVUsZUFBZTtJQUkzQjs7Ozs7SUFBTyxVQUFTLE1BQU0sRUFBRSxXQUFXO1FBQy9CLE9BQU8saUJBQWlCLENBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsQ0FBQyxDQUFBO0lBQ3BFLENBQUMsRUFBQTtBQUNMLENBQUM7Ozs7O0FBRUQsTUFBTSxVQUFVLGtCQUFrQjtJQUk5Qjs7Ozs7SUFBTyxVQUFTLE1BQU0sRUFBRSxXQUFXO1FBQy9CLE9BQU8saUJBQWlCLENBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRSxvQkFBb0IsQ0FBQyxDQUFBO0lBQ3ZFLENBQUMsRUFBQTtBQUNMLENBQUM7Ozs7O0FBRUQsTUFBTSxVQUFVLFdBQVc7SUFDdkI7Ozs7O0lBQU8sVUFBUyxNQUFNLEVBQUUsV0FBVztRQUMvQixPQUFPLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsYUFBYSxDQUFDLENBQUE7SUFDaEUsQ0FBQyxFQUFBO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG1ha2VQcm9wZXJ0eU1hcHBlciB9IGZyb20gXCIuL21ha2UtcHJvcGVydHktbWFwcGVyXCJcclxuaW1wb3J0IHsgSW52b2tlU3ViamVjdCB9IGZyb20gXCIuLi9pbnZva2Utc3ViamVjdFwiXHJcbmltcG9ydCB7IE5nT2JzZXJ2YWJsZSB9IGZyb20gXCIuLi9uZy1vYnNlcnZhYmxlXCJcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBtYWtlRGVjb3JhdG9yKGRlY29yYXRvcjogRnVuY3Rpb24pOiBhbnkge1xyXG4gICAgcmV0dXJuIGRlY29yYXRvclxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gbWFrZVByb3BEZWNvcmF0b3IoZGVjb3JhdG9yOiBGdW5jdGlvbik6IGFueSB7XHJcbiAgICByZXR1cm4gZGVjb3JhdG9yXHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBjb21wdXRlZDxSIGV4dGVuZHMgdW5rbm93biA9IG5ldmVyLCBUIGV4dGVuZHMgYW55ID0gYW55LCBVIGV4dGVuZHMgc3RyaW5nID0gc3RyaW5nPihcclxuICAgIHNlbGVjdG9yRmFjdG9yeTogKCkgPT4gKHN0YXRlOiBhbnkpID0+IFQgJiBSLFxyXG4pIHtcclxuICAgIHJldHVybiBmdW5jdGlvbih0YXJnZXQ6IGFueSwgcHJvcGVydHlLZXk6IFUpIHtcclxuICAgICAgICBtYWtlUHJvcGVydHlNYXBwZXIodGFyZ2V0LCBwcm9wZXJ0eUtleSwgc2VsZWN0b3JGYWN0b3J5KVxyXG4gICAgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZGVjb3JhdGVMaWZlY3ljbGUodGFyZ2V0OiBhbnksIHByb3BlcnR5S2V5OiBzdHJpbmcsIG5hbWU6IHN0cmluZykge1xyXG4gICAgY29uc3Qgb3JpZ2luYWxIb29rOiBhbnkgPSB0YXJnZXRbbmFtZV1cclxuICAgIHRhcmdldFtuYW1lXSA9IG5ldyBJbnZva2VTdWJqZWN0KGZ1bmN0aW9uKHRoaXM6IGFueSwgLi4uYXJnczogYW55W10pIHtcclxuICAgICAgICB0aGlzW3Byb3BlcnR5S2V5XS5hcHBseSh0aGlzLCBhcmdzKVxyXG4gICAgICAgIG9yaWdpbmFsSG9vay5hcHBseSh0aGlzLCBhcmdzKVxyXG4gICAgfSlcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIG5nT25DaGFuZ2VzPFQgZXh0ZW5kcyBOZ09ic2VydmFibGU+KCk6ICh0YXJnZXQ6IFQsIHByb3BlcnR5S2V5OiBzdHJpbmcpID0+IHZvaWQge1xyXG4gICAgcmV0dXJuIGZ1bmN0aW9uKHRhcmdldCwgcHJvcGVydHlLZXk6IHN0cmluZykge1xyXG4gICAgICAgIHJldHVybiBkZWNvcmF0ZUxpZmVjeWNsZSh0YXJnZXQsIHByb3BlcnR5S2V5LCBcIm5nT25DaGFuZ2VzXCIpXHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBuZ09uSW5pdDxUIGV4dGVuZHMgTmdPYnNlcnZhYmxlPigpOiAodGFyZ2V0OiBULCBwcm9wZXJ0eUtleTogc3RyaW5nKSA9PiB2b2lkIHtcclxuICAgIHJldHVybiBmdW5jdGlvbih0YXJnZXQsIHByb3BlcnR5S2V5KSB7XHJcbiAgICAgICAgcmV0dXJuIGRlY29yYXRlTGlmZWN5Y2xlKHRhcmdldCwgcHJvcGVydHlLZXksIFwibmdPbkluaXRcIilcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIG5nRG9DaGVjazxUIGV4dGVuZHMgTmdPYnNlcnZhYmxlPigpOiAodGFyZ2V0OiBULCBwcm9wZXJ0eUtleTogc3RyaW5nKSA9PiB2b2lkIHtcclxuICAgIHJldHVybiBmdW5jdGlvbih0YXJnZXQsIHByb3BlcnR5S2V5KSB7XHJcbiAgICAgICAgcmV0dXJuIGRlY29yYXRlTGlmZWN5Y2xlKHRhcmdldCwgcHJvcGVydHlLZXksIFwibmdEb0NoZWNrXCIpXHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBuZ0FmdGVyQ29udGVudEluaXQ8VCBleHRlbmRzIE5nT2JzZXJ2YWJsZT4oKTogKFxyXG4gICAgdGFyZ2V0OiBULFxyXG4gICAgcHJvcGVydHlLZXk6IHN0cmluZyxcclxuKSA9PiB2b2lkIHtcclxuICAgIHJldHVybiBmdW5jdGlvbih0YXJnZXQsIHByb3BlcnR5S2V5KSB7XHJcbiAgICAgICAgcmV0dXJuIGRlY29yYXRlTGlmZWN5Y2xlKHRhcmdldCwgcHJvcGVydHlLZXksIFwibmdBZnRlckNvbnRlbnRJbml0XCIpXHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBuZ0FmdGVyQ29udGVudENoZWNrZWQ8VCBleHRlbmRzIE5nT2JzZXJ2YWJsZT4oKTogKFxyXG4gICAgdGFyZ2V0OiBULFxyXG4gICAgcHJvcGVydHlLZXk6IHN0cmluZyxcclxuKSA9PiB2b2lkIHtcclxuICAgIHJldHVybiBmdW5jdGlvbih0YXJnZXQsIHByb3BlcnR5S2V5KSB7XHJcbiAgICAgICAgcmV0dXJuIGRlY29yYXRlTGlmZWN5Y2xlKHRhcmdldCwgcHJvcGVydHlLZXksIFwibmdBZnRlckNvbnRlbnRDaGVja2VkXCIpXHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBuZ0FmdGVyVmlld0luaXQ8VCBleHRlbmRzIE5nT2JzZXJ2YWJsZT4oKTogKFxyXG4gICAgdGFyZ2V0OiBULFxyXG4gICAgcHJvcGVydHlLZXk6IHN0cmluZyxcclxuKSA9PiB2b2lkIHtcclxuICAgIHJldHVybiBmdW5jdGlvbih0YXJnZXQsIHByb3BlcnR5S2V5KSB7XHJcbiAgICAgICAgcmV0dXJuIGRlY29yYXRlTGlmZWN5Y2xlKHRhcmdldCwgcHJvcGVydHlLZXksIFwibmdBZnRlclZpZXdJbml0XCIpXHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBuZ0FmdGVyVmlld0NoZWNrZWQ8VCBleHRlbmRzIE5nT2JzZXJ2YWJsZT4oKTogKFxyXG4gICAgdGFyZ2V0OiBULFxyXG4gICAgcHJvcGVydHlLZXk6IHN0cmluZyxcclxuKSA9PiB2b2lkIHtcclxuICAgIHJldHVybiBmdW5jdGlvbih0YXJnZXQsIHByb3BlcnR5S2V5KSB7XHJcbiAgICAgICAgcmV0dXJuIGRlY29yYXRlTGlmZWN5Y2xlKHRhcmdldCwgcHJvcGVydHlLZXksIFwibmdBZnRlclZpZXdDaGVja2VkXCIpXHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBuZ09uRGVzdHJveTxUIGV4dGVuZHMgTmdPYnNlcnZhYmxlPigpOiAodGFyZ2V0OiBULCBwcm9wZXJ0eUtleTogc3RyaW5nKSA9PiB2b2lkIHtcclxuICAgIHJldHVybiBmdW5jdGlvbih0YXJnZXQsIHByb3BlcnR5S2V5KSB7XHJcbiAgICAgICAgcmV0dXJuIGRlY29yYXRlTGlmZWN5Y2xlKHRhcmdldCwgcHJvcGVydHlLZXksIFwibmdPbkRlc3Ryb3lcIilcclxuICAgIH1cclxufVxyXG5cclxuIl19