Commit graph

719 commits

Author SHA1 Message Date
alisdair sullivan
cff4d17561 substantial refactoring of api and decoder internals 2010-06-20 17:00:08 -07:00
alisdair sullivan
4286892861 new interruptable api, examples broken for the hojillionth time 2010-06-11 21:57:42 -07:00
alisdair sullivan
e690d7723a first pass at new api 2010-06-11 18:14:24 -07:00
alisdair sullivan
813058e2fb changed end_of_json to end_json 2010-06-10 20:32:15 -07:00
alisdair sullivan
e245d8aa92 tightened up options allowed 2010-06-09 06:21:03 -07:00
alisdair sullivan
f042908c30 reworked api, renamed decoder to parser, added types and function specs for exported functions 2010-06-09 00:57:15 -07:00
alisdair sullivan
1dad27d1f0 removed dummy file 2010-06-08 20:21:59 -07:00
alisdair sullivan
0d7a6f9720 fixed embarassing non-termination bug 2010-06-08 20:21:18 -07:00
alisdair sullivan
d25f96f798 merged in unified decoder branch 2010-06-07 16:21:22 -07:00
alisdair sullivan
eb55eb9599 all five utfx variants supported now compiled from a single templated module 2010-06-07 16:15:40 -07:00
alisdair sullivan
5460796e33 changed end of stream token 2010-06-07 16:10:29 -07:00
alisdair sullivan
fb497a20bc added a streaming mode, use option [{stream_mode, true}] to use. no tests yet 2010-06-06 13:58:04 -07:00
alisdair sullivan
152c2ec75f added decode function to jsx.erl 2010-06-05 07:49:55 -07:00
alisdair sullivan
a3ab6ca9fc refactored utf16 and utf32 (little and big variants) so only the module name and a few defines have to be changed to ease further refactoring, also fixed binary optimizations 2010-06-04 23:50:53 -07:00
alisdair sullivan
028e8a0b99 updated error returns from all decoders 2010-06-03 00:11:05 -07:00
alisdair sullivan
fbbfc3bebb changed error reporting for utf8 decoder, utf16 and utf32 variants currently throwing untrapped errors 2010-06-02 23:42:05 -07:00
alisdair sullivan
ad0b87aa37 readme updated 2010-06-02 23:02:45 -07:00
alisdair sullivan
3453c5ab2e reexported detect_encoding from jsx.erl, remembered why it was exported 2010-06-02 21:54:25 -07:00
alisdair sullivan
0de4a87325 unexported detect_encoding from jsx.erl 2010-06-02 21:52:41 -07:00
alisdair sullivan
ef952ceee8 converted jsx_test to etap, fixed resulting bugs with autodetection 2010-06-01 23:33:56 -07:00
alisdair sullivan
7c2c0596c7 fixed swap of two variables 2010-06-01 20:57:58 -07:00
alisdair sullivan
d7140dd6c2 better decoding of surrogates encoded in json strings 2010-06-01 20:45:31 -07:00
alisdair sullivan
ce503823c8 fixed bug related to partial utfx sequences 2010-06-01 19:42:43 -07:00
alisdair sullivan
fbf6c30c53 fixed bug that prevented termination and bug that allowed 1. as a valid value 2010-06-01 02:31:07 -07:00
alisdair sullivan
a7ed14b741 utf8, both varieties of utf16 and both varieties of utf32 are now autodetected properly (either via bom or null order) and decoded properly 2010-06-01 01:28:42 -07:00
alisdair sullivan
af3d9673a1 changed comments_true to comments_enabled, again 2010-05-31 21:03:04 -07:00
alisdair sullivan
46d859c6d0 restrict escaped codepoint conversion from inserting invalid codepoints into strings 2010-05-31 21:03:04 -07:00
alisdair sullivan
2cf20cf809 formatting 2010-05-31 21:03:04 -07:00
alisdair sullivan
c7ea7a6f08 fixed parsing error related to interrupted utf-8 seqences 2010-05-31 21:03:04 -07:00
alisdair sullivan
2bc885f3c4 correctly catch and convert badjson errors 2010-05-31 21:03:04 -07:00
alisdair sullivan
ac518dfe4a decoder now catches function clause errors and converts them to {error, badjson} tuples 2010-05-31 21:03:04 -07:00
alisdair sullivan
c29f60ea34 changed end of tokenizing marker 2010-05-31 21:03:04 -07:00
alisdair sullivan
eadb7acbdd change in design philosophy, core decoder and interface now a single file 2010-05-31 21:02:58 -07:00
alisdair sullivan
97520b06ae changed comments_true macro to comments_enabled 2010-05-31 21:00:20 -07:00
alisdair sullivan
c25ad16f13 possible new api 2010-05-31 21:00:20 -07:00
alisdair sullivan
60943446c0 now ethically opposed to special casing forced termination. users can just append whitespace 2010-05-31 21:00:20 -07:00
alisdair sullivan
2a2275136a Removed all records from the core decoder. Replaced with macros and a raw tuple containing options. Updated one test to account for changed api. 2010-05-31 21:00:20 -07:00
alisdair sullivan
6d90c49be3 punt validity of naked values to user level, they are now always valid in decoding 2010-05-31 21:00:20 -07:00
alisdair sullivan
6e16ce0943 allow unknown options temporarily
fixed warning
2010-05-31 21:00:17 -07:00
alisdair sullivan
7e6124fc88 explicit termination is no longer an option. the decoder now terminates whenever it reaches the end of an unambiguous json term and returns a function that accepts either more input to continue decoding or the empty binary to force termination.
examples are currently broken, but the test suite has been updated to reflect the new api.
2010-05-31 21:00:16 -07:00
alisdair sullivan
06ded56939 reordered some clauses, removed superfluous binary types 2010-05-31 21:00:16 -07:00
alisdair sullivan
6deb3160ba changed end of parsing token from eof to completed_parse 2010-05-31 21:00:16 -07:00
alisdair sullivan
1c5f54574c reduced redundancy in callback handling, also renamed callback function to the more clear fold 2010-05-31 21:00:16 -07:00
alisdair sullivan
7d5ccfd86f removed the default callback handler, replaced it with an anonymous function. also added a shortcut for a decoder with the default handler but custom opts 2010-05-31 21:00:16 -07:00
alisdair sullivan
86333b8e7f did you know the module definition must be the first non-whitespace, non-comment line in a module? i did not 2010-05-31 21:00:16 -07:00
alisdair sullivan
feaef7380c changed api of jsx_parser 2010-05-31 21:00:06 -07:00
alisdair sullivan
8e05d0c1a6 added license/copywrite to all code 2010-05-31 21:00:06 -07:00
alisdair sullivan
41292d4077 comments on tail_clean 2010-05-31 21:00:06 -07:00
alisdair sullivan
1e476f1797 changed handling of explicit termination to be more efficient 2010-05-31 21:00:06 -07:00
alisdair sullivan
e9ddde9fb7 removed redundant initialization function, pushed to api level 2010-05-31 21:00:06 -07:00