@antoniovdlc/sort
Advanced tools
Comparing version 1.0.0 to 1.1.0
@@ -1,1 +0,1 @@ | ||
"use strict";function n(n,r){return String(r).split(".").reduce((function(n,r){var t;return null!==(t=null==n?void 0:n[r])&&void 0!==t?t:null}),n)}function r(r,t){function e(n,e,u){void 0===u&&(u=1);var i=r(n),o=r(e);return t(i,o,u)}return void 0===r&&(r=String),void 0===t&&(t=function(n,r,t){return void 0===t&&(t=1),n<r?-1*t:n>r?1*t:0}),e.asc=function(n,r){return e(n,r,1)},e.desc=function(n,r){return e(n,r,-1)},e.by=function(e){function u(u,i,o){void 0===o&&(o=1);var c=r(n(u,e)),l=r(n(i,e));return t(c,l,o)}return u.asc=function(n,r){return u(n,r,1)},u.desc=function(n,r){return u(n,r,-1)},u},e}Object.defineProperty(exports,"__esModule",{value:!0});var t=r(String),e=r((function(n){return String(n).toLowerCase()})),u=r((function(n){return new Date(n).getTime()})),i=r(Number);exports.alphabetically=t,exports.alphabeticallyBase=e,exports.chronologically=u,exports.combine=function n(r){return function(t,e){if(1===r.length)return r[0](t,e);var u=r[0](t,e);return 0===u?n(r.slice(1))(t,e):u}},exports.numerically=i; | ||
"use strict";function n(n,r){return String(r).split(".").reduce((function(n,r){var t;return null!==(t=null==n?void 0:n[r])&&void 0!==t?t:null}),n)}function r(r,t){function e(n,e,u){void 0===u&&(u=1);var o=r(n),i=r(e);return t(o,i,u)}return void 0===r&&(r=String),void 0===t&&(t=function(n,r,t){return void 0===t&&(t=1),n<r?-1*t:n>r?1*t:0}),e.asc=function(n,r){return e(n,r,1)},e.desc=function(n,r){return e(n,r,-1)},e.by=function(e){function u(u,o,i){void 0===i&&(i=1);var c=r(n(u,e)),l=r(n(o,e));return t(c,l,i)}return u.asc=function(n,r){return u(n,r,1)},u.desc=function(n,r){return u(n,r,-1)},u},e}Object.defineProperty(exports,"__esModule",{value:!0});var t=r(String),e=r((function(n){return String(n).toLowerCase()})),u=r((function(n){return new Date(n).getTime()})),o=r(Number);exports.alphabetically=t,exports.alphabeticallyBase=e,exports.chronologically=u,exports.combine=function n(r){return function(t,e){if(1===r.length)return r[0](t,e);var u=r[0](t,e);return 0===u?n(r.slice(1))(t,e):u}},exports.createCompareFunction=r,exports.numerically=o; |
@@ -0,1 +1,2 @@ | ||
import createCompareFunction from "./utils/create-compare-fn"; | ||
/** | ||
@@ -52,3 +53,3 @@ * Combine multipe sorting functions in order. | ||
declare const numerically: Function; | ||
export { combine }; | ||
export { combine, createCompareFunction }; | ||
export { alphabetically, alphabeticallyBase, chronologically, numerically }; |
@@ -1,1 +0,1 @@ | ||
function n(n,r){return String(r).split(".").reduce((function(n,r){var t;return null!==(t=null==n?void 0:n[r])&&void 0!==t?t:null}),n)}function r(r,t){function u(n,u,e){void 0===e&&(e=1);var i=r(n),o=r(u);return t(i,o,e)}return void 0===r&&(r=String),void 0===t&&(t=function(n,r,t){return void 0===t&&(t=1),n<r?-1*t:n>r?1*t:0}),u.asc=function(n,r){return u(n,r,1)},u.desc=function(n,r){return u(n,r,-1)},u.by=function(u){function e(e,i,o){void 0===o&&(o=1);var c=r(n(e,u)),f=r(n(i,u));return t(c,f,o)}return e.asc=function(n,r){return e(n,r,1)},e.desc=function(n,r){return e(n,r,-1)},e},u}function t(n){return function(r,u){if(1===n.length)return n[0](r,u);var e=n[0](r,u);return 0===e?t(n.slice(1))(r,u):e}}var u=r(String),e=r((function(n){return String(n).toLowerCase()})),i=r((function(n){return new Date(n).getTime()})),o=r(Number);export{u as alphabetically,e as alphabeticallyBase,i as chronologically,t as combine,o as numerically}; | ||
function n(n,r){return String(r).split(".").reduce((function(n,r){var t;return null!==(t=null==n?void 0:n[r])&&void 0!==t?t:null}),n)}function r(r,t){function u(n,u,e){void 0===e&&(e=1);var i=r(n),o=r(u);return t(i,o,e)}return void 0===r&&(r=String),void 0===t&&(t=function(n,r,t){return void 0===t&&(t=1),n<r?-1*t:n>r?1*t:0}),u.asc=function(n,r){return u(n,r,1)},u.desc=function(n,r){return u(n,r,-1)},u.by=function(u){function e(e,i,o){void 0===o&&(o=1);var c=r(n(e,u)),f=r(n(i,u));return t(c,f,o)}return e.asc=function(n,r){return e(n,r,1)},e.desc=function(n,r){return e(n,r,-1)},e},u}function t(n){return function(r,u){if(1===n.length)return n[0](r,u);var e=n[0](r,u);return 0===e?t(n.slice(1))(r,u):e}}var u=r(String),e=r((function(n){return String(n).toLowerCase()})),i=r((function(n){return new Date(n).getTime()})),o=r(Number);export{u as alphabetically,e as alphabeticallyBase,i as chronologically,t as combine,r as createCompareFunction,o as numerically}; |
{ | ||
"name": "@antoniovdlc/sort", | ||
"version": "1.0.0", | ||
"version": "1.1.0", | ||
"description": "Custom compare functions for sorting arrays.", | ||
@@ -49,9 +49,9 @@ "main": "dist/index.cjs.js", | ||
"babel-jest": "^27.0.2", | ||
"eslint": "^7.29.0", | ||
"eslint": "^8.0.0", | ||
"eslint-config-prettier": "^8.3.0", | ||
"eslint-plugin-jest": "^24.3.6", | ||
"eslint-plugin-jest": "^25.0.5", | ||
"husky": "^7.0.2", | ||
"jest": "^27.0.4", | ||
"jest-extended": "^0.11.5", | ||
"lint-staged": "^11.0.0", | ||
"jest-extended": "^1.1.0", | ||
"lint-staged": "^12.0.2", | ||
"prettier": "^2.3.1", | ||
@@ -58,0 +58,0 @@ "rimraf": "^3.0.2", |
@@ -115,2 +115,21 @@ # sort | ||
## Creating custom sorting functions | ||
You can create your own sorting functions by using the `createCompareFunction()` function: | ||
```js | ||
import { createCompareFunction } from "@antoniovdlc/sort"; | ||
const alphabeticallyLocale = createCompareFunction(String, (a, b) => a.localeCompare(b)); | ||
const arr = [ | ||
{ name: "Bob", age: 23 }, | ||
{ name: "Alice", age: 32 }, | ||
{ name: "Tom", age: 60 }, | ||
{ name: "Candice", age: 45 }, | ||
]; | ||
arr.sort(alphabeticallyLocale.by("name").desc); | ||
``` | ||
Out of the box, your custom sorting functions have the same attributes and methods as the default sorting functions (such as `.desc` or `.by()`)! | ||
## Combining sorting functions | ||
@@ -117,0 +136,0 @@ |
10567
62
161