diff --git a/src/FSharp.Data.DesignTime/Csv/CsvGenerator.fs b/src/FSharp.Data.DesignTime/Csv/CsvGenerator.fs index 7af2d8655..f50b9dbef 100644 --- a/src/FSharp.Data.DesignTime/Csv/CsvGenerator.fs +++ b/src/FSharp.Data.DesignTime/Csv/CsvGenerator.fs @@ -99,6 +99,35 @@ module internal CsvTypeBuilder = for field in fields do rowType.AddMember field.ProvidedProperty + // Add With* methods so users can create a modified copy of a row + // e.g. myRow.WithAmount(42.0) returns a new Row identical to myRow except Amount = 42.0 + for targetIdx, targetField in List.indexed fields do + let methodName = "With" + targetField.ProvidedProperty.Name + + let withMethod = + ProvidedMethod( + methodName, + [ ProvidedParameter(targetField.ProvidedParameter.Name, targetField.ProvidedProperty.PropertyType) ], + rowType, + invokeCode = + fun args -> + let row = args.[0] + let newVal = args.[1] + + match fields with + | [ _ ] -> + // Single-column CSV: Row erases to the value itself + newVal + | _ -> + let tupleArgs = + fields + |> List.mapi (fun i _ -> if i = targetIdx then newVal else Expr.TupleGet(row, i)) + + Expr.NewTuple tupleArgs + ) + + rowType.AddMember withMethod + // The erased csv type will be parameterised by the tuple type let csvErasedTypeWithRowErasedType = typedefof>.MakeGenericType(rowErasedType) diff --git a/src/FSharp.Data.DesignTime/Json/JsonGenerator.fs b/src/FSharp.Data.DesignTime/Json/JsonGenerator.fs index b011208ca..f00d33f76 100644 --- a/src/FSharp.Data.DesignTime/Json/JsonGenerator.fs +++ b/src/FSharp.Data.DesignTime/Json/JsonGenerator.fs @@ -651,7 +651,7 @@ module JsonTypeBuilder = let name = makeUnique prop.Name - prop.Name, + (prop.Name, name), [ ProvidedProperty(name, convertedType, getterCode = getter) ], ProvidedParameter( (if ctx.UseOriginalNames then @@ -661,7 +661,8 @@ module JsonTypeBuilder = replaceJDocWithJValue ctx convertedType ) ] - let names, properties, parameters = List.unzip3 members + let namePairs, properties, parameters = List.unzip3 members + let names = namePairs |> List.map fst let properties = properties |> List.concat objectTy.AddMembers properties @@ -685,6 +686,34 @@ module JsonTypeBuilder = let ctor = ProvidedConstructor(parameters, invokeCode = ctorCode) objectTy.AddMember ctor + // Add With* methods: WithPropName(newValue) returns a new record with one field updated + for i, (rawName, displayName) in List.indexed namePairs do + let param = parameters.[i] + let cultureStr = ctx.CultureStr + + let withMethod = + ProvidedMethod( + "With" + displayName, + [ ProvidedParameter(param.Name, param.ParameterType) ], + objectTy, + invokeCode = + fun args -> + let jDoc = args.[0] + let newVal = args.[1] + let newValObj = Expr.Coerce(newVal, typeof) + + <@@ + JsonRuntime.WithRecordProperty( + (%%jDoc: IJsonDocument), + rawName, + %%newValObj, + cultureStr + ) + @@> + ) + + objectTy.AddMember withMethod + () if ctx.GenerateConstructors then diff --git a/src/FSharp.Data.Json.Core/JsonRuntime.fs b/src/FSharp.Data.Json.Core/JsonRuntime.fs index 378238b7f..9d60c0ea8 100644 --- a/src/FSharp.Data.Json.Core/JsonRuntime.fs +++ b/src/FSharp.Data.Json.Core/JsonRuntime.fs @@ -351,6 +351,31 @@ type JsonRuntime = JsonDocument.Create(json, "") + // Returns a new JSON record document with one property replaced (or added if absent). + // Used by generated With* methods. + static member WithRecordProperty(doc: IJsonDocument, name: string, value: obj, cultureStr: string) = + let cultureInfo = TextRuntime.GetCulture cultureStr + let newPropValue = JsonRuntime.ToJsonValue cultureInfo value + let existingProps = JsonRuntime.GetRecordProperties(doc) + let mutable found = false + + let updatedProps = + existingProps + |> Array.map (fun (k, v) -> + if k = name then + found <- true + k, newPropValue + else + k, v) + + let finalProps = + if found then + updatedProps + else + Array.append updatedProps [| name, newPropValue |] + + JsonDocument.Create(JsonValue.Record finalProps, "") + // Creates a JsonValue.Record, omitting null fields, and wraps it in a json document static member CreateRecordOmitNulls(properties, cultureStr) = let cultureInfo = TextRuntime.GetCulture cultureStr diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Csv,AirQuality.csv,;,,True,False,False,,,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Csv,AirQuality.csv,;,,True,False,False,,,.expected index 17adb9d32..899acbb9d 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Csv,AirQuality.csv,;,,True,False,False,,,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Csv,AirQuality.csv,;,,True,False,False,,,.expected @@ -246,4 +246,52 @@ class CsvProvider+Row : float * float * decimal * int * int * int member Wind: decimal with get (let _,_,t3,_,_,_ = this in t3) + member WithDay: day:int -> CsvProvider+Row + (let t1,_,_,_,_,_ = this in t1), + (let _,t2,_,_,_,_ = this in t2), + (let _,_,t3,_,_,_ = this in t3), + (let _,_,_,t4,_,_ = this in t4), + (let _,_,_,_,t5,_ = this in t5), + day + + member WithMonth: month:int -> CsvProvider+Row + (let t1,_,_,_,_,_ = this in t1), + (let _,t2,_,_,_,_ = this in t2), + (let _,_,t3,_,_,_ = this in t3), + (let _,_,_,t4,_,_ = this in t4), + month, + (let _,_,_,_,_,t6 = this in t6) + + member WithOzone: ozone:float -> CsvProvider+Row + ozone, + (let _,t2,_,_,_,_ = this in t2), + (let _,_,t3,_,_,_ = this in t3), + (let _,_,_,t4,_,_ = this in t4), + (let _,_,_,_,t5,_ = this in t5), + (let _,_,_,_,_,t6 = this in t6) + + member WithSolar.R: solarR:float -> CsvProvider+Row + (let t1,_,_,_,_,_ = this in t1), + solarR, + (let _,_,t3,_,_,_ = this in t3), + (let _,_,_,t4,_,_ = this in t4), + (let _,_,_,_,t5,_ = this in t5), + (let _,_,_,_,_,t6 = this in t6) + + member WithTemp: temp:int -> CsvProvider+Row + (let t1,_,_,_,_,_ = this in t1), + (let _,t2,_,_,_,_ = this in t2), + (let _,_,t3,_,_,_ = this in t3), + temp, + (let _,_,_,_,t5,_ = this in t5), + (let _,_,_,_,_,t6 = this in t6) + + member WithWind: wind:decimal -> CsvProvider+Row + (let t1,_,_,_,_,_ = this in t1), + (let _,t2,_,_,_,_ = this in t2), + wind, + (let _,_,_,t4,_,_ = this in t4), + (let _,_,_,_,t5,_ = this in t5), + (let _,_,_,_,_,t6 = this in t6) + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Csv,DnbHistoriskeKurser.csv,,,True,False,False,,nb-NO,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Csv,DnbHistoriskeKurser.csv,,,True,False,False,,nb-NO,.expected index 0f5081482..19011a619 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Csv,DnbHistoriskeKurser.csv,,,True,False,False,,nb-NO,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Csv,DnbHistoriskeKurser.csv,,,True,False,False,,nb-NO,.expected @@ -406,4 +406,147 @@ class CsvProvider+Row : System.DateTime * string * string * string * string * st member USD: string with get (let _,t2,_,_,_,_,_,_,_,_,_ = this in t2) + member WithAUD: aud:string -> CsvProvider+Row + (let t1,_,_,_,_,_,_,_,_,_,_ = this in t1), + (let _,t2,_,_,_,_,_,_,_,_,_ = this in t2), + (let _,_,t3,_,_,_,_,_,_,_,_ = this in t3), + (let _,_,_,t4,_,_,_,_,_,_,_ = this in t4), + (let _,_,_,_,t5,_,_,_,_,_,_ = this in t5), + (let _,_,_,_,_,t6,_,_,_,_,_ = this in t6), + (let _,_,_,_,_,_,t7,_,_,_,_ = this in t7), + (let _,_,_,_,_,_,_,t8,_,_,_ = this in t8), + (let _,_,_,_,_,_,_,_,t9,_,_ = this in t9), + (let _,_,_,_,_,_,_,_,_,t10,_ = this in t10), + aud + + member WithCAD: cad:string -> CsvProvider+Row + (let t1,_,_,_,_,_,_,_,_,_,_ = this in t1), + (let _,t2,_,_,_,_,_,_,_,_,_ = this in t2), + (let _,_,t3,_,_,_,_,_,_,_,_ = this in t3), + (let _,_,_,t4,_,_,_,_,_,_,_ = this in t4), + (let _,_,_,_,t5,_,_,_,_,_,_ = this in t5), + (let _,_,_,_,_,t6,_,_,_,_,_ = this in t6), + (let _,_,_,_,_,_,t7,_,_,_,_ = this in t7), + (let _,_,_,_,_,_,_,t8,_,_,_ = this in t8), + cad, + (let _,_,_,_,_,_,_,_,_,t10,_ = this in t10), + (let _,_,_,_,_,_,_,_,_,_,t11 = this in t11) + + member WithCHF: chf:string -> CsvProvider+Row + (let t1,_,_,_,_,_,_,_,_,_,_ = this in t1), + (let _,t2,_,_,_,_,_,_,_,_,_ = this in t2), + (let _,_,t3,_,_,_,_,_,_,_,_ = this in t3), + (let _,_,_,t4,_,_,_,_,_,_,_ = this in t4), + (let _,_,_,_,t5,_,_,_,_,_,_ = this in t5), + (let _,_,_,_,_,t6,_,_,_,_,_ = this in t6), + chf, + (let _,_,_,_,_,_,_,t8,_,_,_ = this in t8), + (let _,_,_,_,_,_,_,_,t9,_,_ = this in t9), + (let _,_,_,_,_,_,_,_,_,t10,_ = this in t10), + (let _,_,_,_,_,_,_,_,_,_,t11 = this in t11) + + member WithDKK: dkk:string -> CsvProvider+Row + (let t1,_,_,_,_,_,_,_,_,_,_ = this in t1), + (let _,t2,_,_,_,_,_,_,_,_,_ = this in t2), + (let _,_,t3,_,_,_,_,_,_,_,_ = this in t3), + (let _,_,_,t4,_,_,_,_,_,_,_ = this in t4), + dkk, + (let _,_,_,_,_,t6,_,_,_,_,_ = this in t6), + (let _,_,_,_,_,_,t7,_,_,_,_ = this in t7), + (let _,_,_,_,_,_,_,t8,_,_,_ = this in t8), + (let _,_,_,_,_,_,_,_,t9,_,_ = this in t9), + (let _,_,_,_,_,_,_,_,_,t10,_ = this in t10), + (let _,_,_,_,_,_,_,_,_,_,t11 = this in t11) + + member WithDato: dato:System.DateTime -> CsvProvider+Row + dato, + (let _,t2,_,_,_,_,_,_,_,_,_ = this in t2), + (let _,_,t3,_,_,_,_,_,_,_,_ = this in t3), + (let _,_,_,t4,_,_,_,_,_,_,_ = this in t4), + (let _,_,_,_,t5,_,_,_,_,_,_ = this in t5), + (let _,_,_,_,_,t6,_,_,_,_,_ = this in t6), + (let _,_,_,_,_,_,t7,_,_,_,_ = this in t7), + (let _,_,_,_,_,_,_,t8,_,_,_ = this in t8), + (let _,_,_,_,_,_,_,_,t9,_,_ = this in t9), + (let _,_,_,_,_,_,_,_,_,t10,_ = this in t10), + (let _,_,_,_,_,_,_,_,_,_,t11 = this in t11) + + member WithEUR: eur:string -> CsvProvider+Row + (let t1,_,_,_,_,_,_,_,_,_,_ = this in t1), + (let _,t2,_,_,_,_,_,_,_,_,_ = this in t2), + eur, + (let _,_,_,t4,_,_,_,_,_,_,_ = this in t4), + (let _,_,_,_,t5,_,_,_,_,_,_ = this in t5), + (let _,_,_,_,_,t6,_,_,_,_,_ = this in t6), + (let _,_,_,_,_,_,t7,_,_,_,_ = this in t7), + (let _,_,_,_,_,_,_,t8,_,_,_ = this in t8), + (let _,_,_,_,_,_,_,_,t9,_,_ = this in t9), + (let _,_,_,_,_,_,_,_,_,t10,_ = this in t10), + (let _,_,_,_,_,_,_,_,_,_,t11 = this in t11) + + member WithGBP: gbp:string -> CsvProvider+Row + (let t1,_,_,_,_,_,_,_,_,_,_ = this in t1), + (let _,t2,_,_,_,_,_,_,_,_,_ = this in t2), + (let _,_,t3,_,_,_,_,_,_,_,_ = this in t3), + (let _,_,_,t4,_,_,_,_,_,_,_ = this in t4), + (let _,_,_,_,t5,_,_,_,_,_,_ = this in t5), + gbp, + (let _,_,_,_,_,_,t7,_,_,_,_ = this in t7), + (let _,_,_,_,_,_,_,t8,_,_,_ = this in t8), + (let _,_,_,_,_,_,_,_,t9,_,_ = this in t9), + (let _,_,_,_,_,_,_,_,_,t10,_ = this in t10), + (let _,_,_,_,_,_,_,_,_,_,t11 = this in t11) + + member WithISK: isk:string -> CsvProvider+Row + (let t1,_,_,_,_,_,_,_,_,_,_ = this in t1), + (let _,t2,_,_,_,_,_,_,_,_,_ = this in t2), + (let _,_,t3,_,_,_,_,_,_,_,_ = this in t3), + (let _,_,_,t4,_,_,_,_,_,_,_ = this in t4), + (let _,_,_,_,t5,_,_,_,_,_,_ = this in t5), + (let _,_,_,_,_,t6,_,_,_,_,_ = this in t6), + (let _,_,_,_,_,_,t7,_,_,_,_ = this in t7), + (let _,_,_,_,_,_,_,t8,_,_,_ = this in t8), + (let _,_,_,_,_,_,_,_,t9,_,_ = this in t9), + isk, + (let _,_,_,_,_,_,_,_,_,_,t11 = this in t11) + + member WithJPY: jpy:string -> CsvProvider+Row + (let t1,_,_,_,_,_,_,_,_,_,_ = this in t1), + (let _,t2,_,_,_,_,_,_,_,_,_ = this in t2), + (let _,_,t3,_,_,_,_,_,_,_,_ = this in t3), + (let _,_,_,t4,_,_,_,_,_,_,_ = this in t4), + (let _,_,_,_,t5,_,_,_,_,_,_ = this in t5), + (let _,_,_,_,_,t6,_,_,_,_,_ = this in t6), + (let _,_,_,_,_,_,t7,_,_,_,_ = this in t7), + jpy, + (let _,_,_,_,_,_,_,_,t9,_,_ = this in t9), + (let _,_,_,_,_,_,_,_,_,t10,_ = this in t10), + (let _,_,_,_,_,_,_,_,_,_,t11 = this in t11) + + member WithSEK: sek:string -> CsvProvider+Row + (let t1,_,_,_,_,_,_,_,_,_,_ = this in t1), + (let _,t2,_,_,_,_,_,_,_,_,_ = this in t2), + (let _,_,t3,_,_,_,_,_,_,_,_ = this in t3), + sek, + (let _,_,_,_,t5,_,_,_,_,_,_ = this in t5), + (let _,_,_,_,_,t6,_,_,_,_,_ = this in t6), + (let _,_,_,_,_,_,t7,_,_,_,_ = this in t7), + (let _,_,_,_,_,_,_,t8,_,_,_ = this in t8), + (let _,_,_,_,_,_,_,_,t9,_,_ = this in t9), + (let _,_,_,_,_,_,_,_,_,t10,_ = this in t10), + (let _,_,_,_,_,_,_,_,_,_,t11 = this in t11) + + member WithUSD: usd:string -> CsvProvider+Row + (let t1,_,_,_,_,_,_,_,_,_,_ = this in t1), + usd, + (let _,_,t3,_,_,_,_,_,_,_,_ = this in t3), + (let _,_,_,t4,_,_,_,_,_,_,_ = this in t4), + (let _,_,_,_,t5,_,_,_,_,_,_ = this in t5), + (let _,_,_,_,_,t6,_,_,_,_,_ = this in t6), + (let _,_,_,_,_,_,t7,_,_,_,_ = this in t7), + (let _,_,_,_,_,_,_,t8,_,_,_ = this in t8), + (let _,_,_,_,_,_,_,_,t9,_,_ = this in t9), + (let _,_,_,_,_,_,_,_,_,t10,_ = this in t10), + (let _,_,_,_,_,_,_,_,_,_,t11 = this in t11) + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Csv,LastFM.tsv,,,False,False,False,,,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Csv,LastFM.tsv,,,False,False,False,,,.expected index 8c907fb2a..4fe30e976 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Csv,LastFM.tsv,,,False,False,False,,,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Csv,LastFM.tsv,,,False,False,False,,,.expected @@ -232,4 +232,52 @@ class CsvProvider+Row : string * System.DateTimeOffset * System.Guid option * st member Column6: string with get (let _,_,_,_,_,t6 = this in t6) + member WithColumn1: column1:string -> CsvProvider+Row + column1, + (let _,t2,_,_,_,_ = this in t2), + (let _,_,t3,_,_,_ = this in t3), + (let _,_,_,t4,_,_ = this in t4), + (let _,_,_,_,t5,_ = this in t5), + (let _,_,_,_,_,t6 = this in t6) + + member WithColumn2: column2:System.DateTimeOffset -> CsvProvider+Row + (let t1,_,_,_,_,_ = this in t1), + column2, + (let _,_,t3,_,_,_ = this in t3), + (let _,_,_,t4,_,_ = this in t4), + (let _,_,_,_,t5,_ = this in t5), + (let _,_,_,_,_,t6 = this in t6) + + member WithColumn3: column3:System.Guid option -> CsvProvider+Row + (let t1,_,_,_,_,_ = this in t1), + (let _,t2,_,_,_,_ = this in t2), + column3, + (let _,_,_,t4,_,_ = this in t4), + (let _,_,_,_,t5,_ = this in t5), + (let _,_,_,_,_,t6 = this in t6) + + member WithColumn4: column4:string -> CsvProvider+Row + (let t1,_,_,_,_,_ = this in t1), + (let _,t2,_,_,_,_ = this in t2), + (let _,_,t3,_,_,_ = this in t3), + column4, + (let _,_,_,_,t5,_ = this in t5), + (let _,_,_,_,_,t6 = this in t6) + + member WithColumn5: column5:string -> CsvProvider+Row + (let t1,_,_,_,_,_ = this in t1), + (let _,t2,_,_,_,_ = this in t2), + (let _,_,t3,_,_,_ = this in t3), + (let _,_,_,t4,_,_ = this in t4), + column5, + (let _,_,_,_,_,t6 = this in t6) + + member WithColumn6: column6:string -> CsvProvider+Row + (let t1,_,_,_,_,_ = this in t1), + (let _,t2,_,_,_,_ = this in t2), + (let _,_,t3,_,_,_ = this in t3), + (let _,_,_,t4,_,_ = this in t4), + (let _,_,_,_,t5,_ = this in t5), + column6 + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Csv,MSFT.csv,,,True,False,False,,,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Csv,MSFT.csv,,,True,False,False,,,.expected index 34f90f513..4e13b97b9 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Csv,MSFT.csv,,,True,False,False,,,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Csv,MSFT.csv,,,True,False,False,,,.expected @@ -278,4 +278,67 @@ class CsvProvider+Row : System.DateTime * decimal * decimal * decimal * decimal member Volume: int with get (let _,_,_,_,_,t6,_ = this in t6) + member ``WithAdj Close``: adjClose:decimal -> CsvProvider+Row + (let t1,_,_,_,_,_,_ = this in t1), + (let _,t2,_,_,_,_,_ = this in t2), + (let _,_,t3,_,_,_,_ = this in t3), + (let _,_,_,t4,_,_,_ = this in t4), + (let _,_,_,_,t5,_,_ = this in t5), + (let _,_,_,_,_,t6,_ = this in t6), + adjClose + + member WithClose: close:decimal -> CsvProvider+Row + (let t1,_,_,_,_,_,_ = this in t1), + (let _,t2,_,_,_,_,_ = this in t2), + (let _,_,t3,_,_,_,_ = this in t3), + (let _,_,_,t4,_,_,_ = this in t4), + close, + (let _,_,_,_,_,t6,_ = this in t6), + (let _,_,_,_,_,_,t7 = this in t7) + + member WithDate: date:System.DateTime -> CsvProvider+Row + date, + (let _,t2,_,_,_,_,_ = this in t2), + (let _,_,t3,_,_,_,_ = this in t3), + (let _,_,_,t4,_,_,_ = this in t4), + (let _,_,_,_,t5,_,_ = this in t5), + (let _,_,_,_,_,t6,_ = this in t6), + (let _,_,_,_,_,_,t7 = this in t7) + + member WithHigh: high:decimal -> CsvProvider+Row + (let t1,_,_,_,_,_,_ = this in t1), + (let _,t2,_,_,_,_,_ = this in t2), + high, + (let _,_,_,t4,_,_,_ = this in t4), + (let _,_,_,_,t5,_,_ = this in t5), + (let _,_,_,_,_,t6,_ = this in t6), + (let _,_,_,_,_,_,t7 = this in t7) + + member WithLow: low:decimal -> CsvProvider+Row + (let t1,_,_,_,_,_,_ = this in t1), + (let _,t2,_,_,_,_,_ = this in t2), + (let _,_,t3,_,_,_,_ = this in t3), + low, + (let _,_,_,_,t5,_,_ = this in t5), + (let _,_,_,_,_,t6,_ = this in t6), + (let _,_,_,_,_,_,t7 = this in t7) + + member WithOpen: open:decimal -> CsvProvider+Row + (let t1,_,_,_,_,_,_ = this in t1), + open, + (let _,_,t3,_,_,_,_ = this in t3), + (let _,_,_,t4,_,_,_ = this in t4), + (let _,_,_,_,t5,_,_ = this in t5), + (let _,_,_,_,_,t6,_ = this in t6), + (let _,_,_,_,_,_,t7 = this in t7) + + member WithVolume: volume:int -> CsvProvider+Row + (let t1,_,_,_,_,_,_ = this in t1), + (let _,t2,_,_,_,_,_ = this in t2), + (let _,_,t3,_,_,_,_ = this in t3), + (let _,_,_,t4,_,_,_ = this in t4), + (let _,_,_,_,t5,_,_ = this in t5), + volume, + (let _,_,_,_,_,_,t7 = this in t7) + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Csv,SmallTest.csv,,,True,False,False,,,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Csv,SmallTest.csv,,,True,False,False,,,.expected index 6899733d4..17b7dfc80 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Csv,SmallTest.csv,,,True,False,False,,,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Csv,SmallTest.csv,,,True,False,False,,,.expected @@ -150,4 +150,19 @@ class CsvProvider+Row : string * decimal * decimal member Time: decimal with get (let _,_,t3 = this in t3) + member WithDistance: distance:decimal -> CsvProvider+Row + (let t1,_,_ = this in t1), + distance, + (let _,_,t3 = this in t3) + + member WithName: name:string -> CsvProvider+Row + name, + (let _,t2,_ = this in t2), + (let _,_,t3 = this in t3) + + member WithTime: time:decimal -> CsvProvider+Row + (let t1,_,_ = this in t1), + (let _,t2,_ = this in t2), + time + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Csv,TimeSpans.csv,,,True,False,False,,,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Csv,TimeSpans.csv,,,True,False,False,,,.expected index 8613ca511..04f5e4c47 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Csv,TimeSpans.csv,,,True,False,False,,,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Csv,TimeSpans.csv,,,True,False,False,,,.expected @@ -214,4 +214,39 @@ class CsvProvider+Row : System.TimeSpan * System.TimeSpan * System.TimeSpan * st member TimespanOneTickLessThanMinValue: string with get (let _,_,_,_,t5 = this in t5) + member WithNegativeWithDayWithFraction: negativeWithDayWithFraction:System.TimeSpan -> CsvProvider+Row + (let t1,_,_,_,_ = this in t1), + (let _,t2,_,_,_ = this in t2), + negativeWithDayWithFraction, + (let _,_,_,t4,_ = this in t4), + (let _,_,_,_,t5 = this in t5) + + member WithPositiveWithDayWithFraction: positiveWithDayWithFraction:System.TimeSpan -> CsvProvider+Row + positiveWithDayWithFraction, + (let _,t2,_,_,_ = this in t2), + (let _,_,t3,_,_ = this in t3), + (let _,_,_,t4,_ = this in t4), + (let _,_,_,_,t5 = this in t5) + + member WithPositiveWithoutDayWithoutFraction: positiveWithoutDayWithoutFraction:System.TimeSpan -> CsvProvider+Row + (let t1,_,_,_,_ = this in t1), + positiveWithoutDayWithoutFraction, + (let _,_,t3,_,_ = this in t3), + (let _,_,_,t4,_ = this in t4), + (let _,_,_,_,t5 = this in t5) + + member WithTimespanOneTickGreaterThanMaxValue: timespanOneTickGreaterThanMaxValue:string -> CsvProvider+Row + (let t1,_,_,_,_ = this in t1), + (let _,t2,_,_,_ = this in t2), + (let _,_,t3,_,_ = this in t3), + timespanOneTickGreaterThanMaxValue, + (let _,_,_,_,t5 = this in t5) + + member WithTimespanOneTickLessThanMinValue: timespanOneTickLessThanMinValue:string -> CsvProvider+Row + (let t1,_,_,_,_ = this in t1), + (let _,t2,_,_,_ = this in t2), + (let _,_,t3,_,_ = this in t3), + (let _,_,_,t4,_ = this in t4), + timespanOneTickLessThanMinValue + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Csv,Titanic.csv,,,True,False,False,,,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Csv,Titanic.csv,,,True,False,False,,,.expected index 55047e633..946602d99 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Csv,Titanic.csv,,,True,False,False,,,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Csv,Titanic.csv,,,True,False,False,,,.expected @@ -438,4 +438,172 @@ class CsvProvider+Row : int * bool * int * string * string * float * int * int * member Ticket: string with get (let _,_,_,_,_,_,_,_,t9,_,_,_ = this in t9) + member WithAge: age:float -> CsvProvider+Row + (let t1,_,_,_,_,_,_,_,_,_,_,_ = this in t1), + (let _,t2,_,_,_,_,_,_,_,_,_,_ = this in t2), + (let _,_,t3,_,_,_,_,_,_,_,_,_ = this in t3), + (let _,_,_,t4,_,_,_,_,_,_,_,_ = this in t4), + (let _,_,_,_,t5,_,_,_,_,_,_,_ = this in t5), + age, + (let _,_,_,_,_,_,t7,_,_,_,_,_ = this in t7), + (let _,_,_,_,_,_,_,t8,_,_,_,_ = this in t8), + (let _,_,_,_,_,_,_,_,t9,_,_,_ = this in t9), + (let _,_,_,_,_,_,_,_,_,t10,_,_ = this in t10), + (let _,_,_,_,_,_,_,_,_,_,t11,_ = this in t11), + (let _,_,_,_,_,_,_,_,_,_,_,t12 = this in t12) + + member WithCabin: cabin:string -> CsvProvider+Row + (let t1,_,_,_,_,_,_,_,_,_,_,_ = this in t1), + (let _,t2,_,_,_,_,_,_,_,_,_,_ = this in t2), + (let _,_,t3,_,_,_,_,_,_,_,_,_ = this in t3), + (let _,_,_,t4,_,_,_,_,_,_,_,_ = this in t4), + (let _,_,_,_,t5,_,_,_,_,_,_,_ = this in t5), + (let _,_,_,_,_,t6,_,_,_,_,_,_ = this in t6), + (let _,_,_,_,_,_,t7,_,_,_,_,_ = this in t7), + (let _,_,_,_,_,_,_,t8,_,_,_,_ = this in t8), + (let _,_,_,_,_,_,_,_,t9,_,_,_ = this in t9), + (let _,_,_,_,_,_,_,_,_,t10,_,_ = this in t10), + cabin, + (let _,_,_,_,_,_,_,_,_,_,_,t12 = this in t12) + + member WithEmbarked: embarked:string -> CsvProvider+Row + (let t1,_,_,_,_,_,_,_,_,_,_,_ = this in t1), + (let _,t2,_,_,_,_,_,_,_,_,_,_ = this in t2), + (let _,_,t3,_,_,_,_,_,_,_,_,_ = this in t3), + (let _,_,_,t4,_,_,_,_,_,_,_,_ = this in t4), + (let _,_,_,_,t5,_,_,_,_,_,_,_ = this in t5), + (let _,_,_,_,_,t6,_,_,_,_,_,_ = this in t6), + (let _,_,_,_,_,_,t7,_,_,_,_,_ = this in t7), + (let _,_,_,_,_,_,_,t8,_,_,_,_ = this in t8), + (let _,_,_,_,_,_,_,_,t9,_,_,_ = this in t9), + (let _,_,_,_,_,_,_,_,_,t10,_,_ = this in t10), + (let _,_,_,_,_,_,_,_,_,_,t11,_ = this in t11), + embarked + + member WithFare: fare:decimal -> CsvProvider+Row + (let t1,_,_,_,_,_,_,_,_,_,_,_ = this in t1), + (let _,t2,_,_,_,_,_,_,_,_,_,_ = this in t2), + (let _,_,t3,_,_,_,_,_,_,_,_,_ = this in t3), + (let _,_,_,t4,_,_,_,_,_,_,_,_ = this in t4), + (let _,_,_,_,t5,_,_,_,_,_,_,_ = this in t5), + (let _,_,_,_,_,t6,_,_,_,_,_,_ = this in t6), + (let _,_,_,_,_,_,t7,_,_,_,_,_ = this in t7), + (let _,_,_,_,_,_,_,t8,_,_,_,_ = this in t8), + (let _,_,_,_,_,_,_,_,t9,_,_,_ = this in t9), + fare, + (let _,_,_,_,_,_,_,_,_,_,t11,_ = this in t11), + (let _,_,_,_,_,_,_,_,_,_,_,t12 = this in t12) + + member WithName: name:string -> CsvProvider+Row + (let t1,_,_,_,_,_,_,_,_,_,_,_ = this in t1), + (let _,t2,_,_,_,_,_,_,_,_,_,_ = this in t2), + (let _,_,t3,_,_,_,_,_,_,_,_,_ = this in t3), + name, + (let _,_,_,_,t5,_,_,_,_,_,_,_ = this in t5), + (let _,_,_,_,_,t6,_,_,_,_,_,_ = this in t6), + (let _,_,_,_,_,_,t7,_,_,_,_,_ = this in t7), + (let _,_,_,_,_,_,_,t8,_,_,_,_ = this in t8), + (let _,_,_,_,_,_,_,_,t9,_,_,_ = this in t9), + (let _,_,_,_,_,_,_,_,_,t10,_,_ = this in t10), + (let _,_,_,_,_,_,_,_,_,_,t11,_ = this in t11), + (let _,_,_,_,_,_,_,_,_,_,_,t12 = this in t12) + + member WithParch: parch:int -> CsvProvider+Row + (let t1,_,_,_,_,_,_,_,_,_,_,_ = this in t1), + (let _,t2,_,_,_,_,_,_,_,_,_,_ = this in t2), + (let _,_,t3,_,_,_,_,_,_,_,_,_ = this in t3), + (let _,_,_,t4,_,_,_,_,_,_,_,_ = this in t4), + (let _,_,_,_,t5,_,_,_,_,_,_,_ = this in t5), + (let _,_,_,_,_,t6,_,_,_,_,_,_ = this in t6), + (let _,_,_,_,_,_,t7,_,_,_,_,_ = this in t7), + parch, + (let _,_,_,_,_,_,_,_,t9,_,_,_ = this in t9), + (let _,_,_,_,_,_,_,_,_,t10,_,_ = this in t10), + (let _,_,_,_,_,_,_,_,_,_,t11,_ = this in t11), + (let _,_,_,_,_,_,_,_,_,_,_,t12 = this in t12) + + member WithPassengerId: passengerId:int -> CsvProvider+Row + passengerId, + (let _,t2,_,_,_,_,_,_,_,_,_,_ = this in t2), + (let _,_,t3,_,_,_,_,_,_,_,_,_ = this in t3), + (let _,_,_,t4,_,_,_,_,_,_,_,_ = this in t4), + (let _,_,_,_,t5,_,_,_,_,_,_,_ = this in t5), + (let _,_,_,_,_,t6,_,_,_,_,_,_ = this in t6), + (let _,_,_,_,_,_,t7,_,_,_,_,_ = this in t7), + (let _,_,_,_,_,_,_,t8,_,_,_,_ = this in t8), + (let _,_,_,_,_,_,_,_,t9,_,_,_ = this in t9), + (let _,_,_,_,_,_,_,_,_,t10,_,_ = this in t10), + (let _,_,_,_,_,_,_,_,_,_,t11,_ = this in t11), + (let _,_,_,_,_,_,_,_,_,_,_,t12 = this in t12) + + member WithPclass: pclass:int -> CsvProvider+Row + (let t1,_,_,_,_,_,_,_,_,_,_,_ = this in t1), + (let _,t2,_,_,_,_,_,_,_,_,_,_ = this in t2), + pclass, + (let _,_,_,t4,_,_,_,_,_,_,_,_ = this in t4), + (let _,_,_,_,t5,_,_,_,_,_,_,_ = this in t5), + (let _,_,_,_,_,t6,_,_,_,_,_,_ = this in t6), + (let _,_,_,_,_,_,t7,_,_,_,_,_ = this in t7), + (let _,_,_,_,_,_,_,t8,_,_,_,_ = this in t8), + (let _,_,_,_,_,_,_,_,t9,_,_,_ = this in t9), + (let _,_,_,_,_,_,_,_,_,t10,_,_ = this in t10), + (let _,_,_,_,_,_,_,_,_,_,t11,_ = this in t11), + (let _,_,_,_,_,_,_,_,_,_,_,t12 = this in t12) + + member WithSex: sex:string -> CsvProvider+Row + (let t1,_,_,_,_,_,_,_,_,_,_,_ = this in t1), + (let _,t2,_,_,_,_,_,_,_,_,_,_ = this in t2), + (let _,_,t3,_,_,_,_,_,_,_,_,_ = this in t3), + (let _,_,_,t4,_,_,_,_,_,_,_,_ = this in t4), + sex, + (let _,_,_,_,_,t6,_,_,_,_,_,_ = this in t6), + (let _,_,_,_,_,_,t7,_,_,_,_,_ = this in t7), + (let _,_,_,_,_,_,_,t8,_,_,_,_ = this in t8), + (let _,_,_,_,_,_,_,_,t9,_,_,_ = this in t9), + (let _,_,_,_,_,_,_,_,_,t10,_,_ = this in t10), + (let _,_,_,_,_,_,_,_,_,_,t11,_ = this in t11), + (let _,_,_,_,_,_,_,_,_,_,_,t12 = this in t12) + + member WithSibSp: sibSp:int -> CsvProvider+Row + (let t1,_,_,_,_,_,_,_,_,_,_,_ = this in t1), + (let _,t2,_,_,_,_,_,_,_,_,_,_ = this in t2), + (let _,_,t3,_,_,_,_,_,_,_,_,_ = this in t3), + (let _,_,_,t4,_,_,_,_,_,_,_,_ = this in t4), + (let _,_,_,_,t5,_,_,_,_,_,_,_ = this in t5), + (let _,_,_,_,_,t6,_,_,_,_,_,_ = this in t6), + sibSp, + (let _,_,_,_,_,_,_,t8,_,_,_,_ = this in t8), + (let _,_,_,_,_,_,_,_,t9,_,_,_ = this in t9), + (let _,_,_,_,_,_,_,_,_,t10,_,_ = this in t10), + (let _,_,_,_,_,_,_,_,_,_,t11,_ = this in t11), + (let _,_,_,_,_,_,_,_,_,_,_,t12 = this in t12) + + member WithSurvived: survived:bool -> CsvProvider+Row + (let t1,_,_,_,_,_,_,_,_,_,_,_ = this in t1), + survived, + (let _,_,t3,_,_,_,_,_,_,_,_,_ = this in t3), + (let _,_,_,t4,_,_,_,_,_,_,_,_ = this in t4), + (let _,_,_,_,t5,_,_,_,_,_,_,_ = this in t5), + (let _,_,_,_,_,t6,_,_,_,_,_,_ = this in t6), + (let _,_,_,_,_,_,t7,_,_,_,_,_ = this in t7), + (let _,_,_,_,_,_,_,t8,_,_,_,_ = this in t8), + (let _,_,_,_,_,_,_,_,t9,_,_,_ = this in t9), + (let _,_,_,_,_,_,_,_,_,t10,_,_ = this in t10), + (let _,_,_,_,_,_,_,_,_,_,t11,_ = this in t11), + (let _,_,_,_,_,_,_,_,_,_,_,t12 = this in t12) + + member WithTicket: ticket:string -> CsvProvider+Row + (let t1,_,_,_,_,_,_,_,_,_,_,_ = this in t1), + (let _,t2,_,_,_,_,_,_,_,_,_,_ = this in t2), + (let _,_,t3,_,_,_,_,_,_,_,_,_ = this in t3), + (let _,_,_,t4,_,_,_,_,_,_,_,_ = this in t4), + (let _,_,_,_,t5,_,_,_,_,_,_,_ = this in t5), + (let _,_,_,_,_,t6,_,_,_,_,_,_ = this in t6), + (let _,_,_,_,_,_,t7,_,_,_,_,_ = this in t7), + (let _,_,_,_,_,_,_,t8,_,_,_,_ = this in t8), + ticket, + (let _,_,_,_,_,_,_,_,_,t10,_,_ = this in t10), + (let _,_,_,_,_,_,_,_,_,_,t11,_ = this in t11), + (let _,_,_,_,_,_,_,_,_,_,_,t12 = this in t12) + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Csv,Titanic.csv,,passengerid = int ; Pclass -> Class; Parch -> ParentsOrChildren = int<meter>;SibSp->SiblingsOrSpouse,True,True,True,,,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Csv,Titanic.csv,,passengerid = int ; Pclass -> Class; Parch -> ParentsOrChildren = int<meter>;SibSp->SiblingsOrSpouse,True,True,True,,,.expected index 2e48e0275..f5984fda6 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Csv,Titanic.csv,,passengerid = int ; Pclass -> Class; Parch -> ParentsOrChildren = int<meter>;SibSp->SiblingsOrSpouse,True,True,True,,,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Csv,Titanic.csv,,passengerid = int ; Pclass -> Class; Parch -> ParentsOrChildren = int<meter>;SibSp->SiblingsOrSpouse,True,True,True,,,.expected @@ -348,4 +348,172 @@ class CsvProvider+Row : int * bool option * int option * string option * string member Ticket: string option with get (let _,_,_,_,_,_,_,_,t9,_,_,_ = this in t9) + member WithAge: age:decimal option -> CsvProvider+Row + (let t1,_,_,_,_,_,_,_,_,_,_,_ = this in t1), + (let _,t2,_,_,_,_,_,_,_,_,_,_ = this in t2), + (let _,_,t3,_,_,_,_,_,_,_,_,_ = this in t3), + (let _,_,_,t4,_,_,_,_,_,_,_,_ = this in t4), + (let _,_,_,_,t5,_,_,_,_,_,_,_ = this in t5), + age, + (let _,_,_,_,_,_,t7,_,_,_,_,_ = this in t7), + (let _,_,_,_,_,_,_,t8,_,_,_,_ = this in t8), + (let _,_,_,_,_,_,_,_,t9,_,_,_ = this in t9), + (let _,_,_,_,_,_,_,_,_,t10,_,_ = this in t10), + (let _,_,_,_,_,_,_,_,_,_,t11,_ = this in t11), + (let _,_,_,_,_,_,_,_,_,_,_,t12 = this in t12) + + member WithCabin: cabin:string option -> CsvProvider+Row + (let t1,_,_,_,_,_,_,_,_,_,_,_ = this in t1), + (let _,t2,_,_,_,_,_,_,_,_,_,_ = this in t2), + (let _,_,t3,_,_,_,_,_,_,_,_,_ = this in t3), + (let _,_,_,t4,_,_,_,_,_,_,_,_ = this in t4), + (let _,_,_,_,t5,_,_,_,_,_,_,_ = this in t5), + (let _,_,_,_,_,t6,_,_,_,_,_,_ = this in t6), + (let _,_,_,_,_,_,t7,_,_,_,_,_ = this in t7), + (let _,_,_,_,_,_,_,t8,_,_,_,_ = this in t8), + (let _,_,_,_,_,_,_,_,t9,_,_,_ = this in t9), + (let _,_,_,_,_,_,_,_,_,t10,_,_ = this in t10), + cabin, + (let _,_,_,_,_,_,_,_,_,_,_,t12 = this in t12) + + member WithClass: class:int option -> CsvProvider+Row + (let t1,_,_,_,_,_,_,_,_,_,_,_ = this in t1), + (let _,t2,_,_,_,_,_,_,_,_,_,_ = this in t2), + class, + (let _,_,_,t4,_,_,_,_,_,_,_,_ = this in t4), + (let _,_,_,_,t5,_,_,_,_,_,_,_ = this in t5), + (let _,_,_,_,_,t6,_,_,_,_,_,_ = this in t6), + (let _,_,_,_,_,_,t7,_,_,_,_,_ = this in t7), + (let _,_,_,_,_,_,_,t8,_,_,_,_ = this in t8), + (let _,_,_,_,_,_,_,_,t9,_,_,_ = this in t9), + (let _,_,_,_,_,_,_,_,_,t10,_,_ = this in t10), + (let _,_,_,_,_,_,_,_,_,_,t11,_ = this in t11), + (let _,_,_,_,_,_,_,_,_,_,_,t12 = this in t12) + + member WithEmbarked: embarked:string option -> CsvProvider+Row + (let t1,_,_,_,_,_,_,_,_,_,_,_ = this in t1), + (let _,t2,_,_,_,_,_,_,_,_,_,_ = this in t2), + (let _,_,t3,_,_,_,_,_,_,_,_,_ = this in t3), + (let _,_,_,t4,_,_,_,_,_,_,_,_ = this in t4), + (let _,_,_,_,t5,_,_,_,_,_,_,_ = this in t5), + (let _,_,_,_,_,t6,_,_,_,_,_,_ = this in t6), + (let _,_,_,_,_,_,t7,_,_,_,_,_ = this in t7), + (let _,_,_,_,_,_,_,t8,_,_,_,_ = this in t8), + (let _,_,_,_,_,_,_,_,t9,_,_,_ = this in t9), + (let _,_,_,_,_,_,_,_,_,t10,_,_ = this in t10), + (let _,_,_,_,_,_,_,_,_,_,t11,_ = this in t11), + embarked + + member WithFare: fare:decimal option -> CsvProvider+Row + (let t1,_,_,_,_,_,_,_,_,_,_,_ = this in t1), + (let _,t2,_,_,_,_,_,_,_,_,_,_ = this in t2), + (let _,_,t3,_,_,_,_,_,_,_,_,_ = this in t3), + (let _,_,_,t4,_,_,_,_,_,_,_,_ = this in t4), + (let _,_,_,_,t5,_,_,_,_,_,_,_ = this in t5), + (let _,_,_,_,_,t6,_,_,_,_,_,_ = this in t6), + (let _,_,_,_,_,_,t7,_,_,_,_,_ = this in t7), + (let _,_,_,_,_,_,_,t8,_,_,_,_ = this in t8), + (let _,_,_,_,_,_,_,_,t9,_,_,_ = this in t9), + fare, + (let _,_,_,_,_,_,_,_,_,_,t11,_ = this in t11), + (let _,_,_,_,_,_,_,_,_,_,_,t12 = this in t12) + + member WithName: name:string option -> CsvProvider+Row + (let t1,_,_,_,_,_,_,_,_,_,_,_ = this in t1), + (let _,t2,_,_,_,_,_,_,_,_,_,_ = this in t2), + (let _,_,t3,_,_,_,_,_,_,_,_,_ = this in t3), + name, + (let _,_,_,_,t5,_,_,_,_,_,_,_ = this in t5), + (let _,_,_,_,_,t6,_,_,_,_,_,_ = this in t6), + (let _,_,_,_,_,_,t7,_,_,_,_,_ = this in t7), + (let _,_,_,_,_,_,_,t8,_,_,_,_ = this in t8), + (let _,_,_,_,_,_,_,_,t9,_,_,_ = this in t9), + (let _,_,_,_,_,_,_,_,_,t10,_,_ = this in t10), + (let _,_,_,_,_,_,_,_,_,_,t11,_ = this in t11), + (let _,_,_,_,_,_,_,_,_,_,_,t12 = this in t12) + + member WithParentsOrChildren: parentsOrChildren:int -> CsvProvider+Row + (let t1,_,_,_,_,_,_,_,_,_,_,_ = this in t1), + (let _,t2,_,_,_,_,_,_,_,_,_,_ = this in t2), + (let _,_,t3,_,_,_,_,_,_,_,_,_ = this in t3), + (let _,_,_,t4,_,_,_,_,_,_,_,_ = this in t4), + (let _,_,_,_,t5,_,_,_,_,_,_,_ = this in t5), + (let _,_,_,_,_,t6,_,_,_,_,_,_ = this in t6), + (let _,_,_,_,_,_,t7,_,_,_,_,_ = this in t7), + parentsOrChildren, + (let _,_,_,_,_,_,_,_,t9,_,_,_ = this in t9), + (let _,_,_,_,_,_,_,_,_,t10,_,_ = this in t10), + (let _,_,_,_,_,_,_,_,_,_,t11,_ = this in t11), + (let _,_,_,_,_,_,_,_,_,_,_,t12 = this in t12) + + member WithPassengerId: passengerId:int -> CsvProvider+Row + passengerId, + (let _,t2,_,_,_,_,_,_,_,_,_,_ = this in t2), + (let _,_,t3,_,_,_,_,_,_,_,_,_ = this in t3), + (let _,_,_,t4,_,_,_,_,_,_,_,_ = this in t4), + (let _,_,_,_,t5,_,_,_,_,_,_,_ = this in t5), + (let _,_,_,_,_,t6,_,_,_,_,_,_ = this in t6), + (let _,_,_,_,_,_,t7,_,_,_,_,_ = this in t7), + (let _,_,_,_,_,_,_,t8,_,_,_,_ = this in t8), + (let _,_,_,_,_,_,_,_,t9,_,_,_ = this in t9), + (let _,_,_,_,_,_,_,_,_,t10,_,_ = this in t10), + (let _,_,_,_,_,_,_,_,_,_,t11,_ = this in t11), + (let _,_,_,_,_,_,_,_,_,_,_,t12 = this in t12) + + member WithSex: sex:string option -> CsvProvider+Row + (let t1,_,_,_,_,_,_,_,_,_,_,_ = this in t1), + (let _,t2,_,_,_,_,_,_,_,_,_,_ = this in t2), + (let _,_,t3,_,_,_,_,_,_,_,_,_ = this in t3), + (let _,_,_,t4,_,_,_,_,_,_,_,_ = this in t4), + sex, + (let _,_,_,_,_,t6,_,_,_,_,_,_ = this in t6), + (let _,_,_,_,_,_,t7,_,_,_,_,_ = this in t7), + (let _,_,_,_,_,_,_,t8,_,_,_,_ = this in t8), + (let _,_,_,_,_,_,_,_,t9,_,_,_ = this in t9), + (let _,_,_,_,_,_,_,_,_,t10,_,_ = this in t10), + (let _,_,_,_,_,_,_,_,_,_,t11,_ = this in t11), + (let _,_,_,_,_,_,_,_,_,_,_,t12 = this in t12) + + member WithSiblingsOrSpouse: siblingsOrSpouse:int option -> CsvProvider+Row + (let t1,_,_,_,_,_,_,_,_,_,_,_ = this in t1), + (let _,t2,_,_,_,_,_,_,_,_,_,_ = this in t2), + (let _,_,t3,_,_,_,_,_,_,_,_,_ = this in t3), + (let _,_,_,t4,_,_,_,_,_,_,_,_ = this in t4), + (let _,_,_,_,t5,_,_,_,_,_,_,_ = this in t5), + (let _,_,_,_,_,t6,_,_,_,_,_,_ = this in t6), + siblingsOrSpouse, + (let _,_,_,_,_,_,_,t8,_,_,_,_ = this in t8), + (let _,_,_,_,_,_,_,_,t9,_,_,_ = this in t9), + (let _,_,_,_,_,_,_,_,_,t10,_,_ = this in t10), + (let _,_,_,_,_,_,_,_,_,_,t11,_ = this in t11), + (let _,_,_,_,_,_,_,_,_,_,_,t12 = this in t12) + + member WithSurvived: survived:bool option -> CsvProvider+Row + (let t1,_,_,_,_,_,_,_,_,_,_,_ = this in t1), + survived, + (let _,_,t3,_,_,_,_,_,_,_,_,_ = this in t3), + (let _,_,_,t4,_,_,_,_,_,_,_,_ = this in t4), + (let _,_,_,_,t5,_,_,_,_,_,_,_ = this in t5), + (let _,_,_,_,_,t6,_,_,_,_,_,_ = this in t6), + (let _,_,_,_,_,_,t7,_,_,_,_,_ = this in t7), + (let _,_,_,_,_,_,_,t8,_,_,_,_ = this in t8), + (let _,_,_,_,_,_,_,_,t9,_,_,_ = this in t9), + (let _,_,_,_,_,_,_,_,_,t10,_,_ = this in t10), + (let _,_,_,_,_,_,_,_,_,_,t11,_ = this in t11), + (let _,_,_,_,_,_,_,_,_,_,_,t12 = this in t12) + + member WithTicket: ticket:string option -> CsvProvider+Row + (let t1,_,_,_,_,_,_,_,_,_,_,_ = this in t1), + (let _,t2,_,_,_,_,_,_,_,_,_,_ = this in t2), + (let _,_,t3,_,_,_,_,_,_,_,_,_ = this in t3), + (let _,_,_,t4,_,_,_,_,_,_,_,_ = this in t4), + (let _,_,_,_,t5,_,_,_,_,_,_,_ = this in t5), + (let _,_,_,_,_,t6,_,_,_,_,_,_ = this in t6), + (let _,_,_,_,_,_,t7,_,_,_,_,_ = this in t7), + (let _,_,_,_,_,_,_,t8,_,_,_,_ = this in t8), + ticket, + (let _,_,_,_,_,_,_,_,_,t10,_,_ = this in t10), + (let _,_,_,_,_,_,_,_,_,_,t11,_ = this in t11), + (let _,_,_,_,_,_,_,_,_,_,_,t12 = this in t12) + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Csv,file with spaces.csv,,,True,False,False,,,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Csv,file with spaces.csv,,,True,False,False,,,.expected index d3783e414..bf5ba1136 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Csv,file with spaces.csv,,,True,False,False,,,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Csv,file with spaces.csv,,,True,False,False,,,.expected @@ -118,4 +118,12 @@ class CsvProvider+Row : int * decimal member Time: decimal with get (let _,t2 = this in t2) + member WithDistance: distance:int -> CsvProvider+Row + distance, + (let _,t2 = this in t2) + + member WithTime: time:decimal -> CsvProvider+Row + (let t1,_ = this in t1), + time + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Csv,tendulkarHistoryWithGameNumber.csv,,,True,False,False,,,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Csv,tendulkarHistoryWithGameNumber.csv,,,True,False,False,,,.expected index 2a77a5e1d..f09ba6b63 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Csv,tendulkarHistoryWithGameNumber.csv,,,True,False,False,,,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Csv,tendulkarHistoryWithGameNumber.csv,,,True,False,False,,,.expected @@ -435,6 +435,174 @@ class CsvProvider+Row : int * string * string * float * float * float * float * member Stumped: float with get (let _,_,_,_,_,_,_,t8,_,_,_,_ = this in t8) + member WithBat1: bat1:string -> CsvProvider+Row + (let t1,_,_,_,_,_,_,_,_,_,_,_ = this in t1), + bat1, + (let _,_,t3,_,_,_,_,_,_,_,_,_ = this in t3), + (let _,_,_,t4,_,_,_,_,_,_,_,_ = this in t4), + (let _,_,_,_,t5,_,_,_,_,_,_,_ = this in t5), + (let _,_,_,_,_,t6,_,_,_,_,_,_ = this in t6), + (let _,_,_,_,_,_,t7,_,_,_,_,_ = this in t7), + (let _,_,_,_,_,_,_,t8,_,_,_,_ = this in t8), + (let _,_,_,_,_,_,_,_,t9,_,_,_ = this in t9), + (let _,_,_,_,_,_,_,_,_,t10,_,_ = this in t10), + (let _,_,_,_,_,_,_,_,_,_,t11,_ = this in t11), + (let _,_,_,_,_,_,_,_,_,_,_,t12 = this in t12) + + member WithBat2: bat2:string -> CsvProvider+Row + (let t1,_,_,_,_,_,_,_,_,_,_,_ = this in t1), + (let _,t2,_,_,_,_,_,_,_,_,_,_ = this in t2), + bat2, + (let _,_,_,t4,_,_,_,_,_,_,_,_ = this in t4), + (let _,_,_,_,t5,_,_,_,_,_,_,_ = this in t5), + (let _,_,_,_,_,t6,_,_,_,_,_,_ = this in t6), + (let _,_,_,_,_,_,t7,_,_,_,_,_ = this in t7), + (let _,_,_,_,_,_,_,t8,_,_,_,_ = this in t8), + (let _,_,_,_,_,_,_,_,t9,_,_,_ = this in t9), + (let _,_,_,_,_,_,_,_,_,t10,_,_ = this in t10), + (let _,_,_,_,_,_,_,_,_,_,t11,_ = this in t11), + (let _,_,_,_,_,_,_,_,_,_,_,t12 = this in t12) + + member WithCaught: caught:float -> CsvProvider+Row + (let t1,_,_,_,_,_,_,_,_,_,_,_ = this in t1), + (let _,t2,_,_,_,_,_,_,_,_,_,_ = this in t2), + (let _,_,t3,_,_,_,_,_,_,_,_,_ = this in t3), + (let _,_,_,t4,_,_,_,_,_,_,_,_ = this in t4), + (let _,_,_,_,t5,_,_,_,_,_,_,_ = this in t5), + (let _,_,_,_,_,t6,_,_,_,_,_,_ = this in t6), + caught, + (let _,_,_,_,_,_,_,t8,_,_,_,_ = this in t8), + (let _,_,_,_,_,_,_,_,t9,_,_,_ = this in t9), + (let _,_,_,_,_,_,_,_,_,t10,_,_ = this in t10), + (let _,_,_,_,_,_,_,_,_,_,t11,_ = this in t11), + (let _,_,_,_,_,_,_,_,_,_,_,t12 = this in t12) + + member WithColumn9: column9:string -> CsvProvider+Row + (let t1,_,_,_,_,_,_,_,_,_,_,_ = this in t1), + (let _,t2,_,_,_,_,_,_,_,_,_,_ = this in t2), + (let _,_,t3,_,_,_,_,_,_,_,_,_ = this in t3), + (let _,_,_,t4,_,_,_,_,_,_,_,_ = this in t4), + (let _,_,_,_,t5,_,_,_,_,_,_,_ = this in t5), + (let _,_,_,_,_,t6,_,_,_,_,_,_ = this in t6), + (let _,_,_,_,_,_,t7,_,_,_,_,_ = this in t7), + (let _,_,_,_,_,_,_,t8,_,_,_,_ = this in t8), + column9, + (let _,_,_,_,_,_,_,_,_,t10,_,_ = this in t10), + (let _,_,_,_,_,_,_,_,_,_,t11,_ = this in t11), + (let _,_,_,_,_,_,_,_,_,_,_,t12 = this in t12) + + member WithConceded: conceded:float -> CsvProvider+Row + (let t1,_,_,_,_,_,_,_,_,_,_,_ = this in t1), + (let _,t2,_,_,_,_,_,_,_,_,_,_ = this in t2), + (let _,_,t3,_,_,_,_,_,_,_,_,_ = this in t3), + (let _,_,_,t4,_,_,_,_,_,_,_,_ = this in t4), + (let _,_,_,_,t5,_,_,_,_,_,_,_ = this in t5), + conceded, + (let _,_,_,_,_,_,t7,_,_,_,_,_ = this in t7), + (let _,_,_,_,_,_,_,t8,_,_,_,_ = this in t8), + (let _,_,_,_,_,_,_,_,t9,_,_,_ = this in t9), + (let _,_,_,_,_,_,_,_,_,t10,_,_ = this in t10), + (let _,_,_,_,_,_,_,_,_,_,t11,_ = this in t11), + (let _,_,_,_,_,_,_,_,_,_,_,t12 = this in t12) + + member WithGame: game:int -> CsvProvider+Row + game, + (let _,t2,_,_,_,_,_,_,_,_,_,_ = this in t2), + (let _,_,t3,_,_,_,_,_,_,_,_,_ = this in t3), + (let _,_,_,t4,_,_,_,_,_,_,_,_ = this in t4), + (let _,_,_,_,t5,_,_,_,_,_,_,_ = this in t5), + (let _,_,_,_,_,t6,_,_,_,_,_,_ = this in t6), + (let _,_,_,_,_,_,t7,_,_,_,_,_ = this in t7), + (let _,_,_,_,_,_,_,t8,_,_,_,_ = this in t8), + (let _,_,_,_,_,_,_,_,t9,_,_,_ = this in t9), + (let _,_,_,_,_,_,_,_,_,t10,_,_ = this in t10), + (let _,_,_,_,_,_,_,_,_,_,t11,_ = this in t11), + (let _,_,_,_,_,_,_,_,_,_,_,t12 = this in t12) + + member WithGround: ground:string -> CsvProvider+Row + (let t1,_,_,_,_,_,_,_,_,_,_,_ = this in t1), + (let _,t2,_,_,_,_,_,_,_,_,_,_ = this in t2), + (let _,_,t3,_,_,_,_,_,_,_,_,_ = this in t3), + (let _,_,_,t4,_,_,_,_,_,_,_,_ = this in t4), + (let _,_,_,_,t5,_,_,_,_,_,_,_ = this in t5), + (let _,_,_,_,_,t6,_,_,_,_,_,_ = this in t6), + (let _,_,_,_,_,_,t7,_,_,_,_,_ = this in t7), + (let _,_,_,_,_,_,_,t8,_,_,_,_ = this in t8), + (let _,_,_,_,_,_,_,_,t9,_,_,_ = this in t9), + (let _,_,_,_,_,_,_,_,_,t10,_,_ = this in t10), + ground, + (let _,_,_,_,_,_,_,_,_,_,_,t12 = this in t12) + + member WithOpposition: opposition:string -> CsvProvider+Row + (let t1,_,_,_,_,_,_,_,_,_,_,_ = this in t1), + (let _,t2,_,_,_,_,_,_,_,_,_,_ = this in t2), + (let _,_,t3,_,_,_,_,_,_,_,_,_ = this in t3), + (let _,_,_,t4,_,_,_,_,_,_,_,_ = this in t4), + (let _,_,_,_,t5,_,_,_,_,_,_,_ = this in t5), + (let _,_,_,_,_,t6,_,_,_,_,_,_ = this in t6), + (let _,_,_,_,_,_,t7,_,_,_,_,_ = this in t7), + (let _,_,_,_,_,_,_,t8,_,_,_,_ = this in t8), + (let _,_,_,_,_,_,_,_,t9,_,_,_ = this in t9), + opposition, + (let _,_,_,_,_,_,_,_,_,_,t11,_ = this in t11), + (let _,_,_,_,_,_,_,_,_,_,_,t12 = this in t12) + + member WithRuns: runs:float -> CsvProvider+Row + (let t1,_,_,_,_,_,_,_,_,_,_,_ = this in t1), + (let _,t2,_,_,_,_,_,_,_,_,_,_ = this in t2), + (let _,_,t3,_,_,_,_,_,_,_,_,_ = this in t3), + runs, + (let _,_,_,_,t5,_,_,_,_,_,_,_ = this in t5), + (let _,_,_,_,_,t6,_,_,_,_,_,_ = this in t6), + (let _,_,_,_,_,_,t7,_,_,_,_,_ = this in t7), + (let _,_,_,_,_,_,_,t8,_,_,_,_ = this in t8), + (let _,_,_,_,_,_,_,_,t9,_,_,_ = this in t9), + (let _,_,_,_,_,_,_,_,_,t10,_,_ = this in t10), + (let _,_,_,_,_,_,_,_,_,_,t11,_ = this in t11), + (let _,_,_,_,_,_,_,_,_,_,_,t12 = this in t12) + + member WithStartDate: startDate:System.DateTime -> CsvProvider+Row + (let t1,_,_,_,_,_,_,_,_,_,_,_ = this in t1), + (let _,t2,_,_,_,_,_,_,_,_,_,_ = this in t2), + (let _,_,t3,_,_,_,_,_,_,_,_,_ = this in t3), + (let _,_,_,t4,_,_,_,_,_,_,_,_ = this in t4), + (let _,_,_,_,t5,_,_,_,_,_,_,_ = this in t5), + (let _,_,_,_,_,t6,_,_,_,_,_,_ = this in t6), + (let _,_,_,_,_,_,t7,_,_,_,_,_ = this in t7), + (let _,_,_,_,_,_,_,t8,_,_,_,_ = this in t8), + (let _,_,_,_,_,_,_,_,t9,_,_,_ = this in t9), + (let _,_,_,_,_,_,_,_,_,t10,_,_ = this in t10), + (let _,_,_,_,_,_,_,_,_,_,t11,_ = this in t11), + startDate + + member WithStumped: stumped:float -> CsvProvider+Row + (let t1,_,_,_,_,_,_,_,_,_,_,_ = this in t1), + (let _,t2,_,_,_,_,_,_,_,_,_,_ = this in t2), + (let _,_,t3,_,_,_,_,_,_,_,_,_ = this in t3), + (let _,_,_,t4,_,_,_,_,_,_,_,_ = this in t4), + (let _,_,_,_,t5,_,_,_,_,_,_,_ = this in t5), + (let _,_,_,_,_,t6,_,_,_,_,_,_ = this in t6), + (let _,_,_,_,_,_,t7,_,_,_,_,_ = this in t7), + stumped, + (let _,_,_,_,_,_,_,_,t9,_,_,_ = this in t9), + (let _,_,_,_,_,_,_,_,_,t10,_,_ = this in t10), + (let _,_,_,_,_,_,_,_,_,_,t11,_ = this in t11), + (let _,_,_,_,_,_,_,_,_,_,_,t12 = this in t12) + + member WithWkts: wkts:float -> CsvProvider+Row + (let t1,_,_,_,_,_,_,_,_,_,_,_ = this in t1), + (let _,t2,_,_,_,_,_,_,_,_,_,_ = this in t2), + (let _,_,t3,_,_,_,_,_,_,_,_,_ = this in t3), + (let _,_,_,t4,_,_,_,_,_,_,_,_ = this in t4), + wkts, + (let _,_,_,_,_,t6,_,_,_,_,_,_ = this in t6), + (let _,_,_,_,_,_,t7,_,_,_,_,_ = this in t7), + (let _,_,_,_,_,_,_,t8,_,_,_,_ = this in t8), + (let _,_,_,_,_,_,_,_,t9,_,_,_ = this in t9), + (let _,_,_,_,_,_,_,_,_,t10,_,_ = this in t10), + (let _,_,_,_,_,_,_,_,_,_,t11,_ = this in t11), + (let _,_,_,_,_,_,_,_,_,_,_,t12 = this in t12) + member Wkts: float with get (let _,_,_,_,t5,_,_,_,_,_,_,_ = this in t5) diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,,False,,,True,False,BackwardCompatible,SimpleSchema.json.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,,False,,,True,False,BackwardCompatible,SimpleSchema.json.expected index 3191b463d..86261e469 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,,False,,,True,False,BackwardCompatible,SimpleSchema.json.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,,False,,,True,False,BackwardCompatible,SimpleSchema.json.expected @@ -55,4 +55,16 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "lastName") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithAge: age:int -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "age", (age :> obj), "") + + member WithFirstName: firstName:string -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "firstName", (firstName :> obj), "") + + member WithIsCool: isCool:bool -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "isCool", (isCool :> obj), "") + + member WithLastName: lastName:string -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "lastName", (lastName :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,Dates.json,False,,,True,False,BackwardCompatible,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,Dates.json,False,,,True,False,BackwardCompatible,.expected index 3c334c01c..ae94a72b3 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,Dates.json,False,,,True,False,BackwardCompatible,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,Dates.json,False,,,True,False,BackwardCompatible,.expected @@ -59,4 +59,16 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "UtcTime") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertDateTimeOffset("", value.JsonOpt), value.JsonOpt) + member WithAnniversary: anniversary:System.DateTimeOffset -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "anniversary", (anniversary :> obj), "") + + member WithBirthdate: birthdate:System.DateTime -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "birthdate", (birthdate :> obj), "") + + member WithNoTimeZone: noTimeZone:System.DateTime -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "NoTimeZone", (noTimeZone :> obj), "") + + member WithUtcTime: utcTime:System.DateTimeOffset -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "UtcTime", (utcTime :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,Dates.json,False,,,True,False,ValuesAndInlineSchemasHints,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,Dates.json,False,,,True,False,ValuesAndInlineSchemasHints,.expected index 3c334c01c..ae94a72b3 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,Dates.json,False,,,True,False,ValuesAndInlineSchemasHints,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,Dates.json,False,,,True,False,ValuesAndInlineSchemasHints,.expected @@ -59,4 +59,16 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "UtcTime") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertDateTimeOffset("", value.JsonOpt), value.JsonOpt) + member WithAnniversary: anniversary:System.DateTimeOffset -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "anniversary", (anniversary :> obj), "") + + member WithBirthdate: birthdate:System.DateTime -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "birthdate", (birthdate :> obj), "") + + member WithNoTimeZone: noTimeZone:System.DateTime -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "NoTimeZone", (noTimeZone :> obj), "") + + member WithUtcTime: utcTime:System.DateTimeOffset -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "UtcTime", (utcTime :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,Dates.json,False,,,True,False,ValuesAndInlineSchemasOverrides,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,Dates.json,False,,,True,False,ValuesAndInlineSchemasOverrides,.expected index 3c334c01c..ae94a72b3 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,Dates.json,False,,,True,False,ValuesAndInlineSchemasOverrides,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,Dates.json,False,,,True,False,ValuesAndInlineSchemasOverrides,.expected @@ -59,4 +59,16 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "UtcTime") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertDateTimeOffset("", value.JsonOpt), value.JsonOpt) + member WithAnniversary: anniversary:System.DateTimeOffset -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "anniversary", (anniversary :> obj), "") + + member WithBirthdate: birthdate:System.DateTime -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "birthdate", (birthdate :> obj), "") + + member WithNoTimeZone: noTimeZone:System.DateTime -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "NoTimeZone", (noTimeZone :> obj), "") + + member WithUtcTime: utcTime:System.DateTimeOffset -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "UtcTime", (utcTime :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,Dates.json,False,,,True,False,ValuesOnly,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,Dates.json,False,,,True,False,ValuesOnly,.expected index 3c334c01c..ae94a72b3 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,Dates.json,False,,,True,False,ValuesOnly,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,Dates.json,False,,,True,False,ValuesOnly,.expected @@ -59,4 +59,16 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "UtcTime") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertDateTimeOffset("", value.JsonOpt), value.JsonOpt) + member WithAnniversary: anniversary:System.DateTimeOffset -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "anniversary", (anniversary :> obj), "") + + member WithBirthdate: birthdate:System.DateTime -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "birthdate", (birthdate :> obj), "") + + member WithNoTimeZone: noTimeZone:System.DateTime -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "NoTimeZone", (noTimeZone :> obj), "") + + member WithUtcTime: utcTime:System.DateTimeOffset -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "UtcTime", (utcTime :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,DictionaryInference-arrays.json,False,,,True,False,BackwardCompatible,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,DictionaryInference-arrays.json,False,,,True,False,BackwardCompatible,.expected index 4f68c6a1f..beda7b4e7 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,DictionaryInference-arrays.json,False,,,True,False,BackwardCompatible,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,DictionaryInference-arrays.json,False,,,True,False,BackwardCompatible,.expected @@ -40,6 +40,9 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument member Mappings: JsonProvider+Mappings with get JsonRuntime.GetPropertyPacked(this, "Mappings") + member WithMappings: mappings:JsonProvider+Mappings -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "Mappings", (mappings :> obj), "") + class JsonProvider+Mappings : FDR.BaseTypes.IJsonDocument new : 123:JsonProvider+JsonProvider+123[] -> 456:JsonProvider+JsonProvider+123[] -> 789:JsonProvider+JsonProvider+789[] -> JsonProvider+Mappings @@ -62,6 +65,15 @@ class JsonProvider+Mappings : FDR.BaseTypes.IJsonDocument member 789: JsonProvider+JsonProvider+789[] with get JsonRuntime.ConvertArray(JsonRuntime.GetPropertyPackedOrNull(this, "789"), new Func<_,_>(id))) + member With123: 123:JsonProvider+JsonProvider+123[] -> JsonProvider+Mappings + JsonRuntime.WithRecordProperty(this, "123", (123 :> obj), "") + + member With456: 456:JsonProvider+JsonProvider+123[] -> JsonProvider+Mappings + JsonRuntime.WithRecordProperty(this, "456", (456 :> obj), "") + + member With789: 789:JsonProvider+JsonProvider+789[] -> JsonProvider+Mappings + JsonRuntime.WithRecordProperty(this, "789", (789 :> obj), "") + class JsonProvider+123 : FDR.BaseTypes.IJsonDocument new : groupId:int -> canDelete:bool -> JsonProvider+123 @@ -81,6 +93,12 @@ class JsonProvider+123 : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "GroupId") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertInteger("", value.JsonOpt), value.JsonOpt) + member WithCanDelete: canDelete:bool -> JsonProvider+123 + JsonRuntime.WithRecordProperty(this, "CanDelete", (canDelete :> obj), "") + + member WithGroupId: groupId:int -> JsonProvider+123 + JsonRuntime.WithRecordProperty(this, "GroupId", (groupId :> obj), "") + class JsonProvider+789 : FDR.BaseTypes.IJsonDocument new : groupId:int -> canDelete:bool -> errorMessage:string option -> JsonProvider+789 @@ -105,4 +123,13 @@ class JsonProvider+789 : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "GroupId") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertInteger("", value.JsonOpt), value.JsonOpt) + member WithCanDelete: canDelete:bool -> JsonProvider+789 + JsonRuntime.WithRecordProperty(this, "CanDelete", (canDelete :> obj), "") + + member WithErrorMessage: errorMessage:string option -> JsonProvider+789 + JsonRuntime.WithRecordProperty(this, "ErrorMessage", (errorMessage :> obj), "") + + member WithGroupId: groupId:int -> JsonProvider+789 + JsonRuntime.WithRecordProperty(this, "GroupId", (groupId :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,DictionaryInference-arrays.json,False,,,True,False,ValuesAndInlineSchemasHints,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,DictionaryInference-arrays.json,False,,,True,False,ValuesAndInlineSchemasHints,.expected index 4f68c6a1f..beda7b4e7 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,DictionaryInference-arrays.json,False,,,True,False,ValuesAndInlineSchemasHints,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,DictionaryInference-arrays.json,False,,,True,False,ValuesAndInlineSchemasHints,.expected @@ -40,6 +40,9 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument member Mappings: JsonProvider+Mappings with get JsonRuntime.GetPropertyPacked(this, "Mappings") + member WithMappings: mappings:JsonProvider+Mappings -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "Mappings", (mappings :> obj), "") + class JsonProvider+Mappings : FDR.BaseTypes.IJsonDocument new : 123:JsonProvider+JsonProvider+123[] -> 456:JsonProvider+JsonProvider+123[] -> 789:JsonProvider+JsonProvider+789[] -> JsonProvider+Mappings @@ -62,6 +65,15 @@ class JsonProvider+Mappings : FDR.BaseTypes.IJsonDocument member 789: JsonProvider+JsonProvider+789[] with get JsonRuntime.ConvertArray(JsonRuntime.GetPropertyPackedOrNull(this, "789"), new Func<_,_>(id))) + member With123: 123:JsonProvider+JsonProvider+123[] -> JsonProvider+Mappings + JsonRuntime.WithRecordProperty(this, "123", (123 :> obj), "") + + member With456: 456:JsonProvider+JsonProvider+123[] -> JsonProvider+Mappings + JsonRuntime.WithRecordProperty(this, "456", (456 :> obj), "") + + member With789: 789:JsonProvider+JsonProvider+789[] -> JsonProvider+Mappings + JsonRuntime.WithRecordProperty(this, "789", (789 :> obj), "") + class JsonProvider+123 : FDR.BaseTypes.IJsonDocument new : groupId:int -> canDelete:bool -> JsonProvider+123 @@ -81,6 +93,12 @@ class JsonProvider+123 : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "GroupId") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertInteger("", value.JsonOpt), value.JsonOpt) + member WithCanDelete: canDelete:bool -> JsonProvider+123 + JsonRuntime.WithRecordProperty(this, "CanDelete", (canDelete :> obj), "") + + member WithGroupId: groupId:int -> JsonProvider+123 + JsonRuntime.WithRecordProperty(this, "GroupId", (groupId :> obj), "") + class JsonProvider+789 : FDR.BaseTypes.IJsonDocument new : groupId:int -> canDelete:bool -> errorMessage:string option -> JsonProvider+789 @@ -105,4 +123,13 @@ class JsonProvider+789 : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "GroupId") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertInteger("", value.JsonOpt), value.JsonOpt) + member WithCanDelete: canDelete:bool -> JsonProvider+789 + JsonRuntime.WithRecordProperty(this, "CanDelete", (canDelete :> obj), "") + + member WithErrorMessage: errorMessage:string option -> JsonProvider+789 + JsonRuntime.WithRecordProperty(this, "ErrorMessage", (errorMessage :> obj), "") + + member WithGroupId: groupId:int -> JsonProvider+789 + JsonRuntime.WithRecordProperty(this, "GroupId", (groupId :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,DictionaryInference-arrays.json,False,,,True,False,ValuesAndInlineSchemasOverrides,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,DictionaryInference-arrays.json,False,,,True,False,ValuesAndInlineSchemasOverrides,.expected index 4f68c6a1f..beda7b4e7 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,DictionaryInference-arrays.json,False,,,True,False,ValuesAndInlineSchemasOverrides,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,DictionaryInference-arrays.json,False,,,True,False,ValuesAndInlineSchemasOverrides,.expected @@ -40,6 +40,9 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument member Mappings: JsonProvider+Mappings with get JsonRuntime.GetPropertyPacked(this, "Mappings") + member WithMappings: mappings:JsonProvider+Mappings -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "Mappings", (mappings :> obj), "") + class JsonProvider+Mappings : FDR.BaseTypes.IJsonDocument new : 123:JsonProvider+JsonProvider+123[] -> 456:JsonProvider+JsonProvider+123[] -> 789:JsonProvider+JsonProvider+789[] -> JsonProvider+Mappings @@ -62,6 +65,15 @@ class JsonProvider+Mappings : FDR.BaseTypes.IJsonDocument member 789: JsonProvider+JsonProvider+789[] with get JsonRuntime.ConvertArray(JsonRuntime.GetPropertyPackedOrNull(this, "789"), new Func<_,_>(id))) + member With123: 123:JsonProvider+JsonProvider+123[] -> JsonProvider+Mappings + JsonRuntime.WithRecordProperty(this, "123", (123 :> obj), "") + + member With456: 456:JsonProvider+JsonProvider+123[] -> JsonProvider+Mappings + JsonRuntime.WithRecordProperty(this, "456", (456 :> obj), "") + + member With789: 789:JsonProvider+JsonProvider+789[] -> JsonProvider+Mappings + JsonRuntime.WithRecordProperty(this, "789", (789 :> obj), "") + class JsonProvider+123 : FDR.BaseTypes.IJsonDocument new : groupId:int -> canDelete:bool -> JsonProvider+123 @@ -81,6 +93,12 @@ class JsonProvider+123 : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "GroupId") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertInteger("", value.JsonOpt), value.JsonOpt) + member WithCanDelete: canDelete:bool -> JsonProvider+123 + JsonRuntime.WithRecordProperty(this, "CanDelete", (canDelete :> obj), "") + + member WithGroupId: groupId:int -> JsonProvider+123 + JsonRuntime.WithRecordProperty(this, "GroupId", (groupId :> obj), "") + class JsonProvider+789 : FDR.BaseTypes.IJsonDocument new : groupId:int -> canDelete:bool -> errorMessage:string option -> JsonProvider+789 @@ -105,4 +123,13 @@ class JsonProvider+789 : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "GroupId") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertInteger("", value.JsonOpt), value.JsonOpt) + member WithCanDelete: canDelete:bool -> JsonProvider+789 + JsonRuntime.WithRecordProperty(this, "CanDelete", (canDelete :> obj), "") + + member WithErrorMessage: errorMessage:string option -> JsonProvider+789 + JsonRuntime.WithRecordProperty(this, "ErrorMessage", (errorMessage :> obj), "") + + member WithGroupId: groupId:int -> JsonProvider+789 + JsonRuntime.WithRecordProperty(this, "GroupId", (groupId :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,DictionaryInference-arrays.json,False,,,True,False,ValuesOnly,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,DictionaryInference-arrays.json,False,,,True,False,ValuesOnly,.expected index 4f68c6a1f..beda7b4e7 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,DictionaryInference-arrays.json,False,,,True,False,ValuesOnly,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,DictionaryInference-arrays.json,False,,,True,False,ValuesOnly,.expected @@ -40,6 +40,9 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument member Mappings: JsonProvider+Mappings with get JsonRuntime.GetPropertyPacked(this, "Mappings") + member WithMappings: mappings:JsonProvider+Mappings -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "Mappings", (mappings :> obj), "") + class JsonProvider+Mappings : FDR.BaseTypes.IJsonDocument new : 123:JsonProvider+JsonProvider+123[] -> 456:JsonProvider+JsonProvider+123[] -> 789:JsonProvider+JsonProvider+789[] -> JsonProvider+Mappings @@ -62,6 +65,15 @@ class JsonProvider+Mappings : FDR.BaseTypes.IJsonDocument member 789: JsonProvider+JsonProvider+789[] with get JsonRuntime.ConvertArray(JsonRuntime.GetPropertyPackedOrNull(this, "789"), new Func<_,_>(id))) + member With123: 123:JsonProvider+JsonProvider+123[] -> JsonProvider+Mappings + JsonRuntime.WithRecordProperty(this, "123", (123 :> obj), "") + + member With456: 456:JsonProvider+JsonProvider+123[] -> JsonProvider+Mappings + JsonRuntime.WithRecordProperty(this, "456", (456 :> obj), "") + + member With789: 789:JsonProvider+JsonProvider+789[] -> JsonProvider+Mappings + JsonRuntime.WithRecordProperty(this, "789", (789 :> obj), "") + class JsonProvider+123 : FDR.BaseTypes.IJsonDocument new : groupId:int -> canDelete:bool -> JsonProvider+123 @@ -81,6 +93,12 @@ class JsonProvider+123 : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "GroupId") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertInteger("", value.JsonOpt), value.JsonOpt) + member WithCanDelete: canDelete:bool -> JsonProvider+123 + JsonRuntime.WithRecordProperty(this, "CanDelete", (canDelete :> obj), "") + + member WithGroupId: groupId:int -> JsonProvider+123 + JsonRuntime.WithRecordProperty(this, "GroupId", (groupId :> obj), "") + class JsonProvider+789 : FDR.BaseTypes.IJsonDocument new : groupId:int -> canDelete:bool -> errorMessage:string option -> JsonProvider+789 @@ -105,4 +123,13 @@ class JsonProvider+789 : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "GroupId") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertInteger("", value.JsonOpt), value.JsonOpt) + member WithCanDelete: canDelete:bool -> JsonProvider+789 + JsonRuntime.WithRecordProperty(this, "CanDelete", (canDelete :> obj), "") + + member WithErrorMessage: errorMessage:string option -> JsonProvider+789 + JsonRuntime.WithRecordProperty(this, "ErrorMessage", (errorMessage :> obj), "") + + member WithGroupId: groupId:int -> JsonProvider+789 + JsonRuntime.WithRecordProperty(this, "GroupId", (groupId :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,DictionaryInference-arrays.json,False,,,True,True,BackwardCompatible,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,DictionaryInference-arrays.json,False,,,True,True,BackwardCompatible,.expected index bf92ebd58..a351141f7 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,DictionaryInference-arrays.json,False,,,True,True,BackwardCompatible,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,DictionaryInference-arrays.json,False,,,True,True,BackwardCompatible,.expected @@ -40,6 +40,9 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument member Mappings: JsonProvider+Mappings with get JsonRuntime.GetPropertyPacked(this, "Mappings") + member WithMappings: mappings:JsonProvider+Mappings -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "Mappings", (mappings :> obj), "") + class JsonProvider+Mappings : FDR.BaseTypes.IJsonDocument new : items:int * JsonProvider+JsonProvider+MappingsValue[] seq -> JsonProvider+Mappings @@ -96,4 +99,13 @@ class JsonProvider+MappingsValue : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "GroupId") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertInteger("", value.JsonOpt), value.JsonOpt) + member WithCanDelete: canDelete:bool -> JsonProvider+MappingsValue + JsonRuntime.WithRecordProperty(this, "CanDelete", (canDelete :> obj), "") + + member WithErrorMessage: errorMessage:string option -> JsonProvider+MappingsValue + JsonRuntime.WithRecordProperty(this, "ErrorMessage", (errorMessage :> obj), "") + + member WithGroupId: groupId:int -> JsonProvider+MappingsValue + JsonRuntime.WithRecordProperty(this, "GroupId", (groupId :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,DictionaryInference-arrays.json,False,,,True,True,ValuesAndInlineSchemasHints,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,DictionaryInference-arrays.json,False,,,True,True,ValuesAndInlineSchemasHints,.expected index bf92ebd58..a351141f7 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,DictionaryInference-arrays.json,False,,,True,True,ValuesAndInlineSchemasHints,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,DictionaryInference-arrays.json,False,,,True,True,ValuesAndInlineSchemasHints,.expected @@ -40,6 +40,9 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument member Mappings: JsonProvider+Mappings with get JsonRuntime.GetPropertyPacked(this, "Mappings") + member WithMappings: mappings:JsonProvider+Mappings -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "Mappings", (mappings :> obj), "") + class JsonProvider+Mappings : FDR.BaseTypes.IJsonDocument new : items:int * JsonProvider+JsonProvider+MappingsValue[] seq -> JsonProvider+Mappings @@ -96,4 +99,13 @@ class JsonProvider+MappingsValue : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "GroupId") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertInteger("", value.JsonOpt), value.JsonOpt) + member WithCanDelete: canDelete:bool -> JsonProvider+MappingsValue + JsonRuntime.WithRecordProperty(this, "CanDelete", (canDelete :> obj), "") + + member WithErrorMessage: errorMessage:string option -> JsonProvider+MappingsValue + JsonRuntime.WithRecordProperty(this, "ErrorMessage", (errorMessage :> obj), "") + + member WithGroupId: groupId:int -> JsonProvider+MappingsValue + JsonRuntime.WithRecordProperty(this, "GroupId", (groupId :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,DictionaryInference-arrays.json,False,,,True,True,ValuesAndInlineSchemasOverrides,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,DictionaryInference-arrays.json,False,,,True,True,ValuesAndInlineSchemasOverrides,.expected index bf92ebd58..a351141f7 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,DictionaryInference-arrays.json,False,,,True,True,ValuesAndInlineSchemasOverrides,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,DictionaryInference-arrays.json,False,,,True,True,ValuesAndInlineSchemasOverrides,.expected @@ -40,6 +40,9 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument member Mappings: JsonProvider+Mappings with get JsonRuntime.GetPropertyPacked(this, "Mappings") + member WithMappings: mappings:JsonProvider+Mappings -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "Mappings", (mappings :> obj), "") + class JsonProvider+Mappings : FDR.BaseTypes.IJsonDocument new : items:int * JsonProvider+JsonProvider+MappingsValue[] seq -> JsonProvider+Mappings @@ -96,4 +99,13 @@ class JsonProvider+MappingsValue : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "GroupId") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertInteger("", value.JsonOpt), value.JsonOpt) + member WithCanDelete: canDelete:bool -> JsonProvider+MappingsValue + JsonRuntime.WithRecordProperty(this, "CanDelete", (canDelete :> obj), "") + + member WithErrorMessage: errorMessage:string option -> JsonProvider+MappingsValue + JsonRuntime.WithRecordProperty(this, "ErrorMessage", (errorMessage :> obj), "") + + member WithGroupId: groupId:int -> JsonProvider+MappingsValue + JsonRuntime.WithRecordProperty(this, "GroupId", (groupId :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,DictionaryInference-arrays.json,False,,,True,True,ValuesOnly,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,DictionaryInference-arrays.json,False,,,True,True,ValuesOnly,.expected index bf92ebd58..a351141f7 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,DictionaryInference-arrays.json,False,,,True,True,ValuesOnly,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,DictionaryInference-arrays.json,False,,,True,True,ValuesOnly,.expected @@ -40,6 +40,9 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument member Mappings: JsonProvider+Mappings with get JsonRuntime.GetPropertyPacked(this, "Mappings") + member WithMappings: mappings:JsonProvider+Mappings -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "Mappings", (mappings :> obj), "") + class JsonProvider+Mappings : FDR.BaseTypes.IJsonDocument new : items:int * JsonProvider+JsonProvider+MappingsValue[] seq -> JsonProvider+Mappings @@ -96,4 +99,13 @@ class JsonProvider+MappingsValue : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "GroupId") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertInteger("", value.JsonOpt), value.JsonOpt) + member WithCanDelete: canDelete:bool -> JsonProvider+MappingsValue + JsonRuntime.WithRecordProperty(this, "CanDelete", (canDelete :> obj), "") + + member WithErrorMessage: errorMessage:string option -> JsonProvider+MappingsValue + JsonRuntime.WithRecordProperty(this, "ErrorMessage", (errorMessage :> obj), "") + + member WithGroupId: groupId:int -> JsonProvider+MappingsValue + JsonRuntime.WithRecordProperty(this, "GroupId", (groupId :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,DictionaryInference.json,False,,,True,False,BackwardCompatible,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,DictionaryInference.json,False,,,True,False,BackwardCompatible,.expected index 9b488861b..a83443c9d 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,DictionaryInference.json,False,,,True,False,BackwardCompatible,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,DictionaryInference.json,False,,,True,False,BackwardCompatible,.expected @@ -45,6 +45,12 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument member Rec2: JsonProvider+Rec2 with get JsonRuntime.GetPropertyPacked(this, "rec2") + member WithRec: rec:JsonProvider+Rec -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "rec", (rec :> obj), "") + + member WithRec2: rec2:JsonProvider+Rec2 -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "rec2", (rec2 :> obj), "") + class JsonProvider+Rec : FDR.BaseTypes.IJsonDocument new : 0:int -> 1:int option -> JsonProvider+Rec @@ -63,6 +69,12 @@ class JsonProvider+Rec : FDR.BaseTypes.IJsonDocument member 1: int option with get JsonRuntime.ConvertInteger("", JsonRuntime.TryGetPropertyUnpacked(this, "1")) + member With0: 0:int -> JsonProvider+Rec + JsonRuntime.WithRecordProperty(this, "0", (0 :> obj), "") + + member With1: 1:int option -> JsonProvider+Rec + JsonRuntime.WithRecordProperty(this, "1", (1 :> obj), "") + class JsonProvider+Rec2 : FDR.BaseTypes.IJsonDocument new : 0:JsonProvider+0 option -> 1:JsonProvider+0 -> JsonProvider+Rec2 @@ -80,6 +92,12 @@ class JsonProvider+Rec2 : FDR.BaseTypes.IJsonDocument member 1: JsonProvider+0 with get JsonRuntime.GetPropertyPacked(this, "1") + member With0: 0:JsonProvider+0 option -> JsonProvider+Rec2 + JsonRuntime.WithRecordProperty(this, "0", (0 :> obj), "") + + member With1: 1:JsonProvider+0 -> JsonProvider+Rec2 + JsonRuntime.WithRecordProperty(this, "1", (1 :> obj), "") + class JsonProvider+0 : FDR.BaseTypes.IJsonDocument new : a:int -> JsonProvider+0 @@ -93,4 +111,7 @@ class JsonProvider+0 : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "a") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertInteger("", value.JsonOpt), value.JsonOpt) + member WithA: a:int -> JsonProvider+0 + JsonRuntime.WithRecordProperty(this, "a", (a :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,DictionaryInference.json,False,,,True,False,ValuesAndInlineSchemasHints,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,DictionaryInference.json,False,,,True,False,ValuesAndInlineSchemasHints,.expected index 9b488861b..a83443c9d 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,DictionaryInference.json,False,,,True,False,ValuesAndInlineSchemasHints,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,DictionaryInference.json,False,,,True,False,ValuesAndInlineSchemasHints,.expected @@ -45,6 +45,12 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument member Rec2: JsonProvider+Rec2 with get JsonRuntime.GetPropertyPacked(this, "rec2") + member WithRec: rec:JsonProvider+Rec -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "rec", (rec :> obj), "") + + member WithRec2: rec2:JsonProvider+Rec2 -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "rec2", (rec2 :> obj), "") + class JsonProvider+Rec : FDR.BaseTypes.IJsonDocument new : 0:int -> 1:int option -> JsonProvider+Rec @@ -63,6 +69,12 @@ class JsonProvider+Rec : FDR.BaseTypes.IJsonDocument member 1: int option with get JsonRuntime.ConvertInteger("", JsonRuntime.TryGetPropertyUnpacked(this, "1")) + member With0: 0:int -> JsonProvider+Rec + JsonRuntime.WithRecordProperty(this, "0", (0 :> obj), "") + + member With1: 1:int option -> JsonProvider+Rec + JsonRuntime.WithRecordProperty(this, "1", (1 :> obj), "") + class JsonProvider+Rec2 : FDR.BaseTypes.IJsonDocument new : 0:JsonProvider+0 option -> 1:JsonProvider+0 -> JsonProvider+Rec2 @@ -80,6 +92,12 @@ class JsonProvider+Rec2 : FDR.BaseTypes.IJsonDocument member 1: JsonProvider+0 with get JsonRuntime.GetPropertyPacked(this, "1") + member With0: 0:JsonProvider+0 option -> JsonProvider+Rec2 + JsonRuntime.WithRecordProperty(this, "0", (0 :> obj), "") + + member With1: 1:JsonProvider+0 -> JsonProvider+Rec2 + JsonRuntime.WithRecordProperty(this, "1", (1 :> obj), "") + class JsonProvider+0 : FDR.BaseTypes.IJsonDocument new : a:int -> JsonProvider+0 @@ -93,4 +111,7 @@ class JsonProvider+0 : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "a") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertInteger("", value.JsonOpt), value.JsonOpt) + member WithA: a:int -> JsonProvider+0 + JsonRuntime.WithRecordProperty(this, "a", (a :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,DictionaryInference.json,False,,,True,False,ValuesAndInlineSchemasOverrides,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,DictionaryInference.json,False,,,True,False,ValuesAndInlineSchemasOverrides,.expected index 9b488861b..a83443c9d 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,DictionaryInference.json,False,,,True,False,ValuesAndInlineSchemasOverrides,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,DictionaryInference.json,False,,,True,False,ValuesAndInlineSchemasOverrides,.expected @@ -45,6 +45,12 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument member Rec2: JsonProvider+Rec2 with get JsonRuntime.GetPropertyPacked(this, "rec2") + member WithRec: rec:JsonProvider+Rec -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "rec", (rec :> obj), "") + + member WithRec2: rec2:JsonProvider+Rec2 -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "rec2", (rec2 :> obj), "") + class JsonProvider+Rec : FDR.BaseTypes.IJsonDocument new : 0:int -> 1:int option -> JsonProvider+Rec @@ -63,6 +69,12 @@ class JsonProvider+Rec : FDR.BaseTypes.IJsonDocument member 1: int option with get JsonRuntime.ConvertInteger("", JsonRuntime.TryGetPropertyUnpacked(this, "1")) + member With0: 0:int -> JsonProvider+Rec + JsonRuntime.WithRecordProperty(this, "0", (0 :> obj), "") + + member With1: 1:int option -> JsonProvider+Rec + JsonRuntime.WithRecordProperty(this, "1", (1 :> obj), "") + class JsonProvider+Rec2 : FDR.BaseTypes.IJsonDocument new : 0:JsonProvider+0 option -> 1:JsonProvider+0 -> JsonProvider+Rec2 @@ -80,6 +92,12 @@ class JsonProvider+Rec2 : FDR.BaseTypes.IJsonDocument member 1: JsonProvider+0 with get JsonRuntime.GetPropertyPacked(this, "1") + member With0: 0:JsonProvider+0 option -> JsonProvider+Rec2 + JsonRuntime.WithRecordProperty(this, "0", (0 :> obj), "") + + member With1: 1:JsonProvider+0 -> JsonProvider+Rec2 + JsonRuntime.WithRecordProperty(this, "1", (1 :> obj), "") + class JsonProvider+0 : FDR.BaseTypes.IJsonDocument new : a:int -> JsonProvider+0 @@ -93,4 +111,7 @@ class JsonProvider+0 : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "a") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertInteger("", value.JsonOpt), value.JsonOpt) + member WithA: a:int -> JsonProvider+0 + JsonRuntime.WithRecordProperty(this, "a", (a :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,DictionaryInference.json,False,,,True,False,ValuesOnly,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,DictionaryInference.json,False,,,True,False,ValuesOnly,.expected index 9b488861b..a83443c9d 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,DictionaryInference.json,False,,,True,False,ValuesOnly,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,DictionaryInference.json,False,,,True,False,ValuesOnly,.expected @@ -45,6 +45,12 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument member Rec2: JsonProvider+Rec2 with get JsonRuntime.GetPropertyPacked(this, "rec2") + member WithRec: rec:JsonProvider+Rec -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "rec", (rec :> obj), "") + + member WithRec2: rec2:JsonProvider+Rec2 -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "rec2", (rec2 :> obj), "") + class JsonProvider+Rec : FDR.BaseTypes.IJsonDocument new : 0:int -> 1:int option -> JsonProvider+Rec @@ -63,6 +69,12 @@ class JsonProvider+Rec : FDR.BaseTypes.IJsonDocument member 1: int option with get JsonRuntime.ConvertInteger("", JsonRuntime.TryGetPropertyUnpacked(this, "1")) + member With0: 0:int -> JsonProvider+Rec + JsonRuntime.WithRecordProperty(this, "0", (0 :> obj), "") + + member With1: 1:int option -> JsonProvider+Rec + JsonRuntime.WithRecordProperty(this, "1", (1 :> obj), "") + class JsonProvider+Rec2 : FDR.BaseTypes.IJsonDocument new : 0:JsonProvider+0 option -> 1:JsonProvider+0 -> JsonProvider+Rec2 @@ -80,6 +92,12 @@ class JsonProvider+Rec2 : FDR.BaseTypes.IJsonDocument member 1: JsonProvider+0 with get JsonRuntime.GetPropertyPacked(this, "1") + member With0: 0:JsonProvider+0 option -> JsonProvider+Rec2 + JsonRuntime.WithRecordProperty(this, "0", (0 :> obj), "") + + member With1: 1:JsonProvider+0 -> JsonProvider+Rec2 + JsonRuntime.WithRecordProperty(this, "1", (1 :> obj), "") + class JsonProvider+0 : FDR.BaseTypes.IJsonDocument new : a:int -> JsonProvider+0 @@ -93,4 +111,7 @@ class JsonProvider+0 : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "a") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertInteger("", value.JsonOpt), value.JsonOpt) + member WithA: a:int -> JsonProvider+0 + JsonRuntime.WithRecordProperty(this, "a", (a :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,DictionaryInference.json,False,,,True,True,BackwardCompatible,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,DictionaryInference.json,False,,,True,True,BackwardCompatible,.expected index c27719b9d..d43c6d4a3 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,DictionaryInference.json,False,,,True,True,BackwardCompatible,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,DictionaryInference.json,False,,,True,True,BackwardCompatible,.expected @@ -45,6 +45,12 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument member Rec2: JsonProvider+Rec2 with get JsonRuntime.GetPropertyPacked(this, "rec2") + member WithRec: rec:JsonProvider+Rec -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "rec", (rec :> obj), "") + + member WithRec2: rec2:JsonProvider+Rec2 -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "rec2", (rec2 :> obj), "") + class JsonProvider+Rec : FDR.BaseTypes.IJsonDocument new : items:bool * int seq -> JsonProvider+Rec @@ -122,4 +128,7 @@ class JsonProvider+Rec2Value : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "a") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertInteger("", value.JsonOpt), value.JsonOpt) + member WithA: a:int -> JsonProvider+Rec2Value + JsonRuntime.WithRecordProperty(this, "a", (a :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,DictionaryInference.json,False,,,True,True,ValuesAndInlineSchemasHints,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,DictionaryInference.json,False,,,True,True,ValuesAndInlineSchemasHints,.expected index c27719b9d..d43c6d4a3 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,DictionaryInference.json,False,,,True,True,ValuesAndInlineSchemasHints,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,DictionaryInference.json,False,,,True,True,ValuesAndInlineSchemasHints,.expected @@ -45,6 +45,12 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument member Rec2: JsonProvider+Rec2 with get JsonRuntime.GetPropertyPacked(this, "rec2") + member WithRec: rec:JsonProvider+Rec -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "rec", (rec :> obj), "") + + member WithRec2: rec2:JsonProvider+Rec2 -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "rec2", (rec2 :> obj), "") + class JsonProvider+Rec : FDR.BaseTypes.IJsonDocument new : items:bool * int seq -> JsonProvider+Rec @@ -122,4 +128,7 @@ class JsonProvider+Rec2Value : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "a") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertInteger("", value.JsonOpt), value.JsonOpt) + member WithA: a:int -> JsonProvider+Rec2Value + JsonRuntime.WithRecordProperty(this, "a", (a :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,DictionaryInference.json,False,,,True,True,ValuesAndInlineSchemasOverrides,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,DictionaryInference.json,False,,,True,True,ValuesAndInlineSchemasOverrides,.expected index c27719b9d..d43c6d4a3 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,DictionaryInference.json,False,,,True,True,ValuesAndInlineSchemasOverrides,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,DictionaryInference.json,False,,,True,True,ValuesAndInlineSchemasOverrides,.expected @@ -45,6 +45,12 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument member Rec2: JsonProvider+Rec2 with get JsonRuntime.GetPropertyPacked(this, "rec2") + member WithRec: rec:JsonProvider+Rec -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "rec", (rec :> obj), "") + + member WithRec2: rec2:JsonProvider+Rec2 -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "rec2", (rec2 :> obj), "") + class JsonProvider+Rec : FDR.BaseTypes.IJsonDocument new : items:bool * int seq -> JsonProvider+Rec @@ -122,4 +128,7 @@ class JsonProvider+Rec2Value : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "a") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertInteger("", value.JsonOpt), value.JsonOpt) + member WithA: a:int -> JsonProvider+Rec2Value + JsonRuntime.WithRecordProperty(this, "a", (a :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,DictionaryInference.json,False,,,True,True,ValuesOnly,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,DictionaryInference.json,False,,,True,True,ValuesOnly,.expected index c27719b9d..d43c6d4a3 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,DictionaryInference.json,False,,,True,True,ValuesOnly,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,DictionaryInference.json,False,,,True,True,ValuesOnly,.expected @@ -45,6 +45,12 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument member Rec2: JsonProvider+Rec2 with get JsonRuntime.GetPropertyPacked(this, "rec2") + member WithRec: rec:JsonProvider+Rec -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "rec", (rec :> obj), "") + + member WithRec2: rec2:JsonProvider+Rec2 -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "rec2", (rec2 :> obj), "") + class JsonProvider+Rec : FDR.BaseTypes.IJsonDocument new : items:bool * int seq -> JsonProvider+Rec @@ -122,4 +128,7 @@ class JsonProvider+Rec2Value : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "a") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertInteger("", value.JsonOpt), value.JsonOpt) + member WithA: a:int -> JsonProvider+Rec2Value + JsonRuntime.WithRecordProperty(this, "a", (a :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,DoubleNested.json,False,,,True,False,BackwardCompatible,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,DoubleNested.json,False,,,True,False,BackwardCompatible,.expected index d3194e87e..90fbfe4aa 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,DoubleNested.json,False,,,True,False,BackwardCompatible,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,DoubleNested.json,False,,,True,False,BackwardCompatible,.expected @@ -40,6 +40,9 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument member Main: JsonProvider+Main with get JsonRuntime.GetPropertyPacked(this, "main") + member WithMain: main:JsonProvider+Main -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "main", (main :> obj), "") + class JsonProvider+Main : FDR.BaseTypes.IJsonDocument new : title:string -> nested:JsonProvider+Nested -> JsonProvider+Main @@ -58,6 +61,12 @@ class JsonProvider+Main : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "title") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithNested: nested:JsonProvider+Nested -> JsonProvider+Main + JsonRuntime.WithRecordProperty(this, "nested", (nested :> obj), "") + + member WithTitle: title:string -> JsonProvider+Main + JsonRuntime.WithRecordProperty(this, "title", (title :> obj), "") + class JsonProvider+Nested : FDR.BaseTypes.IJsonDocument new : nestedTitle:string -> JsonProvider+Nested @@ -71,4 +80,7 @@ class JsonProvider+Nested : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "nestedTitle") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithNestedTitle: nestedTitle:string -> JsonProvider+Nested + JsonRuntime.WithRecordProperty(this, "nestedTitle", (nestedTitle :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,DoubleNested.json,False,,,True,False,ValuesAndInlineSchemasHints,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,DoubleNested.json,False,,,True,False,ValuesAndInlineSchemasHints,.expected index d3194e87e..90fbfe4aa 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,DoubleNested.json,False,,,True,False,ValuesAndInlineSchemasHints,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,DoubleNested.json,False,,,True,False,ValuesAndInlineSchemasHints,.expected @@ -40,6 +40,9 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument member Main: JsonProvider+Main with get JsonRuntime.GetPropertyPacked(this, "main") + member WithMain: main:JsonProvider+Main -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "main", (main :> obj), "") + class JsonProvider+Main : FDR.BaseTypes.IJsonDocument new : title:string -> nested:JsonProvider+Nested -> JsonProvider+Main @@ -58,6 +61,12 @@ class JsonProvider+Main : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "title") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithNested: nested:JsonProvider+Nested -> JsonProvider+Main + JsonRuntime.WithRecordProperty(this, "nested", (nested :> obj), "") + + member WithTitle: title:string -> JsonProvider+Main + JsonRuntime.WithRecordProperty(this, "title", (title :> obj), "") + class JsonProvider+Nested : FDR.BaseTypes.IJsonDocument new : nestedTitle:string -> JsonProvider+Nested @@ -71,4 +80,7 @@ class JsonProvider+Nested : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "nestedTitle") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithNestedTitle: nestedTitle:string -> JsonProvider+Nested + JsonRuntime.WithRecordProperty(this, "nestedTitle", (nestedTitle :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,DoubleNested.json,False,,,True,False,ValuesAndInlineSchemasOverrides,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,DoubleNested.json,False,,,True,False,ValuesAndInlineSchemasOverrides,.expected index d3194e87e..90fbfe4aa 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,DoubleNested.json,False,,,True,False,ValuesAndInlineSchemasOverrides,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,DoubleNested.json,False,,,True,False,ValuesAndInlineSchemasOverrides,.expected @@ -40,6 +40,9 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument member Main: JsonProvider+Main with get JsonRuntime.GetPropertyPacked(this, "main") + member WithMain: main:JsonProvider+Main -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "main", (main :> obj), "") + class JsonProvider+Main : FDR.BaseTypes.IJsonDocument new : title:string -> nested:JsonProvider+Nested -> JsonProvider+Main @@ -58,6 +61,12 @@ class JsonProvider+Main : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "title") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithNested: nested:JsonProvider+Nested -> JsonProvider+Main + JsonRuntime.WithRecordProperty(this, "nested", (nested :> obj), "") + + member WithTitle: title:string -> JsonProvider+Main + JsonRuntime.WithRecordProperty(this, "title", (title :> obj), "") + class JsonProvider+Nested : FDR.BaseTypes.IJsonDocument new : nestedTitle:string -> JsonProvider+Nested @@ -71,4 +80,7 @@ class JsonProvider+Nested : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "nestedTitle") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithNestedTitle: nestedTitle:string -> JsonProvider+Nested + JsonRuntime.WithRecordProperty(this, "nestedTitle", (nestedTitle :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,DoubleNested.json,False,,,True,False,ValuesOnly,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,DoubleNested.json,False,,,True,False,ValuesOnly,.expected index d3194e87e..90fbfe4aa 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,DoubleNested.json,False,,,True,False,ValuesOnly,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,DoubleNested.json,False,,,True,False,ValuesOnly,.expected @@ -40,6 +40,9 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument member Main: JsonProvider+Main with get JsonRuntime.GetPropertyPacked(this, "main") + member WithMain: main:JsonProvider+Main -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "main", (main :> obj), "") + class JsonProvider+Main : FDR.BaseTypes.IJsonDocument new : title:string -> nested:JsonProvider+Nested -> JsonProvider+Main @@ -58,6 +61,12 @@ class JsonProvider+Main : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "title") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithNested: nested:JsonProvider+Nested -> JsonProvider+Main + JsonRuntime.WithRecordProperty(this, "nested", (nested :> obj), "") + + member WithTitle: title:string -> JsonProvider+Main + JsonRuntime.WithRecordProperty(this, "title", (title :> obj), "") + class JsonProvider+Nested : FDR.BaseTypes.IJsonDocument new : nestedTitle:string -> JsonProvider+Nested @@ -71,4 +80,7 @@ class JsonProvider+Nested : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "nestedTitle") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithNestedTitle: nestedTitle:string -> JsonProvider+Nested + JsonRuntime.WithRecordProperty(this, "nestedTitle", (nestedTitle :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,GitHub.json,False,,,True,False,BackwardCompatible,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,GitHub.json,False,,,True,False,BackwardCompatible,.expected index 9284c6787..d6b68530e 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,GitHub.json,False,,,True,False,BackwardCompatible,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,GitHub.json,False,,,True,False,BackwardCompatible,.expected @@ -142,6 +142,63 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument member User: JsonProvider+User with get JsonRuntime.GetPropertyPacked(this, "user") + member WithAssignee: assignee:JsonValue -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "assignee", (assignee :> obj), "") + + member WithBody: body:string option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "body", (body :> obj), "") + + member WithClosedAt: closedAt:JsonValue -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "closed_at", (closedAt :> obj), "") + + member WithComments: comments:int -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "comments", (comments :> obj), "") + + member WithCommentsUrl: commentsUrl:string -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "comments_url", (commentsUrl :> obj), "") + + member WithCreatedAt: createdAt:System.DateTimeOffset -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "created_at", (createdAt :> obj), "") + + member WithEventsUrl: eventsUrl:string -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "events_url", (eventsUrl :> obj), "") + + member WithHtmlUrl: htmlUrl:string -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "html_url", (htmlUrl :> obj), "") + + member WithId: id:int -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithLabels: labels:JsonProvider+JsonProvider+Label[] -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "labels", (labels :> obj), "") + + member WithLabelsUrl: labelsUrl:string -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "labels_url", (labelsUrl :> obj), "") + + member WithMilestone: milestone:JsonValue -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "milestone", (milestone :> obj), "") + + member WithNumber: number:int -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "number", (number :> obj), "") + + member WithPullRequest: pullRequest:JsonProvider+PullRequest -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "pull_request", (pullRequest :> obj), "") + + member WithState: state:string -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "state", (state :> obj), "") + + member WithTitle: title:string -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "title", (title :> obj), "") + + member WithUpdatedAt: updatedAt:System.DateTimeOffset -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "updated_at", (updatedAt :> obj), "") + + member WithUrl: url:string -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "url", (url :> obj), "") + + member WithUser: user:JsonProvider+User -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "user", (user :> obj), "") + class JsonProvider+Label : FDR.BaseTypes.IJsonDocument new : url:string -> name:string -> color:JsonProvider+FloatOrString -> JsonProvider+Label @@ -166,6 +223,15 @@ class JsonProvider+Label : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "url") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithColor: color:JsonProvider+FloatOrString -> JsonProvider+Label + JsonRuntime.WithRecordProperty(this, "color", (color :> obj), "") + + member WithName: name:string -> JsonProvider+Label + JsonRuntime.WithRecordProperty(this, "name", (name :> obj), "") + + member WithUrl: url:string -> JsonProvider+Label + JsonRuntime.WithRecordProperty(this, "url", (url :> obj), "") + class JsonProvider+PullRequest : FDR.BaseTypes.IJsonDocument new : htmlUrl:string option -> diffUrl:string option -> patchUrl:string option -> JsonProvider+PullRequest @@ -188,6 +254,15 @@ class JsonProvider+PullRequest : FDR.BaseTypes.IJsonDocument member PatchUrl: string option with get JsonRuntime.ConvertString("", JsonRuntime.TryGetPropertyUnpacked(this, "patch_url")) + member WithDiffUrl: diffUrl:string option -> JsonProvider+PullRequest + JsonRuntime.WithRecordProperty(this, "diff_url", (diffUrl :> obj), "") + + member WithHtmlUrl: htmlUrl:string option -> JsonProvider+PullRequest + JsonRuntime.WithRecordProperty(this, "html_url", (htmlUrl :> obj), "") + + member WithPatchUrl: patchUrl:string option -> JsonProvider+PullRequest + JsonRuntime.WithRecordProperty(this, "patch_url", (patchUrl :> obj), "") + class JsonProvider+User : FDR.BaseTypes.IJsonDocument new : login:string -> id:int -> avatarUrl:string -> gravatarId:System.Guid -> url:string -> htmlUrl:string -> followersUrl:string -> followingUrl:string -> gistsUrl:string -> starredUrl:string -> subscriptionsUrl:string -> organizationsUrl:string -> reposUrl:string -> eventsUrl:string -> receivedEventsUrl:string -> type:string -> JsonProvider+User @@ -291,6 +366,54 @@ class JsonProvider+User : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "url") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithAvatarUrl: avatarUrl:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "avatar_url", (avatarUrl :> obj), "") + + member WithEventsUrl: eventsUrl:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "events_url", (eventsUrl :> obj), "") + + member WithFollowersUrl: followersUrl:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "followers_url", (followersUrl :> obj), "") + + member WithFollowingUrl: followingUrl:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "following_url", (followingUrl :> obj), "") + + member WithGistsUrl: gistsUrl:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "gists_url", (gistsUrl :> obj), "") + + member WithGravatarId: gravatarId:System.Guid -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "gravatar_id", (gravatarId :> obj), "") + + member WithHtmlUrl: htmlUrl:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "html_url", (htmlUrl :> obj), "") + + member WithId: id:int -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithLogin: login:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "login", (login :> obj), "") + + member WithOrganizationsUrl: organizationsUrl:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "organizations_url", (organizationsUrl :> obj), "") + + member WithReceivedEventsUrl: receivedEventsUrl:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "received_events_url", (receivedEventsUrl :> obj), "") + + member WithReposUrl: reposUrl:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "repos_url", (reposUrl :> obj), "") + + member WithStarredUrl: starredUrl:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "starred_url", (starredUrl :> obj), "") + + member WithSubscriptionsUrl: subscriptionsUrl:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "subscriptions_url", (subscriptionsUrl :> obj), "") + + member WithType: type:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "type", (type :> obj), "") + + member WithUrl: url:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "url", (url :> obj), "") + class JsonProvider+FloatOrString : FDR.BaseTypes.IJsonDocument new : number:float -> JsonProvider+FloatOrString diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,GitHub.json,False,,,True,False,ValuesAndInlineSchemasHints,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,GitHub.json,False,,,True,False,ValuesAndInlineSchemasHints,.expected index 9284c6787..d6b68530e 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,GitHub.json,False,,,True,False,ValuesAndInlineSchemasHints,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,GitHub.json,False,,,True,False,ValuesAndInlineSchemasHints,.expected @@ -142,6 +142,63 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument member User: JsonProvider+User with get JsonRuntime.GetPropertyPacked(this, "user") + member WithAssignee: assignee:JsonValue -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "assignee", (assignee :> obj), "") + + member WithBody: body:string option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "body", (body :> obj), "") + + member WithClosedAt: closedAt:JsonValue -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "closed_at", (closedAt :> obj), "") + + member WithComments: comments:int -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "comments", (comments :> obj), "") + + member WithCommentsUrl: commentsUrl:string -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "comments_url", (commentsUrl :> obj), "") + + member WithCreatedAt: createdAt:System.DateTimeOffset -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "created_at", (createdAt :> obj), "") + + member WithEventsUrl: eventsUrl:string -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "events_url", (eventsUrl :> obj), "") + + member WithHtmlUrl: htmlUrl:string -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "html_url", (htmlUrl :> obj), "") + + member WithId: id:int -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithLabels: labels:JsonProvider+JsonProvider+Label[] -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "labels", (labels :> obj), "") + + member WithLabelsUrl: labelsUrl:string -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "labels_url", (labelsUrl :> obj), "") + + member WithMilestone: milestone:JsonValue -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "milestone", (milestone :> obj), "") + + member WithNumber: number:int -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "number", (number :> obj), "") + + member WithPullRequest: pullRequest:JsonProvider+PullRequest -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "pull_request", (pullRequest :> obj), "") + + member WithState: state:string -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "state", (state :> obj), "") + + member WithTitle: title:string -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "title", (title :> obj), "") + + member WithUpdatedAt: updatedAt:System.DateTimeOffset -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "updated_at", (updatedAt :> obj), "") + + member WithUrl: url:string -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "url", (url :> obj), "") + + member WithUser: user:JsonProvider+User -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "user", (user :> obj), "") + class JsonProvider+Label : FDR.BaseTypes.IJsonDocument new : url:string -> name:string -> color:JsonProvider+FloatOrString -> JsonProvider+Label @@ -166,6 +223,15 @@ class JsonProvider+Label : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "url") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithColor: color:JsonProvider+FloatOrString -> JsonProvider+Label + JsonRuntime.WithRecordProperty(this, "color", (color :> obj), "") + + member WithName: name:string -> JsonProvider+Label + JsonRuntime.WithRecordProperty(this, "name", (name :> obj), "") + + member WithUrl: url:string -> JsonProvider+Label + JsonRuntime.WithRecordProperty(this, "url", (url :> obj), "") + class JsonProvider+PullRequest : FDR.BaseTypes.IJsonDocument new : htmlUrl:string option -> diffUrl:string option -> patchUrl:string option -> JsonProvider+PullRequest @@ -188,6 +254,15 @@ class JsonProvider+PullRequest : FDR.BaseTypes.IJsonDocument member PatchUrl: string option with get JsonRuntime.ConvertString("", JsonRuntime.TryGetPropertyUnpacked(this, "patch_url")) + member WithDiffUrl: diffUrl:string option -> JsonProvider+PullRequest + JsonRuntime.WithRecordProperty(this, "diff_url", (diffUrl :> obj), "") + + member WithHtmlUrl: htmlUrl:string option -> JsonProvider+PullRequest + JsonRuntime.WithRecordProperty(this, "html_url", (htmlUrl :> obj), "") + + member WithPatchUrl: patchUrl:string option -> JsonProvider+PullRequest + JsonRuntime.WithRecordProperty(this, "patch_url", (patchUrl :> obj), "") + class JsonProvider+User : FDR.BaseTypes.IJsonDocument new : login:string -> id:int -> avatarUrl:string -> gravatarId:System.Guid -> url:string -> htmlUrl:string -> followersUrl:string -> followingUrl:string -> gistsUrl:string -> starredUrl:string -> subscriptionsUrl:string -> organizationsUrl:string -> reposUrl:string -> eventsUrl:string -> receivedEventsUrl:string -> type:string -> JsonProvider+User @@ -291,6 +366,54 @@ class JsonProvider+User : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "url") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithAvatarUrl: avatarUrl:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "avatar_url", (avatarUrl :> obj), "") + + member WithEventsUrl: eventsUrl:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "events_url", (eventsUrl :> obj), "") + + member WithFollowersUrl: followersUrl:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "followers_url", (followersUrl :> obj), "") + + member WithFollowingUrl: followingUrl:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "following_url", (followingUrl :> obj), "") + + member WithGistsUrl: gistsUrl:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "gists_url", (gistsUrl :> obj), "") + + member WithGravatarId: gravatarId:System.Guid -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "gravatar_id", (gravatarId :> obj), "") + + member WithHtmlUrl: htmlUrl:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "html_url", (htmlUrl :> obj), "") + + member WithId: id:int -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithLogin: login:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "login", (login :> obj), "") + + member WithOrganizationsUrl: organizationsUrl:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "organizations_url", (organizationsUrl :> obj), "") + + member WithReceivedEventsUrl: receivedEventsUrl:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "received_events_url", (receivedEventsUrl :> obj), "") + + member WithReposUrl: reposUrl:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "repos_url", (reposUrl :> obj), "") + + member WithStarredUrl: starredUrl:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "starred_url", (starredUrl :> obj), "") + + member WithSubscriptionsUrl: subscriptionsUrl:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "subscriptions_url", (subscriptionsUrl :> obj), "") + + member WithType: type:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "type", (type :> obj), "") + + member WithUrl: url:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "url", (url :> obj), "") + class JsonProvider+FloatOrString : FDR.BaseTypes.IJsonDocument new : number:float -> JsonProvider+FloatOrString diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,GitHub.json,False,,,True,False,ValuesAndInlineSchemasOverrides,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,GitHub.json,False,,,True,False,ValuesAndInlineSchemasOverrides,.expected index 9284c6787..d6b68530e 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,GitHub.json,False,,,True,False,ValuesAndInlineSchemasOverrides,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,GitHub.json,False,,,True,False,ValuesAndInlineSchemasOverrides,.expected @@ -142,6 +142,63 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument member User: JsonProvider+User with get JsonRuntime.GetPropertyPacked(this, "user") + member WithAssignee: assignee:JsonValue -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "assignee", (assignee :> obj), "") + + member WithBody: body:string option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "body", (body :> obj), "") + + member WithClosedAt: closedAt:JsonValue -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "closed_at", (closedAt :> obj), "") + + member WithComments: comments:int -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "comments", (comments :> obj), "") + + member WithCommentsUrl: commentsUrl:string -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "comments_url", (commentsUrl :> obj), "") + + member WithCreatedAt: createdAt:System.DateTimeOffset -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "created_at", (createdAt :> obj), "") + + member WithEventsUrl: eventsUrl:string -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "events_url", (eventsUrl :> obj), "") + + member WithHtmlUrl: htmlUrl:string -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "html_url", (htmlUrl :> obj), "") + + member WithId: id:int -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithLabels: labels:JsonProvider+JsonProvider+Label[] -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "labels", (labels :> obj), "") + + member WithLabelsUrl: labelsUrl:string -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "labels_url", (labelsUrl :> obj), "") + + member WithMilestone: milestone:JsonValue -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "milestone", (milestone :> obj), "") + + member WithNumber: number:int -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "number", (number :> obj), "") + + member WithPullRequest: pullRequest:JsonProvider+PullRequest -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "pull_request", (pullRequest :> obj), "") + + member WithState: state:string -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "state", (state :> obj), "") + + member WithTitle: title:string -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "title", (title :> obj), "") + + member WithUpdatedAt: updatedAt:System.DateTimeOffset -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "updated_at", (updatedAt :> obj), "") + + member WithUrl: url:string -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "url", (url :> obj), "") + + member WithUser: user:JsonProvider+User -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "user", (user :> obj), "") + class JsonProvider+Label : FDR.BaseTypes.IJsonDocument new : url:string -> name:string -> color:JsonProvider+FloatOrString -> JsonProvider+Label @@ -166,6 +223,15 @@ class JsonProvider+Label : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "url") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithColor: color:JsonProvider+FloatOrString -> JsonProvider+Label + JsonRuntime.WithRecordProperty(this, "color", (color :> obj), "") + + member WithName: name:string -> JsonProvider+Label + JsonRuntime.WithRecordProperty(this, "name", (name :> obj), "") + + member WithUrl: url:string -> JsonProvider+Label + JsonRuntime.WithRecordProperty(this, "url", (url :> obj), "") + class JsonProvider+PullRequest : FDR.BaseTypes.IJsonDocument new : htmlUrl:string option -> diffUrl:string option -> patchUrl:string option -> JsonProvider+PullRequest @@ -188,6 +254,15 @@ class JsonProvider+PullRequest : FDR.BaseTypes.IJsonDocument member PatchUrl: string option with get JsonRuntime.ConvertString("", JsonRuntime.TryGetPropertyUnpacked(this, "patch_url")) + member WithDiffUrl: diffUrl:string option -> JsonProvider+PullRequest + JsonRuntime.WithRecordProperty(this, "diff_url", (diffUrl :> obj), "") + + member WithHtmlUrl: htmlUrl:string option -> JsonProvider+PullRequest + JsonRuntime.WithRecordProperty(this, "html_url", (htmlUrl :> obj), "") + + member WithPatchUrl: patchUrl:string option -> JsonProvider+PullRequest + JsonRuntime.WithRecordProperty(this, "patch_url", (patchUrl :> obj), "") + class JsonProvider+User : FDR.BaseTypes.IJsonDocument new : login:string -> id:int -> avatarUrl:string -> gravatarId:System.Guid -> url:string -> htmlUrl:string -> followersUrl:string -> followingUrl:string -> gistsUrl:string -> starredUrl:string -> subscriptionsUrl:string -> organizationsUrl:string -> reposUrl:string -> eventsUrl:string -> receivedEventsUrl:string -> type:string -> JsonProvider+User @@ -291,6 +366,54 @@ class JsonProvider+User : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "url") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithAvatarUrl: avatarUrl:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "avatar_url", (avatarUrl :> obj), "") + + member WithEventsUrl: eventsUrl:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "events_url", (eventsUrl :> obj), "") + + member WithFollowersUrl: followersUrl:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "followers_url", (followersUrl :> obj), "") + + member WithFollowingUrl: followingUrl:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "following_url", (followingUrl :> obj), "") + + member WithGistsUrl: gistsUrl:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "gists_url", (gistsUrl :> obj), "") + + member WithGravatarId: gravatarId:System.Guid -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "gravatar_id", (gravatarId :> obj), "") + + member WithHtmlUrl: htmlUrl:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "html_url", (htmlUrl :> obj), "") + + member WithId: id:int -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithLogin: login:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "login", (login :> obj), "") + + member WithOrganizationsUrl: organizationsUrl:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "organizations_url", (organizationsUrl :> obj), "") + + member WithReceivedEventsUrl: receivedEventsUrl:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "received_events_url", (receivedEventsUrl :> obj), "") + + member WithReposUrl: reposUrl:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "repos_url", (reposUrl :> obj), "") + + member WithStarredUrl: starredUrl:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "starred_url", (starredUrl :> obj), "") + + member WithSubscriptionsUrl: subscriptionsUrl:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "subscriptions_url", (subscriptionsUrl :> obj), "") + + member WithType: type:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "type", (type :> obj), "") + + member WithUrl: url:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "url", (url :> obj), "") + class JsonProvider+FloatOrString : FDR.BaseTypes.IJsonDocument new : number:float -> JsonProvider+FloatOrString diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,GitHub.json,False,,,True,False,ValuesOnly,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,GitHub.json,False,,,True,False,ValuesOnly,.expected index 9284c6787..d6b68530e 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,GitHub.json,False,,,True,False,ValuesOnly,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,GitHub.json,False,,,True,False,ValuesOnly,.expected @@ -142,6 +142,63 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument member User: JsonProvider+User with get JsonRuntime.GetPropertyPacked(this, "user") + member WithAssignee: assignee:JsonValue -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "assignee", (assignee :> obj), "") + + member WithBody: body:string option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "body", (body :> obj), "") + + member WithClosedAt: closedAt:JsonValue -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "closed_at", (closedAt :> obj), "") + + member WithComments: comments:int -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "comments", (comments :> obj), "") + + member WithCommentsUrl: commentsUrl:string -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "comments_url", (commentsUrl :> obj), "") + + member WithCreatedAt: createdAt:System.DateTimeOffset -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "created_at", (createdAt :> obj), "") + + member WithEventsUrl: eventsUrl:string -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "events_url", (eventsUrl :> obj), "") + + member WithHtmlUrl: htmlUrl:string -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "html_url", (htmlUrl :> obj), "") + + member WithId: id:int -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithLabels: labels:JsonProvider+JsonProvider+Label[] -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "labels", (labels :> obj), "") + + member WithLabelsUrl: labelsUrl:string -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "labels_url", (labelsUrl :> obj), "") + + member WithMilestone: milestone:JsonValue -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "milestone", (milestone :> obj), "") + + member WithNumber: number:int -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "number", (number :> obj), "") + + member WithPullRequest: pullRequest:JsonProvider+PullRequest -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "pull_request", (pullRequest :> obj), "") + + member WithState: state:string -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "state", (state :> obj), "") + + member WithTitle: title:string -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "title", (title :> obj), "") + + member WithUpdatedAt: updatedAt:System.DateTimeOffset -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "updated_at", (updatedAt :> obj), "") + + member WithUrl: url:string -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "url", (url :> obj), "") + + member WithUser: user:JsonProvider+User -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "user", (user :> obj), "") + class JsonProvider+Label : FDR.BaseTypes.IJsonDocument new : url:string -> name:string -> color:JsonProvider+FloatOrString -> JsonProvider+Label @@ -166,6 +223,15 @@ class JsonProvider+Label : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "url") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithColor: color:JsonProvider+FloatOrString -> JsonProvider+Label + JsonRuntime.WithRecordProperty(this, "color", (color :> obj), "") + + member WithName: name:string -> JsonProvider+Label + JsonRuntime.WithRecordProperty(this, "name", (name :> obj), "") + + member WithUrl: url:string -> JsonProvider+Label + JsonRuntime.WithRecordProperty(this, "url", (url :> obj), "") + class JsonProvider+PullRequest : FDR.BaseTypes.IJsonDocument new : htmlUrl:string option -> diffUrl:string option -> patchUrl:string option -> JsonProvider+PullRequest @@ -188,6 +254,15 @@ class JsonProvider+PullRequest : FDR.BaseTypes.IJsonDocument member PatchUrl: string option with get JsonRuntime.ConvertString("", JsonRuntime.TryGetPropertyUnpacked(this, "patch_url")) + member WithDiffUrl: diffUrl:string option -> JsonProvider+PullRequest + JsonRuntime.WithRecordProperty(this, "diff_url", (diffUrl :> obj), "") + + member WithHtmlUrl: htmlUrl:string option -> JsonProvider+PullRequest + JsonRuntime.WithRecordProperty(this, "html_url", (htmlUrl :> obj), "") + + member WithPatchUrl: patchUrl:string option -> JsonProvider+PullRequest + JsonRuntime.WithRecordProperty(this, "patch_url", (patchUrl :> obj), "") + class JsonProvider+User : FDR.BaseTypes.IJsonDocument new : login:string -> id:int -> avatarUrl:string -> gravatarId:System.Guid -> url:string -> htmlUrl:string -> followersUrl:string -> followingUrl:string -> gistsUrl:string -> starredUrl:string -> subscriptionsUrl:string -> organizationsUrl:string -> reposUrl:string -> eventsUrl:string -> receivedEventsUrl:string -> type:string -> JsonProvider+User @@ -291,6 +366,54 @@ class JsonProvider+User : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "url") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithAvatarUrl: avatarUrl:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "avatar_url", (avatarUrl :> obj), "") + + member WithEventsUrl: eventsUrl:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "events_url", (eventsUrl :> obj), "") + + member WithFollowersUrl: followersUrl:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "followers_url", (followersUrl :> obj), "") + + member WithFollowingUrl: followingUrl:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "following_url", (followingUrl :> obj), "") + + member WithGistsUrl: gistsUrl:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "gists_url", (gistsUrl :> obj), "") + + member WithGravatarId: gravatarId:System.Guid -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "gravatar_id", (gravatarId :> obj), "") + + member WithHtmlUrl: htmlUrl:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "html_url", (htmlUrl :> obj), "") + + member WithId: id:int -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithLogin: login:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "login", (login :> obj), "") + + member WithOrganizationsUrl: organizationsUrl:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "organizations_url", (organizationsUrl :> obj), "") + + member WithReceivedEventsUrl: receivedEventsUrl:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "received_events_url", (receivedEventsUrl :> obj), "") + + member WithReposUrl: reposUrl:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "repos_url", (reposUrl :> obj), "") + + member WithStarredUrl: starredUrl:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "starred_url", (starredUrl :> obj), "") + + member WithSubscriptionsUrl: subscriptionsUrl:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "subscriptions_url", (subscriptionsUrl :> obj), "") + + member WithType: type:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "type", (type :> obj), "") + + member WithUrl: url:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "url", (url :> obj), "") + class JsonProvider+FloatOrString : FDR.BaseTypes.IJsonDocument new : number:float -> JsonProvider+FloatOrString diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,Nested.json,False,,,True,False,BackwardCompatible,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,Nested.json,False,,,True,False,BackwardCompatible,.expected index ba9682e13..dfa2bb080 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,Nested.json,False,,,True,False,BackwardCompatible,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,Nested.json,False,,,True,False,BackwardCompatible,.expected @@ -40,6 +40,9 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument member Main: JsonProvider+Main with get JsonRuntime.GetPropertyPacked(this, "main") + member WithMain: main:JsonProvider+Main -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "main", (main :> obj), "") + class JsonProvider+Main : FDR.BaseTypes.IJsonDocument new : firstName:string -> lastName:string -> age:int -> isCool:bool -> JsonProvider+Main @@ -71,4 +74,16 @@ class JsonProvider+Main : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "lastName") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithAge: age:int -> JsonProvider+Main + JsonRuntime.WithRecordProperty(this, "age", (age :> obj), "") + + member WithFirstName: firstName:string -> JsonProvider+Main + JsonRuntime.WithRecordProperty(this, "firstName", (firstName :> obj), "") + + member WithIsCool: isCool:bool -> JsonProvider+Main + JsonRuntime.WithRecordProperty(this, "isCool", (isCool :> obj), "") + + member WithLastName: lastName:string -> JsonProvider+Main + JsonRuntime.WithRecordProperty(this, "lastName", (lastName :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,Nested.json,False,,,True,False,ValuesAndInlineSchemasHints,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,Nested.json,False,,,True,False,ValuesAndInlineSchemasHints,.expected index ba9682e13..dfa2bb080 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,Nested.json,False,,,True,False,ValuesAndInlineSchemasHints,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,Nested.json,False,,,True,False,ValuesAndInlineSchemasHints,.expected @@ -40,6 +40,9 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument member Main: JsonProvider+Main with get JsonRuntime.GetPropertyPacked(this, "main") + member WithMain: main:JsonProvider+Main -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "main", (main :> obj), "") + class JsonProvider+Main : FDR.BaseTypes.IJsonDocument new : firstName:string -> lastName:string -> age:int -> isCool:bool -> JsonProvider+Main @@ -71,4 +74,16 @@ class JsonProvider+Main : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "lastName") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithAge: age:int -> JsonProvider+Main + JsonRuntime.WithRecordProperty(this, "age", (age :> obj), "") + + member WithFirstName: firstName:string -> JsonProvider+Main + JsonRuntime.WithRecordProperty(this, "firstName", (firstName :> obj), "") + + member WithIsCool: isCool:bool -> JsonProvider+Main + JsonRuntime.WithRecordProperty(this, "isCool", (isCool :> obj), "") + + member WithLastName: lastName:string -> JsonProvider+Main + JsonRuntime.WithRecordProperty(this, "lastName", (lastName :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,Nested.json,False,,,True,False,ValuesAndInlineSchemasOverrides,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,Nested.json,False,,,True,False,ValuesAndInlineSchemasOverrides,.expected index ba9682e13..dfa2bb080 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,Nested.json,False,,,True,False,ValuesAndInlineSchemasOverrides,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,Nested.json,False,,,True,False,ValuesAndInlineSchemasOverrides,.expected @@ -40,6 +40,9 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument member Main: JsonProvider+Main with get JsonRuntime.GetPropertyPacked(this, "main") + member WithMain: main:JsonProvider+Main -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "main", (main :> obj), "") + class JsonProvider+Main : FDR.BaseTypes.IJsonDocument new : firstName:string -> lastName:string -> age:int -> isCool:bool -> JsonProvider+Main @@ -71,4 +74,16 @@ class JsonProvider+Main : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "lastName") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithAge: age:int -> JsonProvider+Main + JsonRuntime.WithRecordProperty(this, "age", (age :> obj), "") + + member WithFirstName: firstName:string -> JsonProvider+Main + JsonRuntime.WithRecordProperty(this, "firstName", (firstName :> obj), "") + + member WithIsCool: isCool:bool -> JsonProvider+Main + JsonRuntime.WithRecordProperty(this, "isCool", (isCool :> obj), "") + + member WithLastName: lastName:string -> JsonProvider+Main + JsonRuntime.WithRecordProperty(this, "lastName", (lastName :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,Nested.json,False,,,True,False,ValuesOnly,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,Nested.json,False,,,True,False,ValuesOnly,.expected index ba9682e13..dfa2bb080 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,Nested.json,False,,,True,False,ValuesOnly,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,Nested.json,False,,,True,False,ValuesOnly,.expected @@ -40,6 +40,9 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument member Main: JsonProvider+Main with get JsonRuntime.GetPropertyPacked(this, "main") + member WithMain: main:JsonProvider+Main -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "main", (main :> obj), "") + class JsonProvider+Main : FDR.BaseTypes.IJsonDocument new : firstName:string -> lastName:string -> age:int -> isCool:bool -> JsonProvider+Main @@ -71,4 +74,16 @@ class JsonProvider+Main : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "lastName") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithAge: age:int -> JsonProvider+Main + JsonRuntime.WithRecordProperty(this, "age", (age :> obj), "") + + member WithFirstName: firstName:string -> JsonProvider+Main + JsonRuntime.WithRecordProperty(this, "firstName", (firstName :> obj), "") + + member WithIsCool: isCool:bool -> JsonProvider+Main + JsonRuntime.WithRecordProperty(this, "isCool", (isCool :> obj), "") + + member WithLastName: lastName:string -> JsonProvider+Main + JsonRuntime.WithRecordProperty(this, "lastName", (lastName :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,OptionValues.json,False,,,True,False,BackwardCompatible,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,OptionValues.json,False,,,True,False,BackwardCompatible,.expected index 59af19e98..062dd20a2 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,OptionValues.json,False,,,True,False,BackwardCompatible,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,OptionValues.json,False,,,True,False,BackwardCompatible,.expected @@ -40,6 +40,9 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument member Authors: JsonProvider+JsonProvider+Author[] with get JsonRuntime.ConvertArray(JsonRuntime.GetPropertyPackedOrNull(this, "authors"), new Func<_,_>(id))) + member WithAuthors: authors:JsonProvider+JsonProvider+Author[] -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "authors", (authors :> obj), "") + class JsonProvider+Author : FDR.BaseTypes.IJsonDocument new : name:string -> age:int option -> JsonProvider+Author @@ -58,4 +61,10 @@ class JsonProvider+Author : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "name") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithAge: age:int option -> JsonProvider+Author + JsonRuntime.WithRecordProperty(this, "age", (age :> obj), "") + + member WithName: name:string -> JsonProvider+Author + JsonRuntime.WithRecordProperty(this, "name", (name :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,OptionValues.json,False,,,True,False,ValuesAndInlineSchemasHints,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,OptionValues.json,False,,,True,False,ValuesAndInlineSchemasHints,.expected index 59af19e98..062dd20a2 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,OptionValues.json,False,,,True,False,ValuesAndInlineSchemasHints,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,OptionValues.json,False,,,True,False,ValuesAndInlineSchemasHints,.expected @@ -40,6 +40,9 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument member Authors: JsonProvider+JsonProvider+Author[] with get JsonRuntime.ConvertArray(JsonRuntime.GetPropertyPackedOrNull(this, "authors"), new Func<_,_>(id))) + member WithAuthors: authors:JsonProvider+JsonProvider+Author[] -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "authors", (authors :> obj), "") + class JsonProvider+Author : FDR.BaseTypes.IJsonDocument new : name:string -> age:int option -> JsonProvider+Author @@ -58,4 +61,10 @@ class JsonProvider+Author : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "name") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithAge: age:int option -> JsonProvider+Author + JsonRuntime.WithRecordProperty(this, "age", (age :> obj), "") + + member WithName: name:string -> JsonProvider+Author + JsonRuntime.WithRecordProperty(this, "name", (name :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,OptionValues.json,False,,,True,False,ValuesAndInlineSchemasOverrides,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,OptionValues.json,False,,,True,False,ValuesAndInlineSchemasOverrides,.expected index 59af19e98..062dd20a2 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,OptionValues.json,False,,,True,False,ValuesAndInlineSchemasOverrides,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,OptionValues.json,False,,,True,False,ValuesAndInlineSchemasOverrides,.expected @@ -40,6 +40,9 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument member Authors: JsonProvider+JsonProvider+Author[] with get JsonRuntime.ConvertArray(JsonRuntime.GetPropertyPackedOrNull(this, "authors"), new Func<_,_>(id))) + member WithAuthors: authors:JsonProvider+JsonProvider+Author[] -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "authors", (authors :> obj), "") + class JsonProvider+Author : FDR.BaseTypes.IJsonDocument new : name:string -> age:int option -> JsonProvider+Author @@ -58,4 +61,10 @@ class JsonProvider+Author : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "name") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithAge: age:int option -> JsonProvider+Author + JsonRuntime.WithRecordProperty(this, "age", (age :> obj), "") + + member WithName: name:string -> JsonProvider+Author + JsonRuntime.WithRecordProperty(this, "name", (name :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,OptionValues.json,False,,,True,False,ValuesOnly,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,OptionValues.json,False,,,True,False,ValuesOnly,.expected index 59af19e98..062dd20a2 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,OptionValues.json,False,,,True,False,ValuesOnly,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,OptionValues.json,False,,,True,False,ValuesOnly,.expected @@ -40,6 +40,9 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument member Authors: JsonProvider+JsonProvider+Author[] with get JsonRuntime.ConvertArray(JsonRuntime.GetPropertyPackedOrNull(this, "authors"), new Func<_,_>(id))) + member WithAuthors: authors:JsonProvider+JsonProvider+Author[] -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "authors", (authors :> obj), "") + class JsonProvider+Author : FDR.BaseTypes.IJsonDocument new : name:string -> age:int option -> JsonProvider+Author @@ -58,4 +61,10 @@ class JsonProvider+Author : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "name") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithAge: age:int option -> JsonProvider+Author + JsonRuntime.WithRecordProperty(this, "age", (age :> obj), "") + + member WithName: name:string -> JsonProvider+Author + JsonRuntime.WithRecordProperty(this, "name", (name :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,Simple.json,False,,,True,False,BackwardCompatible,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,Simple.json,False,,,True,False,BackwardCompatible,.expected index 057e7cc97..fc0b15ea5 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,Simple.json,False,,,True,False,BackwardCompatible,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,Simple.json,False,,,True,False,BackwardCompatible,.expected @@ -59,4 +59,16 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "lastName") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithAge: age:int -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "age", (age :> obj), "") + + member WithFirstName: firstName:string -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "firstName", (firstName :> obj), "") + + member WithIsCool: isCool:bool -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "isCool", (isCool :> obj), "") + + member WithLastName: lastName:string -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "lastName", (lastName :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,Simple.json,False,,,True,False,ValuesAndInlineSchemasHints,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,Simple.json,False,,,True,False,ValuesAndInlineSchemasHints,.expected index 057e7cc97..fc0b15ea5 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,Simple.json,False,,,True,False,ValuesAndInlineSchemasHints,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,Simple.json,False,,,True,False,ValuesAndInlineSchemasHints,.expected @@ -59,4 +59,16 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "lastName") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithAge: age:int -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "age", (age :> obj), "") + + member WithFirstName: firstName:string -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "firstName", (firstName :> obj), "") + + member WithIsCool: isCool:bool -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "isCool", (isCool :> obj), "") + + member WithLastName: lastName:string -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "lastName", (lastName :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,Simple.json,False,,,True,False,ValuesAndInlineSchemasOverrides,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,Simple.json,False,,,True,False,ValuesAndInlineSchemasOverrides,.expected index 057e7cc97..fc0b15ea5 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,Simple.json,False,,,True,False,ValuesAndInlineSchemasOverrides,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,Simple.json,False,,,True,False,ValuesAndInlineSchemasOverrides,.expected @@ -59,4 +59,16 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "lastName") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithAge: age:int -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "age", (age :> obj), "") + + member WithFirstName: firstName:string -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "firstName", (firstName :> obj), "") + + member WithIsCool: isCool:bool -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "isCool", (isCool :> obj), "") + + member WithLastName: lastName:string -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "lastName", (lastName :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,Simple.json,False,,,True,False,ValuesOnly,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,Simple.json,False,,,True,False,ValuesOnly,.expected index 057e7cc97..fc0b15ea5 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,Simple.json,False,,,True,False,ValuesOnly,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,Simple.json,False,,,True,False,ValuesOnly,.expected @@ -59,4 +59,16 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "lastName") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithAge: age:int -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "age", (age :> obj), "") + + member WithFirstName: firstName:string -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "firstName", (firstName :> obj), "") + + member WithIsCool: isCool:bool -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "isCool", (isCool :> obj), "") + + member WithLastName: lastName:string -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "lastName", (lastName :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,SimpleArray.json,False,,,True,False,BackwardCompatible,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,SimpleArray.json,False,,,True,False,BackwardCompatible,.expected index 663d8fd85..612379ded 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,SimpleArray.json,False,,,True,False,BackwardCompatible,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,SimpleArray.json,False,,,True,False,BackwardCompatible,.expected @@ -40,6 +40,9 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument member Items: JsonProvider+JsonProvider+Item[] with get JsonRuntime.ConvertArray(JsonRuntime.GetPropertyPackedOrNull(this, "items"), new Func<_,_>(id))) + member WithItems: items:JsonProvider+JsonProvider+Item[] -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "items", (items :> obj), "") + class JsonProvider+Item : FDR.BaseTypes.IJsonDocument new : id:string -> JsonProvider+Item @@ -53,4 +56,7 @@ class JsonProvider+Item : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "id") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithId: id:string -> JsonProvider+Item + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,SimpleArray.json,False,,,True,False,ValuesAndInlineSchemasHints,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,SimpleArray.json,False,,,True,False,ValuesAndInlineSchemasHints,.expected index 663d8fd85..612379ded 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,SimpleArray.json,False,,,True,False,ValuesAndInlineSchemasHints,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,SimpleArray.json,False,,,True,False,ValuesAndInlineSchemasHints,.expected @@ -40,6 +40,9 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument member Items: JsonProvider+JsonProvider+Item[] with get JsonRuntime.ConvertArray(JsonRuntime.GetPropertyPackedOrNull(this, "items"), new Func<_,_>(id))) + member WithItems: items:JsonProvider+JsonProvider+Item[] -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "items", (items :> obj), "") + class JsonProvider+Item : FDR.BaseTypes.IJsonDocument new : id:string -> JsonProvider+Item @@ -53,4 +56,7 @@ class JsonProvider+Item : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "id") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithId: id:string -> JsonProvider+Item + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,SimpleArray.json,False,,,True,False,ValuesAndInlineSchemasOverrides,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,SimpleArray.json,False,,,True,False,ValuesAndInlineSchemasOverrides,.expected index 663d8fd85..612379ded 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,SimpleArray.json,False,,,True,False,ValuesAndInlineSchemasOverrides,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,SimpleArray.json,False,,,True,False,ValuesAndInlineSchemasOverrides,.expected @@ -40,6 +40,9 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument member Items: JsonProvider+JsonProvider+Item[] with get JsonRuntime.ConvertArray(JsonRuntime.GetPropertyPackedOrNull(this, "items"), new Func<_,_>(id))) + member WithItems: items:JsonProvider+JsonProvider+Item[] -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "items", (items :> obj), "") + class JsonProvider+Item : FDR.BaseTypes.IJsonDocument new : id:string -> JsonProvider+Item @@ -53,4 +56,7 @@ class JsonProvider+Item : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "id") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithId: id:string -> JsonProvider+Item + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,SimpleArray.json,False,,,True,False,ValuesOnly,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,SimpleArray.json,False,,,True,False,ValuesOnly,.expected index 663d8fd85..612379ded 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,SimpleArray.json,False,,,True,False,ValuesOnly,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,SimpleArray.json,False,,,True,False,ValuesOnly,.expected @@ -40,6 +40,9 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument member Items: JsonProvider+JsonProvider+Item[] with get JsonRuntime.ConvertArray(JsonRuntime.GetPropertyPackedOrNull(this, "items"), new Func<_,_>(id))) + member WithItems: items:JsonProvider+JsonProvider+Item[] -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "items", (items :> obj), "") + class JsonProvider+Item : FDR.BaseTypes.IJsonDocument new : id:string -> JsonProvider+Item @@ -53,4 +56,7 @@ class JsonProvider+Item : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "id") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithId: id:string -> JsonProvider+Item + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,TimeSpans.json,False,,,True,False,BackwardCompatible,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,TimeSpans.json,False,,,True,False,BackwardCompatible,.expected index e6634fb14..d5939bc4d 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,TimeSpans.json,False,,,True,False,BackwardCompatible,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,TimeSpans.json,False,,,True,False,BackwardCompatible,.expected @@ -65,4 +65,19 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "timespanOneTickLessThanMinValue") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithNegativeWithDayWithFraction: negativeWithDayWithFraction:System.TimeSpan -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "negativeWithDayWithFraction", (negativeWithDayWithFraction :> obj), "") + + member WithPositiveWithDayWithFraction: positiveWithDayWithFraction:System.TimeSpan -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "positiveWithDayWithFraction", (positiveWithDayWithFraction :> obj), "") + + member WithPositiveWithoutDayWithoutFraction: positiveWithoutDayWithoutFraction:System.TimeSpan -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "positiveWithoutDayWithoutFraction", (positiveWithoutDayWithoutFraction :> obj), "") + + member WithTimespanOneTickGreaterThanMaxValue: timespanOneTickGreaterThanMaxValue:string -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "timespanOneTickGreaterThanMaxValue", (timespanOneTickGreaterThanMaxValue :> obj), "") + + member WithTimespanOneTickLessThanMinValue: timespanOneTickLessThanMinValue:string -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "timespanOneTickLessThanMinValue", (timespanOneTickLessThanMinValue :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,TimeSpans.json,False,,,True,False,ValuesAndInlineSchemasHints,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,TimeSpans.json,False,,,True,False,ValuesAndInlineSchemasHints,.expected index e6634fb14..d5939bc4d 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,TimeSpans.json,False,,,True,False,ValuesAndInlineSchemasHints,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,TimeSpans.json,False,,,True,False,ValuesAndInlineSchemasHints,.expected @@ -65,4 +65,19 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "timespanOneTickLessThanMinValue") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithNegativeWithDayWithFraction: negativeWithDayWithFraction:System.TimeSpan -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "negativeWithDayWithFraction", (negativeWithDayWithFraction :> obj), "") + + member WithPositiveWithDayWithFraction: positiveWithDayWithFraction:System.TimeSpan -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "positiveWithDayWithFraction", (positiveWithDayWithFraction :> obj), "") + + member WithPositiveWithoutDayWithoutFraction: positiveWithoutDayWithoutFraction:System.TimeSpan -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "positiveWithoutDayWithoutFraction", (positiveWithoutDayWithoutFraction :> obj), "") + + member WithTimespanOneTickGreaterThanMaxValue: timespanOneTickGreaterThanMaxValue:string -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "timespanOneTickGreaterThanMaxValue", (timespanOneTickGreaterThanMaxValue :> obj), "") + + member WithTimespanOneTickLessThanMinValue: timespanOneTickLessThanMinValue:string -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "timespanOneTickLessThanMinValue", (timespanOneTickLessThanMinValue :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,TimeSpans.json,False,,,True,False,ValuesAndInlineSchemasOverrides,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,TimeSpans.json,False,,,True,False,ValuesAndInlineSchemasOverrides,.expected index e6634fb14..d5939bc4d 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,TimeSpans.json,False,,,True,False,ValuesAndInlineSchemasOverrides,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,TimeSpans.json,False,,,True,False,ValuesAndInlineSchemasOverrides,.expected @@ -65,4 +65,19 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "timespanOneTickLessThanMinValue") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithNegativeWithDayWithFraction: negativeWithDayWithFraction:System.TimeSpan -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "negativeWithDayWithFraction", (negativeWithDayWithFraction :> obj), "") + + member WithPositiveWithDayWithFraction: positiveWithDayWithFraction:System.TimeSpan -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "positiveWithDayWithFraction", (positiveWithDayWithFraction :> obj), "") + + member WithPositiveWithoutDayWithoutFraction: positiveWithoutDayWithoutFraction:System.TimeSpan -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "positiveWithoutDayWithoutFraction", (positiveWithoutDayWithoutFraction :> obj), "") + + member WithTimespanOneTickGreaterThanMaxValue: timespanOneTickGreaterThanMaxValue:string -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "timespanOneTickGreaterThanMaxValue", (timespanOneTickGreaterThanMaxValue :> obj), "") + + member WithTimespanOneTickLessThanMinValue: timespanOneTickLessThanMinValue:string -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "timespanOneTickLessThanMinValue", (timespanOneTickLessThanMinValue :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,TimeSpans.json,False,,,True,False,ValuesOnly,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,TimeSpans.json,False,,,True,False,ValuesOnly,.expected index e6634fb14..d5939bc4d 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,TimeSpans.json,False,,,True,False,ValuesOnly,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,TimeSpans.json,False,,,True,False,ValuesOnly,.expected @@ -65,4 +65,19 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "timespanOneTickLessThanMinValue") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithNegativeWithDayWithFraction: negativeWithDayWithFraction:System.TimeSpan -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "negativeWithDayWithFraction", (negativeWithDayWithFraction :> obj), "") + + member WithPositiveWithDayWithFraction: positiveWithDayWithFraction:System.TimeSpan -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "positiveWithDayWithFraction", (positiveWithDayWithFraction :> obj), "") + + member WithPositiveWithoutDayWithoutFraction: positiveWithoutDayWithoutFraction:System.TimeSpan -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "positiveWithoutDayWithoutFraction", (positiveWithoutDayWithoutFraction :> obj), "") + + member WithTimespanOneTickGreaterThanMaxValue: timespanOneTickGreaterThanMaxValue:string -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "timespanOneTickGreaterThanMaxValue", (timespanOneTickGreaterThanMaxValue :> obj), "") + + member WithTimespanOneTickLessThanMinValue: timespanOneTickLessThanMinValue:string -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "timespanOneTickLessThanMinValue", (timespanOneTickLessThanMinValue :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,TwitterSample.json,True,,,True,False,BackwardCompatible,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,TwitterSample.json,True,,,True,False,BackwardCompatible,.expected index ba4150a8d..1d900d35b 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,TwitterSample.json,True,,,True,False,BackwardCompatible,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,TwitterSample.json,True,,,True,False,BackwardCompatible,.expected @@ -165,6 +165,84 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument member User: JsonProvider+User option with get JsonRuntime.TryGetPropertyPacked(this, "user") + member WithContributors: contributors:JsonValue -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "contributors", (contributors :> obj), "") + + member WithCoordinates: coordinates:JsonValue -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "coordinates", (coordinates :> obj), "") + + member WithCreatedAt: createdAt:string option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "created_at", (createdAt :> obj), "") + + member WithDelete: delete:JsonProvider+Delete option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "delete", (delete :> obj), "") + + member WithEntities: entities:JsonProvider+Entities2 option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "entities", (entities :> obj), "") + + member WithFavoriteCount: favoriteCount:int option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "favorite_count", (favoriteCount :> obj), "") + + member WithFavorited: favorited:bool option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "favorited", (favorited :> obj), "") + + member WithFilterLevel: filterLevel:string option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "filter_level", (filterLevel :> obj), "") + + member WithGeo: geo:JsonValue -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "geo", (geo :> obj), "") + + member WithId: id:int64 option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithIdStr: idStr:int64 option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "id_str", (idStr :> obj), "") + + member WithInReplyToScreenName: inReplyToScreenName:string option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "in_reply_to_screen_name", (inReplyToScreenName :> obj), "") + + member WithInReplyToStatusId: inReplyToStatusId:int64 option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "in_reply_to_status_id", (inReplyToStatusId :> obj), "") + + member WithInReplyToStatusIdStr: inReplyToStatusIdStr:int64 option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "in_reply_to_status_id_str", (inReplyToStatusIdStr :> obj), "") + + member WithInReplyToUserId: inReplyToUserId:int option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "in_reply_to_user_id", (inReplyToUserId :> obj), "") + + member WithInReplyToUserIdStr: inReplyToUserIdStr:int option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "in_reply_to_user_id_str", (inReplyToUserIdStr :> obj), "") + + member WithLang: lang:string option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "lang", (lang :> obj), "") + + member WithPlace: place:JsonProvider+Place option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "place", (place :> obj), "") + + member WithPossiblySensitive: possiblySensitive:bool option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "possibly_sensitive", (possiblySensitive :> obj), "") + + member WithRetweetCount: retweetCount:int option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "retweet_count", (retweetCount :> obj), "") + + member WithRetweeted: retweeted:bool option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "retweeted", (retweeted :> obj), "") + + member WithRetweetedStatus: retweetedStatus:JsonProvider+RetweetedStatus option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "retweeted_status", (retweetedStatus :> obj), "") + + member WithSource: source:string option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "source", (source :> obj), "") + + member WithText: text:string option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "text", (text :> obj), "") + + member WithTruncated: truncated:bool option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "truncated", (truncated :> obj), "") + + member WithUser: user:JsonProvider+User option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "user", (user :> obj), "") + class JsonProvider+Delete : FDR.BaseTypes.IJsonDocument new : status:JsonProvider+Status -> JsonProvider+Delete @@ -177,6 +255,9 @@ class JsonProvider+Delete : FDR.BaseTypes.IJsonDocument member Status: JsonProvider+Status with get JsonRuntime.GetPropertyPacked(this, "status") + member WithStatus: status:JsonProvider+Status -> JsonProvider+Delete + JsonRuntime.WithRecordProperty(this, "status", (status :> obj), "") + class JsonProvider+Entities2 : FDR.BaseTypes.IJsonDocument new : hashtags:JsonProvider+JsonProvider+Hashtag[] -> symbols:JsonValue[] -> urls:JsonProvider+JsonProvider+Url[] -> userMentions:JsonProvider+JsonProvider+UserMention[] -> JsonProvider+Entities2 @@ -204,6 +285,18 @@ class JsonProvider+Entities2 : FDR.BaseTypes.IJsonDocument member UserMentions: JsonProvider+JsonProvider+UserMention[] with get JsonRuntime.ConvertArray(JsonRuntime.GetPropertyPackedOrNull(this, "user_mentions"), new Func<_,_>(id))) + member WithHashtags: hashtags:JsonProvider+JsonProvider+Hashtag[] -> JsonProvider+Entities2 + JsonRuntime.WithRecordProperty(this, "hashtags", (hashtags :> obj), "") + + member WithSymbols: symbols:JsonValue[] -> JsonProvider+Entities2 + JsonRuntime.WithRecordProperty(this, "symbols", (symbols :> obj), "") + + member WithUrls: urls:JsonProvider+JsonProvider+Url[] -> JsonProvider+Entities2 + JsonRuntime.WithRecordProperty(this, "urls", (urls :> obj), "") + + member WithUserMentions: userMentions:JsonProvider+JsonProvider+UserMention[] -> JsonProvider+Entities2 + JsonRuntime.WithRecordProperty(this, "user_mentions", (userMentions :> obj), "") + class JsonProvider+Place : FDR.BaseTypes.IJsonDocument new : id:string -> url:string -> placeType:string -> name:string -> fullName:string -> countryCode:string -> country:string -> boundingBox:JsonProvider+BoundingBox -> attributes:JsonProvider+Attributes -> JsonProvider+Place @@ -263,6 +356,33 @@ class JsonProvider+Place : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "url") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithAttributes: attributes:JsonProvider+Attributes -> JsonProvider+Place + JsonRuntime.WithRecordProperty(this, "attributes", (attributes :> obj), "") + + member WithBoundingBox: boundingBox:JsonProvider+BoundingBox -> JsonProvider+Place + JsonRuntime.WithRecordProperty(this, "bounding_box", (boundingBox :> obj), "") + + member WithCountry: country:string -> JsonProvider+Place + JsonRuntime.WithRecordProperty(this, "country", (country :> obj), "") + + member WithCountryCode: countryCode:string -> JsonProvider+Place + JsonRuntime.WithRecordProperty(this, "country_code", (countryCode :> obj), "") + + member WithFullName: fullName:string -> JsonProvider+Place + JsonRuntime.WithRecordProperty(this, "full_name", (fullName :> obj), "") + + member WithId: id:string -> JsonProvider+Place + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithName: name:string -> JsonProvider+Place + JsonRuntime.WithRecordProperty(this, "name", (name :> obj), "") + + member WithPlaceType: placeType:string -> JsonProvider+Place + JsonRuntime.WithRecordProperty(this, "place_type", (placeType :> obj), "") + + member WithUrl: url:string -> JsonProvider+Place + JsonRuntime.WithRecordProperty(this, "url", (url :> obj), "") + class JsonProvider+RetweetedStatus : FDR.BaseTypes.IJsonDocument new : createdAt:string -> id:int64 -> idStr:int64 -> text:string -> source:string -> truncated:bool -> inReplyToStatusId:JsonValue -> inReplyToStatusIdStr:JsonValue -> inReplyToUserId:int option -> inReplyToUserIdStr:int option -> inReplyToScreenName:string option -> user:JsonProvider+User2 -> geo:JsonValue -> coordinates:JsonValue -> place:JsonValue -> contributors:JsonValue -> retweetCount:int -> favoriteCount:int -> entities:JsonProvider+Entities -> favorited:bool -> retweeted:bool -> lang:string -> possiblySensitive:bool option -> JsonProvider+RetweetedStatus @@ -396,6 +516,75 @@ class JsonProvider+RetweetedStatus : FDR.BaseTypes.IJsonDocument member User: JsonProvider+User2 with get JsonRuntime.GetPropertyPacked(this, "user") + member WithContributors: contributors:JsonValue -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "contributors", (contributors :> obj), "") + + member WithCoordinates: coordinates:JsonValue -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "coordinates", (coordinates :> obj), "") + + member WithCreatedAt: createdAt:string -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "created_at", (createdAt :> obj), "") + + member WithEntities: entities:JsonProvider+Entities -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "entities", (entities :> obj), "") + + member WithFavoriteCount: favoriteCount:int -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "favorite_count", (favoriteCount :> obj), "") + + member WithFavorited: favorited:bool -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "favorited", (favorited :> obj), "") + + member WithGeo: geo:JsonValue -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "geo", (geo :> obj), "") + + member WithId: id:int64 -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithIdStr: idStr:int64 -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "id_str", (idStr :> obj), "") + + member WithInReplyToScreenName: inReplyToScreenName:string option -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "in_reply_to_screen_name", (inReplyToScreenName :> obj), "") + + member WithInReplyToStatusId: inReplyToStatusId:JsonValue -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "in_reply_to_status_id", (inReplyToStatusId :> obj), "") + + member WithInReplyToStatusIdStr: inReplyToStatusIdStr:JsonValue -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "in_reply_to_status_id_str", (inReplyToStatusIdStr :> obj), "") + + member WithInReplyToUserId: inReplyToUserId:int option -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "in_reply_to_user_id", (inReplyToUserId :> obj), "") + + member WithInReplyToUserIdStr: inReplyToUserIdStr:int option -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "in_reply_to_user_id_str", (inReplyToUserIdStr :> obj), "") + + member WithLang: lang:string -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "lang", (lang :> obj), "") + + member WithPlace: place:JsonValue -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "place", (place :> obj), "") + + member WithPossiblySensitive: possiblySensitive:bool option -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "possibly_sensitive", (possiblySensitive :> obj), "") + + member WithRetweetCount: retweetCount:int -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "retweet_count", (retweetCount :> obj), "") + + member WithRetweeted: retweeted:bool -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "retweeted", (retweeted :> obj), "") + + member WithSource: source:string -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "source", (source :> obj), "") + + member WithText: text:string -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "text", (text :> obj), "") + + member WithTruncated: truncated:bool -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "truncated", (truncated :> obj), "") + + member WithUser: user:JsonProvider+User2 -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "user", (user :> obj), "") + class JsonProvider+User : FDR.BaseTypes.IJsonDocument new : id:int -> idStr:int -> name:string -> screenName:string -> location:string option -> url:string option -> description:string -> protected:bool -> followersCount:int -> friendsCount:int -> listedCount:int -> createdAt:string -> favouritesCount:int -> utcOffset:int option -> timeZone:string option -> geoEnabled:bool -> verified:bool -> statusesCount:int -> lang:string -> contributorsEnabled:bool -> isTranslator:bool -> profileBackgroundColor:JsonProvider+IntOrString -> profileBackgroundImageUrl:string -> profileBackgroundImageUrlHttps:string -> profileBackgroundTile:bool -> profileImageUrl:string -> profileImageUrlHttps:string -> profileBannerUrl:string option -> profileLinkColor:JsonProvider+IntOrString -> profileSidebarBorderColor:JsonProvider+IntOrString -> profileSidebarFillColor:JsonProvider+IntOrString -> profileTextColor:JsonProvider+IntOrString -> profileUseBackgroundImage:bool -> defaultProfile:bool -> defaultProfileImage:bool -> following:JsonValue -> followRequestSent:JsonValue -> notifications:JsonValue -> JsonProvider+User @@ -618,6 +807,120 @@ class JsonProvider+User : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "verified") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertBoolean(value.JsonOpt), value.JsonOpt) + member WithContributorsEnabled: contributorsEnabled:bool -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "contributors_enabled", (contributorsEnabled :> obj), "") + + member WithCreatedAt: createdAt:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "created_at", (createdAt :> obj), "") + + member WithDefaultProfile: defaultProfile:bool -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "default_profile", (defaultProfile :> obj), "") + + member WithDefaultProfileImage: defaultProfileImage:bool -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "default_profile_image", (defaultProfileImage :> obj), "") + + member WithDescription: description:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "description", (description :> obj), "") + + member WithFavouritesCount: favouritesCount:int -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "favourites_count", (favouritesCount :> obj), "") + + member WithFollowRequestSent: followRequestSent:JsonValue -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "follow_request_sent", (followRequestSent :> obj), "") + + member WithFollowersCount: followersCount:int -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "followers_count", (followersCount :> obj), "") + + member WithFollowing: following:JsonValue -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "following", (following :> obj), "") + + member WithFriendsCount: friendsCount:int -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "friends_count", (friendsCount :> obj), "") + + member WithGeoEnabled: geoEnabled:bool -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "geo_enabled", (geoEnabled :> obj), "") + + member WithId: id:int -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithIdStr: idStr:int -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "id_str", (idStr :> obj), "") + + member WithIsTranslator: isTranslator:bool -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "is_translator", (isTranslator :> obj), "") + + member WithLang: lang:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "lang", (lang :> obj), "") + + member WithListedCount: listedCount:int -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "listed_count", (listedCount :> obj), "") + + member WithLocation: location:string option -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "location", (location :> obj), "") + + member WithName: name:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "name", (name :> obj), "") + + member WithNotifications: notifications:JsonValue -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "notifications", (notifications :> obj), "") + + member WithProfileBackgroundColor: profileBackgroundColor:JsonProvider+IntOrString -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_background_color", (profileBackgroundColor :> obj), "") + + member WithProfileBackgroundImageUrl: profileBackgroundImageUrl:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_background_image_url", (profileBackgroundImageUrl :> obj), "") + + member WithProfileBackgroundImageUrlHttps: profileBackgroundImageUrlHttps:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_background_image_url_https", (profileBackgroundImageUrlHttps :> obj), "") + + member WithProfileBackgroundTile: profileBackgroundTile:bool -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_background_tile", (profileBackgroundTile :> obj), "") + + member WithProfileBannerUrl: profileBannerUrl:string option -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_banner_url", (profileBannerUrl :> obj), "") + + member WithProfileImageUrl: profileImageUrl:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_image_url", (profileImageUrl :> obj), "") + + member WithProfileImageUrlHttps: profileImageUrlHttps:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_image_url_https", (profileImageUrlHttps :> obj), "") + + member WithProfileLinkColor: profileLinkColor:JsonProvider+IntOrString -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_link_color", (profileLinkColor :> obj), "") + + member WithProfileSidebarBorderColor: profileSidebarBorderColor:JsonProvider+IntOrString -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_sidebar_border_color", (profileSidebarBorderColor :> obj), "") + + member WithProfileSidebarFillColor: profileSidebarFillColor:JsonProvider+IntOrString -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_sidebar_fill_color", (profileSidebarFillColor :> obj), "") + + member WithProfileTextColor: profileTextColor:JsonProvider+IntOrString -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_text_color", (profileTextColor :> obj), "") + + member WithProfileUseBackgroundImage: profileUseBackgroundImage:bool -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_use_background_image", (profileUseBackgroundImage :> obj), "") + + member WithProtected: protected:bool -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "protected", (protected :> obj), "") + + member WithScreenName: screenName:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "screen_name", (screenName :> obj), "") + + member WithStatusesCount: statusesCount:int -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "statuses_count", (statusesCount :> obj), "") + + member WithTimeZone: timeZone:string option -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "time_zone", (timeZone :> obj), "") + + member WithUrl: url:string option -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "url", (url :> obj), "") + + member WithUtcOffset: utcOffset:int option -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "utc_offset", (utcOffset :> obj), "") + + member WithVerified: verified:bool -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "verified", (verified :> obj), "") + class JsonProvider+Attributes : FDR.BaseTypes.IJsonDocument new : () -> JsonProvider+Attributes @@ -644,6 +947,12 @@ class JsonProvider+BoundingBox : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "type") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithCoordinates: coordinates:decimal[][][] -> JsonProvider+BoundingBox + JsonRuntime.WithRecordProperty(this, "coordinates", (coordinates :> obj), "") + + member WithType: type:string -> JsonProvider+BoundingBox + JsonRuntime.WithRecordProperty(this, "type", (type :> obj), "") + class JsonProvider+Entities : FDR.BaseTypes.IJsonDocument new : hashtags:JsonProvider+JsonProvider+Hashtag[] -> symbols:JsonValue[] -> urls:JsonProvider+JsonProvider+Url[] -> userMentions:JsonProvider+JsonProvider+UserMention[] -> media:JsonProvider+JsonProvider+Media[] -> JsonProvider+Entities @@ -676,6 +985,21 @@ class JsonProvider+Entities : FDR.BaseTypes.IJsonDocument member UserMentions: JsonProvider+JsonProvider+UserMention[] with get JsonRuntime.ConvertArray(JsonRuntime.GetPropertyPackedOrNull(this, "user_mentions"), new Func<_,_>(id))) + member WithHashtags: hashtags:JsonProvider+JsonProvider+Hashtag[] -> JsonProvider+Entities + JsonRuntime.WithRecordProperty(this, "hashtags", (hashtags :> obj), "") + + member WithMedia: media:JsonProvider+JsonProvider+Media[] -> JsonProvider+Entities + JsonRuntime.WithRecordProperty(this, "media", (media :> obj), "") + + member WithSymbols: symbols:JsonValue[] -> JsonProvider+Entities + JsonRuntime.WithRecordProperty(this, "symbols", (symbols :> obj), "") + + member WithUrls: urls:JsonProvider+JsonProvider+Url[] -> JsonProvider+Entities + JsonRuntime.WithRecordProperty(this, "urls", (urls :> obj), "") + + member WithUserMentions: userMentions:JsonProvider+JsonProvider+UserMention[] -> JsonProvider+Entities + JsonRuntime.WithRecordProperty(this, "user_mentions", (userMentions :> obj), "") + class JsonProvider+Hashtag : FDR.BaseTypes.IJsonDocument new : text:string -> indices:int[] -> JsonProvider+Hashtag @@ -694,6 +1018,12 @@ class JsonProvider+Hashtag : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "text") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithIndices: indices:int[] -> JsonProvider+Hashtag + JsonRuntime.WithRecordProperty(this, "indices", (indices :> obj), "") + + member WithText: text:string -> JsonProvider+Hashtag + JsonRuntime.WithRecordProperty(this, "text", (text :> obj), "") + class JsonProvider+IntOrString : FDR.BaseTypes.IJsonDocument new : number:int -> JsonProvider+IntOrString @@ -745,6 +1075,18 @@ class JsonProvider+Status : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "user_id_str") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertInteger("", value.JsonOpt), value.JsonOpt) + member WithId: id:int64 -> JsonProvider+Status + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithIdStr: idStr:int64 -> JsonProvider+Status + JsonRuntime.WithRecordProperty(this, "id_str", (idStr :> obj), "") + + member WithUserId: userId:int -> JsonProvider+Status + JsonRuntime.WithRecordProperty(this, "user_id", (userId :> obj), "") + + member WithUserIdStr: userIdStr:int -> JsonProvider+Status + JsonRuntime.WithRecordProperty(this, "user_id_str", (userIdStr :> obj), "") + class JsonProvider+Url : FDR.BaseTypes.IJsonDocument new : url:string -> expandedUrl:string -> displayUrl:string -> indices:int[] -> JsonProvider+Url @@ -775,6 +1117,18 @@ class JsonProvider+Url : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "url") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithDisplayUrl: displayUrl:string -> JsonProvider+Url + JsonRuntime.WithRecordProperty(this, "display_url", (displayUrl :> obj), "") + + member WithExpandedUrl: expandedUrl:string -> JsonProvider+Url + JsonRuntime.WithRecordProperty(this, "expanded_url", (expandedUrl :> obj), "") + + member WithIndices: indices:int[] -> JsonProvider+Url + JsonRuntime.WithRecordProperty(this, "indices", (indices :> obj), "") + + member WithUrl: url:string -> JsonProvider+Url + JsonRuntime.WithRecordProperty(this, "url", (url :> obj), "") + class JsonProvider+User2 : FDR.BaseTypes.IJsonDocument new : id:int -> idStr:int -> name:string -> screenName:string -> location:string option -> url:string option -> description:string -> protected:bool -> followersCount:int -> friendsCount:int -> listedCount:int -> createdAt:string -> favouritesCount:int -> utcOffset:int option -> timeZone:string option -> geoEnabled:bool -> verified:bool -> statusesCount:int -> lang:string -> contributorsEnabled:bool -> isTranslator:bool -> profileBackgroundColor:JsonProvider+IntOrString -> profileBackgroundImageUrl:string -> profileBackgroundImageUrlHttps:string -> profileBackgroundTile:bool -> profileImageUrl:string -> profileImageUrlHttps:string -> profileBannerUrl:string option -> profileLinkColor:string -> profileSidebarBorderColor:JsonProvider+IntOrString -> profileSidebarFillColor:JsonProvider+IntOrString -> profileTextColor:JsonProvider+IntOrString -> profileUseBackgroundImage:bool -> defaultProfile:bool -> defaultProfileImage:bool -> following:JsonValue -> followRequestSent:JsonValue -> notifications:JsonValue -> JsonProvider+User2 @@ -998,6 +1352,120 @@ class JsonProvider+User2 : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "verified") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertBoolean(value.JsonOpt), value.JsonOpt) + member WithContributorsEnabled: contributorsEnabled:bool -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "contributors_enabled", (contributorsEnabled :> obj), "") + + member WithCreatedAt: createdAt:string -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "created_at", (createdAt :> obj), "") + + member WithDefaultProfile: defaultProfile:bool -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "default_profile", (defaultProfile :> obj), "") + + member WithDefaultProfileImage: defaultProfileImage:bool -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "default_profile_image", (defaultProfileImage :> obj), "") + + member WithDescription: description:string -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "description", (description :> obj), "") + + member WithFavouritesCount: favouritesCount:int -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "favourites_count", (favouritesCount :> obj), "") + + member WithFollowRequestSent: followRequestSent:JsonValue -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "follow_request_sent", (followRequestSent :> obj), "") + + member WithFollowersCount: followersCount:int -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "followers_count", (followersCount :> obj), "") + + member WithFollowing: following:JsonValue -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "following", (following :> obj), "") + + member WithFriendsCount: friendsCount:int -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "friends_count", (friendsCount :> obj), "") + + member WithGeoEnabled: geoEnabled:bool -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "geo_enabled", (geoEnabled :> obj), "") + + member WithId: id:int -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithIdStr: idStr:int -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "id_str", (idStr :> obj), "") + + member WithIsTranslator: isTranslator:bool -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "is_translator", (isTranslator :> obj), "") + + member WithLang: lang:string -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "lang", (lang :> obj), "") + + member WithListedCount: listedCount:int -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "listed_count", (listedCount :> obj), "") + + member WithLocation: location:string option -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "location", (location :> obj), "") + + member WithName: name:string -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "name", (name :> obj), "") + + member WithNotifications: notifications:JsonValue -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "notifications", (notifications :> obj), "") + + member WithProfileBackgroundColor: profileBackgroundColor:JsonProvider+IntOrString -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_background_color", (profileBackgroundColor :> obj), "") + + member WithProfileBackgroundImageUrl: profileBackgroundImageUrl:string -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_background_image_url", (profileBackgroundImageUrl :> obj), "") + + member WithProfileBackgroundImageUrlHttps: profileBackgroundImageUrlHttps:string -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_background_image_url_https", (profileBackgroundImageUrlHttps :> obj), "") + + member WithProfileBackgroundTile: profileBackgroundTile:bool -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_background_tile", (profileBackgroundTile :> obj), "") + + member WithProfileBannerUrl: profileBannerUrl:string option -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_banner_url", (profileBannerUrl :> obj), "") + + member WithProfileImageUrl: profileImageUrl:string -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_image_url", (profileImageUrl :> obj), "") + + member WithProfileImageUrlHttps: profileImageUrlHttps:string -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_image_url_https", (profileImageUrlHttps :> obj), "") + + member WithProfileLinkColor: profileLinkColor:string -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_link_color", (profileLinkColor :> obj), "") + + member WithProfileSidebarBorderColor: profileSidebarBorderColor:JsonProvider+IntOrString -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_sidebar_border_color", (profileSidebarBorderColor :> obj), "") + + member WithProfileSidebarFillColor: profileSidebarFillColor:JsonProvider+IntOrString -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_sidebar_fill_color", (profileSidebarFillColor :> obj), "") + + member WithProfileTextColor: profileTextColor:JsonProvider+IntOrString -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_text_color", (profileTextColor :> obj), "") + + member WithProfileUseBackgroundImage: profileUseBackgroundImage:bool -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_use_background_image", (profileUseBackgroundImage :> obj), "") + + member WithProtected: protected:bool -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "protected", (protected :> obj), "") + + member WithScreenName: screenName:string -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "screen_name", (screenName :> obj), "") + + member WithStatusesCount: statusesCount:int -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "statuses_count", (statusesCount :> obj), "") + + member WithTimeZone: timeZone:string option -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "time_zone", (timeZone :> obj), "") + + member WithUrl: url:string option -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "url", (url :> obj), "") + + member WithUtcOffset: utcOffset:int option -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "utc_offset", (utcOffset :> obj), "") + + member WithVerified: verified:bool -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "verified", (verified :> obj), "") + class JsonProvider+UserMention : FDR.BaseTypes.IJsonDocument new : screenName:string -> name:string -> id:int -> idStr:int -> indices:int[] -> JsonProvider+UserMention @@ -1034,6 +1502,21 @@ class JsonProvider+UserMention : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "screen_name") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithId: id:int -> JsonProvider+UserMention + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithIdStr: idStr:int -> JsonProvider+UserMention + JsonRuntime.WithRecordProperty(this, "id_str", (idStr :> obj), "") + + member WithIndices: indices:int[] -> JsonProvider+UserMention + JsonRuntime.WithRecordProperty(this, "indices", (indices :> obj), "") + + member WithName: name:string -> JsonProvider+UserMention + JsonRuntime.WithRecordProperty(this, "name", (name :> obj), "") + + member WithScreenName: screenName:string -> JsonProvider+UserMention + JsonRuntime.WithRecordProperty(this, "screen_name", (screenName :> obj), "") + class JsonProvider+Media : FDR.BaseTypes.IJsonDocument new : id:int64 -> idStr:int64 -> indices:int[] -> mediaUrl:string -> mediaUrlHttps:string -> url:string -> displayUrl:string -> expandedUrl:string -> type:string -> sizes:JsonProvider+Sizes -> sourceStatusId:int64 -> sourceStatusIdStr:int64 -> JsonProvider+Media @@ -1111,6 +1594,42 @@ class JsonProvider+Media : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "url") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithDisplayUrl: displayUrl:string -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "display_url", (displayUrl :> obj), "") + + member WithExpandedUrl: expandedUrl:string -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "expanded_url", (expandedUrl :> obj), "") + + member WithId: id:int64 -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithIdStr: idStr:int64 -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "id_str", (idStr :> obj), "") + + member WithIndices: indices:int[] -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "indices", (indices :> obj), "") + + member WithMediaUrl: mediaUrl:string -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "media_url", (mediaUrl :> obj), "") + + member WithMediaUrlHttps: mediaUrlHttps:string -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "media_url_https", (mediaUrlHttps :> obj), "") + + member WithSizes: sizes:JsonProvider+Sizes -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "sizes", (sizes :> obj), "") + + member WithSourceStatusId: sourceStatusId:int64 -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "source_status_id", (sourceStatusId :> obj), "") + + member WithSourceStatusIdStr: sourceStatusIdStr:int64 -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "source_status_id_str", (sourceStatusIdStr :> obj), "") + + member WithType: type:string -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "type", (type :> obj), "") + + member WithUrl: url:string -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "url", (url :> obj), "") + class JsonProvider+Sizes : FDR.BaseTypes.IJsonDocument new : small:JsonProvider+Small -> thumb:JsonProvider+Small -> large:JsonProvider+Small -> medium:JsonProvider+Small -> JsonProvider+Sizes @@ -1138,6 +1657,18 @@ class JsonProvider+Sizes : FDR.BaseTypes.IJsonDocument member Thumb: JsonProvider+Small with get JsonRuntime.GetPropertyPacked(this, "thumb") + member WithLarge: large:JsonProvider+Small -> JsonProvider+Sizes + JsonRuntime.WithRecordProperty(this, "large", (large :> obj), "") + + member WithMedium: medium:JsonProvider+Small -> JsonProvider+Sizes + JsonRuntime.WithRecordProperty(this, "medium", (medium :> obj), "") + + member WithSmall: small:JsonProvider+Small -> JsonProvider+Sizes + JsonRuntime.WithRecordProperty(this, "small", (small :> obj), "") + + member WithThumb: thumb:JsonProvider+Small -> JsonProvider+Sizes + JsonRuntime.WithRecordProperty(this, "thumb", (thumb :> obj), "") + class JsonProvider+Small : FDR.BaseTypes.IJsonDocument new : w:int -> h:int -> resize:string -> JsonProvider+Small @@ -1163,4 +1694,13 @@ class JsonProvider+Small : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "w") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertInteger("", value.JsonOpt), value.JsonOpt) + member WithH: h:int -> JsonProvider+Small + JsonRuntime.WithRecordProperty(this, "h", (h :> obj), "") + + member WithResize: resize:string -> JsonProvider+Small + JsonRuntime.WithRecordProperty(this, "resize", (resize :> obj), "") + + member WithW: w:int -> JsonProvider+Small + JsonRuntime.WithRecordProperty(this, "w", (w :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,TwitterSample.json,True,,,True,False,ValuesAndInlineSchemasHints,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,TwitterSample.json,True,,,True,False,ValuesAndInlineSchemasHints,.expected index ba4150a8d..1d900d35b 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,TwitterSample.json,True,,,True,False,ValuesAndInlineSchemasHints,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,TwitterSample.json,True,,,True,False,ValuesAndInlineSchemasHints,.expected @@ -165,6 +165,84 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument member User: JsonProvider+User option with get JsonRuntime.TryGetPropertyPacked(this, "user") + member WithContributors: contributors:JsonValue -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "contributors", (contributors :> obj), "") + + member WithCoordinates: coordinates:JsonValue -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "coordinates", (coordinates :> obj), "") + + member WithCreatedAt: createdAt:string option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "created_at", (createdAt :> obj), "") + + member WithDelete: delete:JsonProvider+Delete option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "delete", (delete :> obj), "") + + member WithEntities: entities:JsonProvider+Entities2 option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "entities", (entities :> obj), "") + + member WithFavoriteCount: favoriteCount:int option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "favorite_count", (favoriteCount :> obj), "") + + member WithFavorited: favorited:bool option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "favorited", (favorited :> obj), "") + + member WithFilterLevel: filterLevel:string option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "filter_level", (filterLevel :> obj), "") + + member WithGeo: geo:JsonValue -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "geo", (geo :> obj), "") + + member WithId: id:int64 option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithIdStr: idStr:int64 option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "id_str", (idStr :> obj), "") + + member WithInReplyToScreenName: inReplyToScreenName:string option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "in_reply_to_screen_name", (inReplyToScreenName :> obj), "") + + member WithInReplyToStatusId: inReplyToStatusId:int64 option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "in_reply_to_status_id", (inReplyToStatusId :> obj), "") + + member WithInReplyToStatusIdStr: inReplyToStatusIdStr:int64 option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "in_reply_to_status_id_str", (inReplyToStatusIdStr :> obj), "") + + member WithInReplyToUserId: inReplyToUserId:int option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "in_reply_to_user_id", (inReplyToUserId :> obj), "") + + member WithInReplyToUserIdStr: inReplyToUserIdStr:int option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "in_reply_to_user_id_str", (inReplyToUserIdStr :> obj), "") + + member WithLang: lang:string option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "lang", (lang :> obj), "") + + member WithPlace: place:JsonProvider+Place option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "place", (place :> obj), "") + + member WithPossiblySensitive: possiblySensitive:bool option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "possibly_sensitive", (possiblySensitive :> obj), "") + + member WithRetweetCount: retweetCount:int option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "retweet_count", (retweetCount :> obj), "") + + member WithRetweeted: retweeted:bool option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "retweeted", (retweeted :> obj), "") + + member WithRetweetedStatus: retweetedStatus:JsonProvider+RetweetedStatus option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "retweeted_status", (retweetedStatus :> obj), "") + + member WithSource: source:string option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "source", (source :> obj), "") + + member WithText: text:string option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "text", (text :> obj), "") + + member WithTruncated: truncated:bool option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "truncated", (truncated :> obj), "") + + member WithUser: user:JsonProvider+User option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "user", (user :> obj), "") + class JsonProvider+Delete : FDR.BaseTypes.IJsonDocument new : status:JsonProvider+Status -> JsonProvider+Delete @@ -177,6 +255,9 @@ class JsonProvider+Delete : FDR.BaseTypes.IJsonDocument member Status: JsonProvider+Status with get JsonRuntime.GetPropertyPacked(this, "status") + member WithStatus: status:JsonProvider+Status -> JsonProvider+Delete + JsonRuntime.WithRecordProperty(this, "status", (status :> obj), "") + class JsonProvider+Entities2 : FDR.BaseTypes.IJsonDocument new : hashtags:JsonProvider+JsonProvider+Hashtag[] -> symbols:JsonValue[] -> urls:JsonProvider+JsonProvider+Url[] -> userMentions:JsonProvider+JsonProvider+UserMention[] -> JsonProvider+Entities2 @@ -204,6 +285,18 @@ class JsonProvider+Entities2 : FDR.BaseTypes.IJsonDocument member UserMentions: JsonProvider+JsonProvider+UserMention[] with get JsonRuntime.ConvertArray(JsonRuntime.GetPropertyPackedOrNull(this, "user_mentions"), new Func<_,_>(id))) + member WithHashtags: hashtags:JsonProvider+JsonProvider+Hashtag[] -> JsonProvider+Entities2 + JsonRuntime.WithRecordProperty(this, "hashtags", (hashtags :> obj), "") + + member WithSymbols: symbols:JsonValue[] -> JsonProvider+Entities2 + JsonRuntime.WithRecordProperty(this, "symbols", (symbols :> obj), "") + + member WithUrls: urls:JsonProvider+JsonProvider+Url[] -> JsonProvider+Entities2 + JsonRuntime.WithRecordProperty(this, "urls", (urls :> obj), "") + + member WithUserMentions: userMentions:JsonProvider+JsonProvider+UserMention[] -> JsonProvider+Entities2 + JsonRuntime.WithRecordProperty(this, "user_mentions", (userMentions :> obj), "") + class JsonProvider+Place : FDR.BaseTypes.IJsonDocument new : id:string -> url:string -> placeType:string -> name:string -> fullName:string -> countryCode:string -> country:string -> boundingBox:JsonProvider+BoundingBox -> attributes:JsonProvider+Attributes -> JsonProvider+Place @@ -263,6 +356,33 @@ class JsonProvider+Place : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "url") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithAttributes: attributes:JsonProvider+Attributes -> JsonProvider+Place + JsonRuntime.WithRecordProperty(this, "attributes", (attributes :> obj), "") + + member WithBoundingBox: boundingBox:JsonProvider+BoundingBox -> JsonProvider+Place + JsonRuntime.WithRecordProperty(this, "bounding_box", (boundingBox :> obj), "") + + member WithCountry: country:string -> JsonProvider+Place + JsonRuntime.WithRecordProperty(this, "country", (country :> obj), "") + + member WithCountryCode: countryCode:string -> JsonProvider+Place + JsonRuntime.WithRecordProperty(this, "country_code", (countryCode :> obj), "") + + member WithFullName: fullName:string -> JsonProvider+Place + JsonRuntime.WithRecordProperty(this, "full_name", (fullName :> obj), "") + + member WithId: id:string -> JsonProvider+Place + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithName: name:string -> JsonProvider+Place + JsonRuntime.WithRecordProperty(this, "name", (name :> obj), "") + + member WithPlaceType: placeType:string -> JsonProvider+Place + JsonRuntime.WithRecordProperty(this, "place_type", (placeType :> obj), "") + + member WithUrl: url:string -> JsonProvider+Place + JsonRuntime.WithRecordProperty(this, "url", (url :> obj), "") + class JsonProvider+RetweetedStatus : FDR.BaseTypes.IJsonDocument new : createdAt:string -> id:int64 -> idStr:int64 -> text:string -> source:string -> truncated:bool -> inReplyToStatusId:JsonValue -> inReplyToStatusIdStr:JsonValue -> inReplyToUserId:int option -> inReplyToUserIdStr:int option -> inReplyToScreenName:string option -> user:JsonProvider+User2 -> geo:JsonValue -> coordinates:JsonValue -> place:JsonValue -> contributors:JsonValue -> retweetCount:int -> favoriteCount:int -> entities:JsonProvider+Entities -> favorited:bool -> retweeted:bool -> lang:string -> possiblySensitive:bool option -> JsonProvider+RetweetedStatus @@ -396,6 +516,75 @@ class JsonProvider+RetweetedStatus : FDR.BaseTypes.IJsonDocument member User: JsonProvider+User2 with get JsonRuntime.GetPropertyPacked(this, "user") + member WithContributors: contributors:JsonValue -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "contributors", (contributors :> obj), "") + + member WithCoordinates: coordinates:JsonValue -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "coordinates", (coordinates :> obj), "") + + member WithCreatedAt: createdAt:string -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "created_at", (createdAt :> obj), "") + + member WithEntities: entities:JsonProvider+Entities -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "entities", (entities :> obj), "") + + member WithFavoriteCount: favoriteCount:int -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "favorite_count", (favoriteCount :> obj), "") + + member WithFavorited: favorited:bool -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "favorited", (favorited :> obj), "") + + member WithGeo: geo:JsonValue -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "geo", (geo :> obj), "") + + member WithId: id:int64 -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithIdStr: idStr:int64 -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "id_str", (idStr :> obj), "") + + member WithInReplyToScreenName: inReplyToScreenName:string option -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "in_reply_to_screen_name", (inReplyToScreenName :> obj), "") + + member WithInReplyToStatusId: inReplyToStatusId:JsonValue -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "in_reply_to_status_id", (inReplyToStatusId :> obj), "") + + member WithInReplyToStatusIdStr: inReplyToStatusIdStr:JsonValue -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "in_reply_to_status_id_str", (inReplyToStatusIdStr :> obj), "") + + member WithInReplyToUserId: inReplyToUserId:int option -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "in_reply_to_user_id", (inReplyToUserId :> obj), "") + + member WithInReplyToUserIdStr: inReplyToUserIdStr:int option -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "in_reply_to_user_id_str", (inReplyToUserIdStr :> obj), "") + + member WithLang: lang:string -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "lang", (lang :> obj), "") + + member WithPlace: place:JsonValue -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "place", (place :> obj), "") + + member WithPossiblySensitive: possiblySensitive:bool option -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "possibly_sensitive", (possiblySensitive :> obj), "") + + member WithRetweetCount: retweetCount:int -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "retweet_count", (retweetCount :> obj), "") + + member WithRetweeted: retweeted:bool -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "retweeted", (retweeted :> obj), "") + + member WithSource: source:string -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "source", (source :> obj), "") + + member WithText: text:string -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "text", (text :> obj), "") + + member WithTruncated: truncated:bool -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "truncated", (truncated :> obj), "") + + member WithUser: user:JsonProvider+User2 -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "user", (user :> obj), "") + class JsonProvider+User : FDR.BaseTypes.IJsonDocument new : id:int -> idStr:int -> name:string -> screenName:string -> location:string option -> url:string option -> description:string -> protected:bool -> followersCount:int -> friendsCount:int -> listedCount:int -> createdAt:string -> favouritesCount:int -> utcOffset:int option -> timeZone:string option -> geoEnabled:bool -> verified:bool -> statusesCount:int -> lang:string -> contributorsEnabled:bool -> isTranslator:bool -> profileBackgroundColor:JsonProvider+IntOrString -> profileBackgroundImageUrl:string -> profileBackgroundImageUrlHttps:string -> profileBackgroundTile:bool -> profileImageUrl:string -> profileImageUrlHttps:string -> profileBannerUrl:string option -> profileLinkColor:JsonProvider+IntOrString -> profileSidebarBorderColor:JsonProvider+IntOrString -> profileSidebarFillColor:JsonProvider+IntOrString -> profileTextColor:JsonProvider+IntOrString -> profileUseBackgroundImage:bool -> defaultProfile:bool -> defaultProfileImage:bool -> following:JsonValue -> followRequestSent:JsonValue -> notifications:JsonValue -> JsonProvider+User @@ -618,6 +807,120 @@ class JsonProvider+User : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "verified") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertBoolean(value.JsonOpt), value.JsonOpt) + member WithContributorsEnabled: contributorsEnabled:bool -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "contributors_enabled", (contributorsEnabled :> obj), "") + + member WithCreatedAt: createdAt:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "created_at", (createdAt :> obj), "") + + member WithDefaultProfile: defaultProfile:bool -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "default_profile", (defaultProfile :> obj), "") + + member WithDefaultProfileImage: defaultProfileImage:bool -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "default_profile_image", (defaultProfileImage :> obj), "") + + member WithDescription: description:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "description", (description :> obj), "") + + member WithFavouritesCount: favouritesCount:int -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "favourites_count", (favouritesCount :> obj), "") + + member WithFollowRequestSent: followRequestSent:JsonValue -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "follow_request_sent", (followRequestSent :> obj), "") + + member WithFollowersCount: followersCount:int -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "followers_count", (followersCount :> obj), "") + + member WithFollowing: following:JsonValue -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "following", (following :> obj), "") + + member WithFriendsCount: friendsCount:int -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "friends_count", (friendsCount :> obj), "") + + member WithGeoEnabled: geoEnabled:bool -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "geo_enabled", (geoEnabled :> obj), "") + + member WithId: id:int -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithIdStr: idStr:int -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "id_str", (idStr :> obj), "") + + member WithIsTranslator: isTranslator:bool -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "is_translator", (isTranslator :> obj), "") + + member WithLang: lang:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "lang", (lang :> obj), "") + + member WithListedCount: listedCount:int -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "listed_count", (listedCount :> obj), "") + + member WithLocation: location:string option -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "location", (location :> obj), "") + + member WithName: name:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "name", (name :> obj), "") + + member WithNotifications: notifications:JsonValue -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "notifications", (notifications :> obj), "") + + member WithProfileBackgroundColor: profileBackgroundColor:JsonProvider+IntOrString -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_background_color", (profileBackgroundColor :> obj), "") + + member WithProfileBackgroundImageUrl: profileBackgroundImageUrl:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_background_image_url", (profileBackgroundImageUrl :> obj), "") + + member WithProfileBackgroundImageUrlHttps: profileBackgroundImageUrlHttps:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_background_image_url_https", (profileBackgroundImageUrlHttps :> obj), "") + + member WithProfileBackgroundTile: profileBackgroundTile:bool -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_background_tile", (profileBackgroundTile :> obj), "") + + member WithProfileBannerUrl: profileBannerUrl:string option -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_banner_url", (profileBannerUrl :> obj), "") + + member WithProfileImageUrl: profileImageUrl:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_image_url", (profileImageUrl :> obj), "") + + member WithProfileImageUrlHttps: profileImageUrlHttps:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_image_url_https", (profileImageUrlHttps :> obj), "") + + member WithProfileLinkColor: profileLinkColor:JsonProvider+IntOrString -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_link_color", (profileLinkColor :> obj), "") + + member WithProfileSidebarBorderColor: profileSidebarBorderColor:JsonProvider+IntOrString -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_sidebar_border_color", (profileSidebarBorderColor :> obj), "") + + member WithProfileSidebarFillColor: profileSidebarFillColor:JsonProvider+IntOrString -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_sidebar_fill_color", (profileSidebarFillColor :> obj), "") + + member WithProfileTextColor: profileTextColor:JsonProvider+IntOrString -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_text_color", (profileTextColor :> obj), "") + + member WithProfileUseBackgroundImage: profileUseBackgroundImage:bool -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_use_background_image", (profileUseBackgroundImage :> obj), "") + + member WithProtected: protected:bool -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "protected", (protected :> obj), "") + + member WithScreenName: screenName:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "screen_name", (screenName :> obj), "") + + member WithStatusesCount: statusesCount:int -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "statuses_count", (statusesCount :> obj), "") + + member WithTimeZone: timeZone:string option -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "time_zone", (timeZone :> obj), "") + + member WithUrl: url:string option -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "url", (url :> obj), "") + + member WithUtcOffset: utcOffset:int option -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "utc_offset", (utcOffset :> obj), "") + + member WithVerified: verified:bool -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "verified", (verified :> obj), "") + class JsonProvider+Attributes : FDR.BaseTypes.IJsonDocument new : () -> JsonProvider+Attributes @@ -644,6 +947,12 @@ class JsonProvider+BoundingBox : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "type") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithCoordinates: coordinates:decimal[][][] -> JsonProvider+BoundingBox + JsonRuntime.WithRecordProperty(this, "coordinates", (coordinates :> obj), "") + + member WithType: type:string -> JsonProvider+BoundingBox + JsonRuntime.WithRecordProperty(this, "type", (type :> obj), "") + class JsonProvider+Entities : FDR.BaseTypes.IJsonDocument new : hashtags:JsonProvider+JsonProvider+Hashtag[] -> symbols:JsonValue[] -> urls:JsonProvider+JsonProvider+Url[] -> userMentions:JsonProvider+JsonProvider+UserMention[] -> media:JsonProvider+JsonProvider+Media[] -> JsonProvider+Entities @@ -676,6 +985,21 @@ class JsonProvider+Entities : FDR.BaseTypes.IJsonDocument member UserMentions: JsonProvider+JsonProvider+UserMention[] with get JsonRuntime.ConvertArray(JsonRuntime.GetPropertyPackedOrNull(this, "user_mentions"), new Func<_,_>(id))) + member WithHashtags: hashtags:JsonProvider+JsonProvider+Hashtag[] -> JsonProvider+Entities + JsonRuntime.WithRecordProperty(this, "hashtags", (hashtags :> obj), "") + + member WithMedia: media:JsonProvider+JsonProvider+Media[] -> JsonProvider+Entities + JsonRuntime.WithRecordProperty(this, "media", (media :> obj), "") + + member WithSymbols: symbols:JsonValue[] -> JsonProvider+Entities + JsonRuntime.WithRecordProperty(this, "symbols", (symbols :> obj), "") + + member WithUrls: urls:JsonProvider+JsonProvider+Url[] -> JsonProvider+Entities + JsonRuntime.WithRecordProperty(this, "urls", (urls :> obj), "") + + member WithUserMentions: userMentions:JsonProvider+JsonProvider+UserMention[] -> JsonProvider+Entities + JsonRuntime.WithRecordProperty(this, "user_mentions", (userMentions :> obj), "") + class JsonProvider+Hashtag : FDR.BaseTypes.IJsonDocument new : text:string -> indices:int[] -> JsonProvider+Hashtag @@ -694,6 +1018,12 @@ class JsonProvider+Hashtag : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "text") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithIndices: indices:int[] -> JsonProvider+Hashtag + JsonRuntime.WithRecordProperty(this, "indices", (indices :> obj), "") + + member WithText: text:string -> JsonProvider+Hashtag + JsonRuntime.WithRecordProperty(this, "text", (text :> obj), "") + class JsonProvider+IntOrString : FDR.BaseTypes.IJsonDocument new : number:int -> JsonProvider+IntOrString @@ -745,6 +1075,18 @@ class JsonProvider+Status : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "user_id_str") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertInteger("", value.JsonOpt), value.JsonOpt) + member WithId: id:int64 -> JsonProvider+Status + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithIdStr: idStr:int64 -> JsonProvider+Status + JsonRuntime.WithRecordProperty(this, "id_str", (idStr :> obj), "") + + member WithUserId: userId:int -> JsonProvider+Status + JsonRuntime.WithRecordProperty(this, "user_id", (userId :> obj), "") + + member WithUserIdStr: userIdStr:int -> JsonProvider+Status + JsonRuntime.WithRecordProperty(this, "user_id_str", (userIdStr :> obj), "") + class JsonProvider+Url : FDR.BaseTypes.IJsonDocument new : url:string -> expandedUrl:string -> displayUrl:string -> indices:int[] -> JsonProvider+Url @@ -775,6 +1117,18 @@ class JsonProvider+Url : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "url") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithDisplayUrl: displayUrl:string -> JsonProvider+Url + JsonRuntime.WithRecordProperty(this, "display_url", (displayUrl :> obj), "") + + member WithExpandedUrl: expandedUrl:string -> JsonProvider+Url + JsonRuntime.WithRecordProperty(this, "expanded_url", (expandedUrl :> obj), "") + + member WithIndices: indices:int[] -> JsonProvider+Url + JsonRuntime.WithRecordProperty(this, "indices", (indices :> obj), "") + + member WithUrl: url:string -> JsonProvider+Url + JsonRuntime.WithRecordProperty(this, "url", (url :> obj), "") + class JsonProvider+User2 : FDR.BaseTypes.IJsonDocument new : id:int -> idStr:int -> name:string -> screenName:string -> location:string option -> url:string option -> description:string -> protected:bool -> followersCount:int -> friendsCount:int -> listedCount:int -> createdAt:string -> favouritesCount:int -> utcOffset:int option -> timeZone:string option -> geoEnabled:bool -> verified:bool -> statusesCount:int -> lang:string -> contributorsEnabled:bool -> isTranslator:bool -> profileBackgroundColor:JsonProvider+IntOrString -> profileBackgroundImageUrl:string -> profileBackgroundImageUrlHttps:string -> profileBackgroundTile:bool -> profileImageUrl:string -> profileImageUrlHttps:string -> profileBannerUrl:string option -> profileLinkColor:string -> profileSidebarBorderColor:JsonProvider+IntOrString -> profileSidebarFillColor:JsonProvider+IntOrString -> profileTextColor:JsonProvider+IntOrString -> profileUseBackgroundImage:bool -> defaultProfile:bool -> defaultProfileImage:bool -> following:JsonValue -> followRequestSent:JsonValue -> notifications:JsonValue -> JsonProvider+User2 @@ -998,6 +1352,120 @@ class JsonProvider+User2 : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "verified") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertBoolean(value.JsonOpt), value.JsonOpt) + member WithContributorsEnabled: contributorsEnabled:bool -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "contributors_enabled", (contributorsEnabled :> obj), "") + + member WithCreatedAt: createdAt:string -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "created_at", (createdAt :> obj), "") + + member WithDefaultProfile: defaultProfile:bool -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "default_profile", (defaultProfile :> obj), "") + + member WithDefaultProfileImage: defaultProfileImage:bool -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "default_profile_image", (defaultProfileImage :> obj), "") + + member WithDescription: description:string -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "description", (description :> obj), "") + + member WithFavouritesCount: favouritesCount:int -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "favourites_count", (favouritesCount :> obj), "") + + member WithFollowRequestSent: followRequestSent:JsonValue -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "follow_request_sent", (followRequestSent :> obj), "") + + member WithFollowersCount: followersCount:int -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "followers_count", (followersCount :> obj), "") + + member WithFollowing: following:JsonValue -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "following", (following :> obj), "") + + member WithFriendsCount: friendsCount:int -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "friends_count", (friendsCount :> obj), "") + + member WithGeoEnabled: geoEnabled:bool -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "geo_enabled", (geoEnabled :> obj), "") + + member WithId: id:int -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithIdStr: idStr:int -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "id_str", (idStr :> obj), "") + + member WithIsTranslator: isTranslator:bool -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "is_translator", (isTranslator :> obj), "") + + member WithLang: lang:string -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "lang", (lang :> obj), "") + + member WithListedCount: listedCount:int -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "listed_count", (listedCount :> obj), "") + + member WithLocation: location:string option -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "location", (location :> obj), "") + + member WithName: name:string -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "name", (name :> obj), "") + + member WithNotifications: notifications:JsonValue -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "notifications", (notifications :> obj), "") + + member WithProfileBackgroundColor: profileBackgroundColor:JsonProvider+IntOrString -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_background_color", (profileBackgroundColor :> obj), "") + + member WithProfileBackgroundImageUrl: profileBackgroundImageUrl:string -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_background_image_url", (profileBackgroundImageUrl :> obj), "") + + member WithProfileBackgroundImageUrlHttps: profileBackgroundImageUrlHttps:string -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_background_image_url_https", (profileBackgroundImageUrlHttps :> obj), "") + + member WithProfileBackgroundTile: profileBackgroundTile:bool -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_background_tile", (profileBackgroundTile :> obj), "") + + member WithProfileBannerUrl: profileBannerUrl:string option -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_banner_url", (profileBannerUrl :> obj), "") + + member WithProfileImageUrl: profileImageUrl:string -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_image_url", (profileImageUrl :> obj), "") + + member WithProfileImageUrlHttps: profileImageUrlHttps:string -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_image_url_https", (profileImageUrlHttps :> obj), "") + + member WithProfileLinkColor: profileLinkColor:string -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_link_color", (profileLinkColor :> obj), "") + + member WithProfileSidebarBorderColor: profileSidebarBorderColor:JsonProvider+IntOrString -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_sidebar_border_color", (profileSidebarBorderColor :> obj), "") + + member WithProfileSidebarFillColor: profileSidebarFillColor:JsonProvider+IntOrString -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_sidebar_fill_color", (profileSidebarFillColor :> obj), "") + + member WithProfileTextColor: profileTextColor:JsonProvider+IntOrString -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_text_color", (profileTextColor :> obj), "") + + member WithProfileUseBackgroundImage: profileUseBackgroundImage:bool -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_use_background_image", (profileUseBackgroundImage :> obj), "") + + member WithProtected: protected:bool -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "protected", (protected :> obj), "") + + member WithScreenName: screenName:string -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "screen_name", (screenName :> obj), "") + + member WithStatusesCount: statusesCount:int -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "statuses_count", (statusesCount :> obj), "") + + member WithTimeZone: timeZone:string option -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "time_zone", (timeZone :> obj), "") + + member WithUrl: url:string option -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "url", (url :> obj), "") + + member WithUtcOffset: utcOffset:int option -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "utc_offset", (utcOffset :> obj), "") + + member WithVerified: verified:bool -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "verified", (verified :> obj), "") + class JsonProvider+UserMention : FDR.BaseTypes.IJsonDocument new : screenName:string -> name:string -> id:int -> idStr:int -> indices:int[] -> JsonProvider+UserMention @@ -1034,6 +1502,21 @@ class JsonProvider+UserMention : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "screen_name") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithId: id:int -> JsonProvider+UserMention + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithIdStr: idStr:int -> JsonProvider+UserMention + JsonRuntime.WithRecordProperty(this, "id_str", (idStr :> obj), "") + + member WithIndices: indices:int[] -> JsonProvider+UserMention + JsonRuntime.WithRecordProperty(this, "indices", (indices :> obj), "") + + member WithName: name:string -> JsonProvider+UserMention + JsonRuntime.WithRecordProperty(this, "name", (name :> obj), "") + + member WithScreenName: screenName:string -> JsonProvider+UserMention + JsonRuntime.WithRecordProperty(this, "screen_name", (screenName :> obj), "") + class JsonProvider+Media : FDR.BaseTypes.IJsonDocument new : id:int64 -> idStr:int64 -> indices:int[] -> mediaUrl:string -> mediaUrlHttps:string -> url:string -> displayUrl:string -> expandedUrl:string -> type:string -> sizes:JsonProvider+Sizes -> sourceStatusId:int64 -> sourceStatusIdStr:int64 -> JsonProvider+Media @@ -1111,6 +1594,42 @@ class JsonProvider+Media : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "url") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithDisplayUrl: displayUrl:string -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "display_url", (displayUrl :> obj), "") + + member WithExpandedUrl: expandedUrl:string -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "expanded_url", (expandedUrl :> obj), "") + + member WithId: id:int64 -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithIdStr: idStr:int64 -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "id_str", (idStr :> obj), "") + + member WithIndices: indices:int[] -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "indices", (indices :> obj), "") + + member WithMediaUrl: mediaUrl:string -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "media_url", (mediaUrl :> obj), "") + + member WithMediaUrlHttps: mediaUrlHttps:string -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "media_url_https", (mediaUrlHttps :> obj), "") + + member WithSizes: sizes:JsonProvider+Sizes -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "sizes", (sizes :> obj), "") + + member WithSourceStatusId: sourceStatusId:int64 -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "source_status_id", (sourceStatusId :> obj), "") + + member WithSourceStatusIdStr: sourceStatusIdStr:int64 -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "source_status_id_str", (sourceStatusIdStr :> obj), "") + + member WithType: type:string -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "type", (type :> obj), "") + + member WithUrl: url:string -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "url", (url :> obj), "") + class JsonProvider+Sizes : FDR.BaseTypes.IJsonDocument new : small:JsonProvider+Small -> thumb:JsonProvider+Small -> large:JsonProvider+Small -> medium:JsonProvider+Small -> JsonProvider+Sizes @@ -1138,6 +1657,18 @@ class JsonProvider+Sizes : FDR.BaseTypes.IJsonDocument member Thumb: JsonProvider+Small with get JsonRuntime.GetPropertyPacked(this, "thumb") + member WithLarge: large:JsonProvider+Small -> JsonProvider+Sizes + JsonRuntime.WithRecordProperty(this, "large", (large :> obj), "") + + member WithMedium: medium:JsonProvider+Small -> JsonProvider+Sizes + JsonRuntime.WithRecordProperty(this, "medium", (medium :> obj), "") + + member WithSmall: small:JsonProvider+Small -> JsonProvider+Sizes + JsonRuntime.WithRecordProperty(this, "small", (small :> obj), "") + + member WithThumb: thumb:JsonProvider+Small -> JsonProvider+Sizes + JsonRuntime.WithRecordProperty(this, "thumb", (thumb :> obj), "") + class JsonProvider+Small : FDR.BaseTypes.IJsonDocument new : w:int -> h:int -> resize:string -> JsonProvider+Small @@ -1163,4 +1694,13 @@ class JsonProvider+Small : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "w") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertInteger("", value.JsonOpt), value.JsonOpt) + member WithH: h:int -> JsonProvider+Small + JsonRuntime.WithRecordProperty(this, "h", (h :> obj), "") + + member WithResize: resize:string -> JsonProvider+Small + JsonRuntime.WithRecordProperty(this, "resize", (resize :> obj), "") + + member WithW: w:int -> JsonProvider+Small + JsonRuntime.WithRecordProperty(this, "w", (w :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,TwitterSample.json,True,,,True,False,ValuesAndInlineSchemasOverrides,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,TwitterSample.json,True,,,True,False,ValuesAndInlineSchemasOverrides,.expected index ba4150a8d..1d900d35b 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,TwitterSample.json,True,,,True,False,ValuesAndInlineSchemasOverrides,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,TwitterSample.json,True,,,True,False,ValuesAndInlineSchemasOverrides,.expected @@ -165,6 +165,84 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument member User: JsonProvider+User option with get JsonRuntime.TryGetPropertyPacked(this, "user") + member WithContributors: contributors:JsonValue -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "contributors", (contributors :> obj), "") + + member WithCoordinates: coordinates:JsonValue -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "coordinates", (coordinates :> obj), "") + + member WithCreatedAt: createdAt:string option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "created_at", (createdAt :> obj), "") + + member WithDelete: delete:JsonProvider+Delete option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "delete", (delete :> obj), "") + + member WithEntities: entities:JsonProvider+Entities2 option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "entities", (entities :> obj), "") + + member WithFavoriteCount: favoriteCount:int option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "favorite_count", (favoriteCount :> obj), "") + + member WithFavorited: favorited:bool option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "favorited", (favorited :> obj), "") + + member WithFilterLevel: filterLevel:string option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "filter_level", (filterLevel :> obj), "") + + member WithGeo: geo:JsonValue -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "geo", (geo :> obj), "") + + member WithId: id:int64 option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithIdStr: idStr:int64 option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "id_str", (idStr :> obj), "") + + member WithInReplyToScreenName: inReplyToScreenName:string option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "in_reply_to_screen_name", (inReplyToScreenName :> obj), "") + + member WithInReplyToStatusId: inReplyToStatusId:int64 option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "in_reply_to_status_id", (inReplyToStatusId :> obj), "") + + member WithInReplyToStatusIdStr: inReplyToStatusIdStr:int64 option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "in_reply_to_status_id_str", (inReplyToStatusIdStr :> obj), "") + + member WithInReplyToUserId: inReplyToUserId:int option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "in_reply_to_user_id", (inReplyToUserId :> obj), "") + + member WithInReplyToUserIdStr: inReplyToUserIdStr:int option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "in_reply_to_user_id_str", (inReplyToUserIdStr :> obj), "") + + member WithLang: lang:string option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "lang", (lang :> obj), "") + + member WithPlace: place:JsonProvider+Place option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "place", (place :> obj), "") + + member WithPossiblySensitive: possiblySensitive:bool option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "possibly_sensitive", (possiblySensitive :> obj), "") + + member WithRetweetCount: retweetCount:int option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "retweet_count", (retweetCount :> obj), "") + + member WithRetweeted: retweeted:bool option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "retweeted", (retweeted :> obj), "") + + member WithRetweetedStatus: retweetedStatus:JsonProvider+RetweetedStatus option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "retweeted_status", (retweetedStatus :> obj), "") + + member WithSource: source:string option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "source", (source :> obj), "") + + member WithText: text:string option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "text", (text :> obj), "") + + member WithTruncated: truncated:bool option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "truncated", (truncated :> obj), "") + + member WithUser: user:JsonProvider+User option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "user", (user :> obj), "") + class JsonProvider+Delete : FDR.BaseTypes.IJsonDocument new : status:JsonProvider+Status -> JsonProvider+Delete @@ -177,6 +255,9 @@ class JsonProvider+Delete : FDR.BaseTypes.IJsonDocument member Status: JsonProvider+Status with get JsonRuntime.GetPropertyPacked(this, "status") + member WithStatus: status:JsonProvider+Status -> JsonProvider+Delete + JsonRuntime.WithRecordProperty(this, "status", (status :> obj), "") + class JsonProvider+Entities2 : FDR.BaseTypes.IJsonDocument new : hashtags:JsonProvider+JsonProvider+Hashtag[] -> symbols:JsonValue[] -> urls:JsonProvider+JsonProvider+Url[] -> userMentions:JsonProvider+JsonProvider+UserMention[] -> JsonProvider+Entities2 @@ -204,6 +285,18 @@ class JsonProvider+Entities2 : FDR.BaseTypes.IJsonDocument member UserMentions: JsonProvider+JsonProvider+UserMention[] with get JsonRuntime.ConvertArray(JsonRuntime.GetPropertyPackedOrNull(this, "user_mentions"), new Func<_,_>(id))) + member WithHashtags: hashtags:JsonProvider+JsonProvider+Hashtag[] -> JsonProvider+Entities2 + JsonRuntime.WithRecordProperty(this, "hashtags", (hashtags :> obj), "") + + member WithSymbols: symbols:JsonValue[] -> JsonProvider+Entities2 + JsonRuntime.WithRecordProperty(this, "symbols", (symbols :> obj), "") + + member WithUrls: urls:JsonProvider+JsonProvider+Url[] -> JsonProvider+Entities2 + JsonRuntime.WithRecordProperty(this, "urls", (urls :> obj), "") + + member WithUserMentions: userMentions:JsonProvider+JsonProvider+UserMention[] -> JsonProvider+Entities2 + JsonRuntime.WithRecordProperty(this, "user_mentions", (userMentions :> obj), "") + class JsonProvider+Place : FDR.BaseTypes.IJsonDocument new : id:string -> url:string -> placeType:string -> name:string -> fullName:string -> countryCode:string -> country:string -> boundingBox:JsonProvider+BoundingBox -> attributes:JsonProvider+Attributes -> JsonProvider+Place @@ -263,6 +356,33 @@ class JsonProvider+Place : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "url") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithAttributes: attributes:JsonProvider+Attributes -> JsonProvider+Place + JsonRuntime.WithRecordProperty(this, "attributes", (attributes :> obj), "") + + member WithBoundingBox: boundingBox:JsonProvider+BoundingBox -> JsonProvider+Place + JsonRuntime.WithRecordProperty(this, "bounding_box", (boundingBox :> obj), "") + + member WithCountry: country:string -> JsonProvider+Place + JsonRuntime.WithRecordProperty(this, "country", (country :> obj), "") + + member WithCountryCode: countryCode:string -> JsonProvider+Place + JsonRuntime.WithRecordProperty(this, "country_code", (countryCode :> obj), "") + + member WithFullName: fullName:string -> JsonProvider+Place + JsonRuntime.WithRecordProperty(this, "full_name", (fullName :> obj), "") + + member WithId: id:string -> JsonProvider+Place + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithName: name:string -> JsonProvider+Place + JsonRuntime.WithRecordProperty(this, "name", (name :> obj), "") + + member WithPlaceType: placeType:string -> JsonProvider+Place + JsonRuntime.WithRecordProperty(this, "place_type", (placeType :> obj), "") + + member WithUrl: url:string -> JsonProvider+Place + JsonRuntime.WithRecordProperty(this, "url", (url :> obj), "") + class JsonProvider+RetweetedStatus : FDR.BaseTypes.IJsonDocument new : createdAt:string -> id:int64 -> idStr:int64 -> text:string -> source:string -> truncated:bool -> inReplyToStatusId:JsonValue -> inReplyToStatusIdStr:JsonValue -> inReplyToUserId:int option -> inReplyToUserIdStr:int option -> inReplyToScreenName:string option -> user:JsonProvider+User2 -> geo:JsonValue -> coordinates:JsonValue -> place:JsonValue -> contributors:JsonValue -> retweetCount:int -> favoriteCount:int -> entities:JsonProvider+Entities -> favorited:bool -> retweeted:bool -> lang:string -> possiblySensitive:bool option -> JsonProvider+RetweetedStatus @@ -396,6 +516,75 @@ class JsonProvider+RetweetedStatus : FDR.BaseTypes.IJsonDocument member User: JsonProvider+User2 with get JsonRuntime.GetPropertyPacked(this, "user") + member WithContributors: contributors:JsonValue -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "contributors", (contributors :> obj), "") + + member WithCoordinates: coordinates:JsonValue -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "coordinates", (coordinates :> obj), "") + + member WithCreatedAt: createdAt:string -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "created_at", (createdAt :> obj), "") + + member WithEntities: entities:JsonProvider+Entities -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "entities", (entities :> obj), "") + + member WithFavoriteCount: favoriteCount:int -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "favorite_count", (favoriteCount :> obj), "") + + member WithFavorited: favorited:bool -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "favorited", (favorited :> obj), "") + + member WithGeo: geo:JsonValue -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "geo", (geo :> obj), "") + + member WithId: id:int64 -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithIdStr: idStr:int64 -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "id_str", (idStr :> obj), "") + + member WithInReplyToScreenName: inReplyToScreenName:string option -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "in_reply_to_screen_name", (inReplyToScreenName :> obj), "") + + member WithInReplyToStatusId: inReplyToStatusId:JsonValue -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "in_reply_to_status_id", (inReplyToStatusId :> obj), "") + + member WithInReplyToStatusIdStr: inReplyToStatusIdStr:JsonValue -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "in_reply_to_status_id_str", (inReplyToStatusIdStr :> obj), "") + + member WithInReplyToUserId: inReplyToUserId:int option -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "in_reply_to_user_id", (inReplyToUserId :> obj), "") + + member WithInReplyToUserIdStr: inReplyToUserIdStr:int option -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "in_reply_to_user_id_str", (inReplyToUserIdStr :> obj), "") + + member WithLang: lang:string -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "lang", (lang :> obj), "") + + member WithPlace: place:JsonValue -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "place", (place :> obj), "") + + member WithPossiblySensitive: possiblySensitive:bool option -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "possibly_sensitive", (possiblySensitive :> obj), "") + + member WithRetweetCount: retweetCount:int -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "retweet_count", (retweetCount :> obj), "") + + member WithRetweeted: retweeted:bool -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "retweeted", (retweeted :> obj), "") + + member WithSource: source:string -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "source", (source :> obj), "") + + member WithText: text:string -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "text", (text :> obj), "") + + member WithTruncated: truncated:bool -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "truncated", (truncated :> obj), "") + + member WithUser: user:JsonProvider+User2 -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "user", (user :> obj), "") + class JsonProvider+User : FDR.BaseTypes.IJsonDocument new : id:int -> idStr:int -> name:string -> screenName:string -> location:string option -> url:string option -> description:string -> protected:bool -> followersCount:int -> friendsCount:int -> listedCount:int -> createdAt:string -> favouritesCount:int -> utcOffset:int option -> timeZone:string option -> geoEnabled:bool -> verified:bool -> statusesCount:int -> lang:string -> contributorsEnabled:bool -> isTranslator:bool -> profileBackgroundColor:JsonProvider+IntOrString -> profileBackgroundImageUrl:string -> profileBackgroundImageUrlHttps:string -> profileBackgroundTile:bool -> profileImageUrl:string -> profileImageUrlHttps:string -> profileBannerUrl:string option -> profileLinkColor:JsonProvider+IntOrString -> profileSidebarBorderColor:JsonProvider+IntOrString -> profileSidebarFillColor:JsonProvider+IntOrString -> profileTextColor:JsonProvider+IntOrString -> profileUseBackgroundImage:bool -> defaultProfile:bool -> defaultProfileImage:bool -> following:JsonValue -> followRequestSent:JsonValue -> notifications:JsonValue -> JsonProvider+User @@ -618,6 +807,120 @@ class JsonProvider+User : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "verified") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertBoolean(value.JsonOpt), value.JsonOpt) + member WithContributorsEnabled: contributorsEnabled:bool -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "contributors_enabled", (contributorsEnabled :> obj), "") + + member WithCreatedAt: createdAt:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "created_at", (createdAt :> obj), "") + + member WithDefaultProfile: defaultProfile:bool -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "default_profile", (defaultProfile :> obj), "") + + member WithDefaultProfileImage: defaultProfileImage:bool -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "default_profile_image", (defaultProfileImage :> obj), "") + + member WithDescription: description:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "description", (description :> obj), "") + + member WithFavouritesCount: favouritesCount:int -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "favourites_count", (favouritesCount :> obj), "") + + member WithFollowRequestSent: followRequestSent:JsonValue -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "follow_request_sent", (followRequestSent :> obj), "") + + member WithFollowersCount: followersCount:int -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "followers_count", (followersCount :> obj), "") + + member WithFollowing: following:JsonValue -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "following", (following :> obj), "") + + member WithFriendsCount: friendsCount:int -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "friends_count", (friendsCount :> obj), "") + + member WithGeoEnabled: geoEnabled:bool -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "geo_enabled", (geoEnabled :> obj), "") + + member WithId: id:int -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithIdStr: idStr:int -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "id_str", (idStr :> obj), "") + + member WithIsTranslator: isTranslator:bool -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "is_translator", (isTranslator :> obj), "") + + member WithLang: lang:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "lang", (lang :> obj), "") + + member WithListedCount: listedCount:int -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "listed_count", (listedCount :> obj), "") + + member WithLocation: location:string option -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "location", (location :> obj), "") + + member WithName: name:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "name", (name :> obj), "") + + member WithNotifications: notifications:JsonValue -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "notifications", (notifications :> obj), "") + + member WithProfileBackgroundColor: profileBackgroundColor:JsonProvider+IntOrString -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_background_color", (profileBackgroundColor :> obj), "") + + member WithProfileBackgroundImageUrl: profileBackgroundImageUrl:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_background_image_url", (profileBackgroundImageUrl :> obj), "") + + member WithProfileBackgroundImageUrlHttps: profileBackgroundImageUrlHttps:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_background_image_url_https", (profileBackgroundImageUrlHttps :> obj), "") + + member WithProfileBackgroundTile: profileBackgroundTile:bool -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_background_tile", (profileBackgroundTile :> obj), "") + + member WithProfileBannerUrl: profileBannerUrl:string option -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_banner_url", (profileBannerUrl :> obj), "") + + member WithProfileImageUrl: profileImageUrl:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_image_url", (profileImageUrl :> obj), "") + + member WithProfileImageUrlHttps: profileImageUrlHttps:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_image_url_https", (profileImageUrlHttps :> obj), "") + + member WithProfileLinkColor: profileLinkColor:JsonProvider+IntOrString -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_link_color", (profileLinkColor :> obj), "") + + member WithProfileSidebarBorderColor: profileSidebarBorderColor:JsonProvider+IntOrString -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_sidebar_border_color", (profileSidebarBorderColor :> obj), "") + + member WithProfileSidebarFillColor: profileSidebarFillColor:JsonProvider+IntOrString -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_sidebar_fill_color", (profileSidebarFillColor :> obj), "") + + member WithProfileTextColor: profileTextColor:JsonProvider+IntOrString -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_text_color", (profileTextColor :> obj), "") + + member WithProfileUseBackgroundImage: profileUseBackgroundImage:bool -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_use_background_image", (profileUseBackgroundImage :> obj), "") + + member WithProtected: protected:bool -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "protected", (protected :> obj), "") + + member WithScreenName: screenName:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "screen_name", (screenName :> obj), "") + + member WithStatusesCount: statusesCount:int -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "statuses_count", (statusesCount :> obj), "") + + member WithTimeZone: timeZone:string option -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "time_zone", (timeZone :> obj), "") + + member WithUrl: url:string option -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "url", (url :> obj), "") + + member WithUtcOffset: utcOffset:int option -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "utc_offset", (utcOffset :> obj), "") + + member WithVerified: verified:bool -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "verified", (verified :> obj), "") + class JsonProvider+Attributes : FDR.BaseTypes.IJsonDocument new : () -> JsonProvider+Attributes @@ -644,6 +947,12 @@ class JsonProvider+BoundingBox : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "type") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithCoordinates: coordinates:decimal[][][] -> JsonProvider+BoundingBox + JsonRuntime.WithRecordProperty(this, "coordinates", (coordinates :> obj), "") + + member WithType: type:string -> JsonProvider+BoundingBox + JsonRuntime.WithRecordProperty(this, "type", (type :> obj), "") + class JsonProvider+Entities : FDR.BaseTypes.IJsonDocument new : hashtags:JsonProvider+JsonProvider+Hashtag[] -> symbols:JsonValue[] -> urls:JsonProvider+JsonProvider+Url[] -> userMentions:JsonProvider+JsonProvider+UserMention[] -> media:JsonProvider+JsonProvider+Media[] -> JsonProvider+Entities @@ -676,6 +985,21 @@ class JsonProvider+Entities : FDR.BaseTypes.IJsonDocument member UserMentions: JsonProvider+JsonProvider+UserMention[] with get JsonRuntime.ConvertArray(JsonRuntime.GetPropertyPackedOrNull(this, "user_mentions"), new Func<_,_>(id))) + member WithHashtags: hashtags:JsonProvider+JsonProvider+Hashtag[] -> JsonProvider+Entities + JsonRuntime.WithRecordProperty(this, "hashtags", (hashtags :> obj), "") + + member WithMedia: media:JsonProvider+JsonProvider+Media[] -> JsonProvider+Entities + JsonRuntime.WithRecordProperty(this, "media", (media :> obj), "") + + member WithSymbols: symbols:JsonValue[] -> JsonProvider+Entities + JsonRuntime.WithRecordProperty(this, "symbols", (symbols :> obj), "") + + member WithUrls: urls:JsonProvider+JsonProvider+Url[] -> JsonProvider+Entities + JsonRuntime.WithRecordProperty(this, "urls", (urls :> obj), "") + + member WithUserMentions: userMentions:JsonProvider+JsonProvider+UserMention[] -> JsonProvider+Entities + JsonRuntime.WithRecordProperty(this, "user_mentions", (userMentions :> obj), "") + class JsonProvider+Hashtag : FDR.BaseTypes.IJsonDocument new : text:string -> indices:int[] -> JsonProvider+Hashtag @@ -694,6 +1018,12 @@ class JsonProvider+Hashtag : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "text") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithIndices: indices:int[] -> JsonProvider+Hashtag + JsonRuntime.WithRecordProperty(this, "indices", (indices :> obj), "") + + member WithText: text:string -> JsonProvider+Hashtag + JsonRuntime.WithRecordProperty(this, "text", (text :> obj), "") + class JsonProvider+IntOrString : FDR.BaseTypes.IJsonDocument new : number:int -> JsonProvider+IntOrString @@ -745,6 +1075,18 @@ class JsonProvider+Status : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "user_id_str") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertInteger("", value.JsonOpt), value.JsonOpt) + member WithId: id:int64 -> JsonProvider+Status + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithIdStr: idStr:int64 -> JsonProvider+Status + JsonRuntime.WithRecordProperty(this, "id_str", (idStr :> obj), "") + + member WithUserId: userId:int -> JsonProvider+Status + JsonRuntime.WithRecordProperty(this, "user_id", (userId :> obj), "") + + member WithUserIdStr: userIdStr:int -> JsonProvider+Status + JsonRuntime.WithRecordProperty(this, "user_id_str", (userIdStr :> obj), "") + class JsonProvider+Url : FDR.BaseTypes.IJsonDocument new : url:string -> expandedUrl:string -> displayUrl:string -> indices:int[] -> JsonProvider+Url @@ -775,6 +1117,18 @@ class JsonProvider+Url : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "url") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithDisplayUrl: displayUrl:string -> JsonProvider+Url + JsonRuntime.WithRecordProperty(this, "display_url", (displayUrl :> obj), "") + + member WithExpandedUrl: expandedUrl:string -> JsonProvider+Url + JsonRuntime.WithRecordProperty(this, "expanded_url", (expandedUrl :> obj), "") + + member WithIndices: indices:int[] -> JsonProvider+Url + JsonRuntime.WithRecordProperty(this, "indices", (indices :> obj), "") + + member WithUrl: url:string -> JsonProvider+Url + JsonRuntime.WithRecordProperty(this, "url", (url :> obj), "") + class JsonProvider+User2 : FDR.BaseTypes.IJsonDocument new : id:int -> idStr:int -> name:string -> screenName:string -> location:string option -> url:string option -> description:string -> protected:bool -> followersCount:int -> friendsCount:int -> listedCount:int -> createdAt:string -> favouritesCount:int -> utcOffset:int option -> timeZone:string option -> geoEnabled:bool -> verified:bool -> statusesCount:int -> lang:string -> contributorsEnabled:bool -> isTranslator:bool -> profileBackgroundColor:JsonProvider+IntOrString -> profileBackgroundImageUrl:string -> profileBackgroundImageUrlHttps:string -> profileBackgroundTile:bool -> profileImageUrl:string -> profileImageUrlHttps:string -> profileBannerUrl:string option -> profileLinkColor:string -> profileSidebarBorderColor:JsonProvider+IntOrString -> profileSidebarFillColor:JsonProvider+IntOrString -> profileTextColor:JsonProvider+IntOrString -> profileUseBackgroundImage:bool -> defaultProfile:bool -> defaultProfileImage:bool -> following:JsonValue -> followRequestSent:JsonValue -> notifications:JsonValue -> JsonProvider+User2 @@ -998,6 +1352,120 @@ class JsonProvider+User2 : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "verified") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertBoolean(value.JsonOpt), value.JsonOpt) + member WithContributorsEnabled: contributorsEnabled:bool -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "contributors_enabled", (contributorsEnabled :> obj), "") + + member WithCreatedAt: createdAt:string -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "created_at", (createdAt :> obj), "") + + member WithDefaultProfile: defaultProfile:bool -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "default_profile", (defaultProfile :> obj), "") + + member WithDefaultProfileImage: defaultProfileImage:bool -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "default_profile_image", (defaultProfileImage :> obj), "") + + member WithDescription: description:string -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "description", (description :> obj), "") + + member WithFavouritesCount: favouritesCount:int -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "favourites_count", (favouritesCount :> obj), "") + + member WithFollowRequestSent: followRequestSent:JsonValue -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "follow_request_sent", (followRequestSent :> obj), "") + + member WithFollowersCount: followersCount:int -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "followers_count", (followersCount :> obj), "") + + member WithFollowing: following:JsonValue -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "following", (following :> obj), "") + + member WithFriendsCount: friendsCount:int -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "friends_count", (friendsCount :> obj), "") + + member WithGeoEnabled: geoEnabled:bool -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "geo_enabled", (geoEnabled :> obj), "") + + member WithId: id:int -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithIdStr: idStr:int -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "id_str", (idStr :> obj), "") + + member WithIsTranslator: isTranslator:bool -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "is_translator", (isTranslator :> obj), "") + + member WithLang: lang:string -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "lang", (lang :> obj), "") + + member WithListedCount: listedCount:int -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "listed_count", (listedCount :> obj), "") + + member WithLocation: location:string option -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "location", (location :> obj), "") + + member WithName: name:string -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "name", (name :> obj), "") + + member WithNotifications: notifications:JsonValue -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "notifications", (notifications :> obj), "") + + member WithProfileBackgroundColor: profileBackgroundColor:JsonProvider+IntOrString -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_background_color", (profileBackgroundColor :> obj), "") + + member WithProfileBackgroundImageUrl: profileBackgroundImageUrl:string -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_background_image_url", (profileBackgroundImageUrl :> obj), "") + + member WithProfileBackgroundImageUrlHttps: profileBackgroundImageUrlHttps:string -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_background_image_url_https", (profileBackgroundImageUrlHttps :> obj), "") + + member WithProfileBackgroundTile: profileBackgroundTile:bool -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_background_tile", (profileBackgroundTile :> obj), "") + + member WithProfileBannerUrl: profileBannerUrl:string option -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_banner_url", (profileBannerUrl :> obj), "") + + member WithProfileImageUrl: profileImageUrl:string -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_image_url", (profileImageUrl :> obj), "") + + member WithProfileImageUrlHttps: profileImageUrlHttps:string -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_image_url_https", (profileImageUrlHttps :> obj), "") + + member WithProfileLinkColor: profileLinkColor:string -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_link_color", (profileLinkColor :> obj), "") + + member WithProfileSidebarBorderColor: profileSidebarBorderColor:JsonProvider+IntOrString -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_sidebar_border_color", (profileSidebarBorderColor :> obj), "") + + member WithProfileSidebarFillColor: profileSidebarFillColor:JsonProvider+IntOrString -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_sidebar_fill_color", (profileSidebarFillColor :> obj), "") + + member WithProfileTextColor: profileTextColor:JsonProvider+IntOrString -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_text_color", (profileTextColor :> obj), "") + + member WithProfileUseBackgroundImage: profileUseBackgroundImage:bool -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_use_background_image", (profileUseBackgroundImage :> obj), "") + + member WithProtected: protected:bool -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "protected", (protected :> obj), "") + + member WithScreenName: screenName:string -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "screen_name", (screenName :> obj), "") + + member WithStatusesCount: statusesCount:int -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "statuses_count", (statusesCount :> obj), "") + + member WithTimeZone: timeZone:string option -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "time_zone", (timeZone :> obj), "") + + member WithUrl: url:string option -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "url", (url :> obj), "") + + member WithUtcOffset: utcOffset:int option -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "utc_offset", (utcOffset :> obj), "") + + member WithVerified: verified:bool -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "verified", (verified :> obj), "") + class JsonProvider+UserMention : FDR.BaseTypes.IJsonDocument new : screenName:string -> name:string -> id:int -> idStr:int -> indices:int[] -> JsonProvider+UserMention @@ -1034,6 +1502,21 @@ class JsonProvider+UserMention : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "screen_name") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithId: id:int -> JsonProvider+UserMention + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithIdStr: idStr:int -> JsonProvider+UserMention + JsonRuntime.WithRecordProperty(this, "id_str", (idStr :> obj), "") + + member WithIndices: indices:int[] -> JsonProvider+UserMention + JsonRuntime.WithRecordProperty(this, "indices", (indices :> obj), "") + + member WithName: name:string -> JsonProvider+UserMention + JsonRuntime.WithRecordProperty(this, "name", (name :> obj), "") + + member WithScreenName: screenName:string -> JsonProvider+UserMention + JsonRuntime.WithRecordProperty(this, "screen_name", (screenName :> obj), "") + class JsonProvider+Media : FDR.BaseTypes.IJsonDocument new : id:int64 -> idStr:int64 -> indices:int[] -> mediaUrl:string -> mediaUrlHttps:string -> url:string -> displayUrl:string -> expandedUrl:string -> type:string -> sizes:JsonProvider+Sizes -> sourceStatusId:int64 -> sourceStatusIdStr:int64 -> JsonProvider+Media @@ -1111,6 +1594,42 @@ class JsonProvider+Media : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "url") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithDisplayUrl: displayUrl:string -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "display_url", (displayUrl :> obj), "") + + member WithExpandedUrl: expandedUrl:string -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "expanded_url", (expandedUrl :> obj), "") + + member WithId: id:int64 -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithIdStr: idStr:int64 -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "id_str", (idStr :> obj), "") + + member WithIndices: indices:int[] -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "indices", (indices :> obj), "") + + member WithMediaUrl: mediaUrl:string -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "media_url", (mediaUrl :> obj), "") + + member WithMediaUrlHttps: mediaUrlHttps:string -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "media_url_https", (mediaUrlHttps :> obj), "") + + member WithSizes: sizes:JsonProvider+Sizes -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "sizes", (sizes :> obj), "") + + member WithSourceStatusId: sourceStatusId:int64 -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "source_status_id", (sourceStatusId :> obj), "") + + member WithSourceStatusIdStr: sourceStatusIdStr:int64 -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "source_status_id_str", (sourceStatusIdStr :> obj), "") + + member WithType: type:string -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "type", (type :> obj), "") + + member WithUrl: url:string -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "url", (url :> obj), "") + class JsonProvider+Sizes : FDR.BaseTypes.IJsonDocument new : small:JsonProvider+Small -> thumb:JsonProvider+Small -> large:JsonProvider+Small -> medium:JsonProvider+Small -> JsonProvider+Sizes @@ -1138,6 +1657,18 @@ class JsonProvider+Sizes : FDR.BaseTypes.IJsonDocument member Thumb: JsonProvider+Small with get JsonRuntime.GetPropertyPacked(this, "thumb") + member WithLarge: large:JsonProvider+Small -> JsonProvider+Sizes + JsonRuntime.WithRecordProperty(this, "large", (large :> obj), "") + + member WithMedium: medium:JsonProvider+Small -> JsonProvider+Sizes + JsonRuntime.WithRecordProperty(this, "medium", (medium :> obj), "") + + member WithSmall: small:JsonProvider+Small -> JsonProvider+Sizes + JsonRuntime.WithRecordProperty(this, "small", (small :> obj), "") + + member WithThumb: thumb:JsonProvider+Small -> JsonProvider+Sizes + JsonRuntime.WithRecordProperty(this, "thumb", (thumb :> obj), "") + class JsonProvider+Small : FDR.BaseTypes.IJsonDocument new : w:int -> h:int -> resize:string -> JsonProvider+Small @@ -1163,4 +1694,13 @@ class JsonProvider+Small : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "w") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertInteger("", value.JsonOpt), value.JsonOpt) + member WithH: h:int -> JsonProvider+Small + JsonRuntime.WithRecordProperty(this, "h", (h :> obj), "") + + member WithResize: resize:string -> JsonProvider+Small + JsonRuntime.WithRecordProperty(this, "resize", (resize :> obj), "") + + member WithW: w:int -> JsonProvider+Small + JsonRuntime.WithRecordProperty(this, "w", (w :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,TwitterSample.json,True,,,True,False,ValuesOnly,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,TwitterSample.json,True,,,True,False,ValuesOnly,.expected index ba4150a8d..1d900d35b 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,TwitterSample.json,True,,,True,False,ValuesOnly,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,TwitterSample.json,True,,,True,False,ValuesOnly,.expected @@ -165,6 +165,84 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument member User: JsonProvider+User option with get JsonRuntime.TryGetPropertyPacked(this, "user") + member WithContributors: contributors:JsonValue -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "contributors", (contributors :> obj), "") + + member WithCoordinates: coordinates:JsonValue -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "coordinates", (coordinates :> obj), "") + + member WithCreatedAt: createdAt:string option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "created_at", (createdAt :> obj), "") + + member WithDelete: delete:JsonProvider+Delete option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "delete", (delete :> obj), "") + + member WithEntities: entities:JsonProvider+Entities2 option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "entities", (entities :> obj), "") + + member WithFavoriteCount: favoriteCount:int option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "favorite_count", (favoriteCount :> obj), "") + + member WithFavorited: favorited:bool option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "favorited", (favorited :> obj), "") + + member WithFilterLevel: filterLevel:string option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "filter_level", (filterLevel :> obj), "") + + member WithGeo: geo:JsonValue -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "geo", (geo :> obj), "") + + member WithId: id:int64 option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithIdStr: idStr:int64 option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "id_str", (idStr :> obj), "") + + member WithInReplyToScreenName: inReplyToScreenName:string option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "in_reply_to_screen_name", (inReplyToScreenName :> obj), "") + + member WithInReplyToStatusId: inReplyToStatusId:int64 option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "in_reply_to_status_id", (inReplyToStatusId :> obj), "") + + member WithInReplyToStatusIdStr: inReplyToStatusIdStr:int64 option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "in_reply_to_status_id_str", (inReplyToStatusIdStr :> obj), "") + + member WithInReplyToUserId: inReplyToUserId:int option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "in_reply_to_user_id", (inReplyToUserId :> obj), "") + + member WithInReplyToUserIdStr: inReplyToUserIdStr:int option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "in_reply_to_user_id_str", (inReplyToUserIdStr :> obj), "") + + member WithLang: lang:string option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "lang", (lang :> obj), "") + + member WithPlace: place:JsonProvider+Place option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "place", (place :> obj), "") + + member WithPossiblySensitive: possiblySensitive:bool option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "possibly_sensitive", (possiblySensitive :> obj), "") + + member WithRetweetCount: retweetCount:int option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "retweet_count", (retweetCount :> obj), "") + + member WithRetweeted: retweeted:bool option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "retweeted", (retweeted :> obj), "") + + member WithRetweetedStatus: retweetedStatus:JsonProvider+RetweetedStatus option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "retweeted_status", (retweetedStatus :> obj), "") + + member WithSource: source:string option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "source", (source :> obj), "") + + member WithText: text:string option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "text", (text :> obj), "") + + member WithTruncated: truncated:bool option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "truncated", (truncated :> obj), "") + + member WithUser: user:JsonProvider+User option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "user", (user :> obj), "") + class JsonProvider+Delete : FDR.BaseTypes.IJsonDocument new : status:JsonProvider+Status -> JsonProvider+Delete @@ -177,6 +255,9 @@ class JsonProvider+Delete : FDR.BaseTypes.IJsonDocument member Status: JsonProvider+Status with get JsonRuntime.GetPropertyPacked(this, "status") + member WithStatus: status:JsonProvider+Status -> JsonProvider+Delete + JsonRuntime.WithRecordProperty(this, "status", (status :> obj), "") + class JsonProvider+Entities2 : FDR.BaseTypes.IJsonDocument new : hashtags:JsonProvider+JsonProvider+Hashtag[] -> symbols:JsonValue[] -> urls:JsonProvider+JsonProvider+Url[] -> userMentions:JsonProvider+JsonProvider+UserMention[] -> JsonProvider+Entities2 @@ -204,6 +285,18 @@ class JsonProvider+Entities2 : FDR.BaseTypes.IJsonDocument member UserMentions: JsonProvider+JsonProvider+UserMention[] with get JsonRuntime.ConvertArray(JsonRuntime.GetPropertyPackedOrNull(this, "user_mentions"), new Func<_,_>(id))) + member WithHashtags: hashtags:JsonProvider+JsonProvider+Hashtag[] -> JsonProvider+Entities2 + JsonRuntime.WithRecordProperty(this, "hashtags", (hashtags :> obj), "") + + member WithSymbols: symbols:JsonValue[] -> JsonProvider+Entities2 + JsonRuntime.WithRecordProperty(this, "symbols", (symbols :> obj), "") + + member WithUrls: urls:JsonProvider+JsonProvider+Url[] -> JsonProvider+Entities2 + JsonRuntime.WithRecordProperty(this, "urls", (urls :> obj), "") + + member WithUserMentions: userMentions:JsonProvider+JsonProvider+UserMention[] -> JsonProvider+Entities2 + JsonRuntime.WithRecordProperty(this, "user_mentions", (userMentions :> obj), "") + class JsonProvider+Place : FDR.BaseTypes.IJsonDocument new : id:string -> url:string -> placeType:string -> name:string -> fullName:string -> countryCode:string -> country:string -> boundingBox:JsonProvider+BoundingBox -> attributes:JsonProvider+Attributes -> JsonProvider+Place @@ -263,6 +356,33 @@ class JsonProvider+Place : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "url") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithAttributes: attributes:JsonProvider+Attributes -> JsonProvider+Place + JsonRuntime.WithRecordProperty(this, "attributes", (attributes :> obj), "") + + member WithBoundingBox: boundingBox:JsonProvider+BoundingBox -> JsonProvider+Place + JsonRuntime.WithRecordProperty(this, "bounding_box", (boundingBox :> obj), "") + + member WithCountry: country:string -> JsonProvider+Place + JsonRuntime.WithRecordProperty(this, "country", (country :> obj), "") + + member WithCountryCode: countryCode:string -> JsonProvider+Place + JsonRuntime.WithRecordProperty(this, "country_code", (countryCode :> obj), "") + + member WithFullName: fullName:string -> JsonProvider+Place + JsonRuntime.WithRecordProperty(this, "full_name", (fullName :> obj), "") + + member WithId: id:string -> JsonProvider+Place + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithName: name:string -> JsonProvider+Place + JsonRuntime.WithRecordProperty(this, "name", (name :> obj), "") + + member WithPlaceType: placeType:string -> JsonProvider+Place + JsonRuntime.WithRecordProperty(this, "place_type", (placeType :> obj), "") + + member WithUrl: url:string -> JsonProvider+Place + JsonRuntime.WithRecordProperty(this, "url", (url :> obj), "") + class JsonProvider+RetweetedStatus : FDR.BaseTypes.IJsonDocument new : createdAt:string -> id:int64 -> idStr:int64 -> text:string -> source:string -> truncated:bool -> inReplyToStatusId:JsonValue -> inReplyToStatusIdStr:JsonValue -> inReplyToUserId:int option -> inReplyToUserIdStr:int option -> inReplyToScreenName:string option -> user:JsonProvider+User2 -> geo:JsonValue -> coordinates:JsonValue -> place:JsonValue -> contributors:JsonValue -> retweetCount:int -> favoriteCount:int -> entities:JsonProvider+Entities -> favorited:bool -> retweeted:bool -> lang:string -> possiblySensitive:bool option -> JsonProvider+RetweetedStatus @@ -396,6 +516,75 @@ class JsonProvider+RetweetedStatus : FDR.BaseTypes.IJsonDocument member User: JsonProvider+User2 with get JsonRuntime.GetPropertyPacked(this, "user") + member WithContributors: contributors:JsonValue -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "contributors", (contributors :> obj), "") + + member WithCoordinates: coordinates:JsonValue -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "coordinates", (coordinates :> obj), "") + + member WithCreatedAt: createdAt:string -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "created_at", (createdAt :> obj), "") + + member WithEntities: entities:JsonProvider+Entities -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "entities", (entities :> obj), "") + + member WithFavoriteCount: favoriteCount:int -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "favorite_count", (favoriteCount :> obj), "") + + member WithFavorited: favorited:bool -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "favorited", (favorited :> obj), "") + + member WithGeo: geo:JsonValue -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "geo", (geo :> obj), "") + + member WithId: id:int64 -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithIdStr: idStr:int64 -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "id_str", (idStr :> obj), "") + + member WithInReplyToScreenName: inReplyToScreenName:string option -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "in_reply_to_screen_name", (inReplyToScreenName :> obj), "") + + member WithInReplyToStatusId: inReplyToStatusId:JsonValue -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "in_reply_to_status_id", (inReplyToStatusId :> obj), "") + + member WithInReplyToStatusIdStr: inReplyToStatusIdStr:JsonValue -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "in_reply_to_status_id_str", (inReplyToStatusIdStr :> obj), "") + + member WithInReplyToUserId: inReplyToUserId:int option -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "in_reply_to_user_id", (inReplyToUserId :> obj), "") + + member WithInReplyToUserIdStr: inReplyToUserIdStr:int option -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "in_reply_to_user_id_str", (inReplyToUserIdStr :> obj), "") + + member WithLang: lang:string -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "lang", (lang :> obj), "") + + member WithPlace: place:JsonValue -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "place", (place :> obj), "") + + member WithPossiblySensitive: possiblySensitive:bool option -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "possibly_sensitive", (possiblySensitive :> obj), "") + + member WithRetweetCount: retweetCount:int -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "retweet_count", (retweetCount :> obj), "") + + member WithRetweeted: retweeted:bool -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "retweeted", (retweeted :> obj), "") + + member WithSource: source:string -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "source", (source :> obj), "") + + member WithText: text:string -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "text", (text :> obj), "") + + member WithTruncated: truncated:bool -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "truncated", (truncated :> obj), "") + + member WithUser: user:JsonProvider+User2 -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "user", (user :> obj), "") + class JsonProvider+User : FDR.BaseTypes.IJsonDocument new : id:int -> idStr:int -> name:string -> screenName:string -> location:string option -> url:string option -> description:string -> protected:bool -> followersCount:int -> friendsCount:int -> listedCount:int -> createdAt:string -> favouritesCount:int -> utcOffset:int option -> timeZone:string option -> geoEnabled:bool -> verified:bool -> statusesCount:int -> lang:string -> contributorsEnabled:bool -> isTranslator:bool -> profileBackgroundColor:JsonProvider+IntOrString -> profileBackgroundImageUrl:string -> profileBackgroundImageUrlHttps:string -> profileBackgroundTile:bool -> profileImageUrl:string -> profileImageUrlHttps:string -> profileBannerUrl:string option -> profileLinkColor:JsonProvider+IntOrString -> profileSidebarBorderColor:JsonProvider+IntOrString -> profileSidebarFillColor:JsonProvider+IntOrString -> profileTextColor:JsonProvider+IntOrString -> profileUseBackgroundImage:bool -> defaultProfile:bool -> defaultProfileImage:bool -> following:JsonValue -> followRequestSent:JsonValue -> notifications:JsonValue -> JsonProvider+User @@ -618,6 +807,120 @@ class JsonProvider+User : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "verified") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertBoolean(value.JsonOpt), value.JsonOpt) + member WithContributorsEnabled: contributorsEnabled:bool -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "contributors_enabled", (contributorsEnabled :> obj), "") + + member WithCreatedAt: createdAt:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "created_at", (createdAt :> obj), "") + + member WithDefaultProfile: defaultProfile:bool -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "default_profile", (defaultProfile :> obj), "") + + member WithDefaultProfileImage: defaultProfileImage:bool -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "default_profile_image", (defaultProfileImage :> obj), "") + + member WithDescription: description:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "description", (description :> obj), "") + + member WithFavouritesCount: favouritesCount:int -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "favourites_count", (favouritesCount :> obj), "") + + member WithFollowRequestSent: followRequestSent:JsonValue -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "follow_request_sent", (followRequestSent :> obj), "") + + member WithFollowersCount: followersCount:int -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "followers_count", (followersCount :> obj), "") + + member WithFollowing: following:JsonValue -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "following", (following :> obj), "") + + member WithFriendsCount: friendsCount:int -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "friends_count", (friendsCount :> obj), "") + + member WithGeoEnabled: geoEnabled:bool -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "geo_enabled", (geoEnabled :> obj), "") + + member WithId: id:int -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithIdStr: idStr:int -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "id_str", (idStr :> obj), "") + + member WithIsTranslator: isTranslator:bool -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "is_translator", (isTranslator :> obj), "") + + member WithLang: lang:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "lang", (lang :> obj), "") + + member WithListedCount: listedCount:int -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "listed_count", (listedCount :> obj), "") + + member WithLocation: location:string option -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "location", (location :> obj), "") + + member WithName: name:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "name", (name :> obj), "") + + member WithNotifications: notifications:JsonValue -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "notifications", (notifications :> obj), "") + + member WithProfileBackgroundColor: profileBackgroundColor:JsonProvider+IntOrString -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_background_color", (profileBackgroundColor :> obj), "") + + member WithProfileBackgroundImageUrl: profileBackgroundImageUrl:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_background_image_url", (profileBackgroundImageUrl :> obj), "") + + member WithProfileBackgroundImageUrlHttps: profileBackgroundImageUrlHttps:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_background_image_url_https", (profileBackgroundImageUrlHttps :> obj), "") + + member WithProfileBackgroundTile: profileBackgroundTile:bool -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_background_tile", (profileBackgroundTile :> obj), "") + + member WithProfileBannerUrl: profileBannerUrl:string option -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_banner_url", (profileBannerUrl :> obj), "") + + member WithProfileImageUrl: profileImageUrl:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_image_url", (profileImageUrl :> obj), "") + + member WithProfileImageUrlHttps: profileImageUrlHttps:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_image_url_https", (profileImageUrlHttps :> obj), "") + + member WithProfileLinkColor: profileLinkColor:JsonProvider+IntOrString -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_link_color", (profileLinkColor :> obj), "") + + member WithProfileSidebarBorderColor: profileSidebarBorderColor:JsonProvider+IntOrString -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_sidebar_border_color", (profileSidebarBorderColor :> obj), "") + + member WithProfileSidebarFillColor: profileSidebarFillColor:JsonProvider+IntOrString -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_sidebar_fill_color", (profileSidebarFillColor :> obj), "") + + member WithProfileTextColor: profileTextColor:JsonProvider+IntOrString -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_text_color", (profileTextColor :> obj), "") + + member WithProfileUseBackgroundImage: profileUseBackgroundImage:bool -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_use_background_image", (profileUseBackgroundImage :> obj), "") + + member WithProtected: protected:bool -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "protected", (protected :> obj), "") + + member WithScreenName: screenName:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "screen_name", (screenName :> obj), "") + + member WithStatusesCount: statusesCount:int -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "statuses_count", (statusesCount :> obj), "") + + member WithTimeZone: timeZone:string option -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "time_zone", (timeZone :> obj), "") + + member WithUrl: url:string option -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "url", (url :> obj), "") + + member WithUtcOffset: utcOffset:int option -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "utc_offset", (utcOffset :> obj), "") + + member WithVerified: verified:bool -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "verified", (verified :> obj), "") + class JsonProvider+Attributes : FDR.BaseTypes.IJsonDocument new : () -> JsonProvider+Attributes @@ -644,6 +947,12 @@ class JsonProvider+BoundingBox : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "type") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithCoordinates: coordinates:decimal[][][] -> JsonProvider+BoundingBox + JsonRuntime.WithRecordProperty(this, "coordinates", (coordinates :> obj), "") + + member WithType: type:string -> JsonProvider+BoundingBox + JsonRuntime.WithRecordProperty(this, "type", (type :> obj), "") + class JsonProvider+Entities : FDR.BaseTypes.IJsonDocument new : hashtags:JsonProvider+JsonProvider+Hashtag[] -> symbols:JsonValue[] -> urls:JsonProvider+JsonProvider+Url[] -> userMentions:JsonProvider+JsonProvider+UserMention[] -> media:JsonProvider+JsonProvider+Media[] -> JsonProvider+Entities @@ -676,6 +985,21 @@ class JsonProvider+Entities : FDR.BaseTypes.IJsonDocument member UserMentions: JsonProvider+JsonProvider+UserMention[] with get JsonRuntime.ConvertArray(JsonRuntime.GetPropertyPackedOrNull(this, "user_mentions"), new Func<_,_>(id))) + member WithHashtags: hashtags:JsonProvider+JsonProvider+Hashtag[] -> JsonProvider+Entities + JsonRuntime.WithRecordProperty(this, "hashtags", (hashtags :> obj), "") + + member WithMedia: media:JsonProvider+JsonProvider+Media[] -> JsonProvider+Entities + JsonRuntime.WithRecordProperty(this, "media", (media :> obj), "") + + member WithSymbols: symbols:JsonValue[] -> JsonProvider+Entities + JsonRuntime.WithRecordProperty(this, "symbols", (symbols :> obj), "") + + member WithUrls: urls:JsonProvider+JsonProvider+Url[] -> JsonProvider+Entities + JsonRuntime.WithRecordProperty(this, "urls", (urls :> obj), "") + + member WithUserMentions: userMentions:JsonProvider+JsonProvider+UserMention[] -> JsonProvider+Entities + JsonRuntime.WithRecordProperty(this, "user_mentions", (userMentions :> obj), "") + class JsonProvider+Hashtag : FDR.BaseTypes.IJsonDocument new : text:string -> indices:int[] -> JsonProvider+Hashtag @@ -694,6 +1018,12 @@ class JsonProvider+Hashtag : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "text") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithIndices: indices:int[] -> JsonProvider+Hashtag + JsonRuntime.WithRecordProperty(this, "indices", (indices :> obj), "") + + member WithText: text:string -> JsonProvider+Hashtag + JsonRuntime.WithRecordProperty(this, "text", (text :> obj), "") + class JsonProvider+IntOrString : FDR.BaseTypes.IJsonDocument new : number:int -> JsonProvider+IntOrString @@ -745,6 +1075,18 @@ class JsonProvider+Status : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "user_id_str") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertInteger("", value.JsonOpt), value.JsonOpt) + member WithId: id:int64 -> JsonProvider+Status + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithIdStr: idStr:int64 -> JsonProvider+Status + JsonRuntime.WithRecordProperty(this, "id_str", (idStr :> obj), "") + + member WithUserId: userId:int -> JsonProvider+Status + JsonRuntime.WithRecordProperty(this, "user_id", (userId :> obj), "") + + member WithUserIdStr: userIdStr:int -> JsonProvider+Status + JsonRuntime.WithRecordProperty(this, "user_id_str", (userIdStr :> obj), "") + class JsonProvider+Url : FDR.BaseTypes.IJsonDocument new : url:string -> expandedUrl:string -> displayUrl:string -> indices:int[] -> JsonProvider+Url @@ -775,6 +1117,18 @@ class JsonProvider+Url : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "url") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithDisplayUrl: displayUrl:string -> JsonProvider+Url + JsonRuntime.WithRecordProperty(this, "display_url", (displayUrl :> obj), "") + + member WithExpandedUrl: expandedUrl:string -> JsonProvider+Url + JsonRuntime.WithRecordProperty(this, "expanded_url", (expandedUrl :> obj), "") + + member WithIndices: indices:int[] -> JsonProvider+Url + JsonRuntime.WithRecordProperty(this, "indices", (indices :> obj), "") + + member WithUrl: url:string -> JsonProvider+Url + JsonRuntime.WithRecordProperty(this, "url", (url :> obj), "") + class JsonProvider+User2 : FDR.BaseTypes.IJsonDocument new : id:int -> idStr:int -> name:string -> screenName:string -> location:string option -> url:string option -> description:string -> protected:bool -> followersCount:int -> friendsCount:int -> listedCount:int -> createdAt:string -> favouritesCount:int -> utcOffset:int option -> timeZone:string option -> geoEnabled:bool -> verified:bool -> statusesCount:int -> lang:string -> contributorsEnabled:bool -> isTranslator:bool -> profileBackgroundColor:JsonProvider+IntOrString -> profileBackgroundImageUrl:string -> profileBackgroundImageUrlHttps:string -> profileBackgroundTile:bool -> profileImageUrl:string -> profileImageUrlHttps:string -> profileBannerUrl:string option -> profileLinkColor:string -> profileSidebarBorderColor:JsonProvider+IntOrString -> profileSidebarFillColor:JsonProvider+IntOrString -> profileTextColor:JsonProvider+IntOrString -> profileUseBackgroundImage:bool -> defaultProfile:bool -> defaultProfileImage:bool -> following:JsonValue -> followRequestSent:JsonValue -> notifications:JsonValue -> JsonProvider+User2 @@ -998,6 +1352,120 @@ class JsonProvider+User2 : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "verified") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertBoolean(value.JsonOpt), value.JsonOpt) + member WithContributorsEnabled: contributorsEnabled:bool -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "contributors_enabled", (contributorsEnabled :> obj), "") + + member WithCreatedAt: createdAt:string -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "created_at", (createdAt :> obj), "") + + member WithDefaultProfile: defaultProfile:bool -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "default_profile", (defaultProfile :> obj), "") + + member WithDefaultProfileImage: defaultProfileImage:bool -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "default_profile_image", (defaultProfileImage :> obj), "") + + member WithDescription: description:string -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "description", (description :> obj), "") + + member WithFavouritesCount: favouritesCount:int -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "favourites_count", (favouritesCount :> obj), "") + + member WithFollowRequestSent: followRequestSent:JsonValue -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "follow_request_sent", (followRequestSent :> obj), "") + + member WithFollowersCount: followersCount:int -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "followers_count", (followersCount :> obj), "") + + member WithFollowing: following:JsonValue -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "following", (following :> obj), "") + + member WithFriendsCount: friendsCount:int -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "friends_count", (friendsCount :> obj), "") + + member WithGeoEnabled: geoEnabled:bool -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "geo_enabled", (geoEnabled :> obj), "") + + member WithId: id:int -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithIdStr: idStr:int -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "id_str", (idStr :> obj), "") + + member WithIsTranslator: isTranslator:bool -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "is_translator", (isTranslator :> obj), "") + + member WithLang: lang:string -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "lang", (lang :> obj), "") + + member WithListedCount: listedCount:int -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "listed_count", (listedCount :> obj), "") + + member WithLocation: location:string option -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "location", (location :> obj), "") + + member WithName: name:string -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "name", (name :> obj), "") + + member WithNotifications: notifications:JsonValue -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "notifications", (notifications :> obj), "") + + member WithProfileBackgroundColor: profileBackgroundColor:JsonProvider+IntOrString -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_background_color", (profileBackgroundColor :> obj), "") + + member WithProfileBackgroundImageUrl: profileBackgroundImageUrl:string -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_background_image_url", (profileBackgroundImageUrl :> obj), "") + + member WithProfileBackgroundImageUrlHttps: profileBackgroundImageUrlHttps:string -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_background_image_url_https", (profileBackgroundImageUrlHttps :> obj), "") + + member WithProfileBackgroundTile: profileBackgroundTile:bool -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_background_tile", (profileBackgroundTile :> obj), "") + + member WithProfileBannerUrl: profileBannerUrl:string option -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_banner_url", (profileBannerUrl :> obj), "") + + member WithProfileImageUrl: profileImageUrl:string -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_image_url", (profileImageUrl :> obj), "") + + member WithProfileImageUrlHttps: profileImageUrlHttps:string -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_image_url_https", (profileImageUrlHttps :> obj), "") + + member WithProfileLinkColor: profileLinkColor:string -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_link_color", (profileLinkColor :> obj), "") + + member WithProfileSidebarBorderColor: profileSidebarBorderColor:JsonProvider+IntOrString -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_sidebar_border_color", (profileSidebarBorderColor :> obj), "") + + member WithProfileSidebarFillColor: profileSidebarFillColor:JsonProvider+IntOrString -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_sidebar_fill_color", (profileSidebarFillColor :> obj), "") + + member WithProfileTextColor: profileTextColor:JsonProvider+IntOrString -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_text_color", (profileTextColor :> obj), "") + + member WithProfileUseBackgroundImage: profileUseBackgroundImage:bool -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_use_background_image", (profileUseBackgroundImage :> obj), "") + + member WithProtected: protected:bool -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "protected", (protected :> obj), "") + + member WithScreenName: screenName:string -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "screen_name", (screenName :> obj), "") + + member WithStatusesCount: statusesCount:int -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "statuses_count", (statusesCount :> obj), "") + + member WithTimeZone: timeZone:string option -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "time_zone", (timeZone :> obj), "") + + member WithUrl: url:string option -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "url", (url :> obj), "") + + member WithUtcOffset: utcOffset:int option -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "utc_offset", (utcOffset :> obj), "") + + member WithVerified: verified:bool -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "verified", (verified :> obj), "") + class JsonProvider+UserMention : FDR.BaseTypes.IJsonDocument new : screenName:string -> name:string -> id:int -> idStr:int -> indices:int[] -> JsonProvider+UserMention @@ -1034,6 +1502,21 @@ class JsonProvider+UserMention : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "screen_name") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithId: id:int -> JsonProvider+UserMention + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithIdStr: idStr:int -> JsonProvider+UserMention + JsonRuntime.WithRecordProperty(this, "id_str", (idStr :> obj), "") + + member WithIndices: indices:int[] -> JsonProvider+UserMention + JsonRuntime.WithRecordProperty(this, "indices", (indices :> obj), "") + + member WithName: name:string -> JsonProvider+UserMention + JsonRuntime.WithRecordProperty(this, "name", (name :> obj), "") + + member WithScreenName: screenName:string -> JsonProvider+UserMention + JsonRuntime.WithRecordProperty(this, "screen_name", (screenName :> obj), "") + class JsonProvider+Media : FDR.BaseTypes.IJsonDocument new : id:int64 -> idStr:int64 -> indices:int[] -> mediaUrl:string -> mediaUrlHttps:string -> url:string -> displayUrl:string -> expandedUrl:string -> type:string -> sizes:JsonProvider+Sizes -> sourceStatusId:int64 -> sourceStatusIdStr:int64 -> JsonProvider+Media @@ -1111,6 +1594,42 @@ class JsonProvider+Media : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "url") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithDisplayUrl: displayUrl:string -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "display_url", (displayUrl :> obj), "") + + member WithExpandedUrl: expandedUrl:string -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "expanded_url", (expandedUrl :> obj), "") + + member WithId: id:int64 -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithIdStr: idStr:int64 -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "id_str", (idStr :> obj), "") + + member WithIndices: indices:int[] -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "indices", (indices :> obj), "") + + member WithMediaUrl: mediaUrl:string -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "media_url", (mediaUrl :> obj), "") + + member WithMediaUrlHttps: mediaUrlHttps:string -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "media_url_https", (mediaUrlHttps :> obj), "") + + member WithSizes: sizes:JsonProvider+Sizes -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "sizes", (sizes :> obj), "") + + member WithSourceStatusId: sourceStatusId:int64 -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "source_status_id", (sourceStatusId :> obj), "") + + member WithSourceStatusIdStr: sourceStatusIdStr:int64 -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "source_status_id_str", (sourceStatusIdStr :> obj), "") + + member WithType: type:string -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "type", (type :> obj), "") + + member WithUrl: url:string -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "url", (url :> obj), "") + class JsonProvider+Sizes : FDR.BaseTypes.IJsonDocument new : small:JsonProvider+Small -> thumb:JsonProvider+Small -> large:JsonProvider+Small -> medium:JsonProvider+Small -> JsonProvider+Sizes @@ -1138,6 +1657,18 @@ class JsonProvider+Sizes : FDR.BaseTypes.IJsonDocument member Thumb: JsonProvider+Small with get JsonRuntime.GetPropertyPacked(this, "thumb") + member WithLarge: large:JsonProvider+Small -> JsonProvider+Sizes + JsonRuntime.WithRecordProperty(this, "large", (large :> obj), "") + + member WithMedium: medium:JsonProvider+Small -> JsonProvider+Sizes + JsonRuntime.WithRecordProperty(this, "medium", (medium :> obj), "") + + member WithSmall: small:JsonProvider+Small -> JsonProvider+Sizes + JsonRuntime.WithRecordProperty(this, "small", (small :> obj), "") + + member WithThumb: thumb:JsonProvider+Small -> JsonProvider+Sizes + JsonRuntime.WithRecordProperty(this, "thumb", (thumb :> obj), "") + class JsonProvider+Small : FDR.BaseTypes.IJsonDocument new : w:int -> h:int -> resize:string -> JsonProvider+Small @@ -1163,4 +1694,13 @@ class JsonProvider+Small : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "w") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertInteger("", value.JsonOpt), value.JsonOpt) + member WithH: h:int -> JsonProvider+Small + JsonRuntime.WithRecordProperty(this, "h", (h :> obj), "") + + member WithResize: resize:string -> JsonProvider+Small + JsonRuntime.WithRecordProperty(this, "resize", (resize :> obj), "") + + member WithW: w:int -> JsonProvider+Small + JsonRuntime.WithRecordProperty(this, "w", (w :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,TwitterStream.json,True,,,True,False,BackwardCompatible,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,TwitterStream.json,True,,,True,False,BackwardCompatible,.expected index ba06eac44..713910f66 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,TwitterStream.json,True,,,True,False,BackwardCompatible,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,TwitterStream.json,True,,,True,False,BackwardCompatible,.expected @@ -155,6 +155,78 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument member User: JsonProvider+User option with get JsonRuntime.TryGetPropertyPacked(this, "user") + member WithContributors: contributors:JsonValue -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "contributors", (contributors :> obj), "") + + member WithCoordinates: coordinates:JsonProvider+Geo option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "coordinates", (coordinates :> obj), "") + + member WithCreatedAt: createdAt:string option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "created_at", (createdAt :> obj), "") + + member WithDelete: delete:JsonProvider+Delete option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "delete", (delete :> obj), "") + + member WithEntities: entities:JsonProvider+Entities option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "entities", (entities :> obj), "") + + member WithFavorited: favorited:bool option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "favorited", (favorited :> obj), "") + + member WithGeo: geo:JsonProvider+Geo option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "geo", (geo :> obj), "") + + member WithId: id:int64 option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithIdStr: idStr:int64 option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "id_str", (idStr :> obj), "") + + member WithInReplyToScreenName: inReplyToScreenName:string option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "in_reply_to_screen_name", (inReplyToScreenName :> obj), "") + + member WithInReplyToStatusId: inReplyToStatusId:int64 option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "in_reply_to_status_id", (inReplyToStatusId :> obj), "") + + member WithInReplyToStatusIdStr: inReplyToStatusIdStr:int64 option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "in_reply_to_status_id_str", (inReplyToStatusIdStr :> obj), "") + + member WithInReplyToUserId: inReplyToUserId:int option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "in_reply_to_user_id", (inReplyToUserId :> obj), "") + + member WithInReplyToUserIdStr: inReplyToUserIdStr:int option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "in_reply_to_user_id_str", (inReplyToUserIdStr :> obj), "") + + member WithPlace: place:JsonProvider+Place option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "place", (place :> obj), "") + + member WithPossiblySensitive: possiblySensitive:bool option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "possibly_sensitive", (possiblySensitive :> obj), "") + + member WithPossiblySensitiveEditable: possiblySensitiveEditable:bool option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "possibly_sensitive_editable", (possiblySensitiveEditable :> obj), "") + + member WithRetweetCount: retweetCount:int option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "retweet_count", (retweetCount :> obj), "") + + member WithRetweeted: retweeted:bool option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "retweeted", (retweeted :> obj), "") + + member WithRetweetedStatus: retweetedStatus:JsonProvider+RetweetedStatus option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "retweeted_status", (retweetedStatus :> obj), "") + + member WithSource: source:string option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "source", (source :> obj), "") + + member WithText: text:string option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "text", (text :> obj), "") + + member WithTruncated: truncated:bool option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "truncated", (truncated :> obj), "") + + member WithUser: user:JsonProvider+User option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "user", (user :> obj), "") + class JsonProvider+Delete : FDR.BaseTypes.IJsonDocument new : status:JsonProvider+Status -> JsonProvider+Delete @@ -167,6 +239,9 @@ class JsonProvider+Delete : FDR.BaseTypes.IJsonDocument member Status: JsonProvider+Status with get JsonRuntime.GetPropertyPacked(this, "status") + member WithStatus: status:JsonProvider+Status -> JsonProvider+Delete + JsonRuntime.WithRecordProperty(this, "status", (status :> obj), "") + class JsonProvider+Entities : FDR.BaseTypes.IJsonDocument new : userMentions:JsonProvider+JsonProvider+UserMention[] -> hashtags:JsonProvider+JsonProvider+Hashtag[] -> urls:JsonProvider+JsonProvider+Url[] -> media:JsonProvider+JsonProvider+Media[] -> JsonProvider+Entities @@ -194,6 +269,18 @@ class JsonProvider+Entities : FDR.BaseTypes.IJsonDocument member UserMentions: JsonProvider+JsonProvider+UserMention[] with get JsonRuntime.ConvertArray(JsonRuntime.GetPropertyPackedOrNull(this, "user_mentions"), new Func<_,_>(id))) + member WithHashtags: hashtags:JsonProvider+JsonProvider+Hashtag[] -> JsonProvider+Entities + JsonRuntime.WithRecordProperty(this, "hashtags", (hashtags :> obj), "") + + member WithMedia: media:JsonProvider+JsonProvider+Media[] -> JsonProvider+Entities + JsonRuntime.WithRecordProperty(this, "media", (media :> obj), "") + + member WithUrls: urls:JsonProvider+JsonProvider+Url[] -> JsonProvider+Entities + JsonRuntime.WithRecordProperty(this, "urls", (urls :> obj), "") + + member WithUserMentions: userMentions:JsonProvider+JsonProvider+UserMention[] -> JsonProvider+Entities + JsonRuntime.WithRecordProperty(this, "user_mentions", (userMentions :> obj), "") + class JsonProvider+Geo : FDR.BaseTypes.IJsonDocument new : type:string -> coordinates:decimal[] -> JsonProvider+Geo @@ -212,6 +299,12 @@ class JsonProvider+Geo : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "type") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithCoordinates: coordinates:decimal[] -> JsonProvider+Geo + JsonRuntime.WithRecordProperty(this, "coordinates", (coordinates :> obj), "") + + member WithType: type:string -> JsonProvider+Geo + JsonRuntime.WithRecordProperty(this, "type", (type :> obj), "") + class JsonProvider+Place : FDR.BaseTypes.IJsonDocument new : countryCode:string -> attributes:JsonProvider+Attributes -> fullName:string -> placeType:string -> name:string -> country:string -> id:string -> url:string -> boundingBox:JsonProvider+BoundingBox -> JsonProvider+Place @@ -271,6 +364,33 @@ class JsonProvider+Place : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "url") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithAttributes: attributes:JsonProvider+Attributes -> JsonProvider+Place + JsonRuntime.WithRecordProperty(this, "attributes", (attributes :> obj), "") + + member WithBoundingBox: boundingBox:JsonProvider+BoundingBox -> JsonProvider+Place + JsonRuntime.WithRecordProperty(this, "bounding_box", (boundingBox :> obj), "") + + member WithCountry: country:string -> JsonProvider+Place + JsonRuntime.WithRecordProperty(this, "country", (country :> obj), "") + + member WithCountryCode: countryCode:string -> JsonProvider+Place + JsonRuntime.WithRecordProperty(this, "country_code", (countryCode :> obj), "") + + member WithFullName: fullName:string -> JsonProvider+Place + JsonRuntime.WithRecordProperty(this, "full_name", (fullName :> obj), "") + + member WithId: id:string -> JsonProvider+Place + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithName: name:string -> JsonProvider+Place + JsonRuntime.WithRecordProperty(this, "name", (name :> obj), "") + + member WithPlaceType: placeType:string -> JsonProvider+Place + JsonRuntime.WithRecordProperty(this, "place_type", (placeType :> obj), "") + + member WithUrl: url:string -> JsonProvider+Place + JsonRuntime.WithRecordProperty(this, "url", (url :> obj), "") + class JsonProvider+RetweetedStatus : FDR.BaseTypes.IJsonDocument new : inReplyToStatusIdStr:int64 option -> text:string -> inReplyToUserIdStr:int option -> retweetCount:int -> geo:JsonValue -> source:string -> retweeted:bool -> truncated:bool -> idStr:int64 -> entities:JsonProvider+Entities2 -> inReplyToUserId:int option -> inReplyToStatusId:int64 option -> place:JsonValue -> coordinates:JsonValue -> inReplyToScreenName:string option -> createdAt:string -> user:JsonProvider+User2 -> id:int64 -> contributors:JsonValue -> favorited:bool -> possiblySensitive:bool option -> possiblySensitiveEditable:bool option -> JsonProvider+RetweetedStatus @@ -397,6 +517,72 @@ class JsonProvider+RetweetedStatus : FDR.BaseTypes.IJsonDocument member User: JsonProvider+User2 with get JsonRuntime.GetPropertyPacked(this, "user") + member WithContributors: contributors:JsonValue -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "contributors", (contributors :> obj), "") + + member WithCoordinates: coordinates:JsonValue -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "coordinates", (coordinates :> obj), "") + + member WithCreatedAt: createdAt:string -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "created_at", (createdAt :> obj), "") + + member WithEntities: entities:JsonProvider+Entities2 -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "entities", (entities :> obj), "") + + member WithFavorited: favorited:bool -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "favorited", (favorited :> obj), "") + + member WithGeo: geo:JsonValue -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "geo", (geo :> obj), "") + + member WithId: id:int64 -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithIdStr: idStr:int64 -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "id_str", (idStr :> obj), "") + + member WithInReplyToScreenName: inReplyToScreenName:string option -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "in_reply_to_screen_name", (inReplyToScreenName :> obj), "") + + member WithInReplyToStatusId: inReplyToStatusId:int64 option -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "in_reply_to_status_id", (inReplyToStatusId :> obj), "") + + member WithInReplyToStatusIdStr: inReplyToStatusIdStr:int64 option -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "in_reply_to_status_id_str", (inReplyToStatusIdStr :> obj), "") + + member WithInReplyToUserId: inReplyToUserId:int option -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "in_reply_to_user_id", (inReplyToUserId :> obj), "") + + member WithInReplyToUserIdStr: inReplyToUserIdStr:int option -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "in_reply_to_user_id_str", (inReplyToUserIdStr :> obj), "") + + member WithPlace: place:JsonValue -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "place", (place :> obj), "") + + member WithPossiblySensitive: possiblySensitive:bool option -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "possibly_sensitive", (possiblySensitive :> obj), "") + + member WithPossiblySensitiveEditable: possiblySensitiveEditable:bool option -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "possibly_sensitive_editable", (possiblySensitiveEditable :> obj), "") + + member WithRetweetCount: retweetCount:int -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "retweet_count", (retweetCount :> obj), "") + + member WithRetweeted: retweeted:bool -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "retweeted", (retweeted :> obj), "") + + member WithSource: source:string -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "source", (source :> obj), "") + + member WithText: text:string -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "text", (text :> obj), "") + + member WithTruncated: truncated:bool -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "truncated", (truncated :> obj), "") + + member WithUser: user:JsonProvider+User2 -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "user", (user :> obj), "") + class JsonProvider+User : FDR.BaseTypes.IJsonDocument new : notifications:JsonValue -> contributorsEnabled:bool -> timeZone:string option -> profileBackgroundColor:JsonProvider+IntOrString -> location:JsonProvider+IntOrString -> profileBackgroundTile:bool -> profileImageUrlHttps:string -> defaultProfileImage:bool -> followRequestSent:JsonValue -> profileSidebarFillColor:JsonProvider+IntOrString -> description:string option -> profileBannerUrl:string option -> favouritesCount:int -> screenName:string -> profileSidebarBorderColor:JsonProvider+FloatOrString -> idStr:int -> verified:bool -> lang:string -> statusesCount:int -> profileUseBackgroundImage:bool -> protected:bool -> profileImageUrl:string -> listedCount:int -> geoEnabled:bool -> createdAt:string -> profileTextColor:JsonProvider+FloatOrString -> name:string -> profileBackgroundImageUrl:string -> friendsCount:int -> url:string option -> id:int -> isTranslator:bool -> defaultProfile:bool -> following:JsonValue -> profileBackgroundImageUrlHttps:string -> utcOffset:int option -> profileLinkColor:JsonProvider+IntOrString -> followersCount:int -> JsonProvider+User @@ -618,6 +804,120 @@ class JsonProvider+User : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "verified") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertBoolean(value.JsonOpt), value.JsonOpt) + member WithContributorsEnabled: contributorsEnabled:bool -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "contributors_enabled", (contributorsEnabled :> obj), "") + + member WithCreatedAt: createdAt:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "created_at", (createdAt :> obj), "") + + member WithDefaultProfile: defaultProfile:bool -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "default_profile", (defaultProfile :> obj), "") + + member WithDefaultProfileImage: defaultProfileImage:bool -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "default_profile_image", (defaultProfileImage :> obj), "") + + member WithDescription: description:string option -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "description", (description :> obj), "") + + member WithFavouritesCount: favouritesCount:int -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "favourites_count", (favouritesCount :> obj), "") + + member WithFollowRequestSent: followRequestSent:JsonValue -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "follow_request_sent", (followRequestSent :> obj), "") + + member WithFollowersCount: followersCount:int -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "followers_count", (followersCount :> obj), "") + + member WithFollowing: following:JsonValue -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "following", (following :> obj), "") + + member WithFriendsCount: friendsCount:int -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "friends_count", (friendsCount :> obj), "") + + member WithGeoEnabled: geoEnabled:bool -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "geo_enabled", (geoEnabled :> obj), "") + + member WithId: id:int -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithIdStr: idStr:int -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "id_str", (idStr :> obj), "") + + member WithIsTranslator: isTranslator:bool -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "is_translator", (isTranslator :> obj), "") + + member WithLang: lang:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "lang", (lang :> obj), "") + + member WithListedCount: listedCount:int -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "listed_count", (listedCount :> obj), "") + + member WithLocation: location:JsonProvider+IntOrString -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "location", (location :> obj), "") + + member WithName: name:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "name", (name :> obj), "") + + member WithNotifications: notifications:JsonValue -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "notifications", (notifications :> obj), "") + + member WithProfileBackgroundColor: profileBackgroundColor:JsonProvider+IntOrString -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_background_color", (profileBackgroundColor :> obj), "") + + member WithProfileBackgroundImageUrl: profileBackgroundImageUrl:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_background_image_url", (profileBackgroundImageUrl :> obj), "") + + member WithProfileBackgroundImageUrlHttps: profileBackgroundImageUrlHttps:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_background_image_url_https", (profileBackgroundImageUrlHttps :> obj), "") + + member WithProfileBackgroundTile: profileBackgroundTile:bool -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_background_tile", (profileBackgroundTile :> obj), "") + + member WithProfileBannerUrl: profileBannerUrl:string option -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_banner_url", (profileBannerUrl :> obj), "") + + member WithProfileImageUrl: profileImageUrl:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_image_url", (profileImageUrl :> obj), "") + + member WithProfileImageUrlHttps: profileImageUrlHttps:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_image_url_https", (profileImageUrlHttps :> obj), "") + + member WithProfileLinkColor: profileLinkColor:JsonProvider+IntOrString -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_link_color", (profileLinkColor :> obj), "") + + member WithProfileSidebarBorderColor: profileSidebarBorderColor:JsonProvider+FloatOrString -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_sidebar_border_color", (profileSidebarBorderColor :> obj), "") + + member WithProfileSidebarFillColor: profileSidebarFillColor:JsonProvider+IntOrString -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_sidebar_fill_color", (profileSidebarFillColor :> obj), "") + + member WithProfileTextColor: profileTextColor:JsonProvider+FloatOrString -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_text_color", (profileTextColor :> obj), "") + + member WithProfileUseBackgroundImage: profileUseBackgroundImage:bool -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_use_background_image", (profileUseBackgroundImage :> obj), "") + + member WithProtected: protected:bool -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "protected", (protected :> obj), "") + + member WithScreenName: screenName:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "screen_name", (screenName :> obj), "") + + member WithStatusesCount: statusesCount:int -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "statuses_count", (statusesCount :> obj), "") + + member WithTimeZone: timeZone:string option -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "time_zone", (timeZone :> obj), "") + + member WithUrl: url:string option -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "url", (url :> obj), "") + + member WithUtcOffset: utcOffset:int option -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "utc_offset", (utcOffset :> obj), "") + + member WithVerified: verified:bool -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "verified", (verified :> obj), "") + class JsonProvider+Attributes : FDR.BaseTypes.IJsonDocument new : () -> JsonProvider+Attributes @@ -644,6 +944,12 @@ class JsonProvider+BoundingBox : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "type") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithCoordinates: coordinates:decimal[][][] -> JsonProvider+BoundingBox + JsonRuntime.WithRecordProperty(this, "coordinates", (coordinates :> obj), "") + + member WithType: type:string -> JsonProvider+BoundingBox + JsonRuntime.WithRecordProperty(this, "type", (type :> obj), "") + class JsonProvider+Entities2 : FDR.BaseTypes.IJsonDocument new : userMentions:JsonProvider+JsonProvider+UserMention[] -> hashtags:JsonProvider+JsonProvider+Hashtag[] -> urls:JsonProvider+JsonProvider+Url[] -> media:JsonProvider+JsonProvider+Media[] -> JsonProvider+Entities2 @@ -671,6 +977,18 @@ class JsonProvider+Entities2 : FDR.BaseTypes.IJsonDocument member UserMentions: JsonProvider+JsonProvider+UserMention[] with get JsonRuntime.ConvertArray(JsonRuntime.GetPropertyPackedOrNull(this, "user_mentions"), new Func<_,_>(id))) + member WithHashtags: hashtags:JsonProvider+JsonProvider+Hashtag[] -> JsonProvider+Entities2 + JsonRuntime.WithRecordProperty(this, "hashtags", (hashtags :> obj), "") + + member WithMedia: media:JsonProvider+JsonProvider+Media[] -> JsonProvider+Entities2 + JsonRuntime.WithRecordProperty(this, "media", (media :> obj), "") + + member WithUrls: urls:JsonProvider+JsonProvider+Url[] -> JsonProvider+Entities2 + JsonRuntime.WithRecordProperty(this, "urls", (urls :> obj), "") + + member WithUserMentions: userMentions:JsonProvider+JsonProvider+UserMention[] -> JsonProvider+Entities2 + JsonRuntime.WithRecordProperty(this, "user_mentions", (userMentions :> obj), "") + class JsonProvider+FloatOrString : FDR.BaseTypes.IJsonDocument new : number:float -> JsonProvider+FloatOrString @@ -709,6 +1027,12 @@ class JsonProvider+Hashtag : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "text") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithIndices: indices:int[] -> JsonProvider+Hashtag + JsonRuntime.WithRecordProperty(this, "indices", (indices :> obj), "") + + member WithText: text:string -> JsonProvider+Hashtag + JsonRuntime.WithRecordProperty(this, "text", (text :> obj), "") + class JsonProvider+IntOrString : FDR.BaseTypes.IJsonDocument new : number:int -> JsonProvider+IntOrString @@ -794,6 +1118,36 @@ class JsonProvider+Media : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "url") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithDisplayUrl: displayUrl:string -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "display_url", (displayUrl :> obj), "") + + member WithExpandedUrl: expandedUrl:string -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "expanded_url", (expandedUrl :> obj), "") + + member WithId: id:int64 -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithIdStr: idStr:int64 -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "id_str", (idStr :> obj), "") + + member WithIndices: indices:int[] -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "indices", (indices :> obj), "") + + member WithMediaUrl: mediaUrl:string -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "media_url", (mediaUrl :> obj), "") + + member WithMediaUrlHttps: mediaUrlHttps:string -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "media_url_https", (mediaUrlHttps :> obj), "") + + member WithSizes: sizes:JsonProvider+Sizes -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "sizes", (sizes :> obj), "") + + member WithType: type:string -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "type", (type :> obj), "") + + member WithUrl: url:string -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "url", (url :> obj), "") + class JsonProvider+Status : FDR.BaseTypes.IJsonDocument new : userIdStr:int -> idStr:int64 -> id:int64 -> userId:int -> JsonProvider+Status @@ -825,6 +1179,18 @@ class JsonProvider+Status : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "user_id_str") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertInteger("", value.JsonOpt), value.JsonOpt) + member WithId: id:int64 -> JsonProvider+Status + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithIdStr: idStr:int64 -> JsonProvider+Status + JsonRuntime.WithRecordProperty(this, "id_str", (idStr :> obj), "") + + member WithUserId: userId:int -> JsonProvider+Status + JsonRuntime.WithRecordProperty(this, "user_id", (userId :> obj), "") + + member WithUserIdStr: userIdStr:int -> JsonProvider+Status + JsonRuntime.WithRecordProperty(this, "user_id_str", (userIdStr :> obj), "") + class JsonProvider+Url : FDR.BaseTypes.IJsonDocument new : expandedUrl:string -> indices:int[] -> displayUrl:string -> url:string -> JsonProvider+Url @@ -855,6 +1221,18 @@ class JsonProvider+Url : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "url") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithDisplayUrl: displayUrl:string -> JsonProvider+Url + JsonRuntime.WithRecordProperty(this, "display_url", (displayUrl :> obj), "") + + member WithExpandedUrl: expandedUrl:string -> JsonProvider+Url + JsonRuntime.WithRecordProperty(this, "expanded_url", (expandedUrl :> obj), "") + + member WithIndices: indices:int[] -> JsonProvider+Url + JsonRuntime.WithRecordProperty(this, "indices", (indices :> obj), "") + + member WithUrl: url:string -> JsonProvider+Url + JsonRuntime.WithRecordProperty(this, "url", (url :> obj), "") + class JsonProvider+User2 : FDR.BaseTypes.IJsonDocument new : notifications:JsonValue -> contributorsEnabled:bool -> timeZone:string option -> profileBackgroundColor:JsonProvider+IntOrString -> location:string option -> profileBackgroundTile:bool -> profileImageUrlHttps:string -> defaultProfileImage:bool -> followRequestSent:JsonValue -> profileSidebarFillColor:JsonProvider+IntOrString -> description:string option -> favouritesCount:int -> screenName:string -> profileSidebarBorderColor:JsonProvider+IntOrString -> idStr:int -> verified:bool -> lang:string -> statusesCount:int -> profileUseBackgroundImage:bool -> protected:bool -> profileImageUrl:string -> listedCount:int -> geoEnabled:bool -> createdAt:string -> profileTextColor:JsonProvider+IntOrString -> name:string -> profileBackgroundImageUrl:string -> friendsCount:int -> url:string option -> id:int -> isTranslator:bool -> defaultProfile:bool -> following:JsonValue -> profileBackgroundImageUrlHttps:string -> utcOffset:int option -> profileLinkColor:JsonProvider+IntOrString -> followersCount:int -> profileBannerUrl:string option -> JsonProvider+User2 @@ -1076,6 +1454,120 @@ class JsonProvider+User2 : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "verified") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertBoolean(value.JsonOpt), value.JsonOpt) + member WithContributorsEnabled: contributorsEnabled:bool -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "contributors_enabled", (contributorsEnabled :> obj), "") + + member WithCreatedAt: createdAt:string -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "created_at", (createdAt :> obj), "") + + member WithDefaultProfile: defaultProfile:bool -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "default_profile", (defaultProfile :> obj), "") + + member WithDefaultProfileImage: defaultProfileImage:bool -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "default_profile_image", (defaultProfileImage :> obj), "") + + member WithDescription: description:string option -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "description", (description :> obj), "") + + member WithFavouritesCount: favouritesCount:int -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "favourites_count", (favouritesCount :> obj), "") + + member WithFollowRequestSent: followRequestSent:JsonValue -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "follow_request_sent", (followRequestSent :> obj), "") + + member WithFollowersCount: followersCount:int -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "followers_count", (followersCount :> obj), "") + + member WithFollowing: following:JsonValue -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "following", (following :> obj), "") + + member WithFriendsCount: friendsCount:int -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "friends_count", (friendsCount :> obj), "") + + member WithGeoEnabled: geoEnabled:bool -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "geo_enabled", (geoEnabled :> obj), "") + + member WithId: id:int -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithIdStr: idStr:int -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "id_str", (idStr :> obj), "") + + member WithIsTranslator: isTranslator:bool -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "is_translator", (isTranslator :> obj), "") + + member WithLang: lang:string -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "lang", (lang :> obj), "") + + member WithListedCount: listedCount:int -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "listed_count", (listedCount :> obj), "") + + member WithLocation: location:string option -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "location", (location :> obj), "") + + member WithName: name:string -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "name", (name :> obj), "") + + member WithNotifications: notifications:JsonValue -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "notifications", (notifications :> obj), "") + + member WithProfileBackgroundColor: profileBackgroundColor:JsonProvider+IntOrString -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_background_color", (profileBackgroundColor :> obj), "") + + member WithProfileBackgroundImageUrl: profileBackgroundImageUrl:string -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_background_image_url", (profileBackgroundImageUrl :> obj), "") + + member WithProfileBackgroundImageUrlHttps: profileBackgroundImageUrlHttps:string -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_background_image_url_https", (profileBackgroundImageUrlHttps :> obj), "") + + member WithProfileBackgroundTile: profileBackgroundTile:bool -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_background_tile", (profileBackgroundTile :> obj), "") + + member WithProfileBannerUrl: profileBannerUrl:string option -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_banner_url", (profileBannerUrl :> obj), "") + + member WithProfileImageUrl: profileImageUrl:string -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_image_url", (profileImageUrl :> obj), "") + + member WithProfileImageUrlHttps: profileImageUrlHttps:string -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_image_url_https", (profileImageUrlHttps :> obj), "") + + member WithProfileLinkColor: profileLinkColor:JsonProvider+IntOrString -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_link_color", (profileLinkColor :> obj), "") + + member WithProfileSidebarBorderColor: profileSidebarBorderColor:JsonProvider+IntOrString -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_sidebar_border_color", (profileSidebarBorderColor :> obj), "") + + member WithProfileSidebarFillColor: profileSidebarFillColor:JsonProvider+IntOrString -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_sidebar_fill_color", (profileSidebarFillColor :> obj), "") + + member WithProfileTextColor: profileTextColor:JsonProvider+IntOrString -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_text_color", (profileTextColor :> obj), "") + + member WithProfileUseBackgroundImage: profileUseBackgroundImage:bool -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_use_background_image", (profileUseBackgroundImage :> obj), "") + + member WithProtected: protected:bool -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "protected", (protected :> obj), "") + + member WithScreenName: screenName:string -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "screen_name", (screenName :> obj), "") + + member WithStatusesCount: statusesCount:int -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "statuses_count", (statusesCount :> obj), "") + + member WithTimeZone: timeZone:string option -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "time_zone", (timeZone :> obj), "") + + member WithUrl: url:string option -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "url", (url :> obj), "") + + member WithUtcOffset: utcOffset:int option -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "utc_offset", (utcOffset :> obj), "") + + member WithVerified: verified:bool -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "verified", (verified :> obj), "") + class JsonProvider+UserMention : FDR.BaseTypes.IJsonDocument new : indices:int[] -> screenName:string -> idStr:int -> name:string -> id:int -> JsonProvider+UserMention @@ -1112,6 +1604,21 @@ class JsonProvider+UserMention : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "screen_name") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithId: id:int -> JsonProvider+UserMention + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithIdStr: idStr:int -> JsonProvider+UserMention + JsonRuntime.WithRecordProperty(this, "id_str", (idStr :> obj), "") + + member WithIndices: indices:int[] -> JsonProvider+UserMention + JsonRuntime.WithRecordProperty(this, "indices", (indices :> obj), "") + + member WithName: name:string -> JsonProvider+UserMention + JsonRuntime.WithRecordProperty(this, "name", (name :> obj), "") + + member WithScreenName: screenName:string -> JsonProvider+UserMention + JsonRuntime.WithRecordProperty(this, "screen_name", (screenName :> obj), "") + class JsonProvider+Sizes : FDR.BaseTypes.IJsonDocument new : thumb:JsonProvider+Thumb -> medium:JsonProvider+Thumb -> large:JsonProvider+Thumb -> small:JsonProvider+Thumb -> JsonProvider+Sizes @@ -1139,6 +1646,18 @@ class JsonProvider+Sizes : FDR.BaseTypes.IJsonDocument member Thumb: JsonProvider+Thumb with get JsonRuntime.GetPropertyPacked(this, "thumb") + member WithLarge: large:JsonProvider+Thumb -> JsonProvider+Sizes + JsonRuntime.WithRecordProperty(this, "large", (large :> obj), "") + + member WithMedium: medium:JsonProvider+Thumb -> JsonProvider+Sizes + JsonRuntime.WithRecordProperty(this, "medium", (medium :> obj), "") + + member WithSmall: small:JsonProvider+Thumb -> JsonProvider+Sizes + JsonRuntime.WithRecordProperty(this, "small", (small :> obj), "") + + member WithThumb: thumb:JsonProvider+Thumb -> JsonProvider+Sizes + JsonRuntime.WithRecordProperty(this, "thumb", (thumb :> obj), "") + class JsonProvider+Thumb : FDR.BaseTypes.IJsonDocument new : h:int -> w:int -> resize:string -> JsonProvider+Thumb @@ -1164,4 +1683,13 @@ class JsonProvider+Thumb : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "w") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertInteger("", value.JsonOpt), value.JsonOpt) + member WithH: h:int -> JsonProvider+Thumb + JsonRuntime.WithRecordProperty(this, "h", (h :> obj), "") + + member WithResize: resize:string -> JsonProvider+Thumb + JsonRuntime.WithRecordProperty(this, "resize", (resize :> obj), "") + + member WithW: w:int -> JsonProvider+Thumb + JsonRuntime.WithRecordProperty(this, "w", (w :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,TwitterStream.json,True,,,True,False,ValuesAndInlineSchemasHints,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,TwitterStream.json,True,,,True,False,ValuesAndInlineSchemasHints,.expected index ba06eac44..713910f66 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,TwitterStream.json,True,,,True,False,ValuesAndInlineSchemasHints,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,TwitterStream.json,True,,,True,False,ValuesAndInlineSchemasHints,.expected @@ -155,6 +155,78 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument member User: JsonProvider+User option with get JsonRuntime.TryGetPropertyPacked(this, "user") + member WithContributors: contributors:JsonValue -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "contributors", (contributors :> obj), "") + + member WithCoordinates: coordinates:JsonProvider+Geo option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "coordinates", (coordinates :> obj), "") + + member WithCreatedAt: createdAt:string option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "created_at", (createdAt :> obj), "") + + member WithDelete: delete:JsonProvider+Delete option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "delete", (delete :> obj), "") + + member WithEntities: entities:JsonProvider+Entities option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "entities", (entities :> obj), "") + + member WithFavorited: favorited:bool option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "favorited", (favorited :> obj), "") + + member WithGeo: geo:JsonProvider+Geo option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "geo", (geo :> obj), "") + + member WithId: id:int64 option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithIdStr: idStr:int64 option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "id_str", (idStr :> obj), "") + + member WithInReplyToScreenName: inReplyToScreenName:string option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "in_reply_to_screen_name", (inReplyToScreenName :> obj), "") + + member WithInReplyToStatusId: inReplyToStatusId:int64 option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "in_reply_to_status_id", (inReplyToStatusId :> obj), "") + + member WithInReplyToStatusIdStr: inReplyToStatusIdStr:int64 option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "in_reply_to_status_id_str", (inReplyToStatusIdStr :> obj), "") + + member WithInReplyToUserId: inReplyToUserId:int option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "in_reply_to_user_id", (inReplyToUserId :> obj), "") + + member WithInReplyToUserIdStr: inReplyToUserIdStr:int option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "in_reply_to_user_id_str", (inReplyToUserIdStr :> obj), "") + + member WithPlace: place:JsonProvider+Place option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "place", (place :> obj), "") + + member WithPossiblySensitive: possiblySensitive:bool option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "possibly_sensitive", (possiblySensitive :> obj), "") + + member WithPossiblySensitiveEditable: possiblySensitiveEditable:bool option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "possibly_sensitive_editable", (possiblySensitiveEditable :> obj), "") + + member WithRetweetCount: retweetCount:int option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "retweet_count", (retweetCount :> obj), "") + + member WithRetweeted: retweeted:bool option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "retweeted", (retweeted :> obj), "") + + member WithRetweetedStatus: retweetedStatus:JsonProvider+RetweetedStatus option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "retweeted_status", (retweetedStatus :> obj), "") + + member WithSource: source:string option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "source", (source :> obj), "") + + member WithText: text:string option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "text", (text :> obj), "") + + member WithTruncated: truncated:bool option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "truncated", (truncated :> obj), "") + + member WithUser: user:JsonProvider+User option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "user", (user :> obj), "") + class JsonProvider+Delete : FDR.BaseTypes.IJsonDocument new : status:JsonProvider+Status -> JsonProvider+Delete @@ -167,6 +239,9 @@ class JsonProvider+Delete : FDR.BaseTypes.IJsonDocument member Status: JsonProvider+Status with get JsonRuntime.GetPropertyPacked(this, "status") + member WithStatus: status:JsonProvider+Status -> JsonProvider+Delete + JsonRuntime.WithRecordProperty(this, "status", (status :> obj), "") + class JsonProvider+Entities : FDR.BaseTypes.IJsonDocument new : userMentions:JsonProvider+JsonProvider+UserMention[] -> hashtags:JsonProvider+JsonProvider+Hashtag[] -> urls:JsonProvider+JsonProvider+Url[] -> media:JsonProvider+JsonProvider+Media[] -> JsonProvider+Entities @@ -194,6 +269,18 @@ class JsonProvider+Entities : FDR.BaseTypes.IJsonDocument member UserMentions: JsonProvider+JsonProvider+UserMention[] with get JsonRuntime.ConvertArray(JsonRuntime.GetPropertyPackedOrNull(this, "user_mentions"), new Func<_,_>(id))) + member WithHashtags: hashtags:JsonProvider+JsonProvider+Hashtag[] -> JsonProvider+Entities + JsonRuntime.WithRecordProperty(this, "hashtags", (hashtags :> obj), "") + + member WithMedia: media:JsonProvider+JsonProvider+Media[] -> JsonProvider+Entities + JsonRuntime.WithRecordProperty(this, "media", (media :> obj), "") + + member WithUrls: urls:JsonProvider+JsonProvider+Url[] -> JsonProvider+Entities + JsonRuntime.WithRecordProperty(this, "urls", (urls :> obj), "") + + member WithUserMentions: userMentions:JsonProvider+JsonProvider+UserMention[] -> JsonProvider+Entities + JsonRuntime.WithRecordProperty(this, "user_mentions", (userMentions :> obj), "") + class JsonProvider+Geo : FDR.BaseTypes.IJsonDocument new : type:string -> coordinates:decimal[] -> JsonProvider+Geo @@ -212,6 +299,12 @@ class JsonProvider+Geo : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "type") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithCoordinates: coordinates:decimal[] -> JsonProvider+Geo + JsonRuntime.WithRecordProperty(this, "coordinates", (coordinates :> obj), "") + + member WithType: type:string -> JsonProvider+Geo + JsonRuntime.WithRecordProperty(this, "type", (type :> obj), "") + class JsonProvider+Place : FDR.BaseTypes.IJsonDocument new : countryCode:string -> attributes:JsonProvider+Attributes -> fullName:string -> placeType:string -> name:string -> country:string -> id:string -> url:string -> boundingBox:JsonProvider+BoundingBox -> JsonProvider+Place @@ -271,6 +364,33 @@ class JsonProvider+Place : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "url") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithAttributes: attributes:JsonProvider+Attributes -> JsonProvider+Place + JsonRuntime.WithRecordProperty(this, "attributes", (attributes :> obj), "") + + member WithBoundingBox: boundingBox:JsonProvider+BoundingBox -> JsonProvider+Place + JsonRuntime.WithRecordProperty(this, "bounding_box", (boundingBox :> obj), "") + + member WithCountry: country:string -> JsonProvider+Place + JsonRuntime.WithRecordProperty(this, "country", (country :> obj), "") + + member WithCountryCode: countryCode:string -> JsonProvider+Place + JsonRuntime.WithRecordProperty(this, "country_code", (countryCode :> obj), "") + + member WithFullName: fullName:string -> JsonProvider+Place + JsonRuntime.WithRecordProperty(this, "full_name", (fullName :> obj), "") + + member WithId: id:string -> JsonProvider+Place + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithName: name:string -> JsonProvider+Place + JsonRuntime.WithRecordProperty(this, "name", (name :> obj), "") + + member WithPlaceType: placeType:string -> JsonProvider+Place + JsonRuntime.WithRecordProperty(this, "place_type", (placeType :> obj), "") + + member WithUrl: url:string -> JsonProvider+Place + JsonRuntime.WithRecordProperty(this, "url", (url :> obj), "") + class JsonProvider+RetweetedStatus : FDR.BaseTypes.IJsonDocument new : inReplyToStatusIdStr:int64 option -> text:string -> inReplyToUserIdStr:int option -> retweetCount:int -> geo:JsonValue -> source:string -> retweeted:bool -> truncated:bool -> idStr:int64 -> entities:JsonProvider+Entities2 -> inReplyToUserId:int option -> inReplyToStatusId:int64 option -> place:JsonValue -> coordinates:JsonValue -> inReplyToScreenName:string option -> createdAt:string -> user:JsonProvider+User2 -> id:int64 -> contributors:JsonValue -> favorited:bool -> possiblySensitive:bool option -> possiblySensitiveEditable:bool option -> JsonProvider+RetweetedStatus @@ -397,6 +517,72 @@ class JsonProvider+RetweetedStatus : FDR.BaseTypes.IJsonDocument member User: JsonProvider+User2 with get JsonRuntime.GetPropertyPacked(this, "user") + member WithContributors: contributors:JsonValue -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "contributors", (contributors :> obj), "") + + member WithCoordinates: coordinates:JsonValue -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "coordinates", (coordinates :> obj), "") + + member WithCreatedAt: createdAt:string -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "created_at", (createdAt :> obj), "") + + member WithEntities: entities:JsonProvider+Entities2 -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "entities", (entities :> obj), "") + + member WithFavorited: favorited:bool -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "favorited", (favorited :> obj), "") + + member WithGeo: geo:JsonValue -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "geo", (geo :> obj), "") + + member WithId: id:int64 -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithIdStr: idStr:int64 -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "id_str", (idStr :> obj), "") + + member WithInReplyToScreenName: inReplyToScreenName:string option -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "in_reply_to_screen_name", (inReplyToScreenName :> obj), "") + + member WithInReplyToStatusId: inReplyToStatusId:int64 option -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "in_reply_to_status_id", (inReplyToStatusId :> obj), "") + + member WithInReplyToStatusIdStr: inReplyToStatusIdStr:int64 option -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "in_reply_to_status_id_str", (inReplyToStatusIdStr :> obj), "") + + member WithInReplyToUserId: inReplyToUserId:int option -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "in_reply_to_user_id", (inReplyToUserId :> obj), "") + + member WithInReplyToUserIdStr: inReplyToUserIdStr:int option -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "in_reply_to_user_id_str", (inReplyToUserIdStr :> obj), "") + + member WithPlace: place:JsonValue -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "place", (place :> obj), "") + + member WithPossiblySensitive: possiblySensitive:bool option -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "possibly_sensitive", (possiblySensitive :> obj), "") + + member WithPossiblySensitiveEditable: possiblySensitiveEditable:bool option -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "possibly_sensitive_editable", (possiblySensitiveEditable :> obj), "") + + member WithRetweetCount: retweetCount:int -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "retweet_count", (retweetCount :> obj), "") + + member WithRetweeted: retweeted:bool -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "retweeted", (retweeted :> obj), "") + + member WithSource: source:string -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "source", (source :> obj), "") + + member WithText: text:string -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "text", (text :> obj), "") + + member WithTruncated: truncated:bool -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "truncated", (truncated :> obj), "") + + member WithUser: user:JsonProvider+User2 -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "user", (user :> obj), "") + class JsonProvider+User : FDR.BaseTypes.IJsonDocument new : notifications:JsonValue -> contributorsEnabled:bool -> timeZone:string option -> profileBackgroundColor:JsonProvider+IntOrString -> location:JsonProvider+IntOrString -> profileBackgroundTile:bool -> profileImageUrlHttps:string -> defaultProfileImage:bool -> followRequestSent:JsonValue -> profileSidebarFillColor:JsonProvider+IntOrString -> description:string option -> profileBannerUrl:string option -> favouritesCount:int -> screenName:string -> profileSidebarBorderColor:JsonProvider+FloatOrString -> idStr:int -> verified:bool -> lang:string -> statusesCount:int -> profileUseBackgroundImage:bool -> protected:bool -> profileImageUrl:string -> listedCount:int -> geoEnabled:bool -> createdAt:string -> profileTextColor:JsonProvider+FloatOrString -> name:string -> profileBackgroundImageUrl:string -> friendsCount:int -> url:string option -> id:int -> isTranslator:bool -> defaultProfile:bool -> following:JsonValue -> profileBackgroundImageUrlHttps:string -> utcOffset:int option -> profileLinkColor:JsonProvider+IntOrString -> followersCount:int -> JsonProvider+User @@ -618,6 +804,120 @@ class JsonProvider+User : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "verified") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertBoolean(value.JsonOpt), value.JsonOpt) + member WithContributorsEnabled: contributorsEnabled:bool -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "contributors_enabled", (contributorsEnabled :> obj), "") + + member WithCreatedAt: createdAt:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "created_at", (createdAt :> obj), "") + + member WithDefaultProfile: defaultProfile:bool -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "default_profile", (defaultProfile :> obj), "") + + member WithDefaultProfileImage: defaultProfileImage:bool -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "default_profile_image", (defaultProfileImage :> obj), "") + + member WithDescription: description:string option -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "description", (description :> obj), "") + + member WithFavouritesCount: favouritesCount:int -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "favourites_count", (favouritesCount :> obj), "") + + member WithFollowRequestSent: followRequestSent:JsonValue -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "follow_request_sent", (followRequestSent :> obj), "") + + member WithFollowersCount: followersCount:int -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "followers_count", (followersCount :> obj), "") + + member WithFollowing: following:JsonValue -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "following", (following :> obj), "") + + member WithFriendsCount: friendsCount:int -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "friends_count", (friendsCount :> obj), "") + + member WithGeoEnabled: geoEnabled:bool -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "geo_enabled", (geoEnabled :> obj), "") + + member WithId: id:int -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithIdStr: idStr:int -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "id_str", (idStr :> obj), "") + + member WithIsTranslator: isTranslator:bool -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "is_translator", (isTranslator :> obj), "") + + member WithLang: lang:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "lang", (lang :> obj), "") + + member WithListedCount: listedCount:int -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "listed_count", (listedCount :> obj), "") + + member WithLocation: location:JsonProvider+IntOrString -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "location", (location :> obj), "") + + member WithName: name:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "name", (name :> obj), "") + + member WithNotifications: notifications:JsonValue -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "notifications", (notifications :> obj), "") + + member WithProfileBackgroundColor: profileBackgroundColor:JsonProvider+IntOrString -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_background_color", (profileBackgroundColor :> obj), "") + + member WithProfileBackgroundImageUrl: profileBackgroundImageUrl:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_background_image_url", (profileBackgroundImageUrl :> obj), "") + + member WithProfileBackgroundImageUrlHttps: profileBackgroundImageUrlHttps:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_background_image_url_https", (profileBackgroundImageUrlHttps :> obj), "") + + member WithProfileBackgroundTile: profileBackgroundTile:bool -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_background_tile", (profileBackgroundTile :> obj), "") + + member WithProfileBannerUrl: profileBannerUrl:string option -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_banner_url", (profileBannerUrl :> obj), "") + + member WithProfileImageUrl: profileImageUrl:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_image_url", (profileImageUrl :> obj), "") + + member WithProfileImageUrlHttps: profileImageUrlHttps:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_image_url_https", (profileImageUrlHttps :> obj), "") + + member WithProfileLinkColor: profileLinkColor:JsonProvider+IntOrString -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_link_color", (profileLinkColor :> obj), "") + + member WithProfileSidebarBorderColor: profileSidebarBorderColor:JsonProvider+FloatOrString -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_sidebar_border_color", (profileSidebarBorderColor :> obj), "") + + member WithProfileSidebarFillColor: profileSidebarFillColor:JsonProvider+IntOrString -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_sidebar_fill_color", (profileSidebarFillColor :> obj), "") + + member WithProfileTextColor: profileTextColor:JsonProvider+FloatOrString -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_text_color", (profileTextColor :> obj), "") + + member WithProfileUseBackgroundImage: profileUseBackgroundImage:bool -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_use_background_image", (profileUseBackgroundImage :> obj), "") + + member WithProtected: protected:bool -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "protected", (protected :> obj), "") + + member WithScreenName: screenName:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "screen_name", (screenName :> obj), "") + + member WithStatusesCount: statusesCount:int -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "statuses_count", (statusesCount :> obj), "") + + member WithTimeZone: timeZone:string option -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "time_zone", (timeZone :> obj), "") + + member WithUrl: url:string option -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "url", (url :> obj), "") + + member WithUtcOffset: utcOffset:int option -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "utc_offset", (utcOffset :> obj), "") + + member WithVerified: verified:bool -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "verified", (verified :> obj), "") + class JsonProvider+Attributes : FDR.BaseTypes.IJsonDocument new : () -> JsonProvider+Attributes @@ -644,6 +944,12 @@ class JsonProvider+BoundingBox : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "type") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithCoordinates: coordinates:decimal[][][] -> JsonProvider+BoundingBox + JsonRuntime.WithRecordProperty(this, "coordinates", (coordinates :> obj), "") + + member WithType: type:string -> JsonProvider+BoundingBox + JsonRuntime.WithRecordProperty(this, "type", (type :> obj), "") + class JsonProvider+Entities2 : FDR.BaseTypes.IJsonDocument new : userMentions:JsonProvider+JsonProvider+UserMention[] -> hashtags:JsonProvider+JsonProvider+Hashtag[] -> urls:JsonProvider+JsonProvider+Url[] -> media:JsonProvider+JsonProvider+Media[] -> JsonProvider+Entities2 @@ -671,6 +977,18 @@ class JsonProvider+Entities2 : FDR.BaseTypes.IJsonDocument member UserMentions: JsonProvider+JsonProvider+UserMention[] with get JsonRuntime.ConvertArray(JsonRuntime.GetPropertyPackedOrNull(this, "user_mentions"), new Func<_,_>(id))) + member WithHashtags: hashtags:JsonProvider+JsonProvider+Hashtag[] -> JsonProvider+Entities2 + JsonRuntime.WithRecordProperty(this, "hashtags", (hashtags :> obj), "") + + member WithMedia: media:JsonProvider+JsonProvider+Media[] -> JsonProvider+Entities2 + JsonRuntime.WithRecordProperty(this, "media", (media :> obj), "") + + member WithUrls: urls:JsonProvider+JsonProvider+Url[] -> JsonProvider+Entities2 + JsonRuntime.WithRecordProperty(this, "urls", (urls :> obj), "") + + member WithUserMentions: userMentions:JsonProvider+JsonProvider+UserMention[] -> JsonProvider+Entities2 + JsonRuntime.WithRecordProperty(this, "user_mentions", (userMentions :> obj), "") + class JsonProvider+FloatOrString : FDR.BaseTypes.IJsonDocument new : number:float -> JsonProvider+FloatOrString @@ -709,6 +1027,12 @@ class JsonProvider+Hashtag : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "text") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithIndices: indices:int[] -> JsonProvider+Hashtag + JsonRuntime.WithRecordProperty(this, "indices", (indices :> obj), "") + + member WithText: text:string -> JsonProvider+Hashtag + JsonRuntime.WithRecordProperty(this, "text", (text :> obj), "") + class JsonProvider+IntOrString : FDR.BaseTypes.IJsonDocument new : number:int -> JsonProvider+IntOrString @@ -794,6 +1118,36 @@ class JsonProvider+Media : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "url") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithDisplayUrl: displayUrl:string -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "display_url", (displayUrl :> obj), "") + + member WithExpandedUrl: expandedUrl:string -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "expanded_url", (expandedUrl :> obj), "") + + member WithId: id:int64 -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithIdStr: idStr:int64 -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "id_str", (idStr :> obj), "") + + member WithIndices: indices:int[] -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "indices", (indices :> obj), "") + + member WithMediaUrl: mediaUrl:string -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "media_url", (mediaUrl :> obj), "") + + member WithMediaUrlHttps: mediaUrlHttps:string -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "media_url_https", (mediaUrlHttps :> obj), "") + + member WithSizes: sizes:JsonProvider+Sizes -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "sizes", (sizes :> obj), "") + + member WithType: type:string -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "type", (type :> obj), "") + + member WithUrl: url:string -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "url", (url :> obj), "") + class JsonProvider+Status : FDR.BaseTypes.IJsonDocument new : userIdStr:int -> idStr:int64 -> id:int64 -> userId:int -> JsonProvider+Status @@ -825,6 +1179,18 @@ class JsonProvider+Status : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "user_id_str") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertInteger("", value.JsonOpt), value.JsonOpt) + member WithId: id:int64 -> JsonProvider+Status + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithIdStr: idStr:int64 -> JsonProvider+Status + JsonRuntime.WithRecordProperty(this, "id_str", (idStr :> obj), "") + + member WithUserId: userId:int -> JsonProvider+Status + JsonRuntime.WithRecordProperty(this, "user_id", (userId :> obj), "") + + member WithUserIdStr: userIdStr:int -> JsonProvider+Status + JsonRuntime.WithRecordProperty(this, "user_id_str", (userIdStr :> obj), "") + class JsonProvider+Url : FDR.BaseTypes.IJsonDocument new : expandedUrl:string -> indices:int[] -> displayUrl:string -> url:string -> JsonProvider+Url @@ -855,6 +1221,18 @@ class JsonProvider+Url : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "url") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithDisplayUrl: displayUrl:string -> JsonProvider+Url + JsonRuntime.WithRecordProperty(this, "display_url", (displayUrl :> obj), "") + + member WithExpandedUrl: expandedUrl:string -> JsonProvider+Url + JsonRuntime.WithRecordProperty(this, "expanded_url", (expandedUrl :> obj), "") + + member WithIndices: indices:int[] -> JsonProvider+Url + JsonRuntime.WithRecordProperty(this, "indices", (indices :> obj), "") + + member WithUrl: url:string -> JsonProvider+Url + JsonRuntime.WithRecordProperty(this, "url", (url :> obj), "") + class JsonProvider+User2 : FDR.BaseTypes.IJsonDocument new : notifications:JsonValue -> contributorsEnabled:bool -> timeZone:string option -> profileBackgroundColor:JsonProvider+IntOrString -> location:string option -> profileBackgroundTile:bool -> profileImageUrlHttps:string -> defaultProfileImage:bool -> followRequestSent:JsonValue -> profileSidebarFillColor:JsonProvider+IntOrString -> description:string option -> favouritesCount:int -> screenName:string -> profileSidebarBorderColor:JsonProvider+IntOrString -> idStr:int -> verified:bool -> lang:string -> statusesCount:int -> profileUseBackgroundImage:bool -> protected:bool -> profileImageUrl:string -> listedCount:int -> geoEnabled:bool -> createdAt:string -> profileTextColor:JsonProvider+IntOrString -> name:string -> profileBackgroundImageUrl:string -> friendsCount:int -> url:string option -> id:int -> isTranslator:bool -> defaultProfile:bool -> following:JsonValue -> profileBackgroundImageUrlHttps:string -> utcOffset:int option -> profileLinkColor:JsonProvider+IntOrString -> followersCount:int -> profileBannerUrl:string option -> JsonProvider+User2 @@ -1076,6 +1454,120 @@ class JsonProvider+User2 : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "verified") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertBoolean(value.JsonOpt), value.JsonOpt) + member WithContributorsEnabled: contributorsEnabled:bool -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "contributors_enabled", (contributorsEnabled :> obj), "") + + member WithCreatedAt: createdAt:string -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "created_at", (createdAt :> obj), "") + + member WithDefaultProfile: defaultProfile:bool -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "default_profile", (defaultProfile :> obj), "") + + member WithDefaultProfileImage: defaultProfileImage:bool -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "default_profile_image", (defaultProfileImage :> obj), "") + + member WithDescription: description:string option -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "description", (description :> obj), "") + + member WithFavouritesCount: favouritesCount:int -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "favourites_count", (favouritesCount :> obj), "") + + member WithFollowRequestSent: followRequestSent:JsonValue -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "follow_request_sent", (followRequestSent :> obj), "") + + member WithFollowersCount: followersCount:int -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "followers_count", (followersCount :> obj), "") + + member WithFollowing: following:JsonValue -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "following", (following :> obj), "") + + member WithFriendsCount: friendsCount:int -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "friends_count", (friendsCount :> obj), "") + + member WithGeoEnabled: geoEnabled:bool -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "geo_enabled", (geoEnabled :> obj), "") + + member WithId: id:int -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithIdStr: idStr:int -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "id_str", (idStr :> obj), "") + + member WithIsTranslator: isTranslator:bool -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "is_translator", (isTranslator :> obj), "") + + member WithLang: lang:string -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "lang", (lang :> obj), "") + + member WithListedCount: listedCount:int -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "listed_count", (listedCount :> obj), "") + + member WithLocation: location:string option -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "location", (location :> obj), "") + + member WithName: name:string -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "name", (name :> obj), "") + + member WithNotifications: notifications:JsonValue -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "notifications", (notifications :> obj), "") + + member WithProfileBackgroundColor: profileBackgroundColor:JsonProvider+IntOrString -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_background_color", (profileBackgroundColor :> obj), "") + + member WithProfileBackgroundImageUrl: profileBackgroundImageUrl:string -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_background_image_url", (profileBackgroundImageUrl :> obj), "") + + member WithProfileBackgroundImageUrlHttps: profileBackgroundImageUrlHttps:string -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_background_image_url_https", (profileBackgroundImageUrlHttps :> obj), "") + + member WithProfileBackgroundTile: profileBackgroundTile:bool -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_background_tile", (profileBackgroundTile :> obj), "") + + member WithProfileBannerUrl: profileBannerUrl:string option -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_banner_url", (profileBannerUrl :> obj), "") + + member WithProfileImageUrl: profileImageUrl:string -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_image_url", (profileImageUrl :> obj), "") + + member WithProfileImageUrlHttps: profileImageUrlHttps:string -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_image_url_https", (profileImageUrlHttps :> obj), "") + + member WithProfileLinkColor: profileLinkColor:JsonProvider+IntOrString -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_link_color", (profileLinkColor :> obj), "") + + member WithProfileSidebarBorderColor: profileSidebarBorderColor:JsonProvider+IntOrString -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_sidebar_border_color", (profileSidebarBorderColor :> obj), "") + + member WithProfileSidebarFillColor: profileSidebarFillColor:JsonProvider+IntOrString -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_sidebar_fill_color", (profileSidebarFillColor :> obj), "") + + member WithProfileTextColor: profileTextColor:JsonProvider+IntOrString -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_text_color", (profileTextColor :> obj), "") + + member WithProfileUseBackgroundImage: profileUseBackgroundImage:bool -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_use_background_image", (profileUseBackgroundImage :> obj), "") + + member WithProtected: protected:bool -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "protected", (protected :> obj), "") + + member WithScreenName: screenName:string -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "screen_name", (screenName :> obj), "") + + member WithStatusesCount: statusesCount:int -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "statuses_count", (statusesCount :> obj), "") + + member WithTimeZone: timeZone:string option -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "time_zone", (timeZone :> obj), "") + + member WithUrl: url:string option -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "url", (url :> obj), "") + + member WithUtcOffset: utcOffset:int option -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "utc_offset", (utcOffset :> obj), "") + + member WithVerified: verified:bool -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "verified", (verified :> obj), "") + class JsonProvider+UserMention : FDR.BaseTypes.IJsonDocument new : indices:int[] -> screenName:string -> idStr:int -> name:string -> id:int -> JsonProvider+UserMention @@ -1112,6 +1604,21 @@ class JsonProvider+UserMention : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "screen_name") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithId: id:int -> JsonProvider+UserMention + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithIdStr: idStr:int -> JsonProvider+UserMention + JsonRuntime.WithRecordProperty(this, "id_str", (idStr :> obj), "") + + member WithIndices: indices:int[] -> JsonProvider+UserMention + JsonRuntime.WithRecordProperty(this, "indices", (indices :> obj), "") + + member WithName: name:string -> JsonProvider+UserMention + JsonRuntime.WithRecordProperty(this, "name", (name :> obj), "") + + member WithScreenName: screenName:string -> JsonProvider+UserMention + JsonRuntime.WithRecordProperty(this, "screen_name", (screenName :> obj), "") + class JsonProvider+Sizes : FDR.BaseTypes.IJsonDocument new : thumb:JsonProvider+Thumb -> medium:JsonProvider+Thumb -> large:JsonProvider+Thumb -> small:JsonProvider+Thumb -> JsonProvider+Sizes @@ -1139,6 +1646,18 @@ class JsonProvider+Sizes : FDR.BaseTypes.IJsonDocument member Thumb: JsonProvider+Thumb with get JsonRuntime.GetPropertyPacked(this, "thumb") + member WithLarge: large:JsonProvider+Thumb -> JsonProvider+Sizes + JsonRuntime.WithRecordProperty(this, "large", (large :> obj), "") + + member WithMedium: medium:JsonProvider+Thumb -> JsonProvider+Sizes + JsonRuntime.WithRecordProperty(this, "medium", (medium :> obj), "") + + member WithSmall: small:JsonProvider+Thumb -> JsonProvider+Sizes + JsonRuntime.WithRecordProperty(this, "small", (small :> obj), "") + + member WithThumb: thumb:JsonProvider+Thumb -> JsonProvider+Sizes + JsonRuntime.WithRecordProperty(this, "thumb", (thumb :> obj), "") + class JsonProvider+Thumb : FDR.BaseTypes.IJsonDocument new : h:int -> w:int -> resize:string -> JsonProvider+Thumb @@ -1164,4 +1683,13 @@ class JsonProvider+Thumb : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "w") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertInteger("", value.JsonOpt), value.JsonOpt) + member WithH: h:int -> JsonProvider+Thumb + JsonRuntime.WithRecordProperty(this, "h", (h :> obj), "") + + member WithResize: resize:string -> JsonProvider+Thumb + JsonRuntime.WithRecordProperty(this, "resize", (resize :> obj), "") + + member WithW: w:int -> JsonProvider+Thumb + JsonRuntime.WithRecordProperty(this, "w", (w :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,TwitterStream.json,True,,,True,False,ValuesAndInlineSchemasOverrides,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,TwitterStream.json,True,,,True,False,ValuesAndInlineSchemasOverrides,.expected index ba06eac44..713910f66 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,TwitterStream.json,True,,,True,False,ValuesAndInlineSchemasOverrides,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,TwitterStream.json,True,,,True,False,ValuesAndInlineSchemasOverrides,.expected @@ -155,6 +155,78 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument member User: JsonProvider+User option with get JsonRuntime.TryGetPropertyPacked(this, "user") + member WithContributors: contributors:JsonValue -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "contributors", (contributors :> obj), "") + + member WithCoordinates: coordinates:JsonProvider+Geo option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "coordinates", (coordinates :> obj), "") + + member WithCreatedAt: createdAt:string option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "created_at", (createdAt :> obj), "") + + member WithDelete: delete:JsonProvider+Delete option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "delete", (delete :> obj), "") + + member WithEntities: entities:JsonProvider+Entities option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "entities", (entities :> obj), "") + + member WithFavorited: favorited:bool option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "favorited", (favorited :> obj), "") + + member WithGeo: geo:JsonProvider+Geo option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "geo", (geo :> obj), "") + + member WithId: id:int64 option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithIdStr: idStr:int64 option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "id_str", (idStr :> obj), "") + + member WithInReplyToScreenName: inReplyToScreenName:string option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "in_reply_to_screen_name", (inReplyToScreenName :> obj), "") + + member WithInReplyToStatusId: inReplyToStatusId:int64 option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "in_reply_to_status_id", (inReplyToStatusId :> obj), "") + + member WithInReplyToStatusIdStr: inReplyToStatusIdStr:int64 option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "in_reply_to_status_id_str", (inReplyToStatusIdStr :> obj), "") + + member WithInReplyToUserId: inReplyToUserId:int option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "in_reply_to_user_id", (inReplyToUserId :> obj), "") + + member WithInReplyToUserIdStr: inReplyToUserIdStr:int option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "in_reply_to_user_id_str", (inReplyToUserIdStr :> obj), "") + + member WithPlace: place:JsonProvider+Place option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "place", (place :> obj), "") + + member WithPossiblySensitive: possiblySensitive:bool option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "possibly_sensitive", (possiblySensitive :> obj), "") + + member WithPossiblySensitiveEditable: possiblySensitiveEditable:bool option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "possibly_sensitive_editable", (possiblySensitiveEditable :> obj), "") + + member WithRetweetCount: retweetCount:int option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "retweet_count", (retweetCount :> obj), "") + + member WithRetweeted: retweeted:bool option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "retweeted", (retweeted :> obj), "") + + member WithRetweetedStatus: retweetedStatus:JsonProvider+RetweetedStatus option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "retweeted_status", (retweetedStatus :> obj), "") + + member WithSource: source:string option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "source", (source :> obj), "") + + member WithText: text:string option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "text", (text :> obj), "") + + member WithTruncated: truncated:bool option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "truncated", (truncated :> obj), "") + + member WithUser: user:JsonProvider+User option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "user", (user :> obj), "") + class JsonProvider+Delete : FDR.BaseTypes.IJsonDocument new : status:JsonProvider+Status -> JsonProvider+Delete @@ -167,6 +239,9 @@ class JsonProvider+Delete : FDR.BaseTypes.IJsonDocument member Status: JsonProvider+Status with get JsonRuntime.GetPropertyPacked(this, "status") + member WithStatus: status:JsonProvider+Status -> JsonProvider+Delete + JsonRuntime.WithRecordProperty(this, "status", (status :> obj), "") + class JsonProvider+Entities : FDR.BaseTypes.IJsonDocument new : userMentions:JsonProvider+JsonProvider+UserMention[] -> hashtags:JsonProvider+JsonProvider+Hashtag[] -> urls:JsonProvider+JsonProvider+Url[] -> media:JsonProvider+JsonProvider+Media[] -> JsonProvider+Entities @@ -194,6 +269,18 @@ class JsonProvider+Entities : FDR.BaseTypes.IJsonDocument member UserMentions: JsonProvider+JsonProvider+UserMention[] with get JsonRuntime.ConvertArray(JsonRuntime.GetPropertyPackedOrNull(this, "user_mentions"), new Func<_,_>(id))) + member WithHashtags: hashtags:JsonProvider+JsonProvider+Hashtag[] -> JsonProvider+Entities + JsonRuntime.WithRecordProperty(this, "hashtags", (hashtags :> obj), "") + + member WithMedia: media:JsonProvider+JsonProvider+Media[] -> JsonProvider+Entities + JsonRuntime.WithRecordProperty(this, "media", (media :> obj), "") + + member WithUrls: urls:JsonProvider+JsonProvider+Url[] -> JsonProvider+Entities + JsonRuntime.WithRecordProperty(this, "urls", (urls :> obj), "") + + member WithUserMentions: userMentions:JsonProvider+JsonProvider+UserMention[] -> JsonProvider+Entities + JsonRuntime.WithRecordProperty(this, "user_mentions", (userMentions :> obj), "") + class JsonProvider+Geo : FDR.BaseTypes.IJsonDocument new : type:string -> coordinates:decimal[] -> JsonProvider+Geo @@ -212,6 +299,12 @@ class JsonProvider+Geo : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "type") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithCoordinates: coordinates:decimal[] -> JsonProvider+Geo + JsonRuntime.WithRecordProperty(this, "coordinates", (coordinates :> obj), "") + + member WithType: type:string -> JsonProvider+Geo + JsonRuntime.WithRecordProperty(this, "type", (type :> obj), "") + class JsonProvider+Place : FDR.BaseTypes.IJsonDocument new : countryCode:string -> attributes:JsonProvider+Attributes -> fullName:string -> placeType:string -> name:string -> country:string -> id:string -> url:string -> boundingBox:JsonProvider+BoundingBox -> JsonProvider+Place @@ -271,6 +364,33 @@ class JsonProvider+Place : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "url") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithAttributes: attributes:JsonProvider+Attributes -> JsonProvider+Place + JsonRuntime.WithRecordProperty(this, "attributes", (attributes :> obj), "") + + member WithBoundingBox: boundingBox:JsonProvider+BoundingBox -> JsonProvider+Place + JsonRuntime.WithRecordProperty(this, "bounding_box", (boundingBox :> obj), "") + + member WithCountry: country:string -> JsonProvider+Place + JsonRuntime.WithRecordProperty(this, "country", (country :> obj), "") + + member WithCountryCode: countryCode:string -> JsonProvider+Place + JsonRuntime.WithRecordProperty(this, "country_code", (countryCode :> obj), "") + + member WithFullName: fullName:string -> JsonProvider+Place + JsonRuntime.WithRecordProperty(this, "full_name", (fullName :> obj), "") + + member WithId: id:string -> JsonProvider+Place + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithName: name:string -> JsonProvider+Place + JsonRuntime.WithRecordProperty(this, "name", (name :> obj), "") + + member WithPlaceType: placeType:string -> JsonProvider+Place + JsonRuntime.WithRecordProperty(this, "place_type", (placeType :> obj), "") + + member WithUrl: url:string -> JsonProvider+Place + JsonRuntime.WithRecordProperty(this, "url", (url :> obj), "") + class JsonProvider+RetweetedStatus : FDR.BaseTypes.IJsonDocument new : inReplyToStatusIdStr:int64 option -> text:string -> inReplyToUserIdStr:int option -> retweetCount:int -> geo:JsonValue -> source:string -> retweeted:bool -> truncated:bool -> idStr:int64 -> entities:JsonProvider+Entities2 -> inReplyToUserId:int option -> inReplyToStatusId:int64 option -> place:JsonValue -> coordinates:JsonValue -> inReplyToScreenName:string option -> createdAt:string -> user:JsonProvider+User2 -> id:int64 -> contributors:JsonValue -> favorited:bool -> possiblySensitive:bool option -> possiblySensitiveEditable:bool option -> JsonProvider+RetweetedStatus @@ -397,6 +517,72 @@ class JsonProvider+RetweetedStatus : FDR.BaseTypes.IJsonDocument member User: JsonProvider+User2 with get JsonRuntime.GetPropertyPacked(this, "user") + member WithContributors: contributors:JsonValue -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "contributors", (contributors :> obj), "") + + member WithCoordinates: coordinates:JsonValue -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "coordinates", (coordinates :> obj), "") + + member WithCreatedAt: createdAt:string -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "created_at", (createdAt :> obj), "") + + member WithEntities: entities:JsonProvider+Entities2 -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "entities", (entities :> obj), "") + + member WithFavorited: favorited:bool -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "favorited", (favorited :> obj), "") + + member WithGeo: geo:JsonValue -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "geo", (geo :> obj), "") + + member WithId: id:int64 -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithIdStr: idStr:int64 -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "id_str", (idStr :> obj), "") + + member WithInReplyToScreenName: inReplyToScreenName:string option -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "in_reply_to_screen_name", (inReplyToScreenName :> obj), "") + + member WithInReplyToStatusId: inReplyToStatusId:int64 option -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "in_reply_to_status_id", (inReplyToStatusId :> obj), "") + + member WithInReplyToStatusIdStr: inReplyToStatusIdStr:int64 option -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "in_reply_to_status_id_str", (inReplyToStatusIdStr :> obj), "") + + member WithInReplyToUserId: inReplyToUserId:int option -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "in_reply_to_user_id", (inReplyToUserId :> obj), "") + + member WithInReplyToUserIdStr: inReplyToUserIdStr:int option -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "in_reply_to_user_id_str", (inReplyToUserIdStr :> obj), "") + + member WithPlace: place:JsonValue -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "place", (place :> obj), "") + + member WithPossiblySensitive: possiblySensitive:bool option -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "possibly_sensitive", (possiblySensitive :> obj), "") + + member WithPossiblySensitiveEditable: possiblySensitiveEditable:bool option -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "possibly_sensitive_editable", (possiblySensitiveEditable :> obj), "") + + member WithRetweetCount: retweetCount:int -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "retweet_count", (retweetCount :> obj), "") + + member WithRetweeted: retweeted:bool -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "retweeted", (retweeted :> obj), "") + + member WithSource: source:string -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "source", (source :> obj), "") + + member WithText: text:string -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "text", (text :> obj), "") + + member WithTruncated: truncated:bool -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "truncated", (truncated :> obj), "") + + member WithUser: user:JsonProvider+User2 -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "user", (user :> obj), "") + class JsonProvider+User : FDR.BaseTypes.IJsonDocument new : notifications:JsonValue -> contributorsEnabled:bool -> timeZone:string option -> profileBackgroundColor:JsonProvider+IntOrString -> location:JsonProvider+IntOrString -> profileBackgroundTile:bool -> profileImageUrlHttps:string -> defaultProfileImage:bool -> followRequestSent:JsonValue -> profileSidebarFillColor:JsonProvider+IntOrString -> description:string option -> profileBannerUrl:string option -> favouritesCount:int -> screenName:string -> profileSidebarBorderColor:JsonProvider+FloatOrString -> idStr:int -> verified:bool -> lang:string -> statusesCount:int -> profileUseBackgroundImage:bool -> protected:bool -> profileImageUrl:string -> listedCount:int -> geoEnabled:bool -> createdAt:string -> profileTextColor:JsonProvider+FloatOrString -> name:string -> profileBackgroundImageUrl:string -> friendsCount:int -> url:string option -> id:int -> isTranslator:bool -> defaultProfile:bool -> following:JsonValue -> profileBackgroundImageUrlHttps:string -> utcOffset:int option -> profileLinkColor:JsonProvider+IntOrString -> followersCount:int -> JsonProvider+User @@ -618,6 +804,120 @@ class JsonProvider+User : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "verified") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertBoolean(value.JsonOpt), value.JsonOpt) + member WithContributorsEnabled: contributorsEnabled:bool -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "contributors_enabled", (contributorsEnabled :> obj), "") + + member WithCreatedAt: createdAt:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "created_at", (createdAt :> obj), "") + + member WithDefaultProfile: defaultProfile:bool -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "default_profile", (defaultProfile :> obj), "") + + member WithDefaultProfileImage: defaultProfileImage:bool -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "default_profile_image", (defaultProfileImage :> obj), "") + + member WithDescription: description:string option -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "description", (description :> obj), "") + + member WithFavouritesCount: favouritesCount:int -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "favourites_count", (favouritesCount :> obj), "") + + member WithFollowRequestSent: followRequestSent:JsonValue -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "follow_request_sent", (followRequestSent :> obj), "") + + member WithFollowersCount: followersCount:int -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "followers_count", (followersCount :> obj), "") + + member WithFollowing: following:JsonValue -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "following", (following :> obj), "") + + member WithFriendsCount: friendsCount:int -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "friends_count", (friendsCount :> obj), "") + + member WithGeoEnabled: geoEnabled:bool -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "geo_enabled", (geoEnabled :> obj), "") + + member WithId: id:int -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithIdStr: idStr:int -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "id_str", (idStr :> obj), "") + + member WithIsTranslator: isTranslator:bool -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "is_translator", (isTranslator :> obj), "") + + member WithLang: lang:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "lang", (lang :> obj), "") + + member WithListedCount: listedCount:int -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "listed_count", (listedCount :> obj), "") + + member WithLocation: location:JsonProvider+IntOrString -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "location", (location :> obj), "") + + member WithName: name:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "name", (name :> obj), "") + + member WithNotifications: notifications:JsonValue -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "notifications", (notifications :> obj), "") + + member WithProfileBackgroundColor: profileBackgroundColor:JsonProvider+IntOrString -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_background_color", (profileBackgroundColor :> obj), "") + + member WithProfileBackgroundImageUrl: profileBackgroundImageUrl:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_background_image_url", (profileBackgroundImageUrl :> obj), "") + + member WithProfileBackgroundImageUrlHttps: profileBackgroundImageUrlHttps:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_background_image_url_https", (profileBackgroundImageUrlHttps :> obj), "") + + member WithProfileBackgroundTile: profileBackgroundTile:bool -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_background_tile", (profileBackgroundTile :> obj), "") + + member WithProfileBannerUrl: profileBannerUrl:string option -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_banner_url", (profileBannerUrl :> obj), "") + + member WithProfileImageUrl: profileImageUrl:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_image_url", (profileImageUrl :> obj), "") + + member WithProfileImageUrlHttps: profileImageUrlHttps:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_image_url_https", (profileImageUrlHttps :> obj), "") + + member WithProfileLinkColor: profileLinkColor:JsonProvider+IntOrString -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_link_color", (profileLinkColor :> obj), "") + + member WithProfileSidebarBorderColor: profileSidebarBorderColor:JsonProvider+FloatOrString -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_sidebar_border_color", (profileSidebarBorderColor :> obj), "") + + member WithProfileSidebarFillColor: profileSidebarFillColor:JsonProvider+IntOrString -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_sidebar_fill_color", (profileSidebarFillColor :> obj), "") + + member WithProfileTextColor: profileTextColor:JsonProvider+FloatOrString -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_text_color", (profileTextColor :> obj), "") + + member WithProfileUseBackgroundImage: profileUseBackgroundImage:bool -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_use_background_image", (profileUseBackgroundImage :> obj), "") + + member WithProtected: protected:bool -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "protected", (protected :> obj), "") + + member WithScreenName: screenName:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "screen_name", (screenName :> obj), "") + + member WithStatusesCount: statusesCount:int -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "statuses_count", (statusesCount :> obj), "") + + member WithTimeZone: timeZone:string option -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "time_zone", (timeZone :> obj), "") + + member WithUrl: url:string option -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "url", (url :> obj), "") + + member WithUtcOffset: utcOffset:int option -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "utc_offset", (utcOffset :> obj), "") + + member WithVerified: verified:bool -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "verified", (verified :> obj), "") + class JsonProvider+Attributes : FDR.BaseTypes.IJsonDocument new : () -> JsonProvider+Attributes @@ -644,6 +944,12 @@ class JsonProvider+BoundingBox : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "type") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithCoordinates: coordinates:decimal[][][] -> JsonProvider+BoundingBox + JsonRuntime.WithRecordProperty(this, "coordinates", (coordinates :> obj), "") + + member WithType: type:string -> JsonProvider+BoundingBox + JsonRuntime.WithRecordProperty(this, "type", (type :> obj), "") + class JsonProvider+Entities2 : FDR.BaseTypes.IJsonDocument new : userMentions:JsonProvider+JsonProvider+UserMention[] -> hashtags:JsonProvider+JsonProvider+Hashtag[] -> urls:JsonProvider+JsonProvider+Url[] -> media:JsonProvider+JsonProvider+Media[] -> JsonProvider+Entities2 @@ -671,6 +977,18 @@ class JsonProvider+Entities2 : FDR.BaseTypes.IJsonDocument member UserMentions: JsonProvider+JsonProvider+UserMention[] with get JsonRuntime.ConvertArray(JsonRuntime.GetPropertyPackedOrNull(this, "user_mentions"), new Func<_,_>(id))) + member WithHashtags: hashtags:JsonProvider+JsonProvider+Hashtag[] -> JsonProvider+Entities2 + JsonRuntime.WithRecordProperty(this, "hashtags", (hashtags :> obj), "") + + member WithMedia: media:JsonProvider+JsonProvider+Media[] -> JsonProvider+Entities2 + JsonRuntime.WithRecordProperty(this, "media", (media :> obj), "") + + member WithUrls: urls:JsonProvider+JsonProvider+Url[] -> JsonProvider+Entities2 + JsonRuntime.WithRecordProperty(this, "urls", (urls :> obj), "") + + member WithUserMentions: userMentions:JsonProvider+JsonProvider+UserMention[] -> JsonProvider+Entities2 + JsonRuntime.WithRecordProperty(this, "user_mentions", (userMentions :> obj), "") + class JsonProvider+FloatOrString : FDR.BaseTypes.IJsonDocument new : number:float -> JsonProvider+FloatOrString @@ -709,6 +1027,12 @@ class JsonProvider+Hashtag : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "text") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithIndices: indices:int[] -> JsonProvider+Hashtag + JsonRuntime.WithRecordProperty(this, "indices", (indices :> obj), "") + + member WithText: text:string -> JsonProvider+Hashtag + JsonRuntime.WithRecordProperty(this, "text", (text :> obj), "") + class JsonProvider+IntOrString : FDR.BaseTypes.IJsonDocument new : number:int -> JsonProvider+IntOrString @@ -794,6 +1118,36 @@ class JsonProvider+Media : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "url") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithDisplayUrl: displayUrl:string -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "display_url", (displayUrl :> obj), "") + + member WithExpandedUrl: expandedUrl:string -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "expanded_url", (expandedUrl :> obj), "") + + member WithId: id:int64 -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithIdStr: idStr:int64 -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "id_str", (idStr :> obj), "") + + member WithIndices: indices:int[] -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "indices", (indices :> obj), "") + + member WithMediaUrl: mediaUrl:string -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "media_url", (mediaUrl :> obj), "") + + member WithMediaUrlHttps: mediaUrlHttps:string -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "media_url_https", (mediaUrlHttps :> obj), "") + + member WithSizes: sizes:JsonProvider+Sizes -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "sizes", (sizes :> obj), "") + + member WithType: type:string -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "type", (type :> obj), "") + + member WithUrl: url:string -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "url", (url :> obj), "") + class JsonProvider+Status : FDR.BaseTypes.IJsonDocument new : userIdStr:int -> idStr:int64 -> id:int64 -> userId:int -> JsonProvider+Status @@ -825,6 +1179,18 @@ class JsonProvider+Status : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "user_id_str") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertInteger("", value.JsonOpt), value.JsonOpt) + member WithId: id:int64 -> JsonProvider+Status + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithIdStr: idStr:int64 -> JsonProvider+Status + JsonRuntime.WithRecordProperty(this, "id_str", (idStr :> obj), "") + + member WithUserId: userId:int -> JsonProvider+Status + JsonRuntime.WithRecordProperty(this, "user_id", (userId :> obj), "") + + member WithUserIdStr: userIdStr:int -> JsonProvider+Status + JsonRuntime.WithRecordProperty(this, "user_id_str", (userIdStr :> obj), "") + class JsonProvider+Url : FDR.BaseTypes.IJsonDocument new : expandedUrl:string -> indices:int[] -> displayUrl:string -> url:string -> JsonProvider+Url @@ -855,6 +1221,18 @@ class JsonProvider+Url : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "url") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithDisplayUrl: displayUrl:string -> JsonProvider+Url + JsonRuntime.WithRecordProperty(this, "display_url", (displayUrl :> obj), "") + + member WithExpandedUrl: expandedUrl:string -> JsonProvider+Url + JsonRuntime.WithRecordProperty(this, "expanded_url", (expandedUrl :> obj), "") + + member WithIndices: indices:int[] -> JsonProvider+Url + JsonRuntime.WithRecordProperty(this, "indices", (indices :> obj), "") + + member WithUrl: url:string -> JsonProvider+Url + JsonRuntime.WithRecordProperty(this, "url", (url :> obj), "") + class JsonProvider+User2 : FDR.BaseTypes.IJsonDocument new : notifications:JsonValue -> contributorsEnabled:bool -> timeZone:string option -> profileBackgroundColor:JsonProvider+IntOrString -> location:string option -> profileBackgroundTile:bool -> profileImageUrlHttps:string -> defaultProfileImage:bool -> followRequestSent:JsonValue -> profileSidebarFillColor:JsonProvider+IntOrString -> description:string option -> favouritesCount:int -> screenName:string -> profileSidebarBorderColor:JsonProvider+IntOrString -> idStr:int -> verified:bool -> lang:string -> statusesCount:int -> profileUseBackgroundImage:bool -> protected:bool -> profileImageUrl:string -> listedCount:int -> geoEnabled:bool -> createdAt:string -> profileTextColor:JsonProvider+IntOrString -> name:string -> profileBackgroundImageUrl:string -> friendsCount:int -> url:string option -> id:int -> isTranslator:bool -> defaultProfile:bool -> following:JsonValue -> profileBackgroundImageUrlHttps:string -> utcOffset:int option -> profileLinkColor:JsonProvider+IntOrString -> followersCount:int -> profileBannerUrl:string option -> JsonProvider+User2 @@ -1076,6 +1454,120 @@ class JsonProvider+User2 : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "verified") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertBoolean(value.JsonOpt), value.JsonOpt) + member WithContributorsEnabled: contributorsEnabled:bool -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "contributors_enabled", (contributorsEnabled :> obj), "") + + member WithCreatedAt: createdAt:string -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "created_at", (createdAt :> obj), "") + + member WithDefaultProfile: defaultProfile:bool -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "default_profile", (defaultProfile :> obj), "") + + member WithDefaultProfileImage: defaultProfileImage:bool -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "default_profile_image", (defaultProfileImage :> obj), "") + + member WithDescription: description:string option -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "description", (description :> obj), "") + + member WithFavouritesCount: favouritesCount:int -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "favourites_count", (favouritesCount :> obj), "") + + member WithFollowRequestSent: followRequestSent:JsonValue -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "follow_request_sent", (followRequestSent :> obj), "") + + member WithFollowersCount: followersCount:int -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "followers_count", (followersCount :> obj), "") + + member WithFollowing: following:JsonValue -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "following", (following :> obj), "") + + member WithFriendsCount: friendsCount:int -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "friends_count", (friendsCount :> obj), "") + + member WithGeoEnabled: geoEnabled:bool -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "geo_enabled", (geoEnabled :> obj), "") + + member WithId: id:int -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithIdStr: idStr:int -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "id_str", (idStr :> obj), "") + + member WithIsTranslator: isTranslator:bool -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "is_translator", (isTranslator :> obj), "") + + member WithLang: lang:string -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "lang", (lang :> obj), "") + + member WithListedCount: listedCount:int -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "listed_count", (listedCount :> obj), "") + + member WithLocation: location:string option -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "location", (location :> obj), "") + + member WithName: name:string -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "name", (name :> obj), "") + + member WithNotifications: notifications:JsonValue -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "notifications", (notifications :> obj), "") + + member WithProfileBackgroundColor: profileBackgroundColor:JsonProvider+IntOrString -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_background_color", (profileBackgroundColor :> obj), "") + + member WithProfileBackgroundImageUrl: profileBackgroundImageUrl:string -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_background_image_url", (profileBackgroundImageUrl :> obj), "") + + member WithProfileBackgroundImageUrlHttps: profileBackgroundImageUrlHttps:string -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_background_image_url_https", (profileBackgroundImageUrlHttps :> obj), "") + + member WithProfileBackgroundTile: profileBackgroundTile:bool -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_background_tile", (profileBackgroundTile :> obj), "") + + member WithProfileBannerUrl: profileBannerUrl:string option -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_banner_url", (profileBannerUrl :> obj), "") + + member WithProfileImageUrl: profileImageUrl:string -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_image_url", (profileImageUrl :> obj), "") + + member WithProfileImageUrlHttps: profileImageUrlHttps:string -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_image_url_https", (profileImageUrlHttps :> obj), "") + + member WithProfileLinkColor: profileLinkColor:JsonProvider+IntOrString -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_link_color", (profileLinkColor :> obj), "") + + member WithProfileSidebarBorderColor: profileSidebarBorderColor:JsonProvider+IntOrString -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_sidebar_border_color", (profileSidebarBorderColor :> obj), "") + + member WithProfileSidebarFillColor: profileSidebarFillColor:JsonProvider+IntOrString -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_sidebar_fill_color", (profileSidebarFillColor :> obj), "") + + member WithProfileTextColor: profileTextColor:JsonProvider+IntOrString -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_text_color", (profileTextColor :> obj), "") + + member WithProfileUseBackgroundImage: profileUseBackgroundImage:bool -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_use_background_image", (profileUseBackgroundImage :> obj), "") + + member WithProtected: protected:bool -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "protected", (protected :> obj), "") + + member WithScreenName: screenName:string -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "screen_name", (screenName :> obj), "") + + member WithStatusesCount: statusesCount:int -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "statuses_count", (statusesCount :> obj), "") + + member WithTimeZone: timeZone:string option -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "time_zone", (timeZone :> obj), "") + + member WithUrl: url:string option -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "url", (url :> obj), "") + + member WithUtcOffset: utcOffset:int option -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "utc_offset", (utcOffset :> obj), "") + + member WithVerified: verified:bool -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "verified", (verified :> obj), "") + class JsonProvider+UserMention : FDR.BaseTypes.IJsonDocument new : indices:int[] -> screenName:string -> idStr:int -> name:string -> id:int -> JsonProvider+UserMention @@ -1112,6 +1604,21 @@ class JsonProvider+UserMention : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "screen_name") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithId: id:int -> JsonProvider+UserMention + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithIdStr: idStr:int -> JsonProvider+UserMention + JsonRuntime.WithRecordProperty(this, "id_str", (idStr :> obj), "") + + member WithIndices: indices:int[] -> JsonProvider+UserMention + JsonRuntime.WithRecordProperty(this, "indices", (indices :> obj), "") + + member WithName: name:string -> JsonProvider+UserMention + JsonRuntime.WithRecordProperty(this, "name", (name :> obj), "") + + member WithScreenName: screenName:string -> JsonProvider+UserMention + JsonRuntime.WithRecordProperty(this, "screen_name", (screenName :> obj), "") + class JsonProvider+Sizes : FDR.BaseTypes.IJsonDocument new : thumb:JsonProvider+Thumb -> medium:JsonProvider+Thumb -> large:JsonProvider+Thumb -> small:JsonProvider+Thumb -> JsonProvider+Sizes @@ -1139,6 +1646,18 @@ class JsonProvider+Sizes : FDR.BaseTypes.IJsonDocument member Thumb: JsonProvider+Thumb with get JsonRuntime.GetPropertyPacked(this, "thumb") + member WithLarge: large:JsonProvider+Thumb -> JsonProvider+Sizes + JsonRuntime.WithRecordProperty(this, "large", (large :> obj), "") + + member WithMedium: medium:JsonProvider+Thumb -> JsonProvider+Sizes + JsonRuntime.WithRecordProperty(this, "medium", (medium :> obj), "") + + member WithSmall: small:JsonProvider+Thumb -> JsonProvider+Sizes + JsonRuntime.WithRecordProperty(this, "small", (small :> obj), "") + + member WithThumb: thumb:JsonProvider+Thumb -> JsonProvider+Sizes + JsonRuntime.WithRecordProperty(this, "thumb", (thumb :> obj), "") + class JsonProvider+Thumb : FDR.BaseTypes.IJsonDocument new : h:int -> w:int -> resize:string -> JsonProvider+Thumb @@ -1164,4 +1683,13 @@ class JsonProvider+Thumb : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "w") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertInteger("", value.JsonOpt), value.JsonOpt) + member WithH: h:int -> JsonProvider+Thumb + JsonRuntime.WithRecordProperty(this, "h", (h :> obj), "") + + member WithResize: resize:string -> JsonProvider+Thumb + JsonRuntime.WithRecordProperty(this, "resize", (resize :> obj), "") + + member WithW: w:int -> JsonProvider+Thumb + JsonRuntime.WithRecordProperty(this, "w", (w :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,TwitterStream.json,True,,,True,False,ValuesOnly,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,TwitterStream.json,True,,,True,False,ValuesOnly,.expected index ba06eac44..713910f66 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,TwitterStream.json,True,,,True,False,ValuesOnly,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,TwitterStream.json,True,,,True,False,ValuesOnly,.expected @@ -155,6 +155,78 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument member User: JsonProvider+User option with get JsonRuntime.TryGetPropertyPacked(this, "user") + member WithContributors: contributors:JsonValue -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "contributors", (contributors :> obj), "") + + member WithCoordinates: coordinates:JsonProvider+Geo option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "coordinates", (coordinates :> obj), "") + + member WithCreatedAt: createdAt:string option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "created_at", (createdAt :> obj), "") + + member WithDelete: delete:JsonProvider+Delete option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "delete", (delete :> obj), "") + + member WithEntities: entities:JsonProvider+Entities option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "entities", (entities :> obj), "") + + member WithFavorited: favorited:bool option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "favorited", (favorited :> obj), "") + + member WithGeo: geo:JsonProvider+Geo option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "geo", (geo :> obj), "") + + member WithId: id:int64 option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithIdStr: idStr:int64 option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "id_str", (idStr :> obj), "") + + member WithInReplyToScreenName: inReplyToScreenName:string option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "in_reply_to_screen_name", (inReplyToScreenName :> obj), "") + + member WithInReplyToStatusId: inReplyToStatusId:int64 option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "in_reply_to_status_id", (inReplyToStatusId :> obj), "") + + member WithInReplyToStatusIdStr: inReplyToStatusIdStr:int64 option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "in_reply_to_status_id_str", (inReplyToStatusIdStr :> obj), "") + + member WithInReplyToUserId: inReplyToUserId:int option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "in_reply_to_user_id", (inReplyToUserId :> obj), "") + + member WithInReplyToUserIdStr: inReplyToUserIdStr:int option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "in_reply_to_user_id_str", (inReplyToUserIdStr :> obj), "") + + member WithPlace: place:JsonProvider+Place option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "place", (place :> obj), "") + + member WithPossiblySensitive: possiblySensitive:bool option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "possibly_sensitive", (possiblySensitive :> obj), "") + + member WithPossiblySensitiveEditable: possiblySensitiveEditable:bool option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "possibly_sensitive_editable", (possiblySensitiveEditable :> obj), "") + + member WithRetweetCount: retweetCount:int option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "retweet_count", (retweetCount :> obj), "") + + member WithRetweeted: retweeted:bool option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "retweeted", (retweeted :> obj), "") + + member WithRetweetedStatus: retweetedStatus:JsonProvider+RetweetedStatus option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "retweeted_status", (retweetedStatus :> obj), "") + + member WithSource: source:string option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "source", (source :> obj), "") + + member WithText: text:string option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "text", (text :> obj), "") + + member WithTruncated: truncated:bool option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "truncated", (truncated :> obj), "") + + member WithUser: user:JsonProvider+User option -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "user", (user :> obj), "") + class JsonProvider+Delete : FDR.BaseTypes.IJsonDocument new : status:JsonProvider+Status -> JsonProvider+Delete @@ -167,6 +239,9 @@ class JsonProvider+Delete : FDR.BaseTypes.IJsonDocument member Status: JsonProvider+Status with get JsonRuntime.GetPropertyPacked(this, "status") + member WithStatus: status:JsonProvider+Status -> JsonProvider+Delete + JsonRuntime.WithRecordProperty(this, "status", (status :> obj), "") + class JsonProvider+Entities : FDR.BaseTypes.IJsonDocument new : userMentions:JsonProvider+JsonProvider+UserMention[] -> hashtags:JsonProvider+JsonProvider+Hashtag[] -> urls:JsonProvider+JsonProvider+Url[] -> media:JsonProvider+JsonProvider+Media[] -> JsonProvider+Entities @@ -194,6 +269,18 @@ class JsonProvider+Entities : FDR.BaseTypes.IJsonDocument member UserMentions: JsonProvider+JsonProvider+UserMention[] with get JsonRuntime.ConvertArray(JsonRuntime.GetPropertyPackedOrNull(this, "user_mentions"), new Func<_,_>(id))) + member WithHashtags: hashtags:JsonProvider+JsonProvider+Hashtag[] -> JsonProvider+Entities + JsonRuntime.WithRecordProperty(this, "hashtags", (hashtags :> obj), "") + + member WithMedia: media:JsonProvider+JsonProvider+Media[] -> JsonProvider+Entities + JsonRuntime.WithRecordProperty(this, "media", (media :> obj), "") + + member WithUrls: urls:JsonProvider+JsonProvider+Url[] -> JsonProvider+Entities + JsonRuntime.WithRecordProperty(this, "urls", (urls :> obj), "") + + member WithUserMentions: userMentions:JsonProvider+JsonProvider+UserMention[] -> JsonProvider+Entities + JsonRuntime.WithRecordProperty(this, "user_mentions", (userMentions :> obj), "") + class JsonProvider+Geo : FDR.BaseTypes.IJsonDocument new : type:string -> coordinates:decimal[] -> JsonProvider+Geo @@ -212,6 +299,12 @@ class JsonProvider+Geo : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "type") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithCoordinates: coordinates:decimal[] -> JsonProvider+Geo + JsonRuntime.WithRecordProperty(this, "coordinates", (coordinates :> obj), "") + + member WithType: type:string -> JsonProvider+Geo + JsonRuntime.WithRecordProperty(this, "type", (type :> obj), "") + class JsonProvider+Place : FDR.BaseTypes.IJsonDocument new : countryCode:string -> attributes:JsonProvider+Attributes -> fullName:string -> placeType:string -> name:string -> country:string -> id:string -> url:string -> boundingBox:JsonProvider+BoundingBox -> JsonProvider+Place @@ -271,6 +364,33 @@ class JsonProvider+Place : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "url") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithAttributes: attributes:JsonProvider+Attributes -> JsonProvider+Place + JsonRuntime.WithRecordProperty(this, "attributes", (attributes :> obj), "") + + member WithBoundingBox: boundingBox:JsonProvider+BoundingBox -> JsonProvider+Place + JsonRuntime.WithRecordProperty(this, "bounding_box", (boundingBox :> obj), "") + + member WithCountry: country:string -> JsonProvider+Place + JsonRuntime.WithRecordProperty(this, "country", (country :> obj), "") + + member WithCountryCode: countryCode:string -> JsonProvider+Place + JsonRuntime.WithRecordProperty(this, "country_code", (countryCode :> obj), "") + + member WithFullName: fullName:string -> JsonProvider+Place + JsonRuntime.WithRecordProperty(this, "full_name", (fullName :> obj), "") + + member WithId: id:string -> JsonProvider+Place + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithName: name:string -> JsonProvider+Place + JsonRuntime.WithRecordProperty(this, "name", (name :> obj), "") + + member WithPlaceType: placeType:string -> JsonProvider+Place + JsonRuntime.WithRecordProperty(this, "place_type", (placeType :> obj), "") + + member WithUrl: url:string -> JsonProvider+Place + JsonRuntime.WithRecordProperty(this, "url", (url :> obj), "") + class JsonProvider+RetweetedStatus : FDR.BaseTypes.IJsonDocument new : inReplyToStatusIdStr:int64 option -> text:string -> inReplyToUserIdStr:int option -> retweetCount:int -> geo:JsonValue -> source:string -> retweeted:bool -> truncated:bool -> idStr:int64 -> entities:JsonProvider+Entities2 -> inReplyToUserId:int option -> inReplyToStatusId:int64 option -> place:JsonValue -> coordinates:JsonValue -> inReplyToScreenName:string option -> createdAt:string -> user:JsonProvider+User2 -> id:int64 -> contributors:JsonValue -> favorited:bool -> possiblySensitive:bool option -> possiblySensitiveEditable:bool option -> JsonProvider+RetweetedStatus @@ -397,6 +517,72 @@ class JsonProvider+RetweetedStatus : FDR.BaseTypes.IJsonDocument member User: JsonProvider+User2 with get JsonRuntime.GetPropertyPacked(this, "user") + member WithContributors: contributors:JsonValue -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "contributors", (contributors :> obj), "") + + member WithCoordinates: coordinates:JsonValue -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "coordinates", (coordinates :> obj), "") + + member WithCreatedAt: createdAt:string -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "created_at", (createdAt :> obj), "") + + member WithEntities: entities:JsonProvider+Entities2 -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "entities", (entities :> obj), "") + + member WithFavorited: favorited:bool -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "favorited", (favorited :> obj), "") + + member WithGeo: geo:JsonValue -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "geo", (geo :> obj), "") + + member WithId: id:int64 -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithIdStr: idStr:int64 -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "id_str", (idStr :> obj), "") + + member WithInReplyToScreenName: inReplyToScreenName:string option -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "in_reply_to_screen_name", (inReplyToScreenName :> obj), "") + + member WithInReplyToStatusId: inReplyToStatusId:int64 option -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "in_reply_to_status_id", (inReplyToStatusId :> obj), "") + + member WithInReplyToStatusIdStr: inReplyToStatusIdStr:int64 option -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "in_reply_to_status_id_str", (inReplyToStatusIdStr :> obj), "") + + member WithInReplyToUserId: inReplyToUserId:int option -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "in_reply_to_user_id", (inReplyToUserId :> obj), "") + + member WithInReplyToUserIdStr: inReplyToUserIdStr:int option -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "in_reply_to_user_id_str", (inReplyToUserIdStr :> obj), "") + + member WithPlace: place:JsonValue -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "place", (place :> obj), "") + + member WithPossiblySensitive: possiblySensitive:bool option -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "possibly_sensitive", (possiblySensitive :> obj), "") + + member WithPossiblySensitiveEditable: possiblySensitiveEditable:bool option -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "possibly_sensitive_editable", (possiblySensitiveEditable :> obj), "") + + member WithRetweetCount: retweetCount:int -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "retweet_count", (retweetCount :> obj), "") + + member WithRetweeted: retweeted:bool -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "retweeted", (retweeted :> obj), "") + + member WithSource: source:string -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "source", (source :> obj), "") + + member WithText: text:string -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "text", (text :> obj), "") + + member WithTruncated: truncated:bool -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "truncated", (truncated :> obj), "") + + member WithUser: user:JsonProvider+User2 -> JsonProvider+RetweetedStatus + JsonRuntime.WithRecordProperty(this, "user", (user :> obj), "") + class JsonProvider+User : FDR.BaseTypes.IJsonDocument new : notifications:JsonValue -> contributorsEnabled:bool -> timeZone:string option -> profileBackgroundColor:JsonProvider+IntOrString -> location:JsonProvider+IntOrString -> profileBackgroundTile:bool -> profileImageUrlHttps:string -> defaultProfileImage:bool -> followRequestSent:JsonValue -> profileSidebarFillColor:JsonProvider+IntOrString -> description:string option -> profileBannerUrl:string option -> favouritesCount:int -> screenName:string -> profileSidebarBorderColor:JsonProvider+FloatOrString -> idStr:int -> verified:bool -> lang:string -> statusesCount:int -> profileUseBackgroundImage:bool -> protected:bool -> profileImageUrl:string -> listedCount:int -> geoEnabled:bool -> createdAt:string -> profileTextColor:JsonProvider+FloatOrString -> name:string -> profileBackgroundImageUrl:string -> friendsCount:int -> url:string option -> id:int -> isTranslator:bool -> defaultProfile:bool -> following:JsonValue -> profileBackgroundImageUrlHttps:string -> utcOffset:int option -> profileLinkColor:JsonProvider+IntOrString -> followersCount:int -> JsonProvider+User @@ -618,6 +804,120 @@ class JsonProvider+User : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "verified") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertBoolean(value.JsonOpt), value.JsonOpt) + member WithContributorsEnabled: contributorsEnabled:bool -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "contributors_enabled", (contributorsEnabled :> obj), "") + + member WithCreatedAt: createdAt:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "created_at", (createdAt :> obj), "") + + member WithDefaultProfile: defaultProfile:bool -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "default_profile", (defaultProfile :> obj), "") + + member WithDefaultProfileImage: defaultProfileImage:bool -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "default_profile_image", (defaultProfileImage :> obj), "") + + member WithDescription: description:string option -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "description", (description :> obj), "") + + member WithFavouritesCount: favouritesCount:int -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "favourites_count", (favouritesCount :> obj), "") + + member WithFollowRequestSent: followRequestSent:JsonValue -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "follow_request_sent", (followRequestSent :> obj), "") + + member WithFollowersCount: followersCount:int -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "followers_count", (followersCount :> obj), "") + + member WithFollowing: following:JsonValue -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "following", (following :> obj), "") + + member WithFriendsCount: friendsCount:int -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "friends_count", (friendsCount :> obj), "") + + member WithGeoEnabled: geoEnabled:bool -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "geo_enabled", (geoEnabled :> obj), "") + + member WithId: id:int -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithIdStr: idStr:int -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "id_str", (idStr :> obj), "") + + member WithIsTranslator: isTranslator:bool -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "is_translator", (isTranslator :> obj), "") + + member WithLang: lang:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "lang", (lang :> obj), "") + + member WithListedCount: listedCount:int -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "listed_count", (listedCount :> obj), "") + + member WithLocation: location:JsonProvider+IntOrString -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "location", (location :> obj), "") + + member WithName: name:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "name", (name :> obj), "") + + member WithNotifications: notifications:JsonValue -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "notifications", (notifications :> obj), "") + + member WithProfileBackgroundColor: profileBackgroundColor:JsonProvider+IntOrString -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_background_color", (profileBackgroundColor :> obj), "") + + member WithProfileBackgroundImageUrl: profileBackgroundImageUrl:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_background_image_url", (profileBackgroundImageUrl :> obj), "") + + member WithProfileBackgroundImageUrlHttps: profileBackgroundImageUrlHttps:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_background_image_url_https", (profileBackgroundImageUrlHttps :> obj), "") + + member WithProfileBackgroundTile: profileBackgroundTile:bool -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_background_tile", (profileBackgroundTile :> obj), "") + + member WithProfileBannerUrl: profileBannerUrl:string option -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_banner_url", (profileBannerUrl :> obj), "") + + member WithProfileImageUrl: profileImageUrl:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_image_url", (profileImageUrl :> obj), "") + + member WithProfileImageUrlHttps: profileImageUrlHttps:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_image_url_https", (profileImageUrlHttps :> obj), "") + + member WithProfileLinkColor: profileLinkColor:JsonProvider+IntOrString -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_link_color", (profileLinkColor :> obj), "") + + member WithProfileSidebarBorderColor: profileSidebarBorderColor:JsonProvider+FloatOrString -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_sidebar_border_color", (profileSidebarBorderColor :> obj), "") + + member WithProfileSidebarFillColor: profileSidebarFillColor:JsonProvider+IntOrString -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_sidebar_fill_color", (profileSidebarFillColor :> obj), "") + + member WithProfileTextColor: profileTextColor:JsonProvider+FloatOrString -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_text_color", (profileTextColor :> obj), "") + + member WithProfileUseBackgroundImage: profileUseBackgroundImage:bool -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "profile_use_background_image", (profileUseBackgroundImage :> obj), "") + + member WithProtected: protected:bool -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "protected", (protected :> obj), "") + + member WithScreenName: screenName:string -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "screen_name", (screenName :> obj), "") + + member WithStatusesCount: statusesCount:int -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "statuses_count", (statusesCount :> obj), "") + + member WithTimeZone: timeZone:string option -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "time_zone", (timeZone :> obj), "") + + member WithUrl: url:string option -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "url", (url :> obj), "") + + member WithUtcOffset: utcOffset:int option -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "utc_offset", (utcOffset :> obj), "") + + member WithVerified: verified:bool -> JsonProvider+User + JsonRuntime.WithRecordProperty(this, "verified", (verified :> obj), "") + class JsonProvider+Attributes : FDR.BaseTypes.IJsonDocument new : () -> JsonProvider+Attributes @@ -644,6 +944,12 @@ class JsonProvider+BoundingBox : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "type") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithCoordinates: coordinates:decimal[][][] -> JsonProvider+BoundingBox + JsonRuntime.WithRecordProperty(this, "coordinates", (coordinates :> obj), "") + + member WithType: type:string -> JsonProvider+BoundingBox + JsonRuntime.WithRecordProperty(this, "type", (type :> obj), "") + class JsonProvider+Entities2 : FDR.BaseTypes.IJsonDocument new : userMentions:JsonProvider+JsonProvider+UserMention[] -> hashtags:JsonProvider+JsonProvider+Hashtag[] -> urls:JsonProvider+JsonProvider+Url[] -> media:JsonProvider+JsonProvider+Media[] -> JsonProvider+Entities2 @@ -671,6 +977,18 @@ class JsonProvider+Entities2 : FDR.BaseTypes.IJsonDocument member UserMentions: JsonProvider+JsonProvider+UserMention[] with get JsonRuntime.ConvertArray(JsonRuntime.GetPropertyPackedOrNull(this, "user_mentions"), new Func<_,_>(id))) + member WithHashtags: hashtags:JsonProvider+JsonProvider+Hashtag[] -> JsonProvider+Entities2 + JsonRuntime.WithRecordProperty(this, "hashtags", (hashtags :> obj), "") + + member WithMedia: media:JsonProvider+JsonProvider+Media[] -> JsonProvider+Entities2 + JsonRuntime.WithRecordProperty(this, "media", (media :> obj), "") + + member WithUrls: urls:JsonProvider+JsonProvider+Url[] -> JsonProvider+Entities2 + JsonRuntime.WithRecordProperty(this, "urls", (urls :> obj), "") + + member WithUserMentions: userMentions:JsonProvider+JsonProvider+UserMention[] -> JsonProvider+Entities2 + JsonRuntime.WithRecordProperty(this, "user_mentions", (userMentions :> obj), "") + class JsonProvider+FloatOrString : FDR.BaseTypes.IJsonDocument new : number:float -> JsonProvider+FloatOrString @@ -709,6 +1027,12 @@ class JsonProvider+Hashtag : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "text") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithIndices: indices:int[] -> JsonProvider+Hashtag + JsonRuntime.WithRecordProperty(this, "indices", (indices :> obj), "") + + member WithText: text:string -> JsonProvider+Hashtag + JsonRuntime.WithRecordProperty(this, "text", (text :> obj), "") + class JsonProvider+IntOrString : FDR.BaseTypes.IJsonDocument new : number:int -> JsonProvider+IntOrString @@ -794,6 +1118,36 @@ class JsonProvider+Media : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "url") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithDisplayUrl: displayUrl:string -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "display_url", (displayUrl :> obj), "") + + member WithExpandedUrl: expandedUrl:string -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "expanded_url", (expandedUrl :> obj), "") + + member WithId: id:int64 -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithIdStr: idStr:int64 -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "id_str", (idStr :> obj), "") + + member WithIndices: indices:int[] -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "indices", (indices :> obj), "") + + member WithMediaUrl: mediaUrl:string -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "media_url", (mediaUrl :> obj), "") + + member WithMediaUrlHttps: mediaUrlHttps:string -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "media_url_https", (mediaUrlHttps :> obj), "") + + member WithSizes: sizes:JsonProvider+Sizes -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "sizes", (sizes :> obj), "") + + member WithType: type:string -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "type", (type :> obj), "") + + member WithUrl: url:string -> JsonProvider+Media + JsonRuntime.WithRecordProperty(this, "url", (url :> obj), "") + class JsonProvider+Status : FDR.BaseTypes.IJsonDocument new : userIdStr:int -> idStr:int64 -> id:int64 -> userId:int -> JsonProvider+Status @@ -825,6 +1179,18 @@ class JsonProvider+Status : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "user_id_str") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertInteger("", value.JsonOpt), value.JsonOpt) + member WithId: id:int64 -> JsonProvider+Status + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithIdStr: idStr:int64 -> JsonProvider+Status + JsonRuntime.WithRecordProperty(this, "id_str", (idStr :> obj), "") + + member WithUserId: userId:int -> JsonProvider+Status + JsonRuntime.WithRecordProperty(this, "user_id", (userId :> obj), "") + + member WithUserIdStr: userIdStr:int -> JsonProvider+Status + JsonRuntime.WithRecordProperty(this, "user_id_str", (userIdStr :> obj), "") + class JsonProvider+Url : FDR.BaseTypes.IJsonDocument new : expandedUrl:string -> indices:int[] -> displayUrl:string -> url:string -> JsonProvider+Url @@ -855,6 +1221,18 @@ class JsonProvider+Url : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "url") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithDisplayUrl: displayUrl:string -> JsonProvider+Url + JsonRuntime.WithRecordProperty(this, "display_url", (displayUrl :> obj), "") + + member WithExpandedUrl: expandedUrl:string -> JsonProvider+Url + JsonRuntime.WithRecordProperty(this, "expanded_url", (expandedUrl :> obj), "") + + member WithIndices: indices:int[] -> JsonProvider+Url + JsonRuntime.WithRecordProperty(this, "indices", (indices :> obj), "") + + member WithUrl: url:string -> JsonProvider+Url + JsonRuntime.WithRecordProperty(this, "url", (url :> obj), "") + class JsonProvider+User2 : FDR.BaseTypes.IJsonDocument new : notifications:JsonValue -> contributorsEnabled:bool -> timeZone:string option -> profileBackgroundColor:JsonProvider+IntOrString -> location:string option -> profileBackgroundTile:bool -> profileImageUrlHttps:string -> defaultProfileImage:bool -> followRequestSent:JsonValue -> profileSidebarFillColor:JsonProvider+IntOrString -> description:string option -> favouritesCount:int -> screenName:string -> profileSidebarBorderColor:JsonProvider+IntOrString -> idStr:int -> verified:bool -> lang:string -> statusesCount:int -> profileUseBackgroundImage:bool -> protected:bool -> profileImageUrl:string -> listedCount:int -> geoEnabled:bool -> createdAt:string -> profileTextColor:JsonProvider+IntOrString -> name:string -> profileBackgroundImageUrl:string -> friendsCount:int -> url:string option -> id:int -> isTranslator:bool -> defaultProfile:bool -> following:JsonValue -> profileBackgroundImageUrlHttps:string -> utcOffset:int option -> profileLinkColor:JsonProvider+IntOrString -> followersCount:int -> profileBannerUrl:string option -> JsonProvider+User2 @@ -1076,6 +1454,120 @@ class JsonProvider+User2 : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "verified") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertBoolean(value.JsonOpt), value.JsonOpt) + member WithContributorsEnabled: contributorsEnabled:bool -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "contributors_enabled", (contributorsEnabled :> obj), "") + + member WithCreatedAt: createdAt:string -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "created_at", (createdAt :> obj), "") + + member WithDefaultProfile: defaultProfile:bool -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "default_profile", (defaultProfile :> obj), "") + + member WithDefaultProfileImage: defaultProfileImage:bool -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "default_profile_image", (defaultProfileImage :> obj), "") + + member WithDescription: description:string option -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "description", (description :> obj), "") + + member WithFavouritesCount: favouritesCount:int -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "favourites_count", (favouritesCount :> obj), "") + + member WithFollowRequestSent: followRequestSent:JsonValue -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "follow_request_sent", (followRequestSent :> obj), "") + + member WithFollowersCount: followersCount:int -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "followers_count", (followersCount :> obj), "") + + member WithFollowing: following:JsonValue -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "following", (following :> obj), "") + + member WithFriendsCount: friendsCount:int -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "friends_count", (friendsCount :> obj), "") + + member WithGeoEnabled: geoEnabled:bool -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "geo_enabled", (geoEnabled :> obj), "") + + member WithId: id:int -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithIdStr: idStr:int -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "id_str", (idStr :> obj), "") + + member WithIsTranslator: isTranslator:bool -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "is_translator", (isTranslator :> obj), "") + + member WithLang: lang:string -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "lang", (lang :> obj), "") + + member WithListedCount: listedCount:int -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "listed_count", (listedCount :> obj), "") + + member WithLocation: location:string option -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "location", (location :> obj), "") + + member WithName: name:string -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "name", (name :> obj), "") + + member WithNotifications: notifications:JsonValue -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "notifications", (notifications :> obj), "") + + member WithProfileBackgroundColor: profileBackgroundColor:JsonProvider+IntOrString -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_background_color", (profileBackgroundColor :> obj), "") + + member WithProfileBackgroundImageUrl: profileBackgroundImageUrl:string -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_background_image_url", (profileBackgroundImageUrl :> obj), "") + + member WithProfileBackgroundImageUrlHttps: profileBackgroundImageUrlHttps:string -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_background_image_url_https", (profileBackgroundImageUrlHttps :> obj), "") + + member WithProfileBackgroundTile: profileBackgroundTile:bool -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_background_tile", (profileBackgroundTile :> obj), "") + + member WithProfileBannerUrl: profileBannerUrl:string option -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_banner_url", (profileBannerUrl :> obj), "") + + member WithProfileImageUrl: profileImageUrl:string -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_image_url", (profileImageUrl :> obj), "") + + member WithProfileImageUrlHttps: profileImageUrlHttps:string -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_image_url_https", (profileImageUrlHttps :> obj), "") + + member WithProfileLinkColor: profileLinkColor:JsonProvider+IntOrString -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_link_color", (profileLinkColor :> obj), "") + + member WithProfileSidebarBorderColor: profileSidebarBorderColor:JsonProvider+IntOrString -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_sidebar_border_color", (profileSidebarBorderColor :> obj), "") + + member WithProfileSidebarFillColor: profileSidebarFillColor:JsonProvider+IntOrString -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_sidebar_fill_color", (profileSidebarFillColor :> obj), "") + + member WithProfileTextColor: profileTextColor:JsonProvider+IntOrString -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_text_color", (profileTextColor :> obj), "") + + member WithProfileUseBackgroundImage: profileUseBackgroundImage:bool -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "profile_use_background_image", (profileUseBackgroundImage :> obj), "") + + member WithProtected: protected:bool -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "protected", (protected :> obj), "") + + member WithScreenName: screenName:string -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "screen_name", (screenName :> obj), "") + + member WithStatusesCount: statusesCount:int -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "statuses_count", (statusesCount :> obj), "") + + member WithTimeZone: timeZone:string option -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "time_zone", (timeZone :> obj), "") + + member WithUrl: url:string option -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "url", (url :> obj), "") + + member WithUtcOffset: utcOffset:int option -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "utc_offset", (utcOffset :> obj), "") + + member WithVerified: verified:bool -> JsonProvider+User2 + JsonRuntime.WithRecordProperty(this, "verified", (verified :> obj), "") + class JsonProvider+UserMention : FDR.BaseTypes.IJsonDocument new : indices:int[] -> screenName:string -> idStr:int -> name:string -> id:int -> JsonProvider+UserMention @@ -1112,6 +1604,21 @@ class JsonProvider+UserMention : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "screen_name") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithId: id:int -> JsonProvider+UserMention + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithIdStr: idStr:int -> JsonProvider+UserMention + JsonRuntime.WithRecordProperty(this, "id_str", (idStr :> obj), "") + + member WithIndices: indices:int[] -> JsonProvider+UserMention + JsonRuntime.WithRecordProperty(this, "indices", (indices :> obj), "") + + member WithName: name:string -> JsonProvider+UserMention + JsonRuntime.WithRecordProperty(this, "name", (name :> obj), "") + + member WithScreenName: screenName:string -> JsonProvider+UserMention + JsonRuntime.WithRecordProperty(this, "screen_name", (screenName :> obj), "") + class JsonProvider+Sizes : FDR.BaseTypes.IJsonDocument new : thumb:JsonProvider+Thumb -> medium:JsonProvider+Thumb -> large:JsonProvider+Thumb -> small:JsonProvider+Thumb -> JsonProvider+Sizes @@ -1139,6 +1646,18 @@ class JsonProvider+Sizes : FDR.BaseTypes.IJsonDocument member Thumb: JsonProvider+Thumb with get JsonRuntime.GetPropertyPacked(this, "thumb") + member WithLarge: large:JsonProvider+Thumb -> JsonProvider+Sizes + JsonRuntime.WithRecordProperty(this, "large", (large :> obj), "") + + member WithMedium: medium:JsonProvider+Thumb -> JsonProvider+Sizes + JsonRuntime.WithRecordProperty(this, "medium", (medium :> obj), "") + + member WithSmall: small:JsonProvider+Thumb -> JsonProvider+Sizes + JsonRuntime.WithRecordProperty(this, "small", (small :> obj), "") + + member WithThumb: thumb:JsonProvider+Thumb -> JsonProvider+Sizes + JsonRuntime.WithRecordProperty(this, "thumb", (thumb :> obj), "") + class JsonProvider+Thumb : FDR.BaseTypes.IJsonDocument new : h:int -> w:int -> resize:string -> JsonProvider+Thumb @@ -1164,4 +1683,13 @@ class JsonProvider+Thumb : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "w") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertInteger("", value.JsonOpt), value.JsonOpt) + member WithH: h:int -> JsonProvider+Thumb + JsonRuntime.WithRecordProperty(this, "h", (h :> obj), "") + + member WithResize: resize:string -> JsonProvider+Thumb + JsonRuntime.WithRecordProperty(this, "resize", (resize :> obj), "") + + member WithW: w:int -> JsonProvider+Thumb + JsonRuntime.WithRecordProperty(this, "w", (w :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,TypeInference.json,False,,,False,False,BackwardCompatible,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,TypeInference.json,False,,,False,False,BackwardCompatible,.expected index 195025d1e..0cc58143c 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,TypeInference.json,False,,,False,False,BackwardCompatible,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,TypeInference.json,False,,,False,False,BackwardCompatible,.expected @@ -53,4 +53,13 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "intLike") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithBoolLike1: boolLike1:decimal -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "boolLike1", (boolLike1 :> obj), "") + + member WithBoolLike2: boolLike2:string -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "boolLike2", (boolLike2 :> obj), "") + + member WithIntLike: intLike:string -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "intLike", (intLike :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,TypeInference.json,False,,,True,False,BackwardCompatible,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,TypeInference.json,False,,,True,False,BackwardCompatible,.expected index cd9e99a9f..b67ab0759 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,TypeInference.json,False,,,True,False,BackwardCompatible,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,TypeInference.json,False,,,True,False,BackwardCompatible,.expected @@ -53,4 +53,13 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "intLike") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertInteger("", value.JsonOpt), value.JsonOpt) + member WithBoolLike1: boolLike1:bool -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "boolLike1", (boolLike1 :> obj), "") + + member WithBoolLike2: boolLike2:bool -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "boolLike2", (boolLike2 :> obj), "") + + member WithIntLike: intLike:int -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "intLike", (intLike :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,TypeInference.json,False,,,True,False,ValuesAndInlineSchemasHints,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,TypeInference.json,False,,,True,False,ValuesAndInlineSchemasHints,.expected index cd9e99a9f..b67ab0759 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,TypeInference.json,False,,,True,False,ValuesAndInlineSchemasHints,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,TypeInference.json,False,,,True,False,ValuesAndInlineSchemasHints,.expected @@ -53,4 +53,13 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "intLike") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertInteger("", value.JsonOpt), value.JsonOpt) + member WithBoolLike1: boolLike1:bool -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "boolLike1", (boolLike1 :> obj), "") + + member WithBoolLike2: boolLike2:bool -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "boolLike2", (boolLike2 :> obj), "") + + member WithIntLike: intLike:int -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "intLike", (intLike :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,TypeInference.json,False,,,True,False,ValuesAndInlineSchemasOverrides,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,TypeInference.json,False,,,True,False,ValuesAndInlineSchemasOverrides,.expected index cd9e99a9f..b67ab0759 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,TypeInference.json,False,,,True,False,ValuesAndInlineSchemasOverrides,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,TypeInference.json,False,,,True,False,ValuesAndInlineSchemasOverrides,.expected @@ -53,4 +53,13 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "intLike") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertInteger("", value.JsonOpt), value.JsonOpt) + member WithBoolLike1: boolLike1:bool -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "boolLike1", (boolLike1 :> obj), "") + + member WithBoolLike2: boolLike2:bool -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "boolLike2", (boolLike2 :> obj), "") + + member WithIntLike: intLike:int -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "intLike", (intLike :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,TypeInference.json,False,,,True,False,ValuesOnly,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,TypeInference.json,False,,,True,False,ValuesOnly,.expected index cd9e99a9f..b67ab0759 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,TypeInference.json,False,,,True,False,ValuesOnly,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,TypeInference.json,False,,,True,False,ValuesOnly,.expected @@ -53,4 +53,13 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "intLike") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertInteger("", value.JsonOpt), value.JsonOpt) + member WithBoolLike1: boolLike1:bool -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "boolLike1", (boolLike1 :> obj), "") + + member WithBoolLike2: boolLike2:bool -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "boolLike2", (boolLike2 :> obj), "") + + member WithIntLike: intLike:int -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "intLike", (intLike :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,Vindinium.json,False,,,True,False,BackwardCompatible,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,Vindinium.json,False,,,True,False,BackwardCompatible,.expected index 7377926e1..86ab5c284 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,Vindinium.json,False,,,True,False,BackwardCompatible,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,Vindinium.json,False,,,True,False,BackwardCompatible,.expected @@ -63,6 +63,21 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "viewUrl") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithGame: game:JsonProvider+Game -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "game", (game :> obj), "") + + member WithHero: hero:JsonProvider+Hero -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "hero", (hero :> obj), "") + + member WithPlayUrl: playUrl:string -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "playUrl", (playUrl :> obj), "") + + member WithToken: token:string -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "token", (token :> obj), "") + + member WithViewUrl: viewUrl:string -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "viewUrl", (viewUrl :> obj), "") + class JsonProvider+Game : FDR.BaseTypes.IJsonDocument new : id:string -> turn:int -> maxTurns:int -> heroes:JsonProvider+JsonProvider+Hero[] -> board:JsonProvider+Board -> finished:bool -> JsonProvider+Game @@ -104,6 +119,24 @@ class JsonProvider+Game : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "turn") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertInteger("", value.JsonOpt), value.JsonOpt) + member WithBoard: board:JsonProvider+Board -> JsonProvider+Game + JsonRuntime.WithRecordProperty(this, "board", (board :> obj), "") + + member WithFinished: finished:bool -> JsonProvider+Game + JsonRuntime.WithRecordProperty(this, "finished", (finished :> obj), "") + + member WithHeroes: heroes:JsonProvider+JsonProvider+Hero[] -> JsonProvider+Game + JsonRuntime.WithRecordProperty(this, "heroes", (heroes :> obj), "") + + member WithId: id:string -> JsonProvider+Game + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithMaxTurns: maxTurns:int -> JsonProvider+Game + JsonRuntime.WithRecordProperty(this, "maxTurns", (maxTurns :> obj), "") + + member WithTurn: turn:int -> JsonProvider+Game + JsonRuntime.WithRecordProperty(this, "turn", (turn :> obj), "") + class JsonProvider+Hero : FDR.BaseTypes.IJsonDocument new : id:int -> name:string -> userId:string -> elo:int -> pos:JsonProvider+Pos -> life:int -> gold:int -> mineCount:int -> spawnPos:JsonProvider+Pos -> crashed:bool -> JsonProvider+Hero @@ -169,6 +202,36 @@ class JsonProvider+Hero : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "userId") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithCrashed: crashed:bool -> JsonProvider+Hero + JsonRuntime.WithRecordProperty(this, "crashed", (crashed :> obj), "") + + member WithElo: elo:int -> JsonProvider+Hero + JsonRuntime.WithRecordProperty(this, "elo", (elo :> obj), "") + + member WithGold: gold:int -> JsonProvider+Hero + JsonRuntime.WithRecordProperty(this, "gold", (gold :> obj), "") + + member WithId: id:int -> JsonProvider+Hero + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithLife: life:int -> JsonProvider+Hero + JsonRuntime.WithRecordProperty(this, "life", (life :> obj), "") + + member WithMineCount: mineCount:int -> JsonProvider+Hero + JsonRuntime.WithRecordProperty(this, "mineCount", (mineCount :> obj), "") + + member WithName: name:string -> JsonProvider+Hero + JsonRuntime.WithRecordProperty(this, "name", (name :> obj), "") + + member WithPos: pos:JsonProvider+Pos -> JsonProvider+Hero + JsonRuntime.WithRecordProperty(this, "pos", (pos :> obj), "") + + member WithSpawnPos: spawnPos:JsonProvider+Pos -> JsonProvider+Hero + JsonRuntime.WithRecordProperty(this, "spawnPos", (spawnPos :> obj), "") + + member WithUserId: userId:string -> JsonProvider+Hero + JsonRuntime.WithRecordProperty(this, "userId", (userId :> obj), "") + class JsonProvider+Board : FDR.BaseTypes.IJsonDocument new : size:int -> tiles:string -> JsonProvider+Board @@ -188,6 +251,12 @@ class JsonProvider+Board : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "tiles") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithSize: size:int -> JsonProvider+Board + JsonRuntime.WithRecordProperty(this, "size", (size :> obj), "") + + member WithTiles: tiles:string -> JsonProvider+Board + JsonRuntime.WithRecordProperty(this, "tiles", (tiles :> obj), "") + class JsonProvider+Pos : FDR.BaseTypes.IJsonDocument new : x:int -> y:int -> JsonProvider+Pos @@ -199,6 +268,12 @@ class JsonProvider+Pos : FDR.BaseTypes.IJsonDocument new : jsonValue:JsonValue -> JsonProvider+Pos JsonDocument.Create(jsonValue, "") + member WithX: x:int -> JsonProvider+Pos + JsonRuntime.WithRecordProperty(this, "x", (x :> obj), "") + + member WithY: y:int -> JsonProvider+Pos + JsonRuntime.WithRecordProperty(this, "y", (y :> obj), "") + member X: int with get let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "x") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertInteger("", value.JsonOpt), value.JsonOpt) diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,Vindinium.json,False,,,True,False,ValuesAndInlineSchemasHints,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,Vindinium.json,False,,,True,False,ValuesAndInlineSchemasHints,.expected index 7377926e1..86ab5c284 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,Vindinium.json,False,,,True,False,ValuesAndInlineSchemasHints,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,Vindinium.json,False,,,True,False,ValuesAndInlineSchemasHints,.expected @@ -63,6 +63,21 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "viewUrl") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithGame: game:JsonProvider+Game -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "game", (game :> obj), "") + + member WithHero: hero:JsonProvider+Hero -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "hero", (hero :> obj), "") + + member WithPlayUrl: playUrl:string -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "playUrl", (playUrl :> obj), "") + + member WithToken: token:string -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "token", (token :> obj), "") + + member WithViewUrl: viewUrl:string -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "viewUrl", (viewUrl :> obj), "") + class JsonProvider+Game : FDR.BaseTypes.IJsonDocument new : id:string -> turn:int -> maxTurns:int -> heroes:JsonProvider+JsonProvider+Hero[] -> board:JsonProvider+Board -> finished:bool -> JsonProvider+Game @@ -104,6 +119,24 @@ class JsonProvider+Game : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "turn") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertInteger("", value.JsonOpt), value.JsonOpt) + member WithBoard: board:JsonProvider+Board -> JsonProvider+Game + JsonRuntime.WithRecordProperty(this, "board", (board :> obj), "") + + member WithFinished: finished:bool -> JsonProvider+Game + JsonRuntime.WithRecordProperty(this, "finished", (finished :> obj), "") + + member WithHeroes: heroes:JsonProvider+JsonProvider+Hero[] -> JsonProvider+Game + JsonRuntime.WithRecordProperty(this, "heroes", (heroes :> obj), "") + + member WithId: id:string -> JsonProvider+Game + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithMaxTurns: maxTurns:int -> JsonProvider+Game + JsonRuntime.WithRecordProperty(this, "maxTurns", (maxTurns :> obj), "") + + member WithTurn: turn:int -> JsonProvider+Game + JsonRuntime.WithRecordProperty(this, "turn", (turn :> obj), "") + class JsonProvider+Hero : FDR.BaseTypes.IJsonDocument new : id:int -> name:string -> userId:string -> elo:int -> pos:JsonProvider+Pos -> life:int -> gold:int -> mineCount:int -> spawnPos:JsonProvider+Pos -> crashed:bool -> JsonProvider+Hero @@ -169,6 +202,36 @@ class JsonProvider+Hero : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "userId") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithCrashed: crashed:bool -> JsonProvider+Hero + JsonRuntime.WithRecordProperty(this, "crashed", (crashed :> obj), "") + + member WithElo: elo:int -> JsonProvider+Hero + JsonRuntime.WithRecordProperty(this, "elo", (elo :> obj), "") + + member WithGold: gold:int -> JsonProvider+Hero + JsonRuntime.WithRecordProperty(this, "gold", (gold :> obj), "") + + member WithId: id:int -> JsonProvider+Hero + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithLife: life:int -> JsonProvider+Hero + JsonRuntime.WithRecordProperty(this, "life", (life :> obj), "") + + member WithMineCount: mineCount:int -> JsonProvider+Hero + JsonRuntime.WithRecordProperty(this, "mineCount", (mineCount :> obj), "") + + member WithName: name:string -> JsonProvider+Hero + JsonRuntime.WithRecordProperty(this, "name", (name :> obj), "") + + member WithPos: pos:JsonProvider+Pos -> JsonProvider+Hero + JsonRuntime.WithRecordProperty(this, "pos", (pos :> obj), "") + + member WithSpawnPos: spawnPos:JsonProvider+Pos -> JsonProvider+Hero + JsonRuntime.WithRecordProperty(this, "spawnPos", (spawnPos :> obj), "") + + member WithUserId: userId:string -> JsonProvider+Hero + JsonRuntime.WithRecordProperty(this, "userId", (userId :> obj), "") + class JsonProvider+Board : FDR.BaseTypes.IJsonDocument new : size:int -> tiles:string -> JsonProvider+Board @@ -188,6 +251,12 @@ class JsonProvider+Board : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "tiles") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithSize: size:int -> JsonProvider+Board + JsonRuntime.WithRecordProperty(this, "size", (size :> obj), "") + + member WithTiles: tiles:string -> JsonProvider+Board + JsonRuntime.WithRecordProperty(this, "tiles", (tiles :> obj), "") + class JsonProvider+Pos : FDR.BaseTypes.IJsonDocument new : x:int -> y:int -> JsonProvider+Pos @@ -199,6 +268,12 @@ class JsonProvider+Pos : FDR.BaseTypes.IJsonDocument new : jsonValue:JsonValue -> JsonProvider+Pos JsonDocument.Create(jsonValue, "") + member WithX: x:int -> JsonProvider+Pos + JsonRuntime.WithRecordProperty(this, "x", (x :> obj), "") + + member WithY: y:int -> JsonProvider+Pos + JsonRuntime.WithRecordProperty(this, "y", (y :> obj), "") + member X: int with get let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "x") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertInteger("", value.JsonOpt), value.JsonOpt) diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,Vindinium.json,False,,,True,False,ValuesAndInlineSchemasOverrides,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,Vindinium.json,False,,,True,False,ValuesAndInlineSchemasOverrides,.expected index 7377926e1..86ab5c284 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,Vindinium.json,False,,,True,False,ValuesAndInlineSchemasOverrides,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,Vindinium.json,False,,,True,False,ValuesAndInlineSchemasOverrides,.expected @@ -63,6 +63,21 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "viewUrl") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithGame: game:JsonProvider+Game -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "game", (game :> obj), "") + + member WithHero: hero:JsonProvider+Hero -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "hero", (hero :> obj), "") + + member WithPlayUrl: playUrl:string -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "playUrl", (playUrl :> obj), "") + + member WithToken: token:string -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "token", (token :> obj), "") + + member WithViewUrl: viewUrl:string -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "viewUrl", (viewUrl :> obj), "") + class JsonProvider+Game : FDR.BaseTypes.IJsonDocument new : id:string -> turn:int -> maxTurns:int -> heroes:JsonProvider+JsonProvider+Hero[] -> board:JsonProvider+Board -> finished:bool -> JsonProvider+Game @@ -104,6 +119,24 @@ class JsonProvider+Game : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "turn") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertInteger("", value.JsonOpt), value.JsonOpt) + member WithBoard: board:JsonProvider+Board -> JsonProvider+Game + JsonRuntime.WithRecordProperty(this, "board", (board :> obj), "") + + member WithFinished: finished:bool -> JsonProvider+Game + JsonRuntime.WithRecordProperty(this, "finished", (finished :> obj), "") + + member WithHeroes: heroes:JsonProvider+JsonProvider+Hero[] -> JsonProvider+Game + JsonRuntime.WithRecordProperty(this, "heroes", (heroes :> obj), "") + + member WithId: id:string -> JsonProvider+Game + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithMaxTurns: maxTurns:int -> JsonProvider+Game + JsonRuntime.WithRecordProperty(this, "maxTurns", (maxTurns :> obj), "") + + member WithTurn: turn:int -> JsonProvider+Game + JsonRuntime.WithRecordProperty(this, "turn", (turn :> obj), "") + class JsonProvider+Hero : FDR.BaseTypes.IJsonDocument new : id:int -> name:string -> userId:string -> elo:int -> pos:JsonProvider+Pos -> life:int -> gold:int -> mineCount:int -> spawnPos:JsonProvider+Pos -> crashed:bool -> JsonProvider+Hero @@ -169,6 +202,36 @@ class JsonProvider+Hero : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "userId") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithCrashed: crashed:bool -> JsonProvider+Hero + JsonRuntime.WithRecordProperty(this, "crashed", (crashed :> obj), "") + + member WithElo: elo:int -> JsonProvider+Hero + JsonRuntime.WithRecordProperty(this, "elo", (elo :> obj), "") + + member WithGold: gold:int -> JsonProvider+Hero + JsonRuntime.WithRecordProperty(this, "gold", (gold :> obj), "") + + member WithId: id:int -> JsonProvider+Hero + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithLife: life:int -> JsonProvider+Hero + JsonRuntime.WithRecordProperty(this, "life", (life :> obj), "") + + member WithMineCount: mineCount:int -> JsonProvider+Hero + JsonRuntime.WithRecordProperty(this, "mineCount", (mineCount :> obj), "") + + member WithName: name:string -> JsonProvider+Hero + JsonRuntime.WithRecordProperty(this, "name", (name :> obj), "") + + member WithPos: pos:JsonProvider+Pos -> JsonProvider+Hero + JsonRuntime.WithRecordProperty(this, "pos", (pos :> obj), "") + + member WithSpawnPos: spawnPos:JsonProvider+Pos -> JsonProvider+Hero + JsonRuntime.WithRecordProperty(this, "spawnPos", (spawnPos :> obj), "") + + member WithUserId: userId:string -> JsonProvider+Hero + JsonRuntime.WithRecordProperty(this, "userId", (userId :> obj), "") + class JsonProvider+Board : FDR.BaseTypes.IJsonDocument new : size:int -> tiles:string -> JsonProvider+Board @@ -188,6 +251,12 @@ class JsonProvider+Board : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "tiles") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithSize: size:int -> JsonProvider+Board + JsonRuntime.WithRecordProperty(this, "size", (size :> obj), "") + + member WithTiles: tiles:string -> JsonProvider+Board + JsonRuntime.WithRecordProperty(this, "tiles", (tiles :> obj), "") + class JsonProvider+Pos : FDR.BaseTypes.IJsonDocument new : x:int -> y:int -> JsonProvider+Pos @@ -199,6 +268,12 @@ class JsonProvider+Pos : FDR.BaseTypes.IJsonDocument new : jsonValue:JsonValue -> JsonProvider+Pos JsonDocument.Create(jsonValue, "") + member WithX: x:int -> JsonProvider+Pos + JsonRuntime.WithRecordProperty(this, "x", (x :> obj), "") + + member WithY: y:int -> JsonProvider+Pos + JsonRuntime.WithRecordProperty(this, "y", (y :> obj), "") + member X: int with get let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "x") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertInteger("", value.JsonOpt), value.JsonOpt) diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,Vindinium.json,False,,,True,False,ValuesOnly,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,Vindinium.json,False,,,True,False,ValuesOnly,.expected index 7377926e1..86ab5c284 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,Vindinium.json,False,,,True,False,ValuesOnly,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,Vindinium.json,False,,,True,False,ValuesOnly,.expected @@ -63,6 +63,21 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "viewUrl") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithGame: game:JsonProvider+Game -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "game", (game :> obj), "") + + member WithHero: hero:JsonProvider+Hero -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "hero", (hero :> obj), "") + + member WithPlayUrl: playUrl:string -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "playUrl", (playUrl :> obj), "") + + member WithToken: token:string -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "token", (token :> obj), "") + + member WithViewUrl: viewUrl:string -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "viewUrl", (viewUrl :> obj), "") + class JsonProvider+Game : FDR.BaseTypes.IJsonDocument new : id:string -> turn:int -> maxTurns:int -> heroes:JsonProvider+JsonProvider+Hero[] -> board:JsonProvider+Board -> finished:bool -> JsonProvider+Game @@ -104,6 +119,24 @@ class JsonProvider+Game : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "turn") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertInteger("", value.JsonOpt), value.JsonOpt) + member WithBoard: board:JsonProvider+Board -> JsonProvider+Game + JsonRuntime.WithRecordProperty(this, "board", (board :> obj), "") + + member WithFinished: finished:bool -> JsonProvider+Game + JsonRuntime.WithRecordProperty(this, "finished", (finished :> obj), "") + + member WithHeroes: heroes:JsonProvider+JsonProvider+Hero[] -> JsonProvider+Game + JsonRuntime.WithRecordProperty(this, "heroes", (heroes :> obj), "") + + member WithId: id:string -> JsonProvider+Game + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithMaxTurns: maxTurns:int -> JsonProvider+Game + JsonRuntime.WithRecordProperty(this, "maxTurns", (maxTurns :> obj), "") + + member WithTurn: turn:int -> JsonProvider+Game + JsonRuntime.WithRecordProperty(this, "turn", (turn :> obj), "") + class JsonProvider+Hero : FDR.BaseTypes.IJsonDocument new : id:int -> name:string -> userId:string -> elo:int -> pos:JsonProvider+Pos -> life:int -> gold:int -> mineCount:int -> spawnPos:JsonProvider+Pos -> crashed:bool -> JsonProvider+Hero @@ -169,6 +202,36 @@ class JsonProvider+Hero : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "userId") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithCrashed: crashed:bool -> JsonProvider+Hero + JsonRuntime.WithRecordProperty(this, "crashed", (crashed :> obj), "") + + member WithElo: elo:int -> JsonProvider+Hero + JsonRuntime.WithRecordProperty(this, "elo", (elo :> obj), "") + + member WithGold: gold:int -> JsonProvider+Hero + JsonRuntime.WithRecordProperty(this, "gold", (gold :> obj), "") + + member WithId: id:int -> JsonProvider+Hero + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithLife: life:int -> JsonProvider+Hero + JsonRuntime.WithRecordProperty(this, "life", (life :> obj), "") + + member WithMineCount: mineCount:int -> JsonProvider+Hero + JsonRuntime.WithRecordProperty(this, "mineCount", (mineCount :> obj), "") + + member WithName: name:string -> JsonProvider+Hero + JsonRuntime.WithRecordProperty(this, "name", (name :> obj), "") + + member WithPos: pos:JsonProvider+Pos -> JsonProvider+Hero + JsonRuntime.WithRecordProperty(this, "pos", (pos :> obj), "") + + member WithSpawnPos: spawnPos:JsonProvider+Pos -> JsonProvider+Hero + JsonRuntime.WithRecordProperty(this, "spawnPos", (spawnPos :> obj), "") + + member WithUserId: userId:string -> JsonProvider+Hero + JsonRuntime.WithRecordProperty(this, "userId", (userId :> obj), "") + class JsonProvider+Board : FDR.BaseTypes.IJsonDocument new : size:int -> tiles:string -> JsonProvider+Board @@ -188,6 +251,12 @@ class JsonProvider+Board : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "tiles") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithSize: size:int -> JsonProvider+Board + JsonRuntime.WithRecordProperty(this, "size", (size :> obj), "") + + member WithTiles: tiles:string -> JsonProvider+Board + JsonRuntime.WithRecordProperty(this, "tiles", (tiles :> obj), "") + class JsonProvider+Pos : FDR.BaseTypes.IJsonDocument new : x:int -> y:int -> JsonProvider+Pos @@ -199,6 +268,12 @@ class JsonProvider+Pos : FDR.BaseTypes.IJsonDocument new : jsonValue:JsonValue -> JsonProvider+Pos JsonDocument.Create(jsonValue, "") + member WithX: x:int -> JsonProvider+Pos + JsonRuntime.WithRecordProperty(this, "x", (x :> obj), "") + + member WithY: y:int -> JsonProvider+Pos + JsonRuntime.WithRecordProperty(this, "y", (y :> obj), "") + member X: int with get let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "x") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertInteger("", value.JsonOpt), value.JsonOpt) diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,WikiData.json,False,,,True,False,BackwardCompatible,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,WikiData.json,False,,,True,False,BackwardCompatible,.expected index 1947d86ac..0d4515e0a 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,WikiData.json,False,,,True,False,BackwardCompatible,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,WikiData.json,False,,,True,False,BackwardCompatible,.expected @@ -58,6 +58,18 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "lastName") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithAddress: address:JsonProvider+Address -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "address", (address :> obj), "") + + member WithAge: age:int -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "age", (age :> obj), "") + + member WithFirstName: firstName:string -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "firstName", (firstName :> obj), "") + + member WithLastName: lastName:string -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "lastName", (lastName :> obj), "") + class JsonProvider+Address : FDR.BaseTypes.IJsonDocument new : streetAddress:string -> city:string -> state:string -> postalCode:int -> JsonProvider+Address @@ -89,4 +101,16 @@ class JsonProvider+Address : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "streetAddress") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithCity: city:string -> JsonProvider+Address + JsonRuntime.WithRecordProperty(this, "city", (city :> obj), "") + + member WithPostalCode: postalCode:int -> JsonProvider+Address + JsonRuntime.WithRecordProperty(this, "postalCode", (postalCode :> obj), "") + + member WithState: state:string -> JsonProvider+Address + JsonRuntime.WithRecordProperty(this, "state", (state :> obj), "") + + member WithStreetAddress: streetAddress:string -> JsonProvider+Address + JsonRuntime.WithRecordProperty(this, "streetAddress", (streetAddress :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,WikiData.json,False,,,True,False,ValuesAndInlineSchemasHints,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,WikiData.json,False,,,True,False,ValuesAndInlineSchemasHints,.expected index 1947d86ac..0d4515e0a 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,WikiData.json,False,,,True,False,ValuesAndInlineSchemasHints,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,WikiData.json,False,,,True,False,ValuesAndInlineSchemasHints,.expected @@ -58,6 +58,18 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "lastName") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithAddress: address:JsonProvider+Address -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "address", (address :> obj), "") + + member WithAge: age:int -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "age", (age :> obj), "") + + member WithFirstName: firstName:string -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "firstName", (firstName :> obj), "") + + member WithLastName: lastName:string -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "lastName", (lastName :> obj), "") + class JsonProvider+Address : FDR.BaseTypes.IJsonDocument new : streetAddress:string -> city:string -> state:string -> postalCode:int -> JsonProvider+Address @@ -89,4 +101,16 @@ class JsonProvider+Address : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "streetAddress") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithCity: city:string -> JsonProvider+Address + JsonRuntime.WithRecordProperty(this, "city", (city :> obj), "") + + member WithPostalCode: postalCode:int -> JsonProvider+Address + JsonRuntime.WithRecordProperty(this, "postalCode", (postalCode :> obj), "") + + member WithState: state:string -> JsonProvider+Address + JsonRuntime.WithRecordProperty(this, "state", (state :> obj), "") + + member WithStreetAddress: streetAddress:string -> JsonProvider+Address + JsonRuntime.WithRecordProperty(this, "streetAddress", (streetAddress :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,WikiData.json,False,,,True,False,ValuesAndInlineSchemasOverrides,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,WikiData.json,False,,,True,False,ValuesAndInlineSchemasOverrides,.expected index 1947d86ac..0d4515e0a 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,WikiData.json,False,,,True,False,ValuesAndInlineSchemasOverrides,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,WikiData.json,False,,,True,False,ValuesAndInlineSchemasOverrides,.expected @@ -58,6 +58,18 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "lastName") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithAddress: address:JsonProvider+Address -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "address", (address :> obj), "") + + member WithAge: age:int -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "age", (age :> obj), "") + + member WithFirstName: firstName:string -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "firstName", (firstName :> obj), "") + + member WithLastName: lastName:string -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "lastName", (lastName :> obj), "") + class JsonProvider+Address : FDR.BaseTypes.IJsonDocument new : streetAddress:string -> city:string -> state:string -> postalCode:int -> JsonProvider+Address @@ -89,4 +101,16 @@ class JsonProvider+Address : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "streetAddress") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithCity: city:string -> JsonProvider+Address + JsonRuntime.WithRecordProperty(this, "city", (city :> obj), "") + + member WithPostalCode: postalCode:int -> JsonProvider+Address + JsonRuntime.WithRecordProperty(this, "postalCode", (postalCode :> obj), "") + + member WithState: state:string -> JsonProvider+Address + JsonRuntime.WithRecordProperty(this, "state", (state :> obj), "") + + member WithStreetAddress: streetAddress:string -> JsonProvider+Address + JsonRuntime.WithRecordProperty(this, "streetAddress", (streetAddress :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,WikiData.json,False,,,True,False,ValuesOnly,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,WikiData.json,False,,,True,False,ValuesOnly,.expected index 1947d86ac..0d4515e0a 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,WikiData.json,False,,,True,False,ValuesOnly,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,WikiData.json,False,,,True,False,ValuesOnly,.expected @@ -58,6 +58,18 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "lastName") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithAddress: address:JsonProvider+Address -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "address", (address :> obj), "") + + member WithAge: age:int -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "age", (age :> obj), "") + + member WithFirstName: firstName:string -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "firstName", (firstName :> obj), "") + + member WithLastName: lastName:string -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "lastName", (lastName :> obj), "") + class JsonProvider+Address : FDR.BaseTypes.IJsonDocument new : streetAddress:string -> city:string -> state:string -> postalCode:int -> JsonProvider+Address @@ -89,4 +101,16 @@ class JsonProvider+Address : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "streetAddress") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithCity: city:string -> JsonProvider+Address + JsonRuntime.WithRecordProperty(this, "city", (city :> obj), "") + + member WithPostalCode: postalCode:int -> JsonProvider+Address + JsonRuntime.WithRecordProperty(this, "postalCode", (postalCode :> obj), "") + + member WithState: state:string -> JsonProvider+Address + JsonRuntime.WithRecordProperty(this, "state", (state :> obj), "") + + member WithStreetAddress: streetAddress:string -> JsonProvider+Address + JsonRuntime.WithRecordProperty(this, "streetAddress", (streetAddress :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,WorldBank.json,False,WorldBank,,True,False,BackwardCompatible,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,WorldBank.json,False,WorldBank,,True,False,BackwardCompatible,.expected index 12a9ebf3c..f0ce24f50 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,WorldBank.json,False,WorldBank,,True,False,BackwardCompatible,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,WorldBank.json,False,WorldBank,,True,False,BackwardCompatible,.expected @@ -77,6 +77,21 @@ class JsonProvider+Record : FDR.BaseTypes.IJsonDocument member Value: decimal option with get JsonRuntime.ConvertDecimal("", JsonRuntime.TryGetPropertyUnpacked(this, "value")) + member WithCountry: country:JsonProvider+Indicator -> JsonProvider+Record + JsonRuntime.WithRecordProperty(this, "country", (country :> obj), "") + + member WithDate: date:int -> JsonProvider+Record + JsonRuntime.WithRecordProperty(this, "date", (date :> obj), "") + + member WithDecimal: decimal:int -> JsonProvider+Record + JsonRuntime.WithRecordProperty(this, "decimal", (decimal :> obj), "") + + member WithIndicator: indicator:JsonProvider+Indicator -> JsonProvider+Record + JsonRuntime.WithRecordProperty(this, "indicator", (indicator :> obj), "") + + member WithValue: value:decimal option -> JsonProvider+Record + JsonRuntime.WithRecordProperty(this, "value", (value :> obj), "") + class JsonProvider+Record2 : FDR.BaseTypes.IJsonDocument new : page:int -> pages:int -> perPage:int -> total:int -> JsonProvider+Record2 @@ -108,6 +123,18 @@ class JsonProvider+Record2 : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "total") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertInteger("", value.JsonOpt), value.JsonOpt) + member WithPage: page:int -> JsonProvider+Record2 + JsonRuntime.WithRecordProperty(this, "page", (page :> obj), "") + + member WithPages: pages:int -> JsonProvider+Record2 + JsonRuntime.WithRecordProperty(this, "pages", (pages :> obj), "") + + member WithPerPage: perPage:int -> JsonProvider+Record2 + JsonRuntime.WithRecordProperty(this, "per_page", (perPage :> obj), "") + + member WithTotal: total:int -> JsonProvider+Record2 + JsonRuntime.WithRecordProperty(this, "total", (total :> obj), "") + class JsonProvider+Indicator : FDR.BaseTypes.IJsonDocument new : id:string -> value:string -> JsonProvider+Indicator @@ -127,4 +154,10 @@ class JsonProvider+Indicator : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "value") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithId: id:string -> JsonProvider+Indicator + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithValue: value:string -> JsonProvider+Indicator + JsonRuntime.WithRecordProperty(this, "value", (value :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,WorldBank.json,False,WorldBank,,True,False,ValuesAndInlineSchemasHints,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,WorldBank.json,False,WorldBank,,True,False,ValuesAndInlineSchemasHints,.expected index 12a9ebf3c..f0ce24f50 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,WorldBank.json,False,WorldBank,,True,False,ValuesAndInlineSchemasHints,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,WorldBank.json,False,WorldBank,,True,False,ValuesAndInlineSchemasHints,.expected @@ -77,6 +77,21 @@ class JsonProvider+Record : FDR.BaseTypes.IJsonDocument member Value: decimal option with get JsonRuntime.ConvertDecimal("", JsonRuntime.TryGetPropertyUnpacked(this, "value")) + member WithCountry: country:JsonProvider+Indicator -> JsonProvider+Record + JsonRuntime.WithRecordProperty(this, "country", (country :> obj), "") + + member WithDate: date:int -> JsonProvider+Record + JsonRuntime.WithRecordProperty(this, "date", (date :> obj), "") + + member WithDecimal: decimal:int -> JsonProvider+Record + JsonRuntime.WithRecordProperty(this, "decimal", (decimal :> obj), "") + + member WithIndicator: indicator:JsonProvider+Indicator -> JsonProvider+Record + JsonRuntime.WithRecordProperty(this, "indicator", (indicator :> obj), "") + + member WithValue: value:decimal option -> JsonProvider+Record + JsonRuntime.WithRecordProperty(this, "value", (value :> obj), "") + class JsonProvider+Record2 : FDR.BaseTypes.IJsonDocument new : page:int -> pages:int -> perPage:int -> total:int -> JsonProvider+Record2 @@ -108,6 +123,18 @@ class JsonProvider+Record2 : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "total") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertInteger("", value.JsonOpt), value.JsonOpt) + member WithPage: page:int -> JsonProvider+Record2 + JsonRuntime.WithRecordProperty(this, "page", (page :> obj), "") + + member WithPages: pages:int -> JsonProvider+Record2 + JsonRuntime.WithRecordProperty(this, "pages", (pages :> obj), "") + + member WithPerPage: perPage:int -> JsonProvider+Record2 + JsonRuntime.WithRecordProperty(this, "per_page", (perPage :> obj), "") + + member WithTotal: total:int -> JsonProvider+Record2 + JsonRuntime.WithRecordProperty(this, "total", (total :> obj), "") + class JsonProvider+Indicator : FDR.BaseTypes.IJsonDocument new : id:string -> value:string -> JsonProvider+Indicator @@ -127,4 +154,10 @@ class JsonProvider+Indicator : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "value") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithId: id:string -> JsonProvider+Indicator + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithValue: value:string -> JsonProvider+Indicator + JsonRuntime.WithRecordProperty(this, "value", (value :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,WorldBank.json,False,WorldBank,,True,False,ValuesAndInlineSchemasOverrides,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,WorldBank.json,False,WorldBank,,True,False,ValuesAndInlineSchemasOverrides,.expected index 12a9ebf3c..f0ce24f50 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,WorldBank.json,False,WorldBank,,True,False,ValuesAndInlineSchemasOverrides,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,WorldBank.json,False,WorldBank,,True,False,ValuesAndInlineSchemasOverrides,.expected @@ -77,6 +77,21 @@ class JsonProvider+Record : FDR.BaseTypes.IJsonDocument member Value: decimal option with get JsonRuntime.ConvertDecimal("", JsonRuntime.TryGetPropertyUnpacked(this, "value")) + member WithCountry: country:JsonProvider+Indicator -> JsonProvider+Record + JsonRuntime.WithRecordProperty(this, "country", (country :> obj), "") + + member WithDate: date:int -> JsonProvider+Record + JsonRuntime.WithRecordProperty(this, "date", (date :> obj), "") + + member WithDecimal: decimal:int -> JsonProvider+Record + JsonRuntime.WithRecordProperty(this, "decimal", (decimal :> obj), "") + + member WithIndicator: indicator:JsonProvider+Indicator -> JsonProvider+Record + JsonRuntime.WithRecordProperty(this, "indicator", (indicator :> obj), "") + + member WithValue: value:decimal option -> JsonProvider+Record + JsonRuntime.WithRecordProperty(this, "value", (value :> obj), "") + class JsonProvider+Record2 : FDR.BaseTypes.IJsonDocument new : page:int -> pages:int -> perPage:int -> total:int -> JsonProvider+Record2 @@ -108,6 +123,18 @@ class JsonProvider+Record2 : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "total") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertInteger("", value.JsonOpt), value.JsonOpt) + member WithPage: page:int -> JsonProvider+Record2 + JsonRuntime.WithRecordProperty(this, "page", (page :> obj), "") + + member WithPages: pages:int -> JsonProvider+Record2 + JsonRuntime.WithRecordProperty(this, "pages", (pages :> obj), "") + + member WithPerPage: perPage:int -> JsonProvider+Record2 + JsonRuntime.WithRecordProperty(this, "per_page", (perPage :> obj), "") + + member WithTotal: total:int -> JsonProvider+Record2 + JsonRuntime.WithRecordProperty(this, "total", (total :> obj), "") + class JsonProvider+Indicator : FDR.BaseTypes.IJsonDocument new : id:string -> value:string -> JsonProvider+Indicator @@ -127,4 +154,10 @@ class JsonProvider+Indicator : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "value") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithId: id:string -> JsonProvider+Indicator + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithValue: value:string -> JsonProvider+Indicator + JsonRuntime.WithRecordProperty(this, "value", (value :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,WorldBank.json,False,WorldBank,,True,False,ValuesOnly,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,WorldBank.json,False,WorldBank,,True,False,ValuesOnly,.expected index 12a9ebf3c..f0ce24f50 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,WorldBank.json,False,WorldBank,,True,False,ValuesOnly,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,WorldBank.json,False,WorldBank,,True,False,ValuesOnly,.expected @@ -77,6 +77,21 @@ class JsonProvider+Record : FDR.BaseTypes.IJsonDocument member Value: decimal option with get JsonRuntime.ConvertDecimal("", JsonRuntime.TryGetPropertyUnpacked(this, "value")) + member WithCountry: country:JsonProvider+Indicator -> JsonProvider+Record + JsonRuntime.WithRecordProperty(this, "country", (country :> obj), "") + + member WithDate: date:int -> JsonProvider+Record + JsonRuntime.WithRecordProperty(this, "date", (date :> obj), "") + + member WithDecimal: decimal:int -> JsonProvider+Record + JsonRuntime.WithRecordProperty(this, "decimal", (decimal :> obj), "") + + member WithIndicator: indicator:JsonProvider+Indicator -> JsonProvider+Record + JsonRuntime.WithRecordProperty(this, "indicator", (indicator :> obj), "") + + member WithValue: value:decimal option -> JsonProvider+Record + JsonRuntime.WithRecordProperty(this, "value", (value :> obj), "") + class JsonProvider+Record2 : FDR.BaseTypes.IJsonDocument new : page:int -> pages:int -> perPage:int -> total:int -> JsonProvider+Record2 @@ -108,6 +123,18 @@ class JsonProvider+Record2 : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "total") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertInteger("", value.JsonOpt), value.JsonOpt) + member WithPage: page:int -> JsonProvider+Record2 + JsonRuntime.WithRecordProperty(this, "page", (page :> obj), "") + + member WithPages: pages:int -> JsonProvider+Record2 + JsonRuntime.WithRecordProperty(this, "pages", (pages :> obj), "") + + member WithPerPage: perPage:int -> JsonProvider+Record2 + JsonRuntime.WithRecordProperty(this, "per_page", (perPage :> obj), "") + + member WithTotal: total:int -> JsonProvider+Record2 + JsonRuntime.WithRecordProperty(this, "total", (total :> obj), "") + class JsonProvider+Indicator : FDR.BaseTypes.IJsonDocument new : id:string -> value:string -> JsonProvider+Indicator @@ -127,4 +154,10 @@ class JsonProvider+Indicator : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "value") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithId: id:string -> JsonProvider+Indicator + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithValue: value:string -> JsonProvider+Indicator + JsonRuntime.WithRecordProperty(this, "value", (value :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,contacts.json,False,,,True,False,BackwardCompatible,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,contacts.json,False,,,True,False,BackwardCompatible,.expected index 2bc3a204d..c32ca52b8 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,contacts.json,False,,,True,False,BackwardCompatible,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,contacts.json,False,,,True,False,BackwardCompatible,.expected @@ -40,6 +40,9 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument member Ab: JsonProvider+Ab with get JsonRuntime.GetPropertyPacked(this, "ab") + member WithAb: ab:JsonProvider+Ab -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "ab", (ab :> obj), "") + class JsonProvider+Ab : FDR.BaseTypes.IJsonDocument new : persons:JsonProvider+JsonProvider+Person[] -> JsonProvider+Ab @@ -52,6 +55,9 @@ class JsonProvider+Ab : FDR.BaseTypes.IJsonDocument member Persons: JsonProvider+JsonProvider+Person[] with get JsonRuntime.ConvertArray(JsonRuntime.GetPropertyPackedOrNull(this, "persons"), new Func<_,_>(id))) + member WithPersons: persons:JsonProvider+JsonProvider+Person[] -> JsonProvider+Ab + JsonRuntime.WithRecordProperty(this, "persons", (persons :> obj), "") + class JsonProvider+Person : FDR.BaseTypes.IJsonDocument new : contacts:JsonProvider+JsonProvider+Contact[] -> emails:JsonValue[] -> phones:JsonValue[] -> JsonProvider+Person @@ -74,6 +80,15 @@ class JsonProvider+Person : FDR.BaseTypes.IJsonDocument member Phones: FDR.BaseTypes.IJsonDocument[] with get JsonRuntime.ConvertArray(JsonRuntime.GetPropertyPackedOrNull(this, "phones"), new Func<_,_>(id))) + member WithContacts: contacts:JsonProvider+JsonProvider+Contact[] -> JsonProvider+Person + JsonRuntime.WithRecordProperty(this, "contacts", (contacts :> obj), "") + + member WithEmails: emails:JsonValue[] -> JsonProvider+Person + JsonRuntime.WithRecordProperty(this, "emails", (emails :> obj), "") + + member WithPhones: phones:JsonValue[] -> JsonProvider+Person + JsonRuntime.WithRecordProperty(this, "phones", (phones :> obj), "") + class JsonProvider+Contact : FDR.BaseTypes.IJsonDocument new : emailCapability:int[] -> emailImEnabled:bool[] -> emails:string[] -> phones:JsonValue[] -> JsonProvider+Contact @@ -101,4 +116,16 @@ class JsonProvider+Contact : FDR.BaseTypes.IJsonDocument member Phones: FDR.BaseTypes.IJsonDocument[] with get JsonRuntime.ConvertArray(JsonRuntime.GetPropertyPackedOrNull(this, "phones"), new Func<_,_>(id))) + member WithEmailCapability: emailCapability:int[] -> JsonProvider+Contact + JsonRuntime.WithRecordProperty(this, "emailCapability", (emailCapability :> obj), "") + + member WithEmailImEnabled: emailImEnabled:bool[] -> JsonProvider+Contact + JsonRuntime.WithRecordProperty(this, "emailIMEnabled", (emailImEnabled :> obj), "") + + member WithEmails: emails:string[] -> JsonProvider+Contact + JsonRuntime.WithRecordProperty(this, "emails", (emails :> obj), "") + + member WithPhones: phones:JsonValue[] -> JsonProvider+Contact + JsonRuntime.WithRecordProperty(this, "phones", (phones :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,contacts.json,False,,,True,False,ValuesAndInlineSchemasHints,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,contacts.json,False,,,True,False,ValuesAndInlineSchemasHints,.expected index 2bc3a204d..c32ca52b8 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,contacts.json,False,,,True,False,ValuesAndInlineSchemasHints,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,contacts.json,False,,,True,False,ValuesAndInlineSchemasHints,.expected @@ -40,6 +40,9 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument member Ab: JsonProvider+Ab with get JsonRuntime.GetPropertyPacked(this, "ab") + member WithAb: ab:JsonProvider+Ab -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "ab", (ab :> obj), "") + class JsonProvider+Ab : FDR.BaseTypes.IJsonDocument new : persons:JsonProvider+JsonProvider+Person[] -> JsonProvider+Ab @@ -52,6 +55,9 @@ class JsonProvider+Ab : FDR.BaseTypes.IJsonDocument member Persons: JsonProvider+JsonProvider+Person[] with get JsonRuntime.ConvertArray(JsonRuntime.GetPropertyPackedOrNull(this, "persons"), new Func<_,_>(id))) + member WithPersons: persons:JsonProvider+JsonProvider+Person[] -> JsonProvider+Ab + JsonRuntime.WithRecordProperty(this, "persons", (persons :> obj), "") + class JsonProvider+Person : FDR.BaseTypes.IJsonDocument new : contacts:JsonProvider+JsonProvider+Contact[] -> emails:JsonValue[] -> phones:JsonValue[] -> JsonProvider+Person @@ -74,6 +80,15 @@ class JsonProvider+Person : FDR.BaseTypes.IJsonDocument member Phones: FDR.BaseTypes.IJsonDocument[] with get JsonRuntime.ConvertArray(JsonRuntime.GetPropertyPackedOrNull(this, "phones"), new Func<_,_>(id))) + member WithContacts: contacts:JsonProvider+JsonProvider+Contact[] -> JsonProvider+Person + JsonRuntime.WithRecordProperty(this, "contacts", (contacts :> obj), "") + + member WithEmails: emails:JsonValue[] -> JsonProvider+Person + JsonRuntime.WithRecordProperty(this, "emails", (emails :> obj), "") + + member WithPhones: phones:JsonValue[] -> JsonProvider+Person + JsonRuntime.WithRecordProperty(this, "phones", (phones :> obj), "") + class JsonProvider+Contact : FDR.BaseTypes.IJsonDocument new : emailCapability:int[] -> emailImEnabled:bool[] -> emails:string[] -> phones:JsonValue[] -> JsonProvider+Contact @@ -101,4 +116,16 @@ class JsonProvider+Contact : FDR.BaseTypes.IJsonDocument member Phones: FDR.BaseTypes.IJsonDocument[] with get JsonRuntime.ConvertArray(JsonRuntime.GetPropertyPackedOrNull(this, "phones"), new Func<_,_>(id))) + member WithEmailCapability: emailCapability:int[] -> JsonProvider+Contact + JsonRuntime.WithRecordProperty(this, "emailCapability", (emailCapability :> obj), "") + + member WithEmailImEnabled: emailImEnabled:bool[] -> JsonProvider+Contact + JsonRuntime.WithRecordProperty(this, "emailIMEnabled", (emailImEnabled :> obj), "") + + member WithEmails: emails:string[] -> JsonProvider+Contact + JsonRuntime.WithRecordProperty(this, "emails", (emails :> obj), "") + + member WithPhones: phones:JsonValue[] -> JsonProvider+Contact + JsonRuntime.WithRecordProperty(this, "phones", (phones :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,contacts.json,False,,,True,False,ValuesAndInlineSchemasOverrides,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,contacts.json,False,,,True,False,ValuesAndInlineSchemasOverrides,.expected index 2bc3a204d..c32ca52b8 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,contacts.json,False,,,True,False,ValuesAndInlineSchemasOverrides,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,contacts.json,False,,,True,False,ValuesAndInlineSchemasOverrides,.expected @@ -40,6 +40,9 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument member Ab: JsonProvider+Ab with get JsonRuntime.GetPropertyPacked(this, "ab") + member WithAb: ab:JsonProvider+Ab -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "ab", (ab :> obj), "") + class JsonProvider+Ab : FDR.BaseTypes.IJsonDocument new : persons:JsonProvider+JsonProvider+Person[] -> JsonProvider+Ab @@ -52,6 +55,9 @@ class JsonProvider+Ab : FDR.BaseTypes.IJsonDocument member Persons: JsonProvider+JsonProvider+Person[] with get JsonRuntime.ConvertArray(JsonRuntime.GetPropertyPackedOrNull(this, "persons"), new Func<_,_>(id))) + member WithPersons: persons:JsonProvider+JsonProvider+Person[] -> JsonProvider+Ab + JsonRuntime.WithRecordProperty(this, "persons", (persons :> obj), "") + class JsonProvider+Person : FDR.BaseTypes.IJsonDocument new : contacts:JsonProvider+JsonProvider+Contact[] -> emails:JsonValue[] -> phones:JsonValue[] -> JsonProvider+Person @@ -74,6 +80,15 @@ class JsonProvider+Person : FDR.BaseTypes.IJsonDocument member Phones: FDR.BaseTypes.IJsonDocument[] with get JsonRuntime.ConvertArray(JsonRuntime.GetPropertyPackedOrNull(this, "phones"), new Func<_,_>(id))) + member WithContacts: contacts:JsonProvider+JsonProvider+Contact[] -> JsonProvider+Person + JsonRuntime.WithRecordProperty(this, "contacts", (contacts :> obj), "") + + member WithEmails: emails:JsonValue[] -> JsonProvider+Person + JsonRuntime.WithRecordProperty(this, "emails", (emails :> obj), "") + + member WithPhones: phones:JsonValue[] -> JsonProvider+Person + JsonRuntime.WithRecordProperty(this, "phones", (phones :> obj), "") + class JsonProvider+Contact : FDR.BaseTypes.IJsonDocument new : emailCapability:int[] -> emailImEnabled:bool[] -> emails:string[] -> phones:JsonValue[] -> JsonProvider+Contact @@ -101,4 +116,16 @@ class JsonProvider+Contact : FDR.BaseTypes.IJsonDocument member Phones: FDR.BaseTypes.IJsonDocument[] with get JsonRuntime.ConvertArray(JsonRuntime.GetPropertyPackedOrNull(this, "phones"), new Func<_,_>(id))) + member WithEmailCapability: emailCapability:int[] -> JsonProvider+Contact + JsonRuntime.WithRecordProperty(this, "emailCapability", (emailCapability :> obj), "") + + member WithEmailImEnabled: emailImEnabled:bool[] -> JsonProvider+Contact + JsonRuntime.WithRecordProperty(this, "emailIMEnabled", (emailImEnabled :> obj), "") + + member WithEmails: emails:string[] -> JsonProvider+Contact + JsonRuntime.WithRecordProperty(this, "emails", (emails :> obj), "") + + member WithPhones: phones:JsonValue[] -> JsonProvider+Contact + JsonRuntime.WithRecordProperty(this, "phones", (phones :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,contacts.json,False,,,True,False,ValuesOnly,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,contacts.json,False,,,True,False,ValuesOnly,.expected index 2bc3a204d..c32ca52b8 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,contacts.json,False,,,True,False,ValuesOnly,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,contacts.json,False,,,True,False,ValuesOnly,.expected @@ -40,6 +40,9 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument member Ab: JsonProvider+Ab with get JsonRuntime.GetPropertyPacked(this, "ab") + member WithAb: ab:JsonProvider+Ab -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "ab", (ab :> obj), "") + class JsonProvider+Ab : FDR.BaseTypes.IJsonDocument new : persons:JsonProvider+JsonProvider+Person[] -> JsonProvider+Ab @@ -52,6 +55,9 @@ class JsonProvider+Ab : FDR.BaseTypes.IJsonDocument member Persons: JsonProvider+JsonProvider+Person[] with get JsonRuntime.ConvertArray(JsonRuntime.GetPropertyPackedOrNull(this, "persons"), new Func<_,_>(id))) + member WithPersons: persons:JsonProvider+JsonProvider+Person[] -> JsonProvider+Ab + JsonRuntime.WithRecordProperty(this, "persons", (persons :> obj), "") + class JsonProvider+Person : FDR.BaseTypes.IJsonDocument new : contacts:JsonProvider+JsonProvider+Contact[] -> emails:JsonValue[] -> phones:JsonValue[] -> JsonProvider+Person @@ -74,6 +80,15 @@ class JsonProvider+Person : FDR.BaseTypes.IJsonDocument member Phones: FDR.BaseTypes.IJsonDocument[] with get JsonRuntime.ConvertArray(JsonRuntime.GetPropertyPackedOrNull(this, "phones"), new Func<_,_>(id))) + member WithContacts: contacts:JsonProvider+JsonProvider+Contact[] -> JsonProvider+Person + JsonRuntime.WithRecordProperty(this, "contacts", (contacts :> obj), "") + + member WithEmails: emails:JsonValue[] -> JsonProvider+Person + JsonRuntime.WithRecordProperty(this, "emails", (emails :> obj), "") + + member WithPhones: phones:JsonValue[] -> JsonProvider+Person + JsonRuntime.WithRecordProperty(this, "phones", (phones :> obj), "") + class JsonProvider+Contact : FDR.BaseTypes.IJsonDocument new : emailCapability:int[] -> emailImEnabled:bool[] -> emails:string[] -> phones:JsonValue[] -> JsonProvider+Contact @@ -101,4 +116,16 @@ class JsonProvider+Contact : FDR.BaseTypes.IJsonDocument member Phones: FDR.BaseTypes.IJsonDocument[] with get JsonRuntime.ConvertArray(JsonRuntime.GetPropertyPackedOrNull(this, "phones"), new Func<_,_>(id))) + member WithEmailCapability: emailCapability:int[] -> JsonProvider+Contact + JsonRuntime.WithRecordProperty(this, "emailCapability", (emailCapability :> obj), "") + + member WithEmailImEnabled: emailImEnabled:bool[] -> JsonProvider+Contact + JsonRuntime.WithRecordProperty(this, "emailIMEnabled", (emailImEnabled :> obj), "") + + member WithEmails: emails:string[] -> JsonProvider+Contact + JsonRuntime.WithRecordProperty(this, "emails", (emails :> obj), "") + + member WithPhones: phones:JsonValue[] -> JsonProvider+Contact + JsonRuntime.WithRecordProperty(this, "phones", (phones :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,optionals.json,False,,,True,False,BackwardCompatible,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,optionals.json,False,,,True,False,BackwardCompatible,.expected index b14805327..131542c96 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,optionals.json,False,,,True,False,BackwardCompatible,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,optionals.json,False,,,True,False,BackwardCompatible,.expected @@ -90,6 +90,39 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument member RecordProperty: JsonProvider+RecordProperty with get JsonRuntime.GetPropertyPacked(this, "recordProperty") + member WithArrayOfObjects: arrayOfObjects:JsonProvider+JsonProvider+ArrayOfObject[] -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "arrayOfObjects", (arrayOfObjects :> obj), "") + + member WithEmptyArrayProperty: emptyArrayProperty:JsonValue[] -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "emptyArrayProperty", (emptyArrayProperty :> obj), "") + + member WithEmptyStringProperty: emptyStringProperty:JsonValue -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "emptyStringProperty", (emptyStringProperty :> obj), "") + + member WithHeterogeneousArray: heterogeneousArray:JsonProvider+IntOrBooleanOrArraysOrHeterogeneousArray -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "heterogeneousArray", (heterogeneousArray :> obj), "") + + member WithHeterogeneousRecords: heterogeneousRecords:JsonProvider+JsonProvider+HeterogeneousRecord[] -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "heterogeneousRecords", (heterogeneousRecords :> obj), "") + + member WithMultipleElementsArrayProperty: multipleElementsArrayProperty:int[] -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "multipleElementsArrayProperty", (multipleElementsArrayProperty :> obj), "") + + member WithNullProperty: nullProperty:JsonValue -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "nullProperty", (nullProperty :> obj), "") + + member WithOneElementArrayProperty: oneElementArrayProperty:int[] -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "oneElementArrayProperty", (oneElementArrayProperty :> obj), "") + + member WithOptionalPrimitives: optionalPrimitives:JsonProvider+JsonProvider+OptionalPrimitive[] -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "optionalPrimitives", (optionalPrimitives :> obj), "") + + member WithOptionalRecords: optionalRecords:JsonProvider+JsonProvider+OptionalRecord[] -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "optionalRecords", (optionalRecords :> obj), "") + + member WithRecordProperty: recordProperty:JsonProvider+RecordProperty -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "recordProperty", (recordProperty :> obj), "") + class JsonProvider+ArrayOfObject : FDR.BaseTypes.IJsonDocument new : heterogeneousArrayProperty:JsonProvider+NumbersOrBooleanOrString -> heterogeneousProperty:JsonProvider+IntOrBooleanOrDateTime -> heterogeneousOptionalProperty:JsonProvider+IntOrBoolean -> JsonProvider+ArrayOfObject @@ -112,6 +145,15 @@ class JsonProvider+ArrayOfObject : FDR.BaseTypes.IJsonDocument member HeterogeneousProperty: JsonProvider+IntOrBooleanOrDateTime with get JsonRuntime.GetPropertyPackedOrNull(this, "heterogeneousProperty") + member WithHeterogeneousArrayProperty: heterogeneousArrayProperty:JsonProvider+NumbersOrBooleanOrString -> JsonProvider+ArrayOfObject + JsonRuntime.WithRecordProperty(this, "heterogeneousArrayProperty", (heterogeneousArrayProperty :> obj), "") + + member WithHeterogeneousOptionalProperty: heterogeneousOptionalProperty:JsonProvider+IntOrBoolean -> JsonProvider+ArrayOfObject + JsonRuntime.WithRecordProperty(this, "heterogeneousOptionalProperty", (heterogeneousOptionalProperty :> obj), "") + + member WithHeterogeneousProperty: heterogeneousProperty:JsonProvider+IntOrBooleanOrDateTime -> JsonProvider+ArrayOfObject + JsonRuntime.WithRecordProperty(this, "heterogeneousProperty", (heterogeneousProperty :> obj), "") + class JsonProvider+HeterogeneousRecord : FDR.BaseTypes.IJsonDocument new : b:JsonProvider+IntOrBooleanOrArrayOrB -> JsonProvider+HeterogeneousRecord @@ -124,6 +166,9 @@ class JsonProvider+HeterogeneousRecord : FDR.BaseTypes.IJsonDocument member B: JsonProvider+IntOrBooleanOrArrayOrB with get JsonRuntime.GetPropertyPackedOrNull(this, "b") + member WithB: b:JsonProvider+IntOrBooleanOrArrayOrB -> JsonProvider+HeterogeneousRecord + JsonRuntime.WithRecordProperty(this, "b", (b :> obj), "") + class JsonProvider+IntOrBooleanOrArraysOrHeterogeneousArray : FDR.BaseTypes.IJsonDocument new : number:int -> boolean:bool -> arrays:JsonProvider+JsonProvider+NumbersOrBooleanOrHeterogeneousArray[] -> record:JsonProvider+OptionalBecauseMissing -> JsonProvider+IntOrBooleanOrArraysOrHeterogeneousArray @@ -182,6 +227,21 @@ class JsonProvider+OptionalPrimitive : FDR.BaseTypes.IJsonDocument member OptionalBecauseNull: int option with get JsonRuntime.ConvertInteger("", JsonRuntime.TryGetPropertyUnpacked(this, "optionalBecauseNull")) + member WithNotOptional: notOptional:int -> JsonProvider+OptionalPrimitive + JsonRuntime.WithRecordProperty(this, "notOptional", (notOptional :> obj), "") + + member WithNullNotOptional: nullNotOptional:JsonValue -> JsonProvider+OptionalPrimitive + JsonRuntime.WithRecordProperty(this, "nullNotOptional", (nullNotOptional :> obj), "") + + member WithOptionalBecauseEmptyString: optionalBecauseEmptyString:int option -> JsonProvider+OptionalPrimitive + JsonRuntime.WithRecordProperty(this, "optionalBecauseEmptyString", (optionalBecauseEmptyString :> obj), "") + + member WithOptionalBecauseMissing: optionalBecauseMissing:int option -> JsonProvider+OptionalPrimitive + JsonRuntime.WithRecordProperty(this, "optionalBecauseMissing", (optionalBecauseMissing :> obj), "") + + member WithOptionalBecauseNull: optionalBecauseNull:int option -> JsonProvider+OptionalPrimitive + JsonRuntime.WithRecordProperty(this, "optionalBecauseNull", (optionalBecauseNull :> obj), "") + class JsonProvider+OptionalRecord : FDR.BaseTypes.IJsonDocument new : optionalBecauseMissing:JsonProvider+OptionalBecauseMissing option -> optionalBecauseNull:JsonProvider+OptionalBecauseMissing option -> optionalBecauseEmptyString:JsonProvider+OptionalBecauseMissing option -> notOptional:JsonProvider+OptionalBecauseMissing -> JsonProvider+OptionalRecord @@ -209,6 +269,18 @@ class JsonProvider+OptionalRecord : FDR.BaseTypes.IJsonDocument member OptionalBecauseNull: JsonProvider+OptionalBecauseMissing option with get JsonRuntime.TryGetPropertyPacked(this, "optionalBecauseNull") + member WithNotOptional: notOptional:JsonProvider+OptionalBecauseMissing -> JsonProvider+OptionalRecord + JsonRuntime.WithRecordProperty(this, "notOptional", (notOptional :> obj), "") + + member WithOptionalBecauseEmptyString: optionalBecauseEmptyString:JsonProvider+OptionalBecauseMissing option -> JsonProvider+OptionalRecord + JsonRuntime.WithRecordProperty(this, "optionalBecauseEmptyString", (optionalBecauseEmptyString :> obj), "") + + member WithOptionalBecauseMissing: optionalBecauseMissing:JsonProvider+OptionalBecauseMissing option -> JsonProvider+OptionalRecord + JsonRuntime.WithRecordProperty(this, "optionalBecauseMissing", (optionalBecauseMissing :> obj), "") + + member WithOptionalBecauseNull: optionalBecauseNull:JsonProvider+OptionalBecauseMissing option -> JsonProvider+OptionalRecord + JsonRuntime.WithRecordProperty(this, "optionalBecauseNull", (optionalBecauseNull :> obj), "") + class JsonProvider+RecordProperty : FDR.BaseTypes.IJsonDocument new : stringProperty:string -> intProperty:int -> int64Property:int64 -> decimalProperty:decimal -> floatProperty:float -> boolProperty:bool -> dateProperty:System.DateTime -> guidProperty:System.Guid -> JsonProvider+RecordProperty @@ -264,6 +336,30 @@ class JsonProvider+RecordProperty : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "stringProperty") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithBoolProperty: boolProperty:bool -> JsonProvider+RecordProperty + JsonRuntime.WithRecordProperty(this, "boolProperty", (boolProperty :> obj), "") + + member WithDateProperty: dateProperty:System.DateTime -> JsonProvider+RecordProperty + JsonRuntime.WithRecordProperty(this, "dateProperty", (dateProperty :> obj), "") + + member WithDecimalProperty: decimalProperty:decimal -> JsonProvider+RecordProperty + JsonRuntime.WithRecordProperty(this, "decimalProperty", (decimalProperty :> obj), "") + + member WithFloatProperty: floatProperty:float -> JsonProvider+RecordProperty + JsonRuntime.WithRecordProperty(this, "floatProperty", (floatProperty :> obj), "") + + member WithGuidProperty: guidProperty:System.Guid -> JsonProvider+RecordProperty + JsonRuntime.WithRecordProperty(this, "guidProperty", (guidProperty :> obj), "") + + member WithInt64Property: int64Property:int64 -> JsonProvider+RecordProperty + JsonRuntime.WithRecordProperty(this, "int64Property", (int64Property :> obj), "") + + member WithIntProperty: intProperty:int -> JsonProvider+RecordProperty + JsonRuntime.WithRecordProperty(this, "intProperty", (intProperty :> obj), "") + + member WithStringProperty: stringProperty:string -> JsonProvider+RecordProperty + JsonRuntime.WithRecordProperty(this, "stringProperty", (stringProperty :> obj), "") + class JsonProvider+IntOrBoolean : FDR.BaseTypes.IJsonDocument new : number:int -> JsonProvider+IntOrBoolean @@ -394,6 +490,9 @@ class JsonProvider+OptionalBecauseMissing : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "a") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertInteger("", value.JsonOpt), value.JsonOpt) + member WithA: a:int -> JsonProvider+OptionalBecauseMissing + JsonRuntime.WithRecordProperty(this, "a", (a :> obj), "") + class JsonProvider+NumbersOrBooleanOrB : FDR.BaseTypes.IJsonDocument new : numbers:int[] -> boolean:bool option -> record:JsonProvider+OptionalBecauseMissing option -> JsonProvider+NumbersOrBooleanOrB diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,optionals.json,False,,,True,False,ValuesAndInlineSchemasHints,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,optionals.json,False,,,True,False,ValuesAndInlineSchemasHints,.expected index b14805327..131542c96 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,optionals.json,False,,,True,False,ValuesAndInlineSchemasHints,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,optionals.json,False,,,True,False,ValuesAndInlineSchemasHints,.expected @@ -90,6 +90,39 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument member RecordProperty: JsonProvider+RecordProperty with get JsonRuntime.GetPropertyPacked(this, "recordProperty") + member WithArrayOfObjects: arrayOfObjects:JsonProvider+JsonProvider+ArrayOfObject[] -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "arrayOfObjects", (arrayOfObjects :> obj), "") + + member WithEmptyArrayProperty: emptyArrayProperty:JsonValue[] -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "emptyArrayProperty", (emptyArrayProperty :> obj), "") + + member WithEmptyStringProperty: emptyStringProperty:JsonValue -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "emptyStringProperty", (emptyStringProperty :> obj), "") + + member WithHeterogeneousArray: heterogeneousArray:JsonProvider+IntOrBooleanOrArraysOrHeterogeneousArray -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "heterogeneousArray", (heterogeneousArray :> obj), "") + + member WithHeterogeneousRecords: heterogeneousRecords:JsonProvider+JsonProvider+HeterogeneousRecord[] -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "heterogeneousRecords", (heterogeneousRecords :> obj), "") + + member WithMultipleElementsArrayProperty: multipleElementsArrayProperty:int[] -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "multipleElementsArrayProperty", (multipleElementsArrayProperty :> obj), "") + + member WithNullProperty: nullProperty:JsonValue -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "nullProperty", (nullProperty :> obj), "") + + member WithOneElementArrayProperty: oneElementArrayProperty:int[] -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "oneElementArrayProperty", (oneElementArrayProperty :> obj), "") + + member WithOptionalPrimitives: optionalPrimitives:JsonProvider+JsonProvider+OptionalPrimitive[] -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "optionalPrimitives", (optionalPrimitives :> obj), "") + + member WithOptionalRecords: optionalRecords:JsonProvider+JsonProvider+OptionalRecord[] -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "optionalRecords", (optionalRecords :> obj), "") + + member WithRecordProperty: recordProperty:JsonProvider+RecordProperty -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "recordProperty", (recordProperty :> obj), "") + class JsonProvider+ArrayOfObject : FDR.BaseTypes.IJsonDocument new : heterogeneousArrayProperty:JsonProvider+NumbersOrBooleanOrString -> heterogeneousProperty:JsonProvider+IntOrBooleanOrDateTime -> heterogeneousOptionalProperty:JsonProvider+IntOrBoolean -> JsonProvider+ArrayOfObject @@ -112,6 +145,15 @@ class JsonProvider+ArrayOfObject : FDR.BaseTypes.IJsonDocument member HeterogeneousProperty: JsonProvider+IntOrBooleanOrDateTime with get JsonRuntime.GetPropertyPackedOrNull(this, "heterogeneousProperty") + member WithHeterogeneousArrayProperty: heterogeneousArrayProperty:JsonProvider+NumbersOrBooleanOrString -> JsonProvider+ArrayOfObject + JsonRuntime.WithRecordProperty(this, "heterogeneousArrayProperty", (heterogeneousArrayProperty :> obj), "") + + member WithHeterogeneousOptionalProperty: heterogeneousOptionalProperty:JsonProvider+IntOrBoolean -> JsonProvider+ArrayOfObject + JsonRuntime.WithRecordProperty(this, "heterogeneousOptionalProperty", (heterogeneousOptionalProperty :> obj), "") + + member WithHeterogeneousProperty: heterogeneousProperty:JsonProvider+IntOrBooleanOrDateTime -> JsonProvider+ArrayOfObject + JsonRuntime.WithRecordProperty(this, "heterogeneousProperty", (heterogeneousProperty :> obj), "") + class JsonProvider+HeterogeneousRecord : FDR.BaseTypes.IJsonDocument new : b:JsonProvider+IntOrBooleanOrArrayOrB -> JsonProvider+HeterogeneousRecord @@ -124,6 +166,9 @@ class JsonProvider+HeterogeneousRecord : FDR.BaseTypes.IJsonDocument member B: JsonProvider+IntOrBooleanOrArrayOrB with get JsonRuntime.GetPropertyPackedOrNull(this, "b") + member WithB: b:JsonProvider+IntOrBooleanOrArrayOrB -> JsonProvider+HeterogeneousRecord + JsonRuntime.WithRecordProperty(this, "b", (b :> obj), "") + class JsonProvider+IntOrBooleanOrArraysOrHeterogeneousArray : FDR.BaseTypes.IJsonDocument new : number:int -> boolean:bool -> arrays:JsonProvider+JsonProvider+NumbersOrBooleanOrHeterogeneousArray[] -> record:JsonProvider+OptionalBecauseMissing -> JsonProvider+IntOrBooleanOrArraysOrHeterogeneousArray @@ -182,6 +227,21 @@ class JsonProvider+OptionalPrimitive : FDR.BaseTypes.IJsonDocument member OptionalBecauseNull: int option with get JsonRuntime.ConvertInteger("", JsonRuntime.TryGetPropertyUnpacked(this, "optionalBecauseNull")) + member WithNotOptional: notOptional:int -> JsonProvider+OptionalPrimitive + JsonRuntime.WithRecordProperty(this, "notOptional", (notOptional :> obj), "") + + member WithNullNotOptional: nullNotOptional:JsonValue -> JsonProvider+OptionalPrimitive + JsonRuntime.WithRecordProperty(this, "nullNotOptional", (nullNotOptional :> obj), "") + + member WithOptionalBecauseEmptyString: optionalBecauseEmptyString:int option -> JsonProvider+OptionalPrimitive + JsonRuntime.WithRecordProperty(this, "optionalBecauseEmptyString", (optionalBecauseEmptyString :> obj), "") + + member WithOptionalBecauseMissing: optionalBecauseMissing:int option -> JsonProvider+OptionalPrimitive + JsonRuntime.WithRecordProperty(this, "optionalBecauseMissing", (optionalBecauseMissing :> obj), "") + + member WithOptionalBecauseNull: optionalBecauseNull:int option -> JsonProvider+OptionalPrimitive + JsonRuntime.WithRecordProperty(this, "optionalBecauseNull", (optionalBecauseNull :> obj), "") + class JsonProvider+OptionalRecord : FDR.BaseTypes.IJsonDocument new : optionalBecauseMissing:JsonProvider+OptionalBecauseMissing option -> optionalBecauseNull:JsonProvider+OptionalBecauseMissing option -> optionalBecauseEmptyString:JsonProvider+OptionalBecauseMissing option -> notOptional:JsonProvider+OptionalBecauseMissing -> JsonProvider+OptionalRecord @@ -209,6 +269,18 @@ class JsonProvider+OptionalRecord : FDR.BaseTypes.IJsonDocument member OptionalBecauseNull: JsonProvider+OptionalBecauseMissing option with get JsonRuntime.TryGetPropertyPacked(this, "optionalBecauseNull") + member WithNotOptional: notOptional:JsonProvider+OptionalBecauseMissing -> JsonProvider+OptionalRecord + JsonRuntime.WithRecordProperty(this, "notOptional", (notOptional :> obj), "") + + member WithOptionalBecauseEmptyString: optionalBecauseEmptyString:JsonProvider+OptionalBecauseMissing option -> JsonProvider+OptionalRecord + JsonRuntime.WithRecordProperty(this, "optionalBecauseEmptyString", (optionalBecauseEmptyString :> obj), "") + + member WithOptionalBecauseMissing: optionalBecauseMissing:JsonProvider+OptionalBecauseMissing option -> JsonProvider+OptionalRecord + JsonRuntime.WithRecordProperty(this, "optionalBecauseMissing", (optionalBecauseMissing :> obj), "") + + member WithOptionalBecauseNull: optionalBecauseNull:JsonProvider+OptionalBecauseMissing option -> JsonProvider+OptionalRecord + JsonRuntime.WithRecordProperty(this, "optionalBecauseNull", (optionalBecauseNull :> obj), "") + class JsonProvider+RecordProperty : FDR.BaseTypes.IJsonDocument new : stringProperty:string -> intProperty:int -> int64Property:int64 -> decimalProperty:decimal -> floatProperty:float -> boolProperty:bool -> dateProperty:System.DateTime -> guidProperty:System.Guid -> JsonProvider+RecordProperty @@ -264,6 +336,30 @@ class JsonProvider+RecordProperty : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "stringProperty") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithBoolProperty: boolProperty:bool -> JsonProvider+RecordProperty + JsonRuntime.WithRecordProperty(this, "boolProperty", (boolProperty :> obj), "") + + member WithDateProperty: dateProperty:System.DateTime -> JsonProvider+RecordProperty + JsonRuntime.WithRecordProperty(this, "dateProperty", (dateProperty :> obj), "") + + member WithDecimalProperty: decimalProperty:decimal -> JsonProvider+RecordProperty + JsonRuntime.WithRecordProperty(this, "decimalProperty", (decimalProperty :> obj), "") + + member WithFloatProperty: floatProperty:float -> JsonProvider+RecordProperty + JsonRuntime.WithRecordProperty(this, "floatProperty", (floatProperty :> obj), "") + + member WithGuidProperty: guidProperty:System.Guid -> JsonProvider+RecordProperty + JsonRuntime.WithRecordProperty(this, "guidProperty", (guidProperty :> obj), "") + + member WithInt64Property: int64Property:int64 -> JsonProvider+RecordProperty + JsonRuntime.WithRecordProperty(this, "int64Property", (int64Property :> obj), "") + + member WithIntProperty: intProperty:int -> JsonProvider+RecordProperty + JsonRuntime.WithRecordProperty(this, "intProperty", (intProperty :> obj), "") + + member WithStringProperty: stringProperty:string -> JsonProvider+RecordProperty + JsonRuntime.WithRecordProperty(this, "stringProperty", (stringProperty :> obj), "") + class JsonProvider+IntOrBoolean : FDR.BaseTypes.IJsonDocument new : number:int -> JsonProvider+IntOrBoolean @@ -394,6 +490,9 @@ class JsonProvider+OptionalBecauseMissing : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "a") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertInteger("", value.JsonOpt), value.JsonOpt) + member WithA: a:int -> JsonProvider+OptionalBecauseMissing + JsonRuntime.WithRecordProperty(this, "a", (a :> obj), "") + class JsonProvider+NumbersOrBooleanOrB : FDR.BaseTypes.IJsonDocument new : numbers:int[] -> boolean:bool option -> record:JsonProvider+OptionalBecauseMissing option -> JsonProvider+NumbersOrBooleanOrB diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,optionals.json,False,,,True,False,ValuesAndInlineSchemasOverrides,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,optionals.json,False,,,True,False,ValuesAndInlineSchemasOverrides,.expected index b14805327..131542c96 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,optionals.json,False,,,True,False,ValuesAndInlineSchemasOverrides,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,optionals.json,False,,,True,False,ValuesAndInlineSchemasOverrides,.expected @@ -90,6 +90,39 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument member RecordProperty: JsonProvider+RecordProperty with get JsonRuntime.GetPropertyPacked(this, "recordProperty") + member WithArrayOfObjects: arrayOfObjects:JsonProvider+JsonProvider+ArrayOfObject[] -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "arrayOfObjects", (arrayOfObjects :> obj), "") + + member WithEmptyArrayProperty: emptyArrayProperty:JsonValue[] -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "emptyArrayProperty", (emptyArrayProperty :> obj), "") + + member WithEmptyStringProperty: emptyStringProperty:JsonValue -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "emptyStringProperty", (emptyStringProperty :> obj), "") + + member WithHeterogeneousArray: heterogeneousArray:JsonProvider+IntOrBooleanOrArraysOrHeterogeneousArray -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "heterogeneousArray", (heterogeneousArray :> obj), "") + + member WithHeterogeneousRecords: heterogeneousRecords:JsonProvider+JsonProvider+HeterogeneousRecord[] -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "heterogeneousRecords", (heterogeneousRecords :> obj), "") + + member WithMultipleElementsArrayProperty: multipleElementsArrayProperty:int[] -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "multipleElementsArrayProperty", (multipleElementsArrayProperty :> obj), "") + + member WithNullProperty: nullProperty:JsonValue -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "nullProperty", (nullProperty :> obj), "") + + member WithOneElementArrayProperty: oneElementArrayProperty:int[] -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "oneElementArrayProperty", (oneElementArrayProperty :> obj), "") + + member WithOptionalPrimitives: optionalPrimitives:JsonProvider+JsonProvider+OptionalPrimitive[] -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "optionalPrimitives", (optionalPrimitives :> obj), "") + + member WithOptionalRecords: optionalRecords:JsonProvider+JsonProvider+OptionalRecord[] -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "optionalRecords", (optionalRecords :> obj), "") + + member WithRecordProperty: recordProperty:JsonProvider+RecordProperty -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "recordProperty", (recordProperty :> obj), "") + class JsonProvider+ArrayOfObject : FDR.BaseTypes.IJsonDocument new : heterogeneousArrayProperty:JsonProvider+NumbersOrBooleanOrString -> heterogeneousProperty:JsonProvider+IntOrBooleanOrDateTime -> heterogeneousOptionalProperty:JsonProvider+IntOrBoolean -> JsonProvider+ArrayOfObject @@ -112,6 +145,15 @@ class JsonProvider+ArrayOfObject : FDR.BaseTypes.IJsonDocument member HeterogeneousProperty: JsonProvider+IntOrBooleanOrDateTime with get JsonRuntime.GetPropertyPackedOrNull(this, "heterogeneousProperty") + member WithHeterogeneousArrayProperty: heterogeneousArrayProperty:JsonProvider+NumbersOrBooleanOrString -> JsonProvider+ArrayOfObject + JsonRuntime.WithRecordProperty(this, "heterogeneousArrayProperty", (heterogeneousArrayProperty :> obj), "") + + member WithHeterogeneousOptionalProperty: heterogeneousOptionalProperty:JsonProvider+IntOrBoolean -> JsonProvider+ArrayOfObject + JsonRuntime.WithRecordProperty(this, "heterogeneousOptionalProperty", (heterogeneousOptionalProperty :> obj), "") + + member WithHeterogeneousProperty: heterogeneousProperty:JsonProvider+IntOrBooleanOrDateTime -> JsonProvider+ArrayOfObject + JsonRuntime.WithRecordProperty(this, "heterogeneousProperty", (heterogeneousProperty :> obj), "") + class JsonProvider+HeterogeneousRecord : FDR.BaseTypes.IJsonDocument new : b:JsonProvider+IntOrBooleanOrArrayOrB -> JsonProvider+HeterogeneousRecord @@ -124,6 +166,9 @@ class JsonProvider+HeterogeneousRecord : FDR.BaseTypes.IJsonDocument member B: JsonProvider+IntOrBooleanOrArrayOrB with get JsonRuntime.GetPropertyPackedOrNull(this, "b") + member WithB: b:JsonProvider+IntOrBooleanOrArrayOrB -> JsonProvider+HeterogeneousRecord + JsonRuntime.WithRecordProperty(this, "b", (b :> obj), "") + class JsonProvider+IntOrBooleanOrArraysOrHeterogeneousArray : FDR.BaseTypes.IJsonDocument new : number:int -> boolean:bool -> arrays:JsonProvider+JsonProvider+NumbersOrBooleanOrHeterogeneousArray[] -> record:JsonProvider+OptionalBecauseMissing -> JsonProvider+IntOrBooleanOrArraysOrHeterogeneousArray @@ -182,6 +227,21 @@ class JsonProvider+OptionalPrimitive : FDR.BaseTypes.IJsonDocument member OptionalBecauseNull: int option with get JsonRuntime.ConvertInteger("", JsonRuntime.TryGetPropertyUnpacked(this, "optionalBecauseNull")) + member WithNotOptional: notOptional:int -> JsonProvider+OptionalPrimitive + JsonRuntime.WithRecordProperty(this, "notOptional", (notOptional :> obj), "") + + member WithNullNotOptional: nullNotOptional:JsonValue -> JsonProvider+OptionalPrimitive + JsonRuntime.WithRecordProperty(this, "nullNotOptional", (nullNotOptional :> obj), "") + + member WithOptionalBecauseEmptyString: optionalBecauseEmptyString:int option -> JsonProvider+OptionalPrimitive + JsonRuntime.WithRecordProperty(this, "optionalBecauseEmptyString", (optionalBecauseEmptyString :> obj), "") + + member WithOptionalBecauseMissing: optionalBecauseMissing:int option -> JsonProvider+OptionalPrimitive + JsonRuntime.WithRecordProperty(this, "optionalBecauseMissing", (optionalBecauseMissing :> obj), "") + + member WithOptionalBecauseNull: optionalBecauseNull:int option -> JsonProvider+OptionalPrimitive + JsonRuntime.WithRecordProperty(this, "optionalBecauseNull", (optionalBecauseNull :> obj), "") + class JsonProvider+OptionalRecord : FDR.BaseTypes.IJsonDocument new : optionalBecauseMissing:JsonProvider+OptionalBecauseMissing option -> optionalBecauseNull:JsonProvider+OptionalBecauseMissing option -> optionalBecauseEmptyString:JsonProvider+OptionalBecauseMissing option -> notOptional:JsonProvider+OptionalBecauseMissing -> JsonProvider+OptionalRecord @@ -209,6 +269,18 @@ class JsonProvider+OptionalRecord : FDR.BaseTypes.IJsonDocument member OptionalBecauseNull: JsonProvider+OptionalBecauseMissing option with get JsonRuntime.TryGetPropertyPacked(this, "optionalBecauseNull") + member WithNotOptional: notOptional:JsonProvider+OptionalBecauseMissing -> JsonProvider+OptionalRecord + JsonRuntime.WithRecordProperty(this, "notOptional", (notOptional :> obj), "") + + member WithOptionalBecauseEmptyString: optionalBecauseEmptyString:JsonProvider+OptionalBecauseMissing option -> JsonProvider+OptionalRecord + JsonRuntime.WithRecordProperty(this, "optionalBecauseEmptyString", (optionalBecauseEmptyString :> obj), "") + + member WithOptionalBecauseMissing: optionalBecauseMissing:JsonProvider+OptionalBecauseMissing option -> JsonProvider+OptionalRecord + JsonRuntime.WithRecordProperty(this, "optionalBecauseMissing", (optionalBecauseMissing :> obj), "") + + member WithOptionalBecauseNull: optionalBecauseNull:JsonProvider+OptionalBecauseMissing option -> JsonProvider+OptionalRecord + JsonRuntime.WithRecordProperty(this, "optionalBecauseNull", (optionalBecauseNull :> obj), "") + class JsonProvider+RecordProperty : FDR.BaseTypes.IJsonDocument new : stringProperty:string -> intProperty:int -> int64Property:int64 -> decimalProperty:decimal -> floatProperty:float -> boolProperty:bool -> dateProperty:System.DateTime -> guidProperty:System.Guid -> JsonProvider+RecordProperty @@ -264,6 +336,30 @@ class JsonProvider+RecordProperty : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "stringProperty") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithBoolProperty: boolProperty:bool -> JsonProvider+RecordProperty + JsonRuntime.WithRecordProperty(this, "boolProperty", (boolProperty :> obj), "") + + member WithDateProperty: dateProperty:System.DateTime -> JsonProvider+RecordProperty + JsonRuntime.WithRecordProperty(this, "dateProperty", (dateProperty :> obj), "") + + member WithDecimalProperty: decimalProperty:decimal -> JsonProvider+RecordProperty + JsonRuntime.WithRecordProperty(this, "decimalProperty", (decimalProperty :> obj), "") + + member WithFloatProperty: floatProperty:float -> JsonProvider+RecordProperty + JsonRuntime.WithRecordProperty(this, "floatProperty", (floatProperty :> obj), "") + + member WithGuidProperty: guidProperty:System.Guid -> JsonProvider+RecordProperty + JsonRuntime.WithRecordProperty(this, "guidProperty", (guidProperty :> obj), "") + + member WithInt64Property: int64Property:int64 -> JsonProvider+RecordProperty + JsonRuntime.WithRecordProperty(this, "int64Property", (int64Property :> obj), "") + + member WithIntProperty: intProperty:int -> JsonProvider+RecordProperty + JsonRuntime.WithRecordProperty(this, "intProperty", (intProperty :> obj), "") + + member WithStringProperty: stringProperty:string -> JsonProvider+RecordProperty + JsonRuntime.WithRecordProperty(this, "stringProperty", (stringProperty :> obj), "") + class JsonProvider+IntOrBoolean : FDR.BaseTypes.IJsonDocument new : number:int -> JsonProvider+IntOrBoolean @@ -394,6 +490,9 @@ class JsonProvider+OptionalBecauseMissing : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "a") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertInteger("", value.JsonOpt), value.JsonOpt) + member WithA: a:int -> JsonProvider+OptionalBecauseMissing + JsonRuntime.WithRecordProperty(this, "a", (a :> obj), "") + class JsonProvider+NumbersOrBooleanOrB : FDR.BaseTypes.IJsonDocument new : numbers:int[] -> boolean:bool option -> record:JsonProvider+OptionalBecauseMissing option -> JsonProvider+NumbersOrBooleanOrB diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,optionals.json,False,,,True,False,ValuesOnly,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,optionals.json,False,,,True,False,ValuesOnly,.expected index b14805327..131542c96 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,optionals.json,False,,,True,False,ValuesOnly,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,optionals.json,False,,,True,False,ValuesOnly,.expected @@ -90,6 +90,39 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument member RecordProperty: JsonProvider+RecordProperty with get JsonRuntime.GetPropertyPacked(this, "recordProperty") + member WithArrayOfObjects: arrayOfObjects:JsonProvider+JsonProvider+ArrayOfObject[] -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "arrayOfObjects", (arrayOfObjects :> obj), "") + + member WithEmptyArrayProperty: emptyArrayProperty:JsonValue[] -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "emptyArrayProperty", (emptyArrayProperty :> obj), "") + + member WithEmptyStringProperty: emptyStringProperty:JsonValue -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "emptyStringProperty", (emptyStringProperty :> obj), "") + + member WithHeterogeneousArray: heterogeneousArray:JsonProvider+IntOrBooleanOrArraysOrHeterogeneousArray -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "heterogeneousArray", (heterogeneousArray :> obj), "") + + member WithHeterogeneousRecords: heterogeneousRecords:JsonProvider+JsonProvider+HeterogeneousRecord[] -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "heterogeneousRecords", (heterogeneousRecords :> obj), "") + + member WithMultipleElementsArrayProperty: multipleElementsArrayProperty:int[] -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "multipleElementsArrayProperty", (multipleElementsArrayProperty :> obj), "") + + member WithNullProperty: nullProperty:JsonValue -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "nullProperty", (nullProperty :> obj), "") + + member WithOneElementArrayProperty: oneElementArrayProperty:int[] -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "oneElementArrayProperty", (oneElementArrayProperty :> obj), "") + + member WithOptionalPrimitives: optionalPrimitives:JsonProvider+JsonProvider+OptionalPrimitive[] -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "optionalPrimitives", (optionalPrimitives :> obj), "") + + member WithOptionalRecords: optionalRecords:JsonProvider+JsonProvider+OptionalRecord[] -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "optionalRecords", (optionalRecords :> obj), "") + + member WithRecordProperty: recordProperty:JsonProvider+RecordProperty -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "recordProperty", (recordProperty :> obj), "") + class JsonProvider+ArrayOfObject : FDR.BaseTypes.IJsonDocument new : heterogeneousArrayProperty:JsonProvider+NumbersOrBooleanOrString -> heterogeneousProperty:JsonProvider+IntOrBooleanOrDateTime -> heterogeneousOptionalProperty:JsonProvider+IntOrBoolean -> JsonProvider+ArrayOfObject @@ -112,6 +145,15 @@ class JsonProvider+ArrayOfObject : FDR.BaseTypes.IJsonDocument member HeterogeneousProperty: JsonProvider+IntOrBooleanOrDateTime with get JsonRuntime.GetPropertyPackedOrNull(this, "heterogeneousProperty") + member WithHeterogeneousArrayProperty: heterogeneousArrayProperty:JsonProvider+NumbersOrBooleanOrString -> JsonProvider+ArrayOfObject + JsonRuntime.WithRecordProperty(this, "heterogeneousArrayProperty", (heterogeneousArrayProperty :> obj), "") + + member WithHeterogeneousOptionalProperty: heterogeneousOptionalProperty:JsonProvider+IntOrBoolean -> JsonProvider+ArrayOfObject + JsonRuntime.WithRecordProperty(this, "heterogeneousOptionalProperty", (heterogeneousOptionalProperty :> obj), "") + + member WithHeterogeneousProperty: heterogeneousProperty:JsonProvider+IntOrBooleanOrDateTime -> JsonProvider+ArrayOfObject + JsonRuntime.WithRecordProperty(this, "heterogeneousProperty", (heterogeneousProperty :> obj), "") + class JsonProvider+HeterogeneousRecord : FDR.BaseTypes.IJsonDocument new : b:JsonProvider+IntOrBooleanOrArrayOrB -> JsonProvider+HeterogeneousRecord @@ -124,6 +166,9 @@ class JsonProvider+HeterogeneousRecord : FDR.BaseTypes.IJsonDocument member B: JsonProvider+IntOrBooleanOrArrayOrB with get JsonRuntime.GetPropertyPackedOrNull(this, "b") + member WithB: b:JsonProvider+IntOrBooleanOrArrayOrB -> JsonProvider+HeterogeneousRecord + JsonRuntime.WithRecordProperty(this, "b", (b :> obj), "") + class JsonProvider+IntOrBooleanOrArraysOrHeterogeneousArray : FDR.BaseTypes.IJsonDocument new : number:int -> boolean:bool -> arrays:JsonProvider+JsonProvider+NumbersOrBooleanOrHeterogeneousArray[] -> record:JsonProvider+OptionalBecauseMissing -> JsonProvider+IntOrBooleanOrArraysOrHeterogeneousArray @@ -182,6 +227,21 @@ class JsonProvider+OptionalPrimitive : FDR.BaseTypes.IJsonDocument member OptionalBecauseNull: int option with get JsonRuntime.ConvertInteger("", JsonRuntime.TryGetPropertyUnpacked(this, "optionalBecauseNull")) + member WithNotOptional: notOptional:int -> JsonProvider+OptionalPrimitive + JsonRuntime.WithRecordProperty(this, "notOptional", (notOptional :> obj), "") + + member WithNullNotOptional: nullNotOptional:JsonValue -> JsonProvider+OptionalPrimitive + JsonRuntime.WithRecordProperty(this, "nullNotOptional", (nullNotOptional :> obj), "") + + member WithOptionalBecauseEmptyString: optionalBecauseEmptyString:int option -> JsonProvider+OptionalPrimitive + JsonRuntime.WithRecordProperty(this, "optionalBecauseEmptyString", (optionalBecauseEmptyString :> obj), "") + + member WithOptionalBecauseMissing: optionalBecauseMissing:int option -> JsonProvider+OptionalPrimitive + JsonRuntime.WithRecordProperty(this, "optionalBecauseMissing", (optionalBecauseMissing :> obj), "") + + member WithOptionalBecauseNull: optionalBecauseNull:int option -> JsonProvider+OptionalPrimitive + JsonRuntime.WithRecordProperty(this, "optionalBecauseNull", (optionalBecauseNull :> obj), "") + class JsonProvider+OptionalRecord : FDR.BaseTypes.IJsonDocument new : optionalBecauseMissing:JsonProvider+OptionalBecauseMissing option -> optionalBecauseNull:JsonProvider+OptionalBecauseMissing option -> optionalBecauseEmptyString:JsonProvider+OptionalBecauseMissing option -> notOptional:JsonProvider+OptionalBecauseMissing -> JsonProvider+OptionalRecord @@ -209,6 +269,18 @@ class JsonProvider+OptionalRecord : FDR.BaseTypes.IJsonDocument member OptionalBecauseNull: JsonProvider+OptionalBecauseMissing option with get JsonRuntime.TryGetPropertyPacked(this, "optionalBecauseNull") + member WithNotOptional: notOptional:JsonProvider+OptionalBecauseMissing -> JsonProvider+OptionalRecord + JsonRuntime.WithRecordProperty(this, "notOptional", (notOptional :> obj), "") + + member WithOptionalBecauseEmptyString: optionalBecauseEmptyString:JsonProvider+OptionalBecauseMissing option -> JsonProvider+OptionalRecord + JsonRuntime.WithRecordProperty(this, "optionalBecauseEmptyString", (optionalBecauseEmptyString :> obj), "") + + member WithOptionalBecauseMissing: optionalBecauseMissing:JsonProvider+OptionalBecauseMissing option -> JsonProvider+OptionalRecord + JsonRuntime.WithRecordProperty(this, "optionalBecauseMissing", (optionalBecauseMissing :> obj), "") + + member WithOptionalBecauseNull: optionalBecauseNull:JsonProvider+OptionalBecauseMissing option -> JsonProvider+OptionalRecord + JsonRuntime.WithRecordProperty(this, "optionalBecauseNull", (optionalBecauseNull :> obj), "") + class JsonProvider+RecordProperty : FDR.BaseTypes.IJsonDocument new : stringProperty:string -> intProperty:int -> int64Property:int64 -> decimalProperty:decimal -> floatProperty:float -> boolProperty:bool -> dateProperty:System.DateTime -> guidProperty:System.Guid -> JsonProvider+RecordProperty @@ -264,6 +336,30 @@ class JsonProvider+RecordProperty : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "stringProperty") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithBoolProperty: boolProperty:bool -> JsonProvider+RecordProperty + JsonRuntime.WithRecordProperty(this, "boolProperty", (boolProperty :> obj), "") + + member WithDateProperty: dateProperty:System.DateTime -> JsonProvider+RecordProperty + JsonRuntime.WithRecordProperty(this, "dateProperty", (dateProperty :> obj), "") + + member WithDecimalProperty: decimalProperty:decimal -> JsonProvider+RecordProperty + JsonRuntime.WithRecordProperty(this, "decimalProperty", (decimalProperty :> obj), "") + + member WithFloatProperty: floatProperty:float -> JsonProvider+RecordProperty + JsonRuntime.WithRecordProperty(this, "floatProperty", (floatProperty :> obj), "") + + member WithGuidProperty: guidProperty:System.Guid -> JsonProvider+RecordProperty + JsonRuntime.WithRecordProperty(this, "guidProperty", (guidProperty :> obj), "") + + member WithInt64Property: int64Property:int64 -> JsonProvider+RecordProperty + JsonRuntime.WithRecordProperty(this, "int64Property", (int64Property :> obj), "") + + member WithIntProperty: intProperty:int -> JsonProvider+RecordProperty + JsonRuntime.WithRecordProperty(this, "intProperty", (intProperty :> obj), "") + + member WithStringProperty: stringProperty:string -> JsonProvider+RecordProperty + JsonRuntime.WithRecordProperty(this, "stringProperty", (stringProperty :> obj), "") + class JsonProvider+IntOrBoolean : FDR.BaseTypes.IJsonDocument new : number:int -> JsonProvider+IntOrBoolean @@ -394,6 +490,9 @@ class JsonProvider+OptionalBecauseMissing : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "a") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertInteger("", value.JsonOpt), value.JsonOpt) + member WithA: a:int -> JsonProvider+OptionalBecauseMissing + JsonRuntime.WithRecordProperty(this, "a", (a :> obj), "") + class JsonProvider+NumbersOrBooleanOrB : FDR.BaseTypes.IJsonDocument new : numbers:int[] -> boolean:bool option -> record:JsonProvider+OptionalBecauseMissing option -> JsonProvider+NumbersOrBooleanOrB diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,projects.json,False,,,True,False,BackwardCompatible,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,projects.json,False,,,True,False,BackwardCompatible,.expected index 6575d09b7..95421e75a 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,projects.json,False,,,True,False,BackwardCompatible,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,projects.json,False,,,True,False,BackwardCompatible,.expected @@ -40,6 +40,9 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument member Ordercontainer: JsonProvider+Ordercontainer with get JsonRuntime.GetPropertyPacked(this, "ordercontainer") + member WithOrdercontainer: ordercontainer:JsonProvider+Ordercontainer -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "ordercontainer", (ordercontainer :> obj), "") + class JsonProvider+Ordercontainer : FDR.BaseTypes.IJsonDocument new : backgrounds:JsonProvider+Backgrounds -> project:JsonProvider+Background -> JsonProvider+Ordercontainer @@ -57,6 +60,12 @@ class JsonProvider+Ordercontainer : FDR.BaseTypes.IJsonDocument member Project: JsonProvider+Background with get JsonRuntime.GetPropertyPacked(this, "project") + member WithBackgrounds: backgrounds:JsonProvider+Backgrounds -> JsonProvider+Ordercontainer + JsonRuntime.WithRecordProperty(this, "backgrounds", (backgrounds :> obj), "") + + member WithProject: project:JsonProvider+Background -> JsonProvider+Ordercontainer + JsonRuntime.WithRecordProperty(this, "project", (project :> obj), "") + class JsonProvider+Background : FDR.BaseTypes.IJsonDocument new : title:JsonProvider+Title -> JsonProvider+Background @@ -69,6 +78,9 @@ class JsonProvider+Background : FDR.BaseTypes.IJsonDocument member Title: JsonProvider+Title with get JsonRuntime.GetPropertyPacked(this, "title") + member WithTitle: title:JsonProvider+Title -> JsonProvider+Background + JsonRuntime.WithRecordProperty(this, "title", (title :> obj), "") + class JsonProvider+Backgrounds : FDR.BaseTypes.IJsonDocument new : background:JsonProvider+Background -> JsonProvider+Backgrounds @@ -81,6 +93,9 @@ class JsonProvider+Backgrounds : FDR.BaseTypes.IJsonDocument member Background: JsonProvider+Background with get JsonRuntime.GetPropertyPacked(this, "background") + member WithBackground: background:JsonProvider+Background -> JsonProvider+Backgrounds + JsonRuntime.WithRecordProperty(this, "background", (background :> obj), "") + class JsonProvider+Title : FDR.BaseTypes.IJsonDocument new : text:string -> JsonProvider+Title @@ -94,4 +109,7 @@ class JsonProvider+Title : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "text") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithText: text:string -> JsonProvider+Title + JsonRuntime.WithRecordProperty(this, "text", (text :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,projects.json,False,,,True,False,ValuesAndInlineSchemasHints,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,projects.json,False,,,True,False,ValuesAndInlineSchemasHints,.expected index 6575d09b7..95421e75a 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,projects.json,False,,,True,False,ValuesAndInlineSchemasHints,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,projects.json,False,,,True,False,ValuesAndInlineSchemasHints,.expected @@ -40,6 +40,9 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument member Ordercontainer: JsonProvider+Ordercontainer with get JsonRuntime.GetPropertyPacked(this, "ordercontainer") + member WithOrdercontainer: ordercontainer:JsonProvider+Ordercontainer -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "ordercontainer", (ordercontainer :> obj), "") + class JsonProvider+Ordercontainer : FDR.BaseTypes.IJsonDocument new : backgrounds:JsonProvider+Backgrounds -> project:JsonProvider+Background -> JsonProvider+Ordercontainer @@ -57,6 +60,12 @@ class JsonProvider+Ordercontainer : FDR.BaseTypes.IJsonDocument member Project: JsonProvider+Background with get JsonRuntime.GetPropertyPacked(this, "project") + member WithBackgrounds: backgrounds:JsonProvider+Backgrounds -> JsonProvider+Ordercontainer + JsonRuntime.WithRecordProperty(this, "backgrounds", (backgrounds :> obj), "") + + member WithProject: project:JsonProvider+Background -> JsonProvider+Ordercontainer + JsonRuntime.WithRecordProperty(this, "project", (project :> obj), "") + class JsonProvider+Background : FDR.BaseTypes.IJsonDocument new : title:JsonProvider+Title -> JsonProvider+Background @@ -69,6 +78,9 @@ class JsonProvider+Background : FDR.BaseTypes.IJsonDocument member Title: JsonProvider+Title with get JsonRuntime.GetPropertyPacked(this, "title") + member WithTitle: title:JsonProvider+Title -> JsonProvider+Background + JsonRuntime.WithRecordProperty(this, "title", (title :> obj), "") + class JsonProvider+Backgrounds : FDR.BaseTypes.IJsonDocument new : background:JsonProvider+Background -> JsonProvider+Backgrounds @@ -81,6 +93,9 @@ class JsonProvider+Backgrounds : FDR.BaseTypes.IJsonDocument member Background: JsonProvider+Background with get JsonRuntime.GetPropertyPacked(this, "background") + member WithBackground: background:JsonProvider+Background -> JsonProvider+Backgrounds + JsonRuntime.WithRecordProperty(this, "background", (background :> obj), "") + class JsonProvider+Title : FDR.BaseTypes.IJsonDocument new : text:string -> JsonProvider+Title @@ -94,4 +109,7 @@ class JsonProvider+Title : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "text") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithText: text:string -> JsonProvider+Title + JsonRuntime.WithRecordProperty(this, "text", (text :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,projects.json,False,,,True,False,ValuesAndInlineSchemasOverrides,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,projects.json,False,,,True,False,ValuesAndInlineSchemasOverrides,.expected index 6575d09b7..95421e75a 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,projects.json,False,,,True,False,ValuesAndInlineSchemasOverrides,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,projects.json,False,,,True,False,ValuesAndInlineSchemasOverrides,.expected @@ -40,6 +40,9 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument member Ordercontainer: JsonProvider+Ordercontainer with get JsonRuntime.GetPropertyPacked(this, "ordercontainer") + member WithOrdercontainer: ordercontainer:JsonProvider+Ordercontainer -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "ordercontainer", (ordercontainer :> obj), "") + class JsonProvider+Ordercontainer : FDR.BaseTypes.IJsonDocument new : backgrounds:JsonProvider+Backgrounds -> project:JsonProvider+Background -> JsonProvider+Ordercontainer @@ -57,6 +60,12 @@ class JsonProvider+Ordercontainer : FDR.BaseTypes.IJsonDocument member Project: JsonProvider+Background with get JsonRuntime.GetPropertyPacked(this, "project") + member WithBackgrounds: backgrounds:JsonProvider+Backgrounds -> JsonProvider+Ordercontainer + JsonRuntime.WithRecordProperty(this, "backgrounds", (backgrounds :> obj), "") + + member WithProject: project:JsonProvider+Background -> JsonProvider+Ordercontainer + JsonRuntime.WithRecordProperty(this, "project", (project :> obj), "") + class JsonProvider+Background : FDR.BaseTypes.IJsonDocument new : title:JsonProvider+Title -> JsonProvider+Background @@ -69,6 +78,9 @@ class JsonProvider+Background : FDR.BaseTypes.IJsonDocument member Title: JsonProvider+Title with get JsonRuntime.GetPropertyPacked(this, "title") + member WithTitle: title:JsonProvider+Title -> JsonProvider+Background + JsonRuntime.WithRecordProperty(this, "title", (title :> obj), "") + class JsonProvider+Backgrounds : FDR.BaseTypes.IJsonDocument new : background:JsonProvider+Background -> JsonProvider+Backgrounds @@ -81,6 +93,9 @@ class JsonProvider+Backgrounds : FDR.BaseTypes.IJsonDocument member Background: JsonProvider+Background with get JsonRuntime.GetPropertyPacked(this, "background") + member WithBackground: background:JsonProvider+Background -> JsonProvider+Backgrounds + JsonRuntime.WithRecordProperty(this, "background", (background :> obj), "") + class JsonProvider+Title : FDR.BaseTypes.IJsonDocument new : text:string -> JsonProvider+Title @@ -94,4 +109,7 @@ class JsonProvider+Title : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "text") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithText: text:string -> JsonProvider+Title + JsonRuntime.WithRecordProperty(this, "text", (text :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,projects.json,False,,,True,False,ValuesOnly,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,projects.json,False,,,True,False,ValuesOnly,.expected index 6575d09b7..95421e75a 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,projects.json,False,,,True,False,ValuesOnly,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,projects.json,False,,,True,False,ValuesOnly,.expected @@ -40,6 +40,9 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument member Ordercontainer: JsonProvider+Ordercontainer with get JsonRuntime.GetPropertyPacked(this, "ordercontainer") + member WithOrdercontainer: ordercontainer:JsonProvider+Ordercontainer -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "ordercontainer", (ordercontainer :> obj), "") + class JsonProvider+Ordercontainer : FDR.BaseTypes.IJsonDocument new : backgrounds:JsonProvider+Backgrounds -> project:JsonProvider+Background -> JsonProvider+Ordercontainer @@ -57,6 +60,12 @@ class JsonProvider+Ordercontainer : FDR.BaseTypes.IJsonDocument member Project: JsonProvider+Background with get JsonRuntime.GetPropertyPacked(this, "project") + member WithBackgrounds: backgrounds:JsonProvider+Backgrounds -> JsonProvider+Ordercontainer + JsonRuntime.WithRecordProperty(this, "backgrounds", (backgrounds :> obj), "") + + member WithProject: project:JsonProvider+Background -> JsonProvider+Ordercontainer + JsonRuntime.WithRecordProperty(this, "project", (project :> obj), "") + class JsonProvider+Background : FDR.BaseTypes.IJsonDocument new : title:JsonProvider+Title -> JsonProvider+Background @@ -69,6 +78,9 @@ class JsonProvider+Background : FDR.BaseTypes.IJsonDocument member Title: JsonProvider+Title with get JsonRuntime.GetPropertyPacked(this, "title") + member WithTitle: title:JsonProvider+Title -> JsonProvider+Background + JsonRuntime.WithRecordProperty(this, "title", (title :> obj), "") + class JsonProvider+Backgrounds : FDR.BaseTypes.IJsonDocument new : background:JsonProvider+Background -> JsonProvider+Backgrounds @@ -81,6 +93,9 @@ class JsonProvider+Backgrounds : FDR.BaseTypes.IJsonDocument member Background: JsonProvider+Background with get JsonRuntime.GetPropertyPacked(this, "background") + member WithBackground: background:JsonProvider+Background -> JsonProvider+Backgrounds + JsonRuntime.WithRecordProperty(this, "background", (background :> obj), "") + class JsonProvider+Title : FDR.BaseTypes.IJsonDocument new : text:string -> JsonProvider+Title @@ -94,4 +109,7 @@ class JsonProvider+Title : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "text") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithText: text:string -> JsonProvider+Title + JsonRuntime.WithRecordProperty(this, "text", (text :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,reddit.json,False,,,True,False,BackwardCompatible,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,reddit.json,False,,,True,False,BackwardCompatible,.expected index 58761f1d0..85a804a14 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,reddit.json,False,,,True,False,BackwardCompatible,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,reddit.json,False,,,True,False,BackwardCompatible,.expected @@ -46,6 +46,12 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "kind") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithData: data:JsonProvider+Data -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "data", (data :> obj), "") + + member WithKind: kind:string -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "kind", (kind :> obj), "") + class JsonProvider+Data : FDR.BaseTypes.IJsonDocument new : modhash:JsonValue -> children:JsonProvider+JsonProvider+Child[] -> after:string -> before:JsonValue -> JsonProvider+Data @@ -74,6 +80,18 @@ class JsonProvider+Data : FDR.BaseTypes.IJsonDocument member Modhash: FDR.BaseTypes.IJsonDocument with get JsonRuntime.GetPropertyPackedOrNull(this, "modhash") + member WithAfter: after:string -> JsonProvider+Data + JsonRuntime.WithRecordProperty(this, "after", (after :> obj), "") + + member WithBefore: before:JsonValue -> JsonProvider+Data + JsonRuntime.WithRecordProperty(this, "before", (before :> obj), "") + + member WithChildren: children:JsonProvider+JsonProvider+Child[] -> JsonProvider+Data + JsonRuntime.WithRecordProperty(this, "children", (children :> obj), "") + + member WithModhash: modhash:JsonValue -> JsonProvider+Data + JsonRuntime.WithRecordProperty(this, "modhash", (modhash :> obj), "") + class JsonProvider+Child : FDR.BaseTypes.IJsonDocument new : kind:string -> data:JsonProvider+Data2 -> JsonProvider+Child @@ -92,6 +110,12 @@ class JsonProvider+Child : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "kind") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithData: data:JsonProvider+Data2 -> JsonProvider+Child + JsonRuntime.WithRecordProperty(this, "data", (data :> obj), "") + + member WithKind: kind:string -> JsonProvider+Child + JsonRuntime.WithRecordProperty(this, "kind", (kind :> obj), "") + class JsonProvider+Data2 : FDR.BaseTypes.IJsonDocument new : subredditId:string -> linkTitle:string -> bannedBy:JsonValue -> subreddit:string -> linkAuthor:string -> likes:JsonValue -> replies:JsonValue -> saved:bool -> id:string -> gilded:int -> author:string -> parentId:string -> approvedBy:JsonValue -> body:string -> edited:bool -> authorFlairCssClass:JsonValue -> downs:int -> bodyHtml:string -> linkId:string -> scoreHidden:bool -> name:string -> created:int -> authorFlairText:JsonValue -> linkUrl:string -> createdUtc:int -> ups:int -> numReports:JsonValue -> distinguished:JsonValue -> JsonProvider+Data2 @@ -259,4 +283,88 @@ class JsonProvider+Data2 : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "ups") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertInteger("", value.JsonOpt), value.JsonOpt) + member WithApprovedBy: approvedBy:JsonValue -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "approved_by", (approvedBy :> obj), "") + + member WithAuthor: author:string -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "author", (author :> obj), "") + + member WithAuthorFlairCssClass: authorFlairCssClass:JsonValue -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "author_flair_css_class", (authorFlairCssClass :> obj), "") + + member WithAuthorFlairText: authorFlairText:JsonValue -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "author_flair_text", (authorFlairText :> obj), "") + + member WithBannedBy: bannedBy:JsonValue -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "banned_by", (bannedBy :> obj), "") + + member WithBody: body:string -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "body", (body :> obj), "") + + member WithBodyHtml: bodyHtml:string -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "body_html", (bodyHtml :> obj), "") + + member WithCreated: created:int -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "created", (created :> obj), "") + + member WithCreatedUtc: createdUtc:int -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "created_utc", (createdUtc :> obj), "") + + member WithDistinguished: distinguished:JsonValue -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "distinguished", (distinguished :> obj), "") + + member WithDowns: downs:int -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "downs", (downs :> obj), "") + + member WithEdited: edited:bool -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "edited", (edited :> obj), "") + + member WithGilded: gilded:int -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "gilded", (gilded :> obj), "") + + member WithId: id:string -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithLikes: likes:JsonValue -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "likes", (likes :> obj), "") + + member WithLinkAuthor: linkAuthor:string -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "link_author", (linkAuthor :> obj), "") + + member WithLinkId: linkId:string -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "link_id", (linkId :> obj), "") + + member WithLinkTitle: linkTitle:string -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "link_title", (linkTitle :> obj), "") + + member WithLinkUrl: linkUrl:string -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "link_url", (linkUrl :> obj), "") + + member WithName: name:string -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "name", (name :> obj), "") + + member WithNumReports: numReports:JsonValue -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "num_reports", (numReports :> obj), "") + + member WithParentId: parentId:string -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "parent_id", (parentId :> obj), "") + + member WithReplies: replies:JsonValue -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "replies", (replies :> obj), "") + + member WithSaved: saved:bool -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "saved", (saved :> obj), "") + + member WithScoreHidden: scoreHidden:bool -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "score_hidden", (scoreHidden :> obj), "") + + member WithSubreddit: subreddit:string -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "subreddit", (subreddit :> obj), "") + + member WithSubredditId: subredditId:string -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "subreddit_id", (subredditId :> obj), "") + + member WithUps: ups:int -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "ups", (ups :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,reddit.json,False,,,True,False,ValuesAndInlineSchemasHints,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,reddit.json,False,,,True,False,ValuesAndInlineSchemasHints,.expected index 58761f1d0..85a804a14 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,reddit.json,False,,,True,False,ValuesAndInlineSchemasHints,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,reddit.json,False,,,True,False,ValuesAndInlineSchemasHints,.expected @@ -46,6 +46,12 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "kind") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithData: data:JsonProvider+Data -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "data", (data :> obj), "") + + member WithKind: kind:string -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "kind", (kind :> obj), "") + class JsonProvider+Data : FDR.BaseTypes.IJsonDocument new : modhash:JsonValue -> children:JsonProvider+JsonProvider+Child[] -> after:string -> before:JsonValue -> JsonProvider+Data @@ -74,6 +80,18 @@ class JsonProvider+Data : FDR.BaseTypes.IJsonDocument member Modhash: FDR.BaseTypes.IJsonDocument with get JsonRuntime.GetPropertyPackedOrNull(this, "modhash") + member WithAfter: after:string -> JsonProvider+Data + JsonRuntime.WithRecordProperty(this, "after", (after :> obj), "") + + member WithBefore: before:JsonValue -> JsonProvider+Data + JsonRuntime.WithRecordProperty(this, "before", (before :> obj), "") + + member WithChildren: children:JsonProvider+JsonProvider+Child[] -> JsonProvider+Data + JsonRuntime.WithRecordProperty(this, "children", (children :> obj), "") + + member WithModhash: modhash:JsonValue -> JsonProvider+Data + JsonRuntime.WithRecordProperty(this, "modhash", (modhash :> obj), "") + class JsonProvider+Child : FDR.BaseTypes.IJsonDocument new : kind:string -> data:JsonProvider+Data2 -> JsonProvider+Child @@ -92,6 +110,12 @@ class JsonProvider+Child : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "kind") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithData: data:JsonProvider+Data2 -> JsonProvider+Child + JsonRuntime.WithRecordProperty(this, "data", (data :> obj), "") + + member WithKind: kind:string -> JsonProvider+Child + JsonRuntime.WithRecordProperty(this, "kind", (kind :> obj), "") + class JsonProvider+Data2 : FDR.BaseTypes.IJsonDocument new : subredditId:string -> linkTitle:string -> bannedBy:JsonValue -> subreddit:string -> linkAuthor:string -> likes:JsonValue -> replies:JsonValue -> saved:bool -> id:string -> gilded:int -> author:string -> parentId:string -> approvedBy:JsonValue -> body:string -> edited:bool -> authorFlairCssClass:JsonValue -> downs:int -> bodyHtml:string -> linkId:string -> scoreHidden:bool -> name:string -> created:int -> authorFlairText:JsonValue -> linkUrl:string -> createdUtc:int -> ups:int -> numReports:JsonValue -> distinguished:JsonValue -> JsonProvider+Data2 @@ -259,4 +283,88 @@ class JsonProvider+Data2 : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "ups") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertInteger("", value.JsonOpt), value.JsonOpt) + member WithApprovedBy: approvedBy:JsonValue -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "approved_by", (approvedBy :> obj), "") + + member WithAuthor: author:string -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "author", (author :> obj), "") + + member WithAuthorFlairCssClass: authorFlairCssClass:JsonValue -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "author_flair_css_class", (authorFlairCssClass :> obj), "") + + member WithAuthorFlairText: authorFlairText:JsonValue -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "author_flair_text", (authorFlairText :> obj), "") + + member WithBannedBy: bannedBy:JsonValue -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "banned_by", (bannedBy :> obj), "") + + member WithBody: body:string -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "body", (body :> obj), "") + + member WithBodyHtml: bodyHtml:string -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "body_html", (bodyHtml :> obj), "") + + member WithCreated: created:int -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "created", (created :> obj), "") + + member WithCreatedUtc: createdUtc:int -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "created_utc", (createdUtc :> obj), "") + + member WithDistinguished: distinguished:JsonValue -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "distinguished", (distinguished :> obj), "") + + member WithDowns: downs:int -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "downs", (downs :> obj), "") + + member WithEdited: edited:bool -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "edited", (edited :> obj), "") + + member WithGilded: gilded:int -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "gilded", (gilded :> obj), "") + + member WithId: id:string -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithLikes: likes:JsonValue -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "likes", (likes :> obj), "") + + member WithLinkAuthor: linkAuthor:string -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "link_author", (linkAuthor :> obj), "") + + member WithLinkId: linkId:string -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "link_id", (linkId :> obj), "") + + member WithLinkTitle: linkTitle:string -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "link_title", (linkTitle :> obj), "") + + member WithLinkUrl: linkUrl:string -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "link_url", (linkUrl :> obj), "") + + member WithName: name:string -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "name", (name :> obj), "") + + member WithNumReports: numReports:JsonValue -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "num_reports", (numReports :> obj), "") + + member WithParentId: parentId:string -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "parent_id", (parentId :> obj), "") + + member WithReplies: replies:JsonValue -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "replies", (replies :> obj), "") + + member WithSaved: saved:bool -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "saved", (saved :> obj), "") + + member WithScoreHidden: scoreHidden:bool -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "score_hidden", (scoreHidden :> obj), "") + + member WithSubreddit: subreddit:string -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "subreddit", (subreddit :> obj), "") + + member WithSubredditId: subredditId:string -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "subreddit_id", (subredditId :> obj), "") + + member WithUps: ups:int -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "ups", (ups :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,reddit.json,False,,,True,False,ValuesAndInlineSchemasOverrides,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,reddit.json,False,,,True,False,ValuesAndInlineSchemasOverrides,.expected index 58761f1d0..85a804a14 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,reddit.json,False,,,True,False,ValuesAndInlineSchemasOverrides,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,reddit.json,False,,,True,False,ValuesAndInlineSchemasOverrides,.expected @@ -46,6 +46,12 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "kind") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithData: data:JsonProvider+Data -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "data", (data :> obj), "") + + member WithKind: kind:string -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "kind", (kind :> obj), "") + class JsonProvider+Data : FDR.BaseTypes.IJsonDocument new : modhash:JsonValue -> children:JsonProvider+JsonProvider+Child[] -> after:string -> before:JsonValue -> JsonProvider+Data @@ -74,6 +80,18 @@ class JsonProvider+Data : FDR.BaseTypes.IJsonDocument member Modhash: FDR.BaseTypes.IJsonDocument with get JsonRuntime.GetPropertyPackedOrNull(this, "modhash") + member WithAfter: after:string -> JsonProvider+Data + JsonRuntime.WithRecordProperty(this, "after", (after :> obj), "") + + member WithBefore: before:JsonValue -> JsonProvider+Data + JsonRuntime.WithRecordProperty(this, "before", (before :> obj), "") + + member WithChildren: children:JsonProvider+JsonProvider+Child[] -> JsonProvider+Data + JsonRuntime.WithRecordProperty(this, "children", (children :> obj), "") + + member WithModhash: modhash:JsonValue -> JsonProvider+Data + JsonRuntime.WithRecordProperty(this, "modhash", (modhash :> obj), "") + class JsonProvider+Child : FDR.BaseTypes.IJsonDocument new : kind:string -> data:JsonProvider+Data2 -> JsonProvider+Child @@ -92,6 +110,12 @@ class JsonProvider+Child : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "kind") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithData: data:JsonProvider+Data2 -> JsonProvider+Child + JsonRuntime.WithRecordProperty(this, "data", (data :> obj), "") + + member WithKind: kind:string -> JsonProvider+Child + JsonRuntime.WithRecordProperty(this, "kind", (kind :> obj), "") + class JsonProvider+Data2 : FDR.BaseTypes.IJsonDocument new : subredditId:string -> linkTitle:string -> bannedBy:JsonValue -> subreddit:string -> linkAuthor:string -> likes:JsonValue -> replies:JsonValue -> saved:bool -> id:string -> gilded:int -> author:string -> parentId:string -> approvedBy:JsonValue -> body:string -> edited:bool -> authorFlairCssClass:JsonValue -> downs:int -> bodyHtml:string -> linkId:string -> scoreHidden:bool -> name:string -> created:int -> authorFlairText:JsonValue -> linkUrl:string -> createdUtc:int -> ups:int -> numReports:JsonValue -> distinguished:JsonValue -> JsonProvider+Data2 @@ -259,4 +283,88 @@ class JsonProvider+Data2 : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "ups") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertInteger("", value.JsonOpt), value.JsonOpt) + member WithApprovedBy: approvedBy:JsonValue -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "approved_by", (approvedBy :> obj), "") + + member WithAuthor: author:string -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "author", (author :> obj), "") + + member WithAuthorFlairCssClass: authorFlairCssClass:JsonValue -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "author_flair_css_class", (authorFlairCssClass :> obj), "") + + member WithAuthorFlairText: authorFlairText:JsonValue -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "author_flair_text", (authorFlairText :> obj), "") + + member WithBannedBy: bannedBy:JsonValue -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "banned_by", (bannedBy :> obj), "") + + member WithBody: body:string -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "body", (body :> obj), "") + + member WithBodyHtml: bodyHtml:string -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "body_html", (bodyHtml :> obj), "") + + member WithCreated: created:int -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "created", (created :> obj), "") + + member WithCreatedUtc: createdUtc:int -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "created_utc", (createdUtc :> obj), "") + + member WithDistinguished: distinguished:JsonValue -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "distinguished", (distinguished :> obj), "") + + member WithDowns: downs:int -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "downs", (downs :> obj), "") + + member WithEdited: edited:bool -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "edited", (edited :> obj), "") + + member WithGilded: gilded:int -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "gilded", (gilded :> obj), "") + + member WithId: id:string -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithLikes: likes:JsonValue -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "likes", (likes :> obj), "") + + member WithLinkAuthor: linkAuthor:string -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "link_author", (linkAuthor :> obj), "") + + member WithLinkId: linkId:string -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "link_id", (linkId :> obj), "") + + member WithLinkTitle: linkTitle:string -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "link_title", (linkTitle :> obj), "") + + member WithLinkUrl: linkUrl:string -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "link_url", (linkUrl :> obj), "") + + member WithName: name:string -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "name", (name :> obj), "") + + member WithNumReports: numReports:JsonValue -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "num_reports", (numReports :> obj), "") + + member WithParentId: parentId:string -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "parent_id", (parentId :> obj), "") + + member WithReplies: replies:JsonValue -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "replies", (replies :> obj), "") + + member WithSaved: saved:bool -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "saved", (saved :> obj), "") + + member WithScoreHidden: scoreHidden:bool -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "score_hidden", (scoreHidden :> obj), "") + + member WithSubreddit: subreddit:string -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "subreddit", (subreddit :> obj), "") + + member WithSubredditId: subredditId:string -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "subreddit_id", (subredditId :> obj), "") + + member WithUps: ups:int -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "ups", (ups :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,reddit.json,False,,,True,False,ValuesOnly,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,reddit.json,False,,,True,False,ValuesOnly,.expected index 58761f1d0..85a804a14 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,reddit.json,False,,,True,False,ValuesOnly,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,reddit.json,False,,,True,False,ValuesOnly,.expected @@ -46,6 +46,12 @@ class JsonProvider+Root : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "kind") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithData: data:JsonProvider+Data -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "data", (data :> obj), "") + + member WithKind: kind:string -> JsonProvider+Root + JsonRuntime.WithRecordProperty(this, "kind", (kind :> obj), "") + class JsonProvider+Data : FDR.BaseTypes.IJsonDocument new : modhash:JsonValue -> children:JsonProvider+JsonProvider+Child[] -> after:string -> before:JsonValue -> JsonProvider+Data @@ -74,6 +80,18 @@ class JsonProvider+Data : FDR.BaseTypes.IJsonDocument member Modhash: FDR.BaseTypes.IJsonDocument with get JsonRuntime.GetPropertyPackedOrNull(this, "modhash") + member WithAfter: after:string -> JsonProvider+Data + JsonRuntime.WithRecordProperty(this, "after", (after :> obj), "") + + member WithBefore: before:JsonValue -> JsonProvider+Data + JsonRuntime.WithRecordProperty(this, "before", (before :> obj), "") + + member WithChildren: children:JsonProvider+JsonProvider+Child[] -> JsonProvider+Data + JsonRuntime.WithRecordProperty(this, "children", (children :> obj), "") + + member WithModhash: modhash:JsonValue -> JsonProvider+Data + JsonRuntime.WithRecordProperty(this, "modhash", (modhash :> obj), "") + class JsonProvider+Child : FDR.BaseTypes.IJsonDocument new : kind:string -> data:JsonProvider+Data2 -> JsonProvider+Child @@ -92,6 +110,12 @@ class JsonProvider+Child : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "kind") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithData: data:JsonProvider+Data2 -> JsonProvider+Child + JsonRuntime.WithRecordProperty(this, "data", (data :> obj), "") + + member WithKind: kind:string -> JsonProvider+Child + JsonRuntime.WithRecordProperty(this, "kind", (kind :> obj), "") + class JsonProvider+Data2 : FDR.BaseTypes.IJsonDocument new : subredditId:string -> linkTitle:string -> bannedBy:JsonValue -> subreddit:string -> linkAuthor:string -> likes:JsonValue -> replies:JsonValue -> saved:bool -> id:string -> gilded:int -> author:string -> parentId:string -> approvedBy:JsonValue -> body:string -> edited:bool -> authorFlairCssClass:JsonValue -> downs:int -> bodyHtml:string -> linkId:string -> scoreHidden:bool -> name:string -> created:int -> authorFlairText:JsonValue -> linkUrl:string -> createdUtc:int -> ups:int -> numReports:JsonValue -> distinguished:JsonValue -> JsonProvider+Data2 @@ -259,4 +283,88 @@ class JsonProvider+Data2 : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "ups") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertInteger("", value.JsonOpt), value.JsonOpt) + member WithApprovedBy: approvedBy:JsonValue -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "approved_by", (approvedBy :> obj), "") + + member WithAuthor: author:string -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "author", (author :> obj), "") + + member WithAuthorFlairCssClass: authorFlairCssClass:JsonValue -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "author_flair_css_class", (authorFlairCssClass :> obj), "") + + member WithAuthorFlairText: authorFlairText:JsonValue -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "author_flair_text", (authorFlairText :> obj), "") + + member WithBannedBy: bannedBy:JsonValue -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "banned_by", (bannedBy :> obj), "") + + member WithBody: body:string -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "body", (body :> obj), "") + + member WithBodyHtml: bodyHtml:string -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "body_html", (bodyHtml :> obj), "") + + member WithCreated: created:int -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "created", (created :> obj), "") + + member WithCreatedUtc: createdUtc:int -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "created_utc", (createdUtc :> obj), "") + + member WithDistinguished: distinguished:JsonValue -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "distinguished", (distinguished :> obj), "") + + member WithDowns: downs:int -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "downs", (downs :> obj), "") + + member WithEdited: edited:bool -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "edited", (edited :> obj), "") + + member WithGilded: gilded:int -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "gilded", (gilded :> obj), "") + + member WithId: id:string -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithLikes: likes:JsonValue -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "likes", (likes :> obj), "") + + member WithLinkAuthor: linkAuthor:string -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "link_author", (linkAuthor :> obj), "") + + member WithLinkId: linkId:string -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "link_id", (linkId :> obj), "") + + member WithLinkTitle: linkTitle:string -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "link_title", (linkTitle :> obj), "") + + member WithLinkUrl: linkUrl:string -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "link_url", (linkUrl :> obj), "") + + member WithName: name:string -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "name", (name :> obj), "") + + member WithNumReports: numReports:JsonValue -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "num_reports", (numReports :> obj), "") + + member WithParentId: parentId:string -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "parent_id", (parentId :> obj), "") + + member WithReplies: replies:JsonValue -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "replies", (replies :> obj), "") + + member WithSaved: saved:bool -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "saved", (saved :> obj), "") + + member WithScoreHidden: scoreHidden:bool -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "score_hidden", (scoreHidden :> obj), "") + + member WithSubreddit: subreddit:string -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "subreddit", (subreddit :> obj), "") + + member WithSubredditId: subredditId:string -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "subreddit_id", (subredditId :> obj), "") + + member WithUps: ups:int -> JsonProvider+Data2 + JsonRuntime.WithRecordProperty(this, "ups", (ups :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,topics.json,True,Topic,,True,False,BackwardCompatible,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,topics.json,True,Topic,,True,False,BackwardCompatible,.expected index f6796d5ff..a63f6e472 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,topics.json,True,Topic,,True,False,BackwardCompatible,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,topics.json,True,Topic,,True,False,BackwardCompatible,.expected @@ -153,6 +153,75 @@ class JsonProvider+Topic : FDR.BaseTypes.IJsonDocument member Visibility: int option with get JsonRuntime.ConvertInteger("", JsonRuntime.TryGetPropertyUnpacked(this, "visibility")) + member WithCategories: categories:JsonProvider+JsonProvider+Category[] -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "categories", (categories :> obj), "") + + member WithCategoryIds: categoryIds:string[] -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "category-ids", (categoryIds :> obj), "") + + member WithCourseIds: courseIds:int[] -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "course-ids", (courseIds :> obj), "") + + member WithCourses: courses:JsonProvider+JsonProvider+Course[] -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "courses", (courses :> obj), "") + + member WithDisplay: display:bool -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "display", (display :> obj), "") + + member WithId: id:int -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithInstructor: instructor:string option -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "instructor", (instructor :> obj), "") + + member WithLanguage: language:string -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "language", (language :> obj), "") + + member WithLargeIcon: largeIcon:string -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "large_icon", (largeIcon :> obj), "") + + member WithName: name:string -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "name", (name :> obj), "") + + member WithPhoto: photo:string -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "photo", (photo :> obj), "") + + member WithPreviewLink: previewLink:string option -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "preview_link", (previewLink :> obj), "") + + member WithSelfServiceCourseId: selfServiceCourseId:int option -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "self_service_course_id", (selfServiceCourseId :> obj), "") + + member WithShortDescription: shortDescription:string -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "short_description", (shortDescription :> obj), "") + + member WithShortName: shortName:string -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "short_name", (shortName :> obj), "") + + member WithSmallIcon: smallIcon:string -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "small_icon", (smallIcon :> obj), "") + + member WithSmallIconHover: smallIconHover:string -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "small_icon_hover", (smallIconHover :> obj), "") + + member WithSubtitleLanguagesCsv: subtitleLanguagesCsv:string option -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "subtitle_languages_csv", (subtitleLanguagesCsv :> obj), "") + + member WithUniversities: universities:JsonProvider+JsonProvider+University[] -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "universities", (universities :> obj), "") + + member WithUniversityIds: universityIds:string[] -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "university-ids", (universityIds :> obj), "") + + member WithUniversityLogo: universityLogo:string option -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "university_logo", (universityLogo :> obj), "") + + member WithVideo: video:string option -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "video", (video :> obj), "") + + member WithVisibility: visibility:int option -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "visibility", (visibility :> obj), "") + class JsonProvider+Category : FDR.BaseTypes.IJsonDocument new : id:int -> name:string -> mailingListId:int option -> shortName:string -> description:string option -> JsonProvider+Category @@ -188,6 +257,21 @@ class JsonProvider+Category : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "short_name") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithDescription: description:string option -> JsonProvider+Category + JsonRuntime.WithRecordProperty(this, "description", (description :> obj), "") + + member WithId: id:int -> JsonProvider+Category + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithMailingListId: mailingListId:int option -> JsonProvider+Category + JsonRuntime.WithRecordProperty(this, "mailing_list_id", (mailingListId :> obj), "") + + member WithName: name:string -> JsonProvider+Category + JsonRuntime.WithRecordProperty(this, "name", (name :> obj), "") + + member WithShortName: shortName:string -> JsonProvider+Category + JsonRuntime.WithRecordProperty(this, "short_name", (shortName :> obj), "") + class JsonProvider+Course : FDR.BaseTypes.IJsonDocument new : gradingPolicyDistinction:string option -> aceTrackPriceDisplay:JsonValue -> signatureTrackCertificateDesignId:JsonValue -> aceSemesterHours:JsonValue -> startDay:int option -> durationString:string option -> signatureTrackLastChanceTime:System.DateTime option -> id:int -> startMonth:int option -> certificateDescription:string option -> startDateString:JsonProvider+StringOrDateTime -> cheggSessionId:JsonValue -> signatureTrackRegularPrice:int option -> gradesReleaseDate:System.DateTime option -> certificatesReady:bool -> signatureTrackPrice:int option -> statementDesignId:int option -> signatureTrackRegistrationOpen:bool -> topicId:int -> eligibleForSignatureTrack:bool -> startDate:System.DateTime option -> record:JsonProvider+Record -> status:bool -> startYear:int option -> signatureTrackCertificateCombinedSignature:JsonValue -> endDate:JsonValue -> notifiedSubscribers:bool -> instructors:int[] -> active:bool -> eligibleForCertificates:bool -> signatureTrackCertificateSignatureBlurb:JsonValue -> deployed:bool -> aceCloseDate:JsonValue -> name:JsonProvider+IntOrString -> textbooks:JsonValue[] -> signatureTrackOpenTime:System.DateTime option -> eligibleForAce:bool option -> gradingPolicyNormal:string option -> aceOpenDate:JsonValue -> homeLink:string option -> creatorId:int option -> proctoredExamCompletionDate:JsonValue -> universityLogo:JsonValue -> signatureTrackCloseTime:System.DateTime option -> authReviewCompletionDate:JsonValue -> JsonProvider+Course @@ -430,6 +514,141 @@ class JsonProvider+Course : FDR.BaseTypes.IJsonDocument member UniversityLogo: FDR.BaseTypes.IJsonDocument with get JsonRuntime.GetPropertyPackedOrNull(this, "university_logo") + member WithAceCloseDate: aceCloseDate:JsonValue -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "ace_close_date", (aceCloseDate :> obj), "") + + member WithAceOpenDate: aceOpenDate:JsonValue -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "ace_open_date", (aceOpenDate :> obj), "") + + member WithAceSemesterHours: aceSemesterHours:JsonValue -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "ace_semester_hours", (aceSemesterHours :> obj), "") + + member WithAceTrackPriceDisplay: aceTrackPriceDisplay:JsonValue -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "ace_track_price_display", (aceTrackPriceDisplay :> obj), "") + + member WithActive: active:bool -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "active", (active :> obj), "") + + member WithAuthReviewCompletionDate: authReviewCompletionDate:JsonValue -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "auth_review_completion_date", (authReviewCompletionDate :> obj), "") + + member WithCertificateDescription: certificateDescription:string option -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "certificate_description", (certificateDescription :> obj), "") + + member WithCertificatesReady: certificatesReady:bool -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "certificates_ready", (certificatesReady :> obj), "") + + member WithCheggSessionId: cheggSessionId:JsonValue -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "chegg_session_id", (cheggSessionId :> obj), "") + + member WithCreatorId: creatorId:int option -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "creator_id", (creatorId :> obj), "") + + member WithDeployed: deployed:bool -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "deployed", (deployed :> obj), "") + + member WithDurationString: durationString:string option -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "duration_string", (durationString :> obj), "") + + member WithEligibleForAce: eligibleForAce:bool option -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "eligible_for_ACE", (eligibleForAce :> obj), "") + + member WithEligibleForCertificates: eligibleForCertificates:bool -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "eligible_for_certificates", (eligibleForCertificates :> obj), "") + + member WithEligibleForSignatureTrack: eligibleForSignatureTrack:bool -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "eligible_for_signature_track", (eligibleForSignatureTrack :> obj), "") + + member WithEndDate: endDate:JsonValue -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "end_date", (endDate :> obj), "") + + member WithGradesReleaseDate: gradesReleaseDate:System.DateTime option -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "grades_release_date", (gradesReleaseDate :> obj), "") + + member WithGradingPolicyDistinction: gradingPolicyDistinction:string option -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "grading_policy_distinction", (gradingPolicyDistinction :> obj), "") + + member WithGradingPolicyNormal: gradingPolicyNormal:string option -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "grading_policy_normal", (gradingPolicyNormal :> obj), "") + + member WithHomeLink: homeLink:string option -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "home_link", (homeLink :> obj), "") + + member WithId: id:int -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithInstructors: instructors:int[] -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "instructors", (instructors :> obj), "") + + member WithName: name:JsonProvider+IntOrString -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "name", (name :> obj), "") + + member WithNotifiedSubscribers: notifiedSubscribers:bool -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "notified_subscribers", (notifiedSubscribers :> obj), "") + + member WithProctoredExamCompletionDate: proctoredExamCompletionDate:JsonValue -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "proctored_exam_completion_date", (proctoredExamCompletionDate :> obj), "") + + member WithRecord: record:JsonProvider+Record -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "record", (record :> obj), "") + + member WithSignatureTrackCertificateCombinedSignature: signatureTrackCertificateCombinedSignature:JsonValue -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "signature_track_certificate_combined_signature", (signatureTrackCertificateCombinedSignature :> obj), "") + + member WithSignatureTrackCertificateDesignId: signatureTrackCertificateDesignId:JsonValue -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "signature_track_certificate_design_id", (signatureTrackCertificateDesignId :> obj), "") + + member WithSignatureTrackCertificateSignatureBlurb: signatureTrackCertificateSignatureBlurb:JsonValue -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "signature_track_certificate_signature_blurb", (signatureTrackCertificateSignatureBlurb :> obj), "") + + member WithSignatureTrackCloseTime: signatureTrackCloseTime:System.DateTime option -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "signature_track_close_time", (signatureTrackCloseTime :> obj), "") + + member WithSignatureTrackLastChanceTime: signatureTrackLastChanceTime:System.DateTime option -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "signature_track_last_chance_time", (signatureTrackLastChanceTime :> obj), "") + + member WithSignatureTrackOpenTime: signatureTrackOpenTime:System.DateTime option -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "signature_track_open_time", (signatureTrackOpenTime :> obj), "") + + member WithSignatureTrackPrice: signatureTrackPrice:int option -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "signature_track_price", (signatureTrackPrice :> obj), "") + + member WithSignatureTrackRegistrationOpen: signatureTrackRegistrationOpen:bool -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "signature_track_registration_open", (signatureTrackRegistrationOpen :> obj), "") + + member WithSignatureTrackRegularPrice: signatureTrackRegularPrice:int option -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "signature_track_regular_price", (signatureTrackRegularPrice :> obj), "") + + member WithStartDate: startDate:System.DateTime option -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "start_date", (startDate :> obj), "") + + member WithStartDateString: startDateString:JsonProvider+StringOrDateTime -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "start_date_string", (startDateString :> obj), "") + + member WithStartDay: startDay:int option -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "start_day", (startDay :> obj), "") + + member WithStartMonth: startMonth:int option -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "start_month", (startMonth :> obj), "") + + member WithStartYear: startYear:int option -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "start_year", (startYear :> obj), "") + + member WithStatementDesignId: statementDesignId:int option -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "statement_design_id", (statementDesignId :> obj), "") + + member WithStatus: status:bool -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "status", (status :> obj), "") + + member WithTextbooks: textbooks:JsonValue[] -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "textbooks", (textbooks :> obj), "") + + member WithTopicId: topicId:int -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "topic_id", (topicId :> obj), "") + + member WithUniversityLogo: universityLogo:JsonValue -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "university_logo", (universityLogo :> obj), "") + class JsonProvider+University : FDR.BaseTypes.IJsonDocument new : rectangularLogoSvg:string option -> wordmark:JsonValue -> websiteTwitter:string option -> chinaMirror:int option -> favicon:string option -> websiteFacebook:string option -> logo:string option -> backgroundColor:JsonValue -> id:int -> locationCity:string option -> locationCountry:string option -> locationLat:decimal option -> location:string option -> primaryColor:string option -> abbrName:string -> website:string option -> description:string option -> shortName:string -> landingPageBanner:string option -> mailingListId:JsonValue -> websiteYoutube:string option -> partnerType:int -> banner:string option -> locationState:string option -> name:string -> squareLogo:string option -> squareLogoSource:string option -> squareLogoSvg:string option -> locationLng:decimal option -> homeLink:string option -> classLogo:string option -> display:bool -> JsonProvider+University @@ -600,6 +819,102 @@ class JsonProvider+University : FDR.BaseTypes.IJsonDocument member WebsiteYoutube: string option with get JsonRuntime.ConvertString("", JsonRuntime.TryGetPropertyUnpacked(this, "website_youtube")) + member WithAbbrName: abbrName:string -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "abbr_name", (abbrName :> obj), "") + + member WithBackgroundColor: backgroundColor:JsonValue -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "background_color", (backgroundColor :> obj), "") + + member WithBanner: banner:string option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "banner", (banner :> obj), "") + + member WithChinaMirror: chinaMirror:int option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "china_mirror", (chinaMirror :> obj), "") + + member WithClassLogo: classLogo:string option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "class_logo", (classLogo :> obj), "") + + member WithDescription: description:string option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "description", (description :> obj), "") + + member WithDisplay: display:bool -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "display", (display :> obj), "") + + member WithFavicon: favicon:string option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "favicon", (favicon :> obj), "") + + member WithHomeLink: homeLink:string option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "home_link", (homeLink :> obj), "") + + member WithId: id:int -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithLandingPageBanner: landingPageBanner:string option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "landing_page_banner", (landingPageBanner :> obj), "") + + member WithLocation: location:string option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "location", (location :> obj), "") + + member WithLocationCity: locationCity:string option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "location_city", (locationCity :> obj), "") + + member WithLocationCountry: locationCountry:string option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "location_country", (locationCountry :> obj), "") + + member WithLocationLat: locationLat:decimal option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "location_lat", (locationLat :> obj), "") + + member WithLocationLng: locationLng:decimal option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "location_lng", (locationLng :> obj), "") + + member WithLocationState: locationState:string option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "location_state", (locationState :> obj), "") + + member WithLogo: logo:string option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "logo", (logo :> obj), "") + + member WithMailingListId: mailingListId:JsonValue -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "mailing_list_id", (mailingListId :> obj), "") + + member WithName: name:string -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "name", (name :> obj), "") + + member WithPartnerType: partnerType:int -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "partner_type", (partnerType :> obj), "") + + member WithPrimaryColor: primaryColor:string option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "primary_color", (primaryColor :> obj), "") + + member WithRectangularLogoSvg: rectangularLogoSvg:string option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "rectangular_logo_svg", (rectangularLogoSvg :> obj), "") + + member WithShortName: shortName:string -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "short_name", (shortName :> obj), "") + + member WithSquareLogo: squareLogo:string option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "square_logo", (squareLogo :> obj), "") + + member WithSquareLogoSource: squareLogoSource:string option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "square_logo_source", (squareLogoSource :> obj), "") + + member WithSquareLogoSvg: squareLogoSvg:string option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "square_logo_svg", (squareLogoSvg :> obj), "") + + member WithWebsite: website:string option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "website", (website :> obj), "") + + member WithWebsiteFacebook: websiteFacebook:string option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "website_facebook", (websiteFacebook :> obj), "") + + member WithWebsiteTwitter: websiteTwitter:string option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "website_twitter", (websiteTwitter :> obj), "") + + member WithWebsiteYoutube: websiteYoutube:string option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "website_youtube", (websiteYoutube :> obj), "") + + member WithWordmark: wordmark:JsonValue -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "wordmark", (wordmark :> obj), "") + member Wordmark: FDR.BaseTypes.IJsonDocument with get JsonRuntime.GetPropertyPackedOrNull(this, "wordmark") @@ -687,9 +1002,42 @@ class JsonProvider+Record : FDR.BaseTypes.IJsonDocument member VerifyCertId: FDR.BaseTypes.IJsonDocument with get JsonRuntime.GetPropertyPackedOrNull(this, "verify_cert_id") + member WithAceGrade: aceGrade:int -> JsonProvider+Record + JsonRuntime.WithRecordProperty(this, "ace_grade", (aceGrade :> obj), "") + + member WithAchievementLevel: achievementLevel:int option -> JsonProvider+Record + JsonRuntime.WithRecordProperty(this, "achievement_level", (achievementLevel :> obj), "") + + member WithAuthenticatedOverall: authenticatedOverall:bool -> JsonProvider+Record + JsonRuntime.WithRecordProperty(this, "authenticated_overall", (authenticatedOverall :> obj), "") + member WithGradeCertId: FDR.BaseTypes.IJsonDocument with get JsonRuntime.GetPropertyPackedOrNull(this, "with_grade_cert_id") + member WithGradeDistinction: gradeDistinction:decimal option -> JsonProvider+Record + JsonRuntime.WithRecordProperty(this, "grade_distinction", (gradeDistinction :> obj), "") + + member WithGradeNormal: gradeNormal:decimal option -> JsonProvider+Record + JsonRuntime.WithRecordProperty(this, "grade_normal", (gradeNormal :> obj), "") + + member WithIsEnrolledForProctoredExam: isEnrolledForProctoredExam:bool -> JsonProvider+Record + JsonRuntime.WithRecordProperty(this, "is_enrolled_for_proctored_exam", (isEnrolledForProctoredExam :> obj), "") + + member WithPassedAce: passedAce:bool -> JsonProvider+Record + JsonRuntime.WithRecordProperty(this, "passed_ace", (passedAce :> obj), "") + + member WithShareForWork: shareForWork:bool option -> JsonProvider+Record + JsonRuntime.WithRecordProperty(this, "share_for_work", (shareForWork :> obj), "") + + member WithSignatureTrack: signatureTrack:bool -> JsonProvider+Record + JsonRuntime.WithRecordProperty(this, "signature_track", (signatureTrack :> obj), "") + + member WithVerifyCertId: verifyCertId:JsonValue -> JsonProvider+Record + JsonRuntime.WithRecordProperty(this, "verify_cert_id", (verifyCertId :> obj), "") + + member WithWithGradeCertId: withGradeCertId:JsonValue -> JsonProvider+Record + JsonRuntime.WithRecordProperty(this, "with_grade_cert_id", (withGradeCertId :> obj), "") + class JsonProvider+StringOrDateTime : FDR.BaseTypes.IJsonDocument new : string:string -> JsonProvider+StringOrDateTime diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,topics.json,True,Topic,,True,False,ValuesAndInlineSchemasHints,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,topics.json,True,Topic,,True,False,ValuesAndInlineSchemasHints,.expected index f6796d5ff..a63f6e472 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,topics.json,True,Topic,,True,False,ValuesAndInlineSchemasHints,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,topics.json,True,Topic,,True,False,ValuesAndInlineSchemasHints,.expected @@ -153,6 +153,75 @@ class JsonProvider+Topic : FDR.BaseTypes.IJsonDocument member Visibility: int option with get JsonRuntime.ConvertInteger("", JsonRuntime.TryGetPropertyUnpacked(this, "visibility")) + member WithCategories: categories:JsonProvider+JsonProvider+Category[] -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "categories", (categories :> obj), "") + + member WithCategoryIds: categoryIds:string[] -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "category-ids", (categoryIds :> obj), "") + + member WithCourseIds: courseIds:int[] -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "course-ids", (courseIds :> obj), "") + + member WithCourses: courses:JsonProvider+JsonProvider+Course[] -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "courses", (courses :> obj), "") + + member WithDisplay: display:bool -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "display", (display :> obj), "") + + member WithId: id:int -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithInstructor: instructor:string option -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "instructor", (instructor :> obj), "") + + member WithLanguage: language:string -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "language", (language :> obj), "") + + member WithLargeIcon: largeIcon:string -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "large_icon", (largeIcon :> obj), "") + + member WithName: name:string -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "name", (name :> obj), "") + + member WithPhoto: photo:string -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "photo", (photo :> obj), "") + + member WithPreviewLink: previewLink:string option -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "preview_link", (previewLink :> obj), "") + + member WithSelfServiceCourseId: selfServiceCourseId:int option -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "self_service_course_id", (selfServiceCourseId :> obj), "") + + member WithShortDescription: shortDescription:string -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "short_description", (shortDescription :> obj), "") + + member WithShortName: shortName:string -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "short_name", (shortName :> obj), "") + + member WithSmallIcon: smallIcon:string -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "small_icon", (smallIcon :> obj), "") + + member WithSmallIconHover: smallIconHover:string -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "small_icon_hover", (smallIconHover :> obj), "") + + member WithSubtitleLanguagesCsv: subtitleLanguagesCsv:string option -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "subtitle_languages_csv", (subtitleLanguagesCsv :> obj), "") + + member WithUniversities: universities:JsonProvider+JsonProvider+University[] -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "universities", (universities :> obj), "") + + member WithUniversityIds: universityIds:string[] -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "university-ids", (universityIds :> obj), "") + + member WithUniversityLogo: universityLogo:string option -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "university_logo", (universityLogo :> obj), "") + + member WithVideo: video:string option -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "video", (video :> obj), "") + + member WithVisibility: visibility:int option -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "visibility", (visibility :> obj), "") + class JsonProvider+Category : FDR.BaseTypes.IJsonDocument new : id:int -> name:string -> mailingListId:int option -> shortName:string -> description:string option -> JsonProvider+Category @@ -188,6 +257,21 @@ class JsonProvider+Category : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "short_name") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithDescription: description:string option -> JsonProvider+Category + JsonRuntime.WithRecordProperty(this, "description", (description :> obj), "") + + member WithId: id:int -> JsonProvider+Category + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithMailingListId: mailingListId:int option -> JsonProvider+Category + JsonRuntime.WithRecordProperty(this, "mailing_list_id", (mailingListId :> obj), "") + + member WithName: name:string -> JsonProvider+Category + JsonRuntime.WithRecordProperty(this, "name", (name :> obj), "") + + member WithShortName: shortName:string -> JsonProvider+Category + JsonRuntime.WithRecordProperty(this, "short_name", (shortName :> obj), "") + class JsonProvider+Course : FDR.BaseTypes.IJsonDocument new : gradingPolicyDistinction:string option -> aceTrackPriceDisplay:JsonValue -> signatureTrackCertificateDesignId:JsonValue -> aceSemesterHours:JsonValue -> startDay:int option -> durationString:string option -> signatureTrackLastChanceTime:System.DateTime option -> id:int -> startMonth:int option -> certificateDescription:string option -> startDateString:JsonProvider+StringOrDateTime -> cheggSessionId:JsonValue -> signatureTrackRegularPrice:int option -> gradesReleaseDate:System.DateTime option -> certificatesReady:bool -> signatureTrackPrice:int option -> statementDesignId:int option -> signatureTrackRegistrationOpen:bool -> topicId:int -> eligibleForSignatureTrack:bool -> startDate:System.DateTime option -> record:JsonProvider+Record -> status:bool -> startYear:int option -> signatureTrackCertificateCombinedSignature:JsonValue -> endDate:JsonValue -> notifiedSubscribers:bool -> instructors:int[] -> active:bool -> eligibleForCertificates:bool -> signatureTrackCertificateSignatureBlurb:JsonValue -> deployed:bool -> aceCloseDate:JsonValue -> name:JsonProvider+IntOrString -> textbooks:JsonValue[] -> signatureTrackOpenTime:System.DateTime option -> eligibleForAce:bool option -> gradingPolicyNormal:string option -> aceOpenDate:JsonValue -> homeLink:string option -> creatorId:int option -> proctoredExamCompletionDate:JsonValue -> universityLogo:JsonValue -> signatureTrackCloseTime:System.DateTime option -> authReviewCompletionDate:JsonValue -> JsonProvider+Course @@ -430,6 +514,141 @@ class JsonProvider+Course : FDR.BaseTypes.IJsonDocument member UniversityLogo: FDR.BaseTypes.IJsonDocument with get JsonRuntime.GetPropertyPackedOrNull(this, "university_logo") + member WithAceCloseDate: aceCloseDate:JsonValue -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "ace_close_date", (aceCloseDate :> obj), "") + + member WithAceOpenDate: aceOpenDate:JsonValue -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "ace_open_date", (aceOpenDate :> obj), "") + + member WithAceSemesterHours: aceSemesterHours:JsonValue -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "ace_semester_hours", (aceSemesterHours :> obj), "") + + member WithAceTrackPriceDisplay: aceTrackPriceDisplay:JsonValue -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "ace_track_price_display", (aceTrackPriceDisplay :> obj), "") + + member WithActive: active:bool -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "active", (active :> obj), "") + + member WithAuthReviewCompletionDate: authReviewCompletionDate:JsonValue -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "auth_review_completion_date", (authReviewCompletionDate :> obj), "") + + member WithCertificateDescription: certificateDescription:string option -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "certificate_description", (certificateDescription :> obj), "") + + member WithCertificatesReady: certificatesReady:bool -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "certificates_ready", (certificatesReady :> obj), "") + + member WithCheggSessionId: cheggSessionId:JsonValue -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "chegg_session_id", (cheggSessionId :> obj), "") + + member WithCreatorId: creatorId:int option -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "creator_id", (creatorId :> obj), "") + + member WithDeployed: deployed:bool -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "deployed", (deployed :> obj), "") + + member WithDurationString: durationString:string option -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "duration_string", (durationString :> obj), "") + + member WithEligibleForAce: eligibleForAce:bool option -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "eligible_for_ACE", (eligibleForAce :> obj), "") + + member WithEligibleForCertificates: eligibleForCertificates:bool -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "eligible_for_certificates", (eligibleForCertificates :> obj), "") + + member WithEligibleForSignatureTrack: eligibleForSignatureTrack:bool -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "eligible_for_signature_track", (eligibleForSignatureTrack :> obj), "") + + member WithEndDate: endDate:JsonValue -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "end_date", (endDate :> obj), "") + + member WithGradesReleaseDate: gradesReleaseDate:System.DateTime option -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "grades_release_date", (gradesReleaseDate :> obj), "") + + member WithGradingPolicyDistinction: gradingPolicyDistinction:string option -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "grading_policy_distinction", (gradingPolicyDistinction :> obj), "") + + member WithGradingPolicyNormal: gradingPolicyNormal:string option -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "grading_policy_normal", (gradingPolicyNormal :> obj), "") + + member WithHomeLink: homeLink:string option -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "home_link", (homeLink :> obj), "") + + member WithId: id:int -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithInstructors: instructors:int[] -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "instructors", (instructors :> obj), "") + + member WithName: name:JsonProvider+IntOrString -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "name", (name :> obj), "") + + member WithNotifiedSubscribers: notifiedSubscribers:bool -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "notified_subscribers", (notifiedSubscribers :> obj), "") + + member WithProctoredExamCompletionDate: proctoredExamCompletionDate:JsonValue -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "proctored_exam_completion_date", (proctoredExamCompletionDate :> obj), "") + + member WithRecord: record:JsonProvider+Record -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "record", (record :> obj), "") + + member WithSignatureTrackCertificateCombinedSignature: signatureTrackCertificateCombinedSignature:JsonValue -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "signature_track_certificate_combined_signature", (signatureTrackCertificateCombinedSignature :> obj), "") + + member WithSignatureTrackCertificateDesignId: signatureTrackCertificateDesignId:JsonValue -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "signature_track_certificate_design_id", (signatureTrackCertificateDesignId :> obj), "") + + member WithSignatureTrackCertificateSignatureBlurb: signatureTrackCertificateSignatureBlurb:JsonValue -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "signature_track_certificate_signature_blurb", (signatureTrackCertificateSignatureBlurb :> obj), "") + + member WithSignatureTrackCloseTime: signatureTrackCloseTime:System.DateTime option -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "signature_track_close_time", (signatureTrackCloseTime :> obj), "") + + member WithSignatureTrackLastChanceTime: signatureTrackLastChanceTime:System.DateTime option -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "signature_track_last_chance_time", (signatureTrackLastChanceTime :> obj), "") + + member WithSignatureTrackOpenTime: signatureTrackOpenTime:System.DateTime option -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "signature_track_open_time", (signatureTrackOpenTime :> obj), "") + + member WithSignatureTrackPrice: signatureTrackPrice:int option -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "signature_track_price", (signatureTrackPrice :> obj), "") + + member WithSignatureTrackRegistrationOpen: signatureTrackRegistrationOpen:bool -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "signature_track_registration_open", (signatureTrackRegistrationOpen :> obj), "") + + member WithSignatureTrackRegularPrice: signatureTrackRegularPrice:int option -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "signature_track_regular_price", (signatureTrackRegularPrice :> obj), "") + + member WithStartDate: startDate:System.DateTime option -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "start_date", (startDate :> obj), "") + + member WithStartDateString: startDateString:JsonProvider+StringOrDateTime -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "start_date_string", (startDateString :> obj), "") + + member WithStartDay: startDay:int option -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "start_day", (startDay :> obj), "") + + member WithStartMonth: startMonth:int option -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "start_month", (startMonth :> obj), "") + + member WithStartYear: startYear:int option -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "start_year", (startYear :> obj), "") + + member WithStatementDesignId: statementDesignId:int option -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "statement_design_id", (statementDesignId :> obj), "") + + member WithStatus: status:bool -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "status", (status :> obj), "") + + member WithTextbooks: textbooks:JsonValue[] -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "textbooks", (textbooks :> obj), "") + + member WithTopicId: topicId:int -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "topic_id", (topicId :> obj), "") + + member WithUniversityLogo: universityLogo:JsonValue -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "university_logo", (universityLogo :> obj), "") + class JsonProvider+University : FDR.BaseTypes.IJsonDocument new : rectangularLogoSvg:string option -> wordmark:JsonValue -> websiteTwitter:string option -> chinaMirror:int option -> favicon:string option -> websiteFacebook:string option -> logo:string option -> backgroundColor:JsonValue -> id:int -> locationCity:string option -> locationCountry:string option -> locationLat:decimal option -> location:string option -> primaryColor:string option -> abbrName:string -> website:string option -> description:string option -> shortName:string -> landingPageBanner:string option -> mailingListId:JsonValue -> websiteYoutube:string option -> partnerType:int -> banner:string option -> locationState:string option -> name:string -> squareLogo:string option -> squareLogoSource:string option -> squareLogoSvg:string option -> locationLng:decimal option -> homeLink:string option -> classLogo:string option -> display:bool -> JsonProvider+University @@ -600,6 +819,102 @@ class JsonProvider+University : FDR.BaseTypes.IJsonDocument member WebsiteYoutube: string option with get JsonRuntime.ConvertString("", JsonRuntime.TryGetPropertyUnpacked(this, "website_youtube")) + member WithAbbrName: abbrName:string -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "abbr_name", (abbrName :> obj), "") + + member WithBackgroundColor: backgroundColor:JsonValue -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "background_color", (backgroundColor :> obj), "") + + member WithBanner: banner:string option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "banner", (banner :> obj), "") + + member WithChinaMirror: chinaMirror:int option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "china_mirror", (chinaMirror :> obj), "") + + member WithClassLogo: classLogo:string option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "class_logo", (classLogo :> obj), "") + + member WithDescription: description:string option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "description", (description :> obj), "") + + member WithDisplay: display:bool -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "display", (display :> obj), "") + + member WithFavicon: favicon:string option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "favicon", (favicon :> obj), "") + + member WithHomeLink: homeLink:string option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "home_link", (homeLink :> obj), "") + + member WithId: id:int -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithLandingPageBanner: landingPageBanner:string option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "landing_page_banner", (landingPageBanner :> obj), "") + + member WithLocation: location:string option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "location", (location :> obj), "") + + member WithLocationCity: locationCity:string option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "location_city", (locationCity :> obj), "") + + member WithLocationCountry: locationCountry:string option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "location_country", (locationCountry :> obj), "") + + member WithLocationLat: locationLat:decimal option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "location_lat", (locationLat :> obj), "") + + member WithLocationLng: locationLng:decimal option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "location_lng", (locationLng :> obj), "") + + member WithLocationState: locationState:string option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "location_state", (locationState :> obj), "") + + member WithLogo: logo:string option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "logo", (logo :> obj), "") + + member WithMailingListId: mailingListId:JsonValue -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "mailing_list_id", (mailingListId :> obj), "") + + member WithName: name:string -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "name", (name :> obj), "") + + member WithPartnerType: partnerType:int -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "partner_type", (partnerType :> obj), "") + + member WithPrimaryColor: primaryColor:string option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "primary_color", (primaryColor :> obj), "") + + member WithRectangularLogoSvg: rectangularLogoSvg:string option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "rectangular_logo_svg", (rectangularLogoSvg :> obj), "") + + member WithShortName: shortName:string -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "short_name", (shortName :> obj), "") + + member WithSquareLogo: squareLogo:string option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "square_logo", (squareLogo :> obj), "") + + member WithSquareLogoSource: squareLogoSource:string option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "square_logo_source", (squareLogoSource :> obj), "") + + member WithSquareLogoSvg: squareLogoSvg:string option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "square_logo_svg", (squareLogoSvg :> obj), "") + + member WithWebsite: website:string option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "website", (website :> obj), "") + + member WithWebsiteFacebook: websiteFacebook:string option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "website_facebook", (websiteFacebook :> obj), "") + + member WithWebsiteTwitter: websiteTwitter:string option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "website_twitter", (websiteTwitter :> obj), "") + + member WithWebsiteYoutube: websiteYoutube:string option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "website_youtube", (websiteYoutube :> obj), "") + + member WithWordmark: wordmark:JsonValue -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "wordmark", (wordmark :> obj), "") + member Wordmark: FDR.BaseTypes.IJsonDocument with get JsonRuntime.GetPropertyPackedOrNull(this, "wordmark") @@ -687,9 +1002,42 @@ class JsonProvider+Record : FDR.BaseTypes.IJsonDocument member VerifyCertId: FDR.BaseTypes.IJsonDocument with get JsonRuntime.GetPropertyPackedOrNull(this, "verify_cert_id") + member WithAceGrade: aceGrade:int -> JsonProvider+Record + JsonRuntime.WithRecordProperty(this, "ace_grade", (aceGrade :> obj), "") + + member WithAchievementLevel: achievementLevel:int option -> JsonProvider+Record + JsonRuntime.WithRecordProperty(this, "achievement_level", (achievementLevel :> obj), "") + + member WithAuthenticatedOverall: authenticatedOverall:bool -> JsonProvider+Record + JsonRuntime.WithRecordProperty(this, "authenticated_overall", (authenticatedOverall :> obj), "") + member WithGradeCertId: FDR.BaseTypes.IJsonDocument with get JsonRuntime.GetPropertyPackedOrNull(this, "with_grade_cert_id") + member WithGradeDistinction: gradeDistinction:decimal option -> JsonProvider+Record + JsonRuntime.WithRecordProperty(this, "grade_distinction", (gradeDistinction :> obj), "") + + member WithGradeNormal: gradeNormal:decimal option -> JsonProvider+Record + JsonRuntime.WithRecordProperty(this, "grade_normal", (gradeNormal :> obj), "") + + member WithIsEnrolledForProctoredExam: isEnrolledForProctoredExam:bool -> JsonProvider+Record + JsonRuntime.WithRecordProperty(this, "is_enrolled_for_proctored_exam", (isEnrolledForProctoredExam :> obj), "") + + member WithPassedAce: passedAce:bool -> JsonProvider+Record + JsonRuntime.WithRecordProperty(this, "passed_ace", (passedAce :> obj), "") + + member WithShareForWork: shareForWork:bool option -> JsonProvider+Record + JsonRuntime.WithRecordProperty(this, "share_for_work", (shareForWork :> obj), "") + + member WithSignatureTrack: signatureTrack:bool -> JsonProvider+Record + JsonRuntime.WithRecordProperty(this, "signature_track", (signatureTrack :> obj), "") + + member WithVerifyCertId: verifyCertId:JsonValue -> JsonProvider+Record + JsonRuntime.WithRecordProperty(this, "verify_cert_id", (verifyCertId :> obj), "") + + member WithWithGradeCertId: withGradeCertId:JsonValue -> JsonProvider+Record + JsonRuntime.WithRecordProperty(this, "with_grade_cert_id", (withGradeCertId :> obj), "") + class JsonProvider+StringOrDateTime : FDR.BaseTypes.IJsonDocument new : string:string -> JsonProvider+StringOrDateTime diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,topics.json,True,Topic,,True,False,ValuesAndInlineSchemasOverrides,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,topics.json,True,Topic,,True,False,ValuesAndInlineSchemasOverrides,.expected index f6796d5ff..a63f6e472 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,topics.json,True,Topic,,True,False,ValuesAndInlineSchemasOverrides,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,topics.json,True,Topic,,True,False,ValuesAndInlineSchemasOverrides,.expected @@ -153,6 +153,75 @@ class JsonProvider+Topic : FDR.BaseTypes.IJsonDocument member Visibility: int option with get JsonRuntime.ConvertInteger("", JsonRuntime.TryGetPropertyUnpacked(this, "visibility")) + member WithCategories: categories:JsonProvider+JsonProvider+Category[] -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "categories", (categories :> obj), "") + + member WithCategoryIds: categoryIds:string[] -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "category-ids", (categoryIds :> obj), "") + + member WithCourseIds: courseIds:int[] -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "course-ids", (courseIds :> obj), "") + + member WithCourses: courses:JsonProvider+JsonProvider+Course[] -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "courses", (courses :> obj), "") + + member WithDisplay: display:bool -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "display", (display :> obj), "") + + member WithId: id:int -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithInstructor: instructor:string option -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "instructor", (instructor :> obj), "") + + member WithLanguage: language:string -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "language", (language :> obj), "") + + member WithLargeIcon: largeIcon:string -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "large_icon", (largeIcon :> obj), "") + + member WithName: name:string -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "name", (name :> obj), "") + + member WithPhoto: photo:string -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "photo", (photo :> obj), "") + + member WithPreviewLink: previewLink:string option -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "preview_link", (previewLink :> obj), "") + + member WithSelfServiceCourseId: selfServiceCourseId:int option -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "self_service_course_id", (selfServiceCourseId :> obj), "") + + member WithShortDescription: shortDescription:string -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "short_description", (shortDescription :> obj), "") + + member WithShortName: shortName:string -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "short_name", (shortName :> obj), "") + + member WithSmallIcon: smallIcon:string -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "small_icon", (smallIcon :> obj), "") + + member WithSmallIconHover: smallIconHover:string -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "small_icon_hover", (smallIconHover :> obj), "") + + member WithSubtitleLanguagesCsv: subtitleLanguagesCsv:string option -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "subtitle_languages_csv", (subtitleLanguagesCsv :> obj), "") + + member WithUniversities: universities:JsonProvider+JsonProvider+University[] -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "universities", (universities :> obj), "") + + member WithUniversityIds: universityIds:string[] -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "university-ids", (universityIds :> obj), "") + + member WithUniversityLogo: universityLogo:string option -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "university_logo", (universityLogo :> obj), "") + + member WithVideo: video:string option -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "video", (video :> obj), "") + + member WithVisibility: visibility:int option -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "visibility", (visibility :> obj), "") + class JsonProvider+Category : FDR.BaseTypes.IJsonDocument new : id:int -> name:string -> mailingListId:int option -> shortName:string -> description:string option -> JsonProvider+Category @@ -188,6 +257,21 @@ class JsonProvider+Category : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "short_name") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithDescription: description:string option -> JsonProvider+Category + JsonRuntime.WithRecordProperty(this, "description", (description :> obj), "") + + member WithId: id:int -> JsonProvider+Category + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithMailingListId: mailingListId:int option -> JsonProvider+Category + JsonRuntime.WithRecordProperty(this, "mailing_list_id", (mailingListId :> obj), "") + + member WithName: name:string -> JsonProvider+Category + JsonRuntime.WithRecordProperty(this, "name", (name :> obj), "") + + member WithShortName: shortName:string -> JsonProvider+Category + JsonRuntime.WithRecordProperty(this, "short_name", (shortName :> obj), "") + class JsonProvider+Course : FDR.BaseTypes.IJsonDocument new : gradingPolicyDistinction:string option -> aceTrackPriceDisplay:JsonValue -> signatureTrackCertificateDesignId:JsonValue -> aceSemesterHours:JsonValue -> startDay:int option -> durationString:string option -> signatureTrackLastChanceTime:System.DateTime option -> id:int -> startMonth:int option -> certificateDescription:string option -> startDateString:JsonProvider+StringOrDateTime -> cheggSessionId:JsonValue -> signatureTrackRegularPrice:int option -> gradesReleaseDate:System.DateTime option -> certificatesReady:bool -> signatureTrackPrice:int option -> statementDesignId:int option -> signatureTrackRegistrationOpen:bool -> topicId:int -> eligibleForSignatureTrack:bool -> startDate:System.DateTime option -> record:JsonProvider+Record -> status:bool -> startYear:int option -> signatureTrackCertificateCombinedSignature:JsonValue -> endDate:JsonValue -> notifiedSubscribers:bool -> instructors:int[] -> active:bool -> eligibleForCertificates:bool -> signatureTrackCertificateSignatureBlurb:JsonValue -> deployed:bool -> aceCloseDate:JsonValue -> name:JsonProvider+IntOrString -> textbooks:JsonValue[] -> signatureTrackOpenTime:System.DateTime option -> eligibleForAce:bool option -> gradingPolicyNormal:string option -> aceOpenDate:JsonValue -> homeLink:string option -> creatorId:int option -> proctoredExamCompletionDate:JsonValue -> universityLogo:JsonValue -> signatureTrackCloseTime:System.DateTime option -> authReviewCompletionDate:JsonValue -> JsonProvider+Course @@ -430,6 +514,141 @@ class JsonProvider+Course : FDR.BaseTypes.IJsonDocument member UniversityLogo: FDR.BaseTypes.IJsonDocument with get JsonRuntime.GetPropertyPackedOrNull(this, "university_logo") + member WithAceCloseDate: aceCloseDate:JsonValue -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "ace_close_date", (aceCloseDate :> obj), "") + + member WithAceOpenDate: aceOpenDate:JsonValue -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "ace_open_date", (aceOpenDate :> obj), "") + + member WithAceSemesterHours: aceSemesterHours:JsonValue -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "ace_semester_hours", (aceSemesterHours :> obj), "") + + member WithAceTrackPriceDisplay: aceTrackPriceDisplay:JsonValue -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "ace_track_price_display", (aceTrackPriceDisplay :> obj), "") + + member WithActive: active:bool -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "active", (active :> obj), "") + + member WithAuthReviewCompletionDate: authReviewCompletionDate:JsonValue -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "auth_review_completion_date", (authReviewCompletionDate :> obj), "") + + member WithCertificateDescription: certificateDescription:string option -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "certificate_description", (certificateDescription :> obj), "") + + member WithCertificatesReady: certificatesReady:bool -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "certificates_ready", (certificatesReady :> obj), "") + + member WithCheggSessionId: cheggSessionId:JsonValue -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "chegg_session_id", (cheggSessionId :> obj), "") + + member WithCreatorId: creatorId:int option -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "creator_id", (creatorId :> obj), "") + + member WithDeployed: deployed:bool -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "deployed", (deployed :> obj), "") + + member WithDurationString: durationString:string option -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "duration_string", (durationString :> obj), "") + + member WithEligibleForAce: eligibleForAce:bool option -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "eligible_for_ACE", (eligibleForAce :> obj), "") + + member WithEligibleForCertificates: eligibleForCertificates:bool -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "eligible_for_certificates", (eligibleForCertificates :> obj), "") + + member WithEligibleForSignatureTrack: eligibleForSignatureTrack:bool -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "eligible_for_signature_track", (eligibleForSignatureTrack :> obj), "") + + member WithEndDate: endDate:JsonValue -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "end_date", (endDate :> obj), "") + + member WithGradesReleaseDate: gradesReleaseDate:System.DateTime option -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "grades_release_date", (gradesReleaseDate :> obj), "") + + member WithGradingPolicyDistinction: gradingPolicyDistinction:string option -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "grading_policy_distinction", (gradingPolicyDistinction :> obj), "") + + member WithGradingPolicyNormal: gradingPolicyNormal:string option -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "grading_policy_normal", (gradingPolicyNormal :> obj), "") + + member WithHomeLink: homeLink:string option -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "home_link", (homeLink :> obj), "") + + member WithId: id:int -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithInstructors: instructors:int[] -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "instructors", (instructors :> obj), "") + + member WithName: name:JsonProvider+IntOrString -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "name", (name :> obj), "") + + member WithNotifiedSubscribers: notifiedSubscribers:bool -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "notified_subscribers", (notifiedSubscribers :> obj), "") + + member WithProctoredExamCompletionDate: proctoredExamCompletionDate:JsonValue -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "proctored_exam_completion_date", (proctoredExamCompletionDate :> obj), "") + + member WithRecord: record:JsonProvider+Record -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "record", (record :> obj), "") + + member WithSignatureTrackCertificateCombinedSignature: signatureTrackCertificateCombinedSignature:JsonValue -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "signature_track_certificate_combined_signature", (signatureTrackCertificateCombinedSignature :> obj), "") + + member WithSignatureTrackCertificateDesignId: signatureTrackCertificateDesignId:JsonValue -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "signature_track_certificate_design_id", (signatureTrackCertificateDesignId :> obj), "") + + member WithSignatureTrackCertificateSignatureBlurb: signatureTrackCertificateSignatureBlurb:JsonValue -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "signature_track_certificate_signature_blurb", (signatureTrackCertificateSignatureBlurb :> obj), "") + + member WithSignatureTrackCloseTime: signatureTrackCloseTime:System.DateTime option -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "signature_track_close_time", (signatureTrackCloseTime :> obj), "") + + member WithSignatureTrackLastChanceTime: signatureTrackLastChanceTime:System.DateTime option -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "signature_track_last_chance_time", (signatureTrackLastChanceTime :> obj), "") + + member WithSignatureTrackOpenTime: signatureTrackOpenTime:System.DateTime option -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "signature_track_open_time", (signatureTrackOpenTime :> obj), "") + + member WithSignatureTrackPrice: signatureTrackPrice:int option -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "signature_track_price", (signatureTrackPrice :> obj), "") + + member WithSignatureTrackRegistrationOpen: signatureTrackRegistrationOpen:bool -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "signature_track_registration_open", (signatureTrackRegistrationOpen :> obj), "") + + member WithSignatureTrackRegularPrice: signatureTrackRegularPrice:int option -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "signature_track_regular_price", (signatureTrackRegularPrice :> obj), "") + + member WithStartDate: startDate:System.DateTime option -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "start_date", (startDate :> obj), "") + + member WithStartDateString: startDateString:JsonProvider+StringOrDateTime -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "start_date_string", (startDateString :> obj), "") + + member WithStartDay: startDay:int option -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "start_day", (startDay :> obj), "") + + member WithStartMonth: startMonth:int option -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "start_month", (startMonth :> obj), "") + + member WithStartYear: startYear:int option -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "start_year", (startYear :> obj), "") + + member WithStatementDesignId: statementDesignId:int option -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "statement_design_id", (statementDesignId :> obj), "") + + member WithStatus: status:bool -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "status", (status :> obj), "") + + member WithTextbooks: textbooks:JsonValue[] -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "textbooks", (textbooks :> obj), "") + + member WithTopicId: topicId:int -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "topic_id", (topicId :> obj), "") + + member WithUniversityLogo: universityLogo:JsonValue -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "university_logo", (universityLogo :> obj), "") + class JsonProvider+University : FDR.BaseTypes.IJsonDocument new : rectangularLogoSvg:string option -> wordmark:JsonValue -> websiteTwitter:string option -> chinaMirror:int option -> favicon:string option -> websiteFacebook:string option -> logo:string option -> backgroundColor:JsonValue -> id:int -> locationCity:string option -> locationCountry:string option -> locationLat:decimal option -> location:string option -> primaryColor:string option -> abbrName:string -> website:string option -> description:string option -> shortName:string -> landingPageBanner:string option -> mailingListId:JsonValue -> websiteYoutube:string option -> partnerType:int -> banner:string option -> locationState:string option -> name:string -> squareLogo:string option -> squareLogoSource:string option -> squareLogoSvg:string option -> locationLng:decimal option -> homeLink:string option -> classLogo:string option -> display:bool -> JsonProvider+University @@ -600,6 +819,102 @@ class JsonProvider+University : FDR.BaseTypes.IJsonDocument member WebsiteYoutube: string option with get JsonRuntime.ConvertString("", JsonRuntime.TryGetPropertyUnpacked(this, "website_youtube")) + member WithAbbrName: abbrName:string -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "abbr_name", (abbrName :> obj), "") + + member WithBackgroundColor: backgroundColor:JsonValue -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "background_color", (backgroundColor :> obj), "") + + member WithBanner: banner:string option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "banner", (banner :> obj), "") + + member WithChinaMirror: chinaMirror:int option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "china_mirror", (chinaMirror :> obj), "") + + member WithClassLogo: classLogo:string option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "class_logo", (classLogo :> obj), "") + + member WithDescription: description:string option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "description", (description :> obj), "") + + member WithDisplay: display:bool -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "display", (display :> obj), "") + + member WithFavicon: favicon:string option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "favicon", (favicon :> obj), "") + + member WithHomeLink: homeLink:string option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "home_link", (homeLink :> obj), "") + + member WithId: id:int -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithLandingPageBanner: landingPageBanner:string option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "landing_page_banner", (landingPageBanner :> obj), "") + + member WithLocation: location:string option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "location", (location :> obj), "") + + member WithLocationCity: locationCity:string option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "location_city", (locationCity :> obj), "") + + member WithLocationCountry: locationCountry:string option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "location_country", (locationCountry :> obj), "") + + member WithLocationLat: locationLat:decimal option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "location_lat", (locationLat :> obj), "") + + member WithLocationLng: locationLng:decimal option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "location_lng", (locationLng :> obj), "") + + member WithLocationState: locationState:string option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "location_state", (locationState :> obj), "") + + member WithLogo: logo:string option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "logo", (logo :> obj), "") + + member WithMailingListId: mailingListId:JsonValue -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "mailing_list_id", (mailingListId :> obj), "") + + member WithName: name:string -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "name", (name :> obj), "") + + member WithPartnerType: partnerType:int -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "partner_type", (partnerType :> obj), "") + + member WithPrimaryColor: primaryColor:string option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "primary_color", (primaryColor :> obj), "") + + member WithRectangularLogoSvg: rectangularLogoSvg:string option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "rectangular_logo_svg", (rectangularLogoSvg :> obj), "") + + member WithShortName: shortName:string -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "short_name", (shortName :> obj), "") + + member WithSquareLogo: squareLogo:string option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "square_logo", (squareLogo :> obj), "") + + member WithSquareLogoSource: squareLogoSource:string option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "square_logo_source", (squareLogoSource :> obj), "") + + member WithSquareLogoSvg: squareLogoSvg:string option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "square_logo_svg", (squareLogoSvg :> obj), "") + + member WithWebsite: website:string option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "website", (website :> obj), "") + + member WithWebsiteFacebook: websiteFacebook:string option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "website_facebook", (websiteFacebook :> obj), "") + + member WithWebsiteTwitter: websiteTwitter:string option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "website_twitter", (websiteTwitter :> obj), "") + + member WithWebsiteYoutube: websiteYoutube:string option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "website_youtube", (websiteYoutube :> obj), "") + + member WithWordmark: wordmark:JsonValue -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "wordmark", (wordmark :> obj), "") + member Wordmark: FDR.BaseTypes.IJsonDocument with get JsonRuntime.GetPropertyPackedOrNull(this, "wordmark") @@ -687,9 +1002,42 @@ class JsonProvider+Record : FDR.BaseTypes.IJsonDocument member VerifyCertId: FDR.BaseTypes.IJsonDocument with get JsonRuntime.GetPropertyPackedOrNull(this, "verify_cert_id") + member WithAceGrade: aceGrade:int -> JsonProvider+Record + JsonRuntime.WithRecordProperty(this, "ace_grade", (aceGrade :> obj), "") + + member WithAchievementLevel: achievementLevel:int option -> JsonProvider+Record + JsonRuntime.WithRecordProperty(this, "achievement_level", (achievementLevel :> obj), "") + + member WithAuthenticatedOverall: authenticatedOverall:bool -> JsonProvider+Record + JsonRuntime.WithRecordProperty(this, "authenticated_overall", (authenticatedOverall :> obj), "") + member WithGradeCertId: FDR.BaseTypes.IJsonDocument with get JsonRuntime.GetPropertyPackedOrNull(this, "with_grade_cert_id") + member WithGradeDistinction: gradeDistinction:decimal option -> JsonProvider+Record + JsonRuntime.WithRecordProperty(this, "grade_distinction", (gradeDistinction :> obj), "") + + member WithGradeNormal: gradeNormal:decimal option -> JsonProvider+Record + JsonRuntime.WithRecordProperty(this, "grade_normal", (gradeNormal :> obj), "") + + member WithIsEnrolledForProctoredExam: isEnrolledForProctoredExam:bool -> JsonProvider+Record + JsonRuntime.WithRecordProperty(this, "is_enrolled_for_proctored_exam", (isEnrolledForProctoredExam :> obj), "") + + member WithPassedAce: passedAce:bool -> JsonProvider+Record + JsonRuntime.WithRecordProperty(this, "passed_ace", (passedAce :> obj), "") + + member WithShareForWork: shareForWork:bool option -> JsonProvider+Record + JsonRuntime.WithRecordProperty(this, "share_for_work", (shareForWork :> obj), "") + + member WithSignatureTrack: signatureTrack:bool -> JsonProvider+Record + JsonRuntime.WithRecordProperty(this, "signature_track", (signatureTrack :> obj), "") + + member WithVerifyCertId: verifyCertId:JsonValue -> JsonProvider+Record + JsonRuntime.WithRecordProperty(this, "verify_cert_id", (verifyCertId :> obj), "") + + member WithWithGradeCertId: withGradeCertId:JsonValue -> JsonProvider+Record + JsonRuntime.WithRecordProperty(this, "with_grade_cert_id", (withGradeCertId :> obj), "") + class JsonProvider+StringOrDateTime : FDR.BaseTypes.IJsonDocument new : string:string -> JsonProvider+StringOrDateTime diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Json,topics.json,True,Topic,,True,False,ValuesOnly,.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Json,topics.json,True,Topic,,True,False,ValuesOnly,.expected index f6796d5ff..a63f6e472 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Json,topics.json,True,Topic,,True,False,ValuesOnly,.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Json,topics.json,True,Topic,,True,False,ValuesOnly,.expected @@ -153,6 +153,75 @@ class JsonProvider+Topic : FDR.BaseTypes.IJsonDocument member Visibility: int option with get JsonRuntime.ConvertInteger("", JsonRuntime.TryGetPropertyUnpacked(this, "visibility")) + member WithCategories: categories:JsonProvider+JsonProvider+Category[] -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "categories", (categories :> obj), "") + + member WithCategoryIds: categoryIds:string[] -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "category-ids", (categoryIds :> obj), "") + + member WithCourseIds: courseIds:int[] -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "course-ids", (courseIds :> obj), "") + + member WithCourses: courses:JsonProvider+JsonProvider+Course[] -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "courses", (courses :> obj), "") + + member WithDisplay: display:bool -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "display", (display :> obj), "") + + member WithId: id:int -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithInstructor: instructor:string option -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "instructor", (instructor :> obj), "") + + member WithLanguage: language:string -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "language", (language :> obj), "") + + member WithLargeIcon: largeIcon:string -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "large_icon", (largeIcon :> obj), "") + + member WithName: name:string -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "name", (name :> obj), "") + + member WithPhoto: photo:string -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "photo", (photo :> obj), "") + + member WithPreviewLink: previewLink:string option -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "preview_link", (previewLink :> obj), "") + + member WithSelfServiceCourseId: selfServiceCourseId:int option -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "self_service_course_id", (selfServiceCourseId :> obj), "") + + member WithShortDescription: shortDescription:string -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "short_description", (shortDescription :> obj), "") + + member WithShortName: shortName:string -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "short_name", (shortName :> obj), "") + + member WithSmallIcon: smallIcon:string -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "small_icon", (smallIcon :> obj), "") + + member WithSmallIconHover: smallIconHover:string -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "small_icon_hover", (smallIconHover :> obj), "") + + member WithSubtitleLanguagesCsv: subtitleLanguagesCsv:string option -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "subtitle_languages_csv", (subtitleLanguagesCsv :> obj), "") + + member WithUniversities: universities:JsonProvider+JsonProvider+University[] -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "universities", (universities :> obj), "") + + member WithUniversityIds: universityIds:string[] -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "university-ids", (universityIds :> obj), "") + + member WithUniversityLogo: universityLogo:string option -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "university_logo", (universityLogo :> obj), "") + + member WithVideo: video:string option -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "video", (video :> obj), "") + + member WithVisibility: visibility:int option -> JsonProvider+Topic + JsonRuntime.WithRecordProperty(this, "visibility", (visibility :> obj), "") + class JsonProvider+Category : FDR.BaseTypes.IJsonDocument new : id:int -> name:string -> mailingListId:int option -> shortName:string -> description:string option -> JsonProvider+Category @@ -188,6 +257,21 @@ class JsonProvider+Category : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "short_name") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithDescription: description:string option -> JsonProvider+Category + JsonRuntime.WithRecordProperty(this, "description", (description :> obj), "") + + member WithId: id:int -> JsonProvider+Category + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithMailingListId: mailingListId:int option -> JsonProvider+Category + JsonRuntime.WithRecordProperty(this, "mailing_list_id", (mailingListId :> obj), "") + + member WithName: name:string -> JsonProvider+Category + JsonRuntime.WithRecordProperty(this, "name", (name :> obj), "") + + member WithShortName: shortName:string -> JsonProvider+Category + JsonRuntime.WithRecordProperty(this, "short_name", (shortName :> obj), "") + class JsonProvider+Course : FDR.BaseTypes.IJsonDocument new : gradingPolicyDistinction:string option -> aceTrackPriceDisplay:JsonValue -> signatureTrackCertificateDesignId:JsonValue -> aceSemesterHours:JsonValue -> startDay:int option -> durationString:string option -> signatureTrackLastChanceTime:System.DateTime option -> id:int -> startMonth:int option -> certificateDescription:string option -> startDateString:JsonProvider+StringOrDateTime -> cheggSessionId:JsonValue -> signatureTrackRegularPrice:int option -> gradesReleaseDate:System.DateTime option -> certificatesReady:bool -> signatureTrackPrice:int option -> statementDesignId:int option -> signatureTrackRegistrationOpen:bool -> topicId:int -> eligibleForSignatureTrack:bool -> startDate:System.DateTime option -> record:JsonProvider+Record -> status:bool -> startYear:int option -> signatureTrackCertificateCombinedSignature:JsonValue -> endDate:JsonValue -> notifiedSubscribers:bool -> instructors:int[] -> active:bool -> eligibleForCertificates:bool -> signatureTrackCertificateSignatureBlurb:JsonValue -> deployed:bool -> aceCloseDate:JsonValue -> name:JsonProvider+IntOrString -> textbooks:JsonValue[] -> signatureTrackOpenTime:System.DateTime option -> eligibleForAce:bool option -> gradingPolicyNormal:string option -> aceOpenDate:JsonValue -> homeLink:string option -> creatorId:int option -> proctoredExamCompletionDate:JsonValue -> universityLogo:JsonValue -> signatureTrackCloseTime:System.DateTime option -> authReviewCompletionDate:JsonValue -> JsonProvider+Course @@ -430,6 +514,141 @@ class JsonProvider+Course : FDR.BaseTypes.IJsonDocument member UniversityLogo: FDR.BaseTypes.IJsonDocument with get JsonRuntime.GetPropertyPackedOrNull(this, "university_logo") + member WithAceCloseDate: aceCloseDate:JsonValue -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "ace_close_date", (aceCloseDate :> obj), "") + + member WithAceOpenDate: aceOpenDate:JsonValue -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "ace_open_date", (aceOpenDate :> obj), "") + + member WithAceSemesterHours: aceSemesterHours:JsonValue -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "ace_semester_hours", (aceSemesterHours :> obj), "") + + member WithAceTrackPriceDisplay: aceTrackPriceDisplay:JsonValue -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "ace_track_price_display", (aceTrackPriceDisplay :> obj), "") + + member WithActive: active:bool -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "active", (active :> obj), "") + + member WithAuthReviewCompletionDate: authReviewCompletionDate:JsonValue -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "auth_review_completion_date", (authReviewCompletionDate :> obj), "") + + member WithCertificateDescription: certificateDescription:string option -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "certificate_description", (certificateDescription :> obj), "") + + member WithCertificatesReady: certificatesReady:bool -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "certificates_ready", (certificatesReady :> obj), "") + + member WithCheggSessionId: cheggSessionId:JsonValue -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "chegg_session_id", (cheggSessionId :> obj), "") + + member WithCreatorId: creatorId:int option -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "creator_id", (creatorId :> obj), "") + + member WithDeployed: deployed:bool -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "deployed", (deployed :> obj), "") + + member WithDurationString: durationString:string option -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "duration_string", (durationString :> obj), "") + + member WithEligibleForAce: eligibleForAce:bool option -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "eligible_for_ACE", (eligibleForAce :> obj), "") + + member WithEligibleForCertificates: eligibleForCertificates:bool -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "eligible_for_certificates", (eligibleForCertificates :> obj), "") + + member WithEligibleForSignatureTrack: eligibleForSignatureTrack:bool -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "eligible_for_signature_track", (eligibleForSignatureTrack :> obj), "") + + member WithEndDate: endDate:JsonValue -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "end_date", (endDate :> obj), "") + + member WithGradesReleaseDate: gradesReleaseDate:System.DateTime option -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "grades_release_date", (gradesReleaseDate :> obj), "") + + member WithGradingPolicyDistinction: gradingPolicyDistinction:string option -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "grading_policy_distinction", (gradingPolicyDistinction :> obj), "") + + member WithGradingPolicyNormal: gradingPolicyNormal:string option -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "grading_policy_normal", (gradingPolicyNormal :> obj), "") + + member WithHomeLink: homeLink:string option -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "home_link", (homeLink :> obj), "") + + member WithId: id:int -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithInstructors: instructors:int[] -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "instructors", (instructors :> obj), "") + + member WithName: name:JsonProvider+IntOrString -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "name", (name :> obj), "") + + member WithNotifiedSubscribers: notifiedSubscribers:bool -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "notified_subscribers", (notifiedSubscribers :> obj), "") + + member WithProctoredExamCompletionDate: proctoredExamCompletionDate:JsonValue -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "proctored_exam_completion_date", (proctoredExamCompletionDate :> obj), "") + + member WithRecord: record:JsonProvider+Record -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "record", (record :> obj), "") + + member WithSignatureTrackCertificateCombinedSignature: signatureTrackCertificateCombinedSignature:JsonValue -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "signature_track_certificate_combined_signature", (signatureTrackCertificateCombinedSignature :> obj), "") + + member WithSignatureTrackCertificateDesignId: signatureTrackCertificateDesignId:JsonValue -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "signature_track_certificate_design_id", (signatureTrackCertificateDesignId :> obj), "") + + member WithSignatureTrackCertificateSignatureBlurb: signatureTrackCertificateSignatureBlurb:JsonValue -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "signature_track_certificate_signature_blurb", (signatureTrackCertificateSignatureBlurb :> obj), "") + + member WithSignatureTrackCloseTime: signatureTrackCloseTime:System.DateTime option -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "signature_track_close_time", (signatureTrackCloseTime :> obj), "") + + member WithSignatureTrackLastChanceTime: signatureTrackLastChanceTime:System.DateTime option -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "signature_track_last_chance_time", (signatureTrackLastChanceTime :> obj), "") + + member WithSignatureTrackOpenTime: signatureTrackOpenTime:System.DateTime option -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "signature_track_open_time", (signatureTrackOpenTime :> obj), "") + + member WithSignatureTrackPrice: signatureTrackPrice:int option -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "signature_track_price", (signatureTrackPrice :> obj), "") + + member WithSignatureTrackRegistrationOpen: signatureTrackRegistrationOpen:bool -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "signature_track_registration_open", (signatureTrackRegistrationOpen :> obj), "") + + member WithSignatureTrackRegularPrice: signatureTrackRegularPrice:int option -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "signature_track_regular_price", (signatureTrackRegularPrice :> obj), "") + + member WithStartDate: startDate:System.DateTime option -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "start_date", (startDate :> obj), "") + + member WithStartDateString: startDateString:JsonProvider+StringOrDateTime -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "start_date_string", (startDateString :> obj), "") + + member WithStartDay: startDay:int option -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "start_day", (startDay :> obj), "") + + member WithStartMonth: startMonth:int option -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "start_month", (startMonth :> obj), "") + + member WithStartYear: startYear:int option -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "start_year", (startYear :> obj), "") + + member WithStatementDesignId: statementDesignId:int option -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "statement_design_id", (statementDesignId :> obj), "") + + member WithStatus: status:bool -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "status", (status :> obj), "") + + member WithTextbooks: textbooks:JsonValue[] -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "textbooks", (textbooks :> obj), "") + + member WithTopicId: topicId:int -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "topic_id", (topicId :> obj), "") + + member WithUniversityLogo: universityLogo:JsonValue -> JsonProvider+Course + JsonRuntime.WithRecordProperty(this, "university_logo", (universityLogo :> obj), "") + class JsonProvider+University : FDR.BaseTypes.IJsonDocument new : rectangularLogoSvg:string option -> wordmark:JsonValue -> websiteTwitter:string option -> chinaMirror:int option -> favicon:string option -> websiteFacebook:string option -> logo:string option -> backgroundColor:JsonValue -> id:int -> locationCity:string option -> locationCountry:string option -> locationLat:decimal option -> location:string option -> primaryColor:string option -> abbrName:string -> website:string option -> description:string option -> shortName:string -> landingPageBanner:string option -> mailingListId:JsonValue -> websiteYoutube:string option -> partnerType:int -> banner:string option -> locationState:string option -> name:string -> squareLogo:string option -> squareLogoSource:string option -> squareLogoSvg:string option -> locationLng:decimal option -> homeLink:string option -> classLogo:string option -> display:bool -> JsonProvider+University @@ -600,6 +819,102 @@ class JsonProvider+University : FDR.BaseTypes.IJsonDocument member WebsiteYoutube: string option with get JsonRuntime.ConvertString("", JsonRuntime.TryGetPropertyUnpacked(this, "website_youtube")) + member WithAbbrName: abbrName:string -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "abbr_name", (abbrName :> obj), "") + + member WithBackgroundColor: backgroundColor:JsonValue -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "background_color", (backgroundColor :> obj), "") + + member WithBanner: banner:string option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "banner", (banner :> obj), "") + + member WithChinaMirror: chinaMirror:int option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "china_mirror", (chinaMirror :> obj), "") + + member WithClassLogo: classLogo:string option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "class_logo", (classLogo :> obj), "") + + member WithDescription: description:string option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "description", (description :> obj), "") + + member WithDisplay: display:bool -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "display", (display :> obj), "") + + member WithFavicon: favicon:string option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "favicon", (favicon :> obj), "") + + member WithHomeLink: homeLink:string option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "home_link", (homeLink :> obj), "") + + member WithId: id:int -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "id", (id :> obj), "") + + member WithLandingPageBanner: landingPageBanner:string option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "landing_page_banner", (landingPageBanner :> obj), "") + + member WithLocation: location:string option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "location", (location :> obj), "") + + member WithLocationCity: locationCity:string option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "location_city", (locationCity :> obj), "") + + member WithLocationCountry: locationCountry:string option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "location_country", (locationCountry :> obj), "") + + member WithLocationLat: locationLat:decimal option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "location_lat", (locationLat :> obj), "") + + member WithLocationLng: locationLng:decimal option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "location_lng", (locationLng :> obj), "") + + member WithLocationState: locationState:string option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "location_state", (locationState :> obj), "") + + member WithLogo: logo:string option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "logo", (logo :> obj), "") + + member WithMailingListId: mailingListId:JsonValue -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "mailing_list_id", (mailingListId :> obj), "") + + member WithName: name:string -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "name", (name :> obj), "") + + member WithPartnerType: partnerType:int -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "partner_type", (partnerType :> obj), "") + + member WithPrimaryColor: primaryColor:string option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "primary_color", (primaryColor :> obj), "") + + member WithRectangularLogoSvg: rectangularLogoSvg:string option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "rectangular_logo_svg", (rectangularLogoSvg :> obj), "") + + member WithShortName: shortName:string -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "short_name", (shortName :> obj), "") + + member WithSquareLogo: squareLogo:string option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "square_logo", (squareLogo :> obj), "") + + member WithSquareLogoSource: squareLogoSource:string option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "square_logo_source", (squareLogoSource :> obj), "") + + member WithSquareLogoSvg: squareLogoSvg:string option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "square_logo_svg", (squareLogoSvg :> obj), "") + + member WithWebsite: website:string option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "website", (website :> obj), "") + + member WithWebsiteFacebook: websiteFacebook:string option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "website_facebook", (websiteFacebook :> obj), "") + + member WithWebsiteTwitter: websiteTwitter:string option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "website_twitter", (websiteTwitter :> obj), "") + + member WithWebsiteYoutube: websiteYoutube:string option -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "website_youtube", (websiteYoutube :> obj), "") + + member WithWordmark: wordmark:JsonValue -> JsonProvider+University + JsonRuntime.WithRecordProperty(this, "wordmark", (wordmark :> obj), "") + member Wordmark: FDR.BaseTypes.IJsonDocument with get JsonRuntime.GetPropertyPackedOrNull(this, "wordmark") @@ -687,9 +1002,42 @@ class JsonProvider+Record : FDR.BaseTypes.IJsonDocument member VerifyCertId: FDR.BaseTypes.IJsonDocument with get JsonRuntime.GetPropertyPackedOrNull(this, "verify_cert_id") + member WithAceGrade: aceGrade:int -> JsonProvider+Record + JsonRuntime.WithRecordProperty(this, "ace_grade", (aceGrade :> obj), "") + + member WithAchievementLevel: achievementLevel:int option -> JsonProvider+Record + JsonRuntime.WithRecordProperty(this, "achievement_level", (achievementLevel :> obj), "") + + member WithAuthenticatedOverall: authenticatedOverall:bool -> JsonProvider+Record + JsonRuntime.WithRecordProperty(this, "authenticated_overall", (authenticatedOverall :> obj), "") + member WithGradeCertId: FDR.BaseTypes.IJsonDocument with get JsonRuntime.GetPropertyPackedOrNull(this, "with_grade_cert_id") + member WithGradeDistinction: gradeDistinction:decimal option -> JsonProvider+Record + JsonRuntime.WithRecordProperty(this, "grade_distinction", (gradeDistinction :> obj), "") + + member WithGradeNormal: gradeNormal:decimal option -> JsonProvider+Record + JsonRuntime.WithRecordProperty(this, "grade_normal", (gradeNormal :> obj), "") + + member WithIsEnrolledForProctoredExam: isEnrolledForProctoredExam:bool -> JsonProvider+Record + JsonRuntime.WithRecordProperty(this, "is_enrolled_for_proctored_exam", (isEnrolledForProctoredExam :> obj), "") + + member WithPassedAce: passedAce:bool -> JsonProvider+Record + JsonRuntime.WithRecordProperty(this, "passed_ace", (passedAce :> obj), "") + + member WithShareForWork: shareForWork:bool option -> JsonProvider+Record + JsonRuntime.WithRecordProperty(this, "share_for_work", (shareForWork :> obj), "") + + member WithSignatureTrack: signatureTrack:bool -> JsonProvider+Record + JsonRuntime.WithRecordProperty(this, "signature_track", (signatureTrack :> obj), "") + + member WithVerifyCertId: verifyCertId:JsonValue -> JsonProvider+Record + JsonRuntime.WithRecordProperty(this, "verify_cert_id", (verifyCertId :> obj), "") + + member WithWithGradeCertId: withGradeCertId:JsonValue -> JsonProvider+Record + JsonRuntime.WithRecordProperty(this, "with_grade_cert_id", (withGradeCertId :> obj), "") + class JsonProvider+StringOrDateTime : FDR.BaseTypes.IJsonDocument new : string:string -> JsonProvider+StringOrDateTime diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Xml,JsonInXml.xml,True,False,,True,,BackwardCompatible.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Xml,JsonInXml.xml,True,False,,True,,BackwardCompatible.expected index 2365a8050..57ab2eb32 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Xml,JsonInXml.xml,True,False,,True,,BackwardCompatible.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Xml,JsonInXml.xml,True,False,,True,,BackwardCompatible.expected @@ -88,6 +88,12 @@ class XmlProvider+BlahDataSomethingFoo : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "Something.Schema") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithResults: results:XmlProvider+Results -> XmlProvider+BlahDataSomethingFoo + JsonRuntime.WithRecordProperty(this, "results", (results :> obj), "") + + member WithSomethingSchema: somethingSchema:string -> XmlProvider+BlahDataSomethingFoo + JsonRuntime.WithRecordProperty(this, "Something.Schema", (somethingSchema :> obj), "") + class XmlProvider+BlahDataSomethingFoo2 : FDR.BaseTypes.XmlElement new : number:int -> XmlProvider+BlahDataSomethingFoo2 @@ -129,6 +135,12 @@ class XmlProvider+BlahDataSomethingFoo3 : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "Something.Schema") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithResults: results:XmlProvider+Results2 -> XmlProvider+BlahDataSomethingFoo3 + JsonRuntime.WithRecordProperty(this, "results", (results :> obj), "") + + member WithSomethingSchema: somethingSchema:string -> XmlProvider+BlahDataSomethingFoo3 + JsonRuntime.WithRecordProperty(this, "Something.Schema", (somethingSchema :> obj), "") + class XmlProvider+BlahDataSomethingFoo4 : FDR.BaseTypes.XmlElement new : size:int -> value:XmlProvider+BlahDataSomethingFoo3 -> XmlProvider+BlahDataSomethingFoo4 @@ -167,6 +179,12 @@ class XmlProvider+X : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "Val") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithT: t:int -> XmlProvider+X + JsonRuntime.WithRecordProperty(this, "T", (t :> obj), "") + + member WithVal: val:string -> XmlProvider+X + JsonRuntime.WithRecordProperty(this, "Val", (val :> obj), "") + class XmlProvider+Results : FDR.BaseTypes.IJsonDocument new : somethingSchema:string -> query:string option -> XmlProvider+Results @@ -185,6 +203,12 @@ class XmlProvider+Results : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "Something.Schema") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithQuery: query:string option -> XmlProvider+Results + JsonRuntime.WithRecordProperty(this, "Query", (query :> obj), "") + + member WithSomethingSchema: somethingSchema:string -> XmlProvider+Results + JsonRuntime.WithRecordProperty(this, "Something.Schema", (somethingSchema :> obj), "") + class XmlProvider+Results2 : FDR.BaseTypes.IJsonDocument new : somethingSchema:string -> query:string -> XmlProvider+Results2 @@ -204,4 +228,10 @@ class XmlProvider+Results2 : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "Something.Schema") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithQuery: query:string -> XmlProvider+Results2 + JsonRuntime.WithRecordProperty(this, "Query", (query :> obj), "") + + member WithSomethingSchema: somethingSchema:string -> XmlProvider+Results2 + JsonRuntime.WithRecordProperty(this, "Something.Schema", (somethingSchema :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Xml,JsonInXml.xml,True,False,,True,,ValuesAndInlineSchemasHints.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Xml,JsonInXml.xml,True,False,,True,,ValuesAndInlineSchemasHints.expected index 2365a8050..57ab2eb32 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Xml,JsonInXml.xml,True,False,,True,,ValuesAndInlineSchemasHints.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Xml,JsonInXml.xml,True,False,,True,,ValuesAndInlineSchemasHints.expected @@ -88,6 +88,12 @@ class XmlProvider+BlahDataSomethingFoo : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "Something.Schema") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithResults: results:XmlProvider+Results -> XmlProvider+BlahDataSomethingFoo + JsonRuntime.WithRecordProperty(this, "results", (results :> obj), "") + + member WithSomethingSchema: somethingSchema:string -> XmlProvider+BlahDataSomethingFoo + JsonRuntime.WithRecordProperty(this, "Something.Schema", (somethingSchema :> obj), "") + class XmlProvider+BlahDataSomethingFoo2 : FDR.BaseTypes.XmlElement new : number:int -> XmlProvider+BlahDataSomethingFoo2 @@ -129,6 +135,12 @@ class XmlProvider+BlahDataSomethingFoo3 : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "Something.Schema") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithResults: results:XmlProvider+Results2 -> XmlProvider+BlahDataSomethingFoo3 + JsonRuntime.WithRecordProperty(this, "results", (results :> obj), "") + + member WithSomethingSchema: somethingSchema:string -> XmlProvider+BlahDataSomethingFoo3 + JsonRuntime.WithRecordProperty(this, "Something.Schema", (somethingSchema :> obj), "") + class XmlProvider+BlahDataSomethingFoo4 : FDR.BaseTypes.XmlElement new : size:int -> value:XmlProvider+BlahDataSomethingFoo3 -> XmlProvider+BlahDataSomethingFoo4 @@ -167,6 +179,12 @@ class XmlProvider+X : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "Val") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithT: t:int -> XmlProvider+X + JsonRuntime.WithRecordProperty(this, "T", (t :> obj), "") + + member WithVal: val:string -> XmlProvider+X + JsonRuntime.WithRecordProperty(this, "Val", (val :> obj), "") + class XmlProvider+Results : FDR.BaseTypes.IJsonDocument new : somethingSchema:string -> query:string option -> XmlProvider+Results @@ -185,6 +203,12 @@ class XmlProvider+Results : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "Something.Schema") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithQuery: query:string option -> XmlProvider+Results + JsonRuntime.WithRecordProperty(this, "Query", (query :> obj), "") + + member WithSomethingSchema: somethingSchema:string -> XmlProvider+Results + JsonRuntime.WithRecordProperty(this, "Something.Schema", (somethingSchema :> obj), "") + class XmlProvider+Results2 : FDR.BaseTypes.IJsonDocument new : somethingSchema:string -> query:string -> XmlProvider+Results2 @@ -204,4 +228,10 @@ class XmlProvider+Results2 : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "Something.Schema") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithQuery: query:string -> XmlProvider+Results2 + JsonRuntime.WithRecordProperty(this, "Query", (query :> obj), "") + + member WithSomethingSchema: somethingSchema:string -> XmlProvider+Results2 + JsonRuntime.WithRecordProperty(this, "Something.Schema", (somethingSchema :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Xml,JsonInXml.xml,True,False,,True,,ValuesAndInlineSchemasOverrides.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Xml,JsonInXml.xml,True,False,,True,,ValuesAndInlineSchemasOverrides.expected index 2365a8050..57ab2eb32 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Xml,JsonInXml.xml,True,False,,True,,ValuesAndInlineSchemasOverrides.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Xml,JsonInXml.xml,True,False,,True,,ValuesAndInlineSchemasOverrides.expected @@ -88,6 +88,12 @@ class XmlProvider+BlahDataSomethingFoo : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "Something.Schema") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithResults: results:XmlProvider+Results -> XmlProvider+BlahDataSomethingFoo + JsonRuntime.WithRecordProperty(this, "results", (results :> obj), "") + + member WithSomethingSchema: somethingSchema:string -> XmlProvider+BlahDataSomethingFoo + JsonRuntime.WithRecordProperty(this, "Something.Schema", (somethingSchema :> obj), "") + class XmlProvider+BlahDataSomethingFoo2 : FDR.BaseTypes.XmlElement new : number:int -> XmlProvider+BlahDataSomethingFoo2 @@ -129,6 +135,12 @@ class XmlProvider+BlahDataSomethingFoo3 : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "Something.Schema") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithResults: results:XmlProvider+Results2 -> XmlProvider+BlahDataSomethingFoo3 + JsonRuntime.WithRecordProperty(this, "results", (results :> obj), "") + + member WithSomethingSchema: somethingSchema:string -> XmlProvider+BlahDataSomethingFoo3 + JsonRuntime.WithRecordProperty(this, "Something.Schema", (somethingSchema :> obj), "") + class XmlProvider+BlahDataSomethingFoo4 : FDR.BaseTypes.XmlElement new : size:int -> value:XmlProvider+BlahDataSomethingFoo3 -> XmlProvider+BlahDataSomethingFoo4 @@ -167,6 +179,12 @@ class XmlProvider+X : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "Val") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithT: t:int -> XmlProvider+X + JsonRuntime.WithRecordProperty(this, "T", (t :> obj), "") + + member WithVal: val:string -> XmlProvider+X + JsonRuntime.WithRecordProperty(this, "Val", (val :> obj), "") + class XmlProvider+Results : FDR.BaseTypes.IJsonDocument new : somethingSchema:string -> query:string option -> XmlProvider+Results @@ -185,6 +203,12 @@ class XmlProvider+Results : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "Something.Schema") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithQuery: query:string option -> XmlProvider+Results + JsonRuntime.WithRecordProperty(this, "Query", (query :> obj), "") + + member WithSomethingSchema: somethingSchema:string -> XmlProvider+Results + JsonRuntime.WithRecordProperty(this, "Something.Schema", (somethingSchema :> obj), "") + class XmlProvider+Results2 : FDR.BaseTypes.IJsonDocument new : somethingSchema:string -> query:string -> XmlProvider+Results2 @@ -204,4 +228,10 @@ class XmlProvider+Results2 : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "Something.Schema") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithQuery: query:string -> XmlProvider+Results2 + JsonRuntime.WithRecordProperty(this, "Query", (query :> obj), "") + + member WithSomethingSchema: somethingSchema:string -> XmlProvider+Results2 + JsonRuntime.WithRecordProperty(this, "Something.Schema", (somethingSchema :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Xml,JsonInXml.xml,True,False,,True,,ValuesOnly.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Xml,JsonInXml.xml,True,False,,True,,ValuesOnly.expected index 2365a8050..57ab2eb32 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Xml,JsonInXml.xml,True,False,,True,,ValuesOnly.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Xml,JsonInXml.xml,True,False,,True,,ValuesOnly.expected @@ -88,6 +88,12 @@ class XmlProvider+BlahDataSomethingFoo : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "Something.Schema") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithResults: results:XmlProvider+Results -> XmlProvider+BlahDataSomethingFoo + JsonRuntime.WithRecordProperty(this, "results", (results :> obj), "") + + member WithSomethingSchema: somethingSchema:string -> XmlProvider+BlahDataSomethingFoo + JsonRuntime.WithRecordProperty(this, "Something.Schema", (somethingSchema :> obj), "") + class XmlProvider+BlahDataSomethingFoo2 : FDR.BaseTypes.XmlElement new : number:int -> XmlProvider+BlahDataSomethingFoo2 @@ -129,6 +135,12 @@ class XmlProvider+BlahDataSomethingFoo3 : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "Something.Schema") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithResults: results:XmlProvider+Results2 -> XmlProvider+BlahDataSomethingFoo3 + JsonRuntime.WithRecordProperty(this, "results", (results :> obj), "") + + member WithSomethingSchema: somethingSchema:string -> XmlProvider+BlahDataSomethingFoo3 + JsonRuntime.WithRecordProperty(this, "Something.Schema", (somethingSchema :> obj), "") + class XmlProvider+BlahDataSomethingFoo4 : FDR.BaseTypes.XmlElement new : size:int -> value:XmlProvider+BlahDataSomethingFoo3 -> XmlProvider+BlahDataSomethingFoo4 @@ -167,6 +179,12 @@ class XmlProvider+X : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "Val") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithT: t:int -> XmlProvider+X + JsonRuntime.WithRecordProperty(this, "T", (t :> obj), "") + + member WithVal: val:string -> XmlProvider+X + JsonRuntime.WithRecordProperty(this, "Val", (val :> obj), "") + class XmlProvider+Results : FDR.BaseTypes.IJsonDocument new : somethingSchema:string -> query:string option -> XmlProvider+Results @@ -185,6 +203,12 @@ class XmlProvider+Results : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "Something.Schema") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithQuery: query:string option -> XmlProvider+Results + JsonRuntime.WithRecordProperty(this, "Query", (query :> obj), "") + + member WithSomethingSchema: somethingSchema:string -> XmlProvider+Results + JsonRuntime.WithRecordProperty(this, "Something.Schema", (somethingSchema :> obj), "") + class XmlProvider+Results2 : FDR.BaseTypes.IJsonDocument new : somethingSchema:string -> query:string -> XmlProvider+Results2 @@ -204,4 +228,10 @@ class XmlProvider+Results2 : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "Something.Schema") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertString("", value.JsonOpt), value.JsonOpt) + member WithQuery: query:string -> XmlProvider+Results2 + JsonRuntime.WithRecordProperty(this, "Query", (query :> obj), "") + + member WithSomethingSchema: somethingSchema:string -> XmlProvider+Results2 + JsonRuntime.WithRecordProperty(this, "Something.Schema", (somethingSchema :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Xml,TypeInference.xml,False,False,,True,,BackwardCompatible.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Xml,TypeInference.xml,False,False,,True,,BackwardCompatible.expected index d6ede3142..29b35dc17 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Xml,TypeInference.xml,False,False,,True,,BackwardCompatible.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Xml,TypeInference.xml,False,False,,True,,BackwardCompatible.expected @@ -74,4 +74,7 @@ class XmlProvider+JsonLike : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "a") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertInteger("", value.JsonOpt), value.JsonOpt) + member WithA: a:int -> XmlProvider+JsonLike + JsonRuntime.WithRecordProperty(this, "a", (a :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Xml,TypeInference.xml,False,False,,True,,ValuesAndInlineSchemasHints.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Xml,TypeInference.xml,False,False,,True,,ValuesAndInlineSchemasHints.expected index d6ede3142..29b35dc17 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Xml,TypeInference.xml,False,False,,True,,ValuesAndInlineSchemasHints.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Xml,TypeInference.xml,False,False,,True,,ValuesAndInlineSchemasHints.expected @@ -74,4 +74,7 @@ class XmlProvider+JsonLike : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "a") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertInteger("", value.JsonOpt), value.JsonOpt) + member WithA: a:int -> XmlProvider+JsonLike + JsonRuntime.WithRecordProperty(this, "a", (a :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Xml,TypeInference.xml,False,False,,True,,ValuesAndInlineSchemasOverrides.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Xml,TypeInference.xml,False,False,,True,,ValuesAndInlineSchemasOverrides.expected index d6ede3142..29b35dc17 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Xml,TypeInference.xml,False,False,,True,,ValuesAndInlineSchemasOverrides.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Xml,TypeInference.xml,False,False,,True,,ValuesAndInlineSchemasOverrides.expected @@ -74,4 +74,7 @@ class XmlProvider+JsonLike : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "a") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertInteger("", value.JsonOpt), value.JsonOpt) + member WithA: a:int -> XmlProvider+JsonLike + JsonRuntime.WithRecordProperty(this, "a", (a :> obj), "") + diff --git a/tests/FSharp.Data.DesignTime.Tests/expected/Xml,TypeInference.xml,False,False,,True,,ValuesOnly.expected b/tests/FSharp.Data.DesignTime.Tests/expected/Xml,TypeInference.xml,False,False,,True,,ValuesOnly.expected index d6ede3142..29b35dc17 100644 --- a/tests/FSharp.Data.DesignTime.Tests/expected/Xml,TypeInference.xml,False,False,,True,,ValuesOnly.expected +++ b/tests/FSharp.Data.DesignTime.Tests/expected/Xml,TypeInference.xml,False,False,,True,,ValuesOnly.expected @@ -74,4 +74,7 @@ class XmlProvider+JsonLike : FDR.BaseTypes.IJsonDocument let value = JsonRuntime.TryGetPropertyUnpackedWithPath(this, "a") JsonRuntime.GetNonOptionalValue(value.Path, JsonRuntime.ConvertInteger("", value.JsonOpt), value.JsonOpt) + member WithA: a:int -> XmlProvider+JsonLike + JsonRuntime.WithRecordProperty(this, "a", (a :> obj), "") + diff --git a/tests/FSharp.Data.Tests/CsvProvider.fs b/tests/FSharp.Data.Tests/CsvProvider.fs index a4330cf9f..7d24802a3 100644 --- a/tests/FSharp.Data.Tests/CsvProvider.fs +++ b/tests/FSharp.Data.Tests/CsvProvider.fs @@ -737,3 +737,32 @@ let ``CsvProvider default capitalizes first letter of column names`` () = let row = CsvCapitalizedNames.GetSample().Rows |> Seq.head row.Lower_col |> should equal 1 row.Another_col |> should equal "hello" + +// Tests for With* methods on CsvProvider Row types (issue #1431) +let [] csvForWithMethods = "Name,Age,Score\nAlice,30,9.5\nBob,25,8.0" +type CsvWithMethods = CsvProvider + +[] +let ``CsvProvider Row.WithName returns new row with updated Name`` () = + let csv = CsvWithMethods.GetSample() + let row = csv.Rows |> Seq.head + let updated = row.WithName("Charlie") + updated.Name |> should equal "Charlie" + updated.Age |> should equal 30 + updated.Score |> should equal 9.5 + +[] +let ``CsvProvider Row.WithAge returns new row with updated Age`` () = + let csv = CsvWithMethods.GetSample() + let row = csv.Rows |> Seq.head + let updated = row.WithAge(99) + updated.Name |> should equal "Alice" + updated.Age |> should equal 99 + updated.Score |> should equal 9.5 + +[] +let ``CsvProvider Row With* methods do not mutate the original row`` () = + let csv = CsvWithMethods.GetSample() + let row = csv.Rows |> Seq.head + let _ = row.WithName("Charlie") + row.Name |> should equal "Alice" diff --git a/tests/FSharp.Data.Tests/JsonProvider.fs b/tests/FSharp.Data.Tests/JsonProvider.fs index 5cb8585c4..c6b455665 100644 --- a/tests/FSharp.Data.Tests/JsonProvider.fs +++ b/tests/FSharp.Data.Tests/JsonProvider.fs @@ -969,7 +969,34 @@ let ``JsonProvider default normalizes property names to PascalCase`` () = doc.FirstName |> should equal "Jane" doc.LastName |> should equal "Smith" +// Tests for With* methods on JsonProvider record types (issue #1431) +[] +let jsonForWithMethods = """{"name": "Alice", "age": 30, "active": true}""" +type JsonWithMethods = JsonProvider + +[] +let ``JsonProvider With* method returns new record with updated field`` () = + let doc = JsonWithMethods.Parse("""{"name": "Alice", "age": 30, "active": true}""") + let updated = doc.WithName("Bob") + updated.Name |> should equal "Bob" + updated.Age |> should equal 30 + updated.Active |> should equal true + +[] +let ``JsonProvider WithAge returns new record with updated Age`` () = + let doc = JsonWithMethods.Parse("""{"name": "Alice", "age": 30, "active": true}""") + let updated = doc.WithAge(99) + updated.Name |> should equal "Alice" + updated.Age |> should equal 99 + +[] +let ``JsonProvider With* methods do not mutate the original record`` () = + let doc = JsonWithMethods.Parse("""{"name": "Alice", "age": 30, "active": true}""") + let _ = doc.WithName("Bob") + doc.Name |> should equal "Alice" + type JsonOmitNullFieldsSample = JsonProvider<"""[{"color": "Red", "code": 15}, {"color": "Green"}]""", SampleIsList = true, OmitNullFields = true> + type JsonIncludeNullFieldsSample = JsonProvider<"""[{"color": "Red", "code": 15}, {"color": "Green"}]""", SampleIsList = true> []