@react-navigation/devtools 6.0.14 → 6.0.16

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 (37) hide show
  1. package/lib/commonjs/index.js +0 -3
  2. package/lib/commonjs/index.js.map +1 -1
  3. package/lib/commonjs/parseErrorStack.js +3 -15
  4. package/lib/commonjs/parseErrorStack.js.map +1 -1
  5. package/lib/commonjs/parseHermesStack.js +6 -17
  6. package/lib/commonjs/parseHermesStack.js.map +1 -1
  7. package/lib/commonjs/useDevToolsBase.js +8 -26
  8. package/lib/commonjs/useDevToolsBase.js.map +1 -1
  9. package/lib/commonjs/useFlipper.js +7 -29
  10. package/lib/commonjs/useFlipper.js.map +1 -1
  11. package/lib/commonjs/useReduxDevToolsExtension.js +0 -12
  12. package/lib/commonjs/useReduxDevToolsExtension.js.map +1 -1
  13. package/lib/module/index.js +0 -2
  14. package/lib/module/index.js.map +1 -1
  15. package/lib/module/parseErrorStack.js +3 -10
  16. package/lib/module/parseErrorStack.js.map +1 -1
  17. package/lib/module/parseHermesStack.js +6 -16
  18. package/lib/module/parseHermesStack.js.map +1 -1
  19. package/lib/module/useDevToolsBase.js +8 -19
  20. package/lib/module/useDevToolsBase.js.map +1 -1
  21. package/lib/module/useFlipper.js +7 -22
  22. package/lib/module/useFlipper.js.map +1 -1
  23. package/lib/module/useReduxDevToolsExtension.js +0 -6
  24. package/lib/module/useReduxDevToolsExtension.js.map +1 -1
  25. package/lib/typescript/src/index.d.ts +1 -0
  26. package/lib/typescript/src/index.d.ts.map +1 -0
  27. package/lib/typescript/src/parseErrorStack.d.ts +1 -0
  28. package/lib/typescript/src/parseErrorStack.d.ts.map +1 -0
  29. package/lib/typescript/src/parseHermesStack.d.ts +1 -0
  30. package/lib/typescript/src/parseHermesStack.d.ts.map +1 -0
  31. package/lib/typescript/src/useDevToolsBase.d.ts +1 -0
  32. package/lib/typescript/src/useDevToolsBase.d.ts.map +1 -0
  33. package/lib/typescript/src/useFlipper.d.ts +1 -0
  34. package/lib/typescript/src/useFlipper.d.ts.map +1 -0
  35. package/lib/typescript/src/useReduxDevToolsExtension.d.ts +1 -0
  36. package/lib/typescript/src/useReduxDevToolsExtension.d.ts.map +1 -0
  37. package/package.json +4 -4
@@ -4,14 +4,11 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.useReduxDevToolsExtension = exports.useFlipper = void 0;
7
-
8
7
  const noop = () => {};
9
-
10
8
  let useReduxDevToolsExtension;
11
9
  exports.useReduxDevToolsExtension = useReduxDevToolsExtension;
12
10
  let useFlipper;
13
11
  exports.useFlipper = useFlipper;
