inflect

package module
v0.21.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 9, 2024 License: MIT Imports: 6 Imported by: 127

README

inflect Build Status codecov

Slack Status license Go Reference Go Report Card

A package to pluralize words.

Originally forked from fork of https://bitbucket.org/pkg/inflect under a MIT License.

A golang library applying grammar rules to English words.

This package provides a basic set of functions applying grammar rules to inflect English words, modify case style (Capitalize, camelCase, snake_case, etc.).

Acronyms are properly handled. A common use case is word pluralization.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AddAcronym

func AddAcronym(word string)

func AddHuman

func AddHuman(suffix, replacement string)

func AddIrregular

func AddIrregular(singular, plural string)

func AddPlural

func AddPlural(suffix, replacement string)

func AddSingular

func AddSingular(suffix, replacement string)

func AddUncountable

func AddUncountable(word string)

func Asciify

func Asciify(word string) string

func Camelize

func Camelize(word string) string

func CamelizeDownFirst

func CamelizeDownFirst(word string) string

func Capitalize

func Capitalize(word string) string

func Dasherize

func Dasherize(word string) string

func ForeignKey

func ForeignKey(word string) string

func ForeignKeyCondensed

func ForeignKeyCondensed(word string) string

func Humanize

func Humanize(word string) string

func Ordinalize

func Ordinalize(word string) string

func Parameterize

func Parameterize(word string) string

func ParameterizeJoin

func ParameterizeJoin(word, sep string) string

func Pluralize

func Pluralize(word string) string

func Singularize

func Singularize(word string) string

func Tableize

func Tableize(word string) string

func Titleize

func Titleize(word string) string

func Typeify

func Typeify(word string) string

func Uncountables

func Uncountables() map[string]bool

func Underscore

func Underscore(word string) string

Types

type Rule

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

used by rulesets

type Ruleset

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

a Ruleset is the config of pluralization rules you can extend the rules with the Add* methods

func NewDefaultRuleset

func NewDefaultRuleset() *Ruleset

create a new ruleset and load it with the default set of common English pluralization rules

func NewRuleset

func NewRuleset() *Ruleset

create a blank ruleset. Unless you are going to build your own rules from scratch you probably won't need this and can just use the defaultRuleset via the global inflect.* methods

func (*Ruleset) AddAcronym

func (rs *Ruleset) AddAcronym(word string)

if you use acronym you may need to add them to the ruleset to prevent Underscored words of things like "HTML" coming out as "h_t_m_l"

func (*Ruleset) AddHuman

func (rs *Ruleset) AddHuman(suffix, replacement string)

Human rules are applied by humanize to show more friendly versions of words

func (*Ruleset) AddIrregular

func (rs *Ruleset) AddIrregular(singular, plural string)

Add any inconsistent pluralizing/sinularizing rules to the set here.

func (*Ruleset) AddPlural

func (rs *Ruleset) AddPlural(suffix, replacement string)

add a pluralization rule

func (*Ruleset) AddPluralExact

func (rs *Ruleset) AddPluralExact(suffix, replacement string, exact bool)

add a pluralization rule with full string match

func (*Ruleset) AddSingular

func (rs *Ruleset) AddSingular(suffix, replacement string)

add a singular rule

func (*Ruleset) AddSingularExact

func (rs *Ruleset) AddSingularExact(suffix, replacement string, exact bool)

same as AddSingular but you can set `exact` to force a full string match

func (*Ruleset) AddUncountable

func (rs *Ruleset) AddUncountable(word string)

add a word to this ruleset that has the same singular and plural form for example: "rice"

func (*Ruleset) Asciify

func (rs *Ruleset) Asciify(word string) string

transforms latin characters like é -> e

func (*Ruleset) Camelize

func (rs *Ruleset) Camelize(word string) string

"dino_party" -> "DinoParty"

func (*Ruleset) CamelizeDownFirst

func (rs *Ruleset) CamelizeDownFirst(word string) string

same as Camelcase but with first letter downcased

func (*Ruleset) Capitalize

func (rs *Ruleset) Capitalize(word string) string

uppercase first character

func (*Ruleset) Dasherize

func (rs *Ruleset) Dasherize(word string) string

"SomeText" -> "some-text"

func (*Ruleset) ForeignKey

func (rs *Ruleset) ForeignKey(word string) string

an underscored foreign key name "Person" -> "person_id"

func (*Ruleset) ForeignKeyCondensed

func (rs *Ruleset) ForeignKeyCondensed(word string) string

a foreign key (with an underscore) "Person" -> "personid"

func (*Ruleset) Humanize

func (rs *Ruleset) Humanize(word string) string

First letter of sentance captitilized Uses custom friendly replacements via AddHuman()

func (*Ruleset) Ordinalize

func (rs *Ruleset) Ordinalize(str string) string

"1031" -> "1031st"

func (*Ruleset) Parameterize

func (rs *Ruleset) Parameterize(word string) string

param safe dasherized names like "my-param"

func (*Ruleset) ParameterizeJoin

func (rs *Ruleset) ParameterizeJoin(word, sep string) string

param safe dasherized names with custom separator

func (*Ruleset) Pluralize

func (rs *Ruleset) Pluralize(word string) string

returns the plural form of a singular word

func (*Ruleset) Singularize

func (rs *Ruleset) Singularize(word string) string

returns the singular form of a plural word

func (*Ruleset) Tableize

func (rs *Ruleset) Tableize(word string) string

Rails style pluralized table names: "SuperPerson" -> "super_people"

func (*Ruleset) Titleize

func (rs *Ruleset) Titleize(word string) string

Captitilize every word in sentance "hello there" -> "Hello There"

func (*Ruleset) Typeify

func (rs *Ruleset) Typeify(word string) string

"something_like_this" -> "SomethingLikeThis"

func (*Ruleset) Uncountables

func (rs *Ruleset) Uncountables() map[string]bool

func (*Ruleset) Underscore

func (rs *Ruleset) Underscore(word string) string

lowercase underscore version "BigBen" -> "big_ben"

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL