Created
March 9, 2018 12:44
-
-
Save ulve/2bfd2e997bd12eb9a551c4b8d86c82d6 to your computer and use it in GitHub Desktop.
Hopactest
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#r "packages/Hopac/lib/net45/Hopac.Core.dll" | |
#r "packages/Hopac/lib/net45/Hopac.Platform.dll" | |
#r "packages/Hopac/lib/net45/Hopac.dll" | |
open Hopac | |
open Hopac.Infixes | |
type Delkrav = { | |
DelkravId : int | |
Delkravsnamn : string | |
} | |
type Mål = { | |
ÄrendeId : int | |
Sökande : string | |
Svarande : string | |
} | |
type MålMedDelkrav = { | |
Id : int | |
Sökande : string | |
Svarande : string | |
Delkrav : Delkrav list | |
} | |
let getMål id = job { | |
do! timeOutMillis 2000 | |
return { ÄrendeId = id; Sökande = "Ett viktigt namn"; Svarande = "En annan snubbe" } | |
} | |
let getDelkravFörMål id = job { | |
do! timeOutMillis 3000 | |
return [ | |
{ DelkravId = id + 1; Delkravsnamn = "Kapital" } | |
{ DelkravId = id + 2; Delkravsnamn = "Processkostnad" } | |
] | |
} | |
let getMålMedDelkrav id = job { | |
let! mål = getMål id | |
let! delkrav = getDelkravFörMål id | |
return { | |
Id = id | |
Sökande = mål.Sökande | |
Svarande = mål.Svarande | |
Delkrav = delkrav | |
} | |
} | |
let getMålMedDelkravP id = job { | |
let! mål, delkrav = getMål id <*> getDelkravFörMål id | |
return { | |
Id = id | |
Sökande = mål.Sökande | |
Svarande = mål.Svarande | |
Delkrav = delkrav | |
} | |
} | |
#time "on" | |
getMålMedDelkrav 1 |> run |> printfn "%A" | |
#time "off" | |
#time "on" | |
getMålMedDelkravP 1 |> run |> printfn "%A" | |
#time "off" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment