diff --git a/package.json b/package.json index 81e5a8465..4deef9d0e 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "node": "20.8.0" }, "packageManager": "yarn@3.6.4", - "version": "1.54.0-web-4274-copy-billing.6", + "version": "1.54.0-local-data-source.1", "description": "Tidepool data visualization for diabetes device data.", "keywords": [ "data visualization" diff --git a/src/utils/DataUtil.js b/src/utils/DataUtil.js index 61e5875a7..eeff643f4 100644 --- a/src/utils/DataUtil.js +++ b/src/utils/DataUtil.js @@ -109,6 +109,33 @@ export class DataUtil { this.endTimer('init total'); }; + addLocalData = (patientId, returnData = false, localDataSource) => { + let data; + try { + // eslint-disable-next-line global-require, import/no-unresolved + data = require('../../local/rawData.json'); + let dataSource = localDataSource === 'export' ? 'the Tidepool export service' : 'the Tidepool API'; + + if (data?.data?.current?.data) { + data = _.flatten(_.values(data.data.current.data)); + dataSource = 'a Tidepool Web console export'; + } else if (data?.[0].dataset) { + data = _.flatten(_.map(data, v => v.data)); + dataSource = 'a Tidepool Account Tool export'; + } + + this.log(`Loading dataset provided by ${dataSource}`); + } catch (e) { + data = { data: [] }; + } + + if (localDataSource === 'export') { + data = _.map(data, d => ({ ...d, duration: d.type === 'basal' && d.duration < 1000 ? d.duration * MS_IN_MIN : d.duration })); + } + + return this.addData(data, patientId, returnData); + }; + addData = (rawData = [], patientId, returnData = false) => { this.startTimer('addData'); diff --git a/storybook/preview.js b/storybook/preview.js index 2ac6e18ec..1ec06ec92 100644 --- a/storybook/preview.js +++ b/storybook/preview.js @@ -2,28 +2,9 @@ import React from 'react'; import DataUtil from '../src/utils/DataUtil'; -let data; -try { - // eslint-disable-next-line global-require, import/no-unresolved - data = require('../local/rawData.json'); - let dataSource = 'the Tidepool API'; - - if (data?.data?.current?.data) { - data = _.flatten(_.values(data.data.current.data)); - dataSource = 'a Tidepool Web console export'; - } else if (data?.[0].dataset) { - data = _.flatten(_.map(data, v => v.data)); - dataSource = 'a Tidepool Account Tool export'; - } - - console.log(`Loading dataset provided by ${dataSource}`); -} catch (e) { - data = { data: [] }; -} - const patientId = 'abc123'; const dataUtil = new DataUtil(); -dataUtil.addData(data, patientId); +dataUtil.addLocalData(patientId); const props = { dataUtil,