๐Ÿ“ฆ sleepyfran / duets

๐Ÿ“„ DoEncore.Command.fs ยท 20 lines
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20namespace Duets.Cli.Components.Commands

open Duets.Agents
open Duets.Cli.Components
open Duets.Cli.Components.Commands
open Duets.Cli.Text
open Duets.Simulation.Concerts.Live.Encore

[<RequireQualifiedAccess>]
module DoEncoreCommand =
    /// Returns the artist back to the stage to perform an encore. Assumes that
    /// an encore is possible and that the audience will still be there for it.
    let create ongoingConcert =
        Concert.createCommand
            "do encore"
            Command.doEncoreDescription
            (fun _ -> doEncore (State.get ()))
            (fun _ _ -> Concert.encoreComingBackToStage |> showMessage)
            ongoingConcert