Parser for recipes and lists of ingredients. Can parse a string into an object and also combine an array of these ingredient objects.
This project was rewrite on top of code written by mackenziefernandez.
yarn add parse-ingredients
import parse from 'parse-ingredients';
console.log(parse('1 teaspoon of basil'));
/*
{
quantity: 1,
unit: 'teaspoon',
ingredient: 'basil',
article: 'of',
minQty: 1,
maxQty: 1
};
*/
import parse from 'parse-ingredients';
This package currenly support french and english. By default english is imported. If you want to use another language do the following:
import parse from 'parse-ingredients';
// import 'parse-ingredients/lib/locale/{LOCALE_NAME}'
import 'parse-ingredients/lib/locale/fr'
console.log(parse('1 c. à café de basilique'));
/*
{
quantity: 1,
unit: 'cuillère à café',
ingredient: 'basilique',
article: 'de',
minQty: 1,
maxQty: 1
};
*/
import {combine} from 'parse-ingredients';
console.log(combine([{
quantity: 1,
unit: 'teaspoon',
ingredient: 'basil',
article: 'of',
minQty: 1,
maxQty: 2,
},
{
quantity: 2,
unit: 'teaspoon',
ingredient: 'basil',
article: 'of',
minQty: 2,
maxQty: 2
}]));
/*
[{
quantity: 3,
unit: 'teaspoon',
ingredient: 'basil',
minQty: 3,
maxQty: 4
}]
*/
import {pretty} from 'parse-ingredients';
console.log(pretty({
quantity: 1,
unit: 'teaspoon',
ingredient: 'basil',
article: 'of',
minQty: 1,
maxQty: 1,
}));
/*
1 teaspoon of basil
*/
Will also correctly parse unicode fractions into the proper amount
Clone the repo and yarn
to install packages. If yarn test
comes back good after your code changes, give yourself a pat on the back.