code: func parseAlias(ctx *context, aliasName string, aliasNode *jsongo.JSONNode) (*Alias, error) {
  	if aliasNode.Len() == 0 || aliasNode.At(aliasTypeField).GetType() != jsongo.TypeValue {
  		return nil, errors.New("invalid JSON for alias specified")
  	}
  
  	alias := Alias{
  		Name: aliasName,
  	}
  
  	if typeNode := aliasNode.At(aliasTypeField); typeNode.GetType() == jsongo.TypeValue {
  		typ, ok := typeNode.Get().(string)
  		if !ok {
  			return nil, fmt.Errorf("alias type is %T, not a string", typeNode.Get())
  		}
  		if typ != "null" {
  			alias.Type = typ
  		}
  	}
  
  	if lengthNode := aliasNode.At(aliasLengthField); lengthNode.GetType() == jsongo.TypeValue {
  		length, ok := lengthNode.Get().(float64)
  		if !ok {
  			return nil, fmt.Errorf("alias length is %T, not a float64", lengthNode.Get())
  		}
  		alias.Length = int(length)
  	}
  
  	return &alias, nil
  }
docs: // parseAlias parses VPP binary API alias object from JSON node