@skrillex1224/playwright-toolkit 2.1.76 → 2.1.80
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/browser.js +67 -362
- package/dist/browser.js.map +4 -4
- package/dist/index.cjs +62 -0
- package/dist/index.cjs.map +3 -3
- package/dist/index.js +61 -0
- package/dist/index.js.map +3 -3
- package/index.d.ts +22 -86
- package/package.json +1 -1
package/dist/browser.js
CHANGED
|
@@ -1,9 +1,3 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __export = (target, all) => {
|
|
3
|
-
for (var name in all)
|
|
4
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
5
|
-
};
|
|
6
|
-
|
|
7
1
|
// src/internals/logger.js
|
|
8
2
|
var pad = (value, size = 2) => String(value).padStart(size, "0");
|
|
9
3
|
var formatTimestamp = (date = /* @__PURE__ */ new Date()) => {
|
|
@@ -29,18 +23,18 @@ var fallbackLog = {
|
|
|
29
23
|
error: (...args) => console.error(...args),
|
|
30
24
|
debug: (...args) => console.debug ? console.debug(...args) : console.log(...args)
|
|
31
25
|
};
|
|
32
|
-
var resolveLogMethod = (
|
|
33
|
-
if (
|
|
34
|
-
return
|
|
26
|
+
var resolveLogMethod = (logger, name) => {
|
|
27
|
+
if (logger && typeof logger[name] === "function") {
|
|
28
|
+
return logger[name].bind(logger);
|
|
35
29
|
}
|
|
36
|
-
if (name === "warning" &&
|
|
37
|
-
return
|
|
30
|
+
if (name === "warning" && logger && typeof logger.warn === "function") {
|
|
31
|
+
return logger.warn.bind(logger);
|
|
38
32
|
}
|
|
39
33
|
return fallbackLog[name];
|
|
40
34
|
};
|
|
41
35
|
var defaultLogger = null;
|
|
42
|
-
var setDefaultLogger = (
|
|
43
|
-
defaultLogger =
|
|
36
|
+
var setDefaultLogger = (logger) => {
|
|
37
|
+
defaultLogger = logger;
|
|
44
38
|
};
|
|
45
39
|
var resolveLogger = (explicitLogger) => {
|
|
46
40
|
if (explicitLogger && typeof explicitLogger.info === "function") {
|
|
@@ -67,8 +61,8 @@ var colorize = (text, color) => {
|
|
|
67
61
|
var createBaseLogger = (prefix = "", explicitLogger) => {
|
|
68
62
|
const name = prefix ? String(prefix) : "";
|
|
69
63
|
const dispatch = (methodName, icon, message, color) => {
|
|
70
|
-
const
|
|
71
|
-
const logFn = resolveLogMethod(
|
|
64
|
+
const logger = resolveLogger(explicitLogger);
|
|
65
|
+
const logFn = resolveLogMethod(logger, methodName);
|
|
72
66
|
const timestamp = colorize(`[${formatTimestamp()}]`, ANSI.gray);
|
|
73
67
|
const line = formatLine(name, icon, message);
|
|
74
68
|
const coloredLine = colorize(line, color);
|
|
@@ -84,35 +78,6 @@ var createBaseLogger = (prefix = "", explicitLogger) => {
|
|
|
84
78
|
start: (message) => dispatch("info", "\u{1F537}", message, ANSI.blue)
|
|
85
79
|
};
|
|
86
80
|
};
|
|
87
|
-
function createInternalLogger(moduleName, explicitLogger) {
|
|
88
|
-
const baseLogger = createBaseLogger(moduleName, explicitLogger);
|
|
89
|
-
return {
|
|
90
|
-
start(methodName, params = "") {
|
|
91
|
-
const paramStr = params ? ` (${params})` : "";
|
|
92
|
-
baseLogger.start(`${methodName} \u5F00\u59CB${paramStr}`);
|
|
93
|
-
},
|
|
94
|
-
success(methodName, result = "") {
|
|
95
|
-
const resultStr = result ? ` (${result})` : "";
|
|
96
|
-
baseLogger.success(`${methodName} \u5B8C\u6210${resultStr}`);
|
|
97
|
-
},
|
|
98
|
-
fail(methodName, error) {
|
|
99
|
-
const message = error instanceof Error ? error.message : error;
|
|
100
|
-
baseLogger.error(`${methodName} \u5931\u8D25: ${message}`);
|
|
101
|
-
},
|
|
102
|
-
debug(message) {
|
|
103
|
-
baseLogger.debug(message);
|
|
104
|
-
},
|
|
105
|
-
warn(message) {
|
|
106
|
-
baseLogger.warning(message);
|
|
107
|
-
},
|
|
108
|
-
warning(message) {
|
|
109
|
-
baseLogger.warning(message);
|
|
110
|
-
},
|
|
111
|
-
info(message) {
|
|
112
|
-
baseLogger.info(message);
|
|
113
|
-
}
|
|
114
|
-
};
|
|
115
|
-
}
|
|
116
81
|
|
|
117
82
|
// src/logger.js
|
|
118
83
|
var stripAnsi = (input) => {
|
|
@@ -815,7 +780,7 @@ var createTemplateLogger = (baseLogger = createBaseLogger()) => {
|
|
|
815
780
|
};
|
|
816
781
|
var getDefaultBaseLogger = () => createBaseLogger("");
|
|
817
782
|
var Logger = {
|
|
818
|
-
setLogger: (
|
|
783
|
+
setLogger: (logger) => setDefaultLogger(logger),
|
|
819
784
|
info: (message) => getDefaultBaseLogger().info(message),
|
|
820
785
|
success: (message) => getDefaultBaseLogger().success(message),
|
|
821
786
|
warning: (message) => getDefaultBaseLogger().warning(message),
|
|
@@ -823,337 +788,76 @@ var Logger = {
|
|
|
823
788
|
error: (message) => getDefaultBaseLogger().error(message),
|
|
824
789
|
debug: (message) => getDefaultBaseLogger().debug(message),
|
|
825
790
|
start: (message) => getDefaultBaseLogger().start(message),
|
|
826
|
-
useTemplate: (
|
|
827
|
-
if (
|
|
791
|
+
useTemplate: (logger) => {
|
|
792
|
+
if (logger) return createTemplateLogger(createBaseLogger("", logger));
|
|
828
793
|
return createTemplateLogger();
|
|
829
794
|
}
|
|
830
795
|
};
|
|
831
796
|
|
|
832
|
-
// src/
|
|
833
|
-
var
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
PlatformSchema: () => PlatformSchema
|
|
838
|
-
});
|
|
839
|
-
|
|
840
|
-
// src/internals/utils.js
|
|
841
|
-
var logger = createInternalLogger("InternalUtils");
|
|
842
|
-
var parseCookies = (cookieString, domain) => {
|
|
843
|
-
const cookies = [];
|
|
844
|
-
const pairs = cookieString.split(";").map((c) => c.trim());
|
|
845
|
-
for (const pair of pairs) {
|
|
846
|
-
const [name, ...valueParts] = pair.split("=");
|
|
847
|
-
if (name && valueParts.length > 0) {
|
|
848
|
-
const cookie = {
|
|
849
|
-
name: name.trim(),
|
|
850
|
-
value: valueParts.join("=").trim(),
|
|
851
|
-
path: "/"
|
|
852
|
-
};
|
|
853
|
-
if (domain) {
|
|
854
|
-
cookie.domain = domain;
|
|
855
|
-
}
|
|
856
|
-
cookies.push(cookie);
|
|
797
|
+
// src/display.js
|
|
798
|
+
var Display = {
|
|
799
|
+
parseTokenDisplayName(value) {
|
|
800
|
+
if (!value) {
|
|
801
|
+
return { owner: "", accountType: "", note: "" };
|
|
857
802
|
}
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
{ key: "owner_name", label: "\u6240\u5C5E\u4EBA", type: "text", required: true, placeholder: "\u4F8B\u5982\uFF1A\u767D\u6CFD", col: 12 },
|
|
868
|
-
{ key: "account_type", label: "\u8D26\u53F7\u7C7B\u578B", type: "select", required: true, placeholder: "\u4F8B\u5982\uFF1AEmail", options: ["Phone", "Google", "Github", "Email", "WeChat", "Taobao", "ZhifuBao", "Other"], col: 12 },
|
|
869
|
-
{ key: "note", label: "\u5907\u6CE8", type: "textarea", required: false, placeholder: "\u5907\u6CE8" }
|
|
870
|
-
];
|
|
871
|
-
var PlatformSchema = Object.fromEntries(
|
|
872
|
-
Object.entries({
|
|
873
|
-
moonshot: {
|
|
874
|
-
name: "Kimi",
|
|
875
|
-
domain: "www.kimi.ai",
|
|
876
|
-
tokenNames: ["kimi_auth"],
|
|
877
|
-
tokenSource: "Cookie",
|
|
878
|
-
parse: (token) => {
|
|
879
|
-
const val = token ? token.trim() : "";
|
|
880
|
-
return val ? { kimi_auth: val } : {};
|
|
881
|
-
},
|
|
882
|
-
format: (values) => {
|
|
883
|
-
const val = values.kimi_auth;
|
|
884
|
-
return val === void 0 || val === null ? "" : String(val).trim();
|
|
885
|
-
}
|
|
886
|
-
},
|
|
887
|
-
doubao: {
|
|
888
|
-
name: "\u8C46\u5305",
|
|
889
|
-
domain: "www.doubao.com",
|
|
890
|
-
tokenNames: ["sessionid"],
|
|
891
|
-
tokenSource: "Cookie",
|
|
892
|
-
parse: (token) => {
|
|
893
|
-
const val = token ? token.trim() : "";
|
|
894
|
-
return val ? { sessionid: val } : {};
|
|
895
|
-
},
|
|
896
|
-
format: (values) => {
|
|
897
|
-
const val = values.sessionid;
|
|
898
|
-
return val === void 0 || val === null ? "" : String(val).trim();
|
|
899
|
-
}
|
|
900
|
-
},
|
|
901
|
-
deepseek: {
|
|
902
|
-
name: "DeepSeek",
|
|
903
|
-
domain: "chat.deepseek.com",
|
|
904
|
-
tokenNames: ["userToken"],
|
|
905
|
-
tokenSource: "LocalStorage",
|
|
906
|
-
guide: '\u8BF7\u8F93\u5165\u5B8C\u6574 JSON\uFF0C\u4F8B\u5982 {"value":"xxxxx"}\uFF0C\u7CFB\u7EDF\u4F1A\u81EA\u52A8\u63D0\u53D6 value\u3002',
|
|
907
|
-
parse: (token) => {
|
|
908
|
-
const val = token ? token.trim() : "";
|
|
909
|
-
return val ? { userToken: val } : {};
|
|
910
|
-
},
|
|
911
|
-
format: (values) => {
|
|
912
|
-
const raw = values.userToken ? String(values.userToken).trim() : "";
|
|
913
|
-
if (!raw) return "";
|
|
914
|
-
if (raw.startsWith("{")) {
|
|
915
|
-
try {
|
|
916
|
-
const parsed = JSON.parse(raw);
|
|
917
|
-
if (parsed && typeof parsed.value === "string") return parsed.value.trim();
|
|
918
|
-
} catch (e) {
|
|
919
|
-
return "";
|
|
920
|
-
}
|
|
921
|
-
return "";
|
|
922
|
-
}
|
|
923
|
-
return raw;
|
|
924
|
-
}
|
|
925
|
-
},
|
|
926
|
-
yuanbao: {
|
|
927
|
-
name: "\u5143\u5B9D",
|
|
928
|
-
domain: "yuanbao.tencent.com",
|
|
929
|
-
tokenNames: ["hy_user", "hy_token"],
|
|
930
|
-
tokenSource: "Cookie",
|
|
931
|
-
guide: "\u5206\u522B\u586B\u5165\u4ECE\u6D4F\u89C8\u5668\u83B7\u53D6\u7684 hy_user \u548C hy_token\uFF0C\u7CFB\u7EDF\u5C06\u81EA\u52A8\u62FC\u63A5\u3002",
|
|
932
|
-
parse: (token) => {
|
|
933
|
-
const cookieList = parseCookies(token || "");
|
|
934
|
-
const pairs = {};
|
|
935
|
-
cookieList.forEach((c) => {
|
|
936
|
-
pairs[c.name] = c.value;
|
|
937
|
-
});
|
|
938
|
-
return {
|
|
939
|
-
hy_user: pairs["hy_user"] || "",
|
|
940
|
-
hy_token: pairs["hy_token"] || ""
|
|
941
|
-
};
|
|
942
|
-
},
|
|
943
|
-
format: (values) => {
|
|
944
|
-
const u = values.hy_user ? String(values.hy_user).trim() : "";
|
|
945
|
-
const t = values.hy_token ? String(values.hy_token).trim() : "";
|
|
946
|
-
if (!u || !t) return "";
|
|
947
|
-
return `hy_user=${u}; hy_token=${t}`;
|
|
948
|
-
}
|
|
949
|
-
},
|
|
950
|
-
qwen: {
|
|
951
|
-
name: "\u901A\u4E49\u5343\u95EE",
|
|
952
|
-
domain: "www.qianwen.com",
|
|
953
|
-
tokenNames: ["tongyi_sso_ticket"],
|
|
954
|
-
tokenSource: "Cookie",
|
|
955
|
-
parse: (token) => {
|
|
956
|
-
const val = token ? token.trim() : "";
|
|
957
|
-
return val ? { tongyi_sso_ticket: val } : {};
|
|
958
|
-
},
|
|
959
|
-
format: (values) => {
|
|
960
|
-
const val = values.tongyi_sso_ticket;
|
|
961
|
-
return val === void 0 || val === null ? "" : String(val).trim();
|
|
962
|
-
}
|
|
963
|
-
},
|
|
964
|
-
erine: {
|
|
965
|
-
name: "\u6587\u5FC3\u4E00\u8A00 (Erine)",
|
|
966
|
-
domain: "yiyan.baidu.com",
|
|
967
|
-
tokenNames: ["BDUSS"],
|
|
968
|
-
tokenSource: "Cookie",
|
|
969
|
-
parse: (token) => {
|
|
970
|
-
const val = token ? token.trim() : "";
|
|
971
|
-
return val ? { BDUSS: val } : {};
|
|
972
|
-
},
|
|
973
|
-
format: (values) => {
|
|
974
|
-
const val = values.BDUSS;
|
|
975
|
-
return val === void 0 || val === null ? "" : String(val).trim();
|
|
976
|
-
}
|
|
803
|
+
const parts = String(value).split(":");
|
|
804
|
+
const owner = (parts[0] || "").trim();
|
|
805
|
+
const accountType = (parts[1] || "").trim();
|
|
806
|
+
const note = parts.length > 2 ? parts.slice(2).join(":").trim() : "";
|
|
807
|
+
return { owner, accountType, note };
|
|
808
|
+
},
|
|
809
|
+
parseAccountDisplayName(value) {
|
|
810
|
+
if (!value) {
|
|
811
|
+
return { account: "", owner: "", accountType: "", note: "" };
|
|
977
812
|
}
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
);
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
try {
|
|
993
|
-
const hostname = new URL(url).hostname;
|
|
994
|
-
for (const [key, config] of Object.entries(PlatformSchema)) {
|
|
995
|
-
const domain = String(config.domain || "").trim().replace(/^https?:\/\//, "").replace(/\/.*$/, "");
|
|
996
|
-
if (!domain) continue;
|
|
997
|
-
if (hostname === domain || hostname.endsWith(`.${domain}`)) return key;
|
|
998
|
-
}
|
|
999
|
-
} catch (e) {
|
|
1000
|
-
return null;
|
|
1001
|
-
}
|
|
1002
|
-
return null;
|
|
1003
|
-
},
|
|
1004
|
-
getSchema(key) {
|
|
1005
|
-
if (!key) throw new Error("Actor parameter is required to get platform config");
|
|
1006
|
-
const config = PlatformSchema[key];
|
|
1007
|
-
if (!config) {
|
|
1008
|
-
throw new Error(`\u672A\u627E\u5230\u5E73\u53F0\u914D\u7F6E: ${key}. \u8BF7\u786E\u4FDD playwright-toolkit/browser-onlys/account-form.js \u4E2D\u5DF2\u5B9A\u4E49\u8BE5\u5E73\u53F0\u3002`);
|
|
1009
|
-
}
|
|
1010
|
-
const schema = { ...config };
|
|
1011
|
-
const fields = [...SharedFields];
|
|
1012
|
-
const names = config.tokenNames || [];
|
|
1013
|
-
if (names.length > 0) {
|
|
1014
|
-
fields.push({ type: "divider" });
|
|
1015
|
-
}
|
|
1016
|
-
names.forEach((name) => {
|
|
1017
|
-
fields.push({
|
|
1018
|
-
key: name,
|
|
1019
|
-
label: name,
|
|
1020
|
-
type: "textarea",
|
|
1021
|
-
required: true,
|
|
1022
|
-
placeholder: `\u8BF7\u8F93\u5165 ${name} \u503C`
|
|
1023
|
-
});
|
|
1024
|
-
});
|
|
1025
|
-
schema.fields = fields;
|
|
1026
|
-
return schema;
|
|
1027
|
-
},
|
|
1028
|
-
parseToken(token, config) {
|
|
1029
|
-
if (!config) return {};
|
|
1030
|
-
return config.parse(token);
|
|
1031
|
-
},
|
|
1032
|
-
formatToken(values, config) {
|
|
1033
|
-
if (!config) return "";
|
|
1034
|
-
return config.format(values);
|
|
1035
|
-
},
|
|
1036
|
-
validate(values, config) {
|
|
1037
|
-
if (!config || !config.fields) return { ok: false, message: "\u914D\u7F6E\u9519\u8BEF" };
|
|
1038
|
-
for (const field of config.fields) {
|
|
1039
|
-
if (field.required) {
|
|
1040
|
-
const val = values[field.key];
|
|
1041
|
-
if (val === void 0 || val === null || String(val).trim() === "") {
|
|
1042
|
-
return { ok: false, message: `\u8BF7\u8F93\u5165${field.label}` };
|
|
1043
|
-
}
|
|
1044
|
-
}
|
|
1045
|
-
}
|
|
1046
|
-
const formatted = this.formatToken(values, config);
|
|
1047
|
-
if (!formatted) {
|
|
1048
|
-
return { ok: false, message: "\u51ED\u636E\u683C\u5F0F\u4E0D\u6B63\u786E\u6216\u4E0D\u5B8C\u6574" };
|
|
1049
|
-
}
|
|
1050
|
-
return { ok: true };
|
|
1051
|
-
},
|
|
1052
|
-
/**
|
|
1053
|
-
* 获取 API 静态配置
|
|
1054
|
-
* @returns {{ path: string, method: string, headers: object }}
|
|
1055
|
-
*/
|
|
1056
|
-
getStaticConfig() {
|
|
1057
|
-
return {
|
|
1058
|
-
path: "/admin/accounts",
|
|
1059
|
-
method: "POST",
|
|
1060
|
-
headers: { "Content-Type": "application/json" }
|
|
1061
|
-
};
|
|
1062
|
-
},
|
|
1063
|
-
/**
|
|
1064
|
-
* 构建账号提交参数
|
|
1065
|
-
* @param {object} values - 表单值
|
|
1066
|
-
* @param {object} config - 平台配置 (来自 getSchema)
|
|
1067
|
-
* @returns {{ ok: boolean, error?: string, params?: object }}
|
|
1068
|
-
*/
|
|
1069
|
-
buildParams(values, config) {
|
|
1070
|
-
const validation = this.validate(values, config);
|
|
1071
|
-
if (!validation.ok) {
|
|
1072
|
-
return { ok: false, error: validation.message };
|
|
1073
|
-
}
|
|
1074
|
-
const token = this.formatToken(values, config);
|
|
1075
|
-
const owner = values.owner_name || "";
|
|
1076
|
-
const type = values.account_type || "";
|
|
1077
|
-
const note = values.note || "";
|
|
1078
|
-
const displayParts = [owner, type, note].filter(Boolean);
|
|
1079
|
-
const displayName = displayParts.join(" \xB7 ");
|
|
1080
|
-
const actor = config.key || "";
|
|
1081
|
-
const params = {
|
|
1082
|
-
account_id: values.account_id,
|
|
1083
|
-
token,
|
|
1084
|
-
actor,
|
|
1085
|
-
display_name: displayName,
|
|
1086
|
-
status: "active",
|
|
1087
|
-
ban_count: 0
|
|
1088
|
-
};
|
|
1089
|
-
return { ok: true, params };
|
|
813
|
+
const parts = String(value).split(":");
|
|
814
|
+
const account = (parts[0] || "").trim();
|
|
815
|
+
const owner = (parts[1] || "").trim();
|
|
816
|
+
const accountType = (parts[2] || "").trim();
|
|
817
|
+
const note = parts.length > 3 ? parts.slice(3).join(":").trim() : "";
|
|
818
|
+
return { account, owner, accountType, note };
|
|
819
|
+
},
|
|
820
|
+
buildTokenDisplayName({ owner, accountType, note } = {}) {
|
|
821
|
+
const trimmedOwner = (owner == null ? void 0 : owner.trim()) || "";
|
|
822
|
+
const trimmedType = (accountType == null ? void 0 : accountType.trim()) || "";
|
|
823
|
+
const trimmedNote = (note == null ? void 0 : note.trim()) || "";
|
|
824
|
+
const parts = [trimmedOwner, trimmedType];
|
|
825
|
+
if (trimmedNote) {
|
|
826
|
+
parts.push(trimmedNote);
|
|
1090
827
|
}
|
|
1091
|
-
|
|
1092
|
-
}
|
|
1093
|
-
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
|
|
1105
|
-
|
|
1106
|
-
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
icon: "https://heartbitai.com/geo-front/20251128/platform/icon_wenxin.png",
|
|
1117
|
-
name: "\u6587\u5FC3\u4E00\u8A00"
|
|
1118
|
-
},
|
|
1119
|
-
yuanbao: {
|
|
1120
|
-
icon: "https://heartbitai.com/geo-front/20251128/platform/icon_yuanbao.svg",
|
|
1121
|
-
name: "\u817E\u8BAF\u5143\u5B9D"
|
|
1122
|
-
},
|
|
1123
|
-
moonshot: {
|
|
1124
|
-
icon: "https://heartbitai.com/geo-front/20251128/platform/icon_kimi.svg",
|
|
1125
|
-
name: "Kimi"
|
|
1126
|
-
},
|
|
1127
|
-
qwen: {
|
|
1128
|
-
icon: "https://heartbitai.com/geo-front/20251128/platform/icon_qwen.png",
|
|
1129
|
-
name: "\u5343\u95EE"
|
|
1130
|
-
}
|
|
1131
|
-
}
|
|
1132
|
-
).map(([key, value]) => [key, { ...value, key }]));
|
|
1133
|
-
var getMapping = (key) => ConfigMapping[key];
|
|
1134
|
-
var list = () => Object.values(ConfigMapping);
|
|
1135
|
-
function createActorFeConfigInstance() {
|
|
1136
|
-
return {
|
|
1137
|
-
getMapping,
|
|
1138
|
-
list
|
|
1139
|
-
};
|
|
1140
|
-
}
|
|
1141
|
-
var actorFeConfigInstance = null;
|
|
1142
|
-
async function useActorFeConfig() {
|
|
1143
|
-
if (!actorFeConfigInstance) {
|
|
1144
|
-
actorFeConfigInstance = createActorFeConfigInstance();
|
|
828
|
+
return parts.filter(Boolean).join(":");
|
|
829
|
+
},
|
|
830
|
+
shortId(value, max = 8) {
|
|
831
|
+
const clean = String(value || "").trim();
|
|
832
|
+
if (!clean) return "";
|
|
833
|
+
if (clean.length <= max) return clean;
|
|
834
|
+
return clean.slice(0, max);
|
|
835
|
+
},
|
|
836
|
+
resolveTokenIdentity(displayName, tokenId) {
|
|
837
|
+
const cleanName = String(displayName || "").trim();
|
|
838
|
+
const cleanId = String(tokenId || "").trim();
|
|
839
|
+
const short = this.shortId(cleanId, 8);
|
|
840
|
+
const hasName = cleanName !== "" && cleanName !== cleanId;
|
|
841
|
+
const primary = hasName ? cleanName : short || "-";
|
|
842
|
+
const secondary = hasName && short ? short : "";
|
|
843
|
+
return { primary, secondary, fullId: cleanId, shortId: short };
|
|
844
|
+
},
|
|
845
|
+
resolveAccountIdentity(displayName, accountId) {
|
|
846
|
+
const parts = this.parseAccountDisplayName(displayName);
|
|
847
|
+
const cleanId = String(accountId || "").trim();
|
|
848
|
+
const short = this.shortId(cleanId, 8);
|
|
849
|
+
const hasName = parts.account !== "" && parts.account !== cleanId;
|
|
850
|
+
const primary = hasName ? parts.account : short || "-";
|
|
851
|
+
const secondary = hasName && short ? short : "";
|
|
852
|
+
return { primary, secondary, parts, fullId: cleanId, shortId: short };
|
|
1145
853
|
}
|
|
1146
|
-
return actorFeConfigInstance;
|
|
1147
|
-
}
|
|
1148
|
-
var ActorFeConfig = {
|
|
1149
|
-
useActorFeConfig
|
|
1150
854
|
};
|
|
1151
855
|
|
|
1152
856
|
// entrys/browser.js
|
|
1153
857
|
var usePlaywrightToolKit = () => {
|
|
1154
858
|
return {
|
|
1155
859
|
Logger,
|
|
1156
|
-
|
|
860
|
+
Display,
|
|
1157
861
|
$Internals: {
|
|
1158
862
|
LOG_TEMPLATES,
|
|
1159
863
|
stripAnsi
|
|
@@ -1161,6 +865,7 @@ var usePlaywrightToolKit = () => {
|
|
|
1161
865
|
};
|
|
1162
866
|
};
|
|
1163
867
|
export {
|
|
868
|
+
Display,
|
|
1164
869
|
usePlaywrightToolKit
|
|
1165
870
|
};
|
|
1166
871
|
//# sourceMappingURL=browser.js.map
|