use-go 0.0.1

Feature-gated facade crate for RustUse Go ecosystem primitives
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use use_go::{GoIdentifier, GoImportPath, GoModulePath, GoPackageName, GoTestName, GoVersion};

fn main() -> Result<(), Box<dyn std::error::Error>> {
    let version: GoVersion = "go1.22.0".parse()?;
    let identifier = GoIdentifier::new("ServeHTTP")?;
    let package = GoPackageName::new("http")?;
    let import = GoImportPath::new("net/http")?;
    let module = GoModulePath::new("example.com/project")?;
    let test = GoTestName::new("TestHandler")?;

    assert_eq!(version.to_string(), "1.22.0");
    assert!(identifier.is_exported());
    assert_eq!(package.as_str(), "http");
    assert_eq!(import.as_str(), "net/http");
    assert_eq!(module.as_str(), "example.com/project");
    assert_eq!(test.as_str(), "TestHandler");
    Ok(())
}