Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2021-03-08 | WIP: Make serd_env_expand() always return a node if it is not relative | David Robillard | 1 | -30/+161 | |
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. | |||||
2021-03-08 | Remove double allocations in serd_env_expand() | David Robillard | 1 | -1/+1 | |
2021-03-08 | Clean up Env tests and behaviour | David Robillard | 1 | -62/+178 | |
2021-03-08 | Make const Env functions tolerant of NULL | David Robillard | 1 | -0/+4 | |
This is convenient in places where you don't necessarily need an Env, since in this case these methods work the same as if with an empty Env. | |||||
2021-03-08 | Add empty syntax type for suppressing output | David Robillard | 2 | -0/+35 | |
2021-03-08 | Replace serd_reader_set_strict() with SerdReaderFlags | David Robillard | 3 | -16/+17 | |
This makes reader options extensible and should hopefully prevent the need for grafting on more similar functions in the future. | |||||
2021-03-08 | Report writer errors and add strict write mode | David Robillard | 2 | -1/+38 | |
2021-03-08 | Align node allocations | David Robillard | 1 | -13/+15 | |
2021-03-08 | Add support for writing terse collections | David Robillard | 8 | -2/+184 | |
2021-03-08 | WIP: Write invalid characters in URIs with percent encoding | David Robillard | 1 | -0/+2 | |
2021-03-08 | Fix socket-like stream reading test | David Robillard | 1 | -3/+5 | |
2021-03-08 | Handle read errors more precisely | David Robillard | 1 | -1/+1 | |
2021-03-08 | Add stack overflow tests | David Robillard | 2 | -0/+69 | |
2021-03-08 | Clean up env test | David Robillard | 1 | -4/+4 | |
2021-03-08 | Simplify streaming API and improve pretty printing | David Robillard | 3 | -2/+98 | |
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. | |||||
2021-03-08 | Add SerdNodes class for storing a cache of nodes | David Robillard | 3 | -0/+95 | |
2021-03-08 | Add serd_env_copy() and serd_env_equals() | David Robillard | 1 | -0/+23 | |
2021-03-08 | Separate ByteSink from Writer | David Robillard | 1 | -3/+7 | |
2021-03-08 | Expose SerdByteSink in public API | David Robillard | 1 | -0/+1 | |
2021-03-08 | Simplify writer style options | David Robillard | 2 | -14/+23 | |
2021-03-08 | Replace multiple stream callbacks with SerdEvent | David Robillard | 3 | -41/+53 | |
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. | |||||
2021-03-08 | Add SerdStatement | David Robillard | 2 | -20/+10 | |
2021-03-08 | Add SerdCursor | David Robillard | 5 | -2/+65 | |
2021-03-08 | Remove serd_reader_set_default_graph() | David Robillard | 1 | -36/+23 | |
2021-03-08 | Simplify SerdEnv API | David Robillard | 1 | -32/+28 | |
2021-03-08 | Add serd_world_get_blank() | David Robillard | 1 | -0/+18 | |
2021-03-08 | Move error handling to world | David Robillard | 1 | -0/+2 | |
2021-03-08 | Add SerdWorld for shared library state | David Robillard | 4 | -7/+26 | |
2021-03-08 | Clean up nodes in reader/writer tests | David Robillard | 1 | -12/+20 | |
2021-03-08 | Add numeric node construction and access API | David Robillard | 1 | -22/+191 | |
2021-03-08 | Add serd_new_boolean() | David Robillard | 1 | -0/+21 | |
2021-03-08 | Remove old floating point tests | David Robillard | 1 | -88/+0 | |
2021-03-08 | WIP: Use exess for reading and writing numeric and binary literals | David Robillard | 1 | -6/+6 | |
2021-03-08 | Simplify literal construction API | David Robillard | 2 | -26/+41 | |
2021-03-08 | Use a fixed-size reader stack | David Robillard | 4 | -6/+9 | |
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. | |||||
2021-03-07 | Simplify reader interface | David Robillard | 2 | -21/+21 | |
2021-03-07 | Add SerdSink interface and hide implementations | David Robillard | 3 | -29/+45 | |
2021-03-07 | Bring read/write interface closer to C standard | David Robillard | 1 | -5/+10 | |
2021-03-07 | Simplify reader interface | David Robillard | 2 | -32/+25 | |
2021-03-07 | Set datatypes on integer, decimal, and base64 nodes | David Robillard | 1 | -7/+27 | |
2021-03-07 | Simplify node construction API | David Robillard | 4 | -70/+112 | |
2021-03-07 | Simplify URI API and implementation | David Robillard | 3 | -42/+134 | |
2021-03-07 | Merge datatype/language into node | David Robillard | 3 | -48/+48 | |
This moves closer to the sord API, and is more convenient in most cases. | |||||
2021-03-07 | Remove SERD_NOTHING node type | David Robillard | 1 | -15/+1 | |
2021-03-07 | Make nodes opaque | David Robillard | 4 | -157/+174 | |
2021-03-07 | Shorten node constructor names | David Robillard | 2 | -15/+13 | |
2021-03-07 | Remove "get" from accessor names | David Robillard | 2 | -7/+7 | |
2021-03-07 | Rename SerdStyle to SerdWriterFlags | David Robillard | 1 | -5/+4 | |
2021-03-07 | Rename SerdURI to SerdURIView | David Robillard | 1 | -9/+9 | |
2021-03-07 | Rename SerdChunk to SerdStringView | David Robillard | 1 | -2/+2 | |