| 
									
										
										
										
											2021-08-07 23:11:34 +02:00
										 |  |  | export default interface UnitConfigJson { | 
					
						
							| 
									
										
										
										
											2021-06-22 00:29:07 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-09-13 01:21:47 +02:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2022-07-19 11:55:46 +02:00
										 |  |  |      * Every key from this list will be normalized. | 
					
						
							|  |  |  |      *  | 
					
						
							|  |  |  |      * To render a united value properly, use  | 
					
						
							| 
									
										
										
										
											2021-09-13 01:21:47 +02:00
										 |  |  |      */ | 
					
						
							|  |  |  |     appliesToKey: string[], | 
					
						
							|  |  |  |     /** | 
					
						
							|  |  |  |      * If set, invalid values will be erased in the MC application (but not in OSM of course!) | 
					
						
							|  |  |  |      * Be careful with setting this | 
					
						
							|  |  |  |      */ | 
					
						
							|  |  |  |     eraseInvalidValues?: boolean; | 
					
						
							|  |  |  |     /** | 
					
						
							|  |  |  |      * The possible denominations | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2022-08-18 19:17:15 +02:00
										 |  |  |     applicableUnits: DenominationConfigJson[] | 
					
						
							| 
									
										
										
										
											2021-09-13 01:21:47 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-08-18 19:17:15 +02:00
										 |  |  | export interface DenominationConfigJson { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							|  |  |  |      * If this evaluates to true and the value to interpret has _no_ unit given, assumes that this unit is meant. | 
					
						
							|  |  |  |      * Alternatively, a list of country codes can be given where this acts as the default interpretation | 
					
						
							|  |  |  |      *  | 
					
						
							|  |  |  |      * E.g., a denomination using "meter" would probably set this flag to "true"; | 
					
						
							|  |  |  |      * a denomination for "mp/h" will use the condition "_country=gb" to indicate that it is the default in the UK. | 
					
						
							|  |  |  |      *  | 
					
						
							|  |  |  |      * If none of the units indicate that they are the default, the first denomination will be used instead | 
					
						
							|  |  |  |      */ | 
					
						
							|  |  |  |     useIfNoUnitGiven?: boolean | string[] | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-06-22 00:29:07 +02:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2022-08-18 19:17:15 +02:00
										 |  |  |      * Use this value as default denomination when the user inputs a value (e.g. to force using 'centimeters' instead of 'meters' by default). | 
					
						
							|  |  |  |      * If unset for all values, this will use 'useIfNoUnitGiven'. If at least one denomination has this set, this will default to false | 
					
						
							|  |  |  |      */ | 
					
						
							|  |  |  |     useAsDefaultInput?: boolean | string[] | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							|  |  |  |      * The canonical value for this denomination which will be added to the value in OSM. | 
					
						
							| 
									
										
										
										
											2021-06-22 00:29:07 +02:00
										 |  |  |      * e.g. "m" for meters | 
					
						
							| 
									
										
										
										
											2022-04-22 03:17:40 +02:00
										 |  |  |      * If the user inputs '42', the canonical value will be added and it'll become '42m'. | 
					
						
							|  |  |  |      *  | 
					
						
							|  |  |  |      * Important: often, _no_ canonical values are expected, e.g. in the case of 'maxspeed' where 'km/h' is the default. | 
					
						
							|  |  |  |      * In this case, an empty string should be used | 
					
						
							| 
									
										
										
										
											2021-06-22 00:29:07 +02:00
										 |  |  |      */ | 
					
						
							|  |  |  |     canonicalDenomination: string, | 
					
						
							| 
									
										
										
										
											2022-08-18 19:17:15 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |      | 
					
						
							| 
									
										
										
										
											2021-09-13 02:38:20 +02:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2022-08-18 19:17:15 +02:00
										 |  |  |      * The canonical denomination in the case that the unit is precisely '1'. | 
					
						
							|  |  |  |      * Used for display purposes | 
					
						
							| 
									
										
										
										
											2021-09-13 02:38:20 +02:00
										 |  |  |      */ | 
					
						
							|  |  |  |     canonicalDenominationSingular?: string, | 
					
						
							| 
									
										
										
										
											2021-11-07 16:34:51 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-06-22 00:29:07 +02:00
										 |  |  |     /** | 
					
						
							|  |  |  |      * A list of alternative values which can occur in the OSM database - used for parsing. | 
					
						
							|  |  |  |      */ | 
					
						
							|  |  |  |     alternativeDenomination?: string[], | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							|  |  |  |      * The value for humans in the dropdown. This should not use abbreviations and should be translated, e.g. | 
					
						
							|  |  |  |      * { | 
					
						
							|  |  |  |      *     "en": "meter", | 
					
						
							|  |  |  |      *     "fr": "metre" | 
					
						
							|  |  |  |      * } | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2021-08-07 23:11:34 +02:00
										 |  |  |     human?: string | any | 
					
						
							| 
									
										
										
										
											2021-06-22 00:29:07 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-09-13 02:38:20 +02:00
										 |  |  |     /** | 
					
						
							|  |  |  |      * The value for humans in the dropdown. This should not use abbreviations and should be translated, e.g. | 
					
						
							|  |  |  |      * { | 
					
						
							|  |  |  |      *     "en": "minute", | 
					
						
							|  |  |  |      *     "nl": "minuut"x² | 
					
						
							|  |  |  |      * } | 
					
						
							|  |  |  |      */ | 
					
						
							|  |  |  |     humanSingular?: string | any | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-06-22 00:29:07 +02:00
										 |  |  |     /** | 
					
						
							|  |  |  |      * If set, then the canonical value will be prefixed instead, e.g. for '€' | 
					
						
							|  |  |  |      * Note that if all values use 'prefix', the dropdown might move to before the text field | 
					
						
							|  |  |  |      */ | 
					
						
							|  |  |  |     prefix?: boolean | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-08-18 19:17:15 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-06-22 00:29:07 +02:00
										 |  |  | } |