🚨 Active Supply Chain Attack:node-ipc Package Compromised.Learn More
Socket
Book a DemoSign in
Socket

@react-navigation/core

Package Overview
Dependencies
Maintainers
7
Versions
321
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@react-navigation/core - npm Package Compare versions

Comparing version
8.0.0-alpha.13
to
8.0.0-alpha.14
+11
-4
lib/module/checkSerializable.js

@@ -12,3 +12,3 @@ "use strict";

serializable: false,
location,
location: location.slice(),
reason: typeof o === 'function' ? 'Function' : String(o)

@@ -21,3 +21,3 @@ };

reason: 'Circular reference',
location
location: location.slice()
};

@@ -28,4 +28,7 @@ }

for (let i = 0; i < o.length; i++) {
const childResult = checkSerializableWithoutCircularReference(o[i], new Set(seen), [...location, i]);
location.push(i);
const childResult = checkSerializableWithoutCircularReference(o[i], seen, location);
location.pop();
if (!childResult.serializable) {
seen.delete(o);
return childResult;

@@ -36,4 +39,7 @@ }

for (const key in o) {
const childResult = checkSerializableWithoutCircularReference(o[key], new Set(seen), [...location, key]);
location.push(key);
const childResult = checkSerializableWithoutCircularReference(o[key], seen, location);
location.pop();
if (!childResult.serializable) {
seen.delete(o);
return childResult;

@@ -43,2 +49,3 @@ }

}
seen.delete(o);
return {

@@ -45,0 +52,0 @@ serializable: true

@@ -1,1 +0,1 @@

{"version":3,"names":["checkSerializableWithoutCircularReference","o","seen","location","undefined","serializable","Object","prototype","toString","call","Array","isArray","reason","String","has","add","i","length","childResult","Set","key","checkSerializable"],"sourceRoot":"../../src","sources":["checkSerializable.tsx"],"mappings":";;AAAA,MAAMA,yCAAyC,GAAGA,CAChDC,CAAyB,EACzBC,IAAc,EACdC,QAA6B,KAOtB;EACP,IACEF,CAAC,KAAKG,SAAS,IACfH,CAAC,KAAK,IAAI,IACV,OAAOA,CAAC,KAAK,SAAS,IACtB,OAAOA,CAAC,KAAK,QAAQ,IACrB,OAAOA,CAAC,KAAK,QAAQ,EACrB;IACA,OAAO;MAAEI,YAAY,EAAE;IAAK,CAAC;EAC/B;EAEA,IACEC,MAAM,CAACC,SAAS,CAACC,QAAQ,CAACC,IAAI,CAACR,CAAC,CAAC,KAAK,iBAAiB,IACvD,CAACS,KAAK,CAACC,OAAO,CAACV,CAAC,CAAC,EACjB;IACA,OAAO;MACLI,YAAY,EAAE,KAAK;MACnBF,QAAQ;MACRS,MAAM,EAAE,OAAOX,CAAC,KAAK,UAAU,GAAG,UAAU,GAAGY,MAAM,CAACZ,CAAC;IACzD,CAAC;EACH;EAEA,IAAIC,IAAI,CAACY,GAAG,CAACb,CAAC,CAAC,EAAE;IACf,OAAO;MACLI,YAAY,EAAE,KAAK;MACnBO,MAAM,EAAE,oBAAoB;MAC5BT;IACF,CAAC;EACH;EAEAD,IAAI,CAACa,GAAG,CAACd,CAAC,CAAC;EAEX,IAAIS,KAAK,CAACC,OAAO,CAACV,CAAC,CAAC,EAAE;IACpB,KAAK,IAAIe,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGf,CAAC,CAACgB,MAAM,EAAED,CAAC,EAAE,EAAE;MACjC,MAAME,WAAW,GAAGlB,yCAAyC,CAC3DC,CAAC,CAACe,CAAC,CAAC,EACJ,IAAIG,GAAG,CAAMjB,IAAI,CAAC,EAClB,CAAC,GAAGC,QAAQ,EAAEa,CAAC,CACjB,CAAC;MAED,IAAI,CAACE,WAAW,CAACb,YAAY,EAAE;QAC7B,OAAOa,WAAW;MACpB;IACF;EACF,CAAC,MAAM;IACL,KAAK,MAAME,GAAG,IAAInB,CAAC,EAAE;MACnB,MAAMiB,WAAW,GAAGlB,yCAAyC,CAC3DC,CAAC,CAACmB,GAAG,CAAC,EACN,IAAID,GAAG,CAAMjB,IAAI,CAAC,EAClB,CAAC,GAAGC,QAAQ,EAAEiB,GAAG,CACnB,CAAC;MAED,IAAI,CAACF,WAAW,CAACb,YAAY,EAAE;QAC7B,OAAOa,WAAW;MACpB;IACF;EACF;EAEA,OAAO;IAAEb,YAAY,EAAE;EAAK,CAAC;AAC/B,CAAC;AAED,OAAO,SAASgB,iBAAiBA,CAACpB,CAAyB,EAAE;EAC3D,OAAOD,yCAAyC,CAACC,CAAC,EAAE,IAAIkB,GAAG,CAAM,CAAC,EAAE,EAAE,CAAC;AACzE","ignoreList":[]}
{"version":3,"names":["checkSerializableWithoutCircularReference","o","seen","location","undefined","serializable","Object","prototype","toString","call","Array","isArray","slice","reason","String","has","add","i","length","push","childResult","pop","delete","key","checkSerializable","Set"],"sourceRoot":"../../src","sources":["checkSerializable.tsx"],"mappings":";;AAQA,MAAMA,yCAAyC,GAAGA,CAChDC,CAAyB,EACzBC,IAAc,EACdC,QAA6B,KAClB;EACX,IACEF,CAAC,KAAKG,SAAS,IACfH,CAAC,KAAK,IAAI,IACV,OAAOA,CAAC,KAAK,SAAS,IACtB,OAAOA,CAAC,KAAK,QAAQ,IACrB,OAAOA,CAAC,KAAK,QAAQ,EACrB;IACA,OAAO;MAAEI,YAAY,EAAE;IAAK,CAAC;EAC/B;EAEA,IACEC,MAAM,CAACC,SAAS,CAACC,QAAQ,CAACC,IAAI,CAACR,CAAC,CAAC,KAAK,iBAAiB,IACvD,CAACS,KAAK,CAACC,OAAO,CAACV,CAAC,CAAC,EACjB;IACA,OAAO;MACLI,YAAY,EAAE,KAAK;MACnBF,QAAQ,EAAEA,QAAQ,CAACS,KAAK,CAAC,CAAC;MAC1BC,MAAM,EAAE,OAAOZ,CAAC,KAAK,UAAU,GAAG,UAAU,GAAGa,MAAM,CAACb,CAAC;IACzD,CAAC;EACH;EAEA,IAAIC,IAAI,CAACa,GAAG,CAACd,CAAC,CAAC,EAAE;IACf,OAAO;MACLI,YAAY,EAAE,KAAK;MACnBQ,MAAM,EAAE,oBAAoB;MAC5BV,QAAQ,EAAEA,QAAQ,CAACS,KAAK,CAAC;IAC3B,CAAC;EACH;EAEAV,IAAI,CAACc,GAAG,CAACf,CAAC,CAAC;EAEX,IAAIS,KAAK,CAACC,OAAO,CAACV,CAAC,CAAC,EAAE;IACpB,KAAK,IAAIgB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGhB,CAAC,CAACiB,MAAM,EAAED,CAAC,EAAE,EAAE;MACjCd,QAAQ,CAACgB,IAAI,CAACF,CAAC,CAAC;MAChB,MAAMG,WAAW,GAAGpB,yCAAyC,CAC3DC,CAAC,CAACgB,CAAC,CAAC,EACJf,IAAI,EACJC,QACF,CAAC;MACDA,QAAQ,CAACkB,GAAG,CAAC,CAAC;MAEd,IAAI,CAACD,WAAW,CAACf,YAAY,EAAE;QAC7BH,IAAI,CAACoB,MAAM,CAACrB,CAAC,CAAC;QACd,OAAOmB,WAAW;MACpB;IACF;EACF,CAAC,MAAM;IACL,KAAK,MAAMG,GAAG,IAAItB,CAAC,EAAE;MACnBE,QAAQ,CAACgB,IAAI,CAACI,GAAG,CAAC;MAClB,MAAMH,WAAW,GAAGpB,yCAAyC,CAC3DC,CAAC,CAACsB,GAAG,CAAC,EACNrB,IAAI,EACJC,QACF,CAAC;MACDA,QAAQ,CAACkB,GAAG,CAAC,CAAC;MAEd,IAAI,CAACD,WAAW,CAACf,YAAY,EAAE;QAC7BH,IAAI,CAACoB,MAAM,CAACrB,CAAC,CAAC;QACd,OAAOmB,WAAW;MACpB;IACF;EACF;EAEAlB,IAAI,CAACoB,MAAM,CAACrB,CAAC,CAAC;EAEd,OAAO;IAAEI,YAAY,EAAE;EAAK,CAAC;AAC/B,CAAC;AAED,OAAO,SAASmB,iBAAiBA,CAACvB,CAAyB,EAAE;EAC3D,OAAOD,yCAAyC,CAACC,CAAC,EAAE,IAAIwB,GAAG,CAAM,CAAC,EAAE,EAAE,CAAC;AACzE","ignoreList":[]}

@@ -1,1 +0,1 @@

{"version":3,"names":["React","Group","Screen","createComponentForStaticConfig","createNavigatorFactory","Navigator","displayName","name","createNavigator","config","NavigatorComponent","with","DecoratorComponent","WithComponent","createElement","getComponent"],"sourceRoot":"../../src","sources":["createNavigatorFactory.tsx"],"mappings":";;AACA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAASC,KAAK,QAAQ,YAAS;AAC/B,SAASC,MAAM,QAAQ,aAAU;AACjC,SACEC,8BAA8B,QAGzB,uBAAoB;AAyB3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,sBAAsBA,CACpCC,SAAmC,EACH;EAChC,MAAMC,WAAW,GAAGD,SAAS,CAACC,WAAW,IAAID,SAAS,CAACE,IAAI,IAAI,WAAW;EAE1E,SAASC,eAAeA,CAACC,MAAY,EAAO;IAC1C,IAAIA,MAAM,IAAI,IAAI,EAAE;MAClB,MAAMC,kBAAkB,GAAGP,8BAA8B,CACvD;QACEE,SAAS;QACTH,MAAM;QACND,KAAK;QACLQ;MACF,CAAC,EACDH,WACF,CAAC;MAED,OAAO;QACLG,MAAM;QACNE,IAAIA,CACFC,kBAEE,EACF;UACA,MAAMC,aAAa,GAAGA,CAAA,KAAM;YAC1B,oBAAOb,KAAK,CAACc,aAAa,CAACF,kBAAkB,EAAE;cAC7CP,SAAS,EAAEK;YACb,CAAC,CAAC;UACJ,CAAC;UAEDG,aAAa,CAACP,WAAW,GAAG,GAAGA,WAAW,MAAM;UAEhD,OAAO;YACLG,MAAM;YACNM,YAAY,EAAEA,CAAA,KAAMF;UACtB,CAAC;QACH,CAAC;QACDE,YAAYA,CAAA,EAAG;UACb,OAAOL,kBAAkB;QAC3B;MACF,CAAC;IACH;IAEA,OAAO;MACLL,SAAS;MACTH,MAAM;MACND;IACF,CAAC;EACH;EAEA,OAAOO,eAAe;AACxB","ignoreList":[]}
{"version":3,"names":["React","Group","Screen","createComponentForStaticConfig","createNavigatorFactory","Navigator","displayName","name","createNavigator","config","NavigatorComponent","with","DecoratorComponent","WithComponent","createElement","getComponent"],"sourceRoot":"../../src","sources":["createNavigatorFactory.tsx"],"mappings":";;AACA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAASC,KAAK,QAAQ,YAAS;AAC/B,SAASC,MAAM,QAAQ,aAAU;AACjC,SACEC,8BAA8B,QAGzB,uBAAoB;AAqC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,sBAAsBA,CACpCC,SAAmC,EACH;EAChC,MAAMC,WAAW,GAAGD,SAAS,CAACC,WAAW,IAAID,SAAS,CAACE,IAAI,IAAI,WAAW;EAE1E,SAASC,eAAeA,CAACC,MAAY,EAAO;IAC1C,IAAIA,MAAM,IAAI,IAAI,EAAE;MAClB,MAAMC,kBAAkB,GAAGP,8BAA8B,CACvD;QACEE,SAAS;QACTH,MAAM;QACND,KAAK;QACLQ;MACF,CAAC,EACDH,WACF,CAAC;MAED,OAAO;QACLG,MAAM;QACNE,IAAIA,CACFC,kBAEE,EACF;UACA,MAAMC,aAAa,GAAGA,CAAA,KAAM;YAC1B,oBAAOb,KAAK,CAACc,aAAa,CAACF,kBAAkB,EAAE;cAC7CP,SAAS,EAAEK;YACb,CAAC,CAAC;UACJ,CAAC;UAEDG,aAAa,CAACP,WAAW,GAAG,GAAGA,WAAW,MAAM;UAEhD,OAAO;YACLG,MAAM;YACNM,YAAY,EAAEA,CAAA,KAAMF;UACtB,CAAC;QACH,CAAC;QACDE,YAAYA,CAAA,EAAG;UACb,OAAOL,kBAAkB;QAC3B;MACF,CAAC;IACH;IAEA,OAAO;MACLL,SAAS;MACTH,MAAM;MACND;IACF,CAAC;EACH;EAEA,OAAOO,eAAe;AACxB","ignoreList":[]}
"use strict";
// Cache the normalized config across calls for the same `options` reference,
// so we don't re-walk the config tree on every action conversion.
const cachedNormalizedConfig = new WeakMap();
export function getActionFromState(state, options) {
// Create a normalized configs object which will be easier to use
const normalizedConfig = options ? createNormalizedConfigItem(options) : {};
let normalizedConfig;
if (options) {
const cached = cachedNormalizedConfig.get(options);
if (cached) {
normalizedConfig = cached;
} else {
normalizedConfig = createNormalizedConfigItem(options);
cachedNormalizedConfig.set(options, normalizedConfig);
}
} else {
normalizedConfig = {};
}
const routes = state.index != null ? state.routes.slice(0, state.index + 1) : state.routes;

@@ -7,0 +20,0 @@ if (routes.length === 0) {

@@ -1,1 +0,1 @@

{"version":3,"names":["getActionFromState","state","options","normalizedConfig","createNormalizedConfigItem","routes","index","slice","length","undefined","key","name","initialRouteName","type","payload","route","current","config","screens","params","path","Object","keys","pop","assign","initial","screen","createNormalizedConfigs","entries","reduce","acc","k","v"],"sourceRoot":"../../src","sources":["getActionFromState.tsx"],"mappings":"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","ignoreList":[]}
{"version":3,"names":["cachedNormalizedConfig","WeakMap","getActionFromState","state","options","normalizedConfig","cached","get","createNormalizedConfigItem","set","routes","index","slice","length","undefined","key","name","initialRouteName","type","payload","route","current","config","screens","params","path","Object","keys","pop","assign","initial","screen","createNormalizedConfigs","entries","reduce","acc","k","v"],"sourceRoot":"../../src","sources":["getActionFromState.tsx"],"mappings":";;AA8BA;AACA;AACA,MAAMA,sBAAsB,GAAG,IAAIC,OAAO,CAAsB,CAAC;AAEjE,OAAO,SAASC,kBAAkBA,CAChCC,KAAoC,EACpCC,OAAiB,EACmD;EACpE,IAAIC,gBAAgB;EAEpB,IAAID,OAAO,EAAE;IACX,MAAME,MAAM,GAAGN,sBAAsB,CAACO,GAAG,CAACH,OAAO,CAAC;IAElD,IAAIE,MAAM,EAAE;MACVD,gBAAgB,GAAGC,MAAM;IAC3B,CAAC,MAAM;MACLD,gBAAgB,GAAGG,0BAA0B,CAC3CJ,OACF,CAAC;MACDJ,sBAAsB,CAACS,GAAG,CAACL,OAAO,EAAEC,gBAA8B,CAAC;IACrE;EACF,CAAC,MAAM;IACLA,gBAAgB,GAAG,CAAC,CAAC;EACvB;EAEA,MAAMK,MAAM,GACVP,KAAK,CAACQ,KAAK,IAAI,IAAI,GAAGR,KAAK,CAACO,MAAM,CAACE,KAAK,CAAC,CAAC,EAAET,KAAK,CAACQ,KAAK,GAAG,CAAC,CAAC,GAAGR,KAAK,CAACO,MAAM;EAE7E,IAAIA,MAAM,CAACG,MAAM,KAAK,CAAC,EAAE;IACvB,OAAOC,SAAS;EAClB;EAEA,IACE,EACGJ,MAAM,CAACG,MAAM,KAAK,CAAC,IAAIH,MAAM,CAAC,CAAC,CAAC,CAACK,GAAG,KAAKD,SAAS,IAClDJ,MAAM,CAACG,MAAM,KAAK,CAAC,IAClBH,MAAM,CAAC,CAAC,CAAC,CAACK,GAAG,KAAKD,SAAS,IAC3BJ,MAAM,CAAC,CAAC,CAAC,CAACM,IAAI,KAAKX,gBAAgB,EAAEY,gBAAgB,IACrDP,MAAM,CAAC,CAAC,CAAC,CAACK,GAAG,KAAKD,SAAU,CAC/B,EACD;IACA,OAAO;MACLI,IAAI,EAAE,OAAO;MACbC,OAAO,EAAEhB;IACX,CAAC;EACH;EAEA,MAAMiB,KAAK,GAAGjB,KAAK,CAACO,MAAM,CAACP,KAAK,CAACQ,KAAK,IAAIR,KAAK,CAACO,MAAM,CAACG,MAAM,GAAG,CAAC,CAAC;EAElE,IAAIQ,OAAkD,GAAGD,KAAK,EAAEjB,KAAK;EACrE,IAAImB,MAA8B,GAAGjB,gBAAgB,EAAEkB,OAAO,GAAGH,KAAK,EAAEJ,IAAI,CAAC;EAC7E,IAAIQ,MAAM,GAAG;IAAE,GAAGJ,KAAK,CAACI;EAAO,CAAyC;EAExE,MAAML,OAOO,GAAGC,KAAK,GACjB;IAAEJ,IAAI,EAAEI,KAAK,CAACJ,IAAI;IAAES,IAAI,EAAEL,KAAK,CAACK,IAAI;IAAED;EAAO,CAAC,GAC9CV,SAAS;;EAEb;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,IAAIK,OAAO,IAAIG,MAAM,EAAEC,OAAO,IAAIG,MAAM,CAACC,IAAI,CAACL,MAAM,CAACC,OAAO,CAAC,CAACV,MAAM,EAAE;IACpEM,OAAO,CAACS,GAAG,GAAG,IAAI;EACpB;EAEA,OAAOP,OAAO,EAAE;IACd,IAAIA,OAAO,CAACX,MAAM,CAACG,MAAM,KAAK,CAAC,EAAE;MAC/B,OAAOC,SAAS;IAClB;IAEA,MAAMJ,MAAM,GACVW,OAAO,CAACV,KAAK,IAAI,IAAI,GACjBU,OAAO,CAACX,MAAM,CAACE,KAAK,CAAC,CAAC,EAAES,OAAO,CAACV,KAAK,GAAG,CAAC,CAAC,GAC1CU,OAAO,CAACX,MAAM;IAEpB,MAAMU,KAAkD,GACtDV,MAAM,CAACA,MAAM,CAACG,MAAM,GAAG,CAAC,CAAC;;IAE3B;IACAa,MAAM,CAACG,MAAM,CAACL,MAAM,EAAE;MACpBM,OAAO,EAAEhB,SAAS;MAClBiB,MAAM,EAAEjB,SAAS;MACjBU,MAAM,EAAEV,SAAS;MACjBX,KAAK,EAAEW;IACT,CAAC,CAAC;IAEF,IAAIJ,MAAM,CAACG,MAAM,KAAK,CAAC,IAAIH,MAAM,CAAC,CAAC,CAAC,CAACK,GAAG,KAAKD,SAAS,EAAE;MACtDU,MAAM,CAACM,OAAO,GAAG,IAAI;MACrBN,MAAM,CAACO,MAAM,GAAGX,KAAK,CAACJ,IAAI;IAC5B,CAAC,MAAM,IACLN,MAAM,CAACG,MAAM,KAAK,CAAC,IACnBH,MAAM,CAAC,CAAC,CAAC,CAACK,GAAG,KAAKD,SAAS,IAC3BJ,MAAM,CAAC,CAAC,CAAC,CAACM,IAAI,KAAKM,MAAM,EAAEL,gBAAgB,IAC3CP,MAAM,CAAC,CAAC,CAAC,CAACK,GAAG,KAAKD,SAAS,EAC3B;MACAU,MAAM,CAACM,OAAO,GAAG,KAAK;MACtBN,MAAM,CAACO,MAAM,GAAGX,KAAK,CAACJ,IAAI;IAC5B,CAAC,MAAM;MACLQ,MAAM,CAACrB,KAAK,GAAGkB,OAAO;MACtB;IACF;IAEA,IAAID,KAAK,CAACjB,KAAK,EAAE;MACfqB,MAAM,CAACA,MAAM,GAAG;QAAE,GAAGJ,KAAK,CAACI;MAAO,CAAC;MACnCA,MAAM,CAACI,GAAG,GAAG,IAAI;MACjBJ,MAAM,GAAGA,MAAM,CAACA,MAA8C;IAChE,CAAC,MAAM;MACLA,MAAM,CAACC,IAAI,GAAGL,KAAK,CAACK,IAAI;MACxBD,MAAM,CAACA,MAAM,GAAGJ,KAAK,CAACI,MAAM;IAC9B;IAEAH,OAAO,GAAGD,KAAK,CAACjB,KAAK;IACrBmB,MAAM,GAAGA,MAAM,EAAEC,OAAO,GAAGH,KAAK,CAACJ,IAAI,CAAC;IAEtC,IAAIM,MAAM,EAAEC,OAAO,IAAIG,MAAM,CAACC,IAAI,CAACL,MAAM,CAACC,OAAO,CAAC,CAACV,MAAM,EAAE;MACzDW,MAAM,CAACI,GAAG,GAAG,IAAI;IACnB;EACF;EAEA,IAAIT,OAAO,EAAEK,MAAM,CAACO,MAAM,IAAIZ,OAAO,EAAEK,MAAM,CAACrB,KAAK,EAAE;IACnDgB,OAAO,CAACS,GAAG,GAAG,IAAI;EACpB;EAEA,IAAI,CAACT,OAAO,EAAE;IACZ;EACF;;EAEA;EACA;EACA,OAAO;IACLD,IAAI,EAAE,UAAU;IAChBC;EACF,CAAC;AACH;AAEA,MAAMX,0BAA0B,GAAIc,MAAmC,IACrE,OAAOA,MAAM,KAAK,QAAQ,IAAIA,MAAM,IAAI,IAAI,GACxC;EACEL,gBAAgB,EACd,kBAAkB,IAAIK,MAAM,GAAGA,MAAM,CAACL,gBAAgB,GAAGH,SAAS;EACpES,OAAO,EACL,SAAS,IAAID,MAAM,IAAIA,MAAM,CAACC,OAAO,IAAI,IAAI,GACzCS,uBAAuB,CAACV,MAAM,CAACC,OAAO,CAAC,GACvCT;AACR,CAAC,GACD,CAAC,CAAC;AAER,MAAMkB,uBAAuB,GAAI5B,OAA8B,IAC7DsB,MAAM,CAACO,OAAO,CAAC7B,OAAO,CAAC,CAAC8B,MAAM,CAA6B,CAACC,GAAG,EAAE,CAACC,CAAC,EAAEC,CAAC,CAAC,KAAK;EAC1E;EACAF,GAAG,CAACC,CAAC,CAAC,GAAG5B,0BAA0B,CAAC6B,CAAC,CAAC;EACtC,OAAOF,GAAG;AACZ,CAAC,EAAE,CAAC,CAAC,CAAC","ignoreList":[]}

@@ -13,2 +13,7 @@ "use strict";

const PARAM_GROUP_PREFIX = 'param_';
const NESTED_SCREEN_PARAM_NAMES = ['screen', 'params', 'initial', 'path', 'merge', 'pop'];
const getExplicitParamNames = parse => {
const names = Object.entries(parse ?? {}).filter(([, parser]) => parser != null).map(([name]) => name);
return names.length ? new Set(names) : undefined;
};
const getStandardSchema = parser => {

@@ -52,3 +57,4 @@ if ('~standard' in parser && typeof parser['~standard'] === 'object' && parser['~standard'] !== null && 'version' in parser['~standard'] && parser['~standard'].version === 1 && 'validate' in parser['~standard'] && typeof parser['~standard'].validate === 'function') {

initialRoutes,
configs
configs,
configsByScreen
} = getConfigResources(options);

@@ -76,10 +82,18 @@ const screens = options?.screens;

}
const decodedSegments = [];
for (const segment of remaining.split('/')) {
if (!segment) {
continue;
}
try {
decodedSegments.push(decodeURIComponent(segment));
} catch {
return undefined;
}
}
if (screens === undefined) {
// When no config is specified, use the path segments as route names
const routes = remaining.split('/').filter(Boolean).map(segment => {
const name = decodeURIComponent(segment);
return {
name
};
});
const routes = decodedSegments.map(name => ({
name
}));
if (routes.length) {

@@ -97,3 +111,3 @@ return createNestedStateObject(path, routes, initialRoutes);

name
})), initialRoutes, configs);
})), initialRoutes, match);
}

