@react-navigation/native 6.1.9 → 6.1.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/useLinking.js +6 -1
- package/lib/commonjs/useLinking.js.map +1 -1
- package/lib/module/useLinking.js +6 -1
- package/lib/module/useLinking.js.map +1 -1
- package/lib/typescript/src/__mocks__/window.d.ts +1 -1
- package/lib/typescript/src/__mocks__/window.d.ts.map +1 -1
- package/lib/typescript/src/useLinking.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/__mocks__/window.tsx +7 -5
- package/src/useLinking.tsx +8 -1
|
@@ -131,6 +131,9 @@ function useLinking(ref, _ref) {
|
|
|
131
131
|
if (!navigation || !enabled) {
|
|
132
132
|
return;
|
|
133
133
|
}
|
|
134
|
+
const {
|
|
135
|
+
location
|
|
136
|
+
} = window;
|
|
134
137
|
const path = location.pathname + location.search;
|
|
135
138
|
const index = history.index;
|
|
136
139
|
const previousIndex = previousIndexRef.current ?? 0;
|
|
@@ -257,7 +260,9 @@ function useLinking(ref, _ref) {
|
|
|
257
260
|
});
|
|
258
261
|
const currentIndex = history.index;
|
|
259
262
|
try {
|
|
260
|
-
if (nextIndex !== -1 && nextIndex < currentIndex
|
|
263
|
+
if (nextIndex !== -1 && nextIndex < currentIndex &&
|
|
264
|
+
// We should only go back if the entry exists and it's less than current index
|
|
265
|
+
history.get(nextIndex - currentIndex)) {
|
|
261
266
|
// An existing entry for this path exists and it's less than current index, go back to that
|
|
262
267
|
await history.go(nextIndex - currentIndex);
|
|
263
268
|
} else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["findMatchingState","a","b","undefined","key","aHistoryLength","history","length","routes","bHistoryLength","aRoute","index","bRoute","aChildState","state","bChildState","series","cb","queue","Promise","resolve","callback","then","linkingHandlers","useLinking","ref","independent","enabled","config","getStateFromPath","getStateFromPathDefault","getPathFromState","getPathFromStateDefault","getActionFromState","getActionFromStateDefault","React","useEffect","process","env","NODE_ENV","console","error","join","trim","handler","Symbol","push","indexOf","splice","useState","createMemoryHistory","enabledRef","useRef","configRef","getStateFromPathRef","getPathFromStateRef","getActionFromStateRef","current","server","useContext","ServerContext","getInitialState","useCallback","value","location","window","path","pathname","search","thenable","onfulfilled","catch","previousIndexRef","previousStateRef","pendingPopStatePathRef","listen","navigation","previousIndex","record","get","resetRoot","rootState","getRootState","some","r","routeNames","includes","name","warn","action","dispatch","e","message","getPathForRoute","route","stateForPath","focusedRoute","findFocusedRoute","isEqual","params","replace","onStateChange","previousState","pendingPath","previousFocusedState","focusedState","historyDelta","nextIndex","backIndex","currentIndex","go","addListener"],"sourceRoot":"../../src","sources":["useLinking.tsx"],"mappings":"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
|
|
1
|
+
{"version":3,"names":["findMatchingState","a","b","undefined","key","aHistoryLength","history","length","routes","bHistoryLength","aRoute","index","bRoute","aChildState","state","bChildState","series","cb","queue","Promise","resolve","callback","then","linkingHandlers","useLinking","ref","independent","enabled","config","getStateFromPath","getStateFromPathDefault","getPathFromState","getPathFromStateDefault","getActionFromState","getActionFromStateDefault","React","useEffect","process","env","NODE_ENV","console","error","join","trim","handler","Symbol","push","indexOf","splice","useState","createMemoryHistory","enabledRef","useRef","configRef","getStateFromPathRef","getPathFromStateRef","getActionFromStateRef","current","server","useContext","ServerContext","getInitialState","useCallback","value","location","window","path","pathname","search","thenable","onfulfilled","catch","previousIndexRef","previousStateRef","pendingPopStatePathRef","listen","navigation","previousIndex","record","get","resetRoot","rootState","getRootState","some","r","routeNames","includes","name","warn","action","dispatch","e","message","getPathForRoute","route","stateForPath","focusedRoute","findFocusedRoute","isEqual","params","replace","onStateChange","previousState","pendingPath","previousFocusedState","focusedState","historyDelta","nextIndex","backIndex","currentIndex","go","addListener"],"sourceRoot":"../../src","sources":["useLinking.tsx"],"mappings":"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"}
|
package/lib/module/useLinking.js
CHANGED
|
@@ -120,6 +120,9 @@ export default function useLinking(ref, _ref) {
|
|
|
120
120
|
if (!navigation || !enabled) {
|
|
121
121
|
return;
|
|
122
122
|
}
|
|
123
|
+
const {
|
|
124
|
+
location
|
|
125
|
+
} = window;
|
|
123
126
|
const path = location.pathname + location.search;
|
|
124
127
|
const index = history.index;
|
|
125
128
|
const previousIndex = previousIndexRef.current ?? 0;
|
|
@@ -246,7 +249,9 @@ export default function useLinking(ref, _ref) {
|
|
|
246
249
|
});
|
|
247
250
|
const currentIndex = history.index;
|
|
248
251
|
try {
|
|
249
|
-
if (nextIndex !== -1 && nextIndex < currentIndex
|
|
252
|
+
if (nextIndex !== -1 && nextIndex < currentIndex &&
|
|
253
|
+
// We should only go back if the entry exists and it's less than current index
|
|
254
|
+
history.get(nextIndex - currentIndex)) {
|
|
250
255
|
// An existing entry for this path exists and it's less than current index, go back to that
|
|
251
256
|
await history.go(nextIndex - currentIndex);
|
|
252
257
|
} else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["findFocusedRoute","getActionFromState","getActionFromStateDefault","getPathFromState","getPathFromStateDefault","getStateFromPath","getStateFromPathDefault","isEqual","React","createMemoryHistory","ServerContext","findMatchingState","a","b","undefined","key","aHistoryLength","history","length","routes","bHistoryLength","aRoute","index","bRoute","aChildState","state","bChildState","series","cb","queue","Promise","resolve","callback","then","linkingHandlers","useLinking","ref","independent","enabled","config","useEffect","process","env","NODE_ENV","console","error","join","trim","handler","Symbol","push","indexOf","splice","useState","enabledRef","useRef","configRef","getStateFromPathRef","getPathFromStateRef","getActionFromStateRef","current","server","useContext","getInitialState","useCallback","value","location","window","path","pathname","search","thenable","onfulfilled","catch","previousIndexRef","previousStateRef","pendingPopStatePathRef","listen","navigation","previousIndex","record","get","resetRoot","rootState","getRootState","some","r","routeNames","includes","name","warn","action","dispatch","e","message","getPathForRoute","route","stateForPath","focusedRoute","params","replace","onStateChange","previousState","pendingPath","previousFocusedState","focusedState","historyDelta","nextIndex","backIndex","currentIndex","go","addListener"],"sourceRoot":"../../src","sources":["useLinking.tsx"],"mappings":"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
|
|
1
|
+
{"version":3,"names":["findFocusedRoute","getActionFromState","getActionFromStateDefault","getPathFromState","getPathFromStateDefault","getStateFromPath","getStateFromPathDefault","isEqual","React","createMemoryHistory","ServerContext","findMatchingState","a","b","undefined","key","aHistoryLength","history","length","routes","bHistoryLength","aRoute","index","bRoute","aChildState","state","bChildState","series","cb","queue","Promise","resolve","callback","then","linkingHandlers","useLinking","ref","independent","enabled","config","useEffect","process","env","NODE_ENV","console","error","join","trim","handler","Symbol","push","indexOf","splice","useState","enabledRef","useRef","configRef","getStateFromPathRef","getPathFromStateRef","getActionFromStateRef","current","server","useContext","getInitialState","useCallback","value","location","window","path","pathname","search","thenable","onfulfilled","catch","previousIndexRef","previousStateRef","pendingPopStatePathRef","listen","navigation","previousIndex","record","get","resetRoot","rootState","getRootState","some","r","routeNames","includes","name","warn","action","dispatch","e","message","getPathForRoute","route","stateForPath","focusedRoute","params","replace","onStateChange","previousState","pendingPath","previousFocusedState","focusedState","historyDelta","nextIndex","backIndex","currentIndex","go","addListener"],"sourceRoot":"../../src","sources":["useLinking.tsx"],"mappings":"AAAA,SACEA,gBAAgB,EAChBC,kBAAkB,IAAIC,yBAAyB,EAC/CC,gBAAgB,IAAIC,uBAAuB,EAC3CC,gBAAgB,IAAIC,uBAAuB,QAItC,wBAAwB;AAC/B,OAAOC,OAAO,MAAM,iBAAiB;AACrC,OAAO,KAAKC,KAAK,MAAM,OAAO;AAE9B,OAAOC,mBAAmB,MAAM,uBAAuB;AACvD,OAAOC,aAAa,MAAM,iBAAiB;AAK3C;AACA;AACA;AACA;AACA,MAAMC,iBAAiB,GAAG,CACxBC,CAAgB,EAChBC,CAAgB,KACmB;EACnC,IAAID,CAAC,KAAKE,SAAS,IAAID,CAAC,KAAKC,SAAS,IAAIF,CAAC,CAACG,GAAG,KAAKF,CAAC,CAACE,GAAG,EAAE;IACzD,OAAO,CAACD,SAAS,EAAEA,SAAS,CAAC;EAC/B;;EAEA;EACA,MAAME,cAAc,GAAGJ,CAAC,CAACK,OAAO,GAAGL,CAAC,CAACK,OAAO,CAACC,MAAM,GAAGN,CAAC,CAACO,MAAM,CAACD,MAAM;EACrE,MAAME,cAAc,GAAGP,CAAC,CAACI,OAAO,GAAGJ,CAAC,CAACI,OAAO,CAACC,MAAM,GAAGL,CAAC,CAACM,MAAM,CAACD,MAAM;EAErE,MAAMG,MAAM,GAAGT,CAAC,CAACO,MAAM,CAACP,CAAC,CAACU,KAAK,CAAC;EAChC,MAAMC,MAAM,GAAGV,CAAC,CAACM,MAAM,CAACN,CAAC,CAACS,KAAK,CAAC;EAEhC,MAAME,WAAW,GAAGH,MAAM,CAACI,KAAsB;EACjD,MAAMC,WAAW,GAAGH,MAAM,CAACE,KAAsB;;EAEjD;EACA;EACA;EACA;EACA;EACA,IACET,cAAc,KAAKI,cAAc,IACjCC,MAAM,CAACN,GAAG,KAAKQ,MAAM,CAACR,GAAG,IACzBS,WAAW,KAAKV,SAAS,IACzBY,WAAW,KAAKZ,SAAS,IACzBU,WAAW,CAACT,GAAG,KAAKW,WAAW,CAACX,GAAG,EACnC;IACA,OAAO,CAACH,CAAC,EAAEC,CAAC,CAAC;EACf;EAEA,OAAOF,iBAAiB,CAACa,WAAW,EAAEE,WAAW,CAAC;AACpD,CAAC;;AAED;AACA;AACA;AACA,OAAO,MAAMC,MAAM,GAAIC,EAAuB,IAAK;EACjD,IAAIC,KAAK,GAAGC,OAAO,CAACC,OAAO,EAAE;EAC7B,MAAMC,QAAQ,GAAG,MAAM;IACrBH,KAAK,GAAGA,KAAK,CAACI,IAAI,CAACL,EAAE,CAAC;EACxB,CAAC;EACD,OAAOI,QAAQ;AACjB,CAAC;AAED,IAAIE,eAAyB,GAAG,EAAE;AAMlC,eAAe,SAASC,UAAU,CAChCC,GAA2D,QAS3D;EAAA,IARA;IACEC,WAAW;IACXC,OAAO,GAAG,IAAI;IACdC,MAAM;IACNlC,gBAAgB,GAAGC,uBAAuB;IAC1CH,gBAAgB,GAAGC,uBAAuB;IAC1CH,kBAAkB,GAAGC;EACd,CAAC;EAEVM,KAAK,CAACgC,SAAS,CAAC,MAAM;IACpB,IAAIC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,EAAE;MACzC,OAAO7B,SAAS;IAClB;IAEA,IAAIuB,WAAW,EAAE;MACf,OAAOvB,SAAS;IAClB;IAEA,IAAIwB,OAAO,KAAK,KAAK,IAAIJ,eAAe,CAAChB,MAAM,EAAE;MAC/C0B,OAAO,CAACC,KAAK,CACX,CACE,6KAA6K,EAC7K,uFAAuF,EACvF,4DAA4D,CAC7D,CACEC,IAAI,CAAC,IAAI,CAAC,CACVC,IAAI,EAAE,CACV;IACH;IAEA,MAAMC,OAAO,GAAGC,MAAM,EAAE;IAExB,IAAIX,OAAO,KAAK,KAAK,EAAE;MACrBJ,eAAe,CAACgB,IAAI,CAACF,OAAO,CAAC;IAC/B;IAEA,OAAO,MAAM;MACX,MAAM1B,KAAK,GAAGY,eAAe,CAACiB,OAAO,CAACH,OAAO,CAAC;MAE9C,IAAI1B,KAAK,GAAG,CAAC,CAAC,EAAE;QACdY,eAAe,CAACkB,MAAM,CAAC9B,KAAK,EAAE,CAAC,CAAC;MAClC;IACF,CAAC;EACH,CAAC,EAAE,CAACgB,OAAO,EAAED,WAAW,CAAC,CAAC;EAE1B,MAAM,CAACpB,OAAO,CAAC,GAAGT,KAAK,CAAC6C,QAAQ,CAAC5C,mBAAmB,CAAC;;EAErD;EACA;EACA;EACA,MAAM6C,UAAU,GAAG9C,KAAK,CAAC+C,MAAM,CAACjB,OAAO,CAAC;EACxC,MAAMkB,SAAS,GAAGhD,KAAK,CAAC+C,MAAM,CAAChB,MAAM,CAAC;EACtC,MAAMkB,mBAAmB,GAAGjD,KAAK,CAAC+C,MAAM,CAAClD,gBAAgB,CAAC;EAC1D,MAAMqD,mBAAmB,GAAGlD,KAAK,CAAC+C,MAAM,CAACpD,gBAAgB,CAAC;EAC1D,MAAMwD,qBAAqB,GAAGnD,KAAK,CAAC+C,MAAM,CAACtD,kBAAkB,CAAC;EAE9DO,KAAK,CAACgC,SAAS,CAAC,MAAM;IACpBc,UAAU,CAACM,OAAO,GAAGtB,OAAO;IAC5BkB,SAAS,CAACI,OAAO,GAAGrB,MAAM;IAC1BkB,mBAAmB,CAACG,OAAO,GAAGvD,gBAAgB;IAC9CqD,mBAAmB,CAACE,OAAO,GAAGzD,gBAAgB;IAC9CwD,qBAAqB,CAACC,OAAO,GAAG3D,kBAAkB;EACpD,CAAC,CAAC;EAEF,MAAM4D,MAAM,GAAGrD,KAAK,CAACsD,UAAU,CAACpD,aAAa,CAAC;EAE9C,MAAMqD,eAAe,GAAGvD,KAAK,CAACwD,WAAW,CAAC,MAAM;IAC9C,IAAIC,KAA8B;IAElC,IAAIX,UAAU,CAACM,OAAO,EAAE;MACtB,MAAMM,QAAQ,GACZ,CAAAL,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEK,QAAQ,MACf,OAAOC,MAAM,KAAK,WAAW,GAAGA,MAAM,CAACD,QAAQ,GAAGpD,SAAS,CAAC;MAE/D,MAAMsD,IAAI,GAAGF,QAAQ,GAAGA,QAAQ,CAACG,QAAQ,GAAGH,QAAQ,CAACI,MAAM,GAAGxD,SAAS;MAEvE,IAAIsD,IAAI,EAAE;QACRH,KAAK,GAAGR,mBAAmB,CAACG,OAAO,CAACQ,IAAI,EAAEZ,SAAS,CAACI,OAAO,CAAC;MAC9D;IACF;IAEA,MAAMW,QAAQ,GAAG;MACftC,IAAI,CAACuC,WAAsD,EAAE;QAC3D,OAAO1C,OAAO,CAACC,OAAO,CAACyC,WAAW,GAAGA,WAAW,CAACP,KAAK,CAAC,GAAGA,KAAK,CAAC;MAClE,CAAC;MACDQ,KAAK,GAAG;QACN,OAAOF,QAAQ;MACjB;IACF,CAAC;IAED,OAAOA,QAAQ;IACf;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMG,gBAAgB,GAAGlE,KAAK,CAAC+C,MAAM,CAAqBzC,SAAS,CAAC;EACpE,MAAM6D,gBAAgB,GAAGnE,KAAK,CAAC+C,MAAM,CAA8BzC,SAAS,CAAC;EAC7E,MAAM8D,sBAAsB,GAAGpE,KAAK,CAAC+C,MAAM,CAAqBzC,SAAS,CAAC;EAE1EN,KAAK,CAACgC,SAAS,CAAC,MAAM;IACpBkC,gBAAgB,CAACd,OAAO,GAAG3C,OAAO,CAACK,KAAK;IAExC,OAAOL,OAAO,CAAC4D,MAAM,CAAC,MAAM;MAC1B,MAAMC,UAAU,GAAG1C,GAAG,CAACwB,OAAO;MAE9B,IAAI,CAACkB,UAAU,IAAI,CAACxC,OAAO,EAAE;QAC3B;MACF;MAEA,MAAM;QAAE4B;MAAS,CAAC,GAAGC,MAAM;MAE3B,MAAMC,IAAI,GAAGF,QAAQ,CAACG,QAAQ,GAAGH,QAAQ,CAACI,MAAM;MAChD,MAAMhD,KAAK,GAAGL,OAAO,CAACK,KAAK;MAE3B,MAAMyD,aAAa,GAAGL,gBAAgB,CAACd,OAAO,IAAI,CAAC;MAEnDc,gBAAgB,CAACd,OAAO,GAAGtC,KAAK;MAChCsD,sBAAsB,CAAChB,OAAO,GAAGQ,IAAI;;MAErC;MACA;MACA;MACA,MAAMY,MAAM,GAAG/D,OAAO,CAACgE,GAAG,CAAC3D,KAAK,CAAC;MAEjC,IAAI,CAAA0D,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEZ,IAAI,MAAKA,IAAI,IAAIY,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEvD,KAAK,EAAE;QAC1CqD,UAAU,CAACI,SAAS,CAACF,MAAM,CAACvD,KAAK,CAAC;QAClC;MACF;MAEA,MAAMA,KAAK,GAAGgC,mBAAmB,CAACG,OAAO,CAACQ,IAAI,EAAEZ,SAAS,CAACI,OAAO,CAAC;;MAElE;MACA;MACA,IAAInC,KAAK,EAAE;QACT;QACA;QACA,MAAM0D,SAAS,GAAGL,UAAU,CAACM,YAAY,EAAE;QAE3C,IAAI3D,KAAK,CAACN,MAAM,CAACkE,IAAI,CAAEC,CAAC,IAAK,EAACH,SAAS,aAATA,SAAS,eAATA,SAAS,CAAEI,UAAU,CAACC,QAAQ,CAACF,CAAC,CAACG,IAAI,CAAC,EAAC,EAAE;UACrE7C,OAAO,CAAC8C,IAAI,CACV,0SAA0S,CAC3S;UACD;QACF;QAEA,IAAIpE,KAAK,GAAGyD,aAAa,EAAE;UACzB,MAAMY,MAAM,GAAGhC,qBAAqB,CAACC,OAAO,CAC1CnC,KAAK,EACL+B,SAAS,CAACI,OAAO,CAClB;UAED,IAAI+B,MAAM,KAAK7E,SAAS,EAAE;YACxB,IAAI;cACFgE,UAAU,CAACc,QAAQ,CAACD,MAAM,CAAC;YAC7B,CAAC,CAAC,OAAOE,CAAC,EAAE;cACV;cACA;cACAjD,OAAO,CAAC8C,IAAI,CACT,qDAAoDtB,IAAK,MACxD,OAAOyB,CAAC,KAAK,QAAQ,IAAIA,CAAC,IAAI,IAAI,IAAI,SAAS,IAAIA,CAAC,GAChDA,CAAC,CAACC,OAAO,GACTD,CACL,EAAC,CACH;YACH;UACF,CAAC,MAAM;YACLf,UAAU,CAACI,SAAS,CAACzD,KAAK,CAAC;UAC7B;QACF,CAAC,MAAM;UACLqD,UAAU,CAACI,SAAS,CAACzD,KAAK,CAAC;QAC7B;MACF,CAAC,MAAM;QACL;QACAqD,UAAU,CAACI,SAAS,CAACzD,KAAK,CAAC;MAC7B;IACF,CAAC,CAAC;EACJ,CAAC,EAAE,CAACa,OAAO,EAAErB,OAAO,EAAEmB,GAAG,CAAC,CAAC;EAE3B5B,KAAK,CAACgC,SAAS,CAAC,MAAM;IAAA;IACpB,IAAI,CAACF,OAAO,EAAE;MACZ;IACF;IAEA,MAAMyD,eAAe,GAAG,CACtBC,KAA0C,EAC1CvE,KAAsB,KACX;MACX;MACA;MACA,IAAIuE,KAAK,aAALA,KAAK,eAALA,KAAK,CAAE5B,IAAI,EAAE;QACf,MAAM6B,YAAY,GAAGxC,mBAAmB,CAACG,OAAO,CAC9CoC,KAAK,CAAC5B,IAAI,EACVZ,SAAS,CAACI,OAAO,CAClB;QAED,IAAIqC,YAAY,EAAE;UAChB,MAAMC,YAAY,GAAGlG,gBAAgB,CAACiG,YAAY,CAAC;UAEnD,IACEC,YAAY,IACZA,YAAY,CAACT,IAAI,KAAKO,KAAK,CAACP,IAAI,IAChClF,OAAO,CAAC2F,YAAY,CAACC,MAAM,EAAEH,KAAK,CAACG,MAAM,CAAC,EAC1C;YACA,OAAOH,KAAK,CAAC5B,IAAI;UACnB;QACF;MACF;MAEA,OAAOV,mBAAmB,CAACE,OAAO,CAACnC,KAAK,EAAE+B,SAAS,CAACI,OAAO,CAAC;IAC9D,CAAC;IAED,IAAIxB,GAAG,CAACwB,OAAO,EAAE;MACf;MACA;MACA,MAAMnC,KAAK,GAAGW,GAAG,CAACwB,OAAO,CAACwB,YAAY,EAAE;MAExC,IAAI3D,KAAK,EAAE;QACT,MAAMuE,KAAK,GAAGhG,gBAAgB,CAACyB,KAAK,CAAC;QACrC,MAAM2C,IAAI,GAAG2B,eAAe,CAACC,KAAK,EAAEvE,KAAK,CAAC;QAE1C,IAAIkD,gBAAgB,CAACf,OAAO,KAAK9C,SAAS,EAAE;UAC1C6D,gBAAgB,CAACf,OAAO,GAAGnC,KAAK;QAClC;QAEAR,OAAO,CAACmF,OAAO,CAAC;UAAEhC,IAAI;UAAE3C;QAAM,CAAC,CAAC;MAClC;IACF;IAEA,MAAM4E,aAAa,GAAG,YAAY;MAChC,MAAMvB,UAAU,GAAG1C,GAAG,CAACwB,OAAO;MAE9B,IAAI,CAACkB,UAAU,IAAI,CAACxC,OAAO,EAAE;QAC3B;MACF;MAEA,MAAMgE,aAAa,GAAG3B,gBAAgB,CAACf,OAAO;MAC9C,MAAMnC,KAAK,GAAGqD,UAAU,CAACM,YAAY,EAAE;;MAEvC;MACA,IAAI,CAAC3D,KAAK,EAAE;QACV;MACF;MAEA,MAAM8E,WAAW,GAAG3B,sBAAsB,CAAChB,OAAO;MAClD,MAAMoC,KAAK,GAAGhG,gBAAgB,CAACyB,KAAK,CAAC;MACrC,MAAM2C,IAAI,GAAG2B,eAAe,CAACC,KAAK,EAAEvE,KAAK,CAAC;MAE1CkD,gBAAgB,CAACf,OAAO,GAAGnC,KAAK;MAChCmD,sBAAsB,CAAChB,OAAO,GAAG9C,SAAS;;MAE1C;MACA;MACA;MACA;MACA,MAAM,CAAC0F,oBAAoB,EAAEC,YAAY,CAAC,GAAG9F,iBAAiB,CAC5D2F,aAAa,EACb7E,KAAK,CACN;MAED,IACE+E,oBAAoB,IACpBC,YAAY;MACZ;MACA;MACArC,IAAI,KAAKmC,WAAW,EACpB;QACA,MAAMG,YAAY,GAChB,CAACD,YAAY,CAACxF,OAAO,GACjBwF,YAAY,CAACxF,OAAO,CAACC,MAAM,GAC3BuF,YAAY,CAACtF,MAAM,CAACD,MAAM,KAC7BsF,oBAAoB,CAACvF,OAAO,GACzBuF,oBAAoB,CAACvF,OAAO,CAACC,MAAM,GACnCsF,oBAAoB,CAACrF,MAAM,CAACD,MAAM,CAAC;QAEzC,IAAIwF,YAAY,GAAG,CAAC,EAAE;UACpB;UACA;UACAzF,OAAO,CAACiC,IAAI,CAAC;YAAEkB,IAAI;YAAE3C;UAAM,CAAC,CAAC;QAC/B,CAAC,MAAM,IAAIiF,YAAY,GAAG,CAAC,EAAE;UAC3B;;UAEA,MAAMC,SAAS,GAAG1F,OAAO,CAAC2F,SAAS,CAAC;YAAExC;UAAK,CAAC,CAAC;UAC7C,MAAMyC,YAAY,GAAG5F,OAAO,CAACK,KAAK;UAElC,IAAI;YACF,IACEqF,SAAS,KAAK,CAAC,CAAC,IAChBA,SAAS,GAAGE,YAAY;YACxB;YACA5F,OAAO,CAACgE,GAAG,CAAC0B,SAAS,GAAGE,YAAY,CAAC,EACrC;cACA;cACA,MAAM5F,OAAO,CAAC6F,EAAE,CAACH,SAAS,GAAGE,YAAY,CAAC;YAC5C,CAAC,MAAM;cACL;cACA;cACA;cACA,MAAM5F,OAAO,CAAC6F,EAAE,CAACJ,YAAY,CAAC;YAChC;;YAEA;YACAzF,OAAO,CAACmF,OAAO,CAAC;cAAEhC,IAAI;cAAE3C;YAAM,CAAC,CAAC;UAClC,CAAC,CAAC,OAAOoE,CAAC,EAAE;YACV;UAAA;QAEJ,CAAC,MAAM;UACL;UACA5E,OAAO,CAACmF,OAAO,CAAC;YAAEhC,IAAI;YAAE3C;UAAM,CAAC,CAAC;QAClC;MACF,CAAC,MAAM;QACL;QACA;QACAR,OAAO,CAACmF,OAAO,CAAC;UAAEhC,IAAI;UAAE3C;QAAM,CAAC,CAAC;MAClC;IACF,CAAC;;IAED;IACA;IACA;IACA,uBAAOW,GAAG,CAACwB,OAAO,iDAAX,aAAamD,WAAW,CAAC,OAAO,EAAEpF,MAAM,CAAC0E,aAAa,CAAC,CAAC;EACjE,CAAC,EAAE,CAAC/D,OAAO,EAAErB,OAAO,EAAEmB,GAAG,CAAC,CAAC;EAE3B,OAAO;IACL2B;EACF,CAAC;AACH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"window.d.ts","sourceRoot":"","sources":["../../../../src/__mocks__/window.tsx"],"names":[],"mappings":"AAiEA,QAAA,MAAM,MAAM;;;;;;;yBApDO,GAAG,KAAK,MAAM,QAAQ,MAAM;4BASzB,GAAG,KAAK,MAAM,QAAQ,MAAM;cAO1C,MAAM;;;;6BAwBkB,UAAU,YAAY,MAAM,IAAI;gCAM7B,UAAU,YAAY,MAAM,IAAI;;
|
|
1
|
+
{"version":3,"file":"window.d.ts","sourceRoot":"","sources":["../../../../src/__mocks__/window.tsx"],"names":[],"mappings":"AAiEA,QAAA,MAAM,MAAM;;;;;;;yBApDO,GAAG,KAAK,MAAM,QAAQ,MAAM;4BASzB,GAAG,KAAK,MAAM,QAAQ,MAAM;cAO1C,MAAM;;;;6BAwBkB,UAAU,YAAY,MAAM,IAAI;gCAM7B,UAAU,YAAY,MAAM,IAAI;;CAiBlE,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLinking.d.ts","sourceRoot":"","sources":["../../../src/useLinking.tsx"],"names":[],"mappings":"AAAA,OAAO,EAKL,sBAAsB,EAEtB,aAAa,EACd,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AA4C9C;;GAEG;AACH,eAAO,MAAM,MAAM,OAAQ,MAAM,QAAQ,IAAI,CAAC,eAM7C,CAAC;AAIF,KAAK,OAAO,GAAG,cAAc,CAAC,aAAa,CAAC,GAAG;IAC7C,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,UAAU,CAChC,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,sBAAsB,CAAC,aAAa,CAAC,CAAC,EAC3D,EACE,WAAW,EACX,OAAc,EACd,MAAM,EACN,gBAA0C,EAC1C,gBAA0C,EAC1C,kBAA8C,GAC/C,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"useLinking.d.ts","sourceRoot":"","sources":["../../../src/useLinking.tsx"],"names":[],"mappings":"AAAA,OAAO,EAKL,sBAAsB,EAEtB,aAAa,EACd,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AA4C9C;;GAEG;AACH,eAAO,MAAM,MAAM,OAAQ,MAAM,QAAQ,IAAI,CAAC,eAM7C,CAAC;AAIF,KAAK,OAAO,GAAG,cAAc,CAAC,aAAa,CAAC,GAAG;IAC7C,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,UAAU,CAChC,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,sBAAsB,CAAC,aAAa,CAAC,CAAC,EAC3D,EACE,WAAW,EACX,OAAc,EACd,MAAM,EACN,gBAA0C,EAC1C,gBAA0C,EAC1C,kBAA8C,GAC/C,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6TX"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@react-navigation/native",
|
|
3
3
|
"description": "React Native integration for React Navigation",
|
|
4
|
-
"version": "6.1.
|
|
4
|
+
"version": "6.1.11",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react-native",
|
|
7
7
|
"react-navigation",
|
|
@@ -72,5 +72,5 @@
|
|
|
72
72
|
]
|
|
73
73
|
]
|
|
74
74
|
},
|
|
75
|
-
"gitHead": "
|
|
75
|
+
"gitHead": "131a025721a5b60208ac8b381dd69985ba4a3fa0"
|
|
76
76
|
}
|
package/src/__mocks__/window.tsx
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
let location = new URL('', 'http://example.com');
|
|
2
2
|
|
|
3
3
|
let listeners: (() => void)[] = [];
|
|
4
4
|
let entries = [{ state: null, href: location.href }];
|
|
@@ -12,7 +12,7 @@ const history = {
|
|
|
12
12
|
},
|
|
13
13
|
|
|
14
14
|
pushState(state: any, _: string, path: string) {
|
|
15
|
-
|
|
15
|
+
location = new URL(path, location.origin);
|
|
16
16
|
|
|
17
17
|
currentState = state;
|
|
18
18
|
entries = entries.slice(0, index + 1);
|
|
@@ -21,7 +21,7 @@ const history = {
|
|
|
21
21
|
},
|
|
22
22
|
|
|
23
23
|
replaceState(state: any, _: string, path: string) {
|
|
24
|
-
|
|
24
|
+
location = new URL(path, location.origin);
|
|
25
25
|
|
|
26
26
|
currentState = state;
|
|
27
27
|
entries[index] = { state, href: location.href };
|
|
@@ -35,7 +35,7 @@ const history = {
|
|
|
35
35
|
) {
|
|
36
36
|
index += n;
|
|
37
37
|
const entry = entries[index];
|
|
38
|
-
|
|
38
|
+
location = new URL(entry.href);
|
|
39
39
|
currentState = entry.state;
|
|
40
40
|
listeners.forEach((cb) => cb());
|
|
41
41
|
}
|
|
@@ -65,7 +65,9 @@ const removeEventListener = (type: 'popstate', listener: () => void) => {
|
|
|
65
65
|
|
|
66
66
|
const window = {
|
|
67
67
|
document: { title: '' },
|
|
68
|
-
location
|
|
68
|
+
get location() {
|
|
69
|
+
return location;
|
|
70
|
+
},
|
|
69
71
|
history,
|
|
70
72
|
addEventListener,
|
|
71
73
|
removeEventListener,
|
package/src/useLinking.tsx
CHANGED
|
@@ -183,6 +183,8 @@ export default function useLinking(
|
|
|
183
183
|
return;
|
|
184
184
|
}
|
|
185
185
|
|
|
186
|
+
const { location } = window;
|
|
187
|
+
|
|
186
188
|
const path = location.pathname + location.search;
|
|
187
189
|
const index = history.index;
|
|
188
190
|
|
|
@@ -357,7 +359,12 @@ export default function useLinking(
|
|
|
357
359
|
const currentIndex = history.index;
|
|
358
360
|
|
|
359
361
|
try {
|
|
360
|
-
if (
|
|
362
|
+
if (
|
|
363
|
+
nextIndex !== -1 &&
|
|
364
|
+
nextIndex < currentIndex &&
|
|
365
|
+
// We should only go back if the entry exists and it's less than current index
|
|
366
|
+
history.get(nextIndex - currentIndex)
|
|
367
|
+
) {
|
|
361
368
|
// An existing entry for this path exists and it's less than current index, go back to that
|
|
362
369
|
await history.go(nextIndex - currentIndex);
|
|
363
370
|
} else {
|