...

Package swag

import "github.com/go-openapi/swag"
Overview
Index

Overview ▾

Package swag contains a bunch of helper functions for go-openapi and go-swagger projects.

You may also use it standalone for your projects.

  • convert between value and pointers for builtin types
  • convert from string to builtin types (wraps strconv)
  • fast json concatenation
  • search in path
  • load from file or http
  • name mangling

This repo has only few dependencies outside of the standard library:

  • YAML utilities depend on gopkg.in/yaml.v2

Index ▾

Constants
Variables
func AddInitialisms(words ...string)
func Bool(v bool) *bool
func BoolMap(src map[string]bool) map[string]*bool
func BoolSlice(src []bool) []*bool
func BoolValue(v *bool) bool
func BoolValueMap(src map[string]*bool) map[string]bool
func BoolValueSlice(src []*bool) []bool
func BytesToYAMLDoc(data []byte) (interface{}, error)
func Camelize(word string) string
func ConcatJSON(blobs ...[]byte) []byte
func ContainsStrings(coll []string, item string) bool
func ContainsStringsCI(coll []string, item string) bool
func ConvertBool(str string) (bool, error)
func ConvertFloat32(str string) (float32, error)
func ConvertFloat64(str string) (float64, error)
func ConvertInt16(str string) (int16, error)
func ConvertInt32(str string) (int32, error)
func ConvertInt64(str string) (int64, error)
func ConvertInt8(str string) (int8, error)
func ConvertUint16(str string) (uint16, error)
func ConvertUint32(str string) (uint32, error)
func ConvertUint64(str string) (uint64, error)
func ConvertUint8(str string) (uint8, error)
func DynamicJSONToStruct(data interface{}, target interface{}) error
func FindInGoSearchPath(pkg string) string
func FindInSearchPath(searchPath, pkg string) string
func Float32(v float32) *float32
func Float32Map(src map[string]float32) map[string]*float32
func Float32Slice(src []float32) []*float32
func Float32Value(v *float32) float32
func Float32ValueMap(src map[string]*float32) map[string]float32
func Float32ValueSlice(src []*float32) []float32
func Float64(v float64) *float64
func Float64Map(src map[string]float64) map[string]*float64
func Float64Slice(src []float64) []*float64
func Float64Value(v *float64) float64
func Float64ValueMap(src map[string]*float64) map[string]float64
func Float64ValueSlice(src []*float64) []float64
func FormatBool(value bool) string
func FormatFloat32(value float32) string
func FormatFloat64(value float64) string
func FormatInt16(value int16) string
func FormatInt32(value int32) string
func FormatInt64(value int64) string
func FormatInt8(value int8) string
func FormatUint16(value uint16) string
func FormatUint32(value uint32) string
func FormatUint64(value uint64) string
func FormatUint8(value uint8) string
func FromDynamicJSON(data, target interface{}) error
func FullGoSearchPath() string
func Int(v int) *int
func Int32(v int32) *int32
func Int32Map(src map[string]int32) map[string]*int32
func Int32Slice(src []int32) []*int32
func Int32Value(v *int32) int32
func Int32ValueMap(src map[string]*int32) map[string]int32
func Int32ValueSlice(src []*int32) []int32
func Int64(v int64) *int64
func Int64Map(src map[string]int64) map[string]*int64
func Int64Slice(src []int64) []*int64
func Int64Value(v *int64) int64
func Int64ValueMap(src map[string]*int64) map[string]int64
func Int64ValueSlice(src []*int64) []int64
func IntMap(src map[string]int) map[string]*int
func IntSlice(src []int) []*int
func IntValue(v *int) int
func IntValueMap(src map[string]*int) map[string]int
func IntValueSlice(src []*int) []int
func IsFloat64AJSONInteger(f float64) bool
func IsZero(data interface{}) bool
func JoinByFormat(data []string, format string) []string
func LoadFromFileOrHTTP(pth string) ([]byte, error)
func LoadFromFileOrHTTPWithTimeout(pth string, timeout time.Duration) ([]byte, error)
func LoadStrategy(pth string, local, remote func(string) ([]byte, error)) func(string) ([]byte, error)
func ReadJSON(data []byte, value interface{}) error
func SplitByFormat(data, format string) []string
func SplitHostPort(addr string) (host string, port int, err error)
func String(v string) *string
func StringMap(src map[string]string) map[string]*string
func StringSlice(src []string) []*string
func StringValue(v *string) string
func StringValueMap(src map[string]*string) map[string]string
func StringValueSlice(src []*string) []string
func Time(v time.Time) *time.Time
func TimeMap(src map[string]time.Time) map[string]*time.Time
func TimeSlice(src []time.Time) []*time.Time
func TimeValue(v *time.Time) time.Time
func TimeValueMap(src map[string]*time.Time) map[string]time.Time
func TimeValueSlice(src []*time.Time) []time.Time
func ToCommandName(name string) string
func ToDynamicJSON(data interface{}) interface{}
func ToFileName(name string) string
func ToGoName(name string) string
func ToHumanNameLower(name string) string
func ToHumanNameTitle(name string) string
func ToJSONName(name string) string
func ToVarName(name string) string
func Uint(v uint) *uint
func Uint16(v uint16) *uint16
func Uint16Map(src map[string]uint16) map[string]*uint16
func Uint16Slice(src []uint16) []*uint16
func Uint16Value(v *uint16) uint16
func Uint16ValueMap(src map[string]*uint16) map[string]uint16
func Uint16ValueSlice(src []*uint16) []uint16
func Uint32(v uint32) *uint32
func Uint32Map(src map[string]uint32) map[string]*uint32
func Uint32Slice(src []uint32) []*uint32
func Uint32Value(v *uint32) uint32
func Uint32ValueMap(src map[string]*uint32) map[string]uint32
func Uint32ValueSlice(src []*uint32) []uint32
func Uint64(v uint64) *uint64
func Uint64Map(src map[string]uint64) map[string]*uint64
func Uint64Slice(src []uint64) []*uint64
func Uint64Value(v *uint64) uint64
func Uint64ValueMap(src map[string]*uint64) map[string]uint64
func Uint64ValueSlice(src []*uint64) []uint64
func UintMap(src map[string]uint) map[string]*uint
func UintSlice(src []uint) []*uint
func UintValue(v *uint) uint
func UintValueMap(src map[string]*uint) map[string]uint
func UintValueSlice(src []*uint) []uint
func WriteJSON(data interface{}) ([]byte, error)
func YAMLData(path string) (interface{}, error)
func YAMLDoc(path string) (json.RawMessage, error)
func YAMLMatcher(path string) bool
func YAMLToJSON(data interface{}) (json.RawMessage, error)
type CommandLineOptionsGroup
type File
    func (f *File) Close() error
    func (f *File) Read(p []byte) (n int, err error)
