Home › Overview › MainModule
Z
Types
Read type
luau
type Read = (b: buffer, offset: number) -> (any, number)Write type
luau
type Write = (b: buffer, offset: number, value: any) -> numberZType type
Data type
luau
type Data = { [number | string | ZType]: any }SchemaDefinition type
Field type
Schema type
luau
type Schema = {
count: number,
fields: { Field },
keys: { number | string | ZType },
reads: { Read },
writes: { Write },
isList: boolean,
isMap: boolean,
name: string,
read: Read,
write: Write,
maxItems: number?,
readLen: typeof(buffer.readu8)?,
writeLen: typeof(buffer.writeu8)?,
sizeLen: number?,
}Properties
BUFFER
luau
Z.BUFFER: bufferTRIM_STRINGS
luau
Z.TRIM_STRINGS: booleanboolean
luau
Z.boolean: boolnumber
luau
Z.number: f64str8
luau
Z.str8str16
luau
Z.str16str32
luau
Z.str32string
luau
Z.stringbuffer8
luau
Z.buffer8buffer16
luau
Z.buffer16buffer32
luau
Z.buffer32buffer
luau
Z.bufferVector2int16
luau
Z.Vector2int16: Vector2i16Vector3int16
luau
Z.Vector3int16: Vector3i16Functions
some
Wraps a ZType to make it optional, adding 1 byte of overhead.
ser
luau
Z.ser(schema: Schema, obj: any, b: buffer?, offset: number?, maxSize: number?): (buffer? | number?, string?)Serializes a table. Returns a new buffer or the next write offset if a buffer is provided.
des
Deserializes a buffer into a table. The safe flag suppresses errors from incomplete data.
migrate
luau
Z.migrate(old: Schema, new: Schema, b: buffer, change: ((Data) -> Data)?): ((buffer | number)?, string?)Migrates a buffer to a new schema. When provided, the change function's result will be serialized with the new schema.
schema
luau
Z.schema(definition: SchemaDefinition, bits: number?): SchemaCreates a schema for serialization.
schema8
luau
Z.schema8(definition: SchemaDefinition): SchemaCreates a schema with a 8-bit item limit, if it's a list or map schema.
schema16
luau
Z.schema16(definition: SchemaDefinition): SchemaCreates a schema with a 16-bit item limit, if it's a list or map schema.
schema32
luau
Z.schema32(definition: SchemaDefinition): SchemaCreates a schema with a 32-bit item limit, if it's a list or map schema.
bool
read
luau
Z.bool.read(b: buffer, offset: number): (boolean, number)write
luau
Z.bool.write(b: buffer, offset: number, value: boolean): numberbools
read
luau
Z.bools.read(b: buffer, offset: number): ({ boolean }, number)write
luau
Z.bools.write(b: buffer, offset: number, value: { boolean }): numberu8
read
luau
Z.u8.read(b: buffer, offset: number): (number, number)write
luau
Z.u8.write(b: buffer, offset: number, value: number): numberu16
read
luau
Z.u16.read(b: buffer, offset: number): (number, number)write
luau
Z.u16.write(b: buffer, offset: number, value: number): numberu32
read
luau
Z.u32.read(b: buffer, offset: number): (number, number)write
luau
Z.u32.write(b: buffer, offset: number, value: number): numberuint
read
luau
Z.uint.read(b: buffer, offset: number): (number, number)write
luau
Z.uint.write(b: buffer, offset: number, value: number): numberi8
read
luau
Z.i8.read(b: buffer, offset: number): (number, number)write
luau
Z.i8.write(b: buffer, offset: number, value: number): numberi16
read
luau
Z.i16.read(b: buffer, offset: number): (number, number)write
luau
Z.i16.write(b: buffer, offset: number, value: number): numberi32
read
luau
Z.i32.read(b: buffer, offset: number): (number, number)write
luau
Z.i32.write(b: buffer, offset: number, value: number): numberint
read
luau
Z.int.read(b: buffer, offset: number): (number, number)write
luau
Z.int.write(b: buffer, offset: number, value: number): numberf32
read
luau
Z.f32.read(b: buffer, offset: number): (number, number)write
luau
Z.f32.write(b: buffer, offset: number, value: number): numberf64
read
luau
Z.f64.read(b: buffer, offset: number): (number, number)write
luau
Z.f64.write(b: buffer, offset: number, value: number): numberbyte
read
luau
Z.byte.read(b: buffer, offset: number): (string, number)write
luau
Z.byte.write(b: buffer, offset: number, value: string): numberAngle8
read
luau
Z.Angle8.read(b: buffer, offset: number): (number, number)write
luau
Z.Angle8.write(b: buffer, offset: number, value: number): numberAxes
read
luau
Z.Axes.read(b: buffer, offset: number): (Axes, number)write
luau
Z.Axes.write(b: buffer, offset: number, value: Axes): numberBrickColor
read
luau
Z.BrickColor.read(b: buffer, offset: number): (BrickColor, number)write
luau
Z.BrickColor.write(b: buffer, offset: number, value: BrickColor): numberCFrame
read
luau
Z.CFrame.read(b: buffer, offset: number): (CFrame, number)write
luau
Z.CFrame.write(b: buffer, offset: number, value: CFrame): numberCFrame28
read
luau
Z.CFrame28.read(b: buffer, offset: number): (CFrame, number)write
luau
Z.CFrame28.write(b: buffer, offset: number, value: CFrame): numberCFrame15
read
luau
Z.CFrame15.read(b: buffer, offset: number): (CFrame, number)write
luau
Z.CFrame15.write(b: buffer, offset: number, value: CFrame): numberColor3
read
luau
Z.Color3.read(b: buffer, offset: number): (Color3, number)write
luau
Z.Color3.write(b: buffer, offset: number, value: Color3): numberColorSequenceKeypoint
read
luau
Z.ColorSequenceKeypoint.read(b: buffer, offset: number): (ColorSequenceKeypoint, number)write
luau
Z.ColorSequenceKeypoint.write(b: buffer, offset: number, value: ColorSequenceKeypoint): numberColorSequence
read
luau
Z.ColorSequence.read(b: buffer, offset: number): (ColorSequence, number)write
luau
Z.ColorSequence.write(b: buffer, offset: number, value: ColorSequence): numberDateTime
read
luau
Z.DateTime.read(b: buffer, offset: number): (DateTime, number)write
luau
Z.DateTime.write(b: buffer, offset: number, value: DateTime): numberEnumItem
read
luau
Z.EnumItem.read(b: buffer, offset: number): (EnumItem, number)write
luau
Z.EnumItem.write(b: buffer, offset: number, value: EnumItem): numberFaces
read
luau
Z.Faces.read(b: buffer, offset: number): (Faces, number)write
luau
Z.Faces.write(b: buffer, offset: number, value: Faces): numberFloatCurveKey
read
luau
Z.FloatCurveKey.read(b: buffer, offset: number): (FloatCurveKey, number)write
luau
Z.FloatCurveKey.write(b: buffer, offset: number, value: FloatCurveKey): numberFont
read
luau
Z.Font.read(b: buffer, offset: number): (Font, number)write
luau
Z.Font.write(b: buffer, offset: number, value: Font): numberNumberRange
read
luau
Z.NumberRange.read(b: buffer, offset: number): (NumberRange, number)write
luau
Z.NumberRange.write(b: buffer, offset: number, value: NumberRange): numberNumberSequenceKeypoint
read
luau
Z.NumberSequenceKeypoint.read(b: buffer, offset: number): (NumberSequenceKeypoint, number)write
luau
Z.NumberSequenceKeypoint.write(b: buffer, offset: number, value: NumberSequenceKeypoint): numberNumberSequence
read
luau
Z.NumberSequence.read(b: buffer, offset: number): (NumberSequence, number)write
luau
Z.NumberSequence.write(b: buffer, offset: number, value: NumberSequence): numberUDim
read
luau
Z.UDim.read(b: buffer, offset: number): (UDim, number)write
luau
Z.UDim.write(b: buffer, offset: number, value: UDim): numberUDim2
read
luau
Z.UDim2.read(b: buffer, offset: number): (UDim2, number)write
luau
Z.UDim2.write(b: buffer, offset: number, value: UDim2): numberVector2
read
luau
Z.Vector2.read(b: buffer, offset: number): (Vector2, number)write
luau
Z.Vector2.write(b: buffer, offset: number, value: Vector2): numberVector2i16
read
luau
Z.Vector2i16.read(b: buffer, offset: number): (Vector2int16, number)write
luau
Z.Vector2i16.write(b: buffer, offset: number, value: Vector2int16): numberVector3
read
luau
Z.Vector3.read(b: buffer, offset: number): (Vector3, number)write
luau
Z.Vector3.write(b: buffer, offset: number, value: Vector3): numberVector3i16
read
luau
Z.Vector3i16.read(b: buffer, offset: number): (Vector3int16, number)write
luau
Z.Vector3i16.write(b: buffer, offset: number, value: Vector3int16): numberPath2DControlPoint
read
luau
Z.Path2DControlPoint.read(b: buffer, offset: number): (Path2DControlPoint, number)write
luau
Z.Path2DControlPoint.write(b: buffer, offset: number, v: Path2DControlPoint): numberPathWaypoint
read
luau
Z.PathWaypoint.read(b: buffer, offset: number): (PathWaypoint, number)write
luau
Z.PathWaypoint.write(b: buffer, offset: number, value: PathWaypoint): numberPhysicalProperties
read
luau
Z.PhysicalProperties.read(b: buffer, offset: number): (PhysicalProperties, number)write
luau
Z.PhysicalProperties.write(b: buffer, offset: number, value: PhysicalProperties): numberRay
read
luau
Z.Ray.read(b: buffer, offset: number): (Ray, number)write
luau
Z.Ray.write(b: buffer, offset: number, value: Ray): numberRect
read
luau
Z.Rect.read(b: buffer, offset: number): (Rect, number)write
luau
Z.Rect.write(b: buffer, offset: number, value: Rect): numberRegion3
read
luau
Z.Region3.read(b: buffer, offset: number): (Region3, number)write
luau
Z.Region3.write(b: buffer, offset: number, value: Region3): numberRegion3int16
read
luau
Z.Region3int16.read(b: buffer, offset: number): (Region3int16, number)write
luau
Z.Region3int16.write(b: buffer, offset: number, value: Region3int16): numberRotationCurveKey
read
luau
Z.RotationCurveKey.read(b: buffer, offset: number): (RotationCurveKey, number)write
luau
Z.RotationCurveKey.write(b: buffer, offset: number, value: RotationCurveKey): numberTweenInfo
read
luau
Z.TweenInfo.read(b: buffer, offset: number): (TweenInfo, number)write
luau
Z.TweenInfo.write(b: buffer, offset: number, value: TweenInfo): numbertable
read
luau
Z.table.read(b: buffer, offset: number): ({ [any]: any }, number)write
luau
Z.table.write(b: buffer, offset: number, value: { [any]: any }): number