UNPKG

react-naver-maps

Version:

React Navermaps API integration for modern development.

1 lines 1.77 kB
{"version":3,"sources":["../src/helpers/event.tsx"],"sourcesContent":["\nimport camelcase from 'camelcase';\nimport pick from 'lodash.pick';\nimport { useMemo } from 'react';\n\nimport { Listener } from '../listener';\n\ntype Props = {\n events: string[];\n listeners: Record<string, (...args: any[]) => any>;\n};\n\nexport function HandleEvents(props: Props) {\n const { events, listeners: _listeners } = props;\n\n const eventMap = useMemo(() => createEventMap(events), events);\n const listeners = pick(_listeners, Object.keys(eventMap)) as unknown as Record<string, (e: any) => void>;\n\n return (\n <>\n {Object.keys(listeners).map(key => {\n\n const eventName = eventMap[key];\n const listener = listeners[key];\n\n return listener ? <Listener\n key={key}\n type={eventName}\n listener={listener}\n /> : null;\n })}\n </>\n );\n}\n\n\nfunction createEventMap(events: string[]): Record<string, string> {\n return events.reduce((acc, eventName) => {\n const key = camelcase(`on_${eventName}`);\n\n return {\n [key]: eventName,\n ...acc,\n };\n }, {});\n}\n"],"mappings":";;;;;AACA,OAAO,eAAe;AACtB,OAAO,UAAU;AACjB,SAAS,eAAe;AAgBpB,mBAMsB,WANtB;AAPG,SAAS,aAAa,OAAc;AACzC,QAAM,EAAE,QAAQ,WAAW,WAAW,IAAI;AAE1C,QAAM,WAAW,QAAQ,MAAM,eAAe,MAAM,GAAG,MAAM;AAC7D,QAAM,YAAY,KAAK,YAAY,OAAO,KAAK,QAAQ,CAAC;AAExD,SACE;AAAA,IACG,iBAAO,KAAK,SAAS,EAAE,IAAI,SAAO;AAEjC,YAAM,YAAY,SAAS;AAC3B,YAAM,WAAW,UAAU;AAE3B,aAAO,WAAW,oBAAC;AAAA,QAEjB,MAAM;AAAA,QACN;AAAA,SAFK,GAGP,IAAK;AAAA,IACP,CAAC;AAAA,GACH;AAEJ;AAGA,SAAS,eAAe,QAA0C;AAChE,SAAO,OAAO,OAAO,CAAC,KAAK,cAAc;AACvC,UAAM,MAAM,UAAU,MAAM,WAAW;AAEvC,WAAO;AAAA,MACL,CAAC,MAAM;AAAA,MACP,GAAG;AAAA,IACL;AAAA,EACF,GAAG,CAAC,CAAC;AACP;","names":[]}