Allow using fsproj annotations instead of attributes (#275)

This commit is contained in:
Patrick Stevens
2024-10-02 20:30:21 +01:00
committed by GitHub
parent 9252979673
commit 0652744c57
14 changed files with 501 additions and 27 deletions

View File

@@ -672,31 +672,16 @@ type SwaggerClientGenerator () =
|> Seq.toList
let config =
// Bug in Myriad, their arg parsing is borked.
let pars =
context.AdditionalParameters
|> Seq.map (fun (KeyValue (k, v)) -> k, v)
|> Seq.toList
let pars = MyriadParamParser.render context.AdditionalParameters
let pars =
match pars with
| [] ->
failwith "No parameters given. You must supply the <ClassName /> parameter in <MyriadParams />."
| [ key, value ] ->
let semicolon = value.IndexOf ';'
pars
|> Map.toSeq
|> Seq.map (fun (k, v) -> k.ToUpperInvariant (), v)
|> Map.ofSeq
if semicolon >= 0 then
let equals = value.IndexOf ('=', semicolon)
[
key, value.Substring (0, semicolon)
value.Substring (semicolon + 1, equals - semicolon - 1), value.Substring (equals + 1)
]
else
[ key, value ]
| rest -> rest
|> List.map (fun (key, value) -> key.ToUpperInvariant (), value)
|> Map.ofList
if pars.IsEmpty then
failwith "No parameters given. You must supply the <ClassName /> parameter in <MyriadParams />."
let createMock =
match Map.tryFind "GENERATEMOCKVISIBILITY" pars with