github.com/ActiveState/cli@v0.0.0-20240508170324-6801f60cd051/pkg/platform/model/supportedlangs.go (about)

     1  package model
     2  
     3  import (
     4  	"github.com/ActiveState/cli/internal/errs"
     5  	"github.com/ActiveState/cli/pkg/platform/api/mediator"
     6  	"github.com/ActiveState/cli/pkg/platform/api/mediator/model"
     7  	"github.com/ActiveState/cli/pkg/platform/api/mediator/request"
     8  )
     9  
    10  // FetchSupportedLanguages returns the list of languages that the Platform supports or the given OS platform name ATM
    11  func FetchSupportedLanguages(osPlatformName string) ([]model.SupportedLanguage, error) {
    12  	kernelName := HostPlatformToKernelName(osPlatformName)
    13  	req := request.SupportedLanguages(kernelName)
    14  	var resp model.SupportedLanguagesResponse
    15  	med := mediator.New(nil)
    16  	err := med.Run(req, &resp)
    17  	if err != nil {
    18  		return nil, errs.Wrap(err, "Failed to run mediator request.")
    19  	}
    20  	return resp.Languages, nil
    21  }