caster

package module
v1.2.3 Latest Latest
Warning

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

Go to latest
Published: Jun 13, 2022 License: MIT Imports: 5 Imported by: 5

README

Caster

Error-safe value caster.

NewCaster

Create new caster instance from value.

// Signature
NewCaster(data any) Caster

// Example
import "github.com/bopher/caster"
c := caster.NewCaster(1234)

Note: Slice caster methods is type safe and only returns typed items.

import "github.com/bopher/caster"
c := caster.NewCaster([]any{"First", true, false})
c.Slice() // ["First", true, false]
c.BoolSlice(nil) // [true, false]
c.StringSlice(nil) // ["First"]
c.UIntSlice(nil) // nil

IsNilErr

Check if returns error is nil error.

// Signature
IsNilErr(err error) bool

// Example
import "github.com/bopher/caster"
c := caster.NewCaster(nil)
v, err := c.Int()
if caster.IsNilErr(err) {
    // ...
}

Methods

Caster has following methods:

IsNil

Check if value of caster is nil

IsNil() bool
Interface

Get raw value.

Interface() any
Slice

Parse data as []any

Slice() []any
Bool

Parse data as boolean or return error on fail

Bool() (bool, error)
BoolSafe

Parse data as boolean or return fallback

BoolSafe(fallback bool) bool
BoolSlice

Parse data as []bool or return fallback

BoolSlice(fallback []bool) []bool
Int

Parse data as int or return error on fail

Int() (int, error)
IntSafe

Parse data as int or return fallback

IntSafe(fallback int) int
IntSlice

Parse data as []int or return fallback

IntSlice(fallback []int) []int
Int8

Parse data as int8 or return error on fail

Int8() (int8, error)
Int8Safe

Parse data as int8 or return fallback

Int8Safe(fallback int8) int8
Int8Slice

Parse data as []int8 or return fallback

Int8Slice(fallback []int8) []int8
Int16

Parse data as int16 or return error on fail

Int16() (int16, error)
Int16Safe

Parse data as int16 or return fallback

Int16Safe(fallback int16) int16
Int16Slice

Parse data as []int16 or return fallback

Int16Slice(fallback []int16) []int16
Int32

Parse data as int32 or return error on fail

Int32() (int32, error)
Int32Safe

Parse data as int32 or return fallback

Int32Safe(fallback int32) int32
Int32Slice

Parse data as []int32 or return fallback

Int32Slice(fallback []int32) []int32
Int64

Parse data as int64 or return error on fail

Int64() (int64, error)
Int64Safe

Parse data as int64 or return fallback

Int64Safe(fallback int64) int64
Int64Slice

Parse data as []int64 or return fallback

Int64Slice(fallback []int64) []int64
UInt

Parse data as uint or return error on fail

UInt() (uint, error)
UIntSafe

Parse data as uint or return fallback

UIntSafe(fallback uint) uint
UIntSlice

Parse data as []uint or return fallback

UIntSlice(fallback []uint) []uint
UInt8

Parse data as uint8 or return error on fail

UInt8() (uint8, error)
UInt8Safe

Parse data as uint8 or return fallback

UInt8Safe(fallback uint8) uint8
UInt8Slice

Parse data as []uint8 or return fallback

UInt8Slice(fallback []uint8) []uint8
UInt16

Parse data as uint16 or return error on fail

UInt16() (uint16, error)
UInt16Safe

Parse data as uint16 or return fallback

UInt16Safe(fallback uint16) uint16
UInt16Slice

Parse data as []uint16 or return fallback

UInt16Slice(fallback []uint16) []uint16
UInt32

Parse data as uint32 or return error on fail

UInt32() (uint32, error)
UInt32Safe

Parse data as uint32 or return fallback

UInt32Safe(fallback uint32) uint32
UInt32Slice

Parse data as []uint32 or return fallback

UInt32Slice(fallback []uint32) []uint32
UInt64

