Так чего же я пригорел? Да от пункта #2. Typescript прекрасный язык, которым невозможно пользоваться полноценно, так как весь опыт передаётся только из уст в уста. Так же как и 20тыс. лет до нашей эры.
Простая задача: нужно затипизировать обёртку над либой отправки запросов: https://www.typescriptlang.org/play?#code/C4TwDgpgBACghgJzgWwM5QLxQN4CgoFQISpgD2AdqhACrgQBcUA5AFaqXNQA+LARgBsyfZgG5cAX1y5QkKAFk4AawgAlCAEcAriWDrgWhBTqQAPOtKVqJiAD5MUC+Sq16UCAA9gECgBN0bBwUzPiEAPxQqMAIAJYUAOahBExOVq5ynt5+AYLCXEmEBBEAQkJ8UAWFTBQQAG4QCOK4vhAAxgKI0ABmWhStwDGUUMjKapo6UQAUYEzwSGgAlEyKKurauvqGxvSmcyioANrMxJYuNswAurZNrVbAUB4OI6vjupPYJ87W9EyBnBILURQAD0wMi0TiiVuVHuICeozWE2A70+aRsv1yIgBQNBUFKwiAA
Как исправить, чтобы вывод типов работал верно? Для этого тебе надо знать, что нужно зафиксировать тип аргумента с помощью дженерика `foo<T extends Params>(arg: T)` и тогда можно будет работать с конкретным типом, а не с его общим описанием. https://www.typescriptlang.org/play?#code/C4TwDgpgBACghgJzgWwM5QLxQN4CgoFQISpgD2AdqhACrgQBcUA5AFaqXNQA+LARgBsyfZgG5cAX1y5QkKAFk4AawgAlCAEcAriWDrgWhBTqQAPOtKVqJiAD5MUC+Sq16UCAA9gECgBN0bBwUzPiEAPxQqMAIAJYUAOahBExOVq5ynt5+AYLCXEmEBBEAQkJ8UAWFTBQQAG4QCOK4vhAAxgKI0ABmWhStwDGUUMjKapo6UaYw7l4+-rCIKKi2ABRgTDAAlEyKKurauvqGxvRTANrMxJYuNswAurZNrVbAUB4OI3vjuivYV87WehMQKcCSbURQAD0kMi0TiiWeVFeIA+o32E2Av3+aRswNyIjBEOhUFKwiAA
Откуда это узнать? Ну, поспрашивай. Чо, впервые что ли? Может система типов и мощная, но черезчур черезжопная.
Post #59
795