Skip to content

Commit 7df7348

Browse files
authored
Garmin FIT SDK 21.168.0
Garmin FIT SDK 21.168.0
2 parents 9b67561 + e8596b3 commit 7df7348

22 files changed

+1237
-39
lines changed

.github/workflows/publish-npm.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
- uses: actions/checkout@v3
1212
- uses: actions/setup-node@v3
1313
with:
14-
node-version: 16
14+
node-version: 20
1515
- run: npm install --package-lock=false
1616
- run: npm test
1717

@@ -22,7 +22,7 @@ jobs:
2222
- uses: actions/checkout@v3
2323
- uses: actions/setup-node@v3
2424
with:
25-
node-version: 16
25+
node-version: 20
2626
registry-url: https://registry.npmjs.org/
2727
- run: npm install --package-lock=false
2828
- run: npm publish

.github/workflows/run-tests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313

1414
strategy:
1515
matrix:
16-
node-version: [16.x, 18.x, 20.x]
16+
node-version: [21.x, 22.x]
1717
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/
1818

1919
steps:

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ The FIT SDK documentation is available at [https://developer.garmin.com/fit](htt
44
## FIT SDK Developer Forum
55
Share your knowledge, ask questions, and get the latest FIT SDK news in the [FIT SDK Developer Forum](https://forums.garmin.com/developer/).
66
## FIT JavaScript SDK Requirements
7-
The FIT JavaScript SDK uses ECMAScript module syntax and requires Node.js v14.0 or higher, or a browser with a compatible JavaScript runtime engine.
7+
The FIT JavaScript SDK uses ECMAScript module syntax and requires Node.js v21.0 or higher, or a browser with a compatible JavaScript runtime engine.
88
## Install
99
```sh
1010
npm install @garmin/fitsdk

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@garmin/fitsdk",
3-
"version": "21.161.0",
3+
"version": "21.168.0",
44
"description": "FIT JavaScript SDK",
55
"main": "src/index.js",
66
"type": "module",

src/accumulator.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
// Transfer (FIT) Protocol License.
66
/////////////////////////////////////////////////////////////////////////////////////////////
77
// ****WARNING**** This file is auto-generated! Do NOT edit this file.
8-
// Profile Version = 21.161.0Release
9-
// Tag = production/release/21.161.0-0-g58854c0
8+
// Profile Version = 21.168.0Release
9+
// Tag = production/release/21.168.0-0-gb831b31
1010
/////////////////////////////////////////////////////////////////////////////////////////////
1111

1212

src/bit-stream.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
// Transfer (FIT) Protocol License.
66
/////////////////////////////////////////////////////////////////////////////////////////////
77
// ****WARNING**** This file is auto-generated! Do NOT edit this file.
8-
// Profile Version = 21.161.0Release
9-
// Tag = production/release/21.161.0-0-g58854c0
8+
// Profile Version = 21.168.0Release
9+
// Tag = production/release/21.168.0-0-gb831b31
1010
/////////////////////////////////////////////////////////////////////////////////////////////
1111

1212

src/crc-calculator.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
// Transfer (FIT) Protocol License.
66
/////////////////////////////////////////////////////////////////////////////////////////////
77
// ****WARNING**** This file is auto-generated! Do NOT edit this file.
8-
// Profile Version = 21.161.0Release
9-
// Tag = production/release/21.161.0-0-g58854c0
8+
// Profile Version = 21.168.0Release
9+
// Tag = production/release/21.168.0-0-gb831b31
1010
/////////////////////////////////////////////////////////////////////////////////////////////
1111

1212

src/decoder.js

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
// Transfer (FIT) Protocol License.
66
/////////////////////////////////////////////////////////////////////////////////////////////
77
// ****WARNING**** This file is auto-generated! Do NOT edit this file.
8-
// Profile Version = 21.161.0Release
9-
// Tag = production/release/21.161.0-0-g58854c0
8+
// Profile Version = 21.168.0Release
9+
// Tag = production/release/21.168.0-0-gb831b31
1010
/////////////////////////////////////////////////////////////////////////////////////////////
1111

1212

@@ -15,6 +15,7 @@ import BitStream from "../src/bit-stream.js";
1515
import CrcCalculator from "./crc-calculator.js";
1616
import FIT from "./fit.js";
1717
import HrMesgUtils from "./utils-hr-mesg.js";
18+
import MemoGlobUtils from "./utils-memo-glob.js";
1819
import Profile from "./profile.js";
1920
import Stream from "./stream.js";
2021
import Utils from "./utils.js";
@@ -57,6 +58,7 @@ class Decoder {
5758
#optConvertDateTimesToDates = true;
5859
#optIncludeUnknownData = false;
5960
#optMergeHeartRates = true;
61+
#optDecodeMemoGlobs = false;
6062

6163
/**
6264
* Creates a FIT File Decoder
@@ -179,7 +181,8 @@ class Decoder {
179181
* @param {Boolean} [options.convertTypesToStrings=true] - (optional, default true)
180182
* @param {boolean} [options.convertDateTimesToDates=true] - (optional, default true)
181183
* @param {Boolean} [options.includeUnknownData=false] - (optional, default false)
182-
* @param {boolean} [options.mergeHeartRates=true] - (optional, default false)
184+
* @param {boolean} [options.mergeHeartRates=true] - (optional, default true)
185+
* @param {boolean} [options.decodeMemoGlobs=true] - (optional, default false)
183186
* @param {boolean} [options.skipHeader=false] - (optional, default false)
184187
* @param {boolean} [options.dataOnly=false] - (optional, default false)
185188
* @return {Object} result - {messages:Array, errors:Array}
@@ -195,6 +198,7 @@ class Decoder {
195198
convertDateTimesToDates = true,
196199
includeUnknownData = false,
197200
mergeHeartRates = true,
201+
decodeMemoGlobs = false,
198202
skipHeader = false,
199203
dataOnly = false,} = {}) {
200204

@@ -208,6 +212,7 @@ class Decoder {
208212
this.#optConvertDateTimesToDates = convertDateTimesToDates;
209213
this.#optIncludeUnknownData = includeUnknownData;
210214
this.#optMergeHeartRates = mergeHeartRates;
215+
this.#optDecodeMemoGlobs = decodeMemoGlobs;
211216

212217
this.#localMessageDefinitions = [];
213218
this.#developerDataDefinitions = {};
@@ -233,6 +238,10 @@ class Decoder {
233238
if (this.#optMergeHeartRates) {
234239
HrMesgUtils.mergeHeartRates(this.#messages.hrMesgs, this.#messages.recordMesgs);
235240
}
241+
242+
if (this.#optDecodeMemoGlobs) {
243+
MemoGlobUtils.decodeMemoGlobs(this.#messages);
244+
}
236245
}
237246
catch (error) {
238247
errors.push(error);

src/encoder.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
// Transfer (FIT) Protocol License.
66
/////////////////////////////////////////////////////////////////////////////////////////////
77
// ****WARNING**** This file is auto-generated! Do NOT edit this file.
8-
// Profile Version = 21.161.0Release
9-
// Tag = production/release/21.161.0-0-g58854c0
8+
// Profile Version = 21.168.0Release
9+
// Tag = production/release/21.168.0-0-gb831b31
1010
/////////////////////////////////////////////////////////////////////////////////////////////
1111

1212

@@ -212,8 +212,8 @@ class Encoder {
212212
throw new Error();
213213
}
214214

215-
const scale = Array.isArray(fieldDefinition.scale) ? fieldDefinition.scale[0] : fieldDefinition.scale;
216-
const offset = Array.isArray(fieldDefinition.offset) ? fieldDefinition.offset[0] : fieldDefinition.offset;
215+
const scale = fieldDefinition.components.length > 1 ? 1 : fieldDefinition.scale;
216+
const offset = fieldDefinition.components.length > 1 ? 0 : fieldDefinition.offset;
217217

218218
return (value + offset) * scale;
219219
}

src/fit.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
// Transfer (FIT) Protocol License.
66
/////////////////////////////////////////////////////////////////////////////////////////////
77
// ****WARNING**** This file is auto-generated! Do NOT edit this file.
8-
// Profile Version = 21.161.0Release
9-
// Tag = production/release/21.161.0-0-g58854c0
8+
// Profile Version = 21.168.0Release
9+
// Tag = production/release/21.168.0-0-gb831b31
1010
/////////////////////////////////////////////////////////////////////////////////////////////
1111

1212

0 commit comments

Comments
 (0)