spiraljng/smallfork

A blazing fast LuaU seralizer, built off of the ancient Smallfolk Lua serializer. Designed for a less-bloated alternative to other LuaU serializers

Smallfork

Smallfork is a reasonably fast, robust, richtly-featured table serialization library for LuaU, forked from Smallfolk. It was specifically forked for serializing remote packets, but could be used anywhere.

You use, distribute and extend Smallfork under the terms of the MIT license.

Usage

Smallfork is very simple and easy to use:

local Smallfork = require("Path.to.Smallfork")

print(Smallfork.dumps({Hello = "World", Foo = 1234567890, Bar = true, Red = Color3.new(1, 0, 0), Home = Vector3.new(1, 2, 3)}))
print(Smallfork.loads('{"Hello":"World","Home":v1,2,3,"Red":k1,0,0,"Bar":t,"Foo":1234567890}'))
-- prints:
-- {"Hello","world":t}
-- bar

Supported Types

  • string (Escaped supported)
  • number (integer, float, leading dot)
  • boolean
  • array
  • dictionary
  • nested array/dictionary
  • Vector3
  • CFrame
  • Circular reference loops