universal_storage_sync library

Universal Storage Sync - A cross-platform Dart package for unified file storage operations

Classes

AuthorInfo
Information about a commit author.
CommitInfo
Information about a version control commit.
FileDiff
Represents changes to a file between two commits.
FileEntry
Represents an entry in a directory listing.
FileOperationResult
Unified result for file operations (create/update/delete).
FileSystemConfig
GitHubApiConfig
OfflineGitConfig
ProviderRecommendation
Recommendation for a storage provider based on requirements.
ProviderRequirements
Requirements specification for provider selection.
StorageConfig
StorageProvider
Provider-agnostic contract for storage operations.
StorageProviderRegistry
Registry for provider factories keyed by StorageConfig type.
StorageService
A service class providing a unified API for file storage operations using a configured StorageProvider.
VcBranch
VcBranchName
VcCreateRepositoryRequest
VcRepository
VcRepositoryName
VcRepositoryOwner
VcRepositorySlug
VcUrl
VersionControlService
WorkingDirectoryStatus
Status of the working directory in version control.

Enums

ConflictResolutionStrategy
Conflict resolution strategies for sync operations.
FileChangeType
Types of changes that can occur to a file.
ProviderType
Enumeration of supported storage provider types.
SecurityLevel
Security levels for provider selection.
SyncStatus
Represents the synchronization status between local and remote repositories.

Mixins

AuthenticatedProvider
Mixin providing common authentication functionality for storage providers. Reduces code duplication for authentication checks and token management.
PathNormalizer
Utility class for normalizing file paths across different storage providers. Each provider may have different path requirements and conventions.
ProviderSelector
Utility class for recommending storage providers based on requirements.
RemoteSyncCapable
Mixin for storage providers that support remote synchronization. Provides standardized sync operations and conflict resolution.
RetryableOperation
Utility class for executing operations with retry logic. Provides exponential backoff and custom retry conditions.
StorageFactory
Factory class for creating configured storage services. Automatically determines the provider type based on configuration and returns a ready-to-use StorageService.
VersionControlCapable
Mixin for storage providers that support version control operations. Provides standardized version control functionality like commits, history, and branching.

Extension Types

FilePath
Extension type that wraps a file system path string.
FilePathConfig
Extension type that represents the workspace path configuration.
MacOSBookmark
A security-scoped bookmark for a file or directory on macOS.

Exceptions / Errors

AuthenticationException
Authentication-related error.
AuthenticationFailedException
ConfigurationException
FileAlreadyExistsException
File exists error.
FileNotFoundException
File not found error.
GitConflictException
Git conflict error.
GitHubApiException
GitHub API specific exceptions
GitHubRateLimitException
MergeConflictException
NetworkException
Network error.
NetworkTimeoutException
RemoteAccessDeniedException
RemoteNotFoundException
Remote operation exceptions
RepositoryCreationException
StorageException
Base exception for all storage-related errors.
SyncConflictException
Sync conflict error.
UnsupportedOperationException
Operation not supported error.