summaryrefslogtreecommitdiff
path: root/std/uuid/_common.ts
blob: b0cad25840c015d92b30ffa7a9661c35a8660e3c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.
export function bytesToUuid(bytes: number[] | Uint8Array): string {
  const bits: string[] = [...bytes].map((bit): string => {
    const s: string = bit.toString(16);
    return bit < 0x10 ? "0" + s : s;
  });
  return [
    ...bits.slice(0, 4),
    "-",
    ...bits.slice(4, 6),
    "-",
    ...bits.slice(6, 8),
    "-",
    ...bits.slice(8, 10),
    "-",
    ...bits.slice(10),
  ].join("");
}