mirror of
https://github.com/Smaug123/WoofWare.Myriad
synced 2025-10-13 07:58:40 +00:00
Compare commits
5 Commits
WoofWare.M
...
WoofWare.M
Author | SHA1 | Date | |
---|---|---|---|
|
0fe97da788 | ||
|
f944953384 | ||
|
7930039ad1 | ||
|
8d275f0047 | ||
|
682b12fdb2 |
12
CHANGELOG.md
12
CHANGELOG.md
@@ -1,5 +1,17 @@
|
|||||||
Notable changes are recorded here.
|
Notable changes are recorded here.
|
||||||
|
|
||||||
|
# WoofWare.Myriad.Plugins 6.0.1
|
||||||
|
|
||||||
|
The `ArgParser` generator's type signatures have changed.
|
||||||
|
The `parse'` method no longer takes `getEnvironmentVariable : string -> string`; it's now `getEnvironmentVariable : string -> string option`.
|
||||||
|
This is to permit satisfying the `<Nullable>enable</Nullable>` compiler setting.
|
||||||
|
If you're calling `parse'`, give it `Environment.GetEnvironmentVariable >> Option.ofObj` instead.
|
||||||
|
|
||||||
|
# WoofWare.Myriad.Plugins 5.0.1
|
||||||
|
|
||||||
|
We now enforce non-nullability on more types during JSON parse.
|
||||||
|
We have always expected you to consume nullable types wrapped in an `option`, but now we enforce this in more cases by throwing `ArgumentNullException`.
|
||||||
|
|
||||||
# WoofWare.Myriad.Plugins 3.0.1
|
# WoofWare.Myriad.Plugins 3.0.1
|
||||||
|
|
||||||
Semantics of `HttpClient`'s URI component composition changed:
|
Semantics of `HttpClient`'s URI component composition changed:
|
||||||
|
File diff suppressed because it is too large
Load Diff
@@ -23,7 +23,7 @@ module BasicNoPositionals =
|
|||||||
/// Waiting to receive a value for the key we've already consumed
|
/// Waiting to receive a value for the key we've already consumed
|
||||||
| AwaitingValue of key : string
|
| AwaitingValue of key : string
|
||||||
|
|
||||||
let parse' (getEnvironmentVariable : string -> string) (args : string list) : BasicNoPositionals =
|
let parse' (getEnvironmentVariable : string -> string option) (args : string list) : BasicNoPositionals =
|
||||||
let ArgParser_errors = ResizeArray ()
|
let ArgParser_errors = ResizeArray ()
|
||||||
|
|
||||||
let helpText () =
|
let helpText () =
|
||||||
@@ -223,7 +223,7 @@ module BasicNoPositionals =
|
|||||||
ArgParser_errors |> String.concat "\n" |> failwithf "Errors during parse!\n%s"
|
ArgParser_errors |> String.concat "\n" |> failwithf "Errors during parse!\n%s"
|
||||||
|
|
||||||
let parse (args : string list) : BasicNoPositionals =
|
let parse (args : string list) : BasicNoPositionals =
|
||||||
parse' System.Environment.GetEnvironmentVariable args
|
parse' (System.Environment.GetEnvironmentVariable >> Option.ofObj) args
|
||||||
namespace ConsumePlugin
|
namespace ConsumePlugin
|
||||||
|
|
||||||
open System
|
open System
|
||||||
@@ -239,7 +239,7 @@ module Basic =
|
|||||||
/// Waiting to receive a value for the key we've already consumed
|
/// Waiting to receive a value for the key we've already consumed
|
||||||
| AwaitingValue of key : string
|
| AwaitingValue of key : string
|
||||||
|
|
||||||
let parse' (getEnvironmentVariable : string -> string) (args : string list) : Basic =
|
let parse' (getEnvironmentVariable : string -> string option) (args : string list) : Basic =
|
||||||
let ArgParser_errors = ResizeArray ()
|
let ArgParser_errors = ResizeArray ()
|
||||||
|
|
||||||
let helpText () =
|
let helpText () =
|
||||||
@@ -430,7 +430,7 @@ module Basic =
|
|||||||
ArgParser_errors |> String.concat "\n" |> failwithf "Errors during parse!\n%s"
|
ArgParser_errors |> String.concat "\n" |> failwithf "Errors during parse!\n%s"
|
||||||
|
|
||||||
let parse (args : string list) : Basic =
|
let parse (args : string list) : Basic =
|
||||||
parse' System.Environment.GetEnvironmentVariable args
|
parse' (System.Environment.GetEnvironmentVariable >> Option.ofObj) args
|
||||||
namespace ConsumePlugin
|
namespace ConsumePlugin
|
||||||
|
|
||||||
open System
|
open System
|
||||||
@@ -446,7 +446,7 @@ module BasicWithIntPositionals =
|
|||||||
/// Waiting to receive a value for the key we've already consumed
|
/// Waiting to receive a value for the key we've already consumed
|
||||||
| AwaitingValue of key : string
|
| AwaitingValue of key : string
|
||||||
|
|
||||||
let parse' (getEnvironmentVariable : string -> string) (args : string list) : BasicWithIntPositionals =
|
let parse' (getEnvironmentVariable : string -> string option) (args : string list) : BasicWithIntPositionals =
|
||||||
let ArgParser_errors = ResizeArray ()
|
let ArgParser_errors = ResizeArray ()
|
||||||
|
|
||||||
let helpText () =
|
let helpText () =
|
||||||
@@ -633,7 +633,7 @@ module BasicWithIntPositionals =
|
|||||||
ArgParser_errors |> String.concat "\n" |> failwithf "Errors during parse!\n%s"
|
ArgParser_errors |> String.concat "\n" |> failwithf "Errors during parse!\n%s"
|
||||||
|
|
||||||
let parse (args : string list) : BasicWithIntPositionals =
|
let parse (args : string list) : BasicWithIntPositionals =
|
||||||
parse' System.Environment.GetEnvironmentVariable args
|
parse' (System.Environment.GetEnvironmentVariable >> Option.ofObj) args
|
||||||
namespace ConsumePlugin
|
namespace ConsumePlugin
|
||||||
|
|
||||||
open System
|
open System
|
||||||
@@ -649,7 +649,7 @@ module LoadsOfTypes =
|
|||||||
/// Waiting to receive a value for the key we've already consumed
|
/// Waiting to receive a value for the key we've already consumed
|
||||||
| AwaitingValue of key : string
|
| AwaitingValue of key : string
|
||||||
|
|
||||||
let parse' (getEnvironmentVariable : string -> string) (args : string list) : LoadsOfTypes =
|
let parse' (getEnvironmentVariable : string -> string option) (args : string list) : LoadsOfTypes =
|
||||||
let ArgParser_errors = ResizeArray ()
|
let ArgParser_errors = ResizeArray ()
|
||||||
|
|
||||||
let helpText () =
|
let helpText () =
|
||||||
@@ -1038,7 +1038,7 @@ module LoadsOfTypes =
|
|||||||
match arg_10 with
|
match arg_10 with
|
||||||
| None ->
|
| None ->
|
||||||
match "CONSUMEPLUGIN_THINGS" |> getEnvironmentVariable with
|
match "CONSUMEPLUGIN_THINGS" |> getEnvironmentVariable with
|
||||||
| null ->
|
| None ->
|
||||||
sprintf
|
sprintf
|
||||||
"No value was supplied for %s, nor was environment variable %s set"
|
"No value was supplied for %s, nor was environment variable %s set"
|
||||||
(sprintf "--%s" "yet-another-optional-thing")
|
(sprintf "--%s" "yet-another-optional-thing")
|
||||||
@@ -1046,7 +1046,7 @@ module LoadsOfTypes =
|
|||||||
|> ArgParser_errors.Add
|
|> ArgParser_errors.Add
|
||||||
|
|
||||||
Unchecked.defaultof<_>
|
Unchecked.defaultof<_>
|
||||||
| x -> x |> (fun x -> x)
|
| Some x -> x |> (fun x -> x)
|
||||||
|> Choice2Of2
|
|> Choice2Of2
|
||||||
| Some x -> Choice1Of2 x
|
| Some x -> Choice1Of2 x
|
||||||
|
|
||||||
@@ -1068,7 +1068,7 @@ module LoadsOfTypes =
|
|||||||
ArgParser_errors |> String.concat "\n" |> failwithf "Errors during parse!\n%s"
|
ArgParser_errors |> String.concat "\n" |> failwithf "Errors during parse!\n%s"
|
||||||
|
|
||||||
let parse (args : string list) : LoadsOfTypes =
|
let parse (args : string list) : LoadsOfTypes =
|
||||||
parse' System.Environment.GetEnvironmentVariable args
|
parse' (System.Environment.GetEnvironmentVariable >> Option.ofObj) args
|
||||||
namespace ConsumePlugin
|
namespace ConsumePlugin
|
||||||
|
|
||||||
open System
|
open System
|
||||||
@@ -1084,7 +1084,7 @@ module LoadsOfTypesNoPositionals =
|
|||||||
/// Waiting to receive a value for the key we've already consumed
|
/// Waiting to receive a value for the key we've already consumed
|
||||||
| AwaitingValue of key : string
|
| AwaitingValue of key : string
|
||||||
|
|
||||||
let parse' (getEnvironmentVariable : string -> string) (args : string list) : LoadsOfTypesNoPositionals =
|
let parse' (getEnvironmentVariable : string -> string option) (args : string list) : LoadsOfTypesNoPositionals =
|
||||||
let ArgParser_errors = ResizeArray ()
|
let ArgParser_errors = ResizeArray ()
|
||||||
|
|
||||||
let helpText () =
|
let helpText () =
|
||||||
@@ -1476,7 +1476,7 @@ module LoadsOfTypesNoPositionals =
|
|||||||
match arg_9 with
|
match arg_9 with
|
||||||
| None ->
|
| None ->
|
||||||
match "CONSUMEPLUGIN_THINGS" |> getEnvironmentVariable with
|
match "CONSUMEPLUGIN_THINGS" |> getEnvironmentVariable with
|
||||||
| null ->
|
| None ->
|
||||||
sprintf
|
sprintf
|
||||||
"No value was supplied for %s, nor was environment variable %s set"
|
"No value was supplied for %s, nor was environment variable %s set"
|
||||||
(sprintf "--%s" "yet-another-optional-thing")
|
(sprintf "--%s" "yet-another-optional-thing")
|
||||||
@@ -1484,7 +1484,7 @@ module LoadsOfTypesNoPositionals =
|
|||||||
|> ArgParser_errors.Add
|
|> ArgParser_errors.Add
|
||||||
|
|
||||||
Unchecked.defaultof<_>
|
Unchecked.defaultof<_>
|
||||||
| x -> x |> (fun x -> x)
|
| Some x -> x |> (fun x -> x)
|
||||||
|> Choice2Of2
|
|> Choice2Of2
|
||||||
| Some x -> Choice1Of2 x
|
| Some x -> Choice1Of2 x
|
||||||
|
|
||||||
@@ -1505,7 +1505,7 @@ module LoadsOfTypesNoPositionals =
|
|||||||
ArgParser_errors |> String.concat "\n" |> failwithf "Errors during parse!\n%s"
|
ArgParser_errors |> String.concat "\n" |> failwithf "Errors during parse!\n%s"
|
||||||
|
|
||||||
let parse (args : string list) : LoadsOfTypesNoPositionals =
|
let parse (args : string list) : LoadsOfTypesNoPositionals =
|
||||||
parse' System.Environment.GetEnvironmentVariable args
|
parse' (System.Environment.GetEnvironmentVariable >> Option.ofObj) args
|
||||||
namespace ConsumePlugin
|
namespace ConsumePlugin
|
||||||
|
|
||||||
open System
|
open System
|
||||||
@@ -1524,7 +1524,7 @@ module DatesAndTimesArgParse =
|
|||||||
/// Extension methods for argument parsing
|
/// Extension methods for argument parsing
|
||||||
type DatesAndTimes with
|
type DatesAndTimes with
|
||||||
|
|
||||||
static member parse' (getEnvironmentVariable : string -> string) (args : string list) : DatesAndTimes =
|
static member parse' (getEnvironmentVariable : string -> string option) (args : string list) : DatesAndTimes =
|
||||||
let ArgParser_errors = ResizeArray ()
|
let ArgParser_errors = ResizeArray ()
|
||||||
|
|
||||||
let helpText () =
|
let helpText () =
|
||||||
@@ -1787,7 +1787,7 @@ module DatesAndTimesArgParse =
|
|||||||
ArgParser_errors |> String.concat "\n" |> failwithf "Errors during parse!\n%s"
|
ArgParser_errors |> String.concat "\n" |> failwithf "Errors during parse!\n%s"
|
||||||
|
|
||||||
static member parse (args : string list) : DatesAndTimes =
|
static member parse (args : string list) : DatesAndTimes =
|
||||||
DatesAndTimes.parse' System.Environment.GetEnvironmentVariable args
|
DatesAndTimes.parse' (System.Environment.GetEnvironmentVariable >> Option.ofObj) args
|
||||||
namespace ConsumePlugin
|
namespace ConsumePlugin
|
||||||
|
|
||||||
open System
|
open System
|
||||||
@@ -1806,7 +1806,7 @@ module ParentRecordArgParse =
|
|||||||
/// Extension methods for argument parsing
|
/// Extension methods for argument parsing
|
||||||
type ParentRecord with
|
type ParentRecord with
|
||||||
|
|
||||||
static member parse' (getEnvironmentVariable : string -> string) (args : string list) : ParentRecord =
|
static member parse' (getEnvironmentVariable : string -> string option) (args : string list) : ParentRecord =
|
||||||
let ArgParser_errors = ResizeArray ()
|
let ArgParser_errors = ResizeArray ()
|
||||||
|
|
||||||
let helpText () =
|
let helpText () =
|
||||||
@@ -2016,7 +2016,7 @@ module ParentRecordArgParse =
|
|||||||
ArgParser_errors |> String.concat "\n" |> failwithf "Errors during parse!\n%s"
|
ArgParser_errors |> String.concat "\n" |> failwithf "Errors during parse!\n%s"
|
||||||
|
|
||||||
static member parse (args : string list) : ParentRecord =
|
static member parse (args : string list) : ParentRecord =
|
||||||
ParentRecord.parse' System.Environment.GetEnvironmentVariable args
|
ParentRecord.parse' (System.Environment.GetEnvironmentVariable >> Option.ofObj) args
|
||||||
namespace ConsumePlugin
|
namespace ConsumePlugin
|
||||||
|
|
||||||
open System
|
open System
|
||||||
@@ -2035,7 +2035,11 @@ module ParentRecordChildPosArgParse =
|
|||||||
/// Extension methods for argument parsing
|
/// Extension methods for argument parsing
|
||||||
type ParentRecordChildPos with
|
type ParentRecordChildPos with
|
||||||
|
|
||||||
static member parse' (getEnvironmentVariable : string -> string) (args : string list) : ParentRecordChildPos =
|
static member parse'
|
||||||
|
(getEnvironmentVariable : string -> string option)
|
||||||
|
(args : string list)
|
||||||
|
: ParentRecordChildPos
|
||||||
|
=
|
||||||
let ArgParser_errors = ResizeArray ()
|
let ArgParser_errors = ResizeArray ()
|
||||||
|
|
||||||
let helpText () =
|
let helpText () =
|
||||||
@@ -2209,7 +2213,7 @@ module ParentRecordChildPosArgParse =
|
|||||||
ArgParser_errors |> String.concat "\n" |> failwithf "Errors during parse!\n%s"
|
ArgParser_errors |> String.concat "\n" |> failwithf "Errors during parse!\n%s"
|
||||||
|
|
||||||
static member parse (args : string list) : ParentRecordChildPos =
|
static member parse (args : string list) : ParentRecordChildPos =
|
||||||
ParentRecordChildPos.parse' System.Environment.GetEnvironmentVariable args
|
ParentRecordChildPos.parse' (System.Environment.GetEnvironmentVariable >> Option.ofObj) args
|
||||||
namespace ConsumePlugin
|
namespace ConsumePlugin
|
||||||
|
|
||||||
open System
|
open System
|
||||||
@@ -2228,7 +2232,11 @@ module ParentRecordSelfPosArgParse =
|
|||||||
/// Extension methods for argument parsing
|
/// Extension methods for argument parsing
|
||||||
type ParentRecordSelfPos with
|
type ParentRecordSelfPos with
|
||||||
|
|
||||||
static member parse' (getEnvironmentVariable : string -> string) (args : string list) : ParentRecordSelfPos =
|
static member parse'
|
||||||
|
(getEnvironmentVariable : string -> string option)
|
||||||
|
(args : string list)
|
||||||
|
: ParentRecordSelfPos
|
||||||
|
=
|
||||||
let ArgParser_errors = ResizeArray ()
|
let ArgParser_errors = ResizeArray ()
|
||||||
|
|
||||||
let helpText () =
|
let helpText () =
|
||||||
@@ -2388,7 +2396,7 @@ module ParentRecordSelfPosArgParse =
|
|||||||
ArgParser_errors |> String.concat "\n" |> failwithf "Errors during parse!\n%s"
|
ArgParser_errors |> String.concat "\n" |> failwithf "Errors during parse!\n%s"
|
||||||
|
|
||||||
static member parse (args : string list) : ParentRecordSelfPos =
|
static member parse (args : string list) : ParentRecordSelfPos =
|
||||||
ParentRecordSelfPos.parse' System.Environment.GetEnvironmentVariable args
|
ParentRecordSelfPos.parse' (System.Environment.GetEnvironmentVariable >> Option.ofObj) args
|
||||||
namespace ConsumePlugin
|
namespace ConsumePlugin
|
||||||
|
|
||||||
open System
|
open System
|
||||||
@@ -2407,7 +2415,11 @@ module ChoicePositionalsArgParse =
|
|||||||
/// Extension methods for argument parsing
|
/// Extension methods for argument parsing
|
||||||
type ChoicePositionals with
|
type ChoicePositionals with
|
||||||
|
|
||||||
static member parse' (getEnvironmentVariable : string -> string) (args : string list) : ChoicePositionals =
|
static member parse'
|
||||||
|
(getEnvironmentVariable : string -> string option)
|
||||||
|
(args : string list)
|
||||||
|
: ChoicePositionals
|
||||||
|
=
|
||||||
let ArgParser_errors = ResizeArray ()
|
let ArgParser_errors = ResizeArray ()
|
||||||
|
|
||||||
let helpText () =
|
let helpText () =
|
||||||
@@ -2502,7 +2514,7 @@ module ChoicePositionalsArgParse =
|
|||||||
ArgParser_errors |> String.concat "\n" |> failwithf "Errors during parse!\n%s"
|
ArgParser_errors |> String.concat "\n" |> failwithf "Errors during parse!\n%s"
|
||||||
|
|
||||||
static member parse (args : string list) : ChoicePositionals =
|
static member parse (args : string list) : ChoicePositionals =
|
||||||
ChoicePositionals.parse' System.Environment.GetEnvironmentVariable args
|
ChoicePositionals.parse' (System.Environment.GetEnvironmentVariable >> Option.ofObj) args
|
||||||
namespace ConsumePlugin
|
namespace ConsumePlugin
|
||||||
|
|
||||||
open System
|
open System
|
||||||
@@ -2521,7 +2533,11 @@ module ContainsBoolEnvVarArgParse =
|
|||||||
/// Extension methods for argument parsing
|
/// Extension methods for argument parsing
|
||||||
type ContainsBoolEnvVar with
|
type ContainsBoolEnvVar with
|
||||||
|
|
||||||
static member parse' (getEnvironmentVariable : string -> string) (args : string list) : ContainsBoolEnvVar =
|
static member parse'
|
||||||
|
(getEnvironmentVariable : string -> string option)
|
||||||
|
(args : string list)
|
||||||
|
: ContainsBoolEnvVar
|
||||||
|
=
|
||||||
let ArgParser_errors = ResizeArray ()
|
let ArgParser_errors = ResizeArray ()
|
||||||
|
|
||||||
let helpText () =
|
let helpText () =
|
||||||
@@ -2653,7 +2669,7 @@ module ContainsBoolEnvVarArgParse =
|
|||||||
match arg_0 with
|
match arg_0 with
|
||||||
| None ->
|
| None ->
|
||||||
match "CONSUMEPLUGIN_THINGS" |> getEnvironmentVariable with
|
match "CONSUMEPLUGIN_THINGS" |> getEnvironmentVariable with
|
||||||
| null ->
|
| None ->
|
||||||
sprintf
|
sprintf
|
||||||
"No value was supplied for %s, nor was environment variable %s set"
|
"No value was supplied for %s, nor was environment variable %s set"
|
||||||
(sprintf "--%s" "bool-var")
|
(sprintf "--%s" "bool-var")
|
||||||
@@ -2661,7 +2677,7 @@ module ContainsBoolEnvVarArgParse =
|
|||||||
|> ArgParser_errors.Add
|
|> ArgParser_errors.Add
|
||||||
|
|
||||||
Unchecked.defaultof<_>
|
Unchecked.defaultof<_>
|
||||||
| x ->
|
| Some x ->
|
||||||
if System.String.Equals (x, "1", System.StringComparison.OrdinalIgnoreCase) then
|
if System.String.Equals (x, "1", System.StringComparison.OrdinalIgnoreCase) then
|
||||||
true
|
true
|
||||||
else if System.String.Equals (x, "0", System.StringComparison.OrdinalIgnoreCase) then
|
else if System.String.Equals (x, "0", System.StringComparison.OrdinalIgnoreCase) then
|
||||||
@@ -2679,7 +2695,7 @@ module ContainsBoolEnvVarArgParse =
|
|||||||
ArgParser_errors |> String.concat "\n" |> failwithf "Errors during parse!\n%s"
|
ArgParser_errors |> String.concat "\n" |> failwithf "Errors during parse!\n%s"
|
||||||
|
|
||||||
static member parse (args : string list) : ContainsBoolEnvVar =
|
static member parse (args : string list) : ContainsBoolEnvVar =
|
||||||
ContainsBoolEnvVar.parse' System.Environment.GetEnvironmentVariable args
|
ContainsBoolEnvVar.parse' (System.Environment.GetEnvironmentVariable >> Option.ofObj) args
|
||||||
namespace ConsumePlugin
|
namespace ConsumePlugin
|
||||||
|
|
||||||
open System
|
open System
|
||||||
@@ -2698,7 +2714,7 @@ module WithFlagDuArgParse =
|
|||||||
/// Extension methods for argument parsing
|
/// Extension methods for argument parsing
|
||||||
type WithFlagDu with
|
type WithFlagDu with
|
||||||
|
|
||||||
static member parse' (getEnvironmentVariable : string -> string) (args : string list) : WithFlagDu =
|
static member parse' (getEnvironmentVariable : string -> string option) (args : string list) : WithFlagDu =
|
||||||
let ArgParser_errors = ResizeArray ()
|
let ArgParser_errors = ResizeArray ()
|
||||||
|
|
||||||
let helpText () =
|
let helpText () =
|
||||||
@@ -2852,7 +2868,7 @@ module WithFlagDuArgParse =
|
|||||||
ArgParser_errors |> String.concat "\n" |> failwithf "Errors during parse!\n%s"
|
ArgParser_errors |> String.concat "\n" |> failwithf "Errors during parse!\n%s"
|
||||||
|
|
||||||
static member parse (args : string list) : WithFlagDu =
|
static member parse (args : string list) : WithFlagDu =
|
||||||
WithFlagDu.parse' System.Environment.GetEnvironmentVariable args
|
WithFlagDu.parse' (System.Environment.GetEnvironmentVariable >> Option.ofObj) args
|
||||||
namespace ConsumePlugin
|
namespace ConsumePlugin
|
||||||
|
|
||||||
open System
|
open System
|
||||||
@@ -2871,7 +2887,11 @@ module ContainsFlagEnvVarArgParse =
|
|||||||
/// Extension methods for argument parsing
|
/// Extension methods for argument parsing
|
||||||
type ContainsFlagEnvVar with
|
type ContainsFlagEnvVar with
|
||||||
|
|
||||||
static member parse' (getEnvironmentVariable : string -> string) (args : string list) : ContainsFlagEnvVar =
|
static member parse'
|
||||||
|
(getEnvironmentVariable : string -> string option)
|
||||||
|
(args : string list)
|
||||||
|
: ContainsFlagEnvVar
|
||||||
|
=
|
||||||
let ArgParser_errors = ResizeArray ()
|
let ArgParser_errors = ResizeArray ()
|
||||||
|
|
||||||
let helpText () =
|
let helpText () =
|
||||||
@@ -3018,7 +3038,7 @@ module ContainsFlagEnvVarArgParse =
|
|||||||
match arg_0 with
|
match arg_0 with
|
||||||
| None ->
|
| None ->
|
||||||
match "CONSUMEPLUGIN_THINGS" |> getEnvironmentVariable with
|
match "CONSUMEPLUGIN_THINGS" |> getEnvironmentVariable with
|
||||||
| null ->
|
| None ->
|
||||||
sprintf
|
sprintf
|
||||||
"No value was supplied for %s, nor was environment variable %s set"
|
"No value was supplied for %s, nor was environment variable %s set"
|
||||||
(sprintf "--%s" "dry-run")
|
(sprintf "--%s" "dry-run")
|
||||||
@@ -3026,7 +3046,7 @@ module ContainsFlagEnvVarArgParse =
|
|||||||
|> ArgParser_errors.Add
|
|> ArgParser_errors.Add
|
||||||
|
|
||||||
Unchecked.defaultof<_>
|
Unchecked.defaultof<_>
|
||||||
| x ->
|
| Some x ->
|
||||||
if System.String.Equals (x, "1", System.StringComparison.OrdinalIgnoreCase) then
|
if System.String.Equals (x, "1", System.StringComparison.OrdinalIgnoreCase) then
|
||||||
if true = Consts.FALSE then
|
if true = Consts.FALSE then
|
||||||
DryRunMode.Wet
|
DryRunMode.Wet
|
||||||
@@ -3056,7 +3076,7 @@ module ContainsFlagEnvVarArgParse =
|
|||||||
ArgParser_errors |> String.concat "\n" |> failwithf "Errors during parse!\n%s"
|
ArgParser_errors |> String.concat "\n" |> failwithf "Errors during parse!\n%s"
|
||||||
|
|
||||||
static member parse (args : string list) : ContainsFlagEnvVar =
|
static member parse (args : string list) : ContainsFlagEnvVar =
|
||||||
ContainsFlagEnvVar.parse' System.Environment.GetEnvironmentVariable args
|
ContainsFlagEnvVar.parse' (System.Environment.GetEnvironmentVariable >> Option.ofObj) args
|
||||||
namespace ConsumePlugin
|
namespace ConsumePlugin
|
||||||
|
|
||||||
open System
|
open System
|
||||||
@@ -3076,7 +3096,7 @@ module ContainsFlagDefaultValueArgParse =
|
|||||||
type ContainsFlagDefaultValue with
|
type ContainsFlagDefaultValue with
|
||||||
|
|
||||||
static member parse'
|
static member parse'
|
||||||
(getEnvironmentVariable : string -> string)
|
(getEnvironmentVariable : string -> string option)
|
||||||
(args : string list)
|
(args : string list)
|
||||||
: ContainsFlagDefaultValue
|
: ContainsFlagDefaultValue
|
||||||
=
|
=
|
||||||
@@ -3239,7 +3259,7 @@ module ContainsFlagDefaultValueArgParse =
|
|||||||
ArgParser_errors |> String.concat "\n" |> failwithf "Errors during parse!\n%s"
|
ArgParser_errors |> String.concat "\n" |> failwithf "Errors during parse!\n%s"
|
||||||
|
|
||||||
static member parse (args : string list) : ContainsFlagDefaultValue =
|
static member parse (args : string list) : ContainsFlagDefaultValue =
|
||||||
ContainsFlagDefaultValue.parse' System.Environment.GetEnvironmentVariable args
|
ContainsFlagDefaultValue.parse' (System.Environment.GetEnvironmentVariable >> Option.ofObj) args
|
||||||
namespace ConsumePlugin
|
namespace ConsumePlugin
|
||||||
|
|
||||||
open System
|
open System
|
||||||
@@ -3258,7 +3278,7 @@ module ManyLongFormsArgParse =
|
|||||||
/// Extension methods for argument parsing
|
/// Extension methods for argument parsing
|
||||||
type ManyLongForms with
|
type ManyLongForms with
|
||||||
|
|
||||||
static member parse' (getEnvironmentVariable : string -> string) (args : string list) : ManyLongForms =
|
static member parse' (getEnvironmentVariable : string -> string option) (args : string list) : ManyLongForms =
|
||||||
let ArgParser_errors = ResizeArray ()
|
let ArgParser_errors = ResizeArray ()
|
||||||
|
|
||||||
let helpText () =
|
let helpText () =
|
||||||
@@ -3504,7 +3524,7 @@ module ManyLongFormsArgParse =
|
|||||||
ArgParser_errors |> String.concat "\n" |> failwithf "Errors during parse!\n%s"
|
ArgParser_errors |> String.concat "\n" |> failwithf "Errors during parse!\n%s"
|
||||||
|
|
||||||
static member parse (args : string list) : ManyLongForms =
|
static member parse (args : string list) : ManyLongForms =
|
||||||
ManyLongForms.parse' System.Environment.GetEnvironmentVariable args
|
ManyLongForms.parse' (System.Environment.GetEnvironmentVariable >> Option.ofObj) args
|
||||||
namespace ConsumePlugin
|
namespace ConsumePlugin
|
||||||
|
|
||||||
open System
|
open System
|
||||||
@@ -3524,7 +3544,7 @@ module FlagsIntoPositionalArgsArgParse =
|
|||||||
type FlagsIntoPositionalArgs with
|
type FlagsIntoPositionalArgs with
|
||||||
|
|
||||||
static member parse'
|
static member parse'
|
||||||
(getEnvironmentVariable : string -> string)
|
(getEnvironmentVariable : string -> string option)
|
||||||
(args : string list)
|
(args : string list)
|
||||||
: FlagsIntoPositionalArgs
|
: FlagsIntoPositionalArgs
|
||||||
=
|
=
|
||||||
@@ -3668,7 +3688,7 @@ module FlagsIntoPositionalArgsArgParse =
|
|||||||
ArgParser_errors |> String.concat "\n" |> failwithf "Errors during parse!\n%s"
|
ArgParser_errors |> String.concat "\n" |> failwithf "Errors during parse!\n%s"
|
||||||
|
|
||||||
static member parse (args : string list) : FlagsIntoPositionalArgs =
|
static member parse (args : string list) : FlagsIntoPositionalArgs =
|
||||||
FlagsIntoPositionalArgs.parse' System.Environment.GetEnvironmentVariable args
|
FlagsIntoPositionalArgs.parse' (System.Environment.GetEnvironmentVariable >> Option.ofObj) args
|
||||||
namespace ConsumePlugin
|
namespace ConsumePlugin
|
||||||
|
|
||||||
open System
|
open System
|
||||||
@@ -3688,7 +3708,7 @@ module FlagsIntoPositionalArgsChoiceArgParse =
|
|||||||
type FlagsIntoPositionalArgsChoice with
|
type FlagsIntoPositionalArgsChoice with
|
||||||
|
|
||||||
static member parse'
|
static member parse'
|
||||||
(getEnvironmentVariable : string -> string)
|
(getEnvironmentVariable : string -> string option)
|
||||||
(args : string list)
|
(args : string list)
|
||||||
: FlagsIntoPositionalArgsChoice
|
: FlagsIntoPositionalArgsChoice
|
||||||
=
|
=
|
||||||
@@ -3832,7 +3852,7 @@ module FlagsIntoPositionalArgsChoiceArgParse =
|
|||||||
ArgParser_errors |> String.concat "\n" |> failwithf "Errors during parse!\n%s"
|
ArgParser_errors |> String.concat "\n" |> failwithf "Errors during parse!\n%s"
|
||||||
|
|
||||||
static member parse (args : string list) : FlagsIntoPositionalArgsChoice =
|
static member parse (args : string list) : FlagsIntoPositionalArgsChoice =
|
||||||
FlagsIntoPositionalArgsChoice.parse' System.Environment.GetEnvironmentVariable args
|
FlagsIntoPositionalArgsChoice.parse' (System.Environment.GetEnvironmentVariable >> Option.ofObj) args
|
||||||
namespace ConsumePlugin
|
namespace ConsumePlugin
|
||||||
|
|
||||||
open System
|
open System
|
||||||
@@ -3852,7 +3872,7 @@ module FlagsIntoPositionalArgsIntArgParse =
|
|||||||
type FlagsIntoPositionalArgsInt with
|
type FlagsIntoPositionalArgsInt with
|
||||||
|
|
||||||
static member parse'
|
static member parse'
|
||||||
(getEnvironmentVariable : string -> string)
|
(getEnvironmentVariable : string -> string option)
|
||||||
(args : string list)
|
(args : string list)
|
||||||
: FlagsIntoPositionalArgsInt
|
: FlagsIntoPositionalArgsInt
|
||||||
=
|
=
|
||||||
@@ -3996,7 +4016,7 @@ module FlagsIntoPositionalArgsIntArgParse =
|
|||||||
ArgParser_errors |> String.concat "\n" |> failwithf "Errors during parse!\n%s"
|
ArgParser_errors |> String.concat "\n" |> failwithf "Errors during parse!\n%s"
|
||||||
|
|
||||||
static member parse (args : string list) : FlagsIntoPositionalArgsInt =
|
static member parse (args : string list) : FlagsIntoPositionalArgsInt =
|
||||||
FlagsIntoPositionalArgsInt.parse' System.Environment.GetEnvironmentVariable args
|
FlagsIntoPositionalArgsInt.parse' (System.Environment.GetEnvironmentVariable >> Option.ofObj) args
|
||||||
namespace ConsumePlugin
|
namespace ConsumePlugin
|
||||||
|
|
||||||
open System
|
open System
|
||||||
@@ -4016,7 +4036,7 @@ module FlagsIntoPositionalArgsIntChoiceArgParse =
|
|||||||
type FlagsIntoPositionalArgsIntChoice with
|
type FlagsIntoPositionalArgsIntChoice with
|
||||||
|
|
||||||
static member parse'
|
static member parse'
|
||||||
(getEnvironmentVariable : string -> string)
|
(getEnvironmentVariable : string -> string option)
|
||||||
(args : string list)
|
(args : string list)
|
||||||
: FlagsIntoPositionalArgsIntChoice
|
: FlagsIntoPositionalArgsIntChoice
|
||||||
=
|
=
|
||||||
@@ -4160,7 +4180,7 @@ module FlagsIntoPositionalArgsIntChoiceArgParse =
|
|||||||
ArgParser_errors |> String.concat "\n" |> failwithf "Errors during parse!\n%s"
|
ArgParser_errors |> String.concat "\n" |> failwithf "Errors during parse!\n%s"
|
||||||
|
|
||||||
static member parse (args : string list) : FlagsIntoPositionalArgsIntChoice =
|
static member parse (args : string list) : FlagsIntoPositionalArgsIntChoice =
|
||||||
FlagsIntoPositionalArgsIntChoice.parse' System.Environment.GetEnvironmentVariable args
|
FlagsIntoPositionalArgsIntChoice.parse' (System.Environment.GetEnvironmentVariable >> Option.ofObj) args
|
||||||
namespace ConsumePlugin
|
namespace ConsumePlugin
|
||||||
|
|
||||||
open System
|
open System
|
||||||
@@ -4180,7 +4200,7 @@ module FlagsIntoPositionalArgs'ArgParse =
|
|||||||
type FlagsIntoPositionalArgs' with
|
type FlagsIntoPositionalArgs' with
|
||||||
|
|
||||||
static member parse'
|
static member parse'
|
||||||
(getEnvironmentVariable : string -> string)
|
(getEnvironmentVariable : string -> string option)
|
||||||
(args : string list)
|
(args : string list)
|
||||||
: FlagsIntoPositionalArgs'
|
: FlagsIntoPositionalArgs'
|
||||||
=
|
=
|
||||||
@@ -4324,4 +4344,4 @@ module FlagsIntoPositionalArgs'ArgParse =
|
|||||||
ArgParser_errors |> String.concat "\n" |> failwithf "Errors during parse!\n%s"
|
ArgParser_errors |> String.concat "\n" |> failwithf "Errors during parse!\n%s"
|
||||||
|
|
||||||
static member parse (args : string list) : FlagsIntoPositionalArgs' =
|
static member parse (args : string list) : FlagsIntoPositionalArgs' =
|
||||||
FlagsIntoPositionalArgs'.parse' System.Environment.GetEnvironmentVariable args
|
FlagsIntoPositionalArgs'.parse' (System.Environment.GetEnvironmentVariable >> Option.ofObj) args
|
||||||
|
@@ -71,7 +71,11 @@ module JsonRecordType =
|
|||||||
)
|
)
|
||||||
| v -> v)
|
| v -> v)
|
||||||
.AsArray ()
|
.AsArray ()
|
||||||
|> Seq.map (fun elt -> elt.AsValue().GetValue<System.Int32> ())
|
|> Seq.map (fun elt ->
|
||||||
|
(match elt with
|
||||||
|
| null -> raise (System.ArgumentNullException ())
|
||||||
|
| elt -> elt.AsValue().GetValue<System.Int32> ())
|
||||||
|
)
|
||||||
|> Array.ofSeq
|
|> Array.ofSeq
|
||||||
|
|
||||||
let arg_4 =
|
let arg_4 =
|
||||||
@@ -84,7 +88,11 @@ module JsonRecordType =
|
|||||||
)
|
)
|
||||||
| v -> v)
|
| v -> v)
|
||||||
.AsArray ()
|
.AsArray ()
|
||||||
|> Seq.map (fun elt -> elt.AsValue().GetValue<System.String> ())
|
|> Seq.map (fun elt ->
|
||||||
|
(match elt with
|
||||||
|
| null -> raise (System.ArgumentNullException ())
|
||||||
|
| elt -> elt.AsValue().GetValue<System.String> ())
|
||||||
|
)
|
||||||
|> Array.ofSeq
|
|> Array.ofSeq
|
||||||
|
|
||||||
let arg_3 =
|
let arg_3 =
|
||||||
@@ -109,7 +117,11 @@ module JsonRecordType =
|
|||||||
)
|
)
|
||||||
| v -> v)
|
| v -> v)
|
||||||
.AsArray ()
|
.AsArray ()
|
||||||
|> Seq.map (fun elt -> elt.AsValue().GetValue<System.Int32> ())
|
|> Seq.map (fun elt ->
|
||||||
|
(match elt with
|
||||||
|
| null -> raise (System.ArgumentNullException ())
|
||||||
|
| elt -> elt.AsValue().GetValue<System.Int32> ())
|
||||||
|
)
|
||||||
|> List.ofSeq
|
|> List.ofSeq
|
||||||
|
|
||||||
let arg_1 =
|
let arg_1 =
|
||||||
|
@@ -60,7 +60,11 @@ module GymOpeningHours =
|
|||||||
)
|
)
|
||||||
| v -> v)
|
| v -> v)
|
||||||
.AsArray ()
|
.AsArray ()
|
||||||
|> Seq.map (fun elt -> elt.AsValue().GetValue<System.String> ())
|
|> Seq.map (fun elt ->
|
||||||
|
(match elt with
|
||||||
|
| null -> raise (System.ArgumentNullException ())
|
||||||
|
| elt -> elt.AsValue().GetValue<System.String> ())
|
||||||
|
)
|
||||||
|> List.ofSeq
|
|> List.ofSeq
|
||||||
|
|
||||||
let arg_0 =
|
let arg_0 =
|
||||||
@@ -1038,7 +1042,11 @@ module Sessions =
|
|||||||
)
|
)
|
||||||
| v -> v)
|
| v -> v)
|
||||||
.AsArray ()
|
.AsArray ()
|
||||||
|> Seq.map (fun elt -> Visit.jsonParse elt)
|
|> Seq.map (fun elt ->
|
||||||
|
(match elt with
|
||||||
|
| null -> raise (System.ArgumentNullException ())
|
||||||
|
| elt -> Visit.jsonParse elt)
|
||||||
|
)
|
||||||
|> List.ofSeq
|
|> List.ofSeq
|
||||||
|
|
||||||
let arg_0 =
|
let arg_0 =
|
||||||
|
@@ -48,7 +48,14 @@ module PureGymApi =
|
|||||||
System.Text.Json.Nodes.JsonNode.ParseAsync (responseStream, cancellationToken = ct)
|
System.Text.Json.Nodes.JsonNode.ParseAsync (responseStream, cancellationToken = ct)
|
||||||
|> Async.AwaitTask
|
|> Async.AwaitTask
|
||||||
|
|
||||||
return jsonNode.AsArray () |> Seq.map (fun elt -> Gym.jsonParse elt) |> List.ofSeq
|
return
|
||||||
|
jsonNode.AsArray ()
|
||||||
|
|> Seq.map (fun elt ->
|
||||||
|
(match elt with
|
||||||
|
| null -> raise (System.ArgumentNullException ())
|
||||||
|
| elt -> Gym.jsonParse elt)
|
||||||
|
)
|
||||||
|
|> List.ofSeq
|
||||||
}
|
}
|
||||||
|> (fun a -> Async.StartAsTask (a, ?cancellationToken = ct))
|
|> (fun a -> Async.StartAsTask (a, ?cancellationToken = ct))
|
||||||
|
|
||||||
|
@@ -408,7 +408,11 @@ module InnerTypeWithBothJsonParseExtension =
|
|||||||
|
|
||||||
let value =
|
let value =
|
||||||
(kvp.Value).AsArray ()
|
(kvp.Value).AsArray ()
|
||||||
|> Seq.map (fun elt -> elt.AsValue().GetValue<System.Char> ())
|
|> Seq.map (fun elt ->
|
||||||
|
(match elt with
|
||||||
|
| null -> raise (System.ArgumentNullException ())
|
||||||
|
| elt -> elt.AsValue().GetValue<System.Char> ())
|
||||||
|
)
|
||||||
|> List.ofSeq
|
|> List.ofSeq
|
||||||
|
|
||||||
key, value
|
key, value
|
||||||
@@ -676,7 +680,11 @@ module JsonRecordTypeWithBothJsonParseExtension =
|
|||||||
)
|
)
|
||||||
| v -> v)
|
| v -> v)
|
||||||
.AsArray ()
|
.AsArray ()
|
||||||
|> Seq.map (fun elt -> elt.AsValue().GetValue<System.Int32> ())
|
|> Seq.map (fun elt ->
|
||||||
|
(match elt with
|
||||||
|
| null -> raise (System.ArgumentNullException ())
|
||||||
|
| elt -> elt.AsValue().GetValue<System.Int32> ())
|
||||||
|
)
|
||||||
|> Array.ofSeq
|
|> Array.ofSeq
|
||||||
|
|
||||||
let arg_4 =
|
let arg_4 =
|
||||||
@@ -689,7 +697,11 @@ module JsonRecordTypeWithBothJsonParseExtension =
|
|||||||
)
|
)
|
||||||
| v -> v)
|
| v -> v)
|
||||||
.AsArray ()
|
.AsArray ()
|
||||||
|> Seq.map (fun elt -> elt.AsValue().GetValue<System.String> ())
|
|> Seq.map (fun elt ->
|
||||||
|
(match elt with
|
||||||
|
| null -> raise (System.ArgumentNullException ())
|
||||||
|
| elt -> elt.AsValue().GetValue<System.String> ())
|
||||||
|
)
|
||||||
|> Array.ofSeq
|
|> Array.ofSeq
|
||||||
|
|
||||||
let arg_3 =
|
let arg_3 =
|
||||||
@@ -714,7 +726,11 @@ module JsonRecordTypeWithBothJsonParseExtension =
|
|||||||
)
|
)
|
||||||
| v -> v)
|
| v -> v)
|
||||||
.AsArray ()
|
.AsArray ()
|
||||||
|> Seq.map (fun elt -> elt.AsValue().GetValue<System.Int32> ())
|
|> Seq.map (fun elt ->
|
||||||
|
(match elt with
|
||||||
|
| null -> raise (System.ArgumentNullException ())
|
||||||
|
| elt -> elt.AsValue().GetValue<System.Int32> ())
|
||||||
|
)
|
||||||
|> List.ofSeq
|
|> List.ofSeq
|
||||||
|
|
||||||
let arg_1 =
|
let arg_1 =
|
||||||
|
@@ -94,7 +94,11 @@ module JwtVaultAuthResponse =
|
|||||||
)
|
)
|
||||||
| v -> v)
|
| v -> v)
|
||||||
.AsArray ()
|
.AsArray ()
|
||||||
|> Seq.map (fun elt -> elt.AsValue().GetValue<System.String> ())
|
|> Seq.map (fun elt ->
|
||||||
|
(match elt with
|
||||||
|
| null -> raise (System.ArgumentNullException ())
|
||||||
|
| elt -> elt.AsValue().GetValue<System.String> ())
|
||||||
|
)
|
||||||
|> List.ofSeq
|
|> List.ofSeq
|
||||||
|
|
||||||
let arg_3 =
|
let arg_3 =
|
||||||
@@ -107,7 +111,11 @@ module JwtVaultAuthResponse =
|
|||||||
)
|
)
|
||||||
| v -> v)
|
| v -> v)
|
||||||
.AsArray ()
|
.AsArray ()
|
||||||
|> Seq.map (fun elt -> elt.AsValue().GetValue<System.String> ())
|
|> Seq.map (fun elt ->
|
||||||
|
(match elt with
|
||||||
|
| null -> raise (System.ArgumentNullException ())
|
||||||
|
| elt -> elt.AsValue().GetValue<System.String> ())
|
||||||
|
)
|
||||||
|> List.ofSeq
|
|> List.ofSeq
|
||||||
|
|
||||||
let arg_2 =
|
let arg_2 =
|
||||||
@@ -120,7 +128,11 @@ module JwtVaultAuthResponse =
|
|||||||
)
|
)
|
||||||
| v -> v)
|
| v -> v)
|
||||||
.AsArray ()
|
.AsArray ()
|
||||||
|> Seq.map (fun elt -> elt.AsValue().GetValue<System.String> ())
|
|> Seq.map (fun elt ->
|
||||||
|
(match elt with
|
||||||
|
| null -> raise (System.ArgumentNullException ())
|
||||||
|
| elt -> elt.AsValue().GetValue<System.String> ())
|
||||||
|
)
|
||||||
|> List.ofSeq
|
|> List.ofSeq
|
||||||
|
|
||||||
let arg_1 =
|
let arg_1 =
|
||||||
|
@@ -68,7 +68,7 @@ module TestArgParser =
|
|||||||
|
|
||||||
let getEnvVar (_ : string) =
|
let getEnvVar (_ : string) =
|
||||||
Interlocked.Increment envCalls |> ignore<int>
|
Interlocked.Increment envCalls |> ignore<int>
|
||||||
""
|
None
|
||||||
|
|
||||||
let args = [ "--foo=3" ; "--non-existent" ; "--bar=4" ; "--baz=true" ]
|
let args = [ "--foo=3" ; "--non-existent" ; "--bar=4" ; "--baz=true" ]
|
||||||
|
|
||||||
@@ -91,7 +91,7 @@ module TestArgParser =
|
|||||||
|
|
||||||
let getEnvVar (_ : string) =
|
let getEnvVar (_ : string) =
|
||||||
Interlocked.Increment envCalls |> ignore<int>
|
Interlocked.Increment envCalls |> ignore<int>
|
||||||
""
|
None
|
||||||
|
|
||||||
let property (args : (int * bool) list) (afterDoubleDash : int list option) =
|
let property (args : (int * bool) list) (afterDoubleDash : int list option) =
|
||||||
let flatArgs =
|
let flatArgs =
|
||||||
@@ -127,7 +127,7 @@ module TestArgParser =
|
|||||||
|
|
||||||
let getEnvVar (_ : string) =
|
let getEnvVar (_ : string) =
|
||||||
Interlocked.Increment envCalls |> ignore<int>
|
Interlocked.Increment envCalls |> ignore<int>
|
||||||
""
|
None
|
||||||
|
|
||||||
let args = [ "--foo=3" ; "--rest" ; "7" ; "--bar=4" ; "--baz=true" ; "--rest=8" ]
|
let args = [ "--foo=3" ; "--rest" ; "7" ; "--bar=4" ; "--baz=true" ; "--rest=8" ]
|
||||||
|
|
||||||
@@ -150,7 +150,7 @@ module TestArgParser =
|
|||||||
|
|
||||||
let getEnvVar (_ : string) =
|
let getEnvVar (_ : string) =
|
||||||
Interlocked.Increment envCalls |> ignore<int>
|
Interlocked.Increment envCalls |> ignore<int>
|
||||||
""
|
None
|
||||||
|
|
||||||
let args = [ "--foo=3" ; "--foo" ; "9" ; "--bar=4" ; "--baz=true" ; "--baz=false" ]
|
let args = [ "--foo=3" ; "--foo" ; "9" ; "--bar=4" ; "--baz=true" ; "--baz=false" ]
|
||||||
|
|
||||||
@@ -171,7 +171,7 @@ Argument '--baz' was supplied multiple times: True and false"""
|
|||||||
|
|
||||||
let getEnvVar (_ : string) =
|
let getEnvVar (_ : string) =
|
||||||
Interlocked.Increment envCalls |> ignore<int>
|
Interlocked.Increment envCalls |> ignore<int>
|
||||||
""
|
None
|
||||||
|
|
||||||
let args = [ "--" ; "--foo=3" ; "--bar=4" ; "--baz=true" ]
|
let args = [ "--" ; "--foo=3" ; "--bar=4" ; "--baz=true" ]
|
||||||
|
|
||||||
@@ -191,7 +191,7 @@ Required argument '--baz' received no value"""
|
|||||||
let ``Help text`` () =
|
let ``Help text`` () =
|
||||||
let getEnvVar (s : string) =
|
let getEnvVar (s : string) =
|
||||||
s |> shouldEqual "CONSUMEPLUGIN_THINGS"
|
s |> shouldEqual "CONSUMEPLUGIN_THINGS"
|
||||||
"hi!"
|
Some "hi!"
|
||||||
|
|
||||||
let exc =
|
let exc =
|
||||||
Assert.Throws<exn> (fun () -> Basic.parse' getEnvVar [ "--help" ] |> ignore<Basic>)
|
Assert.Throws<exn> (fun () -> Basic.parse' getEnvVar [ "--help" ] |> ignore<Basic>)
|
||||||
@@ -210,7 +210,7 @@ Required argument '--baz' received no value"""
|
|||||||
|
|
||||||
let getEnvVar (_ : string) =
|
let getEnvVar (_ : string) =
|
||||||
Interlocked.Increment envVars |> ignore<int>
|
Interlocked.Increment envVars |> ignore<int>
|
||||||
""
|
None
|
||||||
|
|
||||||
let exc =
|
let exc =
|
||||||
Assert.Throws<exn> (fun () -> LoadsOfTypes.parse' getEnvVar [ "--help" ] |> ignore<LoadsOfTypes>)
|
Assert.Throws<exn> (fun () -> LoadsOfTypes.parse' getEnvVar [ "--help" ] |> ignore<LoadsOfTypes>)
|
||||||
@@ -236,7 +236,7 @@ Required argument '--baz' received no value"""
|
|||||||
let ``Default values`` () =
|
let ``Default values`` () =
|
||||||
let getEnvVar (s : string) =
|
let getEnvVar (s : string) =
|
||||||
s |> shouldEqual "CONSUMEPLUGIN_THINGS"
|
s |> shouldEqual "CONSUMEPLUGIN_THINGS"
|
||||||
"hi!"
|
Some "hi!"
|
||||||
|
|
||||||
let args =
|
let args =
|
||||||
[
|
[
|
||||||
@@ -264,7 +264,7 @@ Required argument '--baz' received no value"""
|
|||||||
|
|
||||||
let getEnvVar (_ : string) =
|
let getEnvVar (_ : string) =
|
||||||
Interlocked.Increment count |> ignore<int>
|
Interlocked.Increment count |> ignore<int>
|
||||||
""
|
None
|
||||||
|
|
||||||
let exc =
|
let exc =
|
||||||
Assert.Throws<exn> (fun () -> DatesAndTimes.parse' getEnvVar [ "--help" ] |> ignore<DatesAndTimes>)
|
Assert.Throws<exn> (fun () -> DatesAndTimes.parse' getEnvVar [ "--help" ] |> ignore<DatesAndTimes>)
|
||||||
@@ -285,7 +285,7 @@ Required argument '--baz' received no value"""
|
|||||||
|
|
||||||
let getEnvVar (_ : string) =
|
let getEnvVar (_ : string) =
|
||||||
Interlocked.Increment count |> ignore<int>
|
Interlocked.Increment count |> ignore<int>
|
||||||
""
|
None
|
||||||
|
|
||||||
let parsed =
|
let parsed =
|
||||||
DatesAndTimes.parse'
|
DatesAndTimes.parse'
|
||||||
@@ -448,7 +448,7 @@ Required argument '--exact' received no value"""
|
|||||||
let ``Bool env vars can be populated`` (envValue : string, boolValue : bool) =
|
let ``Bool env vars can be populated`` (envValue : string, boolValue : bool) =
|
||||||
let getEnvVar (s : string) =
|
let getEnvVar (s : string) =
|
||||||
s |> shouldEqual "CONSUMEPLUGIN_THINGS"
|
s |> shouldEqual "CONSUMEPLUGIN_THINGS"
|
||||||
envValue
|
Some envValue
|
||||||
|
|
||||||
ContainsBoolEnvVar.parse' getEnvVar []
|
ContainsBoolEnvVar.parse' getEnvVar []
|
||||||
|> shouldEqual
|
|> shouldEqual
|
||||||
@@ -470,7 +470,7 @@ Required argument '--exact' received no value"""
|
|||||||
let ``Flag DUs can be parsed from env var`` (envValue : string, boolValue : bool) =
|
let ``Flag DUs can be parsed from env var`` (envValue : string, boolValue : bool) =
|
||||||
let getEnvVar (s : string) =
|
let getEnvVar (s : string) =
|
||||||
s |> shouldEqual "CONSUMEPLUGIN_THINGS"
|
s |> shouldEqual "CONSUMEPLUGIN_THINGS"
|
||||||
envValue
|
Some envValue
|
||||||
|
|
||||||
let boolValue = if boolValue then DryRunMode.Dry else DryRunMode.Wet
|
let boolValue = if boolValue then DryRunMode.Dry else DryRunMode.Wet
|
||||||
|
|
||||||
|
@@ -1396,7 +1396,7 @@ module internal ArgParserGenerator =
|
|||||||
|
|
||||||
[
|
[
|
||||||
SynMatchClause.create
|
SynMatchClause.create
|
||||||
SynPat.createNull
|
(SynPat.named "None")
|
||||||
(SynExpr.sequential
|
(SynExpr.sequential
|
||||||
[
|
[
|
||||||
errorMessage
|
errorMessage
|
||||||
@@ -1406,7 +1406,7 @@ module internal ArgParserGenerator =
|
|||||||
unchecked
|
unchecked
|
||||||
])
|
])
|
||||||
|
|
||||||
SynMatchClause.create (SynPat.named "x") parser
|
SynMatchClause.create (SynPat.nameWithArgs "Some" [ SynPat.named "x" ]) parser
|
||||||
]
|
]
|
||||||
|> SynExpr.createMatch result
|
|> SynExpr.createMatch result
|
||||||
| ArgumentDefaultSpec.FunctionCall name ->
|
| ArgumentDefaultSpec.FunctionCall name ->
|
||||||
@@ -1694,7 +1694,7 @@ module internal ArgParserGenerator =
|
|||||||
[ Ident.create "parse'" ]
|
[ Ident.create "parse'" ]
|
||||||
[
|
[
|
||||||
SynPat.named "getEnvironmentVariable"
|
SynPat.named "getEnvironmentVariable"
|
||||||
|> SynPat.annotateType (SynType.funFromDomain SynType.string SynType.string)
|
|> SynPat.annotateType (SynType.funFromDomain SynType.string (SynType.option SynType.string))
|
||||||
argsParam
|
argsParam
|
||||||
]
|
]
|
||||||
|> SynBinding.withReturnAnnotation (SynType.createLongIdent [ taggedType.Name ])
|
|> SynBinding.withReturnAnnotation (SynType.createLongIdent [ taggedType.Name ])
|
||||||
@@ -1708,7 +1708,12 @@ module internal ArgParserGenerator =
|
|||||||
|
|
||||||
let parse =
|
let parse =
|
||||||
SynExpr.createLongIdent' parsePrimeCall
|
SynExpr.createLongIdent' parsePrimeCall
|
||||||
|> SynExpr.applyTo (SynExpr.createLongIdent [ "System" ; "Environment" ; "GetEnvironmentVariable" ])
|
|> SynExpr.applyTo (
|
||||||
|
SynExpr.paren (
|
||||||
|
SynExpr.createLongIdent [ "System" ; "Environment" ; "GetEnvironmentVariable" ]
|
||||||
|
|> SynExpr.composeWith (SynExpr.createLongIdent [ "Option" ; "ofObj" ])
|
||||||
|
)
|
||||||
|
)
|
||||||
|> SynExpr.applyTo (SynExpr.createIdent "args")
|
|> SynExpr.applyTo (SynExpr.createIdent "args")
|
||||||
|> SynBinding.basic [ Ident.create "parse" ] [ argsParam ]
|
|> SynBinding.basic [ Ident.create "parse" ] [ argsParam ]
|
||||||
|> SynBinding.withReturnAnnotation (SynType.createLongIdent [ taggedType.Name ])
|
|> SynBinding.withReturnAnnotation (SynType.createLongIdent [ taggedType.Name ])
|
||||||
|
@@ -26,7 +26,7 @@ module internal JsonParseGenerator =
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// (match {indexed} with | null -> raise (System.Collections.Generic.KeyNotFoundException ({propertyName} not found)) | v -> v)
|
/// (match {indexed} with | null -> raise (System.Collections.Generic.KeyNotFoundException ({propertyName} not found)) | v -> v)
|
||||||
let assertNotNull (propertyName : SynExpr) (indexed : SynExpr) =
|
let assertPropertyExists (propertyName : SynExpr) (indexed : SynExpr) =
|
||||||
let raiseExpr =
|
let raiseExpr =
|
||||||
SynExpr.applyFunction
|
SynExpr.applyFunction
|
||||||
(SynExpr.createIdent "sprintf")
|
(SynExpr.createIdent "sprintf")
|
||||||
@@ -46,28 +46,42 @@ module internal JsonParseGenerator =
|
|||||||
|> SynExpr.createMatch indexed
|
|> SynExpr.createMatch indexed
|
||||||
|> SynExpr.paren
|
|> SynExpr.paren
|
||||||
|
|
||||||
|
let assertNotNull (boundIdent : Ident) (body : SynExpr) : SynExpr =
|
||||||
|
let raiseExpr =
|
||||||
|
SynExpr.CreateConst ()
|
||||||
|
|> SynExpr.applyFunction (SynExpr.createLongIdent [ "System" ; "ArgumentNullException" ])
|
||||||
|
|> SynExpr.paren
|
||||||
|
|> SynExpr.applyFunction (SynExpr.createIdent "raise")
|
||||||
|
|
||||||
|
[
|
||||||
|
SynMatchClause.create SynPat.createNull raiseExpr
|
||||||
|
SynMatchClause.create (SynPat.namedI boundIdent) body
|
||||||
|
]
|
||||||
|
|> SynExpr.createMatch (SynExpr.createIdent' boundIdent)
|
||||||
|
|> SynExpr.paren
|
||||||
|
|
||||||
/// {node}.AsValue().GetValue<{typeName}> ()
|
/// {node}.AsValue().GetValue<{typeName}> ()
|
||||||
/// If `propertyName` is Some, uses `assertNotNull {node}` instead of `{node}`.
|
/// If `propertyName` is Some, uses `assertPropertyExists {node}` instead of `{node}`.
|
||||||
let asValueGetValue (propertyName : SynExpr option) (typeName : string) (node : SynExpr) : SynExpr =
|
let asValueGetValue (propertyName : SynExpr option) (typeName : string) (node : SynExpr) : SynExpr =
|
||||||
match propertyName with
|
match propertyName with
|
||||||
| None -> node
|
| None -> node
|
||||||
| Some propertyName -> assertNotNull propertyName node
|
| Some propertyName -> assertPropertyExists propertyName node
|
||||||
|> SynExpr.callMethod "AsValue"
|
|> SynExpr.callMethod "AsValue"
|
||||||
|> SynExpr.callGenericMethod' "GetValue" typeName
|
|> SynExpr.callGenericMethod' "GetValue" typeName
|
||||||
|
|
||||||
let asValueGetValueIdent (propertyName : SynExpr option) (typeName : LongIdent) (node : SynExpr) : SynExpr =
|
let asValueGetValueIdent (propertyName : SynExpr option) (typeName : LongIdent) (node : SynExpr) : SynExpr =
|
||||||
match propertyName with
|
match propertyName with
|
||||||
| None -> node
|
| None -> node
|
||||||
| Some propertyName -> assertNotNull propertyName node
|
| Some propertyName -> assertPropertyExists propertyName node
|
||||||
|> SynExpr.callMethod "AsValue"
|
|> SynExpr.callMethod "AsValue"
|
||||||
|> SynExpr.callGenericMethod (SynLongIdent.createS "GetValue") [ SynType.createLongIdent typeName ]
|
|> SynExpr.callGenericMethod (SynLongIdent.createS "GetValue") [ SynType.createLongIdent typeName ]
|
||||||
|
|
||||||
/// {node}.AsObject()
|
/// {node}.AsObject()
|
||||||
/// If `propertyName` is Some, uses `assertNotNull {node}` instead of `{node}`.
|
/// If `propertyName` is Some, uses `assertPropertyExists {node}` instead of `{node}`.
|
||||||
let asObject (propertyName : SynExpr option) (node : SynExpr) : SynExpr =
|
let asObject (propertyName : SynExpr option) (node : SynExpr) : SynExpr =
|
||||||
match propertyName with
|
match propertyName with
|
||||||
| None -> node
|
| None -> node
|
||||||
| Some propertyName -> assertNotNull propertyName node
|
| Some propertyName -> assertPropertyExists propertyName node
|
||||||
|> SynExpr.callMethod "AsObject"
|
|> SynExpr.callMethod "AsObject"
|
||||||
|
|
||||||
/// {type}.jsonParse {node}
|
/// {type}.jsonParse {node}
|
||||||
@@ -77,8 +91,8 @@ module internal JsonParseGenerator =
|
|||||||
|
|
||||||
/// collectionType is e.g. "List"; we'll be calling `ofSeq` on it.
|
/// collectionType is e.g. "List"; we'll be calling `ofSeq` on it.
|
||||||
/// body is the body of a lambda which takes a parameter `elt`.
|
/// body is the body of a lambda which takes a parameter `elt`.
|
||||||
/// {assertNotNull node}.AsArray()
|
/// {assertPropertyExists node}.AsArray()
|
||||||
/// |> Seq.map (fun elt -> {body})
|
/// |> Seq.map (fun elt -> {assertNotNull} {body})
|
||||||
/// |> {collectionType}.ofSeq
|
/// |> {collectionType}.ofSeq
|
||||||
let asArrayMapped
|
let asArrayMapped
|
||||||
(propertyName : SynExpr option)
|
(propertyName : SynExpr option)
|
||||||
@@ -89,10 +103,12 @@ module internal JsonParseGenerator =
|
|||||||
=
|
=
|
||||||
match propertyName with
|
match propertyName with
|
||||||
| None -> node
|
| None -> node
|
||||||
| Some propertyName -> assertNotNull propertyName node
|
| Some propertyName -> assertPropertyExists propertyName node
|
||||||
|> SynExpr.callMethod "AsArray"
|
|> SynExpr.callMethod "AsArray"
|
||||||
|> SynExpr.pipeThroughFunction (
|
|> SynExpr.pipeThroughFunction (
|
||||||
SynExpr.applyFunction (SynExpr.createLongIdent [ "Seq" ; "map" ]) (SynExpr.createLambda "elt" body)
|
SynExpr.applyFunction
|
||||||
|
(SynExpr.createLongIdent [ "Seq" ; "map" ])
|
||||||
|
(SynExpr.createLambda "elt" (assertNotNull (Ident.create "elt") body))
|
||||||
)
|
)
|
||||||
|> SynExpr.pipeThroughFunction (SynExpr.createLongIdent [ collectionType ; "ofSeq" ])
|
|> SynExpr.pipeThroughFunction (SynExpr.createLongIdent [ collectionType ; "ofSeq" ])
|
||||||
|
|
||||||
@@ -177,27 +193,29 @@ module internal JsonParseGenerator =
|
|||||||
=
|
=
|
||||||
// TODO: parsing format for DateTime etc
|
// TODO: parsing format for DateTime etc
|
||||||
match fieldType with
|
match fieldType with
|
||||||
|
// Struct types
|
||||||
| DateOnly ->
|
| DateOnly ->
|
||||||
node
|
node
|
||||||
|> asValueGetValue propertyName "string"
|
|> asValueGetValue propertyName "string"
|
||||||
|> SynExpr.pipeThroughFunction (SynExpr.createLongIdent [ "System" ; "DateOnly" ; "Parse" ])
|
|> SynExpr.pipeThroughFunction (SynExpr.createLongIdent [ "System" ; "DateOnly" ; "Parse" ])
|
||||||
| Uri ->
|
|
||||||
node
|
|
||||||
|> asValueGetValue propertyName "string"
|
|
||||||
|> SynExpr.pipeThroughFunction (SynExpr.createLongIdent [ "System" ; "Uri" ])
|
|
||||||
| Guid ->
|
|
||||||
node
|
|
||||||
|> asValueGetValue propertyName "string"
|
|
||||||
|> SynExpr.pipeThroughFunction (SynExpr.createLongIdent [ "System" ; "Guid" ; "Parse" ])
|
|
||||||
| DateTime ->
|
| DateTime ->
|
||||||
node
|
node
|
||||||
|> asValueGetValue propertyName "string"
|
|> asValueGetValue propertyName "string"
|
||||||
|> SynExpr.pipeThroughFunction (SynExpr.createLongIdent [ "System" ; "DateTime" ; "Parse" ])
|
|> SynExpr.pipeThroughFunction (SynExpr.createLongIdent [ "System" ; "DateTime" ; "Parse" ])
|
||||||
|
| NumberType typeName -> parseNumberType options propertyName node typeName
|
||||||
|
| Guid ->
|
||||||
|
node
|
||||||
|
|> asValueGetValue propertyName "string"
|
||||||
|
|> SynExpr.pipeThroughFunction (SynExpr.createLongIdent [ "System" ; "Guid" ; "Parse" ])
|
||||||
|
// Reference types
|
||||||
|
| Uri ->
|
||||||
|
node
|
||||||
|
|> asValueGetValue propertyName "string"
|
||||||
|
|> SynExpr.pipeThroughFunction (SynExpr.createLongIdent [ "System" ; "Uri" ])
|
||||||
| DateTimeOffset ->
|
| DateTimeOffset ->
|
||||||
node
|
node
|
||||||
|> asValueGetValue propertyName "string"
|
|> asValueGetValue propertyName "string"
|
||||||
|> SynExpr.pipeThroughFunction (SynExpr.createLongIdent [ "System" ; "DateTimeOffset" ; "Parse" ])
|
|> SynExpr.pipeThroughFunction (SynExpr.createLongIdent [ "System" ; "DateTimeOffset" ; "Parse" ])
|
||||||
| NumberType typeName -> parseNumberType options propertyName node typeName
|
|
||||||
| PrimitiveType typeName -> asValueGetValueIdent propertyName typeName node
|
| PrimitiveType typeName -> asValueGetValueIdent propertyName typeName node
|
||||||
| OptionType ty ->
|
| OptionType ty ->
|
||||||
let someClause =
|
let someClause =
|
||||||
@@ -291,7 +309,7 @@ module internal JsonParseGenerator =
|
|||||||
|
|
||||||
match propertyName with
|
match propertyName with
|
||||||
| None -> node
|
| None -> node
|
||||||
| Some propertyName -> assertNotNull propertyName node
|
| Some propertyName -> assertPropertyExists propertyName node
|
||||||
|> typeJsonParse typeName
|
|> typeJsonParse typeName
|
||||||
|
|
||||||
/// propertyName is probably a string literal, but it could be a [<Literal>] variable
|
/// propertyName is probably a string literal, but it could be a [<Literal>] variable
|
||||||
@@ -505,7 +523,7 @@ module internal JsonParseGenerator =
|
|||||||
|> SynExpr.createLet
|
|> SynExpr.createLet
|
||||||
[
|
[
|
||||||
SynExpr.index (SynExpr.CreateConst "data") (SynExpr.createIdent "node")
|
SynExpr.index (SynExpr.CreateConst "data") (SynExpr.createIdent "node")
|
||||||
|> assertNotNull (SynExpr.CreateConst "data")
|
|> assertPropertyExists (SynExpr.CreateConst "data")
|
||||||
|> SynBinding.basic [ Ident.create "node" ] []
|
|> SynBinding.basic [ Ident.create "node" ] []
|
||||||
]
|
]
|
||||||
|
|
||||||
@@ -553,7 +571,7 @@ module internal JsonParseGenerator =
|
|||||||
|
|
||||||
SynExpr.createIdent "node"
|
SynExpr.createIdent "node"
|
||||||
|> SynExpr.index property
|
|> SynExpr.index property
|
||||||
|> assertNotNull property
|
|> assertPropertyExists property
|
||||||
|> SynExpr.pipeThroughFunction (
|
|> SynExpr.pipeThroughFunction (
|
||||||
SynExpr.createLambda "v" (SynExpr.callGenericMethod' "GetValue" "string" (SynExpr.createIdent "v"))
|
SynExpr.createLambda "v" (SynExpr.callGenericMethod' "GetValue" "string" (SynExpr.createIdent "v"))
|
||||||
)
|
)
|
||||||
|
@@ -22,7 +22,7 @@
|
|||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Myriad.Core" Version="0.8.3" />
|
<PackageReference Include="Myriad.Core" Version="0.8.3" />
|
||||||
<PackageReference Include="TypeEquality" Version="0.3.0" />
|
<PackageReference Include="TypeEquality" Version="0.3.0" />
|
||||||
<PackageReference Include="WoofWare.Whippet.Fantomas" Version="0.5.1" />
|
<PackageReference Include="WoofWare.Whippet.Fantomas" Version="0.6.1" />
|
||||||
<!-- the lowest version allowed by Myriad.Core -->
|
<!-- the lowest version allowed by Myriad.Core -->
|
||||||
<PackageReference Update="FSharp.Core" Version="6.0.1" PrivateAssets="all"/>
|
<PackageReference Update="FSharp.Core" Version="6.0.1" PrivateAssets="all"/>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"version": "4.0",
|
"version": "6.0",
|
||||||
"publicReleaseRefSpec": [
|
"publicReleaseRefSpec": [
|
||||||
"^refs/heads/main$"
|
"^refs/heads/main$"
|
||||||
],
|
],
|
||||||
|
6
flake.lock
generated
6
flake.lock
generated
@@ -20,11 +20,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1744502386,
|
"lastModified": 1744868846,
|
||||||
"narHash": "sha256-QAd1L37eU7ktL2WeLLLTmI6P9moz9+a/ONO8qNBYJgM=",
|
"narHash": "sha256-5RJTdUHDmj12Qsv7XOhuospjAjATNiTMElplWnJE9Hs=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "f6db44a8daa59c40ae41ba6e5823ec77fe0d2124",
|
"rev": "ebe4301cbd8f81c4f8d3244b3632338bbeb6d49c",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@@ -381,7 +381,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"pname": "WoofWare.Whippet.Fantomas",
|
"pname": "WoofWare.Whippet.Fantomas",
|
||||||
"version": "0.5.1",
|
"version": "0.6.1",
|
||||||
"hash": "sha256-59CwnOZQAq5ZJoUkd87OiP8KUwx8xYDLMimMMTlKeZA="
|
"hash": "sha256-UTK+WbHR83zbMZ+2BzecIrKvp/5ZppHToIZ/oHTIF1k="
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
Reference in New Issue
Block a user