react-naver-maps
Version:
React Navermaps API integration for modern development.
39 lines (37 loc) • 981 B
JavaScript
import {
useEventTarget
} from "./chunk-YH7PRLMG.mjs";
// src/listener.tsx
import { useEffect } from "react";
function useListener(target, type, listener) {
useEffect(() => {
const _listener = (...args) => listener(...args, target);
const mapEventListener = naver.maps.Event.addListener(target, type, _listener);
return () => {
naver.maps.Event.removeListener(mapEventListener);
};
}, [target, type, listener]);
}
var Listener = (props) => {
const {
target: propTarget,
type,
listener
} = props;
const contextTarget = useEventTarget();
const target = propTarget || contextTarget;
if (!target) {
throw new Error("react-naver-maps: No Target to add listener");
}
useListener(target, type, listener);
return null;
};
function getListenerKeys(props) {
return Object.keys(props).filter((key) => /on[A-Z]\w+/.test(key));
}
export {
useListener,
Listener,
getListenerKeys
};
//# sourceMappingURL=chunk-E5EY34JY.mjs.map