ul-timetable
TypeScript icon, indicating that this package has built-in type declarations

0.2.0 • Public • Published

ul-timetable

Dependencies Dev Dependencies Build Status

GPL-3.0 Maintainability Coverage

A webscraper for the University of Limerick's timetable, provided as an npm package.

Install

npm install ul-timetable --save

Use

ES6 (import/export)

import { studentTimetable } from 'ul-timetable';
 
const myTimetable = await studentTimetable('12345678');
console.log(myTimetable);

CommonJS (require())

const studentTimetable = require('ul-timetable').studentTimetable;
 
const myTimetable = await studentTimetable('12345678');
console.log(myTimetable);

API

See types.ts for more details on the return types of each function.

courseTimetable(id: string, year: number): Promise<ICourseTimetable>

Fetches a course timetable for a given year from www.timetable.ul.ie/course.asp.

Returns a Promise.

moduleTimetable(id: string): Promise<IModuleTimetable>

Fetches a module timetable from www.timetable.ul.ie/tt_mod.asp.

Returns a Promise.

roomTimetable(id: string): Promise<IRoomTimetable>

Fetches a room timetable from www.timetable.ul.ie/tt_room.asp.

Returns a Promise.

studentTimetable(id: string): Promise<IStudentTimetable>

Fetches a student timetable from www.timetable.ul.ie/tt1.asp.

Returns a Promise.

moduleExamTimetable(id: string): Promise<IModuleExamTimetable>

Fetches a module exam timetable from www.timetable.ul.ie/tt_exam.asp.

Returns a Promise.

studentExamTimetable(id: string): Promise<IStudentExamTimetable>

Fetches a student exam timetable from www.timetable.ul.ie/examstudent.asp.

Returns a Promise.

moduleDetails(id: string): Promise<IModuleDetails>

Fetches details on a module from www.timetable.ul.ie/tt_moduledetails.asp.

Returns a Promise.

roomDetails(id: string): Promise<IRoomDetails>

Fetches details on a room from www.timetable.ul.ie/Classrooms_Web_Info.xls.

Returns a Promise.

weekDates(): Promise<IWeekDate[]>

Fetches week numbers and dates from www.timetable.ul.ie/weeks.htm.

Returns a Promise.

Scripts

  • clean - remove coverage data, Jest cache and transpiled files
  • build - transpile TypeScript to ES6
  • watch - interactive watch mode to automatically transpile source files
  • lint - lint source files and tests
  • test - run tests
  • test:watch - interactive watch mode to automatically re-run tests

Development

This project uses the Conventional Commits standard for Git commit messages. Commits are linted using a hook for commitlint, and are also validated by the Travis CI script.

License

Licensed under the GNU General Public License v3.0. See the LICENSE file for details.

Package Sidebar

Install

npm i ul-timetable

Weekly Downloads

2

Version

0.2.0

License

GPL-3.0

Unpacked Size

239 kB

Total Files

90

Last publish

Collaborators

  • eoin-obrien