@nocobase/plugin-notification-manager 2.2.0-beta.3 → 2.2.0-beta.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (260) hide show
  1. package/dist/client/index.js +1 -1
  2. package/dist/client-v2/index.js +1 -1
  3. package/dist/client-v2/locale.d.ts +1 -1
  4. package/dist/externalVersion.js +9 -9
  5. package/dist/node_modules/uuid/dist/cjs/index.d.ts +15 -0
  6. package/dist/node_modules/uuid/dist/cjs/index.js +1 -0
  7. package/dist/node_modules/uuid/dist/cjs/max.d.ts +2 -0
  8. package/dist/node_modules/uuid/dist/cjs/max.js +3 -0
  9. package/dist/node_modules/uuid/dist/cjs/md5.d.ts +4 -0
  10. package/dist/node_modules/uuid/dist/cjs/md5.js +13 -0
  11. package/dist/node_modules/uuid/dist/cjs/native.d.ts +6 -0
  12. package/dist/node_modules/uuid/dist/cjs/native.js +4 -0
  13. package/dist/node_modules/uuid/dist/cjs/nil.d.ts +2 -0
  14. package/dist/node_modules/uuid/dist/cjs/nil.js +3 -0
  15. package/dist/node_modules/uuid/dist/cjs/package.json +1 -0
  16. package/dist/node_modules/uuid/dist/cjs/parse.d.ts +2 -0
  17. package/dist/node_modules/uuid/dist/cjs/parse.js +11 -0
  18. package/dist/node_modules/uuid/dist/cjs/regex.d.ts +2 -0
  19. package/dist/node_modules/uuid/dist/cjs/regex.js +3 -0
  20. package/dist/node_modules/uuid/dist/cjs/rng.d.ts +1 -0
  21. package/dist/node_modules/uuid/dist/cjs/rng.js +13 -0
  22. package/dist/node_modules/uuid/dist/cjs/sha1.d.ts +4 -0
  23. package/dist/node_modules/uuid/dist/cjs/sha1.js +13 -0
  24. package/dist/node_modules/uuid/dist/cjs/stringify.d.ts +3 -0
  25. package/dist/node_modules/uuid/dist/cjs/stringify.js +39 -0
  26. package/dist/node_modules/uuid/dist/cjs/types.d.ts +21 -0
  27. package/dist/node_modules/uuid/dist/cjs/types.js +2 -0
  28. package/dist/node_modules/uuid/dist/cjs/uuid-bin.d.ts +1 -0
  29. package/dist/node_modules/uuid/dist/cjs/uuid-bin.js +72 -0
  30. package/dist/node_modules/uuid/dist/cjs/v1.d.ts +11 -0
  31. package/dist/node_modules/uuid/dist/cjs/v1.js +87 -0
  32. package/dist/node_modules/uuid/dist/cjs/v1ToV6.d.ts +2 -0
  33. package/dist/node_modules/uuid/dist/cjs/v1ToV6.js +13 -0
  34. package/dist/node_modules/uuid/dist/cjs/v3.d.ts +9 -0
  35. package/dist/node_modules/uuid/dist/cjs/v3.js +14 -0
  36. package/dist/node_modules/uuid/dist/cjs/v35.d.ts +7 -0
  37. package/dist/node_modules/uuid/dist/cjs/v35.js +44 -0
  38. package/dist/node_modules/uuid/dist/cjs/v4.d.ts +4 -0
  39. package/dist/node_modules/uuid/dist/cjs/v4.js +29 -0
  40. package/dist/node_modules/uuid/dist/cjs/v5.d.ts +9 -0
  41. package/dist/node_modules/uuid/dist/cjs/v5.js +14 -0
  42. package/dist/node_modules/uuid/dist/cjs/v6.d.ts +4 -0
  43. package/dist/node_modules/uuid/dist/cjs/v6.js +22 -0
  44. package/dist/node_modules/uuid/dist/cjs/v6ToV1.d.ts +2 -0
  45. package/dist/node_modules/uuid/dist/cjs/v6ToV1.js +13 -0
  46. package/dist/node_modules/uuid/dist/cjs/v7.d.ts +9 -0
  47. package/dist/node_modules/uuid/dist/cjs/v7.js +69 -0
  48. package/dist/node_modules/uuid/dist/cjs/validate.d.ts +2 -0
  49. package/dist/node_modules/uuid/dist/cjs/validate.js +7 -0
  50. package/dist/node_modules/uuid/dist/cjs/version.d.ts +2 -0
  51. package/dist/node_modules/uuid/dist/cjs/version.js +10 -0
  52. package/dist/node_modules/uuid/dist/cjs-browser/index.d.ts +15 -0
  53. package/dist/node_modules/uuid/dist/cjs-browser/index.js +31 -0
  54. package/dist/node_modules/uuid/dist/cjs-browser/max.d.ts +2 -0
  55. package/dist/node_modules/uuid/dist/cjs-browser/max.js +3 -0
  56. package/dist/node_modules/uuid/dist/cjs-browser/md5.d.ts +2 -0
  57. package/dist/node_modules/uuid/dist/cjs-browser/md5.js +137 -0
  58. package/dist/node_modules/uuid/dist/cjs-browser/native.d.ts +4 -0
  59. package/dist/node_modules/uuid/dist/cjs-browser/native.js +4 -0
  60. package/dist/node_modules/uuid/dist/cjs-browser/nil.d.ts +2 -0
  61. package/dist/node_modules/uuid/dist/cjs-browser/nil.js +3 -0
  62. package/dist/node_modules/uuid/dist/cjs-browser/package.json +1 -0
  63. package/dist/node_modules/uuid/dist/cjs-browser/parse.d.ts +2 -0
  64. package/dist/node_modules/uuid/dist/cjs-browser/parse.js +11 -0
  65. package/dist/node_modules/uuid/dist/cjs-browser/regex.d.ts +2 -0
  66. package/dist/node_modules/uuid/dist/cjs-browser/regex.js +3 -0
  67. package/dist/node_modules/uuid/dist/cjs-browser/rng.d.ts +1 -0
  68. package/dist/node_modules/uuid/dist/cjs-browser/rng.js +14 -0
  69. package/dist/node_modules/uuid/dist/cjs-browser/sha1.d.ts +2 -0
  70. package/dist/node_modules/uuid/dist/cjs-browser/sha1.js +72 -0
  71. package/dist/node_modules/uuid/dist/cjs-browser/stringify.d.ts +3 -0
  72. package/dist/node_modules/uuid/dist/cjs-browser/stringify.js +39 -0
  73. package/dist/node_modules/uuid/dist/cjs-browser/types.d.ts +21 -0
  74. package/dist/node_modules/uuid/dist/cjs-browser/types.js +2 -0
  75. package/dist/node_modules/uuid/dist/cjs-browser/uuid-bin.d.ts +1 -0
  76. package/dist/node_modules/uuid/dist/cjs-browser/uuid-bin.js +72 -0
  77. package/dist/node_modules/uuid/dist/cjs-browser/v1.d.ts +11 -0
  78. package/dist/node_modules/uuid/dist/cjs-browser/v1.js +87 -0
  79. package/dist/node_modules/uuid/dist/cjs-browser/v1ToV6.d.ts +2 -0
  80. package/dist/node_modules/uuid/dist/cjs-browser/v1ToV6.js +13 -0
  81. package/dist/node_modules/uuid/dist/cjs-browser/v3.d.ts +9 -0
  82. package/dist/node_modules/uuid/dist/cjs-browser/v3.js +14 -0
  83. package/dist/node_modules/uuid/dist/cjs-browser/v35.d.ts +7 -0
  84. package/dist/node_modules/uuid/dist/cjs-browser/v35.js +44 -0
  85. package/dist/node_modules/uuid/dist/cjs-browser/v4.d.ts +4 -0
  86. package/dist/node_modules/uuid/dist/cjs-browser/v4.js +29 -0
  87. package/dist/node_modules/uuid/dist/cjs-browser/v5.d.ts +9 -0
  88. package/dist/node_modules/uuid/dist/cjs-browser/v5.js +14 -0
  89. package/dist/node_modules/uuid/dist/cjs-browser/v6.d.ts +4 -0
  90. package/dist/node_modules/uuid/dist/cjs-browser/v6.js +22 -0
  91. package/dist/node_modules/uuid/dist/cjs-browser/v6ToV1.d.ts +2 -0
  92. package/dist/node_modules/uuid/dist/cjs-browser/v6ToV1.js +13 -0
  93. package/dist/node_modules/uuid/dist/cjs-browser/v7.d.ts +9 -0
  94. package/dist/node_modules/uuid/dist/cjs-browser/v7.js +69 -0
  95. package/dist/node_modules/uuid/dist/cjs-browser/validate.d.ts +2 -0
  96. package/dist/node_modules/uuid/dist/cjs-browser/validate.js +7 -0
  97. package/dist/node_modules/uuid/dist/cjs-browser/version.d.ts +2 -0
  98. package/dist/node_modules/uuid/dist/cjs-browser/version.js +10 -0
  99. package/dist/node_modules/uuid/dist/esm/bin/uuid +2 -0
  100. package/dist/node_modules/uuid/dist/esm/index.d.ts +15 -0
  101. package/dist/node_modules/uuid/dist/{esm-node → esm}/index.js +1 -1
  102. package/dist/node_modules/uuid/dist/esm/max.d.ts +2 -0
  103. package/dist/node_modules/uuid/dist/esm/max.js +1 -0
  104. package/dist/node_modules/uuid/dist/esm/md5.d.ts +4 -0
  105. package/dist/node_modules/uuid/dist/esm/md5.js +11 -0
  106. package/dist/node_modules/uuid/dist/esm/native.d.ts +6 -0
  107. package/dist/node_modules/uuid/dist/esm/native.js +2 -0
  108. package/dist/node_modules/uuid/dist/esm/nil.d.ts +2 -0
  109. package/dist/node_modules/uuid/dist/esm/nil.js +1 -0
  110. package/dist/node_modules/uuid/dist/esm/parse.d.ts +2 -0
  111. package/dist/node_modules/uuid/dist/esm/parse.js +9 -0
  112. package/dist/node_modules/uuid/dist/esm/regex.d.ts +2 -0
  113. package/dist/node_modules/uuid/dist/{esm-node → esm}/regex.js +1 -1
  114. package/dist/node_modules/uuid/dist/esm/rng.d.ts +1 -0
  115. package/dist/node_modules/uuid/dist/esm/rng.js +10 -0
  116. package/dist/node_modules/uuid/dist/esm/sha1.d.ts +4 -0
  117. package/dist/node_modules/uuid/dist/esm/sha1.js +11 -0
  118. package/dist/node_modules/uuid/dist/esm/stringify.d.ts +3 -0
  119. package/dist/node_modules/uuid/dist/esm/stringify.js +35 -0
  120. package/dist/node_modules/uuid/dist/esm/types.d.ts +21 -0
  121. package/dist/node_modules/uuid/dist/esm/types.js +1 -0
  122. package/dist/node_modules/uuid/dist/esm/uuid-bin.d.ts +1 -0
  123. package/dist/node_modules/uuid/dist/esm/uuid-bin.js +70 -0
  124. package/dist/node_modules/uuid/dist/esm/v1.d.ts +11 -0
  125. package/dist/node_modules/uuid/dist/esm/v1.js +83 -0
  126. package/dist/node_modules/uuid/dist/esm/v1ToV6.d.ts +2 -0
  127. package/dist/node_modules/uuid/dist/esm/v1ToV6.js +10 -0
  128. package/dist/node_modules/uuid/dist/esm/v3.d.ts +9 -0
  129. package/dist/node_modules/uuid/dist/esm/v3.js +9 -0
  130. package/dist/node_modules/uuid/dist/esm/v35.d.ts +7 -0
  131. package/dist/node_modules/uuid/dist/esm/v35.js +39 -0
  132. package/dist/node_modules/uuid/dist/esm/v4.d.ts +4 -0
  133. package/dist/node_modules/uuid/dist/esm/v4.js +27 -0
  134. package/dist/node_modules/uuid/dist/esm/v5.d.ts +9 -0
  135. package/dist/node_modules/uuid/dist/esm/v5.js +9 -0
  136. package/dist/node_modules/uuid/dist/esm/v6.d.ts +4 -0
  137. package/dist/node_modules/uuid/dist/esm/v6.js +20 -0
  138. package/dist/node_modules/uuid/dist/esm/v6ToV1.d.ts +2 -0
  139. package/dist/node_modules/uuid/dist/esm/v6ToV1.js +10 -0
  140. package/dist/node_modules/uuid/dist/esm/v7.d.ts +9 -0
  141. package/dist/node_modules/uuid/dist/esm/v7.js +65 -0
  142. package/dist/node_modules/uuid/dist/esm/validate.d.ts +2 -0
  143. package/dist/node_modules/uuid/dist/esm/validate.js +5 -0
  144. package/dist/node_modules/uuid/dist/esm/version.d.ts +2 -0
  145. package/dist/node_modules/uuid/dist/esm/version.js +8 -0
  146. package/dist/node_modules/uuid/dist/esm-browser/index.d.ts +15 -0
  147. package/dist/node_modules/uuid/dist/esm-browser/index.js +1 -1
  148. package/dist/node_modules/uuid/dist/esm-browser/max.d.ts +2 -0
  149. package/dist/node_modules/uuid/dist/esm-browser/max.js +1 -1
  150. package/dist/node_modules/uuid/dist/esm-browser/md5.d.ts +2 -0
  151. package/dist/node_modules/uuid/dist/esm-browser/md5.js +113 -172
  152. package/dist/node_modules/uuid/dist/esm-browser/native.d.ts +4 -0
  153. package/dist/node_modules/uuid/dist/esm-browser/native.js +2 -4
  154. package/dist/node_modules/uuid/dist/esm-browser/nil.d.ts +2 -0
  155. package/dist/node_modules/uuid/dist/esm-browser/nil.js +1 -1
  156. package/dist/node_modules/uuid/dist/esm-browser/parse.d.ts +2 -0
  157. package/dist/node_modules/uuid/dist/esm-browser/parse.js +6 -34
  158. package/dist/node_modules/uuid/dist/esm-browser/regex.d.ts +2 -0
  159. package/dist/node_modules/uuid/dist/esm-browser/regex.js +1 -1
  160. package/dist/node_modules/uuid/dist/esm-browser/rng.d.ts +1 -0
  161. package/dist/node_modules/uuid/dist/esm-browser/rng.js +8 -14
  162. package/dist/node_modules/uuid/dist/esm-browser/sha1.d.ts +2 -0
  163. package/dist/node_modules/uuid/dist/esm-browser/sha1.js +62 -68
  164. package/dist/node_modules/uuid/dist/esm-browser/stringify.d.ts +3 -0
  165. package/dist/node_modules/uuid/dist/esm-browser/stringify.js +29 -25
  166. package/dist/node_modules/uuid/dist/esm-browser/types.d.ts +21 -0
  167. package/dist/node_modules/uuid/dist/esm-browser/types.js +1 -0
  168. package/dist/node_modules/uuid/dist/esm-browser/uuid-bin.d.ts +1 -0
  169. package/dist/node_modules/uuid/dist/esm-browser/uuid-bin.js +70 -0
  170. package/dist/node_modules/uuid/dist/esm-browser/v1.d.ts +11 -0
  171. package/dist/node_modules/uuid/dist/esm-browser/v1.js +75 -117
  172. package/dist/node_modules/uuid/dist/esm-browser/v1ToV6.d.ts +2 -0
  173. package/dist/node_modules/uuid/dist/esm-browser/v1ToV6.js +6 -16
  174. package/dist/node_modules/uuid/dist/esm-browser/v3.d.ts +9 -0
  175. package/dist/node_modules/uuid/dist/esm-browser/v3.js +8 -3
  176. package/dist/node_modules/uuid/dist/esm-browser/v35.d.ts +7 -0
  177. package/dist/node_modules/uuid/dist/esm-browser/v35.js +31 -47
  178. package/dist/node_modules/uuid/dist/esm-browser/v4.d.ts +4 -0
  179. package/dist/node_modules/uuid/dist/esm-browser/v4.js +21 -19
  180. package/dist/node_modules/uuid/dist/esm-browser/v5.d.ts +9 -0
  181. package/dist/node_modules/uuid/dist/esm-browser/v5.js +8 -3
  182. package/dist/node_modules/uuid/dist/esm-browser/v6.d.ts +4 -0
  183. package/dist/node_modules/uuid/dist/esm-browser/v6.js +16 -32
  184. package/dist/node_modules/uuid/dist/esm-browser/v6ToV1.d.ts +2 -0
  185. package/dist/node_modules/uuid/dist/esm-browser/v6ToV1.js +5 -15
  186. package/dist/node_modules/uuid/dist/esm-browser/v7.d.ts +9 -0
  187. package/dist/node_modules/uuid/dist/esm-browser/v7.js +58 -139
  188. package/dist/node_modules/uuid/dist/esm-browser/validate.d.ts +2 -0
  189. package/dist/node_modules/uuid/dist/esm-browser/validate.js +2 -2
  190. package/dist/node_modules/uuid/dist/esm-browser/version.d.ts +2 -0
  191. package/dist/node_modules/uuid/dist/esm-browser/version.js +5 -5
  192. package/dist/node_modules/uuid/package.json +1 -1
  193. package/package.json +2 -2
  194. package/dist/node_modules/uuid/dist/bin/uuid +0 -2
  195. package/dist/node_modules/uuid/dist/commonjs-browser/index.js +0 -104
  196. package/dist/node_modules/uuid/dist/commonjs-browser/max.js +0 -7
  197. package/dist/node_modules/uuid/dist/commonjs-browser/md5.js +0 -200
  198. package/dist/node_modules/uuid/dist/commonjs-browser/native.js +0 -10
  199. package/dist/node_modules/uuid/dist/commonjs-browser/nil.js +0 -7
  200. package/dist/node_modules/uuid/dist/commonjs-browser/parse.js +0 -44
  201. package/dist/node_modules/uuid/dist/commonjs-browser/regex.js +0 -7
  202. package/dist/node_modules/uuid/dist/commonjs-browser/rng.js +0 -23
  203. package/dist/node_modules/uuid/dist/commonjs-browser/sha1.js +0 -82
  204. package/dist/node_modules/uuid/dist/commonjs-browser/stringify.js +0 -38
  205. package/dist/node_modules/uuid/dist/commonjs-browser/v1.js +0 -131
  206. package/dist/node_modules/uuid/dist/commonjs-browser/v1ToV6.js +0 -26
  207. package/dist/node_modules/uuid/dist/commonjs-browser/v3.js +0 -11
  208. package/dist/node_modules/uuid/dist/commonjs-browser/v35.js +0 -63
  209. package/dist/node_modules/uuid/dist/commonjs-browser/v4.js +0 -32
  210. package/dist/node_modules/uuid/dist/commonjs-browser/v5.js +0 -11
  211. package/dist/node_modules/uuid/dist/commonjs-browser/v6.js +0 -42
  212. package/dist/node_modules/uuid/dist/commonjs-browser/v6ToV1.js +0 -26
  213. package/dist/node_modules/uuid/dist/commonjs-browser/v7.js +0 -152
  214. package/dist/node_modules/uuid/dist/commonjs-browser/validate.js +0 -12
  215. package/dist/node_modules/uuid/dist/commonjs-browser/version.js +0 -15
  216. package/dist/node_modules/uuid/dist/esm-node/max.js +0 -1
  217. package/dist/node_modules/uuid/dist/esm-node/md5.js +0 -10
  218. package/dist/node_modules/uuid/dist/esm-node/native.js +0 -4
  219. package/dist/node_modules/uuid/dist/esm-node/nil.js +0 -1
  220. package/dist/node_modules/uuid/dist/esm-node/parse.js +0 -37
  221. package/dist/node_modules/uuid/dist/esm-node/rng.js +0 -10
  222. package/dist/node_modules/uuid/dist/esm-node/sha1.js +0 -10
  223. package/dist/node_modules/uuid/dist/esm-node/stringify.js +0 -31
  224. package/dist/node_modules/uuid/dist/esm-node/v1.js +0 -125
  225. package/dist/node_modules/uuid/dist/esm-node/v1ToV6.js +0 -20
  226. package/dist/node_modules/uuid/dist/esm-node/v3.js +0 -4
  227. package/dist/node_modules/uuid/dist/esm-node/v35.js +0 -55
  228. package/dist/node_modules/uuid/dist/esm-node/v4.js +0 -25
  229. package/dist/node_modules/uuid/dist/esm-node/v5.js +0 -4
  230. package/dist/node_modules/uuid/dist/esm-node/v6.js +0 -32
  231. package/dist/node_modules/uuid/dist/esm-node/v6ToV1.js +0 -20
  232. package/dist/node_modules/uuid/dist/esm-node/v7.js +0 -146
  233. package/dist/node_modules/uuid/dist/esm-node/validate.js +0 -5
  234. package/dist/node_modules/uuid/dist/esm-node/version.js +0 -8
  235. package/dist/node_modules/uuid/dist/index.js +0 -1
  236. package/dist/node_modules/uuid/dist/max.js +0 -7
  237. package/dist/node_modules/uuid/dist/md5-browser.js +0 -200
  238. package/dist/node_modules/uuid/dist/md5.js +0 -17
  239. package/dist/node_modules/uuid/dist/native-browser.js +0 -10
  240. package/dist/node_modules/uuid/dist/native.js +0 -11
  241. package/dist/node_modules/uuid/dist/nil.js +0 -7
  242. package/dist/node_modules/uuid/dist/parse.js +0 -44
  243. package/dist/node_modules/uuid/dist/regex.js +0 -7
  244. package/dist/node_modules/uuid/dist/rng-browser.js +0 -23
  245. package/dist/node_modules/uuid/dist/rng.js +0 -17
  246. package/dist/node_modules/uuid/dist/sha1-browser.js +0 -82
  247. package/dist/node_modules/uuid/dist/sha1.js +0 -17
  248. package/dist/node_modules/uuid/dist/stringify.js +0 -38
  249. package/dist/node_modules/uuid/dist/uuid-bin.js +0 -75
  250. package/dist/node_modules/uuid/dist/v1.js +0 -131
  251. package/dist/node_modules/uuid/dist/v1ToV6.js +0 -26
  252. package/dist/node_modules/uuid/dist/v3.js +0 -11
  253. package/dist/node_modules/uuid/dist/v35.js +0 -63
  254. package/dist/node_modules/uuid/dist/v4.js +0 -32
  255. package/dist/node_modules/uuid/dist/v5.js +0 -11
  256. package/dist/node_modules/uuid/dist/v6.js +0 -38
  257. package/dist/node_modules/uuid/dist/v6ToV1.js +0 -26
  258. package/dist/node_modules/uuid/dist/v7.js +0 -152
  259. package/dist/node_modules/uuid/dist/validate.js +0 -12
  260. package/dist/node_modules/uuid/dist/version.js +0 -15
