UNPKG

crystalline

Version:

A modern utility library with a strong emphasis on readability. Make your code crystal clear.

33 lines (32 loc) 1.75 kB
"use strict"; 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;