hevy-shared 1.0.786 → 1.0.788

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
@@ -838,7 +838,6 @@ export interface Workout {
838
838
  logged_by_coach_id?: string;
839
839
  biometrics?: WorkoutBiometrics;
840
840
  is_biometrics_public: boolean;
841
- is_trainer_workout: boolean;
842
841
  }
843
842
  export interface CustomExerciseImage {
844
843
  type: 'image';
@@ -917,7 +916,6 @@ export interface PostWorkoutRequestWorkout {
917
916
  is_private: boolean;
918
917
  biometrics?: WorkoutBiometrics;
919
918
  is_biometrics_public: boolean;
920
- is_trainer_workout: boolean;
921
919
  }
922
920
  export declare const isHeartRateSamples: (x: any) => x is HeartRateSample[];
923
921
  export declare const isWorkoutBiometrics: (x: any) => x is WorkoutBiometrics;
@@ -1037,6 +1035,7 @@ export interface HevyTrainerRoutine extends Routine {
1037
1035
  coach_force_rpe_enabled: false;
1038
1036
  folder_id: null;
1039
1037
  }
1038
+ export declare const isHevyTrainerRoutine: (routine: BaseRoutine) => routine is HevyTrainerRoutine;
1040
1039
  export type CoachsShallowLibraryRoutine = Omit<BaseRoutine, 'exercises' | 'profile_pic' | 'hevy_trainer_program_id' | 'username'>;
1041
1040
  export interface CoachesRoutine extends BaseRoutine {
1042
1041
  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',
@@ -35,7 +35,6 @@ export interface NormalizedWorkout {
35
35
  };
36
36
  clientId: string;
37
37
  biometrics?: WorkoutBiometrics;
38
- isTrainerWorkout: boolean;
39
38
  }
40
39
  export interface NormalizedSet {
41
40
  index: number;
@@ -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;
@@ -153,7 +153,6 @@ class WorkoutBuilder {
153
153
  wearosWatch: false,
154
154
  workoutVisibility: 'public',
155
155
  isWorkoutBiometricsPublic: true,
156
- isTrainerWorkout: false,
157
156
  shareTo: {
158
157
  strava: false,
159
158
  appleHealth: false,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hevy-shared",
3
- "version": "1.0.786",
3
+ "version": "1.0.788",
4
4
  "description": "",
5
5
  "main": "built/index.js",
6
6
  "types": "built/index.d.ts",