@react-navigation/core 8.0.0-alpha.13 → 8.0.0-alpha.15

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.
Files changed (35) hide show
  1. package/lib/module/checkSerializable.js +11 -4
  2. package/lib/module/checkSerializable.js.map +1 -1
  3. package/lib/module/createNavigatorFactory.js.map +1 -1
  4. package/lib/module/getActionFromState.js +15 -2
  5. package/lib/module/getActionFromState.js.map +1 -1
  6. package/lib/module/getStateFromPath.js +61 -45
  7. package/lib/module/getStateFromPath.js.map +1 -1
  8. package/lib/module/index.js +1 -1
  9. package/lib/module/index.js.map +1 -1
  10. package/lib/module/useEventEmitter.js +43 -31
  11. package/lib/module/useEventEmitter.js.map +1 -1
  12. package/lib/module/useNavigationBuilder.js +48 -47
  13. package/lib/module/useNavigationBuilder.js.map +1 -1
  14. package/lib/module/useRouteCache.js +2 -1
  15. package/lib/module/useRouteCache.js.map +1 -1
  16. package/lib/typescript/src/checkSerializable.d.ts +5 -3
  17. package/lib/typescript/src/checkSerializable.d.ts.map +1 -1
  18. package/lib/typescript/src/createNavigatorFactory.d.ts +2 -1
  19. package/lib/typescript/src/createNavigatorFactory.d.ts.map +1 -1
  20. package/lib/typescript/src/getActionFromState.d.ts.map +1 -1
  21. package/lib/typescript/src/getStateFromPath.d.ts.map +1 -1
  22. package/lib/typescript/src/index.d.ts +1 -1
  23. package/lib/typescript/src/index.d.ts.map +1 -1
  24. package/lib/typescript/src/useEventEmitter.d.ts.map +1 -1
  25. package/lib/typescript/src/useNavigationBuilder.d.ts.map +1 -1
  26. package/lib/typescript/src/useRouteCache.d.ts.map +1 -1
  27. package/package.json +3 -3
  28. package/src/checkSerializable.tsx +22 -12
  29. package/src/createNavigatorFactory.tsx +13 -1
  30. package/src/getActionFromState.tsx +20 -4
  31. package/src/getStateFromPath.tsx +110 -70
  32. package/src/index.tsx +1 -1
  33. package/src/useEventEmitter.tsx +45 -36
  34. package/src/useNavigationBuilder.tsx +77 -76
  35. package/src/useRouteCache.tsx +2 -1
