Я ищу способ сбоя во время компиляции, если разработчик использует функцию расширения без импорта файла реализации
Файл string.d.ts
export {};
declare global {
interface String {
padZero (length: number): string;
}
}
Строка файла .extensions.ts
String.prototype.padZero = function (this: string, length: number): string {
... implementation
}
В любом месте кода
'TEST'.padZero(10); // Fails at runtime because "import '...string.extensions.ts';" was forgotten
Как убедиться, что импорт выполнен правильно во время компиляции?