README

kace

go get "github.com/codemodus/kace"

Package kace provides common case conversion functions which take into consideration common initialisms.

Usage

func Camel(s string) string
func Kebab(s string) string
func KebabUpper(s string) string
func Pascal(s string) string
func Snake(s string) string
func SnakeUpper(s string) string
type Kace
    func New(initialisms map[string]bool) (*Kace, error)
    func (k *Kace) Camel(s string) string
    func (k *Kace) Kebab(s string) string
    func (k *Kace) KebabUpper(s string) string
    func (k *Kace) Pascal(s string) string
    func (k *Kace) Snake(s string) string
    func (k *Kace) SnakeUpper(s string) string
Setup
import (
    "fmt"

    "github.com/codemodus/kace"
)

func main() {
    s := "this is a test sql."

    fmt.Println(kace.Camel(s))
    fmt.Println(kace.Pascal(s))

    fmt.Println(kace.Snake(s))
    fmt.Println(kace.SnakeUpper(s))

    fmt.Println(kace.Kebab(s))
    fmt.Println(kace.KebabUpper(s))

    customInitialisms := map[string]bool{
        "THIS": true,
    }
    k, err := kace.New(customInitialisms)
    if err != nil {
        // handle error
    }

    fmt.Println(k.Camel(s))
    fmt.Println(k.Pascal(s))

    fmt.Println(k.Snake(s))
    fmt.Println(k.SnakeUpper(s))

    fmt.Println(k.Kebab(s))
    fmt.Println(k.KebabUpper(s))

    // Output:
    // thisIsATestSQL
    // ThisIsATestSQL
    // this_is_a_test_sql
    // THIS_IS_A_TEST_SQL
    // this-is-a-test-sql
    // THIS-IS-A-TEST-SQL
    // thisIsATestSql
    // THISIsATestSql
    // this_is_a_test_sql
    // THIS_IS_A_TEST_SQL
    // this-is-a-test-sql
    // THIS-IS-A-TEST-SQL
}

More Info

TODO
Test Trie

Test the current trie.

Documentation

View the GoDoc

Benchmarks

benchmark                 iter       time/iter   bytes alloc        allocs
---------                 ----       ---------   -----------        ------
BenchmarkCamel4        2000000    947.00 ns/op      112 B/op   3 allocs/op
BenchmarkSnake4        2000000    696.00 ns/op      128 B/op   2 allocs/op
BenchmarkSnakeUpper4   2000000    679.00 ns/op      128 B/op   2 allocs/op
BenchmarkKebab4        2000000    691.00 ns/op      128 B/op   2 allocs/op
BenchmarkKebabUpper4   2000000    677.00 ns/op      128 B/op   2 allocs/op
Expand ▾ Collapse ▴

Documentation

Overview

    Package kace provides common case conversion functions which take into consideration common initialisms.

    Example
    Output:
    
    thisIsATestSQL
    ThisIsATestSQL
    this_is_a_test_sql
    THIS_IS_A_TEST_SQL
    this-is-a-test-sql
    THIS-IS-A-TEST-SQL
    thisIsATestSql
    THISIsATestSql
    this_is_a_test_sql
    THIS_IS_A_TEST_SQL
    this-is-a-test-sql
    THIS-IS-A-TEST-SQL
    

    Index

    Examples

    Constants

    This section is empty.

    Variables

    This section is empty.

    Functions

    func Camel

    func Camel(s string) string

      Camel returns a camelCased string.

      func Kebab

      func Kebab(s string) string

        Kebab returns a kebab-cased string with all lowercase letters.

        func KebabUpper

        func KebabUpper(s string) string

          KebabUpper returns a KEBAB-CASED string with all upper case letters.

          func Pascal

          func Pascal(s string) string

            Pascal returns a PascalCased string.

            func Snake

            func Snake(s string) string

              Snake returns a snake_cased string with all lowercase letters.

              func SnakeUpper

              func SnakeUpper(s string) string

                SnakeUpper returns a SNAKE_CASED string with all upper case letters.

                Types

                type Kace

                type Kace struct {
                	// contains filtered or unexported fields
                }

                  Kace provides common case conversion methods which take into consideration common initialisms set by the user.

                  func New

                  func New(initialisms map[string]bool) (*Kace, error)

                    New returns a pointer to an instance of kace loaded with a common initialsms trie based on the provided map. Before conversion to a trie, the provided map keys are all upper cased.

                    func (*Kace) Camel

                    func (k *Kace) Camel(s string) string

                      Camel returns a camelCased string.

                      func (*Kace) Kebab

                      func (k *Kace) Kebab(s string) string

                        Kebab returns a kebab-cased string with all lowercase letters.

                        func (*Kace) KebabUpper

                        func (k *Kace) KebabUpper(s string) string

                          KebabUpper returns a KEBAB-CASED string with all upper case letters.

                          func (*Kace) Pascal

                          func (k *Kace) Pascal(s string) string

                            Pascal returns a PascalCased string.

                            func (*Kace) Snake

                            func (k *Kace) Snake(s string) string

                              Snake returns a snake_cased string with all lowercase letters.

                              func (*Kace) SnakeUpper

                              func (k *Kace) SnakeUpper(s string) string

                                SnakeUpper returns a SNAKE_CASED string with all upper case letters.

                                Source Files

                                Directories

                                Path Synopsis