type JSONMapItem
    func (s JSONMapItem) MarshalEasyJSON(w *jwriter.Writer)
    func (s JSONMapItem) MarshalJSON() ([]byte, error)
    func (s *JSONMapItem) UnmarshalEasyJSON(in *jlexer.Lexer)
    func (s *JSONMapItem) UnmarshalJSON(data []byte) error
type JSONMapSlice
    func (s JSONMapSlice) MarshalEasyJSON(w *jwriter.Writer)
    func (s JSONMapSlice) MarshalJSON() ([]byte, error)
    func (s JSONMapSlice) MarshalYAML() (interface{}, error)
    func (s *JSONMapSlice) UnmarshalEasyJSON(in *jlexer.Lexer)
    func (s *JSONMapSlice) UnmarshalJSON(data []byte) error
type NameProvider
    func NewNameProvider() *NameProvider
    func (n *NameProvider) GetGoName(subject interface{}, name string) (string, bool)
    func (n *NameProvider) GetGoNameForType(tpe reflect.Type, name string) (string, bool)
    func (n *NameProvider) GetJSONName(subject interface{}, name string) (string, bool)
    func (n *NameProvider) GetJSONNameForType(tpe reflect.Type, name string) (string, bool)
    func (n *NameProvider) GetJSONNames(subject interface{}) []string

