uuid 10.0.0 → 11.0.0

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 (347) hide show
  1. package/CHANGELOG.md +170 -0
  2. package/README.md +71 -171
  3. package/dist/cjs/_types.d.ts +21 -0
  4. package/dist/cjs/_types.js +3 -0
  5. package/dist/cjs/index.d.ts +14 -0
  6. package/dist/cjs/index.js +32 -0
  7. package/dist/cjs/max.d.ts +2 -0
  8. package/dist/cjs/max.js +4 -0
  9. package/dist/cjs/md5.d.ts +2 -0
  10. package/dist/cjs/md5.js +14 -0
  11. package/dist/cjs/native.d.ts +5 -0
  12. package/dist/cjs/native.js +5 -0
  13. package/dist/cjs/nil.d.ts +2 -0
  14. package/dist/cjs/nil.js +4 -0
  15. package/dist/cjs/package.json +1 -0
  16. package/dist/cjs/parse.d.ts +2 -0
  17. package/dist/cjs/parse.js +12 -0
  18. package/dist/cjs/regex.d.ts +2 -0
  19. package/dist/cjs/regex.js +4 -0
  20. package/dist/cjs/rng.d.ts +1 -0
  21. package/dist/cjs/rng.js +14 -0
  22. package/dist/cjs/sha1.d.ts +2 -0
  23. package/dist/cjs/sha1.js +14 -0
  24. package/dist/cjs/stringify.d.ts +3 -0
  25. package/dist/cjs/stringify.js +39 -0
  26. package/dist/cjs/test/parse.test.d.ts +1 -0
  27. package/dist/cjs/test/parse.test.js +51 -0
  28. package/dist/cjs/test/rng.test.d.ts +1 -0
  29. package/dist/cjs/test/rng.test.js +15 -0
  30. package/dist/cjs/test/stringify.test.d.ts +1 -0
  31. package/dist/cjs/test/stringify.test.js +24 -0
  32. package/dist/cjs/test/test_constants.d.ts +33 -0
  33. package/dist/cjs/test/test_constants.js +92 -0
  34. package/dist/cjs/test/v1.test.d.ts +1 -0
  35. package/dist/cjs/test/v1.test.js +128 -0
  36. package/dist/cjs/test/v35.test.d.ts +1 -0
  37. package/dist/cjs/test/v35.test.js +144 -0
  38. package/dist/cjs/test/v4.test.d.ts +1 -0
  39. package/dist/cjs/test/v4.test.js +61 -0
  40. package/dist/cjs/test/v6.test.d.ts +1 -0
  41. package/dist/cjs/test/v6.test.js +57 -0
  42. package/dist/cjs/test/v7.test.d.ts +1 -0
  43. package/dist/cjs/test/v7.test.js +195 -0
  44. package/dist/cjs/test/validate.test.d.ts +1 -0
  45. package/dist/cjs/test/validate.test.js +14 -0
  46. package/dist/cjs/test/version.test.d.ts +1 -0
  47. package/dist/cjs/test/version.test.js +21 -0
  48. package/dist/cjs/uuid-bin.d.ts +1 -0
  49. package/dist/cjs/uuid-bin.js +73 -0
  50. package/dist/cjs/v1.d.ts +11 -0
  51. package/dist/cjs/v1.js +79 -0
  52. package/dist/cjs/v1ToV6.d.ts +2 -0
  53. package/dist/cjs/v1ToV6.js +14 -0
  54. package/dist/cjs/v3.d.ts +9 -0
  55. package/dist/cjs/v3.js +15 -0
  56. package/dist/cjs/v35.d.ts +7 -0
  57. package/dist/cjs/v35.js +42 -0
  58. package/dist/cjs/v4.d.ts +4 -0
  59. package/dist/cjs/v4.js +24 -0
  60. package/dist/cjs/v5.d.ts +9 -0
  61. package/dist/cjs/v5.js +15 -0
  62. package/dist/cjs/v6.d.ts +4 -0
  63. package/dist/cjs/v6.js +20 -0
  64. package/dist/cjs/v6ToV1.d.ts +2 -0
  65. package/dist/cjs/v6ToV1.js +14 -0
  66. package/dist/cjs/v7.d.ts +9 -0
  67. package/dist/cjs/v7.js +61 -0
  68. package/dist/cjs/validate.d.ts +2 -0
  69. package/dist/cjs/validate.js +8 -0
  70. package/dist/cjs/version.d.ts +2 -0
  71. package/dist/cjs/version.js +11 -0
  72. package/dist/cjs-browser/_types.d.ts +21 -0
  73. package/dist/cjs-browser/_types.js +3 -0
  74. package/dist/{esm-node/index.js → cjs-browser/index.d.ts} +1 -1
  75. package/dist/cjs-browser/index.js +32 -0
  76. package/dist/cjs-browser/max.d.ts +2 -0
  77. package/dist/cjs-browser/max.js +4 -0
  78. package/dist/cjs-browser/md5.d.ts +2 -0
  79. package/dist/cjs-browser/md5.js +138 -0
  80. package/dist/cjs-browser/native.d.ts +4 -0
  81. package/dist/cjs-browser/native.js +5 -0
  82. package/dist/cjs-browser/nil.d.ts +2 -0
  83. package/dist/cjs-browser/nil.js +4 -0
  84. package/dist/cjs-browser/package.json +1 -0
  85. package/dist/cjs-browser/parse.d.ts +2 -0
  86. package/dist/cjs-browser/parse.js +12 -0
  87. package/dist/cjs-browser/regex.d.ts +2 -0
  88. package/dist/cjs-browser/regex.js +4 -0
  89. package/dist/cjs-browser/rng.d.ts +1 -0
  90. package/dist/cjs-browser/rng.js +15 -0
  91. package/dist/cjs-browser/sha1.d.ts +2 -0
  92. package/dist/cjs-browser/sha1.js +73 -0
  93. package/dist/cjs-browser/stringify.d.ts +3 -0
  94. package/dist/cjs-browser/stringify.js +39 -0
  95. package/dist/cjs-browser/test/parse.test.d.ts +1 -0
  96. package/dist/cjs-browser/test/parse.test.js +51 -0
  97. package/dist/cjs-browser/test/rng.test.d.ts +1 -0
  98. package/dist/cjs-browser/test/rng.test.js +15 -0
  99. package/dist/cjs-browser/test/stringify.test.d.ts +1 -0
  100. package/dist/cjs-browser/test/stringify.test.js +24 -0
  101. package/dist/cjs-browser/test/test_constants.d.ts +33 -0
  102. package/dist/cjs-browser/test/test_constants.js +92 -0
  103. package/dist/cjs-browser/test/v1.test.d.ts +1 -0
  104. package/dist/cjs-browser/test/v1.test.js +128 -0
  105. package/dist/cjs-browser/test/v35.test.d.ts +1 -0
  106. package/dist/cjs-browser/test/v35.test.js +144 -0
  107. package/dist/cjs-browser/test/v4.test.d.ts +1 -0
  108. package/dist/cjs-browser/test/v4.test.js +61 -0
  109. package/dist/cjs-browser/test/v6.test.d.ts +1 -0
  110. package/dist/cjs-browser/test/v6.test.js +57 -0
  111. package/dist/cjs-browser/test/v7.test.d.ts +1 -0
  112. package/dist/cjs-browser/test/v7.test.js +195 -0
  113. package/dist/cjs-browser/test/validate.test.d.ts +1 -0
  114. package/dist/cjs-browser/test/validate.test.js +14 -0
  115. package/dist/cjs-browser/test/version.test.d.ts +1 -0
  116. package/dist/cjs-browser/test/version.test.js +21 -0
  117. package/dist/cjs-browser/uuid-bin.d.ts +1 -0
  118. package/dist/cjs-browser/uuid-bin.js +73 -0
  119. package/dist/cjs-browser/v1.d.ts +11 -0
  120. package/dist/cjs-browser/v1.js +79 -0
  121. package/dist/cjs-browser/v1ToV6.d.ts +2 -0
  122. package/dist/cjs-browser/v1ToV6.js +14 -0
  123. package/dist/cjs-browser/v3.d.ts +9 -0
  124. package/dist/cjs-browser/v3.js +15 -0
  125. package/dist/cjs-browser/v35.d.ts +7 -0
  126. package/dist/cjs-browser/v35.js +42 -0
  127. package/dist/cjs-browser/v4.d.ts +4 -0
  128. package/dist/cjs-browser/v4.js +24 -0
  129. package/dist/cjs-browser/v5.d.ts +9 -0
  130. package/dist/cjs-browser/v5.js +15 -0
  131. package/dist/cjs-browser/v6.d.ts +4 -0
  132. package/dist/cjs-browser/v6.js +20 -0
  133. package/dist/cjs-browser/v6ToV1.d.ts +2 -0
  134. package/dist/cjs-browser/v6ToV1.js +14 -0
  135. package/dist/cjs-browser/v7.d.ts +9 -0
  136. package/dist/cjs-browser/v7.js +61 -0
  137. package/dist/cjs-browser/validate.d.ts +2 -0
  138. package/dist/cjs-browser/validate.js +8 -0
  139. package/dist/cjs-browser/version.d.ts +2 -0
  140. package/dist/cjs-browser/version.js +11 -0
  141. package/dist/esm/_types.d.ts +21 -0
  142. package/dist/esm/_types.js +2 -0
  143. package/dist/esm/bin/uuid +2 -0
  144. package/dist/esm/index.d.ts +14 -0
  145. package/dist/esm/index.js +15 -0
  146. package/dist/esm/max.d.ts +2 -0
  147. package/dist/esm/max.js +2 -0
  148. package/dist/esm/md5.d.ts +2 -0
  149. package/dist/esm/md5.js +12 -0
  150. package/dist/esm/native.d.ts +5 -0
  151. package/dist/esm/native.js +3 -0
  152. package/dist/esm/nil.d.ts +2 -0
  153. package/dist/esm/nil.js +2 -0
  154. package/dist/esm/parse.d.ts +2 -0
  155. package/dist/esm/parse.js +10 -0
  156. package/dist/esm/regex.d.ts +2 -0
  157. package/dist/esm/regex.js +2 -0
  158. package/dist/esm/rng.d.ts +1 -0
  159. package/dist/esm/rng.js +11 -0
  160. package/dist/esm/sha1.d.ts +2 -0
  161. package/dist/esm/sha1.js +12 -0
  162. package/dist/esm/stringify.d.ts +3 -0
  163. package/dist/esm/stringify.js +36 -0
  164. package/dist/esm/test/parse.test.d.ts +1 -0
  165. package/dist/esm/test/parse.test.js +49 -0
  166. package/dist/esm/test/rng.test.d.ts +1 -0
  167. package/dist/esm/test/rng.test.js +13 -0
  168. package/dist/esm/test/stringify.test.d.ts +1 -0
  169. package/dist/esm/test/stringify.test.js +22 -0
  170. package/dist/esm/test/test_constants.d.ts +33 -0
  171. package/dist/esm/test/test_constants.js +89 -0
  172. package/dist/esm/test/v1.test.d.ts +1 -0
  173. package/dist/esm/test/v1.test.js +126 -0
  174. package/dist/esm/test/v35.test.d.ts +1 -0
  175. package/dist/esm/test/v35.test.js +142 -0
  176. package/dist/esm/test/v4.test.d.ts +1 -0
  177. package/dist/esm/test/v4.test.js +59 -0
  178. package/dist/esm/test/v6.test.d.ts +1 -0
  179. package/dist/esm/test/v6.test.js +55 -0
  180. package/dist/esm/test/v7.test.d.ts +1 -0
  181. package/dist/esm/test/v7.test.js +193 -0
  182. package/dist/esm/test/validate.test.d.ts +1 -0
  183. package/dist/esm/test/validate.test.js +12 -0
  184. package/dist/esm/test/version.test.d.ts +1 -0
  185. package/dist/esm/test/version.test.js +19 -0
  186. package/dist/esm/uuid-bin.d.ts +1 -0
  187. package/dist/esm/uuid-bin.js +71 -0
  188. package/dist/esm/v1.d.ts +11 -0
  189. package/dist/esm/v1.js +76 -0
  190. package/dist/esm/v1ToV6.d.ts +2 -0
  191. package/dist/esm/v1ToV6.js +11 -0
  192. package/dist/esm/v3.d.ts +9 -0
  193. package/dist/esm/v3.js +10 -0
  194. package/dist/esm/v35.d.ts +7 -0
  195. package/dist/esm/v35.js +37 -0
  196. package/dist/esm/v4.d.ts +4 -0
  197. package/dist/esm/v4.js +22 -0
  198. package/dist/esm/v5.d.ts +9 -0
  199. package/dist/esm/v5.js +10 -0
  200. package/dist/esm/v6.d.ts +4 -0
  201. package/dist/esm/v6.js +18 -0
  202. package/dist/esm/v6ToV1.d.ts +2 -0
  203. package/dist/esm/v6ToV1.js +11 -0
  204. package/dist/esm/v7.d.ts +9 -0
  205. package/dist/esm/v7.js +58 -0
  206. package/dist/esm/validate.d.ts +2 -0
  207. package/dist/esm/validate.js +6 -0
  208. package/dist/esm/version.d.ts +2 -0
  209. package/dist/esm/version.js +9 -0
  210. package/dist/esm-browser/_types.d.ts +21 -0
  211. package/dist/esm-browser/_types.js +2 -0
  212. package/dist/esm-browser/index.d.ts +14 -0
  213. package/dist/esm-browser/index.js +2 -1
  214. package/dist/esm-browser/max.d.ts +2 -0
  215. package/dist/esm-browser/max.js +2 -1
  216. package/dist/esm-browser/md5.d.ts +2 -0
  217. package/dist/esm-browser/md5.js +114 -172
  218. package/dist/esm-browser/native.d.ts +4 -0
  219. package/dist/esm-browser/native.js +3 -4
  220. package/dist/esm-browser/nil.d.ts +2 -0
  221. package/dist/esm-browser/nil.js +2 -1
  222. package/dist/esm-browser/parse.d.ts +2 -0
  223. package/dist/esm-browser/parse.js +7 -34
  224. package/dist/esm-browser/regex.d.ts +2 -0
  225. package/dist/esm-browser/regex.js +2 -1
  226. package/dist/esm-browser/rng.d.ts +1 -0
  227. package/dist/esm-browser/rng.js +9 -14
  228. package/dist/esm-browser/sha1.d.ts +2 -0
  229. package/dist/esm-browser/sha1.js +63 -68
  230. package/dist/esm-browser/stringify.d.ts +3 -0
  231. package/dist/esm-browser/stringify.js +30 -25
  232. package/dist/esm-browser/test/parse.test.d.ts +1 -0
  233. package/dist/esm-browser/test/parse.test.js +49 -0
  234. package/dist/esm-browser/test/rng.test.d.ts +1 -0
  235. package/dist/esm-browser/test/rng.test.js +13 -0
  236. package/dist/esm-browser/test/stringify.test.d.ts +1 -0
  237. package/dist/esm-browser/test/stringify.test.js +22 -0
  238. package/dist/esm-browser/test/test_constants.d.ts +33 -0
  239. package/dist/esm-browser/test/test_constants.js +89 -0
  240. package/dist/esm-browser/test/v1.test.d.ts +1 -0
  241. package/dist/esm-browser/test/v1.test.js +126 -0
  242. package/dist/esm-browser/test/v35.test.d.ts +1 -0
  243. package/dist/esm-browser/test/v35.test.js +142 -0
  244. package/dist/esm-browser/test/v4.test.d.ts +1 -0
  245. package/dist/esm-browser/test/v4.test.js +59 -0
  246. package/dist/esm-browser/test/v6.test.d.ts +1 -0
  247. package/dist/esm-browser/test/v6.test.js +55 -0
  248. package/dist/esm-browser/test/v7.test.d.ts +1 -0
  249. package/dist/esm-browser/test/v7.test.js +193 -0
  250. package/dist/esm-browser/test/validate.test.d.ts +1 -0
  251. package/dist/esm-browser/test/validate.test.js +12 -0
  252. package/dist/esm-browser/test/version.test.d.ts +1 -0
  253. package/dist/esm-browser/test/version.test.js +19 -0
  254. package/dist/esm-browser/uuid-bin.d.ts +1 -0
  255. package/dist/esm-browser/uuid-bin.js +71 -0
  256. package/dist/esm-browser/v1.d.ts +11 -0
  257. package/dist/esm-browser/v1.js +68 -117
  258. package/dist/esm-browser/v1ToV6.d.ts +2 -0
  259. package/dist/esm-browser/v1ToV6.js +7 -16
  260. package/dist/esm-browser/v3.d.ts +9 -0
  261. package/dist/esm-browser/v3.js +9 -3
  262. package/dist/esm-browser/v35.d.ts +7 -0
  263. package/dist/esm-browser/v35.js +29 -47
  264. package/dist/esm-browser/v4.d.ts +4 -0
  265. package/dist/esm-browser/v4.js +16 -19
  266. package/dist/esm-browser/v5.d.ts +9 -0
  267. package/dist/esm-browser/v5.js +9 -3
  268. package/dist/esm-browser/v6.d.ts +4 -0
  269. package/dist/esm-browser/v6.js +14 -32
  270. package/dist/esm-browser/v6ToV1.d.ts +2 -0
  271. package/dist/esm-browser/v6ToV1.js +6 -15
  272. package/dist/esm-browser/v7.d.ts +9 -0
  273. package/dist/esm-browser/v7.js +51 -139
  274. package/dist/esm-browser/validate.d.ts +2 -0
  275. package/dist/esm-browser/validate.js +3 -2
  276. package/dist/esm-browser/version.d.ts +2 -0
  277. package/dist/esm-browser/version.js +6 -5
  278. package/package.json +54 -64
  279. package/wrapper.mjs +1 -1
  280. package/dist/bin/uuid +0 -2
  281. package/dist/commonjs-browser/index.js +0 -104
  282. package/dist/commonjs-browser/max.js +0 -7
  283. package/dist/commonjs-browser/md5.js +0 -200
  284. package/dist/commonjs-browser/native.js +0 -10
  285. package/dist/commonjs-browser/nil.js +0 -7
  286. package/dist/commonjs-browser/parse.js +0 -44
  287. package/dist/commonjs-browser/regex.js +0 -7
  288. package/dist/commonjs-browser/rng.js +0 -23
  289. package/dist/commonjs-browser/sha1.js +0 -82
  290. package/dist/commonjs-browser/stringify.js +0 -38
  291. package/dist/commonjs-browser/v1.js +0 -131
  292. package/dist/commonjs-browser/v1ToV6.js +0 -26
  293. package/dist/commonjs-browser/v3.js +0 -11
  294. package/dist/commonjs-browser/v35.js +0 -63
  295. package/dist/commonjs-browser/v4.js +0 -32
  296. package/dist/commonjs-browser/v5.js +0 -11
  297. package/dist/commonjs-browser/v6.js +0 -42
  298. package/dist/commonjs-browser/v6ToV1.js +0 -26
  299. package/dist/commonjs-browser/v7.js +0 -152
  300. package/dist/commonjs-browser/validate.js +0 -12
  301. package/dist/commonjs-browser/version.js +0 -15
  302. package/dist/esm-node/max.js +0 -1
  303. package/dist/esm-node/md5.js +0 -10
  304. package/dist/esm-node/native.js +0 -4
  305. package/dist/esm-node/nil.js +0 -1
  306. package/dist/esm-node/parse.js +0 -37
  307. package/dist/esm-node/regex.js +0 -1
  308. package/dist/esm-node/rng.js +0 -10
  309. package/dist/esm-node/sha1.js +0 -10
  310. package/dist/esm-node/stringify.js +0 -31
  311. package/dist/esm-node/v1.js +0 -125
  312. package/dist/esm-node/v1ToV6.js +0 -20
  313. package/dist/esm-node/v3.js +0 -4
  314. package/dist/esm-node/v35.js +0 -55
  315. package/dist/esm-node/v4.js +0 -25
  316. package/dist/esm-node/v5.js +0 -4
  317. package/dist/esm-node/v6.js +0 -32
  318. package/dist/esm-node/v6ToV1.js +0 -20
  319. package/dist/esm-node/v7.js +0 -146
  320. package/dist/esm-node/validate.js +0 -5
  321. package/dist/esm-node/version.js +0 -8
  322. package/dist/index.js +0 -104
  323. package/dist/max.js +0 -7
  324. package/dist/md5-browser.js +0 -200
  325. package/dist/md5.js +0 -17
  326. package/dist/native-browser.js +0 -10
  327. package/dist/native.js +0 -11
  328. package/dist/nil.js +0 -7
  329. package/dist/parse.js +0 -44
  330. package/dist/regex.js +0 -7
  331. package/dist/rng-browser.js +0 -23
  332. package/dist/rng.js +0 -17
  333. package/dist/sha1-browser.js +0 -82
  334. package/dist/sha1.js +0 -17
  335. package/dist/stringify.js +0 -38
  336. package/dist/uuid-bin.js +0 -75
  337. package/dist/v1.js +0 -131
  338. package/dist/v1ToV6.js +0 -26
  339. package/dist/v3.js +0 -11
  340. package/dist/v35.js +0 -63
  341. package/dist/v4.js +0 -32
  342. package/dist/v5.js +0 -11
  343. package/dist/v6.js +0 -38
  344. package/dist/v6ToV1.js +0 -26
  345. package/dist/v7.js +0 -152
  346. package/dist/validate.js +0 -12
  347. package/dist/version.js +0 -15