@@ -1,37 +1,9 @@
1
1
  import validate from './validate.js';
2
2
  function parse(uuid) {
3
- if (!validate(uuid)) {
4
- throw TypeError('Invalid UUID');
5
- }
6
- var v;
7
- var arr = new Uint8Array(16);
8
-
9
- // Parse ########-....-....-....-............
10
- arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24;
11
- arr[1] = v >>> 16 & 0xff;
12
- arr[2] = v >>> 8 & 0xff;
13
- arr[3] = v & 0xff;
14
-
15
- // Parse ........-####-....-....-............
16
- arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8;
17
- arr[5] = v & 0xff;
18
-
19
- // Parse ........-....-####-....-............
20
- arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8;
21
- arr[7] = v & 0xff;
22
-
23
- // Parse ........-....-....-####-............
24
- arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8;
25
- arr[9] = v & 0xff;
26
-
27
- // Parse ........-....-....-....-############
28
- // (Use "/" to avoid 32-bit truncation when bit-shifting high-order bytes)
29
- arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000 & 0xff;
30
- arr[11] = v / 0x100000000 & 0xff;
31
- arr[12] = v >>> 24 & 0xff;
32
- arr[13] = v >>> 16 & 0xff;
33
- arr[14] = v >>> 8 & 0xff;
34
- arr[15] = v & 0xff;
35
- return arr;
3
+ if (!validate(uuid)) {
4
+ throw TypeError('Invalid UUID');
5
+ }
6
+ let v;
7
+ return Uint8Array.of((v = parseInt(uuid.slice(0, 8), 16)) >>> 24, (v >>> 16) & 0xff, (v >>> 8) & 0xff, v & 0xff, (v = parseInt(uuid.slice(9, 13), 16)) >>> 8, v & 0xff, (v = parseInt(uuid.slice(14, 18), 16)) >>> 8, v & 0xff, (v = parseInt(uuid.slice(19, 23), 16)) >>> 8, v & 0xff, ((v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000) & 0xff, (v / 0x100000000) & 0xff, (v >>> 24) & 0xff, (v >>> 16) & 0xff, (v >>> 8) & 0xff, v & 0xff);
36
8
  }
37
- export default parse;
9
+ export default parse;
@@ -0,0 +1,2 @@
1
+ declare const _default: RegExp;
2
+ export default _default;
@@ -1 +1 @@
1
- export default /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i;
1
+ export default /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i;
@@ -0,0 +1 @@
1
+ export default function rng(): Uint8Array;
@@ -1,17 +1,11 @@
1
- // Unique ID creation requires a high quality random # generator. In the browser we therefore
2
- // require the crypto API and do not support built-in fallback to lower quality random number
3
- // generators (like Math.random()).
4
-
5
- var getRandomValues;
6
- var rnds8 = new Uint8Array(16);
1
+ let getRandomValues;
2
+ const rnds8 = new Uint8Array(16);
7
3
  export default function rng() {
8
- // lazy load so that environments that need to polyfill have a chance to do so
9
- if (!getRandomValues) {
10
- // getRandomValues needs to be invoked in a context where "this" is a Crypto implementation.
11
- getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);
12
4
  if (!getRandomValues) {
13
- throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');
5
+ if (typeof crypto === 'undefined' || !crypto.getRandomValues) {
6
+ throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');
7
+ }
8
+ getRandomValues = crypto.getRandomValues.bind(crypto);
14
9
  }
15
- }
16
- return getRandomValues(rnds8);
17
- }
10
+ return getRandomValues(rnds8);
11
+ }
@@ -0,0 +1,2 @@
1
+ declare function sha1(bytes: Uint8Array): Uint8Array;
2
+ export default sha1;
@@ -1,76 +1,70 @@
1
- // Adapted from Chris Veness' SHA1 code at
2
- // http://www.movable-type.co.uk/scripts/sha1.html
3
1
  function f(s, x, y, z) {
4
- switch (s) {
5
- case 0:
6
- return x & y ^ ~x & z;
7
- case 1:
8
- return x ^ y ^ z;
9
- case 2:
10
- return x & y ^ x & z ^ y & z;
11
- case 3:
12
- return x ^ y ^ z;
13
- }
2
+ switch (s) {
3
+ case 0:
4
+ return (x & y) ^ (~x & z);
5
+ case 1:
6
+ return x ^ y ^ z;
7
+ case 2:
8
+ return (x & y) ^ (x & z) ^ (y & z);
9
+ case 3:
10
+ return x ^ y ^ z;
11
+ }
14
12
  }
