view util/import.lua @ 8408:b751bee6a829

util.async: Fix thread check to work correctly in Lua 5.2 coroutine.running() now returns the main thread and a boolean true if called from the main thread, as opposed to nil in 5.1
author Kim Alvefur <zash@zash.se>
date Tue, 21 Nov 2017 21:48:43 +0100
parents 5d866eb8f18f
children a4ef8cfa97bd
line wrap: on
line source

-- Prosody IM
-- Copyright (C) 2008-2010 Matthew Wild
-- Copyright (C) 2008-2010 Waqas Hussain
--
-- This project is MIT/X11 licensed. Please see the
-- COPYING file in the source package for more information.
--



local unpack = table.unpack or unpack; --luacheck: ignore 113 143
local t_insert = table.insert;
function import(module, ...)
	local m = package.loaded[module] or require(module);
	if type(m) == "table" and ... then
		local ret = {};
		for _, f in ipairs{...} do
			t_insert(ret, m[f]);
		end
		return unpack(ret);
	end
	return m;
end