phette23 / semester-sort

NPM package for sorting academic semester/quarter strings

Home Page:https://www.npmjs.com/package/semester-sort

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

About

NPM package for sorting academic semester/quarter strings

https://www.npmjs.com/package/semester-sort


Languages

Language:JavaScript 100.0%