# Array
Arrays allow you to store elements of a specific type. For example vertices, transactions, users... sd.array will require a sd.Serdes which will be used to encode the items, and a headSd which is a sd.Serdes<number> to encode the number of items in the array.
# Headers
Headers determine the size of the array.
sd.uint8for arrays of length [0, 255].sd.uint16for arrays of length [0, 65 535].sd.uint32for arrays of length [0, 4 294 967 295]
# Usage
Creating a sd.Serdes for points. It can store up to 65 535 items points as defined by headSd of sd.uint16.
const { toBytes, fromBytes } = sd.use(
sd.array(sd.struct({ x: sd.float, y: sd.float }), sd.uint16)
);
# Specifications
[number of items (headSd)][...items (sd)]
The number of items (array.length) will be encoded at the start of the payload using the provided headSd. Then the actual items serialized with sd will follow.