Package files

convert.go convert_types.go doc.go file.go initialism_index.go json.go loading.go name_lexem.go net.go path.go split.go string_bytes.go util.go yaml.go

Constants

const (
    // GOPATHKey represents the env key for gopath
    GOPATHKey = "GOPATH"
)

Variables

DefaultJSONNameProvider the default cache for types

var DefaultJSONNameProvider = NewNameProvider()

GoNamePrefixFunc sets an optional rule to prefix go names which do not start with a letter.

The prefix function is assumed to return a string that starts with an upper case letter.

e.g. to help convert "123" into "{prefix}123"

The default is to prefix with "X"

var GoNamePrefixFunc func(string) string

LoadHTTPBasicAuthPassword the password to use when load requests require basic auth

var LoadHTTPBasicAuthPassword = ""

LoadHTTPBasicAuthUsername the username to use when load requests require basic auth

var LoadHTTPBasicAuthUsername = ""

LoadHTTPCustomHeaders an optional collection of custom HTTP headers for load requests

var LoadHTTPCustomHeaders = map[string]string{}

LoadHTTPTimeout the default timeout for load requests

var LoadHTTPTimeout = 30 * time.Second

func AddInitialisms

func AddInitialisms(words ...string)

AddInitialisms add additional initialisms

func Bool

func Bool(v bool) *bool

Bool returns a pointer to of the bool value passed in.

func BoolMap

func BoolMap(src map[string]bool) map[string]*bool

BoolMap converts a string map of bool values into a string map of bool pointers

func BoolSlice

func BoolSlice(src []bool) []*bool

BoolSlice converts a slice of bool values into a slice of bool pointers

func BoolValue

func BoolValue(v *bool) bool

BoolValue returns the value of the bool pointer passed in or false if the pointer is nil.

func BoolValueMap

func BoolValueMap(src map[string]*bool) map[string]bool

BoolValueMap converts a string map of bool pointers into a string map of bool values

func BoolValueSlice

func BoolValueSlice(src []*bool) []bool

BoolValueSlice converts a slice of bool pointers into a slice of bool values

func BytesToYAMLDoc

func BytesToYAMLDoc(data []byte) (interface{}, error)

BytesToYAMLDoc converts a byte slice into a YAML document

func Camelize

func Camelize(word string) string

Camelize an uppercased word

func ConcatJSON

func ConcatJSON(blobs ...[]byte) []byte

ConcatJSON concatenates multiple json objects efficiently

func ContainsStrings

func ContainsStrings(coll []string, item string) bool

ContainsStrings searches a slice of strings for a case-sensitive match

func ContainsStringsCI

func ContainsStringsCI(coll []string, item string) bool

ContainsStringsCI searches a slice of strings for a case-insensitive match

func ConvertBool

func ConvertBool(str string) (bool, error)

ConvertBool turn a string into a boolean

func ConvertFloat32

func ConvertFloat32(str string) (float32, error)

ConvertFloat32 turn a string into a float32

func ConvertFloat64

func ConvertFloat64(str string) (float64, error)

ConvertFloat64 turn a string into a float64

func ConvertInt16

func ConvertInt16(str string) (int16, error)

ConvertInt16 turn a string into an int16

func ConvertInt32

func ConvertInt32(str string) (int32, error)

ConvertInt32 turn a string into an int32

func ConvertInt64

func ConvertInt64(str string) (int64, error)

ConvertInt64 turn a string into an int64

func ConvertInt8

func ConvertInt8(str string) (int8, error)

