crystalline
Version:
A modern utility library with a strong emphasis on readability. Make your code crystal clear.
33 lines (32 loc) • 1.75 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.sort = void 0;
var sort_1 = __importDefault(require("ramda/src/sort"));
var ascend_1 = __importDefault(require("ramda/src/ascend"));
var descend_1 = __importDefault(require("ramda/src/descend"));
var sortWith_1 = __importDefault(require("ramda/src/sortWith"));
var prop_1 = __importDefault(require("ramda/src/prop"));
var sort = function (arr) { return ({
ascendingByProperty: function (prop) { return sort_1.default(ascend_1.default(prop_1.default(prop)), arr); },
descendingByProperty: function (prop) { return sort_1.default(descend_1.default(prop_1.default(prop)), arr); },
firstAscendingByProperty: function (prop1) { return ({
thenAscendingByProperty: function (prop2) {
return sortWith_1.default([ascend_1.default(prop_1.default(prop1)), ascend_1.default(prop_1.default(prop2))])(arr);
},
thenDescendingByProperty: function (prop2) {
return sortWith_1.default([ascend_1.default(prop_1.default(prop1)), descend_1.default(prop_1.default(prop2))])(arr);
},
}); },
firstDescendingByProperty: function (prop1) { return ({
thenAscendingByProperty: function (prop2) {
return sortWith_1.default([descend_1.default(prop_1.default(prop1)), ascend_1.default(prop_1.default(prop2))])(arr);
},
thenDescendingByProperty: function (prop2) {
return sortWith_1.default([descend_1.default(prop_1.default(prop1)), descend_1.default(prop_1.default(prop2))])(arr);
},
}); },
}); };
exports.sort = sort;