(config?: ReactDetectionConfig)
| 205 | } |
| 206 | |
| 207 | function resolveConfig(config?: ReactDetectionConfig): ResolvedConfig { |
| 208 | const mode = config?.mode ?? "filtered"; |
| 209 | |
| 210 | // Convert skipExact to Set if array |
| 211 | let skipExact = DEFAULT_SKIP_EXACT; |
| 212 | if (config?.skipExact) { |
| 213 | const additional = |
| 214 | config.skipExact instanceof Set |
| 215 | ? config.skipExact |
| 216 | : new Set(config.skipExact); |
| 217 | skipExact = new Set([...DEFAULT_SKIP_EXACT, ...additional]); |
| 218 | } |
| 219 | |
| 220 | return { |
| 221 | maxComponents: config?.maxComponents ?? 6, |
| 222 | maxDepth: config?.maxDepth ?? 30, |
| 223 | mode, |
| 224 | skipExact, |
| 225 | skipPatterns: config?.skipPatterns |
| 226 | ? [...DEFAULT_SKIP_PATTERNS, ...config.skipPatterns] |
| 227 | : DEFAULT_SKIP_PATTERNS, |
| 228 | userPatterns: config?.userPatterns ?? DEFAULT_USER_PATTERNS, |
| 229 | filter: config?.filter, |
| 230 | }; |
| 231 | } |
| 232 | |
| 233 | // ============================================================================= |
| 234 | // Filter Logic |
no outgoing calls
no test coverage detected
searching dependent graphs…