MCPcopy Create free account
hub / github.com/scriptscat/scriptcat / trimScriptInfo

Function trimScriptInfo

src/app/service/content/utils.ts:191–219  ·  view source on GitHub ↗
(script: ScriptLoadInfo)

Source from the content-addressed store, hash-verified

189 * 脚本加载信息。(Inject/Content环境用,避免过多不必要信息公开,减少页面加载信息存储量)
190 */
191export const trimScriptInfo = (script: ScriptLoadInfo): TScriptInfo => {
192 // --- 处理 resource ---
193 // 由于不需要 complie code, resource 只用在 GM_getResourceURL 和 GM_getResourceText
194 const resource = {} as Record<string, { base64?: string; content: string; contentType: string }>;
195 if (script.resource) {
196 for (const [url, { base64, content, contentType }] of Object.entries(script.resource || {})) {
197 resource[url] = { base64, content, contentType };
198 }
199 }
200 // --- 处理 resource ---
201 // --- 处理 scriptInfo ---
202 const scriptInfo = { ...script, resource, code: "" } as TScriptInfo;
203 // 删除其他不需要注入的 script 信息
204 delete scriptInfo.originalMetadata;
205 delete scriptInfo.selfMetadata;
206 delete scriptInfo.lastruntime;
207 delete scriptInfo.nextruntime;
208 delete scriptInfo.ignoreVersion; // UserScript 里面不需要知道用户有没有在更新时忽略
209 delete scriptInfo.sort; // UserScript 里面不需要知道用户如何 sort
210 delete scriptInfo.error;
211 delete scriptInfo.subscribeUrl; // UserScript 里面不需要知道用户从何处订阅
212 delete scriptInfo.originDomain; // 脚本来源域名
213 delete scriptInfo.origin; // 脚本来源
214 delete scriptInfo.runStatus; // 前台脚本不用
215 delete scriptInfo.type; // 脚本类型总是普通脚本
216 delete scriptInfo.status; // 脚本状态总是启用
217 // --- 处理 scriptInfo ---
218 return scriptInfo;
219};
220
221/**
222 * 将脚本函数编译为预注入脚本代码

Callers 2

getScriptsForTabMethod · 0.90
compilePreInjectScriptFunction · 0.85

Calls 1

entriesMethod · 0.80

Tested by

no test coverage detected