@bottlebooks/valid-values 2.1.0 → 3.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.
Files changed (237) hide show
  1. package/CHANGELOG.md +39 -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 +3 -1
  9. package/dist/locales/po/bg.d.ts.map +1 -1
  10. package/dist/locales/po/bg.js +3 -1
  11. package/dist/locales/po/cs.d.ts +3 -1
  12. package/dist/locales/po/cs.d.ts.map +1 -1
  13. package/dist/locales/po/cs.js +3 -1
  14. package/dist/locales/po/da.d.ts +3 -1
  15. package/dist/locales/po/da.d.ts.map +1 -1
  16. package/dist/locales/po/da.js +3 -1
  17. package/dist/locales/po/de.d.ts +3 -1
  18. package/dist/locales/po/de.d.ts.map +1 -1
  19. package/dist/locales/po/de.js +3 -1
  20. package/dist/locales/po/ee.d.ts +3 -1
  21. package/dist/locales/po/ee.d.ts.map +1 -1
  22. package/dist/locales/po/ee.js +3 -1
  23. package/dist/locales/po/el.d.ts +3 -1
  24. package/dist/locales/po/el.d.ts.map +1 -1
  25. package/dist/locales/po/el.js +3 -1
  26. package/dist/locales/po/en.d.ts +3 -1
  27. package/dist/locales/po/en.d.ts.map +1 -1
  28. package/dist/locales/po/en.js +3 -1
  29. package/dist/locales/po/es.d.ts +3 -1
  30. package/dist/locales/po/es.d.ts.map +1 -1
  31. package/dist/locales/po/es.js +3 -1
  32. package/dist/locales/po/fi.d.ts +3 -1
  33. package/dist/locales/po/fi.d.ts.map +1 -1
  34. package/dist/locales/po/fi.js +3 -1
  35. package/dist/locales/po/fr.d.ts +3 -1
  36. package/dist/locales/po/fr.d.ts.map +1 -1
  37. package/dist/locales/po/fr.js +3 -1
  38. package/dist/locales/po/ga.d.ts +3 -1
  39. package/dist/locales/po/ga.d.ts.map +1 -1
  40. package/dist/locales/po/ga.js +3 -1
  41. package/dist/locales/po/hr.d.ts +3 -1
  42. package/dist/locales/po/hr.d.ts.map +1 -1
  43. package/dist/locales/po/hr.js +3 -1
  44. package/dist/locales/po/hu.d.ts +3 -1
  45. package/dist/locales/po/hu.d.ts.map +1 -1
  46. package/dist/locales/po/hu.js +3 -1
  47. package/dist/locales/po/it.d.ts +3 -1
  48. package/dist/locales/po/it.d.ts.map +1 -1
  49. package/dist/locales/po/it.js +3 -1
  50. package/dist/locales/po/lt.d.ts +3 -1
  51. package/dist/locales/po/lt.d.ts.map +1 -1
  52. package/dist/locales/po/lt.js +3 -1
  53. package/dist/locales/po/lv.d.ts +3 -1
  54. package/dist/locales/po/lv.d.ts.map +1 -1
  55. package/dist/locales/po/lv.js +3 -1
  56. package/dist/locales/po/mt.d.ts +3 -1
  57. package/dist/locales/po/mt.d.ts.map +1 -1
  58. package/dist/locales/po/mt.js +3 -1
  59. package/dist/locales/po/nl.d.ts +3 -1
  60. package/dist/locales/po/nl.d.ts.map +1 -1
  61. package/dist/locales/po/nl.js +3 -1
  62. package/dist/locales/po/pl.d.ts +3 -1
  63. package/dist/locales/po/pl.d.ts.map +1 -1
  64. package/dist/locales/po/pl.js +3 -1
  65. package/dist/locales/po/pt.d.ts +3 -1
  66. package/dist/locales/po/pt.d.ts.map +1 -1
  67. package/dist/locales/po/pt.js +3 -1
  68. package/dist/locales/po/ro.d.ts +3 -1
  69. package/dist/locales/po/ro.d.ts.map +1 -1
  70. package/dist/locales/po/ro.js +3 -1
  71. package/dist/locales/po/se.d.ts +3 -1
  72. package/dist/locales/po/se.d.ts.map +1 -1
  73. package/dist/locales/po/se.js +3 -1
  74. package/dist/locales/po/si.d.ts +3 -1
  75. package/dist/locales/po/si.d.ts.map +1 -1
  76. package/dist/locales/po/si.js +3 -1
  77. package/dist/locales/po/sk.d.ts +3 -1
  78. package/dist/locales/po/sk.d.ts.map +1 -1
  79. package/dist/locales/po/sk.js +3 -1
  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 +265 -313
  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 +10 -2
  155. package/src/locales/po/bg.ts +1 -1
  156. package/src/locales/po/cs.po +10 -2
  157. package/src/locales/po/cs.ts +1 -1
  158. package/src/locales/po/da.po +10 -2
  159. package/src/locales/po/da.ts +1 -1
  160. package/src/locales/po/de.po +10 -2
  161. package/src/locales/po/de.ts +1 -1
  162. package/src/locales/po/ee.po +10 -2
  163. package/src/locales/po/ee.ts +1 -1
  164. package/src/locales/po/el.po +10 -2
  165. package/src/locales/po/el.ts +1 -1
  166. package/src/locales/po/en.po +12 -4
  167. package/src/locales/po/en.ts +1 -1
  168. package/src/locales/po/es.po +10 -2
  169. package/src/locales/po/es.ts +1 -1
  170. package/src/locales/po/fi.po +10 -2
  171. package/src/locales/po/fi.ts +1 -1
  172. package/src/locales/po/fr.po +10 -2
  173. package/src/locales/po/fr.ts +1 -1
  174. package/src/locales/po/ga.po +10 -2
  175. package/src/locales/po/ga.ts +1 -1
  176. package/src/locales/po/hr.po +10 -2
  177. package/src/locales/po/hr.ts +1 -1
  178. package/src/locales/po/hu.po +10 -2
  179. package/src/locales/po/hu.ts +1 -1
  180. package/src/locales/po/it.po +10 -2
  181. package/src/locales/po/it.ts +1 -1
  182. package/src/locales/po/lt.po +10 -2
  183. package/src/locales/po/lt.ts +1 -1
  184. package/src/locales/po/lv.po +10 -2
  185. package/src/locales/po/lv.ts +1 -1
  186. package/src/locales/po/mt.po +10 -2
  187. package/src/locales/po/mt.ts +1 -1
  188. package/src/locales/po/nl.po +10 -2
  189. package/src/locales/po/nl.ts +1 -1
  190. package/src/locales/po/pl.po +10 -2
  191. package/src/locales/po/pl.ts +1 -1
  192. package/src/locales/po/pt.po +10 -2
  193. package/src/locales/po/pt.ts +1 -1
  194. package/src/locales/po/ro.po +10 -2
  195. package/src/locales/po/ro.ts +1 -1
  196. package/src/locales/po/se.po +10 -2
  197. package/src/locales/po/se.ts +1 -1
  198. package/src/locales/po/si.po +10 -2
  199. package/src/locales/po/si.ts +1 -1
  200. package/src/locales/po/sk.po +10 -2
  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 +7 -0
  217. package/src/validValues/packagingCertification.ts +38 -42
  218. package/src/validValues/packagingMaterialType.ts +222 -268
  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,285 +1,287 @@
