nutrition

Kotlin library which models human nutritional data.
This library has an implicit dependency on physical-measurement-units.
Getting started
First, add a dependency to this library.
Gradle (Kotlin DSL)
dependencies {
implementation("io.github.john-tuesday:nutrition:$version")
testImplementation("io.github.john-tuesday:nutrition-test:$version")
}
Now, use the library!
val mealNutrition = FoodNutrition(
Portion(grams),
kilocalories,
mapOf(
NutrientType.Protein to .grams,
NutrientType.TotalFat to .grams,
NutrientType.TotalCarbohydrate to .grams,
NutrientType.Fiber to .grams,
NutrientType.Sugar to .grams,
NutrientType.Sodium to milligrams,
NutrientType.SaturatedFat to .grams,
NutrientType.TransFat to grams,
NutrientType.Calcium to milligrams,
NutrientType.Iron to .milligrams,
NutrientType.Magnesium to milligrams,
NutrientType.Potassium to milligrams,
)
)
extraSalt = Nutrient(NutrientType.Sodium, milligrams)
mealExtraSalt = mealNutrition + extraSalt
mealNoSalt = mealNutrition - Nutrient(NutrientType.Sodium, mealNutrition.nutrients[NutrientType.Sodium])
Documentation
Generated api documentation can be found here.