Skip to content

✅ HasFunding

检查当前项目中是否存在任何声明了资金支持(funding)的包。

何时使用

当你要决定是否在应用界面、CLI 提示或 CI 流程中展示「资助作者」入口时使用,避免在没有可资助包时显示空板块。

签名

go
func (c *Composer) HasFunding() (bool, error)

参数

该方法不接受任何参数。

返回值

  • bool:存在可资助包时为 true,否则为 false
  • error:执行 composer fund --format=text 失败时返回相应错误信息。

示例

go
package main

import (
	"fmt"
	"log"

	"github.com/scagogogo/composer-skills/pkg/composer"
)

func main() {
	comp, err := composer.New(composer.DefaultOptions())
	if err != nil {
		log.Fatalf("初始化失败: %v", err)
	}

	has, err := comp.HasFunding()
	if err != nil {
		log.Fatalf("检查资金支持失败: %v", err)
	}

	if has {
		fmt.Println("存在可资助的包,可运行 composer fund 查看详情")
	} else {
		fmt.Println("项目中没有可资助的包")
	}
}

进阶

  • 判断逻辑:若 composer fund --format=text 输出包含 No funding 则返回 false
  • 需要具体链接时用 GetFundingURLs,需要结构化明细用 FundWithJSON,纯文本输出用 Fund

基于 MIT 许可证发布