JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 1
  • Score
    100M100P100Q49719F
  • License MIT

Multi-language recipe ingredients parser

Package Exports

  • parse-ingredients

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (parse-ingredients) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

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.