@gkd-kit/inspect 0.0.1742136144076 → 0.0.1742817208952

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.
Files changed (46) hide show
  1. package/dist/assets/{ActionCard.vue_vue_type_script_setup_true_lang-DnLuMzC9.js → ActionCard.vue_vue_type_script_setup_true_lang-gDBAPCEZ.js} +2 -2
  2. package/dist/assets/{ActionCard.vue_vue_type_script_setup_true_lang-DnLuMzC9.js.map → ActionCard.vue_vue_type_script_setup_true_lang-gDBAPCEZ.js.map} +1 -1
  3. package/dist/assets/{DevicePage-DPbeuseJ.js → DevicePage-Bem25B0T.js} +2 -2
  4. package/dist/assets/{DevicePage-DPbeuseJ.js.map → DevicePage-Bem25B0T.js.map} +1 -1
  5. package/dist/assets/{HomePage-DujRNaLa.js → HomePage-D5SbJDL9.js} +2 -2
  6. package/dist/assets/{HomePage-DujRNaLa.js.map → HomePage-D5SbJDL9.js.map} +1 -1
  7. package/dist/assets/{ImportPage-CkbrfySh.js → ImportPage-DZcxMlXI.js} +2 -2
  8. package/dist/assets/{ImportPage-CkbrfySh.js.map → ImportPage-DZcxMlXI.js.map} +1 -1
  9. package/dist/assets/{Input-CFHzbUJP.js → Input-B6rMyCF0.js} +2 -2
  10. package/dist/assets/{Input-CFHzbUJP.js.map → Input-B6rMyCF0.js.map} +1 -1
  11. package/dist/assets/{SelectorPage-lKHsEt_p.js → SelectorPage-CAqj2033.js} +2 -2
  12. package/dist/assets/{SelectorPage-lKHsEt_p.js.map → SelectorPage-CAqj2033.js.map} +1 -1
  13. package/dist/assets/{SnapshotPage-582txqWB.js → SnapshotPage-Cbuc6CeX.js} +4 -4
  14. package/dist/assets/{SnapshotPage-582txqWB.js.map → SnapshotPage-Cbuc6CeX.js.map} +1 -1
  15. package/dist/assets/{SvgPage-CAw-p9H9.js → SvgPage-DBIv6hYy.js} +2 -2
  16. package/dist/assets/{SvgPage-CAw-p9H9.js.map → SvgPage-DBIv6hYy.js.map} +1 -1
  17. package/dist/assets/{TrackGraph-lcSexKmL.js → TrackGraph-CbjhUp4E.js} +3 -3
  18. package/dist/assets/{TrackGraph-lcSexKmL.js.map → TrackGraph-CbjhUp4E.js.map} +1 -1
  19. package/dist/assets/{_404Page-mGTvFkK7.js → _404Page-vUQXyedQ.js} +2 -2
  20. package/dist/assets/{_404Page-mGTvFkK7.js.map → _404Page-vUQXyedQ.js.map} +1 -1
  21. package/dist/assets/chunk-BiCEj3hV.js +3 -0
  22. package/dist/assets/{chunk-Cj8juMLr.js.map → chunk-BiCEj3hV.js.map} +1 -1
  23. package/dist/assets/{dayjs.min-BGT4LJ1t.js → dayjs.min-B9nCPxtW.js} +2 -2
  24. package/dist/assets/{dayjs.min-BGT4LJ1t.js.map → dayjs.min-B9nCPxtW.js.map} +1 -1
  25. package/dist/assets/{error-C8NAKMNO.js → error-B5R5lEKV.js} +2 -2
  26. package/dist/assets/{error-C8NAKMNO.js.map → error-B5R5lEKV.js.map} +1 -1
  27. package/dist/assets/{import-CXFt90sL.js → import-DDmCd_CE.js} +2 -2
  28. package/dist/assets/import-DDmCd_CE.js.map +1 -0
  29. package/dist/assets/{index-BErUBFEf.js → index-BrhFlJy_.js} +3 -3
  30. package/dist/assets/{index-BErUBFEf.js.map → index-BrhFlJy_.js.map} +1 -1
  31. package/dist/assets/{index-BCFUsjE7.js → index-HmS6ykwj.js} +6 -6
  32. package/dist/assets/{index-BCFUsjE7.js.map → index-HmS6ykwj.js.map} +1 -1
  33. package/dist/assets/{jszip.min-X2IAQ3B6.js → jszip.min-Ck5Mhabi.js} +2 -2
  34. package/dist/assets/{jszip.min-X2IAQ3B6.js.map → jszip.min-Ck5Mhabi.js.map} +1 -1
  35. package/dist/assets/{node-za0jtN0f.js → node-6LTRCFZ1.js} +2 -2
  36. package/dist/assets/{node-za0jtN0f.js.map → node-6LTRCFZ1.js.map} +1 -1
  37. package/dist/assets/snapshot-CA9mA1yK.js +3 -0
  38. package/dist/assets/snapshot-CA9mA1yK.js.map +1 -0
  39. package/dist/assets/{table-BJ0zBz3B.js → table-CWUv8hix.js} +2 -2
  40. package/dist/assets/{table-BJ0zBz3B.js.map → table-CWUv8hix.js.map} +1 -1
  41. package/dist/index.html +3 -3
  42. package/package.json +1 -1
  43. package/dist/assets/chunk-Cj8juMLr.js +0 -3
  44. package/dist/assets/import-CXFt90sL.js.map +0 -1
  45. package/dist/assets/snapshot-3a0MYZz5.js +0 -3
  46. package/dist/assets/snapshot-3a0MYZz5.js.map +0 -1
