diff options
Diffstat (limited to 'vendor/git.iim.gay/grufwub/go-store/storage/transform.go')
-rw-r--r-- | vendor/git.iim.gay/grufwub/go-store/storage/transform.go | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/vendor/git.iim.gay/grufwub/go-store/storage/transform.go b/vendor/git.iim.gay/grufwub/go-store/storage/transform.go new file mode 100644 index 000000000..3863dd774 --- /dev/null +++ b/vendor/git.iim.gay/grufwub/go-store/storage/transform.go @@ -0,0 +1,25 @@ +package storage + +// KeyTransform defines a method of converting store keys to storage paths (and vice-versa) +type KeyTransform interface { + // KeyToPath converts a supplied key to storage path + KeyToPath(string) string + + // PathToKey converts a supplied storage path to key + PathToKey(string) string +} + +type nopKeyTransform struct{} + +// NopTransform returns a nop key transform (i.e. key = path) +func NopTransform() KeyTransform { + return &nopKeyTransform{} +} + +func (t *nopKeyTransform) KeyToPath(key string) string { + return key +} + +func (t *nopKeyTransform) PathToKey(path string) string { + return path +} |