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.
-
Разработка1 месяц назад
Осваиваем ViewModel в Android: «можно» и «нельзя» — Часть 2
-
Маркетинг и монетизация1 месяц назад
Вышел 2024 App Marketing Trends Report
-
Разработка4 недели назад
Как быстро сделать файл PrivacyInfo.xcprivacy для вашего iOS-приложения
-
Разработка1 месяц назад
Инъекция зависимостей в Compose