UNPKG

@datorama/akita

Version:

State Management Tailored-Made for JS Applications

42 lines 3.18 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** @enum {string} */ const Order = { ASC: 'asc', DESC: 'desc', }; export { Order }; // @internal /** * @param {?} key * @param {?=} order * @return {?} */ export function compareValues(key, order = Order.ASC) { return (/** * @param {?} a * @param {?} b * @return {?} */ function (a, b) { if (!a.hasOwnProperty(key) || !b.hasOwnProperty(key)) { return 0; } /** @type {?} */ const varA = typeof a[key] === 'string' ? a[key].toUpperCase() : a[key]; /** @type {?} */ const varB = typeof b[key] === 'string' ? b[key].toUpperCase() : b[key]; /** @type {?} */ let comparison = 0; if (varA > varB) { comparison = 1; } else if (varA < varB) { comparison = -1; } return order == Order.DESC ? comparison * -1 : comparison; }); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BkYXRvcmFtYS9ha2l0YS8iLCJzb3VyY2VzIjpbInNyYy9zb3J0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztJQUNFLEtBQU0sS0FBSztJQUNYLE1BQU8sTUFBTTs7Ozs7Ozs7O0FBSWYsTUFBTSxVQUFVLGFBQWEsQ0FBQyxHQUFHLEVBQUUsUUFBZSxLQUFLLENBQUMsR0FBRztJQUN6RDs7Ozs7SUFBTyxVQUFTLENBQUMsRUFBRSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNwRCxPQUFPLENBQUMsQ0FBQztTQUNWOztjQUVLLElBQUksR0FBRyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQzs7Y0FDakUsSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDOztZQUVuRSxVQUFVLEdBQUcsQ0FBQztRQUNsQixJQUFJLElBQUksR0FBRyxJQUFJLEVBQUU7WUFDZixVQUFVLEdBQUcsQ0FBQyxDQUFDO1NBQ2hCO2FBQU0sSUFBSSxJQUFJLEdBQUcsSUFBSSxFQUFFO1lBQ3RCLFVBQVUsR0FBRyxDQUFDLENBQUMsQ0FBQztTQUNqQjtRQUNELE9BQU8sS0FBSyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDO0lBQzVELENBQUMsRUFBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBPcmRlciB7XG4gIEFTQyA9ICdhc2MnLFxuICBERVNDID0gJ2Rlc2MnXG59XG5cbi8vIEBpbnRlcm5hbFxuZXhwb3J0IGZ1bmN0aW9uIGNvbXBhcmVWYWx1ZXMoa2V5LCBvcmRlcjogT3JkZXIgPSBPcmRlci5BU0MpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uKGEsIGIpIHtcbiAgICBpZiAoIWEuaGFzT3duUHJvcGVydHkoa2V5KSB8fCAhYi5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG5cbiAgICBjb25zdCB2YXJBID0gdHlwZW9mIGFba2V5XSA9PT0gJ3N0cmluZycgPyBhW2tleV0udG9VcHBlckNhc2UoKSA6IGFba2V5XTtcbiAgICBjb25zdCB2YXJCID0gdHlwZW9mIGJba2V5XSA9PT0gJ3N0cmluZycgPyBiW2tleV0udG9VcHBlckNhc2UoKSA6IGJba2V5XTtcblxuICAgIGxldCBjb21wYXJpc29uID0gMDtcbiAgICBpZiAodmFyQSA+IHZhckIpIHtcbiAgICAgIGNvbXBhcmlzb24gPSAxO1xuICAgIH0gZWxzZSBpZiAodmFyQSA8IHZhckIpIHtcbiAgICAgIGNvbXBhcmlzb24gPSAtMTtcbiAgICB9XG4gICAgcmV0dXJuIG9yZGVyID09IE9yZGVyLkRFU0MgPyBjb21wYXJpc29uICogLTEgOiBjb21wYXJpc29uO1xuICB9O1xufVxuIl19