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 {?} */ var isFns = isFunction(keysOrFuncs[0]); // Return when they are NOT changed return keysOrFuncs.some((/** * @param {?} keyOrFunc * @return {?} */ function (keyOrFunc) { if (isFns) { return keyOrFunc(prevState) !== keyOrFunc(currState); } return prevState[keyOrFunc] !== currState[keyOrFunc]; })) === false; }); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGFyZUtleXMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZGF0b3JhbWEvYWtpdGEvIiwic291cmNlcyI6WyJzcmMvY29tcGFyZUtleXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7OztBQUUxQyxNQUFNLFVBQVUsV0FBVyxDQUFJLFdBQWtCO0lBQy9DOzs7Ozs7SUFBTyxVQUFhLFNBQVMsRUFBRSxTQUFTOztZQUNoQyxLQUFLLEdBQUcsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN4QyxtQ0FBbUM7UUFDbkMsT0FBTyxXQUFXLENBQUMsSUFBSTs7OztRQUFDLFVBQUEsU0FBUztZQUMvQixJQUFHLEtBQUssRUFBRTtnQkFDUixPQUFPLFNBQVMsQ0FBQyxTQUFTLENBQUMsS0FBSyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDdEQ7WUFDRCxPQUFPLFNBQVMsQ0FBQyxTQUFTLENBQUMsS0FBSyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDdkQsQ0FBQyxFQUFDLEtBQUssS0FBSyxDQUFDO0lBQ2YsQ0FBQyxFQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzRnVuY3Rpb24gfSBmcm9tICcuL2lzRnVuY3Rpb24nO1xuXG5leHBvcnQgZnVuY3Rpb24gY29tcGFyZUtleXM8VD4oa2V5c09yRnVuY3M6IGFueVtdKSB7XG4gIHJldHVybiBmdW5jdGlvbiA8VD4ocHJldlN0YXRlLCBjdXJyU3RhdGUpIHtcbiAgICBjb25zdCBpc0ZucyA9IGlzRnVuY3Rpb24oa2V5c09yRnVuY3NbMF0pO1xuICAgIC8vIFJldHVybiB3aGVuIHRoZXkgYXJlIE5PVCBjaGFuZ2VkXG4gICAgcmV0dXJuIGtleXNPckZ1bmNzLnNvbWUoa2V5T3JGdW5jID0+IHtcbiAgICAgIGlmKGlzRm5zKSB7XG4gICAgICAgIHJldHVybiBrZXlPckZ1bmMocHJldlN0YXRlKSAhPT0ga2V5T3JGdW5jKGN1cnJTdGF0ZSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gcHJldlN0YXRlW2tleU9yRnVuY10gIT09IGN1cnJTdGF0ZVtrZXlPckZ1bmNdO1xuICAgIH0pID09PSBmYWxzZTtcbiAgfTtcbn1cbiJdfQ==