Skip to main content

TSTL Class

Functions

getTSTLClassConstructor

getTSTLClassConstructor(object): TSTLClassMetatable["constructor"] | undefined

Helper function to get the constructor from an instantiated TypeScriptToLua class, which is located on the metatable.

Returns undefined if passed a non-table or if the provided table does not have a metatable.

Parameters

NameType
objectunknown

Returns

TSTLClassMetatable["constructor"] | undefined

Defined in

packages/isaacscript-common/src/functions/tstlClass.ts:13


getTSTLClassName

getTSTLClassName(object): string | undefined

Helper function to get the name of a TypeScriptToLua class from the instantiated class object.

TSTL classes are Lua tables created with the __TS__Class Lua function from the TSTL lualib. Their name is contained within "constructor.name" metatable key.

For example, a Map class is has a name of "Map".

Returns undefined if passed a non-table or if the provided table does not have a metatable.

Parameters

NameType
objectunknown

Returns

string | undefined

Defined in

packages/isaacscript-common/src/functions/tstlClass.ts:38


isDefaultMap

isDefaultMap(object): object is DefaultMap<AnyNotNil, unknown, []>

Helper function to determine if a given object is a TypeScriptToLua Map.

It is not reliable to use the instanceof operator to determine this because each Lua module has their own copies of the entire lualib and thus their own instantiated version of a Map.

Parameters

NameType
objectunknown

Returns

object is DefaultMap<AnyNotNil, unknown, []>

Defined in

packages/isaacscript-common/src/functions/tstlClass.ts:53


isTSTLClass

isTSTLClass(object): object is TSTLClass

Helper function to check if a given table is a class table created by TypeScriptToLua.

Parameters

NameType
objectunknown

Returns

object is TSTLClass

Defined in

packages/isaacscript-common/src/functions/tstlClass.ts:61


isTSTLMap

isTSTLMap(object): object is Map<AnyNotNil, unknown>

Helper function to determine if a given object is a TypeScriptToLua Map.

It is not reliable to use the instanceof operator to determine this because each Lua module might have their own copy of the entire lualib and thus their own instantiated version of a Map.

Parameters

NameType
objectunknown

Returns

object is Map<AnyNotNil, unknown>

Defined in

packages/isaacscript-common/src/functions/tstlClass.ts:73


isTSTLSet

isTSTLSet(object): object is Set<AnyNotNil>

Helper function to determine if a given object is a TypeScriptToLua Set.

It is not reliable to use the instanceof operator to determine this because each Lua module might have their own copy of the entire lualib and thus their own instantiated version of a Set.

Parameters

NameType
objectunknown

Returns

object is Set<AnyNotNil>

Defined in

packages/isaacscript-common/src/functions/tstlClass.ts:85


newTSTLClass

newTSTLClass(oldClass): TSTLClass

Initializes a new TypeScriptToLua class in the situation where you do not know what kind of class it is. This function requires that you provide an instantiated class of the same type, as it will use the class constructor that is present on the other object's metatable to initialize the new class.

Parameters

NameType
oldClassTSTLClass

Returns

TSTLClass

Defined in

packages/isaacscript-common/src/functions/tstlClass.ts:96