Commit Graph

83 Commits

Author SHA1 Message Date
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
Emery Hemingway b9d8275624 schema: emit "tuple[]" for literal object fields 2023-05-04 10:55:09 +01:00
Emery Hemingway cd2dde6d71 preserves_schema_nim: use field0,1,..N for anonymous fields 2023-05-03 16:03:43 +01:00
Emery Hemingway 67b470078c Revert "preserves_schema_nim: declare literal fields as void"
This reverts commit 30c330cecf.
2023-04-30 09:57:45 +01:00
Emery Hemingway 30c330cecf preserves_schema_nim: declare literal fields as void 2023-04-28 23:58:48 +01:00
Emery Hemingway 335d1b61cc Move jsonhooks check to runnableExamples 2023-04-10 17:51:14 -05:00
Emery Hemingway ea7225e3b5 Add toDictionary procedure 2023-04-03 17:03:56 -05:00
Emery Hemingway 1a0cb2be5c Cleanup preserves_schema_nim 2023-04-01 12:33:28 -05:00
Emery Hemingway 786342c39b Cannot print a void value 2023-03-29 16:47:47 -05:00
Emery Hemingway b38b85a8f1 Catch IOError at Preserves decoder 2023-03-22 11:21:46 -05:00
Emery Hemingway 075627709f preserves_schema_nim: recursively search dicts for embedding 2023-03-01 20:58:17 -06:00
Emery Hemingway 70655a959b preserves_schema_nim: emit Perserve type for And composites 2023-03-01 12:49:18 -06:00
Emery Hemingway 66a653a775 Fix expand of embedded Preserves 2022-12-13 22:05:05 -06:00
Emery Hemingway d5909e4df0 Schema: a collection of breaking changes
- Process all modules in a bundle simultanously so that it can be
   determined if imported types are recursive or take a parameter
- Different rules for deciding when an object must be a ref
- Use Preserve[void] if there is no EmbededTypeName defined
- Put embeddeded types directly into other types without a
  Preserve[E] container
2022-12-10 13:32:36 -06:00
Emery Hemingway f9bed998f1 Fix schemaparse for <rec …> records 2022-12-05 16:09:04 -06:00
Emery Hemingway 6d5acf324b schemac: tool for processing schemas 2022-12-05 16:04:52 -06:00
Emery Hemingway 65195a5eb7 schemas: improve "include" parsing 2022-11-20 14:14:22 -06:00
Emery Hemingway 99a1cd4d15 Symbol escaping 2022-11-06 11:04:16 -06:00