human-sort
Ever wanted to sort your tees by coolness? By I'd-rather-wear-this-one order? Or perhaps you want to know which are your top emojis? #firstworldproblems
CLI to the power! Sort an array using your judgement as a comparator.
CLI usage
usage: human-sort <source file> [max size] [output file]
<source file> A JSON file containing the array you'd like to sort.
[max size] The maximum size of the resulting sorted array. Makes
sorting faster, since you only care about the top X results.
Use -1 for Infinity.
[output file] Optional target file where to store the results.
Demo
➜ human-sort git:(master) ✗ human-sort test/input.json 3 output.json
# HUMAN-SORT
Performing human-sort on 9 elements!
with resulting sorted array of max size 3!
## ROUND 1
Source array: [ '😁', '😂', '😃', '😄', '😅', '😆', '😇' ]
Sorted array: [ '😊' ] (max size: 3)
Currently inserting: 😉
Showdown!
A) 😉
B) 😊
Which one, human?
> b
You chose B.
## ROUND 2
Source array: [ '😁', '😂', '😃', '😄', '😅', '😆' ]
Sorted array: [ '😊', '😉' ] (max size: 3)
Currently inserting: 😇
Showdown!
A) 😇
B) 😊
Which one, human?
> b
You chose B.
Showdown!
A) 😇
B) 😉
Which one, human?
> a
You chose A.
## ROUND 3
Source array: [ '😁', '😂', '😃', '😄', '😅' ]
Sorted array: [ '😊', '😇', '😉' ] (max size: 3)
Currently inserting: 😆
Showdown!
A) 😆
B) 😊
Which one, human?
> a
You chose A.
## ROUND 4
Source array: [ '😁', '😂', '😃', '😄' ]
Sorted array: [ '😆', '😊', '😇' ] (max size: 3)
Currently inserting: 😅
Showdown!
A) 😅
B) 😆
Which one, human?
> a
You chose A.
## ROUND 5
Source array: [ '😁', '😂', '😃' ]
Sorted array: [ '😅', '😆', '😊' ] (max size: 3)
Currently inserting: 😄
Showdown!
A) 😄
B) 😅
Which one, human?
> b
You chose B.
Showdown!
A) 😄
B) 😆
Which one, human?
> b
You chose B.
Showdown!
A) 😄
B) 😊
Which one, human?
> b
You chose B.
## ROUND 6
Source array: [ '😁', '😂' ]
Sorted array: [ '😅', '😆', '😊' ] (max size: 3)
Currently inserting: 😃
Showdown!
A) 😃
B) 😅
Which one, human?
> b
You chose B.
Showdown!
A) 😃
B) 😆
Which one, human?
> b
You chose B.
Showdown!
A) 😃
B) 😊
Which one, human?
> b
You chose B.
## ROUND 7
Source array: [ '😁' ]
Sorted array: [ '😅', '😆', '😊' ] (max size: 3)
Currently inserting: 😂
Showdown!
A) 😂
B) 😅
Which one, human?
> b
You chose B.
Showdown!
A) 😂
B) 😆
Which one, human?
> a
You chose A.
## ROUND 8
Source array: []
Sorted array: [ '😅', '😂', '😆' ] (max size: 3)
Currently inserting: 😁
Showdown!
A) 😁
B) 😅
Which one, human?
> b
You chose B.
Showdown!
A) 😁
B) 😂
Which one, human?
> b
You chose B.
Showdown!
A) 😁
B) 😆
Which one, human?
> a
You chose A.
Final sorted array:
[ '😅', '😂', '😁' ]
➜ human-sort git:(master) ✗ cat output.json
["😅","😂","😁"]%
License
MIT © David da Silva