2

I cannot realize interface's method, i get error ReferenceError: INew is not defined instead

I have the following files:

  • /services/newService.ts
  • /controllers/NewController.ts
  • /interfaces/INew.ts
  • /repositories/NewRepository.ts

1 newService

import express         = require("express");
import NewController   = require("../controllers/NewController");
var router = express.Router();

class NewRoutes {
  private _newController: NewController;

  constructor () {
    this._newController = new NewController();
  }

  get routes () {
    var controller = this._newController;
    router.get("/new", controller.retrieve);
    return router;
  }

}

Object.seal(NewRoutes);
export = NewRoutes;

2 controller

import INew = require("../interfaces/INew");
class NewController{
  private _INew: INew;

  constructor(){
    this._INew = new INew(); // !!!! INew became RED --> cannot find name 'INew'
  }

  retrieve(req: express.Request, res: express.Response): void {
    try {
      console.log('--------------NewController-----------------');
      this._INew.findById(2);
    }
    catch (e)  {
      console.log(e);
    }
  }

}

Object.seal(NewController);
export = NewController;

3 INew

interface INew {
  findById: (id: number) => void;
}
export = INew;

4 NewRepository

import INew = require("../interfaces/INew");
class NewRepository implements INew {
    constructor() {
    }
    
    findById(id) {
        console.log('RESULT');
    }
}

Object.seal(NewRepository);
export = NewRepository;

when i try to build app, i get error:

 this._INew = new INew();
                  ^
ReferenceError: INew is not defined

Help please

AxOn
  • 91
  • 1
  • 11

0 Answers0