├── .gitignore ├── README.md ├── node_modules ├── .bin │ ├── uuid │ ├── uuid.cmd │ └── uuid.ps1 ├── .package-lock.json ├── react-icons │ ├── LICENSE │ ├── README.md │ ├── ai │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── index.mjs │ │ └── package.json │ ├── bi │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── index.mjs │ │ └── package.json │ ├── bs │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── index.mjs │ │ └── package.json │ ├── cg │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── index.mjs │ │ └── package.json │ ├── ci │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── index.mjs │ │ └── package.json │ ├── di │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── index.mjs │ │ └── package.json │ ├── fa │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── index.mjs │ │ └── package.json │ ├── fa6 │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── index.mjs │ │ └── package.json │ ├── fc │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── index.mjs │ │ └── package.json │ ├── fi │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── index.mjs │ │ └── package.json │ ├── gi │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── index.mjs │ │ └── package.json │ ├── go │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── index.mjs │ │ └── package.json │ ├── gr │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── index.mjs │ │ └── package.json │ ├── hi │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── index.mjs │ │ └── package.json │ ├── hi2 │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── index.mjs │ │ └── package.json │ ├── im │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── index.mjs │ │ └── package.json │ ├── index.d.ts │ ├── index.js │ ├── index.mjs │ ├── io │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── index.mjs │ │ └── package.json │ ├── io5 │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── index.mjs │ │ └── package.json │ ├── lia │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── index.mjs │ │ └── package.json │ ├── lib │ │ ├── iconBase.d.ts │ │ ├── iconBase.js │ │ ├── iconBase.mjs │ │ ├── iconContext.d.ts │ │ ├── iconContext.js │ │ ├── iconContext.mjs │ │ ├── iconsManifest.d.ts │ │ ├── iconsManifest.js │ │ ├── iconsManifest.mjs │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── index.mjs │ │ └── package.json │ ├── lu │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── index.mjs │ │ └── package.json │ ├── md │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── index.mjs │ │ └── package.json │ ├── package.json │ ├── pi │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── index.mjs │ │ └── package.json │ ├── ri │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── index.mjs │ │ └── package.json │ ├── rx │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── index.mjs │ │ └── package.json │ ├── si │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── index.mjs │ │ └── package.json │ ├── sl │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── index.mjs │ │ └── package.json │ ├── tb │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── index.mjs │ │ └── package.json │ ├── tfi │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── index.mjs │ │ └── package.json │ ├── ti │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── index.mjs │ │ └── package.json │ ├── vsc │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── index.mjs │ │ └── package.json │ └── wi │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── index.mjs │ │ └── package.json ├── react │ ├── LICENSE │ ├── README.md │ ├── cjs │ │ ├── react-compiler-runtime.development.js │ │ ├── react-compiler-runtime.production.js │ │ ├── react-compiler-runtime.profiling.js │ │ ├── react-jsx-dev-runtime.development.js │ │ ├── react-jsx-dev-runtime.production.js │ │ ├── react-jsx-dev-runtime.profiling.js │ │ ├── react-jsx-dev-runtime.react-server.development.js │ │ ├── react-jsx-dev-runtime.react-server.production.js │ │ ├── react-jsx-runtime.development.js │ │ ├── react-jsx-runtime.production.js │ │ ├── react-jsx-runtime.profiling.js │ │ ├── react-jsx-runtime.react-server.development.js │ │ ├── react-jsx-runtime.react-server.production.js │ │ ├── react.development.js │ │ ├── react.production.js │ │ ├── react.react-server.development.js │ │ └── react.react-server.production.js │ ├── compiler-runtime.js │ ├── index.js │ ├── jsx-dev-runtime.js │ ├── jsx-dev-runtime.react-server.js │ ├── jsx-runtime.js │ ├── jsx-runtime.react-server.js │ ├── package.json │ └── react.react-server.js └── uuid │ ├── LICENSE.md │ ├── README.md │ ├── dist │ ├── cjs-browser │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── max.d.ts │ │ ├── max.js │ │ ├── md5.d.ts │ │ ├── md5.js │ │ ├── native.d.ts │ │ ├── native.js │ │ ├── nil.d.ts │ │ ├── nil.js │ │ ├── package.json │ │ ├── parse.d.ts │ │ ├── parse.js │ │ ├── regex.d.ts │ │ ├── regex.js │ │ ├── rng.d.ts │ │ ├── rng.js │ │ ├── sha1.d.ts │ │ ├── sha1.js │ │ ├── stringify.d.ts │ │ ├── stringify.js │ │ ├── types.d.ts │ │ ├── types.js │ │ ├── uuid-bin.d.ts │ │ ├── uuid-bin.js │ │ ├── v1.d.ts │ │ ├── v1.js │ │ ├── v1ToV6.d.ts │ │ ├── v1ToV6.js │ │ ├── v3.d.ts │ │ ├── v3.js │ │ ├── v35.d.ts │ │ ├── v35.js │ │ ├── v4.d.ts │ │ ├── v4.js │ │ ├── v5.d.ts │ │ ├── v5.js │ │ ├── v6.d.ts │ │ ├── v6.js │ │ ├── v6ToV1.d.ts │ │ ├── v6ToV1.js │ │ ├── v7.d.ts │ │ ├── v7.js │ │ ├── validate.d.ts │ │ ├── validate.js │ │ ├── version.d.ts │ │ └── version.js │ ├── cjs │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── max.d.ts │ │ ├── max.js │ │ ├── md5.d.ts │ │ ├── md5.js │ │ ├── native.d.ts │ │ ├── native.js │ │ ├── nil.d.ts │ │ ├── nil.js │ │ ├── package.json │ │ ├── parse.d.ts │ │ ├── parse.js │ │ ├── regex.d.ts │ │ ├── regex.js │ │ ├── rng.d.ts │ │ ├── rng.js │ │ ├── sha1.d.ts │ │ ├── sha1.js │ │ ├── stringify.d.ts │ │ ├── stringify.js │ │ ├── types.d.ts │ │ ├── types.js │ │ ├── uuid-bin.d.ts │ │ ├── uuid-bin.js │ │ ├── v1.d.ts │ │ ├── v1.js │ │ ├── v1ToV6.d.ts │ │ ├── v1ToV6.js │ │ ├── v3.d.ts │ │ ├── v3.js │ │ ├── v35.d.ts │ │ ├── v35.js │ │ ├── v4.d.ts │ │ ├── v4.js │ │ ├── v5.d.ts │ │ ├── v5.js │ │ ├── v6.d.ts │ │ ├── v6.js │ │ ├── v6ToV1.d.ts │ │ ├── v6ToV1.js │ │ ├── v7.d.ts │ │ ├── v7.js │ │ ├── validate.d.ts │ │ ├── validate.js │ │ ├── version.d.ts │ │ └── version.js │ ├── esm-browser │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── max.d.ts │ │ ├── max.js │ │ ├── md5.d.ts │ │ ├── md5.js │ │ ├── native.d.ts │ │ ├── native.js │ │ ├── nil.d.ts │ │ ├── nil.js │ │ ├── parse.d.ts │ │ ├── parse.js │ │ ├── regex.d.ts │ │ ├── regex.js │ │ ├── rng.d.ts │ │ ├── rng.js │ │ ├── sha1.d.ts │ │ ├── sha1.js │ │ ├── stringify.d.ts │ │ ├── stringify.js │ │ ├── types.d.ts │ │ ├── types.js │ │ ├── uuid-bin.d.ts │ │ ├── uuid-bin.js │ │ ├── v1.d.ts │ │ ├── v1.js │ │ ├── v1ToV6.d.ts │ │ ├── v1ToV6.js │ │ ├── v3.d.ts │ │ ├── v3.js │ │ ├── v35.d.ts │ │ ├── v35.js │ │ ├── v4.d.ts │ │ ├── v4.js │ │ ├── v5.d.ts │ │ ├── v5.js │ │ ├── v6.d.ts │ │ ├── v6.js │ │ ├── v6ToV1.d.ts │ │ ├── v6ToV1.js │ │ ├── v7.d.ts │ │ ├── v7.js │ │ ├── validate.d.ts │ │ ├── validate.js │ │ ├── version.d.ts │ │ └── version.js │ └── esm │ │ ├── bin │ │ └── uuid │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── max.d.ts │ │ ├── max.js │ │ ├── md5.d.ts │ │ ├── md5.js │ │ ├── native.d.ts │ │ ├── native.js │ │ ├── nil.d.ts │ │ ├── nil.js │ │ ├── parse.d.ts │ │ ├── parse.js │ │ ├── regex.d.ts │ │ ├── regex.js │ │ ├── rng.d.ts │ │ ├── rng.js │ │ ├── sha1.d.ts │ │ ├── sha1.js │ │ ├── stringify.d.ts │ │ ├── stringify.js │ │ ├── types.d.ts │ │ ├── types.js │ │ ├── uuid-bin.d.ts │ │ ├── uuid-bin.js │ │ ├── v1.d.ts │ │ ├── v1.js │ │ ├── v1ToV6.d.ts │ │ ├── v1ToV6.js │ │ ├── v3.d.ts │ │ ├── v3.js │ │ ├── v35.d.ts │ │ ├── v35.js │ │ ├── v4.d.ts │ │ ├── v4.js │ │ ├── v5.d.ts │ │ ├── v5.js │ │ ├── v6.d.ts │ │ ├── v6.js │ │ ├── v6ToV1.d.ts │ │ ├── v6ToV1.js │ │ ├── v7.d.ts │ │ ├── v7.js │ │ ├── validate.d.ts │ │ ├── validate.js │ │ ├── version.d.ts │ │ └── version.js │ └── package.json ├── package-lock.json ├── package.json ├── public └── doraemon.png ├── resume-app ├── .gitignore ├── README.md ├── eslint.config.js ├── index.html ├── package-lock.json ├── package.json ├── public │ ├── doraemon.png │ ├── image-note.txt │ └── vite.svg ├── src │ ├── App.css │ ├── App.js │ ├── App.jsx │ ├── assets │ │ └── react.svg │ ├── components │ │ ├── ComponentEditor │ │ │ ├── ContentEditors │ │ │ │ ├── AchievementsEditor.jsx │ │ │ │ ├── EducationEditor.jsx │ │ │ │ ├── ExperienceEditor.jsx │ │ │ │ ├── HobbiesEditor.jsx │ │ │ │ ├── ImageEditor.jsx │ │ │ │ ├── PersonalInfoEditor.jsx │ │ │ │ ├── PortfolioEditor.jsx │ │ │ │ ├── PortfolioItemStyleEditor.jsx │ │ │ │ ├── SkillsEditor.jsx │ │ │ │ ├── SummaryEditor.jsx │ │ │ │ └── index.jsx │ │ │ ├── StyleEditor.jsx │ │ │ └── index.jsx │ │ ├── ComponentSelector.jsx │ │ ├── EditorPanel.jsx │ │ ├── NumberInput.jsx │ │ ├── Resume.jsx │ │ ├── ResumeComponents │ │ │ ├── Image.css │ │ │ ├── Image.jsx │ │ │ ├── PersonalInfo.jsx │ │ │ ├── Portfolio.css │ │ │ ├── Portfolio.jsx │ │ │ └── PortfolioWithHeight.jsx │ │ ├── ResumeEditor.jsx │ │ └── ResumeSettings.jsx │ ├── index.css │ ├── index.js │ └── main.jsx ├── tailwind.config.js └── vite.config.js ├── screenshots ├── editor.png ├── export.png ├── home.png └── 图片.txt ├── 启动.txt └── 简历模板.json /.gitignore: -------------------------------------------------------------------------------- 1 | # 依赖包 2 | node_modules/ 3 | /.pnp 4 | .pnp.js 5 | 6 | # 测试覆盖 7 | /coverage 8 | 9 | # 构建输出 10 | /build 11 | /dist 12 | 13 | # 环境变量 14 | .env 15 | .env.local 16 | .env.development.local 17 | .env.test.local 18 | .env.production.local 19 | 20 | # 日志 21 | npm-debug.log* 22 | yarn-debug.log* 23 | yarn-error.log* 24 | 25 | # 编辑器配置 26 | .idea/ 27 | .vscode/ 28 | *.swp 29 | *.swo 30 | 31 | # 操作系统 32 | .DS_Store 33 | Thumbs.db -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # 📝 简历生成器 2 | 3 |
4 | 5 | ![版本](https://img.shields.io/badge/版本-1.0.0-blue) 6 | ![许可证](https://img.shields.io/badge/许可证-MIT-green) 7 | ![React](https://img.shields.io/badge/React-18.2.0-61dafb) 8 | ![Tailwind CSS](https://img.shields.io/badge/Tailwind%20CSS-3.3.0-38b2ac) 9 | ![Vite](https://img.shields.io/badge/Vite-4.4.5-646cff) 10 | 11 |
12 | 13 |

一个功能强大的React简历制作工具,帮助求职者快速创建专业、个性化的简历。

14 | 15 | ## ✨ 功能特点 16 | 17 | - **📋 组件化设计** - 个人信息、技能、教育背景、工作经验等模块自由组合和定制 18 | - **🖱️ 拖拽式布局** - 通过直观的拖拽操作调整组件位置和大小 19 | - **🎨 丰富样式选项** - 自定义主题色、字体、边框和阴影效果,打造个性化简历 20 | - **💾 专业导出** - 一键生成高质量PDF格式简历,随时打印或在线投递 21 | - **📱 响应式设计** - 完美适配A4纸张规格,确保打印效果专业美观 22 | - **💡 用户友好** - 简洁直观的界面设计,操作便捷,上手容易 23 | - **📄 模板导入** - 支持通过导入`简历模板.json`文件快速套用已有模板,进行调整修改 24 | 25 | ## 📸 应用截图 26 | 27 | 28 | 29 | ![首页预览](./screenshots/home.png) 30 | *首页展示了所有可用的简历模板和主要功能* 31 | 32 | ![编辑界面](./screenshots/editor.png) 33 | *强大的编辑界面,支持拖拽、样式调整和实时预览* 34 | 35 | ![导出预览](./screenshots/export.png) 36 | *导出效果预览,确保简历格式规范专业* 37 | 38 | ## 🛠️ 技术栈 39 | 40 | - **前端框架**: [React 18](https://reactjs.org/) - 用于构建用户界面的JavaScript库 41 | - **样式解决方案**: [Tailwind CSS 3](https://tailwindcss.com/) - 实用优先的CSS框架 42 | - **构建工具**: [Vite 4](https://vitejs.dev/) - 快速的前端构建工具 43 | - **PDF生成**: [HTML2PDF.js](https://html2pdf.js.org/) - 高质量HTML到PDF的转换 44 | - **图标库**: [React Icons](https://react-icons.github.io/react-icons/) - 流行的图标集合 45 | - **UI组件**: 自定义的拖拽、编辑和预览组件 46 | 47 | ## 🚀 快速开始 48 | 49 | ### 前置要求 50 | 51 | - Node.js (版本 14.0 或更高) 52 | - npm 或 yarn 53 | 54 | ### 安装步骤 55 | 56 | 1. **克隆仓库** 57 | ```bash 58 | git clone https://github.com/Abyxs/ResuBlocks.git 59 | cd ResuBlocks 60 | ``` 61 | 62 | 2. **安装依赖** 63 | ```bash 64 | # 主项目依赖 65 | npm install 66 | 67 | # 进入应用目录安装依赖 68 | cd resume-app 69 | npm install 70 | ``` 71 | 72 | 3. **启动开发服务器** 73 | ```bash 74 | npm run dev 75 | # 或 76 | yarn dev 77 | ``` 78 | 79 | 4. **打开浏览器访问** 80 | 81 | [http://localhost:5173](http://localhost:5173) 82 | 83 | ## 💻 使用指南 84 | 85 | ### 基础使用流程 86 | 87 | 1. **选择组件** - 从左侧组件库中选择需要的模块 88 | 2. **编辑布局** - 拖拽调整组件位置和大小 89 | 3. **填写内容** - 在右侧编辑面板中填写个人信息和经历 90 | 4. **调整样式** - 自定义颜色、字体、间距等样式选项 91 | 5. **预览效果** - 实时查看简历的最终呈现效果 92 | 6. **导出PDF** - 点击"导出PDF"按钮生成可打印的简历文件 93 | 7. **导入模板** - 支持导入`简历模板.json`文件,快速套用已有模板并进行个性化修改 94 | 95 | ### 高级技巧 96 | 97 | - **模板保存** - 可以保存当前编辑的简历模板以便将来使用 98 | - **多主题切换** - 提供多种预设主题,一键切换简历风格 99 | - **自定义字体** - 支持选择不同字体和字号,适应不同行业需求 100 | - **响应式设计** - 简历在不同显示设备上都能保持美观 101 | 102 | ## 🤝 贡献指南 103 | 104 | 欢迎为项目做出贡献!以下是参与方式: 105 | 106 | 1. Fork 项目仓库 107 | 2. 创建您的功能分支 (`git checkout -b feature/AmazingFeature`) 108 | 3. 提交您的更改 (`git commit -m 'Add some AmazingFeature'`) 109 | 4. 推送到分支 (`git push origin feature/AmazingFeature`) 110 | 5. 开启 Pull Request 111 | 112 | ## 📝 许可证 113 | 114 | [MIT](LICENSE) - 见 LICENSE 文件了解详情 115 | -------------------------------------------------------------------------------- /node_modules/.bin/uuid: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") 3 | 4 | case `uname` in 5 | *CYGWIN*|*MINGW*|*MSYS*) 6 | if command -v cygpath > /dev/null 2>&1; then 7 | basedir=`cygpath -w "$basedir"` 8 | fi 9 | ;; 10 | esac 11 | 12 | if [ -x "$basedir/node" ]; then 13 | exec "$basedir/node" "$basedir/../uuid/dist/esm/bin/uuid" "$@" 14 | else 15 | exec node "$basedir/../uuid/dist/esm/bin/uuid" "$@" 16 | fi 17 | -------------------------------------------------------------------------------- /node_modules/.bin/uuid.cmd: -------------------------------------------------------------------------------- 1 | @ECHO off 2 | GOTO start 3 | :find_dp0 4 | SET dp0=%~dp0 5 | EXIT /b 6 | :start 7 | SETLOCAL 8 | CALL :find_dp0 9 | 10 | IF EXIST "%dp0%\node.exe" ( 11 | SET "_prog=%dp0%\node.exe" 12 | ) ELSE ( 13 | SET "_prog=node" 14 | SET PATHEXT=%PATHEXT:;.JS;=;% 15 | ) 16 | 17 | endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\uuid\dist\esm\bin\uuid" %* 18 | -------------------------------------------------------------------------------- /node_modules/.bin/uuid.ps1: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env pwsh 2 | $basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent 3 | 4 | $exe="" 5 | if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { 6 | # Fix case when both the Windows and Linux builds of Node 7 | # are installed in the same directory 8 | $exe=".exe" 9 | } 10 | $ret=0 11 | if (Test-Path "$basedir/node$exe") { 12 | # Support pipeline input 13 | if ($MyInvocation.ExpectingInput) { 14 | $input | & "$basedir/node$exe" "$basedir/../uuid/dist/esm/bin/uuid" $args 15 | } else { 16 | & "$basedir/node$exe" "$basedir/../uuid/dist/esm/bin/uuid" $args 17 | } 18 | $ret=$LASTEXITCODE 19 | } else { 20 | # Support pipeline input 21 | if ($MyInvocation.ExpectingInput) { 22 | $input | & "node$exe" "$basedir/../uuid/dist/esm/bin/uuid" $args 23 | } else { 24 | & "node$exe" "$basedir/../uuid/dist/esm/bin/uuid" $args 25 | } 26 | $ret=$LASTEXITCODE 27 | } 28 | exit $ret 29 | -------------------------------------------------------------------------------- /node_modules/.package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "简历", 3 | "lockfileVersion": 3, 4 | "requires": true, 5 | "packages": { 6 | "node_modules/react": { 7 | "version": "19.1.0", 8 | "license": "MIT", 9 | "peer": true, 10 | "engines": { 11 | "node": ">=0.10.0" 12 | } 13 | }, 14 | "node_modules/react-icons": { 15 | "version": "5.5.0", 16 | "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-5.5.0.tgz", 17 | "integrity": "sha512-MEFcXdkP3dLo8uumGI5xN3lDFNsRtrjbOEKDLD7yv76v4wpnEq2Lt2qeHaQOr34I/wPN3s3+N08WkQ+CW37Xiw==", 18 | "license": "MIT", 19 | "peerDependencies": { 20 | "react": "*" 21 | } 22 | }, 23 | "node_modules/uuid": { 24 | "version": "11.1.0", 25 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-11.1.0.tgz", 26 | "integrity": "sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==", 27 | "funding": [ 28 | "https://github.com/sponsors/broofa", 29 | "https://github.com/sponsors/ctavan" 30 | ], 31 | "license": "MIT", 32 | "bin": { 33 | "uuid": "dist/esm/bin/uuid" 34 | } 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /node_modules/react-icons/ai/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "sideEffects": false, 3 | "module": "./index.mjs" 4 | } 5 | -------------------------------------------------------------------------------- /node_modules/react-icons/bi/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "sideEffects": false, 3 | "module": "./index.mjs" 4 | } 5 | -------------------------------------------------------------------------------- /node_modules/react-icons/bs/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "sideEffects": false, 3 | "module": "./index.mjs" 4 | } 5 | -------------------------------------------------------------------------------- /node_modules/react-icons/cg/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "sideEffects": false, 3 | "module": "./index.mjs" 4 | } 5 | -------------------------------------------------------------------------------- /node_modules/react-icons/ci/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "sideEffects": false, 3 | "module": "./index.mjs" 4 | } 5 | -------------------------------------------------------------------------------- /node_modules/react-icons/di/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "sideEffects": false, 3 | "module": "./index.mjs" 4 | } 5 | -------------------------------------------------------------------------------- /node_modules/react-icons/fa/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "sideEffects": false, 3 | "module": "./index.mjs" 4 | } 5 | -------------------------------------------------------------------------------- /node_modules/react-icons/fa6/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "sideEffects": false, 3 | "module": "./index.mjs" 4 | } 5 | -------------------------------------------------------------------------------- /node_modules/react-icons/fc/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "sideEffects": false, 3 | "module": "./index.mjs" 4 | } 5 | -------------------------------------------------------------------------------- /node_modules/react-icons/fi/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "sideEffects": false, 3 | "module": "./index.mjs" 4 | } 5 | -------------------------------------------------------------------------------- /node_modules/react-icons/gi/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "sideEffects": false, 3 | "module": "./index.mjs" 4 | } 5 | -------------------------------------------------------------------------------- /node_modules/react-icons/go/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "sideEffects": false, 3 | "module": "./index.mjs" 4 | } 5 | -------------------------------------------------------------------------------- /node_modules/react-icons/gr/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "sideEffects": false, 3 | "module": "./index.mjs" 4 | } 5 | -------------------------------------------------------------------------------- /node_modules/react-icons/hi/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "sideEffects": false, 3 | "module": "./index.mjs" 4 | } 5 | -------------------------------------------------------------------------------- /node_modules/react-icons/hi2/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "sideEffects": false, 3 | "module": "./index.mjs" 4 | } 5 | -------------------------------------------------------------------------------- /node_modules/react-icons/im/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "sideEffects": false, 3 | "module": "./index.mjs" 4 | } 5 | -------------------------------------------------------------------------------- /node_modules/react-icons/index.d.ts: -------------------------------------------------------------------------------- 1 | // THIS FILE IS AUTO GENERATED 2 | export * from './lib/index'; -------------------------------------------------------------------------------- /node_modules/react-icons/index.js: -------------------------------------------------------------------------------- 1 | // THIS FILE IS AUTO GENERATED 2 | module.exports = require('./lib/index.js'); -------------------------------------------------------------------------------- /node_modules/react-icons/index.mjs: -------------------------------------------------------------------------------- 1 | // THIS FILE IS AUTO GENERATED 2 | export * from './lib/index.mjs'; -------------------------------------------------------------------------------- /node_modules/react-icons/io/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "sideEffects": false, 3 | "module": "./index.mjs" 4 | } 5 | -------------------------------------------------------------------------------- /node_modules/react-icons/io5/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "sideEffects": false, 3 | "module": "./index.mjs" 4 | } 5 | -------------------------------------------------------------------------------- /node_modules/react-icons/lia/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "sideEffects": false, 3 | "module": "./index.mjs" 4 | } 5 | -------------------------------------------------------------------------------- /node_modules/react-icons/lib/iconBase.d.ts: -------------------------------------------------------------------------------- 1 | import * as React from "react"; 2 | export interface IconTree { 3 | tag: string; 4 | attr: { 5 | [key: string]: string; 6 | }; 7 | child: IconTree[]; 8 | } 9 | export declare function GenIcon(data: IconTree): (props: IconBaseProps) => React.JSX.Element; 10 | export interface IconBaseProps extends React.SVGAttributes { 11 | children?: React.ReactNode; 12 | size?: string | number; 13 | color?: string; 14 | title?: string; 15 | } 16 | export type IconType = (props: IconBaseProps) => React.ReactNode; 17 | export declare function IconBase(props: IconBaseProps & { 18 | attr?: Record; 19 | }): JSX.Element; 20 | -------------------------------------------------------------------------------- /node_modules/react-icons/lib/iconBase.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports.GenIcon = GenIcon; 7 | exports.IconBase = IconBase; 8 | var _react = _interopRequireDefault(require("react")); 9 | var _iconContext = require("./iconContext"); 10 | var _excluded = ["attr", "size", "title"]; 11 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 12 | function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } 13 | function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } } return target; } 14 | function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } 15 | 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; } 16 | 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; } 17 | function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } 18 | function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; } 19 | 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); } 20 | function Tree2Element(tree) { 21 | return tree && tree.map((node, i) => /*#__PURE__*/_react.default.createElement(node.tag, _objectSpread({ 22 | key: i 23 | }, node.attr), Tree2Element(node.child))); 24 | } 25 | function GenIcon(data) { 26 | return props => /*#__PURE__*/_react.default.createElement(IconBase, _extends({ 27 | attr: _objectSpread({}, data.attr) 28 | }, props), Tree2Element(data.child)); 29 | } 30 | function IconBase(props) { 31 | var elem = conf => { 32 | var { 33 | attr, 34 | size, 35 | title 36 | } = props, 37 | svgProps = _objectWithoutProperties(props, _excluded); 38 | var computedSize = size || conf.size || "1em"; 39 | var className; 40 | if (conf.className) className = conf.className; 41 | if (props.className) className = (className ? className + " " : "") + props.className; 42 | return /*#__PURE__*/_react.default.createElement("svg", _extends({ 43 | stroke: "currentColor", 44 | fill: "currentColor", 45 | strokeWidth: "0" 46 | }, conf.attr, attr, svgProps, { 47 | className: className, 48 | style: _objectSpread(_objectSpread({ 49 | color: props.color || conf.color 50 | }, conf.style), props.style), 51 | height: computedSize, 52 | width: computedSize, 53 | xmlns: "http://www.w3.org/2000/svg" 54 | }), title && /*#__PURE__*/_react.default.createElement("title", null, title), props.children); 55 | }; 56 | return _iconContext.IconContext !== undefined ? /*#__PURE__*/_react.default.createElement(_iconContext.IconContext.Consumer, null, conf => elem(conf)) : elem(_iconContext.DefaultContext); 57 | } -------------------------------------------------------------------------------- /node_modules/react-icons/lib/iconBase.mjs: -------------------------------------------------------------------------------- 1 | var _excluded = ["attr", "size", "title"]; 2 | function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } 3 | function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } } return target; } 4 | function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } 5 | 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; } 6 | 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; } 7 | function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } 8 | function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; } 9 | 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); } 10 | import React from "react"; 11 | import { IconContext, DefaultContext } from "./iconContext.mjs"; 12 | function Tree2Element(tree) { 13 | return tree && tree.map((node, i) => /*#__PURE__*/React.createElement(node.tag, _objectSpread({ 14 | key: i 15 | }, node.attr), Tree2Element(node.child))); 16 | } 17 | export function GenIcon(data) { 18 | return props => /*#__PURE__*/React.createElement(IconBase, _extends({ 19 | attr: _objectSpread({}, data.attr) 20 | }, props), Tree2Element(data.child)); 21 | } 22 | export function IconBase(props) { 23 | var elem = conf => { 24 | var { 25 | attr, 26 | size, 27 | title 28 | } = props, 29 | svgProps = _objectWithoutProperties(props, _excluded); 30 | var computedSize = size || conf.size || "1em"; 31 | var className; 32 | if (conf.className) className = conf.className; 33 | if (props.className) className = (className ? className + " " : "") + props.className; 34 | return /*#__PURE__*/React.createElement("svg", _extends({ 35 | stroke: "currentColor", 36 | fill: "currentColor", 37 | strokeWidth: "0" 38 | }, conf.attr, attr, svgProps, { 39 | className: className, 40 | style: _objectSpread(_objectSpread({ 41 | color: props.color || conf.color 42 | }, conf.style), props.style), 43 | height: computedSize, 44 | width: computedSize, 45 | xmlns: "http://www.w3.org/2000/svg" 46 | }), title && /*#__PURE__*/React.createElement("title", null, title), props.children); 47 | }; 48 | return IconContext !== undefined ? /*#__PURE__*/React.createElement(IconContext.Consumer, null, conf => elem(conf)) : elem(DefaultContext); 49 | } -------------------------------------------------------------------------------- /node_modules/react-icons/lib/iconContext.d.ts: -------------------------------------------------------------------------------- 1 | import * as React from "react"; 2 | export interface IconContext { 3 | color?: string; 4 | size?: string; 5 | className?: string; 6 | style?: React.CSSProperties; 7 | attr?: React.SVGAttributes; 8 | } 9 | export declare const DefaultContext: IconContext; 10 | export declare const IconContext: React.Context; 11 | -------------------------------------------------------------------------------- /node_modules/react-icons/lib/iconContext.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports.IconContext = exports.DefaultContext = void 0; 7 | var _react = _interopRequireDefault(require("react")); 8 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 9 | var DefaultContext = exports.DefaultContext = { 10 | color: undefined, 11 | size: undefined, 12 | className: undefined, 13 | style: undefined, 14 | attr: undefined 15 | }; 16 | var IconContext = exports.IconContext = _react.default.createContext && /*#__PURE__*/_react.default.createContext(DefaultContext); -------------------------------------------------------------------------------- /node_modules/react-icons/lib/iconContext.mjs: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | export var DefaultContext = { 3 | color: undefined, 4 | size: undefined, 5 | className: undefined, 6 | style: undefined, 7 | attr: undefined 8 | }; 9 | export var IconContext = React.createContext && /*#__PURE__*/React.createContext(DefaultContext); -------------------------------------------------------------------------------- /node_modules/react-icons/lib/iconsManifest.d.ts: -------------------------------------------------------------------------------- 1 | export interface IconManifestType { 2 | id: string; 3 | name: string; 4 | projectUrl: string; 5 | license: string; 6 | licenseUrl: string; 7 | } 8 | export declare const IconsManifest: IconManifestType[]; 9 | -------------------------------------------------------------------------------- /node_modules/react-icons/lib/index.d.ts: -------------------------------------------------------------------------------- 1 | export * from "./iconsManifest"; 2 | export * from "./iconBase"; 3 | export * from "./iconContext"; 4 | -------------------------------------------------------------------------------- /node_modules/react-icons/lib/index.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | var _iconsManifest = require("./iconsManifest"); 7 | Object.keys(_iconsManifest).forEach(function (key) { 8 | if (key === "default" || key === "__esModule") return; 9 | if (key in exports && exports[key] === _iconsManifest[key]) return; 10 | Object.defineProperty(exports, key, { 11 | enumerable: true, 12 | get: function get() { 13 | return _iconsManifest[key]; 14 | } 15 | }); 16 | }); 17 | var _iconBase = require("./iconBase"); 18 | Object.keys(_iconBase).forEach(function (key) { 19 | if (key === "default" || key === "__esModule") return; 20 | if (key in exports && exports[key] === _iconBase[key]) return; 21 | Object.defineProperty(exports, key, { 22 | enumerable: true, 23 | get: function get() { 24 | return _iconBase[key]; 25 | } 26 | }); 27 | }); 28 | var _iconContext = require("./iconContext"); 29 | Object.keys(_iconContext).forEach(function (key) { 30 | if (key === "default" || key === "__esModule") return; 31 | if (key in exports && exports[key] === _iconContext[key]) return; 32 | Object.defineProperty(exports, key, { 33 | enumerable: true, 34 | get: function get() { 35 | return _iconContext[key]; 36 | } 37 | }); 38 | }); -------------------------------------------------------------------------------- /node_modules/react-icons/lib/index.mjs: -------------------------------------------------------------------------------- 1 | export * from "./iconsManifest.mjs"; 2 | export * from "./iconBase.mjs"; 3 | export * from "./iconContext.mjs"; -------------------------------------------------------------------------------- /node_modules/react-icons/lib/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "main": "./index.js", 3 | "module": "./index.mjs" 4 | } 5 | -------------------------------------------------------------------------------- /node_modules/react-icons/lu/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "sideEffects": false, 3 | "module": "./index.mjs" 4 | } 5 | -------------------------------------------------------------------------------- /node_modules/react-icons/md/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "sideEffects": false, 3 | "module": "./index.mjs" 4 | } 5 | -------------------------------------------------------------------------------- /node_modules/react-icons/pi/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "sideEffects": false, 3 | "module": "./index.mjs" 4 | } 5 | -------------------------------------------------------------------------------- /node_modules/react-icons/ri/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "sideEffects": false, 3 | "module": "./index.mjs" 4 | } 5 | -------------------------------------------------------------------------------- /node_modules/react-icons/rx/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "sideEffects": false, 3 | "module": "./index.mjs" 4 | } 5 | -------------------------------------------------------------------------------- /node_modules/react-icons/si/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "sideEffects": false, 3 | "module": "./index.mjs" 4 | } 5 | -------------------------------------------------------------------------------- /node_modules/react-icons/sl/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "sideEffects": false, 3 | "module": "./index.mjs" 4 | } 5 | -------------------------------------------------------------------------------- /node_modules/react-icons/tb/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "sideEffects": false, 3 | "module": "./index.mjs" 4 | } 5 | -------------------------------------------------------------------------------- /node_modules/react-icons/tfi/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "sideEffects": false, 3 | "module": "./index.mjs" 4 | } 5 | -------------------------------------------------------------------------------- /node_modules/react-icons/ti/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "sideEffects": false, 3 | "module": "./index.mjs" 4 | } 5 | -------------------------------------------------------------------------------- /node_modules/react-icons/vsc/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "sideEffects": false, 3 | "module": "./index.mjs" 4 | } 5 | -------------------------------------------------------------------------------- /node_modules/react-icons/wi/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "sideEffects": false, 3 | "module": "./index.mjs" 4 | } 5 | -------------------------------------------------------------------------------- /node_modules/react/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) Meta Platforms, Inc. and affiliates. 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /node_modules/react/README.md: -------------------------------------------------------------------------------- 1 | # `react` 2 | 3 | React is a JavaScript library for creating user interfaces. 4 | 5 | The `react` package contains only the functionality necessary to define React components. It is typically used together with a React renderer like `react-dom` for the web, or `react-native` for the native environments. 6 | 7 | **Note:** by default, React will be in development mode. The development version includes extra warnings about common mistakes, whereas the production version includes extra performance optimizations and strips all error messages. Don't forget to use the [production build](https://reactjs.org/docs/optimizing-performance.html#use-the-production-build) when deploying your application. 8 | 9 | ## Usage 10 | 11 | ```js 12 | import { useState } from 'react'; 13 | import { createRoot } from 'react-dom/client'; 14 | 15 | function Counter() { 16 | const [count, setCount] = useState(0); 17 | return ( 18 | <> 19 |

{count}

20 | 23 | 24 | ); 25 | } 26 | 27 | const root = createRoot(document.getElementById('root')); 28 | root.render(); 29 | ``` 30 | 31 | ## Documentation 32 | 33 | See https://react.dev/ 34 | 35 | ## API 36 | 37 | See https://react.dev/reference/react 38 | -------------------------------------------------------------------------------- /node_modules/react/cjs/react-compiler-runtime.development.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @license React 3 | * react-compiler-runtime.development.js 4 | * 5 | * Copyright (c) Meta Platforms, Inc. and affiliates. 6 | * 7 | * This source code is licensed under the MIT license found in the 8 | * LICENSE file in the root directory of this source tree. 9 | */ 10 | 11 | "use strict"; 12 | "production" !== process.env.NODE_ENV && 13 | (function () { 14 | var ReactSharedInternals = 15 | require("react").__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE; 16 | exports.c = function (size) { 17 | var dispatcher = ReactSharedInternals.H; 18 | null === dispatcher && 19 | console.error( 20 | "Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\n1. You might have mismatching versions of React and the renderer (such as React DOM)\n2. You might be breaking the Rules of Hooks\n3. You might have more than one copy of React in the same app\nSee https://react.dev/link/invalid-hook-call for tips about how to debug and fix this problem." 21 | ); 22 | return dispatcher.useMemoCache(size); 23 | }; 24 | })(); 25 | -------------------------------------------------------------------------------- /node_modules/react/cjs/react-compiler-runtime.production.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @license React 3 | * react-compiler-runtime.production.js 4 | * 5 | * Copyright (c) Meta Platforms, Inc. and affiliates. 6 | * 7 | * This source code is licensed under the MIT license found in the 8 | * LICENSE file in the root directory of this source tree. 9 | */ 10 | 11 | "use strict"; 12 | var ReactSharedInternals = 13 | require("react").__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE; 14 | exports.c = function (size) { 15 | return ReactSharedInternals.H.useMemoCache(size); 16 | }; 17 | -------------------------------------------------------------------------------- /node_modules/react/cjs/react-compiler-runtime.profiling.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @license React 3 | * react-compiler-runtime.profiling.js 4 | * 5 | * Copyright (c) Meta Platforms, Inc. and affiliates. 6 | * 7 | * This source code is licensed under the MIT license found in the 8 | * LICENSE file in the root directory of this source tree. 9 | */ 10 | 11 | "use strict"; 12 | var ReactSharedInternals = 13 | require("react").__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE; 14 | exports.c = function (size) { 15 | return ReactSharedInternals.H.useMemoCache(size); 16 | }; 17 | -------------------------------------------------------------------------------- /node_modules/react/cjs/react-jsx-dev-runtime.production.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @license React 3 | * react-jsx-dev-runtime.production.js 4 | * 5 | * Copyright (c) Meta Platforms, Inc. and affiliates. 6 | * 7 | * This source code is licensed under the MIT license found in the 8 | * LICENSE file in the root directory of this source tree. 9 | */ 10 | 11 | "use strict"; 12 | var REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"); 13 | exports.Fragment = REACT_FRAGMENT_TYPE; 14 | exports.jsxDEV = void 0; 15 | -------------------------------------------------------------------------------- /node_modules/react/cjs/react-jsx-dev-runtime.profiling.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @license React 3 | * react-jsx-dev-runtime.profiling.js 4 | * 5 | * Copyright (c) Meta Platforms, Inc. and affiliates. 6 | * 7 | * This source code is licensed under the MIT license found in the 8 | * LICENSE file in the root directory of this source tree. 9 | */ 10 | 11 | "use strict"; 12 | var REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"); 13 | exports.Fragment = REACT_FRAGMENT_TYPE; 14 | exports.jsxDEV = void 0; 15 | -------------------------------------------------------------------------------- /node_modules/react/cjs/react-jsx-dev-runtime.react-server.production.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @license React 3 | * react-jsx-dev-runtime.react-server.production.js 4 | * 5 | * Copyright (c) Meta Platforms, Inc. and affiliates. 6 | * 7 | * This source code is licensed under the MIT license found in the 8 | * LICENSE file in the root directory of this source tree. 9 | */ 10 | 11 | "use strict"; 12 | var React = require("react"), 13 | REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"), 14 | REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"); 15 | if (!React.__SERVER_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE) 16 | throw Error( 17 | 'The "react" package in this environment is not configured correctly. The "react-server" condition must be enabled in any environment that runs React Server Components.' 18 | ); 19 | function jsxProd(type, config, maybeKey) { 20 | var key = null; 21 | void 0 !== maybeKey && (key = "" + maybeKey); 22 | void 0 !== config.key && (key = "" + config.key); 23 | if ("key" in config) { 24 | maybeKey = {}; 25 | for (var propName in config) 26 | "key" !== propName && (maybeKey[propName] = config[propName]); 27 | } else maybeKey = config; 28 | config = maybeKey.ref; 29 | return { 30 | $$typeof: REACT_ELEMENT_TYPE, 31 | type: type, 32 | key: key, 33 | ref: void 0 !== config ? config : null, 34 | props: maybeKey 35 | }; 36 | } 37 | exports.Fragment = REACT_FRAGMENT_TYPE; 38 | exports.jsx = jsxProd; 39 | exports.jsxDEV = void 0; 40 | exports.jsxs = jsxProd; 41 | -------------------------------------------------------------------------------- /node_modules/react/cjs/react-jsx-runtime.production.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @license React 3 | * react-jsx-runtime.production.js 4 | * 5 | * Copyright (c) Meta Platforms, Inc. and affiliates. 6 | * 7 | * This source code is licensed under the MIT license found in the 8 | * LICENSE file in the root directory of this source tree. 9 | */ 10 | 11 | "use strict"; 12 | var REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"), 13 | REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"); 14 | function jsxProd(type, config, maybeKey) { 15 | var key = null; 16 | void 0 !== maybeKey && (key = "" + maybeKey); 17 | void 0 !== config.key && (key = "" + config.key); 18 | if ("key" in config) { 19 | maybeKey = {}; 20 | for (var propName in config) 21 | "key" !== propName && (maybeKey[propName] = config[propName]); 22 | } else maybeKey = config; 23 | config = maybeKey.ref; 24 | return { 25 | $$typeof: REACT_ELEMENT_TYPE, 26 | type: type, 27 | key: key, 28 | ref: void 0 !== config ? config : null, 29 | props: maybeKey 30 | }; 31 | } 32 | exports.Fragment = REACT_FRAGMENT_TYPE; 33 | exports.jsx = jsxProd; 34 | exports.jsxs = jsxProd; 35 | -------------------------------------------------------------------------------- /node_modules/react/cjs/react-jsx-runtime.profiling.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @license React 3 | * react-jsx-runtime.profiling.js 4 | * 5 | * Copyright (c) Meta Platforms, Inc. and affiliates. 6 | * 7 | * This source code is licensed under the MIT license found in the 8 | * LICENSE file in the root directory of this source tree. 9 | */ 10 | 11 | "use strict"; 12 | var REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"), 13 | REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"); 14 | function jsxProd(type, config, maybeKey) { 15 | var key = null; 16 | void 0 !== maybeKey && (key = "" + maybeKey); 17 | void 0 !== config.key && (key = "" + config.key); 18 | if ("key" in config) { 19 | maybeKey = {}; 20 | for (var propName in config) 21 | "key" !== propName && (maybeKey[propName] = config[propName]); 22 | } else maybeKey = config; 23 | config = maybeKey.ref; 24 | return { 25 | $$typeof: REACT_ELEMENT_TYPE, 26 | type: type, 27 | key: key, 28 | ref: void 0 !== config ? config : null, 29 | props: maybeKey 30 | }; 31 | } 32 | exports.Fragment = REACT_FRAGMENT_TYPE; 33 | exports.jsx = jsxProd; 34 | exports.jsxs = jsxProd; 35 | -------------------------------------------------------------------------------- /node_modules/react/cjs/react-jsx-runtime.react-server.production.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @license React 3 | * react-jsx-runtime.react-server.production.js 4 | * 5 | * Copyright (c) Meta Platforms, Inc. and affiliates. 6 | * 7 | * This source code is licensed under the MIT license found in the 8 | * LICENSE file in the root directory of this source tree. 9 | */ 10 | 11 | "use strict"; 12 | var React = require("react"), 13 | REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"), 14 | REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"); 15 | if (!React.__SERVER_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE) 16 | throw Error( 17 | 'The "react" package in this environment is not configured correctly. The "react-server" condition must be enabled in any environment that runs React Server Components.' 18 | ); 19 | function jsxProd(type, config, maybeKey) { 20 | var key = null; 21 | void 0 !== maybeKey && (key = "" + maybeKey); 22 | void 0 !== config.key && (key = "" + config.key); 23 | if ("key" in config) { 24 | maybeKey = {}; 25 | for (var propName in config) 26 | "key" !== propName && (maybeKey[propName] = config[propName]); 27 | } else maybeKey = config; 28 | config = maybeKey.ref; 29 | return { 30 | $$typeof: REACT_ELEMENT_TYPE, 31 | type: type, 32 | key: key, 33 | ref: void 0 !== config ? config : null, 34 | props: maybeKey 35 | }; 36 | } 37 | exports.Fragment = REACT_FRAGMENT_TYPE; 38 | exports.jsx = jsxProd; 39 | exports.jsxDEV = void 0; 40 | exports.jsxs = jsxProd; 41 | -------------------------------------------------------------------------------- /node_modules/react/compiler-runtime.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | 'use strict'; 9 | 10 | if (process.env.NODE_ENV === 'production') { 11 | module.exports = require('./cjs/react-compiler-runtime.production.js'); 12 | } else { 13 | module.exports = require('./cjs/react-compiler-runtime.development.js'); 14 | } 15 | -------------------------------------------------------------------------------- /node_modules/react/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | if (process.env.NODE_ENV === 'production') { 4 | module.exports = require('./cjs/react.production.js'); 5 | } else { 6 | module.exports = require('./cjs/react.development.js'); 7 | } 8 | -------------------------------------------------------------------------------- /node_modules/react/jsx-dev-runtime.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | if (process.env.NODE_ENV === 'production') { 4 | module.exports = require('./cjs/react-jsx-dev-runtime.production.js'); 5 | } else { 6 | module.exports = require('./cjs/react-jsx-dev-runtime.development.js'); 7 | } 8 | -------------------------------------------------------------------------------- /node_modules/react/jsx-dev-runtime.react-server.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | if (process.env.NODE_ENV === 'production') { 4 | module.exports = require('./cjs/react-jsx-dev-runtime.react-server.production.js'); 5 | } else { 6 | module.exports = require('./cjs/react-jsx-dev-runtime.react-server.development.js'); 7 | } 8 | -------------------------------------------------------------------------------- /node_modules/react/jsx-runtime.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | if (process.env.NODE_ENV === 'production') { 4 | module.exports = require('./cjs/react-jsx-runtime.production.js'); 5 | } else { 6 | module.exports = require('./cjs/react-jsx-runtime.development.js'); 7 | } 8 | -------------------------------------------------------------------------------- /node_modules/react/jsx-runtime.react-server.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | if (process.env.NODE_ENV === 'production') { 4 | module.exports = require('./cjs/react-jsx-runtime.react-server.production.js'); 5 | } else { 6 | module.exports = require('./cjs/react-jsx-runtime.react-server.development.js'); 7 | } 8 | -------------------------------------------------------------------------------- /node_modules/react/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "react", 3 | "description": "React is a JavaScript library for building user interfaces.", 4 | "keywords": [ 5 | "react" 6 | ], 7 | "version": "19.1.0", 8 | "homepage": "https://react.dev/", 9 | "bugs": "https://github.com/facebook/react/issues", 10 | "license": "MIT", 11 | "files": [ 12 | "LICENSE", 13 | "README.md", 14 | "index.js", 15 | "cjs/", 16 | "compiler-runtime.js", 17 | "jsx-runtime.js", 18 | "jsx-runtime.react-server.js", 19 | "jsx-dev-runtime.js", 20 | "jsx-dev-runtime.react-server.js", 21 | "react.react-server.js" 22 | ], 23 | "main": "index.js", 24 | "exports": { 25 | ".": { 26 | "react-server": "./react.react-server.js", 27 | "default": "./index.js" 28 | }, 29 | "./package.json": "./package.json", 30 | "./jsx-runtime": { 31 | "react-server": "./jsx-runtime.react-server.js", 32 | "default": "./jsx-runtime.js" 33 | }, 34 | "./jsx-dev-runtime": { 35 | "react-server": "./jsx-dev-runtime.react-server.js", 36 | "default": "./jsx-dev-runtime.js" 37 | }, 38 | "./compiler-runtime": { 39 | "react-server": "./compiler-runtime.js", 40 | "default": "./compiler-runtime.js" 41 | } 42 | }, 43 | "repository": { 44 | "type": "git", 45 | "url": "https://github.com/facebook/react.git", 46 | "directory": "packages/react" 47 | }, 48 | "engines": { 49 | "node": ">=0.10.0" 50 | } 51 | } -------------------------------------------------------------------------------- /node_modules/react/react.react-server.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | if (process.env.NODE_ENV === 'production') { 4 | module.exports = require('./cjs/react.react-server.production.js'); 5 | } else { 6 | module.exports = require('./cjs/react.react-server.development.js'); 7 | } 8 | -------------------------------------------------------------------------------- /node_modules/uuid/LICENSE.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2010-2020 Robert Kieffer and other contributors 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 6 | 7 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 10 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs-browser/index.d.ts: -------------------------------------------------------------------------------- 1 | export type * from './types.js'; 2 | export { default as MAX } from './max.js'; 3 | export { default as NIL } from './nil.js'; 4 | export { default as parse } from './parse.js'; 5 | export { default as stringify } from './stringify.js'; 6 | export { default as v1 } from './v1.js'; 7 | export { default as v1ToV6 } from './v1ToV6.js'; 8 | export { default as v3 } from './v3.js'; 9 | export { default as v4 } from './v4.js'; 10 | export { default as v5 } from './v5.js'; 11 | export { default as v6 } from './v6.js'; 12 | export { default as v6ToV1 } from './v6ToV1.js'; 13 | export { default as v7 } from './v7.js'; 14 | export { default as validate } from './validate.js'; 15 | export { default as version } from './version.js'; 16 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs-browser/index.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | exports.version = exports.validate = exports.v7 = exports.v6ToV1 = exports.v6 = exports.v5 = exports.v4 = exports.v3 = exports.v1ToV6 = exports.v1 = exports.stringify = exports.parse = exports.NIL = exports.MAX = void 0; 4 | var max_js_1 = require("./max.js"); 5 | Object.defineProperty(exports, "MAX", { enumerable: true, get: function () { return max_js_1.default; } }); 6 | var nil_js_1 = require("./nil.js"); 7 | Object.defineProperty(exports, "NIL", { enumerable: true, get: function () { return nil_js_1.default; } }); 8 | var parse_js_1 = require("./parse.js"); 9 | Object.defineProperty(exports, "parse", { enumerable: true, get: function () { return parse_js_1.default; } }); 10 | var stringify_js_1 = require("./stringify.js"); 11 | Object.defineProperty(exports, "stringify", { enumerable: true, get: function () { return stringify_js_1.default; } }); 12 | var v1_js_1 = require("./v1.js"); 13 | Object.defineProperty(exports, "v1", { enumerable: true, get: function () { return v1_js_1.default; } }); 14 | var v1ToV6_js_1 = require("./v1ToV6.js"); 15 | Object.defineProperty(exports, "v1ToV6", { enumerable: true, get: function () { return v1ToV6_js_1.default; } }); 16 | var v3_js_1 = require("./v3.js"); 17 | Object.defineProperty(exports, "v3", { enumerable: true, get: function () { return v3_js_1.default; } }); 18 | var v4_js_1 = require("./v4.js"); 19 | Object.defineProperty(exports, "v4", { enumerable: true, get: function () { return v4_js_1.default; } }); 20 | var v5_js_1 = require("./v5.js"); 21 | Object.defineProperty(exports, "v5", { enumerable: true, get: function () { return v5_js_1.default; } }); 22 | var v6_js_1 = require("./v6.js"); 23 | Object.defineProperty(exports, "v6", { enumerable: true, get: function () { return v6_js_1.default; } }); 24 | var v6ToV1_js_1 = require("./v6ToV1.js"); 25 | Object.defineProperty(exports, "v6ToV1", { enumerable: true, get: function () { return v6ToV1_js_1.default; } }); 26 | var v7_js_1 = require("./v7.js"); 27 | Object.defineProperty(exports, "v7", { enumerable: true, get: function () { return v7_js_1.default; } }); 28 | var validate_js_1 = require("./validate.js"); 29 | Object.defineProperty(exports, "validate", { enumerable: true, get: function () { return validate_js_1.default; } }); 30 | var version_js_1 = require("./version.js"); 31 | Object.defineProperty(exports, "version", { enumerable: true, get: function () { return version_js_1.default; } }); 32 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs-browser/max.d.ts: -------------------------------------------------------------------------------- 1 | declare const _default: "ffffffff-ffff-ffff-ffff-ffffffffffff"; 2 | export default _default; 3 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs-browser/max.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | exports.default = 'ffffffff-ffff-ffff-ffff-ffffffffffff'; 4 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs-browser/md5.d.ts: -------------------------------------------------------------------------------- 1 | declare function md5(bytes: Uint8Array): Uint8Array; 2 | export default md5; 3 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs-browser/native.d.ts: -------------------------------------------------------------------------------- 1 | declare const _default: { 2 | randomUUID: false | (() => `${string}-${string}-${string}-${string}-${string}`); 3 | }; 4 | export default _default; 5 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs-browser/native.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto); 4 | exports.default = { randomUUID }; 5 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs-browser/nil.d.ts: -------------------------------------------------------------------------------- 1 | declare const _default: "00000000-0000-0000-0000-000000000000"; 2 | export default _default; 3 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs-browser/nil.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | exports.default = '00000000-0000-0000-0000-000000000000'; 4 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs-browser/package.json: -------------------------------------------------------------------------------- 1 | {"type":"commonjs"} 2 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs-browser/parse.d.ts: -------------------------------------------------------------------------------- 1 | declare function parse(uuid: string): Uint8Array; 2 | export default parse; 3 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs-browser/parse.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | const validate_js_1 = require("./validate.js"); 4 | function parse(uuid) { 5 | if (!(0, validate_js_1.default)(uuid)) { 6 | throw TypeError('Invalid UUID'); 7 | } 8 | let v; 9 | 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); 10 | } 11 | exports.default = parse; 12 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs-browser/regex.d.ts: -------------------------------------------------------------------------------- 1 | declare const _default: RegExp; 2 | export default _default; 3 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs-browser/regex.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | 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; 4 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs-browser/rng.d.ts: -------------------------------------------------------------------------------- 1 | export default function rng(): Uint8Array; 2 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs-browser/rng.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | let getRandomValues; 4 | const rnds8 = new Uint8Array(16); 5 | function rng() { 6 | if (!getRandomValues) { 7 | if (typeof crypto === 'undefined' || !crypto.getRandomValues) { 8 | throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported'); 9 | } 10 | getRandomValues = crypto.getRandomValues.bind(crypto); 11 | } 12 | return getRandomValues(rnds8); 13 | } 14 | exports.default = rng; 15 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs-browser/sha1.d.ts: -------------------------------------------------------------------------------- 1 | declare function sha1(bytes: Uint8Array): Uint8Array; 2 | export default sha1; 3 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs-browser/sha1.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | function f(s, x, y, z) { 4 | switch (s) { 5 | case 0: 6 | return (x & y) ^ (~x & z); 7 | case 1: 8 | return x ^ y ^ z; 9 | case 2: 10 | return (x & y) ^ (x & z) ^ (y & z); 11 | case 3: 12 | return x ^ y ^ z; 13 | } 14 | } 15 | function ROTL(x, n) { 16 | return (x << n) | (x >>> (32 - n)); 17 | } 18 | function sha1(bytes) { 19 | const K = [0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xca62c1d6]; 20 | const H = [0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0]; 21 | const newBytes = new Uint8Array(bytes.length + 1); 22 | newBytes.set(bytes); 23 | newBytes[bytes.length] = 0x80; 24 | bytes = newBytes; 25 | const l = bytes.length / 4 + 2; 26 | const N = Math.ceil(l / 16); 27 | const M = new Array(N); 28 | for (let i = 0; i < N; ++i) { 29 | const arr = new Uint32Array(16); 30 | for (let j = 0; j < 16; ++j) { 31 | arr[j] = 32 | (bytes[i * 64 + j * 4] << 24) | 33 | (bytes[i * 64 + j * 4 + 1] << 16) | 34 | (bytes[i * 64 + j * 4 + 2] << 8) | 35 | bytes[i * 64 + j * 4 + 3]; 36 | } 37 | M[i] = arr; 38 | } 39 | M[N - 1][14] = ((bytes.length - 1) * 8) / Math.pow(2, 32); 40 | M[N - 1][14] = Math.floor(M[N - 1][14]); 41 | M[N - 1][15] = ((bytes.length - 1) * 8) & 0xffffffff; 42 | for (let i = 0; i < N; ++i) { 43 | const W = new Uint32Array(80); 44 | for (let t = 0; t < 16; ++t) { 45 | W[t] = M[i][t]; 46 | } 47 | for (let t = 16; t < 80; ++t) { 48 | W[t] = ROTL(W[t - 3] ^ W[t - 8] ^ W[t - 14] ^ W[t - 16], 1); 49 | } 50 | let a = H[0]; 51 | let b = H[1]; 52 | let c = H[2]; 53 | let d = H[3]; 54 | let e = H[4]; 55 | for (let t = 0; t < 80; ++t) { 56 | const s = Math.floor(t / 20); 57 | const T = (ROTL(a, 5) + f(s, b, c, d) + e + K[s] + W[t]) >>> 0; 58 | e = d; 59 | d = c; 60 | c = ROTL(b, 30) >>> 0; 61 | b = a; 62 | a = T; 63 | } 64 | H[0] = (H[0] + a) >>> 0; 65 | H[1] = (H[1] + b) >>> 0; 66 | H[2] = (H[2] + c) >>> 0; 67 | H[3] = (H[3] + d) >>> 0; 68 | H[4] = (H[4] + e) >>> 0; 69 | } 70 | 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]); 71 | } 72 | exports.default = sha1; 73 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs-browser/stringify.d.ts: -------------------------------------------------------------------------------- 1 | export declare function unsafeStringify(arr: Uint8Array, offset?: number): string; 2 | declare function stringify(arr: Uint8Array, offset?: number): string; 3 | export default stringify; 4 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs-browser/stringify.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | exports.unsafeStringify = void 0; 4 | const validate_js_1 = require("./validate.js"); 5 | const byteToHex = []; 6 | for (let i = 0; i < 256; ++i) { 7 | byteToHex.push((i + 0x100).toString(16).slice(1)); 8 | } 9 | function unsafeStringify(arr, offset = 0) { 10 | return (byteToHex[arr[offset + 0]] + 11 | byteToHex[arr[offset + 1]] + 12 | byteToHex[arr[offset + 2]] + 13 | byteToHex[arr[offset + 3]] + 14 | '-' + 15 | byteToHex[arr[offset + 4]] + 16 | byteToHex[arr[offset + 5]] + 17 | '-' + 18 | byteToHex[arr[offset + 6]] + 19 | byteToHex[arr[offset + 7]] + 20 | '-' + 21 | byteToHex[arr[offset + 8]] + 22 | byteToHex[arr[offset + 9]] + 23 | '-' + 24 | byteToHex[arr[offset + 10]] + 25 | byteToHex[arr[offset + 11]] + 26 | byteToHex[arr[offset + 12]] + 27 | byteToHex[arr[offset + 13]] + 28 | byteToHex[arr[offset + 14]] + 29 | byteToHex[arr[offset + 15]]).toLowerCase(); 30 | } 31 | exports.unsafeStringify = unsafeStringify; 32 | function stringify(arr, offset = 0) { 33 | const uuid = unsafeStringify(arr, offset); 34 | if (!(0, validate_js_1.default)(uuid)) { 35 | throw TypeError('Stringified UUID is invalid'); 36 | } 37 | return uuid; 38 | } 39 | exports.default = stringify; 40 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs-browser/types.d.ts: -------------------------------------------------------------------------------- 1 | export type UUIDTypes = string | TBuf; 2 | export type Version1Options = { 3 | node?: Uint8Array; 4 | clockseq?: number; 5 | random?: Uint8Array; 6 | rng?: () => Uint8Array; 7 | msecs?: number; 8 | nsecs?: number; 9 | _v6?: boolean; 10 | }; 11 | export type Version4Options = { 12 | random?: Uint8Array; 13 | rng?: () => Uint8Array; 14 | }; 15 | export type Version6Options = Version1Options; 16 | export type Version7Options = { 17 | random?: Uint8Array; 18 | msecs?: number; 19 | seq?: number; 20 | rng?: () => Uint8Array; 21 | }; 22 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs-browser/types.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs-browser/uuid-bin.d.ts: -------------------------------------------------------------------------------- 1 | export {}; 2 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs-browser/uuid-bin.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | const assert = require("assert"); 4 | const v1_js_1 = require("./v1.js"); 5 | const v3_js_1 = require("./v3.js"); 6 | const v4_js_1 = require("./v4.js"); 7 | const v5_js_1 = require("./v5.js"); 8 | const v6_js_1 = require("./v6.js"); 9 | const v7_js_1 = require("./v7.js"); 10 | function usage() { 11 | console.log('Usage:'); 12 | console.log(' uuid'); 13 | console.log(' uuid v1'); 14 | console.log(' uuid v3 '); 15 | console.log(' uuid v4'); 16 | console.log(' uuid v5 '); 17 | console.log(' uuid v6'); 18 | console.log(' uuid v7'); 19 | console.log(' uuid --help'); 20 | console.log('\nNote: may be "URL" or "DNS" to use the corresponding UUIDs defined by RFC9562'); 21 | } 22 | const args = process.argv.slice(2); 23 | if (args.indexOf('--help') >= 0) { 24 | usage(); 25 | process.exit(0); 26 | } 27 | const version = args.shift() || 'v4'; 28 | switch (version) { 29 | case 'v1': 30 | console.log((0, v1_js_1.default)()); 31 | break; 32 | case 'v3': { 33 | const name = args.shift(); 34 | let namespace = args.shift(); 35 | assert.ok(name != null, 'v3 name not specified'); 36 | assert.ok(namespace != null, 'v3 namespace not specified'); 37 | if (namespace === 'URL') { 38 | namespace = v3_js_1.default.URL; 39 | } 40 | if (namespace === 'DNS') { 41 | namespace = v3_js_1.default.DNS; 42 | } 43 | console.log((0, v3_js_1.default)(name, namespace)); 44 | break; 45 | } 46 | case 'v4': 47 | console.log((0, v4_js_1.default)()); 48 | break; 49 | case 'v5': { 50 | const name = args.shift(); 51 | let namespace = args.shift(); 52 | assert.ok(name != null, 'v5 name not specified'); 53 | assert.ok(namespace != null, 'v5 namespace not specified'); 54 | if (namespace === 'URL') { 55 | namespace = v5_js_1.default.URL; 56 | } 57 | if (namespace === 'DNS') { 58 | namespace = v5_js_1.default.DNS; 59 | } 60 | console.log((0, v5_js_1.default)(name, namespace)); 61 | break; 62 | } 63 | case 'v6': 64 | console.log((0, v6_js_1.default)()); 65 | break; 66 | case 'v7': 67 | console.log((0, v7_js_1.default)()); 68 | break; 69 | default: 70 | usage(); 71 | process.exit(1); 72 | } 73 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs-browser/v1.d.ts: -------------------------------------------------------------------------------- 1 | import { Version1Options } from './types.js'; 2 | type V1State = { 3 | node?: Uint8Array; 4 | clockseq?: number; 5 | msecs?: number; 6 | nsecs?: number; 7 | }; 8 | declare function v1(options?: Version1Options, buf?: undefined, offset?: number): string; 9 | declare function v1(options: Version1Options | undefined, buf: Buf, offset?: number): Buf; 10 | export declare function updateV1State(state: V1State, now: number, rnds: Uint8Array): V1State; 11 | export default v1; 12 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs-browser/v1.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | exports.updateV1State = void 0; 4 | const rng_js_1 = require("./rng.js"); 5 | const stringify_js_1 = require("./stringify.js"); 6 | const _state = {}; 7 | function v1(options, buf, offset) { 8 | let bytes; 9 | const isV6 = options?._v6 ?? false; 10 | if (options) { 11 | const optionsKeys = Object.keys(options); 12 | if (optionsKeys.length === 1 && optionsKeys[0] === '_v6') { 13 | options = undefined; 14 | } 15 | } 16 | if (options) { 17 | bytes = v1Bytes(options.random ?? options.rng?.() ?? (0, rng_js_1.default)(), options.msecs, options.nsecs, options.clockseq, options.node, buf, offset); 18 | } 19 | else { 20 | const now = Date.now(); 21 | const rnds = (0, rng_js_1.default)(); 22 | updateV1State(_state, now, rnds); 23 | bytes = v1Bytes(rnds, _state.msecs, _state.nsecs, isV6 ? undefined : _state.clockseq, isV6 ? undefined : _state.node, buf, offset); 24 | } 25 | return buf ?? (0, stringify_js_1.unsafeStringify)(bytes); 26 | } 27 | function updateV1State(state, now, rnds) { 28 | state.msecs ??= -Infinity; 29 | state.nsecs ??= 0; 30 | if (now === state.msecs) { 31 | state.nsecs++; 32 | if (state.nsecs >= 10000) { 33 | state.node = undefined; 34 | state.nsecs = 0; 35 | } 36 | } 37 | else if (now > state.msecs) { 38 | state.nsecs = 0; 39 | } 40 | else if (now < state.msecs) { 41 | state.node = undefined; 42 | } 43 | if (!state.node) { 44 | state.node = rnds.slice(10, 16); 45 | state.node[0] |= 0x01; 46 | state.clockseq = ((rnds[8] << 8) | rnds[9]) & 0x3fff; 47 | } 48 | state.msecs = now; 49 | return state; 50 | } 51 | exports.updateV1State = updateV1State; 52 | function v1Bytes(rnds, msecs, nsecs, clockseq, node, buf, offset = 0) { 53 | if (rnds.length < 16) { 54 | throw new Error('Random bytes length must be >= 16'); 55 | } 56 | if (!buf) { 57 | buf = new Uint8Array(16); 58 | offset = 0; 59 | } 60 | else { 61 | if (offset < 0 || offset + 16 > buf.length) { 62 | throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`); 63 | } 64 | } 65 | msecs ??= Date.now(); 66 | nsecs ??= 0; 67 | clockseq ??= ((rnds[8] << 8) | rnds[9]) & 0x3fff; 68 | node ??= rnds.slice(10, 16); 69 | msecs += 12219292800000; 70 | const tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000; 71 | buf[offset++] = (tl >>> 24) & 0xff; 72 | buf[offset++] = (tl >>> 16) & 0xff; 73 | buf[offset++] = (tl >>> 8) & 0xff; 74 | buf[offset++] = tl & 0xff; 75 | const tmh = ((msecs / 0x100000000) * 10000) & 0xfffffff; 76 | buf[offset++] = (tmh >>> 8) & 0xff; 77 | buf[offset++] = tmh & 0xff; 78 | buf[offset++] = ((tmh >>> 24) & 0xf) | 0x10; 79 | buf[offset++] = (tmh >>> 16) & 0xff; 80 | buf[offset++] = (clockseq >>> 8) | 0x80; 81 | buf[offset++] = clockseq & 0xff; 82 | for (let n = 0; n < 6; ++n) { 83 | buf[offset++] = node[n]; 84 | } 85 | return buf; 86 | } 87 | exports.default = v1; 88 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs-browser/v1ToV6.d.ts: -------------------------------------------------------------------------------- 1 | export default function v1ToV6(uuid: string): string; 2 | export default function v1ToV6(uuid: Uint8Array): Uint8Array; 3 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs-browser/v1ToV6.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | const parse_js_1 = require("./parse.js"); 4 | const stringify_js_1 = require("./stringify.js"); 5 | function v1ToV6(uuid) { 6 | const v1Bytes = typeof uuid === 'string' ? (0, parse_js_1.default)(uuid) : uuid; 7 | const v6Bytes = _v1ToV6(v1Bytes); 8 | return typeof uuid === 'string' ? (0, stringify_js_1.unsafeStringify)(v6Bytes) : v6Bytes; 9 | } 10 | exports.default = v1ToV6; 11 | function _v1ToV6(v1Bytes) { 12 | return Uint8Array.of(((v1Bytes[6] & 0x0f) << 4) | ((v1Bytes[7] >> 4) & 0x0f), ((v1Bytes[7] & 0x0f) << 4) | ((v1Bytes[4] & 0xf0) >> 4), ((v1Bytes[4] & 0x0f) << 4) | ((v1Bytes[5] & 0xf0) >> 4), ((v1Bytes[5] & 0x0f) << 4) | ((v1Bytes[0] & 0xf0) >> 4), ((v1Bytes[0] & 0x0f) << 4) | ((v1Bytes[1] & 0xf0) >> 4), ((v1Bytes[1] & 0x0f) << 4) | ((v1Bytes[2] & 0xf0) >> 4), 0x60 | (v1Bytes[2] & 0x0f), v1Bytes[3], v1Bytes[8], v1Bytes[9], v1Bytes[10], v1Bytes[11], v1Bytes[12], v1Bytes[13], v1Bytes[14], v1Bytes[15]); 13 | } 14 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs-browser/v3.d.ts: -------------------------------------------------------------------------------- 1 | import { UUIDTypes } from './types.js'; 2 | export { DNS, URL } from './v35.js'; 3 | declare function v3(value: string | Uint8Array, namespace: UUIDTypes, buf?: undefined, offset?: number): string; 4 | declare function v3(value: string | Uint8Array, namespace: UUIDTypes, buf: TBuf, offset?: number): TBuf; 5 | declare namespace v3 { 6 | var DNS: string; 7 | var URL: string; 8 | } 9 | export default v3; 10 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs-browser/v3.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | exports.URL = exports.DNS = void 0; 4 | const md5_js_1 = require("./md5.js"); 5 | const v35_js_1 = require("./v35.js"); 6 | var v35_js_2 = require("./v35.js"); 7 | Object.defineProperty(exports, "DNS", { enumerable: true, get: function () { return v35_js_2.DNS; } }); 8 | Object.defineProperty(exports, "URL", { enumerable: true, get: function () { return v35_js_2.URL; } }); 9 | function v3(value, namespace, buf, offset) { 10 | return (0, v35_js_1.default)(0x30, md5_js_1.default, value, namespace, buf, offset); 11 | } 12 | v3.DNS = v35_js_1.DNS; 13 | v3.URL = v35_js_1.URL; 14 | exports.default = v3; 15 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs-browser/v35.d.ts: -------------------------------------------------------------------------------- 1 | import { UUIDTypes } from './types.js'; 2 | export declare function stringToBytes(str: string): Uint8Array; 3 | export declare const DNS = "6ba7b810-9dad-11d1-80b4-00c04fd430c8"; 4 | export declare const URL = "6ba7b811-9dad-11d1-80b4-00c04fd430c8"; 5 | type HashFunction = (bytes: Uint8Array) => Uint8Array; 6 | export default function v35(version: 0x30 | 0x50, hash: HashFunction, value: string | Uint8Array, namespace: UUIDTypes, buf?: TBuf, offset?: number): UUIDTypes; 7 | export {}; 8 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs-browser/v35.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | exports.URL = exports.DNS = exports.stringToBytes = void 0; 4 | const parse_js_1 = require("./parse.js"); 5 | const stringify_js_1 = require("./stringify.js"); 6 | function stringToBytes(str) { 7 | str = unescape(encodeURIComponent(str)); 8 | const bytes = new Uint8Array(str.length); 9 | for (let i = 0; i < str.length; ++i) { 10 | bytes[i] = str.charCodeAt(i); 11 | } 12 | return bytes; 13 | } 14 | exports.stringToBytes = stringToBytes; 15 | exports.DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8'; 16 | exports.URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8'; 17 | function v35(version, hash, value, namespace, buf, offset) { 18 | const valueBytes = typeof value === 'string' ? stringToBytes(value) : value; 19 | const namespaceBytes = typeof namespace === 'string' ? (0, parse_js_1.default)(namespace) : namespace; 20 | if (typeof namespace === 'string') { 21 | namespace = (0, parse_js_1.default)(namespace); 22 | } 23 | if (namespace?.length !== 16) { 24 | throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)'); 25 | } 26 | let bytes = new Uint8Array(16 + valueBytes.length); 27 | bytes.set(namespaceBytes); 28 | bytes.set(valueBytes, namespaceBytes.length); 29 | bytes = hash(bytes); 30 | bytes[6] = (bytes[6] & 0x0f) | version; 31 | bytes[8] = (bytes[8] & 0x3f) | 0x80; 32 | if (buf) { 33 | offset = offset || 0; 34 | for (let i = 0; i < 16; ++i) { 35 | buf[offset + i] = bytes[i]; 36 | } 37 | return buf; 38 | } 39 | return (0, stringify_js_1.unsafeStringify)(bytes); 40 | } 41 | exports.default = v35; 42 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs-browser/v4.d.ts: -------------------------------------------------------------------------------- 1 | import { Version4Options } from './types.js'; 2 | declare function v4(options?: Version4Options, buf?: undefined, offset?: number): string; 3 | declare function v4(options: Version4Options | undefined, buf: TBuf, offset?: number): TBuf; 4 | export default v4; 5 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs-browser/v4.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | const native_js_1 = require("./native.js"); 4 | const rng_js_1 = require("./rng.js"); 5 | const stringify_js_1 = require("./stringify.js"); 6 | function v4(options, buf, offset) { 7 | if (native_js_1.default.randomUUID && !buf && !options) { 8 | return native_js_1.default.randomUUID(); 9 | } 10 | options = options || {}; 11 | const rnds = options.random ?? options.rng?.() ?? (0, rng_js_1.default)(); 12 | if (rnds.length < 16) { 13 | throw new Error('Random bytes length must be >= 16'); 14 | } 15 | rnds[6] = (rnds[6] & 0x0f) | 0x40; 16 | rnds[8] = (rnds[8] & 0x3f) | 0x80; 17 | if (buf) { 18 | offset = offset || 0; 19 | if (offset < 0 || offset + 16 > buf.length) { 20 | throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`); 21 | } 22 | for (let i = 0; i < 16; ++i) { 23 | buf[offset + i] = rnds[i]; 24 | } 25 | return buf; 26 | } 27 | return (0, stringify_js_1.unsafeStringify)(rnds); 28 | } 29 | exports.default = v4; 30 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs-browser/v5.d.ts: -------------------------------------------------------------------------------- 1 | import { UUIDTypes } from './types.js'; 2 | export { DNS, URL } from './v35.js'; 3 | declare function v5(value: string | Uint8Array, namespace: UUIDTypes, buf?: undefined, offset?: number): string; 4 | declare function v5(value: string | Uint8Array, namespace: UUIDTypes, buf: TBuf, offset?: number): TBuf; 5 | declare namespace v5 { 6 | var DNS: string; 7 | var URL: string; 8 | } 9 | export default v5; 10 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs-browser/v5.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | exports.URL = exports.DNS = void 0; 4 | const sha1_js_1 = require("./sha1.js"); 5 | const v35_js_1 = require("./v35.js"); 6 | var v35_js_2 = require("./v35.js"); 7 | Object.defineProperty(exports, "DNS", { enumerable: true, get: function () { return v35_js_2.DNS; } }); 8 | Object.defineProperty(exports, "URL", { enumerable: true, get: function () { return v35_js_2.URL; } }); 9 | function v5(value, namespace, buf, offset) { 10 | return (0, v35_js_1.default)(0x50, sha1_js_1.default, value, namespace, buf, offset); 11 | } 12 | v5.DNS = v35_js_1.DNS; 13 | v5.URL = v35_js_1.URL; 14 | exports.default = v5; 15 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs-browser/v6.d.ts: -------------------------------------------------------------------------------- 1 | import { Version6Options } from './types.js'; 2 | declare function v6(options?: Version6Options, buf?: undefined, offset?: number): string; 3 | declare function v6(options: Version6Options | undefined, buf: TBuf, offset?: number): TBuf; 4 | export default v6; 5 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs-browser/v6.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | const stringify_js_1 = require("./stringify.js"); 4 | const v1_js_1 = require("./v1.js"); 5 | const v1ToV6_js_1 = require("./v1ToV6.js"); 6 | function v6(options, buf, offset) { 7 | options ??= {}; 8 | offset ??= 0; 9 | let bytes = (0, v1_js_1.default)({ ...options, _v6: true }, new Uint8Array(16)); 10 | bytes = (0, v1ToV6_js_1.default)(bytes); 11 | if (buf) { 12 | for (let i = 0; i < 16; i++) { 13 | buf[offset + i] = bytes[i]; 14 | } 15 | return buf; 16 | } 17 | return (0, stringify_js_1.unsafeStringify)(bytes); 18 | } 19 | exports.default = v6; 20 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs-browser/v6ToV1.d.ts: -------------------------------------------------------------------------------- 1 | export default function v6ToV1(uuid: string): string; 2 | export default function v6ToV1(uuid: Uint8Array): Uint8Array; 3 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs-browser/v6ToV1.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | const parse_js_1 = require("./parse.js"); 4 | const stringify_js_1 = require("./stringify.js"); 5 | function v6ToV1(uuid) { 6 | const v6Bytes = typeof uuid === 'string' ? (0, parse_js_1.default)(uuid) : uuid; 7 | const v1Bytes = _v6ToV1(v6Bytes); 8 | return typeof uuid === 'string' ? (0, stringify_js_1.unsafeStringify)(v1Bytes) : v1Bytes; 9 | } 10 | exports.default = v6ToV1; 11 | function _v6ToV1(v6Bytes) { 12 | 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]); 13 | } 14 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs-browser/v7.d.ts: -------------------------------------------------------------------------------- 1 | import { Version7Options } from './types.js'; 2 | type V7State = { 3 | msecs?: number; 4 | seq?: number; 5 | }; 6 | declare function v7(options?: Version7Options, buf?: undefined, offset?: number): string; 7 | declare function v7(options: Version7Options | undefined, buf: TBuf, offset?: number): TBuf; 8 | export declare function updateV7State(state: V7State, now: number, rnds: Uint8Array): V7State; 9 | export default v7; 10 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs-browser/v7.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | exports.updateV7State = void 0; 4 | const rng_js_1 = require("./rng.js"); 5 | const stringify_js_1 = require("./stringify.js"); 6 | const _state = {}; 7 | function v7(options, buf, offset) { 8 | let bytes; 9 | if (options) { 10 | bytes = v7Bytes(options.random ?? options.rng?.() ?? (0, rng_js_1.default)(), options.msecs, options.seq, buf, offset); 11 | } 12 | else { 13 | const now = Date.now(); 14 | const rnds = (0, rng_js_1.default)(); 15 | updateV7State(_state, now, rnds); 16 | bytes = v7Bytes(rnds, _state.msecs, _state.seq, buf, offset); 17 | } 18 | return buf ?? (0, stringify_js_1.unsafeStringify)(bytes); 19 | } 20 | function updateV7State(state, now, rnds) { 21 | state.msecs ??= -Infinity; 22 | state.seq ??= 0; 23 | if (now > state.msecs) { 24 | state.seq = (rnds[6] << 23) | (rnds[7] << 16) | (rnds[8] << 8) | rnds[9]; 25 | state.msecs = now; 26 | } 27 | else { 28 | state.seq = (state.seq + 1) | 0; 29 | if (state.seq === 0) { 30 | state.msecs++; 31 | } 32 | } 33 | return state; 34 | } 35 | exports.updateV7State = updateV7State; 36 | function v7Bytes(rnds, msecs, seq, buf, offset = 0) { 37 | if (rnds.length < 16) { 38 | throw new Error('Random bytes length must be >= 16'); 39 | } 40 | if (!buf) { 41 | buf = new Uint8Array(16); 42 | offset = 0; 43 | } 44 | else { 45 | if (offset < 0 || offset + 16 > buf.length) { 46 | throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`); 47 | } 48 | } 49 | msecs ??= Date.now(); 50 | seq ??= ((rnds[6] * 0x7f) << 24) | (rnds[7] << 16) | (rnds[8] << 8) | rnds[9]; 51 | buf[offset++] = (msecs / 0x10000000000) & 0xff; 52 | buf[offset++] = (msecs / 0x100000000) & 0xff; 53 | buf[offset++] = (msecs / 0x1000000) & 0xff; 54 | buf[offset++] = (msecs / 0x10000) & 0xff; 55 | buf[offset++] = (msecs / 0x100) & 0xff; 56 | buf[offset++] = msecs & 0xff; 57 | buf[offset++] = 0x70 | ((seq >>> 28) & 0x0f); 58 | buf[offset++] = (seq >>> 20) & 0xff; 59 | buf[offset++] = 0x80 | ((seq >>> 14) & 0x3f); 60 | buf[offset++] = (seq >>> 6) & 0xff; 61 | buf[offset++] = ((seq << 2) & 0xff) | (rnds[10] & 0x03); 62 | buf[offset++] = rnds[11]; 63 | buf[offset++] = rnds[12]; 64 | buf[offset++] = rnds[13]; 65 | buf[offset++] = rnds[14]; 66 | buf[offset++] = rnds[15]; 67 | return buf; 68 | } 69 | exports.default = v7; 70 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs-browser/validate.d.ts: -------------------------------------------------------------------------------- 1 | declare function validate(uuid: unknown): boolean; 2 | export default validate; 3 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs-browser/validate.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | const regex_js_1 = require("./regex.js"); 4 | function validate(uuid) { 5 | return typeof uuid === 'string' && regex_js_1.default.test(uuid); 6 | } 7 | exports.default = validate; 8 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs-browser/version.d.ts: -------------------------------------------------------------------------------- 1 | declare function version(uuid: string): number; 2 | export default version; 3 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs-browser/version.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | const validate_js_1 = require("./validate.js"); 4 | function version(uuid) { 5 | if (!(0, validate_js_1.default)(uuid)) { 6 | throw TypeError('Invalid UUID'); 7 | } 8 | return parseInt(uuid.slice(14, 15), 16); 9 | } 10 | exports.default = version; 11 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs/index.d.ts: -------------------------------------------------------------------------------- 1 | export type * from './types.js'; 2 | export { default as MAX } from './max.js'; 3 | export { default as NIL } from './nil.js'; 4 | export { default as parse } from './parse.js'; 5 | export { default as stringify } from './stringify.js'; 6 | export { default as v1 } from './v1.js'; 7 | export { default as v1ToV6 } from './v1ToV6.js'; 8 | export { default as v3 } from './v3.js'; 9 | export { default as v4 } from './v4.js'; 10 | export { default as v5 } from './v5.js'; 11 | export { default as v6 } from './v6.js'; 12 | export { default as v6ToV1 } from './v6ToV1.js'; 13 | export { default as v7 } from './v7.js'; 14 | export { default as validate } from './validate.js'; 15 | export { default as version } from './version.js'; 16 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs/index.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | exports.version = exports.validate = exports.v7 = exports.v6ToV1 = exports.v6 = exports.v5 = exports.v4 = exports.v3 = exports.v1ToV6 = exports.v1 = exports.stringify = exports.parse = exports.NIL = exports.MAX = void 0; 4 | var max_js_1 = require("./max.js"); 5 | Object.defineProperty(exports, "MAX", { enumerable: true, get: function () { return max_js_1.default; } }); 6 | var nil_js_1 = require("./nil.js"); 7 | Object.defineProperty(exports, "NIL", { enumerable: true, get: function () { return nil_js_1.default; } }); 8 | var parse_js_1 = require("./parse.js"); 9 | Object.defineProperty(exports, "parse", { enumerable: true, get: function () { return parse_js_1.default; } }); 10 | var stringify_js_1 = require("./stringify.js"); 11 | Object.defineProperty(exports, "stringify", { enumerable: true, get: function () { return stringify_js_1.default; } }); 12 | var v1_js_1 = require("./v1.js"); 13 | Object.defineProperty(exports, "v1", { enumerable: true, get: function () { return v1_js_1.default; } }); 14 | var v1ToV6_js_1 = require("./v1ToV6.js"); 15 | Object.defineProperty(exports, "v1ToV6", { enumerable: true, get: function () { return v1ToV6_js_1.default; } }); 16 | var v3_js_1 = require("./v3.js"); 17 | Object.defineProperty(exports, "v3", { enumerable: true, get: function () { return v3_js_1.default; } }); 18 | var v4_js_1 = require("./v4.js"); 19 | Object.defineProperty(exports, "v4", { enumerable: true, get: function () { return v4_js_1.default; } }); 20 | var v5_js_1 = require("./v5.js"); 21 | Object.defineProperty(exports, "v5", { enumerable: true, get: function () { return v5_js_1.default; } }); 22 | var v6_js_1 = require("./v6.js"); 23 | Object.defineProperty(exports, "v6", { enumerable: true, get: function () { return v6_js_1.default; } }); 24 | var v6ToV1_js_1 = require("./v6ToV1.js"); 25 | Object.defineProperty(exports, "v6ToV1", { enumerable: true, get: function () { return v6ToV1_js_1.default; } }); 26 | var v7_js_1 = require("./v7.js"); 27 | Object.defineProperty(exports, "v7", { enumerable: true, get: function () { return v7_js_1.default; } }); 28 | var validate_js_1 = require("./validate.js"); 29 | Object.defineProperty(exports, "validate", { enumerable: true, get: function () { return validate_js_1.default; } }); 30 | var version_js_1 = require("./version.js"); 31 | Object.defineProperty(exports, "version", { enumerable: true, get: function () { return version_js_1.default; } }); 32 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs/max.d.ts: -------------------------------------------------------------------------------- 1 | declare const _default: "ffffffff-ffff-ffff-ffff-ffffffffffff"; 2 | export default _default; 3 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs/max.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | exports.default = 'ffffffff-ffff-ffff-ffff-ffffffffffff'; 4 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs/md5.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | declare function md5(bytes: Uint8Array): Buffer; 4 | export default md5; 5 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs/md5.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | const crypto_1 = require("crypto"); 4 | function md5(bytes) { 5 | if (Array.isArray(bytes)) { 6 | bytes = Buffer.from(bytes); 7 | } 8 | else if (typeof bytes === 'string') { 9 | bytes = Buffer.from(bytes, 'utf8'); 10 | } 11 | return (0, crypto_1.createHash)('md5').update(bytes).digest(); 12 | } 13 | exports.default = md5; 14 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs/native.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | import { randomUUID } from 'crypto'; 3 | declare const _default: { 4 | randomUUID: typeof randomUUID; 5 | }; 6 | export default _default; 7 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs/native.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | const crypto_1 = require("crypto"); 4 | exports.default = { randomUUID: crypto_1.randomUUID }; 5 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs/nil.d.ts: -------------------------------------------------------------------------------- 1 | declare const _default: "00000000-0000-0000-0000-000000000000"; 2 | export default _default; 3 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs/nil.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | exports.default = '00000000-0000-0000-0000-000000000000'; 4 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs/package.json: -------------------------------------------------------------------------------- 1 | {"type":"commonjs"} 2 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs/parse.d.ts: -------------------------------------------------------------------------------- 1 | declare function parse(uuid: string): Uint8Array; 2 | export default parse; 3 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs/parse.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | const validate_js_1 = require("./validate.js"); 4 | function parse(uuid) { 5 | if (!(0, validate_js_1.default)(uuid)) { 6 | throw TypeError('Invalid UUID'); 7 | } 8 | let v; 9 | 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); 10 | } 11 | exports.default = parse; 12 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs/regex.d.ts: -------------------------------------------------------------------------------- 1 | declare const _default: RegExp; 2 | export default _default; 3 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs/regex.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | 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; 4 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs/rng.d.ts: -------------------------------------------------------------------------------- 1 | export default function rng(): Uint8Array; 2 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs/rng.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | const crypto_1 = require("crypto"); 4 | const rnds8Pool = new Uint8Array(256); 5 | let poolPtr = rnds8Pool.length; 6 | function rng() { 7 | if (poolPtr > rnds8Pool.length - 16) { 8 | (0, crypto_1.randomFillSync)(rnds8Pool); 9 | poolPtr = 0; 10 | } 11 | return rnds8Pool.slice(poolPtr, (poolPtr += 16)); 12 | } 13 | exports.default = rng; 14 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs/sha1.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | declare function sha1(bytes: Uint8Array): Buffer; 4 | export default sha1; 5 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs/sha1.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | const crypto_1 = require("crypto"); 4 | function sha1(bytes) { 5 | if (Array.isArray(bytes)) { 6 | bytes = Buffer.from(bytes); 7 | } 8 | else if (typeof bytes === 'string') { 9 | bytes = Buffer.from(bytes, 'utf8'); 10 | } 11 | return (0, crypto_1.createHash)('sha1').update(bytes).digest(); 12 | } 13 | exports.default = sha1; 14 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs/stringify.d.ts: -------------------------------------------------------------------------------- 1 | export declare function unsafeStringify(arr: Uint8Array, offset?: number): string; 2 | declare function stringify(arr: Uint8Array, offset?: number): string; 3 | export default stringify; 4 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs/stringify.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | exports.unsafeStringify = void 0; 4 | const validate_js_1 = require("./validate.js"); 5 | const byteToHex = []; 6 | for (let i = 0; i < 256; ++i) { 7 | byteToHex.push((i + 0x100).toString(16).slice(1)); 8 | } 9 | function unsafeStringify(arr, offset = 0) { 10 | return (byteToHex[arr[offset + 0]] + 11 | byteToHex[arr[offset + 1]] + 12 | byteToHex[arr[offset + 2]] + 13 | byteToHex[arr[offset + 3]] + 14 | '-' + 15 | byteToHex[arr[offset + 4]] + 16 | byteToHex[arr[offset + 5]] + 17 | '-' + 18 | byteToHex[arr[offset + 6]] + 19 | byteToHex[arr[offset + 7]] + 20 | '-' + 21 | byteToHex[arr[offset + 8]] + 22 | byteToHex[arr[offset + 9]] + 23 | '-' + 24 | byteToHex[arr[offset + 10]] + 25 | byteToHex[arr[offset + 11]] + 26 | byteToHex[arr[offset + 12]] + 27 | byteToHex[arr[offset + 13]] + 28 | byteToHex[arr[offset + 14]] + 29 | byteToHex[arr[offset + 15]]).toLowerCase(); 30 | } 31 | exports.unsafeStringify = unsafeStringify; 32 | function stringify(arr, offset = 0) { 33 | const uuid = unsafeStringify(arr, offset); 34 | if (!(0, validate_js_1.default)(uuid)) { 35 | throw TypeError('Stringified UUID is invalid'); 36 | } 37 | return uuid; 38 | } 39 | exports.default = stringify; 40 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs/types.d.ts: -------------------------------------------------------------------------------- 1 | export type UUIDTypes = string | TBuf; 2 | export type Version1Options = { 3 | node?: Uint8Array; 4 | clockseq?: number; 5 | random?: Uint8Array; 6 | rng?: () => Uint8Array; 7 | msecs?: number; 8 | nsecs?: number; 9 | _v6?: boolean; 10 | }; 11 | export type Version4Options = { 12 | random?: Uint8Array; 13 | rng?: () => Uint8Array; 14 | }; 15 | export type Version6Options = Version1Options; 16 | export type Version7Options = { 17 | random?: Uint8Array; 18 | msecs?: number; 19 | seq?: number; 20 | rng?: () => Uint8Array; 21 | }; 22 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs/types.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs/uuid-bin.d.ts: -------------------------------------------------------------------------------- 1 | export {}; 2 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs/uuid-bin.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | const assert = require("assert"); 4 | const v1_js_1 = require("./v1.js"); 5 | const v3_js_1 = require("./v3.js"); 6 | const v4_js_1 = require("./v4.js"); 7 | const v5_js_1 = require("./v5.js"); 8 | const v6_js_1 = require("./v6.js"); 9 | const v7_js_1 = require("./v7.js"); 10 | function usage() { 11 | console.log('Usage:'); 12 | console.log(' uuid'); 13 | console.log(' uuid v1'); 14 | console.log(' uuid v3 '); 15 | console.log(' uuid v4'); 16 | console.log(' uuid v5 '); 17 | console.log(' uuid v6'); 18 | console.log(' uuid v7'); 19 | console.log(' uuid --help'); 20 | console.log('\nNote: may be "URL" or "DNS" to use the corresponding UUIDs defined by RFC9562'); 21 | } 22 | const args = process.argv.slice(2); 23 | if (args.indexOf('--help') >= 0) { 24 | usage(); 25 | process.exit(0); 26 | } 27 | const version = args.shift() || 'v4'; 28 | switch (version) { 29 | case 'v1': 30 | console.log((0, v1_js_1.default)()); 31 | break; 32 | case 'v3': { 33 | const name = args.shift(); 34 | let namespace = args.shift(); 35 | assert.ok(name != null, 'v3 name not specified'); 36 | assert.ok(namespace != null, 'v3 namespace not specified'); 37 | if (namespace === 'URL') { 38 | namespace = v3_js_1.default.URL; 39 | } 40 | if (namespace === 'DNS') { 41 | namespace = v3_js_1.default.DNS; 42 | } 43 | console.log((0, v3_js_1.default)(name, namespace)); 44 | break; 45 | } 46 | case 'v4': 47 | console.log((0, v4_js_1.default)()); 48 | break; 49 | case 'v5': { 50 | const name = args.shift(); 51 | let namespace = args.shift(); 52 | assert.ok(name != null, 'v5 name not specified'); 53 | assert.ok(namespace != null, 'v5 namespace not specified'); 54 | if (namespace === 'URL') { 55 | namespace = v5_js_1.default.URL; 56 | } 57 | if (namespace === 'DNS') { 58 | namespace = v5_js_1.default.DNS; 59 | } 60 | console.log((0, v5_js_1.default)(name, namespace)); 61 | break; 62 | } 63 | case 'v6': 64 | console.log((0, v6_js_1.default)()); 65 | break; 66 | case 'v7': 67 | console.log((0, v7_js_1.default)()); 68 | break; 69 | default: 70 | usage(); 71 | process.exit(1); 72 | } 73 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs/v1.d.ts: -------------------------------------------------------------------------------- 1 | import { Version1Options } from './types.js'; 2 | type V1State = { 3 | node?: Uint8Array; 4 | clockseq?: number; 5 | msecs?: number; 6 | nsecs?: number; 7 | }; 8 | declare function v1(options?: Version1Options, buf?: undefined, offset?: number): string; 9 | declare function v1(options: Version1Options | undefined, buf: Buf, offset?: number): Buf; 10 | export declare function updateV1State(state: V1State, now: number, rnds: Uint8Array): V1State; 11 | export default v1; 12 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs/v1.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | exports.updateV1State = void 0; 4 | const rng_js_1 = require("./rng.js"); 5 | const stringify_js_1 = require("./stringify.js"); 6 | const _state = {}; 7 | function v1(options, buf, offset) { 8 | let bytes; 9 | const isV6 = options?._v6 ?? false; 10 | if (options) { 11 | const optionsKeys = Object.keys(options); 12 | if (optionsKeys.length === 1 && optionsKeys[0] === '_v6') { 13 | options = undefined; 14 | } 15 | } 16 | if (options) { 17 | bytes = v1Bytes(options.random ?? options.rng?.() ?? (0, rng_js_1.default)(), options.msecs, options.nsecs, options.clockseq, options.node, buf, offset); 18 | } 19 | else { 20 | const now = Date.now(); 21 | const rnds = (0, rng_js_1.default)(); 22 | updateV1State(_state, now, rnds); 23 | bytes = v1Bytes(rnds, _state.msecs, _state.nsecs, isV6 ? undefined : _state.clockseq, isV6 ? undefined : _state.node, buf, offset); 24 | } 25 | return buf ?? (0, stringify_js_1.unsafeStringify)(bytes); 26 | } 27 | function updateV1State(state, now, rnds) { 28 | state.msecs ??= -Infinity; 29 | state.nsecs ??= 0; 30 | if (now === state.msecs) { 31 | state.nsecs++; 32 | if (state.nsecs >= 10000) { 33 | state.node = undefined; 34 | state.nsecs = 0; 35 | } 36 | } 37 | else if (now > state.msecs) { 38 | state.nsecs = 0; 39 | } 40 | else if (now < state.msecs) { 41 | state.node = undefined; 42 | } 43 | if (!state.node) { 44 | state.node = rnds.slice(10, 16); 45 | state.node[0] |= 0x01; 46 | state.clockseq = ((rnds[8] << 8) | rnds[9]) & 0x3fff; 47 | } 48 | state.msecs = now; 49 | return state; 50 | } 51 | exports.updateV1State = updateV1State; 52 | function v1Bytes(rnds, msecs, nsecs, clockseq, node, buf, offset = 0) { 53 | if (rnds.length < 16) { 54 | throw new Error('Random bytes length must be >= 16'); 55 | } 56 | if (!buf) { 57 | buf = new Uint8Array(16); 58 | offset = 0; 59 | } 60 | else { 61 | if (offset < 0 || offset + 16 > buf.length) { 62 | throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`); 63 | } 64 | } 65 | msecs ??= Date.now(); 66 | nsecs ??= 0; 67 | clockseq ??= ((rnds[8] << 8) | rnds[9]) & 0x3fff; 68 | node ??= rnds.slice(10, 16); 69 | msecs += 12219292800000; 70 | const tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000; 71 | buf[offset++] = (tl >>> 24) & 0xff; 72 | buf[offset++] = (tl >>> 16) & 0xff; 73 | buf[offset++] = (tl >>> 8) & 0xff; 74 | buf[offset++] = tl & 0xff; 75 | const tmh = ((msecs / 0x100000000) * 10000) & 0xfffffff; 76 | buf[offset++] = (tmh >>> 8) & 0xff; 77 | buf[offset++] = tmh & 0xff; 78 | buf[offset++] = ((tmh >>> 24) & 0xf) | 0x10; 79 | buf[offset++] = (tmh >>> 16) & 0xff; 80 | buf[offset++] = (clockseq >>> 8) | 0x80; 81 | buf[offset++] = clockseq & 0xff; 82 | for (let n = 0; n < 6; ++n) { 83 | buf[offset++] = node[n]; 84 | } 85 | return buf; 86 | } 87 | exports.default = v1; 88 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs/v1ToV6.d.ts: -------------------------------------------------------------------------------- 1 | export default function v1ToV6(uuid: string): string; 2 | export default function v1ToV6(uuid: Uint8Array): Uint8Array; 3 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs/v1ToV6.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | const parse_js_1 = require("./parse.js"); 4 | const stringify_js_1 = require("./stringify.js"); 5 | function v1ToV6(uuid) { 6 | const v1Bytes = typeof uuid === 'string' ? (0, parse_js_1.default)(uuid) : uuid; 7 | const v6Bytes = _v1ToV6(v1Bytes); 8 | return typeof uuid === 'string' ? (0, stringify_js_1.unsafeStringify)(v6Bytes) : v6Bytes; 9 | } 10 | exports.default = v1ToV6; 11 | function _v1ToV6(v1Bytes) { 12 | return Uint8Array.of(((v1Bytes[6] & 0x0f) << 4) | ((v1Bytes[7] >> 4) & 0x0f), ((v1Bytes[7] & 0x0f) << 4) | ((v1Bytes[4] & 0xf0) >> 4), ((v1Bytes[4] & 0x0f) << 4) | ((v1Bytes[5] & 0xf0) >> 4), ((v1Bytes[5] & 0x0f) << 4) | ((v1Bytes[0] & 0xf0) >> 4), ((v1Bytes[0] & 0x0f) << 4) | ((v1Bytes[1] & 0xf0) >> 4), ((v1Bytes[1] & 0x0f) << 4) | ((v1Bytes[2] & 0xf0) >> 4), 0x60 | (v1Bytes[2] & 0x0f), v1Bytes[3], v1Bytes[8], v1Bytes[9], v1Bytes[10], v1Bytes[11], v1Bytes[12], v1Bytes[13], v1Bytes[14], v1Bytes[15]); 13 | } 14 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs/v3.d.ts: -------------------------------------------------------------------------------- 1 | import { UUIDTypes } from './types.js'; 2 | export { DNS, URL } from './v35.js'; 3 | declare function v3(value: string | Uint8Array, namespace: UUIDTypes, buf?: undefined, offset?: number): string; 4 | declare function v3(value: string | Uint8Array, namespace: UUIDTypes, buf: TBuf, offset?: number): TBuf; 5 | declare namespace v3 { 6 | var DNS: string; 7 | var URL: string; 8 | } 9 | export default v3; 10 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs/v3.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | exports.URL = exports.DNS = void 0; 4 | const md5_js_1 = require("./md5.js"); 5 | const v35_js_1 = require("./v35.js"); 6 | var v35_js_2 = require("./v35.js"); 7 | Object.defineProperty(exports, "DNS", { enumerable: true, get: function () { return v35_js_2.DNS; } }); 8 | Object.defineProperty(exports, "URL", { enumerable: true, get: function () { return v35_js_2.URL; } }); 9 | function v3(value, namespace, buf, offset) { 10 | return (0, v35_js_1.default)(0x30, md5_js_1.default, value, namespace, buf, offset); 11 | } 12 | v3.DNS = v35_js_1.DNS; 13 | v3.URL = v35_js_1.URL; 14 | exports.default = v3; 15 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs/v35.d.ts: -------------------------------------------------------------------------------- 1 | import { UUIDTypes } from './types.js'; 2 | export declare function stringToBytes(str: string): Uint8Array; 3 | export declare const DNS = "6ba7b810-9dad-11d1-80b4-00c04fd430c8"; 4 | export declare const URL = "6ba7b811-9dad-11d1-80b4-00c04fd430c8"; 5 | type HashFunction = (bytes: Uint8Array) => Uint8Array; 6 | export default function v35(version: 0x30 | 0x50, hash: HashFunction, value: string | Uint8Array, namespace: UUIDTypes, buf?: TBuf, offset?: number): UUIDTypes; 7 | export {}; 8 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs/v35.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | exports.URL = exports.DNS = exports.stringToBytes = void 0; 4 | const parse_js_1 = require("./parse.js"); 5 | const stringify_js_1 = require("./stringify.js"); 6 | function stringToBytes(str) { 7 | str = unescape(encodeURIComponent(str)); 8 | const bytes = new Uint8Array(str.length); 9 | for (let i = 0; i < str.length; ++i) { 10 | bytes[i] = str.charCodeAt(i); 11 | } 12 | return bytes; 13 | } 14 | exports.stringToBytes = stringToBytes; 15 | exports.DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8'; 16 | exports.URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8'; 17 | function v35(version, hash, value, namespace, buf, offset) { 18 | const valueBytes = typeof value === 'string' ? stringToBytes(value) : value; 19 | const namespaceBytes = typeof namespace === 'string' ? (0, parse_js_1.default)(namespace) : namespace; 20 | if (typeof namespace === 'string') { 21 | namespace = (0, parse_js_1.default)(namespace); 22 | } 23 | if (namespace?.length !== 16) { 24 | throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)'); 25 | } 26 | let bytes = new Uint8Array(16 + valueBytes.length); 27 | bytes.set(namespaceBytes); 28 | bytes.set(valueBytes, namespaceBytes.length); 29 | bytes = hash(bytes); 30 | bytes[6] = (bytes[6] & 0x0f) | version; 31 | bytes[8] = (bytes[8] & 0x3f) | 0x80; 32 | if (buf) { 33 | offset = offset || 0; 34 | for (let i = 0; i < 16; ++i) { 35 | buf[offset + i] = bytes[i]; 36 | } 37 | return buf; 38 | } 39 | return (0, stringify_js_1.unsafeStringify)(bytes); 40 | } 41 | exports.default = v35; 42 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs/v4.d.ts: -------------------------------------------------------------------------------- 1 | import { Version4Options } from './types.js'; 2 | declare function v4(options?: Version4Options, buf?: undefined, offset?: number): string; 3 | declare function v4(options: Version4Options | undefined, buf: TBuf, offset?: number): TBuf; 4 | export default v4; 5 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs/v4.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | const native_js_1 = require("./native.js"); 4 | const rng_js_1 = require("./rng.js"); 5 | const stringify_js_1 = require("./stringify.js"); 6 | function v4(options, buf, offset) { 7 | if (native_js_1.default.randomUUID && !buf && !options) { 8 | return native_js_1.default.randomUUID(); 9 | } 10 | options = options || {}; 11 | const rnds = options.random ?? options.rng?.() ?? (0, rng_js_1.default)(); 12 | if (rnds.length < 16) { 13 | throw new Error('Random bytes length must be >= 16'); 14 | } 15 | rnds[6] = (rnds[6] & 0x0f) | 0x40; 16 | rnds[8] = (rnds[8] & 0x3f) | 0x80; 17 | if (buf) { 18 | offset = offset || 0; 19 | if (offset < 0 || offset + 16 > buf.length) { 20 | throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`); 21 | } 22 | for (let i = 0; i < 16; ++i) { 23 | buf[offset + i] = rnds[i]; 24 | } 25 | return buf; 26 | } 27 | return (0, stringify_js_1.unsafeStringify)(rnds); 28 | } 29 | exports.default = v4; 30 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs/v5.d.ts: -------------------------------------------------------------------------------- 1 | import { UUIDTypes } from './types.js'; 2 | export { DNS, URL } from './v35.js'; 3 | declare function v5(value: string | Uint8Array, namespace: UUIDTypes, buf?: undefined, offset?: number): string; 4 | declare function v5(value: string | Uint8Array, namespace: UUIDTypes, buf: TBuf, offset?: number): TBuf; 5 | declare namespace v5 { 6 | var DNS: string; 7 | var URL: string; 8 | } 9 | export default v5; 10 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs/v5.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | exports.URL = exports.DNS = void 0; 4 | const sha1_js_1 = require("./sha1.js"); 5 | const v35_js_1 = require("./v35.js"); 6 | var v35_js_2 = require("./v35.js"); 7 | Object.defineProperty(exports, "DNS", { enumerable: true, get: function () { return v35_js_2.DNS; } }); 8 | Object.defineProperty(exports, "URL", { enumerable: true, get: function () { return v35_js_2.URL; } }); 9 | function v5(value, namespace, buf, offset) { 10 | return (0, v35_js_1.default)(0x50, sha1_js_1.default, value, namespace, buf, offset); 11 | } 12 | v5.DNS = v35_js_1.DNS; 13 | v5.URL = v35_js_1.URL; 14 | exports.default = v5; 15 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs/v6.d.ts: -------------------------------------------------------------------------------- 1 | import { Version6Options } from './types.js'; 2 | declare function v6(options?: Version6Options, buf?: undefined, offset?: number): string; 3 | declare function v6(options: Version6Options | undefined, buf: TBuf, offset?: number): TBuf; 4 | export default v6; 5 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs/v6.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | const stringify_js_1 = require("./stringify.js"); 4 | const v1_js_1 = require("./v1.js"); 5 | const v1ToV6_js_1 = require("./v1ToV6.js"); 6 | function v6(options, buf, offset) { 7 | options ??= {}; 8 | offset ??= 0; 9 | let bytes = (0, v1_js_1.default)({ ...options, _v6: true }, new Uint8Array(16)); 10 | bytes = (0, v1ToV6_js_1.default)(bytes); 11 | if (buf) { 12 | for (let i = 0; i < 16; i++) { 13 | buf[offset + i] = bytes[i]; 14 | } 15 | return buf; 16 | } 17 | return (0, stringify_js_1.unsafeStringify)(bytes); 18 | } 19 | exports.default = v6; 20 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs/v6ToV1.d.ts: -------------------------------------------------------------------------------- 1 | export default function v6ToV1(uuid: string): string; 2 | export default function v6ToV1(uuid: Uint8Array): Uint8Array; 3 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs/v6ToV1.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | const parse_js_1 = require("./parse.js"); 4 | const stringify_js_1 = require("./stringify.js"); 5 | function v6ToV1(uuid) { 6 | const v6Bytes = typeof uuid === 'string' ? (0, parse_js_1.default)(uuid) : uuid; 7 | const v1Bytes = _v6ToV1(v6Bytes); 8 | return typeof uuid === 'string' ? (0, stringify_js_1.unsafeStringify)(v1Bytes) : v1Bytes; 9 | } 10 | exports.default = v6ToV1; 11 | function _v6ToV1(v6Bytes) { 12 | 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]); 13 | } 14 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs/v7.d.ts: -------------------------------------------------------------------------------- 1 | import { Version7Options } from './types.js'; 2 | type V7State = { 3 | msecs?: number; 4 | seq?: number; 5 | }; 6 | declare function v7(options?: Version7Options, buf?: undefined, offset?: number): string; 7 | declare function v7(options: Version7Options | undefined, buf: TBuf, offset?: number): TBuf; 8 | export declare function updateV7State(state: V7State, now: number, rnds: Uint8Array): V7State; 9 | export default v7; 10 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs/v7.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | exports.updateV7State = void 0; 4 | const rng_js_1 = require("./rng.js"); 5 | const stringify_js_1 = require("./stringify.js"); 6 | const _state = {}; 7 | function v7(options, buf, offset) { 8 | let bytes; 9 | if (options) { 10 | bytes = v7Bytes(options.random ?? options.rng?.() ?? (0, rng_js_1.default)(), options.msecs, options.seq, buf, offset); 11 | } 12 | else { 13 | const now = Date.now(); 14 | const rnds = (0, rng_js_1.default)(); 15 | updateV7State(_state, now, rnds); 16 | bytes = v7Bytes(rnds, _state.msecs, _state.seq, buf, offset); 17 | } 18 | return buf ?? (0, stringify_js_1.unsafeStringify)(bytes); 19 | } 20 | function updateV7State(state, now, rnds) { 21 | state.msecs ??= -Infinity; 22 | state.seq ??= 0; 23 | if (now > state.msecs) { 24 | state.seq = (rnds[6] << 23) | (rnds[7] << 16) | (rnds[8] << 8) | rnds[9]; 25 | state.msecs = now; 26 | } 27 | else { 28 | state.seq = (state.seq + 1) | 0; 29 | if (state.seq === 0) { 30 | state.msecs++; 31 | } 32 | } 33 | return state; 34 | } 35 | exports.updateV7State = updateV7State; 36 | function v7Bytes(rnds, msecs, seq, buf, offset = 0) { 37 | if (rnds.length < 16) { 38 | throw new Error('Random bytes length must be >= 16'); 39 | } 40 | if (!buf) { 41 | buf = new Uint8Array(16); 42 | offset = 0; 43 | } 44 | else { 45 | if (offset < 0 || offset + 16 > buf.length) { 46 | throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`); 47 | } 48 | } 49 | msecs ??= Date.now(); 50 | seq ??= ((rnds[6] * 0x7f) << 24) | (rnds[7] << 16) | (rnds[8] << 8) | rnds[9]; 51 | buf[offset++] = (msecs / 0x10000000000) & 0xff; 52 | buf[offset++] = (msecs / 0x100000000) & 0xff; 53 | buf[offset++] = (msecs / 0x1000000) & 0xff; 54 | buf[offset++] = (msecs / 0x10000) & 0xff; 55 | buf[offset++] = (msecs / 0x100) & 0xff; 56 | buf[offset++] = msecs & 0xff; 57 | buf[offset++] = 0x70 | ((seq >>> 28) & 0x0f); 58 | buf[offset++] = (seq >>> 20) & 0xff; 59 | buf[offset++] = 0x80 | ((seq >>> 14) & 0x3f); 60 | buf[offset++] = (seq >>> 6) & 0xff; 61 | buf[offset++] = ((seq << 2) & 0xff) | (rnds[10] & 0x03); 62 | buf[offset++] = rnds[11]; 63 | buf[offset++] = rnds[12]; 64 | buf[offset++] = rnds[13]; 65 | buf[offset++] = rnds[14]; 66 | buf[offset++] = rnds[15]; 67 | return buf; 68 | } 69 | exports.default = v7; 70 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs/validate.d.ts: -------------------------------------------------------------------------------- 1 | declare function validate(uuid: unknown): boolean; 2 | export default validate; 3 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs/validate.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | const regex_js_1 = require("./regex.js"); 4 | function validate(uuid) { 5 | return typeof uuid === 'string' && regex_js_1.default.test(uuid); 6 | } 7 | exports.default = validate; 8 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs/version.d.ts: -------------------------------------------------------------------------------- 1 | declare function version(uuid: string): number; 2 | export default version; 3 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/cjs/version.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | const validate_js_1 = require("./validate.js"); 4 | function version(uuid) { 5 | if (!(0, validate_js_1.default)(uuid)) { 6 | throw TypeError('Invalid UUID'); 7 | } 8 | return parseInt(uuid.slice(14, 15), 16); 9 | } 10 | exports.default = version; 11 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm-browser/index.d.ts: -------------------------------------------------------------------------------- 1 | export type * from './types.js'; 2 | export { default as MAX } from './max.js'; 3 | export { default as NIL } from './nil.js'; 4 | export { default as parse } from './parse.js'; 5 | export { default as stringify } from './stringify.js'; 6 | export { default as v1 } from './v1.js'; 7 | export { default as v1ToV6 } from './v1ToV6.js'; 8 | export { default as v3 } from './v3.js'; 9 | export { default as v4 } from './v4.js'; 10 | export { default as v5 } from './v5.js'; 11 | export { default as v6 } from './v6.js'; 12 | export { default as v6ToV1 } from './v6ToV1.js'; 13 | export { default as v7 } from './v7.js'; 14 | export { default as validate } from './validate.js'; 15 | export { default as version } from './version.js'; 16 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm-browser/index.js: -------------------------------------------------------------------------------- 1 | export { default as MAX } from './max.js'; 2 | export { default as NIL } from './nil.js'; 3 | export { default as parse } from './parse.js'; 4 | export { default as stringify } from './stringify.js'; 5 | export { default as v1 } from './v1.js'; 6 | export { default as v1ToV6 } from './v1ToV6.js'; 7 | export { default as v3 } from './v3.js'; 8 | export { default as v4 } from './v4.js'; 9 | export { default as v5 } from './v5.js'; 10 | export { default as v6 } from './v6.js'; 11 | export { default as v6ToV1 } from './v6ToV1.js'; 12 | export { default as v7 } from './v7.js'; 13 | export { default as validate } from './validate.js'; 14 | export { default as version } from './version.js'; 15 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm-browser/max.d.ts: -------------------------------------------------------------------------------- 1 | declare const _default: "ffffffff-ffff-ffff-ffff-ffffffffffff"; 2 | export default _default; 3 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm-browser/max.js: -------------------------------------------------------------------------------- 1 | export default 'ffffffff-ffff-ffff-ffff-ffffffffffff'; 2 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm-browser/md5.d.ts: -------------------------------------------------------------------------------- 1 | declare function md5(bytes: Uint8Array): Uint8Array; 2 | export default md5; 3 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm-browser/native.d.ts: -------------------------------------------------------------------------------- 1 | declare const _default: { 2 | randomUUID: false | (() => `${string}-${string}-${string}-${string}-${string}`); 3 | }; 4 | export default _default; 5 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm-browser/native.js: -------------------------------------------------------------------------------- 1 | const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto); 2 | export default { randomUUID }; 3 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm-browser/nil.d.ts: -------------------------------------------------------------------------------- 1 | declare const _default: "00000000-0000-0000-0000-000000000000"; 2 | export default _default; 3 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm-browser/nil.js: -------------------------------------------------------------------------------- 1 | export default '00000000-0000-0000-0000-000000000000'; 2 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm-browser/parse.d.ts: -------------------------------------------------------------------------------- 1 | declare function parse(uuid: string): Uint8Array; 2 | export default parse; 3 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm-browser/parse.js: -------------------------------------------------------------------------------- 1 | import validate from './validate.js'; 2 | function parse(uuid) { 3 | if (!validate(uuid)) { 4 | throw TypeError('Invalid UUID'); 5 | } 6 | let v; 7 | return Uint8Array.of((v = parseInt(uuid.slice(0, 8), 16)) >>> 24, (v >>> 16) & 0xff, (v >>> 8) & 0xff, v & 0xff, (v = parseInt(uuid.slice(9, 13), 16)) >>> 8, v & 0xff, (v = parseInt(uuid.slice(14, 18), 16)) >>> 8, v & 0xff, (v = parseInt(uuid.slice(19, 23), 16)) >>> 8, v & 0xff, ((v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000) & 0xff, (v / 0x100000000) & 0xff, (v >>> 24) & 0xff, (v >>> 16) & 0xff, (v >>> 8) & 0xff, v & 0xff); 8 | } 9 | export default parse; 10 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm-browser/regex.d.ts: -------------------------------------------------------------------------------- 1 | declare const _default: RegExp; 2 | export default _default; 3 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm-browser/regex.js: -------------------------------------------------------------------------------- 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; 2 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm-browser/rng.d.ts: -------------------------------------------------------------------------------- 1 | export default function rng(): Uint8Array; 2 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm-browser/rng.js: -------------------------------------------------------------------------------- 1 | let getRandomValues; 2 | const rnds8 = new Uint8Array(16); 3 | export default function rng() { 4 | if (!getRandomValues) { 5 | if (typeof crypto === 'undefined' || !crypto.getRandomValues) { 6 | throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported'); 7 | } 8 | getRandomValues = crypto.getRandomValues.bind(crypto); 9 | } 10 | return getRandomValues(rnds8); 11 | } 12 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm-browser/sha1.d.ts: -------------------------------------------------------------------------------- 1 | declare function sha1(bytes: Uint8Array): Uint8Array; 2 | export default sha1; 3 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm-browser/sha1.js: -------------------------------------------------------------------------------- 1 | function f(s, x, y, z) { 2 | switch (s) { 3 | case 0: 4 | return (x & y) ^ (~x & z); 5 | case 1: 6 | return x ^ y ^ z; 7 | case 2: 8 | return (x & y) ^ (x & z) ^ (y & z); 9 | case 3: 10 | return x ^ y ^ z; 11 | } 12 | } 13 | function ROTL(x, n) { 14 | return (x << n) | (x >>> (32 - n)); 15 | } 16 | function sha1(bytes) { 17 | const K = [0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xca62c1d6]; 18 | const H = [0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0]; 19 | const newBytes = new Uint8Array(bytes.length + 1); 20 | newBytes.set(bytes); 21 | newBytes[bytes.length] = 0x80; 22 | bytes = newBytes; 23 | const l = bytes.length / 4 + 2; 24 | const N = Math.ceil(l / 16); 25 | const M = new Array(N); 26 | for (let i = 0; i < N; ++i) { 27 | const arr = new Uint32Array(16); 28 | for (let j = 0; j < 16; ++j) { 29 | arr[j] = 30 | (bytes[i * 64 + j * 4] << 24) | 31 | (bytes[i * 64 + j * 4 + 1] << 16) | 32 | (bytes[i * 64 + j * 4 + 2] << 8) | 33 | bytes[i * 64 + j * 4 + 3]; 34 | } 35 | M[i] = arr; 36 | } 37 | M[N - 1][14] = ((bytes.length - 1) * 8) / Math.pow(2, 32); 38 | M[N - 1][14] = Math.floor(M[N - 1][14]); 39 | M[N - 1][15] = ((bytes.length - 1) * 8) & 0xffffffff; 40 | for (let i = 0; i < N; ++i) { 41 | const W = new Uint32Array(80); 42 | for (let t = 0; t < 16; ++t) { 43 | W[t] = M[i][t]; 44 | } 45 | for (let t = 16; t < 80; ++t) { 46 | W[t] = ROTL(W[t - 3] ^ W[t - 8] ^ W[t - 14] ^ W[t - 16], 1); 47 | } 48 | let a = H[0]; 49 | let b = H[1]; 50 | let c = H[2]; 51 | let d = H[3]; 52 | let e = H[4]; 53 | for (let t = 0; t < 80; ++t) { 54 | const s = Math.floor(t / 20); 55 | const T = (ROTL(a, 5) + f(s, b, c, d) + e + K[s] + W[t]) >>> 0; 56 | e = d; 57 | d = c; 58 | c = ROTL(b, 30) >>> 0; 59 | b = a; 60 | a = T; 61 | } 62 | H[0] = (H[0] + a) >>> 0; 63 | H[1] = (H[1] + b) >>> 0; 64 | H[2] = (H[2] + c) >>> 0; 65 | H[3] = (H[3] + d) >>> 0; 66 | H[4] = (H[4] + e) >>> 0; 67 | } 68 | return Uint8Array.of(H[0] >> 24, H[0] >> 16, H[0] >> 8, H[0], H[1] >> 24, H[1] >> 16, H[1] >> 8, H[1], H[2] >> 24, H[2] >> 16, H[2] >> 8, H[2], H[3] >> 24, H[3] >> 16, H[3] >> 8, H[3], H[4] >> 24, H[4] >> 16, H[4] >> 8, H[4]); 69 | } 70 | export default sha1; 71 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm-browser/stringify.d.ts: -------------------------------------------------------------------------------- 1 | export declare function unsafeStringify(arr: Uint8Array, offset?: number): string; 2 | declare function stringify(arr: Uint8Array, offset?: number): string; 3 | export default stringify; 4 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm-browser/stringify.js: -------------------------------------------------------------------------------- 1 | import validate from './validate.js'; 2 | const byteToHex = []; 3 | for (let i = 0; i < 256; ++i) { 4 | byteToHex.push((i + 0x100).toString(16).slice(1)); 5 | } 6 | export function unsafeStringify(arr, offset = 0) { 7 | return (byteToHex[arr[offset + 0]] + 8 | byteToHex[arr[offset + 1]] + 9 | byteToHex[arr[offset + 2]] + 10 | byteToHex[arr[offset + 3]] + 11 | '-' + 12 | byteToHex[arr[offset + 4]] + 13 | byteToHex[arr[offset + 5]] + 14 | '-' + 15 | byteToHex[arr[offset + 6]] + 16 | byteToHex[arr[offset + 7]] + 17 | '-' + 18 | byteToHex[arr[offset + 8]] + 19 | byteToHex[arr[offset + 9]] + 20 | '-' + 21 | byteToHex[arr[offset + 10]] + 22 | byteToHex[arr[offset + 11]] + 23 | byteToHex[arr[offset + 12]] + 24 | byteToHex[arr[offset + 13]] + 25 | byteToHex[arr[offset + 14]] + 26 | byteToHex[arr[offset + 15]]).toLowerCase(); 27 | } 28 | function stringify(arr, offset = 0) { 29 | const uuid = unsafeStringify(arr, offset); 30 | if (!validate(uuid)) { 31 | throw TypeError('Stringified UUID is invalid'); 32 | } 33 | return uuid; 34 | } 35 | export default stringify; 36 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm-browser/types.d.ts: -------------------------------------------------------------------------------- 1 | export type UUIDTypes = string | TBuf; 2 | export type Version1Options = { 3 | node?: Uint8Array; 4 | clockseq?: number; 5 | random?: Uint8Array; 6 | rng?: () => Uint8Array; 7 | msecs?: number; 8 | nsecs?: number; 9 | _v6?: boolean; 10 | }; 11 | export type Version4Options = { 12 | random?: Uint8Array; 13 | rng?: () => Uint8Array; 14 | }; 15 | export type Version6Options = Version1Options; 16 | export type Version7Options = { 17 | random?: Uint8Array; 18 | msecs?: number; 19 | seq?: number; 20 | rng?: () => Uint8Array; 21 | }; 22 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm-browser/types.js: -------------------------------------------------------------------------------- 1 | export {}; 2 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm-browser/uuid-bin.d.ts: -------------------------------------------------------------------------------- 1 | export {}; 2 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm-browser/uuid-bin.js: -------------------------------------------------------------------------------- 1 | import * as assert from 'assert'; 2 | import v1 from './v1.js'; 3 | import v3 from './v3.js'; 4 | import v4 from './v4.js'; 5 | import v5 from './v5.js'; 6 | import v6 from './v6.js'; 7 | import v7 from './v7.js'; 8 | function usage() { 9 | console.log('Usage:'); 10 | console.log(' uuid'); 11 | console.log(' uuid v1'); 12 | console.log(' uuid v3 '); 13 | console.log(' uuid v4'); 14 | console.log(' uuid v5 '); 15 | console.log(' uuid v6'); 16 | console.log(' uuid v7'); 17 | console.log(' uuid --help'); 18 | console.log('\nNote: may be "URL" or "DNS" to use the corresponding UUIDs defined by RFC9562'); 19 | } 20 | const args = process.argv.slice(2); 21 | if (args.indexOf('--help') >= 0) { 22 | usage(); 23 | process.exit(0); 24 | } 25 | const version = args.shift() || 'v4'; 26 | switch (version) { 27 | case 'v1': 28 | console.log(v1()); 29 | break; 30 | case 'v3': { 31 | const name = args.shift(); 32 | let namespace = args.shift(); 33 | assert.ok(name != null, 'v3 name not specified'); 34 | assert.ok(namespace != null, 'v3 namespace not specified'); 35 | if (namespace === 'URL') { 36 | namespace = v3.URL; 37 | } 38 | if (namespace === 'DNS') { 39 | namespace = v3.DNS; 40 | } 41 | console.log(v3(name, namespace)); 42 | break; 43 | } 44 | case 'v4': 45 | console.log(v4()); 46 | break; 47 | case 'v5': { 48 | const name = args.shift(); 49 | let namespace = args.shift(); 50 | assert.ok(name != null, 'v5 name not specified'); 51 | assert.ok(namespace != null, 'v5 namespace not specified'); 52 | if (namespace === 'URL') { 53 | namespace = v5.URL; 54 | } 55 | if (namespace === 'DNS') { 56 | namespace = v5.DNS; 57 | } 58 | console.log(v5(name, namespace)); 59 | break; 60 | } 61 | case 'v6': 62 | console.log(v6()); 63 | break; 64 | case 'v7': 65 | console.log(v7()); 66 | break; 67 | default: 68 | usage(); 69 | process.exit(1); 70 | } 71 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm-browser/v1.d.ts: -------------------------------------------------------------------------------- 1 | import { Version1Options } from './types.js'; 2 | type V1State = { 3 | node?: Uint8Array; 4 | clockseq?: number; 5 | msecs?: number; 6 | nsecs?: number; 7 | }; 8 | declare function v1(options?: Version1Options, buf?: undefined, offset?: number): string; 9 | declare function v1(options: Version1Options | undefined, buf: Buf, offset?: number): Buf; 10 | export declare function updateV1State(state: V1State, now: number, rnds: Uint8Array): V1State; 11 | export default v1; 12 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm-browser/v1.js: -------------------------------------------------------------------------------- 1 | import rng from './rng.js'; 2 | import { unsafeStringify } from './stringify.js'; 3 | const _state = {}; 4 | function v1(options, buf, offset) { 5 | let bytes; 6 | const isV6 = options?._v6 ?? false; 7 | if (options) { 8 | const optionsKeys = Object.keys(options); 9 | if (optionsKeys.length === 1 && optionsKeys[0] === '_v6') { 10 | options = undefined; 11 | } 12 | } 13 | if (options) { 14 | bytes = v1Bytes(options.random ?? options.rng?.() ?? rng(), options.msecs, options.nsecs, options.clockseq, options.node, buf, offset); 15 | } 16 | else { 17 | const now = Date.now(); 18 | const rnds = rng(); 19 | updateV1State(_state, now, rnds); 20 | bytes = v1Bytes(rnds, _state.msecs, _state.nsecs, isV6 ? undefined : _state.clockseq, isV6 ? undefined : _state.node, buf, offset); 21 | } 22 | return buf ?? unsafeStringify(bytes); 23 | } 24 | export function updateV1State(state, now, rnds) { 25 | state.msecs ??= -Infinity; 26 | state.nsecs ??= 0; 27 | if (now === state.msecs) { 28 | state.nsecs++; 29 | if (state.nsecs >= 10000) { 30 | state.node = undefined; 31 | state.nsecs = 0; 32 | } 33 | } 34 | else if (now > state.msecs) { 35 | state.nsecs = 0; 36 | } 37 | else if (now < state.msecs) { 38 | state.node = undefined; 39 | } 40 | if (!state.node) { 41 | state.node = rnds.slice(10, 16); 42 | state.node[0] |= 0x01; 43 | state.clockseq = ((rnds[8] << 8) | rnds[9]) & 0x3fff; 44 | } 45 | state.msecs = now; 46 | return state; 47 | } 48 | function v1Bytes(rnds, msecs, nsecs, clockseq, node, buf, offset = 0) { 49 | if (rnds.length < 16) { 50 | throw new Error('Random bytes length must be >= 16'); 51 | } 52 | if (!buf) { 53 | buf = new Uint8Array(16); 54 | offset = 0; 55 | } 56 | else { 57 | if (offset < 0 || offset + 16 > buf.length) { 58 | throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`); 59 | } 60 | } 61 | msecs ??= Date.now(); 62 | nsecs ??= 0; 63 | clockseq ??= ((rnds[8] << 8) | rnds[9]) & 0x3fff; 64 | node ??= rnds.slice(10, 16); 65 | msecs += 12219292800000; 66 | const tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000; 67 | buf[offset++] = (tl >>> 24) & 0xff; 68 | buf[offset++] = (tl >>> 16) & 0xff; 69 | buf[offset++] = (tl >>> 8) & 0xff; 70 | buf[offset++] = tl & 0xff; 71 | const tmh = ((msecs / 0x100000000) * 10000) & 0xfffffff; 72 | buf[offset++] = (tmh >>> 8) & 0xff; 73 | buf[offset++] = tmh & 0xff; 74 | buf[offset++] = ((tmh >>> 24) & 0xf) | 0x10; 75 | buf[offset++] = (tmh >>> 16) & 0xff; 76 | buf[offset++] = (clockseq >>> 8) | 0x80; 77 | buf[offset++] = clockseq & 0xff; 78 | for (let n = 0; n < 6; ++n) { 79 | buf[offset++] = node[n]; 80 | } 81 | return buf; 82 | } 83 | export default v1; 84 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm-browser/v1ToV6.d.ts: -------------------------------------------------------------------------------- 1 | export default function v1ToV6(uuid: string): string; 2 | export default function v1ToV6(uuid: Uint8Array): Uint8Array; 3 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm-browser/v1ToV6.js: -------------------------------------------------------------------------------- 1 | import parse from './parse.js'; 2 | import { unsafeStringify } from './stringify.js'; 3 | export default function v1ToV6(uuid) { 4 | const v1Bytes = typeof uuid === 'string' ? parse(uuid) : uuid; 5 | const v6Bytes = _v1ToV6(v1Bytes); 6 | return typeof uuid === 'string' ? unsafeStringify(v6Bytes) : v6Bytes; 7 | } 8 | function _v1ToV6(v1Bytes) { 9 | return Uint8Array.of(((v1Bytes[6] & 0x0f) << 4) | ((v1Bytes[7] >> 4) & 0x0f), ((v1Bytes[7] & 0x0f) << 4) | ((v1Bytes[4] & 0xf0) >> 4), ((v1Bytes[4] & 0x0f) << 4) | ((v1Bytes[5] & 0xf0) >> 4), ((v1Bytes[5] & 0x0f) << 4) | ((v1Bytes[0] & 0xf0) >> 4), ((v1Bytes[0] & 0x0f) << 4) | ((v1Bytes[1] & 0xf0) >> 4), ((v1Bytes[1] & 0x0f) << 4) | ((v1Bytes[2] & 0xf0) >> 4), 0x60 | (v1Bytes[2] & 0x0f), v1Bytes[3], v1Bytes[8], v1Bytes[9], v1Bytes[10], v1Bytes[11], v1Bytes[12], v1Bytes[13], v1Bytes[14], v1Bytes[15]); 10 | } 11 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm-browser/v3.d.ts: -------------------------------------------------------------------------------- 1 | import { UUIDTypes } from './types.js'; 2 | export { DNS, URL } from './v35.js'; 3 | declare function v3(value: string | Uint8Array, namespace: UUIDTypes, buf?: undefined, offset?: number): string; 4 | declare function v3(value: string | Uint8Array, namespace: UUIDTypes, buf: TBuf, offset?: number): TBuf; 5 | declare namespace v3 { 6 | var DNS: string; 7 | var URL: string; 8 | } 9 | export default v3; 10 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm-browser/v3.js: -------------------------------------------------------------------------------- 1 | import md5 from './md5.js'; 2 | import v35, { DNS, URL } from './v35.js'; 3 | export { DNS, URL } from './v35.js'; 4 | function v3(value, namespace, buf, offset) { 5 | return v35(0x30, md5, value, namespace, buf, offset); 6 | } 7 | v3.DNS = DNS; 8 | v3.URL = URL; 9 | export default v3; 10 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm-browser/v35.d.ts: -------------------------------------------------------------------------------- 1 | import { UUIDTypes } from './types.js'; 2 | export declare function stringToBytes(str: string): Uint8Array; 3 | export declare const DNS = "6ba7b810-9dad-11d1-80b4-00c04fd430c8"; 4 | export declare const URL = "6ba7b811-9dad-11d1-80b4-00c04fd430c8"; 5 | type HashFunction = (bytes: Uint8Array) => Uint8Array; 6 | export default function v35(version: 0x30 | 0x50, hash: HashFunction, value: string | Uint8Array, namespace: UUIDTypes, buf?: TBuf, offset?: number): UUIDTypes; 7 | export {}; 8 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm-browser/v35.js: -------------------------------------------------------------------------------- 1 | import parse from './parse.js'; 2 | import { unsafeStringify } from './stringify.js'; 3 | export function stringToBytes(str) { 4 | str = unescape(encodeURIComponent(str)); 5 | const bytes = new Uint8Array(str.length); 6 | for (let i = 0; i < str.length; ++i) { 7 | bytes[i] = str.charCodeAt(i); 8 | } 9 | return bytes; 10 | } 11 | export const DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8'; 12 | export const URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8'; 13 | export default function v35(version, hash, value, namespace, buf, offset) { 14 | const valueBytes = typeof value === 'string' ? stringToBytes(value) : value; 15 | const namespaceBytes = typeof namespace === 'string' ? parse(namespace) : namespace; 16 | if (typeof namespace === 'string') { 17 | namespace = parse(namespace); 18 | } 19 | if (namespace?.length !== 16) { 20 | throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)'); 21 | } 22 | let bytes = new Uint8Array(16 + valueBytes.length); 23 | bytes.set(namespaceBytes); 24 | bytes.set(valueBytes, namespaceBytes.length); 25 | bytes = hash(bytes); 26 | bytes[6] = (bytes[6] & 0x0f) | version; 27 | bytes[8] = (bytes[8] & 0x3f) | 0x80; 28 | if (buf) { 29 | offset = offset || 0; 30 | for (let i = 0; i < 16; ++i) { 31 | buf[offset + i] = bytes[i]; 32 | } 33 | return buf; 34 | } 35 | return unsafeStringify(bytes); 36 | } 37 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm-browser/v4.d.ts: -------------------------------------------------------------------------------- 1 | import { Version4Options } from './types.js'; 2 | declare function v4(options?: Version4Options, buf?: undefined, offset?: number): string; 3 | declare function v4(options: Version4Options | undefined, buf: TBuf, offset?: number): TBuf; 4 | export default v4; 5 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm-browser/v4.js: -------------------------------------------------------------------------------- 1 | import native from './native.js'; 2 | import rng from './rng.js'; 3 | import { unsafeStringify } from './stringify.js'; 4 | function v4(options, buf, offset) { 5 | if (native.randomUUID && !buf && !options) { 6 | return native.randomUUID(); 7 | } 8 | options = options || {}; 9 | const rnds = options.random ?? options.rng?.() ?? rng(); 10 | if (rnds.length < 16) { 11 | throw new Error('Random bytes length must be >= 16'); 12 | } 13 | rnds[6] = (rnds[6] & 0x0f) | 0x40; 14 | rnds[8] = (rnds[8] & 0x3f) | 0x80; 15 | if (buf) { 16 | offset = offset || 0; 17 | if (offset < 0 || offset + 16 > buf.length) { 18 | throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`); 19 | } 20 | for (let i = 0; i < 16; ++i) { 21 | buf[offset + i] = rnds[i]; 22 | } 23 | return buf; 24 | } 25 | return unsafeStringify(rnds); 26 | } 27 | export default v4; 28 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm-browser/v5.d.ts: -------------------------------------------------------------------------------- 1 | import { UUIDTypes } from './types.js'; 2 | export { DNS, URL } from './v35.js'; 3 | declare function v5(value: string | Uint8Array, namespace: UUIDTypes, buf?: undefined, offset?: number): string; 4 | declare function v5(value: string | Uint8Array, namespace: UUIDTypes, buf: TBuf, offset?: number): TBuf; 5 | declare namespace v5 { 6 | var DNS: string; 7 | var URL: string; 8 | } 9 | export default v5; 10 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm-browser/v5.js: -------------------------------------------------------------------------------- 1 | import sha1 from './sha1.js'; 2 | import v35, { DNS, URL } from './v35.js'; 3 | export { DNS, URL } from './v35.js'; 4 | function v5(value, namespace, buf, offset) { 5 | return v35(0x50, sha1, value, namespace, buf, offset); 6 | } 7 | v5.DNS = DNS; 8 | v5.URL = URL; 9 | export default v5; 10 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm-browser/v6.d.ts: -------------------------------------------------------------------------------- 1 | import { Version6Options } from './types.js'; 2 | declare function v6(options?: Version6Options, buf?: undefined, offset?: number): string; 3 | declare function v6(options: Version6Options | undefined, buf: TBuf, offset?: number): TBuf; 4 | export default v6; 5 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm-browser/v6.js: -------------------------------------------------------------------------------- 1 | import { unsafeStringify } from './stringify.js'; 2 | import v1 from './v1.js'; 3 | import v1ToV6 from './v1ToV6.js'; 4 | function v6(options, buf, offset) { 5 | options ??= {}; 6 | offset ??= 0; 7 | let bytes = v1({ ...options, _v6: true }, new Uint8Array(16)); 8 | bytes = v1ToV6(bytes); 9 | if (buf) { 10 | for (let i = 0; i < 16; i++) { 11 | buf[offset + i] = bytes[i]; 12 | } 13 | return buf; 14 | } 15 | return unsafeStringify(bytes); 16 | } 17 | export default v6; 18 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm-browser/v6ToV1.d.ts: -------------------------------------------------------------------------------- 1 | export default function v6ToV1(uuid: string): string; 2 | export default function v6ToV1(uuid: Uint8Array): Uint8Array; 3 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm-browser/v6ToV1.js: -------------------------------------------------------------------------------- 1 | import parse from './parse.js'; 2 | import { unsafeStringify } from './stringify.js'; 3 | export default function v6ToV1(uuid) { 4 | const v6Bytes = typeof uuid === 'string' ? parse(uuid) : uuid; 5 | const v1Bytes = _v6ToV1(v6Bytes); 6 | return typeof uuid === 'string' ? unsafeStringify(v1Bytes) : v1Bytes; 7 | } 8 | function _v6ToV1(v6Bytes) { 9 | 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]); 10 | } 11 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm-browser/v7.d.ts: -------------------------------------------------------------------------------- 1 | import { Version7Options } from './types.js'; 2 | type V7State = { 3 | msecs?: number; 4 | seq?: number; 5 | }; 6 | declare function v7(options?: Version7Options, buf?: undefined, offset?: number): string; 7 | declare function v7(options: Version7Options | undefined, buf: TBuf, offset?: number): TBuf; 8 | export declare function updateV7State(state: V7State, now: number, rnds: Uint8Array): V7State; 9 | export default v7; 10 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm-browser/v7.js: -------------------------------------------------------------------------------- 1 | import rng from './rng.js'; 2 | import { unsafeStringify } from './stringify.js'; 3 | const _state = {}; 4 | function v7(options, buf, offset) { 5 | let bytes; 6 | if (options) { 7 | bytes = v7Bytes(options.random ?? options.rng?.() ?? rng(), options.msecs, options.seq, buf, offset); 8 | } 9 | else { 10 | const now = Date.now(); 11 | const rnds = rng(); 12 | updateV7State(_state, now, rnds); 13 | bytes = v7Bytes(rnds, _state.msecs, _state.seq, buf, offset); 14 | } 15 | return buf ?? unsafeStringify(bytes); 16 | } 17 | export function updateV7State(state, now, rnds) { 18 | state.msecs ??= -Infinity; 19 | state.seq ??= 0; 20 | if (now > state.msecs) { 21 | state.seq = (rnds[6] << 23) | (rnds[7] << 16) | (rnds[8] << 8) | rnds[9]; 22 | state.msecs = now; 23 | } 24 | else { 25 | state.seq = (state.seq + 1) | 0; 26 | if (state.seq === 0) { 27 | state.msecs++; 28 | } 29 | } 30 | return state; 31 | } 32 | function v7Bytes(rnds, msecs, seq, buf, offset = 0) { 33 | if (rnds.length < 16) { 34 | throw new Error('Random bytes length must be >= 16'); 35 | } 36 | if (!buf) { 37 | buf = new Uint8Array(16); 38 | offset = 0; 39 | } 40 | else { 41 | if (offset < 0 || offset + 16 > buf.length) { 42 | throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`); 43 | } 44 | } 45 | msecs ??= Date.now(); 46 | seq ??= ((rnds[6] * 0x7f) << 24) | (rnds[7] << 16) | (rnds[8] << 8) | rnds[9]; 47 | buf[offset++] = (msecs / 0x10000000000) & 0xff; 48 | buf[offset++] = (msecs / 0x100000000) & 0xff; 49 | buf[offset++] = (msecs / 0x1000000) & 0xff; 50 | buf[offset++] = (msecs / 0x10000) & 0xff; 51 | buf[offset++] = (msecs / 0x100) & 0xff; 52 | buf[offset++] = msecs & 0xff; 53 | buf[offset++] = 0x70 | ((seq >>> 28) & 0x0f); 54 | buf[offset++] = (seq >>> 20) & 0xff; 55 | buf[offset++] = 0x80 | ((seq >>> 14) & 0x3f); 56 | buf[offset++] = (seq >>> 6) & 0xff; 57 | buf[offset++] = ((seq << 2) & 0xff) | (rnds[10] & 0x03); 58 | buf[offset++] = rnds[11]; 59 | buf[offset++] = rnds[12]; 60 | buf[offset++] = rnds[13]; 61 | buf[offset++] = rnds[14]; 62 | buf[offset++] = rnds[15]; 63 | return buf; 64 | } 65 | export default v7; 66 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm-browser/validate.d.ts: -------------------------------------------------------------------------------- 1 | declare function validate(uuid: unknown): boolean; 2 | export default validate; 3 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm-browser/validate.js: -------------------------------------------------------------------------------- 1 | import REGEX from './regex.js'; 2 | function validate(uuid) { 3 | return typeof uuid === 'string' && REGEX.test(uuid); 4 | } 5 | export default validate; 6 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm-browser/version.d.ts: -------------------------------------------------------------------------------- 1 | declare function version(uuid: string): number; 2 | export default version; 3 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm-browser/version.js: -------------------------------------------------------------------------------- 1 | import validate from './validate.js'; 2 | function version(uuid) { 3 | if (!validate(uuid)) { 4 | throw TypeError('Invalid UUID'); 5 | } 6 | return parseInt(uuid.slice(14, 15), 16); 7 | } 8 | export default version; 9 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm/bin/uuid: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | import '../uuid-bin.js'; 3 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm/index.d.ts: -------------------------------------------------------------------------------- 1 | export type * from './types.js'; 2 | export { default as MAX } from './max.js'; 3 | export { default as NIL } from './nil.js'; 4 | export { default as parse } from './parse.js'; 5 | export { default as stringify } from './stringify.js'; 6 | export { default as v1 } from './v1.js'; 7 | export { default as v1ToV6 } from './v1ToV6.js'; 8 | export { default as v3 } from './v3.js'; 9 | export { default as v4 } from './v4.js'; 10 | export { default as v5 } from './v5.js'; 11 | export { default as v6 } from './v6.js'; 12 | export { default as v6ToV1 } from './v6ToV1.js'; 13 | export { default as v7 } from './v7.js'; 14 | export { default as validate } from './validate.js'; 15 | export { default as version } from './version.js'; 16 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm/index.js: -------------------------------------------------------------------------------- 1 | export { default as MAX } from './max.js'; 2 | export { default as NIL } from './nil.js'; 3 | export { default as parse } from './parse.js'; 4 | export { default as stringify } from './stringify.js'; 5 | export { default as v1 } from './v1.js'; 6 | export { default as v1ToV6 } from './v1ToV6.js'; 7 | export { default as v3 } from './v3.js'; 8 | export { default as v4 } from './v4.js'; 9 | export { default as v5 } from './v5.js'; 10 | export { default as v6 } from './v6.js'; 11 | export { default as v6ToV1 } from './v6ToV1.js'; 12 | export { default as v7 } from './v7.js'; 13 | export { default as validate } from './validate.js'; 14 | export { default as version } from './version.js'; 15 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm/max.d.ts: -------------------------------------------------------------------------------- 1 | declare const _default: "ffffffff-ffff-ffff-ffff-ffffffffffff"; 2 | export default _default; 3 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm/max.js: -------------------------------------------------------------------------------- 1 | export default 'ffffffff-ffff-ffff-ffff-ffffffffffff'; 2 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm/md5.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | declare function md5(bytes: Uint8Array): Buffer; 4 | export default md5; 5 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm/md5.js: -------------------------------------------------------------------------------- 1 | import { createHash } from 'crypto'; 2 | function md5(bytes) { 3 | if (Array.isArray(bytes)) { 4 | bytes = Buffer.from(bytes); 5 | } 6 | else if (typeof bytes === 'string') { 7 | bytes = Buffer.from(bytes, 'utf8'); 8 | } 9 | return createHash('md5').update(bytes).digest(); 10 | } 11 | export default md5; 12 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm/native.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | import { randomUUID } from 'crypto'; 3 | declare const _default: { 4 | randomUUID: typeof randomUUID; 5 | }; 6 | export default _default; 7 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm/native.js: -------------------------------------------------------------------------------- 1 | import { randomUUID } from 'crypto'; 2 | export default { randomUUID }; 3 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm/nil.d.ts: -------------------------------------------------------------------------------- 1 | declare const _default: "00000000-0000-0000-0000-000000000000"; 2 | export default _default; 3 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm/nil.js: -------------------------------------------------------------------------------- 1 | export default '00000000-0000-0000-0000-000000000000'; 2 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm/parse.d.ts: -------------------------------------------------------------------------------- 1 | declare function parse(uuid: string): Uint8Array; 2 | export default parse; 3 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm/parse.js: -------------------------------------------------------------------------------- 1 | import validate from './validate.js'; 2 | function parse(uuid) { 3 | if (!validate(uuid)) { 4 | throw TypeError('Invalid UUID'); 5 | } 6 | let v; 7 | return Uint8Array.of((v = parseInt(uuid.slice(0, 8), 16)) >>> 24, (v >>> 16) & 0xff, (v >>> 8) & 0xff, v & 0xff, (v = parseInt(uuid.slice(9, 13), 16)) >>> 8, v & 0xff, (v = parseInt(uuid.slice(14, 18), 16)) >>> 8, v & 0xff, (v = parseInt(uuid.slice(19, 23), 16)) >>> 8, v & 0xff, ((v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000) & 0xff, (v / 0x100000000) & 0xff, (v >>> 24) & 0xff, (v >>> 16) & 0xff, (v >>> 8) & 0xff, v & 0xff); 8 | } 9 | export default parse; 10 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm/regex.d.ts: -------------------------------------------------------------------------------- 1 | declare const _default: RegExp; 2 | export default _default; 3 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm/regex.js: -------------------------------------------------------------------------------- 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; 2 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm/rng.d.ts: -------------------------------------------------------------------------------- 1 | export default function rng(): Uint8Array; 2 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm/rng.js: -------------------------------------------------------------------------------- 1 | import { randomFillSync } from 'crypto'; 2 | const rnds8Pool = new Uint8Array(256); 3 | let poolPtr = rnds8Pool.length; 4 | export default function rng() { 5 | if (poolPtr > rnds8Pool.length - 16) { 6 | randomFillSync(rnds8Pool); 7 | poolPtr = 0; 8 | } 9 | return rnds8Pool.slice(poolPtr, (poolPtr += 16)); 10 | } 11 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm/sha1.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | declare function sha1(bytes: Uint8Array): Buffer; 4 | export default sha1; 5 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm/sha1.js: -------------------------------------------------------------------------------- 1 | import { createHash } from 'crypto'; 2 | function sha1(bytes) { 3 | if (Array.isArray(bytes)) { 4 | bytes = Buffer.from(bytes); 5 | } 6 | else if (typeof bytes === 'string') { 7 | bytes = Buffer.from(bytes, 'utf8'); 8 | } 9 | return createHash('sha1').update(bytes).digest(); 10 | } 11 | export default sha1; 12 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm/stringify.d.ts: -------------------------------------------------------------------------------- 1 | export declare function unsafeStringify(arr: Uint8Array, offset?: number): string; 2 | declare function stringify(arr: Uint8Array, offset?: number): string; 3 | export default stringify; 4 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm/stringify.js: -------------------------------------------------------------------------------- 1 | import validate from './validate.js'; 2 | const byteToHex = []; 3 | for (let i = 0; i < 256; ++i) { 4 | byteToHex.push((i + 0x100).toString(16).slice(1)); 5 | } 6 | export function unsafeStringify(arr, offset = 0) { 7 | return (byteToHex[arr[offset + 0]] + 8 | byteToHex[arr[offset + 1]] + 9 | byteToHex[arr[offset + 2]] + 10 | byteToHex[arr[offset + 3]] + 11 | '-' + 12 | byteToHex[arr[offset + 4]] + 13 | byteToHex[arr[offset + 5]] + 14 | '-' + 15 | byteToHex[arr[offset + 6]] + 16 | byteToHex[arr[offset + 7]] + 17 | '-' + 18 | byteToHex[arr[offset + 8]] + 19 | byteToHex[arr[offset + 9]] + 20 | '-' + 21 | byteToHex[arr[offset + 10]] + 22 | byteToHex[arr[offset + 11]] + 23 | byteToHex[arr[offset + 12]] + 24 | byteToHex[arr[offset + 13]] + 25 | byteToHex[arr[offset + 14]] + 26 | byteToHex[arr[offset + 15]]).toLowerCase(); 27 | } 28 | function stringify(arr, offset = 0) { 29 | const uuid = unsafeStringify(arr, offset); 30 | if (!validate(uuid)) { 31 | throw TypeError('Stringified UUID is invalid'); 32 | } 33 | return uuid; 34 | } 35 | export default stringify; 36 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm/types.d.ts: -------------------------------------------------------------------------------- 1 | export type UUIDTypes = string | TBuf; 2 | export type Version1Options = { 3 | node?: Uint8Array; 4 | clockseq?: number; 5 | random?: Uint8Array; 6 | rng?: () => Uint8Array; 7 | msecs?: number; 8 | nsecs?: number; 9 | _v6?: boolean; 10 | }; 11 | export type Version4Options = { 12 | random?: Uint8Array; 13 | rng?: () => Uint8Array; 14 | }; 15 | export type Version6Options = Version1Options; 16 | export type Version7Options = { 17 | random?: Uint8Array; 18 | msecs?: number; 19 | seq?: number; 20 | rng?: () => Uint8Array; 21 | }; 22 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm/types.js: -------------------------------------------------------------------------------- 1 | export {}; 2 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm/uuid-bin.d.ts: -------------------------------------------------------------------------------- 1 | export {}; 2 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm/uuid-bin.js: -------------------------------------------------------------------------------- 1 | import * as assert from 'assert'; 2 | import v1 from './v1.js'; 3 | import v3 from './v3.js'; 4 | import v4 from './v4.js'; 5 | import v5 from './v5.js'; 6 | import v6 from './v6.js'; 7 | import v7 from './v7.js'; 8 | function usage() { 9 | console.log('Usage:'); 10 | console.log(' uuid'); 11 | console.log(' uuid v1'); 12 | console.log(' uuid v3 '); 13 | console.log(' uuid v4'); 14 | console.log(' uuid v5 '); 15 | console.log(' uuid v6'); 16 | console.log(' uuid v7'); 17 | console.log(' uuid --help'); 18 | console.log('\nNote: may be "URL" or "DNS" to use the corresponding UUIDs defined by RFC9562'); 19 | } 20 | const args = process.argv.slice(2); 21 | if (args.indexOf('--help') >= 0) { 22 | usage(); 23 | process.exit(0); 24 | } 25 | const version = args.shift() || 'v4'; 26 | switch (version) { 27 | case 'v1': 28 | console.log(v1()); 29 | break; 30 | case 'v3': { 31 | const name = args.shift(); 32 | let namespace = args.shift(); 33 | assert.ok(name != null, 'v3 name not specified'); 34 | assert.ok(namespace != null, 'v3 namespace not specified'); 35 | if (namespace === 'URL') { 36 | namespace = v3.URL; 37 | } 38 | if (namespace === 'DNS') { 39 | namespace = v3.DNS; 40 | } 41 | console.log(v3(name, namespace)); 42 | break; 43 | } 44 | case 'v4': 45 | console.log(v4()); 46 | break; 47 | case 'v5': { 48 | const name = args.shift(); 49 | let namespace = args.shift(); 50 | assert.ok(name != null, 'v5 name not specified'); 51 | assert.ok(namespace != null, 'v5 namespace not specified'); 52 | if (namespace === 'URL') { 53 | namespace = v5.URL; 54 | } 55 | if (namespace === 'DNS') { 56 | namespace = v5.DNS; 57 | } 58 | console.log(v5(name, namespace)); 59 | break; 60 | } 61 | case 'v6': 62 | console.log(v6()); 63 | break; 64 | case 'v7': 65 | console.log(v7()); 66 | break; 67 | default: 68 | usage(); 69 | process.exit(1); 70 | } 71 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm/v1.d.ts: -------------------------------------------------------------------------------- 1 | import { Version1Options } from './types.js'; 2 | type V1State = { 3 | node?: Uint8Array; 4 | clockseq?: number; 5 | msecs?: number; 6 | nsecs?: number; 7 | }; 8 | declare function v1(options?: Version1Options, buf?: undefined, offset?: number): string; 9 | declare function v1(options: Version1Options | undefined, buf: Buf, offset?: number): Buf; 10 | export declare function updateV1State(state: V1State, now: number, rnds: Uint8Array): V1State; 11 | export default v1; 12 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm/v1.js: -------------------------------------------------------------------------------- 1 | import rng from './rng.js'; 2 | import { unsafeStringify } from './stringify.js'; 3 | const _state = {}; 4 | function v1(options, buf, offset) { 5 | let bytes; 6 | const isV6 = options?._v6 ?? false; 7 | if (options) { 8 | const optionsKeys = Object.keys(options); 9 | if (optionsKeys.length === 1 && optionsKeys[0] === '_v6') { 10 | options = undefined; 11 | } 12 | } 13 | if (options) { 14 | bytes = v1Bytes(options.random ?? options.rng?.() ?? rng(), options.msecs, options.nsecs, options.clockseq, options.node, buf, offset); 15 | } 16 | else { 17 | const now = Date.now(); 18 | const rnds = rng(); 19 | updateV1State(_state, now, rnds); 20 | bytes = v1Bytes(rnds, _state.msecs, _state.nsecs, isV6 ? undefined : _state.clockseq, isV6 ? undefined : _state.node, buf, offset); 21 | } 22 | return buf ?? unsafeStringify(bytes); 23 | } 24 | export function updateV1State(state, now, rnds) { 25 | state.msecs ??= -Infinity; 26 | state.nsecs ??= 0; 27 | if (now === state.msecs) { 28 | state.nsecs++; 29 | if (state.nsecs >= 10000) { 30 | state.node = undefined; 31 | state.nsecs = 0; 32 | } 33 | } 34 | else if (now > state.msecs) { 35 | state.nsecs = 0; 36 | } 37 | else if (now < state.msecs) { 38 | state.node = undefined; 39 | } 40 | if (!state.node) { 41 | state.node = rnds.slice(10, 16); 42 | state.node[0] |= 0x01; 43 | state.clockseq = ((rnds[8] << 8) | rnds[9]) & 0x3fff; 44 | } 45 | state.msecs = now; 46 | return state; 47 | } 48 | function v1Bytes(rnds, msecs, nsecs, clockseq, node, buf, offset = 0) { 49 | if (rnds.length < 16) { 50 | throw new Error('Random bytes length must be >= 16'); 51 | } 52 | if (!buf) { 53 | buf = new Uint8Array(16); 54 | offset = 0; 55 | } 56 | else { 57 | if (offset < 0 || offset + 16 > buf.length) { 58 | throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`); 59 | } 60 | } 61 | msecs ??= Date.now(); 62 | nsecs ??= 0; 63 | clockseq ??= ((rnds[8] << 8) | rnds[9]) & 0x3fff; 64 | node ??= rnds.slice(10, 16); 65 | msecs += 12219292800000; 66 | const tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000; 67 | buf[offset++] = (tl >>> 24) & 0xff; 68 | buf[offset++] = (tl >>> 16) & 0xff; 69 | buf[offset++] = (tl >>> 8) & 0xff; 70 | buf[offset++] = tl & 0xff; 71 | const tmh = ((msecs / 0x100000000) * 10000) & 0xfffffff; 72 | buf[offset++] = (tmh >>> 8) & 0xff; 73 | buf[offset++] = tmh & 0xff; 74 | buf[offset++] = ((tmh >>> 24) & 0xf) | 0x10; 75 | buf[offset++] = (tmh >>> 16) & 0xff; 76 | buf[offset++] = (clockseq >>> 8) | 0x80; 77 | buf[offset++] = clockseq & 0xff; 78 | for (let n = 0; n < 6; ++n) { 79 | buf[offset++] = node[n]; 80 | } 81 | return buf; 82 | } 83 | export default v1; 84 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm/v1ToV6.d.ts: -------------------------------------------------------------------------------- 1 | export default function v1ToV6(uuid: string): string; 2 | export default function v1ToV6(uuid: Uint8Array): Uint8Array; 3 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm/v1ToV6.js: -------------------------------------------------------------------------------- 1 | import parse from './parse.js'; 2 | import { unsafeStringify } from './stringify.js'; 3 | export default function v1ToV6(uuid) { 4 | const v1Bytes = typeof uuid === 'string' ? parse(uuid) : uuid; 5 | const v6Bytes = _v1ToV6(v1Bytes); 6 | return typeof uuid === 'string' ? unsafeStringify(v6Bytes) : v6Bytes; 7 | } 8 | function _v1ToV6(v1Bytes) { 9 | return Uint8Array.of(((v1Bytes[6] & 0x0f) << 4) | ((v1Bytes[7] >> 4) & 0x0f), ((v1Bytes[7] & 0x0f) << 4) | ((v1Bytes[4] & 0xf0) >> 4), ((v1Bytes[4] & 0x0f) << 4) | ((v1Bytes[5] & 0xf0) >> 4), ((v1Bytes[5] & 0x0f) << 4) | ((v1Bytes[0] & 0xf0) >> 4), ((v1Bytes[0] & 0x0f) << 4) | ((v1Bytes[1] & 0xf0) >> 4), ((v1Bytes[1] & 0x0f) << 4) | ((v1Bytes[2] & 0xf0) >> 4), 0x60 | (v1Bytes[2] & 0x0f), v1Bytes[3], v1Bytes[8], v1Bytes[9], v1Bytes[10], v1Bytes[11], v1Bytes[12], v1Bytes[13], v1Bytes[14], v1Bytes[15]); 10 | } 11 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm/v3.d.ts: -------------------------------------------------------------------------------- 1 | import { UUIDTypes } from './types.js'; 2 | export { DNS, URL } from './v35.js'; 3 | declare function v3(value: string | Uint8Array, namespace: UUIDTypes, buf?: undefined, offset?: number): string; 4 | declare function v3(value: string | Uint8Array, namespace: UUIDTypes, buf: TBuf, offset?: number): TBuf; 5 | declare namespace v3 { 6 | var DNS: string; 7 | var URL: string; 8 | } 9 | export default v3; 10 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm/v3.js: -------------------------------------------------------------------------------- 1 | import md5 from './md5.js'; 2 | import v35, { DNS, URL } from './v35.js'; 3 | export { DNS, URL } from './v35.js'; 4 | function v3(value, namespace, buf, offset) { 5 | return v35(0x30, md5, value, namespace, buf, offset); 6 | } 7 | v3.DNS = DNS; 8 | v3.URL = URL; 9 | export default v3; 10 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm/v35.d.ts: -------------------------------------------------------------------------------- 1 | import { UUIDTypes } from './types.js'; 2 | export declare function stringToBytes(str: string): Uint8Array; 3 | export declare const DNS = "6ba7b810-9dad-11d1-80b4-00c04fd430c8"; 4 | export declare const URL = "6ba7b811-9dad-11d1-80b4-00c04fd430c8"; 5 | type HashFunction = (bytes: Uint8Array) => Uint8Array; 6 | export default function v35(version: 0x30 | 0x50, hash: HashFunction, value: string | Uint8Array, namespace: UUIDTypes, buf?: TBuf, offset?: number): UUIDTypes; 7 | export {}; 8 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm/v35.js: -------------------------------------------------------------------------------- 1 | import parse from './parse.js'; 2 | import { unsafeStringify } from './stringify.js'; 3 | export function stringToBytes(str) { 4 | str = unescape(encodeURIComponent(str)); 5 | const bytes = new Uint8Array(str.length); 6 | for (let i = 0; i < str.length; ++i) { 7 | bytes[i] = str.charCodeAt(i); 8 | } 9 | return bytes; 10 | } 11 | export const DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8'; 12 | export const URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8'; 13 | export default function v35(version, hash, value, namespace, buf, offset) { 14 | const valueBytes = typeof value === 'string' ? stringToBytes(value) : value; 15 | const namespaceBytes = typeof namespace === 'string' ? parse(namespace) : namespace; 16 | if (typeof namespace === 'string') { 17 | namespace = parse(namespace); 18 | } 19 | if (namespace?.length !== 16) { 20 | throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)'); 21 | } 22 | let bytes = new Uint8Array(16 + valueBytes.length); 23 | bytes.set(namespaceBytes); 24 | bytes.set(valueBytes, namespaceBytes.length); 25 | bytes = hash(bytes); 26 | bytes[6] = (bytes[6] & 0x0f) | version; 27 | bytes[8] = (bytes[8] & 0x3f) | 0x80; 28 | if (buf) { 29 | offset = offset || 0; 30 | for (let i = 0; i < 16; ++i) { 31 | buf[offset + i] = bytes[i]; 32 | } 33 | return buf; 34 | } 35 | return unsafeStringify(bytes); 36 | } 37 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm/v4.d.ts: -------------------------------------------------------------------------------- 1 | import { Version4Options } from './types.js'; 2 | declare function v4(options?: Version4Options, buf?: undefined, offset?: number): string; 3 | declare function v4(options: Version4Options | undefined, buf: TBuf, offset?: number): TBuf; 4 | export default v4; 5 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm/v4.js: -------------------------------------------------------------------------------- 1 | import native from './native.js'; 2 | import rng from './rng.js'; 3 | import { unsafeStringify } from './stringify.js'; 4 | function v4(options, buf, offset) { 5 | if (native.randomUUID && !buf && !options) { 6 | return native.randomUUID(); 7 | } 8 | options = options || {}; 9 | const rnds = options.random ?? options.rng?.() ?? rng(); 10 | if (rnds.length < 16) { 11 | throw new Error('Random bytes length must be >= 16'); 12 | } 13 | rnds[6] = (rnds[6] & 0x0f) | 0x40; 14 | rnds[8] = (rnds[8] & 0x3f) | 0x80; 15 | if (buf) { 16 | offset = offset || 0; 17 | if (offset < 0 || offset + 16 > buf.length) { 18 | throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`); 19 | } 20 | for (let i = 0; i < 16; ++i) { 21 | buf[offset + i] = rnds[i]; 22 | } 23 | return buf; 24 | } 25 | return unsafeStringify(rnds); 26 | } 27 | export default v4; 28 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm/v5.d.ts: -------------------------------------------------------------------------------- 1 | import { UUIDTypes } from './types.js'; 2 | export { DNS, URL } from './v35.js'; 3 | declare function v5(value: string | Uint8Array, namespace: UUIDTypes, buf?: undefined, offset?: number): string; 4 | declare function v5(value: string | Uint8Array, namespace: UUIDTypes, buf: TBuf, offset?: number): TBuf; 5 | declare namespace v5 { 6 | var DNS: string; 7 | var URL: string; 8 | } 9 | export default v5; 10 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm/v5.js: -------------------------------------------------------------------------------- 1 | import sha1 from './sha1.js'; 2 | import v35, { DNS, URL } from './v35.js'; 3 | export { DNS, URL } from './v35.js'; 4 | function v5(value, namespace, buf, offset) { 5 | return v35(0x50, sha1, value, namespace, buf, offset); 6 | } 7 | v5.DNS = DNS; 8 | v5.URL = URL; 9 | export default v5; 10 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm/v6.d.ts: -------------------------------------------------------------------------------- 1 | import { Version6Options } from './types.js'; 2 | declare function v6(options?: Version6Options, buf?: undefined, offset?: number): string; 3 | declare function v6(options: Version6Options | undefined, buf: TBuf, offset?: number): TBuf; 4 | export default v6; 5 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm/v6.js: -------------------------------------------------------------------------------- 1 | import { unsafeStringify } from './stringify.js'; 2 | import v1 from './v1.js'; 3 | import v1ToV6 from './v1ToV6.js'; 4 | function v6(options, buf, offset) { 5 | options ??= {}; 6 | offset ??= 0; 7 | let bytes = v1({ ...options, _v6: true }, new Uint8Array(16)); 8 | bytes = v1ToV6(bytes); 9 | if (buf) { 10 | for (let i = 0; i < 16; i++) { 11 | buf[offset + i] = bytes[i]; 12 | } 13 | return buf; 14 | } 15 | return unsafeStringify(bytes); 16 | } 17 | export default v6; 18 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm/v6ToV1.d.ts: -------------------------------------------------------------------------------- 1 | export default function v6ToV1(uuid: string): string; 2 | export default function v6ToV1(uuid: Uint8Array): Uint8Array; 3 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm/v6ToV1.js: -------------------------------------------------------------------------------- 1 | import parse from './parse.js'; 2 | import { unsafeStringify } from './stringify.js'; 3 | export default function v6ToV1(uuid) { 4 | const v6Bytes = typeof uuid === 'string' ? parse(uuid) : uuid; 5 | const v1Bytes = _v6ToV1(v6Bytes); 6 | return typeof uuid === 'string' ? unsafeStringify(v1Bytes) : v1Bytes; 7 | } 8 | function _v6ToV1(v6Bytes) { 9 | 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]); 10 | } 11 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm/v7.d.ts: -------------------------------------------------------------------------------- 1 | import { Version7Options } from './types.js'; 2 | type V7State = { 3 | msecs?: number; 4 | seq?: number; 5 | }; 6 | declare function v7(options?: Version7Options, buf?: undefined, offset?: number): string; 7 | declare function v7(options: Version7Options | undefined, buf: TBuf, offset?: number): TBuf; 8 | export declare function updateV7State(state: V7State, now: number, rnds: Uint8Array): V7State; 9 | export default v7; 10 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm/v7.js: -------------------------------------------------------------------------------- 1 | import rng from './rng.js'; 2 | import { unsafeStringify } from './stringify.js'; 3 | const _state = {}; 4 | function v7(options, buf, offset) { 5 | let bytes; 6 | if (options) { 7 | bytes = v7Bytes(options.random ?? options.rng?.() ?? rng(), options.msecs, options.seq, buf, offset); 8 | } 9 | else { 10 | const now = Date.now(); 11 | const rnds = rng(); 12 | updateV7State(_state, now, rnds); 13 | bytes = v7Bytes(rnds, _state.msecs, _state.seq, buf, offset); 14 | } 15 | return buf ?? unsafeStringify(bytes); 16 | } 17 | export function updateV7State(state, now, rnds) { 18 | state.msecs ??= -Infinity; 19 | state.seq ??= 0; 20 | if (now > state.msecs) { 21 | state.seq = (rnds[6] << 23) | (rnds[7] << 16) | (rnds[8] << 8) | rnds[9]; 22 | state.msecs = now; 23 | } 24 | else { 25 | state.seq = (state.seq + 1) | 0; 26 | if (state.seq === 0) { 27 | state.msecs++; 28 | } 29 | } 30 | return state; 31 | } 32 | function v7Bytes(rnds, msecs, seq, buf, offset = 0) { 33 | if (rnds.length < 16) { 34 | throw new Error('Random bytes length must be >= 16'); 35 | } 36 | if (!buf) { 37 | buf = new Uint8Array(16); 38 | offset = 0; 39 | } 40 | else { 41 | if (offset < 0 || offset + 16 > buf.length) { 42 | throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`); 43 | } 44 | } 45 | msecs ??= Date.now(); 46 | seq ??= ((rnds[6] * 0x7f) << 24) | (rnds[7] << 16) | (rnds[8] << 8) | rnds[9]; 47 | buf[offset++] = (msecs / 0x10000000000) & 0xff; 48 | buf[offset++] = (msecs / 0x100000000) & 0xff; 49 | buf[offset++] = (msecs / 0x1000000) & 0xff; 50 | buf[offset++] = (msecs / 0x10000) & 0xff; 51 | buf[offset++] = (msecs / 0x100) & 0xff; 52 | buf[offset++] = msecs & 0xff; 53 | buf[offset++] = 0x70 | ((seq >>> 28) & 0x0f); 54 | buf[offset++] = (seq >>> 20) & 0xff; 55 | buf[offset++] = 0x80 | ((seq >>> 14) & 0x3f); 56 | buf[offset++] = (seq >>> 6) & 0xff; 57 | buf[offset++] = ((seq << 2) & 0xff) | (rnds[10] & 0x03); 58 | buf[offset++] = rnds[11]; 59 | buf[offset++] = rnds[12]; 60 | buf[offset++] = rnds[13]; 61 | buf[offset++] = rnds[14]; 62 | buf[offset++] = rnds[15]; 63 | return buf; 64 | } 65 | export default v7; 66 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm/validate.d.ts: -------------------------------------------------------------------------------- 1 | declare function validate(uuid: unknown): boolean; 2 | export default validate; 3 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm/validate.js: -------------------------------------------------------------------------------- 1 | import REGEX from './regex.js'; 2 | function validate(uuid) { 3 | return typeof uuid === 'string' && REGEX.test(uuid); 4 | } 5 | export default validate; 6 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm/version.d.ts: -------------------------------------------------------------------------------- 1 | declare function version(uuid: string): number; 2 | export default version; 3 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm/version.js: -------------------------------------------------------------------------------- 1 | import validate from './validate.js'; 2 | function version(uuid) { 3 | if (!validate(uuid)) { 4 | throw TypeError('Invalid UUID'); 5 | } 6 | return parseInt(uuid.slice(14, 15), 16); 7 | } 8 | export default version; 9 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "react-draggable": "^4.4.6", 4 | "react-icons": "^5.5.0", 5 | "uuid": "^11.1.0" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /public/doraemon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abyxs/ResuBlocks/7178c8ad0520984696637c7d9222714977963877/public/doraemon.png -------------------------------------------------------------------------------- /resume-app/.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | pnpm-debug.log* 8 | lerna-debug.log* 9 | 10 | node_modules 11 | dist 12 | dist-ssr 13 | *.local 14 | 15 | # Editor directories and files 16 | .vscode/* 17 | !.vscode/extensions.json 18 | .idea 19 | .DS_Store 20 | *.suo 21 | *.ntvs* 22 | *.njsproj 23 | *.sln 24 | *.sw? 25 | -------------------------------------------------------------------------------- /resume-app/README.md: -------------------------------------------------------------------------------- 1 | # React + Vite 2 | 3 | This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules. 4 | 5 | Currently, two official plugins are available: 6 | 7 | - [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh 8 | - [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh 9 | 10 | ## Expanding the ESLint configuration 11 | 12 | If you are developing a production application, we recommend using TypeScript and enable type-aware lint rules. Check out the [TS template](https://github.com/vitejs/vite/tree/main/packages/create-vite/template-react-ts) to integrate TypeScript and [`typescript-eslint`](https://typescript-eslint.io) in your project. 13 | -------------------------------------------------------------------------------- /resume-app/eslint.config.js: -------------------------------------------------------------------------------- 1 | import js from '@eslint/js' 2 | import globals from 'globals' 3 | import reactHooks from 'eslint-plugin-react-hooks' 4 | import reactRefresh from 'eslint-plugin-react-refresh' 5 | 6 | export default [ 7 | { ignores: ['dist'] }, 8 | { 9 | files: ['**/*.{js,jsx}'], 10 | languageOptions: { 11 | ecmaVersion: 2020, 12 | globals: globals.browser, 13 | parserOptions: { 14 | ecmaVersion: 'latest', 15 | ecmaFeatures: { jsx: true }, 16 | sourceType: 'module', 17 | }, 18 | }, 19 | plugins: { 20 | 'react-hooks': reactHooks, 21 | 'react-refresh': reactRefresh, 22 | }, 23 | rules: { 24 | ...js.configs.recommended.rules, 25 | ...reactHooks.configs.recommended.rules, 26 | 'no-unused-vars': ['error', { varsIgnorePattern: '^[A-Z_]' }], 27 | 'react-refresh/only-export-components': [ 28 | 'warn', 29 | { allowConstantExport: true }, 30 | ], 31 | }, 32 | }, 33 | ] 34 | -------------------------------------------------------------------------------- /resume-app/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Vite + React 8 | 9 | 10 |
11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /resume-app/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "resume-app", 3 | "private": true, 4 | "version": "0.0.0", 5 | "type": "module", 6 | "scripts": { 7 | "dev": "vite", 8 | "build": "vite build", 9 | "lint": "eslint .", 10 | "preview": "vite preview" 11 | }, 12 | "dependencies": { 13 | "autoprefixer": "^10.4.21", 14 | "html2pdf.js": "^0.10.3", 15 | "lucide-react": "^0.488.0", 16 | "postcss": "^8.5.3", 17 | "react": "^18.2.0", 18 | "react-dom": "^18.2.0", 19 | "react-icons": "^5.5.0", 20 | "tailwindcss": "^3.3.0" 21 | }, 22 | "devDependencies": { 23 | "@eslint/js": "^8.56.0", 24 | "@types/react": "^18.2.15", 25 | "@types/react-dom": "^18.2.7", 26 | "@vitejs/plugin-react": "^4.0.3", 27 | "eslint": "^8.45.0", 28 | "eslint-plugin-react-hooks": "^4.6.0", 29 | "eslint-plugin-react-refresh": "^0.4.3", 30 | "globals": "^13.24.0", 31 | "vite": "^4.4.5" 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /resume-app/public/doraemon.png: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resume-app/public/image-note.txt: -------------------------------------------------------------------------------- 1 | 请在public目录下添加一个名为doraemon.png的图片文件,内容为哆啦A梦(机器猫)头像。 2 | 可以从互联网上下载合适的哆啦A梦头像图片,确保图片是圆形或方形,以便在简历的圆形头像区域中正确显示。 -------------------------------------------------------------------------------- /resume-app/public/vite.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resume-app/src/App.css: -------------------------------------------------------------------------------- 1 | #root { 2 | max-width: 1280px; 3 | margin: 0 auto; 4 | padding: 2rem; 5 | text-align: center; 6 | } 7 | 8 | .logo { 9 | height: 6em; 10 | padding: 1.5em; 11 | will-change: filter; 12 | transition: filter 300ms; 13 | } 14 | .logo:hover { 15 | filter: drop-shadow(0 0 2em #646cffaa); 16 | } 17 | .logo.react:hover { 18 | filter: drop-shadow(0 0 2em #61dafbaa); 19 | } 20 | 21 | @keyframes logo-spin { 22 | from { 23 | transform: rotate(0deg); 24 | } 25 | to { 26 | transform: rotate(360deg); 27 | } 28 | } 29 | 30 | @media (prefers-reduced-motion: no-preference) { 31 | a:nth-of-type(2) .logo { 32 | animation: logo-spin infinite 20s linear; 33 | } 34 | } 35 | 36 | .card { 37 | padding: 2em; 38 | } 39 | 40 | .read-the-docs { 41 | color: #888; 42 | } 43 | 44 | 45 | /* 在现有样式后添加 */ 46 | .a4-page { 47 | page-break-after: auto !important; 48 | page-break-inside: avoid !important; 49 | break-after: auto !important; 50 | break-inside: avoid !important; 51 | overflow: hidden !important; 52 | max-height: 297mm !important; /* A4高度 */ 53 | } 54 | 55 | /* 确保打印时不会出现额外页面 */ 56 | @media print { 57 | .a4-page { 58 | overflow: hidden !important; 59 | page-break-after: auto !important; 60 | page-break-before: auto !important; 61 | page-break-inside: avoid !important; 62 | break-after: auto !important; 63 | break-before: auto !important; 64 | break-inside: avoid !important; 65 | } 66 | 67 | body, html, #root, .App { 68 | margin: 0 !important; 69 | padding: 0 !important; 70 | overflow: hidden !important; 71 | height: auto !important; 72 | } 73 | 74 | /* 防止多余页面 */ 75 | .resume-preview-container::after { 76 | content: none !important; 77 | } 78 | } 79 | -------------------------------------------------------------------------------- /resume-app/src/App.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import ResumeEditor from './components/ResumeEditor'; 3 | import './App.css'; 4 | 5 | function App() { 6 | console.log('App 渲染中...'); 7 | 8 | return ( 9 |
10 | 11 |
12 | ); 13 | } 14 | 15 | export default App; -------------------------------------------------------------------------------- /resume-app/src/App.jsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import ResumeEditor from './components/ResumeEditor'; 3 | import './App.css'; 4 | 5 | function App() { 6 | return ( 7 |
8 | 9 |
10 | ); 11 | } 12 | 13 | export default App; 14 | -------------------------------------------------------------------------------- /resume-app/src/assets/react.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resume-app/src/components/ComponentEditor/ContentEditors/SkillsEditor.jsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { Star, Plus, Trash2 } from 'lucide-react'; 3 | 4 | const SkillsEditor = ({ component, handleContentChange }) => { 5 | return ( 6 | <> 7 |
8 | 9 | {(component.content.skills || []).map((skill, index) => ( 10 |
11 | { 15 | const newSkills = [...component.content.skills]; 16 | newSkills[index] = { ...skill, name: e.target.value }; 17 | handleContentChange('skills', newSkills); 18 | }} 19 | style={{ flex: 1, padding: '8px', border: '1px solid #ccc', borderRadius: '4px' }} 20 | placeholder="技能名称" 21 | /> 22 | 35 |
36 | {[1, 2, 3, 4, 5].map(star => ( 37 | 44 | ))} 45 |
46 | {/* 删除按钮 */} 47 | 67 |
68 | ))} 69 | {/* 添加技能按钮 */} 70 | 91 |
92 | 93 | {/* 删除了进度条控制选项,因为它已经在StyleEditor中实现 */} 94 | 95 |
96 | 提示: 评分为0表示不显示星级,仅显示技能名称。 97 |
98 | 99 | ); 100 | }; 101 | 102 | export default SkillsEditor; -------------------------------------------------------------------------------- /resume-app/src/components/ComponentEditor/ContentEditors/SummaryEditor.jsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | const SummaryEditor = ({ component, handleContentChange }) => { 4 | return ( 5 |
6 | 7 |