Add comments, fixes for 0
sentinel
This commit is contained in:
parent
b54e3e6c98
commit
33cf9ea4a2
3 changed files with 36 additions and 5 deletions
|
@ -86,6 +86,9 @@ let Results;
|
|||
* A pair of [inputs, outputs], or 0 for null. This is stored in the search index.
|
||||
* The JavaScript deserializes this into FunctionSearchType.
|
||||
*
|
||||
* Numeric IDs are *ONE-indexed* into the paths array (`p`). Zero is used as a sentinel for `null`
|
||||
* because `null` is four bytes while `0` is one byte.
|
||||
*
|
||||
* An input or output can be encoded as just a number if there is only one of them, AND
|
||||
* it has no generics. The no generics rule exists to avoid ambiguity: imagine if you had
|
||||
* a function with a single output, and that output had a single generic:
|
||||
|
@ -114,6 +117,9 @@ let RawFunctionSearchType;
|
|||
* A single function input or output type. This is either a single path ID, or a pair of
|
||||
* [path ID, generics].
|
||||
*
|
||||
* Numeric IDs are *ONE-indexed* into the paths array (`p`). Zero is used as a sentinel for `null`
|
||||
* because `null` is four bytes while `0` is one byte.
|
||||
*
|
||||
* @typedef {number | [number, Array<RawFunctionType>]}
|
||||
*/
|
||||
let RawFunctionType;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue