Merge branch 'main' into wuwenbo/2v2
This commit is contained in:
commit
ecd8255b72
48
.gitignore
vendored
48
.gitignore
vendored
@ -53,16 +53,58 @@ Publish/
|
||||
/Docs/
|
||||
/Unity/Assets/Scripts/CLAUDE.md.meta
|
||||
|
||||
#Graphify缓存(可本地重新生成,运行graphify update .即可恢复)
|
||||
#Node.js依赖(任何位置的node_modules都忽略)
|
||||
**/node_modules/
|
||||
node_modules/
|
||||
|
||||
#Node.js日志和缓存
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
.npm/
|
||||
.yarn/
|
||||
|
||||
#环境变量和密钥(防止误提交)
|
||||
.env
|
||||
.env.local
|
||||
.env.*.local
|
||||
*.key
|
||||
*.pem
|
||||
|
||||
#Graphify缓存和大文件(可本地重新生成,运行graphify update .即可恢复)
|
||||
**/graphify-out/cache/
|
||||
**/graphify-out/cache.meta
|
||||
**/graphify-out/obsidian/
|
||||
**/graphify-out/obsidian.meta
|
||||
**/graphify-out/graph.json
|
||||
**/graphify-out/converted/
|
||||
|
||||
#Graphify保留文件(取消忽略)
|
||||
#Graphify保留文件(仅保留分析报告和元信息)
|
||||
!**/graphify-out/GRAPH_REPORT.md
|
||||
!**/graphify-out/graph.json
|
||||
!**/graphify-out/manifest.json
|
||||
!**/graphify-out/cost.json
|
||||
Unity/TH1.pub
|
||||
Unity/TH1
|
||||
|
||||
#翻译校对过程中的临时文件(一次性脚本/中间审计数据/xlsx备份)
|
||||
Tools/*.bak.xlsx
|
||||
Tools/_*.txt
|
||||
Tools/_*.py
|
||||
Tools/audit_*.json
|
||||
Tools/en_*.json
|
||||
Tools/tw_*.json
|
||||
Tools/es_audit.json
|
||||
Tools/multi_audit.json
|
||||
Tools/issues_*.json
|
||||
Tools/retranslate_*.json
|
||||
Tools/fix_*.json
|
||||
Tools/fix_*.py
|
||||
Tools/empty_*.json
|
||||
Tools/jp_translations.json
|
||||
Tools/kr_translations.json
|
||||
Tools/to_translate.json
|
||||
Tools/row_to_id_map.json
|
||||
Tools/apply_translations.py
|
||||
Tools/reapply_all.py
|
||||
Tools/revert_inactive.py
|
||||
Tools/Multilingual_p1.xlsx
|
||||
|
||||
306
DOC/bugs.json
306
DOC/bugs.json
@ -1,5 +1,5 @@
|
||||
{
|
||||
"nextId": 86,
|
||||
"nextId": 116,
|
||||
"bugs": [
|
||||
{
|
||||
"id": 2,
|
||||
@ -825,11 +825,11 @@
|
||||
"id": 84,
|
||||
"title": "结盟蛇蛇可以合队友的",
|
||||
"description": "",
|
||||
"status": "open",
|
||||
"status": "fixed",
|
||||
"priority": "medium",
|
||||
"module": "",
|
||||
"createdAt": 1778037229229,
|
||||
"updatedAt": 1778037229229
|
||||
"updatedAt": 1778422955471
|
||||
},
|
||||
{
|
||||
"id": 85,
|
||||
@ -840,6 +840,306 @@
|
||||
"module": "",
|
||||
"createdAt": 1778054090670,
|
||||
"updatedAt": 1778054090670
|
||||
},
|
||||
{
|
||||
"id": 86,
|
||||
"title": "新叛军单位不给视野",
|
||||
"description": "",
|
||||
"status": "fixed",
|
||||
"priority": "medium",
|
||||
"module": "",
|
||||
"createdAt": 1778060168323,
|
||||
"updatedAt": 1778422947122
|
||||
},
|
||||
{
|
||||
"id": 87,
|
||||
"title": "敌人的铃仙一起射",
|
||||
"description": "",
|
||||
"status": "fixed",
|
||||
"priority": "medium",
|
||||
"module": "",
|
||||
"createdAt": 1778068900792,
|
||||
"updatedAt": 1778432747195
|
||||
},
|
||||
{
|
||||
"id": 88,
|
||||
"title": "升级时逃脱可以进入隐身 恋恋",
|
||||
"description": "",
|
||||
"status": "fixed",
|
||||
"priority": "medium",
|
||||
"module": "",
|
||||
"createdAt": 1778069113269,
|
||||
"updatedAt": 1778432744070
|
||||
},
|
||||
{
|
||||
"id": 89,
|
||||
"title": "马阶和车阶的成就计算好像反了",
|
||||
"description": "",
|
||||
"status": "fixed",
|
||||
"priority": "medium",
|
||||
"module": "",
|
||||
"createdAt": 1778072849787,
|
||||
"updatedAt": 1778422840757
|
||||
},
|
||||
{
|
||||
"id": 90,
|
||||
"title": "雕像的价格",
|
||||
"description": "",
|
||||
"status": "fixed",
|
||||
"priority": "medium",
|
||||
"module": "",
|
||||
"createdAt": 1778074999985,
|
||||
"updatedAt": 1778413431744
|
||||
},
|
||||
{
|
||||
"id": 91,
|
||||
"title": "庭院 兔子 数额",
|
||||
"description": "",
|
||||
"status": "fixed",
|
||||
"priority": "medium",
|
||||
"module": "",
|
||||
"createdAt": 1778079255764,
|
||||
"updatedAt": 1778432742004
|
||||
},
|
||||
{
|
||||
"id": 92,
|
||||
"title": "恋恋复活bug",
|
||||
"description": "",
|
||||
"status": "open",
|
||||
"priority": "medium",
|
||||
"module": "",
|
||||
"createdAt": 1778129361545,
|
||||
"updatedAt": 1778129361545
|
||||
},
|
||||
{
|
||||
"id": 93,
|
||||
"title": "雪糕帕琪的体力说明是不是没说清楚上限升4的条件",
|
||||
"description": "",
|
||||
"status": "fixed",
|
||||
"priority": "medium",
|
||||
"module": "",
|
||||
"createdAt": 1778157886802,
|
||||
"updatedAt": 1778432739198
|
||||
},
|
||||
{
|
||||
"id": 94,
|
||||
"title": "旱地行舟",
|
||||
"description": "",
|
||||
"status": "open",
|
||||
"priority": "medium",
|
||||
"module": "",
|
||||
"createdAt": 1778171808683,
|
||||
"updatedAt": 1778171808683
|
||||
},
|
||||
{
|
||||
"id": 95,
|
||||
"title": "隐退不结算",
|
||||
"description": "",
|
||||
"status": "fixed",
|
||||
"priority": "medium",
|
||||
"module": "",
|
||||
"createdAt": 1778239305108,
|
||||
"updatedAt": 1778422832731
|
||||
},
|
||||
{
|
||||
"id": 96,
|
||||
"title": "不结束的bug - 存档!",
|
||||
"description": "",
|
||||
"status": "fixed",
|
||||
"priority": "medium",
|
||||
"module": "",
|
||||
"createdAt": 1778256414171,
|
||||
"updatedAt": 1778406986789
|
||||
},
|
||||
{
|
||||
"id": 97,
|
||||
"title": "隐退后的盟友不能占领",
|
||||
"description": "",
|
||||
"status": "fixed",
|
||||
"priority": "medium",
|
||||
"module": "",
|
||||
"createdAt": 1778327241673,
|
||||
"updatedAt": 1778406989234
|
||||
},
|
||||
{
|
||||
"id": 98,
|
||||
"title": "辉夜Lv2没有显示他有满月技能!、",
|
||||
"description": "",
|
||||
"status": "fixed",
|
||||
"priority": "medium",
|
||||
"module": "",
|
||||
"createdAt": 1778327264903,
|
||||
"updatedAt": 1778401414961
|
||||
},
|
||||
{
|
||||
"id": 99,
|
||||
"title": "百科的辉夜技能都没有!",
|
||||
"description": "",
|
||||
"status": "fixed",
|
||||
"priority": "medium",
|
||||
"module": "",
|
||||
"createdAt": 1778327389757,
|
||||
"updatedAt": 1778401417904
|
||||
},
|
||||
{
|
||||
"id": 100,
|
||||
"title": "20x20地图看不到顶上的格子",
|
||||
"description": "",
|
||||
"status": "open",
|
||||
"priority": "medium",
|
||||
"module": "",
|
||||
"createdAt": 1778327642153,
|
||||
"updatedAt": 1778327642153
|
||||
},
|
||||
{
|
||||
"id": 101,
|
||||
"title": "灵乌路空可以以盟友城市中心为目标",
|
||||
"description": "",
|
||||
"status": "fixed",
|
||||
"priority": "medium",
|
||||
"module": "",
|
||||
"createdAt": 1778328457814,
|
||||
"updatedAt": 1778407210483
|
||||
},
|
||||
{
|
||||
"id": 102,
|
||||
"title": "觉击杀敌人的时候恐惧没有算入任务",
|
||||
"description": "",
|
||||
"status": "fixed",
|
||||
"priority": "medium",
|
||||
"module": "",
|
||||
"createdAt": 1778328764545,
|
||||
"updatedAt": 1778429365536
|
||||
},
|
||||
{
|
||||
"id": 103,
|
||||
"title": "英雄的行动在百科里没有",
|
||||
"description": "",
|
||||
"status": "fixed",
|
||||
"priority": "medium",
|
||||
"module": "",
|
||||
"createdAt": 1778329387130,
|
||||
"updatedAt": 1778422827685
|
||||
},
|
||||
{
|
||||
"id": 104,
|
||||
"title": "战绩模式",
|
||||
"description": "",
|
||||
"status": "fixed",
|
||||
"priority": "medium",
|
||||
"module": "",
|
||||
"createdAt": 1778341534883,
|
||||
"updatedAt": 1778432757695
|
||||
},
|
||||
{
|
||||
"id": 105,
|
||||
"title": "图鉴有bug 残无Lv4全部变成0了",
|
||||
"description": "",
|
||||
"status": "fixed",
|
||||
"priority": "medium",
|
||||
"module": "",
|
||||
"createdAt": 1778341864548,
|
||||
"updatedAt": 1778400822251
|
||||
},
|
||||
{
|
||||
"id": 106,
|
||||
"title": "联机 进进出出 卡房间 /卡星空 1P 4P 5P 6P",
|
||||
"description": "",
|
||||
"status": "fixed",
|
||||
"priority": "medium",
|
||||
"module": "",
|
||||
"createdAt": 1778342289331,
|
||||
"updatedAt": 1778432942597
|
||||
},
|
||||
{
|
||||
"id": 107,
|
||||
"title": "向上移动和占领城市冲突",
|
||||
"description": "",
|
||||
"status": "open",
|
||||
"priority": "medium",
|
||||
"module": "",
|
||||
"createdAt": 1778389048531,
|
||||
"updatedAt": 1778389048531
|
||||
},
|
||||
{
|
||||
"id": 108,
|
||||
"title": "联机第一回合的阿空不会正常行动",
|
||||
"description": "",
|
||||
"status": "open",
|
||||
"priority": "medium",
|
||||
"module": "",
|
||||
"createdAt": 1778402313427,
|
||||
"updatedAt": 1778402313427
|
||||
},
|
||||
{
|
||||
"id": 109,
|
||||
"title": "我一层恐惧铃仙分身杀带恐惧的恐惧的残血单位后,发现铃仙点不到了,然后点错误画面刷新,最后发现点不了下一回合了",
|
||||
"description": "",
|
||||
"status": "open",
|
||||
"priority": "medium",
|
||||
"module": "",
|
||||
"createdAt": 1778408435437,
|
||||
"updatedAt": 1778408435437
|
||||
},
|
||||
{
|
||||
"id": 110,
|
||||
"title": "踢人功能",
|
||||
"description": "",
|
||||
"status": "fixed",
|
||||
"priority": "medium",
|
||||
"module": "",
|
||||
"createdAt": 1778408560758,
|
||||
"updatedAt": 1778412628283
|
||||
},
|
||||
{
|
||||
"id": 111,
|
||||
"title": "咲夜四级不会积累疲劳",
|
||||
"description": "",
|
||||
"status": "fixed",
|
||||
"priority": "medium",
|
||||
"module": "",
|
||||
"createdAt": 1778409653691,
|
||||
"updatedAt": 1778412626601
|
||||
},
|
||||
{
|
||||
"id": 112,
|
||||
"title": "犬走椛异端死人计数",
|
||||
"description": "",
|
||||
"status": "fixed",
|
||||
"priority": "medium",
|
||||
"module": "",
|
||||
"createdAt": 1778413087500,
|
||||
"updatedAt": 1778429342333
|
||||
},
|
||||
{
|
||||
"id": 113,
|
||||
"title": "遇到投降的敌人",
|
||||
"description": "",
|
||||
"status": "fixed",
|
||||
"priority": "medium",
|
||||
"module": "",
|
||||
"createdAt": 1778425376245,
|
||||
"updatedAt": 1778429343925
|
||||
},
|
||||
{
|
||||
"id": 114,
|
||||
"title": "遇到其他帝国 的关系 -> 要加scroll",
|
||||
"description": "",
|
||||
"status": "open",
|
||||
"priority": "medium",
|
||||
"module": "",
|
||||
"createdAt": 1778429282139,
|
||||
"updatedAt": 1778429282139
|
||||
},
|
||||
{
|
||||
"id": 115,
|
||||
"title": "0血bug还是会有",
|
||||
"description": "",
|
||||
"status": "open",
|
||||
"priority": "medium",
|
||||
"module": "",
|
||||
"createdAt": 1778432936862,
|
||||
"updatedAt": 1778432936862
|
||||
}
|
||||
]
|
||||
}
|
||||
114
DOC/marketing/steam鉴赏家筛选_20260510.md
Normal file
114
DOC/marketing/steam鉴赏家筛选_20260510.md
Normal file
@ -0,0 +1,114 @@
|
||||
# Steam 中文鉴赏家筛选档案(2026-05-10)
|
||||
|
||||
## 背景
|
||||
|
||||
- **游戏**:TH1(东方同人**策略 4X**)
|
||||
- **发售日**:2026-05-14(4 天后)
|
||||
- **任务**:从 53 个候选鉴赏家中筛出 22 个最匹配的进行接洽
|
||||
- **来源名单**:群友/中介整理的 53 人列表
|
||||
- **类型 = Key 数量**:类型 2 = 2 key(仅组评),类型 4 = 4 key(组评+商店页测评)。**这是合作成本,不是档次!**
|
||||
|
||||
## 关键认知(教训)
|
||||
|
||||
1. **第一次错**:把 TH1 当成 Galgame 向调研,筛出来的全是 Gal/黄油向。
|
||||
2. **第二次错**:纠正后用纯策略框架,把所有 Gal 向号一刀切,错过了月骨星魂(4 款东方测评)这类东方 IP 重灾区。
|
||||
3. **第三次错**:把"类型 2/4"理解成"档次 2/4",实际 2 = 2 key 成本、4 = 4 key 成本。
|
||||
|
||||
正确的双轨评分:**策略向 ×2 + 东方 IP 向 ×2 + 独游覆盖 ×1 + 活跃度 ×1**。
|
||||
- 策略+东方双命中 = 顶级
|
||||
- 仅策略向 OR 仅东方向(哪怕 Gal) = 第一梯队
|
||||
- 纯 Gal 无东方无策略 = 淘汰
|
||||
|
||||
> 教训记录于 `memory/project_th1_genre.md`、`memory/feedback_audience_balance.md`、`memory/feedback_curator_type_means_key_cost.md`
|
||||
|
||||
## 最终入选 22 人名单(用户 2026/5/10 确认版)
|
||||
|
||||
### 类型 4(4 key 成本,组评+商店页测评)— 10 个
|
||||
|
||||
| 名称 | 粉丝 | 关键证据 |
|
||||
|---|---|---|
|
||||
| **深澜探索者** | 15k | ★ 测过《东方求财史记》(双命中顶级) |
|
||||
| **稻荷的小窝** | 10k | ★ 东方专精号:测过《东方华心传》《东方夜雀食堂》等 4 款东方 |
|
||||
| **老实人评测** | 34k | Sudden Strike 5 + 废土履迹 + 卡牌店模拟(强策略) |
|
||||
| **哈密瓜的游戏乐园** | 13k | 沙盘战争:三国 |
|
||||
| **大川游戏俱乐部** | 16k | 日蚀行者(回合制 Rogue 策略) |
|
||||
| **桃你欢心** | 20k | 部分策略命中(MEMOLITH 战棋等) |
|
||||
| **丰川集团** | 11k | 二次元 IP 粉重叠盘(VN+二次元,无明确策略证据) |
|
||||
| **不动不动不动不动卿** | 22k | 黑夜轮回(战棋)+ 卡片魔王(部分策略证据) |
|
||||
| **猪式会社** | 15k | 二次元 IP 粉补充(证据较弱) |
|
||||
| **闲暇時光** | 20k | 二次元 IP 粉补充(证据较弱) |
|
||||
|
||||
> 用户决定删除三言两语评测(10k,沙盘三国 4X 命中)和第一印象(5.5k,魔法门英雄无敌+华夏战国),加入丰川集团和不动不动卿
|
||||
>
|
||||
> **代价提醒**:4key 池失去了对《沙盘战争:三国》最强 4X 对标号,硬核 4X/SLG 证据集中在老实人评测和大川游戏俱乐部
|
||||
|
||||
### 类型 2(2 key 成本,仅组评)— 12 个
|
||||
|
||||
| 名称 | 粉丝 | 关键证据 |
|
||||
|---|---|---|
|
||||
| **爱の榨汁屋** | 54k | ★ 沙盘战争三国(5/6)+ Touhou Blooming Soul(双命中顶级) |
|
||||
| **月骨星魂** | 4.4k | ★ 东方月神夜/永远消失的幻想乡/二色幽紫蝶/Touhou 3D 共 4 款(双命中顶级) |
|
||||
| **真爱鉴赏** | 5.8k | ★ 沙盘战争+黑夜轮回 + 东方幻想乡访客(双命中顶级) |
|
||||
| **走心评测** | 6.8k | Sudden Strike 5 + 黑夜轮回战棋(最纯策略) |
|
||||
| **来者不拒鉴游组** | 11k | 沙盘+战国+回合制全覆盖 |
|
||||
| **G胖受害者** | 41k | 多元策略命中(背包/经营/回合制) |
|
||||
| **黄油收集师组** | 40k | 二次元 IP 粉重叠盘(4w 粉量级,性价比高) |
|
||||
| **汉化语录** | 14k | 中文产能稳定 |
|
||||
| **Koimiao🍁** | 8k | 东方文化元素自描述 |
|
||||
| **琴音社** | 10k | VN 繁中独立 |
|
||||
| **趣遊鑒賞** | 5.9k | VN+萌系+独立繁中(港台 IP 粉) |
|
||||
| **鱼汤里的咸鱼** | 20k | 规模合格 |
|
||||
|
||||
## 顶级双命中 5 家(首发 key 资源应优先给这 5 家)
|
||||
|
||||
1. 稻荷的小窝(**类型 4**,4 key)
|
||||
2. 深澜探索者(**类型 4**,4 key)
|
||||
3. 爱の榨汁屋(**类型 2**,2 key)
|
||||
4. 月骨星魂(**类型 2**,2 key)
|
||||
5. 真爱鉴赏(**类型 2**,2 key)
|
||||
|
||||
> 5 家里 3 家是 2 key 成本,性价比极高
|
||||
|
||||
## Key 成本估算
|
||||
|
||||
- 类型 4 × 10 家 = 40 key
|
||||
- 类型 2 × 12 家 = 24 key
|
||||
- **合计 64 key**
|
||||
|
||||
## 已淘汰名单 + 关键淘汰理由
|
||||
|
||||
### 严重注水的 Steam Group(绝对不投)
|
||||
- 三真万法鉴赏组:自报 1.5w,实际 **114** 人
|
||||
- 买了等于玩了收藏会:自报 5037,实际 **53** 人
|
||||
- 硬核游戏:自报 8650,实际 1506 人
|
||||
|
||||
### 注水/缩水
|
||||
- Freedom Curator:自报 1.2w,实际 7008(缩水 40%)
|
||||
|
||||
### 死号/低活
|
||||
- HelloWorld(4/26 起停更)
|
||||
- 独立游戏云玩家(4/6 起停更)
|
||||
|
||||
### 大粉丝陷阱(粉多但完全不匹配)
|
||||
- 电玩狂热爱好者(5.5w,全 3A 大作向)
|
||||
- 大众点评(4.5w,武侠仙侠向)
|
||||
|
||||
### 用户决策淘汰(曾入选后被替换)
|
||||
- **三言两语评测**(10k,类型 4):策略证据强(沙盘战争:三国 4X),但用户决定替换
|
||||
- **第一印象**(5.5k,类型 4):策略证据强(魔法门英雄无敌+华夏战国),但长评偏短,用户决定替换
|
||||
|
||||
### 其他淘汰
|
||||
- 浮生评测(21k,类型 4):策略仅 1 款 Calamity Angels,证据偏弱
|
||||
- 自由评测、涩涩黄油小社、游戏边界、Lem0njuice、甄游组、Bilingual Curator、游戏乌托邦、左邻右里、月の赏、突突突发糖辣!、我的游戏不可能那么好玩!、无趣评测、高玩研究所、免费游戏、小黑盒-品游拾光、轻游社、睡不醒的早八人、游理游据、干货游戏、游戏好声音、游戏猫咖、黑白测评、鸿源鉴赏联盟
|
||||
|
||||
## 数据局限提示
|
||||
|
||||
- 调研用 WebFetch 抓公开主页+近期推荐(30 天为主,部分 6 个月)
|
||||
- **完整 6 个月推荐史需 Steam 客户端登录后翻**
|
||||
- 类型 4 末位的 **猪式会社、闲暇時光、丰川集团** 都是按"二次元 IP 粉重叠"凑进去的,无具体东方/策略证据
|
||||
|
||||
## 核心市场背景观察
|
||||
|
||||
- 5 月中文鉴赏家圈正在集中轰炸 NOOK FALL / Rainbow Legends / UBAI / Dating 4 Girls / 蚀界档案 / 沙盘战争:三国 等同一批新游
|
||||
- TH1 5/14 上线后大概率会被这批号集体覆盖
|
||||
- 真东方同人测评在整个 53 人池里**只查到 1 款公开测评**(深澜的《东方求财史记》),说明 Steam 中文鉴赏家对东方 IP 的覆盖远低于 Gal/SLG,更体现稻荷/月骨星魂/真爱鉴赏的稀缺价值
|
||||
@ -1,23 +1,68 @@
|
||||
{
|
||||
"nextId": 5,
|
||||
"nextId": 12,
|
||||
"todos": [
|
||||
{
|
||||
"id": 2,
|
||||
"title": "地灵殿约稿",
|
||||
"done": false,
|
||||
"createdAt": 1776432677268
|
||||
"done": true,
|
||||
"createdAt": 1776432677268,
|
||||
"doneAt": 1778391656001
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"title": "推特发布猜活动",
|
||||
"done": false,
|
||||
"createdAt": 1776432681811
|
||||
"done": true,
|
||||
"createdAt": 1776432681811,
|
||||
"doneAt": 1778391655367
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"title": "51传单",
|
||||
"done": true,
|
||||
"createdAt": 1776785459203,
|
||||
"doneAt": 1778391653533
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"title": "5.10 晚上 发布EA定价英文版",
|
||||
"done": false,
|
||||
"createdAt": 1776785459203
|
||||
"createdAt": 1778391666789
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"title": "5.11中午 发布猜原曲下 中英",
|
||||
"done": false,
|
||||
"createdAt": 1778391677313
|
||||
},
|
||||
{
|
||||
"id": 7,
|
||||
"title": "5.12中午 发布 剧情介绍",
|
||||
"done": false,
|
||||
"createdAt": 1778391699825
|
||||
},
|
||||
{
|
||||
"id": 8,
|
||||
"title": "5.14中午发布EA视频",
|
||||
"done": false,
|
||||
"createdAt": 1778391719909
|
||||
},
|
||||
{
|
||||
"id": 9,
|
||||
"title": "小黑盒记得发通知",
|
||||
"done": false,
|
||||
"createdAt": 1778391729715
|
||||
},
|
||||
{
|
||||
"id": 10,
|
||||
"title": "5.15中午 发印度歌曲",
|
||||
"done": false,
|
||||
"createdAt": 1778391835579
|
||||
},
|
||||
{
|
||||
"id": 11,
|
||||
"title": "5.11 发mod视频英文",
|
||||
"done": false,
|
||||
"createdAt": 1778391853698
|
||||
}
|
||||
]
|
||||
}
|
||||
102
Tools/English_Audit_Report.md
Normal file
102
Tools/English_Audit_Report.md
Normal file
@ -0,0 +1,102 @@
|
||||
# Multilingual.xlsx 英文翻译核查报告
|
||||
|
||||
**核查范围**:xlsx 中所有 `活跃文本=true` 且 `次要文案=false` 的 3338 条
|
||||
**核查方式**:跨条目术语一致性扫描 + 东方专有名词匹配 + 拼写检查 + 游戏术语对照
|
||||
**未触及**:MARKER_MISMATCH 类问题(`**<XXX>**` 标记被压成 `**<>**` 空标记),这是机翻偷工减料造成的大批量结构性错误,需另外专项处理
|
||||
|
||||
---
|
||||
|
||||
## 一、严重错译(必须修复)
|
||||
|
||||
### 1. 角色名错位
|
||||
|
||||
| ID | ZH | 当前 EN | 应改为 | 备注 |
|
||||
|----|----|---------|--------|------|
|
||||
| 17527 | 日白残无<br>参赛确认! | Nippaku Zanmu | **Zanmu Nippaku** | 与 ID 482/18627/18964-67/19286 风格统一为 名+姓 |
|
||||
| 19414 | 西行寺幽幽子 | Saigyouji Yuyuko | **Yuyuko Saigyouji** | 项目其他角色都用名+姓(Sakuya Izayoi、Flandre Scarlet 等) |
|
||||
|
||||
### 2. 拼写错误 / 神名错译
|
||||
|
||||
| ID | ZH | 当前 EN | 应改为 | 备注 |
|
||||
|----|----|---------|--------|------|
|
||||
| 17013 | 召唤御射宫司大人 | Summon Lord Mishot Gūji | **Summon Lord Mishaguji** | 拼写错误 |
|
||||
| 17890 | [能力:就交给赤口大人吧!] | [Ability: Leave it to **Lord Mishaguji**!] | [Ability: Leave it to **Akaguchi-sama**!] 或 **[Ability: Leave it to Lord Akaguchi!]** | 把"赤口"翻成了 Mishaguji,神名错位(赤口=日本六曜凶日的拟人神,与御射宫司是不同的神) |
|
||||
|
||||
### 3. 东方专名漏译为通用词
|
||||
|
||||
| ID | ZH | 当前 EN | 应改为 | 备注 |
|
||||
|----|----|---------|--------|------|
|
||||
| 2383 | 小恶魔祭司 | Lesser Demon Priest | **Koakuma Priestess** | "小恶魔"是东方专有角色(紅魔館的图书馆助手),应保留专名。ID 2440/2441/2439 已用 Koakuma |
|
||||
| 17009 | 召唤小恶魔祭司 | Summon Lesser Devil Priest | **Summon Koakuma Priestess** | 同上,且和 ID 2383 风格一致 |
|
||||
|
||||
---
|
||||
|
||||
## 二、术语一致性问题(建议修复)
|
||||
|
||||
### 4. 同一概念多种译法
|
||||
|
||||
| 概念 (ZH) | 当前 EN 译法分布 | 建议 |
|
||||
|----------|-----------------|------|
|
||||
| 护法炮兵 | Dharma Guardian Gunner (ID 18186) **vs** Dharma Guardian Cannoneer (ID 18223) | 统一为 **Cannoneer** 与项目"炮兵=Cannoneer / 炮手=Gunner"区分一致(ID 18222 训练护法弓兵=Archer 也支持这个区分) |
|
||||
| 护法帆船 | Guardian Sailboat (ID 18739/18740) | 改为 **Dharma Guardian Sailboat**,与"护法弓兵/炮兵/战舰" Dharma Guardian 前缀风格统一 |
|
||||
|
||||
### 5. 大人称呼风格不统一
|
||||
|
||||
| ID | ZH | 当前 EN |
|
||||
|----|----|--------|
|
||||
| 16734-16738, 16936, 17891, 17013(待修) | 御射宫司大人系列 | **Lord Mishaguji** / **Lord Mishaguji's Curse** |
|
||||
| 16726 | 交给赤口大人吧! | **Leave it to Akaguchi-sama!** |
|
||||
| 16724 | 赤口大人的作祟 | **Akaguchi-sama's Curse** |
|
||||
| 17890 | [能力:就交给赤口大人吧!] | (现在错译为 Lord Mishaguji,需修) |
|
||||
|
||||
**问题**:御射宫司大人用 `Lord XX`,赤口大人用 `XX-sama`。两种风格混用。
|
||||
|
||||
**建议方案**:选其一统一所有"大人"称呼:
|
||||
- 方案 A:全用 `Lord XX`(西方化,便于英语玩家理解)→ ID 16724/16726 改为 Lord Akaguchi
|
||||
- 方案 B:全用 `XX-sama`(保留日式敬称风格)→ ID 16734-17891 等改为 Mishaguji-sama
|
||||
- 方案 C:维持现状但修复 17890 错译(最小改动)
|
||||
|
||||
---
|
||||
|
||||
## 三、需用户决定的问题(不一定是错)
|
||||
|
||||
### 6. ID 18093「斯卡雷特·蕾米莉亚 Lv.1」反写
|
||||
|
||||
- **ZH**: `斯卡雷特·蕾米莉亚 Lv.1`(其他所有蕾米莉亚条目 ZH 都是 `蕾米莉亚·斯卡雷特`)
|
||||
- **EN**: `Scarlet Remilia Lv.1`(其他都是 `Remilia Scarlet`)
|
||||
- **备注列**: `HeroHintPanel : .../UnitBaseInfo/Title`(单位介绍标题)
|
||||
|
||||
是 ZH 故意反写(如剧情/称号需要),还是写错了?如果是错,需要同时修 ZH 和 EN。
|
||||
|
||||
### 7. 「冲刺」译为 Dash 还是 Charge
|
||||
|
||||
- **ID 18495**「冲刺」 EN=`Dash`
|
||||
- 其他 5 条「冲刺」都嵌在 `**<>**` 空标记内,看不出译法
|
||||
|
||||
游戏圈两种译法都常见,需用户决定项目偏好。
|
||||
|
||||
### 8. 「连续杀敌」译为 Consecutive Kill 还是 Killing Spree
|
||||
|
||||
- **ID 18258**「连续杀敌」 EN=`Consecutive Kill`
|
||||
- ID 18611「连杀」EN=`Multikill`
|
||||
- 是否统一为 `Killing Spree`(更地道的游戏术语)?或者保持现状(项目独立风格)?
|
||||
|
||||
---
|
||||
|
||||
## 四、不予修复(已是合理)
|
||||
|
||||
- **ID 1066/242 「大小姐」EN=`Milady`** — 正确(Milady 是英文中对贵族小姐的尊称,符合蕾米莉亚的身份)
|
||||
- **ID 38 「红美铃」EN=`Hong Meiling`** — 正确(按拼音音译,是项目偏好)
|
||||
- **大部分能力名([能力:XXX])** — 见 ID 17881-18622 系列,整体翻译质量高且风格统一
|
||||
- **角色名 ID 28-200 段** — 抽查皆正确
|
||||
- **MARKER_MISMATCH(620+ 条空 `**<>**`)** — 这是结构性大批量问题,应另开专项修复,不在本次审查中处理
|
||||
|
||||
---
|
||||
|
||||
## 修复优先级建议
|
||||
|
||||
- **P0 立即修**:1(角色名错位 2 条)、2(拼写/神名错译 2 条)、3(东方专名漏译 2 条)= 共 **6 条**
|
||||
- **P1 视情况修**:4(术语统一 4 条)= 共 **4 条**
|
||||
- **P2 风格决定后批量修**:5(大人称呼)、7、8 = 视用户选择
|
||||
|
||||
**累计 P0+P1 共 10 条**,加 P2 取决于风格选择。
|
||||
@ -14,18 +14,24 @@ def log(message):
|
||||
print(f"[{datetime.now()}] {message}")
|
||||
|
||||
def parse_special_format(content):
|
||||
"""解析特殊标记格式的数据"""
|
||||
"""解析特殊标记格式的数据。
|
||||
新 TXT 格式 16 字段(编辑器 sb.Append 写出,去掉 RU/ES/PT/FR + 加 IsSecondary):
|
||||
0=ID 1=活跃 2=ZH 3=TDZH 4=EN 5=JP 6=KR 7=IsSecondary
|
||||
8=IsProperNoun 9=IsDialogue 10=DialogueSpeaker 11=IsDeprecated
|
||||
12=IsCustom 13=IsSpecialTerm 14=Color 15=Icon
|
||||
编辑器写出时还会附 16=Desc(备注),所以读到的字段数可能是 16 或 17。"""
|
||||
records = []
|
||||
# 按记录分割(注意保留结尾空行处理)
|
||||
for record in content.split('!@#$%'):
|
||||
if not record.strip():
|
||||
continue
|
||||
# 按字段分割
|
||||
fields = [f.strip() for f in record.split('%$#@!')]
|
||||
if len(fields) == 20: # ID,ZH,EN,JP,KR
|
||||
if len(fields) in (16, 17):
|
||||
# 不足 17 时补上空备注列
|
||||
if len(fields) == 16:
|
||||
fields.append("")
|
||||
records.append(fields)
|
||||
else:
|
||||
log(f"忽略格式错误的记录: {record}")
|
||||
log(f"忽略格式错误的记录(字段数={len(fields)}): {record[:60]}")
|
||||
return records
|
||||
|
||||
def convert_file():
|
||||
@ -34,18 +40,24 @@ def convert_file():
|
||||
excel_path = r"../Tools/Multilingual.xlsx"
|
||||
with open(txt_path, 'r', encoding='utf-8') as f:
|
||||
content = f.read()
|
||||
|
||||
|
||||
records = parse_special_format(content)
|
||||
if not records:
|
||||
log("错误:未找到有效记录")
|
||||
return False
|
||||
|
||||
|
||||
wb = openpyxl.Workbook()
|
||||
ws = wb.active
|
||||
ws.append(["ID", "活跃文本", "中文", "繁中", "英文", "日文", "韩文", "俄语", "西班牙语", "法语", "德语", "专有翻译", "台词", "台词说话者", "无需翻译", "自定义条目", "专有名词" , "颜色", "图标", "备注"]) # 添加标题行
|
||||
# 17 列:删 RU/ES/PT/FR/德语 4 列,新增"次要文案"列
|
||||
ws.append([
|
||||
"ID", "活跃文本", "中文", "繁中", "英文", "日文", "韩文",
|
||||
"次要文案",
|
||||
"专有翻译", "台词", "台词说话者", "无需翻译", "自定义条目", "专有名词",
|
||||
"颜色", "图标", "备注",
|
||||
])
|
||||
for row in records:
|
||||
ws.append(row)
|
||||
|
||||
|
||||
os.makedirs(os.path.dirname(excel_path), exist_ok=True)
|
||||
wb.save(excel_path)
|
||||
log(f"成功转换 {len(records)} 条记录")
|
||||
|
||||
BIN
Tools/Multilingual - 专有名词english.xlsx
Normal file
BIN
Tools/Multilingual - 专有名词english.xlsx
Normal file
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
BIN
Tools/Multilingual多语种专业术语.xlsx
Normal file
BIN
Tools/Multilingual多语种专业术语.xlsx
Normal file
Binary file not shown.
16
Tools/OSS/game-upload-function/node_modules/.bin/pbjs
generated
vendored
16
Tools/OSS/game-upload-function/node_modules/.bin/pbjs
generated
vendored
@ -1,16 +0,0 @@
|
||||
#!/bin/sh
|
||||
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
||||
|
||||
case `uname` in
|
||||
*CYGWIN*|*MINGW*|*MSYS*)
|
||||
if command -v cygpath > /dev/null 2>&1; then
|
||||
basedir=`cygpath -w "$basedir"`
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
if [ -x "$basedir/node" ]; then
|
||||
exec "$basedir/node" "$basedir/../protobufjs/bin/pbjs" "$@"
|
||||
else
|
||||
exec node "$basedir/../protobufjs/bin/pbjs" "$@"
|
||||
fi
|
||||
17
Tools/OSS/game-upload-function/node_modules/.bin/pbjs.cmd
generated
vendored
17
Tools/OSS/game-upload-function/node_modules/.bin/pbjs.cmd
generated
vendored
@ -1,17 +0,0 @@
|
||||
@ECHO off
|
||||
GOTO start
|
||||
:find_dp0
|
||||
SET dp0=%~dp0
|
||||
EXIT /b
|
||||
:start
|
||||
SETLOCAL
|
||||
CALL :find_dp0
|
||||
|
||||
IF EXIST "%dp0%\node.exe" (
|
||||
SET "_prog=%dp0%\node.exe"
|
||||
) ELSE (
|
||||
SET "_prog=node"
|
||||
SET PATHEXT=%PATHEXT:;.JS;=;%
|
||||
)
|
||||
|
||||
endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\protobufjs\bin\pbjs" %*
|
||||
28
Tools/OSS/game-upload-function/node_modules/.bin/pbjs.ps1
generated
vendored
28
Tools/OSS/game-upload-function/node_modules/.bin/pbjs.ps1
generated
vendored
@ -1,28 +0,0 @@
|
||||
#!/usr/bin/env pwsh
|
||||
$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
|
||||
|
||||
$exe=""
|
||||
if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
|
||||
# Fix case when both the Windows and Linux builds of Node
|
||||
# are installed in the same directory
|
||||
$exe=".exe"
|
||||
}
|
||||
$ret=0
|
||||
if (Test-Path "$basedir/node$exe") {
|
||||
# Support pipeline input
|
||||
if ($MyInvocation.ExpectingInput) {
|
||||
$input | & "$basedir/node$exe" "$basedir/../protobufjs/bin/pbjs" $args
|
||||
} else {
|
||||
& "$basedir/node$exe" "$basedir/../protobufjs/bin/pbjs" $args
|
||||
}
|
||||
$ret=$LASTEXITCODE
|
||||
} else {
|
||||
# Support pipeline input
|
||||
if ($MyInvocation.ExpectingInput) {
|
||||
$input | & "node$exe" "$basedir/../protobufjs/bin/pbjs" $args
|
||||
} else {
|
||||
& "node$exe" "$basedir/../protobufjs/bin/pbjs" $args
|
||||
}
|
||||
$ret=$LASTEXITCODE
|
||||
}
|
||||
exit $ret
|
||||
16
Tools/OSS/game-upload-function/node_modules/.bin/pbts
generated
vendored
16
Tools/OSS/game-upload-function/node_modules/.bin/pbts
generated
vendored
@ -1,16 +0,0 @@
|
||||
#!/bin/sh
|
||||
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
||||
|
||||
case `uname` in
|
||||
*CYGWIN*|*MINGW*|*MSYS*)
|
||||
if command -v cygpath > /dev/null 2>&1; then
|
||||
basedir=`cygpath -w "$basedir"`
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
if [ -x "$basedir/node" ]; then
|
||||
exec "$basedir/node" "$basedir/../protobufjs/bin/pbts" "$@"
|
||||
else
|
||||
exec node "$basedir/../protobufjs/bin/pbts" "$@"
|
||||
fi
|
||||
17
Tools/OSS/game-upload-function/node_modules/.bin/pbts.cmd
generated
vendored
17
Tools/OSS/game-upload-function/node_modules/.bin/pbts.cmd
generated
vendored
@ -1,17 +0,0 @@
|
||||
@ECHO off
|
||||
GOTO start
|
||||
:find_dp0
|
||||
SET dp0=%~dp0
|
||||
EXIT /b
|
||||
:start
|
||||
SETLOCAL
|
||||
CALL :find_dp0
|
||||
|
||||
IF EXIST "%dp0%\node.exe" (
|
||||
SET "_prog=%dp0%\node.exe"
|
||||
) ELSE (
|
||||
SET "_prog=node"
|
||||
SET PATHEXT=%PATHEXT:;.JS;=;%
|
||||
)
|
||||
|
||||
endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\protobufjs\bin\pbts" %*
|
||||
28
Tools/OSS/game-upload-function/node_modules/.bin/pbts.ps1
generated
vendored
28
Tools/OSS/game-upload-function/node_modules/.bin/pbts.ps1
generated
vendored
@ -1,28 +0,0 @@
|
||||
#!/usr/bin/env pwsh
|
||||
$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
|
||||
|
||||
$exe=""
|
||||
if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
|
||||
# Fix case when both the Windows and Linux builds of Node
|
||||
# are installed in the same directory
|
||||
$exe=".exe"
|
||||
}
|
||||
$ret=0
|
||||
if (Test-Path "$basedir/node$exe") {
|
||||
# Support pipeline input
|
||||
if ($MyInvocation.ExpectingInput) {
|
||||
$input | & "$basedir/node$exe" "$basedir/../protobufjs/bin/pbts" $args
|
||||
} else {
|
||||
& "$basedir/node$exe" "$basedir/../protobufjs/bin/pbts" $args
|
||||
}
|
||||
$ret=$LASTEXITCODE
|
||||
} else {
|
||||
# Support pipeline input
|
||||
if ($MyInvocation.ExpectingInput) {
|
||||
$input | & "node$exe" "$basedir/../protobufjs/bin/pbts" $args
|
||||
} else {
|
||||
& "node$exe" "$basedir/../protobufjs/bin/pbts" $args
|
||||
}
|
||||
$ret=$LASTEXITCODE
|
||||
}
|
||||
exit $ret
|
||||
320
Tools/OSS/game-upload-function/node_modules/.package-lock.json
generated
vendored
320
Tools/OSS/game-upload-function/node_modules/.package-lock.json
generated
vendored
@ -1,320 +0,0 @@
|
||||
{
|
||||
"name": "game-upload-function",
|
||||
"version": "1.0.0",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"node_modules/@alicloud/pop-core": {
|
||||
"version": "1.8.0",
|
||||
"resolved": "https://registry.npmjs.org/@alicloud/pop-core/-/pop-core-1.8.0.tgz",
|
||||
"integrity": "sha512-ef6vIVigtr9n8Lw6Ld2GZ9jVUD0+ReHviaQaMqZDPI2HwdpVvrq1Rvn2tBnFToe0tdTpovz9N7XFSf/C274OtA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"debug": "^3.1.0",
|
||||
"httpx": "^2.1.2",
|
||||
"json-bigint": "^1.0.0",
|
||||
"kitx": "^1.2.1",
|
||||
"xml2js": "^0.5.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@protobufjs/aspromise": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz",
|
||||
"integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==",
|
||||
"license": "BSD-3-Clause"
|
||||
},
|
||||
"node_modules/@protobufjs/base64": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz",
|
||||
"integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==",
|
||||
"license": "BSD-3-Clause"
|
||||
},
|
||||
"node_modules/@protobufjs/codegen": {
|
||||
"version": "2.0.4",
|
||||
"resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz",
|
||||
"integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==",
|
||||
"license": "BSD-3-Clause"
|
||||
},
|
||||
"node_modules/@protobufjs/eventemitter": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz",
|
||||
"integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==",
|
||||
"license": "BSD-3-Clause"
|
||||
},
|
||||
"node_modules/@protobufjs/fetch": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz",
|
||||
"integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==",
|
||||
"license": "BSD-3-Clause",
|
||||
"dependencies": {
|
||||
"@protobufjs/aspromise": "^1.1.1",
|
||||
"@protobufjs/inquire": "^1.1.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@protobufjs/float": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz",
|
||||
"integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==",
|
||||
"license": "BSD-3-Clause"
|
||||
},
|
||||
"node_modules/@protobufjs/inquire": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz",
|
||||
"integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==",
|
||||
"license": "BSD-3-Clause"
|
||||
},
|
||||
"node_modules/@protobufjs/path": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz",
|
||||
"integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==",
|
||||
"license": "BSD-3-Clause"
|
||||
},
|
||||
"node_modules/@protobufjs/pool": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz",
|
||||
"integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==",
|
||||
"license": "BSD-3-Clause"
|
||||
},
|
||||
"node_modules/@protobufjs/utf8": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz",
|
||||
"integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==",
|
||||
"license": "BSD-3-Clause"
|
||||
},
|
||||
"node_modules/@types/long": {
|
||||
"version": "4.0.2",
|
||||
"resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz",
|
||||
"integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@types/node": {
|
||||
"version": "20.19.33",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.33.tgz",
|
||||
"integrity": "sha512-Rs1bVAIdBs5gbTIKza/tgpMuG1k3U/UMJLWecIMxNdJFDMzcM5LOiLVRYh3PilWEYDIeUDv7bpiHPLPsbydGcw==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"undici-types": "~6.21.0"
|
||||
}
|
||||
},
|
||||
"node_modules/base64-js": {
|
||||
"version": "1.5.1",
|
||||
"resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
|
||||
"integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
|
||||
"funding": [
|
||||
{
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/feross"
|
||||
},
|
||||
{
|
||||
"type": "patreon",
|
||||
"url": "https://www.patreon.com/feross"
|
||||
},
|
||||
{
|
||||
"type": "consulting",
|
||||
"url": "https://feross.org/support"
|
||||
}
|
||||
],
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/bignumber.js": {
|
||||
"version": "9.3.1",
|
||||
"resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.3.1.tgz",
|
||||
"integrity": "sha512-Ko0uX15oIUS7wJ3Rb30Fs6SkVbLmPBAKdlm7q9+ak9bbIeFf0MwuBsQV6z7+X768/cHsfg+WlysDWJcmthjsjQ==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/buffer": {
|
||||
"version": "4.9.1",
|
||||
"resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz",
|
||||
"integrity": "sha512-DNK4ruAqtyHaN8Zne7PkBTO+dD1Lr0YfTduMqlIyjvQIoztBkUxrvL+hKeLW8NXFKHOq/2upkxuoS9znQ9bW9A==",
|
||||
"deprecated": "This version of 'buffer' is out-of-date. You must update to v4.9.2 or newer",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"base64-js": "^1.0.2",
|
||||
"ieee754": "^1.1.4",
|
||||
"isarray": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/debug": {
|
||||
"version": "3.2.7",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
|
||||
"integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"ms": "^2.1.1"
|
||||
}
|
||||
},
|
||||
"node_modules/flatbuffers": {
|
||||
"version": "1.12.0",
|
||||
"resolved": "https://registry.npmjs.org/flatbuffers/-/flatbuffers-1.12.0.tgz",
|
||||
"integrity": "sha512-c7CZADjRcl6j0PlvFy0ZqXQ67qSEZfrVPynmnL+2zPc+NtMvrF8Y0QceMo7QqnSPc7+uWjUIAbvCQ5WIKlMVdQ==",
|
||||
"license": "SEE LICENSE IN LICENSE.txt"
|
||||
},
|
||||
"node_modules/httpx": {
|
||||
"version": "2.3.3",
|
||||
"resolved": "https://registry.npmjs.org/httpx/-/httpx-2.3.3.tgz",
|
||||
"integrity": "sha512-k1qv94u1b6e+XKCxVbLgYlOypVP9MPGpnN5G/vxFf6tDO4V3xpz3d6FUOY/s8NtPgaq5RBVVgSB+7IHpVxMYzw==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@types/node": "^20",
|
||||
"debug": "^4.1.1"
|
||||
}
|
||||
},
|
||||
"node_modules/httpx/node_modules/debug": {
|
||||
"version": "4.4.3",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
|
||||
"integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"ms": "^2.1.3"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=6.0"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"supports-color": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/ieee754": {
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
|
||||
"integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
|
||||
"funding": [
|
||||
{
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/feross"
|
||||
},
|
||||
{
|
||||
"type": "patreon",
|
||||
"url": "https://www.patreon.com/feross"
|
||||
},
|
||||
{
|
||||
"type": "consulting",
|
||||
"url": "https://feross.org/support"
|
||||
}
|
||||
],
|
||||
"license": "BSD-3-Clause"
|
||||
},
|
||||
"node_modules/int64-buffer": {
|
||||
"version": "0.1.9",
|
||||
"resolved": "https://registry.npmjs.org/int64-buffer/-/int64-buffer-0.1.9.tgz",
|
||||
"integrity": "sha512-hTYImck2Z72PmEbnKi7zgRvpkeAHIK0ggY01l89GbglIx3B+BYt5Ef2ospIX/2W/cRaBFH99xL5VnWJQsavAtg==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/isarray": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
|
||||
"integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/json-bigint": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-1.0.0.tgz",
|
||||
"integrity": "sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"bignumber.js": "^9.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/kitx": {
|
||||
"version": "1.3.0",
|
||||
"resolved": "https://registry.npmjs.org/kitx/-/kitx-1.3.0.tgz",
|
||||
"integrity": "sha512-fhBqFlXd0GkKTB+8ayLfpzPUw+LHxZlPAukPNBD1Om7JMeInT+/PxCAf1yLagvD+VKoyWhXtJR68xQkX/a0wOQ==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/long": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz",
|
||||
"integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==",
|
||||
"license": "Apache-2.0"
|
||||
},
|
||||
"node_modules/ms": {
|
||||
"version": "2.1.3",
|
||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
|
||||
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/protobufjs": {
|
||||
"version": "6.11.4",
|
||||
"resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.4.tgz",
|
||||
"integrity": "sha512-5kQWPaJHi1WoCpjTGszzQ32PG2F4+wRY6BmAT4Vfw56Q2FZ4YZzK20xUYQH4YkfehY1e6QSICrJquM6xXZNcrw==",
|
||||
"hasInstallScript": true,
|
||||
"license": "BSD-3-Clause",
|
||||
"dependencies": {
|
||||
"@protobufjs/aspromise": "^1.1.2",
|
||||
"@protobufjs/base64": "^1.1.2",
|
||||
"@protobufjs/codegen": "^2.0.4",
|
||||
"@protobufjs/eventemitter": "^1.1.0",
|
||||
"@protobufjs/fetch": "^1.1.0",
|
||||
"@protobufjs/float": "^1.0.2",
|
||||
"@protobufjs/inquire": "^1.1.0",
|
||||
"@protobufjs/path": "^1.1.2",
|
||||
"@protobufjs/pool": "^1.1.0",
|
||||
"@protobufjs/utf8": "^1.1.0",
|
||||
"@types/long": "^4.0.1",
|
||||
"@types/node": ">=13.7.0",
|
||||
"long": "^4.0.0"
|
||||
},
|
||||
"bin": {
|
||||
"pbjs": "bin/pbjs",
|
||||
"pbts": "bin/pbts"
|
||||
}
|
||||
},
|
||||
"node_modules/sax": {
|
||||
"version": "1.4.4",
|
||||
"resolved": "https://registry.npmjs.org/sax/-/sax-1.4.4.tgz",
|
||||
"integrity": "sha512-1n3r/tGXO6b6VXMdFT54SHzT9ytu9yr7TaELowdYpMqY/Ao7EnlQGmAQ1+RatX7Tkkdm6hONI2owqNx2aZj5Sw==",
|
||||
"license": "BlueOak-1.0.0",
|
||||
"engines": {
|
||||
"node": ">=11.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/tablestore": {
|
||||
"version": "5.6.3",
|
||||
"resolved": "https://registry.npmjs.org/tablestore/-/tablestore-5.6.3.tgz",
|
||||
"integrity": "sha512-9DrBbp/Pxaiua9pfyoGAzw+Xl20ZZhMVyoKvGgobJY5lIA6IEz+1tZUmfrrCvztXzKhuf2VF6LQLARhL1aol2w==",
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"buffer": "4.9.1",
|
||||
"flatbuffers": "^1.5.0",
|
||||
"int64-buffer": "0.1.9",
|
||||
"protobufjs": "^6.11.3"
|
||||
}
|
||||
},
|
||||
"node_modules/undici-types": {
|
||||
"version": "6.21.0",
|
||||
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz",
|
||||
"integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/xml2js": {
|
||||
"version": "0.5.0",
|
||||
"resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.5.0.tgz",
|
||||
"integrity": "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"sax": ">=0.6.0",
|
||||
"xmlbuilder": "~11.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=4.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/xmlbuilder": {
|
||||
"version": "11.0.1",
|
||||
"resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz",
|
||||
"integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=4.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
150
Tools/OSS/game-upload-function/node_modules/@alicloud/pop-core/README.md
generated
vendored
150
Tools/OSS/game-upload-function/node_modules/@alicloud/pop-core/README.md
generated
vendored
@ -1,150 +0,0 @@
|
||||
# @alicloud/pop-core
|
||||
|
||||
The core SDK of POP API.
|
||||
|
||||
[![NPM version][npm-image]][npm-url]
|
||||
[![build status][travis-image]][travis-url]
|
||||
[![codecov][cov-image]][cov-url]
|
||||
|
||||
[npm-image]: https://img.shields.io/npm/v/@alicloud/pop-core.svg?style=flat-square
|
||||
[npm-url]: https://npmjs.org/package/@alicloud/pop-core
|
||||
[travis-image]: https://img.shields.io/travis/aliyun/openapi-core-nodejs-sdk/master.svg?style=flat-square
|
||||
[travis-url]: https://travis-ci.org/aliyun/openapi-core-nodejs-sdk
|
||||
[cov-image]: https://codecov.io/gh/aliyun/openapi-core-nodejs-sdk/branch/master/graph/badge.svg
|
||||
[cov-url]: https://codecov.io/gh/aliyun/openapi-core-nodejs-sdk
|
||||
|
||||
## Installation
|
||||
|
||||
Install it and write into package.json dependences.
|
||||
|
||||
```sh
|
||||
$ npm install @alicloud/pop-core -S
|
||||
```
|
||||
|
||||
## Prerequisite
|
||||
|
||||
Node.js >= 8.x
|
||||
|
||||
### Notes
|
||||
|
||||
You must know your `AK`(`accessKeyId/accessKeySecret`), and the cloud product's `endpoint` and `apiVersion`.
|
||||
|
||||
For example, The ECS OpenAPI(https://help.aliyun.com/document_detail/25490.html), the API version is `2014-05-26`.
|
||||
|
||||
And the endpoint list can be found at [here](https://help.aliyun.com/document_detail/25489.html), the center endpoint is ecs.aliyuncs.com. Add http protocol `http` or `https`, should be `http://ecs.aliyuncs.com/`.
|
||||
|
||||
## Important Updates
|
||||
|
||||
- Starting from version 1.8.0, CredentialsProvider is supported, and the signature logic of internal functions is updated. Developers who change the internal logic for calling need to pay attention to these changes.
|
||||
|
||||
## Online Demo
|
||||
|
||||
**[API Developer Portal](https://api.aliyun.com)** provides the ability to call the cloud product OpenAPI online, and dynamically generate SDK Example code and quick retrieval interface, which can significantly reduce the difficulty of using the cloud API. **It is highly recommended**.
|
||||
|
||||
<a href="https://api.aliyun.com" target="api_explorer">
|
||||
<img src="https://img.alicdn.com/tfs/TB12GX6zW6qK1RjSZFmXXX0PFXa-744-122.png" width="180" />
|
||||
</a>
|
||||
|
||||
|
||||
## Usage
|
||||
|
||||
The RPC style client:
|
||||
|
||||
```js
|
||||
var RPCClient = require('@alicloud/pop-core').RPCClient;
|
||||
|
||||
var client = new RPCClient({
|
||||
accessKeyId: '<accessKeyId>',
|
||||
accessKeySecret: '<accessKeySecret>',
|
||||
endpoint: '<endpoint>',
|
||||
apiVersion: '<apiVersion>'
|
||||
});
|
||||
|
||||
// => returns Promise
|
||||
client.request(action, params);
|
||||
// co/yield, async/await
|
||||
|
||||
// options
|
||||
client.request(action, params, {
|
||||
timeout: 3000, // default 3000 ms
|
||||
formatAction: true, // default true, format the action to Action
|
||||
formatParams: true, // default true, format the parameter name to first letter upper case
|
||||
method: 'GET', // set the http method, default is GET
|
||||
headers: {}, // set the http request headers
|
||||
});
|
||||
```
|
||||
|
||||
The ROA style client:
|
||||
|
||||
```js
|
||||
var ROAClient = require('@alicloud/pop-core').ROAClient;
|
||||
|
||||
var client = new ROAClient({
|
||||
accessKeyId: '<accessKeyId>',
|
||||
accessKeySecret: '<secretAccessKey>',
|
||||
endpoint: '<endpoint>',
|
||||
apiVersion: '<apiVersion>'
|
||||
});
|
||||
|
||||
// => returns Promise
|
||||
// request(HTTPMethod, uriPath, queries, body, headers, options);
|
||||
// options => {timeout}
|
||||
client.request('GET', '/regions');
|
||||
// co/yield, async/await
|
||||
```
|
||||
|
||||
### Custom opts
|
||||
|
||||
We offer two ways to customize request opts.
|
||||
|
||||
One way is passing opts through the Client constructor. You should treat opts passed through the constructor as default custom opts, because all requests will use this opts.
|
||||
|
||||
```js
|
||||
var client = new RPCClient({
|
||||
accessKeyId: '<accessKeyId>',
|
||||
accessKeySecret: '<accessKeySecret>',
|
||||
endpoint: '<endpoint>',
|
||||
apiVersion: '<apiVersion>',
|
||||
opts: {
|
||||
timeout: 3000
|
||||
}
|
||||
});
|
||||
```
|
||||
|
||||
Another way is passing opts through the function's parameter. You should use this way when you want to just pass opts in specific functions.
|
||||
|
||||
```js
|
||||
client.request(action, params, {
|
||||
timeout: 3000
|
||||
});
|
||||
```
|
||||
|
||||
When both ways are used, opts will be merged. But for the opt with the same key, the opts provided by the function parameter overrides the opts provided by the constructor.
|
||||
|
||||
### Http Proxy Support
|
||||
|
||||
```js
|
||||
var tunnel = require('tunnel-agent');
|
||||
|
||||
var RPCClient = require('@alicloud/pop-core').RPCClient;
|
||||
|
||||
var client = new RPCClient({
|
||||
accessKeyId: '<accessKeyId>',
|
||||
accessKeySecret: '<accessKeySecret>',
|
||||
endpoint: '<endpoint>',
|
||||
apiVersion: '<apiVersion>'
|
||||
});
|
||||
|
||||
|
||||
client.request(action, params, {
|
||||
agent: tunnel.httpOverHttp({
|
||||
proxy: {
|
||||
host: 'host',
|
||||
port: port
|
||||
}
|
||||
});
|
||||
});
|
||||
```
|
||||
|
||||
## License
|
||||
The MIT License
|
||||
5
Tools/OSS/game-upload-function/node_modules/@alicloud/pop-core/index.js
generated
vendored
5
Tools/OSS/game-upload-function/node_modules/@alicloud/pop-core/index.js
generated
vendored
@ -1,5 +0,0 @@
|
||||
'use strict';
|
||||
|
||||
module.exports = require('./lib/rpc');
|
||||
module.exports.ROAClient = require('./lib/roa');
|
||||
module.exports.RPCClient = require('./lib/rpc');
|
||||
9
Tools/OSS/game-upload-function/node_modules/@alicloud/pop-core/lib/helper.js
generated
vendored
9
Tools/OSS/game-upload-function/node_modules/@alicloud/pop-core/lib/helper.js
generated
vendored
@ -1,9 +0,0 @@
|
||||
'use strict';
|
||||
|
||||
const os = require('os');
|
||||
|
||||
const pkg = require('../package.json');
|
||||
|
||||
exports.DEFAULT_UA = `AlibabaCloud (${os.platform()}; ${os.arch()}) ` +
|
||||
`Node.js/${process.version} Core/${pkg.version}`;
|
||||
exports.DEFAULT_CLIENT = `Node.js(${process.version}), ${pkg.name}: ${pkg.version}`;
|
||||
300
Tools/OSS/game-upload-function/node_modules/@alicloud/pop-core/lib/roa.js
generated
vendored
300
Tools/OSS/game-upload-function/node_modules/@alicloud/pop-core/lib/roa.js
generated
vendored
@ -1,300 +0,0 @@
|
||||
'use strict';
|
||||
|
||||
const assert = require('assert');
|
||||
const url = require('url');
|
||||
const querystring = require('querystring');
|
||||
|
||||
const kitx = require('kitx');
|
||||
const httpx = require('httpx');
|
||||
const xml2js = require('xml2js');
|
||||
const JSON = require('json-bigint');
|
||||
const debug = require('debug')('roa');
|
||||
|
||||
const helper = require('./helper');
|
||||
|
||||
function filter(value) {
|
||||
return value.replace(/[\t\n\r\f]/g, ' ');
|
||||
}
|
||||
|
||||
function keyLowerify(headers) {
|
||||
const keys = Object.keys(headers);
|
||||
const newHeaders = {};
|
||||
for (let i = 0; i < keys.length; i++) {
|
||||
const key = keys[i];
|
||||
newHeaders[key.toLowerCase()] = headers[key];
|
||||
}
|
||||
return newHeaders;
|
||||
}
|
||||
|
||||
function getCanonicalizedHeaders(headers) {
|
||||
const prefix = 'x-acs-';
|
||||
const keys = Object.keys(headers);
|
||||
|
||||
const canonicalizedKeys = [];
|
||||
for (let i = 0; i < keys.length; i++) {
|
||||
const key = keys[i];
|
||||
if (key.startsWith(prefix)) {
|
||||
canonicalizedKeys.push(key);
|
||||
}
|
||||
}
|
||||
|
||||
canonicalizedKeys.sort();
|
||||
|
||||
var result = '';
|
||||
for (let i = 0; i < canonicalizedKeys.length; i++) {
|
||||
const key = canonicalizedKeys[i];
|
||||
result += `${key}:${filter(headers[key]).trim()}\n`;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
function getCanonicalizedResource(uriPattern, query) {
|
||||
const keys = Object.keys(query).sort();
|
||||
|
||||
if (keys.length === 0) {
|
||||
return uriPattern;
|
||||
}
|
||||
|
||||
var result = [];
|
||||
for (var i = 0; i < keys.length; i++) {
|
||||
const key = keys[i];
|
||||
result.push(`${key}=${query[key]}`);
|
||||
}
|
||||
|
||||
return `${uriPattern}?${result.join('&')}`;
|
||||
}
|
||||
|
||||
function buildStringToSign(method, uriPattern, headers, query) {
|
||||
const accept = headers['accept'];
|
||||
const contentMD5 = headers['content-md5'] || '';
|
||||
const contentType = headers['content-type'] || '';
|
||||
const date = headers['date'] || '';
|
||||
|
||||
const header = `${method}\n${accept}\n${contentMD5}\n${contentType}\n${date}\n`;
|
||||
|
||||
const canonicalizedHeaders = getCanonicalizedHeaders(headers);
|
||||
const canonicalizedResource = getCanonicalizedResource(uriPattern, query);
|
||||
|
||||
return `${header}${canonicalizedHeaders}${canonicalizedResource}`;
|
||||
}
|
||||
|
||||
function parseXML(xml) {
|
||||
const parser = new xml2js.Parser({
|
||||
// explicitArray: false
|
||||
});
|
||||
return new Promise((resolve, reject) => {
|
||||
parser.parseString(xml, (err, result) => {
|
||||
if (err) {
|
||||
return reject(err);
|
||||
}
|
||||
|
||||
resolve(result);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
class ACSError extends Error {
|
||||
constructor(err) {
|
||||
const message = err.Message[0];
|
||||
const code = err.Code[0];
|
||||
const hostid = err.HostId[0];
|
||||
const requestid = err.RequestId[0];
|
||||
super(`${message} hostid: ${hostid}, requestid: ${requestid}`);
|
||||
this.code = code;
|
||||
}
|
||||
}
|
||||
|
||||
class ROAClient {
|
||||
constructor(config) {
|
||||
assert(config, 'must pass "config"');
|
||||
assert(config.endpoint, 'must pass "config.endpoint"');
|
||||
if (!config.endpoint.startsWith('https://') &&
|
||||
!config.endpoint.startsWith('http://')) {
|
||||
throw new Error(`"config.endpoint" must starts with 'https://' or 'http://'.`);
|
||||
}
|
||||
assert(config.apiVersion, 'must pass "config.apiVersion"');
|
||||
if (config.credentialsProvider) {
|
||||
if (typeof config.credentialsProvider.getCredentials !== 'function') {
|
||||
throw new Error(`must pass "config.credentialsProvider" with function "getCredentials()"`);
|
||||
}
|
||||
this.credentialsProvider = config.credentialsProvider;
|
||||
} else {
|
||||
assert(config.accessKeyId, 'must pass "config.accessKeyId"');
|
||||
assert(config.accessKeySecret, 'must pass "config.accessKeySecret"');
|
||||
this.accessKeyId = config.accessKeyId;
|
||||
this.accessKeySecret = config.accessKeySecret;
|
||||
this.securityToken = config.securityToken;
|
||||
this.credentialsProvider = {
|
||||
getCredentials: async () => {
|
||||
return {
|
||||
accessKeyId: config.accessKeyId,
|
||||
accessKeySecret: config.accessKeySecret,
|
||||
securityToken: config.securityToken,
|
||||
};
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
this.endpoint = config.endpoint;
|
||||
this.apiVersion = config.apiVersion;
|
||||
this.host = url.parse(this.endpoint).hostname;
|
||||
this.opts = config.opts;
|
||||
var httpModule = this.endpoint.startsWith('https://') ? require('https') : require('http');
|
||||
this.keepAliveAgent = new httpModule.Agent({
|
||||
keepAlive: true,
|
||||
keepAliveMsecs: 3000
|
||||
});
|
||||
}
|
||||
|
||||
buildHeaders() {
|
||||
const now = new Date();
|
||||
var defaultHeaders = {
|
||||
accept: 'application/json',
|
||||
date: now.toGMTString(),
|
||||
host: this.host,
|
||||
'x-acs-signature-nonce': kitx.makeNonce(),
|
||||
'x-acs-signature-method': 'HMAC-SHA1',
|
||||
'x-acs-signature-version': '1.0',
|
||||
'x-acs-version': this.apiVersion,
|
||||
'user-agent': helper.DEFAULT_UA,
|
||||
'x-sdk-client': helper.DEFAULT_CLIENT
|
||||
};
|
||||
if (this.securityToken) {
|
||||
defaultHeaders['x-acs-accesskey-id'] = this.accessKeyId;
|
||||
defaultHeaders['x-acs-security-token'] = this.securityToken;
|
||||
}
|
||||
return defaultHeaders;
|
||||
}
|
||||
|
||||
signature(stringToSign) {
|
||||
const utf8Buff = Buffer.from(stringToSign, 'utf8');
|
||||
|
||||
return kitx.sha1(utf8Buff, this.accessKeySecret, 'base64');
|
||||
}
|
||||
|
||||
buildAuthorization(stringToSign) {
|
||||
return `acs ${this.accessKeyId}:${this.signature(stringToSign)}`;
|
||||
}
|
||||
|
||||
async request(method, uriPattern, query = {}, body = '', headers = {}, opts = {}) {
|
||||
const credentials = await this.credentialsProvider.getCredentials();
|
||||
|
||||
const now = new Date();
|
||||
var defaultHeaders = {
|
||||
accept: 'application/json',
|
||||
date: now.toGMTString(),
|
||||
host: this.host,
|
||||
'x-acs-signature-nonce': kitx.makeNonce(),
|
||||
'x-acs-version': this.apiVersion,
|
||||
'user-agent': helper.DEFAULT_UA,
|
||||
'x-sdk-client': helper.DEFAULT_CLIENT
|
||||
};
|
||||
if (credentials && credentials.accessKeyId && credentials.accessKeySecret) {
|
||||
defaultHeaders['x-acs-signature-method'] = 'HMAC-SHA1';
|
||||
defaultHeaders['x-acs-signature-version'] = '1.0';
|
||||
if (credentials.securityToken) {
|
||||
defaultHeaders['x-acs-accesskey-id'] = credentials.accessKeyId;
|
||||
defaultHeaders['x-acs-security-token'] = credentials.securityToken;
|
||||
}
|
||||
}
|
||||
|
||||
var mixHeaders = Object.assign(defaultHeaders, keyLowerify(headers));
|
||||
|
||||
var postBody = null;
|
||||
|
||||
postBody = Buffer.from(body, 'utf8');
|
||||
mixHeaders['content-md5'] = kitx.md5(postBody, 'base64');
|
||||
mixHeaders['content-length'] = postBody.length;
|
||||
|
||||
var url = `${this.endpoint}${uriPattern}`;
|
||||
if (Object.keys(query).length) {
|
||||
url += `?${querystring.stringify(query)}`;
|
||||
}
|
||||
|
||||
if (credentials && credentials.accessKeyId && credentials.accessKeySecret) {
|
||||
const stringToSign = buildStringToSign(method, uriPattern, mixHeaders, query);
|
||||
debug('stringToSign: %s', stringToSign);
|
||||
const utf8Buff = Buffer.from(stringToSign, 'utf8');
|
||||
const signature = kitx.sha1(utf8Buff, credentials.accessKeySecret, 'base64');
|
||||
mixHeaders['authorization'] = `acs ${credentials.accessKeyId}:${signature}`;
|
||||
}
|
||||
|
||||
const options = Object.assign({
|
||||
method,
|
||||
agent: this.keepAliveAgent,
|
||||
headers: mixHeaders,
|
||||
data: postBody
|
||||
}, this.opts, opts);
|
||||
|
||||
const response = await httpx.request(url, options);
|
||||
const responseBody = await httpx.read(response, 'utf8');
|
||||
|
||||
// Retrun raw body
|
||||
if (opts.rawBody) {
|
||||
return responseBody;
|
||||
}
|
||||
|
||||
const contentType = response.headers['content-type'] || '';
|
||||
// JSON
|
||||
if (contentType.startsWith('application/json')) {
|
||||
const statusCode = response.statusCode;
|
||||
if (statusCode === 204) {
|
||||
return responseBody;
|
||||
}
|
||||
|
||||
var result;
|
||||
try {
|
||||
result = JSON.parse(responseBody);
|
||||
} catch (err) {
|
||||
err.name = 'FormatError';
|
||||
err.message = 'parse response to json error';
|
||||
err.body = responseBody;
|
||||
throw err;
|
||||
}
|
||||
|
||||
if (statusCode >= 400) {
|
||||
const errorMessage = result.Message || result.errorMsg || '';
|
||||
const errorCode = result.Code || result.errorCode || '';
|
||||
const requestId = result.RequestId || '';
|
||||
var err = new Error(`code: ${statusCode}, ${errorMessage}, requestid: ${requestId}`);
|
||||
err.name = `${errorCode}Error`;
|
||||
err.statusCode = statusCode;
|
||||
err.result = result;
|
||||
err.code = errorCode;
|
||||
throw err;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
if (contentType.startsWith('text/xml')) {
|
||||
const result = await parseXML(responseBody);
|
||||
if (result.Error) {
|
||||
throw new ACSError(result.Error);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
return responseBody;
|
||||
}
|
||||
|
||||
put(path, query, body, headers, options) {
|
||||
return this.request('PUT', path, query, body, headers, options);
|
||||
}
|
||||
|
||||
post(path, query, body, headers, options) {
|
||||
return this.request('POST', path, query, body, headers, options);
|
||||
}
|
||||
|
||||
get(path, query, headers, options) {
|
||||
return this.request('GET', path, query, '', headers, options);
|
||||
}
|
||||
|
||||
delete(path, query, headers, options) {
|
||||
return this.request('DELETE', path, query, '', headers, options);
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = ROAClient;
|
||||
45
Tools/OSS/game-upload-function/node_modules/@alicloud/pop-core/lib/rpc.d.ts
generated
vendored
45
Tools/OSS/game-upload-function/node_modules/@alicloud/pop-core/lib/rpc.d.ts
generated
vendored
@ -1,45 +0,0 @@
|
||||
// Type definitions for [~THE LIBRARY NAME~] [~OPTIONAL VERSION NUMBER~]
|
||||
// Project: [~THE PROJECT NAME~]
|
||||
// Definitions by: [~YOUR NAME~] <[~A URL FOR YOU~]>
|
||||
|
||||
/*~ This is the module template file for class modules.
|
||||
*~ You should rename it to index.d.ts and place it in a folder with the same name as the module.
|
||||
*~ For example, if you were writing a file for "super-greeter", this
|
||||
*~ file should be 'super-greeter/index.d.ts'
|
||||
*/
|
||||
|
||||
/*~ Note that ES6 modules cannot directly export class objects.
|
||||
*~ This file should be imported using the CommonJS-style:
|
||||
*~ import x = require('someLibrary');
|
||||
*~
|
||||
*~ Refer to the documentation to understand common
|
||||
*~ workarounds for this limitation of ES6 modules.
|
||||
*/
|
||||
|
||||
|
||||
/*~ This declaration specifies that the class constructor function
|
||||
*~ is the exported object from the file
|
||||
*/
|
||||
export = RPCClient;
|
||||
|
||||
/*~ Write your module's methods and properties in this class */
|
||||
declare class RPCClient {
|
||||
constructor(config: RPCClient.Config);
|
||||
|
||||
request<T>(action: String, params: Object, options?: Object): Promise<T>;
|
||||
}
|
||||
|
||||
/*~ If you want to expose types from your module as well, you can
|
||||
*~ place them in this block.
|
||||
*/
|
||||
declare namespace RPCClient {
|
||||
export interface Config {
|
||||
endpoint: string;
|
||||
apiVersion: string;
|
||||
accessKeyId: string;
|
||||
accessKeySecret: string;
|
||||
securityToken?: string;
|
||||
codes?: (string | number)[];
|
||||
opts?: object;
|
||||
}
|
||||
}
|
||||
279
Tools/OSS/game-upload-function/node_modules/@alicloud/pop-core/lib/rpc.js
generated
vendored
279
Tools/OSS/game-upload-function/node_modules/@alicloud/pop-core/lib/rpc.js
generated
vendored
@ -1,279 +0,0 @@
|
||||
'use strict';
|
||||
|
||||
const assert = require('assert');
|
||||
|
||||
const httpx = require('httpx');
|
||||
const kitx = require('kitx');
|
||||
const JSON = require('json-bigint');
|
||||
|
||||
const helper = require('./helper');
|
||||
|
||||
function firstLetterUpper(str) {
|
||||
return str.slice(0, 1).toUpperCase() + str.slice(1);
|
||||
}
|
||||
|
||||
function formatParams(params) {
|
||||
var keys = Object.keys(params);
|
||||
var newParams = {};
|
||||
for (var i = 0; i < keys.length; i++) {
|
||||
var key = keys[i];
|
||||
newParams[firstLetterUpper(key)] = params[key];
|
||||
}
|
||||
return newParams;
|
||||
}
|
||||
|
||||
|
||||
function timestamp() {
|
||||
var date = new Date();
|
||||
var YYYY = date.getUTCFullYear();
|
||||
var MM = kitx.pad2(date.getUTCMonth() + 1);
|
||||
var DD = kitx.pad2(date.getUTCDate());
|
||||
var HH = kitx.pad2(date.getUTCHours());
|
||||
var mm = kitx.pad2(date.getUTCMinutes());
|
||||
var ss = kitx.pad2(date.getUTCSeconds());
|
||||
// 删除掉毫秒部分
|
||||
return `${YYYY}-${MM}-${DD}T${HH}:${mm}:${ss}Z`;
|
||||
}
|
||||
|
||||
function encode(str) {
|
||||
var result = encodeURIComponent(str);
|
||||
|
||||
return result.replace(/!/g, '%21')
|
||||
.replace(/'/g, '%27')
|
||||
.replace(/\(/g, '%28')
|
||||
.replace(/\)/g, '%29')
|
||||
.replace(/\*/g, '%2A');
|
||||
}
|
||||
|
||||
function replaceRepeatList(target, key, repeat) {
|
||||
for (var i = 0; i < repeat.length; i++) {
|
||||
var item = repeat[i];
|
||||
|
||||
if (Array.isArray(item)) {
|
||||
replaceRepeatList(target, `${key}.${i + 1}`, item);
|
||||
} else if (item && typeof item === 'object') {
|
||||
const keys = Object.keys(item);
|
||||
for (var j = 0; j < keys.length; j++) {
|
||||
if (Array.isArray(item[keys[j]])) {
|
||||
replaceRepeatList(target, `${key}.${i + 1}.${keys[j]}`, item[keys[j]]);
|
||||
} else {
|
||||
target[`${key}.${i + 1}.${keys[j]}`] = item[keys[j]];
|
||||
}
|
||||
}
|
||||
} else {
|
||||
target[`${key}.${i + 1}`] = item;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function flatParams(params) {
|
||||
var target = {};
|
||||
var keys = Object.keys(params);
|
||||
for (let i = 0; i < keys.length; i++) {
|
||||
var key = keys[i];
|
||||
var value = params[key];
|
||||
if (Array.isArray(value)) {
|
||||
replaceRepeatList(target, key, value);
|
||||
} else {
|
||||
target[key] = value;
|
||||
}
|
||||
}
|
||||
return target;
|
||||
}
|
||||
|
||||
function normalize(params) {
|
||||
var list = [];
|
||||
var flated = flatParams(params);
|
||||
var keys = Object.keys(flated).sort();
|
||||
for (let i = 0; i < keys.length; i++) {
|
||||
var key = keys[i];
|
||||
var value = flated[key];
|
||||
list.push([encode(key), encode(value)]); //push []
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
function canonicalize(normalized) {
|
||||
var fields = [];
|
||||
for (var i = 0; i < normalized.length; i++) {
|
||||
var [key, value] = normalized[i];
|
||||
fields.push(key + '=' + value);
|
||||
}
|
||||
return fields.join('&');
|
||||
}
|
||||
|
||||
class RPCClient {
|
||||
constructor(config, verbose) {
|
||||
assert(config, 'must pass "config"');
|
||||
assert(config.endpoint, 'must pass "config.endpoint"');
|
||||
if (!config.endpoint.startsWith('https://') &&
|
||||
!config.endpoint.startsWith('http://')) {
|
||||
throw new Error(`"config.endpoint" must starts with 'https://' or 'http://'.`);
|
||||
}
|
||||
assert(config.apiVersion, 'must pass "config.apiVersion"');
|
||||
if (config.credentialsProvider) {
|
||||
if (typeof config.credentialsProvider.getCredentials !== 'function') {
|
||||
throw new Error(`must pass "config.credentialsProvider" with function "getCredentials()"`);
|
||||
}
|
||||
this.credentialsProvider = config.credentialsProvider;
|
||||
} else {
|
||||
assert(config.accessKeyId, 'must pass "config.accessKeyId"');
|
||||
var accessKeySecret = config.secretAccessKey || config.accessKeySecret;
|
||||
assert(accessKeySecret, 'must pass "config.accessKeySecret"');
|
||||
this.accessKeyId = config.accessKeyId;
|
||||
this.accessKeySecret = accessKeySecret;
|
||||
this.securityToken = config.securityToken;
|
||||
this.credentialsProvider = {
|
||||
getCredentials: async () => {
|
||||
return {
|
||||
accessKeyId: config.accessKeyId,
|
||||
accessKeySecret: accessKeySecret,
|
||||
securityToken: config.securityToken,
|
||||
};
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
if (config.endpoint.endsWith('/')) {
|
||||
config.endpoint = config.endpoint.slice(0, -1);
|
||||
}
|
||||
|
||||
this.endpoint = config.endpoint;
|
||||
this.apiVersion = config.apiVersion;
|
||||
this.verbose = verbose === true;
|
||||
// 非 codes 里的值,将抛出异常
|
||||
this.codes = new Set([200, '200', 'OK', 'Success', 'success']);
|
||||
if (config.codes) {
|
||||
// 合并 codes
|
||||
for (var elem of config.codes) {
|
||||
this.codes.add(elem);
|
||||
}
|
||||
}
|
||||
|
||||
this.opts = config.opts || {};
|
||||
|
||||
var httpModule = this.endpoint.startsWith('https://')
|
||||
? require('https') : require('http');
|
||||
this.keepAliveAgent = new httpModule.Agent({
|
||||
keepAlive: true,
|
||||
keepAliveMsecs: 3000
|
||||
});
|
||||
}
|
||||
|
||||
async request(action, params = {}, opts = {}) {
|
||||
const credentials = await this.credentialsProvider.getCredentials();
|
||||
// 1. compose params and opts
|
||||
opts = Object.assign({
|
||||
headers: {
|
||||
'x-sdk-client': helper.DEFAULT_CLIENT,
|
||||
'user-agent': helper.DEFAULT_UA,
|
||||
'x-acs-action': action,
|
||||
'x-acs-version': this.apiVersion
|
||||
}
|
||||
}, this.opts, opts);
|
||||
|
||||
// format action until formatAction is false
|
||||
if (opts.formatAction !== false) {
|
||||
action = firstLetterUpper(action);
|
||||
}
|
||||
|
||||
// format params until formatParams is false
|
||||
if (opts.formatParams !== false) {
|
||||
params = formatParams(params);
|
||||
}
|
||||
const defaultParams = {
|
||||
Format: 'JSON',
|
||||
Timestamp: timestamp(),
|
||||
Version: this.apiVersion,
|
||||
};
|
||||
if (credentials && credentials.accessKeyId && credentials.accessKeySecret) {
|
||||
defaultParams.SignatureMethod = 'HMAC-SHA1';
|
||||
defaultParams.SignatureVersion = '1.0';
|
||||
defaultParams.SignatureNonce = kitx.makeNonce();
|
||||
defaultParams.AccessKeyId = credentials.accessKeyId;
|
||||
if (credentials.securityToken) {
|
||||
defaultParams.SecurityToken = credentials.securityToken;
|
||||
}
|
||||
}
|
||||
params = Object.assign({ Action: action }, defaultParams, params);
|
||||
|
||||
const method = (opts.method || 'GET').toUpperCase();
|
||||
const normalized = normalize(params);
|
||||
// 2. caculate signature
|
||||
if (credentials && credentials.accessKeyId && credentials.accessKeySecret) {
|
||||
const canonicalized = canonicalize(normalized);
|
||||
// 2.1 get string to sign
|
||||
const stringToSign = `${method}&${encode('/')}&${encode(canonicalized)}`;
|
||||
// 2.2 get signature
|
||||
const key = credentials.accessKeySecret + '&';
|
||||
const signature = kitx.sha1(stringToSign, key, 'base64');
|
||||
// add signature
|
||||
normalized.push(['Signature', encode(signature)]);
|
||||
}
|
||||
|
||||
// 3. generate final url
|
||||
const url = opts.method === 'POST' ? `${this.endpoint}/` : `${this.endpoint}/?${canonicalize(normalized)}`;
|
||||
// 4. send request
|
||||
const entry = {
|
||||
url: url,
|
||||
request: null,
|
||||
response: null
|
||||
};
|
||||
|
||||
if (opts && !opts.agent) {
|
||||
opts.agent = this.keepAliveAgent;
|
||||
}
|
||||
|
||||
if (opts.method === 'POST') {
|
||||
opts.headers = opts.headers || {};
|
||||
opts.headers['content-type'] = 'application/x-www-form-urlencoded';
|
||||
opts.data = canonicalize(normalized);
|
||||
}
|
||||
|
||||
const response = await httpx.request(url, opts);
|
||||
entry.request = {
|
||||
headers: response.req.getHeaders ? response.req.getHeaders() : response.req._headers
|
||||
};
|
||||
entry.response = {
|
||||
statusCode: response.statusCode,
|
||||
headers: response.headers
|
||||
};
|
||||
|
||||
const buffer = await httpx.read(response);
|
||||
const json = JSON.parse(buffer);
|
||||
if (json.Code && !this.codes.has(json.Code)) {
|
||||
const err = new Error(`${json.Message}, URL: ${url}`);
|
||||
err.name = json.Code + 'Error';
|
||||
err.data = json;
|
||||
err.code = json.Code;
|
||||
err.url = url;
|
||||
err.entry = entry;
|
||||
throw err;
|
||||
}
|
||||
|
||||
if (this.verbose) {
|
||||
return [json, entry];
|
||||
}
|
||||
|
||||
return json;
|
||||
}
|
||||
|
||||
_buildParams() {
|
||||
const defaultParams = {
|
||||
Format: 'JSON',
|
||||
SignatureMethod: 'HMAC-SHA1',
|
||||
SignatureNonce: kitx.makeNonce(),
|
||||
SignatureVersion: '1.0',
|
||||
Timestamp: timestamp(),
|
||||
AccessKeyId: this.accessKeyId,
|
||||
Version: this.apiVersion,
|
||||
};
|
||||
if (this.securityToken) {
|
||||
defaultParams.SecurityToken = this.securityToken;
|
||||
}
|
||||
return defaultParams;
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = RPCClient;
|
||||
57
Tools/OSS/game-upload-function/node_modules/@alicloud/pop-core/package.json
generated
vendored
57
Tools/OSS/game-upload-function/node_modules/@alicloud/pop-core/package.json
generated
vendored
@ -1,57 +0,0 @@
|
||||
{
|
||||
"name": "@alicloud/pop-core",
|
||||
"version": "1.8.0",
|
||||
"description": "AliCloud POP SDK core",
|
||||
"main": "index.js",
|
||||
"types": "lib/rpc.d.ts",
|
||||
"scripts": {
|
||||
"lint": "eslint --fix lib test",
|
||||
"test": "mocha -R spec test/*.test.js",
|
||||
"test-cov": "nyc -r=html -r=text -r=lcov mocha -t 3000 -R spec test/*.test.js",
|
||||
"test-integration": "mocha -R spec test/*.integration.js",
|
||||
"ci": "npm run lint && npm run test-cov"
|
||||
},
|
||||
"keywords": [
|
||||
"Aliyun",
|
||||
"AliCloud",
|
||||
"OpenAPI",
|
||||
"POP",
|
||||
"SDK",
|
||||
"Core"
|
||||
],
|
||||
"author": "Jackson Tian",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"debug": "^3.1.0",
|
||||
"httpx": "^2.1.2",
|
||||
"json-bigint": "^1.0.0",
|
||||
"kitx": "^1.2.1",
|
||||
"xml2js": "^0.5.0"
|
||||
},
|
||||
"files": [
|
||||
"lib",
|
||||
"index.js"
|
||||
],
|
||||
"devDependencies": {
|
||||
"eslint": "^6.6.0",
|
||||
"expect.js": "^0.3.1",
|
||||
"mocha": "^4",
|
||||
"muk": "^0.5.3",
|
||||
"nyc": "^12.0.2",
|
||||
"rewire": "^4.0.1"
|
||||
},
|
||||
"directories": {
|
||||
"test": "test"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8.0.0"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/aliyun/openapi-core-nodejs-sdk.git"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/aliyun/openapi-core-nodejs-sdk/issues"
|
||||
},
|
||||
"homepage": "https://github.com/aliyun/openapi-core-nodejs-sdk#readme"
|
||||
}
|
||||
26
Tools/OSS/game-upload-function/node_modules/@protobufjs/aspromise/LICENSE
generated
vendored
26
Tools/OSS/game-upload-function/node_modules/@protobufjs/aspromise/LICENSE
generated
vendored
@ -1,26 +0,0 @@
|
||||
Copyright (c) 2016, Daniel Wirtz All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
* Neither the name of its author, nor the names of its contributors
|
||||
may be used to endorse or promote products derived from this software
|
||||
without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
13
Tools/OSS/game-upload-function/node_modules/@protobufjs/aspromise/README.md
generated
vendored
13
Tools/OSS/game-upload-function/node_modules/@protobufjs/aspromise/README.md
generated
vendored
@ -1,13 +0,0 @@
|
||||
@protobufjs/aspromise
|
||||
=====================
|
||||
[](https://www.npmjs.com/package/@protobufjs/aspromise)
|
||||
|
||||
Returns a promise from a node-style callback function.
|
||||
|
||||
API
|
||||
---
|
||||
|
||||
* **asPromise(fn: `function`, ctx: `Object`, ...params: `*`): `Promise<*>`**<br />
|
||||
Returns a promise from a node-style callback function.
|
||||
|
||||
**License:** [BSD 3-Clause License](https://opensource.org/licenses/BSD-3-Clause)
|
||||
13
Tools/OSS/game-upload-function/node_modules/@protobufjs/aspromise/index.d.ts
generated
vendored
13
Tools/OSS/game-upload-function/node_modules/@protobufjs/aspromise/index.d.ts
generated
vendored
@ -1,13 +0,0 @@
|
||||
export = asPromise;
|
||||
|
||||
type asPromiseCallback = (error: Error | null, ...params: any[]) => {};
|
||||
|
||||
/**
|
||||
* Returns a promise from a node-style callback function.
|
||||
* @memberof util
|
||||
* @param {asPromiseCallback} fn Function to call
|
||||
* @param {*} ctx Function context
|
||||
* @param {...*} params Function arguments
|
||||
* @returns {Promise<*>} Promisified function
|
||||
*/
|
||||
declare function asPromise(fn: asPromiseCallback, ctx: any, ...params: any[]): Promise<any>;
|
||||
52
Tools/OSS/game-upload-function/node_modules/@protobufjs/aspromise/index.js
generated
vendored
52
Tools/OSS/game-upload-function/node_modules/@protobufjs/aspromise/index.js
generated
vendored
@ -1,52 +0,0 @@
|
||||
"use strict";
|
||||
module.exports = asPromise;
|
||||
|
||||
/**
|
||||
* Callback as used by {@link util.asPromise}.
|
||||
* @typedef asPromiseCallback
|
||||
* @type {function}
|
||||
* @param {Error|null} error Error, if any
|
||||
* @param {...*} params Additional arguments
|
||||
* @returns {undefined}
|
||||
*/
|
||||
|
||||
/**
|
||||
* Returns a promise from a node-style callback function.
|
||||
* @memberof util
|
||||
* @param {asPromiseCallback} fn Function to call
|
||||
* @param {*} ctx Function context
|
||||
* @param {...*} params Function arguments
|
||||
* @returns {Promise<*>} Promisified function
|
||||
*/
|
||||
function asPromise(fn, ctx/*, varargs */) {
|
||||
var params = new Array(arguments.length - 1),
|
||||
offset = 0,
|
||||
index = 2,
|
||||
pending = true;
|
||||
while (index < arguments.length)
|
||||
params[offset++] = arguments[index++];
|
||||
return new Promise(function executor(resolve, reject) {
|
||||
params[offset] = function callback(err/*, varargs */) {
|
||||
if (pending) {
|
||||
pending = false;
|
||||
if (err)
|
||||
reject(err);
|
||||
else {
|
||||
var params = new Array(arguments.length - 1),
|
||||
offset = 0;
|
||||
while (offset < params.length)
|
||||
params[offset++] = arguments[offset];
|
||||
resolve.apply(null, params);
|
||||
}
|
||||
}
|
||||
};
|
||||
try {
|
||||
fn.apply(ctx || null, params);
|
||||
} catch (err) {
|
||||
if (pending) {
|
||||
pending = false;
|
||||
reject(err);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
21
Tools/OSS/game-upload-function/node_modules/@protobufjs/aspromise/package.json
generated
vendored
21
Tools/OSS/game-upload-function/node_modules/@protobufjs/aspromise/package.json
generated
vendored
@ -1,21 +0,0 @@
|
||||
{
|
||||
"name": "@protobufjs/aspromise",
|
||||
"description": "Returns a promise from a node-style callback function.",
|
||||
"version": "1.1.2",
|
||||
"author": "Daniel Wirtz <dcode+protobufjs@dcode.io>",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/dcodeIO/protobuf.js.git"
|
||||
},
|
||||
"license": "BSD-3-Clause",
|
||||
"main": "index.js",
|
||||
"types": "index.d.ts",
|
||||
"devDependencies": {
|
||||
"istanbul": "^0.4.5",
|
||||
"tape": "^4.6.3"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "tape tests/*.js",
|
||||
"coverage": "istanbul cover node_modules/tape/bin/tape tests/*.js"
|
||||
}
|
||||
}
|
||||
130
Tools/OSS/game-upload-function/node_modules/@protobufjs/aspromise/tests/index.js
generated
vendored
130
Tools/OSS/game-upload-function/node_modules/@protobufjs/aspromise/tests/index.js
generated
vendored
@ -1,130 +0,0 @@
|
||||
var tape = require("tape");
|
||||
|
||||
var asPromise = require("..");
|
||||
|
||||
tape.test("aspromise", function(test) {
|
||||
|
||||
test.test(this.name + " - resolve", function(test) {
|
||||
|
||||
function fn(arg1, arg2, callback) {
|
||||
test.equal(this, ctx, "function should be called with this = ctx");
|
||||
test.equal(arg1, 1, "function should be called with arg1 = 1");
|
||||
test.equal(arg2, 2, "function should be called with arg2 = 2");
|
||||
callback(null, arg2);
|
||||
}
|
||||
|
||||
var ctx = {};
|
||||
|
||||
var promise = asPromise(fn, ctx, 1, 2);
|
||||
promise.then(function(arg2) {
|
||||
test.equal(arg2, 2, "promise should be resolved with arg2 = 2");
|
||||
test.end();
|
||||
}).catch(function(err) {
|
||||
test.fail("promise should not be rejected (" + err + ")");
|
||||
});
|
||||
});
|
||||
|
||||
test.test(this.name + " - reject", function(test) {
|
||||
|
||||
function fn(arg1, arg2, callback) {
|
||||
test.equal(this, ctx, "function should be called with this = ctx");
|
||||
test.equal(arg1, 1, "function should be called with arg1 = 1");
|
||||
test.equal(arg2, 2, "function should be called with arg2 = 2");
|
||||
callback(arg1);
|
||||
}
|
||||
|
||||
var ctx = {};
|
||||
|
||||
var promise = asPromise(fn, ctx, 1, 2);
|
||||
promise.then(function() {
|
||||
test.fail("promise should not be resolved");
|
||||
}).catch(function(err) {
|
||||
test.equal(err, 1, "promise should be rejected with err = 1");
|
||||
test.end();
|
||||
});
|
||||
});
|
||||
|
||||
test.test(this.name + " - resolve twice", function(test) {
|
||||
|
||||
function fn(arg1, arg2, callback) {
|
||||
test.equal(this, ctx, "function should be called with this = ctx");
|
||||
test.equal(arg1, 1, "function should be called with arg1 = 1");
|
||||
test.equal(arg2, 2, "function should be called with arg2 = 2");
|
||||
callback(null, arg2);
|
||||
callback(null, arg1);
|
||||
}
|
||||
|
||||
var ctx = {};
|
||||
var count = 0;
|
||||
|
||||
var promise = asPromise(fn, ctx, 1, 2);
|
||||
promise.then(function(arg2) {
|
||||
test.equal(arg2, 2, "promise should be resolved with arg2 = 2");
|
||||
if (++count > 1)
|
||||
test.fail("promise should not be resolved twice");
|
||||
test.end();
|
||||
}).catch(function(err) {
|
||||
test.fail("promise should not be rejected (" + err + ")");
|
||||
});
|
||||
});
|
||||
|
||||
test.test(this.name + " - reject twice", function(test) {
|
||||
|
||||
function fn(arg1, arg2, callback) {
|
||||
test.equal(this, ctx, "function should be called with this = ctx");
|
||||
test.equal(arg1, 1, "function should be called with arg1 = 1");
|
||||
test.equal(arg2, 2, "function should be called with arg2 = 2");
|
||||
callback(arg1);
|
||||
callback(arg2);
|
||||
}
|
||||
|
||||
var ctx = {};
|
||||
var count = 0;
|
||||
|
||||
var promise = asPromise(fn, ctx, 1, 2);
|
||||
promise.then(function() {
|
||||
test.fail("promise should not be resolved");
|
||||
}).catch(function(err) {
|
||||
test.equal(err, 1, "promise should be rejected with err = 1");
|
||||
if (++count > 1)
|
||||
test.fail("promise should not be rejected twice");
|
||||
test.end();
|
||||
});
|
||||
});
|
||||
|
||||
test.test(this.name + " - reject error", function(test) {
|
||||
|
||||
function fn(callback) {
|
||||
test.ok(arguments.length === 1 && typeof callback === "function", "function should be called with just a callback");
|
||||
throw 3;
|
||||
}
|
||||
|
||||
var promise = asPromise(fn, null);
|
||||
promise.then(function() {
|
||||
test.fail("promise should not be resolved");
|
||||
}).catch(function(err) {
|
||||
test.equal(err, 3, "promise should be rejected with err = 3");
|
||||
test.end();
|
||||
});
|
||||
});
|
||||
|
||||
test.test(this.name + " - reject and error", function(test) {
|
||||
|
||||
function fn(callback) {
|
||||
callback(3);
|
||||
throw 4;
|
||||
}
|
||||
|
||||
var count = 0;
|
||||
|
||||
var promise = asPromise(fn, null);
|
||||
promise.then(function() {
|
||||
test.fail("promise should not be resolved");
|
||||
}).catch(function(err) {
|
||||
test.equal(err, 3, "promise should be rejected with err = 3");
|
||||
if (++count > 1)
|
||||
test.fail("promise should not be rejected twice");
|
||||
test.end();
|
||||
});
|
||||
});
|
||||
});
|
||||
26
Tools/OSS/game-upload-function/node_modules/@protobufjs/base64/LICENSE
generated
vendored
26
Tools/OSS/game-upload-function/node_modules/@protobufjs/base64/LICENSE
generated
vendored
@ -1,26 +0,0 @@
|
||||
Copyright (c) 2016, Daniel Wirtz All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
* Neither the name of its author, nor the names of its contributors
|
||||
may be used to endorse or promote products derived from this software
|
||||
without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
19
Tools/OSS/game-upload-function/node_modules/@protobufjs/base64/README.md
generated
vendored
19
Tools/OSS/game-upload-function/node_modules/@protobufjs/base64/README.md
generated
vendored
@ -1,19 +0,0 @@
|
||||
@protobufjs/base64
|
||||
==================
|
||||
[](https://www.npmjs.com/package/@protobufjs/base64)
|
||||
|
||||
A minimal base64 implementation for number arrays.
|
||||
|
||||
API
|
||||
---
|
||||
|
||||
* **base64.length(string: `string`): `number`**<br />
|
||||
Calculates the byte length of a base64 encoded string.
|
||||
|
||||
* **base64.encode(buffer: `Uint8Array`, start: `number`, end: `number`): `string`**<br />
|
||||
Encodes a buffer to a base64 encoded string.
|
||||
|
||||
* **base64.decode(string: `string`, buffer: `Uint8Array`, offset: `number`): `number`**<br />
|
||||
Decodes a base64 encoded string to a buffer.
|
||||
|
||||
**License:** [BSD 3-Clause License](https://opensource.org/licenses/BSD-3-Clause)
|
||||
32
Tools/OSS/game-upload-function/node_modules/@protobufjs/base64/index.d.ts
generated
vendored
32
Tools/OSS/game-upload-function/node_modules/@protobufjs/base64/index.d.ts
generated
vendored
@ -1,32 +0,0 @@
|
||||
/**
|
||||
* Calculates the byte length of a base64 encoded string.
|
||||
* @param {string} string Base64 encoded string
|
||||
* @returns {number} Byte length
|
||||
*/
|
||||
export function length(string: string): number;
|
||||
|
||||
/**
|
||||
* Encodes a buffer to a base64 encoded string.
|
||||
* @param {Uint8Array} buffer Source buffer
|
||||
* @param {number} start Source start
|
||||
* @param {number} end Source end
|
||||
* @returns {string} Base64 encoded string
|
||||
*/
|
||||
export function encode(buffer: Uint8Array, start: number, end: number): string;
|
||||
|
||||
/**
|
||||
* Decodes a base64 encoded string to a buffer.
|
||||
* @param {string} string Source string
|
||||
* @param {Uint8Array} buffer Destination buffer
|
||||
* @param {number} offset Destination offset
|
||||
* @returns {number} Number of bytes written
|
||||
* @throws {Error} If encoding is invalid
|
||||
*/
|
||||
export function decode(string: string, buffer: Uint8Array, offset: number): number;
|
||||
|
||||
/**
|
||||
* Tests if the specified string appears to be base64 encoded.
|
||||
* @param {string} string String to test
|
||||
* @returns {boolean} `true` if it appears to be base64 encoded, otherwise false
|
||||
*/
|
||||
export function test(string: string): boolean;
|
||||
139
Tools/OSS/game-upload-function/node_modules/@protobufjs/base64/index.js
generated
vendored
139
Tools/OSS/game-upload-function/node_modules/@protobufjs/base64/index.js
generated
vendored
@ -1,139 +0,0 @@
|
||||
"use strict";
|
||||
|
||||
/**
|
||||
* A minimal base64 implementation for number arrays.
|
||||
* @memberof util
|
||||
* @namespace
|
||||
*/
|
||||
var base64 = exports;
|
||||
|
||||
/**
|
||||
* Calculates the byte length of a base64 encoded string.
|
||||
* @param {string} string Base64 encoded string
|
||||
* @returns {number} Byte length
|
||||
*/
|
||||
base64.length = function length(string) {
|
||||
var p = string.length;
|
||||
if (!p)
|
||||
return 0;
|
||||
var n = 0;
|
||||
while (--p % 4 > 1 && string.charAt(p) === "=")
|
||||
++n;
|
||||
return Math.ceil(string.length * 3) / 4 - n;
|
||||
};
|
||||
|
||||
// Base64 encoding table
|
||||
var b64 = new Array(64);
|
||||
|
||||
// Base64 decoding table
|
||||
var s64 = new Array(123);
|
||||
|
||||
// 65..90, 97..122, 48..57, 43, 47
|
||||
for (var i = 0; i < 64;)
|
||||
s64[b64[i] = i < 26 ? i + 65 : i < 52 ? i + 71 : i < 62 ? i - 4 : i - 59 | 43] = i++;
|
||||
|
||||
/**
|
||||
* Encodes a buffer to a base64 encoded string.
|
||||
* @param {Uint8Array} buffer Source buffer
|
||||
* @param {number} start Source start
|
||||
* @param {number} end Source end
|
||||
* @returns {string} Base64 encoded string
|
||||
*/
|
||||
base64.encode = function encode(buffer, start, end) {
|
||||
var parts = null,
|
||||
chunk = [];
|
||||
var i = 0, // output index
|
||||
j = 0, // goto index
|
||||
t; // temporary
|
||||
while (start < end) {
|
||||
var b = buffer[start++];
|
||||
switch (j) {
|
||||
case 0:
|
||||
chunk[i++] = b64[b >> 2];
|
||||
t = (b & 3) << 4;
|
||||
j = 1;
|
||||
break;
|
||||
case 1:
|
||||
chunk[i++] = b64[t | b >> 4];
|
||||
t = (b & 15) << 2;
|
||||
j = 2;
|
||||
break;
|
||||
case 2:
|
||||
chunk[i++] = b64[t | b >> 6];
|
||||
chunk[i++] = b64[b & 63];
|
||||
j = 0;
|
||||
break;
|
||||
}
|
||||
if (i > 8191) {
|
||||
(parts || (parts = [])).push(String.fromCharCode.apply(String, chunk));
|
||||
i = 0;
|
||||
}
|
||||
}
|
||||
if (j) {
|
||||
chunk[i++] = b64[t];
|
||||
chunk[i++] = 61;
|
||||
if (j === 1)
|
||||
chunk[i++] = 61;
|
||||
}
|
||||
if (parts) {
|
||||
if (i)
|
||||
parts.push(String.fromCharCode.apply(String, chunk.slice(0, i)));
|
||||
return parts.join("");
|
||||
}
|
||||
return String.fromCharCode.apply(String, chunk.slice(0, i));
|
||||
};
|
||||
|
||||
var invalidEncoding = "invalid encoding";
|
||||
|
||||
/**
|
||||
* Decodes a base64 encoded string to a buffer.
|
||||
* @param {string} string Source string
|
||||
* @param {Uint8Array} buffer Destination buffer
|
||||
* @param {number} offset Destination offset
|
||||
* @returns {number} Number of bytes written
|
||||
* @throws {Error} If encoding is invalid
|
||||
*/
|
||||
base64.decode = function decode(string, buffer, offset) {
|
||||
var start = offset;
|
||||
var j = 0, // goto index
|
||||
t; // temporary
|
||||
for (var i = 0; i < string.length;) {
|
||||
var c = string.charCodeAt(i++);
|
||||
if (c === 61 && j > 1)
|
||||
break;
|
||||
if ((c = s64[c]) === undefined)
|
||||
throw Error(invalidEncoding);
|
||||
switch (j) {
|
||||
case 0:
|
||||
t = c;
|
||||
j = 1;
|
||||
break;
|
||||
case 1:
|
||||
buffer[offset++] = t << 2 | (c & 48) >> 4;
|
||||
t = c;
|
||||
j = 2;
|
||||
break;
|
||||
case 2:
|
||||
buffer[offset++] = (t & 15) << 4 | (c & 60) >> 2;
|
||||
t = c;
|
||||
j = 3;
|
||||
break;
|
||||
case 3:
|
||||
buffer[offset++] = (t & 3) << 6 | c;
|
||||
j = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (j === 1)
|
||||
throw Error(invalidEncoding);
|
||||
return offset - start;
|
||||
};
|
||||
|
||||
/**
|
||||
* Tests if the specified string appears to be base64 encoded.
|
||||
* @param {string} string String to test
|
||||
* @returns {boolean} `true` if probably base64 encoded, otherwise false
|
||||
*/
|
||||
base64.test = function test(string) {
|
||||
return /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(string);
|
||||
};
|
||||
21
Tools/OSS/game-upload-function/node_modules/@protobufjs/base64/package.json
generated
vendored
21
Tools/OSS/game-upload-function/node_modules/@protobufjs/base64/package.json
generated
vendored
@ -1,21 +0,0 @@
|
||||
{
|
||||
"name": "@protobufjs/base64",
|
||||
"description": "A minimal base64 implementation for number arrays.",
|
||||
"version": "1.1.2",
|
||||
"author": "Daniel Wirtz <dcode+protobufjs@dcode.io>",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/dcodeIO/protobuf.js.git"
|
||||
},
|
||||
"license": "BSD-3-Clause",
|
||||
"main": "index.js",
|
||||
"types": "index.d.ts",
|
||||
"devDependencies": {
|
||||
"istanbul": "^0.4.5",
|
||||
"tape": "^4.6.3"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "tape tests/*.js",
|
||||
"coverage": "istanbul cover node_modules/tape/bin/tape tests/*.js"
|
||||
}
|
||||
}
|
||||
46
Tools/OSS/game-upload-function/node_modules/@protobufjs/base64/tests/index.js
generated
vendored
46
Tools/OSS/game-upload-function/node_modules/@protobufjs/base64/tests/index.js
generated
vendored
@ -1,46 +0,0 @@
|
||||
var tape = require("tape");
|
||||
|
||||
var base64 = require("..");
|
||||
|
||||
var strings = {
|
||||
"": "",
|
||||
"a": "YQ==",
|
||||
"ab": "YWI=",
|
||||
"abcdefg": "YWJjZGVmZw==",
|
||||
"abcdefgh": "YWJjZGVmZ2g=",
|
||||
"abcdefghi": "YWJjZGVmZ2hp"
|
||||
};
|
||||
|
||||
tape.test("base64", function(test) {
|
||||
|
||||
Object.keys(strings).forEach(function(str) {
|
||||
var enc = strings[str];
|
||||
|
||||
test.equal(base64.test(enc), true, "should detect '" + enc + "' to be base64 encoded");
|
||||
|
||||
var len = base64.length(enc);
|
||||
test.equal(len, str.length, "should calculate '" + enc + "' as " + str.length + " bytes");
|
||||
|
||||
var buf = new Array(len);
|
||||
var len2 = base64.decode(enc, buf, 0);
|
||||
test.equal(len2, len, "should decode '" + enc + "' to " + len + " bytes");
|
||||
|
||||
test.equal(String.fromCharCode.apply(String, buf), str, "should decode '" + enc + "' to '" + str + "'");
|
||||
|
||||
var enc2 = base64.encode(buf, 0, buf.length);
|
||||
test.equal(enc2, enc, "should encode '" + str + "' to '" + enc + "'");
|
||||
|
||||
});
|
||||
|
||||
test.throws(function() {
|
||||
var buf = new Array(10);
|
||||
base64.decode("YQ!", buf, 0);
|
||||
}, Error, "should throw if encoding is invalid");
|
||||
|
||||
test.throws(function() {
|
||||
var buf = new Array(10);
|
||||
base64.decode("Y", buf, 0);
|
||||
}, Error, "should throw if string is truncated");
|
||||
|
||||
test.end();
|
||||
});
|
||||
26
Tools/OSS/game-upload-function/node_modules/@protobufjs/codegen/LICENSE
generated
vendored
26
Tools/OSS/game-upload-function/node_modules/@protobufjs/codegen/LICENSE
generated
vendored
@ -1,26 +0,0 @@
|
||||
Copyright (c) 2016, Daniel Wirtz All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
* Neither the name of its author, nor the names of its contributors
|
||||
may be used to endorse or promote products derived from this software
|
||||
without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
49
Tools/OSS/game-upload-function/node_modules/@protobufjs/codegen/README.md
generated
vendored
49
Tools/OSS/game-upload-function/node_modules/@protobufjs/codegen/README.md
generated
vendored
@ -1,49 +0,0 @@
|
||||
@protobufjs/codegen
|
||||
===================
|
||||
[](https://www.npmjs.com/package/@protobufjs/codegen)
|
||||
|
||||
A minimalistic code generation utility.
|
||||
|
||||
API
|
||||
---
|
||||
|
||||
* **codegen([functionParams: `string[]`], [functionName: string]): `Codegen`**<br />
|
||||
Begins generating a function.
|
||||
|
||||
* **codegen.verbose = `false`**<br />
|
||||
When set to true, codegen will log generated code to console. Useful for debugging.
|
||||
|
||||
Invoking **codegen** returns an appender function that appends code to the function's body and returns itself:
|
||||
|
||||
* **Codegen(formatString: `string`, [...formatParams: `any`]): Codegen**<br />
|
||||
Appends code to the function's body. The format string can contain placeholders specifying the types of inserted format parameters:
|
||||
|
||||
* `%d`: Number (integer or floating point value)
|
||||
* `%f`: Floating point value
|
||||
* `%i`: Integer value
|
||||
* `%j`: JSON.stringify'ed value
|
||||
* `%s`: String value
|
||||
* `%%`: Percent sign<br />
|
||||
|
||||
* **Codegen([scope: `Object.<string,*>`]): `Function`**<br />
|
||||
Finishes the function and returns it.
|
||||
|
||||
* **Codegen.toString([functionNameOverride: `string`]): `string`**<br />
|
||||
Returns the function as a string.
|
||||
|
||||
Example
|
||||
-------
|
||||
|
||||
```js
|
||||
var codegen = require("@protobufjs/codegen");
|
||||
|
||||
var add = codegen(["a", "b"], "add") // A function with parameters "a" and "b" named "add"
|
||||
("// awesome comment") // adds the line to the function's body
|
||||
("return a + b - c + %d", 1) // replaces %d with 1 and adds the line to the body
|
||||
({ c: 1 }); // adds "c" with a value of 1 to the function's scope
|
||||
|
||||
console.log(add.toString()); // function add(a, b) { return a + b - c + 1 }
|
||||
console.log(add(1, 2)); // calculates 1 + 2 - 1 + 1 = 3
|
||||
```
|
||||
|
||||
**License:** [BSD 3-Clause License](https://opensource.org/licenses/BSD-3-Clause)
|
||||
31
Tools/OSS/game-upload-function/node_modules/@protobufjs/codegen/index.d.ts
generated
vendored
31
Tools/OSS/game-upload-function/node_modules/@protobufjs/codegen/index.d.ts
generated
vendored
@ -1,31 +0,0 @@
|
||||
export = codegen;
|
||||
|
||||
/**
|
||||
* Appends code to the function's body.
|
||||
* @param [formatStringOrScope] Format string or, to finish the function, an object of additional scope variables, if any
|
||||
* @param [formatParams] Format parameters
|
||||
* @returns Itself or the generated function if finished
|
||||
* @throws {Error} If format parameter counts do not match
|
||||
*/
|
||||
type Codegen = (formatStringOrScope?: (string|{ [k: string]: any }), ...formatParams: any[]) => (Codegen|Function);
|
||||
|
||||
/**
|
||||
* Begins generating a function.
|
||||
* @param functionParams Function parameter names
|
||||
* @param [functionName] Function name if not anonymous
|
||||
* @returns Appender that appends code to the function's body
|
||||
*/
|
||||
declare function codegen(functionParams: string[], functionName?: string): Codegen;
|
||||
|
||||
/**
|
||||
* Begins generating a function.
|
||||
* @param [functionName] Function name if not anonymous
|
||||
* @returns Appender that appends code to the function's body
|
||||
*/
|
||||
declare function codegen(functionName?: string): Codegen;
|
||||
|
||||
declare namespace codegen {
|
||||
|
||||
/** When set to `true`, codegen will log generated code to console. Useful for debugging. */
|
||||
let verbose: boolean;
|
||||
}
|
||||
99
Tools/OSS/game-upload-function/node_modules/@protobufjs/codegen/index.js
generated
vendored
99
Tools/OSS/game-upload-function/node_modules/@protobufjs/codegen/index.js
generated
vendored
@ -1,99 +0,0 @@
|
||||
"use strict";
|
||||
module.exports = codegen;
|
||||
|
||||
/**
|
||||
* Begins generating a function.
|
||||
* @memberof util
|
||||
* @param {string[]} functionParams Function parameter names
|
||||
* @param {string} [functionName] Function name if not anonymous
|
||||
* @returns {Codegen} Appender that appends code to the function's body
|
||||
*/
|
||||
function codegen(functionParams, functionName) {
|
||||
|
||||
/* istanbul ignore if */
|
||||
if (typeof functionParams === "string") {
|
||||
functionName = functionParams;
|
||||
functionParams = undefined;
|
||||
}
|
||||
|
||||
var body = [];
|
||||
|
||||
/**
|
||||
* Appends code to the function's body or finishes generation.
|
||||
* @typedef Codegen
|
||||
* @type {function}
|
||||
* @param {string|Object.<string,*>} [formatStringOrScope] Format string or, to finish the function, an object of additional scope variables, if any
|
||||
* @param {...*} [formatParams] Format parameters
|
||||
* @returns {Codegen|Function} Itself or the generated function if finished
|
||||
* @throws {Error} If format parameter counts do not match
|
||||
*/
|
||||
|
||||
function Codegen(formatStringOrScope) {
|
||||
// note that explicit array handling below makes this ~50% faster
|
||||
|
||||
// finish the function
|
||||
if (typeof formatStringOrScope !== "string") {
|
||||
var source = toString();
|
||||
if (codegen.verbose)
|
||||
console.log("codegen: " + source); // eslint-disable-line no-console
|
||||
source = "return " + source;
|
||||
if (formatStringOrScope) {
|
||||
var scopeKeys = Object.keys(formatStringOrScope),
|
||||
scopeParams = new Array(scopeKeys.length + 1),
|
||||
scopeValues = new Array(scopeKeys.length),
|
||||
scopeOffset = 0;
|
||||
while (scopeOffset < scopeKeys.length) {
|
||||
scopeParams[scopeOffset] = scopeKeys[scopeOffset];
|
||||
scopeValues[scopeOffset] = formatStringOrScope[scopeKeys[scopeOffset++]];
|
||||
}
|
||||
scopeParams[scopeOffset] = source;
|
||||
return Function.apply(null, scopeParams).apply(null, scopeValues); // eslint-disable-line no-new-func
|
||||
}
|
||||
return Function(source)(); // eslint-disable-line no-new-func
|
||||
}
|
||||
|
||||
// otherwise append to body
|
||||
var formatParams = new Array(arguments.length - 1),
|
||||
formatOffset = 0;
|
||||
while (formatOffset < formatParams.length)
|
||||
formatParams[formatOffset] = arguments[++formatOffset];
|
||||
formatOffset = 0;
|
||||
formatStringOrScope = formatStringOrScope.replace(/%([%dfijs])/g, function replace($0, $1) {
|
||||
var value = formatParams[formatOffset++];
|
||||
switch ($1) {
|
||||
case "d": case "f": return String(Number(value));
|
||||
case "i": return String(Math.floor(value));
|
||||
case "j": return JSON.stringify(value);
|
||||
case "s": return String(value);
|
||||
}
|
||||
return "%";
|
||||
});
|
||||
if (formatOffset !== formatParams.length)
|
||||
throw Error("parameter count mismatch");
|
||||
body.push(formatStringOrScope);
|
||||
return Codegen;
|
||||
}
|
||||
|
||||
function toString(functionNameOverride) {
|
||||
return "function " + (functionNameOverride || functionName || "") + "(" + (functionParams && functionParams.join(",") || "") + "){\n " + body.join("\n ") + "\n}";
|
||||
}
|
||||
|
||||
Codegen.toString = toString;
|
||||
return Codegen;
|
||||
}
|
||||
|
||||
/**
|
||||
* Begins generating a function.
|
||||
* @memberof util
|
||||
* @function codegen
|
||||
* @param {string} [functionName] Function name if not anonymous
|
||||
* @returns {Codegen} Appender that appends code to the function's body
|
||||
* @variation 2
|
||||
*/
|
||||
|
||||
/**
|
||||
* When set to `true`, codegen will log generated code to console. Useful for debugging.
|
||||
* @name util.codegen.verbose
|
||||
* @type {boolean}
|
||||
*/
|
||||
codegen.verbose = false;
|
||||
13
Tools/OSS/game-upload-function/node_modules/@protobufjs/codegen/package.json
generated
vendored
13
Tools/OSS/game-upload-function/node_modules/@protobufjs/codegen/package.json
generated
vendored
@ -1,13 +0,0 @@
|
||||
{
|
||||
"name": "@protobufjs/codegen",
|
||||
"description": "A minimalistic code generation utility.",
|
||||
"version": "2.0.4",
|
||||
"author": "Daniel Wirtz <dcode+protobufjs@dcode.io>",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/dcodeIO/protobuf.js.git"
|
||||
},
|
||||
"license": "BSD-3-Clause",
|
||||
"main": "index.js",
|
||||
"types": "index.d.ts"
|
||||
}
|
||||
13
Tools/OSS/game-upload-function/node_modules/@protobufjs/codegen/tests/index.js
generated
vendored
13
Tools/OSS/game-upload-function/node_modules/@protobufjs/codegen/tests/index.js
generated
vendored
@ -1,13 +0,0 @@
|
||||
var codegen = require("..");
|
||||
|
||||
// new require("benchmark").Suite().add("add", function() {
|
||||
|
||||
var add = codegen(["a", "b"], "add")
|
||||
("// awesome comment")
|
||||
("return a + b - c + %d", 1)
|
||||
({ c: 1 });
|
||||
|
||||
if (add(1, 2) !== 3)
|
||||
throw Error("failed");
|
||||
|
||||
// }).on("cycle", function(event) { process.stdout.write(String(event.target) + "\n"); }).run();
|
||||
26
Tools/OSS/game-upload-function/node_modules/@protobufjs/eventemitter/LICENSE
generated
vendored
26
Tools/OSS/game-upload-function/node_modules/@protobufjs/eventemitter/LICENSE
generated
vendored
@ -1,26 +0,0 @@
|
||||
Copyright (c) 2016, Daniel Wirtz All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
* Neither the name of its author, nor the names of its contributors
|
||||
may be used to endorse or promote products derived from this software
|
||||
without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
22
Tools/OSS/game-upload-function/node_modules/@protobufjs/eventemitter/README.md
generated
vendored
22
Tools/OSS/game-upload-function/node_modules/@protobufjs/eventemitter/README.md
generated
vendored
@ -1,22 +0,0 @@
|
||||
@protobufjs/eventemitter
|
||||
========================
|
||||
[](https://www.npmjs.com/package/@protobufjs/eventemitter)
|
||||
|
||||
A minimal event emitter.
|
||||
|
||||
API
|
||||
---
|
||||
|
||||
* **new EventEmitter()**<br />
|
||||
Constructs a new event emitter instance.
|
||||
|
||||
* **EventEmitter#on(evt: `string`, fn: `function`, [ctx: `Object`]): `EventEmitter`**<br />
|
||||
Registers an event listener.
|
||||
|
||||
* **EventEmitter#off([evt: `string`], [fn: `function`]): `EventEmitter`**<br />
|
||||
Removes an event listener or any matching listeners if arguments are omitted.
|
||||
|
||||
* **EventEmitter#emit(evt: `string`, ...args: `*`): `EventEmitter`**<br />
|
||||
Emits an event by calling its listeners with the specified arguments.
|
||||
|
||||
**License:** [BSD 3-Clause License](https://opensource.org/licenses/BSD-3-Clause)
|
||||
43
Tools/OSS/game-upload-function/node_modules/@protobufjs/eventemitter/index.d.ts
generated
vendored
43
Tools/OSS/game-upload-function/node_modules/@protobufjs/eventemitter/index.d.ts
generated
vendored
@ -1,43 +0,0 @@
|
||||
export = EventEmitter;
|
||||
|
||||
/**
|
||||
* Constructs a new event emitter instance.
|
||||
* @classdesc A minimal event emitter.
|
||||
* @memberof util
|
||||
* @constructor
|
||||
*/
|
||||
declare class EventEmitter {
|
||||
|
||||
/**
|
||||
* Constructs a new event emitter instance.
|
||||
* @classdesc A minimal event emitter.
|
||||
* @memberof util
|
||||
* @constructor
|
||||
*/
|
||||
constructor();
|
||||
|
||||
/**
|
||||
* Registers an event listener.
|
||||
* @param {string} evt Event name
|
||||
* @param {function} fn Listener
|
||||
* @param {*} [ctx] Listener context
|
||||
* @returns {util.EventEmitter} `this`
|
||||
*/
|
||||
on(evt: string, fn: () => any, ctx?: any): EventEmitter;
|
||||
|
||||
/**
|
||||
* Removes an event listener or any matching listeners if arguments are omitted.
|
||||
* @param {string} [evt] Event name. Removes all listeners if omitted.
|
||||
* @param {function} [fn] Listener to remove. Removes all listeners of `evt` if omitted.
|
||||
* @returns {util.EventEmitter} `this`
|
||||
*/
|
||||
off(evt?: string, fn?: () => any): EventEmitter;
|
||||
|
||||
/**
|
||||
* Emits an event by calling its listeners with the specified arguments.
|
||||
* @param {string} evt Event name
|
||||
* @param {...*} args Arguments
|
||||
* @returns {util.EventEmitter} `this`
|
||||
*/
|
||||
emit(evt: string, ...args: any[]): EventEmitter;
|
||||
}
|
||||
76
Tools/OSS/game-upload-function/node_modules/@protobufjs/eventemitter/index.js
generated
vendored
76
Tools/OSS/game-upload-function/node_modules/@protobufjs/eventemitter/index.js
generated
vendored
@ -1,76 +0,0 @@
|
||||
"use strict";
|
||||
module.exports = EventEmitter;
|
||||
|
||||
/**
|
||||
* Constructs a new event emitter instance.
|
||||
* @classdesc A minimal event emitter.
|
||||
* @memberof util
|
||||
* @constructor
|
||||
*/
|
||||
function EventEmitter() {
|
||||
|
||||
/**
|
||||
* Registered listeners.
|
||||
* @type {Object.<string,*>}
|
||||
* @private
|
||||
*/
|
||||
this._listeners = {};
|
||||
}
|
||||
|
||||
/**
|
||||
* Registers an event listener.
|
||||
* @param {string} evt Event name
|
||||
* @param {function} fn Listener
|
||||
* @param {*} [ctx] Listener context
|
||||
* @returns {util.EventEmitter} `this`
|
||||
*/
|
||||
EventEmitter.prototype.on = function on(evt, fn, ctx) {
|
||||
(this._listeners[evt] || (this._listeners[evt] = [])).push({
|
||||
fn : fn,
|
||||
ctx : ctx || this
|
||||
});
|
||||
return this;
|
||||
};
|
||||
|
||||
/**
|
||||
* Removes an event listener or any matching listeners if arguments are omitted.
|
||||
* @param {string} [evt] Event name. Removes all listeners if omitted.
|
||||
* @param {function} [fn] Listener to remove. Removes all listeners of `evt` if omitted.
|
||||
* @returns {util.EventEmitter} `this`
|
||||
*/
|
||||
EventEmitter.prototype.off = function off(evt, fn) {
|
||||
if (evt === undefined)
|
||||
this._listeners = {};
|
||||
else {
|
||||
if (fn === undefined)
|
||||
this._listeners[evt] = [];
|
||||
else {
|
||||
var listeners = this._listeners[evt];
|
||||
for (var i = 0; i < listeners.length;)
|
||||
if (listeners[i].fn === fn)
|
||||
listeners.splice(i, 1);
|
||||
else
|
||||
++i;
|
||||
}
|
||||
}
|
||||
return this;
|
||||
};
|
||||
|
||||
/**
|
||||
* Emits an event by calling its listeners with the specified arguments.
|
||||
* @param {string} evt Event name
|
||||
* @param {...*} args Arguments
|
||||
* @returns {util.EventEmitter} `this`
|
||||
*/
|
||||
EventEmitter.prototype.emit = function emit(evt) {
|
||||
var listeners = this._listeners[evt];
|
||||
if (listeners) {
|
||||
var args = [],
|
||||
i = 1;
|
||||
for (; i < arguments.length;)
|
||||
args.push(arguments[i++]);
|
||||
for (i = 0; i < listeners.length;)
|
||||
listeners[i].fn.apply(listeners[i++].ctx, args);
|
||||
}
|
||||
return this;
|
||||
};
|
||||
21
Tools/OSS/game-upload-function/node_modules/@protobufjs/eventemitter/package.json
generated
vendored
21
Tools/OSS/game-upload-function/node_modules/@protobufjs/eventemitter/package.json
generated
vendored
@ -1,21 +0,0 @@
|
||||
{
|
||||
"name": "@protobufjs/eventemitter",
|
||||
"description": "A minimal event emitter.",
|
||||
"version": "1.1.0",
|
||||
"author": "Daniel Wirtz <dcode+protobufjs@dcode.io>",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/dcodeIO/protobuf.js.git"
|
||||
},
|
||||
"license": "BSD-3-Clause",
|
||||
"main": "index.js",
|
||||
"types": "index.d.ts",
|
||||
"devDependencies": {
|
||||
"istanbul": "^0.4.5",
|
||||
"tape": "^4.6.3"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "tape tests/*.js",
|
||||
"coverage": "istanbul cover node_modules/tape/bin/tape tests/*.js"
|
||||
}
|
||||
}
|
||||
47
Tools/OSS/game-upload-function/node_modules/@protobufjs/eventemitter/tests/index.js
generated
vendored
47
Tools/OSS/game-upload-function/node_modules/@protobufjs/eventemitter/tests/index.js
generated
vendored
@ -1,47 +0,0 @@
|
||||
var tape = require("tape");
|
||||
|
||||
var EventEmitter = require("..");
|
||||
|
||||
tape.test("eventemitter", function(test) {
|
||||
|
||||
var ee = new EventEmitter();
|
||||
var fn;
|
||||
var ctx = {};
|
||||
|
||||
test.doesNotThrow(function() {
|
||||
ee.emit("a", 1);
|
||||
ee.off();
|
||||
ee.off("a");
|
||||
ee.off("a", function() {});
|
||||
}, "should not throw if no listeners are registered");
|
||||
|
||||
test.equal(ee.on("a", function(arg1) {
|
||||
test.equal(this, ctx, "should be called with this = ctx");
|
||||
test.equal(arg1, 1, "should be called with arg1 = 1");
|
||||
}, ctx), ee, "should return itself when registering events");
|
||||
ee.emit("a", 1);
|
||||
|
||||
ee.off("a");
|
||||
test.same(ee._listeners, { a: [] }, "should remove all listeners of the respective event when calling off(evt)");
|
||||
|
||||
ee.off();
|
||||
test.same(ee._listeners, {}, "should remove all listeners when just calling off()");
|
||||
|
||||
ee.on("a", fn = function(arg1) {
|
||||
test.equal(this, ctx, "should be called with this = ctx");
|
||||
test.equal(arg1, 1, "should be called with arg1 = 1");
|
||||
}, ctx).emit("a", 1);
|
||||
|
||||
ee.off("a", fn);
|
||||
test.same(ee._listeners, { a: [] }, "should remove the exact listener when calling off(evt, fn)");
|
||||
|
||||
ee.on("a", function() {
|
||||
test.equal(this, ee, "should be called with this = ee");
|
||||
}).emit("a");
|
||||
|
||||
test.doesNotThrow(function() {
|
||||
ee.off("a", fn);
|
||||
}, "should not throw if no such listener is found");
|
||||
|
||||
test.end();
|
||||
});
|
||||
26
Tools/OSS/game-upload-function/node_modules/@protobufjs/fetch/LICENSE
generated
vendored
26
Tools/OSS/game-upload-function/node_modules/@protobufjs/fetch/LICENSE
generated
vendored
@ -1,26 +0,0 @@
|
||||
Copyright (c) 2016, Daniel Wirtz All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
* Neither the name of its author, nor the names of its contributors
|
||||
may be used to endorse or promote products derived from this software
|
||||
without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
13
Tools/OSS/game-upload-function/node_modules/@protobufjs/fetch/README.md
generated
vendored
13
Tools/OSS/game-upload-function/node_modules/@protobufjs/fetch/README.md
generated
vendored
@ -1,13 +0,0 @@
|
||||
@protobufjs/fetch
|
||||
=================
|
||||
[](https://www.npmjs.com/package/@protobufjs/fetch)
|
||||
|
||||
Fetches the contents of a file accross node and browsers.
|
||||
|
||||
API
|
||||
---
|
||||
|
||||
* **fetch(path: `string`, [options: { binary: boolean } ], [callback: `function(error: ?Error, [contents: string])`]): `Promise<string|Uint8Array>|undefined`**
|
||||
Fetches the contents of a file.
|
||||
|
||||
**License:** [BSD 3-Clause License](https://opensource.org/licenses/BSD-3-Clause)
|
||||
56
Tools/OSS/game-upload-function/node_modules/@protobufjs/fetch/index.d.ts
generated
vendored
56
Tools/OSS/game-upload-function/node_modules/@protobufjs/fetch/index.d.ts
generated
vendored
@ -1,56 +0,0 @@
|
||||
export = fetch;
|
||||
|
||||
/**
|
||||
* Node-style callback as used by {@link util.fetch}.
|
||||
* @typedef FetchCallback
|
||||
* @type {function}
|
||||
* @param {?Error} error Error, if any, otherwise `null`
|
||||
* @param {string} [contents] File contents, if there hasn't been an error
|
||||
* @returns {undefined}
|
||||
*/
|
||||
type FetchCallback = (error: Error, contents?: string) => void;
|
||||
|
||||
/**
|
||||
* Options as used by {@link util.fetch}.
|
||||
* @typedef FetchOptions
|
||||
* @type {Object}
|
||||
* @property {boolean} [binary=false] Whether expecting a binary response
|
||||
* @property {boolean} [xhr=false] If `true`, forces the use of XMLHttpRequest
|
||||
*/
|
||||
|
||||
interface FetchOptions {
|
||||
binary?: boolean;
|
||||
xhr?: boolean
|
||||
}
|
||||
|
||||
/**
|
||||
* Fetches the contents of a file.
|
||||
* @memberof util
|
||||
* @param {string} filename File path or url
|
||||
* @param {FetchOptions} options Fetch options
|
||||
* @param {FetchCallback} callback Callback function
|
||||
* @returns {undefined}
|
||||
*/
|
||||
declare function fetch(filename: string, options: FetchOptions, callback: FetchCallback): void;
|
||||
|
||||
/**
|
||||
* Fetches the contents of a file.
|
||||
* @name util.fetch
|
||||
* @function
|
||||
* @param {string} path File path or url
|
||||
* @param {FetchCallback} callback Callback function
|
||||
* @returns {undefined}
|
||||
* @variation 2
|
||||
*/
|
||||
declare function fetch(path: string, callback: FetchCallback): void;
|
||||
|
||||
/**
|
||||
* Fetches the contents of a file.
|
||||
* @name util.fetch
|
||||
* @function
|
||||
* @param {string} path File path or url
|
||||
* @param {FetchOptions} [options] Fetch options
|
||||
* @returns {Promise<string|Uint8Array>} Promise
|
||||
* @variation 3
|
||||
*/
|
||||
declare function fetch(path: string, options?: FetchOptions): Promise<(string|Uint8Array)>;
|
||||
115
Tools/OSS/game-upload-function/node_modules/@protobufjs/fetch/index.js
generated
vendored
115
Tools/OSS/game-upload-function/node_modules/@protobufjs/fetch/index.js
generated
vendored
@ -1,115 +0,0 @@
|
||||
"use strict";
|
||||
module.exports = fetch;
|
||||
|
||||
var asPromise = require("@protobufjs/aspromise"),
|
||||
inquire = require("@protobufjs/inquire");
|
||||
|
||||
var fs = inquire("fs");
|
||||
|
||||
/**
|
||||
* Node-style callback as used by {@link util.fetch}.
|
||||
* @typedef FetchCallback
|
||||
* @type {function}
|
||||
* @param {?Error} error Error, if any, otherwise `null`
|
||||
* @param {string} [contents] File contents, if there hasn't been an error
|
||||
* @returns {undefined}
|
||||
*/
|
||||
|
||||
/**
|
||||
* Options as used by {@link util.fetch}.
|
||||
* @typedef FetchOptions
|
||||
* @type {Object}
|
||||
* @property {boolean} [binary=false] Whether expecting a binary response
|
||||
* @property {boolean} [xhr=false] If `true`, forces the use of XMLHttpRequest
|
||||
*/
|
||||
|
||||
/**
|
||||
* Fetches the contents of a file.
|
||||
* @memberof util
|
||||
* @param {string} filename File path or url
|
||||
* @param {FetchOptions} options Fetch options
|
||||
* @param {FetchCallback} callback Callback function
|
||||
* @returns {undefined}
|
||||
*/
|
||||
function fetch(filename, options, callback) {
|
||||
if (typeof options === "function") {
|
||||
callback = options;
|
||||
options = {};
|
||||
} else if (!options)
|
||||
options = {};
|
||||
|
||||
if (!callback)
|
||||
return asPromise(fetch, this, filename, options); // eslint-disable-line no-invalid-this
|
||||
|
||||
// if a node-like filesystem is present, try it first but fall back to XHR if nothing is found.
|
||||
if (!options.xhr && fs && fs.readFile)
|
||||
return fs.readFile(filename, function fetchReadFileCallback(err, contents) {
|
||||
return err && typeof XMLHttpRequest !== "undefined"
|
||||
? fetch.xhr(filename, options, callback)
|
||||
: err
|
||||
? callback(err)
|
||||
: callback(null, options.binary ? contents : contents.toString("utf8"));
|
||||
});
|
||||
|
||||
// use the XHR version otherwise.
|
||||
return fetch.xhr(filename, options, callback);
|
||||
}
|
||||
|
||||
/**
|
||||
* Fetches the contents of a file.
|
||||
* @name util.fetch
|
||||
* @function
|
||||
* @param {string} path File path or url
|
||||
* @param {FetchCallback} callback Callback function
|
||||
* @returns {undefined}
|
||||
* @variation 2
|
||||
*/
|
||||
|
||||
/**
|
||||
* Fetches the contents of a file.
|
||||
* @name util.fetch
|
||||
* @function
|
||||
* @param {string} path File path or url
|
||||
* @param {FetchOptions} [options] Fetch options
|
||||
* @returns {Promise<string|Uint8Array>} Promise
|
||||
* @variation 3
|
||||
*/
|
||||
|
||||
/**/
|
||||
fetch.xhr = function fetch_xhr(filename, options, callback) {
|
||||
var xhr = new XMLHttpRequest();
|
||||
xhr.onreadystatechange /* works everywhere */ = function fetchOnReadyStateChange() {
|
||||
|
||||
if (xhr.readyState !== 4)
|
||||
return undefined;
|
||||
|
||||
// local cors security errors return status 0 / empty string, too. afaik this cannot be
|
||||
// reliably distinguished from an actually empty file for security reasons. feel free
|
||||
// to send a pull request if you are aware of a solution.
|
||||
if (xhr.status !== 0 && xhr.status !== 200)
|
||||
return callback(Error("status " + xhr.status));
|
||||
|
||||
// if binary data is expected, make sure that some sort of array is returned, even if
|
||||
// ArrayBuffers are not supported. the binary string fallback, however, is unsafe.
|
||||
if (options.binary) {
|
||||
var buffer = xhr.response;
|
||||
if (!buffer) {
|
||||
buffer = [];
|
||||
for (var i = 0; i < xhr.responseText.length; ++i)
|
||||
buffer.push(xhr.responseText.charCodeAt(i) & 255);
|
||||
}
|
||||
return callback(null, typeof Uint8Array !== "undefined" ? new Uint8Array(buffer) : buffer);
|
||||
}
|
||||
return callback(null, xhr.responseText);
|
||||
};
|
||||
|
||||
if (options.binary) {
|
||||
// ref: https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/Sending_and_Receiving_Binary_Data#Receiving_binary_data_in_older_browsers
|
||||
if ("overrideMimeType" in xhr)
|
||||
xhr.overrideMimeType("text/plain; charset=x-user-defined");
|
||||
xhr.responseType = "arraybuffer";
|
||||
}
|
||||
|
||||
xhr.open("GET", filename);
|
||||
xhr.send();
|
||||
};
|
||||
25
Tools/OSS/game-upload-function/node_modules/@protobufjs/fetch/package.json
generated
vendored
25
Tools/OSS/game-upload-function/node_modules/@protobufjs/fetch/package.json
generated
vendored
@ -1,25 +0,0 @@
|
||||
{
|
||||
"name": "@protobufjs/fetch",
|
||||
"description": "Fetches the contents of a file accross node and browsers.",
|
||||
"version": "1.1.0",
|
||||
"author": "Daniel Wirtz <dcode+protobufjs@dcode.io>",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/dcodeIO/protobuf.js.git"
|
||||
},
|
||||
"dependencies": {
|
||||
"@protobufjs/aspromise": "^1.1.1",
|
||||
"@protobufjs/inquire": "^1.1.0"
|
||||
},
|
||||
"license": "BSD-3-Clause",
|
||||
"main": "index.js",
|
||||
"types": "index.d.ts",
|
||||
"devDependencies": {
|
||||
"istanbul": "^0.4.5",
|
||||
"tape": "^4.6.3"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "tape tests/*.js",
|
||||
"coverage": "istanbul cover node_modules/tape/bin/tape tests/*.js"
|
||||
}
|
||||
}
|
||||
16
Tools/OSS/game-upload-function/node_modules/@protobufjs/fetch/tests/index.js
generated
vendored
16
Tools/OSS/game-upload-function/node_modules/@protobufjs/fetch/tests/index.js
generated
vendored
@ -1,16 +0,0 @@
|
||||
var tape = require("tape");
|
||||
|
||||
var fetch = require("..");
|
||||
|
||||
tape.test("fetch", function(test) {
|
||||
|
||||
if (typeof Promise !== "undefined") {
|
||||
var promise = fetch("NOTFOUND");
|
||||
promise.catch(function() {});
|
||||
test.ok(promise instanceof Promise, "should return a promise if callback has been omitted");
|
||||
}
|
||||
|
||||
// TODO - some way to test this properly?
|
||||
|
||||
test.end();
|
||||
});
|
||||
26
Tools/OSS/game-upload-function/node_modules/@protobufjs/float/LICENSE
generated
vendored
26
Tools/OSS/game-upload-function/node_modules/@protobufjs/float/LICENSE
generated
vendored
@ -1,26 +0,0 @@
|
||||
Copyright (c) 2016, Daniel Wirtz All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
* Neither the name of its author, nor the names of its contributors
|
||||
may be used to endorse or promote products derived from this software
|
||||
without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
102
Tools/OSS/game-upload-function/node_modules/@protobufjs/float/README.md
generated
vendored
102
Tools/OSS/game-upload-function/node_modules/@protobufjs/float/README.md
generated
vendored
@ -1,102 +0,0 @@
|
||||
@protobufjs/float
|
||||
=================
|
||||
[](https://www.npmjs.com/package/@protobufjs/float)
|
||||
|
||||
Reads / writes floats / doubles from / to buffers in both modern and ancient browsers. Fast.
|
||||
|
||||
API
|
||||
---
|
||||
|
||||
* **writeFloatLE(val: `number`, buf: `Uint8Array`, pos: `number`)**<br />
|
||||
Writes a 32 bit float to a buffer using little endian byte order.
|
||||
|
||||
* **writeFloatBE(val: `number`, buf: `Uint8Array`, pos: `number`)**<br />
|
||||
Writes a 32 bit float to a buffer using big endian byte order.
|
||||
|
||||
* **readFloatLE(buf: `Uint8Array`, pos: `number`): `number`**<br />
|
||||
Reads a 32 bit float from a buffer using little endian byte order.
|
||||
|
||||
* **readFloatBE(buf: `Uint8Array`, pos: `number`): `number`**<br />
|
||||
Reads a 32 bit float from a buffer using big endian byte order.
|
||||
|
||||
* **writeDoubleLE(val: `number`, buf: `Uint8Array`, pos: `number`)**<br />
|
||||
Writes a 64 bit double to a buffer using little endian byte order.
|
||||
|
||||
* **writeDoubleBE(val: `number`, buf: `Uint8Array`, pos: `number`)**<br />
|
||||
Writes a 64 bit double to a buffer using big endian byte order.
|
||||
|
||||
* **readDoubleLE(buf: `Uint8Array`, pos: `number`): `number`**<br />
|
||||
Reads a 64 bit double from a buffer using little endian byte order.
|
||||
|
||||
* **readDoubleBE(buf: `Uint8Array`, pos: `number`): `number`**<br />
|
||||
Reads a 64 bit double from a buffer using big endian byte order.
|
||||
|
||||
Performance
|
||||
-----------
|
||||
There is a simple benchmark included comparing raw read/write performance of this library (float), float's fallback for old browsers, the [ieee754](https://www.npmjs.com/package/ieee754) module and node's [buffer](https://nodejs.org/api/buffer.html). On an i7-2600k running node 6.9.1 it yields:
|
||||
|
||||
```
|
||||
benchmarking writeFloat performance ...
|
||||
|
||||
float x 42,741,625 ops/sec ±1.75% (81 runs sampled)
|
||||
float (fallback) x 11,272,532 ops/sec ±1.12% (85 runs sampled)
|
||||
ieee754 x 8,653,337 ops/sec ±1.18% (84 runs sampled)
|
||||
buffer x 12,412,414 ops/sec ±1.41% (83 runs sampled)
|
||||
buffer (noAssert) x 13,471,149 ops/sec ±1.09% (84 runs sampled)
|
||||
|
||||
float was fastest
|
||||
float (fallback) was 73.5% slower
|
||||
ieee754 was 79.6% slower
|
||||
buffer was 70.9% slower
|
||||
buffer (noAssert) was 68.3% slower
|
||||
|
||||
benchmarking readFloat performance ...
|
||||
|
||||
float x 44,382,729 ops/sec ±1.70% (84 runs sampled)
|
||||
float (fallback) x 20,925,938 ops/sec ±0.86% (87 runs sampled)
|
||||
ieee754 x 17,189,009 ops/sec ±1.01% (87 runs sampled)
|
||||
buffer x 10,518,437 ops/sec ±1.04% (83 runs sampled)
|
||||
buffer (noAssert) x 11,031,636 ops/sec ±1.15% (87 runs sampled)
|
||||
|
||||
float was fastest
|
||||
float (fallback) was 52.5% slower
|
||||
ieee754 was 61.0% slower
|
||||
buffer was 76.1% slower
|
||||
buffer (noAssert) was 75.0% slower
|
||||
|
||||
benchmarking writeDouble performance ...
|
||||
|
||||
float x 38,624,906 ops/sec ±0.93% (83 runs sampled)
|
||||
float (fallback) x 10,457,811 ops/sec ±1.54% (85 runs sampled)
|
||||
ieee754 x 7,681,130 ops/sec ±1.11% (83 runs sampled)
|
||||
buffer x 12,657,876 ops/sec ±1.03% (83 runs sampled)
|
||||
buffer (noAssert) x 13,372,795 ops/sec ±0.84% (85 runs sampled)
|
||||
|
||||
float was fastest
|
||||
float (fallback) was 73.1% slower
|
||||
ieee754 was 80.1% slower
|
||||
buffer was 67.3% slower
|
||||
buffer (noAssert) was 65.3% slower
|
||||
|
||||
benchmarking readDouble performance ...
|
||||
|
||||
float x 40,527,888 ops/sec ±1.05% (84 runs sampled)
|
||||
float (fallback) x 18,696,480 ops/sec ±0.84% (86 runs sampled)
|
||||
ieee754 x 14,074,028 ops/sec ±1.04% (87 runs sampled)
|
||||
buffer x 10,092,367 ops/sec ±1.15% (84 runs sampled)
|
||||
buffer (noAssert) x 10,623,793 ops/sec ±0.96% (84 runs sampled)
|
||||
|
||||
float was fastest
|
||||
float (fallback) was 53.8% slower
|
||||
ieee754 was 65.3% slower
|
||||
buffer was 75.1% slower
|
||||
buffer (noAssert) was 73.8% slower
|
||||
```
|
||||
|
||||
To run it yourself:
|
||||
|
||||
```
|
||||
$> npm run bench
|
||||
```
|
||||
|
||||
**License:** [BSD 3-Clause License](https://opensource.org/licenses/BSD-3-Clause)
|
||||
87
Tools/OSS/game-upload-function/node_modules/@protobufjs/float/bench/index.js
generated
vendored
87
Tools/OSS/game-upload-function/node_modules/@protobufjs/float/bench/index.js
generated
vendored
@ -1,87 +0,0 @@
|
||||
"use strict";
|
||||
|
||||
var float = require(".."),
|
||||
ieee754 = require("ieee754"),
|
||||
newSuite = require("./suite");
|
||||
|
||||
var F32 = Float32Array;
|
||||
var F64 = Float64Array;
|
||||
delete global.Float32Array;
|
||||
delete global.Float64Array;
|
||||
var floatFallback = float({});
|
||||
global.Float32Array = F32;
|
||||
global.Float64Array = F64;
|
||||
|
||||
var buf = new Buffer(8);
|
||||
|
||||
newSuite("writeFloat")
|
||||
.add("float", function() {
|
||||
float.writeFloatLE(0.1, buf, 0);
|
||||
})
|
||||
.add("float (fallback)", function() {
|
||||
floatFallback.writeFloatLE(0.1, buf, 0);
|
||||
})
|
||||
.add("ieee754", function() {
|
||||
ieee754.write(buf, 0.1, 0, true, 23, 4);
|
||||
})
|
||||
.add("buffer", function() {
|
||||
buf.writeFloatLE(0.1, 0);
|
||||
})
|
||||
.add("buffer (noAssert)", function() {
|
||||
buf.writeFloatLE(0.1, 0, true);
|
||||
})
|
||||
.run();
|
||||
|
||||
newSuite("readFloat")
|
||||
.add("float", function() {
|
||||
float.readFloatLE(buf, 0);
|
||||
})
|
||||
.add("float (fallback)", function() {
|
||||
floatFallback.readFloatLE(buf, 0);
|
||||
})
|
||||
.add("ieee754", function() {
|
||||
ieee754.read(buf, 0, true, 23, 4);
|
||||
})
|
||||
.add("buffer", function() {
|
||||
buf.readFloatLE(0);
|
||||
})
|
||||
.add("buffer (noAssert)", function() {
|
||||
buf.readFloatLE(0, true);
|
||||
})
|
||||
.run();
|
||||
|
||||
newSuite("writeDouble")
|
||||
.add("float", function() {
|
||||
float.writeDoubleLE(0.1, buf, 0);
|
||||
})
|
||||
.add("float (fallback)", function() {
|
||||
floatFallback.writeDoubleLE(0.1, buf, 0);
|
||||
})
|
||||
.add("ieee754", function() {
|
||||
ieee754.write(buf, 0.1, 0, true, 52, 8);
|
||||
})
|
||||
.add("buffer", function() {
|
||||
buf.writeDoubleLE(0.1, 0);
|
||||
})
|
||||
.add("buffer (noAssert)", function() {
|
||||
buf.writeDoubleLE(0.1, 0, true);
|
||||
})
|
||||
.run();
|
||||
|
||||
newSuite("readDouble")
|
||||
.add("float", function() {
|
||||
float.readDoubleLE(buf, 0);
|
||||
})
|
||||
.add("float (fallback)", function() {
|
||||
floatFallback.readDoubleLE(buf, 0);
|
||||
})
|
||||
.add("ieee754", function() {
|
||||
ieee754.read(buf, 0, true, 52, 8);
|
||||
})
|
||||
.add("buffer", function() {
|
||||
buf.readDoubleLE(0);
|
||||
})
|
||||
.add("buffer (noAssert)", function() {
|
||||
buf.readDoubleLE(0, true);
|
||||
})
|
||||
.run();
|
||||
46
Tools/OSS/game-upload-function/node_modules/@protobufjs/float/bench/suite.js
generated
vendored
46
Tools/OSS/game-upload-function/node_modules/@protobufjs/float/bench/suite.js
generated
vendored
@ -1,46 +0,0 @@
|
||||
"use strict";
|
||||
module.exports = newSuite;
|
||||
|
||||
var benchmark = require("benchmark"),
|
||||
chalk = require("chalk");
|
||||
|
||||
var padSize = 27;
|
||||
|
||||
function newSuite(name) {
|
||||
var benches = [];
|
||||
return new benchmark.Suite(name)
|
||||
.on("add", function(event) {
|
||||
benches.push(event.target);
|
||||
})
|
||||
.on("start", function() {
|
||||
process.stdout.write("benchmarking " + name + " performance ...\n\n");
|
||||
})
|
||||
.on("cycle", function(event) {
|
||||
process.stdout.write(String(event.target) + "\n");
|
||||
})
|
||||
.on("complete", function() {
|
||||
if (benches.length > 1) {
|
||||
var fastest = this.filter("fastest"), // eslint-disable-line no-invalid-this
|
||||
fastestHz = getHz(fastest[0]);
|
||||
process.stdout.write("\n" + chalk.white(pad(fastest[0].name, padSize)) + " was " + chalk.green("fastest") + "\n");
|
||||
benches.forEach(function(bench) {
|
||||
if (fastest.indexOf(bench) === 0)
|
||||
return;
|
||||
var hz = hz = getHz(bench);
|
||||
var percent = (1 - hz / fastestHz) * 100;
|
||||
process.stdout.write(chalk.white(pad(bench.name, padSize)) + " was " + chalk.red(percent.toFixed(1) + "% slower") + "\n");
|
||||
});
|
||||
}
|
||||
process.stdout.write("\n");
|
||||
});
|
||||
}
|
||||
|
||||
function getHz(bench) {
|
||||
return 1 / (bench.stats.mean + bench.stats.moe);
|
||||
}
|
||||
|
||||
function pad(str, len, l) {
|
||||
while (str.length < len)
|
||||
str = l ? str + " " : " " + str;
|
||||
return str;
|
||||
}
|
||||
83
Tools/OSS/game-upload-function/node_modules/@protobufjs/float/index.d.ts
generated
vendored
83
Tools/OSS/game-upload-function/node_modules/@protobufjs/float/index.d.ts
generated
vendored
@ -1,83 +0,0 @@
|
||||
/**
|
||||
* Writes a 32 bit float to a buffer using little endian byte order.
|
||||
* @name writeFloatLE
|
||||
* @function
|
||||
* @param {number} val Value to write
|
||||
* @param {Uint8Array} buf Target buffer
|
||||
* @param {number} pos Target buffer offset
|
||||
* @returns {undefined}
|
||||
*/
|
||||
export function writeFloatLE(val: number, buf: Uint8Array, pos: number): void;
|
||||
|
||||
/**
|
||||
* Writes a 32 bit float to a buffer using big endian byte order.
|
||||
* @name writeFloatBE
|
||||
* @function
|
||||
* @param {number} val Value to write
|
||||
* @param {Uint8Array} buf Target buffer
|
||||
* @param {number} pos Target buffer offset
|
||||
* @returns {undefined}
|
||||
*/
|
||||
export function writeFloatBE(val: number, buf: Uint8Array, pos: number): void;
|
||||
|
||||
/**
|
||||
* Reads a 32 bit float from a buffer using little endian byte order.
|
||||
* @name readFloatLE
|
||||
* @function
|
||||
* @param {Uint8Array} buf Source buffer
|
||||
* @param {number} pos Source buffer offset
|
||||
* @returns {number} Value read
|
||||
*/
|
||||
export function readFloatLE(buf: Uint8Array, pos: number): number;
|
||||
|
||||
/**
|
||||
* Reads a 32 bit float from a buffer using big endian byte order.
|
||||
* @name readFloatBE
|
||||
* @function
|
||||
* @param {Uint8Array} buf Source buffer
|
||||
* @param {number} pos Source buffer offset
|
||||
* @returns {number} Value read
|
||||
*/
|
||||
export function readFloatBE(buf: Uint8Array, pos: number): number;
|
||||
|
||||
/**
|
||||
* Writes a 64 bit double to a buffer using little endian byte order.
|
||||
* @name writeDoubleLE
|
||||
* @function
|
||||
* @param {number} val Value to write
|
||||
* @param {Uint8Array} buf Target buffer
|
||||
* @param {number} pos Target buffer offset
|
||||
* @returns {undefined}
|
||||
*/
|
||||
export function writeDoubleLE(val: number, buf: Uint8Array, pos: number): void;
|
||||
|
||||
/**
|
||||
* Writes a 64 bit double to a buffer using big endian byte order.
|
||||
* @name writeDoubleBE
|
||||
* @function
|
||||
* @param {number} val Value to write
|
||||
* @param {Uint8Array} buf Target buffer
|
||||
* @param {number} pos Target buffer offset
|
||||
* @returns {undefined}
|
||||
*/
|
||||
export function writeDoubleBE(val: number, buf: Uint8Array, pos: number): void;
|
||||
|
||||
/**
|
||||
* Reads a 64 bit double from a buffer using little endian byte order.
|
||||
* @name readDoubleLE
|
||||
* @function
|
||||
* @param {Uint8Array} buf Source buffer
|
||||
* @param {number} pos Source buffer offset
|
||||
* @returns {number} Value read
|
||||
*/
|
||||
export function readDoubleLE(buf: Uint8Array, pos: number): number;
|
||||
|
||||
/**
|
||||
* Reads a 64 bit double from a buffer using big endian byte order.
|
||||
* @name readDoubleBE
|
||||
* @function
|
||||
* @param {Uint8Array} buf Source buffer
|
||||
* @param {number} pos Source buffer offset
|
||||
* @returns {number} Value read
|
||||
*/
|
||||
export function readDoubleBE(buf: Uint8Array, pos: number): number;
|
||||
335
Tools/OSS/game-upload-function/node_modules/@protobufjs/float/index.js
generated
vendored
335
Tools/OSS/game-upload-function/node_modules/@protobufjs/float/index.js
generated
vendored
@ -1,335 +0,0 @@
|
||||
"use strict";
|
||||
|
||||
module.exports = factory(factory);
|
||||
|
||||
/**
|
||||
* Reads / writes floats / doubles from / to buffers.
|
||||
* @name util.float
|
||||
* @namespace
|
||||
*/
|
||||
|
||||
/**
|
||||
* Writes a 32 bit float to a buffer using little endian byte order.
|
||||
* @name util.float.writeFloatLE
|
||||
* @function
|
||||
* @param {number} val Value to write
|
||||
* @param {Uint8Array} buf Target buffer
|
||||
* @param {number} pos Target buffer offset
|
||||
* @returns {undefined}
|
||||
*/
|
||||
|
||||
/**
|
||||
* Writes a 32 bit float to a buffer using big endian byte order.
|
||||
* @name util.float.writeFloatBE
|
||||
* @function
|
||||
* @param {number} val Value to write
|
||||
* @param {Uint8Array} buf Target buffer
|
||||
* @param {number} pos Target buffer offset
|
||||
* @returns {undefined}
|
||||
*/
|
||||
|
||||
/**
|
||||
* Reads a 32 bit float from a buffer using little endian byte order.
|
||||
* @name util.float.readFloatLE
|
||||
* @function
|
||||
* @param {Uint8Array} buf Source buffer
|
||||
* @param {number} pos Source buffer offset
|
||||
* @returns {number} Value read
|
||||
*/
|
||||
|
||||
/**
|
||||
* Reads a 32 bit float from a buffer using big endian byte order.
|
||||
* @name util.float.readFloatBE
|
||||
* @function
|
||||
* @param {Uint8Array} buf Source buffer
|
||||
* @param {number} pos Source buffer offset
|
||||
* @returns {number} Value read
|
||||
*/
|
||||
|
||||
/**
|
||||
* Writes a 64 bit double to a buffer using little endian byte order.
|
||||
* @name util.float.writeDoubleLE
|
||||
* @function
|
||||
* @param {number} val Value to write
|
||||
* @param {Uint8Array} buf Target buffer
|
||||
* @param {number} pos Target buffer offset
|
||||
* @returns {undefined}
|
||||
*/
|
||||
|
||||
/**
|
||||
* Writes a 64 bit double to a buffer using big endian byte order.
|
||||
* @name util.float.writeDoubleBE
|
||||
* @function
|
||||
* @param {number} val Value to write
|
||||
* @param {Uint8Array} buf Target buffer
|
||||
* @param {number} pos Target buffer offset
|
||||
* @returns {undefined}
|
||||
*/
|
||||
|
||||
/**
|
||||
* Reads a 64 bit double from a buffer using little endian byte order.
|
||||
* @name util.float.readDoubleLE
|
||||
* @function
|
||||
* @param {Uint8Array} buf Source buffer
|
||||
* @param {number} pos Source buffer offset
|
||||
* @returns {number} Value read
|
||||
*/
|
||||
|
||||
/**
|
||||
* Reads a 64 bit double from a buffer using big endian byte order.
|
||||
* @name util.float.readDoubleBE
|
||||
* @function
|
||||
* @param {Uint8Array} buf Source buffer
|
||||
* @param {number} pos Source buffer offset
|
||||
* @returns {number} Value read
|
||||
*/
|
||||
|
||||
// Factory function for the purpose of node-based testing in modified global environments
|
||||
function factory(exports) {
|
||||
|
||||
// float: typed array
|
||||
if (typeof Float32Array !== "undefined") (function() {
|
||||
|
||||
var f32 = new Float32Array([ -0 ]),
|
||||
f8b = new Uint8Array(f32.buffer),
|
||||
le = f8b[3] === 128;
|
||||
|
||||
function writeFloat_f32_cpy(val, buf, pos) {
|
||||
f32[0] = val;
|
||||
buf[pos ] = f8b[0];
|
||||
buf[pos + 1] = f8b[1];
|
||||
buf[pos + 2] = f8b[2];
|
||||
buf[pos + 3] = f8b[3];
|
||||
}
|
||||
|
||||
function writeFloat_f32_rev(val, buf, pos) {
|
||||
f32[0] = val;
|
||||
buf[pos ] = f8b[3];
|
||||
buf[pos + 1] = f8b[2];
|
||||
buf[pos + 2] = f8b[1];
|
||||
buf[pos + 3] = f8b[0];
|
||||
}
|
||||
|
||||
/* istanbul ignore next */
|
||||
exports.writeFloatLE = le ? writeFloat_f32_cpy : writeFloat_f32_rev;
|
||||
/* istanbul ignore next */
|
||||
exports.writeFloatBE = le ? writeFloat_f32_rev : writeFloat_f32_cpy;
|
||||
|
||||
function readFloat_f32_cpy(buf, pos) {
|
||||
f8b[0] = buf[pos ];
|
||||
f8b[1] = buf[pos + 1];
|
||||
f8b[2] = buf[pos + 2];
|
||||
f8b[3] = buf[pos + 3];
|
||||
return f32[0];
|
||||
}
|
||||
|
||||
function readFloat_f32_rev(buf, pos) {
|
||||
f8b[3] = buf[pos ];
|
||||
f8b[2] = buf[pos + 1];
|
||||
f8b[1] = buf[pos + 2];
|
||||
f8b[0] = buf[pos + 3];
|
||||
return f32[0];
|
||||
}
|
||||
|
||||
/* istanbul ignore next */
|
||||
exports.readFloatLE = le ? readFloat_f32_cpy : readFloat_f32_rev;
|
||||
/* istanbul ignore next */
|
||||
exports.readFloatBE = le ? readFloat_f32_rev : readFloat_f32_cpy;
|
||||
|
||||
// float: ieee754
|
||||
})(); else (function() {
|
||||
|
||||
function writeFloat_ieee754(writeUint, val, buf, pos) {
|
||||
var sign = val < 0 ? 1 : 0;
|
||||
if (sign)
|
||||
val = -val;
|
||||
if (val === 0)
|
||||
writeUint(1 / val > 0 ? /* positive */ 0 : /* negative 0 */ 2147483648, buf, pos);
|
||||
else if (isNaN(val))
|
||||
writeUint(2143289344, buf, pos);
|
||||
else if (val > 3.4028234663852886e+38) // +-Infinity
|
||||
writeUint((sign << 31 | 2139095040) >>> 0, buf, pos);
|
||||
else if (val < 1.1754943508222875e-38) // denormal
|
||||
writeUint((sign << 31 | Math.round(val / 1.401298464324817e-45)) >>> 0, buf, pos);
|
||||
else {
|
||||
var exponent = Math.floor(Math.log(val) / Math.LN2),
|
||||
mantissa = Math.round(val * Math.pow(2, -exponent) * 8388608) & 8388607;
|
||||
writeUint((sign << 31 | exponent + 127 << 23 | mantissa) >>> 0, buf, pos);
|
||||
}
|
||||
}
|
||||
|
||||
exports.writeFloatLE = writeFloat_ieee754.bind(null, writeUintLE);
|
||||
exports.writeFloatBE = writeFloat_ieee754.bind(null, writeUintBE);
|
||||
|
||||
function readFloat_ieee754(readUint, buf, pos) {
|
||||
var uint = readUint(buf, pos),
|
||||
sign = (uint >> 31) * 2 + 1,
|
||||
exponent = uint >>> 23 & 255,
|
||||
mantissa = uint & 8388607;
|
||||
return exponent === 255
|
||||
? mantissa
|
||||
? NaN
|
||||
: sign * Infinity
|
||||
: exponent === 0 // denormal
|
||||
? sign * 1.401298464324817e-45 * mantissa
|
||||
: sign * Math.pow(2, exponent - 150) * (mantissa + 8388608);
|
||||
}
|
||||
|
||||
exports.readFloatLE = readFloat_ieee754.bind(null, readUintLE);
|
||||
exports.readFloatBE = readFloat_ieee754.bind(null, readUintBE);
|
||||
|
||||
})();
|
||||
|
||||
// double: typed array
|
||||
if (typeof Float64Array !== "undefined") (function() {
|
||||
|
||||
var f64 = new Float64Array([-0]),
|
||||
f8b = new Uint8Array(f64.buffer),
|
||||
le = f8b[7] === 128;
|
||||
|
||||
function writeDouble_f64_cpy(val, buf, pos) {
|
||||
f64[0] = val;
|
||||
buf[pos ] = f8b[0];
|
||||
buf[pos + 1] = f8b[1];
|
||||
buf[pos + 2] = f8b[2];
|
||||
buf[pos + 3] = f8b[3];
|
||||
buf[pos + 4] = f8b[4];
|
||||
buf[pos + 5] = f8b[5];
|
||||
buf[pos + 6] = f8b[6];
|
||||
buf[pos + 7] = f8b[7];
|
||||
}
|
||||
|
||||
function writeDouble_f64_rev(val, buf, pos) {
|
||||
f64[0] = val;
|
||||
buf[pos ] = f8b[7];
|
||||
buf[pos + 1] = f8b[6];
|
||||
buf[pos + 2] = f8b[5];
|
||||
buf[pos + 3] = f8b[4];
|
||||
buf[pos + 4] = f8b[3];
|
||||
buf[pos + 5] = f8b[2];
|
||||
buf[pos + 6] = f8b[1];
|
||||
buf[pos + 7] = f8b[0];
|
||||
}
|
||||
|
||||
/* istanbul ignore next */
|
||||
exports.writeDoubleLE = le ? writeDouble_f64_cpy : writeDouble_f64_rev;
|
||||
/* istanbul ignore next */
|
||||
exports.writeDoubleBE = le ? writeDouble_f64_rev : writeDouble_f64_cpy;
|
||||
|
||||
function readDouble_f64_cpy(buf, pos) {
|
||||
f8b[0] = buf[pos ];
|
||||
f8b[1] = buf[pos + 1];
|
||||
f8b[2] = buf[pos + 2];
|
||||
f8b[3] = buf[pos + 3];
|
||||
f8b[4] = buf[pos + 4];
|
||||
f8b[5] = buf[pos + 5];
|
||||
f8b[6] = buf[pos + 6];
|
||||
f8b[7] = buf[pos + 7];
|
||||
return f64[0];
|
||||
}
|
||||
|
||||
function readDouble_f64_rev(buf, pos) {
|
||||
f8b[7] = buf[pos ];
|
||||
f8b[6] = buf[pos + 1];
|
||||
f8b[5] = buf[pos + 2];
|
||||
f8b[4] = buf[pos + 3];
|
||||
f8b[3] = buf[pos + 4];
|
||||
f8b[2] = buf[pos + 5];
|
||||
f8b[1] = buf[pos + 6];
|
||||
f8b[0] = buf[pos + 7];
|
||||
return f64[0];
|
||||
}
|
||||
|
||||
/* istanbul ignore next */
|
||||
exports.readDoubleLE = le ? readDouble_f64_cpy : readDouble_f64_rev;
|
||||
/* istanbul ignore next */
|
||||
exports.readDoubleBE = le ? readDouble_f64_rev : readDouble_f64_cpy;
|
||||
|
||||
// double: ieee754
|
||||
})(); else (function() {
|
||||
|
||||
function writeDouble_ieee754(writeUint, off0, off1, val, buf, pos) {
|
||||
var sign = val < 0 ? 1 : 0;
|
||||
if (sign)
|
||||
val = -val;
|
||||
if (val === 0) {
|
||||
writeUint(0, buf, pos + off0);
|
||||
writeUint(1 / val > 0 ? /* positive */ 0 : /* negative 0 */ 2147483648, buf, pos + off1);
|
||||
} else if (isNaN(val)) {
|
||||
writeUint(0, buf, pos + off0);
|
||||
writeUint(2146959360, buf, pos + off1);
|
||||
} else if (val > 1.7976931348623157e+308) { // +-Infinity
|
||||
writeUint(0, buf, pos + off0);
|
||||
writeUint((sign << 31 | 2146435072) >>> 0, buf, pos + off1);
|
||||
} else {
|
||||
var mantissa;
|
||||
if (val < 2.2250738585072014e-308) { // denormal
|
||||
mantissa = val / 5e-324;
|
||||
writeUint(mantissa >>> 0, buf, pos + off0);
|
||||
writeUint((sign << 31 | mantissa / 4294967296) >>> 0, buf, pos + off1);
|
||||
} else {
|
||||
var exponent = Math.floor(Math.log(val) / Math.LN2);
|
||||
if (exponent === 1024)
|
||||
exponent = 1023;
|
||||
mantissa = val * Math.pow(2, -exponent);
|
||||
writeUint(mantissa * 4503599627370496 >>> 0, buf, pos + off0);
|
||||
writeUint((sign << 31 | exponent + 1023 << 20 | mantissa * 1048576 & 1048575) >>> 0, buf, pos + off1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
exports.writeDoubleLE = writeDouble_ieee754.bind(null, writeUintLE, 0, 4);
|
||||
exports.writeDoubleBE = writeDouble_ieee754.bind(null, writeUintBE, 4, 0);
|
||||
|
||||
function readDouble_ieee754(readUint, off0, off1, buf, pos) {
|
||||
var lo = readUint(buf, pos + off0),
|
||||
hi = readUint(buf, pos + off1);
|
||||
var sign = (hi >> 31) * 2 + 1,
|
||||
exponent = hi >>> 20 & 2047,
|
||||
mantissa = 4294967296 * (hi & 1048575) + lo;
|
||||
return exponent === 2047
|
||||
? mantissa
|
||||
? NaN
|
||||
: sign * Infinity
|
||||
: exponent === 0 // denormal
|
||||
? sign * 5e-324 * mantissa
|
||||
: sign * Math.pow(2, exponent - 1075) * (mantissa + 4503599627370496);
|
||||
}
|
||||
|
||||
exports.readDoubleLE = readDouble_ieee754.bind(null, readUintLE, 0, 4);
|
||||
exports.readDoubleBE = readDouble_ieee754.bind(null, readUintBE, 4, 0);
|
||||
|
||||
})();
|
||||
|
||||
return exports;
|
||||
}
|
||||
|
||||
// uint helpers
|
||||
|
||||
function writeUintLE(val, buf, pos) {
|
||||
buf[pos ] = val & 255;
|
||||
buf[pos + 1] = val >>> 8 & 255;
|
||||
buf[pos + 2] = val >>> 16 & 255;
|
||||
buf[pos + 3] = val >>> 24;
|
||||
}
|
||||
|
||||
function writeUintBE(val, buf, pos) {
|
||||
buf[pos ] = val >>> 24;
|
||||
buf[pos + 1] = val >>> 16 & 255;
|
||||
buf[pos + 2] = val >>> 8 & 255;
|
||||
buf[pos + 3] = val & 255;
|
||||
}
|
||||
|
||||
function readUintLE(buf, pos) {
|
||||
return (buf[pos ]
|
||||
| buf[pos + 1] << 8
|
||||
| buf[pos + 2] << 16
|
||||
| buf[pos + 3] << 24) >>> 0;
|
||||
}
|
||||
|
||||
function readUintBE(buf, pos) {
|
||||
return (buf[pos ] << 24
|
||||
| buf[pos + 1] << 16
|
||||
| buf[pos + 2] << 8
|
||||
| buf[pos + 3]) >>> 0;
|
||||
}
|
||||
26
Tools/OSS/game-upload-function/node_modules/@protobufjs/float/package.json
generated
vendored
26
Tools/OSS/game-upload-function/node_modules/@protobufjs/float/package.json
generated
vendored
@ -1,26 +0,0 @@
|
||||
{
|
||||
"name": "@protobufjs/float",
|
||||
"description": "Reads / writes floats / doubles from / to buffers in both modern and ancient browsers.",
|
||||
"version": "1.0.2",
|
||||
"author": "Daniel Wirtz <dcode+protobufjs@dcode.io>",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/dcodeIO/protobuf.js.git"
|
||||
},
|
||||
"dependencies": {},
|
||||
"license": "BSD-3-Clause",
|
||||
"main": "index.js",
|
||||
"types": "index.d.ts",
|
||||
"devDependencies": {
|
||||
"benchmark": "^2.1.4",
|
||||
"chalk": "^1.1.3",
|
||||
"ieee754": "^1.1.8",
|
||||
"istanbul": "^0.4.5",
|
||||
"tape": "^4.6.3"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "tape tests/*.js",
|
||||
"coverage": "istanbul cover node_modules/tape/bin/tape tests/*.js",
|
||||
"bench": "node bench"
|
||||
}
|
||||
}
|
||||
100
Tools/OSS/game-upload-function/node_modules/@protobufjs/float/tests/index.js
generated
vendored
100
Tools/OSS/game-upload-function/node_modules/@protobufjs/float/tests/index.js
generated
vendored
@ -1,100 +0,0 @@
|
||||
var tape = require("tape");
|
||||
|
||||
var float = require("..");
|
||||
|
||||
tape.test("float", function(test) {
|
||||
|
||||
// default
|
||||
test.test(test.name + " - typed array", function(test) {
|
||||
runTest(float, test);
|
||||
});
|
||||
|
||||
// ieee754
|
||||
test.test(test.name + " - fallback", function(test) {
|
||||
var F32 = global.Float32Array,
|
||||
F64 = global.Float64Array;
|
||||
delete global.Float32Array;
|
||||
delete global.Float64Array;
|
||||
runTest(float({}), test);
|
||||
global.Float32Array = F32;
|
||||
global.Float64Array = F64;
|
||||
});
|
||||
});
|
||||
|
||||
function runTest(float, test) {
|
||||
|
||||
var common = [
|
||||
0,
|
||||
-0,
|
||||
Infinity,
|
||||
-Infinity,
|
||||
0.125,
|
||||
1024.5,
|
||||
-4096.5,
|
||||
NaN
|
||||
];
|
||||
|
||||
test.test(test.name + " - using 32 bits", function(test) {
|
||||
common.concat([
|
||||
3.4028234663852886e+38,
|
||||
1.1754943508222875e-38,
|
||||
1.1754946310819804e-39
|
||||
])
|
||||
.forEach(function(value) {
|
||||
var strval = value === 0 && 1 / value < 0 ? "-0" : value.toString();
|
||||
test.ok(
|
||||
checkValue(value, 4, float.readFloatLE, float.writeFloatLE, Buffer.prototype.writeFloatLE),
|
||||
"should write and read back " + strval + " (32 bit LE)"
|
||||
);
|
||||
test.ok(
|
||||
checkValue(value, 4, float.readFloatBE, float.writeFloatBE, Buffer.prototype.writeFloatBE),
|
||||
"should write and read back " + strval + " (32 bit BE)"
|
||||
);
|
||||
});
|
||||
test.end();
|
||||
});
|
||||
|
||||
test.test(test.name + " - using 64 bits", function(test) {
|
||||
common.concat([
|
||||
1.7976931348623157e+308,
|
||||
2.2250738585072014e-308,
|
||||
2.2250738585072014e-309
|
||||
])
|
||||
.forEach(function(value) {
|
||||
var strval = value === 0 && 1 / value < 0 ? "-0" : value.toString();
|
||||
test.ok(
|
||||
checkValue(value, 8, float.readDoubleLE, float.writeDoubleLE, Buffer.prototype.writeDoubleLE),
|
||||
"should write and read back " + strval + " (64 bit LE)"
|
||||
);
|
||||
test.ok(
|
||||
checkValue(value, 8, float.readDoubleBE, float.writeDoubleBE, Buffer.prototype.writeDoubleBE),
|
||||
"should write and read back " + strval + " (64 bit BE)"
|
||||
);
|
||||
});
|
||||
test.end();
|
||||
});
|
||||
|
||||
test.end();
|
||||
}
|
||||
|
||||
function checkValue(value, size, read, write, write_comp) {
|
||||
var buffer = new Buffer(size);
|
||||
write(value, buffer, 0);
|
||||
var value_comp = read(buffer, 0);
|
||||
var strval = value === 0 && 1 / value < 0 ? "-0" : value.toString();
|
||||
if (value !== value) {
|
||||
if (value_comp === value_comp)
|
||||
return false;
|
||||
} else if (value_comp !== value)
|
||||
return false;
|
||||
|
||||
var buffer_comp = new Buffer(size);
|
||||
write_comp.call(buffer_comp, value, 0);
|
||||
for (var i = 0; i < size; ++i)
|
||||
if (buffer[i] !== buffer_comp[i]) {
|
||||
console.error(">", buffer, buffer_comp);
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
3
Tools/OSS/game-upload-function/node_modules/@protobufjs/inquire/.npmignore
generated
vendored
3
Tools/OSS/game-upload-function/node_modules/@protobufjs/inquire/.npmignore
generated
vendored
@ -1,3 +0,0 @@
|
||||
npm-debug.*
|
||||
node_modules/
|
||||
coverage/
|
||||
26
Tools/OSS/game-upload-function/node_modules/@protobufjs/inquire/LICENSE
generated
vendored
26
Tools/OSS/game-upload-function/node_modules/@protobufjs/inquire/LICENSE
generated
vendored
@ -1,26 +0,0 @@
|
||||
Copyright (c) 2016, Daniel Wirtz All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
* Neither the name of its author, nor the names of its contributors
|
||||
may be used to endorse or promote products derived from this software
|
||||
without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
13
Tools/OSS/game-upload-function/node_modules/@protobufjs/inquire/README.md
generated
vendored
13
Tools/OSS/game-upload-function/node_modules/@protobufjs/inquire/README.md
generated
vendored
@ -1,13 +0,0 @@
|
||||
@protobufjs/inquire
|
||||
===================
|
||||
[](https://www.npmjs.com/package/@protobufjs/inquire)
|
||||
|
||||
Requires a module only if available and hides the require call from bundlers.
|
||||
|
||||
API
|
||||
---
|
||||
|
||||
* **inquire(moduleName: `string`): `?Object`**<br />
|
||||
Requires a module only if available.
|
||||
|
||||
**License:** [BSD 3-Clause License](https://opensource.org/licenses/BSD-3-Clause)
|
||||
9
Tools/OSS/game-upload-function/node_modules/@protobufjs/inquire/index.d.ts
generated
vendored
9
Tools/OSS/game-upload-function/node_modules/@protobufjs/inquire/index.d.ts
generated
vendored
@ -1,9 +0,0 @@
|
||||
export = inquire;
|
||||
|
||||
/**
|
||||
* Requires a module only if available.
|
||||
* @memberof util
|
||||
* @param {string} moduleName Module to require
|
||||
* @returns {?Object} Required module if available and not empty, otherwise `null`
|
||||
*/
|
||||
declare function inquire(moduleName: string): Object;
|
||||
17
Tools/OSS/game-upload-function/node_modules/@protobufjs/inquire/index.js
generated
vendored
17
Tools/OSS/game-upload-function/node_modules/@protobufjs/inquire/index.js
generated
vendored
@ -1,17 +0,0 @@
|
||||
"use strict";
|
||||
module.exports = inquire;
|
||||
|
||||
/**
|
||||
* Requires a module only if available.
|
||||
* @memberof util
|
||||
* @param {string} moduleName Module to require
|
||||
* @returns {?Object} Required module if available and not empty, otherwise `null`
|
||||
*/
|
||||
function inquire(moduleName) {
|
||||
try {
|
||||
var mod = eval("quire".replace(/^/,"re"))(moduleName); // eslint-disable-line no-eval
|
||||
if (mod && (mod.length || Object.keys(mod).length))
|
||||
return mod;
|
||||
} catch (e) {} // eslint-disable-line no-empty
|
||||
return null;
|
||||
}
|
||||
21
Tools/OSS/game-upload-function/node_modules/@protobufjs/inquire/package.json
generated
vendored
21
Tools/OSS/game-upload-function/node_modules/@protobufjs/inquire/package.json
generated
vendored
@ -1,21 +0,0 @@
|
||||
{
|
||||
"name": "@protobufjs/inquire",
|
||||
"description": "Requires a module only if available and hides the require call from bundlers.",
|
||||
"version": "1.1.0",
|
||||
"author": "Daniel Wirtz <dcode+protobufjs@dcode.io>",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/dcodeIO/protobuf.js.git"
|
||||
},
|
||||
"license": "BSD-3-Clause",
|
||||
"main": "index.js",
|
||||
"types": "index.d.ts",
|
||||
"devDependencies": {
|
||||
"istanbul": "^0.4.5",
|
||||
"tape": "^4.6.3"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "tape tests/*.js",
|
||||
"coverage": "istanbul cover node_modules/tape/bin/tape tests/*.js"
|
||||
}
|
||||
}
|
||||
1
Tools/OSS/game-upload-function/node_modules/@protobufjs/inquire/tests/data/array.js
generated
vendored
1
Tools/OSS/game-upload-function/node_modules/@protobufjs/inquire/tests/data/array.js
generated
vendored
@ -1 +0,0 @@
|
||||
module.exports = [1];
|
||||
@ -1 +0,0 @@
|
||||
module.exports = [];
|
||||
@ -1 +0,0 @@
|
||||
module.exports = {};
|
||||
1
Tools/OSS/game-upload-function/node_modules/@protobufjs/inquire/tests/data/object.js
generated
vendored
1
Tools/OSS/game-upload-function/node_modules/@protobufjs/inquire/tests/data/object.js
generated
vendored
@ -1 +0,0 @@
|
||||
module.exports = { a: 1 };
|
||||
20
Tools/OSS/game-upload-function/node_modules/@protobufjs/inquire/tests/index.js
generated
vendored
20
Tools/OSS/game-upload-function/node_modules/@protobufjs/inquire/tests/index.js
generated
vendored
@ -1,20 +0,0 @@
|
||||
var tape = require("tape");
|
||||
|
||||
var inquire = require("..");
|
||||
|
||||
tape.test("inquire", function(test) {
|
||||
|
||||
test.equal(inquire("buffer").Buffer, Buffer, "should be able to require \"buffer\"");
|
||||
|
||||
test.equal(inquire("%invalid"), null, "should not be able to require \"%invalid\"");
|
||||
|
||||
test.equal(inquire("./tests/data/emptyObject"), null, "should return null when requiring a module exporting an empty object");
|
||||
|
||||
test.equal(inquire("./tests/data/emptyArray"), null, "should return null when requiring a module exporting an empty array");
|
||||
|
||||
test.same(inquire("./tests/data/object"), { a: 1 }, "should return the object if a non-empty object");
|
||||
|
||||
test.same(inquire("./tests/data/array"), [ 1 ], "should return the module if a non-empty array");
|
||||
|
||||
test.end();
|
||||
});
|
||||
26
Tools/OSS/game-upload-function/node_modules/@protobufjs/path/LICENSE
generated
vendored
26
Tools/OSS/game-upload-function/node_modules/@protobufjs/path/LICENSE
generated
vendored
@ -1,26 +0,0 @@
|
||||
Copyright (c) 2016, Daniel Wirtz All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
* Neither the name of its author, nor the names of its contributors
|
||||
may be used to endorse or promote products derived from this software
|
||||
without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
19
Tools/OSS/game-upload-function/node_modules/@protobufjs/path/README.md
generated
vendored
19
Tools/OSS/game-upload-function/node_modules/@protobufjs/path/README.md
generated
vendored
@ -1,19 +0,0 @@
|
||||
@protobufjs/path
|
||||
================
|
||||
[](https://www.npmjs.com/package/@protobufjs/path)
|
||||
|
||||
A minimal path module to resolve Unix, Windows and URL paths alike.
|
||||
|
||||
API
|
||||
---
|
||||
|
||||
* **path.isAbsolute(path: `string`): `boolean`**<br />
|
||||
Tests if the specified path is absolute.
|
||||
|
||||
* **path.normalize(path: `string`): `string`**<br />
|
||||
Normalizes the specified path.
|
||||
|
||||
* **path.resolve(originPath: `string`, includePath: `string`, [alreadyNormalized=false: `boolean`]): `string`**<br />
|
||||
Resolves the specified include path against the specified origin path.
|
||||
|
||||
**License:** [BSD 3-Clause License](https://opensource.org/licenses/BSD-3-Clause)
|
||||
22
Tools/OSS/game-upload-function/node_modules/@protobufjs/path/index.d.ts
generated
vendored
22
Tools/OSS/game-upload-function/node_modules/@protobufjs/path/index.d.ts
generated
vendored
@ -1,22 +0,0 @@
|
||||
/**
|
||||
* Tests if the specified path is absolute.
|
||||
* @param {string} path Path to test
|
||||
* @returns {boolean} `true` if path is absolute
|
||||
*/
|
||||
export function isAbsolute(path: string): boolean;
|
||||
|
||||
/**
|
||||
* Normalizes the specified path.
|
||||
* @param {string} path Path to normalize
|
||||
* @returns {string} Normalized path
|
||||
*/
|
||||
export function normalize(path: string): string;
|
||||
|
||||
/**
|
||||
* Resolves the specified include path against the specified origin path.
|
||||
* @param {string} originPath Path to the origin file
|
||||
* @param {string} includePath Include path relative to origin path
|
||||
* @param {boolean} [alreadyNormalized=false] `true` if both paths are already known to be normalized
|
||||
* @returns {string} Path to the include file
|
||||
*/
|
||||
export function resolve(originPath: string, includePath: string, alreadyNormalized?: boolean): string;
|
||||
65
Tools/OSS/game-upload-function/node_modules/@protobufjs/path/index.js
generated
vendored
65
Tools/OSS/game-upload-function/node_modules/@protobufjs/path/index.js
generated
vendored
@ -1,65 +0,0 @@
|
||||
"use strict";
|
||||
|
||||
/**
|
||||
* A minimal path module to resolve Unix, Windows and URL paths alike.
|
||||
* @memberof util
|
||||
* @namespace
|
||||
*/
|
||||
var path = exports;
|
||||
|
||||
var isAbsolute =
|
||||
/**
|
||||
* Tests if the specified path is absolute.
|
||||
* @param {string} path Path to test
|
||||
* @returns {boolean} `true` if path is absolute
|
||||
*/
|
||||
path.isAbsolute = function isAbsolute(path) {
|
||||
return /^(?:\/|\w+:)/.test(path);
|
||||
};
|
||||
|
||||
var normalize =
|
||||
/**
|
||||
* Normalizes the specified path.
|
||||
* @param {string} path Path to normalize
|
||||
* @returns {string} Normalized path
|
||||
*/
|
||||
path.normalize = function normalize(path) {
|
||||
path = path.replace(/\\/g, "/")
|
||||
.replace(/\/{2,}/g, "/");
|
||||
var parts = path.split("/"),
|
||||
absolute = isAbsolute(path),
|
||||
prefix = "";
|
||||
if (absolute)
|
||||
prefix = parts.shift() + "/";
|
||||
for (var i = 0; i < parts.length;) {
|
||||
if (parts[i] === "..") {
|
||||
if (i > 0 && parts[i - 1] !== "..")
|
||||
parts.splice(--i, 2);
|
||||
else if (absolute)
|
||||
parts.splice(i, 1);
|
||||
else
|
||||
++i;
|
||||
} else if (parts[i] === ".")
|
||||
parts.splice(i, 1);
|
||||
else
|
||||
++i;
|
||||
}
|
||||
return prefix + parts.join("/");
|
||||
};
|
||||
|
||||
/**
|
||||
* Resolves the specified include path against the specified origin path.
|
||||
* @param {string} originPath Path to the origin file
|
||||
* @param {string} includePath Include path relative to origin path
|
||||
* @param {boolean} [alreadyNormalized=false] `true` if both paths are already known to be normalized
|
||||
* @returns {string} Path to the include file
|
||||
*/
|
||||
path.resolve = function resolve(originPath, includePath, alreadyNormalized) {
|
||||
if (!alreadyNormalized)
|
||||
includePath = normalize(includePath);
|
||||
if (isAbsolute(includePath))
|
||||
return includePath;
|
||||
if (!alreadyNormalized)
|
||||
originPath = normalize(originPath);
|
||||
return (originPath = originPath.replace(/(?:\/|^)[^/]+$/, "")).length ? normalize(originPath + "/" + includePath) : includePath;
|
||||
};
|
||||
21
Tools/OSS/game-upload-function/node_modules/@protobufjs/path/package.json
generated
vendored
21
Tools/OSS/game-upload-function/node_modules/@protobufjs/path/package.json
generated
vendored
@ -1,21 +0,0 @@
|
||||
{
|
||||
"name": "@protobufjs/path",
|
||||
"description": "A minimal path module to resolve Unix, Windows and URL paths alike.",
|
||||
"version": "1.1.2",
|
||||
"author": "Daniel Wirtz <dcode+protobufjs@dcode.io>",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/dcodeIO/protobuf.js.git"
|
||||
},
|
||||
"license": "BSD-3-Clause",
|
||||
"main": "index.js",
|
||||
"types": "index.d.ts",
|
||||
"devDependencies": {
|
||||
"istanbul": "^0.4.5",
|
||||
"tape": "^4.6.3"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "tape tests/*.js",
|
||||
"coverage": "istanbul cover node_modules/tape/bin/tape tests/*.js"
|
||||
}
|
||||
}
|
||||
60
Tools/OSS/game-upload-function/node_modules/@protobufjs/path/tests/index.js
generated
vendored
60
Tools/OSS/game-upload-function/node_modules/@protobufjs/path/tests/index.js
generated
vendored
@ -1,60 +0,0 @@
|
||||
var tape = require("tape");
|
||||
|
||||
var path = require("..");
|
||||
|
||||
tape.test("path", function(test) {
|
||||
|
||||
test.ok(path.isAbsolute("X:\\some\\path\\file.js"), "should identify absolute windows paths");
|
||||
test.ok(path.isAbsolute("/some/path/file.js"), "should identify absolute unix paths");
|
||||
|
||||
test.notOk(path.isAbsolute("some\\path\\file.js"), "should identify relative windows paths");
|
||||
test.notOk(path.isAbsolute("some/path/file.js"), "should identify relative unix paths");
|
||||
|
||||
var paths = [
|
||||
{
|
||||
actual: "X:\\some\\..\\.\\path\\\\file.js",
|
||||
normal: "X:/path/file.js",
|
||||
resolve: {
|
||||
origin: "X:/path/origin.js",
|
||||
expected: "X:/path/file.js"
|
||||
}
|
||||
}, {
|
||||
actual: "some\\..\\.\\path\\\\file.js",
|
||||
normal: "path/file.js",
|
||||
resolve: {
|
||||
origin: "X:/path/origin.js",
|
||||
expected: "X:/path/path/file.js"
|
||||
}
|
||||
}, {
|
||||
actual: "/some/.././path//file.js",
|
||||
normal: "/path/file.js",
|
||||
resolve: {
|
||||
origin: "/path/origin.js",
|
||||
expected: "/path/file.js"
|
||||
}
|
||||
}, {
|
||||
actual: "some/.././path//file.js",
|
||||
normal: "path/file.js",
|
||||
resolve: {
|
||||
origin: "",
|
||||
expected: "path/file.js"
|
||||
}
|
||||
}, {
|
||||
actual: ".././path//file.js",
|
||||
normal: "../path/file.js"
|
||||
}, {
|
||||
actual: "/.././path//file.js",
|
||||
normal: "/path/file.js"
|
||||
}
|
||||
];
|
||||
|
||||
paths.forEach(function(p) {
|
||||
test.equal(path.normalize(p.actual), p.normal, "should normalize " + p.actual);
|
||||
if (p.resolve) {
|
||||
test.equal(path.resolve(p.resolve.origin, p.actual), p.resolve.expected, "should resolve " + p.actual);
|
||||
test.equal(path.resolve(p.resolve.origin, p.normal, true), p.resolve.expected, "should resolve " + p.normal + " (already normalized)");
|
||||
}
|
||||
});
|
||||
|
||||
test.end();
|
||||
});
|
||||
3
Tools/OSS/game-upload-function/node_modules/@protobufjs/pool/.npmignore
generated
vendored
3
Tools/OSS/game-upload-function/node_modules/@protobufjs/pool/.npmignore
generated
vendored
@ -1,3 +0,0 @@
|
||||
npm-debug.*
|
||||
node_modules/
|
||||
coverage/
|
||||
26
Tools/OSS/game-upload-function/node_modules/@protobufjs/pool/LICENSE
generated
vendored
26
Tools/OSS/game-upload-function/node_modules/@protobufjs/pool/LICENSE
generated
vendored
@ -1,26 +0,0 @@
|
||||
Copyright (c) 2016, Daniel Wirtz All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
* Neither the name of its author, nor the names of its contributors
|
||||
may be used to endorse or promote products derived from this software
|
||||
without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
13
Tools/OSS/game-upload-function/node_modules/@protobufjs/pool/README.md
generated
vendored
13
Tools/OSS/game-upload-function/node_modules/@protobufjs/pool/README.md
generated
vendored
@ -1,13 +0,0 @@
|
||||
@protobufjs/pool
|
||||
================
|
||||
[](https://www.npmjs.com/package/@protobufjs/pool)
|
||||
|
||||
A general purpose buffer pool.
|
||||
|
||||
API
|
||||
---
|
||||
|
||||
* **pool(alloc: `function(size: number): Uint8Array`, slice: `function(this: Uint8Array, start: number, end: number): Uint8Array`, [size=8192: `number`]): `function(size: number): Uint8Array`**<br />
|
||||
Creates a pooled allocator.
|
||||
|
||||
**License:** [BSD 3-Clause License](https://opensource.org/licenses/BSD-3-Clause)
|
||||
32
Tools/OSS/game-upload-function/node_modules/@protobufjs/pool/index.d.ts
generated
vendored
32
Tools/OSS/game-upload-function/node_modules/@protobufjs/pool/index.d.ts
generated
vendored
@ -1,32 +0,0 @@
|
||||
export = pool;
|
||||
|
||||
/**
|
||||
* An allocator as used by {@link util.pool}.
|
||||
* @typedef PoolAllocator
|
||||
* @type {function}
|
||||
* @param {number} size Buffer size
|
||||
* @returns {Uint8Array} Buffer
|
||||
*/
|
||||
type PoolAllocator = (size: number) => Uint8Array;
|
||||
|
||||
/**
|
||||
* A slicer as used by {@link util.pool}.
|
||||
* @typedef PoolSlicer
|
||||
* @type {function}
|
||||
* @param {number} start Start offset
|
||||
* @param {number} end End offset
|
||||
* @returns {Uint8Array} Buffer slice
|
||||
* @this {Uint8Array}
|
||||
*/
|
||||
type PoolSlicer = (this: Uint8Array, start: number, end: number) => Uint8Array;
|
||||
|
||||
/**
|
||||
* A general purpose buffer pool.
|
||||
* @memberof util
|
||||
* @function
|
||||
* @param {PoolAllocator} alloc Allocator
|
||||
* @param {PoolSlicer} slice Slicer
|
||||
* @param {number} [size=8192] Slab size
|
||||
* @returns {PoolAllocator} Pooled allocator
|
||||
*/
|
||||
declare function pool(alloc: PoolAllocator, slice: PoolSlicer, size?: number): PoolAllocator;
|
||||
48
Tools/OSS/game-upload-function/node_modules/@protobufjs/pool/index.js
generated
vendored
48
Tools/OSS/game-upload-function/node_modules/@protobufjs/pool/index.js
generated
vendored
@ -1,48 +0,0 @@
|
||||
"use strict";
|
||||
module.exports = pool;
|
||||
|
||||
/**
|
||||
* An allocator as used by {@link util.pool}.
|
||||
* @typedef PoolAllocator
|
||||
* @type {function}
|
||||
* @param {number} size Buffer size
|
||||
* @returns {Uint8Array} Buffer
|
||||
*/
|
||||
|
||||
/**
|
||||
* A slicer as used by {@link util.pool}.
|
||||
* @typedef PoolSlicer
|
||||
* @type {function}
|
||||
* @param {number} start Start offset
|
||||
* @param {number} end End offset
|
||||
* @returns {Uint8Array} Buffer slice
|
||||
* @this {Uint8Array}
|
||||
*/
|
||||
|
||||
/**
|
||||
* A general purpose buffer pool.
|
||||
* @memberof util
|
||||
* @function
|
||||
* @param {PoolAllocator} alloc Allocator
|
||||
* @param {PoolSlicer} slice Slicer
|
||||
* @param {number} [size=8192] Slab size
|
||||
* @returns {PoolAllocator} Pooled allocator
|
||||
*/
|
||||
function pool(alloc, slice, size) {
|
||||
var SIZE = size || 8192;
|
||||
var MAX = SIZE >>> 1;
|
||||
var slab = null;
|
||||
var offset = SIZE;
|
||||
return function pool_alloc(size) {
|
||||
if (size < 1 || size > MAX)
|
||||
return alloc(size);
|
||||
if (offset + size > SIZE) {
|
||||
slab = alloc(SIZE);
|
||||
offset = 0;
|
||||
}
|
||||
var buf = slice.call(slab, offset, offset += size);
|
||||
if (offset & 7) // align to 32 bit
|
||||
offset = (offset | 7) + 1;
|
||||
return buf;
|
||||
};
|
||||
}
|
||||
21
Tools/OSS/game-upload-function/node_modules/@protobufjs/pool/package.json
generated
vendored
21
Tools/OSS/game-upload-function/node_modules/@protobufjs/pool/package.json
generated
vendored
@ -1,21 +0,0 @@
|
||||
{
|
||||
"name": "@protobufjs/pool",
|
||||
"description": "A general purpose buffer pool.",
|
||||
"version": "1.1.0",
|
||||
"author": "Daniel Wirtz <dcode+protobufjs@dcode.io>",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/dcodeIO/protobuf.js.git"
|
||||
},
|
||||
"license": "BSD-3-Clause",
|
||||
"main": "index.js",
|
||||
"types": "index.d.ts",
|
||||
"devDependencies": {
|
||||
"istanbul": "^0.4.5",
|
||||
"tape": "^4.6.3"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "tape tests/*.js",
|
||||
"coverage": "istanbul cover node_modules/tape/bin/tape tests/*.js"
|
||||
}
|
||||
}
|
||||
33
Tools/OSS/game-upload-function/node_modules/@protobufjs/pool/tests/index.js
generated
vendored
33
Tools/OSS/game-upload-function/node_modules/@protobufjs/pool/tests/index.js
generated
vendored
@ -1,33 +0,0 @@
|
||||
var tape = require("tape");
|
||||
|
||||
var pool = require("..");
|
||||
|
||||
if (typeof Uint8Array !== "undefined")
|
||||
tape.test("pool", function(test) {
|
||||
|
||||
var alloc = pool(function(size) { return new Uint8Array(size); }, Uint8Array.prototype.subarray);
|
||||
|
||||
var buf1 = alloc(0);
|
||||
test.equal(buf1.length, 0, "should allocate a buffer of size 0");
|
||||
|
||||
var buf2 = alloc(1);
|
||||
test.equal(buf2.length, 1, "should allocate a buffer of size 1 (initializes slab)");
|
||||
|
||||
test.notEqual(buf2.buffer, buf1.buffer, "should not reference the same backing buffer if previous buffer had size 0");
|
||||
test.equal(buf2.byteOffset, 0, "should allocate at byteOffset 0 when using a new slab");
|
||||
|
||||
buf1 = alloc(1);
|
||||
test.equal(buf1.buffer, buf2.buffer, "should reference the same backing buffer when allocating a chunk fitting into the slab");
|
||||
test.equal(buf1.byteOffset, 8, "should align slices to 32 bit and this allocate at byteOffset 8");
|
||||
|
||||
var buf3 = alloc(4097);
|
||||
test.notEqual(buf3.buffer, buf2.buffer, "should not reference the same backing buffer when allocating a buffer larger than half the backing buffer's size");
|
||||
|
||||
buf2 = alloc(4096);
|
||||
test.equal(buf2.buffer, buf1.buffer, "should reference the same backing buffer when allocating a buffer smaller or equal than half the backing buffer's size");
|
||||
|
||||
buf1 = alloc(4096);
|
||||
test.notEqual(buf1.buffer, buf2.buffer, "should not reference the same backing buffer when the slab is exhausted (initializes new slab)");
|
||||
|
||||
test.end();
|
||||
});
|
||||
3
Tools/OSS/game-upload-function/node_modules/@protobufjs/utf8/.npmignore
generated
vendored
3
Tools/OSS/game-upload-function/node_modules/@protobufjs/utf8/.npmignore
generated
vendored
@ -1,3 +0,0 @@
|
||||
npm-debug.*
|
||||
node_modules/
|
||||
coverage/
|
||||
26
Tools/OSS/game-upload-function/node_modules/@protobufjs/utf8/LICENSE
generated
vendored
26
Tools/OSS/game-upload-function/node_modules/@protobufjs/utf8/LICENSE
generated
vendored
@ -1,26 +0,0 @@
|
||||
Copyright (c) 2016, Daniel Wirtz All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
* Neither the name of its author, nor the names of its contributors
|
||||
may be used to endorse or promote products derived from this software
|
||||
without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
20
Tools/OSS/game-upload-function/node_modules/@protobufjs/utf8/README.md
generated
vendored
20
Tools/OSS/game-upload-function/node_modules/@protobufjs/utf8/README.md
generated
vendored
@ -1,20 +0,0 @@
|
||||
@protobufjs/utf8
|
||||
================
|
||||
[](https://www.npmjs.com/package/@protobufjs/utf8)
|
||||
|
||||
A minimal UTF8 implementation for number arrays.
|
||||
|
||||
API
|
||||
---
|
||||
|
||||
* **utf8.length(string: `string`): `number`**<br />
|
||||
Calculates the UTF8 byte length of a string.
|
||||
|
||||
* **utf8.read(buffer: `Uint8Array`, start: `number`, end: `number`): `string`**<br />
|
||||
Reads UTF8 bytes as a string.
|
||||
|
||||
* **utf8.write(string: `string`, buffer: `Uint8Array`, offset: `number`): `number`**<br />
|
||||
Writes a string as UTF8 bytes.
|
||||
|
||||
|
||||
**License:** [BSD 3-Clause License](https://opensource.org/licenses/BSD-3-Clause)
|
||||
24
Tools/OSS/game-upload-function/node_modules/@protobufjs/utf8/index.d.ts
generated
vendored
24
Tools/OSS/game-upload-function/node_modules/@protobufjs/utf8/index.d.ts
generated
vendored
@ -1,24 +0,0 @@
|
||||
/**
|
||||
* Calculates the UTF8 byte length of a string.
|
||||
* @param {string} string String
|
||||
* @returns {number} Byte length
|
||||
*/
|
||||
export function length(string: string): number;
|
||||
|
||||
/**
|
||||
* Reads UTF8 bytes as a string.
|
||||
* @param {Uint8Array} buffer Source buffer
|
||||
* @param {number} start Source start
|
||||
* @param {number} end Source end
|
||||
* @returns {string} String read
|
||||
*/
|
||||
export function read(buffer: Uint8Array, start: number, end: number): string;
|
||||
|
||||
/**
|
||||
* Writes a string as UTF8 bytes.
|
||||
* @param {string} string Source string
|
||||
* @param {Uint8Array} buffer Destination buffer
|
||||
* @param {number} offset Destination offset
|
||||
* @returns {number} Bytes written
|
||||
*/
|
||||
export function write(string: string, buffer: Uint8Array, offset: number): number;
|
||||
105
Tools/OSS/game-upload-function/node_modules/@protobufjs/utf8/index.js
generated
vendored
105
Tools/OSS/game-upload-function/node_modules/@protobufjs/utf8/index.js
generated
vendored
@ -1,105 +0,0 @@
|
||||
"use strict";
|
||||
|
||||
/**
|
||||
* A minimal UTF8 implementation for number arrays.
|
||||
* @memberof util
|
||||
* @namespace
|
||||
*/
|
||||
var utf8 = exports;
|
||||
|
||||
/**
|
||||
* Calculates the UTF8 byte length of a string.
|
||||
* @param {string} string String
|
||||
* @returns {number} Byte length
|
||||
*/
|
||||
utf8.length = function utf8_length(string) {
|
||||
var len = 0,
|
||||
c = 0;
|
||||
for (var i = 0; i < string.length; ++i) {
|
||||
c = string.charCodeAt(i);
|
||||
if (c < 128)
|
||||
len += 1;
|
||||
else if (c < 2048)
|
||||
len += 2;
|
||||
else if ((c & 0xFC00) === 0xD800 && (string.charCodeAt(i + 1) & 0xFC00) === 0xDC00) {
|
||||
++i;
|
||||
len += 4;
|
||||
} else
|
||||
len += 3;
|
||||
}
|
||||
return len;
|
||||
};
|
||||
|
||||
/**
|
||||
* Reads UTF8 bytes as a string.
|
||||
* @param {Uint8Array} buffer Source buffer
|
||||
* @param {number} start Source start
|
||||
* @param {number} end Source end
|
||||
* @returns {string} String read
|
||||
*/
|
||||
utf8.read = function utf8_read(buffer, start, end) {
|
||||
var len = end - start;
|
||||
if (len < 1)
|
||||
return "";
|
||||
var parts = null,
|
||||
chunk = [],
|
||||
i = 0, // char offset
|
||||
t; // temporary
|
||||
while (start < end) {
|
||||
t = buffer[start++];
|
||||
if (t < 128)
|
||||
chunk[i++] = t;
|
||||
else if (t > 191 && t < 224)
|
||||
chunk[i++] = (t & 31) << 6 | buffer[start++] & 63;
|
||||
else if (t > 239 && t < 365) {
|
||||
t = ((t & 7) << 18 | (buffer[start++] & 63) << 12 | (buffer[start++] & 63) << 6 | buffer[start++] & 63) - 0x10000;
|
||||
chunk[i++] = 0xD800 + (t >> 10);
|
||||
chunk[i++] = 0xDC00 + (t & 1023);
|
||||
} else
|
||||
chunk[i++] = (t & 15) << 12 | (buffer[start++] & 63) << 6 | buffer[start++] & 63;
|
||||
if (i > 8191) {
|
||||
(parts || (parts = [])).push(String.fromCharCode.apply(String, chunk));
|
||||
i = 0;
|
||||
}
|
||||
}
|
||||
if (parts) {
|
||||
if (i)
|
||||
parts.push(String.fromCharCode.apply(String, chunk.slice(0, i)));
|
||||
return parts.join("");
|
||||
}
|
||||
return String.fromCharCode.apply(String, chunk.slice(0, i));
|
||||
};
|
||||
|
||||
/**
|
||||
* Writes a string as UTF8 bytes.
|
||||
* @param {string} string Source string
|
||||
* @param {Uint8Array} buffer Destination buffer
|
||||
* @param {number} offset Destination offset
|
||||
* @returns {number} Bytes written
|
||||
*/
|
||||
utf8.write = function utf8_write(string, buffer, offset) {
|
||||
var start = offset,
|
||||
c1, // character 1
|
||||
c2; // character 2
|
||||
for (var i = 0; i < string.length; ++i) {
|
||||
c1 = string.charCodeAt(i);
|
||||
if (c1 < 128) {
|
||||
buffer[offset++] = c1;
|
||||
} else if (c1 < 2048) {
|
||||
buffer[offset++] = c1 >> 6 | 192;
|
||||
buffer[offset++] = c1 & 63 | 128;
|
||||
} else if ((c1 & 0xFC00) === 0xD800 && ((c2 = string.charCodeAt(i + 1)) & 0xFC00) === 0xDC00) {
|
||||
c1 = 0x10000 + ((c1 & 0x03FF) << 10) + (c2 & 0x03FF);
|
||||
++i;
|
||||
buffer[offset++] = c1 >> 18 | 240;
|
||||
buffer[offset++] = c1 >> 12 & 63 | 128;
|
||||
buffer[offset++] = c1 >> 6 & 63 | 128;
|
||||
buffer[offset++] = c1 & 63 | 128;
|
||||
} else {
|
||||
buffer[offset++] = c1 >> 12 | 224;
|
||||
buffer[offset++] = c1 >> 6 & 63 | 128;
|
||||
buffer[offset++] = c1 & 63 | 128;
|
||||
}
|
||||
}
|
||||
return offset - start;
|
||||
};
|
||||
21
Tools/OSS/game-upload-function/node_modules/@protobufjs/utf8/package.json
generated
vendored
21
Tools/OSS/game-upload-function/node_modules/@protobufjs/utf8/package.json
generated
vendored
@ -1,21 +0,0 @@
|
||||
{
|
||||
"name": "@protobufjs/utf8",
|
||||
"description": "A minimal UTF8 implementation for number arrays.",
|
||||
"version": "1.1.0",
|
||||
"author": "Daniel Wirtz <dcode+protobufjs@dcode.io>",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/dcodeIO/protobuf.js.git"
|
||||
},
|
||||
"license": "BSD-3-Clause",
|
||||
"main": "index.js",
|
||||
"types": "index.d.ts",
|
||||
"devDependencies": {
|
||||
"istanbul": "^0.4.5",
|
||||
"tape": "^4.6.3"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "tape tests/*.js",
|
||||
"coverage": "istanbul cover node_modules/tape/bin/tape tests/*.js"
|
||||
}
|
||||
}
|
||||
216
Tools/OSS/game-upload-function/node_modules/@protobufjs/utf8/tests/data/utf8.txt
generated
vendored
216
Tools/OSS/game-upload-function/node_modules/@protobufjs/utf8/tests/data/utf8.txt
generated
vendored
@ -1,216 +0,0 @@
|
||||
UTF-8 encoded sample plain-text file
|
||||
‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
|
||||
|
||||
Markus Kuhn [ˈmaʳkʊs kuːn] <http://www.cl.cam.ac.uk/~mgk25/> — 2002-07-25 CC BY
|
||||
|
||||
|
||||
The ASCII compatible UTF-8 encoding used in this plain-text file
|
||||
is defined in Unicode, ISO 10646-1, and RFC 2279.
|
||||
|
||||
|
||||
Using Unicode/UTF-8, you can write in emails and source code things such as
|
||||
|
||||
Mathematics and sciences:
|
||||
|
||||
∮ E⋅da = Q, n → ∞, ∑ f(i) = ∏ g(i), ⎧⎡⎛┌─────┐⎞⎤⎫
|
||||
⎪⎢⎜│a²+b³ ⎟⎥⎪
|
||||
∀x∈ℝ: ⌈x⌉ = −⌊−x⌋, α ∧ ¬β = ¬(¬α ∨ β), ⎪⎢⎜│───── ⎟⎥⎪
|
||||
⎪⎢⎜⎷ c₈ ⎟⎥⎪
|
||||
ℕ ⊆ ℕ₀ ⊂ ℤ ⊂ ℚ ⊂ ℝ ⊂ ℂ, ⎨⎢⎜ ⎟⎥⎬
|
||||
⎪⎢⎜ ∞ ⎟⎥⎪
|
||||
⊥ < a ≠ b ≡ c ≤ d ≪ ⊤ ⇒ (⟦A⟧ ⇔ ⟪B⟫), ⎪⎢⎜ ⎲ ⎟⎥⎪
|
||||
⎪⎢⎜ ⎳aⁱ-bⁱ⎟⎥⎪
|
||||
2H₂ + O₂ ⇌ 2H₂O, R = 4.7 kΩ, ⌀ 200 mm ⎩⎣⎝i=1 ⎠⎦⎭
|
||||
|
||||
Linguistics and dictionaries:
|
||||
|
||||
ði ıntəˈnæʃənəl fəˈnɛtık əsoʊsiˈeıʃn
|
||||
Y [ˈʏpsilɔn], Yen [jɛn], Yoga [ˈjoːgɑ]
|
||||
|
||||
APL:
|
||||
|
||||
((V⍳V)=⍳⍴V)/V←,V ⌷←⍳→⍴∆∇⊃‾⍎⍕⌈
|
||||
|
||||
Nicer typography in plain text files:
|
||||
|
||||
╔══════════════════════════════════════════╗
|
||||
║ ║
|
||||
║ • ‘single’ and “double” quotes ║
|
||||
║ ║
|
||||
║ • Curly apostrophes: “We’ve been here” ║
|
||||
║ ║
|
||||
║ • Latin-1 apostrophe and accents: '´` ║
|
||||
║ ║
|
||||
║ • ‚deutsche‘ „Anführungszeichen“ ║
|
||||
║ ║
|
||||
║ • †, ‡, ‰, •, 3–4, —, −5/+5, ™, … ║
|
||||
║ ║
|
||||
║ • ASCII safety test: 1lI|, 0OD, 8B ║
|
||||
║ ╭─────────╮ ║
|
||||
║ • the euro symbol: │ 14.95 € │ ║
|
||||
║ ╰─────────╯ ║
|
||||
╚══════════════════════════════════════════╝
|
||||
|
||||
Combining characters:
|
||||
|
||||
STARGΛ̊TE SG-1, a = v̇ = r̈, a⃑ ⊥ b⃑
|
||||
|
||||
Greek (in Polytonic):
|
||||
|
||||
The Greek anthem:
|
||||
|
||||
Σὲ γνωρίζω ἀπὸ τὴν κόψη
|
||||
τοῦ σπαθιοῦ τὴν τρομερή,
|
||||
σὲ γνωρίζω ἀπὸ τὴν ὄψη
|
||||
ποὺ μὲ βία μετράει τὴ γῆ.
|
||||
|
||||
᾿Απ᾿ τὰ κόκκαλα βγαλμένη
|
||||
τῶν ῾Ελλήνων τὰ ἱερά
|
||||
καὶ σὰν πρῶτα ἀνδρειωμένη
|
||||
χαῖρε, ὦ χαῖρε, ᾿Ελευθεριά!
|
||||
|
||||
From a speech of Demosthenes in the 4th century BC:
|
||||
|
||||
Οὐχὶ ταὐτὰ παρίσταταί μοι γιγνώσκειν, ὦ ἄνδρες ᾿Αθηναῖοι,
|
||||
ὅταν τ᾿ εἰς τὰ πράγματα ἀποβλέψω καὶ ὅταν πρὸς τοὺς
|
||||
λόγους οὓς ἀκούω· τοὺς μὲν γὰρ λόγους περὶ τοῦ
|
||||
τιμωρήσασθαι Φίλιππον ὁρῶ γιγνομένους, τὰ δὲ πράγματ᾿
|
||||
εἰς τοῦτο προήκοντα, ὥσθ᾿ ὅπως μὴ πεισόμεθ᾿ αὐτοὶ
|
||||
πρότερον κακῶς σκέψασθαι δέον. οὐδέν οὖν ἄλλο μοι δοκοῦσιν
|
||||
οἱ τὰ τοιαῦτα λέγοντες ἢ τὴν ὑπόθεσιν, περὶ ἧς βουλεύεσθαι,
|
||||
οὐχὶ τὴν οὖσαν παριστάντες ὑμῖν ἁμαρτάνειν. ἐγὼ δέ, ὅτι μέν
|
||||
ποτ᾿ ἐξῆν τῇ πόλει καὶ τὰ αὑτῆς ἔχειν ἀσφαλῶς καὶ Φίλιππον
|
||||
τιμωρήσασθαι, καὶ μάλ᾿ ἀκριβῶς οἶδα· ἐπ᾿ ἐμοῦ γάρ, οὐ πάλαι
|
||||
γέγονεν ταῦτ᾿ ἀμφότερα· νῦν μέντοι πέπεισμαι τοῦθ᾿ ἱκανὸν
|
||||
προλαβεῖν ἡμῖν εἶναι τὴν πρώτην, ὅπως τοὺς συμμάχους
|
||||
σώσομεν. ἐὰν γὰρ τοῦτο βεβαίως ὑπάρξῃ, τότε καὶ περὶ τοῦ
|
||||
τίνα τιμωρήσεταί τις καὶ ὃν τρόπον ἐξέσται σκοπεῖν· πρὶν δὲ
|
||||
τὴν ἀρχὴν ὀρθῶς ὑποθέσθαι, μάταιον ἡγοῦμαι περὶ τῆς
|
||||
τελευτῆς ὁντινοῦν ποιεῖσθαι λόγον.
|
||||
|
||||
Δημοσθένους, Γ´ ᾿Ολυνθιακὸς
|
||||
|
||||
Georgian:
|
||||
|
||||
From a Unicode conference invitation:
|
||||
|
||||
გთხოვთ ახლავე გაიაროთ რეგისტრაცია Unicode-ის მეათე საერთაშორისო
|
||||
კონფერენციაზე დასასწრებად, რომელიც გაიმართება 10-12 მარტს,
|
||||
ქ. მაინცში, გერმანიაში. კონფერენცია შეჰკრებს ერთად მსოფლიოს
|
||||
ექსპერტებს ისეთ დარგებში როგორიცაა ინტერნეტი და Unicode-ი,
|
||||
ინტერნაციონალიზაცია და ლოკალიზაცია, Unicode-ის გამოყენება
|
||||
ოპერაციულ სისტემებსა, და გამოყენებით პროგრამებში, შრიფტებში,
|
||||
ტექსტების დამუშავებასა და მრავალენოვან კომპიუტერულ სისტემებში.
|
||||
|
||||
Russian:
|
||||
|
||||
From a Unicode conference invitation:
|
||||
|
||||
Зарегистрируйтесь сейчас на Десятую Международную Конференцию по
|
||||
Unicode, которая состоится 10-12 марта 1997 года в Майнце в Германии.
|
||||
Конференция соберет широкий круг экспертов по вопросам глобального
|
||||
Интернета и Unicode, локализации и интернационализации, воплощению и
|
||||
применению Unicode в различных операционных системах и программных
|
||||
приложениях, шрифтах, верстке и многоязычных компьютерных системах.
|
||||
|
||||
Thai (UCS Level 2):
|
||||
|
||||
Excerpt from a poetry on The Romance of The Three Kingdoms (a Chinese
|
||||
classic 'San Gua'):
|
||||
|
||||
[----------------------------|------------------------]
|
||||
๏ แผ่นดินฮั่นเสื่อมโทรมแสนสังเวช พระปกเกศกองบู๊กู้ขึ้นใหม่
|
||||
สิบสองกษัตริย์ก่อนหน้าแลถัดไป สององค์ไซร้โง่เขลาเบาปัญญา
|
||||
ทรงนับถือขันทีเป็นที่พึ่ง บ้านเมืองจึงวิปริตเป็นนักหนา
|
||||
โฮจิ๋นเรียกทัพทั่วหัวเมืองมา หมายจะฆ่ามดชั่วตัวสำคัญ
|
||||
เหมือนขับไสไล่เสือจากเคหา รับหมาป่าเข้ามาเลยอาสัญ
|
||||
ฝ่ายอ้องอุ้นยุแยกให้แตกกัน ใช้สาวนั้นเป็นชนวนชื่นชวนใจ
|
||||
พลันลิฉุยกุยกีกลับก่อเหตุ ช่างอาเพศจริงหนาฟ้าร้องไห้
|
||||
ต้องรบราฆ่าฟันจนบรรลัย ฤๅหาใครค้ำชูกู้บรรลังก์ ฯ
|
||||
|
||||
(The above is a two-column text. If combining characters are handled
|
||||
correctly, the lines of the second column should be aligned with the
|
||||
| character above.)
|
||||
|
||||
Ethiopian:
|
||||
|
||||
Proverbs in the Amharic language:
|
||||
|
||||
ሰማይ አይታረስ ንጉሥ አይከሰስ።
|
||||
ብላ ካለኝ እንደአባቴ በቆመጠኝ።
|
||||
ጌጥ ያለቤቱ ቁምጥና ነው።
|
||||
ደሀ በሕልሙ ቅቤ ባይጠጣ ንጣት በገደለው።
|
||||
የአፍ ወለምታ በቅቤ አይታሽም።
|
||||
አይጥ በበላ ዳዋ ተመታ።
|
||||
ሲተረጉሙ ይደረግሙ።
|
||||
ቀስ በቀስ፥ ዕንቁላል በእግሩ ይሄዳል።
|
||||
ድር ቢያብር አንበሳ ያስር።
|
||||
ሰው እንደቤቱ እንጅ እንደ ጉረቤቱ አይተዳደርም።
|
||||
እግዜር የከፈተውን ጉሮሮ ሳይዘጋው አይድርም።
|
||||
የጎረቤት ሌባ፥ ቢያዩት ይስቅ ባያዩት ያጠልቅ።
|
||||
ሥራ ከመፍታት ልጄን ላፋታት።
|
||||
ዓባይ ማደሪያ የለው፥ ግንድ ይዞ ይዞራል።
|
||||
የእስላም አገሩ መካ የአሞራ አገሩ ዋርካ።
|
||||
ተንጋሎ ቢተፉ ተመልሶ ባፉ።
|
||||
ወዳጅህ ማር ቢሆን ጨርስህ አትላሰው።
|
||||
እግርህን በፍራሽህ ልክ ዘርጋ።
|
||||
|
||||
Runes:
|
||||
|
||||
ᚻᛖ ᚳᚹᚫᚦ ᚦᚫᛏ ᚻᛖ ᛒᚢᛞᛖ ᚩᚾ ᚦᚫᛗ ᛚᚪᚾᛞᛖ ᚾᚩᚱᚦᚹᛖᚪᚱᛞᚢᛗ ᚹᛁᚦ ᚦᚪ ᚹᛖᛥᚫ
|
||||
|
||||
(Old English, which transcribed into Latin reads 'He cwaeth that he
|
||||
bude thaem lande northweardum with tha Westsae.' and means 'He said
|
||||
that he lived in the northern land near the Western Sea.')
|
||||
|
||||
Braille:
|
||||
|
||||
⡌⠁⠧⠑ ⠼⠁⠒ ⡍⠜⠇⠑⠹⠰⠎ ⡣⠕⠌
|
||||
|
||||
⡍⠜⠇⠑⠹ ⠺⠁⠎ ⠙⠑⠁⠙⠒ ⠞⠕ ⠃⠑⠛⠔ ⠺⠊⠹⠲ ⡹⠻⠑ ⠊⠎ ⠝⠕ ⠙⠳⠃⠞
|
||||
⠱⠁⠞⠑⠧⠻ ⠁⠃⠳⠞ ⠹⠁⠞⠲ ⡹⠑ ⠗⠑⠛⠊⠌⠻ ⠕⠋ ⠙⠊⠎ ⠃⠥⠗⠊⠁⠇ ⠺⠁⠎
|
||||
⠎⠊⠛⠝⠫ ⠃⠹ ⠹⠑ ⠊⠇⠻⠛⠹⠍⠁⠝⠂ ⠹⠑ ⠊⠇⠻⠅⠂ ⠹⠑ ⠥⠝⠙⠻⠞⠁⠅⠻⠂
|
||||
⠁⠝⠙ ⠹⠑ ⠡⠊⠑⠋ ⠍⠳⠗⠝⠻⠲ ⡎⠊⠗⠕⠕⠛⠑ ⠎⠊⠛⠝⠫ ⠊⠞⠲ ⡁⠝⠙
|
||||
⡎⠊⠗⠕⠕⠛⠑⠰⠎ ⠝⠁⠍⠑ ⠺⠁⠎ ⠛⠕⠕⠙ ⠥⠏⠕⠝ ⠰⡡⠁⠝⠛⠑⠂ ⠋⠕⠗ ⠁⠝⠹⠹⠔⠛ ⠙⠑
|
||||
⠡⠕⠎⠑ ⠞⠕ ⠏⠥⠞ ⠙⠊⠎ ⠙⠁⠝⠙ ⠞⠕⠲
|
||||
|
||||
⡕⠇⠙ ⡍⠜⠇⠑⠹ ⠺⠁⠎ ⠁⠎ ⠙⠑⠁⠙ ⠁⠎ ⠁ ⠙⠕⠕⠗⠤⠝⠁⠊⠇⠲
|
||||
|
||||
⡍⠔⠙⠖ ⡊ ⠙⠕⠝⠰⠞ ⠍⠑⠁⠝ ⠞⠕ ⠎⠁⠹ ⠹⠁⠞ ⡊ ⠅⠝⠪⠂ ⠕⠋ ⠍⠹
|
||||
⠪⠝ ⠅⠝⠪⠇⠫⠛⠑⠂ ⠱⠁⠞ ⠹⠻⠑ ⠊⠎ ⠏⠜⠞⠊⠊⠥⠇⠜⠇⠹ ⠙⠑⠁⠙ ⠁⠃⠳⠞
|
||||
⠁ ⠙⠕⠕⠗⠤⠝⠁⠊⠇⠲ ⡊ ⠍⠊⠣⠞ ⠙⠁⠧⠑ ⠃⠑⠲ ⠔⠊⠇⠔⠫⠂ ⠍⠹⠎⠑⠇⠋⠂ ⠞⠕
|
||||
⠗⠑⠛⠜⠙ ⠁ ⠊⠕⠋⠋⠔⠤⠝⠁⠊⠇ ⠁⠎ ⠹⠑ ⠙⠑⠁⠙⠑⠌ ⠏⠊⠑⠊⠑ ⠕⠋ ⠊⠗⠕⠝⠍⠕⠝⠛⠻⠹
|
||||
⠔ ⠹⠑ ⠞⠗⠁⠙⠑⠲ ⡃⠥⠞ ⠹⠑ ⠺⠊⠎⠙⠕⠍ ⠕⠋ ⠳⠗ ⠁⠝⠊⠑⠌⠕⠗⠎
|
||||
⠊⠎ ⠔ ⠹⠑ ⠎⠊⠍⠊⠇⠑⠆ ⠁⠝⠙ ⠍⠹ ⠥⠝⠙⠁⠇⠇⠪⠫ ⠙⠁⠝⠙⠎
|
||||
⠩⠁⠇⠇ ⠝⠕⠞ ⠙⠊⠌⠥⠗⠃ ⠊⠞⠂ ⠕⠗ ⠹⠑ ⡊⠳⠝⠞⠗⠹⠰⠎ ⠙⠕⠝⠑ ⠋⠕⠗⠲ ⡹⠳
|
||||
⠺⠊⠇⠇ ⠹⠻⠑⠋⠕⠗⠑ ⠏⠻⠍⠊⠞ ⠍⠑ ⠞⠕ ⠗⠑⠏⠑⠁⠞⠂ ⠑⠍⠏⠙⠁⠞⠊⠊⠁⠇⠇⠹⠂ ⠹⠁⠞
|
||||
⡍⠜⠇⠑⠹ ⠺⠁⠎ ⠁⠎ ⠙⠑⠁⠙ ⠁⠎ ⠁ ⠙⠕⠕⠗⠤⠝⠁⠊⠇⠲
|
||||
|
||||
(The first couple of paragraphs of "A Christmas Carol" by Dickens)
|
||||
|
||||
Compact font selection example text:
|
||||
|
||||
ABCDEFGHIJKLMNOPQRSTUVWXYZ /0123456789
|
||||
abcdefghijklmnopqrstuvwxyz £©µÀÆÖÞßéöÿ
|
||||
–—‘“”„†•…‰™œŠŸž€ ΑΒΓΔΩαβγδω АБВГДабвгд
|
||||
∀∂∈ℝ∧∪≡∞ ↑↗↨↻⇣ ┐┼╔╘░►☺♀ fi<>⑀₂ἠḂӥẄɐː⍎אԱა
|
||||
|
||||
Greetings in various languages:
|
||||
|
||||
Hello world, Καλημέρα κόσμε, コンニチハ
|
||||
|
||||
Box drawing alignment tests: █
|
||||
▉
|
||||
╔══╦══╗ ┌──┬──┐ ╭──┬──╮ ╭──┬──╮ ┏━━┳━━┓ ┎┒┏┑ ╷ ╻ ┏┯┓ ┌┰┐ ▊ ╱╲╱╲╳╳╳
|
||||
║┌─╨─┐║ │╔═╧═╗│ │╒═╪═╕│ │╓─╁─╖│ ┃┌─╂─┐┃ ┗╃╄┙ ╶┼╴╺╋╸┠┼┨ ┝╋┥ ▋ ╲╱╲╱╳╳╳
|
||||
║│╲ ╱│║ │║ ║│ ││ │ ││ │║ ┃ ║│ ┃│ ╿ │┃ ┍╅╆┓ ╵ ╹ ┗┷┛ └┸┘ ▌ ╱╲╱╲╳╳╳
|
||||
╠╡ ╳ ╞╣ ├╢ ╟┤ ├┼─┼─┼┤ ├╫─╂─╫┤ ┣┿╾┼╼┿┫ ┕┛┖┚ ┌┄┄┐ ╎ ┏┅┅┓ ┋ ▍ ╲╱╲╱╳╳╳
|
||||
║│╱ ╲│║ │║ ║│ ││ │ ││ │║ ┃ ║│ ┃│ ╽ │┃ ░░▒▒▓▓██ ┊ ┆ ╎ ╏ ┇ ┋ ▎
|
||||
║└─╥─┘║ │╚═╤═╝│ │╘═╪═╛│ │╙─╀─╜│ ┃└─╂─┘┃ ░░▒▒▓▓██ ┊ ┆ ╎ ╏ ┇ ┋ ▏
|
||||
╚══╩══╝ └──┴──┘ ╰──┴──╯ ╰──┴──╯ ┗━━┻━━┛ ▗▄▖▛▀▜ └╌╌┘ ╎ ┗╍╍┛ ┋ ▁▂▃▄▅▆▇█
|
||||
▝▀▘▙▄▟
|
||||
|
||||
Surrogates:
|
||||
|
||||
𠜎 𠜱 𠝹 𠱓 𠱸 𠲖 𠳏 𠳕 𠴕 𠵼 𠵿 𠸎 𠸏 𠹷 𠺝 𠺢 𠻗 𠻹 𠻺 𠼭 𠼮 𠽌 𠾴 𠾼 𠿪 𡁜 𡁯 𡁵 𡁶 𡁻 𡃁
|
||||
𡃉 𡇙 𢃇 𢞵 𢫕 𢭃 𢯊 𢱑 𢱕 𢳂 𢴈 𢵌 𢵧 𢺳 𣲷 𤓓 𤶸 𤷪 𥄫 𦉘 𦟌 𦧲 𦧺 𧨾 𨅝 𨈇 𨋢 𨳊 𨳍 𨳒 𩶘
|
||||
57
Tools/OSS/game-upload-function/node_modules/@protobufjs/utf8/tests/index.js
generated
vendored
57
Tools/OSS/game-upload-function/node_modules/@protobufjs/utf8/tests/index.js
generated
vendored
@ -1,57 +0,0 @@
|
||||
var tape = require("tape");
|
||||
|
||||
var utf8 = require("..");
|
||||
|
||||
var data = require("fs").readFileSync(require.resolve("./data/utf8.txt")),
|
||||
dataStr = data.toString("utf8");
|
||||
|
||||
tape.test("utf8", function(test) {
|
||||
|
||||
test.test(test.name + " - length", function(test) {
|
||||
test.equal(utf8.length(""), 0, "should return a byte length of zero for an empty string");
|
||||
|
||||
test.equal(utf8.length(dataStr), Buffer.byteLength(dataStr), "should return the same byte length as node buffers");
|
||||
|
||||
test.end();
|
||||
});
|
||||
|
||||
test.test(test.name + " - read", function(test) {
|
||||
var comp = utf8.read([], 0, 0);
|
||||
test.equal(comp, "", "should decode an empty buffer to an empty string");
|
||||
|
||||
comp = utf8.read(data, 0, data.length);
|
||||
test.equal(comp, data.toString("utf8"), "should decode to the same byte data as node buffers");
|
||||
|
||||
var longData = Buffer.concat([data, data, data, data]);
|
||||
comp = utf8.read(longData, 0, longData.length);
|
||||
test.equal(comp, longData.toString("utf8"), "should decode to the same byte data as node buffers (long)");
|
||||
|
||||
var chunkData = new Buffer(data.toString("utf8").substring(0, 8192));
|
||||
comp = utf8.read(chunkData, 0, chunkData.length);
|
||||
test.equal(comp, chunkData.toString("utf8"), "should decode to the same byte data as node buffers (chunk size)");
|
||||
|
||||
test.end();
|
||||
});
|
||||
|
||||
test.test(test.name + " - write", function(test) {
|
||||
var buf = new Buffer(0);
|
||||
test.equal(utf8.write("", buf, 0), 0, "should encode an empty string to an empty buffer");
|
||||
|
||||
var len = utf8.length(dataStr);
|
||||
buf = new Buffer(len);
|
||||
test.equal(utf8.write(dataStr, buf, 0), len, "should encode to exactly " + len + " bytes");
|
||||
|
||||
test.equal(buf.length, data.length, "should encode to a buffer length equal to that of node buffers");
|
||||
|
||||
for (var i = 0; i < buf.length; ++i) {
|
||||
if (buf[i] !== data[i]) {
|
||||
test.fail("should encode to the same buffer data as node buffers (offset " + i + ")");
|
||||
return;
|
||||
}
|
||||
}
|
||||
test.pass("should encode to the same buffer data as node buffers");
|
||||
|
||||
test.end();
|
||||
});
|
||||
|
||||
});
|
||||
21
Tools/OSS/game-upload-function/node_modules/@types/long/LICENSE
generated
vendored
21
Tools/OSS/game-upload-function/node_modules/@types/long/LICENSE
generated
vendored
@ -1,21 +0,0 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) Microsoft Corporation.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE
|
||||
16
Tools/OSS/game-upload-function/node_modules/@types/long/README.md
generated
vendored
16
Tools/OSS/game-upload-function/node_modules/@types/long/README.md
generated
vendored
@ -1,16 +0,0 @@
|
||||
# Installation
|
||||
> `npm install --save @types/long`
|
||||
|
||||
# Summary
|
||||
This package contains type definitions for long.js (https://github.com/dcodeIO/long.js).
|
||||
|
||||
# Details
|
||||
Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/long.
|
||||
|
||||
### Additional Details
|
||||
* Last updated: Tue, 26 Apr 2022 19:31:52 GMT
|
||||
* Dependencies: none
|
||||
* Global values: `Long`
|
||||
|
||||
# Credits
|
||||
These definitions were written by [Peter Kooijmans](https://github.com/peterkooijmans).
|
||||
389
Tools/OSS/game-upload-function/node_modules/@types/long/index.d.ts
generated
vendored
389
Tools/OSS/game-upload-function/node_modules/@types/long/index.d.ts
generated
vendored
@ -1,389 +0,0 @@
|
||||
// Type definitions for long.js 4.0.0
|
||||
// Project: https://github.com/dcodeIO/long.js
|
||||
// Definitions by: Peter Kooijmans <https://github.com/peterkooijmans>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
// Definitions by: Denis Cappellin <https://github.com/cappellin>
|
||||
|
||||
export = Long;
|
||||
export as namespace Long;
|
||||
|
||||
declare const Long: Long.LongConstructor;
|
||||
type Long = Long.Long;
|
||||
declare namespace Long {
|
||||
interface LongConstructor {
|
||||
/**
|
||||
* Constructs a 64 bit two's-complement integer, given its low and high 32 bit values as signed integers. See the from* functions below for more convenient ways of constructing Longs.
|
||||
*/
|
||||
new( low: number, high?: number, unsigned?: boolean ): Long;
|
||||
prototype: Long;
|
||||
/**
|
||||
* Maximum unsigned value.
|
||||
*/
|
||||
MAX_UNSIGNED_VALUE: Long;
|
||||
|
||||
/**
|
||||
* Maximum signed value.
|
||||
*/
|
||||
MAX_VALUE: Long;
|
||||
|
||||
/**
|
||||
* Minimum signed value.
|
||||
*/
|
||||
MIN_VALUE: Long;
|
||||
|
||||
/**
|
||||
* Signed negative one.
|
||||
*/
|
||||
NEG_ONE: Long;
|
||||
|
||||
/**
|
||||
* Signed one.
|
||||
*/
|
||||
ONE: Long;
|
||||
|
||||
/**
|
||||
* Unsigned one.
|
||||
*/
|
||||
UONE: Long;
|
||||
|
||||
/**
|
||||
* Unsigned zero.
|
||||
*/
|
||||
UZERO: Long;
|
||||
|
||||
/**
|
||||
* Signed zero
|
||||
*/
|
||||
ZERO: Long;
|
||||
|
||||
/**
|
||||
* Returns a Long representing the 64 bit integer that comes by concatenating the given low and high bits. Each is assumed to use 32 bits.
|
||||
*/
|
||||
fromBits( lowBits:number, highBits:number, unsigned?:boolean ): Long;
|
||||
|
||||
/**
|
||||
* Returns a Long representing the given 32 bit integer value.
|
||||
*/
|
||||
fromInt( value: number, unsigned?: boolean ): Long;
|
||||
|
||||
/**
|
||||
* Returns a Long representing the given value, provided that it is a finite number. Otherwise, zero is returned.
|
||||
*/
|
||||
fromNumber( value: number, unsigned?: boolean ): Long;
|
||||
|
||||
/**
|
||||
* Returns a Long representation of the given string, written using the specified radix.
|
||||
*/
|
||||
fromString( str: string, unsigned?: boolean | number, radix?: number ): Long;
|
||||
|
||||
/**
|
||||
* Creates a Long from its byte representation.
|
||||
*/
|
||||
fromBytes( bytes: number[], unsigned?: boolean, le?: boolean ): Long;
|
||||
|
||||
/**
|
||||
* Creates a Long from its little endian byte representation.
|
||||
*/
|
||||
fromBytesLE( bytes: number[], unsigned?: boolean ): Long;
|
||||
|
||||
/**
|
||||
* Creates a Long from its little endian byte representation.
|
||||
*/
|
||||
fromBytesBE( bytes: number[], unsigned?: boolean ): Long;
|
||||
|
||||
/**
|
||||
* Tests if the specified object is a Long.
|
||||
*/
|
||||
isLong( obj: any ): obj is Long;
|
||||
|
||||
/**
|
||||
* Converts the specified value to a Long.
|
||||
*/
|
||||
fromValue( val: Long | number | string | {low: number, high: number, unsigned: boolean}, unsigned?: boolean ): Long;
|
||||
}
|
||||
interface Long
|
||||
{
|
||||
/**
|
||||
* The high 32 bits as a signed value.
|
||||
*/
|
||||
high: number;
|
||||
|
||||
/**
|
||||
* The low 32 bits as a signed value.
|
||||
*/
|
||||
low: number;
|
||||
|
||||
/**
|
||||
* Whether unsigned or not.
|
||||
*/
|
||||
unsigned: boolean;
|
||||
|
||||
/**
|
||||
* Returns the sum of this and the specified Long.
|
||||
*/
|
||||
add( addend: number | Long | string ): Long;
|
||||
|
||||
/**
|
||||
* Returns the bitwise AND of this Long and the specified.
|
||||
*/
|
||||
and( other: Long | number | string ): Long;
|
||||
|
||||
/**
|
||||
* Compares this Long's value with the specified's.
|
||||
*/
|
||||
compare( other: Long | number | string ): number;
|
||||
|
||||
/**
|
||||
* Compares this Long's value with the specified's.
|
||||
*/
|
||||
comp( other: Long | number | string ): number;
|
||||
|
||||
/**
|
||||
* Returns this Long divided by the specified.
|
||||
*/
|
||||
divide( divisor: Long | number | string ): Long;
|
||||
|
||||
/**
|
||||
* Returns this Long divided by the specified.
|
||||
*/
|
||||
div( divisor: Long | number | string ): Long;
|
||||
|
||||
/**
|
||||
* Tests if this Long's value equals the specified's.
|
||||
*/
|
||||
equals( other: Long | number | string ): boolean;
|
||||
|
||||
/**
|
||||
* Tests if this Long's value equals the specified's.
|
||||
*/
|
||||
eq( other: Long | number | string ): boolean;
|
||||
|
||||
/**
|
||||
* Gets the high 32 bits as a signed integer.
|
||||
*/
|
||||
getHighBits(): number;
|
||||
|
||||
/**
|
||||
* Gets the high 32 bits as an unsigned integer.
|
||||
*/
|
||||
getHighBitsUnsigned(): number;
|
||||
|
||||
/**
|
||||
* Gets the low 32 bits as a signed integer.
|
||||
*/
|
||||
getLowBits(): number;
|
||||
|
||||
/**
|
||||
* Gets the low 32 bits as an unsigned integer.
|
||||
*/
|
||||
getLowBitsUnsigned(): number;
|
||||
|
||||
/**
|
||||
* Gets the number of bits needed to represent the absolute value of this Long.
|
||||
*/
|
||||
getNumBitsAbs(): number;
|
||||
|
||||
/**
|
||||
* Tests if this Long's value is greater than the specified's.
|
||||
*/
|
||||
greaterThan( other: Long | number | string ): boolean;
|
||||
|
||||
/**
|
||||
* Tests if this Long's value is greater than the specified's.
|
||||
*/
|
||||
gt( other: Long | number | string ): boolean;
|
||||
|
||||
/**
|
||||
* Tests if this Long's value is greater than or equal the specified's.
|
||||
*/
|
||||
greaterThanOrEqual( other: Long | number | string ): boolean;
|
||||
|
||||
/**
|
||||
* Tests if this Long's value is greater than or equal the specified's.
|
||||
*/
|
||||
gte( other: Long | number | string ): boolean;
|
||||
|
||||
/**
|
||||
* Tests if this Long's value is even.
|
||||
*/
|
||||
isEven(): boolean;
|
||||
|
||||
/**
|
||||
* Tests if this Long's value is negative.
|
||||
*/
|
||||
isNegative(): boolean;
|
||||
|
||||
/**
|
||||
* Tests if this Long's value is odd.
|
||||
*/
|
||||
isOdd(): boolean;
|
||||
|
||||
/**
|
||||
* Tests if this Long's value is positive.
|
||||
*/
|
||||
isPositive(): boolean;
|
||||
|
||||
/**
|
||||
* Tests if this Long's value equals zero.
|
||||
*/
|
||||
isZero(): boolean;
|
||||
|
||||
/**
|
||||
* Tests if this Long's value is less than the specified's.
|
||||
*/
|
||||
lessThan( other: Long | number | string ): boolean;
|
||||
|
||||
/**
|
||||
* Tests if this Long's value is less than the specified's.
|
||||
*/
|
||||
lt( other: Long | number | string ): boolean;
|
||||
|
||||
/**
|
||||
* Tests if this Long's value is less than or equal the specified's.
|
||||
*/
|
||||
lessThanOrEqual( other: Long | number | string ): boolean;
|
||||
|
||||
/**
|
||||
* Tests if this Long's value is less than or equal the specified's.
|
||||
*/
|
||||
lte( other: Long | number | string ): boolean;
|
||||
|
||||
/**
|
||||
* Returns this Long modulo the specified.
|
||||
*/
|
||||
modulo( other: Long | number | string ): Long;
|
||||
|
||||
/**
|
||||
* Returns this Long modulo the specified.
|
||||
*/
|
||||
mod( other: Long | number | string ): Long;
|
||||
|
||||
/**
|
||||
* Returns the product of this and the specified Long.
|
||||
*/
|
||||
multiply( multiplier: Long | number | string ): Long;
|
||||
|
||||
/**
|
||||
* Returns the product of this and the specified Long.
|
||||
*/
|
||||
mul( multiplier: Long | number | string ): Long;
|
||||
|
||||
/**
|
||||
* Negates this Long's value.
|
||||
*/
|
||||
negate(): Long;
|
||||
|
||||
/**
|
||||
* Negates this Long's value.
|
||||
*/
|
||||
neg(): Long;
|
||||
|
||||
/**
|
||||
* Returns the bitwise NOT of this Long.
|
||||
*/
|
||||
not(): Long;
|
||||
|
||||
/**
|
||||
* Tests if this Long's value differs from the specified's.
|
||||
*/
|
||||
notEquals( other: Long | number | string ): boolean;
|
||||
|
||||
/**
|
||||
* Tests if this Long's value differs from the specified's.
|
||||
*/
|
||||
neq( other: Long | number | string ): boolean;
|
||||
|
||||
/**
|
||||
* Returns the bitwise OR of this Long and the specified.
|
||||
*/
|
||||
or( other: Long | number | string ): Long;
|
||||
|
||||
/**
|
||||
* Returns this Long with bits shifted to the left by the given amount.
|
||||
*/
|
||||
shiftLeft( numBits: number | Long ): Long;
|
||||
|
||||
/**
|
||||
* Returns this Long with bits shifted to the left by the given amount.
|
||||
*/
|
||||
shl( numBits: number | Long ): Long;
|
||||
|
||||
/**
|
||||
* Returns this Long with bits arithmetically shifted to the right by the given amount.
|
||||
*/
|
||||
shiftRight( numBits: number | Long ): Long;
|
||||
|
||||
/**
|
||||
* Returns this Long with bits arithmetically shifted to the right by the given amount.
|
||||
*/
|
||||
shr( numBits: number | Long ): Long;
|
||||
|
||||
/**
|
||||
* Returns this Long with bits logically shifted to the right by the given amount.
|
||||
*/
|
||||
shiftRightUnsigned( numBits: number | Long ): Long;
|
||||
|
||||
/**
|
||||
* Returns this Long with bits logically shifted to the right by the given amount.
|
||||
*/
|
||||
shru( numBits: number | Long ): Long;
|
||||
|
||||
/**
|
||||
* Returns the difference of this and the specified Long.
|
||||
*/
|
||||
subtract( subtrahend: number | Long | string ): Long;
|
||||
|
||||
/**
|
||||
* Returns the difference of this and the specified Long.
|
||||
*/
|
||||
sub( subtrahend: number | Long |string ): Long;
|
||||
|
||||
/**
|
||||
* Converts the Long to a 32 bit integer, assuming it is a 32 bit integer.
|
||||
*/
|
||||
toInt(): number;
|
||||
|
||||
/**
|
||||
* Converts the Long to a the nearest floating-point representation of this value (double, 53 bit mantissa).
|
||||
*/
|
||||
toNumber(): number;
|
||||
|
||||
/**
|
||||
* Converts this Long to its byte representation.
|
||||
*/
|
||||
|
||||
toBytes( le?: boolean ): number[];
|
||||
|
||||
/**
|
||||
* Converts this Long to its little endian byte representation.
|
||||
*/
|
||||
|
||||
toBytesLE(): number[];
|
||||
|
||||
/**
|
||||
* Converts this Long to its big endian byte representation.
|
||||
*/
|
||||
|
||||
toBytesBE(): number[];
|
||||
|
||||
/**
|
||||
* Converts this Long to signed.
|
||||
*/
|
||||
toSigned(): Long;
|
||||
|
||||
/**
|
||||
* Converts the Long to a string written in the specified radix.
|
||||
*/
|
||||
toString( radix?: number ): string;
|
||||
|
||||
/**
|
||||
* Converts this Long to unsigned.
|
||||
*/
|
||||
toUnsigned(): Long;
|
||||
|
||||
/**
|
||||
* Returns the bitwise XOR of this Long and the given one.
|
||||
*/
|
||||
xor( other: Long | number | string ): Long;
|
||||
}
|
||||
}
|
||||
25
Tools/OSS/game-upload-function/node_modules/@types/long/package.json
generated
vendored
25
Tools/OSS/game-upload-function/node_modules/@types/long/package.json
generated
vendored
@ -1,25 +0,0 @@
|
||||
{
|
||||
"name": "@types/long",
|
||||
"version": "4.0.2",
|
||||
"description": "TypeScript definitions for long.js",
|
||||
"homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/long",
|
||||
"license": "MIT",
|
||||
"contributors": [
|
||||
{
|
||||
"name": "Peter Kooijmans",
|
||||
"url": "https://github.com/peterkooijmans",
|
||||
"githubUsername": "peterkooijmans"
|
||||
}
|
||||
],
|
||||
"main": "",
|
||||
"types": "index.d.ts",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/DefinitelyTyped/DefinitelyTyped.git",
|
||||
"directory": "types/long"
|
||||
},
|
||||
"scripts": {},
|
||||
"dependencies": {},
|
||||
"typesPublisherContentHash": "ce51a9fcaeb3f15cee5396e1c4f4b5ca2986a066f9bbe885a51dcdc6dbb22fd5",
|
||||
"typeScriptVersion": "3.9"
|
||||
}
|
||||
21
Tools/OSS/game-upload-function/node_modules/@types/node/LICENSE
generated
vendored
21
Tools/OSS/game-upload-function/node_modules/@types/node/LICENSE
generated
vendored
@ -1,21 +0,0 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) Microsoft Corporation.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE
|
||||
15
Tools/OSS/game-upload-function/node_modules/@types/node/README.md
generated
vendored
15
Tools/OSS/game-upload-function/node_modules/@types/node/README.md
generated
vendored
@ -1,15 +0,0 @@
|
||||
# Installation
|
||||
> `npm install --save @types/node`
|
||||
|
||||
# Summary
|
||||
This package contains type definitions for node (https://nodejs.org/).
|
||||
|
||||
# Details
|
||||
Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node/v20.
|
||||
|
||||
### Additional Details
|
||||
* Last updated: Sun, 08 Feb 2026 00:09:19 GMT
|
||||
* Dependencies: [undici-types](https://npmjs.com/package/undici-types)
|
||||
|
||||
# Credits
|
||||
These definitions were written by [Microsoft TypeScript](https://github.com/Microsoft), [Alberto Schiabel](https://github.com/jkomyno), [Andrew Makarov](https://github.com/r3nya), [Benjamin Toueg](https://github.com/btoueg), [David Junger](https://github.com/touffy), [Mohsen Azimi](https://github.com/mohsen1), [Nikita Galkin](https://github.com/galkin), [Sebastian Silbermann](https://github.com/eps1lon), [Wilco Bakker](https://github.com/WilcoBakker), [Marcin Kopacz](https://github.com/chyzwar), [Trivikram Kamat](https://github.com/trivikr), [Junxiao Shi](https://github.com/yoursunny), [Ilia Baryshnikov](https://github.com/qwelias), [ExE Boss](https://github.com/ExE-Boss), [Piotr Błażejewicz](https://github.com/peterblazejewicz), [Anna Henningsen](https://github.com/addaleax), [Victor Perin](https://github.com/victorperin), [NodeJS Contributors](https://github.com/NodeJS), [Linus Unnebäck](https://github.com/LinusU), [wafuwafu13](https://github.com/wafuwafu13), [Matteo Collina](https://github.com/mcollina), and [Dmitry Semigradsky](https://github.com/Semigradsky).
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user