You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1 line
3.8 KiB
1 line
3.8 KiB
{"ast":null,"code":"import createEventHandle from \"../createEventHandle\";\nimport useLayoutEffect from \"../useLayoutEffect\";\nimport useStable from \"../useStable\";\nexport default function useEvent(event, options) {\n var targetListeners = useStable(function () {\n return new Map();\n });\n var addListener = useStable(function () {\n var addEventListener = createEventHandle(event, options);\n return function (target, callback) {\n var removeTargetListener = targetListeners.get(target);\n if (removeTargetListener != null) {\n removeTargetListener();\n }\n if (callback == null) {\n targetListeners.delete(target);\n }\n var removeEventListener = addEventListener(target, callback);\n targetListeners.set(target, removeEventListener);\n return removeEventListener;\n };\n });\n useLayoutEffect(function () {\n return function () {\n targetListeners.forEach(function (removeListener) {\n removeListener();\n });\n targetListeners.clear();\n };\n }, [targetListeners]);\n return addListener;\n}","map":{"version":3,"names":["createEventHandle","useLayoutEffect","useStable","useEvent","event","options","targetListeners","Map","addListener","addEventListener","target","callback","removeTargetListener","get","delete","removeEventListener","set","forEach","removeListener","clear"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/react-native-web/dist/modules/useEvent/index.js"],"sourcesContent":["/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport createEventHandle from '../createEventHandle';\nimport useLayoutEffect from '../useLayoutEffect';\nimport useStable from '../useStable';\n\n/**\n * This can be used with any event type include custom events.\n *\n * const click = useEvent('click', options);\n * useEffect(() => {\n * click.setListener(target, onClick);\n * return () => click.clear();\n * }).\n */\nexport default function useEvent(event, options) {\n var targetListeners = useStable(() => new Map());\n var addListener = useStable(() => {\n var addEventListener = createEventHandle(event, options);\n return (target, callback) => {\n var removeTargetListener = targetListeners.get(target);\n\n if (removeTargetListener != null) {\n removeTargetListener();\n }\n\n if (callback == null) {\n targetListeners.delete(target);\n }\n\n var removeEventListener = addEventListener(target, callback);\n targetListeners.set(target, removeEventListener);\n return removeEventListener;\n };\n });\n useLayoutEffect(() => {\n return () => {\n targetListeners.forEach(removeListener => {\n removeListener();\n });\n targetListeners.clear();\n };\n }, [targetListeners]);\n return addListener;\n}"],"mappings":"AAQA,OAAOA,iBAAiB;AACxB,OAAOC,eAAe;AACtB,OAAOC,SAAS;AAWhB,eAAe,SAASC,QAAQ,CAACC,KAAK,EAAEC,OAAO,EAAE;EAC/C,IAAIC,eAAe,GAAGJ,SAAS,CAAC;IAAA,OAAM,IAAIK,GAAG,EAAE;EAAA,EAAC;EAChD,IAAIC,WAAW,GAAGN,SAAS,CAAC,YAAM;IAChC,IAAIO,gBAAgB,GAAGT,iBAAiB,CAACI,KAAK,EAAEC,OAAO,CAAC;IACxD,OAAO,UAACK,MAAM,EAAEC,QAAQ,EAAK;MAC3B,IAAIC,oBAAoB,GAAGN,eAAe,CAACO,GAAG,CAACH,MAAM,CAAC;MAEtD,IAAIE,oBAAoB,IAAI,IAAI,EAAE;QAChCA,oBAAoB,EAAE;MACxB;MAEA,IAAID,QAAQ,IAAI,IAAI,EAAE;QACpBL,eAAe,CAACQ,MAAM,CAACJ,MAAM,CAAC;MAChC;MAEA,IAAIK,mBAAmB,GAAGN,gBAAgB,CAACC,MAAM,EAAEC,QAAQ,CAAC;MAC5DL,eAAe,CAACU,GAAG,CAACN,MAAM,EAAEK,mBAAmB,CAAC;MAChD,OAAOA,mBAAmB;IAC5B,CAAC;EACH,CAAC,CAAC;EACFd,eAAe,CAAC,YAAM;IACpB,OAAO,YAAM;MACXK,eAAe,CAACW,OAAO,CAAC,UAAAC,cAAc,EAAI;QACxCA,cAAc,EAAE;MAClB,CAAC,CAAC;MACFZ,eAAe,CAACa,KAAK,EAAE;IACzB,CAAC;EACH,CAAC,EAAE,CAACb,eAAe,CAAC,CAAC;EACrB,OAAOE,WAAW;AACpB"},"metadata":{},"sourceType":"module"} |