Skip to content

ayham-achami/CRepository

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CRepository

Platforms Swift 5 GitHub license Swift Package Manager

Библиотека компонентов для работы с базой данных.

Требования

  • iOS 11+
  • Swift 5

Установка

Cocoapods

Чтобы интегрировать CRepository в проект, просто укажите его в своем Podfile:

pod 'CRepository'

Swift Package Manager

В XCode добавьте пакет - File> Swift Packages> Add Package Dependency.

dependencies: [
    .package(name: "CRepository", url: "https://github.com/ayham-achami/CRepository.git", .branch("mainline"))
]

Компоненты

CRepository

Содержит основные модели, протоколы, расширения, необходимые для библиотеки CRepository


📝 SafeRepository

Содержит расширение для безопасного обращения к репозиторию


📝 RepositoryCreator

Ответственен за создание репозитория


📝 RepositoryReformation

Ответственен за изменения репозитория при ошибке инициализации


📁 Errors

📝 RepositoryError

Ошибки обращения в хранилище


📁 Repository

📝 Sorted

Объект, передающий информацию о способе сортировки массива сущностей после выполнения запроса в хранилище


📝 RepositoryConfiguration

Конфигурация хранилища


📁 Notification

📝 RepositoryObservable

Объект, отвечающий за контроль уведомлений от хранилища


📝 RepositoryNotificationToken

Объект, отвечающий за контроль уведомления при изменении хранилища


📝 RepositoryNotificationController

Контроллер уведомления от хранилища


📁 Migration

📝 MigrationController

Содержит протокол с контекстом миграции, логику необходимых действий при миграции, а также протокол контроля миграции


📝 MigrationControllerProducer

Является продюсером контекста миграции


📁 Extensions

📝 Realm+Repository

Содержит различные расширения для Realm, связанные с репозиториями


📝 Realm+CascadeDeliteing

Расширение для каскадного удаления (автоматическое удаление зависимой сущности после удаления главной)


📁 Localization

📝 Localization+String

Расширение для локализации строк


📁 Sync

📝 SyncRepository

Представлены протокол и расширения для синхронного репозитория


📝 SyncRealmRepository

Реализация синхронного репозитория с использованием RealmSwift


📝 SyncApparentRepository

Дополнительные протоколы и расширения для синхронного репозитория


📁 AsyncRepository

Протокол и расширения для асинхронного репозитория


📝 RealmAsyncRepository

Реализация асинхронного репозитория с использованием RealmSwift


📝 AsyncApparentRepository

Дополнительные протоколы и расширения для асинхронного репозитория


📁 CombineRepository

Протокол и расширения для асинхронного репозитория


📝 RealmCombineRepository

Реализация асинхронного репозитория с использованием RealmSwift и Combine


📝 CombineApparentRepository

Дополнительные протоколы и расширения для асинхронного репозитория