[
https://issues.apache.org/jira/browse/THRIFT-4363?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16206621#comment-16206621
]
Neia Neutuladh commented on THRIFT-4363:
----------------------------------------
https://issues.apache.org/jira/browse/THRIFT-839 is specific to timestamps (and
perhaps needs to be reopened?).
This is for the more general case where you have an existing type, where it
would be a lot more useful to have that type in your object model than what you
can express simply in Thrift IDL. For instance, if I receive a list of items
but it would be really handy to treat it as a priority queue, I might want to
have that list converted to a red-black tree automatically. Or I have an i32
representing a port number, but all the code I have that deals with ports uses
a ushort.
> User-extensible type mappings
> -----------------------------
>
> Key: THRIFT-4363
> URL: https://issues.apache.org/jira/browse/THRIFT-4363
> Project: Thrift
> Issue Type: Wish
> Components: D - Compiler, D - Library
> Reporter: Neia Neutuladh
> Priority: Minor
>
> 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.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)