hevy-shared 1.0.782 → 1.0.783

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
@@ -1,7 +1,6 @@
1
1
  import { Lookup } from './typeUtils';
2
2
  export * from './constants';
3
3
  export * from './utils';
4
- export * from './auth';
5
4
  export * from './units';
6
5
  export * from './filterExercises';
7
6
  export * from './setIndicatorUtils';
@@ -839,6 +838,7 @@ export interface Workout {
839
838
  logged_by_coach_id?: string;
840
839
  biometrics?: WorkoutBiometrics;
841
840
  is_biometrics_public: boolean;
841
+ is_trainer_workout: boolean;
842
842
  }
843
843
  export interface CustomExerciseImage {
844
844
  type: 'image';
@@ -917,6 +917,7 @@ export interface PostWorkoutRequestWorkout {
917
917
  is_private: boolean;
918
918
  biometrics?: WorkoutBiometrics;
919
919
  is_biometrics_public: boolean;
920
+ is_trainer_workout: boolean;
920
921
  }
921
922
  export declare const isHeartRateSamples: (x: any) => x is HeartRateSample[];
922
923
  export declare const isWorkoutBiometrics: (x: any) => x is WorkoutBiometrics;
@@ -1036,6 +1037,7 @@ export interface HevyTrainerRoutine extends Routine {
1036
1037
  coach_force_rpe_enabled: false;
1037
1038
  folder_id: null;
1038
1039
  }
1040
+ export declare const isHevyTrainerRoutine: (routine: BaseRoutine) => routine is HevyTrainerRoutine;
1039
1041
  export type CoachsShallowLibraryRoutine = Omit<BaseRoutine, 'exercises' | 'profile_pic' | 'hevy_trainer_program_id' | 'username'>;
1040
1042
  export interface CoachesRoutine extends BaseRoutine {
1041
1043
  coach_id: string;
package/built/index.js CHANGED
@@ -15,11 +15,10 @@ 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);
22
- __exportStar(require("./auth"), exports);
23
22
  __exportStar(require("./units"), exports);
24
23
  __exportStar(require("./filterExercises"), exports);
25
24
  __exportStar(require("./setIndicatorUtils"), exports);
@@ -288,6 +287,8 @@ const isWorkoutBiometrics = (x) => {
288
287
  return caloriesAreValid && heartSamplesAreValid;
289
288
  };
290
289
  exports.isWorkoutBiometrics = isWorkoutBiometrics;
290
+ const isHevyTrainerRoutine = (routine) => routine.hevy_trainer_program_id !== null;
291
+ exports.isHevyTrainerRoutine = isHevyTrainerRoutine;
291
292
  exports.measurementsList = [
292
293
  'weight_kg',
293
294
  'fat_percent',
@@ -35,6 +35,7 @@ export interface NormalizedWorkout {
35
35
  };
36
36
  clientId: string;
37
37
  biometrics?: WorkoutBiometrics;
38
+ isTrainerWorkout: boolean;
38
39
  }
39
40
  export interface NormalizedSet {
40
41
  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,6 +153,7 @@ class WorkoutBuilder {
153
153
  wearosWatch: false,
154
154
  workoutVisibility: 'public',
155
155
  isWorkoutBiometricsPublic: true,
156
+ isTrainerWorkout: false,
156
157
  shareTo: {
157
158
  strava: false,
158
159
  appleHealth: false,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hevy-shared",
3
- "version": "1.0.782",
3
+ "version": "1.0.783",
4
4
  "description": "",
5
5
  "main": "built/index.js",
6
6
  "types": "built/index.d.ts",
package/built/auth.d.ts DELETED
@@ -1,13 +0,0 @@
1
- export interface ClientAuthToken {
2
- access_token: string;
3
- refresh_token: string;
4
- expires_at: Date;
5
- }
6
- export interface ClientRefreshTokenRequest {
7
- refresh_token: string;
8
- }
9
- export interface ClientAuthTokenResponse {
10
- access_token: string;
11
- refresh_token: string;
12
- expires_at: string;
13
- }
package/built/auth.js DELETED
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });