func()

in gremlin-go/driver/translator.go [274:332]


func (t *translator) toString(arg interface{}) (string, error) {
	if arg == nil {
		return "null", nil
	}
	reflectedArg := reflect.TypeOf(arg)
	switch reflectedArg.Kind() {

	case reflect.Map:
		return t.translateMap(arg, false)
	case reflect.Slice:
		return t.translateSlice(arg)
	default:
		switch v := arg.(type) {
		case withOptions:
			{
				return groovyWithOptions[v], nil
			}
		case AnonymousTraversal:
		case *AnonymousTraversal:
			return t.toString(arg)
		case *Binding:
			return v.String(), nil
		case GraphTraversal:
		case *GraphTraversal:
			return t.translate(v.Bytecode, false)
		case traversalStrategy:
		case *traversalStrategy:
			return t.translateTraversalStrategy(v)
		case *Bytecode:
			return t.translate(v, false)
		case textP:
		case *textP:
			return t.translateTextPredicate(v)
		case p:
		case *p:
			return t.translatePredicate(v)
		default:
			{
				switch v := arg.(type) {
				case time.Time:
					{
						return timeToGroovyTime(v), nil
					}
				case string:
					{
						return fmt.Sprintf("'%v'", v), nil
					}
				default:
					{
						return fmt.Sprintf("%v", v), nil
					}
				}
			}
		}
	}

	return "", nil

}