UNPKG

@zodiac-ui/ng-observable

Version:

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

167 lines (161 loc) 4.33 kB
import { __spread } from 'tslib'; import { filter, take, map, distinctUntilChanged, mapTo } from 'rxjs/operators'; import { isObservable } from 'rxjs'; /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** * @template U, V * @param {?} source * @param {?} name * @param {?=} once * @param {?=} pipes * @return {?} */ function createLifecycleHook(source, name, once, pipes) { if (pipes === void 0) { pipes = [filter((/** * @param {?} inst * @return {?} */ function (inst) { return inst === source; }))]; } /** @type {?} */ var hook = source[name]; if (once) { pipes.push(take(1)); } if (isObservable(hook)) { return ((/** @type {?} */ (hook))).pipe.apply(((/** @type {?} */ (hook))), __spread(pipes)); } else { console.error(name + " is not an observable! Error context: ", source); throw new Error(); } } /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** * @template T, U * @param {?} source * @return {?} */ function ngOnChanges(source) { /** @type {?} */ var onChangesPipe = [filter((/** * @param {?} args * @return {?} */ function (args) { return args[0] === source; })), map((/** * @param {?} args * @return {?} */ function (args) { return args[1]; }))]; return createLifecycleHook(source, "ngOnChanges", false, onChangesPipe); } /** * @template T * @param {?} source * @return {?} */ function ngOnInit(source) { return createLifecycleHook(source, "ngOnInit", true); } /** * @template T * @param {?} source * @return {?} */ function ngDoCheck(source) { return createLifecycleHook(source, "ngDoCheck"); } /** * @template T * @param {?} source * @return {?} */ function ngAfterContentInit(source) { return createLifecycleHook(source, "ngAfterContentInit", true); } /** * @template T * @param {?} source * @return {?} */ function ngAfterContentChecked(source) { return createLifecycleHook(source, "ngAfterContentChecked"); } /** * @template T * @param {?} source * @return {?} */ function ngAfterViewInit(source) { return createLifecycleHook(source, "ngAfterViewInit", true); } /** * @template T * @param {?} source * @return {?} */ function ngAfterViewChecked(source) { return createLifecycleHook(source, "ngAfterViewChecked"); } /** * @template T * @param {?} source * @return {?} */ function ngOnDestroy(source) { return createLifecycleHook(source, "ngOnDestroy", true); } /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** * @template T, U * @param {...?} args * @return {?} */ function select() { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } /** @type {?} */ var selector = args[args.length - 1]; /** * @param {?} source * @return {?} */ function pipeState(source) { return source.pipe(map(selector), distinctUntilChanged()); } return args.length > 1 ? pipeState(args[0]) : pipeState; } /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** * @template T * @param {?=} value * @return {?} */ function defaultMapFn(value) { return value; } /** * @template T, U * @param {?} source * @param {?=} mapFn * @return {?} */ function mapInputsToState(source, mapFn) { if (mapFn === void 0) { mapFn = defaultMapFn; } return ngOnChanges(source).pipe(mapTo(Object.create(source)), map(mapFn)); } export { mapInputsToState, ngAfterContentChecked, ngAfterContentInit, ngAfterViewChecked, ngAfterViewInit, ngDoCheck, ngOnChanges, ngOnDestroy, ngOnInit, select, createLifecycleHook as ɵa }; //# sourceMappingURL=zodiac-ui-ng-observable-operators.js.map