Sobre o projeto
# Swift UUIDV7
Um tipo de dados UUID v7 compatível com a RFC 9562 para Swift, oferecendo suporte multiplataforma e integrações com bibliotecas populares. Diferente do `UUID` do Foundation (normalmente v4), o `UUIDV7` incorpora um timestamp em seus 48 bits mais significativos, permitindo ordinalidade e melhor localidade de índice para chaves primárias de banco de dados.
## Principais Recursos
- **Ordenação baseada em timestamp**: Ordene coleções por `UUIDV7` como chave de ordenação.
- **Monotonicidade sub-milissegundo**: Garante gerações monotonicamente crescentes 100% das vezes, mesmo se o relógio do sistema retroceder.
- **RawRepresentable**: Usa um `UUID` do Foundation como valor bruto, com dynamic member lookup para todas as propriedades típicas de `UUID`.
- **Integrações com bibliotecas** via package traits:
- `SwiftUUIDV7Tagged`: Inicializadores de conveniência para `Tagged`.
- `SwiftUUIDV7GRDB`: Conformidades com `DatabaseValueConvertible` e `StatementColumnConvertible`, além de funções de banco de dados.
- `SwiftUUIDV7StructuredQueries`: Conformidade com `QueryBindable` e representações de colunas.
- `SwiftUUIDV7Dependencies`: Uma dependência `UUIDV7Generator`.
- `SwiftUUIDV7SQLiteData`: Compatibilidade de sincronização com CloudKit via `IdentifierStringConvertible`.
- **AppIntents**: Conforma com `EntityIdentifierConvertible` em plataformas Apple.
## Instalação
Adicione como dependência do Swift Package Manager:
```swift
dependencies: [
.package(
url: "https://github.com/mhayes853/swift-uuidv7",
from: "0.6.1",
traits: ["SwiftUUIDV7GRDB"]
)
]
```
Ou copie `Sources/UUIDV7/UUIDV7.swift` diretamente para o seu projeto.
## Licença
Licença MIT.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.