hevy-shared 1.0.632 → 1.0.634

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
@@ -549,20 +549,10 @@ export interface PublicUserProfile {
549
549
  weekly_workout_durations: WeeklyWorkoutDuration[];
550
550
  last_workout?: Workout;
551
551
  }
552
- export declare const coreMuscles: readonly ["abdominals"];
553
- export declare const shoulderMuscles: readonly ["shoulders"];
554
- export declare const armMuscles: readonly ["biceps", "triceps", "forearms"];
555
- export declare const legMuscles: readonly ["quadriceps", "hamstrings", "calves", "glutes", "abductors", "adductors"];
556
- export declare const backMuscles: readonly ["lats", "traps", "lower_back", "upper_back"];
557
- export declare const chestMuscles: readonly ["chest"];
558
- export declare const miscellaneousMuscles: readonly ["cardio", "neck", "full_body", "other"];
559
- export declare const simplifiedMuscleGroups: readonly ["core", "shoulders", "arms", "legs", "back", "chest"];
560
- export type SimplifiedMuscleGroup = Lookup<typeof simplifiedMuscleGroups>;
561
- export declare const isSimplifiedMuscleGroup: (x: string) => x is SimplifiedMuscleGroup;
562
- export declare const muscleGroups: readonly ["abdominals", "shoulders", "biceps", "triceps", "forearms", "quadriceps", "hamstrings", "calves", "glutes", "abductors", "adductors", "lats", "traps", "lower_back", "upper_back", "chest", "cardio", "neck", "full_body", "other"];
552
+ export declare const muscleGroups: readonly ["abdominals", "abductors", "adductors", "biceps", "lower_back", "upper_back", "cardio", "chest", "calves", "forearms", "glutes", "hamstrings", "lats", "quadriceps", "shoulders", "triceps", "traps", "neck", "full_body", "other"];
563
553
  export type MuscleGroup = Lookup<typeof muscleGroups>;
564
554
  export declare const isMuscleGroup: (x: string) => x is MuscleGroup;
565
- export declare const muscleGroupFilters: readonly ["all_muscles", "abdominals", "shoulders", "biceps", "triceps", "forearms", "quadriceps", "hamstrings", "calves", "glutes", "abductors", "adductors", "lats", "traps", "lower_back", "upper_back", "chest", "cardio", "neck", "full_body", "other"];
555
+ export declare const muscleGroupFilters: readonly ["all_muscles", "abdominals", "abductors", "adductors", "biceps", "lower_back", "upper_back", "cardio", "chest", "calves", "forearms", "glutes", "hamstrings", "lats", "quadriceps", "shoulders", "triceps", "traps", "neck", "full_body", "other"];
566
556
  export type MuscleGroupFilter = Lookup<typeof muscleGroupFilters>;
567
557
  export declare const isMuscleGroupFilter: (x: string) => x is MuscleGroupFilter;
568
558
  /**
@@ -780,6 +770,7 @@ export interface Workout {
780
770
  description?: string;
781
771
  like_count: number;
782
772
  like_images: string[];
773
+ liked_by_username: string | undefined;
783
774
  comment_count: number;
784
775
  comments: WorkoutComment[];
785
776
  /** @deprecated 1.28.13 */
package/built/index.js CHANGED
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.isValidUserWorkoutMetricsType = exports.isBodyMeasurementKey = exports.measurementsList = exports.isWorkoutBiometrics = exports.isHeartRateSamples = exports.isPublicWorkout = exports.isSetType = exports.isRPE = exports.validRpeValues = exports.isSetPersonalRecordType = exports.supportedInstructionsLanguages = 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.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;
17
+ exports.isValidUserWorkoutMetricsType = exports.isBodyMeasurementKey = exports.measurementsList = exports.isWorkoutBiometrics = exports.isHeartRateSamples = exports.isPublicWorkout = exports.isSetType = exports.isRPE = exports.validRpeValues = exports.isSetPersonalRecordType = exports.supportedInstructionsLanguages = 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.isMuscleGroupFilter = exports.muscleGroupFilters = exports.isMuscleGroup = exports.muscleGroups = 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
18
  const typeUtils_1 = require("./typeUtils");
19
19
  __exportStar(require("./constants"), exports);
20
20
  __exportStar(require("./utils"), exports);
