@bottlebooks/valid-values 1.1.0
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/.babelrc +9 -0
- package/.eslintrc +11 -0
- package/CHANGELOG.md +53 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +37 -0
- package/dist/locales/locales.d.ts +68 -0
- package/dist/locales/locales.d.ts.map +1 -0
- package/dist/locales/locales.js +135 -0
- package/dist/locales/po/bg.d.js +5 -0
- package/dist/locales/po/bg.d.ts +2462 -0
- package/dist/locales/po/bg.d.ts.map +1 -0
- package/dist/locales/po/bg.js +2470 -0
- package/dist/locales/po/de.d.js +5 -0
- package/dist/locales/po/de.d.ts +2462 -0
- package/dist/locales/po/de.d.ts.map +1 -0
- package/dist/locales/po/de.js +2470 -0
- package/dist/locales/po/ee.d.js +5 -0
- package/dist/locales/po/ee.d.ts +2462 -0
- package/dist/locales/po/ee.d.ts.map +1 -0
- package/dist/locales/po/ee.js +2470 -0
- package/dist/locales/po/en.d.js +5 -0
- package/dist/locales/po/en.d.ts +2462 -0
- package/dist/locales/po/en.d.ts.map +1 -0
- package/dist/locales/po/en.js +2470 -0
- package/dist/locales/po/es.d.js +5 -0
- package/dist/locales/po/es.d.ts +2462 -0
- package/dist/locales/po/es.d.ts.map +1 -0
- package/dist/locales/po/es.js +2470 -0
- package/dist/locales/po/fi.d.js +5 -0
- package/dist/locales/po/fi.d.ts +2462 -0
- package/dist/locales/po/fi.d.ts.map +1 -0
- package/dist/locales/po/fi.js +2470 -0
- package/dist/locales/po/fr.d.js +5 -0
- package/dist/locales/po/fr.d.ts +2462 -0
- package/dist/locales/po/fr.d.ts.map +1 -0
- package/dist/locales/po/fr.js +2470 -0
- package/dist/locales/po/hr.d.js +5 -0
- package/dist/locales/po/hr.d.ts +2462 -0
- package/dist/locales/po/hr.d.ts.map +1 -0
- package/dist/locales/po/hr.js +2470 -0
- package/dist/locales/po/hu.d.js +5 -0
- package/dist/locales/po/hu.d.ts +2462 -0
- package/dist/locales/po/hu.d.ts.map +1 -0
- package/dist/locales/po/hu.js +2470 -0
- package/dist/locales/po/it.d.js +5 -0
- package/dist/locales/po/it.d.ts +2462 -0
- package/dist/locales/po/it.d.ts.map +1 -0
- package/dist/locales/po/it.js +2470 -0
- package/dist/locales/po/lt.d.js +5 -0
- package/dist/locales/po/lt.d.ts +2462 -0
- package/dist/locales/po/lt.d.ts.map +1 -0
- package/dist/locales/po/lt.js +2470 -0
- package/dist/locales/po/lv.d.js +5 -0
- package/dist/locales/po/lv.d.ts +2462 -0
- package/dist/locales/po/lv.d.ts.map +1 -0
- package/dist/locales/po/lv.js +2470 -0
- package/dist/locales/po/mt.d.js +5 -0
- package/dist/locales/po/mt.d.ts +2462 -0
- package/dist/locales/po/mt.d.ts.map +1 -0
- package/dist/locales/po/mt.js +2470 -0
- package/dist/locales/po/nl.d.js +5 -0
- package/dist/locales/po/nl.d.ts +2462 -0
- package/dist/locales/po/nl.d.ts.map +1 -0
- package/dist/locales/po/nl.js +2470 -0
- package/dist/locales/po/pl.d.js +5 -0
- package/dist/locales/po/pl.d.ts +2462 -0
- package/dist/locales/po/pl.d.ts.map +1 -0
- package/dist/locales/po/pl.js +2470 -0
- package/dist/locales/po/pt.d.js +5 -0
- package/dist/locales/po/pt.d.ts +2462 -0
- package/dist/locales/po/pt.d.ts.map +1 -0
- package/dist/locales/po/pt.js +2470 -0
- package/dist/locales/po/ro.d.js +5 -0
- package/dist/locales/po/ro.d.ts +2462 -0
- package/dist/locales/po/ro.d.ts.map +1 -0
- package/dist/locales/po/ro.js +2470 -0
- package/dist/locales/po/se.d.js +5 -0
- package/dist/locales/po/se.d.ts +2462 -0
- package/dist/locales/po/se.d.ts.map +1 -0
- package/dist/locales/po/se.js +2470 -0
- package/dist/locales/po/si.d.js +5 -0
- package/dist/locales/po/si.d.ts +2462 -0
- package/dist/locales/po/si.d.ts.map +1 -0
- package/dist/locales/po/si.js +2470 -0
- package/dist/locales/po/sk.d.js +5 -0
- package/dist/locales/po/sk.d.ts +2462 -0
- package/dist/locales/po/sk.d.ts.map +1 -0
- package/dist/locales/po/sk.js +2470 -0
- package/dist/main.d.ts +2 -0
- package/dist/main.d.ts.map +1 -0
- package/dist/main.js +52 -0
- package/dist/validValues/award.d.ts +21 -0
- package/dist/validValues/award.d.ts.map +1 -0
- package/dist/validValues/award.js +1269 -0
- package/dist/validValues/awardMedal.d.ts +21 -0
- package/dist/validValues/awardMedal.d.ts.map +1 -0
- package/dist/validValues/awardMedal.js +2297 -0
- package/dist/validValues/beerStyle.d.ts +23 -0
- package/dist/validValues/beerStyle.d.ts.map +1 -0
- package/dist/validValues/beerStyle.js +947 -0
- package/dist/validValues/certification.d.ts +21 -0
- package/dist/validValues/certification.d.ts.map +1 -0
- package/dist/validValues/certification.js +285 -0
- package/dist/validValues/country.d.ts +21 -0
- package/dist/validValues/country.d.ts.map +1 -0
- package/dist/validValues/country.js +1634 -0
- package/dist/validValues/designation.d.ts +748 -0
- package/dist/validValues/designation.d.ts.map +1 -0
- package/dist/validValues/designation.js +165 -0
- package/dist/validValues/ingredient.d.ts +36 -0
- package/dist/validValues/ingredient.d.ts.map +1 -0
- package/dist/validValues/ingredient.js +719 -0
- package/dist/validValues/json/awards.d.ts +2 -0
- package/dist/validValues/json/awards.d.ts.map +1 -0
- package/dist/validValues/json/awardsMedals.d.ts +2 -0
- package/dist/validValues/json/awardsMedals.d.ts.map +1 -0
- package/dist/validValues/json/beerStyle.d.ts +2 -0
- package/dist/validValues/json/beerStyle.d.ts.map +1 -0
- package/dist/validValues/json/country.d.ts +2 -0
- package/dist/validValues/json/country.d.ts.map +1 -0
- package/dist/validValues/json/designation.d.ts +2 -0
- package/dist/validValues/json/designation.d.ts.map +1 -0
- package/dist/validValues/json/eLabelCertification.d.ts +2 -0
- package/dist/validValues/json/eLabelCertification.d.ts.map +1 -0
- package/dist/validValues/json/ingredient.d.ts +2 -0
- package/dist/validValues/json/ingredient.d.ts.map +1 -0
- package/dist/validValues/json/packagingCertification.d.ts +2 -0
- package/dist/validValues/json/packagingCertification.d.ts.map +1 -0
- package/dist/validValues/json/packagingCertifications.d.ts +2 -0
- package/dist/validValues/json/packagingCertifications.d.ts.map +1 -0
- package/dist/validValues/json/productType.d.ts +2 -0
- package/dist/validValues/json/productType.d.ts.map +1 -0
- package/dist/validValues/json/productionMethod.d.ts +2 -0
- package/dist/validValues/json/productionMethod.d.ts.map +1 -0
- package/dist/validValues/json/region.d.ts +2 -0
- package/dist/validValues/json/region.d.ts.map +1 -0
- package/dist/validValues/json/responsibleConsumptionLogo.d.ts +2 -0
- package/dist/validValues/json/responsibleConsumptionLogo.d.ts.map +1 -0
- package/dist/validValues/json/responsibleConsumptionLogos.d.ts +2 -0
- package/dist/validValues/json/responsibleConsumptionLogos.d.ts.map +1 -0
- package/dist/validValues/json/subregion.d.ts +2 -0
- package/dist/validValues/json/subregion.d.ts.map +1 -0
- package/dist/validValues/json/varietyName.d.ts +2 -0
- package/dist/validValues/json/varietyName.d.ts.map +1 -0
- package/dist/validValues/json/wineColor.d.ts +2 -0
- package/dist/validValues/json/wineColor.d.ts.map +1 -0
- package/dist/validValues/json/wineType.d.ts +2 -0
- package/dist/validValues/json/wineType.d.ts.map +1 -0
- package/dist/validValues/packagingCertification.d.ts +36 -0
- package/dist/validValues/packagingCertification.d.ts.map +1 -0
- package/dist/validValues/packagingCertification.js +55 -0
- package/dist/validValues/productType.d.ts +21 -0
- package/dist/validValues/productType.d.ts.map +1 -0
- package/dist/validValues/productType.js +407 -0
- package/dist/validValues/productionMethod.d.ts +23 -0
- package/dist/validValues/productionMethod.d.ts.map +1 -0
- package/dist/validValues/productionMethod.js +137 -0
- package/dist/validValues/region.d.ts +21 -0
- package/dist/validValues/region.d.ts.map +1 -0
- package/dist/validValues/region.js +5264 -0
- package/dist/validValues/responsibleConsumptionLogo.d.ts +21 -0
- package/dist/validValues/responsibleConsumptionLogo.d.ts.map +1 -0
- package/dist/validValues/responsibleConsumptionLogo.js +69 -0
- package/dist/validValues/subregion.d.ts +21 -0
- package/dist/validValues/subregion.d.ts.map +1 -0
- package/dist/validValues/subregion.js +13867 -0
- package/dist/validValues/types/Award.d.ts +35 -0
- package/dist/validValues/types/Award.d.ts.map +1 -0
- package/dist/validValues/types/Award.js +5 -0
- package/dist/validValues/types/Certification.d.ts +17 -0
- package/dist/validValues/types/Certification.d.ts.map +1 -0
- package/dist/validValues/types/Certification.js +5 -0
- package/dist/validValues/types/CertificationTag.d.ts +2 -0
- package/dist/validValues/types/CertificationTag.d.ts.map +1 -0
- package/dist/validValues/types/CertificationTag.js +5 -0
- package/dist/validValues/types/Country.d.ts +35 -0
- package/dist/validValues/types/Country.d.ts.map +1 -0
- package/dist/validValues/types/Country.js +5 -0
- package/dist/validValues/types/Ingredient.d.ts +21 -0
- package/dist/validValues/types/Ingredient.d.ts.map +1 -0
- package/dist/validValues/types/Ingredient.js +5 -0
- package/dist/validValues/types/IngredientTag.d.ts +2 -0
- package/dist/validValues/types/IngredientTag.d.ts.map +1 -0
- package/dist/validValues/types/IngredientTag.js +5 -0
- package/dist/validValues/types/LocalizedValidValue.d.ts +12 -0
- package/dist/validValues/types/LocalizedValidValue.d.ts.map +1 -0
- package/dist/validValues/types/LocalizedValidValue.js +5 -0
- package/dist/validValues/types/ProductType.d.ts +6 -0
- package/dist/validValues/types/ProductType.d.ts.map +1 -0
- package/dist/validValues/types/ProductType.js +5 -0
- package/dist/validValues/types/ProductTypeKey.d.ts +2 -0
- package/dist/validValues/types/ProductTypeKey.d.ts.map +1 -0
- package/dist/validValues/types/ProductTypeKey.js +5 -0
- package/dist/validValues/types/Region.d.ts +35 -0
- package/dist/validValues/types/Region.d.ts.map +1 -0
- package/dist/validValues/types/Region.js +5 -0
- package/dist/validValues/types/ResponsibleConsumptionLogo.d.ts +15 -0
- package/dist/validValues/types/ResponsibleConsumptionLogo.d.ts.map +1 -0
- package/dist/validValues/types/ResponsibleConsumptionLogo.js +5 -0
- package/dist/validValues/types/ValidValueDefinition.d.ts +34 -0
- package/dist/validValues/types/ValidValueDefinition.d.ts.map +1 -0
- package/dist/validValues/types/ValidValueDefinition.js +5 -0
- package/dist/validValues/types/ValidValueLocale.d.ts +3 -0
- package/dist/validValues/types/ValidValueLocale.d.ts.map +1 -0
- package/dist/validValues/types/ValidValueLocale.js +5 -0
- package/dist/validValues/utils/createValidValues.d.ts +29 -0
- package/dist/validValues/utils/createValidValues.d.ts.map +1 -0
- package/dist/validValues/utils/createValidValues.js +101 -0
- package/dist/validValues/varietyName.d.ts +23 -0
- package/dist/validValues/varietyName.d.ts.map +1 -0
- package/dist/validValues/varietyName.js +9800 -0
- package/dist/validValues/wineColor.d.ts +23 -0
- package/dist/validValues/wineColor.d.ts.map +1 -0
- package/dist/validValues/wineColor.js +57 -0
- package/dist/validValues/wineType.d.ts +23 -0
- package/dist/validValues/wineType.d.ts.map +1 -0
- package/dist/validValues/wineType.js +57 -0
- package/dist/validValues.d.ts +17 -0
- package/dist/validValues.d.ts.map +1 -0
- package/dist/validValues.js +135 -0
- package/dist/vite-env.d.js +2 -0
- package/index.html +12 -0
- package/lingui.config.ts +39 -0
- package/package.json +36 -0
- package/src/index.ts +10 -0
- package/src/locales/json/bg.json +51 -0
- package/src/locales/json/cz.json +51 -0
- package/src/locales/json/de.json +51 -0
- package/src/locales/json/dk.json +51 -0
- package/src/locales/json/ee.json +51 -0
- package/src/locales/json/en.json +41 -0
- package/src/locales/json/es.json +51 -0
- package/src/locales/json/fi.json +51 -0
- package/src/locales/json/fr.json +51 -0
- package/src/locales/json/gr.json +51 -0
- package/src/locales/json/hr.json +51 -0
- package/src/locales/json/hu.json +51 -0
- package/src/locales/json/ie.json +51 -0
- package/src/locales/json/it.json +51 -0
- package/src/locales/json/json.json +50 -0
- package/src/locales/json/lt.json +51 -0
- package/src/locales/json/lv.json +51 -0
- package/src/locales/json/mt.json +51 -0
- package/src/locales/json/nl.json +51 -0
- package/src/locales/json/pl.json +51 -0
- package/src/locales/json/props.json +3 -0
- package/src/locales/json/pt.json +51 -0
- package/src/locales/json/ro.json +51 -0
- package/src/locales/json/se.json +50 -0
- package/src/locales/json/si.json +51 -0
- package/src/locales/json/sk.json +3 -0
- package/src/locales/locales.ts +91 -0
- package/src/locales/po/bg.d.ts +4 -0
- package/src/locales/po/bg.po +9848 -0
- package/src/locales/po/bg.ts +1 -0
- package/src/locales/po/cz.po +156 -0
- package/src/locales/po/de.d.ts +4 -0
- package/src/locales/po/de.po +9848 -0
- package/src/locales/po/de.ts +1 -0
- package/src/locales/po/dk.po +156 -0
- package/src/locales/po/ee.d.ts +4 -0
- package/src/locales/po/ee.po +9848 -0
- package/src/locales/po/ee.ts +1 -0
- package/src/locales/po/en.d.ts +4 -0
- package/src/locales/po/en.po +9850 -0
- package/src/locales/po/en.ts +1 -0
- package/src/locales/po/es.d.ts +4 -0
- package/src/locales/po/es.po +9848 -0
- package/src/locales/po/es.ts +1 -0
- package/src/locales/po/fi.d.ts +4 -0
- package/src/locales/po/fi.po +9848 -0
- package/src/locales/po/fi.ts +1 -0
- package/src/locales/po/fr.d.ts +4 -0
- package/src/locales/po/fr.po +9848 -0
- package/src/locales/po/fr.ts +1 -0
- package/src/locales/po/gr.po +156 -0
- package/src/locales/po/hr.d.ts +4 -0
- package/src/locales/po/hr.po +9848 -0
- package/src/locales/po/hr.ts +1 -0
- package/src/locales/po/hu.d.ts +4 -0
- package/src/locales/po/hu.po +9848 -0
- package/src/locales/po/hu.ts +1 -0
- package/src/locales/po/ie.po +156 -0
- package/src/locales/po/it.d.ts +4 -0
- package/src/locales/po/it.po +9848 -0
- package/src/locales/po/it.ts +1 -0
- package/src/locales/po/lt.d.ts +4 -0
- package/src/locales/po/lt.po +9848 -0
- package/src/locales/po/lt.ts +1 -0
- package/src/locales/po/lv.d.ts +4 -0
- package/src/locales/po/lv.po +9848 -0
- package/src/locales/po/lv.ts +1 -0
- package/src/locales/po/mt.d.ts +4 -0
- package/src/locales/po/mt.po +9848 -0
- package/src/locales/po/mt.ts +1 -0
- package/src/locales/po/nl.d.ts +4 -0
- package/src/locales/po/nl.po +9848 -0
- package/src/locales/po/nl.ts +1 -0
- package/src/locales/po/pl.d.ts +4 -0
- package/src/locales/po/pl.po +9848 -0
- package/src/locales/po/pl.ts +1 -0
- package/src/locales/po/pt.d.ts +4 -0
- package/src/locales/po/pt.po +9848 -0
- package/src/locales/po/pt.ts +1 -0
- package/src/locales/po/ro.d.ts +4 -0
- package/src/locales/po/ro.po +9848 -0
- package/src/locales/po/ro.ts +1 -0
- package/src/locales/po/se.d.ts +4 -0
- package/src/locales/po/se.po +9848 -0
- package/src/locales/po/se.ts +1 -0
- package/src/locales/po/si.d.ts +4 -0
- package/src/locales/po/si.po +9848 -0
- package/src/locales/po/si.ts +1 -0
- package/src/locales/po/sk.d.ts +4 -0
- package/src/locales/po/sk.po +9848 -0
- package/src/locales/po/sk.ts +1 -0
- package/src/main.ts +44 -0
- package/src/scripts/README.md +6 -0
- package/src/scripts/transformArchitectureVV.js +143 -0
- package/src/scripts/transformServerVV.js +70 -0
- package/src/scripts/writeFields.not.test.js +60 -0
- package/src/style.css +96 -0
- package/src/validValues/award.ts +2490 -0
- package/src/validValues/awardMedal.ts +1830 -0
- package/src/validValues/beerStyle.ts +750 -0
- package/src/validValues/certification.ts +275 -0
- package/src/validValues/country.ts +1844 -0
- package/src/validValues/designation.ts +198 -0
- package/src/validValues/ingredient.ts +932 -0
- package/src/validValues/json/awards.js +3194 -0
- package/src/validValues/json/awardsMedals.js +1828 -0
- package/src/validValues/json/beerStyle.js +748 -0
- package/src/validValues/json/country.js +2039 -0
- package/src/validValues/json/designation.js +114 -0
- package/src/validValues/json/eLabelCertification.js +328 -0
- package/src/validValues/json/ingredient.js +913 -0
- package/src/validValues/json/packagingCertification.js +52 -0
- package/src/validValues/json/packagingCertifications.js +64 -0
- package/src/validValues/json/productType.js +315 -0
- package/src/validValues/json/productionMethod.js +100 -0
- package/src/validValues/json/region.js +5801 -0
- package/src/validValues/json/responsibleConsumptionLogo.js +48 -0
- package/src/validValues/json/responsibleConsumptionLogos.js +48 -0
- package/src/validValues/json/subregion.js +11084 -0
- package/src/validValues/json/varietyName.js +9789 -0
- package/src/validValues/json/wineColor.js +36 -0
- package/src/validValues/json/wineType.js +36 -0
- package/src/validValues/packagingCertification.ts +65 -0
- package/src/validValues/productType.ts +318 -0
- package/src/validValues/productionMethod.ts +102 -0
- package/src/validValues/region.ts +5803 -0
- package/src/validValues/responsibleConsumptionLogo.ts +50 -0
- package/src/validValues/subregion.ts +11085 -0
- package/src/validValues/types/Award.ts +39 -0
- package/src/validValues/types/Certification.ts +18 -0
- package/src/validValues/types/CertificationTag.ts +1 -0
- package/src/validValues/types/Country.ts +39 -0
- package/src/validValues/types/Ingredient.ts +22 -0
- package/src/validValues/types/IngredientTag.ts +19 -0
- package/src/validValues/types/LocalizedValidValue.ts +17 -0
- package/src/validValues/types/ProductType.ts +7 -0
- package/src/validValues/types/ProductTypeKey.ts +40 -0
- package/src/validValues/types/Region.ts +39 -0
- package/src/validValues/types/ResponsibleConsumptionLogo.ts +17 -0
- package/src/validValues/types/ValidValueDefinition.ts +38 -0
- package/src/validValues/types/ValidValueLocale.ts +4 -0
- package/src/validValues/utils/createValidValues.ts +74 -0
- package/src/validValues/varietyName.ts +9791 -0
- package/src/validValues/wineColor.ts +38 -0
- package/src/validValues/wineType.ts +38 -0
- package/src/validValues.ts +18 -0
- package/src/vite-env.d.ts +1 -0
- package/tsconfig.json +28 -0
- package/vite.config.js +41 -0
package/src/main.ts
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import createValidValues from './validValues/utils/createValidValues.js';
|
|
2
|
+
import './style.css';
|
|
3
|
+
import * as validValues from './validValues.js';
|
|
4
|
+
|
|
5
|
+
document.querySelector<HTMLDivElement>('#app')!.innerHTML = `
|
|
6
|
+
<div>
|
|
7
|
+
<h1>ValidValues</h1>
|
|
8
|
+
${Object.entries(validValues)
|
|
9
|
+
.map(([key, values]) => {
|
|
10
|
+
if (values.list) {
|
|
11
|
+
const list = values.list as ReturnType<
|
|
12
|
+
typeof createValidValues
|
|
13
|
+
>['list'];
|
|
14
|
+
return `<h2>${key}</h2>
|
|
15
|
+
<pre>${list().map((item, i) =>
|
|
16
|
+
i === 0
|
|
17
|
+
? JSON.stringify(
|
|
18
|
+
{
|
|
19
|
+
// @ts-ignore
|
|
20
|
+
id: item.id,
|
|
21
|
+
'title(en)': item.getTitle('en'),
|
|
22
|
+
'title(de)': item.getTitle('de'),
|
|
23
|
+
titles: item.getTitles(['de', 'en', 'es', 'fr']),
|
|
24
|
+
...item,
|
|
25
|
+
form: item.form && {
|
|
26
|
+
...item.form,
|
|
27
|
+
// 'description(en)': item.form?.getDescription('en'),
|
|
28
|
+
// 'description(de)': item.form?.getDescription('de'),
|
|
29
|
+
},
|
|
30
|
+
},
|
|
31
|
+
undefined,
|
|
32
|
+
2
|
|
33
|
+
)
|
|
34
|
+
: ''
|
|
35
|
+
)}</pre>
|
|
36
|
+
`;
|
|
37
|
+
}
|
|
38
|
+
return `<h2>${key}</h2>
|
|
39
|
+
<pre>${JSON.stringify(values, undefined, 2)}</pre>
|
|
40
|
+
`;
|
|
41
|
+
})
|
|
42
|
+
.join('')}</pre></code>
|
|
43
|
+
</div>
|
|
44
|
+
`;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
Steps for transformis legacy server side valid values
|
|
2
|
+
1. run writeFields.not.test.js
|
|
3
|
+
2. for every valid value category copy ```validValues/json/$category.json``` itno ```validValus/$category.ts```
|
|
4
|
+
2.1. Search ```title: \{(.*?(.|[\n])*?)\}``` and replace with ```title: defineMessage({$1})```
|
|
5
|
+
2.2. Search ```description: \{(.*?(.|[\n])*?)\}``` and replace with ```description: defineMessage({$1})```
|
|
6
|
+
3. Generated files created under /locales/json can be copied into qr-app/src/assets/i18n-ext
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
// const { sortBy } = require('lodash');
|
|
2
|
+
const mappings = require('../../../../bottlebooks-server/architecture/validvalues/mappings');
|
|
3
|
+
|
|
4
|
+
const all = {
|
|
5
|
+
// awards: {
|
|
6
|
+
// _json: require('../../../../bottlebooks-server/architecture/validvalues/validvalues/awards.json'),
|
|
7
|
+
// _mapping: { medals: mappings['awards-awardsMedals'] },
|
|
8
|
+
// props: { addForm: false },
|
|
9
|
+
// },
|
|
10
|
+
// awardsMedals: {
|
|
11
|
+
// _json: require('../../../../bottlebooks-server/architecture/validvalues/validvalues/awardsMedals.json'),
|
|
12
|
+
// props: { addForm: false },
|
|
13
|
+
// },
|
|
14
|
+
// wineColor: {
|
|
15
|
+
// _json: require('../../../../bottlebooks-server/architecture/validvalues/validvalues/wineColor.json'),
|
|
16
|
+
// props: { addForm: false },
|
|
17
|
+
// },
|
|
18
|
+
// wineType: {
|
|
19
|
+
// _json: require('../../../../bottlebooks-server/architecture/validvalues/validvalues/wineType.json'),
|
|
20
|
+
// props: { addForm: false },
|
|
21
|
+
// },
|
|
22
|
+
// designation: require('../../../../bottlebooks-server/architecture/validvalues/validvalues/designation.json'),
|
|
23
|
+
// country: {
|
|
24
|
+
// _json: require('../../../../bottlebooks-server/architecture/validvalues/validvalues/country.json'),
|
|
25
|
+
// _mapping: { regions: mappings['country-appelation'] },
|
|
26
|
+
// props: { addForm: false },
|
|
27
|
+
// },
|
|
28
|
+
// region: {
|
|
29
|
+
// _json: require('../../../../bottlebooks-server/architecture/validvalues/validvalues/appelation'),
|
|
30
|
+
// _mapping: { subregions: mappings['appelation-subregion'] },
|
|
31
|
+
// props: { addForm: true },
|
|
32
|
+
// },
|
|
33
|
+
// subregion: {
|
|
34
|
+
// _json: require('../../../../bottlebooks-server/architecture/validvalues/validvalues/subregion'),
|
|
35
|
+
// props: { addForm: true },
|
|
36
|
+
// },
|
|
37
|
+
// beerStyle: {
|
|
38
|
+
// _json: require('../../../../bottlebooks-server/architecture/validvalues/validvalues/beerStyle.json'),
|
|
39
|
+
// props: { addForm: false },
|
|
40
|
+
// },
|
|
41
|
+
// varietyName: {
|
|
42
|
+
// _json: require('../../../../bottlebooks-server/architecture/validvalues/validvalues/grapes.json'),
|
|
43
|
+
// props: { addForm: false },
|
|
44
|
+
// },
|
|
45
|
+
};
|
|
46
|
+
module.exports = extractAll;
|
|
47
|
+
|
|
48
|
+
function extractAll() {
|
|
49
|
+
const r = Object.entries(all)
|
|
50
|
+
.sort()
|
|
51
|
+
.map(([validValueCategory, vv]) => {
|
|
52
|
+
const _mapping = vv._mapping;
|
|
53
|
+
let addForm = true;
|
|
54
|
+
const withoutTranslations = ['varietyName', 'awards'].find(
|
|
55
|
+
(category) => category === validValueCategory
|
|
56
|
+
);
|
|
57
|
+
const keyIsTitle = ['varietyName'].includes(validValueCategory);
|
|
58
|
+
if (vv._json) {
|
|
59
|
+
vv = vv._json;
|
|
60
|
+
addForm = vv.props?.addForm;
|
|
61
|
+
}
|
|
62
|
+
const i18n = {};
|
|
63
|
+
const _all = vv._all || {};
|
|
64
|
+
const keys = Object.keys(vv);
|
|
65
|
+
const tsVV = keys.reduce((acc, locale) => {
|
|
66
|
+
if (validValueCategory === 'awards') {
|
|
67
|
+
if (locale === '_all') locale = 'en_US';
|
|
68
|
+
else return acc; //ignore noAwardsYet
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
//assume _all as english version when en_US is not defined in json file.
|
|
72
|
+
if (locale === '_all' && !keys?.includes('en_US')) locale = 'en_US';
|
|
73
|
+
if (locale === 'sort') {
|
|
74
|
+
if ('none' !== vv[locale]) {
|
|
75
|
+
throw new Error(`Unhandled ${validValueCategory} sort=${locale}`);
|
|
76
|
+
}
|
|
77
|
+
return acc;
|
|
78
|
+
} else if (locale === '_all') {
|
|
79
|
+
return acc;
|
|
80
|
+
}
|
|
81
|
+
const oneLocaleValidValues = { ..._all, ...vv[locale] };
|
|
82
|
+
const localeParts = locale.split('_');
|
|
83
|
+
locale = localeParts[0];
|
|
84
|
+
const newValidValues = Object.keys(oneLocaleValidValues)
|
|
85
|
+
.sort()
|
|
86
|
+
.reduce((acc, key) => {
|
|
87
|
+
const newKey = `validValues.${validValueCategory}.${key}`;
|
|
88
|
+
const title = oneLocaleValidValues[key];
|
|
89
|
+
i18n[locale] = i18n[locale] || {};
|
|
90
|
+
i18n[locale][newKey] = title;
|
|
91
|
+
if (locale === 'en') {
|
|
92
|
+
const logo = null;
|
|
93
|
+
let newValidValue = {
|
|
94
|
+
key,
|
|
95
|
+
title: {
|
|
96
|
+
id: newKey,
|
|
97
|
+
message: title,
|
|
98
|
+
},
|
|
99
|
+
frontend: logo ? { logo } : undefined,
|
|
100
|
+
form: addForm
|
|
101
|
+
? {
|
|
102
|
+
tags: [],
|
|
103
|
+
productType: [],
|
|
104
|
+
//
|
|
105
|
+
// description:
|
|
106
|
+
// // 'defineMessage(' +
|
|
107
|
+
// {
|
|
108
|
+
// comment: 'Description for ingredient, used in edit forms.',
|
|
109
|
+
// message: '',
|
|
110
|
+
// },
|
|
111
|
+
}
|
|
112
|
+
: {},
|
|
113
|
+
};
|
|
114
|
+
if (_mapping) {
|
|
115
|
+
const prop = Object.keys(_mapping)[0];
|
|
116
|
+
newValidValue = {
|
|
117
|
+
...newValidValue,
|
|
118
|
+
[prop]: _mapping[prop]?.[key] || [],
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
acc = acc || {};
|
|
123
|
+
if (withoutTranslations) {
|
|
124
|
+
if (keyIsTitle) {
|
|
125
|
+
acc[title] = { ...newValidValue, title: title, key: title };
|
|
126
|
+
} else {
|
|
127
|
+
acc[key] = { ...newValidValue, title: title };
|
|
128
|
+
}
|
|
129
|
+
} else {
|
|
130
|
+
acc[key] = newValidValue;
|
|
131
|
+
}
|
|
132
|
+
} else {
|
|
133
|
+
}
|
|
134
|
+
return acc;
|
|
135
|
+
}, {});
|
|
136
|
+
|
|
137
|
+
// console.log(i);
|
|
138
|
+
return { ...acc, ...newValidValues };
|
|
139
|
+
}, {});
|
|
140
|
+
return { name: validValueCategory, tsVV, i18n };
|
|
141
|
+
});
|
|
142
|
+
return r;
|
|
143
|
+
}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
const { sortBy } = require('lodash');
|
|
2
|
+
|
|
3
|
+
const all = {
|
|
4
|
+
// ingredient: require('@bottlebooks/graphql-server/src/resolvers/_eLabels/ELabel/validValues/off/ingredient'),
|
|
5
|
+
// eLabelCertification: require('@bottlebooks/graphql-server/src/resolvers/_eLabels/ELabel/validValues/off/eLabelCertifications'),
|
|
6
|
+
// packagingCertification: require('@bottlebooks/graphql-server/src/resolvers/_eLabels/ELabel/validValues/packagingCertifications'),
|
|
7
|
+
// productType: require('@bottlebooks/graphql-server/src/resolvers/_eLabels/ELabel/validValues/productType'),
|
|
8
|
+
// productionMethod: require('@bottlebooks/graphql-server/src/resolvers/_eLabels/ELabel/validValues/productionMethod'),
|
|
9
|
+
// responsibleConsumptionLogo: require('@bottlebooks/graphql-server/src/resolvers/_eLabels/ELabel/validValues/responsibleConsumptionLogos'),
|
|
10
|
+
};
|
|
11
|
+
const withoutTranslations = ['eLabelCertification', 'packagingCertification'];
|
|
12
|
+
module.exports = extractAll;
|
|
13
|
+
|
|
14
|
+
function extractAll() {
|
|
15
|
+
return Object.entries(all)
|
|
16
|
+
.sort()
|
|
17
|
+
.map(([validValueCategory, vv]) => {
|
|
18
|
+
const i18n = {};
|
|
19
|
+
const tsVV = sortBy(Object.entries(vv), ([key, val]) => key).reduce(
|
|
20
|
+
(acc, [key, { tags, productType, logo, locales }]) => {
|
|
21
|
+
const newKey = `validValues.${validValueCategory}.${key}`;
|
|
22
|
+
for (const locale in locales) {
|
|
23
|
+
i18n[locale] = i18n[locale] || {};
|
|
24
|
+
// Certain valid values should not be translated
|
|
25
|
+
if (
|
|
26
|
+
withoutTranslations.find(
|
|
27
|
+
(category) => category === validValueCategory
|
|
28
|
+
)
|
|
29
|
+
) {
|
|
30
|
+
// i18n[locale][newKey] = locales.en;
|
|
31
|
+
} else {
|
|
32
|
+
const translation = locales[locale];
|
|
33
|
+
if (translation) i18n[locale][newKey] = locales[locale];
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
const validValue = {
|
|
37
|
+
key,
|
|
38
|
+
// name: locales.en,
|
|
39
|
+
title: {
|
|
40
|
+
id: newKey,
|
|
41
|
+
message: locales.en,
|
|
42
|
+
},
|
|
43
|
+
frontend: logo ? { logo } : undefined,
|
|
44
|
+
form: {
|
|
45
|
+
tags,
|
|
46
|
+
productType,
|
|
47
|
+
//
|
|
48
|
+
// description:
|
|
49
|
+
// // 'defineMessage(' +
|
|
50
|
+
// {
|
|
51
|
+
// comment: 'Description for ingredient, used in edit forms.',
|
|
52
|
+
// message: '',
|
|
53
|
+
// },
|
|
54
|
+
},
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
// Certain valid values should not be translated
|
|
58
|
+
if (withoutTranslations.includes(validValueCategory)) {
|
|
59
|
+
validValue.title = locales.en;
|
|
60
|
+
}
|
|
61
|
+
// console.log(i);
|
|
62
|
+
acc[key] = validValue;
|
|
63
|
+
return acc;
|
|
64
|
+
},
|
|
65
|
+
{}
|
|
66
|
+
);
|
|
67
|
+
return { name: validValueCategory, tsVV, i18n };
|
|
68
|
+
});
|
|
69
|
+
// ['sk'].map((locale) => {
|
|
70
|
+
}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
const fs = require('fs');
|
|
2
|
+
const path = require('path');
|
|
3
|
+
const transformFields = require('./transformServerVV.js');
|
|
4
|
+
const transformArchitectureVV = require('./transformArchitectureVV');
|
|
5
|
+
|
|
6
|
+
describe('Transform bottlebooks-server/** legacy format valid values', () => {
|
|
7
|
+
it('run', () => {
|
|
8
|
+
const allValidValues = [
|
|
9
|
+
...transformFields(),
|
|
10
|
+
...transformArchitectureVV(),
|
|
11
|
+
].filter(Boolean);
|
|
12
|
+
const i18All = {};
|
|
13
|
+
for (const { name, tsVV, i18n } of allValidValues) {
|
|
14
|
+
expect(tsVV).not.toBeUndefined();
|
|
15
|
+
expect(i18n).not.toBeUndefined();
|
|
16
|
+
|
|
17
|
+
// Building content for i18n json files.
|
|
18
|
+
for (const locale in i18n) {
|
|
19
|
+
i18All[locale] = { ...i18All[locale], ...i18n[locale] };
|
|
20
|
+
}
|
|
21
|
+
fs.writeFileSync(
|
|
22
|
+
path.resolve(__dirname, `../validValues/json/${name}.js`),
|
|
23
|
+
"import { defineMessage } from '@lingui/macro';\n" +
|
|
24
|
+
'const validValues = \n' +
|
|
25
|
+
JSON.stringify(tsVV, null, 2).replace(
|
|
26
|
+
/"title": \{(.*?(.|[\n])*?)\}/g,
|
|
27
|
+
'"title": defineMessage({$1})'
|
|
28
|
+
),
|
|
29
|
+
{ encoding: 'utf8' }
|
|
30
|
+
);
|
|
31
|
+
}
|
|
32
|
+
for (const locale in i18All) {
|
|
33
|
+
fs.writeFileSync(
|
|
34
|
+
path.resolve(__dirname, `../locales/json/${locale}.json`),
|
|
35
|
+
JSON.stringify(i18All[locale], null, 2),
|
|
36
|
+
{ encoding: 'utf8' }
|
|
37
|
+
);
|
|
38
|
+
|
|
39
|
+
if (locale !== 'en') {
|
|
40
|
+
let po =
|
|
41
|
+
'msgid ""\n' +
|
|
42
|
+
'msgstr ""\n' +
|
|
43
|
+
'"POT-Creation-Date: 2022-10-26 17:23+0200"\n' +
|
|
44
|
+
'"MIME-Version: 1.0"\n' +
|
|
45
|
+
'"Content-Type: text/plain; charset=utf-8"\n' +
|
|
46
|
+
'"Content-Transfer-Encoding: 8bit"\n' +
|
|
47
|
+
'"X-Generator: @lingui/cli"\n' +
|
|
48
|
+
`"Language: ${locale}"\n\n`;
|
|
49
|
+
for (const prop in i18All[locale]) {
|
|
50
|
+
po += `msgid "${prop}"\nmsgstr "${i18All[locale][prop]}"\n\n`;
|
|
51
|
+
}
|
|
52
|
+
fs.writeFileSync(
|
|
53
|
+
path.resolve(__dirname, `../locales/po/${locale}.po`),
|
|
54
|
+
po,
|
|
55
|
+
{ encoding: 'utf8' }
|
|
56
|
+
);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
});
|
package/src/style.css
ADDED
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
:root {
|
|
2
|
+
font-family: Inter, Avenir, Helvetica, Arial, sans-serif;
|
|
3
|
+
font-size: 16px;
|
|
4
|
+
line-height: 24px;
|
|
5
|
+
font-weight: 400;
|
|
6
|
+
|
|
7
|
+
color-scheme: light dark;
|
|
8
|
+
color: rgba(255, 255, 255, 0.87);
|
|
9
|
+
background-color: #242424;
|
|
10
|
+
|
|
11
|
+
font-synthesis: none;
|
|
12
|
+
text-rendering: optimizeLegibility;
|
|
13
|
+
-webkit-font-smoothing: antialiased;
|
|
14
|
+
-moz-osx-font-smoothing: grayscale;
|
|
15
|
+
-webkit-text-size-adjust: 100%;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
a {
|
|
19
|
+
font-weight: 500;
|
|
20
|
+
color: #646cff;
|
|
21
|
+
text-decoration: inherit;
|
|
22
|
+
}
|
|
23
|
+
a:hover {
|
|
24
|
+
color: #535bf2;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
body {
|
|
28
|
+
margin: 0;
|
|
29
|
+
display: flex;
|
|
30
|
+
place-items: center;
|
|
31
|
+
min-width: 320px;
|
|
32
|
+
min-height: 100vh;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
h1 {
|
|
36
|
+
font-size: 3.2em;
|
|
37
|
+
line-height: 1.1;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
#app {
|
|
41
|
+
max-width: 1280px;
|
|
42
|
+
margin: 0 auto;
|
|
43
|
+
padding: 2rem;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.logo {
|
|
47
|
+
height: 6em;
|
|
48
|
+
padding: 1.5em;
|
|
49
|
+
will-change: filter;
|
|
50
|
+
}
|
|
51
|
+
.logo:hover {
|
|
52
|
+
filter: drop-shadow(0 0 2em #646cffaa);
|
|
53
|
+
}
|
|
54
|
+
.logo.vanilla:hover {
|
|
55
|
+
filter: drop-shadow(0 0 2em #3178c6aa);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
.card {
|
|
59
|
+
padding: 2em;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
.read-the-docs {
|
|
63
|
+
color: #888;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
button {
|
|
67
|
+
border-radius: 8px;
|
|
68
|
+
border: 1px solid transparent;
|
|
69
|
+
padding: 0.6em 1.2em;
|
|
70
|
+
font-size: 1em;
|
|
71
|
+
font-weight: 500;
|
|
72
|
+
font-family: inherit;
|
|
73
|
+
background-color: #1a1a1a;
|
|
74
|
+
cursor: pointer;
|
|
75
|
+
transition: border-color 0.25s;
|
|
76
|
+
}
|
|
77
|
+
button:hover {
|
|
78
|
+
border-color: #646cff;
|
|
79
|
+
}
|
|
80
|
+
button:focus,
|
|
81
|
+
button:focus-visible {
|
|
82
|
+
outline: 4px auto -webkit-focus-ring-color;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
@media (prefers-color-scheme: light) {
|
|
86
|
+
:root {
|
|
87
|
+
color: #213547;
|
|
88
|
+
background-color: #ffffff;
|
|
89
|
+
}
|
|
90
|
+
a:hover {
|
|
91
|
+
color: #747bff;
|
|
92
|
+
}
|
|
93
|
+
button {
|
|
94
|
+
background-color: #f9f9f9;
|
|
95
|
+
}
|
|
96
|
+
}
|