{"version":3,"file":"RouteInfoContext.js","names":[],"sources":["esm/router/RouteInfoContext.js"],"sourcesContent":["import { useStateForPath } from \"@react-navigation/core\";\nimport { createContext, useRef } from \"react\";\nimport { getRouteInfo } from \"./getRouteInfo\";\nimport { jsx } from \"react/jsx-runtime\";\nconst RouteInfoContext = createContext(void 0);\nfunction RouteInfoContextProvider({ children }) {\n  const currentState = useStateForPath();\n  const currentStateRef = useRef(void 0);\n  const lastStateRef = useRef(void 0);\n  const cachedRouteInfoValueRef = useRef(void 0);\n  const lazilyCalculatedRouteInfo = useRef(void 0);\n  if (currentState && currentStateRef.current !== currentState) {\n    lazilyCalculatedRouteInfo.current = makeLazilyCalculatedRouteInfo({\n      currentStateRef,\n      lastStateRef,\n      cachedRouteInfoValueRef\n    });\n  }\n  currentStateRef.current = currentState;\n  return /* @__PURE__ */ jsx(\n    RouteInfoContext.Provider,\n    {\n      value: currentState ? lazilyCalculatedRouteInfo.current : void 0,\n      children\n    }\n  );\n}\nfunction makeLazilyCalculatedRouteInfo({\n  currentStateRef,\n  lastStateRef,\n  cachedRouteInfoValueRef\n}) {\n  return new Proxy({}, {\n    get(_, p) {\n      const state = currentStateRef.current;\n      if (!state) {\n        throw new Error(\"[lazilyCalculatedRouteInfo] cannot get state\");\n      }\n      if (!cachedRouteInfoValueRef.current || lastStateRef.current !== state) {\n        cachedRouteInfoValueRef.current = getRouteInfo(state);\n        lastStateRef.current = state;\n      }\n      return cachedRouteInfoValueRef.current[p];\n    }\n  });\n}\nexport {\n  RouteInfoContext,\n  RouteInfoContextProvider\n};\n//# sourceMappingURL=RouteInfoContext.js.map\n"],"mappings":";;;;;;AAIA,MAAM,mBAAmB,cAAc,KAAK,CAAC;AAC7C,SAAS,yBAAyB,EAAE,YAAY;CAC9C,MAAM,eAAe,gBAAgB;CACrC,MAAM,kBAAkB,OAAO,KAAK,CAAC;CACrC,MAAM,eAAe,OAAO,KAAK,CAAC;CAClC,MAAM,0BAA0B,OAAO,KAAK,CAAC;CAC7C,MAAM,4BAA4B,OAAO,KAAK,CAAC;CAC/C,IAAI,gBAAgB,gBAAgB,YAAY,cAAc;EAC5D,0BAA0B,UAAU,8BAA8B;GAChE;GACA;GACA;EACF,CAAC;CACH;CACA,gBAAgB,UAAU;CAC1B,OAAuB,oBACrB,iBAAiB,UACjB;EACE,OAAO,eAAe,0BAA0B,UAAU,KAAK;EAC/D;CACF,CACF;AACF;AACA,SAAS,8BAA8B,EACrC,iBACA,cACA,2BACC;CACD,OAAO,IAAI,MAAM,CAAC,GAAG,EACnB,IAAI,GAAG,GAAG;EACR,MAAM,QAAQ,gBAAgB;EAC9B,IAAI,CAAC,OAAO;GACV,MAAM,IAAI,MAAM,8CAA8C;EAChE;EACA,IAAI,CAAC,wBAAwB,WAAW,aAAa,YAAY,OAAO;GACtE,wBAAwB,UAAU,aAAa,KAAK;GACpD,aAAa,UAAU;EACzB;EACA,OAAO,wBAAwB,QAAQ;CACzC,EACF,CAAC;AACH"}