Emery Hemingway
8f42f97e13
Simplify PEG
2024-04-26 11:18:38 +02:00
Emery Hemingway
ea698bedcc
Add integer converter
2024-04-22 11:24:35 +02:00
Emery Hemingway
375cc992fd
Remove gcsafe annotations
2024-03-12 12:25:52 +00:00
Emery Hemingway
2825bceecf
preserves_schema_nim: collect imports of simple compounds
2024-02-08 14:24:01 +00:00
Emery Hemingway
c0a8a1a76c
Merge doubles into floats
2024-02-08 14:23:47 +00:00
Emery Hemingway
5e1e97e4df
toPreserves: unpack preservesTupleTail on records
2024-01-18 22:24:08 +02:00
Emery Hemingway
ba0857c32b
BufferedDecoder: return Option[Value] from decode
2024-01-16 21:01:25 +02:00
Emery Hemingway
aa5c7f4683
preserves_schema_nim: embedded literals are not literals
2024-01-14 12:26:39 +02:00
Emery Hemingway
a01ba8c96d
preserves_schema_nim: remove dead code
2024-01-08 12:50:13 +02:00
Emery Hemingway
416af8ff5f
preserves_schema_nim: represent embeds with EmbeddedRef
...
Use EmbeddedRef for embbeded values, unless a schema does not name
an embedded type.
2024-01-08 12:36:29 +02:00
Emery Hemingway
93590f2c07
Condense contract and expand to mapEmbeds
2024-01-08 12:36:29 +02:00
Emery Hemingway
0acd369262
Option support in toPreserves and fromPreserves
2024-01-08 12:36:29 +02:00
Emery Hemingway
a52e84dd70
Step by varargs[Value, toPreserves]
2024-01-08 12:36:29 +02:00
Emery Hemingway
b67e6f089b
preserves_schema_nim: always mark embedded fields
2024-01-08 12:36:29 +02:00
Emery Hemingway
867d25afee
Remodel Preserves[E] into Value
...
Using a parameterized Preserve[E] type is too much hassle. Replace
with a Value type with an embedded field of "ref RootObj".
2024-01-08 12:36:29 +02:00
Emery Hemingway
c2bce1404a
Add Atom type
...
Type for holding constant Preserves values create at compile-time.
This is a prerequisite for making embedded values "ref RootObj".
It is also requesite for making Value a ref object.
2024-01-01 17:32:52 +02:00
Emery Hemingway
b7224d7a4a
Reorder PEG
2024-01-01 17:32:52 +02:00
Emery Hemingway
d3a236bb92
UTF-16 surrogate pair parsing
2024-01-01 17:32:52 +02:00
Emery Hemingway
cedf25d1c3
Split pkSignedInteger into pkRegister and pkBigInt
2024-01-01 17:32:50 +02:00
Emery Hemingway
dbe9f3566f
Add raw floats and doubles to parser
2023-12-25 10:08:10 +02:00
Emery Hemingway
126365d164
Remove superfluous PEG whitspace rules
2023-12-24 21:24:02 +02:00
Emery Hemingway
c83b78aef7
Replace comment marker ; with #
2023-12-24 21:24:02 +02:00
Emery Hemingway
0c4ef8269f
Add pop for dictionaries
2023-11-02 13:33:47 +00:00
Emery Hemingway
ca5d44ed32
Step with mulitple indexes
2023-10-28 00:24:27 +01:00
Emery Hemingway
71acd4c951
Regenerate schema
2023-10-26 15:29:28 +01:00
Emery Hemingway
edece399be
Support standard Preserves text encoding as well as JSON
2023-10-21 18:40:14 +01:00
Emery Hemingway
8362a09ec0
Make text rendering JSON compatible
2023-10-20 19:57:09 +01:00
Emery Hemingway
a2dc5becc0
Update binary encoding to Preserves-0.990
2023-10-19 18:14:14 +01:00
Emery Hemingway
d98dfa2644
Add lockfile
2023-10-19 18:14:14 +01:00
Emery Hemingway
c915accf7d
Zero length byte sequences are fine
2023-09-14 10:30:19 +02:00
Emery Hemingway
ab3bd12c11
Remove bad varint check
2023-09-13 09:38:06 +02:00
Emery Hemingway
15390dd48e
Suppport preservesTupleTail pragma within objects
2023-09-12 11:35:09 +02:00
Emery Hemingway
8b3b182ce7
Do not raise ValueError at early end of binary stream
2023-08-25 19:28:48 +01:00
Emery Hemingway
52faec6e43
Fix varint encoding and decoding
2023-08-25 19:28:48 +01:00
Emery Hemingway
5e2cd329f6
Make apply gcsafe
2023-08-17 14:39:39 +01:00
Emery Hemingway
57f9984007
preserves_schema_nim: add acyclic pragmas
2023-08-16 08:33:11 +01:00
Emery Hemingway
ec77872467
Port preserves_schema_nim to Nim-2.0.0
2023-08-16 08:33:11 +01:00
Emery Hemingway
b563de9ac4
Remove threads and gcsafe where parsing is used
2023-08-16 08:33:11 +01:00
Emery Hemingway
e65dc2271f
Preserve JSON object keys as symbols
2023-08-01 11:09:29 +01:00
Emery Hemingway
335dcd2987
Tweak type walking in private/macros
2023-07-23 08:26:35 +01:00
Emery Hemingway
47e7851beb
Never convert Preserves symbols to Nim strings!
2023-07-20 18:26:29 +01:00
Emery Hemingway
9fa6685071
Add escaping to $ operator for Symbol
2023-06-12 21:01:26 +01:00
Emery Hemingway
a7a90097a8
Add sort and cannonicalize
2023-06-11 21:33:41 +01:00
Emery Hemingway
0e3824fc5d
schema: import std/sets when neccessary
2023-06-07 11:00:24 +01:00
Emery Hemingway
0f697349cc
Add isInteger and isString procs for testing against values
2023-05-30 13:11:33 +01:00
Emery Hemingway
c500e99b95
Fix some decoder defects
2023-05-20 13:53:21 +01:00
Emery Hemingway
03876850e5
schema: use Preserve[E] for records without literal labels
2023-05-17 09:12:08 +01:00
Emery Hemingway
b3f40347e8
Regenerate schema module
2023-05-16 23:06:52 +01:00
Emery Hemingway
eeef9860cf
schema: don't override $ proc for Preserves[E] types
2023-05-14 22:55:27 +01:00
Emery Hemingway
b7406cd6f7
Add preserves/datehooks for handling dates and times
2023-05-12 09:38:01 +01:00