ol.sfv.impl

token

(token s)

token?

(token? x)

decimal

(decimal x)

decimal?

(decimal? x)

integer

(integer n)

integer?

(integer? x)

string

(string s)

string?

(string? x)

dstring

(dstring s)

dstring?

(dstring? x)

bytes

(bytes b)

bytes?

(bytes? x)

bool

(bool b)

bool?

(bool? x)

date

(date secs)

date?

(date? x)

params

(params & kvs)

param-get

(param-get ps k)

param-keys

(param-keys ps)

item

(item bare)
(item bare ps)

item?

(item? x)

item-bare

(item-bare i)

item-params

(item-params i)

inner-list

(inner-list items)
(inner-list items ps)

inner-list?

(inner-list? x)

inner-items

(inner-items il)

inner-params

(inner-params il)

sf-list

(sf-list members)

sf-list?

(sf-list? x)

list-members

(list-members l)

sf-dict

(sf-dict entries)

sf-dict?

(sf-dict? x)

dict-keys

(dict-keys d)

dict-get

(dict-get d k)

dict→pairs

(dict->pairs d)

flag

(flag)
(flag ps)

flag?

(flag? x)

ascii-string

(ascii-string s)

validate-field-line

(validate-field-line s)

Validate field line characters and return position of first invalid character, or nil if valid


init-ctx

(init-ctx s-or-bytes)

eof?

(eof? ctx)

peek-char

(peek-char ctx)

consume-char

(consume-char ctx)

skip-ows

(skip-ows ctx)

skip-sp

(skip-sp ctx)

digit?

(digit? ch)

alpha?

(alpha? ch)

lcalpha?

(lcalpha? ch)

tchar?

(tchar? ch)

token-char?

(token-char? ch)

lc-hexdig?

(lc-hexdig? ch)

hex-digit-value

(hex-digit-value ch)

parse-error

(parse-error ctx reason & {:keys [found expected]})

parse-key

(parse-key ctx)

parse-integer-or-decimal

(parse-integer-or-decimal ctx)

parse-string

(parse-string ctx)

parse-token

(parse-token ctx)

parse-byte-sequence

(parse-byte-sequence ctx)

parse-sfv-boolean

(parse-sfv-boolean ctx)

parse-date

(parse-date ctx)

decode-percent-sequence

(decode-percent-sequence ctx)

Decode a percent-encoded sequence (%XX) into a byte value. Returns [byte new-ctx] or throws parse error.


parse-display-string

(parse-display-string ctx)

parse-bare-item

(parse-bare-item ctx)

parse-parameters

(parse-parameters ctx)

parse-item

(parse-item ctx)

parse-inner-list

(parse-inner-list ctx)

parse-item-or-inner-list

(parse-item-or-inner-list ctx)

parse-list-members

(parse-list-members ctx)

parse-list

(parse-list s-or-bytes)

parse-dict

(parse-dict s-or-bytes)

parse

(parse field-type s-or-bytes)

serialize-integer

(serialize-integer v)

RFC 9651 §4.1.4: Serializing an Integer


serialize-decimal

(serialize-decimal v)

RFC 9651 §4.1.5: Serializing a Decimal


serialize-string

(serialize-string v)

RFC 9651 §4.1.6: Serializing a String


serialize-token

(serialize-token v)

RFC 9651 §4.1.7: Serializing a Token


serialize-byte-sequence

(serialize-byte-sequence v)

RFC 9651 §4.1.8: Serializing a Byte Sequence


serialize-boolean

(serialize-boolean v)

RFC 9651 §4.1.9: Serializing a Boolean


serialize-date

(serialize-date v)

RFC 9651 §4.1.10: Serializing a Date


serialize-display-string

(serialize-display-string v)

RFC 9651 §4.1.11: Serializing a Display String


serialize-bare-item

(serialize-bare-item item)

RFC 9651 §4.1.3.1: Serializing a Bare Item


serialize-key

(serialize-key k)

RFC 9651 §4.1.1.3: Serializing a Key


serialize-parameters

(serialize-parameters params)

RFC 9651 §4.1.1.2: Serializing Parameters


serialize-item

(serialize-item item)

RFC 9651 §4.1.3: Serializing an Item


serialize-inner-list

(serialize-inner-list inner-list)

RFC 9651 §4.1.1.1: Serializing an Inner List


serialize-list

(serialize-list lst)

RFC 9651 §4.1.1: Serializing a List


serialize-dict

(serialize-dict dict)

RFC 9651 §4.1.2: Serializing a Dictionary


serialize

(serialize x)

RFC 9651 §4.1: Serializing Structured Fields


combine-field-lines

(combine-field-lines lines)