Skip to content

🧮 FormatVersionConstraint

根据约束类型把一个基础版本字符串格式化为 Composer 可识别的版本约束。这是一个纯函数,不执行任何 Composer 命令。

何时使用

当需要在前端展示、日志记录或动态拼装 require 参数时,用它生成标准约束字符串。也可用于在调用 UpdatePackageVersion 前预览最终写入的约束。

签名

go
func FormatVersionConstraint(version string, constraintType VersionConstraint) string

参数

参数类型说明
versionstring基础版本,例如 1.21.2.3
constraintTypeVersionConstraint约束类型枚举

约束类型取值:

常量输出示例
ExactVersion1.2.3
CaretVersion^1.2.3
TildeVersion~1.2.3
WildcardVersion1.2.*
RangeVersion>=1.2.0 <2.0.0

返回值

返回值类型说明
唯一返回值string格式化后的版本约束字符串

示例

go
package main

import (
	"fmt"

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

func main() {
	fmt.Println(composer.FormatVersionConstraint("1.2.3", composer.ExactVersion))   // 1.2.3
	fmt.Println(composer.FormatVersionConstraint("1.2.3", composer.CaretVersion))   // ^1.2.3
	fmt.Println(composer.FormatVersionConstraint("1.2.3", composer.TildeVersion))   // ~1.2.3
	fmt.Println(composer.FormatVersionConstraint("1.2", composer.WildcardVersion))  // 1.2.*
	fmt.Println(composer.FormatVersionConstraint("1.2", composer.RangeVersion))     // >=1.2.0 <2.0.0
}

进阶

基于 MIT 许可证发布