синтаксисе официально поддерживается optional chaining
https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-7.html
ранее по крайней мере на некоторых из моих проектов активно использовалась библиотека ts-optchain
https://github.com/rimeto/ts-optchain
Для своих нужд я написал утилиту для автоматического рефакторинга использования этой библиотеки на нативный синтаксис
которая рефакторит по принципу
oc(foo).bar.bla.bla.bla() => foo?.bar?.bla?.bla?.bla
oc(foo).bar.bla.bla.bla(default) => (foo?.bar?.bla?.bla?.bla ?? default)
и удаляет импорты самой библиотеки
Вопрос: могу в принципе при наличии интереса оформить это в виде npx утилиты
Есть ли потребность у коллег в таком туле ?
Мне кажется можно запилить eslint плагин, который конвертит foo && foo.bar && foo.bar.bazz || null в foo?.bar?.bazz ?? null В webstorm правда много похожих рефакторингов, может завезут и туда скоро.
Обсуждают сегодня