trainingpeaks-sdk
Version:
TypeScript SDK for TrainingPeaks API integration
40 lines (39 loc) • 1.11 kB
JavaScript
;
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;