Commit graph

36 commits

Author SHA1 Message Date
Cameron Ross
7f913246ea Move custom types to Node (#213)
Move custom types to Node
merged-on-behalf-of: BBasile <BBasile@users.noreply.github.com>
2019-01-15 08:37:50 +01:00
Cameron Ross
08951119df
fix UTF-8 decoding in URI sequences 2019-01-07 22:07:31 -04:00
Cameron Ross
38c157df88 Add test for duplicate mapping keys 2018-04-25 07:30:27 +02:00
Cameron Ross
4a106181dd
Add support for unicode chars in the 0x10000 - 0x10FFFF range as required by spec 2018-02-27 14:15:47 -04:00
Sebastian Wilzbach
d830832b02 Fix testsuite 2018-01-18 02:22:18 +01:00
Ferdinand Majerech
b254e35762 Unittest build now works with 'dub test' 2014-08-06 14:17:07 +02:00
Ferdinand Majerech
601f10bf2f New loader ctor in errors unittests. 2014-07-31 03:22:13 +02:00
Ferdinand Majerech
9fe6950df0 Style. 2014-07-31 03:21:58 +02:00
Ferdinand Majerech
ee2df932a0 New Loader ctor used in Emitter tests. 2014-07-31 03:16:22 +02:00
Ferdinand Majerech
eb29c2626d Style. 2014-07-31 03:15:56 +02:00
Ferdinand Majerech
337938f090 Using new Loader ctor in unicode input tests. 2014-07-31 03:12:57 +02:00
Ferdinand Majerech
ee0a449977 Style. 2014-07-31 03:12:25 +02:00
Ferdinand Majerech
c5b7987e68 Using non-Stream Loader ctor in Representer test. 2014-07-31 03:12:02 +02:00
Ferdinand Majerech
21700fdb5d Style. 2014-07-31 03:11:37 +02:00
Ferdinand Majerech
505a26ff4e Reader unittest now constructs Reader from buffer. 2014-07-31 02:32:23 +02:00
Ferdinand Majerech
3c36d4ad63 Replaced some old 'in' params with const 2014-07-28 23:20:35 +02:00
Ferdinand Majerech
405a61891f Reader unittest fixes. 2014-07-22 01:13:01 +02:00
Ferdinand Majerech
c856a35eb0 More readable tests. 2014-07-19 04:09:09 +02:00
Ferdinand Majerech
4faaf77950 Removed deprecation errors, improved readability. 2014-07-19 03:51:52 +02:00
Ferdinand Majerech
a341340d6c Using the dyaml.all module instead of yaml (which will eventually be removed). 2013-12-17 15:09:19 +01:00
Kiith-Sa
a409cceeff DMD 2.053 compatibility. 2013-05-23 14:33:34 +02:00
kiith-sa
edf3e2a799 Using std.typecons.Flag where possible, and more in->const. 2012-09-14 01:21:01 +02:00
Ferdinand Majerech
9596806644 Red-Black Trees are now used for duplicate detection, and planned
to be used for unordered map storage. This is because AAs still
don't work correctly and even if they did, require the user to
define both toHash and opCmp/opEquals for every YAML
struct/class. Now only opCmp needs to be defined.
Documentation/tutorials/examples have been updated accordingly.
2012-01-23 15:57:26 +01:00
Ferdinand Majerech
fbc962623d Simplified the Constructor API. 2011-11-17 23:53:24 +01:00
Ferdinand Majerech
2c9d464389 Reader was reimplemented.
After experiments with loading the whole file at once, and
with decoding and parsing in separate thread, lazy reader
turned to be the fastest/least memory intensive solution.
Characters are now decoded in small batches.
This improved parsing speed by ~20%.

No global state anymore. Anchors are now zero terminated strings
and TagDirectives are a simple array. Event structure was changed
to prevent size increase.
Minor fixes and improvements.
2011-11-16 03:10:29 +01:00
Ferdinand Majerech
8208e817de Updated Node for much more constness (unfortunately, quite some
code duplication as well). No longer need a custom Variant.
2011-10-30 18:12:02 +01:00
Ferdinand Majerech
9d68b6fa9a Optimized GC performance when loading,
greatly decreasing memory usage and
improving speed by 30% or more.
2011-10-23 20:17:37 +02:00
Ferdinand Majerech
13ea5f0c24 Added a shortcut alias called "as" for Node.get(), and replaced
get() with as() all over the code, tutorials, examples and docs.
Fixed a bug in YAML benchmark makefile.
Fixed a bug in autoddoc configuration.
2011-10-22 17:06:32 +02:00
Ferdinand Majerech
33a376b038 String representation of a Node's tag can now be accessed by the
user.
2011-10-20 15:48:21 +02:00
Ferdinand Majerech
548480b06b Changed the Constructor API (for loading of custom types) to
make it easier to load custom classes/structs. Updated API docs,
tutorials and examples accordingly.
2011-10-17 12:53:38 +02:00
Ferdinand Majerech
34b11405d4 Implemented the resolver unittest.
Changed Loader API to be in line with Dumper,
and updated examples, tutorials and docs.
2011-10-12 23:49:42 +02:00
Ferdinand Majerech
934df763ad Most of emitter work done. There are some more changes left until 0.2,
and the turorials and documentation still need some updating.
2011-10-11 15:58:23 +02:00
Ferdinand Majerech
b0f2ce201a Added Node constructors needed to create new nodes to emit. 2011-08-21 03:56:21 +02:00
Ferdinand Majerech
dde7d2f64f Node equality test now takes tag into account, as the
specification requires.
2011-08-20 22:38:32 +02:00
Ferdinand Majerech
7192503fe6 Implemented a Tag struct taking as little memory as possible.
Removed endMark from Node to keep it in 32 bytes on 64bit.
This will result in slightly worse debugging messages, but we
still have the start position of a node.

Tag is needed for better compliance with the spec and emitting
support for multiple tags with the same D data type.
2011-08-20 22:15:20 +02:00
Ferdinand Majerech
283c42bf8f Initial commit. 2011-08-16 14:53:13 +02:00