mirror of
				https://github.com/minio/minio.git
				synced 2025-10-30 00:05:02 -04:00 
			
		
		
		
	Rename functions for their purpose
This commit is contained in:
		
							parent
							
								
									9c2e861470
								
							
						
					
					
						commit
						ae66ae42c4
					
				| @ -160,36 +160,36 @@ func (b bucket) ListObjects(prefix, marker, delimiter string, maxkeys int) ([]st | ||||
| 	for objectName := range bucketMetadata.Buckets[b.getBucketName()].BucketObjects { | ||||
| 		if strings.HasPrefix(objectName, strings.TrimSpace(prefix)) { | ||||
| 			if objectName > marker { | ||||
| 				objects = appendUniq(objects, objectName) | ||||
| 				objects = AppendU(objects, objectName) | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| 	if strings.TrimSpace(prefix) != "" { | ||||
| 		objects = removePrefix(objects, prefix) | ||||
| 		objects = TrimPrefix(objects, prefix) | ||||
| 	} | ||||
| 	var prefixes []string | ||||
| 	var filteredObjects []string | ||||
| 	if strings.TrimSpace(delimiter) != "" { | ||||
| 		filteredObjects = filterDelimited(objects, delimiter) | ||||
| 		prefixes = filterNotDelimited(objects, delimiter) | ||||
| 		prefixes = extractDelimited(prefixes, delimiter) | ||||
| 		prefixes = uniqueObjects(prefixes) | ||||
| 		filteredObjects = HasNoDelimiter(objects, delimiter) | ||||
| 		prefixes = HasDelimiter(objects, delimiter) | ||||
| 		prefixes = SplitDelimiter(prefixes, delimiter) | ||||
| 		prefixes = SortU(prefixes) | ||||
| 	} else { | ||||
| 		filteredObjects = objects | ||||
| 	} | ||||
| 	var results []string | ||||
| 	var commonPrefixes []string | ||||
| 
 | ||||
| 	for _, commonPrefix := range prefixes { | ||||
| 		commonPrefixes = AppendU(commonPrefixes, prefix+commonPrefix) | ||||
| 	} | ||||
| 	sort.Strings(filteredObjects) | ||||
| 	for _, objectName := range filteredObjects { | ||||
| 		if len(results) >= maxkeys { | ||||
| 			isTruncated = true | ||||
| 			break | ||||
| 		} | ||||
| 		results = appendUniq(results, prefix+objectName) | ||||
| 	} | ||||
| 	for _, commonPrefix := range prefixes { | ||||
| 		commonPrefixes = appendUniq(commonPrefixes, prefix+commonPrefix) | ||||
| 		results = AppendU(results, prefix+objectName) | ||||
| 	} | ||||
| 	sort.Strings(results) | ||||
| 	sort.Strings(commonPrefixes) | ||||
|  | ||||
| @ -1,3 +1,19 @@ | ||||
| /* | ||||
|  * Minimalist Object Storage, (C) 2015 Minio, Inc. | ||||
|  * | ||||
|  * Licensed under the Apache License, Version 2.0 (the "License"); | ||||
|  * you may not use this file except in compliance with the License. | ||||
|  * You may obtain a copy of the License at | ||||
|  * | ||||
|  *     http://www.apache.org/licenses/LICENSE-2.0 | ||||
|  * | ||||
|  * Unless required by applicable law or agreed to in writing, software | ||||
|  * distributed under the License is distributed on an "AS IS" BASIS, | ||||
|  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
|  * See the License for the specific language governing permissions and | ||||
|  * limitations under the License. | ||||
|  */ | ||||
| 
 | ||||
| package donut | ||||
| 
 | ||||
| import ( | ||||
| @ -5,7 +21,8 @@ import ( | ||||
| 	"strings" | ||||
| ) | ||||
| 
 | ||||
| func appendUniq(slice []string, i string) []string { | ||||
| // AppendU append to an input slice if the element is unique and provides a new slice | ||||
| func AppendU(slice []string, i string) []string { | ||||
| 	for _, ele := range slice { | ||||
| 		if ele == i { | ||||
| 			return slice | ||||
| @ -14,17 +31,8 @@ func appendUniq(slice []string, i string) []string { | ||||
| 	return append(slice, i) | ||||
| } | ||||
| 
 | ||||
| func filterPrefix(objects []string, prefix string) []string { | ||||
| 	var results []string | ||||
| 	for _, object := range objects { | ||||
| 		if strings.HasPrefix(object, prefix) { | ||||
| 			results = append(results, object) | ||||
| 		} | ||||
| 	} | ||||
| 	return results | ||||
| } | ||||
| 
 | ||||
| func removePrefix(objects []string, prefix string) []string { | ||||
| // TrimPrefix trims off a prefix string from all the elements in a given slice | ||||
| func TrimPrefix(objects []string, prefix string) []string { | ||||
| 	var results []string | ||||
| 	for _, object := range objects { | ||||
| 		results = append(results, strings.TrimPrefix(object, prefix)) | ||||
| @ -32,7 +40,8 @@ func removePrefix(objects []string, prefix string) []string { | ||||
| 	return results | ||||
| } | ||||
| 
 | ||||
| func filterDelimited(objects []string, delim string) []string { | ||||
| // HasNoDelimiter provides a new slice from an input slice which has elements without delimiter | ||||
| func HasNoDelimiter(objects []string, delim string) []string { | ||||
| 	var results []string | ||||
| 	for _, object := range objects { | ||||
| 		if !strings.Contains(object, delim) { | ||||
| @ -42,7 +51,8 @@ func filterDelimited(objects []string, delim string) []string { | ||||
| 	return results | ||||
| } | ||||
| 
 | ||||
| func filterNotDelimited(objects []string, delim string) []string { | ||||
| // HasDelimiter provides a new slice from an input slice which has elements with a delimiter | ||||
| func HasDelimiter(objects []string, delim string) []string { | ||||
| 	var results []string | ||||
| 	for _, object := range objects { | ||||
| 		if strings.Contains(object, delim) { | ||||
| @ -52,7 +62,8 @@ func filterNotDelimited(objects []string, delim string) []string { | ||||
| 	return results | ||||
| } | ||||
| 
 | ||||
| func extractDelimited(objects []string, delim string) []string { | ||||
| // SplitDelimiter provides a new slice from an input slice by splitting a delimiter | ||||
| func SplitDelimiter(objects []string, delim string) []string { | ||||
| 	var results []string | ||||
| 	for _, object := range objects { | ||||
| 		parts := strings.Split(object, delim) | ||||
| @ -61,7 +72,8 @@ func extractDelimited(objects []string, delim string) []string { | ||||
| 	return results | ||||
| } | ||||
| 
 | ||||
| func uniqueObjects(objects []string) []string { | ||||
| // SortU sort a slice in lexical order, removing duplicate elements | ||||
| func SortU(objects []string) []string { | ||||
| 	objectMap := make(map[string]string) | ||||
| 	for _, v := range objects { | ||||
| 		objectMap[v] = v | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user