2018-06-28 23:09:23 +00:00
|
|
|
[![Build Status](https://travis-ci.org/stoewer/go-strcase.svg?branch=master)](https://travis-ci.org/stoewer/go-strcase)
|
|
|
|
[![Coverage Status](https://coveralls.io/repos/github/stoewer/go-strcase/badge.svg?branch=master)](https://coveralls.io/github/stoewer/go-strcase?branch=master)
|
|
|
|
[![GoDoc](https://godoc.org/github.com/stoewer/go-strcase?status.svg)](https://godoc.org/github.com/stoewer/go-strcase)
|
|
|
|
---
|
|
|
|
|
2018-12-20 21:43:52 +00:00
|
|
|
Go strcase
|
|
|
|
==========
|
2018-06-28 23:09:23 +00:00
|
|
|
|
|
|
|
The package `strcase` converts between different kinds of naming formats such as camel case
|
|
|
|
(`CamelCase`), snake case (`snake_case`) or kebab case (`kebab-case`).
|
|
|
|
The package is designed to work only with strings consisting of standard ASCII letters.
|
|
|
|
Unicode is currently not supported.
|
|
|
|
|
2018-12-20 21:43:52 +00:00
|
|
|
Versioning and stability
|
|
|
|
------------------------
|
2018-06-28 23:09:23 +00:00
|
|
|
|
|
|
|
Although the master branch is supposed to remain always backward compatible, the repository
|
2018-12-20 21:43:52 +00:00
|
|
|
contains version tags in order to support vendoring tools.
|
2018-06-28 23:09:23 +00:00
|
|
|
The tag names follow semantic versioning conventions and have the following format `v1.0.0`.
|
2018-12-20 21:43:52 +00:00
|
|
|
This package supports Go modules introduced with version 1.11.
|
2018-06-28 23:09:23 +00:00
|
|
|
|
2018-12-20 21:43:52 +00:00
|
|
|
Example
|
|
|
|
-------
|
2018-06-28 23:09:23 +00:00
|
|
|
|
|
|
|
```go
|
|
|
|
import "github.com/stoewer/go-strcase"
|
|
|
|
|
|
|
|
var snake = strcase.SnakeCase("CamelCase")
|
|
|
|
```
|
2018-12-20 21:43:52 +00:00
|
|
|
|
|
|
|
Dependencies
|
|
|
|
------------
|
|
|
|
|
|
|
|
### Build dependencies
|
|
|
|
|
|
|
|
* none
|
|
|
|
|
|
|
|
### Test dependencies
|
|
|
|
|
|
|
|
* `github.com/stretchr/testify`
|
|
|
|
|
|
|
|
Run linters and unit tests
|
|
|
|
--------------------------
|
|
|
|
|
|
|
|
Since some of the linters ran by gometalinter don't support go modules yet, test dependencies have to be
|
|
|
|
loaded to the vendor directory first and gometalinter itself must run with disabled module support:
|
|
|
|
|
|
|
|
```
|
|
|
|
go mod vendor
|
|
|
|
GO111MODULE=off gometalinter --config=.gometalinter.json --deadline=10m .
|
|
|
|
```
|
|
|
|
|
|
|
|
To run the test use the following commands:
|
|
|
|
|
|
|
|
```
|
|
|
|
go test .
|
|
|
|
```
|