Skip to Content
Skip to Content

Luau

zune.luau


A library to parse, compile and run luau code.

Functions

compile

Compiles Luau source code.

compile(source: string | buffer, opts: export type LuauCompileOptions = { debug_level: number?, optimization_level: number?, coverage_level: number?, }LuauCompileOptionsexport type LuauCompileOptions = { debug_level: number?, optimization_level: number?, coverage_level: number?, }?): buffer

Parameters

  • source: string | buffer - The source code to compile.
  • opts: LuauCompileOptions? - The options for the compiler.
    • debug_level: number? - The debug level for the compilation.
    • optimization_level: number? - The optimization level for the compilation.
    • coverage_level: number? - The coverage level for the compilation.

Throws

  • Luau Error
  • Memory Error

load

Loads Luau bytecode into a function.

load(bytecode: string | buffer, opts: export type LuauLoadOptions = { env: { [any]: any }?, chunk_name: string?, native_code_gen: boolean?, }LuauLoadOptionsexport type LuauLoadOptions = { env: { [any]: any }?, chunk_name: string?, native_code_gen: boolean?, }?): ((...any) -> ...any)

Parameters

  • bytecode: string | buffer - The bytecode to load.
  • opts: LuauLoadOptions? - The options for loading the bytecode.
    • env: {[any]: any}? - The environment to use for the loaded function.
    • chunk_name: string? - The name of the chunk, used for debugging.
      • default: "(load)"
    • native_code_gen: boolean? - Whether to enable native code generation.
      • default: true

Throws

  • Luau Error

coverage

Get coverage data from a function.

coverage(fn: (...any) -> ...any): {export type LuauCoverageData = { name: string, line: number, depth: number, [number]: number, }LuauCoverageDataexport type LuauCoverageData = { name: string, line: number, depth: number, [number]: number, }}

Parameters

  • fn: (...any) -> ...any - The function to get the coverage data from.

parse

Parses Luau source code.

parse(src: string | buffer): export type Location = { begin: Position, ["end"]: Position, } type Position = { line: number, column: number, } export type ParseResult = { errors: {{ message: string, location: Location, }}?, root: {any}, eof: { text: "", position: Position, tag: "eof" }, lines: number, lineOffsets: {number}, hotcomments: {{ header: boolean, content: string, location: Location, }}, }ParseResultexport type Location = { begin: Position, ["end"]: Position, } type Position = { line: number, column: number, } export type ParseResult = { errors: {{ message: string, location: Location, }}?, root: {any}, eof: { text: "", position: Position, tag: "eof" }, lines: number, lineOffsets: {number}, hotcomments: {{ header: boolean, content: string, location: Location, }}, }

Parameters

  • src: string | buffer - The source code to parse.

Throws

  • Memory Error

parseExpr

Parses a Luau expression.

parseExpr(src: string | buffer): any

Parameters

  • src: string | buffer - The expression to parse.

Throws

  • Memory Error

garbagecollect

Runs a full garbage collection cycle.

garbagecollect(): ()
Last updated on