Как создать выражение доступа к глобальным свойствам с помощью API-интерфейса компилятора Typescript?

Кажется, вы не выполняете $ query1 - $ query3. Вы просто перешли к $ query4, который не будет работать, если другие не были выполнены в первую очередь.

Также

$query4 = "SELECT *, @rank_change = prev_rank - current_rank as rank_change from final_output";

должно быть, вероятно,

$query4 = "SELECT *, @rank_change := prev_rank - current_rank as rank_change from final_output";

, иначе значение rank_change будет просто логическим, true, если @rank_change равно (prev_rank - current_rank), false, если это не так. Но вам вообще нужно @rank_change? Будете ли вы использовать его в следующем запросе? Может быть, вы можете полностью удалить его.

Еще лучше, вы могли бы просто объединить все запросы в один из них:

SELECT 
    curr.player,
    curr.rank AS current_rank,
    @rank_change := prev.rank - curr.rank AS rank_change
FROM
    main_table AS curr
    LEFT JOIN main_table AS prev
        ON curr.player = prev.player    
WHERE 
    curr.date = X
    AND prev.date = date_sub('X', INTERVAL 1 MONTH)
3
задан superbadcodemonkey 17 March 2019 в 21:05
поделиться

1 ответ

В этом сценарии вы можете просто использовать ts.createIdentifier. Нет выражения доступа к свойству в foo().

const statement = ts.createExpressionStatement(
    ts.createCall(ts.createIdentifier("foo"), undefined, undefined)
);

Кстати, проверьте мой сайт ts-ast-viewer . Теперь он покажет код API компилятора, который создаст код в редакторе.

0
ответ дан David Sherret 17 March 2019 в 21:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: