gcm-database-local 1.0.11 → 1.0.12
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/chunithm/database.d.ts +1 -1
- package/dist/chunithm/database.js +21 -30
- package/dist/chunithm/database.js.map +1 -1
- package/dist/maimai/database.d.ts +1 -1
- package/dist/maimai/database.js +21 -32
- package/dist/maimai/database.js.map +1 -1
- package/dist/ongeki/database.d.ts +1 -1
- package/dist/ongeki/database.js +21 -30
- package/dist/ongeki/database.js.map +1 -1
- package/package.json +1 -1
|
@@ -7,7 +7,7 @@ export declare class Database implements BaseDatabase<Chart> {
|
|
|
7
7
|
hasLocalDatabase(): boolean;
|
|
8
8
|
private cache;
|
|
9
9
|
getJacket(identifier: string, variant?: "DX" | "EX" | "CN"): Promise<{
|
|
10
|
-
data:
|
|
10
|
+
data: NonSharedBuffer;
|
|
11
11
|
err?: undefined;
|
|
12
12
|
} | {
|
|
13
13
|
err: string;
|
|
@@ -27,29 +27,21 @@ class Database {
|
|
|
27
27
|
}
|
|
28
28
|
cache = new cache_1.Cache("gcm-database-local/chunithm");
|
|
29
29
|
async getJacket(identifier, variant) {
|
|
30
|
-
const
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
30
|
+
const songId = identifier.slice(-4);
|
|
31
|
+
if (variant) {
|
|
32
|
+
const localFilePath = node_path_1.default.join(this._localDatabasePath, "assets", "chunithm", "jackets", `${songId.padStart(6, "0")}-${variant}.png`);
|
|
33
|
+
if (node_fs_1.default.existsSync(localFilePath)) {
|
|
34
|
+
return { data: node_fs_1.default.readFileSync(localFilePath) };
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
// Falls back to normal jacket if a variant cannot be found.
|
|
38
|
+
const localFilePath = node_path_1.default.join(this._localDatabasePath, "assets", "chunithm", "jackets", `${songId.padStart(4, "0")}.png`);
|
|
39
|
+
const jacket = node_fs_1.default.existsSync(localFilePath) && node_fs_1.default.readFileSync(localFilePath);
|
|
40
|
+
if (jacket) {
|
|
41
|
+
return { data: jacket };
|
|
34
42
|
}
|
|
35
43
|
else {
|
|
36
|
-
|
|
37
|
-
if (variant) {
|
|
38
|
-
const localFilePath = node_path_1.default.join(this._localDatabasePath, "assets", "chunithm", "jackets", `${songId.padStart(6, "0")}-${variant}.png`);
|
|
39
|
-
if (node_fs_1.default.existsSync(localFilePath)) {
|
|
40
|
-
return { data: node_fs_1.default.readFileSync(localFilePath) };
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
// Falls back to normal jacket if a variant cannot be found.
|
|
44
|
-
const localFilePath = node_path_1.default.join(this._localDatabasePath, "assets", "chunithm", "jackets", `${songId.padStart(4, "0")}.png`);
|
|
45
|
-
const jacket = node_fs_1.default.existsSync(localFilePath) && node_fs_1.default.readFileSync(localFilePath);
|
|
46
|
-
if (jacket) {
|
|
47
|
-
this.cache.put(cacheKey, jacket, 5 * 1000); // 5 seconds.
|
|
48
|
-
return { data: jacket };
|
|
49
|
-
}
|
|
50
|
-
else {
|
|
51
|
-
return { err: `Cannot find the jacket of ${identifier}.` };
|
|
52
|
-
}
|
|
44
|
+
return { err: `Cannot find the jacket of ${identifier}.` };
|
|
53
45
|
}
|
|
54
46
|
}
|
|
55
47
|
async getChart(identifier, difficulty) {
|
|
@@ -95,18 +87,17 @@ class Database {
|
|
|
95
87
|
.filter((v) => v.title === payload.title &&
|
|
96
88
|
v.difficulty === payload.difficulty)
|
|
97
89
|
.map((v) => {
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
}
|
|
90
|
+
const internalLevel = v.internalLevel ??
|
|
91
|
+
(0, getInternalLevelFromPresences_1.getInternalLevelFromPresences)(v.optionalData.presences);
|
|
92
|
+
if (internalLevel) {
|
|
93
|
+
return {
|
|
94
|
+
chart: v,
|
|
95
|
+
weight: Math.abs(internalLevel - payload.level),
|
|
96
|
+
};
|
|
106
97
|
}
|
|
107
98
|
return { chart: v };
|
|
108
99
|
})
|
|
109
|
-
.filter((v) =>
|
|
100
|
+
.filter((v) => "weight" in v)
|
|
110
101
|
.sort((a, b) => a.weight - b.weight);
|
|
111
102
|
return {
|
|
112
103
|
data: sortedCandidates.slice(0, options?.maxResultCount || 20),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database.js","sourceRoot":"","sources":["../../src/chunithm/database.ts"],"names":[],"mappings":";;;;;;AAAA,sDAAyB;AACzB,0DAA6B;AAC7B,sFAAmF;AACnF,2CAAwC;AAOxC,MAAa,QAAQ;IACG;IAApB,YAAoB,kBAA0B;QAA1B,uBAAkB,GAAlB,kBAAkB,CAAQ;IAAG,CAAC;IAE3C,oBAAoB,CAAC,IAAY;QACpC,IAAI,iBAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,OAAO,IAAI,CAAC;QAChB,CAAC;aAAM,CAAC;YACJ,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAEM,gBAAgB;QACnB,OAAO,iBAAE,CAAC,UAAU,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAClD,CAAC;IAEO,KAAK,GAAG,IAAI,aAAK,CAAC,6BAA6B,CAAC,CAAC;IAClD,KAAK,CAAC,SAAS,CAAC,UAAkB,EAAE,OAA4B;QACnE,MAAM,
|
|
1
|
+
{"version":3,"file":"database.js","sourceRoot":"","sources":["../../src/chunithm/database.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ export declare class Database implements BaseDatabase<Chart> {
|
|
|
7
7
|
hasLocalDatabase(): boolean;
|
|
8
8
|
private cache;
|
|
9
9
|
getJacket(identifier: string, variant?: "DX" | "EX" | "CN"): Promise<{
|
|
10
|
-
data:
|
|
10
|
+
data: NonSharedBuffer;
|
|
11
11
|
err?: undefined;
|
|
12
12
|
} | {
|
|
13
13
|
err: string;
|
package/dist/maimai/database.js
CHANGED
|
@@ -27,29 +27,21 @@ class Database {
|
|
|
27
27
|
}
|
|
28
28
|
cache = new cache_1.Cache("gcm-database-local/maimai");
|
|
29
29
|
async getJacket(identifier, variant) {
|
|
30
|
-
const
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
30
|
+
const songId = identifier.slice(-4);
|
|
31
|
+
if (variant) {
|
|
32
|
+
const localFilePath = node_path_1.default.join(this._localDatabasePath, "assets", "maimai", "jackets", `${songId.padStart(6, "0")}-${variant}.png`);
|
|
33
|
+
if (node_fs_1.default.existsSync(localFilePath)) {
|
|
34
|
+
return { data: node_fs_1.default.readFileSync(localFilePath) };
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
// Falls back to normal jacket if a variant cannot be found.
|
|
38
|
+
const localFilePath = node_path_1.default.join(this._localDatabasePath, "assets", "maimai", "jackets", `${songId.padStart(6, "0")}.png`);
|
|
39
|
+
const jacket = node_fs_1.default.existsSync(localFilePath) && node_fs_1.default.readFileSync(localFilePath);
|
|
40
|
+
if (jacket) {
|
|
41
|
+
return { data: jacket };
|
|
34
42
|
}
|
|
35
43
|
else {
|
|
36
|
-
|
|
37
|
-
if (variant) {
|
|
38
|
-
const localFilePath = node_path_1.default.join(this._localDatabasePath, "assets", "maimai", "jackets", `${songId.padStart(6, "0")}-${variant}.png`);
|
|
39
|
-
if (node_fs_1.default.existsSync(localFilePath)) {
|
|
40
|
-
return { data: node_fs_1.default.readFileSync(localFilePath) };
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
// Falls back to normal jacket if a variant cannot be found.
|
|
44
|
-
const localFilePath = node_path_1.default.join(this._localDatabasePath, "assets", "maimai", "jackets", `${songId.padStart(6, "0")}.png`);
|
|
45
|
-
const jacket = node_fs_1.default.existsSync(localFilePath) && node_fs_1.default.readFileSync(localFilePath);
|
|
46
|
-
if (jacket) {
|
|
47
|
-
this.cache.put(cacheKey, jacket, 5 * 1000); // 5 seconds.
|
|
48
|
-
return { data: jacket };
|
|
49
|
-
}
|
|
50
|
-
else {
|
|
51
|
-
return { err: `Cannot find the jacket of ${identifier}.` };
|
|
52
|
-
}
|
|
44
|
+
return { err: `Cannot find the jacket of ${identifier}.` };
|
|
53
45
|
}
|
|
54
46
|
}
|
|
55
47
|
async getChart(identifier, difficulty) {
|
|
@@ -96,20 +88,17 @@ class Database {
|
|
|
96
88
|
v.type === payload.type &&
|
|
97
89
|
v.difficulty === payload.difficulty)
|
|
98
90
|
.map((v) => {
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
};
|
|
107
|
-
}
|
|
108
|
-
}
|
|
91
|
+
const internalLevel = v.internalLevel ??
|
|
92
|
+
(0, getInternalLevelFromPresences_1.getInternalLevelFromPresences)(v.optionalData.presences);
|
|
93
|
+
if (internalLevel) {
|
|
94
|
+
return {
|
|
95
|
+
chart: v,
|
|
96
|
+
weight: Math.abs(internalLevel - payload.level),
|
|
97
|
+
};
|
|
109
98
|
}
|
|
110
99
|
return { chart: v };
|
|
111
100
|
})
|
|
112
|
-
.filter((v) =>
|
|
101
|
+
.filter((v) => "weight" in v)
|
|
113
102
|
.sort((a, b) => a.weight - b.weight);
|
|
114
103
|
return {
|
|
115
104
|
data: sortedCandidates.slice(0, options?.maxResultCount || 20),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database.js","sourceRoot":"","sources":["../../src/maimai/database.ts"],"names":[],"mappings":";;;;;;AAAA,sDAAyB;AACzB,0DAA6B;AAC7B,sFAAmF;AACnF,2CAAwC;AAQxC,MAAa,QAAQ;IACG;IAApB,YAAoB,kBAA0B;QAA1B,uBAAkB,GAAlB,kBAAkB,CAAQ;IAAG,CAAC;IAE3C,oBAAoB,CAAC,IAAY;QACpC,IAAI,iBAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,OAAO,IAAI,CAAC;QAChB,CAAC;aAAM,CAAC;YACJ,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAEM,gBAAgB;QACnB,OAAO,iBAAE,CAAC,UAAU,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAClD,CAAC;IAEO,KAAK,GAAG,IAAI,aAAK,CAAC,2BAA2B,CAAC,CAAC;IAChD,KAAK,CAAC,SAAS,CAAC,UAAkB,EAAE,OAA4B;QACnE,MAAM,
|
|
1
|
+
{"version":3,"file":"database.js","sourceRoot":"","sources":["../../src/maimai/database.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ export declare class Database implements BaseDatabase<Chart> {
|
|
|
7
7
|
hasLocalDatabase(): boolean;
|
|
8
8
|
private cache;
|
|
9
9
|
getJacket(identifier: string, variant?: "DX" | "EX" | "CN"): Promise<{
|
|
10
|
-
data:
|
|
10
|
+
data: NonSharedBuffer;
|
|
11
11
|
err?: undefined;
|
|
12
12
|
} | {
|
|
13
13
|
err: string;
|
package/dist/ongeki/database.js
CHANGED
|
@@ -27,29 +27,21 @@ class Database {
|
|
|
27
27
|
}
|
|
28
28
|
cache = new cache_1.Cache("gcm-database-local/ongeki");
|
|
29
29
|
async getJacket(identifier, variant) {
|
|
30
|
-
const
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
30
|
+
const songId = identifier.slice(-4);
|
|
31
|
+
if (variant) {
|
|
32
|
+
const localFilePath = node_path_1.default.join(this._localDatabasePath, "assets", "ongeki", "jackets", `${songId.padStart(4, "0")}-${variant}.png`);
|
|
33
|
+
if (node_fs_1.default.existsSync(localFilePath)) {
|
|
34
|
+
return { data: node_fs_1.default.readFileSync(localFilePath) };
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
// Falls back to normal jacket if a variant cannot be found.
|
|
38
|
+
const localFilePath = node_path_1.default.join(this._localDatabasePath, "assets", "ongeki", "jackets", `${songId.padStart(4, "0")}.png`);
|
|
39
|
+
const jacket = node_fs_1.default.existsSync(localFilePath) && node_fs_1.default.readFileSync(localFilePath);
|
|
40
|
+
if (jacket) {
|
|
41
|
+
return { data: jacket };
|
|
34
42
|
}
|
|
35
43
|
else {
|
|
36
|
-
|
|
37
|
-
if (variant) {
|
|
38
|
-
const localFilePath = node_path_1.default.join(this._localDatabasePath, "assets", "ongeki", "jackets", `${songId.padStart(4, "0")}-${variant}.png`);
|
|
39
|
-
if (node_fs_1.default.existsSync(localFilePath)) {
|
|
40
|
-
return { data: node_fs_1.default.readFileSync(localFilePath) };
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
// Falls back to normal jacket if a variant cannot be found.
|
|
44
|
-
const localFilePath = node_path_1.default.join(this._localDatabasePath, "assets", "ongeki", "jackets", `${songId.padStart(4, "0")}.png`);
|
|
45
|
-
const jacket = node_fs_1.default.existsSync(localFilePath) && node_fs_1.default.readFileSync(localFilePath);
|
|
46
|
-
if (jacket) {
|
|
47
|
-
this.cache.put(cacheKey, jacket, 5 * 1000); // 5 seconds.
|
|
48
|
-
return { data: jacket };
|
|
49
|
-
}
|
|
50
|
-
else {
|
|
51
|
-
return { err: `Cannot find the jacket of ${identifier}.` };
|
|
52
|
-
}
|
|
44
|
+
return { err: `Cannot find the jacket of ${identifier}.` };
|
|
53
45
|
}
|
|
54
46
|
}
|
|
55
47
|
async getChart(identifier, difficulty) {
|
|
@@ -95,18 +87,17 @@ class Database {
|
|
|
95
87
|
.filter((v) => v.title === payload.title &&
|
|
96
88
|
v.difficulty === payload.difficulty)
|
|
97
89
|
.map((v) => {
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
}
|
|
90
|
+
const internalLevel = v.internalLevel ??
|
|
91
|
+
(0, getInternalLevelFromPresences_1.getInternalLevelFromPresences)(v.optionalData.presences);
|
|
92
|
+
if (internalLevel) {
|
|
93
|
+
return {
|
|
94
|
+
chart: v,
|
|
95
|
+
weight: Math.abs(internalLevel - payload.level),
|
|
96
|
+
};
|
|
106
97
|
}
|
|
107
98
|
return { chart: v };
|
|
108
99
|
})
|
|
109
|
-
.filter((v) =>
|
|
100
|
+
.filter((v) => "weight" in v)
|
|
110
101
|
.sort((a, b) => a.weight - b.weight);
|
|
111
102
|
return {
|
|
112
103
|
data: sortedCandidates.slice(0, options?.maxResultCount || 20),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database.js","sourceRoot":"","sources":["../../src/ongeki/database.ts"],"names":[],"mappings":";;;;;;AAAA,sDAAyB;AACzB,0DAA6B;AAC7B,sFAAmF;AACnF,2CAAwC;AAIxC,MAAa,QAAQ;IACG;IAApB,YAAoB,kBAA0B;QAA1B,uBAAkB,GAAlB,kBAAkB,CAAQ;IAAG,CAAC;IAE3C,oBAAoB,CAAC,IAAY;QACpC,IAAI,iBAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,OAAO,IAAI,CAAC;QAChB,CAAC;aAAM,CAAC;YACJ,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAEM,gBAAgB;QACnB,OAAO,iBAAE,CAAC,UAAU,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAClD,CAAC;IAEO,KAAK,GAAG,IAAI,aAAK,CAAC,2BAA2B,CAAC,CAAC;IAChD,KAAK,CAAC,SAAS,CAAC,UAAkB,EAAE,OAA4B;QACnE,MAAM,
|
|
1
|
+
{"version":3,"file":"database.js","sourceRoot":"","sources":["../../src/ongeki/database.ts"],"names":[],"mappings":"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"}
|