Создать узел ссылки типа с доступом к массиву - PullRequest
0 голосов
/ 12 июля 2020

Я пытаюсь создать ссылку на этот тип:

Parameters<Foo['bar']>[0]

как мне добиться этого, используя ts.createTypeReferenceNode?

ts.createTypeReferenceNode('Parameters', [
    ts.createTypeReferenceNode(`Foo['bar']`, []),
])

не допускает доступа к массиву.

1 Ответ

1 голос
/ 12 июля 2020

Согласно ts-ast-viewer.com , вам нужно будет использовать ts.createIndexedAccessTypeNode и ts.createLiteralTypeNode:

        ts.createIndexedAccessTypeNode(
          ts.createTypeReferenceNode(
            ts.createIdentifier("Parameters"),
            [ts.createIndexedAccessTypeNode(
              ts.createTypeReferenceNode(
                ts.createIdentifier("Foo"),
                undefined
              ),
              ts.createLiteralTypeNode(ts.createStringLiteral("bar"))
            )]
          ),
          ts.createLiteralTypeNode(ts.createNumericLiteral("0"))
        )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...