UNPKG

1.16 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3var tslib_1 = require("tslib");
4var is_array_1 = (0, tslib_1.__importDefault)(require("./is-array"));
5var is_string_1 = (0, tslib_1.__importDefault)(require("./is-string"));
6var is_function_1 = (0, tslib_1.__importDefault)(require("./is-function"));
7function sortBy(arr, key) {
8 var comparer;
9 if ((0, is_function_1.default)(key)) {
10 comparer = function (a, b) { return key(a) - key(b); };
11 }
12 else {
13 var keys_1 = [];
14 if ((0, is_string_1.default)(key)) {
15 keys_1.push(key);
16 }
17 else if ((0, is_array_1.default)(key)) {
18 keys_1 = key;
19 }
20 comparer = function (a, b) {
21 for (var i = 0; i < keys_1.length; i += 1) {
22 var prop = keys_1[i];
23 if (a[prop] > b[prop]) {
24 return 1;
25 }
26 if (a[prop] < b[prop]) {
27 return -1;
28 }
29 }
30 return 0;
31 };
32 }
33 arr.sort(comparer);
34 return arr;
35}
36exports.default = sortBy;
37//# sourceMappingURL=sort-by.js.map
\No newline at end of file