UNPKG

one

Version:

One is a React framework for web, iOS, and Android apps.

1 lines • 2.33 kB
{"version":3,"file":"useLoadedNavigation.js","names":[],"sources":["esm/link/useLoadedNavigation.js"],"sourcesContent":["import {\n useNavigation\n} from \"@react-navigation/native\";\nimport { useCallback, useEffect, useRef, useState } from \"react\";\nimport { useOneRouter } from \"../router/router\";\nfunction useLoadedNavigation() {\n const { navigationRef } = useOneRouter();\n const navigation = useNavigation();\n const isMounted = useRef(true);\n const pending = useRef([]);\n useEffect(() => {\n isMounted.current = true;\n return () => {\n isMounted.current = false;\n };\n }, []);\n const flush = useCallback(() => {\n if (isMounted.current) {\n const pendingCallbacks = pending.current;\n pending.current = [];\n pendingCallbacks.forEach((callback) => {\n callback(navigation);\n });\n }\n }, [navigation]);\n useEffect(() => {\n if (navigationRef.current) {\n flush();\n }\n }, [flush, navigationRef]);\n const push = useCallback(\n (fn) => {\n pending.current.push(fn);\n if (navigationRef.current) {\n flush();\n }\n },\n [flush, navigationRef]\n );\n return push;\n}\nfunction useOptionalNavigation() {\n const [navigation, setNavigation] = useState(null);\n const loadNavigation = useLoadedNavigation();\n useEffect(() => {\n loadNavigation((nav) => setNavigation(nav));\n }, [loadNavigation]);\n return navigation;\n}\nexport {\n useLoadedNavigation,\n useOptionalNavigation\n};\n//# sourceMappingURL=useLoadedNavigation.js.map\n"],"mappings":";;;;;AAKA,SAAS,sBAAsB;CAC7B,MAAM,EAAE,kBAAkB,aAAa;CACvC,MAAM,aAAa,cAAc;CACjC,MAAM,YAAY,OAAO,IAAI;CAC7B,MAAM,UAAU,OAAO,CAAC,CAAC;CACzB,gBAAgB;EACd,UAAU,UAAU;EACpB,aAAa;GACX,UAAU,UAAU;EACtB;CACF,GAAG,CAAC,CAAC;CACL,MAAM,QAAQ,kBAAkB;EAC9B,IAAI,UAAU,SAAS;GACrB,MAAM,mBAAmB,QAAQ;GACjC,QAAQ,UAAU,CAAC;GACnB,iBAAiB,SAAS,aAAa;IACrC,SAAS,UAAU;GACrB,CAAC;EACH;CACF,GAAG,CAAC,UAAU,CAAC;CACf,gBAAgB;EACd,IAAI,cAAc,SAAS;GACzB,MAAM;EACR;CACF,GAAG,CAAC,OAAO,aAAa,CAAC;CACzB,MAAM,OAAO,aACV,OAAO;EACN,QAAQ,QAAQ,KAAK,EAAE;EACvB,IAAI,cAAc,SAAS;GACzB,MAAM;EACR;CACF,GACA,CAAC,OAAO,aAAa,CACvB;CACA,OAAO;AACT;AACA,SAAS,wBAAwB;CAC/B,MAAM,CAAC,YAAY,iBAAiB,SAAS,IAAI;CACjD,MAAM,iBAAiB,oBAAoB;CAC3C,gBAAgB;EACd,gBAAgB,QAAQ,cAAc,GAAG,CAAC;CAC5C,GAAG,CAAC,cAAc,CAAC;CACnB,OAAO;AACT"}