Как я могу создать константное назначение в преобразователе машинописи? - PullRequest
0 голосов
/ 15 ноября 2018

Я могу создать присвоение переменной с помощью этого кода:

ts.createVariableStatement(undefined, 
     [ts.createVariableDeclaration('a', undefined, 
      ts.createStringLiteral('42'))])

/// yields: var a = 42

Однако я не могу создать константное назначение. Я совершенно уверен, что должно работать так:

ts.createVariableStatement([ts.createModifier(ts.SyntaxKind.ConstKeyword)], 
     [ts.createVariableDeclaration('a', undefined, 
      ts.createStringLiteral('42'))])

но это приводит к ошибке:

[!] Error: Unexpected keyword 'var'

из-за этой ошибки не генерируется JavaScript. Сообщение об ошибке также очень запутанно.

1 Ответ

0 голосов
/ 15 ноября 2018

Попробуйте:

ts.createVariableStatement(
      [],
      ts.createVariableDeclarationList(
        [
          ts.createVariableDeclaration(
            'a',
            undefined,
            ts.createStringLiteral('42'),
          ),
        ],
        ts.NodeFlags.Const,
      ),
    )

На основании этого ответа .

...