UNPKG

@datorama/akita

Version:

State Management Tailored-Made for JS Applications

51 lines 5.53 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { isNil } from './isNil'; import { isObject } from './isObject'; import { isArray } from './isArray'; // @internal /** * @param {?} idOrOptions * @param {?} ids * @param {?} currentActive * @return {?} */ export function getActiveEntities(idOrOptions, ids, currentActive) { /** @type {?} */ var result; if (isArray(idOrOptions)) { result = idOrOptions; } else { if (isObject(idOrOptions)) { if (isNil(currentActive)) return; ((/** @type {?} */ (idOrOptions))) = Object.assign({ wrap: true }, idOrOptions); /** @type {?} */ var currentIdIndex = ids.indexOf((/** @type {?} */ (currentActive))); if (((/** @type {?} */ (idOrOptions))).prev) { /** @type {?} */ var isFirst = currentIdIndex === 0; if (isFirst && !((/** @type {?} */ (idOrOptions))).wrap) return; result = isFirst ? ids[ids.length - 1] : ((/** @type {?} */ (ids[currentIdIndex - 1]))); } else if (((/** @type {?} */ (idOrOptions))).next) { /** @type {?} */ var isLast = ids.length === currentIdIndex + 1; if (isLast && !((/** @type {?} */ (idOrOptions))).wrap) return; result = isLast ? ids[0] : ((/** @type {?} */ (ids[currentIdIndex + 1]))); } } else { if (idOrOptions === currentActive) return; result = (/** @type {?} */ (idOrOptions)); } } return result; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0QWN0aXZlRW50aXRpZXMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZGF0b3JhbWEvYWtpdGEvIiwic291cmNlcyI6WyJzcmMvZ2V0QWN0aXZlRW50aXRpZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUNBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDaEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN0QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDOzs7Ozs7OztBQUtwQyxNQUFNLFVBQVUsaUJBQWlCLENBQUMsV0FBMEMsRUFBRSxHQUFTLEVBQUUsYUFBeUI7O1FBQzVHLE1BQU07SUFFVixJQUFJLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRTtRQUN4QixNQUFNLEdBQUcsV0FBVyxDQUFDO0tBQ3RCO1NBQU07UUFDTCxJQUFJLFFBQVEsQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUN6QixJQUFJLEtBQUssQ0FBQyxhQUFhLENBQUM7Z0JBQUUsT0FBTztZQUNqQyxDQUFDLG1CQUFBLFdBQVcsRUFBb0IsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEVBQUUsV0FBVyxDQUFDLENBQUM7O2dCQUN6RSxjQUFjLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxtQkFBQSxhQUFhLEVBQU0sQ0FBQztZQUN2RCxJQUFJLENBQUMsbUJBQUEsV0FBVyxFQUFvQixDQUFDLENBQUMsSUFBSSxFQUFFOztvQkFDcEMsT0FBTyxHQUFHLGNBQWMsS0FBSyxDQUFDO2dCQUNwQyxJQUFJLE9BQU8sSUFBSSxDQUFDLENBQUMsbUJBQUEsV0FBVyxFQUFvQixDQUFDLENBQUMsSUFBSTtvQkFBRSxPQUFPO2dCQUMvRCxNQUFNLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxtQkFBQSxHQUFHLENBQUMsY0FBYyxHQUFHLENBQUMsQ0FBQyxFQUFPLENBQUMsQ0FBQzthQUMzRTtpQkFBTSxJQUFJLENBQUMsbUJBQUEsV0FBVyxFQUFvQixDQUFDLENBQUMsSUFBSSxFQUFFOztvQkFDM0MsTUFBTSxHQUFHLEdBQUcsQ0FBQyxNQUFNLEtBQUssY0FBYyxHQUFHLENBQUM7Z0JBQ2hELElBQUksTUFBTSxJQUFJLENBQUMsQ0FBQyxtQkFBQSxXQUFXLEVBQW9CLENBQUMsQ0FBQyxJQUFJO29CQUFFLE9BQU87Z0JBQzlELE1BQU0sR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxtQkFBQSxHQUFHLENBQUMsY0FBYyxHQUFHLENBQUMsQ0FBQyxFQUFPLENBQUMsQ0FBQzthQUM3RDtTQUNGO2FBQU07WUFDTCxJQUFJLFdBQVcsS0FBSyxhQUFhO2dCQUFFLE9BQU87WUFDMUMsTUFBTSxHQUFHLG1CQUFBLFdBQVcsRUFBTSxDQUFDO1NBQzVCO0tBQ0Y7SUFFRCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUQsIElEUyB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgaXNOaWwgfSBmcm9tICcuL2lzTmlsJztcbmltcG9ydCB7IGlzT2JqZWN0IH0gZnJvbSAnLi9pc09iamVjdCc7XG5pbXBvcnQgeyBpc0FycmF5IH0gZnJvbSAnLi9pc0FycmF5JztcblxuZXhwb3J0IHR5cGUgU2V0QWN0aXZlT3B0aW9ucyA9IHsgcHJldj86IGJvb2xlYW47IG5leHQ/OiBib29sZWFuOyB3cmFwPzogYm9vbGVhbiB9O1xuXG4vLyBAaW50ZXJuYWxcbmV4cG9ydCBmdW5jdGlvbiBnZXRBY3RpdmVFbnRpdGllcyhpZE9yT3B0aW9uczogSURTIHwgU2V0QWN0aXZlT3B0aW9ucyB8IG51bGwsIGlkczogSURbXSwgY3VycmVudEFjdGl2ZTogSURTIHwgbnVsbCkge1xuICBsZXQgcmVzdWx0O1xuXG4gIGlmIChpc0FycmF5KGlkT3JPcHRpb25zKSkge1xuICAgIHJlc3VsdCA9IGlkT3JPcHRpb25zO1xuICB9IGVsc2Uge1xuICAgIGlmIChpc09iamVjdChpZE9yT3B0aW9ucykpIHtcbiAgICAgIGlmIChpc05pbChjdXJyZW50QWN0aXZlKSkgcmV0dXJuO1xuICAgICAgKGlkT3JPcHRpb25zIGFzIFNldEFjdGl2ZU9wdGlvbnMpID0gT2JqZWN0LmFzc2lnbih7IHdyYXA6IHRydWUgfSwgaWRPck9wdGlvbnMpO1xuICAgICAgY29uc3QgY3VycmVudElkSW5kZXggPSBpZHMuaW5kZXhPZihjdXJyZW50QWN0aXZlIGFzIElEKTtcbiAgICAgIGlmICgoaWRPck9wdGlvbnMgYXMgU2V0QWN0aXZlT3B0aW9ucykucHJldikge1xuICAgICAgICBjb25zdCBpc0ZpcnN0ID0gY3VycmVudElkSW5kZXggPT09IDA7XG4gICAgICAgIGlmIChpc0ZpcnN0ICYmICEoaWRPck9wdGlvbnMgYXMgU2V0QWN0aXZlT3B0aW9ucykud3JhcCkgcmV0dXJuO1xuICAgICAgICByZXN1bHQgPSBpc0ZpcnN0ID8gaWRzW2lkcy5sZW5ndGggLSAxXSA6IChpZHNbY3VycmVudElkSW5kZXggLSAxXSBhcyBhbnkpO1xuICAgICAgfSBlbHNlIGlmICgoaWRPck9wdGlvbnMgYXMgU2V0QWN0aXZlT3B0aW9ucykubmV4dCkge1xuICAgICAgICBjb25zdCBpc0xhc3QgPSBpZHMubGVuZ3RoID09PSBjdXJyZW50SWRJbmRleCArIDE7XG4gICAgICAgIGlmIChpc0xhc3QgJiYgIShpZE9yT3B0aW9ucyBhcyBTZXRBY3RpdmVPcHRpb25zKS53cmFwKSByZXR1cm47XG4gICAgICAgIHJlc3VsdCA9IGlzTGFzdCA/IGlkc1swXSA6IChpZHNbY3VycmVudElkSW5kZXggKyAxXSBhcyBhbnkpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoaWRPck9wdGlvbnMgPT09IGN1cnJlbnRBY3RpdmUpIHJldHVybjtcbiAgICAgIHJlc3VsdCA9IGlkT3JPcHRpb25zIGFzIElEO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiByZXN1bHQ7XG59XG4iXX0=