{"ast":null,"code":"\"use strict\";\n\nimport * as React from 'react';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nvar NavigationContent = function NavigationContent(_ref) {\n  var render = _ref.render,\n    children = _ref.children;\n  return render(children);\n};\nexport function useComponent(render) {\n  var renderRef = React.useRef(render);\n  renderRef.current = render;\n  React.useEffect(function () {\n    renderRef.current = null;\n  });\n  return React.useRef(function (_ref2) {\n    var children = _ref2.children;\n    var render = renderRef.current;\n    if (render === null) {\n      throw new Error('The returned component must be rendered in the same render phase as the hook.');\n    }\n    return _jsx(NavigationContent, {\n      render: render,\n      children: children\n    });\n  }).current;\n}","map":{"version":3,"names":["React","jsx","_jsx","NavigationContent","_ref","render","children","useComponent","renderRef","useRef","current","useEffect","_ref2","Error"],"sources":["/Users/pmouli/Documents/GitHub.nosync/boots-strapper/mobile/node_modules/@react-navigation/core/src/useComponent.tsx"],"sourcesContent":["import * as React from 'react';\n\ntype Render = (children: React.ReactNode) => React.JSX.Element;\n\ntype Props = {\n  render: Render;\n  children: React.ReactNode;\n};\n\nconst NavigationContent = ({ render, children }: Props) => {\n  return render(children);\n};\n\nexport function useComponent(render: Render) {\n  const renderRef = React.useRef<Render | null>(render);\n\n  // Normally refs shouldn't be mutated in render\n  // But we return a component which will be rendered\n  // So it's just for immediate consumption\n  renderRef.current = render;\n\n  React.useEffect(() => {\n    renderRef.current = null;\n  });\n\n  return React.useRef(({ children }: { children: React.ReactNode }) => {\n    const render = renderRef.current;\n\n    if (render === null) {\n      throw new Error(\n        'The returned component must be rendered in the same render phase as the hook.'\n      );\n    }\n\n    return <NavigationContent render={render}>{children}</NavigationContent>;\n  }).current;\n}\n"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAS/B,IAAMC,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAAC,IAAA,EAAoC;EAAA,IAA9BC,MAAM,GAAAD,IAAA,CAANC,MAAM;IAAEC,QAAA,GAAAF,IAAA,CAAAE,QAAA;EACnC,OAAOD,MAAM,CAACC,QAAQ,CAAC;AACzB,CAAC;AAED,OAAO,SAASC,YAAYA,CAACF,MAAc,EAAE;EAC3C,IAAMG,SAAS,GAAGR,KAAK,CAACS,MAAM,CAAgBJ,MAAM,CAAC;EAKrDG,SAAS,CAACE,OAAO,GAAGL,MAAM;EAE1BL,KAAK,CAACW,SAAS,CAAC,YAAM;IACpBH,SAAS,CAACE,OAAO,GAAG,IAAI;EAC1B,CAAC,CAAC;EAEF,OAAOV,KAAK,CAACS,MAAM,CAAC,UAAAG,KAAA,EAAiD;IAAA,IAA9CN,QAAA,GAAAM,KAAA,CAAAN,QAAA;IACrB,IAAMD,MAAM,GAAGG,SAAS,CAACE,OAAO;IAEhC,IAAIL,MAAM,KAAK,IAAI,EAAE;MACnB,MAAM,IAAIQ,KAAK,CACb,+EACF,CAAC;IACH;IAEA,OAAOX,IAAA,CAACC,iBAAiB;MAACE,MAAM,EAAEA,MAAO;MAAAC,QAAA,EAAEA;IAAQ,CAAoB,CAAC;EAC1E,CAAC,CAAC,CAACI,OAAO;AACZ","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}