@react-navigation/devtools 6.0.10 → 6.0.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"sources":["index.tsx"],"names":["noop","useReduxDevToolsExtension","useFlipper","process","env","NODE_ENV","require","default"],"mappings":";;;;;;;AAAA,MAAMA,IAAS,GAAG,MAAM,CAAE,CAA1B;;AAEO,IAAIC,yBAAJ;;AACA,IAAIC,UAAJ;;;AAEP,IAAIC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAA7B,EAA2C;AACzC,sCAAAJ,yBAAyB,GAAGK,OAAO,CAAC,6BAAD,CAAP,CAAuCC,OAAnE;AACA,uBAAAL,UAAU,GAAGI,OAAO,CAAC,cAAD,CAAP,CAAwBC,OAArC;AACD,CAHD,MAGO;AACL,sCAAAN,yBAAyB,GAAGD,IAA5B;AACA,uBAAAE,UAAU,GAAGF,IAAb;AACD","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"]}
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 +1 @@
1
- {"version":3,"sources":["parseErrorStack.tsx"],"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","stacktraceParser","parse","map","frame"],"mappings":";;;;;;;AAOA;;AAEA;;;;;;;;AATA;AACA;AACA;AACA;AACA;AACA;AAaA,SAASA,kBAAT,CAA4BC,KAA5B,EAAoE;AAClE,QAAMC,MAAM,GAAG,EAAf;;AACA,OAAK,MAAMC,KAAX,IAAoBF,KAAK,CAACG,OAA1B,EAAmC;AACjC,QAAID,KAAK,CAACE,IAAN,KAAe,OAAnB,EAA4B;AAC1B;AACD;;AACD,UAAM;AAAEC,MAAAA,QAAF;AAAYC,MAAAA;AAAZ,QAA6BJ,KAAnC;;AACA,QAAIG,QAAQ,CAACD,IAAT,KAAkB,QAAtB,EAAgC;AAC9B;AACD;;AACDH,IAAAA,MAAM,CAACM,IAAP,CAAY;AACVC,MAAAA,UAAU,EAAEF,YADF;AAEVG,MAAAA,IAAI,EAAEJ,QAAQ,CAACK,SAFL;AAGVC,MAAAA,UAAU,EAAEN,QAAQ,CAACO,UAHX;AAIVC,MAAAA,MAAM,EACJR,QAAQ,CAACD,IAAT,KAAkB,QAAlB,GACIC,QAAQ,CAACS,YAAT,GAAwB,CAD5B,GAEIT,QAAQ,CAACU;AAPL,KAAZ;AASD;;AACD,SAAOd,MAAP;AACD;;AAED,SAASe,eAAT,CAAyBC,UAAzB,EAA2E;AACzE,MAAI,CAACA,UAAL,EAAiB;AACf,WAAO,EAAP;AACD;;AAED,QAAMC,WAAW,GAAGC,KAAK,CAACC,OAAN,CAAcH,UAAd,IAChBA,UADgB,GAEfI,MAAD,CAAgBC,cAAhB,GACAvB,kBAAkB,CAAC,+BAAiBkB,UAAjB,CAAD,CADlB,GAEAM,gBAAgB,CAACC,KAAjB,CAAuBP,UAAvB,EAAmCQ,GAAnC,CAAwCC,KAAD,KAAY,EACjD,GAAGA,KAD8C;AAEjDb,IAAAA,MAAM,EAAEa,KAAK,CAACb,MAAN,IAAgB,IAAhB,GAAuBa,KAAK,CAACb,MAAN,GAAe,CAAtC,GAA0C;AAFD,GAAZ,CAAvC,CAJJ;AASA,SAAOK,WAAP;AACD;;eAEcF,e","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"]}
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 +1 @@
1
- {"version":3,"sources":["parseHermesStack.tsx"],"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"],"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;AAC7D,QAAMC,OAAO,GAAGD,IAAI,CAACE,KAAL,CAAWL,QAAX,CAAhB;;AACA,MAAII,OAAJ,EAAa;AACX,WAAO;AACLE,MAAAA,IAAI,EAAE,OADD;AAELC,MAAAA,YAAY,EAAEH,OAAO,CAAC,CAAD,CAFhB;AAGLI,MAAAA,QAAQ,EACNJ,OAAO,CAAC,CAAD,CAAP,KAAe,QAAf,GACI;AAAEE,QAAAA,IAAI,EAAE;AAAR,OADJ,GAEIF,OAAO,CAAC,CAAD,CAAP,KAAe,aAAf,GACA;AACEE,QAAAA,IAAI,EAAE,UADR;AAEEG,QAAAA,SAAS,EAAEL,OAAO,CAAC,CAAD,CAFpB;AAGEM,QAAAA,UAAU,EAAEC,MAAM,CAACC,QAAP,CAAgBR,OAAO,CAAC,CAAD,CAAvB,EAA4B,EAA5B,CAHd;AAIES,QAAAA,mBAAmB,EAAEF,MAAM,CAACC,QAAP,CAAgBR,OAAO,CAAC,CAAD,CAAvB,EAA4B,EAA5B;AAJvB,OADA,GAOA;AACEE,QAAAA,IAAI,EAAE,QADR;AAEEG,QAAAA,SAAS,EAAEL,OAAO,CAAC,CAAD,CAFpB;AAGEM,QAAAA,UAAU,EAAEC,MAAM,CAACC,QAAP,CAAgBR,OAAO,CAAC,CAAD,CAAvB,EAA4B,EAA5B,CAHd;AAIEU,QAAAA,YAAY,EAAEH,MAAM,CAACC,QAAP,CAAgBR,OAAO,CAAC,CAAD,CAAvB,EAA4B,EAA5B;AAJhB;AAbD,KAAP;AAoBD;;AACD,QAAMW,SAAS,GAAGZ,IAAI,CAACE,KAAL,CAAWJ,UAAX,CAAlB;;AACA,MAAIc,SAAJ,EAAe;AACb,WAAO;AACLT,MAAAA,IAAI,EAAE,SADD;AAELU,MAAAA,KAAK,EAAEL,MAAM,CAACC,QAAP,CAAgBG,SAAS,CAAC,CAAD,CAAzB,EAA8B,EAA9B;AAFF,KAAP;AAID;;AACD,SAAOE,SAAP;AACD;;AAEc,SAASC,gBAAT,CAA0BC,KAA1B,EAA4D;AACzE,QAAMC,KAAK,GAAGD,KAAK,CAACE,KAAN,CAAY,IAAZ,CAAd;AACA,MAAIC,OAAO,GAAG,EAAd;AACA,MAAIC,eAAe,GAAG,CAAC,CAAvB;;AACA,OAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGJ,KAAK,CAACK,MAA1B,EAAkC,EAAED,CAApC,EAAuC;AACrC,UAAMrB,IAAI,GAAGiB,KAAK,CAACI,CAAD,CAAlB;;AACA,QAAI,CAACrB,IAAL,EAAW;AACT;AACD;;AACD,UAAMuB,KAAK,GAAGxB,SAAS,CAACC,IAAD,CAAvB;;AACA,QAAIuB,KAAJ,EAAW;AACTJ,MAAAA,OAAO,CAACK,IAAR,CAAaD,KAAb;AACA;AACD,KAToC,CAUrC;;;AACAH,IAAAA,eAAe,GAAGC,CAAlB;AACAF,IAAAA,OAAO,GAAG,EAAV;AACD;;AACD,QAAMM,OAAO,GAAGR,KAAK,CAACS,KAAN,CAAY,CAAZ,EAAeN,eAAe,GAAG,CAAjC,EAAoCO,IAApC,CAAyC,IAAzC,CAAhB;AACA,SAAO;AAAEF,IAAAA,OAAF;AAAWN,IAAAA;AAAX,GAAP;AACD","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"]}
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 +1 @@
1
- {"version":3,"sources":["useDevToolsBase.tsx"],"names":["useDevToolsBase","ref","callback","lastStateRef","React","useRef","lastActionRef","callbackRef","lastResetRef","undefined","useEffect","current","symbolicate","stack","frames","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","lastState","lastChange","resetRoot"],"mappings":"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","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"]}
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 +1 @@
1
- {"version":3,"sources":["useFlipper.tsx"],"names":["FlipperModule","require","e","useFlipper","ref","Error","addPlugin","connectionRef","React","useRef","resetRoot","result","connection","current","type","send","id","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"],"mappings":"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","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"]}
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":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["useReduxDevToolsExtension.tsx"],"names":["useReduxDevToolsExtension","ref","devToolsRef","React","useRef","current","undefined","__REDUX_DEVTOOLS_EXTENSION__","connect","name","resetRoot","result","devTools","type","init","state","send","action","useEffect","subscribe","message","JSON","parse"],"mappings":";;;;;;;AACA;;AAEA;;;;;;;;AAiBe,SAASA,yBAAT,CACbC,GADa,EAEb;AACA,QAAMC,WAAW,GAAGC,KAAK,CAACC,MAAN,EAApB;;AAEA,MACEF,WAAW,CAACG,OAAZ,KAAwBC,SAAxB,IACA,OAAOC,4BAAP,KAAwC,WAF1C,EAGE;AACAL,IAAAA,WAAW,CAACG,OAAZ,GAAsBE,4BAA4B,CAACC,OAA7B,CAAqC;AACzDC,MAAAA,IAAI,EAAE;AADmD,KAArC,CAAtB;AAGD;;AAED,QAAM;AAAEC,IAAAA;AAAF,MAAgB,8BAAgBT,GAAhB,EAAsBU,MAAD,IAAY;AACrD,UAAMC,QAAQ,GAAGV,WAAW,CAACG,OAA7B;;AAEA,QAAI,CAACO,QAAL,EAAe;AACb;AACD;;AAED,YAAQD,MAAM,CAACE,IAAf;AACE,WAAK,MAAL;AACED,QAAAA,QAAQ,CAACE,IAAT,CAAcH,MAAM,CAACI,KAArB;AACA;;AACF,WAAK,QAAL;AACEH,QAAAA,QAAQ,CAACI,IAAT,CAAcL,MAAM,CAACM,MAArB,EAA6BN,MAAM,CAACI,KAApC;AACA;AANJ;AAQD,GAfqB,CAAtB;AAiBAZ,EAAAA,KAAK,CAACe,SAAN,CACE;AAAA;;AAAA,mCACEhB,WAAW,CAACG,OADd,yDACE,qBAAqBc,SAArB,CAAgCC,OAAD,IAAa;AAC1C,UAAIA,OAAO,CAACP,IAAR,KAAiB,UAAjB,IAA+BO,OAAO,CAACL,KAA3C,EAAkD;AAChD,cAAMA,KAAK,GAAGM,IAAI,CAACC,KAAL,CAAWF,OAAO,CAACL,KAAnB,CAAd;AAEAL,QAAAA,SAAS,CAACK,KAAD,CAAT;AACD;AACF,KAND,CADF;AAAA,GADF,EASE,CAACL,SAAD,CATF;AAWD","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"]}
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 +1 @@
1
- {"version":3,"sources":["index.tsx"],"names":["noop","useReduxDevToolsExtension","useFlipper","process","env","NODE_ENV","require","default"],"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;AACzCJ,EAAAA,yBAAyB,GAAGK,OAAO,CAAC,6BAAD,CAAP,CAAuCC,OAAnE;AACAL,EAAAA,UAAU,GAAGI,OAAO,CAAC,cAAD,CAAP,CAAwBC,OAArC;AACD,CAHD,MAGO;AACLN,EAAAA,yBAAyB,GAAGD,IAA5B;AACAE,EAAAA,UAAU,GAAGF,IAAb;AACD","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"]}
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 +1 @@
1
- {"version":3,"sources":["parseErrorStack.tsx"],"names":["stacktraceParser","parseHermesStack","convertHermesStack","stack","frames","entry","entries","type","location","functionName","push","methodName","file","sourceUrl","lineNumber","line1Based","column","column1Based","virtualOffset0Based","parseErrorStack","errorStack","parsedStack","Array","isArray","global","HermesInternal","parse","map","frame"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AAEA,OAAO,KAAKA,gBAAZ,MAAkC,mBAAlC;AAEA,OAAOC,gBAAP,MAAoD,oBAApD;;AASA,SAASC,kBAAT,CAA4BC,KAA5B,EAAoE;AAClE,QAAMC,MAAM,GAAG,EAAf;;AACA,OAAK,MAAMC,KAAX,IAAoBF,KAAK,CAACG,OAA1B,EAAmC;AACjC,QAAID,KAAK,CAACE,IAAN,KAAe,OAAnB,EAA4B;AAC1B;AACD;;AACD,UAAM;AAAEC,MAAAA,QAAF;AAAYC,MAAAA;AAAZ,QAA6BJ,KAAnC;;AACA,QAAIG,QAAQ,CAACD,IAAT,KAAkB,QAAtB,EAAgC;AAC9B;AACD;;AACDH,IAAAA,MAAM,CAACM,IAAP,CAAY;AACVC,MAAAA,UAAU,EAAEF,YADF;AAEVG,MAAAA,IAAI,EAAEJ,QAAQ,CAACK,SAFL;AAGVC,MAAAA,UAAU,EAAEN,QAAQ,CAACO,UAHX;AAIVC,MAAAA,MAAM,EACJR,QAAQ,CAACD,IAAT,KAAkB,QAAlB,GACIC,QAAQ,CAACS,YAAT,GAAwB,CAD5B,GAEIT,QAAQ,CAACU;AAPL,KAAZ;AASD;;AACD,SAAOd,MAAP;AACD;;AAED,SAASe,eAAT,CAAyBC,UAAzB,EAA2E;AACzE,MAAI,CAACA,UAAL,EAAiB;AACf,WAAO,EAAP;AACD;;AAED,QAAMC,WAAW,GAAGC,KAAK,CAACC,OAAN,CAAcH,UAAd,IAChBA,UADgB,GAEfI,MAAD,CAAgBC,cAAhB,GACAvB,kBAAkB,CAACD,gBAAgB,CAACmB,UAAD,CAAjB,CADlB,GAEApB,gBAAgB,CAAC0B,KAAjB,CAAuBN,UAAvB,EAAmCO,GAAnC,CAAwCC,KAAD,KAAY,EACjD,GAAGA,KAD8C;AAEjDZ,IAAAA,MAAM,EAAEY,KAAK,CAACZ,MAAN,IAAgB,IAAhB,GAAuBY,KAAK,CAACZ,MAAN,GAAe,CAAtC,GAA0C;AAFD,GAAZ,CAAvC,CAJJ;AASA,SAAOK,WAAP;AACD;;AAED,eAAeF,eAAf","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"]}
1
+ {"version":3,"names":["stacktraceParser","parseHermesStack","convertHermesStack","stack","frames","entry","entries","type","location","functionName","push","methodName","file","sourceUrl","lineNumber","line1Based","column","column1Based","virtualOffset0Based","parseErrorStack","errorStack","parsedStack","Array","isArray","global","HermesInternal","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":"AAAA;AACA;AACA;AACA;AACA;AACA;AAEA,OAAO,KAAKA,gBAAZ,MAAkC,mBAAlC;AAEA,OAAOC,gBAAP,MAAoD,oBAApD;;AASA,SAASC,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,CAACD,gBAAgB,CAACmB,UAAD,CAAjB,CADlB,GAEApB,gBAAgB,CAAC0B,KAAjB,CAAuBN,UAAvB,EAAmCO,GAAnC,CAAwCC,KAAD,KAAY,EACjD,GAAGA,KAD8C;IAEjDZ,MAAM,EAAEY,KAAK,CAACZ,MAAN,IAAgB,IAAhB,GAAuBY,KAAK,CAACZ,MAAN,GAAe,CAAtC,GAA0C;EAFD,CAAZ,CAAvC,CAJJ;EASA,OAAOK,WAAP;AACD;;AAED,eAAeF,eAAf"}
@@ -1 +1 @@
1
- {"version":3,"sources":["parseHermesStack.tsx"],"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"],"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;AAC7D,QAAMC,OAAO,GAAGD,IAAI,CAACE,KAAL,CAAWL,QAAX,CAAhB;;AACA,MAAII,OAAJ,EAAa;AACX,WAAO;AACLE,MAAAA,IAAI,EAAE,OADD;AAELC,MAAAA,YAAY,EAAEH,OAAO,CAAC,CAAD,CAFhB;AAGLI,MAAAA,QAAQ,EACNJ,OAAO,CAAC,CAAD,CAAP,KAAe,QAAf,GACI;AAAEE,QAAAA,IAAI,EAAE;AAAR,OADJ,GAEIF,OAAO,CAAC,CAAD,CAAP,KAAe,aAAf,GACA;AACEE,QAAAA,IAAI,EAAE,UADR;AAEEG,QAAAA,SAAS,EAAEL,OAAO,CAAC,CAAD,CAFpB;AAGEM,QAAAA,UAAU,EAAEC,MAAM,CAACC,QAAP,CAAgBR,OAAO,CAAC,CAAD,CAAvB,EAA4B,EAA5B,CAHd;AAIES,QAAAA,mBAAmB,EAAEF,MAAM,CAACC,QAAP,CAAgBR,OAAO,CAAC,CAAD,CAAvB,EAA4B,EAA5B;AAJvB,OADA,GAOA;AACEE,QAAAA,IAAI,EAAE,QADR;AAEEG,QAAAA,SAAS,EAAEL,OAAO,CAAC,CAAD,CAFpB;AAGEM,QAAAA,UAAU,EAAEC,MAAM,CAACC,QAAP,CAAgBR,OAAO,CAAC,CAAD,CAAvB,EAA4B,EAA5B,CAHd;AAIEU,QAAAA,YAAY,EAAEH,MAAM,CAACC,QAAP,CAAgBR,OAAO,CAAC,CAAD,CAAvB,EAA4B,EAA5B;AAJhB;AAbD,KAAP;AAoBD;;AACD,QAAMW,SAAS,GAAGZ,IAAI,CAACE,KAAL,CAAWJ,UAAX,CAAlB;;AACA,MAAIc,SAAJ,EAAe;AACb,WAAO;AACLT,MAAAA,IAAI,EAAE,SADD;AAELU,MAAAA,KAAK,EAAEL,MAAM,CAACC,QAAP,CAAgBG,SAAS,CAAC,CAAD,CAAzB,EAA8B,EAA9B;AAFF,KAAP;AAID;;AACD,SAAOE,SAAP;AACD;;AAED,eAAe,SAASC,gBAAT,CAA0BC,KAA1B,EAA4D;AACzE,QAAMC,KAAK,GAAGD,KAAK,CAACE,KAAN,CAAY,IAAZ,CAAd;AACA,MAAIC,OAAO,GAAG,EAAd;AACA,MAAIC,eAAe,GAAG,CAAC,CAAvB;;AACA,OAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGJ,KAAK,CAACK,MAA1B,EAAkC,EAAED,CAApC,EAAuC;AACrC,UAAMrB,IAAI,GAAGiB,KAAK,CAACI,CAAD,CAAlB;;AACA,QAAI,CAACrB,IAAL,EAAW;AACT;AACD;;AACD,UAAMuB,KAAK,GAAGxB,SAAS,CAACC,IAAD,CAAvB;;AACA,QAAIuB,KAAJ,EAAW;AACTJ,MAAAA,OAAO,CAACK,IAAR,CAAaD,KAAb;AACA;AACD,KAToC,CAUrC;;;AACAH,IAAAA,eAAe,GAAGC,CAAlB;AACAF,IAAAA,OAAO,GAAG,EAAV;AACD;;AACD,QAAMM,OAAO,GAAGR,KAAK,CAACS,KAAN,CAAY,CAAZ,EAAeN,eAAe,GAAG,CAAjC,EAAoCO,IAApC,CAAyC,IAAzC,CAAhB;AACA,SAAO;AAAEF,IAAAA,OAAF;AAAWN,IAAAA;AAAX,GAAP;AACD","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"]}
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;;AAED,eAAe,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 +1 @@
1
- {"version":3,"sources":["useDevToolsBase.tsx"],"names":["deepEqual","React","parseErrorStack","useDevToolsBase","ref","callback","lastStateRef","useRef","lastActionRef","callbackRef","lastResetRef","undefined","useEffect","current","symbolicate","stack","frames","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","lastState","lastChange","resetRoot"],"mappings":"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","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"]}
1
+ {"version":3,"names":["deepEqual","React","parseErrorStack","useDevToolsBase","ref","callback","lastStateRef","useRef","lastActionRef","callbackRef","lastResetRef","undefined","useEffect","current","symbolicate","stack","frames","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","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 +1 @@
1
- {"version":3,"sources":["useFlipper.tsx"],"names":["nanoid","React","useDevToolsBase","FlipperModule","require","e","useFlipper","ref","Error","addPlugin","connectionRef","useRef","resetRoot","result","connection","current","type","send","id","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"],"mappings":"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","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"]}
1
+ {"version":3,"names":["nanoid","React","useDevToolsBase","FlipperModule","require","e","useFlipper","ref","Error","addPlugin","connectionRef","useRef","resetRoot","result","connection","current","type","send","id","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":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["useReduxDevToolsExtension.tsx"],"names":["React","useDevToolsBase","useReduxDevToolsExtension","ref","devToolsRef","useRef","current","undefined","__REDUX_DEVTOOLS_EXTENSION__","connect","name","resetRoot","result","devTools","type","init","state","send","action","useEffect","subscribe","message","JSON","parse"],"mappings":"AACA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AAEA,OAAOC,eAAP,MAA4B,mBAA5B;AAiBA,eAAe,SAASC,yBAAT,CACbC,GADa,EAEb;AACA,QAAMC,WAAW,GAAGJ,KAAK,CAACK,MAAN,EAApB;;AAEA,MACED,WAAW,CAACE,OAAZ,KAAwBC,SAAxB,IACA,OAAOC,4BAAP,KAAwC,WAF1C,EAGE;AACAJ,IAAAA,WAAW,CAACE,OAAZ,GAAsBE,4BAA4B,CAACC,OAA7B,CAAqC;AACzDC,MAAAA,IAAI,EAAE;AADmD,KAArC,CAAtB;AAGD;;AAED,QAAM;AAAEC,IAAAA;AAAF,MAAgBV,eAAe,CAACE,GAAD,EAAOS,MAAD,IAAY;AACrD,UAAMC,QAAQ,GAAGT,WAAW,CAACE,OAA7B;;AAEA,QAAI,CAACO,QAAL,EAAe;AACb;AACD;;AAED,YAAQD,MAAM,CAACE,IAAf;AACE,WAAK,MAAL;AACED,QAAAA,QAAQ,CAACE,IAAT,CAAcH,MAAM,CAACI,KAArB;AACA;;AACF,WAAK,QAAL;AACEH,QAAAA,QAAQ,CAACI,IAAT,CAAcL,MAAM,CAACM,MAArB,EAA6BN,MAAM,CAACI,KAApC;AACA;AANJ;AAQD,GAfoC,CAArC;AAiBAhB,EAAAA,KAAK,CAACmB,SAAN,CACE;AAAA;;AAAA,mCACEf,WAAW,CAACE,OADd,yDACE,qBAAqBc,SAArB,CAAgCC,OAAD,IAAa;AAC1C,UAAIA,OAAO,CAACP,IAAR,KAAiB,UAAjB,IAA+BO,OAAO,CAACL,KAA3C,EAAkD;AAChD,cAAMA,KAAK,GAAGM,IAAI,CAACC,KAAL,CAAWF,OAAO,CAACL,KAAnB,CAAd;AAEAL,QAAAA,SAAS,CAACK,KAAD,CAAT;AACD;AACF,KAND,CADF;AAAA,GADF,EASE,CAACL,SAAD,CATF;AAWD","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"]}
1
+ {"version":3,"names":["React","useDevToolsBase","useReduxDevToolsExtension","ref","devToolsRef","useRef","current","undefined","__REDUX_DEVTOOLS_EXTENSION__","connect","name","resetRoot","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,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AAEA,OAAOC,eAAP,MAA4B,mBAA5B;AAiBA,eAAe,SAASC,yBAAT,CACbC,GADa,EAEb;EACA,MAAMC,WAAW,GAAGJ,KAAK,CAACK,MAAN,EAApB;;EAEA,IACED,WAAW,CAACE,OAAZ,KAAwBC,SAAxB,IACA,OAAOC,4BAAP,KAAwC,WAF1C,EAGE;IACAJ,WAAW,CAACE,OAAZ,GAAsBE,4BAA4B,CAACC,OAA7B,CAAqC;MACzDC,IAAI,EAAE;IADmD,CAArC,CAAtB;EAGD;;EAED,MAAM;IAAEC;EAAF,IAAgBV,eAAe,CAACE,GAAD,EAAOS,MAAD,IAAY;IACrD,MAAMC,QAAQ,GAAGT,WAAW,CAACE,OAA7B;;IAEA,IAAI,CAACO,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,CAfoC,CAArC;EAiBAhB,KAAK,CAACmB,SAAN,CACE;IAAA;;IAAA,+BACEf,WAAW,CAACE,OADd,yDACE,qBAAqBc,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;QAEAL,SAAS,CAACK,KAAD,CAAT;MACD;IACF,CAND,CADF;EAAA,CADF,EASE,CAACL,SAAD,CATF;AAWD"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@react-navigation/devtools",
3
3
  "description": "Developer tools for React Navigation",
4
- "version": "6.0.10",
4
+ "version": "6.0.11",
5
5
  "keywords": [
6
6
  "react",
7
7
  "react-native",
@@ -41,8 +41,8 @@
41
41
  "stacktrace-parser": "^0.1.10"
42
42
  },
43
43
  "devDependencies": {
44
- "@react-navigation/core": "^6.4.0",
45
- "@testing-library/react-native": "^7.2.0",
44
+ "@react-navigation/core": "^6.4.1",
45
+ "@testing-library/react-native": "^11.5.0",
46
46
  "@types/deep-equal": "^1.0.1",
47
47
  "@types/react": "~18.0.0",
48
48
  "del-cli": "^3.0.1",
@@ -68,5 +68,5 @@
68
68
  ]
69
69
  ]
70
70
  },
71
- "gitHead": "fc4c3a63ab156e17db7ba0cbd32ada319f78714e"
71
+ "gitHead": "92f9f265d2627a3ef5b3890042d59405ff38401e"
72
72
  }