skill-calorie 0.2.2 → 0.2.4
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/SKILL.md +477 -123
- package/dist/.gen-inputs.json +170 -0
- package/dist/analysis/commands.d.ts +62 -0
- package/dist/analysis/commands.d.ts.map +1 -0
- package/dist/analysis/commands.js +386 -0
- package/dist/analysis/commands.js.map +1 -0
- package/dist/analysis/contraindications.d.ts.map +1 -1
- package/dist/analysis/contraindications.js +16 -12
- package/dist/analysis/contraindications.js.map +1 -1
- package/dist/analysis/cross.d.ts +3 -0
- package/dist/analysis/cross.d.ts.map +1 -1
- package/dist/analysis/cross.js +57 -29
- package/dist/analysis/cross.js.map +1 -1
- package/dist/analysis/dashboard.d.ts.map +1 -1
- package/dist/analysis/dashboard.js +3 -2
- package/dist/analysis/dashboard.js.map +1 -1
- package/dist/analysis/exerciseReview.js +1 -1
- package/dist/analysis/exerciseReview.js.map +1 -1
- package/dist/analysis/healthPlate.d.ts +21 -0
- package/dist/analysis/healthPlate.d.ts.map +1 -0
- package/dist/analysis/healthPlate.js +41 -0
- package/dist/analysis/healthPlate.js.map +1 -0
- package/dist/analysis/historyStore.d.ts +30 -0
- package/dist/analysis/historyStore.d.ts.map +1 -0
- package/dist/analysis/historyStore.js +32 -0
- package/dist/analysis/historyStore.js.map +1 -0
- package/dist/analysis/index.d.ts +23 -0
- package/dist/analysis/index.d.ts.map +1 -0
- package/dist/analysis/index.js +23 -0
- package/dist/analysis/index.js.map +1 -0
- package/dist/analysis/multiTrend.d.ts +67 -0
- package/dist/analysis/multiTrend.d.ts.map +1 -0
- package/dist/analysis/multiTrend.js +106 -0
- package/dist/analysis/multiTrend.js.map +1 -0
- package/dist/analysis/multiTrendPage.d.ts +4 -0
- package/dist/analysis/multiTrendPage.d.ts.map +1 -0
- package/dist/analysis/multiTrendPage.js +502 -0
- package/dist/analysis/multiTrendPage.js.map +1 -0
- package/dist/analysis/reportDoc.d.ts +12 -0
- package/dist/analysis/reportDoc.d.ts.map +1 -0
- package/dist/analysis/reportDoc.js +244 -0
- package/dist/analysis/reportDoc.js.map +1 -0
- package/dist/analysis/reportDocBmi.d.ts +4 -0
- package/dist/analysis/reportDocBmi.d.ts.map +1 -0
- package/dist/analysis/reportDocBmi.js +104 -0
- package/dist/analysis/reportDocBmi.js.map +1 -0
- package/dist/analysis/reportDocParts.d.ts +77 -0
- package/dist/analysis/reportDocParts.d.ts.map +1 -0
- package/dist/analysis/reportDocParts.js +249 -0
- package/dist/analysis/reportDocParts.js.map +1 -0
- package/dist/analysis/reportDocScore.d.ts +8 -0
- package/dist/analysis/reportDocScore.d.ts.map +1 -0
- package/dist/analysis/reportDocScore.js +223 -0
- package/dist/analysis/reportDocScore.js.map +1 -0
- package/dist/analysis/reportDocScoreSeries.d.ts +3 -0
- package/dist/analysis/reportDocScoreSeries.d.ts.map +1 -0
- package/dist/analysis/reportDocScoreSeries.js +27 -0
- package/dist/analysis/reportDocScoreSeries.js.map +1 -0
- package/dist/analysis/reportDocTracked.d.ts +10 -0
- package/dist/analysis/reportDocTracked.d.ts.map +1 -0
- package/dist/analysis/reportDocTracked.js +195 -0
- package/dist/analysis/reportDocTracked.js.map +1 -0
- package/dist/analysis/reportPlate.d.ts +163 -0
- package/dist/analysis/reportPlate.d.ts.map +1 -0
- package/dist/analysis/reportPlate.js +251 -0
- package/dist/analysis/reportPlate.js.map +1 -0
- package/dist/analysis/routes.d.ts +18 -0
- package/dist/analysis/routes.d.ts.map +1 -0
- package/dist/analysis/routes.js +178 -0
- package/dist/analysis/routes.js.map +1 -0
- package/dist/analysis/series.d.ts +31 -6
- package/dist/analysis/series.d.ts.map +1 -1
- package/dist/analysis/series.js +124 -27
- package/dist/analysis/series.js.map +1 -1
- package/dist/analysis/simulate.d.ts.map +1 -1
- package/dist/analysis/simulate.js +17 -6
- package/dist/analysis/simulate.js.map +1 -1
- package/dist/analysis/simulate2.d.ts.map +1 -1
- package/dist/analysis/simulate2.js +43 -11
- package/dist/analysis/simulate2.js.map +1 -1
- package/dist/analysis/trend.d.ts +9 -1
- package/dist/analysis/trend.d.ts.map +1 -1
- package/dist/analysis/trend.js +24 -8
- package/dist/analysis/trend.js.map +1 -1
- package/dist/analysis/utils.d.ts +50 -1
- package/dist/analysis/utils.d.ts.map +1 -1
- package/dist/analysis/utils.js +73 -1
- package/dist/analysis/utils.js.map +1 -1
- package/dist/body/bodyDocs.d.ts +4 -0
- package/dist/body/bodyDocs.d.ts.map +1 -0
- package/dist/body/bodyDocs.js +284 -0
- package/dist/body/bodyDocs.js.map +1 -0
- package/dist/body/bodyPlate.d.ts +145 -0
- package/dist/body/bodyPlate.d.ts.map +1 -0
- package/dist/body/bodyPlate.js +243 -0
- package/dist/body/bodyPlate.js.map +1 -0
- package/dist/body/bodyReadUi.d.ts +47 -0
- package/dist/body/bodyReadUi.d.ts.map +1 -0
- package/dist/body/bodyReadUi.js +164 -0
- package/dist/body/bodyReadUi.js.map +1 -0
- package/dist/body/commands.d.ts +29 -0
- package/dist/body/commands.d.ts.map +1 -0
- package/dist/body/commands.js +18 -0
- package/dist/body/commands.js.map +1 -0
- package/dist/body/compare.d.ts +62 -0
- package/dist/body/compare.d.ts.map +1 -0
- package/dist/body/compare.js +162 -0
- package/dist/body/compare.js.map +1 -0
- package/dist/body/compareCompositionDoc.d.ts +3 -0
- package/dist/body/compareCompositionDoc.d.ts.map +1 -0
- package/dist/body/compareCompositionDoc.js +99 -0
- package/dist/body/compareCompositionDoc.js.map +1 -0
- package/dist/body/compareMeasureDoc.d.ts +3 -0
- package/dist/body/compareMeasureDoc.d.ts.map +1 -0
- package/dist/body/compareMeasureDoc.js +91 -0
- package/dist/body/compareMeasureDoc.js.map +1 -0
- package/dist/body/compareUi.d.ts +12 -0
- package/dist/body/compareUi.d.ts.map +1 -0
- package/dist/body/compareUi.js +27 -0
- package/dist/body/compareUi.js.map +1 -0
- package/dist/body/index.d.ts +21 -0
- package/dist/body/index.d.ts.map +1 -0
- package/dist/body/index.js +22 -0
- package/dist/body/index.js.map +1 -0
- package/dist/body/log.d.ts +29 -0
- package/dist/body/log.d.ts.map +1 -0
- package/dist/body/log.js +196 -0
- package/dist/body/log.js.map +1 -0
- package/dist/body/receipt.d.ts +52 -0
- package/dist/body/receipt.d.ts.map +1 -0
- package/dist/body/receipt.js +248 -0
- package/dist/body/receipt.js.map +1 -0
- package/dist/body/receiptData.d.ts +46 -0
- package/dist/body/receiptData.d.ts.map +1 -0
- package/dist/body/receiptData.js +107 -0
- package/dist/body/receiptData.js.map +1 -0
- package/dist/body/receiptUi.d.ts +9 -0
- package/dist/body/receiptUi.d.ts.map +1 -0
- package/dist/body/receiptUi.js +75 -0
- package/dist/body/receiptUi.js.map +1 -0
- package/dist/body/remove.d.ts +21 -0
- package/dist/body/remove.d.ts.map +1 -0
- package/dist/body/remove.js +78 -0
- package/dist/body/remove.js.map +1 -0
- package/dist/body/routes.d.ts +10 -0
- package/dist/body/routes.d.ts.map +1 -0
- package/dist/body/routes.js +20 -0
- package/dist/body/routes.js.map +1 -0
- package/dist/body/view.d.ts +21 -0
- package/dist/body/view.d.ts.map +1 -0
- package/dist/body/view.js +50 -0
- package/dist/body/view.js.map +1 -0
- package/dist/body/wizard.d.ts +14 -0
- package/dist/body/wizard.d.ts.map +1 -0
- package/dist/body/wizard.js +21 -0
- package/dist/body/wizard.js.map +1 -0
- package/dist/body/wizardDocs.d.ts +4 -0
- package/dist/body/wizardDocs.d.ts.map +1 -0
- package/dist/body/wizardDocs.js +260 -0
- package/dist/body/wizardDocs.js.map +1 -0
- package/dist/body/wizardPlate.d.ts +146 -0
- package/dist/body/wizardPlate.d.ts.map +1 -0
- package/dist/body/wizardPlate.js +260 -0
- package/dist/body/wizardPlate.js.map +1 -0
- package/dist/body/wizardPrompt.d.ts +52 -0
- package/dist/body/wizardPrompt.d.ts.map +1 -0
- package/dist/body/wizardPrompt.js +146 -0
- package/dist/body/wizardPrompt.js.map +1 -0
- package/dist/body/wizardUi.d.ts +11 -0
- package/dist/body/wizardUi.d.ts.map +1 -0
- package/dist/body/wizardUi.js +35 -0
- package/dist/body/wizardUi.js.map +1 -0
- package/dist/cli/cmd_read.d.ts +7 -21
- package/dist/cli/cmd_read.d.ts.map +1 -1
- package/dist/cli/cmd_read.js +45 -1044
- package/dist/cli/cmd_read.js.map +1 -1
- package/dist/cli/delivery.d.ts +34 -0
- package/dist/cli/delivery.d.ts.map +1 -0
- package/dist/cli/delivery.js +223 -0
- package/dist/cli/delivery.js.map +1 -0
- package/dist/cli/keys.d.ts +305 -163
- package/dist/cli/keys.d.ts.map +1 -1
- package/dist/cli/keys.js +101 -74
- package/dist/cli/keys.js.map +1 -1
- package/dist/cli/legacy/index.d.ts +25 -0
- package/dist/cli/legacy/index.d.ts.map +1 -0
- package/dist/cli/legacy/index.js +37 -0
- package/dist/cli/legacy/index.js.map +1 -0
- package/dist/cli/legacy/routes/index.d.ts +8 -0
- package/dist/cli/legacy/routes/index.d.ts.map +1 -0
- package/dist/cli/legacy/routes/index.js +23 -0
- package/dist/cli/legacy/routes/index.js.map +1 -0
- package/dist/cli/legacy/routes/scene-01.d.ts +12 -0
- package/dist/cli/legacy/routes/scene-01.d.ts.map +1 -0
- package/dist/cli/legacy/routes/scene-01.js +2 -0
- package/dist/cli/legacy/routes/scene-01.js.map +1 -0
- package/dist/cli/legacy/routes/scene-02.d.ts +18 -0
- package/dist/cli/legacy/routes/scene-02.d.ts.map +1 -0
- package/dist/cli/legacy/routes/scene-02.js +2 -0
- package/dist/cli/legacy/routes/scene-02.js.map +1 -0
- package/dist/cli/legacy/routes/scene-03.d.ts +13 -0
- package/dist/cli/legacy/routes/scene-03.d.ts.map +1 -0
- package/dist/cli/legacy/routes/scene-03.js +2 -0
- package/dist/cli/legacy/routes/scene-03.js.map +1 -0
- package/dist/cli/legacy/routes/scene-04.d.ts +10 -0
- package/dist/cli/legacy/routes/scene-04.d.ts.map +1 -0
- package/dist/cli/legacy/routes/scene-04.js +2 -0
- package/dist/cli/legacy/routes/scene-04.js.map +1 -0
- package/dist/cli/legacy/routes/scene-05.d.ts +10 -0
- package/dist/cli/legacy/routes/scene-05.d.ts.map +1 -0
- package/dist/cli/legacy/routes/scene-05.js +2 -0
- package/dist/cli/legacy/routes/scene-05.js.map +1 -0
- package/dist/cli/legacy/routes/scene-06.d.ts +10 -0
- package/dist/cli/legacy/routes/scene-06.d.ts.map +1 -0
- package/dist/cli/legacy/routes/scene-06.js +2 -0
- package/dist/cli/legacy/routes/scene-06.js.map +1 -0
- package/dist/cli/legacy/routes/scene-07.d.ts +10 -0
- package/dist/cli/legacy/routes/scene-07.d.ts.map +1 -0
- package/dist/cli/legacy/routes/scene-07.js +2 -0
- package/dist/cli/legacy/routes/scene-07.js.map +1 -0
- package/dist/cli/legacy/routes/scene-08.d.ts +12 -0
- package/dist/cli/legacy/routes/scene-08.d.ts.map +1 -0
- package/dist/cli/legacy/routes/scene-08.js +2 -0
- package/dist/cli/legacy/routes/scene-08.js.map +1 -0
- package/dist/cli/legacy/routes/scene-09.d.ts +12 -0
- package/dist/cli/legacy/routes/scene-09.d.ts.map +1 -0
- package/dist/cli/legacy/routes/scene-09.js +2 -0
- package/dist/cli/legacy/routes/scene-09.js.map +1 -0
- package/dist/cli/legacy/routes/scene-10.d.ts +10 -0
- package/dist/cli/legacy/routes/scene-10.d.ts.map +1 -0
- package/dist/cli/legacy/routes/scene-10.js +2 -0
- package/dist/cli/legacy/routes/scene-10.js.map +1 -0
- package/dist/cli/legacy/scene-01.d.ts +13 -0
- package/dist/cli/legacy/scene-01.d.ts.map +1 -0
- package/dist/cli/legacy/scene-01.js +2 -0
- package/dist/cli/legacy/scene-01.js.map +1 -0
- package/dist/cli/legacy/scene-02.d.ts +12 -0
- package/dist/cli/legacy/scene-02.d.ts.map +1 -0
- package/dist/cli/legacy/scene-02.js +2 -0
- package/dist/cli/legacy/scene-02.js.map +1 -0
- package/dist/cli/legacy/scene-03.d.ts +14 -0
- package/dist/cli/legacy/scene-03.d.ts.map +1 -0
- package/dist/cli/legacy/scene-03.js +2 -0
- package/dist/cli/legacy/scene-03.js.map +1 -0
- package/dist/cli/legacy/scene-04.d.ts +12 -0
- package/dist/cli/legacy/scene-04.d.ts.map +1 -0
- package/dist/cli/legacy/scene-04.js +2 -0
- package/dist/cli/legacy/scene-04.js.map +1 -0
- package/dist/cli/legacy/scene-05.d.ts +14 -0
- package/dist/cli/legacy/scene-05.d.ts.map +1 -0
- package/dist/cli/legacy/scene-05.js +2 -0
- package/dist/cli/legacy/scene-05.js.map +1 -0
- package/dist/cli/legacy/scene-06.d.ts +15 -0
- package/dist/cli/legacy/scene-06.d.ts.map +1 -0
- package/dist/cli/legacy/scene-06.js +2 -0
- package/dist/cli/legacy/scene-06.js.map +1 -0
- package/dist/cli/legacy/scene-07.d.ts +15 -0
- package/dist/cli/legacy/scene-07.d.ts.map +1 -0
- package/dist/cli/legacy/scene-07.js +2 -0
- package/dist/cli/legacy/scene-07.js.map +1 -0
- package/dist/cli/legacy/scene-08.d.ts +13 -0
- package/dist/cli/legacy/scene-08.d.ts.map +1 -0
- package/dist/cli/legacy/scene-08.js +2 -0
- package/dist/cli/legacy/scene-08.js.map +1 -0
- package/dist/cli/legacy/scene-09.d.ts +13 -0
- package/dist/cli/legacy/scene-09.d.ts.map +1 -0
- package/dist/cli/legacy/scene-09.js +2 -0
- package/dist/cli/legacy/scene-09.js.map +1 -0
- package/dist/cli/legacy/scene-10.d.ts +13 -0
- package/dist/cli/legacy/scene-10.d.ts.map +1 -0
- package/dist/cli/legacy/scene-10.js +2 -0
- package/dist/cli/legacy/scene-10.js.map +1 -0
- package/dist/cli/legacy/types.d.ts +16 -0
- package/dist/cli/legacy/types.d.ts.map +1 -0
- package/dist/cli/legacy/types.js +2 -0
- package/dist/cli/legacy/types.js.map +1 -0
- package/dist/cli/readArgs.d.ts +21 -0
- package/dist/cli/readArgs.d.ts.map +1 -0
- package/dist/cli/readArgs.js +72 -0
- package/dist/cli/readArgs.js.map +1 -0
- package/dist/cli/registry.d.ts +12 -0
- package/dist/cli/registry.d.ts.map +1 -0
- package/dist/cli/registry.js +38 -0
- package/dist/cli/registry.js.map +1 -0
- package/dist/cli/write.d.ts +17 -15
- package/dist/cli/write.d.ts.map +1 -1
- package/dist/cli/write.js +38 -902
- package/dist/cli/write.js.map +1 -1
- package/dist/diet/commands.d.ts +37 -0
- package/dist/diet/commands.d.ts.map +1 -0
- package/dist/diet/commands.js +44 -0
- package/dist/diet/commands.js.map +1 -0
- package/dist/diet/dietEngine.d.ts +79 -0
- package/dist/diet/dietEngine.d.ts.map +1 -0
- package/dist/diet/dietEngine.js +171 -0
- package/dist/diet/dietEngine.js.map +1 -0
- package/dist/diet/dietUi.d.ts +9 -0
- package/dist/diet/dietUi.d.ts.map +1 -0
- package/dist/diet/dietUi.js +45 -0
- package/dist/diet/dietUi.js.map +1 -0
- package/dist/diet/edit.d.ts +22 -0
- package/dist/diet/edit.d.ts.map +1 -0
- package/dist/diet/edit.js +96 -0
- package/dist/diet/edit.js.map +1 -0
- package/dist/diet/fieldLabels.d.ts +5 -0
- package/dist/diet/fieldLabels.d.ts.map +1 -0
- package/dist/diet/fieldLabels.js +44 -0
- package/dist/diet/fieldLabels.js.map +1 -0
- package/dist/diet/index.d.ts +26 -0
- package/dist/diet/index.d.ts.map +1 -0
- package/dist/diet/index.js +22 -0
- package/dist/diet/index.js.map +1 -0
- package/dist/diet/library.d.ts +20 -0
- package/dist/diet/library.d.ts.map +1 -0
- package/dist/diet/library.js +52 -0
- package/dist/diet/library.js.map +1 -0
- package/dist/diet/libraryDocs.d.ts +7 -0
- package/dist/diet/libraryDocs.d.ts.map +1 -0
- package/dist/diet/libraryDocs.js +361 -0
- package/dist/diet/libraryDocs.js.map +1 -0
- package/dist/diet/libraryPlate.d.ts +41 -0
- package/dist/diet/libraryPlate.d.ts.map +1 -0
- package/dist/diet/libraryPlate.js +57 -0
- package/dist/diet/libraryPlate.js.map +1 -0
- package/dist/diet/log.d.ts +18 -0
- package/dist/diet/log.d.ts.map +1 -0
- package/dist/diet/log.js +152 -0
- package/dist/diet/log.js.map +1 -0
- package/dist/diet/nutrition.d.ts +37 -0
- package/dist/diet/nutrition.d.ts.map +1 -0
- package/dist/diet/nutrition.js +135 -0
- package/dist/diet/nutrition.js.map +1 -0
- package/dist/diet/nutritionPort.d.ts +129 -0
- package/dist/diet/nutritionPort.d.ts.map +1 -0
- package/dist/diet/nutritionPort.js +246 -0
- package/dist/diet/nutritionPort.js.map +1 -0
- package/dist/diet/nutritionPortDocs.d.ts +106 -0
- package/dist/diet/nutritionPortDocs.d.ts.map +1 -0
- package/dist/diet/nutritionPortDocs.js +651 -0
- package/dist/diet/nutritionPortDocs.js.map +1 -0
- package/dist/diet/precheck.d.ts +7 -0
- package/dist/diet/precheck.d.ts.map +1 -0
- package/dist/diet/precheck.js +194 -0
- package/dist/diet/precheck.js.map +1 -0
- package/dist/diet/precheckLabel.d.ts +4 -0
- package/dist/diet/precheckLabel.d.ts.map +1 -0
- package/dist/diet/precheckLabel.js +191 -0
- package/dist/diet/precheckLabel.js.map +1 -0
- package/dist/diet/precheckParts.d.ts +49 -0
- package/dist/diet/precheckParts.d.ts.map +1 -0
- package/dist/diet/precheckParts.js +69 -0
- package/dist/diet/precheckParts.js.map +1 -0
- package/dist/diet/precheckPort.d.ts +82 -0
- package/dist/diet/precheckPort.d.ts.map +1 -0
- package/dist/diet/precheckPort.js +176 -0
- package/dist/diet/precheckPort.js.map +1 -0
- package/dist/diet/productImport.d.ts +28 -0
- package/dist/diet/productImport.d.ts.map +1 -0
- package/dist/diet/productImport.js +152 -0
- package/dist/diet/productImport.js.map +1 -0
- package/dist/diet/productStore.d.ts +62 -0
- package/dist/diet/productStore.d.ts.map +1 -0
- package/dist/diet/productStore.js +73 -0
- package/dist/diet/productStore.js.map +1 -0
- package/dist/diet/products.d.ts +15 -0
- package/dist/diet/products.d.ts.map +1 -0
- package/dist/diet/products.js +87 -0
- package/dist/diet/products.js.map +1 -0
- package/dist/diet/ranking.d.ts +18 -0
- package/dist/diet/ranking.d.ts.map +1 -0
- package/dist/diet/ranking.js +23 -0
- package/dist/diet/ranking.js.map +1 -0
- package/dist/diet/rankingDocs.d.ts +13 -0
- package/dist/diet/rankingDocs.d.ts.map +1 -0
- package/dist/diet/rankingDocs.js +341 -0
- package/dist/diet/rankingDocs.js.map +1 -0
- package/dist/diet/rankingPlate.d.ts +42 -0
- package/dist/diet/rankingPlate.d.ts.map +1 -0
- package/dist/diet/rankingPlate.js +96 -0
- package/dist/diet/rankingPlate.js.map +1 -0
- package/dist/diet/receipt.d.ts +34 -0
- package/dist/diet/receipt.d.ts.map +1 -0
- package/dist/diet/receipt.js +371 -0
- package/dist/diet/receipt.js.map +1 -0
- package/dist/diet/review.d.ts +36 -0
- package/dist/diet/review.d.ts.map +1 -0
- package/dist/diet/review.js +152 -0
- package/dist/diet/review.js.map +1 -0
- package/dist/diet/reviewDocs.d.ts +72 -0
- package/dist/diet/reviewDocs.d.ts.map +1 -0
- package/dist/diet/reviewDocs.js +312 -0
- package/dist/diet/reviewDocs.js.map +1 -0
- package/dist/diet/routes.d.ts +12 -0
- package/dist/diet/routes.d.ts.map +1 -0
- package/dist/diet/routes.js +108 -0
- package/dist/diet/routes.js.map +1 -0
- package/dist/diet/sourceStatsDocs.d.ts +3 -0
- package/dist/diet/sourceStatsDocs.d.ts.map +1 -0
- package/dist/diet/sourceStatsDocs.js +115 -0
- package/dist/diet/sourceStatsDocs.js.map +1 -0
- package/dist/diet/today.d.ts +14 -0
- package/dist/diet/today.d.ts.map +1 -0
- package/dist/diet/today.js +87 -0
- package/dist/diet/today.js.map +1 -0
- package/dist/diet/todayDocs.d.ts +53 -0
- package/dist/diet/todayDocs.d.ts.map +1 -0
- package/dist/diet/todayDocs.js +238 -0
- package/dist/diet/todayDocs.js.map +1 -0
- package/dist/exercise/cardio.d.ts +11 -0
- package/dist/exercise/cardio.d.ts.map +1 -0
- package/dist/exercise/cardio.js +14 -0
- package/dist/exercise/cardio.js.map +1 -0
- package/dist/exercise/categoryColors.d.ts +23 -0
- package/dist/exercise/categoryColors.d.ts.map +1 -0
- package/dist/exercise/categoryColors.js +28 -0
- package/dist/exercise/categoryColors.js.map +1 -0
- package/dist/exercise/commands.d.ts +20 -0
- package/dist/exercise/commands.d.ts.map +1 -0
- package/dist/exercise/commands.js +22 -0
- package/dist/exercise/commands.js.map +1 -0
- package/dist/exercise/distribution.d.ts +11 -0
- package/dist/exercise/distribution.d.ts.map +1 -0
- package/dist/exercise/distribution.js +14 -0
- package/dist/exercise/distribution.js.map +1 -0
- package/dist/exercise/edit.d.ts +22 -0
- package/dist/exercise/edit.d.ts.map +1 -0
- package/dist/exercise/edit.js +148 -0
- package/dist/exercise/edit.js.map +1 -0
- package/dist/exercise/exerciseStore.d.ts +87 -0
- package/dist/exercise/exerciseStore.d.ts.map +1 -0
- package/dist/exercise/exerciseStore.js +287 -0
- package/dist/exercise/exerciseStore.js.map +1 -0
- package/dist/exercise/fieldLabels.d.ts +5 -0
- package/dist/exercise/fieldLabels.d.ts.map +1 -0
- package/dist/exercise/fieldLabels.js +34 -0
- package/dist/exercise/fieldLabels.js.map +1 -0
- package/dist/exercise/goal.d.ts +16 -0
- package/dist/exercise/goal.d.ts.map +1 -0
- package/dist/exercise/goal.js +46 -0
- package/dist/exercise/goal.js.map +1 -0
- package/dist/exercise/index.d.ts +22 -0
- package/dist/exercise/index.d.ts.map +1 -0
- package/dist/exercise/index.js +22 -0
- package/dist/exercise/index.js.map +1 -0
- package/dist/exercise/log.d.ts +19 -0
- package/dist/exercise/log.d.ts.map +1 -0
- package/dist/exercise/log.js +102 -0
- package/dist/exercise/log.js.map +1 -0
- package/dist/exercise/precheck.d.ts +19 -0
- package/dist/exercise/precheck.d.ts.map +1 -0
- package/dist/exercise/precheck.js +127 -0
- package/dist/exercise/precheck.js.map +1 -0
- package/dist/exercise/recap.d.ts +11 -0
- package/dist/exercise/recap.d.ts.map +1 -0
- package/dist/exercise/recap.js +14 -0
- package/dist/exercise/recap.js.map +1 -0
- package/dist/exercise/receipt.d.ts +43 -0
- package/dist/exercise/receipt.d.ts.map +1 -0
- package/dist/exercise/receipt.js +401 -0
- package/dist/exercise/receipt.js.map +1 -0
- package/dist/exercise/records.d.ts +60 -0
- package/dist/exercise/records.d.ts.map +1 -0
- package/dist/exercise/records.js +317 -0
- package/dist/exercise/records.js.map +1 -0
- package/dist/exercise/routes.d.ts +21 -0
- package/dist/exercise/routes.d.ts.map +1 -0
- package/dist/exercise/routes.js +38 -0
- package/dist/exercise/routes.js.map +1 -0
- package/dist/exercise/sportUi.d.ts +77 -0
- package/dist/exercise/sportUi.d.ts.map +1 -0
- package/dist/exercise/sportUi.js +268 -0
- package/dist/exercise/sportUi.js.map +1 -0
- package/dist/exercise/strength.d.ts +11 -0
- package/dist/exercise/strength.d.ts.map +1 -0
- package/dist/exercise/strength.js +14 -0
- package/dist/exercise/strength.js.map +1 -0
- package/dist/exercise/trend.d.ts +11 -0
- package/dist/exercise/trend.d.ts.map +1 -0
- package/dist/exercise/trend.js +14 -0
- package/dist/exercise/trend.js.map +1 -0
- package/dist/fetch/audit.d.ts +2 -0
- package/dist/fetch/audit.d.ts.map +1 -1
- package/dist/fetch/audit.js +11 -10
- package/dist/fetch/audit.js.map +1 -1
- package/dist/fetch/batch.js +1 -1
- package/dist/fetch/batch.js.map +1 -1
- package/dist/fetch/body.d.ts +104 -1
- package/dist/fetch/body.d.ts.map +1 -1
- package/dist/fetch/body.js +200 -31
- package/dist/fetch/body.js.map +1 -1
- package/dist/fetch/cli.js +11 -5
- package/dist/fetch/cli.js.map +1 -1
- package/dist/fetch/exercise.d.ts.map +1 -1
- package/dist/fetch/exercise.js +7 -3
- package/dist/fetch/exercise.js.map +1 -1
- package/dist/fetch/index.d.ts +5 -7
- package/dist/fetch/index.d.ts.map +1 -1
- package/dist/fetch/index.js +7 -6
- package/dist/fetch/index.js.map +1 -1
- package/dist/fetch/nutritionGoal.d.ts.map +1 -1
- package/dist/fetch/nutritionGoal.js +15 -4
- package/dist/fetch/nutritionGoal.js.map +1 -1
- package/dist/fetch/profile.d.ts +24 -3
- package/dist/fetch/profile.d.ts.map +1 -1
- package/dist/fetch/profile.js +43 -14
- package/dist/fetch/profile.js.map +1 -1
- package/dist/fetch/xunji-catalog.d.ts +5 -0
- package/dist/fetch/xunji-catalog.d.ts.map +1 -1
- package/dist/fetch/xunji-catalog.js +22 -1
- package/dist/fetch/xunji-catalog.js.map +1 -1
- package/dist/goal/commands.d.ts +31 -0
- package/dist/goal/commands.d.ts.map +1 -0
- package/dist/goal/commands.js +20 -0
- package/dist/goal/commands.js.map +1 -0
- package/dist/goal/goalExtraPlate.d.ts +45 -0
- package/dist/goal/goalExtraPlate.d.ts.map +1 -0
- package/dist/goal/goalExtraPlate.js +95 -0
- package/dist/goal/goalExtraPlate.js.map +1 -0
- package/dist/goal/goalHistory.d.ts +24 -0
- package/dist/goal/goalHistory.d.ts.map +1 -0
- package/dist/goal/goalHistory.js +51 -0
- package/dist/goal/goalHistory.js.map +1 -0
- package/dist/goal/goalPlate.d.ts +24 -0
- package/dist/goal/goalPlate.d.ts.map +1 -0
- package/dist/goal/goalPlate.js +34 -0
- package/dist/goal/goalPlate.js.map +1 -0
- package/dist/goal/goalPlates.d.ts +66 -0
- package/dist/goal/goalPlates.d.ts.map +1 -0
- package/dist/goal/goalPlates.js +114 -0
- package/dist/goal/goalPlates.js.map +1 -0
- package/dist/goal/goalRecommendDoc.d.ts +6 -0
- package/dist/goal/goalRecommendDoc.d.ts.map +1 -0
- package/dist/goal/goalRecommendDoc.js +107 -0
- package/dist/goal/goalRecommendDoc.js.map +1 -0
- package/dist/goal/goalStore.d.ts +56 -0
- package/dist/goal/goalStore.d.ts.map +1 -0
- package/dist/goal/goalStore.js +111 -0
- package/dist/goal/goalStore.js.map +1 -0
- package/dist/goal/goalWeightDoc.d.ts +7 -0
- package/dist/goal/goalWeightDoc.d.ts.map +1 -0
- package/dist/goal/goalWeightDoc.js +107 -0
- package/dist/goal/goalWeightDoc.js.map +1 -0
- package/dist/goal/index.d.ts +17 -0
- package/dist/goal/index.d.ts.map +1 -0
- package/dist/goal/index.js +21 -0
- package/dist/goal/index.js.map +1 -0
- package/dist/goal/nutritionGoal.d.ts +115 -0
- package/dist/goal/nutritionGoal.d.ts.map +1 -0
- package/dist/goal/nutritionGoal.js +165 -0
- package/dist/goal/nutritionGoal.js.map +1 -0
- package/dist/goal/precheck.d.ts +14 -0
- package/dist/goal/precheck.d.ts.map +1 -0
- package/dist/goal/precheck.js +213 -0
- package/dist/goal/precheck.js.map +1 -0
- package/dist/goal/read.d.ts +53 -0
- package/dist/goal/read.d.ts.map +1 -0
- package/dist/goal/read.js +154 -0
- package/dist/goal/read.js.map +1 -0
- package/dist/goal/receipt.d.ts +38 -0
- package/dist/goal/receipt.d.ts.map +1 -0
- package/dist/goal/receipt.js +290 -0
- package/dist/goal/receipt.js.map +1 -0
- package/dist/goal/resultDocs.d.ts +23 -0
- package/dist/goal/resultDocs.d.ts.map +1 -0
- package/dist/goal/resultDocs.js +279 -0
- package/dist/goal/resultDocs.js.map +1 -0
- package/dist/goal/routes.d.ts +12 -0
- package/dist/goal/routes.d.ts.map +1 -0
- package/dist/goal/routes.js +29 -0
- package/dist/goal/routes.js.map +1 -0
- package/dist/goal/set.d.ts +97 -0
- package/dist/goal/set.d.ts.map +1 -0
- package/dist/goal/set.js +103 -0
- package/dist/goal/set.js.map +1 -0
- package/dist/goal/write.d.ts +30 -0
- package/dist/goal/write.d.ts.map +1 -0
- package/dist/goal/write.js +102 -0
- package/dist/goal/write.js.map +1 -0
- package/dist/help-missing.json +35 -0
- package/dist/home/commands.d.ts +11 -0
- package/dist/home/commands.d.ts.map +1 -0
- package/dist/home/commands.js +8 -0
- package/dist/home/commands.js.map +1 -0
- package/dist/home/exercise.d.ts +27 -0
- package/dist/home/exercise.d.ts.map +1 -0
- package/dist/home/exercise.js +60 -0
- package/dist/home/exercise.js.map +1 -0
- package/dist/home/goalProgressDocs.d.ts +27 -0
- package/dist/home/goalProgressDocs.d.ts.map +1 -0
- package/dist/home/goalProgressDocs.js +363 -0
- package/dist/home/goalProgressDocs.js.map +1 -0
- package/dist/home/home.d.ts +38 -0
- package/dist/home/home.d.ts.map +1 -0
- package/dist/home/home.js +78 -0
- package/dist/home/home.js.map +1 -0
- package/dist/home/homeDocs.d.ts +8 -0
- package/dist/home/homeDocs.d.ts.map +1 -0
- package/dist/home/homeDocs.js +307 -0
- package/dist/home/homeDocs.js.map +1 -0
- package/dist/home/homeViewParts.d.ts +42 -0
- package/dist/home/homeViewParts.d.ts.map +1 -0
- package/dist/home/homeViewParts.js +316 -0
- package/dist/home/homeViewParts.js.map +1 -0
- package/dist/home/index.d.ts +14 -0
- package/dist/home/index.d.ts.map +1 -0
- package/dist/home/index.js +13 -0
- package/dist/home/index.js.map +1 -0
- package/dist/home/routes.d.ts +10 -0
- package/dist/home/routes.d.ts.map +1 -0
- package/dist/home/routes.js +47 -0
- package/dist/home/routes.js.map +1 -0
- package/dist/home/today.d.ts +50 -0
- package/dist/home/today.d.ts.map +1 -0
- package/dist/home/today.js +255 -0
- package/dist/home/today.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/migrate/migrate.js +1 -1
- package/dist/output.d.ts +31 -16
- package/dist/output.d.ts.map +1 -1
- package/dist/output.js +118 -143
- package/dist/output.js.map +1 -1
- package/dist/photo/commands.d.ts +55 -0
- package/dist/photo/commands.d.ts.map +1 -0
- package/dist/photo/commands.js +25 -0
- package/dist/photo/commands.js.map +1 -0
- package/dist/photo/compare.d.ts +24 -0
- package/dist/photo/compare.d.ts.map +1 -0
- package/dist/photo/compare.js +48 -0
- package/dist/photo/compare.js.map +1 -0
- package/dist/photo/compareDoc.d.ts +5 -0
- package/dist/photo/compareDoc.d.ts.map +1 -0
- package/dist/photo/compareDoc.js +221 -0
- package/dist/photo/compareDoc.js.map +1 -0
- package/dist/photo/dir.d.ts +5 -0
- package/dist/photo/dir.d.ts.map +1 -0
- package/dist/photo/dir.js +22 -0
- package/dist/photo/dir.js.map +1 -0
- package/dist/photo/gallery.d.ts +16 -0
- package/dist/photo/gallery.d.ts.map +1 -0
- package/dist/photo/gallery.js +45 -0
- package/dist/photo/gallery.js.map +1 -0
- package/dist/photo/galleryDoc.d.ts +12 -0
- package/dist/photo/galleryDoc.d.ts.map +1 -0
- package/dist/photo/galleryDoc.js +291 -0
- package/dist/photo/galleryDoc.js.map +1 -0
- package/dist/photo/gif.d.ts +28 -0
- package/dist/photo/gif.d.ts.map +1 -0
- package/dist/photo/gif.js +281 -0
- package/dist/photo/gif.js.map +1 -0
- package/dist/photo/gifDoc.d.ts +52 -0
- package/dist/photo/gifDoc.d.ts.map +1 -0
- package/dist/photo/gifDoc.js +311 -0
- package/dist/photo/gifDoc.js.map +1 -0
- package/dist/photo/help.d.ts +4 -0
- package/dist/photo/help.d.ts.map +1 -0
- package/dist/photo/help.js +87 -0
- package/dist/photo/help.js.map +1 -0
- package/dist/photo/helpCenter.d.ts +137 -0
- package/dist/photo/helpCenter.d.ts.map +1 -0
- package/dist/photo/helpCenter.js +475 -0
- package/dist/photo/helpCenter.js.map +1 -0
- package/dist/photo/helpDoc.d.ts +5 -0
- package/dist/photo/helpDoc.d.ts.map +1 -0
- package/dist/photo/helpDoc.js +205 -0
- package/dist/photo/helpDoc.js.map +1 -0
- package/dist/photo/helpDocContent.d.ts +77 -0
- package/dist/photo/helpDocContent.d.ts.map +1 -0
- package/dist/photo/helpDocContent.js +120 -0
- package/dist/photo/helpDocContent.js.map +1 -0
- package/dist/photo/helpDocCss.d.ts +5 -0
- package/dist/photo/helpDocCss.d.ts.map +1 -0
- package/dist/photo/helpDocCss.js +119 -0
- package/dist/photo/helpDocCss.js.map +1 -0
- package/dist/photo/helpFile.d.ts +26 -0
- package/dist/photo/helpFile.d.ts.map +1 -0
- package/dist/photo/helpFile.js +90 -0
- package/dist/photo/helpFile.js.map +1 -0
- package/dist/photo/helpLookup.d.ts +18 -0
- package/dist/photo/helpLookup.d.ts.map +1 -0
- package/dist/photo/helpLookup.js +58 -0
- package/dist/photo/helpLookup.js.map +1 -0
- package/dist/photo/helpPaths.d.ts +22 -0
- package/dist/photo/helpPaths.d.ts.map +1 -0
- package/dist/photo/helpPaths.js +22 -0
- package/dist/photo/helpPaths.js.map +1 -0
- package/dist/photo/index.d.ts +17 -0
- package/dist/photo/index.d.ts.map +1 -0
- package/dist/photo/index.js +21 -0
- package/dist/photo/index.js.map +1 -0
- package/dist/photo/manage.d.ts +13 -0
- package/dist/photo/manage.d.ts.map +1 -0
- package/dist/photo/manage.js +64 -0
- package/dist/photo/manage.js.map +1 -0
- package/dist/photo/photo.d.ts +118 -0
- package/dist/photo/photo.d.ts.map +1 -0
- package/dist/photo/photo.js +279 -0
- package/dist/photo/photo.js.map +1 -0
- package/dist/photo/photoThumb.d.ts +38 -0
- package/dist/photo/photoThumb.d.ts.map +1 -0
- package/dist/photo/photoThumb.js +83 -0
- package/dist/photo/photoThumb.js.map +1 -0
- package/dist/photo/photoUi.d.ts +39 -0
- package/dist/photo/photoUi.d.ts.map +1 -0
- package/dist/photo/photoUi.js +233 -0
- package/dist/photo/photoUi.js.map +1 -0
- package/dist/photo/photos.d.ts +76 -0
- package/dist/photo/photos.d.ts.map +1 -0
- package/dist/photo/photos.js +193 -0
- package/dist/photo/photos.js.map +1 -0
- package/dist/photo/picker.d.ts +41 -0
- package/dist/photo/picker.d.ts.map +1 -0
- package/dist/photo/picker.js +132 -0
- package/dist/photo/picker.js.map +1 -0
- package/dist/photo/pickerDoc.d.ts +12 -0
- package/dist/photo/pickerDoc.d.ts.map +1 -0
- package/dist/photo/pickerDoc.js +231 -0
- package/dist/photo/pickerDoc.js.map +1 -0
- package/dist/photo/receipt.d.ts +23 -0
- package/dist/photo/receipt.d.ts.map +1 -0
- package/dist/photo/receipt.js +331 -0
- package/dist/photo/receipt.js.map +1 -0
- package/dist/photo/receiptUi.d.ts +42 -0
- package/dist/photo/receiptUi.d.ts.map +1 -0
- package/dist/photo/receiptUi.js +147 -0
- package/dist/photo/receiptUi.js.map +1 -0
- package/dist/photo/routes.d.ts +10 -0
- package/dist/photo/routes.d.ts.map +1 -0
- package/dist/photo/routes.js +29 -0
- package/dist/photo/routes.js.map +1 -0
- package/dist/photo/store.d.ts +10 -0
- package/dist/photo/store.d.ts.map +1 -0
- package/dist/photo/store.js +44 -0
- package/dist/photo/store.js.map +1 -0
- package/dist/photo/viewerDoc.d.ts +5 -0
- package/dist/photo/viewerDoc.d.ts.map +1 -0
- package/dist/photo/viewerDoc.js +255 -0
- package/dist/photo/viewerDoc.js.map +1 -0
- package/dist/photo/wizard.d.ts +15 -0
- package/dist/photo/wizard.d.ts.map +1 -0
- package/dist/photo/wizard.js +25 -0
- package/dist/photo/wizard.js.map +1 -0
- package/dist/photo/wizardUi.d.ts +24 -0
- package/dist/photo/wizardUi.d.ts.map +1 -0
- package/dist/photo/wizardUi.js +101 -0
- package/dist/photo/wizardUi.js.map +1 -0
- package/dist/profile/commands.d.ts +28 -0
- package/dist/profile/commands.d.ts.map +1 -0
- package/dist/profile/commands.js +10 -0
- package/dist/profile/commands.js.map +1 -0
- package/dist/profile/index.d.ts +23 -0
- package/dist/profile/index.d.ts.map +1 -0
- package/dist/profile/index.js +22 -0
- package/dist/profile/index.js.map +1 -0
- package/dist/profile/labels.d.ts +10 -0
- package/dist/profile/labels.d.ts.map +1 -0
- package/dist/profile/labels.js +52 -0
- package/dist/profile/labels.js.map +1 -0
- package/dist/profile/read.d.ts +13 -0
- package/dist/profile/read.d.ts.map +1 -0
- package/dist/profile/read.js +24 -0
- package/dist/profile/read.js.map +1 -0
- package/dist/profile/receipt.d.ts +10 -0
- package/dist/profile/receipt.d.ts.map +1 -0
- package/dist/profile/receipt.js +19 -0
- package/dist/profile/receipt.js.map +1 -0
- package/dist/profile/routes.d.ts +8 -0
- package/dist/profile/routes.d.ts.map +1 -0
- package/dist/profile/routes.js +9 -0
- package/dist/profile/routes.js.map +1 -0
- package/dist/profile/setup.d.ts +67 -0
- package/dist/profile/setup.d.ts.map +1 -0
- package/dist/profile/setup.js +396 -0
- package/dist/profile/setup.js.map +1 -0
- package/dist/profile/update.d.ts +5 -0
- package/dist/profile/update.d.ts.map +1 -0
- package/dist/profile/update.js +85 -0
- package/dist/profile/update.js.map +1 -0
- package/dist/profile/view.d.ts +64 -0
- package/dist/profile/view.d.ts.map +1 -0
- package/dist/profile/view.js +204 -0
- package/dist/profile/view.js.map +1 -0
- package/dist/profile/write.d.ts +16 -0
- package/dist/profile/write.d.ts.map +1 -0
- package/dist/profile/write.js +75 -0
- package/dist/profile/write.js.map +1 -0
- package/dist/render/analysisPlate.d.ts +1 -1
- package/dist/render/analysisPlate.d.ts.map +1 -1
- package/dist/render/analysisPlate.js +1 -1
- package/dist/render/analysisPlate.js.map +1 -1
- package/dist/render/dietDocs.d.ts +19 -19
- package/dist/render/dietDocs.d.ts.map +1 -1
- package/dist/render/dietDocs.js +173 -435
- package/dist/render/dietDocs.js.map +1 -1
- package/dist/render/exercisePort.d.ts +3 -1
- package/dist/render/exercisePort.d.ts.map +1 -1
- package/dist/render/exercisePort.js +4 -3
- package/dist/render/exercisePort.js.map +1 -1
- package/dist/render/goalExtra.d.ts.map +1 -1
- package/dist/render/goalExtra.js +2 -1
- package/dist/render/goalExtra.js.map +1 -1
- package/dist/render/goalPlate.d.ts +2 -2
- package/dist/render/goalPlate.d.ts.map +1 -1
- package/dist/render/goalPlate.js +3 -3
- package/dist/render/goalPlate.js.map +1 -1
- package/dist/render/helpCenter.d.ts.map +1 -1
- package/dist/render/helpCenter.js +4 -2
- package/dist/render/helpCenter.js.map +1 -1
- package/dist/render/helpFile.d.ts +26 -0
- package/dist/render/helpFile.d.ts.map +1 -0
- package/dist/render/helpFile.js +60 -0
- package/dist/render/helpFile.js.map +1 -0
- package/dist/render/helpPaths.d.ts +22 -0
- package/dist/render/helpPaths.d.ts.map +1 -0
- package/dist/render/helpPaths.js +22 -0
- package/dist/render/helpPaths.js.map +1 -0
- package/dist/render/helpShell.d.ts +16 -0
- package/dist/render/helpShell.d.ts.map +1 -0
- package/dist/render/helpShell.js +27 -0
- package/dist/render/helpShell.js.map +1 -0
- package/dist/render/html.d.ts +37 -21
- package/dist/render/html.d.ts.map +1 -1
- package/dist/render/html.js +37 -45
- package/dist/render/html.js.map +1 -1
- package/dist/render/index.d.ts +37 -33
- package/dist/render/index.d.ts.map +1 -1
- package/dist/render/index.js +32 -18
- package/dist/render/index.js.map +1 -1
- package/dist/render/insightPlate.d.ts +17 -0
- package/dist/render/insightPlate.d.ts.map +1 -1
- package/dist/render/insightPlate.js +109 -1
- package/dist/render/insightPlate.js.map +1 -1
- package/dist/render/nutritionPortDocs.d.ts.map +1 -1
- package/dist/render/nutritionPortDocs.js +41 -48
- package/dist/render/nutritionPortDocs.js.map +1 -1
- package/dist/render/pageChromeCss.d.ts +24 -0
- package/dist/render/pageChromeCss.d.ts.map +1 -0
- package/dist/render/pageChromeCss.js +45 -0
- package/dist/render/pageChromeCss.js.map +1 -0
- package/dist/render/planCopyBlock.d.ts +32 -0
- package/dist/render/planCopyBlock.d.ts.map +1 -0
- package/dist/render/planCopyBlock.js +34 -0
- package/dist/render/planCopyBlock.js.map +1 -0
- package/dist/render/planEditor.d.ts +94 -0
- package/dist/render/planEditor.d.ts.map +1 -0
- package/dist/render/planEditor.js +38 -0
- package/dist/render/planEditor.js.map +1 -0
- package/dist/render/planEditorCss.d.ts +13 -0
- package/dist/render/planEditorCss.d.ts.map +1 -0
- package/dist/render/planEditorCss.js +140 -0
- package/dist/render/planEditorCss.js.map +1 -0
- package/dist/render/planEditorDocs.d.ts +7 -0
- package/dist/render/planEditorDocs.d.ts.map +1 -0
- package/dist/render/planEditorDocs.js +56 -0
- package/dist/render/planEditorDocs.js.map +1 -0
- package/dist/render/planEditorPort.d.ts +45 -0
- package/dist/render/planEditorPort.d.ts.map +1 -0
- package/dist/render/planEditorPort.js +217 -0
- package/dist/render/planEditorPort.js.map +1 -0
- package/dist/render/planEditorRuntime.d.ts +15 -0
- package/dist/render/planEditorRuntime.d.ts.map +1 -0
- package/dist/render/planEditorRuntime.js +427 -0
- package/dist/render/planEditorRuntime.js.map +1 -0
- package/dist/render/planPlate.d.ts +84 -4
- package/dist/render/planPlate.d.ts.map +1 -1
- package/dist/render/planPlate.js +155 -7
- package/dist/render/planPlate.js.map +1 -1
- package/dist/render/planWizardCss.d.ts +21 -0
- package/dist/render/planWizardCss.d.ts.map +1 -0
- package/dist/render/planWizardCss.js +121 -0
- package/dist/render/planWizardCss.js.map +1 -0
- package/dist/render/planWizardDocs.d.ts +8 -0
- package/dist/render/planWizardDocs.d.ts.map +1 -0
- package/dist/render/planWizardDocs.js +151 -0
- package/dist/render/planWizardDocs.js.map +1 -0
- package/dist/render/receipt.d.ts +4 -0
- package/dist/render/receipt.d.ts.map +1 -1
- package/dist/render/receipt.js +4 -1
- package/dist/render/receipt.js.map +1 -1
- package/dist/render/reviewDocs.d.ts +3 -0
- package/dist/render/reviewDocs.d.ts.map +1 -0
- package/dist/render/reviewDocs.js +222 -0
- package/dist/render/reviewDocs.js.map +1 -0
- package/dist/render/reviewDocsCss.d.ts +5 -0
- package/dist/render/reviewDocsCss.d.ts.map +1 -0
- package/dist/render/reviewDocsCss.js +128 -0
- package/dist/render/reviewDocsCss.js.map +1 -0
- package/dist/render/sportDocs.d.ts +17 -12
- package/dist/render/sportDocs.d.ts.map +1 -1
- package/dist/render/sportDocs.js +370 -497
- package/dist/render/sportDocs.js.map +1 -1
- package/dist/render/sportPortDocs.d.ts +3 -2
- package/dist/render/sportPortDocs.d.ts.map +1 -1
- package/dist/render/sportPortDocs.js +825 -397
- package/dist/render/sportPortDocs.js.map +1 -1
- package/dist/render/trendDocs.d.ts +16 -6
- package/dist/render/trendDocs.d.ts.map +1 -1
- package/dist/render/trendDocs.js +310 -262
- package/dist/render/trendDocs.js.map +1 -1
- package/dist/render/trendMiscPort.d.ts +9 -24
- package/dist/render/trendMiscPort.d.ts.map +1 -1
- package/dist/render/trendMiscPort.js +7 -30
- package/dist/render/trendMiscPort.js.map +1 -1
- package/dist/render/trendMiscPortDocs.d.ts +1 -2
- package/dist/render/trendMiscPortDocs.d.ts.map +1 -1
- package/dist/render/trendMiscPortDocs.js +303 -133
- package/dist/render/trendMiscPortDocs.js.map +1 -1
- package/dist/render/trendPredictDocs.d.ts +16 -0
- package/dist/render/trendPredictDocs.d.ts.map +1 -0
- package/dist/render/trendPredictDocs.js +1131 -0
- package/dist/render/trendPredictDocs.js.map +1 -0
- package/dist/render/wizardPort.d.ts +9 -62
- package/dist/render/wizardPort.d.ts.map +1 -1
- package/dist/render/wizardPort.js +20 -180
- package/dist/render/wizardPort.js.map +1 -1
- package/dist/render/wizardPortDocs.d.ts +5 -5
- package/dist/render/wizardPortDocs.d.ts.map +1 -1
- package/dist/render/wizardPortDocs.js +282 -234
- package/dist/render/wizardPortDocs.js.map +1 -1
- package/dist/render/workoutMovementTable.d.ts +10 -0
- package/dist/render/workoutMovementTable.d.ts.map +1 -0
- package/dist/render/workoutMovementTable.js +153 -0
- package/dist/render/workoutMovementTable.js.map +1 -0
- package/dist/render/workoutPlanCss.d.ts +15 -0
- package/dist/render/workoutPlanCss.d.ts.map +1 -0
- package/dist/render/workoutPlanCss.js +217 -0
- package/dist/render/workoutPlanCss.js.map +1 -0
- package/dist/render/workoutPlanDocs.d.ts +23 -0
- package/dist/render/workoutPlanDocs.d.ts.map +1 -0
- package/dist/render/workoutPlanDocs.js +244 -0
- package/dist/render/workoutPlanDocs.js.map +1 -0
- package/dist/render/workoutPlanLook.d.ts +16 -0
- package/dist/render/workoutPlanLook.d.ts.map +1 -0
- package/dist/render/workoutPlanLook.js +135 -0
- package/dist/render/workoutPlanLook.js.map +1 -0
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +11 -0
- package/dist/schema.js.map +1 -1
- package/dist/shared/commandSpec.d.ts +73 -0
- package/dist/shared/commandSpec.d.ts.map +1 -0
- package/dist/shared/commandSpec.js +2 -0
- package/dist/shared/commandSpec.js.map +1 -0
- package/dist/shared/conclusionLine.d.ts +3 -0
- package/dist/shared/conclusionLine.d.ts.map +1 -0
- package/dist/shared/conclusionLine.js +21 -0
- package/dist/shared/conclusionLine.js.map +1 -0
- package/dist/shared/contentSuffix.d.ts +17 -0
- package/dist/shared/contentSuffix.d.ts.map +1 -0
- package/dist/shared/contentSuffix.js +125 -0
- package/dist/shared/contentSuffix.js.map +1 -0
- package/dist/shared/copyArea.d.ts +73 -0
- package/dist/shared/copyArea.d.ts.map +1 -0
- package/dist/shared/copyArea.js +144 -0
- package/dist/shared/copyArea.js.map +1 -0
- package/dist/shared/docPage.d.ts +42 -0
- package/dist/shared/docPage.d.ts.map +1 -0
- package/dist/shared/docPage.js +129 -0
- package/dist/shared/docPage.js.map +1 -0
- package/dist/shared/emptyGuide.d.ts +9 -0
- package/dist/shared/emptyGuide.d.ts.map +1 -0
- package/dist/shared/emptyGuide.js +31 -0
- package/dist/shared/emptyGuide.js.map +1 -0
- package/dist/shared/fieldLabel.d.ts +5 -0
- package/dist/shared/fieldLabel.d.ts.map +1 -0
- package/dist/shared/fieldLabel.js +42 -0
- package/dist/shared/fieldLabel.js.map +1 -0
- package/dist/shared/operationHead.d.ts +21 -0
- package/dist/shared/operationHead.d.ts.map +1 -0
- package/dist/shared/operationHead.js +73 -0
- package/dist/shared/operationHead.js.map +1 -0
- package/dist/shared/pageKit.d.ts +25 -0
- package/dist/shared/pageKit.d.ts.map +1 -0
- package/dist/shared/pageKit.js +56 -0
- package/dist/shared/pageKit.js.map +1 -0
- package/dist/shared/params.d.ts +54 -0
- package/dist/shared/params.d.ts.map +1 -0
- package/dist/shared/params.js +176 -0
- package/dist/shared/params.js.map +1 -0
- package/dist/shared/receiptParts.d.ts +9 -0
- package/dist/shared/receiptParts.d.ts.map +1 -0
- package/dist/shared/receiptParts.js +40 -0
- package/dist/shared/receiptParts.js.map +1 -0
- package/dist/shared/sceneEnvelope.d.ts +32 -0
- package/dist/shared/sceneEnvelope.d.ts.map +1 -0
- package/dist/shared/sceneEnvelope.js +12 -0
- package/dist/shared/sceneEnvelope.js.map +1 -0
- package/dist/shared/sourceLine.d.ts +10 -0
- package/dist/shared/sourceLine.d.ts.map +1 -0
- package/dist/shared/sourceLine.js +37 -0
- package/dist/shared/sourceLine.js.map +1 -0
- package/dist/shared/writeParts.d.ts +61 -0
- package/dist/shared/writeParts.d.ts.map +1 -0
- package/dist/shared/writeParts.js +79 -0
- package/dist/shared/writeParts.js.map +1 -0
- package/dist/triggers/help-lookup.d.ts +41 -5
- package/dist/triggers/help-lookup.d.ts.map +1 -1
- package/dist/triggers/help-lookup.js +100 -51
- package/dist/triggers/help-lookup.js.map +1 -1
- package/dist/triggers/index.js +1 -1
- package/dist/triggers/routeSpec.d.ts +66 -0
- package/dist/triggers/routeSpec.d.ts.map +1 -0
- package/dist/triggers/routeSpec.js +21 -0
- package/dist/triggers/routeSpec.js.map +1 -0
- package/dist/triggers/routes.generated.d.ts +17 -0
- package/dist/triggers/routes.generated.d.ts.map +1 -0
- package/dist/triggers/routes.generated.js +519 -0
- package/dist/triggers/routes.generated.js.map +1 -0
- package/dist/triggers/routing.d.ts +17 -38
- package/dist/triggers/routing.d.ts.map +1 -1
- package/dist/triggers/routing.js +13 -527
- package/dist/triggers/routing.js.map +1 -1
- package/dist/triggers/scene-01-home.js +9 -9
- package/dist/triggers/scene-01-home.js.map +1 -1
- package/dist/triggers/scene-02-diet.js +62 -62
- package/dist/triggers/scene-02-diet.js.map +1 -1
- package/dist/triggers/scene-03-weight.js +54 -54
- package/dist/triggers/scene-03-weight.js.map +1 -1
- package/dist/triggers/scene-04-exercise.js +33 -33
- package/dist/triggers/scene-04-exercise.js.map +1 -1
- package/dist/triggers/scene-05-workout.js +32 -32
- package/dist/triggers/scene-05-workout.js.map +1 -1
- package/dist/triggers/scene-06-goal.d.ts +1 -1
- package/dist/triggers/scene-06-goal.d.ts.map +1 -1
- package/dist/triggers/scene-06-goal.js +25 -24
- package/dist/triggers/scene-06-goal.js.map +1 -1
- package/dist/triggers/scene-07-profile.js +4 -4
- package/dist/triggers/scene-07-profile.js.map +1 -1
- package/dist/triggers/scene-08-body.js +10 -10
- package/dist/triggers/scene-08-body.js.map +1 -1
- package/dist/triggers/scene-09-photo.js +10 -10
- package/dist/triggers/scene-09-photo.js.map +1 -1
- package/dist/triggers/scene-10-analysis.js +176 -176
- package/dist/triggers/scene-10-analysis.js.map +1 -1
- package/dist/triggers/wake-assets.d.ts +47 -0
- package/dist/triggers/wake-assets.d.ts.map +1 -0
- package/dist/triggers/wake-assets.js +4725 -0
- package/dist/triggers/wake-assets.js.map +1 -0
- package/dist/weight/commands.d.ts +21 -0
- package/dist/weight/commands.d.ts.map +1 -0
- package/dist/weight/commands.js +18 -0
- package/dist/weight/commands.js.map +1 -0
- package/dist/weight/compare.d.ts +60 -0
- package/dist/weight/compare.d.ts.map +1 -0
- package/dist/weight/compare.js +570 -0
- package/dist/weight/compare.js.map +1 -0
- package/dist/weight/edit.d.ts +13 -0
- package/dist/weight/edit.d.ts.map +1 -0
- package/dist/weight/edit.js +87 -0
- package/dist/weight/edit.js.map +1 -0
- package/dist/weight/fieldLabels.d.ts +5 -0
- package/dist/weight/fieldLabels.d.ts.map +1 -0
- package/dist/weight/fieldLabels.js +23 -0
- package/dist/weight/fieldLabels.js.map +1 -0
- package/dist/weight/figures.d.ts +87 -0
- package/dist/weight/figures.d.ts.map +1 -0
- package/dist/weight/figures.js +219 -0
- package/dist/weight/figures.js.map +1 -0
- package/dist/weight/history.d.ts +85 -0
- package/dist/weight/history.d.ts.map +1 -0
- package/dist/weight/history.js +771 -0
- package/dist/weight/history.js.map +1 -0
- package/dist/weight/index.d.ts +27 -0
- package/dist/weight/index.d.ts.map +1 -0
- package/dist/weight/index.js +23 -0
- package/dist/weight/index.js.map +1 -0
- package/dist/weight/log.d.ts +40 -0
- package/dist/weight/log.d.ts.map +1 -0
- package/dist/weight/log.js +355 -0
- package/dist/weight/log.js.map +1 -0
- package/dist/weight/logReceipt.d.ts +28 -0
- package/dist/weight/logReceipt.d.ts.map +1 -0
- package/dist/weight/logReceipt.js +259 -0
- package/dist/weight/logReceipt.js.map +1 -0
- package/dist/weight/plate.d.ts +77 -0
- package/dist/weight/plate.d.ts.map +1 -0
- package/dist/weight/plate.js +60 -0
- package/dist/weight/plate.js.map +1 -0
- package/dist/weight/plateDocs.d.ts +83 -0
- package/dist/weight/plateDocs.d.ts.map +1 -0
- package/dist/weight/plateDocs.js +179 -0
- package/dist/weight/plateDocs.js.map +1 -0
- package/dist/weight/receipt.d.ts +23 -0
- package/dist/weight/receipt.d.ts.map +1 -0
- package/dist/weight/receipt.js +178 -0
- package/dist/weight/receipt.js.map +1 -0
- package/dist/weight/records.d.ts +109 -0
- package/dist/weight/records.d.ts.map +1 -0
- package/dist/weight/records.js +210 -0
- package/dist/weight/records.js.map +1 -0
- package/dist/weight/review.d.ts +114 -0
- package/dist/weight/review.d.ts.map +1 -0
- package/dist/weight/review.js +651 -0
- package/dist/weight/review.js.map +1 -0
- package/dist/weight/routes.d.ts +7 -0
- package/dist/weight/routes.d.ts.map +1 -0
- package/dist/weight/routes.js +68 -0
- package/dist/weight/routes.js.map +1 -0
- package/dist/weight/volatility.d.ts +78 -0
- package/dist/weight/volatility.d.ts.map +1 -0
- package/dist/weight/volatility.js +203 -0
- package/dist/weight/volatility.js.map +1 -0
- package/dist/weight/volatilityDoc.d.ts +10 -0
- package/dist/weight/volatilityDoc.d.ts.map +1 -0
- package/dist/weight/volatilityDoc.js +395 -0
- package/dist/weight/volatilityDoc.js.map +1 -0
- package/dist/weight/weightCompare.d.ts +70 -0
- package/dist/weight/weightCompare.d.ts.map +1 -0
- package/dist/weight/weightCompare.js +221 -0
- package/dist/weight/weightCompare.js.map +1 -0
- package/dist/weight/weightCompare2.d.ts +66 -0
- package/dist/weight/weightCompare2.d.ts.map +1 -0
- package/dist/weight/weightCompare2.js +218 -0
- package/dist/weight/weightCompare2.js.map +1 -0
- package/dist/weight/weightCompare3.d.ts +18 -0
- package/dist/weight/weightCompare3.d.ts.map +1 -0
- package/dist/weight/weightCompare3.js +222 -0
- package/dist/weight/weightCompare3.js.map +1 -0
- package/dist/weight/weightUi.d.ts +114 -0
- package/dist/weight/weightUi.d.ts.map +1 -0
- package/dist/weight/weightUi.js +256 -0
- package/dist/weight/weightUi.js.map +1 -0
- package/dist/workout/commands.d.ts +29 -0
- package/dist/workout/commands.d.ts.map +1 -0
- package/dist/workout/commands.js +35 -0
- package/dist/workout/commands.js.map +1 -0
- package/dist/workout/contraindication.d.ts +11 -0
- package/dist/workout/contraindication.d.ts.map +1 -0
- package/dist/workout/contraindication.js +11 -0
- package/dist/workout/contraindication.js.map +1 -0
- package/dist/workout/dayPhrase.d.ts +13 -0
- package/dist/workout/dayPhrase.d.ts.map +1 -0
- package/dist/workout/dayPhrase.js +15 -0
- package/dist/workout/dayPhrase.js.map +1 -0
- package/dist/workout/fieldLabels.d.ts +5 -0
- package/dist/workout/fieldLabels.d.ts.map +1 -0
- package/dist/workout/fieldLabels.js +45 -0
- package/dist/workout/fieldLabels.js.map +1 -0
- package/dist/workout/index.d.ts +30 -0
- package/dist/workout/index.d.ts.map +1 -0
- package/dist/workout/index.js +34 -0
- package/dist/workout/index.js.map +1 -0
- package/dist/workout/land.d.ts +45 -0
- package/dist/workout/land.d.ts.map +1 -0
- package/dist/workout/land.js +280 -0
- package/dist/workout/land.js.map +1 -0
- package/dist/workout/landBatch.d.ts +60 -0
- package/dist/workout/landBatch.d.ts.map +1 -0
- package/dist/workout/landBatch.js +225 -0
- package/dist/workout/landBatch.js.map +1 -0
- package/dist/workout/landBatchPages.d.ts +31 -0
- package/dist/workout/landBatchPages.d.ts.map +1 -0
- package/dist/workout/landBatchPages.js +132 -0
- package/dist/workout/landBatchPages.js.map +1 -0
- package/dist/workout/landPages.d.ts +41 -0
- package/dist/workout/landPages.d.ts.map +1 -0
- package/dist/workout/landPages.js +153 -0
- package/dist/workout/landPages.js.map +1 -0
- package/dist/workout/landRunner.d.ts +42 -0
- package/dist/workout/landRunner.d.ts.map +1 -0
- package/dist/workout/landRunner.js +155 -0
- package/dist/workout/landRunner.js.map +1 -0
- package/dist/workout/movementType.d.ts +14 -0
- package/dist/workout/movementType.d.ts.map +1 -0
- package/dist/workout/movementType.js +16 -0
- package/dist/workout/movementType.js.map +1 -0
- package/dist/workout/plan.d.ts +21 -0
- package/dist/workout/plan.d.ts.map +1 -0
- package/dist/workout/plan.js +44 -0
- package/dist/workout/plan.js.map +1 -0
- package/dist/workout/planStore.d.ts +157 -0
- package/dist/workout/planStore.d.ts.map +1 -0
- package/dist/workout/planStore.js +282 -0
- package/dist/workout/planStore.js.map +1 -0
- package/dist/workout/precheckPrompt.d.ts +7 -0
- package/dist/workout/precheckPrompt.d.ts.map +1 -0
- package/dist/workout/precheckPrompt.js +35 -0
- package/dist/workout/precheckPrompt.js.map +1 -0
- package/dist/workout/progress.d.ts +12 -0
- package/dist/workout/progress.d.ts.map +1 -0
- package/dist/workout/progress.js +16 -0
- package/dist/workout/progress.js.map +1 -0
- package/dist/workout/receipt.d.ts +15 -0
- package/dist/workout/receipt.d.ts.map +1 -0
- package/dist/workout/receipt.js +128 -0
- package/dist/workout/receipt.js.map +1 -0
- package/dist/workout/review.d.ts +12 -0
- package/dist/workout/review.d.ts.map +1 -0
- package/dist/workout/review.js +15 -0
- package/dist/workout/review.js.map +1 -0
- package/dist/workout/routes.d.ts +13 -0
- package/dist/workout/routes.d.ts.map +1 -0
- package/dist/workout/routes.js +49 -0
- package/dist/workout/routes.js.map +1 -0
- package/dist/workout/wizard.d.ts +14 -0
- package/dist/workout/wizard.d.ts.map +1 -0
- package/dist/workout/wizard.js +20 -0
- package/dist/workout/wizard.js.map +1 -0
- package/dist/workout/write.d.ts +78 -0
- package/dist/workout/write.d.ts.map +1 -0
- package/dist/workout/write.js +607 -0
- package/dist/workout/write.js.map +1 -0
- package/dist/workout/xunjiBackfill.d.ts +36 -0
- package/dist/workout/xunjiBackfill.d.ts.map +1 -0
- package/dist/workout/xunjiBackfill.js +198 -0
- package/dist/workout/xunjiBackfill.js.map +1 -0
- package/dist/workout/xunjiPush.d.ts +33 -0
- package/dist/workout/xunjiPush.d.ts.map +1 -0
- package/dist/workout/xunjiPush.js +236 -0
- package/dist/workout/xunjiPush.js.map +1 -0
- package/dist/workout/xunjiRunner.d.ts +29 -0
- package/dist/workout/xunjiRunner.d.ts.map +1 -0
- package/dist/workout/xunjiRunner.js +110 -0
- package/dist/workout/xunjiRunner.js.map +1 -0
- package/dist/xunji/backfill.d.ts +63 -0
- package/dist/xunji/backfill.d.ts.map +1 -0
- package/dist/xunji/backfill.js +150 -0
- package/dist/xunji/backfill.js.map +1 -0
- package/dist/xunji/catalog.d.ts +53 -0
- package/dist/xunji/catalog.d.ts.map +1 -0
- package/dist/xunji/catalog.js +126 -0
- package/dist/xunji/catalog.js.map +1 -0
- package/dist/xunji/cli.d.ts +3 -0
- package/dist/xunji/cli.d.ts.map +1 -0
- package/dist/xunji/cli.js +15 -0
- package/dist/xunji/cli.js.map +1 -0
- package/dist/xunji/exitMap.d.ts +37 -0
- package/dist/xunji/exitMap.d.ts.map +1 -0
- package/dist/xunji/exitMap.js +42 -0
- package/dist/xunji/exitMap.js.map +1 -0
- package/dist/xunji/fetch.d.ts +77 -0
- package/dist/xunji/fetch.d.ts.map +1 -0
- package/dist/xunji/fetch.js +160 -0
- package/dist/xunji/fetch.js.map +1 -0
- package/dist/xunji/index.d.ts +21 -0
- package/dist/xunji/index.d.ts.map +1 -0
- package/dist/xunji/index.js +18 -0
- package/dist/xunji/index.js.map +1 -0
- package/dist/xunji/key.d.ts +77 -0
- package/dist/xunji/key.d.ts.map +1 -0
- package/dist/xunji/key.js +160 -0
- package/dist/xunji/key.js.map +1 -0
- package/dist/xunji/overlay-plan.d.ts +79 -0
- package/dist/xunji/overlay-plan.d.ts.map +1 -0
- package/dist/xunji/overlay-plan.js +145 -0
- package/dist/xunji/overlay-plan.js.map +1 -0
- package/dist/xunji/planSource.d.ts +40 -0
- package/dist/xunji/planSource.d.ts.map +1 -0
- package/dist/xunji/planSource.js +78 -0
- package/dist/xunji/planSource.js.map +1 -0
- package/dist/xunji/push.d.ts +55 -0
- package/dist/xunji/push.d.ts.map +1 -0
- package/dist/xunji/push.js +69 -0
- package/dist/xunji/push.js.map +1 -0
- package/dist/xunji/rateLimit.d.ts +44 -0
- package/dist/xunji/rateLimit.d.ts.map +1 -0
- package/dist/xunji/rateLimit.js +99 -0
- package/dist/xunji/rateLimit.js.map +1 -0
- package/dist/xunji/request.d.ts +48 -0
- package/dist/xunji/request.d.ts.map +1 -0
- package/dist/xunji/request.js +60 -0
- package/dist/xunji/request.js.map +1 -0
- package/dist/xunji/retry.d.ts +50 -0
- package/dist/xunji/retry.d.ts.map +1 -0
- package/dist/xunji/retry.js +106 -0
- package/dist/xunji/retry.js.map +1 -0
- package/dist/xunji/rows.d.ts +32 -0
- package/dist/xunji/rows.d.ts.map +1 -0
- package/dist/xunji/rows.js +74 -0
- package/dist/xunji/rows.js.map +1 -0
- package/dist/xunji/run-sync.d.ts +106 -0
- package/dist/xunji/run-sync.d.ts.map +1 -0
- package/dist/xunji/run-sync.js +223 -0
- package/dist/xunji/run-sync.js.map +1 -0
- package/dist/xunji/run.d.ts +56 -0
- package/dist/xunji/run.d.ts.map +1 -0
- package/dist/xunji/run.js +300 -0
- package/dist/xunji/run.js.map +1 -0
- package/dist/xunji/store.d.ts +31 -0
- package/dist/xunji/store.d.ts.map +1 -0
- package/dist/xunji/store.js +60 -0
- package/dist/xunji/store.js.map +1 -0
- package/dist/xunji/subcommands.d.ts +64 -0
- package/dist/xunji/subcommands.d.ts.map +1 -0
- package/dist/xunji/subcommands.js +203 -0
- package/dist/xunji/subcommands.js.map +1 -0
- package/dist/xunji/upsert.d.ts +61 -0
- package/dist/xunji/upsert.d.ts.map +1 -0
- package/dist/xunji/upsert.js +100 -0
- package/dist/xunji/upsert.js.map +1 -0
- package/package.json +7 -3
- package/src/xunji/data//350/256/255/350/256/260/345/256/230/346/226/271/345/212/250/344/275/234.json +1099 -0
- package/templates/help.html +1 -1
- package/workflows/08-/350/272/253/344/275/223/347/273/206/350/212/202.md +60 -0
- package/workflows/09-/350/272/253/346/235/220/347/205/247/347/211/207.md +98 -0
- package/dist/render/profilePlate.d.ts +0 -17
- package/dist/render/profilePlate.d.ts.map +0 -1
- package/dist/render/profilePlate.js +0 -18
- package/dist/render/profilePlate.js.map +0 -1
package/dist/analysis/trend.js
CHANGED
|
@@ -10,22 +10,38 @@ export function buildTrendData(db, start, end) {
|
|
|
10
10
|
date: day.date,
|
|
11
11
|
weekday: wd,
|
|
12
12
|
type: wd === '周六' || wd === '周日' ? '周末' : '工作日',
|
|
13
|
-
|
|
13
|
+
/* #160 收口:没记录的天**不再** `?? 0` 补成 0 卡(老口径的空白日=0 卡,既在图上落一个
|
|
14
|
+
* 0 点、又被达标统计算成达标)。这里保 null,由消费方各自处理:图跨空连线,达标只数有记录的天。 */
|
|
15
|
+
calorie: day.calories === null || day.calories === undefined ? null : round2(day.calories),
|
|
14
16
|
};
|
|
15
17
|
});
|
|
16
18
|
const n = series.length;
|
|
17
|
-
const total = series.reduce((a, d) => a + d.calorie, 0);
|
|
18
|
-
|
|
19
|
+
const total = series.reduce((a, d) => a + (d.calorie ?? 0), 0);
|
|
20
|
+
/* #497:均值分母=有记录的天(旧口径除以窗口天数 n,把空白日按 0 吃进均值;
|
|
21
|
+
* 7 天窗 5 记录即只除以 5)。窗内无记录时不编数(回 0,不断言 NaN)。 */
|
|
22
|
+
const logged = series.filter((d) => d.calorie !== null);
|
|
23
|
+
const avg = logged.length ? Math.round(total / logged.length) : 0;
|
|
19
24
|
const work = series.filter((d) => d.type === '工作日');
|
|
20
25
|
const rest = series.filter((d) => d.type === '周末');
|
|
21
|
-
|
|
26
|
+
/* #497:组内分母同样只数有记录的天(旧口径除以分组窗口天数);组内无记录回 0。 */
|
|
27
|
+
const mean = (arr) => {
|
|
28
|
+
const vals = arr.filter((d) => d.calorie !== null);
|
|
29
|
+
return vals.length ? vals.reduce((a, d) => a + (d.calorie ?? 0), 0) / vals.length : 0;
|
|
30
|
+
};
|
|
22
31
|
const weekdayAvg = round2(mean(work));
|
|
23
32
|
const weekendAvg = round2(mean(rest));
|
|
24
|
-
|
|
33
|
+
/* #160 收口(本票第一件):达标统计的分母=**有记录的天**——没记录的天既不按 0 卡计入达标、
|
|
34
|
+
* 也不进分母。老口径=`series.filter(d => d.calorie <= target * 1.05)`、分母是窗口天数 n:
|
|
35
|
+
* 7 天窗只记了 5 天却报「7 天达标」,与页上「没记录的那天不按 0 算」当场打架。
|
|
36
|
+
* 无记录(全窗空白)时分子分母同为 0:不编数(除零不返 NaN)。 */
|
|
37
|
+
const loggedCals = series.map((d) => d.calorie).filter((c) => c !== null);
|
|
38
|
+
const compliantDays = loggedCals.filter((c) => c <= target * 1.05).length;
|
|
25
39
|
let startAvg = avg, endAvg = avg, trendValue = 0, trend = 'flat';
|
|
26
40
|
if (n >= 2) {
|
|
27
|
-
|
|
28
|
-
|
|
41
|
+
/* #497:首末值取有记录的第一天/最后一天(旧口径 `series[0] ?? 0` 在窗首空白日读 0,
|
|
42
|
+
* 趋势方向会被一个凭空的 0 带偏)。窗内无记录时沿用 avg(=0,不编数)。 */
|
|
43
|
+
startAvg = logged.length > 0 ? logged[0].calorie : avg;
|
|
44
|
+
endAvg = logged.length > 0 ? logged[logged.length - 1].calorie : avg;
|
|
29
45
|
trendValue = round2(endAvg - startAvg);
|
|
30
46
|
trend = trendValue < -50 ? 'down' : trendValue > 50 ? 'up' : 'flat';
|
|
31
47
|
}
|
|
@@ -34,7 +50,7 @@ export function buildTrendData(db, start, end) {
|
|
|
34
50
|
avg, target, trend, trendValue,
|
|
35
51
|
startAvg: round2(startAvg), endAvg: round2(endAvg),
|
|
36
52
|
weekdayAvg, weekendAvg, weekendDiff: round2(weekendAvg - weekdayAvg),
|
|
37
|
-
complianceRate:
|
|
53
|
+
complianceRate: loggedCals.length ? Math.round((compliantDays / loggedCals.length) * 100) / 100 : 0,
|
|
38
54
|
compliantDays,
|
|
39
55
|
},
|
|
40
56
|
series,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trend.js","sourceRoot":"","sources":["../../src/analysis/trend.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"trend.js","sourceRoot":"","sources":["../../src/analysis/trend.ts"],"names":[],"mappings":"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"}
|
package/dist/analysis/utils.d.ts
CHANGED
|
@@ -7,16 +7,65 @@
|
|
|
7
7
|
*/
|
|
8
8
|
/** #120 · 软删过滤谓词(唯一来源):`exercise_log` 软删行(`is_deleted=1`)不计入任何用户可见统计。
|
|
9
9
|
*
|
|
10
|
-
* 与 fetch 层 `listWindow`(`
|
|
10
|
+
* 与 fetch 层 `listWindow`(`exercise/exerciseStore.ts:280`)同口径;analysis 层 11 处查询统一内联,
|
|
11
11
|
* 避免出现 `is_deleted = 0` 这类漏 NULL 的写法(历史行该列可为 NULL)。
|
|
12
12
|
* 口径依据:`docs/research/t120-softdelete-filter.md`(编排者裁定方向 1)。
|
|
13
13
|
*/
|
|
14
14
|
export declare const EX_ALIVE = "COALESCE(is_deleted, 0) = 0";
|
|
15
|
+
/** #126 · 体脂/围度存活谓词(唯一来源):`body_composition`/`body_measurements`
|
|
16
|
+
* 软删行(`is_deprecated=1`)不计入任何用户可见统计。
|
|
17
|
+
*
|
|
18
|
+
* 与 #120 的 `EX_ALIVE` 同构:两表 `is_deprecated` 列可空(历史行可为 NULL),
|
|
19
|
+
* 故用 `COALESCE` 而非 `is_deprecated = 0`(后者会静默排除 NULL 活行)。
|
|
20
|
+
* 与 `nutrition_products` 口径对齐:该列 `NOT NULL`,`= 0` ≡ `COALESCE(...) = 0`。
|
|
21
|
+
* analysis 层(`series.ts`/`cross.ts`)统一内联本谓词;fetch 层
|
|
22
|
+
* (`fetch/body.ts`)内联同字面(fetch 不反向依赖 analysis,沿 `exercise/exerciseStore.ts`
|
|
23
|
+
* `listWindow` 的内联惯例)。口径依据:`docs/research/t126-deprecated-null.md`。
|
|
24
|
+
*/
|
|
25
|
+
export declare const BODY_ALIVE = "COALESCE(is_deprecated, 0) = 0";
|
|
15
26
|
export declare const TDEE_ACTIVITY_FACTORS: Record<string, number>;
|
|
16
27
|
export declare const ACTIVITY_LEVEL_LABELS: Record<string, string>;
|
|
28
|
+
/** #238 · 性别中文说法(唯一来源):界面自己写「性别(男/女)」,出页就不该回 `male`/`female`。
|
|
29
|
+
* **只认库内两条归一值**;认不出的原样露出,不猜(写库那侧的归一正本是 `fetch/profile.normalizeGender`,
|
|
30
|
+
* 本表只负责把它翻成人话)。页面层「男的显示值」同 `ACTIVITY_LEVEL_LABELS` 一样只此一处。 */
|
|
31
|
+
export declare const GENDER_LABELS: Record<string, string>;
|
|
17
32
|
export declare function getActivityFactor(level?: string | null): number;
|
|
18
33
|
/** Mifflin-St Jeor BMR × 系数(运动消耗另计,不在此)。缺体型回 1800。 */
|
|
19
34
|
export declare function calcTdee(weightKg: number | null | undefined, heightCm: number | null | undefined, age: number | null | undefined, gender?: string, activityLevel?: string | null): number;
|
|
35
|
+
/** #177 · 「档案 + 最近体重」的能耗度量入参:四要素 + 活动量档位。
|
|
36
|
+
* 三处数值收 `string | number`(写前页的草稿来自表单,本身就是字符串),本函数自己归一。 */
|
|
37
|
+
export interface EnergyParts {
|
|
38
|
+
weightKg: number | string | null | undefined;
|
|
39
|
+
heightCm: number | string | null | undefined;
|
|
40
|
+
age: number | string | null | undefined;
|
|
41
|
+
/** 原始性别(`male`/`female`/`男`/`女`;认不出即视为缺)。 */
|
|
42
|
+
gender: string | number | null | undefined;
|
|
43
|
+
activityLevel?: string | null;
|
|
44
|
+
}
|
|
45
|
+
/** #177 · 能耗度量:数字只在四要素齐备时出现,缺项照实写在 `missing` 里。 */
|
|
46
|
+
export interface EnergyResult {
|
|
47
|
+
/** Mifflin-St Jeor 基础代谢(卡/天,四舍五入);四要素缺一即 null。 */
|
|
48
|
+
bmr: number | null;
|
|
49
|
+
/** TDEE = BMR × 活动系数(卡/天);BMR 缺、或缺活动量即 null。 */
|
|
50
|
+
tdee: number | null;
|
|
51
|
+
/** 本档活动系数(`TDEE_ACTIVITY_FACTORS` 正本);档位缺或认不出即 null。 */
|
|
52
|
+
factor: number | null;
|
|
53
|
+
/** 缺哪几项,按「身高/年龄/性别/体重/活动量」顺序。 */
|
|
54
|
+
missing: string[];
|
|
55
|
+
}
|
|
56
|
+
/** #177 · BMR/TDEE 的唯一判据:四要素(体重/身高/年龄/性别)缺一即不出数字。
|
|
57
|
+
*
|
|
58
|
+
* 老件 `scripts/render_crud_view.py:60-70` 缺项时回落 30 岁/175 cm/70 kg/male 再算——那正是
|
|
59
|
+
* #176 裁定要禁的「凭空一个数」;本函数把这条口径收成一处:写前页的活动量五档、写后回执的推荐活动量、
|
|
60
|
+
* 看档案结果页同走它(改这条口径只改这里)。
|
|
61
|
+
* BMR 本身不取整参与 TDEE(`Math.round(原始 bmr × 系数)`),显示的那个 BMR 是取整后的视图——
|
|
62
|
+
* 与 `calcTdee` 逐值一致(`calcTdee` 是老家口径的回落版本,仍由 `analysis/series.ts:88` 用着)。 */
|
|
63
|
+
export declare function energyOf(parts: EnergyParts): EnergyResult;
|
|
64
|
+
/** 「今天」的**唯一出处**(本地口径:UTC 日,与 T3/T4 同口径)。
|
|
65
|
+
*
|
|
66
|
+
* #250 · `CALORIE_TODAY`(YYYY-MM-DD)可把「今天」钉到某一天:相对窗口(今日/本周/最近 N 天…)都由它派生,
|
|
67
|
+
* 演示、实跑快照与测试用它把窗口对到种子库的数据日;真实使用**不设**该变量,即按机器时钟。
|
|
68
|
+
* 显式锚点(命令参数 `today`)优先于它,仍由各命令自行传入 `resolveWindow`。 */
|
|
20
69
|
export declare function todayISO(): string;
|
|
21
70
|
export declare function shiftISODate(iso: string, deltaDays: number): string;
|
|
22
71
|
/** YYYYMMDD → YYYY-MM-DD;其他原样(老家 _parse_date 同义)。 */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/analysis/utils.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,gCAAgC,CAAC;AAEtD,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAMxD,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAMxD,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAG/D;AAED,sDAAsD;AACtD,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,MAAM,GAAE,MAAe,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAIjM;AAED,wBAAgB,QAAQ,IAAI,MAAM,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/analysis/utils.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,gCAAgC,CAAC;AAEtD;;;;;;;;;GASG;AACH,eAAO,MAAM,UAAU,mCAAmC,CAAC;AAE3D,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAMxD,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAMxD,CAAC;AAEF;;+DAE+D;AAC/D,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAGhD,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAG/D;AAED,sDAAsD;AACtD,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,MAAM,GAAE,MAAe,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAIjM;AAED;2DAC2D;AAC3D,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC7C,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC7C,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACxC,6CAA6C;IAC7C,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC3C,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED,mDAAmD;AACnD,MAAM,WAAW,YAAY;IAC3B,kDAAkD;IAClD,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,gDAAgD;IAChD,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,wDAAwD;IACxD,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,iCAAiC;IACjC,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAYD;;;;;;8EAM8E;AAC9E,wBAAgB,QAAQ,CAAC,KAAK,EAAE,WAAW,GAAG,YAAY,CAuBzD;AAED;;;;wDAIwD;AACxD,wBAAgB,QAAQ,IAAI,MAAM,CAIjC;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAInE;AAED,qDAAqD;AACrD,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAKrE"}
|
package/dist/analysis/utils.js
CHANGED
|
@@ -7,11 +7,22 @@
|
|
|
7
7
|
*/
|
|
8
8
|
/** #120 · 软删过滤谓词(唯一来源):`exercise_log` 软删行(`is_deleted=1`)不计入任何用户可见统计。
|
|
9
9
|
*
|
|
10
|
-
* 与 fetch 层 `listWindow`(`
|
|
10
|
+
* 与 fetch 层 `listWindow`(`exercise/exerciseStore.ts:280`)同口径;analysis 层 11 处查询统一内联,
|
|
11
11
|
* 避免出现 `is_deleted = 0` 这类漏 NULL 的写法(历史行该列可为 NULL)。
|
|
12
12
|
* 口径依据:`docs/research/t120-softdelete-filter.md`(编排者裁定方向 1)。
|
|
13
13
|
*/
|
|
14
14
|
export const EX_ALIVE = 'COALESCE(is_deleted, 0) = 0';
|
|
15
|
+
/** #126 · 体脂/围度存活谓词(唯一来源):`body_composition`/`body_measurements`
|
|
16
|
+
* 软删行(`is_deprecated=1`)不计入任何用户可见统计。
|
|
17
|
+
*
|
|
18
|
+
* 与 #120 的 `EX_ALIVE` 同构:两表 `is_deprecated` 列可空(历史行可为 NULL),
|
|
19
|
+
* 故用 `COALESCE` 而非 `is_deprecated = 0`(后者会静默排除 NULL 活行)。
|
|
20
|
+
* 与 `nutrition_products` 口径对齐:该列 `NOT NULL`,`= 0` ≡ `COALESCE(...) = 0`。
|
|
21
|
+
* analysis 层(`series.ts`/`cross.ts`)统一内联本谓词;fetch 层
|
|
22
|
+
* (`fetch/body.ts`)内联同字面(fetch 不反向依赖 analysis,沿 `exercise/exerciseStore.ts`
|
|
23
|
+
* `listWindow` 的内联惯例)。口径依据:`docs/research/t126-deprecated-null.md`。
|
|
24
|
+
*/
|
|
25
|
+
export const BODY_ALIVE = 'COALESCE(is_deprecated, 0) = 0';
|
|
15
26
|
export const TDEE_ACTIVITY_FACTORS = {
|
|
16
27
|
sedentary: 1.2,
|
|
17
28
|
light: 1.375,
|
|
@@ -26,6 +37,13 @@ export const ACTIVITY_LEVEL_LABELS = {
|
|
|
26
37
|
active: '活跃',
|
|
27
38
|
very_active: '高度活跃',
|
|
28
39
|
};
|
|
40
|
+
/** #238 · 性别中文说法(唯一来源):界面自己写「性别(男/女)」,出页就不该回 `male`/`female`。
|
|
41
|
+
* **只认库内两条归一值**;认不出的原样露出,不猜(写库那侧的归一正本是 `fetch/profile.normalizeGender`,
|
|
42
|
+
* 本表只负责把它翻成人话)。页面层「男的显示值」同 `ACTIVITY_LEVEL_LABELS` 一样只此一处。 */
|
|
43
|
+
export const GENDER_LABELS = {
|
|
44
|
+
male: '男',
|
|
45
|
+
female: '女',
|
|
46
|
+
};
|
|
29
47
|
export function getActivityFactor(level) {
|
|
30
48
|
if (!level)
|
|
31
49
|
return TDEE_ACTIVITY_FACTORS.moderate;
|
|
@@ -38,7 +56,61 @@ export function calcTdee(weightKg, heightCm, age, gender = 'male', activityLevel
|
|
|
38
56
|
const bmr = 10 * weightKg + 6.25 * heightCm - 5 * (age ?? 30) + (gender === 'male' ? 5 : -161);
|
|
39
57
|
return Math.round(bmr * getActivityFactor(activityLevel ?? 'moderate'));
|
|
40
58
|
}
|
|
59
|
+
/** 性别归一(只认四写法):认不出回 null——**宁可不给 TDEE 数字,也不拿另一半的公式算一个出来**。
|
|
60
|
+
* 写库那侧的归一正本是 `fetch/profile.normalizeGender`(认不出即抛);这里要的是**宽容判定**
|
|
61
|
+
* (认不出=缺项),故两处契约不同,不合并。 */
|
|
62
|
+
function genderOrNull(raw) {
|
|
63
|
+
const s = String(raw ?? '').trim();
|
|
64
|
+
if (s === 'male' || s === '男')
|
|
65
|
+
return 'male';
|
|
66
|
+
if (s === 'female' || s === '女')
|
|
67
|
+
return 'female';
|
|
68
|
+
return null;
|
|
69
|
+
}
|
|
70
|
+
/** #177 · BMR/TDEE 的唯一判据:四要素(体重/身高/年龄/性别)缺一即不出数字。
|
|
71
|
+
*
|
|
72
|
+
* 老件 `scripts/render_crud_view.py:60-70` 缺项时回落 30 岁/175 cm/70 kg/male 再算——那正是
|
|
73
|
+
* #176 裁定要禁的「凭空一个数」;本函数把这条口径收成一处:写前页的活动量五档、写后回执的推荐活动量、
|
|
74
|
+
* 看档案结果页同走它(改这条口径只改这里)。
|
|
75
|
+
* BMR 本身不取整参与 TDEE(`Math.round(原始 bmr × 系数)`),显示的那个 BMR 是取整后的视图——
|
|
76
|
+
* 与 `calcTdee` 逐值一致(`calcTdee` 是老家口径的回落版本,仍由 `analysis/series.ts:88` 用着)。 */
|
|
77
|
+
export function energyOf(parts) {
|
|
78
|
+
const bodyMissing = [];
|
|
79
|
+
const heightCm = Number(parts.heightCm);
|
|
80
|
+
const age = Number(parts.age);
|
|
81
|
+
const gender = genderOrNull(parts.gender);
|
|
82
|
+
const weightKg = parts.weightKg === null || parts.weightKg === undefined ? null : Number(parts.weightKg);
|
|
83
|
+
const level = parts.activityLevel === null || parts.activityLevel === undefined ? '' : String(parts.activityLevel).trim();
|
|
84
|
+
const factor = level === '' ? null : (TDEE_ACTIVITY_FACTORS[level.toLowerCase()] ?? null);
|
|
85
|
+
if (!(heightCm > 0))
|
|
86
|
+
bodyMissing.push('身高');
|
|
87
|
+
if (!(age > 0))
|
|
88
|
+
bodyMissing.push('年龄');
|
|
89
|
+
if (gender === null)
|
|
90
|
+
bodyMissing.push('性别');
|
|
91
|
+
if (weightKg === null || !(weightKg > 0))
|
|
92
|
+
bodyMissing.push('体重');
|
|
93
|
+
// BMR 只要四要素(活动量是 TDEE 才要的那一项)——缺活动量不影响 BMR 出数字。
|
|
94
|
+
const rawBmr = bodyMissing.length === 0
|
|
95
|
+
? 10 * weightKg + 6.25 * heightCm - 5 * age + (gender === 'male' ? 5 : -161)
|
|
96
|
+
: null;
|
|
97
|
+
const missing = factor === null ? [...bodyMissing, '活动量'] : bodyMissing;
|
|
98
|
+
return {
|
|
99
|
+
bmr: rawBmr === null ? null : Math.round(rawBmr),
|
|
100
|
+
tdee: rawBmr === null || factor === null ? null : Math.round(rawBmr * factor),
|
|
101
|
+
factor,
|
|
102
|
+
missing,
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
/** 「今天」的**唯一出处**(本地口径:UTC 日,与 T3/T4 同口径)。
|
|
106
|
+
*
|
|
107
|
+
* #250 · `CALORIE_TODAY`(YYYY-MM-DD)可把「今天」钉到某一天:相对窗口(今日/本周/最近 N 天…)都由它派生,
|
|
108
|
+
* 演示、实跑快照与测试用它把窗口对到种子库的数据日;真实使用**不设**该变量,即按机器时钟。
|
|
109
|
+
* 显式锚点(命令参数 `today`)优先于它,仍由各命令自行传入 `resolveWindow`。 */
|
|
41
110
|
export function todayISO() {
|
|
111
|
+
const pin = process.env['CALORIE_TODAY'];
|
|
112
|
+
if (pin !== undefined && /^\d{4}-\d{2}-\d{2}$/.test(pin))
|
|
113
|
+
return pin;
|
|
42
114
|
return new Date().toISOString().slice(0, 10);
|
|
43
115
|
}
|
|
44
116
|
export function shiftISODate(iso, deltaDays) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/analysis/utils.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,6BAA6B,CAAC;AAEtD,MAAM,CAAC,MAAM,qBAAqB,GAA2B;IAC3D,SAAS,EAAE,GAAG;IACd,KAAK,EAAE,KAAK;IACZ,QAAQ,EAAE,IAAI;IACd,MAAM,EAAE,KAAK;IACb,WAAW,EAAE,GAAG;CACjB,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAA2B;IAC3D,SAAS,EAAE,IAAI;IACf,KAAK,EAAE,MAAM;IACb,QAAQ,EAAE,MAAM;IAChB,MAAM,EAAE,IAAI;IACZ,WAAW,EAAE,MAAM;CACpB,CAAC;AAEF,MAAM,UAAU,iBAAiB,CAAC,KAAqB;IACrD,IAAI,CAAC,KAAK;QAAE,OAAO,qBAAqB,CAAC,QAAkB,CAAC;IAC5D,OAAO,qBAAqB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,IAAK,qBAAqB,CAAC,QAAmB,CAAC;AAC1G,CAAC;AAED,sDAAsD;AACtD,MAAM,UAAU,QAAQ,CAAC,QAAmC,EAAE,QAAmC,EAAE,GAA8B,EAAE,SAAiB,MAAM,EAAE,aAA6B;IACvL,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IACxC,MAAM,GAAG,GAAG,EAAE,GAAG,QAAQ,GAAG,IAAI,GAAG,QAAQ,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC/F,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,iBAAiB,CAAC,aAAa,IAAI,UAAU,CAAC,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,QAAQ;IACtB,OAAO,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,GAAW,EAAE,SAAiB;IACzD,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,YAAY,CAAC,CAAC;IACzC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,GAAG,GAAG,CAAC,CAAC;IAC/D,OAAO,IAAI,IAAI,CAAC,CAAC,GAAG,SAAS,GAAG,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACvE,CAAC;AAED,qDAAqD;AACrD,MAAM,UAAU,SAAS,CAAC,CAA4B;IACpD,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAC/C,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3B,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACxF,OAAO,CAAC,CAAC;AACX,CAAC"}
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/analysis/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { BodyCompositionView, BodyMeasureView } from './bodyPlate.js';
|
|
2
|
+
export declare function buildBodyCompositionDoc(v: BodyCompositionView): string;
|
|
3
|
+
export declare function buildBodyMeasureDoc(v: BodyMeasureView): string;
|
|
4
|
+
//# sourceMappingURL=bodyDocs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bodyDocs.d.ts","sourceRoot":"","sources":["../../src/body/bodyDocs.ts"],"names":[],"mappings":"AAsCA,OAAO,KAAK,EACV,mBAAmB,EACnB,eAAe,EAChB,MAAM,gBAAgB,CAAC;AA8BxB,wBAAgB,uBAAuB,CAAC,CAAC,EAAE,mBAAmB,GAAG,MAAM,CAgJtE;AAID,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,eAAe,GAAG,MAAM,CAsG9D"}
|
|
@@ -0,0 +1,284 @@
|
|
|
1
|
+
import { renderCaliberLine, renderChartBlock, renderDataTable, renderEmptyBlock, renderKpiGrid, renderListRows, renderTocBlock, } from 'base-paint/blocks';
|
|
2
|
+
// `base-paint` 的子路径只导出 `.`/`./blocks`/`./help-shell`/`./save-html`;
|
|
3
|
+
// 页面级形状(事实条/图片容器/时间轴条)走索引进(`base-render/src/index.ts` 转出 `pageShapes.ts`)。
|
|
4
|
+
import { renderFactStrip } from 'base-paint';
|
|
5
|
+
import { MEASUREMENT_ZH } from '../fetch/body.js';
|
|
6
|
+
import { SOURCE_LABELS } from '../kcal.js';
|
|
7
|
+
import { assembleDocPage } from '../shared/docPage.js';
|
|
8
|
+
import { dataCopyArea } from '../shared/copyArea.js';
|
|
9
|
+
import { bodyReadUiCss, caliperSection, measureFullTable, measureUiCss, recordsSection, scrollHint, windowBar } from './bodyReadUi.js';
|
|
10
|
+
import { compositionWindowLabel } from './bodyPlate.js';
|
|
11
|
+
/** envelope 头(值冻结对齐 cli/keys.ts ENVELOPE_VERSION/CALORIE_SKILL;测试钉死一致)。 */
|
|
12
|
+
const DOC_VERSION = '0.1.0';
|
|
13
|
+
const DOC_SKILL = 'calorie';
|
|
14
|
+
/** 读侧四页的 `<title>`(编排者 2026-09-15 裁定:空格分隔、不带任何符号,同场景 09 交付页先例)。
|
|
15
|
+
* 四页同值:页与页的区分靠页内主标题(`title`),不靠页签。 */
|
|
16
|
+
const DOC_TITLE = '卡路里 身体细节';
|
|
17
|
+
/** 页头眉标:读者看得懂的分区名(HELP 一级分组名),不再印 `calorie.view.*` 命令键。 */
|
|
18
|
+
const DOC_EYEBROW = '身体细节';
|
|
19
|
+
/* ── 体成分(body_composition_view.html 对照:锚点大数字+来源面+趋势+记录表+复制) ── */
|
|
20
|
+
/** 序 5(老正本 `:141`):`source=all` 时必出的「来源不可直接对比」提示句——只提示,不拦截。
|
|
21
|
+
* `#362` 判据按「来源不可直接对比」六字认这一句,措辞可调、这六个字不动。 */
|
|
22
|
+
const SOURCE_TIP = '来源不可直接对比:皮褶钳(家测)与健身房 InBody/医院设备口径不同,趋势请在单一来源内看。';
|
|
23
|
+
/** 来源中文名:唯一定义地是 `kcal.ts` 的 `SOURCE_LABELS`(老正本 `:332`/`:366` 同口径),本层不自持名表。 */
|
|
24
|
+
function srcZh(source) {
|
|
25
|
+
return source === null ? '' : (SOURCE_LABELS[source] ?? source);
|
|
26
|
+
}
|
|
27
|
+
/** 图的点(`renderChartBlock` 的 `value` 只许 number):非有限值不画也不计 ⇒ 读数卡「趋势点」与图**同源**。 */
|
|
28
|
+
function chartPoints(points) {
|
|
29
|
+
return points.filter((p) => typeof p.avgPct === 'number' && Number.isFinite(p.avgPct))
|
|
30
|
+
.map((p) => ({ label: p.date.slice(5), value: p.avgPct }));
|
|
31
|
+
}
|
|
32
|
+
export function buildBodyCompositionDoc(v) {
|
|
33
|
+
/** 窗口口径句(页面可见文本的唯一定义地,`#362` 判据认这一句):**只在窗口条里出一次**——
|
|
34
|
+
* 改前它在读数卡明细/表题/图题里各说一遍。 */
|
|
35
|
+
const win = compositionWindowLabel(v.window);
|
|
36
|
+
/** 走势视角=窗口按天数点名(唤醒词「看体脂趋势」);记录视角=全部历史或自定区间。
|
|
37
|
+
* 两页共用同一个构建函数,靠窗口种类换主次:走势页先图后表,记录页先表后图。 */
|
|
38
|
+
const byTrend = v.window.kind === 'days';
|
|
39
|
+
const grouped = v.sourceCount > 0;
|
|
40
|
+
const d = v.delta;
|
|
41
|
+
const single = chartPoints(v.trend);
|
|
42
|
+
const groups = v.sourceSeries.map((s) => ({ source: s.source, latest: s.latestDate, points: chartPoints(s.points) }));
|
|
43
|
+
// 读数卡「趋势点」=图上真正画出来的点数(分组态=各来源点数之和)⇒ 不可能出现「有图 + 趋势点 0 个」。
|
|
44
|
+
const trendDays = grouped ? groups.reduce((n, g) => n + g.points.length, 0) : single.length;
|
|
45
|
+
/* ── 读数卡:值槽一律放数(来源名只当明细或徽标)── */
|
|
46
|
+
const anchor = v.anchor;
|
|
47
|
+
const anchorDetail = anchor === null ? undefined
|
|
48
|
+
: anchor.date + (anchor.source === null ? '' : '(' + srcZh(anchor.source) + ')');
|
|
49
|
+
// Δ 卡:原先是「距上次测量 1 天(…)· 体脂率 下降 0.5%」这一条 `·` 串——拆成人话一句;
|
|
50
|
+
// 卡片槽吃纯文本(形状落不进来),上一次的来源因此另出一条卡外事实条(见下面 renderFactStrip)。
|
|
51
|
+
const dirWord = d === null || d.diffPct === 0 ? '' : (d.diffPct > 0 ? '上升' : '下降');
|
|
52
|
+
const deltaCard = {
|
|
53
|
+
label: '距上次 Δ',
|
|
54
|
+
value: d === null ? '—' : (d.diffPct > 0 ? '+' : '') + d.diffPct + '%',
|
|
55
|
+
detail: d === null
|
|
56
|
+
? '首条记录,暂无对比基线'
|
|
57
|
+
: '距上次测量 ' + d.gapDays + ' 天(' + d.prevDate + '),这次' + (dirWord === '' ? '持平' : dirWord),
|
|
58
|
+
};
|
|
59
|
+
const cards = [
|
|
60
|
+
// 序 9(老正本 `:155` 锚点区):首屏读数=**最新一条**(`anchor`),不是窗口均值;徽标「最新」照老 `:333`。
|
|
61
|
+
{
|
|
62
|
+
label: '最新体脂',
|
|
63
|
+
value: anchor === null || anchor.pct === null ? '—' : String(anchor.pct) + '%',
|
|
64
|
+
...(anchorDetail === undefined ? {} : { detail: anchorDetail }),
|
|
65
|
+
status: 'ok',
|
|
66
|
+
statusText: '最新',
|
|
67
|
+
},
|
|
68
|
+
deltaCard,
|
|
69
|
+
{ label: '趋势点', value: String(trendDays), unit: '个', detail: '图上画出来的点,一个点是一次测量那天的读数' },
|
|
70
|
+
];
|
|
71
|
+
if (grouped)
|
|
72
|
+
cards.push({ label: '来源分组', value: String(v.sourceCount), unit: '组', detail: '每个来源各成一条线,不混着算' });
|
|
73
|
+
const parts = [bodyReadUiCss(), windowBar(win), renderKpiGrid(cards)];
|
|
74
|
+
if (d !== null && d.prevSource !== null && d.prevSource !== (anchor?.source ?? null)) {
|
|
75
|
+
parts.push(renderFactStrip({ items: [{ label: '上次测量来自', value: srcZh(d.prevSource) }] }));
|
|
76
|
+
}
|
|
77
|
+
if (grouped)
|
|
78
|
+
parts.push(renderListRows({ items: [{ main: SOURCE_TIP }] }));
|
|
79
|
+
/* ── 走势块:分组态逐来源一图(裁定 5:不合并成一条混源线)── */
|
|
80
|
+
const trendParts = [];
|
|
81
|
+
let charts = false;
|
|
82
|
+
if (grouped) {
|
|
83
|
+
for (const g of groups) {
|
|
84
|
+
if (g.points.length === 0)
|
|
85
|
+
continue;
|
|
86
|
+
// 分组图题自报窗口:`#362` 判据逐张图认这句话(**分组态独有**;缺省单源路径上不再重复窗口)。
|
|
87
|
+
trendParts.push(renderChartBlock({
|
|
88
|
+
kind: 'line',
|
|
89
|
+
title: srcZh(g.source) + '的体脂趋势(窗口:' + win + ')',
|
|
90
|
+
input: { items: g.points },
|
|
91
|
+
}));
|
|
92
|
+
charts = true;
|
|
93
|
+
}
|
|
94
|
+
trendParts.push(renderDataTable({
|
|
95
|
+
columns: [
|
|
96
|
+
{ key: 'source', label: '来源' },
|
|
97
|
+
{ key: 'points', label: '走势点', align: 'right' },
|
|
98
|
+
{ key: 'latest', label: '最新一天' },
|
|
99
|
+
],
|
|
100
|
+
rows: groups.map((g) => ({ source: srcZh(g.source), points: g.points.length, latest: g.latest })),
|
|
101
|
+
caption: '来源分组(' + v.sourceCount + ' 组,各自成线)',
|
|
102
|
+
emptyText: '这个窗口里没有可分开的来源',
|
|
103
|
+
}));
|
|
104
|
+
}
|
|
105
|
+
else if (single.length > 0) {
|
|
106
|
+
trendParts.push(renderChartBlock({ kind: 'line', title: '体脂趋势', input: { items: single } }));
|
|
107
|
+
charts = true;
|
|
108
|
+
}
|
|
109
|
+
if (!charts) {
|
|
110
|
+
trendParts.push(renderEmptyBlock({ title: '体脂趋势', text: '这个窗口里还没有能连成走势的读数。' }));
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
113
|
+
// 图没有纵轴刻度(共享图表件不给刻度文本)⇒ 量级由卡外事实条给(最低/最高取自图上同一批点)。
|
|
114
|
+
const plotted = (grouped ? groups.flatMap((g) => g.points) : single).map((p) => p.value);
|
|
115
|
+
trendParts.push(renderFactStrip({ items: [
|
|
116
|
+
{ label: '窗口内最低', value: Math.min(...plotted) + '%' },
|
|
117
|
+
{ label: '窗口内最高', value: Math.max(...plotted) + '%' },
|
|
118
|
+
] }));
|
|
119
|
+
}
|
|
120
|
+
// 图上每个点是什么、以及这条走势用的是窗口内哪一批记录(本页第二处、也是最后一处「共 N 条」读数:
|
|
121
|
+
// 另一处在记录表题里;改前这两处还外加窗口条上一枚同样的胶囊,编排者已按「同数留一处」删掉)。
|
|
122
|
+
trendParts.push(renderCaliberLine('图上每个点是一次测量那天的读数|窗口内共 ' + v.windowTotal + ' 条记录'));
|
|
123
|
+
/* ── 记录清单:表题报本页行数(`#362` 判据按「共 N 条」认读数,窗口那件事不在这句里重复)── */
|
|
124
|
+
// #464 · 裁定 2 · 可见文本:缺值一律「—」(老正本 `body_composition_view.html:211`
|
|
125
|
+
// `esc(s){return String(s==null?'—':s)}`:`null` 写「—」;`:366` 行正是 `esc(r.note)`,
|
|
126
|
+
// 故老页对 `null` 同样写「—」,「留空归因 :366」是误记);「空」只来自空串值
|
|
127
|
+
// (写侧统一 `input.note ?? ''`,见 `fetch/body.ts:289`),而非模板选择;
|
|
128
|
+
// 复制 payload(下 `items`)保留原始空值,两套口径不互染。
|
|
129
|
+
const rows = v.items.map((r) => {
|
|
130
|
+
const x = r;
|
|
131
|
+
return {
|
|
132
|
+
date: typeof x.date === 'string' ? x.date : '—',
|
|
133
|
+
pct: typeof x.body_fat_pct === 'number' ? String(x.body_fat_pct) + '%' : '—',
|
|
134
|
+
source: typeof x.source === 'string' ? srcZh(x.source) : '—',
|
|
135
|
+
note: typeof x.note === 'string' ? x.note : '—',
|
|
136
|
+
};
|
|
137
|
+
});
|
|
138
|
+
const truncated = v.windowTotal > v.total;
|
|
139
|
+
// `limit` 只截显示:窗口内还有多少条**写在表题里**(不静默截断)。
|
|
140
|
+
const recordsBlock = recordsSection(rows, '体成分记录(共 ' + v.total + ' 条'
|
|
141
|
+
+ (truncated ? ',本页只列最近 ' + v.total + ' 条,窗口内另有 ' + (v.windowTotal - v.total) + ' 条未列' : '')
|
|
142
|
+
+ ')', '还没有体脂记录。用「记体脂(皮褶钳)」或别处量到的数记一条,第一条就是基线。');
|
|
143
|
+
/* ── #359 · 7 点皮褶回显:最近一条有皮褶数据的记录,7 个槽位逐点成行(部位 ↔ 值 一一对上,不看合计)。
|
|
144
|
+
值取库内原始 mm(`bodyPlate` 已备齐),本层不换算、不四舍五入;缺槽位如实写「—」。
|
|
145
|
+
#535:日期与单位原先逐行各印一遍(7 行同一天),收进表题一处;列从 3 列收成 2 列。 ── */
|
|
146
|
+
const echo = v.calipers;
|
|
147
|
+
const caliperBlock = echo === null ? '' : caliperSection(echo.date, echo.sites);
|
|
148
|
+
/** 页内定位(长页):锚点吃 `pageUi` 给的 `scroll-margin-top: 20px`;顺序跟着主次走。 */
|
|
149
|
+
const toc = byTrend
|
|
150
|
+
? [{ id: 'trend', text: '体脂走势' }, { id: 'records', text: '记录清单' }]
|
|
151
|
+
: [{ id: 'records', text: '记录清单' }, { id: 'trend', text: '体脂走势' }];
|
|
152
|
+
if (caliperBlock !== '')
|
|
153
|
+
toc.push({ id: 'calipers', text: '七点皮褶' });
|
|
154
|
+
parts.push(renderTocBlock({ items: toc }));
|
|
155
|
+
const trendSection = '<section id="trend">' + trendParts.join('') + '</section>';
|
|
156
|
+
parts.push(...(byTrend ? [trendSection, recordsBlock] : [recordsBlock, trendSection]));
|
|
157
|
+
parts.push(caliperBlock);
|
|
158
|
+
parts.push(dataCopyArea('复制数据', {
|
|
159
|
+
envelope: {
|
|
160
|
+
version: DOC_VERSION, skill: DOC_SKILL, shape: 'list', key: 'calorie.view.body-composition',
|
|
161
|
+
// 裁定 2 · 复制数据=**库内原始行原样透传**(含 7 个皮褶槽与 `null`),不写「—」、不四舍五入、不换名词。
|
|
162
|
+
data: { items: v.items.map((r) => ({ ...r })), total: v.total },
|
|
163
|
+
},
|
|
164
|
+
}));
|
|
165
|
+
return assembleDocPage({
|
|
166
|
+
docTitle: DOC_TITLE,
|
|
167
|
+
title: byTrend ? '体脂趋势' : '体脂记录',
|
|
168
|
+
eyebrow: DOC_EYEBROW,
|
|
169
|
+
subtitle: byTrend
|
|
170
|
+
? '体脂率随时间的走势,一个点是一次测量。'
|
|
171
|
+
: '每次测到的体脂率按日期倒序列出,最新一条在最上面。',
|
|
172
|
+
content: parts.join(''),
|
|
173
|
+
charts,
|
|
174
|
+
pageUi: true,
|
|
175
|
+
});
|
|
176
|
+
}
|
|
177
|
+
/* ── 围度(body_measurements_view.html 对照:项目筛选+趋势+记录表+复制,13 项) ── */
|
|
178
|
+
export function buildBodyMeasureDoc(v) {
|
|
179
|
+
// #360 · 趋势部位:带部位用所传部位,不带部位用自动挑的最近有数据部位(`autoMetric`);
|
|
180
|
+
// #361 · 全量表分支(`metric` 为空):未过滤列表印全量 13 项(宽表+窄屏卡同源,形状住 `bodyReadUi`)。
|
|
181
|
+
const trendMetric = v.metric ?? v.autoMetric;
|
|
182
|
+
const trendZh = trendMetric ? (MEASUREMENT_ZH[trendMetric] ?? trendMetric) : '';
|
|
183
|
+
/** #534 波次裁定的两位(编排者已把 `windowLabel` 补进取数层):`windowGiven` 为真=唤醒词
|
|
184
|
+
* 「看围度趋势」显式点了窗口 ⇒ 这一页以走势为主(走势在前、记录在后);为假=「看围度」走的
|
|
185
|
+
* 缺省窗口 ⇒ 以全量记录为主(记录在前、走势在后)。页名与副标题跟着这一位走。 */
|
|
186
|
+
const byTrend = v.windowGiven;
|
|
187
|
+
const cm = (n) => (n === null ? '—' : String(n) + ' cm');
|
|
188
|
+
// 读数卡只留两张「一眼是本页主角」的:最新一次的量值、图上画出来的点数。
|
|
189
|
+
// 值槽只放数、单位走 `unit` 槽(中间那格空白由 DOM 给:`96 cm`);注文说清「点」不是「天」。
|
|
190
|
+
const latestCard = { label: '最新', value: v.latestVal === null ? '—' : String(v.latestVal), unit: 'cm', detail: trendZh };
|
|
191
|
+
const pointCard = v.kpi.count === 0
|
|
192
|
+
? { label: '趋势点', value: '—', detail: trendZh }
|
|
193
|
+
: { label: '趋势点', value: String(v.kpi.count), unit: '个', detail: '图上画出来的点,一个点是一次测量那天' };
|
|
194
|
+
const parts = [bodyReadUiCss(), measureUiCss()];
|
|
195
|
+
// 窗口条(与体成分两页同形):窗口只说一次;条数是本页唯一一处「共 N 条」读数(表题只留表名)。
|
|
196
|
+
// 取数层若没给窗口文案(合成分支)则整条不出——不印半句「窗口:」。
|
|
197
|
+
if (typeof v.windowLabel === 'string' && v.windowLabel !== '')
|
|
198
|
+
parts.push(windowBar(v.windowLabel, '共 ' + v.total + ' 条'));
|
|
199
|
+
// 数值卡:手机档的读数卡栅格在 ≤400 是一格(共享配方定的),六张卡会把首屏吃光 ⇒ 只留两张,
|
|
200
|
+
// 其余四件读数改住卡外事实条(同一个数的口径不变,`#361` 判据按可见文本认这几件读数)。
|
|
201
|
+
parts.push(renderKpiGrid(byTrend ? [pointCard, latestCard] : [latestCard, pointCard]));
|
|
202
|
+
parts.push(renderFactStrip({ items: [
|
|
203
|
+
{ label: '均值', value: cm(v.kpi.avg) },
|
|
204
|
+
{ label: '最小', value: cm(v.kpi.min) },
|
|
205
|
+
{ label: '最大', value: cm(v.kpi.max) },
|
|
206
|
+
{ label: '变化量', value: v.kpi.delta === null ? '—' : (v.kpi.delta >= 0 ? '+' : '') + v.kpi.delta + ' cm' },
|
|
207
|
+
] }));
|
|
208
|
+
/** 趋势块:一个部位一条线(图上每个点=那天该项的均值,取数层已定,本层不重算)。 */
|
|
209
|
+
const trendParts = [];
|
|
210
|
+
let charts = false;
|
|
211
|
+
if (trendMetric && v.trend.length > 0) {
|
|
212
|
+
trendParts.push(renderChartBlock({
|
|
213
|
+
kind: 'line',
|
|
214
|
+
title: trendZh + '趋势',
|
|
215
|
+
input: { items: v.trend.map((t) => ({ label: t.date.slice(5), value: t.avgVal })) },
|
|
216
|
+
}));
|
|
217
|
+
charts = true;
|
|
218
|
+
}
|
|
219
|
+
else if (trendMetric) {
|
|
220
|
+
// #360 · 样本不足兜底:图区空态句(仍注部位,照老 `body_measurements_view.html:504` 文案),
|
|
221
|
+
// KPI 四格已是「—」(`cm(null)`/`delta null`/点数 0→「—」,照老 `:491/:496/:507`)。
|
|
222
|
+
trendParts.push(renderEmptyBlock({ title: trendZh + '趋势', text: '这个部位还没有可以连成趋势的记录。' }));
|
|
223
|
+
}
|
|
224
|
+
/** 记录块:带部位时只列那一项;不带的(全量表)印 13 项宽表+窄屏卡。表题只留表名——窗口与条数
|
|
225
|
+
* 已由上面那条窗口条说过一次(编排者 2026-09-15 口径:同一个数留一处)。 */
|
|
226
|
+
const metric = v.metric;
|
|
227
|
+
let recordsBlock;
|
|
228
|
+
if (metric !== null) {
|
|
229
|
+
const zh = MEASUREMENT_ZH[metric] ?? metric;
|
|
230
|
+
recordsBlock = '<section id="records"><div class="bru-table">' + renderDataTable({
|
|
231
|
+
columns: [
|
|
232
|
+
{ key: 'date', label: '日期' },
|
|
233
|
+
{ key: 'val', label: zh + '(厘米)', align: 'right' },
|
|
234
|
+
{ key: 'note', label: '备注' },
|
|
235
|
+
],
|
|
236
|
+
rows: v.items.map((r) => {
|
|
237
|
+
const val = r[metric];
|
|
238
|
+
return {
|
|
239
|
+
date: typeof r['date'] === 'string' ? r['date'] : '',
|
|
240
|
+
// #360 · 裁定 2 表体:缺值格可见「—」(老 `:385`),不再留空串(空串会与备注空格连成连续空单元)。
|
|
241
|
+
val: typeof val === 'number' ? val : '—',
|
|
242
|
+
note: typeof r['note'] === 'string' ? r['note'] : '',
|
|
243
|
+
};
|
|
244
|
+
}),
|
|
245
|
+
caption: zh + '记录',
|
|
246
|
+
emptyText: '这个部位还没有记录',
|
|
247
|
+
}) + '</div>' + scrollHint('表格较宽时,可以在表里左右滑。') + '</section>';
|
|
248
|
+
}
|
|
249
|
+
else {
|
|
250
|
+
// #361 · 全量 13 项:列序直引 `fetch/body.ts`(无第二份定序);数值缺值格一律「—」;
|
|
251
|
+
// 复制 payload 行保持原样透传,不写「—」(裁定 2)。
|
|
252
|
+
recordsBlock = '<section id="records">'
|
|
253
|
+
+ measureFullTable(v.items, byTrend ? '围度记录明细' : '围度记录', '还没有围度记录。用「记围度」记一条,第一条就是基线。')
|
|
254
|
+
// #539 收口:13 列宽表在桌面档会横滑(容器 overflow-x:auto,无数据丢失),与 06 页同款,
|
|
255
|
+
// 表下必须有一句横滑提示(终审指控"右列截断"实为无提示的横滑区;有提示即合规,见 t534 §3.2)。
|
|
256
|
+
+ scrollHint('表格较宽时,可以在表里左右滑。')
|
|
257
|
+
+ renderCaliberLine('表里与卡上的数值单位都是 cm|没量到的项写字面「—」') + '</section>';
|
|
258
|
+
}
|
|
259
|
+
/** 页内定位(长页):顺序跟着主次走;没有走势块(样本不足或没有可比部位)时不出走势那颗胶囊。 */
|
|
260
|
+
const toc = byTrend
|
|
261
|
+
? [{ id: 'trend', text: '围度趋势' }, { id: 'records', text: '记录明细' }]
|
|
262
|
+
: [{ id: 'records', text: '全部记录' }, { id: 'trend', text: '围度趋势' }];
|
|
263
|
+
parts.push(renderTocBlock({ items: toc }));
|
|
264
|
+
const trendBlock = trendParts.length > 0 ? '<section id="trend">' + trendParts.join('') + '</section>' : '';
|
|
265
|
+
parts.push(...(byTrend ? [trendBlock, recordsBlock] : [recordsBlock, trendBlock]));
|
|
266
|
+
parts.push(dataCopyArea('复制数据', {
|
|
267
|
+
envelope: {
|
|
268
|
+
version: DOC_VERSION, skill: DOC_SKILL, shape: 'list', key: 'calorie.view.body-measure',
|
|
269
|
+
data: { items: v.items.map((r) => ({ ...r })), total: v.total },
|
|
270
|
+
},
|
|
271
|
+
}));
|
|
272
|
+
return assembleDocPage({
|
|
273
|
+
docTitle: DOC_TITLE,
|
|
274
|
+
title: byTrend ? '围度趋势' : '围度记录',
|
|
275
|
+
eyebrow: DOC_EYEBROW,
|
|
276
|
+
subtitle: byTrend
|
|
277
|
+
? '同一部位的围度随时间的走势,一个点是一次测量。'
|
|
278
|
+
: '每次量的围度按日期列出,一条一行。',
|
|
279
|
+
content: parts.join(''),
|
|
280
|
+
charts,
|
|
281
|
+
pageUi: true,
|
|
282
|
+
});
|
|
283
|
+
}
|
|
284
|
+
//# sourceMappingURL=bodyDocs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bodyDocs.js","sourceRoot":"","sources":["../../src/body/bodyDocs.ts"],"names":[],"mappings":"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"}
|