![Oracle Drags Its Feet in the JavaScript Trademark Dispute](https://cdn.sanity.io/images/cgdhsj6q/production/919c3b22c24f93884c548d60cbb338e819ff2435-1024x1024.webp?w=400&fit=max&auto=format)
Security News
Oracle Drags Its Feet in the JavaScript Trademark Dispute
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
github.com/searKing/golang/tools/go-validator
Generates Go code using a package as a generic template that implements validator.
go-validator Generates Go code using a package as a generic template that implements validator. Given the StructName of a Struct type T go-validator will create a new self-contained Go source file and rewrite T's "db" tag of struct field
The file is created in the same package and directory as the package that defines T. It has helpful defaults designed for use with go generate.
For example, given this snippet,
running this command
package painkiller
import (
"database/sql"
"time"
)
type Pill struct {
Id uint `db:"id" json:"sql_data_id,omitempty"`
CreatedAt time.Time `db:"created_at" json:"sql_data_created_at,omitempty"`
UpdatedAt time.Time `db:"updated_at" json:"sql_data_updated_at,omitempty"`
IsDeleted bool `json:"sql_data_is_deleted,omitempty" db:"is_deleted"`
DeletedAt sql.NullTime `db:"deleted_at" json:"sql_data_deleted_at,omitempty"`
Version uint `db:"version" json:"sql_data_version,omitempty"`
} // sql_data
running this command
go-validator -type=Pill
in the same directory will create the file pill_validator.go, in package painkiller, containing a definition of
func (m *Pill) Validate(validate *validator.Validate) error
Typically this process would be run using go generate, like this:
//go:generate go-validator --all-type
//go:generate go-validator -type "Pill"
//go:generate go-validator -type "Pill" --linecomment
//go:generate go-validator -type "Pill" --linecomment --with-dao
If multiple constants have the same value, the lexically first matching name will be used (in the example, Acetaminophen will print as "Paracetamol").
With no arguments, it processes the package in the current directory. Otherwise, the arguments must name a single directory holding a Go package or a set of Go source files that represent a single Go package.
The -type flag accepts a comma-separated list of types so a single run can generate methods for multiple types. The default output file is t_validator.go, where t is the lower-cased name of the first type listed. It can be overridden with the -output flag.
The easiest way to install is to run go get install github.com/searKing/golang/tools/go-validator
. You can also manually git clone the repository to $GOPATH/src/github.com/searKing/golang/tools/go-validator
.
FAQs
Unknown package
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
Security News
The Linux Foundation is warning open source developers that compliance with global sanctions is mandatory, highlighting legal risks and restrictions on contributions.
Security News
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.