import { __spreadArray } from "tslib";
import { useComponent } from 'functional-mini/component';
import fmtEvent from '../fmtEvent';
import { useEvent } from './useEvent';
export function useComponentEvent(props) {
    var component = useComponent();
    var triggerEvent = useEvent(function (eventName, value, e) {
        // 首字母大写,然后加上 on
        var alipayCallbackName = 'on' + eventName.charAt(0).toUpperCase() + eventName.slice(1);
        if (props[alipayCallbackName]) {
            props[alipayCallbackName](value, fmtEvent(props, e));
        }
    });
    var triggerEventValues = useEvent(function (eventName, values, e) {
        // 首字母大写,然后加上 on
        var alipayCallbackName = 'on' + eventName.charAt(0).toUpperCase() + eventName.slice(1);
        if (props[alipayCallbackName]) {
            props[alipayCallbackName].apply(props, __spreadArray(__spreadArray([], values, false), [fmtEvent(props, e)], false));
        }
    });
    var triggerEventOnly = useEvent(function (eventName, e) {
        // 首字母大写,然后加上 on
        var alipayCallbackName = 'on' + eventName.charAt(0).toUpperCase() + eventName.slice(1);
        if (props[alipayCallbackName]) {
            props[alipayCallbackName](fmtEvent(props, e));
        }
    });
    var alipayForwardCatchEvent = useEvent(function (eventName, e) {
        // 首字母大写,然后加上 catch
        var alipayCallbackName = 'catch' + eventName.charAt(0).toUpperCase() + eventName.slice(1);
        if (props[alipayCallbackName]) {
            props[alipayCallbackName](fmtEvent(props, e));
        }
    });
    var alipayForwardEvent = useEvent(function (eventName, e) {
        // 首字母大写,然后加上 on
        var alipayCallbackName = 'on' + eventName.charAt(0).toUpperCase() + eventName.slice(1);
        if (props[alipayCallbackName]) {
            props[alipayCallbackName](fmtEvent(props, e));
        }
    });
    return {
        triggerEvent: triggerEvent,
        triggerEventValues: triggerEventValues,
        triggerEventOnly: triggerEventOnly,
        // 转发 catch 事件
        alipayForwardCatchEvent: alipayForwardCatchEvent,
        // 转发事件
        alipayForwardEvent: alipayForwardEvent,
    };
}