Remove old VersionControl.elm
							parent
							
								
									186c92c515
								
							
						
					
					
						commit
						f7441a54eb
					
				|  | @ -1,61 +0,0 @@ | |||
| module Internal.Api.VersionControl exposing (..) | ||||
| 
 | ||||
| import Internal.Tools.Exceptions as X | ||||
| import Task exposing (Task) | ||||
| 
 | ||||
| 
 | ||||
| type alias FinalPackage vin vout = | ||||
|     { supportedVersions : List String | ||||
|     , getEvent : String -> vin -> Task X.Error vout | ||||
|     } | ||||
| 
 | ||||
| 
 | ||||
| type alias SingleVersion pIn pOut cIn cOut = | ||||
|     { version : String | ||||
|     , downcast : cIn -> pIn | ||||
|     , current : cIn -> Task X.Error cOut | ||||
|     , upcast : pOut -> cOut | ||||
|     } | ||||
| 
 | ||||
| 
 | ||||
| firstVersion : SingleVersion () () vin vout -> FinalPackage vin vout | ||||
| firstVersion packet = | ||||
|     { supportedVersions = [ packet.version ] | ||||
|     , getEvent = | ||||
|         \version -> | ||||
|             if packet.version == version then | ||||
|                 packet.current | ||||
| 
 | ||||
|             else | ||||
|                 \_ -> Task.fail X.UnsupportedVersion | ||||
|     } | ||||
| 
 | ||||
| 
 | ||||
| updateWith : SingleVersion pIn pOut vin vout -> FinalPackage pIn pOut -> FinalPackage vin vout | ||||
| updateWith packet oldFinal = | ||||
|     { supportedVersions = packet.version :: oldFinal.supportedVersions | ||||
|     , getEvent = | ||||
|         \version -> | ||||
|             if packet.version == version then | ||||
|                 packet.current | ||||
| 
 | ||||
|             else | ||||
|                 packet.downcast >> oldFinal.getEvent version >> Task.map packet.upcast | ||||
|     } | ||||
| 
 | ||||
| 
 | ||||
| toFunction : FinalPackage vin vout -> List String -> vin -> Task X.Error vout | ||||
| toFunction final versions x = | ||||
|     let | ||||
|         bestVersion : Maybe String | ||||
|         bestVersion = | ||||
|             versions | ||||
|                 |> List.filter (\c -> List.member c final.supportedVersions) | ||||
|                 |> List.head | ||||
|     in | ||||
|     case bestVersion of | ||||
|         Nothing -> | ||||
|             Task.fail X.UnsupportedVersion | ||||
| 
 | ||||
|         Just version -> | ||||
|             final.getEvent version x | ||||
		Loading…
	
		Reference in New Issue