// Copyright 2016 Attic Labs, Inc. All rights reserved. // Licensed under the Apache License, version 2.0: // http://www.apache.org/licenses/LICENSE-2.0 package datas import "github.com/attic-labs/noms/go/types" var commitType *types.Type var refOfCommitType *types.Type const ( ParentsField = "parents" ValueField = "value" ) func init() { // struct Commit { // parents: Set> // value: Value // } commitType = types.MakeStructType("Commit", []string{ParentsField, ValueField}, []*types.Type{ types.MakeSetType(types.MakeRefType(types.MakeCycleType(0))), types.ValueType, }, ) refOfCommitType = types.MakeRefType(commitType) } func NewCommit() types.Struct { initialFields := types.ValueSlice{ types.NewSet(), // parents types.String(""), // value } return types.NewStructWithType(commitType, initialFields) } func typeForMapOfStringToRefOfCommit() *types.Type { return types.MakeMapType(types.StringType, refOfCommitType) } func NewMapOfStringToRefOfCommit() types.Map { return types.NewMap() } func typeForSetOfRefOfCommit() *types.Type { return types.MakeSetType(refOfCommitType) } func CommitType() *types.Type { return commitType }