natural

package module
v0.0.0-...-09958c6 Latest Latest
Warning

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

Go to latest
Published: Apr 11, 2018 License: MIT Imports: 10 Imported by: 1

README

About

Parses natural language (English, Swedish) into date and time formats. Based on php-number-sequences

Also presenters for large numbers in text

TODO

LATER: use go stdlib big/decimal when it is added (post go 1.6)

License

Under MIT

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	WeekdayNames = map[string]time.Weekday{

		"Sunday":    time.Sunday,
		"Monday":    time.Monday,
		"Tuesday":   time.Tuesday,
		"Wednesday": time.Wednesday,
		"Thursday":  time.Thursday,
		"Friday":    time.Friday,
		"Saturday":  time.Saturday,
		"Sun":       time.Sunday,
		"Mon":       time.Monday,
		"Tue":       time.Tuesday,
		"Wed":       time.Wednesday,
		"Thu":       time.Thursday,
		"Fri":       time.Friday,
		"Sat":       time.Saturday,

		"Söndag":  time.Sunday,
		"Måndag":  time.Monday,
		"Tisdag":  time.Tuesday,
		"Onsdag":  time.Wednesday,
		"Torsdag": time.Thursday,
		"Fredag":  time.Friday,
		"Lördag":  time.Saturday,
		"Sön":     time.Sunday,
		"Mån":     time.Monday,
		"Tis":     time.Tuesday,
		"Ons":     time.Wednesday,
		"Tor":     time.Thursday,
		"Fre":     time.Friday,
		"Lör":     time.Saturday,
	}

	MonthNames = map[string]time.Month{

		"January":   time.January,
		"February":  time.February,
		"March":     time.March,
		"April":     time.April,
		"May":       time.May,
		"June":      time.June,
		"July":      time.July,
		"August":    time.August,
		"September": time.September,
		"October":   time.October,
		"November":  time.November,
		"December":  time.December,
		"Jan":       time.January,
		"Feb":       time.February,
		"Mar":       time.March,
		"Apr":       time.April,
		"Jun":       time.June,
		"Jul":       time.July,
		"Aug":       time.August,
		"Sep":       time.September,
		"Oct":       time.October,
		"Nov":       time.November,
		"Dec":       time.December,

		"Januari":  time.January,
		"Februari": time.February,
		"Mars":     time.March,
		"Maj":      time.May,
		"Juni":     time.June,
		"Juli":     time.July,
		"Augusti":  time.August,
		"Oktober":  time.October,
		"Okt":      time.October,
	}

	WeekdaysSvSE = map[time.Weekday]string{
		time.Monday:    "Måndag",
		time.Tuesday:   "Tisdag",
		time.Wednesday: "Onsdag",
		time.Thursday:  "Torsdag",
		time.Friday:    "Fredag",
		time.Saturday:  "Lördag",
		time.Sunday:    "Söndag",
	}

	MonthsSvSE = map[time.Month]string{
		time.January:   "Januari",
		time.February:  "Februari",
		time.March:     "Mars",
		time.April:     "April",
		time.May:       "Maj",
		time.June:      "Juni",
		time.July:      "Juli",
		time.August:    "Augusti",
		time.September: "September",
		time.October:   "Oktober",
		time.November:  "November",
		time.December:  "December",
	}
)

...

Functions

func NumberStringToBig

func NumberStringToBig(s string) (decimal.Decimal, error)

NumberStringToBig converts a string representation of a number such as "123" to a Decimal representation

func ParseCount

func ParseCount(s string) (decimal.Decimal, error)

ParseCount parses ordinal numbers (like "fifth") in English and Swedish

func ParseMonth

func ParseMonth(s string) (time.Month, error)

ParseMonth turns textual representation into a time.Month

func ParseNumber

func ParseNumber(s string) (decimal.Decimal, error)

ParseNumber parses cardinal numbers (like "five") in English and Swedish

func ParseNumberEnglish

func ParseNumberEnglish(s string) (decimal.Decimal, error)

ParseNumberEnglish parses a natural number in written English

func ParseNumberSwedish

func ParseNumberSwedish(s string) (decimal.Decimal, error)

ParseNumberSwedish parses a natural number in written Swedish

func ParseTime

func ParseTime(s string) (time.Time, error)

ParseTime parses a string like HH:MM, HH:MM:SS, "klockan sex på kvällen" etc into a time.Time

func ParseWeekday

func ParseWeekday(s string) (time.Weekday, error)

ParseWeekday parses a weekday name into a time.Weekday

func ParseYear

func ParseYear(s string) (int, error)

ParseYear parses a 2 or 4 digit year string into a int

func PresentCountEnglish

func PresentCountEnglish(n int) string

PresentCountEnglish renders the count in Swedish

func PresentCountShortEnglish

func PresentCountShortEnglish(n int) string

PresentCountShortEnglish renders a short count in English, such as "13:th"

func PresentCountShortSwedish

func PresentCountShortSwedish(n int) string

PresentCountShortSwedish renders a short count in Swedish, such as "13:e"

func PresentCountSwedish

func PresentCountSwedish(n int) string

PresentCountSwedish renders the count in Swedish, such as "trettonde"

func PresentEnUS

func PresentEnUS(n int64) string

PresentEnUS returns textual presentation in english of input number (5 = "five")

func PresentListEnUS

func PresentListEnUS(list []string) string

PresentListEnUS presents a list of strings as "a, b and c"

func PresentListSvSE

func PresentListSvSE(list []string) string

PresentListSvSE presents a list of strings as "a, b och c"

func PresentSvSE

func PresentSvSE(n int64) string

PresentSvSE returns textual presentation in swedish of input number (5 = "fem")

Types

type MonthDay

type MonthDay struct {
	Month time.Month
	Day   int64
}

MonthDay ...

func NewMonthDay

func NewMonthDay(s string) MonthDay

NewMonthDay ...

func ParseDateIntoMonthDay

func ParseDateIntoMonthDay(s string) (MonthDay, error)

ParseDateIntoMonthDay parses "15 december" into "12-15" (MM-DD) format

func (MonthDay) MarshalJSON

func (md MonthDay) MarshalJSON() ([]byte, error)

MarshalJSON ...

func (*MonthDay) NaturalSwe

func (md *MonthDay) NaturalSwe() string

NaturalSwe returns "13:e December"

func (MonthDay) String

func (md MonthDay) String() string

formats December 15 into "12-15" (MM-DD) format

func (*MonthDay) UnmarshalJSON

func (md *MonthDay) UnmarshalJSON(b []byte) error

UnmarshalJSON ...

Jump to

Keyboard shortcuts

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