universal_storage_sync_utils library

Pure Dart utility functions for universal_storage_sync.

Classes

NamespaceCapabilityDecision
Result of evaluating one namespace profile against resolved capabilities.
PickCancelled
Represents the user cancelling the directory picker.
PickFailure
Represents a failed folder pick.
PickResult
A sealed class representing the outcome of a directory picking operation.
PickSuccess
Represents a successful folder pick.
ProfileCapabilityDecision
Aggregate result for full profile compatibility checks.
RepositoryManager
High-level repository management helper.
RepositorySelectionConfig
Configuration for repository selection and creation operations.
RepositorySelectionResult
Result of repository selection or creation operation.
RepositorySelectionUIDelegate
Interface for repository selection UI operations.
StorageMigrationBlueprint
Migration blueprint output of validation and mapping phase.
StorageMigrationNamespaceChange
Detailed per-namespace change description for migration planning.
StorageMigrationRecipe
Builder for deterministic migration planning and cross-backend transitions.
StorageProfileCapabilityGuard
Utility for profile capability checks and safe degradation decisions.
StorageProfileSchemaValidator
Schema validator and parser for profile v1 payloads.
StorageProfileValidationIssue
Structured schema issue.
StorageProfileValidationResult
Result of profile schema validation.
YamlStorageProfileLoader
Loads storage kernel from YAML profile using schema validation.

Enums

CapabilityDecision
Compatibility outcome for namespace profile capabilities.
FailureReason
An enum describing the possible reasons for a PickFailure.
MergeDecision
The result of a merge operation between two text contents.
ProfileValidationSeverity
Validation severity for a profile schema issue.
StorageFirstPartyMigrationRecipe
Canonical first-party migration recipe identifiers.
StorageMigrationTransitionKind
Type of migration between profile intents.

Mixins

PathValidator
A utility class to validate path properties.

Functions

preferCurrent(String current, String incoming) → ({MergeDecision decision, String merged})
Performs a trivial 2-way merge, preferring the current content if it differs from incoming.
preferIncoming(String current, String incoming) → ({MergeDecision decision, String merged})
Performs a trivial 2-way merge, preferring the incoming content if it differs from current.

Exceptions / Errors

RepositorySelectionException
Exception thrown when repository selection or creation fails.