ConvertInt8 turn a string into an int8

func ConvertUint16

func ConvertUint16(str string) (uint16, error)

ConvertUint16 turn a string into an uint16

func ConvertUint32

func ConvertUint32(str string) (uint32, error)

ConvertUint32 turn a string into an uint32

func ConvertUint64

func ConvertUint64(str string) (uint64, error)

ConvertUint64 turn a string into an uint64

func ConvertUint8

func ConvertUint8(str string) (uint8, error)

ConvertUint8 turn a string into an uint8

func DynamicJSONToStruct

func DynamicJSONToStruct(data interface{}, target interface{}) error

DynamicJSONToStruct converts an untyped json structure into a struct

func FindInGoSearchPath

func FindInGoSearchPath(pkg string) string

FindInGoSearchPath finds a package in the $GOPATH:$GOROOT

func FindInSearchPath

func FindInSearchPath(searchPath, pkg string) string

FindInSearchPath finds a package in a provided lists of paths

func Float32

func Float32(v float32) *float32

Float32 returns a pointer to of the float32 value passed in.

func Float32Map

func Float32Map(src map[string]float32) map[string]*float32

Float32Map converts a string map of float32 values into a string map of float32 pointers

func Float32Slice

func Float32Slice(src []float32) []*float32

Float32Slice converts a slice of float32 values into a slice of float32 pointers

func Float32Value

func Float32Value(v *float32) float32

Float32Value returns the value of the float32 pointer passed in or 0 if the pointer is nil.

func Float32ValueMap

func Float32ValueMap(src map[string]*float32) map[string]float32

Float32ValueMap converts a string map of float32 pointers into a string map of float32 values

func Float32ValueSlice

func Float32ValueSlice(src []*float32) []float32

Float32ValueSlice converts a slice of float32 pointers into a slice of float32 values

func Float64

func Float64(v float64) *float64

Float64 returns a pointer to of the float64 value passed in.

func Float64Map

func Float64Map(src map[string]float64) map[string]*float64

Float64Map converts a string map of float64 values into a string map of float64 pointers

func Float64Slice

func Float64Slice(src []float64) []*float64

Float64Slice converts a slice of float64 values into a slice of float64 pointers

func Float64Value

func Float64Value(v *float64) float64

Float64Value returns the value of the float64 pointer passed in or 0 if the pointer is nil.

func Float64ValueMap

func Float64ValueMap(src map[string]*float64) map[string]float64

Float64ValueMap converts a string map of float64 pointers into a string map of float64 values

func Float64ValueSlice

func Float64ValueSlice(src []*float64) []float64

Float64ValueSlice converts a slice of float64 pointers into a slice of float64 values

func FormatBool

func FormatBool(value bool) string

FormatBool turns a boolean into a string

func FormatFloat32

func FormatFloat32(value float32) string

FormatFloat32 turns a float32 into a string

func FormatFloat64

func FormatFloat64(value float64) string

FormatFloat64 turns a float64 into a string

func FormatInt16

func FormatInt16(value int16) string

FormatInt16 turns an int16 into a string

func FormatInt32

func FormatInt32(value int32) string

FormatInt32 turns an int32 into a string

func FormatInt64

func FormatInt64(value int64) string

FormatInt64 turns an int64 into a string

func FormatInt8

func FormatInt8(value int8) string

FormatInt8 turns an int8 into a string

func FormatUint16

func FormatUint16(value uint16) string

FormatUint16 turns an uint16 into a string

func FormatUint32

func FormatUint32(value uint32) string

FormatUint32 turns an uint32 into a string

func FormatUint64

func FormatUint64(value uint64) string

FormatUint64 turns an uint64 into a string

func FormatUint8

func FormatUint8(value uint8) string

FormatUint8 turns an uint8 into a string

func FromDynamicJSON

func FromDynamicJSON(data, target interface{}) error

FromDynamicJSON turns an object into a properly JSON typed structure

