one
Version:
One is a React framework for web, iOS, and Android apps.
1 lines • 2.51 kB
Source Map (JSON)
{"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"}