feat(goctl): better generate the api code of typescript (#2483)

This commit is contained in:
foliet
2022-10-11 22:19:22 +08:00
committed by GitHub
parent 74cc6b55e8
commit 799c118d95
4 changed files with 88 additions and 1 deletions

View File

@@ -0,0 +1,38 @@
package tsgen
import (
"github.com/stretchr/testify/assert"
"github.com/zeromicro/go-zero/tools/goctl/api/spec"
"testing"
)
func TestGenTsType(t *testing.T) {
member := spec.Member{
Name: "foo",
Type: spec.PrimitiveType{RawName: "string"},
Tag: `json:"foo,options=foo|bar|options|123"`,
Comment: "",
Docs: nil,
IsInline: false,
}
ty, err := genTsType(member)
if err != nil {
t.Fatal(err)
}
assert.Equal(t, `'foo' | 'bar' | 'options' | '123'`, ty)
member.IsInline = true
ty, err = genTsType(member)
if err != nil {
t.Fatal(err)
}
assert.Equal(t, `'foo' | 'bar' | 'options' | '123'`, ty)
member.Type = spec.PrimitiveType{RawName: "int"}
member.Tag = `json:"foo,options=1|3|4|123"`
ty, err = genTsType(member)
if err != nil {
t.Fatal(err)
}
assert.Equal(t, `1 | 3 | 4 | 123`, ty)
}