Skip to content

Sadhorsephile/test_macros

Repository files navigation

Примеры макросов

Примеры макросов для статьи на Хабре.

1. Auto Constructor

Фазы: ClassDeclarationsMacro
Что делает: Собирает конструктор, используя аннотации полей класса.
Работоспособность: Работает только для полей без аннотации, так как CFE в настоящий момент [не поддерживает](https://github.

2. Listenable Getter

Фазы: FieldDefinitionMacro,FieldDeclarationsMacro
Что делает: Создает геттер для ValueNotifier поля, который возвращает ValueListenable для этого поля.
Работоспособность: Работает

3. Auto Dispose

Фазы: ClassDeclarationsMacro
Что делает: Добавляет метод dispose в класс, который вызывает dispose/cancel/close для всех полей, аннотированных соответствующим образом.
Работоспособность: Как и авто-конструктор, полагается на использование аннотаций, а потому пока не работает. Кроме этого, пока нет возможности вызывать супер-класс, если изначальный класс имеет свой собственный dispose-метод.

4. Di Container

Фазы: ClassDeclarationsMacro
Что делает: Создаёт класс для хранения зависимостей с возможностью асинхронной инициализации и защитой от циклов. Позволяет указывать только инициализатор зависимости.
Работоспособность: Работает

5. Retrofit на макросах

Фазы: ClassDeclarationsMacro, MethodDefinitionMacro
Что делает: Генерирует GET-запрос с использованием dio.
Работоспособность: Как и авто-конструктор, полагается на использование аннотаций, а потому пока не работает. Полная версия macrofit на pub.dev

6. Equatable

Фазы: ClassTypesMacro, ClassDeclarationsMacro
Что делает: Генерирует геттеры props и stringify и добавляет интерфейс Equatable для класса.
Работоспособность: Работает

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published