diff options
| author | wuhuizuo <wuhuizuo@126.com> | 2023-11-25 00:21:01 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-11-24 16:21:01 +0000 |
| commit | 635e78c38aa1cb0f31efff7f5cb0eecfe93f505c (patch) | |
| tree | 6bbdfebc1bb28c7e90e7b1a82d04f59adfb330af /docs-src | |
| parent | dba98c6d51f327959bf43691032ca16cee599264 (diff) | |
feat(funcs): add semver functions (#1829)
* feat(funcs): add semver functions
- semver.Version: new a SemVer struct.
- semver.MatchConstraint: match in arg with semver constraint string.
refer to: https://github.com/Masterminds/sprig/blob/master/semver.go
* docs(functions): add documents for semver functions
* Update docs-src/content/functions/semver.yaml
Co-authored-by: Dave Henderson <dhenderson@gmail.com>
* fix(funcs,docs,docs-src): fix the reviewing issues
---------
Co-authored-by: Dave Henderson <dhenderson@gmail.com>
Diffstat (limited to 'docs-src')
| -rw-r--r-- | docs-src/content/functions/semver.yml | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/docs-src/content/functions/semver.yml b/docs-src/content/functions/semver.yml new file mode 100644 index 00000000..08710afa --- /dev/null +++ b/docs-src/content/functions/semver.yml @@ -0,0 +1,49 @@ +ns: semver +preamble: | + These functions allow user you to parse a [semantic version](http://semver.org/) string or test it with constraint. + + It's implemented with the https://github.com/Masterminds/semver library. +funcs: + - name: semver.Semver + description: | + Returns a semantic version struct holding the `input` version string. + + The returned struct are defined at: [`semver.Version`](https://pkg.go.dev/github.com/Masterminds/semver/v3#Version). + pipeline: true + arguments: + - name: input + required: true + description: The input to parse + examples: + - | + $ gomplate -i '{{ semver.Semver "v1.1.1"}}' + 1.1.1 + - | + $ gomplate -i '{{ (semver.Semver "v1.1.1").Major }}' + 1 + - | + $ gomplate -i 'the pre release version is {{ ("v1.1.1" | semver.Semver).SetPrerelease "beta.1" }}' + the pre release version is 1.1.1-beta.1 + - name: semver.CheckConstraint + description: | + Test whether the input version matchs the constraint. + + Ref: https://github.com/Masterminds/semver#checking-version-constraints + pipeline: true + arguments: + - name: constraint + required: true + description: The constraints expression to test. + - name: input + required: true + description: The input semantic version string to test. + examples: + - | + $ gomplate -i '{{ semver.CheckConstraint "> 1.0" "v1.1.1" }}' + true + - | + $ gomplate -i '{{ semver.CheckConstraint "> 1.0, <1.1" "v1.1.1" }}' + false + - | + $ gomplate -i '{{ "v1.1.1" | semver.CheckConstraint "> 1.0" }}' + true |
