Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Angular 2 "Error encountered resolving symbol values statically." running i18n

I am trying to run the i18n extraction tool for translation of my angular 2 app. But when I try to run I get:

Failed on type {"filePath":"C:/ng/anbud/src/app/_common/logging-error handler.ts","name":"LoggingErrorHandler"} with error Error: Error encountered resolving symbol values statically. Could
 not resolve type LoggingErrorHandlerOptions (position 34:53 in the original .ts file), resolving symbol LoggingErrorHandler in C:/ng/anbud/src/app/_common/logging-error-handler.ts
Error: Error encountered resolving symbol values statically. Could not resolve type LoggingErrorHandlerOptions (position 34:53 in the original .ts file), resolving symbol LoggingErrorHandle
r in C:/ng/anbud/src/app/_common/logging-error-handler.ts
    at simplifyInContext (C:\ng\anbud\node_modules\@angular\compiler-cli\src\static_reflector.js:469:23)
    at StaticReflector.simplify (C:\ng\anbud\node_modules\@angular\compiler-cli\src\static_reflector.js:472:22)
    at StaticReflector.parameters (C:\ng\anbud\node_modules\@angular\compiler-cli\src\static_reflector.js:102:47)
    at CompileMetadataResolver.getDependenciesMetadata (C:\ng\anbud\node_modules\@angular\compiler\bundles\compiler.umd.js:14317:56)
    at CompileMetadataResolver.getTypeMetadata (C:\ng\anbud\node_modules\@angular\compiler\bundles\compiler.umd.js:14282:28)
    at CompileMetadataResolver.getProviderMetadata (C:\ng\anbud\node_modules\@angular\compiler\bundles\compiler.umd.js:14473:42)
    at C:\ng\anbud\node_modules\@angular\compiler\bundles\compiler.umd.js:14421:47
    at Array.forEach (native)
    at CompileMetadataResolver.getProvidersMetadata (C:\ng\anbud\node_modules\@angular\compiler\bundles\compiler.umd.js:14405:21)
    at C:\ng\anbud\node_modules\@angular\compiler\bundles\compiler.umd.js:14412:43
Extraction failed

npm ERR! Windows_NT 10.0.10586
npm ERR! argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\js\\AppData\\Roaming\\npm\\node_modules\\npm\\bin\\npm-cli.js" "run" "i18n"
npm ERR! node v6.5.0
npm ERR! npm  v3.10.8
npm ERR! code ELIFECYCLE
npm ERR! [email protected] i18n: `ng-xi18n`
npm ERR! Exit status 1

The error is in my custom error handler:

// Import the core angular services.
import { ErrorHandler } from '@angular/core';
// import { forwardRef } from '@angular/core';
import { Inject } from '@angular/core';
import { Injectable } from '@angular/core';

// Import the application components and services.
import { ErrorLogService } from './error-log.service';

export interface LoggingErrorHandlerOptions {
  rethrowError: boolean;
  unwrapError: boolean;
}

export var LOGGING_ERROR_HANDLER_OPTIONS: LoggingErrorHandlerOptions = {
  rethrowError: false,
  unwrapError: false
};

@Injectable()
export class LoggingErrorHandler implements ErrorHandler {

  private errorLogService: ErrorLogService;
  private options: LoggingErrorHandlerOptions;

  constructor(
    errorLogService: ErrorLogService,
    @Inject(LOGGING_ERROR_HANDLER_OPTIONS) options: LoggingErrorHandlerOptions <!--- ERROR
  ) {
    this.errorLogService = errorLogService;
    this.options = options;
  }

The error handler is based on this article: https://www.bennadel.com/blog/3138-creating-a-custom-errorhandler-in-angular-2-rc-6.htm

So if you want to see the code in it's entirety you can see it there.

Anyone know why this error is thrown?

like image 587
ganjan Avatar asked Oct 05 '16 07:10

ganjan


1 Answers

just a wild guess here:

change

export interface LoggingErrorHandlerOptions

to

export class LoggingErrorHandlerOptions
like image 147
Tim Fogarty Avatar answered Sep 30 '22 22:09

Tim Fogarty