1.0.24 • Published 10 years ago

ws-yummly v1.0.24

Weekly downloads
5
License
MIT
Repository
github
Last release
10 years ago

Synopsis

A simple to use Yummly API wrapper for Nodejs.

Installation

$ npm install ws-yummly

Usage

    var Yummly = require("ws-yummly");

    Yummly.config({
		app_id : 'YOUR_APP_ID',
		app_key : 'YOUR_APP_KEY',
	});

API

getMeta(type, display)

type: holiday, allergy, course, cuisine, diet, ingredient

display: clean, raw (default)

    Yummly.getMeta('diet', 'raw').then(function (meta) {
    	console.log(meta);
    }).catch(function (error) {
    	console.log(error);
    });

    # output
    [ { id: '388',
        shortDescription: 'Lacto vegetarian',
        longDescription: 'Lacto vegetarian',
        searchValue: '388^Lacto vegetarian',
        type: 'diet',
        localesAvailableIn: [ 'en-US' ]
        ....
        ....
    }]

maxTotalTimeInSeconds(number)

Maximum time in seconds it may take to prepare the meal

maxResults(number)

Maximum results from the API

start(number)

Start getting recipes from start number

minRating(number)

Minumum rating a recipe can have (1-5)

maxRating(number)

Maximum rating a recipe can have (1-5)

maxRating value will be ignored when lower then minRating

allowedIngredients(string or array)

for a list of allowed ingredients use:

    Yummly.getMeta('ingredients')

excludedIngredients(string or array)

for a list of allowed ingredients use:

    Yummly.getMeta('ingredients')

allowedAllergies(string or array)

for a list of possible values use:

    Yummly.getMeta('allergy')

excludedAllergies(string or array)

for a list of possible values use:

    Yummly.getMeta('allergy')

allowedDiets(string or array)

for a list of possible values use:

    Yummly.getMeta('diet')

excludedDiets(string or array)

for a list of possible values use:

    Yummly.getMeta('diet')

allowedCuisines(string or array)

for a list of possible values use:

    Yummly.getMeta('cuisine')

excludedCuisines(string or array)

for a list of possible values use:

    Yummly.getMeta('cuisine')

allowedCourses(string or array)

for a list of possible values use:

    Yummly.getMeta('course')

excludedCourses(string or array)

for a list of possible values use:

    Yummly.getMeta('course')

allowedHolidays(string or array)

for a list of possible values use:

    Yummly.getMeta('holiday')

excludedHolidays(string or array)

for a list of possible values use:

    Yummly.getMeta('holiday')

requirePictures(boolean)

Wheter or not the recipes must have a image attached

paginate(number)

Paginates the result array into chunks

    Yummly.query('pineapple').maxResults(40).paginate(10).get().then(function(resp){
        console.log(resp.matches); // 4 arrays within each 10 recipes
    });

getURL()

Returns the current generated url

    var url = Yummly.query('pineapple').maxResults(40).paginate(10).excludedHolidays('halloween').getURL();

    // url: https://api.yummly.com/v1/api/recipes?_app_id=YOUR_APP_ID&_app_key=YOUR_APP_KEY&q=pineapple&maxResult=40&excludedHoliday[]=holiday^holiday-halloween

getWithURL()

Returns the current generated url

    var url = https://api.yummly.com/v1/api/recipes?_app_id=YOUR_APP_ID&_app_key=YOUR_APP_KEY&q=pineapple&maxResult=10;

    Yummly.getWithURL(url).then(function(resp){
        console.log(resp);
    }));

    // url: https://api.yummly.com/v1/api/recipes?_app_id=YOUR_APP_ID&_app_key=YOUR_APP_KEY&q=pineapple&maxResult=40&excludedHoliday[]=holiday^holiday-halloween

getSettings()

Returns the current generated setting object

    var settings = Yummly.query('pineapple').maxResults(40).paginate(10).excludedHolidays('halloween').getURL();

    // settings: { maxResults: 40, paginate: 10, excludedHolidays: [ 'halloween' ] }

getDetails()

Returns details for recipes

    var recipes = [
        'Apple-Walnut-Cranberry-Salad-898353',
        'Heavenly-Strawberry_s-650499',
        'Chopped-Taco-Mason-Jar-Salad-1266468'
    ];

    Yummly.getDetails(recipes).then(function (resp) {
        resp.forEach(function (recipe) {
            console.log(recipe.name);
        });
    }).catch(function (error) {
        console.log(error);
    });

get()

Returns a promise with possible results

    Yummly.query('coconut').get().then(function (resp) {
        resp.forEach(function (recipe) {
            console.log(recipe.name);
        });
    }).catch(function (error) {
        console.log(error);
    });

Example

    Yummly.query('pineapple')
        .maxTotalTimeInSeconds(1400)
        .maxResults(20)
        .allowedDiets(['Pescetarian', 'Vegan'])
        .allowedCuisines(['asian'])
        .minRating(3)
        .get()
        .then(function(resp){
            resp.matches.forEach(function(recipe){
                console.log(recipe.recipeName);
            });
        });

        # Thai Shrimp and Pineapple Curry
        # Thai Pineapple Fried Rice
        # Asian Pineapple Sauce
        # Thai Pineapple Fried Rice
        # Asian Caramelized Pineapple
        # Thai Pineapple Fried Rice
        # ...
1.0.24

10 years ago

1.0.23

10 years ago

1.0.22

10 years ago

1.0.21

10 years ago

1.0.20

10 years ago

1.0.11

10 years ago

1.0.10

10 years ago

1.0.0

10 years ago

1.0.9

10 years ago

1.0.8

10 years ago