@@ -106,7 +120,7 @@ return undefined;

for (const config of configs) {
const routes = matchAgainstConfig(remaining, config, configs);
const routes = matchAgainstConfig(remaining, config, configsByScreen);
if (routes === undefined) {
continue;
}
const state = createNestedStateObject(path, routes, initialRoutes, configs);
const state = createNestedStateObject(path, routes, initialRoutes, config);
if (state !== undefined) {

@@ -138,7 +152,10 @@ return state;

checkForDuplicatedConfigs(configs);
const configWithRegexes = getConfigsWithRegexes(configs);
const configsByScreen = {};
for (const c of configs) {
(configsByScreen[c.screen] ??= []).push(c);
}
return {
initialRoutes,
configs,
configWithRegexes
configsByScreen
};

@@ -255,10 +272,3 @@ }

}
function getConfigsWithRegexes(configs) {
return configs.map(c => ({
...c,
// Add `$` to the regex to make sure it matches till end of the path and not just beginning
regex: c.regex ? new RegExp(c.regex.source + '$') : undefined
}));
}
const matchAgainstConfig = (remaining, config, configs) => {
const matchAgainstConfig = (remaining, config, configsByScreen) => {
if (!config.regex) {

@@ -275,3 +285,3 @@ return undefined;

// Check matching name AND pattern in case same screen is used at different levels in config
const routeConfig = configs.find(c => c.screen === routeName && arrayStartsWith(config.segments, c.segments));
const routeConfig = configsByScreen[routeName]?.find(c => arrayStartsWith(config.segments, c.segments));
let params;

@@ -290,3 +300,8 @@ if (routeConfig && match.groups) {

}
const decoded = decodeURIComponent(value);
let decoded;
try {
decoded = decodeURIComponent(value);
} catch {
return undefined;
}
const parser = routeConfig.parse?.[param.name];

@@ -352,2 +367,4 @@ if (!parser) {

// it could have `screens` prop which has nested configs
const nestedScreens = 'screens' in config ? config.screens : undefined;
const hasNestedScreens = !!nestedScreens;
if (typeof config.path === 'string') {

@@ -367,3 +384,3 @@ if (config.exact && config.path == null) {

path: alias
}], config.parse));
}], config.parse, hasNestedScreens));
} else if (typeof alias === 'object') {

@@ -376,3 +393,3 @@ aliasConfigs.push(createConfigItem(screen, [...routeNames], alias.exact ? [{

path: alias.path
}], alias.parse));
}], alias.parse, hasNestedScreens));
}

