summaryrefslogtreecommitdiff
path: root/vendor/git.iim.gay/grufwub/go-store/storage/transform.go
diff options
context:
space:
mode:
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.go25
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
+}