UNPKG

@ngraveio/ur-uuid

Version:
80 lines (52 loc) 1.92 kB
# UUID CBOR type ## Installing To install, run: ```bash yarn add @ngraveio/ur-uuid ``` ```bash npm install --save @ngraveio/ur-uuid ``` **Source:** https://github.com/lucas-clemente/cbor-specs/blob/master/uuid.md # UUID Tag for CBOR This document specifies a tag for UUID in Concise Binary Object Representation (CBOR) [1]. Tag: 37 Data item: byte string Semantics: Binary UUID (RFC 4122 section 4.1.2) Point of contact: Lucas Clemente <lucas@clemente.io> Description of semantics: https://github.com/lucas-clemente/cbor-specs/blob/master/uuid.md # Usage ## Generating a UUID ```typescript import { UUID } from '@ngraveio/ur-uuid'; const uuid = UUID.generate(); console.log(uuid.toString()); // Prints the generated UUID as a string ``` ## Creating a UUID from a string ```typescript import { UUID } from '@ngraveio/ur-uuid'; const uuidString = '123e4567-e89b-12d3-a456-426614174000'; const uuid = new UUID(uuidString); console.log(uuid.toString()); // Prints the UUID as a string ``` ## Creating a UUID from bytes ```typescript import { UUID } from '@ngraveio/ur-uuid'; const uuidBytes = new Uint8Array([18, 62, 69, 103, 232, 155, 18, 211, 164, 86, 66, 20, 23, 64, 0]); const uuid = new UUID(uuidBytes); console.log(uuid.toString()); // Prints the UUID as a string ``` ## Verifying a UUID ```typescript import { UUID } from '@ngraveio/ur-uuid'; const uuidString = '123e4567-e89b-12d3-a456-426614174000'; const uuid = new UUID(uuidString); const verification = uuid.verifyInput(uuidString); console.log(verification.valid); // Prints true if the UUID is valid ``` # Semantics Tag 37 can be applied to a byte string (major type 2) to indicate that the byte string is a UUID as defined in RFC 4122 section 4.1.2. # References [1] C. Bormann, and P. Hoffman. "Concise Binary Object Representation (CBOR)". RFC 7049, October 2013. # Author Lucas Clemente <lucas@clemente.io>