hevy-shared 1.0.977 → 1.0.978

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.
@@ -23,7 +23,7 @@ export interface ExerciseSelectionCriteria {
23
23
  equipments: GranularEquipment[];
24
24
  routineBarbellExerciseCount: number;
25
25
  level: TrainingLevel;
26
- goal: TrainingGoal | 'all';
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 function isTrainerProgramResistanceExercise(exercise: TrainerProgramExercise): exercise is TrainerProgramResistanceExercise;
186
- export declare function isTrainerProgramCardioExercise(exercise: TrainerProgramExercise): exercise is TrainerProgramCardioExercise;
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[];
@@ -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
- function isTrainerProgramResistanceExercise(exercise) {
203
- return exercise.kind === 'resistance';
204
- }
205
- function isTrainerProgramCardioExercise(exercise) {
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 = (criteria.goal === 'all' || ((_c = exercise.goal) === null || _c === void 0 ? void 0 : _c.includes(criteria.goal)))) !== null && _d !== void 0 ? _d : false;
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
- function appendCardioExerciseSelectionTrace(traces, params) {
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,7 +1264,7 @@ export interface HevyTrainerProgram {
1264
1264
  routines: HevyTrainerRoutine[];
1265
1265
  focus_muscle?: SimplifiedMuscleGroup;
1266
1266
  next_workout_index: number;
1267
- workout_duration_minutes?: WorkoutDurationMinutes;
1267
+ workout_duration_minutes: WorkoutDurationMinutes;
1268
1268
  rest_timer_length: RestTimerLength;
1269
1269
  cardio_preference: CardioPreference;
1270
1270
  }
@@ -1277,8 +1277,8 @@ export interface PostHevyTrainerProgramRequestBody {
1277
1277
  weekly_frequency: WeeklyTrainingFrequency;
1278
1278
  focus_muscle?: SimplifiedMuscleGroup;
1279
1279
  routines: RoutineUpdate[];
1280
- next_workout_index?: number;
1281
- workout_duration_minutes?: WorkoutDurationMinutes;
1280
+ next_workout_index: number;
1281
+ workout_duration_minutes: WorkoutDurationMinutes;
1282
1282
  rest_timer_length: RestTimerLength;
1283
1283
  cardio_preference: CardioPreference;
1284
1284
  };
@@ -1292,10 +1292,10 @@ export interface UpdateHevyTrainerProgramRequestBody {
1292
1292
  equipments: GranularEquipment[];
1293
1293
  weekly_frequency: WeeklyTrainingFrequency;
1294
1294
  focus_muscle?: SimplifiedMuscleGroup;
1295
- next_workout_index?: number;
1296
- cardio_preference?: CardioPreference;
1297
- workout_duration_minutes?: WorkoutDurationMinutes;
1298
- rest_timer_length?: RestTimerLength;
1295
+ next_workout_index: number;
1296
+ workout_duration_minutes: WorkoutDurationMinutes;
1297
+ rest_timer_length: RestTimerLength;
1298
+ cardio_preference: CardioPreference;
1299
1299
  routines: {
1300
1300
  id: string;
1301
1301
  title: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hevy-shared",
3
- "version": "1.0.977",
3
+ "version": "1.0.978",
4
4
  "description": "",
5
5
  "main": "built/index.js",
6
6
  "types": "built/index.d.ts",