[ 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)