Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
143 commits
Select commit Hold shift + click to select a range
460e55c
Initial work on XML support.
01mf02 Feb 8, 2025
a710b29
Read XML files in jaq.
01mf02 Feb 14, 2025
b878103
Add missing files.
01mf02 May 22, 2025
054321c
Merge branch 'main' into xml
01mf02 May 22, 2025
a619be0
Make new & simpler XML parser.
01mf02 May 26, 2025
666ba5a
XML value printing.
01mf02 May 27, 2025
9f9bd1c
Remove old XML parser.
01mf02 May 27, 2025
a508004
Expose `Map` type.
01mf02 May 27, 2025
bffafef
Separate XML value conversion from printing.
01mf02 May 27, 2025
6e8ce9d
XML output!
01mf02 May 28, 2025
12ef5eb
Clippy.
01mf02 May 29, 2025
70d7971
Remove quick-xml.
01mf02 May 29, 2025
aa11092
Do not try to handle HTML.
01mf02 Jun 2, 2025
b31c13f
Format.
01mf02 Jun 2, 2025
88a75e3
Error handling for XML parsing!
01mf02 Jun 2, 2025
8ee10ff
Report error for unclosed DOCTYPE.
01mf02 Jun 2, 2025
62c0ce2
Serialise remaining kinds of JSON values to XML.
01mf02 Jun 2, 2025
83aeab1
More liberal invalid data errors.
01mf02 Jun 2, 2025
40a28b7
Serialisation errors!
01mf02 Jun 2, 2025
eaa3dc5
Remove jaq-core dependency.
01mf02 Jun 2, 2025
a712024
Rename jaq-xml to jaq-formats.
01mf02 Jun 2, 2025
3bbd3a6
Write a little README for format support.
01mf02 Jun 2, 2025
1649eee
Add missing `lib.rs`.
01mf02 Jun 2, 2025
c38b6b8
Make a few subfunctions for XML conversion.
01mf02 Jun 2, 2025
6f9b2be
More on XML.
01mf02 Jun 5, 2025
956506c
Move `extern crate alloc`.
01mf02 Jun 5, 2025
767ad7d
Reformat.
01mf02 Jun 5, 2025
b7301f2
Simplify `--join-output` handling.
01mf02 Jun 5, 2025
df8259b
Add dependendy on `saphyr-parser`.
01mf02 Jun 5, 2025
d6d42ea
Add YAML parser!
01mf02 Jun 5, 2025
54e0fe0
Alias for boxed errors.
01mf02 Jun 5, 2025
b4a4b08
`std::io` -> `io`.
01mf02 Jun 5, 2025
a546255
YAML I/O.
01mf02 Jun 5, 2025
9e38bf9
Thank you, Clippy!
01mf02 Jun 5, 2025
223f9f4
Unused use.
01mf02 Jun 5, 2025
fc39fa1
Add yaml to list of supported formats.
01mf02 Jun 5, 2025
8a35c1d
Make XML/YAML loading lazier.
01mf02 Jun 5, 2025
0544262
Update to saphyr 0.0.5 for lower MSRV.
01mf02 Jun 10, 2025
c5dc04b
Hide concrete lexer error types.
01mf02 Jun 10, 2025
99ccb29
Merge jaq-formats into jaq-json.
01mf02 Jun 10, 2025
e3c652a
Start work on BigInt support.
01mf02 Jul 8, 2025
eb17f40
Test BigInt with Fibonacci.
01mf02 Jul 8, 2025
dfb3bbd
Continue BigInt work, move `Num` to own type and module.
01mf02 Jul 8, 2025
07225b8
Clippy.
01mf02 Jul 10, 2025
a44bbf0
Actually compare numbers.
01mf02 Jul 10, 2025
b6b695a
Correct modulus operation.
01mf02 Jul 10, 2025
04ef027
Round to integers larger than `isize`.
01mf02 Jul 15, 2025
8213c55
Merge `paths` into `bigint`.
01mf02 Jul 21, 2025
b1f5186
Merge `bigint` into `paths` and make it compile.
01mf02 Jul 22, 2025
3521772
Document parsers.
01mf02 Jul 22, 2025
cfe5cc7
Update `saphyr-parser` to 0.0.6.
01mf02 Jul 22, 2025
9917d95
Add `ciborium` for CBOR support.
01mf02 Jul 22, 2025
f9ecae8
Implement `Hash` for `Num`.
01mf02 Jul 21, 2025
2436718
Basic CBOR parsing support!
01mf02 Jul 22, 2025
23574a9
Implement `Hash` for `Val`.
01mf02 Jul 23, 2025
97e1df3
Support arbitrary keys in YAML parser.
01mf02 Jul 23, 2025
f362702
Enable arbitrary object keys!
01mf02 Jul 23, 2025
42434d3
Support maps/objects in CBOR.
01mf02 Jul 23, 2025
ac09aa3
Merge paths into bigint.
01mf02 Jul 23, 2025
9d93972
`serde_json` conversion.
01mf02 Jul 23, 2025
e355a49
Adapt tests for objects with non-string keys.
01mf02 Jul 23, 2025
60156a0
Merge `bigint` into `xml`.
01mf02 Jul 23, 2025
b6c2b4a
Merge `paths` into `bigint`.
01mf02 Jul 23, 2025
60cf9fb
Merge `bigint` into `xml`.
01mf02 Jul 23, 2025
6f46062
Big integer support for CBOR.
01mf02 Jul 23, 2025
5dc3b41
Add binary data support!
01mf02 Jul 24, 2025
65ff85b
Adapt playground value colors.
01mf02 Jul 24, 2025
c715cac
Merge `bigint` into `xml` for binary data support.
01mf02 Jul 24, 2025
612d533
Parse binary data from CBOR.
01mf02 Jul 24, 2025
6b9db28
Parse binary data from YAML.
01mf02 Jul 24, 2025
f27ea13
Convert binary data to `serde_json::Value`.
01mf02 Jul 24, 2025
28a5be0
Merge bigint into xml.
01mf02 Jul 24, 2025
fd75a53
Load and write binary data.
01mf02 Jul 25, 2025
781b0d3
Parse CBOR data from stdin.
01mf02 Jul 25, 2025
d0e151c
Encode output as CBOR.
01mf02 Jul 25, 2025
7695780
Add example for XML processing.
01mf02 Jul 25, 2025
76a1d26
Document.
01mf02 Jul 25, 2025
149b5de
Create CBOR decoding test suite and catch an actual error.
01mf02 Jul 25, 2025
e72a8e9
Allow parsing of non-string keys in JSON.
01mf02 Jul 26, 2025
6fd1f09
Use `ryu` for faster float printing.
01mf02 Jul 26, 2025
ab1cc6a
Print binary data as YAML value.
01mf02 Jul 26, 2025
f965a32
Merge `paths` into `bigint`.
01mf02 Jul 26, 2025
365b0c0
Merge `bigint` into `xml`.
01mf02 Jul 26, 2025
bff1617
TOML decoding!
01mf02 Jul 26, 2025
ee806f8
Add bouncing ball example.
01mf02 Jul 28, 2025
c8e59a1
Map TOML date-time values to strings.
01mf02 Jul 28, 2025
28f51eb
Parse sequence of CBOR values.
01mf02 Aug 1, 2025
e0987d8
Trinitary strings.
01mf02 Jul 28, 2025
c795068
Escape more control characters.
01mf02 Aug 5, 2025
3f5fce6
Split out serde_json, continue work on trinitary strings.
01mf02 Aug 5, 2025
cd64c7b
Escape more control characters in binary output.
01mf02 Aug 6, 2025
cff53b7
Update ball example for more realistic physics, thanks to Gerald Fux.
01mf02 Aug 6, 2025
053fda9
Print byte strings with `\xXX`.
01mf02 Aug 6, 2025
3e2a910
Accept invalid UTF-8 in strings.
01mf02 Aug 6, 2025
9d92d04
Add test for UTF-16 surrogate pairs / non-string keys.
01mf02 Aug 6, 2025
e5abc54
Type chess and formatting.
01mf02 Aug 7, 2025
617896a
Pass CLI to filters, to allow REPL to consider it.
01mf02 Aug 7, 2025
ba36515
Make JSON output compatible with invalid UTF-8 strings.
01mf02 Aug 7, 2025
03e3665
More efficient number hashing.
01mf02 Aug 8, 2025
4612020
Make fuzz target compile again.
01mf02 Aug 8, 2025
bcb9138
Satisfy clippy.
01mf02 Aug 8, 2025
3c525c8
Implement `byteoffset` filter.
01mf02 Aug 11, 2025
772c994
Relax string comparison filters (e.g. `starts_with`), rename functions.
01mf02 Aug 11, 2025
2c4fb65
Make `--rawfile` use memory-mapping and accept non-UTF-8 input.
01mf02 Aug 12, 2025
dea103f
Simplify signature for `json_read`.
01mf02 Aug 13, 2025
9f57607
Unify parser functions.
01mf02 Aug 13, 2025
cde349e
Document `--from` and `--to` flags.
01mf02 Aug 13, 2025
3a96828
Ignore string tag on equality check.
01mf02 Aug 13, 2025
0a96384
Filters for format parsing / serialising, YAML writing.
01mf02 Aug 13, 2025
4ade555
Determine terminal-ness from stdout, not stdin.
01mf02 Aug 14, 2025
fddefeb
Make tests compile again.
01mf02 Aug 14, 2025
c3b8cb6
Thank you, clippy!
01mf02 Aug 14, 2025
0bf1a97
Documentation.
01mf02 Aug 14, 2025
8bd9395
Make `explode` / `implode` deal with invalid bytes.
01mf02 Aug 15, 2025
966b02b
Integrate @Maxdamantus's feedback for `explode` / `implode`.
01mf02 Aug 15, 2025
f1b5234
Error handling for `tobytes`.
01mf02 Sep 3, 2025
ccc09f7
Generalise `byteoffset` and move to jaq-std.
01mf02 Sep 3, 2025
564f2e3
Formatting.
01mf02 Sep 4, 2025
ce2f9f9
Correctly format first array element.
01mf02 Sep 4, 2025
3286e5a
Color binary strings and print NaN & infinity in YAML.
01mf02 Sep 4, 2025
cd9470c
Output error for unknown tags in YAML.
01mf02 Sep 4, 2025
3efd999
Remove "yes", "no", "on", "off" from YAML parser.
01mf02 Sep 4, 2025
91054c2
Properly implement single-document YAML parsing.
01mf02 Sep 5, 2025
a0b4ed5
Make string check/conversion functions public.
01mf02 Sep 5, 2025
7301967
Print objects with non-string keys with space between ':' and value.
01mf02 Sep 5, 2025
50f1f7d
Make `tojson`/`toyaml` preserve invalid UTF-8.
01mf02 Sep 5, 2025
8e96c2d
YAML tests.
01mf02 Sep 5, 2025
7eb837b
Move writing macros to own module, document design decisions.
01mf02 Sep 6, 2025
c849d8a
Format.
01mf02 Sep 6, 2025
4955ed5
Test that YAML writing preserves invalid UTF-8.
01mf02 Sep 6, 2025
474eb20
Make `fromjson`/`fromcbor`/... return stream of values.
01mf02 Sep 7, 2025
31214a7
Print special floats (e.g. NaN, Infinity) like JavaScript.
01mf02 Sep 8, 2025
72ebe4e
Split format-specific filters into own module.
01mf02 Sep 8, 2025
7bc432b
Preserve invalid UTF-8 in `"\(.)"`.
01mf02 Sep 8, 2025
68c0b43
Make `jaq-json` depend on `std` unconditionally.
01mf02 Sep 8, 2025
b54ef30
Correct XML PI output, make a few types public, and create test data.
01mf02 Sep 8, 2025
a00dfcb
Add XML tests; move CBOR tests.
01mf02 Sep 9, 2025
24388a5
Make XML output preserve invalid UTF-8.
01mf02 Sep 9, 2025
ee41671
Avoid lossy UTF-8 conversions in jaq-std.
01mf02 Sep 9, 2025
21181b8
Fail for all non-UTF-8 strings in TOML.
01mf02 Sep 9, 2025
21d0abe
Handle TOML analogously to XML.
01mf02 Sep 9, 2025
d87d216
Allow indexing strings/arrays with an index > isize::MAX.
01mf02 Sep 9, 2025
57ed5ea
Thanks, clippy!
01mf02 Sep 10, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
196 changes: 175 additions & 21 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 3 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,6 @@ resolver = "2"
[profile.release]
strip = true
codegen-units = 1

[patch.crates-io]
regex-lite = { git = 'https://github.com/01mf02/regex', package = 'regex-lite', branch = 'bytes' }
Loading