Commit Graph

  • 3cda37e371 Install Mockery Andrea Marco Sartori 2023-02-25 20:30:06 +10:00
  • 8755cbcb6e Add spacing Andrea Marco Sartori 2023-02-06 18:18:50 +10:00
  • 23f1b6906f Add fixture helper Andrea Marco Sartori 2023-02-06 18:18:14 +10:00
  • f103138ddf Restore Tokenizer Andrea Marco Sartori 2023-02-06 18:16:52 +10:00
  • 1d7a20499a Restore Tokenizer Andrea Marco Sartori 2023-02-06 18:16:31 +10:00
  • 79656e3f55 Improve explanation Andrea Marco Sartori 2023-02-05 16:12:33 +10:00
  • f585d2bb64 Decode only strings Andrea Marco Sartori 2023-02-05 16:11:36 +10:00
  • 63786a33c8 Call method directly Andrea Marco Sartori 2023-02-05 16:10:46 +10:00
  • 589b5e2e18 Update README Andrea Marco Sartori 2023-02-01 22:25:13 +10:00
  • e7b93f108f Optimize function call Andrea Marco Sartori 2023-02-01 19:49:00 +10:00
  • 49a315d22c Splice tree only when needed Andrea Marco Sartori 2023-02-01 19:15:37 +10:00
  • 6710ef4415 Move Tokenizer logic to Lexer to improve speed Andrea Marco Sartori 2023-01-24 17:32:39 +10:00
  • 898e1feff0 Optimize native function calls Andrea Marco Sartori 2023-01-24 17:30:13 +10:00
  • 18ea75da4b Optimize time consumption Andrea Marco Sartori 2023-01-23 20:13:01 +10:00
  • b74045e9e3 Fix style Andrea Marco Sartori 2023-01-22 09:55:28 +10:00
  • 403abb8859 Implement progress Andrea Marco Sartori 2023-01-22 09:49:24 +10:00
  • 9f5e808962 Retrieve matching source when size is requested Andrea Marco Sartori 2023-01-22 09:49:16 +10:00
  • a3f24d3e96 Ensure size is calculated once Andrea Marco Sartori 2023-01-22 09:47:38 +10:00
  • 7b7e3af470 Update README Andrea Marco Sartori 2023-01-19 20:47:47 +10:00
  • 61d60c38f3 Update README Andrea Marco Sartori 2023-01-19 20:42:55 +10:00
  • 89fce387e9 Update README Andrea Marco Sartori 2023-01-19 20:27:42 +10:00
  • a3a63d36e8 Set default configuration if none is provided Andrea Marco Sartori 2023-01-19 20:01:42 +10:00
  • 0e8130aabf Update README Andrea Marco Sartori 2023-01-19 19:52:52 +10:00
  • c37c2db5c2 Make configuration optional Andrea Marco Sartori 2023-01-19 19:52:34 +10:00
  • 8d52bfb95b Update README Andrea Marco Sartori 2023-01-19 19:16:11 +10:00
  • 61f2102302 Refine decoders Andrea Marco Sartori 2023-01-19 19:16:02 +10:00
  • d8f494172c Add simdjson extension also for static analysis Andrea Marco Sartori 2023-01-19 00:13:39 +10:00
  • 24f40aee8d Downgrade Pest to keep compatibility with PHP 8 Andrea Marco Sartori 2023-01-19 00:09:30 +10:00
  • 47b2e4cfaf Implement the simdjson decoder Andrea Marco Sartori 2023-01-19 00:01:20 +10:00
  • 340768e247 Add simdjson extension Andrea Marco Sartori 2023-01-18 23:59:46 +10:00
  • e956ec9a6c Upgrade to Pest v2 Andrea Marco Sartori 2023-01-18 23:59:08 +10:00
  • d3f4b94a38 Update README Andrea Marco Sartori 2023-01-16 17:00:34 +10:00
  • 5308163097 Pass JSON Parser instance to the traverse callback Andrea Marco Sartori 2023-01-16 17:00:21 +10:00
  • 13255eda6d Update README Andrea Marco Sartori 2023-01-14 17:53:44 +10:00
  • d14a8c4461 Simplify expectation Andrea Marco Sartori 2023-01-14 13:17:15 +10:00
  • e21558c39d Update README Andrea Marco Sartori 2023-01-14 13:13:10 +10:00
  • 6485fe9255 Improve tests Andrea Marco Sartori 2023-01-14 13:13:03 +10:00
  • bdb20ff836 Traverse the parser via method chaining Andrea Marco Sartori 2023-01-14 13:12:49 +10:00
  • 76904d3768 Update README Andrea Marco Sartori 2023-01-14 10:42:59 +10:00
  • 3bc9eab5b0 Improve static analysis Andrea Marco Sartori 2023-01-14 10:31:18 +10:00
  • fbafffaa3c Update README Andrea Marco Sartori 2023-01-14 10:15:59 +10:00
  • b09b738173 Test that indexes are preserved Andrea Marco Sartori 2023-01-14 10:15:25 +10:00
  • 45ed8e9650 Refine callable pointers Andrea Marco Sartori 2023-01-13 23:57:12 +10:00
  • 6d731cdb51 Update README Andrea Marco Sartori 2023-01-13 20:56:14 +10:00
  • f722e41c93 Update README Andrea Marco Sartori 2023-01-13 20:49:59 +10:00
  • dcb39ff7b6 Update README Andrea Marco Sartori 2023-01-12 21:22:34 +10:00
  • 6b0ea331fc Add PSR-7 requests to supported sources Andrea Marco Sartori 2023-01-12 21:13:00 +10:00
  • 114514291e Keep conditions on one line Andrea Marco Sartori 2023-01-12 21:11:12 +10:00
  • 6ddb7fb23e Add command to run static analysis Andrea Marco Sartori 2023-01-11 15:58:27 +10:00
  • 1ec714ab62 Check callable pointer by Closure Andrea Marco Sartori 2023-01-11 15:58:01 +10:00
  • bda12c1f89 Introduce callable pointers Andrea Marco Sartori 2023-01-11 15:35:58 +10:00
  • 0f1f3228a6 Remove condition Andrea Marco Sartori 2023-01-04 16:51:20 +10:00
  • 3a3618a13f Turn Tokenizer into singleton Andrea Marco Sartori 2022-12-29 23:50:07 +10:00
  • 8b39422123 Turn abstract exception into an interface Andrea Marco Sartori 2022-12-29 23:34:23 +10:00
  • 4ae685988f Install dependencies to discover symbols Andrea Marco Sartori 2022-12-29 22:11:56 +10:00
  • 4df6056671 Update code to reach PHPStan max level Andrea Marco Sartori 2022-12-29 22:07:08 +10:00
  • 1a5accca0f Rename job Andrea Marco Sartori 2022-12-29 21:33:41 +10:00
  • 5d30eac49e Install and configure PHPStan Andrea Marco Sartori 2022-12-29 21:32:35 +10:00
  • 20a20ca2dd Define generics for class-string Andrea Marco Sartori 2022-12-24 12:23:23 +10:00
  • 81199371c8 Move logic to pointer Andrea Marco Sartori 2022-12-24 12:03:55 +10:00
  • e8d5099602 Anticipate faster condition Andrea Marco Sartori 2022-12-24 11:26:38 +10:00
  • 99aa404e0e Update matrix Andrea Marco Sartori 2022-12-24 09:08:41 +10:00
  • 6c038e67ab Add PHP 8.2 to the testing matrix Andrea Marco Sartori 2022-12-24 08:57:51 +10:00
  • e0b11f011b Add namespace to helper Andrea Marco Sartori 2022-12-23 21:45:50 +10:00
  • d35f1175d0 Update workflow badge Andrea Marco Sartori 2022-12-21 21:56:58 +10:00
  • c760a5981c Test multiple pointers Andrea Marco Sartori 2022-12-21 19:30:18 +10:00
  • e1450733d1 Match pointer before buffering the token Andrea Marco Sartori 2022-12-21 19:29:54 +10:00
  • e2a28ba93d Leverage strict comparison Andrea Marco Sartori 2022-12-21 19:28:54 +10:00
  • 1f34de5e2b Mark pointer as found Andrea Marco Sartori 2022-12-21 19:28:38 +10:00
  • 8e9e381713 Shorten dataset Andrea Marco Sartori 2022-12-21 19:27:08 +10:00
  • b914eb7cc1 Configure empty-string pointer as default pointer Andrea Marco Sartori 2022-12-08 22:00:22 +10:00
  • 66229aeea4 Allow setting an empty-string pointer Andrea Marco Sartori 2022-12-08 21:52:28 +10:00
  • 00c0bf4a0b Rename decoder Andrea Marco Sartori 2022-12-03 21:23:51 +10:00
  • 77408fec20 Improve types in docblocks Andrea Marco Sartori 2022-12-03 21:21:44 +10:00
  • 1eb1a56164 Remove obsolete methods Andrea Marco Sartori 2022-12-03 21:21:14 +10:00
  • 78a041a56a Remove custom sources registration Andrea Marco Sartori 2022-12-03 21:03:39 +10:00
  • cc1d3f18e7 Access reference tokens instead of the pointer Andrea Marco Sartori 2022-12-03 20:51:23 +10:00
  • ed1def1572 Rename codes Andrea Marco Sartori 2022-12-03 20:41:54 +10:00
  • b92193cda9 Rename decoder Andrea Marco Sartori 2022-12-03 20:32:57 +10:00
  • 54b19eb70b Iterate through the original tree Andrea Marco Sartori 2022-12-03 20:29:47 +10:00
  • ab8c10c05d Centralize state mutation logic Andrea Marco Sartori 2022-12-03 20:27:45 +10:00
  • a758cf570b Rename decoder Andrea Marco Sartori 2022-12-03 19:04:21 +10:00
  • 5e2ee11d5a Simplify parser by delegating extra responsibilities Andrea Marco Sartori 2022-12-03 18:11:22 +10:00
  • ce66f8cef2 Move logic to handle decoding errors Andrea Marco Sartori 2022-12-03 16:37:09 +10:00
  • cc9f4a1725 Rename source Andrea Marco Sartori 2022-12-03 16:24:40 +10:00
  • 419ced2621 Add being in root to conditions to buffer a token Andrea Marco Sartori 2022-12-03 13:51:04 +10:00
  • 690fb2c0bc Move logic to traverse a key to the string token Andrea Marco Sartori 2022-12-03 13:49:55 +10:00
  • 72c61d55cb Simplify logic to check whether to buffer a token Andrea Marco Sartori 2022-12-03 13:36:47 +10:00
  • 1d7d65b051 Improve expectations Andrea Marco Sartori 2022-12-03 13:34:13 +10:00
  • d4b8b5037b Traverse key before buffering token Andrea Marco Sartori 2022-12-02 22:27:49 +10:00
  • fa4e71f111 Move logic to traverse a key to the string token Andrea Marco Sartori 2022-12-02 21:05:55 +10:00
  • 262713b9c3 No need for methods chaining Andrea Marco Sartori 2022-11-30 01:12:31 +10:00
  • cfaf87e554 Move logic to flag that the tree did not change Andrea Marco Sartori 2022-11-30 00:52:07 +10:00
  • 27d1e3f9af Method chaining not needed Andrea Marco Sartori 2022-11-30 00:50:04 +10:00
  • 36f8325604 Rename method Andrea Marco Sartori 2022-11-30 00:38:07 +10:00
  • e81f3594fa Extend logic to mutate the state when needed Andrea Marco Sartori 2022-11-29 21:06:49 +10:00
  • f36a3fb443 Add more use cases Andrea Marco Sartori 2022-11-28 20:56:30 +10:00
  • da5df48779 Improve reference tokens transformation Andrea Marco Sartori 2022-11-28 20:55:25 +10:00
  • 979fdae4ae Replace null pointer Andrea Marco Sartori 2022-11-28 20:54:43 +10:00
  • c57a4782c4 Add escaping logic Andrea Marco Sartori 2022-11-28 20:52:36 +10:00