Конфликты с глобальными типами в TypeScript - PullRequest
1 голос
/ 17 мая 2019

Я хотел бы использовать свои собственные глобальные типы (без import, используя declare type) в TypeScript.Например:

// File with global types.
declare type Function<TParameter, TResult> = (parameter: TParameter) => TResult

// Another file.
const someMethod = (callback: Function<number, string>) => { ... }

Однако существует конфликт (TS2300: Duplicate identifier 'Function'.) из-за lib.es5.d.ts или какой-либо внешней библиотеки.Есть ли способ игнорировать существующее объявление Function и использовать мое собственное?

Единственное, что я знаю, это поместить все собственные типы в пространство имен:

// File with global types
declare type MyTypes.Function<TParameter, TResult> = (parameter: TParameter) => TResult

// Another file.
const someMethod = (callback: MyTypes.Function<number, string>) => { ... }
...