@bottlebooks/valid-values 2.1.0 → 3.0.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.
Files changed (237) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/README.md +2 -1
  3. package/dist/core/translate.d.ts +2 -2
  4. package/dist/core/translate.d.ts.map +1 -1
  5. package/dist/core/translate.js +3 -3
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +7 -1
  8. package/dist/locales/po/bg.d.ts +2 -0
  9. package/dist/locales/po/bg.d.ts.map +1 -1
  10. package/dist/locales/po/bg.js +2 -0
  11. package/dist/locales/po/cs.d.ts +2 -0
  12. package/dist/locales/po/cs.d.ts.map +1 -1
  13. package/dist/locales/po/cs.js +2 -0
  14. package/dist/locales/po/da.d.ts +2 -0
  15. package/dist/locales/po/da.d.ts.map +1 -1
  16. package/dist/locales/po/da.js +2 -0
  17. package/dist/locales/po/de.d.ts +2 -0
  18. package/dist/locales/po/de.d.ts.map +1 -1
  19. package/dist/locales/po/de.js +2 -0
  20. package/dist/locales/po/ee.d.ts +2 -0
  21. package/dist/locales/po/ee.d.ts.map +1 -1
  22. package/dist/locales/po/ee.js +2 -0
  23. package/dist/locales/po/el.d.ts +2 -0
  24. package/dist/locales/po/el.d.ts.map +1 -1
  25. package/dist/locales/po/el.js +2 -0
  26. package/dist/locales/po/en.d.ts +2 -0
  27. package/dist/locales/po/en.d.ts.map +1 -1
  28. package/dist/locales/po/en.js +2 -0
  29. package/dist/locales/po/es.d.ts +2 -0
  30. package/dist/locales/po/es.d.ts.map +1 -1
  31. package/dist/locales/po/es.js +2 -0
  32. package/dist/locales/po/fi.d.ts +2 -0
  33. package/dist/locales/po/fi.d.ts.map +1 -1
  34. package/dist/locales/po/fi.js +2 -0
  35. package/dist/locales/po/fr.d.ts +2 -0
  36. package/dist/locales/po/fr.d.ts.map +1 -1
  37. package/dist/locales/po/fr.js +2 -0
  38. package/dist/locales/po/ga.d.ts +2 -0
  39. package/dist/locales/po/ga.d.ts.map +1 -1
  40. package/dist/locales/po/ga.js +2 -0
  41. package/dist/locales/po/hr.d.ts +2 -0
  42. package/dist/locales/po/hr.d.ts.map +1 -1
  43. package/dist/locales/po/hr.js +2 -0
  44. package/dist/locales/po/hu.d.ts +2 -0
  45. package/dist/locales/po/hu.d.ts.map +1 -1
  46. package/dist/locales/po/hu.js +2 -0
  47. package/dist/locales/po/it.d.ts +2 -0
  48. package/dist/locales/po/it.d.ts.map +1 -1
  49. package/dist/locales/po/it.js +2 -0
  50. package/dist/locales/po/lt.d.ts +2 -0
  51. package/dist/locales/po/lt.d.ts.map +1 -1
  52. package/dist/locales/po/lt.js +2 -0
  53. package/dist/locales/po/lv.d.ts +2 -0
  54. package/dist/locales/po/lv.d.ts.map +1 -1
  55. package/dist/locales/po/lv.js +2 -0
  56. package/dist/locales/po/mt.d.ts +2 -0
  57. package/dist/locales/po/mt.d.ts.map +1 -1
  58. package/dist/locales/po/mt.js +2 -0
  59. package/dist/locales/po/nl.d.ts +2 -0
  60. package/dist/locales/po/nl.d.ts.map +1 -1
  61. package/dist/locales/po/nl.js +2 -0
  62. package/dist/locales/po/pl.d.ts +2 -0
  63. package/dist/locales/po/pl.d.ts.map +1 -1
  64. package/dist/locales/po/pl.js +2 -0
  65. package/dist/locales/po/pt.d.ts +2 -0
  66. package/dist/locales/po/pt.d.ts.map +1 -1
  67. package/dist/locales/po/pt.js +2 -0
  68. package/dist/locales/po/ro.d.ts +2 -0
  69. package/dist/locales/po/ro.d.ts.map +1 -1
  70. package/dist/locales/po/ro.js +2 -0
  71. package/dist/locales/po/se.d.ts +2 -0
  72. package/dist/locales/po/se.d.ts.map +1 -1
  73. package/dist/locales/po/se.js +2 -0
  74. package/dist/locales/po/si.d.ts +2 -0
  75. package/dist/locales/po/si.d.ts.map +1 -1
  76. package/dist/locales/po/si.js +2 -0
  77. package/dist/locales/po/sk.d.ts +2 -0
  78. package/dist/locales/po/sk.d.ts.map +1 -1
  79. package/dist/locales/po/sk.js +2 -0
  80. package/dist/main.d.ts.map +1 -1
  81. package/dist/main.js +14 -14
  82. package/dist/validValues/award.d.ts +214 -21
  83. package/dist/validValues/award.d.ts.map +1 -1
  84. package/dist/validValues/award.js +665 -662
  85. package/dist/validValues/awardMedal.d.ts +233 -18
  86. package/dist/validValues/awardMedal.d.ts.map +1 -1
  87. package/dist/validValues/awardMedal.js +921 -1148
  88. package/dist/validValues/beerStyle.d.ts +96 -18
  89. package/dist/validValues/beerStyle.d.ts.map +1 -1
  90. package/dist/validValues/beerStyle.js +381 -473
  91. package/dist/validValues/certification.d.ts +33 -19
  92. package/dist/validValues/certification.d.ts.map +1 -1
  93. package/dist/validValues/certification.js +144 -143
  94. package/dist/validValues/containerColor.d.ts +11 -18
  95. package/dist/validValues/containerColor.d.ts.map +1 -1
  96. package/dist/validValues/containerColor.js +41 -48
  97. package/dist/validValues/containerType.d.ts +8 -18
  98. package/dist/validValues/containerType.d.ts.map +1 -1
  99. package/dist/validValues/containerType.js +29 -33
  100. package/dist/validValues/country.d.ts +154 -23
  101. package/dist/validValues/country.d.ts.map +1 -1
  102. package/dist/validValues/country.js +452 -451
  103. package/dist/validValues/designation.d.ts +57 -629
  104. package/dist/validValues/designation.d.ts.map +1 -1
  105. package/dist/validValues/designation.js +109 -104
  106. package/dist/validValues/ingredient.d.ts +65 -30
  107. package/dist/validValues/ingredient.d.ts.map +1 -1
  108. package/dist/validValues/ingredient.js +271 -257
  109. package/dist/validValues/packagingCertification.d.ts +9 -33
  110. package/dist/validValues/packagingCertification.d.ts.map +1 -1
  111. package/dist/validValues/packagingCertification.js +29 -28
  112. package/dist/validValues/packagingMaterialType.d.ts +54 -28
  113. package/dist/validValues/packagingMaterialType.d.ts.map +1 -1
  114. package/dist/validValues/packagingMaterialType.js +264 -312
  115. package/dist/validValues/productType.d.ts +44 -22
  116. package/dist/validValues/productType.d.ts.map +1 -1
  117. package/dist/validValues/productType.js +126 -125
  118. package/dist/validValues/productionMethod.d.ts +15 -18
  119. package/dist/validValues/productionMethod.d.ts.map +1 -1
  120. package/dist/validValues/productionMethod.js +57 -68
  121. package/dist/validValues/region.d.ts +487 -16
  122. package/dist/validValues/region.d.ts.map +1 -1
  123. package/dist/validValues/region.js +4799 -4803
  124. package/dist/validValues/responsibleConsumptionLogo.d.ts +10 -19
  125. package/dist/validValues/responsibleConsumptionLogo.d.ts.map +1 -1
  126. package/dist/validValues/responsibleConsumptionLogo.js +29 -32
  127. package/dist/validValues/subregion.d.ts +1393 -12
  128. package/dist/validValues/subregion.d.ts.map +1 -1
  129. package/dist/validValues/subregion.js +12493 -11115
  130. package/dist/validValues/types/ValidValueDefinition.d.ts +23 -14
  131. package/dist/validValues/types/ValidValueDefinition.d.ts.map +1 -1
  132. package/dist/validValues/types/award_p85_100.js +2 -2
  133. package/dist/validValues/types/productTypesSpirit.js +2 -2
  134. package/dist/validValues/types/productTypesWine.js +2 -2
  135. package/dist/validValues/utils/createValidValues.d.ts +4 -3
  136. package/dist/validValues/utils/createValidValues.d.ts.map +1 -1
  137. package/dist/validValues/utils/createValidValues.js +1 -1
  138. package/dist/validValues/utils/loadLocalizedData.d.ts +6 -0
  139. package/dist/validValues/utils/loadLocalizedData.d.ts.map +1 -0
  140. package/dist/validValues/utils/loadLocalizedData.js +20 -0
  141. package/dist/validValues/varietyName.d.ts +1961 -18
  142. package/dist/validValues/varietyName.d.ts.map +1 -1
  143. package/dist/validValues/varietyName.js +5883 -7840
  144. package/dist/validValues/wineColor.d.ts +7 -18
  145. package/dist/validValues/wineColor.d.ts.map +1 -1
  146. package/dist/validValues/wineColor.js +25 -28
  147. package/dist/validValues/wineType.d.ts +7 -18
  148. package/dist/validValues/wineType.d.ts.map +1 -1
  149. package/dist/validValues/wineType.js +25 -28
  150. package/dist/validValues.js +20 -20
  151. package/package.json +2 -2
  152. package/src/core/translate.ts +6 -5
  153. package/src/index.ts +3 -2
  154. package/src/locales/po/bg.po +8 -0
  155. package/src/locales/po/bg.ts +1 -1
  156. package/src/locales/po/cs.po +8 -0
  157. package/src/locales/po/cs.ts +1 -1
  158. package/src/locales/po/da.po +8 -0
  159. package/src/locales/po/da.ts +1 -1
  160. package/src/locales/po/de.po +8 -0
  161. package/src/locales/po/de.ts +1 -1
  162. package/src/locales/po/ee.po +8 -0
  163. package/src/locales/po/ee.ts +1 -1
  164. package/src/locales/po/el.po +8 -0
  165. package/src/locales/po/el.ts +1 -1
  166. package/src/locales/po/en.po +8 -0
  167. package/src/locales/po/en.ts +1 -1
  168. package/src/locales/po/es.po +8 -0
  169. package/src/locales/po/es.ts +1 -1
  170. package/src/locales/po/fi.po +8 -0
  171. package/src/locales/po/fi.ts +1 -1
  172. package/src/locales/po/fr.po +8 -0
  173. package/src/locales/po/fr.ts +1 -1
  174. package/src/locales/po/ga.po +8 -0
  175. package/src/locales/po/ga.ts +1 -1
  176. package/src/locales/po/hr.po +8 -0
  177. package/src/locales/po/hr.ts +1 -1
  178. package/src/locales/po/hu.po +8 -0
  179. package/src/locales/po/hu.ts +1 -1
  180. package/src/locales/po/it.po +8 -0
  181. package/src/locales/po/it.ts +1 -1
  182. package/src/locales/po/lt.po +8 -0
  183. package/src/locales/po/lt.ts +1 -1
  184. package/src/locales/po/lv.po +8 -0
  185. package/src/locales/po/lv.ts +1 -1
  186. package/src/locales/po/mt.po +8 -0
  187. package/src/locales/po/mt.ts +1 -1
  188. package/src/locales/po/nl.po +8 -0
  189. package/src/locales/po/nl.ts +1 -1
  190. package/src/locales/po/pl.po +8 -0
  191. package/src/locales/po/pl.ts +1 -1
  192. package/src/locales/po/pt.po +8 -0
  193. package/src/locales/po/pt.ts +1 -1
  194. package/src/locales/po/ro.po +8 -0
  195. package/src/locales/po/ro.ts +1 -1
  196. package/src/locales/po/se.po +8 -0
  197. package/src/locales/po/se.ts +1 -1
  198. package/src/locales/po/si.po +8 -0
  199. package/src/locales/po/si.ts +1 -1
  200. package/src/locales/po/sk.po +8 -0
  201. package/src/locales/po/sk.ts +1 -1
  202. package/src/main.ts +12 -23
  203. package/src/scripts/transformArchitectureVV.js +34 -31
  204. package/src/scripts/transformServerVV.js +3 -3
  205. package/src/scripts/writeFields.not.test.js +38 -3
  206. package/src/validValues/award.ts +639 -841
  207. package/src/validValues/awardMedal.ts +695 -915
  208. package/src/validValues/beerStyle.ts +290 -375
  209. package/src/validValues/certification.ts +154 -139
  210. package/src/validValues/containerColor.ts +35 -35
  211. package/src/validValues/containerType.ts +26 -23
  212. package/src/validValues/country.ts +457 -452
  213. package/src/validValues/designation.ts +44 -87
  214. package/src/validValues/ingredient.ts +252 -230
  215. package/src/validValues/json/region.js +1 -0
  216. package/src/validValues/json/subregion.js +8 -0
  217. package/src/validValues/packagingCertification.ts +38 -42
  218. package/src/validValues/packagingMaterialType.ts +221 -267
  219. package/src/validValues/productType.ts +128 -126
  220. package/src/validValues/productionMethod.ts +47 -51
  221. package/src/validValues/region.ts +1464 -1947
  222. package/src/validValues/responsibleConsumptionLogo.ts +34 -24
  223. package/src/validValues/subregion.ts +4181 -4193
  224. package/src/validValues/types/ValidValueDefinition.ts +27 -14
  225. package/src/validValues/utils/loadLocalizedData.ts +11 -0
  226. package/src/validValues/varietyName.ts +5884 -7836
  227. package/src/validValues/wineColor.ts +23 -19
  228. package/src/validValues/wineType.ts +23 -19
  229. package/dist/validValues/json/appelation.d.ts +0 -2
  230. package/dist/validValues/json/appelation.d.ts.map +0 -1
  231. package/dist/validValues/types/Award.d.ts +0 -35
  232. package/dist/validValues/types/Award.d.ts.map +0 -1
  233. package/dist/validValues/types/Award.js +0 -5
  234. package/dist/validValues/types/Country.d.ts +0 -35
  235. package/dist/validValues/types/Country.d.ts.map +0 -1
  236. package/dist/validValues/types/Country.js +0 -5
  237. package/src/validValues/utils/createValidValues.ts +0 -76
