Skip to content

brettfarrow/cgm.js

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cgm.js

A JavaScript port of pydexcom

Requirements

This has been tested from Node 14 to Node 18, but may work in earlier versions as well.

Usage

Importing

const Dexcom = require("cgm.js");

For ESM, set "type": "module", in your package.json.

import Dexcom from "cgm.js";

Get Single Reading

Most recent reading:

const dexcom = new Dexcom("user", "pass");
const latestGlucoseReading = await dexcom.getLatestGlucoseReading();

getCurrentGlucoseReading() should return the same result but is maintained for parity with the original package.

Example Output

GlucoseReading {
    value: 143,
    mgdL: 143,
    mmolL: 7.9,
    trend: 4,
    trendDescription: 'steady',
    trendArrow: '→',
    time: 2023-02-26T00:48:54.000Z,
    json: { WT: 'Date(1677372534000)', Value: 143, Trend: 'Flat' }
}

Get Multiple Readings

const dexcom = new Dexcom("user", "pass");
const glucoseReadings = await dexcom.getGlucoseReadings(15, 3); // minutes and number of readings readings

The service will return the minimum of the two parameters (minutes and maxCount of readings), so if your readings take place every five minutes and you request 30 minutes and 3 readings, you will only see three readings returned.

Example Output

[
  GlucoseReading {
    value: 112,
    mgdL: 112,
    mmolL: 6.2,
    trend: 3,
    trendDescription: 'rising slightly',
    trendArrow: '↗',
    time: 2023-02-27T03:23:59.000Z,
    json: { WT: 'Date(1677468239000)', Value: 112, Trend: 'FortyFiveUp' }
  },
  GlucoseReading {
    value: 105,
    mgdL: 105,
    mmolL: 5.8,
    trend: 3,
    trendDescription: 'rising slightly',
    trendArrow: '↗',
    time: 2023-02-27T03:18:59.000Z,
    json: { WT: 'Date(1677467939000)', Value: 105, Trend: 'FortyFiveUp' }
  },
  GlucoseReading {
    value: 93,
    mgdL: 93,
    mmolL: 5.2,
    trend: 4,
    trendDescription: 'steady',
    trendArrow: '→',
    time: 2023-02-27T03:14:00.000Z,
    json: { WT: 'Date(1677467640000)', Value: 93, Trend: 'Flat' }
  },
]

About

Allows easy use of the Dexcom Share API in your JavaScript project. Originally based on pydexcom.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published