semester-sort

sorting function for semester strings


Keywords
semester, sort, array, term, academic calendar
License
GPL-3.0
Install
npm install semester-sort@1.3.0

Documentation

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