mirror of
https://github.com/cwinfo/matterbridge.git
synced 2025-07-06 20:04:04 +00:00
Update vendor yaegashi/msgraph.go to v0.1.2 (2)
This commit is contained in:
26
vendor/github.com/rickb777/plural/.gitignore
generated
vendored
Normal file
26
vendor/github.com/rickb777/plural/.gitignore
generated
vendored
Normal file
@ -0,0 +1,26 @@
|
||||
# Compiled Object files, Static and Dynamic libs (Shared Objects)
|
||||
*.o
|
||||
*.a
|
||||
*.so
|
||||
|
||||
# Folders
|
||||
_obj/
|
||||
_test/
|
||||
vendor/
|
||||
|
||||
# Architecture specific extensions/prefixes
|
||||
*.[568vq]
|
||||
[568vq].out
|
||||
|
||||
*.cgo1.go
|
||||
*.cgo2.c
|
||||
_cgo_defun.c
|
||||
_cgo_gotypes.go
|
||||
_cgo_export.*
|
||||
|
||||
_testmain.go
|
||||
|
||||
*.exe
|
||||
*.test
|
||||
*.prof
|
||||
*.out
|
11
vendor/github.com/rickb777/plural/.travis.yml
generated
vendored
Normal file
11
vendor/github.com/rickb777/plural/.travis.yml
generated
vendored
Normal file
@ -0,0 +1,11 @@
|
||||
language: go
|
||||
|
||||
go:
|
||||
- tip
|
||||
|
||||
install:
|
||||
- go get -t -v .
|
||||
- go get github.com/mattn/goveralls
|
||||
|
||||
script:
|
||||
- ./build+test.sh
|
27
vendor/github.com/rickb777/plural/LICENSE
generated
vendored
Normal file
27
vendor/github.com/rickb777/plural/LICENSE
generated
vendored
Normal file
@ -0,0 +1,27 @@
|
||||
Copyright (c) 2016, Rick Beton
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright notice, this
|
||||
list of conditions and the following disclaimer.
|
||||
|
||||
* Redistributions in binary form must reproduce the above copyright notice,
|
||||
this list of conditions and the following disclaimer in the documentation
|
||||
and/or other materials provided with the distribution.
|
||||
|
||||
* Neither the name of plural nor the names of its
|
||||
contributors may be used to endorse or promote products derived from
|
||||
this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
||||
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
28
vendor/github.com/rickb777/plural/README.md
generated
vendored
Normal file
28
vendor/github.com/rickb777/plural/README.md
generated
vendored
Normal file
@ -0,0 +1,28 @@
|
||||
# plural - Simple Go API for Pluralisation.
|
||||
|
||||
[](https://godoc.org/github.com/rickb777/plural)
|
||||
[](https://travis-ci.org/rickb777/plural)
|
||||
[](https://coveralls.io/github/rickb777/plural?branch=master)
|
||||
[](https://goreportcard.com/report/github.com/rickb777/plural)
|
||||
[](https://github.com/rickb777/plural/issues)
|
||||
|
||||
Package plural provides simple support for localising plurals in a flexible range of different styles.
|
||||
|
||||
There are considerable differences around the world in the way plurals are handled. This is a simple
|
||||
but competent API for catering with these differences when presenting to people formatted text with numbers.
|
||||
|
||||
This package is able to format **countable things** and **continuous values**. It can handle integers
|
||||
and floating point numbers equally and this allows you to decide to what extent each is appropriate.
|
||||
|
||||
For example, `2 cars` might weigh `1.6 tonnes`; both categories are covered.
|
||||
|
||||
This API is deliberately simple; it doesn't address the full gamut of internationalisation. If that's
|
||||
what you need, you should consider products such as https://github.com/nicksnyder/go-i18n instead.
|
||||
|
||||
## Installation
|
||||
|
||||
go get -u github.com/rickb777/plural
|
||||
|
||||
## Status
|
||||
|
||||
This library has been in reliable production use for some time. Versioning follows the well-known semantic version pattern.
|
13
vendor/github.com/rickb777/plural/build+test.sh
generated
vendored
Normal file
13
vendor/github.com/rickb777/plural/build+test.sh
generated
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
#!/bin/bash -e
|
||||
cd $(dirname $0)
|
||||
PATH=$HOME/gopath/bin:$GOPATH/bin:$PATH
|
||||
|
||||
if ! type -p goveralls; then
|
||||
echo go get github.com/mattn/goveralls
|
||||
go get github.com/mattn/goveralls
|
||||
fi
|
||||
|
||||
echo date...
|
||||
go test -v -covermode=count -coverprofile=date.out .
|
||||
go tool cover -func=date.out
|
||||
[ -z "$COVERALLS_TOKEN" ] || goveralls -coverprofile=date.out -service=travis-ci -repotoken $COVERALLS_TOKEN
|
20
vendor/github.com/rickb777/plural/doc.go
generated
vendored
Normal file
20
vendor/github.com/rickb777/plural/doc.go
generated
vendored
Normal file
@ -0,0 +1,20 @@
|
||||
// Copyright 2016 Rick Beton. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
// Package plural provides simple support for localising plurals in a flexible range of different styles.
|
||||
//
|
||||
// There are considerable differences around the world in the way plurals are handled. This is
|
||||
// a simple but competent API for catering with these differences when presenting to people formatted text with numbers.
|
||||
//
|
||||
// This package is able to format countable things and continuous values. It can handle integers
|
||||
// and floating point numbers equally and this allows you to decide to what extent each is appropriate.
|
||||
//
|
||||
// For example, "2 cars" might weigh "1.6 tonnes"; both categories are covered.
|
||||
//
|
||||
// This API is deliberately simple; it doesn't address the full gamut of internationalisation. If that's
|
||||
// what you need, you should consider products such as https://github.com/nicksnyder/go-i18n instead.
|
||||
//
|
||||
// Please see the examples and associated api documentation.
|
||||
//
|
||||
package plural
|
203
vendor/github.com/rickb777/plural/plural.go
generated
vendored
Normal file
203
vendor/github.com/rickb777/plural/plural.go
generated
vendored
Normal file
@ -0,0 +1,203 @@
|
||||
package plural
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"strings"
|
||||
)
|
||||
|
||||
// Case is the inner element of this API and describes one case. When the number to be described
|
||||
// matches the number here, the corresponding format string will be used. If the format string
|
||||
// includes '%', then fmt.Sprintf will be used. Otherwise the format string will be returned verbatim.
|
||||
type Case struct {
|
||||
Number int
|
||||
Format string
|
||||
}
|
||||
|
||||
// Plurals provides a list of plural cases in the order they will be searched.
|
||||
// For plurals of continuous ranges (e.g. weight), the cases must be in ascending number order.
|
||||
// For plurals of discrete ranges (i.e. integers), the cases can be in any order you require,
|
||||
// but will conventionally be in ascending number order.
|
||||
// If no match is found, the last case will be used.
|
||||
type Plurals []Case
|
||||
|
||||
// Format searches through the plural cases for the first match. If none is found, the last
|
||||
// case is used. The value passed in can be any number type, or pointer to a number type, except
|
||||
// complex numbers are not supported. The value will be converted to an int in order to
|
||||
// find the first case that matches.
|
||||
// The only possible error arises if value has a type that is not numeric.
|
||||
// It panics if 'plurals' is empty.
|
||||
func (plurals Plurals) Format(value interface{}) (string, error) {
|
||||
switch x := value.(type) {
|
||||
case int:
|
||||
return plurals.FormatInt(x), nil
|
||||
case int8:
|
||||
return plurals.FormatInt(int(x)), nil
|
||||
case int16:
|
||||
return plurals.FormatInt(int(x)), nil
|
||||
case int32:
|
||||
return plurals.FormatInt(int(x)), nil
|
||||
case int64:
|
||||
return plurals.FormatInt(int(x)), nil
|
||||
case uint8:
|
||||
return plurals.FormatInt(int(x)), nil
|
||||
case uint16:
|
||||
return plurals.FormatInt(int(x)), nil
|
||||
case uint32:
|
||||
return plurals.FormatInt(int(x)), nil
|
||||
case uint64:
|
||||
return plurals.FormatInt(int(x)), nil
|
||||
case float32:
|
||||
return plurals.FormatFloat(x), nil
|
||||
case float64:
|
||||
return plurals.FormatFloat(float32(x)), nil
|
||||
|
||||
case *int:
|
||||
return plurals.FormatInt(*x), nil
|
||||
case *int8:
|
||||
return plurals.FormatInt(int(*x)), nil
|
||||
case *int16:
|
||||
return plurals.FormatInt(int(*x)), nil
|
||||
case *int32:
|
||||
return plurals.FormatInt(int(*x)), nil
|
||||
case *int64:
|
||||
return plurals.FormatInt(int(*x)), nil
|
||||
case *uint:
|
||||
return plurals.FormatInt(int(*x)), nil
|
||||
case *uint8:
|
||||
return plurals.FormatInt(int(*x)), nil
|
||||
case *uint16:
|
||||
return plurals.FormatInt(int(*x)), nil
|
||||
case *uint32:
|
||||
return plurals.FormatInt(int(*x)), nil
|
||||
case *uint64:
|
||||
return plurals.FormatInt(int(*x)), nil
|
||||
case *float32:
|
||||
return plurals.FormatFloat(*x), nil
|
||||
case *float64:
|
||||
return plurals.FormatFloat(float32(*x)), nil
|
||||
|
||||
case nil:
|
||||
return "", fmt.Errorf("Unexpected nil value for %s", plurals)
|
||||
default:
|
||||
return "", fmt.Errorf("Unexpected type %T for %v", x, value)
|
||||
}
|
||||
}
|
||||
|
||||
// FormatInt expresses an int in plural form. It panics if 'plurals' is empty.
|
||||
func (plurals Plurals) FormatInt(value int) string {
|
||||
for _, c := range plurals {
|
||||
if value == c.Number {
|
||||
return c.FormatInt(value)
|
||||
}
|
||||
}
|
||||
c := plurals[len(plurals)-1]
|
||||
return c.FormatInt(value)
|
||||
}
|
||||
|
||||
// FormatFloat expresses a float32 in plural form. It panics if 'plurals' is empty.
|
||||
func (plurals Plurals) FormatFloat(value float32) string {
|
||||
for _, c := range plurals {
|
||||
if value <= float32(c.Number) {
|
||||
return c.FormatFloat(value)
|
||||
}
|
||||
}
|
||||
c := plurals[len(plurals)-1]
|
||||
return c.FormatFloat(value)
|
||||
}
|
||||
|
||||
// FormatInt renders a specific case with a given value.
|
||||
func (c Case) FormatInt(value int) string {
|
||||
if strings.IndexByte(c.Format, '%') < 0 {
|
||||
return c.Format
|
||||
}
|
||||
return fmt.Sprintf(c.Format, value)
|
||||
}
|
||||
|
||||
// FormatFloat renders a specific case with a given value.
|
||||
func (c Case) FormatFloat(value float32) string {
|
||||
if strings.IndexByte(c.Format, '%') < 0 {
|
||||
return c.Format
|
||||
}
|
||||
return fmt.Sprintf(c.Format, value)
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------------------------------------
|
||||
|
||||
// String implements io.Stringer.
|
||||
func (plurals Plurals) String() string {
|
||||
ss := make([]string, 0, len(plurals))
|
||||
for _, c := range plurals {
|
||||
ss = append(ss, c.String())
|
||||
}
|
||||
return fmt.Sprintf("Plurals(%s)", strings.Join(ss, ", "))
|
||||
}
|
||||
|
||||
// String implements io.Stringer.
|
||||
func (c Case) String() string {
|
||||
return fmt.Sprintf("{%v -> %q}", c.Number, c.Format)
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------------------------------------
|
||||
|
||||
// ByOrdinal constructs a simple set of cases using small ordinals (0, 1, 2, 3 etc), which is a
|
||||
// common requirement. It is an alias for FromZero.
|
||||
func ByOrdinal(zeroth string, rest ...string) Plurals {
|
||||
return FromZero(zeroth, rest...)
|
||||
}
|
||||
|
||||
// FromZero constructs a simple set of cases using small ordinals (0, 1, 2, 3 etc), which is a
|
||||
// common requirement. It prevents creation of a Plurals list that is empty, which would be invalid.
|
||||
//
|
||||
// The 'zeroth' string becomes Case{0, first}. The rest are appended similarly. Notice that the
|
||||
// counting starts from zero.
|
||||
//
|
||||
// So
|
||||
//
|
||||
// FromZero("nothing", "%v thing", "%v things")
|
||||
//
|
||||
// is simply a shorthand for
|
||||
//
|
||||
// Plurals{Case{0, "nothing"}, Case{1, "%v thing"}, Case{2, "%v things"}}
|
||||
//
|
||||
// which would also be valid but a little more verbose.
|
||||
//
|
||||
// This helper function is less flexible than constructing Plurals directly, but covers many common
|
||||
// situations.
|
||||
func FromZero(zeroth string, rest ...string) Plurals {
|
||||
p := make(Plurals, 0, len(rest)+1)
|
||||
p = append(p, Case{0, zeroth})
|
||||
for i, c := range rest {
|
||||
p = append(p, Case{i+1, c})
|
||||
}
|
||||
return p
|
||||
}
|
||||
|
||||
// FromOne constructs a simple set of cases using small positive numbers (1, 2, 3 etc), which is a
|
||||
// common requirement. It prevents creation of a Plurals list that is empty, which would be invalid.
|
||||
//
|
||||
// The 'first' string becomes Case{1, first}. The rest are appended similarly. Notice that the
|
||||
// counting starts from one.
|
||||
//
|
||||
// So
|
||||
//
|
||||
// FromOne("%v thing", "%v things")
|
||||
//
|
||||
// is simply a shorthand for
|
||||
//
|
||||
// Plurals{Case{1, "%v thing"}, Case{2, "%v things"}}
|
||||
//
|
||||
// which would also be valid but a little more verbose.
|
||||
//
|
||||
// Note the behaviour of formatting when the count is zero. As a consequence of Format evaluating
|
||||
// the cases in order, FromOne(...).FormatInt(0) will pick the last case you provide, not the first.
|
||||
//
|
||||
// This helper function is less flexible than constructing Plurals directly, but covers many common
|
||||
// situations.
|
||||
func FromOne(first string, rest ...string) Plurals {
|
||||
p := make(Plurals, 0, len(rest)+1)
|
||||
p = append(p, Case{1, first})
|
||||
for i, c := range rest {
|
||||
p = append(p, Case{i+2, c})
|
||||
}
|
||||
return p
|
||||
}
|
Reference in New Issue
Block a user