@lycoristech/azurdata 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +25 -0
- package/README.md +123 -0
- package/data/.gitkeep +0 -0
- package/data/id-map.json +3530 -0
- package/data/ship-list.json +4478 -0
- package/data/ships.json +143282 -0
- package/data/version.json +5 -0
- package/dist/cjs/client/AzurData.js +69 -0
- package/dist/cjs/client/fetcher.js +121 -0
- package/dist/cjs/client/index.js +7 -0
- package/dist/cjs/client/ships.js +80 -0
- package/dist/cjs/config.js +14 -0
- package/dist/cjs/index.js +6 -0
- package/dist/cjs/ingest/files.js +134 -0
- package/dist/cjs/ingest/index.js +18 -0
- package/dist/cjs/ingest/upstream.js +12 -0
- package/dist/cjs/normalize/construction.js +186 -0
- package/dist/cjs/normalize/identity.js +131 -0
- package/dist/cjs/normalize/index.js +25 -0
- package/dist/cjs/normalize/misc.js +31 -0
- package/dist/cjs/normalize/retrofit.js +21 -0
- package/dist/cjs/normalize/ship.js +406 -0
- package/dist/cjs/normalize/skills.js +194 -0
- package/dist/cjs/normalize/skins.js +141 -0
- package/dist/cjs/normalize/slots.js +35 -0
- package/dist/cjs/normalize/stats.js +182 -0
- package/dist/cjs/output/index.js +20 -0
- package/dist/cjs/output/writeIdMap.js +52 -0
- package/dist/cjs/output/writeShipList.js +31 -0
- package/dist/cjs/output/writeShips.js +33 -0
- package/dist/cjs/output/writeVersion.js +23 -0
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/schema/output/index.js +17 -0
- package/dist/cjs/schema/output/ship.js +169 -0
- package/dist/cjs/schema/raw/attributeInfoByType.js +11 -0
- package/dist/cjs/schema/raw/equipDataByType.js +12 -0
- package/dist/cjs/schema/raw/fleetTechGroup.js +10 -0
- package/dist/cjs/schema/raw/fleetTechShipClass.js +15 -0
- package/dist/cjs/schema/raw/fleetTechShipTemplate.js +20 -0
- package/dist/cjs/schema/raw/index.js +38 -0
- package/dist/cjs/schema/raw/shipDataBlueprint.js +11 -0
- package/dist/cjs/schema/raw/shipDataBreakout.js +17 -0
- package/dist/cjs/schema/raw/shipDataByStar.js +10 -0
- package/dist/cjs/schema/raw/shipDataByType.js +13 -0
- package/dist/cjs/schema/raw/shipDataCreateExchange.js +10 -0
- package/dist/cjs/schema/raw/shipDataGroup.js +22 -0
- package/dist/cjs/schema/raw/shipDataStatistics.js +24 -0
- package/dist/cjs/schema/raw/shipDataStrengthen.js +12 -0
- package/dist/cjs/schema/raw/shipDataTemplate.js +26 -0
- package/dist/cjs/schema/raw/shipDataTrans.js +13 -0
- package/dist/cjs/schema/raw/shipSkinTemplate.js +23 -0
- package/dist/cjs/schema/raw/shipSkinWords.js +11 -0
- package/dist/cjs/schema/raw/shopTemplate.js +14 -0
- package/dist/cjs/schema/raw/skillDataDisplay.js +11 -0
- package/dist/cjs/schema/raw/skillDataTemplate.js +17 -0
- package/dist/cjs/schema/raw/transformDataTemplate.js +18 -0
- package/dist/cjs/schema/raw/voiceActorCn.js +11 -0
- package/dist/cjs/translate/enums.js +131 -0
- package/dist/cjs/translate/index.js +19 -0
- package/dist/cjs/translate/lookups.js +63 -0
- package/dist/cjs/translate/strings.js +98 -0
- package/dist/client/AzurData.d.ts +25 -0
- package/dist/client/AzurData.d.ts.map +1 -0
- package/dist/client/AzurData.js +63 -0
- package/dist/client/AzurData.js.map +1 -0
- package/dist/client/fetcher.d.ts +25 -0
- package/dist/client/fetcher.d.ts.map +1 -0
- package/dist/client/fetcher.js +116 -0
- package/dist/client/fetcher.js.map +1 -0
- package/dist/client/index.d.ts +4 -0
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/index.js +3 -0
- package/dist/client/index.js.map +1 -0
- package/dist/client/ships.d.ts +20 -0
- package/dist/client/ships.d.ts.map +1 -0
- package/dist/client/ships.js +74 -0
- package/dist/client/ships.js.map +1 -0
- package/dist/config.d.ts +5 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +12 -0
- package/dist/config.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/dist/ingest/files.d.ts +25 -0
- package/dist/ingest/files.d.ts.map +1 -0
- package/dist/ingest/files.js +108 -0
- package/dist/ingest/files.js.map +1 -0
- package/dist/ingest/index.d.ts +3 -0
- package/dist/ingest/index.d.ts.map +1 -0
- package/dist/ingest/index.js +3 -0
- package/dist/ingest/index.js.map +1 -0
- package/dist/ingest/upstream.d.ts +4 -0
- package/dist/ingest/upstream.d.ts.map +1 -0
- package/dist/ingest/upstream.js +6 -0
- package/dist/ingest/upstream.js.map +1 -0
- package/dist/normalize/construction.d.ts +30 -0
- package/dist/normalize/construction.d.ts.map +1 -0
- package/dist/normalize/construction.js +184 -0
- package/dist/normalize/construction.js.map +1 -0
- package/dist/normalize/identity.d.ts +47 -0
- package/dist/normalize/identity.d.ts.map +1 -0
- package/dist/normalize/identity.js +129 -0
- package/dist/normalize/identity.js.map +1 -0
- package/dist/normalize/index.d.ts +10 -0
- package/dist/normalize/index.d.ts.map +1 -0
- package/dist/normalize/index.js +10 -0
- package/dist/normalize/index.js.map +1 -0
- package/dist/normalize/misc.d.ts +15 -0
- package/dist/normalize/misc.d.ts.map +1 -0
- package/dist/normalize/misc.js +29 -0
- package/dist/normalize/misc.js.map +1 -0
- package/dist/normalize/retrofit.d.ts +14 -0
- package/dist/normalize/retrofit.d.ts.map +1 -0
- package/dist/normalize/retrofit.js +19 -0
- package/dist/normalize/retrofit.js.map +1 -0
- package/dist/normalize/ship.d.ts +67 -0
- package/dist/normalize/ship.d.ts.map +1 -0
- package/dist/normalize/ship.js +369 -0
- package/dist/normalize/ship.js.map +1 -0
- package/dist/normalize/skills.d.ts +20 -0
- package/dist/normalize/skills.d.ts.map +1 -0
- package/dist/normalize/skills.js +192 -0
- package/dist/normalize/skills.js.map +1 -0
- package/dist/normalize/skins.d.ts +14 -0
- package/dist/normalize/skins.d.ts.map +1 -0
- package/dist/normalize/skins.js +139 -0
- package/dist/normalize/skins.js.map +1 -0
- package/dist/normalize/slots.d.ts +14 -0
- package/dist/normalize/slots.d.ts.map +1 -0
- package/dist/normalize/slots.js +33 -0
- package/dist/normalize/slots.js.map +1 -0
- package/dist/normalize/stats.d.ts +19 -0
- package/dist/normalize/stats.d.ts.map +1 -0
- package/dist/normalize/stats.js +180 -0
- package/dist/normalize/stats.js.map +1 -0
- package/dist/output/index.d.ts +5 -0
- package/dist/output/index.d.ts.map +1 -0
- package/dist/output/index.js +5 -0
- package/dist/output/index.js.map +1 -0
- package/dist/output/writeIdMap.d.ts +16 -0
- package/dist/output/writeIdMap.d.ts.map +1 -0
- package/dist/output/writeIdMap.js +47 -0
- package/dist/output/writeIdMap.js.map +1 -0
- package/dist/output/writeShipList.d.ts +9 -0
- package/dist/output/writeShipList.d.ts.map +1 -0
- package/dist/output/writeShipList.js +26 -0
- package/dist/output/writeShipList.js.map +1 -0
- package/dist/output/writeShips.d.ts +15 -0
- package/dist/output/writeShips.d.ts.map +1 -0
- package/dist/output/writeShips.js +28 -0
- package/dist/output/writeShips.js.map +1 -0
- package/dist/output/writeVersion.d.ts +11 -0
- package/dist/output/writeVersion.d.ts.map +1 -0
- package/dist/output/writeVersion.js +18 -0
- package/dist/output/writeVersion.js.map +1 -0
- package/dist/schema/output/index.d.ts +2 -0
- package/dist/schema/output/index.d.ts.map +1 -0
- package/dist/schema/output/index.js +2 -0
- package/dist/schema/output/index.js.map +1 -0
- package/dist/schema/output/ship.d.ts +977 -0
- package/dist/schema/output/ship.d.ts.map +1 -0
- package/dist/schema/output/ship.js +167 -0
- package/dist/schema/output/ship.js.map +1 -0
- package/dist/schema/raw/attributeInfoByType.d.ts +25 -0
- package/dist/schema/raw/attributeInfoByType.d.ts.map +1 -0
- package/dist/schema/raw/attributeInfoByType.js +9 -0
- package/dist/schema/raw/attributeInfoByType.js.map +1 -0
- package/dist/schema/raw/equipDataByType.d.ts +31 -0
- package/dist/schema/raw/equipDataByType.d.ts.map +1 -0
- package/dist/schema/raw/equipDataByType.js +10 -0
- package/dist/schema/raw/equipDataByType.js.map +1 -0
- package/dist/schema/raw/fleetTechGroup.d.ts +19 -0
- package/dist/schema/raw/fleetTechGroup.d.ts.map +1 -0
- package/dist/schema/raw/fleetTechGroup.js +8 -0
- package/dist/schema/raw/fleetTechGroup.js.map +1 -0
- package/dist/schema/raw/fleetTechShipClass.d.ts +49 -0
- package/dist/schema/raw/fleetTechShipClass.d.ts.map +1 -0
- package/dist/schema/raw/fleetTechShipClass.js +13 -0
- package/dist/schema/raw/fleetTechShipClass.js.map +1 -0
- package/dist/schema/raw/fleetTechShipTemplate.d.ts +79 -0
- package/dist/schema/raw/fleetTechShipTemplate.d.ts.map +1 -0
- package/dist/schema/raw/fleetTechShipTemplate.js +18 -0
- package/dist/schema/raw/fleetTechShipTemplate.js.map +1 -0
- package/dist/schema/raw/index.d.ts +23 -0
- package/dist/schema/raw/index.d.ts.map +1 -0
- package/dist/schema/raw/index.js +23 -0
- package/dist/schema/raw/index.js.map +1 -0
- package/dist/schema/raw/shipDataBlueprint.d.ts +25 -0
- package/dist/schema/raw/shipDataBlueprint.d.ts.map +1 -0
- package/dist/schema/raw/shipDataBlueprint.js +9 -0
- package/dist/schema/raw/shipDataBlueprint.js.map +1 -0
- package/dist/schema/raw/shipDataBreakout.d.ts +61 -0
- package/dist/schema/raw/shipDataBreakout.d.ts.map +1 -0
- package/dist/schema/raw/shipDataBreakout.js +15 -0
- package/dist/schema/raw/shipDataBreakout.js.map +1 -0
- package/dist/schema/raw/shipDataByStar.d.ts +19 -0
- package/dist/schema/raw/shipDataByStar.d.ts.map +1 -0
- package/dist/schema/raw/shipDataByStar.js +8 -0
- package/dist/schema/raw/shipDataByStar.js.map +1 -0
- package/dist/schema/raw/shipDataByType.d.ts +37 -0
- package/dist/schema/raw/shipDataByType.d.ts.map +1 -0
- package/dist/schema/raw/shipDataByType.js +11 -0
- package/dist/schema/raw/shipDataByType.js.map +1 -0
- package/dist/schema/raw/shipDataCreateExchange.d.ts +19 -0
- package/dist/schema/raw/shipDataCreateExchange.d.ts.map +1 -0
- package/dist/schema/raw/shipDataCreateExchange.js +8 -0
- package/dist/schema/raw/shipDataCreateExchange.js.map +1 -0
- package/dist/schema/raw/shipDataGroup.d.ts +79 -0
- package/dist/schema/raw/shipDataGroup.d.ts.map +1 -0
- package/dist/schema/raw/shipDataGroup.js +20 -0
- package/dist/schema/raw/shipDataGroup.js.map +1 -0
- package/dist/schema/raw/shipDataStatistics.d.ts +103 -0
- package/dist/schema/raw/shipDataStatistics.d.ts.map +1 -0
- package/dist/schema/raw/shipDataStatistics.js +22 -0
- package/dist/schema/raw/shipDataStatistics.js.map +1 -0
- package/dist/schema/raw/shipDataStrengthen.d.ts +31 -0
- package/dist/schema/raw/shipDataStrengthen.d.ts.map +1 -0
- package/dist/schema/raw/shipDataStrengthen.js +10 -0
- package/dist/schema/raw/shipDataStrengthen.js.map +1 -0
- package/dist/schema/raw/shipDataTemplate.d.ts +115 -0
- package/dist/schema/raw/shipDataTemplate.d.ts.map +1 -0
- package/dist/schema/raw/shipDataTemplate.js +24 -0
- package/dist/schema/raw/shipDataTemplate.js.map +1 -0
- package/dist/schema/raw/shipDataTrans.d.ts +37 -0
- package/dist/schema/raw/shipDataTrans.d.ts.map +1 -0
- package/dist/schema/raw/shipDataTrans.js +11 -0
- package/dist/schema/raw/shipDataTrans.js.map +1 -0
- package/dist/schema/raw/shipSkinTemplate.d.ts +97 -0
- package/dist/schema/raw/shipSkinTemplate.d.ts.map +1 -0
- package/dist/schema/raw/shipSkinTemplate.js +21 -0
- package/dist/schema/raw/shipSkinTemplate.js.map +1 -0
- package/dist/schema/raw/shipSkinWords.d.ts +25 -0
- package/dist/schema/raw/shipSkinWords.d.ts.map +1 -0
- package/dist/schema/raw/shipSkinWords.js +9 -0
- package/dist/schema/raw/shipSkinWords.js.map +1 -0
- package/dist/schema/raw/shopTemplate.d.ts +43 -0
- package/dist/schema/raw/shopTemplate.d.ts.map +1 -0
- package/dist/schema/raw/shopTemplate.js +12 -0
- package/dist/schema/raw/shopTemplate.js.map +1 -0
- package/dist/schema/raw/skillDataDisplay.d.ts +25 -0
- package/dist/schema/raw/skillDataDisplay.d.ts.map +1 -0
- package/dist/schema/raw/skillDataDisplay.js +9 -0
- package/dist/schema/raw/skillDataDisplay.js.map +1 -0
- package/dist/schema/raw/skillDataTemplate.d.ts +61 -0
- package/dist/schema/raw/skillDataTemplate.d.ts.map +1 -0
- package/dist/schema/raw/skillDataTemplate.js +15 -0
- package/dist/schema/raw/skillDataTemplate.js.map +1 -0
- package/dist/schema/raw/transformDataTemplate.d.ts +67 -0
- package/dist/schema/raw/transformDataTemplate.d.ts.map +1 -0
- package/dist/schema/raw/transformDataTemplate.js +16 -0
- package/dist/schema/raw/transformDataTemplate.js.map +1 -0
- package/dist/schema/raw/voiceActorCn.d.ts +25 -0
- package/dist/schema/raw/voiceActorCn.d.ts.map +1 -0
- package/dist/schema/raw/voiceActorCn.js +9 -0
- package/dist/schema/raw/voiceActorCn.js.map +1 -0
- package/dist/translate/enums.d.ts +34 -0
- package/dist/translate/enums.d.ts.map +1 -0
- package/dist/translate/enums.js +126 -0
- package/dist/translate/enums.js.map +1 -0
- package/dist/translate/index.d.ts +4 -0
- package/dist/translate/index.d.ts.map +1 -0
- package/dist/translate/index.js +4 -0
- package/dist/translate/index.js.map +1 -0
- package/dist/translate/lookups.d.ts +37 -0
- package/dist/translate/lookups.d.ts.map +1 -0
- package/dist/translate/lookups.js +61 -0
- package/dist/translate/lookups.js.map +1 -0
- package/dist/translate/strings.d.ts +40 -0
- package/dist/translate/strings.d.ts.map +1 -0
- package/dist/translate/strings.js +92 -0
- package/dist/translate/strings.js.map +1 -0
- package/package.json +37 -0
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { THUMBNAILS_URL } from "../config.js";
|
|
2
|
+
import { rarityName, nationalityName } from "../translate/enums.js";
|
|
3
|
+
import { starsString, wikiUrlFor } from "../translate/strings.js";
|
|
4
|
+
// ---------------------------------------------------------------------------
|
|
5
|
+
// Helpers
|
|
6
|
+
// ---------------------------------------------------------------------------
|
|
7
|
+
/** Returns true if the string contains any CJK Unified Ideograph. */
|
|
8
|
+
function isLikelyChinese(s) {
|
|
9
|
+
return /[\u4e00-\u9fff]/.test(s);
|
|
10
|
+
}
|
|
11
|
+
// ---------------------------------------------------------------------------
|
|
12
|
+
// Main
|
|
13
|
+
// ---------------------------------------------------------------------------
|
|
14
|
+
export function normalizeIdentity(inputs) {
|
|
15
|
+
const { groupType, rowIds, en, cn, jp, isEnReleased, isResearch, blueprintVersion, groupRow, lookups, } = inputs;
|
|
16
|
+
// ------------------------------------------------------------------
|
|
17
|
+
// Resolve the LB3 row ID — the row whose key ends with "4", or last entry.
|
|
18
|
+
// ------------------------------------------------------------------
|
|
19
|
+
const lb3RowId = rowIds.find((id) => id.endsWith("4")) ?? rowIds[rowIds.length - 1] ?? groupType;
|
|
20
|
+
const enStats = en.statistics[lb3RowId];
|
|
21
|
+
if (enStats === undefined) {
|
|
22
|
+
throw new Error(`normalizeIdentity: missing EN statistics row "${lb3RowId}" for group_type "${groupType}"`);
|
|
23
|
+
}
|
|
24
|
+
const enTemplate = en.template[lb3RowId];
|
|
25
|
+
if (enTemplate === undefined) {
|
|
26
|
+
throw new Error(`normalizeIdentity: missing EN template row "${lb3RowId}" for group_type "${groupType}"`);
|
|
27
|
+
}
|
|
28
|
+
// ------------------------------------------------------------------
|
|
29
|
+
// Names
|
|
30
|
+
// ------------------------------------------------------------------
|
|
31
|
+
// EN name: prefer statistics.name if not Chinese, else fall back to english_name
|
|
32
|
+
let nameEn;
|
|
33
|
+
const rawName = enStats.name;
|
|
34
|
+
const rawEnglishName = enStats.english_name;
|
|
35
|
+
if (!isLikelyChinese(rawName) && rawName.trim().length > 0) {
|
|
36
|
+
nameEn = rawName;
|
|
37
|
+
}
|
|
38
|
+
else if (rawEnglishName !== undefined && rawEnglishName.trim().length > 0 && !isLikelyChinese(rawEnglishName)) {
|
|
39
|
+
nameEn = rawEnglishName;
|
|
40
|
+
}
|
|
41
|
+
// else: both are Chinese/empty → nameEn stays undefined
|
|
42
|
+
// CN name: from cn.statistics matching row if it looks Chinese; else fall back
|
|
43
|
+
// to the EN name field if that was the Chinese value.
|
|
44
|
+
let nameCn;
|
|
45
|
+
if (cn !== undefined) {
|
|
46
|
+
const cnStats = cn.statistics[lb3RowId];
|
|
47
|
+
if (cnStats !== undefined && cnStats.name.trim().length > 0 && isLikelyChinese(cnStats.name)) {
|
|
48
|
+
nameCn = cnStats.name;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
if (nameCn === undefined && isLikelyChinese(rawName)) {
|
|
52
|
+
nameCn = rawName;
|
|
53
|
+
}
|
|
54
|
+
// JP name: from jp.statistics matching row if provided
|
|
55
|
+
let nameJp;
|
|
56
|
+
if (jp !== undefined) {
|
|
57
|
+
const jpStats = jp.statistics[lb3RowId];
|
|
58
|
+
if (jpStats !== undefined && jpStats.name.trim().length > 0) {
|
|
59
|
+
nameJp = jpStats.name;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
// Code: english_name from EN statistics
|
|
63
|
+
const nameCode = rawEnglishName !== undefined && rawEnglishName.trim().length > 0 ? rawEnglishName : undefined;
|
|
64
|
+
const names = {};
|
|
65
|
+
if (nameEn !== undefined)
|
|
66
|
+
names.en = nameEn;
|
|
67
|
+
if (nameCn !== undefined)
|
|
68
|
+
names.cn = nameCn;
|
|
69
|
+
if (nameJp !== undefined)
|
|
70
|
+
names.jp = nameJp;
|
|
71
|
+
if (nameCode !== undefined)
|
|
72
|
+
names.code = nameCode;
|
|
73
|
+
// ------------------------------------------------------------------
|
|
74
|
+
// Rarity
|
|
75
|
+
// ------------------------------------------------------------------
|
|
76
|
+
const rarityInt = enStats.rarity;
|
|
77
|
+
const rarity = rarityName(rarityInt, isResearch, blueprintVersion);
|
|
78
|
+
// ------------------------------------------------------------------
|
|
79
|
+
// Stars
|
|
80
|
+
// ------------------------------------------------------------------
|
|
81
|
+
const starMax = enTemplate.star_max;
|
|
82
|
+
const stars = {
|
|
83
|
+
stars: starsString(starMax),
|
|
84
|
+
value: starMax,
|
|
85
|
+
};
|
|
86
|
+
// ------------------------------------------------------------------
|
|
87
|
+
// Class
|
|
88
|
+
// ------------------------------------------------------------------
|
|
89
|
+
const tagListFallback = enStats.tag_list?.[0];
|
|
90
|
+
const shipClass = lookups.classNameFor(groupType, tagListFallback);
|
|
91
|
+
// ------------------------------------------------------------------
|
|
92
|
+
// Hull type
|
|
93
|
+
// ------------------------------------------------------------------
|
|
94
|
+
const hullType = lookups.hullTypeName(enTemplate.type);
|
|
95
|
+
// ------------------------------------------------------------------
|
|
96
|
+
// Nationality
|
|
97
|
+
// ------------------------------------------------------------------
|
|
98
|
+
const nationality = nationalityName(groupRow.nationality);
|
|
99
|
+
// ------------------------------------------------------------------
|
|
100
|
+
// Wiki URL
|
|
101
|
+
// ------------------------------------------------------------------
|
|
102
|
+
const wikiUrl = nameEn !== undefined ? wikiUrlFor(nameEn) : undefined;
|
|
103
|
+
// ------------------------------------------------------------------
|
|
104
|
+
// Thumbnail (shipyard icon from azurlane-images repo)
|
|
105
|
+
// ------------------------------------------------------------------
|
|
106
|
+
const thumbnail = `${THUMBNAILS_URL}/${groupType}.png`;
|
|
107
|
+
// ------------------------------------------------------------------
|
|
108
|
+
// Build output
|
|
109
|
+
// ------------------------------------------------------------------
|
|
110
|
+
const output = {
|
|
111
|
+
id: groupType,
|
|
112
|
+
names,
|
|
113
|
+
rarity,
|
|
114
|
+
stars,
|
|
115
|
+
class: shipClass,
|
|
116
|
+
hullType,
|
|
117
|
+
nationality,
|
|
118
|
+
thumbnail,
|
|
119
|
+
};
|
|
120
|
+
if (wikiUrl !== undefined) {
|
|
121
|
+
output.wikiUrl = wikiUrl;
|
|
122
|
+
}
|
|
123
|
+
// Only emit isEnReleased when false (saves space for the common case)
|
|
124
|
+
if (!isEnReleased) {
|
|
125
|
+
output.isEnReleased = false;
|
|
126
|
+
}
|
|
127
|
+
return output;
|
|
128
|
+
}
|
|
129
|
+
//# sourceMappingURL=identity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identity.js","sourceRoot":"","sources":["../../src/normalize/identity.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export * from "./identity.js";
|
|
2
|
+
export * from "./stats.js";
|
|
3
|
+
export * from "./slots.js";
|
|
4
|
+
export * from "./skills.js";
|
|
5
|
+
export * from "./construction.js";
|
|
6
|
+
export * from "./retrofit.js";
|
|
7
|
+
export * from "./misc.js";
|
|
8
|
+
export * from "./skins.js";
|
|
9
|
+
export * from "./ship.js";
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/normalize/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export * from "./identity.js";
|
|
2
|
+
export * from "./stats.js";
|
|
3
|
+
export * from "./slots.js";
|
|
4
|
+
export * from "./skills.js";
|
|
5
|
+
export * from "./construction.js";
|
|
6
|
+
export * from "./retrofit.js";
|
|
7
|
+
export * from "./misc.js";
|
|
8
|
+
export * from "./skins.js";
|
|
9
|
+
export * from "./ship.js";
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/normalize/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Ship } from "../schema/output/ship.js";
|
|
2
|
+
import type { ShipSkinTemplate } from "../schema/raw/index.js";
|
|
3
|
+
import type { Lookups } from "../translate/lookups.js";
|
|
4
|
+
export interface MiscInputs {
|
|
5
|
+
/** The default skin ID (typically group_type + "0", e.g. "202120") */
|
|
6
|
+
defaultSkinId: string;
|
|
7
|
+
skinTemplate: ShipSkinTemplate;
|
|
8
|
+
lookups: Lookups;
|
|
9
|
+
/** Optional artist name from data/overrides/artists.json */
|
|
10
|
+
artistOverride?: string;
|
|
11
|
+
}
|
|
12
|
+
export declare function normalizeMisc(inputs: MiscInputs): {
|
|
13
|
+
misc?: Ship["misc"];
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=misc.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"misc.d.ts","sourceRoot":"","sources":["../../src/normalize/misc.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAMvD,MAAM,WAAW,UAAU;IACzB,sEAAsE;IACtE,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,gBAAgB,CAAC;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,4DAA4D;IAC5D,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAMD,wBAAgB,aAAa,CAAC,MAAM,EAAE,UAAU,GAAG;IAAE,IAAI,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;CAAE,CA8BzE"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
// ---------------------------------------------------------------------------
|
|
2
|
+
// Main
|
|
3
|
+
// ---------------------------------------------------------------------------
|
|
4
|
+
export function normalizeMisc(inputs) {
|
|
5
|
+
const { defaultSkinId, skinTemplate, lookups, artistOverride } = inputs;
|
|
6
|
+
let voiceName;
|
|
7
|
+
let artistName;
|
|
8
|
+
// voice: resolve via voice_actor field on the default skin row
|
|
9
|
+
const defaultSkinRow = skinTemplate[defaultSkinId];
|
|
10
|
+
if (defaultSkinRow !== undefined && defaultSkinRow.voice_actor !== undefined) {
|
|
11
|
+
const name = lookups.voiceActorName(defaultSkinRow.voice_actor);
|
|
12
|
+
if (name !== "Unknown") {
|
|
13
|
+
voiceName = name;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
// artist: only from override — illustrator.json is empty in raw data
|
|
17
|
+
if (artistOverride !== undefined && artistOverride.trim().length > 0) {
|
|
18
|
+
artistName = artistOverride.trim();
|
|
19
|
+
}
|
|
20
|
+
if (voiceName === undefined && artistName === undefined) {
|
|
21
|
+
return { misc: undefined };
|
|
22
|
+
}
|
|
23
|
+
const misc = {
|
|
24
|
+
...(artistName !== undefined ? { artist: { name: artistName } } : {}),
|
|
25
|
+
...(voiceName !== undefined ? { voice: { name: voiceName } } : {}),
|
|
26
|
+
};
|
|
27
|
+
return { misc };
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=misc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"misc.js","sourceRoot":"","sources":["../../src/normalize/misc.ts"],"names":[],"mappings":"AAiBA,8EAA8E;AAC9E,OAAO;AACP,8EAA8E;AAE9E,MAAM,UAAU,aAAa,CAAC,MAAkB;IAC9C,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,MAAM,CAAC;IAExE,IAAI,SAA6B,CAAC;IAClC,IAAI,UAA8B,CAAC;IAEnC,+DAA+D;IAC/D,MAAM,cAAc,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC;IACnD,IAAI,cAAc,KAAK,SAAS,IAAI,cAAc,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QAC7E,MAAM,IAAI,GAAG,OAAO,CAAC,cAAc,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAChE,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC;IACH,CAAC;IAED,qEAAqE;IACrE,IAAI,cAAc,KAAK,SAAS,IAAI,cAAc,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrE,UAAU,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC;IACrC,CAAC;IAED,IAAI,SAAS,KAAK,SAAS,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QACxD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAC7B,CAAC;IAED,MAAM,IAAI,GAAiB;QACzB,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrE,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACnE,CAAC;IAEF,OAAO,EAAE,IAAI,EAAE,CAAC;AAClB,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { ShipDataGroupValue, ShipDataTrans } from "../schema/raw/index.js";
|
|
2
|
+
import type { Lookups } from "../translate/lookups.js";
|
|
3
|
+
export interface RetrofitInputs {
|
|
4
|
+
groupType: string;
|
|
5
|
+
groupRow?: ShipDataGroupValue;
|
|
6
|
+
trans: ShipDataTrans;
|
|
7
|
+
lookups: Lookups;
|
|
8
|
+
}
|
|
9
|
+
export interface RetrofitOutput {
|
|
10
|
+
retrofit: boolean;
|
|
11
|
+
retrofitHullType?: string;
|
|
12
|
+
}
|
|
13
|
+
export declare function normalizeRetrofit(inputs: RetrofitInputs): RetrofitOutput;
|
|
14
|
+
//# sourceMappingURL=retrofit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retrofit.d.ts","sourceRoot":"","sources":["../../src/normalize/retrofit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAChF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAMvD,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B,KAAK,EAAE,aAAa,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,OAAO,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAMD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,cAAc,GAAG,cAAc,CAoBxE"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
// ---------------------------------------------------------------------------
|
|
2
|
+
// Main
|
|
3
|
+
// ---------------------------------------------------------------------------
|
|
4
|
+
export function normalizeRetrofit(inputs) {
|
|
5
|
+
const { groupType, groupRow, trans, lookups } = inputs;
|
|
6
|
+
const retrofit = groupType in trans;
|
|
7
|
+
if (!retrofit) {
|
|
8
|
+
return { retrofit: false };
|
|
9
|
+
}
|
|
10
|
+
// Resolve the post-retrofit hull type from trans_type on the group row.
|
|
11
|
+
// If trans_type is 0 or missing, omit the field (no hull-type change detectable).
|
|
12
|
+
const transType = groupRow?.trans_type ?? 0;
|
|
13
|
+
if (transType === 0) {
|
|
14
|
+
return { retrofit: true };
|
|
15
|
+
}
|
|
16
|
+
const retrofitHullType = lookups.hullTypeName(transType);
|
|
17
|
+
return { retrofit: true, retrofitHullType };
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=retrofit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retrofit.js","sourceRoot":"","sources":["../../src/normalize/retrofit.ts"],"names":[],"mappings":"AAmBA,8EAA8E;AAC9E,OAAO;AACP,8EAA8E;AAE9E,MAAM,UAAU,iBAAiB,CAAC,MAAsB;IACtD,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;IAEvD,MAAM,QAAQ,GAAG,SAAS,IAAI,KAAK,CAAC;IAEpC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAC7B,CAAC;IAED,wEAAwE;IACxE,kFAAkF;IAClF,MAAM,SAAS,GAAG,QAAQ,EAAE,UAAU,IAAI,CAAC,CAAC;IAE5C,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;QACpB,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC5B,CAAC;IAED,MAAM,gBAAgB,GAAG,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IAEzD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;AAC9C,CAAC"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import type { Ship } from "../schema/output/ship.js";
|
|
2
|
+
import type { Region } from "../ingest/upstream.js";
|
|
3
|
+
import type { ShipDataTemplate, ShipDataStatistics, ShipDataBreakout, ShipDataStrengthen, ShipDataBlueprint, ShipDataTrans, ShipDataGroup, ShipSkinTemplate, ShopTemplate, ShipDataCreateExchange, ShipDataByType, ShipDataByStar, FleetTechShipTemplate, FleetTechShipClass, SkillDataTemplate, SkillDataDisplay, TransformDataTemplate, EquipDataByType, VoiceActorCn, AttributeInfoByType, ShipDataGroupValue } from "../schema/raw/index.js";
|
|
4
|
+
import type { Lookups } from "../translate/lookups.js";
|
|
5
|
+
export interface BuildContext {
|
|
6
|
+
region: Region;
|
|
7
|
+
en: {
|
|
8
|
+
template: ShipDataTemplate;
|
|
9
|
+
statistics: ShipDataStatistics;
|
|
10
|
+
breakout: ShipDataBreakout;
|
|
11
|
+
strengthen: ShipDataStrengthen;
|
|
12
|
+
blueprint: ShipDataBlueprint;
|
|
13
|
+
trans: ShipDataTrans;
|
|
14
|
+
group: ShipDataGroup;
|
|
15
|
+
skinTemplate: ShipSkinTemplate;
|
|
16
|
+
shopTemplate: ShopTemplate;
|
|
17
|
+
exchange: ShipDataCreateExchange;
|
|
18
|
+
shipDataByType: ShipDataByType;
|
|
19
|
+
shipDataByStar: ShipDataByStar;
|
|
20
|
+
fleetTechShipTemplate: FleetTechShipTemplate;
|
|
21
|
+
fleetTechShipClass: FleetTechShipClass;
|
|
22
|
+
skillDataTemplate: SkillDataTemplate;
|
|
23
|
+
skillDataDisplay: SkillDataDisplay;
|
|
24
|
+
transformDataTemplate: TransformDataTemplate;
|
|
25
|
+
equipDataByType: EquipDataByType;
|
|
26
|
+
voiceActorCn: VoiceActorCn;
|
|
27
|
+
attributeInfoByType: AttributeInfoByType;
|
|
28
|
+
};
|
|
29
|
+
cn?: {
|
|
30
|
+
statistics: ShipDataStatistics;
|
|
31
|
+
group: ShipDataGroup;
|
|
32
|
+
template: ShipDataTemplate;
|
|
33
|
+
};
|
|
34
|
+
jp?: {
|
|
35
|
+
statistics: ShipDataStatistics;
|
|
36
|
+
};
|
|
37
|
+
overrides?: {
|
|
38
|
+
constructionTimes?: Record<string, string>;
|
|
39
|
+
artists?: Record<string, string>;
|
|
40
|
+
};
|
|
41
|
+
lookups: Lookups;
|
|
42
|
+
thumbnailBaseUrl?: string;
|
|
43
|
+
/** Set of available painting filenames (lowercase, no extension) for skin variant lookup. */
|
|
44
|
+
availablePaintings?: Set<string>;
|
|
45
|
+
}
|
|
46
|
+
interface BuildIndexes {
|
|
47
|
+
/** group_type (string) → group row */
|
|
48
|
+
groupByGroupType: Map<string, ShipDataGroupValue>;
|
|
49
|
+
/** group_type (string) → set of blueprint keys (i.e. group_type is a research ship) */
|
|
50
|
+
researchGroupTypes: Set<string>;
|
|
51
|
+
/** group_type (string) → blueprint_version */
|
|
52
|
+
blueprintVersionMap: Map<string, number>;
|
|
53
|
+
}
|
|
54
|
+
export declare function buildShip(groupType: string, ctx: BuildContext, indexes?: BuildIndexes): Ship | null;
|
|
55
|
+
export declare function buildAllShips(ctx: BuildContext): Ship[];
|
|
56
|
+
/**
|
|
57
|
+
* Create a BuildContext by loading all EN raw tables plus optional CN/JP overlays.
|
|
58
|
+
* This is a convenience function for scripts/build-data.ts.
|
|
59
|
+
*/
|
|
60
|
+
export declare function createBuildContext(options?: {
|
|
61
|
+
loadCn?: boolean;
|
|
62
|
+
loadJp?: boolean;
|
|
63
|
+
overrides?: BuildContext["overrides"];
|
|
64
|
+
thumbnailBaseUrl?: string;
|
|
65
|
+
}): Promise<BuildContext>;
|
|
66
|
+
export {};
|
|
67
|
+
//# sourceMappingURL=ship.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ship.d.ts","sourceRoot":"","sources":["../../src/normalize/ship.ts"],"names":[],"mappings":"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"}
|