@gkd-kit/inspect 0.0.1731308168581 → 0.0.1731314641045
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/assets/{ActionCard.vue_vue_type_script_setup_true_lang-DHlxror0.js → ActionCard.vue_vue_type_script_setup_true_lang-DnBw1nvX.js} +2 -2
- package/dist/assets/{ActionCard.vue_vue_type_script_setup_true_lang-DHlxror0.js.map → ActionCard.vue_vue_type_script_setup_true_lang-DnBw1nvX.js.map} +1 -1
- package/dist/assets/{DevicePage-CDz852UB.js → DevicePage-D-AHixBr.js} +2 -2
- package/dist/assets/{DevicePage-CDz852UB.js.map → DevicePage-D-AHixBr.js.map} +1 -1
- package/dist/assets/{HomePage-B4VUUJWc.js → HomePage-X08U-IH_.js} +2 -2
- package/dist/assets/{HomePage-B4VUUJWc.js.map → HomePage-X08U-IH_.js.map} +1 -1
- package/dist/assets/{ImportPage-CDH0sMeJ.js → ImportPage-aJswzSKz.js} +2 -2
- package/dist/assets/{ImportPage-CDH0sMeJ.js.map → ImportPage-aJswzSKz.js.map} +1 -1
- package/dist/assets/{SelectorPage-d3O5D0fD.js → SelectorPage-BAAsylYc.js} +2 -2
- package/dist/assets/SelectorPage-BAAsylYc.js.map +1 -0
- package/dist/assets/{SnapshotPage-ChEpVk3a.js → SnapshotPage-CtmO9D1W.js} +5 -5
- package/dist/assets/{SnapshotPage-ChEpVk3a.js.map → SnapshotPage-CtmO9D1W.js.map} +1 -1
- package/dist/assets/{TrackGraph-DcKRoN1f.js → TrackGraph-7Gi4SRA_.js} +2 -2
- package/dist/assets/{TrackGraph-DcKRoN1f.js.map → TrackGraph-7Gi4SRA_.js.map} +1 -1
- package/dist/assets/{_404Page-BKg0y16w.js → _404Page--pBMzT1a.js} +2 -2
- package/dist/assets/{_404Page-BKg0y16w.js.map → _404Page--pBMzT1a.js.map} +1 -1
- package/dist/assets/chunk-bTexm8Gg.js +3 -0
- package/dist/assets/{chunk-DTbao6kD.js.map → chunk-bTexm8Gg.js.map} +1 -1
- package/dist/assets/{dayjs.min-D1CZc5GV.js → dayjs.min-ClpLPvuM.js} +2 -2
- package/dist/assets/{dayjs.min-D1CZc5GV.js.map → dayjs.min-ClpLPvuM.js.map} +1 -1
- package/dist/assets/{error-BXJuarq4.js → error-CnaosNY-.js} +2 -2
- package/dist/assets/{error-BXJuarq4.js.map → error-CnaosNY-.js.map} +1 -1
- package/dist/assets/{import-BpMO-EZT.js → import-Cfh4YqNI.js} +2 -2
- package/dist/assets/{import-BpMO-EZT.js.map → import-Cfh4YqNI.js.map} +1 -1
- package/dist/assets/{index-DJtt0fwN.js → index-j47cDeZb.js} +8 -6
- package/dist/assets/index-j47cDeZb.js.map +1 -0
- package/dist/assets/{jszip.min-CVPtIiNV.js → jszip.min-CTWBUSjm.js} +2 -2
- package/dist/assets/{jszip.min-CVPtIiNV.js.map → jszip.min-CTWBUSjm.js.map} +1 -1
- package/dist/assets/snapshot-D_0Ii8Xr.js +3 -0
- package/dist/assets/snapshot-D_0Ii8Xr.js.map +1 -0
- package/dist/assets/{table-DH_jQzcx.js → table-BscUPgw4.js} +2 -2
- package/dist/assets/{table-DH_jQzcx.js.map → table-BscUPgw4.js.map} +1 -1
- package/dist/index.html +3 -3
- package/package.json +1 -1
- package/dist/assets/SelectorPage-d3O5D0fD.js.map +0 -1
- package/dist/assets/chunk-DTbao6kD.js +0 -3
- package/dist/assets/index-DJtt0fwN.js.map +0 -1
- package/dist/assets/snapshot-CEg5rg31.js +0 -3
- package/dist/assets/snapshot-CEg5rg31.js.map +0 -1
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
var M=Object.defineProperty;var _=e=>{throw TypeError(e)};var O=(e,t,s)=>t in e?M(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s;var E=(e,t,s)=>O(e,typeof t!="symbol"?t+"":t,s),N=(e,t,s)=>t.has(e)||_("Cannot "+s);var h=(e,t,s)=>(N(e,t,"read from private field"),s?s.call(e):t.get(e)),v=(e,t,s)=>t.has(e)?_("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,s),f=(e,t,s,r)=>(N(e,t,"write to private field"),r?r.call(e,s):t.set(e,s),s);var S=(e,t,s,r)=>({set _(o){f(e,t,o,s)},get _(){return h(e,t,r)}});import{cj as G,aP as x,ck as z,aL as R,cl as T,aF as D}from"./index-DJtt0fwN.js";class C{constructor(t){E(this,"value");E(this,"next");this.value=t}}var d,p,y;class F{constructor(){v(this,d);v(this,p);v(this,y);this.clear()}enqueue(t){const s=new C(t);h(this,d)?(h(this,p).next=s,f(this,p,s)):(f(this,d,s),f(this,p,s)),S(this,y)._++}dequeue(){const t=h(this,d);if(t)return f(this,d,h(this,d).next),S(this,y)._--,t.value}peek(){if(h(this,d))return h(this,d).value}clear(){f(this,d,void 0),f(this,p,void 0),f(this,y,0)}get size(){return h(this,y)}*[Symbol.iterator](){let t=h(this,d);for(;t;)yield t.value,t=t.next}}d=new WeakMap,p=new WeakMap,y=new WeakMap;function $(e){U(e);const t=new F;let s=0;const r=()=>{s<e&&t.size>0&&(t.dequeue()(),s++)},o=()=>{s--,r()},l=async(a,n,c)=>{const u=(async()=>a(...c))();n(u);try{await u}catch{}o()},i=(a,n,c)=>{new Promise(u=>{t.enqueue(u)}).then(l.bind(void 0,a,n,c)),(async()=>(await Promise.resolve(),s<e&&r()))()},m=(a,...n)=>new Promise(c=>{i(a,c,n)});return Object.defineProperties(m,{activeCount:{get:()=>s},pendingCount:{get:()=>t.size},clearQueue:{value(){t.clear()}},concurrency:{get:()=>e,set(a){U(a),e=a,queueMicrotask(()=>{for(;s<e&&t.size>0;)r()})}}}),m}function U(e){if(!((Number.isInteger(e)||e===Number.POSITIVE_INFINITY)&&e>0))throw new TypeError("Expected `concurrency` to be a number from 1 and up")}const j=e=>(...t)=>e()(...t),V=j(()=>{var e;return(e=window.__NetworkExtension__)==null?void 0:e.GM_xmlhttpRequest}),X=()=>{var e;return!!((e=window.__NetworkExtension__)!=null&&e.GM_xmlhttpRequest)},Q=(e="")=>{const t=new Headers;return e.replace(/\r?\n[\t ]+/g," ").split("\r").map(function(r){return r.startsWith(`
|
|
2
|
-
`)?r.substring(1):r}).forEach(function(r){var i;let o=r.split(":"),l=(i=o.shift())==null?void 0:i.trim();if(l){let m=o.join(":").trim();try{t.append(l,m)}catch{}}}),t},W=(e="")=>{try{return e===""&&location.href?location.href:e}catch{return e}},B=async(e,t={},s={})=>{var n;const r=new Request(e,t).clone();if((n=r.signal)!=null&&n.aborted)throw new DOMException("Aborted","AbortError");const o=r.method.toUpperCase(),l=W(r.url),i=new Headers(r.headers);new Headers(t.headers).forEach((c,u)=>{i.set(u,c)});let m=!1,a;return o!="GET"&&t.body&&(typeof t.body=="string"||t.body instanceof URLSearchParams?a=t.body:t.body instanceof FormData?(a=t.body,i.delete("content-type")):(m=!0,a=await r.blob())),new Promise((c,u)=>{var k;let I={method:o,url:l,headers:G(i),data:a,binary:m,async onload(w){await x();const g=new Response(w.response||w.responseText||null,{status:w.status,statusText:w.statusText,headers:Q(w.responseHeaders)});Object.defineProperty(g,"url",{value:w.finalUrl}),c(g)},async onerror(){await x(),u(new TypeError("Network request onerror failed"))},async ontimeout(){await x(),u(new TypeError("Network request ontimeout failed"))},async onabort(){await x(),u(new DOMException("Aborted","AbortError"))},async onreadystatechange(w){var g;w.readyState===4&&((g=r.signal)==null||g.removeEventListener("abort",P))}};typeof s=="function"?I=s(I):I={...I,...s};const L=V(I);function P(){L.abort()}(k=r.signal)==null||k.addEventListener("abort",P)})},ee=async(e,t,s)=>{const r=new Request(e),o=new URL(r.url);if(z(o))return fetch(e,{...t,mode:"cors"});if(X())return B(e,t);if(s!=null&&s.proxy){if(!o.href.startsWith("https://github.com/"))throw R().networkErrorDlgVisible=!0,new Error("proxy is not supported");const l=new URL("https://proxy.gkd.li");l.searchParams.set("proxyUrl",o.href);const i=new Request(e,t);return fetch(l,{method:i.method,headers:i.headers,body:i.body})}else throw R().networkErrorDlgVisible=!0,new Error("gm is not supported")},q=(e={})=>{var a;(a=e.driver)!=null||(e.driver=T.INDEXEDDB);const t=T.createInstance(e);return{keys:async()=>t.keys(),hasItem:async n=>{const c=n.toString();return t.keys().then(u=>u.includes(c))},getItem:async n=>t.getItem(n.toString()),setItem:async(n,c)=>t.setItem(n.toString(),c),removeItem:async n=>t.removeItem(n.toString()),getAllItems:async()=>Promise.all((await t.keys()).map(n=>t.getItem(n)))}},b=q({name:"snapshot",version:1}),Y=b.setItem;b.setItem=async(e,t)=>{const s={...t,nodes:[]};return await H.setItem(e,s),Y(e,t)};const J=b.removeItem;b.removeItem=async e=>{const{snapshotImportTime:t}=D();await Promise.all([J(e),H.removeItem(e),A.removeItem(e),t[e]&&delete t[e]])};const H=q({name:"shallowSnapshot",version:1}),A=q({name:"screenshot",version:1}),te=async(e,t)=>{const{importSnapshotId:s,snapshotImageId:r,snapshotImportId:o,snapshotImportTime:l}=D();Object.entries(s).forEach(([i,m])=>{m==e.id&&delete s[i]}),r[e.id]&&delete r[e.id],o[e.id]&&delete o[e.id],l[e.id]=Date.now(),await Promise.all([b.setItem(e.id,e),A.setItem(e.id,t)])};export{b as a,A as b,te as c,ee as e,X as g,$ as p,H as s};
|
|
3
|
-
//# sourceMappingURL=snapshot-CEg5rg31.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"snapshot-CEg5rg31.js","sources":["../../node_modules/.pnpm/yocto-queue@1.1.1/node_modules/yocto-queue/index.js","../../node_modules/.pnpm/p-limit@6.1.0/node_modules/p-limit/index.js","../../src/utils/gm.ts","../../src/utils/fetch.ts","../../src/utils/snapshot.ts"],"sourcesContent":["/*\nHow it works:\n`this.#head` is an instance of `Node` which keeps track of its current value and nests another instance of `Node` that keeps the value that comes after it. When a value is provided to `.enqueue()`, the code needs to iterate through `this.#head`, going deeper and deeper to find the last value. However, iterating through every single item is slow. This problem is solved by saving a reference to the last value as `this.#tail` so that it can reference it to add a new value.\n*/\n\nclass Node {\n\tvalue;\n\tnext;\n\n\tconstructor(value) {\n\t\tthis.value = value;\n\t}\n}\n\nexport default class Queue {\n\t#head;\n\t#tail;\n\t#size;\n\n\tconstructor() {\n\t\tthis.clear();\n\t}\n\n\tenqueue(value) {\n\t\tconst node = new Node(value);\n\n\t\tif (this.#head) {\n\t\t\tthis.#tail.next = node;\n\t\t\tthis.#tail = node;\n\t\t} else {\n\t\t\tthis.#head = node;\n\t\t\tthis.#tail = node;\n\t\t}\n\n\t\tthis.#size++;\n\t}\n\n\tdequeue() {\n\t\tconst current = this.#head;\n\t\tif (!current) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.#head = this.#head.next;\n\t\tthis.#size--;\n\t\treturn current.value;\n\t}\n\n\tpeek() {\n\t\tif (!this.#head) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn this.#head.value;\n\n\t\t// TODO: Node.js 18.\n\t\t// return this.#head?.value;\n\t}\n\n\tclear() {\n\t\tthis.#head = undefined;\n\t\tthis.#tail = undefined;\n\t\tthis.#size = 0;\n\t}\n\n\tget size() {\n\t\treturn this.#size;\n\t}\n\n\t* [Symbol.iterator]() {\n\t\tlet current = this.#head;\n\n\t\twhile (current) {\n\t\t\tyield current.value;\n\t\t\tcurrent = current.next;\n\t\t}\n\t}\n}\n","import Queue from 'yocto-queue';\n\nexport default function pLimit(concurrency) {\n\tvalidateConcurrency(concurrency);\n\n\tconst queue = new Queue();\n\tlet activeCount = 0;\n\n\tconst resumeNext = () => {\n\t\tif (activeCount < concurrency && queue.size > 0) {\n\t\t\tqueue.dequeue()();\n\t\t\t// Since `pendingCount` has been decreased by one, increase `activeCount` by one.\n\t\t\tactiveCount++;\n\t\t}\n\t};\n\n\tconst next = () => {\n\t\tactiveCount--;\n\n\t\tresumeNext();\n\t};\n\n\tconst run = async (function_, resolve, arguments_) => {\n\t\tconst result = (async () => function_(...arguments_))();\n\n\t\tresolve(result);\n\n\t\ttry {\n\t\t\tawait result;\n\t\t} catch {}\n\n\t\tnext();\n\t};\n\n\tconst enqueue = (function_, resolve, arguments_) => {\n\t\t// Queue `internalResolve` instead of the `run` function\n\t\t// to preserve asynchronous context.\n\t\tnew Promise(internalResolve => {\n\t\t\tqueue.enqueue(internalResolve);\n\t\t}).then(\n\t\t\trun.bind(undefined, function_, resolve, arguments_),\n\t\t);\n\n\t\t(async () => {\n\t\t\t// This function needs to wait until the next microtask before comparing\n\t\t\t// `activeCount` to `concurrency`, because `activeCount` is updated asynchronously\n\t\t\t// after the `internalResolve` function is dequeued and called. The comparison in the if-statement\n\t\t\t// needs to happen asynchronously as well to get an up-to-date value for `activeCount`.\n\t\t\tawait Promise.resolve();\n\n\t\t\tif (activeCount < concurrency) {\n\t\t\t\tresumeNext();\n\t\t\t}\n\t\t})();\n\t};\n\n\tconst generator = (function_, ...arguments_) => new Promise(resolve => {\n\t\tenqueue(function_, resolve, arguments_);\n\t});\n\n\tObject.defineProperties(generator, {\n\t\tactiveCount: {\n\t\t\tget: () => activeCount,\n\t\t},\n\t\tpendingCount: {\n\t\t\tget: () => queue.size,\n\t\t},\n\t\tclearQueue: {\n\t\t\tvalue() {\n\t\t\t\tqueue.clear();\n\t\t\t},\n\t\t},\n\t\tconcurrency: {\n\t\t\tget: () => concurrency,\n\n\t\t\tset(newConcurrency) {\n\t\t\t\tvalidateConcurrency(newConcurrency);\n\t\t\t\tconcurrency = newConcurrency;\n\n\t\t\t\tqueueMicrotask(() => {\n\t\t\t\t\t// eslint-disable-next-line no-unmodified-loop-condition\n\t\t\t\t\twhile (activeCount < concurrency && queue.size > 0) {\n\t\t\t\t\t\tresumeNext();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\t\t},\n\t});\n\n\treturn generator;\n}\n\nfunction validateConcurrency(concurrency) {\n\tif (!((Number.isInteger(concurrency) || concurrency === Number.POSITIVE_INFINITY) && concurrency > 0)) {\n\t\tthrow new TypeError('Expected `concurrency` to be a number from 1 and up');\n\t}\n}\n","import { delay } from './others';\nimport { headers2obj } from './others';\n\ntype GmXhrRequest = import('vite-plugin-monkey/dist/client').GmXhrRequest<\n unknown,\n 'blob'\n>;\nconst proxyFc = <T extends (...args: any[]) => any>(getFc: () => T) => {\n return ((...args: any[]) => getFc()(...args)) as T;\n};\n\nexport const GM_xmlhttpRequest = proxyFc(\n () => window.__NetworkExtension__?.GM_xmlhttpRequest,\n);\n\nexport const gmOk = () => {\n return !!window.__NetworkExtension__?.GM_xmlhttpRequest;\n};\n\n/**\n * https://github.com/github/fetch/blob/fb5b0cf42b470faf8c5448ab461d561f34380a30/fetch.js#L422\n */\nexport const parseHeaders = (rawHeaders = '') => {\n const headers = new Headers();\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n const preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ');\n // Avoiding split via regex to work around a common IE11 bug with the core-js 3.6.0 regex polyfill\n // https://github.com/github/fetch/issues/748\n // https://github.com/zloirock/core-js/issues/751\n preProcessedHeaders\n .split('\\r')\n .map(function (header) {\n return header.startsWith(`\\n`) ? header.substring(1) : header;\n })\n .forEach(function (line) {\n let parts = line.split(':');\n let key = parts.shift()?.trim();\n if (key) {\n let value = parts.join(':').trim();\n try {\n // https://github.com/gkd-kit/subscription/pull/762#discussion_r1349695154\n headers.append(key, value);\n } catch {}\n }\n });\n return headers;\n};\n\n/**\n * https://github.com/github/fetch/blob/9a6d748b394a2c16b250262fcaf46afd5364b415/fetch.js#L555\n */\nconst fixUrl = (url = '') => {\n try {\n return url === '' && location.href ? location.href : url;\n } catch {\n return url;\n }\n};\n\n/**\n * simulate window.fetch with GM_xmlhttpRequest\n *\n * because [Request](https://developer.mozilla.org/en-US/docs/Web/API/Request) will delete [Forbidden_header_name](https://developer.mozilla.org/en-US/docs/Glossary/Forbidden_header_name)\n *\n * so you must manually modify these headers by set the second parameter of GM_fetch\n * @example\n * GM_fetch(\n * new Request('https://www.pixiv.net/', {\n * headers: { referer: 'https://www.pixiv.net/' }, // it will not work !!!\n * }),\n * );\n * GM_fetch(new Request('https://www.pixiv.net/'), {\n * headers: { referer: 'https://www.pixiv.net/' }, // it will work\n * headers: new Headers({ referer: 'https://www.pixiv.net/' }), // it will also work\n * });\n */\nexport const GM_fetch = async (\n input: RequestInfo | URL,\n init: RequestInit = {},\n xhrDetails:\n | Partial<GmXhrRequest>\n | ((arg: GmXhrRequest) => GmXhrRequest) = {},\n): Promise<Response> => {\n const request = new Request(input, init).clone();\n if (request.signal?.aborted) {\n throw new DOMException('Aborted', 'AbortError');\n }\n\n const method = request.method.toUpperCase();\n const url = fixUrl(request.url);\n\n // headers\n const sendHeaders = new Headers(request.headers);\n new Headers(init.headers).forEach((value, key) => {\n sendHeaders.set(key, value);\n });\n\n let binary = false;\n let data: URLSearchParams | FormData | Blob | string | undefined = undefined;\n\n if (method != 'GET') {\n if (init.body) {\n if (\n typeof init.body == 'string' ||\n init.body instanceof URLSearchParams\n ) {\n data = init.body;\n } else if (init.body instanceof FormData) {\n data = init.body;\n sendHeaders.delete(`content-type`);\n } else {\n binary = true;\n data = await request.blob();\n }\n }\n }\n return new Promise<Response>((resolve, reject) => {\n let initXhrDetails: GmXhrRequest = {\n method,\n url,\n headers: headers2obj(sendHeaders),\n data,\n binary,\n async onload(e) {\n await delay();\n const resp = new Response(e.response || e.responseText || null, {\n status: e.status,\n statusText: e.statusText,\n headers: parseHeaders(e.responseHeaders),\n });\n Object.defineProperty(resp, 'url', { value: e.finalUrl });\n resolve(resp);\n },\n async onerror() {\n await delay();\n reject(new TypeError('Network request onerror failed'));\n },\n async ontimeout() {\n await delay();\n reject(new TypeError('Network request ontimeout failed'));\n },\n async onabort() {\n await delay();\n reject(new DOMException('Aborted', 'AbortError'));\n },\n async onreadystatechange(response) {\n if (response.readyState === 4) {\n request.signal?.removeEventListener('abort', abortXhr);\n }\n },\n };\n if (typeof xhrDetails == 'function') {\n initXhrDetails = xhrDetails(initXhrDetails);\n } else {\n initXhrDetails = { ...initXhrDetails, ...xhrDetails };\n }\n const handle = GM_xmlhttpRequest(initXhrDetails);\n function abortXhr() {\n handle.abort();\n }\n request.signal?.addEventListener('abort', abortXhr);\n });\n};\n","import { GM_fetch, gmOk } from './gm';\nimport { isAllowCorsUrl } from './url';\n\nexport const enhanceFetch = async (\n input: RequestInfo | URL,\n init?: RequestInit,\n options?: { proxy?: boolean },\n) => {\n const req = new Request(input);\n const u = new URL(req.url);\n if (isAllowCorsUrl(u)) return fetch(input, { ...init, mode: 'cors' });\n\n if (gmOk()) {\n // with cookie\n // export snapshot need\n return GM_fetch(input, init);\n } else if (options?.proxy) {\n if (!u.href.startsWith('https://github.com/')) {\n useGlobalStore().networkErrorDlgVisible = true;\n throw new Error(`proxy is not supported`);\n }\n const proxyUrl = new URL(`https://proxy.gkd.li`);\n proxyUrl.searchParams.set(`proxyUrl`, u.href);\n const request = new Request(input, init);\n return fetch(proxyUrl, {\n method: request.method,\n headers: request.headers,\n body: request.body,\n });\n } else {\n useGlobalStore().networkErrorDlgVisible = true;\n throw new Error(`gm is not supported`);\n }\n};\n","import localforage from 'localforage';\nimport type { Snapshot } from './types';\n\nconst useStorage = <T>(options: LocalForageOptions = {}) => {\n options.driver ??= localforage.INDEXEDDB;\n const storage = localforage.createInstance(options);\n const setItem = async (key: string | number, value: T) => {\n return storage.setItem(key.toString(), value);\n };\n const getItem = async (key: string | number) => {\n return storage.getItem<T>(key.toString());\n };\n const getAllItems = async (): Promise<T[]> => {\n return Promise.all(\n (await storage.keys()).map((k) => storage.getItem(k) as Promise<T>),\n );\n };\n const removeItem = async (key: string | number) => {\n return storage.removeItem(key.toString());\n };\n\n const hasItem = async (key: string | number) => {\n const keyStr = key.toString();\n return storage.keys().then((r) => r.includes(keyStr));\n };\n const keys = async () => {\n return storage.keys();\n };\n\n return {\n keys,\n hasItem,\n getItem,\n setItem,\n removeItem,\n getAllItems,\n };\n};\n\nexport const snapshotStorage = useStorage<Snapshot>({\n name: `snapshot`,\n version: 1,\n});\n\nconst snapshotSetItem = snapshotStorage.setItem;\nsnapshotStorage.setItem = async (key, value) => {\n const shallowValue = { ...value, nodes: [] };\n await shallowSnapshotStorage.setItem(key, shallowValue);\n return snapshotSetItem(key, value);\n};\n\nconst snapshotRemoveItem = snapshotStorage.removeItem;\nsnapshotStorage.removeItem = async (key) => {\n const { snapshotImportTime } = useStorageStore();\n await Promise.all([\n snapshotRemoveItem(key),\n shallowSnapshotStorage.removeItem(key),\n screenshotStorage.removeItem(key),\n snapshotImportTime[key] && delete snapshotImportTime[key],\n ]);\n};\n\nexport const shallowSnapshotStorage = useStorage<Snapshot>({\n name: `shallowSnapshot`,\n version: 1,\n});\n\nexport const screenshotStorage = useStorage<ArrayBuffer>({\n name: `screenshot`,\n version: 1,\n});\n\nexport const setSnapshot = async (snapshot: Snapshot, bf: ArrayBuffer) => {\n const {\n importSnapshotId,\n snapshotImageId,\n snapshotImportId,\n snapshotImportTime,\n } = useStorageStore();\n Object.entries(importSnapshotId).forEach(([k, v]) => {\n if (v == snapshot.id) {\n delete importSnapshotId[k];\n }\n });\n if (snapshotImageId[snapshot.id]) {\n delete snapshotImageId[snapshot.id];\n }\n if (snapshotImportId[snapshot.id]) {\n delete snapshotImportId[snapshot.id];\n }\n snapshotImportTime[snapshot.id] = Date.now();\n await Promise.all([\n snapshotStorage.setItem(snapshot.id, snapshot),\n screenshotStorage.setItem(snapshot.id, bf),\n ]);\n};\n"],"names":["Node","value","__publicField","Queue","__privateAdd","_head","_tail","_size","node","__privateGet","__privateSet","__privateWrapper","current","pLimit","concurrency","validateConcurrency","queue","activeCount","resumeNext","next","run","function_","resolve","arguments_","result","enqueue","internalResolve","generator","newConcurrency","proxyFc","getFc","args","GM_xmlhttpRequest","_a","gmOk","parseHeaders","rawHeaders","headers","header","line","parts","key","fixUrl","url","GM_fetch","input","init","xhrDetails","request","method","sendHeaders","binary","data","reject","initXhrDetails","headers2obj","e","delay","resp","response","abortXhr","handle","enhanceFetch","options","req","u","isAllowCorsUrl","useGlobalStore","proxyUrl","useStorage","localforage","storage","keyStr","r","k","snapshotStorage","snapshotSetItem","shallowValue","shallowSnapshotStorage","snapshotRemoveItem","snapshotImportTime","useStorageStore","screenshotStorage","setSnapshot","snapshot","bf","importSnapshotId","snapshotImageId","snapshotImportId","v"],"mappings":"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","x_google_ignoreList":[0,1]}
|