#typescript
#typescript
Вопрос:
Я использую passport-saml для проверки подлинности SAML. Недавно они внесли изменение, в соответствии с которым MultiSamlStrategy
конструктор a должен принимать privateKey
свойство вместо privateCert
свойства, причем последнее приводит к предупреждению во время выполнения. Чтобы избежать предупреждения, я в настоящее время использую @ts-expect-error
, чтобы игнорировать проблему ввода:
// @ts-expect-error https://github.com/node-saml/passport-saml/pull/497
privateKey: privateKey,
Мне не очень нравится этот стиль игнорирования ошибок в моем исходном коде, которые, как я знаю, присутствуют. Есть ли способ определить правильные типы локально и указать TypeScript использовать их вместо этого? Я знаю о существовании слияния объявлений, но мне не удалось создать работающую формулировку. В идеале я бы просто добавил privateKey
свойство в SamlConfig
интерфейс — мне не нужно удалять какие-либо свойства.
Комментарии:
1. Вы пытались добавить в пространство имен в файле объявления типа?
2. ДА. Я пробовал пространства имен «MultiSamlStrategy» (для класса), «passport-saml», «passport-saml / lib / passport-saml / types», а также глобальные. Ничто из того, что я выбрал, не возымело эффекта. Файл объявления, экспортируемый этим проектом, только экспортирует
MultiSamlStrategy
, а не пространство имен, содержащее все.3. не уверен, в чем именно проблема, но вы можете попробовать: импортировать * как ps из ‘passport-saml’; класс MultiSamlStrategy расширяет ps.MultiSamlStrategy { constructor(PrivateKey: PrivateKey) {super(…); …} }, что-то в этом роде?