Skip to content

phette23/semester-sort

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

66 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Semester Sort

Node.js CI NPM Version

JavaScript comparison function, for use with Array.prototype.sort, for sorting strings that appear to be academic semesters, e.g. "F15" or "2020 Summer". It recognizes a variety of different ways of describing semesters or quarters, including single-letter abbreviations like "F" to full seasons such as "Autumn".

Usage

const semesterSort = require('semester-sort')

let sorted = ['F15', 'Su15', 'F14', 'F13', 'SP15', 'SP13'].sort(semesterSort)
// returns ['SP13', 'F13', 'F14', 'SP15', 'Su15', 'F15']

Unrecognized seasons or strings missing a year component will be sorted to the front of the array.

Development

Write a test for it! The pattern should be easy enough to figure out from test/tests.js and npm test runs the test suite.

The code is written in ES6 & transpiled to ES5 via Babel. npm run babel will compile the code in the "src" directory to an index.js in the root, while you can build a minified, browser-ready version of semester-sort with npm run browser, which runs index.js through browserify and uglifyJS2, outputting a file named "browser.min.js".

License

General Public License version 3

GPLv3