Skip to content

Commit

Permalink
feat: add other not required
Browse files Browse the repository at this point in the history
  • Loading branch information
franklinkim committed Mar 13, 2023
1 parent ddcc37e commit 50edfcd
Show file tree
Hide file tree
Showing 17 changed files with 90 additions and 53 deletions.
2 changes: 1 addition & 1 deletion rule/any.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import (

func Required[T any](ctx context.Context, v T) error {
if reflect.ValueOf(v).IsZero() {
return NewRequiredError()
return NewError(NameRequired)
}
return nil
}
7 changes: 7 additions & 0 deletions rule/float.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,13 @@ func FloatRequired[T Float](ctx context.Context, v T) error {
return nil
}

func FloatNotRequired[T Float](ctx context.Context, v T) error {
if v == T(0) {
return ErrBreak
}
return nil
}

func FloatSize[T Float](expected T) FloatRule[T] {
return func(ctx context.Context, v T) error {
if v != expected {
Expand Down
7 changes: 7 additions & 0 deletions rule/float32.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,13 @@ func Float32Required(ctx context.Context, v float32) error {
return nil
}

func Float32NotRequired(ctx context.Context, v float32) error {
if v == 0 {
return ErrBreak
}
return nil
}

func Float32Size(expected float32) Float32Rule {
return func(ctx context.Context, v float32) error {
if v != expected {
Expand Down
7 changes: 7 additions & 0 deletions rule/float64.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,13 @@ func Float64Required(ctx context.Context, v float64) error {
return nil
}

func Float64NotRequired(ctx context.Context, v float64) error {
if v == 0 {
return ErrBreak
}
return nil
}

func Float64Size(expected float64) Float64Rule {
return func(ctx context.Context, v float64) error {
if v != expected {
Expand Down
7 changes: 7 additions & 0 deletions rule/int.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,13 @@ func IntRequired(ctx context.Context, v int) error {
return nil
}

func IntNotRequired(ctx context.Context, v int) error {
if v == 0 {
return ErrBreak
}
return nil
}

func IntSize(expected int) IntRule {
return func(ctx context.Context, v int) error {
if v != expected {
Expand Down
7 changes: 7 additions & 0 deletions rule/int32.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,13 @@ func Int32Required(ctx context.Context, v int32) error {
return nil
}

func Int32NotRequired(ctx context.Context, v int32) error {
if v == 0 {
return ErrBreak
}
return nil
}

func Int32Size(expected int32) Int32Rule {
return func(ctx context.Context, v int32) error {
if v != expected {
Expand Down
7 changes: 7 additions & 0 deletions rule/int64.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,13 @@ func Int64Required(ctx context.Context, v int64) error {
return nil
}

func Int64NotRequired(ctx context.Context, v int64) error {
if v == 0 {
return ErrBreak
}
return nil
}

func Int64Size(expected int64) Int64Rule {
return func(ctx context.Context, v int64) error {
if v != expected {
Expand Down
7 changes: 7 additions & 0 deletions rule/int8.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,13 @@ func Int8Required(ctx context.Context, v int8) error {
return nil
}

func Int8NotRequired(ctx context.Context, v int8) error {
if v == 0 {
return ErrBreak
}
return nil
}

func Int8Size(expected int8) Int8Rule {
return func(ctx context.Context, v int8) error {
if v != expected {
Expand Down
19 changes: 12 additions & 7 deletions rule/integer.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,9 @@ package rule

import (
"context"

"golang.org/x/exp/constraints"
)

func IntegerMin[T constraints.Integer](expected T) IntegerRule[T] {
func IntegerMin[T Integer](expected T) IntegerRule[T] {
return func(ctx context.Context, v T) error {
if v < expected {
return NewErrorf(NameMin, 'd', expected)
Expand All @@ -15,7 +13,7 @@ func IntegerMin[T constraints.Integer](expected T) IntegerRule[T] {
}
}

func IntegerMax[T constraints.Integer](expected T) IntegerRule[T] {
func IntegerMax[T Integer](expected T) IntegerRule[T] {
return func(ctx context.Context, v T) error {
if v > expected {
return NewErrorf(NameMax, 'd', expected)
Expand All @@ -24,14 +22,21 @@ func IntegerMax[T constraints.Integer](expected T) IntegerRule[T] {
}
}

func IntegerRequired[T constraints.Integer](ctx context.Context, v T) error {
func IntegerRequired[T Integer](ctx context.Context, v T) error {
if v == T(0) {
return NewError(NameRequired)
}
return nil
}

func IntegerSize[T constraints.Integer](expected T) IntegerRule[T] {
func IntegerNotRequired[T Integer](ctx context.Context, v T) error {
if v == T(0) {
return ErrBreak
}
return nil
}

func IntegerSize[T Integer](expected T) IntegerRule[T] {
return func(ctx context.Context, v T) error {
if v != expected {
return NewErrorf(NameSize, 'd', expected)
Expand All @@ -40,7 +45,7 @@ func IntegerSize[T constraints.Integer](expected T) IntegerRule[T] {
}
}

func IntegerOmitEmpty[T constraints.Integer](ctx context.Context, v T) error {
func IntegerOmitEmpty[T Integer](ctx context.Context, v T) error {
if v == T(0) {
return ErrBreak
}
Expand Down
12 changes: 0 additions & 12 deletions rule/omitempty.go

This file was deleted.

22 changes: 0 additions & 22 deletions rule/omitempty_test.go

This file was deleted.

6 changes: 0 additions & 6 deletions rule/required.go

This file was deleted.

7 changes: 7 additions & 0 deletions rule/uint.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,13 @@ func UIntRequired(ctx context.Context, v uint) error {
return nil
}

func UIntNotRequired(ctx context.Context, v uint) error {
if v == 0 {
return ErrBreak
}
return nil
}

func UIntSize(expected uint) UIntRule {
return func(ctx context.Context, v uint) error {
if v != expected {
Expand Down
7 changes: 7 additions & 0 deletions rule/uint32.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,13 @@ func UInt32Required(ctx context.Context, v uint32) error {
return nil
}

func UInt32NotRequired(ctx context.Context, v uint32) error {
if v == 0 {
return ErrBreak
}
return nil
}

func UInt32Size(expected uint32) UInt32Rule {
return func(ctx context.Context, v uint32) error {
if v != expected {
Expand Down
7 changes: 7 additions & 0 deletions rule/uint64.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,13 @@ func UInt64Required(ctx context.Context, v uint64) error {
return nil
}

func UInt64NotRequired(ctx context.Context, v uint64) error {
if v == 0 {
return ErrBreak
}
return nil
}

func UInt64Size(expected uint64) UInt64Rule {
return func(ctx context.Context, v uint64) error {
if v != expected {
Expand Down
7 changes: 7 additions & 0 deletions rule/uint8.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,13 @@ func UInt8Required(ctx context.Context, v uint8) error {
return nil
}

func UInt8NotRequired(ctx context.Context, v uint8) error {
if v == 0 {
return ErrBreak
}
return nil
}

func UInt8Size(expected uint8) UInt8Rule {
return func(ctx context.Context, v uint8) error {
if v != expected {
Expand Down
5 changes: 0 additions & 5 deletions rule/validator.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,6 @@ type Validator interface {
Valid() bool
}

// NewValidError constructor
func NewValidError() *Error {
return NewError(NameValid)
}

func Valid[T Validator](ctx context.Context, v T) error {
if !v.Valid() {
return NewError(NameValid)
Expand Down

0 comments on commit 50edfcd

Please sign in to comment.