1.0.2 • Published 2 years ago

recipe-slicer v1.0.2

Weekly downloads
-
License
ISC
Repository
-
Last release
2 years ago

Recipe Slicer

The Recipe Slicer is a TypeScript algorithm to convert recipe strings into a list of Ingredients.

The goal of this project is to make a recipe manipulation algorithm with broader application than my app Sliced.

Install the recipe slicer with npm install recipe-slicer.

How to Use

class Recipe

The Recipe class is a top-level class with with two methods: set and scale. set takes a recipe string as an argument and sets the list of ingredients. scale takes in a constant as an argument and scales the recipe by that constant.

class Ingredient

The Ingredient class stores the amount, unit, and name of the ingredient. If an ingredient has a unit that supports ml conversion, the amount is in ml. Otherwise, the amount is the complete amount value.

The Ingredient class has a sort method that takes a one-word string as an argument and sorts it as an amount or unit. All other valid inputs are set as the name.

To display the Ingredient amount as a fraction, use Ingredient.display(). For decimals (converted to units when applicable), use Ingredient.display(false)

UNITS

utils

There are several utility functions that help with recipe parsing.

toNumber takes in a string, which could be a decimal, whole number, or fraction, and returns the numeric value. toFloat takes in a string and the index of the '/', converting the fraction to a numeric value.

formatFraction formats floats as fractions for display. This function rounds to the nearest '1/4' or '1/3' increment.

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago