hevy-shared 1.0.855 → 1.0.857

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
@@ -1887,3 +1887,28 @@ export interface FolderLinkPreviewMetadataResponse extends LinkPreviewMetadataRe
1887
1887
  username: string;
1888
1888
  routine_count: number;
1889
1889
  }
1890
+ export interface ExerciseSetHistory {
1891
+ weight_kg: number | null;
1892
+ reps: number | null;
1893
+ indicator: string | null;
1894
+ duration_seconds: number | null;
1895
+ distance_meters: number | null;
1896
+ rpe: number | null;
1897
+ custom_metric: number | null;
1898
+ set_index: number;
1899
+ }
1900
+ export interface ExerciseInstructionsStep {
1901
+ index?: number;
1902
+ description: string;
1903
+ }
1904
+ export interface WorkoutExerciseHistory {
1905
+ workout_id: string;
1906
+ workout_title: string;
1907
+ workout_date: Date;
1908
+ sets: ExerciseSetHistory[];
1909
+ }
1910
+ export interface UserExerciseHistoryPagedResponse {
1911
+ page: number;
1912
+ page_count: number;
1913
+ workout_history: WorkoutExerciseHistory[];
1914
+ }
package/built/utils.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { Dayjs } from 'dayjs';
2
- import { BaseExerciseTemplate, ExerciseType, FormatAtText, Result, SetType, StrengthLevel, UserExerciseSet, UserFacingSetIndicator, Weekday } from '.';
2
+ import { BaseExerciseTemplate, ExerciseInstructionsStep, ExerciseType, FormatAtText, Result, SetType, StrengthLevel, UserExerciseSet, UserFacingSetIndicator, Weekday } from '.';
3
3
  /**
4
4
  * Doesn't matter what you throw in the function it'll
5
5
  * always return a number. Non number values will return
@@ -249,4 +249,5 @@ export declare const startOfWeek: (d: Dayjs, firstDayOfWeek: Weekday) => Dayjs;
249
249
  export declare const weekdayNumberMap: {
250
250
  [key in Weekday]: number;
251
251
  };
252
+ export declare const rawInstructionsToIndexedSteps: (rawInstructions: string) => ExerciseInstructionsStep[];
252
253
  export {};
package/built/utils.js CHANGED
@@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.startOfWeek = exports.calculateCurrentWeekStreak = exports.getYoutubeVideoId = exports.validateYoutubeUrl = exports.splitAtUsernamesAndLinks = exports.isVersionAGreaterOrEqualToVersionB = exports.generateUserGroupValue = exports.generateUserGroup = exports.isBaseExerciseTemplate = exports.getStrengthLevelFromPercentile = exports.numberToLocaleString = exports.numberWithCommas = exports.setVolume = exports.oneRepMax = exports.oneRepMaxPercentageMap = exports.getEstimatedExercisesDurationSeconds = exports.ESTIMATED_REST_TIMER_DURATION = exports.ESTIMATED_SET_DURATION = exports.UserFacingIndicatorToSetIndicator = exports.workoutSetCount = exports.userExerciseSetWeight = exports.workoutDistanceMeters = exports.workoutReps = exports.workoutDurationSeconds = exports.removeAccents = exports.getClosestDataPointAroundTargetDate = exports.getClosestDataPointBeforeTargetDate = exports.findMapped = exports.stringToNumber = exports.forceStringToNumber = exports.formatDurationInput = exports.isValidFormattedTime = exports.isWholeNumber = exports.isNumber = exports.isValidUuid = exports.isValidPhoneNumber = exports.isValidWebUrl = exports.URL_REGEX = exports.isValidEmail = exports.secondsToWordFormatMinutes = exports.secondsToWordFormat = exports.secondsToClockFormat = exports.secondsToClockParts = exports.isValidUsername = exports.roundToWholeNumber = exports.roundToOneDecimal = exports.roundToTwoDecimal = exports.divide = exports.clampNumber = exports.num = void 0;
7
- exports.weekdayNumberMap = void 0;
7
+ exports.rawInstructionsToIndexedSteps = exports.weekdayNumberMap = void 0;
8
8
  const dayjs_1 = __importDefault(require("dayjs"));
9
9
  /**
10
10
  * Doesn't matter what you throw in the function it'll
@@ -775,3 +775,22 @@ exports.weekdayNumberMap = {
775
775
  friday: 5,
776
776
  saturday: 6,
777
777
  };
778
+ const rawInstructionsToIndexedSteps = (rawInstructions) => {
779
+ const instructionsByLine = rawInstructions
780
+ .split('\n')
781
+ .map((l) => l.trim())
782
+ .filter((l) => l.length > 0);
783
+ const instructionsByStep = instructionsByLine.map((s) => {
784
+ var _a, _b;
785
+ const parsedStep = s.match(/^([0-9]*)\\?\.(.*)$/);
786
+ if (!parsedStep) {
787
+ // this line doesn't contain a number, so just return it unchanged
788
+ return { description: s };
789
+ }
790
+ const index = Number(parsedStep[1]) || undefined; // if it's NaN or 0, convert it to undefined
791
+ const description = (_b = (_a = parsedStep[2]) === null || _a === void 0 ? void 0 : _a.trim()) !== null && _b !== void 0 ? _b : s;
792
+ return { index, description };
793
+ });
794
+ return instructionsByStep;
795
+ };
796
+ exports.rawInstructionsToIndexedSteps = rawInstructionsToIndexedSteps;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hevy-shared",
3
- "version": "1.0.855",
3
+ "version": "1.0.857",
4
4
  "description": "",
5
5
  "main": "built/index.js",
6
6
  "types": "built/index.d.ts",