Ввод с помощью JSDoc3 неизменяемого объекта, использующего общие ключи c, плохо распознается в WebStorm. - PullRequest
3 голосов
/ 07 апреля 2020

Мне нужна помощь для ввода с помощью JSDoc3 неизменяемого объекта с общими ключами c, потому что WebStorm всегда жалуется. Может быть, я ошибаюсь, пожалуйста, скажите мне.

По сути, ввод объекта с помощью общих c клавиш можно записать следующим образом:

/** @typedef {Object<string,number>} myObject */

Мой объект неизменен, поэтому я создал больше JSDo c для покрытия некоторых неизменяемых функций:

/**
 * @typedef {Object} ImmutableObject
 * @property {function} set
 * @property {function} setIn 
 */

Также мои ключи в перечислении, так что больше JSDo c

/**
 * @enum
 */
const SOME_KEYS= {KEY1: 'key1', KEY2:'key2'}

Затем я собрал все вместе:

/** @typedef {ImmutableObject<SOME_KEYS,number>} myImmutableObject */

Несмотря на все мои усилия, WebStorm всегда жалуется, что функция не существует, когда я использую неизменяемую функцию, объявленную для типа объекта с myImmutableObject!

Вот скриншот, сделанный из WebStorm 2020 (то же самое в 2019 году):

screenshot made from WebStorm 2020

Однако тип ImutableObject хорошо работает, когда используется "один", вот скриншот, сделанный из WebStorm 2020 :

screenshot made from WebStorm 2020

1 Ответ

0 голосов
/ 07 апреля 2020

Расширение typedefs в настоящее время не поддерживается, пожалуйста, следуйте WEB-34403 и связанным билетам на обновления

...