From d4126fe713d9d7dd10cfa19a9cfedf650e730edf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Ooms?= Date: Wed, 2 Sep 2020 00:35:34 +0200 Subject: [PATCH] :books: docs(README): Add example usage. --- README.md | 19 +++++++++++++++++++ test/src/deepCompare.js | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 52 insertions(+) diff --git a/README.md b/README.md index 6defa8a..6c2dea0 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,25 @@ See [docs](https://aureooms.github.io/js-total-order/index.html). > :warning: The code requires `regeneratorRuntime` to be defined, for instance by importing > [regenerator-runtime/runtime](https://www.npmjs.com/package/regenerator-runtime). +```js + import totalOrder from 'total-order' + [ [1, 2, 3], 0, undefined, {x: 1}, new Date(1), null, {}, /abc/, new Date(0), 'abc', [], NaN ].sort(totalOrder) + // [ + // 0, + // NaN, + // null, + // [], + // [1, 2, 3], + // new Date(0), + // new Date(1), + // {}, + // {x: 1}, + // /abc/, + // 'abc', + // undefined, + // ] +``` + [![License](https://img.shields.io/github/license/aureooms/js-total-order.svg)](https://raw.githubusercontent.com/aureooms/js-total-order/master/LICENSE) [![Version](https://img.shields.io/npm/v/total-order.svg)](https://www.npmjs.org/package/total-order) [![Build](https://img.shields.io/travis/aureooms/js-total-order/master.svg)](https://travis-ci.org/aureooms/js-total-order/branches) diff --git a/test/src/deepCompare.js b/test/src/deepCompare.js index f15f451..f5ca6f8 100644 --- a/test/src/deepCompare.js +++ b/test/src/deepCompare.js @@ -167,3 +167,36 @@ test('circular a < b', (t) => { t.is(-1, deepCompare(a, b)); t.is(1, deepCompare(b, a)); }); + +test('README', (t) => { + const values = [ + [1, 2, 3], + 0, + undefined, + {x: 1}, + new Date(1), + null, + {}, + /abc/, + new Date(0), + 'abc', + [], + Number.NaN, + ]; + const sorted = [ + 0, + Number.NaN, + null, + [], + [1, 2, 3], + new Date(0), + new Date(1), + {}, + {x: 1}, + /abc/, + 'abc', + undefined, + ]; + const result = values.slice().sort(deepCompare); + t.deepEqual(sorted, result); +});