Size: a a a

2016 June 07

NK

ID:187276728 in TypeScript
доброе утро
ребят, а как мне расширить существующие тайпинги пакета?
источник

NK

ID:187276728 in TypeScript
т.е. я просто хочу добавить в определение интерфейса что-то, например
источник

NK

ID:187276728 in TypeScript
в любой пакет, в react, например
источник

NK

ID:187276728 in TypeScript
т.е. мне нужен манкипатч типа по сути
источник

NK

ID:187276728 in TypeScript
так вообще можно?) короче цель: подавить ошибку типа, расширив его определение
источник

AK

Aleh Kashnikau in TypeScript
так отнаследуй мб?
источник

NK

ID:187276728 in TypeScript
т.е. обязательно придется определять для этого новый тип?
источник

AK

Aleh Kashnikau in TypeScript
Как мне кажется - да
источник

NK

ID:187276728 in TypeScript
как вариант было бы прикольно, наверное, иметь возможность расширять типы, не порождая новые. если бы можно было еще тайпинги обновлять, то получался бы такой флоу:
1) нехватает определения – добавляшь временно свое
2) проходит время, обновляешь тайпинги, смотришь – о, появилось
3) удаляешь свое
источник

NK

ID:187276728 in TypeScript
^ но хз, может я гоню просто)
источник

AK

Aleh Kashnikau in TypeScript
Так а в чем проблема со своим отнаследованным, кроме того, что придётся в две строки написать определение типа)
источник

NK

ID:187276728 in TypeScript
потом нужно будет везде заменить его на оригинальный интерфейс, например
источник

NK

ID:187276728 in TypeScript
ну вообще ни в чем, это не проблема)
источник

NK

ID:187276728 in TypeScript
может наоборот, это фича даже, а не проблема, так более явно выражено намерение (со своим унаследованным типом) просто размышляю вслух
источник

NK

ID:187276728 in TypeScript
а как подавлять ошибки? это можно? например, чтобы tsc на object spread не ругался
источник

AV

Anton Vasin in TypeScript
источник

NK

ID:187276728 in TypeScript
спасибо, попробую
источник

NK

ID:187276728 in TypeScript
т.е. сейчас для каждого модуля, для которого нет тайпингов придется в vendors.d.ts писать пустое определение?
источник

NK

ID:187276728 in TypeScript
declare module “foo” {
  var foo: any;
  export = foo;
}
источник

AV

Anton Vasin in TypeScript
это вариант для ленивых
источник