I have a typescript project
my tsconfig.json is like :
{
"compilerOptions": {
...
"typeRoots": [
"./node_modules/@types",
"./src/@types"
],
...
},
since in "./src/@types" I define my definition files for custom typings set up like
-tsconfig.json
-src
|_@types
|_app-types
|_index.d.ts
contents of index.d.ts
before I had and everything worked fine:
declare module 'app-types' {
export interface commonFilter {
"filterReference": 'include' | 'exclude' | null,
...
}
...
}
after I tried this improvement (but then got the issue explained below):
declare module 'app-types' {
export const enum FilterReferenceType {
include = 'include',
exclude = 'exclude'
}
export interface commonFilter {
"filterReference": FilterReferenceType | null,
...
}
...
}
in my file App.ts:
before import {commonFilter} from "app-types";
public static commonFilterBannerValid(matchFilters: commonFilter){
...
const isIncludeMode: boolean = matchFilters.filterReference === 'include';
after import {commonFilter, FilterReferenceType} from "app-types";
public static commonFilterBannerValid(matchFilters: commonFilter){
...
const isIncludeMode: boolean = matchFilters.filterReference === FilterReferenceType['include'];
But with this last one I get an error like :
ERROR in ./src/App.ts
Module not found: Error: Can't resolve 'app-types' in ....
Seems that trying to export import the enum type will break...the entire module resolution?