UNPKG

@datorama/akita

Version:

State Management Tailored-Made for JS Applications

34 lines 2.37 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { isFunction } from './isFunction'; /** * @template T * @param {?} keysOrFuncs * @return {?} */ export function compareKeys(keysOrFuncs) { return (/** * @template T * @param {?} prevState * @param {?} currState * @return {?} */ function (prevState, currState) { /** @type {?} */ const isFns = isFunction(keysOrFuncs[0]); // Return when they are NOT changed return keysOrFuncs.some((/** * @param {?} keyOrFunc * @return {?} */ keyOrFunc => { if (isFns) { return keyOrFunc(prevState) !== keyOrFunc(currState); } return prevState[keyOrFunc] !== currState[keyOrFunc]; })) === false; }); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGFyZUtleXMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZGF0b3JhbWEvYWtpdGEvIiwic291cmNlcyI6WyJzcmMvY29tcGFyZUtleXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7OztBQUUxQyxNQUFNLFVBQVUsV0FBVyxDQUFJLFdBQWtCO0lBQy9DOzs7Ozs7SUFBTyxVQUFhLFNBQVMsRUFBRSxTQUFTOztjQUNoQyxLQUFLLEdBQUcsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN4QyxtQ0FBbUM7UUFDbkMsT0FBTyxXQUFXLENBQUMsSUFBSTs7OztRQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ2xDLElBQUcsS0FBSyxFQUFFO2dCQUNSLE9BQU8sU0FBUyxDQUFDLFNBQVMsQ0FBQyxLQUFLLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUN0RDtZQUNELE9BQU8sU0FBUyxDQUFDLFNBQVMsQ0FBQyxLQUFLLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN2RCxDQUFDLEVBQUMsS0FBSyxLQUFLLENBQUM7SUFDZixDQUFDLEVBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNGdW5jdGlvbiB9IGZyb20gJy4vaXNGdW5jdGlvbic7XG5cbmV4cG9ydCBmdW5jdGlvbiBjb21wYXJlS2V5czxUPihrZXlzT3JGdW5jczogYW55W10pIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIDxUPihwcmV2U3RhdGUsIGN1cnJTdGF0ZSkge1xuICAgIGNvbnN0IGlzRm5zID0gaXNGdW5jdGlvbihrZXlzT3JGdW5jc1swXSk7XG4gICAgLy8gUmV0dXJuIHdoZW4gdGhleSBhcmUgTk9UIGNoYW5nZWRcbiAgICByZXR1cm4ga2V5c09yRnVuY3Muc29tZShrZXlPckZ1bmMgPT4ge1xuICAgICAgaWYoaXNGbnMpIHtcbiAgICAgICAgcmV0dXJuIGtleU9yRnVuYyhwcmV2U3RhdGUpICE9PSBrZXlPckZ1bmMoY3VyclN0YXRlKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBwcmV2U3RhdGVba2V5T3JGdW5jXSAhPT0gY3VyclN0YXRlW2tleU9yRnVuY107XG4gICAgfSkgPT09IGZhbHNlO1xuICB9O1xufVxuIl19