本文整理汇总了Golang中github.com/attic-labs/noms/types.MakeType函数的典型用法代码示例。如果您正苦于以下问题:Golang MakeType函数的具体用法?Golang MakeType怎么用?Golang MakeType使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了MakeType函数的19个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: init
// This function builds up a Noms value that describes the type
// package implemented by this file and registers it with the global
// type package definition cache.
func init() {
p := types.NewPackage([]types.Type{
types.MakeEnumType("QuarterEnum", "Q1", "Q2", "Q3", "Q4"),
types.MakeStructType("Quarter",
[]types.Field{
types.Field{"Year", types.MakePrimitiveType(types.Int32Kind), false},
types.Field{"Quarter", types.MakeType(ref.Ref{}, 0), false},
},
types.Choices{},
),
types.MakeStructType("Key",
[]types.Field{},
types.Choices{
types.Field{"Category", types.MakePrimitiveType(types.StringKind), false},
types.Field{"Quarter", types.MakeType(ref.Ref{}, 1), false},
types.Field{"Region", types.MakePrimitiveType(types.StringKind), false},
types.Field{"RoundType", types.MakeType(ref.Ref{}, 3), false},
types.Field{"Year", types.MakePrimitiveType(types.Int32Kind), false},
},
),
types.MakeEnumType("RoundTypeEnum", "Seed", "SeriesA", "SeriesB", "SeriesC", "SeriesD", "SeriesE", "SeriesF", "SeriesG", "SeriesH", "UnknownRoundType"),
}, []ref.Ref{
ref.Parse("sha1-6c64b08a509e25f9814dbf036489267c957a6fd8"),
ref.Parse("sha1-91ae65b19b4817fc15d4e2c5c7472c68b4950b77"),
})
__mainPackageInFile_index_CachedRef = types.RegisterPackage(&p)
}
开发者ID:arv,项目名称:noms-old,代码行数:30,代码来源:index.noms.go
示例2: init
// This function builds up a Noms value that describes the type
// package implemented by this file and registers it with the global
// type package definition cache.
func init() {
p := types.NewPackage([]types.Type{
types.MakeStructType("StructWithUnions",
[]types.Field{
types.Field{"a", types.MakeType(ref.Ref{}, 1), false},
types.Field{"d", types.MakeType(ref.Ref{}, 2), false},
},
types.Choices{},
),
types.MakeStructType("",
[]types.Field{},
types.Choices{
types.Field{"b", types.MakePrimitiveType(types.Float64Kind), false},
types.Field{"c", types.MakePrimitiveType(types.StringKind), false},
},
),
types.MakeStructType("",
[]types.Field{},
types.Choices{
types.Field{"e", types.MakePrimitiveType(types.Float64Kind), false},
types.Field{"f", types.MakePrimitiveType(types.StringKind), false},
},
),
}, []ref.Ref{})
__genPackageInFile_struct_with_unions_CachedRef = types.RegisterPackage(&p)
}
开发者ID:arv,项目名称:noms-old,代码行数:29,代码来源:struct_with_unions.noms.go
示例3: init
// This function builds up a Noms value that describes the type
// package implemented by this file and registers it with the global
// type package definition cache.
func init() {
p := types.NewPackage([]types.Type{
types.MakeEnumType("LocalE", "LocalE1", "Ignored"),
types.MakeStructType("ImportUser",
[]types.Field{
types.Field{"importedStruct", types.MakeType(ref.Parse("sha1-eda4273cba9d5d4a1bccf41bcaec64743863cde0"), 0), false},
types.Field{"enum", types.MakeType(ref.Ref{}, 0), false},
},
types.Choices{},
),
}, []ref.Ref{
ref.Parse("sha1-eda4273cba9d5d4a1bccf41bcaec64743863cde0"),
})
__genPackageInFile_struct_with_imports_CachedRef = types.RegisterPackage(&p)
}
开发者ID:arv,项目名称:noms-old,代码行数:18,代码来源:struct_with_imports.noms.go
示例4: TestSkipDuplicateTypes
func TestSkipDuplicateTypes(t *testing.T) {
assert := assert.New(t)
dir, err := ioutil.TempDir("", "codegen_test_")
assert.NoError(err)
defer os.RemoveAll(dir)
leaf1 := types.NewPackage([]types.Type{
types.MakeEnumType("E1", "a", "b"),
types.MakeStructType("S1", []types.Field{
types.Field{"f", types.MakeCompoundType(types.ListKind, types.MakePrimitiveType(types.Uint16Kind)), false},
types.Field{"e", types.MakeType(ref.Ref{}, 0), false},
}, types.Choices{}),
}, []ref.Ref{})
leaf2 := types.NewPackage([]types.Type{
types.MakeStructType("S2", []types.Field{
types.Field{"f", types.MakeCompoundType(types.ListKind, types.MakePrimitiveType(types.Uint16Kind)), false},
}, types.Choices{}),
}, []ref.Ref{})
written := map[string]bool{}
tag1 := code.ToTag(leaf1.Ref())
leaf1Path := filepath.Join(dir, tag1+".go")
generateAndEmit(tag1, leaf1Path, written, depsMap{}, pkg.Parsed{Package: leaf1, Name: "p"})
tag2 := code.ToTag(leaf2.Ref())
leaf2Path := filepath.Join(dir, tag2+".go")
generateAndEmit(tag2, leaf2Path, written, depsMap{}, pkg.Parsed{Package: leaf2, Name: "p"})
code, err := ioutil.ReadFile(leaf2Path)
assert.NoError(err)
assert.NotContains(string(code), "type ListOfUint16")
}
开发者ID:arv,项目名称:noms-old,代码行数:32,代码来源:codegen_test.go
示例5: init
// This function builds up a Noms value that describes the type
// package implemented by this file and registers it with the global
// type package definition cache.
func init() {
p := types.NewPackage([]types.Type{
types.MakeStructType("Geoposition",
[]types.Field{
types.Field{"Latitude", types.MakePrimitiveType(types.Float32Kind), false},
types.Field{"Longitude", types.MakePrimitiveType(types.Float32Kind), false},
},
types.Choices{},
),
types.MakeStructType("Georectangle",
[]types.Field{
types.Field{"TopLeft", types.MakeType(ref.Ref{}, 0), false},
types.Field{"BottomRight", types.MakeType(ref.Ref{}, 0), false},
},
types.Choices{},
),
}, []ref.Ref{})
__commonPackageInFile_geo_CachedRef = types.RegisterPackage(&p)
}
开发者ID:arv,项目名称:noms-old,代码行数:22,代码来源:geo.noms.go
示例6: SetupTest
func (suite *ImportTestSuite) SetupTest() {
suite.vrw = datas.NewDataStore(chunks.NewMemoryStore())
ns := types.MakeStructType("NestedDepStruct", []types.Field{}, types.Choices{
types.Field{"b", types.MakePrimitiveType(types.BoolKind), false},
types.Field{"i", types.MakePrimitiveType(types.Int8Kind), false},
})
suite.nested = types.NewPackage([]types.Type{ns}, []ref.Ref{})
suite.nestedRef = suite.vrw.WriteValue(suite.nested).TargetRef()
fs := types.MakeStructType("ForeignStruct", []types.Field{
types.Field{"b", types.MakeType(ref.Ref{}, 1), false},
types.Field{"n", types.MakeType(suite.nestedRef, 0), false},
},
types.Choices{})
fe := types.MakeEnumType("ForeignEnum", "uno", "dos")
suite.imported = types.NewPackage([]types.Type{fs, fe}, []ref.Ref{suite.nestedRef})
suite.importRef = suite.vrw.WriteValue(suite.imported).TargetRef()
}
开发者ID:arv,项目名称:noms-old,代码行数:19,代码来源:imports_test.go
示例7: init
// This function builds up a Noms value that describes the type
// package implemented by this file and registers it with the global
// type package definition cache.
func init() {
p := types.NewPackage([]types.Type{
types.MakeStructType("D",
[]types.Field{
types.Field{"structField", types.MakeType(ref.Parse("sha1-1c216c6f1d6989e4ede5f78b7689214948dabeef"), 0), false},
types.Field{"enumField", types.MakeType(ref.Parse("sha1-1c216c6f1d6989e4ede5f78b7689214948dabeef"), 1), false},
},
types.Choices{},
),
types.MakeStructType("DUser",
[]types.Field{
types.Field{"Dfield", types.MakeType(ref.Ref{}, 0), false},
},
types.Choices{},
),
}, []ref.Ref{
ref.Parse("sha1-1c216c6f1d6989e4ede5f78b7689214948dabeef"),
})
__genPackageInFile_sha1_eda4273_CachedRef = types.RegisterPackage(&p)
}
开发者ID:arv,项目名称:noms-old,代码行数:23,代码来源:sha1_eda4273.go
示例8: init
// This function builds up a Noms value that describes the type
// package implemented by this file and registers it with the global
// type package definition cache.
func init() {
p := types.NewPackage([]types.Type{
types.MakeStructType("Tree",
[]types.Field{
types.Field{"children", types.MakeCompoundType(types.ListKind, types.MakeType(ref.Ref{}, 0)), false},
},
types.Choices{},
),
}, []ref.Ref{})
__genPackageInFile_struct_recursive_CachedRef = types.RegisterPackage(&p)
}
开发者ID:arv,项目名称:noms-old,代码行数:14,代码来源:struct_recursive.noms.go
示例9: init
// This function builds up a Noms value that describes the type
// package implemented by this file and registers it with the global
// type package definition cache.
func init() {
p := types.NewPackage([]types.Type{
types.MakeEnumType("Handedness", "right", "left", "switch"),
types.MakeStructType("EnumStruct",
[]types.Field{
types.Field{"hand", types.MakeType(ref.Ref{}, 0), false},
},
types.Choices{},
),
}, []ref.Ref{})
__genPackageInFile_enum_struct_CachedRef = types.RegisterPackage(&p)
}
开发者ID:arv,项目名称:noms-old,代码行数:15,代码来源:enum_struct.noms.go
示例10: init
// This function builds up a Noms value that describes the type
// package implemented by this file and registers it with the global
// type package definition cache.
func init() {
p := types.NewPackage([]types.Type{
types.MakeStructType("RemotePhoto",
[]types.Field{
types.Field{"Id", types.MakePrimitiveType(types.StringKind), false},
types.Field{"Title", types.MakePrimitiveType(types.StringKind), false},
types.Field{"Date", types.MakeType(ref.Parse("sha1-0b4ac7cb0583d7fecd71a1584a3f846e5d8b08eb"), 0), false},
types.Field{"Geoposition", types.MakeType(ref.Parse("sha1-0cac0f1ed4777b6965548b0dfe6965a9f23af76c"), 0), false},
types.Field{"Sizes", types.MakeCompoundType(types.MapKind, types.MakeType(ref.Ref{}, 2), types.MakePrimitiveType(types.StringKind)), false},
types.Field{"Tags", types.MakeCompoundType(types.SetKind, types.MakePrimitiveType(types.StringKind)), false},
types.Field{"Faces", types.MakeCompoundType(types.SetKind, types.MakeType(ref.Ref{}, 1)), false},
},
types.Choices{},
),
types.MakeStructType("Face",
[]types.Field{
types.Field{"Top", types.MakePrimitiveType(types.Float32Kind), false},
types.Field{"Left", types.MakePrimitiveType(types.Float32Kind), false},
types.Field{"Width", types.MakePrimitiveType(types.Float32Kind), false},
types.Field{"Height", types.MakePrimitiveType(types.Float32Kind), false},
types.Field{"PersonName", types.MakePrimitiveType(types.StringKind), false},
},
types.Choices{},
),
types.MakeStructType("Size",
[]types.Field{
types.Field{"Width", types.MakePrimitiveType(types.Uint32Kind), false},
types.Field{"Height", types.MakePrimitiveType(types.Uint32Kind), false},
},
types.Choices{},
),
}, []ref.Ref{
ref.Parse("sha1-0b4ac7cb0583d7fecd71a1584a3f846e5d8b08eb"),
ref.Parse("sha1-0cac0f1ed4777b6965548b0dfe6965a9f23af76c"),
})
__commonPackageInFile_photo_CachedRef = types.RegisterPackage(&p)
}
开发者ID:arv,项目名称:noms-old,代码行数:40,代码来源:photo.noms.go
示例11: init
// This function builds up a Noms value that describes the type
// package implemented by this file and registers it with the global
// type package definition cache.
func init() {
p := types.NewPackage([]types.Type{
types.MakeStructType("Import",
[]types.Field{
types.Field{"FileSHA1", types.MakePrimitiveType(types.StringKind), false},
types.Field{"Date", types.MakeType(ref.Parse("sha1-0b4ac7cb0583d7fecd71a1584a3f846e5d8b08eb"), 0), false},
types.Field{"Companies", types.MakeCompoundType(types.RefKind, types.MakeCompoundType(types.MapKind, types.MakePrimitiveType(types.StringKind), types.MakeCompoundType(types.RefKind, types.MakeType(ref.Parse("sha1-91ae65b19b4817fc15d4e2c5c7472c68b4950b77"), 0)))), false},
},
types.Choices{},
),
}, []ref.Ref{
ref.Parse("sha1-0b4ac7cb0583d7fecd71a1584a3f846e5d8b08eb"),
ref.Parse("sha1-91ae65b19b4817fc15d4e2c5c7472c68b4950b77"),
})
__mainPackageInFile_sha1_6c64b08_CachedRef = types.RegisterPackage(&p)
}
开发者ID:arv,项目名称:noms-old,代码行数:19,代码来源:sha1_6c64b08.go
示例12: TestUserName
func TestUserName(t *testing.T) {
assert := assert.New(t)
imported := types.NewPackage([]types.Type{
types.MakeEnumType("E1", "a", "b"),
types.MakeStructType("S1", []types.Field{
types.Field{"f", types.MakePrimitiveType(types.BoolKind), false},
}, types.Choices{}),
}, []ref.Ref{})
res := testResolver{assert, map[ref.Ref]types.Package{imported.Ref(): imported}}
localStructName := "Local"
resolved := types.MakeStructType(localStructName, []types.Field{
types.Field{"a", types.MakePrimitiveType(types.Int8Kind), false},
}, types.Choices{})
g := Generator{R: &res}
assert.Equal(localStructName, g.UserName(resolved))
listOfImported := types.MakeCompoundType(types.ListKind, types.MakeType(imported.Ref(), 1))
assert.Equal(fmt.Sprintf("ListOfS1"), g.UserName(listOfImported))
}
开发者ID:arv,项目名称:noms-old,代码行数:23,代码来源:generate_test.go
示例13: MakeStructTypeFromHeaders
// MakeStructTypeFromHeaders creates a struct type from the headers using |kinds| as the type of each field. If |kinds| is empty, default to strings.
func MakeStructTypeFromHeaders(headers []string, structName string, kinds KindSlice) (typeRef, typeDef types.Type) {
useStringType := len(kinds) == 0
d.Chk.True(useStringType || len(headers) == len(kinds))
fields := make([]types.Field, len(headers))
for i, key := range headers {
kind := types.StringKind
if !useStringType {
kind = kinds[i]
}
fields[i] = types.Field{
Name: key,
T: types.MakePrimitiveType(kind),
// TODO(misha): Think about whether we need fields to be optional.
Optional: false,
}
}
typeDef = types.MakeStructType(structName, fields, types.Choices{})
pkg := types.NewPackage([]types.Type{typeDef}, []ref.Ref{})
pkgRef := types.RegisterPackage(&pkg)
typeRef = types.MakeType(pkgRef, 0)
return
}
开发者ID:arv,项目名称:noms-old,代码行数:24,代码来源:read.go
示例14: init
func init() {
__typeForE = types.MakeType(__leafDepPackageInFile_leafDep_CachedRef, 1)
types.RegisterEnum(__typeForE, builderForE, readerForE)
}
开发者ID:arv,项目名称:noms-old,代码行数:4,代码来源:leafDep.noms.go
示例15: init
func init() {
__typeForStructWithRef = types.MakeType(__genPackageInFile_ref_CachedRef, 0)
types.RegisterStruct(__typeForStructWithRef, builderForStructWithRef, readerForStructWithRef)
}
开发者ID:arv,项目名称:noms-old,代码行数:4,代码来源:ref.noms.go
示例16: TestCSVExporter
// FIXME: run with pipe
func (s *testSuite) TestCSVExporter() {
storeName := "store"
setName := "csv"
header := []string{"a", "b", "c"}
payload := [][]string{
[]string{"5", "7", "100"},
[]string{"4", "10", "255"},
[]string{"512", "12", "55"},
}
structName := "SomeStruct"
// Setup data store
cs := chunks.NewLevelDBStore(s.LdbDir, storeName, 1, false)
ds := dataset.NewDataset(datas.NewDataStore(cs), setName)
// Build Struct fields based on header
f := make([]types.Field, 0, len(header))
for _, key := range header {
f = append(f, types.Field{
Name: key,
T: types.MakePrimitiveType(types.StringKind),
})
}
typeDef := types.MakeStructType(structName, f, types.Choices{})
pkg := types.NewPackage([]types.Type{typeDef}, []ref.Ref{})
pkgRef := types.RegisterPackage(&pkg)
typeRef := types.MakeType(pkgRef, 0)
structFields := typeDef.Desc.(types.StructDesc).Fields
// Build data rows
structs := make([]types.Value, len(payload))
for i, row := range payload {
fields := make(map[string]types.Value)
for j, v := range row {
fields[structFields[j].Name] = types.NewString(v)
}
structs[i] = types.NewStruct(typeRef, typeDef, fields)
}
listType := types.MakeCompoundType(types.ListKind, typeRef)
ds.Commit(types.NewTypedList(listType, structs...))
ds.Store().Close()
// Run exporter
out := s.Run(main, []string{"-store", storeName, "-ds", setName})
// Verify output
csvReader := csv.NewReader(strings.NewReader(out))
row, err := csvReader.Read()
d.Chk.NoError(err)
s.Equal(header, row)
for i := 0; i < len(payload); i++ {
row, err := csvReader.Read()
d.Chk.NoError(err)
s.Equal(payload[i], row)
}
row, err = csvReader.Read()
s.Equal(io.EOF, err)
}
开发者ID:arv,项目名称:noms-old,代码行数:64,代码来源:exporter_test.go
示例17: init
func init() {
__typeForUser = types.MakeType(__mainPackageInFile_facebook_CachedRef, 0)
types.RegisterStruct(__typeForUser, builderForUser, readerForUser)
}
开发者ID:arv,项目名称:noms-old,代码行数:4,代码来源:facebook.noms.go
示例18: TestResolveNamespace
func (suite *ImportTestSuite) TestResolveNamespace() {
deps := getDeps([]ref.Ref{suite.importRef}, suite.vrw)
t := resolveNamespace(types.MakeUnresolvedType("Other", "ForeignEnum"), map[string]ref.Ref{"Other": suite.importRef}, deps)
suite.EqualValues(types.MakeType(suite.importRef, 1), t)
}
开发者ID:arv,项目名称:noms-old,代码行数:5,代码来源:imports_test.go
示例19: init
func init() {
__typeForStructWithList = types.MakeType(__genPackageInFile_struct_with_list_CachedRef, 0)
types.RegisterStruct(__typeForStructWithList, builderForStructWithList, readerForStructWithList)
}
开发者ID:arv,项目名称:noms-old,代码行数:4,代码来源:struct_with_list.noms.go
注:本文中的github.com/attic-labs/noms/types.MakeType函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论