4
0
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:
Qais Patankar
2020-03-15 22:43:46 +00:00
committed by Wim
parent 802c80f40c
commit 76e5fe5a87
4255 changed files with 191113 additions and 196894 deletions

26
vendor/github.com/rickb777/plural/.gitignore generated vendored Normal file
View 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
View 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
View 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
View File

@ -0,0 +1,28 @@
# plural - Simple Go API for Pluralisation.
[![GoDoc](https://img.shields.io/badge/api-Godoc-blue.svg?style=flat-square)](https://godoc.org/github.com/rickb777/plural)
[![Build Status](https://travis-ci.org/rickb777/plural.svg?branch=master)](https://travis-ci.org/rickb777/plural)
[![Coverage Status](https://coveralls.io/repos/github/rickb777/plural/badge.svg?branch=master&service=github)](https://coveralls.io/github/rickb777/plural?branch=master)
[![Go Report Card](https://goreportcard.com/badge/github.com/rickb777/plural)](https://goreportcard.com/report/github.com/rickb777/plural)
[![Issues](https://img.shields.io/github/issues/rickb777/plural.svg)](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
View 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
View 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
View 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
}