@@ -9,7 +9,7 @@ const checkSerializableWithoutCircularReference = (o, seen, location) => {
9
9
  if (Object.prototype.toString.call(o) !== '[object Object]' && !Array.isArray(o)) {
10
10
  return {
11
11
  serializable: false,
12
- location,
12
+ location: location.slice(),
13
13
  reason: typeof o === 'function' ? 'Function' : String(o)
14
14
  };
15
15
  }
@@ -17,25 +17,32 @@ const checkSerializableWithoutCircularReference = (o, seen, location) => {
17
17
  return {
18
18
  serializable: false,
19
19
  reason: 'Circular reference',
20
- location
20
+ location: location.slice()
21
21
  };
22
22
  }
23
23
  seen.add(o);
24
24
  if (Array.isArray(o)) {
25
25
  for (let i = 0; i < o.length; i++) {
26
- const childResult = checkSerializableWithoutCircularReference(o[i], new Set(seen), [...location, i]);
26
+ location.push(i);
27
+ const childResult = checkSerializableWithoutCircularReference(o[i], seen, location);
28
+ location.pop();
27
29
  if (!childResult.serializable) {
30
+ seen.delete(o);
28
31
  return childResult;
29
32
  }
30
33
  }
31
34
  } else {
32
35
  for (const key in o) {
33
- const childResult = checkSerializableWithoutCircularReference(o[key], new Set(seen), [...location, key]);
36
+ location.push(key);
37
+ const childResult = checkSerializableWithoutCircularReference(o[key], seen, location);
38
+ location.pop();
34
39
  if (!childResult.serializable) {
40
+ seen.delete(o);
35
41
  return childResult;
36
42
  }
37
43
  }
38
44
  }
45
+ seen.delete(o);
39
46
  return {
40
47
  serializable: true
41
48
  };
@@ -1 +1 @@
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":[]}
1
+ {"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 @@
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":[]}
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;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":[]}
@@ -1,8 +1,21 @@
1
1
  "use strict";
2
2
 
3
+ // Cache the normalized config across calls for the same `options` reference,
4
+ // so we don't re-walk the config tree on every action conversion.
5
+ const cachedNormalizedConfig = new WeakMap();
3
6
  export function getActionFromState(state, options) {
4
- // Create a normalized configs object which will be easier to use
5
- const normalizedConfig = options ? createNormalizedConfigItem(options) : {};
7
+ let normalizedConfig;
8
+ if (options) {
9
+ const cached = cachedNormalizedConfig.get(options);
10
+ if (cached) {
11
+ normalizedConfig = cached;
12
+ } else {
13
+ normalizedConfig = createNormalizedConfigItem(options);
14
+ cachedNormalizedConfig.set(options, normalizedConfig);
15
+ }
16
+ } else {
17
+ normalizedConfig = {};
18
+ }
6
19
  const routes = state.index != null ? state.routes.slice(0, state.index + 1) : state.routes;
7
20
  if (routes.length === 0) {
8
21
  return undefined;
@@ -1 +1 @@
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":[]}
1
+ {"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":"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","ignoreList":[]}
@@ -10,6 +10,11 @@ import { validatePathConfig } from "./validatePathConfig.js";
10
10
  const INVALID_SCHEMA_RESULT_ERROR = 'Invalid validation result from schema. It should be an object with either "value" or "issues" property and cannot be asynchronous.';
11
11
  const INVALID_PARSER_ERROR = 'Invalid parser. Expected a function or a Standard Schema V1 object.';
12
12
  const PARAM_GROUP_PREFIX = 'param_';
13
+ const NESTED_SCREEN_PARAM_NAMES = ['screen', 'params', 'initial', 'path', 'merge', 'pop'];
14
+ const getExplicitParamNames = parse => {
15
+ const names = Object.entries(parse ?? {}).filter(([, parser]) => parser != null).map(([name]) => name);
16
+ return names.length ? new Set(names) : undefined;
17
+ };
13
18
  const getStandardSchema = parser => {
14
19
  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') {
15
20
  return parser['~standard'];
@@ -48,7 +53,8 @@ const getValidationResult = (schema, value) => {
48
53
  export function getStateFromPath(path, options) {
49
54
  const {
50
55
  initialRoutes,
51
- configs
56
+ configs,
57
+ configsByScreen
52
58
  } = getConfigResources(options);
53
59
  const screens = options?.screens;
54
60
  let remaining = path.replace(/\/+/g, '/') // Replace multiple slash (//) with single ones
@@ -71,14 +77,22 @@ export function getStateFromPath(path, options) {
71
77
  // Remove the prefix from the path
72
78
  remaining = remaining.replace(normalizedPrefix, '');
73
79
  }
80
+ const decodedSegments = [];
81
+ for (const segment of remaining.split('/')) {
82
+ if (!segment) {
83
+ continue;
84
+ }
85
+ try {
86
+ decodedSegments.push(decodeURIComponent(segment));
87
+ } catch {
88
+ return undefined;
89
+ }
90
+ }
74
91
  if (screens === undefined) {
75
92
  // When no config is specified, use the path segments as route names
76
- const routes = remaining.split('/').filter(Boolean).map(segment => {
77
- const name = decodeURIComponent(segment);
78
- return {
79
- name
80
- };
81
- });
93
+ const routes = decodedSegments.map(name => ({
94
+ name
95
+ }));
82
96
  if (routes.length) {
83
97
  return createNestedStateObject(path, routes, initialRoutes);
84
98
  }
@@ -91,7 +105,7 @@ export function getStateFromPath(path, options) {
91
105
  if (match) {
92
106
  return createNestedStateObject(path, match.routeNames.map(name => ({
93
107
  name
94
- })), initialRoutes, configs);
108
+ })), initialRoutes, match);
95
109
  }
96
110
  return undefined;
97
111
  }
@@ -99,11 +113,11 @@ export function getStateFromPath(path, options) {
99
113
  // We match the whole path against the regex instead of segments
100
114
  // This makes sure matches such as wildcard will catch any unmatched routes, even if nested
101
115
  for (const config of configs) {
102
- const routes = matchAgainstConfig(remaining, config, configs);
116
+ const routes = matchAgainstConfig(remaining, config, configsByScreen);
103
117
  if (routes === undefined) {
104
118
  continue;
105
119
  }
106
- const state = createNestedStateObject(path, routes, initialRoutes, configs);
120
+ const state = createNestedStateObject(path, routes, initialRoutes, config);
107
121
  if (state !== undefined) {
108
122
  return state;
109
123
  }
@@ -130,11 +144,14 @@ function prepareConfigResources(options) {
130
144
  const initialRoutes = getInitialRoutes(options);
131
145
  const configs = getSortedNormalizedConfigs(initialRoutes, options?.screens);
132
146
  checkForDuplicatedConfigs(configs);
133
- const configWithRegexes = getConfigsWithRegexes(configs);
147
+ const configsByScreen = {};
148
+ for (const c of configs) {
149
+ (configsByScreen[c.screen] ??= []).push(c);
150
+ }
134
151
  return {
135
152
  initialRoutes,
136
153
  configs,
137
- configWithRegexes
154
+ configsByScreen
138
155
  };
139
156
  }
140
157
  function getInitialRoutes(options) {
@@ -246,14 +263,7 @@ function checkForDuplicatedConfigs(configs) {
246
263
  });
247
264
  }, {});
248
265
  }
249
- function getConfigsWithRegexes(configs) {
250
- return configs.map(c => ({
251
- ...c,
252
- // Add `$` to the regex to make sure it matches till end of the path and not just beginning
253
- regex: c.regex ? new RegExp(c.regex.source + '$') : undefined
254
- }));
255
- }
256
- const matchAgainstConfig = (remaining, config, configs) => {
266
+ const matchAgainstConfig = (remaining, config, configsByScreen) => {
257
267
  if (!config.regex) {
258
268
  return undefined;
259
269
  }
@@ -265,7 +275,7 @@ const matchAgainstConfig = (remaining, config, configs) => {
265
275
  const matchedRoutes = [];
266
276
  for (const routeName of config.routeNames) {
267
277
  // Check matching name AND pattern in case same screen is used at different levels in config
268
- const routeConfig = configs.find(c => c.screen === routeName && arrayStartsWith(config.segments, c.segments));
278
+ const routeConfig = configsByScreen[routeName]?.find(c => arrayStartsWith(config.segments, c.segments));
269
279
  let params;
270
280
  if (routeConfig && match.groups) {
271
281
  const paramEntries = [];
@@ -279,7 +289,12 @@ const matchAgainstConfig = (remaining, config, configs) => {
279
289
  paramEntries.push([param.name, undefined]);
280
290
  continue;
281
291
  }
282
- const decoded = decodeURIComponent(value);
292
+ let decoded;
293
+ try {
294
+ decoded = decodeURIComponent(value);
295
+ } catch {
296
+ return undefined;
297
+ }
283
298
  const parser = routeConfig.parse?.[param.name];
284
299
  if (!parser) {
285
300
  paramEntries.push([param.name, decoded]);
@@ -340,6 +355,8 @@ const createNormalizedConfigs = (screen, routeConfig, initials, paths, parentScr
340
355
  // if an object is specified as the value (e.g. Foo: { ... }),
341
356
  // it can have `path` property and
342
357
  // it could have `screens` prop which has nested configs
358
+ const nestedScreens = 'screens' in config ? config.screens : undefined;
359
+ const hasNestedScreens = !!nestedScreens;
343
360
  if (typeof config.path === 'string') {
344
361
  if (config.exact && config.path == null) {
345
362
  throw new Error(`Screen '${screen}' doesn't specify a 'path'. A 'path' needs to be specified when specifying 'exact: true'. If you don't want this screen in the URL, specify it as empty string, e.g. \`path: ''\`.`);
@@ -354,7 +371,7 @@ const createNormalizedConfigs = (screen, routeConfig, initials, paths, parentScr
354
371
  aliasConfigs.push(createConfigItem(screen, [...routeNames], [...paths, {
355
372
  screen,
356
373
  path: alias
357
- }], config.parse));
374
+ }], config.parse, hasNestedScreens));
358
375
  } else if (typeof alias === 'object') {
359
376
  aliasConfigs.push(createConfigItem(screen, [...routeNames], alias.exact ? [{
360
377
  screen,
@@ -362,7 +379,7 @@ const createNormalizedConfigs = (screen, routeConfig, initials, paths, parentScr
362
379
  }] : [...paths, {
363
380
  screen,
364
381
  path: alias.path
365
- }], alias.parse));
382
+ }], alias.parse, hasNestedScreens));
366
383
  }
367
384
  }
368
385
  }
@@ -375,13 +392,13 @@ const createNormalizedConfigs = (screen, routeConfig, initials, paths, parentScr
375
392
  screen,
376
393
  path: config.path
377
394
  });
378
- configs.push(createConfigItem(screen, [...routeNames], [...paths], config.parse));
395
+ configs.push(createConfigItem(screen, [...routeNames], [...paths], config.parse, hasNestedScreens));
379
396
  configs.push(...aliasConfigs);
380
397
  }
381
398
  if (typeof config !== 'string' && typeof config.path !== 'string' && config.alias?.length) {
382
399
  throw new Error(`Screen '${screen}' doesn't specify a 'path'. A 'path' needs to be specified in order to use 'alias'.`);
383
400
  }
384
- if ('screens' in config && config.screens) {
401
+ if (hasNestedScreens) {
385
402
  // property `initialRouteName` without `screens` has no purpose
386
403
  if ('initialRouteName' in config && typeof config.initialRouteName === 'string') {
387
404
  initials.push({
@@ -389,8 +406,8 @@ const createNormalizedConfigs = (screen, routeConfig, initials, paths, parentScr
389
406
  parentScreens
390
407
  });
391
408
  }
392
- Object.keys(config.screens).forEach(nestedConfig => {
393
- const result = createNormalizedConfigs(nestedConfig, config.screens, initials, [...paths], [...parentScreens], routeNames);
409
+ Object.keys(nestedScreens).forEach(nestedConfig => {
410
+ const result = createNormalizedConfigs(nestedConfig, nestedScreens, initials, [...paths], [...parentScreens], routeNames);
394
411
  configs.push(...result);
395
412
  });
396
413
  }
@@ -398,7 +415,7 @@ const createNormalizedConfigs = (screen, routeConfig, initials, paths, parentScr
398
415
  routeNames.pop();
399
416
  return configs;
400
417
  };
401
- const createConfigItem = (screen, routeNames, paths, parse) => {
418
+ const createConfigItem = (screen, routeNames, paths, parse, hasNestedScreens = false) => {
402
419
  const parts = [];
403
420
 
404
421
  // Parse the path string into parts for easier matching
@@ -430,20 +447,11 @@ const createConfigItem = (screen, routeNames, paths, parse) => {
430
447
  segments,
431
448
  params,
432
449
  routeNames,
433
- parse
450
+ parse,
451
+ explicitParamNames: getExplicitParamNames(parse),
452
+ hasNestedScreens
434
453
  };
435
454
  };
436
- const findParseConfigForRoute = (routeName, flatConfig) => {
437
- for (const config of flatConfig) {
438
- if (routeName === config.routeNames[config.routeNames.length - 1]) {
439
- return {
440
- parseConfig: config.parse,
441
- pathParamNames: new Set(config.params.filter(param => param.screen === routeName && typeof param.name === 'string').map(param => param.name))
442
- };
443
- }
444
- }
445
- return undefined;
446
- };
447
455
 
448
456
  // Try to find an initial route connected with the one passed
449
457
  const findInitialRoute = (routeName, parentScreens, initialRoutes) => {
@@ -505,7 +513,7 @@ const createStateObject = (initialRoute, route, isEmpty) => {
505
513
  }
506
514
  }
507
515
  };
508
- const createNestedStateObject = (path, routes, initialRoutes, flatConfig) => {
516
+ const createNestedStateObject = (path, routes, initialRoutes, routeConfig) => {
509
517
  let route = routes.shift();
510
518
  const parentScreens = [];
511
519
  let initialRoute = findInitialRoute(route.name, parentScreens, initialRoutes);
@@ -525,8 +533,8 @@ const createNestedStateObject = (path, routes, initialRoutes, flatConfig) => {
525
533
  }
526
534
  route = findFocusedRoute(state);
527
535
  route.path = path.replace(/\/$/, '');
528
- const parseConfigForRoute = flatConfig ? findParseConfigForRoute(route.name, flatConfig) : undefined;
529
- const queryParams = parseQueryParams(path, parseConfigForRoute?.parseConfig, parseConfigForRoute?.pathParamNames);
536
+ const pathParamNames = new Set(routeConfig?.params.filter(param => param.screen === routeConfig.screen && typeof param.name === 'string').map(param => param.name));
537
+ const queryParams = parseQueryParams(path, routeConfig?.parse, pathParamNames, routeConfig?.explicitParamNames, routeConfig?.hasNestedScreens, route.params);
530
538
  if (!queryParams.valid) {
531
539
  return undefined;
532
540
  }
@@ -538,7 +546,7 @@ const createNestedStateObject = (path, routes, initialRoutes, flatConfig) => {
538
546
  }
539
547
  return state;
540
548
  };
541
- const parseQueryParams = (path, parseConfig, pathParamNames = new Set()) => {
549
+ const parseQueryParams = (path, parseConfig, pathParamNames = new Set(), explicitParamNames, hasNestedScreens = false, routeParams) => {
542
550
  const query = path.split('?')[1];
543
551
  const params = queryString.parse(query);
544
552
 
@@ -591,6 +599,14 @@ const parseQueryParams = (path, parseConfig, pathParamNames = new Set()) => {
591
599
  throw new Error(INVALID_PARSER_ERROR);
592
600
  }
593
601
  }
602
+ if (hasNestedScreens && !explicitParamNames?.has('screen') && (typeof params.screen === 'string' || typeof routeParams?.screen === 'string')) {
603
+ for (const name of NESTED_SCREEN_PARAM_NAMES) {
604
+ if (!explicitParamNames?.has(name)) {
605
+ // eslint-disable-next-line @typescript-eslint/no-dynamic-delete
606
+ delete params[name];
607
+ }
608
+ }
609
+ }
594
610
  return {
595
611
  valid: true,
596
612
  params: Object.keys(params).length ? params : undefined
@@ -1 +1 @@
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":[]}
1
+ {"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":[]}
@@ -22,7 +22,7 @@ export { ThemeProvider } from "./theming/ThemeProvider.js";
22
22
  export { useTheme } from "./theming/useTheme.js";
23
23
  export * from "./types.js";
24
24
  export { useFocusEffect } from "./useFocusEffect.js";
25
- export { useIsFocused } from "./useIsFocused.js";
25
+ export { IsFocusedContext, useIsFocused } from "./useIsFocused.js";
26
26
  export { useNavigation } from "./useNavigation.js";
27
27
  export { useNavigationBuilder } from "./useNavigationBuilder.js";
28
28
  export { useNavigationContainerRef } from "./useNavigationContainerRef.js";
@@ -1 +1 @@
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":[]}
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","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":[]}
@@ -32,50 +32,62 @@ export function useEventEmitter(listen) {
32
32
  target,
33
33
  canPreventDefault
34
34
  }) => {
35
- const items = listeners.current[type] || {};
35
+ const items = listeners.current[type];
36
36
 
37
37
  // Copy the current list of callbacks in case they are mutated during execution
38
- const callbacks = new Set(Object.values(target ? {
39
- [target]: items[target]
40
- } : items).flatMap(t => t ? Array.from(t) : []));
41
- const event = {
42
- get type() {
43
- return type;
38
+ let callbacks;
39
+ if (items) {
40
+ if (target !== undefined) {
41
+ const targetSet = items[target];
42
+ if (targetSet && targetSet.size) {
43
+ callbacks = new Set(targetSet);
44
+ }
45
+ } else {
46
+ for (const key in items) {
47
+ const set = items[key];
48
+ if (set && set.size) {
49
+ callbacks ??= new Set();
50
+ for (const cb of set) {
51
+ callbacks.add(cb);
52
+ }
53
+ }
54
+ }
55
+ }
56
+ }
57
+ const descriptors = {
58
+ type: {
59
+ enumerable: true,
60
+ value: type
44
61
  }
45
62
  };
46
63
  if (target !== undefined) {
47
- Object.defineProperty(event, 'target', {
64
+ descriptors.target = {
48
65
  enumerable: true,
49
- get() {
50
- return target;
51
- }
52
- });
66
+ value: target
67
+ };
53
68
  }
54
69
  if (data !== undefined) {
55
- Object.defineProperty(event, 'data', {
70
+ descriptors.data = {
56
71
  enumerable: true,
57
- get() {
58
- return data;
59
- }
60
- });
72
+ value: data
73
+ };
61
74
  }
75
+ let defaultPrevented = false;
62
76
  if (canPreventDefault) {
63
- let defaultPrevented = false;
64
- Object.defineProperties(event, {
65
- defaultPrevented: {
66
- enumerable: true,
67
- get() {
68
- return defaultPrevented;
69
- }
70
- },
71
- preventDefault: {
72
- enumerable: true,
73
- value() {
74
- defaultPrevented = true;
75
- }
77
+ descriptors.defaultPrevented = {
78
+ enumerable: true,
79
+ get() {
80
+ return defaultPrevented;
81
+ }
82
+ };
83
+ descriptors.preventDefault = {
84
+ enumerable: true,
85
+ value() {
86
+ defaultPrevented = true;
76
87
  }
77
- });
88
+ };
78
89
  }
90
+ const event = Object.defineProperties({}, descriptors);
79
91
  listenRef.current?.(event);
80
92
  callbacks?.forEach(cb => cb(event));
81
93
  return event;
@@ -1 +1 @@
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":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAW9B;AACA;AACA;AACA,OAAO,SAASC,eAAeA,CAC7BC,MAAyB,EACE;EAC3B,MAAMC,SAAS,GAAGH,KAAK,CAACI,MAAM,CAACF,MAAM,CAAC;EAEtCF,KAAK,CAACK,SAAS,CAAC,MAAM;IACpBF,SAAS,CAACG,OAAO,GAAGJ,MAAM;EAC5B,CAAC,CAAC;EAEF,MAAMK,SAAS,GAAGP,KAAK,CAACI,MAAM,CAC5BI,MAAM,CAACC,MAAM,CAAC,IAAI,CACpB,CAAC;EAED,MAAMA,MAAM,GAAGT,KAAK,CAACU,WAAW,CAAEC,MAAc,IAAK;IACnD,MAAMC,cAAc,GAAGA,CAACC,IAAY,EAAEC,QAA6B,KAAK;MACtE,MAAMC,SAAS,GAAGR,SAAS,CAACD,OAAO,CAACO,IAAI,CAAC,GAAGF,MAAM,CAAC;MAEnDI,SAAS,EAAEC,MAAM,CAACF,QAAQ,CAAC;IAC7B,CAAC;IAED,MAAMG,WAAW,GAAGA,CAACJ,IAAY,EAAEC,QAA6B,KAAK;MACnEP,SAAS,CAACD,OAAO,CAACO,IAAI,CAAC,KAAK,CAAC,CAAC;MAC9BN,SAAS,CAACD,OAAO,CAACO,IAAI,CAAC,CAACF,MAAM,CAAC,KAAK,IAAIO,GAAG,CAAC,CAAC;MAE7CX,SAAS,CAACD,OAAO,CAACO,IAAI,CAAC,CAACF,MAAM,CAAC,CAACQ,GAAG,CAACL,QAAQ,CAAC;MAE7C,OAAO,MAAMF,cAAc,CAACC,IAAI,EAAEC,QAAQ,CAAC;IAC7C,CAAC;IAED,OAAO;MACLG,WAAW;MACXL;IACF,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMQ,IAAI,GAAGpB,KAAK,CAACU,WAAW,CAC5B,CAAC;IACCG,IAAI;IACJQ,IAAI;IACJV,MAAM;IACNW;EAMF,CAAC,KAAK;IACJ,MAAMC,KAAK,GAAGhB,SAAS,CAACD,OAAO,CAACO,IAAI,CAAC,IAAI,CAAC,CAAC;;IAE3C;IACA,MAAME,SAAS,GAAG,IAAIG,GAAG,CACvBV,MAAM,CAACgB,MAAM,CAACb,MAAM,GAAG;MAAE,CAACA,MAAM,GAAGY,KAAK,CAACZ,MAAM;IAAE,CAAC,GAAGY,KAAK,CAAC,CAACE,OAAO,CAChEC,CAAC,IAAMA,CAAC,GAAGC,KAAK,CAACC,IAAI,CAACF,CAAC,CAAC,GAAG,EAC9B,CACF,CAAC;IAED,MAAMG,KAA8B,GAAG;MACrC,IAAIhB,IAAIA,CAAA,EAAG;QACT,OAAOA,IAAI;MACb;IACF,CAAC;IAED,IAAIF,MAAM,KAAKmB,SAAS,EAAE;MACxBtB,MAAM,CAACuB,cAAc,CAACF,KAAK,EAAE,QAAQ,EAAE;QACrCG,UAAU,EAAE,IAAI;QAChBC,GAAGA,CAAA,EAAG;UACJ,OAAOtB,MAAM;QACf;MACF,CAAC,CAAC;IACJ;IAEA,IAAIU,IAAI,KAAKS,SAAS,EAAE;MACtBtB,MAAM,CAACuB,cAAc,CAACF,KAAK,EAAE,MAAM,EAAE;QACnCG,UAAU,EAAE,IAAI;QAChBC,GAAGA,CAAA,EAAG;UACJ,OAAOZ,IAAI;QACb;MACF,CAAC,CAAC;IACJ;IAEA,IAAIC,iBAAiB,EAAE;MACrB,IAAIY,gBAAgB,GAAG,KAAK;MAE5B1B,MAAM,CAAC2B,gBAAgB,CAACN,KAAK,EAAE;QAC7BK,gBAAgB,EAAE;UAChBF,UAAU,EAAE,IAAI;UAChBC,GAAGA,CAAA,EAAG;YACJ,OAAOC,gBAAgB;UACzB;QACF,CAAC;QACDE,cAAc,EAAE;UACdJ,UAAU,EAAE,IAAI;UAChBK,KAAKA,CAAA,EAAG;YACNH,gBAAgB,GAAG,IAAI;UACzB;QACF;MACF,CAAC,CAAC;IACJ;IAEA/B,SAAS,CAACG,OAAO,GAAGuB,KAAK,CAAC;IAE1Bd,SAAS,EAAEuB,OAAO,CAAEC,EAAE,IAAKA,EAAE,CAACV,KAAK,CAAC,CAAC;IAErC,OAAOA,KAAK;EACd,CAAC,EACD,EACF,CAAC;EAED,OAAO7B,KAAK,CAACwC,OAAO,CAAC,OAAO;IAAE/B,MAAM;IAAEW;EAAK,CAAC,CAAC,EAAE,CAACX,MAAM,EAAEW,IAAI,CAAC,CAAC;AAChE","ignoreList":[]}
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","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":[]}