func FullGoSearchPath

func FullGoSearchPath() string

FullGoSearchPath gets the search paths for finding packages

func Int

func Int(v int) *int

Int returns a pointer to of the int value passed in.

func Int32

func Int32(v int32) *int32

Int32 returns a pointer to of the int32 value passed in.

func Int32Map

func Int32Map(src map[string]int32) map[string]*int32

Int32Map converts a string map of int32 values into a string map of int32 pointers

func Int32Slice

func Int32Slice(src []int32) []*int32

Int32Slice converts a slice of int32 values into a slice of int32 pointers

func Int32Value

func Int32Value(v *int32) int32

Int32Value returns the value of the int32 pointer passed in or 0 if the pointer is nil.

func Int32ValueMap

func Int32ValueMap(src map[string]*int32) map[string]int32

Int32ValueMap converts a string map of int32 pointers into a string map of int32 values

func Int32ValueSlice

func Int32ValueSlice(src []*int32) []int32

Int32ValueSlice converts a slice of int32 pointers into a slice of int32 values

func Int64

func Int64(v int64) *int64

Int64 returns a pointer to of the int64 value passed in.

func Int64Map

func Int64Map(src map[string]int64) map[string]*int64

Int64Map converts a string map of int64 values into a string map of int64 pointers

func Int64Slice

func Int64Slice(src []int64) []*int64

Int64Slice converts a slice of int64 values into a slice of int64 pointers

func Int64Value

func Int64Value(v *int64) int64

Int64Value returns the value of the int64 pointer passed in or 0 if the pointer is nil.

func Int64ValueMap

func Int64ValueMap(src map[string]*int64) map[string]int64

Int64ValueMap converts a string map of int64 pointers into a string map of int64 values

func Int64ValueSlice

func Int64ValueSlice(src []*int64) []int64

Int64ValueSlice converts a slice of int64 pointers into a slice of int64 values

func IntMap

func IntMap(src map[string]int) map[string]*int

IntMap converts a string map of int values into a string map of int pointers

func IntSlice

func IntSlice(src []int) []*int

IntSlice converts a slice of int values into a slice of int pointers

func IntValue

func IntValue(v *int) int

IntValue returns the value of the int pointer passed in or 0 if the pointer is nil.

func IntValueMap

func IntValueMap(src map[string]*int) map[string]int

IntValueMap converts a string map of int pointers into a string map of int values

func IntValueSlice

func IntValueSlice(src []*int) []int

IntValueSlice converts a slice of int pointers into a slice of int values

func IsFloat64AJSONInteger

func IsFloat64AJSONInteger(f float64) bool

IsFloat64AJSONInteger allow for integers [-2^53, 2^53-1] inclusive

func IsZero

func IsZero(data interface{}) bool

IsZero returns true when the value passed into the function is a zero value. This allows for safer checking of interface values.

func JoinByFormat

func JoinByFormat(data []string, format string) []string

