73 Commits

Author SHA1 Message Date
Andrea Marco Sartori
76aa756453 Create test for pointers 2022-11-17 23:54:18 +10:00
Andrea Marco Sartori
bb3baca8f5 Update parsing expectation 2022-11-17 23:53:54 +10:00
Andrea Marco Sartori
da7b20e489 Add dataset for single pointers 2022-11-17 23:52:34 +10:00
Andrea Marco Sartori
3e9da676ce Fix logic to check if a token should be buffered 2022-11-17 23:51:49 +10:00
Andrea Marco Sartori
bf1ef5cad7 Define logic to mutate the state inside tokens 2022-11-17 23:49:26 +10:00
Andrea Marco Sartori
acde9f4572 Reduce number of token instances 2022-11-14 18:44:48 +10:00
Andrea Marco Sartori
91d89c7209 Rename fixtures 2022-11-14 18:43:01 +10:00
Andrea Marco Sartori
8197d9b77b Rename node to key 2022-11-13 17:10:31 +10:00
Andrea Marco Sartori
183c8ba982 Move JSON fixtures 2022-11-13 17:08:57 +10:00
Andrea Marco Sartori
1852148343 Remove implicit requirement 2022-11-11 17:03:29 +10:00
Andrea Marco Sartori
ab11f4e416 Add factory method to parser 2022-11-10 21:45:56 +10:00
Andrea Marco Sartori
a5146b2ef6 Add checks for unicode characters 2022-11-08 22:09:06 +10:00
Andrea Marco Sartori
1d85f387d7 Update description 2022-11-08 22:03:45 +10:00
Andrea Marco Sartori
255b5633c8 Rename method 2022-11-08 00:17:17 +10:00
Andrea Marco Sartori
78c8531879 Create tests 2022-11-07 23:45:07 +10:00
Andrea Marco Sartori
61522f9561 Fix parsing issues 2022-11-07 23:44:57 +10:00
Andrea Marco Sartori
58a77ffb85 Move yielding logic to main method to read array keys properly 2022-11-06 01:08:25 +10:00
Andrea Marco Sartori
f08fff6f54 Handle unset keys 2022-11-06 01:06:49 +10:00
Andrea Marco Sartori
c32080c344 Add method to check whether JSON root is traversed 2022-11-06 01:06:25 +10:00
Andrea Marco Sartori
870e83cd39 Define method to register sources statically 2022-11-06 01:05:00 +10:00
Andrea Marco Sartori
2de167e29b Fix token type 2022-11-06 01:03:21 +10:00
Andrea Marco Sartori
87a99785b3 Add support for custom sources 2022-11-06 01:03:03 +10:00
Andrea Marco Sartori
2472101670 Extract tokenization logic 2022-11-06 01:02:09 +10:00
Andrea Marco Sartori
ed1ec102e2 Update description and suggestion 2022-11-06 00:42:45 +10:00
Andrea Marco Sartori
fb71726405 Remove nullable declaration from mixed type 2022-10-29 18:34:06 +10:00
Andrea Marco Sartori
94667ba3e3 Make tokens stringable 2022-10-29 18:33:28 +10:00
Andrea Marco Sartori
2ec4bbe58b Call factory method 2022-10-29 18:29:04 +10:00
Andrea Marco Sartori
1772eb3e37 Use closure for error handling 2022-10-29 18:28:21 +10:00
Andrea Marco Sartori
c72f4a6313 Auto-load helpers 2022-10-29 18:27:43 +10:00
Andrea Marco Sartori
a08a048061 Throw exception when registering an invalid source 2022-10-29 17:59:19 +10:00
Andrea Marco Sartori
a26ebd8ae8 Support any JSON source by default 2022-10-29 17:04:39 +10:00
Andrea Marco Sartori
1ec7b9af1b Implement sources 2022-10-29 17:04:02 +10:00
Andrea Marco Sartori
59db54f689 Avoid multi-byte function 2022-10-29 17:03:51 +10:00
Andrea Marco Sartori
820b485113 Implement trait to detect endpoints 2022-10-29 17:02:41 +10:00
Andrea Marco Sartori
0f78f3c6e6 Create exceptions 2022-10-29 17:01:57 +10:00
Andrea Marco Sartori
60f2405729 Update dependencies 2022-10-29 17:01:42 +10:00
Andrea Marco Sartori
80f85ca059 Handle tokens while parsing 2022-10-17 18:18:32 +02:00
Andrea Marco Sartori
4c9d635add Implement tokens 2022-10-17 18:17:28 +02:00
Andrea Marco Sartori
62fd711450 Define specific return type 2022-10-16 02:19:40 +02:00
Andrea Marco Sartori
19a64d30c2 Move related logic to the state value object 2022-10-16 02:11:34 +02:00
Andrea Marco Sartori
a29c397b21 Redefine token 2022-10-16 02:10:14 +02:00
Andrea Marco Sartori
1bd69611b6 Create double-quote token 2022-10-16 02:09:51 +02:00
Andrea Marco Sartori
5329d51bc1 Implement pointers 2022-10-16 02:09:11 +02:00
Andrea Marco Sartori
e42ff04cda Introduce tokens map 2022-10-16 02:08:32 +02:00
Andrea Marco Sartori
d2b8a8f6be Make the error callback callable 2022-10-16 02:07:41 +02:00
Andrea Marco Sartori
4e33e5d247 Let tree traverse arrays 2022-09-21 01:56:57 +02:00
Andrea Marco Sartori
46fbfc73fb Add state to expect object keys 2022-09-21 01:56:24 +02:00
Andrea Marco Sartori
e50c8f023e Implement parser 2022-09-21 01:55:47 +02:00
Andrea Marco Sartori
d0dfbedbb5 Always match the JSON tree 2022-09-21 01:55:25 +02:00
Andrea Marco Sartori
2a811cec4d Make pointer accessible as an array 2022-09-21 01:55:01 +02:00