Nuclear Power Manager

    jp-healthmeasurements
    TypeScript icon, indicating that this package has built-in type declarations

    1.3.8 • Public • Published

    jp-healthmeasurements - Calculating Health Measurements Made Easy

    Are you building a health/fitness application and don't feel like doing all the calculations for things like BMI, Body Fat Percentage, Daliy Calories Needed, and more?

    jp-healthmeasurements is compatible with both the metric and imperial measurement systems and allows you to calculate some of the most common health/fitness related measurements without having to do any of the Math yourself

    Health Calculations

    • bodyMassIndex
    • waistToHeightRatio
    • caloriesNeeded
    • bodyFatPct
    • leanBodyFat
    • dailyMacros

    Utility Functions for Converting Units

    • cmToInches
    • inchesToCentimeters
    • poundsToKilos
    • kilosToPounds
    • caloriesToGrams

    Installation

    npm i jp-healthmeasurements

    Import into project

    import { bodyMassIndex, waistToHeightRatio, caloriesNeeded, bodyFatPct, leanBodyMass, dailyMacros, } from 'jp-healthmeasurements';

    How It Works

    bodyMassIndex

    bodyMassIndex(weight: number, height: number, imperial?: boolean): number

    • weight is specified as kgs || lbs
    • height is specified as cms || inches
    • if using the metric system imperial is not needed or can be false
    • if using the imperial system imperial must be true

    Metric

    bodyMassIndex(83.9146, 165.1); returns 30.79

    bodyMassIndex(83.9146, 165.1, false); returns 30.79

    Imperial

    bodyMassIndex(185, 65, true); returns 30.78

    ** Due to some approximations on the agreed upon formulas the results may vary between systems. The differences are statistically insignificant and can be ignored. **

    waistToHeightRatio

    waistToHeightRatio(waist: number, height: number, imperial?: boolean): number

    • waist is specified as cms || inches
    • height is specified as cms || inches
    • if using the metric system imperial is not needed or can be false
    • if using the imperial system imperial must be true

    Metric

    waistToHeightRatio(91.44, 165.1); returns 55.38

    Imperial

    waistToHeightRatio(36, 65, true); returns 55.38

    caloriesNeeded

    caloriesNeeded(weight: number, height: number, age:number, male: boolean, imperial?: boolean): number

    • weight is specified as kgs || lbs
    • height is specified as cms || inches
    • age is specified in years
    • male is a boolean: true or false depending on gender
    • if using the metric system imperial is not needed or can be false
    • if using the imperial system imperial must be true

    Metric

    caloriesNeeded(83.9146, 165.1, 30, true); returns 1726.02

    Imperial

    caloriesNeeded(185, 65, 30, true, true); returns 1725.88

    bodyFatPct

    bodyFatPct(bmi: number, age:number, male: boolean): number

    • bmi is a number returned from the bodyMassIndex method above
    • age is a number specified in years
    • male is a boolean: true or false depending on gender

    bodyFatPct(30.78, age:30, male: true) returns 27.64

    leanBodyMass

    leanBodyMass(weight: number, height:number, male: boolean, imperial?: boolean): number

    • weight is specified as kgs || lbs
    • height is specified as cms || inches
    • male is a boolean: true or false depending on gender
    • if using the metric system imperial is not needed or can be false
    • if using the imperial system imperial must be true

    Metric

    leanBodyMass(83.9146, 165.1, true); returns 59.03

    Imperial

    leanBodyMass(185, 65, true, true); returns 59.03

    dailyMacros

    dailyMacros(calories: number, fat: number = .20, carbs: number = .55, protein: number = .25): Macros

    ** Returns a 'Macros' object **

    Macros { fCal: number, fGram: number, cCal: number, cGram: number, pCal: number, pGram: number }

    ** Unless otherwise specified the macro values are predefined based on CDC recommendations **

    • fat = 20%
    • carbs = 55%
    • protein = 25%

    Calculate the calories parameter from the caloriesNeeded method above

    dailyMacros(1726.02) returns

    { "fCal": 345.2, "fGram": 38.36, "cCal": 949.31, "cGram": 237.33, "pCal": 431.5, "pGram": 107.88 }

    dailyMacros(1726.02, .25, .45, .30) returns

    { "fCal": 431.5, "fGram": 47.94, "cCal": 776.71, "cGram": 194.18, "pCal": 517.81, "pGram": 129.45 }

    Project is free to use and improvements are welcome. Source code found at https://github.com/JustinPaoletta/health-measurements

    Install

    npm i jp-healthmeasurements

    DownloadsWeekly Downloads

    0

    Version

    1.3.8

    License

    MIT

    Unpacked Size

    24.1 kB

    Total Files

    8

    Last publish

    Collaborators

    • jpaoletta