---@meta lyaml.functional

--------------------------------------------------------------------------------
-- LYAML functional 工具模块
--------------------------------------------------------------------------------

---@class lyaml_null*
local lyaml_null = {}

---@alias lyaml_callable fun(...:any):any

---@class lyaml_functional*
---@field NULL lyaml_null* YAML null 哨兵值
---@type lyaml_functional*
local M = {}

--- 组合一组函数，返回第一个非 nil 结果。
---@param fns lyaml_callable[] 函数列表
---@return lyaml_callable fn 组合后的函数
function M.anyof(fns) end

--- 原样返回所有参数。
---@param ... any
---@return any ...
function M.id(...) end

--- 判断值是否可调用。
---@param x any
---@return lyaml_callable? fn 可调用函数
function M.iscallable(x) end

--- 判断值是否为 `lyaml.null`。
---@param x any
---@return boolean ok 是否为 null 哨兵值
function M.isnull(x) end

return M
