forked from MapComplete/MapComplete
		
	
		
			
				
	
	
		
			69 lines
		
	
	
		
			No EOL
		
	
	
		
			2 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			69 lines
		
	
	
		
			No EOL
		
	
	
		
			2 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
export default interface UnitConfigJson {
 | 
						|
 | 
						|
    /**
 | 
						|
     * Every key from this list will be normalized
 | 
						|
     */
 | 
						|
    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
 | 
						|
     */
 | 
						|
    applicableUnits: ApplicableUnitJson[]
 | 
						|
 | 
						|
}
 | 
						|
 | 
						|
export interface ApplicableUnitJson {
 | 
						|
    /**
 | 
						|
     * The canonical value which will be added to the value in OSM.
 | 
						|
     * e.g. "m" for meters
 | 
						|
     * 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
 | 
						|
     */
 | 
						|
    canonicalDenomination: string,
 | 
						|
    /**
 | 
						|
     * The canonical denomination in the case that the unit is precisely '1'
 | 
						|
     */
 | 
						|
    canonicalDenominationSingular?: string,
 | 
						|
 | 
						|
 | 
						|
    /**
 | 
						|
     * 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"
 | 
						|
     * }
 | 
						|
     */
 | 
						|
    human?: string | any
 | 
						|
 | 
						|
    /**
 | 
						|
     * 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
 | 
						|
 | 
						|
    /**
 | 
						|
     * 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
 | 
						|
 | 
						|
    /**
 | 
						|
     * The default interpretation - only one can be set.
 | 
						|
     * If none is set, the first unit will be considered the default interpretation of a value without a unit
 | 
						|
     */
 | 
						|
    default?: boolean
 | 
						|
} |