@@ -390,3 +407,3 @@ }

});
configs.push(createConfigItem(screen, [...routeNames], [...paths], config.parse));
configs.push(createConfigItem(screen, [...routeNames], [...paths], config.parse, hasNestedScreens));
configs.push(...aliasConfigs);

@@ -397,3 +414,3 @@ }

}
if ('screens' in config && config.screens) {
if (hasNestedScreens) {
// property `initialRouteName` without `screens` has no purpose

@@ -406,4 +423,4 @@ if ('initialRouteName' in config && typeof config.initialRouteName === 'string') {

}
Object.keys(config.screens).forEach(nestedConfig => {
const result = createNormalizedConfigs(nestedConfig, config.screens, initials, [...paths], [...parentScreens], routeNames);
Object.keys(nestedScreens).forEach(nestedConfig => {
const result = createNormalizedConfigs(nestedConfig, nestedScreens, initials, [...paths], [...parentScreens], routeNames);
configs.push(...result);

@@ -416,3 +433,3 @@ });

};
const createConfigItem = (screen, routeNames, paths, parse) => {
const createConfigItem = (screen, routeNames, paths, parse, hasNestedScreens = false) => {
const parts = [];

@@ -449,16 +466,7 @@

routeNames,
parse
parse,
explicitParamNames: getExplicitParamNames(parse),
hasNestedScreens
};
};
const findParseConfigForRoute = (routeName, flatConfig) => {
for (const config of flatConfig) {
if (routeName === config.routeNames[config.routeNames.length - 1]) {
return {
parseConfig: config.parse,
pathParamNames: new Set(config.params.filter(param => param.screen === routeName && typeof param.name === 'string').map(param => param.name))
};
}
}
return undefined;
};

@@ -525,3 +533,3 @@ // Try to find an initial route connected with the one passed

};
const createNestedStateObject = (path, routes, initialRoutes, flatConfig) => {
const createNestedStateObject = (path, routes, initialRoutes, routeConfig) => {
let route = routes.shift();

@@ -546,4 +554,4 @@ const parentScreens = [];

route.path = path.replace(/\/$/, '');
const parseConfigForRoute = flatConfig ? findParseConfigForRoute(route.name, flatConfig) : undefined;
const queryParams = parseQueryParams(path, parseConfigForRoute?.parseConfig, parseConfigForRoute?.pathParamNames);
const pathParamNames = new Set(routeConfig?.params.filter(param => param.screen === routeConfig.screen && typeof param.name === 'string').map(param => param.name));
const queryParams = parseQueryParams(path, routeConfig?.parse, pathParamNames, routeConfig?.explicitParamNames, routeConfig?.hasNestedScreens, route.params);
if (!queryParams.valid) {

@@ -560,3 +568,3 @@ return undefined;

};
const parseQueryParams = (path, parseConfig, pathParamNames = new Set()) => {
const parseQueryParams = (path, parseConfig, pathParamNames = new Set(), explicitParamNames, hasNestedScreens = false, routeParams) => {
const query = path.split('?')[1];

@@ -614,2 +622,10 @@ const params = queryString.parse(query);

}
if (hasNestedScreens && !explicitParamNames?.has('screen') && (typeof params.screen === 'string' || typeof routeParams?.screen === 'string')) {
for (const name of NESTED_SCREEN_PARAM_NAMES) {
if (!explicitParamNames?.has(name)) {
// eslint-disable-next-line @typescript-eslint/no-dynamic-delete
delete params[name];
}
}
}
return {

@@ -616,0 +632,0 @@ valid: true,

@@ -1,1 +0,1 @@

{"version":3,"names":["escape","queryString","arrayStartsWith","findFocusedRoute","getPatternParts","isArrayEqual","validatePathConfig","INVALID_SCHEMA_RESULT_ERROR","INVALID_PARSER_ERROR","PARAM_GROUP_PREFIX","getStandardSchema","parser","version","validate","undefined","getValidationResult","schema","value","result","Array","isArray","issues","Error","getStateFromPath","path","options","initialRoutes","configs","getConfigResources","screens","remaining","replace","endsWith","prefix","normalizedPrefix","startsWith","routes","split","filter","Boolean","map","segment","name","decodeURIComponent","length","createNestedStateObject","match","find","config","segments","join","routeNames","matchAgainstConfig","state","cachedConfigResources","WeakMap","prepareConfigResources","cached","get","resources","set","getInitialRoutes","getSortedNormalizedConfigs","checkForDuplicatedConfigs","configWithRegexes","getConfigsWithRegexes","initialRouteName","push","parentScreens","concat","Object","keys","key","createNormalizedConfigs","sort","a","b","localeCompare","i","Math","max","aWildCard","bWildCard","aParam","bParam","aRegex","includes","bRegex","reduce","acc","pattern","intersects","every","it","assign","c","regex","RegExp","source","validationFailed","matchedRoutes","routeName","routeConfig","screen","params","groups","paramEntries","entries","index","Number","param","decoded","parse","fromEntries","initials","paths","createConfigItem","exact","aliasConfigs","alias","forEach","nestedConfig","pop","parts","part","reg","optional","findParseConfigForRoute","flatConfig","parseConfig","pathParamNames","Set","findInitialRoute","sameParents","createStateObject","initialRoute","route","isEmpty","shift","nestedState","nestedStateIndex","parseConfigForRoute","queryParams","parseQueryParams","valid","query","has","hasOwn"],"sourceRoot":"../../src","sources":["getStateFromPath.tsx"],"mappings":"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","ignoreList":[]}
{"version":3,"names":["escape","queryString","arrayStartsWith","findFocusedRoute","getPatternParts","isArrayEqual","validatePathConfig","INVALID_SCHEMA_RESULT_ERROR","INVALID_PARSER_ERROR","PARAM_GROUP_PREFIX","NESTED_SCREEN_PARAM_NAMES","getExplicitParamNames","parse","names","Object","entries","filter","parser","map","name","length","Set","undefined","getStandardSchema","version","validate","getValidationResult","schema","value","result","Array","isArray","issues","Error","getStateFromPath","path","options","initialRoutes","configs","configsByScreen","getConfigResources","screens","remaining","replace","endsWith","prefix","normalizedPrefix","startsWith","decodedSegments","segment","split","push","decodeURIComponent","routes","createNestedStateObject","match","find","config","segments","join","routeNames","matchAgainstConfig","state","cachedConfigResources","WeakMap","prepareConfigResources","cached","get","resources","set","getInitialRoutes","getSortedNormalizedConfigs","checkForDuplicatedConfigs","c","screen","initialRouteName","parentScreens","concat","keys","key","createNormalizedConfigs","sort","a","b","localeCompare","i","Math","max","aWildCard","bWildCard","aParam","bParam","aRegex","includes","bRegex","reduce","acc","pattern","intersects","every","it","assign","regex","validationFailed","matchedRoutes","routeName","routeConfig","params","groups","paramEntries","index","Number","param","decoded","fromEntries","initials","paths","createConfigItem","nestedScreens","hasNestedScreens","exact","aliasConfigs","alias","forEach","nestedConfig","pop","parts","part","RegExp","reg","optional","explicitParamNames","findInitialRoute","sameParents","createStateObject","initialRoute","route","isEmpty","shift","nestedState","nestedStateIndex","pathParamNames","queryParams","parseQueryParams","valid","parseConfig","routeParams","query","has","hasOwn"],"sourceRoot":"../../src","sources":["getStateFromPath.tsx"],"mappings":"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","ignoreList":[]}

@@ -25,3 +25,3 @@ "use strict";

export { useFocusEffect } from "./useFocusEffect.js";
export { useIsFocused } from "./useIsFocused.js";
export { IsFocusedContext, useIsFocused } from "./useIsFocused.js";
export { useNavigation } from "./useNavigation.js";

@@ -28,0 +28,0 @@ export { useNavigationBuilder } from "./useNavigationBuilder.js";

@@ -1,1 +0,1 @@

{"version":3,"names":["BaseNavigationContainer","createNavigationContainerRef","createNavigatorFactory","CurrentRenderContext","findFocusedRoute","getActionFromState","getFocusedRouteNameFromRoute","getPathFromState","getStateFromPath","NavigationContainerRefContext","NavigationHelpersContext","NavigationIndependentTree","NavigationMetaContext","NavigationContext","NavigationProvider","NavigationRouteContext","PreventRemoveContext","PreventRemoveProvider","createPathConfigForStaticNavigation","createScreenFactory","ThemeContext","ThemeProvider","useTheme","useFocusEffect","useIsFocused","useNavigation","useNavigationBuilder","useNavigationContainerRef","useNavigationIndependentTree","useNavigationState","usePreventRemove","usePreventRemoveContext","useRoute","useStateForPath","validatePathConfig"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,SAASA,uBAAuB,QAAQ,8BAA2B;AACnE,SAASC,4BAA4B,QAAQ,mCAAgC;AAC7E,SACEC,sBAAsB,QAEjB,6BAA0B;AACjC,SAASC,oBAAoB,QAAQ,2BAAwB;AAC7D,SAASC,gBAAgB,QAAQ,uBAAoB;AACrD,SAASC,kBAAkB,QAAQ,yBAAsB;AACzD,SAASC,4BAA4B,QAAQ,mCAAgC;AAC7E,SAASC,gBAAgB,QAAQ,uBAAoB;AACrD,SAASC,gBAAgB,QAAQ,uBAAoB;AACrD,SAASC,6BAA6B,QAAQ,oCAAiC;AAC/E,SAASC,wBAAwB,QAAQ,+BAA4B;AACrE,SAASC,yBAAyB,QAAQ,gCAA6B;AACvE,SAASC,qBAAqB,QAAQ,4BAAyB;AAC/D,SACEC,iBAAiB,EACjBC,kBAAkB,EAClBC,sBAAsB,QACjB,yBAAsB;AAC7B,SAASC,oBAAoB,QAAQ,2BAAwB;AAC7D,SAASC,qBAAqB,QAAQ,4BAAyB;AAC/D,SACEC,mCAAmC,EACnCC,mBAAmB,QASd,uBAAoB;AAC3B,SAASC,YAAY,QAAQ,2BAAwB;AACrD,SAASC,aAAa,QAAQ,4BAAyB;AACvD,SAASC,QAAQ,QAAQ,uBAAoB;AAC7C,cAAc,YAAS;AACvB,SAASC,cAAc,QAAQ,qBAAkB;AACjD,SAASC,YAAY,QAAQ,mBAAgB;AAC7C,SAASC,aAAa,QAAQ,oBAAiB;AAC/C,SAASC,oBAAoB,QAAQ,2BAAwB;AAC7D,SAASC,yBAAyB,QAAQ,gCAA6B;AACvE,SAASC,4BAA4B,QAAQ,mCAAgC;AAC7E,SAASC,kBAAkB,QAAQ,yBAAsB;AACzD,SAASC,gBAAgB,QAAQ,uBAAoB;AACrD,SAASC,uBAAuB,QAAQ,8BAA2B;AACnE,SAASC,QAAQ,QAAQ,eAAY;AACrC,SAASC,eAAe,QAAQ,sBAAmB;AAEnD,SAASC,kBAAkB,QAAQ,yBAAsB;AACzD,cAAc,2BAA2B","ignoreList":[]}
{"version":3,"names":["BaseNavigationContainer","createNavigationContainerRef","createNavigatorFactory","CurrentRenderContext","findFocusedRoute","getActionFromState","getFocusedRouteNameFromRoute","getPathFromState","getStateFromPath","NavigationContainerRefContext","NavigationHelpersContext","NavigationIndependentTree","NavigationMetaContext","NavigationContext","NavigationProvider","NavigationRouteContext","PreventRemoveContext","PreventRemoveProvider","createPathConfigForStaticNavigation","createScreenFactory","ThemeContext","ThemeProvider","useTheme","useFocusEffect","IsFocusedContext","useIsFocused","useNavigation","useNavigationBuilder","useNavigationContainerRef","useNavigationIndependentTree","useNavigationState","usePreventRemove","usePreventRemoveContext","useRoute","useStateForPath","validatePathConfig"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,SAASA,uBAAuB,QAAQ,8BAA2B;AACnE,SAASC,4BAA4B,QAAQ,mCAAgC;AAC7E,SACEC,sBAAsB,QAEjB,6BAA0B;AACjC,SAASC,oBAAoB,QAAQ,2BAAwB;AAC7D,SAASC,gBAAgB,QAAQ,uBAAoB;AACrD,SAASC,kBAAkB,QAAQ,yBAAsB;AACzD,SAASC,4BAA4B,QAAQ,mCAAgC;AAC7E,SAASC,gBAAgB,QAAQ,uBAAoB;AACrD,SAASC,gBAAgB,QAAQ,uBAAoB;AACrD,SAASC,6BAA6B,QAAQ,oCAAiC;AAC/E,SAASC,wBAAwB,QAAQ,+BAA4B;AACrE,SAASC,yBAAyB,QAAQ,gCAA6B;AACvE,SAASC,qBAAqB,QAAQ,4BAAyB;AAC/D,SACEC,iBAAiB,EACjBC,kBAAkB,EAClBC,sBAAsB,QACjB,yBAAsB;AAC7B,SAASC,oBAAoB,QAAQ,2BAAwB;AAC7D,SAASC,qBAAqB,QAAQ,4BAAyB;AAC/D,SACEC,mCAAmC,EACnCC,mBAAmB,QASd,uBAAoB;AAC3B,SAASC,YAAY,QAAQ,2BAAwB;AACrD,SAASC,aAAa,QAAQ,4BAAyB;AACvD,SAASC,QAAQ,QAAQ,uBAAoB;AAC7C,cAAc,YAAS;AACvB,SAASC,cAAc,QAAQ,qBAAkB;AACjD,SAASC,gBAAgB,EAAEC,YAAY,QAAQ,mBAAgB;AAC/D,SAASC,aAAa,QAAQ,oBAAiB;AAC/C,SAASC,oBAAoB,QAAQ,2BAAwB;AAC7D,SAASC,yBAAyB,QAAQ,gCAA6B;AACvE,SAASC,4BAA4B,QAAQ,mCAAgC;AAC7E,SAASC,kBAAkB,QAAQ,yBAAsB;AACzD,SAASC,gBAAgB,QAAQ,uBAAoB;AACrD,SAASC,uBAAuB,QAAQ,8BAA2B;AACnE,SAASC,QAAQ,QAAQ,eAAY;AACrC,SAASC,eAAe,QAAQ,sBAAmB;AAEnD,SAASC,kBAAkB,QAAQ,yBAAsB;AACzD,cAAc,2BAA2B","ignoreList":[]}

@@ -35,46 +35,58 @@ "use strict";

}) => {
const items = listeners.current[type] || {};
const items = listeners.current[type];
// Copy the current list of callbacks in case they are mutated during execution
const callbacks = new Set(Object.values(target ? {
[target]: items[target]
} : items).flatMap(t => t ? Array.from(t) : []));
const event = {
get type() {
return type;
let callbacks;
if (items) {
if (target !== undefined) {
const targetSet = items[target];
if (targetSet && targetSet.size) {
callbacks = new Set(targetSet);
}
} else {
for (const key in items) {
const set = items[key];
if (set && set.size) {
callbacks ??= new Set();
for (const cb of set) {
callbacks.add(cb);
}
}
}
}
}
const descriptors = {
type: {
enumerable: true,
value: type
}
};
if (target !== undefined) {
Object.defineProperty(event, 'target', {
descriptors.target = {
enumerable: true,
get() {
return target;
}
});
value: target
};
}
if (data !== undefined) {
Object.defineProperty(event, 'data', {
descriptors.data = {
enumerable: true,
get() {
return data;
}
});
value: data
};
}
let defaultPrevented = false;
if (canPreventDefault) {
let defaultPrevented = false;
Object.defineProperties(event, {
defaultPrevented: {
enumerable: true,
get() {
return defaultPrevented;
}
},
preventDefault: {
enumerable: true,
value() {
defaultPrevented = true;
}
descriptors.defaultPrevented = {
enumerable: true,
get() {
return defaultPrevented;
}
});
};
descriptors.preventDefault = {
enumerable: true,
value() {
defaultPrevented = true;
}
};
}
const event = Object.defineProperties({}, descriptors);
listenRef.current?.(event);

@@ -81,0 +93,0 @@ callbacks?.forEach(cb => cb(event));

@@ -1,1 +0,1 @@

{"version":3,"names":["React","useEventEmitter","listen","listenRef","useRef","useEffect","current","listeners","Object","create","useCallback","target","removeListener","type","callback","callbacks","delete","addListener","Set","add","emit","data","canPreventDefault","items","values","flatMap","t","Array","from","event","undefined","defineProperty","enumerable","get","defaultPrevented","defineProperties","preventDefault","value","forEach","cb","useMemo"],"sourceRoot":"../../src","sources":["useEventEmitter.tsx"],"mappings":"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","ignoreList":[]}
{"version":3,"names":["React","useEventEmitter","listen","listenRef","useRef","useEffect","current","listeners","Object","create","useCallback","target","removeListener","type","callback","callbacks","delete","addListener","Set","add","emit","data","canPreventDefault","items","undefined","targetSet","size","key","set","cb","descriptors","enumerable","value","defaultPrevented","get","preventDefault","event","defineProperties","forEach","useMemo"],"sourceRoot":"../../src","sources":["useEventEmitter.tsx"],"mappings":"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","ignoreList":[]}

@@ -44,2 +44,3 @@ "use strict";

PrivateValueStore;
const isNavigationState = state => state != null && typeof state === 'object' && 'routes' in state && Array.isArray(state.routes);
const isScreen = child => {

@@ -143,4 +144,5 @@ return child.type === Screen;

const getStateFromParams = params => {
if (params?.state != null) {
return params.state;
const state = params?.state;
if (isNavigationState(state)) {
return state;
} else if (typeof params?.screen === 'string' && params?.initial !== false) {

@@ -194,27 +196,22 @@ return {

});
const screens = routeConfigs.reduce((acc, config) => {
if (config.props.name in acc) {
throw new Error(`A navigator cannot contain multiple 'Screen' components with the same name (found duplicate screen named '${config.props.name}')`);
}
acc[config.props.name] = config;
return acc;
}, {});
const routeNames = routeConfigs.map(config => config.props.name);
const routeKeyList = routeNames.reduce((acc, curr) => {
acc[curr] = screens[curr].keys.map(key => key ?? '').join(':');
return acc;
}, {});
const routeParamList = routeNames.reduce((acc, curr) => {
const {
initialParams
} = screens[curr].props;
acc[curr] = initialParams;
return acc;
}, {});
const routeGetIdList = routeNames.reduce((acc, curr) => Object.assign(acc, {
[curr]: screens[curr].props.getId
}), {});
if (!routeNames.length) {
throw new Error("Couldn't find any screens for the navigator. Have you defined any screens as its children?");
}
const screens = {};
const routeKeyList = {};
const routeParamList = {};
const routeGetIdList = {};
for (const config of routeConfigs) {
const name = config.props.name;
if (name in screens) {
throw new Error(`A navigator cannot contain multiple 'Screen' components with the same name (found duplicate screen named '${name}')`);
}
screens[name] = config;
routeKeyList[name] = config.keys.map(key => key ?? '').join(':');
routeParamList[name] = config.props.initialParams;
Object.assign(routeGetIdList, {
[name]: config.props.getId
});
}
const isStateValid = React.useCallback(state => state.type === undefined || state.type === router.type, [router.type]);

@@ -348,11 +345,12 @@ const isStateInitialized = React.useCallback(state => state !== undefined && state.stale === false && isStateValid(state), [isStateValid]);

let action;
if (typeof route.params.state === 'object' && route.params.state != null && !isNestedParamsConsumed) {
const stateFromParams = route.params.state;
if (isNavigationState(stateFromParams) && !isNestedParamsConsumed) {
didConsumeNestedParams = true;
if (options.routeNamesChangeBehavior === 'lastUnhandled' && doesStateHaveOnlyInvalidRoutes(route.params.state)) {
if (route.params.state !== unhandledState) {
setUnhandledState(route.params.state);
if (options.routeNamesChangeBehavior === 'lastUnhandled' && doesStateHaveOnlyInvalidRoutes(stateFromParams)) {
if (stateFromParams !== unhandledState) {
setUnhandledState(stateFromParams);
}
} else {
// If the route was updated with new state, we should reset to it
action = CommonActions.reset(route.params.state);
action = CommonActions.reset(stateFromParams);
}

@@ -473,21 +471,24 @@ } else if (typeof route.params.screen === 'string' && (route.params.initial === false && isFirstStateInitialization || !isNestedParamsConsumed)) {

}
const navigation = descriptors[route.key].navigation;
const listeners = [].concat(
// Get an array of listeners for all screens + common listeners on navigator
...[screenListeners, ...routeNames.map(name => {
const {
listeners
} = screens[name].props;
return listeners;
})].map(listeners => {
const map = typeof listeners === 'function' ? listeners({
route: route,
navigation
}) : listeners;
return map ? Object.keys(map).filter(type => type === e.type).map(type => map?.[type]) : undefined;
}))
// We don't want same listener to be called multiple times for same event
// So we remove any duplicate functions from the array
.filter((cb, i, self) => cb && self.lastIndexOf(cb) === i);
listeners.forEach(listener => listener?.(e));
const hasPerScreenListeners = routeNames.some(name => screens[name].props.listeners != null);
if (screenListeners != null || hasPerScreenListeners) {
const navigation = descriptors[route.key].navigation;
const listeners = [].concat(
// Get an array of listeners for all screens + common listeners on navigator
...[screenListeners, ...routeNames.map(name => {
const {
listeners
} = screens[name].props;
return listeners;
})].map(listeners => {
const map = typeof listeners === 'function' ? listeners({
route: route,
navigation
}) : listeners;
return map ? Object.keys(map).filter(type => type === e.type).map(type => map?.[type]) : undefined;
}))
// We don't want same listener to be called multiple times for same event
// So we remove any duplicate functions from the array
.filter((cb, i, self) => cb && self.lastIndexOf(cb) === i);
listeners.forEach(listener => listener?.(e));
}
onEmitEvent({

@@ -494,0 +495,0 @@ type: e.type,

@@ -1,1 +0,1 @@

{"version":3,"names":["CommonActions","deepEqual","React","isValidElementType","useLatestCallback","ConsumedParamsContext","deepFreeze","Group","isArrayEqual","isRecordEqual","NavigationBuilderContext","NavigationHelpersContext","NavigationMetaContext","NavigationRouteContext","NavigationStateContext","PreventRemoveProvider","Screen","PrivateValueStore","UnhandledActionContext","useChildListeners","useComponent","useCurrentRender","useDescriptors","useEventEmitter","useFocusedListenersChildrenAdapter","useFocusEvents","FocusedRouteKeyContext","useKeyedChildListeners","useLazyValue","useNavigationHelpers","NavigationStateListenerProvider","useOnAction","useOnGetState","useOnRouteFocus","useRegisterNavigator","useScheduleUpdate","jsx","_jsx","isScreen","child","type","isGroup","Fragment","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKey","groupOptions","groupLayout","configs","Children","toArray","reduce","acc","isValidElement","props","Error","name","JSON","stringify","navigationKey","push","keys","options","layout","screenOptions","screenLayout","String","process","env","NODE_ENV","forEach","config","component","getComponent","console","warn","test","getStateFromParams","params","state","screen","initial","routes","path","useNavigationBuilder","createRouter","navigatorKey","route","use","consumedParams","isNestedParamsConsumed","isConsumed","screenListeners","router","routerOverrides","rest","routeConfigs","initialRouteName","every","original","overrides","screens","routeNames","map","routeKeyList","curr","join","routeParamList","initialParams","routeGetIdList","Object","assign","getId","length","isStateValid","useCallback","isStateInitialized","stale","doesStateHaveOnlyInvalidRoutes","r","includes","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","stateCleanupRef","useRef","lastStateRef","current","stateBeforeInitialization","initializedState","isFirstStateInitialization","paramsUsedForInitialization","useMemo","getRehydratedState","initialRouteParamList","initialParamsFromParams","getInitialState","paramsForState","stateFromParams","hydratedState","routeNamesChangeBehavior","previousRouteKeyListRef","useEffect","previousRouteKeyList","unhandledState","setUnhandledState","useState","nextState","shouldClearUnhandledState","getStateForRouteNamesChange","routeKeyChanges","filter","didConsumeNestedParams","action","reset","navigate","merge","pop","updatedState","getStateForAction","setConsumedParams","setConsumed","shouldUpdate","lastNotifiedStateRef","stateRef","useLayoutEffect","onEmitEvent","emitter","e","target","find","index","navigation","descriptors","listeners","concat","cb","i","self","lastIndexOf","listener","data","defaultPrevented","emit","childListeners","addListener","keyedListeners","addKeyedListener","onAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","onUnhandledActionParent","onUnhandledAction","payload","focusedListeners","focus","getStateListeners","NavigationContent","element","Provider","value"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"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","ignoreList":[]}
{"version":3,"names":["CommonActions","deepEqual","React","isValidElementType","useLatestCallback","ConsumedParamsContext","deepFreeze","Group","isArrayEqual","isRecordEqual","NavigationBuilderContext","NavigationHelpersContext","NavigationMetaContext","NavigationRouteContext","NavigationStateContext","PreventRemoveProvider","Screen","PrivateValueStore","UnhandledActionContext","useChildListeners","useComponent","useCurrentRender","useDescriptors","useEventEmitter","useFocusedListenersChildrenAdapter","useFocusEvents","FocusedRouteKeyContext","useKeyedChildListeners","useLazyValue","useNavigationHelpers","NavigationStateListenerProvider","useOnAction","useOnGetState","useOnRouteFocus","useRegisterNavigator","useScheduleUpdate","jsx","_jsx","isNavigationState","state","Array","isArray","routes","isScreen","child","type","isGroup","Fragment","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKey","groupOptions","groupLayout","configs","Children","toArray","reduce","acc","isValidElement","props","Error","name","JSON","stringify","navigationKey","push","keys","options","layout","screenOptions","screenLayout","String","process","env","NODE_ENV","forEach","config","component","getComponent","console","warn","test","getStateFromParams","params","screen","initial","path","useNavigationBuilder","createRouter","navigatorKey","route","use","consumedParams","isNestedParamsConsumed","isConsumed","screenListeners","router","routerOverrides","rest","routeConfigs","initialRouteName","every","original","overrides","routeNames","map","length","screens","routeKeyList","routeParamList","routeGetIdList","join","initialParams","Object","assign","getId","isStateValid","useCallback","isStateInitialized","stale","doesStateHaveOnlyInvalidRoutes","r","includes","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","stateCleanupRef","useRef","lastStateRef","current","stateBeforeInitialization","initializedState","isFirstStateInitialization","paramsUsedForInitialization","useMemo","getRehydratedState","initialRouteParamList","curr","initialParamsFromParams","getInitialState","paramsForState","stateFromParams","hydratedState","routeNamesChangeBehavior","previousRouteKeyListRef","useEffect","previousRouteKeyList","unhandledState","setUnhandledState","useState","nextState","shouldClearUnhandledState","getStateForRouteNamesChange","routeKeyChanges","filter","didConsumeNestedParams","action","reset","navigate","merge","pop","updatedState","getStateForAction","setConsumedParams","setConsumed","shouldUpdate","lastNotifiedStateRef","stateRef","useLayoutEffect","onEmitEvent","emitter","e","target","find","index","hasPerScreenListeners","some","listeners","navigation","descriptors","concat","cb","i","self","lastIndexOf","listener","data","defaultPrevented","emit","childListeners","addListener","keyedListeners","addKeyedListener","onAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","onUnhandledActionParent","onUnhandledAction","payload","focusedListeners","focus","getStateListeners","NavigationContent","element","Provider","value"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"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","ignoreList":[]}

@@ -34,5 +34,6 @@ "use strict";

}
if (process.env.NODE_ENV !== 'production') {
if (process.env.NODE_ENV !== 'production' && proxy !== previous) {
// FIXME: since the state is updated with mutation, the route object cannot be frozen
// As a workaround, loop through the object and make the properties readonly
// Only needed once per proxy - skip if we're reusing a previously-frozen one
for (const key in proxy) {

@@ -39,0 +40,0 @@ // @ts-expect-error: this is fine since we are looping through the object

@@ -1,1 +0,1 @@

{"version":3,"names":["React","isRecordEqual","CHILD_STATE","Symbol","useRouteCache","routes","cache","useMemo","current","Map","reduce","acc","route","previous","get","key","state","routeWithoutState","proxy","process","env","NODE_ENV","value","Object","defineProperty","enumerable","configurable","writable","set","Array","from","values"],"sourceRoot":"../../src","sources":["useRouteCache.tsx"],"mappings":";;AACA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAASC,aAAa,QAAQ,oBAAiB;AAK/C;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,WAAW,GAAGC,MAAM,CAAC,aAAa,CAAC;;AAEhD;AACA;AACA;AACA;AACA,OAAO,SAASC,aAAaA,CAC3BC,MAAuB,EACvB;EACA;EACA,MAAMC,KAAK,GAAGN,KAAK,CAACO,OAAO,CAAC,OAAO;IAAEC,OAAO,EAAE,IAAIC,GAAG,CAAC;EAAgB,CAAC,CAAC,EAAE,EAAE,CAAC;EAE7EH,KAAK,CAACE,OAAO,GAAGH,MAAM,CAACK,MAAM,CAAC,CAACC,GAAG,EAAEC,KAAK,KAAK;IAC5C,MAAMC,QAAQ,GAAGP,KAAK,CAACE,OAAO,CAACM,GAAG,CAACF,KAAK,CAACG,GAAG,CAAC;IAC7C,MAAM;MAAEC,KAAK;MAAE,GAAGC;IAAkB,CAAC,GAAGL,KAAK;IAE7C,IAAIM,KAAK;IAET,IAAIL,QAAQ,IAAIZ,aAAa,CAACY,QAAQ,EAAEI,iBAAiB,CAAC,EAAE;MAC1D;MACAC,KAAK,GAAGL,QAAQ;IAClB,CAAC,MAAM;MACLK,KAAK,GAAGD,iBAAiB;IAC3B;IAEA,IAAIE,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,EAAE;MACzC;MACA;MACA,KAAK,MAAMN,GAAG,IAAIG,KAAK,EAAE;QACvB;QACA,MAAMI,KAAK,GAAGJ,KAAK,CAACH,GAAG,CAAC;QAExBQ,MAAM,CAACC,cAAc,CAACN,KAAK,EAAEH,GAAG,EAAE;UAChCU,UAAU,EAAE,IAAI;UAChBC,YAAY,EAAE,IAAI;UAClBC,QAAQ,EAAE,KAAK;UACfL;QACF,CAAC,CAAC;MACJ;IACF;IAEAC,MAAM,CAACC,cAAc,CAACN,KAAK,EAAEhB,WAAW,EAAE;MACxCuB,UAAU,EAAE,KAAK;MACjBC,YAAY,EAAE,IAAI;MAClBJ,KAAK,EAAEN;IACT,CAAC,CAAC;IAEFL,GAAG,CAACiB,GAAG,CAAChB,KAAK,CAACG,GAAG,EAAEG,KAAK,CAAC;IAEzB,OAAOP,GAAG;EACZ,CAAC,EAAE,IAAIF,GAAG,CAAC,CAAe,CAAC;EAE3B,OAAOoB,KAAK,CAACC,IAAI,CAACxB,KAAK,CAACE,OAAO,CAACuB,MAAM,CAAC,CAAC,CAAC;AAC3C","ignoreList":[]}
{"version":3,"names":["React","isRecordEqual","CHILD_STATE","Symbol","useRouteCache","routes","cache","useMemo","current","Map","reduce","acc","route","previous","get","key","state","routeWithoutState","proxy","process","env","NODE_ENV","value","Object","defineProperty","enumerable","configurable","writable","set","Array","from","values"],"sourceRoot":"../../src","sources":["useRouteCache.tsx"],"mappings":";;AACA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAASC,aAAa,QAAQ,oBAAiB;AAK/C;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,WAAW,GAAGC,MAAM,CAAC,aAAa,CAAC;;AAEhD;AACA;AACA;AACA;AACA,OAAO,SAASC,aAAaA,CAC3BC,MAAuB,EACvB;EACA;EACA,MAAMC,KAAK,GAAGN,KAAK,CAACO,OAAO,CAAC,OAAO;IAAEC,OAAO,EAAE,IAAIC,GAAG,CAAC;EAAgB,CAAC,CAAC,EAAE,EAAE,CAAC;EAE7EH,KAAK,CAACE,OAAO,GAAGH,MAAM,CAACK,MAAM,CAAC,CAACC,GAAG,EAAEC,KAAK,KAAK;IAC5C,MAAMC,QAAQ,GAAGP,KAAK,CAACE,OAAO,CAACM,GAAG,CAACF,KAAK,CAACG,GAAG,CAAC;IAC7C,MAAM;MAAEC,KAAK;MAAE,GAAGC;IAAkB,CAAC,GAAGL,KAAK;IAE7C,IAAIM,KAAK;IAET,IAAIL,QAAQ,IAAIZ,aAAa,CAACY,QAAQ,EAAEI,iBAAiB,CAAC,EAAE;MAC1D;MACAC,KAAK,GAAGL,QAAQ;IAClB,CAAC,MAAM;MACLK,KAAK,GAAGD,iBAAiB;IAC3B;IAEA,IAAIE,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,IAAIH,KAAK,KAAKL,QAAQ,EAAE;MAC/D;MACA;MACA;MACA,KAAK,MAAME,GAAG,IAAIG,KAAK,EAAE;QACvB;QACA,MAAMI,KAAK,GAAGJ,KAAK,CAACH,GAAG,CAAC;QAExBQ,MAAM,CAACC,cAAc,CAACN,KAAK,EAAEH,GAAG,EAAE;UAChCU,UAAU,EAAE,IAAI;UAChBC,YAAY,EAAE,IAAI;UAClBC,QAAQ,EAAE,KAAK;UACfL;QACF,CAAC,CAAC;MACJ;IACF;IAEAC,MAAM,CAACC,cAAc,CAACN,KAAK,EAAEhB,WAAW,EAAE;MACxCuB,UAAU,EAAE,KAAK;MACjBC,YAAY,EAAE,IAAI;MAClBJ,KAAK,EAAEN;IACT,CAAC,CAAC;IAEFL,GAAG,CAACiB,GAAG,CAAChB,KAAK,CAACG,GAAG,EAAEG,KAAK,CAAC;IAEzB,OAAOP,GAAG;EACZ,CAAC,EAAE,IAAIF,GAAG,CAAC,CAAe,CAAC;EAE3B,OAAOoB,KAAK,CAACC,IAAI,CAACxB,KAAK,CAACE,OAAO,CAACuB,MAAM,CAAC,CAAC,CAAC;AAC3C","ignoreList":[]}

@@ -1,4 +0,2 @@

export declare function checkSerializable(o: {
[key: string]: any;
}): {
type Result = {
serializable: true;

@@ -10,2 +8,6 @@ } | {

};
export declare function checkSerializable(o: {
[key: string]: any;
}): Result;
export {};
//# sourceMappingURL=checkSerializable.d.ts.map

@@ -1,1 +0,1 @@

{"version":3,"file":"checkSerializable.d.ts","sourceRoot":"","sources":["../../../src/checkSerializable.tsx"],"names":[],"mappings":"AAuEA,wBAAgB,iBAAiB,CAAC,CAAC,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE;kBAlEvC,IAAI;;kBAEJ,KAAK;cACT,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE;YACrB,MAAM;EAgEnB"}
{"version":3,"file":"checkSerializable.d.ts","sourceRoot":"","sources":["../../../src/checkSerializable.tsx"],"names":[],"mappings":"AAAA,KAAK,MAAM,GACP;IAAE,YAAY,EAAE,IAAI,CAAA;CAAE,GACtB;IACE,YAAY,EAAE,KAAK,CAAC;IACpB,QAAQ,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AA2EN,wBAAgB,iBAAiB,CAAC,CAAC,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,UAE1D"}

@@ -5,5 +5,6 @@ import type { ParamListBase } from '@react-navigation/routers';

import type { NavigatorTypeBagBase, NavigatorTypeBagFor, TypedNavigator } from './types';
import type { KeysOf } from './utilities';
export type TypedNavigatorFactory<in out TypeBag extends NavigatorTypeBagBase> = {
<const ParamList extends ParamListBase>(): TypedNavigator<NavigatorTypeBagFor<TypeBag, ParamList>, undefined>;
<const Config extends StaticConfig<NavigatorTypeBagFor<TypeBag, ParamListBase>>>(config: Config): TypedNavigator<NavigatorTypeBagFor<TypeBag, StaticParamList<{
<const Config extends StaticConfig<NavigatorTypeBagFor<TypeBag, ParamListBase>> & Record<Exclude<keyof Config, KeysOf<StaticConfig<NavigatorTypeBagFor<TypeBag, ParamListBase>>>>, never>>(config: Config): TypedNavigator<NavigatorTypeBagFor<TypeBag, StaticParamList<{
config: Config;

@@ -10,0 +11,0 @@ }>>, Config>;

@@ -1,1 +0,1 @@

{"version":3,"file":"createNavigatorFactory.d.ts","sourceRoot":"","sources":["../../../src/createNavigatorFactory.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,eAAe,EACrB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EACV,oBAAoB,EACpB,mBAAmB,EACnB,cAAc,EACf,MAAM,SAAS,CAAC;AAEjB,MAAM,MAAM,qBAAqB,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,SAAS,oBAAoB,IAC3E;IACE,CAAC,KAAK,CAAC,SAAS,SAAS,aAAa,KAAK,cAAc,CACvD,mBAAmB,CAAC,OAAO,EAAE,SAAS,CAAC,EACvC,SAAS,CACV,CAAC;IACF,CACE,KAAK,CAAC,MAAM,SAAS,YAAY,CAC/B,mBAAmB,CAAC,OAAO,EAAE,aAAa,CAAC,CAC5C,EAED,MAAM,EAAE,MAAM,GACb,cAAc,CACf,mBAAmB,CAAC,OAAO,EAAE,eAAe,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,EACjE,MAAM,CACP,CAAC;CACH,CAAC;AAEJ;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,SAAS,oBAAoB,EACzE,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,GAClC,qBAAqB,CAAC,OAAO,CAAC,CAiDhC"}
{"version":3,"file":"createNavigatorFactory.d.ts","sourceRoot":"","sources":["../../../src/createNavigatorFactory.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,eAAe,EACrB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EACV,oBAAoB,EACpB,mBAAmB,EACnB,cAAc,EACf,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,MAAM,qBAAqB,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,SAAS,oBAAoB,IAC3E;IACE,CAAC,KAAK,CAAC,SAAS,SAAS,aAAa,KAAK,cAAc,CACvD,mBAAmB,CAAC,OAAO,EAAE,SAAS,CAAC,EACvC,SAAS,CACV,CAAC;IACF,CACE,KAAK,CAAC,MAAM,SAAS,YAAY,CAC/B,mBAAmB,CAAC,OAAO,EAAE,aAAa,CAAC,CAC5C,GAKC,MAAM,CACJ,OAAO,CACL,MAAM,MAAM,EACZ,MAAM,CAAC,YAAY,CAAC,mBAAmB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,CAClE,EACD,KAAK,CACN,EAEH,MAAM,EAAE,MAAM,GACb,cAAc,CACf,mBAAmB,CAAC,OAAO,EAAE,eAAe,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,EACjE,MAAM,CACP,CAAC;CACH,CAAC;AAEJ;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,SAAS,oBAAoB,EACzE,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,GAClC,qBAAqB,CAAC,OAAO,CAAC,CAiDhC"}

@@ -1,1 +0,1 @@

{"version":3,"file":"getActionFromState.d.ts","sourceRoot":"","sources":["../../../src/getActionFromState.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,eAAe,EAGf,YAAY,EAEb,MAAM,2BAA2B,CAAC;AAEnC,OAAO,KAAK,EAAE,qBAAqB,EAAc,aAAa,EAAE,MAAM,SAAS,CAAC;AAOhF,KAAK,OAAO,GAAG;IACb,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CAChC,CAAC;AAEF,KAAK,cAAc,CAAC,KAAK,SAAS,eAAe,IAAI;IACnD,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,EAAE;QACP,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,CAAC,EAAE,qBAAqB,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;QAClD,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KAC3B,CAAC;CACH,CAAC;AAEF,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,YAAY,CAAC,eAAe,CAAC,EACpC,OAAO,CAAC,EAAE,OAAO,GAChB,cAAc,CAAC,eAAe,CAAC,GAAG,aAAa,CAAC,MAAM,GAAG,SAAS,CAmIpE"}
{"version":3,"file":"getActionFromState.d.ts","sourceRoot":"","sources":["../../../src/getActionFromState.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,eAAe,EAGf,YAAY,EAEb,MAAM,2BAA2B,CAAC;AAEnC,OAAO,KAAK,EAAE,qBAAqB,EAAc,aAAa,EAAE,MAAM,SAAS,CAAC;AAOhF,KAAK,OAAO,GAAG;IACb,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CAChC,CAAC;AAEF,KAAK,cAAc,CAAC,KAAK,SAAS,eAAe,IAAI;IACnD,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,EAAE;QACP,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,CAAC,EAAE,qBAAqB,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;QAClD,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KAC3B,CAAC;CACH,CAAC;AAMF,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,YAAY,CAAC,eAAe,CAAC,EACpC,OAAO,CAAC,EAAE,OAAO,GAChB,cAAc,CAAC,eAAe,CAAC,GAAG,aAAa,CAAC,MAAM,GAAG,SAAS,CA+IpE"}

@@ -1,1 +0,1 @@

{"version":3,"file":"getStateFromPath.d.ts","sourceRoot":"","sources":["../../../src/getStateFromPath.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,eAAe,EACf,YAAY,EACb,MAAM,2BAA2B,CAAC;AAQnC,OAAO,KAAK,EAAc,aAAa,EAAE,MAAM,SAAS,CAAC;AAOzD,KAAK,OAAO,CAAC,SAAS,SAAS,EAAE,IAAI;IACnC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;CACnC,CAAC;AA2BF,KAAK,WAAW,GAAG,YAAY,CAAC,eAAe,CAAC,GAAG;IACjD,KAAK,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;CACjC,CAAC;AAsDF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,SAAS,EAAE,EACnD,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,GAC3B,WAAW,GAAG,SAAS,CA+EzB"}
{"version":3,"file":"getStateFromPath.d.ts","sourceRoot":"","sources":["../../../src/getStateFromPath.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,eAAe,EACf,YAAY,EACb,MAAM,2BAA2B,CAAC;AAQnC,OAAO,KAAK,EAAc,aAAa,EAAE,MAAM,SAAS,CAAC;AAOzD,KAAK,OAAO,CAAC,SAAS,SAAS,EAAE,IAAI;IACnC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;CACnC,CAAC;AAwBF,KAAK,WAAW,GAAG,YAAY,CAAC,eAAe,CAAC,GAAG;IACjD,KAAK,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;CACjC,CAAC;AAwEF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,SAAS,EAAE,EACnD,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,GAC3B,WAAW,GAAG,SAAS,CAwFzB"}

@@ -23,3 +23,3 @@ export { BaseNavigationContainer } from './BaseNavigationContainer';

export { useFocusEffect } from './useFocusEffect';
export { useIsFocused } from './useIsFocused';
export { IsFocusedContext, useIsFocused } from './useIsFocused';
export { useNavigation } from './useNavigation';

@@ -26,0 +26,0 @@ export { useNavigationBuilder } from './useNavigationBuilder';

@@ -1,1 +0,1 @@

{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EACL,sBAAsB,EACtB,KAAK,qBAAqB,GAC3B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EACL,mCAAmC,EACnC,mBAAmB,EACnB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,GACvB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,cAAc,2BAA2B,CAAC"}
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EACL,sBAAsB,EACtB,KAAK,qBAAqB,GAC3B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EACL,mCAAmC,EACnC,mBAAmB,EACnB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,GACvB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,cAAc,2BAA2B,CAAC"}

@@ -1,1 +0,1 @@

{"version":3,"file":"useEventEmitter.d.ts","sourceRoot":"","sources":["../../../src/useEventEmitter.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAY,aAAa,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAErE,MAAM,MAAM,sBAAsB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAC9D,YAAY,CAAC,CAAC,CAAC,GAAG;IAChB,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,aAAa,CAAC,CAAC,CAAC,CAAC;CAC9C,CAAC;AAIJ;;GAEG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3D,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,IAAI,GACxB,sBAAsB,CAAC,CAAC,CAAC,CA2G3B"}
{"version":3,"file":"useEventEmitter.d.ts","sourceRoot":"","sources":["../../../src/useEventEmitter.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAY,aAAa,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAErE,MAAM,MAAM,sBAAsB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAC9D,YAAY,CAAC,CAAC,CAAC,GAAG;IAChB,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,aAAa,CAAC,CAAC,CAAC,CAAC;CAC9C,CAAC;AAIJ;;GAEG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3D,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,IAAI,GACxB,sBAAsB,CAAC,CAAC,CAAC,CAoH3B"}

@@ -1,1 +0,1 @@

{"version":3,"file":"useNavigationBuilder.d.ts","sourceRoot":"","sources":["../../../src/useNavigationBuilder.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,YAAY,EAIjB,KAAK,aAAa,EACnB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAgB/B,OAAO,EACL,KAAK,uBAAuB,EAI5B,iBAAiB,EAElB,MAAM,SAAS,CAAC;AAsQjB;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,oBAAoB,EAC1C,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC,EAC5D,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAEpC,YAAY,EAAE,aAAa,CAAC,KAAK,EAAE,gBAAgB,EAAE,aAAa,CAAC,EACnE,OAAO,EAAE,uBAAuB,CAC9B,aAAa,EACb,KAAK,EACL,aAAa,EACb,QAAQ,EACR,GAAG,CACJ,GACC,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAksBhB"}
{"version":3,"file":"useNavigationBuilder.d.ts","sourceRoot":"","sources":["../../../src/useNavigationBuilder.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,YAAY,EAIjB,KAAK,aAAa,EACnB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAgB/B,OAAO,EACL,KAAK,uBAAuB,EAI5B,iBAAiB,EAElB,MAAM,SAAS,CAAC;AAgRjB;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,oBAAoB,EAC1C,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC,EAC5D,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAEpC,YAAY,EAAE,aAAa,CAAC,KAAK,EAAE,gBAAgB,EAAE,aAAa,CAAC,EACnE,OAAO,EAAE,uBAAuB,CAC9B,aAAa,EACb,KAAK,EACL,aAAa,EACb,QAAQ,EACR,GAAG,CACJ,GACC,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyrBhB"}

@@ -1,1 +0,1 @@

{"version":3,"file":"useRouteCache.d.ts","sourceRoot":"","sources":["../../../src/useRouteCache.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAiB,MAAM,2BAA2B,CAAC;AAQhF;;;;GAIG;AACH,eAAO,MAAM,WAAW,eAAwB,CAAC;AAEjD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,SAAS,eAAe,EACzD,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC;;;;;;;;;;MA8CxB"}
{"version":3,"file":"useRouteCache.d.ts","sourceRoot":"","sources":["../../../src/useRouteCache.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAiB,MAAM,2BAA2B,CAAC;AAQhF;;;;GAIG;AACH,eAAO,MAAM,WAAW,eAAwB,CAAC;AAEjD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,SAAS,eAAe,EACzD,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC;;;;;;;;;;MA+CxB"}
{
"name": "@react-navigation/core",
"description": "Core utilities for building navigators",
"version": "8.0.0-alpha.13",
"version": "8.0.0-alpha.14",
"keywords": [

@@ -43,3 +43,3 @@ "react",

"dependencies": {
"@react-navigation/routers": "^8.0.0-alpha.7",
"@react-navigation/routers": "^8.0.0-alpha.8",
"escape-string-regexp": "^5.0.0",

@@ -89,3 +89,3 @@ "fast-deep-equal": "^3.1.3",

},
"gitHead": "f8da528cd6e3920619bac910e24d5030a4ab7910"
"gitHead": "1483f82dfc630d749082390717526776608c43ea"
}

@@ -1,6 +0,2 @@

const checkSerializableWithoutCircularReference = (
o: { [key: string]: any },
seen: Set<any>,
location: (string | number)[]
):
type Result =
| { serializable: true }

@@ -11,3 +7,9 @@ | {

reason: string;
} => {
};
const checkSerializableWithoutCircularReference = (
o: { [key: string]: any },
seen: Set<any>,
location: (string | number)[]
): Result => {
if (

@@ -29,3 +31,3 @@ o === undefined ||

serializable: false,
location,
location: location.slice(),
reason: typeof o === 'function' ? 'Function' : String(o),

@@ -39,3 +41,3 @@ };

reason: 'Circular reference',
location,
location: location.slice(),
};

@@ -48,9 +50,12 @@ }

for (let i = 0; i < o.length; i++) {
location.push(i);
const childResult = checkSerializableWithoutCircularReference(
o[i],
new Set<any>(seen),
[...location, i]
seen,
location
);
location.pop();
if (!childResult.serializable) {
seen.delete(o);
return childResult;

@@ -61,9 +66,12 @@ }

for (const key in o) {
location.push(key);
const childResult = checkSerializableWithoutCircularReference(
o[key],
new Set<any>(seen),
[...location, key]
seen,
location
);
location.pop();
if (!childResult.serializable) {
seen.delete(o);
return childResult;

@@ -74,2 +82,4 @@ }

seen.delete(o);
return { serializable: true };

@@ -76,0 +86,0 @@ };

@@ -16,2 +16,3 @@ import type { ParamListBase } from '@react-navigation/routers';

} from './types';
import type { KeysOf } from './utilities';

@@ -27,3 +28,14 @@ export type TypedNavigatorFactory<in out TypeBag extends NavigatorTypeBagBase> =

NavigatorTypeBagFor<TypeBag, ParamListBase>
>,
> &
// TS only checks for excess properties for non-generic object literal types.
// Since `Config` is generic, extra keys satisfy the constraint and slip through.
// So we force any key in `Config` that isn't a known key to have the type `never`,
// Thus causing an error for any extra key.
Record<
Exclude<
keyof Config,
KeysOf<StaticConfig<NavigatorTypeBagFor<TypeBag, ParamListBase>>>
>,
never
>,
>(

@@ -30,0 +42,0 @@ config: Config

@@ -31,2 +31,6 @@ import type {

// Cache the normalized config across calls for the same `options` reference,
// so we don't re-walk the config tree on every action conversion.
const cachedNormalizedConfig = new WeakMap<Options, ConfigItem>();
export function getActionFromState(

@@ -36,7 +40,19 @@ state: PartialState<NavigationState>,

): NavigateAction<NavigationState> | CommonActions.Action | undefined {
// Create a normalized configs object which will be easier to use
const normalizedConfig = options
? createNormalizedConfigItem(options as PathConfig<object> | string)
: {};
let normalizedConfig;
if (options) {
const cached = cachedNormalizedConfig.get(options);
if (cached) {
normalizedConfig = cached;
} else {
normalizedConfig = createNormalizedConfigItem(
options as PathConfig<object> | string
);
cachedNormalizedConfig.set(options, normalizedConfig as ConfigItem);
}
} else {
normalizedConfig = {};
}
const routes =

@@ -43,0 +59,0 @@ state.index != null ? state.routes.slice(0, state.index + 1) : state.routes;

@@ -32,7 +32,2 @@ import type {

type RouteParseConfig = {
parseConfig?: ParseConfig | undefined;
pathParamNames: Set<string>;
};
type RouteConfig = {

@@ -45,2 +40,4 @@ screen: string;

parse?: ParseConfig | undefined;
explicitParamNames?: Set<string> | undefined;
hasNestedScreens: boolean;
};

@@ -66,2 +63,3 @@

configs: RouteConfig[];
configsByScreen: Record<string, RouteConfig[]>;
};

@@ -77,2 +75,19 @@

const NESTED_SCREEN_PARAM_NAMES = [
'screen',
'params',
'initial',
'path',
'merge',
'pop',
];
const getExplicitParamNames = (parse?: ParseConfig) => {
const names = Object.entries(parse ?? {})
.filter(([, parser]) => parser != null)
.map(([name]) => name);
return names.length ? new Set(names) : undefined;
};
const getStandardSchema = (parser: ParseConfigValue) => {

@@ -136,3 +151,4 @@ if (

): ResultState | undefined {
const { initialRoutes, configs } = getConfigResources(options);
const { initialRoutes, configs, configsByScreen } =
getConfigResources(options);

@@ -164,11 +180,19 @@ const screens = options?.screens;

const decodedSegments: string[] = [];
for (const segment of remaining.split('/')) {
if (!segment) {
continue;
}
try {
decodedSegments.push(decodeURIComponent(segment));
} catch {
return undefined;
}
}
if (screens === undefined) {
// When no config is specified, use the path segments as route names
const routes = remaining
.split('/')
.filter(Boolean)
.map((segment) => {
const name = decodeURIComponent(segment);
return { name };
});
const routes = decodedSegments.map((name) => ({ name }));

@@ -192,3 +216,3 @@ if (routes.length) {

initialRoutes,
configs
match
);

@@ -203,3 +227,3 @@ }

for (const config of configs) {
const routes = matchAgainstConfig(remaining, config, configs);
const routes = matchAgainstConfig(remaining, config, configsByScreen);

@@ -210,3 +234,3 @@ if (routes === undefined) {

const state = createNestedStateObject(path, routes, initialRoutes, configs);
const state = createNestedStateObject(path, routes, initialRoutes, config);

@@ -252,8 +276,12 @@ if (state !== undefined) {

const configWithRegexes = getConfigsWithRegexes(configs);
const configsByScreen: Record<string, RouteConfig[]> = {};
for (const c of configs) {
(configsByScreen[c.screen] ??= []).push(c);
}
return {
initialRoutes,
configs,
configWithRegexes,
configsByScreen,
};

@@ -401,14 +429,6 @@ }

function getConfigsWithRegexes(configs: RouteConfig[]) {
return configs.map((c) => ({
...c,
// Add `$` to the regex to make sure it matches till end of the path and not just beginning
regex: c.regex ? new RegExp(c.regex.source + '$') : undefined,
}));
}
const matchAgainstConfig = (
remaining: string,
config: RouteConfig,
configs: RouteConfig[]
configsByScreen: Record<string, RouteConfig[]>
) => {

@@ -430,5 +450,4 @@ if (!config.regex) {

// Check matching name AND pattern in case same screen is used at different levels in config
const routeConfig = configs.find(
(c) =>
c.screen === routeName && arrayStartsWith(config.segments, c.segments)
const routeConfig = configsByScreen[routeName]?.find((c) =>
arrayStartsWith(config.segments, c.segments)
);

@@ -454,3 +473,10 @@

const decoded = decodeURIComponent(value);
let decoded: string;
try {
decoded = decodeURIComponent(value);
} catch {
return undefined;
}
const parser = routeConfig.parse?.[param.name];

@@ -532,2 +558,5 @@

// it could have `screens` prop which has nested configs
const nestedScreens = 'screens' in config ? config.screens : undefined;
const hasNestedScreens = !!nestedScreens;
if (typeof config.path === 'string') {

@@ -552,3 +581,4 @@ if (config.exact && config.path == null) {

[...paths, { screen, path: alias }],
config.parse
config.parse,
hasNestedScreens
)

@@ -564,3 +594,4 @@ );

: [...paths, { screen, path: alias.path }],
alias.parse
alias.parse,
hasNestedScreens
)

@@ -580,3 +611,9 @@ );

configs.push(
createConfigItem(screen, [...routeNames], [...paths], config.parse)
createConfigItem(
screen,
[...routeNames],
[...paths],
config.parse,
hasNestedScreens
)
);

@@ -597,3 +634,3 @@

if ('screens' in config && config.screens) {
if (hasNestedScreens) {
// property `initialRouteName` without `screens` has no purpose

@@ -610,6 +647,6 @@ if (

Object.keys(config.screens).forEach((nestedConfig) => {
Object.keys(nestedScreens).forEach((nestedConfig) => {
const result = createNormalizedConfigs(
nestedConfig,
config.screens as Record<string, string | PathConfig<{}>>,
nestedScreens as Record<string, string | PathConfig<{}>>,
initials,

@@ -635,3 +672,4 @@ [...paths],

paths: { screen: string; path: string }[],
parse?: ParseConfig
parse?: ParseConfig,
hasNestedScreens = false
): RouteConfig => {

@@ -681,30 +719,7 @@ const parts: (PatternPart & { screen: string })[] = [];

parse,
explicitParamNames: getExplicitParamNames(parse),
hasNestedScreens,
};
};
const findParseConfigForRoute = (
routeName: string,
flatConfig: RouteConfig[]
): RouteParseConfig | undefined => {
for (const config of flatConfig) {
if (routeName === config.routeNames[config.routeNames.length - 1]) {
return {
parseConfig: config.parse,
pathParamNames: new Set(
config.params
.filter(
(
param
): param is { screen: string; name: string; index: number } =>
param.screen === routeName && typeof param.name === 'string'
)
.map((param) => param.name)
),
};
}
}
return undefined;
};
// Try to find an initial route connected with the one passed

@@ -771,3 +786,3 @@ const findInitialRoute = (

initialRoutes: InitialRouteConfig[],
flatConfig?: RouteConfig[]
routeConfig?: RouteConfig
): InitialState | undefined => {

@@ -814,10 +829,18 @@ let route = routes.shift() as ParsedRoute;

const parseConfigForRoute = flatConfig
? findParseConfigForRoute(route.name, flatConfig)
: undefined;
const pathParamNames = new Set(
routeConfig?.params
.filter(
(param): param is { screen: string; name: string; index: number } =>
param.screen === routeConfig.screen && typeof param.name === 'string'
)
.map((param) => param.name)
);
const queryParams = parseQueryParams(
path,
parseConfigForRoute?.parseConfig,
parseConfigForRoute?.pathParamNames
routeConfig?.parse,
pathParamNames,
routeConfig?.explicitParamNames,
routeConfig?.hasNestedScreens,
route.params
);

@@ -839,3 +862,6 @@

parseConfig?: ParseConfig,
pathParamNames: Set<string> = new Set()
pathParamNames: Set<string> = new Set(),
explicitParamNames?: Set<string>,
hasNestedScreens = false,
routeParams?: Record<string, unknown>
):

@@ -909,2 +935,16 @@ | { valid: true; params?: Record<string, unknown> | undefined }

if (
hasNestedScreens &&
!explicitParamNames?.has('screen') &&
(typeof params.screen === 'string' ||
typeof routeParams?.screen === 'string')
) {
for (const name of NESTED_SCREEN_PARAM_NAMES) {
if (!explicitParamNames?.has(name)) {
// eslint-disable-next-line @typescript-eslint/no-dynamic-delete
delete params[name];
}
}
}
return {

@@ -911,0 +951,0 @@ valid: true,

@@ -41,3 +41,3 @@ export { BaseNavigationContainer } from './BaseNavigationContainer';

export { useFocusEffect } from './useFocusEffect';
export { useIsFocused } from './useIsFocused';
export { IsFocusedContext, useIsFocused } from './useIsFocused';
export { useNavigation } from './useNavigation';

@@ -44,0 +44,0 @@ export { useNavigationBuilder } from './useNavigationBuilder';

@@ -62,54 +62,63 @@ import * as React from 'react';

}) => {
const items = listeners.current[type] || {};
const items = listeners.current[type];
// Copy the current list of callbacks in case they are mutated during execution
const callbacks = new Set(
Object.values(target ? { [target]: items[target] } : items).flatMap(
(t) => (t ? Array.from(t) : [])
)
);
let callbacks: Set<(e: any) => void> | undefined;
const event: EventArg<any, any, any> = {
get type() {
return type;
},
if (items) {
if (target !== undefined) {
const targetSet = items[target];
if (targetSet && targetSet.size) {
callbacks = new Set(targetSet);
}
} else {
for (const key in items) {
const set = items[key];
if (set && set.size) {
callbacks ??= new Set();
for (const cb of set) {
callbacks.add(cb);
}
}
}
}
}
const descriptors: PropertyDescriptorMap = {
type: { enumerable: true, value: type },
};
if (target !== undefined) {
Object.defineProperty(event, 'target', {
enumerable: true,
get() {
return target;
},
});
descriptors.target = { enumerable: true, value: target };
}
if (data !== undefined) {
Object.defineProperty(event, 'data', {
enumerable: true,
get() {
return data;
},
});
descriptors.data = { enumerable: true, value: data };
}
let defaultPrevented = false;
if (canPreventDefault) {
let defaultPrevented = false;
Object.defineProperties(event, {
defaultPrevented: {
enumerable: true,
get() {
return defaultPrevented;
},
descriptors.defaultPrevented = {
enumerable: true,
get() {
return defaultPrevented;
},
preventDefault: {
enumerable: true,
value() {
defaultPrevented = true;
},
};
descriptors.preventDefault = {
enumerable: true,
value() {
defaultPrevented = true;
},
});
};
}
const event: EventArg<any, any, any> = Object.defineProperties(
{} as EventArg<any, any, any>,
descriptors
);
listenRef.current?.(event);

@@ -116,0 +125,0 @@

@@ -66,2 +66,10 @@ import {

const isNavigationState = (
state: unknown
): state is NavigationState | PartialState<NavigationState> =>
state != null &&
typeof state === 'object' &&
'routes' in state &&
Array.isArray(state.routes);
const isScreen = (

@@ -283,4 +291,6 @@ child: React.ReactElement<unknown>

const getStateFromParams = (params: NavigatorRoute['params']) => {
if (params?.state != null) {
return params.state;
const state = params?.state;
if (isNavigationState(state)) {
return state;
} else if (typeof params?.screen === 'string' && params?.initial !== false) {

@@ -378,40 +388,3 @@ return {

const screens = routeConfigs.reduce<
Record<string, ScreenConfigWithParent<State, ScreenOptions, EventMap>>
>((acc, config) => {
if (config.props.name in acc) {
throw new Error(
`A navigator cannot contain multiple 'Screen' components with the same name (found duplicate screen named '${config.props.name}')`
);
}
acc[config.props.name] = config;
return acc;
}, {});
const routeNames = routeConfigs.map((config) => config.props.name);
const routeKeyList = routeNames.reduce<Record<string, React.Key | undefined>>(
(acc, curr) => {
acc[curr] = screens[curr].keys.map((key) => key ?? '').join(':');
return acc;
},
{}
);
const routeParamList = routeNames.reduce<Record<string, object | undefined>>(
(acc, curr) => {
const { initialParams } = screens[curr].props;
acc[curr] = initialParams;
return acc;
},
{}
);
const routeGetIdList = routeNames.reduce<
RouterConfigOptions['routeGetIdList']
>(
(acc, curr) =>
Object.assign(acc, {
[curr]: screens[curr].props.getId,
}),
{}
);

@@ -424,2 +397,27 @@ if (!routeNames.length) {

const screens: Record<
string,
ScreenConfigWithParent<State, ScreenOptions, EventMap>
> = {};
const routeKeyList: Record<string, React.Key | undefined> = {};
const routeParamList: Record<string, object | undefined> = {};
const routeGetIdList: RouterConfigOptions['routeGetIdList'] = {};
for (const config of routeConfigs) {
const name = config.props.name;
if (name in screens) {
throw new Error(
`A navigator cannot contain multiple 'Screen' components with the same name (found duplicate screen named '${name}')`
);
}
screens[name] = config;
routeKeyList[name] = config.keys.map((key) => key ?? '').join(':');
routeParamList[name] = config.props.initialParams;
Object.assign(routeGetIdList, { [name]: config.props.getId });
}
const isStateValid = React.useCallback(

@@ -663,8 +661,5 @@ (state: NavigationState | PartialState<NavigationState>) =>

let action: CommonActions.Action | undefined;
const stateFromParams = route.params.state;
if (
typeof route.params.state === 'object' &&
route.params.state != null &&
!isNestedParamsConsumed
) {
if (isNavigationState(stateFromParams) && !isNestedParamsConsumed) {
didConsumeNestedParams = true;

@@ -674,10 +669,10 @@

options.routeNamesChangeBehavior === 'lastUnhandled' &&
doesStateHaveOnlyInvalidRoutes(route.params.state)
doesStateHaveOnlyInvalidRoutes(stateFromParams)
) {
if (route.params.state !== unhandledState) {
setUnhandledState(route.params.state);
if (stateFromParams !== unhandledState) {
setUnhandledState(stateFromParams);
}
} else {
// If the route was updated with new state, we should reset to it
action = CommonActions.reset(route.params.state);
action = CommonActions.reset(stateFromParams);
}

@@ -843,32 +838,38 @@ } else if (

const navigation = descriptors[route.key].navigation;
const hasPerScreenListeners = routeNames.some(
(name) => screens[name].props.listeners != null
);
const listeners = ([] as (((e: any) => void) | undefined)[])
.concat(
// Get an array of listeners for all screens + common listeners on navigator
...[
screenListeners,
...routeNames.map((name) => {
const { listeners } = screens[name].props;
return listeners;
}),
].map((listeners) => {
const map =
typeof listeners === 'function'
? listeners({ route: route as any, navigation })
: listeners;
if (screenListeners != null || hasPerScreenListeners) {
const navigation = descriptors[route.key].navigation;
return map
? Object.keys(map)
.filter((type) => type === e.type)
.map((type) => map?.[type])
: undefined;
})
)
// We don't want same listener to be called multiple times for same event
// So we remove any duplicate functions from the array
.filter((cb, i, self) => cb && self.lastIndexOf(cb) === i);
const listeners = ([] as (((e: any) => void) | undefined)[])
.concat(
// Get an array of listeners for all screens + common listeners on navigator
...[
screenListeners,
...routeNames.map((name) => {
const { listeners } = screens[name].props;
return listeners;
}),
].map((listeners) => {
const map =
typeof listeners === 'function'
? listeners({ route: route as any, navigation })
: listeners;
listeners.forEach((listener) => listener?.(e));
return map
? Object.keys(map)
.filter((type) => type === e.type)
.map((type) => map?.[type])
: undefined;
})
)
// We don't want same listener to be called multiple times for same event
// So we remove any duplicate functions from the array
.filter((cb, i, self) => cb && self.lastIndexOf(cb) === i);
listeners.forEach((listener) => listener?.(e));
}
onEmitEvent({

@@ -875,0 +876,0 @@ type: e.type,

@@ -39,5 +39,6 @@ import type { NavigationState, ParamListBase } from '@react-navigation/routers';

if (process.env.NODE_ENV !== 'production') {
if (process.env.NODE_ENV !== 'production' && proxy !== previous) {
// FIXME: since the state is updated with mutation, the route object cannot be frozen
// As a workaround, loop through the object and make the properties readonly
// Only needed once per proxy - skip if we're reusing a previously-frozen one
for (const key in proxy) {

@@ -44,0 +45,0 @@ // @ts-expect-error: this is fine since we are looping through the object