angular-suunto-parser
v1.0.18
Published
Suunto DM5 XML files parser for AngularJS
Downloads
8
Maintainers
Readme
angular-suunto-parser
TL;DR
This simple library allows you to read your Suunto XML files in any AngularJS application. I did this lib because I felt too limited by the proprietary tool provided by Suunto and wanted to build my own custom dashboards (annual temperature variation, impact on dives duration...).
Usage
npm install angular-suunto-parser
Get DM5Parser using AngularJS dependency injection and then simply pass it the files and a scope. It returns a promise resolved with an array of dives corresponding to each file in parameter:
// Add the dependency to your module:
angular.module('your_module_name', ['fmd.suunto'])
...
// Inject DM5Parser and you can then use it like this:
DM5Parser.parseFiles(files, $scope).then(function (dives) {
...
});
Detailed example available here.
Features
Anonymization
- The XML contains your device Serial Number. This library will automatically replace it by "XXXXXXXX" to preserve your privacy.
- I have absolutely no clue on what the
SampleBlob
field stands for. It looks like an encrypted string. I don't know what is inside but it may be used to fingerprint your device. As a result, the library totally removes this field.
Data cleaning
Since the schema of the XML files is not available and in order to prevent parsing issues we force some fields to be Array
. Indeed the parser relies on X2JS and if a tag appears only once it will be parsed to an Object
. On the other hand if the same tag appears twice or more the parser understands it must be parsed to an Array
.
Data types
Dates and numerical fields are casted directly if possible. If not, the String
value is returned.
They are using angularjs-suunto-parser
Feel free to open a PR to get your Open Source project listed here:
Legal disclaimer
I don't own any right on Suunto or Suunto DM5. All rights belong to their's rightful owner/owners. No copyright infringement intended. I only made this project as I am a big fan of Suunto and wanted to extend DM5 capabilities.