Как сравнить тип с импортированным модулем - PullRequest
0 голосов
/ 09 января 2020

Если я использую модуль с типом экспорта T, как мне go проверить, соответствует ли тип другого идентификатора T?

module-a

export type T = string;

index.ts

import { T } from 'module-a';

export const str: T = 'test';

compiler.ts

import ts from 'typescript';

const program = ts.createProgram(['./index.ts'], {});

const checker = program.getTypeChecker();
const source = program.getSourceFile('./index.ts');
const root = checker.getSymbolAtLocation(source);

root.exports.forEach((sym) => {
  const test = checker.getApparentType(checker.getTypeOfSymbolAtLocation(sym, sym.valueDeclaration));

  // Check here if `test` matches type `T` from `module-a`
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...