const OpSet, OpDel
Batch op names: an op is four strings (name, collection, key, value).
Package store holds GnoRadio's string codecs: records (fields behind a length header, read and changed without decodi...
Package store holds GnoRadio's string codecs: records (fields behind a length header, read and changed without decoding), packed id lists (9 bytes per id, sorted, JSON-ready), base-64 fixed-width numbers, the 8-digit keys and page rows of the data realm, and the Ops builder of data.Batch. It keeps no state: every realm stores these strings in the data realm.
Batch op names: an op is four strings (name, collection, key, value).
Digits are the base-64 digits of record headers and of Num and Fixed, ordered so that fixed-width numbers sort as their values do.
MaxField is the longest field a record holds (3 base-64 digits).
W is the width of one id in a list (ids up to 99,999,999). The padding is spaces and the separator a comma, so "[" + list without its last comma + "]" is already a JSON array: exporting a list costs no per-id work.
Add inserts id into a sorted list; false if already there.
Append returns rec with v added as its last field, without decoding the record ("" is a record of no fields).
AppendFixed appends v in w base-64 digits to b (one append for the usual widths). It panics when v does not fit.
At returns the i-th id of a list.
Count is the number of ids in a list.
Enc writes one id of a list.
Field returns field i of a record ("" past the last field).
Fields unpacks a record.
Fixed writes v in w base-64 digits.
Ints decodes a list.
JSON returns a list as a JSON array.
Limit is a page size: n, or max when n is out of 1..max.
Num reads the w-digit base-64 number at position at of s (one expression for the usual widths: every VM step costs gas).
Pack encodes ids in their order.
Pad writes a number as an 8-digit key, so keys sort as numbers do.
Page returns up to limit ids from offset, from the end when desc.
Rec packs fields into a record (at most 63 fields).
Remove deletes id from a sorted list; false if absent.
Row encodes one key and value of a page: "len:key" + "len:value".
Rows decodes a page of Row strings into its keys and values.
Slot is where record id (from 1) of a chunked collection lives: the key of its chunk of size records and its index there.
TimeKey writes a unix time as a 12-digit key, so keys sort as times do.
With returns rec with field i replaced by v, without decoding the record.
Ops builds the argument of data.Batch: ops = ops.Set(c, k, v).