@h4wldev/react-naver-maps
Version:
React Navermaps API integration for modern development.
40 lines (38 loc) • 1.02 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-D77WM3Z3.mjs.map