Машинописные множественные методы возвращаемого типа, не учитываемые

Я получаю следующую ошибку при использовании aws-sdk в angular2 (машинопись)

import * as AWS from 'aws-sdk';
    AWS.config.credentials.get
        [ts]
        Property 'get' does not exist on type 'Credentials | CredentialsOptions'.
          Property 'get' does not exist on type 'CredentialsOptions'.

get не существует в CredentialsOptions, но он существует в Credentials. Typescript продолжает сбивать меня с толку из-за этого. Какие-либо предложения? Это ошибка в машинописи?

Я использую "машинопись": "~2.3.3"

1 ответ

Чтобы в основном поместить комментарий Джонршарпа в форму ответа, TS делает правильные вещи здесь. Если тип собственности Credentials | CredentialOptions, тогда это может быть любой тип, и поэтому не безопасно вызывать get на это с CredentialsOptions не имеет get,

Более подробная информация в документах для типов объединений: https://www.typescriptlang.org/docs/handbook/advanced-types.html

Другие вопросы по тегам