Attempt to get the length of a nil value

I guess it’s saying “text” is nil, even though I’m setting its value.

function lexer.new(source : string)
	local self = setmetatable({
		text = source:split(""),
		pos = 1,
		char = nil
	}, lexer)
	return self
end

function lexer:advance()
	if (self.pos == #self.text) then --where the error is
		self.token = nil
		return
	end
	
	self.pos += 1
	self.text = self.text[self.position]
end