skill-calorie 0.2.3 → 0.2.5
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 +474 -122
- package/dist/.gen-inputs.json +86 -0
- package/dist/analysis/anomaly/common.d.ts +11 -1
- package/dist/analysis/anomaly/common.d.ts.map +1 -1
- package/dist/analysis/anomaly/common.js +11 -12
- package/dist/analysis/anomaly/common.js.map +1 -1
- package/dist/analysis/anomaly/diet.d.ts.map +1 -1
- package/dist/analysis/anomaly/diet.js +11 -3
- package/dist/analysis/anomaly/diet.js.map +1 -1
- 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 +54 -26
- 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/deficit.d.ts +4 -2
- package/dist/analysis/deficit.d.ts.map +1 -1
- package/dist/analysis/deficit.js +2 -1
- package/dist/analysis/deficit.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 +17 -0
- package/dist/analysis/index.d.ts.map +1 -0
- package/dist/analysis/index.js +17 -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 +196 -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/review.d.ts.map +1 -1
- package/dist/analysis/review.js +5 -3
- package/dist/analysis/review.js.map +1 -1
- 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 +121 -24
- package/dist/analysis/series.js.map +1 -1
- package/dist/analysis/simulate.d.ts +4 -2
- package/dist/analysis/simulate.d.ts.map +1 -1
- package/dist/analysis/simulate.js +22 -8
- package/dist/analysis/simulate.js.map +1 -1
- package/dist/analysis/simulate2.d.ts.map +1 -1
- package/dist/analysis/simulate2.js +47 -12
- 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 +55 -21
- package/dist/analysis/utils.d.ts.map +1 -1
- package/dist/analysis/utils.js +85 -28
- 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 +33 -0
- package/dist/body/commands.d.ts.map +1 -0
- package/dist/body/commands.js +19 -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 +17 -0
- package/dist/body/index.d.ts.map +1 -0
- package/dist/body/index.js +17 -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 -26
- package/dist/cli/cmd_read.d.ts.map +1 -1
- package/dist/cli/cmd_read.js +68 -1084
- package/dist/cli/cmd_read.js.map +1 -1
- package/dist/cli/config.d.ts +16 -0
- package/dist/cli/config.d.ts.map +1 -0
- package/dist/cli/config.js +68 -0
- package/dist/cli/config.js.map +1 -0
- package/dist/cli/delivery.d.ts +35 -0
- package/dist/cli/delivery.d.ts.map +1 -0
- package/dist/cli/delivery.js +224 -0
- package/dist/cli/delivery.js.map +1 -0
- package/dist/cli/health.d.ts +7 -0
- package/dist/cli/health.d.ts.map +1 -0
- package/dist/cli/health.js +21 -0
- package/dist/cli/health.js.map +1 -0
- package/dist/cli/keys.d.ts +302 -165
- package/dist/cli/keys.d.ts.map +1 -1
- package/dist/cli/keys.js +101 -77
- package/dist/cli/keys.js.map +1 -1
- package/dist/cli/readArgs.d.ts +21 -0
- package/dist/cli/readArgs.d.ts.map +1 -0
- package/dist/cli/readArgs.js +73 -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 +14 -17
- package/dist/cli/write.d.ts.map +1 -1
- package/dist/cli/write.js +18 -946
- package/dist/cli/write.js.map +1 -1
- package/dist/config.d.ts +55 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +64 -0
- package/dist/config.js.map +1 -0
- package/dist/diet/commands.d.ts +42 -0
- package/dist/diet/commands.d.ts.map +1 -0
- package/dist/diet/commands.js +45 -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 +173 -0
- package/dist/diet/dietEngine.js.map +1 -0
- package/dist/diet/dietUi.d.ts +14 -0
- package/dist/diet/dietUi.d.ts.map +1 -0
- package/dist/diet/dietUi.js +38 -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 +22 -0
- package/dist/diet/index.d.ts.map +1 -0
- package/dist/diet/index.js +21 -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 +126 -0
- package/dist/diet/nutritionPort.d.ts.map +1 -0
- package/dist/diet/nutritionPort.js +248 -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 +178 -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 +137 -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 +150 -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 +293 -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 +17 -0
- package/dist/exercise/index.d.ts.map +1 -0
- package/dist/exercise/index.js +17 -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/sportPortDocs.d.ts +9 -0
- package/dist/exercise/sportPortDocs.d.ts.map +1 -0
- package/dist/exercise/sportPortDocs.js +896 -0
- package/dist/exercise/sportPortDocs.js.map +1 -0
- package/dist/exercise/sportUi.d.ts +79 -0
- package/dist/exercise/sportUi.d.ts.map +1 -0
- package/dist/exercise/sportUi.js +237 -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 +203 -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/diet.d.ts +6 -5
- package/dist/fetch/diet.d.ts.map +1 -1
- package/dist/fetch/diet.js +19 -25
- package/dist/fetch/diet.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/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 +35 -0
- package/dist/goal/commands.d.ts.map +1 -0
- package/dist/goal/commands.js +21 -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 +97 -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 +46 -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 +13 -0
- package/dist/goal/index.d.ts.map +1 -0
- package/dist/goal/index.js +13 -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 +168 -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/health.d.ts +41 -0
- package/dist/health.d.ts.map +1 -0
- package/dist/health.js +501 -0
- package/dist/health.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 +13 -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 +24 -14
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +24 -9
- package/dist/index.js.map +1 -1
- package/dist/migrate/migrate.js +3 -3
- package/dist/migrate/migrate.js.map +1 -1
- package/dist/output.d.ts +22 -11
- package/dist/output.d.ts.map +1 -1
- package/dist/output.js +68 -128
- package/dist/output.js.map +1 -1
- package/dist/paths.d.ts +6 -2
- package/dist/paths.d.ts.map +1 -1
- package/dist/paths.js +28 -17
- package/dist/paths.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 +23 -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 +317 -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/helpShell.d.ts +16 -0
- package/dist/photo/helpShell.d.ts.map +1 -0
- package/dist/photo/helpShell.js +27 -0
- package/dist/photo/helpShell.js.map +1 -0
- package/dist/photo/index.d.ts +13 -0
- package/dist/photo/index.d.ts.map +1 -0
- package/dist/photo/index.js +13 -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 +78 -0
- package/dist/photo/photos.d.ts.map +1 -0
- package/dist/photo/photos.js +194 -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/templates.d.ts +4 -0
- package/dist/photo/templates.d.ts.map +1 -0
- package/dist/photo/templates.js +29 -0
- package/dist/photo/templates.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/wizardPort.d.ts +70 -0
- package/dist/photo/wizardPort.d.ts.map +1 -0
- package/dist/photo/wizardPort.js +232 -0
- package/dist/photo/wizardPort.js.map +1 -0
- package/dist/photo/wizardPortDocs.d.ts +6 -0
- package/dist/photo/wizardPortDocs.d.ts.map +1 -0
- package/dist/photo/wizardPortDocs.js +322 -0
- package/dist/photo/wizardPortDocs.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 +32 -0
- package/dist/profile/commands.d.ts.map +1 -0
- package/dist/profile/commands.js +11 -0
- package/dist/profile/commands.js.map +1 -0
- package/dist/profile/index.d.ts +17 -0
- package/dist/profile/index.d.ts.map +1 -0
- package/dist/profile/index.js +17 -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 +26 -7
- package/dist/profile/setup.d.ts.map +1 -1
- package/dist/profile/setup.js +184 -78
- package/dist/profile/setup.js.map +1 -1
- package/dist/profile/update.d.ts +1 -1
- package/dist/profile/update.d.ts.map +1 -1
- package/dist/profile/update.js +33 -13
- package/dist/profile/update.js.map +1 -1
- package/dist/profile/view.d.ts +35 -4
- package/dist/profile/view.d.ts.map +1 -1
- package/dist/profile/view.js +132 -22
- package/dist/profile/view.js.map +1 -1
- 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 +4 -4
- package/dist/render/analysisPlate.d.ts.map +1 -1
- package/dist/render/analysisPlate.js +5 -22
- package/dist/render/analysisPlate.js.map +1 -1
- package/dist/render/diet.d.ts +10 -6
- package/dist/render/diet.d.ts.map +1 -1
- package/dist/render/diet.js +8 -23
- package/dist/render/diet.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 +158 -457
- package/dist/render/dietDocs.js.map +1 -1
- package/dist/render/exercisePort.d.ts +4 -2
- 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/helpShell.d.ts +1 -1
- package/dist/render/helpShell.d.ts.map +1 -1
- package/dist/render/html.d.ts +34 -24
- package/dist/render/html.d.ts.map +1 -1
- package/dist/render/html.js +38 -88
- package/dist/render/html.js.map +1 -1
- package/dist/render/index.d.ts +34 -33
- package/dist/render/index.d.ts.map +1 -1
- package/dist/render/index.js +30 -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/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 +1 -1
- package/dist/render/receipt.d.ts.map +1 -1
- package/dist/render/receipt.js +1 -1
- package/dist/render/receipt.js.map +1 -1
- package/dist/render/sportDocs.d.ts +17 -12
- package/dist/render/sportDocs.d.ts.map +1 -1
- package/dist/render/sportDocs.js +370 -525
- 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 +810 -389
- 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 +293 -252
- 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 +13 -34
- 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 +256 -107
- 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 +273 -215
- 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/shared/alive.d.ts +22 -0
- package/dist/shared/alive.d.ts.map +1 -0
- package/dist/shared/alive.js +22 -0
- package/dist/shared/alive.js.map +1 -0
- package/dist/shared/commandSpec.d.ts +83 -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 +30 -11
- package/dist/shared/copyArea.d.ts.map +1 -1
- package/dist/shared/copyArea.js +68 -13
- package/dist/shared/copyArea.js.map +1 -1
- package/dist/shared/copyBlock.d.ts +4 -0
- package/dist/shared/copyBlock.d.ts.map +1 -0
- package/dist/shared/copyBlock.js +26 -0
- package/dist/shared/copyBlock.js.map +1 -0
- package/dist/shared/docPage.d.ts +26 -4
- package/dist/shared/docPage.d.ts.map +1 -1
- package/dist/shared/docPage.js +84 -10
- package/dist/shared/docPage.js.map +1 -1
- 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/healthRate.d.ts +21 -0
- package/dist/shared/healthRate.d.ts.map +1 -0
- package/dist/shared/healthRate.js +21 -0
- package/dist/shared/healthRate.js.map +1 -0
- package/dist/shared/kcalPerKg.d.ts +16 -0
- package/dist/shared/kcalPerKg.d.ts.map +1 -0
- package/dist/shared/kcalPerKg.js +16 -0
- package/dist/shared/kcalPerKg.js.map +1 -0
- package/dist/shared/meal.d.ts +46 -0
- package/dist/shared/meal.d.ts.map +1 -0
- package/dist/shared/meal.js +75 -0
- package/dist/shared/meal.js.map +1 -0
- package/dist/shared/nutritionRange.d.ts +28 -0
- package/dist/shared/nutritionRange.d.ts.map +1 -0
- package/dist/shared/nutritionRange.js +28 -0
- package/dist/shared/nutritionRange.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/pageStrips.d.ts +81 -0
- package/dist/shared/pageStrips.d.ts.map +1 -0
- package/dist/shared/pageStrips.js +166 -0
- package/dist/shared/pageStrips.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/planCopyBlock.d.ts +32 -0
- package/dist/shared/planCopyBlock.d.ts.map +1 -0
- package/dist/shared/planCopyBlock.js +34 -0
- package/dist/shared/planCopyBlock.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 +39 -0
- package/dist/shared/sourceLine.js.map +1 -0
- package/dist/shared/time.d.ts +28 -0
- package/dist/shared/time.d.ts.map +1 -0
- package/dist/shared/time.js +37 -0
- package/dist/shared/time.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 +11 -34
- package/dist/triggers/routing.d.ts.map +1 -1
- package/dist/triggers/routing.js +12 -528
- 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 +1 -1
- 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.map +1 -1
- package/dist/triggers/wake-assets.js +21 -11
- package/dist/triggers/wake-assets.js.map +1 -1
- package/dist/weight/commands.d.ts +24 -0
- package/dist/weight/commands.d.ts.map +1 -0
- package/dist/weight/commands.js +19 -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 +221 -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 +21 -0
- package/dist/weight/index.d.ts.map +1 -0
- package/dist/weight/index.js +20 -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 +212 -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 +126 -0
- package/dist/weight/weightUi.d.ts.map +1 -0
- package/dist/weight/weightUi.js +226 -0
- package/dist/weight/weightUi.js.map +1 -0
- package/dist/workout/commands.d.ts +43 -0
- package/dist/workout/commands.d.ts.map +1 -0
- package/dist/workout/commands.js +36 -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 +21 -0
- package/dist/workout/index.d.ts.map +1 -0
- package/dist/workout/index.js +20 -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 +62 -0
- package/dist/workout/landBatch.d.ts.map +1 -0
- package/dist/workout/landBatch.js +227 -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 +111 -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 +132 -0
- package/dist/workout/landPages.js.map +1 -0
- package/dist/workout/landRunner.d.ts +40 -0
- package/dist/workout/landRunner.d.ts.map +1 -0
- package/dist/workout/landRunner.js +134 -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/planCopyBlock.d.ts +9 -0
- package/dist/workout/planCopyBlock.d.ts.map +1 -0
- package/dist/workout/planCopyBlock.js +9 -0
- package/dist/workout/planCopyBlock.js.map +1 -0
- package/dist/workout/planEditor.d.ts +94 -0
- package/dist/workout/planEditor.d.ts.map +1 -0
- package/dist/workout/planEditor.js +38 -0
- package/dist/workout/planEditor.js.map +1 -0
- package/dist/workout/planEditorCss.d.ts +13 -0
- package/dist/workout/planEditorCss.d.ts.map +1 -0
- package/dist/workout/planEditorCss.js +140 -0
- package/dist/workout/planEditorCss.js.map +1 -0
- package/dist/workout/planEditorDocs.d.ts +7 -0
- package/dist/workout/planEditorDocs.d.ts.map +1 -0
- package/dist/workout/planEditorDocs.js +56 -0
- package/dist/workout/planEditorDocs.js.map +1 -0
- package/dist/workout/planEditorPort.d.ts +45 -0
- package/dist/workout/planEditorPort.d.ts.map +1 -0
- package/dist/workout/planEditorPort.js +217 -0
- package/dist/workout/planEditorPort.js.map +1 -0
- package/dist/workout/planEditorRuntime.d.ts +15 -0
- package/dist/workout/planEditorRuntime.d.ts.map +1 -0
- package/dist/workout/planEditorRuntime.js +427 -0
- package/dist/workout/planEditorRuntime.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 +280 -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/reviewDocs.d.ts +3 -0
- package/dist/workout/reviewDocs.d.ts.map +1 -0
- package/dist/workout/reviewDocs.js +222 -0
- package/dist/workout/reviewDocs.js.map +1 -0
- package/dist/workout/reviewDocsCss.d.ts +5 -0
- package/dist/workout/reviewDocsCss.d.ts.map +1 -0
- package/dist/workout/reviewDocsCss.js +128 -0
- package/dist/workout/reviewDocsCss.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 +177 -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 +215 -0
- package/dist/workout/xunjiPush.js.map +1 -0
- package/dist/workout/xunjiRunner.d.ts +35 -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 +65 -0
- package/dist/xunji/backfill.d.ts.map +1 -0
- package/dist/xunji/backfill.js +156 -0
- package/dist/xunji/backfill.js.map +1 -0
- package/dist/xunji/catalog.d.ts +55 -0
- package/dist/xunji/catalog.d.ts.map +1 -0
- package/dist/xunji/catalog.js +132 -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 +76 -0
- package/dist/xunji/fetch.d.ts.map +1 -0
- package/dist/xunji/fetch.js +159 -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 +37 -0
- package/dist/xunji/key.d.ts.map +1 -0
- package/dist/xunji/key.js +100 -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 +49 -0
- package/dist/xunji/rateLimit.d.ts.map +1 -0
- package/dist/xunji/rateLimit.js +108 -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 +54 -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 +202 -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 +6 -9
- 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
|
@@ -0,0 +1,570 @@
|
|
|
1
|
+
import { anchorOf, needDay, needStr, optInt, optNum, optStr, windowRange } from '../shared/params.js';
|
|
2
|
+
import { FetchError } from '../fetch/errors.js';
|
|
3
|
+
import { CalorieRenderError } from '../render/errors.js';
|
|
4
|
+
import { applyOffset, resolveCompareWindow } from '../analysis/series.js';
|
|
5
|
+
import { weightCompare } from './figures.js';
|
|
6
|
+
import { assertRange } from './plate.js';
|
|
7
|
+
import { renderCaliberLine, renderChartBlock, renderDataTable, renderListRows } from 'base-paint/blocks';
|
|
8
|
+
import { assembleDocPage, metricsOf } from '../shared/docPage.js';
|
|
9
|
+
import { copyArea, copyLog, notice } from '../shared/copyArea.js';
|
|
10
|
+
import { nowStamp } from '../render/receipt.js';
|
|
11
|
+
import { DOC_SKILL, DOC_TITLE, DOC_VERSION } from './plateDocs.js';
|
|
12
|
+
import { bulletList, compareBlock, factStrip, verdict, weightUiCss } from './weightUi.js';
|
|
13
|
+
import { runScenario, SCENARIO_LABELS } from './weightCompare3.js';
|
|
14
|
+
const CMD_KEY = 'calorie.view.weight-compare';
|
|
15
|
+
/** 复制日志第 3 段后半(老实物 `.footer .src` 的口径同源)。 */
|
|
16
|
+
const COPY_SOURCE = 'weight_log(两段体重对比)';
|
|
17
|
+
/** 渲染本页的命令原文(复制日志第 3 段):照抄可重跑。 */
|
|
18
|
+
const commandOf = (params) => 'calorie-cmd-read ' + CMD_KEY + ' --params \'' + JSON.stringify(params) + '\'';
|
|
19
|
+
/** `calorie.view.weight-compare` · 两段体重对比(两段均值差/方向/变化幅度)。
|
|
20
|
+
*
|
|
21
|
+
* 两种参数面(二选一):
|
|
22
|
+
* - 窗口面(既有 9 条命令):`window`/`compareWindow` 等,老行为不动;
|
|
23
|
+
* - 情景面(#334:8 条锚点对比):`scenario`(b8/e1/e2/e3/e5/e6/c5/d4,另收 a1–a8/b1 别名)
|
|
24
|
+
* + `delta`(e3 减重 N kg,缺省 5)+ `n`(a5 近 N 天,缺省 30)。锚点日期由算式自己派生
|
|
25
|
+
* (`findPlateau`/`scenarioB8`/`scenarioE1`/`scenarioE2`/`scenarioE3`/`scenarioE5`/
|
|
26
|
+
* `scenarioE6`/`scenarioC5`/`scenarioD4`),调用方不给日期。 */
|
|
27
|
+
export function viewWeightCompare(params, db) {
|
|
28
|
+
const anchor = anchorOf(params);
|
|
29
|
+
const scenario = optStr(params, 'scenario');
|
|
30
|
+
if (scenario !== undefined)
|
|
31
|
+
return viewWeightCompareScenario(db, scenario, params, anchor);
|
|
32
|
+
const main = windowRange(params) ?? { start: needStr(params, 'start'), end: needStr(params, 'end') };
|
|
33
|
+
const cmpSpec = optStr(params, 'compareWindow');
|
|
34
|
+
const [cStart, cEnd] = cmpSpec
|
|
35
|
+
? applyOffset(resolveCompareWindow(cmpSpec, [main.start, main.end], optStr(params, 'compareStart') ?? null, optStr(params, 'compareEnd') ?? null, anchor), optStr(params, 'compareOffset'))
|
|
36
|
+
: [needDay(params, 'compareStart'), needDay(params, 'compareEnd')];
|
|
37
|
+
const v = buildWeightCompareView(db, main.start, main.end, cStart, cEnd);
|
|
38
|
+
const metrics = metricsOf({
|
|
39
|
+
avgDiff: v.compare.avgDiff,
|
|
40
|
+
currentAvg: v.compare.currentPeriod.avgWeight, compareAvg: v.compare.comparePeriod.avgWeight,
|
|
41
|
+
currentChange: v.compare.currentPeriod.changeKg, compareChange: v.compare.comparePeriod.changeKg,
|
|
42
|
+
});
|
|
43
|
+
return { data: { metrics }, html: buildWeightCompareDoc(v, commandOf(params)) };
|
|
44
|
+
}
|
|
45
|
+
/* ── 视图模型(#332 自 `plate.ts` 原样迁入:对比=analysis/weight.weightCompare) ── */
|
|
46
|
+
export function buildWeightCompareView(db, start, end, compareStart, compareEnd) {
|
|
47
|
+
assertRange(start, end);
|
|
48
|
+
assertRange(compareStart, compareEnd);
|
|
49
|
+
let res;
|
|
50
|
+
try {
|
|
51
|
+
res = weightCompare(db, start, end, compareStart, compareEnd);
|
|
52
|
+
}
|
|
53
|
+
catch (e) {
|
|
54
|
+
if (e instanceof FetchError)
|
|
55
|
+
throw new CalorieRenderError('bad-input', e.message);
|
|
56
|
+
throw e;
|
|
57
|
+
}
|
|
58
|
+
if (res.status !== 'ok' || !res.data) {
|
|
59
|
+
throw new CalorieRenderError('missing-data', res.message || '对比时间段内无体重记录,无法对比');
|
|
60
|
+
}
|
|
61
|
+
const compare = res.data;
|
|
62
|
+
// 「条数」=段内体重记录条数(不是区间天数;「工作日 vs 周末」这类段两者不等):
|
|
63
|
+
// 算式侧 `figures.weightCompare` 不返条数,这里按同一区间补一条计数,口径不重算。
|
|
64
|
+
compare.currentPeriod.count = periodCount(db, start, end);
|
|
65
|
+
compare.comparePeriod.count = periodCount(db, compareStart, compareEnd);
|
|
66
|
+
return { start, end, compareStart, compareEnd, compare };
|
|
67
|
+
}
|
|
68
|
+
/** 段内体重记录条数(`weight_log` 同一区间计数)。 */
|
|
69
|
+
function periodCount(db, start, end) {
|
|
70
|
+
const row = db.prepare('SELECT COUNT(*) AS n FROM weight_log WHERE date >= ? AND date <= ?').get(start, end);
|
|
71
|
+
return row.n;
|
|
72
|
+
}
|
|
73
|
+
/* ── 共用口径(#334:窗口面与情景面同一套判语/占位符/软横幅/卡片与表/复制载荷) ── */
|
|
74
|
+
/** 空值统一「—」(页上可见文本的占位符;**不进复制载荷**,见 `compareCopyArea`)。 */
|
|
75
|
+
const MISSING = '—';
|
|
76
|
+
/** 样本不足门槛(条):与 `weightCompare.ts` 的 a3 口径同值(每段 ≥3 条)。 */
|
|
77
|
+
const SAMPLE_MIN = 3;
|
|
78
|
+
/** 节奏判定门槛(kg/天):与 `figures.ts:72` 的 `0.005` 同值(=5 g/天)。 */
|
|
79
|
+
const RATE_EPS = 0.005;
|
|
80
|
+
const numOrNull = (v) => typeof v === 'number' && Number.isFinite(v) ? v : null;
|
|
81
|
+
const round2 = (n) => Math.round(n * 100) / 100;
|
|
82
|
+
const fmtKg = (v) => {
|
|
83
|
+
const n = numOrNull(v);
|
|
84
|
+
return n === null ? MISSING : String(n);
|
|
85
|
+
};
|
|
86
|
+
const fmtDelta = (v) => {
|
|
87
|
+
const n = numOrNull(v);
|
|
88
|
+
return n === null ? MISSING : (n >= 0 ? '+' : '') + n + ' kg';
|
|
89
|
+
};
|
|
90
|
+
/** 方向词只看差值符号;差值为 0 才写持平——不借别的字段旁证方向。
|
|
91
|
+
* #510:原来另有一个箭头帮手(`↑`/`↓`)挂在差值卡的副行上,那是方向词的第二处 ⇒ 随副行一并删。 */
|
|
92
|
+
const directionWord = (n) => (n < 0 ? '下降' : n > 0 ? '上升' : '持平');
|
|
93
|
+
/** 单日段(n=1):均值=期首=期末,三列并成一列,且**读不出趋势**——只认条数,不猜区间串。 */
|
|
94
|
+
const isSingleDay = (s) => s.count === 1;
|
|
95
|
+
/** 单日段的区间串(`X ~ X`)压成一个日期。 */
|
|
96
|
+
function rangeText(s) {
|
|
97
|
+
const [a, b] = s.range.split(' ~ ');
|
|
98
|
+
return a !== undefined && b === a ? a : s.range;
|
|
99
|
+
}
|
|
100
|
+
/** 段跨天数(`A ~ B` 相差天数);区间串不是「起 ~ 止」形态时回 null(如平台期的 `2026-08-01(持续 14 天)`)。 */
|
|
101
|
+
function spanOf(s) {
|
|
102
|
+
const parts = s.range.split(' ~ ');
|
|
103
|
+
if (parts.length !== 2)
|
|
104
|
+
return null;
|
|
105
|
+
const a = Date.parse(parts[0] + 'T12:00:00Z');
|
|
106
|
+
const b = Date.parse(parts[1] + 'T12:00:00Z');
|
|
107
|
+
if (!Number.isFinite(a) || !Number.isFinite(b) || b < a)
|
|
108
|
+
return null;
|
|
109
|
+
return Math.round((b - a) / 86400000);
|
|
110
|
+
}
|
|
111
|
+
/** 段日均速率(kg/天):净变化 ÷ 跨天数;单日段/无跨度/只有一条记录时回 null(不当 0 用)。 */
|
|
112
|
+
function rateOf(s) {
|
|
113
|
+
const span = spanOf(s);
|
|
114
|
+
const change = numOrNull(s.changeKg);
|
|
115
|
+
if (span === null || span < 1 || s.count < 2 || change === null)
|
|
116
|
+
return null;
|
|
117
|
+
return change / span;
|
|
118
|
+
}
|
|
119
|
+
/** 每天变化量的页上写法(克):节奏卡的副说明与结论句共用一处定义。
|
|
120
|
+
* 「克」是全族统一单位(口径 §3.2:不出现 `g/天`、不 kg 与 g 两种单位并存)。 */
|
|
121
|
+
const perDayG = (r) => {
|
|
122
|
+
const g = Math.round(r * 1000);
|
|
123
|
+
return g === 0 ? '每天 0 克' : '每天 ' + (g > 0 ? '+' : '-') + Math.abs(g) + ' 克';
|
|
124
|
+
};
|
|
125
|
+
/** 条数的中文短写(n=2 → 「两天」);超出一只手就回阿拉伯数字+单位。 */
|
|
126
|
+
const cnDays = (n) => (n === 1 ? '一天' : n === 2 ? '两天' : n + ' 天');
|
|
127
|
+
/** **日期词**段名(窗口面的 `本期/对比期` + 同日比那几页的 `今天`):只有这种段名才谈得上
|
|
128
|
+
* 「两段都只有一天」;锚点段(`历史最低`/`减重 5 kg 那天`)本来就不是可比区间,得逐段说名字。 */
|
|
129
|
+
const GENERIC_LABELS = ['本期', '对比期', '今天'];
|
|
130
|
+
/** 段在**本页这一组对比**里的短名(结论句与每天变化量两处共用一处定义):
|
|
131
|
+
* 有口径名(`最近 30 天`/`今天`/`运动最少`)就用口径名,没有(中间那个 `本期`)就按平均数是哪一段说。 */
|
|
132
|
+
const labelOfB = (b, mid) => (b.label === mid ? '最近这段' : b.label);
|
|
133
|
+
const labelOfA = (a, mid) => (a.label === mid ? '对比那段' : a.label);
|
|
134
|
+
/** 两段每天变化量的**形状版**(原来在结论句里靠 `;`/` vs ` 串成一句):一段一格,
|
|
135
|
+
* 值带「平均每天」前缀,标签配「最近 30 天」这类**读者认得出来的段名**(口径 §三第 2 条)。
|
|
136
|
+
* 读不出速率的那一段照实写「算不出」——不丢事实、也不编数。
|
|
137
|
+
*
|
|
138
|
+
* #510(审查席 S2):原来横排一行的两半同字号同色,单日锚点页逐字读成
|
|
139
|
+
* 「今天 算不出 减重 5 kg 那天 算不出」(一句不通的话)⇒ 走 `vertical`:
|
|
140
|
+
* 一枚「标签 + 值」占一行、标签在左值贴右,两段各自成行(`.wui-strip-v` 的读法)。 */
|
|
141
|
+
function rhythmStrip(b, a, mid) {
|
|
142
|
+
const val = (r) => (r === null ? '算不出' : '平均' + perDayG(r));
|
|
143
|
+
return factStrip([
|
|
144
|
+
{ k: labelOfB(b, mid), v: val(rateOf(b)) },
|
|
145
|
+
{ k: labelOfA(a, mid), v: val(rateOf(a)) },
|
|
146
|
+
], true);
|
|
147
|
+
}
|
|
148
|
+
function rhythmOf(a, b) {
|
|
149
|
+
const ra = rateOf(a);
|
|
150
|
+
const rb = rateOf(b);
|
|
151
|
+
if (ra === null || rb === null) {
|
|
152
|
+
/* 原因只写「记录不足」这一个事实:单日段的原因(没有跨天跨度)已由页顶说明说清,
|
|
153
|
+
* 若在这里再写一遍「只有一天,读不出快慢」,「快慢」一词会在同一句里出现三次(口径 §2 第一条)。 */
|
|
154
|
+
return { word: '看不出快慢', comparable: false };
|
|
155
|
+
}
|
|
156
|
+
const gap = Math.abs(rb) - Math.abs(ra);
|
|
157
|
+
const word = gap > RATE_EPS ? '幅度更大' : gap < -RATE_EPS ? '幅度更小' : '幅度相当';
|
|
158
|
+
return { word, comparable: true };
|
|
159
|
+
}
|
|
160
|
+
/** 段区间文本:单日段(`X ~ X` 压成一个日期)只留一枚日期,别的段照印 `起 ~ 止`。
|
|
161
|
+
* #503 形状化:原来副说明是「2026-09-01 ~ 2026-09-07 · 30 条」——区间与条数被 `·` 串成一句,
|
|
162
|
+
* 而条数徽章里已经有了(「记录齐全(30 条)」/「只有一天」)⇒ 副说明只留**区间**这一件事。
|
|
163
|
+
* **这一槽只能是纯文本**:`renderKpiCard` 对 `detail` 走 `esc()`(公共层 `blocks.ts:543`),
|
|
164
|
+
* 形状 HTML 塞进来会原样印成字(第一版就是这么错的,截图当场抓到)。
|
|
165
|
+
* #510 一度把这一句整个撤掉(当时两段的段名与区间住在页题副标题那句 `本期 X ~ Y vs 对比期 Z ~ W` 里,
|
|
166
|
+
* 卡上再印一遍是同一屏第二处)。**本轮那句副标题撤了**(负责人第三轮第 3 条)⇒ 区间搬回卡上这一槽:
|
|
167
|
+
* 同一事实仍只有一处(卡上),只是从页题搬到了段卡。 */
|
|
168
|
+
const segmentCard = (s) => {
|
|
169
|
+
const single = isSingleDay(s);
|
|
170
|
+
const thin = !single && s.count < SAMPLE_MIN;
|
|
171
|
+
const badgeText = s.count === 0 ? '没有记录'
|
|
172
|
+
: single ? '只有一天'
|
|
173
|
+
: thin ? '记录太少(' + s.count + ' 条)'
|
|
174
|
+
: s.count === SAMPLE_MIN ? '记录齐全' : '记录齐全(' + s.count + ' 条)';
|
|
175
|
+
return {
|
|
176
|
+
label: s.label, value: fmtKg(s.avg), unit: 'kg', detail: rangeText(s),
|
|
177
|
+
status: s.count === 0 ? 'empty' : single ? 'empty' : thin ? 'warn' : 'ok',
|
|
178
|
+
statusText: badgeText,
|
|
179
|
+
};
|
|
180
|
+
};
|
|
181
|
+
/** 两段对照块中间那枚连接件的读数(两段均值差 + 方向)。
|
|
182
|
+
*
|
|
183
|
+
* 方向只看均值差符号(`ok=降/warn=升/empty=持平或暂无` 的老口径折成 `chip()` 的三档色:
|
|
184
|
+
* 降=蓝、升=`warn`、持平与「差值算不出」=`plain`);值槽与徽章同住连接件,
|
|
185
|
+
* **方向只此一处**(#510 那条「方向只留一处」不变,只是那一处从差值卡搬到了连接件)。
|
|
186
|
+
* 差值 = 近段均值 − 参照段均值(`deltaOf()` 是全页唯一出处),与块内左减右的读序一致。 */
|
|
187
|
+
const compareLink = (delta) => {
|
|
188
|
+
if (delta === null)
|
|
189
|
+
return { label: '对比', direction: '差值算不出', tone: 'plain' };
|
|
190
|
+
return {
|
|
191
|
+
label: '对比', delta: fmtDelta(delta), direction: directionWord(delta),
|
|
192
|
+
tone: delta > 0 ? 'warn' : delta === 0 ? 'plain' : '',
|
|
193
|
+
};
|
|
194
|
+
};
|
|
195
|
+
/** 两段均值差(本期 − 对比期):任一段没有均值就是「暂无」,不当 0 参与。**全页唯一出处**。 */
|
|
196
|
+
const deltaOf = (a, b) => {
|
|
197
|
+
const av = numOrNull(b.avg);
|
|
198
|
+
const pv = numOrNull(a.avg);
|
|
199
|
+
return av === null || pv === null ? null : round2(av - pv);
|
|
200
|
+
};
|
|
201
|
+
/** 节奏卡:能对照=ok,读不出速率=empty,任一段记录太少=warn(与两段卡的警示词同一个)。
|
|
202
|
+
* **值槽只放本期每天变化量这一个数**(数字+单位);判语词(幅度更大/更小/相当/看不出快慢)
|
|
203
|
+
* 进 `detail` 与徽章——值槽里不放词,也不放两段逐字对照(那段归结论块的「每天变化」一行)。
|
|
204
|
+
* 值槽与副说明各出一个数:身上**不重复同一个数字两遍**。
|
|
205
|
+
* #481 整改缺陷 2:副说明与徽章原来逐字同词(都写「看不出快慢」)——副说明补一句「哪一段」,
|
|
206
|
+
* 徽章换成状态词「记录太少」。
|
|
207
|
+
* #481 整改缺陷 5:值槽的「每天 +14 克」是**一段**平均,写全「平均每天 +14 克」,
|
|
208
|
+
* 免得与卡标签「每天变化」逐字贴脸、读者分不清是这一段还是两段。
|
|
209
|
+
* #503 形状化:副说明只留**判语词这一个形状**(原来读不出时是一句 15 字的话,截图里折两行);
|
|
210
|
+
* 两段逐字对照归结论块的 `factStrip()`,卡片这一格不再复述它。 */
|
|
211
|
+
const rhythmCard = (r, a, b) => {
|
|
212
|
+
const thin = a.count < SAMPLE_MIN || b.count < SAMPLE_MIN;
|
|
213
|
+
const rb = rateOf(b);
|
|
214
|
+
return {
|
|
215
|
+
label: '每天变化',
|
|
216
|
+
value: rb === null ? MISSING : '平均' + perDayG(rb),
|
|
217
|
+
detail: r.word,
|
|
218
|
+
status: !r.comparable ? 'empty' : thin ? 'warn' : 'ok',
|
|
219
|
+
statusText: r.comparable && !thin ? '两段可比' : '记录太少',
|
|
220
|
+
};
|
|
221
|
+
};
|
|
222
|
+
function premiseNotice(a, b, mid, anchorMiss) {
|
|
223
|
+
const thin = [b, a].filter((s) => s.count > 0 && s.count < SAMPLE_MIN);
|
|
224
|
+
const singles = [b, a].filter((s) => isSingleDay(s));
|
|
225
|
+
const msg = [];
|
|
226
|
+
if (thin.length > 0) {
|
|
227
|
+
msg.push(thin.map((s) => s.label + ' ' + s.count + ' 条').join('/') + ',低于 ' + SAMPLE_MIN + ' 条');
|
|
228
|
+
}
|
|
229
|
+
if (anchorMiss)
|
|
230
|
+
msg.push('参照日前后 3 天都没有体重记录');
|
|
231
|
+
if (msg.length === 0)
|
|
232
|
+
return null;
|
|
233
|
+
const items = [];
|
|
234
|
+
if (thin.length > 0) {
|
|
235
|
+
items.push('两段各要 ' + SAMPLE_MIN + ' 条以上,平均体重差才有参考价值。');
|
|
236
|
+
items.push('记录不够也照常出页,差值与每天变化量只当参考值看。');
|
|
237
|
+
}
|
|
238
|
+
const singleParts = singles.filter((s) => !thin.includes(s)).map((s) => s.label);
|
|
239
|
+
/* 「两段都只有一天」只在**两段的段名都是日期词**时才说(`今天 vs 一年前今天`/`本周 vs 上周` 那种)。
|
|
240
|
+
* 锚点段另有自己的名字(`历史最低`/`今夏以来最低`/`减重 5 kg 那天`)时,说「两段都只有一天」是错的
|
|
241
|
+
* ——那两段本来就不是「两段可比区间」,把段名逐条说出来才对(手机截图当场抓到这处)。 */
|
|
242
|
+
const genericLabel = (s) => GENERIC_LABELS.indexOf(s.label) >= 0;
|
|
243
|
+
if (singles.length === 2 && singles.every(genericLabel)) {
|
|
244
|
+
/* `thin` 那一支已经把两个段名连同条数说了,这里不重复它们(本函数只出它自己那几分信息)。 */
|
|
245
|
+
if (singleParts.length === 0)
|
|
246
|
+
items.push('两段都只有一天:平均数就是那天的读数,看不出快慢,也不代表趋势。');
|
|
247
|
+
}
|
|
248
|
+
else {
|
|
249
|
+
for (const s of singles) {
|
|
250
|
+
if (thin.includes(s))
|
|
251
|
+
continue;
|
|
252
|
+
items.push(s.label + '只有' + cnDays(s.count) + ':平均数就是那天的读数,看不出快慢,也不代表趋势。');
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
if (anchorMiss)
|
|
256
|
+
items.push('差值暂时算不出来,其余读数照常给。');
|
|
257
|
+
return items.length === 0 ? null : { msg: msg.join(';') + '。', items };
|
|
258
|
+
}
|
|
259
|
+
/** 页脚来源行(§5.5:哪张库/哪个窗口/多少条;有缺口当场注明,缺的日期不补 0)。
|
|
260
|
+
* 形态走公共层 #420 的浅色口径行 `renderCaliberLine`:页脚来源是「口径行」不是提示,
|
|
261
|
+
* 故不用深色 toast 卡(#340 裁定);句式与全族 58 页统一(口径 §3.1 一行一句)。
|
|
262
|
+
* #481 整改裁定 F:**库表名退出可见面**(`calorie_data.db`/`weight_log` 只在复制日志第 3 段留)。
|
|
263
|
+
* #481 整改裁定 H:句式与「明细族」同形——`来源 | 窗口 | 共 N 条`三段(旧句把两段各自的条数
|
|
264
|
+
* 挤进页脚,两族形状不同);两段各自的条数住两段卡与表内,页脚只说全窗。 */
|
|
265
|
+
function sourceText(a, b) {
|
|
266
|
+
const rows = [b, a];
|
|
267
|
+
/* 全窗=两段日期的**最早到最晚**:段序不保证时间序(情景面 segB 是「当前/运动最多」那段,
|
|
268
|
+
* 可能比 segA 晚,也可能像 c5 那样早),故取极值而不是「先 b 后 a」。 */
|
|
269
|
+
const dates = rows.map(rangeText).join(' ').match(/\d{4}-\d\d-\d\d/g) ?? [];
|
|
270
|
+
const first = dates.length > 0 ? dates.reduce((m, d) => (d < m ? d : m)) : rangeText(a);
|
|
271
|
+
const last = dates.length > 0 ? dates.reduce((m, d) => (d > m ? d : m)) : rangeText(b);
|
|
272
|
+
const window = first === last ? first : first + ' ~ ' + last;
|
|
273
|
+
const count = rows.reduce((n, s) => n + s.count, 0);
|
|
274
|
+
return '📊 数据来源:体重记录 | 窗口 ' + window + ' | 共 ' + count + ' 条';
|
|
275
|
+
}
|
|
276
|
+
/* ── 两段表/结论/复制载荷(两面共用) ── */
|
|
277
|
+
/* 表头人话(#481 整改缺陷 11):`时段/均值/期初/期末` 是行话,换成读者一看就懂的词。
|
|
278
|
+
* 键名(`period`/`avg`/`first`/`last`)是机器面,一字不改。 */
|
|
279
|
+
const COMPARE_COLUMNS = [
|
|
280
|
+
{ key: 'period', label: '哪一段' },
|
|
281
|
+
{ key: 'range', label: '区间' },
|
|
282
|
+
{ key: 'avg', label: '平均', align: 'right' },
|
|
283
|
+
{ key: 'first', label: '开始时', align: 'right' },
|
|
284
|
+
{ key: 'last', label: '结束时', align: 'right' },
|
|
285
|
+
{ key: 'change', label: '变化', align: 'right' },
|
|
286
|
+
];
|
|
287
|
+
/** 两段表:本期在上、对比期在下(与标题/结论的读序一致);单日段的三列写「—」(表头与列数**不缩**,
|
|
288
|
+
* #481 整改缺陷 4 把页顶那句「三列并成一列」的承诺删了——页面从来没并过)。
|
|
289
|
+
* 三个「—」不解释,读者会以为数据丢了;这件事页顶说明与卡片徽章已各说一处,表内不再第三次注(口径 §2 第一条)。 */
|
|
290
|
+
function renderSegmentsTable(a, b, caption) {
|
|
291
|
+
const rowOf = (s) => ({
|
|
292
|
+
period: s.label, range: rangeText(s),
|
|
293
|
+
avg: fmtKg(s.avg),
|
|
294
|
+
first: isSingleDay(s) ? MISSING : fmtKg(s.firstKg),
|
|
295
|
+
last: isSingleDay(s) ? MISSING : fmtKg(s.lastKg),
|
|
296
|
+
change: isSingleDay(s) ? MISSING : fmtDelta(s.changeKg),
|
|
297
|
+
});
|
|
298
|
+
return renderDataTable({
|
|
299
|
+
columns: [...COMPARE_COLUMNS],
|
|
300
|
+
rows: [rowOf(b), rowOf(a)],
|
|
301
|
+
caption,
|
|
302
|
+
emptyText: '对比期没有记录(两段都有记录才能对比)',
|
|
303
|
+
});
|
|
304
|
+
}
|
|
305
|
+
/** 结论判语(两面同形):**一句话**说「两段之间这个差别算不算大」。
|
|
306
|
+
* **不带「结论:」前缀**——折叠区标题已经是「结论」,正文再来一次就是同一页两处(§5.3 肉眼验收)。
|
|
307
|
+
* **每天变化量不进这句**(#481 整改缺陷 3 的「同一事实不许说三遍」):两段逐字对照归 `strip`。
|
|
308
|
+
*
|
|
309
|
+
* #510 同屏事实收敛(审查席 S2 第二、三类):这一句原来把「两段各自的均值 + 差值 + 方向词 +
|
|
310
|
+
* 幅度判语」逐条念一遍——那几件各住在「体重对比」的值槽与徽章、「本期」「对比期」两张卡的值槽、
|
|
311
|
+
* 表题里,判语块成了同一屏第三、第四处。现在判语**只说差别算不算大**(0.5kg/2kg 两档,与
|
|
312
|
+
* `RATE_EPS` 同为显示口径):不给数、不给方向词、不复述段名与均值;算不出来时只交代原因。 */
|
|
313
|
+
function compareConclusion(a, b, delta, r, missReason, mid) {
|
|
314
|
+
const strip = rhythmStrip(b, a, mid);
|
|
315
|
+
if (delta === null)
|
|
316
|
+
return { sentence: missReason + ',这一次的差值先给不出。', strip };
|
|
317
|
+
const abs = Math.abs(delta);
|
|
318
|
+
const sentence = abs < 0.5 ? '两段之间的差别很小,日常波动就能解释。'
|
|
319
|
+
: abs < 2 ? '两段之间的差别看得出来,但还不到要调整的程度。'
|
|
320
|
+
: '两段之间的差别不小,值得留意。';
|
|
321
|
+
return { sentence, strip };
|
|
322
|
+
}
|
|
323
|
+
/** 结论块的形状版:一句话判语 + **每天变化量一行**(两段各一格)。
|
|
324
|
+
* #510:判语里既不出现方向词也不挂方向胶囊(方向只留差值卡的徽章);两段能不能对照由节奏卡的
|
|
325
|
+
* 徽章(`两段可比`/`记录太少`)说,这里也不再复述。 */
|
|
326
|
+
function conclusionBlock(c) {
|
|
327
|
+
return verdict(c.sentence, c.strip === '' ? [] : [c.strip]);
|
|
328
|
+
}
|
|
329
|
+
/** 复制载荷(`stat` 形,键写中文):两段读数+差值方向+节奏+结论原句。
|
|
330
|
+
*
|
|
331
|
+
* **可见文本写「—」,载荷保留原始值**(`docs/skills/skill-calorie/t395-融合基准.md` 裁定 2):
|
|
332
|
+
* 缺的量给 `null`(text 口径落共用占位符、json 落 `null`、csv 落空串),绝不把 `—` 写进载荷。
|
|
333
|
+
* 数字走 `metricsOf` 冻结投影(§4#5:页上看到的数=复制出去的数,缺值不当 0)。 */
|
|
334
|
+
function compareCopyArea(a, b, delta, r, conclusion, command) {
|
|
335
|
+
const ra = rateOf(a);
|
|
336
|
+
const rb = rateOf(b);
|
|
337
|
+
const nums = metricsOf({
|
|
338
|
+
[b.label + '均值kg']: b.avg, [b.label + '期初kg']: b.firstKg, [b.label + '期末kg']: b.lastKg,
|
|
339
|
+
[b.label + '变化kg']: b.changeKg, [b.label + '波动kg']: b.volatility ?? null,
|
|
340
|
+
[a.label + '均值kg']: a.avg, [a.label + '期初kg']: a.firstKg, [a.label + '期末kg']: a.lastKg,
|
|
341
|
+
[a.label + '变化kg']: a.changeKg, [a.label + '波动kg']: a.volatility ?? null,
|
|
342
|
+
'均值差kg': delta,
|
|
343
|
+
'日均速率差g': ra === null || rb === null ? null : Math.round((rb - ra) * 1000),
|
|
344
|
+
});
|
|
345
|
+
const metrics = {
|
|
346
|
+
...nums,
|
|
347
|
+
[b.label + '区间']: rangeText(b), [b.label + '条数']: b.count,
|
|
348
|
+
[a.label + '区间']: rangeText(a), [a.label + '条数']: a.count,
|
|
349
|
+
'差值方向': delta === null ? null : directionWord(delta),
|
|
350
|
+
'每天变化量': r.word, '结论': conclusion,
|
|
351
|
+
};
|
|
352
|
+
const envelope = {
|
|
353
|
+
version: DOC_VERSION, skill: DOC_SKILL, shape: 'stat', key: CMD_KEY,
|
|
354
|
+
data: { metrics },
|
|
355
|
+
};
|
|
356
|
+
return copyArea({
|
|
357
|
+
data: { envelope },
|
|
358
|
+
log: { envelope, copyLog: copyLog({ command, source: COPY_SOURCE, actionAt: nowStamp(), version: DOC_VERSION }) },
|
|
359
|
+
});
|
|
360
|
+
}
|
|
361
|
+
function curveOf(rows) {
|
|
362
|
+
const row = (rows ?? []).find((e) => Array.isArray(e.spark) && e.spark.length >= 2);
|
|
363
|
+
if (!row || !row.spark)
|
|
364
|
+
return null;
|
|
365
|
+
const items = row.spark.map((p) => ({ label: p.d, value: p.kg }));
|
|
366
|
+
const values = items.map((p) => p.value);
|
|
367
|
+
const min = Math.min(...values);
|
|
368
|
+
const max = Math.max(...values);
|
|
369
|
+
let lo = min;
|
|
370
|
+
let hi = max;
|
|
371
|
+
if (hi - lo < 0.4) {
|
|
372
|
+
const mid = (lo + hi) / 2;
|
|
373
|
+
lo = mid - 0.2;
|
|
374
|
+
hi = mid + 0.2;
|
|
375
|
+
}
|
|
376
|
+
const pad = Math.max(0.1, (hi - lo) * 0.1);
|
|
377
|
+
const yMin = Math.floor((lo - pad) * 10) / 10;
|
|
378
|
+
let yMax = Math.ceil((hi + pad) * 10) / 10;
|
|
379
|
+
let tenths = Math.round((yMax - yMin) * 10);
|
|
380
|
+
while (tenths < 4) {
|
|
381
|
+
yMax = Math.round((yMax + 0.1) * 10) / 10;
|
|
382
|
+
tenths += 1;
|
|
383
|
+
}
|
|
384
|
+
while (tenths % 5 !== 0 && tenths % 4 !== 0 && tenths % 3 !== 0) {
|
|
385
|
+
yMax = Math.round((yMax + 0.1) * 10) / 10;
|
|
386
|
+
tenths += 1;
|
|
387
|
+
}
|
|
388
|
+
const steps = [5, 4, 3].find((k) => tenths % k === 0) ?? 4;
|
|
389
|
+
return { title: row.label, items, yMin, yMax, yTicks: steps + 1 };
|
|
390
|
+
}
|
|
391
|
+
/** 轨迹图区块:纵轴刻度与格式显式写(§5.1:不悬停也能读出一个数值)。 */
|
|
392
|
+
function renderCurveBlock(curve) {
|
|
393
|
+
return renderChartBlock({
|
|
394
|
+
kind: 'line',
|
|
395
|
+
title: curve.title,
|
|
396
|
+
input: {
|
|
397
|
+
items: curve.items.map((p) => ({ label: p.label, value: p.value })),
|
|
398
|
+
options: {
|
|
399
|
+
height: 160,
|
|
400
|
+
labels: 'select',
|
|
401
|
+
yTicks: curve.yTicks,
|
|
402
|
+
yMin: curve.yMin,
|
|
403
|
+
yMax: curve.yMax,
|
|
404
|
+
format: (v) => v.toFixed(1) + ' kg',
|
|
405
|
+
showDots: true,
|
|
406
|
+
emptyText: '本段无体重记录',
|
|
407
|
+
},
|
|
408
|
+
},
|
|
409
|
+
});
|
|
410
|
+
}
|
|
411
|
+
function renderComparePage(core) {
|
|
412
|
+
const { a, b } = core;
|
|
413
|
+
const delta = deltaOf(a, b);
|
|
414
|
+
const rhythm = rhythmOf(a, b);
|
|
415
|
+
const conclusion = compareConclusion(a, b, delta, rhythm, core.missReason, core.mid);
|
|
416
|
+
const band = premiseNotice(a, b, core.mid, core.anchorMiss);
|
|
417
|
+
// 页内样式放装配的**第一项**(`weightUi.ts` 的形状词汇:事实条/窗口条/逐条列表/判语块/两段对照块)。
|
|
418
|
+
const parts = [weightUiCss()];
|
|
419
|
+
// 页顶软横幅先于读数(老实物 `weight_compare.html:79` 的软横幅就在读数之上):它讲的是「这些读数该怎么看」
|
|
420
|
+
// 的前提,故排在对照块之前。首行是记录条数读数(共用提示块),**逐条前提**紧随其后成列表(一前提一行)。
|
|
421
|
+
if (band) {
|
|
422
|
+
parts.push(notice({ title: '记录与说明', msg: band.msg, icon: 'warn' }));
|
|
423
|
+
parts.push(bulletList(band.items));
|
|
424
|
+
}
|
|
425
|
+
/* 两段对照块(本轮):这一块就是原来页题副标题那句 `本期 X ~ Y vs 对比期 Z ~ W` 的形状版——
|
|
426
|
+
近段在左、参照段在右,中间那枚连接件写「对比」+差值+方向;页上剩下的第三件读数(每天变化)
|
|
427
|
+
挂在块尾。差值那一个数与方向**只此一处**(原来分别在「体重对比」卡与两段卡上)。 */
|
|
428
|
+
parts.push(compareBlock({
|
|
429
|
+
b: segmentCard(b), a: segmentCard(a), link: compareLink(delta), foot: rhythmCard(rhythm, a, b),
|
|
430
|
+
}));
|
|
431
|
+
parts.push(renderSegmentsTable(a, b, core.caption(delta)));
|
|
432
|
+
if (core.extraRows.length > 0) {
|
|
433
|
+
// 标签进 `main`(宽列)、值进 `right`:`left` 只有 44px(给 ▲/▼/— 这类标记用),
|
|
434
|
+
// 长标签塞进去会逐字换行。**不给 `left`**——组件会给这类行加
|
|
435
|
+
// `-no-left` 修饰类、那一列不占位。
|
|
436
|
+
parts.push(renderListRows({
|
|
437
|
+
items: core.extraRows.map((e) => ({ main: e.label, right: e.value })),
|
|
438
|
+
emptyText: '无补充对照',
|
|
439
|
+
}));
|
|
440
|
+
}
|
|
441
|
+
if (core.curve)
|
|
442
|
+
parts.push(renderCurveBlock(core.curve));
|
|
443
|
+
parts.push(conclusionBlock(conclusion));
|
|
444
|
+
parts.push(renderCaliberLine(sourceText(a, b)));
|
|
445
|
+
parts.push(compareCopyArea(a, b, delta, rhythm, conclusion.sentence, core.command));
|
|
446
|
+
return assembleDocPage({
|
|
447
|
+
docTitle: DOC_TITLE,
|
|
448
|
+
title: core.title,
|
|
449
|
+
eyebrow: '',
|
|
450
|
+
subtitle: core.subtitle,
|
|
451
|
+
content: parts.join(''),
|
|
452
|
+
charts: core.curve !== null,
|
|
453
|
+
});
|
|
454
|
+
}
|
|
455
|
+
/* ── 窗口面(#332 自 `plateDocs.ts` 原样迁入:weight_compare.html 对照) ── */
|
|
456
|
+
/** 窗口面的 `CompareSide` → 共用段形状。 */
|
|
457
|
+
const sideToSegment = (label, s) => ({
|
|
458
|
+
label, range: s.start + ' ~ ' + s.end, count: s.count ?? 0,
|
|
459
|
+
avg: s.avgWeight, firstKg: s.firstWeight, lastKg: s.lastWeight, changeKg: s.changeKg,
|
|
460
|
+
});
|
|
461
|
+
export function buildWeightCompareDoc(v, command = '') {
|
|
462
|
+
const b = sideToSegment('本期', v.compare.currentPeriod);
|
|
463
|
+
const a = sideToSegment('对比期', v.compare.comparePeriod);
|
|
464
|
+
return renderComparePage({
|
|
465
|
+
title: '体重对比',
|
|
466
|
+
eyebrow: '',
|
|
467
|
+
/* 页题副标题**空**(本轮):原来这一行印的是 `本期 2026-09-01 ~ 2026-09-07 vs 对比期 2026-08-25 ~
|
|
468
|
+
* 2026-08-31`——两段的段名与区间现在各住对照块里那枚卡(同一事实仍只有一处,见 `segmentCard`)。 */
|
|
469
|
+
subtitle: '',
|
|
470
|
+
/* #510:表题不再复述差值(审查席 S2 第三类:同一个数在值槽/表题/判语块印三处)——
|
|
471
|
+
* 那一个数住对照块连接件的值槽与表内「变化」列,表题只说这张表是什么。 */
|
|
472
|
+
caption: () => '两期对比(本期在上)',
|
|
473
|
+
a, b, mid: '本期', extraRows: [], curve: null, anchorMiss: false,
|
|
474
|
+
missReason: '两段都要有记录才能对比', command,
|
|
475
|
+
});
|
|
476
|
+
}
|
|
477
|
+
/** 情景名**上屏那一份**(#481 整改缺陷 1/12):
|
|
478
|
+
* ① `e3` 的名字带着没替换的模板占位符(`减重 N kg 那天 vs 今天`),读者读不出是哪一天
|
|
479
|
+
* ⇒ 在**渲染层**把 `N` 换成调用方给的 kg;
|
|
480
|
+
* ② `b8`/`e5`/`e6` 三个词是行话(`平台期首日`/`入夏最低`/`入冬最低`)
|
|
481
|
+
* ⇒ 换成读者一看就懂的 `平台期第一天`/`今夏以来最低`/`今冬以来最低`。
|
|
482
|
+
* **`SCENARIO_LABELS` 的键与值一字不动**——键形连路由,值仍是冻结表原文(老实物同名)。
|
|
483
|
+
* 别的键的 `N` 另有含义(`a5` 的「近 N 天」是参数名不是数字)⇒ 只认这几条,不写通用替换。 */
|
|
484
|
+
/** 上屏要换掉的行话词(键=情景键,值=[冻结表原文里的那个词, 换成人话的词])。 */
|
|
485
|
+
const SPOKEN_WORDS = {
|
|
486
|
+
b8: ['平台期首日', '平台期第一天'],
|
|
487
|
+
e5: ['入夏最低', '今夏以来最低'],
|
|
488
|
+
e6: ['入冬最低', '今冬以来最低'],
|
|
489
|
+
};
|
|
490
|
+
function onScreenLabel(scenario, rawLabel, deltaKg) {
|
|
491
|
+
const pair = SPOKEN_WORDS[scenario];
|
|
492
|
+
let label = pair === undefined ? rawLabel : rawLabel.replace(pair[0], pair[1]);
|
|
493
|
+
if (scenario === 'e3')
|
|
494
|
+
label = label.replace('减重 N kg 那天', '减重 ' + deltaKg + ' kg 那天');
|
|
495
|
+
return label;
|
|
496
|
+
}
|
|
497
|
+
/** 表题那一份情景名(本轮):`SCENARIO_LABELS` 的键与值一字不动(那是冻结表原文),
|
|
498
|
+
* 上屏这一份去掉与 H1 逐字重复的 `对比体重:` 前缀,并把字面 ` vs ` 落成「与」——
|
|
499
|
+
* 负责人第三轮第 3 条:正文(含表题)不许再出现 ` vs `;两段谁跟谁比由上面那块两段对照块出形状。 */
|
|
500
|
+
const captionLabelOf = (scenarioLabel) => scenarioLabel.replace('对比体重:', '').replace(' vs ', '与');
|
|
501
|
+
/** 情景入口:同一个命令+一个锚点参数,锚点日期由算式派生。 */
|
|
502
|
+
export function viewWeightCompareScenario(db, scenario, params, anchor) {
|
|
503
|
+
const rawLabel = SCENARIO_LABELS[scenario];
|
|
504
|
+
if (!rawLabel)
|
|
505
|
+
throw new CalorieRenderError('bad-input', '未知对比情景: ' + scenario);
|
|
506
|
+
const deltaArg = optNum(params, 'delta') ?? 5;
|
|
507
|
+
const scenarioLabel = onScreenLabel(scenario, rawLabel, deltaArg);
|
|
508
|
+
const opts = {
|
|
509
|
+
delta: deltaArg,
|
|
510
|
+
n: optInt(params, 'n') ?? 30,
|
|
511
|
+
...(scenario === 'a2'
|
|
512
|
+
? {
|
|
513
|
+
startA: needDay(params, 'start'), endA: needDay(params, 'end'),
|
|
514
|
+
startB: needDay(params, 'compareStart'), endB: needDay(params, 'compareEnd'),
|
|
515
|
+
}
|
|
516
|
+
: {}),
|
|
517
|
+
scheduleDbPath: optStr(params, 'scheduleDbPath') ?? null,
|
|
518
|
+
};
|
|
519
|
+
let result;
|
|
520
|
+
try {
|
|
521
|
+
result = runScenario(db, scenario, opts, anchor);
|
|
522
|
+
}
|
|
523
|
+
catch (e) {
|
|
524
|
+
if (e instanceof FetchError)
|
|
525
|
+
throw new CalorieRenderError('missing-data', e.message);
|
|
526
|
+
throw e;
|
|
527
|
+
}
|
|
528
|
+
const view = { scenario, scenarioLabel, result, curve: curveOf(result.extraRows) };
|
|
529
|
+
const deltaKg = result.compare.deltaKg;
|
|
530
|
+
const metrics = metricsOf({
|
|
531
|
+
deltaKg,
|
|
532
|
+
segACount: result.segA.count, segBCount: result.segB.count,
|
|
533
|
+
});
|
|
534
|
+
return { data: { metrics }, html: buildScenarioCompareDoc(view, commandOf(params)) };
|
|
535
|
+
}
|
|
536
|
+
/** 情景的 `Seg` → 共用段形状(`weightCompare*.ts` 的字段名在这里对齐一次)。 */
|
|
537
|
+
const segToCompare = (s) => ({
|
|
538
|
+
label: s.label, range: s.range, count: s.count, avg: s.avg,
|
|
539
|
+
firstKg: s.startKg, lastKg: s.endKg, changeKg: s.netChange, volatility: s.volatility,
|
|
540
|
+
...(s.spanDays === undefined ? {} : { spanDays: s.spanDays }),
|
|
541
|
+
});
|
|
542
|
+
/** 情景整页装配(画面:两段对照块(两枚段卡 + 连接件 + 每天变化)/两段表/补充对照+轨迹图/样本前提/结论;
|
|
543
|
+
* 锚点日期印在段卡的区间那一槽里)。 */
|
|
544
|
+
export function buildScenarioCompareDoc(v, command = '') {
|
|
545
|
+
const r = v.result;
|
|
546
|
+
const a = segToCompare(r.segA);
|
|
547
|
+
const b = segToCompare(r.segB);
|
|
548
|
+
const delta = numOrNull(r.compare.deltaKg);
|
|
549
|
+
const anchorMiss = Boolean(r.tolerance && !r.tolerance.hit);
|
|
550
|
+
return renderComparePage({
|
|
551
|
+
title: '对比体重',
|
|
552
|
+
/* 眉标整行删(本轮裁定):原来印的是 `calorie.view.weight-compare · 情景 b8` 这类**内部代号**,
|
|
553
|
+
* 与页题副标题逐字重复 ⇒ 权重域全族一律不出这一行(`assembleDocPage` 收空串即不出)。 */
|
|
554
|
+
eyebrow: '',
|
|
555
|
+
/* 页题副标题**空**(本轮,同窗口面):两段的段名与区间各住对照块里那枚卡;
|
|
556
|
+
* 情景名(「减重 5 kg 那天与今天」这种)改住表题——那里只有一处,且页题行不再挤一长串日期。 */
|
|
557
|
+
subtitle: '',
|
|
558
|
+
/* #510:同上——表题不带差值那个数(它住对照块连接件的值槽);情景名是这张表的读法,留着。 */
|
|
559
|
+
caption: () => captionLabelOf(v.scenarioLabel),
|
|
560
|
+
/* 情景卡整张删(本轮裁定):它印的参照段标签与页题副标题逐字重复,徽章「已找到这一天」是
|
|
561
|
+
* 正常态(页能出,正说明那一天找到了);真没找到时页顶软横幅已用「参照日前后 3 天都没有体重记录」据实说明。 */
|
|
562
|
+
a, b, mid: '当前',
|
|
563
|
+
extraRows: r.extraRows ?? [],
|
|
564
|
+
curve: v.curve,
|
|
565
|
+
anchorMiss,
|
|
566
|
+
missReason: anchorMiss ? '对比锚点 ±3 天内无记录' : (r.sampleWarning ?? '样本不足'),
|
|
567
|
+
command,
|
|
568
|
+
});
|
|
569
|
+
}
|
|
570
|
+
//# sourceMappingURL=compare.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compare.js","sourceRoot":"","sources":["../../src/weight/compare.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/** 改体重记录(HELP 场景 03「体重」下一级):`calorie.weight.update`/`calorie.weight.remove` 写。
|
|
2
|
+
*
|
|
3
|
+
* 两条命令都收「按 id」与「按日期/范围」两套定位口径——参数形状与回执逐字沿用原分派层。
|
|
4
|
+
* #337 融合:回执行 `items` 补出整页那两张表要用的读数——改类给「改前 → 改后」(体重一侧
|
|
5
|
+
* 与备注一侧各成一对,缺的那侧留空串,页面按可见文本口径写 `—`),删类给快照行的可读体重。
|
|
6
|
+
*/
|
|
7
|
+
import type { DatabaseSync } from 'node:sqlite';
|
|
8
|
+
import type { WriteOut } from '../shared/commandSpec.js';
|
|
9
|
+
/** `calorie.weight.update` · 改体重记录(id 或 date 二选一)。 */
|
|
10
|
+
export declare function writeWeightUpdate(params: Record<string, unknown>, db: DatabaseSync): WriteOut;
|
|
11
|
+
/** `calorie.weight.remove` · 删体重记录(id/date/start+end 三选一,硬删除不可恢复)。 */
|
|
12
|
+
export declare function writeWeightRemove(params: Record<string, unknown>, db: DatabaseSync): WriteOut;
|
|
13
|
+
//# sourceMappingURL=edit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"edit.d.ts","sourceRoot":"","sources":["../../src/weight/edit.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGhD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAGzD,sDAAsD;AACtD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,YAAY,GAAG,QAAQ,CAmC7F;AAED,sEAAsE;AACtE,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,YAAY,GAAG,QAAQ,CAuC7F"}
|