Skip to content

innovativeinnovation/epfl-menu-api

Repository files navigation

EPFL Menu API

EPFL Menu API.

Build Status Coverage Status Apache License 2.0 NPM Version


Install

npm i epfl-menu-api --save

Usage

const epflMenuApi = require('epfl-menu-api');

epflMenuApi.findMenu().then(function(menus) {
  console.log(menus[0].restoName);      //=> 'Le Corbusier'
  console.log(menus[0].menuType);       //=> 'Hamburger'
  console.log(menus[0].menuTags);       //=> 'Viande'
  console.log(menus[0].accompLegumes);  //=> 'Frites - Salade'
}).catch(function(err) {
  console.log(err);
});

epflMenuApi.findMenu({
  language: 'fr',
  partOfDay: 'soir',
  date: '18/04/2019',
  tags: 'Viande,Poisson,Japonais'
}).then(function(menus) {
  console.log(menus[0].restoName);  //=> 'La Table de Vallotton by Shangri-La'
  console.log(menus[0].menuType);   //=> 'Take away 2'
  console.log(menus[0].menuTags);   //=> 'Chinois,Viande'
}).catch(function(err) {
  console.log(err);
});

epflMenuApi.findResto().then(function(restos) {
  console.log(restos[0].restoName);  //=> 'L'Esplanade'
  console.log(restos[0].restoID);    //=> '32'
  console.log(restos[0].type);       //=> 'self-service'
  console.log(restos[0].plan);       //=> 'CO160'
}).catch(function(err) {
  console.log(err);
});

const tags = epflMenuApi.translateTags('Poisson,Viande,Chinois');
console.log(tags);  //=> 'Fish,Meat,Chinese'

API

.findMenu([options])

Type: function

Returns a Promise with a list of menu as parameter.

options

Type: object

Any of the following options.

partOfDay

Type: string
Default: midi

Part of the day. Could be midday (midi) or evening (soir).

language

Type: string
Default: en

Supported languages are English (en) and French (fr).

restoId

Type: number

Restaurant id.

date

Type: date

Date. Example: 18/04/2019.

tags

Type: string

A comma separated list of menu types. Available tags:

  • Chicken or Volaille
  • Chinese or Chinois
  • Fish or Poisson
  • Green Fork or Fourchette Verte
  • Indian or Indien
  • Japanese or Japonais
  • Lebanese or Libanais
  • Meat or Viande
  • Pasta or Pâtes
  • Pizza or Pizza
  • Thai or Thaï
  • Vegan or Végétalien
  • Vegetarian or Végétarien

.findResto([id])

Type: function

Returns a Promise with a list of restaurant as parameter.

options

Type: object

Any of the following options.

id

Type: number

Restaurant id.

.translateTags(str)

Type: function

Translate tags from French to English.

str

Type: string

Tags to translate.

See also

Contributing

Contributions are always welcome.

See Contributing.

Developer

License

Apache License 2.0

(c) William Belle, 2019-2021.

See the LICENSE file for more details.