Estoy definiendo cuatro variables globales de un bucle forEach usando una línea similar a esta:
global[name] = buffercon buffer siendo el tipo de node.js
y actualmente tengo la manera muy fea de obtener mi intellisense al tener esto después del ciclo:
// next line only so intellisense works, ALWAYS comment out before running const btMapProvinces = Buffer.alloc(1), btMapTerrain = Buffer.alloc(1), btMapRivers = Buffer.alloc(1), btMapHeightmap = Buffer.alloc(1);Ahora que aprendí cómo usar JSDoc para obtener Intellisense para los argumentos en los módulos, estaba seguro de que podría usarlo para obtener Intellisense para mis variables, pero después de leer toda la documentación , parece que no puedo hacerlo funcionar.
Mi intento actual se ve así:
/** * @var {Buffer} btMapProvinces * @var {Buffer} btMapTerrain * @var {Buffer} btMapRivers * @var {Buffer} btMapHeightmap */ pero simplemente no funciona en absoluto, no importa si está justo antes de la línea global[name] = buffer , al comienzo del script o después de forEach...
Anteriormente también intenté usar @name así:
/** * @name btMapProvinces * @type {Buffer} * @name btMapTerrain * @type {Buffer} * @name btMapRivers * @type {Buffer} * @name btMapHeightmap * @type {Buffer} */aunque esto tampoco funcionó
Las últimas dos horas las pasé revisando otras preguntas, de las cuales estas son las que me parecieron más interesantes:
@var : especifique el tipo de globales declarados en otro archivo¿Cuál es la razón por la que tu tipo necesita ser dinámico? Tu intento actual
/** * @var {Buffer} btMapProvinces * @var {Buffer} btMapTerrain * @var {Buffer} btMapRivers * @var {Buffer} btMapHeightmap */ sugiere que sepa muy bien qué objetos desea tener en el objeto global. Entonces podría simplemente extender el Tipo global como en esta respuesta