function valueTypeName()

in compiler/src/transform/expand-generics.ts [479:500]


function valueTypeName (value: ValueOf): string {
  switch (value.kind) {
    case 'literal_value':
      return value.value.toString()

    case 'user_defined_value':
      return 'UserDefined'

    case 'array_of':
      return 'Array' + valueTypeName(value.value)

    case 'dictionary_of':
      // Don't care about key, it's always aliased to string
      return 'Dict' + valueTypeName(value.value)

    case 'union_of':
      return 'Union' + value.items.map(v => valueTypeName(v)).join()

    case 'instance_of':
      return value.type.name
  }
}