Commit Graph

151 Commits

Author SHA1 Message Date
Felix Krause d20707c4e4 disable DOM API when using ARC (ref #85) 2021-05-18 00:42:58 +02:00
Felix Krause 1346467b42 fixes #93 2021-05-18 00:31:47 +02:00
Felix Krause a72966374f fixes #90 2021-05-18 00:28:24 +02:00
Felix Krause f123924d32 fix for --gc:orc; some memory improvements 2021-05-17 23:51:35 +02:00
Felix Krause 2b0e20abd0 fixed server to compile with current Nim 2021-05-17 19:50:10 +02:00
Felix Krause 329e18e44c removed obsolete TagLibrary type. control tag directives when dumping. fixes #95 2021-03-23 18:51:05 +01:00
flyx 03ecab0075
fix bool serialization
output `true` or `false` instead of `y` and `n` to comply with the YAML 1.2 spec.
2021-03-23 13:20:48 +01:00
Timothee Cour fcae534148 support -d:yamlDebug at CT 2020-11-14 21:58:31 +01:00
Felix Krause 45321cad13 fixes #39 2020-11-10 22:12:09 +01:00
Felix Krause f79774e766 updated raises annotations 2020-11-10 21:28:56 +01:00
Felix Krause e3e810fce0 all tests green again 2020-11-10 19:07:46 +01:00
Felix Krause 9d92e8a2c5 all serialization tests green again 2020-11-10 15:40:01 +01:00
Felix Krause 4305bccbf0 made anchor resolution during deserialization safer 2020-11-10 14:48:19 +01:00
Felix Krause aa65c066d5 changed TagId to Tag. removed JS stuff that wasn't working anyway. 2020-11-10 13:55:22 +01:00
Felix Krause 6238104622 started making serializationTests green again 2020-11-06 21:39:50 +01:00
Felix Krause 48d601d959 parser tests working, other tests compiling 2020-11-06 16:21:58 +01:00
Felix Krause e2f8e6419e lots of fixes for parser, started updating serialization 2020-11-05 20:23:42 +01:00
Felix Krause ae4c097a25 fixed parser test framework; started making parser tests green 2020-11-04 22:47:52 +01:00
Felix Krause 2840d4d654 made lexer tests green again 2020-11-04 19:32:09 +01:00
Felix Krause 4c604b09df made lexer & parser tests compile (not succeed) again 2020-11-04 16:40:37 +01:00
Felix Krause 1d707b184e started updating other parts of the codebase 2020-11-03 22:08:21 +01:00
Felix Krause 05b8528f3e translated parser from AdaYaml 2020-11-03 21:17:31 +01:00
Felix Krause 427084f44a translated AdaYaml lexer 2020-10-29 23:34:28 +01:00
narimiran c339661a6f fix deprecated stuff 2020-07-22 13:52:44 +02:00
Felix Krause 060fc07803 fixes #83 2020-07-05 22:21:43 +02:00
Felix Krause 048183d786 fixed outdated code doc 2020-06-26 23:40:14 +02:00
Felix Krause 951efdf18e added {.sparse.}. fixes #82 2020-06-26 23:21:22 +02:00
Felix Krause e4b3e8347a updated docs 2020-06-26 22:36:52 +02:00
Felix Krause bce3981849 replaced field/object macros with annotations; fixes #66 2020-06-26 21:29:41 +02:00
flyx 1dfc2a3333 Implemented Option serialization. Fixes #78 2020-03-08 19:58:02 +01:00
flyx f714881ae9 Fixed submodules. Fixed some depr warnings. Fixes #77 2020-03-08 19:22:34 +01:00
Felix Krause f8b264f992 Fixes #76 2019-11-30 13:16:40 +01:00
k0zmo 0336d06114 Disallow deserialization of object variants with multiple object branches 2019-07-06 11:14:34 +02:00
k0zmo fd4a718586 Adhere to new rules of object variants (re)initialization 2019-07-06 11:14:34 +02:00
Marcus Eriksson 90f47e1043 Only include the type name in the error message 2019-07-06 11:14:34 +02:00
Marcus Eriksson ef2b2e9ae7 Fixes for Nim v0.20.0
The breaking changes affecting this library are:

* Macro arguments of type typedesc are now passed to the macro as
  NimNode like every other type except static. Use typed for a behavior
  that is identical in new and old Nim. See the RFC Pass typedesc as
  NimNode to macros for more details.
  (https://github.com/nim-lang/RFCs/issues/148)

* case object branch transitions via system.reset are deprecated.
  Compile your code with -d:nimOldCaseObjects for a transition period.

  The solution here is to compile with '-d:nimOldCaseObjects' for the
  time being. I didn't understand how to modify the code to adhere to
  the new way of initializing/changing variant objects.

* The compiler now enforces range checking which exposed a bug in the
  fieldCount proc. For variant objects where one of the branches is
  given on one line, e.g.

    ...
    of akDog: barkometer: int
    ...

  the field wasn't counted and the total field count was not accurate.
2019-07-06 11:14:34 +02:00
Kobi 053d5d1333 removed empty lines
(probably from nimpretty formatting?)
2019-01-27 12:07:16 +01:00
Kobi Lurie 9226aa4d37 modified presenter to work with deques instead of the obsolete queues 2019-01-27 12:07:16 +01:00
Vindaar 1babb26616 move echo statement for internal stacktrace into if branch
No need to echo internal stacktrace, if there is no parent to echo for.
2018-10-12 16:00:39 +02:00
Vindaar 8a7750cb6c make sure to also append '\0' for JS as well as C backend
Also remove now unnecessary `os` (was imported for internal
`assertStringEqual` test) module import in `tserialization`.
2018-10-12 16:00:39 +02:00
Vindaar c4e7072722 clean up `constructJson` by removing not needed assignments
Also use `expKey` everywhere.
2018-10-12 16:00:39 +02:00
Vindaar 3eb006be2d Revert "fix for null terminator not accessable in strings anymore"
This reverts commit 07c59e2d2d90b3123973814ebc9cf974a0bf4baf.
2018-10-12 16:00:39 +02:00
Vindaar d26a57fe93 append null terminator to source when creating `StringSource`
This makes editing the lexer unnecessary.
2018-10-12 16:00:39 +02:00
Vindaar ba06599b7d echo internal stack trace if not release, check if parent is nil 2018-10-12 16:00:39 +02:00
Vindaar 06ddc9eb13 Revert "fix internal `IndexError` in `lex.nim` due to null term n.a."
This reverts commit e147df31718bb5bcd27c4067314dc40c2ecc9348.
2018-10-12 16:00:39 +02:00
Vindaar e104dc351d [tojson] extend `Level` by `expKey` to signal node expects a key
Extens the `Level` type in `tojson` by a `expKey` field, which is used
to indicate whether a node still expects a key or not.

NOTE: not sure if the `expKey = true` statements in lines 163 and 183
are necessary / correct. Tests work this way though.
2018-10-12 16:00:39 +02:00
Vindaar 407b10be66 do not construct empty seq for `yamlScalar` 2018-10-12 16:00:39 +02:00
Vindaar d19539a231 fix internal `IndexError` in `lex.nim` due to null term n.a.
Since the null terminator is not available anymore we need to be
careful how we access strings in the lexer.

This should probably be solved in a nicer and more scalable way! :/
2018-10-12 16:00:39 +02:00
Vindaar 446493ded8 replace `newException` by `constructionError` call if int too large
If an integer doesn't fit into the target type an exception is thrown.
2018-10-12 16:00:39 +02:00
Vindaar db1a2c4041 allow echoing internal stacktrace if compiling with `d:debug`
`internalError` and `yAssert` now allow to echo the internal stack
traces if the `d:debug` compile flag is set.
2018-10-12 16:00:39 +02:00