@bottlebooks/valid-values 2.0.1 → 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 (238) hide show
  1. package/CHANGELOG.md +34 -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 +2 -0
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +7 -1
  9. package/dist/locales/po/bg.d.ts +2 -0
  10. package/dist/locales/po/bg.d.ts.map +1 -1
  11. package/dist/locales/po/bg.js +2 -0
  12. package/dist/locales/po/cs.d.ts +2 -0
  13. package/dist/locales/po/cs.d.ts.map +1 -1
  14. package/dist/locales/po/cs.js +2 -0
  15. package/dist/locales/po/da.d.ts +2 -0
  16. package/dist/locales/po/da.d.ts.map +1 -1
  17. package/dist/locales/po/da.js +2 -0
  18. package/dist/locales/po/de.d.ts +2 -0
  19. package/dist/locales/po/de.d.ts.map +1 -1
  20. package/dist/locales/po/de.js +2 -0
  21. package/dist/locales/po/ee.d.ts +2 -0
  22. package/dist/locales/po/ee.d.ts.map +1 -1
  23. package/dist/locales/po/ee.js +2 -0
  24. package/dist/locales/po/el.d.ts +2 -0
  25. package/dist/locales/po/el.d.ts.map +1 -1
  26. package/dist/locales/po/el.js +2 -0
  27. package/dist/locales/po/en.d.ts +2 -0
  28. package/dist/locales/po/en.d.ts.map +1 -1
  29. package/dist/locales/po/en.js +2 -0
  30. package/dist/locales/po/es.d.ts +2 -0
  31. package/dist/locales/po/es.d.ts.map +1 -1
  32. package/dist/locales/po/es.js +2 -0
  33. package/dist/locales/po/fi.d.ts +2 -0
  34. package/dist/locales/po/fi.d.ts.map +1 -1
  35. package/dist/locales/po/fi.js +2 -0
  36. package/dist/locales/po/fr.d.ts +2 -0
  37. package/dist/locales/po/fr.d.ts.map +1 -1
  38. package/dist/locales/po/fr.js +2 -0
  39. package/dist/locales/po/ga.d.ts +2 -0
  40. package/dist/locales/po/ga.d.ts.map +1 -1
  41. package/dist/locales/po/ga.js +2 -0
  42. package/dist/locales/po/hr.d.ts +2 -0
  43. package/dist/locales/po/hr.d.ts.map +1 -1
  44. package/dist/locales/po/hr.js +2 -0
  45. package/dist/locales/po/hu.d.ts +2 -0
  46. package/dist/locales/po/hu.d.ts.map +1 -1
  47. package/dist/locales/po/hu.js +2 -0
  48. package/dist/locales/po/it.d.ts +2 -0
  49. package/dist/locales/po/it.d.ts.map +1 -1
  50. package/dist/locales/po/it.js +2 -0
  51. package/dist/locales/po/lt.d.ts +2 -0
  52. package/dist/locales/po/lt.d.ts.map +1 -1
  53. package/dist/locales/po/lt.js +2 -0
  54. package/dist/locales/po/lv.d.ts +2 -0
  55. package/dist/locales/po/lv.d.ts.map +1 -1
  56. package/dist/locales/po/lv.js +2 -0
  57. package/dist/locales/po/mt.d.ts +2 -0
  58. package/dist/locales/po/mt.d.ts.map +1 -1
  59. package/dist/locales/po/mt.js +2 -0
  60. package/dist/locales/po/nl.d.ts +2 -0
  61. package/dist/locales/po/nl.d.ts.map +1 -1
  62. package/dist/locales/po/nl.js +2 -0
  63. package/dist/locales/po/pl.d.ts +2 -0
  64. package/dist/locales/po/pl.d.ts.map +1 -1
  65. package/dist/locales/po/pl.js +2 -0
  66. package/dist/locales/po/pt.d.ts +2 -0
  67. package/dist/locales/po/pt.d.ts.map +1 -1
  68. package/dist/locales/po/pt.js +2 -0
  69. package/dist/locales/po/ro.d.ts +2 -0
  70. package/dist/locales/po/ro.d.ts.map +1 -1
  71. package/dist/locales/po/ro.js +2 -0
  72. package/dist/locales/po/se.d.ts +2 -0
  73. package/dist/locales/po/se.d.ts.map +1 -1
  74. package/dist/locales/po/se.js +2 -0
  75. package/dist/locales/po/si.d.ts +2 -0
  76. package/dist/locales/po/si.d.ts.map +1 -1
  77. package/dist/locales/po/si.js +2 -0
  78. package/dist/locales/po/sk.d.ts +2 -0
  79. package/dist/locales/po/sk.d.ts.map +1 -1
  80. package/dist/locales/po/sk.js +2 -0
  81. package/dist/main.d.ts.map +1 -1
  82. package/dist/main.js +14 -14
  83. package/dist/validValues/award.d.ts +214 -21
  84. package/dist/validValues/award.d.ts.map +1 -1
  85. package/dist/validValues/award.js +665 -662
  86. package/dist/validValues/awardMedal.d.ts +233 -18
  87. package/dist/validValues/awardMedal.d.ts.map +1 -1
  88. package/dist/validValues/awardMedal.js +921 -1148
  89. package/dist/validValues/beerStyle.d.ts +96 -18
  90. package/dist/validValues/beerStyle.d.ts.map +1 -1
  91. package/dist/validValues/beerStyle.js +381 -473
  92. package/dist/validValues/certification.d.ts +33 -19
  93. package/dist/validValues/certification.d.ts.map +1 -1
  94. package/dist/validValues/certification.js +144 -143
  95. package/dist/validValues/containerColor.d.ts +11 -18
  96. package/dist/validValues/containerColor.d.ts.map +1 -1
  97. package/dist/validValues/containerColor.js +41 -48
  98. package/dist/validValues/containerType.d.ts +8 -18
  99. package/dist/validValues/containerType.d.ts.map +1 -1
  100. package/dist/validValues/containerType.js +29 -33
  101. package/dist/validValues/country.d.ts +154 -23
  102. package/dist/validValues/country.d.ts.map +1 -1
  103. package/dist/validValues/country.js +452 -451
  104. package/dist/validValues/designation.d.ts +57 -629
  105. package/dist/validValues/designation.d.ts.map +1 -1
  106. package/dist/validValues/designation.js +109 -104
  107. package/dist/validValues/ingredient.d.ts +65 -30
  108. package/dist/validValues/ingredient.d.ts.map +1 -1
  109. package/dist/validValues/ingredient.js +271 -257
  110. package/dist/validValues/packagingCertification.d.ts +9 -33
  111. package/dist/validValues/packagingCertification.d.ts.map +1 -1
  112. package/dist/validValues/packagingCertification.js +29 -28
  113. package/dist/validValues/packagingMaterialType.d.ts +54 -28
  114. package/dist/validValues/packagingMaterialType.d.ts.map +1 -1
  115. package/dist/validValues/packagingMaterialType.js +264 -312
  116. package/dist/validValues/productType.d.ts +44 -22
  117. package/dist/validValues/productType.d.ts.map +1 -1
  118. package/dist/validValues/productType.js +126 -125
  119. package/dist/validValues/productionMethod.d.ts +15 -18
  120. package/dist/validValues/productionMethod.d.ts.map +1 -1
  121. package/dist/validValues/productionMethod.js +57 -68
  122. package/dist/validValues/region.d.ts +487 -16
  123. package/dist/validValues/region.d.ts.map +1 -1
  124. package/dist/validValues/region.js +4799 -4803
  125. package/dist/validValues/responsibleConsumptionLogo.d.ts +10 -19
  126. package/dist/validValues/responsibleConsumptionLogo.d.ts.map +1 -1
  127. package/dist/validValues/responsibleConsumptionLogo.js +29 -32
  128. package/dist/validValues/subregion.d.ts +1393 -12
  129. package/dist/validValues/subregion.d.ts.map +1 -1
  130. package/dist/validValues/subregion.js +12493 -11115
  131. package/dist/validValues/types/ValidValueDefinition.d.ts +23 -14
  132. package/dist/validValues/types/ValidValueDefinition.d.ts.map +1 -1
  133. package/dist/validValues/types/award_p85_100.js +2 -2
  134. package/dist/validValues/types/productTypesSpirit.js +2 -2
  135. package/dist/validValues/types/productTypesWine.js +2 -2
  136. package/dist/validValues/utils/createValidValues.d.ts +2 -2
  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/lingui.config.ts +4 -0
  152. package/package.json +2 -2
  153. package/src/core/translate.ts +6 -5
  154. package/src/index.ts +4 -1
  155. package/src/locales/po/bg.po +2529 -2521
  156. package/src/locales/po/bg.ts +1 -1
  157. package/src/locales/po/cs.po +2529 -2521
  158. package/src/locales/po/cs.ts +1 -1
  159. package/src/locales/po/da.po +2529 -2521
  160. package/src/locales/po/da.ts +1 -1
  161. package/src/locales/po/de.po +2529 -2521
  162. package/src/locales/po/de.ts +1 -1
  163. package/src/locales/po/ee.po +2529 -2521
  164. package/src/locales/po/ee.ts +1 -1
  165. package/src/locales/po/el.po +2529 -2521
  166. package/src/locales/po/el.ts +1 -1
  167. package/src/locales/po/en.po +2529 -2521
  168. package/src/locales/po/en.ts +1 -1
  169. package/src/locales/po/es.po +2529 -2521
  170. package/src/locales/po/es.ts +1 -1
  171. package/src/locales/po/fi.po +2529 -2521
  172. package/src/locales/po/fi.ts +1 -1
  173. package/src/locales/po/fr.po +2529 -2521
  174. package/src/locales/po/fr.ts +1 -1
  175. package/src/locales/po/ga.po +2529 -2521
  176. package/src/locales/po/ga.ts +1 -1
  177. package/src/locales/po/hr.po +2529 -2521
  178. package/src/locales/po/hr.ts +1 -1
  179. package/src/locales/po/hu.po +2529 -2521
  180. package/src/locales/po/hu.ts +1 -1
  181. package/src/locales/po/it.po +2529 -2521
  182. package/src/locales/po/it.ts +1 -1
  183. package/src/locales/po/lt.po +2529 -2521
  184. package/src/locales/po/lt.ts +1 -1
  185. package/src/locales/po/lv.po +2529 -2521
  186. package/src/locales/po/lv.ts +1 -1
  187. package/src/locales/po/mt.po +2529 -2521
  188. package/src/locales/po/mt.ts +1 -1
  189. package/src/locales/po/nl.po +2529 -2521
  190. package/src/locales/po/nl.ts +1 -1
  191. package/src/locales/po/pl.po +2529 -2521
  192. package/src/locales/po/pl.ts +1 -1
  193. package/src/locales/po/pt.po +2529 -2521
  194. package/src/locales/po/pt.ts +1 -1
  195. package/src/locales/po/ro.po +2529 -2521
  196. package/src/locales/po/ro.ts +1 -1
  197. package/src/locales/po/se.po +2529 -2521
  198. package/src/locales/po/se.ts +1 -1
  199. package/src/locales/po/si.po +2529 -2521
  200. package/src/locales/po/si.ts +1 -1
  201. package/src/locales/po/sk.po +2529 -2521
  202. package/src/locales/po/sk.ts +1 -1
  203. package/src/main.ts +12 -23
  204. package/src/scripts/transformArchitectureVV.js +34 -31
  205. package/src/scripts/transformServerVV.js +3 -3
  206. package/src/scripts/writeFields.not.test.js +38 -3
  207. package/src/validValues/award.ts +639 -841
  208. package/src/validValues/awardMedal.ts +695 -915
  209. package/src/validValues/beerStyle.ts +290 -375
  210. package/src/validValues/certification.ts +154 -139
  211. package/src/validValues/containerColor.ts +35 -35
  212. package/src/validValues/containerType.ts +26 -23
  213. package/src/validValues/country.ts +457 -452
  214. package/src/validValues/designation.ts +44 -87
  215. package/src/validValues/ingredient.ts +252 -230
  216. package/src/validValues/json/region.js +1 -0
  217. package/src/validValues/json/subregion.js +8 -0
  218. package/src/validValues/packagingCertification.ts +38 -42
  219. package/src/validValues/packagingMaterialType.ts +221 -267
  220. package/src/validValues/productType.ts +128 -126
  221. package/src/validValues/productionMethod.ts +47 -51
  222. package/src/validValues/region.ts +1464 -1947
  223. package/src/validValues/responsibleConsumptionLogo.ts +34 -24
  224. package/src/validValues/subregion.ts +4181 -4193
  225. package/src/validValues/types/ValidValueDefinition.ts +27 -14
  226. package/src/validValues/utils/loadLocalizedData.ts +11 -0
  227. package/src/validValues/varietyName.ts +5884 -7836
  228. package/src/validValues/wineColor.ts +23 -19
  229. package/src/validValues/wineType.ts +23 -19
  230. package/dist/validValues/json/appelation.d.ts +0 -2
  231. package/dist/validValues/json/appelation.d.ts.map +0 -1
  232. package/dist/validValues/types/Award.d.ts +0 -35
  233. package/dist/validValues/types/Award.d.ts.map +0 -1
  234. package/dist/validValues/types/Award.js +0 -5
  235. package/dist/validValues/types/Country.d.ts +0 -35
  236. package/dist/validValues/types/Country.d.ts.map +0 -1
  237. package/dist/validValues/types/Country.js +0 -5
  238. 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;