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
package/dist/v7.js DELETED
@@ -1,152 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _rng = _interopRequireDefault(require("./rng.js"));
8
- var _stringify = require("./stringify.js");
9
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
- /**
11
- * UUID V7 - Unix Epoch time-based UUID
12
- *
13
- * The IETF has published RFC9562, introducing 3 new UUID versions (6,7,8). This
14
- * implementation of V7 is based on the accepted, though not yet approved,
15
- * revisions.
16
- *
17
- * RFC 9562:https://www.rfc-editor.org/rfc/rfc9562.html Universally Unique
18
- * IDentifiers (UUIDs)
19
-
20
- *
21
- * Sample V7 value:
22
- * https://www.rfc-editor.org/rfc/rfc9562.html#name-example-of-a-uuidv7-value
23
- *
24
- * Monotonic Bit Layout: RFC rfc9562.6.2 Method 1, Dedicated Counter Bits ref:
25
- * https://www.rfc-editor.org/rfc/rfc9562.html#section-6.2-5.1
26
- *
27
- * 0 1 2 3 0 1 2 3 4 5 6
28
- * 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
29
- * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
30
- * | unix_ts_ms |
31
- * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
32
- * | unix_ts_ms | ver | seq_hi |
33
- * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
34
- * |var| seq_low | rand |
35
- * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
36
- * | rand |
37
- * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
38
- *
39
- * seq is a 31 bit serialized counter; comprised of 12 bit seq_hi and 19 bit
40
- * seq_low, and randomly initialized upon timestamp change. 31 bit counter size
41
- * was selected as any bitwise operations in node are done as _signed_ 32 bit
42
- * ints. we exclude the sign bit.
43
- */
44
-
45
- let _seqLow = null;
46
- let _seqHigh = null;
47
- let _msecs = 0;
48
- function v7(options, buf, offset) {
49
- options = options || {};
50
-
51
- // initialize buffer and pointer
52
- let i = buf && offset || 0;
53
- const b = buf || new Uint8Array(16);
54
-
55
- // rnds is Uint8Array(16) filled with random bytes
56
- const rnds = options.random || (options.rng || _rng.default)();
57
-
58
- // milliseconds since unix epoch, 1970-01-01 00:00
59
- const msecs = options.msecs !== undefined ? options.msecs : Date.now();
60
-
61
- // seq is user provided 31 bit counter
62
- let seq = options.seq !== undefined ? options.seq : null;
63
-
64
- // initialize local seq high/low parts
65
- let seqHigh = _seqHigh;
66
- let seqLow = _seqLow;
67
-
68
- // check if clock has advanced and user has not provided msecs
69
- if (msecs > _msecs && options.msecs === undefined) {
70
- _msecs = msecs;
71
-
72
- // unless user provided seq, reset seq parts
73
- if (seq !== null) {
74
- seqHigh = null;
75
- seqLow = null;
76
- }
77
- }
78
-
79
- // if we have a user provided seq
80
- if (seq !== null) {
81
- // trim provided seq to 31 bits of value, avoiding overflow
82
- if (seq > 0x7fffffff) {
83
- seq = 0x7fffffff;
84
- }
85
-
86
- // split provided seq into high/low parts
87
- seqHigh = seq >>> 19 & 0xfff;
88
- seqLow = seq & 0x7ffff;
89
- }
90
-
91
- // randomly initialize seq
92
- if (seqHigh === null || seqLow === null) {
93
- seqHigh = rnds[6] & 0x7f;
94
- seqHigh = seqHigh << 8 | rnds[7];
95
- seqLow = rnds[8] & 0x3f; // pad for var
96
- seqLow = seqLow << 8 | rnds[9];
97
- seqLow = seqLow << 5 | rnds[10] >>> 3;
98
- }
99
-
100
- // increment seq if within msecs window
101
- if (msecs + 10000 > _msecs && seq === null) {
102
- if (++seqLow > 0x7ffff) {
103
- seqLow = 0;
104
- if (++seqHigh > 0xfff) {
105
- seqHigh = 0;
106
-
107
- // increment internal _msecs. this allows us to continue incrementing
108
- // while staying monotonic. Note, once we hit 10k milliseconds beyond system
109
- // clock, we will reset breaking monotonicity (after (2^31)*10000 generations)
110
- _msecs++;
111
- }
112
- }
113
- } else {
114
- // resetting; we have advanced more than
115
- // 10k milliseconds beyond system clock
116
- _msecs = msecs;
117
- }
118
- _seqHigh = seqHigh;
119
- _seqLow = seqLow;
120
-
121
- // [bytes 0-5] 48 bits of local timestamp
122
- b[i++] = _msecs / 0x10000000000 & 0xff;
123
- b[i++] = _msecs / 0x100000000 & 0xff;
124
- b[i++] = _msecs / 0x1000000 & 0xff;
125
- b[i++] = _msecs / 0x10000 & 0xff;
126
- b[i++] = _msecs / 0x100 & 0xff;
127
- b[i++] = _msecs & 0xff;
128
-
129
- // [byte 6] - set 4 bits of version (7) with first 4 bits seq_hi
130
- b[i++] = seqHigh >>> 4 & 0x0f | 0x70;
131
-
132
- // [byte 7] remaining 8 bits of seq_hi
133
- b[i++] = seqHigh & 0xff;
134
-
135
- // [byte 8] - variant (2 bits), first 6 bits seq_low
136
- b[i++] = seqLow >>> 13 & 0x3f | 0x80;
137
-
138
- // [byte 9] 8 bits seq_low
139
- b[i++] = seqLow >>> 5 & 0xff;
140
-
141
- // [byte 10] remaining 5 bits seq_low, 3 bits random
142
- b[i++] = seqLow << 3 & 0xff | rnds[10] & 0x07;
143
-
144
- // [bytes 11-15] always random
145
- b[i++] = rnds[11];
146
- b[i++] = rnds[12];
147
- b[i++] = rnds[13];
148
- b[i++] = rnds[14];
149
- b[i++] = rnds[15];
150
- return buf || (0, _stringify.unsafeStringify)(b);
151
- }
152
- var _default = exports.default = v7;
package/dist/validate.js DELETED
@@ -1,12 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _regex = _interopRequireDefault(require("./regex.js"));
8
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
9
- function validate(uuid) {
10
- return typeof uuid === 'string' && _regex.default.test(uuid);
11
- }
12
- var _default = exports.default = validate;
package/dist/version.js DELETED
@@ -1,15 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _validate = _interopRequireDefault(require("./validate.js"));
8
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
9
- function version(uuid) {
10
- if (!(0, _validate.default)(uuid)) {
11
- throw TypeError('Invalid UUID');
12
- }
13
- return parseInt(uuid.slice(14, 15), 16);
14
- }
15
- var _default = exports.default = version;