{"ast":null,"code":"\"use strict\";\n\nimport * as React from 'react';\nexport function useChildListeners() {\n  const {\n    current: listeners\n  } = React.useRef({\n    action: [],\n    focus: []\n  });\n  const addListener = React.useCallback((type, listener) => {\n    listeners[type].push(listener);\n    let removed = false;\n    return () => {\n      const index = listeners[type].indexOf(listener);\n      if (!removed && index > -1) {\n        removed = true;\n        listeners[type].splice(index, 1);\n      }\n    };\n  }, [listeners]);\n  return {\n    listeners,\n    addListener\n  };\n}","map":{"version":3,"names":["React","useChildListeners","current","listeners","useRef","action","focus","addListener","useCallback","type","listener","push","removed","index","indexOf","splice"],"sources":["/Users/pmouli/Documents/GitHub.nosync/boots-strapper/mobile/node_modules/@react-navigation/core/src/useChildListeners.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport type { ListenerMap } from './NavigationBuilderContext';\n\n/**\n * Hook which lets child navigators add action listeners.\n */\nexport function useChildListeners() {\n  const { current: listeners } = React.useRef<{\n    [K in keyof ListenerMap]: ListenerMap[K][];\n  }>({\n    action: [],\n    focus: [],\n  });\n\n  const addListener = React.useCallback(\n    <T extends keyof ListenerMap>(type: T, listener: ListenerMap[T]) => {\n      listeners[type].push(listener);\n\n      let removed = false;\n      return () => {\n        const index = listeners[type].indexOf(listener);\n\n        if (!removed && index > -1) {\n          removed = true;\n          listeners[type].splice(index, 1);\n        }\n      };\n    },\n    [listeners]\n  );\n\n  return {\n    listeners,\n    addListener,\n  };\n}\n"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAO9B,OAAO,SAASC,iBAAiBA,CAAA,EAAG;EAClC,MAAM;IAAEC,OAAO,EAAEC;EAAU,CAAC,GAAGH,KAAK,CAACI,MAAM,CAExC;IACDC,MAAM,EAAE,EAAE;IACVC,KAAK,EAAE;EACT,CAAC,CAAC;EAEF,MAAMC,WAAW,GAAGP,KAAK,CAACQ,WAAW,CACnC,CAA8BC,IAAO,EAAEC,QAAwB,KAAK;IAClEP,SAAS,CAACM,IAAI,CAAC,CAACE,IAAI,CAACD,QAAQ,CAAC;IAE9B,IAAIE,OAAO,GAAG,KAAK;IACnB,OAAO,MAAM;MACX,MAAMC,KAAK,GAAGV,SAAS,CAACM,IAAI,CAAC,CAACK,OAAO,CAACJ,QAAQ,CAAC;MAE/C,IAAI,CAACE,OAAO,IAAIC,KAAK,GAAG,CAAC,CAAC,EAAE;QAC1BD,OAAO,GAAG,IAAI;QACdT,SAAS,CAACM,IAAI,CAAC,CAACM,MAAM,CAACF,KAAK,EAAE,CAAC,CAAC;MAClC;IACF,CAAC;EACH,CAAC,EACD,CAACV,SAAS,CACZ,CAAC;EAED,OAAO;IACLA,SAAS;IACTI;EACF,CAAC;AACH","ignoreList":[]},"metadata":{"hasCjsExports":false},"sourceType":"module","externalDependencies":[]}