Вопросы по теме 'typescript-compiler-api'
Замените кавычки преобразователями API компилятора TypeScript.
У меня есть сценарий генерации кода TypeScript, в котором я создаю AST, а затем распечатываю его и сохраняю в файл. По умолчанию печатные строковые литералы заключены в двойные кавычки, я бы хотел иметь одинарные кавычки. Как упоминалось здесь , я...
650 просмотров
schedule
21.04.2023
TypeScript Compiler API или языковая служба получить тип аргумента функции
Я хотел бы получить тип аргумента метода в классе, используя API компилятора машинописного текста, чтобы обеспечить завершение кода.
В моем классе есть метод byId(id: sap.ui.core.ID) . Я хотел бы проверить, есть ли у метода byId () этот параметр...
699 просмотров
schedule
06.12.2021
Как сгенерировать дополнительные символы новой строки между узлами с помощью принтера API компилятора Typescript
Когда я генерирую свой код Typescript с помощью Printer api компилятора, мой код генерируется следующим образом:
namespace Something {
export function foo() {
...
}
export function bar() {
...
}
}
namespace...
315 просмотров
schedule
07.05.2023
Есть ли способ изменить параметр декораторов во время сборки?
У меня есть стандартное приложение Angular, и я хочу переключать некоторые компоненты во время сборки. Я хочу изменить с помощью одного ast trasformer параметры декоратора @Component следующим образом:
логин.component.ts...
422 просмотров
schedule
03.07.2022
Компилятор машинописного текста, как получить экспортированный символ по имени?
Как лучше всего получить символ для экспорта по имени?
Сильфон - это функциональный код. Однако это кажется немного хрупким, поскольку я не могу получить «символ» из «sourceFile», не игнорируя систему типов.
const sourceFile =...
221 просмотров
schedule
03.03.2022
API-интерфейс компилятора машинописного текста: генерация полной древовидной структуры свойств идентификатора типа
Учитывая идентификатор типа, я ищу способ сгенерировать полную древовидность объекта типа AST. Например, если у меня есть:
File1.ts
type Content = {
title: string,
image: string,
dims: number[]
}
File2.ts
type BlogPost...
329 просмотров
schedule
09.06.2022
API компилятора TypeScript применяет стандартные / встроенные преобразования для CompilerOptions в AST
Я хотел бы сделать средство проверки совместимости, например eslint-plugin-compat , но для TypeScript, чтобы оно более надежен, потому что у меня есть доступ к типам переменных. По сути, я бы хотел проверить такие вещи, как использование...
55 просмотров
schedule
07.05.2023
Как следует использовать «кеш разрешения модулей» API компилятора TypeScript?
Я заметил, что ts.resolveModuleName имеет необязательный параметр cache и сопутствующую resolveModuleNameFromCache функцию. Я предполагаю, что они как-то связаны с кешированием разрешенных имен модулей для повышения производительности, но мне...
261 просмотров
schedule
31.07.2023
Создание SourceFile из массива операторов-узлов вместо строки
Легко создать объект SoureFile из простой строки:
ts.createSourceFile(fileName, sourceText, languageVersion, setParentNodes, scriptKind)
Однако я не вижу способа создать его из массива Statement -узлов (созданных различными фабричными...
298 просмотров
schedule
19.01.2023
Разрешить структуру узла типа AST –– API компилятора TypeScript
Допустим, у нас есть следующий код:
interface X<Y = any> {
y: Y;
}
interface Z extends X<"why?"> {
abc: "ABC";
}
/**
*
* Structurally, the `Z` type is...
*
* {
* y: "why?";
* abc:...
175 просмотров
schedule
25.08.2022
API компилятора TypeScript - извлечение типа кортежа типа объединения
Если у меня есть массив типа string[] , и я хочу извлечь этот тип из массива, я должен сделать:
const typeArgs = type.typeArguments;
typeArgs[0]; // string
Но что, если у меня есть кортеж типа [number, string] и я хочу получить объединение...
133 просмотров
schedule
13.03.2023
API компилятора TypeScript: получить разрешенный тип возвращаемого значения универсального метода
Предположим, у нас есть общий класс или интерфейс:
interface A<T> {
prop1: T;
func2(): T;
}
interface B extends A<C> {
}
interface C {
}
Нам нужно получить тип возврата метода B.func2 (не T , а C ).
Способ,...
195 просмотров
schedule
14.04.2022
Параметры типа Typescript Infer с API компилятора
С помощью этого кода ( площадка ):
declare class Test<P = unknown, R = unknown> {
test(p: P): R;
}
declare class M extends Test {
test(q: number): boolean;
}
// these lines are not in real code. This is an example of what TS
//...
117 просмотров
schedule
05.01.2023
Как извлечь аргументы типа и параметры типа из псевдонимов типа, ссылки на другие псевдонимы типа?
Как можно использовать API компилятора TypeScript 4.2+ (или ts-morph 10+) для извлечения из следующего:
export type A = Record<string,number>
Тот факт, что экспортированный псевдоним типа A
ссылка на Record
и передает его string...
127 просмотров
schedule
18.06.2023
API компилятора TypeScript: как получить буквальное значение по узлу ImportSpecifier?
У меня есть два файла TypeScript.
Const.ts:
export const defaultProps = {
name: 'Node'
};
MyComponent.tsx:
import * as React from 'react';
import {defaultProps} from './const';
interface MyCompProps {
name: string;
}
export class...
29 просмотров
schedule
20.06.2022