fitbit-api-client
Version:
## ⚠️ This SDK is not ready for production
55 lines • 2.67 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.HeartRateResponseFromJson = HeartRateResponseFromJson;
const types_utils_1 = require("../utils/types.utils");
const date_utils_1 = require("../utils/date.utils");
function HeartRateResponseFromJson(localDate, offsetFromUTCMillis, json) {
const activitiesHeart = (0, types_utils_1.get)(json, 'activities-heart').map((data) => HeartRateDataFromJson(data));
const activitiesHeartIntraday = (0, types_utils_1.exists)(json, 'activities-heart-intraday')
? ActivitiesHeartIntradayFromJson(localDate, offsetFromUTCMillis, (0, types_utils_1.get)(json, 'activities-heart-intraday'))
: undefined;
return {
activitiesHeart,
activitiesHeartIntraday,
};
}
function HeartRateDataFromJson(json) {
const value = (0, types_utils_1.get)(json, 'value');
const heartRateZones = (0, types_utils_1.get)(value, 'heartRateZones').map((zone) => HeartRateZoneFromJson(zone));
const customHeartRateZones = (0, types_utils_1.get)(value, 'customHeartRateZones').map((zone) => HeartRateZoneFromJson(zone));
return {
localDate: (0, types_utils_1.get)(json, 'dateTime'),
value: {
restingHeartRate: (0, types_utils_1.exists)(value, 'restingHeartRate')
? (0, types_utils_1.get)(value, 'restingHeartRate')
: undefined,
heartRateZones,
customHeartRateZones,
},
};
}
function ActivitiesHeartIntradayFromJson(localDate, offsetFromUTCMillis, json) {
return {
dataset: (0, types_utils_1.get)(json, 'dataset').map((data) => HeartRateIntradayDataFromJson(localDate, offsetFromUTCMillis, data)),
datasetInterval: (0, types_utils_1.get)(json, 'datasetInterval'),
datasetType: (0, types_utils_1.get)(json, 'datasetType'),
};
}
function HeartRateIntradayDataFromJson(localDate, offsetFromUTCMillis, json) {
return {
dateTime: (0, date_utils_1.convertToOffsetDate)(new Date(`${localDate}T${(0, types_utils_1.get)(json, 'time')}Z`), offsetFromUTCMillis),
value: (0, types_utils_1.get)(json, 'value'),
};
}
function HeartRateZoneFromJson(json) {
return {
name: (0, types_utils_1.get)(json, 'name'),
min: (0, types_utils_1.get)(json, 'min'),
max: (0, types_utils_1.get)(json, 'max'),
minutes: (0, types_utils_1.exists)(json, 'minutes') ? (0, types_utils_1.get)(json, 'minutes') : undefined,
caloriesOut: (0, types_utils_1.exists)(json, 'caloriesOut')
? (0, types_utils_1.get)(json, 'caloriesOut')
: undefined,
};
}
//# sourceMappingURL=heart-rate.js.map