Skip to content

Latest commit

 

History

History
126 lines (99 loc) · 2.5 KB

README.md

File metadata and controls

126 lines (99 loc) · 2.5 KB

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.