Note that the use of s2w8 in genUUIDInNameSpace made it truncate unicode characters. Luckily, genUUIDInNameSpace is only ever used on ASCII strings as far as I can determine. In particular, git-remote-gcrypt's gcrypt-id is an ASCII string.
		
			
				
	
	
		
			22 lines
		
	
	
	
		
			469 B
			
		
	
	
	
		
			Haskell
		
	
	
	
	
	
			
		
		
	
	
			22 lines
		
	
	
	
		
			469 B
			
		
	
	
	
		
			Haskell
		
	
	
	
	
	
{- utilities for simple data types
 | 
						|
 -
 | 
						|
 - Copyright 2013-2021 Joey Hess <id@joeyh.name>
 | 
						|
 -
 | 
						|
 - License: BSD-2-clause
 | 
						|
 -}
 | 
						|
 | 
						|
{-# OPTIONS_GHC -fno-warn-tabs #-}
 | 
						|
 | 
						|
module Utility.Data (
 | 
						|
	firstJust,
 | 
						|
	eitherToMaybe,
 | 
						|
) where
 | 
						|
 | 
						|
{- First item in the list that is not Nothing. -}
 | 
						|
firstJust :: Eq a => [Maybe a] -> Maybe a
 | 
						|
firstJust ms = case dropWhile (== Nothing) ms of
 | 
						|
	[] -> Nothing
 | 
						|
	(md:_) -> md
 | 
						|
 | 
						|
eitherToMaybe :: Either a b -> Maybe b
 | 
						|
eitherToMaybe = either (const Nothing) Just
 |