У меня есть внешняя библиотека, импортированная с некоторыми определениями классов. IntelliSense работает только частично, см. ниже.
import BB = require('../services/BB');
var r = new BB.Model.Repository();
var name: string = r.name; // Ok, we've got intellisense here
var func = (repo) => { }; // No intellisense here -- ok of course
var func2 = (repo: BB.Model.Repository) => { }; // No intellisense -- why?
var func3 = function(repo: BB.Model.Repository) { }; // No intellisense -- why?
var func4: (r: BB.Model.Repository)=>void = function(repo): void { }; // No intellisense -- why?
var func5 = () => {
var repo = new BB.Model.Repository();
var name:string = repo.name; // Ok, we've got intellisense here
};
var func6 = (repo: any) => {
var name: string = (<BB.Model.Repository>repo).name; // No intellisense here -- why?
};
В чем проблема? Что-то не так с моей библиотекой или это просто WebStorm?
Кстати, экспорт библиотеки проходит через несколько файлов:
// BB.Model.Repository.ts
export = Repository;
class Repository { name: string; }
// BB.Model.ts
export import Repository = require("./BB.Model.Repository");
// BB.ts
export import Model = require ('./BB.Model');