UNPKG

fit-parser

Version:

Parse a written workout into a set of workout objects

73 lines (63 loc) 1.47 kB
var Set, actions; actions = require('./actions'); Set = class Set { constructor(options) { if (options != null) { ({name: this.name, intervals: this.intervals} = options); } if (this.intervals == null) { this.intervals = []; } if (this.name == null) { this.name = ''; } } toString() { var output; output = ''; if (this.name.length) { output += this.name + '\n'; } output += this.intervals.map(function(interval) { return interval.toString(); }).join('\n'); return output; } toJSON() { return { name: this.name, intervals: this.intervals.map(function(interval) { return interval.toJSON(); }) }; } add() { throw new Error('Must implement'); } current() { var currentInterval, intervalLength; currentInterval = null; intervalLength = this.intervals.length; if (intervalLength > 0) { currentInterval = this.intervals[intervalLength - 1]; } else { currentInterval = this.add(); } return currentInterval; } totalIntervals() { var i, interval, len, ref, total; total = 0; ref = this.intervals; for (i = 0, len = ref.length; i < len; i++) { interval = ref[i]; if (interval != null ? interval.intervals : void 0) { total += interval.intervals.length; } else { total += 1; } } return total; } }; module.exports = Set;