File: README.md

package info (click to toggle)
golang-github-knq-snaker 0.2.0-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 96 kB
  • sloc: makefile: 2
file content (33 lines) | stat: -rw-r--r-- 1,205 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# snaker [![Go Package][gopkg]][gopkg-link]

Package `snaker` provides methods to convert `CamelCase` to and from
`snake_case`. Correctly recognizes common (Go idiomatic) initialisms (`HTTP`,
`XML`, etc) and provides a mechanism to override/set recognized initialisms.

[gopkg]: https://pkg.go.dev/badge/github.com/kenshaw/snaker.svg (Go Package)
[gopkg-link]: https://pkg.go.dev/github.com/kenshaw/snaker

## Example

A basic Go example:

```go
// _example/example.go
package main

import (
	"fmt"

	"github.com/kenshaw/snaker"
)

func main() {
	fmt.Println("Change CamelCase -> snake_case:", snaker.CamelToSnake("AnIdentifier"))
	fmt.Println("Change CamelCase -> snake_case (2):", snaker.CamelToSnake("XMLHTTPACL"))
	fmt.Println("Change snake_case -> CamelCase:", snaker.SnakeToCamel("an_identifier"))
	fmt.Println("Force CamelCase:", snaker.ForceCamelIdentifier("APoorly_named_httpMethod"))
	fmt.Println("Force lower camelCase:", snaker.ForceLowerCamelIdentifier("APoorly_named_httpMethod"))
	fmt.Println("Force lower camelCase (2):", snaker.ForceLowerCamelIdentifier("XmlHttpACL"))
	fmt.Println("Change snake_case identifier -> CamelCase:", snaker.SnakeToCamelIdentifier("__2__xml___thing---"))
}
```