hevy-shared 1.0.781 → 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,8 +1,6 @@
1
- import { ClientAuthTokenResponse } from './auth';
2
1
  import { Lookup } from './typeUtils';
3
2
  export * from './constants';
4
3
  export * from './utils';
5
- export * from './auth';
6
4
  export * from './units';
7
5
  export * from './filterExercises';
8
6
  export * from './setIndicatorUtils';
@@ -211,7 +209,7 @@ export interface GoogleSignUpRequest {
211
209
  source?: 'web';
212
210
  gympassUserId?: string;
213
211
  }
214
- export interface SocialLoginResult extends ClientAuthTokenResponse {
212
+ export interface SocialLoginResult {
215
213
  auth_token: string;
216
214
  username: string;
217
215
  user_id: string;
@@ -840,6 +838,7 @@ export interface Workout {
840
838
  logged_by_coach_id?: string;
841
839
  biometrics?: WorkoutBiometrics;
842
840
  is_biometrics_public: boolean;
841
+ is_trainer_workout: boolean;
843
842
  }
844
843
  export interface CustomExerciseImage {
845
844
  type: 'image';
@@ -918,6 +917,7 @@ export interface PostWorkoutRequestWorkout {
918
917
  is_private: boolean;
919
918
  biometrics?: WorkoutBiometrics;
920
919
  is_biometrics_public: boolean;
920
+ is_trainer_workout: boolean;
921
921
  }
922
922
  export declare const isHeartRateSamples: (x: any) => x is HeartRateSample[];
923
923
  export declare const isWorkoutBiometrics: (x: any) => x is WorkoutBiometrics;
@@ -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,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.781",
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 });