From 02ccca1bcfebe7a7fadebdb2dea3aa807a20ba39 Mon Sep 17 00:00:00 2001 From: marlon-erler Date: Tue, 22 Sep 2026 21:41:28 +0200 Subject: [PATCH] copy bloatless-react --- bun.lockb | Bin 14022 -> 13266 bytes dist/index.css | 9 + dist/index.js | 77 +++- node_modules/.bin/uuid | 2 +- node_modules/bloatless-react | 1 - node_modules/uuid/CHANGELOG.md | 292 ------------- node_modules/uuid/CONTRIBUTING.md | 18 - node_modules/uuid/README.md | 297 +++++--------- node_modules/uuid/dist-node/bin/uuid | 2 + .../{dist/esm-browser => dist-node}/index.js | 2 +- node_modules/uuid/dist-node/max.js | 1 + node_modules/uuid/dist-node/md5.js | 11 + node_modules/uuid/dist-node/nil.js | 1 + node_modules/uuid/dist-node/parse.js | 9 + .../{dist/esm-browser => dist-node}/regex.js | 2 +- node_modules/uuid/dist-node/rng.js | 4 + node_modules/uuid/dist-node/sha1.js | 11 + node_modules/uuid/dist-node/stringify.js | 35 ++ node_modules/uuid/dist-node/types.js | 1 + node_modules/uuid/dist-node/uuid-bin.js | 70 ++++ node_modules/uuid/dist-node/v1.js | 87 ++++ node_modules/uuid/dist-node/v1ToV6.js | 10 + node_modules/uuid/dist-node/v3.js | 9 + node_modules/uuid/dist-node/v35.js | 39 ++ node_modules/uuid/dist-node/v4.js | 29 ++ node_modules/uuid/dist-node/v5.js | 9 + node_modules/uuid/dist-node/v6.js | 20 + node_modules/uuid/dist-node/v6ToV1.js | 10 + node_modules/uuid/dist-node/v7.js | 68 ++++ node_modules/uuid/dist-node/validate.js | 5 + node_modules/uuid/dist-node/version.js | 8 + node_modules/uuid/dist/bin/uuid | 2 - .../uuid/dist/commonjs-browser/index.js | 104 ----- .../uuid/dist/commonjs-browser/max.js | 7 - .../uuid/dist/commonjs-browser/md5.js | 200 --------- .../uuid/dist/commonjs-browser/native.js | 10 - .../uuid/dist/commonjs-browser/nil.js | 7 - .../uuid/dist/commonjs-browser/parse.js | 44 -- .../uuid/dist/commonjs-browser/regex.js | 7 - .../uuid/dist/commonjs-browser/rng.js | 23 -- .../uuid/dist/commonjs-browser/sha1.js | 82 ---- .../uuid/dist/commonjs-browser/stringify.js | 38 -- node_modules/uuid/dist/commonjs-browser/v1.js | 131 ------ .../uuid/dist/commonjs-browser/v1ToV6.js | 26 -- node_modules/uuid/dist/commonjs-browser/v3.js | 11 - .../uuid/dist/commonjs-browser/v35.js | 63 --- node_modules/uuid/dist/commonjs-browser/v4.js | 32 -- node_modules/uuid/dist/commonjs-browser/v5.js | 11 - node_modules/uuid/dist/commonjs-browser/v6.js | 42 -- .../uuid/dist/commonjs-browser/v6ToV1.js | 26 -- node_modules/uuid/dist/commonjs-browser/v7.js | 152 ------- .../uuid/dist/commonjs-browser/validate.js | 12 - .../uuid/dist/commonjs-browser/version.js | 15 - node_modules/uuid/dist/esm-browser/max.js | 1 - node_modules/uuid/dist/esm-browser/md5.js | 194 --------- node_modules/uuid/dist/esm-browser/native.js | 4 - node_modules/uuid/dist/esm-browser/nil.js | 1 - node_modules/uuid/dist/esm-browser/parse.js | 37 -- node_modules/uuid/dist/esm-browser/rng.js | 17 - node_modules/uuid/dist/esm-browser/sha1.js | 76 ---- .../uuid/dist/esm-browser/stringify.js | 31 -- node_modules/uuid/dist/esm-browser/v1.js | 125 ------ node_modules/uuid/dist/esm-browser/v1ToV6.js | 20 - node_modules/uuid/dist/esm-browser/v3.js | 4 - node_modules/uuid/dist/esm-browser/v35.js | 55 --- node_modules/uuid/dist/esm-browser/v4.js | 25 -- node_modules/uuid/dist/esm-browser/v5.js | 4 - node_modules/uuid/dist/esm-browser/v6.js | 36 -- node_modules/uuid/dist/esm-browser/v6ToV1.js | 20 - node_modules/uuid/dist/esm-browser/v7.js | 146 ------- .../uuid/dist/esm-browser/validate.js | 5 - node_modules/uuid/dist/esm-browser/version.js | 8 - node_modules/uuid/dist/esm-node/max.js | 1 - node_modules/uuid/dist/esm-node/md5.js | 10 - node_modules/uuid/dist/esm-node/native.js | 4 - node_modules/uuid/dist/esm-node/nil.js | 1 - node_modules/uuid/dist/esm-node/parse.js | 37 -- node_modules/uuid/dist/esm-node/regex.js | 1 - node_modules/uuid/dist/esm-node/rng.js | 10 - node_modules/uuid/dist/esm-node/sha1.js | 10 - node_modules/uuid/dist/esm-node/stringify.js | 31 -- node_modules/uuid/dist/esm-node/v1.js | 125 ------ node_modules/uuid/dist/esm-node/v1ToV6.js | 20 - node_modules/uuid/dist/esm-node/v3.js | 4 - node_modules/uuid/dist/esm-node/v35.js | 55 --- node_modules/uuid/dist/esm-node/v4.js | 25 -- node_modules/uuid/dist/esm-node/v5.js | 4 - node_modules/uuid/dist/esm-node/v6.js | 32 -- node_modules/uuid/dist/esm-node/v6ToV1.js | 20 - node_modules/uuid/dist/esm-node/v7.js | 146 ------- node_modules/uuid/dist/esm-node/validate.js | 5 - node_modules/uuid/dist/esm-node/version.js | 8 - .../dist/{esm-node/index.js => index.d.ts} | 3 +- node_modules/uuid/dist/index.js | 118 +----- node_modules/uuid/dist/max.d.ts | 2 + node_modules/uuid/dist/max.js | 8 +- node_modules/uuid/dist/md5-browser.js | 200 --------- node_modules/uuid/dist/md5.d.ts | 2 + node_modules/uuid/dist/md5.js | 148 ++++++- node_modules/uuid/dist/native-browser.js | 10 - node_modules/uuid/dist/native.js | 11 - node_modules/uuid/dist/nil.d.ts | 2 + node_modules/uuid/dist/nil.js | 8 +- node_modules/uuid/dist/parse.d.ts | 3 + node_modules/uuid/dist/parse.js | 49 +-- node_modules/uuid/dist/regex.d.ts | 2 + node_modules/uuid/dist/regex.js | 8 +- node_modules/uuid/dist/rng-browser.js | 23 -- node_modules/uuid/dist/rng.d.ts | 1 + node_modules/uuid/dist/rng.js | 21 +- node_modules/uuid/dist/sha1-browser.js | 82 ---- node_modules/uuid/dist/sha1.d.ts | 2 + node_modules/uuid/dist/sha1.js | 85 +++- node_modules/uuid/dist/stringify.d.ts | 3 + node_modules/uuid/dist/stringify.js | 61 ++- node_modules/uuid/dist/types.d.ts | 22 + node_modules/uuid/dist/types.js | 1 + node_modules/uuid/dist/uuid-bin.d.ts | 1 + node_modules/uuid/dist/uuid-bin.js | 127 +++--- node_modules/uuid/dist/v1.d.ts | 11 + node_modules/uuid/dist/v1.js | 208 ++++------ node_modules/uuid/dist/v1ToV6.d.ts | 3 + node_modules/uuid/dist/v1ToV6.js | 34 +- node_modules/uuid/dist/v3.d.ts | 9 + node_modules/uuid/dist/v3.js | 20 +- node_modules/uuid/dist/v35.d.ts | 7 + node_modules/uuid/dist/v35.js | 90 ++-- node_modules/uuid/dist/v4.d.ts | 4 + node_modules/uuid/dist/v4.js | 55 ++- node_modules/uuid/dist/v5.d.ts | 9 + node_modules/uuid/dist/v5.js | 20 +- node_modules/uuid/dist/v6.d.ts | 4 + node_modules/uuid/dist/v6.js | 56 +-- node_modules/uuid/dist/v6ToV1.d.ts | 2 + node_modules/uuid/dist/v6ToV1.js | 32 +- node_modules/uuid/dist/v7.d.ts | 9 + node_modules/uuid/dist/v7.js | 212 +++------- node_modules/uuid/dist/validate.d.ts | 2 + node_modules/uuid/dist/validate.js | 13 +- node_modules/uuid/dist/version.d.ts | 2 + node_modules/uuid/dist/version.js | 19 +- node_modules/uuid/package.json | 155 +++---- node_modules/uuid/wrapper.mjs | 15 - package.json | 3 +- src/View/.chatPage.css.swp | Bin 16384 -> 0 bytes src/View/ChatPages/.boardPage.tsx.swp | Bin 16384 -> 0 bytes src/View/Modals/.taskSettingsModal.tsx.swp | Bin 20480 -> 0 bytes src/View/Modals/taskSettingsModal.tsx | 1 - src/ViewModel/Global/coreViewModel.ts | 2 +- src/ViewModel/Pages/.taskViewModel.ts.swp | Bin 32768 -> 0 bytes src/react.ts | 385 ++++++++++++++++++ 151 files changed, 1758 insertions(+), 4169 deletions(-) delete mode 120000 node_modules/bloatless-react delete mode 100644 node_modules/uuid/CHANGELOG.md delete mode 100644 node_modules/uuid/CONTRIBUTING.md create mode 100755 node_modules/uuid/dist-node/bin/uuid rename node_modules/uuid/{dist/esm-browser => dist-node}/index.js (91%) create mode 100644 node_modules/uuid/dist-node/max.js create mode 100644 node_modules/uuid/dist-node/md5.js create mode 100644 node_modules/uuid/dist-node/nil.js create mode 100644 node_modules/uuid/dist-node/parse.js rename node_modules/uuid/{dist/esm-browser => dist-node}/regex.js (74%) create mode 100644 node_modules/uuid/dist-node/rng.js create mode 100644 node_modules/uuid/dist-node/sha1.js create mode 100644 node_modules/uuid/dist-node/stringify.js create mode 100644 node_modules/uuid/dist-node/types.js create mode 100644 node_modules/uuid/dist-node/uuid-bin.js create mode 100644 node_modules/uuid/dist-node/v1.js create mode 100644 node_modules/uuid/dist-node/v1ToV6.js create mode 100644 node_modules/uuid/dist-node/v3.js create mode 100644 node_modules/uuid/dist-node/v35.js create mode 100644 node_modules/uuid/dist-node/v4.js create mode 100644 node_modules/uuid/dist-node/v5.js create mode 100644 node_modules/uuid/dist-node/v6.js create mode 100644 node_modules/uuid/dist-node/v6ToV1.js create mode 100644 node_modules/uuid/dist-node/v7.js create mode 100644 node_modules/uuid/dist-node/validate.js create mode 100644 node_modules/uuid/dist-node/version.js delete mode 100755 node_modules/uuid/dist/bin/uuid delete mode 100644 node_modules/uuid/dist/commonjs-browser/index.js delete mode 100644 node_modules/uuid/dist/commonjs-browser/max.js delete mode 100644 node_modules/uuid/dist/commonjs-browser/md5.js delete mode 100644 node_modules/uuid/dist/commonjs-browser/native.js delete mode 100644 node_modules/uuid/dist/commonjs-browser/nil.js delete mode 100644 node_modules/uuid/dist/commonjs-browser/parse.js delete mode 100644 node_modules/uuid/dist/commonjs-browser/regex.js delete mode 100644 node_modules/uuid/dist/commonjs-browser/rng.js delete mode 100644 node_modules/uuid/dist/commonjs-browser/sha1.js delete mode 100644 node_modules/uuid/dist/commonjs-browser/stringify.js delete mode 100644 node_modules/uuid/dist/commonjs-browser/v1.js delete mode 100644 node_modules/uuid/dist/commonjs-browser/v1ToV6.js delete mode 100644 node_modules/uuid/dist/commonjs-browser/v3.js delete mode 100644 node_modules/uuid/dist/commonjs-browser/v35.js delete mode 100644 node_modules/uuid/dist/commonjs-browser/v4.js delete mode 100644 node_modules/uuid/dist/commonjs-browser/v5.js delete mode 100644 node_modules/uuid/dist/commonjs-browser/v6.js delete mode 100644 node_modules/uuid/dist/commonjs-browser/v6ToV1.js delete mode 100644 node_modules/uuid/dist/commonjs-browser/v7.js delete mode 100644 node_modules/uuid/dist/commonjs-browser/validate.js delete mode 100644 node_modules/uuid/dist/commonjs-browser/version.js delete mode 100644 node_modules/uuid/dist/esm-browser/max.js delete mode 100644 node_modules/uuid/dist/esm-browser/md5.js delete mode 100644 node_modules/uuid/dist/esm-browser/native.js delete mode 100644 node_modules/uuid/dist/esm-browser/nil.js delete mode 100644 node_modules/uuid/dist/esm-browser/parse.js delete mode 100644 node_modules/uuid/dist/esm-browser/rng.js delete mode 100644 node_modules/uuid/dist/esm-browser/sha1.js delete mode 100644 node_modules/uuid/dist/esm-browser/stringify.js delete mode 100644 node_modules/uuid/dist/esm-browser/v1.js delete mode 100644 node_modules/uuid/dist/esm-browser/v1ToV6.js delete mode 100644 node_modules/uuid/dist/esm-browser/v3.js delete mode 100644 node_modules/uuid/dist/esm-browser/v35.js delete mode 100644 node_modules/uuid/dist/esm-browser/v4.js delete mode 100644 node_modules/uuid/dist/esm-browser/v5.js delete mode 100644 node_modules/uuid/dist/esm-browser/v6.js delete mode 100644 node_modules/uuid/dist/esm-browser/v6ToV1.js delete mode 100644 node_modules/uuid/dist/esm-browser/v7.js delete mode 100644 node_modules/uuid/dist/esm-browser/validate.js delete mode 100644 node_modules/uuid/dist/esm-browser/version.js delete mode 100644 node_modules/uuid/dist/esm-node/max.js delete mode 100644 node_modules/uuid/dist/esm-node/md5.js delete mode 100644 node_modules/uuid/dist/esm-node/native.js delete mode 100644 node_modules/uuid/dist/esm-node/nil.js delete mode 100644 node_modules/uuid/dist/esm-node/parse.js delete mode 100644 node_modules/uuid/dist/esm-node/regex.js delete mode 100644 node_modules/uuid/dist/esm-node/rng.js delete mode 100644 node_modules/uuid/dist/esm-node/sha1.js delete mode 100644 node_modules/uuid/dist/esm-node/stringify.js delete mode 100644 node_modules/uuid/dist/esm-node/v1.js delete mode 100644 node_modules/uuid/dist/esm-node/v1ToV6.js delete mode 100644 node_modules/uuid/dist/esm-node/v3.js delete mode 100644 node_modules/uuid/dist/esm-node/v35.js delete mode 100644 node_modules/uuid/dist/esm-node/v4.js delete mode 100644 node_modules/uuid/dist/esm-node/v5.js delete mode 100644 node_modules/uuid/dist/esm-node/v6.js delete mode 100644 node_modules/uuid/dist/esm-node/v6ToV1.js delete mode 100644 node_modules/uuid/dist/esm-node/v7.js delete mode 100644 node_modules/uuid/dist/esm-node/validate.js delete mode 100644 node_modules/uuid/dist/esm-node/version.js rename node_modules/uuid/dist/{esm-node/index.js => index.d.ts} (87%) create mode 100644 node_modules/uuid/dist/max.d.ts delete mode 100644 node_modules/uuid/dist/md5-browser.js create mode 100644 node_modules/uuid/dist/md5.d.ts delete mode 100644 node_modules/uuid/dist/native-browser.js delete mode 100644 node_modules/uuid/dist/native.js create mode 100644 node_modules/uuid/dist/nil.d.ts create mode 100644 node_modules/uuid/dist/parse.d.ts create mode 100644 node_modules/uuid/dist/regex.d.ts delete mode 100644 node_modules/uuid/dist/rng-browser.js create mode 100644 node_modules/uuid/dist/rng.d.ts delete mode 100644 node_modules/uuid/dist/sha1-browser.js create mode 100644 node_modules/uuid/dist/sha1.d.ts create mode 100644 node_modules/uuid/dist/stringify.d.ts create mode 100644 node_modules/uuid/dist/types.d.ts create mode 100644 node_modules/uuid/dist/types.js create mode 100644 node_modules/uuid/dist/uuid-bin.d.ts create mode 100644 node_modules/uuid/dist/v1.d.ts create mode 100644 node_modules/uuid/dist/v1ToV6.d.ts create mode 100644 node_modules/uuid/dist/v3.d.ts create mode 100644 node_modules/uuid/dist/v35.d.ts create mode 100644 node_modules/uuid/dist/v4.d.ts create mode 100644 node_modules/uuid/dist/v5.d.ts create mode 100644 node_modules/uuid/dist/v6.d.ts create mode 100644 node_modules/uuid/dist/v6ToV1.d.ts create mode 100644 node_modules/uuid/dist/v7.d.ts create mode 100644 node_modules/uuid/dist/validate.d.ts create mode 100644 node_modules/uuid/dist/version.d.ts delete mode 100644 node_modules/uuid/wrapper.mjs delete mode 100644 src/View/.chatPage.css.swp delete mode 100644 src/View/ChatPages/.boardPage.tsx.swp delete mode 100644 src/View/Modals/.taskSettingsModal.tsx.swp delete mode 100644 src/ViewModel/Pages/.taskViewModel.ts.swp create mode 100755 src/react.ts diff --git a/bun.lockb b/bun.lockb index 143adbbbf74df313c16cdc906d528042bd971c3e..261ba835e5a20f5d84c927b4dd2e148e7c5ac4df 100755 GIT binary patch delta 1994 zcmc&#jZd3J7{7bl(hn%3I2~_G*8=MYR9F#;GK5WL+F8^o&J3rUp=)QW!Uk)TW|>l> z1O~DVo&*v!b4?bRY$kS?MZicMMv) z3i`KOI&6jMhK#XTB*X4Nv*wy+xA40Gu36>wfa6a1Rtqq_w>CEyJKYrvpkV>3L*P^H%p;uS`D z49c}WIwattfEIXE$3{WqMzm0p>E*uFLVKo{T3|fW#|`R$%kpxUb>Ppc@5sQlF=OT5 zoQLhTLhpad9YTs*km#R0c&La~XfaOb7n=Xemyq(`$}hlH%kr@=p|v8gVue(8bkoex z)EA=*-@o}me(AL>T-91?W&CGCgr1MDW z(t({rkrzfI=K@#M(_^7k8ZDUl26!(|4>7)hu7zoSJA`>X*o+O-3T?){ntIH~?jfYO z)v!sS9587#GuW4jePbzeJ_p;(R?S5nAvx(N_t1c>cp8OXjFP0XTX{PCv|&SBjv9t32k()j^;7jD zL*5@-K9v2E_~zZbS>E_rRY>+MfZoY_B(Yw6d5^bz@at*WFX%aLY)P)Og7#iX${qte z>Eun4{zJ{RqG$VtyJdeh9Kn&L_u`nzJu$zudxz|oUX;eVSy#T6a0y42UZ7Ln z$jn&qOSD_YGD%E2bD*vE=14+7MO#lD@ delta 2395 zcmcgueNa?Y6u`B2%2y1G}O4uwPWe_2CzUtzdvhosgg(F0Z^ETw6$cIF(7kRD7ZQ{KNawA z0rR0JlC8_IgP}|-C&VMHH5W7rFWn>H4FOZZp=7Hd@<$YecriqbSQud3vsskITyI?rhDu_56cX9kZIYN68hr3pYOUEH7FsOKI=h&{(lGuq}sswaPF*>!v8+;?91uJxs(u3ND?HneWG9!T5-om$=GxseSC4bx{# zxNMmD#{RFq*uQB%?TUFgzrGnJtkmb6y+;n)dV97kys=v|{!~)?;TOAF`&#afs%^&$l^8i237-oV7ZV(*M8@WZQrgnW{1T^r)%B5l{u1^AcqRZAl z5FEH1NkCyoB7M)&{JeO}R5PqkvO?>H7K{1z%_TLUyV7ogsI;mToRLWa))YTv_OrxUp$5DOq&mFMC3EJ!mXEwS(2d z>!n_M{(fEjtNUg^$g2?MS$L<^n+wKVvJM-r`7mUcy0=<8zWcpH%g==@^>7eZmb!iU z{JjI;2adZ#_BObN&%XkHS@>)z(WMrOr{u^IPG)J9&+jkuRsC3$QE=3Hd^1|`@bLHu zcHfL-osy&lGa)w(3X&&6Lvlu(0n>^716eoHd6BM&>R&3l7_#BF%h<&_Kk<-Y3b z^eW$ih5nk7iu6TQl@)$pMM+6nwI61uIN+uusi`p~Q8D5PXM4K+2~B!1(`^3IS|~`# QkqNI2ZmY5BTgL$X2bk~Ma{vGU diff --git a/dist/index.css b/dist/index.css index 1dd10576..52caff98 100644 --- a/dist/index.css +++ b/dist/index.css @@ -488,6 +488,15 @@ body[showing-chat] #chat-page-wrapper { flex: 1; } } +.modal.task-settings:not([full-description]) :is(#fullscreen-exit, #fullscreen-main) { + display: none; +} +.modal.task-settings[full-description] :is(#controls, #standard-main) { + display: none; +} +.modal.task-settings[full-description] > div { + height: 100%; +} /* src/View/ChatPages/taskPage.css */ #chat-page > div > #main > #task-page > .pane-wrapper > .pane > .main-content { diff --git a/dist/index.js b/dist/index.js index 3cc4a026..83ba030e 100644 --- a/dist/index.js +++ b/dist/index.js @@ -311,6 +311,7 @@ cancelButton: "Cancel", closeButton: "Close", deleteButton: "Delete", + exitButton: "Exit", continueButton: "Continue", confirmButton: "Confirm", saveButton: "Save", @@ -508,6 +509,7 @@ taskStatusLabel: "Status", taskPriorityLabel: "Priority", taskDescriptionLabel: "Description", + taskDescriptionExpandButton: "Fullscreen", taskDateLabel: "Date", taskTimeLabel: "Time", deleteTaskButton: "Delete task", @@ -1274,7 +1276,7 @@ this.connectionModel = connectionModel2; this.chatListModel = chatListModel2; this.fileTransferModel = fileTransferModel2; - this.BUILD = "Build 26.09.22.A"; + this.BUILD = "Build 26.09.22.B"; // CONTEXT this.contextStack = /* @__PURE__ */ new Map(); this.closeContext = (contextId, fromHistoryEvent = false) => { @@ -2808,6 +2810,7 @@ this.time = new State(""); this.selectedVersionId = new State(""); this.versionIds = new ListState(); + this.isPresentingFullScreenDescription = new State(false); // methods this.dragStart = (event) => { ViewController.allowDrag(event); @@ -2839,6 +2842,12 @@ this.close(); this.save(); }; + this.openFullscreenDecription = () => { + this.isPresentingFullScreenDescription.value = true; + }; + this.closeFullscreenDecription = () => { + this.isPresentingFullScreenDescription.value = false; + }; this.updateIndex = () => { const index = this.containingViewModel.taskIndexManager.getIndex(this); this.index.value = index; @@ -5420,11 +5429,10 @@ const isSelected = entry[0] == taskViewModel.task.boardId; return Option(entry[1], entry[0], isSelected); }; - return /* @__PURE__ */ createElement("div", { class: "modal task-settings", open: true }, /* @__PURE__ */ createElement("div", null, /* @__PURE__ */ createElement("main", null, /* @__PURE__ */ createElement("h2", null, coreViewModel2.translations.chatPage.task.taskSettingsHeadline), /* @__PURE__ */ createElement("div", { class: "column-wrapper" }, /* @__PURE__ */ createElement("div", { class: "flex-column" }, /* @__PURE__ */ createElement("label", { class: "tile flex-no" }, /* @__PURE__ */ createElement("span", { class: "icon" }, "label"), /* @__PURE__ */ createElement("div", null, /* @__PURE__ */ createElement("span", null, coreViewModel2.translations.chatPage.task.taskNameLabel), /* @__PURE__ */ createElement( + return /* @__PURE__ */ createElement("div", { class: "modal task-settings", open: true, "toggle:full-description": taskViewModel.isPresentingFullScreenDescription }, /* @__PURE__ */ createElement("div", null, /* @__PURE__ */ createElement("main", { id: "standard-main" }, /* @__PURE__ */ createElement("h2", null, coreViewModel2.translations.chatPage.task.taskSettingsHeadline), /* @__PURE__ */ createElement("div", { class: "column-wrapper" }, /* @__PURE__ */ createElement("div", { class: "flex-column" }, /* @__PURE__ */ createElement("label", { class: "tile flex-no" }, /* @__PURE__ */ createElement("span", { class: "icon" }, "label"), /* @__PURE__ */ createElement("div", null, /* @__PURE__ */ createElement("span", null, coreViewModel2.translations.chatPage.task.taskNameLabel), /* @__PURE__ */ createElement( "input", { - "bind:value": taskViewModel.name, - id: "focused" + "bind:value": taskViewModel.name } ))), /* @__PURE__ */ createElement("label", { class: "tile flex-no" }, /* @__PURE__ */ createElement("span", { class: "icon" }, "category"), /* @__PURE__ */ createElement("div", null, /* @__PURE__ */ createElement("span", null, coreViewModel2.translations.chatPage.task.taskBoardLabel), /* @__PURE__ */ createElement( "select", @@ -5441,7 +5449,15 @@ rows: "10", "bind:value": taskViewModel.description } - )))), /* @__PURE__ */ createElement("hr", { class: "mobile-only" }), /* @__PURE__ */ createElement("div", { class: "flex-column" }, /* @__PURE__ */ createElement("label", { class: "tile flex-no" }, /* @__PURE__ */ createElement("span", { class: "icon" }, "category"), /* @__PURE__ */ createElement("div", null, /* @__PURE__ */ createElement("span", null, coreViewModel2.translations.chatPage.task.taskCategoryLabel), /* @__PURE__ */ createElement( + ))), /* @__PURE__ */ createElement("div", { class: "flex-row justify-end" }, /* @__PURE__ */ createElement( + "button", + { + class: "width-50", + "on:click": taskViewModel.openFullscreenDecription + }, + coreViewModel2.translations.chatPage.task.taskDescriptionExpandButton, + /* @__PURE__ */ createElement("span", { class: "icon" }, "fullscreen") + ))), /* @__PURE__ */ createElement("hr", { class: "mobile-only" }), /* @__PURE__ */ createElement("div", { class: "flex-column" }, /* @__PURE__ */ createElement("label", { class: "tile flex-no" }, /* @__PURE__ */ createElement("span", { class: "icon" }, "category"), /* @__PURE__ */ createElement("div", null, /* @__PURE__ */ createElement("span", null, coreViewModel2.translations.chatPage.task.taskCategoryLabel), /* @__PURE__ */ createElement( "input", { "bind:value": taskViewModel.category, @@ -5505,22 +5521,51 @@ coreViewModel2.translations.chatPage.task.deleteTaskButton, "delete_forever", taskViewModel.deleteTask - ))), /* @__PURE__ */ createElement("div", { class: "flex-row width-100" }, /* @__PURE__ */ createElement( - "button", + ))), /* @__PURE__ */ createElement("main", { id: "fullscreen-main" }, /* @__PURE__ */ createElement( + "textarea", { - class: "flex", - "on:click": taskViewModel.closeAndDiscard + style: "height: 100%; width: 100%; max-width: unset", + "bind:value": taskViewModel.description + } + )), /* @__PURE__ */ createElement( + "div", + { + class: "flex-row width-100", + id: "fullscreen-exit" }, - coreViewModel2.translations.general.closeButton + /* @__PURE__ */ createElement( + "button", + { + class: "flex", + "on:click": taskViewModel.closeFullscreenDecription + }, + coreViewModel2.translations.general.exitButton, + /* @__PURE__ */ createElement("span", { class: "icon" }, "fullscreen_exit") + ) ), /* @__PURE__ */ createElement( - "button", + "div", { - class: "flex primary", - "on:click": taskViewModel.closeAndSave + class: "flex-row width-100", + id: "controls" }, - coreViewModel2.translations.general.saveButton, - /* @__PURE__ */ createElement("span", { class: "icon" }, "save") - )))); + /* @__PURE__ */ createElement( + "button", + { + class: "flex", + "on:click": taskViewModel.closeAndDiscard + }, + coreViewModel2.translations.general.closeButton + ), + /* @__PURE__ */ createElement( + "button", + { + class: "flex primary", + "on:click": taskViewModel.closeAndSave + }, + coreViewModel2.translations.general.saveButton, + /* @__PURE__ */ createElement("span", { class: "icon" }, "save") + ) + ))); } // src/View/Modals/searchModal.tsx diff --git a/node_modules/.bin/uuid b/node_modules/.bin/uuid index 588f70ec..a0e681c9 120000 --- a/node_modules/.bin/uuid +++ b/node_modules/.bin/uuid @@ -1 +1 @@ -../uuid/dist/bin/uuid \ No newline at end of file +../uuid/dist-node/bin/uuid \ No newline at end of file diff --git a/node_modules/bloatless-react b/node_modules/bloatless-react deleted file mode 120000 index cf257cb8..00000000 --- a/node_modules/bloatless-react +++ /dev/null @@ -1 +0,0 @@ -../../bloatless-react \ No newline at end of file diff --git a/node_modules/uuid/CHANGELOG.md b/node_modules/uuid/CHANGELOG.md deleted file mode 100644 index f0ba9e1b..00000000 --- a/node_modules/uuid/CHANGELOG.md +++ /dev/null @@ -1,292 +0,0 @@ -# Changelog - -All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. - -## [10.0.0](https://github.com/uuidjs/uuid/compare/v9.0.0...v10.0.0) (2024-06-07) - -### ⚠ BREAKING CHANGES - -- update node support (drop node@12, node@14, add node@20) (#750) - -### Features - -- support support rfc9562 MAX uuid (new in RFC9562) ([#714](https://github.com/uuidjs/uuid/issues/714)) ([0385cd3](https://github.com/uuidjs/uuid/commit/0385cd3f18ae9920678b2849932fa7a9d9aee7d0)) -- support rfc9562 v6 uuids ([#754](https://github.com/uuidjs/uuid/issues/754)) ([c4ed13e](https://github.com/uuidjs/uuid/commit/c4ed13e7159d87c9e42a349bdd9dc955f1af46b6)) -- support rfc9562 v7 uuids ([#681](https://github.com/uuidjs/uuid/issues/681)) ([db76a12](https://github.com/uuidjs/uuid/commit/db76a1284760c441438f50a57924b322dae08891)) -- update node support matrix (only support node 16-20) ([#750](https://github.com/uuidjs/uuid/issues/750)) ([883b163](https://github.com/uuidjs/uuid/commit/883b163b9ab9d6655bfbd8a35e61a3c71674dfe1)) -- support rfc9562 v8 uuids ([#759](https://github.com/uuidjs/uuid/issues/759)) ([35a5342](https://github.com/uuidjs/uuid/commit/35a53428202657e402e6b4aa68f56c08194541bf)) - -### Bug Fixes - -- revert "perf: remove superfluous call to toLowerCase ([#677](https://github.com/uuidjs/uuid/issues/677))" ([#738](https://github.com/uuidjs/uuid/issues/738)) ([e267b90](https://github.com/uuidjs/uuid/commit/e267b9073df1d0ce119ee53c0487fe76acb2be37)) - -## [9.0.1](https://github.com/uuidjs/uuid/compare/v9.0.0...v9.0.1) (2023-09-12) - -### build - -- Fix CI to work with Node.js 20.x - -## [9.0.0](https://github.com/uuidjs/uuid/compare/v8.3.2...v9.0.0) (2022-09-05) - -### ⚠ BREAKING CHANGES - -- Drop Node.js 10.x support. This library always aims at supporting one EOLed LTS release which by this time now is 12.x which has reached EOL 30 Apr 2022. - -- Remove the minified UMD build from the package. - - Minified code is hard to audit and since this is a widely used library it seems more appropriate nowadays to optimize for auditability than to ship a legacy module format that, at best, serves educational purposes nowadays. - - For production browser use cases, users should be using a bundler. For educational purposes, today's online sandboxes like replit.com offer convenient ways to load npm modules, so the use case for UMD through repos like UNPKG or jsDelivr has largely vanished. - -- Drop IE 11 and Safari 10 support. Drop support for browsers that don't correctly implement const/let and default arguments, and no longer transpile the browser build to ES2015. - - This also removes the fallback on msCrypto instead of the crypto API. - - Browser tests are run in the first supported version of each supported browser and in the latest (as of this commit) version available on Browserstack. - -### Features - -- optimize uuid.v1 by 1.3x uuid.v4 by 4.3x (430%) ([#597](https://github.com/uuidjs/uuid/issues/597)) ([3a033f6](https://github.com/uuidjs/uuid/commit/3a033f6bab6bb3780ece6d645b902548043280bc)) -- remove UMD build ([#645](https://github.com/uuidjs/uuid/issues/645)) ([e948a0f](https://github.com/uuidjs/uuid/commit/e948a0f22bf22f4619b27bd913885e478e20fe6f)), closes [#620](https://github.com/uuidjs/uuid/issues/620) -- use native crypto.randomUUID when available ([#600](https://github.com/uuidjs/uuid/issues/600)) ([c9e076c](https://github.com/uuidjs/uuid/commit/c9e076c852edad7e9a06baaa1d148cf4eda6c6c4)) - -### Bug Fixes - -- add Jest/jsdom compatibility ([#642](https://github.com/uuidjs/uuid/issues/642)) ([16f9c46](https://github.com/uuidjs/uuid/commit/16f9c469edf46f0786164cdf4dc980743984a6fd)) -- change default export to named function ([#545](https://github.com/uuidjs/uuid/issues/545)) ([c57bc5a](https://github.com/uuidjs/uuid/commit/c57bc5a9a0653273aa639cda9177ce52efabe42a)) -- handle error when parameter is not set in v3 and v5 ([#622](https://github.com/uuidjs/uuid/issues/622)) ([fcd7388](https://github.com/uuidjs/uuid/commit/fcd73881692d9fabb63872576ba28e30ff852091)) -- run npm audit fix ([#644](https://github.com/uuidjs/uuid/issues/644)) ([04686f5](https://github.com/uuidjs/uuid/commit/04686f54c5fed2cfffc1b619f4970c4bb8532353)) -- upgrading from uuid3 broken link ([#568](https://github.com/uuidjs/uuid/issues/568)) ([1c849da](https://github.com/uuidjs/uuid/commit/1c849da6e164259e72e18636726345b13a7eddd6)) - -### build - -- drop Node.js 8.x from babel transpile target ([#603](https://github.com/uuidjs/uuid/issues/603)) ([aa11485](https://github.com/uuidjs/uuid/commit/aa114858260402107ec8a1e1a825dea0a259bcb5)) -- drop support for legacy browsers (IE11, Safari 10) ([#604](https://github.com/uuidjs/uuid/issues/604)) ([0f433e5](https://github.com/uuidjs/uuid/commit/0f433e5ec444edacd53016de67db021102f36148)) - -- drop node 10.x to upgrade dev dependencies ([#653](https://github.com/uuidjs/uuid/issues/653)) ([28a5712](https://github.com/uuidjs/uuid/commit/28a571283f8abda6b9d85e689f95b7d3ee9e282e)), closes [#643](https://github.com/uuidjs/uuid/issues/643) - -### [8.3.2](https://github.com/uuidjs/uuid/compare/v8.3.1...v8.3.2) (2020-12-08) - -### Bug Fixes - -- lazy load getRandomValues ([#537](https://github.com/uuidjs/uuid/issues/537)) ([16c8f6d](https://github.com/uuidjs/uuid/commit/16c8f6df2f6b09b4d6235602d6a591188320a82e)), closes [#536](https://github.com/uuidjs/uuid/issues/536) - -### [8.3.1](https://github.com/uuidjs/uuid/compare/v8.3.0...v8.3.1) (2020-10-04) - -### Bug Fixes - -- support expo>=39.0.0 ([#515](https://github.com/uuidjs/uuid/issues/515)) ([c65a0f3](https://github.com/uuidjs/uuid/commit/c65a0f3fa73b901959d638d1e3591dfacdbed867)), closes [#375](https://github.com/uuidjs/uuid/issues/375) - -## [8.3.0](https://github.com/uuidjs/uuid/compare/v8.2.0...v8.3.0) (2020-07-27) - -### Features - -- add parse/stringify/validate/version/NIL APIs ([#479](https://github.com/uuidjs/uuid/issues/479)) ([0e6c10b](https://github.com/uuidjs/uuid/commit/0e6c10ba1bf9517796ff23c052fc0468eedfd5f4)), closes [#475](https://github.com/uuidjs/uuid/issues/475) [#478](https://github.com/uuidjs/uuid/issues/478) [#480](https://github.com/uuidjs/uuid/issues/480) [#481](https://github.com/uuidjs/uuid/issues/481) [#180](https://github.com/uuidjs/uuid/issues/180) - -## [8.2.0](https://github.com/uuidjs/uuid/compare/v8.1.0...v8.2.0) (2020-06-23) - -### Features - -- improve performance of v1 string representation ([#453](https://github.com/uuidjs/uuid/issues/453)) ([0ee0b67](https://github.com/uuidjs/uuid/commit/0ee0b67c37846529c66089880414d29f3ae132d5)) -- remove deprecated v4 string parameter ([#454](https://github.com/uuidjs/uuid/issues/454)) ([88ce3ca](https://github.com/uuidjs/uuid/commit/88ce3ca0ba046f60856de62c7ce03f7ba98ba46c)), closes [#437](https://github.com/uuidjs/uuid/issues/437) -- support jspm ([#473](https://github.com/uuidjs/uuid/issues/473)) ([e9f2587](https://github.com/uuidjs/uuid/commit/e9f2587a92575cac31bc1d4ae944e17c09756659)) - -### Bug Fixes - -- prepare package exports for webpack 5 ([#468](https://github.com/uuidjs/uuid/issues/468)) ([8d6e6a5](https://github.com/uuidjs/uuid/commit/8d6e6a5f8965ca9575eb4d92e99a43435f4a58a8)) - -## [8.1.0](https://github.com/uuidjs/uuid/compare/v8.0.0...v8.1.0) (2020-05-20) - -### Features - -- improve v4 performance by reusing random number array ([#435](https://github.com/uuidjs/uuid/issues/435)) ([bf4af0d](https://github.com/uuidjs/uuid/commit/bf4af0d711b4d2ed03d1f74fd12ad0baa87dc79d)) -- optimize V8 performance of bytesToUuid ([#434](https://github.com/uuidjs/uuid/issues/434)) ([e156415](https://github.com/uuidjs/uuid/commit/e156415448ec1af2351fa0b6660cfb22581971f2)) - -### Bug Fixes - -- export package.json required by react-native and bundlers ([#449](https://github.com/uuidjs/uuid/issues/449)) ([be1c8fe](https://github.com/uuidjs/uuid/commit/be1c8fe9a3206c358e0059b52fafd7213aa48a52)), closes [ai/nanoevents#44](https://github.com/ai/nanoevents/issues/44#issuecomment-602010343) [#444](https://github.com/uuidjs/uuid/issues/444) - -## [8.0.0](https://github.com/uuidjs/uuid/compare/v7.0.3...v8.0.0) (2020-04-29) - -### ⚠ BREAKING CHANGES - -- For native ECMAScript Module (ESM) usage in Node.js only named exports are exposed, there is no more default export. - - ```diff - -import uuid from 'uuid'; - -console.log(uuid.v4()); // -> 'cd6c3b08-0adc-4f4b-a6ef-36087a1c9869' - +import { v4 as uuidv4 } from 'uuid'; - +uuidv4(); // ⇨ '9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d' - ``` - -- Deep requiring specific algorithms of this library like `require('uuid/v4')`, which has been deprecated in `uuid@7`, is no longer supported. - - Instead use the named exports that this module exports. - - For ECMAScript Modules (ESM): - - ```diff - -import uuidv4 from 'uuid/v4'; - +import { v4 as uuidv4 } from 'uuid'; - uuidv4(); - ``` - - For CommonJS: - - ```diff - -const uuidv4 = require('uuid/v4'); - +const { v4: uuidv4 } = require('uuid'); - uuidv4(); - ``` - -### Features - -- native Node.js ES Modules (wrapper approach) ([#423](https://github.com/uuidjs/uuid/issues/423)) ([2d9f590](https://github.com/uuidjs/uuid/commit/2d9f590ad9701d692625c07ed62f0a0f91227991)), closes [#245](https://github.com/uuidjs/uuid/issues/245) [#419](https://github.com/uuidjs/uuid/issues/419) [#342](https://github.com/uuidjs/uuid/issues/342) -- remove deep requires ([#426](https://github.com/uuidjs/uuid/issues/426)) ([daf72b8](https://github.com/uuidjs/uuid/commit/daf72b84ceb20272a81bb5fbddb05dd95922cbba)) - -### Bug Fixes - -- add CommonJS syntax example to README quickstart section ([#417](https://github.com/uuidjs/uuid/issues/417)) ([e0ec840](https://github.com/uuidjs/uuid/commit/e0ec8402c7ad44b7ef0453036c612f5db513fda0)) - -### [7.0.3](https://github.com/uuidjs/uuid/compare/v7.0.2...v7.0.3) (2020-03-31) - -### Bug Fixes - -- make deep require deprecation warning work in browsers ([#409](https://github.com/uuidjs/uuid/issues/409)) ([4b71107](https://github.com/uuidjs/uuid/commit/4b71107d8c0d2ef56861ede6403fc9dc35a1e6bf)), closes [#408](https://github.com/uuidjs/uuid/issues/408) - -### [7.0.2](https://github.com/uuidjs/uuid/compare/v7.0.1...v7.0.2) (2020-03-04) - -### Bug Fixes - -- make access to msCrypto consistent ([#393](https://github.com/uuidjs/uuid/issues/393)) ([8bf2a20](https://github.com/uuidjs/uuid/commit/8bf2a20f3565df743da7215eebdbada9d2df118c)) -- simplify link in deprecation warning ([#391](https://github.com/uuidjs/uuid/issues/391)) ([bb2c8e4](https://github.com/uuidjs/uuid/commit/bb2c8e4e9f4c5f9c1eaaf3ea59710c633cd90cb7)) -- update links to match content in readme ([#386](https://github.com/uuidjs/uuid/issues/386)) ([44f2f86](https://github.com/uuidjs/uuid/commit/44f2f86e9d2bbf14ee5f0f00f72a3db1292666d4)) - -### [7.0.1](https://github.com/uuidjs/uuid/compare/v7.0.0...v7.0.1) (2020-02-25) - -### Bug Fixes - -- clean up esm builds for node and browser ([#383](https://github.com/uuidjs/uuid/issues/383)) ([59e6a49](https://github.com/uuidjs/uuid/commit/59e6a49e7ce7b3e8fb0f3ee52b9daae72af467dc)) -- provide browser versions independent from module system ([#380](https://github.com/uuidjs/uuid/issues/380)) ([4344a22](https://github.com/uuidjs/uuid/commit/4344a22e7aed33be8627eeaaf05360f256a21753)), closes [#378](https://github.com/uuidjs/uuid/issues/378) - -## [7.0.0](https://github.com/uuidjs/uuid/compare/v3.4.0...v7.0.0) (2020-02-24) - -### ⚠ BREAKING CHANGES - -- The default export, which used to be the v4() method but which was already discouraged in v3.x of this library, has been removed. -- Explicitly note that deep imports of the different uuid version functions are deprecated and no longer encouraged and that ECMAScript module named imports should be used instead. Emit a deprecation warning for people who deep-require the different algorithm variants. -- Remove builtin support for insecure random number generators in the browser. Users who want that will have to supply their own random number generator function. -- Remove support for generating v3 and v5 UUIDs in Node.js<4.x -- Convert code base to ECMAScript Modules (ESM) and release CommonJS build for node and ESM build for browser bundlers. - -### Features - -- add UMD build to npm package ([#357](https://github.com/uuidjs/uuid/issues/357)) ([4e75adf](https://github.com/uuidjs/uuid/commit/4e75adf435196f28e3fbbe0185d654b5ded7ca2c)), closes [#345](https://github.com/uuidjs/uuid/issues/345) -- add various es module and CommonJS examples ([b238510](https://github.com/uuidjs/uuid/commit/b238510bf352463521f74bab175a3af9b7a42555)) -- ensure that docs are up-to-date in CI ([ee5e77d](https://github.com/uuidjs/uuid/commit/ee5e77db547474f5a8f23d6c857a6d399209986b)) -- hybrid CommonJS & ECMAScript modules build ([a3f078f](https://github.com/uuidjs/uuid/commit/a3f078faa0baff69ab41aed08e041f8f9c8993d0)) -- remove insecure fallback random number generator ([3a5842b](https://github.com/uuidjs/uuid/commit/3a5842b141a6e5de0ae338f391661e6b84b167c9)), closes [#173](https://github.com/uuidjs/uuid/issues/173) -- remove support for pre Node.js v4 Buffer API ([#356](https://github.com/uuidjs/uuid/issues/356)) ([b59b5c5](https://github.com/uuidjs/uuid/commit/b59b5c5ecad271c5453f1a156f011671f6d35627)) -- rename repository to github:uuidjs/uuid ([#351](https://github.com/uuidjs/uuid/issues/351)) ([c37a518](https://github.com/uuidjs/uuid/commit/c37a518e367ac4b6d0aa62dba1bc6ce9e85020f7)), closes [#338](https://github.com/uuidjs/uuid/issues/338) - -### Bug Fixes - -- add deep-require proxies for local testing and adjust tests ([#365](https://github.com/uuidjs/uuid/issues/365)) ([7fedc79](https://github.com/uuidjs/uuid/commit/7fedc79ac8fda4bfd1c566c7f05ef4ac13b2db48)) -- add note about removal of default export ([#372](https://github.com/uuidjs/uuid/issues/372)) ([12749b7](https://github.com/uuidjs/uuid/commit/12749b700eb49db8a9759fd306d8be05dbfbd58c)), closes [#370](https://github.com/uuidjs/uuid/issues/370) -- deprecated deep requiring of the different algorithm versions ([#361](https://github.com/uuidjs/uuid/issues/361)) ([c0bdf15](https://github.com/uuidjs/uuid/commit/c0bdf15e417639b1aeb0b247b2fb11f7a0a26b23)) - -## [3.4.0](https://github.com/uuidjs/uuid/compare/v3.3.3...v3.4.0) (2020-01-16) - -### Features - -- rename repository to github:uuidjs/uuid ([#351](https://github.com/uuidjs/uuid/issues/351)) ([e2d7314](https://github.com/uuidjs/uuid/commit/e2d7314)), closes [#338](https://github.com/uuidjs/uuid/issues/338) - -## [3.3.3](https://github.com/uuidjs/uuid/compare/v3.3.2...v3.3.3) (2019-08-19) - -### Bug Fixes - -- no longer run ci tests on node v4 -- upgrade dependencies - -## [3.3.2](https://github.com/uuidjs/uuid/compare/v3.3.1...v3.3.2) (2018-06-28) - -### Bug Fixes - -- typo ([305d877](https://github.com/uuidjs/uuid/commit/305d877)) - -## [3.3.1](https://github.com/uuidjs/uuid/compare/v3.3.0...v3.3.1) (2018-06-28) - -### Bug Fixes - -- fix [#284](https://github.com/uuidjs/uuid/issues/284) by setting function name in try-catch ([f2a60f2](https://github.com/uuidjs/uuid/commit/f2a60f2)) - -# [3.3.0](https://github.com/uuidjs/uuid/compare/v3.2.1...v3.3.0) (2018-06-22) - -### Bug Fixes - -- assignment to readonly property to allow running in strict mode ([#270](https://github.com/uuidjs/uuid/issues/270)) ([d062fdc](https://github.com/uuidjs/uuid/commit/d062fdc)) -- fix [#229](https://github.com/uuidjs/uuid/issues/229) ([c9684d4](https://github.com/uuidjs/uuid/commit/c9684d4)) -- Get correct version of IE11 crypto ([#274](https://github.com/uuidjs/uuid/issues/274)) ([153d331](https://github.com/uuidjs/uuid/commit/153d331)) -- mem issue when generating uuid ([#267](https://github.com/uuidjs/uuid/issues/267)) ([c47702c](https://github.com/uuidjs/uuid/commit/c47702c)) - -### Features - -- enforce Conventional Commit style commit messages ([#282](https://github.com/uuidjs/uuid/issues/282)) ([cc9a182](https://github.com/uuidjs/uuid/commit/cc9a182)) - -## [3.2.1](https://github.com/uuidjs/uuid/compare/v3.2.0...v3.2.1) (2018-01-16) - -### Bug Fixes - -- use msCrypto if available. Fixes [#241](https://github.com/uuidjs/uuid/issues/241) ([#247](https://github.com/uuidjs/uuid/issues/247)) ([1fef18b](https://github.com/uuidjs/uuid/commit/1fef18b)) - -# [3.2.0](https://github.com/uuidjs/uuid/compare/v3.1.0...v3.2.0) (2018-01-16) - -### Bug Fixes - -- remove mistakenly added typescript dependency, rollback version (standard-version will auto-increment) ([09fa824](https://github.com/uuidjs/uuid/commit/09fa824)) -- use msCrypto if available. Fixes [#241](https://github.com/uuidjs/uuid/issues/241) ([#247](https://github.com/uuidjs/uuid/issues/247)) ([1fef18b](https://github.com/uuidjs/uuid/commit/1fef18b)) - -### Features - -- Add v3 Support ([#217](https://github.com/uuidjs/uuid/issues/217)) ([d94f726](https://github.com/uuidjs/uuid/commit/d94f726)) - -# [3.1.0](https://github.com/uuidjs/uuid/compare/v3.1.0...v3.0.1) (2017-06-17) - -### Bug Fixes - -- (fix) Add .npmignore file to exclude test/ and other non-essential files from packing. (#183) -- Fix typo (#178) -- Simple typo fix (#165) - -### Features - -- v5 support in CLI (#197) -- V5 support (#188) - -# 3.0.1 (2016-11-28) - -- split uuid versions into separate files - -# 3.0.0 (2016-11-17) - -- remove .parse and .unparse - -# 2.0.0 - -- Removed uuid.BufferClass - -# 1.4.0 - -- Improved module context detection -- Removed public RNG functions - -# 1.3.2 - -- Improve tests and handling of v1() options (Issue #24) -- Expose RNG option to allow for perf testing with different generators - -# 1.3.0 - -- Support for version 1 ids, thanks to [@ctavan](https://github.com/ctavan)! -- Support for node.js crypto API -- De-emphasizing performance in favor of a) cryptographic quality PRNGs where available and b) more manageable code diff --git a/node_modules/uuid/CONTRIBUTING.md b/node_modules/uuid/CONTRIBUTING.md deleted file mode 100644 index 4a4503d0..00000000 --- a/node_modules/uuid/CONTRIBUTING.md +++ /dev/null @@ -1,18 +0,0 @@ -# Contributing - -Please feel free to file GitHub Issues or propose Pull Requests. We're always happy to discuss improvements to this library! - -## Testing - -```shell -npm test -``` - -## Releasing - -Releases are supposed to be done from master, version bumping is automated through [`standard-version`](https://github.com/conventional-changelog/standard-version): - -```shell -npm run release -- --dry-run # verify output manually -npm run release # follow the instructions from the output of this command -``` diff --git a/node_modules/uuid/README.md b/node_modules/uuid/README.md index b9079b69..06edfaa5 100644 --- a/node_modules/uuid/README.md +++ b/node_modules/uuid/README.md @@ -2,75 +2,62 @@ -- This file is auto-generated from README_js.md. Changes should be made there. --> +# uuid [![CI](https://github.com/uuidjs/uuid/workflows/CI/badge.svg)](https://github.com/uuidjs/uuid/actions?query=workflow%3ACI) [![Browser](https://github.com/uuidjs/uuid/workflows/Browser/badge.svg)](https://github.com/uuidjs/uuid/actions/workflows/browser.yml) -# uuid [![CI](https://github.com/uuidjs/uuid/workflows/CI/badge.svg)](https://github.com/uuidjs/uuid/actions?query=workflow%3ACI) [![Browser](https://github.com/uuidjs/uuid/workflows/Browser/badge.svg)](https://github.com/uuidjs/uuid/actions?query=workflow%3ABrowser) +For the creation of [RFC9562](https://www.rfc-editor.org/rfc/rfc9562.html) (formerly [RFC4122](https://www.rfc-editor.org/rfc/rfc4122.html)) UUIDs -For the creation of [RFC9562](https://www.rfc-editor.org/rfc/rfc9562.html) (formally [RFC4122](https://www.rfc-editor.org/rfc/rfc4122.html)) UUIDs - -- **Complete** - Support for all RFC9562 (nee RFC4122) UUID versions -- **Cross-platform** - Support for ... - - CommonJS, [ECMAScript Modules](#ecmascript-modules) and [CDN builds](#cdn-builds) - - NodeJS 16+ ([LTS releases](https://github.com/nodejs/Release)) - - Chrome, Safari, Firefox, Edge browsers - - Webpack and rollup.js module bundlers +- **Complete** - Support for all RFC9562 UUID versions +- **Cross-platform** - Support for... + - [Typescript](#support) + - [Chrome, Safari, Firefox, and Edge](#support) + - [NodeJS](#support) - [React Native / Expo](#react-native--expo) -- **Secure** - Cryptographically-strong random values -- **Small** - Zero-dependency, small footprint, plays nice with "tree shaking" packagers -- **CLI** - Includes the [`uuid` command line](#command-line) utility +- **Secure** - Uses modern `crypto` API for random values +- **Compact** - Zero-dependency, [tree-shakable](https://developer.mozilla.org/en-US/docs/Glossary/Tree_shaking) +- **CLI** - [`uuid` command line](#command-line) utility > [!NOTE] -> Upgrading from `uuid@3`? Your code is probably okay, but check out [Upgrading From `uuid@3`](#upgrading-from-uuid3) for details. - - -> [!NOTE] -> Only interested in creating a version 4 UUID? You might be able to use [`crypto.randomUUID()`](https://developer.mozilla.org/en-US/docs/Web/API/Crypto/randomUUID), eliminating the need to install this library. +> +> Starting with `uuid@12` CommonJS is no longer supported. See [implications](https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c) and [motivation](https://github.com/uuidjs/uuid/issues/881) for details. ## Quickstart -To create a random UUID... - **1. Install** ```shell npm install uuid ``` -**2. Create a UUID** (ES6 module syntax) +**2. Create a UUID** ```javascript import { v4 as uuidv4 } from 'uuid'; -uuidv4(); // ⇨ '9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d' -``` -... or using CommonJS syntax: - -```javascript -const { v4: uuidv4 } = require('uuid'); -uuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed' +uuidv4(); // ⇨ 'b18794e8-5d0d-417c-b361-ba38e78411b4' ``` For timestamp UUIDs, namespace UUIDs, and other options read on ... ## API Summary -| | | | -| --- | --- | --- | -| [`uuid.NIL`](#uuidnil) | The nil UUID string (all zeros) | New in `uuid@8.3` | -| [`uuid.MAX`](#uuidmax) | The max UUID string (all ones) | New in `uuid@9.1` | -| [`uuid.parse()`](#uuidparsestr) | Convert UUID string to array of bytes | New in `uuid@8.3` | -| [`uuid.stringify()`](#uuidstringifyarr-offset) | Convert array of bytes to UUID string | New in `uuid@8.3` | -| [`uuid.v1()`](#uuidv1options-buffer-offset) | Create a version 1 (timestamp) UUID | | -| [`uuid.v1ToV6()`](#uuidv1tov6uuid) | Create a version 6 UUID from a version 1 UUID | New in `uuid@10` | -| [`uuid.v3()`](#uuidv3name-namespace-buffer-offset) | Create a version 3 (namespace w/ MD5) UUID | | -| [`uuid.v4()`](#uuidv4options-buffer-offset) | Create a version 4 (random) UUID | | -| [`uuid.v5()`](#uuidv5name-namespace-buffer-offset) | Create a version 5 (namespace w/ SHA-1) UUID | | -| [`uuid.v6()`](#uuidv6options-buffer-offset) | Create a version 6 (timestamp, reordered) UUID | New in `uuid@10` | -| [`uuid.v6ToV1()`](#uuidv6tov1uuid) | Create a version 1 UUID from a version 6 UUID | New in `uuid@10` | -| [`uuid.v7()`](#uuidv7options-buffer-offset) | Create a version 7 (Unix Epoch time-based) UUID | New in `uuid@10` | -| ~~[`uuid.v8()`](#uuidv8)~~ | "Intentionally left blank" | | -| [`uuid.validate()`](#uuidvalidatestr) | Test a string to see if it is a valid UUID | New in `uuid@8.3` | -| [`uuid.version()`](#uuidversionstr) | Detect RFC version of a UUID | New in `uuid@8.3` | +| | | +| --- | --- | +| [`uuid.NIL`](#uuidnil) | The nil UUID string (all zeros) | +| [`uuid.MAX`](#uuidmax) | The max UUID string (all ones) | +| [`uuid.parse()`](#uuidparsestr) | Convert UUID string to array of bytes | +| [`uuid.stringify()`](#uuidstringifyarr-offset) | Convert array of bytes to UUID string | +| [`uuid.v1()`](#uuidv1options-buffer-offset) | Generate a version 1 (timestamp) UUID | +| [`uuid.v1ToV6()`](#uuidv1tov6uuid) | Convert a version 1 UUID to version 6 | +| [`uuid.v3()`](#uuidv3name-namespace-buffer-offset) | Generate a version 3 (namespace w/ MD5) UUID | +| [`uuid.v4()`](#uuidv4options-buffer-offset) | Generate a version 4 (random) UUID | +| [`uuid.v5()`](#uuidv5name-namespace-buffer-offset) | Generate a version 5 (namespace w/ SHA-1) UUID | +| [`uuid.v6()`](#uuidv6options-buffer-offset) | Generate a version 6 (timestamp, reordered) UUID | +| [`uuid.v6ToV1()`](#uuidv6tov1uuid) | Convert a version 6 UUID to version 1 | +| [`uuid.v7()`](#uuidv7options-buffer-offset) | Generate a version 7 (Unix Epoch time-based) UUID | +| ~~[`uuid.v8()`](#uuidv8)~~ | "Intentionally left blank" | +| [`uuid.validate()`](#uuidvalidatestr) | Test a string to see if it is a valid UUID | +| [`uuid.version()`](#uuidversionstr) | Detect RFC version of a UUID | ## API @@ -118,16 +105,13 @@ Example: import { parse as uuidParse } from 'uuid'; // Parse a UUID -const bytes = uuidParse('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'); - -// Convert to hex strings to show byte order (for documentation purposes) -[...bytes].map((v) => v.toString(16).padStart(2, '0')); // ⇨ - // [ - // '6e', 'c0', 'bd', '7f', - // '11', 'c0', '43', 'da', - // '97', '5e', '2a', '8a', - // 'd9', 'eb', 'ae', '0b' - // ] +uuidParse('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'); // ⇨ +// Uint8Array(16) [ +// 110, 192, 189, 127, 17, +// 192, 67, 218, 151, 94, +// 42, 138, 217, 235, 174, +// 11 +// ] ``` ### uuid.stringify(arr[, offset]) @@ -150,9 +134,24 @@ Example: ```javascript import { stringify as uuidStringify } from 'uuid'; -const uuidBytes = [ - 0x6e, 0xc0, 0xbd, 0x7f, 0x11, 0xc0, 0x43, 0xda, 0x97, 0x5e, 0x2a, 0x8a, 0xd9, 0xeb, 0xae, 0x0b, -]; +const uuidBytes = Uint8Array.of( + 0x6e, + 0xc0, + 0xbd, + 0x7f, + 0x11, + 0xc0, + 0x43, + 0xda, + 0x97, + 0x5e, + 0x2a, + 0x8a, + 0xd9, + 0xeb, + 0xae, + 0x0b +); uuidStringify(uuidBytes); // ⇨ '6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b' ``` @@ -164,31 +163,23 @@ Create an RFC version 1 (timestamp) UUID | | | | --- | --- | | [`options`] | `Object` with one or more of the following properties: | -| [`options.node` ] | RFC "node" field as an `Array[6]` of byte values (per 4.1.6) | -| [`options.clockseq`] | RFC "clock sequence" as a `Number` between 0 - 0x3fff | -| [`options.msecs`] | RFC "timestamp" field (`Number` of milliseconds, unix epoch) | -| [`options.nsecs`] | RFC "timestamp" field (`Number` of nanoseconds to add to `msecs`, should be 0-10,000) | -| [`options.random`] | `Array` of 16 random bytes (0-255) | +| [`options.node = (random)` ] | RFC "node" field as an `Array[6]` of byte values (per 4.1.6) | +| [`options.clockseq = (random)`] | RFC "clock sequence" as a `Number` between 0 - 0x3fff | +| [`options.msecs = (current time)`] | RFC "timestamp" field (`Number` of milliseconds, unix epoch) | +| [`options.nsecs = 0`] | RFC "timestamp" field (`Number` of nanoseconds to add to `msecs`, should be 0-10,000) | +| [`options.random = (random)`] | `Array` of 16 random bytes (0-255) used to generate other fields, above | | [`options.rng`] | Alternative to `options.random`, a `Function` that returns an `Array` of 16 random bytes (0-255) | -| [`buffer`] | `Array \| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` | +| [`buffer`] | `Uint8Array` or `Uint8Array` subtype (e.g. Node.js `Buffer`). If provided, binary UUID is written into the array, starting at `offset` | | [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` | | _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` | | _throws_ | `Error` if more than 10M UUIDs/sec are requested | - -> [!NOTE] -> The default [node id](https://datatracker.ietf.org/doc/html/rfc9562#section-5.1) (the last 12 digits in the UUID) is generated once, randomly, on process startup, and then remains unchanged for the duration of the process. - - -> [!NOTE] -> `options.random` and `options.rng` are only meaningful on the very first call to `v1()`, where they may be passed to initialize the internal `node` and `clockseq` fields. - Example: ```javascript import { v1 as uuidv1 } from 'uuid'; -uuidv1(); // ⇨ '2c5ea4c0-4067-11e9-8bad-9b1deb4d3b7d' +uuidv1(); // ⇨ '57fd0000-c7d3-11ef-841d-514d2167fc5b' ``` Example using `options`: @@ -197,7 +188,7 @@ Example using `options`: import { v1 as uuidv1 } from 'uuid'; const options = { - node: [0x01, 0x23, 0x45, 0x67, 0x89, 0xab], + node: Uint8Array.of(0x01, 0x23, 0x45, 0x67, 0x89, 0xab), clockseq: 0x1234, msecs: new Date('2011-11-01').getTime(), nsecs: 5678, @@ -234,7 +225,7 @@ Create an RFC version 4 (random) UUID | [`options`] | `Object` with one or more of the following properties: | | [`options.random`] | `Array` of 16 random bytes (0-255) | | [`options.rng`] | Alternative to `options.random`, a `Function` that returns an `Array` of 16 random bytes (0-255) | -| [`buffer`] | `Array \| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` | +| [`buffer`] | `Uint8Array` or `Uint8Array` subtype (e.g. Node.js `Buffer`). If provided, binary UUID is written into the array, starting at `offset` | | [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` | | _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` | @@ -243,7 +234,7 @@ Example: ```javascript import { v4 as uuidv4 } from 'uuid'; -uuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed' +uuidv4(); // ⇨ 'b18794e8-5d0d-417c-b361-ba38e78411b4' ``` Example using predefined `random` values: @@ -252,9 +243,24 @@ Example using predefined `random` values: import { v4 as uuidv4 } from 'uuid'; const v4options = { - random: [ - 0x10, 0x91, 0x56, 0xbe, 0xc4, 0xfb, 0xc1, 0xea, 0x71, 0xb4, 0xef, 0xe1, 0x67, 0x1c, 0x58, 0x36, - ], + random: Uint8Array.of( + 0x10, + 0x91, + 0x56, + 0xbe, + 0xc4, + 0xfb, + 0xc1, + 0xea, + 0x71, + 0xb4, + 0xef, + 0xe1, + 0x67, + 0x1c, + 0x58, + 0x36 + ), }; uuidv4(v4options); // ⇨ '109156be-c4fb-41ea-b1b4-efe1671c5836' ``` @@ -267,7 +273,7 @@ Create an RFC version 5 (namespace w/ SHA-1) UUID | --- | --- | | `name` | `String \| Array` | | `namespace` | `String \| Array[16]` Namespace UUID | -| [`buffer`] | `Array \| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` | +| [`buffer`] | `Uint8Array` or `Uint8Array` subtype (e.g. Node.js `Buffer`). If provided, binary UUID is written into the array, starting at `offset` | | [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` | | _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` | @@ -304,7 +310,7 @@ This method takes the same arguments as uuid.v1(). ```javascript import { v6 as uuidv6 } from 'uuid'; -uuidv6(); // ⇨ '1e940672-c5ea-64c0-8bad-9b1deb4d3b7d' +uuidv6(); // ⇨ '1efc7d35-7fd0-6000-841d-504d2167fc5b' ``` Example using `options`: @@ -338,11 +344,11 @@ Create an RFC version 7 (random) UUID | | | | --- | --- | | [`options`] | `Object` with one or more of the following properties: | -| [`options.msecs`] | RFC "timestamp" field (`Number` of milliseconds, unix epoch) | -| [`options.random`] | `Array` of 16 random bytes (0-255) | +| [`options.msecs = (current time)`] | RFC "timestamp" field (`Number` of milliseconds, unix epoch) | +| [`options.random = (random)`] | `Array` of 16 random bytes (0-255) used to generate other fields, above | | [`options.rng`] | Alternative to `options.random`, a `Function` that returns an `Array` of 16 random bytes (0-255) | -| [`options.seq`] | 31 bit monotonic sequence counter as `Number` between 0 - 0x7fffffff | -| [`buffer`] | `Array \| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` | +| [`options.seq = (random)`] | 32-bit sequence `Number` between 0 - 0xffffffff. This may be provided to help ensure uniqueness for UUIDs generated within the same millisecond time interval. Default = random value. | +| [`buffer`] | `Uint8Array` or `Uint8Array` subtype (e.g. Node.js `Buffer`). If provided, binary UUID is written into the array, starting at `offset` | | [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` | | _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` | @@ -351,7 +357,7 @@ Example: ```javascript import { v7 as uuidv7 } from 'uuid'; -uuidv7(); // ⇨ '01695553-c90c-722d-9b5d-b38dfbbd4bed' +uuidv7(); // ⇨ '01941f29-7c00-73e4-a310-744d2167fc5b' ``` ### ~~uuid.v8()~~ @@ -447,54 +453,30 @@ Note: may be "URL" or "DNS" to use the corresponding UUIDs defined by RFC9562 ``` -## ECMAScript Modules +## `options` Handling for Timestamp UUIDs -This library comes with [ECMAScript Modules](https://www.ecma-international.org/ecma-262/6.0/#sec-modules) (ESM) support for Node.js versions that support it ([example](./examples/node-esmodules/)) as well as bundlers like [rollup.js](https://rollupjs.org/guide/en/#tree-shaking) ([example](./examples/browser-rollup/)) and [webpack](https://webpack.js.org/guides/tree-shaking/) ([example](./examples/browser-webpack/)) (targeting both, Node.js and browser environments). +Prior to `uuid@11`, it was possible for `options` state to interfere with the internal state used to ensure uniqueness of timestamp-based UUIDs (the `v1()`, `v6()`, and `v7()` methods). Starting with `uuid@11`, this issue has been addressed by using the presence of the `options` argument as a flag to select between two possible behaviors: -```javascript -import { v4 as uuidv4 } from 'uuid'; -uuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed' -``` +- Without `options`: Internal state is utilized to improve UUID uniqueness. +- With `options`: Internal state is **NOT** used and, instead, appropriate defaults are applied as needed. -To run the examples you must first create a dist build of this library in the module root: +## Support -```shell -npm run build -``` +**Browsers**: `uuid` [builds are tested](/uuidjs/uuid/blob/main/wdio.conf.js) against the latest version of desktop Chrome, Safari, Firefox, and Edge. Mobile versions of these same browsers are expected to work but aren't currently tested. -## CDN Builds +**Node**: `uuid` [builds are tested](https://github.com/uuidjs/uuid/blob/main/.github/workflows/ci.yml#L31) against node ([LTS releases](https://github.com/nodejs/Release)), plus one prior. E.g. At the time of this writing `node@20` is the "maintenance" release and `node@24` is the "current" release, so `uuid` supports `node@20`-`node@24`. -### ECMAScript Modules - -To load this module directly into modern browsers that [support loading ECMAScript Modules](https://caniuse.com/#feat=es6-module) you can make use of [jspm](https://jspm.org/): - -```html - -``` - -### UMD - -As of `uuid@9` [UMD (Universal Module Definition)](https://github.com/umdjs/umd) builds are no longer shipped with this library. - -If you need a UMD build of this library, use a bundler like Webpack or Rollup. Alternatively, refer to the documentation of [`uuid@8.3.2`](https://github.com/uuidjs/uuid/blob/v8.3.2/README.md#umd) which was the last version that shipped UMD builds. +**Typescript**: TS versions released within the past two years are supported. [source](https://github.com/microsoft/TypeScript/issues/49088#issuecomment-2468723715) ## Known issues -### Duplicate UUIDs (Googlebot) - -This module may generate duplicate UUIDs when run in clients with _deterministic_ random number generators, such as [Googlebot crawlers](https://developers.google.com/search/docs/advanced/crawling/overview-google-crawlers). This can cause problems for apps that expect client-generated UUIDs to always be unique. Developers should be prepared for this and have a strategy for dealing with possible collisions, such as: - -- Check for duplicate UUIDs, fail gracefully -- Disable write operations for Googlebot clients + ### "getRandomValues() not supported" This error occurs in environments where the standard [`crypto.getRandomValues()`](https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues) API is not supported. This issue can be resolved by adding an appropriate polyfill: -### React Native / Expo +#### React Native / Expo 1. Install [`react-native-get-random-values`](https://github.com/LinusU/react-native-get-random-values#readme) 1. Import it _before_ `uuid`. Since `uuid` might also appear as a transitive dependency of some other imports it's safest to just import `react-native-get-random-values` as the very first thing in your entry point: @@ -504,81 +486,6 @@ import 'react-native-get-random-values'; import { v4 as uuidv4 } from 'uuid'; ``` - -> [!NOTE] -> If you are using Expo, you must be using at least `react-native-get-random-values@1.5.0` and `expo@39.0.0`. - -### Web Workers / Service Workers (Edge <= 18) - -[In Edge <= 18, Web Crypto is not supported in Web Workers or Service Workers](https://caniuse.com/#feat=cryptography) and we are not aware of a polyfill (let us know if you find one, please). - -### IE 11 (Internet Explorer) - -Support for IE11 and other legacy browsers has been dropped as of `uuid@9`. If you need to support legacy browsers, you can always transpile the uuid module source yourself (e.g. using [Babel](https://babeljs.io/)). - -## Upgrading From `uuid@7` - -### Only Named Exports Supported When Using with Node.js ESM - -`uuid@7` did not come with native ECMAScript Module (ESM) support for Node.js. Importing it in Node.js ESM consequently imported the CommonJS source with a default export. This library now comes with true Node.js ESM support and only provides named exports. - -Instead of doing: - -```javascript -import uuid from 'uuid'; -uuid.v4(); -``` - -you will now have to use the named exports: - -```javascript -import { v4 as uuidv4 } from 'uuid'; -uuidv4(); -``` - -### Deep Requires No Longer Supported - -Deep requires like `require('uuid/v4')` [which have been deprecated in `uuid@7`](#deep-requires-now-deprecated) are no longer supported. - -## Upgrading From `uuid@3` - -"_Wait... what happened to `uuid@4` thru `uuid@6`?!?_" - -In order to avoid confusion with RFC [version 4](#uuidv4options-buffer-offset) and [version 5](#uuidv5name-namespace-buffer-offset) UUIDs, and a possible [version 6](http://gh.peabody.io/uuidv6/), releases 4 thru 6 of this module have been skipped. - -### Deep Requires Now Deprecated - -`uuid@3` encouraged the use of deep requires to minimize the bundle size of browser builds: - -```javascript -const uuidv4 = require('uuid/v4'); // <== NOW DEPRECATED! -uuidv4(); -``` - -As of `uuid@7` this library now provides ECMAScript modules builds, which allow packagers like Webpack and Rollup to do "tree-shaking" to remove dead code. Instead, use the `import` syntax: - -```javascript -import { v4 as uuidv4 } from 'uuid'; -uuidv4(); -``` - -... or for CommonJS: - -```javascript -const { v4: uuidv4 } = require('uuid'); -uuidv4(); -``` - -### Default Export Removed - -`uuid@3` was exporting the Version 4 UUID method as a default export: - -```javascript -const uuid = require('uuid'); // <== REMOVED! -``` - -This usage pattern was already discouraged in `uuid@3` and has been removed in `uuid@7`. - --- -Markdown generated from [README_js.md](README_js.md) by +Generated from [README_js.md](README_js.md) by [`runmd`](https://github.com/broofa/runmd) diff --git a/node_modules/uuid/dist-node/bin/uuid b/node_modules/uuid/dist-node/bin/uuid new file mode 100755 index 00000000..b4f612d4 --- /dev/null +++ b/node_modules/uuid/dist-node/bin/uuid @@ -0,0 +1,2 @@ +#!/usr/bin/env node +import '../uuid-bin.js'; diff --git a/node_modules/uuid/dist/esm-browser/index.js b/node_modules/uuid/dist-node/index.js similarity index 91% rename from node_modules/uuid/dist/esm-browser/index.js rename to node_modules/uuid/dist-node/index.js index 45214b37..3193e9a3 100644 --- a/node_modules/uuid/dist/esm-browser/index.js +++ b/node_modules/uuid/dist-node/index.js @@ -11,4 +11,4 @@ export { default as v6 } from './v6.js'; export { default as v6ToV1 } from './v6ToV1.js'; export { default as v7 } from './v7.js'; export { default as validate } from './validate.js'; -export { default as version } from './version.js'; \ No newline at end of file +export { default as version } from './version.js'; diff --git a/node_modules/uuid/dist-node/max.js b/node_modules/uuid/dist-node/max.js new file mode 100644 index 00000000..58951f65 --- /dev/null +++ b/node_modules/uuid/dist-node/max.js @@ -0,0 +1 @@ +export default 'ffffffff-ffff-ffff-ffff-ffffffffffff'; diff --git a/node_modules/uuid/dist-node/md5.js b/node_modules/uuid/dist-node/md5.js new file mode 100644 index 00000000..4fae4854 --- /dev/null +++ b/node_modules/uuid/dist-node/md5.js @@ -0,0 +1,11 @@ +import { createHash } from 'node:crypto'; +function md5(bytes) { + if (Array.isArray(bytes)) { + bytes = Buffer.from(bytes); + } + else if (typeof bytes === 'string') { + bytes = Buffer.from(bytes, 'utf8'); + } + return createHash('md5').update(bytes).digest(); +} +export default md5; diff --git a/node_modules/uuid/dist-node/nil.js b/node_modules/uuid/dist-node/nil.js new file mode 100644 index 00000000..de6f830e --- /dev/null +++ b/node_modules/uuid/dist-node/nil.js @@ -0,0 +1 @@ +export default '00000000-0000-0000-0000-000000000000'; diff --git a/node_modules/uuid/dist-node/parse.js b/node_modules/uuid/dist-node/parse.js new file mode 100644 index 00000000..64ac401a --- /dev/null +++ b/node_modules/uuid/dist-node/parse.js @@ -0,0 +1,9 @@ +import validate from './validate.js'; +function parse(uuid) { + if (!validate(uuid)) { + throw TypeError('Invalid UUID'); + } + let v; + 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); +} +export default parse; diff --git a/node_modules/uuid/dist/esm-browser/regex.js b/node_modules/uuid/dist-node/regex.js similarity index 74% rename from node_modules/uuid/dist/esm-browser/regex.js rename to node_modules/uuid/dist-node/regex.js index 848a1fea..3e385919 100644 --- a/node_modules/uuid/dist/esm-browser/regex.js +++ b/node_modules/uuid/dist-node/regex.js @@ -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; \ No newline at end of file +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; diff --git a/node_modules/uuid/dist-node/rng.js b/node_modules/uuid/dist-node/rng.js new file mode 100644 index 00000000..0511e897 --- /dev/null +++ b/node_modules/uuid/dist-node/rng.js @@ -0,0 +1,4 @@ +const rnds8 = new Uint8Array(16); +export default function rng() { + return crypto.getRandomValues(rnds8); +} diff --git a/node_modules/uuid/dist-node/sha1.js b/node_modules/uuid/dist-node/sha1.js new file mode 100644 index 00000000..7dfd27cc --- /dev/null +++ b/node_modules/uuid/dist-node/sha1.js @@ -0,0 +1,11 @@ +import { createHash } from 'node:crypto'; +function sha1(bytes) { + if (Array.isArray(bytes)) { + bytes = Buffer.from(bytes); + } + else if (typeof bytes === 'string') { + bytes = Buffer.from(bytes, 'utf8'); + } + return createHash('sha1').update(bytes).digest(); +} +export default sha1; diff --git a/node_modules/uuid/dist-node/stringify.js b/node_modules/uuid/dist-node/stringify.js new file mode 100644 index 00000000..962738cb --- /dev/null +++ b/node_modules/uuid/dist-node/stringify.js @@ -0,0 +1,35 @@ +import validate from './validate.js'; +const byteToHex = []; +for (let i = 0; i < 256; ++i) { + byteToHex.push((i + 0x100).toString(16).slice(1)); +} +export function unsafeStringify(arr, offset = 0) { + 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(); +} +function stringify(arr, offset = 0) { + const uuid = unsafeStringify(arr, offset); + if (!validate(uuid)) { + throw TypeError('Stringified UUID is invalid'); + } + return uuid; +} +export default stringify; diff --git a/node_modules/uuid/dist-node/types.js b/node_modules/uuid/dist-node/types.js new file mode 100644 index 00000000..cb0ff5c3 --- /dev/null +++ b/node_modules/uuid/dist-node/types.js @@ -0,0 +1 @@ +export {}; diff --git a/node_modules/uuid/dist-node/uuid-bin.js b/node_modules/uuid/dist-node/uuid-bin.js new file mode 100644 index 00000000..aa4d4ac4 --- /dev/null +++ b/node_modules/uuid/dist-node/uuid-bin.js @@ -0,0 +1,70 @@ +import * as assert from 'node:assert/strict'; +import v1 from './v1.js'; +import v3 from './v3.js'; +import v4 from './v4.js'; +import v5 from './v5.js'; +import v6 from './v6.js'; +import v7 from './v7.js'; +function usage() { + console.log('Usage:'); + console.log(' uuid'); + console.log(' uuid v1'); + console.log(' uuid v3 '); + console.log(' uuid v4'); + console.log(' uuid v5 '); + console.log(' uuid v6'); + console.log(' uuid v7'); + console.log(' uuid --help'); + console.log('\nNote: may be "URL" or "DNS" to use the corresponding UUIDs defined by RFC9562'); +} +const args = process.argv.slice(2); +if (args.indexOf('--help') >= 0) { + usage(); + process.exit(0); +} +const version = args.shift() || 'v4'; +switch (version) { + case 'v1': + console.log(v1()); + break; + case 'v3': { + const name = args.shift(); + let namespace = args.shift(); + assert.ok(name != null, 'v3 name not specified'); + assert.ok(namespace != null, 'v3 namespace not specified'); + if (namespace === 'URL') { + namespace = v3.URL; + } + if (namespace === 'DNS') { + namespace = v3.DNS; + } + console.log(v3(name, namespace)); + break; + } + case 'v4': + console.log(v4()); + break; + case 'v5': { + const name = args.shift(); + let namespace = args.shift(); + assert.ok(name != null, 'v5 name not specified'); + assert.ok(namespace != null, 'v5 namespace not specified'); + if (namespace === 'URL') { + namespace = v5.URL; + } + if (namespace === 'DNS') { + namespace = v5.DNS; + } + console.log(v5(name, namespace)); + break; + } + case 'v6': + console.log(v6()); + break; + case 'v7': + console.log(v7()); + break; + default: + usage(); + process.exit(1); +} diff --git a/node_modules/uuid/dist-node/v1.js b/node_modules/uuid/dist-node/v1.js new file mode 100644 index 00000000..aa704495 --- /dev/null +++ b/node_modules/uuid/dist-node/v1.js @@ -0,0 +1,87 @@ +import rng from './rng.js'; +import { unsafeStringify } from './stringify.js'; +const _state = {}; +function v1(options, buf, offset) { + let bytes; + const isV6 = options?._v6 ?? false; + if (options) { + const optionsKeys = Object.keys(options); + if (optionsKeys.length === 1 && optionsKeys[0] === '_v6') { + options = undefined; + } + } + if (options) { + bytes = v1Bytes(options.random ?? options.rng?.() ?? rng(), options.msecs, options.nsecs, options.clockseq, options.node, buf, offset); + } + else { + const now = Date.now(); + const rnds = rng(); + updateV1State(_state, now, rnds); + bytes = v1Bytes(rnds, _state.msecs, _state.nsecs, isV6 ? undefined : _state.clockseq, isV6 ? undefined : _state.node, buf, offset); + } + return buf ?? unsafeStringify(bytes); +} +export function updateV1State(state, now, rnds) { + state.msecs ??= -Infinity; + state.nsecs ??= 0; + if (now === state.msecs) { + state.nsecs++; + if (state.nsecs >= 10000) { + state.node = undefined; + state.nsecs = 0; + } + } + else if (now > state.msecs) { + state.nsecs = 0; + } + else if (now < state.msecs) { + state.node = undefined; + } + if (!state.node) { + state.node = rnds.slice(10, 16); + state.node[0] |= 0x01; + state.clockseq = ((rnds[8] << 8) | rnds[9]) & 0x3fff; + } + state.msecs = now; + return state; +} +function v1Bytes(rnds, msecs, nsecs, clockseq, node, buf, offset = 0) { + if (rnds.length < 16) { + throw new Error('Random bytes length must be >= 16'); + } + if (!buf) { + buf = new Uint8Array(16); + offset = 0; + } + else { + if (offset < 0 || offset + 16 > buf.length) { + throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`); + } + } + msecs ??= Date.now(); + nsecs ??= 0; + clockseq ??= ((rnds[8] << 8) | rnds[9]) & 0x3fff; + if (node == null) { + node = rnds.slice(10, 16); + node[0] |= 0x01; + } + msecs += 12219292800000; + const t = (msecs & 0xfffffff) * 10000 + nsecs; + const tl = t >>> 0; + buf[offset++] = (tl >>> 24) & 0xff; + buf[offset++] = (tl >>> 16) & 0xff; + buf[offset++] = (tl >>> 8) & 0xff; + buf[offset++] = tl & 0xff; + const tmh = (((msecs / 0x10000000) | 0) * 625 + ((t / 0x100000000) | 0)) & 0xfffffff; + buf[offset++] = (tmh >>> 8) & 0xff; + buf[offset++] = tmh & 0xff; + buf[offset++] = ((tmh >>> 24) & 0xf) | 0x10; + buf[offset++] = (tmh >>> 16) & 0xff; + buf[offset++] = (clockseq >>> 8) | 0x80; + buf[offset++] = clockseq & 0xff; + for (let n = 0; n < 6; ++n) { + buf[offset++] = node[n]; + } + return buf; +} +export default v1; diff --git a/node_modules/uuid/dist-node/v1ToV6.js b/node_modules/uuid/dist-node/v1ToV6.js new file mode 100644 index 00000000..da0f7634 --- /dev/null +++ b/node_modules/uuid/dist-node/v1ToV6.js @@ -0,0 +1,10 @@ +import parse from './parse.js'; +import { unsafeStringify } from './stringify.js'; +export default function v1ToV6(uuid) { + const v1Bytes = typeof uuid === 'string' ? parse(uuid) : uuid; + const v6Bytes = _v1ToV6(v1Bytes); + return typeof uuid === 'string' ? unsafeStringify(v6Bytes) : v6Bytes; +} +function _v1ToV6(v1Bytes) { + 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]); +} diff --git a/node_modules/uuid/dist-node/v3.js b/node_modules/uuid/dist-node/v3.js new file mode 100644 index 00000000..b5c3781d --- /dev/null +++ b/node_modules/uuid/dist-node/v3.js @@ -0,0 +1,9 @@ +import md5 from './md5.js'; +import v35, { DNS, URL } from './v35.js'; +export { DNS, URL } from './v35.js'; +function v3(value, namespace, buf, offset) { + return v35(0x30, md5, value, namespace, buf, offset); +} +v3.DNS = DNS; +v3.URL = URL; +export default v3; diff --git a/node_modules/uuid/dist-node/v35.js b/node_modules/uuid/dist-node/v35.js new file mode 100644 index 00000000..8c5fc666 --- /dev/null +++ b/node_modules/uuid/dist-node/v35.js @@ -0,0 +1,39 @@ +import parse from './parse.js'; +import { unsafeStringify } from './stringify.js'; +export function stringToBytes(str) { + str = unescape(encodeURIComponent(str)); + const bytes = new Uint8Array(str.length); + for (let i = 0; i < str.length; ++i) { + bytes[i] = str.charCodeAt(i); + } + return bytes; +} +export const DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8'; +export const URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8'; +export default function v35(version, hash, value, namespace, buf, offset) { + const valueBytes = typeof value === 'string' ? stringToBytes(value) : value; + const namespaceBytes = typeof namespace === 'string' ? parse(namespace) : namespace; + if (typeof namespace === 'string') { + namespace = parse(namespace); + } + if (namespace?.length !== 16) { + throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)'); + } + let bytes = new Uint8Array(16 + valueBytes.length); + bytes.set(namespaceBytes); + bytes.set(valueBytes, namespaceBytes.length); + bytes = hash(bytes); + bytes[6] = (bytes[6] & 0x0f) | version; + bytes[8] = (bytes[8] & 0x3f) | 0x80; + if (buf) { + offset ??= 0; + if (offset < 0 || offset + 16 > buf.length) { + throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`); + } + for (let i = 0; i < 16; ++i) { + buf[offset + i] = bytes[i]; + } + return buf; + } + return unsafeStringify(bytes); +} diff --git a/node_modules/uuid/dist-node/v4.js b/node_modules/uuid/dist-node/v4.js new file mode 100644 index 00000000..b3017c9f --- /dev/null +++ b/node_modules/uuid/dist-node/v4.js @@ -0,0 +1,29 @@ +import rng from './rng.js'; +import { unsafeStringify } from './stringify.js'; +function v4(options, buf, offset) { + if (!buf && !options && crypto.randomUUID) { + return crypto.randomUUID(); + } + return _v4(options, buf, offset); +} +function _v4(options, buf, offset) { + options = options || {}; + const rnds = options.random ?? options.rng?.() ?? rng(); + if (rnds.length < 16) { + throw new Error('Random bytes length must be >= 16'); + } + rnds[6] = (rnds[6] & 0x0f) | 0x40; + rnds[8] = (rnds[8] & 0x3f) | 0x80; + if (buf) { + offset = offset || 0; + if (offset < 0 || offset + 16 > buf.length) { + throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`); + } + for (let i = 0; i < 16; ++i) { + buf[offset + i] = rnds[i]; + } + return buf; + } + return unsafeStringify(rnds); +} +export default v4; diff --git a/node_modules/uuid/dist-node/v5.js b/node_modules/uuid/dist-node/v5.js new file mode 100644 index 00000000..bd470a45 --- /dev/null +++ b/node_modules/uuid/dist-node/v5.js @@ -0,0 +1,9 @@ +import sha1 from './sha1.js'; +import v35, { DNS, URL } from './v35.js'; +export { DNS, URL } from './v35.js'; +function v5(value, namespace, buf, offset) { + return v35(0x50, sha1, value, namespace, buf, offset); +} +v5.DNS = DNS; +v5.URL = URL; +export default v5; diff --git a/node_modules/uuid/dist-node/v6.js b/node_modules/uuid/dist-node/v6.js new file mode 100644 index 00000000..bd1fc35e --- /dev/null +++ b/node_modules/uuid/dist-node/v6.js @@ -0,0 +1,20 @@ +import { unsafeStringify } from './stringify.js'; +import v1 from './v1.js'; +import v1ToV6 from './v1ToV6.js'; +function v6(options, buf, offset) { + options ??= {}; + offset ??= 0; + let bytes = v1({ ...options, _v6: true }, new Uint8Array(16)); + bytes = v1ToV6(bytes); + if (buf) { + if (offset < 0 || offset + 16 > buf.length) { + throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`); + } + for (let i = 0; i < 16; i++) { + buf[offset + i] = bytes[i]; + } + return buf; + } + return unsafeStringify(bytes); +} +export default v6; diff --git a/node_modules/uuid/dist-node/v6ToV1.js b/node_modules/uuid/dist-node/v6ToV1.js new file mode 100644 index 00000000..bfd942fd --- /dev/null +++ b/node_modules/uuid/dist-node/v6ToV1.js @@ -0,0 +1,10 @@ +import parse from './parse.js'; +import { unsafeStringify } from './stringify.js'; +export default function v6ToV1(uuid) { + const v6Bytes = typeof uuid === 'string' ? parse(uuid) : uuid; + const v1Bytes = _v6ToV1(v6Bytes); + return typeof uuid === 'string' ? unsafeStringify(v1Bytes) : v1Bytes; +} +function _v6ToV1(v6Bytes) { + return Uint8Array.of(((v6Bytes[3] & 0x0f) << 4) | ((v6Bytes[4] >> 4) & 0x0f), ((v6Bytes[4] & 0x0f) << 4) | ((v6Bytes[5] & 0xf0) >> 4), ((v6Bytes[5] & 0x0f) << 4) | (v6Bytes[6] & 0x0f), v6Bytes[7], ((v6Bytes[1] & 0x0f) << 4) | ((v6Bytes[2] & 0xf0) >> 4), ((v6Bytes[2] & 0x0f) << 4) | ((v6Bytes[3] & 0xf0) >> 4), 0x10 | ((v6Bytes[0] & 0xf0) >> 4), ((v6Bytes[0] & 0x0f) << 4) | ((v6Bytes[1] & 0xf0) >> 4), v6Bytes[8], v6Bytes[9], v6Bytes[10], v6Bytes[11], v6Bytes[12], v6Bytes[13], v6Bytes[14], v6Bytes[15]); +} diff --git a/node_modules/uuid/dist-node/v7.js b/node_modules/uuid/dist-node/v7.js new file mode 100644 index 00000000..a3a68f80 --- /dev/null +++ b/node_modules/uuid/dist-node/v7.js @@ -0,0 +1,68 @@ +import rng from './rng.js'; +import { unsafeStringify } from './stringify.js'; +const _state = {}; +function v7(options, buf, offset) { + let bytes; + if (options) { + bytes = v7Bytes(options.random ?? options.rng?.() ?? rng(), options.msecs, options.seq, buf, offset); + } + else { + const now = Date.now(); + const rnds = rng(); + updateV7State(_state, now, rnds); + bytes = v7Bytes(rnds, _state.msecs, _state.seq, buf, offset); + } + return buf ?? unsafeStringify(bytes); +} +export function updateV7State(state, now, rnds) { + state.msecs ??= -Infinity; + state.seq ??= 0; + if (now > state.msecs) { + state.seq = v7Sequence(rnds); + state.msecs = now; + } + else { + state.seq = (state.seq + 1) | 0; + if (state.seq === 0) { + state.msecs++; + } + } + return state; +} +function v7Bytes(rnds, msecs, seq, buf, offset = 0) { + if (rnds.length < 16) { + throw new Error('Random bytes length must be >= 16'); + } + if (!buf) { + buf = new Uint8Array(16); + offset = 0; + } + else { + if (offset < 0 || offset + 16 > buf.length) { + throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`); + } + } + msecs ??= Date.now(); + seq ??= v7Sequence(rnds); + buf[offset++] = (msecs / 0x10000000000) & 0xff; + buf[offset++] = (msecs / 0x100000000) & 0xff; + buf[offset++] = (msecs / 0x1000000) & 0xff; + buf[offset++] = (msecs / 0x10000) & 0xff; + buf[offset++] = (msecs / 0x100) & 0xff; + buf[offset++] = msecs & 0xff; + buf[offset++] = 0x70 | ((seq >>> 28) & 0x0f); + buf[offset++] = (seq >>> 20) & 0xff; + buf[offset++] = 0x80 | ((seq >>> 14) & 0x3f); + buf[offset++] = (seq >>> 6) & 0xff; + buf[offset++] = ((seq << 2) & 0xff) | (rnds[10] & 0x03); + buf[offset++] = rnds[11]; + buf[offset++] = rnds[12]; + buf[offset++] = rnds[13]; + buf[offset++] = rnds[14]; + buf[offset++] = rnds[15]; + return buf; +} +function v7Sequence(rnds) { + return ((rnds[6] & 0x7f) << 24) | (rnds[7] << 16) | (rnds[8] << 8) | rnds[9]; +} +export default v7; diff --git a/node_modules/uuid/dist-node/validate.js b/node_modules/uuid/dist-node/validate.js new file mode 100644 index 00000000..444a1a2f --- /dev/null +++ b/node_modules/uuid/dist-node/validate.js @@ -0,0 +1,5 @@ +import REGEX from './regex.js'; +function validate(uuid) { + return typeof uuid === 'string' && REGEX.test(uuid); +} +export default validate; diff --git a/node_modules/uuid/dist-node/version.js b/node_modules/uuid/dist-node/version.js new file mode 100644 index 00000000..bae91d3f --- /dev/null +++ b/node_modules/uuid/dist-node/version.js @@ -0,0 +1,8 @@ +import validate from './validate.js'; +function version(uuid) { + if (!validate(uuid)) { + throw TypeError('Invalid UUID'); + } + return parseInt(uuid.slice(14, 15), 16); +} +export default version; diff --git a/node_modules/uuid/dist/bin/uuid b/node_modules/uuid/dist/bin/uuid deleted file mode 100755 index f38d2ee1..00000000 --- a/node_modules/uuid/dist/bin/uuid +++ /dev/null @@ -1,2 +0,0 @@ -#!/usr/bin/env node -require('../uuid-bin'); diff --git a/node_modules/uuid/dist/commonjs-browser/index.js b/node_modules/uuid/dist/commonjs-browser/index.js deleted file mode 100644 index 3e909f49..00000000 --- a/node_modules/uuid/dist/commonjs-browser/index.js +++ /dev/null @@ -1,104 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -Object.defineProperty(exports, "MAX", { - enumerable: true, - get: function get() { - return _max.default; - } -}); -Object.defineProperty(exports, "NIL", { - enumerable: true, - get: function get() { - return _nil.default; - } -}); -Object.defineProperty(exports, "parse", { - enumerable: true, - get: function get() { - return _parse.default; - } -}); -Object.defineProperty(exports, "stringify", { - enumerable: true, - get: function get() { - return _stringify.default; - } -}); -Object.defineProperty(exports, "v1", { - enumerable: true, - get: function get() { - return _v.default; - } -}); -Object.defineProperty(exports, "v1ToV6", { - enumerable: true, - get: function get() { - return _v1ToV.default; - } -}); -Object.defineProperty(exports, "v3", { - enumerable: true, - get: function get() { - return _v2.default; - } -}); -Object.defineProperty(exports, "v4", { - enumerable: true, - get: function get() { - return _v3.default; - } -}); -Object.defineProperty(exports, "v5", { - enumerable: true, - get: function get() { - return _v4.default; - } -}); -Object.defineProperty(exports, "v6", { - enumerable: true, - get: function get() { - return _v5.default; - } -}); -Object.defineProperty(exports, "v6ToV1", { - enumerable: true, - get: function get() { - return _v6ToV.default; - } -}); -Object.defineProperty(exports, "v7", { - enumerable: true, - get: function get() { - return _v6.default; - } -}); -Object.defineProperty(exports, "validate", { - enumerable: true, - get: function get() { - return _validate.default; - } -}); -Object.defineProperty(exports, "version", { - enumerable: true, - get: function get() { - return _version.default; - } -}); -var _max = _interopRequireDefault(require("./max.js")); -var _nil = _interopRequireDefault(require("./nil.js")); -var _parse = _interopRequireDefault(require("./parse.js")); -var _stringify = _interopRequireDefault(require("./stringify.js")); -var _v = _interopRequireDefault(require("./v1.js")); -var _v1ToV = _interopRequireDefault(require("./v1ToV6.js")); -var _v2 = _interopRequireDefault(require("./v3.js")); -var _v3 = _interopRequireDefault(require("./v4.js")); -var _v4 = _interopRequireDefault(require("./v5.js")); -var _v5 = _interopRequireDefault(require("./v6.js")); -var _v6ToV = _interopRequireDefault(require("./v6ToV1.js")); -var _v6 = _interopRequireDefault(require("./v7.js")); -var _validate = _interopRequireDefault(require("./validate.js")); -var _version = _interopRequireDefault(require("./version.js")); -function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } \ No newline at end of file diff --git a/node_modules/uuid/dist/commonjs-browser/max.js b/node_modules/uuid/dist/commonjs-browser/max.js deleted file mode 100644 index 8de76f84..00000000 --- a/node_modules/uuid/dist/commonjs-browser/max.js +++ /dev/null @@ -1,7 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; -var _default = exports.default = 'ffffffff-ffff-ffff-ffff-ffffffffffff'; \ No newline at end of file diff --git a/node_modules/uuid/dist/commonjs-browser/md5.js b/node_modules/uuid/dist/commonjs-browser/md5.js deleted file mode 100644 index a3bf60de..00000000 --- a/node_modules/uuid/dist/commonjs-browser/md5.js +++ /dev/null @@ -1,200 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; -/* - * Browser-compatible JavaScript MD5 - * - * Modification of JavaScript MD5 - * https://github.com/blueimp/JavaScript-MD5 - * - * Copyright 2011, Sebastian Tschan - * https://blueimp.net - * - * Licensed under the MIT license: - * https://opensource.org/licenses/MIT - * - * Based on - * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message - * Digest Algorithm, as defined in RFC 1321. - * Version 2.2 Copyright (C) Paul Johnston 1999 - 2009 - * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet - * Distributed under the BSD License - * See http://pajhome.org.uk/crypt/md5 for more info. - */ -function md5(bytes) { - if (typeof bytes === 'string') { - var msg = unescape(encodeURIComponent(bytes)); // UTF8 escape - - bytes = new Uint8Array(msg.length); - for (var i = 0; i < msg.length; ++i) { - bytes[i] = msg.charCodeAt(i); - } - } - return md5ToHexEncodedArray(wordsToMd5(bytesToWords(bytes), bytes.length * 8)); -} - -/* - * Convert an array of little-endian words to an array of bytes - */ -function md5ToHexEncodedArray(input) { - var output = []; - var length32 = input.length * 32; - var hexTab = '0123456789abcdef'; - for (var i = 0; i < length32; i += 8) { - var x = input[i >> 5] >>> i % 32 & 0xff; - var hex = parseInt(hexTab.charAt(x >>> 4 & 0x0f) + hexTab.charAt(x & 0x0f), 16); - output.push(hex); - } - return output; -} - -/** - * Calculate output length with padding and bit length - */ -function getOutputLength(inputLength8) { - return (inputLength8 + 64 >>> 9 << 4) + 14 + 1; -} - -/* - * Calculate the MD5 of an array of little-endian words, and a bit length. - */ -function wordsToMd5(x, len) { - /* append padding */ - x[len >> 5] |= 0x80 << len % 32; - x[getOutputLength(len) - 1] = len; - var a = 1732584193; - var b = -271733879; - var c = -1732584194; - var d = 271733878; - for (var i = 0; i < x.length; i += 16) { - var olda = a; - var oldb = b; - var oldc = c; - var oldd = d; - a = md5ff(a, b, c, d, x[i], 7, -680876936); - d = md5ff(d, a, b, c, x[i + 1], 12, -389564586); - c = md5ff(c, d, a, b, x[i + 2], 17, 606105819); - b = md5ff(b, c, d, a, x[i + 3], 22, -1044525330); - a = md5ff(a, b, c, d, x[i + 4], 7, -176418897); - d = md5ff(d, a, b, c, x[i + 5], 12, 1200080426); - c = md5ff(c, d, a, b, x[i + 6], 17, -1473231341); - b = md5ff(b, c, d, a, x[i + 7], 22, -45705983); - a = md5ff(a, b, c, d, x[i + 8], 7, 1770035416); - d = md5ff(d, a, b, c, x[i + 9], 12, -1958414417); - c = md5ff(c, d, a, b, x[i + 10], 17, -42063); - b = md5ff(b, c, d, a, x[i + 11], 22, -1990404162); - a = md5ff(a, b, c, d, x[i + 12], 7, 1804603682); - d = md5ff(d, a, b, c, x[i + 13], 12, -40341101); - c = md5ff(c, d, a, b, x[i + 14], 17, -1502002290); - b = md5ff(b, c, d, a, x[i + 15], 22, 1236535329); - a = md5gg(a, b, c, d, x[i + 1], 5, -165796510); - d = md5gg(d, a, b, c, x[i + 6], 9, -1069501632); - c = md5gg(c, d, a, b, x[i + 11], 14, 643717713); - b = md5gg(b, c, d, a, x[i], 20, -373897302); - a = md5gg(a, b, c, d, x[i + 5], 5, -701558691); - d = md5gg(d, a, b, c, x[i + 10], 9, 38016083); - c = md5gg(c, d, a, b, x[i + 15], 14, -660478335); - b = md5gg(b, c, d, a, x[i + 4], 20, -405537848); - a = md5gg(a, b, c, d, x[i + 9], 5, 568446438); - d = md5gg(d, a, b, c, x[i + 14], 9, -1019803690); - c = md5gg(c, d, a, b, x[i + 3], 14, -187363961); - b = md5gg(b, c, d, a, x[i + 8], 20, 1163531501); - a = md5gg(a, b, c, d, x[i + 13], 5, -1444681467); - d = md5gg(d, a, b, c, x[i + 2], 9, -51403784); - c = md5gg(c, d, a, b, x[i + 7], 14, 1735328473); - b = md5gg(b, c, d, a, x[i + 12], 20, -1926607734); - a = md5hh(a, b, c, d, x[i + 5], 4, -378558); - d = md5hh(d, a, b, c, x[i + 8], 11, -2022574463); - c = md5hh(c, d, a, b, x[i + 11], 16, 1839030562); - b = md5hh(b, c, d, a, x[i + 14], 23, -35309556); - a = md5hh(a, b, c, d, x[i + 1], 4, -1530992060); - d = md5hh(d, a, b, c, x[i + 4], 11, 1272893353); - c = md5hh(c, d, a, b, x[i + 7], 16, -155497632); - b = md5hh(b, c, d, a, x[i + 10], 23, -1094730640); - a = md5hh(a, b, c, d, x[i + 13], 4, 681279174); - d = md5hh(d, a, b, c, x[i], 11, -358537222); - c = md5hh(c, d, a, b, x[i + 3], 16, -722521979); - b = md5hh(b, c, d, a, x[i + 6], 23, 76029189); - a = md5hh(a, b, c, d, x[i + 9], 4, -640364487); - d = md5hh(d, a, b, c, x[i + 12], 11, -421815835); - c = md5hh(c, d, a, b, x[i + 15], 16, 530742520); - b = md5hh(b, c, d, a, x[i + 2], 23, -995338651); - a = md5ii(a, b, c, d, x[i], 6, -198630844); - d = md5ii(d, a, b, c, x[i + 7], 10, 1126891415); - c = md5ii(c, d, a, b, x[i + 14], 15, -1416354905); - b = md5ii(b, c, d, a, x[i + 5], 21, -57434055); - a = md5ii(a, b, c, d, x[i + 12], 6, 1700485571); - d = md5ii(d, a, b, c, x[i + 3], 10, -1894986606); - c = md5ii(c, d, a, b, x[i + 10], 15, -1051523); - b = md5ii(b, c, d, a, x[i + 1], 21, -2054922799); - a = md5ii(a, b, c, d, x[i + 8], 6, 1873313359); - d = md5ii(d, a, b, c, x[i + 15], 10, -30611744); - c = md5ii(c, d, a, b, x[i + 6], 15, -1560198380); - b = md5ii(b, c, d, a, x[i + 13], 21, 1309151649); - a = md5ii(a, b, c, d, x[i + 4], 6, -145523070); - d = md5ii(d, a, b, c, x[i + 11], 10, -1120210379); - c = md5ii(c, d, a, b, x[i + 2], 15, 718787259); - b = md5ii(b, c, d, a, x[i + 9], 21, -343485551); - a = safeAdd(a, olda); - b = safeAdd(b, oldb); - c = safeAdd(c, oldc); - d = safeAdd(d, oldd); - } - return [a, b, c, d]; -} - -/* - * Convert an array bytes to an array of little-endian words - * Characters >255 have their high-byte silently ignored. - */ -function bytesToWords(input) { - if (input.length === 0) { - return []; - } - var length8 = input.length * 8; - var output = new Uint32Array(getOutputLength(length8)); - for (var i = 0; i < length8; i += 8) { - output[i >> 5] |= (input[i / 8] & 0xff) << i % 32; - } - return output; -} - -/* - * Add integers, wrapping at 2^32. This uses 16-bit operations internally - * to work around bugs in some JS interpreters. - */ -function safeAdd(x, y) { - var lsw = (x & 0xffff) + (y & 0xffff); - var msw = (x >> 16) + (y >> 16) + (lsw >> 16); - return msw << 16 | lsw & 0xffff; -} - -/* - * Bitwise rotate a 32-bit number to the left. - */ -function bitRotateLeft(num, cnt) { - return num << cnt | num >>> 32 - cnt; -} - -/* - * These functions implement the four basic operations the algorithm uses. - */ -function md5cmn(q, a, b, x, s, t) { - return safeAdd(bitRotateLeft(safeAdd(safeAdd(a, q), safeAdd(x, t)), s), b); -} -function md5ff(a, b, c, d, x, s, t) { - return md5cmn(b & c | ~b & d, a, b, x, s, t); -} -function md5gg(a, b, c, d, x, s, t) { - return md5cmn(b & d | c & ~d, a, b, x, s, t); -} -function md5hh(a, b, c, d, x, s, t) { - return md5cmn(b ^ c ^ d, a, b, x, s, t); -} -function md5ii(a, b, c, d, x, s, t) { - return md5cmn(c ^ (b | ~d), a, b, x, s, t); -} -var _default = exports.default = md5; \ No newline at end of file diff --git a/node_modules/uuid/dist/commonjs-browser/native.js b/node_modules/uuid/dist/commonjs-browser/native.js deleted file mode 100644 index b48d539d..00000000 --- a/node_modules/uuid/dist/commonjs-browser/native.js +++ /dev/null @@ -1,10 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; -var randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto); -var _default = exports.default = { - randomUUID -}; \ No newline at end of file diff --git a/node_modules/uuid/dist/commonjs-browser/nil.js b/node_modules/uuid/dist/commonjs-browser/nil.js deleted file mode 100644 index f7967e90..00000000 --- a/node_modules/uuid/dist/commonjs-browser/nil.js +++ /dev/null @@ -1,7 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; -var _default = exports.default = '00000000-0000-0000-0000-000000000000'; \ No newline at end of file diff --git a/node_modules/uuid/dist/commonjs-browser/parse.js b/node_modules/uuid/dist/commonjs-browser/parse.js deleted file mode 100644 index 8ba8f500..00000000 --- a/node_modules/uuid/dist/commonjs-browser/parse.js +++ /dev/null @@ -1,44 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; -var _validate = _interopRequireDefault(require("./validate.js")); -function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } -function parse(uuid) { - if (!(0, _validate.default)(uuid)) { - throw TypeError('Invalid UUID'); - } - var v; - var arr = new Uint8Array(16); - - // Parse ########-....-....-....-............ - arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24; - arr[1] = v >>> 16 & 0xff; - arr[2] = v >>> 8 & 0xff; - arr[3] = v & 0xff; - - // Parse ........-####-....-....-............ - arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8; - arr[5] = v & 0xff; - - // Parse ........-....-####-....-............ - arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8; - arr[7] = v & 0xff; - - // Parse ........-....-....-####-............ - arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8; - arr[9] = v & 0xff; - - // Parse ........-....-....-....-############ - // (Use "/" to avoid 32-bit truncation when bit-shifting high-order bytes) - arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000 & 0xff; - arr[11] = v / 0x100000000 & 0xff; - arr[12] = v >>> 24 & 0xff; - arr[13] = v >>> 16 & 0xff; - arr[14] = v >>> 8 & 0xff; - arr[15] = v & 0xff; - return arr; -} -var _default = exports.default = parse; \ No newline at end of file diff --git a/node_modules/uuid/dist/commonjs-browser/regex.js b/node_modules/uuid/dist/commonjs-browser/regex.js deleted file mode 100644 index fc02a88e..00000000 --- a/node_modules/uuid/dist/commonjs-browser/regex.js +++ /dev/null @@ -1,7 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; -var _default = exports.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; \ No newline at end of file diff --git a/node_modules/uuid/dist/commonjs-browser/rng.js b/node_modules/uuid/dist/commonjs-browser/rng.js deleted file mode 100644 index 6cf7e98a..00000000 --- a/node_modules/uuid/dist/commonjs-browser/rng.js +++ /dev/null @@ -1,23 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = rng; -// Unique ID creation requires a high quality random # generator. In the browser we therefore -// require the crypto API and do not support built-in fallback to lower quality random number -// generators (like Math.random()). - -var getRandomValues; -var rnds8 = new Uint8Array(16); -function rng() { - // lazy load so that environments that need to polyfill have a chance to do so - if (!getRandomValues) { - // getRandomValues needs to be invoked in a context where "this" is a Crypto implementation. - getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto); - if (!getRandomValues) { - throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported'); - } - } - return getRandomValues(rnds8); -} \ No newline at end of file diff --git a/node_modules/uuid/dist/commonjs-browser/sha1.js b/node_modules/uuid/dist/commonjs-browser/sha1.js deleted file mode 100644 index ae1cf630..00000000 --- a/node_modules/uuid/dist/commonjs-browser/sha1.js +++ /dev/null @@ -1,82 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; -// Adapted from Chris Veness' SHA1 code at -// http://www.movable-type.co.uk/scripts/sha1.html -function f(s, x, y, z) { - switch (s) { - case 0: - return x & y ^ ~x & z; - case 1: - return x ^ y ^ z; - case 2: - return x & y ^ x & z ^ y & z; - case 3: - return x ^ y ^ z; - } -} -function ROTL(x, n) { - return x << n | x >>> 32 - n; -} -function sha1(bytes) { - var K = [0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xca62c1d6]; - var H = [0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0]; - if (typeof bytes === 'string') { - var msg = unescape(encodeURIComponent(bytes)); // UTF8 escape - - bytes = []; - for (var i = 0; i < msg.length; ++i) { - bytes.push(msg.charCodeAt(i)); - } - } else if (!Array.isArray(bytes)) { - // Convert Array-like to Array - bytes = Array.prototype.slice.call(bytes); - } - bytes.push(0x80); - var l = bytes.length / 4 + 2; - var N = Math.ceil(l / 16); - var M = new Array(N); - for (var _i = 0; _i < N; ++_i) { - var arr = new Uint32Array(16); - for (var j = 0; j < 16; ++j) { - 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]; - } - M[_i] = arr; - } - M[N - 1][14] = (bytes.length - 1) * 8 / Math.pow(2, 32); - M[N - 1][14] = Math.floor(M[N - 1][14]); - M[N - 1][15] = (bytes.length - 1) * 8 & 0xffffffff; - for (var _i2 = 0; _i2 < N; ++_i2) { - var W = new Uint32Array(80); - for (var t = 0; t < 16; ++t) { - W[t] = M[_i2][t]; - } - for (var _t = 16; _t < 80; ++_t) { - W[_t] = ROTL(W[_t - 3] ^ W[_t - 8] ^ W[_t - 14] ^ W[_t - 16], 1); - } - var a = H[0]; - var b = H[1]; - var c = H[2]; - var d = H[3]; - var e = H[4]; - for (var _t2 = 0; _t2 < 80; ++_t2) { - var s = Math.floor(_t2 / 20); - var T = ROTL(a, 5) + f(s, b, c, d) + e + K[s] + W[_t2] >>> 0; - e = d; - d = c; - c = ROTL(b, 30) >>> 0; - b = a; - a = T; - } - H[0] = H[0] + a >>> 0; - H[1] = H[1] + b >>> 0; - H[2] = H[2] + c >>> 0; - H[3] = H[3] + d >>> 0; - H[4] = H[4] + e >>> 0; - } - 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]; -} -var _default = exports.default = sha1; \ No newline at end of file diff --git a/node_modules/uuid/dist/commonjs-browser/stringify.js b/node_modules/uuid/dist/commonjs-browser/stringify.js deleted file mode 100644 index 92dec9e0..00000000 --- a/node_modules/uuid/dist/commonjs-browser/stringify.js +++ /dev/null @@ -1,38 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; -exports.unsafeStringify = unsafeStringify; -var _validate = _interopRequireDefault(require("./validate.js")); -function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } -/** - * Convert array of 16 byte values to UUID string format of the form: - * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX - */ -var byteToHex = []; -for (var i = 0; i < 256; ++i) { - byteToHex.push((i + 0x100).toString(16).slice(1)); -} -function unsafeStringify(arr, offset = 0) { - // Note: Be careful editing this code! It's been tuned for performance - // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434 - // - // Note to future-self: No, you can't remove the `toLowerCase()` call. - // REF: https://github.com/uuidjs/uuid/pull/677#issuecomment-1757351351 - 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(); -} -function stringify(arr, offset = 0) { - var uuid = unsafeStringify(arr, offset); - // Consistency check for valid UUID. If this throws, it's likely due to one - // of the following: - // - One or more input array values don't map to a hex octet (leading to - // "undefined" in the uuid) - // - Invalid input values for the RFC `version` or `variant` fields - if (!(0, _validate.default)(uuid)) { - throw TypeError('Stringified UUID is invalid'); - } - return uuid; -} -var _default = exports.default = stringify; \ No newline at end of file diff --git a/node_modules/uuid/dist/commonjs-browser/v1.js b/node_modules/uuid/dist/commonjs-browser/v1.js deleted file mode 100644 index 97892516..00000000 --- a/node_modules/uuid/dist/commonjs-browser/v1.js +++ /dev/null @@ -1,131 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; -var _rng = _interopRequireDefault(require("./rng.js")); -var _stringify = require("./stringify.js"); -function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } -// **`v1()` - Generate time-based UUID** -// -// Inspired by https://github.com/LiosK/UUID.js -// and http://docs.python.org/library/uuid.html - -var _nodeId; -var _clockseq; - -// Previous uuid creation time -var _lastMSecs = 0; -var _lastNSecs = 0; - -// See https://github.com/uuidjs/uuid for API details -function v1(options, buf, offset) { - var i = buf && offset || 0; - var b = buf || new Array(16); - options = options || {}; - var node = options.node; - var clockseq = options.clockseq; - - // v1 only: Use cached `node` and `clockseq` values - if (!options._v6) { - if (!node) { - node = _nodeId; - } - if (clockseq == null) { - clockseq = _clockseq; - } - } - - // Handle cases where we need entropy. We do this lazily to minimize issues - // related to insufficient system entropy. See #189 - if (node == null || clockseq == null) { - var seedBytes = options.random || (options.rng || _rng.default)(); - - // Randomize node - if (node == null) { - node = [seedBytes[0], seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]]; - - // v1 only: cache node value for reuse - if (!_nodeId && !options._v6) { - // per RFC4122 4.5: Set MAC multicast bit (v1 only) - node[0] |= 0x01; // Set multicast bit - - _nodeId = node; - } - } - - // Randomize clockseq - if (clockseq == null) { - // Per 4.2.2, randomize (14 bit) clockseq - clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff; - if (_clockseq === undefined && !options._v6) { - _clockseq = clockseq; - } - } - } - - // v1 & v6 timestamps are 100 nano-second units since the Gregorian epoch, - // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so time is - // handled internally as 'msecs' (integer milliseconds) and 'nsecs' - // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00. - var msecs = options.msecs !== undefined ? options.msecs : Date.now(); - - // Per 4.2.1.2, use count of uuid's generated during the current clock - // cycle to simulate higher resolution clock - var nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1; - - // Time since last uuid creation (in msecs) - var dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 10000; - - // Per 4.2.1.2, Bump clockseq on clock regression - if (dt < 0 && options.clockseq === undefined) { - clockseq = clockseq + 1 & 0x3fff; - } - - // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new - // time interval - if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) { - nsecs = 0; - } - - // Per 4.2.1.2 Throw error if too many uuids are requested - if (nsecs >= 10000) { - throw new Error("uuid.v1(): Can't create more than 10M uuids/sec"); - } - _lastMSecs = msecs; - _lastNSecs = nsecs; - _clockseq = clockseq; - - // Per 4.1.4 - Convert from unix epoch to Gregorian epoch - msecs += 12219292800000; - - // `time_low` - var tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000; - b[i++] = tl >>> 24 & 0xff; - b[i++] = tl >>> 16 & 0xff; - b[i++] = tl >>> 8 & 0xff; - b[i++] = tl & 0xff; - - // `time_mid` - var tmh = msecs / 0x100000000 * 10000 & 0xfffffff; - b[i++] = tmh >>> 8 & 0xff; - b[i++] = tmh & 0xff; - - // `time_high_and_version` - b[i++] = tmh >>> 24 & 0xf | 0x10; // include version - b[i++] = tmh >>> 16 & 0xff; - - // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant) - b[i++] = clockseq >>> 8 | 0x80; - - // `clock_seq_low` - b[i++] = clockseq & 0xff; - - // `node` - for (var n = 0; n < 6; ++n) { - b[i + n] = node[n]; - } - return buf || (0, _stringify.unsafeStringify)(b); -} -var _default = exports.default = v1; \ No newline at end of file diff --git a/node_modules/uuid/dist/commonjs-browser/v1ToV6.js b/node_modules/uuid/dist/commonjs-browser/v1ToV6.js deleted file mode 100644 index 0b431997..00000000 --- a/node_modules/uuid/dist/commonjs-browser/v1ToV6.js +++ /dev/null @@ -1,26 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = v1ToV6; -var _parse = _interopRequireDefault(require("./parse.js")); -var _stringify = require("./stringify.js"); -function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } -/** - * Convert a v1 UUID to a v6 UUID - * - * @param {string|Uint8Array} uuid - The v1 UUID to convert to v6 - * @returns {string|Uint8Array} The v6 UUID as the same type as the `uuid` arg - * (string or Uint8Array) - */ -function v1ToV6(uuid) { - var v1Bytes = typeof uuid === 'string' ? (0, _parse.default)(uuid) : uuid; - var v6Bytes = _v1ToV6(v1Bytes); - return typeof uuid === 'string' ? (0, _stringify.unsafeStringify)(v6Bytes) : v6Bytes; -} - -// Do the field transformation needed for v1 -> v6 -function _v1ToV6(v1Bytes, randomize = false) { - 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]); -} \ No newline at end of file diff --git a/node_modules/uuid/dist/commonjs-browser/v3.js b/node_modules/uuid/dist/commonjs-browser/v3.js deleted file mode 100644 index 8761fc3b..00000000 --- a/node_modules/uuid/dist/commonjs-browser/v3.js +++ /dev/null @@ -1,11 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; -var _v = _interopRequireDefault(require("./v35.js")); -var _md = _interopRequireDefault(require("./md5.js")); -function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } -var v3 = (0, _v.default)('v3', 0x30, _md.default); -var _default = exports.default = v3; \ No newline at end of file diff --git a/node_modules/uuid/dist/commonjs-browser/v35.js b/node_modules/uuid/dist/commonjs-browser/v35.js deleted file mode 100644 index c22c23c0..00000000 --- a/node_modules/uuid/dist/commonjs-browser/v35.js +++ /dev/null @@ -1,63 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.URL = exports.DNS = void 0; -exports.default = v35; -var _stringify = require("./stringify.js"); -var _parse = _interopRequireDefault(require("./parse.js")); -function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } -function stringToBytes(str) { - str = unescape(encodeURIComponent(str)); // UTF8 escape - - var bytes = []; - for (var i = 0; i < str.length; ++i) { - bytes.push(str.charCodeAt(i)); - } - return bytes; -} -var DNS = exports.DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8'; -var URL = exports.URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8'; -function v35(name, version, hashfunc) { - function generateUUID(value, namespace, buf, offset) { - var _namespace; - if (typeof value === 'string') { - value = stringToBytes(value); - } - if (typeof namespace === 'string') { - namespace = (0, _parse.default)(namespace); - } - if (((_namespace = namespace) === null || _namespace === void 0 ? void 0 : _namespace.length) !== 16) { - throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)'); - } - - // Compute hash of namespace and value, Per 4.3 - // Future: Use spread syntax when supported on all platforms, e.g. `bytes = - // hashfunc([...namespace, ... value])` - var bytes = new Uint8Array(16 + value.length); - bytes.set(namespace); - bytes.set(value, namespace.length); - bytes = hashfunc(bytes); - bytes[6] = bytes[6] & 0x0f | version; - bytes[8] = bytes[8] & 0x3f | 0x80; - if (buf) { - offset = offset || 0; - for (var i = 0; i < 16; ++i) { - buf[offset + i] = bytes[i]; - } - return buf; - } - return (0, _stringify.unsafeStringify)(bytes); - } - - // Function#name is not settable on some platforms (#270) - try { - generateUUID.name = name; - } catch (err) {} - - // For CommonJS default export support - generateUUID.DNS = DNS; - generateUUID.URL = URL; - return generateUUID; -} \ No newline at end of file diff --git a/node_modules/uuid/dist/commonjs-browser/v4.js b/node_modules/uuid/dist/commonjs-browser/v4.js deleted file mode 100644 index 2242a3ae..00000000 --- a/node_modules/uuid/dist/commonjs-browser/v4.js +++ /dev/null @@ -1,32 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; -var _native = _interopRequireDefault(require("./native.js")); -var _rng = _interopRequireDefault(require("./rng.js")); -var _stringify = require("./stringify.js"); -function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } -function v4(options, buf, offset) { - if (_native.default.randomUUID && !buf && !options) { - return _native.default.randomUUID(); - } - options = options || {}; - var rnds = options.random || (options.rng || _rng.default)(); - - // Per 4.4, set bits for version and `clock_seq_hi_and_reserved` - rnds[6] = rnds[6] & 0x0f | 0x40; - rnds[8] = rnds[8] & 0x3f | 0x80; - - // Copy bytes to buffer, if provided - if (buf) { - offset = offset || 0; - for (var i = 0; i < 16; ++i) { - buf[offset + i] = rnds[i]; - } - return buf; - } - return (0, _stringify.unsafeStringify)(rnds); -} -var _default = exports.default = v4; \ No newline at end of file diff --git a/node_modules/uuid/dist/commonjs-browser/v5.js b/node_modules/uuid/dist/commonjs-browser/v5.js deleted file mode 100644 index 54ad2cbe..00000000 --- a/node_modules/uuid/dist/commonjs-browser/v5.js +++ /dev/null @@ -1,11 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; -var _v = _interopRequireDefault(require("./v35.js")); -var _sha = _interopRequireDefault(require("./sha1.js")); -function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } -var v5 = (0, _v.default)('v5', 0x50, _sha.default); -var _default = exports.default = v5; \ No newline at end of file diff --git a/node_modules/uuid/dist/commonjs-browser/v6.js b/node_modules/uuid/dist/commonjs-browser/v6.js deleted file mode 100644 index cc4ece9c..00000000 --- a/node_modules/uuid/dist/commonjs-browser/v6.js +++ /dev/null @@ -1,42 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = v6; -var _stringify = require("./stringify.js"); -var _v = _interopRequireDefault(require("./v1.js")); -var _v1ToV = _interopRequireDefault(require("./v1ToV6.js")); -function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } -function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } -function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } -function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } -function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; } -function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } -/** - * - * @param {object} options - * @param {Uint8Array=} buf - * @param {number=} offset - * @returns - */ -function v6(options = {}, buf, offset = 0) { - // v6 is v1 with different field layout, so we start with a v1 UUID, albeit - // with slightly different behavior around how the clock_seq and node fields - // are randomized, which is why we call v1 with _v6: true. - var bytes = (0, _v.default)(_objectSpread(_objectSpread({}, options), {}, { - _v6: true - }), new Uint8Array(16)); - - // Reorder the fields to v6 layout. - bytes = (0, _v1ToV.default)(bytes); - - // Return as a byte array if requested - if (buf) { - for (var i = 0; i < 16; i++) { - buf[offset + i] = bytes[i]; - } - return buf; - } - return (0, _stringify.unsafeStringify)(bytes); -} \ No newline at end of file diff --git a/node_modules/uuid/dist/commonjs-browser/v6ToV1.js b/node_modules/uuid/dist/commonjs-browser/v6ToV1.js deleted file mode 100644 index 3c8350a9..00000000 --- a/node_modules/uuid/dist/commonjs-browser/v6ToV1.js +++ /dev/null @@ -1,26 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = v6ToV1; -var _parse = _interopRequireDefault(require("./parse.js")); -var _stringify = require("./stringify.js"); -function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } -/** - * Convert a v6 UUID to a v1 UUID - * - * @param {string|Uint8Array} uuid - The v6 UUID to convert to v6 - * @returns {string|Uint8Array} The v1 UUID as the same type as the `uuid` arg - * (string or Uint8Array) - */ -function v6ToV1(uuid) { - var v6Bytes = typeof uuid === 'string' ? (0, _parse.default)(uuid) : uuid; - var v1Bytes = _v6ToV1(v6Bytes); - return typeof uuid === 'string' ? (0, _stringify.unsafeStringify)(v1Bytes) : v1Bytes; -} - -// Do the field transformation needed for v6 -> v1 -function _v6ToV1(v6Bytes) { - return Uint8Array.of((v6Bytes[3] & 0x0f) << 4 | v6Bytes[4] >> 4 & 0x0f, (v6Bytes[4] & 0x0f) << 4 | (v6Bytes[5] & 0xf0) >> 4, (v6Bytes[5] & 0x0f) << 4 | v6Bytes[6] & 0x0f, v6Bytes[7], (v6Bytes[1] & 0x0f) << 4 | (v6Bytes[2] & 0xf0) >> 4, (v6Bytes[2] & 0x0f) << 4 | (v6Bytes[3] & 0xf0) >> 4, 0x10 | (v6Bytes[0] & 0xf0) >> 4, (v6Bytes[0] & 0x0f) << 4 | (v6Bytes[1] & 0xf0) >> 4, v6Bytes[8], v6Bytes[9], v6Bytes[10], v6Bytes[11], v6Bytes[12], v6Bytes[13], v6Bytes[14], v6Bytes[15]); -} \ No newline at end of file diff --git a/node_modules/uuid/dist/commonjs-browser/v7.js b/node_modules/uuid/dist/commonjs-browser/v7.js deleted file mode 100644 index 2e42801c..00000000 --- a/node_modules/uuid/dist/commonjs-browser/v7.js +++ /dev/null @@ -1,152 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; -var _rng = _interopRequireDefault(require("./rng.js")); -var _stringify = require("./stringify.js"); -function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } -/** - * UUID V7 - Unix Epoch time-based UUID - * - * The IETF has published RFC9562, introducing 3 new UUID versions (6,7,8). This - * implementation of V7 is based on the accepted, though not yet approved, - * revisions. - * - * RFC 9562:https://www.rfc-editor.org/rfc/rfc9562.html Universally Unique - * IDentifiers (UUIDs) - - * - * Sample V7 value: - * https://www.rfc-editor.org/rfc/rfc9562.html#name-example-of-a-uuidv7-value - * - * Monotonic Bit Layout: RFC rfc9562.6.2 Method 1, Dedicated Counter Bits ref: - * https://www.rfc-editor.org/rfc/rfc9562.html#section-6.2-5.1 - * - * 0 1 2 3 0 1 2 3 4 5 6 - * 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 - * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - * | unix_ts_ms | - * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - * | unix_ts_ms | ver | seq_hi | - * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - * |var| seq_low | rand | - * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - * | rand | - * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - * - * seq is a 31 bit serialized counter; comprised of 12 bit seq_hi and 19 bit - * seq_low, and randomly initialized upon timestamp change. 31 bit counter size - * was selected as any bitwise operations in node are done as _signed_ 32 bit - * ints. we exclude the sign bit. - */ - -var _seqLow = null; -var _seqHigh = null; -var _msecs = 0; -function v7(options, buf, offset) { - options = options || {}; - - // initialize buffer and pointer - var i = buf && offset || 0; - var b = buf || new Uint8Array(16); - - // rnds is Uint8Array(16) filled with random bytes - var rnds = options.random || (options.rng || _rng.default)(); - - // milliseconds since unix epoch, 1970-01-01 00:00 - var msecs = options.msecs !== undefined ? options.msecs : Date.now(); - - // seq is user provided 31 bit counter - var seq = options.seq !== undefined ? options.seq : null; - - // initialize local seq high/low parts - var seqHigh = _seqHigh; - var seqLow = _seqLow; - - // check if clock has advanced and user has not provided msecs - if (msecs > _msecs && options.msecs === undefined) { - _msecs = msecs; - - // unless user provided seq, reset seq parts - if (seq !== null) { - seqHigh = null; - seqLow = null; - } - } - - // if we have a user provided seq - if (seq !== null) { - // trim provided seq to 31 bits of value, avoiding overflow - if (seq > 0x7fffffff) { - seq = 0x7fffffff; - } - - // split provided seq into high/low parts - seqHigh = seq >>> 19 & 0xfff; - seqLow = seq & 0x7ffff; - } - - // randomly initialize seq - if (seqHigh === null || seqLow === null) { - seqHigh = rnds[6] & 0x7f; - seqHigh = seqHigh << 8 | rnds[7]; - seqLow = rnds[8] & 0x3f; // pad for var - seqLow = seqLow << 8 | rnds[9]; - seqLow = seqLow << 5 | rnds[10] >>> 3; - } - - // increment seq if within msecs window - if (msecs + 10000 > _msecs && seq === null) { - if (++seqLow > 0x7ffff) { - seqLow = 0; - if (++seqHigh > 0xfff) { - seqHigh = 0; - - // increment internal _msecs. this allows us to continue incrementing - // while staying monotonic. Note, once we hit 10k milliseconds beyond system - // clock, we will reset breaking monotonicity (after (2^31)*10000 generations) - _msecs++; - } - } - } else { - // resetting; we have advanced more than - // 10k milliseconds beyond system clock - _msecs = msecs; - } - _seqHigh = seqHigh; - _seqLow = seqLow; - - // [bytes 0-5] 48 bits of local timestamp - b[i++] = _msecs / 0x10000000000 & 0xff; - b[i++] = _msecs / 0x100000000 & 0xff; - b[i++] = _msecs / 0x1000000 & 0xff; - b[i++] = _msecs / 0x10000 & 0xff; - b[i++] = _msecs / 0x100 & 0xff; - b[i++] = _msecs & 0xff; - - // [byte 6] - set 4 bits of version (7) with first 4 bits seq_hi - b[i++] = seqHigh >>> 4 & 0x0f | 0x70; - - // [byte 7] remaining 8 bits of seq_hi - b[i++] = seqHigh & 0xff; - - // [byte 8] - variant (2 bits), first 6 bits seq_low - b[i++] = seqLow >>> 13 & 0x3f | 0x80; - - // [byte 9] 8 bits seq_low - b[i++] = seqLow >>> 5 & 0xff; - - // [byte 10] remaining 5 bits seq_low, 3 bits random - b[i++] = seqLow << 3 & 0xff | rnds[10] & 0x07; - - // [bytes 11-15] always random - b[i++] = rnds[11]; - b[i++] = rnds[12]; - b[i++] = rnds[13]; - b[i++] = rnds[14]; - b[i++] = rnds[15]; - return buf || (0, _stringify.unsafeStringify)(b); -} -var _default = exports.default = v7; \ No newline at end of file diff --git a/node_modules/uuid/dist/commonjs-browser/validate.js b/node_modules/uuid/dist/commonjs-browser/validate.js deleted file mode 100644 index d47181aa..00000000 --- a/node_modules/uuid/dist/commonjs-browser/validate.js +++ /dev/null @@ -1,12 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; -var _regex = _interopRequireDefault(require("./regex.js")); -function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } -function validate(uuid) { - return typeof uuid === 'string' && _regex.default.test(uuid); -} -var _default = exports.default = validate; \ No newline at end of file diff --git a/node_modules/uuid/dist/commonjs-browser/version.js b/node_modules/uuid/dist/commonjs-browser/version.js deleted file mode 100644 index 0c6bbdd5..00000000 --- a/node_modules/uuid/dist/commonjs-browser/version.js +++ /dev/null @@ -1,15 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; -var _validate = _interopRequireDefault(require("./validate.js")); -function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } -function version(uuid) { - if (!(0, _validate.default)(uuid)) { - throw TypeError('Invalid UUID'); - } - return parseInt(uuid.slice(14, 15), 16); -} -var _default = exports.default = version; \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-browser/max.js b/node_modules/uuid/dist/esm-browser/max.js deleted file mode 100644 index f46a281f..00000000 --- a/node_modules/uuid/dist/esm-browser/max.js +++ /dev/null @@ -1 +0,0 @@ -export default 'ffffffff-ffff-ffff-ffff-ffffffffffff'; \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-browser/md5.js b/node_modules/uuid/dist/esm-browser/md5.js deleted file mode 100644 index 82d170e7..00000000 --- a/node_modules/uuid/dist/esm-browser/md5.js +++ /dev/null @@ -1,194 +0,0 @@ -/* - * Browser-compatible JavaScript MD5 - * - * Modification of JavaScript MD5 - * https://github.com/blueimp/JavaScript-MD5 - * - * Copyright 2011, Sebastian Tschan - * https://blueimp.net - * - * Licensed under the MIT license: - * https://opensource.org/licenses/MIT - * - * Based on - * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message - * Digest Algorithm, as defined in RFC 1321. - * Version 2.2 Copyright (C) Paul Johnston 1999 - 2009 - * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet - * Distributed under the BSD License - * See http://pajhome.org.uk/crypt/md5 for more info. - */ -function md5(bytes) { - if (typeof bytes === 'string') { - var msg = unescape(encodeURIComponent(bytes)); // UTF8 escape - - bytes = new Uint8Array(msg.length); - for (var i = 0; i < msg.length; ++i) { - bytes[i] = msg.charCodeAt(i); - } - } - return md5ToHexEncodedArray(wordsToMd5(bytesToWords(bytes), bytes.length * 8)); -} - -/* - * Convert an array of little-endian words to an array of bytes - */ -function md5ToHexEncodedArray(input) { - var output = []; - var length32 = input.length * 32; - var hexTab = '0123456789abcdef'; - for (var i = 0; i < length32; i += 8) { - var x = input[i >> 5] >>> i % 32 & 0xff; - var hex = parseInt(hexTab.charAt(x >>> 4 & 0x0f) + hexTab.charAt(x & 0x0f), 16); - output.push(hex); - } - return output; -} - -/** - * Calculate output length with padding and bit length - */ -function getOutputLength(inputLength8) { - return (inputLength8 + 64 >>> 9 << 4) + 14 + 1; -} - -/* - * Calculate the MD5 of an array of little-endian words, and a bit length. - */ -function wordsToMd5(x, len) { - /* append padding */ - x[len >> 5] |= 0x80 << len % 32; - x[getOutputLength(len) - 1] = len; - var a = 1732584193; - var b = -271733879; - var c = -1732584194; - var d = 271733878; - for (var i = 0; i < x.length; i += 16) { - var olda = a; - var oldb = b; - var oldc = c; - var oldd = d; - a = md5ff(a, b, c, d, x[i], 7, -680876936); - d = md5ff(d, a, b, c, x[i + 1], 12, -389564586); - c = md5ff(c, d, a, b, x[i + 2], 17, 606105819); - b = md5ff(b, c, d, a, x[i + 3], 22, -1044525330); - a = md5ff(a, b, c, d, x[i + 4], 7, -176418897); - d = md5ff(d, a, b, c, x[i + 5], 12, 1200080426); - c = md5ff(c, d, a, b, x[i + 6], 17, -1473231341); - b = md5ff(b, c, d, a, x[i + 7], 22, -45705983); - a = md5ff(a, b, c, d, x[i + 8], 7, 1770035416); - d = md5ff(d, a, b, c, x[i + 9], 12, -1958414417); - c = md5ff(c, d, a, b, x[i + 10], 17, -42063); - b = md5ff(b, c, d, a, x[i + 11], 22, -1990404162); - a = md5ff(a, b, c, d, x[i + 12], 7, 1804603682); - d = md5ff(d, a, b, c, x[i + 13], 12, -40341101); - c = md5ff(c, d, a, b, x[i + 14], 17, -1502002290); - b = md5ff(b, c, d, a, x[i + 15], 22, 1236535329); - a = md5gg(a, b, c, d, x[i + 1], 5, -165796510); - d = md5gg(d, a, b, c, x[i + 6], 9, -1069501632); - c = md5gg(c, d, a, b, x[i + 11], 14, 643717713); - b = md5gg(b, c, d, a, x[i], 20, -373897302); - a = md5gg(a, b, c, d, x[i + 5], 5, -701558691); - d = md5gg(d, a, b, c, x[i + 10], 9, 38016083); - c = md5gg(c, d, a, b, x[i + 15], 14, -660478335); - b = md5gg(b, c, d, a, x[i + 4], 20, -405537848); - a = md5gg(a, b, c, d, x[i + 9], 5, 568446438); - d = md5gg(d, a, b, c, x[i + 14], 9, -1019803690); - c = md5gg(c, d, a, b, x[i + 3], 14, -187363961); - b = md5gg(b, c, d, a, x[i + 8], 20, 1163531501); - a = md5gg(a, b, c, d, x[i + 13], 5, -1444681467); - d = md5gg(d, a, b, c, x[i + 2], 9, -51403784); - c = md5gg(c, d, a, b, x[i + 7], 14, 1735328473); - b = md5gg(b, c, d, a, x[i + 12], 20, -1926607734); - a = md5hh(a, b, c, d, x[i + 5], 4, -378558); - d = md5hh(d, a, b, c, x[i + 8], 11, -2022574463); - c = md5hh(c, d, a, b, x[i + 11], 16, 1839030562); - b = md5hh(b, c, d, a, x[i + 14], 23, -35309556); - a = md5hh(a, b, c, d, x[i + 1], 4, -1530992060); - d = md5hh(d, a, b, c, x[i + 4], 11, 1272893353); - c = md5hh(c, d, a, b, x[i + 7], 16, -155497632); - b = md5hh(b, c, d, a, x[i + 10], 23, -1094730640); - a = md5hh(a, b, c, d, x[i + 13], 4, 681279174); - d = md5hh(d, a, b, c, x[i], 11, -358537222); - c = md5hh(c, d, a, b, x[i + 3], 16, -722521979); - b = md5hh(b, c, d, a, x[i + 6], 23, 76029189); - a = md5hh(a, b, c, d, x[i + 9], 4, -640364487); - d = md5hh(d, a, b, c, x[i + 12], 11, -421815835); - c = md5hh(c, d, a, b, x[i + 15], 16, 530742520); - b = md5hh(b, c, d, a, x[i + 2], 23, -995338651); - a = md5ii(a, b, c, d, x[i], 6, -198630844); - d = md5ii(d, a, b, c, x[i + 7], 10, 1126891415); - c = md5ii(c, d, a, b, x[i + 14], 15, -1416354905); - b = md5ii(b, c, d, a, x[i + 5], 21, -57434055); - a = md5ii(a, b, c, d, x[i + 12], 6, 1700485571); - d = md5ii(d, a, b, c, x[i + 3], 10, -1894986606); - c = md5ii(c, d, a, b, x[i + 10], 15, -1051523); - b = md5ii(b, c, d, a, x[i + 1], 21, -2054922799); - a = md5ii(a, b, c, d, x[i + 8], 6, 1873313359); - d = md5ii(d, a, b, c, x[i + 15], 10, -30611744); - c = md5ii(c, d, a, b, x[i + 6], 15, -1560198380); - b = md5ii(b, c, d, a, x[i + 13], 21, 1309151649); - a = md5ii(a, b, c, d, x[i + 4], 6, -145523070); - d = md5ii(d, a, b, c, x[i + 11], 10, -1120210379); - c = md5ii(c, d, a, b, x[i + 2], 15, 718787259); - b = md5ii(b, c, d, a, x[i + 9], 21, -343485551); - a = safeAdd(a, olda); - b = safeAdd(b, oldb); - c = safeAdd(c, oldc); - d = safeAdd(d, oldd); - } - return [a, b, c, d]; -} - -/* - * Convert an array bytes to an array of little-endian words - * Characters >255 have their high-byte silently ignored. - */ -function bytesToWords(input) { - if (input.length === 0) { - return []; - } - var length8 = input.length * 8; - var output = new Uint32Array(getOutputLength(length8)); - for (var i = 0; i < length8; i += 8) { - output[i >> 5] |= (input[i / 8] & 0xff) << i % 32; - } - return output; -} - -/* - * Add integers, wrapping at 2^32. This uses 16-bit operations internally - * to work around bugs in some JS interpreters. - */ -function safeAdd(x, y) { - var lsw = (x & 0xffff) + (y & 0xffff); - var msw = (x >> 16) + (y >> 16) + (lsw >> 16); - return msw << 16 | lsw & 0xffff; -} - -/* - * Bitwise rotate a 32-bit number to the left. - */ -function bitRotateLeft(num, cnt) { - return num << cnt | num >>> 32 - cnt; -} - -/* - * These functions implement the four basic operations the algorithm uses. - */ -function md5cmn(q, a, b, x, s, t) { - return safeAdd(bitRotateLeft(safeAdd(safeAdd(a, q), safeAdd(x, t)), s), b); -} -function md5ff(a, b, c, d, x, s, t) { - return md5cmn(b & c | ~b & d, a, b, x, s, t); -} -function md5gg(a, b, c, d, x, s, t) { - return md5cmn(b & d | c & ~d, a, b, x, s, t); -} -function md5hh(a, b, c, d, x, s, t) { - return md5cmn(b ^ c ^ d, a, b, x, s, t); -} -function md5ii(a, b, c, d, x, s, t) { - return md5cmn(c ^ (b | ~d), a, b, x, s, t); -} -export default md5; \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-browser/native.js b/node_modules/uuid/dist/esm-browser/native.js deleted file mode 100644 index ba09dec7..00000000 --- a/node_modules/uuid/dist/esm-browser/native.js +++ /dev/null @@ -1,4 +0,0 @@ -var randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto); -export default { - randomUUID -}; \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-browser/nil.js b/node_modules/uuid/dist/esm-browser/nil.js deleted file mode 100644 index b36324c2..00000000 --- a/node_modules/uuid/dist/esm-browser/nil.js +++ /dev/null @@ -1 +0,0 @@ -export default '00000000-0000-0000-0000-000000000000'; \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-browser/parse.js b/node_modules/uuid/dist/esm-browser/parse.js deleted file mode 100644 index 87588317..00000000 --- a/node_modules/uuid/dist/esm-browser/parse.js +++ /dev/null @@ -1,37 +0,0 @@ -import validate from './validate.js'; -function parse(uuid) { - if (!validate(uuid)) { - throw TypeError('Invalid UUID'); - } - var v; - var arr = new Uint8Array(16); - - // Parse ########-....-....-....-............ - arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24; - arr[1] = v >>> 16 & 0xff; - arr[2] = v >>> 8 & 0xff; - arr[3] = v & 0xff; - - // Parse ........-####-....-....-............ - arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8; - arr[5] = v & 0xff; - - // Parse ........-....-####-....-............ - arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8; - arr[7] = v & 0xff; - - // Parse ........-....-....-####-............ - arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8; - arr[9] = v & 0xff; - - // Parse ........-....-....-....-############ - // (Use "/" to avoid 32-bit truncation when bit-shifting high-order bytes) - arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000 & 0xff; - arr[11] = v / 0x100000000 & 0xff; - arr[12] = v >>> 24 & 0xff; - arr[13] = v >>> 16 & 0xff; - arr[14] = v >>> 8 & 0xff; - arr[15] = v & 0xff; - return arr; -} -export default parse; \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-browser/rng.js b/node_modules/uuid/dist/esm-browser/rng.js deleted file mode 100644 index e54d3888..00000000 --- a/node_modules/uuid/dist/esm-browser/rng.js +++ /dev/null @@ -1,17 +0,0 @@ -// Unique ID creation requires a high quality random # generator. In the browser we therefore -// require the crypto API and do not support built-in fallback to lower quality random number -// generators (like Math.random()). - -var getRandomValues; -var rnds8 = new Uint8Array(16); -export default function rng() { - // lazy load so that environments that need to polyfill have a chance to do so - if (!getRandomValues) { - // getRandomValues needs to be invoked in a context where "this" is a Crypto implementation. - getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto); - if (!getRandomValues) { - throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported'); - } - } - return getRandomValues(rnds8); -} \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-browser/sha1.js b/node_modules/uuid/dist/esm-browser/sha1.js deleted file mode 100644 index bd883115..00000000 --- a/node_modules/uuid/dist/esm-browser/sha1.js +++ /dev/null @@ -1,76 +0,0 @@ -// Adapted from Chris Veness' SHA1 code at -// http://www.movable-type.co.uk/scripts/sha1.html -function f(s, x, y, z) { - switch (s) { - case 0: - return x & y ^ ~x & z; - case 1: - return x ^ y ^ z; - case 2: - return x & y ^ x & z ^ y & z; - case 3: - return x ^ y ^ z; - } -} -function ROTL(x, n) { - return x << n | x >>> 32 - n; -} -function sha1(bytes) { - var K = [0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xca62c1d6]; - var H = [0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0]; - if (typeof bytes === 'string') { - var msg = unescape(encodeURIComponent(bytes)); // UTF8 escape - - bytes = []; - for (var i = 0; i < msg.length; ++i) { - bytes.push(msg.charCodeAt(i)); - } - } else if (!Array.isArray(bytes)) { - // Convert Array-like to Array - bytes = Array.prototype.slice.call(bytes); - } - bytes.push(0x80); - var l = bytes.length / 4 + 2; - var N = Math.ceil(l / 16); - var M = new Array(N); - for (var _i = 0; _i < N; ++_i) { - var arr = new Uint32Array(16); - for (var j = 0; j < 16; ++j) { - 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]; - } - M[_i] = arr; - } - M[N - 1][14] = (bytes.length - 1) * 8 / Math.pow(2, 32); - M[N - 1][14] = Math.floor(M[N - 1][14]); - M[N - 1][15] = (bytes.length - 1) * 8 & 0xffffffff; - for (var _i2 = 0; _i2 < N; ++_i2) { - var W = new Uint32Array(80); - for (var t = 0; t < 16; ++t) { - W[t] = M[_i2][t]; - } - for (var _t = 16; _t < 80; ++_t) { - W[_t] = ROTL(W[_t - 3] ^ W[_t - 8] ^ W[_t - 14] ^ W[_t - 16], 1); - } - var a = H[0]; - var b = H[1]; - var c = H[2]; - var d = H[3]; - var e = H[4]; - for (var _t2 = 0; _t2 < 80; ++_t2) { - var s = Math.floor(_t2 / 20); - var T = ROTL(a, 5) + f(s, b, c, d) + e + K[s] + W[_t2] >>> 0; - e = d; - d = c; - c = ROTL(b, 30) >>> 0; - b = a; - a = T; - } - H[0] = H[0] + a >>> 0; - H[1] = H[1] + b >>> 0; - H[2] = H[2] + c >>> 0; - H[3] = H[3] + d >>> 0; - H[4] = H[4] + e >>> 0; - } - 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]; -} -export default sha1; \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-browser/stringify.js b/node_modules/uuid/dist/esm-browser/stringify.js deleted file mode 100644 index 0a9cf408..00000000 --- a/node_modules/uuid/dist/esm-browser/stringify.js +++ /dev/null @@ -1,31 +0,0 @@ -import validate from './validate.js'; - -/** - * Convert array of 16 byte values to UUID string format of the form: - * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX - */ -var byteToHex = []; -for (var i = 0; i < 256; ++i) { - byteToHex.push((i + 0x100).toString(16).slice(1)); -} -export function unsafeStringify(arr, offset = 0) { - // Note: Be careful editing this code! It's been tuned for performance - // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434 - // - // Note to future-self: No, you can't remove the `toLowerCase()` call. - // REF: https://github.com/uuidjs/uuid/pull/677#issuecomment-1757351351 - 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(); -} -function stringify(arr, offset = 0) { - var uuid = unsafeStringify(arr, offset); - // Consistency check for valid UUID. If this throws, it's likely due to one - // of the following: - // - One or more input array values don't map to a hex octet (leading to - // "undefined" in the uuid) - // - Invalid input values for the RFC `version` or `variant` fields - if (!validate(uuid)) { - throw TypeError('Stringified UUID is invalid'); - } - return uuid; -} -export default stringify; \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-browser/v1.js b/node_modules/uuid/dist/esm-browser/v1.js deleted file mode 100644 index d42a904e..00000000 --- a/node_modules/uuid/dist/esm-browser/v1.js +++ /dev/null @@ -1,125 +0,0 @@ -import rng from './rng.js'; -import { unsafeStringify } from './stringify.js'; - -// **`v1()` - Generate time-based UUID** -// -// Inspired by https://github.com/LiosK/UUID.js -// and http://docs.python.org/library/uuid.html - -var _nodeId; -var _clockseq; - -// Previous uuid creation time -var _lastMSecs = 0; -var _lastNSecs = 0; - -// See https://github.com/uuidjs/uuid for API details -function v1(options, buf, offset) { - var i = buf && offset || 0; - var b = buf || new Array(16); - options = options || {}; - var node = options.node; - var clockseq = options.clockseq; - - // v1 only: Use cached `node` and `clockseq` values - if (!options._v6) { - if (!node) { - node = _nodeId; - } - if (clockseq == null) { - clockseq = _clockseq; - } - } - - // Handle cases where we need entropy. We do this lazily to minimize issues - // related to insufficient system entropy. See #189 - if (node == null || clockseq == null) { - var seedBytes = options.random || (options.rng || rng)(); - - // Randomize node - if (node == null) { - node = [seedBytes[0], seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]]; - - // v1 only: cache node value for reuse - if (!_nodeId && !options._v6) { - // per RFC4122 4.5: Set MAC multicast bit (v1 only) - node[0] |= 0x01; // Set multicast bit - - _nodeId = node; - } - } - - // Randomize clockseq - if (clockseq == null) { - // Per 4.2.2, randomize (14 bit) clockseq - clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff; - if (_clockseq === undefined && !options._v6) { - _clockseq = clockseq; - } - } - } - - // v1 & v6 timestamps are 100 nano-second units since the Gregorian epoch, - // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so time is - // handled internally as 'msecs' (integer milliseconds) and 'nsecs' - // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00. - var msecs = options.msecs !== undefined ? options.msecs : Date.now(); - - // Per 4.2.1.2, use count of uuid's generated during the current clock - // cycle to simulate higher resolution clock - var nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1; - - // Time since last uuid creation (in msecs) - var dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 10000; - - // Per 4.2.1.2, Bump clockseq on clock regression - if (dt < 0 && options.clockseq === undefined) { - clockseq = clockseq + 1 & 0x3fff; - } - - // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new - // time interval - if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) { - nsecs = 0; - } - - // Per 4.2.1.2 Throw error if too many uuids are requested - if (nsecs >= 10000) { - throw new Error("uuid.v1(): Can't create more than 10M uuids/sec"); - } - _lastMSecs = msecs; - _lastNSecs = nsecs; - _clockseq = clockseq; - - // Per 4.1.4 - Convert from unix epoch to Gregorian epoch - msecs += 12219292800000; - - // `time_low` - var tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000; - b[i++] = tl >>> 24 & 0xff; - b[i++] = tl >>> 16 & 0xff; - b[i++] = tl >>> 8 & 0xff; - b[i++] = tl & 0xff; - - // `time_mid` - var tmh = msecs / 0x100000000 * 10000 & 0xfffffff; - b[i++] = tmh >>> 8 & 0xff; - b[i++] = tmh & 0xff; - - // `time_high_and_version` - b[i++] = tmh >>> 24 & 0xf | 0x10; // include version - b[i++] = tmh >>> 16 & 0xff; - - // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant) - b[i++] = clockseq >>> 8 | 0x80; - - // `clock_seq_low` - b[i++] = clockseq & 0xff; - - // `node` - for (var n = 0; n < 6; ++n) { - b[i + n] = node[n]; - } - return buf || unsafeStringify(b); -} -export default v1; \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-browser/v1ToV6.js b/node_modules/uuid/dist/esm-browser/v1ToV6.js deleted file mode 100644 index e4ecc291..00000000 --- a/node_modules/uuid/dist/esm-browser/v1ToV6.js +++ /dev/null @@ -1,20 +0,0 @@ -import parse from './parse.js'; -import { unsafeStringify } from './stringify.js'; - -/** - * Convert a v1 UUID to a v6 UUID - * - * @param {string|Uint8Array} uuid - The v1 UUID to convert to v6 - * @returns {string|Uint8Array} The v6 UUID as the same type as the `uuid` arg - * (string or Uint8Array) - */ -export default function v1ToV6(uuid) { - var v1Bytes = typeof uuid === 'string' ? parse(uuid) : uuid; - var v6Bytes = _v1ToV6(v1Bytes); - return typeof uuid === 'string' ? unsafeStringify(v6Bytes) : v6Bytes; -} - -// Do the field transformation needed for v1 -> v6 -function _v1ToV6(v1Bytes, randomize = false) { - 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]); -} \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-browser/v3.js b/node_modules/uuid/dist/esm-browser/v3.js deleted file mode 100644 index c9ab9a4c..00000000 --- a/node_modules/uuid/dist/esm-browser/v3.js +++ /dev/null @@ -1,4 +0,0 @@ -import v35 from './v35.js'; -import md5 from './md5.js'; -var v3 = v35('v3', 0x30, md5); -export default v3; \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-browser/v35.js b/node_modules/uuid/dist/esm-browser/v35.js deleted file mode 100644 index e5fd93fb..00000000 --- a/node_modules/uuid/dist/esm-browser/v35.js +++ /dev/null @@ -1,55 +0,0 @@ -import { unsafeStringify } from './stringify.js'; -import parse from './parse.js'; -function stringToBytes(str) { - str = unescape(encodeURIComponent(str)); // UTF8 escape - - var bytes = []; - for (var i = 0; i < str.length; ++i) { - bytes.push(str.charCodeAt(i)); - } - return bytes; -} -export var DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8'; -export var URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8'; -export default function v35(name, version, hashfunc) { - function generateUUID(value, namespace, buf, offset) { - var _namespace; - if (typeof value === 'string') { - value = stringToBytes(value); - } - if (typeof namespace === 'string') { - namespace = parse(namespace); - } - if (((_namespace = namespace) === null || _namespace === void 0 ? void 0 : _namespace.length) !== 16) { - throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)'); - } - - // Compute hash of namespace and value, Per 4.3 - // Future: Use spread syntax when supported on all platforms, e.g. `bytes = - // hashfunc([...namespace, ... value])` - var bytes = new Uint8Array(16 + value.length); - bytes.set(namespace); - bytes.set(value, namespace.length); - bytes = hashfunc(bytes); - bytes[6] = bytes[6] & 0x0f | version; - bytes[8] = bytes[8] & 0x3f | 0x80; - if (buf) { - offset = offset || 0; - for (var i = 0; i < 16; ++i) { - buf[offset + i] = bytes[i]; - } - return buf; - } - return unsafeStringify(bytes); - } - - // Function#name is not settable on some platforms (#270) - try { - generateUUID.name = name; - } catch (err) {} - - // For CommonJS default export support - generateUUID.DNS = DNS; - generateUUID.URL = URL; - return generateUUID; -} \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-browser/v4.js b/node_modules/uuid/dist/esm-browser/v4.js deleted file mode 100644 index f107002b..00000000 --- a/node_modules/uuid/dist/esm-browser/v4.js +++ /dev/null @@ -1,25 +0,0 @@ -import native from './native.js'; -import rng from './rng.js'; -import { unsafeStringify } from './stringify.js'; -function v4(options, buf, offset) { - if (native.randomUUID && !buf && !options) { - return native.randomUUID(); - } - options = options || {}; - var rnds = options.random || (options.rng || rng)(); - - // Per 4.4, set bits for version and `clock_seq_hi_and_reserved` - rnds[6] = rnds[6] & 0x0f | 0x40; - rnds[8] = rnds[8] & 0x3f | 0x80; - - // Copy bytes to buffer, if provided - if (buf) { - offset = offset || 0; - for (var i = 0; i < 16; ++i) { - buf[offset + i] = rnds[i]; - } - return buf; - } - return unsafeStringify(rnds); -} -export default v4; \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-browser/v5.js b/node_modules/uuid/dist/esm-browser/v5.js deleted file mode 100644 index c08d96ba..00000000 --- a/node_modules/uuid/dist/esm-browser/v5.js +++ /dev/null @@ -1,4 +0,0 @@ -import v35 from './v35.js'; -import sha1 from './sha1.js'; -var v5 = v35('v5', 0x50, sha1); -export default v5; \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-browser/v6.js b/node_modules/uuid/dist/esm-browser/v6.js deleted file mode 100644 index 13f9e916..00000000 --- a/node_modules/uuid/dist/esm-browser/v6.js +++ /dev/null @@ -1,36 +0,0 @@ -function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } -function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } -function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } -function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; } -function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } -import { unsafeStringify } from './stringify.js'; -import v1 from './v1.js'; -import v1ToV6 from './v1ToV6.js'; - -/** - * - * @param {object} options - * @param {Uint8Array=} buf - * @param {number=} offset - * @returns - */ -export default function v6(options = {}, buf, offset = 0) { - // v6 is v1 with different field layout, so we start with a v1 UUID, albeit - // with slightly different behavior around how the clock_seq and node fields - // are randomized, which is why we call v1 with _v6: true. - var bytes = v1(_objectSpread(_objectSpread({}, options), {}, { - _v6: true - }), new Uint8Array(16)); - - // Reorder the fields to v6 layout. - bytes = v1ToV6(bytes); - - // Return as a byte array if requested - if (buf) { - for (var i = 0; i < 16; i++) { - buf[offset + i] = bytes[i]; - } - return buf; - } - return unsafeStringify(bytes); -} \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-browser/v6ToV1.js b/node_modules/uuid/dist/esm-browser/v6ToV1.js deleted file mode 100644 index 3dd1058f..00000000 --- a/node_modules/uuid/dist/esm-browser/v6ToV1.js +++ /dev/null @@ -1,20 +0,0 @@ -import parse from './parse.js'; -import { unsafeStringify } from './stringify.js'; - -/** - * Convert a v6 UUID to a v1 UUID - * - * @param {string|Uint8Array} uuid - The v6 UUID to convert to v6 - * @returns {string|Uint8Array} The v1 UUID as the same type as the `uuid` arg - * (string or Uint8Array) - */ -export default function v6ToV1(uuid) { - var v6Bytes = typeof uuid === 'string' ? parse(uuid) : uuid; - var v1Bytes = _v6ToV1(v6Bytes); - return typeof uuid === 'string' ? unsafeStringify(v1Bytes) : v1Bytes; -} - -// Do the field transformation needed for v6 -> v1 -function _v6ToV1(v6Bytes) { - return Uint8Array.of((v6Bytes[3] & 0x0f) << 4 | v6Bytes[4] >> 4 & 0x0f, (v6Bytes[4] & 0x0f) << 4 | (v6Bytes[5] & 0xf0) >> 4, (v6Bytes[5] & 0x0f) << 4 | v6Bytes[6] & 0x0f, v6Bytes[7], (v6Bytes[1] & 0x0f) << 4 | (v6Bytes[2] & 0xf0) >> 4, (v6Bytes[2] & 0x0f) << 4 | (v6Bytes[3] & 0xf0) >> 4, 0x10 | (v6Bytes[0] & 0xf0) >> 4, (v6Bytes[0] & 0x0f) << 4 | (v6Bytes[1] & 0xf0) >> 4, v6Bytes[8], v6Bytes[9], v6Bytes[10], v6Bytes[11], v6Bytes[12], v6Bytes[13], v6Bytes[14], v6Bytes[15]); -} \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-browser/v7.js b/node_modules/uuid/dist/esm-browser/v7.js deleted file mode 100644 index 324153b6..00000000 --- a/node_modules/uuid/dist/esm-browser/v7.js +++ /dev/null @@ -1,146 +0,0 @@ -import rng from './rng.js'; -import { unsafeStringify } from './stringify.js'; - -/** - * UUID V7 - Unix Epoch time-based UUID - * - * The IETF has published RFC9562, introducing 3 new UUID versions (6,7,8). This - * implementation of V7 is based on the accepted, though not yet approved, - * revisions. - * - * RFC 9562:https://www.rfc-editor.org/rfc/rfc9562.html Universally Unique - * IDentifiers (UUIDs) - - * - * Sample V7 value: - * https://www.rfc-editor.org/rfc/rfc9562.html#name-example-of-a-uuidv7-value - * - * Monotonic Bit Layout: RFC rfc9562.6.2 Method 1, Dedicated Counter Bits ref: - * https://www.rfc-editor.org/rfc/rfc9562.html#section-6.2-5.1 - * - * 0 1 2 3 0 1 2 3 4 5 6 - * 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 - * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - * | unix_ts_ms | - * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - * | unix_ts_ms | ver | seq_hi | - * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - * |var| seq_low | rand | - * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - * | rand | - * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - * - * seq is a 31 bit serialized counter; comprised of 12 bit seq_hi and 19 bit - * seq_low, and randomly initialized upon timestamp change. 31 bit counter size - * was selected as any bitwise operations in node are done as _signed_ 32 bit - * ints. we exclude the sign bit. - */ - -var _seqLow = null; -var _seqHigh = null; -var _msecs = 0; -function v7(options, buf, offset) { - options = options || {}; - - // initialize buffer and pointer - var i = buf && offset || 0; - var b = buf || new Uint8Array(16); - - // rnds is Uint8Array(16) filled with random bytes - var rnds = options.random || (options.rng || rng)(); - - // milliseconds since unix epoch, 1970-01-01 00:00 - var msecs = options.msecs !== undefined ? options.msecs : Date.now(); - - // seq is user provided 31 bit counter - var seq = options.seq !== undefined ? options.seq : null; - - // initialize local seq high/low parts - var seqHigh = _seqHigh; - var seqLow = _seqLow; - - // check if clock has advanced and user has not provided msecs - if (msecs > _msecs && options.msecs === undefined) { - _msecs = msecs; - - // unless user provided seq, reset seq parts - if (seq !== null) { - seqHigh = null; - seqLow = null; - } - } - - // if we have a user provided seq - if (seq !== null) { - // trim provided seq to 31 bits of value, avoiding overflow - if (seq > 0x7fffffff) { - seq = 0x7fffffff; - } - - // split provided seq into high/low parts - seqHigh = seq >>> 19 & 0xfff; - seqLow = seq & 0x7ffff; - } - - // randomly initialize seq - if (seqHigh === null || seqLow === null) { - seqHigh = rnds[6] & 0x7f; - seqHigh = seqHigh << 8 | rnds[7]; - seqLow = rnds[8] & 0x3f; // pad for var - seqLow = seqLow << 8 | rnds[9]; - seqLow = seqLow << 5 | rnds[10] >>> 3; - } - - // increment seq if within msecs window - if (msecs + 10000 > _msecs && seq === null) { - if (++seqLow > 0x7ffff) { - seqLow = 0; - if (++seqHigh > 0xfff) { - seqHigh = 0; - - // increment internal _msecs. this allows us to continue incrementing - // while staying monotonic. Note, once we hit 10k milliseconds beyond system - // clock, we will reset breaking monotonicity (after (2^31)*10000 generations) - _msecs++; - } - } - } else { - // resetting; we have advanced more than - // 10k milliseconds beyond system clock - _msecs = msecs; - } - _seqHigh = seqHigh; - _seqLow = seqLow; - - // [bytes 0-5] 48 bits of local timestamp - b[i++] = _msecs / 0x10000000000 & 0xff; - b[i++] = _msecs / 0x100000000 & 0xff; - b[i++] = _msecs / 0x1000000 & 0xff; - b[i++] = _msecs / 0x10000 & 0xff; - b[i++] = _msecs / 0x100 & 0xff; - b[i++] = _msecs & 0xff; - - // [byte 6] - set 4 bits of version (7) with first 4 bits seq_hi - b[i++] = seqHigh >>> 4 & 0x0f | 0x70; - - // [byte 7] remaining 8 bits of seq_hi - b[i++] = seqHigh & 0xff; - - // [byte 8] - variant (2 bits), first 6 bits seq_low - b[i++] = seqLow >>> 13 & 0x3f | 0x80; - - // [byte 9] 8 bits seq_low - b[i++] = seqLow >>> 5 & 0xff; - - // [byte 10] remaining 5 bits seq_low, 3 bits random - b[i++] = seqLow << 3 & 0xff | rnds[10] & 0x07; - - // [bytes 11-15] always random - b[i++] = rnds[11]; - b[i++] = rnds[12]; - b[i++] = rnds[13]; - b[i++] = rnds[14]; - b[i++] = rnds[15]; - return buf || unsafeStringify(b); -} -export default v7; \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-browser/validate.js b/node_modules/uuid/dist/esm-browser/validate.js deleted file mode 100644 index 6e40fa58..00000000 --- a/node_modules/uuid/dist/esm-browser/validate.js +++ /dev/null @@ -1,5 +0,0 @@ -import REGEX from './regex.js'; -function validate(uuid) { - return typeof uuid === 'string' && REGEX.test(uuid); -} -export default validate; \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-browser/version.js b/node_modules/uuid/dist/esm-browser/version.js deleted file mode 100644 index 4ca924ee..00000000 --- a/node_modules/uuid/dist/esm-browser/version.js +++ /dev/null @@ -1,8 +0,0 @@ -import validate from './validate.js'; -function version(uuid) { - if (!validate(uuid)) { - throw TypeError('Invalid UUID'); - } - return parseInt(uuid.slice(14, 15), 16); -} -export default version; \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-node/max.js b/node_modules/uuid/dist/esm-node/max.js deleted file mode 100644 index f46a281f..00000000 --- a/node_modules/uuid/dist/esm-node/max.js +++ /dev/null @@ -1 +0,0 @@ -export default 'ffffffff-ffff-ffff-ffff-ffffffffffff'; \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-node/md5.js b/node_modules/uuid/dist/esm-node/md5.js deleted file mode 100644 index b3d890ea..00000000 --- a/node_modules/uuid/dist/esm-node/md5.js +++ /dev/null @@ -1,10 +0,0 @@ -import crypto from 'node:crypto'; -function md5(bytes) { - if (Array.isArray(bytes)) { - bytes = Buffer.from(bytes); - } else if (typeof bytes === 'string') { - bytes = Buffer.from(bytes, 'utf8'); - } - return crypto.createHash('md5').update(bytes).digest(); -} -export default md5; \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-node/native.js b/node_modules/uuid/dist/esm-node/native.js deleted file mode 100644 index d688de1d..00000000 --- a/node_modules/uuid/dist/esm-node/native.js +++ /dev/null @@ -1,4 +0,0 @@ -import crypto from 'node:crypto'; -export default { - randomUUID: crypto.randomUUID -}; \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-node/nil.js b/node_modules/uuid/dist/esm-node/nil.js deleted file mode 100644 index b36324c2..00000000 --- a/node_modules/uuid/dist/esm-node/nil.js +++ /dev/null @@ -1 +0,0 @@ -export default '00000000-0000-0000-0000-000000000000'; \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-node/parse.js b/node_modules/uuid/dist/esm-node/parse.js deleted file mode 100644 index 80851ffa..00000000 --- a/node_modules/uuid/dist/esm-node/parse.js +++ /dev/null @@ -1,37 +0,0 @@ -import validate from './validate.js'; -function parse(uuid) { - if (!validate(uuid)) { - throw TypeError('Invalid UUID'); - } - let v; - const arr = new Uint8Array(16); - - // Parse ########-....-....-....-............ - arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24; - arr[1] = v >>> 16 & 0xff; - arr[2] = v >>> 8 & 0xff; - arr[3] = v & 0xff; - - // Parse ........-####-....-....-............ - arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8; - arr[5] = v & 0xff; - - // Parse ........-....-####-....-............ - arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8; - arr[7] = v & 0xff; - - // Parse ........-....-....-####-............ - arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8; - arr[9] = v & 0xff; - - // Parse ........-....-....-....-############ - // (Use "/" to avoid 32-bit truncation when bit-shifting high-order bytes) - arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000 & 0xff; - arr[11] = v / 0x100000000 & 0xff; - arr[12] = v >>> 24 & 0xff; - arr[13] = v >>> 16 & 0xff; - arr[14] = v >>> 8 & 0xff; - arr[15] = v & 0xff; - return arr; -} -export default parse; \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-node/regex.js b/node_modules/uuid/dist/esm-node/regex.js deleted file mode 100644 index 848a1fea..00000000 --- a/node_modules/uuid/dist/esm-node/regex.js +++ /dev/null @@ -1 +0,0 @@ -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; \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-node/rng.js b/node_modules/uuid/dist/esm-node/rng.js deleted file mode 100644 index 69ee5241..00000000 --- a/node_modules/uuid/dist/esm-node/rng.js +++ /dev/null @@ -1,10 +0,0 @@ -import crypto from 'node:crypto'; -const rnds8Pool = new Uint8Array(256); // # of random values to pre-allocate -let poolPtr = rnds8Pool.length; -export default function rng() { - if (poolPtr > rnds8Pool.length - 16) { - crypto.randomFillSync(rnds8Pool); - poolPtr = 0; - } - return rnds8Pool.slice(poolPtr, poolPtr += 16); -} \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-node/sha1.js b/node_modules/uuid/dist/esm-node/sha1.js deleted file mode 100644 index 22217871..00000000 --- a/node_modules/uuid/dist/esm-node/sha1.js +++ /dev/null @@ -1,10 +0,0 @@ -import crypto from 'node:crypto'; -function sha1(bytes) { - if (Array.isArray(bytes)) { - bytes = Buffer.from(bytes); - } else if (typeof bytes === 'string') { - bytes = Buffer.from(bytes, 'utf8'); - } - return crypto.createHash('sha1').update(bytes).digest(); -} -export default sha1; \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-node/stringify.js b/node_modules/uuid/dist/esm-node/stringify.js deleted file mode 100644 index 7792d4e1..00000000 --- a/node_modules/uuid/dist/esm-node/stringify.js +++ /dev/null @@ -1,31 +0,0 @@ -import validate from './validate.js'; - -/** - * Convert array of 16 byte values to UUID string format of the form: - * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX - */ -const byteToHex = []; -for (let i = 0; i < 256; ++i) { - byteToHex.push((i + 0x100).toString(16).slice(1)); -} -export function unsafeStringify(arr, offset = 0) { - // Note: Be careful editing this code! It's been tuned for performance - // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434 - // - // Note to future-self: No, you can't remove the `toLowerCase()` call. - // REF: https://github.com/uuidjs/uuid/pull/677#issuecomment-1757351351 - 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(); -} -function stringify(arr, offset = 0) { - const uuid = unsafeStringify(arr, offset); - // Consistency check for valid UUID. If this throws, it's likely due to one - // of the following: - // - One or more input array values don't map to a hex octet (leading to - // "undefined" in the uuid) - // - Invalid input values for the RFC `version` or `variant` fields - if (!validate(uuid)) { - throw TypeError('Stringified UUID is invalid'); - } - return uuid; -} -export default stringify; \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-node/v1.js b/node_modules/uuid/dist/esm-node/v1.js deleted file mode 100644 index 6bf0b1c6..00000000 --- a/node_modules/uuid/dist/esm-node/v1.js +++ /dev/null @@ -1,125 +0,0 @@ -import rng from './rng.js'; -import { unsafeStringify } from './stringify.js'; - -// **`v1()` - Generate time-based UUID** -// -// Inspired by https://github.com/LiosK/UUID.js -// and http://docs.python.org/library/uuid.html - -let _nodeId; -let _clockseq; - -// Previous uuid creation time -let _lastMSecs = 0; -let _lastNSecs = 0; - -// See https://github.com/uuidjs/uuid for API details -function v1(options, buf, offset) { - let i = buf && offset || 0; - const b = buf || new Array(16); - options = options || {}; - let node = options.node; - let clockseq = options.clockseq; - - // v1 only: Use cached `node` and `clockseq` values - if (!options._v6) { - if (!node) { - node = _nodeId; - } - if (clockseq == null) { - clockseq = _clockseq; - } - } - - // Handle cases where we need entropy. We do this lazily to minimize issues - // related to insufficient system entropy. See #189 - if (node == null || clockseq == null) { - const seedBytes = options.random || (options.rng || rng)(); - - // Randomize node - if (node == null) { - node = [seedBytes[0], seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]]; - - // v1 only: cache node value for reuse - if (!_nodeId && !options._v6) { - // per RFC4122 4.5: Set MAC multicast bit (v1 only) - node[0] |= 0x01; // Set multicast bit - - _nodeId = node; - } - } - - // Randomize clockseq - if (clockseq == null) { - // Per 4.2.2, randomize (14 bit) clockseq - clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff; - if (_clockseq === undefined && !options._v6) { - _clockseq = clockseq; - } - } - } - - // v1 & v6 timestamps are 100 nano-second units since the Gregorian epoch, - // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so time is - // handled internally as 'msecs' (integer milliseconds) and 'nsecs' - // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00. - let msecs = options.msecs !== undefined ? options.msecs : Date.now(); - - // Per 4.2.1.2, use count of uuid's generated during the current clock - // cycle to simulate higher resolution clock - let nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1; - - // Time since last uuid creation (in msecs) - const dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 10000; - - // Per 4.2.1.2, Bump clockseq on clock regression - if (dt < 0 && options.clockseq === undefined) { - clockseq = clockseq + 1 & 0x3fff; - } - - // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new - // time interval - if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) { - nsecs = 0; - } - - // Per 4.2.1.2 Throw error if too many uuids are requested - if (nsecs >= 10000) { - throw new Error("uuid.v1(): Can't create more than 10M uuids/sec"); - } - _lastMSecs = msecs; - _lastNSecs = nsecs; - _clockseq = clockseq; - - // Per 4.1.4 - Convert from unix epoch to Gregorian epoch - msecs += 12219292800000; - - // `time_low` - const tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000; - b[i++] = tl >>> 24 & 0xff; - b[i++] = tl >>> 16 & 0xff; - b[i++] = tl >>> 8 & 0xff; - b[i++] = tl & 0xff; - - // `time_mid` - const tmh = msecs / 0x100000000 * 10000 & 0xfffffff; - b[i++] = tmh >>> 8 & 0xff; - b[i++] = tmh & 0xff; - - // `time_high_and_version` - b[i++] = tmh >>> 24 & 0xf | 0x10; // include version - b[i++] = tmh >>> 16 & 0xff; - - // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant) - b[i++] = clockseq >>> 8 | 0x80; - - // `clock_seq_low` - b[i++] = clockseq & 0xff; - - // `node` - for (let n = 0; n < 6; ++n) { - b[i + n] = node[n]; - } - return buf || unsafeStringify(b); -} -export default v1; \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-node/v1ToV6.js b/node_modules/uuid/dist/esm-node/v1ToV6.js deleted file mode 100644 index 15aea2fb..00000000 --- a/node_modules/uuid/dist/esm-node/v1ToV6.js +++ /dev/null @@ -1,20 +0,0 @@ -import parse from './parse.js'; -import { unsafeStringify } from './stringify.js'; - -/** - * Convert a v1 UUID to a v6 UUID - * - * @param {string|Uint8Array} uuid - The v1 UUID to convert to v6 - * @returns {string|Uint8Array} The v6 UUID as the same type as the `uuid` arg - * (string or Uint8Array) - */ -export default function v1ToV6(uuid) { - const v1Bytes = typeof uuid === 'string' ? parse(uuid) : uuid; - const v6Bytes = _v1ToV6(v1Bytes); - return typeof uuid === 'string' ? unsafeStringify(v6Bytes) : v6Bytes; -} - -// Do the field transformation needed for v1 -> v6 -function _v1ToV6(v1Bytes, randomize = false) { - 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]); -} \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-node/v3.js b/node_modules/uuid/dist/esm-node/v3.js deleted file mode 100644 index 09063b86..00000000 --- a/node_modules/uuid/dist/esm-node/v3.js +++ /dev/null @@ -1,4 +0,0 @@ -import v35 from './v35.js'; -import md5 from './md5.js'; -const v3 = v35('v3', 0x30, md5); -export default v3; \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-node/v35.js b/node_modules/uuid/dist/esm-node/v35.js deleted file mode 100644 index 013c8696..00000000 --- a/node_modules/uuid/dist/esm-node/v35.js +++ /dev/null @@ -1,55 +0,0 @@ -import { unsafeStringify } from './stringify.js'; -import parse from './parse.js'; -function stringToBytes(str) { - str = unescape(encodeURIComponent(str)); // UTF8 escape - - const bytes = []; - for (let i = 0; i < str.length; ++i) { - bytes.push(str.charCodeAt(i)); - } - return bytes; -} -export const DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8'; -export const URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8'; -export default function v35(name, version, hashfunc) { - function generateUUID(value, namespace, buf, offset) { - var _namespace; - if (typeof value === 'string') { - value = stringToBytes(value); - } - if (typeof namespace === 'string') { - namespace = parse(namespace); - } - if (((_namespace = namespace) === null || _namespace === void 0 ? void 0 : _namespace.length) !== 16) { - throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)'); - } - - // Compute hash of namespace and value, Per 4.3 - // Future: Use spread syntax when supported on all platforms, e.g. `bytes = - // hashfunc([...namespace, ... value])` - let bytes = new Uint8Array(16 + value.length); - bytes.set(namespace); - bytes.set(value, namespace.length); - bytes = hashfunc(bytes); - bytes[6] = bytes[6] & 0x0f | version; - bytes[8] = bytes[8] & 0x3f | 0x80; - if (buf) { - offset = offset || 0; - for (let i = 0; i < 16; ++i) { - buf[offset + i] = bytes[i]; - } - return buf; - } - return unsafeStringify(bytes); - } - - // Function#name is not settable on some platforms (#270) - try { - generateUUID.name = name; - } catch (err) {} - - // For CommonJS default export support - generateUUID.DNS = DNS; - generateUUID.URL = URL; - return generateUUID; -} \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-node/v4.js b/node_modules/uuid/dist/esm-node/v4.js deleted file mode 100644 index ed1db71e..00000000 --- a/node_modules/uuid/dist/esm-node/v4.js +++ /dev/null @@ -1,25 +0,0 @@ -import native from './native.js'; -import rng from './rng.js'; -import { unsafeStringify } from './stringify.js'; -function v4(options, buf, offset) { - if (native.randomUUID && !buf && !options) { - return native.randomUUID(); - } - options = options || {}; - const rnds = options.random || (options.rng || rng)(); - - // Per 4.4, set bits for version and `clock_seq_hi_and_reserved` - rnds[6] = rnds[6] & 0x0f | 0x40; - rnds[8] = rnds[8] & 0x3f | 0x80; - - // Copy bytes to buffer, if provided - if (buf) { - offset = offset || 0; - for (let i = 0; i < 16; ++i) { - buf[offset + i] = rnds[i]; - } - return buf; - } - return unsafeStringify(rnds); -} -export default v4; \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-node/v5.js b/node_modules/uuid/dist/esm-node/v5.js deleted file mode 100644 index e87fe317..00000000 --- a/node_modules/uuid/dist/esm-node/v5.js +++ /dev/null @@ -1,4 +0,0 @@ -import v35 from './v35.js'; -import sha1 from './sha1.js'; -const v5 = v35('v5', 0x50, sha1); -export default v5; \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-node/v6.js b/node_modules/uuid/dist/esm-node/v6.js deleted file mode 100644 index 673d025e..00000000 --- a/node_modules/uuid/dist/esm-node/v6.js +++ /dev/null @@ -1,32 +0,0 @@ -import { unsafeStringify } from './stringify.js'; -import v1 from './v1.js'; -import v1ToV6 from './v1ToV6.js'; - -/** - * - * @param {object} options - * @param {Uint8Array=} buf - * @param {number=} offset - * @returns - */ -export default function v6(options = {}, buf, offset = 0) { - // v6 is v1 with different field layout, so we start with a v1 UUID, albeit - // with slightly different behavior around how the clock_seq and node fields - // are randomized, which is why we call v1 with _v6: true. - let bytes = v1({ - ...options, - _v6: true - }, new Uint8Array(16)); - - // Reorder the fields to v6 layout. - bytes = v1ToV6(bytes); - - // Return as a byte array if requested - if (buf) { - for (let i = 0; i < 16; i++) { - buf[offset + i] = bytes[i]; - } - return buf; - } - return unsafeStringify(bytes); -} \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-node/v6ToV1.js b/node_modules/uuid/dist/esm-node/v6ToV1.js deleted file mode 100644 index e2fdfff6..00000000 --- a/node_modules/uuid/dist/esm-node/v6ToV1.js +++ /dev/null @@ -1,20 +0,0 @@ -import parse from './parse.js'; -import { unsafeStringify } from './stringify.js'; - -/** - * Convert a v6 UUID to a v1 UUID - * - * @param {string|Uint8Array} uuid - The v6 UUID to convert to v6 - * @returns {string|Uint8Array} The v1 UUID as the same type as the `uuid` arg - * (string or Uint8Array) - */ -export default function v6ToV1(uuid) { - const v6Bytes = typeof uuid === 'string' ? parse(uuid) : uuid; - const v1Bytes = _v6ToV1(v6Bytes); - return typeof uuid === 'string' ? unsafeStringify(v1Bytes) : v1Bytes; -} - -// Do the field transformation needed for v6 -> v1 -function _v6ToV1(v6Bytes) { - return Uint8Array.of((v6Bytes[3] & 0x0f) << 4 | v6Bytes[4] >> 4 & 0x0f, (v6Bytes[4] & 0x0f) << 4 | (v6Bytes[5] & 0xf0) >> 4, (v6Bytes[5] & 0x0f) << 4 | v6Bytes[6] & 0x0f, v6Bytes[7], (v6Bytes[1] & 0x0f) << 4 | (v6Bytes[2] & 0xf0) >> 4, (v6Bytes[2] & 0x0f) << 4 | (v6Bytes[3] & 0xf0) >> 4, 0x10 | (v6Bytes[0] & 0xf0) >> 4, (v6Bytes[0] & 0x0f) << 4 | (v6Bytes[1] & 0xf0) >> 4, v6Bytes[8], v6Bytes[9], v6Bytes[10], v6Bytes[11], v6Bytes[12], v6Bytes[13], v6Bytes[14], v6Bytes[15]); -} \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-node/v7.js b/node_modules/uuid/dist/esm-node/v7.js deleted file mode 100644 index 18159e19..00000000 --- a/node_modules/uuid/dist/esm-node/v7.js +++ /dev/null @@ -1,146 +0,0 @@ -import rng from './rng.js'; -import { unsafeStringify } from './stringify.js'; - -/** - * UUID V7 - Unix Epoch time-based UUID - * - * The IETF has published RFC9562, introducing 3 new UUID versions (6,7,8). This - * implementation of V7 is based on the accepted, though not yet approved, - * revisions. - * - * RFC 9562:https://www.rfc-editor.org/rfc/rfc9562.html Universally Unique - * IDentifiers (UUIDs) - - * - * Sample V7 value: - * https://www.rfc-editor.org/rfc/rfc9562.html#name-example-of-a-uuidv7-value - * - * Monotonic Bit Layout: RFC rfc9562.6.2 Method 1, Dedicated Counter Bits ref: - * https://www.rfc-editor.org/rfc/rfc9562.html#section-6.2-5.1 - * - * 0 1 2 3 0 1 2 3 4 5 6 - * 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 - * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - * | unix_ts_ms | - * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - * | unix_ts_ms | ver | seq_hi | - * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - * |var| seq_low | rand | - * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - * | rand | - * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - * - * seq is a 31 bit serialized counter; comprised of 12 bit seq_hi and 19 bit - * seq_low, and randomly initialized upon timestamp change. 31 bit counter size - * was selected as any bitwise operations in node are done as _signed_ 32 bit - * ints. we exclude the sign bit. - */ - -let _seqLow = null; -let _seqHigh = null; -let _msecs = 0; -function v7(options, buf, offset) { - options = options || {}; - - // initialize buffer and pointer - let i = buf && offset || 0; - const b = buf || new Uint8Array(16); - - // rnds is Uint8Array(16) filled with random bytes - const rnds = options.random || (options.rng || rng)(); - - // milliseconds since unix epoch, 1970-01-01 00:00 - const msecs = options.msecs !== undefined ? options.msecs : Date.now(); - - // seq is user provided 31 bit counter - let seq = options.seq !== undefined ? options.seq : null; - - // initialize local seq high/low parts - let seqHigh = _seqHigh; - let seqLow = _seqLow; - - // check if clock has advanced and user has not provided msecs - if (msecs > _msecs && options.msecs === undefined) { - _msecs = msecs; - - // unless user provided seq, reset seq parts - if (seq !== null) { - seqHigh = null; - seqLow = null; - } - } - - // if we have a user provided seq - if (seq !== null) { - // trim provided seq to 31 bits of value, avoiding overflow - if (seq > 0x7fffffff) { - seq = 0x7fffffff; - } - - // split provided seq into high/low parts - seqHigh = seq >>> 19 & 0xfff; - seqLow = seq & 0x7ffff; - } - - // randomly initialize seq - if (seqHigh === null || seqLow === null) { - seqHigh = rnds[6] & 0x7f; - seqHigh = seqHigh << 8 | rnds[7]; - seqLow = rnds[8] & 0x3f; // pad for var - seqLow = seqLow << 8 | rnds[9]; - seqLow = seqLow << 5 | rnds[10] >>> 3; - } - - // increment seq if within msecs window - if (msecs + 10000 > _msecs && seq === null) { - if (++seqLow > 0x7ffff) { - seqLow = 0; - if (++seqHigh > 0xfff) { - seqHigh = 0; - - // increment internal _msecs. this allows us to continue incrementing - // while staying monotonic. Note, once we hit 10k milliseconds beyond system - // clock, we will reset breaking monotonicity (after (2^31)*10000 generations) - _msecs++; - } - } - } else { - // resetting; we have advanced more than - // 10k milliseconds beyond system clock - _msecs = msecs; - } - _seqHigh = seqHigh; - _seqLow = seqLow; - - // [bytes 0-5] 48 bits of local timestamp - b[i++] = _msecs / 0x10000000000 & 0xff; - b[i++] = _msecs / 0x100000000 & 0xff; - b[i++] = _msecs / 0x1000000 & 0xff; - b[i++] = _msecs / 0x10000 & 0xff; - b[i++] = _msecs / 0x100 & 0xff; - b[i++] = _msecs & 0xff; - - // [byte 6] - set 4 bits of version (7) with first 4 bits seq_hi - b[i++] = seqHigh >>> 4 & 0x0f | 0x70; - - // [byte 7] remaining 8 bits of seq_hi - b[i++] = seqHigh & 0xff; - - // [byte 8] - variant (2 bits), first 6 bits seq_low - b[i++] = seqLow >>> 13 & 0x3f | 0x80; - - // [byte 9] 8 bits seq_low - b[i++] = seqLow >>> 5 & 0xff; - - // [byte 10] remaining 5 bits seq_low, 3 bits random - b[i++] = seqLow << 3 & 0xff | rnds[10] & 0x07; - - // [bytes 11-15] always random - b[i++] = rnds[11]; - b[i++] = rnds[12]; - b[i++] = rnds[13]; - b[i++] = rnds[14]; - b[i++] = rnds[15]; - return buf || unsafeStringify(b); -} -export default v7; \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-node/validate.js b/node_modules/uuid/dist/esm-node/validate.js deleted file mode 100644 index 6e40fa58..00000000 --- a/node_modules/uuid/dist/esm-node/validate.js +++ /dev/null @@ -1,5 +0,0 @@ -import REGEX from './regex.js'; -function validate(uuid) { - return typeof uuid === 'string' && REGEX.test(uuid); -} -export default validate; \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-node/version.js b/node_modules/uuid/dist/esm-node/version.js deleted file mode 100644 index 4ca924ee..00000000 --- a/node_modules/uuid/dist/esm-node/version.js +++ /dev/null @@ -1,8 +0,0 @@ -import validate from './validate.js'; -function version(uuid) { - if (!validate(uuid)) { - throw TypeError('Invalid UUID'); - } - return parseInt(uuid.slice(14, 15), 16); -} -export default version; \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-node/index.js b/node_modules/uuid/dist/index.d.ts similarity index 87% rename from node_modules/uuid/dist/esm-node/index.js rename to node_modules/uuid/dist/index.d.ts index 45214b37..b01542dc 100644 --- a/node_modules/uuid/dist/esm-node/index.js +++ b/node_modules/uuid/dist/index.d.ts @@ -2,6 +2,7 @@ export { default as MAX } from './max.js'; export { default as NIL } from './nil.js'; export { default as parse } from './parse.js'; export { default as stringify } from './stringify.js'; +export type * from './types.js'; export { default as v1 } from './v1.js'; export { default as v1ToV6 } from './v1ToV6.js'; export { default as v3 } from './v3.js'; @@ -11,4 +12,4 @@ export { default as v6 } from './v6.js'; export { default as v6ToV1 } from './v6ToV1.js'; export { default as v7 } from './v7.js'; export { default as validate } from './validate.js'; -export { default as version } from './version.js'; \ No newline at end of file +export { default as version } from './version.js'; diff --git a/node_modules/uuid/dist/index.js b/node_modules/uuid/dist/index.js index cd6eb746..3193e9a3 100644 --- a/node_modules/uuid/dist/index.js +++ b/node_modules/uuid/dist/index.js @@ -1,104 +1,14 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -Object.defineProperty(exports, "MAX", { - enumerable: true, - get: function () { - return _max.default; - } -}); -Object.defineProperty(exports, "NIL", { - enumerable: true, - get: function () { - return _nil.default; - } -}); -Object.defineProperty(exports, "parse", { - enumerable: true, - get: function () { - return _parse.default; - } -}); -Object.defineProperty(exports, "stringify", { - enumerable: true, - get: function () { - return _stringify.default; - } -}); -Object.defineProperty(exports, "v1", { - enumerable: true, - get: function () { - return _v.default; - } -}); -Object.defineProperty(exports, "v1ToV6", { - enumerable: true, - get: function () { - return _v1ToV.default; - } -}); -Object.defineProperty(exports, "v3", { - enumerable: true, - get: function () { - return _v2.default; - } -}); -Object.defineProperty(exports, "v4", { - enumerable: true, - get: function () { - return _v3.default; - } -}); -Object.defineProperty(exports, "v5", { - enumerable: true, - get: function () { - return _v4.default; - } -}); -Object.defineProperty(exports, "v6", { - enumerable: true, - get: function () { - return _v5.default; - } -}); -Object.defineProperty(exports, "v6ToV1", { - enumerable: true, - get: function () { - return _v6ToV.default; - } -}); -Object.defineProperty(exports, "v7", { - enumerable: true, - get: function () { - return _v6.default; - } -}); -Object.defineProperty(exports, "validate", { - enumerable: true, - get: function () { - return _validate.default; - } -}); -Object.defineProperty(exports, "version", { - enumerable: true, - get: function () { - return _version.default; - } -}); -var _max = _interopRequireDefault(require("./max.js")); -var _nil = _interopRequireDefault(require("./nil.js")); -var _parse = _interopRequireDefault(require("./parse.js")); -var _stringify = _interopRequireDefault(require("./stringify.js")); -var _v = _interopRequireDefault(require("./v1.js")); -var _v1ToV = _interopRequireDefault(require("./v1ToV6.js")); -var _v2 = _interopRequireDefault(require("./v3.js")); -var _v3 = _interopRequireDefault(require("./v4.js")); -var _v4 = _interopRequireDefault(require("./v5.js")); -var _v5 = _interopRequireDefault(require("./v6.js")); -var _v6ToV = _interopRequireDefault(require("./v6ToV1.js")); -var _v6 = _interopRequireDefault(require("./v7.js")); -var _validate = _interopRequireDefault(require("./validate.js")); -var _version = _interopRequireDefault(require("./version.js")); -function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } \ No newline at end of file +export { default as MAX } from './max.js'; +export { default as NIL } from './nil.js'; +export { default as parse } from './parse.js'; +export { default as stringify } from './stringify.js'; +export { default as v1 } from './v1.js'; +export { default as v1ToV6 } from './v1ToV6.js'; +export { default as v3 } from './v3.js'; +export { default as v4 } from './v4.js'; +export { default as v5 } from './v5.js'; +export { default as v6 } from './v6.js'; +export { default as v6ToV1 } from './v6ToV1.js'; +export { default as v7 } from './v7.js'; +export { default as validate } from './validate.js'; +export { default as version } from './version.js'; diff --git a/node_modules/uuid/dist/max.d.ts b/node_modules/uuid/dist/max.d.ts new file mode 100644 index 00000000..7a1e972a --- /dev/null +++ b/node_modules/uuid/dist/max.d.ts @@ -0,0 +1,2 @@ +declare const _default: "ffffffff-ffff-ffff-ffff-ffffffffffff"; +export default _default; diff --git a/node_modules/uuid/dist/max.js b/node_modules/uuid/dist/max.js index 8de76f84..58951f65 100644 --- a/node_modules/uuid/dist/max.js +++ b/node_modules/uuid/dist/max.js @@ -1,7 +1 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; -var _default = exports.default = 'ffffffff-ffff-ffff-ffff-ffffffffffff'; \ No newline at end of file +export default 'ffffffff-ffff-ffff-ffff-ffffffffffff'; diff --git a/node_modules/uuid/dist/md5-browser.js b/node_modules/uuid/dist/md5-browser.js deleted file mode 100644 index f0d31f5a..00000000 --- a/node_modules/uuid/dist/md5-browser.js +++ /dev/null @@ -1,200 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; -/* - * Browser-compatible JavaScript MD5 - * - * Modification of JavaScript MD5 - * https://github.com/blueimp/JavaScript-MD5 - * - * Copyright 2011, Sebastian Tschan - * https://blueimp.net - * - * Licensed under the MIT license: - * https://opensource.org/licenses/MIT - * - * Based on - * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message - * Digest Algorithm, as defined in RFC 1321. - * Version 2.2 Copyright (C) Paul Johnston 1999 - 2009 - * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet - * Distributed under the BSD License - * See http://pajhome.org.uk/crypt/md5 for more info. - */ -function md5(bytes) { - if (typeof bytes === 'string') { - const msg = unescape(encodeURIComponent(bytes)); // UTF8 escape - - bytes = new Uint8Array(msg.length); - for (let i = 0; i < msg.length; ++i) { - bytes[i] = msg.charCodeAt(i); - } - } - return md5ToHexEncodedArray(wordsToMd5(bytesToWords(bytes), bytes.length * 8)); -} - -/* - * Convert an array of little-endian words to an array of bytes - */ -function md5ToHexEncodedArray(input) { - const output = []; - const length32 = input.length * 32; - const hexTab = '0123456789abcdef'; - for (let i = 0; i < length32; i += 8) { - const x = input[i >> 5] >>> i % 32 & 0xff; - const hex = parseInt(hexTab.charAt(x >>> 4 & 0x0f) + hexTab.charAt(x & 0x0f), 16); - output.push(hex); - } - return output; -} - -/** - * Calculate output length with padding and bit length - */ -function getOutputLength(inputLength8) { - return (inputLength8 + 64 >>> 9 << 4) + 14 + 1; -} - -/* - * Calculate the MD5 of an array of little-endian words, and a bit length. - */ -function wordsToMd5(x, len) { - /* append padding */ - x[len >> 5] |= 0x80 << len % 32; - x[getOutputLength(len) - 1] = len; - let a = 1732584193; - let b = -271733879; - let c = -1732584194; - let d = 271733878; - for (let i = 0; i < x.length; i += 16) { - const olda = a; - const oldb = b; - const oldc = c; - const oldd = d; - a = md5ff(a, b, c, d, x[i], 7, -680876936); - d = md5ff(d, a, b, c, x[i + 1], 12, -389564586); - c = md5ff(c, d, a, b, x[i + 2], 17, 606105819); - b = md5ff(b, c, d, a, x[i + 3], 22, -1044525330); - a = md5ff(a, b, c, d, x[i + 4], 7, -176418897); - d = md5ff(d, a, b, c, x[i + 5], 12, 1200080426); - c = md5ff(c, d, a, b, x[i + 6], 17, -1473231341); - b = md5ff(b, c, d, a, x[i + 7], 22, -45705983); - a = md5ff(a, b, c, d, x[i + 8], 7, 1770035416); - d = md5ff(d, a, b, c, x[i + 9], 12, -1958414417); - c = md5ff(c, d, a, b, x[i + 10], 17, -42063); - b = md5ff(b, c, d, a, x[i + 11], 22, -1990404162); - a = md5ff(a, b, c, d, x[i + 12], 7, 1804603682); - d = md5ff(d, a, b, c, x[i + 13], 12, -40341101); - c = md5ff(c, d, a, b, x[i + 14], 17, -1502002290); - b = md5ff(b, c, d, a, x[i + 15], 22, 1236535329); - a = md5gg(a, b, c, d, x[i + 1], 5, -165796510); - d = md5gg(d, a, b, c, x[i + 6], 9, -1069501632); - c = md5gg(c, d, a, b, x[i + 11], 14, 643717713); - b = md5gg(b, c, d, a, x[i], 20, -373897302); - a = md5gg(a, b, c, d, x[i + 5], 5, -701558691); - d = md5gg(d, a, b, c, x[i + 10], 9, 38016083); - c = md5gg(c, d, a, b, x[i + 15], 14, -660478335); - b = md5gg(b, c, d, a, x[i + 4], 20, -405537848); - a = md5gg(a, b, c, d, x[i + 9], 5, 568446438); - d = md5gg(d, a, b, c, x[i + 14], 9, -1019803690); - c = md5gg(c, d, a, b, x[i + 3], 14, -187363961); - b = md5gg(b, c, d, a, x[i + 8], 20, 1163531501); - a = md5gg(a, b, c, d, x[i + 13], 5, -1444681467); - d = md5gg(d, a, b, c, x[i + 2], 9, -51403784); - c = md5gg(c, d, a, b, x[i + 7], 14, 1735328473); - b = md5gg(b, c, d, a, x[i + 12], 20, -1926607734); - a = md5hh(a, b, c, d, x[i + 5], 4, -378558); - d = md5hh(d, a, b, c, x[i + 8], 11, -2022574463); - c = md5hh(c, d, a, b, x[i + 11], 16, 1839030562); - b = md5hh(b, c, d, a, x[i + 14], 23, -35309556); - a = md5hh(a, b, c, d, x[i + 1], 4, -1530992060); - d = md5hh(d, a, b, c, x[i + 4], 11, 1272893353); - c = md5hh(c, d, a, b, x[i + 7], 16, -155497632); - b = md5hh(b, c, d, a, x[i + 10], 23, -1094730640); - a = md5hh(a, b, c, d, x[i + 13], 4, 681279174); - d = md5hh(d, a, b, c, x[i], 11, -358537222); - c = md5hh(c, d, a, b, x[i + 3], 16, -722521979); - b = md5hh(b, c, d, a, x[i + 6], 23, 76029189); - a = md5hh(a, b, c, d, x[i + 9], 4, -640364487); - d = md5hh(d, a, b, c, x[i + 12], 11, -421815835); - c = md5hh(c, d, a, b, x[i + 15], 16, 530742520); - b = md5hh(b, c, d, a, x[i + 2], 23, -995338651); - a = md5ii(a, b, c, d, x[i], 6, -198630844); - d = md5ii(d, a, b, c, x[i + 7], 10, 1126891415); - c = md5ii(c, d, a, b, x[i + 14], 15, -1416354905); - b = md5ii(b, c, d, a, x[i + 5], 21, -57434055); - a = md5ii(a, b, c, d, x[i + 12], 6, 1700485571); - d = md5ii(d, a, b, c, x[i + 3], 10, -1894986606); - c = md5ii(c, d, a, b, x[i + 10], 15, -1051523); - b = md5ii(b, c, d, a, x[i + 1], 21, -2054922799); - a = md5ii(a, b, c, d, x[i + 8], 6, 1873313359); - d = md5ii(d, a, b, c, x[i + 15], 10, -30611744); - c = md5ii(c, d, a, b, x[i + 6], 15, -1560198380); - b = md5ii(b, c, d, a, x[i + 13], 21, 1309151649); - a = md5ii(a, b, c, d, x[i + 4], 6, -145523070); - d = md5ii(d, a, b, c, x[i + 11], 10, -1120210379); - c = md5ii(c, d, a, b, x[i + 2], 15, 718787259); - b = md5ii(b, c, d, a, x[i + 9], 21, -343485551); - a = safeAdd(a, olda); - b = safeAdd(b, oldb); - c = safeAdd(c, oldc); - d = safeAdd(d, oldd); - } - return [a, b, c, d]; -} - -/* - * Convert an array bytes to an array of little-endian words - * Characters >255 have their high-byte silently ignored. - */ -function bytesToWords(input) { - if (input.length === 0) { - return []; - } - const length8 = input.length * 8; - const output = new Uint32Array(getOutputLength(length8)); - for (let i = 0; i < length8; i += 8) { - output[i >> 5] |= (input[i / 8] & 0xff) << i % 32; - } - return output; -} - -/* - * Add integers, wrapping at 2^32. This uses 16-bit operations internally - * to work around bugs in some JS interpreters. - */ -function safeAdd(x, y) { - const lsw = (x & 0xffff) + (y & 0xffff); - const msw = (x >> 16) + (y >> 16) + (lsw >> 16); - return msw << 16 | lsw & 0xffff; -} - -/* - * Bitwise rotate a 32-bit number to the left. - */ -function bitRotateLeft(num, cnt) { - return num << cnt | num >>> 32 - cnt; -} - -/* - * These functions implement the four basic operations the algorithm uses. - */ -function md5cmn(q, a, b, x, s, t) { - return safeAdd(bitRotateLeft(safeAdd(safeAdd(a, q), safeAdd(x, t)), s), b); -} -function md5ff(a, b, c, d, x, s, t) { - return md5cmn(b & c | ~b & d, a, b, x, s, t); -} -function md5gg(a, b, c, d, x, s, t) { - return md5cmn(b & d | c & ~d, a, b, x, s, t); -} -function md5hh(a, b, c, d, x, s, t) { - return md5cmn(b ^ c ^ d, a, b, x, s, t); -} -function md5ii(a, b, c, d, x, s, t) { - return md5cmn(c ^ (b | ~d), a, b, x, s, t); -} -var _default = exports.default = md5; \ No newline at end of file diff --git a/node_modules/uuid/dist/md5.d.ts b/node_modules/uuid/dist/md5.d.ts new file mode 100644 index 00000000..5a55f51e --- /dev/null +++ b/node_modules/uuid/dist/md5.d.ts @@ -0,0 +1,2 @@ +declare function md5(bytes: Uint8Array): Uint8Array; +export default md5; diff --git a/node_modules/uuid/dist/md5.js b/node_modules/uuid/dist/md5.js index 135b24df..053301da 100644 --- a/node_modules/uuid/dist/md5.js +++ b/node_modules/uuid/dist/md5.js @@ -1,17 +1,135 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; -var _nodeCrypto = _interopRequireDefault(require("node:crypto")); -function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } function md5(bytes) { - if (Array.isArray(bytes)) { - bytes = Buffer.from(bytes); - } else if (typeof bytes === 'string') { - bytes = Buffer.from(bytes, 'utf8'); - } - return _nodeCrypto.default.createHash('md5').update(bytes).digest(); + const words = uint8ToUint32(bytes); + const md5Bytes = wordsToMd5(words, bytes.length * 8); + return uint32ToUint8(md5Bytes); } -var _default = exports.default = md5; \ No newline at end of file +function uint32ToUint8(input) { + const bytes = new Uint8Array(input.length * 4); + for (let i = 0; i < input.length * 4; i++) { + bytes[i] = (input[i >> 2] >>> ((i % 4) * 8)) & 0xff; + } + return bytes; +} +function getOutputLength(inputLength8) { + return (((inputLength8 + 64) >>> 9) << 4) + 14 + 1; +} +function wordsToMd5(x, len) { + const xpad = new Uint32Array(getOutputLength(len)).fill(0); + xpad.set(x); + xpad[len >> 5] |= 0x80 << (len % 32); + xpad[xpad.length - 1] = len; + x = xpad; + let a = 1732584193; + let b = -271733879; + let c = -1732584194; + let d = 271733878; + for (let i = 0; i < x.length; i += 16) { + const olda = a; + const oldb = b; + const oldc = c; + const oldd = d; + a = md5ff(a, b, c, d, x[i], 7, -680876936); + d = md5ff(d, a, b, c, x[i + 1], 12, -389564586); + c = md5ff(c, d, a, b, x[i + 2], 17, 606105819); + b = md5ff(b, c, d, a, x[i + 3], 22, -1044525330); + a = md5ff(a, b, c, d, x[i + 4], 7, -176418897); + d = md5ff(d, a, b, c, x[i + 5], 12, 1200080426); + c = md5ff(c, d, a, b, x[i + 6], 17, -1473231341); + b = md5ff(b, c, d, a, x[i + 7], 22, -45705983); + a = md5ff(a, b, c, d, x[i + 8], 7, 1770035416); + d = md5ff(d, a, b, c, x[i + 9], 12, -1958414417); + c = md5ff(c, d, a, b, x[i + 10], 17, -42063); + b = md5ff(b, c, d, a, x[i + 11], 22, -1990404162); + a = md5ff(a, b, c, d, x[i + 12], 7, 1804603682); + d = md5ff(d, a, b, c, x[i + 13], 12, -40341101); + c = md5ff(c, d, a, b, x[i + 14], 17, -1502002290); + b = md5ff(b, c, d, a, x[i + 15], 22, 1236535329); + a = md5gg(a, b, c, d, x[i + 1], 5, -165796510); + d = md5gg(d, a, b, c, x[i + 6], 9, -1069501632); + c = md5gg(c, d, a, b, x[i + 11], 14, 643717713); + b = md5gg(b, c, d, a, x[i], 20, -373897302); + a = md5gg(a, b, c, d, x[i + 5], 5, -701558691); + d = md5gg(d, a, b, c, x[i + 10], 9, 38016083); + c = md5gg(c, d, a, b, x[i + 15], 14, -660478335); + b = md5gg(b, c, d, a, x[i + 4], 20, -405537848); + a = md5gg(a, b, c, d, x[i + 9], 5, 568446438); + d = md5gg(d, a, b, c, x[i + 14], 9, -1019803690); + c = md5gg(c, d, a, b, x[i + 3], 14, -187363961); + b = md5gg(b, c, d, a, x[i + 8], 20, 1163531501); + a = md5gg(a, b, c, d, x[i + 13], 5, -1444681467); + d = md5gg(d, a, b, c, x[i + 2], 9, -51403784); + c = md5gg(c, d, a, b, x[i + 7], 14, 1735328473); + b = md5gg(b, c, d, a, x[i + 12], 20, -1926607734); + a = md5hh(a, b, c, d, x[i + 5], 4, -378558); + d = md5hh(d, a, b, c, x[i + 8], 11, -2022574463); + c = md5hh(c, d, a, b, x[i + 11], 16, 1839030562); + b = md5hh(b, c, d, a, x[i + 14], 23, -35309556); + a = md5hh(a, b, c, d, x[i + 1], 4, -1530992060); + d = md5hh(d, a, b, c, x[i + 4], 11, 1272893353); + c = md5hh(c, d, a, b, x[i + 7], 16, -155497632); + b = md5hh(b, c, d, a, x[i + 10], 23, -1094730640); + a = md5hh(a, b, c, d, x[i + 13], 4, 681279174); + d = md5hh(d, a, b, c, x[i], 11, -358537222); + c = md5hh(c, d, a, b, x[i + 3], 16, -722521979); + b = md5hh(b, c, d, a, x[i + 6], 23, 76029189); + a = md5hh(a, b, c, d, x[i + 9], 4, -640364487); + d = md5hh(d, a, b, c, x[i + 12], 11, -421815835); + c = md5hh(c, d, a, b, x[i + 15], 16, 530742520); + b = md5hh(b, c, d, a, x[i + 2], 23, -995338651); + a = md5ii(a, b, c, d, x[i], 6, -198630844); + d = md5ii(d, a, b, c, x[i + 7], 10, 1126891415); + c = md5ii(c, d, a, b, x[i + 14], 15, -1416354905); + b = md5ii(b, c, d, a, x[i + 5], 21, -57434055); + a = md5ii(a, b, c, d, x[i + 12], 6, 1700485571); + d = md5ii(d, a, b, c, x[i + 3], 10, -1894986606); + c = md5ii(c, d, a, b, x[i + 10], 15, -1051523); + b = md5ii(b, c, d, a, x[i + 1], 21, -2054922799); + a = md5ii(a, b, c, d, x[i + 8], 6, 1873313359); + d = md5ii(d, a, b, c, x[i + 15], 10, -30611744); + c = md5ii(c, d, a, b, x[i + 6], 15, -1560198380); + b = md5ii(b, c, d, a, x[i + 13], 21, 1309151649); + a = md5ii(a, b, c, d, x[i + 4], 6, -145523070); + d = md5ii(d, a, b, c, x[i + 11], 10, -1120210379); + c = md5ii(c, d, a, b, x[i + 2], 15, 718787259); + b = md5ii(b, c, d, a, x[i + 9], 21, -343485551); + a = safeAdd(a, olda); + b = safeAdd(b, oldb); + c = safeAdd(c, oldc); + d = safeAdd(d, oldd); + } + return Uint32Array.of(a, b, c, d); +} +function uint8ToUint32(input) { + if (input.length === 0) { + return new Uint32Array(); + } + const output = new Uint32Array(getOutputLength(input.length * 8)).fill(0); + for (let i = 0; i < input.length; i++) { + output[i >> 2] |= (input[i] & 0xff) << ((i % 4) * 8); + } + return output; +} +function safeAdd(x, y) { + const lsw = (x & 0xffff) + (y & 0xffff); + const msw = (x >> 16) + (y >> 16) + (lsw >> 16); + return (msw << 16) | (lsw & 0xffff); +} +function bitRotateLeft(num, cnt) { + return (num << cnt) | (num >>> (32 - cnt)); +} +function md5cmn(q, a, b, x, s, t) { + return safeAdd(bitRotateLeft(safeAdd(safeAdd(a, q), safeAdd(x, t)), s), b); +} +function md5ff(a, b, c, d, x, s, t) { + return md5cmn((b & c) | (~b & d), a, b, x, s, t); +} +function md5gg(a, b, c, d, x, s, t) { + return md5cmn((b & d) | (c & ~d), a, b, x, s, t); +} +function md5hh(a, b, c, d, x, s, t) { + return md5cmn(b ^ c ^ d, a, b, x, s, t); +} +function md5ii(a, b, c, d, x, s, t) { + return md5cmn(c ^ (b | ~d), a, b, x, s, t); +} +export default md5; diff --git a/node_modules/uuid/dist/native-browser.js b/node_modules/uuid/dist/native-browser.js deleted file mode 100644 index bc5d3830..00000000 --- a/node_modules/uuid/dist/native-browser.js +++ /dev/null @@ -1,10 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; -const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto); -var _default = exports.default = { - randomUUID -}; \ No newline at end of file diff --git a/node_modules/uuid/dist/native.js b/node_modules/uuid/dist/native.js deleted file mode 100644 index 4c273c55..00000000 --- a/node_modules/uuid/dist/native.js +++ /dev/null @@ -1,11 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; -var _nodeCrypto = _interopRequireDefault(require("node:crypto")); -function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } -var _default = exports.default = { - randomUUID: _nodeCrypto.default.randomUUID -}; \ No newline at end of file diff --git a/node_modules/uuid/dist/nil.d.ts b/node_modules/uuid/dist/nil.d.ts new file mode 100644 index 00000000..b03bb98e --- /dev/null +++ b/node_modules/uuid/dist/nil.d.ts @@ -0,0 +1,2 @@ +declare const _default: "00000000-0000-0000-0000-000000000000"; +export default _default; diff --git a/node_modules/uuid/dist/nil.js b/node_modules/uuid/dist/nil.js index f7967e90..de6f830e 100644 --- a/node_modules/uuid/dist/nil.js +++ b/node_modules/uuid/dist/nil.js @@ -1,7 +1 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; -var _default = exports.default = '00000000-0000-0000-0000-000000000000'; \ No newline at end of file +export default '00000000-0000-0000-0000-000000000000'; diff --git a/node_modules/uuid/dist/parse.d.ts b/node_modules/uuid/dist/parse.d.ts new file mode 100644 index 00000000..e2e31ac8 --- /dev/null +++ b/node_modules/uuid/dist/parse.d.ts @@ -0,0 +1,3 @@ +import type { NonSharedArrayBuffer } from './types.js'; +declare function parse(uuid: string): NonSharedArrayBuffer; +export default parse; diff --git a/node_modules/uuid/dist/parse.js b/node_modules/uuid/dist/parse.js index 1707c908..64ac401a 100644 --- a/node_modules/uuid/dist/parse.js +++ b/node_modules/uuid/dist/parse.js @@ -1,44 +1,9 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; -var _validate = _interopRequireDefault(require("./validate.js")); -function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } +import validate from './validate.js'; function parse(uuid) { - if (!(0, _validate.default)(uuid)) { - throw TypeError('Invalid UUID'); - } - let v; - const arr = new Uint8Array(16); - - // Parse ########-....-....-....-............ - arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24; - arr[1] = v >>> 16 & 0xff; - arr[2] = v >>> 8 & 0xff; - arr[3] = v & 0xff; - - // Parse ........-####-....-....-............ - arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8; - arr[5] = v & 0xff; - - // Parse ........-....-####-....-............ - arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8; - arr[7] = v & 0xff; - - // Parse ........-....-....-####-............ - arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8; - arr[9] = v & 0xff; - - // Parse ........-....-....-....-############ - // (Use "/" to avoid 32-bit truncation when bit-shifting high-order bytes) - arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000 & 0xff; - arr[11] = v / 0x100000000 & 0xff; - arr[12] = v >>> 24 & 0xff; - arr[13] = v >>> 16 & 0xff; - arr[14] = v >>> 8 & 0xff; - arr[15] = v & 0xff; - return arr; + if (!validate(uuid)) { + throw TypeError('Invalid UUID'); + } + let v; + 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); } -var _default = exports.default = parse; \ No newline at end of file +export default parse; diff --git a/node_modules/uuid/dist/regex.d.ts b/node_modules/uuid/dist/regex.d.ts new file mode 100644 index 00000000..d39fa3f6 --- /dev/null +++ b/node_modules/uuid/dist/regex.d.ts @@ -0,0 +1,2 @@ +declare const _default: RegExp; +export default _default; diff --git a/node_modules/uuid/dist/regex.js b/node_modules/uuid/dist/regex.js index fc02a88e..3e385919 100644 --- a/node_modules/uuid/dist/regex.js +++ b/node_modules/uuid/dist/regex.js @@ -1,7 +1 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; -var _default = exports.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; \ No newline at end of file +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; diff --git a/node_modules/uuid/dist/rng-browser.js b/node_modules/uuid/dist/rng-browser.js deleted file mode 100644 index e257738f..00000000 --- a/node_modules/uuid/dist/rng-browser.js +++ /dev/null @@ -1,23 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = rng; -// Unique ID creation requires a high quality random # generator. In the browser we therefore -// require the crypto API and do not support built-in fallback to lower quality random number -// generators (like Math.random()). - -let getRandomValues; -const rnds8 = new Uint8Array(16); -function rng() { - // lazy load so that environments that need to polyfill have a chance to do so - if (!getRandomValues) { - // getRandomValues needs to be invoked in a context where "this" is a Crypto implementation. - getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto); - if (!getRandomValues) { - throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported'); - } - } - return getRandomValues(rnds8); -} \ No newline at end of file diff --git a/node_modules/uuid/dist/rng.d.ts b/node_modules/uuid/dist/rng.d.ts new file mode 100644 index 00000000..73e60cf3 --- /dev/null +++ b/node_modules/uuid/dist/rng.d.ts @@ -0,0 +1 @@ +export default function rng(): Uint8Array; diff --git a/node_modules/uuid/dist/rng.js b/node_modules/uuid/dist/rng.js index f5eb9a1d..0511e897 100644 --- a/node_modules/uuid/dist/rng.js +++ b/node_modules/uuid/dist/rng.js @@ -1,17 +1,4 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = rng; -var _nodeCrypto = _interopRequireDefault(require("node:crypto")); -function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } -const rnds8Pool = new Uint8Array(256); // # of random values to pre-allocate -let poolPtr = rnds8Pool.length; -function rng() { - if (poolPtr > rnds8Pool.length - 16) { - _nodeCrypto.default.randomFillSync(rnds8Pool); - poolPtr = 0; - } - return rnds8Pool.slice(poolPtr, poolPtr += 16); -} \ No newline at end of file +const rnds8 = new Uint8Array(16); +export default function rng() { + return crypto.getRandomValues(rnds8); +} diff --git a/node_modules/uuid/dist/sha1-browser.js b/node_modules/uuid/dist/sha1-browser.js deleted file mode 100644 index ded98db2..00000000 --- a/node_modules/uuid/dist/sha1-browser.js +++ /dev/null @@ -1,82 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; -// Adapted from Chris Veness' SHA1 code at -// http://www.movable-type.co.uk/scripts/sha1.html -function f(s, x, y, z) { - switch (s) { - case 0: - return x & y ^ ~x & z; - case 1: - return x ^ y ^ z; - case 2: - return x & y ^ x & z ^ y & z; - case 3: - return x ^ y ^ z; - } -} -function ROTL(x, n) { - return x << n | x >>> 32 - n; -} -function sha1(bytes) { - const K = [0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xca62c1d6]; - const H = [0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0]; - if (typeof bytes === 'string') { - const msg = unescape(encodeURIComponent(bytes)); // UTF8 escape - - bytes = []; - for (let i = 0; i < msg.length; ++i) { - bytes.push(msg.charCodeAt(i)); - } - } else if (!Array.isArray(bytes)) { - // Convert Array-like to Array - bytes = Array.prototype.slice.call(bytes); - } - bytes.push(0x80); - const l = bytes.length / 4 + 2; - const N = Math.ceil(l / 16); - const M = new Array(N); - for (let i = 0; i < N; ++i) { - const arr = new Uint32Array(16); - for (let j = 0; j < 16; ++j) { - 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]; - } - M[i] = arr; - } - M[N - 1][14] = (bytes.length - 1) * 8 / Math.pow(2, 32); - M[N - 1][14] = Math.floor(M[N - 1][14]); - M[N - 1][15] = (bytes.length - 1) * 8 & 0xffffffff; - for (let i = 0; i < N; ++i) { - const W = new Uint32Array(80); - for (let t = 0; t < 16; ++t) { - W[t] = M[i][t]; - } - for (let t = 16; t < 80; ++t) { - W[t] = ROTL(W[t - 3] ^ W[t - 8] ^ W[t - 14] ^ W[t - 16], 1); - } - let a = H[0]; - let b = H[1]; - let c = H[2]; - let d = H[3]; - let e = H[4]; - for (let t = 0; t < 80; ++t) { - const s = Math.floor(t / 20); - const T = ROTL(a, 5) + f(s, b, c, d) + e + K[s] + W[t] >>> 0; - e = d; - d = c; - c = ROTL(b, 30) >>> 0; - b = a; - a = T; - } - H[0] = H[0] + a >>> 0; - H[1] = H[1] + b >>> 0; - H[2] = H[2] + c >>> 0; - H[3] = H[3] + d >>> 0; - H[4] = H[4] + e >>> 0; - } - 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]; -} -var _default = exports.default = sha1; \ No newline at end of file diff --git a/node_modules/uuid/dist/sha1.d.ts b/node_modules/uuid/dist/sha1.d.ts new file mode 100644 index 00000000..a6552e5d --- /dev/null +++ b/node_modules/uuid/dist/sha1.d.ts @@ -0,0 +1,2 @@ +declare function sha1(bytes: Uint8Array): Uint8Array; +export default sha1; diff --git a/node_modules/uuid/dist/sha1.js b/node_modules/uuid/dist/sha1.js index 3b9ded99..e0acfe38 100644 --- a/node_modules/uuid/dist/sha1.js +++ b/node_modules/uuid/dist/sha1.js @@ -1,17 +1,70 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; -var _nodeCrypto = _interopRequireDefault(require("node:crypto")); -function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } -function sha1(bytes) { - if (Array.isArray(bytes)) { - bytes = Buffer.from(bytes); - } else if (typeof bytes === 'string') { - bytes = Buffer.from(bytes, 'utf8'); - } - return _nodeCrypto.default.createHash('sha1').update(bytes).digest(); +function f(s, x, y, z) { + switch (s) { + case 0: + return (x & y) ^ (~x & z); + case 1: + return x ^ y ^ z; + case 2: + return (x & y) ^ (x & z) ^ (y & z); + case 3: + return x ^ y ^ z; + } } -var _default = exports.default = sha1; \ No newline at end of file +function ROTL(x, n) { + return (x << n) | (x >>> (32 - n)); +} +function sha1(bytes) { + const K = [0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xca62c1d6]; + const H = [0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0]; + const newBytes = new Uint8Array(bytes.length + 1); + newBytes.set(bytes); + newBytes[bytes.length] = 0x80; + bytes = newBytes; + const l = bytes.length / 4 + 2; + const N = Math.ceil(l / 16); + const M = new Array(N); + for (let i = 0; i < N; ++i) { + const arr = new Uint32Array(16); + for (let j = 0; j < 16; ++j) { + 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]; + } + M[i] = arr; + } + M[N - 1][14] = ((bytes.length - 1) * 8) / 2 ** 32; + M[N - 1][14] = Math.floor(M[N - 1][14]); + M[N - 1][15] = ((bytes.length - 1) * 8) & 0xffffffff; + for (let i = 0; i < N; ++i) { + const W = new Uint32Array(80); + for (let t = 0; t < 16; ++t) { + W[t] = M[i][t]; + } + for (let t = 16; t < 80; ++t) { + W[t] = ROTL(W[t - 3] ^ W[t - 8] ^ W[t - 14] ^ W[t - 16], 1); + } + let a = H[0]; + let b = H[1]; + let c = H[2]; + let d = H[3]; + let e = H[4]; + for (let t = 0; t < 80; ++t) { + const s = Math.floor(t / 20); + const T = (ROTL(a, 5) + f(s, b, c, d) + e + K[s] + W[t]) >>> 0; + e = d; + d = c; + c = ROTL(b, 30) >>> 0; + b = a; + a = T; + } + H[0] = (H[0] + a) >>> 0; + H[1] = (H[1] + b) >>> 0; + H[2] = (H[2] + c) >>> 0; + H[3] = (H[3] + d) >>> 0; + H[4] = (H[4] + e) >>> 0; + } + 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]); +} +export default sha1; diff --git a/node_modules/uuid/dist/stringify.d.ts b/node_modules/uuid/dist/stringify.d.ts new file mode 100644 index 00000000..16cb0088 --- /dev/null +++ b/node_modules/uuid/dist/stringify.d.ts @@ -0,0 +1,3 @@ +export declare function unsafeStringify(arr: Uint8Array, offset?: number): string; +declare function stringify(arr: Uint8Array, offset?: number): string; +export default stringify; diff --git a/node_modules/uuid/dist/stringify.js b/node_modules/uuid/dist/stringify.js index 2522dc97..962738cb 100644 --- a/node_modules/uuid/dist/stringify.js +++ b/node_modules/uuid/dist/stringify.js @@ -1,38 +1,35 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; -exports.unsafeStringify = unsafeStringify; -var _validate = _interopRequireDefault(require("./validate.js")); -function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } -/** - * Convert array of 16 byte values to UUID string format of the form: - * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX - */ +import validate from './validate.js'; const byteToHex = []; for (let i = 0; i < 256; ++i) { - byteToHex.push((i + 0x100).toString(16).slice(1)); + byteToHex.push((i + 0x100).toString(16).slice(1)); } -function unsafeStringify(arr, offset = 0) { - // Note: Be careful editing this code! It's been tuned for performance - // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434 - // - // Note to future-self: No, you can't remove the `toLowerCase()` call. - // REF: https://github.com/uuidjs/uuid/pull/677#issuecomment-1757351351 - 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(); +export function unsafeStringify(arr, offset = 0) { + 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(); } function stringify(arr, offset = 0) { - const uuid = unsafeStringify(arr, offset); - // Consistency check for valid UUID. If this throws, it's likely due to one - // of the following: - // - One or more input array values don't map to a hex octet (leading to - // "undefined" in the uuid) - // - Invalid input values for the RFC `version` or `variant` fields - if (!(0, _validate.default)(uuid)) { - throw TypeError('Stringified UUID is invalid'); - } - return uuid; + const uuid = unsafeStringify(arr, offset); + if (!validate(uuid)) { + throw TypeError('Stringified UUID is invalid'); + } + return uuid; } -var _default = exports.default = stringify; \ No newline at end of file +export default stringify; diff --git a/node_modules/uuid/dist/types.d.ts b/node_modules/uuid/dist/types.d.ts new file mode 100644 index 00000000..3d276b5e --- /dev/null +++ b/node_modules/uuid/dist/types.d.ts @@ -0,0 +1,22 @@ +export type UUIDTypes = string | TBuf; +export type Version1Options = { + node?: Uint8Array; + clockseq?: number; + random?: Uint8Array; + rng?: () => Uint8Array; + msecs?: number; + nsecs?: number; + _v6?: boolean; +}; +export type Version4Options = { + random?: Uint8Array; + rng?: () => Uint8Array; +}; +export type Version6Options = Version1Options; +export type Version7Options = { + random?: Uint8Array; + msecs?: number; + seq?: number; + rng?: () => Uint8Array; +}; +export type NonSharedArrayBuffer = ReturnType; diff --git a/node_modules/uuid/dist/types.js b/node_modules/uuid/dist/types.js new file mode 100644 index 00000000..cb0ff5c3 --- /dev/null +++ b/node_modules/uuid/dist/types.js @@ -0,0 +1 @@ +export {}; diff --git a/node_modules/uuid/dist/uuid-bin.d.ts b/node_modules/uuid/dist/uuid-bin.d.ts new file mode 100644 index 00000000..cb0ff5c3 --- /dev/null +++ b/node_modules/uuid/dist/uuid-bin.d.ts @@ -0,0 +1 @@ +export {}; diff --git a/node_modules/uuid/dist/uuid-bin.js b/node_modules/uuid/dist/uuid-bin.js index d039dfe0..aa4d4ac4 100644 --- a/node_modules/uuid/dist/uuid-bin.js +++ b/node_modules/uuid/dist/uuid-bin.js @@ -1,75 +1,70 @@ -"use strict"; - -var _assert = _interopRequireDefault(require("assert")); -var _v = _interopRequireDefault(require("./v1.js")); -var _v2 = _interopRequireDefault(require("./v3.js")); -var _v3 = _interopRequireDefault(require("./v4.js")); -var _v4 = _interopRequireDefault(require("./v5.js")); -var _v5 = _interopRequireDefault(require("./v6.js")); -var _v6 = _interopRequireDefault(require("./v7.js")); -function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } +import * as assert from 'node:assert/strict'; +import v1 from './v1.js'; +import v3 from './v3.js'; +import v4 from './v4.js'; +import v5 from './v5.js'; +import v6 from './v6.js'; +import v7 from './v7.js'; function usage() { - console.log('Usage:'); - console.log(' uuid'); - console.log(' uuid v1'); - console.log(' uuid v3 '); - console.log(' uuid v4'); - console.log(' uuid v5 '); - console.log(' uuid v6'); - console.log(' uuid v7'); - console.log(' uuid --help'); - console.log('\nNote: may be "URL" or "DNS" to use the corresponding UUIDs defined by RFC9562'); + console.log('Usage:'); + console.log(' uuid'); + console.log(' uuid v1'); + console.log(' uuid v3 '); + console.log(' uuid v4'); + console.log(' uuid v5 '); + console.log(' uuid v6'); + console.log(' uuid v7'); + console.log(' uuid --help'); + console.log('\nNote: may be "URL" or "DNS" to use the corresponding UUIDs defined by RFC9562'); } const args = process.argv.slice(2); if (args.indexOf('--help') >= 0) { - usage(); - process.exit(0); + usage(); + process.exit(0); } const version = args.shift() || 'v4'; switch (version) { - case 'v1': - console.log((0, _v.default)()); - break; - case 'v3': - { - const name = args.shift(); - let namespace = args.shift(); - (0, _assert.default)(name != null, 'v3 name not specified'); - (0, _assert.default)(namespace != null, 'v3 namespace not specified'); - if (namespace === 'URL') { - namespace = _v2.default.URL; - } - if (namespace === 'DNS') { - namespace = _v2.default.DNS; - } - console.log((0, _v2.default)(name, namespace)); - break; + case 'v1': + console.log(v1()); + break; + case 'v3': { + const name = args.shift(); + let namespace = args.shift(); + assert.ok(name != null, 'v3 name not specified'); + assert.ok(namespace != null, 'v3 namespace not specified'); + if (namespace === 'URL') { + namespace = v3.URL; + } + if (namespace === 'DNS') { + namespace = v3.DNS; + } + console.log(v3(name, namespace)); + break; } - case 'v4': - console.log((0, _v3.default)()); - break; - case 'v5': - { - const name = args.shift(); - let namespace = args.shift(); - (0, _assert.default)(name != null, 'v5 name not specified'); - (0, _assert.default)(namespace != null, 'v5 namespace not specified'); - if (namespace === 'URL') { - namespace = _v4.default.URL; - } - if (namespace === 'DNS') { - namespace = _v4.default.DNS; - } - console.log((0, _v4.default)(name, namespace)); - break; + case 'v4': + console.log(v4()); + break; + case 'v5': { + const name = args.shift(); + let namespace = args.shift(); + assert.ok(name != null, 'v5 name not specified'); + assert.ok(namespace != null, 'v5 namespace not specified'); + if (namespace === 'URL') { + namespace = v5.URL; + } + if (namespace === 'DNS') { + namespace = v5.DNS; + } + console.log(v5(name, namespace)); + break; } - case 'v6': - console.log((0, _v5.default)()); - break; - case 'v7': - console.log((0, _v6.default)()); - break; - default: - usage(); - process.exit(1); -} \ No newline at end of file + case 'v6': + console.log(v6()); + break; + case 'v7': + console.log(v7()); + break; + default: + usage(); + process.exit(1); +} diff --git a/node_modules/uuid/dist/v1.d.ts b/node_modules/uuid/dist/v1.d.ts new file mode 100644 index 00000000..6744f009 --- /dev/null +++ b/node_modules/uuid/dist/v1.d.ts @@ -0,0 +1,11 @@ +import type { Version1Options } from './types.js'; +type V1State = { + node?: Uint8Array; + clockseq?: number; + msecs?: number; + nsecs?: number; +}; +declare function v1(options?: Version1Options, buf?: undefined, offset?: number): string; +declare function v1(options: Version1Options | undefined, buf: Buf, offset?: number): Buf; +export declare function updateV1State(state: V1State, now: number, rnds: Uint8Array): V1State; +export default v1; diff --git a/node_modules/uuid/dist/v1.js b/node_modules/uuid/dist/v1.js index c6b9344a..aa704495 100644 --- a/node_modules/uuid/dist/v1.js +++ b/node_modules/uuid/dist/v1.js @@ -1,131 +1,87 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; -var _rng = _interopRequireDefault(require("./rng.js")); -var _stringify = require("./stringify.js"); -function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } -// **`v1()` - Generate time-based UUID** -// -// Inspired by https://github.com/LiosK/UUID.js -// and http://docs.python.org/library/uuid.html - -let _nodeId; -let _clockseq; - -// Previous uuid creation time -let _lastMSecs = 0; -let _lastNSecs = 0; - -// See https://github.com/uuidjs/uuid for API details +import rng from './rng.js'; +import { unsafeStringify } from './stringify.js'; +const _state = {}; function v1(options, buf, offset) { - let i = buf && offset || 0; - const b = buf || new Array(16); - options = options || {}; - let node = options.node; - let clockseq = options.clockseq; - - // v1 only: Use cached `node` and `clockseq` values - if (!options._v6) { - if (!node) { - node = _nodeId; + let bytes; + const isV6 = options?._v6 ?? false; + if (options) { + const optionsKeys = Object.keys(options); + if (optionsKeys.length === 1 && optionsKeys[0] === '_v6') { + options = undefined; + } } - if (clockseq == null) { - clockseq = _clockseq; + if (options) { + bytes = v1Bytes(options.random ?? options.rng?.() ?? rng(), options.msecs, options.nsecs, options.clockseq, options.node, buf, offset); } - } - - // Handle cases where we need entropy. We do this lazily to minimize issues - // related to insufficient system entropy. See #189 - if (node == null || clockseq == null) { - const seedBytes = options.random || (options.rng || _rng.default)(); - - // Randomize node - if (node == null) { - node = [seedBytes[0], seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]]; - - // v1 only: cache node value for reuse - if (!_nodeId && !options._v6) { - // per RFC4122 4.5: Set MAC multicast bit (v1 only) - node[0] |= 0x01; // Set multicast bit - - _nodeId = node; - } + else { + const now = Date.now(); + const rnds = rng(); + updateV1State(_state, now, rnds); + bytes = v1Bytes(rnds, _state.msecs, _state.nsecs, isV6 ? undefined : _state.clockseq, isV6 ? undefined : _state.node, buf, offset); } - - // Randomize clockseq - if (clockseq == null) { - // Per 4.2.2, randomize (14 bit) clockseq - clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff; - if (_clockseq === undefined && !options._v6) { - _clockseq = clockseq; - } - } - } - - // v1 & v6 timestamps are 100 nano-second units since the Gregorian epoch, - // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so time is - // handled internally as 'msecs' (integer milliseconds) and 'nsecs' - // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00. - let msecs = options.msecs !== undefined ? options.msecs : Date.now(); - - // Per 4.2.1.2, use count of uuid's generated during the current clock - // cycle to simulate higher resolution clock - let nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1; - - // Time since last uuid creation (in msecs) - const dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 10000; - - // Per 4.2.1.2, Bump clockseq on clock regression - if (dt < 0 && options.clockseq === undefined) { - clockseq = clockseq + 1 & 0x3fff; - } - - // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new - // time interval - if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) { - nsecs = 0; - } - - // Per 4.2.1.2 Throw error if too many uuids are requested - if (nsecs >= 10000) { - throw new Error("uuid.v1(): Can't create more than 10M uuids/sec"); - } - _lastMSecs = msecs; - _lastNSecs = nsecs; - _clockseq = clockseq; - - // Per 4.1.4 - Convert from unix epoch to Gregorian epoch - msecs += 12219292800000; - - // `time_low` - const tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000; - b[i++] = tl >>> 24 & 0xff; - b[i++] = tl >>> 16 & 0xff; - b[i++] = tl >>> 8 & 0xff; - b[i++] = tl & 0xff; - - // `time_mid` - const tmh = msecs / 0x100000000 * 10000 & 0xfffffff; - b[i++] = tmh >>> 8 & 0xff; - b[i++] = tmh & 0xff; - - // `time_high_and_version` - b[i++] = tmh >>> 24 & 0xf | 0x10; // include version - b[i++] = tmh >>> 16 & 0xff; - - // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant) - b[i++] = clockseq >>> 8 | 0x80; - - // `clock_seq_low` - b[i++] = clockseq & 0xff; - - // `node` - for (let n = 0; n < 6; ++n) { - b[i + n] = node[n]; - } - return buf || (0, _stringify.unsafeStringify)(b); + return buf ?? unsafeStringify(bytes); } -var _default = exports.default = v1; \ No newline at end of file +export function updateV1State(state, now, rnds) { + state.msecs ??= -Infinity; + state.nsecs ??= 0; + if (now === state.msecs) { + state.nsecs++; + if (state.nsecs >= 10000) { + state.node = undefined; + state.nsecs = 0; + } + } + else if (now > state.msecs) { + state.nsecs = 0; + } + else if (now < state.msecs) { + state.node = undefined; + } + if (!state.node) { + state.node = rnds.slice(10, 16); + state.node[0] |= 0x01; + state.clockseq = ((rnds[8] << 8) | rnds[9]) & 0x3fff; + } + state.msecs = now; + return state; +} +function v1Bytes(rnds, msecs, nsecs, clockseq, node, buf, offset = 0) { + if (rnds.length < 16) { + throw new Error('Random bytes length must be >= 16'); + } + if (!buf) { + buf = new Uint8Array(16); + offset = 0; + } + else { + if (offset < 0 || offset + 16 > buf.length) { + throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`); + } + } + msecs ??= Date.now(); + nsecs ??= 0; + clockseq ??= ((rnds[8] << 8) | rnds[9]) & 0x3fff; + if (node == null) { + node = rnds.slice(10, 16); + node[0] |= 0x01; + } + msecs += 12219292800000; + const t = (msecs & 0xfffffff) * 10000 + nsecs; + const tl = t >>> 0; + buf[offset++] = (tl >>> 24) & 0xff; + buf[offset++] = (tl >>> 16) & 0xff; + buf[offset++] = (tl >>> 8) & 0xff; + buf[offset++] = tl & 0xff; + const tmh = (((msecs / 0x10000000) | 0) * 625 + ((t / 0x100000000) | 0)) & 0xfffffff; + buf[offset++] = (tmh >>> 8) & 0xff; + buf[offset++] = tmh & 0xff; + buf[offset++] = ((tmh >>> 24) & 0xf) | 0x10; + buf[offset++] = (tmh >>> 16) & 0xff; + buf[offset++] = (clockseq >>> 8) | 0x80; + buf[offset++] = clockseq & 0xff; + for (let n = 0; n < 6; ++n) { + buf[offset++] = node[n]; + } + return buf; +} +export default v1; diff --git a/node_modules/uuid/dist/v1ToV6.d.ts b/node_modules/uuid/dist/v1ToV6.d.ts new file mode 100644 index 00000000..67924d80 --- /dev/null +++ b/node_modules/uuid/dist/v1ToV6.d.ts @@ -0,0 +1,3 @@ +import type { NonSharedArrayBuffer } from './types.js'; +export default function v1ToV6(uuid: string): string; +export default function v1ToV6(uuid: Uint8Array): NonSharedArrayBuffer; diff --git a/node_modules/uuid/dist/v1ToV6.js b/node_modules/uuid/dist/v1ToV6.js index ce563734..da0f7634 100644 --- a/node_modules/uuid/dist/v1ToV6.js +++ b/node_modules/uuid/dist/v1ToV6.js @@ -1,26 +1,10 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = v1ToV6; -var _parse = _interopRequireDefault(require("./parse.js")); -var _stringify = require("./stringify.js"); -function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } -/** - * Convert a v1 UUID to a v6 UUID - * - * @param {string|Uint8Array} uuid - The v1 UUID to convert to v6 - * @returns {string|Uint8Array} The v6 UUID as the same type as the `uuid` arg - * (string or Uint8Array) - */ -function v1ToV6(uuid) { - const v1Bytes = typeof uuid === 'string' ? (0, _parse.default)(uuid) : uuid; - const v6Bytes = _v1ToV6(v1Bytes); - return typeof uuid === 'string' ? (0, _stringify.unsafeStringify)(v6Bytes) : v6Bytes; +import parse from './parse.js'; +import { unsafeStringify } from './stringify.js'; +export default function v1ToV6(uuid) { + const v1Bytes = typeof uuid === 'string' ? parse(uuid) : uuid; + const v6Bytes = _v1ToV6(v1Bytes); + return typeof uuid === 'string' ? unsafeStringify(v6Bytes) : v6Bytes; +} +function _v1ToV6(v1Bytes) { + 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]); } - -// Do the field transformation needed for v1 -> v6 -function _v1ToV6(v1Bytes, randomize = false) { - 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]); -} \ No newline at end of file diff --git a/node_modules/uuid/dist/v3.d.ts b/node_modules/uuid/dist/v3.d.ts new file mode 100644 index 00000000..c4142c79 --- /dev/null +++ b/node_modules/uuid/dist/v3.d.ts @@ -0,0 +1,9 @@ +import type { UUIDTypes } from './types.js'; +export { DNS, URL } from './v35.js'; +declare function v3(value: string | Uint8Array, namespace: UUIDTypes, buf?: undefined, offset?: number): string; +declare function v3(value: string | Uint8Array, namespace: UUIDTypes, buf: TBuf, offset?: number): TBuf; +declare namespace v3 { + var DNS: string; + var URL: string; +} +export default v3; diff --git a/node_modules/uuid/dist/v3.js b/node_modules/uuid/dist/v3.js index a3eed7e5..b5c3781d 100644 --- a/node_modules/uuid/dist/v3.js +++ b/node_modules/uuid/dist/v3.js @@ -1,11 +1,9 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; -var _v = _interopRequireDefault(require("./v35.js")); -var _md = _interopRequireDefault(require("./md5.js")); -function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } -const v3 = (0, _v.default)('v3', 0x30, _md.default); -var _default = exports.default = v3; \ No newline at end of file +import md5 from './md5.js'; +import v35, { DNS, URL } from './v35.js'; +export { DNS, URL } from './v35.js'; +function v3(value, namespace, buf, offset) { + return v35(0x30, md5, value, namespace, buf, offset); +} +v3.DNS = DNS; +v3.URL = URL; +export default v3; diff --git a/node_modules/uuid/dist/v35.d.ts b/node_modules/uuid/dist/v35.d.ts new file mode 100644 index 00000000..05d0fb54 --- /dev/null +++ b/node_modules/uuid/dist/v35.d.ts @@ -0,0 +1,7 @@ +import type { UUIDTypes } from './types.js'; +export declare function stringToBytes(str: string): Uint8Array; +export declare const DNS = "6ba7b810-9dad-11d1-80b4-00c04fd430c8"; +export declare const URL = "6ba7b811-9dad-11d1-80b4-00c04fd430c8"; +type HashFunction = (bytes: Uint8Array) => Uint8Array; +export default function v35(version: 0x30 | 0x50, hash: HashFunction, value: string | Uint8Array, namespace: UUIDTypes, buf?: TBuf, offset?: number): UUIDTypes; +export {}; diff --git a/node_modules/uuid/dist/v35.js b/node_modules/uuid/dist/v35.js index f2e35ae2..8c5fc666 100644 --- a/node_modules/uuid/dist/v35.js +++ b/node_modules/uuid/dist/v35.js @@ -1,63 +1,39 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.URL = exports.DNS = void 0; -exports.default = v35; -var _stringify = require("./stringify.js"); -var _parse = _interopRequireDefault(require("./parse.js")); -function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } -function stringToBytes(str) { - str = unescape(encodeURIComponent(str)); // UTF8 escape - - const bytes = []; - for (let i = 0; i < str.length; ++i) { - bytes.push(str.charCodeAt(i)); - } - return bytes; +import parse from './parse.js'; +import { unsafeStringify } from './stringify.js'; +export function stringToBytes(str) { + str = unescape(encodeURIComponent(str)); + const bytes = new Uint8Array(str.length); + for (let i = 0; i < str.length; ++i) { + bytes[i] = str.charCodeAt(i); + } + return bytes; } -const DNS = exports.DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8'; -const URL = exports.URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8'; -function v35(name, version, hashfunc) { - function generateUUID(value, namespace, buf, offset) { - var _namespace; - if (typeof value === 'string') { - value = stringToBytes(value); - } +export const DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8'; +export const URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8'; +export default function v35(version, hash, value, namespace, buf, offset) { + const valueBytes = typeof value === 'string' ? stringToBytes(value) : value; + const namespaceBytes = typeof namespace === 'string' ? parse(namespace) : namespace; if (typeof namespace === 'string') { - namespace = (0, _parse.default)(namespace); + namespace = parse(namespace); } - if (((_namespace = namespace) === null || _namespace === void 0 ? void 0 : _namespace.length) !== 16) { - throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)'); + if (namespace?.length !== 16) { + throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)'); } - - // Compute hash of namespace and value, Per 4.3 - // Future: Use spread syntax when supported on all platforms, e.g. `bytes = - // hashfunc([...namespace, ... value])` - let bytes = new Uint8Array(16 + value.length); - bytes.set(namespace); - bytes.set(value, namespace.length); - bytes = hashfunc(bytes); - bytes[6] = bytes[6] & 0x0f | version; - bytes[8] = bytes[8] & 0x3f | 0x80; + let bytes = new Uint8Array(16 + valueBytes.length); + bytes.set(namespaceBytes); + bytes.set(valueBytes, namespaceBytes.length); + bytes = hash(bytes); + bytes[6] = (bytes[6] & 0x0f) | version; + bytes[8] = (bytes[8] & 0x3f) | 0x80; if (buf) { - offset = offset || 0; - for (let i = 0; i < 16; ++i) { - buf[offset + i] = bytes[i]; - } - return buf; + offset ??= 0; + if (offset < 0 || offset + 16 > buf.length) { + throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`); + } + for (let i = 0; i < 16; ++i) { + buf[offset + i] = bytes[i]; + } + return buf; } - return (0, _stringify.unsafeStringify)(bytes); - } - - // Function#name is not settable on some platforms (#270) - try { - generateUUID.name = name; - } catch (err) {} - - // For CommonJS default export support - generateUUID.DNS = DNS; - generateUUID.URL = URL; - return generateUUID; -} \ No newline at end of file + return unsafeStringify(bytes); +} diff --git a/node_modules/uuid/dist/v4.d.ts b/node_modules/uuid/dist/v4.d.ts new file mode 100644 index 00000000..f131da76 --- /dev/null +++ b/node_modules/uuid/dist/v4.d.ts @@ -0,0 +1,4 @@ +import type { Version4Options } from './types.js'; +declare function v4(options?: Version4Options, buf?: undefined, offset?: number): string; +declare function v4(options: Version4Options | undefined, buf: TBuf, offset?: number): TBuf; +export default v4; diff --git a/node_modules/uuid/dist/v4.js b/node_modules/uuid/dist/v4.js index 6f2744b8..b3017c9f 100644 --- a/node_modules/uuid/dist/v4.js +++ b/node_modules/uuid/dist/v4.js @@ -1,32 +1,29 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; -var _native = _interopRequireDefault(require("./native.js")); -var _rng = _interopRequireDefault(require("./rng.js")); -var _stringify = require("./stringify.js"); -function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } +import rng from './rng.js'; +import { unsafeStringify } from './stringify.js'; function v4(options, buf, offset) { - if (_native.default.randomUUID && !buf && !options) { - return _native.default.randomUUID(); - } - options = options || {}; - const rnds = options.random || (options.rng || _rng.default)(); - - // Per 4.4, set bits for version and `clock_seq_hi_and_reserved` - rnds[6] = rnds[6] & 0x0f | 0x40; - rnds[8] = rnds[8] & 0x3f | 0x80; - - // Copy bytes to buffer, if provided - if (buf) { - offset = offset || 0; - for (let i = 0; i < 16; ++i) { - buf[offset + i] = rnds[i]; + if (!buf && !options && crypto.randomUUID) { + return crypto.randomUUID(); } - return buf; - } - return (0, _stringify.unsafeStringify)(rnds); + return _v4(options, buf, offset); } -var _default = exports.default = v4; \ No newline at end of file +function _v4(options, buf, offset) { + options = options || {}; + const rnds = options.random ?? options.rng?.() ?? rng(); + if (rnds.length < 16) { + throw new Error('Random bytes length must be >= 16'); + } + rnds[6] = (rnds[6] & 0x0f) | 0x40; + rnds[8] = (rnds[8] & 0x3f) | 0x80; + if (buf) { + offset = offset || 0; + if (offset < 0 || offset + 16 > buf.length) { + throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`); + } + for (let i = 0; i < 16; ++i) { + buf[offset + i] = rnds[i]; + } + return buf; + } + return unsafeStringify(rnds); +} +export default v4; diff --git a/node_modules/uuid/dist/v5.d.ts b/node_modules/uuid/dist/v5.d.ts new file mode 100644 index 00000000..3e7011e3 --- /dev/null +++ b/node_modules/uuid/dist/v5.d.ts @@ -0,0 +1,9 @@ +import type { UUIDTypes } from './types.js'; +export { DNS, URL } from './v35.js'; +declare function v5(value: string | Uint8Array, namespace: UUIDTypes, buf?: undefined, offset?: number): string; +declare function v5(value: string | Uint8Array, namespace: UUIDTypes, buf: TBuf, offset?: number): TBuf; +declare namespace v5 { + var DNS: string; + var URL: string; +} +export default v5; diff --git a/node_modules/uuid/dist/v5.js b/node_modules/uuid/dist/v5.js index 63063bb2..bd470a45 100644 --- a/node_modules/uuid/dist/v5.js +++ b/node_modules/uuid/dist/v5.js @@ -1,11 +1,9 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; -var _v = _interopRequireDefault(require("./v35.js")); -var _sha = _interopRequireDefault(require("./sha1.js")); -function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } -const v5 = (0, _v.default)('v5', 0x50, _sha.default); -var _default = exports.default = v5; \ No newline at end of file +import sha1 from './sha1.js'; +import v35, { DNS, URL } from './v35.js'; +export { DNS, URL } from './v35.js'; +function v5(value, namespace, buf, offset) { + return v35(0x50, sha1, value, namespace, buf, offset); +} +v5.DNS = DNS; +v5.URL = URL; +export default v5; diff --git a/node_modules/uuid/dist/v6.d.ts b/node_modules/uuid/dist/v6.d.ts new file mode 100644 index 00000000..68f8e7c2 --- /dev/null +++ b/node_modules/uuid/dist/v6.d.ts @@ -0,0 +1,4 @@ +import type { Version6Options } from './types.js'; +declare function v6(options?: Version6Options, buf?: undefined, offset?: number): string; +declare function v6(options: Version6Options | undefined, buf: TBuf, offset?: number): TBuf; +export default v6; diff --git a/node_modules/uuid/dist/v6.js b/node_modules/uuid/dist/v6.js index 627c6a7b..bd1fc35e 100644 --- a/node_modules/uuid/dist/v6.js +++ b/node_modules/uuid/dist/v6.js @@ -1,38 +1,20 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = v6; -var _stringify = require("./stringify.js"); -var _v = _interopRequireDefault(require("./v1.js")); -var _v1ToV = _interopRequireDefault(require("./v1ToV6.js")); -function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } -/** - * - * @param {object} options - * @param {Uint8Array=} buf - * @param {number=} offset - * @returns - */ -function v6(options = {}, buf, offset = 0) { - // v6 is v1 with different field layout, so we start with a v1 UUID, albeit - // with slightly different behavior around how the clock_seq and node fields - // are randomized, which is why we call v1 with _v6: true. - let bytes = (0, _v.default)({ - ...options, - _v6: true - }, new Uint8Array(16)); - - // Reorder the fields to v6 layout. - bytes = (0, _v1ToV.default)(bytes); - - // Return as a byte array if requested - if (buf) { - for (let i = 0; i < 16; i++) { - buf[offset + i] = bytes[i]; +import { unsafeStringify } from './stringify.js'; +import v1 from './v1.js'; +import v1ToV6 from './v1ToV6.js'; +function v6(options, buf, offset) { + options ??= {}; + offset ??= 0; + let bytes = v1({ ...options, _v6: true }, new Uint8Array(16)); + bytes = v1ToV6(bytes); + if (buf) { + if (offset < 0 || offset + 16 > buf.length) { + throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`); + } + for (let i = 0; i < 16; i++) { + buf[offset + i] = bytes[i]; + } + return buf; } - return buf; - } - return (0, _stringify.unsafeStringify)(bytes); -} \ No newline at end of file + return unsafeStringify(bytes); +} +export default v6; diff --git a/node_modules/uuid/dist/v6ToV1.d.ts b/node_modules/uuid/dist/v6ToV1.d.ts new file mode 100644 index 00000000..3b3ffc21 --- /dev/null +++ b/node_modules/uuid/dist/v6ToV1.d.ts @@ -0,0 +1,2 @@ +export default function v6ToV1(uuid: string): string; +export default function v6ToV1(uuid: Uint8Array): Uint8Array; diff --git a/node_modules/uuid/dist/v6ToV1.js b/node_modules/uuid/dist/v6ToV1.js index a0198610..bfd942fd 100644 --- a/node_modules/uuid/dist/v6ToV1.js +++ b/node_modules/uuid/dist/v6ToV1.js @@ -1,26 +1,10 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = v6ToV1; -var _parse = _interopRequireDefault(require("./parse.js")); -var _stringify = require("./stringify.js"); -function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } -/** - * Convert a v6 UUID to a v1 UUID - * - * @param {string|Uint8Array} uuid - The v6 UUID to convert to v6 - * @returns {string|Uint8Array} The v1 UUID as the same type as the `uuid` arg - * (string or Uint8Array) - */ -function v6ToV1(uuid) { - const v6Bytes = typeof uuid === 'string' ? (0, _parse.default)(uuid) : uuid; - const v1Bytes = _v6ToV1(v6Bytes); - return typeof uuid === 'string' ? (0, _stringify.unsafeStringify)(v1Bytes) : v1Bytes; +import parse from './parse.js'; +import { unsafeStringify } from './stringify.js'; +export default function v6ToV1(uuid) { + const v6Bytes = typeof uuid === 'string' ? parse(uuid) : uuid; + const v1Bytes = _v6ToV1(v6Bytes); + return typeof uuid === 'string' ? unsafeStringify(v1Bytes) : v1Bytes; } - -// Do the field transformation needed for v6 -> v1 function _v6ToV1(v6Bytes) { - return Uint8Array.of((v6Bytes[3] & 0x0f) << 4 | v6Bytes[4] >> 4 & 0x0f, (v6Bytes[4] & 0x0f) << 4 | (v6Bytes[5] & 0xf0) >> 4, (v6Bytes[5] & 0x0f) << 4 | v6Bytes[6] & 0x0f, v6Bytes[7], (v6Bytes[1] & 0x0f) << 4 | (v6Bytes[2] & 0xf0) >> 4, (v6Bytes[2] & 0x0f) << 4 | (v6Bytes[3] & 0xf0) >> 4, 0x10 | (v6Bytes[0] & 0xf0) >> 4, (v6Bytes[0] & 0x0f) << 4 | (v6Bytes[1] & 0xf0) >> 4, v6Bytes[8], v6Bytes[9], v6Bytes[10], v6Bytes[11], v6Bytes[12], v6Bytes[13], v6Bytes[14], v6Bytes[15]); -} \ No newline at end of file + return Uint8Array.of(((v6Bytes[3] & 0x0f) << 4) | ((v6Bytes[4] >> 4) & 0x0f), ((v6Bytes[4] & 0x0f) << 4) | ((v6Bytes[5] & 0xf0) >> 4), ((v6Bytes[5] & 0x0f) << 4) | (v6Bytes[6] & 0x0f), v6Bytes[7], ((v6Bytes[1] & 0x0f) << 4) | ((v6Bytes[2] & 0xf0) >> 4), ((v6Bytes[2] & 0x0f) << 4) | ((v6Bytes[3] & 0xf0) >> 4), 0x10 | ((v6Bytes[0] & 0xf0) >> 4), ((v6Bytes[0] & 0x0f) << 4) | ((v6Bytes[1] & 0xf0) >> 4), v6Bytes[8], v6Bytes[9], v6Bytes[10], v6Bytes[11], v6Bytes[12], v6Bytes[13], v6Bytes[14], v6Bytes[15]); +} diff --git a/node_modules/uuid/dist/v7.d.ts b/node_modules/uuid/dist/v7.d.ts new file mode 100644 index 00000000..f77dfca6 --- /dev/null +++ b/node_modules/uuid/dist/v7.d.ts @@ -0,0 +1,9 @@ +import type { Version7Options } from './types.js'; +type V7State = { + msecs?: number; + seq?: number; +}; +declare function v7(options?: Version7Options, buf?: undefined, offset?: number): string; +declare function v7(options: Version7Options | undefined, buf: TBuf, offset?: number): TBuf; +export declare function updateV7State(state: V7State, now: number, rnds: Uint8Array): V7State; +export default v7; diff --git a/node_modules/uuid/dist/v7.js b/node_modules/uuid/dist/v7.js index 85831e12..a3a68f80 100644 --- a/node_modules/uuid/dist/v7.js +++ b/node_modules/uuid/dist/v7.js @@ -1,152 +1,68 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; -var _rng = _interopRequireDefault(require("./rng.js")); -var _stringify = require("./stringify.js"); -function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } -/** - * UUID V7 - Unix Epoch time-based UUID - * - * The IETF has published RFC9562, introducing 3 new UUID versions (6,7,8). This - * implementation of V7 is based on the accepted, though not yet approved, - * revisions. - * - * RFC 9562:https://www.rfc-editor.org/rfc/rfc9562.html Universally Unique - * IDentifiers (UUIDs) - - * - * Sample V7 value: - * https://www.rfc-editor.org/rfc/rfc9562.html#name-example-of-a-uuidv7-value - * - * Monotonic Bit Layout: RFC rfc9562.6.2 Method 1, Dedicated Counter Bits ref: - * https://www.rfc-editor.org/rfc/rfc9562.html#section-6.2-5.1 - * - * 0 1 2 3 0 1 2 3 4 5 6 - * 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 - * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - * | unix_ts_ms | - * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - * | unix_ts_ms | ver | seq_hi | - * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - * |var| seq_low | rand | - * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - * | rand | - * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - * - * seq is a 31 bit serialized counter; comprised of 12 bit seq_hi and 19 bit - * seq_low, and randomly initialized upon timestamp change. 31 bit counter size - * was selected as any bitwise operations in node are done as _signed_ 32 bit - * ints. we exclude the sign bit. - */ - -let _seqLow = null; -let _seqHigh = null; -let _msecs = 0; +import rng from './rng.js'; +import { unsafeStringify } from './stringify.js'; +const _state = {}; function v7(options, buf, offset) { - options = options || {}; - - // initialize buffer and pointer - let i = buf && offset || 0; - const b = buf || new Uint8Array(16); - - // rnds is Uint8Array(16) filled with random bytes - const rnds = options.random || (options.rng || _rng.default)(); - - // milliseconds since unix epoch, 1970-01-01 00:00 - const msecs = options.msecs !== undefined ? options.msecs : Date.now(); - - // seq is user provided 31 bit counter - let seq = options.seq !== undefined ? options.seq : null; - - // initialize local seq high/low parts - let seqHigh = _seqHigh; - let seqLow = _seqLow; - - // check if clock has advanced and user has not provided msecs - if (msecs > _msecs && options.msecs === undefined) { - _msecs = msecs; - - // unless user provided seq, reset seq parts - if (seq !== null) { - seqHigh = null; - seqLow = null; + let bytes; + if (options) { + bytes = v7Bytes(options.random ?? options.rng?.() ?? rng(), options.msecs, options.seq, buf, offset); } - } - - // if we have a user provided seq - if (seq !== null) { - // trim provided seq to 31 bits of value, avoiding overflow - if (seq > 0x7fffffff) { - seq = 0x7fffffff; + else { + const now = Date.now(); + const rnds = rng(); + updateV7State(_state, now, rnds); + bytes = v7Bytes(rnds, _state.msecs, _state.seq, buf, offset); } - - // split provided seq into high/low parts - seqHigh = seq >>> 19 & 0xfff; - seqLow = seq & 0x7ffff; - } - - // randomly initialize seq - if (seqHigh === null || seqLow === null) { - seqHigh = rnds[6] & 0x7f; - seqHigh = seqHigh << 8 | rnds[7]; - seqLow = rnds[8] & 0x3f; // pad for var - seqLow = seqLow << 8 | rnds[9]; - seqLow = seqLow << 5 | rnds[10] >>> 3; - } - - // increment seq if within msecs window - if (msecs + 10000 > _msecs && seq === null) { - if (++seqLow > 0x7ffff) { - seqLow = 0; - if (++seqHigh > 0xfff) { - seqHigh = 0; - - // increment internal _msecs. this allows us to continue incrementing - // while staying monotonic. Note, once we hit 10k milliseconds beyond system - // clock, we will reset breaking monotonicity (after (2^31)*10000 generations) - _msecs++; - } - } - } else { - // resetting; we have advanced more than - // 10k milliseconds beyond system clock - _msecs = msecs; - } - _seqHigh = seqHigh; - _seqLow = seqLow; - - // [bytes 0-5] 48 bits of local timestamp - b[i++] = _msecs / 0x10000000000 & 0xff; - b[i++] = _msecs / 0x100000000 & 0xff; - b[i++] = _msecs / 0x1000000 & 0xff; - b[i++] = _msecs / 0x10000 & 0xff; - b[i++] = _msecs / 0x100 & 0xff; - b[i++] = _msecs & 0xff; - - // [byte 6] - set 4 bits of version (7) with first 4 bits seq_hi - b[i++] = seqHigh >>> 4 & 0x0f | 0x70; - - // [byte 7] remaining 8 bits of seq_hi - b[i++] = seqHigh & 0xff; - - // [byte 8] - variant (2 bits), first 6 bits seq_low - b[i++] = seqLow >>> 13 & 0x3f | 0x80; - - // [byte 9] 8 bits seq_low - b[i++] = seqLow >>> 5 & 0xff; - - // [byte 10] remaining 5 bits seq_low, 3 bits random - b[i++] = seqLow << 3 & 0xff | rnds[10] & 0x07; - - // [bytes 11-15] always random - b[i++] = rnds[11]; - b[i++] = rnds[12]; - b[i++] = rnds[13]; - b[i++] = rnds[14]; - b[i++] = rnds[15]; - return buf || (0, _stringify.unsafeStringify)(b); + return buf ?? unsafeStringify(bytes); } -var _default = exports.default = v7; \ No newline at end of file +export function updateV7State(state, now, rnds) { + state.msecs ??= -Infinity; + state.seq ??= 0; + if (now > state.msecs) { + state.seq = v7Sequence(rnds); + state.msecs = now; + } + else { + state.seq = (state.seq + 1) | 0; + if (state.seq === 0) { + state.msecs++; + } + } + return state; +} +function v7Bytes(rnds, msecs, seq, buf, offset = 0) { + if (rnds.length < 16) { + throw new Error('Random bytes length must be >= 16'); + } + if (!buf) { + buf = new Uint8Array(16); + offset = 0; + } + else { + if (offset < 0 || offset + 16 > buf.length) { + throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`); + } + } + msecs ??= Date.now(); + seq ??= v7Sequence(rnds); + buf[offset++] = (msecs / 0x10000000000) & 0xff; + buf[offset++] = (msecs / 0x100000000) & 0xff; + buf[offset++] = (msecs / 0x1000000) & 0xff; + buf[offset++] = (msecs / 0x10000) & 0xff; + buf[offset++] = (msecs / 0x100) & 0xff; + buf[offset++] = msecs & 0xff; + buf[offset++] = 0x70 | ((seq >>> 28) & 0x0f); + buf[offset++] = (seq >>> 20) & 0xff; + buf[offset++] = 0x80 | ((seq >>> 14) & 0x3f); + buf[offset++] = (seq >>> 6) & 0xff; + buf[offset++] = ((seq << 2) & 0xff) | (rnds[10] & 0x03); + buf[offset++] = rnds[11]; + buf[offset++] = rnds[12]; + buf[offset++] = rnds[13]; + buf[offset++] = rnds[14]; + buf[offset++] = rnds[15]; + return buf; +} +function v7Sequence(rnds) { + return ((rnds[6] & 0x7f) << 24) | (rnds[7] << 16) | (rnds[8] << 8) | rnds[9]; +} +export default v7; diff --git a/node_modules/uuid/dist/validate.d.ts b/node_modules/uuid/dist/validate.d.ts new file mode 100644 index 00000000..57da03d7 --- /dev/null +++ b/node_modules/uuid/dist/validate.d.ts @@ -0,0 +1,2 @@ +declare function validate(uuid: unknown): boolean; +export default validate; diff --git a/node_modules/uuid/dist/validate.js b/node_modules/uuid/dist/validate.js index d47181aa..444a1a2f 100644 --- a/node_modules/uuid/dist/validate.js +++ b/node_modules/uuid/dist/validate.js @@ -1,12 +1,5 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; -var _regex = _interopRequireDefault(require("./regex.js")); -function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } +import REGEX from './regex.js'; function validate(uuid) { - return typeof uuid === 'string' && _regex.default.test(uuid); + return typeof uuid === 'string' && REGEX.test(uuid); } -var _default = exports.default = validate; \ No newline at end of file +export default validate; diff --git a/node_modules/uuid/dist/version.d.ts b/node_modules/uuid/dist/version.d.ts new file mode 100644 index 00000000..f1948dc8 --- /dev/null +++ b/node_modules/uuid/dist/version.d.ts @@ -0,0 +1,2 @@ +declare function version(uuid: string): number; +export default version; diff --git a/node_modules/uuid/dist/version.js b/node_modules/uuid/dist/version.js index 0c6bbdd5..bae91d3f 100644 --- a/node_modules/uuid/dist/version.js +++ b/node_modules/uuid/dist/version.js @@ -1,15 +1,8 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; -var _validate = _interopRequireDefault(require("./validate.js")); -function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } +import validate from './validate.js'; function version(uuid) { - if (!(0, _validate.default)(uuid)) { - throw TypeError('Invalid UUID'); - } - return parseInt(uuid.slice(14, 15), 16); + if (!validate(uuid)) { + throw TypeError('Invalid UUID'); + } + return parseInt(uuid.slice(14, 15), 16); } -var _default = exports.default = version; \ No newline at end of file +export default version; diff --git a/node_modules/uuid/package.json b/node_modules/uuid/package.json index dea12c6e..b571536d 100644 --- a/node_modules/uuid/package.json +++ b/node_modules/uuid/package.json @@ -1,7 +1,8 @@ { "name": "uuid", - "version": "10.0.0", + "version": "14.0.2", "description": "RFC9562 UUIDs", + "type": "module", "funding": [ "https://github.com/sponsors/broofa", "https://github.com/sponsors/ctavan" @@ -19,124 +20,96 @@ ], "license": "MIT", "bin": { - "uuid": "dist/bin/uuid" + "uuid": "./dist-node/bin/uuid" }, "sideEffects": false, - "main": "./dist/index.js", + "types": "./dist/index.d.ts", "exports": { ".": { "node": { - "module": "./dist/esm-node/index.js", - "require": "./dist/index.js", - "import": "./wrapper.mjs" + "types": "./dist/index.d.ts", + "default": "./dist-node/index.js" }, - "browser": { - "import": "./dist/esm-browser/index.js", - "require": "./dist/commonjs-browser/index.js" - }, - "default": "./dist/esm-browser/index.js" + "default": "./dist/index.js" }, "./package.json": "./package.json" }, - "module": "./dist/esm-node/index.js", - "browser": { - "./dist/esm-node/index.js": "./dist/esm-browser/index.js", - "./dist/md5.js": "./dist/md5-browser.js", - "./dist/native.js": "./dist/native-browser.js", - "./dist/rng.js": "./dist/rng-browser.js", - "./dist/sha1.js": "./dist/sha1-browser.js" - }, "files": [ - "CHANGELOG.md", - "CONTRIBUTING.md", - "LICENSE.md", - "README.md", "dist", - "wrapper.mjs" + "dist-node", + "!**/test" ], "devDependencies": { - "@babel/cli": "7.24.6", - "@babel/core": "7.24.6", - "@babel/eslint-parser": "7.24.6", - "@babel/plugin-syntax-import-attributes": "7.24.6", - "@babel/preset-env": "7.24.6", - "@commitlint/cli": "19.3.0", - "@commitlint/config-conventional": "19.2.2", - "@wdio/browserstack-service": "7.16.10", - "@wdio/cli": "7.16.10", - "@wdio/jasmine-framework": "7.16.6", - "@wdio/local-runner": "7.16.10", - "@wdio/spec-reporter": "7.16.9", - "@wdio/static-server-service": "7.16.6", - "bundlewatch": "0.3.3", - "eslint": "9.4.0", - "eslint-plugin-prettier": "5.1.3", - "globals": "15.3.0", - "husky": "9.0.11", - "jest": "29.7.0", - "lint-staged": "15.2.5", - "neostandard": "0.5.1", - "npm-run-all": "4.1.5", - "optional-dev-dependency": "2.0.1", - "prettier": "3.3.0", - "random-seed": "0.3.0", - "runmd": "1.3.9", - "standard-version": "9.5.0" + "@biomejs/biome": "2.4.10", + "@commitlint/cli": "20.5.0", + "@commitlint/config-conventional": "20.5.0", + "bundlewatch": "0.4.1", + "commander": "14.0.3", + "globals": "17.4.0", + "jest": "30.3.0", + "lefthook": "1.11.13", + "lint-staged": "16.4.0", + "neostandard": "0.13.0", + "npm-run-all2": "8.0.4", + "prettier": "3.8.3", + "publint": "0.3.21", + "release-please": "17.3.0", + "runmd": "2.1.1", + "standard-version": "9.5.0", + "typescript": "5.4.3" }, "optionalDevDependencies": { - "@wdio/browserstack-service": "7.16.10", - "@wdio/cli": "7.16.10", - "@wdio/jasmine-framework": "7.16.6", - "@wdio/local-runner": "7.16.10", - "@wdio/spec-reporter": "7.16.9", - "@wdio/static-server-service": "7.16.6" + "@wdio/browserstack-service": "9.27.0", + "@wdio/cli": "9.27.0", + "@wdio/jasmine-framework": "9.27.0", + "@wdio/local-runner": "9.27.0", + "@wdio/spec-reporter": "9.27.0", + "@wdio/static-server-service": "9.27.0" }, "scripts": { - "examples:browser:webpack:build": "cd examples/browser-webpack && npm install && npm run build", - "examples:browser:rollup:build": "cd examples/browser-rollup && npm install && npm run build", - "examples:node:commonjs:test": "cd examples/node-commonjs && npm install && npm test", - "examples:node:esmodules:test": "cd examples/node-esmodules && npm install && npm test", - "examples:node:jest:test": "cd examples/node-jest && npm install && npm test", - "prepare": "husky install", - "lint": "npm run eslint:check && npm run prettier:check", - "eslint:check": "eslint src/ test/ examples/ *.js", - "eslint:fix": "eslint --fix src/ test/ examples/ *.js", - "pretest": "npm run build", - "test": "BABEL_ENV=commonjsNode node --throw-deprecation node_modules/.bin/jest test/unit/", - "test:matching": "BABEL_ENV=commonjsNode node --throw-deprecation node_modules/.bin/jest test/unit/ -t", - "pretest:browser": "optional-dev-dependency && npm run build && npm-run-all --parallel examples:browser:**", - "test:browser": "wdio run ./wdio.conf.js", - "pretest:node": "npm run build", - "test:node": "npm-run-all --parallel examples:node:**", - "test:pack": "./scripts/testpack.sh", - "pretest:benchmark": "npm run build", - "test:benchmark": "cd examples/benchmark && HUSKY=0 npm install && npm test", - "prettier:check": "prettier --check .", - "prettier:fix": "prettier --write .", - "bundlewatch": "npm run pretest:browser && bundlewatch --config bundlewatch.config.json", - "md": "runmd --watch --output=README.md README_js.md", - "docs": "npm run build && npx runmd --output=README.md README_js.md", - "docs:diff": "npm run docs && git diff --quiet README.md", "build": "./scripts/build.sh", - "prepack": "npm run build", - "release": "standard-version --no-verify" + "build:watch": "tsc --watch -p tsconfig.json", + "bundlewatch": "npm run pretest:browser && bundlewatch --config bundlewatch.config.json", + "docs:diff": "npm run docs && git diff README.md", + "docs": "npm run build && npx runmd --output=README.md README_js.md", + "biome:check": "biome check .", + "biome:fix": "biome check --write .", + "examples:browser:rollup:build": "cd examples/browser-rollup && npm run build", + "examples:browser:webpack:build": "cd examples/browser-webpack && npm run build", + "examples:node:esmodules:test": "cd examples/node-esmodules && npm test", + "examples:node:jest:test": "cd examples/node-jest && npm test", + "examples:node:typescript:test": "cd examples/typescript && npm test", + "format": "biome format --write .", + "format:check": "biome format --check .", + "lint": "npm run biome:check", + "md": "runmd --watch --output=README.md README_js.md", + "prepack": "npm run build -- --no-pack", + "prepare": "lefthook install", + "prepublishOnly": "npm run build", + "pretest:benchmark": "npm run build", + "pretest:browser": "./scripts/iodd && npm run build && npm-run-all --parallel examples:browser:**", + "pretest:node": "npm run build", + "pretest": "npm run build", + "release": "standard-version --no-verify", + "test:benchmark": "cd examples/benchmark && npm test", + "test:browser": "wdio run ./wdio.conf.js", + "test:node": "npm-run-all --parallel examples:node:**", + "test:watch": "node --test --enable-source-maps --watch dist-node/test/*.js", + "test": "node --test --enable-source-maps dist-node/test/*.js" }, "repository": { "type": "git", - "url": "git+https://github.com/uuidjs/uuid.git" + "url": "https://github.com/uuidjs/uuid.git" }, "lint-staged": { "*": [ - "prettier --no-error-on-unmatched-pattern --write" - ], - "*.{js,jsx}": [ - "eslint --no-error-on-unmatched-pattern --fix" + "biome check --write --no-errors-on-unmatched" ] }, "standard-version": { "scripts": { - "postchangelog": "prettier --write CHANGELOG.md" + "postchangelog": "biome format --write CHANGELOG.md" } }, - "packageManager": "npm@10.8.1+sha256.b8807aebb9656758e2872fa6e7c564b506aa2faa9297439a478d471d2fe32483" + "packageManager": "npm@11.12.1" } diff --git a/node_modules/uuid/wrapper.mjs b/node_modules/uuid/wrapper.mjs deleted file mode 100644 index fba64f6e..00000000 --- a/node_modules/uuid/wrapper.mjs +++ /dev/null @@ -1,15 +0,0 @@ -import uuid from './dist/index.js'; -export const v1 = uuid.v1; -export const v1ToV6 = uuid.v1ToV6; -export const v3 = uuid.v3; -export const v4 = uuid.v4; -export const v5 = uuid.v5; -export const v6 = uuid.v6; -export const v6ToV1 = uuid.v6ToV1; -export const v7 = uuid.v7; -export const NIL = uuid.NIL; -export const MAX = uuid.MAX; -export const version = uuid.version; -export const validate = uuid.validate; -export const stringify = uuid.stringify; -export const parse = uuid.parse; diff --git a/package.json b/package.json index feff6f07..1243ea79 100644 --- a/package.json +++ b/package.json @@ -2,10 +2,9 @@ "dependencies": { "@types/hammerjs": "^2.0.46", "@types/uuid": "^10.0.0", - "bloatless-react": "1.3.14", "esbuild": "^0.23.1", "udn-frontend": "^1.0.9", - "uuid": "^10.0.0" + "uuid": "^14.0.2" }, "scripts": { "build": "esbuild src/index.tsx --bundle --outdir=build", diff --git a/src/View/.chatPage.css.swp b/src/View/.chatPage.css.swp deleted file mode 100644 index ba4e47dd128109b8832d64f4fcb6f1125713532c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16384 zcmeI2TWlOx8OH~=O&XepDxsASrA%Tj@f=X~F{u8thO>1Orqr4fanD-`A2&%bupzRhn^?%b&;bt@2e zSN*Zwnr=5-f3?#0QDNB+Tu-l?<--SWK6q34fZJ^PW#6ln4_oF;xz^BwTXW=NV_xg5Gu27&*pirPtpirPtpirPtpirPt z;D11Ypw*|`&p7(zSRRv~uUYbWk-R=CKj)V`mzTvyp+KQPp+KQPp+KQPp+KQPp+KQP zp+KQPp+KR)f1v`pp(xww*Stso@cn-r|G)e?Mfnw+fgiy4;RGCmhu}e|!)_ehNQ}p z@EQ0tdCK5O4tG0;qR9!$}{jK_#B)B8z$ip?151zLkV8mtSHaHA{>WD;27KoHrxW^ zFb1RWM!2v^QN9UJz~it0AA=9TFkH9<{oxgO0iJ_1@C+=%7vKqa6g~k4?1KrYz&|cV z6F3b|!zp+W=3o*Iz`I~SydL`CPb7%W!Siqy=HY&*K@|?c9@q+(!Hd}2^KcdxLD=78 z(D|eC6PUAs=1!a5l}RJvhW^+rGy zx;LO{HP;C|*VdxDgA+>lrfp79g8yf!4dfP6%jy_qXT z*Quy_)pzZ7KtIE>fu}qElbZd)m;+;bMhvq~GyUQpVzd_j z5u@Iy8rC$w`#q~#bshflTe?$f>fVvIDISYUmGs=bVS{N;Jk!<#Yr0FZhGiJ0)2R$% zUAvZ6ljiPf`++qz7m8{+C}=uHRP~f?&T59`nYBom8nQHHv+?w4a|qTB+#Z@vN7&UQ z0@O^cY6dfAJg)9Cf$kxDo~}*Z5~@Zjmk`s`W<0&sGCl5w*Wxp9UAwA#X*XKBVOUN* zwyL_`io2i%mTmgdSh&AZ5jmT3ZjUNyOX5$_nfNpA6xVc>-~FQF@+uuy?hrdnXE-sH zXarhp&yn5x`jn~Zo~g_GiP3w8>1i0TSV^O;Srt3C47sMNu6Qbo$_1ENOHuopZ{1@K zs&5l-uWaLqdFi%QcQh+7n?8#Z12esinZ#5uHJ*C8z=oCbkQ#M(SdC|Ws2q#7oLOfo z3@1h{iG7A1V=+sg4R_p;ZN&{Nu`5{%dqHS!QsQ_4#mh%*OFi@~8ES7fpN>FoF83;1 zn)+FPkHy3vubam+DY*Scdh**C>r?qlGl)^157Po8K-+Y5^ZT80wf0aT0~|?$1d=<+`cEixs z%5*6jLh`m@`7K+=oe;CJZX4JDoyAG2wHr zRHXY^VmBH-gm7d-Zy%Q>I6tOO2uP5>0rE8O1M-f4C8Mrud$yMrRFLC&n7-H2m=I-zt z?hLM?CY<`o%t;u#bm`%fyzRISTXf#r4Yz4VkwLfdM{lLtWg0+3(Ty_Ot|?>`@&AX2 z->SroBL1hc@aH@+{O{psun3RBari7u!VnC=b?`Uh_3y%Icp6T@L-2069>(Abc!@av zhwwNoz{kOYI!wWC7=pLJ)o>MTf>*aH%3tBv@Gu;L3&icO!g*MLd3XRm3Lk;n;Sh*8 z{~d4xycMni5%X__KKLVX{U6{(_#T{sufkWrhWEq!U^k4zE>PjkaE^HYJMa{ogcEQZ z48Z_g2Uo*YunjJSe-iV*48Maja2h@jajxJPf4AYoAaVvDg#BlFL(-0!U>oL1HyTib6$KD3KRv$Y+FFAAbY7Zlh`Po79`hG|6BglQigx20eF%&^;M@rj&=IP%JW@~ITpXdql4cUAavzSryCCKs zQ-@@r)185)A~9nkyAszWvuDx$G)wcJHjzyRq^lzn(e>Wb4X7&8x+INID!&oC!K(Ay z*=91!U0+AUscbPlxvM*xpv=VOs@j=zTA@g0D_)_Llzy2KVV62Lggiagw&5j{lUJ2o z%Tbv`%;+!}>9*|^jCe>LUuGXl_KT9EPh0gct*b>X`swzOq<+_*6iyn-`}*!iR&lb& mWe)Q0H60B**Jgw& diff --git a/src/View/ChatPages/.boardPage.tsx.swp b/src/View/ChatPages/.boardPage.tsx.swp deleted file mode 100644 index 1af7177db2a3e11e42cde8da0b4f4e9ce711eda5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16384 zcmeI2e~ctW6~{|X0g(gbFd_J>nfqtg?DQNGqwMV*vbzF@cVXilhXF5pHQlv4&GvRp zx@vZB-K<1&A;CmU^e-<)jENEx$M2LwIIR27oOhf~JsPX4NCVpRa_e^z9 z_blvP%&Fbk&-Rb1diDBM)vJ0n-Pw2S;9=(`cOS!X6=T0R`}lpo{m6&eiR&3#4m3U8 z_6ViN!>&}@<^B=`wv?7JUly%n^M~gTw&vvOs%oj&YaI*3dTXxB^#W2=t0Q^r)1|A` z$!#^LGt?HSEil#seZAED)NXd;$8Ru0eQ)D>XV2AljV)3q))uHOP+Oq3Ky88A0<{Hd z3)B{G@rS^RD#%j`Yk6>FI5Ksx44kpteA5f!YGK1!@b_ z7N{*yTcEZ;ZGqYXwFNFf3viz?iuJ!m|M2_&iB!keuEaCogMHwSS1|T8SO=d3Z|-L7 zm*5%j5I6*`0eiqdFK6sE@HluBd>uRlz6fpxe|sNeXTTb`9sKJu#@+%y0r!E=gEnx$ zE^zj}jQs#Cf=O^0c=J-mUIEX6C%_}%yWnB)AeaL)U=O$&F!0hPjGYEw1vi5af{Ve+ z7vo*PBj6O62RDGd;9Bs0a241E{_q~gUI1snH^DvN6W~wpX6#9D8g#%Ra3%ONHcrlh zuYoSu3*NwH%g@0N!56?RxE8#KHaG)JTR0`h0ao(RJld*Ep=9$h1$|&~So$J#HCHS2 zX~pnKppJCqdJrwoO70&D@FfQoD?7AYUJk{y5~1+4@Y|cLEEhdHN0pL_piewrAsJ13 zVc@OoSQFCKwQ8H~Yb~Q&`hFk}@s0=?WvDtl8Cz!5F^^Qpbs!_=@FjBnL zGDVzKvS88!?$SXR=nXem?S*1hM0z2JyzV_xu1>7Syw?+PYBkGvcGrR;8l{|79z@Ob zrr~(qAoODqVfxVR%^rQ|x0RaGD3Yk3Rsf|-y5nTNFN`{a(I@nZmYQ^HAGQMabNl*u zxl}t#u4f;WpFxM)$m?q7&aMk>yA*_4#KO-BQ{%-9j7rTCVMe}}Wzx&esSl?<(p-)M zzuezYNor44CSu?$iizmWydUamtM_JE$_l#xxkHgVQ|Yrj>hS2isgsB+s-o5d?R6_%2i5KxM`=5Wis4-4D@e%kDaUp# z$ynQQXI9azG^N!~TxDZ_RxVdluHZn!)@`Be@UWHZ zG484hx$e zY+Oa!uR0h^IuuGZu@LYya#H-i8!_o&#Htkk-;u`uKSj*{J@5cH0rrExBkq3|d><@< z1@Hmz55)Yx29JSLU=CakeverHY48oO3GM_}fU}7C9|iY=yTPZyHQ*J*`lmr3%!2Cx z#s6<1-hUN51x^9l2e=Nreko(mgD-=dz+UhM;`yI}AAtt|2Ok2zLG1nlcn~Pi1|J2N zfWIPs{|k5>{0e*=EvYWK!9W5PCz!JIKMt>3)B{X1(HRcwKz+{Br{LZ zTt!C`CFBBu5kH#?3X)=2!jCQ?J2dwVCOJ1y3$aj`w-65AYF5%_4j5fN=cZk^de?^5 zDp-%xT%m3k+^5}@QE3G&k_l&^)oA`)?fK+QYc5M-v+V6RM<>c{mdIPlYHA=L4XX-| zOInCZjN8(g+0ky1?~ju?+@Q$x&Cb=^L?)J{wi)dhS>fuGEJqp=lb8#9uc$mwJMY_i zNta*bq25`0B^#602616{1S%Ptw_x49HfEczvfUMSs;$vo-Ne-?gT}YU_XXbi=d#6H zvPno57}vff&NeezzCH8)E6YP?fShcx-Kq=b z{O%a9&!~ptk@#P#(2j)iJ~}IN{*9MJ2Gy_DAe$|&nC*(~Oqb;PzcC&CnzfzbLgd-b zY?S8$G+OS58RgL?ceCrnL8n8%(XgybX6JEZen<1VN_XGK2_97=Q)jG`&qD8NKVF@Z rRp1(Ll}XCha4btMJD-!AAc61rC%ymB%=Wkf{ diff --git a/src/View/Modals/.taskSettingsModal.tsx.swp b/src/View/Modals/.taskSettingsModal.tsx.swp deleted file mode 100644 index b48e90ee8e9a1e3ff2c484433b0b38da6e6dc5ce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20480 zcmeI3eT*Ds9mfX>g%vBLf&oDtR?#bVZ?B~aZ1)b^9;H=Ut9M+ZP>#9Xx!dW@&Kxtd zy}MivK@4xc1r%t)i;$9l2tv>x0tr;WfCQS5Xw{%mq80?9sl3EL6hF`N%*@X2?QQRn z)I?{)C)b^M=6QbeeSXi&@3#*_T?6Yk=%;sfX?%{-v=?^YxAld?KBQf6qNa^lfw;Qg zkL{KWyW;x$D}50a=Ka9+j1e~ z8S&+%&cL78uNi59RDo21*%YV+!@1KIX{Rh-CWrb*vnT5BUwqDNrPJ%F0;vM20;vM2 z0;vM20;vM20;vN3g9-#=3$(BBUI&No_TljFK}~-T3BUW{U%l!6g7Ev5;oobT?uTE~ zKdAz#0;vM20;vM20;vM20;vM20;vM20;vM20{;aCjIyRZdW5EJdM}Oh`+pSw|M^Hw zdkF4>+u;Vd9LC@aa0op1K25s>E`}|z5{`po;MGN%_7pq`UxONKg--YvZM_9=!b>m? zHV7NefVJ=e_y=~q4llwUcpPqrOJNYsfwgc3EP^-QL%Z;M*adgOcDM|tU=+5(TKEVY z0}J8pjHW#UKZd*ECio_pumL*YaCqr(P5UD}3pc{ma0y%t=fQI5fa72>{NXT7+X)ZC zovd#c&9`d8nqn0x!ca;3>EZt^flz!#Y?6 zN5bDp+`IzM!!vLjTnZP$Fbu$%P=FKQQ1}_ioI7C$d>g(64s=5ooCL?i-$)wmhG$?W z+z;P?t#BS>`1BO>mNQlhdgM2qk8Sxu_mm$PLCx>0jf|LnV7bov@^oBc$a2bsZH8Sl zyQjoa5OFkwV<4v8sh(0Li?Uw%P%-b18BVu-)3Gouevb9aNC%=eWddW6?zdLJ{TqoO8;!MowpzRuE z(;HmTl`ybq3sa)ffn}Teux(D{95>q|B@;EGTGJJ0*`Ys{qE<-gwac5 zGaHq{iomcON+#YFE!P-)3kMX6%hWzTd9#@LwYl)Ie;iG3s^FGgJ+I!LH#!ZYOK?Ysk-MV(Pa(rrqvU8~}7(shaz zFS=QEhj6W&>)4Z7q^@{jiMSJFYw@>CF+Wrb0yi;;S{OZCvu(fRnWht&9eZCW>s)1% z()XHFW=S_bbAlmMUM)?C>r|@NhqdbzO14!RZJrfe9CmGNTCW*ZT6c(WY>r#yppyGk zS5`JrRBs$RYqPYTJFai7F*^-U<`@xZ9Qk>Bw+_sS!0=2%8Q#Wm%k}pU<)cZakY%BP zvWueHVpSsPF(xy^n-h{AV24h;Ov1wb`t)2hZQ+TAhg5@Q&m9{qyW_Dt3Q0thc)V}g zW+|LKGvV|p@2z$XudF7|HLkPG^a9gUQ=q&pJyVvMF-6MzP17tZMm)jFF3QX@k+$)J zAz@K8rAoz=@pJ2PY3l**>}bk;w|ly2QDE`O4!fnAZ{EZV`qq~QwJPMsJ+YX3YITr~m9H$9(~?w5T#@b`owZ$O8fDvZ%xF;V zXEw*CDtioFbQ3!>r;Ho7x|S2A#PlgmP`iNS+f>D=UtJ8WoFAV0&FW%O*8_KC#5N0J z-N_{;nC1n*@;7;=Z#v?@uviHCHP6vIH2H0MrIrb=sOg}C8obGK zmu*?9tABOzFU#+fGl^MVLV31Tevr7PcgIEb?r!-G@pK@i?F=K8>_#1wMCpOaseNA$2y;L(N##}GZhigtr>{Vq2k*~>f z-PmnaWtoO2^e$5JZi)E+SYo+;Vnq@E zUm4~g_7UIz1%3lh!(DIZTmWB!0TBKoat!Gw zRp9?dfoV+~ixRA0n5ZLC(;Dk)nA;FDHvepKNoGEx42UXLkGEUIH@>mWtnUw}8kW4y zhMd)i>6o5DYK$k;g2moWv>^6*vqj9Lr+jmjQ|{v-u@wyCW06tN$2_ZQc#~|nrJYfb z+-&q*Y?95)+o)d4FR_zsva8via62jXp6qA>&$a!qNaAI3B8FE{|FSL-Rm*Lsrrsso zh}IJy^771FUOnqEXiiu`+%2N`TvQMb#Ug}ex9yl&av7q%#Jh>Ni8?1CM%~(+Xn4+= zkO30g^spuZu_*Dtl{R5lVplFY%nv4QvpZWct&vJl&=LKlm8t`xFI8hACwruz*BrL{ zp@GGyIo>J`DiZG!g%Ax^MguCdM6@mRY1pxLk}@^}Q)~=HfG_T6)uq8oGljhHxw6jOtsuocGP2`s7sZX%AB^0*FZ z6C|R1V|qj-N5u6O8`ChM(x@xSsST{k9k0 zK8u=&lC82-y(bxXVF@*DH~e5SyNH1m{HH9N7g%|TRE|9`9(zfFYsA*Gl2K7YM>dFsIF z#s5}K;@R*9tE_O9*b|i^?OjooN%-QsBqO^6*Rz62xlS2%Wu95+0cskKRVz41~L6!cocTP%^>3ctHA+r z1|SC+c$;{BFT4alf$za~xB@1jA67#boCM;0z|pXmcwU?lcm(c+@54Bp51ZjEI2Dcr zabDm#xDUPqUxx`0X9ZTmC*fpR2+tFh z0UKc*^uX)H=YJJ3Iy?+Ngj?V`xE2ENVE~rH5g=mveZ=W6!%yKRxDGCZao7ksI3A7y z4PGN&{}cQi?g1P6VFR2Fr@^tXhraqP?1CrYdbk9}VH7TaPs7n5`<3d`PpUwwK&n7% z1;m2I`j(#5Nl)s?twI!#$W2b8W27f_!Vs(7{#%HMhEbrHp417?@1-Yo#MWCz-icqQ z>+z2qZ}W=4-@(zdM9Qun0;%w@oli$GPco25 diff --git a/src/ViewModel/Global/coreViewModel.ts b/src/ViewModel/Global/coreViewModel.ts index a12fca60..8244e61a 100644 --- a/src/ViewModel/Global/coreViewModel.ts +++ b/src/ViewModel/Global/coreViewModel.ts @@ -9,7 +9,7 @@ import ConnectionModel from "../../Model/Global/connectionModel"; import ChatListModel from "../../Model/Chat/chatListModel"; export default class CoreViewModel { - readonly BUILD = "Build 26.09.22.A"; + readonly BUILD = "Build 26.09.22.B"; translations: Translations; diff --git a/src/ViewModel/Pages/.taskViewModel.ts.swp b/src/ViewModel/Pages/.taskViewModel.ts.swp deleted file mode 100644 index 6671e22b26a8d771c8190ecf7e1075e964d5ccb7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeI4dyFMjnZQd_5EXPmU0*;=1Do5>bMMS3$~4p9&u6jVf`#_{)^Q>R|H zy8E`M0X!9c+^IU}JCEj-<8Zy$ah~_Tw_SO}vIOjF%)~ca?>d-3p#1r1MXmlH3HDEPhHDEPhHDEPh zHDEPhHDERH%+o+Tf3))ss&!OSwXx*)S*73SB=_f)eoegRCeM#ce$9E^gdd$e-!k?YozbN_rQ7JsRwLew^Rs&W8Rs&W8Rs&W8Rs&W8Rs&W8Rs&W8 zRs$6p@LG$4?o{=z6N)}XW>rxG`tTs!YHhV z5%|rqj`IY37Vd=i!WP&JC%}WxbDW#tqY%LB;dSshb-o>L1F8Q75Wu_uYy;?;}~v!3?GKKLlZ6mG3Y#japl+W6L6EOJ?+-Ay94QS z365vmQN7vi#9q78?#$%8FYv_}_hNsh8}6Iz&ETF9x4WIF?zLJqEtCY-7rdb751*4J zJM8XH|1DVzyJKVSv=>Bv;jsi&Bs5ZpwBq8a!qjKIsFtRqsxP_q=3A6GR~dKAtqqU5 z3*C0h9Xpp|E13gXRaExvPRrk`Yl(om%VJ2nOBQmINN@EzIJkuM89!F{N`pC-(Ew4b zlOA4j)@5CvCtzsL{#W-OVOb(Ls4^s~My3HW^5pWINsp73zpoI^J`gWx3pxpjy3(HPp*ZvFqqUuA$W>H)c%HsoytchJM@&J9>^# zMT!`}GG|B1t5cRcxx26(_}jgBR__~Pp46v#w5gS(Pc#!HnX$Fvc3-Af<)jSrB*7~t zxy$x2NfPoiCgBx{2S!E{G{z3MrNmci&7!1f>+zuRn?>zCCf2O@&5WCI5 ziy~J>T)H)K*%tYoR^*N+TO{_l2i)nfJLeA7>ka&2M@Q(ej9Ml&Cl6UlEgP(Z5gTt(j)bf>(a zQP`1WDTsnax%wC;?(ls@Q10=I#K{sm!}TJ)JxH2)irsrm>qe_XS(=C`=l`#AUUxaq z%lV(9zPdimKRym0gBwBY0Hg3y_z`jc8xF$d@LCv#A&_)V0ee{uSPfVWSPfVWSPfVW zSPfVWSPfVWSPd+%0d3LBy?VOr9OtR@Obip|5({2>I<3oHU92|ldFQ!9L#6k3{ZYm8 zF|*5#GVq%J3O~mP}XSC zI+NOUN|w&V1X8wjD&uD8&tUcUL#!cWht;E&Sx4&Q@@j8eIPP_telVg9YUXuc@=6XP zlbrwG#k=t9c~36qf8*bOgmeC5@CCR5reHT*3NM1Ma>l<7-VPCjAbtTS!?AD_JPYo{ zwr~sl8ytdza1Hn{3dev0NAL@H5WWPr!bjmF@D6ChPS^@t;1u{NJ_7#_55Zv&UxGcb z0K4F9_$9sp_rg7JH{1m8hpkY9e}L!0r>OhQ@E;(0xEAbXHDEPhHDEPhHDERHOx1wd z#TLEd^wYoDvn2{qEJOCDTSU|ju$jIlDsIBZ*;rd|J>}t`->kCzR(JXprcwElI#iB! ze@$;a=UA2hvaUpF4U`Lzu7TRgi{lXvN6PWY_#MePgR?~0k8#C$#bM9aS&8@D3UbOc ztZG;3&ZbIlT#?M7#QGrO%rc1fGJgRYTW+imBA$Sm=Kdah5NB%s0^Wz5;AJioXGZ+A z@c&@+tAJ4#N5z>7RGj>5AhB^7ne*e>ZVL}8IsYHWIsGjl=YKhl%k@8;@jn3Xgcw%A zKf;Sa&i_YAQ?1Z)OLijxA_Cs(b?0~g!1lz`M;Wuy>ybm_RFdPp@ z@bkYP?t@Rjb?{zz56r;Da3-7vr@~QiKi>e{2e&{QW?>Ed0YCq{;EV9@(1a;?1FVO$ zVFXTqZ{g>EKimf&2l*bL2QkdTC9nz}#>f9-a5=1pwIF`~uYhCWXZZO)0$+zi@MhQo zo8c^Y4B!7V`8@;VlJ=KN&CN^Nk2cQF2m4BPBblO;E+>i5kuryyEbRliC~02No_5@v zP25dueeS0@5xs0EpYNQ1YCY;riF56gKZ$=5&TJKFWG;e9=@J>`kej#*rUep5_KiU> zQSxJ_P7;#UChE=mVQolkcg8C#|5d|$Zz{mzC&AjHC+<_JYn0?BR}u@an^w0I>=ReJ z@>dpGdJ&(V%-mQ`slrcd)U9&Ga#TU8%98hE8g&aUPmAYU@LfWx;Ps^PqK^1t^_u*_ zPyGP~s^!BH{z|Bnq`cBqXr!)o20PKL*(%I>omQgVz45phI2YOOWQ&37O@+ehWJS?9 z#A%;M$()vv6H8p#!Scr89`mFq+r@$ULlpYq?Zb3?B*3xCdlOF6f(n~O{rS0=-EeFYT_u@tZ#C4uU2(QzKtp@FQVSG=*C}mIKK^Y zq#ETmO-1yVZS{IxTyJx0P?S@Vs$ou|$#)x}X=o>Mi(HqUrjSh?@HWM3V(E z5zMcfOXiqg)l4C1<@$*mDgn^l^&G)m-A@lq+Mkx?~!OI(RjlzH;c zw0}TVj_3D(J5a~4#V)7RfwMuWXQ}><)W1-SIZ_cZMD-0;31F(?t4;aD!hBJbwc`p* zu9NChv)mWO+2_&uK9Xyi{4qibvfRhf`DC)0Oe9rvR!s%c#Qg=!eHbk#oiB2B{T}C9 zIsb1|r$p{K<9`M|37>!n*1_*N=YI~~4Ld-5{pFqi1Dx@{0oTJ7a5;>@>)zw=LZvtEohhQ^Iz&N}fUILGD=D!&_uocdNm%u}u@gIc$gIk~rb&#|FFF5Nz1b4t; zxDGM|keg}?lHvbjK zIsPMX1AGwP2IH^+&VdG;3_szlejCigKY;_kv?d<;+h3Vd`cLL{YvNf(K~K)aqx!JgG$!d3jRdm5swmmwI-=hHU&Pt^agg)> z>B#}}ZqE8&2Jr!yfoYh4G1vfW;AQX~Is3ym;8XBU*av$dfZcF9Jj&Vslh6dQ3y4kN zWHaSAuPGnCVz$FV^BToKNXyNiOJhj>jP?iK>fh_fU0pffEnni H string; +} + +/* Utility */ +export function UUID(): string { + return v4(); +} + +/* State */ +export type StateSubscription = (newValue: T) => void; +export type AdditionSubscription = (newItem: T) => void; +export type RemovalSubscription = (removedItem: T) => void; + +export class State { + private _value: T; + _bindings = new Set>(); + + // init + constructor(initialValue: T) { + this._value = initialValue; + } + + // value + get value(): T { + return this._value; + } + + set value(newValue: T) { + this._value = newValue; + this.callSubscriptions(); + } + + // subscriptions + callSubscriptions(): void { + this._bindings.forEach((fn) => fn(this._value)); + } + + subscribe(fn: (newValue: T) => void): void { + this._bindings.add(fn); + fn(this._value); + } + + subscribeSilent(fn: (newValue: T) => void): void { + this._bindings.add(fn); + } + + // stringify + toString(): string { + return JSON.stringify(this._value); + } +} + +export class ListState extends State> { + private additionHandlers = new Set>(); + private removalHandlers = new Map>>(); + private genericRemovalHandlers = new Set>(); + + // init + constructor(initialItems?: T[]) { + super(new Set(initialItems)); + } + + // list + add(...items: T[]): void { + items.forEach((item) => { + if (this.value.has(item)) return; + this.value.add(item); + this.additionHandlers.forEach((handler) => handler(item)); + }); + this.callSubscriptions(); + } + + remove(...items: T[]): void { + items.forEach((item) => { + this.value.delete(item); + + this.genericRemovalHandlers.forEach(handler => handler(item)); + if (!this.removalHandlers.has(item)) return; + this.removalHandlers.get(item)!.forEach((handler) => handler(item)); + this.removalHandlers.delete(item); + }); + this.callSubscriptions(); + } + + clear() { + this.remove(...this.value.values()); + } + + // handlers + handleAddition(handler: AdditionSubscription): void { + this.additionHandlers.add(handler); + [...this.value.values()].forEach(handler); + } + + handleRemoval(item: T, handler: RemovalSubscription): void { + if (!this.removalHandlers.has(item)) + this.removalHandlers.set(item, new Set()); + this.removalHandlers.get(item)!.add(handler); + } + + handleRemovals(handler: RemovalSubscription): void { + this.genericRemovalHandlers.add(handler); + } + + // stringification + toString(): string { + const array = [...this.value.values()]; + const json = JSON.stringify(array); + return json; + } +} + +export class MapState extends State> { + private additionHandlers = new Set>(); + private removalHandlers = new Map>>(); + private genericRemovalHandlers = new Set>(); + + // init + constructor(initialItems?: [string, T][]) { + super(new Map(initialItems)); + } + + // list + set(key: string, item: T): void { + this.remove(key); + this.value.set(key, item); + this.additionHandlers.forEach((handler) => handler(item)); + this.callSubscriptions(); + } + + remove(key: string): void { + const item = this.value.get(key); + if (!item) return; + + this.value.delete(key); + this.callSubscriptions(); + + this.genericRemovalHandlers.forEach(handler => handler(item)); + if (!this.removalHandlers.has(item)) return; + this.removalHandlers.get(item)!.forEach((handler) => handler(item)); + this.removalHandlers.delete(item); + } + + clear() { + [...this.value.keys()].forEach((key) => this.remove(key)); + } + + // handlers + handleAddition(handler: AdditionSubscription): void { + this.additionHandlers.add(handler); + [...this.value.values()].forEach(handler); + } + + handleRemoval(item: T, handler: RemovalSubscription): void { + if (!this.removalHandlers.has(item)) + this.removalHandlers.set(item, new Set()); + this.removalHandlers.get(item)!.add(handler); + } + + handleRemovals(handler: RemovalSubscription): void { + this.genericRemovalHandlers.add(handler); + } + + // stringification + toString(): string { + const array = [...this.value.entries()]; + const json = JSON.stringify(array); + return json; + } +} + +// UTILITY +export function createProxyState( + statesToSubscibe: State[], + fn: () => T +): State { + const proxyState = new State(fn()); + statesToSubscibe.forEach((state) => + state.subscribeSilent(() => (proxyState.value = fn())) + ); + return proxyState; +} + +export function bulkSubscribe( + statesToSubscibe: State[], + fn: () => void +): void { + statesToSubscibe.forEach((state) => state.subscribeSilent(fn)); +} + +function persistState(localStorageKey: string, state: State) { + state.subscribe(() => { + const stringifiedValue = state.toString(); + localStorage.setItem(localStorageKey, stringifiedValue); + }); +} + +export function restoreState( + localStorageKey: string, + initialStateValue: T +): State { + const storedString = + localStorage.getItem(localStorageKey) ?? + JSON.stringify(initialStateValue); + const convertedValue = JSON.parse(storedString); + + const state = new State(convertedValue); + persistState(localStorageKey, state); + + return state; +} + +export function restoreListState( + localStorageKey: string, + initialItems: any[] = [] +): ListState { + const storedString = localStorage.getItem(localStorageKey) ?? ""; + + try { + const array = JSON.parse(storedString); + if (!Array.isArray(array)) throw ""; + initialItems = array; + } catch {} + + const state = new ListState(initialItems); + persistState(localStorageKey, state); + + return state; +} + +export function restoreMapState( + localStorageKey: string, + initialItems: [string, any][] = [] +): MapState { + const storedString = localStorage.getItem(localStorageKey) ?? ""; + + try { + const array = JSON.parse(storedString); + if (!Array.isArray(array)) throw ""; + initialItems = array; + } catch {} + + const state = new MapState(initialItems); + persistState(localStorageKey, state); + + return state; +} + +export type StateItemConverter = (item: T) => HTMLElement; + +/* + JSX + */ + +export function createElement( + tagName: keyof HTMLElementTagNameMap, + attributes: { [key: string]: any } | null = {}, + ...children: (HTMLElement | string)[] +) { + const element = document.createElement(tagName); + + if (attributes != null) + Object.entries(attributes).forEach((entry) => { + const [attributename, value] = entry; + const [directiveKey, directiveValue] = attributename.split(":"); + + switch (directiveKey) { + case "on": { + switch (directiveValue) { + case "enter": { + element.addEventListener("keydown", (e: KeyboardEvent) => { + if (e.key != "Enter") return; + value(e); + }); + break; + } + default: { + element.addEventListener(directiveValue, value); + } + } + break; + } + case "keystroke": { + element.addEventListener("keydown", (e: KeyboardEvent) => { + if (e.metaKey == false && e.ctrlKey == false) return; + if (e.key != directiveValue) return; + value(e); + }) + break; + } + case "subscribe": { + const state = value as State; + state.subscribe( + (newValue) => (element[directiveValue] = newValue) + ); + + break; + } + case "bind": { + const state = value as State; + state.subscribe( + (newValue) => (element[directiveValue] = newValue) + ); + element.addEventListener( + "input", + () => (state.value = (element as any)[directiveValue]) + ); + break; + } + case "toggle": { + if (value.subscribe) { + const state = value as State; + state.subscribe((newValue) => + element.toggleAttribute(directiveValue, newValue) + ); + } else { + element.toggleAttribute(directiveValue, value); + } + break; + } + case "set": { + const state = value as State; + state.subscribe((newValue) => + element.setAttribute(directiveValue, newValue) + ); + break; + } + case "children": { + switch (directiveValue) { + case "set": { + const state = value as State; + state.subscribe((newValue) => { + element.innerHTML = ""; + element.append(...[newValue].flat()); + }); + break; + } + case "append": + case "prepend": { + try { + const [listState, toElement] = value as [ + listState: ListState, + StateItemConverter + ]; + + listState.handleAddition((newItem) => { + const child = toElement(newItem); + listState.handleRemoval(newItem, () => + child.remove() + ); + + if (directiveValue == "append") { + element.append(child); + } else if (directiveValue == "prepend") { + element.prepend(child); + } + }); + } catch (error) { + console.error(error); + throw `error: cannot process subscribe:children directive. \n Usage: "children:append={[list, converter]}"; you can find a more detailed example in the documentation.`; + } + } + } + break; + } + default: + element.setAttribute(attributename, value); + } + }); + + children.filter((x) => x).forEach((child) => element.append(child)); + + return element; +}