UNPKG

trainingpeaks-sdk

Version:
40 lines (39 loc) 1.11 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.WorkoutStructureElementBuilder = void 0; const types_1 = require("../../types/index.js"); class WorkoutStructureElementBuilder { constructor() { this.element = { type: types_1.ElementType.STEP, steps: [], length: { value: 0, unit: types_1.LengthUnit.MINUTE }, begin: 0, end: 0, }; } type(type) { this.element.type = type; return this; } addStep(step) { this.element.steps.push(step); return this; } addSteps(steps) { this.element.steps.push(...steps); return this; } duration(minutes) { this.element.length = { value: minutes, unit: types_1.LengthUnit.MINUTE }; return this; } distance(value, unit = types_1.LengthUnit.KILOMETER) { this.element.length = { value, unit }; return this; } build() { return { ...this.element }; } } exports.WorkoutStructureElementBuilder = WorkoutStructureElementBuilder;