lunassets 1.0.0 → 1.0.2
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/dist/core/asset-mapper.d.ts +2 -2
- package/dist/core/asset-mapper.d.ts.map +1 -1
- package/dist/core/asset-mapper.js +7 -5
- package/dist/core/asset-mapper.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/types/assets.d.ts +2 -1
- package/dist/types/assets.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/core/asset-mapper.ts +7 -4
- package/src/index.ts +5 -3
- package/src/types/assets.ts +2 -1
|
@@ -7,7 +7,7 @@ export declare class EnkaAssetMapper {
|
|
|
7
7
|
/**
|
|
8
8
|
* Map API response to processed player assets
|
|
9
9
|
*/
|
|
10
|
-
mapPlayerAssets(apiResponse: EnkaApiResponse): Promise<ProcessedPlayerAssets>;
|
|
10
|
+
mapPlayerAssets(apiResponse: EnkaApiResponse, uid: string | number): Promise<ProcessedPlayerAssets>;
|
|
11
11
|
/**
|
|
12
12
|
* Map profile picture ID to processed profile picture
|
|
13
13
|
*/
|
|
@@ -56,7 +56,7 @@ export declare class EnkaAssetMapper {
|
|
|
56
56
|
* Get name card data by ID
|
|
57
57
|
*/
|
|
58
58
|
getNameCardData(nameCardId: number): Promise<{
|
|
59
|
-
|
|
59
|
+
Icon: string;
|
|
60
60
|
}>;
|
|
61
61
|
/**
|
|
62
62
|
* Check if character exists
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"asset-mapper.d.ts","sourceRoot":"","sources":["../../src/core/asset-mapper.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EAIf,qBAAqB,EAKtB,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAG/C,qBAAa,eAAe;IAC1B,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,UAAU,CAAiB;gBAEvB,UAAU,EAAE,cAAc;IAKtC;;OAEG;IACG,eAAe,CACnB,WAAW,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"asset-mapper.d.ts","sourceRoot":"","sources":["../../src/core/asset-mapper.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EAIf,qBAAqB,EAKtB,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAG/C,qBAAa,eAAe;IAC1B,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,UAAU,CAAiB;gBAEvB,UAAU,EAAE,cAAc;IAKtC;;OAEG;IACG,eAAe,CACnB,WAAW,EAAE,eAAe,EAC5B,GAAG,EAAE,MAAM,GAAG,MAAM,GACnB,OAAO,CAAC,qBAAqB,CAAC;IA8CjC;;OAEG;YACW,iBAAiB;IAsB/B;;OAEG;YACW,WAAW;IAsBzB;;OAEG;YACW,aAAa;IAoC3B;;OAEG;IACG,gBAAgB,CAAC,QAAQ,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;IAKvC;;OAEG;IACG,qBAAqB,CAAC,KAAK,EAAE,MAAM;;;IAKzC;;OAEG;IACG,eAAe,CAAC,UAAU,EAAE,MAAM;;;IAKxC;;OAEG;IACG,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKtD;;OAEG;IACG,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKxD;;OAEG;IACG,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKvD;;OAEG;IACG,YAAY;;;;;IAclB;;OAEG;IACH,gBAAgB;;;;;;;;;;;;;;;;;IAIhB;;OAEG;IACH,cAAc,IAAI,IAAI;CAGvB"}
|
|
@@ -12,7 +12,7 @@ class EnkaAssetMapper {
|
|
|
12
12
|
/**
|
|
13
13
|
* Map API response to processed player assets
|
|
14
14
|
*/
|
|
15
|
-
async mapPlayerAssets(apiResponse) {
|
|
15
|
+
async mapPlayerAssets(apiResponse, uid) {
|
|
16
16
|
const { playerInfo } = apiResponse;
|
|
17
17
|
// Process profile picture
|
|
18
18
|
const profilePicture = await this.mapProfilePicture(playerInfo.profilePicture.id);
|
|
@@ -22,6 +22,7 @@ class EnkaAssetMapper {
|
|
|
22
22
|
const showAvatars = await Promise.all(playerInfo.showAvatarInfoList.map((avatar) => this.mapShowAvatar(avatar.avatarId, avatar.level, avatar.talentLevel)));
|
|
23
23
|
return {
|
|
24
24
|
playerInfo: {
|
|
25
|
+
uid: uid.toString(),
|
|
25
26
|
nickname: playerInfo.nickname,
|
|
26
27
|
level: playerInfo.level,
|
|
27
28
|
signature: playerInfo.signature,
|
|
@@ -55,7 +56,6 @@ class EnkaAssetMapper {
|
|
|
55
56
|
if (!pfpData) {
|
|
56
57
|
throw new types_1.EnkaMappingError(`Profile picture not found for ID: ${pfpId}`, pfpId);
|
|
57
58
|
}
|
|
58
|
-
// IconPath di pfps.json sudah include full path dan extension
|
|
59
59
|
const url = `https://enka.network${pfpData.IconPath}`;
|
|
60
60
|
return {
|
|
61
61
|
id: pfpId,
|
|
@@ -72,10 +72,12 @@ class EnkaAssetMapper {
|
|
|
72
72
|
if (!nameCardData) {
|
|
73
73
|
throw new types_1.EnkaMappingError(`Name card not found for ID: ${nameCardId}`, nameCardId);
|
|
74
74
|
}
|
|
75
|
-
|
|
75
|
+
// Remote data uses "Icon" field with full path and extension
|
|
76
|
+
const iconPath = nameCardData.Icon;
|
|
77
|
+
const url = `https://enka.network${iconPath}`;
|
|
76
78
|
return {
|
|
77
79
|
id: nameCardId,
|
|
78
|
-
iconName:
|
|
80
|
+
iconName: iconPath,
|
|
79
81
|
url,
|
|
80
82
|
};
|
|
81
83
|
}
|
|
@@ -100,7 +102,7 @@ class EnkaAssetMapper {
|
|
|
100
102
|
url,
|
|
101
103
|
quality,
|
|
102
104
|
level,
|
|
103
|
-
talentLevel,
|
|
105
|
+
talentLevel: talentLevel ?? 0,
|
|
104
106
|
element: characterData.Element,
|
|
105
107
|
weaponType: characterData.WeaponType,
|
|
106
108
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"asset-mapper.js","sourceRoot":"","sources":["../../src/core/asset-mapper.ts"],"names":[],"mappings":";;;AAAA,oCAUkB;AAClB,oCAAgE;AAEhE,iDAAiD;AAEjD,MAAa,eAAe;IAI1B,YAAY,UAA0B;QACpC,IAAI,CAAC,WAAW,GAAG,IAAI,8BAAe,EAAE,CAAC;QACzC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CACnB,WAA4B;
|
|
1
|
+
{"version":3,"file":"asset-mapper.js","sourceRoot":"","sources":["../../src/core/asset-mapper.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,qBAAqB,EAGrB,eAAe,EAChB,MAAM,SAAS,CAAC;AASjB;;;GAGG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,SAAS,CAAgB;IACjC,OAAO,CAAC,YAAY,CAAmB;IACvC,OAAO,CAAC,UAAU,CAAiB;IACnC,OAAO,CAAC,WAAW,CAAkB;gBAEzB,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC;IAU7C;;OAEG;IACG,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,qBAAqB,EAGrB,eAAe,EAChB,MAAM,SAAS,CAAC;AASjB;;;GAGG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,SAAS,CAAgB;IACjC,OAAO,CAAC,YAAY,CAAmB;IACvC,OAAO,CAAC,UAAU,CAAiB;IACnC,OAAO,CAAC,WAAW,CAAkB;gBAEzB,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC;IAU7C;;OAEG;IACG,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IA+B3E;;OAEG;IACG,uBAAuB,CAC3B,GAAG,EAAE,MAAM,GAAG,MAAM,GACnB,OAAO,CAAC,qBAAqB,CAAC;IAajC;;OAEG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,MAAM;IAIlE;;OAEG;IACH,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO;IAI7C;;OAEG;IACH,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;;;;;;IAKvC;;OAEG;IACH,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO;IAI/C;;OAEG;IACH,aAAa,IAAI,IAAI;IAIrB;;OAEG;IACH,aAAa;;;;;IAIb;;OAEG;IACH,YAAY,IAAI,MAAM;IAItB;;OAEG;IACG,YAAY;;;;;IAIlB;;OAEG;IACG,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAItD;;OAEG;IACG,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIxD;;OAEG;IACG,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIvD;;OAEG;IACH,SAAS,IAAI,eAAe;IAI5B;;OAEG;IACH,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,IAAI;CAIxD;AAGD,eAAe,gBAAgB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -30,7 +30,7 @@ class EnkaAssetWrapper {
|
|
|
30
30
|
// Fetch from API
|
|
31
31
|
const apiResponse = await this.apiClient.getPlayerData(uid);
|
|
32
32
|
// Map to processed assets
|
|
33
|
-
const processedAssets = await this.assetMapper.mapPlayerAssets(apiResponse);
|
|
33
|
+
const processedAssets = await this.assetMapper.mapPlayerAssets(apiResponse, uid);
|
|
34
34
|
// Cache the result
|
|
35
35
|
this.cacheManager.cachePlayerData(uid, processedAssets);
|
|
36
36
|
return processedAssets;
|
|
@@ -48,7 +48,7 @@ class EnkaAssetWrapper {
|
|
|
48
48
|
async getPlayerAssetsUncached(uid) {
|
|
49
49
|
try {
|
|
50
50
|
const apiResponse = await this.apiClient.getPlayerData(uid);
|
|
51
|
-
return await this.assetMapper.mapPlayerAssets(apiResponse);
|
|
51
|
+
return await this.assetMapper.mapPlayerAssets(apiResponse, uid);
|
|
52
52
|
}
|
|
53
53
|
catch (error) {
|
|
54
54
|
if (error instanceof types_1.EnkaApiError || error instanceof types_1.EnkaMappingError) {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,mCAMiB;AACjB,iCAKgB;AAChB,mCAAyC;AAEzC;;;GAGG;AACH,MAAa,gBAAgB;IAM3B,YAAY,MAAiC;QAC3C,MAAM,WAAW,GAAG,EAAE,GAAG,sBAAc,EAAE,GAAG,MAAM,EAAE,CAAC;QAErD,wBAAwB;QACxB,IAAI,CAAC,SAAS,GAAG,IAAI,oBAAa,CAAC,WAAW,CAAC,CAAC;QAChD,IAAI,CAAC,YAAY,GAAG,IAAI,uBAAgB,CAAC,WAAW,CAAC,CAAC;QACtD,IAAI,CAAC,UAAU,GAAG,IAAI,qBAAc,CAAC,WAAW,CAAC,CAAC;QAClD,IAAI,CAAC,WAAW,GAAG,IAAI,sBAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC1D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CAAC,GAAoB;QACxC,IAAI,CAAC;YACH,oBAAoB;YACpB,MAAM,MAAM,GACV,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAwB,GAAG,CAAC,CAAC;YACpE,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,MAAM,CAAC;YAChB,CAAC;YAED,iBAAiB;YACjB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;YAE5D,0BAA0B;YAC1B,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/types/assets.d.ts
CHANGED
|
@@ -30,7 +30,7 @@ export interface PfpData {
|
|
|
30
30
|
}
|
|
31
31
|
export interface NameCardData {
|
|
32
32
|
[nameCardId: string]: {
|
|
33
|
-
|
|
33
|
+
Icon: string;
|
|
34
34
|
};
|
|
35
35
|
}
|
|
36
36
|
export interface ProcessedProfilePicture {
|
|
@@ -55,6 +55,7 @@ export interface ProcessedShowAvatar {
|
|
|
55
55
|
}
|
|
56
56
|
export interface ProcessedPlayerAssets {
|
|
57
57
|
playerInfo: {
|
|
58
|
+
uid: string;
|
|
58
59
|
nickname: string;
|
|
59
60
|
level: number;
|
|
60
61
|
signature?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assets.d.ts","sourceRoot":"","sources":["../../src/types/assets.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"assets.d.ts","sourceRoot":"","sources":["../../src/types/assets.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/core/asset-mapper.ts
CHANGED
|
@@ -27,6 +27,7 @@ export class EnkaAssetMapper {
|
|
|
27
27
|
*/
|
|
28
28
|
async mapPlayerAssets(
|
|
29
29
|
apiResponse: EnkaApiResponse,
|
|
30
|
+
uid: string | number,
|
|
30
31
|
): Promise<ProcessedPlayerAssets> {
|
|
31
32
|
const { playerInfo } = apiResponse;
|
|
32
33
|
|
|
@@ -47,6 +48,7 @@ export class EnkaAssetMapper {
|
|
|
47
48
|
|
|
48
49
|
return {
|
|
49
50
|
playerInfo: {
|
|
51
|
+
uid: uid.toString(),
|
|
50
52
|
nickname: playerInfo.nickname,
|
|
51
53
|
level: playerInfo.level,
|
|
52
54
|
signature: playerInfo.signature,
|
|
@@ -88,7 +90,6 @@ export class EnkaAssetMapper {
|
|
|
88
90
|
);
|
|
89
91
|
}
|
|
90
92
|
|
|
91
|
-
// IconPath di pfps.json sudah include full path dan extension
|
|
92
93
|
const url = `https://enka.network${pfpData.IconPath}`;
|
|
93
94
|
|
|
94
95
|
return {
|
|
@@ -112,11 +113,13 @@ export class EnkaAssetMapper {
|
|
|
112
113
|
);
|
|
113
114
|
}
|
|
114
115
|
|
|
115
|
-
|
|
116
|
+
// Remote data uses "Icon" field with full path and extension
|
|
117
|
+
const iconPath = nameCardData.Icon;
|
|
118
|
+
const url = `https://enka.network${iconPath}`;
|
|
116
119
|
|
|
117
120
|
return {
|
|
118
121
|
id: nameCardId,
|
|
119
|
-
iconName:
|
|
122
|
+
iconName: iconPath,
|
|
120
123
|
url,
|
|
121
124
|
};
|
|
122
125
|
}
|
|
@@ -154,7 +157,7 @@ export class EnkaAssetMapper {
|
|
|
154
157
|
url,
|
|
155
158
|
quality,
|
|
156
159
|
level,
|
|
157
|
-
talentLevel,
|
|
160
|
+
talentLevel: talentLevel ?? 0,
|
|
158
161
|
element: characterData.Element,
|
|
159
162
|
weaponType: characterData.WeaponType,
|
|
160
163
|
};
|
package/src/index.ts
CHANGED
|
@@ -49,8 +49,10 @@ export class EnkaAssetWrapper {
|
|
|
49
49
|
const apiResponse = await this.apiClient.getPlayerData(uid);
|
|
50
50
|
|
|
51
51
|
// Map to processed assets
|
|
52
|
-
const processedAssets =
|
|
53
|
-
|
|
52
|
+
const processedAssets = await this.assetMapper.mapPlayerAssets(
|
|
53
|
+
apiResponse,
|
|
54
|
+
uid,
|
|
55
|
+
);
|
|
54
56
|
|
|
55
57
|
// Cache the result
|
|
56
58
|
this.cacheManager.cachePlayerData(uid, processedAssets);
|
|
@@ -73,7 +75,7 @@ export class EnkaAssetWrapper {
|
|
|
73
75
|
): Promise<ProcessedPlayerAssets> {
|
|
74
76
|
try {
|
|
75
77
|
const apiResponse = await this.apiClient.getPlayerData(uid);
|
|
76
|
-
return await this.assetMapper.mapPlayerAssets(apiResponse);
|
|
78
|
+
return await this.assetMapper.mapPlayerAssets(apiResponse, uid);
|
|
77
79
|
} catch (error) {
|
|
78
80
|
if (error instanceof EnkaApiError || error instanceof EnkaMappingError) {
|
|
79
81
|
throw error;
|
package/src/types/assets.ts
CHANGED
|
@@ -29,7 +29,7 @@ export interface PfpData {
|
|
|
29
29
|
|
|
30
30
|
export interface NameCardData {
|
|
31
31
|
[nameCardId: string]: {
|
|
32
|
-
|
|
32
|
+
Icon: string;
|
|
33
33
|
};
|
|
34
34
|
}
|
|
35
35
|
|
|
@@ -60,6 +60,7 @@ export interface ProcessedShowAvatar {
|
|
|
60
60
|
// Final result
|
|
61
61
|
export interface ProcessedPlayerAssets {
|
|
62
62
|
playerInfo: {
|
|
63
|
+
uid: string;
|
|
63
64
|
nickname: string;
|
|
64
65
|
level: number;
|
|
65
66
|
signature?: string;
|