@newdash/newdash
Version:
javascript/typescript utility library
33 lines (32 loc) • 1.23 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.sortBy = void 0;
const baseFlatten_1 = __importDefault(require("./.internal/baseFlatten"));
const baseOrderBy_1 = __importDefault(require("./.internal/baseOrderBy"));
const baseRest_1 = __importDefault(require("./.internal/baseRest"));
const isIterateeCall_1 = __importDefault(require("./.internal/isIterateeCall"));
/**
* @ignore
* @private
*/
const internalSortBy = (0, baseRest_1.default)((collection, iteratees) => {
if (collection == null) {
return [];
}
const length = iteratees.length;
if (length > 1 && (0, isIterateeCall_1.default)(collection, iteratees[0], iteratees[1])) {
iteratees = [];
}
else if (length > 2 && (0, isIterateeCall_1.default)(iteratees[0], iteratees[1], iteratees[2])) {
iteratees = [iteratees[0]];
}
return (0, baseOrderBy_1.default)(collection, (0, baseFlatten_1.default)(iteratees, 1), []);
});
function sortBy(...args) {
return internalSortBy(...args);
}
exports.sortBy = sortBy;
exports.default = sortBy;