GitHub
MetaCodable: расширение Codable с помощью метапрограммирования макросов
MetaCodable — расширение возможностей реализации Codable в Swift с помощью макросов. Фреймворк предоставляет пользовательские макросы, которые могут быть использованы для генерации динамических реализаций Codable. Ядром фреймворка является макрос Codable(), который генерирует реализацию на основе данных, предоставляемых с помощью других макросов.
MetaCodable нацелен на повышение эффективности ваших реализаций Codable, предоставляя следующие возможности:
- Позволяет объявлять пользовательские значения
CodingKeyдля каждой переменной, вместо того чтобы писать все значенияCodingKeyс помощьюCodedAt(_:), передавая один аргумент. - Позволяет создавать плоскую модель для вложенных значений
CodingKeyсCodedAt(_:)иCodedIn(_:). - Позволяет создавать композицию из нескольких типов
Codableс помощьюCodedAt(_:), не передавая никаких аргументов. - Позволяет предоставлять значение по умолчанию в случае сбоев декодирования с помощью
Default(_:). - Позволяет создавать пользовательские стратегии декодирования/кодирования с помощью
HelperCoderи использовать их с помощьюCodedBy(_:), т.е.LossySequenceCoderи т.д. - Позволяет игнорировать определенные свойства при декодировании/кодировании с помощью
IgnoreCoding(),IgnoreDecoding()и@IgnoreEncoding(). - Позволяет игнорировать все инициализированные свойства типа при декодировании/кодировании с помощью функции
IgnoreCodingInitialized(), если они явно не запрошены для декодирования/кодирования путем добавления каких-либо атрибутов кодирования, т.е.CodedIn(_:),CodedAt(_:),CodedBy(_:),Default(_:)и т.д.
Если вы нашли опечатку - выделите ее и нажмите Ctrl + Enter! Для связи с нами вы можете использовать info@apptractor.ru.
-
Кроссплатформенная разработка4 недели назадFlutter после увольнений: вот честная оценка, которую никто не хочет давать
-
Программирование4 недели назадПрактики Swift, которые помогут вам выглядеть Senior разработчиком
-
Новости1 неделя назадВидео и подкасты о мобильной разработке 2026.20
-
Видео и подкасты для разработчиков1 неделя назадОт личной продуктивности к командной: сила шаблонизации в IDE
