aboutsummaryrefslogtreecommitdiffstats
path: root/src/writer.c
AgeCommit message (Collapse)AuthorFilesLines
2023-12-02[WIP] Generalize node construction APIDavid Robillard1-2/+5
2023-12-02Add support for custom allocatorsDavid Robillard1-41/+54
This makes it explicit in the API where memory is allocated, and allows the user to provide a custom allocator to avoid the use of the default system allocator for whatever reason.
2023-12-02[WIP] Simplify reader and writer flagsDavid Robillard1-4/+4
[WIP] Testing?
2023-12-02[WIP] Remove SERD_CURIE node datatype entirelyDavid Robillard1-45/+10
2023-12-02[WIP] Move SerdEnv mutation from writer to readerDavid Robillard1-13/+8
Writing having side-effects seems questionable in general, and this prepares things for expanding URIs in the reader.
2023-12-02[WIP] Preserve long or short quoting from input documentsDavid Robillard1-2/+1
2023-12-02[WIP] Add extensible logging APIDavid Robillard1-8/+16
2023-12-02[WIP] Preserve anonymous graph syntax in TriGDavid Robillard1-1/+2
[WIP] Untested
2023-12-02[WIP] Add support for reading and writing variablesDavid Robillard1-0/+15
[WIP] Command line option, move later? This adds a reader flag and serdi option for extending a syntax with support for SPARQL-like variables, for storing things like patterns or simple queries.
2023-12-02Simplify output stream APIDavid Robillard1-15/+20
2023-12-02Make serd_writer_set_root_uri() take a string viewDavid Robillard1-3/+3
This is generally more convenient, and the node was just being copied anyway.
2023-12-02Make SerdBuffer an output streamDavid Robillard1-27/+0
2023-12-02Strengthen handling of corrupt UTF-8 inputDavid Robillard1-2/+2
2023-12-02Use tighter types for UTF-8David Robillard1-6/+6
2023-12-02Support writing all escapes in Turtle and TriG prefixed namesDavid Robillard1-71/+70
2023-12-02Add assertions for all non-null pointers in the public APIDavid Robillard1-0/+13
2023-12-02Make serd_env_expand_in_place() take a string view instead of a nodeDavid Robillard1-1/+2
2023-12-02Simplify SerdEnv APIDavid Robillard1-2/+2
2023-12-02Split up serd_internal.hDavid Robillard1-1/+1
2023-12-02Reduce complexity of string writing functionsDavid Robillard1-77/+97
2023-12-02Reduce complexity of URI node writing functionsDavid Robillard1-21/+38
2023-12-02Reduce complexity of statement writing functionsDavid Robillard1-78/+174
2023-12-02Add empty syntax type for suppressing outputDavid Robillard1-1/+5
2023-12-02Use a simple type-safe stack in writerDavid Robillard1-42/+42
2023-12-02Replace SERD_WRITE_STRICT flag with SERD_WRITE_LAXDavid Robillard1-4/+4
The unset value for flags should represent the best default, which in this case is strict parsing. Lax parsing is the riskier opt-in option.
2023-12-02Add support for writing terse output with minimal newlinesDavid Robillard1-14/+43
2023-12-02Pass context flags to write_sep()David Robillard1-17/+20
2023-12-02Add initial flags to write contextDavid Robillard1-12/+17
2023-12-02Simplify statement flagsDavid Robillard1-17/+24
2023-12-02Replace multiple stream callbacks with SerdEventDavid Robillard1-10/+30
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.
2023-12-02Simplify writer style options and write UTF-8 by defaultDavid Robillard1-3/+4
2023-12-02Add SerdStatementDavid Robillard1-7/+8
2023-12-02Add SerdField to public APIDavid Robillard1-41/+33
A statement field enum was previously only used by the writer internally, but will be used in the public API (without a sentinel value) in following commits.
2023-12-02Use thread-safe strerror_r() if availableDavid Robillard1-1/+4
2023-12-02Move error handling to worldDavid Robillard1-3/+4
2023-12-02Add SerdWorld for shared library stateDavid Robillard1-14/+7
2023-12-02Use a fixed-size reader stackDavid Robillard1-11/+18
2023-12-02Add SerdSink interface and hide implementationsDavid Robillard1-5/+19
2023-12-02Bring read/write interface closer to the C standardDavid Robillard1-14/+18
2023-12-02Simplify node construction APIDavid Robillard1-16/+26
2023-12-02Merge datatype/language into nodeDavid Robillard1-45/+35
This moves closer to the sord API, and is more convenient in most cases.
2023-12-02Simplify URI API and implementationDavid Robillard1-15/+13
2023-12-02Make nodes opaqueDavid Robillard1-125/+131
2023-12-02Rename string view fieldsDavid Robillard1-4/+4
2023-12-02Use more human-readable status codesDavid Robillard1-11/+9
2023-12-02Split up public API headerDavid Robillard1-2/+12
2023-12-02Remove "get" from accessor namesDavid Robillard1-4/+4
2023-12-02Rename function types for consistencyDavid Robillard1-4/+4
2023-12-02Rename SerdStyle to SerdWriterFlagsDavid Robillard1-26/+26
2023-12-02Rename SerdURI to SerdURIViewDavid Robillard1-12/+12