https://github.com/pascaldekloe/name
naming convention library for CamelCase, snake_case and friends
https://github.com/pascaldekloe/name
camel-case camelcase human-readable-representations labeling names naming-conventions snake-case
Last synced: 6 months ago
JSON representation
naming convention library for CamelCase, snake_case and friends
- Host: GitHub
- URL: https://github.com/pascaldekloe/name
- Owner: pascaldekloe
- License: other
- Created: 2016-12-29T01:17:11.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2023-03-25T18:52:38.000Z (over 2 years ago)
- Last Synced: 2025-03-24T14:51:23.348Z (6 months ago)
- Topics: camel-case, camelcase, human-readable-representations, labeling, names, naming-conventions, snake-case
- Language: Go
- Homepage:
- Size: 17.6 KB
- Stars: 11
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://godoc.org/github.com/pascaldekloe/name)
[](https://github.com/pascaldekloe/name/actions/workflows/go.yml)## About
… a naming-convention library for the Go programming language.
The two categories are delimiter-separated and letter case-separated words.
Each of the formatting functions support both techniques for input, without
any context.This is free and unencumbered software released into the
[public domain](http://creativecommons.org/publicdomain/zero/1.0).### Inspiration
* `name.CamelCase("pascal case", true)` returns “PascalCase”
* `name.CamelCase("snake_to_camel AND CamelToCamel?", false)` returns “snakeToCamelANDCamelToCamel”
* `name.Delimit("* All Hype is aGoodThing (TM)", '-')` returns “all-hype-is-a-good-thing-TM”
* `name.DotSeparated("WebCrawler#socketTimeout")` returns “web.crawler.socket.timeout”### Performance
The following results were measured with Go 1.15 on an Intel i5-7500.
```
name time/op
Cases/a2B/CamelCase-4 38.9ns ± 5%
Cases/a2B/snake_case-4 41.1ns ± 1%
Cases/foo-bar/CamelCase-4 58.0ns ± 6%
Cases/foo-bar/snake_case-4 67.0ns ± 1%
Cases/ProcessHelperFactoryConfig#defaultIDBuilder/CamelCase-4 272ns ± 6%
Cases/ProcessHelperFactoryConfig#defaultIDBuilder/snake_case-4 324ns ± 1%name alloc/op
Cases/a2B/CamelCase-4 3.00B ± 0%
Cases/a2B/snake_case-4 4.00B ± 0%
Cases/foo-bar/CamelCase-4 8.00B ± 0%
Cases/foo-bar/snake_case-4 16.0B ± 0%
Cases/ProcessHelperFactoryConfig#defaultIDBuilder/CamelCase-4 48.0B ± 0%
Cases/ProcessHelperFactoryConfig#defaultIDBuilder/snake_case-4 64.0B ± 0%name allocs/op
Cases/a2B/CamelCase-4 1.00 ± 0%
Cases/a2B/snake_case-4 1.00 ± 0%
Cases/foo-bar/CamelCase-4 1.00 ± 0%
Cases/foo-bar/snake_case-4 1.00 ± 0%
Cases/ProcessHelperFactoryConfig#defaultIDBuilder/CamelCase-4 1.00 ± 0%
Cases/ProcessHelperFactoryConfig#defaultIDBuilder/snake_case-4 1.00 ± 0%
```