14
-
15
12
  if (process.env.NODE_ENV !== 'production') {
16
13
  exports.useReduxDevToolsExtension = useReduxDevToolsExtension = require('./useReduxDevToolsExtension').default;
17
14
  exports.useFlipper = useFlipper = require('./useFlipper').default;
@@ -1 +1 @@
1
- {"version":3,"names":["noop","useReduxDevToolsExtension","useFlipper","process","env","NODE_ENV","require","default"],"sources":["index.tsx"],"sourcesContent":["const noop: any = () => {};\n\nexport let useReduxDevToolsExtension: typeof import('./useReduxDevToolsExtension').default;\nexport let useFlipper: typeof import('./useFlipper').default;\n\nif (process.env.NODE_ENV !== 'production') {\n useReduxDevToolsExtension = require('./useReduxDevToolsExtension').default;\n useFlipper = require('./useFlipper').default;\n} else {\n useReduxDevToolsExtension = noop;\n useFlipper = noop;\n}\n"],"mappings":";;;;;;;AAAA,MAAMA,IAAS,GAAG,MAAM,CAAE,CAA1B;;AAEO,IAAIC,yBAAJ;;AACA,IAAIC,UAAJ;;;AAEP,IAAIC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAA7B,EAA2C;EACzC,oCAAAJ,yBAAyB,GAAGK,OAAO,CAAC,6BAAD,CAAP,CAAuCC,OAAnE;EACA,qBAAAL,UAAU,GAAGI,OAAO,CAAC,cAAD,CAAP,CAAwBC,OAArC;AACD,CAHD,MAGO;EACL,oCAAAN,yBAAyB,GAAGD,IAA5B;EACA,qBAAAE,UAAU,GAAGF,IAAb;AACD"}
1
+ {"version":3,"names":["noop","useReduxDevToolsExtension","useFlipper","process","env","NODE_ENV","require","default"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;AAAA,MAAMA,IAAS,GAAG,MAAM,CAAC,CAAC;AAEnB,IAAIC,yBAA+E;AAAC;AACpF,IAAIC,UAAiD;AAAC;AAE7D,IAAIC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,EAAE;EACzC,oCAAAJ,yBAAyB,GAAGK,OAAO,CAAC,6BAA6B,CAAC,CAACC,OAAO;EAC1E,qBAAAL,UAAU,GAAGI,OAAO,CAAC,cAAc,CAAC,CAACC,OAAO;AAC9C,CAAC,MAAM;EACL,oCAAAN,yBAAyB,GAAGD,IAAI;EAChC,qBAAAE,UAAU,GAAGF,IAAI;AACnB"}
@@ -4,40 +4,31 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var stacktraceParser = _interopRequireWildcard(require("stacktrace-parser"));
9
-
10
8
  var _parseHermesStack = _interopRequireDefault(require("./parseHermesStack"));
11
-
12
9
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
-
14
10
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
15
-
16
11
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
17
-
18
12
  /**
19
13
  * Copyright (c) Facebook, Inc. and its affiliates.
20
14
  *
21
15
  * This source code is licensed under the MIT license found in the
22
16
  * LICENSE file in the root directory of this source tree.
23
17
  */
18
+
24
19
  function convertHermesStack(stack) {
25
20
  const frames = [];
26
-
27
21
  for (const entry of stack.entries) {
28
22
  if (entry.type !== 'FRAME') {
29
23
  continue;
30
24
  }
31
-
32
25
  const {
33
26
  location,
34
27
  functionName
35
28
  } = entry;
36
-
37
29
  if (location.type === 'NATIVE') {
38
30
  continue;
39
31
  }
40
-
41
32
  frames.push({
42
33
  methodName: functionName,
43
34
  file: location.sourceUrl,
@@ -45,21 +36,18 @@ function convertHermesStack(stack) {
45
36
  column: location.type === 'SOURCE' ? location.column1Based - 1 : location.virtualOffset0Based
46
37
  });
47
38
  }
48
-
49
39
  return frames;
50
40
  }
51
-
52
41
  function parseErrorStack(errorStack) {
53
42
  if (!errorStack) {
54
43
  return [];
55
44
  }
56
-
57
- const parsedStack = Array.isArray(errorStack) ? errorStack : global.HermesInternal ? convertHermesStack((0, _parseHermesStack.default)(errorStack)) : stacktraceParser.parse(errorStack).map(frame => ({ ...frame,
45
+ const parsedStack = Array.isArray(errorStack) ? errorStack : global.HermesInternal ? convertHermesStack((0, _parseHermesStack.default)(errorStack)) : stacktraceParser.parse(errorStack).map(frame => ({
46
+ ...frame,
58
47
  column: frame.column != null ? frame.column - 1 : null
59
48
  }));
60
49
  return parsedStack;
61
50
  }
62
-
63
51
  var _default = parseErrorStack;
64
52
  exports.default = _default;
65
53
  //# sourceMappingURL=parseErrorStack.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["convertHermesStack","stack","frames","entry","entries","type","location","functionName","push","methodName","file","sourceUrl","lineNumber","line1Based","column","column1Based","virtualOffset0Based","parseErrorStack","errorStack","parsedStack","Array","isArray","global","HermesInternal","parseHermesStack","stacktraceParser","parse","map","frame"],"sources":["parseErrorStack.tsx"],"sourcesContent":["/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport * as stacktraceParser from 'stacktrace-parser';\n\nimport parseHermesStack, { HermesParsedStack } from './parseHermesStack';\n\ninterface StackFrame {\n methodName: string;\n file: string;\n lineNumber: number;\n column: number;\n}\n\nfunction convertHermesStack(stack: HermesParsedStack): StackFrame[] {\n const frames = [];\n for (const entry of stack.entries) {\n if (entry.type !== 'FRAME') {\n continue;\n }\n const { location, functionName } = entry;\n if (location.type === 'NATIVE') {\n continue;\n }\n frames.push({\n methodName: functionName,\n file: location.sourceUrl,\n lineNumber: location.line1Based,\n column:\n location.type === 'SOURCE'\n ? location.column1Based - 1\n : location.virtualOffset0Based,\n });\n }\n return frames;\n}\n\nfunction parseErrorStack(errorStack?: string | StackFrame[]): StackFrame[] {\n if (!errorStack) {\n return [];\n }\n\n const parsedStack = Array.isArray(errorStack)\n ? errorStack\n : (global as any).HermesInternal\n ? convertHermesStack(parseHermesStack(errorStack))\n : stacktraceParser.parse(errorStack).map((frame) => ({\n ...frame,\n column: frame.column != null ? frame.column - 1 : null,\n }));\n\n return parsedStack as StackFrame[];\n}\n\nexport default parseErrorStack;\n"],"mappings":";;;;;;;AAOA;;AAEA;;;;;;;;AATA;AACA;AACA;AACA;AACA;AACA;AAaA,SAASA,kBAAT,CAA4BC,KAA5B,EAAoE;EAClE,MAAMC,MAAM,GAAG,EAAf;;EACA,KAAK,MAAMC,KAAX,IAAoBF,KAAK,CAACG,OAA1B,EAAmC;IACjC,IAAID,KAAK,CAACE,IAAN,KAAe,OAAnB,EAA4B;MAC1B;IACD;;IACD,MAAM;MAAEC,QAAF;MAAYC;IAAZ,IAA6BJ,KAAnC;;IACA,IAAIG,QAAQ,CAACD,IAAT,KAAkB,QAAtB,EAAgC;MAC9B;IACD;;IACDH,MAAM,CAACM,IAAP,CAAY;MACVC,UAAU,EAAEF,YADF;MAEVG,IAAI,EAAEJ,QAAQ,CAACK,SAFL;MAGVC,UAAU,EAAEN,QAAQ,CAACO,UAHX;MAIVC,MAAM,EACJR,QAAQ,CAACD,IAAT,KAAkB,QAAlB,GACIC,QAAQ,CAACS,YAAT,GAAwB,CAD5B,GAEIT,QAAQ,CAACU;IAPL,CAAZ;EASD;;EACD,OAAOd,MAAP;AACD;;AAED,SAASe,eAAT,CAAyBC,UAAzB,EAA2E;EACzE,IAAI,CAACA,UAAL,EAAiB;IACf,OAAO,EAAP;EACD;;EAED,MAAMC,WAAW,GAAGC,KAAK,CAACC,OAAN,CAAcH,UAAd,IAChBA,UADgB,GAEfI,MAAD,CAAgBC,cAAhB,GACAvB,kBAAkB,CAAC,IAAAwB,yBAAA,EAAiBN,UAAjB,CAAD,CADlB,GAEAO,gBAAgB,CAACC,KAAjB,CAAuBR,UAAvB,EAAmCS,GAAnC,CAAwCC,KAAD,KAAY,EACjD,GAAGA,KAD8C;IAEjDd,MAAM,EAAEc,KAAK,CAACd,MAAN,IAAgB,IAAhB,GAAuBc,KAAK,CAACd,MAAN,GAAe,CAAtC,GAA0C;EAFD,CAAZ,CAAvC,CAJJ;EASA,OAAOK,WAAP;AACD;;eAEcF,e"}
1
+ {"version":3,"names":["convertHermesStack","stack","frames","entry","entries","type","location","functionName","push","methodName","file","sourceUrl","lineNumber","line1Based","column","column1Based","virtualOffset0Based","parseErrorStack","errorStack","parsedStack","Array","isArray","global","HermesInternal","parseHermesStack","stacktraceParser","parse","map","frame"],"sourceRoot":"../../src","sources":["parseErrorStack.tsx"],"mappings":";;;;;;AAOA;AAEA;AAAyE;AAAA;AAAA;AATzE;AACA;AACA;AACA;AACA;AACA;;AAaA,SAASA,kBAAkB,CAACC,KAAwB,EAAgB;EAClE,MAAMC,MAAM,GAAG,EAAE;EACjB,KAAK,MAAMC,KAAK,IAAIF,KAAK,CAACG,OAAO,EAAE;IACjC,IAAID,KAAK,CAACE,IAAI,KAAK,OAAO,EAAE;MAC1B;IACF;IACA,MAAM;MAAEC,QAAQ;MAAEC;IAAa,CAAC,GAAGJ,KAAK;IACxC,IAAIG,QAAQ,CAACD,IAAI,KAAK,QAAQ,EAAE;MAC9B;IACF;IACAH,MAAM,CAACM,IAAI,CAAC;MACVC,UAAU,EAAEF,YAAY;MACxBG,IAAI,EAAEJ,QAAQ,CAACK,SAAS;MACxBC,UAAU,EAAEN,QAAQ,CAACO,UAAU;MAC/BC,MAAM,EACJR,QAAQ,CAACD,IAAI,KAAK,QAAQ,GACtBC,QAAQ,CAACS,YAAY,GAAG,CAAC,GACzBT,QAAQ,CAACU;IACjB,CAAC,CAAC;EACJ;EACA,OAAOd,MAAM;AACf;AAEA,SAASe,eAAe,CAACC,UAAkC,EAAgB;EACzE,IAAI,CAACA,UAAU,EAAE;IACf,OAAO,EAAE;EACX;EAEA,MAAMC,WAAW,GAAGC,KAAK,CAACC,OAAO,CAACH,UAAU,CAAC,GACzCA,UAAU,GACTI,MAAM,CAASC,cAAc,GAC9BvB,kBAAkB,CAAC,IAAAwB,yBAAgB,EAACN,UAAU,CAAC,CAAC,GAChDO,gBAAgB,CAACC,KAAK,CAACR,UAAU,CAAC,CAACS,GAAG,CAAEC,KAAK,KAAM;IACjD,GAAGA,KAAK;IACRd,MAAM,EAAEc,KAAK,CAACd,MAAM,IAAI,IAAI,GAAGc,KAAK,CAACd,MAAM,GAAG,CAAC,GAAG;EACpD,CAAC,CAAC,CAAC;EAEP,OAAOK,WAAW;AACpB;AAAC,eAEcF,eAAe;AAAA"}
@@ -4,13 +4,13 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = parseHermesStack;
7
-
8
7
  /**
9
8
  * Copyright (c) Facebook, Inc. and its affiliates.
10
9
  *
11
10
  * This source code is licensed under the MIT license found in the
12
11
  * LICENSE file in the root directory of this source tree.
13
12
  */
13
+
14
14
  // Capturing groups:
15
15
  // 1. function name
16
16
  // 2. is this a native stack frame?
@@ -18,14 +18,13 @@ exports.default = parseHermesStack;
18
18
  // 4. source URL (filename)
19
19
  // 5. line number (1 based)
20
20
  // 6. column number (1 based) or virtual offset (0 based)
21
- const RE_FRAME = /^ {0,4}at (.+?)(?: \((native)\)?| \((address at )?(.*?):(\d+):(\d+)\))$/; // Capturing groups:
22
- // 1. count of skipped frames
21
+ const RE_FRAME = /^ {0,4}at (.+?)(?: \((native)\)?| \((address at )?(.*?):(\d+):(\d+)\))$/;
23
22
 
23
+ // Capturing groups:
24
+ // 1. count of skipped frames
24
25
  const RE_SKIPPED = /^ {0,4}... skipping (\d) frames$/;
25
-
26
26
  function parseLine(line) {
27
27
  const asFrame = line.match(RE_FRAME);
28
-
29
28
  if (asFrame) {
30
29
  return {
31
30
  type: 'FRAME',
@@ -45,43 +44,33 @@ function parseLine(line) {
45
44
  }
46
45
  };
47
46
  }
48
-
49
47
  const asSkipped = line.match(RE_SKIPPED);
50
-
51
48
  if (asSkipped) {
52
49
  return {
53
50
  type: 'SKIPPED',
54
51
  count: Number.parseInt(asSkipped[1], 10)
55
52
  };
56
53
  }
57
-
58
54
  return undefined;
59
55
  }
60
-
61
56
  function parseHermesStack(stack) {
62
57
  const lines = stack.split(/\n/);
63
58
  let entries = [];
64
59
  let lastMessageLine = -1;
65
-
66
60
  for (let i = 0; i < lines.length; ++i) {
67
61
  const line = lines[i];
68
-
69
62
  if (!line) {
70
63
  continue;
71
64
  }
72
-
73
65
  const entry = parseLine(line);
74
-
75
66
  if (entry) {
76
67
  entries.push(entry);
77
68
  continue;
78
- } // No match - we're still in the message
79
-
80
-
69
+ }
70
+ // No match - we're still in the message
81
71
  lastMessageLine = i;
82
72
  entries = [];
83
73
  }
84
-
85
74
  const message = lines.slice(0, lastMessageLine + 1).join('\n');
86
75
  return {
87
76
  message,
@@ -1 +1 @@
1
- {"version":3,"names":["RE_FRAME","RE_SKIPPED","parseLine","line","asFrame","match","type","functionName","location","sourceUrl","line1Based","Number","parseInt","virtualOffset0Based","column1Based","asSkipped","count","undefined","parseHermesStack","stack","lines","split","entries","lastMessageLine","i","length","entry","push","message","slice","join"],"sources":["parseHermesStack.tsx"],"sourcesContent":["/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\ninterface HermesStackLocationNative {\n type: 'NATIVE';\n}\n\ninterface HermesStackLocationSource {\n type: 'SOURCE';\n sourceUrl: string;\n line1Based: number;\n column1Based: number;\n}\n\ninterface HermesStackLocationBytecode {\n type: 'BYTECODE';\n sourceUrl: string;\n line1Based: number;\n virtualOffset0Based: number;\n}\n\ntype HermesStackLocation =\n | HermesStackLocationNative\n | HermesStackLocationSource\n | HermesStackLocationBytecode;\n\ninterface HermesStackEntryFrame {\n type: 'FRAME';\n location: HermesStackLocation;\n functionName: string;\n}\n\ninterface HermesStackEntrySkipped {\n type: 'SKIPPED';\n count: number;\n}\n\ntype HermesStackEntry = HermesStackEntryFrame | HermesStackEntrySkipped;\n\nexport interface HermesParsedStack {\n message: string;\n entries: HermesStackEntry[];\n}\n\n// Capturing groups:\n// 1. function name\n// 2. is this a native stack frame?\n// 3. is this a bytecode address or a source location?\n// 4. source URL (filename)\n// 5. line number (1 based)\n// 6. column number (1 based) or virtual offset (0 based)\nconst RE_FRAME =\n /^ {0,4}at (.+?)(?: \\((native)\\)?| \\((address at )?(.*?):(\\d+):(\\d+)\\))$/;\n\n// Capturing groups:\n// 1. count of skipped frames\nconst RE_SKIPPED = /^ {0,4}... skipping (\\d) frames$/;\n\nfunction parseLine(line: string): HermesStackEntry | undefined {\n const asFrame = line.match(RE_FRAME);\n if (asFrame) {\n return {\n type: 'FRAME',\n functionName: asFrame[1],\n location:\n asFrame[2] === 'native'\n ? { type: 'NATIVE' }\n : asFrame[3] === 'address at '\n ? {\n type: 'BYTECODE',\n sourceUrl: asFrame[4],\n line1Based: Number.parseInt(asFrame[5], 10),\n virtualOffset0Based: Number.parseInt(asFrame[6], 10),\n }\n : {\n type: 'SOURCE',\n sourceUrl: asFrame[4],\n line1Based: Number.parseInt(asFrame[5], 10),\n column1Based: Number.parseInt(asFrame[6], 10),\n },\n };\n }\n const asSkipped = line.match(RE_SKIPPED);\n if (asSkipped) {\n return {\n type: 'SKIPPED',\n count: Number.parseInt(asSkipped[1], 10),\n };\n }\n return undefined;\n}\n\nexport default function parseHermesStack(stack: string): HermesParsedStack {\n const lines = stack.split(/\\n/);\n let entries = [];\n let lastMessageLine = -1;\n for (let i = 0; i < lines.length; ++i) {\n const line = lines[i];\n if (!line) {\n continue;\n }\n const entry = parseLine(line);\n if (entry) {\n entries.push(entry);\n continue;\n }\n // No match - we're still in the message\n lastMessageLine = i;\n entries = [];\n }\n const message = lines.slice(0, lastMessageLine + 1).join('\\n');\n return { message, entries };\n}\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AA2CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMA,QAAQ,GACZ,yEADF,C,CAGA;AACA;;AACA,MAAMC,UAAU,GAAG,kCAAnB;;AAEA,SAASC,SAAT,CAAmBC,IAAnB,EAA+D;EAC7D,MAAMC,OAAO,GAAGD,IAAI,CAACE,KAAL,CAAWL,QAAX,CAAhB;;EACA,IAAII,OAAJ,EAAa;IACX,OAAO;MACLE,IAAI,EAAE,OADD;MAELC,YAAY,EAAEH,OAAO,CAAC,CAAD,CAFhB;MAGLI,QAAQ,EACNJ,OAAO,CAAC,CAAD,CAAP,KAAe,QAAf,GACI;QAAEE,IAAI,EAAE;MAAR,CADJ,GAEIF,OAAO,CAAC,CAAD,CAAP,KAAe,aAAf,GACA;QACEE,IAAI,EAAE,UADR;QAEEG,SAAS,EAAEL,OAAO,CAAC,CAAD,CAFpB;QAGEM,UAAU,EAAEC,MAAM,CAACC,QAAP,CAAgBR,OAAO,CAAC,CAAD,CAAvB,EAA4B,EAA5B,CAHd;QAIES,mBAAmB,EAAEF,MAAM,CAACC,QAAP,CAAgBR,OAAO,CAAC,CAAD,CAAvB,EAA4B,EAA5B;MAJvB,CADA,GAOA;QACEE,IAAI,EAAE,QADR;QAEEG,SAAS,EAAEL,OAAO,CAAC,CAAD,CAFpB;QAGEM,UAAU,EAAEC,MAAM,CAACC,QAAP,CAAgBR,OAAO,CAAC,CAAD,CAAvB,EAA4B,EAA5B,CAHd;QAIEU,YAAY,EAAEH,MAAM,CAACC,QAAP,CAAgBR,OAAO,CAAC,CAAD,CAAvB,EAA4B,EAA5B;MAJhB;IAbD,CAAP;EAoBD;;EACD,MAAMW,SAAS,GAAGZ,IAAI,CAACE,KAAL,CAAWJ,UAAX,CAAlB;;EACA,IAAIc,SAAJ,EAAe;IACb,OAAO;MACLT,IAAI,EAAE,SADD;MAELU,KAAK,EAAEL,MAAM,CAACC,QAAP,CAAgBG,SAAS,CAAC,CAAD,CAAzB,EAA8B,EAA9B;IAFF,CAAP;EAID;;EACD,OAAOE,SAAP;AACD;;AAEc,SAASC,gBAAT,CAA0BC,KAA1B,EAA4D;EACzE,MAAMC,KAAK,GAAGD,KAAK,CAACE,KAAN,CAAY,IAAZ,CAAd;EACA,IAAIC,OAAO,GAAG,EAAd;EACA,IAAIC,eAAe,GAAG,CAAC,CAAvB;;EACA,KAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGJ,KAAK,CAACK,MAA1B,EAAkC,EAAED,CAApC,EAAuC;IACrC,MAAMrB,IAAI,GAAGiB,KAAK,CAACI,CAAD,CAAlB;;IACA,IAAI,CAACrB,IAAL,EAAW;MACT;IACD;;IACD,MAAMuB,KAAK,GAAGxB,SAAS,CAACC,IAAD,CAAvB;;IACA,IAAIuB,KAAJ,EAAW;MACTJ,OAAO,CAACK,IAAR,CAAaD,KAAb;MACA;IACD,CAToC,CAUrC;;;IACAH,eAAe,GAAGC,CAAlB;IACAF,OAAO,GAAG,EAAV;EACD;;EACD,MAAMM,OAAO,GAAGR,KAAK,CAACS,KAAN,CAAY,CAAZ,EAAeN,eAAe,GAAG,CAAjC,EAAoCO,IAApC,CAAyC,IAAzC,CAAhB;EACA,OAAO;IAAEF,OAAF;IAAWN;EAAX,CAAP;AACD"}
1
+ {"version":3,"names":["RE_FRAME","RE_SKIPPED","parseLine","line","asFrame","match","type","functionName","location","sourceUrl","line1Based","Number","parseInt","virtualOffset0Based","column1Based","asSkipped","count","undefined","parseHermesStack","stack","lines","split","entries","lastMessageLine","i","length","entry","push","message","slice","join"],"sourceRoot":"../../src","sources":["parseHermesStack.tsx"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;;AA2CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMA,QAAQ,GACZ,yEAAyE;;AAE3E;AACA;AACA,MAAMC,UAAU,GAAG,kCAAkC;AAErD,SAASC,SAAS,CAACC,IAAY,EAAgC;EAC7D,MAAMC,OAAO,GAAGD,IAAI,CAACE,KAAK,CAACL,QAAQ,CAAC;EACpC,IAAII,OAAO,EAAE;IACX,OAAO;MACLE,IAAI,EAAE,OAAO;MACbC,YAAY,EAAEH,OAAO,CAAC,CAAC,CAAC;MACxBI,QAAQ,EACNJ,OAAO,CAAC,CAAC,CAAC,KAAK,QAAQ,GACnB;QAAEE,IAAI,EAAE;MAAS,CAAC,GAClBF,OAAO,CAAC,CAAC,CAAC,KAAK,aAAa,GAC5B;QACEE,IAAI,EAAE,UAAU;QAChBG,SAAS,EAAEL,OAAO,CAAC,CAAC,CAAC;QACrBM,UAAU,EAAEC,MAAM,CAACC,QAAQ,CAACR,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC3CS,mBAAmB,EAAEF,MAAM,CAACC,QAAQ,CAACR,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;MACrD,CAAC,GACD;QACEE,IAAI,EAAE,QAAQ;QACdG,SAAS,EAAEL,OAAO,CAAC,CAAC,CAAC;QACrBM,UAAU,EAAEC,MAAM,CAACC,QAAQ,CAACR,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC3CU,YAAY,EAAEH,MAAM,CAACC,QAAQ,CAACR,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;MAC9C;IACR,CAAC;EACH;EACA,MAAMW,SAAS,GAAGZ,IAAI,CAACE,KAAK,CAACJ,UAAU,CAAC;EACxC,IAAIc,SAAS,EAAE;IACb,OAAO;MACLT,IAAI,EAAE,SAAS;MACfU,KAAK,EAAEL,MAAM,CAACC,QAAQ,CAACG,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE;IACzC,CAAC;EACH;EACA,OAAOE,SAAS;AAClB;AAEe,SAASC,gBAAgB,CAACC,KAAa,EAAqB;EACzE,MAAMC,KAAK,GAAGD,KAAK,CAACE,KAAK,CAAC,IAAI,CAAC;EAC/B,IAAIC,OAAO,GAAG,EAAE;EAChB,IAAIC,eAAe,GAAG,CAAC,CAAC;EACxB,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGJ,KAAK,CAACK,MAAM,EAAE,EAAED,CAAC,EAAE;IACrC,MAAMrB,IAAI,GAAGiB,KAAK,CAACI,CAAC,CAAC;IACrB,IAAI,CAACrB,IAAI,EAAE;MACT;IACF;IACA,MAAMuB,KAAK,GAAGxB,SAAS,CAACC,IAAI,CAAC;IAC7B,IAAIuB,KAAK,EAAE;MACTJ,OAAO,CAACK,IAAI,CAACD,KAAK,CAAC;MACnB;IACF;IACA;IACAH,eAAe,GAAGC,CAAC;IACnBF,OAAO,GAAG,EAAE;EACd;EACA,MAAMM,OAAO,GAAGR,KAAK,CAACS,KAAK,CAAC,CAAC,EAAEN,eAAe,GAAG,CAAC,CAAC,CAACO,IAAI,CAAC,IAAI,CAAC;EAC9D,OAAO;IAAEF,OAAO;IAAEN;EAAQ,CAAC;AAC7B"}
@@ -4,19 +4,12 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = useDevToolsBase;
7
-
8
7
  var _deepEqual = _interopRequireDefault(require("deep-equal"));
9
-
10
8
  var React = _interopRequireWildcard(require("react"));
11
-
12
9
  var _parseErrorStack = _interopRequireDefault(require("./parseErrorStack"));
13
-
14
10
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
15
-
16
11
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
17
-
18
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
-
20
13
  function useDevToolsBase(ref, callback) {
21
14
  const lastStateRef = React.useRef();
22
15
  const lastActionRef = React.useRef();
@@ -25,21 +18,16 @@ function useDevToolsBase(ref, callback) {
25
18
  React.useEffect(() => {
26
19
  callbackRef.current = callback;
27
20
  });
28
-
29
21
  const symbolicate = async stack => {
30
22
  var _frames$, _frames$$file;
31
-
32
23
  if (stack == null) {
33
24
  return undefined;
34
25
  }
35
-
36
26
  const frames = (0, _parseErrorStack.default)(stack).slice(2).filter(frame => frame.file !== '[native code]');
37
27
  const urlMatch = (_frames$ = frames[0]) === null || _frames$ === void 0 ? void 0 : (_frames$$file = _frames$.file) === null || _frames$$file === void 0 ? void 0 : _frames$$file.match(/^https?:\/\/.+(:\d+)?\//);
38
-
39
28
  if (!urlMatch) {
40
29
  return stack;
41
30
  }
42
-
43
31
  try {
44
32
  const result = await fetch(`${urlMatch[0]}symbolicate`, {
45
33
  method: 'POST',
@@ -60,22 +48,22 @@ function useDevToolsBase(ref, callback) {
60
48
  return stack;
61
49
  }
62
50
  };
63
-
64
51
  const pendingPromiseRef = React.useRef(Promise.resolve());
65
52
  const send = React.useCallback(data => {
66
53
  // We need to make sure that our callbacks executed in the same order
67
54
  // So we add check if the last promise is settled before sending the next one
68
- pendingPromiseRef.current = pendingPromiseRef.current.catch(() => {// Ignore any errors from the last promise
55
+ pendingPromiseRef.current = pendingPromiseRef.current.catch(() => {
56
+ // Ignore any errors from the last promise
69
57
  }).then(async () => {
70
58
  if (data.stack) {
71
59
  let stack;
72
-
73
60
  try {
74
61
  stack = await symbolicate(data.stack);
75
- } catch (err) {// Ignore errors from symbolicate
62
+ } catch (err) {
63
+ // Ignore errors from symbolicate
76
64
  }
77
-
78
- callbackRef.current({ ...data,
65
+ callbackRef.current({
66
+ ...data,
79
67
  stack
80
68
  });
81
69
  } else {
@@ -87,7 +75,6 @@ function useDevToolsBase(ref, callback) {
87
75
  let timer;
88
76
  let unsubscribeAction;
89
77
  let unsubscribeState;
90
-
91
78
  const initialize = async () => {
92
79
  if (!ref.current) {
93
80
  // If the navigation object isn't ready yet, wait for it
@@ -106,11 +93,9 @@ function useDevToolsBase(ref, callback) {
106
93
  }, 100);
107
94
  });
108
95
  }
109
-
110
96
  const navigation = ref.current;
111
97
  unsubscribeAction = navigation.addListener('__unsafe_action__', e => {
112
98
  const action = e.data.action;
113
-
114
99
  if (e.data.noop) {
115
100
  // Even if the state didn't change, it's useful to show the action
116
101
  send({
@@ -129,17 +114,16 @@ function useDevToolsBase(ref, callback) {
129
114
  lastStateRef.current = undefined;
130
115
  return;
131
116
  }
132
-
133
117
  const state = navigation.getRootState();
134
118
  const lastState = lastStateRef.current;
135
119
  const lastChange = lastActionRef.current;
136
120
  lastActionRef.current = undefined;
137
- lastStateRef.current = state; // If we don't have an action and the state didn't change, then it's probably extraneous
121
+ lastStateRef.current = state;
138
122
 
123
+ // If we don't have an action and the state didn't change, then it's probably extraneous
139
124
  if (lastChange === undefined && (0, _deepEqual.default)(state, lastState)) {
140
125
  return;
141
126
  }
142
-
143
127
  send({
144
128
  type: 'action',
145
129
  action: lastChange ? lastChange.action : {
@@ -150,11 +134,9 @@ function useDevToolsBase(ref, callback) {
150
134
  });
151
135
  });
152
136
  };
153
-
154
137
  initialize();
155
138
  return () => {
156
139
  var _unsubscribeAction, _unsubscribeState;
157
-
158
140
  (_unsubscribeAction = unsubscribeAction) === null || _unsubscribeAction === void 0 ? void 0 : _unsubscribeAction();
159
141
  (_unsubscribeState = unsubscribeState) === null || _unsubscribeState === void 0 ? void 0 : _unsubscribeState();
160
142
  clearTimeout(timer);
@@ -1 +1 @@
1
- {"version":3,"names":["useDevToolsBase","ref","callback","lastStateRef","React","useRef","lastActionRef","callbackRef","lastResetRef","undefined","useEffect","current","symbolicate","stack","frames","parseErrorStack","slice","filter","frame","file","urlMatch","match","result","fetch","method","body","JSON","stringify","then","res","json","it","collapse","map","methodName","lineNumber","column","join","err","pendingPromiseRef","Promise","resolve","send","useCallback","data","catch","timer","unsubscribeAction","unsubscribeState","initialize","setInterval","clearTimeout","state","getRootState","type","navigation","addListener","e","action","noop","deepEqual","lastState","lastChange","resetRoot"],"sources":["useDevToolsBase.tsx"],"sourcesContent":["import type {\n NavigationAction,\n NavigationContainerRef,\n NavigationState,\n} from '@react-navigation/core';\nimport deepEqual from 'deep-equal';\nimport * as React from 'react';\n\nimport parseErrorStack from './parseErrorStack';\n\ntype StackFrame = {\n lineNumber: number | null;\n column: number | null;\n file: string | null;\n methodName: string;\n};\n\ntype StackFrameResult = StackFrame & {\n collapse: boolean;\n};\n\ntype StackResult = {\n stack: StackFrameResult[];\n};\n\ntype InitData = {\n type: 'init';\n state: NavigationState | undefined;\n};\n\ntype ActionData = {\n type: 'action';\n action: NavigationAction;\n state: NavigationState | undefined;\n stack: string | undefined;\n};\n\nexport default function useDevToolsBase(\n ref: React.RefObject<NavigationContainerRef<any>>,\n callback: (result: InitData | ActionData) => void\n) {\n const lastStateRef = React.useRef<NavigationState | undefined>();\n const lastActionRef = React.useRef<\n { action: NavigationAction; stack: string | undefined } | undefined\n >();\n const callbackRef = React.useRef(callback);\n const lastResetRef = React.useRef<NavigationState | undefined>(undefined);\n\n React.useEffect(() => {\n callbackRef.current = callback;\n });\n\n const symbolicate = async (stack: string | undefined) => {\n if (stack == null) {\n return undefined;\n }\n\n const frames = parseErrorStack(stack)\n .slice(2)\n .filter((frame) => frame.file !== '[native code]');\n\n const urlMatch = frames[0]?.file?.match(/^https?:\\/\\/.+(:\\d+)?\\//);\n\n if (!urlMatch) {\n return stack;\n }\n\n try {\n const result: StackResult = await fetch(`${urlMatch[0]}symbolicate`, {\n method: 'POST',\n body: JSON.stringify({ stack: frames }),\n }).then((res) => res.json());\n\n return result.stack\n .filter((it) => !it.collapse)\n .map(\n ({ methodName, file, lineNumber, column }) =>\n `${methodName}@${file}:${lineNumber}:${column}`\n )\n .join('\\n');\n } catch (err) {\n return stack;\n }\n };\n\n const pendingPromiseRef = React.useRef<Promise<void>>(Promise.resolve());\n\n const send = React.useCallback((data: ActionData) => {\n // We need to make sure that our callbacks executed in the same order\n // So we add check if the last promise is settled before sending the next one\n pendingPromiseRef.current = pendingPromiseRef.current\n .catch(() => {\n // Ignore any errors from the last promise\n })\n .then(async () => {\n if (data.stack) {\n let stack: string | undefined;\n\n try {\n stack = await symbolicate(data.stack);\n } catch (err) {\n // Ignore errors from symbolicate\n }\n\n callbackRef.current({ ...data, stack });\n } else {\n callbackRef.current(data);\n }\n });\n }, []);\n\n React.useEffect(() => {\n let timer: any;\n let unsubscribeAction: (() => void) | undefined;\n let unsubscribeState: (() => void) | undefined;\n\n const initialize = async () => {\n if (!ref.current) {\n // If the navigation object isn't ready yet, wait for it\n await new Promise<void>((resolve) => {\n timer = setInterval(() => {\n if (ref.current) {\n resolve();\n clearTimeout(timer);\n const state = ref.current.getRootState();\n\n lastStateRef.current = state;\n callbackRef.current({ type: 'init', state });\n }\n }, 100);\n });\n }\n\n const navigation = ref.current!;\n\n unsubscribeAction = navigation.addListener('__unsafe_action__', (e) => {\n const action = e.data.action;\n\n if (e.data.noop) {\n // Even if the state didn't change, it's useful to show the action\n send({\n type: 'action',\n action,\n state: lastStateRef.current,\n stack: e.data.stack,\n });\n } else {\n lastActionRef.current = e.data;\n }\n });\n\n unsubscribeState = navigation.addListener('state', (e) => {\n // Don't show the action in dev tools if the state is what we sent to reset earlier\n if (\n lastResetRef.current &&\n deepEqual(lastResetRef.current, e.data.state)\n ) {\n lastStateRef.current = undefined;\n return;\n }\n\n const state = navigation.getRootState();\n const lastState = lastStateRef.current;\n const lastChange = lastActionRef.current;\n\n lastActionRef.current = undefined;\n lastStateRef.current = state;\n\n // If we don't have an action and the state didn't change, then it's probably extraneous\n if (lastChange === undefined && deepEqual(state, lastState)) {\n return;\n }\n\n send({\n type: 'action',\n action: lastChange ? lastChange.action : { type: '@@UNKNOWN' },\n state,\n stack: lastChange?.stack,\n });\n });\n };\n\n initialize();\n\n return () => {\n unsubscribeAction?.();\n unsubscribeState?.();\n clearTimeout(timer);\n };\n }, [ref, send]);\n\n const resetRoot = React.useCallback(\n (state: NavigationState) => {\n if (ref.current) {\n lastResetRef.current = state;\n ref.current.resetRoot(state);\n }\n },\n [ref]\n );\n\n return { resetRoot };\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["useDevToolsBase","ref","callback","lastStateRef","React","useRef","lastActionRef","callbackRef","lastResetRef","undefined","useEffect","current","symbolicate","stack","frames","parseErrorStack","slice","filter","frame","file","urlMatch","match","result","fetch","method","body","JSON","stringify","then","res","json","it","collapse","map","methodName","lineNumber","column","join","err","pendingPromiseRef","Promise","resolve","send","useCallback","data","catch","timer","unsubscribeAction","unsubscribeState","initialize","setInterval","clearTimeout","state","getRootState","type","navigation","addListener","e","action","noop","deepEqual","lastState","lastChange","resetRoot"],"sourceRoot":"../../src","sources":["useDevToolsBase.tsx"],"mappings":"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"}
@@ -4,31 +4,22 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = useFlipper;
7
-
8
7
  var _nonSecure = require("nanoid/non-secure");
9
-
10
8
  var React = _interopRequireWildcard(require("react"));
11
-
12
9
  var _useDevToolsBase = _interopRequireDefault(require("./useDevToolsBase"));
13
-
14
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
-
16
11
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
17
-
18
12
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
19
-
20
13
  let FlipperModule;
21
-
22
14
  try {
23
15
  FlipperModule = require('react-native-flipper');
24
- } catch (e) {// Do nothing
16
+ } catch (e) {
17
+ // Do nothing
25
18
  }
26
-
27
19
  function useFlipper(ref) {
28
20
  if (FlipperModule == null) {
29
21
  throw new Error("Please install the 'react-native-flipper' package in your project to use Flipper integration for React Navigation.");
30
22
  }
31
-
32
23
  const {
33
24
  addPlugin
34
25
  } = FlipperModule;
@@ -37,11 +28,9 @@ function useFlipper(ref) {
37
28
  resetRoot
38
29
  } = (0, _useDevToolsBase.default)(ref, result => {
39
30
  const connection = connectionRef.current;
40
-
41
31
  if (!connection) {
42
32
  return;
43
33
  }
44
-
45
34
  switch (result.type) {
46
35
  case 'init':
47
36
  connection.send('init', {
@@ -49,7 +38,6 @@ function useFlipper(ref) {
49
38
  state: result.state
50
39
  });
51
40
  break;
52
-
53
41
  case 'action':
54
42
  connection.send('action', {
55
43
  id: (0, _nonSecure.nanoid)(),
@@ -65,34 +53,29 @@ function useFlipper(ref) {
65
53
  getId() {
66
54
  return 'react-navigation';
67
55
  },
68
-
69
56
  async onConnect(connection) {
70
57
  connectionRef.current = connection;
71
-
72
58
  const on = (event, listener) => {
73
59
  connection.receive(event, (params, responder) => {
74
60
  try {
75
- const result = listener(params); // Return null instead of undefined, otherwise flipper doesn't respond
61
+ const result = listener(params);
76
62
 
77
- responder.success(result !== null && result !== void 0 ? result : null);
63
+ // Return null instead of undefined, otherwise flipper doesn't respond
64
+ responder.success(result ?? null);
78
65
  } catch (e) {
79
66
  responder.error(e);
80
67
  }
81
68
  });
82
69
  };
83
-
84
70
  on('navigation.invoke', _ref => {
85
71
  var _ref$current;
86
-
87
72
  let {
88
73
  method,
89
74
  args = []
90
75
  } = _ref;
91
-
92
76
  switch (method) {
93
77
  case 'resetRoot':
94
78
  return resetRoot(args[0]);
95
-
96
79
  default:
97
80
  // @ts-expect-error: we want to call arbitrary methods here
98
81
  return (_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current[method](...args);
@@ -100,35 +83,30 @@ function useFlipper(ref) {
100
83
  });
101
84
  on('linking.invoke', _ref2 => {
102
85
  var _global$REACT_NAVIGAT, _global$REACT_NAVIGAT2, _args$;
103
-
104
86
  let {
105
87
  method,
106
88
  args = []
107
89
  } = _ref2;
108
90
  const linking = ref.current ? // @ts-ignore: this might not exist
109
91
  (_global$REACT_NAVIGAT = global.REACT_NAVIGATION_DEVTOOLS) === null || _global$REACT_NAVIGAT === void 0 ? void 0 : (_global$REACT_NAVIGAT2 = _global$REACT_NAVIGAT.get(ref.current)) === null || _global$REACT_NAVIGAT2 === void 0 ? void 0 : _global$REACT_NAVIGAT2.linking : null;
110
-
111
92
  switch (method) {
112
93
  case 'getStateFromPath':
113
94
  case 'getPathFromState':
114
95
  case 'getActionFromState':
115
- return linking === null || linking === void 0 ? void 0 : linking[method](args[0], (_args$ = args[1]) !== null && _args$ !== void 0 && _args$.trim() ? // eslint-disable-next-line no-eval
96
+ return linking === null || linking === void 0 ? void 0 : linking[method](args[0], (_args$ = args[1]) !== null && _args$ !== void 0 && _args$.trim() ?
97
+ // eslint-disable-next-line no-eval
116
98
  eval(`(function() { return ${args[1]}; }())`) : linking.config);
117
-
118
99
  default:
119
100
  return linking === null || linking === void 0 ? void 0 : linking[method](...args);
120
101
  }
121
102
  });
122
103
  },
123
-
124
104
  onDisconnect() {
125
105
  connectionRef.current = undefined;
126
106
  },
127
-
128
107
  runInBackground() {
129
108
  return false;
130
109
  }
131
-
132
110
  });
133
111
  }, [addPlugin, ref, resetRoot]);
134
112
  }
@@ -1 +1 @@
1
- {"version":3,"names":["FlipperModule","require","e","useFlipper","ref","Error","addPlugin","connectionRef","React","useRef","resetRoot","useDevToolsBase","result","connection","current","type","send","id","nanoid","state","action","stack","useEffect","getId","onConnect","on","event","listener","receive","params","responder","success","error","method","args","linking","global","REACT_NAVIGATION_DEVTOOLS","get","trim","eval","config","onDisconnect","undefined","runInBackground"],"sources":["useFlipper.tsx"],"sourcesContent":["import type { NavigationContainerRef } from '@react-navigation/core';\nimport { nanoid } from 'nanoid/non-secure';\nimport * as React from 'react';\nimport type { Flipper } from 'react-native-flipper';\n\nimport useDevToolsBase from './useDevToolsBase';\n\nlet FlipperModule: typeof import('react-native-flipper') | undefined;\n\ntry {\n FlipperModule = require('react-native-flipper');\n} catch (e) {\n // Do nothing\n}\n\nexport default function useFlipper(\n ref: React.RefObject<NavigationContainerRef<any>>\n) {\n if (FlipperModule == null) {\n throw new Error(\n \"Please install the 'react-native-flipper' package in your project to use Flipper integration for React Navigation.\"\n );\n }\n\n const { addPlugin } = FlipperModule;\n\n const connectionRef = React.useRef<Flipper.FlipperConnection>();\n\n const { resetRoot } = useDevToolsBase(ref, (result) => {\n const connection = connectionRef.current;\n\n if (!connection) {\n return;\n }\n\n switch (result.type) {\n case 'init':\n connection.send('init', {\n id: nanoid(),\n state: result.state,\n });\n break;\n case 'action':\n connection.send('action', {\n id: nanoid(),\n action: result.action,\n state: result.state,\n stack: result.stack,\n });\n break;\n }\n });\n\n React.useEffect(() => {\n addPlugin({\n getId() {\n return 'react-navigation';\n },\n async onConnect(connection) {\n connectionRef.current = connection;\n\n const on = (event: string, listener: (params: any) => Promise<any>) => {\n connection.receive(event, (params, responder) => {\n try {\n const result = listener(params);\n\n // Return null instead of undefined, otherwise flipper doesn't respond\n responder.success(result ?? null);\n } catch (e) {\n responder.error(e);\n }\n });\n };\n\n on('navigation.invoke', ({ method, args = [] }) => {\n switch (method) {\n case 'resetRoot':\n return resetRoot(args[0]);\n default:\n // @ts-expect-error: we want to call arbitrary methods here\n return ref.current?.[method](...args);\n }\n });\n\n on('linking.invoke', ({ method, args = [] }) => {\n const linking: any = ref.current\n ? // @ts-ignore: this might not exist\n global.REACT_NAVIGATION_DEVTOOLS?.get(ref.current)?.linking\n : null;\n\n switch (method) {\n case 'getStateFromPath':\n case 'getPathFromState':\n case 'getActionFromState':\n return linking?.[method](\n args[0],\n args[1]?.trim()\n ? // eslint-disable-next-line no-eval\n eval(`(function() { return ${args[1]}; }())`)\n : linking.config\n );\n default:\n return linking?.[method](...args);\n }\n });\n },\n onDisconnect() {\n connectionRef.current = undefined;\n },\n runInBackground() {\n return false;\n },\n });\n }, [addPlugin, ref, resetRoot]);\n}\n"],"mappings":";;;;;;;AACA;;AACA;;AAGA;;;;;;;;AAEA,IAAIA,aAAJ;;AAEA,IAAI;EACFA,aAAa,GAAGC,OAAO,CAAC,sBAAD,CAAvB;AACD,CAFD,CAEE,OAAOC,CAAP,EAAU,CACV;AACD;;AAEc,SAASC,UAAT,CACbC,GADa,EAEb;EACA,IAAIJ,aAAa,IAAI,IAArB,EAA2B;IACzB,MAAM,IAAIK,KAAJ,CACJ,oHADI,CAAN;EAGD;;EAED,MAAM;IAAEC;EAAF,IAAgBN,aAAtB;EAEA,MAAMO,aAAa,GAAGC,KAAK,CAACC,MAAN,EAAtB;EAEA,MAAM;IAAEC;EAAF,IAAgB,IAAAC,wBAAA,EAAgBP,GAAhB,EAAsBQ,MAAD,IAAY;IACrD,MAAMC,UAAU,GAAGN,aAAa,CAACO,OAAjC;;IAEA,IAAI,CAACD,UAAL,EAAiB;MACf;IACD;;IAED,QAAQD,MAAM,CAACG,IAAf;MACE,KAAK,MAAL;QACEF,UAAU,CAACG,IAAX,CAAgB,MAAhB,EAAwB;UACtBC,EAAE,EAAE,IAAAC,iBAAA,GADkB;UAEtBC,KAAK,EAAEP,MAAM,CAACO;QAFQ,CAAxB;QAIA;;MACF,KAAK,QAAL;QACEN,UAAU,CAACG,IAAX,CAAgB,QAAhB,EAA0B;UACxBC,EAAE,EAAE,IAAAC,iBAAA,GADoB;UAExBE,MAAM,EAAER,MAAM,CAACQ,MAFS;UAGxBD,KAAK,EAAEP,MAAM,CAACO,KAHU;UAIxBE,KAAK,EAAET,MAAM,CAACS;QAJU,CAA1B;QAMA;IAdJ;EAgBD,CAvBqB,CAAtB;EAyBAb,KAAK,CAACc,SAAN,CAAgB,MAAM;IACpBhB,SAAS,CAAC;MACRiB,KAAK,GAAG;QACN,OAAO,kBAAP;MACD,CAHO;;MAIR,MAAMC,SAAN,CAAgBX,UAAhB,EAA4B;QAC1BN,aAAa,CAACO,OAAd,GAAwBD,UAAxB;;QAEA,MAAMY,EAAE,GAAG,CAACC,KAAD,EAAgBC,QAAhB,KAA4D;UACrEd,UAAU,CAACe,OAAX,CAAmBF,KAAnB,EAA0B,CAACG,MAAD,EAASC,SAAT,KAAuB;YAC/C,IAAI;cACF,MAAMlB,MAAM,GAAGe,QAAQ,CAACE,MAAD,CAAvB,CADE,CAGF;;cACAC,SAAS,CAACC,OAAV,CAAkBnB,MAAlB,aAAkBA,MAAlB,cAAkBA,MAAlB,GAA4B,IAA5B;YACD,CALD,CAKE,OAAOV,CAAP,EAAU;cACV4B,SAAS,CAACE,KAAV,CAAgB9B,CAAhB;YACD;UACF,CATD;QAUD,CAXD;;QAaAuB,EAAE,CAAC,mBAAD,EAAsB,QAA2B;UAAA;;UAAA,IAA1B;YAAEQ,MAAF;YAAUC,IAAI,GAAG;UAAjB,CAA0B;;UACjD,QAAQD,MAAR;YACE,KAAK,WAAL;cACE,OAAOvB,SAAS,CAACwB,IAAI,CAAC,CAAD,CAAL,CAAhB;;YACF;cACE;cACA,uBAAO9B,GAAG,CAACU,OAAX,iDAAO,aAAcmB,MAAd,EAAsB,GAAGC,IAAzB,CAAP;UALJ;QAOD,CARC,CAAF;QAUAT,EAAE,CAAC,gBAAD,EAAmB,SAA2B;UAAA;;UAAA,IAA1B;YAAEQ,MAAF;YAAUC,IAAI,GAAG;UAAjB,CAA0B;UAC9C,MAAMC,OAAY,GAAG/B,GAAG,CAACU,OAAJ,GACjB;UADiB,yBAEjBsB,MAAM,CAACC,yBAFU,oFAEjB,sBAAkCC,GAAlC,CAAsClC,GAAG,CAACU,OAA1C,CAFiB,2DAEjB,uBAAoDqB,OAFnC,GAGjB,IAHJ;;UAKA,QAAQF,MAAR;YACE,KAAK,kBAAL;YACA,KAAK,kBAAL;YACA,KAAK,oBAAL;cACE,OAAOE,OAAP,aAAOA,OAAP,uBAAOA,OAAO,CAAGF,MAAH,CAAP,CACLC,IAAI,CAAC,CAAD,CADC,EAEL,UAAAA,IAAI,CAAC,CAAD,CAAJ,0CAASK,IAAT,KACI;cACAC,IAAI,CAAE,wBAAuBN,IAAI,CAAC,CAAD,CAAI,QAAjC,CAFR,GAGIC,OAAO,CAACM,MALP,CAAP;;YAOF;cACE,OAAON,OAAP,aAAOA,OAAP,uBAAOA,OAAO,CAAGF,MAAH,CAAP,CAAkB,GAAGC,IAArB,CAAP;UAZJ;QAcD,CApBC,CAAF;MAqBD,CAnDO;;MAoDRQ,YAAY,GAAG;QACbnC,aAAa,CAACO,OAAd,GAAwB6B,SAAxB;MACD,CAtDO;;MAuDRC,eAAe,GAAG;QAChB,OAAO,KAAP;MACD;;IAzDO,CAAD,CAAT;EA2DD,CA5DD,EA4DG,CAACtC,SAAD,EAAYF,GAAZ,EAAiBM,SAAjB,CA5DH;AA6DD"}
1
+ {"version":3,"names":["FlipperModule","require","e","useFlipper","ref","Error","addPlugin","connectionRef","React","useRef","resetRoot","useDevToolsBase","result","connection","current","type","send","id","nanoid","state","action","stack","useEffect","getId","onConnect","on","event","listener","receive","params","responder","success","error","method","args","linking","global","REACT_NAVIGATION_DEVTOOLS","get","trim","eval","config","onDisconnect","undefined","runInBackground"],"sourceRoot":"../../src","sources":["useFlipper.tsx"],"mappings":";;;;;;AACA;AACA;AAGA;AAAgD;AAAA;AAAA;AAEhD,IAAIA,aAAgE;AAEpE,IAAI;EACFA,aAAa,GAAGC,OAAO,CAAC,sBAAsB,CAAC;AACjD,CAAC,CAAC,OAAOC,CAAC,EAAE;EACV;AAAA;AAGa,SAASC,UAAU,CAChCC,GAAiD,EACjD;EACA,IAAIJ,aAAa,IAAI,IAAI,EAAE;IACzB,MAAM,IAAIK,KAAK,CACb,oHAAoH,CACrH;EACH;EAEA,MAAM;IAAEC;EAAU,CAAC,GAAGN,aAAa;EAEnC,MAAMO,aAAa,GAAGC,KAAK,CAACC,MAAM,EAA6B;EAE/D,MAAM;IAAEC;EAAU,CAAC,GAAG,IAAAC,wBAAe,EAACP,GAAG,EAAGQ,MAAM,IAAK;IACrD,MAAMC,UAAU,GAAGN,aAAa,CAACO,OAAO;IAExC,IAAI,CAACD,UAAU,EAAE;MACf;IACF;IAEA,QAAQD,MAAM,CAACG,IAAI;MACjB,KAAK,MAAM;QACTF,UAAU,CAACG,IAAI,CAAC,MAAM,EAAE;UACtBC,EAAE,EAAE,IAAAC,iBAAM,GAAE;UACZC,KAAK,EAAEP,MAAM,CAACO;QAChB,CAAC,CAAC;QACF;MACF,KAAK,QAAQ;QACXN,UAAU,CAACG,IAAI,CAAC,QAAQ,EAAE;UACxBC,EAAE,EAAE,IAAAC,iBAAM,GAAE;UACZE,MAAM,EAAER,MAAM,CAACQ,MAAM;UACrBD,KAAK,EAAEP,MAAM,CAACO,KAAK;UACnBE,KAAK,EAAET,MAAM,CAACS;QAChB,CAAC,CAAC;QACF;IAAM;EAEZ,CAAC,CAAC;EAEFb,KAAK,CAACc,SAAS,CAAC,MAAM;IACpBhB,SAAS,CAAC;MACRiB,KAAK,GAAG;QACN,OAAO,kBAAkB;MAC3B,CAAC;MACD,MAAMC,SAAS,CAACX,UAAU,EAAE;QAC1BN,aAAa,CAACO,OAAO,GAAGD,UAAU;QAElC,MAAMY,EAAE,GAAG,CAACC,KAAa,EAAEC,QAAuC,KAAK;UACrEd,UAAU,CAACe,OAAO,CAACF,KAAK,EAAE,CAACG,MAAM,EAAEC,SAAS,KAAK;YAC/C,IAAI;cACF,MAAMlB,MAAM,GAAGe,QAAQ,CAACE,MAAM,CAAC;;cAE/B;cACAC,SAAS,CAACC,OAAO,CAACnB,MAAM,IAAI,IAAI,CAAC;YACnC,CAAC,CAAC,OAAOV,CAAC,EAAE;cACV4B,SAAS,CAACE,KAAK,CAAC9B,CAAC,CAAC;YACpB;UACF,CAAC,CAAC;QACJ,CAAC;QAEDuB,EAAE,CAAC,mBAAmB,EAAE,QAA2B;UAAA;UAAA,IAA1B;YAAEQ,MAAM;YAAEC,IAAI,GAAG;UAAG,CAAC;UAC5C,QAAQD,MAAM;YACZ,KAAK,WAAW;cACd,OAAOvB,SAAS,CAACwB,IAAI,CAAC,CAAC,CAAC,CAAC;YAC3B;cACE;cACA,uBAAO9B,GAAG,CAACU,OAAO,iDAAX,aAAcmB,MAAM,CAAC,CAAC,GAAGC,IAAI,CAAC;UAAC;QAE5C,CAAC,CAAC;QAEFT,EAAE,CAAC,gBAAgB,EAAE,SAA2B;UAAA;UAAA,IAA1B;YAAEQ,MAAM;YAAEC,IAAI,GAAG;UAAG,CAAC;UACzC,MAAMC,OAAY,GAAG/B,GAAG,CAACU,OAAO,GAC5B;UAAA,yBACAsB,MAAM,CAACC,yBAAyB,oFAAhC,sBAAkCC,GAAG,CAAClC,GAAG,CAACU,OAAO,CAAC,2DAAlD,uBAAoDqB,OAAO,GAC3D,IAAI;UAER,QAAQF,MAAM;YACZ,KAAK,kBAAkB;YACvB,KAAK,kBAAkB;YACvB,KAAK,oBAAoB;cACvB,OAAOE,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAGF,MAAM,CAAC,CACtBC,IAAI,CAAC,CAAC,CAAC,EACP,UAAAA,IAAI,CAAC,CAAC,CAAC,mCAAP,OAASK,IAAI,EAAE;cACX;cACAC,IAAI,CAAE,wBAAuBN,IAAI,CAAC,CAAC,CAAE,QAAO,CAAC,GAC7CC,OAAO,CAACM,MAAM,CACnB;YACH;cACE,OAAON,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAGF,MAAM,CAAC,CAAC,GAAGC,IAAI,CAAC;UAAC;QAExC,CAAC,CAAC;MACJ,CAAC;MACDQ,YAAY,GAAG;QACbnC,aAAa,CAACO,OAAO,GAAG6B,SAAS;MACnC,CAAC;MACDC,eAAe,GAAG;QAChB,OAAO,KAAK;MACd;IACF,CAAC,CAAC;EACJ,CAAC,EAAE,CAACtC,SAAS,EAAEF,GAAG,EAAEM,SAAS,CAAC,CAAC;AACjC"}
@@ -4,40 +4,29 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = useReduxDevToolsExtension;
7
-
8
7
  var React = _interopRequireWildcard(require("react"));
9
-
10
8
  var _useDevToolsBase = _interopRequireDefault(require("./useDevToolsBase"));
11
-
12
9
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
-
14
10
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
15
-
16
11
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
17
-
18
12
  function useReduxDevToolsExtension(ref) {
19
13
  const devToolsRef = React.useRef();
20
-
21
14
  if (devToolsRef.current === undefined && typeof __REDUX_DEVTOOLS_EXTENSION__ !== 'undefined') {
22
15
  devToolsRef.current = __REDUX_DEVTOOLS_EXTENSION__.connect({
23
16
  name: '@react-navigation/devtools'
24
17
  });
25
18
  }
26
-
27
19
  const {
28
20
  resetRoot
29
21
  } = (0, _useDevToolsBase.default)(ref, result => {
30
22
  const devTools = devToolsRef.current;
31
-
32
23
  if (!devTools) {
33
24
  return;
34
25
  }
35
-
36
26
  switch (result.type) {
37
27
  case 'init':
38
28
  devTools.init(result.state);
39
29
  break;
40
-
41
30
  case 'action':
42
31
  devTools.send(result.action, result.state);
43
32
  break;
@@ -45,7 +34,6 @@ function useReduxDevToolsExtension(ref) {
45
34
  });
46
35
  React.useEffect(() => {
47
36
  var _devToolsRef$current;
48
-
49
37
  return (_devToolsRef$current = devToolsRef.current) === null || _devToolsRef$current === void 0 ? void 0 : _devToolsRef$current.subscribe(message => {
50
38
  if (message.type === 'DISPATCH' && message.state) {
51
39
  const state = JSON.parse(message.state);
@@ -1 +1 @@
1
- {"version":3,"names":["useReduxDevToolsExtension","ref","devToolsRef","React","useRef","current","undefined","__REDUX_DEVTOOLS_EXTENSION__","connect","name","resetRoot","useDevToolsBase","result","devTools","type","init","state","send","action","useEffect","subscribe","message","JSON","parse"],"sources":["useReduxDevToolsExtension.tsx"],"sourcesContent":["import type { NavigationContainerRef } from '@react-navigation/core';\nimport * as React from 'react';\n\nimport useDevToolsBase from './useDevToolsBase';\n\ntype DevToolsConnection = {\n init(value: any): void;\n send(action: any, value: any): void;\n subscribe(\n listener: (message: { type: string; [key: string]: any }) => void\n ): () => void;\n};\n\ntype DevToolsExtension = {\n connect(options: { name: string }): DevToolsConnection;\n disconnect(): void;\n};\n\ndeclare const __REDUX_DEVTOOLS_EXTENSION__: DevToolsExtension | undefined;\n\nexport default function useReduxDevToolsExtension(\n ref: React.RefObject<NavigationContainerRef<any>>\n) {\n const devToolsRef = React.useRef<DevToolsConnection>();\n\n if (\n devToolsRef.current === undefined &&\n typeof __REDUX_DEVTOOLS_EXTENSION__ !== 'undefined'\n ) {\n devToolsRef.current = __REDUX_DEVTOOLS_EXTENSION__.connect({\n name: '@react-navigation/devtools',\n });\n }\n\n const { resetRoot } = useDevToolsBase(ref, (result) => {\n const devTools = devToolsRef.current;\n\n if (!devTools) {\n return;\n }\n\n switch (result.type) {\n case 'init':\n devTools.init(result.state);\n break;\n case 'action':\n devTools.send(result.action, result.state);\n break;\n }\n });\n\n React.useEffect(\n () =>\n devToolsRef.current?.subscribe((message) => {\n if (message.type === 'DISPATCH' && message.state) {\n const state = JSON.parse(message.state);\n\n resetRoot(state);\n }\n }),\n [resetRoot]\n );\n}\n"],"mappings":";;;;;;;AACA;;AAEA;;;;;;;;AAiBe,SAASA,yBAAT,CACbC,GADa,EAEb;EACA,MAAMC,WAAW,GAAGC,KAAK,CAACC,MAAN,EAApB;;EAEA,IACEF,WAAW,CAACG,OAAZ,KAAwBC,SAAxB,IACA,OAAOC,4BAAP,KAAwC,WAF1C,EAGE;IACAL,WAAW,CAACG,OAAZ,GAAsBE,4BAA4B,CAACC,OAA7B,CAAqC;MACzDC,IAAI,EAAE;IADmD,CAArC,CAAtB;EAGD;;EAED,MAAM;IAAEC;EAAF,IAAgB,IAAAC,wBAAA,EAAgBV,GAAhB,EAAsBW,MAAD,IAAY;IACrD,MAAMC,QAAQ,GAAGX,WAAW,CAACG,OAA7B;;IAEA,IAAI,CAACQ,QAAL,EAAe;MACb;IACD;;IAED,QAAQD,MAAM,CAACE,IAAf;MACE,KAAK,MAAL;QACED,QAAQ,CAACE,IAAT,CAAcH,MAAM,CAACI,KAArB;QACA;;MACF,KAAK,QAAL;QACEH,QAAQ,CAACI,IAAT,CAAcL,MAAM,CAACM,MAArB,EAA6BN,MAAM,CAACI,KAApC;QACA;IANJ;EAQD,CAfqB,CAAtB;EAiBAb,KAAK,CAACgB,SAAN,CACE;IAAA;;IAAA,+BACEjB,WAAW,CAACG,OADd,yDACE,qBAAqBe,SAArB,CAAgCC,OAAD,IAAa;MAC1C,IAAIA,OAAO,CAACP,IAAR,KAAiB,UAAjB,IAA+BO,OAAO,CAACL,KAA3C,EAAkD;QAChD,MAAMA,KAAK,GAAGM,IAAI,CAACC,KAAL,CAAWF,OAAO,CAACL,KAAnB,CAAd;QAEAN,SAAS,CAACM,KAAD,CAAT;MACD;IACF,CAND,CADF;EAAA,CADF,EASE,CAACN,SAAD,CATF;AAWD"}
1
+ {"version":3,"names":["useReduxDevToolsExtension","ref","devToolsRef","React","useRef","current","undefined","__REDUX_DEVTOOLS_EXTENSION__","connect","name","resetRoot","useDevToolsBase","result","devTools","type","init","state","send","action","useEffect","subscribe","message","JSON","parse"],"sourceRoot":"../../src","sources":["useReduxDevToolsExtension.tsx"],"mappings":";;;;;;AACA;AAEA;AAAgD;AAAA;AAAA;AAiBjC,SAASA,yBAAyB,CAC/CC,GAAiD,EACjD;EACA,MAAMC,WAAW,GAAGC,KAAK,CAACC,MAAM,EAAsB;EAEtD,IACEF,WAAW,CAACG,OAAO,KAAKC,SAAS,IACjC,OAAOC,4BAA4B,KAAK,WAAW,EACnD;IACAL,WAAW,CAACG,OAAO,GAAGE,4BAA4B,CAACC,OAAO,CAAC;MACzDC,IAAI,EAAE;IACR,CAAC,CAAC;EACJ;EAEA,MAAM;IAAEC;EAAU,CAAC,GAAG,IAAAC,wBAAe,EAACV,GAAG,EAAGW,MAAM,IAAK;IACrD,MAAMC,QAAQ,GAAGX,WAAW,CAACG,OAAO;IAEpC,IAAI,CAACQ,QAAQ,EAAE;MACb;IACF;IAEA,QAAQD,MAAM,CAACE,IAAI;MACjB,KAAK,MAAM;QACTD,QAAQ,CAACE,IAAI,CAACH,MAAM,CAACI,KAAK,CAAC;QAC3B;MACF,KAAK,QAAQ;QACXH,QAAQ,CAACI,IAAI,CAACL,MAAM,CAACM,MAAM,EAAEN,MAAM,CAACI,KAAK,CAAC;QAC1C;IAAM;EAEZ,CAAC,CAAC;EAEFb,KAAK,CAACgB,SAAS,CACb;IAAA;IAAA,+BACEjB,WAAW,CAACG,OAAO,yDAAnB,qBAAqBe,SAAS,CAAEC,OAAO,IAAK;MAC1C,IAAIA,OAAO,CAACP,IAAI,KAAK,UAAU,IAAIO,OAAO,CAACL,KAAK,EAAE;QAChD,MAAMA,KAAK,GAAGM,IAAI,CAACC,KAAK,CAACF,OAAO,CAACL,KAAK,CAAC;QAEvCN,SAAS,CAACM,KAAK,CAAC;MAClB;IACF,CAAC,CAAC;EAAA,GACJ,CAACN,SAAS,CAAC,CACZ;AACH"}
@@ -1,8 +1,6 @@
1
1
  const noop = () => {};
2
-
3
2
  export let useReduxDevToolsExtension;
4
3
  export let useFlipper;
5
-
6
4
  if (process.env.NODE_ENV !== 'production') {
7
5
  useReduxDevToolsExtension = require('./useReduxDevToolsExtension').default;
8
6
  useFlipper = require('./useFlipper').default;
@@ -1 +1 @@
1
- {"version":3,"names":["noop","useReduxDevToolsExtension","useFlipper","process","env","NODE_ENV","require","default"],"sources":["index.tsx"],"sourcesContent":["const noop: any = () => {};\n\nexport let useReduxDevToolsExtension: typeof import('./useReduxDevToolsExtension').default;\nexport let useFlipper: typeof import('./useFlipper').default;\n\nif (process.env.NODE_ENV !== 'production') {\n useReduxDevToolsExtension = require('./useReduxDevToolsExtension').default;\n useFlipper = require('./useFlipper').default;\n} else {\n useReduxDevToolsExtension = noop;\n useFlipper = noop;\n}\n"],"mappings":"AAAA,MAAMA,IAAS,GAAG,MAAM,CAAE,CAA1B;;AAEA,OAAO,IAAIC,yBAAJ;AACP,OAAO,IAAIC,UAAJ;;AAEP,IAAIC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAA7B,EAA2C;EACzCJ,yBAAyB,GAAGK,OAAO,CAAC,6BAAD,CAAP,CAAuCC,OAAnE;EACAL,UAAU,GAAGI,OAAO,CAAC,cAAD,CAAP,CAAwBC,OAArC;AACD,CAHD,MAGO;EACLN,yBAAyB,GAAGD,IAA5B;EACAE,UAAU,GAAGF,IAAb;AACD"}
1
+ {"version":3,"names":["noop","useReduxDevToolsExtension","useFlipper","process","env","NODE_ENV","require","default"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA,MAAMA,IAAS,GAAG,MAAM,CAAC,CAAC;AAE1B,OAAO,IAAIC,yBAA+E;AAC1F,OAAO,IAAIC,UAAiD;AAE5D,IAAIC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,EAAE;EACzCJ,yBAAyB,GAAGK,OAAO,CAAC,6BAA6B,CAAC,CAACC,OAAO;EAC1EL,UAAU,GAAGI,OAAO,CAAC,cAAc,CAAC,CAACC,OAAO;AAC9C,CAAC,MAAM;EACLN,yBAAyB,GAAGD,IAAI;EAChCE,UAAU,GAAGF,IAAI;AACnB"}