mirror of
https://github.com/abice/go-enum.git
synced 2026-10-28 16:46:59 +08:00
1 parent
1012a12a04
commit
2b856fec5e
27 files changed
+281
-90
No files matched your search
@@ -38,3 +38,8 @@ jobs:
|
||||
if [[ -n "$COVERALLS_TOKEN" ]]; then
|
||||
make coveralls
|
||||
fi
|
||||
- name: Upload coverage
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: coverage
|
||||
path: coverage.*
|
||||
@@ -0,0 +1,46 @@
|
||||
name: goreleaser
|
||||
|
||||
on:
|
||||
release:
|
||||
types:
|
||||
- "created"
|
||||
|
||||
jobs:
|
||||
goreleaser:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Set up Go
|
||||
uses: actions/setup-go@v2
|
||||
with:
|
||||
go-version: 1.16
|
||||
|
||||
- name: Cache Go modules
|
||||
uses: actions/cache@v1
|
||||
with:
|
||||
path: ~/go/pkg/mod
|
||||
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-go-
|
||||
|
||||
- name: Install GoReleaser
|
||||
uses: goreleaser/goreleaser-action@v2
|
||||
with:
|
||||
install-only: true
|
||||
- name: Show GoReleaser version
|
||||
run: goreleaser -v
|
||||
|
||||
- name: Run GoReleaser
|
||||
uses: goreleaser/goreleaser-action@v2
|
||||
if: success() && startsWith(github.ref, 'refs/tags/')
|
||||
with:
|
||||
# either 'goreleaser' (default) or 'goreleaser-pro'
|
||||
distribution: goreleaser
|
||||
version: latest
|
||||
args: release --rm-dist
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
@@ -18,3 +18,5 @@
|
||||
vendor/
|
||||
coverage.out
|
||||
coverage.html
|
||||
|
||||
dist/
|
||||
@@ -0,0 +1,33 @@
|
||||
# This is an example .goreleaser.yml file with some sane defaults.
|
||||
# Make sure to check the documentation at http://goreleaser.com
|
||||
before:
|
||||
hooks:
|
||||
# You may remove this if you don't use go modules.
|
||||
- go mod tidy
|
||||
# you may remove this if you don't need go generate
|
||||
- go generate ./generator
|
||||
builds:
|
||||
- env:
|
||||
- CGO_ENABLED=0
|
||||
goos:
|
||||
- linux
|
||||
- windows
|
||||
- darwin
|
||||
|
||||
archives:
|
||||
- replacements:
|
||||
darwin: Darwin
|
||||
linux: Linux
|
||||
windows: Windows
|
||||
386: i386
|
||||
amd64: x86_64
|
||||
checksum:
|
||||
name_template: "checksums.txt"
|
||||
snapshot:
|
||||
name_template: "{{ incpatch .Version }}-next"
|
||||
changelog:
|
||||
sort: asc
|
||||
filters:
|
||||
exclude:
|
||||
- "^docs:"
|
||||
- "^test:"
|
||||
@@ -6,13 +6,23 @@ else
|
||||
endif
|
||||
|
||||
GO ?= GO111MODULE=on go
|
||||
COVERAGEDIR = coverage
|
||||
COVERAGEDIR= coverage
|
||||
SERVICE=local
|
||||
ifdef CIRCLE_WORKING_DIRECTORY
|
||||
COVERAGEDIR = $(CIRCLE_WORKING_DIRECTORY)/coverage
|
||||
SERVICE=circle-ci
|
||||
|
||||
ifdef GITHUB_ACTIONS
|
||||
SERVICE=github-actions
|
||||
endif
|
||||
|
||||
DATE := $(shell date -u '+%FT%T%z')
|
||||
GITHUB_SHA ?= $(shell git rev-parse HEAD)
|
||||
GITHUB_REF ?= local
|
||||
|
||||
LDFLAGS += -X "main.version=$(GITHUB_REF)"
|
||||
LDFLAGS += -X "main.commit=$(GITHUB_SHA)"
|
||||
LDFLAGS += -X "main.date=$(DATE)"
|
||||
LDFLAGS += -X "main.builtBy=$(USER)"
|
||||
LDFLAGS += -extldflags '-static'
|
||||
|
||||
define goinstall
|
||||
mkdir -p $(shell pwd)/bin
|
||||
echo "Installing $(1)"
|
||||
@@ -26,7 +36,6 @@ MOCKGEN=bin/mockgen
|
||||
deps: $(MOCKGEN)
|
||||
deps: $(GOBINDATA)
|
||||
deps: $(GOIMPORTS)
|
||||
deps: $(GOVERALLS)
|
||||
|
||||
PACKAGES='./generator' './example'
|
||||
|
||||
@@ -36,7 +45,7 @@ all: build fmt test example cover install
|
||||
build: deps
|
||||
$(GO) generate ./generator
|
||||
if [ ! -d bin ]; then mkdir bin; fi
|
||||
$(GO) build -v -o bin/go-enum .
|
||||
$(GO) build -v -o bin/go-enum -ldflags='-X "main.version=example" -X "main.commit=example" -X "main.date=example" -X "main.builtBy=example"' .
|
||||
|
||||
fmt:
|
||||
gofmt -l -w -s $$(find . -type f -name '*.go' -not -path "./vendor/*")
|
||||
@@ -56,6 +65,7 @@ clean:
|
||||
rm -f bin/go-enum
|
||||
rm -rf coverage/
|
||||
rm -rf bin/
|
||||
rm -rf dist/
|
||||
|
||||
.PHONY: generate
|
||||
generate:
|
||||
|
||||
@@ -1,4 +1,8 @@
|
||||
// Code generated by go-enum DO NOT EDIT.
|
||||
// Version: example
|
||||
// Revision: example
|
||||
// Build Date: example
|
||||
// Built By: example
|
||||
|
||||
package example
|
||||
|
||||
|
||||
@@ -1,4 +1,8 @@
|
||||
// Code generated by go-enum DO NOT EDIT.
|
||||
// Version: example
|
||||
// Revision: example
|
||||
// Build Date: example
|
||||
// Built By: example
|
||||
|
||||
package example
|
||||
|
||||
|
||||
@@ -1,4 +1,8 @@
|
||||
// Code generated by go-enum DO NOT EDIT.
|
||||
// Version: example
|
||||
// Revision: example
|
||||
// Build Date: example
|
||||
// Built By: example
|
||||
|
||||
package example
|
||||
|
||||
|
||||
@@ -1,4 +1,8 @@
|
||||
// Code generated by go-enum DO NOT EDIT.
|
||||
// Version: example
|
||||
// Revision: example
|
||||
// Build Date: example
|
||||
// Built By: example
|
||||
|
||||
package example
|
||||
|
||||
|
||||
@@ -1,4 +1,8 @@
|
||||
// Code generated by go-enum DO NOT EDIT.
|
||||
// Version: example
|
||||
// Revision: example
|
||||
// Build Date: example
|
||||
// Built By: example
|
||||
|
||||
package example
|
||||
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
// Code generated by go-enum
|
||||
// DO NOT EDIT!
|
||||
// Code generated by go-enum DO NOT EDIT.
|
||||
// Version: example
|
||||
// Revision: example
|
||||
// Build Date: example
|
||||
// Built By: example
|
||||
|
||||
package globs
|
||||
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
// Code generated by go-enum
|
||||
// DO NOT EDIT!
|
||||
// Code generated by go-enum DO NOT EDIT.
|
||||
// Version: example
|
||||
// Revision: example
|
||||
// Build Date: example
|
||||
// Built By: example
|
||||
|
||||
package globs
|
||||
|
||||
|
||||
@@ -1,4 +1,8 @@
|
||||
// Code generated by go-enum DO NOT EDIT.
|
||||
// Version: example
|
||||
// Revision: example
|
||||
// Build Date: example
|
||||
// Built By: example
|
||||
|
||||
package example
|
||||
|
||||
|
||||
@@ -1,4 +1,8 @@
|
||||
// Code generated by go-enum DO NOT EDIT.
|
||||
// Version: example
|
||||
// Revision: example
|
||||
// Build Date: example
|
||||
// Built By: example
|
||||
|
||||
package example
|
||||
|
||||
|
||||
+48
-47
@@ -6,34 +6,35 @@ package example
|
||||
|
||||
import (
|
||||
driver "database/sql/driver"
|
||||
gomock "github.com/golang/mock/gomock"
|
||||
reflect "reflect"
|
||||
|
||||
gomock "github.com/golang/mock/gomock"
|
||||
)
|
||||
|
||||
// MockConn is a mock of Conn interface
|
||||
// MockConn is a mock of Conn interface.
|
||||
type MockConn struct {
|
||||
ctrl *gomock.Controller
|
||||
recorder *MockConnMockRecorder
|
||||
}
|
||||
|
||||
// MockConnMockRecorder is the mock recorder for MockConn
|
||||
// MockConnMockRecorder is the mock recorder for MockConn.
|
||||
type MockConnMockRecorder struct {
|
||||
mock *MockConn
|
||||
}
|
||||
|
||||
// NewMockConn creates a new mock instance
|
||||
// NewMockConn creates a new mock instance.
|
||||
func NewMockConn(ctrl *gomock.Controller) *MockConn {
|
||||
mock := &MockConn{ctrl: ctrl}
|
||||
mock.recorder = &MockConnMockRecorder{mock}
|
||||
return mock
|
||||
}
|
||||
|
||||
// EXPECT returns an object that allows the caller to indicate expected use
|
||||
// EXPECT returns an object that allows the caller to indicate expected use.
|
||||
func (m *MockConn) EXPECT() *MockConnMockRecorder {
|
||||
return m.recorder
|
||||
}
|
||||
|
||||
// Begin mocks base method
|
||||
// Begin mocks base method.
|
||||
func (m *MockConn) Begin() (driver.Tx, error) {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "Begin")
|
||||
@@ -42,13 +43,13 @@ func (m *MockConn) Begin() (driver.Tx, error) {
|
||||
return ret0, ret1
|
||||
}
|
||||
|
||||
// Begin indicates an expected call of Begin
|
||||
// Begin indicates an expected call of Begin.
|
||||
func (mr *MockConnMockRecorder) Begin() *gomock.Call {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Begin", reflect.TypeOf((*MockConn)(nil).Begin))
|
||||
}
|
||||
|
||||
// Close mocks base method
|
||||
// Close mocks base method.
|
||||
func (m *MockConn) Close() error {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "Close")
|
||||
@@ -56,13 +57,13 @@ func (m *MockConn) Close() error {
|
||||
return ret0
|
||||
}
|
||||
|
||||
// Close indicates an expected call of Close
|
||||
// Close indicates an expected call of Close.
|
||||
func (mr *MockConnMockRecorder) Close() *gomock.Call {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Close", reflect.TypeOf((*MockConn)(nil).Close))
|
||||
}
|
||||
|
||||
// Prepare mocks base method
|
||||
// Prepare mocks base method.
|
||||
func (m *MockConn) Prepare(arg0 string) (driver.Stmt, error) {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "Prepare", arg0)
|
||||
@@ -71,36 +72,36 @@ func (m *MockConn) Prepare(arg0 string) (driver.Stmt, error) {
|
||||
return ret0, ret1
|
||||
}
|
||||
|
||||
// Prepare indicates an expected call of Prepare
|
||||
// Prepare indicates an expected call of Prepare.
|
||||
func (mr *MockConnMockRecorder) Prepare(arg0 interface{}) *gomock.Call {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Prepare", reflect.TypeOf((*MockConn)(nil).Prepare), arg0)
|
||||
}
|
||||
|
||||
// MockDriver is a mock of Driver interface
|
||||
// MockDriver is a mock of Driver interface.
|
||||
type MockDriver struct {
|
||||
ctrl *gomock.Controller
|
||||
recorder *MockDriverMockRecorder
|
||||
}
|
||||
|
||||
// MockDriverMockRecorder is the mock recorder for MockDriver
|
||||
// MockDriverMockRecorder is the mock recorder for MockDriver.
|
||||
type MockDriverMockRecorder struct {
|
||||
mock *MockDriver
|
||||
}
|
||||
|
||||
// NewMockDriver creates a new mock instance
|
||||
// NewMockDriver creates a new mock instance.
|
||||
func NewMockDriver(ctrl *gomock.Controller) *MockDriver {
|
||||
mock := &MockDriver{ctrl: ctrl}
|
||||
mock.recorder = &MockDriverMockRecorder{mock}
|
||||
return mock
|
||||
}
|
||||
|
||||
// EXPECT returns an object that allows the caller to indicate expected use
|
||||
// EXPECT returns an object that allows the caller to indicate expected use.
|
||||
func (m *MockDriver) EXPECT() *MockDriverMockRecorder {
|
||||
return m.recorder
|
||||
}
|
||||
|
||||
// Open mocks base method
|
||||
// Open mocks base method.
|
||||
func (m *MockDriver) Open(arg0 string) (driver.Conn, error) {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "Open", arg0)
|
||||
@@ -109,36 +110,36 @@ func (m *MockDriver) Open(arg0 string) (driver.Conn, error) {
|
||||
return ret0, ret1
|
||||
}
|
||||
|
||||
// Open indicates an expected call of Open
|
||||
// Open indicates an expected call of Open.
|
||||
func (mr *MockDriverMockRecorder) Open(arg0 interface{}) *gomock.Call {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Open", reflect.TypeOf((*MockDriver)(nil).Open), arg0)
|
||||
}
|
||||
|
||||
// MockStmt is a mock of Stmt interface
|
||||
// MockStmt is a mock of Stmt interface.
|
||||
type MockStmt struct {
|
||||
ctrl *gomock.Controller
|
||||
recorder *MockStmtMockRecorder
|
||||
}
|
||||
|
||||
// MockStmtMockRecorder is the mock recorder for MockStmt
|
||||
// MockStmtMockRecorder is the mock recorder for MockStmt.
|
||||
type MockStmtMockRecorder struct {
|
||||
mock *MockStmt
|
||||
}
|
||||
|
||||
// NewMockStmt creates a new mock instance
|
||||
// NewMockStmt creates a new mock instance.
|
||||
func NewMockStmt(ctrl *gomock.Controller) *MockStmt {
|
||||
mock := &MockStmt{ctrl: ctrl}
|
||||
mock.recorder = &MockStmtMockRecorder{mock}
|
||||
return mock
|
||||
}
|
||||
|
||||
// EXPECT returns an object that allows the caller to indicate expected use
|
||||
// EXPECT returns an object that allows the caller to indicate expected use.
|
||||
func (m *MockStmt) EXPECT() *MockStmtMockRecorder {
|
||||
return m.recorder
|
||||
}
|
||||
|
||||
// Close mocks base method
|
||||
// Close mocks base method.
|
||||
func (m *MockStmt) Close() error {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "Close")
|
||||
@@ -146,13 +147,13 @@ func (m *MockStmt) Close() error {
|
||||
return ret0
|
||||
}
|
||||
|
||||
// Close indicates an expected call of Close
|
||||
// Close indicates an expected call of Close.
|
||||
func (mr *MockStmtMockRecorder) Close() *gomock.Call {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Close", reflect.TypeOf((*MockStmt)(nil).Close))
|
||||
}
|
||||
|
||||
// Exec mocks base method
|
||||
// Exec mocks base method.
|
||||
func (m *MockStmt) Exec(arg0 []driver.Value) (driver.Result, error) {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "Exec", arg0)
|
||||
@@ -161,13 +162,13 @@ func (m *MockStmt) Exec(arg0 []driver.Value) (driver.Result, error) {
|
||||
return ret0, ret1
|
||||
}
|
||||
|
||||
// Exec indicates an expected call of Exec
|
||||
// Exec indicates an expected call of Exec.
|
||||
func (mr *MockStmtMockRecorder) Exec(arg0 interface{}) *gomock.Call {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Exec", reflect.TypeOf((*MockStmt)(nil).Exec), arg0)
|
||||
}
|
||||
|
||||
// NumInput mocks base method
|
||||
// NumInput mocks base method.
|
||||
func (m *MockStmt) NumInput() int {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "NumInput")
|
||||
@@ -175,13 +176,13 @@ func (m *MockStmt) NumInput() int {
|
||||
return ret0
|
||||
}
|
||||
|
||||
// NumInput indicates an expected call of NumInput
|
||||
// NumInput indicates an expected call of NumInput.
|
||||
func (mr *MockStmtMockRecorder) NumInput() *gomock.Call {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "NumInput", reflect.TypeOf((*MockStmt)(nil).NumInput))
|
||||
}
|
||||
|
||||
// Query mocks base method
|
||||
// Query mocks base method.
|
||||
func (m *MockStmt) Query(arg0 []driver.Value) (driver.Rows, error) {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "Query", arg0)
|
||||
@@ -190,36 +191,36 @@ func (m *MockStmt) Query(arg0 []driver.Value) (driver.Rows, error) {
|
||||
return ret0, ret1
|
||||
}
|
||||
|
||||
// Query indicates an expected call of Query
|
||||
// Query indicates an expected call of Query.
|
||||
func (mr *MockStmtMockRecorder) Query(arg0 interface{}) *gomock.Call {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Query", reflect.TypeOf((*MockStmt)(nil).Query), arg0)
|
||||
}
|
||||
|
||||
// MockResult is a mock of Result interface
|
||||
// MockResult is a mock of Result interface.
|
||||
type MockResult struct {
|
||||
ctrl *gomock.Controller
|
||||
recorder *MockResultMockRecorder
|
||||
}
|
||||
|
||||
// MockResultMockRecorder is the mock recorder for MockResult
|
||||
// MockResultMockRecorder is the mock recorder for MockResult.
|
||||
type MockResultMockRecorder struct {
|
||||
mock *MockResult
|
||||
}
|
||||
|
||||
// NewMockResult creates a new mock instance
|
||||
// NewMockResult creates a new mock instance.
|
||||
func NewMockResult(ctrl *gomock.Controller) *MockResult {
|
||||
mock := &MockResult{ctrl: ctrl}
|
||||
mock.recorder = &MockResultMockRecorder{mock}
|
||||
return mock
|
||||
}
|
||||
|
||||
// EXPECT returns an object that allows the caller to indicate expected use
|
||||
// EXPECT returns an object that allows the caller to indicate expected use.
|
||||
func (m *MockResult) EXPECT() *MockResultMockRecorder {
|
||||
return m.recorder
|
||||
}
|
||||
|
||||
// LastInsertId mocks base method
|
||||
// LastInsertId mocks base method.
|
||||
func (m *MockResult) LastInsertId() (int64, error) {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "LastInsertId")
|
||||
@@ -228,13 +229,13 @@ func (m *MockResult) LastInsertId() (int64, error) {
|
||||
return ret0, ret1
|
||||
}
|
||||
|
||||
// LastInsertId indicates an expected call of LastInsertId
|
||||
// LastInsertId indicates an expected call of LastInsertId.
|
||||
func (mr *MockResultMockRecorder) LastInsertId() *gomock.Call {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "LastInsertId", reflect.TypeOf((*MockResult)(nil).LastInsertId))
|
||||
}
|
||||
|
||||
// RowsAffected mocks base method
|
||||
// RowsAffected mocks base method.
|
||||
func (m *MockResult) RowsAffected() (int64, error) {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "RowsAffected")
|
||||
@@ -243,36 +244,36 @@ func (m *MockResult) RowsAffected() (int64, error) {
|
||||
return ret0, ret1
|
||||
}
|
||||
|
||||
// RowsAffected indicates an expected call of RowsAffected
|
||||
// RowsAffected indicates an expected call of RowsAffected.
|
||||
func (mr *MockResultMockRecorder) RowsAffected() *gomock.Call {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RowsAffected", reflect.TypeOf((*MockResult)(nil).RowsAffected))
|
||||
}
|
||||
|
||||
// MockRows is a mock of Rows interface
|
||||
// MockRows is a mock of Rows interface.
|
||||
type MockRows struct {
|
||||
ctrl *gomock.Controller
|
||||
recorder *MockRowsMockRecorder
|
||||
}
|
||||
|
||||
// MockRowsMockRecorder is the mock recorder for MockRows
|
||||
// MockRowsMockRecorder is the mock recorder for MockRows.
|
||||
type MockRowsMockRecorder struct {
|
||||
mock *MockRows
|
||||
}
|
||||
|
||||
// NewMockRows creates a new mock instance
|
||||
// NewMockRows creates a new mock instance.
|
||||
func NewMockRows(ctrl *gomock.Controller) *MockRows {
|
||||
mock := &MockRows{ctrl: ctrl}
|
||||
mock.recorder = &MockRowsMockRecorder{mock}
|
||||
return mock
|
||||
}
|
||||
|
||||
// EXPECT returns an object that allows the caller to indicate expected use
|
||||
// EXPECT returns an object that allows the caller to indicate expected use.
|
||||
func (m *MockRows) EXPECT() *MockRowsMockRecorder {
|
||||
return m.recorder
|
||||
}
|
||||
|
||||
// Close mocks base method
|
||||
// Close mocks base method.
|
||||
func (m *MockRows) Close() error {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "Close")
|
||||
@@ -280,13 +281,13 @@ func (m *MockRows) Close() error {
|
||||
return ret0
|
||||
}
|
||||
|
||||
// Close indicates an expected call of Close
|
||||
// Close indicates an expected call of Close.
|
||||
func (mr *MockRowsMockRecorder) Close() *gomock.Call {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Close", reflect.TypeOf((*MockRows)(nil).Close))
|
||||
}
|
||||
|
||||
// Columns mocks base method
|
||||
// Columns mocks base method.
|
||||
func (m *MockRows) Columns() []string {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "Columns")
|
||||
@@ -294,13 +295,13 @@ func (m *MockRows) Columns() []string {
|
||||
return ret0
|
||||
}
|
||||
|
||||
// Columns indicates an expected call of Columns
|
||||
// Columns indicates an expected call of Columns.
|
||||
func (mr *MockRowsMockRecorder) Columns() *gomock.Call {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Columns", reflect.TypeOf((*MockRows)(nil).Columns))
|
||||
}
|
||||
|
||||
// Next mocks base method
|
||||
// Next mocks base method.
|
||||
func (m *MockRows) Next(arg0 []driver.Value) error {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "Next", arg0)
|
||||
@@ -308,7 +309,7 @@ func (m *MockRows) Next(arg0 []driver.Value) error {
|
||||
return ret0
|
||||
}
|
||||
|
||||
// Next indicates an expected call of Next
|
||||
// Next indicates an expected call of Next.
|
||||
func (mr *MockRowsMockRecorder) Next(arg0 interface{}) *gomock.Call {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Next", reflect.TypeOf((*MockRows)(nil).Next), arg0)
|
||||
|
||||
@@ -1,4 +1,8 @@
|
||||
// Code generated by go-enum DO NOT EDIT.
|
||||
// Version: example
|
||||
// Revision: example
|
||||
// Build Date: example
|
||||
// Built By: example
|
||||
|
||||
package example
|
||||
|
||||
|
||||
@@ -1,4 +1,8 @@
|
||||
// Code generated by go-enum DO NOT EDIT.
|
||||
// Version: example
|
||||
// Revision: example
|
||||
// Build Date: example
|
||||
// Built By: example
|
||||
|
||||
package example
|
||||
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
([]string) (len=3051) {
|
||||
([]string) (len=3055) {
|
||||
(string) (len=41) "// Code generated by go-enum DO NOT EDIT.",
|
||||
(string) (len=13) "// Version: -",
|
||||
(string) (len=14) "// Revision: -",
|
||||
(string) (len=16) "// Build Date: -",
|
||||
(string) (len=14) "// Built By: -",
|
||||
(string) "",
|
||||
(string) (len=17) "package generator",
|
||||
(string) "",
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
([]string) (len=1823) {
|
||||
([]string) (len=1827) {
|
||||
(string) (len=41) "// Code generated by go-enum DO NOT EDIT.",
|
||||
(string) (len=13) "// Version: -",
|
||||
(string) (len=14) "// Revision: -",
|
||||
(string) (len=16) "// Build Date: -",
|
||||
(string) (len=14) "// Built By: -",
|
||||
(string) "",
|
||||
(string) (len=17) "package generator",
|
||||
(string) "",
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
([]string) (len=989) {
|
||||
([]string) (len=993) {
|
||||
(string) (len=41) "// Code generated by go-enum DO NOT EDIT.",
|
||||
(string) (len=13) "// Version: -",
|
||||
(string) (len=14) "// Revision: -",
|
||||
(string) (len=16) "// Build Date: -",
|
||||
(string) (len=14) "// Built By: -",
|
||||
(string) "",
|
||||
(string) (len=17) "package generator",
|
||||
(string) "",
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
([]string) (len=989) {
|
||||
([]string) (len=993) {
|
||||
(string) (len=41) "// Code generated by go-enum DO NOT EDIT.",
|
||||
(string) (len=13) "// Version: -",
|
||||
(string) (len=14) "// Revision: -",
|
||||
(string) (len=16) "// Build Date: -",
|
||||
(string) (len=14) "// Built By: -",
|
||||
(string) "",
|
||||
(string) (len=17) "package generator",
|
||||
(string) "",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// Code generated by go-bindata. DO NOT EDIT.
|
||||
// sources:
|
||||
// enum.tmpl (8.266kB)
|
||||
// enum.tmpl (8.354kB)
|
||||
|
||||
package assets
|
||||
|
||||
@@ -69,7 +69,7 @@ func (fi bindataFileInfo) Sys() interface{} {
|
||||
return nil
|
||||
}
|
||||
|
||||
var _enumTmpl = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xe4\x19\x4d\x8f\xdb\xb8\xf5\x6c\xfd\x8a\x17\x21\xd9\x95\x5c\x47\x4e\xd1\xa2\x87\x2c\xe6\x10\x64\xd3\x60\x17\xcd\x24\xc0\xa4\x7b\x09\x82\x80\x96\x9e\xc6\xdc\x91\x48\x2d\x49\x79\xe4\xaa\xfa\xef\xc5\x23\x29\x59\xd6\xc8\x33\xd3\x74\x66\x83\x62\x2f\x86\x45\x3e\xbe\xef\x4f\xb2\x6d\x9f\x43\x86\x39\x17\x08\xe1\x16\x59\x86\x2a\xec\xba\x60\xbd\x86\xd7\x32\x43\xb8\x44\x81\x8a\x19\xcc\x60\xb3\x87\x4b\xf9\x1c\x45\x5d\xd2\xe6\x8f\xef\xe1\xfc\xfd\x47\x78\xf3\xe3\x4f\x1f\x9f\x04\x41\xc5\xd2\x2b\x76\x89\xd0\xb6\x89\xff\xdb\x75\x41\xc0\xcb\x4a\x2a\x03\x51\x00\x00\x10\xe6\xa5\x09\x83\x38\x68\x5b\x14\x19\x3c\xa7\xfd\x31\x65\xc2\x4b\x74\x53\x29\x34\x1d\xa1\xbd\xa7\xb4\x78\xce\x4a\x84\x97\x67\x90\xd0\x47\x62\xbf\xe8\xb0\xdd\xdf\x31\xa5\x69\x2f\xe3\xa9\x81\xb0\x60\xda\xc8\x3c\xd7\x68\x42\x78\xe1\x81\x40\x31\x71\x89\xf0\x54\xfd\x24\x32\x6c\x56\x74\xa4\xa8\x47\xf8\x7e\xa1\x4f\x0d\x5d\x17\x2c\x2c\x46\xc2\xf1\xde\xe2\x20\x98\xaa\xa8\xd3\xab\x63\xc4\x8e\xe6\xbf\x21\xe7\x4a\x1b\xe8\xba\xb6\x85\xa7\x72\x38\xa0\xeb\x8d\x27\xe1\x30\xf7\x84\x3d\x01\xe0\x39\xe0\x6f\x3d\x84\x95\x25\xfc\x12\x76\xdd\x7a\x0d\x17\x57\xbc\xaa\x30\x03\xb7\xd5\xb6\x58\x68\xb4\x1b\x6d\xeb\xc1\x3f\x28\xcc\x79\x83\x19\x1d\xeb\x3a\xe0\x1a\x18\x6d\xf6\x3a\xea\x3a\x90\x39\x98\x7d\x85\x87\x23\x6e\x3d\xb1\x2a\xef\x45\xe4\x79\x4f\xff\xb5\x2c\x4b\x14\x86\x36\xc6\x74\x46\xcb\x04\xef\x8e\x92\x05\x4f\x71\x72\x90\xcb\x0b\xfb\xc2\xea\x65\xcc\xd9\x19\x70\x69\x98\x03\x14\x08\x2f\x06\x9d\x75\x1d\xfc\x09\x46\x3a\xa4\x83\x96\xa2\xd3\x80\x87\x1f\x9b\x65\x0c\x79\x93\xc4\x49\x6c\x4f\xbf\x58\xfb\x10\x02\x6b\xc1\x63\xa3\xba\x3f\xde\xad\x9c\xc4\x31\xf9\x27\x18\x2c\xab\x82\x19\x84\x50\x1b\xc5\xc5\x25\xaa\x10\x12\xb2\x26\xc5\xc0\x07\xa6\x34\xb6\xed\xc1\x33\xbb\x0e\x98\xa1\x23\x46\x83\x91\x90\x4a\xb1\x43\x65\x80\x81\x3b\x4c\x6b\x64\xb3\xf1\x81\x20\xaf\x45\x3a\x87\x29\x12\xe4\x1e\xee\x60\x0c\xd1\xf1\xe6\x0a\x50\x29\xa9\x62\x68\x83\x05\xcf\xa1\x59\x81\xbc\x22\xf9\xbe\x1c\x83\x59\x1f\xfc\x44\x88\x3e\xff\x40\x10\x6d\xb0\x58\x28\x34\xb5\x12\x74\x44\xf0\x22\x58\x74\x6d\xcb\x73\x48\x84\x4c\x99\x46\xf0\xbe\xf0\x9a\xfe\x73\xa1\x51\x68\x6e\xf8\x0e\xa1\x22\xfe\x56\x90\x11\xff\x1a\x2b\x46\x19\x01\x0a\x29\xaf\xea\x8a\x84\xaa\x14\xee\x50\x18\xa8\x85\xc0\x14\xb5\x66\x6a\x0f\xa9\xd4\x86\x3c\xb2\x90\xd7\xa8\x52\xa6\x49\xfe\x41\x11\x3c\x87\x6b\x84\x4c\x8a\xef\x0d\x08\xc4\x0c\x8c\x4c\xee\x21\x89\x3b\xad\x93\x8f\xf2\x1f\x84\xd5\xaa\x28\xbe\x4d\xb4\xde\x98\x0b\x2f\x25\x2b\x51\xdb\xcc\xd0\xc3\x4e\x74\xfe\x22\x5e\x41\x5e\x9a\xe4\x0d\x69\x37\x8f\xc2\x67\x9a\xe2\x4c\x48\xb2\xe1\x8e\x15\x3c\x83\xa9\x1d\x8c\xda\xc3\xa7\x67\xfa\x73\xb8\x02\xc2\xbe\x82\x9e\xc7\x9f\x25\x17\xd1\x44\x0a\xfa\xd5\x2b\x08\x57\x10\xc6\xb1\x0f\x2f\xf2\xf2\x07\xe4\xc8\xf3\x11\x8f\x83\xd7\xa6\x5a\xd2\x79\x52\x19\x05\xbd\xcf\x45\xcd\xe4\x68\x0c\x1f\x8c\x8a\x62\x58\x4e\x5c\xba\x1d\x78\xfb\xae\x09\xba\xa0\xcf\x26\x3d\xce\x92\x29\xbd\x65\x05\xb8\xa2\xf1\xce\x7d\x7d\xc4\xc6\x00\x2f\xab\x02\x29\x97\x68\x30\x5b\x04\x43\x6b\x1e\xba\x40\x05\x25\x9a\xad\xcc\x4e\x32\x33\xc2\x14\xc5\x10\x7d\xfa\xbc\xd9\x1b\x1c\x3b\xbe\x67\xca\x6d\x44\x4d\x72\x61\x35\x1f\xc5\xb1\xb3\xbf\x8b\xd1\x7f\x8a\xf2\x0e\x8e\x6a\x71\x9a\xa7\xe5\x94\xa9\x23\x74\x91\x3d\xef\xe8\xc7\x8e\x31\xe2\x4b\xf8\x8a\xe5\x3c\xc1\x02\xc5\xc1\xc2\x94\x95\x65\x9e\x76\x4e\x85\x7b\x6c\x63\x80\x80\x9e\x9c\x91\x0c\x63\xaf\x46\xa5\x82\x45\x17\x2c\x96\x0d\x9c\x81\x29\xab\x41\x7e\x27\xeb\xc4\x2a\x52\x41\xa2\x7f\x2b\xec\x8f\xa8\x8b\x82\x0b\x33\xfc\xd7\x46\x75\x5d\xb0\x63\x6a\x1a\x64\x6f\x94\x3a\xe7\xc5\x07\xa3\xe0\xcc\x49\xa3\x93\x73\xbc\x8e\x42\x57\x33\x2b\xc9\x85\x41\x65\xdd\x8f\x17\x61\x0c\xeb\x35\x48\x81\x50\xa1\x72\x65\x27\x97\x0a\xfa\x46\x20\x2d\x98\xde\xa2\xb6\x26\xb8\x48\x99\x98\x6a\x9e\xd6\x04\x21\x23\x94\x39\x4b\x31\x39\xad\x73\x82\x8d\x1c\x0f\x03\x78\xdb\xc5\x10\x91\xa2\x8e\xf2\xa0\x03\x3a\x3b\xe8\xce\x2a\xeb\x46\x44\x0d\x4a\x25\x85\xda\x84\xf7\x0a\xae\x79\x86\xca\x77\x0b\x32\x07\x4d\xfc\xb1\x4d\x81\x56\x34\x9d\x58\xa8\x4c\xf1\x1d\x2a\x5f\xd9\x77\xae\x73\x60\xc6\x79\x92\xac\x6c\xf9\xdd\x22\x14\x5c\x1b\xab\x0b\x6c\x2a\xcc\x38\x8a\x74\x1f\x2c\xf4\x35\x37\xe9\x16\x76\x64\x7d\x57\x44\x23\x42\x6c\x19\x4f\x5d\xb6\x35\x7f\xfb\xeb\xcb\x13\x2c\xef\x62\x0f\xe5\x5c\xca\x81\x39\x6f\x9a\x77\xa6\x5d\xec\x12\xde\xc8\xfa\x94\x62\x66\xbc\x8b\xe4\xa2\x1c\x46\x19\xde\x96\xa8\xad\xd3\xf2\x25\x2a\xaf\x4e\xa6\x87\xbc\x4d\xf0\x4e\xcd\x2b\xd8\x79\x5f\xd6\x46\x51\x9d\x4b\x5e\x19\xc9\xa3\x5d\xfc\x83\xdb\x18\xd9\x60\xcc\xeb\x94\x4d\x56\xf8\x60\x5d\x2c\xc8\xb7\x17\xdd\xd0\xaa\x58\x71\x5d\x68\xdd\x2d\xae\x8f\xb4\x5d\xfc\x8d\xc4\x3e\xd0\x7f\x50\xf1\x8f\xc1\x07\xe7\xd8\x1d\x5c\xe6\x4e\x87\x59\xde\xc4\x41\x92\x78\x06\x2d\x7f\x3e\x8d\x9c\xca\x05\x81\x63\xcd\x52\x59\xf6\xa4\xeb\xfb\xd0\xae\xef\xe7\xd3\x4b\x8f\xeb\x7f\xe0\x6b\x82\x7a\x79\x84\xdb\xb1\xf0\x18\xd8\xf3\x42\x32\x42\x4f\x99\xf0\x57\x2d\x45\x5f\xdc\x34\xe0\x0e\xd5\xde\x6c\x6d\xcf\x43\x7e\xe4\x21\x29\x33\x73\xf3\x3d\xad\x88\xba\xdc\xa0\xba\x53\x37\x0f\x42\xe2\x51\x34\x5b\x3f\xa6\xd9\xea\x47\xb5\xdb\xf2\x90\x46\xbLine truncated
|
||||
var _enumTmpl = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xe4\x59\xdf\x8f\xdb\xb8\xf1\x7f\xb6\xfe\x8a\x89\x91\xdc\x49\xfe\x3a\x72\xbe\x68\xd1\x87\x1c\xf6\x21\x4d\xd2\xe0\x0e\xcd\x26\xe8\xa6\x79\x59\x04\x01\x2d\x8d\xd6\xbc\x95\x48\x1d\x49\xd9\x72\x55\xfd\xef\xc5\x90\x94\x2c\x6b\xe5\xdd\x6d\xba\x7b\x41\xd1\x17\xc3\x12\x87\xc3\xf9\xcc\xef\xa1\x9a\xe6\x39\xa4\x98\x71\x81\x30\xdf\x20\x4b\x51\xcd\xdb\x36\x58\xad\xe0\xb5\x4c\x11\xae\x50\xa0\x62\x06\x53\x58\xef\xe1\x4a\x3e\x47\x51\x15\xb4\xf8\x19\x95\xe6\x52\xbc\x84\xa6\x81\x78\xeb\x1e\xc0\xed\xfb\x1b\x6e\xf9\x61\x4d\xf9\x27\xbf\xf8\xe7\x8a\xe7\x29\xbc\x61\x06\xdd\xf2\x9a\x9e\xe9\xd1\xaf\xbf\xf9\x00\xe7\x1f\x3e\xc1\xdb\x37\x3f\x7f\x7a\x12\x04\x25\x4b\xae\xd9\x15\x42\xd3\xc4\xfe\x6f\xdb\x06\x01\x2f\x4a\xa9\x0c\x84\x01\x00\xc0\x3c\x2b\xcc\x3c\x88\x82\xa6\x41\x91\xc2\x73\x5a\x1f\x22\x22\x79\x09\x4f\x22\x85\xa6\x2d\xb4\xf6\x94\x5e\x9e\xb3\x02\xe1\xe5\x19\xc4\xf4\x10\xdb\x27\xda\x6c\xd7\xb7\x4c\x69\x5a\x4b\x79\x62\x60\x9e\x33\x6d\x64\x96\x69\x34\x73\x78\xe1\x89\x40\x31\x71\x85\xf0\x54\xfd\x2c\x52\xac\x97\xb4\x25\xaf\x06\xfc\x3e\xd3\xa3\x26\x4c\x33\xcb\x91\x78\x7c\xb0\x3c\x88\xa6\xcc\xab\xe4\xfa\x98\xb1\x3b\xf3\x9f\x90\x71\xa5\x0d\xb4\x6d\xd3\xc0\x53\xd9\x6f\xd0\xd5\xda\x1f\xe1\x38\x77\x07\xfb\x03\x80\x67\x80\xbf\x75\x14\x16\xcb\xfc\xeb\xbc\x6d\x57\x2b\xb8\xb8\xe6\x65\x89\x29\xb8\xa5\xa6\xc1\x5c\xa3\x5d\x68\x1a\x4f\xfe\x51\x61\xc6\x6b\x4c\x69\x5b\xdb\x02\xd7\xc0\x68\xb1\xd3\x51\xdb\x82\xcc\xc0\xec\x4b\x3c\x6c\x71\xef\x63\xab\xf2\x0e\x22\xcf\xba\xf3\x5f\xcb\xa2\x40\x61\x68\x61\x78\xce\xe0\x35\xd1\xbb\xad\x64\xc1\x53\x92\x1c\x70\x79\xb0\x2f\xac\x5e\x86\x92\x9d\x01\x97\x86\x39\x42\x81\xf0\xa2\xd7\x59\xdb\xc2\xff\xc1\x40\x87\xb4\xd1\x9e\xe8\x34\xe0\xe9\x87\x66\x19\x52\xde\x3c\xe2\x24\xb7\xa7\x5f\xad\x7d\x88\x81\xb5\xe0\xb1\x51\xdd\x1f\xef\x56\x0e\x71\x44\xfe\x09\x06\x8b\x32\x27\xaf\x9f\x6b\xa3\xb8\xb8\x42\x35\x87\x98\xac\x49\x31\xf0\x91\x29\x8d\x4d\x73\xf0\xcc\xb6\x05\x66\x68\x8b\xd1\x60\x24\x24\x52\x6c\x51\x19\x60\xe0\x36\xd3\x3b\xb2\xd9\x70\x43\x90\x55\x22\x99\xe2\x14\x0a\x72\x0f\xb7\x31\x82\xf0\x78\x71\x09\xa8\x94\x54\x11\x34\xc1\x8c\x67\x50\x2f\x41\x5e\x13\xbe\xaf\xc7\x64\xd6\x07\x2f\x89\xd1\x97\x9f\x88\xa2\x09\x66\x33\x85\xa6\x52\x82\xb6\x08\x9e\x07\xb3\xb6\x69\x78\x06\xb1\x90\x09\xd3\x36\xb6\xc9\x17\x5e\xd3\x7f\x2e\x34\x0a\xcd\x0d\xdf\x22\x94\x24\xdf\x12\x52\x92\x5f\x63\xc9\x28\xd3\x40\x2e\xe5\x75\x55\x12\xa8\x52\xe1\x16\x85\x81\x4a\x08\x4c\x50\x6b\xa6\xf6\x90\x48\x6d\xc8\x23\x73\xb9\x43\x95\x30\x4d\xf8\x7b\x45\xf0\x0c\x76\x08\xa9\x14\x3f\x1a\x10\x88\x29\x18\x19\xdf\x03\x89\xdb\xad\xe3\x4f\xf2\xaf\xc4\xd5\xaa\x28\xba\x0d\x5a\x67\xcc\x99\x47\xc9\x0a\xd4\x36\x33\x74\xb4\x23\x9d\xbf\x88\x96\x90\x15\x26\x7e\x4b\xda\xcd\xc2\xf9\x33\x4d\x71\x26\x24\xd9\x70\xcb\x72\x9e\xc2\xd8\x0e\x46\xed\xe1\xf2\x99\xfe\x32\x5f\x02\x71\x5f\x42\x27\xe3\x2f\x92\x8b\x70\x84\x82\x7e\xf5\x12\xe6\x4b\x98\x47\x91\x0f\x2f\xf2\xf2\x07\x94\xc8\xcb\x11\x0d\x83\xd7\xa6\x5a\xd2\x79\x5c\x1a\x05\x9d\xcf\x85\xf5\x68\x6b\x04\x1f\x8d\x0a\x23\x58\x8c\x5c\xba\xe9\x65\xfb\xa1\x0e\xda\xa0\xcb\x26\x1d\xcf\x82\x29\xbd\x61\xb9\xaf\x0b\xef\xdd\xd3\x27\xac\x0d\xf0\xa2\xcc\x91\x72\x89\x06\xb3\x41\x30\xf4\xce\x53\xe7\xa8\xa0\x40\xb3\x91\xe9\x49\x61\x06\x9c\xc2\x08\xc2\xcb\x2f\xeb\xbd\xc1\xa1\xe3\x7b\xa1\xdc\x42\x58\xc7\x17\x56\xf3\x61\x14\x39\xfb\xbb\x18\xfd\xbb\x28\xee\x90\xa8\x12\xa7\x65\x5a\x8c\x85\x3a\x62\x17\xda\xfd\xee\xfc\xc8\x09\x46\x72\x09\x5f\xb1\x9c\x27\x58\xa2\x28\x98\x99\xa2\xb4\xc2\xd3\xca\xa9\x70\x8f\x6c\x0c\x10\xd1\x93\x33\xc2\x30\xf4\x6a\x54\x2a\x98\xb5\xc1\x6c\x51\xc3\x19\x98\xa2\xec\xf1\x3b\xac\x23\xab\x48\x05\xb1\xfe\x2d\xb7\x3f\xa2\xca\x73\x2e\x4c\xff\x5f\x1b\xd5\xb6\xc1\x96\xa9\x71\x90\xbd\x55\xea\x9c\xe7\x1f\x8d\x82\x33\x87\x46\xc7\xe7\xb8\x0b\xe7\xae\x66\x96\x92\x0b\x83\xca\xba\x1f\xcf\xe7\x11\xac\x56\x20\x05\x42\x89\xca\x95\x9d\x4c\x2a\xe8\x1a\x81\x24\x67\x7a\x83\xda\x9a\xe0\x22\x61\x62\xac\x79\x7a\x27\x88\x19\xb1\xcc\x58\x82\xf1\x69\x9d\x13\x6d\xe8\x64\xe8\xc9\x9b\x36\x82\x90\x14\x75\x94\x07\x1d\xd1\xd9\x41\x77\x56\x59\x37\x22\xaa\x57\x2a\x29\xd4\x26\xbc\x57\xb0\xe3\x29\x2a\xdf\x2d\xc8\x0c\x34\xc9\xc7\xd6\x39\x5a\x68\x3a\xb6\x54\xa9\xe2\x5b\x54\xbe\xb2\x6f\x5d\xe7\xc0\x8c\xf3\x24\x59\xda\xf2\xbb\x41\xc8\xb9\x36\x56\x17\x58\x97\x98\x72\x14\xc9\x3e\x98\xe9\x1d\x37\xc9\x06\xb6\x64\x7d\x57\x44\x43\x62\x6c\x05\x4f\x5c\xb6\x35\x7f\xfa\xe3\xcb\x13\x22\x6f\x23\x4f\xe5\x5c\xca\x91\x39\x6f\x9a\x76\xa6\x6d\xe4\x12\xde\xc0\xfa\x94\x62\x26\xbc\x8b\x70\x51\x0e\xa3\x0c\x6f\x4b\xd4\xc6\x69\xf9\x0a\x95\x57\x27\xd3\x7d\xde\x26\x7a\xa7\xe6\x25\x6c\xbd\x2f\x6b\xa3\xa8\xce\xc5\xaf\x8c\xe4\xe1\x36\xfa\xc9\x2d\x0c\x6c\x30\x94\x75\x2c\x26\xcb\x7d\xb0\xce\x66\xe4\xdb\xb3\xb6\x6f\x55\x2c\x5c\x17\x5a\x77\xc3\xf5\x91\xb6\x8d\xbe\x13\xec\xc3\xf9\x0f\x0a\xff\x98\xbc\x77\x8e\xed\xc1\x65\xee\x74\x98\xc5\x4d\x1e\x84\xc4\x0b\x68\xe5\xf3\x69\xe4\x54\x2e\x08\x9c\x68\xf6\x94\x45\x77\x74\x75\x9f\xb3\xab\xfb\xf9\xf4\xc2\xf3\xfa\x0f\xe4\x1a\xb1\x5e\x1c\xf1\x76\x22\x3c\x06\xf7\x2c\x97\x8c\xd8\x53\x26\xfc\x55\x4b\xd1\x15\x37\x0Line truncated
|
||||
|
||||
func enumTmplBytes() ([]byte, error) {
|
||||
return bindataRead(
|
||||
@@ -85,7 +85,7 @@ func enumTmpl() (*asset, error) {
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "enum.tmpl", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x93, 0xaa, 0xca, 0xe1, 0xd6, 0x4c, 0x4e, 0x87, 0x6b, 0x96, 0x6, 0xa, 0x6b, 0xcb, 0x25, 0xc1, 0xff, 0xb2, 0x79, 0xe3, 0x66, 0x2f, 0xd, 0x43, 0x6b, 0x41, 0xea, 0x4d, 0xb1, 0x67, 0x76, 0xbe}}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x7a, 0x85, 0x1, 0x7f, 0x8a, 0xb9, 0x0, 0xfb, 0x6, 0xce, 0xa8, 0xb4, 0xc9, 0xc5, 0xcb, 0x69, 0xad, 0x6d, 0xbd, 0x9c, 0xe4, 0x51, 0xf6, 0x29, 0x5e, 0xa6, 0x99, 0x7c, 0x4e, 0x68, 0xc4, 0x46}}
|
||||
return a, nil
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
{{- define "header"}}
|
||||
// Code generated by go-enum DO NOT EDIT.
|
||||
// Version: {{ .version }}
|
||||
// Revision: {{ .revision }}
|
||||
// Build Date: {{ .buildDate }}
|
||||
// Built By: {{ .builtBy }}
|
||||
|
||||
package {{.package}}
|
||||
|
||||
|
||||
+15
-1
@@ -25,6 +25,10 @@ const (
|
||||
|
||||
// Generator is responsible for generating validation files for the given in a go source file.
|
||||
type Generator struct {
|
||||
Version string
|
||||
Revision string
|
||||
BuildDate string
|
||||
BuiltBy string
|
||||
t *template.Template
|
||||
knownTemplates map[string]*template.Template
|
||||
userTemplateNames []string
|
||||
@@ -64,6 +68,10 @@ type EnumValue struct {
|
||||
// templates loaded.
|
||||
func NewGenerator() *Generator {
|
||||
g := &Generator{
|
||||
Version: "-",
|
||||
Revision: "-",
|
||||
BuildDate: "-",
|
||||
BuiltBy: "-",
|
||||
knownTemplates: make(map[string]*template.Template),
|
||||
userTemplateNames: make([]string, 0),
|
||||
t: template.New("generator"),
|
||||
@@ -193,7 +201,13 @@ func (g *Generator) Generate(f *ast.File) ([]byte, error) {
|
||||
pkg := f.Name.Name
|
||||
|
||||
vBuff := bytes.NewBuffer([]byte{})
|
||||
err := g.t.ExecuteTemplate(vBuff, "header", map[string]interface{}{"package": pkg})
|
||||
err := g.t.ExecuteTemplate(vBuff, "header", map[string]interface{}{
|
||||
"package": pkg,
|
||||
"version": g.Version,
|
||||
"revision": g.Revision,
|
||||
"buildDate": g.BuildDate,
|
||||
"builtBy": g.BuiltBy,
|
||||
})
|
||||
if err != nil {
|
||||
return nil, errors.WithMessage(err, "Failed writing header")
|
||||
}
|
||||
|
||||
@@ -3,27 +3,29 @@ module github.com/abice/go-enum
|
||||
go 1.16
|
||||
|
||||
require (
|
||||
github.com/Masterminds/goutils v1.1.0 // indirect
|
||||
github.com/Masterminds/goutils v1.1.1 // indirect
|
||||
github.com/Masterminds/semver v1.5.0 // indirect
|
||||
github.com/Masterminds/sprig v2.22.0+incompatible
|
||||
github.com/bradleyjkemp/cupaloy v2.2.0+incompatible
|
||||
github.com/cpuguy83/go-md2man/v2 v2.0.0 // indirect
|
||||
github.com/davecgh/go-spew v1.1.1 // indirect
|
||||
github.com/golang/mock v1.6.0
|
||||
github.com/google/uuid v1.1.2 // indirect
|
||||
github.com/google/uuid v1.2.0 // indirect
|
||||
github.com/huandu/xstrings v1.3.2 // indirect
|
||||
github.com/imdario/mergo v0.3.11 // indirect
|
||||
github.com/imdario/mergo v0.3.12 // indirect
|
||||
github.com/kevinburke/go-bindata v3.22.0+incompatible
|
||||
github.com/kr/pretty v0.2.1 // indirect
|
||||
github.com/kr/text v0.2.0 // indirect
|
||||
github.com/labstack/gommon v0.3.0
|
||||
github.com/mattn/go-colorable v0.1.8 // indirect
|
||||
github.com/mattn/goveralls v0.0.9
|
||||
github.com/mitchellh/copystructure v1.0.0 // indirect
|
||||
github.com/mitchellh/reflectwalk v1.0.1 // indirect
|
||||
github.com/mitchellh/copystructure v1.1.2 // indirect
|
||||
github.com/pkg/errors v0.9.1
|
||||
github.com/spf13/pflag v1.0.5
|
||||
github.com/stretchr/testify v1.7.0
|
||||
github.com/urfave/cli/v2 v2.3.0
|
||||
golang.org/x/crypto v0.0.0-20201112155050-0c6587e931a9 // indirect
|
||||
golang.org/x/crypto v0.0.0-20210506145944-38f3c27a63bf // indirect
|
||||
golang.org/x/tools v0.1.5
|
||||
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 // indirect
|
||||
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect
|
||||
gopkg.in/yaml.v2 v2.4.0 // indirect
|
||||
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect
|
||||
)
|
||||
@@ -1,32 +1,35 @@
|
||||
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
|
||||
github.com/Masterminds/goutils v1.1.0 h1:zukEsf/1JZwCMgHiK3GZftabmxiCw4apj3a28RPBiVg=
|
||||
github.com/Masterminds/goutils v1.1.0/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU=
|
||||
github.com/Masterminds/goutils v1.1.1 h1:5nUrii3FMTL5diU80unEVvNevw1nH4+ZV4DSLVJLSYI=
|
||||
github.com/Masterminds/goutils v1.1.1/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU=
|
||||
github.com/Masterminds/semver v1.5.0 h1:H65muMkzWKEuNDnfl9d70GUjFniHKHRbFPGBuZ3QEww=
|
||||
github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y=
|
||||
github.com/Masterminds/sprig v2.22.0+incompatible h1:z4yfnGrZ7netVz+0EDJ0Wi+5VZCSYp4Z0m2dk6cEM60=
|
||||
github.com/Masterminds/sprig v2.22.0+incompatible/go.mod h1:y6hNFY5UBTIWBxnzTeuNhlNS5hqE0NB0E6fgfo2Br3o=
|
||||
github.com/bradleyjkemp/cupaloy v2.2.0+incompatible h1:Ed7uOEn/o3DIox3PV//SmtXnNO9yPZDdP9wZ0bdcEtI=
|
||||
github.com/bradleyjkemp/cupaloy v2.2.0+incompatible/go.mod h1:Au1Xw1sgaJ5iSFktEhYsS0dbQiS1B0/XMXl+42y9Ilk=
|
||||
github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d h1:U+s90UTSYgptZMwQh2aRr3LuazLJIa+Pg3Kc1ylSYVY=
|
||||
github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
|
||||
github.com/cpuguy83/go-md2man/v2 v2.0.0 h1:EoUDS0afbrsXAZ9YQ9jdu/mZ2sXgT1/2yyNng4PGlyM=
|
||||
github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
|
||||
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
|
||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
||||
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc=
|
||||
github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs=
|
||||
github.com/google/uuid v1.1.2 h1:EVhdT+1Kseyi1/pUmXKaFxYsDNy9RQYkMWRH68J/W7Y=
|
||||
github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
||||
github.com/google/uuid v1.2.0 h1:qJYtXnJRWmpe7m/3XlyhrsLrEURqHRM2kxzoxXqyUDs=
|
||||
github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
||||
github.com/huandu/xstrings v1.3.2 h1:L18LIDzqlW6xN2rEkpdV8+oL/IXWJ1APd+vsdYy4Wdw=
|
||||
github.com/huandu/xstrings v1.3.2/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE=
|
||||
github.com/imdario/mergo v0.3.11 h1:3tnifQM4i+fbajXKBHXWEH+KvNHqojZ778UH75j3bGA=
|
||||
github.com/imdario/mergo v0.3.11/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA=
|
||||
github.com/imdario/mergo v0.3.12 h1:b6R2BslTbIEToALKP7LxUvijTsNI9TAe80pLWN2g/HU=
|
||||
github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA=
|
||||
github.com/kevinburke/go-bindata v3.22.0+incompatible h1:/JmqEhIWQ7GRScV0WjX/0tqBrC5D21ALg0H0U/KZ/ts=
|
||||
github.com/kevinburke/go-bindata v3.22.0+incompatible/go.mod h1:/pEEZ72flUW2p0yi30bslSp9YqD9pysLxunQDdb2CPM=
|
||||
github.com/kr/pretty v0.2.1 h1:Fmg33tUaq4/8ym9TJN1x7sLJnHVwhP33CNkpYV/7rwI=
|
||||
github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
|
||||
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
|
||||
github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
|
||||
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
|
||||
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
|
||||
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
|
||||
github.com/labstack/gommon v0.3.0 h1:JEeO0bvc78PKdyHxloTKiF8BD5iGrH8T6MSeGvSgob0=
|
||||
github.com/labstack/gommon v0.3.0/go.mod h1:MULnywXg0yavhxWKc+lOruYdAhDwPK9wf0OL7NoOu+k=
|
||||
github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE=
|
||||
@@ -38,9 +41,8 @@ github.com/mattn/go-isatty v0.0.12 h1:wuysRhFDzyxgEmMf5xjvJ2M9dZoWAXNNr5LSBS7uHX
|
||||
github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=
|
||||
github.com/mattn/goveralls v0.0.9 h1:XmIwwrO9a9pqSW6IpI89BSCShzQxx0j/oKnnvELQNME=
|
||||
github.com/mattn/goveralls v0.0.9/go.mod h1:FRbM1PS8oVsOe9JtdzAAXM+DsvDMMHcM1C7drGJD8HY=
|
||||
github.com/mitchellh/copystructure v1.0.0 h1:Laisrj+bAB6b/yJwB5Bt3ITZhGJdqmxquMKeZ+mmkFQ=
|
||||
github.com/mitchellh/copystructure v1.0.0/go.mod h1:SNtv71yrdKgLRyLFxmLdkAbkKEFWgYaq1OVrnRcwhnw=
|
||||
github.com/mitchellh/reflectwalk v1.0.0/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw=
|
||||
github.com/mitchellh/copystructure v1.1.2 h1:Th2TIvG1+6ma3e/0/bopBKohOTY7s4dA8V2q4EUcBJ0=
|
||||
github.com/mitchellh/copystructure v1.1.2/go.mod h1:EBArHfARyrSWO/+Wyr9zwEkc6XMFB9XyNgFNmRkZZU4=
|
||||
github.com/mitchellh/reflectwalk v1.0.1 h1:FVzMWA5RllMAKIdUSC8mdWo3XtwoecrH79BY70sEEpE=
|
||||
github.com/mitchellh/reflectwalk v1.0.1/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw=
|
||||
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
|
||||
@@ -64,12 +66,13 @@ github.com/valyala/fasttemplate v1.0.1/go.mod h1:UQGH1tvbgY+Nz5t2n7tXsz52dQxojPU
|
||||
github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
|
||||
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
||||
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||
golang.org/x/crypto v0.0.0-20201112155050-0c6587e931a9 h1:umElSU9WZirRdgu2yFHY0ayQkEnKiOC1TtM3fWXFnoU=
|
||||
golang.org/x/crypto v0.0.0-20201112155050-0c6587e931a9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
||||
golang.org/x/crypto v0.0.0-20210506145944-38f3c27a63bf h1:B2n+Zi5QeYRDAEodEu72OS36gmTWjgpXr2+cWcBW90o=
|
||||
golang.org/x/crypto v0.0.0-20210506145944-38f3c27a63bf/go.mod h1:P+XmwS30IXTQdn5tA2iutPOUgjI07+tq3H3K9MVA1s8=
|
||||
golang.org/x/mod v0.4.2 h1:Gz96sIWK3OalVv/I/qNygP42zyoKp3xptRVCWRFEBvo=
|
||||
golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
||||
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
|
||||
golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
|
||||
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
@@ -96,11 +99,13 @@ golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8T
|
||||
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE=
|
||||
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY=
|
||||
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
|
||||
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
|
||||
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
||||
gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
||||
gopkg.in/yaml.v2 v2.3.0 h1:clyUAQHOM3G0M3f5vQj7LuJrETvjVot3Z5el9nffUtU=
|
||||
gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
||||
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo=
|
||||
gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
|
||||
gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
|
||||
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo=
|
||||
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||
@@ -13,6 +13,13 @@ import (
|
||||
"github.com/urfave/cli/v2"
|
||||
)
|
||||
|
||||
var (
|
||||
version string
|
||||
commit string
|
||||
date string
|
||||
builtBy string
|
||||
)
|
||||
|
||||
type rootT struct {
|
||||
FileNames cli.StringSlice
|
||||
NoPrefix bool
|
||||
@@ -121,6 +128,10 @@ func main() {
|
||||
for _, fileOption := range argv.FileNames.Value() {
|
||||
|
||||
g := generator.NewGenerator()
|
||||
g.Version = version
|
||||
g.Revision = commit
|
||||
g.BuildDate = date
|
||||
g.BuiltBy = builtBy
|
||||
|
||||
if argv.NoPrefix {
|
||||
g.WithNoPrefix()
|
||||
|
||||
Reference in new issue
Block a user