UNPKG

vuestic-ui

Version:
31 lines (30 loc) 914 B
const getEvent = (event) => typeof event === "object" ? event.listen : event; const getEmit = (event) => typeof event === "object" ? event.emit : event; const useEmitProxy = (events) => { const createEmits = () => events.map(getEmit); const eventToListenerName = (event) => { const eventName = event.charAt(0).toUpperCase() + event.slice(1); return `on${eventName}`; }; const createListeners = (emit) => { return events.reduce((acc, key) => ({ ...acc, [eventToListenerName(getEvent(key))]: (...args) => emit(getEmit(key), ...args) }), {}); }; const createVOnListeners = (emit) => { return events.reduce((acc, key) => ({ ...acc, [getEvent(key)]: (...args) => emit(getEmit(key), ...args) }), {}); }; return { createListeners, createVOnListeners, createEmits }; }; export { useEmitProxy as u }; //# sourceMappingURL=useEmitProxy.mjs.map