diff --git a/wrapper.go b/wrapper.go index 12ad81d..ab99210 100644 --- a/wrapper.go +++ b/wrapper.go @@ -725,3 +725,19 @@ func (s *State) pushMapSlice(arr []map[string]any) error { } return nil } + +// PushLightUserData pushes a light userdata value +func (s *State) PushLightUserData(ptr any) { + C.lua_pushlightuserdata(s.L, unsafe.Pointer(&ptr)) +} + +// Helper method for getting table length used internally +func (s *State) getTableLength(index int) int { + length := 0 + s.PushNil() + for s.Next(index - 1) { + length++ + s.Pop(1) + } + return length +}