parse-ingredients
Parser for recipes and lists of ingredients. Can parse a string into an object and also combine an array of these ingredient objects.
About
This project was rewrite on top of code written by mackenziefernandez.
To install
yarn add parse-ingredients
To use
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';
Language
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
};
*/
Combine ingredient objects
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
}]
*/
Prettify ingredient
import {pretty} from 'parse-ingredients';
console.log(pretty({
quantity: 1,
unit: 'teaspoon',
ingredient: 'basil',
article: 'of',
minQty: 1,
maxQty: 1,
}));
/*
1 teaspoon of basil
*/
Unicode Fractions
Will also correctly parse unicode fractions into the proper amount
Development
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.