health-calculator
A library to help calculate well known health-related metrics.
Install
npm i health-calculator
Usage
import { dietary } from 'health-calculator';
console.log( dietary.tdee( 'male', 20, 80, 180, 'moderate' ) );
or:
import { tdee } from 'health-calculator/dietary';
console.log( tdee( 'male', 20, 80, 180, 'moderate' ) );
See API reference for more.
API Reference
Modules
body_measurement
-
body_measurement
-
~bmi(weight, height, imperial) ⇒
number
-
~whtr(waistCircumference, height, imperial) ⇒
number
-
~whtrCategory(gender, age, ratio) ⇒
BodyCategory
-
~whtrChildren(ratio) ⇒
BodyCategory
-
~whtrMale(ratio) ⇒
BodyCategory
-
~whtrFemale(ratio) ⇒
BodyCategory
-
~whr(waistCircumference, hipCircumference, imperial) ⇒
number
-
~bfp(gender, age, bmi) ⇒
number
-
~lbm(gender, weight, height, imperial) ⇒
number
-
~rfm(gender, height, waistCircumference, imperial) ⇒
number
-
~ffmi(weight, height, bodyFat, imperial) ⇒
number
-
~bmi(weight, height, imperial) ⇒
number
body_measurement~bmi(weight, height, imperial) ⇒ Calculates body mass index (BMI).
Kind: inner method of body_measurement
Returns: number
- BMI.
Param | Type | Description |
---|---|---|
weight | number |
Weight of a person. |
height | number |
Height of a person. |
imperial | boolean |
Flag to use imperial (lb and inch). Default to use metric (kg and cm). |
number
body_measurement~whtr(waistCircumference, height, imperial) ⇒ Calculates waist-to-height ratio (WHtR).
Kind: inner method of body_measurement
Returns: number
- WHtR.
See: https://en.wikipedia.org/wiki/Waist-to-height_ratio
Param | Type | Description |
---|---|---|
waistCircumference | number |
Waist circumference of a person. |
height | number |
Height of a person. |
imperial | boolean |
Flag to use imperial (lb and inch). Default to use metric (kg and cm). |
BodyCategory
body_measurement~whtrCategory(gender, age, ratio) ⇒ Categorize the boundaries for WHtR in terms of their health implications.
Kind: inner method of body_measurement
Returns: BodyCategory
- Category.
See: https://en.wikipedia.org/wiki/Waist-to-height_ratio#Health_implications
Param | Type | Description |
---|---|---|
gender | Gender |
'male' or 'female'. |
age | number |
Age between 18 and 120. |
ratio | number |
WHtR. |
BodyCategory
body_measurement~whtrChildren(ratio) ⇒ WHtR category for children (up to 15 yeard old).
Kind: inner method of body_measurement
Returns: BodyCategory
- Category.
Param | Type | Description |
---|---|---|
ratio | number |
WHtR. |
BodyCategory
body_measurement~whtrMale(ratio) ⇒ WHtR category for adult male.
Kind: inner method of body_measurement
Returns: BodyCategory
- Category.
Param | Type | Description |
---|---|---|
ratio | number |
WHtR. |
BodyCategory
body_measurement~whtrFemale(ratio) ⇒ WHtR category for adult female.
Kind: inner method of body_measurement
Returns: BodyCategory
- Category.
Param | Type | Description |
---|---|---|
ratio | number |
WHtR. |
number
body_measurement~whr(waistCircumference, hipCircumference, imperial) ⇒ Calculates waist-to-hip ratio (WHR).
Kind: inner method of body_measurement
Returns: number
- WHR.
See: https://en.wikipedia.org/wiki/Waist%E2%80%93hip_ratio
Param | Type | Description |
---|---|---|
waistCircumference | number |
Waist circumference of a person. |
hipCircumference | number |
Hip circumference of a person. |
imperial | boolean |
Flag to use imperial (lb and inch). Default to use metric (kg and cm). |
number
body_measurement~bfp(gender, age, bmi) ⇒ Calculates body fat percentage (BFP) using BMI.
Kind: inner method of body_measurement
Returns: number
- BFP.
See: https://en.wikipedia.org/wiki/Body_fat_percentage#From_BMI
Param | Type | Description |
---|---|---|
gender | Gender |
'male' or 'female'. |
age | number |
Age between 18 and 120. |
bmi | number |
BMI result. |
number
body_measurement~lbm(gender, weight, height, imperial) ⇒ Calculates lean body mass (LBM) using the Boer formula.
Kind: inner method of body_measurement
Returns: number
- LBM.
See: https://en.wikipedia.org/wiki/Lean_body_mass#Boer[3]
Param | Type | Description |
---|---|---|
gender | Gender |
'male' or 'female'. |
weight | number |
Weight of a person. |
height | number |
Height of a person. |
imperial | boolean |
Flag to use imperial (lb and inch). Default to use metric (kg and cm). |
number
body_measurement~rfm(gender, height, waistCircumference, imperial) ⇒ Calculates relative fat mass (RFM).
Kind: inner method of body_measurement
Returns: number
- RFM.
Param | Type | Description |
---|---|---|
gender | Gender |
'male' or 'female'. |
height | number |
Height of a person. |
waistCircumference | number |
Waist circumference of a person. |
imperial | boolean |
Flag to use imperial (lb and inch). Default to use metric (kg and cm). |
number
body_measurement~ffmi(weight, height, bodyFat, imperial) ⇒ Calculates fat-free mass index (FFMI).
Kind: inner method of body_measurement
Returns: number
- FFMI.
Param | Type | Description |
---|---|---|
weight | number |
Weight of a person. |
height | number |
Height of a person. |
bodyFat | number |
Body fat percentage. |
imperial | boolean |
Flag to use imperial (lb and inch). Default to use metric (kg and cm). |
dietary
-
dietary
-
~bmr(gender, age, weight, height, imperial, equation) ⇒
number
-
~bmrHarrisBenedict(gender, age, weight, height) ⇒
number
-
~bmrRozaAndShizgal(gender, age, weight, height) ⇒
number
-
~bmrMifflin(gender, age, weight, height) ⇒
number
-
~tdee(gender, age, weight, height, activity, imperial, equation) ⇒
number
-
~amdr(gender, age, weight, height, activity, imperial, equation) ⇒
number
-
~bmr(gender, age, weight, height, imperial, equation) ⇒
number
dietary~bmr(gender, age, weight, height, imperial, equation) ⇒ Calculates basal metabolic rate (BMW); the number of calories our body needs to accomplish its most basic (basal) life-sustaining functions.
Kind: inner method of dietary
Returns: number
- BMI.
Param | Type | Description |
---|---|---|
gender | Gender |
'male' or 'female'. |
age | number |
Age between 18 and 120. |
weight | number |
Weight between 15kg and 635kg. |
height | number |
Height of a person. |
imperial | boolean |
Flag to use imperial (lb and inch). Default to use metric (kg and cm). |
equation | BmrEquation |
Equation to use ('harrisBenedict', 'rozaAndShizgal', or 'mifflin'). Default to 'mifflin'. |
number
dietary~bmrHarrisBenedict(gender, age, weight, height) ⇒ Calculates BMR using Harris-Benedict equation.
Kind: inner method of dietary
Returns: number
- BMR.
See: https://en.wikipedia.org/wiki/Harris%E2%80%93Benedict_equation
Param | Type | Description |
---|---|---|
gender | Gender |
'male' or 'female'. |
age | number |
Age between 18 and 120. |
weight | number |
Weight between 15kg and 635kg. |
height | number |
Height of a person. |
number
dietary~bmrRozaAndShizgal(gender, age, weight, height) ⇒ Calculates BMR using revised Harris-Benedict equation by Roza and Shizgal.
Kind: inner method of dietary
Returns: number
- BMR.
See: https://en.wikipedia.org/wiki/Harris%E2%80%93Benedict_equation
Param | Type | Description |
---|---|---|
gender | Gender |
'male' or 'female'. |
age | number |
Age between 18 and 120. |
weight | number |
Weight between 15kg and 635kg. |
height | number |
Height of a person. |
number
dietary~bmrMifflin(gender, age, weight, height) ⇒ Calculates BMR using revised Harris-Benedict equation by Mifflin.
Kind: inner method of dietary
Returns: number
- BMR.
See: https://en.wikipedia.org/wiki/Harris%E2%80%93Benedict_equation
Param | Type | Description |
---|---|---|
gender | Gender |
'male' or 'female'. |
age | number |
Age between 18 and 120. |
weight | number |
Weight between 15kg and 635kg. |
height | number |
Height of a person. |
number
dietary~tdee(gender, age, weight, height, activity, imperial, equation) ⇒ Calculates total daily energy expenditure (TDEE); the number of calories our body burns daily to perform its bodily functions based on activity level.
Kind: inner method of dietary
Returns: number
- BMR.
Param | Type | Description |
---|---|---|
gender | Gender |
'male' or 'female'. |
age | number |
Age between 18 and 120. |
weight | number |
Weight between 15kg and 635kg. |
height | number |
Height of a person. |
activity | ActivityLevel |
Activity level. |
imperial | boolean |
Flag to use imperial (lb and inch). Default to use metric (kg and cm). |
equation | BmrEquation |
Equation to use ('harrisBenedict', 'rozaAndShizgal', or 'mifflin'). Default to 'mifflin'. |
number
dietary~amdr(gender, age, weight, height, activity, imperial, equation) ⇒ Calculates acceptable macronutrient range (AMDR).
Kind: inner method of dietary
Returns: number
- BMR.
Param | Type | Description |
---|---|---|
gender | Gender |
'male' or 'female'. |
age | number |
Age between 18 and 120. |
weight | number |
Weight between 15kg and 635kg. |
height | number |
Height of a person. |
activity | ActivityLevel |
Activity level. |
imperial | boolean |
Flag to use imperial (lb and inch). Default to use metric (kg and cm). |
equation | BmrEquation |
Equation to use ('harrisBenedict', 'rozaAndShizgal', or 'mifflin'). Default to 'mifflin'. |
sports
-
sports
-
~oneRm(reps, weight, formula) ⇒
number
-
~hrMax(age, formula) ⇒
number
-
~oneRm(reps, weight, formula) ⇒
number
sports~oneRm(reps, weight, formula) ⇒ Calculates one-repetition maximum (1RM) using various formula.
Kind: inner method of sports
Returns: number
- One rep max.
Param | Type | Description |
---|---|---|
reps | number |
Number of repetition of a given weight. |
weight | number |
Weight being lifted for a given reps. |
formula | OneRmFormula |
Formula to use. |
number
sports~hrMax(age, formula) ⇒ Calculates maximum heart rate (HR) of a given age and formula.
Kind: inner method of sports
Returns: number
- HRmax in BPM (beats per minute).
Param | Type | Description |
---|---|---|
age | number |
Person age. |
formula | HRMaxFormula |
Formula to use. |
util
-
util
-
~cmToInch(cm) ⇒
number
-
~inchToCm(inch) ⇒
number
-
~lbToKg(lb) ⇒
number
-
~kgToLb(kg) ⇒
number
-
~cmToInch(cm) ⇒
number
util~cmToInch(cm) ⇒ Converts cm to inch.
Kind: inner method of util
Returns: number
- Length in inch.
Param | Type | Description |
---|---|---|
cm | number |
Length in cm. |
number
util~inchToCm(inch) ⇒ Converts inch to cm.
Kind: inner method of util
Returns: number
- Length in cm.
Param | Type | Description |
---|---|---|
inch | number |
Length in inch. |
number
util~lbToKg(lb) ⇒ Converts lb to kg.
Kind: inner method of util
Returns: number
- Weight in kg.
Param | Type | Description |
---|---|---|
lb | number |
Weight in lb. |
number
util~kgToLb(kg) ⇒ Converts kg to lb.
Kind: inner method of util
Returns: number
- Weight in lb.
Param | Type | Description |
---|---|---|
kg | number |
Weight in kg. |