Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2020-10-27 | Make serd_env_expand() always return a node if it is not relative | David Robillard | 1 | -2/+4 | |
The old interface was potentially faster, because it avoided unnecessary copies, but was annoying to use and problematic because nodes that don't need expansion were indistinguishable from nodes that failed to expand (like those that use undefined namespace prefixes). In the grand scheme of things, the potential performance improvement isn't worth it, and unexpected unexpanded nodes causes deep nightmarish problems, so just make serd_env_expand() copy the input if it doesn't need expansion to make the API simpler and safer. | |||||
2020-10-27 | Replace multiple stream callbacks with SerdEvent | David Robillard | 1 | -30/+58 | |
This makes plumbing easier since everything goes through the same "stream" and only one callback is required to handling everything. It's also more easily extensible in case more event types need to be added in the future. | |||||
2020-10-27 | Add support for xsd:double and xsd:float | David Robillard | 1 | -0/+30 | |
These can be used to serialise a float or double in the shortest normalised form that can be read back in to the exact same floating point value. | |||||
2020-10-27 | Add precise decimal digit generation | David Robillard | 1 | -4/+12 | |
2020-10-27 | Add empty syntax type for suppressing output | David Robillard | 1 | -8/+9 | |
2020-10-27 | Replace serd_reader_set_strict() with SerdReaderFlags | David Robillard | 1 | -12/+10 | |
This makes reader options extensible and should hopefully prevent the need for grafting on more similar functions in the future. | |||||
2020-10-27 | Report writer errors and add strict write mode | David Robillard | 1 | -2/+4 | |
2020-10-27 | Add support for writing terse collections | David Robillard | 1 | -1/+3 | |
2020-10-27 | Add option for writing terse output without newlines | David Robillard | 1 | -1/+2 | |
2020-10-27 | Rename writer flags for consistency with enum type | David Robillard | 1 | -3/+3 | |
2020-10-27 | Add serd_new_boolean() | David Robillard | 1 | -0/+5 | |
2020-10-27 | Handle read errors more precisely | David Robillard | 1 | -1/+2 | |
2020-10-27 | Add model validation | David Robillard | 1 | -1/+17 | |
2020-10-27 | Add model | David Robillard | 1 | -0/+409 | |
2020-10-27 | Add function to SerdSink for freeing opaque handle | David Robillard | 1 | -1/+5 | |
This can be used to associate dynamically allocated data with a sink and have it managed along with the sink's lifetime. | |||||
2020-10-27 | Use consistent naming for function types | David Robillard | 1 | -11/+11 | |
2020-10-27 | Add extensible logging API | David Robillard | 1 | -23/+102 | |
2020-10-27 | Use line comments where appropriate and clean up header | David Robillard | 1 | -435/+212 | |
2020-10-27 | Rename SerdStyle to SerdWriterFlags | David Robillard | 1 | -5/+5 | |
2020-10-27 | Rename SerdType to SerdNodeType | David Robillard | 1 | -3/+3 | |
The old name has become ambiguous with the expanded scope of serd. | |||||
2020-10-27 | Clean up and expose base64 implementation | David Robillard | 1 | -4/+45 | |
2020-10-27 | Expose the node cache in the world | David Robillard | 1 | -0/+11 | |
2020-10-27 | Remove serd_env_foreach() | David Robillard | 1 | -9/+0 | |
This is not particularly useful except to write prefixes, which is what serd_env_write_prefixes is for, and the name implies that namespace prefixes are the only thing in an Env, which will be problematic in the future. | |||||
2020-10-27 | Add serd_env_write_prefixes() | David Robillard | 1 | -0/+7 | |
2020-10-27 | Add serd_node_compare() | David Robillard | 1 | -0/+11 | |
2020-10-27 | Use simpler names for statement flags | David Robillard | 1 | -5/+5 | |
2020-10-27 | Simplify streaming API and improve pretty printing | David Robillard | 1 | -8/+5 | |
This removes the obligation from the caller to correctly maintain flags to describe the current anonymous context, instead making the writer handle this itself as much as possible. Flags remain for the cases the writer can not infer from context: the start of anonymous subject and object nodes. | |||||
2020-10-27 | Add SerdNodes class for storing a cache of nodes | David Robillard | 1 | -0/+65 | |
2020-10-27 | Add serd_env_copy() and serd_env_equals() | David Robillard | 1 | -0/+14 | |
2020-10-27 | Separate ByteSink from Writer | David Robillard | 1 | -4/+3 | |
2020-10-27 | Expose SerdByteSink in public API | David Robillard | 1 | -0/+42 | |
2020-10-27 | Remove serd_reader_set_default_graph() | David Robillard | 1 | -12/+0 | |
2020-10-27 | Simplify writer style options | David Robillard | 1 | -5/+4 | |
2020-10-27 | Separate style enum from style flags types | David Robillard | 1 | -1/+6 | |
2020-10-27 | Automatically finish reader on destruction | David Robillard | 1 | -0/+5 | |
2020-10-27 | Make SerdSink opaque | David Robillard | 1 | -11/+52 | |
2020-10-27 | Simplify SerdEnv API | David Robillard | 1 | -24/+6 | |
2020-10-27 | Add cursor to statement | David Robillard | 1 | -0/+7 | |
This allows the file and position of statements to be used in sinks, for example for more helpful error reporting outside the parser. | |||||
2020-10-27 | Add SerdCursor to public API | David Robillard | 1 | -8/+77 | |
2020-10-27 | Remove escape parameter from serd_new_file_uri | David Robillard | 1 | -4/+3 | |
Since characters are escaped because they are not valid characters in a URI, any use of this function without escaping is problematic at best. | |||||
2020-10-27 | Shorten node constructor names | David Robillard | 1 | -23/+60 | |
2020-10-27 | Make statement sink take a statement rather than nodes | David Robillard | 1 | -6/+3 | |
This makes the interface more extensible, towards associating more information with statements. The serd_sink_write_nodes wrapper remains so that user code does not need to allocate in order to write statement. | |||||
2020-10-27 | Add sink interface | David Robillard | 1 | -0/+60 | |
2020-10-27 | Add SerdStatement | David Robillard | 1 | -0/+48 | |
2020-10-27 | Move syntax name/extension utilities to public API | David Robillard | 1 | -0/+35 | |
2020-10-27 | Move SerdField to public API | David Robillard | 1 | -0/+10 | |
2020-10-27 | Use a fixed-size reader stack | David Robillard | 1 | -2/+6 | |
This improves performance, and makes the reader more suitable for embedded or network-facing applications, at the cost of requiring the user to specify a maximum stack size. | |||||
2020-10-27 | Set datatypes on integer, decimal, and base64 nodes | David Robillard | 1 | -4/+20 | |
2020-10-27 | Add serd_world_get_blank() | David Robillard | 1 | -0/+10 | |
2020-10-27 | Clean up node construction API | David Robillard | 1 | -50/+52 | |