patchwork-mapconverter
Version: 
Executable wrapper for https://github.com/ChiefOfGxBxL/WC3MapTranslator
37 lines (30 loc) • 1.24 kB
text/typescript
import { ParameterType } from '../data/parameter/ParameterType'
const dictionary = new Map<number, ParameterType>()
const reverseDictionary = new Map<ParameterType, number>()
dictionary.set(-1, ParameterType.INVALID)
dictionary.set(0, ParameterType.PRESET)
dictionary.set(1, ParameterType.VARIABLE)
dictionary.set(2, ParameterType.FUNCTION)
dictionary.set(3, ParameterType.VALUE)
reverseDictionary.set(ParameterType.INVALID, -1)
reverseDictionary.set(ParameterType.PRESET, 0)
reverseDictionary.set(ParameterType.VARIABLE, 1)
reverseDictionary.set(ParameterType.FUNCTION, 2)
reverseDictionary.set(ParameterType.VALUE, 3)
const ParameterTypeEnumConverter = {
  toEnum: (identifier: number): ParameterType => {
    if (dictionary.has(identifier)) {
      return dictionary.get(identifier) as ParameterType
    } else {
      throw new Error('Unknown ParameterType for identifier: ' + String(identifier))
    }
  },
  toIdentifier: (type: ParameterType): number => {
    if (reverseDictionary.has(type)) {
      return reverseDictionary.get(type) as number
    } else {
      throw new Error('Unknown identifier for ParameterType: ' + String(type))
    }
  }
}
export { ParameterTypeEnumConverter }