UNPKG

fitbit-api-client

Version:
55 lines 2.67 kB
"use strict"; 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