@runnerpro/backend 1.22.4 → 1.22.6
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/lib/cjs/types/workout/planificacionPrueba7dias/10k/getPlanificacionPrueba7dias10k.d.ts.map +1 -1
- package/lib/cjs/types/workout/planificacionPrueba7dias/21k/getPlanificacionPrueba7dias21k.d.ts.map +1 -1
- package/lib/cjs/types/workout/planificacionPrueba7dias/42k/getPlanificacionPrueba7dias42k.d.ts.map +1 -1
- package/lib/cjs/types/workout/planificacionPrueba7dias/5k/getPlanificacionPrueba7dias5k.d.ts.map +1 -1
- package/lib/cjs/types/workout/planificacionPrueba7dias/common.d.ts +32 -1
- package/lib/cjs/types/workout/planificacionPrueba7dias/common.d.ts.map +1 -1
- package/lib/cjs/types/workout/planificacionPrueba7dias/index.d.ts.map +1 -1
- package/lib/cjs/workout/planificacionPrueba7dias/10k/getPlanificacionPrueba7dias10k.js +6 -3
- package/lib/cjs/workout/planificacionPrueba7dias/21k/getPlanificacionPrueba7dias21k.js +8 -5
- package/lib/cjs/workout/planificacionPrueba7dias/42k/getPlanificacionPrueba7dias42k.js +8 -5
- package/lib/cjs/workout/planificacionPrueba7dias/5k/getPlanificacionPrueba7dias5k.js +4 -1
- package/lib/cjs/workout/planificacionPrueba7dias/common.js +49 -1
- package/lib/cjs/workout/planificacionPrueba7dias/index.js +9 -2
- package/package.json +1 -1
package/lib/cjs/types/workout/planificacionPrueba7dias/10k/getPlanificacionPrueba7dias10k.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getPlanificacionPrueba7dias10k.d.ts","sourceRoot":"","sources":["../../../../../../src/workout/planificacionPrueba7dias/10k/getPlanificacionPrueba7dias10k.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getPlanificacionPrueba7dias10k.d.ts","sourceRoot":"","sources":["../../../../../../src/workout/planificacionPrueba7dias/10k/getPlanificacionPrueba7dias10k.ts"],"names":[],"mappings":"AAKA,QAAA,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAKnC,CAAC;AAEF,QAAA,MAAM,kCAAkC,kBAQvC,CAAC;AAEF,OAAO,EAAE,8BAA8B,EAAE,kCAAkC,EAAE,CAAC"}
|
package/lib/cjs/types/workout/planificacionPrueba7dias/21k/getPlanificacionPrueba7dias21k.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getPlanificacionPrueba7dias21k.d.ts","sourceRoot":"","sources":["../../../../../../src/workout/planificacionPrueba7dias/21k/getPlanificacionPrueba7dias21k.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getPlanificacionPrueba7dias21k.d.ts","sourceRoot":"","sources":["../../../../../../src/workout/planificacionPrueba7dias/21k/getPlanificacionPrueba7dias21k.ts"],"names":[],"mappings":"AAIA,QAAA,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAKnC,CAAC;AAEF,QAAA,MAAM,kCAAkC,kBAUvC,CAAC;AAEF,OAAO,EAAE,8BAA8B,EAAE,kCAAkC,EAAE,CAAC"}
|
package/lib/cjs/types/workout/planificacionPrueba7dias/42k/getPlanificacionPrueba7dias42k.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getPlanificacionPrueba7dias42k.d.ts","sourceRoot":"","sources":["../../../../../../src/workout/planificacionPrueba7dias/42k/getPlanificacionPrueba7dias42k.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getPlanificacionPrueba7dias42k.d.ts","sourceRoot":"","sources":["../../../../../../src/workout/planificacionPrueba7dias/42k/getPlanificacionPrueba7dias42k.ts"],"names":[],"mappings":"AAKA,QAAA,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAKnC,CAAC;AAEF,QAAA,MAAM,kCAAkC,kBAUvC,CAAC;AAEF,OAAO,EAAE,8BAA8B,EAAE,kCAAkC,EAAE,CAAC"}
|
package/lib/cjs/types/workout/planificacionPrueba7dias/5k/getPlanificacionPrueba7dias5k.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getPlanificacionPrueba7dias5k.d.ts","sourceRoot":"","sources":["../../../../../../src/workout/planificacionPrueba7dias/5k/getPlanificacionPrueba7dias5k.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getPlanificacionPrueba7dias5k.d.ts","sourceRoot":"","sources":["../../../../../../src/workout/planificacionPrueba7dias/5k/getPlanificacionPrueba7dias5k.ts"],"names":[],"mappings":"AAIA,QAAA,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;IAIlC,CAAC;AAEF,QAAA,MAAM,iCAAiC,kBAMtC,CAAC;AAEF,OAAO,EAAE,6BAA6B,EAAE,iCAAiC,EAAE,CAAC"}
|
|
@@ -2,5 +2,36 @@ declare const paceByZone: (c: any, zone: any) => any;
|
|
|
2
2
|
declare const calculateDistance: (c: any, duration: any, zone: any) => number;
|
|
3
3
|
declare const calculateDuration: (c: any, distance: any, zone: any) => number;
|
|
4
4
|
declare const prettyPace: (stringPace: any) => string;
|
|
5
|
-
|
|
5
|
+
/**
|
|
6
|
+
* Duración de carrera estimada (segundos) a partir del rodaje suave declarado.
|
|
7
|
+
* Misma relación que el resto del código: el "100%" es el 70% del rodaje
|
|
8
|
+
* (calcularZonasDesdePaceSlow, calculateInitialPaces) y de ahí sale el ritmo de
|
|
9
|
+
* carrera según la distancia (espejo de calculateTimeFromPace del onboarding).
|
|
10
|
+
*
|
|
11
|
+
* @param {number|string} paceSlowSeg - Rodaje suave en seg/km.
|
|
12
|
+
* @param {number} distanciaMetros - Distancia objetivo en metros.
|
|
13
|
+
* @returns {number|null} Segundos estimados, o null si no hay ritmo utilizable.
|
|
14
|
+
*/
|
|
15
|
+
declare const estimarDuracionDesdePaceSlow: (paceSlowSeg: any, distanciaMetros: any) => number;
|
|
16
|
+
/**
|
|
17
|
+
* Duración de referencia (segundos) para ELEGIR la plantilla de la semana. Orden:
|
|
18
|
+
* 1) marca real declarada (vamDuration > 0)
|
|
19
|
+
* 2) estimación desde el rodaje suave declarado
|
|
20
|
+
* 3) null → el selector cae en la plantilla más conservadora (PRIMER)
|
|
21
|
+
*
|
|
22
|
+
* Motivo: `vamDuration` llega como STRING desde Postgres, así que un "0" es
|
|
23
|
+
* truthy y `!c.vamDuration` NO lo detecta. Sin esta normalización, una marca
|
|
24
|
+
* inválida caía en la plantilla MÁS DURA de cada distancia (SUB30/SUB50/
|
|
25
|
+
* SUB105/SUB210) — justo la peor dirección de fallo.
|
|
26
|
+
*
|
|
27
|
+
* OJO: no escribir el resultado en c.vamDuration. `tieneMarcaVerificada`
|
|
28
|
+
* distingue marca REAL de estimación para decidir si la semana puede arrancar
|
|
29
|
+
* con una sesión de calidad; una estimación no debe contar como marca.
|
|
30
|
+
*
|
|
31
|
+
* @param {Object} c - Cliente (vamDuration, paceSlow).
|
|
32
|
+
* @param {number} distanciaMetros - Distancia objetivo en metros.
|
|
33
|
+
* @returns {number|null} Segundos de referencia, o null si no hay nada fiable.
|
|
34
|
+
*/
|
|
35
|
+
declare const getDuracionReferenciaPlantilla: (c: any, distanciaMetros: any) => number;
|
|
36
|
+
export { paceByZone, calculateDistance, calculateDuration, prettyPace, estimarDuracionDesdePaceSlow, getDuracionReferenciaPlantilla, };
|
|
6
37
|
//# sourceMappingURL=common.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../../src/workout/planificacionPrueba7dias/common.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,UAAU,4BAQf,CAAC;AAEF,QAAA,MAAM,iBAAiB,8CAEtB,CAAC;AAEF,QAAA,MAAM,iBAAiB,8CAEtB,CAAC;AAEF,QAAA,MAAM,UAAU,6BAKf,CAAC;AAEF,OAAO,
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../../src/workout/planificacionPrueba7dias/common.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,UAAU,4BAQf,CAAC;AAEF,QAAA,MAAM,iBAAiB,8CAEtB,CAAC;AAEF,QAAA,MAAM,iBAAiB,8CAEtB,CAAC;AAEF,QAAA,MAAM,UAAU,6BAKf,CAAC;AAEF;;;;;;;;;GASG;AACH,QAAA,MAAM,4BAA4B,oDAQjC,CAAC;AAEF;;;;;;;;;;;;;;;;;;GAkBG;AACH,QAAA,MAAM,8BAA8B,0CAInC,CAAC;AAEF,OAAO,EACL,UAAU,EACV,iBAAiB,EACjB,iBAAiB,EACjB,UAAU,EACV,4BAA4B,EAC5B,8BAA8B,GAC/B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/workout/planificacionPrueba7dias/index.ts"],"names":[],"mappings":"AAaA;;;;;;;;;;;;;;;;;;GAkBG;AACH,QAAA,MAAM,2BAA2B,qBAAgB,GAAG,UA+EnD,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/workout/planificacionPrueba7dias/index.ts"],"names":[],"mappings":"AAaA;;;;;;;;;;;;;;;;;;GAkBG;AACH,QAAA,MAAM,2BAA2B,qBAAgB,GAAG,UA+EnD,CAAC;AA2IF,OAAO,EAAE,2BAA2B,EAAE,CAAC"}
|
|
@@ -4,6 +4,7 @@ exports.changeGoalDistanceByNivelActual10k = exports.getPlanificacionPrueba7dias
|
|
|
4
4
|
const getPlanificacionPrueba7dias10kPrimer_1 = require("./getPlanificacionPrueba7dias10kPrimer");
|
|
5
5
|
const getPlanificacionPrueba7dias10kMas50_1 = require("./getPlanificacionPrueba7dias10kMas50");
|
|
6
6
|
const getPlanificacionPrueba7dias10kSub50_1 = require("./getPlanificacionPrueba7dias10kSub50");
|
|
7
|
+
const common_1 = require("../common");
|
|
7
8
|
const getPlanificacionPrueba7dias10k = (c) => {
|
|
8
9
|
if (c.type === 'PRIMER')
|
|
9
10
|
return (0, getPlanificacionPrueba7dias10kPrimer_1.getPlanificacionPrueba7dias10kPrimer)(c);
|
|
@@ -16,11 +17,13 @@ const getPlanificacionPrueba7dias10k = (c) => {
|
|
|
16
17
|
exports.getPlanificacionPrueba7dias10k = getPlanificacionPrueba7dias10k;
|
|
17
18
|
const changeGoalDistanceByNivelActual10k = (c) => {
|
|
18
19
|
c.goalDistance = 10000;
|
|
19
|
-
|
|
20
|
+
// Marca real si la hay; si no, estimación desde el rodaje declarado; si no, PRIMER.
|
|
21
|
+
const ref = (0, common_1.getDuracionReferenciaPlantilla)(c, 10000);
|
|
22
|
+
if (ref === null)
|
|
20
23
|
c.type = 'PRIMER';
|
|
21
|
-
else if (
|
|
24
|
+
else if (ref < 52 * 60)
|
|
22
25
|
c.type = 'SUB50';
|
|
23
|
-
else if (
|
|
26
|
+
else if (ref < 62 * 60)
|
|
24
27
|
c.type = 'MAS50';
|
|
25
28
|
else
|
|
26
29
|
c.type = 'PRIMER';
|
|
@@ -4,6 +4,7 @@ exports.changeGoalDistanceByNivelActual21k = exports.getPlanificacionPrueba7dias
|
|
|
4
4
|
const getPlanificacionPrueba7dias21kPrimer_1 = require("./getPlanificacionPrueba7dias21kPrimer");
|
|
5
5
|
const getPlanificacionPrueba7dias21kMas105_1 = require("./getPlanificacionPrueba7dias21kMas105");
|
|
6
6
|
const getPlanificacionPrueba7dias21kSub105_1 = require("./getPlanificacionPrueba7dias21kSub105");
|
|
7
|
+
const common_1 = require("../common");
|
|
7
8
|
const getPlanificacionPrueba7dias21k = (c) => {
|
|
8
9
|
if (c.type === 'PRIMER')
|
|
9
10
|
return (0, getPlanificacionPrueba7dias21kPrimer_1.getPlanificacionPrueba7dias21kPrimer)(c);
|
|
@@ -16,13 +17,15 @@ const getPlanificacionPrueba7dias21k = (c) => {
|
|
|
16
17
|
exports.getPlanificacionPrueba7dias21k = getPlanificacionPrueba7dias21k;
|
|
17
18
|
const changeGoalDistanceByNivelActual21k = (c) => {
|
|
18
19
|
c.goalDistance = 21000;
|
|
19
|
-
//
|
|
20
|
-
|
|
20
|
+
// Marca real si la hay; si no, estimación desde el rodaje declarado; si no, PRIMER.
|
|
21
|
+
const ref = (0, common_1.getDuracionReferenciaPlantilla)(c, 21000);
|
|
22
|
+
// Sin referencia, o más de 2h10min
|
|
23
|
+
if (ref === null || ref > 130 * 60)
|
|
21
24
|
c.type = 'PRIMER';
|
|
22
|
-
//
|
|
23
|
-
else if (
|
|
25
|
+
// Entre 1h50min y 2h10min
|
|
26
|
+
else if (ref > 110 * 60)
|
|
24
27
|
c.type = 'MAS105';
|
|
25
|
-
//
|
|
28
|
+
// Menos de 1h50min
|
|
26
29
|
else
|
|
27
30
|
c.type = 'SUB105';
|
|
28
31
|
};
|
|
@@ -4,6 +4,7 @@ exports.changeGoalDistanceByNivelActual42k = exports.getPlanificacionPrueba7dias
|
|
|
4
4
|
const getPlanificacionPrueba7dias42kPrimer_1 = require("./getPlanificacionPrueba7dias42kPrimer");
|
|
5
5
|
const getPlanificacionPrueba7dias42kMas210_1 = require("./getPlanificacionPrueba7dias42kMas210");
|
|
6
6
|
const getPlanificacionPrueba7dias42kSub210_1 = require("./getPlanificacionPrueba7dias42kSub210");
|
|
7
|
+
const common_1 = require("../common");
|
|
7
8
|
const getPlanificacionPrueba7dias42k = (c) => {
|
|
8
9
|
if (c.type === 'PRIMER')
|
|
9
10
|
return (0, getPlanificacionPrueba7dias42kPrimer_1.getPlanificacionPrueba7dias42kPrimer)(c);
|
|
@@ -16,13 +17,15 @@ const getPlanificacionPrueba7dias42k = (c) => {
|
|
|
16
17
|
exports.getPlanificacionPrueba7dias42k = getPlanificacionPrueba7dias42k;
|
|
17
18
|
const changeGoalDistanceByNivelActual42k = (c) => {
|
|
18
19
|
c.goalDistance = 42000;
|
|
19
|
-
//
|
|
20
|
-
|
|
20
|
+
// Marca real si la hay; si no, estimación desde el rodaje declarado; si no, PRIMER.
|
|
21
|
+
const ref = (0, common_1.getDuracionReferenciaPlantilla)(c, 42000);
|
|
22
|
+
// Sin referencia, o más de 4h30min
|
|
23
|
+
if (ref === null || ref > 270 * 60)
|
|
21
24
|
c.type = 'PRIMER';
|
|
22
|
-
//
|
|
23
|
-
else if (
|
|
25
|
+
// Entre 3h45min y 4h30min
|
|
26
|
+
else if (ref > 225 * 60)
|
|
24
27
|
c.type = 'MAS210';
|
|
25
|
-
//
|
|
28
|
+
// Menos de 3h45min
|
|
26
29
|
else
|
|
27
30
|
c.type = 'SUB210';
|
|
28
31
|
};
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.changeGoalDistanceByNivelActual5k = exports.getPlanificacionPrueba7dias5k = void 0;
|
|
4
4
|
const getPlanificacionPrueba7dias5kPrimer_1 = require("./getPlanificacionPrueba7dias5kPrimer");
|
|
5
5
|
const getPlanificacionPrueba7dias5kSub30_1 = require("./getPlanificacionPrueba7dias5kSub30");
|
|
6
|
+
const common_1 = require("../common");
|
|
6
7
|
const getPlanificacionPrueba7dias5k = (c) => {
|
|
7
8
|
if (c.type === 'PRIMER')
|
|
8
9
|
return (0, getPlanificacionPrueba7dias5kPrimer_1.getPlanificacionPrueba7dias5kPrimer)(c);
|
|
@@ -13,7 +14,9 @@ const getPlanificacionPrueba7dias5k = (c) => {
|
|
|
13
14
|
exports.getPlanificacionPrueba7dias5k = getPlanificacionPrueba7dias5k;
|
|
14
15
|
const changeGoalDistanceByNivelActual5k = (c) => {
|
|
15
16
|
c.goalDistance = 5000;
|
|
16
|
-
|
|
17
|
+
// Marca real si la hay; si no, estimación desde el rodaje declarado; si no, PRIMER.
|
|
18
|
+
const ref = (0, common_1.getDuracionReferenciaPlantilla)(c, 5000);
|
|
19
|
+
if (ref === null || ref > 32 * 60)
|
|
17
20
|
c.type = 'PRIMER';
|
|
18
21
|
else
|
|
19
22
|
c.type = 'SUB30';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.prettyPace = exports.calculateDuration = exports.calculateDistance = exports.paceByZone = void 0;
|
|
3
|
+
exports.getDuracionReferenciaPlantilla = exports.estimarDuracionDesdePaceSlow = exports.prettyPace = exports.calculateDuration = exports.calculateDistance = exports.paceByZone = void 0;
|
|
4
4
|
const paceByZone = (c, zone) => {
|
|
5
5
|
if (zone === 1)
|
|
6
6
|
return c.paceZone1;
|
|
@@ -32,3 +32,51 @@ const prettyPace = (stringPace) => {
|
|
|
32
32
|
return `${Number(m)}'${s}"/km`;
|
|
33
33
|
};
|
|
34
34
|
exports.prettyPace = prettyPace;
|
|
35
|
+
/**
|
|
36
|
+
* Duración de carrera estimada (segundos) a partir del rodaje suave declarado.
|
|
37
|
+
* Misma relación que el resto del código: el "100%" es el 70% del rodaje
|
|
38
|
+
* (calcularZonasDesdePaceSlow, calculateInitialPaces) y de ahí sale el ritmo de
|
|
39
|
+
* carrera según la distancia (espejo de calculateTimeFromPace del onboarding).
|
|
40
|
+
*
|
|
41
|
+
* @param {number|string} paceSlowSeg - Rodaje suave en seg/km.
|
|
42
|
+
* @param {number} distanciaMetros - Distancia objetivo en metros.
|
|
43
|
+
* @returns {number|null} Segundos estimados, o null si no hay ritmo utilizable.
|
|
44
|
+
*/
|
|
45
|
+
const estimarDuracionDesdePaceSlow = (paceSlowSeg, distanciaMetros) => {
|
|
46
|
+
const paceRef = Number(paceSlowSeg);
|
|
47
|
+
const dist = Number(distanciaMetros);
|
|
48
|
+
if (!Number.isFinite(paceRef) || paceRef <= 0)
|
|
49
|
+
return null;
|
|
50
|
+
if (!Number.isFinite(dist) || dist <= 0)
|
|
51
|
+
return null;
|
|
52
|
+
const pace100 = paceRef * 0.7;
|
|
53
|
+
const paceCarrera = dist < 6000 ? pace100 / 0.8 : pace100 / 0.7;
|
|
54
|
+
return (dist * paceCarrera) / 1000;
|
|
55
|
+
};
|
|
56
|
+
exports.estimarDuracionDesdePaceSlow = estimarDuracionDesdePaceSlow;
|
|
57
|
+
/**
|
|
58
|
+
* Duración de referencia (segundos) para ELEGIR la plantilla de la semana. Orden:
|
|
59
|
+
* 1) marca real declarada (vamDuration > 0)
|
|
60
|
+
* 2) estimación desde el rodaje suave declarado
|
|
61
|
+
* 3) null → el selector cae en la plantilla más conservadora (PRIMER)
|
|
62
|
+
*
|
|
63
|
+
* Motivo: `vamDuration` llega como STRING desde Postgres, así que un "0" es
|
|
64
|
+
* truthy y `!c.vamDuration` NO lo detecta. Sin esta normalización, una marca
|
|
65
|
+
* inválida caía en la plantilla MÁS DURA de cada distancia (SUB30/SUB50/
|
|
66
|
+
* SUB105/SUB210) — justo la peor dirección de fallo.
|
|
67
|
+
*
|
|
68
|
+
* OJO: no escribir el resultado en c.vamDuration. `tieneMarcaVerificada`
|
|
69
|
+
* distingue marca REAL de estimación para decidir si la semana puede arrancar
|
|
70
|
+
* con una sesión de calidad; una estimación no debe contar como marca.
|
|
71
|
+
*
|
|
72
|
+
* @param {Object} c - Cliente (vamDuration, paceSlow).
|
|
73
|
+
* @param {number} distanciaMetros - Distancia objetivo en metros.
|
|
74
|
+
* @returns {number|null} Segundos de referencia, o null si no hay nada fiable.
|
|
75
|
+
*/
|
|
76
|
+
const getDuracionReferenciaPlantilla = (c, distanciaMetros) => {
|
|
77
|
+
const declarada = Number(c === null || c === void 0 ? void 0 : c.vamDuration);
|
|
78
|
+
if (Number.isFinite(declarada) && declarada > 0)
|
|
79
|
+
return declarada;
|
|
80
|
+
return estimarDuracionDesdePaceSlow(c === null || c === void 0 ? void 0 : c.paceSlow, distanciaMetros);
|
|
81
|
+
};
|
|
82
|
+
exports.getDuracionReferenciaPlantilla = getDuracionReferenciaPlantilla;
|
|
@@ -111,8 +111,15 @@ const getPlanificacionPrueba7dias = (c, options = {}) => {
|
|
|
111
111
|
return planificacion;
|
|
112
112
|
};
|
|
113
113
|
exports.getPlanificacionPrueba7dias = getPlanificacionPrueba7dias;
|
|
114
|
+
// Quien declara que NO aguanta corriendo de forma continua (aguante F3: "Menos de 5
|
|
115
|
+
// minutos" o "Entre 5 y 20 minutos") NO puede hacer rodajes continuos, sea cual sea su
|
|
116
|
+
// objetivo. Se le manda a la progresión caminar-correr (CaCos), que además se gradúa por
|
|
117
|
+
// ese mismo aguante (lt5→suave, 5-20→intermedio). Su objetivo/distancia se conserva para
|
|
118
|
+
// las semanas siguientes; solo la primera semana arranca caminando-corriendo.
|
|
119
|
+
// 20-45 y gt45 quedan fuera: quien aguanta 20+ min seguidos ya puede rodar continuo.
|
|
120
|
+
const necesitaCaminarCorrer = (c) => ['lt5', '5-20'].includes(c.aguanteCorriendo);
|
|
114
121
|
const changeGoalDistanceByNivelActual = (c) => {
|
|
115
|
-
if (['Comenzar a correr', 'Correr después de una lesión'].includes(c.objetivoPrincipal) || [-2].includes(Number(c.goalDistance)))
|
|
122
|
+
if (necesitaCaminarCorrer(c) || ['Comenzar a correr', 'Correr después de una lesión'].includes(c.objetivoPrincipal) || [-2].includes(Number(c.goalDistance)))
|
|
116
123
|
(0, getPlanificacionPrueba7diasEmpezarCorrer_1.changeGoalDistanceByNivelActualEmpezarCorrer)(c);
|
|
117
124
|
else if (Number(c.goalDistance) > 1 && Number(c.goalDistance) < 8000)
|
|
118
125
|
(0, getPlanificacionPrueba7dias5k_1.changeGoalDistanceByNivelActual5k)(c);
|
|
@@ -127,7 +134,7 @@ const changeGoalDistanceByNivelActual = (c) => {
|
|
|
127
134
|
(0, getPlanificacionPrueba7dias42k_1.changeGoalDistanceByNivelActual42k)(c);
|
|
128
135
|
};
|
|
129
136
|
const getWorkoutsByGoalDistance = (c) => {
|
|
130
|
-
if (['Comenzar a correr', 'Correr después de una lesión'].includes(c.objetivoPrincipal) || Number(c.goalDistance) === -2)
|
|
137
|
+
if (necesitaCaminarCorrer(c) || ['Comenzar a correr', 'Correr después de una lesión'].includes(c.objetivoPrincipal) || Number(c.goalDistance) === -2)
|
|
131
138
|
return (0, getPlanificacionPrueba7diasEmpezarCorrer_1.getPlanificacionPrueba7diasEmpezarCorrer)(c);
|
|
132
139
|
if (Number(c.goalDistance) === 5000)
|
|
133
140
|
return (0, getPlanificacionPrueba7dias5k_1.getPlanificacionPrueba7dias5k)(c);
|