15
13
  function ROTL(x, n) {
16
- return x << n | x >>> 32 - n;
14
+ return (x << n) | (x >>> (32 - n));
17
15
  }
18
16
  function sha1(bytes) {
19
- var K = [0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xca62c1d6];
20
- var H = [0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0];
21
- if (typeof bytes === 'string') {
22
- var msg = unescape(encodeURIComponent(bytes)); // UTF8 escape
23
-
24
- bytes = [];
25
- for (var i = 0; i < msg.length; ++i) {
26
- bytes.push(msg.charCodeAt(i));
27
- }
28
- } else if (!Array.isArray(bytes)) {
29
- // Convert Array-like to Array
30
- bytes = Array.prototype.slice.call(bytes);
31
- }
32
- bytes.push(0x80);
33
- var l = bytes.length / 4 + 2;
34
- var N = Math.ceil(l / 16);
35
- var M = new Array(N);
36
- for (var _i = 0; _i < N; ++_i) {
37
- var arr = new Uint32Array(16);
38
- for (var j = 0; j < 16; ++j) {
39
- arr[j] = bytes[_i * 64 + j * 4] << 24 | bytes[_i * 64 + j * 4 + 1] << 16 | bytes[_i * 64 + j * 4 + 2] << 8 | bytes[_i * 64 + j * 4 + 3];
40
- }
41
- M[_i] = arr;
42
- }
43
- M[N - 1][14] = (bytes.length - 1) * 8 / Math.pow(2, 32);
44
- M[N - 1][14] = Math.floor(M[N - 1][14]);
45
- M[N - 1][15] = (bytes.length - 1) * 8 & 0xffffffff;
46
- for (var _i2 = 0; _i2 < N; ++_i2) {
47
- var W = new Uint32Array(80);
48
- for (var t = 0; t < 16; ++t) {
49
- W[t] = M[_i2][t];
50
- }
51
- for (var _t = 16; _t < 80; ++_t) {
52
- W[_t] = ROTL(W[_t - 3] ^ W[_t - 8] ^ W[_t - 14] ^ W[_t - 16], 1);
17
+ const K = [0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xca62c1d6];
18
+ const H = [0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0];
19
+ const newBytes = new Uint8Array(bytes.length + 1);
20
+ newBytes.set(bytes);
21
+ newBytes[bytes.length] = 0x80;
22
+ bytes = newBytes;
23
+ const l = bytes.length / 4 + 2;
24
+ const N = Math.ceil(l / 16);
25
+ const M = new Array(N);
26
+ for (let i = 0; i < N; ++i) {
27
+ const arr = new Uint32Array(16);
28
+ for (let j = 0; j < 16; ++j) {
29
+ arr[j] =
30
+ (bytes[i * 64 + j * 4] << 24) |
31
+ (bytes[i * 64 + j * 4 + 1] << 16) |
32
+ (bytes[i * 64 + j * 4 + 2] << 8) |
33
+ bytes[i * 64 + j * 4 + 3];
34
+ }
35
+ M[i] = arr;
53
36
  }
54
- var a = H[0];
55
- var b = H[1];
56
- var c = H[2];
57
- var d = H[3];
58
- var e = H[4];
59
- for (var _t2 = 0; _t2 < 80; ++_t2) {
60
- var s = Math.floor(_t2 / 20);
61
- var T = ROTL(a, 5) + f(s, b, c, d) + e + K[s] + W[_t2] >>> 0;
62
- e = d;
63
- d = c;
64
- c = ROTL(b, 30) >>> 0;
65
- b = a;
66
- a = T;
37
+ M[N - 1][14] = ((bytes.length - 1) * 8) / Math.pow(2, 32);
38
+ M[N - 1][14] = Math.floor(M[N - 1][14]);
39
+ M[N - 1][15] = ((bytes.length - 1) * 8) & 0xffffffff;
40
+ for (let i = 0; i < N; ++i) {
41
+ const W = new Uint32Array(80);
42
+ for (let t = 0; t < 16; ++t) {
43
+ W[t] = M[i][t];
44
+ }
45
+ for (let t = 16; t < 80; ++t) {
46
+ W[t] = ROTL(W[t - 3] ^ W[t - 8] ^ W[t - 14] ^ W[t - 16], 1);
47
+ }
48
+ let a = H[0];
49
+ let b = H[1];
50
+ let c = H[2];
51
+ let d = H[3];
52
+ let e = H[4];
53
+ for (let t = 0; t < 80; ++t) {
54
+ const s = Math.floor(t / 20);
55
+ const T = (ROTL(a, 5) + f(s, b, c, d) + e + K[s] + W[t]) >>> 0;
56
+ e = d;
57
+ d = c;
58
+ c = ROTL(b, 30) >>> 0;
59
+ b = a;
60
+ a = T;
61
+ }
62
+ H[0] = (H[0] + a) >>> 0;
63
+ H[1] = (H[1] + b) >>> 0;
64
+ H[2] = (H[2] + c) >>> 0;
65
+ H[3] = (H[3] + d) >>> 0;
66
+ H[4] = (H[4] + e) >>> 0;
67
67
  }
68
- H[0] = H[0] + a >>> 0;
69
- H[1] = H[1] + b >>> 0;
70
- H[2] = H[2] + c >>> 0;
71
- H[3] = H[3] + d >>> 0;
72
- H[4] = H[4] + e >>> 0;
73
- }
74
- return [H[0] >> 24 & 0xff, H[0] >> 16 & 0xff, H[0] >> 8 & 0xff, H[0] & 0xff, H[1] >> 24 & 0xff, H[1] >> 16 & 0xff, H[1] >> 8 & 0xff, H[1] & 0xff, H[2] >> 24 & 0xff, H[2] >> 16 & 0xff, H[2] >> 8 & 0xff, H[2] & 0xff, H[3] >> 24 & 0xff, H[3] >> 16 & 0xff, H[3] >> 8 & 0xff, H[3] & 0xff, H[4] >> 24 & 0xff, H[4] >> 16 & 0xff, H[4] >> 8 & 0xff, H[4] & 0xff];
68
+ return Uint8Array.of(H[0] >> 24, H[0] >> 16, H[0] >> 8, H[0], H[1] >> 24, H[1] >> 16, H[1] >> 8, H[1], H[2] >> 24, H[2] >> 16, H[2] >> 8, H[2], H[3] >> 24, H[3] >> 16, H[3] >> 8, H[3], H[4] >> 24, H[4] >> 16, H[4] >> 8, H[4]);
75
69
  }
76
- export default sha1;
70
+ export default sha1;
@@ -0,0 +1,3 @@
1
+ export declare function unsafeStringify(arr: Uint8Array, offset?: number): string;
2
+ declare function stringify(arr: Uint8Array, offset?: number): string;
3
+ export default stringify;
@@ -1,31 +1,35 @@
1
1
  import validate from './validate.js';
2
-
3
- /**
4
- * Convert array of 16 byte values to UUID string format of the form:
5
- * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
6
- */
7
- var byteToHex = [];
8
- for (var i = 0; i < 256; ++i) {
9
- byteToHex.push((i + 0x100).toString(16).slice(1));
2
+ const byteToHex = [];
3
+ for (let i = 0; i < 256; ++i) {
4
+ byteToHex.push((i + 0x100).toString(16).slice(1));
10
5
  }
11
6
  export function unsafeStringify(arr, offset = 0) {
12
- // Note: Be careful editing this code! It's been tuned for performance
13
- // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434
14
- //
15
- // Note to future-self: No, you can't remove the `toLowerCase()` call.
16
- // REF: https://github.com/uuidjs/uuid/pull/677#issuecomment-1757351351
17
- return (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase();
7
+ return (byteToHex[arr[offset + 0]] +
8
+ byteToHex[arr[offset + 1]] +
9
+ byteToHex[arr[offset + 2]] +
10
+ byteToHex[arr[offset + 3]] +
11
+ '-' +
12
+ byteToHex[arr[offset + 4]] +
13
+ byteToHex[arr[offset + 5]] +
14
+ '-' +
15
+ byteToHex[arr[offset + 6]] +
16
+ byteToHex[arr[offset + 7]] +
17
+ '-' +
18
+ byteToHex[arr[offset + 8]] +
19
+ byteToHex[arr[offset + 9]] +
20
+ '-' +
21
+ byteToHex[arr[offset + 10]] +
22
+ byteToHex[arr[offset + 11]] +
23
+ byteToHex[arr[offset + 12]] +
24
+ byteToHex[arr[offset + 13]] +
25
+ byteToHex[arr[offset + 14]] +
26
+ byteToHex[arr[offset + 15]]).toLowerCase();
18
27
  }
19
28
  function stringify(arr, offset = 0) {
20
- var uuid = unsafeStringify(arr, offset);
21
- // Consistency check for valid UUID. If this throws, it's likely due to one
22
- // of the following:
23
- // - One or more input array values don't map to a hex octet (leading to
24
- // "undefined" in the uuid)
25
- // - Invalid input values for the RFC `version` or `variant` fields
26
- if (!validate(uuid)) {
27
- throw TypeError('Stringified UUID is invalid');
28
- }
29
- return uuid;
29
+ const uuid = unsafeStringify(arr, offset);
30
+ if (!validate(uuid)) {
31
+ throw TypeError('Stringified UUID is invalid');
32
+ }
33
+ return uuid;
30
34
  }
31
- export default stringify;
35
+ export default stringify;
@@ -0,0 +1,21 @@
1
+ export type UUIDTypes<TBuf extends Uint8Array = Uint8Array> = string | TBuf;
2
+ export type Version1Options = {
3
+ node?: Uint8Array;
4
+ clockseq?: number;
5
+ random?: Uint8Array;
6
+ rng?: () => Uint8Array;
7
+ msecs?: number;
8
+ nsecs?: number;
9
+ _v6?: boolean;
10
+ };
11
+ export type Version4Options = {
12
+ random?: Uint8Array;
13
+ rng?: () => Uint8Array;
14
+ };
15
+ export type Version6Options = Version1Options;
16
+ export type Version7Options = {
17
+ random?: Uint8Array;
18
+ msecs?: number;
19
+ seq?: number;
20
+ rng?: () => Uint8Array;
21
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,70 @@
1
+ import * as assert from 'assert';
2
+ import v1 from './v1.js';
3
+ import v3 from './v3.js';
4
+ import v4 from './v4.js';
5
+ import v5 from './v5.js';
6
+ import v6 from './v6.js';
7
+ import v7 from './v7.js';
8
+ function usage() {
9
+ console.log('Usage:');
10
+ console.log(' uuid');
11
+ console.log(' uuid v1');
12
+ console.log(' uuid v3 <name> <namespace uuid>');
13
+ console.log(' uuid v4');
14
+ console.log(' uuid v5 <name> <namespace uuid>');
15
+ console.log(' uuid v6');
16
+ console.log(' uuid v7');
17
+ console.log(' uuid --help');
18
+ console.log('\nNote: <namespace uuid> may be "URL" or "DNS" to use the corresponding UUIDs defined by RFC9562');
19
+ }
20
+ const args = process.argv.slice(2);
21
+ if (args.indexOf('--help') >= 0) {
22
+ usage();
23
+ process.exit(0);
24
+ }
25
+ const version = args.shift() || 'v4';
26
+ switch (version) {
27
+ case 'v1':
28
+ console.log(v1());
29
+ break;
30
+ case 'v3': {
31
+ const name = args.shift();
32
+ let namespace = args.shift();
33
+ assert.ok(name != null, 'v3 name not specified');
34
+ assert.ok(namespace != null, 'v3 namespace not specified');
35
+ if (namespace === 'URL') {
36
+ namespace = v3.URL;
37
+ }
38
+ if (namespace === 'DNS') {
39
+ namespace = v3.DNS;
40
+ }
41
+ console.log(v3(name, namespace));
42
+ break;
43
+ }
44
+ case 'v4':
45
+ console.log(v4());
46
+ break;
47
+ case 'v5': {
48
+ const name = args.shift();
49
+ let namespace = args.shift();
50
+ assert.ok(name != null, 'v5 name not specified');
51
+ assert.ok(namespace != null, 'v5 namespace not specified');
52
+ if (namespace === 'URL') {
53
+ namespace = v5.URL;
54
+ }
55
+ if (namespace === 'DNS') {
56
+ namespace = v5.DNS;
57
+ }
58
+ console.log(v5(name, namespace));
59
+ break;
60
+ }
61
+ case 'v6':
62
+ console.log(v6());
63
+ break;
64
+ case 'v7':
65
+ console.log(v7());
66
+ break;
67
+ default:
68
+ usage();
69
+ process.exit(1);
70
+ }
@@ -0,0 +1,11 @@
1
+ import { Version1Options } from './types.js';
2
+ type V1State = {
3
+ node?: Uint8Array;
4
+ clockseq?: number;
5
+ msecs?: number;
6
+ nsecs?: number;
7
+ };
8
+ declare function v1(options?: Version1Options, buf?: undefined, offset?: number): string;
9
+ declare function v1<Buf extends Uint8Array = Uint8Array>(options: Version1Options | undefined, buf: Buf, offset?: number): Buf;
10
+ export declare function updateV1State(state: V1State, now: number, rnds: Uint8Array): V1State;
11
+ export default v1;
@@ -1,125 +1,83 @@
1
1
  import rng from './rng.js';
2
2
  import { unsafeStringify } from './stringify.js';
3
-
4
- // **`v1()` - Generate time-based UUID**
5
- //
6
- // Inspired by https://github.com/LiosK/UUID.js
7
- // and http://docs.python.org/library/uuid.html
8
-
9
- var _nodeId;
10
- var _clockseq;
11
-
12
- // Previous uuid creation time
13
- var _lastMSecs = 0;
14
- var _lastNSecs = 0;
15
-
16
- // See https://github.com/uuidjs/uuid for API details
3
+ const _state = {};
17
4
  function v1(options, buf, offset) {
18
- var i = buf && offset || 0;
19
- var b = buf || new Array(16);
20
- options = options || {};
21
- var node = options.node;
22
- var clockseq = options.clockseq;
23
-
24
- // v1 only: Use cached `node` and `clockseq` values
25
- if (!options._v6) {
26
- if (!node) {
27
- node = _nodeId;
5
+ let bytes;
6
+ const isV6 = options?._v6 ?? false;
7
+ if (options) {
8
+ const optionsKeys = Object.keys(options);
9
+ if (optionsKeys.length === 1 && optionsKeys[0] === '_v6') {
10
+ options = undefined;
11
+ }
28
12
  }
29
- if (clockseq == null) {
30
- clockseq = _clockseq;
13
+ if (options) {
14
+ bytes = v1Bytes(options.random ?? options.rng?.() ?? rng(), options.msecs, options.nsecs, options.clockseq, options.node, buf, offset);
31
15
  }
32
- }
33
-
34
- // Handle cases where we need entropy. We do this lazily to minimize issues
35
- // related to insufficient system entropy. See #189
36
- if (node == null || clockseq == null) {
37
- var seedBytes = options.random || (options.rng || rng)();
38
-
39
- // Randomize node
40
- if (node == null) {
41
- node = [seedBytes[0], seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]];
42
-
43
- // v1 only: cache node value for reuse
44
- if (!_nodeId && !options._v6) {
45
- // per RFC4122 4.5: Set MAC multicast bit (v1 only)
46
- node[0] |= 0x01; // Set multicast bit
47
-
48
- _nodeId = node;
49
- }
16
+ else {
17
+ const now = Date.now();
18
+ const rnds = rng();
19
+ updateV1State(_state, now, rnds);
20
+ bytes = v1Bytes(rnds, _state.msecs, _state.nsecs, isV6 ? undefined : _state.clockseq, isV6 ? undefined : _state.node, buf, offset);
50
21
  }
51
-
52
- // Randomize clockseq
53
- if (clockseq == null) {
54
- // Per 4.2.2, randomize (14 bit) clockseq
55
- clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff;
56
- if (_clockseq === undefined && !options._v6) {
57
- _clockseq = clockseq;
58
- }
22
+ return buf ?? unsafeStringify(bytes);
23
+ }
24
+ export function updateV1State(state, now, rnds) {
25
+ state.msecs ??= -Infinity;
26
+ state.nsecs ??= 0;
27
+ if (now === state.msecs) {
28
+ state.nsecs++;
29
+ if (state.nsecs >= 10000) {
30
+ state.node = undefined;
31
+ state.nsecs = 0;
32
+ }
33
+ }
34
+ else if (now > state.msecs) {
35
+ state.nsecs = 0;
36
+ }
37
+ else if (now < state.msecs) {
38
+ state.node = undefined;
39
+ }
40
+ if (!state.node) {
41
+ state.node = rnds.slice(10, 16);
42
+ state.node[0] |= 0x01;
43
+ state.clockseq = ((rnds[8] << 8) | rnds[9]) & 0x3fff;
44
+ }
45
+ state.msecs = now;
46
+ return state;
47
+ }
48
+ function v1Bytes(rnds, msecs, nsecs, clockseq, node, buf, offset = 0) {
49
+ if (rnds.length < 16) {
50
+ throw new Error('Random bytes length must be >= 16');
51
+ }
52
+ if (!buf) {
53
+ buf = new Uint8Array(16);
54
+ offset = 0;
55
+ }
56
+ else {
57
+ if (offset < 0 || offset + 16 > buf.length) {
58
+ throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`);
59
+ }
60
+ }
61
+ msecs ??= Date.now();
62
+ nsecs ??= 0;
63
+ clockseq ??= ((rnds[8] << 8) | rnds[9]) & 0x3fff;
64
+ node ??= rnds.slice(10, 16);
65
+ msecs += 12219292800000;
66
+ const tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000;
67
+ buf[offset++] = (tl >>> 24) & 0xff;
68
+ buf[offset++] = (tl >>> 16) & 0xff;
69
+ buf[offset++] = (tl >>> 8) & 0xff;
70
+ buf[offset++] = tl & 0xff;
71
+ const tmh = ((msecs / 0x100000000) * 10000) & 0xfffffff;
72
+ buf[offset++] = (tmh >>> 8) & 0xff;
73
+ buf[offset++] = tmh & 0xff;
74
+ buf[offset++] = ((tmh >>> 24) & 0xf) | 0x10;
75
+ buf[offset++] = (tmh >>> 16) & 0xff;
76
+ buf[offset++] = (clockseq >>> 8) | 0x80;
77
+ buf[offset++] = clockseq & 0xff;
78
+ for (let n = 0; n < 6; ++n) {
79
+ buf[offset++] = node[n];
59
80
  }
60
- }
61
-
62
- // v1 & v6 timestamps are 100 nano-second units since the Gregorian epoch,
63
- // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so time is
64
- // handled internally as 'msecs' (integer milliseconds) and 'nsecs'
65
- // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00.
66
- var msecs = options.msecs !== undefined ? options.msecs : Date.now();
67
-
68
- // Per 4.2.1.2, use count of uuid's generated during the current clock
69
- // cycle to simulate higher resolution clock
70
- var nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1;
71
-
72
- // Time since last uuid creation (in msecs)
73
- var dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 10000;
74
-
75
- // Per 4.2.1.2, Bump clockseq on clock regression
76
- if (dt < 0 && options.clockseq === undefined) {
77
- clockseq = clockseq + 1 & 0x3fff;
78
- }
79
-
80
- // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new
81
- // time interval
82
- if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) {
83
- nsecs = 0;
84
- }
85
-
86
- // Per 4.2.1.2 Throw error if too many uuids are requested
87
- if (nsecs >= 10000) {
88
- throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");
89
- }
90
- _lastMSecs = msecs;
91
- _lastNSecs = nsecs;
92
- _clockseq = clockseq;
93
-
94
- // Per 4.1.4 - Convert from unix epoch to Gregorian epoch
95
- msecs += 12219292800000;
96
-
97
- // `time_low`
98
- var tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000;
99
- b[i++] = tl >>> 24 & 0xff;
100
- b[i++] = tl >>> 16 & 0xff;
101
- b[i++] = tl >>> 8 & 0xff;
102
- b[i++] = tl & 0xff;
103
-
104
- // `time_mid`
105
- var tmh = msecs / 0x100000000 * 10000 & 0xfffffff;
106
- b[i++] = tmh >>> 8 & 0xff;
107
- b[i++] = tmh & 0xff;
108
-
109
- // `time_high_and_version`
110
- b[i++] = tmh >>> 24 & 0xf | 0x10; // include version
111
- b[i++] = tmh >>> 16 & 0xff;
112
-
113
- // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant)
114
- b[i++] = clockseq >>> 8 | 0x80;
115
-
116
- // `clock_seq_low`
117
- b[i++] = clockseq & 0xff;
118
-
119
- // `node`
120
- for (var n = 0; n < 6; ++n) {
121
- b[i + n] = node[n];
122
- }
123
- return buf || unsafeStringify(b);
81
+ return buf;
124
82
  }
125
- export default v1;
83
+ export default v1;
@@ -0,0 +1,2 @@
1
+ export default function v1ToV6(uuid: string): string;
2
+ export default function v1ToV6(uuid: Uint8Array): Uint8Array;
@@ -1,20 +1,10 @@
1
1
  import parse from './parse.js';
2
2
  import { unsafeStringify } from './stringify.js';
3
-
4
- /**
5
- * Convert a v1 UUID to a v6 UUID
6
- *
7
- * @param {string|Uint8Array} uuid - The v1 UUID to convert to v6
8
- * @returns {string|Uint8Array} The v6 UUID as the same type as the `uuid` arg
9
- * (string or Uint8Array)
10
- */
11
3
  export default function v1ToV6(uuid) {
12
- var v1Bytes = typeof uuid === 'string' ? parse(uuid) : uuid;
13
- var v6Bytes = _v1ToV6(v1Bytes);
14
- return typeof uuid === 'string' ? unsafeStringify(v6Bytes) : v6Bytes;
4
+ const v1Bytes = typeof uuid === 'string' ? parse(uuid) : uuid;
5
+ const v6Bytes = _v1ToV6(v1Bytes);
6
+ return typeof uuid === 'string' ? unsafeStringify(v6Bytes) : v6Bytes;
7
+ }
8
+ function _v1ToV6(v1Bytes) {
9
+ return Uint8Array.of(((v1Bytes[6] & 0x0f) << 4) | ((v1Bytes[7] >> 4) & 0x0f), ((v1Bytes[7] & 0x0f) << 4) | ((v1Bytes[4] & 0xf0) >> 4), ((v1Bytes[4] & 0x0f) << 4) | ((v1Bytes[5] & 0xf0) >> 4), ((v1Bytes[5] & 0x0f) << 4) | ((v1Bytes[0] & 0xf0) >> 4), ((v1Bytes[0] & 0x0f) << 4) | ((v1Bytes[1] & 0xf0) >> 4), ((v1Bytes[1] & 0x0f) << 4) | ((v1Bytes[2] & 0xf0) >> 4), 0x60 | (v1Bytes[2] & 0x0f), v1Bytes[3], v1Bytes[8], v1Bytes[9], v1Bytes[10], v1Bytes[11], v1Bytes[12], v1Bytes[13], v1Bytes[14], v1Bytes[15]);
15
10
  }
16
-
17
- // Do the field transformation needed for v1 -> v6
18
- function _v1ToV6(v1Bytes, randomize = false) {
19
- return Uint8Array.of((v1Bytes[6] & 0x0f) << 4 | v1Bytes[7] >> 4 & 0x0f, (v1Bytes[7] & 0x0f) << 4 | (v1Bytes[4] & 0xf0) >> 4, (v1Bytes[4] & 0x0f) << 4 | (v1Bytes[5] & 0xf0) >> 4, (v1Bytes[5] & 0x0f) << 4 | (v1Bytes[0] & 0xf0) >> 4, (v1Bytes[0] & 0x0f) << 4 | (v1Bytes[1] & 0xf0) >> 4, (v1Bytes[1] & 0x0f) << 4 | (v1Bytes[2] & 0xf0) >> 4, 0x60 | v1Bytes[2] & 0x0f, v1Bytes[3], v1Bytes[8], v1Bytes[9], v1Bytes[10], v1Bytes[11], v1Bytes[12], v1Bytes[13], v1Bytes[14], v1Bytes[15]);
20
- }
@@ -0,0 +1,9 @@
1
+ import { UUIDTypes } from './types.js';
2
+ export { DNS, URL } from './v35.js';
3
+ declare function v3(value: string | Uint8Array, namespace: UUIDTypes, buf?: undefined, offset?: number): string;
4
+ declare function v3<TBuf extends Uint8Array = Uint8Array>(value: string | Uint8Array, namespace: UUIDTypes, buf: TBuf, offset?: number): TBuf;
5
+ declare namespace v3 {
6
+ var DNS: string;
7
+ var URL: string;
8
+ }
9
+ export default v3;