0.2.0 • Published 1 year ago

cgm.js v0.2.0

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

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' }
  },
]
0.2.0

1 year ago