"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.safeCallFunction = safeCallFunction;
const isFunction_1 = __importDefault(require("lodash/isFunction"));
/**
 * 安全调用函数：仅当 fun 是函数时执行，否则返回 undefined
 * 若函数执行结果为 null/undefined 则兜底返回 true
 * @param fun - 待调用的目标（可能不是函数）
 * @param rest - 传递给目标函数的参数列表
 * @returns 函数执行结果（null/undefined 时返回 true），或 undefined（非函数时）
 */
function safeCallFunction(fun, ...rest) {
    var _a;
    if ((0, isFunction_1.default)(fun)) {
        return (_a = fun(...rest)) !== null && _a !== void 0 ? _a : true;
    }
    return undefined;
}
