https://github.com/pragmagic/uuids
UUID library for Nim
https://github.com/pragmagic/uuids
nim uuid
Last synced: 8 months ago
JSON representation
UUID library for Nim
- Host: GitHub
- URL: https://github.com/pragmagic/uuids
- Owner: pragmagic
- License: other
- Created: 2016-09-15T13:35:30.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2023-12-15T08:24:03.000Z (almost 2 years ago)
- Last Synced: 2025-04-09T16:17:45.481Z (8 months ago)
- Topics: nim, uuid
- Language: Nim
- Size: 13.7 KB
- Stars: 39
- Watchers: 6
- Forks: 13
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# uuids
UUID library for Nim.
API:
```nim
type UUID* = object
## 128-bit UUID compliant with RFC-4122
proc initUUID*(mostSigBits, leastSigBits: int64): UUID =
## Initializes UUID with the specified most and least significant bits
proc leastSigBits*(uuid: UUID): int64 {.inline.}
## Returns 64 least significant bits of the ``uuid``
proc mostSigBits*(uuid: UUID): int64 {.inline.}
## Returns 64 most significant bits of the ``uuid``
proc `$`*(uuid: UUID): string
## Returns a string representation of the ``uuid`` in canonical form.
proc hash*(uuid: UUID): Hash
## Computes hash of the specified ``uuid``.
proc `==`*(x, y: UUID): bool
## Returns true when the specified UUIDs are equal, false otherwise.
proc isZero*(uuid: UUID): bool
## Returns ``true`` when the ``uuid`` is zero (not set), ``false`` otherwise.
proc genUUID*(): UUID
## Returns a random (v4) UUID.
## Uses a thread-local cryptographically secure PRNG (ISAAC) seeded with
## true random values obtained from OS.
proc parseUUID*(s: string): UUID {.raises: [ValueError].}
## Converts string representation of an UUID to UUID object.
## Raises ValueError if invalid format is provided.
```
## License
This library is licensed under the MIT license.
Read [LICENSE](https://github.com/pragmagic/uuids/blob/master/LICENSE) file for details.
Copyright (c) 2016 Xored Software, Inc.