Библиотека компонентов для работы с базой данных.
- iOS 11+
- Swift 5
Чтобы интегрировать CRepository в проект, просто укажите его в своем Podfile
:
pod 'CRepository'
В XCode добавьте пакет - File> Swift Packages> Add Package Dependency.
dependencies: [
.package(name: "CRepository", url: "https://github.com/ayham-achami/CRepository.git", .branch("mainline"))
]
- 📝 CRepository
- 📁 Sync
- 📁 Async
- 📁 Combine
Содержит основные модели, протоколы, расширения, необходимые для библиотеки CRepository
Содержит расширение для безопасного обращения к репозиторию
Ответственен за создание репозитория
Ответственен за изменения репозитория при ошибке инициализации
Ошибки обращения в хранилище
Объект, передающий информацию о способе сортировки массива сущностей после выполнения запроса в хранилище
Конфигурация хранилища
Объект, отвечающий за контроль уведомлений от хранилища
Объект, отвечающий за контроль уведомления при изменении хранилища
Контроллер уведомления от хранилища
Содержит протокол с контекстом миграции, логику необходимых действий при миграции, а также протокол контроля миграции
Является продюсером контекста миграции
Содержит различные расширения для Realm
, связанные с репозиториями
Расширение для каскадного удаления (автоматическое удаление зависимой сущности после удаления главной)
Расширение для локализации строк
Представлены протокол и расширения для синхронного репозитория
Реализация синхронного репозитория с использованием RealmSwift
Дополнительные протоколы и расширения для синхронного репозитория
Протокол и расширения для асинхронного репозитория
Реализация асинхронного репозитория с использованием RealmSwift
Дополнительные протоколы и расширения для асинхронного репозитория
Протокол и расширения для асинхронного репозитория
Реализация асинхронного репозитория с использованием RealmSwift
и Combine
Дополнительные протоколы и расширения для асинхронного репозитория