package/dist/index.html CHANGED
@@ -1,7 +1,7 @@
1
1
  <!doctype html>
2
2
  <html lang="zh">
3
3
  <head>
4
- <script type="module" crossorigin src="https://registry.npmmirror.com/@gkd-kit/inspect/0.0.1742136144076/files/dist/assets/polyfills-DzW-kj9Y.js"></script>
4
+ <script type="module" crossorigin src="https://registry.npmmirror.com/@gkd-kit/inspect/0.0.1742817208952/files/dist/assets/polyfills-DzW-kj9Y.js"></script>
5
5
 
6
6
  <meta charset="UTF-8" />
7
7
  <link
@@ -12,8 +12,8 @@
12
12
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
13
13
  <meta name="referrer" content="no-referrer" />
14
14
  <title>GKD</title>
15
- <script type="module" crossorigin src="https://registry.npmmirror.com/@gkd-kit/inspect/0.0.1742136144076/files/dist/assets/index-BCFUsjE7.js"></script>
16
- <link rel="stylesheet" crossorigin href="https://registry.npmmirror.com/@gkd-kit/inspect/0.0.1742136144076/files/dist/assets/index-CvjevRsx.css">
15
+ <script type="module" crossorigin src="https://registry.npmmirror.com/@gkd-kit/inspect/0.0.1742817208952/files/dist/assets/index-HmS6ykwj.js"></script>
16
+ <link rel="stylesheet" crossorigin href="https://registry.npmmirror.com/@gkd-kit/inspect/0.0.1742817208952/files/dist/assets/index-CvjevRsx.css">
17
17
  </head>
18
18
 
19
19
  <body>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gkd-kit/inspect",
3
- "version": "0.0.1742136144076",
3
+ "version": "0.0.1742817208952",
4
4
  "type": "module",
