Filler takes a value from a query parameter and plugs it into the appropriate slot in the proper model for an index. It is responsible for doing whatever conversion is needed to translate from a string to the appropriate type for the index.
Filter is a function that takes an index, does stuff with it, and returns another index
All returns a filter that returns an index tha contains items that pass all the filters.
Any returns a filter that returns an index that contains items that pass any of the filters. There may be duplicate items.
Eq returns a filter that will keep all the items that are equal to the current comparators.
Gt returns a filter that will keep all the items that are greater-than the current comparators
Gte returns a filter that will keep all the items that are greater than or equal to the current comparators
Limit returns a filter that returns the first n items
Lt returns a filter that will keep all items that are less than the current comparators
Lte returns a filter that will keep all the items that are less than or equal to the current comparators.
Native returns a filter that will sort an Index based on key order.
Ne returns a filter that will keep all the items that are not equal to the current comparators.
Offset returns a filter that returns all but the first n items
Resort sorts the index with the same function passed in to the most recent Sort filter.
Reverse returns a filter that will reverse an index.
Select returns a filter that picks all items that match the passed Test. It does not rely on the Index being sorted in any particular order.
Subset returns a filter that will sort an index based on the lower bound test and the upper bound tests, which correspond to the gte and gt functions that SetComparators takes.
Index declares a struct field that can be indexed for a given Model, along with the function that should be used to sort things in key order. Unless otherwise indicated, any methods that act on an Index return a new Index with its own reference to indexed items.
New returns a new Index that is populated with a copy of the passed-in objs.
Items returns the current items the index has filtered.
Less is a function that tests to see if the first item is less than the second item.
Maker is used to hold reference functions for a specific index on a specific struct. The functions are:
Less, which compares one item in the index with another, and returns true if it is. It is used to sort values in the index.
Tests, which takes an example item of the type indexed with the appropriate reference field filled in. It returns a pair of functions that satisfy the constraints of the SetComparators filter and the Subset filter.
Fill, which takes a string from a query parameter and turns it into a models.Model that has the appropriate slot filled.
Make takes a Less function, a TestMaker function, and a Filler function and returns a Maker. t is a textual type identifier for docs/helps
Tester is a function that tests to see if an item matches a condition
TestMaker is a function that takes a reference object and spits out appropriate Tests for gte and gt, in that order.