🐳chore(库):删除库
parent
bd8bef8849
commit
381114ead4
@ -1 +0,0 @@
|
||||
Subproject commit 7f1f94b66762df19570505219c9031f9a411c649
|
||||
@ -0,0 +1,144 @@
|
||||
-- https://github.com/mah0x211/lua-isa
|
||||
|
||||
-- constants
|
||||
local INF_POS = math.huge;
|
||||
local INF_NEG = -INF_POS;
|
||||
local type = type;
|
||||
local floor = math.floor;
|
||||
|
||||
-- type
|
||||
local function isNil(arg)
|
||||
return type(arg) == 'nil';
|
||||
end
|
||||
|
||||
local function isBoolean(arg)
|
||||
return type(arg) == 'boolean';
|
||||
end
|
||||
|
||||
local function isString(arg)
|
||||
return type(arg) == 'string';
|
||||
end
|
||||
|
||||
local function isNumber(arg)
|
||||
return type(arg) == 'number';
|
||||
end
|
||||
|
||||
local function isFunction(arg)
|
||||
return type(arg) == 'function';
|
||||
end
|
||||
|
||||
local function isTable(arg)
|
||||
return type(arg) == 'table';
|
||||
end
|
||||
|
||||
local function isThread(arg)
|
||||
return type(arg) == 'thread';
|
||||
end
|
||||
|
||||
local function isUserdata(arg)
|
||||
return type(arg) == 'userdata';
|
||||
end
|
||||
|
||||
-- boolean
|
||||
local function isTrue(arg)
|
||||
return arg == true;
|
||||
end
|
||||
|
||||
local function isFalse(arg)
|
||||
return arg == false;
|
||||
end
|
||||
|
||||
-- None
|
||||
local function isNone(arg)
|
||||
return arg == nil or arg == false or arg == 0 or arg == '' or arg ~= arg;
|
||||
end
|
||||
|
||||
-- arithmetic
|
||||
local function isNaN(arg)
|
||||
return arg ~= arg;
|
||||
end
|
||||
|
||||
-- integer
|
||||
local function isFinite(arg)
|
||||
return type(arg) == 'number' and (arg < INF_POS and arg > INF_NEG);
|
||||
end
|
||||
|
||||
local function isInt(arg)
|
||||
return isFinite(arg) and rawequal(floor(arg), arg);
|
||||
end
|
||||
|
||||
local function isInt8(arg)
|
||||
return isInt(arg) and arg >= -128 and arg <= 127;
|
||||
end
|
||||
|
||||
local function isInt16(arg)
|
||||
return isInt(arg) and arg >= -32768 and arg <= 32767;
|
||||
end
|
||||
|
||||
local function isInt32(arg)
|
||||
return isInt(arg) and arg >= -2147483648 and arg <= 2147483647;
|
||||
end
|
||||
|
||||
-- unsigned integer
|
||||
local function isUnsigned(arg)
|
||||
return type(arg) == 'number' and (arg < INF_POS and arg >= 0);
|
||||
end
|
||||
|
||||
local function isUInt(arg)
|
||||
return isUnsigned(arg) and rawequal(floor(arg), arg);
|
||||
end
|
||||
|
||||
local function isUInt8(arg)
|
||||
return isUInt(arg) and arg <= 255;
|
||||
end
|
||||
|
||||
local function isUInt16(arg)
|
||||
return isUInt(arg) and arg <= 65535;
|
||||
end
|
||||
|
||||
local function isUInt32(arg)
|
||||
return isUInt(arg) and arg <= 4294967295;
|
||||
end
|
||||
|
||||
local EXPORTS = {};
|
||||
|
||||
for k, v in pairs({
|
||||
-- type
|
||||
['Nil'] = isNil,
|
||||
['Boolean'] = isBoolean,
|
||||
['String'] = isString,
|
||||
['Number'] = isNumber,
|
||||
['Function'] = isFunction,
|
||||
['Table'] = isTable,
|
||||
['Thread'] = isThread,
|
||||
['Userdata'] = isUserdata,
|
||||
|
||||
-- boolean
|
||||
['True'] = isTrue,
|
||||
['False'] = isFalse,
|
||||
|
||||
-- None: nil | false | 0 | '' | nan
|
||||
['None'] = isNone,
|
||||
|
||||
-- arithmetic
|
||||
-- NaN
|
||||
['NaN'] = isNaN,
|
||||
['Finite'] = isFinite,
|
||||
|
||||
-- integer
|
||||
['Int'] = isInt,
|
||||
['Int8'] = isInt8,
|
||||
['Int16'] = isInt16,
|
||||
['Int32'] = isInt32,
|
||||
|
||||
-- unsigned integer
|
||||
['Unsigned'] = isUnsigned,
|
||||
['UInt'] = isUInt,
|
||||
['UInt8'] = isUInt8,
|
||||
['UInt16'] = isUInt16,
|
||||
['UInt32'] = isUInt32,
|
||||
}) do
|
||||
EXPORTS[k], EXPORTS[k:lower()] = v, v;
|
||||
end
|
||||
|
||||
return EXPORTS;
|
||||
@ -0,0 +1,47 @@
|
||||
-- https://github.com/mah0x211/lua-loadchunk
|
||||
local load = load
|
||||
local loadstring = loadstring
|
||||
local loadfile = loadfile
|
||||
local setfenv = setfenv
|
||||
--- constants
|
||||
local LUA_VERSION = tonumber(string.match(_VERSION, 'Lua (.+)$'))
|
||||
|
||||
--- evalstr
|
||||
-- @param src
|
||||
-- @param env
|
||||
-- @param ident
|
||||
-- @return fn
|
||||
-- @return err
|
||||
local function evalstr(src, env, ident)
|
||||
if LUA_VERSION > 5.1 then
|
||||
return load(src, ident, nil, env)
|
||||
else
|
||||
local fn, err = loadstring(src, ident)
|
||||
if not err and env ~= nil then
|
||||
setfenv(fn, env)
|
||||
end
|
||||
return fn, err
|
||||
end
|
||||
end
|
||||
|
||||
--- evalfile
|
||||
-- @param file
|
||||
-- @param env
|
||||
-- @return fn
|
||||
-- @return err
|
||||
local function evalfile(file, env)
|
||||
if LUA_VERSION > 5.1 then
|
||||
return loadfile(file, nil, env)
|
||||
else
|
||||
local fn, err = loadfile(file)
|
||||
if not err and env ~= nil then
|
||||
setfenv(fn, env)
|
||||
end
|
||||
return fn, err
|
||||
end
|
||||
end
|
||||
|
||||
return {
|
||||
string = evalstr,
|
||||
file = evalfile,
|
||||
}
|
||||
Loading…
Reference in New Issue