ul-timetable
A webscraper for the University of Limerick's timetable, provided as an npm package.
Install
npm install ul-timetable --save
Use
import
/export
)
ES6 (; const myTimetable = await ;console;
require()
)
CommonJS (const studentTimetable = studentTimetable; const myTimetable = await ;console;
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 filesbuild
- transpile TypeScript to ES6watch
- interactive watch mode to automatically transpile source fileslint
- lint source files and teststest
- run teststest: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.