Details
-
Wish
-
Status: Open
-
Minor
-
Resolution: Unresolved
-
None
-
None
-
None
Description
One of the most common types I deal with is a datetime. Another common type is a time delta. It would be great if these were built in, but that's unlikely to happen soon. Another option is to put this into the library as a relatively generic thing: use an annotation to tell the compiler what D type this thing is, and then have the library figure out how to convert the format given to the requested type, in a way where the user can override things.
For instance, I have a Timestamp type. It's got an int64 for the epoch second and an int64 for the nanosecond. I want to turn that into a std.datetime.DateTime. Optionally, the library can possibly look for a way to build a DateTime from those components automatically. It won't find one, so it will produce a fallback that simply produces a reasonable exception. I can provide a manual converter on application startup.
This lets me have a generated object model that looks more like what I would have written by hand.