À propos du projet
# Swift UUIDV7
Un type de données UUID v7 conforme à la RFC 9562 pour Swift, offrant une prise en charge multiplateforme et des intégrations avec des bibliothèques populaires. Contrairement au `UUID` de Foundation (généralement v4), `UUIDV7` intègre un horodatage dans ses 48 bits les plus significatifs, ce qui permet une ordinalité et une meilleure localité d'index pour les clés primaires de bases de données.
## Fonctionnalités clés
- **Tri basé sur l'horodatage** : Triez les collections par `UUIDV7` comme clé de tri.
- **Monotonicité inférieure à la milliseconde** : Garantit des générations strictement croissantes 100 % du temps, même si l'horloge système recule.
- **RawRepresentable** : Utilise un `UUID` de Foundation comme valeur brute, avec une recherche dynamique de membres pour toutes les propriétés typiques de `UUID`.
- **Intégrations de bibliothèques** via les traits de package :
- `SwiftUUIDV7Tagged` : Initialiseurs pratiques pour `Tagged`.
- `SwiftUUIDV7GRDB` : Conformités `DatabaseValueConvertible` et `StatementColumnConvertible`, ainsi que des fonctions de base de données.
- `SwiftUUIDV7StructuredQueries` : Conformité `QueryBindable` et représentations de colonnes.
- `SwiftUUIDV7Dependencies` : Une dépendance `UUIDV7Generator`.
- `SwiftUUIDV7SQLiteData` : Compatibilité de synchronisation CloudKit via `IdentifierStringConvertible`.
- **AppIntents** : Conforme à `EntityIdentifierConvertible` sur les plateformes Apple.
## Installation
Ajoutez-le comme dépendance Swift Package Manager :
```swift
dependencies: [
.package(
url: "https://github.com/mhayes853/swift-uuidv7",
from: "0.6.1",
traits: ["SwiftUUIDV7GRDB"]
)
]
```
Ou copiez directement `Sources/UUIDV7/UUIDV7.swift` dans votre projet.
## Licence
Licence MIT.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.