Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

epfl-menu-api

innovativeinnovation24Apache-2.03.0.0

EPFL Menu API

EPFL, api, food, meal, menu

readme

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.

changelog

Changelog

v3.0.0 / 2021-08-20

  • Drop support for Node < 12
  • Test against Node.js 16
  • Update dev dependencies

v2.0.4 / 2021-04-08

  • Update and clean dependencies
  • Migrate from Travis CI to GitHub Actions
  • Remove badge dependencies

v2.0.3 / 2020-11-16

  • Update dependencies
  • Test against Node.js 15
  • Migrate travis-ci.org to .com

v2.0.2 / 2020-07-07

  • Test against Node.js 14
  • Update dependencies

v2.0.1 / 2020-02-07

  • Fix accentuated tags
  • Update dependencies
  • Reduce number of files included in package

v2.0.0 / 2020-01-01

  • Drop support for Node < 10
  • Update dependencies
  • Allow list of tags in English

v1.1.2 / 2019-10-24

  • Fix Indian tag
  • Test against Node.js 13
  • Update dev dependencies

v1.1.1 / 2019-07-19

  • Improve documentation
  • Update dependencies

v1.1.0 / 2019-05-18

  • Add translateTags function
  • Verify tags and restoId parameters

v1.0.0 / 2019-05-11

  • Add resto filter by id
  • Verify date, language and partOfDay parameters
  • Escape tabs in json before parse
  • Test against Node.js 12
  • Update dev dependencies

v0.1.0 / 2019-04-22

  • Add method findResto
  • Add filters date, tags and restoId to method findMenu

v0.0.1 / 2019-04-18

  • First version, released on an unsuspecting world.