react-naver-maps
Version:
React Navermaps API integration for modern development.
38 lines (36 loc) • 1.01 kB
JavaScript
import {
Listener
} from "./chunk-E5EY34JY.mjs";
// src/helpers/event.tsx
import camelcase from "camelcase";
import pick from "lodash.pick";
import { useMemo } from "react";
import { Fragment, jsx } from "react/jsx-runtime";
function HandleEvents(props) {
const { events, listeners: _listeners } = props;
const eventMap = useMemo(() => createEventMap(events), events);
const listeners = pick(_listeners, Object.keys(eventMap));
return /* @__PURE__ */ jsx(Fragment, {
children: Object.keys(listeners).map((key) => {
const eventName = eventMap[key];
const listener = listeners[key];
return listener ? /* @__PURE__ */ jsx(Listener, {
type: eventName,
listener
}, key) : null;
})
});
}
function createEventMap(events) {
return events.reduce((acc, eventName) => {
const key = camelcase(`on_${eventName}`);
return {
[key]: eventName,
...acc
};
}, {});
}
export {
HandleEvents
};
//# sourceMappingURL=chunk-533MYCRP.mjs.map