npm.io
0.2.8 • Published 4 years ago

parse-ingredients

Licence
MIT
Version
0.2.8
Deps
0
Size
169 kB
Vulns
0
Weekly
0
Stars
3
DeprecatedThis package is deprecated

parse-ingredients

NPM version NPM downloads MIT License

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.

Keywords