protocol
json_lines_protocol
JSON Lines parser and generator protocol.
Availability:
logtalk_load(json_lines(loader))
Author: Paulo Moura
Version: 1:0:0
Date: 2025-05-27
Compilation flags:
static
Dependencies:
(none)
Remarks:
(none)
Inherited public predicates:
(none)
Public predicates
parse/2
Parses the JSON Lines contents read from the given source (file(Path)
, stream(Stream)
, line(Stream)
, codes(Codes)
, chars(Chars)
, or atom(Atom)
) into a list of ground terms.
Compilation flags:
static
Template:
parse(Source,Terms)
Mode and number of proofs:
parse(++compound,--list(ground))
- one_or_error
Exceptions:
Source
is a variable:instantiation_error
Source
is neither a variable nor a valid source:domain_error(json_lines_source,Source)
generate/2
Generates the content using the representation specified in the first argument (file(Path)
, stream(Stream)
, codes(Codes)
, chars(Chars)
, or atom(Atom)
) for the list of ground terms in the second argument.
Compilation flags:
static
Template:
generate(Sink,Terms)
Mode and number of proofs:
generate(+compound,++list(ground))
- one_or_error
Exceptions:
Sink
is a variable:instantiation_error
Terms
is a variable:instantiation_error
Terms
is neither a variable nor a list:type_error(list,Terms)
Term
is a non-ground element of the list Terms
:instantiation_error
Term
is an element of the list Terms
but not a valid JSON term:domain_error(json_term,Term)
Sink
cannot be generated:domain_error(json_lines_sink,Sink)
Protected predicates
(none)
Private predicates
(none)
Operators
(none)