2011-08-31 18:52:01 -07:00
|
|
|
-type jsx_opts() :: [jsx_opt()].
|
2011-09-14 06:45:51 -07:00
|
|
|
-type jsx_opt() :: loose_unicode
|
|
|
|
| escape_forward_slashes.
|
2011-08-31 18:52:01 -07:00
|
|
|
|
2010-08-04 22:24:50 -07:00
|
|
|
|
2011-08-31 18:52:01 -07:00
|
|
|
-type jsx_event() :: start_object
|
|
|
|
| end_object
|
|
|
|
| start_array
|
|
|
|
| end_array
|
|
|
|
| end_json
|
|
|
|
| {key, list()}
|
|
|
|
| {string, list()}
|
|
|
|
| {integer, integer()}
|
|
|
|
| {float, float()}
|
|
|
|
| {literal, true}
|
|
|
|
| {literal, false}
|
|
|
|
| {literal, null}.
|
2010-08-25 21:28:13 -07:00
|
|
|
|
|
|
|
|
2011-08-31 18:52:01 -07:00
|
|
|
-type jsx_encodeable() :: jsx_event() | [jsx_encodeable()].
|
2010-08-04 22:24:50 -07:00
|
|
|
|
|
|
|
|
2011-08-31 18:52:01 -07:00
|
|
|
-type jsx_iterator() :: jsx_scanner() | jsx_tokenizer().
|
|
|
|
|
|
|
|
|
|
|
|
-type jsx_scanner() :: fun((binary()) -> jsx_iterator_result()).
|
|
|
|
|
|
|
|
|
|
|
|
-type jsx_tokenizer() :: fun((jsx_encodeable()) -> jsx_iterator_result()).
|
|
|
|
|
|
|
|
|
|
|
|
-type jsx_iterator_result() ::
|
|
|
|
{jsx, jsx_event(), fun(() -> jsx_iterator_result())}
|
|
|
|
| {jsx, [jsx_event()], fun(() -> jsx_iterator_result())}
|
|
|
|
| {jsx, incomplete, jsx_iterator()}
|
|
|
|
| {error, {badjson, any()}}.
|