MCPcopy
hub / github.com/zxlie/FeHelper / loadMonkeys

Function loadMonkeys

apps/page-monkey/index.js:252–277  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

250
251 /* ============ 数据加载/保存 ============ */
252 loadMonkeys() {
253 chrome.storage.local.get([PAGE_MONKEY_LOCAL_STORAGE_KEY, ORDER_KEY], (resps) => {
254 let raw = resps && resps[PAGE_MONKEY_LOCAL_STORAGE_KEY];
255 let storageMode = false;
256 if (!raw) {
257 raw = localStorage.getItem(PAGE_MONKEY_LOCAL_STORAGE_KEY) || '[]';
258 storageMode = true;
259 }
260 let arr = [];
261 try { arr = JSON.parse(raw); } catch (e) {}
262 arr = (arr || []).filter(c => c && (c.mName || c.mPattern || c.mScript || (c.mIncludes && c.mIncludes.length))).map(migrate);
263
264 let order = [];
265 try { order = JSON.parse(resps[ORDER_KEY] || '[]'); } catch (e) {}
266 if (order && order.length) {
267 let map = new Map(arr.map(m => [m.id, m]));
268 let sorted = [];
269 order.forEach(id => { if (map.has(id)) { sorted.push(map.get(id)); map.delete(id); } });
270 map.forEach(v => sorted.push(v));
271 arr = sorted;
272 }
273
274 this.cachedMonkeys = arr;
275 if (storageMode && arr.length) this.persist();
276 });
277 },
278
279 persist(silent) {
280 let data = {};

Callers

nothing calls this directly

Calls 3

hasMethod · 0.80
getMethod · 0.45
parseMethod · 0.45

Tested by

no test coverage detected