UNPKG

mongoose-diff-tracking

Version:
44 lines (40 loc) 1.18 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.sortByNotation = sortByNotation; function sortByNotation(arr, sortNotation) { var newArr = arr.slice(); var sortDnStrs = Object.keys(sortNotation); newArr.sort(function (a, b) { var _iteratorNormalCompletion = true; var _didIteratorError = false; var _iteratorError = undefined; try { for (var _iterator = sortDnStrs[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { var sortDnStr = _step.value; var valA = a[sortDnStr]; var valB = b[sortDnStr]; if (valA !== valB) { var direction = sortNotation[sortDnStr]; return valA > valB ? direction : (direction ^ -1) + 1; } } } catch (err) { _didIteratorError = true; _iteratorError = err; } finally { try { if (!_iteratorNormalCompletion && _iterator.return) { _iterator.return(); } } finally { if (_didIteratorError) { throw _iteratorError; } } } return 0; }); return newArr; }