package httprouter

func joinPathArguments(args ...interface{}) []interface{} {
	arguments := args[0:]
	for i, v := range arguments {
		if arr, ok := v.([]string); ok {
			if len(arr) > 0 {
				interfaceArr := make([]interface{}, len(arr))
				for j, sv := range arr {
					interfaceArr[j] = sv
				}
				// replace the current slice
				// with the first string element (always as interface{})
				arguments[i] = interfaceArr[0]
				// append the rest of them to the slice itself
				// the range is not affected by these things in go,
				// so we are safe to do it.
				arguments = append(args, interfaceArr[1:]...)
			}
		}
	}
	return arguments
}