@@ -1,286 +1,290 @@
1
1
  import { defineMessage } from '@lingui/macro';
2
- import createValidValues from './utils/createValidValues.js';
3
- import { MessageDescriptor } from '@lingui/core';
4
2
  import { ProductType } from './types/ProductTypeKey.js';
5
3
  import { IngredientTag } from './types/IngredientTag.js';
6
- import { ValidValueDefinition } from './types/ValidValueDefinition.js';
4
+ import {
5
+ ValidValueDefinition,
6
+ ValidValueMetadataDefinition,
7
+ } from './types/ValidValueDefinition.js';
7
8
  import PRODUCT_TYPE_WINES from './types/productTypesWine.js';
8
9
  import PRODUCT_TYPE_SPIRITS from './types/productTypesSpirit.js';
10
+ import { ProductTypeKey } from './productType.js';
9
11
 
10
- export interface Ingredient extends ValidValueDefinition {
11
- /**
12
- * The translatable title of the valid value.
13
- *
14
- * Define it using `defineMessage()` from @lingui/macro.
15
- */
16
- title: MessageDescriptor;
17
- form: {
18
- productType: ProductType[];
12
+ interface IngredientValidValueMetadataDefinition
13
+ extends ValidValueMetadataDefinition {
14
+ metadata: {
15
+ productType: ProductTypeKey[];
19
16
  tags: IngredientTag[];
20
17
  };
21
18
  }
22
19
 
23
- export default createValidValues<Ingredient>({
24
- aleppoPineResin: {
20
+ interface Ingredient
21
+ extends ValidValueDefinition,
22
+ IngredientValidValueMetadataDefinition {}
23
+
24
+ /** Makes sure errors are displayed where the error is introduced. */
25
+ const ingredient = (value: Ingredient) => value;
26
+
27
+ const allIngredients = {
28
+ aleppoPineResin: ingredient({
25
29
  key: 'aleppoPineResin',
26
- title: defineMessage({
30
+ label: defineMessage({
27
31
  id: 'validValues.ingredient.aleppoPineResin',
28
32
  message: 'Aleppo pine resin',
29
33
  }),
30
- form: {
34
+ metadata: {
31
35
  tags: ['OTHER_INGREDIENT'],
32
36
  productType: PRODUCT_TYPE_WINES,
33
37
  },
34
- },
35
- ammoniaCaramel: {
38
+ }),
39
+ ammoniaCaramel: ingredient({
36
40
  key: 'ammoniaCaramel',
37
- title: defineMessage({
41
+ label: defineMessage({
38
42
  id: 'validValues.ingredient.ammoniaCaramel',
39
43
  message: 'ammonia caramel',
40
44
  }),
41
- form: {
45
+ metadata: {
42
46
  tags: ['COLOUR'],
43
47
  productType: ['wine_aromatized'],
44
48
  },
45
- },
46
- ammoniumBisulphite: {
49
+ }),
50
+ ammoniumBisulphite: ingredient({
47
51
  key: 'ammoniumBisulphite',
48
- title: defineMessage({
52
+ label: defineMessage({
49
53
  id: 'validValues.ingredient.ammoniumBisulphite',
50
54
  message: 'Ammonium bisulphite',
51
55
  }),
52
- form: {
56
+ metadata: {
53
57
  tags: ['PROCESSING_AID', 'ALLERGEN'],
54
58
  productType: PRODUCT_TYPE_WINES,
55
59
  },
56
- },
57
- argon: {
60
+ }),
61
+ argon: ingredient({
58
62
  key: 'argon',
59
- title: defineMessage({
63
+ label: defineMessage({
60
64
  id: 'validValues.ingredient.argon',
61
65
  message: 'Argon',
62
66
  }),
63
- form: {
67
+ metadata: {
64
68
  tags: ['ANTIOXIDANT'],
65
69
  productType: PRODUCT_TYPE_WINES,
66
70
  },
67
- },
68
- ascorbicAcid: {
71
+ }),
72
+ ascorbicAcid: ingredient({
69
73
  key: 'ascorbicAcid',
70
- title: defineMessage({
74
+ label: defineMessage({
71
75
  id: 'validValues.ingredient.ascorbicAcid',
72
76
  message: 'Ascorbic acid',
73
77
  }),
74
- form: {
78
+ metadata: {
75
79
  tags: ['ANTIOXIDANT'],
76
80
  productType: PRODUCT_TYPE_WINES,
77
81
  },
78
- },
79
- burnedSugar: {
82
+ }),
83
+ burnedSugar: ingredient({
80
84
  key: 'burnedSugar',
81
- title: defineMessage({
85
+ label: defineMessage({
82
86
  id: 'validValues.ingredient.burnedSugar',
83
87
  message: 'burned sugar',
84
88
  }),
85
- form: {
89
+ metadata: {
86
90
  tags: ['SWEETENER'],
87
91
  productType: ['wine_aromatized'],
88
92
  },
89
- },
90
- calciumSulphate: {
93
+ }),
94
+ calciumSulphate: ingredient({
91
95
  key: 'calciumSulphate',
92
- title: defineMessage({
96
+ label: defineMessage({
93
97
  id: 'validValues.ingredient.calciumSulphate',
94
98
  message: 'Calcium sulphate',
95
99
  }),
96
- form: {
100
+ metadata: {
97
101
  tags: ['ACIDITY_REGULATOR', 'ALLERGEN'],
98
102
  productType: PRODUCT_TYPE_WINES,
99
103
  },
100
- },
101
- carbonDioxide: {
104
+ }),
105
+ carbonDioxide: ingredient({
102
106
  key: 'carbonDioxide',
103
- title: defineMessage({
107
+ label: defineMessage({
104
108
  id: 'validValues.ingredient.carbonDioxide',
105
109
  message: 'Carbon dioxide',
106
110
  }),
107
- form: {
111
+ metadata: {
108
112
  tags: ['ANTIOXIDANT', 'OTHER_INGREDIENT'],
109
113
  productType: PRODUCT_TYPE_WINES,
110
114
  },
111
- },
112
- carboxymethylcellulose: {
115
+ }),
116
+ carboxymethylcellulose: ingredient({
113
117
  key: 'carboxymethylcellulose',
114
- title: defineMessage({
118
+ label: defineMessage({
115
119
  id: 'validValues.ingredient.carboxymethylcellulose',
116
120
  message: 'carboxymethylcellulose',
117
121
  }),
118
- form: {
122
+ metadata: {
119
123
  tags: ['STABILISER'],
120
124
  productType: PRODUCT_TYPE_WINES,
121
125
  },
122
- },
123
- carobSyrup: {
126
+ }),
127
+ carobSyrup: ingredient({
124
128
  key: 'carobSyrup',
125
- title: defineMessage({
129
+ label: defineMessage({
126
130
  id: 'validValues.ingredient.carobSyrup',
127
131
  message: 'carob syrup',
128
132
  }),
129
- form: {
133
+ metadata: {
130
134
  tags: ['SWEETENER'],
131
135
  productType: ['wine_aromatized'],
132
136
  },
133
- },
134
- causticSulfiteCaramel: {
137
+ }),
138
+ causticSulfiteCaramel: ingredient({
135
139
  key: 'causticSulfiteCaramel',
136
- title: defineMessage({
140
+ label: defineMessage({
137
141
  id: 'validValues.ingredient.causticSulfiteCaramel',
138
142
  message: 'caustic sulfite caramel',
139
143
  }),
140
- form: {
144
+ metadata: {
141
145
  tags: ['COLOUR'],
142
146
  productType: ['wine_aromatized'],
143
147
  },
144
- },
145
- cerealDistillateAndWater: {
148
+ }),
149
+ cerealDistillateAndWater: ingredient({
146
150
  key: 'cerealDistillateAndWater',
147
- title: defineMessage({
151
+ label: defineMessage({
148
152
  id: 'validValues.ingredient.cerealDistillateAndWater',
149
153
  message: 'Cereal distillate and water',
150
154
  }),
151
- form: {
155
+ metadata: {
152
156
  tags: ['RAW_MATERIAL'],
153
157
  productType: PRODUCT_TYPE_SPIRITS,
154
158
  },
155
- },
156
- citricAcid: {
159
+ }),
160
+ citricAcid: ingredient({
157
161
  key: 'citricAcid',
158
- title: defineMessage({
162
+ label: defineMessage({
159
163
  id: 'validValues.ingredient.citricAcid',
160
164
  message: 'Citric acid',
161
165
  }),
162
- form: {
166
+ metadata: {
163
167
  tags: ['NATURALLY_ADDED_ACID'],
164
168
  productType: PRODUCT_TYPE_WINES,
165
169
  },
166
- },
167
- concentratedGrapeMust: {
170
+ }),
171
+ concentratedGrapeMust: ingredient({
168
172
  key: 'concentratedGrapeMust',
169
- title: defineMessage({
173
+ label: defineMessage({
170
174
  id: 'validValues.ingredient.concentratedGrapeMust',
171
175
  message: 'Grape must',
172
176
  }),
173
- form: {
177
+ metadata: {
174
178
  tags: ['ENRICHMENT_SUBSTANCE', 'SWEETENER'],
175
179
  productType: PRODUCT_TYPE_WINES,
176
180
  },
177
- },
178
- dimethyldicarbonate: {
181
+ }),
182
+ dimethyldicarbonate: ingredient({
179
183
  key: 'dimethyldicarbonate',
180
- title: defineMessage({
184
+ label: defineMessage({
181
185
  id: 'validValues.ingredient.dimethyldicarbonate',
182
186
  message: 'Dimethyldicarbonate',
183
187
  }),
184
- form: {
188
+ metadata: {
185
189
  tags: ['PRESERVATIVE'],
186
190
  productType: PRODUCT_TYPE_WINES,
187
191
  },
188
- },
189
- distillateOfAgriculturalOrigin: {
192
+ }),
193
+ distillateOfAgriculturalOrigin: ingredient({
190
194
  key: 'distillateOfAgriculturalOrigin',
191
- title: defineMessage({
195
+ label: defineMessage({
192
196
  id: 'validValues.ingredient.distillateOfAgriculturalOrigin',
193
197
  message: 'distillate of agricultural origin',
194
198
  }),
195
- form: {
199
+ metadata: {
196
200
  tags: ['ALCOHOL'],
197
201
  productType: ['wine_aromatized'],
198
202
  },
199
- },
200
- driedGrapeAlcohol: {
203
+ }),
204
+ driedGrapeAlcohol: ingredient({
201
205
  key: 'driedGrapeAlcohol',
202
- title: defineMessage({
206
+ label: defineMessage({
203
207
  id: 'validValues.ingredient.driedGrapeAlcohol',
204
208
  message: 'dried grape alcohol',
205
209
  }),
206
- form: {
210
+ metadata: {
207
211
  tags: ['ALCOHOL'],
208
212
  productType: ['wine_aromatized'],
209
213
  },
210
- },
211
- driedGrapeDistillate: {
214
+ }),
215
+ driedGrapeDistillate: ingredient({
212
216
  key: 'driedGrapeDistillate',
213
- title: defineMessage({
217
+ label: defineMessage({
214
218
  id: 'validValues.ingredient.driedGrapeDistillate',
215
219
  message: 'dried grape distillate',
216
220
  }),
217
- form: {
221
+ metadata: {
218
222
  tags: ['ALCOHOL'],
219
223
  productType: ['wine_aromatized'],
220
224
  },
221
- },
222
- eggAlbumin: {
225
+ }),
226
+ eggAlbumin: ingredient({
223
227
  key: 'eggAlbumin',
224
- title: defineMessage({
228
+ label: defineMessage({
225
229
  id: 'validValues.ingredient.eggAlbumin',
226
230
  message: 'egg albumin',
227
231
  }),
228
- form: {
232
+ metadata: {
229
233
  tags: ['PROCESSING_AID', 'ALLERGEN'],
230
234
  productType: PRODUCT_TYPE_WINES,
231
235
  },
232
- },
233
- eggLysozyme: {
236
+ }),
237
+ eggLysozyme: ingredient({
234
238
  key: 'eggLysozyme',
235
- title: defineMessage({
239
+ label: defineMessage({
236
240
  id: 'validValues.ingredient.eggLysozyme',
237
241
  message: 'Egg lysozyme',
238
242
  }),
239
- form: {
243
+ metadata: {
240
244
  tags: ['PRESERVATIVE'],
241
245
  productType: PRODUCT_TYPE_WINES,
242
246
  },
243
- },
244
- ethylAlcoholOfAgriculturalOrigin: {
247
+ }),
248
+ ethylAlcoholOfAgriculturalOrigin: ingredient({
245
249
  key: 'ethylAlcoholOfAgriculturalOrigin',
246
- title: defineMessage({
250
+ label: defineMessage({
247
251
  id: 'validValues.ingredient.ethylAlcoholOfAgriculturalOrigin',
248
252
  message: 'ethyl alcohol of agricultural origin',
249
253
  }),
250
- form: {
254
+ metadata: {
251
255
  tags: ['ALCOHOL'],
252
256
  productType: ['wine_aromatized'],
253
257
  },
254
- },
255
- flavouring: {
258
+ }),
259
+ flavouring: ingredient({
256
260
  key: 'flavouring',
257
- title: defineMessage({
261
+ label: defineMessage({
258
262
  id: 'validValues.ingredient.flavouring',
259
263
  message: 'flavouring',
260
264
  }),
261
- form: {
265
+ metadata: {
262
266
  tags: ['FLAVOURING'],
263
267
  productType: ['wine_aromatized'],
264
268
  },
265
- },
266
- freshBeerDistillateAndWater: {
269
+ }),
270
+ freshBeerDistillateAndWater: ingredient({
267
271
  key: 'freshBeerDistillateAndWater',
268
- title: defineMessage({
272
+ label: defineMessage({
269
273
  id: 'validValues.ingredient.freshBeerDistillateAndWater',
270
274
  message: 'Fresh beer distillate and Water',
271
275
  }),
272
- form: {
276
+ metadata: {
273
277
  tags: ['RAW_MATERIAL'],
274
278
  productType: ['beer'],
275
279
  },
276
- },
277
- fumaricAcid: {
280
+ }),
281
+ fumaricAcid: ingredient({
278
282
  key: 'fumaricAcid',
279
- title: defineMessage({
283
+ label: defineMessage({
280
284
  id: 'validValues.ingredient.fumaricAcid',
281
285
  message: 'fumaric acid',
282
286
  }),
283
- form: {
287
+ metadata: {
284
288
  tags: ['STABILISER'],
285
289
  productType: [
286
290
  'wine_stillwine',
@@ -290,335 +294,353 @@ export default createValidValues<Ingredient>({
290
294
  'wine_aromatized',
291
295
  ],
292
296
  },
293
- },
294
- grainDistillateAndWater: {
297
+ }),
298
+ grainDistillateAndWater: ingredient({
295
299
  key: 'grainDistillateAndWater',
296
- title: defineMessage({
300
+ label: defineMessage({
297
301
  id: 'validValues.ingredient.grainDistillateAndWater',
298
302
  message: 'Grain distillate and water',
299
303
  }),
300
- form: {
304
+ metadata: {
301
305
  tags: ['RAW_MATERIAL'],
302
306
  productType: PRODUCT_TYPE_SPIRITS,
303
307
  },
304
- },
305
- grape: {
308
+ }),
309
+ grape: ingredient({
306
310
  key: 'grape',
307
- title: defineMessage({
311
+ label: defineMessage({
308
312
  id: 'validValues.ingredient.grape',
309
313
  message: 'Grape',
310
314
  }),
311
- form: {
315
+ metadata: {
312
316
  tags: ['RAW_MATERIAL'],
313
317
  productType: PRODUCT_TYPE_WINES,
314
318
  },
315
- },
316
- grapeMarcSpirit: {
319
+ }),
320
+ grapeMarcSpirit: ingredient({
317
321
  key: 'grapeMarcSpirit',
318
- title: defineMessage({
322
+ label: defineMessage({
319
323
  id: 'validValues.ingredient.grapeMarcSpirit',
320
324
  message: 'grape-marc spirit',
321
325
  }),
322
- form: {
326
+ metadata: {
323
327
  tags: ['ALCOHOL'],
324
328
  productType: ['wine_aromatized'],
325
329
  },
326
- },
327
- gumArabic: {
330
+ }),
331
+ gumArabic: ingredient({
328
332
  key: 'gumArabic',
329
- title: defineMessage({
333
+ label: defineMessage({
330
334
  id: 'validValues.ingredient.gumArabic',
331
335
  message: 'gum arabic',
332
336
  }),
333
- form: {
337
+ metadata: {
334
338
  tags: ['STABILISER'],
335
339
  productType: PRODUCT_TYPE_WINES,
336
340
  },
337
- },
338
- honey: {
341
+ }),
342
+ honey: ingredient({
339
343
  key: 'honey',
340
- title: defineMessage({
344
+ label: defineMessage({
341
345
  id: 'validValues.ingredient.honey',
342
346
  message: 'honey',
343
347
  }),
344
- form: {
348
+ metadata: {
345
349
  tags: ['SWEETENER'],
346
350
  productType: ['wine_aromatized'],
347
351
  },
348
- },
349
- lacticAcid: {
352
+ }),
353
+ lacticAcid: ingredient({
350
354
  key: 'lacticAcid',
351
- title: defineMessage({
355
+ label: defineMessage({
352
356
  id: 'validValues.ingredient.lacticAcid',
353
357
  message: 'Lactic acid',
354
358
  }),
355
- form: {
359
+ metadata: {
356
360
  tags: ['ACIDITY_REGULATOR'],
357
361
  productType: PRODUCT_TYPE_WINES,
358
362
  },
359
- },
360
- malicAcid: {
363
+ }),
364
+ malicAcid: ingredient({
361
365
  key: 'malicAcid',
362
- title: defineMessage({
366
+ label: defineMessage({
363
367
  id: 'validValues.ingredient.malicAcid',
364
368
  message: 'Malic acid',
365
369
  }),
366
- form: {
370
+ metadata: {
367
371
  tags: ['ACIDITY_REGULATOR'],
368
372
  productType: PRODUCT_TYPE_WINES,
369
373
  },
370
- },
371
- maltDistillateAndWater: {
374
+ }),
375
+ maltDistillateAndWater: ingredient({
372
376
  key: 'maltDistillateAndWater',
373
- title: defineMessage({
377
+ label: defineMessage({
374
378
  id: 'validValues.ingredient.maltDistillateAndWater',
375
379
  message: 'Malt distillate and water',
376
380
  }),
377
- form: {
381
+ metadata: {
378
382
  tags: ['RAW_MATERIAL'],
379
383
  productType: PRODUCT_TYPE_SPIRITS,
380
384
  },
381
- },
382
- metatartaricAcid: {
385
+ }),
386
+ metatartaricAcid: ingredient({
383
387
  key: 'metatartaricAcid',
384
- title: defineMessage({
388
+ label: defineMessage({
385
389
  id: 'validValues.ingredient.metatartaricAcid',
386
390
  message: 'metatartaric acid',
387
391
  }),
388
- form: {
392
+ metadata: {
389
393
  tags: ['STABILISER'],
390
394
  productType: PRODUCT_TYPE_WINES,
391
395
  },
392
- },
393
- milkCasein: {
396
+ }),
397
+ milkCasein: ingredient({
394
398
  key: 'milkCasein',
395
- title: defineMessage({
399
+ label: defineMessage({
396
400
  id: 'validValues.ingredient.milkCasein',
397
401
  message: 'Milk casein',
398
402
  }),
399
- form: {
403
+ metadata: {
400
404
  tags: ['PROCESSING_AID', 'ALLERGEN'],
401
405
  productType: PRODUCT_TYPE_WINES,
402
406
  },
403
- },
404
- nitrogen: {
407
+ }),
408
+ nitrogen: ingredient({
405
409
  key: 'nitrogen',
406
- title: defineMessage({
410
+ label: defineMessage({
407
411
  id: 'validValues.ingredient.nitrogen',
408
412
  message: 'Nitrogen',
409
413
  }),
410
- form: {
414
+ metadata: {
411
415
  tags: ['ANTIOXIDANT'],
412
416
  productType: PRODUCT_TYPE_WINES,
413
417
  },
414
- },
415
- plainCaramel: {
418
+ }),
419
+ plainCaramel: ingredient({
416
420
  key: 'plainCaramel',
417
- title: defineMessage({
421
+ label: defineMessage({
418
422
  id: 'validValues.ingredient.plainCaramel',
419
423
  message: 'plain caramel',
420
424
  }),
421
- form: {
425
+ metadata: {
422
426
  tags: ['COLOUR'],
423
427
  productType: ['wine_aromatized'],
424
428
  },
425
- },
426
- potassiumHydrogenSulphite: {
429
+ }),
430
+ potassiumHydrogenSulphite: ingredient({
427
431
  key: 'potassiumHydrogenSulphite',
428
- title: defineMessage({
432
+ label: defineMessage({
429
433
  id: 'validValues.ingredient.potassiumHydrogenSulphite',
430
434
  message: 'Potassium hydrogen sulphite',
431
435
  }),
432
- form: {
436
+ metadata: {
433
437
  tags: ['PRESERVATIVE', 'ALLERGEN'],
434
438
  productType: PRODUCT_TYPE_WINES,
435
439
  },
436
- },
437
- potassiumMetabisulphite: {
440
+ }),
441
+ potassiumMetabisulphite: ingredient({
438
442
  key: 'potassiumMetabisulphite',
439
- title: defineMessage({
443
+ label: defineMessage({
440
444
  id: 'validValues.ingredient.potassiumMetabisulphite',
441
445
  message: 'Potassium metabisulphite',
442
446
  }),
443
- form: {
447
+ metadata: {
444
448
  tags: ['PRESERVATIVE', 'ALLERGEN'],
445
449
  productType: PRODUCT_TYPE_WINES,
446
450
  },
447
- },
448
- potassiumPolyaspartate: {
451
+ }),
452
+ potassiumPolyaspartate: ingredient({
449
453
  key: 'potassiumPolyaspartate',
450
- title: defineMessage({
454
+ label: defineMessage({
451
455
  id: 'validValues.ingredient.potassiumPolyaspartate',
452
456
  message: 'potassium polyaspartate',
453
457
  }),
454
- form: {
458
+ metadata: {
455
459
  tags: ['STABILISER'],
456
460
  productType: PRODUCT_TYPE_WINES,
457
461
  },
458
- },
459
- potassiumSorbate: {
462
+ }),
463
+ potassiumSorbate: ingredient({
460
464
  key: 'potassiumSorbate',
461
- title: defineMessage({
465
+ label: defineMessage({
462
466
  id: 'validValues.ingredient.potassiumSorbate',
463
467
  message: 'Potassium sorbate',
464
468
  }),
465
- form: {
469
+ metadata: {
466
470
  tags: ['PRESERVATIVE'],
467
471
  productType: PRODUCT_TYPE_WINES,
468
472
  },
469
- },
470
- ryeDistillateAndWater: {
473
+ }),
474
+ ryeDistillateAndWater: ingredient({
471
475
  key: 'ryeDistillateAndWater',
472
- title: defineMessage({
476
+ label: defineMessage({
473
477
  id: 'validValues.ingredient.ryeDistillateAndWater',
474
478
  message: 'Rye distillate and water',
475
479
  }),
476
- form: {
480
+ metadata: {
477
481
  tags: ['RAW_MATERIAL'],
478
482
  productType: PRODUCT_TYPE_SPIRITS,
479
483
  },
480
- },
481
- sucrose: {
484
+ }),
485
+ sucrose: ingredient({
482
486
  key: 'sucrose',
483
- title: defineMessage({
487
+ label: defineMessage({
484
488
  id: 'validValues.ingredient.sucrose',
485
489
  message: 'Sucrose',
486
490
  }),
487
- form: {
491
+ metadata: {
488
492
  tags: ['ENRICHMENT_SUBSTANCE'],
489
493
  productType: PRODUCT_TYPE_WINES,
490
494
  },
491
- },
492
- sugar: {
495
+ }),
496
+ sugar: ingredient({
493
497
  key: 'sugar',
494
- title: defineMessage({
498
+ label: defineMessage({
495
499
  id: 'validValues.ingredient.sugar',
496
500
  message: 'sugar',
497
501
  }),
498
- form: {
502
+ metadata: {
499
503
  tags: ['SWEETENER'],
500
504
  productType: ['wine_aromatized'],
501
505
  },
502
- },
503
- sulfiteAmmoniaCaramel: {
506
+ }),
507
+ sulfiteAmmoniaCaramel: ingredient({
504
508
  key: 'sulfiteAmmoniaCaramel',
505
- title: defineMessage({
509
+ label: defineMessage({
506
510
  id: 'validValues.ingredient.sulfiteAmmoniaCaramel',
507
511
  message: 'sulfite ammonia caramel',
508
512
  }),
509
- form: {
513
+ metadata: {
510
514
  tags: ['COLOUR'],
511
515
  productType: ['wine_aromatized'],
512
516
  },
513
- },
514
- sulfites: {
517
+ }),
518
+ sulfites: ingredient({
515
519
  key: 'sulfites',
516
- title: defineMessage({
520
+ label: defineMessage({
517
521
  id: 'validValues.ingredient.sulfites',
518
522
  message: 'sulphites',
519
523
  }),
520
- form: {
524
+ metadata: {
521
525
  tags: ['PRESERVATIVE', 'ALLERGEN'],
522
526
  productType: PRODUCT_TYPE_WINES,
523
527
  },
524
- },
525
- sulphurDioxide: {
528
+ }),
529
+ sulphurDioxide: ingredient({
526
530
  key: 'sulphurDioxide',
527
- title: defineMessage({
531
+ label: defineMessage({
528
532
  id: 'validValues.ingredient.sulphurDioxide',
529
533
  message: 'Sulphur dioxide',
530
534
  }),
531
- form: {
535
+ metadata: {
532
536
  tags: ['PRESERVATIVE', 'ALLERGEN'],
533
537
  productType: PRODUCT_TYPE_WINES,
534
538
  },
535
- },
536
- tartaricAcid: {
539
+ }),
540
+ tartaricAcid: ingredient({
537
541
  key: 'tartaricAcid',
538
- title: defineMessage({
542
+ label: defineMessage({
539
543
  id: 'validValues.ingredient.tartaricAcid',
540
544
  message: 'Tartaric acid',
541
545
  }),
542
- form: {
546
+ metadata: {
543
547
  tags: ['ACIDITY_REGULATOR'],
544
548
  productType: PRODUCT_TYPE_WINES,
545
549
  },
546
- },
547
- water: {
550
+ }),
551
+ water: ingredient({
548
552
  key: 'water',
549
- title: defineMessage({
553
+ label: defineMessage({
550
554
  id: 'validValues.ingredient.water',
551
555
  message: 'water',
552
556
  }),
553
- form: {
557
+ metadata: {
554
558
  tags: ['OTHER_INGREDIENT'],
555
559
  productType: ['wine_aromatized'],
556
560
  },
557
- },
558
- wheatProtein: {
561
+ }),
562
+ wheatProtein: ingredient({
559
563
  key: 'wheatProtein',
560
- title: defineMessage({
564
+ label: defineMessage({
561
565
  id: 'validValues.ingredient.wheatProtein',
562
566
  message: 'Wheat protein',
563
567
  }),
564
- form: {
568
+ metadata: {
565
569
  tags: ['PROCESSING_AID'],
566
570
  productType: PRODUCT_TYPE_WINES,
567
571
  },
568
- },
569
- wine: {
572
+ }),
573
+ wine: ingredient({
570
574
  key: 'wine',
571
- title: defineMessage({
575
+ label: defineMessage({
572
576
  id: 'validValues.ingredient.wine',
573
577
  message: 'wine',
574
578
  }),
575
- form: {
579
+ metadata: {
576
580
  tags: ['RAW_MATERIAL'],
577
581
  productType: ['wine_aromatized'],
578
582
  },
579
- },
580
- wineAlcohol: {
583
+ }),
584
+ wineAlcohol: ingredient({
581
585
  key: 'wineAlcohol',
582
- title: defineMessage({
586
+ label: defineMessage({
583
587
  id: 'validValues.ingredient.wineAlcohol',
584
588
  message: 'wine alcohol',
585
589
  }),
586
- form: {
590
+ metadata: {
587
591
  tags: ['ALCOHOL'],
588
592
  productType: ['wine_aromatized'],
589
593
  },
590
- },
591
- wineDistillate: {
594
+ }),
595
+ wineDistillate: ingredient({
592
596
  key: 'wineDistillate',
593
- title: defineMessage({
597
+ label: defineMessage({
594
598
  id: 'validValues.ingredient.wineDistillate',
595
599
  message: 'wine distillate',
596
600
  }),
597
- form: {
601
+ metadata: {
598
602
  tags: ['ALCOHOL'],
599
603
  productType: ['wine_aromatized'],
600
604
  },
601
- },
602
- wineSpirit: {
605
+ }),
606
+ wineSpirit: ingredient({
603
607
  key: 'wineSpirit',
604
- title: defineMessage({
608
+ label: defineMessage({
605
609
  id: 'validValues.ingredient.wineSpirit',
606
610
  message: 'wine spirit',
607
611
  }),
608
- form: {
612
+ metadata: {
609
613
  tags: ['ALCOHOL'],
610
614
  productType: ['wine_aromatized'],
611
615
  },
612
- },
613
- yeastMannoproteins: {
616
+ }),
617
+ yeastMannoproteins: ingredient({
614
618
  key: 'yeastMannoproteins',
615
- title: defineMessage({
619
+ label: defineMessage({
616
620
  id: 'validValues.ingredient.yeastMannoproteins',
617
621
  message: 'Yeast mannoproteins',
618
622
  }),
619
- form: {
623
+ metadata: {
620
624
  tags: ['STABILISER'],
621
625
  productType: PRODUCT_TYPE_WINES,
622
626
  },
623
- },
624
- });
627
+ }),
628
+ } as const;
629
+
630
+ export type IngredientKey = keyof typeof allIngredients;
631
+
632
+ export const byProductType = Object.values(allIngredients).reduce(
633
+ (acc, ingredient) => {
634
+ const productTypes: ProductTypeKey[] = ingredient.metadata.productType;
635
+ productTypes.forEach((productType: ProductTypeKey) => {
636
+ //@ts-ignore
637
+ if (!acc[productType]) acc[productType] = [];
638
+ //@ts-ignore
639
+ acc[productType].push(ingredient);
640
+ });
641
+ return acc;
642
+ },
643
+ {}
644
+ );
645
+
646
+ export default allIngredients;