function expandType()

in compiler/src/transform/expand-generics.ts [136:160]


  function expandType (name: TypeName, params: ValueOf[]): TypeName {
    if (name.namespace === '_builtins') {
      return name
    }

    const type = getType(name)

    switch (type.kind) {
      case 'enum':
        // Nothing to do
        return addIfNotSeen(type.name, () => type)

      case 'type_alias':
        return expandTypeAlias(type, params)

      case 'request':
        return expandRequest(type, params)

      case 'response':
        return expandResponse(type, params)

      case 'interface':
        return expandInterface(type, params)
    }
  }