@@ -0,0 +1,195 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const assert = require("assert");
4
+ const node_test_1 = require("node:test");
5
+ const parse_js_1 = require("../parse.js");
6
+ const stringify_js_1 = require("../stringify.js");
7
+ const v7_js_1 = require("../v7.js");
8
+ const RFC_V7 = '017f22e2-79b0-7cc3-98c4-dc0c0c07398f';
9
+ const RFC_V7_BYTES = (0, parse_js_1.default)('017f22e2-79b0-7cc3-98c4-dc0c0c07398f');
10
+ const RFC_MSECS = 0x17f22e279b0;
11
+ const RFC_SEQ = (0x0cc3 << 20) | (0x98c4dc >> 2);
12
+ const RFC_RANDOM = Uint8Array.of(0x10, 0x91, 0x56, 0xbe, 0xc4, 0xfb, 0x0c, 0xc3, 0x18, 0xc4, 0x6c, 0x0c, 0x0c, 0x07, 0x39, 0x8f);
13
+ (0, node_test_1.describe)('v7', () => {
14
+ (0, node_test_1.default)('subsequent UUIDs are different', () => {
15
+ const id1 = (0, v7_js_1.default)();
16
+ const id2 = (0, v7_js_1.default)();
17
+ assert.ok(id1 !== id2);
18
+ });
19
+ (0, node_test_1.default)('explicit options.random and options.msecs produces expected result', () => {
20
+ const id = (0, v7_js_1.default)({
21
+ random: RFC_RANDOM,
22
+ msecs: RFC_MSECS,
23
+ seq: RFC_SEQ,
24
+ });
25
+ assert.strictEqual(id, RFC_V7);
26
+ });
27
+ (0, node_test_1.default)('explicit options.rng produces expected result', () => {
28
+ const id = (0, v7_js_1.default)({
29
+ rng: () => RFC_RANDOM,
30
+ msecs: RFC_MSECS,
31
+ seq: RFC_SEQ,
32
+ });
33
+ assert.strictEqual(id, RFC_V7);
34
+ });
35
+ (0, node_test_1.default)('explicit options.msecs produces expected result', () => {
36
+ const id = (0, v7_js_1.default)({
37
+ msecs: RFC_MSECS,
38
+ });
39
+ assert.strictEqual(id.indexOf('017f22e2'), 0);
40
+ });
41
+ (0, node_test_1.default)('fills one UUID into a buffer as expected', () => {
42
+ const buffer = new Uint8Array(16);
43
+ const result = (0, v7_js_1.default)({
44
+ random: RFC_RANDOM,
45
+ msecs: RFC_MSECS,
46
+ seq: RFC_SEQ,
47
+ }, buffer);
48
+ (0, stringify_js_1.default)(buffer);
49
+ assert.deepEqual(buffer, RFC_V7_BYTES);
50
+ assert.strictEqual(buffer, result);
51
+ });
52
+ (0, node_test_1.default)('fills two UUIDs into a buffer as expected', () => {
53
+ const buffer = new Uint8Array(32);
54
+ (0, v7_js_1.default)({
55
+ random: RFC_RANDOM,
56
+ msecs: RFC_MSECS,
57
+ seq: RFC_SEQ,
58
+ }, buffer, 0);
59
+ (0, v7_js_1.default)({
60
+ random: RFC_RANDOM,
61
+ msecs: RFC_MSECS,
62
+ seq: RFC_SEQ,
63
+ }, buffer, 16);
64
+ const expected = new Uint8Array(32);
65
+ expected.set(RFC_V7_BYTES);
66
+ expected.set(RFC_V7_BYTES, 16);
67
+ assert.deepEqual(buffer, expected);
68
+ });
69
+ (0, node_test_1.default)('lexicographical sorting is preserved', () => {
70
+ let id;
71
+ let prior;
72
+ let msecs = RFC_MSECS;
73
+ for (let i = 0; i < 20000; ++i) {
74
+ if (i % 1500 === 0) {
75
+ msecs += 1;
76
+ }
77
+ id = (0, v7_js_1.default)({ msecs, seq: i });
78
+ if (prior !== undefined) {
79
+ assert.ok(prior < id, `${prior} < ${id}`);
80
+ }
81
+ prior = id;
82
+ }
83
+ });
84
+ (0, node_test_1.default)('can supply seq', () => {
85
+ let seq = 0x12345;
86
+ let uuid = (0, v7_js_1.default)({
87
+ msecs: RFC_MSECS,
88
+ seq,
89
+ });
90
+ assert.strictEqual(uuid.substr(0, 25), '017f22e2-79b0-7000-848d-1');
91
+ seq = 0x6fffffff;
92
+ uuid = (0, v7_js_1.default)({
93
+ msecs: RFC_MSECS,
94
+ seq,
95
+ });
96
+ assert.strictEqual(uuid.substring(0, 25), '017f22e2-79b0-76ff-bfff-f');
97
+ });
98
+ (0, node_test_1.default)('internal seq is reset upon timestamp change', () => {
99
+ (0, v7_js_1.default)({
100
+ msecs: RFC_MSECS,
101
+ seq: 0x6fffffff,
102
+ });
103
+ const uuid = (0, v7_js_1.default)({
104
+ msecs: RFC_MSECS + 1,
105
+ });
106
+ assert.ok(uuid.indexOf('fff') !== 15);
107
+ });
108
+ (0, node_test_1.default)('v7() state transitions', () => {
109
+ const tests = [
110
+ {
111
+ title: 'new time interval',
112
+ state: { msecs: 1, seq: 123 },
113
+ now: 2,
114
+ expected: {
115
+ msecs: 2,
116
+ seq: 0x6c318c4,
117
+ },
118
+ },
119
+ {
120
+ title: 'same time interval',
121
+ state: { msecs: 1, seq: 123 },
122
+ now: 1,
123
+ expected: {
124
+ msecs: 1,
125
+ seq: 124,
126
+ },
127
+ },
128
+ {
129
+ title: 'same time interval (sequence rollover)',
130
+ state: { msecs: 1, seq: 0xffffffff },
131
+ now: 1,
132
+ expected: {
133
+ msecs: 2,
134
+ seq: 0,
135
+ },
136
+ },
137
+ {
138
+ title: 'time regression',
139
+ state: { msecs: 2, seq: 123 },
140
+ now: 1,
141
+ expected: {
142
+ msecs: 2,
143
+ seq: 124,
144
+ },
145
+ },
146
+ {
147
+ title: 'time regression (sequence rollover)',
148
+ state: { msecs: 2, seq: 0xffffffff },
149
+ now: 1,
150
+ expected: {
151
+ msecs: 3,
152
+ seq: 0,
153
+ },
154
+ },
155
+ ];
156
+ for (const { title, state, now, expected } of tests) {
157
+ assert.deepStrictEqual((0, v7_js_1.updateV7State)(state, now, RFC_RANDOM), expected, `Failed: ${title}`);
158
+ }
159
+ });
160
+ (0, node_test_1.default)('flipping bits changes the result', () => {
161
+ const asBigInt = (buf) => buf.reduce((acc, v) => (acc << 8n) | BigInt(v), 0n);
162
+ const asNumber = (bits, data) => Number(BigInt.asUintN(bits, data));
163
+ const flip = (data, n) => data ^ (1n << BigInt(127 - n));
164
+ const optionsFrom = (data) => {
165
+ const ms = asNumber(48, data >> 80n);
166
+ const hi = asNumber(12, data >> 64n);
167
+ const lo = asNumber(20, data >> 42n);
168
+ const r = BigInt.asUintN(42, data);
169
+ return {
170
+ msecs: ms,
171
+ seq: (hi << 20) | lo,
172
+ random: Uint8Array.from([
173
+ ...Array(10).fill(0),
174
+ ...Array(6)
175
+ .fill(0)
176
+ .map((_, i) => asNumber(8, r >> (BigInt(i) * 8n)))
177
+ .reverse(),
178
+ ]),
179
+ };
180
+ };
181
+ const buf = new Uint8Array(16);
182
+ const data = asBigInt((0, v7_js_1.default)({}, buf));
183
+ const id = (0, stringify_js_1.default)(buf);
184
+ const reserved = [48, 49, 50, 51, 64, 65];
185
+ for (let i = 0; i < 128; ++i) {
186
+ if (reserved.includes(i)) {
187
+ continue;
188
+ }
189
+ const flipped = flip(data, i);
190
+ assert.strictEqual(asBigInt((0, v7_js_1.default)(optionsFrom(flipped), buf)).toString(16), flipped.toString(16), `Unequal uuids at bit ${i}`);
191
+ assert.notStrictEqual((0, stringify_js_1.default)(buf), id);
192
+ }
193
+ });
194
+ });
195
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidjcudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90ZXN0L3Y3LnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxpQ0FBaUM7QUFDakMseUNBQTJDO0FBRTNDLDBDQUFnQztBQUNoQyxrREFBd0M7QUFDeEMsb0NBQTZDO0FBSTdDLE1BQU0sTUFBTSxHQUFHLHNDQUFzQyxDQUFDO0FBQ3RELE1BQU0sWUFBWSxHQUFHLElBQUEsa0JBQUssRUFBQyxzQ0FBc0MsQ0FBQyxDQUFDO0FBQ25FLE1BQU0sU0FBUyxHQUFHLGFBQWEsQ0FBQztBQUdoQyxNQUFNLE9BQU8sR0FBRyxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUMsR0FBRyxDQUFDLFFBQVEsSUFBSSxDQUFDLENBQUMsQ0FBQztBQUdqRCxNQUFNLFVBQVUsR0FBRyxVQUFVLENBQUMsRUFBRSxDQUM5QixJQUFJLEVBQ0osSUFBSSxFQUNKLElBQUksRUFDSixJQUFJLEVBQ0osSUFBSSxFQUNKLElBQUksRUFDSixJQUFJLEVBQ0osSUFBSSxFQUNKLElBQUksRUFDSixJQUFJLEVBQ0osSUFBSSxFQUNKLElBQUksRUFDSixJQUFJLEVBQ0osSUFBSSxFQUNKLElBQUksRUFDSixJQUFJLENBQ0wsQ0FBQztBQUVGLElBQUEsb0JBQVEsRUFBQyxJQUFJLEVBQUUsR0FBRyxFQUFFO0lBQ2xCLElBQUEsbUJBQUksRUFBQyxnQ0FBZ0MsRUFBRSxHQUFHLEVBQUU7UUFDMUMsTUFBTSxHQUFHLEdBQUcsSUFBQSxlQUFFLEdBQUUsQ0FBQztRQUNqQixNQUFNLEdBQUcsR0FBRyxJQUFBLGVBQUUsR0FBRSxDQUFDO1FBQ2pCLE1BQU0sQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDO0lBQ3pCLENBQUMsQ0FBQyxDQUFDO0lBRUgsSUFBQSxtQkFBSSxFQUFDLG9FQUFvRSxFQUFFLEdBQUcsRUFBRTtRQUM5RSxNQUFNLEVBQUUsR0FBRyxJQUFBLGVBQUUs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
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const assert = require("assert");
4
+ const node_test_1 = require("node:test");
5
+ const validate_js_1 = require("../validate.js");
6
+ const test_constants_js_1 = require("./test_constants.js");
7
+ (0, node_test_1.describe)('validate()', () => {
8
+ (0, node_test_1.default)('TESTS cases', () => {
9
+ for (const { value, expectedValidate } of test_constants_js_1.TESTS) {
10
+ assert.strictEqual((0, validate_js_1.default)(value), expectedValidate, `validate(${value}) should be ${expectedValidate}`);
11
+ }
12
+ });
13
+ });
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGUudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90ZXN0L3ZhbGlkYXRlLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxpQ0FBaUM7QUFDakMseUNBQTJDO0FBQzNDLGdEQUFzQztBQUN0QywyREFBNEM7QUFFNUMsSUFBQSxvQkFBUSxFQUFDLFlBQVksRUFBRSxHQUFHLEVBQUU7SUFDMUIsSUFBQSxtQkFBSSxFQUFDLGFBQWEsRUFBRSxHQUFHLEVBQUU7UUFDdkIsS0FBSyxNQUFNLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixFQUFFLElBQUkseUJBQUssRUFBRSxDQUFDO1lBQ2hELE1BQU0sQ0FBQyxXQUFXLENBQ2hCLElBQUEscUJBQVEsRUFBQyxLQUFLLENBQUMsRUFDZixnQkFBZ0IsRUFDaEIsWUFBWSxLQUFLLGVBQWUsZ0JBQWdCLEVBQUUsQ0FDbkQsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIn0=
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const assert = require("assert");
4
+ const node_test_1 = require("node:test");
5
+ const version_js_1 = require("../version.js");
6
+ const test_constants_js_1 = require("./test_constants.js");
7
+ (0, node_test_1.describe)('version()', () => {
8
+ (0, node_test_1.default)('TESTS cases', () => {
9
+ for (const { value, expectedValidate, expectedVersion } of test_constants_js_1.TESTS) {
10
+ try {
11
+ const actualVersion = (0, version_js_1.default)(value);
12
+ assert.ok(expectedValidate, `version(${value}) should throw`);
13
+ assert.strictEqual(actualVersion, expectedVersion);
14
+ }
15
+ catch {
16
+ assert.ok(!expectedValidate, `version(${value}) threw unexpectedly`);
17
+ }
18
+ }
19
+ });
20
+ });
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Rlc3QvdmVyc2lvbi50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsaUNBQWlDO0FBQ2pDLHlDQUEyQztBQUMzQyw4Q0FBb0M7QUFDcEMsMkRBQTRDO0FBRTVDLElBQUEsb0JBQVEsRUFBQyxXQUFXLEVBQUUsR0FBRyxFQUFFO0lBQ3pCLElBQUEsbUJBQUksRUFBQyxhQUFhLEVBQUUsR0FBRyxFQUFFO1FBQ3ZCLEtBQUssTUFBTSxFQUFFLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsSUFBSSx5QkFBSyxFQUFFLENBQUM7WUFDakUsSUFBSSxDQUFDO2dCQUVILE1BQU0sYUFBYSxHQUFHLElBQUEsb0JBQU8sRUFBQyxLQUFLLENBQUMsQ0FBQztnQkFFckMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxXQUFXLEtBQUssZ0JBQWdCLENBQUMsQ0FBQztnQkFDOUQsTUFBTSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsZUFBZSxDQUFDLENBQUM7WUFDckQsQ0FBQztZQUFDLE1BQU0sQ0FBQztnQkFDUCxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsZ0JBQWdCLEVBQUUsV0FBVyxLQUFLLHNCQUFzQixDQUFDLENBQUM7WUFDdkUsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIn0=
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const assert = require("assert");
4
+ const v1_js_1 = require("./v1.js");
5
+ const v3_js_1 = require("./v3.js");
6
+ const v4_js_1 = require("./v4.js");
7
+ const v5_js_1 = require("./v5.js");
8
+ const v6_js_1 = require("./v6.js");
9
+ const v7_js_1 = require("./v7.js");
10
+ function usage() {
11
+ console.log('Usage:');
12
+ console.log(' uuid');
13
+ console.log(' uuid v1');
14
+ console.log(' uuid v3 <name> <namespace uuid>');
15
+ console.log(' uuid v4');
16
+ console.log(' uuid v5 <name> <namespace uuid>');
17
+ console.log(' uuid v6');
18
+ console.log(' uuid v7');
19
+ console.log(' uuid --help');
20
+ console.log('\nNote: <namespace uuid> may be "URL" or "DNS" to use the corresponding UUIDs defined by RFC9562');
21
+ }
22
+ const args = process.argv.slice(2);
23
+ if (args.indexOf('--help') >= 0) {
24
+ usage();
25
+ process.exit(0);
26
+ }
27
+ const version = args.shift() || 'v4';
28
+ switch (version) {
29
+ case 'v1':
30
+ console.log((0, v1_js_1.default)());
31
+ break;
32
+ case 'v3': {
33
+ const name = args.shift();
34
+ let namespace = args.shift();
35
+ assert.ok(name != null, 'v3 name not specified');
36
+ assert.ok(namespace != null, 'v3 namespace not specified');
37
+ if (namespace === 'URL') {
38
+ namespace = v3_js_1.default.URL;
39
+ }
40
+ if (namespace === 'DNS') {
41
+ namespace = v3_js_1.default.DNS;
42
+ }
43
+ console.log((0, v3_js_1.default)(name, namespace));
44
+ break;
45
+ }
46
+ case 'v4':
47
+ console.log((0, v4_js_1.default)());
48
+ break;
49
+ case 'v5': {
50
+ const name = args.shift();
51
+ let namespace = args.shift();
52
+ assert.ok(name != null, 'v5 name not specified');
53
+ assert.ok(namespace != null, 'v5 namespace not specified');
54
+ if (namespace === 'URL') {
55
+ namespace = v5_js_1.default.URL;
56
+ }
57
+ if (namespace === 'DNS') {
58
+ namespace = v5_js_1.default.DNS;
59
+ }
60
+ console.log((0, v5_js_1.default)(name, namespace));
61
+ break;
62
+ }
63
+ case 'v6':
64
+ console.log((0, v6_js_1.default)());
65
+ break;
66
+ case 'v7':
67
+ console.log((0, v7_js_1.default)());
68
+ break;
69
+ default:
70
+ usage();
71
+ process.exit(1);
72
+ }
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXVpZC1iaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXVpZC1iaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxpQ0FBaUM7QUFFakMsbUNBQXlCO0FBQ3pCLG1DQUF5QjtBQUN6QixtQ0FBeUI7QUFDekIsbUNBQXlCO0FBQ3pCLG1DQUF5QjtBQUN6QixtQ0FBeUI7QUFFekIsU0FBUyxLQUFLO0lBQ1osT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN0QixPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3RCLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDekIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO0lBQ2pELE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDekIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO0lBQ2pELE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDekIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN6QixPQUFPLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQzdCLE9BQU8sQ0FBQyxHQUFHLENBQ1Qsa0dBQWtHLENBQ25HLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFFbkMsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBQ2hDLEtBQUssRUFBRSxDQUFDO0lBQ1IsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsQixDQUFDO0FBRUQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLElBQUksQ0FBQztBQUVyQyxRQUFRLE9BQU8sRUFBRSxDQUFDO0lBQ2hCLEtBQUssSUFBSTtRQUNQLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBQSxlQUFFLEdBQUUsQ0FBQyxDQUFDO1FBQ2xCLE1BQU07SUFFUixLQUFLLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDVixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDMUIsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBRTdCLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxJQUFJLElBQUksRUFBRSx1QkFBdUIsQ0FBQyxDQUFDO1FBQ2pELE1BQU0sQ0FBQyxFQUFFLENBQUMsU0FBUyxJQUFJLElBQUksRUFBRSw0QkFBNEIsQ0FBQyxDQUFDO1FBRTNELElBQUksU0FBUyxLQUFLLEtBQUssRUFBRSxDQUFDO1lBQ3hCLFNBQVMsR0FBRyxlQUFFLENBQUMsR0FBRyxDQUFDO1FBQ3JCLENBQUM7UUFFRCxJQUFJLFNBQVMsS0FBSyxLQUFLLEVBQUUsQ0FBQztZQUN4QixTQUFTLEdBQUcsZUFBRSxDQUFDLEdBQUcsQ0FBQztRQUNyQixDQUFDO1FBRUQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFBLGVBQUUsRUFBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUNqQyxNQUFNO0lBQ1IsQ0FBQztJQUVELEtBQUssSUFBSTtRQUNQLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBQSxlQUFFLEdBQUUsQ0FBQyxDQUFDO1FBQ2xCLE1BQU07SUFFUixLQUFLLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDVixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDMUIsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBRTdCLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxJQUFJLElBQUksRUFBRSx1QkFBdUIsQ0FBQyxDQUFDO1FBQ2pELE1BQU0sQ0FBQyxFQUFFLENBQUMsU0FBUyxJQUFJLElBQUksRUFBRSw0QkFBNEIsQ0FBQyxDQUFDO1FBRTNELElBQUksU0FBUyxLQUFLLEtBQUssRUFBRSxDQUFDO1lBQ3hCLFNBQVMsR0FBRyxlQUFFLENBQUMsR0FBRyxDQUFDO1FBQ3JCLENBQUM7UUFFRCxJQUFJLFNBQVMsS0FBSyxLQUFLLEVBQUUsQ0FBQztZQUN4QixTQUFTLEdBQUcsZUFBRSxDQUFDLEdBQUcsQ0FBQztRQUNyQixDQUFDO1FBRUQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFBLGVBQUUsRUFBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUNqQyxNQUFNO0lBQ1IsQ0FBQztJQUVELEtBQUssSUFBSTtRQUNQLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBQSxlQUFFLEdBQUUsQ0FBQyxDQUFDO1FBQ2xCLE1BQU07SUFFUixLQUFLLElBQUk7UUFDUCxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUEsZUFBRSxHQUFFLENBQUMsQ0FBQztRQUNsQixNQUFNO0lBRVI7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQUNSLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDcEIsQ0FBQyJ9
@@ -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(options?: Version1Options, buf?: Uint8Array, offset?: number): Uint8Array;
10
+ export declare function updateV1State(state: V1State, now: number, rnds: Uint8Array): V1State;
11
+ export default v1;
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.updateV1State = updateV1State;
4
+ const rng_js_1 = require("./rng.js");
5
+ const stringify_js_1 = require("./stringify.js");
6
+ const _state = {};
7
+ function v1(options, buf, offset) {
8
+ let bytes;
9
+ const isV6 = options?._v6 ?? false;
10
+ if (options) {
11
+ const optionsKeys = Object.keys(options);
12
+ if (optionsKeys.length === 1 && optionsKeys[0] === '_v6') {
13
+ options = undefined;
14
+ }
15
+ }
16
+ if (options) {
17
+ bytes = v1Bytes(options.random ?? options.rng?.() ?? (0, rng_js_1.default)(), options.msecs, options.nsecs, options.clockseq, options.node, buf, offset);
18
+ }
19
+ else {
20
+ const now = Date.now();
21
+ const rnds = (0, rng_js_1.default)();
22
+ updateV1State(_state, now, rnds);
23
+ bytes = v1Bytes(rnds, _state.msecs, _state.nsecs, isV6 ? undefined : _state.clockseq, isV6 ? undefined : _state.node, buf, offset);
24
+ }
25
+ return buf ? bytes : (0, stringify_js_1.unsafeStringify)(bytes);
26
+ }
27
+ function updateV1State(state, now, rnds) {
28
+ state.msecs ??= -Infinity;
29
+ state.nsecs ??= 0;
30
+ if (now === state.msecs) {
31
+ state.nsecs++;
32
+ if (state.nsecs >= 10000) {
33
+ state.node = undefined;
34
+ state.nsecs = 0;
35
+ }
36
+ }
37
+ else if (now > state.msecs) {
38
+ state.nsecs = 0;
39
+ }
40
+ else if (now < state.msecs) {
41
+ state.node = undefined;
42
+ }
43
+ if (!state.node) {
44
+ state.node = rnds.slice(10, 16);
45
+ state.node[0] |= 0x01;
46
+ state.clockseq = ((rnds[8] << 8) | rnds[9]) & 0x3fff;
47
+ }
48
+ state.msecs = now;
49
+ return state;
50
+ }
51
+ function v1Bytes(rnds, msecs, nsecs, clockseq, node, buf, offset = 0) {
52
+ if (!buf) {
53
+ buf = new Uint8Array(16);
54
+ offset = 0;
55
+ }
56
+ msecs ??= Date.now();
57
+ nsecs ??= 0;
58
+ clockseq ??= ((rnds[8] << 8) | rnds[9]) & 0x3fff;
59
+ node ??= rnds.slice(10, 16);
60
+ msecs += 12219292800000;
61
+ const tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000;
62
+ buf[offset++] = (tl >>> 24) & 0xff;
63
+ buf[offset++] = (tl >>> 16) & 0xff;
64
+ buf[offset++] = (tl >>> 8) & 0xff;
65
+ buf[offset++] = tl & 0xff;
66
+ const tmh = ((msecs / 0x100000000) * 10000) & 0xfffffff;
67
+ buf[offset++] = (tmh >>> 8) & 0xff;
68
+ buf[offset++] = tmh & 0xff;
69
+ buf[offset++] = ((tmh >>> 24) & 0xf) | 0x10;
70
+ buf[offset++] = (tmh >>> 16) & 0xff;
71
+ buf[offset++] = (clockseq >>> 8) | 0x80;
72
+ buf[offset++] = clockseq & 0xff;
73
+ for (let n = 0; n < 6; ++n) {
74
+ buf[offset++] = node[n];
75
+ }
76
+ return buf;
77
+ }
78
+ exports.default = v1;
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidjEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdjEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFnRkEsc0NBa0RDO0FBaklELHFDQUEyQjtBQUMzQixpREFBaUQ7QUFzQmpELE1BQU0sTUFBTSxHQUFZLEVBQUUsQ0FBQztBQUkzQixTQUFTLEVBQUUsQ0FBQyxPQUF5QixFQUFFLEdBQWdCLEVBQUUsTUFBZTtJQUN0RSxJQUFJLEtBQWlCLENBQUM7SUFHdEIsTUFBTSxJQUFJLEdBQUcsT0FBTyxFQUFFLEdBQUcsSUFBSSxLQUFLLENBQUM7SUFDbkMsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUNaLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDekMsSUFBSSxXQUFXLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxXQUFXLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxFQUFFLENBQUM7WUFDekQsT0FBTyxHQUFHLFNBQVMsQ0FBQztRQUN0QixDQUFDO0lBQ0gsQ0FBQztJQUVELElBQUksT0FBTyxFQUFFLENBQUM7UUFFWixLQUFLLEdBQUcsT0FBTyxDQUNiLE9BQU8sQ0FBQyxNQUFNLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLElBQUksSUFBQSxnQkFBRyxHQUFFLEVBQzFDLE9BQU8sQ0FBQyxLQUFLLEVBQ2IsT0FBTyxDQUFDLEtBQUssRUFDYixPQUFPLENBQUMsUUFBUSxFQUNoQixPQUFPLENBQUMsSUFBSSxFQUNaLEdBQUcsRUFDSCxNQUFNLENBQ1AsQ0FBQztJQUNKLENBQUM7U0FBTSxDQUFDO1FBRU4sTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ3ZCLE1BQU0sSUFBSSxHQUFHLElBQUEsZ0JBQUcsR0FBRSxDQUFDO1FBRW5CLGFBQWEsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBTWpDLEtBQUssR0FB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
@@ -0,0 +1,2 @@
1
+ export default function v1ToV6(uuid: string): string;
2
+ export default function v1ToV6(uuid: Uint8Array): Uint8Array;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = v1ToV6;
4
+ const parse_js_1 = require("./parse.js");
5
+ const stringify_js_1 = require("./stringify.js");
6
+ function v1ToV6(uuid) {
7
+ const v1Bytes = typeof uuid === 'string' ? (0, parse_js_1.default)(uuid) : uuid;
8
+ const v6Bytes = _v1ToV6(v1Bytes);
9
+ return typeof uuid === 'string' ? (0, stringify_js_1.unsafeStringify)(v6Bytes) : v6Bytes;
10
+ }
11
+ function _v1ToV6(v1Bytes) {
12
+ 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]);
13
+ }
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidjFUb1Y2LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3YxVG9WNi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWFBLHlCQU1DO0FBbEJELHlDQUErQjtBQUMvQixpREFBaUQ7QUFXakQsU0FBd0IsTUFBTSxDQUFDLElBQXlCO0lBQ3RELE1BQU0sT0FBTyxHQUFHLE9BQU8sSUFBSSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBQSxrQkFBSyxFQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFFOUQsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRWpDLE9BQU8sT0FBTyxJQUFJLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFBLDhCQUFlLEVBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztBQUN2RSxDQUFDO0FBR0QsU0FBUyxPQUFPLENBQUMsT0FBbUI7SUFDbEMsT0FBTyxVQUFVLENBQUMsRUFBRSxDQUNsQixDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEVBQ3ZELENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsRUFDdkQsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUN2RCxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBRXZELENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsRUFDdkQsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUV2RCxJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEVBQzFCLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFFVixPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQ1YsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUNWLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFDWCxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQ1gsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUNYLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFDWCxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQ1gsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUNaLENBQUM7QUFDSixDQUFDIn0=
@@ -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(value: string | Uint8Array, namespace: UUIDTypes, buf?: Uint8Array, offset?: number): Uint8Array;
5
+ declare namespace v3 {
6
+ var DNS: string;
7
+ var URL: string;
8
+ }
9
+ export default v3;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.URL = exports.DNS = void 0;
4
+ const md5_js_1 = require("./md5.js");
5
+ const v35_js_1 = require("./v35.js");
6
+ var v35_js_2 = require("./v35.js");
7
+ Object.defineProperty(exports, "DNS", { enumerable: true, get: function () { return v35_js_2.DNS; } });
8
+ Object.defineProperty(exports, "URL", { enumerable: true, get: function () { return v35_js_2.URL; } });
9
+ function v3(value, namespace, buf, offset) {
10
+ return (0, v35_js_1.default)(0x30, md5_js_1.default, value, namespace, buf, offset);
11
+ }
12
+ v3.DNS = v35_js_1.DNS;
13
+ v3.URL = v35_js_1.URL;
14
+ exports.default = v3;
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidjMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdjMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EscUNBQTJCO0FBQzNCLHFDQUF5QztBQUV6QyxtQ0FBb0M7QUFBM0IsNkZBQUEsR0FBRyxPQUFBO0FBQUUsNkZBQUEsR0FBRyxPQUFBO0FBY2pCLFNBQVMsRUFBRSxDQUFDLEtBQTBCLEVBQUUsU0FBb0IsRUFBRSxHQUFnQixFQUFFLE1BQWU7SUFDN0YsT0FBTyxJQUFBLGdCQUFHLEVBQUMsSUFBSSxFQUFFLGdCQUFHLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDdkQsQ0FBQztBQUVELEVBQUUsQ0FBQyxHQUFHLEdBQUcsWUFBRyxDQUFDO0FBQ2IsRUFBRSxDQUFDLEdBQUcsR0FBRyxZQUFHLENBQUM7QUFFYixrQkFBZSxFQUFFLENBQUMifQ==
@@ -0,0 +1,7 @@
1
+ import { UUIDTypes } from './_types.js';
2
+ export declare function stringToBytes(str: string): Uint8Array;
3
+ export declare const DNS = "6ba7b810-9dad-11d1-80b4-00c04fd430c8";
4
+ export declare const URL = "6ba7b811-9dad-11d1-80b4-00c04fd430c8";
5
+ type HashFunction = (bytes: Uint8Array) => Uint8Array;
6
+ export default function v35(version: 0x30 | 0x50, hash: HashFunction, value: string | Uint8Array, namespace: UUIDTypes, buf?: Uint8Array, offset?: number): string | Uint8Array;
7
+ export {};
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.URL = exports.DNS = void 0;
4
+ exports.stringToBytes = stringToBytes;
5
+ exports.default = v35;
6
+ const parse_js_1 = require("./parse.js");
7
+ const stringify_js_1 = require("./stringify.js");
8
+ function stringToBytes(str) {
9
+ str = unescape(encodeURIComponent(str));
10
+ const bytes = new Uint8Array(str.length);
11
+ for (let i = 0; i < str.length; ++i) {
12
+ bytes[i] = str.charCodeAt(i);
13
+ }
14
+ return bytes;
15
+ }
16
+ exports.DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8';
17
+ exports.URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8';
18
+ function v35(version, hash, value, namespace, buf, offset) {
19
+ const valueBytes = typeof value === 'string' ? stringToBytes(value) : value;
20
+ const namespaceBytes = typeof namespace === 'string' ? (0, parse_js_1.default)(namespace) : namespace;
21
+ if (typeof namespace === 'string') {
22
+ namespace = (0, parse_js_1.default)(namespace);
23
+ }
24
+ if (namespace?.length !== 16) {
25
+ throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)');
26
+ }
27
+ let bytes = new Uint8Array(16 + valueBytes.length);
28
+ bytes.set(namespaceBytes);
29
+ bytes.set(valueBytes, namespaceBytes.length);
30
+ bytes = hash(bytes);
31
+ bytes[6] = (bytes[6] & 0x0f) | version;
32
+ bytes[8] = (bytes[8] & 0x3f) | 0x80;
33
+ if (buf) {
34
+ offset = offset || 0;
35
+ for (let i = 0; i < 16; ++i) {
36
+ buf[offset + i] = bytes[i];
37
+ }
38
+ return buf;
39
+ }
40
+ return (0, stringify_js_1.unsafeStringify)(bytes);
41
+ }
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidjM1LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3YzNS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFJQSxzQ0FXQztBQU9ELHNCQXlDQztBQTlERCx5Q0FBK0I7QUFDL0IsaURBQWlEO0FBRWpELFNBQWdCLGFBQWEsQ0FBQyxHQUFXO0lBRXZDLEdBQUcsR0FBRyxRQUFRLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUV4QyxNQUFNLEtBQUssR0FBRyxJQUFJLFVBQVUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFekMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUNwQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDO0FBRVksUUFBQSxHQUFHLEdBQUcsc0NBQXNDLENBQUM7QUFDN0MsUUFBQSxHQUFHLEdBQUcsc0NBQXNDLENBQUM7QUFJMUQsU0FBd0IsR0FBRyxDQUN6QixPQUFvQixFQUNwQixJQUFrQixFQUNsQixLQUEwQixFQUMxQixTQUFvQixFQUNwQixHQUFnQixFQUNoQixNQUFlO0lBRWYsTUFBTSxVQUFVLEdBQWUsT0FBTyxLQUFLLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUN4RixNQUFNLGNBQWMsR0FBZSxPQUFPLFNBQVMsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUEsa0JBQUssRUFBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBRWhHLElBQUksT0FBTyxTQUFTLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDbEMsU0FBUyxHQUFHLElBQUEsa0JBQUssRUFBQyxTQUFTLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBSSxTQUFTLEVBQUUsTUFBTSxLQUFLLEVBQUUsRUFBRSxDQUFDO1FBQzdCLE1BQU0sU0FBUyxDQUFDLGtFQUFrRSxDQUFDLENBQUM7SUFDdEYsQ0FBQztJQUtELElBQUksS0FBSyxHQUFHLElBQUksVUFBVSxDQUFDLEVBQUUsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbkQsS0FBSyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUMxQixLQUFLLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDN0MsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUVwQixLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsT0FBTyxDQUFDO0lBQ3ZDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUM7SUFFcEMsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNSLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxDQUFDO1FBRXJCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUM1QixHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM3QixDQUFDO1FBRUQsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQsT0FBTyxJQUFBLDhCQUFlLEVBQUMsS0FBSyxDQUFDLENBQUM7QUFDaEMsQ0FBQyJ9
@@ -0,0 +1,4 @@
1
+ import { Version4Options } from './_types.js';
2
+ declare function v4(options?: Version4Options, buf?: undefined, offset?: number): string;
3
+ declare function v4(options?: Version4Options, buf?: Uint8Array, offset?: number): Uint8Array;
4
+ export default v4;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const native_js_1 = require("./native.js");
4
+ const rng_js_1 = require("./rng.js");
5
+ const stringify_js_1 = require("./stringify.js");
6
+ function v4(options, buf, offset) {
7
+ if (native_js_1.default.randomUUID && !buf && !options) {
8
+ return native_js_1.default.randomUUID();
9
+ }
10
+ options = options || {};
11
+ const rnds = options.random || (options.rng || rng_js_1.default)();
12
+ rnds[6] = (rnds[6] & 0x0f) | 0x40;
13
+ rnds[8] = (rnds[8] & 0x3f) | 0x80;
14
+ if (buf) {
15
+ offset = offset || 0;
16
+ for (let i = 0; i < 16; ++i) {
17
+ buf[offset + i] = rnds[i];
18
+ }
19
+ return buf;
20
+ }
21
+ return (0, stringify_js_1.unsafeStringify)(rnds);
22
+ }
23
+ exports.default = v4;
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidjQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdjQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFDQSwyQ0FBaUM7QUFDakMscUNBQTJCO0FBQzNCLGlEQUFpRDtBQUlqRCxTQUFTLEVBQUUsQ0FBQyxPQUF5QixFQUFFLEdBQWdCLEVBQUUsTUFBZTtJQUN0RSxJQUFJLG1CQUFNLENBQUMsVUFBVSxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDMUMsT0FBTyxtQkFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxPQUFPLEdBQUcsT0FBTyxJQUFJLEVBQUUsQ0FBQztJQUV4QixNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxnQkFBRyxDQUFDLEVBQUUsQ0FBQztJQUd0RCxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDO0lBQ2xDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUM7SUFHbEMsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNSLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxDQUFDO1FBRXJCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUM1QixHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM1QixDQUFDO1FBRUQsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQsT0FBTyxJQUFBLDhCQUFlLEVBQUMsSUFBSSxDQUFDLENBQUM7QUFDL0IsQ0FBQztBQUVELGtCQUFlLEVBQUUsQ0FBQyJ9
@@ -0,0 +1,9 @@
1
+ import { UUIDTypes } from './_types.js';
2
+ export { DNS, URL } from './v35.js';
3
+ declare function v5(value: string | Uint8Array, namespace: UUIDTypes, buf?: undefined, offset?: number): string;
4
+ declare function v5(value: string | Uint8Array, namespace: UUIDTypes, buf?: Uint8Array, offset?: number): Uint8Array;
5
+ declare namespace v5 {
6
+ var DNS: string;
7
+ var URL: string;
8
+ }
9
+ export default v5;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.URL = exports.DNS = void 0;
4
+ const sha1_js_1 = require("./sha1.js");
5
+ const v35_js_1 = require("./v35.js");
6
+ var v35_js_2 = require("./v35.js");
7
+ Object.defineProperty(exports, "DNS", { enumerable: true, get: function () { return v35_js_2.DNS; } });
8
+ Object.defineProperty(exports, "URL", { enumerable: true, get: function () { return v35_js_2.URL; } });
9
+ function v5(value, namespace, buf, offset) {
10
+ return (0, v35_js_1.default)(0x50, sha1_js_1.default, value, namespace, buf, offset);
11
+ }
12
+ v5.DNS = v35_js_1.DNS;
13
+ v5.URL = v35_js_1.URL;
14
+ exports.default = v5;
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidjUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdjUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsdUNBQTZCO0FBQzdCLHFDQUF5QztBQUV6QyxtQ0FBb0M7QUFBM0IsNkZBQUEsR0FBRyxPQUFBO0FBQUUsNkZBQUEsR0FBRyxPQUFBO0FBY2pCLFNBQVMsRUFBRSxDQUFDLEtBQTBCLEVBQUUsU0FBb0IsRUFBRSxHQUFnQixFQUFFLE1BQWU7SUFDN0YsT0FBTyxJQUFBLGdCQUFHLEVBQUMsSUFBSSxFQUFFLGlCQUFJLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDeEQsQ0FBQztBQUVELEVBQUUsQ0FBQyxHQUFHLEdBQUcsWUFBRyxDQUFDO0FBQ2IsRUFBRSxDQUFDLEdBQUcsR0FBRyxZQUFHLENBQUM7QUFFYixrQkFBZSxFQUFFLENBQUMifQ==
@@ -0,0 +1,4 @@
1
+ import { Version6Options } from './_types.js';
2
+ declare function v6(options?: Version6Options, buf?: undefined, offset?: number): string;
3
+ declare function v6(options?: Version6Options, buf?: Uint8Array, offset?: number): Uint8Array;
4
+ export default v6;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const stringify_js_1 = require("./stringify.js");
4
+ const v1_js_1 = require("./v1.js");
5
+ const v1ToV6_js_1 = require("./v1ToV6.js");
6
+ function v6(options, buf, offset) {
7
+ options ??= {};
8
+ offset ??= 0;
9
+ let bytes = (0, v1_js_1.default)({ ...options, _v6: true }, new Uint8Array(16));
10
+ bytes = (0, v1ToV6_js_1.default)(bytes);
11
+ if (buf) {
12
+ for (let i = 0; i < 16; i++) {
13
+ buf[offset + i] = bytes[i];
14
+ }
15
+ return buf;
16
+ }
17
+ return (0, stringify_js_1.unsafeStringify)(bytes);
18
+ }
19
+ exports.default = v6;
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidjYuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdjYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFDQSxpREFBaUQ7QUFDakQsbUNBQXlCO0FBQ3pCLDJDQUFpQztBQUlqQyxTQUFTLEVBQUUsQ0FBQyxPQUF5QixFQUFFLEdBQWdCLEVBQUUsTUFBZTtJQUN0RSxPQUFPLEtBQUssRUFBRSxDQUFDO0lBQ2YsTUFBTSxLQUFLLENBQUMsQ0FBQztJQUtiLElBQUksS0FBSyxHQUFHLElBQUEsZUFBRSxFQUFDLEVBQUUsR0FBRyxPQUFPLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFLElBQUksVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFHOUQsS0FBSyxHQUFHLElBQUEsbUJBQU0sRUFBQyxLQUFLLENBQUMsQ0FBQztJQUd0QixJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ1IsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQzVCLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzdCLENBQUM7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRCxPQUFPLElBQUEsOEJBQWUsRUFBQyxLQUFLLENBQUMsQ0FBQztBQUNoQyxDQUFDO0FBRUQsa0JBQWUsRUFBRSxDQUFDIn0=
@@ -0,0 +1,2 @@
1
+ export default function v6ToV1(uuid: string): string;
2
+ export default function v6ToV1(uuid: Uint8Array): Uint8Array;