JoinByFormat joins a string array by a known format (e.g. swagger's collectionFormat attribute):

ssv: space separated value
tsv: tab separated value
pipes: pipe (|) separated value
csv: comma separated value (default)

func LoadFromFileOrHTTP

func LoadFromFileOrHTTP(pth string) ([]byte, error)

LoadFromFileOrHTTP loads the bytes from a file or a remote http server based on the path passed in

func LoadFromFileOrHTTPWithTimeout

func LoadFromFileOrHTTPWithTimeout(pth string, timeout time.Duration) ([]byte, error)

LoadFromFileOrHTTPWithTimeout loads the bytes from a file or a remote http server based on the path passed in timeout arg allows for per request overriding of the request timeout

func LoadStrategy

func LoadStrategy(pth string, local, remote func(string) ([]byte, error)) func(string) ([]byte, error)

LoadStrategy returns a loader function for a given path or URI.

The load strategy returns the remote load for any path starting with `http`. So this works for any URI with a scheme `http` or `https`.

The fallback strategy is to call the local loader.

The local loader takes a local file system path (absolute or relative) as argument, or alternatively a `file://...` URI, **without host** (see also below for windows).

There are a few liberalities, initially intended to be tolerant regarding the URI syntax, especially on windows.

Before the local loader is called, the given path is transformed:

For paths provided as URIs with the "file" scheme, please note that:

Reminder about windows-specifics: - `file://host/folder/file` becomes an UNC path like `\\host\folder\file` (no port specification is supported) - `file:///c:/folder/file` becomes `C:\folder\file` - `file://c:/folder/file` is tolerated (without leading `/`) and becomes `c:\folder\file`

func ReadJSON

func ReadJSON(data []byte, value interface{}) error

ReadJSON reads json data, prefers finding an appropriate interface to short-circuit the unmarshaler so it takes the fastest option available

func SplitByFormat

func SplitByFormat(data, format string) []string

SplitByFormat splits a string by a known format:

ssv: space separated value
tsv: tab separated value
pipes: pipe (|) separated value
csv: comma separated value (default)

func SplitHostPort

func SplitHostPort(addr string) (host string, port int, err error)

SplitHostPort splits a network address into a host and a port. The port is -1 when there is no port to be found

func String

func String(v string) *string

String returns a pointer to of the string value passed in.

func StringMap

func StringMap(src map[string]string) map[string]*string

StringMap converts a string map of string values into a string map of string pointers

func StringSlice

func StringSlice(src []string) []*string

StringSlice converts a slice of string values into a slice of string pointers

func StringValue

func StringValue(v *string) string

StringValue returns the value of the string pointer passed in or "" if the pointer is nil.

func StringValueMap

func StringValueMap(src map[string]*string) map[string]string

StringValueMap converts a string map of string pointers into a string map of string values

func StringValueSlice

func StringValueSlice(src []*string) []string

StringValueSlice converts a slice of string pointers into a slice of string values

func Time

func Time(v time.Time) *time.Time

Time returns a pointer to of the time.Time value passed in.

func TimeMap

func TimeMap(src map[string]time.Time) map[string]*time.Time

TimeMap converts a string map of time.Time values into a string map of time.Time pointers

func TimeSlice

func TimeSlice(src []time.Time) []*time.Time

TimeSlice converts a slice of time.Time values into a slice of time.Time pointers

func TimeValue

func TimeValue(v *time.Time) time.Time

TimeValue returns the value of the time.Time pointer passed in or time.Time{} if the pointer is nil.

func TimeValueMap

func TimeValueMap(src map[string]*time.Time) map[string]time.Time

TimeValueMap converts a string map of time.Time pointers into a string map of time.Time values

func TimeValueSlice

func TimeValueSlice(src []*time.Time) []time.Time

TimeValueSlice converts a slice of time.Time pointers into a slice of time.Time values

func ToCommandName

func ToCommandName(name string) string

ToCommandName lowercases and underscores a go type name

func ToDynamicJSON

func ToDynamicJSON(data interface{}) interface{}

ToDynamicJSON turns an object into a properly JSON typed structure

func ToFileName

func ToFileName(name string) string

ToFileName lowercases and underscores a go type name

func ToGoName

func ToGoName(name string) string

ToGoName translates a swagger name which can be underscored or camel cased to a name that golint likes

func ToHumanNameLower

func ToHumanNameLower(name string) string

ToHumanNameLower represents a code name as a human series of words

func ToHumanNameTitle

func ToHumanNameTitle(name string) string

ToHumanNameTitle represents a code name as a human series of words with the first letters titleized

func ToJSONName

func ToJSONName(name string) string

ToJSONName camelcases a name which can be underscored or pascal cased

func ToVarName

func ToVarName(name string) string

ToVarName camelcases a name which can be underscored or pascal cased

func Uint

func Uint(v uint) *uint

Uint returns a pointer to of the uint value passed in.

func Uint16

func Uint16(v uint16) *uint16

Uint16 returns a pointer to of the uint16 value passed in.

func Uint16Map

func Uint16Map(src map[string]uint16) map[string]*uint16

Uint16Map converts a string map of uint16 values into a string map of uint16 pointers

func Uint16Slice

func Uint16Slice(src []uint16) []*uint16

Uint16Slice converts a slice of uint16 values into a slice of uint16 pointers

func Uint16Value

func Uint16Value(v *uint16) uint16

Uint16Value returns the value of the uint16 pointer passed in or 0 if the pointer is nil.

func Uint16ValueMap

func Uint16ValueMap(src map[string]*uint16) map[string]uint16

Uint16ValueMap converts a string map of uint16 pointers into a string map of uint16 values

func Uint16ValueSlice

func Uint16ValueSlice(src []*uint16) []uint16

Uint16ValueSlice converts a slice of uint16 pointers into a slice of uint16 values

func Uint32

func Uint32(v uint32) *uint32

Uint32 returns a pointer to of the uint32 value passed in.

func Uint32Map

func Uint32Map(src map[string]uint32) map[string]*uint32

Uint32Map converts a string map of uint32 values into a string map of uint32 pointers

func Uint32Slice

func Uint32Slice(src []uint32) []*uint32

Uint32Slice converts a slice of uint32 values into a slice of uint32 pointers

func Uint32Value

func Uint32Value(v *uint32) uint32

Uint32Value returns the value of the uint32 pointer passed in or 0 if the pointer is nil.

func Uint32ValueMap

func Uint32ValueMap(src map[string]*uint32) map[string]uint32

Uint32ValueMap converts a string map of uint32 pointers into a string map of uint32 values

func Uint32ValueSlice

func Uint32ValueSlice(src []*uint32) []uint32

Uint32ValueSlice converts a slice of uint32 pointers into a slice of uint32 values

func Uint64

func Uint64(v uint64) *uint64

Uint64 returns a pointer to of the uint64 value passed in.

func Uint64Map

func Uint64Map(src map[string]uint64) map[string]*uint64

Uint64Map converts a string map of uint64 values into a string map of uint64 pointers

func Uint64Slice

func Uint64Slice(src []uint64) []*uint64

Uint64Slice converts a slice of uint64 values into a slice of uint64 pointers

func Uint64Value

func Uint64Value(v *uint64) uint64

Uint64Value returns the value of the uint64 pointer passed in or 0 if the pointer is nil.

func Uint64ValueMap

func Uint64ValueMap(src map[string]*uint64) map[string]uint64

Uint64ValueMap converts a string map of uint64 pointers into a string map of uint64 values

func Uint64ValueSlice

func Uint64ValueSlice(src []*uint64) []uint64

Uint64ValueSlice converts a slice of uint64 pointers into a slice of uint64 values

func UintMap

func UintMap(src map[string]uint) map[string]*uint

UintMap converts a string map of uint values into a string map of uint pointers

func UintSlice

func UintSlice(src []uint) []*uint

UintSlice converts a slice of uint values into a slice of uint pointers

func UintValue

func UintValue(v *uint) uint

UintValue returns the value of the uint pointer passed in or 0 if the pointer is nil.

func UintValueMap

func UintValueMap(src map[string]*uint) map[string]uint

UintValueMap converts a string map of uint pointers into a string map of uint values

func UintValueSlice

func UintValueSlice(src []*uint) []uint

UintValueSlice converts a slice of uint pointers into a slice of uint values

func WriteJSON

func WriteJSON(data interface{}) ([]byte, error)

WriteJSON writes json data, prefers finding an appropriate interface to short-circuit the marshaler so it takes the fastest option available.

func YAMLData

func YAMLData(path string) (interface{}, error)

YAMLData loads a yaml document from either http or a file

func YAMLDoc

func YAMLDoc(path string) (json.RawMessage, error)

YAMLDoc loads a yaml document from either http or a file and converts it to json

func YAMLMatcher

func YAMLMatcher(path string) bool

YAMLMatcher matches yaml

func YAMLToJSON

func YAMLToJSON(data interface{}) (json.RawMessage, error)

YAMLToJSON converts YAML unmarshaled data into json compatible data

type CommandLineOptionsGroup

CommandLineOptionsGroup represents a group of user-defined command line options

type CommandLineOptionsGroup struct {
    ShortDescription string
    LongDescription  string
    Options          interface{}
}

type File

File represents an uploaded file.

type File struct {
    Data   multipart.File
    Header *multipart.FileHeader
}

func (*File) Close

func (f *File) Close() error

Close the file

func (*File) Read

func (f *File) Read(p []byte) (n int, err error)

Read bytes from the file

type JSONMapItem

JSONMapItem represents the value of a key in a JSON object held by JSONMapSlice

type JSONMapItem struct {
    Key   string
    Value interface{}
}

func (JSONMapItem) MarshalEasyJSON

func (s JSONMapItem) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON renders a JSONMapItem as JSON, using easyJSON

func (JSONMapItem) MarshalJSON

func (s JSONMapItem) MarshalJSON() ([]byte, error)

MarshalJSON renders a JSONMapItem as JSON

func (*JSONMapItem) UnmarshalEasyJSON

func (s *JSONMapItem) UnmarshalEasyJSON(in *jlexer.Lexer)

UnmarshalEasyJSON makes a JSONMapItem from JSON, using easyJSON

func (*JSONMapItem) UnmarshalJSON

func (s *JSONMapItem) UnmarshalJSON(data []byte) error

UnmarshalJSON makes a JSONMapItem from JSON

type JSONMapSlice

JSONMapSlice represent a JSON object, with the order of keys maintained

type JSONMapSlice []JSONMapItem

func (JSONMapSlice) MarshalEasyJSON

func (s JSONMapSlice) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON renders a JSONMapSlice as JSON, using easyJSON

func (JSONMapSlice) MarshalJSON

func (s JSONMapSlice) MarshalJSON() ([]byte, error)

MarshalJSON renders a JSONMapSlice as JSON

func (JSONMapSlice) MarshalYAML

func (s JSONMapSlice) MarshalYAML() (interface{}, error)

func (*JSONMapSlice) UnmarshalEasyJSON

func (s *JSONMapSlice) UnmarshalEasyJSON(in *jlexer.Lexer)

UnmarshalEasyJSON makes a JSONMapSlice from JSON, using easyJSON

func (*JSONMapSlice) UnmarshalJSON

func (s *JSONMapSlice) UnmarshalJSON(data []byte) error

UnmarshalJSON makes a JSONMapSlice from JSON

type NameProvider

NameProvider represents an object capable of translating from go property names to json property names This type is thread-safe.

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

func NewNameProvider

func NewNameProvider() *NameProvider

NewNameProvider creates a new name provider

func (*NameProvider) GetGoName

func (n *NameProvider) GetGoName(subject interface{}, name string) (string, bool)

GetGoName gets the go name for a json property name

func (*NameProvider) GetGoNameForType

func (n *NameProvider) GetGoNameForType(tpe reflect.Type, name string) (string, bool)

GetGoNameForType gets the go name for a given type for a json property name

func (*NameProvider) GetJSONName

func (n *NameProvider) GetJSONName(subject interface{}, name string) (string, bool)

GetJSONName gets the json name for a go property name

func (*NameProvider) GetJSONNameForType

func (n *NameProvider) GetJSONNameForType(tpe reflect.Type, name string) (string, bool)

GetJSONNameForType gets the json name for a go property name on a given type

func (*NameProvider) GetJSONNames

func (n *NameProvider) GetJSONNames(subject interface{}) []string

GetJSONNames gets all the json property names for a type