Skip to content

A library to calculate nutrition facts, smartly. No third party services or remote DBs involved.

Notifications You must be signed in to change notification settings

marcellobarile/nutrifacts.js

Repository files navigation

Build Status

Nutrifacts.js

A library to calculate nutrition facts, smartly. No third party services or remote DBs involved.

Nutrifacts.js is a library to extract and calculate nutrition facts, on several levels of detail; the library is capable of processing natural language strings and retrieving information using precise inputs (IDs or labels).

Quick example: https://repl.it/@MarcelloBarile/Nutrifactsjs


API

Returns the list of nutrients and properties from a given list of ingredients.

@param ingredients -- The list of ingredients. Supports NLP queries (recipeStr) or precise values (label & quantity).

getNutrientsInRecipe(ingredients: IInputIngredient[])

Returns the best matching food for a given textual query.

@param query -- The query to match.

getFoodByQuery(query: string, injectNutrients: boolean)

Returns a list of nutrients that matches the given query.

@param query -- The nutrients query to match.

getNutrientsByQuery(query: string)

Returns the food entity from a given ID.

@param id -- The food ID.

getFoodById(id: string)

Returns a list of foods that contains the given ingredients' IDs.

@param ingredientsIds -- The list of ingredients' IDs to match. @param operator -- The logic operator to be applied when matching the ingredients.

getFoodsByIngredients(ingredientsIds: number[], operator: LOGIC_OPERATOR)

Returns a list of foods that have properties which match the given query string.

@param query -- The properties query to match.

getFoodsByProperties(query: string)


Installation

$ npm install nutrifacts

or

$ yarn add nutrifacts

Development

See CONTRIBUTING.md


Todos

See TODOs.md


Changelog

See CHANGELOG.md


License

UNLICENSED