예제 #1
0
파일: util.go 프로젝트: davyxu/tabtoy
func valueWrapper(fd *pbmeta.FieldDescriptor, value string) string {
	switch fd.Type() {
	case pbprotos.FieldDescriptorProto_TYPE_STRING:
		return util.StringEscape(value)
	}

	return value
}
예제 #2
0
파일: pbt.go 프로젝트: davyxu/tabtoy
func valueWrapperPbt(t model.FieldType, node *model.Node) string {

	switch t {
	case model.FieldType_String:
		return util.StringEscape(node.Value)
	}

	return node.Value
}
예제 #3
0
파일: lua.go 프로젝트: davyxu/tabtoy
func valueWrapperLua(t model.FieldType, n *model.Node) string {

	switch t {
	case model.FieldType_String:
		return util.StringEscape(n.Value)
	case model.FieldType_Enum:
		return fmt.Sprintf("\"%s\"", n.Value)
	}

	return n.Value
}
예제 #4
0
파일: json.go 프로젝트: davyxu/tabtoy
func valueWrapperJson(t model.FieldType, node *model.Node) string {

	switch t {
	case model.FieldType_String:
		return util.StringEscape(node.Value)
	case model.FieldType_Enum:
		return strconv.Itoa(int(node.EnumValue))
	}

	return node.Value
}
예제 #5
0
파일: lua.go 프로젝트: davyxu/tabtoy
// 普通值
func (self *luaWriter) WriteValue(fd *pbmeta.FieldDescriptor, value string, indent int) {

	var finalValue string
	switch fd.Type() {
	case pbprotos.FieldDescriptorProto_TYPE_STRING,
		pbprotos.FieldDescriptorProto_TYPE_ENUM:
		finalValue = util.StringEscape(value)
	case pbprotos.FieldDescriptorProto_TYPE_INT64,
		pbprotos.FieldDescriptorProto_TYPE_UINT64:
		finalValue = fmt.Sprintf("\"%s\"", value)
	default:
		finalValue = value
	}

	self.printer.WriteString(fmt.Sprintf("%s = %s", fd.Name(), finalValue))
}
예제 #6
0
파일: json.go 프로젝트: davyxu/tabtoy
func jsonvalueWrapper(fd *pbmeta.FieldDescriptor, value string) string {

	switch fd.Type() {
	case pbprotos.FieldDescriptorProto_TYPE_STRING:
		return util.StringEscape(value)
	case pbprotos.FieldDescriptorProto_TYPE_ENUM:
		ed := fd.EnumDesc()

		if ed == nil {
			return "0"
		}

		evd := ed.ValueByName(value)

		if evd == nil {
			return "0"
		}

		return strconv.Itoa(int(evd.Value()))

	}

	return value
}