1
1
  import { defineMessage } from '@lingui/macro';
2
- import createValidValues from './utils/createValidValues.js';
3
-
4
- import type { MessageDescriptor } from '@lingui/core';
5
2
  import { ValidValueDefinition } from './types/ValidValueDefinition.js';
6
- interface ProductType {
7
- key: string;
8
- title: MessageDescriptor;
9
- }
10
3
 
11
- export default createValidValues<ProductType>({
12
- beer: {
4
+ export interface ProductType extends ValidValueDefinition {}
5
+
6
+ /** Makes sure errors are displayed where the error is introduced. */
7
+ const productType = (value: ProductType) => value;
8
+
9
+ const allProductTypes = {
10
+ beer: productType({
13
11
  key: 'beer',
14
- title: defineMessage({
12
+ label: defineMessage({
15
13
  id: 'validValues.productType.beer',
16
14
  message: 'Beer',
17
15
  }),
18
- },
19
- spirit_absinthe: {
16
+ }),
17
+ spirit_absinthe: productType({
20
18
  key: 'spirit_absinthe',
21
- title: defineMessage({
19
+ label: defineMessage({
22
20
  id: 'validValues.productType.spirit_absinthe',
23
21
  message: 'Absinthe',
24
22
  }),
25
- },
26
- spirit_anise: {
23
+ }),
24
+ spirit_anise: productType({
27
25
  key: 'spirit_anise',
28
- title: defineMessage({
26
+ label: defineMessage({
29
27
  id: 'validValues.productType.spirit_anise',
30
28
  message: 'Anise',
31
29
  }),
32
- },
33
- spirit_aquavit: {
30
+ }),
31
+ spirit_aquavit: productType({
34
32
  key: 'spirit_aquavit',
35
- title: defineMessage({
33
+ label: defineMessage({
36
34
  id: 'validValues.productType.spirit_aquavit',
37
35
  message: 'Aquavit',
38
36
  }),
39
- },
40
- spirit_arak: {
37
+ }),
38
+ spirit_arak: productType({
41
39
  key: 'spirit_arak',
42
- title: defineMessage({
40
+ label: defineMessage({
43
41
  id: 'validValues.productType.spirit_arak',
44
42
  message: 'Arak',
45
43
  }),
46
- },
47
- spirit_armagnac: {
44
+ }),
45
+ spirit_armagnac: productType({
48
46
  key: 'spirit_armagnac',
49
- title: defineMessage({
47
+ label: defineMessage({
50
48
  id: 'validValues.productType.spirit_armagnac',
51
49
  message: 'Armagnac',
52
50
  }),
53
- },
54
- spirit_asianspirit: {
51
+ }),
52
+ spirit_asianspirit: productType({
55
53
  key: 'spirit_asianspirit',
56
- title: defineMessage({
54
+ label: defineMessage({
57
55
  id: 'validValues.productType.spirit_asianspirit',
58
56
  message: 'Asian Spirit',
59
57
  }),
60
- },
61
- spirit_bitter: {
58
+ }),
59
+ spirit_bitter: productType({
62
60
  key: 'spirit_bitter',
63
- title: defineMessage({
61
+ label: defineMessage({
64
62
  id: 'validValues.productType.spirit_bitter',
65
63
  message: 'Bitter',
66
64
  }),
67
- },
68
- spirit_cachaca: {
65
+ }),
66
+ spirit_cachaca: productType({
69
67
  key: 'spirit_cachaca',
70
- title: defineMessage({
68
+ label: defineMessage({
71
69
  id: 'validValues.productType.spirit_cachaca',
72
70
  message: 'Cachaca',
73
71
  }),
74
- },
75
- spirit_calvados: {
72
+ }),
73
+ spirit_calvados: productType({
76
74
  key: 'spirit_calvados',
77
- title: defineMessage({
75
+ label: defineMessage({
78
76
  id: 'validValues.productType.spirit_calvados',
79
77
  message: 'Calvados',
80
78
  }),
81
- },
82
- spirit_cocktail: {
79
+ }),
80
+ spirit_cocktail: productType({
83
81
  key: 'spirit_cocktail',
84
- title: defineMessage({
82
+ label: defineMessage({
85
83
  id: 'validValues.productType.spirit_cocktail',
86
84
  message: 'Cocktail',
87
85
  }),
88
- },
89
- spirit_cognac: {
86
+ }),
87
+ spirit_cognac: productType({
90
88
  key: 'spirit_cognac',
91
- title: defineMessage({
89
+ label: defineMessage({
92
90
  id: 'validValues.productType.spirit_cognac',
93
91
  message: 'Cognac',
94
92
  }),
95
- },
96
- spirit_fruitspirit: {
93
+ }),
94
+ spirit_fruitspirit: productType({
97
95
  key: 'spirit_fruitspirit',
98
- title: defineMessage({
96
+ label: defineMessage({
99
97
  id: 'validValues.productType.spirit_fruitspirit',
100
98
  message: 'Fruit Spirit',
101
99
  }),
102
- },
103
- spirit_genever: {
100
+ }),
101
+ spirit_genever: productType({
104
102
  key: 'spirit_genever',
105
- title: defineMessage({
103
+ label: defineMessage({
106
104
  id: 'validValues.productType.spirit_genever',
107
105
  message: 'Genever',
108
106
  }),
109
- },
110
- spirit_gin: {
107
+ }),
108
+ spirit_gin: productType({
111
109
  key: 'spirit_gin',
112
- title: defineMessage({
110
+ label: defineMessage({
113
111
  id: 'validValues.productType.spirit_gin',
114
112
  message: 'Gin',
115
113
  }),
116
- },
117
- spirit_grainspirit: {
114
+ }),
115
+ spirit_grainspirit: productType({
118
116
  key: 'spirit_grainspirit',
119
- title: defineMessage({
117
+ label: defineMessage({
120
118
  id: 'validValues.productType.spirit_grainspirit',
121
119
  message: 'Grain spirit',
122
120
  }),
123
- },
124
- spirit_grapebrandy: {
121
+ }),
122
+ spirit_grapebrandy: productType({
125
123
  key: 'spirit_grapebrandy',
126
- title: defineMessage({
124
+ label: defineMessage({
127
125
  id: 'validValues.productType.spirit_grapebrandy',
128
126
  message: 'Grape Brandy',
129
127
  }),
130
- },
131
- spirit_grappa: {
128
+ }),
129
+ spirit_grappa: productType({
132
130
  key: 'spirit_grappa',
133
- title: defineMessage({
131
+ label: defineMessage({
134
132
  id: 'validValues.productType.spirit_grappa',
135
133
  message: 'Grappa',
136
134
  }),
137
- },
138
- spirit_liqueur: {
135
+ }),
136
+ spirit_liqueur: productType({
139
137
  key: 'spirit_liqueur',
140
- title: defineMessage({
138
+ label: defineMessage({
141
139
  id: 'validValues.productType.spirit_liqueur',
142
140
  message: 'Liqueurs',
143
141
  }),
144
- },
145
- spirit_marc: {
142
+ }),
143
+ spirit_marc: productType({
146
144
  key: 'spirit_marc',
147
- title: defineMessage({
145
+ label: defineMessage({
148
146
  id: 'validValues.productType.spirit_marc',
149
147
  message: 'Marc',
150
148
  }),
151
- },
152
- spirit_mezcal: {
149
+ }),
150
+ spirit_mezcal: productType({
153
151
  key: 'spirit_mezcal',
154
- title: defineMessage({
152
+ label: defineMessage({
155
153
  id: 'validValues.productType.spirit_mezcal',
156
154
  message: 'Mezcal',
157
155
  }),
158
- },
159
- spirit_miscspririt: {
156
+ }),
157
+ spirit_miscspririt: productType({
160
158
  key: 'spirit_miscspririt',
161
- title: defineMessage({
159
+ label: defineMessage({
162
160
  id: 'validValues.productType.spirit_miscspririt',
163
161
  message: 'Miscellaneous',
164
162
  }),
165
- },
166
- spirit_ouzo: {
163
+ }),
164
+ spirit_ouzo: productType({
167
165
  key: 'spirit_ouzo',
168
- title: defineMessage({
166
+ label: defineMessage({
169
167
  id: 'validValues.productType.spirit_ouzo',
170
168
  message: 'Ouzo',
171
169
  }),
172
- },
173
- spirit_pastis: {
170
+ }),
171
+ spirit_pastis: productType({
174
172
  key: 'spirit_pastis',
175
- title: defineMessage({
173
+ label: defineMessage({
176
174
  id: 'validValues.productType.spirit_pastis',
177
175
  message: 'Pastis',
178
176
  }),
179
- },
180
- spirit_pisco: {
177
+ }),
178
+ spirit_pisco: productType({
181
179
  key: 'spirit_pisco',
182
- title: defineMessage({
180
+ label: defineMessage({
183
181
  id: 'validValues.productType.spirit_pisco',
184
182
  message: 'Pisco',
185
183
  }),
186
- },
187
- spirit_raki: {
184
+ }),
185
+ spirit_raki: productType({
188
186
  key: 'spirit_raki',
189
- title: defineMessage({
187
+ label: defineMessage({
190
188
  id: 'validValues.productType.spirit_raki',
191
189
  message: 'Raki',
192
190
  }),
193
- },
194
- spirit_rum: {
191
+ }),
192
+ spirit_rum: productType({
195
193
  key: 'spirit_rum',
196
- title: defineMessage({
194
+ label: defineMessage({
197
195
  id: 'validValues.productType.spirit_rum',
198
196
  message: 'Rum',
199
197
  }),
200
- },
201
- spirit_sambuca: {
198
+ }),
199
+ spirit_sambuca: productType({
202
200
  key: 'spirit_sambuca',
203
- title: defineMessage({
201
+ label: defineMessage({
204
202
  id: 'validValues.productType.spirit_sambuca',
205
203
  message: 'Sambuca',
206
204
  }),
207
- },
208
- spirit_schnaps: {
205
+ }),
206
+ spirit_schnaps: productType({
209
207
  key: 'spirit_schnaps',
210
- title: defineMessage({
208
+ label: defineMessage({
211
209
  id: 'validValues.productType.spirit_schnaps',
212
210
  message: 'Edelbrand/Schnaps',
213
211
  }),
214
- },
215
- spirit_shochu: {
212
+ }),
213
+ spirit_shochu: productType({
216
214
  key: 'spirit_shochu',
217
- title: defineMessage({
215
+ label: defineMessage({
218
216
  id: 'validValues.productType.spirit_shochu',
219
217
  message: 'Shochu',
220
218
  }),
221
- },
222
- spirit_tequila: {
219
+ }),
220
+ spirit_tequila: productType({
223
221
  key: 'spirit_tequila',
224
- title: defineMessage({
222
+ label: defineMessage({
225
223
  id: 'validValues.productType.spirit_tequila',
226
224
  message: 'Tequila',
227
225
  }),
228
- },
229
- spirit_vermouth: {
226
+ }),
227
+ spirit_vermouth: productType({
230
228
  key: 'spirit_vermouth',
231
- title: defineMessage({
229
+ label: defineMessage({
232
230
  id: 'validValues.productType.spirit_vermouth',
233
231
  message: 'Vermouth',
234
232
  }),
235
- },
236
- spirit_vodka: {
233
+ }),
234
+ spirit_vodka: productType({
237
235
  key: 'spirit_vodka',
238
- title: defineMessage({
236
+ label: defineMessage({
239
237
  id: 'validValues.productType.spirit_vodka',
240
238
  message: 'Vodka',
241
239
  }),
242
- },
243
- spirit_whisky: {
240
+ }),
241
+ spirit_whisky: productType({
244
242
  key: 'spirit_whisky',
245
- title: defineMessage({
243
+ label: defineMessage({
246
244
  id: 'validValues.productType.spirit_whisky',
247
245
  message: 'Whisky',
248
246
  }),
249
- },
250
- wine_aromatized: {
247
+ }),
248
+ wine_aromatized: productType({
251
249
  key: 'wine_aromatized',
252
- title: defineMessage({
250
+ label: defineMessage({
253
251
  id: 'validValues.productType.wine_aromatized',
254
252
  message: 'Aromatized wine',
255
253
  }),
256
- },
257
- wine_fortified: {
254
+ }),
255
+ wine_fortified: productType({
258
256
  key: 'wine_fortified',
259
- title: defineMessage({
257
+ label: defineMessage({
260
258
  id: 'validValues.productType.wine_fortified',
261
259
  message: 'Fortified wine',
262
260
  }),
263
- },
264
- wine_pearlwine: {
261
+ }),
262
+ wine_pearlwine: productType({
265
263
  key: 'wine_pearlwine',
266
- title: defineMessage({
264
+ label: defineMessage({
267
265
  id: 'validValues.productType.wine_pearlwine',
268
266
  message: 'Pearl wine',
269
267
  }),
270
- },
271
- wine_sparkling: {
268
+ }),
269
+ wine_sparkling: productType({
272
270
  key: 'wine_sparkling',
273
- title: defineMessage({
271
+ label: defineMessage({
274
272
  id: 'validValues.productType.wine_sparkling',
275
273
  message: 'Sparkling wine',
276
274
  }),
277
- },
278
- wine_stillwine: {
275
+ }),
276
+ wine_stillwine: productType({
279
277
  key: 'wine_stillwine',
280
- title: defineMessage({
278
+ label: defineMessage({
281
279
  id: 'validValues.productType.wine_stillwine',
282
280
  message: 'Still wine',
283
281
  }),
284
- },
285
- });
282
+ }),
283
+ } as const;
284
+
285
+ export type ProductTypeKey = keyof typeof allProductTypes;
286
+
287
+ export default allProductTypes;
@@ -1,102 +1,98 @@
1
1
  import { defineMessage } from '@lingui/macro';
2
- import createValidValues from './utils/createValidValues.js';
3
2
  import { ValidValueDefinition } from './types/ValidValueDefinition';
3
+
4
4
  export interface ProductionMethod extends ValidValueDefinition {}
5
- export default createValidValues<ProductionMethod>({
6
- barrelAged: {
5
+
6
+ /** Makes sure errors are displayed where the error is introduced. */
7
+ const productionMethod = (value: ProductionMethod) => value;
8
+
9
+ const allProductionMethods = {
10
+ barrelAged: productionMethod({
7
11
  key: 'barrelAged',
8
- title: defineMessage({
12
+ label: defineMessage({
9
13
  id: 'validValues.productionMethod.barrelAged',
10
14
  message: 'Barrel aged',
11
15
  }),
12
- form: {},
13
- },
14
- barrelFermented: {
16
+ }),
17
+ barrelFermented: productionMethod({
15
18
  key: 'barrelFermented',
16
- title: defineMessage({
19
+ label: defineMessage({
17
20
  id: 'validValues.productionMethod.barrelFermented',
18
21
  message: 'Barrel fermented',
19
22
  }),
20
- form: {},
21
- },
22
- barrelMatured: {
23
+ }),
24
+ barrelMatured: productionMethod({
23
25
  key: 'barrelMatured',
24
- title: defineMessage({
26
+ label: defineMessage({
25
27
  id: 'validValues.productionMethod.barrelMatured',
26
28
  message: 'Barrel matured',
27
29
  }),
28
- form: {},
29
- },
30
- bottleFermented: {
30
+ }),
31
+ bottleFermented: productionMethod({
31
32
  key: 'bottleFermented',
32
- title: defineMessage({
33
+ label: defineMessage({
33
34
  id: 'validValues.productionMethod.bottleFermented',
34
35
  message: 'Bottle fermented',
35
36
  }),
36
- form: {},
37
- },
38
- bottleFermentedTraditionalMethod: {
37
+ }),
38
+ bottleFermentedTraditionalMethod: productionMethod({
39
39
  key: 'bottleFermentedTraditionalMethod',
40
- title: defineMessage({
40
+ label: defineMessage({
41
41
  id: 'validValues.productionMethod.bottleFermentedTraditionalMethod',
42
42
  message: 'Bottle fermented by the traditional method',
43
43
  }),
44
- form: {},
45
- },
46
- caskAged: {
44
+ }),
45
+ caskAged: productionMethod({
47
46
  key: 'caskAged',
48
- title: defineMessage({
47
+ label: defineMessage({
49
48
  id: 'validValues.productionMethod.caskAged',
50
49
  message: 'Cask aged',
51
50
  }),
52
- form: {},
53
- },
54
- caskFermented: {
51
+ }),
52
+ caskFermented: productionMethod({
55
53
  key: 'caskFermented',
56
- title: defineMessage({
54
+ label: defineMessage({
57
55
  id: 'validValues.productionMethod.caskFermented',
58
56
  message: 'Cask fermented',
59
57
  }),
60
- form: {},
61
- },
62
- caskMatured: {
58
+ }),
59
+ caskMatured: productionMethod({
63
60
  key: 'caskMatured',
64
- title: defineMessage({
61
+ label: defineMessage({
65
62
  id: 'validValues.productionMethod.caskMatured',
66
63
  message: 'Cask matured',
67
64
  }),
68
- form: {},
69
- },
70
- classicalMethod: {
65
+ }),
66
+ classicalMethod: productionMethod({
71
67
  key: 'classicalMethod',
72
- title: defineMessage({
68
+ label: defineMessage({
73
69
  id: 'validValues.productionMethod.classicalMethod',
74
70
  message: 'Classical method',
75
71
  }),
76
- form: {},
77
- },
78
- classicalTraditionalMethod: {
72
+ }),
73
+ classicalTraditionalMethod: productionMethod({
79
74
  key: 'classicalTraditionalMethod',
80
- title: defineMessage({
75
+ label: defineMessage({
81
76
  id: 'validValues.productionMethod.classicalTraditionalMethod',
82
77
  message: 'Classical traditional method',
83
78
  }),
84
- form: {},
85
- },
86
- cremant: {
79
+ }),
80
+ cremant: productionMethod({
87
81
  key: 'cremant',
88
- title: defineMessage({
82
+ label: defineMessage({
89
83
  id: 'validValues.productionMethod.cremant',
90
84
  message: 'Crémant',
91
85
  }),
92
- form: {},
93
- },
94
- traditionalMethod: {
86
+ }),
87
+ traditionalMethod: productionMethod({
95
88
  key: 'traditionalMethod',
96
- title: defineMessage({
89
+ label: defineMessage({
97
90
  id: 'validValues.productionMethod.traditionalMethod',
98
91
  message: 'Traditional method',
99
92
  }),
100
- form: {},
101
- },
102
- });
93
+ }),
94
+ } as const;
95
+
96
+ export type ProductionMethodKey = keyof typeof allProductionMethods;
97
+
98
+ export default allProductionMethods;