Commit Graph

56 Commits

Author SHA1 Message Date
Tony Garnock-Jones e923d87fa5 Switch from `#!` to `#:` for embedded values 2024-02-05 22:38:49 +01:00
Tony Garnock-Jones be32f9b7c8 Remove single-precision floats from the implementations 2024-01-27 14:40:37 +01:00
Tony Garnock-Jones 897fc13054 Preserves ordering 2023-12-16 22:13:47 +13:00
Tony Garnock-Jones 9420cc7236 New EncodableDictionary/EncodableSet as intermediate steps between Flex- and Keyed- 2023-12-16 22:13:17 +13:00
Tony Garnock-Jones e0ef236001 Cosmetic: remove unused import 2023-12-16 09:38:00 +13:00
Tony Garnock-Jones 634b263ed2 Generalize constraints on keys in KeyedDictionary 2023-12-16 09:37:47 +13:00
Tony Garnock-Jones 2532b42959 Make utf-8 decoding stricter in JavaScript 2023-11-26 00:00:27 +01:00
Tony Garnock-Jones 7b3731a5e4 Remove superfluous generic parameter 2023-11-19 16:02:34 +01:00
Tony Garnock-Jones 185c233b2f Refactor base64 2023-11-19 16:02:18 +01:00
Tony Garnock-Jones 22b2f162bc Remove one of the sources of cyclic dependencies 2023-11-19 15:54:01 +01:00
Tony Garnock-Jones d11ec61714 Restrict positions where commas may exist 2023-11-01 14:45:58 +01:00
Tony Garnock-Jones fb63ac24b0 Merge branch 'main' into comment-syntax-hash-space 2023-10-31 21:15:41 +01:00
Tony Garnock-Jones cf50e00f80 Repair failing TS bigint tests 2023-10-31 12:53:54 +01:00
Tony Garnock-Jones 1aedfe46b7 Merge branch 'main' into comment-syntax-hash-space 2023-10-29 22:22:40 +01:00
Tony Garnock-Jones 9595872177 Test cases and implementation updates for delimiters following Boolean and SymbolOrNumber. Closes #47 2023-10-29 21:04:52 +01:00
Tony Garnock-Jones 4869507b09 Enable text-parser tests in @preserves/core; fix a couple of errors 2023-10-29 18:12:12 +01:00
Tony Garnock-Jones ccf277cddb Switch to "# "-prefixed text comment annotation syntax 2023-10-18 10:20:30 +02:00
Tony Garnock-Jones 3b89cbe880 Switch back to prefix-format binary annotations 2023-10-15 00:35:25 +02:00
Tony Garnock-Jones b7a2acf65b Update implementations for simplified binary syntax.
As part of this, I noticed a problem when updating the Rust
implementation. With the BF..84 design for annotations, if you are
wanting to skip annotations—for example, if you're parsing
incrementally, SAX-style, ignoring annotations—then with any
parenthesised form you have to remember to check for and skip something
after reading a term. This is awkward, so I want to revisit the design
of annotations and go back to the prefix-form (85..) of the
current-mainline design.
2023-10-14 21:29:09 +02:00
Tony Garnock-Jones c395265c3b Generalize preserves formatter 2023-10-02 20:59:14 +02:00
Tony Garnock-Jones ac6a138a00 forEachEmbedded 2023-06-16 12:44:22 +02:00
Tony Garnock-Jones 134de6989b parse, parseAll 2023-05-12 11:26:06 +02:00
Tony Garnock-Jones a167e97c00 ValueClass 2023-05-12 11:25:56 +02:00
Tony Garnock-Jones 741b664970 Make field numbers accessible 2023-05-03 10:22:47 +03:00
Tony Garnock-Jones 340f809c55 isSequence 2023-01-05 15:13:23 +01:00
Tony Garnock-Jones 269ed2391a Repair text syntax for numbers and symbols. Closes #19/#36/#37/#38.
Numbers and (bare) Symbols are now disambiguated after reading, which
permits leading `+`, leading `0`, and a wider range of acceptable
Symbols.

Updates spec text, test cases, and implementations. Some ancillary fixes
to Python's comparison routines are also included.
2022-11-08 19:56:24 +01:00
Tony Garnock-Jones 1f495eef1e Repair typo that caused annotations not to work properly with fromJS 2022-06-16 10:10:38 +02:00
Tony Garnock-Jones 800e9ccf80 Repair stringification of nontrivial embedded values 2022-04-27 22:07:53 +03:00
Tony Garnock-Jones 356ff74058 Experimentally (?) use fromJS in stringify 2022-02-09 15:03:36 +01:00
Tony Garnock-Jones d9ee80093b Repair stringifyEmbeddedWrite 2022-01-26 16:41:16 +01:00
Tony Garnock-Jones 574209966b Better stringification 2022-01-26 16:03:13 +01:00
Tony Garnock-Jones 0129901dab Javascript pretty-printer 2022-01-26 14:15:35 +01:00
Tony Garnock-Jones e4792ddccd Improve protocols for (de)coding JS/Preserves somewhat 2022-01-22 23:38:02 +01:00
Tony Garnock-Jones 2721ce81c4 Repair lexicographic ordering among Bytes instances, which in turn repairs canonicalizing binary output, which in turn fixes the tests now there's just been a very long test name symbol added. 2022-01-13 23:30:28 +01:00
Tony Garnock-Jones 3cc875bce3 Handle no-whitespace-after-a-number 2022-01-12 02:02:11 +01:00
Tony Garnock-Jones 2ff4e88822 Repair error in encoder contents extraction. 2021-12-09 21:25:27 +01:00
Tony Garnock-Jones 5a0fbeb1b5 Export JS Symbol, in case of aliasing in a schema 2021-12-09 18:35:17 +01:00
Tony Garnock-Jones f2d9b68329 Slightly nicer embedded-value printing 2021-12-09 18:34:54 +01:00
Tony Garnock-Jones 4afc6d4c94 Repair error in merge 2021-09-10 15:47:16 +02:00
Tony Garnock-Jones 498c63ef67 Repair embedded reading; and preserve annotations in generic embedded values 2021-06-01 16:46:23 +02:00
Tony Garnock-Jones 2559a4713f Much improved refactoring/repair of metaschema 2021-05-24 00:15:31 +02:00
Tony Garnock-Jones e4a2503899 The Great Renaming: Pointer -> Embedded 2021-05-17 14:54:06 +02:00
Tony Garnock-Jones 8442718f96 Fix module cycles (largely by splitting PointerType in two) 2021-04-25 10:42:21 +02:00
Tony Garnock-Jones e5965fde83 Rename DefaultPointer -> GenericPointer 2021-04-24 22:01:16 +02:00
Tony Garnock-Jones 8c783dbc7d Explicit wrapper for Pointers 2021-04-24 21:59:52 +02:00
Tony Garnock-Jones 9f9514a7e6 Handle pointer type nesting properly 2021-04-22 20:51:48 +02:00
Tony Garnock-Jones 1d73289345 First attempt at a merge() utility 2021-03-23 11:36:11 +01:00
Tony Garnock-Jones ca42ffe832 isCompound 2021-03-17 14:24:41 +01:00
Tony Garnock-Jones 05c7343983 Rename and export asLatin1 2021-03-17 12:56:49 +01:00
Tony Garnock-Jones 178f528bf0 Rearrange Dictionary type parameters for improved Record type inference 2021-03-17 12:20:06 +01:00