@@ -631,14 +631,14 @@ module internal Provider =
631
631
|> makeOption
632
632
| _ -> failwith " Could not find a schema type based on a type reference. The reference has an invalid or unsupported combination of Name, Kind and OfType fields."
633
633
and resolveProvidedType ( itype : IntrospectionType ) : ProvidedTypeDefinition =
634
- if (! providedTypes) .ContainsKey( itype.Name)
635
- then (! providedTypes) .[ itype.Name]
634
+ if providedTypes.Value .ContainsKey( itype.Name)
635
+ then providedTypes.Value .[ itype.Name]
636
636
else
637
637
let metadata = { Name = itype.Name; Description = itype.Description }
638
638
match itype.Kind with
639
639
| TypeKind.OBJECT ->
640
640
let tdef = ProvidedRecord.preBuildProvidedType( metadata, None)
641
- providedTypes := (! providedTypes) .Add( itype.Name, tdef)
641
+ providedTypes.Value <- providedTypes.Value .Add( itype.Name, tdef)
642
642
let properties =
643
643
itype.Fields
644
644
|> Option.defaultValue [||]
@@ -647,7 +647,7 @@ module internal Provider =
647
647
upcast ProvidedRecord.makeProvidedType( tdef, properties, explicitOptionalParameters)
648
648
| TypeKind.INPUT_ OBJECT ->
649
649
let tdef = ProvidedRecord.preBuildProvidedType( metadata, None)
650
- providedTypes := (! providedTypes) .Add( itype.Name, tdef)
650
+ providedTypes.Value <- providedTypes.Value .Add( itype.Name, tdef)
651
651
let properties =
652
652
itype.InputFields
653
653
|> Option.defaultValue [||]
@@ -656,15 +656,15 @@ module internal Provider =
656
656
upcast ProvidedRecord.makeProvidedType( tdef, properties, explicitOptionalParameters)
657
657
| TypeKind.INTERFACE | TypeKind.UNION ->
658
658
let bdef = ProvidedInterface.makeProvidedType( metadata)
659
- providedTypes := (! providedTypes) .Add( itype.Name, bdef)
659
+ providedTypes.Value <- providedTypes.Value .Add( itype.Name, bdef)
660
660
bdef
661
661
| TypeKind.ENUM ->
662
662
let items =
663
663
match itype.EnumValues with
664
664
| Some values -> values |> Array.map ( fun value -> value.Name)
665
665
| None -> [||]
666
666
let tdef = ProvidedEnum.makeProvidedType( itype.Name, items)
667
- providedTypes := (! providedTypes) .Add( itype.Name, tdef)
667
+ providedTypes.Value <- providedTypes.Value .Add( itype.Name, tdef)
668
668
tdef
669
669
| _ -> failwithf " Type \" %s \" is not a Record, Union, Enum, Input Object, or Interface type." itype.Name
670
670
let ignoredKinds = [ TypeKind.SCALAR; TypeKind.LIST; TypeKind.NON_ NULL]
@@ -674,7 +674,7 @@ module internal Provider =
674
674
| Some trefs -> trefs |> Array.map ( getSchemaType >> resolveProvidedType)
675
675
| None -> [||]
676
676
let getProvidedType typeName =
677
- match (! providedTypes) .TryFind( typeName) with
677
+ match providedTypes.Value .TryFind( typeName) with
678
678
| Some ptype -> ptype
679
679
| None -> failwithf " Expected to find a type \" %s \" on the schema type map, but it was not found." typeName
680
680
schemaTypes
@@ -683,7 +683,7 @@ module internal Provider =
683
683
let itype = getProvidedType kvp.Value.Name
684
684
let ptypes = possibleTypes kvp.Value
685
685
ptypes |> Array.iter ( fun ptype -> ptype.AddInterfaceImplementation( itype)))
686
- ! providedTypes
686
+ providedTypes.Value
687
687
688
688
let makeProvidedType ( asm : Assembly , ns : string , resolutionFolder : string ) =
689
689
let generator = ProvidedTypeDefinition( asm, ns, " GraphQLProvider" , None)
0 commit comments