592
592
# end
593
593
594
594
# TODO : REFACTOR THIS AS A JSON3 STRUCT DESERIALIZER.
595
- function fncStringToData (packtype:: Type , data:: Union{String, <:NamedTuple} )
595
+ function fncStringToData (packtype:: Type{<:AbstractPackedFactor} , data:: Union{String, <:NamedTuple} )
596
596
# Convert string to Named Tuples for kwargs
597
597
fncData = data isa AbstractString ? JSON2. read (data) : data
598
598
@@ -610,15 +610,29 @@ function fncStringToData(packtype::Type, data::Union{String, <:NamedTuple})
610
610
)
611
611
return packed
612
612
end
613
-
614
- function fncStringToData (fncType:: String , data:: T ) where T
613
+ fncStringToData ( :: Type{T} , data :: PackedFunctionNodeData{T} ) where {T <: AbstractPackedFactor } = data
614
+ function fncStringToData (fncType:: String , data:: PackedFunctionNodeData{T} ) where {T <: AbstractPackedFactor }
615
615
packtype = DFG. getTypeFromSerializationModule (" Packed" * fncType)
616
616
if packtype == T
617
617
data
618
+ else
619
+ error (" Unknown type conversion\n $(fncType) \n $packtype \n $(PackedFunctionNodeData{T}) " )
620
+ end
621
+ end
622
+
623
+ function fncStringToData (fncType:: String , data:: T ) where {T <: AbstractPackedFactor }
624
+ packtype = DFG. getTypeFromSerializationModule (" Packed" * fncType)
625
+ if packtype == T # || T <: packtype
626
+ data
618
627
else
619
628
fncStringToData (packtype, data)
620
629
end
621
630
end
631
+ function fncStringToData (fncType:: String , data:: Union{String, <:NamedTuple} )
632
+ packtype = DFG. getTypeFromSerializationModule (" Packed" * fncType)
633
+ fncStringToData (packtype, data)
634
+ end
635
+
622
636
623
637
# Returns `::DFGFactor`
624
638
function unpackFactor (
0 commit comments