diff --git a/Project.toml b/Project.toml index fc233e7..52e1677 100644 --- a/Project.toml +++ b/Project.toml @@ -5,6 +5,7 @@ version = "1.0.0-DEV" [deps] JSON = "682c06a0-de6a-54ab-a142-c8b1cf79cde6" +Dates = "ade2ca70-3891-5945-98fb-dc099432e06a" Tables = "bd369af6-aec1-5ad0-b16a-f7cc5008161c" [compat] diff --git a/src/AwkwardArray.jl b/src/AwkwardArray.jl index 04a3bb0..68cddad 100644 --- a/src/AwkwardArray.jl +++ b/src/AwkwardArray.jl @@ -1,6 +1,7 @@ module AwkwardArray import JSON +import Dates import Tables ### Index ################################################################ @@ -274,10 +275,10 @@ function _to_buffers!( primitive = "complex64" elseif ITEM == Complex{Float64} primitive = "complex128" - # elseif ITEM <: Dates.DateTime # FIXME - # primitive = "datetime64" - # elseif ITEM <: Dates.TimePeriod # FIXME - # primitive = "timedelta64" + elseif ITEM <: DateTime + primitive = "datetime64" + elseif ITEM <: TimePeriod + primitive = "timedelta64" else error( "PrimitiveArray has an ITEM type that can't be serialized in the to_buffers protocol: $ITEM", @@ -3117,10 +3118,10 @@ function from_buffers( data = reinterpret(Complex{Float32}, buffer) elseif primitive == "complex128" data = reinterpret(Complex{Float64}, buffer) - # elseif primitive == "datetime64" - # FIXME: Dates.DateTime - # elseif primitive == "timedelta64" - # FIXME: Dates.TimePeriod + elseif primitive == "datetime64" + data = reinterpret(DateTime, buffer) + elseif primitive == "timedelta64" + data = reinterpret(TimePeriod, buffer) else error( "unrecognized \"primitive\": $(repr(primitive)) in \"class\": \"$class\" node",