hevy-shared 1.0.786 → 1.0.787

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/index.d.ts CHANGED
@@ -1037,6 +1037,7 @@ export interface HevyTrainerRoutine extends Routine {
1037
1037
  coach_force_rpe_enabled: false;
1038
1038
  folder_id: null;
1039
1039
  }
1040
+ export declare const isHevyTrainerRoutine: (routine: BaseRoutine) => routine is HevyTrainerRoutine;
1040
1041
  export type CoachsShallowLibraryRoutine = Omit<BaseRoutine, 'exercises' | 'profile_pic' | 'hevy_trainer_program_id' | 'username'>;
1041
1042
  export interface CoachesRoutine extends BaseRoutine {
1042
1043
  coach_id: string;
package/built/index.js CHANGED
@@ -15,7 +15,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  exports.isWorkoutBiometrics = exports.isHeartRateSamples = exports.isPublicWorkout = exports.isSetType = exports.isRPE = exports.validRpeValues = exports.isSetPersonalRecordType = exports.supportedInstructionsLanguages = exports.weeklyTrainingFrequencies = exports.hevyTrainerProgramEquipments = exports.exerciseCategories = exports.trainingLevels = exports.trainingGoals = exports.isCustomExerciseType = exports.customExericseTypes = exports.isExerciseType = exports.exerciseTypes = exports.isExerciseRepType = exports.exerciseRepTypes = exports.isEquipmentFilter = exports.equipmentFilters = exports.isEquipment = exports.equipments = exports.simplifiedMuscleGroupToMuscleGroups = exports.isMuscleGroupFilter = exports.muscleGroupFilters = exports.isMuscleGroup = exports.muscleGroups = exports.isSimplifiedMuscleGroup = exports.simplifiedMuscleGroups = exports.miscellaneousMuscles = exports.chestMuscles = exports.backMuscles = exports.legMuscles = exports.armMuscles = exports.shoulderMuscles = exports.coreMuscles = exports.DefaultClientConfiguration = exports.isCoachRole = exports.isErrorResponse = exports.isLivePRVolumeOption = exports.isTimerVolumeOption = exports.isWeekday = exports.orderedWeekdays = exports.isBodyMeasurementUnit = exports.isDistanceUnitShort = exports.isDistanceUnit = exports.isWeightUnit = exports.isLanguage = exports.supportedLanguages = void 0;
18
- exports.isSuggestedUserSource = exports.isValidUserWorkoutMetricsType = exports.isBodyMeasurementKey = exports.measurementsList = void 0;
18
+ exports.isSuggestedUserSource = exports.isValidUserWorkoutMetricsType = exports.isBodyMeasurementKey = exports.measurementsList = exports.isHevyTrainerRoutine = void 0;
19
19
  const typeUtils_1 = require("./typeUtils");
20
20
  __exportStar(require("./constants"), exports);
21
21
  __exportStar(require("./utils"), exports);
@@ -287,6 +287,8 @@ const isWorkoutBiometrics = (x) => {
287
287
  return caloriesAreValid && heartSamplesAreValid;
288
288
  };
289
289
  exports.isWorkoutBiometrics = isWorkoutBiometrics;
290
+ const isHevyTrainerRoutine = (routine) => routine.hevy_trainer_program_id !== null;
291
+ exports.isHevyTrainerRoutine = isHevyTrainerRoutine;
290
292
  exports.measurementsList = [
291
293
  'weight_kg',
292
294
  'fat_percent',
@@ -1,4 +1,13 @@
1
- import { BaseRoutine, RoutineUpdate } from '.';
1
+ import { BaseRoutine, HevyTrainerRoutine, RoutineUpdate } from '.';
2
2
  import { NormalizedWorkout } from './normalizedWorkoutUtils';
3
3
  export declare const majorRoutineUpdate: (routine: BaseRoutine, workout: NormalizedWorkout) => RoutineUpdate;
4
4
  export declare const minorRoutineUpdate: (routine: BaseRoutine, workout: NormalizedWorkout) => RoutineUpdate;
5
+ /**
6
+ * Updates a Hevy Trainer routine with the workout data.
7
+ * @param routine - The Hevy Trainer routine to update.
8
+ * @param workout - The workout data to update the routine with.
9
+ * @returns The updated routine.
10
+ *
11
+ * Only the rest timer seconds are updated for now.
12
+ */
13
+ export declare const trainerRoutineUpdate: (routine: HevyTrainerRoutine, workout: NormalizedWorkout) => RoutineUpdate;
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.minorRoutineUpdate = exports.majorRoutineUpdate = void 0;
3
+ exports.trainerRoutineUpdate = exports.minorRoutineUpdate = exports.majorRoutineUpdate = void 0;
4
+ const _1 = require(".");
4
5
  const majorRoutineUpdate = (routine, workout) => {
5
6
  var _a, _b;
6
7
  const exercises = workout.exercises.map((e) => {
@@ -159,3 +160,27 @@ const minorRoutineUpdate = (routine, workout) => {
159
160
  };
160
161
  };
161
162
  exports.minorRoutineUpdate = minorRoutineUpdate;
163
+ /**
164
+ * Updates a Hevy Trainer routine with the workout data.
165
+ * @param routine - The Hevy Trainer routine to update.
166
+ * @param workout - The workout data to update the routine with.
167
+ * @returns The updated routine.
168
+ *
169
+ * Only the rest timer seconds are updated for now.
170
+ */
171
+ const trainerRoutineUpdate = (routine, workout) => {
172
+ var _a, _b;
173
+ return Object.assign(Object.assign({}, routine), { parent_routine_id: (_a = routine.parent_routine_id) !== null && _a !== void 0 ? _a : undefined, index: (_b = routine.index) !== null && _b !== void 0 ? _b : 0, exercises: routine.exercises.map((e) => {
174
+ const occurrenceInRoutine = routine.exercises
175
+ .filter((it) => it.exercise_template_id === e.exercise_template_id)
176
+ .indexOf(e);
177
+ const workoutExercise = (0, _1.typeSafeIndex)(workout.exercises.filter((it) => it.exerciseTemplateId === e.exercise_template_id), occurrenceInRoutine);
178
+ const shouldUpdateExercise = !!workoutExercise;
179
+ if (shouldUpdateExercise) {
180
+ const exercise = Object.assign(Object.assign({}, e), { rest_seconds: workoutExercise.autoRestTimerSeconds });
181
+ return exercise;
182
+ }
183
+ return e;
184
+ }) });
185
+ };
186
+ exports.trainerRoutineUpdate = trainerRoutineUpdate;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hevy-shared",
3
- "version": "1.0.786",
3
+ "version": "1.0.787",
4
4
  "description": "",
5
5
  "main": "built/index.js",
6
6
  "types": "built/index.d.ts",