summaryrefslogtreecommitdiff
path: root/Types/Key.hs
diff options
context:
space:
mode:
Diffstat (limited to 'Types/Key.hs')
-rw-r--r--Types/Key.hs11
1 files changed, 7 insertions, 4 deletions
diff --git a/Types/Key.hs b/Types/Key.hs
index 3015b1e86..154e813ff 100644
--- a/Types/Key.hs
+++ b/Types/Key.hs
@@ -13,8 +13,8 @@ module Types.Key (
stubKey,
key2file,
file2key,
- isChunkKey,
nonChunkKey,
+ chunkKeyOffset,
prop_idempotent_key_encode,
prop_idempotent_key_decode
@@ -49,9 +49,6 @@ stubKey = Key
, keyChunkNum = Nothing
}
-isChunkKey :: Key -> Bool
-isChunkKey k = isJust (keyChunkSize k) && isJust (keyChunkNum k)
-
-- Gets the parent of a chunk key.
nonChunkKey :: Key -> Key
nonChunkKey k = k
@@ -59,6 +56,12 @@ nonChunkKey k = k
, keyChunkNum = Nothing
}
+-- Where a chunk key is offset within its parent.
+chunkKeyOffset :: Key -> Maybe Integer
+chunkKeyOffset k = (*)
+ <$> keyChunkSize k
+ <*> (pred <$> keyChunkNum k)
+
fieldSep :: Char
fieldSep = '-'