5
5
  "publishConfig": {
6
6
  "access": "public",
@@ -1,3 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["https://registry.npmmirror.com/@gkd-kit/inspect/0.0.1742136144076/files/dist/assets/jszip.min-X2IAQ3B6.js","https://registry.npmmirror.com/@gkd-kit/inspect/0.0.1742136144076/files/dist/assets/index-BCFUsjE7.js","https://registry.npmmirror.com/@gkd-kit/inspect/0.0.1742136144076/files/dist/assets/index-CvjevRsx.css"])))=>i.map(i=>d[i]);
2
- import{az as r}from"./index-BCFUsjE7.js";const a=r(()=>import("./jszip.min-X2IAQ3B6.js").then(t=>t.j),__vite__mapDeps([0,1,2]),import.meta.url).then(t=>t.default),n=async(t,e)=>r(()=>import("./jszip.min-X2IAQ3B6.js").then(o=>o.j),__vite__mapDeps([0,1,2]),import.meta.url).then(o=>o.loadAsync(t,e));export{a as J,n as l};
3
- //# sourceMappingURL=chunk-Cj8juMLr.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"import-CXFt90sL.js","sources":["../../node_modules/.pnpm/browser-fs-access@0.35.0/node_modules/browser-fs-access/dist/index.modern.js","../../src/utils/file_type.ts","../../src/utils/import.ts"],"sourcesContent":["const e=(()=>{if(\"undefined\"==typeof self)return!1;if(\"top\"in self&&self!==top)try{top.window.document._=0}catch(e){return!1}return\"showOpenFilePicker\"in self})(),t=e?Promise.resolve().then(function(){return l}):Promise.resolve().then(function(){return v});async function n(...e){return(await t).default(...e)}const r=e?Promise.resolve().then(function(){return y}):Promise.resolve().then(function(){return b});async function i(...e){return(await r).default(...e)}const a=e?Promise.resolve().then(function(){return m}):Promise.resolve().then(function(){return k});async function o(...e){return(await a).default(...e)}const s=async e=>{const t=await e.getFile();return t.handle=e,t};var c=async(e=[{}])=>{Array.isArray(e)||(e=[e]);const t=[];e.forEach((e,n)=>{t[n]={description:e.description||\"Files\",accept:{}},e.mimeTypes?e.mimeTypes.map(r=>{t[n].accept[r]=e.extensions||[]}):t[n].accept[\"*/*\"]=e.extensions||[]});const n=await window.showOpenFilePicker({id:e[0].id,startIn:e[0].startIn,types:t,multiple:e[0].multiple||!1,excludeAcceptAllOption:e[0].excludeAcceptAllOption||!1}),r=await Promise.all(n.map(s));return e[0].multiple?r:r[0]},l={__proto__:null,default:c};function u(e){function t(e){if(Object(e)!==e)return Promise.reject(new TypeError(e+\" is not an object.\"));var t=e.done;return Promise.resolve(e.value).then(function(e){return{value:e,done:t}})}return u=function(e){this.s=e,this.n=e.next},u.prototype={s:null,n:null,next:function(){return t(this.n.apply(this.s,arguments))},return:function(e){var n=this.s.return;return void 0===n?Promise.resolve({value:e,done:!0}):t(n.apply(this.s,arguments))},throw:function(e){var n=this.s.return;return void 0===n?Promise.reject(e):t(n.apply(this.s,arguments))}},new u(e)}const p=async(e,t,n=e.name,r)=>{const i=[],a=[];var o,s=!1,c=!1;try{for(var l,d=function(e){var t,n,r,i=2;for(\"undefined\"!=typeof Symbol&&(n=Symbol.asyncIterator,r=Symbol.iterator);i--;){if(n&&null!=(t=e[n]))return t.call(e);if(r&&null!=(t=e[r]))return new u(t.call(e));n=\"@@asyncIterator\",r=\"@@iterator\"}throw new TypeError(\"Object is not async iterable\")}(e.values());s=!(l=await d.next()).done;s=!1){const o=l.value,s=`${n}/${o.name}`;\"file\"===o.kind?a.push(o.getFile().then(t=>(t.directoryHandle=e,t.handle=o,Object.defineProperty(t,\"webkitRelativePath\",{configurable:!0,enumerable:!0,get:()=>s})))):\"directory\"!==o.kind||!t||r&&r(o)||i.push(p(o,t,s,r))}}catch(e){c=!0,o=e}finally{try{s&&null!=d.return&&await d.return()}finally{if(c)throw o}}return[...(await Promise.all(i)).flat(),...await Promise.all(a)]};var d=async(e={})=>{e.recursive=e.recursive||!1,e.mode=e.mode||\"read\";const t=await window.showDirectoryPicker({id:e.id,startIn:e.startIn,mode:e.mode});return(await(await t.values()).next()).done?[t]:p(t,e.recursive,void 0,e.skipDirectory)},y={__proto__:null,default:d},f=async(e,t=[{}],n=null,r=!1,i=null)=>{Array.isArray(t)||(t=[t]),t[0].fileName=t[0].fileName||\"Untitled\";const a=[];let o=null;if(e instanceof Blob&&e.type?o=e.type:e.headers&&e.headers.get(\"content-type\")&&(o=e.headers.get(\"content-type\")),t.forEach((e,t)=>{a[t]={description:e.description||\"Files\",accept:{}},e.mimeTypes?(0===t&&o&&e.mimeTypes.push(o),e.mimeTypes.map(n=>{a[t].accept[n]=e.extensions||[]})):o?a[t].accept[o]=e.extensions||[]:a[t].accept[\"*/*\"]=e.extensions||[]}),n)try{await n.getFile()}catch(e){if(n=null,r)throw e}const s=n||await window.showSaveFilePicker({suggestedName:t[0].fileName,id:t[0].id,startIn:t[0].startIn,types:a,excludeAcceptAllOption:t[0].excludeAcceptAllOption||!1});!n&&i&&i(s);const c=await s.createWritable();if(\"stream\"in e){const t=e.stream();return await t.pipeTo(c),s}return\"body\"in e?(await e.body.pipeTo(c),s):(await c.write(await e),await c.close(),s)},m={__proto__:null,default:f},w=async(e=[{}])=>(Array.isArray(e)||(e=[e]),new Promise((t,n)=>{const r=document.createElement(\"input\");r.type=\"file\";const i=[...e.map(e=>e.mimeTypes||[]),...e.map(e=>e.extensions||[])].join();r.multiple=e[0].multiple||!1,r.accept=i||\"\",r.style.display=\"none\",document.body.append(r);const a=e=>{\"function\"==typeof o&&o(),t(e)},o=e[0].legacySetup&&e[0].legacySetup(a,()=>o(n),r),s=()=>{window.removeEventListener(\"focus\",s),r.remove()};r.addEventListener(\"click\",()=>{window.addEventListener(\"focus\",s)}),r.addEventListener(\"change\",()=>{window.removeEventListener(\"focus\",s),r.remove(),a(r.multiple?Array.from(r.files):r.files[0])}),\"showPicker\"in HTMLInputElement.prototype?r.showPicker():r.click()})),v={__proto__:null,default:w},h=async(e=[{}])=>(Array.isArray(e)||(e=[e]),e[0].recursive=e[0].recursive||!1,new Promise((t,n)=>{const r=document.createElement(\"input\");r.type=\"file\",r.webkitdirectory=!0;const i=e=>{\"function\"==typeof a&&a(),t(e)},a=e[0].legacySetup&&e[0].legacySetup(i,()=>a(n),r);r.addEventListener(\"change\",()=>{let t=Array.from(r.files);e[0].recursive?e[0].recursive&&e[0].skipDirectory&&(t=t.filter(t=>t.webkitRelativePath.split(\"/\").every(t=>!e[0].skipDirectory({name:t,kind:\"directory\"})))):t=t.filter(e=>2===e.webkitRelativePath.split(\"/\").length),i(t)}),\"showPicker\"in HTMLInputElement.prototype?r.showPicker():r.click()})),b={__proto__:null,default:h},P=async(e,t={})=>{Array.isArray(t)&&(t=t[0]);const n=document.createElement(\"a\");let r=e;\"body\"in e&&(r=await async function(e,t){const n=e.getReader(),r=new ReadableStream({start:e=>async function t(){return n.read().then(({done:n,value:r})=>{if(!n)return e.enqueue(r),t();e.close()})}()}),i=new Response(r),a=await i.blob();return n.releaseLock(),new Blob([a],{type:t})}(e.body,e.headers.get(\"content-type\"))),n.download=t.fileName||\"Untitled\",n.href=URL.createObjectURL(await r);const i=()=>{\"function\"==typeof a&&a()},a=t.legacySetup&&t.legacySetup(i,()=>a(),n);return n.addEventListener(\"click\",()=>{setTimeout(()=>URL.revokeObjectURL(n.href),3e4),i()}),n.click(),null},k={__proto__:null,default:P};export{i as directoryOpen,h as directoryOpenLegacy,d as directoryOpenModern,n as fileOpen,w as fileOpenLegacy,c as fileOpenModern,o as fileSave,P as fileSaveLegacy,f as fileSaveModern,e as supported};\n","const eqU8 = (a: Uint8Array, b: Uint8Array) => {\n return a.length == b.length && a.every((v, i) => v == b[i]);\n};\nconst startWith = (a: ArrayBuffer, b: Uint8Array) => {\n return eqU8(new Uint8Array(a.slice(0, b.length)), b);\n};\nconst blobStartWith = async (a: Blob, b: Uint8Array) => {\n const bf = await a.slice(0, b.length).arrayBuffer();\n return eqU8(new Uint8Array(bf), b);\n};\nconst zipHeader = new Uint8Array([0x50, 0x4b, 0x03, 0x04]);\n\nexport const isZipBf = (bf: ArrayBuffer) => startWith(bf, zipHeader);\nexport const isZipBlob = async (blob: Blob) => blobStartWith(blob, zipHeader);\n","import { fileOpen } from 'browser-fs-access';\nimport pLimit from 'p-limit';\nimport { message } from './discrete';\nimport { enhanceFetch } from './fetch';\nimport { isZipBf } from './file_type';\nimport { setSnapshot, snapshotStorage } from './snapshot';\nimport type { Snapshot } from './types';\nimport { getImportFileUrl, getImportId } from './url';\nimport { loadAsync } from './chunk';\nimport type { JSZipType } from './chunk';\n\nconst parseZip = async (zip: JSZipType) => {\n const snapshotFile = zip.filter((s) => s.endsWith(`.json`))[0];\n const screenshotFile = zip.filter((s) => s.endsWith(`.png`))[0];\n if (!snapshotFile || !screenshotFile) {\n return false;\n }\n const snapshot = JSON.parse(await snapshotFile.async('string')) as Snapshot;\n const screenshotBf = await screenshotFile.async('arraybuffer');\n await setSnapshot(snapshot, screenshotBf);\n return true;\n};\n\nexport const importFromLocal = async () => {\n const files = await fileOpen({\n multiple: true,\n mimeTypes: [`application/zip`],\n });\n const zipfiles = files.filter((f) => f.name.endsWith(`.zip`));\n if (zipfiles.length == 0) {\n message.warning(`没有发现可导入文件`);\n return;\n }\n let importNum = 0;\n if (zipfiles.length > 0) {\n await Promise.any(\n zipfiles.map(async (file) => {\n const zip = await loadAsync(file);\n if (await parseZip(zip)) {\n importNum++;\n }\n const subZips = zip.filter((s) => s.endsWith('.zip'));\n if (subZips.length > 0) {\n await Promise.any(\n subZips.map(async (subZip) => {\n const subFile = await loadAsync(subZip.async('blob'));\n if (await parseZip(subFile)) {\n importNum++;\n }\n }),\n );\n }\n }),\n );\n }\n if (importNum > 0) {\n message.success(`导入${importNum}条记录`);\n } else {\n message.warning(`没有发现可导入记录`);\n }\n};\n\nexport const importFromNetwork = async (urls: string[] | string = []) => {\n if (typeof urls == 'string') {\n urls = [urls];\n }\n if (urls.length == 0) {\n return;\n }\n urls = urls.map((url) => {\n const importId = getImportId(url);\n if (importId) {\n return getImportFileUrl(importId);\n }\n return url;\n });\n urls = [...new Set(urls)];\n const limit = pLimit(2);\n let importNum = 0;\n await useStorageStore().waitInit();\n const result = await Promise.allSettled(\n urls.map((url) => {\n return limit(async () => {\n const snapshotId =\n useStorageStore().importSnapshotId[getImportId(url) || ''];\n if (snapshotId) {\n const snapshot = await snapshotStorage.getItem(snapshotId);\n if (snapshot) {\n importNum++;\n return snapshot;\n }\n }\n const resp = await enhanceFetch(url, undefined, { proxy: true }).catch(\n (e) => {\n message.error(`网络异常: ${new URL(url).host}/${e.message || ''}`);\n console.warn([`download failed`, url, e]);\n throw e;\n },\n );\n const bf = await resp.arrayBuffer();\n let snapshot: Snapshot;\n let screenshotBf: ArrayBuffer;\n if (isZipBf(bf)) {\n const zip = await loadAsync(bf);\n const [snapshotFile] = zip.filter((p) => p.endsWith(`.json`));\n const [screenshotFile] = zip.filter((p) => p.endsWith(`.png`));\n if (!snapshotFile || !screenshotFile) {\n return;\n }\n screenshotBf = await screenshotFile.async('arraybuffer');\n snapshot = JSON.parse(await snapshotFile.async('string')) as Snapshot;\n } else {\n throw new Error(`file must be png or zip`);\n }\n await setSnapshot(snapshot, screenshotBf);\n importNum++;\n return snapshot;\n });\n }),\n );\n if (importNum == 0) {\n message.warning(`没有发现可导入记录`);\n } else if (importNum == urls.length) {\n message.success(`导入${importNum}条快照`);\n } else if (importNum < urls.length) {\n message.success(`导入${importNum}条快照,失败${urls.length - importNum}`);\n }\n return result;\n};\n"],"names":["e","t","l","v","n","y","b","m","k","s","c","r","u","p","i","a","o","d","f","w","h","P","eqU8","startWith","zipHeader","isZipBf","bf","parseZip","zip","snapshotFile","screenshotFile","snapshot","screenshotBf","setSnapshot","importFromLocal","zipfiles","fileOpen","message","importNum","file","loadAsync","subZips","subZip","subFile","importFromNetwork","urls","url","importId","getImportId","getImportFileUrl","limit","pLimit","useStorageStore","result","snapshotId","snapshotStorage","enhanceFetch"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,3 +0,0 @@
1
- var O=Object.defineProperty;var N=e=>{throw TypeError(e)};var z=(e,t,s)=>t in e?O(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s;var x=(e,t,s)=>z(e,typeof t!="symbol"?t+"":t,s),T=(e,t,s)=>t.has(e)||N("Cannot "+s);var f=(e,t,s)=>(T(e,t,"read from private field"),s?s.call(e):t.get(e)),v=(e,t,s)=>t.has(e)?N("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,s),w=(e,t,s,r)=>(T(e,t,"write to private field"),r?r.call(e,s):t.set(e,s),s);var S=(e,t,s,r)=>({set _(n){w(e,t,n,s)},get _(){return f(e,t,r)}});import{bI as L,aW as E,bJ as C,b3 as R,bK as U,aK as H}from"./index-BCFUsjE7.js";class F{constructor(t){x(this,"value");x(this,"next");this.value=t}}var d,p,y;class V{constructor(){v(this,d);v(this,p);v(this,y);this.clear()}enqueue(t){const s=new F(t);f(this,d)?(f(this,p).next=s,w(this,p,s)):(w(this,d,s),w(this,p,s)),S(this,y)._++}dequeue(){const t=f(this,d);if(t)return w(this,d,f(this,d).next),S(this,y)._--,t.value}peek(){if(f(this,d))return f(this,d).value}clear(){w(this,d,void 0),w(this,p,void 0),w(this,y,0)}get size(){return f(this,y)}*[Symbol.iterator](){let t=f(this,d);for(;t;)yield t.value,t=t.next}}d=new WeakMap,p=new WeakMap,y=new WeakMap;function ee(e){D(e);const t=new V;let s=0;const r=()=>{s<e&&t.size>0&&(t.dequeue()(),s++)},n=()=>{s--,r()},l=async(a,o,c)=>{const u=(async()=>a(...c))();o(u);try{await u}catch{}n()},i=(a,o,c)=>{new Promise(u=>{t.enqueue(u)}).then(l.bind(void 0,a,o,c)),(async()=>(await Promise.resolve(),s<e&&r()))()},h=(a,...o)=>new Promise(c=>{i(a,c,o)});return Object.defineProperties(h,{activeCount:{get:()=>s},pendingCount:{get:()=>t.size},clearQueue:{value(){t.clear()}},concurrency:{get:()=>e,set(a){D(a),e=a,queueMicrotask(()=>{for(;s<e&&t.size>0;)r()})}}}),h}function D(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),W=j(()=>{var e;return(e=window.__NetworkExtension__)==null?void 0:e.GM_xmlhttpRequest}),X=()=>{var e;return!!((e=window.__NetworkExtension__)!=null&&e.GM_xmlhttpRequest)},B=(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 n=r.split(":"),l=(i=n.shift())==null?void 0:i.trim();if(l){let h=n.join(":").trim();try{t.append(l,h)}catch{}}}),t},K=(e="")=>{try{return e===""&&location.href?location.href:e}catch{return e}},Q=async(e,t={},s={})=>{var o;const r=new Request(e,t).clone();if((o=r.signal)!=null&&o.aborted)throw new DOMException("Aborted","AbortError");const n=r.method.toUpperCase(),l=K(r.url),i=new Headers(r.headers);new Headers(t.headers).forEach((c,u)=>{i.set(u,c)});let h=!1,a;return n!=="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")):(h=!0,a=await r.blob())),new Promise((c,u)=>{var _;let b={method:n,url:l,headers:L(i),data:a,binary:h,responseType:n==="GET"?"blob":void 0,async onload(m){await E();let I=!1;m.response instanceof Blob&&(I=m.response.size===0);const k=new Response((I?null:m.response)||null,{status:m.status,statusText:m.statusText,headers:B(m.responseHeaders)});Object.defineProperty(k,"url",{value:m.finalUrl}),c(k)},async onerror(m){await E(),u(new TypeError("Network request onerror failed",{cause:m}))},async ontimeout(){await E(),u(new TypeError("Network request ontimeout failed"))},async onabort(){await E(),u(new DOMException("Aborted","AbortError"))},async onreadystatechange(m){var I;m.readyState===4&&((I=r.signal)==null||I.removeEventListener("abort",P))}};typeof s=="function"?b=s(b):b={...b,...s};const M=W(b);function P(){M.abort()}(_=r.signal)==null||_.addEventListener("abort",P)})},te=async(e,t,s)=>{const r=new Request(e),n=new URL(r.url);if(C(n))return fetch(e,{...t,mode:"cors"});if(X())return Q(e,t);if(s!=null&&s.proxy){if(!n.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",n.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=U.INDEXEDDB);const t=U.createInstance(e);return{keys:async()=>t.keys(),hasItem:async o=>{const c=o.toString();return t.keys().then(u=>u.includes(c))},getItem:async o=>t.getItem(o.toString()),setItem:async(o,c)=>t.setItem(o.toString(),c),removeItem:async o=>t.removeItem(o.toString()),getAllItems:async()=>Promise.all((await t.keys()).map(o=>t.getItem(o)))}},g=q({name:"snapshot",version:1}),J=g.setItem;g.setItem=async(e,t)=>{const s={...t,nodes:[]};return await A.setItem(e,s),J(e,t)};const Y=g.removeItem;g.removeItem=async e=>{const{snapshotImportTime:t}=H();await Promise.all([Y(e),A.removeItem(e),G.removeItem(e),t[e]&&delete t[e]])};const A=q({name:"shallowSnapshot",version:1}),G=q({name:"screenshot",version:1}),se=async(e,t)=>{const{importSnapshotId:s,snapshotImageId:r,snapshotImportId:n,snapshotImportTime:l}=H();Object.entries(s).forEach(([i,h])=>{h==e.id&&delete s[i]}),r[e.id]&&delete r[e.id],n[e.id]&&delete n[e.id],l[e.id]=Date.now(),await Promise.all([g.setItem(e.id,e),G.setItem(e.id,t)])};export{g as a,G as b,se as c,te as e,X as g,ee as p,A as s};
3
- //# sourceMappingURL=snapshot-3a0MYZz5.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"snapshot-3a0MYZz5.js","sources":["../../node_modules/.pnpm/yocto-queue@1.1.1/node_modules/yocto-queue/index.js","../../node_modules/.pnpm/p-limit@6.2.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\nexport function limitFunction(function_, option) {\n\tconst {concurrency} = option;\n\tconst limit = pLimit(concurrency);\n\n\treturn (...arguments_) => limit(() => function_(...arguments_));\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 GmXhrOptions =\n import('vite-plugin-monkey/dist/client').GmXmlhttpRequestOption<\n 'blob',\n undefined\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<GmXhrOptions>\n | ((arg: GmXhrOptions) => GmXhrOptions) = {},\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: GmXhrOptions = {\n method,\n url,\n headers: headers2obj(sendHeaders),\n data,\n binary,\n // temporarily fix tampermonkey bug when post github api\n responseType: method === 'GET' ? 'blob' : undefined,\n async onload(e) {\n await delay();\n let useNull = false;\n if (e.response instanceof Blob) {\n useNull = e.response.size === 0;\n }\n const resp = new Response((useNull ? null : e.response) || 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(e) {\n await delay();\n reject(new TypeError('Network request onerror failed', { cause: e }));\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","useNull","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]}