Parse data as uint64 or return error on fail

UInt64() (uint64, error)
UInt64Safe

Parse data as uint64 or return fallback

UInt64Safe(fallback uint64) uint64
UInt64Slice

Parse data as []uint64 or return fallback

UInt64Slice(fallback []uint64) []uint64
Float32

Parse data as float32 or return error on fail

Float32() (float32, error)
Float32Safe

Parse data as float32 or return fallback

Float32Safe(fallback float32) float32
Float32Slice

Parse data as []float32 or return fallback

Float32Slice(fallback []float32) []float32
Float64

Parse data as float64 or return error on fail

Float64() (float64, error)
Float64Safe

Parse data as float64 or return fallback

Float64Safe(fallback float64) float64
Float64Slice

Parse data as []float64 or return fallback

Float64Slice(fallback []float64) []float64
String

Parse data as string or return error on fail

String() (string, error)
StringSafe

Parse data as string or return fallback

StringSafe(fallback string) string
StringSlice

Parse data as []string or return fallback

StringSlice(fallback []string) []string

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Assert added in v1.2.3

func Assert[T any](v any) (T, bool)

Assert try to assert value to type T

func AssertSafe added in v1.2.3

func AssertSafe[T any](v any, fallback T) T

AssertSafe try to assert value to type T or return fallback

func IsNilErr

func IsNilErr(err error) bool

IsNilErr check if caster nil error

Types

type Caster

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

func NewCaster

func NewCaster(data any) Caster

NewCaster create new caster

func (Caster) Bool

func (c Caster) Bool() (bool, error)

Bool parse data as boolean or return error on fail

func (Caster) BoolSafe

func (c Caster) BoolSafe(fallback bool) bool

BoolSafe parse data as boolean or return fallback

func (Caster) BoolSlice added in v1.1.0

func (c Caster) BoolSlice(fallback []bool) []bool

BoolSlice parse data as []bool or return fallback

func (Caster) Float32

func (c Caster) Float32() (float32, error)

Float32 parse data as float32 or return error on fail

func (Caster) Float32Safe

func (c Caster) Float32Safe(fallback float32) float32

Float32Safe parse data as float32 or return fallback

func (Caster) Float32Slice added in v1.1.0

func (c Caster) Float32Slice(fallback []float32) []float32

Float32Slice parse data as []float32 or return fallback

func (Caster) Float64

func (c Caster) Float64() (float64, error)

Float64 parse data as float64 or return error on fail

func (Caster) Float64Safe

func (c Caster) Float64Safe(fallback float64) float64

Float64Safe parse data as float64 or return fallback

func (Caster) Float64Slice added in v1.1.0

func (c Caster) Float64Slice(fallback []float64) []float64

Float64Slice parse data as []float64 or return fallback

func (Caster) Int

func (c Caster) Int() (int, error)

Int parse data as int or return error on fail

func (Caster) Int16

func (c Caster) Int16() (int16, error)

Int16 parse data as int16 or return error on fail

func (Caster) Int16Safe

func (c Caster) Int16Safe(fallback int16) int16

Int16Safe parse data as int16 or return fallback

func (Caster) Int16Slice added in v1.1.0

func (c Caster) Int16Slice(fallback []int16) []int16

Int16Slice parse data as []int16 or return fallback

func (Caster) Int32

func (c Caster) Int32() (int32, error)

Int32 parse data as int32 or return error on fail

func (Caster) Int32Safe

func (c Caster) Int32Safe(fallback int32) int32

Int32Safe parse data as int32 or return fallback

func (Caster) Int32Slice added in v1.1.0

func (c Caster) Int32Slice(fallback []int32) []int32

Int32Slice parse data as []int32 or return fallback

func (Caster) Int64

func (c Caster) Int64() (int64, error)

Int64 parse data as int64 or return error on fail

func (Caster) Int64Safe