@@ -104,49 +104,28 @@ const _supportedProStores = [
104
104
  'paddle',
105
105
  'hevy-coach',
106
106
  ];
107
- exports.coreMuscles = ['abdominals'];
108
- exports.shoulderMuscles = ['shoulders'];
109
- exports.armMuscles = ['biceps', 'triceps', 'forearms'];
110
- exports.legMuscles = [
111
- 'quadriceps',
112
- 'hamstrings',
113
- 'calves',
114
- 'glutes',
107
+ exports.muscleGroups = [
108
+ 'abdominals',
115
109
  'abductors',
116
110
  'adductors',
117
- ];
118
- exports.backMuscles = [
119
- 'lats',
120
- 'traps',
111
+ 'biceps',
121
112
  'lower_back',
122
113
  'upper_back',
123
- ];
124
- exports.chestMuscles = ['chest'];
125
- exports.miscellaneousMuscles = [
126
114
  'cardio',
115
+ 'chest',
116
+ 'calves',
117
+ 'forearms',
118
+ 'glutes',
119
+ 'hamstrings',
120
+ 'lats',
121
+ 'quadriceps',
122
+ 'shoulders',
123
+ 'triceps',
124
+ 'traps',
127
125
  'neck',
128
126
  'full_body',
129
127
  'other',
130
128
  ];
131
- exports.simplifiedMuscleGroups = [
132
- 'core',
133
- 'shoulders',
134
- 'arms',
135
- 'legs',
136
- 'back',
137
- 'chest',
138
- ];
139
- const isSimplifiedMuscleGroup = (x) => (0, typeUtils_1.isInArray)(x, exports.simplifiedMuscleGroups);
140
- exports.isSimplifiedMuscleGroup = isSimplifiedMuscleGroup;
141
- exports.muscleGroups = [
142
- ...exports.coreMuscles,
143
- ...exports.shoulderMuscles,
144
- ...exports.armMuscles,
145
- ...exports.legMuscles,
146
- ...exports.backMuscles,
147
- ...exports.chestMuscles,
148
- ...exports.miscellaneousMuscles,
149
- ];
150
129
  const isMuscleGroup = (x) => (0, typeUtils_1.isInArray)(x, exports.muscleGroups);
151
130
  exports.isMuscleGroup = isMuscleGroup;
152
131
  exports.muscleGroupFilters = ['all_muscles', ...exports.muscleGroups];
@@ -1,15 +1,5 @@
1
- import { MuscleGroup, SetType } from '.';
2
- interface SetCountableExercise {
3
- muscle_group: MuscleGroup;
4
- other_muscles: MuscleGroup[];
5
- sets: {
6
- indicator: SetType;
7
- }[];
8
- }
9
- interface SetCountableWorkoutOrRoutine {
10
- exercises: SetCountableExercise[];
11
- }
12
- export declare const setCountPerSimplifiedMuscleGroups: (workoutsOrRoutines: SetCountableWorkoutOrRoutine[], shouldIncludeWarmupSets: boolean) => {
1
+ import { Workout, BaseRoutine } from '.';
2
+ export declare const calculateMuscleSplit: (workoutsOrRoutines: Workout[] | BaseRoutine[]) => {
13
3
  core: number;
14
4
  shoulders: number;
15
5
  arms: number;
@@ -17,5 +7,3 @@ export declare const setCountPerSimplifiedMuscleGroups: (workoutsOrRoutines: Set
17
7
  back: number;
18
8
  chest: number;
19
9
  };
20
- export declare const getSetCountPerMuscleGroups: (workout: SetCountableWorkoutOrRoutine, shouldIncludeWarmupSets: boolean) => Partial<{ [key in MuscleGroup]: number; }>;
21
- export {};
@@ -3,10 +3,27 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getSetCountPerMuscleGroups = exports.setCountPerSimplifiedMuscleGroups = void 0;
6
+ exports.calculateMuscleSplit = void 0;
7
7
  const intersection_1 = __importDefault(require("lodash/intersection"));
8
- const _1 = require(".");
9
- const setCountPerSimplifiedMuscleGroups = (workoutsOrRoutines, shouldIncludeWarmupSets) => {
8
+ const calculateMuscleSplit = (workoutsOrRoutines) => {
9
+ const coreMuscles = ['abdominals'];
10
+ const shoulderMuscles = ['shoulders'];
11
+ const armMuscles = ['biceps', 'triceps', 'forearms'];
12
+ const legMuscles = [
13
+ 'quadriceps',
14
+ 'hamstrings',
15
+ 'glutes',
16
+ 'calves',
17
+ 'abductors',
18
+ 'adductors',
19
+ ];
20
+ const backMuscles = [
21
+ 'lower_back',
22
+ 'upper_back',
23
+ 'lats',
24
+ 'traps',
25
+ ];
26
+ const chestMuscles = ['chest'];
10
27
  let core = 0;
11
28
  let shoulders = 0;
12
29
  let arms = 0;
@@ -15,28 +32,25 @@ const setCountPerSimplifiedMuscleGroups = (workoutsOrRoutines, shouldIncludeWarm
15
32
  let chest = 0;
16
33
  const muscleGroupValueIncrement = (e, mg) => {
17
34
  let increment = 0;
18
- const trimmedSets = shouldIncludeWarmupSets
19
- ? e.sets
20
- : e.sets.filter((s) => s.indicator !== 'warmup');
21
35
  if (mg.includes(e.muscle_group)) {
22
- increment += trimmedSets.length;
36
+ increment += e.sets.length;
23
37
  }
24
38
  else if ((0, intersection_1.default)(mg, e.other_muscles).length) {
25
- increment += trimmedSets.length / 2;
39
+ increment += e.sets.length / 2;
26
40
  }
27
41
  else if (e.muscle_group === 'full_body') {
28
- increment += trimmedSets.length / 6;
42
+ increment += e.sets.length / 6;
29
43
  }
30
44
  return increment;
31
45
  };
32
- for (const workoutOrRoutine of workoutsOrRoutines) {
33
- for (const exercise of workoutOrRoutine.exercises) {
34
- core += muscleGroupValueIncrement(exercise, _1.coreMuscles);
35
- shoulders += muscleGroupValueIncrement(exercise, _1.shoulderMuscles);
36
- arms += muscleGroupValueIncrement(exercise, _1.armMuscles);
37
- legs += muscleGroupValueIncrement(exercise, _1.legMuscles);
38
- back += muscleGroupValueIncrement(exercise, _1.backMuscles);
39
- chest += muscleGroupValueIncrement(exercise, _1.chestMuscles);
46
+ for (const workout of workoutsOrRoutines) {
47
+ for (const exercise of workout.exercises) {
48
+ core += muscleGroupValueIncrement(exercise, coreMuscles);
49
+ shoulders += muscleGroupValueIncrement(exercise, shoulderMuscles);
50
+ arms += muscleGroupValueIncrement(exercise, armMuscles);
51
+ legs += muscleGroupValueIncrement(exercise, legMuscles);
52
+ back += muscleGroupValueIncrement(exercise, backMuscles);
53
+ chest += muscleGroupValueIncrement(exercise, chestMuscles);
40
54
  }
41
55
  }
42
56
  return {
@@ -48,17 +62,4 @@ const setCountPerSimplifiedMuscleGroups = (workoutsOrRoutines, shouldIncludeWarm
48
62
  chest,
49
63
  };
50
64
  };
51
- exports.setCountPerSimplifiedMuscleGroups = setCountPerSimplifiedMuscleGroups;
52
- const getSetCountPerMuscleGroups = (workout, shouldIncludeWarmupSets) => {
53
- return workout.exercises.reduce((acc, e) => {
54
- const trimmedSets = shouldIncludeWarmupSets
55
- ? e.sets
56
- : e.sets.filter((s) => s.indicator !== 'warmup');
57
- acc[e.muscle_group] = (acc[e.muscle_group] || 0) + trimmedSets.length;
58
- e.other_muscles.forEach((muscle) => {
59
- acc[muscle] = (acc[muscle] || 0) + trimmedSets.length / 2;
60
- });
61
- return acc;
62
- }, {});
63
- };
64
- exports.getSetCountPerMuscleGroups = getSetCountPerMuscleGroups;
65
+ exports.calculateMuscleSplit = calculateMuscleSplit;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hevy-shared",
3
- "version": "1.0.632",
3
+ "version": "1.0.634",
4
4
  "description": "",
5
5
  "main": "built/index.js",
6
6
  "types": "built/index.d.ts",