diff options
Diffstat (limited to 'object/tree/path_prefix.go')
| -rw-r--r-- | object/tree/path_prefix.go | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/object/tree/path_prefix.go b/object/tree/path_prefix.go new file mode 100644 index 00000000..ed658cee --- /dev/null +++ b/object/tree/path_prefix.go @@ -0,0 +1,19 @@ +package tree + +import ( + "bytes" + "slices" +) + +// HasPathPrefix reports whether path begins with prefix as whole components. +func HasPathPrefix(path, prefix [][]byte) bool { + if len(prefix) == 0 { + return true + } + + if len(path) < len(prefix) { + return false + } + + return slices.EqualFunc(path[:len(prefix)], prefix, bytes.Equal) +} |
