ts-error-translator icon indicating copy to clipboard operation
ts-error-translator copied to clipboard

Error: Cannot read properties of undefined (reading 'filter')

Open felixhaeberle opened this issue 6 months ago • 0 comments

Description

Encountered an unhandled TypeError during the execution of updateDiagnostics function in the TypeScript error translator extension for VSCode. The error suggests an issue with reading properties of an undefined object, specifically when attempting to filter diagnostics.

Error Details

  • Type: TypeError
  • Message: Cannot read properties of undefined (reading 'filter')
  • Location: updateDiagnostics function at /Users/jobayerhossain/.vscode/extensions/mattpocock.ts-error-translator-0.10.1/out/extension.js line 61730:36
  • Handled: No

Stack Trace

TypeError: Cannot read properties of undefined (reading 'filter')
    at /Users/jobayerhossain/.vscode/extensions/mattpocock.ts-error-translator-0.10.1/out/extension.js:61730:36

Code Snippet

try {
  // Existing code that might throw an error
} catch (e) {
  // Error handling
}
helperDiagnostics.set(
  document2.uri,
  uriStore[document2.uri.path].filter(tipHasNoDepsOrAllDepsCompleted).filter((tip) => !isTipComplete(tip.type)).map((tip) => {
    const diagnostic = new vscode5.Diagnostic(
      tip.range,
      tip.type,
      vscode5.DiagnosticSeverity.Information
    );
    diagnostic.source = "total-typescript";
    return diagnostic;
  })
);

Potential Issue

The error appears to be related to the assumption that uriStore[document2.uri.path] is always defined and can be filtered. This may not be the case, leading to the TypeError when attempting to call .filter() on an undefined object.

Steps to Reproduce

  1. Install the TypeScript error translator extension (version 0.10.1) in VSCode.
  2. Trigger the updateDiagnostics function under conditions that lead to uriStore[document2.uri.path] being undefined.

Expected Behavior

updateDiagnostics should handle cases where uriStore[document2.uri.path] is undefined, avoiding any TypeErrors related to calling .filter() on undefined.

Actual Behavior

The application throws a TypeError when it attempts to filter on an undefined object within the updateDiagnostics function.

Environment

  • Node Version: v18.15.0
  • macOS Version: 14.0
  • Architecture: arm64
  • Environment: production
  • Error Level: error
  • Error Mechanism: onunhandledrejection
  • OS: macOS 14.0
  • Runtime: Node v18.15.0
  • Release: 1.32.0
Bildschirmfoto 2024-02-08 um 10 31 37

felixhaeberle avatar Feb 08 '24 09:02 felixhaeberle