Добавление объявлений переменных типов и автозаполнение в Node / VS Code - PullRequest
0 голосов
/ 04 декабря 2018

Сейчас я делаю библиотеку npm, и мне было интересно, как другие люди реализовали объявления автозаполнения и типа переменных в VS Code.

Например, я могу набрать httpconnection.addListener( и получить всплывающее окно, которое сообщаетмне, что первый аргумент имеет тип события, второй аргумент имеет тип функции void и т. д.

Это также работает для функций, которым необходимо передать объект, например mysql.createConnection({});.Если я нажму CTRL + пробел, я теперь знаю, какими свойствами обладает этот объект и какими свойствами он может обладать .

Я знаю, что JavaScript динамически типизирован ине имеет фиксированных объявлений типов, а скорее выполняет преобразование во время выполнения, но как эти другие люди достигают этого?

Я пытался добавлять типы переменных, используя скобки машинописи (variable<Object>) и что-то еще, что ягде-то нашел (variable?: Object), но оба не сработали.

Я меньше всего хочу, чтобы автозаполнение показывало людям, какие свойства / атрибуты они должны и какие свойства можно ввести и какого типа они должны быть.

Как мне этого добиться?Можно ли просто преобразовать файл JS в файл TS и без проблем опубликовать его на npm?

Заранее спасибо!

1 Ответ

0 голосов
/ 04 декабря 2018

Одна вещь, которую вы можете сделать, это использовать JSDOCs , по крайней мере, это то, что я делаю.

Как и для функций, которые я добавляю,

/**
 * @param {string} somebody
 */
function sayHello(somebody) {
    alert('Hello ' + somebody);
}

Или, возможно, добавить одиндо объявления переменной

/**
 * @type {[]}
 */
const x = someRequiredVariable

Вы можете использовать пользовательские имена классов ES6 как типы, а не только примитивные.

...