hevy-shared 1.0.977 → 1.0.979
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/built/hevyTrainer.d.ts +3 -8
- package/built/hevyTrainer.js +8 -12
- package/built/index.d.ts +9 -7
- package/package.json +1 -1
package/built/hevyTrainer.d.ts
CHANGED
|
@@ -23,7 +23,7 @@ export interface ExerciseSelectionCriteria {
|
|
|
23
23
|
equipments: GranularEquipment[];
|
|
24
24
|
routineBarbellExerciseCount: number;
|
|
25
25
|
level: TrainingLevel;
|
|
26
|
-
goal: TrainingGoal
|
|
26
|
+
goal: TrainingGoal;
|
|
27
27
|
muscleGroup: MuscleGroup;
|
|
28
28
|
frequency: WeeklyTrainingFrequency;
|
|
29
29
|
}
|
|
@@ -70,7 +70,6 @@ export interface ProgramGenerationParams<T extends HevyTrainerLibraryExercise> {
|
|
|
70
70
|
export interface TemplateExerciseSelectionTraceRecord {
|
|
71
71
|
traceKind: 'template';
|
|
72
72
|
routine: HevyTrainerRoutineName;
|
|
73
|
-
/** Template slot index. */
|
|
74
73
|
prescriptionIndex: number;
|
|
75
74
|
prescription: ExercisePrescription;
|
|
76
75
|
resolvedMuscleGroup: MuscleGroup;
|
|
@@ -81,10 +80,6 @@ export interface TemplateExerciseSelectionTraceRecord {
|
|
|
81
80
|
export interface CardioExerciseSelectionTraceRecord {
|
|
82
81
|
traceKind: 'cardio';
|
|
83
82
|
routine: HevyTrainerRoutineName;
|
|
84
|
-
/**
|
|
85
|
-
* Ordering key alongside template traces: `-1` when cardio is inserted before
|
|
86
|
-
* template exercises; `templatePrescriptionCount` when appended after.
|
|
87
|
-
*/
|
|
88
83
|
prescriptionIndex: number;
|
|
89
84
|
selectedExerciseId?: string;
|
|
90
85
|
equipments: GranularEquipment[];
|
|
@@ -182,8 +177,8 @@ export interface TrainerProgramCardioExercise {
|
|
|
182
177
|
durationSeconds: number;
|
|
183
178
|
}
|
|
184
179
|
export type TrainerProgramExercise = TrainerProgramResistanceExercise | TrainerProgramCardioExercise;
|
|
185
|
-
export declare
|
|
186
|
-
export declare
|
|
180
|
+
export declare const isTrainerProgramResistanceExercise: (exercise: TrainerProgramExercise) => exercise is TrainerProgramResistanceExercise;
|
|
181
|
+
export declare const isTrainerProgramCardioExercise: (exercise: TrainerProgramExercise) => exercise is TrainerProgramCardioExercise;
|
|
187
182
|
export interface TrainerProgramRoutine {
|
|
188
183
|
name: HevyTrainerRoutineName;
|
|
189
184
|
exercises: TrainerProgramExercise[];
|
package/built/hevyTrainer.js
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DEFAULT_TRAINER_CARDIO_ATTACHMENT_DURATION_SECONDS = exports.getPrioritySortedExercises = exports.isEquipmentCompatible = exports.normalizeExerciseCategory = exports.getTrainerRestTimerSeconds = exports.getTrainerRepRange = exports.getTrainerSetCount = exports.programSplits = exports.frequencyMap = exports.routineNames = exports.defaultDurationPerFrequency = exports.hevyTrainerExerciseCategories = exports.granularEquipmentsToTrainerEquipments = exports.trainerEquipmentToGranularEquipments = exports.granularEquipmentDefaults = exports.trainerGymTypes = exports.workoutDurationOptions = void 0;
|
|
4
|
-
exports.isTrainerProgramResistanceExercise = isTrainerProgramResistanceExercise;
|
|
5
|
-
exports.isTrainerProgramCardioExercise = isTrainerProgramCardioExercise;
|
|
3
|
+
exports.DEFAULT_TRAINER_CARDIO_ATTACHMENT_DURATION_SECONDS = exports.getPrioritySortedExercises = exports.isEquipmentCompatible = exports.normalizeExerciseCategory = exports.getTrainerRestTimerSeconds = exports.getTrainerRepRange = exports.getTrainerSetCount = exports.isTrainerProgramCardioExercise = exports.isTrainerProgramResistanceExercise = exports.programSplits = exports.frequencyMap = exports.routineNames = exports.defaultDurationPerFrequency = exports.hevyTrainerExerciseCategories = exports.granularEquipmentsToTrainerEquipments = exports.trainerEquipmentToGranularEquipments = exports.granularEquipmentDefaults = exports.trainerGymTypes = exports.workoutDurationOptions = void 0;
|
|
6
4
|
exports.pickExerciseForPrescription = pickExerciseForPrescription;
|
|
7
5
|
exports.generateProgram = generateProgram;
|
|
8
6
|
const _1 = require(".");
|
|
@@ -199,12 +197,10 @@ exports.programSplits = {
|
|
|
199
197
|
5: ['push_1', 'pull_1', 'legs_1', 'upper_2', 'lower_2'],
|
|
200
198
|
6: ['push_2_a', 'pull_2_a', 'legs_2_a', 'push_2_b', 'pull_2_b', 'legs_2_b'],
|
|
201
199
|
};
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
return exercise.kind === 'cardio';
|
|
207
|
-
}
|
|
200
|
+
const isTrainerProgramResistanceExercise = (exercise) => exercise.kind === 'resistance';
|
|
201
|
+
exports.isTrainerProgramResistanceExercise = isTrainerProgramResistanceExercise;
|
|
202
|
+
const isTrainerProgramCardioExercise = (exercise) => exercise.kind === 'cardio';
|
|
203
|
+
exports.isTrainerProgramCardioExercise = isTrainerProgramCardioExercise;
|
|
208
204
|
const getTrainerSetCount = (trainerAlgorithmSettings, goal, frequency) => {
|
|
209
205
|
return trainerAlgorithmSettings.sets[exports.frequencyMap[frequency]][goal];
|
|
210
206
|
};
|
|
@@ -422,7 +418,7 @@ const isExerciseMatch = (exercise, criteria) => {
|
|
|
422
418
|
(exercise.category === 'assistance-compound' &&
|
|
423
419
|
criteria.exerciseCategory === 'compound');
|
|
424
420
|
const levelMatch = (_b = (_a = exercise.level) === null || _a === void 0 ? void 0 : _a.includes(criteria.level)) !== null && _b !== void 0 ? _b : false;
|
|
425
|
-
const goalMatch = (_d = (
|
|
421
|
+
const goalMatch = (_d = (_c = exercise.goal) === null || _c === void 0 ? void 0 : _c.includes(criteria.goal)) !== null && _d !== void 0 ? _d : false;
|
|
426
422
|
const equipmentMatch = (0, exports.isEquipmentCompatible)(exercise, criteria.equipments);
|
|
427
423
|
const barbellLimitOk = isBarbellExerciseAllowed(exercise, criteria.routineBarbellExerciseCount, criteria.equipments, criteria.frequency);
|
|
428
424
|
return (categoryMatch && levelMatch && goalMatch && equipmentMatch && barbellLimitOk);
|
|
@@ -546,7 +542,7 @@ function pickExerciseForPrescription(params) {
|
|
|
546
542
|
}
|
|
547
543
|
const CARDIO_TRACE_INDEX_BEFORE_TEMPLATE = -1;
|
|
548
544
|
exports.DEFAULT_TRAINER_CARDIO_ATTACHMENT_DURATION_SECONDS = 600;
|
|
549
|
-
|
|
545
|
+
const appendCardioExerciseSelectionTrace = (traces, params) => {
|
|
550
546
|
traces.push({
|
|
551
547
|
traceKind: 'cardio',
|
|
552
548
|
routine: params.routine,
|
|
@@ -566,7 +562,7 @@ function appendCardioExerciseSelectionTrace(traces, params) {
|
|
|
566
562
|
selectedPass: 1,
|
|
567
563
|
},
|
|
568
564
|
});
|
|
569
|
-
}
|
|
565
|
+
};
|
|
570
566
|
/** Inserts optional cardio before or after template exercises for one routine. */
|
|
571
567
|
const attachOptionalCardioToRoutine = ({ cardioPreference, cardioExercises, criteria, debugExerciseSelectionTrace, exerciseSelectionTraces, routine, templatePrescriptionCount, routineExercises, }) => {
|
|
572
568
|
if (!cardioPreference)
|
package/built/index.d.ts
CHANGED
|
@@ -1264,12 +1264,13 @@ export interface HevyTrainerProgram {
|
|
|
1264
1264
|
routines: HevyTrainerRoutine[];
|
|
1265
1265
|
focus_muscle?: SimplifiedMuscleGroup;
|
|
1266
1266
|
next_workout_index: number;
|
|
1267
|
-
workout_duration_minutes
|
|
1267
|
+
workout_duration_minutes: WorkoutDurationMinutes;
|
|
1268
1268
|
rest_timer_length: RestTimerLength;
|
|
1269
1269
|
cardio_preference: CardioPreference;
|
|
1270
1270
|
}
|
|
1271
1271
|
export interface PostHevyTrainerProgramRequestBody {
|
|
1272
1272
|
program: {
|
|
1273
|
+
version: 1;
|
|
1273
1274
|
title: string;
|
|
1274
1275
|
level: TrainingLevel;
|
|
1275
1276
|
goal: TrainingGoal;
|
|
@@ -1277,14 +1278,15 @@ export interface PostHevyTrainerProgramRequestBody {
|
|
|
1277
1278
|
weekly_frequency: WeeklyTrainingFrequency;
|
|
1278
1279
|
focus_muscle?: SimplifiedMuscleGroup;
|
|
1279
1280
|
routines: RoutineUpdate[];
|
|
1280
|
-
next_workout_index
|
|
1281
|
-
workout_duration_minutes
|
|
1281
|
+
next_workout_index: number;
|
|
1282
|
+
workout_duration_minutes: WorkoutDurationMinutes;
|
|
1282
1283
|
rest_timer_length: RestTimerLength;
|
|
1283
1284
|
cardio_preference: CardioPreference;
|
|
1284
1285
|
};
|
|
1285
1286
|
}
|
|
1286
1287
|
export interface UpdateHevyTrainerProgramRequestBody {
|
|
1287
1288
|
program: {
|
|
1289
|
+
version: 1;
|
|
1288
1290
|
programId: string;
|
|
1289
1291
|
title: string;
|
|
1290
1292
|
level: TrainingLevel;
|
|
@@ -1292,10 +1294,10 @@ export interface UpdateHevyTrainerProgramRequestBody {
|
|
|
1292
1294
|
equipments: GranularEquipment[];
|
|
1293
1295
|
weekly_frequency: WeeklyTrainingFrequency;
|
|
1294
1296
|
focus_muscle?: SimplifiedMuscleGroup;
|
|
1295
|
-
next_workout_index
|
|
1296
|
-
|
|
1297
|
-
|
|
1298
|
-
|
|
1297
|
+
next_workout_index: number;
|
|
1298
|
+
workout_duration_minutes: WorkoutDurationMinutes;
|
|
1299
|
+
rest_timer_length: RestTimerLength;
|
|
1300
|
+
cardio_preference: CardioPreference;
|
|
1299
1301
|
routines: {
|
|
1300
1302
|
id: string;
|
|
1301
1303
|
title: string;
|