beatsaber-bot-core 0.2.0-dev.12 → 0.2.0-dev.13
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/lib/api/composed/beatleader.js.map +1 -1
- package/lib/cmd/score.js +6 -1
- package/lib/cmd/score.js.map +1 -1
- package/lib/i18n/index.js +2 -35
- package/lib/i18n/index.js.map +1 -1
- package/lib/i18n/parser.d.ts +14 -0
- package/lib/i18n/parser.js +163 -0
- package/lib/i18n/parser.js.map +1 -0
- package/lib/i18n/zh-cn.json +1 -1
- package/lib/img-render/components/rankScoreItem.d.ts +3 -0
- package/lib/img-render/components/rankScoreItem.js +6 -2
- package/lib/img-render/components/rankScoreItem.js.map +1 -1
- package/lib/img-render/result/bs-score-with-rank.js +13 -1
- package/lib/img-render/result/bs-score-with-rank.js.map +1 -1
- package/lib/utils/index.js +1 -1
- package/lib/utils/index.js.map +1 -1
- package/package.json +1 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"beatleader.js","sourceRoot":"","sources":["../../../src/api/composed/beatleader.ts"],"names":[],"mappings":";;;AACA,4CAAwC;AAExC,mEAA0D;
|
1
|
+
{"version":3,"file":"beatleader.js","sourceRoot":"","sources":["../../../src/api/composed/beatleader.ts"],"names":[],"mappings":"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"}
|
package/lib/cmd/score.js
CHANGED
@@ -34,7 +34,12 @@ exports.default = () => new builder_1.CommandBuilder()
|
|
34
34
|
const mapId = c.input;
|
35
35
|
const score = await c.api.BeatLeader.wrapperResult().getScoreByPlayerIdAndMapId(accountId, mapId, diffOption);
|
36
36
|
if (!score.isSuccess()) {
|
37
|
-
throw new errors_1.ScoreNotFoundError({
|
37
|
+
throw new errors_1.ScoreNotFoundError({
|
38
|
+
user: accountId,
|
39
|
+
id: mapId,
|
40
|
+
diff: diffOption.difficulty,
|
41
|
+
mode: c.options.m,
|
42
|
+
});
|
38
43
|
}
|
39
44
|
const platform = c.options.p == 'ss' ? interface_1.Platform.SS : interface_1.Platform.BL;
|
40
45
|
const img = await c.render.renderScore(score.data.id.toString(), platform);
|
package/lib/cmd/score.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"score.js","sourceRoot":"","sources":["../../src/cmd/score.ts"],"names":[],"mappings":";;AAAA,2CAA8C;AAC9C,2CAAsC;AACtC,mCAAqC;AACrC,qCAA0E;AAC1E,kBAAe,GAAG,EAAE,CAClB,IAAI,wBAAc,EAAE;KACjB,OAAO,CAAC,OAAO,CAAC,CAAC,aAAa;KAC9B,SAAS,CAAC,GAAG,EAAE,iBAAiB,CAAC;KACjC,SAAS,CAAC,GAAG,EAAE,kBAAkB,CAAC;KAClC,SAAS,CAAC,GAAG,EAAE,aAAa,CAAC;KAC7B,QAAQ,CAAC,SAAS,CAAC;KACnB,QAAQ,CAAC,QAAQ,CAAC;KAClB,WAAW,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;IACvB,kCAAkC;IAClC,IAAI,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAA;IACxB,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxD,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAChC,CAAC;IAED,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAA;IACrE,IAAI,SAAS,GAAG,oBAAQ,CAAC,EAAE,IAAI,SAAS,CAAC,WAAW,CAAA;IACpD,SAAS,KAAK,oBAAQ,CAAC,EAAE,IAAI,SAAS,CAAC,WAAW,CAAA;IAClD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,oCAA2B,EAAE,CAAA;IACzC,CAAC;IAED,IAAI,UAAU,CAAA;IACd,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QAC/B,UAAU,GAAG;YACX,UAAU,EAAE,IAAA,mBAAW,EAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACpC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;SAClB,CAAA;IACH,CAAC;IAED,qBAAqB;IACrB,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAA;IAErB,MAAM,KAAK,GACT,MAAM,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,0BAA0B,CAC/D,SAAS,EACT,KAAK,EACL,UAAU,CACX,CAAA;IACH,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC;QACvB,MAAM,IAAI,2BAAkB,CAAC,
|
1
|
+
{"version":3,"file":"score.js","sourceRoot":"","sources":["../../src/cmd/score.ts"],"names":[],"mappings":";;AAAA,2CAA8C;AAC9C,2CAAsC;AACtC,mCAAqC;AACrC,qCAA0E;AAC1E,kBAAe,GAAG,EAAE,CAClB,IAAI,wBAAc,EAAE;KACjB,OAAO,CAAC,OAAO,CAAC,CAAC,aAAa;KAC9B,SAAS,CAAC,GAAG,EAAE,iBAAiB,CAAC;KACjC,SAAS,CAAC,GAAG,EAAE,kBAAkB,CAAC;KAClC,SAAS,CAAC,GAAG,EAAE,aAAa,CAAC;KAC7B,QAAQ,CAAC,SAAS,CAAC;KACnB,QAAQ,CAAC,QAAQ,CAAC;KAClB,WAAW,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;IACvB,kCAAkC;IAClC,IAAI,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAA;IACxB,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxD,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAChC,CAAC;IAED,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAA;IACrE,IAAI,SAAS,GAAG,oBAAQ,CAAC,EAAE,IAAI,SAAS,CAAC,WAAW,CAAA;IACpD,SAAS,KAAK,oBAAQ,CAAC,EAAE,IAAI,SAAS,CAAC,WAAW,CAAA;IAClD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,oCAA2B,EAAE,CAAA;IACzC,CAAC;IAED,IAAI,UAAU,CAAA;IACd,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QAC/B,UAAU,GAAG;YACX,UAAU,EAAE,IAAA,mBAAW,EAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACpC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;SAClB,CAAA;IACH,CAAC;IAED,qBAAqB;IACrB,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAA;IAErB,MAAM,KAAK,GACT,MAAM,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,0BAA0B,CAC/D,SAAS,EACT,KAAK,EACL,UAAU,CACX,CAAA;IACH,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC;QACvB,MAAM,IAAI,2BAAkB,CAAC;YAC3B,IAAI,EAAE,SAAS;YACf,EAAE,EAAE,KAAK;YACT,IAAI,EAAE,UAAU,CAAC,UAAU;YAC3B,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;SAClB,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,oBAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,oBAAQ,CAAC,EAAE,CAAA;IAChE,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,QAAQ,CAAC,CAAA;IAC1E,MAAM,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;AACjC,CAAC,CAAC,CAAA"}
|
package/lib/i18n/index.js
CHANGED
@@ -24,6 +24,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
24
24
|
};
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
26
26
|
exports.tran = exports.loadI18nConfig = void 0;
|
27
|
+
const parser_1 = require("../i18n/parser");
|
27
28
|
const i18nObj = {};
|
28
29
|
init().then((_) => console.log('i18n loaded'));
|
29
30
|
async function init() {
|
@@ -58,16 +59,6 @@ function loadI18nConfig(lang, obj) {
|
|
58
59
|
console.log(`overwrite i18n ${lang} `);
|
59
60
|
}
|
60
61
|
exports.loadI18nConfig = loadI18nConfig;
|
61
|
-
function safeEval(expr, context) {
|
62
|
-
try {
|
63
|
-
const fn = new Function(...Object.keys(context), `return ${expr}`);
|
64
|
-
return fn(...Object.values(context));
|
65
|
-
}
|
66
|
-
catch (e) {
|
67
|
-
console.error(expr, context, e);
|
68
|
-
return expr;
|
69
|
-
}
|
70
|
-
}
|
71
62
|
function tran(path, params = {}, lang = 'zh-cn') {
|
72
63
|
const keys = path.split('.');
|
73
64
|
let result = i18nObj[lang];
|
@@ -80,33 +71,9 @@ function tran(path, params = {}, lang = 'zh-cn') {
|
|
80
71
|
}
|
81
72
|
}
|
82
73
|
if (typeof result === 'string') {
|
83
|
-
return
|
74
|
+
return (0, parser_1.interpolate)(result, params);
|
84
75
|
}
|
85
76
|
return null;
|
86
77
|
}
|
87
78
|
exports.tran = tran;
|
88
|
-
function interpolateString(str, context) {
|
89
|
-
// 正则表达式匹配三元表达式
|
90
|
-
const regex = /\{\{(.*?)\?\s*'(.*?)'\s*:\s*'(.*?)'\s*\}\}/;
|
91
|
-
let match;
|
92
|
-
// 递归解析
|
93
|
-
while ((match = regex.exec(str)) !== null) {
|
94
|
-
const [fullMatch, condition, trueValue, falseValue] = match;
|
95
|
-
// 递归解析 trueValue 和 falseValue 以处理嵌套情况
|
96
|
-
const resolvedTrueValue = interpolateString(trueValue, context);
|
97
|
-
const resolvedFalseValue = interpolateString(falseValue, context);
|
98
|
-
// 计算条件表达式
|
99
|
-
let result = safeEval(condition, context);
|
100
|
-
if (typeof result === 'string') {
|
101
|
-
result = false;
|
102
|
-
}
|
103
|
-
const replacement = result ? resolvedTrueValue : resolvedFalseValue;
|
104
|
-
// 替换匹配到的三元表达式
|
105
|
-
str = str.replace(fullMatch, replacement);
|
106
|
-
}
|
107
|
-
// 替换变量插值
|
108
|
-
const variableRegex = /\{\{(.*?)\}\}/g;
|
109
|
-
str = str.replace(variableRegex, (match, expr) => safeEval(expr, context));
|
110
|
-
return str;
|
111
|
-
}
|
112
79
|
//# sourceMappingURL=index.js.map
|
package/lib/i18n/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/i18n/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,MAAM,OAAO,GAAG,EAAE,CAAA;AAElB,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAA;AAE9C,KAAK,UAAU,IAAI;IACjB,mBAAmB;IACnB,MAAM,EAAE,GAAG,wDAAa,cAAc,GAAC,CAAA;IACvC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAA;AACvB,CAAC;AAED,SAAS,QAAQ,CAAC,IAAI;IACpB,OAAO,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;AACjE,CAAC;AAED,SAAS,KAAK,CAAC,MAAM,EAAE,GAAG,OAAO;IAC/B,IAAI,CAAC,OAAO,CAAC,MAAM;QAAE,OAAO,MAAM,CAAA;IAClC,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAA;IAC9B,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACzC,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YACzB,IAAI,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBAC1B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;oBAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;gBACtD,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;YACjC,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAC/C,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,CAAA;AAClC,CAAC;AAED,SAAgB,cAAc,CAAC,IAAY,EAAE,GAAQ;IACnD,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACzB,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IAC/B,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,GAAG,CAAC,CAAA;AACxC,CAAC;AAJD,wCAIC;AAED,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/i18n/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAA2C;AAE3C,MAAM,OAAO,GAAG,EAAE,CAAA;AAElB,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAA;AAE9C,KAAK,UAAU,IAAI;IACjB,mBAAmB;IACnB,MAAM,EAAE,GAAG,wDAAa,cAAc,GAAC,CAAA;IACvC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAA;AACvB,CAAC;AAED,SAAS,QAAQ,CAAC,IAAI;IACpB,OAAO,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;AACjE,CAAC;AAED,SAAS,KAAK,CAAC,MAAM,EAAE,GAAG,OAAO;IAC/B,IAAI,CAAC,OAAO,CAAC,MAAM;QAAE,OAAO,MAAM,CAAA;IAClC,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAA;IAC9B,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACzC,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YACzB,IAAI,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBAC1B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;oBAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;gBACtD,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;YACjC,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAC/C,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,CAAA;AAClC,CAAC;AAED,SAAgB,cAAc,CAAC,IAAY,EAAE,GAAQ;IACnD,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACzB,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IAC/B,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,GAAG,CAAC,CAAA;AACxC,CAAC;AAJD,wCAIC;AAED,SAAgB,IAAI,CAAC,IAAY,EAAE,MAAM,GAAG,EAAE,EAAE,IAAI,GAAG,OAAO;IAC5D,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC5B,IAAI,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAE1B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;QACtB,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC;IAED,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO,IAAA,oBAAW,EAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACpC,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAjBD,oBAiBC"}
|
@@ -0,0 +1,14 @@
|
|
1
|
+
export declare class Parser {
|
2
|
+
private template;
|
3
|
+
private data;
|
4
|
+
private tokens;
|
5
|
+
private current;
|
6
|
+
constructor(template: string, data: any);
|
7
|
+
private tokenize;
|
8
|
+
private match;
|
9
|
+
private consume;
|
10
|
+
private parseExpression;
|
11
|
+
private parseInterpolation;
|
12
|
+
parse(): string;
|
13
|
+
}
|
14
|
+
export declare function interpolate(template: string, data: any): string;
|
@@ -0,0 +1,163 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.interpolate = exports.Parser = void 0;
|
4
|
+
var TokenType;
|
5
|
+
(function (TokenType) {
|
6
|
+
TokenType[TokenType["TEXT"] = 0] = "TEXT";
|
7
|
+
TokenType[TokenType["OPEN_BRACE"] = 1] = "OPEN_BRACE";
|
8
|
+
TokenType[TokenType["CLOSE_BRACE"] = 2] = "CLOSE_BRACE";
|
9
|
+
TokenType[TokenType["IDENTIFIER"] = 3] = "IDENTIFIER";
|
10
|
+
TokenType[TokenType["QUESTION"] = 4] = "QUESTION";
|
11
|
+
TokenType[TokenType["COLON"] = 5] = "COLON";
|
12
|
+
TokenType[TokenType["STRING"] = 6] = "STRING";
|
13
|
+
})(TokenType || (TokenType = {}));
|
14
|
+
// 插值解析Parser {{}},暂时没转义支持
|
15
|
+
// "😯,没有找到用户「{{user}}」的谱面「{{id}} ({{mode ? '{{mode}}' : '' }} {{diff ? '-{{diff}}' : '' }})」的打分数据"
|
16
|
+
class Parser {
|
17
|
+
template;
|
18
|
+
data;
|
19
|
+
tokens = [];
|
20
|
+
current = 0;
|
21
|
+
constructor(template, data) {
|
22
|
+
this.template = template;
|
23
|
+
this.data = data;
|
24
|
+
this.tokenize();
|
25
|
+
}
|
26
|
+
tokenize() {
|
27
|
+
let current = 0;
|
28
|
+
while (current < this.template.length) {
|
29
|
+
let char = this.template[current];
|
30
|
+
if (char === '\\' && current + 1 < this.template.length) {
|
31
|
+
// 处理转义字符
|
32
|
+
const nextChar = this.template[current + 1];
|
33
|
+
if (nextChar === '{' ||
|
34
|
+
nextChar === '}' ||
|
35
|
+
nextChar === '?' ||
|
36
|
+
nextChar === ':' ||
|
37
|
+
nextChar === "'" ||
|
38
|
+
nextChar === '\\') {
|
39
|
+
this.tokens.push({ type: TokenType.TEXT, value: nextChar });
|
40
|
+
current += 2;
|
41
|
+
continue;
|
42
|
+
}
|
43
|
+
}
|
44
|
+
if (char === '{' && this.template[current + 1] === '{') {
|
45
|
+
this.tokens.push({ type: TokenType.OPEN_BRACE, value: '{{' });
|
46
|
+
current += 2;
|
47
|
+
continue;
|
48
|
+
}
|
49
|
+
if (char === '}' && this.template[current + 1] === '}') {
|
50
|
+
this.tokens.push({ type: TokenType.CLOSE_BRACE, value: '}}' });
|
51
|
+
current += 2;
|
52
|
+
continue;
|
53
|
+
}
|
54
|
+
if (char === '?') {
|
55
|
+
this.tokens.push({ type: TokenType.QUESTION, value: '?' });
|
56
|
+
current++;
|
57
|
+
continue;
|
58
|
+
}
|
59
|
+
if (char === ':') {
|
60
|
+
this.tokens.push({ type: TokenType.COLON, value: ':' });
|
61
|
+
current++;
|
62
|
+
continue;
|
63
|
+
}
|
64
|
+
if (char === "'") {
|
65
|
+
let value = '';
|
66
|
+
char = this.template[++current];
|
67
|
+
while (char !== "'" && current < this.template.length) {
|
68
|
+
if (char === '\\' && current + 1 < this.template.length) {
|
69
|
+
char = this.template[++current];
|
70
|
+
}
|
71
|
+
value += char;
|
72
|
+
char = this.template[++current];
|
73
|
+
}
|
74
|
+
if (char === "'")
|
75
|
+
current++;
|
76
|
+
this.tokens.push({ type: TokenType.STRING, value });
|
77
|
+
continue;
|
78
|
+
}
|
79
|
+
if (/[a-zA-Z0-9_]/.test(char)) {
|
80
|
+
let value = '';
|
81
|
+
while (/[a-zA-Z0-9_]/.test(char)) {
|
82
|
+
value += char;
|
83
|
+
char = this.template[++current];
|
84
|
+
}
|
85
|
+
this.tokens.push({ type: TokenType.IDENTIFIER, value });
|
86
|
+
continue;
|
87
|
+
}
|
88
|
+
if (/\s/.test(char)) {
|
89
|
+
current++;
|
90
|
+
continue;
|
91
|
+
}
|
92
|
+
let value = '';
|
93
|
+
while (current < this.template.length &&
|
94
|
+
char !== '{' &&
|
95
|
+
char !== '}' &&
|
96
|
+
char !== '?' &&
|
97
|
+
char !== ':' &&
|
98
|
+
char !== "'" &&
|
99
|
+
!/[a-zA-Z0-9_]/.test(char)) {
|
100
|
+
if (char === '\\' && current + 1 < this.template.length) {
|
101
|
+
value += this.template[++current];
|
102
|
+
}
|
103
|
+
else {
|
104
|
+
value += char;
|
105
|
+
}
|
106
|
+
char = this.template[++current];
|
107
|
+
}
|
108
|
+
if (value) {
|
109
|
+
this.tokens.push({ type: TokenType.TEXT, value });
|
110
|
+
}
|
111
|
+
}
|
112
|
+
}
|
113
|
+
match(...types) {
|
114
|
+
if (this.current >= this.tokens.length)
|
115
|
+
return false;
|
116
|
+
return types.includes(this.tokens[this.current].type);
|
117
|
+
}
|
118
|
+
consume(type) {
|
119
|
+
if (this.match(type)) {
|
120
|
+
return this.tokens[this.current++];
|
121
|
+
}
|
122
|
+
throw new Error(`Expected token type ${type}, but got ${this.tokens[this.current].type}`);
|
123
|
+
}
|
124
|
+
parseExpression() {
|
125
|
+
if (this.match(TokenType.OPEN_BRACE)) {
|
126
|
+
this.consume(TokenType.OPEN_BRACE);
|
127
|
+
const result = this.parseInterpolation();
|
128
|
+
this.consume(TokenType.CLOSE_BRACE);
|
129
|
+
return result;
|
130
|
+
}
|
131
|
+
if (this.match(TokenType.STRING)) {
|
132
|
+
const tmp = this.consume(TokenType.STRING).value;
|
133
|
+
return interpolate(tmp, this.data);
|
134
|
+
}
|
135
|
+
return this.consume(TokenType.TEXT).value;
|
136
|
+
}
|
137
|
+
parseInterpolation() {
|
138
|
+
const identifier = this.consume(TokenType.IDENTIFIER).value;
|
139
|
+
if (this.match(TokenType.QUESTION)) {
|
140
|
+
this.consume(TokenType.QUESTION);
|
141
|
+
const truePart = this.parseExpression();
|
142
|
+
this.consume(TokenType.COLON);
|
143
|
+
const falsePart = this.parseExpression();
|
144
|
+
return this.data[identifier] ? truePart : falsePart;
|
145
|
+
}
|
146
|
+
return this.data[identifier]?.toString() || '';
|
147
|
+
}
|
148
|
+
parse() {
|
149
|
+
console.log(this.current, this.tokens);
|
150
|
+
let result = '';
|
151
|
+
while (this.current < this.tokens.length) {
|
152
|
+
result += this.parseExpression();
|
153
|
+
}
|
154
|
+
return result;
|
155
|
+
}
|
156
|
+
}
|
157
|
+
exports.Parser = Parser;
|
158
|
+
function interpolate(template, data) {
|
159
|
+
const parser = new Parser(template, data);
|
160
|
+
return parser.parse();
|
161
|
+
}
|
162
|
+
exports.interpolate = interpolate;
|
163
|
+
//# sourceMappingURL=parser.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/i18n/parser.ts"],"names":[],"mappings":"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"}
|
package/lib/i18n/zh-cn.json
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"common":{"hello":"你好,我是 bsbot","ping":"pong","render":{"wait":"开始渲染啦,请耐心等待 {{sec}} s"}},"ws":{"subscribe":{"update":"Hello {{username}},你关注的谱师「{{mapperName}}」更新啦!✨"}},"commands":{"bsbot":{"help":{"description":"查看帮助 (WIP)","usage":"bbhelp 查看使用方法","examples":"示例\nbbhelp\nbsbot.help"},"message":{"network-error":"☹️似乎发生了网络错误,请稍后重试吧"},"cmp":{"description":"compare 指令 (WIP)"},"who":{"description":"用于查询所@用户对应的 BeatLeader/ScoreSaber 面板","usage":"输入 bbwho 并@某人,如果他/她/它绑定了ScoreSaber Id(也就是 steam 的用户 Id),会查询该用户在对应平台的top 24 首 rank 谱面打分,并生成渲染图。","examples":"示例\nbbwho @someone\nbsbot.who @someone\nbsbot.who -p ss @someone","options":{"p":"查询的平台,ss 代表 scoresaber,默认为 beatleader"},"need-at":"谁?plz 重新执行指令并@ ta","not-bind":"你要查询的ta,还没有绑定哦"},"rank":{"description":"用于查询指定 scoreSaberID 对应用户的 BeatLeader/ScoreSaber 面板","usage":"输入 bbrank + scoreSaberId(也就是steamId)查询该用户在对应平台的top 24 首 rank 谱面打分,并生成渲染图。","examples":"示例\nbbrank 2169974796454690\nbsbot.rank 2169974796454690\nbsbot.rank -p ss 2169974796454690","options":{"p":"查询的平台,ss 代表 scoresaber,默认为 beatleader"}},"me":{"description":"用于查询自己绑定用户对应的 BeatLeader/ScoreSaber 面板","usage":"输入 bbme,如果已经绑定了ScoreSaber Id(也就是 steam 的用户 Id),会查询该用户在对应平台的top 24 首 rank 谱面打分,并生成渲染图。","examples":"示例\nbsbot.me\nbbme\nbbme -p ss","options":{"p":"查询的平台,ss 代表 scoresaber,默认为 beatleader"},"not-found":"Ops,似乎还没有绑定到 ScoreSaber 或 BeatLeader","score-not-found":"
|
1
|
+
{"common":{"hello":"你好,我是 bsbot","ping":"pong","render":{"wait":"开始渲染啦,请耐心等待 {{sec}} s"}},"ws":{"subscribe":{"update":"Hello {{username}},你关注的谱师「{{mapperName}}」更新啦!✨"}},"commands":{"bsbot":{"help":{"description":"查看帮助 (WIP)","usage":"bbhelp 查看使用方法","examples":"示例\nbbhelp\nbsbot.help"},"message":{"network-error":"☹️似乎发生了网络错误,请稍后重试吧"},"cmp":{"description":"compare 指令 (WIP)"},"who":{"description":"用于查询所@用户对应的 BeatLeader/ScoreSaber 面板","usage":"输入 bbwho 并@某人,如果他/她/它绑定了ScoreSaber Id(也就是 steam 的用户 Id),会查询该用户在对应平台的top 24 首 rank 谱面打分,并生成渲染图。","examples":"示例\nbbwho @someone\nbsbot.who @someone\nbsbot.who -p ss @someone","options":{"p":"查询的平台,ss 代表 scoresaber,默认为 beatleader"},"need-at":"谁?plz 重新执行指令并@ ta","not-bind":"你要查询的ta,还没有绑定哦"},"rank":{"description":"用于查询指定 scoreSaberID 对应用户的 BeatLeader/ScoreSaber 面板","usage":"输入 bbrank + scoreSaberId(也就是steamId)查询该用户在对应平台的top 24 首 rank 谱面打分,并生成渲染图。","examples":"示例\nbbrank 2169974796454690\nbsbot.rank 2169974796454690\nbsbot.rank -p ss 2169974796454690","options":{"p":"查询的平台,ss 代表 scoresaber,默认为 beatleader"}},"me":{"description":"用于查询自己绑定用户对应的 BeatLeader/ScoreSaber 面板","usage":"输入 bbme,如果已经绑定了ScoreSaber Id(也就是 steam 的用户 Id),会查询该用户在对应平台的top 24 首 rank 谱面打分,并生成渲染图。","examples":"示例\nbsbot.me\nbbme\nbbme -p ss","options":{"p":"查询的平台,ss 代表 scoresaber,默认为 beatleader"},"not-found":"Ops,似乎还没有绑定到 ScoreSaber 或 BeatLeader","score-not-found":"😯,没有找到用户「{{user}}」的谱面「{{id}} ({{mode ? '{{mode}}' : '' }} {{diff ? '-{{diff}}' : '' }})」的打分数据"},"bind":{"description":"绑定自己的 ScoreSaberId(也就是 steam 的用户 Id,仅公开信息,无需验证)","usage":"输入 bbbind,后接 userId,按照提示即可绑定","examples":"示例\nbsbot.bind 76561198339986544\nbbbind 76561198339986544","bs":{"not-found":"☹️什么没有找到,这个 code 真的有效吗?","network-error":"☹️似乎发生了网络错误,请稍后重试吧","unknown-error":"☹️不知道发生了什么,暂时无法绑定,请稍后重试吧","invalid-token":"无效 token,请确认给出的 code 有效。","success":"成功绑定 BeatSaver 用户 {{name}}({{id}})"},"bl":{"not-found":"☹️什么没有找到,这个 code 真的有效吗?","network-error":"☹️似乎发生了网络错误,请稍后重试吧","unknown-error":"☹️不知道发生了什么,暂时无法绑定,请稍后重试吧","invalid-token":"无效 token,请确认给出的 code 有效。","success":"成功绑定 BeatLeader 用户 {{name}}({{id}})"},"network-error":"☹️似乎发生了网络错误,请稍后重试吧","exist":"另外,你已经绑定了「{{id}}」,继续绑定丢失当前绑定哦","cancel":"已取消","timeout":"已超时取消","not-found":"Ops,没有找到 id 为「{{id}}」的 {{platform]} 用户","ack-prompt":"确定要绑定「{{user}}」吗,30 秒内回复「y」或「yes」以确认,超时或回复其他内容取消操作","success":"🎉,成功绑定「{{user}}」啦"},"score":{"description":"查询用户在Beatleader 上的某次打分成绩,并生成渲染图。","usage":"1. bbscore 加上 beatleader 的 scoreId,即可生成渲染图。\n2. bbscore 加上 Beatsaver 的 mapId,即可查询自己绑定的Bealeader账号关于该谱面的最高打分,并生成渲染图\n3. bbscore 加上 Beatsaver 的 mapId 并@某人,即可查询该用户绑定的Bealeader账号关于该谱面的最高打分,并生成渲染图","examples":"示例\nbsbot.score 13887221\nbbscore 33b62\nbbscore 33b62@someone","not-a-score-id":"似乎不是一个 score ID","not-bind":"你还没有绑定哦,使用 bind 指令进行绑定吧","who-not-bind":"你要查询的ta,还没有绑定哦"},"search":{"description":"按关键词进行谱面搜索","usage":"通过关键字进行谱面搜索,会发送将最相关的 3 个谱面。","examples":"示例\nbsbot.search megalovania\nbbsou megalovania\nbbsearch megalovania","success":"为你奉上关于「{{key}}」的{{length}}首谱面 🎉","not-found":"Ops,关于「{{key}}」什么都没找到","too-long-key":"关键词长度不应该超过 15 哦,因为这样容易什么都找不到,较长的部分已经帮你截掉啦,正在搜索中「{{key}}」"},"id":{"description":"按谱面id查找谱面。","usage":"根据谱面ID查找谱面。","examples":"示例\nbsbot.id 36677\nbbid 36677\n!bsr 36677\n36677","error-map-id":"「{{input}}」似乎不是一个 mapId,正确的 mapId 是这样的哦(3877a)","not-found":"Ops! 似乎没有找到 id 为「{{input}}」的谱面"},"latest":{"description":"查找最新的三首谱面。","usage":"获取最新的三首谱面。","examples":"示例\nbsbot.latest\nbsbot.new\nbbnew","info":"为你奉上最新的 3 首谱面 🎉"},"subscribe":{"description":"订阅 BeatSaber 相关的事件,并主动推送。(RC)","usage":"通过 bbsub 订阅 BeatSaber 相关的事件,当特定事件发生时会进行主动推送。","examples":"示例\nbsbot.subscribe\nbbsub","alert":{"no-bind-bs-id":"你还未绑定 beatsaver,快使用 bbbindbs 进行绑定吧","not-success":"订阅失败,可能是因为凭证已经过期","success":"成功订阅BeatSaver通知,当新通知出现时,会主动推送给你。","invalid-token":"似乎token 已经失效了,快使用 bbbindbs 重新进行绑定吧"},"beatleader":{"exist":"当前群聊/频道已订阅 BeatLeader 打分更新事件","success":"成功订阅 BeatLeader 打分更新事件,当参与群员出现满足条件的打分事件时,会主动推送"},"beatsaver":{"exist":"当前群聊/频道已订阅 BeatSaver 谱面更新事件","success":"成功订阅 BeatSaver 谱面更新事件,当参与群员发布新谱面时,会主动推送"},"info":{"none":"当前群聊/频道没有任何 BeatSaber 事件订阅。","header":"当前群聊/频道 BeatSaber 订阅如下:","body-item":"订阅类型「{{type}}」, 共 {{cnt}} 名参与成员","body-item-include-you":"(包括你哦)"},"join":{"description":"加入本群聊订阅的 BeatSaber 相关的事件","usage":"","examples":"示例\nbsbot.subscribe\nbbsub","success":{"beatleader":"成功加入本群Beatleader订阅组,当你打出高分时,会在本群推送","beatsaver":"成功加入本群订阅组,当你发布新谱面时,会在本群推送"},"nosub":{"beatleader":"当前群组/频道未启用 beatleader 打分订阅","beatsaver":"当前群组/频道未启用 beatsaver 谱师订阅"}},"leave":{"description":"离开本群 BeatSaber 相关事件订阅组","usage":"","examples":"示例\nbsbot.subscribe 查看当前会话的订阅信息\nbbsub\nbbsub --type beatsaver 为当前会话订阅 beatsaver 新谱面事件,当特定新谱面出现,会主动推送\nbbsub --type beatleader 为当前会话订阅 beatleader 打分事件,当满足要求的打分事件出现,会主动推送\nbbsub --type alert 订阅个人 BeatSaver 通知,当 beatsaver 新通知出现,会主动推送","not-exist":{"beatleader":"你还未加入当前群组/频道的 beatleader 打分订阅,无需离开","beatsaver":null},"success":{"beatleader":"成功离开本群「beatleader」订阅组,当你打出高分时,不会再在本群推送了","beatsaver":"成功离开本群「beatsaver」订阅组,当你发布新谱面时,不会再在本群推送了"}}},"unsubscribe":{"description":"取消订阅 BeatSaber 相关的事件。(RC)","usage":"取消通过 bbsub 订阅的 BeatSaber 相关的事件,当特定事件发生时不会进行主动推送。","examples":"示例\nbsbot.unsubscribe\nbbunsub","nosub":{"beatleader":"当前群组/频道未启用 beatleader 打分订阅","beatsaver":"当前群组/频道未启用 beatsaver 谱师订阅"},"success":{"beatleader":"成功禁用 beatleader 打分订阅","beatsaver":"成功禁用 beatsaver 谱师订阅"},"cancel-all":"已成功取消所有更新订阅","cancel":"已取消对谱师「{id}」的更新订阅"}}},"_config":{"beatSaverHost":"BeatSaverOrigin,例如:https://api.beatsaver.com","beatSaverWSHost":"BeatSaverWebSocketOrigin,用于实时监听谱面更新,例如wss://ws.beatsaver.com/maps","renderMode":"谱面图是由插件本地生成/远程获取"}}
|
@@ -12,4 +12,7 @@ interface ScoreItemProps {
|
|
12
12
|
self: boolean;
|
13
13
|
}
|
14
14
|
export declare function RankScoreItem(props: ScoreItemProps): import("react/jsx-runtime").JSX.Element;
|
15
|
+
export declare function ScoreItemSkeleton({ isRegionRank }: {
|
16
|
+
isRegionRank: boolean;
|
17
|
+
}): import("react/jsx-runtime").JSX.Element;
|
15
18
|
export {};
|
@@ -26,13 +26,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
27
27
|
};
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
29
|
-
exports.RankScoreItem = void 0;
|
29
|
+
exports.ScoreItemSkeleton = exports.RankScoreItem = void 0;
|
30
30
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
31
31
|
const dayjs_1 = __importDefault(require("dayjs"));
|
32
32
|
const flag_1 = __importStar(require("../../img-render/components/flag"));
|
33
33
|
const utils_1 = require("../../img-render/utils");
|
34
34
|
function RankScoreItem(props) {
|
35
|
-
return ((0, jsx_runtime_1.jsx)("div", { className:
|
35
|
+
return ((0, jsx_runtime_1.jsx)("div", { className: `${props.self ? 'gradient-border' : ''} bs-bg-gradient shadow-xl rounded-lg -skew-x-12 w-80 h-20 text-white font-bold flex flex-col p-1 z-10 relative max-w-[300px]`, children: (0, jsx_runtime_1.jsxs)("div", { className: "skew-x-12 relative", children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex items-center translate-x-2 justify-between", children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex gap-2", children: [(0, jsx_runtime_1.jsxs)("div", { className: 'w-12 h-12 relative', children: [(0, jsx_runtime_1.jsx)("img", { src: props.avatar, className: "shadow-lg w-12 h-12 rounded-full object-cover" }), (0, jsx_runtime_1.jsx)("div", { className: 'w-3 h-3 absolute bottom-0 right-3', children: (0, jsx_runtime_1.jsx)(flag_1.default, { flagNationCode: props.countryCode }) })] }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("div", { className: 'line-clamp-1 text-ellipsis max-w-[100px]', children: props.name }), (0, jsx_runtime_1.jsxs)("span", { className: "flex items-center space-x-1", children: [!props.isRegionRank && (0, jsx_runtime_1.jsx)(flag_1.EarchIcon, {}), (0, jsx_runtime_1.jsxs)("span", { children: ["# ", props.globalRank] })] })] })] }), (0, jsx_runtime_1.jsxs)("div", { className: "flex flex-col items-end -translate-x-2 -skew-x-3", children: [(0, jsx_runtime_1.jsxs)("div", { children: [(props.acc * 100).toFixed(2), " %"] }), (0, jsx_runtime_1.jsxs)("div", { className: 'flex gap-2', children: [(0, jsx_runtime_1.jsx)("div", { className: 'space-x-1', children: props.modifiers.split(',').map((it) => ((0, jsx_runtime_1.jsx)("span", { children: it }, it))) }), (0, jsx_runtime_1.jsx)("div", { children: (0, utils_1.numberWithCommas)(props.score) })] })] })] }), (0, jsx_runtime_1.jsxs)("div", { className: "flex items-center justify-between mt-0 px-4 -translate-x-4", children: [(0, jsx_runtime_1.jsx)("div", { className: "flex gap-2", children: (0, jsx_runtime_1.jsx)("div", { className: "flex gap-1 items-center justify-start -skew-x-2 text-xs opacity-60", children: (0, jsx_runtime_1.jsx)("div", { children: (0, utils_1.formatDate)((0, dayjs_1.default)(props.date * 1000).toDate(), 'YY 年 MM 月 DD 日') }) }) }), (0, jsx_runtime_1.jsx)("div", { children: (0, jsx_runtime_1.jsx)("div", { className: "flex gap-1 items-center justify-start translate-x-6 text-xl font-bold text-green-300", children: (0, jsx_runtime_1.jsxs)("div", { children: [" ", props.pp.toFixed(2), " PP"] }) }) })] })] }) }));
|
36
36
|
}
|
37
37
|
exports.RankScoreItem = RankScoreItem;
|
38
|
+
function ScoreItemSkeleton({ isRegionRank }) {
|
39
|
+
return ((0, jsx_runtime_1.jsx)("div", { className: `bs-bg-gradient shadow-xl rounded-lg -skew-x-12 w-80 h-20 text-white font-bold flex flex-col p-1 z-10 relative max-w-[300px]`, children: (0, jsx_runtime_1.jsxs)("div", { className: "skew-x-12 relative", children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex items-center translate-x-2 justify-between", children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex gap-2", children: [(0, jsx_runtime_1.jsx)("div", { className: 'w-12 h-12 relative', children: (0, jsx_runtime_1.jsx)("img", { src: `https://avatar.iran.liara.run/public`, className: "shadow-lg w-12 h-12 rounded-full object-cover" }) }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("div", { className: 'line-clamp-1 text-ellipsis max-w-[100px]', children: "\u865A\u4F4D\u4EE5\u5F85" }), (0, jsx_runtime_1.jsxs)("span", { className: "flex items-center space-x-1", children: [!isRegionRank && (0, jsx_runtime_1.jsx)(flag_1.EarchIcon, {}), (0, jsx_runtime_1.jsx)("span", { children: "# 0 " })] })] })] }), (0, jsx_runtime_1.jsxs)("div", { className: "flex flex-col items-end -translate-x-2 -skew-x-3", children: [(0, jsx_runtime_1.jsx)("div", { children: "0.00 %" }), (0, jsx_runtime_1.jsxs)("div", { className: 'flex gap-2', children: [(0, jsx_runtime_1.jsx)("div", { className: 'space-x-1', children: " " }), (0, jsx_runtime_1.jsx)("div", { children: "000,000" })] })] })] }), (0, jsx_runtime_1.jsxs)("div", { className: "flex items-center justify-between mt-0 px-4 -translate-x-4", children: [(0, jsx_runtime_1.jsx)("div", { className: "flex gap-1 items-center justify-start -skew-x-2 text-xs opacity-60", children: (0, jsx_runtime_1.jsx)("div", { children: "00 \u5E74 00 \u6708 00 \u65E5" }) }), (0, jsx_runtime_1.jsx)("div", { className: "flex gap-1 items-center justify-start translate-x-6 text-xl font-bold text-green-300", children: (0, jsx_runtime_1.jsx)("div", { children: " 0.00 PP" }) })] })] }) }));
|
40
|
+
}
|
41
|
+
exports.ScoreItemSkeleton = ScoreItemSkeleton;
|
38
42
|
//# sourceMappingURL=rankScoreItem.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"rankScoreItem.js","sourceRoot":"","sources":["../../../src/img-render/components/rankScoreItem.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAAyB;AACzB,qEAA+D;AAC/D,8CAAiE;AAejE,SAAgB,aAAa,CAAC,KAAqB;IACjD,OAAO,CACL,gCACE,SAAS,EAAE
|
1
|
+
{"version":3,"file":"rankScoreItem.js","sourceRoot":"","sources":["../../../src/img-render/components/rankScoreItem.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAAyB;AACzB,qEAA+D;AAC/D,8CAAiE;AAejE,SAAgB,aAAa,CAAC,KAAqB;IACjD,OAAO,CACL,gCACE,SAAS,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,8HAA8H,YAE/K,iCAAK,SAAS,EAAC,oBAAoB,aACjC,iCAAK,SAAS,EAAC,iDAAiD,aAC9D,iCAAK,SAAS,EAAC,YAAY,aACzB,iCAAK,SAAS,EAAE,oBAAoB,aAClC,gCACE,GAAG,EAAE,KAAK,CAAC,MAAM,EACjB,SAAS,EAAC,+CAA+C,GACzD,EACF,gCAAK,SAAS,EAAE,mCAAmC,YACjD,uBAAC,cAAK,IAAC,cAAc,EAAE,KAAK,CAAC,WAAW,GAAI,GACxC,IACF,EACN,4CACE,gCAAK,SAAS,EAAE,0CAA0C,YACvD,KAAK,CAAC,IAAI,GACP,EACN,kCAAM,SAAS,EAAC,6BAA6B,aAC1C,CAAC,KAAK,CAAC,YAAY,IAAI,uBAAC,gBAAS,KAAG,EACrC,mDAAS,KAAK,CAAC,UAAU,IAAQ,IAC5B,IACH,IACF,EAEN,iCAAK,SAAS,EAAC,kDAAkD,aAC/D,4CAAM,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAS,EAC3C,iCAAK,SAAS,EAAE,YAAY,aAC1B,gCAAK,SAAS,EAAE,WAAW,YACxB,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CACtC,2CAAgB,EAAE,IAAP,EAAE,CAAa,CAC3B,CAAC,GACE,EACN,0CAAM,IAAA,wBAAgB,EAAC,KAAK,CAAC,KAAK,CAAC,GAAO,IACtC,IACF,IACF,EACN,iCAAK,SAAS,EAAC,4DAA4D,aACzE,gCAAK,SAAS,EAAC,YAAY,YACzB,gCAAK,SAAS,EAAC,oEAAoE,YACjF,0CACG,IAAA,kBAAU,EACT,IAAA,eAAK,EAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,MAAM,EAAE,EACjC,gBAAgB,CACjB,GACG,GACF,GACF,EACN,0CACE,gCAAK,SAAS,EAAC,sFAAsF,YACnG,iDAAO,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,WAAU,GAChC,GACF,IACF,IACF,GACF,CACP,CAAA;AACH,CAAC;AA5DD,sCA4DC;AAED,SAAgB,iBAAiB,CAAC,EAAE,YAAY,EAA6B;IAC3E,OAAO,CACL,gCACE,SAAS,EAAE,6HAA6H,YAExI,iCAAK,SAAS,EAAC,oBAAoB,aACjC,iCAAK,SAAS,EAAC,iDAAiD,aAC9D,iCAAK,SAAS,EAAC,YAAY,aACzB,gCAAK,SAAS,EAAE,oBAAoB,YAClC,gCACE,GAAG,EAAE,sCAAsC,EAC3C,SAAS,EAAC,+CAA+C,GACzD,GACE,EACN,4CACE,gCAAK,SAAS,EAAE,0CAA0C,yCAEpD,EACN,kCAAM,SAAS,EAAC,6BAA6B,aAC1C,CAAC,YAAY,IAAI,uBAAC,gBAAS,KAAG,EAC/B,oDAAiB,IACZ,IACH,IACF,EAEN,iCAAK,SAAS,EAAC,kDAAkD,aAC/D,qDAAiB,EACjB,iCAAK,SAAS,EAAE,YAAY,aAC1B,gCAAK,SAAS,EAAE,WAAW,kBAAS,EACpC,sDAAkB,IACd,IACF,IACF,EACN,iCAAK,SAAS,EAAC,4DAA4D,aACzE,gCAAK,SAAS,EAAC,oEAAoE,YACjF,4EAAyB,GACrB,EACN,gCAAK,SAAS,EAAC,sFAAsF,YACnG,uDAAmB,GACf,IACF,IACF,GACF,CACP,CAAA;AACH,CAAC;AA5CD,8CA4CC"}
|
@@ -13,9 +13,21 @@ const utils_1 = require("../../img-render/utils");
|
|
13
13
|
const progressbar_1 = __importDefault(require("../../img-render/components/progressbar"));
|
14
14
|
function BLRankScore({ score, aroundScores, regionTopScores, difficulties, bsMap, statistic, bsor, }) {
|
15
15
|
const bg = 'https://www.loliapi.com/acg/pc/';
|
16
|
+
let aroundScore = aroundScores
|
17
|
+
.slice(0, 7)
|
18
|
+
.map((it) => ({ ...it, template: false }));
|
19
|
+
let regionTopScore = regionTopScores
|
20
|
+
.slice(0, 7)
|
21
|
+
.map((it) => ({ ...it, template: false }));
|
22
|
+
if (aroundScore.length < 7) {
|
23
|
+
aroundScore = aroundScore.concat(new Array(7 - aroundScore.length).fill({ template: true }));
|
24
|
+
}
|
25
|
+
if (regionTopScore.length < 7) {
|
26
|
+
regionTopScore = regionTopScore.concat(new Array(7 - regionTopScore.length).fill({ template: true }));
|
27
|
+
}
|
16
28
|
return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsxs)("div", { className: 'flex flex-col justify-center items-center relative h-[720px] w-[1165px] my-auto rounded-none', id: "render-result", children: [(0, jsx_runtime_1.jsx)("div", { className: 'bg-blend-darken h-full w-full left-auto absolute right-auto bg-black/[.6] p-4 text-white flex flex-col justify-between z-10', children: (0, jsx_runtime_1.jsxs)("div", { className: 'flex justify-between items-start gap-2 grow', children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex flex-col items-start justify-between text-xl font-bold grow h-full", children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex space-x-4 items-center justify-between text-2xl font-bold", children: [(0, jsx_runtime_1.jsx)(avatar_1.Avatar, { className: 'h-16 w-16 rounded-full', src: score.player.avatar, fallback: score.player.name.slice(0, 1) }), (0, jsx_runtime_1.jsx)("div", { children: score.player.name })] }), (0, jsx_runtime_1.jsx)("div", { className: "text-xl text-ellipsis line-clamp-2", children: score.song.name }), (0, jsx_runtime_1.jsxs)("div", { className: "flex space-x-4 h-52", children: [(0, jsx_runtime_1.jsx)(avatar_1.Avatar, { className: 'h-52 w-52 rounded-md', src: score.song.cover, fallback: score.song.name.slice(0, 1) }), (0, jsx_runtime_1.jsxs)("div", { className: "text-xs font-bold flex flex-col items-start justify-between grow w-full", children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex space-x-2 items-center text-sm", children: [(0, jsx_runtime_1.jsx)(avatar_1.Avatar, { className: 'h-4 w-4 rounded-full', src: bsMap.uploader.avatar, fallback: score.song.mapper.slice(0, 1) }), (0, jsx_runtime_1.jsx)("div", { className: "flex items-center justify-between", children: (0, jsx_runtime_1.jsx)("div", { className: "text-ellipsis line-clamp-1", children: score.song.mapper }) })] }), (0, jsx_runtime_1.jsxs)("div", { className: "text-xs flex gap-2 items-center *:space-x-1 *:flex *:items-center font-normal", children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex items-center", children: [(0, jsx_runtime_1.jsx)(lucide_react_1.HeartPulse, { className: "h-3 w-3" }), (0, jsx_runtime_1.jsx)("span", { children: bsMap.metadata.bpm.toFixed(0) })] }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("span", { children: (0, jsx_runtime_1.jsx)(lucide_react_1.Key, { className: 'w-3 h-3' }) }), (0, jsx_runtime_1.jsx)("span", { children: score.song.id.toLowerCase().replaceAll('x', '') })] }), (0, jsx_runtime_1.jsxs)("div", { className: "flex items-center", children: [(0, jsx_runtime_1.jsx)(lucide_react_1.Clock, { className: "h-3 w-3" }), (0, jsx_runtime_1.jsx)("span", { children: (0, utils_1.formatDuration)(bsMap.metadata.duration) })] }), (0, jsx_runtime_1.jsxs)("div", { className: "flex items-center text-ellipsis col-span-2 line-clamp-1", children: [(0, jsx_runtime_1.jsx)(lucide_react_1.Calendar, { className: "h-3 w-3" }), (0, jsx_runtime_1.jsx)("span", { children: (0, utils_1.formatTime)(bsMap.lastPublishedAt) })] })] }), (0, jsx_runtime_1.jsxs)("div", { className: "flex items-center space-x-2 justify-between font-normal", children: [(0, jsx_runtime_1.jsx)(progressbar_1.default, { value: bsMap.stats.score * 100 }), (0, jsx_runtime_1.jsxs)("span", { children: [(bsMap.stats.score * 100).toFixed(2), " %"] }), (0, jsx_runtime_1.jsxs)("div", { className: "flex items-center", children: [(0, jsx_runtime_1.jsx)(lucide_react_1.ThumbsUp, { className: "h-3 w-3 mr-0.5" }), (0, jsx_runtime_1.jsx)("span", { children: bsMap.stats.upvotes })] }), (0, jsx_runtime_1.jsxs)("div", { className: "flex items-center", children: [(0, jsx_runtime_1.jsx)(lucide_react_1.ThumbsDown, { className: "h-3 w-3 mr-0.5" }), (0, jsx_runtime_1.jsx)("span", { children: bsMap.stats.downvotes })] })] }), (0, jsx_runtime_1.jsxs)("div", { className: 'text-lg min-w-60 flex flex-col leading-6', children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex justify-between items-center", children: [(0, jsx_runtime_1.jsxs)("span", { children: [" # ", score.pp.toFixed(2), " PP"] }), (0, jsx_runtime_1.jsxs)("span", { children: [" # ", score.rank] })] }), (0, jsx_runtime_1.jsxs)("div", { className: "flex items-center justify-between", children: [(0, jsx_runtime_1.jsx)("span", { children: "Accuracy" }), (0, jsx_runtime_1.jsxs)("span", { children: [(score.accuracy * 100).toFixed(2), " %"] })] }), score.fullCombo && ((0, jsx_runtime_1.jsxs)("div", { className: "flex items-center justify-between", children: [(0, jsx_runtime_1.jsx)("span", { children: "Full Combo" }), (0, jsx_runtime_1.jsx)(lucide_react_1.Check, {})] })), score.maxCombo && ((0, jsx_runtime_1.jsxs)("div", { className: "flex items-center justify-between", children: [(0, jsx_runtime_1.jsx)("span", { children: "Max Combo" }), (0, jsx_runtime_1.jsx)("span", { children: score.maxCombo })] })), (0, jsx_runtime_1.jsxs)("div", { className: "flex items-center justify-between", children: [(0, jsx_runtime_1.jsx)("span", { children: "Missed Notes" }), (0, jsx_runtime_1.jsx)("span", { children: score.missedNotes })] }), (0, jsx_runtime_1.jsxs)("div", { className: "flex items-center justify-between", children: [(0, jsx_runtime_1.jsx)("span", { children: "Total Mistakes" }), (0, jsx_runtime_1.jsx)("span", { children: score.missedNotes })] }), score.modifiers && ((0, jsx_runtime_1.jsxs)("div", { className: "flex items-center justify-between", children: [(0, jsx_runtime_1.jsx)("span", { children: "Modifiers" }), (0, jsx_runtime_1.jsx)("span", { children: score.modifiers })] }))] })] })] }), (0, jsx_runtime_1.jsx)("div", { className: "text-xl font-bold h-24 w-[500px] rounded-lg mt-auto flex items-center justify-evenly gap-2 ", children: difficulties
|
17
29
|
.filter((it) => it.mode === 1)
|
18
|
-
.map((diff) => ((0, jsx_runtime_1.jsx)(RankDifficulty_1.RankDifficulty, { difficulty: diff.difficultyName, stars: diff.stars, current: score.difficulty.id === diff.id }, diff.difficultyName))) }), (0, jsx_runtime_1.jsxs)("div", { className: "align-end mt-2 mb-2", children: [(0, jsx_runtime_1.jsx)("span", { className: "text-xl font-bold", children: "AccGraph" }), (0, jsx_runtime_1.jsx)(scoregraph_1.default, { scoreId: score.id, scoreInfo: score, statistic: statistic, bsor: bsor, height: 240, width: 480 })] })] }), (0, jsx_runtime_1.jsxs)("div", { className: 'flex justify-between gap-2 items-
|
30
|
+
.map((diff) => ((0, jsx_runtime_1.jsx)(RankDifficulty_1.RankDifficulty, { difficulty: diff.difficultyName, stars: diff.stars, current: score.difficulty.id === diff.id }, diff.difficultyName))) }), (0, jsx_runtime_1.jsxs)("div", { className: "align-end mt-2 mb-2", children: [(0, jsx_runtime_1.jsx)("span", { className: "text-xl font-bold", children: "AccGraph" }), (0, jsx_runtime_1.jsx)(scoregraph_1.default, { scoreId: score.id, scoreInfo: score, statistic: statistic, bsor: bsor, height: 240, width: 480 })] })] }), (0, jsx_runtime_1.jsxs)("div", { className: 'flex justify-between gap-2 items-start mt-auto', children: [(0, jsx_runtime_1.jsxs)("div", { className: 'flex flex-col items-start gap-2', children: [(0, jsx_runtime_1.jsx)("div", { className: 'text-white font-bold text-3xl mr-auto', children: "Global Rank" }), aroundScore.map((cur, idx) => !cur.template ? ((0, jsx_runtime_1.jsx)(rankScoreItem_1.RankScoreItem, { name: cur.player.name, date: cur.timepost, countryCode: cur.player.country ?? 'CN', avatar: cur.player.avatar, globalRank: cur.rank, score: cur.modifiedScore, modifiers: cur.modifiers, isRegionRank: false, acc: cur.accuracy, pp: cur.pp, self: cur.player.id === score.playerId }, cur.id)) : ((0, jsx_runtime_1.jsx)(rankScoreItem_1.ScoreItemSkeleton, { isRegionRank: false }, idx)))] }), (0, jsx_runtime_1.jsxs)("div", { className: 'flex flex-col items-start gap-2', children: [(0, jsx_runtime_1.jsx)("div", { className: 'text-white font-bold text-3xl mr-auto', children: "Region Top Rank" }), regionTopScore.map((cur, idx) => !cur.template ? ((0, jsx_runtime_1.jsx)(rankScoreItem_1.RankScoreItem, { name: cur.player.name, date: cur.timepost, countryCode: cur.player.country ?? 'CN', avatar: cur.player.avatar, globalRank: cur.rank, score: cur.modifiedScore, modifiers: cur.modifiers, isRegionRank: true, acc: cur.accuracy, pp: cur.pp, self: cur.player.id === score.playerId }, cur.id)) : ((0, jsx_runtime_1.jsx)(rankScoreItem_1.ScoreItemSkeleton, { isRegionRank: true }, idx)))] })] })] }) }), (0, jsx_runtime_1.jsx)("img", { src: bg, className: 'inset-0 rounded-lg absolute h-full object-cover w-full', loading: 'eager' })] }) }));
|
19
31
|
}
|
20
32
|
exports.default = BLRankScore;
|
21
33
|
//# sourceMappingURL=bs-score-with-rank.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"bs-score-with-rank.js","sourceRoot":"","sources":["../../../src/img-render/result/bs-score-with-rank.tsx"],"names":[],"mappings":";;;;;;AAAA,+CAQqB;AACrB,0EAAiD;AAIjD,
|
1
|
+
{"version":3,"file":"bs-score-with-rank.js","sourceRoot":"","sources":["../../../src/img-render/result/bs-score-with-rank.tsx"],"names":[],"mappings":"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"}
|
package/lib/utils/index.js
CHANGED
@@ -44,7 +44,7 @@ const handleWSEventWithCache = (fnThat, fn, ttl, eventParser, eventFilter, event
|
|
44
44
|
return async function (event) {
|
45
45
|
const data = eventParser(event);
|
46
46
|
const key = eventIdSelector(data);
|
47
|
-
if (eventFilter(data) || WSCache.get(key)) {
|
47
|
+
if (!eventFilter(data) || WSCache.get(key)) {
|
48
48
|
// console.log(`${key} hit cache, skip it, remainingTTL: `, WSCache.getRemainingTTL(key))
|
49
49
|
return;
|
50
50
|
}
|
package/lib/utils/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,yCAAqC;AACrC,yCAAoC;AAEpC,0CAAuB;AAEhB,MAAM,cAAc,GAAG,KAAK,EAAK,GAAG,IAAI,EAAc,EAAE;IAC7D,MAAM,GAAG,GAAG,aAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAC3B,IAAI,GAAG,EAAE,CAAC;QACR,OAAO,GAAQ,CAAA;IACjB,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,IAAW,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAO,CAAC,CAAA;IACtE,aAAK,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IACvB,OAAO,MAAW,CAAA;AACpB,CAAC,CAAA;AARY,QAAA,cAAc,kBAQ1B;AAED,6CAA6C;AAEtC,MAAM,sBAAsB,GAAG,CACpC,MAAM,EACN,EAAE,EACF,GAAG,EACH,WAAW,EACX,WAAW,EACX,eAAe,EACf,EAAE;IACF,MAAM,OAAO,GAAG,IAAI,oBAAQ,CAAC;QAC3B,GAAG,EAAE,GAAG;QACR,IAAI,EAAE,EAAE;QACR,eAAe,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QAClC,6CAA6C;QAC7C,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,KAAK;QACjB,cAAc,EAAE,KAAK;QACrB,WAAW,EAAE,IAAI;QACjB,GAAG,EAAE,GAAG;KACT,CAAC,CAAA;IAEF,OAAO,KAAK,WAAW,KAAU;QAC/B,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,CAAA;QAC/B,MAAM,GAAG,GAAG,eAAe,CAAC,IAAI,CAAC,CAAA;QACjC,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,yCAAqC;AACrC,yCAAoC;AAEpC,0CAAuB;AAEhB,MAAM,cAAc,GAAG,KAAK,EAAK,GAAG,IAAI,EAAc,EAAE;IAC7D,MAAM,GAAG,GAAG,aAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAC3B,IAAI,GAAG,EAAE,CAAC;QACR,OAAO,GAAQ,CAAA;IACjB,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,IAAW,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAO,CAAC,CAAA;IACtE,aAAK,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IACvB,OAAO,MAAW,CAAA;AACpB,CAAC,CAAA;AARY,QAAA,cAAc,kBAQ1B;AAED,6CAA6C;AAEtC,MAAM,sBAAsB,GAAG,CACpC,MAAM,EACN,EAAE,EACF,GAAG,EACH,WAAW,EACX,WAAW,EACX,eAAe,EACf,EAAE;IACF,MAAM,OAAO,GAAG,IAAI,oBAAQ,CAAC;QAC3B,GAAG,EAAE,GAAG;QACR,IAAI,EAAE,EAAE;QACR,eAAe,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QAClC,6CAA6C;QAC7C,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,KAAK;QACjB,cAAc,EAAE,KAAK;QACrB,WAAW,EAAE,IAAI;QACjB,GAAG,EAAE,GAAG;KACT,CAAC,CAAA;IAEF,OAAO,KAAK,WAAW,KAAU;QAC/B,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,CAAA;QAC/B,MAAM,GAAG,GAAG,eAAe,CAAC,IAAI,CAAC,CAAA;QACjC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3C,yFAAyF;YACzF,OAAM;QACR,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QACtB,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;IAChC,CAAC,CAAA;AACH,CAAC,CAAA;AA9BY,QAAA,sBAAsB,0BA8BlC;AAEM,MAAM,KAAK,GAAG,KAAK,EAAE,UAAkB,IAAI,EAAE,EAAE;IACpD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC1C,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IAC9B,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAJY,QAAA,KAAK,SAIjB;AAED,MAAM,OAAO,GAAG;IACd,CAAC,EAAE,MAAM;IACT,CAAC,EAAE,QAAQ;IACX,CAAC,EAAE,MAAM;IACT,EAAE,EAAE,QAAQ;IACZ,EAAE,EAAE,YAAY;IAChB,KAAK,EAAE,YAAY;CACpB,CAAA;AAEM,MAAM,WAAW,GAAG,CAAC,IAAmB,EAAE,EAAE;IACjD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAA;AACpC,CAAC,CAAA;AALY,QAAA,WAAW,eAKvB"}
|