func (c Caster) Int64Safe(fallback int64) int64

Int64Safe parse data as int64 or return fallback

func (Caster) Int64Slice added in v1.1.0

func (c Caster) Int64Slice(fallback []int64) []int64

Int64Slice parse data as []int64 or return fallback

func (Caster) Int8

func (c Caster) Int8() (int8, error)

Int8 parse data as int8 or return error on fail

func (Caster) Int8Safe

func (c Caster) Int8Safe(fallback int8) int8

Int8Safe parse data as int8 or return fallback

func (Caster) Int8Slice added in v1.1.0

func (c Caster) Int8Slice(fallback []int8) []int8

Int8Slice parse data as []int8 or return fallback

func (Caster) IntSafe

func (c Caster) IntSafe(fallback int) int

IntSafe parse data as int or return fallback

func (Caster) IntSlice added in v1.1.0

func (c Caster) IntSlice(fallback []int) []int

IntSlice parse data as []int or return fallback

func (Caster) Interface

func (c Caster) Interface() any

Interface get raw value

func (Caster) IsNil

func (c Caster) IsNil() bool

IsNil check if value of caster is nil

func (Caster) Slice added in v1.1.0

func (c Caster) Slice() []any

Slice parse data as []any

func (Caster) String

func (c Caster) String() (string, error)

String parse data as string or return error on fail

func (Caster) StringSafe

func (c Caster) StringSafe(fallback string) string

StringSafe parse data as string or return fallback

func (Caster) StringSlice added in v1.1.0

func (c Caster) StringSlice(fallback []string) []string

StringSlice parse data as []string or return fallback

func (Caster) UInt

func (c Caster) UInt() (uint, error)

UInt parse data as uint or return error on fail

func (Caster) UInt16

func (c Caster) UInt16() (uint16, error)

UInt16 parse data as uint16 or return error on fail

func (Caster) UInt16Safe

func (c Caster) UInt16Safe(fallback uint16) uint16

UInt16Safe parse data as uint16 or return fallback

func (Caster) UInt16Slice added in v1.1.0

func (c Caster) UInt16Slice(fallback []uint16) []uint16

UInt16Slice parse data as []uint16 or return fallback

func (Caster) UInt32

func (c Caster) UInt32() (uint32, error)

UInt32 parse data as uint32 or return error on fail

func (Caster) UInt32Safe

func (c Caster) UInt32Safe(fallback uint32) uint32

UInt32Safe parse data as uint32 or return fallback

func (Caster) UInt32Slice added in v1.1.0

func (c Caster) UInt32Slice(fallback []uint32) []uint32

UInt32Slice parse data as []uint32 or return fallback

func (Caster) UInt64

func (c Caster) UInt64() (uint64, error)

UInt64 parse data as uint64 or return error on fail

func (Caster) UInt64Safe

func (c Caster) UInt64Safe(fallback uint64) uint64

UInt64Safe parse data as uint64 or return fallback

func (Caster) UInt64Slice added in v1.1.0

func (c Caster) UInt64Slice(fallback []uint64) []uint64

UInt64Slice parse data as []uint64 or return fallback

func (Caster) UInt8

func (c Caster) UInt8() (uint8, error)

UInt8 parse data as uint8 or return error on fail

func (Caster) UInt8Safe

func (c Caster) UInt8Safe(fallback uint8) uint8

UInt8Safe parse data as uint8 or return fallback

func (Caster) UInt8Slice added in v1.1.0

func (c Caster) UInt8Slice(fallback []uint8) []uint8

UInt8Slice parse data as []uint8 or return fallback

func (Caster) UIntSafe

func (c Caster) UIntSafe(fallback uint) uint

UIntSafe parse data as uint or return fallback

func (Caster) UIntSlice added in v1.1.0

func (c Caster) UIntSlice(fallback []uint) []uint

UIntSlice parse data as []uint or return fallback

Jump to

Keyboard shortcuts

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