fix: 修复配额说明重复和undefined问题
- 在editStorageForm中初始化oss_storage_quota_value和oss_quota_unit - 删除重复的旧配额说明块,保留新的当前配额设置显示 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
327
INSTALL_GUIDE.md
Normal file
327
INSTALL_GUIDE.md
Normal file
@@ -0,0 +1,327 @@
|
||||
# 玩玩云 - 手动部署指南
|
||||
|
||||
本指南详细说明如何手动部署玩玩云系统。
|
||||
|
||||
## 环境要求
|
||||
|
||||
### 服务器要求
|
||||
- **操作系统**: Linux (Ubuntu 18.04+ / Debian 10+ / CentOS 7+)
|
||||
- **内存**: 最低 1GB RAM(推荐 2GB+)
|
||||
- **磁盘空间**: 至少 2GB 可用空间
|
||||
|
||||
### 软件依赖
|
||||
- **Node.js**: 20.x LTS
|
||||
- **Nginx**: 1.18+
|
||||
- **Git**: 2.x
|
||||
|
||||
## 部署步骤
|
||||
|
||||
### 1. 安装 Node.js 20.x
|
||||
|
||||
#### Ubuntu/Debian
|
||||
```bash
|
||||
# 安装 NodeSource 仓库
|
||||
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
|
||||
|
||||
# 安装 Node.js
|
||||
sudo apt-get install -y nodejs
|
||||
|
||||
# 验证安装
|
||||
node -v # 应显示 v20.x.x
|
||||
npm -v
|
||||
```
|
||||
|
||||
#### CentOS/RHEL
|
||||
```bash
|
||||
# 安装 NodeSource 仓库
|
||||
curl -fsSL https://rpm.nodesource.com/setup_20.x | sudo bash -
|
||||
|
||||
# 安装 Node.js
|
||||
sudo yum install -y nodejs
|
||||
|
||||
# 验证安装
|
||||
node -v
|
||||
npm -v
|
||||
```
|
||||
|
||||
### 2. 安装 Nginx
|
||||
|
||||
#### Ubuntu/Debian
|
||||
```bash
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y nginx
|
||||
sudo systemctl enable nginx
|
||||
sudo systemctl start nginx
|
||||
```
|
||||
|
||||
#### CentOS/RHEL
|
||||
```bash
|
||||
sudo yum install -y epel-release
|
||||
sudo yum install -y nginx
|
||||
sudo systemctl enable nginx
|
||||
sudo systemctl start nginx
|
||||
```
|
||||
|
||||
### 3. 克隆项目
|
||||
|
||||
```bash
|
||||
# 创建部署目录
|
||||
sudo mkdir -p /var/www
|
||||
cd /var/www
|
||||
|
||||
# 克隆项目
|
||||
sudo git clone https://git.workyai.cn/237899745/vue-driven-cloud-storage.git wanwanyun
|
||||
|
||||
# 设置目录权限
|
||||
sudo chown -R $USER:$USER /var/www/wanwanyun
|
||||
```
|
||||
|
||||
### 4. 安装后端依赖
|
||||
|
||||
```bash
|
||||
cd /var/www/wanwanyun/backend
|
||||
|
||||
# 安装依赖
|
||||
npm install --production
|
||||
|
||||
# 创建数据目录
|
||||
mkdir -p data storage
|
||||
```
|
||||
|
||||
### 5. 配置环境变量
|
||||
|
||||
```bash
|
||||
# 复制环境变量模板
|
||||
cp .env.example .env
|
||||
|
||||
# 编辑配置文件
|
||||
nano .env
|
||||
```
|
||||
|
||||
**必须修改的配置**:
|
||||
```bash
|
||||
# 生成随机 JWT 密钥
|
||||
JWT_SECRET=$(node -e "console.log(require('crypto').randomBytes(32).toString('hex'))")
|
||||
echo "JWT_SECRET=$JWT_SECRET"
|
||||
|
||||
# 修改管理员密码
|
||||
ADMIN_PASSWORD=你的强密码
|
||||
```
|
||||
|
||||
### 6. 配置 Nginx
|
||||
|
||||
```bash
|
||||
# 复制 Nginx 配置
|
||||
sudo cp /var/www/wanwanyun/nginx/nginx.conf /etc/nginx/sites-available/wanwanyun
|
||||
|
||||
# 修改配置中的路径
|
||||
sudo sed -i 's|/usr/share/nginx/html|/var/www/wanwanyun/frontend|g' /etc/nginx/sites-available/wanwanyun
|
||||
sudo sed -i 's|backend:40001|127.0.0.1:40001|g' /etc/nginx/sites-available/wanwanyun
|
||||
|
||||
# 创建软链接启用配置
|
||||
sudo ln -sf /etc/nginx/sites-available/wanwanyun /etc/nginx/sites-enabled/
|
||||
|
||||
# 删除默认配置(可选)
|
||||
sudo rm -f /etc/nginx/sites-enabled/default
|
||||
|
||||
# 测试配置
|
||||
sudo nginx -t
|
||||
|
||||
# 重新加载 Nginx
|
||||
sudo systemctl reload nginx
|
||||
```
|
||||
|
||||
### 7. 配置系统服务
|
||||
|
||||
创建 systemd 服务文件:
|
||||
|
||||
```bash
|
||||
sudo tee /etc/systemd/system/wanwanyun.service > /dev/null << 'EOF'
|
||||
[Unit]
|
||||
Description=WanWanYun Cloud Storage Service
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
User=www-data
|
||||
Group=www-data
|
||||
WorkingDirectory=/var/www/wanwanyun/backend
|
||||
ExecStart=/usr/bin/node server.js
|
||||
Restart=always
|
||||
RestartSec=10
|
||||
Environment=NODE_ENV=production
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
EOF
|
||||
```
|
||||
|
||||
设置目录权限:
|
||||
```bash
|
||||
sudo chown -R www-data:www-data /var/www/wanwanyun
|
||||
```
|
||||
|
||||
启动服务:
|
||||
```bash
|
||||
sudo systemctl daemon-reload
|
||||
sudo systemctl enable wanwanyun
|
||||
sudo systemctl start wanwanyun
|
||||
```
|
||||
|
||||
### 8. 验证部署
|
||||
|
||||
```bash
|
||||
# 检查服务状态
|
||||
sudo systemctl status wanwanyun
|
||||
|
||||
# 检查后端是否启动
|
||||
curl http://127.0.0.1:40001/api/health
|
||||
|
||||
# 检查 Nginx 是否正常
|
||||
curl http://localhost
|
||||
```
|
||||
|
||||
## 配置 HTTPS(推荐)
|
||||
|
||||
### 使用 Let's Encrypt 免费证书
|
||||
|
||||
```bash
|
||||
# 安装 Certbot
|
||||
sudo apt-get install -y certbot python3-certbot-nginx
|
||||
|
||||
# 获取证书(替换为你的域名和邮箱)
|
||||
sudo certbot --nginx -d your-domain.com --email your@email.com --agree-tos --non-interactive
|
||||
|
||||
# 验证自动续期
|
||||
sudo certbot renew --dry-run
|
||||
```
|
||||
|
||||
### 更新后端配置
|
||||
|
||||
获取证书后,编辑 `/var/www/wanwanyun/backend/.env`:
|
||||
|
||||
```bash
|
||||
ENFORCE_HTTPS=true
|
||||
COOKIE_SECURE=true
|
||||
TRUST_PROXY=1
|
||||
```
|
||||
|
||||
重启服务:
|
||||
```bash
|
||||
sudo systemctl restart wanwanyun
|
||||
```
|
||||
|
||||
## 防火墙配置
|
||||
|
||||
### UFW (Ubuntu)
|
||||
```bash
|
||||
sudo ufw allow 80/tcp
|
||||
sudo ufw allow 443/tcp
|
||||
sudo ufw enable
|
||||
```
|
||||
|
||||
### firewalld (CentOS)
|
||||
```bash
|
||||
sudo firewall-cmd --permanent --add-service=http
|
||||
sudo firewall-cmd --permanent --add-service=https
|
||||
sudo firewall-cmd --reload
|
||||
```
|
||||
|
||||
## 日常维护
|
||||
|
||||
### 查看日志
|
||||
```bash
|
||||
# 查看服务日志
|
||||
sudo journalctl -u wanwanyun -f
|
||||
|
||||
# 查看 Nginx 错误日志
|
||||
sudo tail -f /var/log/nginx/error.log
|
||||
```
|
||||
|
||||
### 更新系统
|
||||
```bash
|
||||
cd /var/www/wanwanyun
|
||||
sudo git pull
|
||||
cd backend && npm install --production
|
||||
sudo systemctl restart wanwanyun
|
||||
```
|
||||
|
||||
### 备份数据
|
||||
```bash
|
||||
# 备份数据库
|
||||
sudo cp /var/www/wanwanyun/backend/data/database.db /backup/database.db.$(date +%Y%m%d)
|
||||
|
||||
# 备份上传文件(本地存储模式)
|
||||
sudo tar -czf /backup/storage-$(date +%Y%m%d).tar.gz /var/www/wanwanyun/backend/storage/
|
||||
```
|
||||
|
||||
## 故障排查
|
||||
|
||||
### 服务无法启动
|
||||
```bash
|
||||
# 检查日志
|
||||
sudo journalctl -u wanwanyun -n 100
|
||||
|
||||
# 检查端口占用
|
||||
sudo lsof -i :40001
|
||||
|
||||
# 检查 Node.js 版本
|
||||
node -v
|
||||
```
|
||||
|
||||
### 无法访问网页
|
||||
```bash
|
||||
# 检查 Nginx 状态
|
||||
sudo systemctl status nginx
|
||||
|
||||
# 检查 Nginx 配置
|
||||
sudo nginx -t
|
||||
|
||||
# 检查防火墙
|
||||
sudo ufw status
|
||||
```
|
||||
|
||||
### 数据库错误
|
||||
```bash
|
||||
# 检查数据库文件权限
|
||||
ls -la /var/www/wanwanyun/backend/data/
|
||||
|
||||
# 修复权限
|
||||
sudo chown -R www-data:www-data /var/www/wanwanyun/backend/data/
|
||||
```
|
||||
|
||||
## 性能优化
|
||||
|
||||
### 启用 Nginx 缓存
|
||||
在 Nginx 配置的 `location /` 中添加:
|
||||
```nginx
|
||||
location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|woff|woff2)$ {
|
||||
expires 30d;
|
||||
add_header Cache-Control "public, immutable";
|
||||
}
|
||||
```
|
||||
|
||||
### 配置日志轮转
|
||||
```bash
|
||||
sudo tee /etc/logrotate.d/wanwanyun > /dev/null << 'EOF'
|
||||
/var/log/nginx/*.log {
|
||||
daily
|
||||
missingok
|
||||
rotate 14
|
||||
compress
|
||||
delaycompress
|
||||
notifempty
|
||||
create 0640 www-data adm
|
||||
sharedscripts
|
||||
postrotate
|
||||
[ -f /var/run/nginx.pid ] && kill -USR1 `cat /var/run/nginx.pid`
|
||||
endscript
|
||||
}
|
||||
EOF
|
||||
```
|
||||
|
||||
## 相关链接
|
||||
|
||||
- [项目主页](https://git.workyai.cn/237899745/vue-driven-cloud-storage)
|
||||
- [问题反馈](https://git.workyai.cn/237899745/vue-driven-cloud-storage/issues)
|
||||
- [README](./README.md)
|
||||
516
README.md
Normal file
516
README.md
Normal file
@@ -0,0 +1,516 @@
|
||||
# 玩玩云 - 现代化云存储管理平台
|
||||
|
||||
> 一个功能完整的云存储管理系统,支持本地存储和OSS云存储,提供文件管理、分享、邮件验证等企业级功能。
|
||||
|
||||
<div align="center">
|
||||
|
||||

|
||||

|
||||

|
||||

|
||||
|
||||
</div>
|
||||
|
||||
## ✨ 项目特色
|
||||
|
||||
玩玩云是一个现代化的Web文件管理系统,让您可以通过浏览器轻松管理文件。系统支持**双存储模式**(本地存储/OSS云存储),提供完整的用户管理、文件分享、邮件通知等企业级功能。
|
||||
|
||||
### 核心特性
|
||||
|
||||
#### 🗂️ 双存储模式
|
||||
- **本地存储** - 快速读写,适合小型部署
|
||||
- **OSS云存储** - 连接云服务,支持大容量存储(支持阿里云 OSS、腾讯云 COS、AWS S3)
|
||||
- **一键切换** - 在管理面板轻松切换存储方式
|
||||
|
||||
#### 📁 完整的文件管理
|
||||
- 文件浏览、上传、下载、重命名、删除
|
||||
- 支持文件夹操作
|
||||
- 流式下载,服务器零存储中转
|
||||
- 实时进度显示
|
||||
|
||||
#### 🔗 智能文件分享
|
||||
- 生成分享链接,支持密码保护
|
||||
- 支持有效期设置(1小时-永久)
|
||||
- 分享密码防爆破保护(10次失败封锁20分钟)
|
||||
- 支持API直接下载
|
||||
|
||||
#### 👥 完善的用户系统
|
||||
- 用户注册、登录、邮箱验证
|
||||
- 密码加密存储(bcrypt)
|
||||
- 邮件找回密码功能
|
||||
- JWT令牌认证
|
||||
- 管理员权限管理
|
||||
|
||||
#### 🔐 企业级安全防护
|
||||
- **登录验证码** - 2次密码错误后自动显示验证码
|
||||
- **防爆破保护** - 5次登录失败封锁30分钟
|
||||
- **分享密码保护** - 10次密码错误封锁20分钟
|
||||
- **智能限流** - 基于IP和用户名双重维度
|
||||
- **安全日志** - 详细记录所有安全事件
|
||||
|
||||
#### 📧 邮件通知系统
|
||||
- 注册邮箱验证
|
||||
- 密码重置邮件
|
||||
- 支持SMTP配置
|
||||
- 邮件模板可自定义
|
||||
|
||||
#### 🖥️ 桌面上传工具
|
||||
- 拖拽上传,简单易用
|
||||
- 实时显示上传进度
|
||||
- 自动配置,无需手动设置
|
||||
- 支持大文件上传
|
||||
|
||||
#### ⚡ 一键部署
|
||||
- 全自动安装脚本(install.sh)
|
||||
- 自动检测和安装依赖(Node.js、Nginx等)
|
||||
- 支持宝塔面板环境
|
||||
- 自动配置Nginx反向代理
|
||||
- 支持Docker容器化部署
|
||||
|
||||
## 🚀 快速开始
|
||||
|
||||
### 环境要求
|
||||
|
||||
- **操作系统**: Linux (Ubuntu 18.04+ / Debian 10+ / CentOS 7+)
|
||||
- **内存**: 最低 1GB RAM(推荐 2GB+)
|
||||
- **磁盘空间**: 至少 2GB 可用空间
|
||||
|
||||
### 方式1: 一键部署(推荐)⭐
|
||||
|
||||
使用我们的自动化安装脚本,5分钟即可完成部署:
|
||||
|
||||
```bash
|
||||
# 使用 curl
|
||||
curl -fsSL https://git.workyai.cn/237899745/vue-driven-cloud-storage/raw/branch/master/install.sh | bash
|
||||
|
||||
# 或使用 wget
|
||||
wget -qO- https://git.workyai.cn/237899745/vue-driven-cloud-storage/raw/branch/master/install.sh | bash
|
||||
```
|
||||
|
||||
安装脚本会自动完成以下工作:
|
||||
- ✅ 检测系统环境
|
||||
- ✅ 安装 Node.js 20.x(如未安装)
|
||||
- ✅ 安装 Nginx(如未安装)
|
||||
- ✅ 克隆项目代码
|
||||
- ✅ 安装依赖包
|
||||
- ✅ 配置 Nginx 反向代理
|
||||
- ✅ 配置系统服务(systemd)
|
||||
- ✅ 自动启动服务
|
||||
- ✅ 显示访问信息
|
||||
|
||||
### 方式2: Docker 部署
|
||||
|
||||
适合熟悉 Docker 的用户:
|
||||
|
||||
```bash
|
||||
# 1. 克隆项目
|
||||
git clone https://git.workyai.cn/237899745/vue-driven-cloud-storage.git
|
||||
cd vue-driven-cloud-storage
|
||||
|
||||
# 2. 启动服务
|
||||
docker-compose up -d
|
||||
|
||||
# 3. 查看日志
|
||||
docker-compose logs -f
|
||||
```
|
||||
|
||||
### 方式3: 手动部署
|
||||
|
||||
详细步骤请参考 [INSTALL_GUIDE.md](./INSTALL_GUIDE.md)
|
||||
|
||||
### 首次访问
|
||||
|
||||
部署完成后,访问系统:
|
||||
|
||||
- **访问地址**: http://你的服务器IP
|
||||
- **默认管理员账号**:
|
||||
- 用户名: `admin`
|
||||
- 密码: `admin123`
|
||||
- ⚠️ **请立即登录并修改密码!**
|
||||
|
||||
## 📖 使用指南
|
||||
|
||||
### 配置存储方式
|
||||
|
||||
登录后进入"管理面板" → "存储管理",选择存储方式:
|
||||
|
||||
#### 本地存储(推荐新手)
|
||||
- 无需额外配置
|
||||
- 文件存储在服务器本地
|
||||
- 适合小型部署
|
||||
|
||||
#### OSS云存储(适合大容量)
|
||||
1. 点击"切换到 OSS"
|
||||
2. 填写 OSS 配置:
|
||||
- 云服务商:选择阿里云/腾讯云/AWS S3
|
||||
- 地域:如 `oss-cn-hangzhou` / `ap-guangzhou` / `us-east-1`
|
||||
- Access Key ID:从云服务商获取
|
||||
- Access Key Secret:从云服务商获取
|
||||
- 存储桶名称:在云控制台创建
|
||||
- 自定义 Endpoint:可选,一般不需要填写
|
||||
3. 保存配置
|
||||
|
||||
**⚠️ 重要:OSS Bucket CORS 配置**
|
||||
|
||||
使用 OSS 直连上传下载功能,必须在 Bucket 中配置 CORS 规则:
|
||||
|
||||
```xml
|
||||
<!-- 阿里云 OSS / 腾讯云 COS / AWS S3 通用配置 -->
|
||||
<CORSConfiguration>
|
||||
<CORSRule>
|
||||
<AllowedOrigin>https://你的域名.com</AllowedOrigin>
|
||||
<AllowedOrigin>https://www.你的域名.com</AllowedOrigin>
|
||||
<!-- 如果是本地测试,添加: -->
|
||||
<AllowedOrigin>http://localhost:3000</AllowedOrigin>
|
||||
|
||||
<AllowedMethod>GET</AllowedMethod>
|
||||
<AllowedMethod>PUT</AllowedMethod>
|
||||
<AllowedMethod>POST</AllowedMethod>
|
||||
<AllowedMethod>DELETE</AllowedMethod>
|
||||
|
||||
<AllowedHeader>*</AllowedHeader>
|
||||
<ExposeHeader>ETag</ExposeHeader>
|
||||
<ExposeHeader>x-amz-request-id</ExposeHeader>
|
||||
</CORSRule>
|
||||
</CORSConfiguration>
|
||||
```
|
||||
|
||||
**各云服务商控制台配置路径:**
|
||||
- **阿里云 OSS**:Bucket 管理 → 权限管理 → 跨域设置 → 创建规则
|
||||
- **腾讯云 COS**:存储桶管理 → 安全管理 → 跨域访问 CORS 设置
|
||||
- **AWS S3**:Bucket → Permissions → CORS configuration
|
||||
|
||||
### 配置邮件服务
|
||||
|
||||
进入"管理面板" → "系统设置" → "邮件配置":
|
||||
|
||||
```
|
||||
SMTP服务器: smtp.example.com
|
||||
SMTP端口: 465
|
||||
发件邮箱: noreply@example.com
|
||||
SMTP密码: 你的授权码
|
||||
```
|
||||
|
||||
配置后即可使用邮箱验证和密码重置功能。
|
||||
|
||||
### 文件管理
|
||||
|
||||
- **上传文件**: 点击"上传文件"按钮选择本地文件
|
||||
- **下载文件**: 点击文件行的下载图标
|
||||
- **重命名**: 点击文件名旁的编辑图标
|
||||
- **删除文件**: 点击删除图标
|
||||
- **创建文件夹**: 点击"新建文件夹"按钮
|
||||
|
||||
### 文件分享
|
||||
|
||||
1. 选择要分享的文件,点击"分享"按钮
|
||||
2. 设置分享选项:
|
||||
- 分享密码(可选)
|
||||
- 有效期(1小时、1天、7天、永久)
|
||||
3. 复制分享链接发送给他人
|
||||
4. 在"我的分享"中管理所有分享链接
|
||||
|
||||
### 使用桌面上传工具
|
||||
|
||||
1. 进入"上传工具"页面
|
||||
2. 下载适合你系统的上传工具
|
||||
3. 输入服务器地址和API密钥
|
||||
4. 拖拽文件即可上传
|
||||
|
||||
## 📁 项目结构
|
||||
|
||||
```
|
||||
vue-driven-cloud-storage/
|
||||
├── backend/ # 后端服务
|
||||
│ ├── server.js # Express 服务器 (含邮件、API等)
|
||||
│ ├── database.js # SQLite 数据库操作
|
||||
│ ├── storage.js # 存储接口 (本地/OSS)
|
||||
│ ├── auth.js # JWT 认证中间件
|
||||
│ ├── package.json # 依赖配置
|
||||
│ ├── Dockerfile # Docker 构建文件
|
||||
│ ├── .env.example # 环境变量示例
|
||||
│ ├── data/ # 数据库目录
|
||||
│ └── storage/ # 本地存储目录
|
||||
│
|
||||
├── frontend/ # 前端代码
|
||||
│ ├── index.html # 登录注册页面
|
||||
│ ├── app.html # 主应用页面
|
||||
│ ├── share.html # 分享页面
|
||||
│ ├── verify.html # 邮箱验证页面
|
||||
│ ├── reset-password.html # 密码重置页面
|
||||
│ └── libs/ # 第三方库 (Vue.js, Axios, FontAwesome)
|
||||
│
|
||||
├── nginx/ # Nginx 配置
|
||||
│ ├── nginx.conf # 反向代理配置
|
||||
│ └── nginx.conf.example # 配置模板
|
||||
│
|
||||
├── upload-tool/ # 桌面上传工具
|
||||
│ ├── upload_tool.py # Python 上传工具源码
|
||||
│ ├── requirements.txt # Python 依赖
|
||||
│ ├── build.bat # Windows 打包脚本
|
||||
│ └── build.sh # Linux/Mac 打包脚本
|
||||
│
|
||||
├── install.sh # 一键安装脚本
|
||||
├── docker-compose.yml # Docker 编排文件
|
||||
├── .gitignore # Git 忽略文件
|
||||
└── README.md # 本文件
|
||||
```
|
||||
|
||||
## 🛠️ 技术栈
|
||||
|
||||
### 后端技术
|
||||
- **Node.js 20** - JavaScript 运行时
|
||||
- **Express 4.x** - Web 应用框架
|
||||
- **better-sqlite3** - 轻量级数据库
|
||||
- **@aws-sdk/client-s3** - OSS/S3 云存储 SDK
|
||||
- **jsonwebtoken** - JWT 认证
|
||||
- **bcrypt** - 密码加密
|
||||
- **nodemailer** - 邮件发送
|
||||
- **svg-captcha** - 验证码生成
|
||||
- **express-session** - Session 管理
|
||||
|
||||
### 前端技术
|
||||
- **Vue.js 3** - 渐进式 JavaScript 框架
|
||||
- **Axios** - HTTP 请求库
|
||||
- **Font Awesome** - 图标库
|
||||
- **原生 CSS** - 现代化界面设计
|
||||
|
||||
### 部署方案
|
||||
- **Docker** - 容器化
|
||||
- **Docker Compose** - 容器编排
|
||||
- **Nginx** - 反向代理和静态资源服务
|
||||
- **Systemd** - 系统服务管理
|
||||
|
||||
## 🔐 安全特性
|
||||
|
||||
### 认证与授权
|
||||
- ✅ bcrypt 密码加密(10轮盐值)
|
||||
- ✅ JWT 令牌认证
|
||||
- ✅ Session 安全管理
|
||||
- ✅ CORS 跨域配置
|
||||
- ✅ SQL 注入防护(参数化查询)
|
||||
- ✅ XSS 防护(输入过滤)
|
||||
|
||||
### 防爆破保护
|
||||
- ✅ 登录验证码(2次失败后显示)
|
||||
- ✅ 登录防爆破(5次失败封锁30分钟)
|
||||
- ✅ 分享密码防爆破(10次失败封锁20分钟)
|
||||
- ✅ 基于 IP + 用户名双重维度限流
|
||||
- ✅ 支持反向代理 X-Forwarded-For
|
||||
|
||||
### 数据安全
|
||||
- ✅ OSS 密钥加密存储
|
||||
- ✅ 数据库事务支持
|
||||
- ✅ 定期清理过期分享
|
||||
- ✅ 安全日志记录
|
||||
|
||||
## 🔧 管理维护
|
||||
|
||||
### 查看服务状态
|
||||
|
||||
```bash
|
||||
# Systemd 部署
|
||||
sudo systemctl status vue-cloud-storage
|
||||
|
||||
# Docker 部署
|
||||
docker-compose ps
|
||||
```
|
||||
|
||||
### 查看日志
|
||||
|
||||
```bash
|
||||
# Systemd 部署
|
||||
sudo journalctl -u vue-cloud-storage -f
|
||||
|
||||
# Docker 部署
|
||||
docker-compose logs -f backend
|
||||
```
|
||||
|
||||
### 重启服务
|
||||
|
||||
```bash
|
||||
# Systemd 部署
|
||||
sudo systemctl restart vue-cloud-storage
|
||||
|
||||
# Docker 部署
|
||||
docker-compose restart
|
||||
```
|
||||
|
||||
### 备份数据
|
||||
|
||||
```bash
|
||||
# 备份数据库
|
||||
sudo cp /var/www/vue-driven-cloud-storage/backend/data/database.db \
|
||||
/backup/database.db.$(date +%Y%m%d)
|
||||
|
||||
# 备份上传文件(本地存储模式)
|
||||
sudo tar -czf /backup/uploads-$(date +%Y%m%d).tar.gz \
|
||||
/var/www/vue-driven-cloud-storage/backend/uploads/
|
||||
```
|
||||
|
||||
### 更新系统
|
||||
|
||||
```bash
|
||||
cd /var/www/vue-driven-cloud-storage
|
||||
git pull
|
||||
cd backend && npm install
|
||||
sudo systemctl restart vue-cloud-storage
|
||||
```
|
||||
|
||||
## 📊 性能优化建议
|
||||
|
||||
### 生产环境配置
|
||||
|
||||
1. **启用 HTTPS**
|
||||
- 使用 Let's Encrypt 免费证书
|
||||
- 在 Nginx 中配置 SSL
|
||||
|
||||
2. **配置缓存**
|
||||
- 启用 Nginx 静态资源缓存
|
||||
- 配置浏览器缓存策略
|
||||
|
||||
3. **数据库优化**
|
||||
- 定期清理过期数据
|
||||
- 定期备份数据库
|
||||
|
||||
4. **监控告警**
|
||||
- 配置日志监控
|
||||
- 设置磁盘空间告警
|
||||
|
||||
## ❓ 常见问题
|
||||
|
||||
### 安装相关
|
||||
|
||||
**Q: 一键安装脚本支持哪些系统?**
|
||||
A: Ubuntu 18.04+、Debian 10+、CentOS 7+、宝塔面板环境。
|
||||
|
||||
**Q: 如何查看安装进度?**
|
||||
A: 安装脚本会实时显示进度,完成后显示访问地址。
|
||||
|
||||
### 使用相关
|
||||
|
||||
**Q: 如何切换存储方式?**
|
||||
A: 登录后进入"管理面板" → "存储管理",点击切换按钮即可。
|
||||
|
||||
**Q: 忘记管理员密码怎么办?**
|
||||
A: 点击登录页的"忘记密码",通过邮箱重置密码。如未配置邮箱,需要手动重置数据库。
|
||||
|
||||
**Q: 上传文件大小限制是多少?**
|
||||
A: 默认限制 5GB,可在 Nginx 配置中修改 `client_max_body_size`。
|
||||
|
||||
### 故障排查
|
||||
|
||||
**Q: 无法访问系统**
|
||||
1. 检查服务是否启动:`sudo systemctl status vue-cloud-storage`
|
||||
2. 检查防火墙是否开放端口
|
||||
3. 查看 Nginx 日志:`sudo tail -f /var/log/nginx/error.log`
|
||||
|
||||
**Q: OSS 连接失败**
|
||||
1. 检查云服务商控制台,确认 Access Key 是否有效
|
||||
2. 验证地域和存储桶名称是否正确
|
||||
3. 检查存储桶的权限设置(需要允许读写操作)
|
||||
4. 检查网络连接和防火墙设置
|
||||
|
||||
**Q: OSS 上传失败,提示 CORS 错误**
|
||||
1. 确认已在 Bucket 中配置 CORS 规则(参考上方配置指南)
|
||||
2. 检查 AllowedOrigin 是否包含你的域名
|
||||
3. 确认 AllowedMethod 包含 PUT 方法
|
||||
4. 检查 AllowedHeader 设置为 *
|
||||
|
||||
**Q: 邮件发送失败**
|
||||
1. 检查 SMTP 配置是否正确
|
||||
2. 确认 SMTP 密码是授权码(非登录密码)
|
||||
3. 查看后端日志排查错误
|
||||
|
||||
## 📝 更新日志
|
||||
|
||||
### v3.1.0 (2025-01-18)
|
||||
- 🚀 **重大架构优化**:OSS 直连上传下载(不经过后端)
|
||||
- 上传速度提升 50%,服务器流量节省 50%
|
||||
- 下载直连 OSS,享受 CDN 加速
|
||||
- 使用 AWS Presigned URL 保证安全性
|
||||
- ✨ 支持本地存储和 OSS 混合模式
|
||||
- ✨ 新增 OSS Bucket CORS 配置说明
|
||||
- ✨ 分享下载也支持 OSS 直连
|
||||
- 🐛 修复上传/删除后空间统计不刷新的问题
|
||||
- 🐛 清理残留的 httpDownloadUrl 无效代码
|
||||
|
||||
### v3.0.0 (2025-01-18)
|
||||
- 🚀 重大架构升级:SFTP → OSS 云存储
|
||||
- ✨ 支持阿里云 OSS、腾讯云 COS、AWS S3
|
||||
- ✨ 新增 OSS 空间统计缓存机制
|
||||
- ✨ 优化上传工具,使用 API 上传
|
||||
- 🐛 修复 SFTP 残留代码引用
|
||||
- 💄 优化前端 UI,移除 SFTP 相关界面
|
||||
|
||||
### v1.1.0 (2025-11-13)
|
||||
- ✨ 新增登录验证码功能
|
||||
- ✨ 新增登录防爆破保护(5次失败封锁30分钟)
|
||||
- ✨ 新增分享密码防爆破保护(10次失败封锁20分钟)
|
||||
- ✨ 支持反向代理 X-Forwarded-For
|
||||
- 🐛 修复更新脚本导致上传工具丢失
|
||||
- 💄 优化管理面板界面
|
||||
|
||||
### v1.0.0 (2025-11-01)
|
||||
- 🎉 首个正式版本发布
|
||||
- ✨ 完整的文件管理功能
|
||||
- ✨ 双存储模式(本地/OSS)
|
||||
- ✨ 文件分享功能
|
||||
- ✨ 用户管理系统
|
||||
- ✨ 邮件验证和密码重置
|
||||
- ✨ 桌面上传工具
|
||||
- ✨ 一键部署脚本
|
||||
|
||||
完整更新日志请查看 [VERSION.txt](./VERSION.txt)
|
||||
|
||||
## 🤝 贡献指南
|
||||
|
||||
欢迎提交 Issue 和 Pull Request!
|
||||
|
||||
### 开发环境搭建
|
||||
|
||||
```bash
|
||||
# 克隆项目
|
||||
git clone https://git.workyai.cn/237899745/vue-driven-cloud-storage.git
|
||||
cd vue-driven-cloud-storage
|
||||
|
||||
# 安装依赖
|
||||
cd backend && npm install
|
||||
|
||||
# 启动开发服务器
|
||||
node server.js
|
||||
```
|
||||
|
||||
### 提交规范
|
||||
|
||||
- feat: 新功能
|
||||
- fix: 修复bug
|
||||
- docs: 文档更新
|
||||
- style: 代码格式调整
|
||||
- refactor: 重构
|
||||
- test: 测试相关
|
||||
- chore: 构建/工具相关
|
||||
|
||||
## 📄 许可证
|
||||
|
||||
本项目仅供学习和个人使用。
|
||||
|
||||
## 💬 联系方式
|
||||
|
||||
- **项目地址**: https://git.workyai.cn/237899745/vue-driven-cloud-storage
|
||||
- **Gitee镜像**: https://gitee.com/yu-yon/vue-driven-cloud-storage
|
||||
- **问题反馈**: 请在 Gitea 提交 Issue
|
||||
|
||||
## 🙏 致谢
|
||||
|
||||
感谢所有开源项目的贡献者!
|
||||
|
||||
---
|
||||
|
||||
**玩玩云** - 让云存储管理更简单 ☁️
|
||||
|
||||
<div align="center">
|
||||
|
||||
Made with ❤️ by 玩玩云团队
|
||||
|
||||
</div>
|
||||
131
VERSION.txt
Normal file
131
VERSION.txt
Normal file
@@ -0,0 +1,131 @@
|
||||
============================================
|
||||
玩玩云 (WanWanYun) - 版本历史
|
||||
============================================
|
||||
|
||||
当前版本: v3.1.0
|
||||
|
||||
============================================
|
||||
v3.1.0 (2025-01-18)
|
||||
============================================
|
||||
|
||||
重大架构优化:OSS 直连上传下载
|
||||
|
||||
新功能:
|
||||
- OSS 直连上传:文件直接从浏览器上传到 OSS,不经过后端服务器
|
||||
- OSS 直连下载:文件直接从 OSS 下载,享受 CDN 加速
|
||||
- 使用 AWS Presigned URL 保证安全性
|
||||
- 分享下载也支持 OSS 直连
|
||||
- 新增 OSS Bucket CORS 配置说明
|
||||
|
||||
性能提升:
|
||||
- 上传速度提升约 50%
|
||||
- 服务器流量节省约 50%
|
||||
- 下载速度取决于 OSS CDN 配置
|
||||
|
||||
Bug 修复:
|
||||
- 修复上传/删除后空间统计不刷新的问题
|
||||
- 清理残留的 httpDownloadUrl 无效代码
|
||||
|
||||
============================================
|
||||
v3.0.0 (2025-01-18)
|
||||
============================================
|
||||
|
||||
重大架构升级:SFTP -> OSS 云存储
|
||||
|
||||
新功能:
|
||||
- 支持阿里云 OSS
|
||||
- 支持腾讯云 COS
|
||||
- 支持 AWS S3 及兼容服务(如 MinIO)
|
||||
- 新增 OSS 空间统计缓存机制
|
||||
- 优化上传工具,使用 API 上传
|
||||
|
||||
架构变更:
|
||||
- 移除 SFTP 相关代码
|
||||
- 使用 AWS SDK v3 统一访问各云存储
|
||||
- 存储权限枚举:sftp_only -> oss_only
|
||||
- 存储类型枚举:sftp -> oss
|
||||
|
||||
Bug 修复:
|
||||
- 修复 SFTP 残留代码引用
|
||||
- 优化前端 UI,移除 SFTP 相关界面
|
||||
|
||||
============================================
|
||||
v2.0.0 (2025-11-15)
|
||||
============================================
|
||||
|
||||
新增本地存储功能
|
||||
|
||||
新功能:
|
||||
- 支持服务器本地存储
|
||||
- 支持本地存储和 SFTP 双模式
|
||||
- 新增用户存储配额管理
|
||||
- 新增存储类型切换功能
|
||||
|
||||
改进:
|
||||
- 优化文件管理界面
|
||||
- 增强错误提示
|
||||
|
||||
============================================
|
||||
v1.1.0 (2025-11-13)
|
||||
============================================
|
||||
|
||||
安全增强版本
|
||||
|
||||
新功能:
|
||||
- 登录验证码功能(2次密码错误后显示)
|
||||
- 登录防爆破保护(5次失败封锁30分钟)
|
||||
- 分享密码防爆破保护(10次失败封锁20分钟)
|
||||
- 支持反向代理 X-Forwarded-For
|
||||
|
||||
改进:
|
||||
- 优化管理面板界面
|
||||
- 增强安全日志记录
|
||||
|
||||
Bug 修复:
|
||||
- 修复更新脚本导致上传工具丢失
|
||||
|
||||
============================================
|
||||
v1.0.0 (2025-11-01)
|
||||
============================================
|
||||
|
||||
首个正式版本发布
|
||||
|
||||
核心功能:
|
||||
- 完整的文件管理功能
|
||||
- SFTP 远程存储
|
||||
- 本地存储模式
|
||||
- 文件分享功能(支持密码和有效期)
|
||||
- 用户管理系统
|
||||
- 邮件验证和密码重置
|
||||
- 桌面上传工具
|
||||
|
||||
技术特性:
|
||||
- JWT 令牌认证
|
||||
- bcrypt 密码加密
|
||||
- SQLite 数据库
|
||||
- Vue.js 3 前端
|
||||
- Express.js 后端
|
||||
- 一键部署脚本
|
||||
|
||||
============================================
|
||||
开发计划 (Roadmap)
|
||||
============================================
|
||||
|
||||
v3.2.0 (计划中):
|
||||
- [ ] 文件预览功能(图片、视频、文档)
|
||||
- [ ] 批量下载(ZIP 打包)
|
||||
- [ ] 文件搜索功能
|
||||
|
||||
v4.0.0 (远期):
|
||||
- [ ] 多租户支持
|
||||
- [ ] WebDAV 协议支持
|
||||
- [ ] 移动端 App
|
||||
|
||||
============================================
|
||||
技术支持
|
||||
============================================
|
||||
|
||||
项目地址: https://git.workyai.cn/237899745/vue-driven-cloud-storage
|
||||
问题反馈: 请在 Gitea 提交 Issue
|
||||
|
||||
============================================
|
||||
46
backend/.dockerignore
Normal file
46
backend/.dockerignore
Normal file
@@ -0,0 +1,46 @@
|
||||
# 依赖目录
|
||||
node_modules
|
||||
|
||||
# 数据目录
|
||||
data/
|
||||
storage/
|
||||
|
||||
# 环境配置
|
||||
.env
|
||||
.env.local
|
||||
.env.*.local
|
||||
|
||||
# 日志
|
||||
*.log
|
||||
npm-debug.log*
|
||||
|
||||
# 编辑器
|
||||
.idea/
|
||||
.vscode/
|
||||
*.swp
|
||||
*.swo
|
||||
*~
|
||||
|
||||
# 操作系统
|
||||
.DS_Store
|
||||
Thumbs.db
|
||||
|
||||
# 测试和开发文件
|
||||
*.test.js
|
||||
*.spec.js
|
||||
test/
|
||||
tests/
|
||||
coverage/
|
||||
|
||||
# 文档
|
||||
*.md
|
||||
!README.md
|
||||
|
||||
# Git
|
||||
.git
|
||||
.gitignore
|
||||
|
||||
# 临时文件
|
||||
*.tmp
|
||||
*.temp
|
||||
.cache/
|
||||
53
backend/.env
Normal file
53
backend/.env
Normal file
@@ -0,0 +1,53 @@
|
||||
# 管理员账号
|
||||
ADMIN_USERNAME=237899745
|
||||
ADMIN_PASSWORD=wwww1234
|
||||
|
||||
# JWT密钥
|
||||
JWT_SECRET=o0RMdnY2XnPXdr4CI7oEuh6XNJPe4qR+m2/+TwiZzuA=
|
||||
|
||||
# Session密钥(用于会话管理)
|
||||
SESSION_SECRET=205696c626f70c8e292e7ca76833ae5ec04c097e8d3d59cc08f746563dd7bf48
|
||||
|
||||
# 数据库路径
|
||||
DATABASE_PATH=./data/database.db
|
||||
|
||||
# 存储目录
|
||||
STORAGE_ROOT=./storage
|
||||
|
||||
# 服务端口
|
||||
PORT=40001
|
||||
|
||||
# 环境
|
||||
NODE_ENV=production
|
||||
|
||||
# 强制HTTPS(生产环境建议开启)
|
||||
ENFORCE_HTTPS=true
|
||||
|
||||
# CORS 跨域配置
|
||||
# 允许访问的前端域名(多个用逗号分隔)
|
||||
# 生产环境必须配置具体域名,开发环境可留空
|
||||
ALLOWED_ORIGINS=https://cs.workyai.cn
|
||||
|
||||
# Cookie 安全配置
|
||||
# HTTPS 环境必须设置为 true
|
||||
COOKIE_SECURE=true
|
||||
|
||||
# 信任代理配置(重要安全配置)
|
||||
# 在 Nginx/CDN 后部署时必须配置,否则无法正确识别客户端 IP 和协议
|
||||
# 配置选项:
|
||||
# - false: 不信任代理(直接暴露,默认值)
|
||||
# - 1: 信任前 1 跳代理(单层 Nginx,推荐)
|
||||
# - 2: 信任前 2 跳代理(CDN + Nginx)
|
||||
# - loopback: 仅信任本地回环地址
|
||||
# 警告:不要设置为 true,这会信任所有代理,存在 IP/协议伪造风险!
|
||||
TRUST_PROXY=1
|
||||
|
||||
# 公开端口(nginx监听的端口,用于生成分享链接)
|
||||
# 如果使用标准端口(80/443)或未配置,分享链接将不包含端口号
|
||||
PUBLIC_PORT=80
|
||||
|
||||
# 加密密钥(用于加密OSS等敏感信息)
|
||||
ENCRYPTION_KEY=95a5679636f7fd98f040d0bb54bd95edc035dba610cd6ebb5998181926783a09
|
||||
|
||||
# CSRF 保护(生产环境强烈建议开启)
|
||||
ENABLE_CSRF=true
|
||||
168
backend/.env.example
Normal file
168
backend/.env.example
Normal file
@@ -0,0 +1,168 @@
|
||||
# ============================================
|
||||
# 玩玩云 - 环境配置文件示例
|
||||
# ============================================
|
||||
#
|
||||
# 使用说明:
|
||||
# 1. 复制此文件为 .env
|
||||
# 2. 根据实际情况修改配置值
|
||||
# 3. ⚠️ 生产环境必须修改默认密码和密钥
|
||||
#
|
||||
|
||||
# ============================================
|
||||
# 服务器配置
|
||||
# ============================================
|
||||
|
||||
# 服务端口
|
||||
PORT=40001
|
||||
|
||||
# 运行环境(production 或 development)
|
||||
NODE_ENV=production
|
||||
|
||||
# 强制HTTPS访问(生产环境建议开启)
|
||||
# 设置为 true 时,仅接受 HTTPS 访问
|
||||
ENFORCE_HTTPS=false
|
||||
|
||||
# 公开访问端口(nginx监听的端口,用于生成分享链接)
|
||||
# 标准端口(80/443)可不配置
|
||||
PUBLIC_PORT=80
|
||||
|
||||
# ============================================
|
||||
# 安全配置
|
||||
# ============================================
|
||||
|
||||
# 加密密钥(必须配置!)
|
||||
# 用于加密 OSS Access Key Secret 等敏感数据
|
||||
# 生成方法: node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"
|
||||
ENCRYPTION_KEY=your-encryption-key-please-change-this
|
||||
|
||||
# JWT密钥(必须修改!)
|
||||
# 生成方法: openssl rand -base64 32
|
||||
# 或使用: node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"
|
||||
JWT_SECRET=your-secret-key-PLEASE-CHANGE-THIS-IN-PRODUCTION
|
||||
|
||||
# Refresh Token 密钥(可选,默认使用 JWT_SECRET 派生)
|
||||
# 建议生产环境设置独立的密钥
|
||||
# REFRESH_SECRET=your-refresh-secret-key
|
||||
|
||||
# 管理员账号配置(首次启动时创建)
|
||||
ADMIN_USERNAME=admin
|
||||
ADMIN_PASSWORD=admin123
|
||||
|
||||
# ============================================
|
||||
# CORS 跨域配置(重要!)
|
||||
# ============================================
|
||||
|
||||
# 允许访问的前端域名
|
||||
#
|
||||
# 格式说明:
|
||||
# - 单个域名: https://yourdomain.com
|
||||
# - 多个域名: https://domain1.com,https://domain2.com
|
||||
# - 开发环境: 留空或设置为 * (不安全,仅开发使用)
|
||||
#
|
||||
# ⚠️ 生产环境安全要求:
|
||||
# 1. 必须配置具体的域名,不要使用 *
|
||||
# 2. 必须包含协议 (http:// 或 https://)
|
||||
# 3. 如果使用非标准端口,需要包含端口号
|
||||
#
|
||||
# 示例:
|
||||
# ALLOWED_ORIGINS=https://pan.example.com
|
||||
# ALLOWED_ORIGINS=https://pan.example.com,https://admin.example.com
|
||||
# ALLOWED_ORIGINS=http://localhost:8080 # 开发环境
|
||||
#
|
||||
ALLOWED_ORIGINS=
|
||||
|
||||
# Cookie 安全配置
|
||||
# 使用 HTTPS 时必须设置为 true
|
||||
# HTTP 环境设置为 false
|
||||
COOKIE_SECURE=false
|
||||
|
||||
# CSRF 防护配置
|
||||
# 启用 CSRF 保护(建议生产环境开启)
|
||||
# 前端会自动从 Cookie 读取 csrf_token 并在请求头中发送
|
||||
ENABLE_CSRF=false
|
||||
|
||||
# ============================================
|
||||
# 反向代理配置(Nginx/Cloudflare等)
|
||||
# ============================================
|
||||
|
||||
# 信任代理配置
|
||||
#
|
||||
# 配置选项:
|
||||
# - false: 不信任代理(默认,直接暴露到公网时使用)
|
||||
# - 1: 信任第1跳代理(推荐,单层Nginx反向代理时使用)
|
||||
# - 2: 信任前2跳代理(Cloudflare + Nginx)
|
||||
# - loopback: 仅信任本地回环地址
|
||||
# - true: 信任所有代理(不推荐,易被伪造IP)
|
||||
#
|
||||
# ⚠️ 重要: 如果使用 Nginx 反向代理并开启 ENFORCE_HTTPS=true
|
||||
# 必须配置 TRUST_PROXY=1,否则后端无法正确识别HTTPS请求
|
||||
#
|
||||
TRUST_PROXY=false
|
||||
|
||||
# ============================================
|
||||
# 存储配置
|
||||
# ============================================
|
||||
|
||||
# 数据库路径
|
||||
DATABASE_PATH=./data/database.db
|
||||
|
||||
# 本地存储根目录(本地存储模式使用)
|
||||
STORAGE_ROOT=./storage
|
||||
|
||||
# ============================================
|
||||
# OSS 云存储配置(可选)
|
||||
# ============================================
|
||||
#
|
||||
# 说明: 用户可以在 Web 界面配置自己的 OSS 存储
|
||||
# 支持:阿里云 OSS、腾讯云 COS、AWS S3
|
||||
# 此处配置仅作为全局默认值(通常不需要配置)
|
||||
#
|
||||
|
||||
# OSS_PROVIDER=aliyun # 服务商: aliyun/tencent/aws
|
||||
# OSS_REGION=oss-cn-hangzhou # 地域
|
||||
# OSS_ACCESS_KEY_ID=your-key # Access Key ID
|
||||
# OSS_ACCESS_KEY_SECRET=secret # Access Key Secret
|
||||
# OSS_BUCKET=your-bucket # 存储桶名称
|
||||
# OSS_ENDPOINT= # 自定义 Endpoint(可选)
|
||||
|
||||
# ============================================
|
||||
# Session 配置
|
||||
# ============================================
|
||||
|
||||
# Session 密钥(用于验证码等功能)
|
||||
# 默认使用随机生成的密钥
|
||||
# SESSION_SECRET=your-session-secret
|
||||
|
||||
# Session 过期时间(毫秒),默认 30 分钟
|
||||
# SESSION_MAX_AGE=1800000
|
||||
|
||||
# ============================================
|
||||
# 开发调试配置
|
||||
# ============================================
|
||||
|
||||
# 日志级别 (error, warn, info, debug)
|
||||
# LOG_LEVEL=info
|
||||
|
||||
# 是否启用调试模式
|
||||
# DEBUG=false
|
||||
|
||||
# ============================================
|
||||
# 注意事项
|
||||
# ============================================
|
||||
#
|
||||
# 1. 生产环境必须修改以下配置:
|
||||
# - ENCRYPTION_KEY: 用于加密敏感数据(64位十六进制)
|
||||
# - JWT_SECRET: 使用强随机密钥(64位十六进制)
|
||||
# - ADMIN_PASSWORD: 修改默认密码
|
||||
# - ALLOWED_ORIGINS: 配置具体域名
|
||||
#
|
||||
# 2. 使用 HTTPS 时:
|
||||
# - ENFORCE_HTTPS=true
|
||||
# - COOKIE_SECURE=true
|
||||
# - TRUST_PROXY=1 (如使用反向代理)
|
||||
#
|
||||
# 3. 配置优先级:
|
||||
# 环境变量 > .env 文件 > 默认值
|
||||
#
|
||||
# 4. 密钥生成命令:
|
||||
# node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"
|
||||
28
backend/Dockerfile
Normal file
28
backend/Dockerfile
Normal file
@@ -0,0 +1,28 @@
|
||||
FROM node:20-alpine
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
# 安装编译工具和健康检查所需的 wget
|
||||
RUN apk add --no-cache python3 make g++ wget
|
||||
|
||||
# 复制 package 文件
|
||||
COPY package*.json ./
|
||||
|
||||
# 安装依赖
|
||||
RUN npm install --production
|
||||
|
||||
# 复制应用代码
|
||||
COPY . .
|
||||
|
||||
# 创建数据目录
|
||||
RUN mkdir -p /app/data /app/storage
|
||||
|
||||
# 暴露端口
|
||||
EXPOSE 40001
|
||||
|
||||
# 健康检查
|
||||
HEALTHCHECK --interval=30s --timeout=10s --start-period=40s --retries=3 \
|
||||
CMD wget --spider -q http://localhost:40001/api/health || exit 1
|
||||
|
||||
# 启动应用
|
||||
CMD ["node", "server.js"]
|
||||
314
backend/auth.js
Normal file
314
backend/auth.js
Normal file
@@ -0,0 +1,314 @@
|
||||
const jwt = require('jsonwebtoken');
|
||||
const crypto = require('crypto');
|
||||
const { UserDB } = require('./database');
|
||||
const { decryptSecret } = require('./utils/encryption');
|
||||
|
||||
// JWT密钥(必须在环境变量中设置)
|
||||
const JWT_SECRET = process.env.JWT_SECRET || 'your-secret-key-change-in-production';
|
||||
// Refresh Token密钥(使用不同的密钥)
|
||||
const REFRESH_SECRET = process.env.REFRESH_SECRET || JWT_SECRET + '-refresh';
|
||||
|
||||
// Token有效期配置
|
||||
const ACCESS_TOKEN_EXPIRES = '2h'; // Access token 2小时
|
||||
const REFRESH_TOKEN_EXPIRES = '7d'; // Refresh token 7天
|
||||
|
||||
// 安全检查:验证JWT密钥配置
|
||||
const DEFAULT_SECRETS = [
|
||||
'your-secret-key-change-in-production',
|
||||
'your-secret-key-change-in-production-PLEASE-CHANGE-THIS'
|
||||
];
|
||||
|
||||
// 安全修复:增强 JWT_SECRET 验证逻辑
|
||||
if (DEFAULT_SECRETS.includes(JWT_SECRET)) {
|
||||
const errorMsg = `
|
||||
╔═══════════════════════════════════════════════════════════════╗
|
||||
║ ⚠️ 安全警告 ⚠️ ║
|
||||
╠═══════════════════════════════════════════════════════════════╣
|
||||
║ JWT_SECRET 使用默认值,存在严重安全风险! ║
|
||||
║ ║
|
||||
║ 请立即设置环境变量 JWT_SECRET ║
|
||||
║ 生成随机密钥: ║
|
||||
║ node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"
|
||||
║ ║
|
||||
║ 在 backend/.env 文件中设置: ║
|
||||
║ JWT_SECRET=你生成的随机密钥 ║
|
||||
╚═══════════════════════════════════════════════════════════════╝
|
||||
`;
|
||||
|
||||
// 安全修复:无论环境如何,使用默认 JWT_SECRET 都拒绝启动
|
||||
console.error(errorMsg);
|
||||
throw new Error('使用默认 JWT_SECRET 存在严重安全风险,服务无法启动!');
|
||||
}
|
||||
|
||||
// 验证 JWT_SECRET 长度(至少 32 字节/64个十六进制字符)
|
||||
if (JWT_SECRET.length < 32) {
|
||||
const errorMsg = `
|
||||
╔═══════════════════════════════════════════════════════════════╗
|
||||
║ ⚠️ 配置错误 ⚠️ ║
|
||||
╠═══════════════════════════════════════════════════════════════╣
|
||||
║ JWT_SECRET 长度不足! ║
|
||||
║ ║
|
||||
║ 要求: 至少 32 字节 ║
|
||||
║ 当前长度: ${JWT_SECRET.length} 字节 ║
|
||||
║ ║
|
||||
║ 生成安全的随机密钥: ║
|
||||
║ node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"
|
||||
╚═══════════════════════════════════════════════════════════════╝
|
||||
`;
|
||||
console.error(errorMsg);
|
||||
throw new Error('JWT_SECRET 长度不足,服务无法启动!');
|
||||
}
|
||||
|
||||
console.log('[安全] ✓ JWT密钥验证通过');
|
||||
|
||||
// 生成Access Token(短期)
|
||||
function generateToken(user) {
|
||||
return jwt.sign(
|
||||
{
|
||||
id: user.id,
|
||||
username: user.username,
|
||||
is_admin: user.is_admin,
|
||||
type: 'access'
|
||||
},
|
||||
JWT_SECRET,
|
||||
{ expiresIn: ACCESS_TOKEN_EXPIRES }
|
||||
);
|
||||
}
|
||||
|
||||
// 生成Refresh Token(长期)
|
||||
function generateRefreshToken(user) {
|
||||
return jwt.sign(
|
||||
{
|
||||
id: user.id,
|
||||
type: 'refresh',
|
||||
// 添加随机标识,使每次生成的refresh token不同
|
||||
jti: crypto.randomBytes(16).toString('hex')
|
||||
},
|
||||
REFRESH_SECRET,
|
||||
{ expiresIn: REFRESH_TOKEN_EXPIRES }
|
||||
);
|
||||
}
|
||||
|
||||
// 验证Refresh Token并返回新的Access Token
|
||||
function refreshAccessToken(refreshToken) {
|
||||
try {
|
||||
const decoded = jwt.verify(refreshToken, REFRESH_SECRET);
|
||||
|
||||
if (decoded.type !== 'refresh') {
|
||||
return { success: false, message: '无效的刷新令牌类型' };
|
||||
}
|
||||
|
||||
const user = UserDB.findById(decoded.id);
|
||||
|
||||
if (!user) {
|
||||
return { success: false, message: '用户不存在' };
|
||||
}
|
||||
|
||||
if (user.is_banned) {
|
||||
return { success: false, message: '账号已被封禁' };
|
||||
}
|
||||
|
||||
if (!user.is_active) {
|
||||
return { success: false, message: '账号未激活' };
|
||||
}
|
||||
|
||||
// 生成新的access token
|
||||
const newAccessToken = generateToken(user);
|
||||
|
||||
return {
|
||||
success: true,
|
||||
token: newAccessToken,
|
||||
user: {
|
||||
id: user.id,
|
||||
username: user.username,
|
||||
is_admin: user.is_admin
|
||||
}
|
||||
};
|
||||
} catch (error) {
|
||||
if (error.name === 'TokenExpiredError') {
|
||||
return { success: false, message: '刷新令牌已过期,请重新登录' };
|
||||
}
|
||||
return { success: false, message: '无效的刷新令牌' };
|
||||
}
|
||||
}
|
||||
|
||||
// 验证Token中间件
|
||||
function authMiddleware(req, res, next) {
|
||||
// 从请求头或HttpOnly Cookie获取token(不再接受URL参数以避免泄露)
|
||||
const token = req.headers.authorization?.replace('Bearer ', '') || req.cookies?.token;
|
||||
|
||||
if (!token) {
|
||||
return res.status(401).json({
|
||||
success: false,
|
||||
message: '未提供认证令牌'
|
||||
});
|
||||
}
|
||||
|
||||
try {
|
||||
const decoded = jwt.verify(token, JWT_SECRET);
|
||||
const user = UserDB.findById(decoded.id);
|
||||
|
||||
if (!user) {
|
||||
return res.status(401).json({
|
||||
success: false,
|
||||
message: '用户不存在'
|
||||
});
|
||||
}
|
||||
|
||||
if (user.is_banned) {
|
||||
return res.status(403).json({
|
||||
success: false,
|
||||
message: '账号已被封禁'
|
||||
});
|
||||
}
|
||||
|
||||
if (!user.is_active) {
|
||||
return res.status(403).json({
|
||||
success: false,
|
||||
message: '账号未激活'
|
||||
});
|
||||
}
|
||||
|
||||
// 将用户信息附加到请求对象(包含所有存储相关字段)
|
||||
req.user = {
|
||||
id: user.id,
|
||||
username: user.username,
|
||||
email: user.email,
|
||||
is_admin: user.is_admin,
|
||||
// OSS存储字段(v3.0新增)
|
||||
has_oss_config: user.has_oss_config || 0,
|
||||
oss_provider: user.oss_provider,
|
||||
oss_region: user.oss_region,
|
||||
oss_access_key_id: user.oss_access_key_id,
|
||||
// 安全修复:解密 OSS Access Key Secret(如果存在)
|
||||
oss_access_key_secret: user.oss_access_key_secret ? decryptSecret(user.oss_access_key_secret) : null,
|
||||
oss_bucket: user.oss_bucket,
|
||||
oss_endpoint: user.oss_endpoint,
|
||||
// 存储相关字段
|
||||
storage_permission: user.storage_permission || 'oss_only',
|
||||
current_storage_type: user.current_storage_type || 'oss',
|
||||
local_storage_quota: user.local_storage_quota || 1073741824,
|
||||
local_storage_used: user.local_storage_used || 0,
|
||||
// 主题偏好
|
||||
theme_preference: user.theme_preference || null
|
||||
};
|
||||
|
||||
next();
|
||||
} catch (error) {
|
||||
if (error.name === 'TokenExpiredError') {
|
||||
return res.status(401).json({
|
||||
success: false,
|
||||
message: '令牌已过期'
|
||||
});
|
||||
}
|
||||
|
||||
return res.status(401).json({
|
||||
success: false,
|
||||
message: '无效的令牌'
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
// 管理员权限中间件
|
||||
function adminMiddleware(req, res, next) {
|
||||
if (!req.user || !req.user.is_admin) {
|
||||
return res.status(403).json({
|
||||
success: false,
|
||||
message: '需要管理员权限'
|
||||
});
|
||||
}
|
||||
next();
|
||||
}
|
||||
|
||||
/**
|
||||
* 管理员敏感操作二次验证中间件
|
||||
*
|
||||
* 要求管理员重新输入密码才能执行敏感操作
|
||||
* 防止会话劫持后的非法操作
|
||||
*
|
||||
* @example
|
||||
* app.delete('/api/admin/users/:id',
|
||||
* authMiddleware,
|
||||
* adminMiddleware,
|
||||
* requirePasswordConfirmation,
|
||||
* async (req, res) => { ... }
|
||||
* );
|
||||
*/
|
||||
function requirePasswordConfirmation(req, res, next) {
|
||||
const { password } = req.body;
|
||||
|
||||
// 检查是否提供了密码
|
||||
if (!password) {
|
||||
return res.status(400).json({
|
||||
success: false,
|
||||
message: '执行此操作需要验证密码',
|
||||
require_password: true
|
||||
});
|
||||
}
|
||||
|
||||
// 验证密码长度(防止空密码)
|
||||
if (password.length < 6) {
|
||||
return res.status(400).json({
|
||||
success: false,
|
||||
message: '密码格式错误'
|
||||
});
|
||||
}
|
||||
|
||||
// 从数据库重新获取用户信息(不依赖 req.user 中的数据)
|
||||
const user = UserDB.findById(req.user.id);
|
||||
|
||||
if (!user) {
|
||||
return res.status(404).json({
|
||||
success: false,
|
||||
message: '用户不存在'
|
||||
});
|
||||
}
|
||||
|
||||
// 验证密码
|
||||
const isPasswordValid = UserDB.verifyPassword(password, user.password);
|
||||
|
||||
if (!isPasswordValid) {
|
||||
// 记录安全日志:密码验证失败
|
||||
SystemLogDB = require('./database').SystemLogDB;
|
||||
SystemLogDB.log({
|
||||
level: SystemLogDB.LEVELS.WARN,
|
||||
category: SystemLogDB.CATEGORIES.SECURITY,
|
||||
action: 'admin_password_verification_failed',
|
||||
message: '管理员敏感操作密码验证失败',
|
||||
userId: req.user.id,
|
||||
username: req.user.username,
|
||||
ipAddress: req.ip,
|
||||
userAgent: req.get('user-agent'),
|
||||
details: {
|
||||
endpoint: req.path,
|
||||
method: req.method
|
||||
}
|
||||
});
|
||||
|
||||
return res.status(403).json({
|
||||
success: false,
|
||||
message: '密码验证失败,操作已拒绝'
|
||||
});
|
||||
}
|
||||
|
||||
// 密码验证成功,继续执行
|
||||
next();
|
||||
}
|
||||
|
||||
// 检查JWT密钥是否安全
|
||||
function isJwtSecretSecure() {
|
||||
return !DEFAULT_SECRETS.includes(JWT_SECRET) && JWT_SECRET.length >= 32;
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
JWT_SECRET,
|
||||
generateToken,
|
||||
generateRefreshToken,
|
||||
refreshAccessToken,
|
||||
authMiddleware,
|
||||
adminMiddleware,
|
||||
requirePasswordConfirmation, // 导出二次验证中间件
|
||||
isJwtSecretSecure,
|
||||
ACCESS_TOKEN_EXPIRES,
|
||||
REFRESH_TOKEN_EXPIRES
|
||||
};
|
||||
52
backend/backup.bat
Normal file
52
backend/backup.bat
Normal file
@@ -0,0 +1,52 @@
|
||||
@echo off
|
||||
chcp 65001 >nul
|
||||
echo ========================================
|
||||
echo 数据库备份工具
|
||||
echo ========================================
|
||||
echo.
|
||||
|
||||
cd /d %~dp0
|
||||
|
||||
REM 创建备份目录
|
||||
if not exist backup mkdir backup
|
||||
|
||||
REM 生成时间戳
|
||||
set YEAR=%date:~0,4%
|
||||
set MONTH=%date:~5,2%
|
||||
set DAY=%date:~8,2%
|
||||
set HOUR=%time:~0,2%
|
||||
set MINUTE=%time:~3,2%
|
||||
set SECOND=%time:~6,2%
|
||||
|
||||
REM 去掉小时前面的空格
|
||||
if "%HOUR:~0,1%" == " " set HOUR=0%HOUR:~1,1%
|
||||
|
||||
set TIMESTAMP=%YEAR%%MONTH%%DAY%_%HOUR%%MINUTE%%SECOND%
|
||||
|
||||
REM 备份数据库
|
||||
copy ftp-manager.db backup\ftp-manager-%TIMESTAMP%.db >nul
|
||||
|
||||
if %errorlevel% == 0 (
|
||||
echo [成功] 备份完成!
|
||||
echo 文件: backup\ftp-manager-%TIMESTAMP%.db
|
||||
|
||||
REM 获取文件大小
|
||||
for %%A in (backup\ftp-manager-%TIMESTAMP%.db) do echo 大小: %%~zA 字节
|
||||
) else (
|
||||
echo [错误] 备份失败!
|
||||
)
|
||||
|
||||
echo.
|
||||
|
||||
REM 清理30天前的备份
|
||||
echo 清理30天前的旧备份...
|
||||
forfiles /P backup /M ftp-manager-*.db /D -30 /C "cmd /c del @path" 2>nul
|
||||
if %errorlevel% == 0 (
|
||||
echo [成功] 旧备份已清理
|
||||
) else (
|
||||
echo [提示] 没有需要清理的旧备份
|
||||
)
|
||||
|
||||
echo.
|
||||
echo ========================================
|
||||
pause
|
||||
19
backend/check_expire.sql
Normal file
19
backend/check_expire.sql
Normal file
@@ -0,0 +1,19 @@
|
||||
SELECT
|
||||
share_code,
|
||||
substr(share_path, 1, 30) as path,
|
||||
created_at,
|
||||
expires_at,
|
||||
datetime('now') as current_time,
|
||||
CASE
|
||||
WHEN expires_at IS NULL THEN '永久有效'
|
||||
WHEN expires_at > datetime('now') THEN '未过期'
|
||||
ELSE '已过期'
|
||||
END as status,
|
||||
CASE
|
||||
WHEN expires_at IS NOT NULL AND expires_at > datetime('now') THEN '通过'
|
||||
WHEN expires_at IS NULL THEN '通过'
|
||||
ELSE '拦截'
|
||||
END as findByCode_result
|
||||
FROM shares
|
||||
ORDER BY created_at DESC
|
||||
LIMIT 10;
|
||||
0
backend/data/.gitkeep
Normal file
0
backend/data/.gitkeep
Normal file
BIN
backend/data/database.db
Normal file
BIN
backend/data/database.db
Normal file
Binary file not shown.
BIN
backend/data/database.db-shm
Normal file
BIN
backend/data/database.db-shm
Normal file
Binary file not shown.
BIN
backend/data/database.db-wal
Normal file
BIN
backend/data/database.db-wal
Normal file
Binary file not shown.
1464
backend/database.js
Normal file
1464
backend/database.js
Normal file
File diff suppressed because it is too large
Load Diff
34
backend/fix_expires_at_format.js
Normal file
34
backend/fix_expires_at_format.js
Normal file
@@ -0,0 +1,34 @@
|
||||
const { db } = require('./database');
|
||||
|
||||
console.log('开始修复 expires_at 格式...\n');
|
||||
|
||||
// 查找所有有过期时间的分享
|
||||
const shares = db.prepare(`
|
||||
SELECT id, share_code, expires_at
|
||||
FROM shares
|
||||
WHERE expires_at IS NOT NULL
|
||||
`).all();
|
||||
|
||||
console.log(`找到 ${shares.length} 条需要修复的记录\n`);
|
||||
|
||||
let fixed = 0;
|
||||
const updateStmt = db.prepare('UPDATE shares SET expires_at = ? WHERE id = ?');
|
||||
|
||||
shares.forEach(share => {
|
||||
const oldFormat = share.expires_at;
|
||||
|
||||
// 如果是ISO格式(包含T和Z),需要转换
|
||||
if (oldFormat.includes('T') || oldFormat.includes('Z')) {
|
||||
// 转换为 SQLite datetime 格式: YYYY-MM-DD HH:MM:SS
|
||||
const newFormat = oldFormat.replace('T', ' ').replace(/\.\d+Z$/, '');
|
||||
|
||||
updateStmt.run(newFormat, share.id);
|
||||
fixed++;
|
||||
|
||||
console.log(`✓ 修复分享 ${share.share_code}:`);
|
||||
console.log(` 旧格式: ${oldFormat}`);
|
||||
console.log(` 新格式: ${newFormat}\n`);
|
||||
}
|
||||
});
|
||||
|
||||
console.log(`\n修复完成! 共修复 ${fixed} 条记录`);
|
||||
1
backend/node_modules/.bin/bcrypt
generated
vendored
Symbolic link
1
backend/node_modules/.bin/bcrypt
generated
vendored
Symbolic link
@@ -0,0 +1 @@
|
||||
../bcryptjs/bin/bcrypt
|
||||
1
backend/node_modules/.bin/crc32
generated
vendored
Symbolic link
1
backend/node_modules/.bin/crc32
generated
vendored
Symbolic link
@@ -0,0 +1 @@
|
||||
../crc-32/bin/crc32.njs
|
||||
1
backend/node_modules/.bin/fxparser
generated
vendored
Symbolic link
1
backend/node_modules/.bin/fxparser
generated
vendored
Symbolic link
@@ -0,0 +1 @@
|
||||
../fast-xml-parser/src/cli/cli.js
|
||||
1
backend/node_modules/.bin/glob
generated
vendored
Symbolic link
1
backend/node_modules/.bin/glob
generated
vendored
Symbolic link
@@ -0,0 +1 @@
|
||||
../glob/dist/esm/bin.mjs
|
||||
1
backend/node_modules/.bin/mime
generated
vendored
Symbolic link
1
backend/node_modules/.bin/mime
generated
vendored
Symbolic link
@@ -0,0 +1 @@
|
||||
../mime/cli.js
|
||||
1
backend/node_modules/.bin/mkdirp
generated
vendored
Symbolic link
1
backend/node_modules/.bin/mkdirp
generated
vendored
Symbolic link
@@ -0,0 +1 @@
|
||||
../mkdirp/bin/cmd.js
|
||||
1
backend/node_modules/.bin/node-which
generated
vendored
Symbolic link
1
backend/node_modules/.bin/node-which
generated
vendored
Symbolic link
@@ -0,0 +1 @@
|
||||
../which/bin/node-which
|
||||
1
backend/node_modules/.bin/ot
generated
vendored
Symbolic link
1
backend/node_modules/.bin/ot
generated
vendored
Symbolic link
@@ -0,0 +1 @@
|
||||
../opentype.js/bin/ot
|
||||
1
backend/node_modules/.bin/prebuild-install
generated
vendored
Symbolic link
1
backend/node_modules/.bin/prebuild-install
generated
vendored
Symbolic link
@@ -0,0 +1 @@
|
||||
../prebuild-install/bin.js
|
||||
1
backend/node_modules/.bin/rc
generated
vendored
Symbolic link
1
backend/node_modules/.bin/rc
generated
vendored
Symbolic link
@@ -0,0 +1 @@
|
||||
../rc/cli.js
|
||||
1
backend/node_modules/.bin/semver
generated
vendored
Symbolic link
1
backend/node_modules/.bin/semver
generated
vendored
Symbolic link
@@ -0,0 +1 @@
|
||||
../semver/bin/semver.js
|
||||
4176
backend/node_modules/.package-lock.json
generated
vendored
Normal file
4176
backend/node_modules/.package-lock.json
generated
vendored
Normal file
File diff suppressed because it is too large
Load Diff
100
backend/node_modules/@aws-crypto/crc32/CHANGELOG.md
generated
vendored
Normal file
100
backend/node_modules/@aws-crypto/crc32/CHANGELOG.md
generated
vendored
Normal file
@@ -0,0 +1,100 @@
|
||||
# Change Log
|
||||
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
# [5.2.0](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/v5.1.0...v5.2.0) (2023-10-16)
|
||||
|
||||
### Features
|
||||
|
||||
- support ESM artifacts in all packages ([#752](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/752)) ([e930ffb](https://github.com/aws/aws-sdk-js-crypto-helpers/commit/e930ffba5cfef66dd242049e7d514ced232c1e3b))
|
||||
|
||||
# [5.1.0](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/v5.0.0...v5.1.0) (2023-09-22)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Update tsc to 2.x ([#735](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/735)) ([782e0de](https://github.com/aws/aws-sdk-js-crypto-helpers/commit/782e0de9f5fef41f694130580a69d940894b6b8c))
|
||||
|
||||
### Features
|
||||
|
||||
- Use @smithy/util-utf8 ([#730](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/730)) ([00fb851](https://github.com/aws/aws-sdk-js-crypto-helpers/commit/00fb851ca3559d5a1f370f9256814de1210826b8)), closes [#699](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/699)
|
||||
|
||||
# [5.0.0](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/v4.0.1...v5.0.0) (2023-07-13)
|
||||
|
||||
**Note:** Version bump only for package @aws-crypto/crc32
|
||||
|
||||
# [4.0.0](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/v3.0.0...v4.0.0) (2023-02-20)
|
||||
|
||||
**Note:** Version bump only for package @aws-crypto/crc32
|
||||
|
||||
# [3.0.0](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/v2.0.2...v3.0.0) (2023-01-12)
|
||||
|
||||
- feat!: replace Hash implementations with Checksum interface (#492) ([da43dc0](https://github.com/aws/aws-sdk-js-crypto-helpers/commit/da43dc0fdf669d9ebb5bfb1b1f7c79e46c4aaae1)), closes [#492](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/492)
|
||||
|
||||
### BREAKING CHANGES
|
||||
|
||||
- All classes that implemented `Hash` now implement `Checksum`.
|
||||
|
||||
## [2.0.2](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/v2.0.1...v2.0.2) (2022-09-07)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- **#337:** update @aws-sdk/types ([#373](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/373)) ([b26a811](https://github.com/aws/aws-sdk-js-crypto-helpers/commit/b26a811a392f5209c7ec7e57251500d4d78f97ff)), closes [#337](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/337)
|
||||
|
||||
## [2.0.1](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/v2.0.0...v2.0.1) (2021-12-09)
|
||||
|
||||
**Note:** Version bump only for package @aws-crypto/crc32
|
||||
|
||||
# [2.0.0](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/v1.2.2...v2.0.0) (2021-10-25)
|
||||
|
||||
**Note:** Version bump only for package @aws-crypto/crc32
|
||||
|
||||
## [1.2.2](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/v1.2.1...v1.2.2) (2021-10-12)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- **crc32c:** ie11 does not support Array.from ([#221](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/221)) ([5f49547](https://github.com/aws/aws-sdk-js-crypto-helpers/commit/5f495472ab8988cf203e0f2a70a51f7e1fcd7e60))
|
||||
|
||||
## [1.2.1](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/v1.2.0...v1.2.1) (2021-09-17)
|
||||
|
||||
**Note:** Version bump only for package @aws-crypto/crc32
|
||||
|
||||
# [1.2.0](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/v1.1.1...v1.2.0) (2021-09-17)
|
||||
|
||||
### Features
|
||||
|
||||
- Add AwsCrc32 Hash ([f5d7e81](https://github.com/aws/aws-sdk-js-crypto-helpers/commit/f5d7e815fcbe0f8da1edb855fea3bd33eb1edc15))
|
||||
|
||||
# [1.1.0](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/@aws-crypto/crc32@1.0.0...@aws-crypto/crc32@1.1.0) (2021-08-11)
|
||||
|
||||
### Features
|
||||
|
||||
- Create CRC-32C implementation ([#201](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/201)) ([e43c7ec](https://github.com/aws/aws-sdk-js-crypto-helpers/commit/e43c7ecd30d6499fa696f5839ecc30502a34b8b6))
|
||||
|
||||
# [1.0.0](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/@aws-crypto/crc32@1.0.0-alpha.0...@aws-crypto/crc32@1.0.0) (2020-10-22)
|
||||
|
||||
**Note:** Version bump only for package @aws-crypto/crc32
|
||||
|
||||
# [1.0.0-alpha.0](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/@aws-crypto/crc32@0.1.0-preview.4...@aws-crypto/crc32@1.0.0-alpha.0) (2020-02-07)
|
||||
|
||||
**Note:** Version bump only for package @aws-crypto/crc32
|
||||
|
||||
# [0.1.0-preview.4](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/@aws-crypto/crc32@0.1.0-preview.2...@aws-crypto/crc32@0.1.0-preview.4) (2020-01-16)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Changed package.json files to point to the right Git repo ([#9](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/9)) ([028245d](https://github.com/aws/aws-sdk-js-crypto-helpers/commit/028245d72e642ca98d82226afb300eb154503c4a)), closes [#8](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/8)
|
||||
- lerna version maintains package-lock ([#14](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/14)) ([2ef29e1](https://github.com/aws/aws-sdk-js-crypto-helpers/commit/2ef29e13779703a5c9b32e93d18918fcb33b7272)), closes [#13](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/13)
|
||||
|
||||
# [0.1.0-preview.3](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/@aws-crypto/crc32@0.1.0-preview.2...@aws-crypto/crc32@0.1.0-preview.3) (2019-11-15)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Changed package.json files to point to the right Git repo ([#9](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/9)) ([028245d](https://github.com/aws/aws-sdk-js-crypto-helpers/commit/028245d72e642ca98d82226afb300eb154503c4a)), closes [#8](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/8)
|
||||
- lerna version maintains package-lock ([#14](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/14)) ([2ef29e1](https://github.com/aws/aws-sdk-js-crypto-helpers/commit/2ef29e13779703a5c9b32e93d18918fcb33b7272)), closes [#13](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/13)
|
||||
|
||||
# [0.1.0-preview.2](https://github.com/aws/aws-javascript-crypto-helpers/compare/@aws-crypto/crc32@0.1.0-preview.1...@aws-crypto/crc32@0.1.0-preview.2) (2019-10-30)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- remove /src/ from .npmignore (for sourcemaps) ([#5](https://github.com/aws/aws-javascript-crypto-helpers/issues/5)) ([ec52056](https://github.com/aws/aws-javascript-crypto-helpers/commit/ec52056))
|
||||
201
backend/node_modules/@aws-crypto/crc32/LICENSE
generated
vendored
Normal file
201
backend/node_modules/@aws-crypto/crc32/LICENSE
generated
vendored
Normal file
@@ -0,0 +1,201 @@
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "{}"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright {yyyy} {name of copyright owner}
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
16
backend/node_modules/@aws-crypto/crc32/README.md
generated
vendored
Normal file
16
backend/node_modules/@aws-crypto/crc32/README.md
generated
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
# @aws-crypto/crc32
|
||||
|
||||
Pure JS implementation of CRC32 https://en.wikipedia.org/wiki/Cyclic_redundancy_check
|
||||
|
||||
## Usage
|
||||
|
||||
```
|
||||
import { Crc32 } from '@aws-crypto/crc32';
|
||||
|
||||
const crc32Digest = (new Crc32).update(buffer).digest()
|
||||
|
||||
```
|
||||
|
||||
## Test
|
||||
|
||||
`npm test`
|
||||
7
backend/node_modules/@aws-crypto/crc32/build/main/aws_crc32.d.ts
generated
vendored
Normal file
7
backend/node_modules/@aws-crypto/crc32/build/main/aws_crc32.d.ts
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
import { SourceData, Checksum } from "@aws-sdk/types";
|
||||
export declare class AwsCrc32 implements Checksum {
|
||||
private crc32;
|
||||
update(toHash: SourceData): void;
|
||||
digest(): Promise<Uint8Array>;
|
||||
reset(): void;
|
||||
}
|
||||
31
backend/node_modules/@aws-crypto/crc32/build/main/aws_crc32.js
generated
vendored
Normal file
31
backend/node_modules/@aws-crypto/crc32/build/main/aws_crc32.js
generated
vendored
Normal file
@@ -0,0 +1,31 @@
|
||||
"use strict";
|
||||
// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.AwsCrc32 = void 0;
|
||||
var tslib_1 = require("tslib");
|
||||
var util_1 = require("@aws-crypto/util");
|
||||
var index_1 = require("./index");
|
||||
var AwsCrc32 = /** @class */ (function () {
|
||||
function AwsCrc32() {
|
||||
this.crc32 = new index_1.Crc32();
|
||||
}
|
||||
AwsCrc32.prototype.update = function (toHash) {
|
||||
if ((0, util_1.isEmptyData)(toHash))
|
||||
return;
|
||||
this.crc32.update((0, util_1.convertToBuffer)(toHash));
|
||||
};
|
||||
AwsCrc32.prototype.digest = function () {
|
||||
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
||||
return tslib_1.__generator(this, function (_a) {
|
||||
return [2 /*return*/, (0, util_1.numToUint8)(this.crc32.digest())];
|
||||
});
|
||||
});
|
||||
};
|
||||
AwsCrc32.prototype.reset = function () {
|
||||
this.crc32 = new index_1.Crc32();
|
||||
};
|
||||
return AwsCrc32;
|
||||
}());
|
||||
exports.AwsCrc32 = AwsCrc32;
|
||||
//# sourceMappingURL=aws_crc32.js.map
|
||||
1
backend/node_modules/@aws-crypto/crc32/build/main/aws_crc32.js.map
generated
vendored
Normal file
1
backend/node_modules/@aws-crypto/crc32/build/main/aws_crc32.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"aws_crc32.js","sourceRoot":"","sources":["../../src/aws_crc32.ts"],"names":[],"mappings":";AAAA,oEAAoE;AACpE,sCAAsC;;;;AAGtC,yCAA4E;AAC5E,iCAAgC;AAEhC;IAAA;QACU,UAAK,GAAG,IAAI,aAAK,EAAE,CAAC;IAe9B,CAAC;IAbC,yBAAM,GAAN,UAAO,MAAkB;QACvB,IAAI,IAAA,kBAAW,EAAC,MAAM,CAAC;YAAE,OAAO;QAEhC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAA,sBAAe,EAAC,MAAM,CAAC,CAAC,CAAC;IAC7C,CAAC;IAEK,yBAAM,GAAZ;;;gBACE,sBAAO,IAAA,iBAAU,EAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAC;;;KACxC;IAED,wBAAK,GAAL;QACE,IAAI,CAAC,KAAK,GAAG,IAAI,aAAK,EAAE,CAAC;IAC3B,CAAC;IACH,eAAC;AAAD,CAAC,AAhBD,IAgBC;AAhBY,4BAAQ"}
|
||||
7
backend/node_modules/@aws-crypto/crc32/build/main/index.d.ts
generated
vendored
Normal file
7
backend/node_modules/@aws-crypto/crc32/build/main/index.d.ts
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
export declare function crc32(data: Uint8Array): number;
|
||||
export declare class Crc32 {
|
||||
private checksum;
|
||||
update(data: Uint8Array): this;
|
||||
digest(): number;
|
||||
}
|
||||
export { AwsCrc32 } from "./aws_crc32";
|
||||
108
backend/node_modules/@aws-crypto/crc32/build/main/index.js
generated
vendored
Normal file
108
backend/node_modules/@aws-crypto/crc32/build/main/index.js
generated
vendored
Normal file
@@ -0,0 +1,108 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.AwsCrc32 = exports.Crc32 = exports.crc32 = void 0;
|
||||
var tslib_1 = require("tslib");
|
||||
var util_1 = require("@aws-crypto/util");
|
||||
function crc32(data) {
|
||||
return new Crc32().update(data).digest();
|
||||
}
|
||||
exports.crc32 = crc32;
|
||||
var Crc32 = /** @class */ (function () {
|
||||
function Crc32() {
|
||||
this.checksum = 0xffffffff;
|
||||
}
|
||||
Crc32.prototype.update = function (data) {
|
||||
var e_1, _a;
|
||||
try {
|
||||
for (var data_1 = tslib_1.__values(data), data_1_1 = data_1.next(); !data_1_1.done; data_1_1 = data_1.next()) {
|
||||
var byte = data_1_1.value;
|
||||
this.checksum =
|
||||
(this.checksum >>> 8) ^ lookupTable[(this.checksum ^ byte) & 0xff];
|
||||
}
|
||||
}
|
||||
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
||||
finally {
|
||||
try {
|
||||
if (data_1_1 && !data_1_1.done && (_a = data_1.return)) _a.call(data_1);
|
||||
}
|
||||
finally { if (e_1) throw e_1.error; }
|
||||
}
|
||||
return this;
|
||||
};
|
||||
Crc32.prototype.digest = function () {
|
||||
return (this.checksum ^ 0xffffffff) >>> 0;
|
||||
};
|
||||
return Crc32;
|
||||
}());
|
||||
exports.Crc32 = Crc32;
|
||||
// prettier-ignore
|
||||
var a_lookUpTable = [
|
||||
0x00000000, 0x77073096, 0xEE0E612C, 0x990951BA,
|
||||
0x076DC419, 0x706AF48F, 0xE963A535, 0x9E6495A3,
|
||||
0x0EDB8832, 0x79DCB8A4, 0xE0D5E91E, 0x97D2D988,
|
||||
0x09B64C2B, 0x7EB17CBD, 0xE7B82D07, 0x90BF1D91,
|
||||
0x1DB71064, 0x6AB020F2, 0xF3B97148, 0x84BE41DE,
|
||||
0x1ADAD47D, 0x6DDDE4EB, 0xF4D4B551, 0x83D385C7,
|
||||
0x136C9856, 0x646BA8C0, 0xFD62F97A, 0x8A65C9EC,
|
||||
0x14015C4F, 0x63066CD9, 0xFA0F3D63, 0x8D080DF5,
|
||||
0x3B6E20C8, 0x4C69105E, 0xD56041E4, 0xA2677172,
|
||||
0x3C03E4D1, 0x4B04D447, 0xD20D85FD, 0xA50AB56B,
|
||||
0x35B5A8FA, 0x42B2986C, 0xDBBBC9D6, 0xACBCF940,
|
||||
0x32D86CE3, 0x45DF5C75, 0xDCD60DCF, 0xABD13D59,
|
||||
0x26D930AC, 0x51DE003A, 0xC8D75180, 0xBFD06116,
|
||||
0x21B4F4B5, 0x56B3C423, 0xCFBA9599, 0xB8BDA50F,
|
||||
0x2802B89E, 0x5F058808, 0xC60CD9B2, 0xB10BE924,
|
||||
0x2F6F7C87, 0x58684C11, 0xC1611DAB, 0xB6662D3D,
|
||||
0x76DC4190, 0x01DB7106, 0x98D220BC, 0xEFD5102A,
|
||||
0x71B18589, 0x06B6B51F, 0x9FBFE4A5, 0xE8B8D433,
|
||||
0x7807C9A2, 0x0F00F934, 0x9609A88E, 0xE10E9818,
|
||||
0x7F6A0DBB, 0x086D3D2D, 0x91646C97, 0xE6635C01,
|
||||
0x6B6B51F4, 0x1C6C6162, 0x856530D8, 0xF262004E,
|
||||
0x6C0695ED, 0x1B01A57B, 0x8208F4C1, 0xF50FC457,
|
||||
0x65B0D9C6, 0x12B7E950, 0x8BBEB8EA, 0xFCB9887C,
|
||||
0x62DD1DDF, 0x15DA2D49, 0x8CD37CF3, 0xFBD44C65,
|
||||
0x4DB26158, 0x3AB551CE, 0xA3BC0074, 0xD4BB30E2,
|
||||
0x4ADFA541, 0x3DD895D7, 0xA4D1C46D, 0xD3D6F4FB,
|
||||
0x4369E96A, 0x346ED9FC, 0xAD678846, 0xDA60B8D0,
|
||||
0x44042D73, 0x33031DE5, 0xAA0A4C5F, 0xDD0D7CC9,
|
||||
0x5005713C, 0x270241AA, 0xBE0B1010, 0xC90C2086,
|
||||
0x5768B525, 0x206F85B3, 0xB966D409, 0xCE61E49F,
|
||||
0x5EDEF90E, 0x29D9C998, 0xB0D09822, 0xC7D7A8B4,
|
||||
0x59B33D17, 0x2EB40D81, 0xB7BD5C3B, 0xC0BA6CAD,
|
||||
0xEDB88320, 0x9ABFB3B6, 0x03B6E20C, 0x74B1D29A,
|
||||
0xEAD54739, 0x9DD277AF, 0x04DB2615, 0x73DC1683,
|
||||
0xE3630B12, 0x94643B84, 0x0D6D6A3E, 0x7A6A5AA8,
|
||||
0xE40ECF0B, 0x9309FF9D, 0x0A00AE27, 0x7D079EB1,
|
||||
0xF00F9344, 0x8708A3D2, 0x1E01F268, 0x6906C2FE,
|
||||
0xF762575D, 0x806567CB, 0x196C3671, 0x6E6B06E7,
|
||||
0xFED41B76, 0x89D32BE0, 0x10DA7A5A, 0x67DD4ACC,
|
||||
0xF9B9DF6F, 0x8EBEEFF9, 0x17B7BE43, 0x60B08ED5,
|
||||
0xD6D6A3E8, 0xA1D1937E, 0x38D8C2C4, 0x4FDFF252,
|
||||
0xD1BB67F1, 0xA6BC5767, 0x3FB506DD, 0x48B2364B,
|
||||
0xD80D2BDA, 0xAF0A1B4C, 0x36034AF6, 0x41047A60,
|
||||
0xDF60EFC3, 0xA867DF55, 0x316E8EEF, 0x4669BE79,
|
||||
0xCB61B38C, 0xBC66831A, 0x256FD2A0, 0x5268E236,
|
||||
0xCC0C7795, 0xBB0B4703, 0x220216B9, 0x5505262F,
|
||||
0xC5BA3BBE, 0xB2BD0B28, 0x2BB45A92, 0x5CB36A04,
|
||||
0xC2D7FFA7, 0xB5D0CF31, 0x2CD99E8B, 0x5BDEAE1D,
|
||||
0x9B64C2B0, 0xEC63F226, 0x756AA39C, 0x026D930A,
|
||||
0x9C0906A9, 0xEB0E363F, 0x72076785, 0x05005713,
|
||||
0x95BF4A82, 0xE2B87A14, 0x7BB12BAE, 0x0CB61B38,
|
||||
0x92D28E9B, 0xE5D5BE0D, 0x7CDCEFB7, 0x0BDBDF21,
|
||||
0x86D3D2D4, 0xF1D4E242, 0x68DDB3F8, 0x1FDA836E,
|
||||
0x81BE16CD, 0xF6B9265B, 0x6FB077E1, 0x18B74777,
|
||||
0x88085AE6, 0xFF0F6A70, 0x66063BCA, 0x11010B5C,
|
||||
0x8F659EFF, 0xF862AE69, 0x616BFFD3, 0x166CCF45,
|
||||
0xA00AE278, 0xD70DD2EE, 0x4E048354, 0x3903B3C2,
|
||||
0xA7672661, 0xD06016F7, 0x4969474D, 0x3E6E77DB,
|
||||
0xAED16A4A, 0xD9D65ADC, 0x40DF0B66, 0x37D83BF0,
|
||||
0xA9BCAE53, 0xDEBB9EC5, 0x47B2CF7F, 0x30B5FFE9,
|
||||
0xBDBDF21C, 0xCABAC28A, 0x53B39330, 0x24B4A3A6,
|
||||
0xBAD03605, 0xCDD70693, 0x54DE5729, 0x23D967BF,
|
||||
0xB3667A2E, 0xC4614AB8, 0x5D681B02, 0x2A6F2B94,
|
||||
0xB40BBE37, 0xC30C8EA1, 0x5A05DF1B, 0x2D02EF8D,
|
||||
];
|
||||
var lookupTable = (0, util_1.uint32ArrayFrom)(a_lookUpTable);
|
||||
var aws_crc32_1 = require("./aws_crc32");
|
||||
Object.defineProperty(exports, "AwsCrc32", { enumerable: true, get: function () { return aws_crc32_1.AwsCrc32; } });
|
||||
//# sourceMappingURL=index.js.map
|
||||
1
backend/node_modules/@aws-crypto/crc32/build/main/index.js.map
generated
vendored
Normal file
1
backend/node_modules/@aws-crypto/crc32/build/main/index.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;AAAA,yCAAiD;AAEjD,SAAgB,KAAK,CAAC,IAAgB;IACpC,OAAO,IAAI,KAAK,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;AAC3C,CAAC;AAFD,sBAEC;AAED;IAAA;QACU,aAAQ,GAAG,UAAU,CAAC;IAchC,CAAC;IAZC,sBAAM,GAAN,UAAO,IAAgB;;;YACrB,KAAmB,IAAA,SAAA,iBAAA,IAAI,CAAA,0BAAA,4CAAE;gBAApB,IAAM,IAAI,iBAAA;gBACb,IAAI,CAAC,QAAQ;oBACX,CAAC,IAAI,CAAC,QAAQ,KAAK,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;aACtE;;;;;;;;;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,sBAAM,GAAN;QACE,OAAO,CAAC,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;IACH,YAAC;AAAD,CAAC,AAfD,IAeC;AAfY,sBAAK;AAiBlB,kBAAkB;AAClB,IAAM,aAAa,GAAG;IACpB,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;CAC/C,CAAC;AACF,IAAM,WAAW,GAAgB,IAAA,sBAAe,EAAC,aAAa,CAAC,CAAA;AAC/D,yCAAuC;AAA9B,qGAAA,QAAQ,OAAA"}
|
||||
7
backend/node_modules/@aws-crypto/crc32/build/module/aws_crc32.d.ts
generated
vendored
Normal file
7
backend/node_modules/@aws-crypto/crc32/build/module/aws_crc32.d.ts
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
import { SourceData, Checksum } from "@aws-sdk/types";
|
||||
export declare class AwsCrc32 implements Checksum {
|
||||
private crc32;
|
||||
update(toHash: SourceData): void;
|
||||
digest(): Promise<Uint8Array>;
|
||||
reset(): void;
|
||||
}
|
||||
28
backend/node_modules/@aws-crypto/crc32/build/module/aws_crc32.js
generated
vendored
Normal file
28
backend/node_modules/@aws-crypto/crc32/build/module/aws_crc32.js
generated
vendored
Normal file
@@ -0,0 +1,28 @@
|
||||
// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
import { __awaiter, __generator } from "tslib";
|
||||
import { convertToBuffer, isEmptyData, numToUint8 } from "@aws-crypto/util";
|
||||
import { Crc32 } from "./index";
|
||||
var AwsCrc32 = /** @class */ (function () {
|
||||
function AwsCrc32() {
|
||||
this.crc32 = new Crc32();
|
||||
}
|
||||
AwsCrc32.prototype.update = function (toHash) {
|
||||
if (isEmptyData(toHash))
|
||||
return;
|
||||
this.crc32.update(convertToBuffer(toHash));
|
||||
};
|
||||
AwsCrc32.prototype.digest = function () {
|
||||
return __awaiter(this, void 0, void 0, function () {
|
||||
return __generator(this, function (_a) {
|
||||
return [2 /*return*/, numToUint8(this.crc32.digest())];
|
||||
});
|
||||
});
|
||||
};
|
||||
AwsCrc32.prototype.reset = function () {
|
||||
this.crc32 = new Crc32();
|
||||
};
|
||||
return AwsCrc32;
|
||||
}());
|
||||
export { AwsCrc32 };
|
||||
//# sourceMappingURL=aws_crc32.js.map
|
||||
1
backend/node_modules/@aws-crypto/crc32/build/module/aws_crc32.js.map
generated
vendored
Normal file
1
backend/node_modules/@aws-crypto/crc32/build/module/aws_crc32.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"aws_crc32.js","sourceRoot":"","sources":["../../src/aws_crc32.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,sCAAsC;;AAGtC,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC;IAAA;QACU,UAAK,GAAG,IAAI,KAAK,EAAE,CAAC;IAe9B,CAAC;IAbC,yBAAM,GAAN,UAAO,MAAkB;QACvB,IAAI,WAAW,CAAC,MAAM,CAAC;YAAE,OAAO;QAEhC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7C,CAAC;IAEK,yBAAM,GAAZ;;;gBACE,sBAAO,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAC;;;KACxC;IAED,wBAAK,GAAL;QACE,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;IAC3B,CAAC;IACH,eAAC;AAAD,CAAC,AAhBD,IAgBC"}
|
||||
7
backend/node_modules/@aws-crypto/crc32/build/module/index.d.ts
generated
vendored
Normal file
7
backend/node_modules/@aws-crypto/crc32/build/module/index.d.ts
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
export declare function crc32(data: Uint8Array): number;
|
||||
export declare class Crc32 {
|
||||
private checksum;
|
||||
update(data: Uint8Array): this;
|
||||
digest(): number;
|
||||
}
|
||||
export { AwsCrc32 } from "./aws_crc32";
|
||||
103
backend/node_modules/@aws-crypto/crc32/build/module/index.js
generated
vendored
Normal file
103
backend/node_modules/@aws-crypto/crc32/build/module/index.js
generated
vendored
Normal file
@@ -0,0 +1,103 @@
|
||||
import { __values } from "tslib";
|
||||
import { uint32ArrayFrom } from "@aws-crypto/util";
|
||||
export function crc32(data) {
|
||||
return new Crc32().update(data).digest();
|
||||
}
|
||||
var Crc32 = /** @class */ (function () {
|
||||
function Crc32() {
|
||||
this.checksum = 0xffffffff;
|
||||
}
|
||||
Crc32.prototype.update = function (data) {
|
||||
var e_1, _a;
|
||||
try {
|
||||
for (var data_1 = __values(data), data_1_1 = data_1.next(); !data_1_1.done; data_1_1 = data_1.next()) {
|
||||
var byte = data_1_1.value;
|
||||
this.checksum =
|
||||
(this.checksum >>> 8) ^ lookupTable[(this.checksum ^ byte) & 0xff];
|
||||
}
|
||||
}
|
||||
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
||||
finally {
|
||||
try {
|
||||
if (data_1_1 && !data_1_1.done && (_a = data_1.return)) _a.call(data_1);
|
||||
}
|
||||
finally { if (e_1) throw e_1.error; }
|
||||
}
|
||||
return this;
|
||||
};
|
||||
Crc32.prototype.digest = function () {
|
||||
return (this.checksum ^ 0xffffffff) >>> 0;
|
||||
};
|
||||
return Crc32;
|
||||
}());
|
||||
export { Crc32 };
|
||||
// prettier-ignore
|
||||
var a_lookUpTable = [
|
||||
0x00000000, 0x77073096, 0xEE0E612C, 0x990951BA,
|
||||
0x076DC419, 0x706AF48F, 0xE963A535, 0x9E6495A3,
|
||||
0x0EDB8832, 0x79DCB8A4, 0xE0D5E91E, 0x97D2D988,
|
||||
0x09B64C2B, 0x7EB17CBD, 0xE7B82D07, 0x90BF1D91,
|
||||
0x1DB71064, 0x6AB020F2, 0xF3B97148, 0x84BE41DE,
|
||||
0x1ADAD47D, 0x6DDDE4EB, 0xF4D4B551, 0x83D385C7,
|
||||
0x136C9856, 0x646BA8C0, 0xFD62F97A, 0x8A65C9EC,
|
||||
0x14015C4F, 0x63066CD9, 0xFA0F3D63, 0x8D080DF5,
|
||||
0x3B6E20C8, 0x4C69105E, 0xD56041E4, 0xA2677172,
|
||||
0x3C03E4D1, 0x4B04D447, 0xD20D85FD, 0xA50AB56B,
|
||||
0x35B5A8FA, 0x42B2986C, 0xDBBBC9D6, 0xACBCF940,
|
||||
0x32D86CE3, 0x45DF5C75, 0xDCD60DCF, 0xABD13D59,
|
||||
0x26D930AC, 0x51DE003A, 0xC8D75180, 0xBFD06116,
|
||||
0x21B4F4B5, 0x56B3C423, 0xCFBA9599, 0xB8BDA50F,
|
||||
0x2802B89E, 0x5F058808, 0xC60CD9B2, 0xB10BE924,
|
||||
0x2F6F7C87, 0x58684C11, 0xC1611DAB, 0xB6662D3D,
|
||||
0x76DC4190, 0x01DB7106, 0x98D220BC, 0xEFD5102A,
|
||||
0x71B18589, 0x06B6B51F, 0x9FBFE4A5, 0xE8B8D433,
|
||||
0x7807C9A2, 0x0F00F934, 0x9609A88E, 0xE10E9818,
|
||||
0x7F6A0DBB, 0x086D3D2D, 0x91646C97, 0xE6635C01,
|
||||
0x6B6B51F4, 0x1C6C6162, 0x856530D8, 0xF262004E,
|
||||
0x6C0695ED, 0x1B01A57B, 0x8208F4C1, 0xF50FC457,
|
||||
0x65B0D9C6, 0x12B7E950, 0x8BBEB8EA, 0xFCB9887C,
|
||||
0x62DD1DDF, 0x15DA2D49, 0x8CD37CF3, 0xFBD44C65,
|
||||
0x4DB26158, 0x3AB551CE, 0xA3BC0074, 0xD4BB30E2,
|
||||
0x4ADFA541, 0x3DD895D7, 0xA4D1C46D, 0xD3D6F4FB,
|
||||
0x4369E96A, 0x346ED9FC, 0xAD678846, 0xDA60B8D0,
|
||||
0x44042D73, 0x33031DE5, 0xAA0A4C5F, 0xDD0D7CC9,
|
||||
0x5005713C, 0x270241AA, 0xBE0B1010, 0xC90C2086,
|
||||
0x5768B525, 0x206F85B3, 0xB966D409, 0xCE61E49F,
|
||||
0x5EDEF90E, 0x29D9C998, 0xB0D09822, 0xC7D7A8B4,
|
||||
0x59B33D17, 0x2EB40D81, 0xB7BD5C3B, 0xC0BA6CAD,
|
||||
0xEDB88320, 0x9ABFB3B6, 0x03B6E20C, 0x74B1D29A,
|
||||
0xEAD54739, 0x9DD277AF, 0x04DB2615, 0x73DC1683,
|
||||
0xE3630B12, 0x94643B84, 0x0D6D6A3E, 0x7A6A5AA8,
|
||||
0xE40ECF0B, 0x9309FF9D, 0x0A00AE27, 0x7D079EB1,
|
||||
0xF00F9344, 0x8708A3D2, 0x1E01F268, 0x6906C2FE,
|
||||
0xF762575D, 0x806567CB, 0x196C3671, 0x6E6B06E7,
|
||||
0xFED41B76, 0x89D32BE0, 0x10DA7A5A, 0x67DD4ACC,
|
||||
0xF9B9DF6F, 0x8EBEEFF9, 0x17B7BE43, 0x60B08ED5,
|
||||
0xD6D6A3E8, 0xA1D1937E, 0x38D8C2C4, 0x4FDFF252,
|
||||
0xD1BB67F1, 0xA6BC5767, 0x3FB506DD, 0x48B2364B,
|
||||
0xD80D2BDA, 0xAF0A1B4C, 0x36034AF6, 0x41047A60,
|
||||
0xDF60EFC3, 0xA867DF55, 0x316E8EEF, 0x4669BE79,
|
||||
0xCB61B38C, 0xBC66831A, 0x256FD2A0, 0x5268E236,
|
||||
0xCC0C7795, 0xBB0B4703, 0x220216B9, 0x5505262F,
|
||||
0xC5BA3BBE, 0xB2BD0B28, 0x2BB45A92, 0x5CB36A04,
|
||||
0xC2D7FFA7, 0xB5D0CF31, 0x2CD99E8B, 0x5BDEAE1D,
|
||||
0x9B64C2B0, 0xEC63F226, 0x756AA39C, 0x026D930A,
|
||||
0x9C0906A9, 0xEB0E363F, 0x72076785, 0x05005713,
|
||||
0x95BF4A82, 0xE2B87A14, 0x7BB12BAE, 0x0CB61B38,
|
||||
0x92D28E9B, 0xE5D5BE0D, 0x7CDCEFB7, 0x0BDBDF21,
|
||||
0x86D3D2D4, 0xF1D4E242, 0x68DDB3F8, 0x1FDA836E,
|
||||
0x81BE16CD, 0xF6B9265B, 0x6FB077E1, 0x18B74777,
|
||||
0x88085AE6, 0xFF0F6A70, 0x66063BCA, 0x11010B5C,
|
||||
0x8F659EFF, 0xF862AE69, 0x616BFFD3, 0x166CCF45,
|
||||
0xA00AE278, 0xD70DD2EE, 0x4E048354, 0x3903B3C2,
|
||||
0xA7672661, 0xD06016F7, 0x4969474D, 0x3E6E77DB,
|
||||
0xAED16A4A, 0xD9D65ADC, 0x40DF0B66, 0x37D83BF0,
|
||||
0xA9BCAE53, 0xDEBB9EC5, 0x47B2CF7F, 0x30B5FFE9,
|
||||
0xBDBDF21C, 0xCABAC28A, 0x53B39330, 0x24B4A3A6,
|
||||
0xBAD03605, 0xCDD70693, 0x54DE5729, 0x23D967BF,
|
||||
0xB3667A2E, 0xC4614AB8, 0x5D681B02, 0x2A6F2B94,
|
||||
0xB40BBE37, 0xC30C8EA1, 0x5A05DF1B, 0x2D02EF8D,
|
||||
];
|
||||
var lookupTable = uint32ArrayFrom(a_lookUpTable);
|
||||
export { AwsCrc32 } from "./aws_crc32";
|
||||
//# sourceMappingURL=index.js.map
|
||||
1
backend/node_modules/@aws-crypto/crc32/build/module/index.js.map
generated
vendored
Normal file
1
backend/node_modules/@aws-crypto/crc32/build/module/index.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAEjD,MAAM,UAAU,KAAK,CAAC,IAAgB;IACpC,OAAO,IAAI,KAAK,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;AAC3C,CAAC;AAED;IAAA;QACU,aAAQ,GAAG,UAAU,CAAC;IAchC,CAAC;IAZC,sBAAM,GAAN,UAAO,IAAgB;;;YACrB,KAAmB,IAAA,SAAA,SAAA,IAAI,CAAA,0BAAA,4CAAE;gBAApB,IAAM,IAAI,iBAAA;gBACb,IAAI,CAAC,QAAQ;oBACX,CAAC,IAAI,CAAC,QAAQ,KAAK,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;aACtE;;;;;;;;;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,sBAAM,GAAN;QACE,OAAO,CAAC,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;IACH,YAAC;AAAD,CAAC,AAfD,IAeC;;AAED,kBAAkB;AAClB,IAAM,aAAa,GAAG;IACpB,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;CAC/C,CAAC;AACF,IAAM,WAAW,GAAgB,eAAe,CAAC,aAAa,CAAC,CAAA;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC"}
|
||||
32
backend/node_modules/@aws-crypto/crc32/package.json
generated
vendored
Normal file
32
backend/node_modules/@aws-crypto/crc32/package.json
generated
vendored
Normal file
@@ -0,0 +1,32 @@
|
||||
{
|
||||
"name": "@aws-crypto/crc32",
|
||||
"version": "5.2.0",
|
||||
"scripts": {
|
||||
"prepublishOnly": "tsc -p tsconfig.json && tsc -p tsconfig.module.json",
|
||||
"pretest": "tsc -p tsconfig.test.json",
|
||||
"test": "mocha --require ts-node/register test/**/*test.ts"
|
||||
},
|
||||
"main": "./build/main/index.js",
|
||||
"module": "./build/module/index.js",
|
||||
"types": "./build/main/index.d.ts",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git@github.com:aws/aws-sdk-js-crypto-helpers.git"
|
||||
},
|
||||
"author": {
|
||||
"name": "AWS Crypto Tools Team",
|
||||
"email": "aws-cryptools@amazon.com",
|
||||
"url": "https://docs.aws.amazon.com/aws-crypto-tools/index.html?id=docs_gateway#lang/en_us"
|
||||
},
|
||||
"homepage": "https://github.com/aws/aws-sdk-js-crypto-helpers/tree/master/packages/crc32",
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@aws-crypto/util": "^5.2.0",
|
||||
"@aws-sdk/types": "^3.222.0",
|
||||
"tslib": "^2.6.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=16.0.0"
|
||||
},
|
||||
"gitHead": "c11b171b35ec5c093364f0e0d8dc4ab1af68e748"
|
||||
}
|
||||
24
backend/node_modules/@aws-crypto/crc32/src/aws_crc32.ts
generated
vendored
Normal file
24
backend/node_modules/@aws-crypto/crc32/src/aws_crc32.ts
generated
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import { SourceData, Checksum } from "@aws-sdk/types";
|
||||
import { convertToBuffer, isEmptyData, numToUint8 } from "@aws-crypto/util";
|
||||
import { Crc32 } from "./index";
|
||||
|
||||
export class AwsCrc32 implements Checksum {
|
||||
private crc32 = new Crc32();
|
||||
|
||||
update(toHash: SourceData) {
|
||||
if (isEmptyData(toHash)) return;
|
||||
|
||||
this.crc32.update(convertToBuffer(toHash));
|
||||
}
|
||||
|
||||
async digest(): Promise<Uint8Array> {
|
||||
return numToUint8(this.crc32.digest());
|
||||
}
|
||||
|
||||
reset(): void {
|
||||
this.crc32 = new Crc32();
|
||||
}
|
||||
}
|
||||
92
backend/node_modules/@aws-crypto/crc32/src/index.ts
generated
vendored
Normal file
92
backend/node_modules/@aws-crypto/crc32/src/index.ts
generated
vendored
Normal file
@@ -0,0 +1,92 @@
|
||||
import {uint32ArrayFrom} from "@aws-crypto/util";
|
||||
|
||||
export function crc32(data: Uint8Array): number {
|
||||
return new Crc32().update(data).digest();
|
||||
}
|
||||
|
||||
export class Crc32 {
|
||||
private checksum = 0xffffffff;
|
||||
|
||||
update(data: Uint8Array): this {
|
||||
for (const byte of data) {
|
||||
this.checksum =
|
||||
(this.checksum >>> 8) ^ lookupTable[(this.checksum ^ byte) & 0xff];
|
||||
}
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
digest(): number {
|
||||
return (this.checksum ^ 0xffffffff) >>> 0;
|
||||
}
|
||||
}
|
||||
|
||||
// prettier-ignore
|
||||
const a_lookUpTable = [
|
||||
0x00000000, 0x77073096, 0xEE0E612C, 0x990951BA,
|
||||
0x076DC419, 0x706AF48F, 0xE963A535, 0x9E6495A3,
|
||||
0x0EDB8832, 0x79DCB8A4, 0xE0D5E91E, 0x97D2D988,
|
||||
0x09B64C2B, 0x7EB17CBD, 0xE7B82D07, 0x90BF1D91,
|
||||
0x1DB71064, 0x6AB020F2, 0xF3B97148, 0x84BE41DE,
|
||||
0x1ADAD47D, 0x6DDDE4EB, 0xF4D4B551, 0x83D385C7,
|
||||
0x136C9856, 0x646BA8C0, 0xFD62F97A, 0x8A65C9EC,
|
||||
0x14015C4F, 0x63066CD9, 0xFA0F3D63, 0x8D080DF5,
|
||||
0x3B6E20C8, 0x4C69105E, 0xD56041E4, 0xA2677172,
|
||||
0x3C03E4D1, 0x4B04D447, 0xD20D85FD, 0xA50AB56B,
|
||||
0x35B5A8FA, 0x42B2986C, 0xDBBBC9D6, 0xACBCF940,
|
||||
0x32D86CE3, 0x45DF5C75, 0xDCD60DCF, 0xABD13D59,
|
||||
0x26D930AC, 0x51DE003A, 0xC8D75180, 0xBFD06116,
|
||||
0x21B4F4B5, 0x56B3C423, 0xCFBA9599, 0xB8BDA50F,
|
||||
0x2802B89E, 0x5F058808, 0xC60CD9B2, 0xB10BE924,
|
||||
0x2F6F7C87, 0x58684C11, 0xC1611DAB, 0xB6662D3D,
|
||||
0x76DC4190, 0x01DB7106, 0x98D220BC, 0xEFD5102A,
|
||||
0x71B18589, 0x06B6B51F, 0x9FBFE4A5, 0xE8B8D433,
|
||||
0x7807C9A2, 0x0F00F934, 0x9609A88E, 0xE10E9818,
|
||||
0x7F6A0DBB, 0x086D3D2D, 0x91646C97, 0xE6635C01,
|
||||
0x6B6B51F4, 0x1C6C6162, 0x856530D8, 0xF262004E,
|
||||
0x6C0695ED, 0x1B01A57B, 0x8208F4C1, 0xF50FC457,
|
||||
0x65B0D9C6, 0x12B7E950, 0x8BBEB8EA, 0xFCB9887C,
|
||||
0x62DD1DDF, 0x15DA2D49, 0x8CD37CF3, 0xFBD44C65,
|
||||
0x4DB26158, 0x3AB551CE, 0xA3BC0074, 0xD4BB30E2,
|
||||
0x4ADFA541, 0x3DD895D7, 0xA4D1C46D, 0xD3D6F4FB,
|
||||
0x4369E96A, 0x346ED9FC, 0xAD678846, 0xDA60B8D0,
|
||||
0x44042D73, 0x33031DE5, 0xAA0A4C5F, 0xDD0D7CC9,
|
||||
0x5005713C, 0x270241AA, 0xBE0B1010, 0xC90C2086,
|
||||
0x5768B525, 0x206F85B3, 0xB966D409, 0xCE61E49F,
|
||||
0x5EDEF90E, 0x29D9C998, 0xB0D09822, 0xC7D7A8B4,
|
||||
0x59B33D17, 0x2EB40D81, 0xB7BD5C3B, 0xC0BA6CAD,
|
||||
0xEDB88320, 0x9ABFB3B6, 0x03B6E20C, 0x74B1D29A,
|
||||
0xEAD54739, 0x9DD277AF, 0x04DB2615, 0x73DC1683,
|
||||
0xE3630B12, 0x94643B84, 0x0D6D6A3E, 0x7A6A5AA8,
|
||||
0xE40ECF0B, 0x9309FF9D, 0x0A00AE27, 0x7D079EB1,
|
||||
0xF00F9344, 0x8708A3D2, 0x1E01F268, 0x6906C2FE,
|
||||
0xF762575D, 0x806567CB, 0x196C3671, 0x6E6B06E7,
|
||||
0xFED41B76, 0x89D32BE0, 0x10DA7A5A, 0x67DD4ACC,
|
||||
0xF9B9DF6F, 0x8EBEEFF9, 0x17B7BE43, 0x60B08ED5,
|
||||
0xD6D6A3E8, 0xA1D1937E, 0x38D8C2C4, 0x4FDFF252,
|
||||
0xD1BB67F1, 0xA6BC5767, 0x3FB506DD, 0x48B2364B,
|
||||
0xD80D2BDA, 0xAF0A1B4C, 0x36034AF6, 0x41047A60,
|
||||
0xDF60EFC3, 0xA867DF55, 0x316E8EEF, 0x4669BE79,
|
||||
0xCB61B38C, 0xBC66831A, 0x256FD2A0, 0x5268E236,
|
||||
0xCC0C7795, 0xBB0B4703, 0x220216B9, 0x5505262F,
|
||||
0xC5BA3BBE, 0xB2BD0B28, 0x2BB45A92, 0x5CB36A04,
|
||||
0xC2D7FFA7, 0xB5D0CF31, 0x2CD99E8B, 0x5BDEAE1D,
|
||||
0x9B64C2B0, 0xEC63F226, 0x756AA39C, 0x026D930A,
|
||||
0x9C0906A9, 0xEB0E363F, 0x72076785, 0x05005713,
|
||||
0x95BF4A82, 0xE2B87A14, 0x7BB12BAE, 0x0CB61B38,
|
||||
0x92D28E9B, 0xE5D5BE0D, 0x7CDCEFB7, 0x0BDBDF21,
|
||||
0x86D3D2D4, 0xF1D4E242, 0x68DDB3F8, 0x1FDA836E,
|
||||
0x81BE16CD, 0xF6B9265B, 0x6FB077E1, 0x18B74777,
|
||||
0x88085AE6, 0xFF0F6A70, 0x66063BCA, 0x11010B5C,
|
||||
0x8F659EFF, 0xF862AE69, 0x616BFFD3, 0x166CCF45,
|
||||
0xA00AE278, 0xD70DD2EE, 0x4E048354, 0x3903B3C2,
|
||||
0xA7672661, 0xD06016F7, 0x4969474D, 0x3E6E77DB,
|
||||
0xAED16A4A, 0xD9D65ADC, 0x40DF0B66, 0x37D83BF0,
|
||||
0xA9BCAE53, 0xDEBB9EC5, 0x47B2CF7F, 0x30B5FFE9,
|
||||
0xBDBDF21C, 0xCABAC28A, 0x53B39330, 0x24B4A3A6,
|
||||
0xBAD03605, 0xCDD70693, 0x54DE5729, 0x23D967BF,
|
||||
0xB3667A2E, 0xC4614AB8, 0x5D681B02, 0x2A6F2B94,
|
||||
0xB40BBE37, 0xC30C8EA1, 0x5A05DF1B, 0x2D02EF8D,
|
||||
];
|
||||
const lookupTable: Uint32Array = uint32ArrayFrom(a_lookUpTable)
|
||||
export { AwsCrc32 } from "./aws_crc32";
|
||||
9
backend/node_modules/@aws-crypto/crc32/tsconfig.json
generated
vendored
Normal file
9
backend/node_modules/@aws-crypto/crc32/tsconfig.json
generated
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"extends": "../tsconfig.json",
|
||||
"compilerOptions": {
|
||||
"rootDir": "./src",
|
||||
"outDir": "./build/main",
|
||||
},
|
||||
"include": ["src/**/*.ts"],
|
||||
"exclude": ["node_modules/**"]
|
||||
}
|
||||
7
backend/node_modules/@aws-crypto/crc32/tsconfig.module.json
generated
vendored
Normal file
7
backend/node_modules/@aws-crypto/crc32/tsconfig.module.json
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"extends": "./tsconfig",
|
||||
"compilerOptions": {
|
||||
"outDir": "build/module",
|
||||
"module": "esnext",
|
||||
}
|
||||
}
|
||||
76
backend/node_modules/@aws-crypto/crc32c/CHANGELOG.md
generated
vendored
Normal file
76
backend/node_modules/@aws-crypto/crc32c/CHANGELOG.md
generated
vendored
Normal file
@@ -0,0 +1,76 @@
|
||||
# Change Log
|
||||
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
# [5.2.0](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/v5.1.0...v5.2.0) (2023-10-16)
|
||||
|
||||
### Features
|
||||
|
||||
- support ESM artifacts in all packages ([#752](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/752)) ([e930ffb](https://github.com/aws/aws-sdk-js-crypto-helpers/commit/e930ffba5cfef66dd242049e7d514ced232c1e3b))
|
||||
|
||||
# [5.1.0](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/v5.0.0...v5.1.0) (2023-09-22)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Update tsc to 2.x ([#735](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/735)) ([782e0de](https://github.com/aws/aws-sdk-js-crypto-helpers/commit/782e0de9f5fef41f694130580a69d940894b6b8c))
|
||||
|
||||
### Features
|
||||
|
||||
- Use @smithy/util-utf8 ([#730](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/730)) ([00fb851](https://github.com/aws/aws-sdk-js-crypto-helpers/commit/00fb851ca3559d5a1f370f9256814de1210826b8)), closes [#699](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/699)
|
||||
|
||||
# [5.0.0](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/v4.0.1...v5.0.0) (2023-07-13)
|
||||
|
||||
**Note:** Version bump only for package @aws-crypto/crc32c
|
||||
|
||||
# [4.0.0](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/v3.0.0...v4.0.0) (2023-02-20)
|
||||
|
||||
**Note:** Version bump only for package @aws-crypto/crc32c
|
||||
|
||||
# [3.0.0](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/v2.0.2...v3.0.0) (2023-01-12)
|
||||
|
||||
- feat!: replace Hash implementations with Checksum interface (#492) ([da43dc0](https://github.com/aws/aws-sdk-js-crypto-helpers/commit/da43dc0fdf669d9ebb5bfb1b1f7c79e46c4aaae1)), closes [#492](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/492)
|
||||
|
||||
### BREAKING CHANGES
|
||||
|
||||
- All classes that implemented `Hash` now implement `Checksum`.
|
||||
|
||||
## [2.0.2](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/v2.0.1...v2.0.2) (2022-09-07)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- **#337:** update @aws-sdk/types ([#373](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/373)) ([b26a811](https://github.com/aws/aws-sdk-js-crypto-helpers/commit/b26a811a392f5209c7ec7e57251500d4d78f97ff)), closes [#337](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/337)
|
||||
|
||||
## [2.0.1](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/v2.0.0...v2.0.1) (2021-12-09)
|
||||
|
||||
**Note:** Version bump only for package @aws-crypto/crc32c
|
||||
|
||||
# [2.0.0](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/v1.2.2...v2.0.0) (2021-10-25)
|
||||
|
||||
**Note:** Version bump only for package @aws-crypto/crc32c
|
||||
|
||||
## [1.2.2](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/v1.2.1...v1.2.2) (2021-10-12)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- **crc32c:** ie11 does not support Array.from ([#221](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/221)) ([5f49547](https://github.com/aws/aws-sdk-js-crypto-helpers/commit/5f495472ab8988cf203e0f2a70a51f7e1fcd7e60))
|
||||
|
||||
## [1.2.1](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/v1.2.0...v1.2.1) (2021-09-17)
|
||||
|
||||
**Note:** Version bump only for package @aws-crypto/crc32c
|
||||
|
||||
# [1.2.0](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/v1.1.1...v1.2.0) (2021-09-17)
|
||||
|
||||
### Features
|
||||
|
||||
- Add AwsCrc32C Hash ([4840c83](https://github.com/aws/aws-sdk-js-crypto-helpers/commit/4840c83bdd7c461dded777ebc45a8f99258ba21c))
|
||||
|
||||
## [0.2.1](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/@aws-crypto/crc32c@0.2.0...@aws-crypto/crc32c@0.2.1) (2021-08-24)
|
||||
|
||||
**Note:** Version bump only for package @aws-crypto/crc32c
|
||||
|
||||
# 0.2.0 (2021-08-11)
|
||||
|
||||
### Features
|
||||
|
||||
- Create CRC-32C implementation ([#201](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/201)) ([e43c7ec](https://github.com/aws/aws-sdk-js-crypto-helpers/commit/e43c7ecd30d6499fa696f5839ecc30502a34b8b6))
|
||||
201
backend/node_modules/@aws-crypto/crc32c/LICENSE
generated
vendored
Normal file
201
backend/node_modules/@aws-crypto/crc32c/LICENSE
generated
vendored
Normal file
@@ -0,0 +1,201 @@
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "{}"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright {yyyy} {name of copyright owner}
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
16
backend/node_modules/@aws-crypto/crc32c/README.md
generated
vendored
Normal file
16
backend/node_modules/@aws-crypto/crc32c/README.md
generated
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
# @aws-crypto/crc32c
|
||||
|
||||
Pure JS implementation of CRC32-C https://en.wikipedia.org/wiki/Cyclic_redundancy_check
|
||||
|
||||
## Usage
|
||||
|
||||
```
|
||||
import { Crc32c } from '@aws-crypto/crc32c';
|
||||
|
||||
const crc32Digest = (new Crc32c).update(buffer).digest()
|
||||
|
||||
```
|
||||
|
||||
## Test
|
||||
|
||||
`npm test`
|
||||
7
backend/node_modules/@aws-crypto/crc32c/build/main/aws_crc32c.d.ts
generated
vendored
Normal file
7
backend/node_modules/@aws-crypto/crc32c/build/main/aws_crc32c.d.ts
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
import { Checksum, SourceData } from "@aws-sdk/types";
|
||||
export declare class AwsCrc32c implements Checksum {
|
||||
private crc32c;
|
||||
update(toHash: SourceData): void;
|
||||
digest(): Promise<Uint8Array>;
|
||||
reset(): void;
|
||||
}
|
||||
31
backend/node_modules/@aws-crypto/crc32c/build/main/aws_crc32c.js
generated
vendored
Normal file
31
backend/node_modules/@aws-crypto/crc32c/build/main/aws_crc32c.js
generated
vendored
Normal file
@@ -0,0 +1,31 @@
|
||||
"use strict";
|
||||
// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.AwsCrc32c = void 0;
|
||||
var tslib_1 = require("tslib");
|
||||
var util_1 = require("@aws-crypto/util");
|
||||
var index_1 = require("./index");
|
||||
var AwsCrc32c = /** @class */ (function () {
|
||||
function AwsCrc32c() {
|
||||
this.crc32c = new index_1.Crc32c();
|
||||
}
|
||||
AwsCrc32c.prototype.update = function (toHash) {
|
||||
if ((0, util_1.isEmptyData)(toHash))
|
||||
return;
|
||||
this.crc32c.update((0, util_1.convertToBuffer)(toHash));
|
||||
};
|
||||
AwsCrc32c.prototype.digest = function () {
|
||||
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
||||
return tslib_1.__generator(this, function (_a) {
|
||||
return [2 /*return*/, (0, util_1.numToUint8)(this.crc32c.digest())];
|
||||
});
|
||||
});
|
||||
};
|
||||
AwsCrc32c.prototype.reset = function () {
|
||||
this.crc32c = new index_1.Crc32c();
|
||||
};
|
||||
return AwsCrc32c;
|
||||
}());
|
||||
exports.AwsCrc32c = AwsCrc32c;
|
||||
//# sourceMappingURL=aws_crc32c.js.map
|
||||
1
backend/node_modules/@aws-crypto/crc32c/build/main/aws_crc32c.js.map
generated
vendored
Normal file
1
backend/node_modules/@aws-crypto/crc32c/build/main/aws_crc32c.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"aws_crc32c.js","sourceRoot":"","sources":["../../src/aws_crc32c.ts"],"names":[],"mappings":";AAAA,oEAAoE;AACpE,sCAAsC;;;;AAGtC,yCAA4E;AAC5E,iCAAiC;AAEjC;IAAA;QACU,WAAM,GAAG,IAAI,cAAM,EAAE,CAAC;IAehC,CAAC;IAbC,0BAAM,GAAN,UAAO,MAAkB;QACvB,IAAI,IAAA,kBAAW,EAAC,MAAM,CAAC;YAAE,OAAO;QAEhC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAA,sBAAe,EAAC,MAAM,CAAC,CAAC,CAAC;IAC9C,CAAC;IAEK,0BAAM,GAAZ;;;gBACE,sBAAO,IAAA,iBAAU,EAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAC;;;KACzC;IAED,yBAAK,GAAL;QACE,IAAI,CAAC,MAAM,GAAG,IAAI,cAAM,EAAE,CAAC;IAC7B,CAAC;IACH,gBAAC;AAAD,CAAC,AAhBD,IAgBC;AAhBY,8BAAS"}
|
||||
7
backend/node_modules/@aws-crypto/crc32c/build/main/index.d.ts
generated
vendored
Normal file
7
backend/node_modules/@aws-crypto/crc32c/build/main/index.d.ts
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
export declare function crc32c(data: Uint8Array): number;
|
||||
export declare class Crc32c {
|
||||
private checksum;
|
||||
update(data: Uint8Array): this;
|
||||
digest(): number;
|
||||
}
|
||||
export { AwsCrc32c } from "./aws_crc32c";
|
||||
78
backend/node_modules/@aws-crypto/crc32c/build/main/index.js
generated
vendored
Normal file
78
backend/node_modules/@aws-crypto/crc32c/build/main/index.js
generated
vendored
Normal file
@@ -0,0 +1,78 @@
|
||||
"use strict";
|
||||
// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.AwsCrc32c = exports.Crc32c = exports.crc32c = void 0;
|
||||
var tslib_1 = require("tslib");
|
||||
var util_1 = require("@aws-crypto/util");
|
||||
function crc32c(data) {
|
||||
return new Crc32c().update(data).digest();
|
||||
}
|
||||
exports.crc32c = crc32c;
|
||||
var Crc32c = /** @class */ (function () {
|
||||
function Crc32c() {
|
||||
this.checksum = 0xffffffff;
|
||||
}
|
||||
Crc32c.prototype.update = function (data) {
|
||||
var e_1, _a;
|
||||
try {
|
||||
for (var data_1 = tslib_1.__values(data), data_1_1 = data_1.next(); !data_1_1.done; data_1_1 = data_1.next()) {
|
||||
var byte = data_1_1.value;
|
||||
this.checksum =
|
||||
(this.checksum >>> 8) ^ lookupTable[(this.checksum ^ byte) & 0xff];
|
||||
}
|
||||
}
|
||||
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
||||
finally {
|
||||
try {
|
||||
if (data_1_1 && !data_1_1.done && (_a = data_1.return)) _a.call(data_1);
|
||||
}
|
||||
finally { if (e_1) throw e_1.error; }
|
||||
}
|
||||
return this;
|
||||
};
|
||||
Crc32c.prototype.digest = function () {
|
||||
return (this.checksum ^ 0xffffffff) >>> 0;
|
||||
};
|
||||
return Crc32c;
|
||||
}());
|
||||
exports.Crc32c = Crc32c;
|
||||
// prettier-ignore
|
||||
var a_lookupTable = [
|
||||
0x00000000, 0xF26B8303, 0xE13B70F7, 0x1350F3F4, 0xC79A971F, 0x35F1141C, 0x26A1E7E8, 0xD4CA64EB,
|
||||
0x8AD958CF, 0x78B2DBCC, 0x6BE22838, 0x9989AB3B, 0x4D43CFD0, 0xBF284CD3, 0xAC78BF27, 0x5E133C24,
|
||||
0x105EC76F, 0xE235446C, 0xF165B798, 0x030E349B, 0xD7C45070, 0x25AFD373, 0x36FF2087, 0xC494A384,
|
||||
0x9A879FA0, 0x68EC1CA3, 0x7BBCEF57, 0x89D76C54, 0x5D1D08BF, 0xAF768BBC, 0xBC267848, 0x4E4DFB4B,
|
||||
0x20BD8EDE, 0xD2D60DDD, 0xC186FE29, 0x33ED7D2A, 0xE72719C1, 0x154C9AC2, 0x061C6936, 0xF477EA35,
|
||||
0xAA64D611, 0x580F5512, 0x4B5FA6E6, 0xB93425E5, 0x6DFE410E, 0x9F95C20D, 0x8CC531F9, 0x7EAEB2FA,
|
||||
0x30E349B1, 0xC288CAB2, 0xD1D83946, 0x23B3BA45, 0xF779DEAE, 0x05125DAD, 0x1642AE59, 0xE4292D5A,
|
||||
0xBA3A117E, 0x4851927D, 0x5B016189, 0xA96AE28A, 0x7DA08661, 0x8FCB0562, 0x9C9BF696, 0x6EF07595,
|
||||
0x417B1DBC, 0xB3109EBF, 0xA0406D4B, 0x522BEE48, 0x86E18AA3, 0x748A09A0, 0x67DAFA54, 0x95B17957,
|
||||
0xCBA24573, 0x39C9C670, 0x2A993584, 0xD8F2B687, 0x0C38D26C, 0xFE53516F, 0xED03A29B, 0x1F682198,
|
||||
0x5125DAD3, 0xA34E59D0, 0xB01EAA24, 0x42752927, 0x96BF4DCC, 0x64D4CECF, 0x77843D3B, 0x85EFBE38,
|
||||
0xDBFC821C, 0x2997011F, 0x3AC7F2EB, 0xC8AC71E8, 0x1C661503, 0xEE0D9600, 0xFD5D65F4, 0x0F36E6F7,
|
||||
0x61C69362, 0x93AD1061, 0x80FDE395, 0x72966096, 0xA65C047D, 0x5437877E, 0x4767748A, 0xB50CF789,
|
||||
0xEB1FCBAD, 0x197448AE, 0x0A24BB5A, 0xF84F3859, 0x2C855CB2, 0xDEEEDFB1, 0xCDBE2C45, 0x3FD5AF46,
|
||||
0x7198540D, 0x83F3D70E, 0x90A324FA, 0x62C8A7F9, 0xB602C312, 0x44694011, 0x5739B3E5, 0xA55230E6,
|
||||
0xFB410CC2, 0x092A8FC1, 0x1A7A7C35, 0xE811FF36, 0x3CDB9BDD, 0xCEB018DE, 0xDDE0EB2A, 0x2F8B6829,
|
||||
0x82F63B78, 0x709DB87B, 0x63CD4B8F, 0x91A6C88C, 0x456CAC67, 0xB7072F64, 0xA457DC90, 0x563C5F93,
|
||||
0x082F63B7, 0xFA44E0B4, 0xE9141340, 0x1B7F9043, 0xCFB5F4A8, 0x3DDE77AB, 0x2E8E845F, 0xDCE5075C,
|
||||
0x92A8FC17, 0x60C37F14, 0x73938CE0, 0x81F80FE3, 0x55326B08, 0xA759E80B, 0xB4091BFF, 0x466298FC,
|
||||
0x1871A4D8, 0xEA1A27DB, 0xF94AD42F, 0x0B21572C, 0xDFEB33C7, 0x2D80B0C4, 0x3ED04330, 0xCCBBC033,
|
||||
0xA24BB5A6, 0x502036A5, 0x4370C551, 0xB11B4652, 0x65D122B9, 0x97BAA1BA, 0x84EA524E, 0x7681D14D,
|
||||
0x2892ED69, 0xDAF96E6A, 0xC9A99D9E, 0x3BC21E9D, 0xEF087A76, 0x1D63F975, 0x0E330A81, 0xFC588982,
|
||||
0xB21572C9, 0x407EF1CA, 0x532E023E, 0xA145813D, 0x758FE5D6, 0x87E466D5, 0x94B49521, 0x66DF1622,
|
||||
0x38CC2A06, 0xCAA7A905, 0xD9F75AF1, 0x2B9CD9F2, 0xFF56BD19, 0x0D3D3E1A, 0x1E6DCDEE, 0xEC064EED,
|
||||
0xC38D26C4, 0x31E6A5C7, 0x22B65633, 0xD0DDD530, 0x0417B1DB, 0xF67C32D8, 0xE52CC12C, 0x1747422F,
|
||||
0x49547E0B, 0xBB3FFD08, 0xA86F0EFC, 0x5A048DFF, 0x8ECEE914, 0x7CA56A17, 0x6FF599E3, 0x9D9E1AE0,
|
||||
0xD3D3E1AB, 0x21B862A8, 0x32E8915C, 0xC083125F, 0x144976B4, 0xE622F5B7, 0xF5720643, 0x07198540,
|
||||
0x590AB964, 0xAB613A67, 0xB831C993, 0x4A5A4A90, 0x9E902E7B, 0x6CFBAD78, 0x7FAB5E8C, 0x8DC0DD8F,
|
||||
0xE330A81A, 0x115B2B19, 0x020BD8ED, 0xF0605BEE, 0x24AA3F05, 0xD6C1BC06, 0xC5914FF2, 0x37FACCF1,
|
||||
0x69E9F0D5, 0x9B8273D6, 0x88D28022, 0x7AB90321, 0xAE7367CA, 0x5C18E4C9, 0x4F48173D, 0xBD23943E,
|
||||
0xF36E6F75, 0x0105EC76, 0x12551F82, 0xE03E9C81, 0x34F4F86A, 0xC69F7B69, 0xD5CF889D, 0x27A40B9E,
|
||||
0x79B737BA, 0x8BDCB4B9, 0x988C474D, 0x6AE7C44E, 0xBE2DA0A5, 0x4C4623A6, 0x5F16D052, 0xAD7D5351,
|
||||
];
|
||||
var lookupTable = (0, util_1.uint32ArrayFrom)(a_lookupTable);
|
||||
var aws_crc32c_1 = require("./aws_crc32c");
|
||||
Object.defineProperty(exports, "AwsCrc32c", { enumerable: true, get: function () { return aws_crc32c_1.AwsCrc32c; } });
|
||||
//# sourceMappingURL=index.js.map
|
||||
1
backend/node_modules/@aws-crypto/crc32c/build/main/index.js.map
generated
vendored
Normal file
1
backend/node_modules/@aws-crypto/crc32c/build/main/index.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA,oEAAoE;AACpE,sCAAsC;;;;AAEtC,yCAAiD;AAEjD,SAAgB,MAAM,CAAC,IAAgB;IACrC,OAAO,IAAI,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;AAC5C,CAAC;AAFD,wBAEC;AAED;IAAA;QACU,aAAQ,GAAG,UAAU,CAAC;IAchC,CAAC;IAZC,uBAAM,GAAN,UAAO,IAAgB;;;YACrB,KAAmB,IAAA,SAAA,iBAAA,IAAI,CAAA,0BAAA,4CAAE;gBAApB,IAAM,IAAI,iBAAA;gBACb,IAAI,CAAC,QAAQ;oBACX,CAAC,IAAI,CAAC,QAAQ,KAAK,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;aACtE;;;;;;;;;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,uBAAM,GAAN;QACE,OAAO,CAAC,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;IACH,aAAC;AAAD,CAAC,AAfD,IAeC;AAfY,wBAAM;AAiBnB,kBAAkB;AAClB,IAAM,aAAa,GAAG;IACpB,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;CAC/F,CAAC;AAEF,IAAM,WAAW,GAAgB,IAAA,sBAAe,EAAC,aAAa,CAAC,CAAA;AAC/D,2CAAyC;AAAhC,uGAAA,SAAS,OAAA"}
|
||||
7
backend/node_modules/@aws-crypto/crc32c/build/module/aws_crc32c.d.ts
generated
vendored
Normal file
7
backend/node_modules/@aws-crypto/crc32c/build/module/aws_crc32c.d.ts
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
import { Checksum, SourceData } from "@aws-sdk/types";
|
||||
export declare class AwsCrc32c implements Checksum {
|
||||
private crc32c;
|
||||
update(toHash: SourceData): void;
|
||||
digest(): Promise<Uint8Array>;
|
||||
reset(): void;
|
||||
}
|
||||
28
backend/node_modules/@aws-crypto/crc32c/build/module/aws_crc32c.js
generated
vendored
Normal file
28
backend/node_modules/@aws-crypto/crc32c/build/module/aws_crc32c.js
generated
vendored
Normal file
@@ -0,0 +1,28 @@
|
||||
// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
import { __awaiter, __generator } from "tslib";
|
||||
import { convertToBuffer, isEmptyData, numToUint8 } from "@aws-crypto/util";
|
||||
import { Crc32c } from "./index";
|
||||
var AwsCrc32c = /** @class */ (function () {
|
||||
function AwsCrc32c() {
|
||||
this.crc32c = new Crc32c();
|
||||
}
|
||||
AwsCrc32c.prototype.update = function (toHash) {
|
||||
if (isEmptyData(toHash))
|
||||
return;
|
||||
this.crc32c.update(convertToBuffer(toHash));
|
||||
};
|
||||
AwsCrc32c.prototype.digest = function () {
|
||||
return __awaiter(this, void 0, void 0, function () {
|
||||
return __generator(this, function (_a) {
|
||||
return [2 /*return*/, numToUint8(this.crc32c.digest())];
|
||||
});
|
||||
});
|
||||
};
|
||||
AwsCrc32c.prototype.reset = function () {
|
||||
this.crc32c = new Crc32c();
|
||||
};
|
||||
return AwsCrc32c;
|
||||
}());
|
||||
export { AwsCrc32c };
|
||||
//# sourceMappingURL=aws_crc32c.js.map
|
||||
1
backend/node_modules/@aws-crypto/crc32c/build/module/aws_crc32c.js.map
generated
vendored
Normal file
1
backend/node_modules/@aws-crypto/crc32c/build/module/aws_crc32c.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"aws_crc32c.js","sourceRoot":"","sources":["../../src/aws_crc32c.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,sCAAsC;;AAGtC,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEjC;IAAA;QACU,WAAM,GAAG,IAAI,MAAM,EAAE,CAAC;IAehC,CAAC;IAbC,0BAAM,GAAN,UAAO,MAAkB;QACvB,IAAI,WAAW,CAAC,MAAM,CAAC;YAAE,OAAO;QAEhC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9C,CAAC;IAEK,0BAAM,GAAZ;;;gBACE,sBAAO,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAC;;;KACzC;IAED,yBAAK,GAAL;QACE,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;IAC7B,CAAC;IACH,gBAAC;AAAD,CAAC,AAhBD,IAgBC"}
|
||||
7
backend/node_modules/@aws-crypto/crc32c/build/module/index.d.ts
generated
vendored
Normal file
7
backend/node_modules/@aws-crypto/crc32c/build/module/index.d.ts
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
export declare function crc32c(data: Uint8Array): number;
|
||||
export declare class Crc32c {
|
||||
private checksum;
|
||||
update(data: Uint8Array): this;
|
||||
digest(): number;
|
||||
}
|
||||
export { AwsCrc32c } from "./aws_crc32c";
|
||||
73
backend/node_modules/@aws-crypto/crc32c/build/module/index.js
generated
vendored
Normal file
73
backend/node_modules/@aws-crypto/crc32c/build/module/index.js
generated
vendored
Normal file
@@ -0,0 +1,73 @@
|
||||
// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
import { __values } from "tslib";
|
||||
import { uint32ArrayFrom } from "@aws-crypto/util";
|
||||
export function crc32c(data) {
|
||||
return new Crc32c().update(data).digest();
|
||||
}
|
||||
var Crc32c = /** @class */ (function () {
|
||||
function Crc32c() {
|
||||
this.checksum = 0xffffffff;
|
||||
}
|
||||
Crc32c.prototype.update = function (data) {
|
||||
var e_1, _a;
|
||||
try {
|
||||
for (var data_1 = __values(data), data_1_1 = data_1.next(); !data_1_1.done; data_1_1 = data_1.next()) {
|
||||
var byte = data_1_1.value;
|
||||
this.checksum =
|
||||
(this.checksum >>> 8) ^ lookupTable[(this.checksum ^ byte) & 0xff];
|
||||
}
|
||||
}
|
||||
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
||||
finally {
|
||||
try {
|
||||
if (data_1_1 && !data_1_1.done && (_a = data_1.return)) _a.call(data_1);
|
||||
}
|
||||
finally { if (e_1) throw e_1.error; }
|
||||
}
|
||||
return this;
|
||||
};
|
||||
Crc32c.prototype.digest = function () {
|
||||
return (this.checksum ^ 0xffffffff) >>> 0;
|
||||
};
|
||||
return Crc32c;
|
||||
}());
|
||||
export { Crc32c };
|
||||
// prettier-ignore
|
||||
var a_lookupTable = [
|
||||
0x00000000, 0xF26B8303, 0xE13B70F7, 0x1350F3F4, 0xC79A971F, 0x35F1141C, 0x26A1E7E8, 0xD4CA64EB,
|
||||
0x8AD958CF, 0x78B2DBCC, 0x6BE22838, 0x9989AB3B, 0x4D43CFD0, 0xBF284CD3, 0xAC78BF27, 0x5E133C24,
|
||||
0x105EC76F, 0xE235446C, 0xF165B798, 0x030E349B, 0xD7C45070, 0x25AFD373, 0x36FF2087, 0xC494A384,
|
||||
0x9A879FA0, 0x68EC1CA3, 0x7BBCEF57, 0x89D76C54, 0x5D1D08BF, 0xAF768BBC, 0xBC267848, 0x4E4DFB4B,
|
||||
0x20BD8EDE, 0xD2D60DDD, 0xC186FE29, 0x33ED7D2A, 0xE72719C1, 0x154C9AC2, 0x061C6936, 0xF477EA35,
|
||||
0xAA64D611, 0x580F5512, 0x4B5FA6E6, 0xB93425E5, 0x6DFE410E, 0x9F95C20D, 0x8CC531F9, 0x7EAEB2FA,
|
||||
0x30E349B1, 0xC288CAB2, 0xD1D83946, 0x23B3BA45, 0xF779DEAE, 0x05125DAD, 0x1642AE59, 0xE4292D5A,
|
||||
0xBA3A117E, 0x4851927D, 0x5B016189, 0xA96AE28A, 0x7DA08661, 0x8FCB0562, 0x9C9BF696, 0x6EF07595,
|
||||
0x417B1DBC, 0xB3109EBF, 0xA0406D4B, 0x522BEE48, 0x86E18AA3, 0x748A09A0, 0x67DAFA54, 0x95B17957,
|
||||
0xCBA24573, 0x39C9C670, 0x2A993584, 0xD8F2B687, 0x0C38D26C, 0xFE53516F, 0xED03A29B, 0x1F682198,
|
||||
0x5125DAD3, 0xA34E59D0, 0xB01EAA24, 0x42752927, 0x96BF4DCC, 0x64D4CECF, 0x77843D3B, 0x85EFBE38,
|
||||
0xDBFC821C, 0x2997011F, 0x3AC7F2EB, 0xC8AC71E8, 0x1C661503, 0xEE0D9600, 0xFD5D65F4, 0x0F36E6F7,
|
||||
0x61C69362, 0x93AD1061, 0x80FDE395, 0x72966096, 0xA65C047D, 0x5437877E, 0x4767748A, 0xB50CF789,
|
||||
0xEB1FCBAD, 0x197448AE, 0x0A24BB5A, 0xF84F3859, 0x2C855CB2, 0xDEEEDFB1, 0xCDBE2C45, 0x3FD5AF46,
|
||||
0x7198540D, 0x83F3D70E, 0x90A324FA, 0x62C8A7F9, 0xB602C312, 0x44694011, 0x5739B3E5, 0xA55230E6,
|
||||
0xFB410CC2, 0x092A8FC1, 0x1A7A7C35, 0xE811FF36, 0x3CDB9BDD, 0xCEB018DE, 0xDDE0EB2A, 0x2F8B6829,
|
||||
0x82F63B78, 0x709DB87B, 0x63CD4B8F, 0x91A6C88C, 0x456CAC67, 0xB7072F64, 0xA457DC90, 0x563C5F93,
|
||||
0x082F63B7, 0xFA44E0B4, 0xE9141340, 0x1B7F9043, 0xCFB5F4A8, 0x3DDE77AB, 0x2E8E845F, 0xDCE5075C,
|
||||
0x92A8FC17, 0x60C37F14, 0x73938CE0, 0x81F80FE3, 0x55326B08, 0xA759E80B, 0xB4091BFF, 0x466298FC,
|
||||
0x1871A4D8, 0xEA1A27DB, 0xF94AD42F, 0x0B21572C, 0xDFEB33C7, 0x2D80B0C4, 0x3ED04330, 0xCCBBC033,
|
||||
0xA24BB5A6, 0x502036A5, 0x4370C551, 0xB11B4652, 0x65D122B9, 0x97BAA1BA, 0x84EA524E, 0x7681D14D,
|
||||
0x2892ED69, 0xDAF96E6A, 0xC9A99D9E, 0x3BC21E9D, 0xEF087A76, 0x1D63F975, 0x0E330A81, 0xFC588982,
|
||||
0xB21572C9, 0x407EF1CA, 0x532E023E, 0xA145813D, 0x758FE5D6, 0x87E466D5, 0x94B49521, 0x66DF1622,
|
||||
0x38CC2A06, 0xCAA7A905, 0xD9F75AF1, 0x2B9CD9F2, 0xFF56BD19, 0x0D3D3E1A, 0x1E6DCDEE, 0xEC064EED,
|
||||
0xC38D26C4, 0x31E6A5C7, 0x22B65633, 0xD0DDD530, 0x0417B1DB, 0xF67C32D8, 0xE52CC12C, 0x1747422F,
|
||||
0x49547E0B, 0xBB3FFD08, 0xA86F0EFC, 0x5A048DFF, 0x8ECEE914, 0x7CA56A17, 0x6FF599E3, 0x9D9E1AE0,
|
||||
0xD3D3E1AB, 0x21B862A8, 0x32E8915C, 0xC083125F, 0x144976B4, 0xE622F5B7, 0xF5720643, 0x07198540,
|
||||
0x590AB964, 0xAB613A67, 0xB831C993, 0x4A5A4A90, 0x9E902E7B, 0x6CFBAD78, 0x7FAB5E8C, 0x8DC0DD8F,
|
||||
0xE330A81A, 0x115B2B19, 0x020BD8ED, 0xF0605BEE, 0x24AA3F05, 0xD6C1BC06, 0xC5914FF2, 0x37FACCF1,
|
||||
0x69E9F0D5, 0x9B8273D6, 0x88D28022, 0x7AB90321, 0xAE7367CA, 0x5C18E4C9, 0x4F48173D, 0xBD23943E,
|
||||
0xF36E6F75, 0x0105EC76, 0x12551F82, 0xE03E9C81, 0x34F4F86A, 0xC69F7B69, 0xD5CF889D, 0x27A40B9E,
|
||||
0x79B737BA, 0x8BDCB4B9, 0x988C474D, 0x6AE7C44E, 0xBE2DA0A5, 0x4C4623A6, 0x5F16D052, 0xAD7D5351,
|
||||
];
|
||||
var lookupTable = uint32ArrayFrom(a_lookupTable);
|
||||
export { AwsCrc32c } from "./aws_crc32c";
|
||||
//# sourceMappingURL=index.js.map
|
||||
1
backend/node_modules/@aws-crypto/crc32c/build/module/index.js.map
generated
vendored
Normal file
1
backend/node_modules/@aws-crypto/crc32c/build/module/index.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,sCAAsC;;AAEtC,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAEjD,MAAM,UAAU,MAAM,CAAC,IAAgB;IACrC,OAAO,IAAI,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;AAC5C,CAAC;AAED;IAAA;QACU,aAAQ,GAAG,UAAU,CAAC;IAchC,CAAC;IAZC,uBAAM,GAAN,UAAO,IAAgB;;;YACrB,KAAmB,IAAA,SAAA,SAAA,IAAI,CAAA,0BAAA,4CAAE;gBAApB,IAAM,IAAI,iBAAA;gBACb,IAAI,CAAC,QAAQ;oBACX,CAAC,IAAI,CAAC,QAAQ,KAAK,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;aACtE;;;;;;;;;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,uBAAM,GAAN;QACE,OAAO,CAAC,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;IACH,aAAC;AAAD,CAAC,AAfD,IAeC;;AAED,kBAAkB;AAClB,IAAM,aAAa,GAAG;IACpB,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;CAC/F,CAAC;AAEF,IAAM,WAAW,GAAgB,eAAe,CAAC,aAAa,CAAC,CAAA;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC"}
|
||||
32
backend/node_modules/@aws-crypto/crc32c/package.json
generated
vendored
Normal file
32
backend/node_modules/@aws-crypto/crc32c/package.json
generated
vendored
Normal file
@@ -0,0 +1,32 @@
|
||||
{
|
||||
"name": "@aws-crypto/crc32c",
|
||||
"version": "5.2.0",
|
||||
"scripts": {
|
||||
"prepublishOnly": "tsc -p tsconfig.json && tsc -p tsconfig.module.json",
|
||||
"pretest": "tsc -p tsconfig.test.json",
|
||||
"test": "mocha --require ts-node/register test/**/*test.ts"
|
||||
},
|
||||
"main": "./build/main/index.js",
|
||||
"module": "./build/module/index.js",
|
||||
"types": "./build/main/index.d.ts",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git@github.com:aws/aws-sdk-js-crypto-helpers.git"
|
||||
},
|
||||
"author": {
|
||||
"name": "AWS Crypto Tools Team",
|
||||
"email": "aws-cryptools@amazon.com",
|
||||
"url": "https://docs.aws.amazon.com/aws-crypto-tools/index.html?id=docs_gateway#lang/en_us"
|
||||
},
|
||||
"homepage": "https://github.com/aws/aws-sdk-js-crypto-helpers/tree/master/packages/crc32c",
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@aws-crypto/util": "^5.2.0",
|
||||
"@aws-sdk/types": "^3.222.0",
|
||||
"tslib": "^2.6.2"
|
||||
},
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
},
|
||||
"gitHead": "c11b171b35ec5c093364f0e0d8dc4ab1af68e748"
|
||||
}
|
||||
24
backend/node_modules/@aws-crypto/crc32c/src/aws_crc32c.ts
generated
vendored
Normal file
24
backend/node_modules/@aws-crypto/crc32c/src/aws_crc32c.ts
generated
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import { Checksum, SourceData } from "@aws-sdk/types";
|
||||
import { convertToBuffer, isEmptyData, numToUint8 } from "@aws-crypto/util";
|
||||
import { Crc32c } from "./index";
|
||||
|
||||
export class AwsCrc32c implements Checksum {
|
||||
private crc32c = new Crc32c();
|
||||
|
||||
update(toHash: SourceData) {
|
||||
if (isEmptyData(toHash)) return;
|
||||
|
||||
this.crc32c.update(convertToBuffer(toHash));
|
||||
}
|
||||
|
||||
async digest(): Promise<Uint8Array> {
|
||||
return numToUint8(this.crc32c.digest());
|
||||
}
|
||||
|
||||
reset(): void {
|
||||
this.crc32c = new Crc32c();
|
||||
}
|
||||
}
|
||||
64
backend/node_modules/@aws-crypto/crc32c/src/index.ts
generated
vendored
Normal file
64
backend/node_modules/@aws-crypto/crc32c/src/index.ts
generated
vendored
Normal file
@@ -0,0 +1,64 @@
|
||||
// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import {uint32ArrayFrom} from "@aws-crypto/util";
|
||||
|
||||
export function crc32c(data: Uint8Array): number {
|
||||
return new Crc32c().update(data).digest();
|
||||
}
|
||||
|
||||
export class Crc32c {
|
||||
private checksum = 0xffffffff;
|
||||
|
||||
update(data: Uint8Array): this {
|
||||
for (const byte of data) {
|
||||
this.checksum =
|
||||
(this.checksum >>> 8) ^ lookupTable[(this.checksum ^ byte) & 0xff];
|
||||
}
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
digest(): number {
|
||||
return (this.checksum ^ 0xffffffff) >>> 0;
|
||||
}
|
||||
}
|
||||
|
||||
// prettier-ignore
|
||||
const a_lookupTable = [
|
||||
0x00000000, 0xF26B8303, 0xE13B70F7, 0x1350F3F4, 0xC79A971F, 0x35F1141C, 0x26A1E7E8, 0xD4CA64EB,
|
||||
0x8AD958CF, 0x78B2DBCC, 0x6BE22838, 0x9989AB3B, 0x4D43CFD0, 0xBF284CD3, 0xAC78BF27, 0x5E133C24,
|
||||
0x105EC76F, 0xE235446C, 0xF165B798, 0x030E349B, 0xD7C45070, 0x25AFD373, 0x36FF2087, 0xC494A384,
|
||||
0x9A879FA0, 0x68EC1CA3, 0x7BBCEF57, 0x89D76C54, 0x5D1D08BF, 0xAF768BBC, 0xBC267848, 0x4E4DFB4B,
|
||||
0x20BD8EDE, 0xD2D60DDD, 0xC186FE29, 0x33ED7D2A, 0xE72719C1, 0x154C9AC2, 0x061C6936, 0xF477EA35,
|
||||
0xAA64D611, 0x580F5512, 0x4B5FA6E6, 0xB93425E5, 0x6DFE410E, 0x9F95C20D, 0x8CC531F9, 0x7EAEB2FA,
|
||||
0x30E349B1, 0xC288CAB2, 0xD1D83946, 0x23B3BA45, 0xF779DEAE, 0x05125DAD, 0x1642AE59, 0xE4292D5A,
|
||||
0xBA3A117E, 0x4851927D, 0x5B016189, 0xA96AE28A, 0x7DA08661, 0x8FCB0562, 0x9C9BF696, 0x6EF07595,
|
||||
0x417B1DBC, 0xB3109EBF, 0xA0406D4B, 0x522BEE48, 0x86E18AA3, 0x748A09A0, 0x67DAFA54, 0x95B17957,
|
||||
0xCBA24573, 0x39C9C670, 0x2A993584, 0xD8F2B687, 0x0C38D26C, 0xFE53516F, 0xED03A29B, 0x1F682198,
|
||||
0x5125DAD3, 0xA34E59D0, 0xB01EAA24, 0x42752927, 0x96BF4DCC, 0x64D4CECF, 0x77843D3B, 0x85EFBE38,
|
||||
0xDBFC821C, 0x2997011F, 0x3AC7F2EB, 0xC8AC71E8, 0x1C661503, 0xEE0D9600, 0xFD5D65F4, 0x0F36E6F7,
|
||||
0x61C69362, 0x93AD1061, 0x80FDE395, 0x72966096, 0xA65C047D, 0x5437877E, 0x4767748A, 0xB50CF789,
|
||||
0xEB1FCBAD, 0x197448AE, 0x0A24BB5A, 0xF84F3859, 0x2C855CB2, 0xDEEEDFB1, 0xCDBE2C45, 0x3FD5AF46,
|
||||
0x7198540D, 0x83F3D70E, 0x90A324FA, 0x62C8A7F9, 0xB602C312, 0x44694011, 0x5739B3E5, 0xA55230E6,
|
||||
0xFB410CC2, 0x092A8FC1, 0x1A7A7C35, 0xE811FF36, 0x3CDB9BDD, 0xCEB018DE, 0xDDE0EB2A, 0x2F8B6829,
|
||||
0x82F63B78, 0x709DB87B, 0x63CD4B8F, 0x91A6C88C, 0x456CAC67, 0xB7072F64, 0xA457DC90, 0x563C5F93,
|
||||
0x082F63B7, 0xFA44E0B4, 0xE9141340, 0x1B7F9043, 0xCFB5F4A8, 0x3DDE77AB, 0x2E8E845F, 0xDCE5075C,
|
||||
0x92A8FC17, 0x60C37F14, 0x73938CE0, 0x81F80FE3, 0x55326B08, 0xA759E80B, 0xB4091BFF, 0x466298FC,
|
||||
0x1871A4D8, 0xEA1A27DB, 0xF94AD42F, 0x0B21572C, 0xDFEB33C7, 0x2D80B0C4, 0x3ED04330, 0xCCBBC033,
|
||||
0xA24BB5A6, 0x502036A5, 0x4370C551, 0xB11B4652, 0x65D122B9, 0x97BAA1BA, 0x84EA524E, 0x7681D14D,
|
||||
0x2892ED69, 0xDAF96E6A, 0xC9A99D9E, 0x3BC21E9D, 0xEF087A76, 0x1D63F975, 0x0E330A81, 0xFC588982,
|
||||
0xB21572C9, 0x407EF1CA, 0x532E023E, 0xA145813D, 0x758FE5D6, 0x87E466D5, 0x94B49521, 0x66DF1622,
|
||||
0x38CC2A06, 0xCAA7A905, 0xD9F75AF1, 0x2B9CD9F2, 0xFF56BD19, 0x0D3D3E1A, 0x1E6DCDEE, 0xEC064EED,
|
||||
0xC38D26C4, 0x31E6A5C7, 0x22B65633, 0xD0DDD530, 0x0417B1DB, 0xF67C32D8, 0xE52CC12C, 0x1747422F,
|
||||
0x49547E0B, 0xBB3FFD08, 0xA86F0EFC, 0x5A048DFF, 0x8ECEE914, 0x7CA56A17, 0x6FF599E3, 0x9D9E1AE0,
|
||||
0xD3D3E1AB, 0x21B862A8, 0x32E8915C, 0xC083125F, 0x144976B4, 0xE622F5B7, 0xF5720643, 0x07198540,
|
||||
0x590AB964, 0xAB613A67, 0xB831C993, 0x4A5A4A90, 0x9E902E7B, 0x6CFBAD78, 0x7FAB5E8C, 0x8DC0DD8F,
|
||||
0xE330A81A, 0x115B2B19, 0x020BD8ED, 0xF0605BEE, 0x24AA3F05, 0xD6C1BC06, 0xC5914FF2, 0x37FACCF1,
|
||||
0x69E9F0D5, 0x9B8273D6, 0x88D28022, 0x7AB90321, 0xAE7367CA, 0x5C18E4C9, 0x4F48173D, 0xBD23943E,
|
||||
0xF36E6F75, 0x0105EC76, 0x12551F82, 0xE03E9C81, 0x34F4F86A, 0xC69F7B69, 0xD5CF889D, 0x27A40B9E,
|
||||
0x79B737BA, 0x8BDCB4B9, 0x988C474D, 0x6AE7C44E, 0xBE2DA0A5, 0x4C4623A6, 0x5F16D052, 0xAD7D5351,
|
||||
];
|
||||
|
||||
const lookupTable: Uint32Array = uint32ArrayFrom(a_lookupTable)
|
||||
export { AwsCrc32c } from "./aws_crc32c";
|
||||
9
backend/node_modules/@aws-crypto/crc32c/tsconfig.json
generated
vendored
Normal file
9
backend/node_modules/@aws-crypto/crc32c/tsconfig.json
generated
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"extends": "../tsconfig.json",
|
||||
"compilerOptions": {
|
||||
"rootDir": "./src",
|
||||
"outDir": "./build/main",
|
||||
},
|
||||
"include": ["src/**/*.ts"],
|
||||
"exclude": ["node_modules/**"]
|
||||
}
|
||||
7
backend/node_modules/@aws-crypto/crc32c/tsconfig.module.json
generated
vendored
Normal file
7
backend/node_modules/@aws-crypto/crc32c/tsconfig.module.json
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"extends": "./tsconfig",
|
||||
"compilerOptions": {
|
||||
"outDir": "build/module",
|
||||
"module": "esnext",
|
||||
}
|
||||
}
|
||||
62
backend/node_modules/@aws-crypto/sha1-browser/CHANGELOG.md
generated
vendored
Normal file
62
backend/node_modules/@aws-crypto/sha1-browser/CHANGELOG.md
generated
vendored
Normal file
@@ -0,0 +1,62 @@
|
||||
# Change Log
|
||||
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
# [5.2.0](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/v5.1.0...v5.2.0) (2023-10-16)
|
||||
|
||||
### Features
|
||||
|
||||
- support ESM artifacts in all packages ([#752](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/752)) ([e930ffb](https://github.com/aws/aws-sdk-js-crypto-helpers/commit/e930ffba5cfef66dd242049e7d514ced232c1e3b))
|
||||
|
||||
# [5.1.0](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/v5.0.0...v5.1.0) (2023-09-22)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Update tsc to 2.x ([#735](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/735)) ([782e0de](https://github.com/aws/aws-sdk-js-crypto-helpers/commit/782e0de9f5fef41f694130580a69d940894b6b8c))
|
||||
|
||||
### Features
|
||||
|
||||
- Use @smithy/util-utf8 ([#730](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/730)) ([00fb851](https://github.com/aws/aws-sdk-js-crypto-helpers/commit/00fb851ca3559d5a1f370f9256814de1210826b8)), closes [#699](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/699)
|
||||
|
||||
# [5.0.0](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/v4.0.1...v5.0.0) (2023-07-13)
|
||||
|
||||
- feat!: drop support for IE 11 (#629) ([6c49fb6](https://github.com/aws/aws-sdk-js-crypto-helpers/commit/6c49fb6c1b1f18bbff02dbd77a37a21bdb40c959)), closes [#629](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/629)
|
||||
|
||||
### BREAKING CHANGES
|
||||
|
||||
- Remove support for IE11
|
||||
|
||||
Co-authored-by: texastony <5892063+texastony@users.noreply.github.com>
|
||||
|
||||
# [4.0.0](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/v3.0.0...v4.0.0) (2023-02-20)
|
||||
|
||||
**Note:** Version bump only for package @aws-crypto/sha1-browser
|
||||
|
||||
# [3.0.0](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/v2.0.2...v3.0.0) (2023-01-12)
|
||||
|
||||
- feat!: replace Hash implementations with Checksum interface (#492) ([da43dc0](https://github.com/aws/aws-sdk-js-crypto-helpers/commit/da43dc0fdf669d9ebb5bfb1b1f7c79e46c4aaae1)), closes [#492](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/492)
|
||||
|
||||
### BREAKING CHANGES
|
||||
|
||||
- All classes that implemented `Hash` now implement `Checksum`.
|
||||
|
||||
## [2.0.2](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/v2.0.1...v2.0.2) (2022-09-07)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- **#337:** update @aws-sdk/types ([#373](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/373)) ([b26a811](https://github.com/aws/aws-sdk-js-crypto-helpers/commit/b26a811a392f5209c7ec7e57251500d4d78f97ff)), closes [#337](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/337)
|
||||
|
||||
# [2.0.0](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/v1.2.2...v2.0.0) (2021-10-25)
|
||||
|
||||
**Note:** Version bump only for package @aws-crypto/sha1-browser
|
||||
|
||||
# [1.2.0](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/v1.1.1...v1.2.0) (2021-09-17)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Adding ie11-detection dependency to sha1-browser ([#213](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/213)) ([138750d](https://github.com/aws/aws-sdk-js-crypto-helpers/commit/138750d96385b8cc479b6f54c500ee1b5380648c))
|
||||
|
||||
### Features
|
||||
|
||||
- Add SHA1 ([#208](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/208)) ([45c50ff](https://github.com/aws/aws-sdk-js-crypto-helpers/commit/45c50ffa3acc9e3bf4039ab59a0102e4d40455ec))
|
||||
202
backend/node_modules/@aws-crypto/sha1-browser/LICENSE
generated
vendored
Normal file
202
backend/node_modules/@aws-crypto/sha1-browser/LICENSE
generated
vendored
Normal file
@@ -0,0 +1,202 @@
|
||||
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright [yyyy] [name of copyright owner]
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
21
backend/node_modules/@aws-crypto/sha1-browser/README.md
generated
vendored
Normal file
21
backend/node_modules/@aws-crypto/sha1-browser/README.md
generated
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
# @aws-crypto/sha1-browser
|
||||
|
||||
SHA1 wrapper for browsers that prefers `window.crypto.subtle`.
|
||||
|
||||
SHA1 is **NOT** a cryptographically secure algorithm.
|
||||
It should _only_ be used for non cryptographic functions like checksums.
|
||||
|
||||
## Usage
|
||||
|
||||
```
|
||||
import {Sha1} from '@aws-crypto/sha1-browser'
|
||||
|
||||
const hash = new Sha1();
|
||||
hash.update('some data');
|
||||
const result = await hash.digest();
|
||||
|
||||
```
|
||||
|
||||
## Test
|
||||
|
||||
`npm test`
|
||||
10
backend/node_modules/@aws-crypto/sha1-browser/build/main/constants.d.ts
generated
vendored
Normal file
10
backend/node_modules/@aws-crypto/sha1-browser/build/main/constants.d.ts
generated
vendored
Normal file
@@ -0,0 +1,10 @@
|
||||
export declare const SHA_1_HASH: {
|
||||
name: "SHA-1";
|
||||
};
|
||||
export declare const SHA_1_HMAC_ALGO: {
|
||||
name: "HMAC";
|
||||
hash: {
|
||||
name: "SHA-1";
|
||||
};
|
||||
};
|
||||
export declare const EMPTY_DATA_SHA_1: Uint8Array;
|
||||
31
backend/node_modules/@aws-crypto/sha1-browser/build/main/constants.js
generated
vendored
Normal file
31
backend/node_modules/@aws-crypto/sha1-browser/build/main/constants.js
generated
vendored
Normal file
@@ -0,0 +1,31 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.EMPTY_DATA_SHA_1 = exports.SHA_1_HMAC_ALGO = exports.SHA_1_HASH = void 0;
|
||||
exports.SHA_1_HASH = { name: "SHA-1" };
|
||||
exports.SHA_1_HMAC_ALGO = {
|
||||
name: "HMAC",
|
||||
hash: exports.SHA_1_HASH,
|
||||
};
|
||||
exports.EMPTY_DATA_SHA_1 = new Uint8Array([
|
||||
218,
|
||||
57,
|
||||
163,
|
||||
238,
|
||||
94,
|
||||
107,
|
||||
75,
|
||||
13,
|
||||
50,
|
||||
85,
|
||||
191,
|
||||
239,
|
||||
149,
|
||||
96,
|
||||
24,
|
||||
144,
|
||||
175,
|
||||
216,
|
||||
7,
|
||||
9,
|
||||
]);
|
||||
//# sourceMappingURL=constants.js.map
|
||||
1
backend/node_modules/@aws-crypto/sha1-browser/build/main/constants.js.map
generated
vendored
Normal file
1
backend/node_modules/@aws-crypto/sha1-browser/build/main/constants.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,UAAU,GAAsB,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AAElD,QAAA,eAAe,GAA8C;IACxE,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,kBAAU;CACjB,CAAC;AAEW,QAAA,gBAAgB,GAAG,IAAI,UAAU,CAAC;IAC7C,GAAG;IACH,EAAE;IACF,GAAG;IACH,GAAG;IACH,EAAE;IACF,GAAG;IACH,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,GAAG;IACH,GAAG;IACH,GAAG;IACH,EAAE;IACF,EAAE;IACF,GAAG;IACH,GAAG;IACH,GAAG;IACH,CAAC;IACD,CAAC;CACF,CAAC,CAAC"}
|
||||
8
backend/node_modules/@aws-crypto/sha1-browser/build/main/crossPlatformSha1.d.ts
generated
vendored
Normal file
8
backend/node_modules/@aws-crypto/sha1-browser/build/main/crossPlatformSha1.d.ts
generated
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
import { Checksum, SourceData } from "@aws-sdk/types";
|
||||
export declare class Sha1 implements Checksum {
|
||||
private hash;
|
||||
constructor(secret?: SourceData);
|
||||
update(data: SourceData, encoding?: "utf8" | "ascii" | "latin1"): void;
|
||||
digest(): Promise<Uint8Array>;
|
||||
reset(): void;
|
||||
}
|
||||
29
backend/node_modules/@aws-crypto/sha1-browser/build/main/crossPlatformSha1.js
generated
vendored
Normal file
29
backend/node_modules/@aws-crypto/sha1-browser/build/main/crossPlatformSha1.js
generated
vendored
Normal file
@@ -0,0 +1,29 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.Sha1 = void 0;
|
||||
var webCryptoSha1_1 = require("./webCryptoSha1");
|
||||
var supports_web_crypto_1 = require("@aws-crypto/supports-web-crypto");
|
||||
var util_locate_window_1 = require("@aws-sdk/util-locate-window");
|
||||
var util_1 = require("@aws-crypto/util");
|
||||
var Sha1 = /** @class */ (function () {
|
||||
function Sha1(secret) {
|
||||
if ((0, supports_web_crypto_1.supportsWebCrypto)((0, util_locate_window_1.locateWindow)())) {
|
||||
this.hash = new webCryptoSha1_1.Sha1(secret);
|
||||
}
|
||||
else {
|
||||
throw new Error("SHA1 not supported");
|
||||
}
|
||||
}
|
||||
Sha1.prototype.update = function (data, encoding) {
|
||||
this.hash.update((0, util_1.convertToBuffer)(data));
|
||||
};
|
||||
Sha1.prototype.digest = function () {
|
||||
return this.hash.digest();
|
||||
};
|
||||
Sha1.prototype.reset = function () {
|
||||
this.hash.reset();
|
||||
};
|
||||
return Sha1;
|
||||
}());
|
||||
exports.Sha1 = Sha1;
|
||||
//# sourceMappingURL=crossPlatformSha1.js.map
|
||||
1
backend/node_modules/@aws-crypto/sha1-browser/build/main/crossPlatformSha1.js.map
generated
vendored
Normal file
1
backend/node_modules/@aws-crypto/sha1-browser/build/main/crossPlatformSha1.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"crossPlatformSha1.js","sourceRoot":"","sources":["../../src/crossPlatformSha1.ts"],"names":[],"mappings":";;;AAAA,iDAAwD;AAExD,uEAAoE;AACpE,kEAA2D;AAC3D,yCAAmD;AAEnD;IAGE,cAAY,MAAmB;QAC7B,IAAI,IAAA,uCAAiB,EAAC,IAAA,iCAAY,GAAE,CAAC,EAAE;YACrC,IAAI,CAAC,IAAI,GAAG,IAAI,oBAAa,CAAC,MAAM,CAAC,CAAC;SACvC;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;SACvC;IACH,CAAC;IAED,qBAAM,GAAN,UAAO,IAAgB,EAAE,QAAsC;QAC7D,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAA,sBAAe,EAAC,IAAI,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED,qBAAM,GAAN;QACE,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;IAED,oBAAK,GAAL;QACE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IACpB,CAAC;IACH,WAAC;AAAD,CAAC,AAtBD,IAsBC;AAtBY,oBAAI"}
|
||||
2
backend/node_modules/@aws-crypto/sha1-browser/build/main/index.d.ts
generated
vendored
Normal file
2
backend/node_modules/@aws-crypto/sha1-browser/build/main/index.d.ts
generated
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
export * from "./crossPlatformSha1";
|
||||
export { Sha1 as WebCryptoSha1 } from "./webCryptoSha1";
|
||||
8
backend/node_modules/@aws-crypto/sha1-browser/build/main/index.js
generated
vendored
Normal file
8
backend/node_modules/@aws-crypto/sha1-browser/build/main/index.js
generated
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.WebCryptoSha1 = void 0;
|
||||
var tslib_1 = require("tslib");
|
||||
tslib_1.__exportStar(require("./crossPlatformSha1"), exports);
|
||||
var webCryptoSha1_1 = require("./webCryptoSha1");
|
||||
Object.defineProperty(exports, "WebCryptoSha1", { enumerable: true, get: function () { return webCryptoSha1_1.Sha1; } });
|
||||
//# sourceMappingURL=index.js.map
|
||||
1
backend/node_modules/@aws-crypto/sha1-browser/build/main/index.js.map
generated
vendored
Normal file
1
backend/node_modules/@aws-crypto/sha1-browser/build/main/index.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;AAAA,8DAAoC;AACpC,iDAAwD;AAA/C,8GAAA,IAAI,OAAiB"}
|
||||
2
backend/node_modules/@aws-crypto/sha1-browser/build/main/isEmptyData.d.ts
generated
vendored
Normal file
2
backend/node_modules/@aws-crypto/sha1-browser/build/main/isEmptyData.d.ts
generated
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
import { SourceData } from "@aws-sdk/types";
|
||||
export declare function isEmptyData(data: SourceData): boolean;
|
||||
11
backend/node_modules/@aws-crypto/sha1-browser/build/main/isEmptyData.js
generated
vendored
Normal file
11
backend/node_modules/@aws-crypto/sha1-browser/build/main/isEmptyData.js
generated
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.isEmptyData = void 0;
|
||||
function isEmptyData(data) {
|
||||
if (typeof data === "string") {
|
||||
return data.length === 0;
|
||||
}
|
||||
return data.byteLength === 0;
|
||||
}
|
||||
exports.isEmptyData = isEmptyData;
|
||||
//# sourceMappingURL=isEmptyData.js.map
|
||||
1
backend/node_modules/@aws-crypto/sha1-browser/build/main/isEmptyData.js.map
generated
vendored
Normal file
1
backend/node_modules/@aws-crypto/sha1-browser/build/main/isEmptyData.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"isEmptyData.js","sourceRoot":"","sources":["../../src/isEmptyData.ts"],"names":[],"mappings":";;;AAEA,SAAgB,WAAW,CAAC,IAAgB;IAC1C,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;QAC5B,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC;KAC1B;IAED,OAAO,IAAI,CAAC,UAAU,KAAK,CAAC,CAAC;AAC/B,CAAC;AAND,kCAMC"}
|
||||
9
backend/node_modules/@aws-crypto/sha1-browser/build/main/webCryptoSha1.d.ts
generated
vendored
Normal file
9
backend/node_modules/@aws-crypto/sha1-browser/build/main/webCryptoSha1.d.ts
generated
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
import { Checksum, SourceData } from "@aws-sdk/types";
|
||||
export declare class Sha1 implements Checksum {
|
||||
private readonly key;
|
||||
private toHash;
|
||||
constructor(secret?: SourceData);
|
||||
update(data: SourceData): void;
|
||||
digest(): Promise<Uint8Array>;
|
||||
reset(): void;
|
||||
}
|
||||
61
backend/node_modules/@aws-crypto/sha1-browser/build/main/webCryptoSha1.js
generated
vendored
Normal file
61
backend/node_modules/@aws-crypto/sha1-browser/build/main/webCryptoSha1.js
generated
vendored
Normal file
@@ -0,0 +1,61 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.Sha1 = void 0;
|
||||
var util_utf8_1 = require("@smithy/util-utf8");
|
||||
var isEmptyData_1 = require("./isEmptyData");
|
||||
var constants_1 = require("./constants");
|
||||
var util_locate_window_1 = require("@aws-sdk/util-locate-window");
|
||||
var Sha1 = /** @class */ (function () {
|
||||
function Sha1(secret) {
|
||||
this.toHash = new Uint8Array(0);
|
||||
if (secret !== void 0) {
|
||||
this.key = new Promise(function (resolve, reject) {
|
||||
(0, util_locate_window_1.locateWindow)()
|
||||
.crypto.subtle.importKey("raw", convertToBuffer(secret), constants_1.SHA_1_HMAC_ALGO, false, ["sign"])
|
||||
.then(resolve, reject);
|
||||
});
|
||||
this.key.catch(function () { });
|
||||
}
|
||||
}
|
||||
Sha1.prototype.update = function (data) {
|
||||
if ((0, isEmptyData_1.isEmptyData)(data)) {
|
||||
return;
|
||||
}
|
||||
var update = convertToBuffer(data);
|
||||
var typedArray = new Uint8Array(this.toHash.byteLength + update.byteLength);
|
||||
typedArray.set(this.toHash, 0);
|
||||
typedArray.set(update, this.toHash.byteLength);
|
||||
this.toHash = typedArray;
|
||||
};
|
||||
Sha1.prototype.digest = function () {
|
||||
var _this = this;
|
||||
if (this.key) {
|
||||
return this.key.then(function (key) {
|
||||
return (0, util_locate_window_1.locateWindow)()
|
||||
.crypto.subtle.sign(constants_1.SHA_1_HMAC_ALGO, key, _this.toHash)
|
||||
.then(function (data) { return new Uint8Array(data); });
|
||||
});
|
||||
}
|
||||
if ((0, isEmptyData_1.isEmptyData)(this.toHash)) {
|
||||
return Promise.resolve(constants_1.EMPTY_DATA_SHA_1);
|
||||
}
|
||||
return Promise.resolve()
|
||||
.then(function () { return (0, util_locate_window_1.locateWindow)().crypto.subtle.digest(constants_1.SHA_1_HASH, _this.toHash); })
|
||||
.then(function (data) { return Promise.resolve(new Uint8Array(data)); });
|
||||
};
|
||||
Sha1.prototype.reset = function () {
|
||||
this.toHash = new Uint8Array(0);
|
||||
};
|
||||
return Sha1;
|
||||
}());
|
||||
exports.Sha1 = Sha1;
|
||||
function convertToBuffer(data) {
|
||||
if (typeof data === "string") {
|
||||
return (0, util_utf8_1.fromUtf8)(data);
|
||||
}
|
||||
if (ArrayBuffer.isView(data)) {
|
||||
return new Uint8Array(data.buffer, data.byteOffset, data.byteLength / Uint8Array.BYTES_PER_ELEMENT);
|
||||
}
|
||||
return new Uint8Array(data);
|
||||
}
|
||||
//# sourceMappingURL=webCryptoSha1.js.map
|
||||
1
backend/node_modules/@aws-crypto/sha1-browser/build/main/webCryptoSha1.js.map
generated
vendored
Normal file
1
backend/node_modules/@aws-crypto/sha1-browser/build/main/webCryptoSha1.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"webCryptoSha1.js","sourceRoot":"","sources":["../../src/webCryptoSha1.ts"],"names":[],"mappings":";;;AACA,+CAA6C;AAC7C,6CAA4C;AAC5C,yCAA4E;AAC5E,kEAA2D;AAE3D;IAIE,cAAY,MAAmB;QAFvB,WAAM,GAAe,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;QAG7C,IAAI,MAAM,KAAK,KAAK,CAAC,EAAE;YACrB,IAAI,CAAC,GAAG,GAAG,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;gBACrC,IAAA,iCAAY,GAAE;qBACX,MAAM,CAAC,MAAM,CAAC,SAAS,CACtB,KAAK,EACL,eAAe,CAAC,MAAM,CAAC,EACvB,2BAAe,EACf,KAAK,EACL,CAAC,MAAM,CAAC,CACT;qBACA,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC3B,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,cAAO,CAAC,CAAC,CAAC;SAC1B;IACH,CAAC;IAED,qBAAM,GAAN,UAAO,IAAgB;QACrB,IAAI,IAAA,yBAAW,EAAC,IAAI,CAAC,EAAE;YACrB,OAAO;SACR;QAED,IAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;QACrC,IAAM,UAAU,GAAG,IAAI,UAAU,CAC/B,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAC3C,CAAC;QACF,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC/B,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC/C,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC;IAC3B,CAAC;IAED,qBAAM,GAAN;QAAA,iBAgBC;QAfC,IAAI,IAAI,CAAC,GAAG,EAAE;YACZ,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAC,GAAG;gBACvB,OAAA,IAAA,iCAAY,GAAE;qBACX,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,2BAAe,EAAE,GAAG,EAAE,KAAI,CAAC,MAAM,CAAC;qBACrD,IAAI,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,UAAU,CAAC,IAAI,CAAC,EAApB,CAAoB,CAAC;YAFvC,CAEuC,CACxC,CAAC;SACH;QAED,IAAI,IAAA,yBAAW,EAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YAC5B,OAAO,OAAO,CAAC,OAAO,CAAC,4BAAgB,CAAC,CAAC;SAC1C;QAED,OAAO,OAAO,CAAC,OAAO,EAAE;aACrB,IAAI,CAAC,cAAM,OAAA,IAAA,iCAAY,GAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,sBAAU,EAAE,KAAI,CAAC,MAAM,CAAC,EAA5D,CAA4D,CAAC;aACxE,IAAI,CAAC,UAAC,IAAI,IAAK,OAAA,OAAO,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,EAArC,CAAqC,CAAC,CAAC;IAC3D,CAAC;IAED,oBAAK,GAAL;QACE,IAAI,CAAC,MAAM,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC;IACH,WAAC;AAAD,CAAC,AAxDD,IAwDC;AAxDY,oBAAI;AA0DjB,SAAS,eAAe,CAAC,IAAgB;IACvC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;QAC5B,OAAO,IAAA,oBAAQ,EAAC,IAAI,CAAC,CAAC;KACvB;IAED,IAAI,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;QAC5B,OAAO,IAAI,UAAU,CACnB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,iBAAiB,CAC/C,CAAC;KACH;IAED,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC"}
|
||||
10
backend/node_modules/@aws-crypto/sha1-browser/build/module/constants.d.ts
generated
vendored
Normal file
10
backend/node_modules/@aws-crypto/sha1-browser/build/module/constants.d.ts
generated
vendored
Normal file
@@ -0,0 +1,10 @@
|
||||
export declare const SHA_1_HASH: {
|
||||
name: "SHA-1";
|
||||
};
|
||||
export declare const SHA_1_HMAC_ALGO: {
|
||||
name: "HMAC";
|
||||
hash: {
|
||||
name: "SHA-1";
|
||||
};
|
||||
};
|
||||
export declare const EMPTY_DATA_SHA_1: Uint8Array;
|
||||
28
backend/node_modules/@aws-crypto/sha1-browser/build/module/constants.js
generated
vendored
Normal file
28
backend/node_modules/@aws-crypto/sha1-browser/build/module/constants.js
generated
vendored
Normal file
@@ -0,0 +1,28 @@
|
||||
export var SHA_1_HASH = { name: "SHA-1" };
|
||||
export var SHA_1_HMAC_ALGO = {
|
||||
name: "HMAC",
|
||||
hash: SHA_1_HASH,
|
||||
};
|
||||
export var EMPTY_DATA_SHA_1 = new Uint8Array([
|
||||
218,
|
||||
57,
|
||||
163,
|
||||
238,
|
||||
94,
|
||||
107,
|
||||
75,
|
||||
13,
|
||||
50,
|
||||
85,
|
||||
191,
|
||||
239,
|
||||
149,
|
||||
96,
|
||||
24,
|
||||
144,
|
||||
175,
|
||||
216,
|
||||
7,
|
||||
9,
|
||||
]);
|
||||
//# sourceMappingURL=constants.js.map
|
||||
1
backend/node_modules/@aws-crypto/sha1-browser/build/module/constants.js.map
generated
vendored
Normal file
1
backend/node_modules/@aws-crypto/sha1-browser/build/module/constants.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,IAAM,UAAU,GAAsB,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AAE/D,MAAM,CAAC,IAAM,eAAe,GAA8C;IACxE,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,UAAU;CACjB,CAAC;AAEF,MAAM,CAAC,IAAM,gBAAgB,GAAG,IAAI,UAAU,CAAC;IAC7C,GAAG;IACH,EAAE;IACF,GAAG;IACH,GAAG;IACH,EAAE;IACF,GAAG;IACH,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,GAAG;IACH,GAAG;IACH,GAAG;IACH,EAAE;IACF,EAAE;IACF,GAAG;IACH,GAAG;IACH,GAAG;IACH,CAAC;IACD,CAAC;CACF,CAAC,CAAC"}
|
||||
8
backend/node_modules/@aws-crypto/sha1-browser/build/module/crossPlatformSha1.d.ts
generated
vendored
Normal file
8
backend/node_modules/@aws-crypto/sha1-browser/build/module/crossPlatformSha1.d.ts
generated
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
import { Checksum, SourceData } from "@aws-sdk/types";
|
||||
export declare class Sha1 implements Checksum {
|
||||
private hash;
|
||||
constructor(secret?: SourceData);
|
||||
update(data: SourceData, encoding?: "utf8" | "ascii" | "latin1"): void;
|
||||
digest(): Promise<Uint8Array>;
|
||||
reset(): void;
|
||||
}
|
||||
26
backend/node_modules/@aws-crypto/sha1-browser/build/module/crossPlatformSha1.js
generated
vendored
Normal file
26
backend/node_modules/@aws-crypto/sha1-browser/build/module/crossPlatformSha1.js
generated
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
import { Sha1 as WebCryptoSha1 } from "./webCryptoSha1";
|
||||
import { supportsWebCrypto } from "@aws-crypto/supports-web-crypto";
|
||||
import { locateWindow } from "@aws-sdk/util-locate-window";
|
||||
import { convertToBuffer } from "@aws-crypto/util";
|
||||
var Sha1 = /** @class */ (function () {
|
||||
function Sha1(secret) {
|
||||
if (supportsWebCrypto(locateWindow())) {
|
||||
this.hash = new WebCryptoSha1(secret);
|
||||
}
|
||||
else {
|
||||
throw new Error("SHA1 not supported");
|
||||
}
|
||||
}
|
||||
Sha1.prototype.update = function (data, encoding) {
|
||||
this.hash.update(convertToBuffer(data));
|
||||
};
|
||||
Sha1.prototype.digest = function () {
|
||||
return this.hash.digest();
|
||||
};
|
||||
Sha1.prototype.reset = function () {
|
||||
this.hash.reset();
|
||||
};
|
||||
return Sha1;
|
||||
}());
|
||||
export { Sha1 };
|
||||
//# sourceMappingURL=crossPlatformSha1.js.map
|
||||
1
backend/node_modules/@aws-crypto/sha1-browser/build/module/crossPlatformSha1.js.map
generated
vendored
Normal file
1
backend/node_modules/@aws-crypto/sha1-browser/build/module/crossPlatformSha1.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"crossPlatformSha1.js","sourceRoot":"","sources":["../../src/crossPlatformSha1.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAExD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD;IAGE,cAAY,MAAmB;QAC7B,IAAI,iBAAiB,CAAC,YAAY,EAAE,CAAC,EAAE;YACrC,IAAI,CAAC,IAAI,GAAG,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC;SACvC;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;SACvC;IACH,CAAC;IAED,qBAAM,GAAN,UAAO,IAAgB,EAAE,QAAsC;QAC7D,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED,qBAAM,GAAN;QACE,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;IAED,oBAAK,GAAL;QACE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IACpB,CAAC;IACH,WAAC;AAAD,CAAC,AAtBD,IAsBC"}
|
||||
2
backend/node_modules/@aws-crypto/sha1-browser/build/module/index.d.ts
generated
vendored
Normal file
2
backend/node_modules/@aws-crypto/sha1-browser/build/module/index.d.ts
generated
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
export * from "./crossPlatformSha1";
|
||||
export { Sha1 as WebCryptoSha1 } from "./webCryptoSha1";
|
||||
3
backend/node_modules/@aws-crypto/sha1-browser/build/module/index.js
generated
vendored
Normal file
3
backend/node_modules/@aws-crypto/sha1-browser/build/module/index.js
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
export * from "./crossPlatformSha1";
|
||||
export { Sha1 as WebCryptoSha1 } from "./webCryptoSha1";
|
||||
//# sourceMappingURL=index.js.map
|
||||
1
backend/node_modules/@aws-crypto/sha1-browser/build/module/index.js.map
generated
vendored
Normal file
1
backend/node_modules/@aws-crypto/sha1-browser/build/module/index.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,IAAI,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC"}
|
||||
2
backend/node_modules/@aws-crypto/sha1-browser/build/module/isEmptyData.d.ts
generated
vendored
Normal file
2
backend/node_modules/@aws-crypto/sha1-browser/build/module/isEmptyData.d.ts
generated
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
import { SourceData } from "@aws-sdk/types";
|
||||
export declare function isEmptyData(data: SourceData): boolean;
|
||||
7
backend/node_modules/@aws-crypto/sha1-browser/build/module/isEmptyData.js
generated
vendored
Normal file
7
backend/node_modules/@aws-crypto/sha1-browser/build/module/isEmptyData.js
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
export function isEmptyData(data) {
|
||||
if (typeof data === "string") {
|
||||
return data.length === 0;
|
||||
}
|
||||
return data.byteLength === 0;
|
||||
}
|
||||
//# sourceMappingURL=isEmptyData.js.map
|
||||
1
backend/node_modules/@aws-crypto/sha1-browser/build/module/isEmptyData.js.map
generated
vendored
Normal file
1
backend/node_modules/@aws-crypto/sha1-browser/build/module/isEmptyData.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"isEmptyData.js","sourceRoot":"","sources":["../../src/isEmptyData.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,WAAW,CAAC,IAAgB;IAC1C,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;QAC5B,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC;KAC1B;IAED,OAAO,IAAI,CAAC,UAAU,KAAK,CAAC,CAAC;AAC/B,CAAC"}
|
||||
9
backend/node_modules/@aws-crypto/sha1-browser/build/module/webCryptoSha1.d.ts
generated
vendored
Normal file
9
backend/node_modules/@aws-crypto/sha1-browser/build/module/webCryptoSha1.d.ts
generated
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
import { Checksum, SourceData } from "@aws-sdk/types";
|
||||
export declare class Sha1 implements Checksum {
|
||||
private readonly key;
|
||||
private toHash;
|
||||
constructor(secret?: SourceData);
|
||||
update(data: SourceData): void;
|
||||
digest(): Promise<Uint8Array>;
|
||||
reset(): void;
|
||||
}
|
||||
58
backend/node_modules/@aws-crypto/sha1-browser/build/module/webCryptoSha1.js
generated
vendored
Normal file
58
backend/node_modules/@aws-crypto/sha1-browser/build/module/webCryptoSha1.js
generated
vendored
Normal file
@@ -0,0 +1,58 @@
|
||||
import { fromUtf8 } from "@smithy/util-utf8";
|
||||
import { isEmptyData } from "./isEmptyData";
|
||||
import { EMPTY_DATA_SHA_1, SHA_1_HASH, SHA_1_HMAC_ALGO } from "./constants";
|
||||
import { locateWindow } from "@aws-sdk/util-locate-window";
|
||||
var Sha1 = /** @class */ (function () {
|
||||
function Sha1(secret) {
|
||||
this.toHash = new Uint8Array(0);
|
||||
if (secret !== void 0) {
|
||||
this.key = new Promise(function (resolve, reject) {
|
||||
locateWindow()
|
||||
.crypto.subtle.importKey("raw", convertToBuffer(secret), SHA_1_HMAC_ALGO, false, ["sign"])
|
||||
.then(resolve, reject);
|
||||
});
|
||||
this.key.catch(function () { });
|
||||
}
|
||||
}
|
||||
Sha1.prototype.update = function (data) {
|
||||
if (isEmptyData(data)) {
|
||||
return;
|
||||
}
|
||||
var update = convertToBuffer(data);
|
||||
var typedArray = new Uint8Array(this.toHash.byteLength + update.byteLength);
|
||||
typedArray.set(this.toHash, 0);
|
||||
typedArray.set(update, this.toHash.byteLength);
|
||||
this.toHash = typedArray;
|
||||
};
|
||||
Sha1.prototype.digest = function () {
|
||||
var _this = this;
|
||||
if (this.key) {
|
||||
return this.key.then(function (key) {
|
||||
return locateWindow()
|
||||
.crypto.subtle.sign(SHA_1_HMAC_ALGO, key, _this.toHash)
|
||||
.then(function (data) { return new Uint8Array(data); });
|
||||
});
|
||||
}
|
||||
if (isEmptyData(this.toHash)) {
|
||||
return Promise.resolve(EMPTY_DATA_SHA_1);
|
||||
}
|
||||
return Promise.resolve()
|
||||
.then(function () { return locateWindow().crypto.subtle.digest(SHA_1_HASH, _this.toHash); })
|
||||
.then(function (data) { return Promise.resolve(new Uint8Array(data)); });
|
||||
};
|
||||
Sha1.prototype.reset = function () {
|
||||
this.toHash = new Uint8Array(0);
|
||||
};
|
||||
return Sha1;
|
||||
}());
|
||||
export { Sha1 };
|
||||
function convertToBuffer(data) {
|
||||
if (typeof data === "string") {
|
||||
return fromUtf8(data);
|
||||
}
|
||||
if (ArrayBuffer.isView(data)) {
|
||||
return new Uint8Array(data.buffer, data.byteOffset, data.byteLength / Uint8Array.BYTES_PER_ELEMENT);
|
||||
}
|
||||
return new Uint8Array(data);
|
||||
}
|
||||
//# sourceMappingURL=webCryptoSha1.js.map
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user