go.mondoo.com/cnquery@v0.0.0-20231005093811-59568235f6ea/providers/core/resources/versions/semver/version.go (about)

     1  // Copyright (c) Mondoo, Inc.
     2  // SPDX-License-Identifier: BUSL-1.1
     3  
     4  package semver
     5  
     6  import (
     7  	mastermind "github.com/Masterminds/semver"
     8  )
     9  
    10  type Parser struct{}
    11  
    12  func (p Parser) Compare(a, b string) (int, error) {
    13  	va, err := mastermind.NewVersion(a)
    14  	if err != nil {
    15  		return 0, err
    16  	}
    17  	vb, err := mastermind.NewVersion(b)
    18  	if err != nil {
    19  		return 0, err
    20  	}
    21  
    22  	return va.Compare(vb), nil
    23  }