ECF Query Database
Scrapes the ECF Grading Database for results
Returns a promise (that needs to be awaited or .then-ed) to user data.
Comes with typescript support.
Dependencies
Installation
npm install ecf
(includes its own index.d.ts file)
const ECF = ;
Usage
ECF
- Call any endpoint in this package by simply appending it to the package name as a method.
- Each endpoint takes a query parameter, be it an ID, a search parameter, or a name. Use it as the first argument to the function.
- Each endpoint takes a 'parse' Boolean as the second parameter. The library supports parsing the grabbed data from the ECF website into a nice, human-readable, format (which can be understood by trying each one). Set
parse
astrue
(default) to use this mode, otherwise set asfalse
to just get the raw table rows.
Endpoints
-
ECF.profile()
- Gets a user's profile by ID
- For a known user with a specific ECF ID, a user's data can be generated by:
const ECF = ;async {console;//returns Gawain Jones' ECF profile as an object}; -
ECF.club()
- Gets a user's profile using a club ID
const ECF = ;async {console;//returns users from the Oxford University Chess Club}; -
ECF.searchUsers()
- Generates a list of possible users matching a search query.
- List is in array form, with each element being a matching user.
- Takes a query parameter of a string (name) or an 'AdvancedSearch' parameter - an object with possible fields 'firstName', 'lastName', 'middleName', 'id', 'isMember', 'sex', 'club'
const ECF = ;async {console;//returns a list of users with the surname Jonesconsole;//returns a list of users with the surname Jones and first letter 'G'console;//returns a list of users with the surname Jones and first letter 'G'}; -
ECF.searchClubs()
- Generates a list of clubs across the country which have a name beginning with the specified query string
- Takes a single string argument
const ECF = ;async {console;//returns a list of clubs with 'oxford' in their name}; -
ECF.search()
- Generates a list of both users and clubs matching a query parameter
- Takes a single string argument
- Returns an object with 'Users' and 'Clubs' properties
const ECF = ;async {console;};
Examples
- Find a specific userasync {let result = await ecf;let entry = rest;console;};