{"_id":"swarpc","_rev":"34-27436289a1f704ec3f1daae2675e27b3","name":"swarpc","dist-tags":{"latest":"0.20.2"},"versions":{"0.1.0":{"name":"swarpc","version":"0.1.0","keywords":["service-workers","sw","rpc","trpc","typesafe"],"author":{"name":"Gwenn Le Bihan","email":"gwenn.lebihan7@gmail.com"},"license":"MIT","_id":"swarpc@0.1.0","maintainers":[{"name":"gwennlbh","email":"gwenn.lebihan7@gmail.com"}],"homepage":"https://github.com/gwennlbh/swarpc#readme","bugs":{"url":"https://github.com/gwennlbh/swarpc/issues"},"dist":{"shasum":"a8574abb4015d97257796d8285e8476fe7e4384c","tarball":"https://registry.npmjs.org/swarpc/-/swarpc-0.1.0.tgz","fileCount":2,"integrity":"sha512-+eDWV/G9N69SVLgwe3O9UMJVm6aoTPER8tiADY+PPX7woaYQ5knm8ATfr2Uei250xwdfV454BP9Ep+JFzYPYiA==","signatures":[{"sig":"MEQCIFrqnTub124q3Tyhe91l1BOCzkxuoDpgMynYnShiqQqXAiBhtkXL6D4yUf+Wm45l6+qXedFvMnSH5I288jZ4R7JFVA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5643},"main":"src/swarpc.js","type":"module","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"gwennlbh","actor":{"name":"gwennlbh","type":"user","email":"gwenn.lebihan7@gmail.com"},"email":"gwenn.lebihan7@gmail.com"},"repository":{"url":"git+https://github.com/gwennlbh/swarpc.git","type":"git"},"_npmVersion":"11.4.2","description":"Full type-safe RPC library for service worker -- move things off of the UI thread with ease!","directories":{},"_nodeVersion":"22.14.0","dependencies":{"arktype":"^2.1.20"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/swarpc_0.1.0_1751469914606_0.07424691431486763","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"swarpc","version":"0.1.1","keywords":["service-workers","sw","rpc","trpc","typesafe"],"author":{"name":"Gwenn Le Bihan","email":"gwenn.lebihan7@gmail.com"},"license":"MIT","_id":"swarpc@0.1.1","maintainers":[{"name":"gwennlbh","email":"gwenn.lebihan7@gmail.com"}],"homepage":"https://github.com/gwennlbh/swarpc#readme","bugs":{"url":"https://github.com/gwennlbh/swarpc/issues"},"dist":{"shasum":"a01a1561cddca60b98b27844beea1be2135baceb","tarball":"https://registry.npmjs.org/swarpc/-/swarpc-0.1.1.tgz","fileCount":5,"integrity":"sha512-oUrxESMstf4POtwBW+LP+FmYXuQR7LN1ls9QWm87hMTVwFTqHtLKE11iqG2MWYOHg/I2Eys0/VORv/9oEq7YRw==","signatures":[{"sig":"MEQCICokk/gV7MFqXtgv3VPS34yEKIz6tEN/6dajCrqqYxXSAiBtt8KiWqJS29xgqhr0G5yCv3+gqwlhdw3HspV/g9240g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13108},"main":"src/swarpc.js","type":"module","types":"dist/swarpc.d.ts","gitHead":"c64ff0f3c457acb8f5a3def15fc7b39ace211708","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc"},"_npmUser":{"name":"gwennlbh","actor":{"name":"gwennlbh","type":"user","email":"gwenn.lebihan7@gmail.com"},"email":"gwenn.lebihan7@gmail.com"},"repository":{"url":"git+https://github.com/gwennlbh/swarpc.git","type":"git"},"_npmVersion":"11.4.2","description":"Full type-safe RPC library for service worker -- move things off of the UI thread with ease!","directories":{},"_nodeVersion":"22.14.0","dependencies":{"arktype":"^2.1.20"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/swarpc_0.1.1_1751471644813_0.6986488027945965","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"swarpc","version":"0.1.2","keywords":["service-workers","sw","rpc","trpc","typesafe"],"author":{"name":"Gwenn Le Bihan","email":"gwenn.lebihan7@gmail.com"},"license":"MIT","_id":"swarpc@0.1.2","maintainers":[{"name":"gwennlbh","email":"gwenn.lebihan7@gmail.com"}],"homepage":"https://github.com/gwennlbh/swarpc#readme","bugs":{"url":"https://github.com/gwennlbh/swarpc/issues"},"dist":{"shasum":"16c4a80fd84af40ff273c8dd20314004d8e9d8f0","tarball":"https://registry.npmjs.org/swarpc/-/swarpc-0.1.2.tgz","fileCount":8,"integrity":"sha512-4WZ1i2Y14XsFsYZn+ZFmo9QC1lW62aQ5j9ZGkFQgPQ6S7S3MLnQsLZBVepzlvV9yqg5iJ3ebaiOnMfL05vxViw==","signatures":[{"sig":"MEYCIQDle/Ny2p7/fuRzkqwNTQKO1X566ZicQ8FfGkZdbpouQwIhAJrSPYCMfsvVo6coFwYqiCHrWLHpMWCnHiCPYS3bfsjw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12354},"main":"src/swarpc.js","type":"module","types":"dist/swarpc.d.ts","gitHead":"c84e45d1332be4571ec7b001fa390175756518ce","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc"},"_npmUser":{"name":"gwennlbh","actor":{"name":"gwennlbh","type":"user","email":"gwenn.lebihan7@gmail.com"},"email":"gwenn.lebihan7@gmail.com"},"repository":{"url":"git+https://github.com/gwennlbh/swarpc.git","type":"git"},"_npmVersion":"11.4.2","description":"Full type-safe RPC library for service worker -- move things off of the UI thread with ease!","directories":{},"_nodeVersion":"22.14.0","dependencies":{"arktype":"^2.1.20"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/swarpc_0.1.2_1751473917525_0.7498503162781462","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"swarpc","version":"0.2.0","keywords":["service-workers","sw","rpc","trpc","typesafe"],"author":{"name":"Gwenn Le Bihan","email":"gwenn.lebihan7@gmail.com"},"license":"MIT","_id":"swarpc@0.2.0","maintainers":[{"name":"gwennlbh","email":"gwenn.lebihan7@gmail.com"}],"homepage":"https://github.com/gwennlbh/swarpc#readme","bugs":{"url":"https://github.com/gwennlbh/swarpc/issues"},"dist":{"shasum":"5bb165a38d33c15aa7b8f4b5de94f699c4ae65b7","tarball":"https://registry.npmjs.org/swarpc/-/swarpc-0.2.0.tgz","fileCount":8,"integrity":"sha512-M5Ejbw0uqGK9IL9i0xXDUvqrjcgChoTMB9jKDVE9fuQaJGrESTlxGn4AOzDJHndcT7B/uv/Ijina5lECJxG9Zw==","signatures":[{"sig":"MEUCIHcGG7pKG5rSygcmkfeQbQYsrAqJRYvWTmlb4Ab+DG1OAiEA8V2cfYNnWqRBloTNXzrpohCuQMEgBSkszU5jcDxMeQ4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15521},"main":"src/swarpc.js","type":"module","types":"dist/swarpc.d.ts","gitHead":"e211ec191a27d7186577679e6910b0f0cc5f97e4","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc","typedoc":"typedoc src/swarpc.js src/typings.js --readme README.md"},"_npmUser":{"name":"gwennlbh","email":"gwenn.lebihan7@gmail.com"},"repository":{"url":"git+https://github.com/gwennlbh/swarpc.git","type":"git"},"_npmVersion":"11.4.2","description":"Full type-safe RPC library for service worker -- move things off of the UI thread with ease!","directories":{},"_nodeVersion":"22.14.0","dependencies":{"arktype":"^2.1.20"},"_hasShrinkwrap":false,"devDependencies":{"typedoc":"^0.28.7","typescript":"^5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/swarpc_0.2.0_1752259132872_0.7980985026053422","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"swarpc","version":"0.2.1","keywords":["service-workers","sw","rpc","trpc","typesafe"],"author":{"name":"Gwenn Le Bihan","email":"gwenn.lebihan7@gmail.com"},"license":"MIT","_id":"swarpc@0.2.1","maintainers":[{"name":"gwennlbh","email":"gwenn.lebihan7@gmail.com"}],"homepage":"https://github.com/gwennlbh/swarpc#readme","bugs":{"url":"https://github.com/gwennlbh/swarpc/issues"},"dist":{"shasum":"5a1ab4235aa38b5155404cc2093e1c15d6a3eb53","tarball":"https://registry.npmjs.org/swarpc/-/swarpc-0.2.1.tgz","fileCount":10,"integrity":"sha512-9Vj6bm9wftc7fwKt2l88okwzY6UVui0ZKdbwtieMFmdZGyvS55oPBk0DdYp0Sd1QeIbmrf0awHw/zWyn5RYmrw==","signatures":[{"sig":"MEYCIQDRx1m401IWM04iyonhzCI1OWr3EsVT/GMSUS7I/zkf2gIhAO1WpDtALJlDYtURGkriZKrqTHCk8uUNbojunmzLMQ8D","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28093},"main":"dist/swarpc.js","type":"module","types":"dist/swarpc.d.ts","gitHead":"d9ea55720aba5316fe3d50df3ce4762237ee51b4","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc","typedoc":"typedoc src/swarpc.ts src/types.ts --readme README.md"},"_npmUser":{"name":"gwennlbh","email":"gwenn.lebihan7@gmail.com"},"repository":{"url":"git+https://github.com/gwennlbh/swarpc.git","type":"git"},"_npmVersion":"11.4.2","description":"Full type-safe RPC library for service worker -- move things off of the UI thread with ease!","directories":{},"_nodeVersion":"22.14.0","dependencies":{"arktype":"^2.1.20"},"_hasShrinkwrap":false,"devDependencies":{"typedoc":"^0.28.7","typescript":"^5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/swarpc_0.2.1_1752261431297_0.9621967219649679","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"swarpc","version":"0.2.2","keywords":["service-workers","sw","rpc","trpc","typesafe"],"author":{"name":"Gwenn Le Bihan","email":"gwenn.lebihan7@gmail.com"},"license":"MIT","_id":"swarpc@0.2.2","maintainers":[{"name":"gwennlbh","email":"gwenn.lebihan7@gmail.com"}],"homepage":"https://github.com/gwennlbh/swarpc#readme","bugs":{"url":"https://github.com/gwennlbh/swarpc/issues"},"dist":{"shasum":"ca1772b13a149c739b356cfed36b79901605f50f","tarball":"https://registry.npmjs.org/swarpc/-/swarpc-0.2.2.tgz","fileCount":10,"integrity":"sha512-DjTQnfMku2HKHDlVHt+N+QD2SUwpK/GKt24jUNxafa7w+YRfBO0fUqrt0bnDSwfxMekB5iao8dHWLBN1jcudPQ==","signatures":[{"sig":"MEQCIFwRiczDoIG2HtWiEe7EuFUALaF7ysrVaOgN6DErRK3NAiAmLGDzZDlcv38tscrpJmBaTJS/TWa+LnO3PPiXK8ujWA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18491},"main":"dist/swarpc.js","type":"module","types":"dist/swarpc.d.ts","gitHead":"bf7a0ef9e01e8f80380fe0fb8406b5d3fc9690b1","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc","typedoc":"typedoc src/swarpc.ts src/types.ts --readme README.md"},"_npmUser":{"name":"gwennlbh","email":"gwenn.lebihan7@gmail.com"},"repository":{"url":"git+https://github.com/gwennlbh/swarpc.git","type":"git"},"_npmVersion":"11.4.2","description":"Full type-safe RPC library for service worker -- move things off of the UI thread with ease!","directories":{},"_nodeVersion":"22.14.0","dependencies":{"arktype":"^2.1.20"},"_hasShrinkwrap":false,"devDependencies":{"typedoc":"^0.28.7","typescript":"^5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/swarpc_0.2.2_1752261961359_0.3236074809847369","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"swarpc","version":"0.2.3","keywords":["service-workers","sw","rpc","trpc","typesafe"],"author":{"name":"Gwenn Le Bihan","email":"gwenn.lebihan7@gmail.com"},"license":"MIT","_id":"swarpc@0.2.3","maintainers":[{"name":"gwennlbh","email":"gwenn.lebihan7@gmail.com"}],"homepage":"https://github.com/gwennlbh/swarpc#readme","bugs":{"url":"https://github.com/gwennlbh/swarpc/issues"},"dist":{"shasum":"b380b1ba41c18123e0d0107e4e25b18e626b6968","tarball":"https://registry.npmjs.org/swarpc/-/swarpc-0.2.3.tgz","fileCount":10,"integrity":"sha512-G41CSMdApkRcAzEymgeB3TmxMTlTfwaG1K3RMTEwUT845YynSGxPxszCxYjugKAaqDaNbGCfHTRvldHEBJQz6g==","signatures":[{"sig":"MEUCIQCpPQIecdZvR39/sv++vUWt90yAZkOhgYB+IKDh/muBeQIgSHhYptYC4r4e9HzlNbkr4G9UaSMsg68F8lwnJjq75GA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/swarpc@0.2.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":18550},"main":"dist/swarpc.js","type":"module","types":"dist/swarpc.d.ts","gitHead":"1a5ee9719320273622db3c4152f8eb953ee62464","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc","typedoc":"typedoc src/swarpc.ts src/types.ts --readme README.md"},"_npmUser":{"name":"gwennlbh","email":"gwenn.lebihan7@gmail.com"},"repository":{"url":"git+https://github.com/gwennlbh/swarpc.git","type":"git"},"_npmVersion":"11.4.2","description":"Full type-safe RPC library for service worker -- move things off of the UI thread with ease!","directories":{},"_nodeVersion":"24.4.0","dependencies":{"arktype":"^2.1.20"},"_hasShrinkwrap":false,"devDependencies":{"typedoc":"^0.28.7","typescript":"^5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/swarpc_0.2.3_1752264682930_0.01405784492003237","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"swarpc","version":"0.2.4","keywords":["service-workers","sw","rpc","trpc","typesafe"],"author":{"name":"Gwenn Le Bihan","email":"gwenn.lebihan7@gmail.com"},"license":"MIT","_id":"swarpc@0.2.4","maintainers":[{"name":"gwennlbh","email":"gwenn.lebihan7@gmail.com"}],"homepage":"https://github.com/gwennlbh/swarpc#readme","bugs":{"url":"https://github.com/gwennlbh/swarpc/issues"},"dist":{"shasum":"58bbb38749ab58dd2b614f771e17127f43739f21","tarball":"https://registry.npmjs.org/swarpc/-/swarpc-0.2.4.tgz","fileCount":10,"integrity":"sha512-bdYUoQmLBl1kPXFc/uyCifKols32wH11DDdU4J5/jRQPwOUQjXq+jxgyyiyAN7SwhFFXAfrnnCsBJ2Aor3bikA==","signatures":[{"sig":"MEYCIQD+HEd7qcBQYpJ/pVKWB1rU90+U/9vcz8dZ5kC1m64PxAIhAJDwsxwnu+8+J+saGxrulGTp/8iSPf6DbAak1126OrM/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/swarpc@0.2.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":18709},"main":"dist/swarpc.js","type":"module","types":"dist/swarpc.d.ts","gitHead":"c1b57d7acb501e3ba5db09d9f6b00a8e71d20fae","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc","typedoc":"typedoc src/swarpc.ts src/types.ts --readme README.md"},"_npmUser":{"name":"gwennlbh","email":"gwenn.lebihan7@gmail.com"},"repository":{"url":"git+https://github.com/gwennlbh/swarpc.git","type":"git"},"_npmVersion":"11.4.2","description":"Full type-safe RPC library for service worker -- move things off of the UI thread with ease!","directories":{},"_nodeVersion":"24.4.0","dependencies":{"arktype":"^2.1.20"},"_hasShrinkwrap":false,"devDependencies":{"typedoc":"^0.28.7","typescript":"^5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/swarpc_0.2.4_1752265499091_0.44427071925043116","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"swarpc","version":"0.3.0","keywords":["service-workers","sw","rpc","trpc","typesafe"],"author":{"name":"Gwenn Le Bihan","email":"gwenn.lebihan7@gmail.com"},"license":"MIT","_id":"swarpc@0.3.0","maintainers":[{"name":"gwennlbh","email":"gwenn.lebihan7@gmail.com"}],"homepage":"https://github.com/gwennlbh/swarpc#readme","bugs":{"url":"https://github.com/gwennlbh/swarpc/issues"},"dist":{"shasum":"f682d9bc1b0f3202736d948fd9ca5c9c08517156","tarball":"https://registry.npmjs.org/swarpc/-/swarpc-0.3.0.tgz","fileCount":10,"integrity":"sha512-tHZ8Pf1DY3A+nXBsvtn7+lmkrPqKdbufwPQyV47jQo21g+qtGSDAUDCgA5/Tx9U7EllWpxQ4O07JRsr7bX8BDg==","signatures":[{"sig":"MEUCIQDc3vMEi7d825fcSm5WSa0wlS8T5vPH/E3cUgsagpe8LwIgeg6e4Fe87YTQIWpqLU3gImSlrUkkJG/zZal5yYpLOl8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/swarpc@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":19780},"main":"dist/swarpc.js","type":"module","types":"dist/swarpc.d.ts","gitHead":"b97b3ba797a4df5e29d3ad82c5643aca744e29c9","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc","typedoc":"typedoc src/swarpc.ts src/types.ts --readme README.md"},"_npmUser":{"name":"gwennlbh","email":"gwenn.lebihan7@gmail.com"},"repository":{"url":"git+https://github.com/gwennlbh/swarpc.git","type":"git"},"_npmVersion":"11.4.2","description":"Full type-safe RPC library for service worker -- move things off of the UI thread with ease!","directories":{},"_nodeVersion":"24.4.0","dependencies":{"arktype":"^2.1.20"},"_hasShrinkwrap":false,"devDependencies":{"typedoc":"^0.28.7","typescript":"^5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/swarpc_0.3.0_1752355938163_0.9716153708083191","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"swarpc","version":"0.4.0","keywords":["service-workers","sw","rpc","trpc","typesafe"],"author":{"name":"Gwenn Le Bihan","email":"gwenn.lebihan7@gmail.com"},"license":"MIT","_id":"swarpc@0.4.0","maintainers":[{"name":"gwennlbh","email":"gwenn.lebihan7@gmail.com"}],"homepage":"https://github.com/gwennlbh/swarpc#readme","bugs":{"url":"https://github.com/gwennlbh/swarpc/issues"},"dist":{"shasum":"41e8defdff174bd2c4849f1bb62197b8f3e209da","tarball":"https://registry.npmjs.org/swarpc/-/swarpc-0.4.0.tgz","fileCount":10,"integrity":"sha512-4DiftCibtWobznpQhD3R49Ri+0jH3USkZgNDxEnOz3yGDuDT+G3/NVfstmffjeSDXkhnkfryMEGpxoRUWU8GFw==","signatures":[{"sig":"MEUCIGKFv7E3OsadtsY/BsrrGSTA6UNfntyIlgMLNjlxfiZ1AiEA2cEl6MQ2gOIpNNnk4Q+2VBK0XbcRtG3Ep+ggUV9M6vg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/swarpc@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24066},"main":"dist/swarpc.js","type":"module","types":"dist/swarpc.d.ts","gitHead":"dca0b1e4cc634490c41444ea807acc34f612171b","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc","typedoc":"typedoc src/swarpc.ts src/types.ts --readme README.md"},"_npmUser":{"name":"gwennlbh","email":"gwenn.lebihan7@gmail.com"},"repository":{"url":"git+https://github.com/gwennlbh/swarpc.git","type":"git"},"_npmVersion":"11.4.2","description":"Full type-safe RPC library for service worker -- move things off of the UI thread with ease!","directories":{},"_nodeVersion":"24.4.0","dependencies":{"arktype":"^2.1.20"},"_hasShrinkwrap":false,"devDependencies":{"typedoc":"^0.28.7","typescript":"^5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/swarpc_0.4.0_1752357316374_0.40445784684023867","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"swarpc","version":"0.5.0","keywords":["service-workers","sw","rpc","trpc","typesafe"],"author":{"name":"Gwenn Le Bihan","email":"gwenn.lebihan7@gmail.com"},"license":"MIT","_id":"swarpc@0.5.0","maintainers":[{"name":"gwennlbh","email":"gwenn.lebihan7@gmail.com"}],"homepage":"https://github.com/gwennlbh/swarpc#readme","bugs":{"url":"https://github.com/gwennlbh/swarpc/issues"},"dist":{"shasum":"6f37612c1b5e89c4e921a8ef2207034161f11b2b","tarball":"https://registry.npmjs.org/swarpc/-/swarpc-0.5.0.tgz","fileCount":14,"integrity":"sha512-UvfsppnzNO2EG1V5f/Af+FTRPdzIMaC5+YUl/DxPf/XZjsokD6TuhWBruAt9cP2WGrxVmDMzVbQYPWOAncUexA==","signatures":[{"sig":"MEUCIHk3WSyDtSDd314yCISc8Bg0Lpu41aT+5gAWUiKBAtfmAiEAkJx6mN2OdvxLApCZwPmZlmMsJ6DxdjJ+1/B80zSfAws=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/swarpc@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":38764},"main":"dist/swarpc.js","type":"module","types":"dist/swarpc.d.ts","gitHead":"81c93487a48d0139abf3d0024f4fffdf5deb2d4c","scripts":{"dev":"tsc --watch","test":"echo \"Error: no test specified\" && exit 1","build":"tsc","typedoc":"typedoc src/swarpc.ts src/types.ts --readme README.md"},"_npmUser":{"name":"gwennlbh","email":"gwenn.lebihan7@gmail.com"},"repository":{"url":"git+https://github.com/gwennlbh/swarpc.git","type":"git"},"_npmVersion":"11.4.2","description":"Full type-safe RPC library for service worker -- move things off of the UI thread with ease!","directories":{},"_nodeVersion":"24.4.1","dependencies":{"arktype":"^2.1.20"},"_hasShrinkwrap":false,"devDependencies":{"typedoc":"^0.28.7","typescript":"^5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/swarpc_0.5.0_1752932603812_0.16041821885083052","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"swarpc","version":"0.6.0","keywords":["service-workers","sw","rpc","trpc","typesafe"],"author":{"name":"Gwenn Le Bihan","email":"gwenn.lebihan7@gmail.com"},"license":"MIT","_id":"swarpc@0.6.0","maintainers":[{"name":"gwennlbh","email":"gwenn.lebihan7@gmail.com"}],"homepage":"https://github.com/gwennlbh/swarpc#readme","bugs":{"url":"https://github.com/gwennlbh/swarpc/issues"},"dist":{"shasum":"c547281014ea219d7bdc2217c886c67aa31fb202","tarball":"https://registry.npmjs.org/swarpc/-/swarpc-0.6.0.tgz","fileCount":14,"integrity":"sha512-0dAz9J9/Qh8p24WGIk8ZOsofZ9b0Gv0578/NOP6YWQdPzDJgsMuEcZpz802PvLfsCg+XLbp+9gjiUJFO7u/rtg==","signatures":[{"sig":"MEUCIQCgEQIge1BCY0HKMQbIDQDfFtZcvsGkD68l0OlA1UpdgwIgP2SaUpL6Ezm3smiPsetbZMo5vwYRMGppLUmy7Cns0WA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/swarpc@0.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":44244},"main":"dist/swarpc.js","type":"module","types":"dist/swarpc.d.ts","gitHead":"82a453fa110e93ade057463fb369807d2139586a","scripts":{"dev":"tsc --watch","test":"echo \"Error: no test specified\" && exit 1","build":"tsc","typedoc":"typedoc src/swarpc.ts src/types.ts --readme README.md","version":"kacl release && prettier -w CHANGELOG.md && git add CHANGELOG.md"},"_npmUser":{"name":"gwennlbh","email":"gwenn.lebihan7@gmail.com"},"repository":{"url":"git+https://github.com/gwennlbh/swarpc.git","type":"git"},"_npmVersion":"11.4.2","description":"Full type-safe RPC library for service worker -- move things off of the UI thread with ease!","directories":{},"_nodeVersion":"24.4.1","dependencies":{"arktype":"^2.1.20"},"_hasShrinkwrap":false,"devDependencies":{"kacl":"^1.1.1","typedoc":"^0.28.7","prettier":"^3.6.2","typescript":"^5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/swarpc_0.6.0_1752935680710_0.27265110722774355","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"swarpc","version":"0.6.1","keywords":["service-workers","sw","rpc","trpc","typesafe"],"author":{"name":"Gwenn Le Bihan","email":"gwenn.lebihan7@gmail.com"},"license":"MIT","_id":"swarpc@0.6.1","maintainers":[{"name":"gwennlbh","email":"gwenn.lebihan7@gmail.com"}],"homepage":"https://github.com/gwennlbh/swarpc#readme","bugs":{"url":"https://github.com/gwennlbh/swarpc/issues"},"dist":{"shasum":"5563fb91085fadc36e4278b3bdc617452b59c7a0","tarball":"https://registry.npmjs.org/swarpc/-/swarpc-0.6.1.tgz","fileCount":14,"integrity":"sha512-xjvH68Ml24LvLxaDiKZOe9a62k6VZsKoJNbX7tQqM5qzZfjAq84F5XtrKTZqmqKajy9IxH7D+F8qIn6GJiAzwA==","signatures":[{"sig":"MEQCIBWBjEuIGtKfOzwcz8eu2kxjTPX25yuuXax+7fAZpffaAiAmUlgbb24OaEg9sFT2h+QM8VDiMgWsA3NgmDY5OiJ/Rw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/swarpc@0.6.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":44025},"main":"dist/swarpc.js","type":"module","types":"dist/swarpc.d.ts","gitHead":"f2debd60ee2dff86e0879d09f5e71b1674ac0c7d","scripts":{"dev":"tsc --watch","test":"echo \"Error: no test specified\" && exit 1","build":"tsc","typedoc":"typedoc src/swarpc.ts src/types.ts --readme README.md","version":"kacl release && prettier -w CHANGELOG.md && git add CHANGELOG.md"},"_npmUser":{"name":"gwennlbh","email":"gwenn.lebihan7@gmail.com"},"repository":{"url":"git+https://github.com/gwennlbh/swarpc.git","type":"git"},"_npmVersion":"11.4.2","description":"Full type-safe RPC library for service worker -- move things off of the UI thread with ease!","directories":{},"_nodeVersion":"24.4.1","dependencies":{"arktype":"^2.1.20"},"_hasShrinkwrap":false,"devDependencies":{"kacl":"^1.1.1","typedoc":"^0.28.7","prettier":"^3.6.2","typescript":"^5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/swarpc_0.6.1_1752945132360_0.8822433331335551","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"swarpc","version":"0.7.0","keywords":["service-workers","sw","rpc","trpc","typesafe"],"author":{"name":"Gwenn Le Bihan","email":"gwenn.lebihan7@gmail.com"},"license":"MIT","_id":"swarpc@0.7.0","maintainers":[{"name":"gwennlbh","email":"gwenn.lebihan7@gmail.com"}],"homepage":"https://github.com/gwennlbh/swarpc#readme","bugs":{"url":"https://github.com/gwennlbh/swarpc/issues"},"dist":{"shasum":"b42b07516b932bae8e027fc6d546d23cc0ef90ae","tarball":"https://registry.npmjs.org/swarpc/-/swarpc-0.7.0.tgz","fileCount":38,"integrity":"sha512-XOEOiGxcnyJIbo4W839i5KMSf9XCXjOg8B+MwldntAybQzMlPUWjJKTjxU2pLLzIpBh7A5pw0T1d9AaqMV14Xg==","signatures":[{"sig":"MEUCICDpnRmupLUR6uswN+Io9WZ3YCbTWz9naBk+VDbRm/Y3AiEApUCw7NcnX4eheN5W9cTydyfUjg27Joi0LHs5RcLvSLM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/swarpc@0.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":74805},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"8284c6745e20cdb39c942f9e04bdc4c0a115da89","scripts":{"dev":"tsc --watch","test":"vitest","build":"tsc","typedoc":"typedoc src/index.ts src/types.ts --readme README.md","version":"kacl release && prettier -w CHANGELOG.md && git add CHANGELOG.md","typecheck":"tsc --noEmit"},"_npmUser":{"name":"gwennlbh","email":"gwenn.lebihan7@gmail.com"},"repository":{"url":"git+https://github.com/gwennlbh/swarpc.git","type":"git"},"_npmVersion":"11.4.2","description":"Full type-safe RPC library for service worker -- move things off of the UI thread with ease!","directories":{},"_nodeVersion":"24.4.1","dependencies":{"arktype":"^2.1.20"},"_hasShrinkwrap":false,"devDependencies":{"kacl":"^1.1.1","vite":"^7.0.6","vitest":"^3.2.4","typedoc":"^0.28.7","prettier":"^3.6.2","typescript":"^5.8.3","@vitest/web-worker":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/swarpc_0.7.0_1754149659092_0.5666526067648179","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"swarpc","version":"0.7.1","keywords":["service-workers","sw","rpc","trpc","typesafe"],"author":{"name":"Gwenn Le Bihan","email":"gwenn.lebihan7@gmail.com"},"license":"MIT","_id":"swarpc@0.7.1","maintainers":[{"name":"gwennlbh","email":"gwenn.lebihan7@gmail.com"}],"homepage":"https://github.com/gwennlbh/swarpc#readme","bugs":{"url":"https://github.com/gwennlbh/swarpc/issues"},"dist":{"shasum":"b3461180e022ab3fd5188cdadfbef1c8a849d8ea","tarball":"https://registry.npmjs.org/swarpc/-/swarpc-0.7.1.tgz","fileCount":26,"integrity":"sha512-FzGRodv5xMhGulE+8reOnzKrqZqEQwADhK5AlKMaUBGVQGXduLrwnGegJr9lq5RLFsVKMUexdwTVhLm0yxuqbA==","signatures":[{"sig":"MEUCIQC+3G8BujYFsmP7C9MTN3lOsE6nLDNo5eejUFqdguYJbQIgST1V9kBK2VQkEVC1aRGTLyq4tu1hqN3pmaS4u5p4VTI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/swarpc@0.7.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":65784},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"0330b74d7e3bd074e26a998467d0be7c87c41a19","scripts":{"dev":"tsc --watch","test":"vitest","build":"tsc","typedoc":"typedoc src/index.ts src/types.ts --readme README.md","version":"kacl release && prettier -w CHANGELOG.md && git add CHANGELOG.md","typecheck":"tsc --noEmit"},"_npmUser":{"name":"gwennlbh","email":"gwenn.lebihan7@gmail.com"},"repository":{"url":"git+https://github.com/gwennlbh/swarpc.git","type":"git"},"_npmVersion":"11.5.1","description":"Full type-safe RPC library for service worker -- move things off of the UI thread with ease!","directories":{},"_nodeVersion":"24.5.0","dependencies":{"arktype":"^2.1.20"},"_hasShrinkwrap":false,"devDependencies":{"kacl":"^1.1.1","vite":"^7.0.6","vitest":"^3.2.4","typedoc":"^0.28.9","prettier":"^3.6.2","typescript":"^5.9.2","@vitest/web-worker":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/swarpc_0.7.1_1754158056058_0.2965131579559064","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"swarpc","version":"0.8.0","keywords":["service-workers","sw","rpc","trpc","typesafe"],"author":{"name":"Gwenn Le Bihan","email":"gwenn.lebihan7@gmail.com"},"license":"MIT","_id":"swarpc@0.8.0","maintainers":[{"name":"gwennlbh","email":"gwenn.lebihan7@gmail.com"}],"homepage":"https://github.com/gwennlbh/swarpc#readme","bugs":{"url":"https://github.com/gwennlbh/swarpc/issues"},"dist":{"shasum":"daac89f825fa16b73a9f09fcaf611cd8b51389ce","tarball":"https://registry.npmjs.org/swarpc/-/swarpc-0.8.0.tgz","fileCount":26,"integrity":"sha512-PNCxK7CeZYS+24oG642I87iCZVmtZKRKzyf6QblL/yoLe3mDNVP0vsleZJtKOhLcJ18zoSaFeVeDYQLUloA6Vg==","signatures":[{"sig":"MEYCIQD9mfeh7sWzh0Z6LFXQaGd2taQNSrsjlBgvTrSSSUjpzQIhAMtpC2TsV3plcAK46Uo9704uGR+J56y7BoKaIb9X73Ps","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/swarpc@0.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":72962},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"a1f4ebda06c6b1368c4f88521a4fcffdcec9044f","scripts":{"dev":"tsc --watch","test":"vitest","build":"tsc","typedoc":"typedoc","version":"kacl release && prettier -w CHANGELOG.md && git add CHANGELOG.md","typecheck":"tsc --noEmit","typedoc:dev":"nodemon --watch src --watch README.md --watch typedoc.json --watch typedoc.css --exec npm run typedoc:withplugins","typedoc:serve":"npx sirv-cli --dev docs","typedoc:plugins":"node -e \"const fs=require('fs');const p=JSON.parse(fs.readFileSync('typedoc.json')).plugin||[];if(p.length)require('child_process').execSync('npm add --legacy-peer-deps -D '+p.join(' '),{stdio:'inherit'});else console.log('No plugins found');\"","typedoc:withplugins":"npm run typedoc:plugins && npm run typedoc"},"_npmUser":{"name":"gwennlbh","email":"gwenn.lebihan7@gmail.com"},"repository":{"url":"git+https://github.com/gwennlbh/swarpc.git","type":"git"},"_npmVersion":"10.8.2","description":"Full type-safe RPC library for service worker -- move things off of the UI thread with ease!","directories":{},"_nodeVersion":"20.19.4","dependencies":{"arktype":"^2.1.20"},"_hasShrinkwrap":false,"devDependencies":{"kacl":"^1.1.1","vite":"^7.0.6","vitest":"^3.2.4","nodemon":"^3.1.10","typedoc":"^0.28.9","prettier":"^3.6.2","sirv-cli":"^3.0.1","typescript":"^5.9.2","@vitest/web-worker":"^3.2.4","typedoc-plugin-extras":"^4.0.1","typedoc-material-theme":"^1.4.0","typedoc-plugin-dt-links":"^2.0.12","typedoc-plugin-redirect":"^1.2.0","typedoc-plugin-mdn-links":"^5.0.6","typedoc-plugin-inline-sources":"^1.3.0","@8hobbies/typedoc-plugin-plausible":"^2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/swarpc_0.8.0_1754179675981_0.8021699475636359","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"swarpc","version":"0.9.0","keywords":["service-workers","sw","rpc","trpc","typesafe"],"author":{"name":"Gwenn Le Bihan","email":"gwenn.lebihan7@gmail.com"},"license":"MIT","_id":"swarpc@0.9.0","maintainers":[{"name":"gwennlbh","email":"gwenn.lebihan7@gmail.com"}],"homepage":"https://github.com/gwennlbh/swarpc#readme","bugs":{"url":"https://github.com/gwennlbh/swarpc/issues"},"dist":{"shasum":"9d8917bda6473d89953b0b6d8d07f82479fcb3ee","tarball":"https://registry.npmjs.org/swarpc/-/swarpc-0.9.0.tgz","fileCount":26,"integrity":"sha512-5NX7+BujHosd423kofkew4+HjkTBl2t0vQ4ioQWGvdweUxfnNSuq+N14E9Dmgxp+lOqnhd5pbVrHkMNTqZSHog==","signatures":[{"sig":"MEQCID3TATZ466MJDyDDwbqydc3a+lhd3/B03TXwMwH6b0BjAiAuNzD2Rsg7l0MEtgic84/5oBaU7YzvzT/Po6lOrvkFjA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/swarpc@0.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":74563},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","volta":{"npm":"11.5.2","node":"22.18.0"},"gitHead":"b301b964a07c0f2ab07cdca7c93071465d8dbde4","scripts":{"dev":"tsc --watch","test":"vitest","build":"tsc","typedoc":"typedoc","version":"kacl release && prettier -w CHANGELOG.md && git add CHANGELOG.md","typecheck":"tsc --noEmit","typedoc:dev":"nodemon --watch src --watch README.md --watch typedoc.json --watch typedoc.css --exec npm run typedoc:withplugins","typedoc:serve":"npx sirv-cli --dev docs","typedoc:plugins":"node -e \"const fs=require('fs');const p=JSON.parse(fs.readFileSync('typedoc.json')).plugin||[];if(p.length)require('child_process').execSync('npm add --legacy-peer-deps -D '+p.join(' '),{stdio:'inherit'});else console.log('No plugins found');\"","typedoc:withplugins":"npm run typedoc:plugins && npm run typedoc"},"_npmUser":{"name":"gwennlbh","email":"gwenn.lebihan7@gmail.com"},"repository":{"url":"git+https://github.com/gwennlbh/swarpc.git","type":"git"},"_npmVersion":"10.9.3","description":"Full type-safe RPC library for service worker -- move things off of the UI thread with ease!","directories":{},"_nodeVersion":"22.18.0","dependencies":{"arktype":"^2.1.20"},"_hasShrinkwrap":false,"devDependencies":{"kacl":"^1.1.1","vite":"^7.0.6","vitest":"^3.2.4","nodemon":"^3.1.10","typedoc":"^0.28.9","prettier":"^3.6.2","sirv-cli":"^3.0.1","typescript":"^5.9.2","@vitest/web-worker":"^3.2.4","typedoc-plugin-extras":"^4.0.1","typedoc-material-theme":"^1.4.0","typedoc-plugin-dt-links":"^2.0.12","typedoc-plugin-redirect":"^1.2.0","typedoc-plugin-mdn-links":"^5.0.6","typedoc-plugin-inline-sources":"^1.3.0","@8hobbies/typedoc-plugin-plausible":"^2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/swarpc_0.9.0_1754183774141_0.4793426538267651","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"swarpc","version":"0.10.0","keywords":["service-workers","sw","rpc","trpc","typesafe"],"author":{"name":"Gwenn Le Bihan","email":"gwenn.lebihan7@gmail.com"},"license":"MIT","_id":"swarpc@0.10.0","maintainers":[{"name":"gwennlbh","email":"gwenn.lebihan7@gmail.com"}],"homepage":"https://github.com/gwennlbh/swarpc#readme","bugs":{"url":"https://github.com/gwennlbh/swarpc/issues"},"dist":{"shasum":"7e8240ef11a9e6f35b1bed4957ec5636d0b20b81","tarball":"https://registry.npmjs.org/swarpc/-/swarpc-0.10.0.tgz","fileCount":26,"integrity":"sha512-kuxI9nJcnRlqrxqd2GfnVFFiPTZ6J3QGik7oEKEEGBRhBcnbJ8J2Rt6Fc6BcW/j8z8r1S3QZIsmgZf4wnV+Ecg==","signatures":[{"sig":"MEYCIQD9mXp9/6zmZBQKspLiC9Xc6cECesDfoUtwlziOEz8v4AIhAN5QWk4ic0CBDE1YYV7Un5xQD1uDiGvwhKn82qx/6BBj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/swarpc@0.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":85320},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","volta":{"npm":"11.5.2","node":"22.18.0"},"gitHead":"651b1f81cb42395ef10476e852a5acf6acc71d14","scripts":{"dev":"tsc --watch","test":"vitest","build":"tsc","typedoc":"typedoc","version":"kacl release && prettier -w CHANGELOG.md && git add CHANGELOG.md","typecheck":"tsc --noEmit","typedoc:dev":"nodemon --watch src --watch README.md --watch typedoc.json --watch typedoc.css --exec npm run typedoc:withplugins","typedoc:serve":"npx sirv-cli --dev docs","typedoc:plugins":"node -e \"const fs=require('fs');const p=JSON.parse(fs.readFileSync('typedoc.json')).plugin||[];if(p.length)require('child_process').execSync('npm add --legacy-peer-deps -D '+p.join(' '),{stdio:'inherit'});else console.log('No plugins found');\"","typedoc:withplugins":"npm run typedoc:plugins && npm run typedoc"},"_npmUser":{"name":"gwennlbh","email":"gwenn.lebihan7@gmail.com"},"repository":{"url":"git+https://github.com/gwennlbh/swarpc.git","type":"git"},"_npmVersion":"10.9.3","description":"Full type-safe RPC library for service worker -- move things off of the UI thread with ease!","directories":{},"_nodeVersion":"22.18.0","dependencies":{"arktype":"^2.1.20"},"_hasShrinkwrap":false,"devDependencies":{"kacl":"^1.1.1","vite":"^7.0.6","vitest":"^3.2.4","nodemon":"^3.1.10","typedoc":"^0.28.9","prettier":"^3.6.2","sirv-cli":"^3.0.1","typescript":"^5.9.2","@vitest/web-worker":"^3.2.4","typedoc-plugin-extras":"^4.0.1","typedoc-material-theme":"^1.4.0","typedoc-plugin-dt-links":"^2.0.13","typedoc-plugin-redirect":"^1.2.0","typedoc-plugin-mdn-links":"^5.0.7","typedoc-plugin-inline-sources":"^1.3.0","@8hobbies/typedoc-plugin-plausible":"^2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/swarpc_0.10.0_1754221540501_0.4174494769061272","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"swarpc","version":"0.11.0","keywords":["service-workers","sw","rpc","trpc","typesafe"],"author":{"name":"Gwenn Le Bihan","email":"gwenn.lebihan7@gmail.com"},"license":"MIT","_id":"swarpc@0.11.0","maintainers":[{"name":"gwennlbh","email":"gwenn.lebihan7@gmail.com"}],"homepage":"https://github.com/gwennlbh/swarpc#readme","bugs":{"url":"https://github.com/gwennlbh/swarpc/issues"},"dist":{"shasum":"1648afbabcf6a14f212ccbddec5dce688b856bea","tarball":"https://registry.npmjs.org/swarpc/-/swarpc-0.11.0.tgz","fileCount":30,"integrity":"sha512-YX+c2cVdxbE6s+vrgMaKFa9s1fntLgnyaXxi7Ovnxu++E5EU8YMOQqdUVM4SmlO+6RfxEnWv+uq61vO60gtp3Q==","signatures":[{"sig":"MEYCIQCUIiCA5r5nEDHyOhJPOlgDaZWpkRziW5khVajI3PslYwIhAK2EmLFzehsbb4OmsXDZikSGzw3+sUpTkwKtu4TMAKn3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/swarpc@0.11.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":96140},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","volta":{"npm":"11.5.2","node":"22.18.0"},"gitHead":"ca204fceabe4402b692400497d47f3a06165f271","scripts":{"dev":"tsc --watch","test":"vitest","build":"tsc","typedoc":"typedoc","version":"kacl release && prettier -w CHANGELOG.md && git add CHANGELOG.md","typecheck":"tsc --noEmit","typedoc:dev":"nodemon --watch src --watch README.md --watch typedoc.json --watch typedoc.css --exec npm run typedoc:withplugins","typedoc:serve":"npx sirv-cli --dev docs","typedoc:plugins":"node -e \"const fs=require('fs');const p=JSON.parse(fs.readFileSync('typedoc.json')).plugin||[];if(p.length)require('child_process').execSync('npm add --legacy-peer-deps -D '+p.join(' '),{stdio:'inherit'});else console.log('No plugins found');\"","typedoc:withplugins":"npm run typedoc:plugins && npm run typedoc"},"_npmUser":{"name":"gwennlbh","email":"gwenn.lebihan7@gmail.com"},"repository":{"url":"git+https://github.com/gwennlbh/swarpc.git","type":"git"},"_npmVersion":"10.9.3","description":"Full type-safe RPC library for service worker -- move things off of the UI thread with ease!","directories":{},"_nodeVersion":"22.18.0","dependencies":{"arktype":"^2.1.20"},"_hasShrinkwrap":false,"devDependencies":{"kacl":"^1.1.1","vite":"^7.1.3","vitest":"^3.2.4","nodemon":"^3.1.10","typedoc":"^0.28.11","prettier":"^3.6.2","sirv-cli":"^3.0.1","typescript":"^5.9.2","@vitest/web-worker":"^3.2.4","typedoc-plugin-extras":"^4.0.1","typedoc-material-theme":"^1.4.0","typedoc-plugin-dt-links":"^2.0.16","typedoc-plugin-redirect":"^1.2.0","typedoc-plugin-mdn-links":"^5.0.9","typedoc-plugin-inline-sources":"^1.3.0","@8hobbies/typedoc-plugin-plausible":"^2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/swarpc_0.11.0_1757272369222_0.08392156781379168","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"swarpc","version":"0.12.0","keywords":["service-workers","sw","rpc","trpc","typesafe"],"author":{"name":"Gwenn Le Bihan","email":"gwenn.lebihan7@gmail.com"},"license":"MIT","_id":"swarpc@0.12.0","maintainers":[{"name":"gwennlbh","email":"gwenn.lebihan7@gmail.com"}],"homepage":"https://github.com/gwennlbh/swarpc#readme","bugs":{"url":"https://github.com/gwennlbh/swarpc/issues"},"dist":{"shasum":"3207b8ca0450d27d7b6da0df790b31216b9b1f1d","tarball":"https://registry.npmjs.org/swarpc/-/swarpc-0.12.0.tgz","fileCount":42,"integrity":"sha512-wSmNXsfzDg51452aIMW6/9Gf3+TiEJniKG/UQydVhdmHs6dnY86cwPRLUGRNMI1T0Fn3qrrfXKfYV6DO/70eyQ==","signatures":[{"sig":"MEYCIQCSF6R7Ty3JRPZUtDzpWcMLp2SccJbl5022+qNcEuh6uAIhAMolheAl4kxaB8zOC92sX3tGexwXyFI4CaSUJQ/KhOWf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/swarpc@0.12.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":113921},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","volta":{"npm":"11.6.0","node":"24.7.0"},"gitHead":"fc9b597311c805d0d3435db21645755e8da274f1","scripts":{"dev":"tsc --watch","test":"vitest","build":"tsc","check":"oxlint","prepare":"husky","typedoc":"typedoc","version":"kacl release && prettier -w CHANGELOG.md && git add CHANGELOG.md","typecheck":"tsc --noEmit","typedoc:dev":"nodemon --watch src --watch README.md --watch typedoc.json --watch typedoc.css --exec npm run typedoc:withplugins","typedoc:serve":"npx sirv-cli --dev docs","typedoc:plugins":"node -e \"const fs=require('fs');const p=JSON.parse(fs.readFileSync('typedoc.json')).plugin||[];if(p.length)require('child_process').execSync('npm add --legacy-peer-deps -D '+p.join(' '),{stdio:'inherit'});else console.log('No plugins found');\"","typedoc:withplugins":"npm run typedoc:plugins && npm run typedoc"},"_npmUser":{"name":"gwennlbh","email":"gwenn.lebihan7@gmail.com"},"repository":{"url":"git+https://github.com/gwennlbh/swarpc.git","type":"git"},"_npmVersion":"11.5.1","description":"Full type-safe RPC library for service worker -- move things off of the UI thread with ease!","directories":{},"lint-staged":{"*.{ts,js,md,json,yaml,yml}":["oxlint --fix","prettier --write"]},"_nodeVersion":"24.7.0","dependencies":{"arktype":"^2.1.22"},"_hasShrinkwrap":false,"devDependencies":{"kacl":"^1.1.1","knip":"^5.63.1","vite":"^7.1.4","husky":"^9.1.7","oxlint":"^1.14.0","vitest":"^3.2.4","nodemon":"^3.1.10","typedoc":"^0.28.12","prettier":"^3.6.2","sirv-cli":"^3.0.1","pkg-pr-new":"^0.0.59","typescript":"^5.9.2","lint-staged":"^16.1.6","@vitest/web-worker":"^3.2.4","typedoc-plugin-extras":"^4.0.1","typedoc-material-theme":"^1.4.0","typedoc-plugin-dt-links":"^2.0.18","typedoc-plugin-redirect":"^1.2.0","typedoc-plugin-mdn-links":"^5.0.9","typedoc-plugin-inline-sources":"^1.3.0","@8hobbies/typedoc-plugin-plausible":"^2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/swarpc_0.12.0_1757513673804_0.7277208080896329","host":"s3://npm-registry-packages-npm-production"}},"0.13.0":{"name":"swarpc","version":"0.13.0","keywords":["service-workers","sw","rpc","trpc","typesafe"],"author":{"name":"Gwenn Le Bihan","email":"gwenn.lebihan7@gmail.com"},"license":"MIT","_id":"swarpc@0.13.0","maintainers":[{"name":"gwennlbh","email":"gwenn.lebihan7@gmail.com"}],"homepage":"https://github.com/gwennlbh/swarpc#readme","bugs":{"url":"https://github.com/gwennlbh/swarpc/issues"},"dist":{"shasum":"edc3c9497f4861ed9cc85bd96d70ca6ce049f27b","tarball":"https://registry.npmjs.org/swarpc/-/swarpc-0.13.0.tgz","fileCount":42,"integrity":"sha512-RVPNY9T4QEVu7qJCaBUZ/q74hHuStr9fvXGaBuxlCJAw8RH/SzUf2EtrtpnbMjB3l/YkDAi3L0mD5nZJSWwVhQ==","signatures":[{"sig":"MEUCIQChed64F3aT8o7E0+QsJiG533swwTnrXt5NruyC7nhfzAIgD9OjfM+VI9X83sVw9o7MCmcMZX56ZoOOAjJyf6uReZs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/swarpc@0.13.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":115863},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","volta":{"npm":"11.6.0","node":"24.7.0"},"gitHead":"b125c33dbbc5dcf51a5538e421f5b49f79405f1a","scripts":{"dev":"tsc --watch","test":"vitest","build":"tsc","check":"oxlint","prepare":"husky","typedoc":"typedoc","version":"kacl release && prettier -w CHANGELOG.md && git add CHANGELOG.md","typecheck":"tsc --noEmit","typedoc:dev":"nodemon --watch src --watch README.md --watch typedoc.json --watch typedoc.css --exec npm run typedoc:withplugins","typedoc:serve":"npx sirv-cli --dev docs","typedoc:plugins":"node -e \"const fs=require('fs');const p=JSON.parse(fs.readFileSync('typedoc.json')).plugin||[];if(p.length)require('child_process').execSync('npm add --legacy-peer-deps -D '+p.join(' '),{stdio:'inherit'});else console.log('No plugins found');\"","typedoc:withplugins":"npm run typedoc:plugins && npm run typedoc"},"_npmUser":{"name":"gwennlbh","email":"gwenn.lebihan7@gmail.com"},"repository":{"url":"git+https://github.com/gwennlbh/swarpc.git","type":"git"},"_npmVersion":"11.5.1","description":"Full type-safe RPC library for service worker -- move things off of the UI thread with ease!","directories":{},"lint-staged":{"*.{ts,js,md,json,yaml,yml}":["oxlint --fix","prettier --write"]},"_nodeVersion":"24.7.0","_hasShrinkwrap":false,"devDependencies":{"kacl":"^1.1.1","knip":"^5.63.1","vite":"^7.1.4","husky":"^9.1.7","oxlint":"^1.14.0","vitest":"^3.2.4","nodemon":"^3.1.10","typedoc":"^0.28.12","date-fns":"^4.1.0","prettier":"^3.6.2","sirv-cli":"^3.0.1","pkg-pr-new":"^0.0.59","typescript":"^5.9.2","lint-staged":"^16.1.6","@playwright/test":"^1.55.0","@vitest/web-worker":"^3.2.4","typedoc-plugin-extras":"^4.0.1","typedoc-material-theme":"^1.4.0","typedoc-plugin-dt-links":"^2.0.18","typedoc-plugin-redirect":"^1.2.0","typedoc-plugin-mdn-links":"^5.0.9","typedoc-plugin-inline-sources":"^1.3.0","@8hobbies/typedoc-plugin-plausible":"^2.2.0"},"peerDependencies":{"arktype":"^2.1.22"},"_npmOperationalInternal":{"tmp":"tmp/swarpc_0.13.0_1757769223667_0.9074874376856428","host":"s3://npm-registry-packages-npm-production"}},"0.14.0":{"name":"swarpc","version":"0.14.0","keywords":["service-workers","sw","rpc","trpc","typesafe"],"author":{"name":"Gwenn Le Bihan","email":"gwenn.lebihan7@gmail.com"},"license":"MIT","_id":"swarpc@0.14.0","maintainers":[{"name":"gwennlbh","email":"gwenn.lebihan7@gmail.com"}],"homepage":"https://github.com/gwennlbh/swarpc#readme","bugs":{"url":"https://github.com/gwennlbh/swarpc/issues"},"dist":{"shasum":"6b624385e32566b32cabbd1dd0ccd5d2eae2678c","tarball":"https://registry.npmjs.org/swarpc/-/swarpc-0.14.0.tgz","fileCount":42,"integrity":"sha512-uKmRd68wglC/ibr9M21yVIw6+iJTqZyA41os/p76vgpqLwmPE6jz56W0tPGeBqsi2l0fHKZMLePzkeSkE+B0ew==","signatures":[{"sig":"MEUCIEv4dFP9u5jUIuShkVMWBXFl2uk7q2MAAQ0lqnvUfwAkAiEA5cK1GvBP8Eqpf6z5Af91UA2jQraYsddtxxfG80bxr6g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/swarpc@0.14.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":117754},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","volta":{"npm":"11.6.0","node":"24.7.0"},"gitHead":"e87125db6ac7c4a5eaf348c9eaeaa127938d2a2b","scripts":{"dev":"tsc --watch","test":"vitest","build":"tsc","check":"oxlint","prepare":"husky","typedoc":"typedoc","version":"kacl release && prettier -w CHANGELOG.md && git add CHANGELOG.md","typecheck":"tsc --noEmit","typedoc:dev":"nodemon --watch src --watch README.md --watch typedoc.json --watch typedoc.css --exec npm run typedoc:withplugins","typedoc:serve":"npx sirv-cli --dev docs","typedoc:plugins":"node -e \"const fs=require('fs');const p=JSON.parse(fs.readFileSync('typedoc.json')).plugin||[];if(p.length)require('child_process').execSync('npm add --legacy-peer-deps -D '+p.join(' '),{stdio:'inherit'});else console.log('No plugins found');\"","typedoc:withplugins":"npm run typedoc:plugins && npm run typedoc"},"_npmUser":{"name":"gwennlbh","email":"gwenn.lebihan7@gmail.com"},"repository":{"url":"git+https://github.com/gwennlbh/swarpc.git","type":"git"},"_npmVersion":"11.5.1","description":"Full type-safe RPC library for service worker -- move things off of the UI thread with ease!","directories":{},"lint-staged":{"*.{ts,js,md,json,yaml,yml}":["oxlint --fix","prettier --write"]},"_nodeVersion":"24.7.0","_hasShrinkwrap":false,"devDependencies":{"kacl":"^1.1.1","knip":"^5.63.1","vite":"^7.1.4","husky":"^9.1.7","oxlint":"^1.14.0","vitest":"^3.2.4","nodemon":"^3.1.10","typedoc":"^0.28.12","date-fns":"^4.1.0","prettier":"^3.6.2","sirv-cli":"^3.0.1","pkg-pr-new":"^0.0.59","typescript":"^5.9.2","lint-staged":"^16.1.6","@playwright/test":"^1.55.0","@vitest/web-worker":"^3.2.4","typedoc-plugin-extras":"^4.0.1","typedoc-material-theme":"^1.4.0","typedoc-plugin-dt-links":"^2.0.18","typedoc-plugin-redirect":"^1.2.0","typedoc-plugin-mdn-links":"^5.0.9","typedoc-plugin-inline-sources":"^1.3.0","@8hobbies/typedoc-plugin-plausible":"^2.2.0"},"peerDependencies":{"arktype":"^2.1.22"},"_npmOperationalInternal":{"tmp":"tmp/swarpc_0.14.0_1757772113915_0.06645075648575749","host":"s3://npm-registry-packages-npm-production"}},"0.15.0":{"name":"swarpc","version":"0.15.0","keywords":["service-workers","sw","rpc","trpc","typesafe"],"author":{"name":"Gwenn Le Bihan","email":"gwenn.lebihan7@gmail.com"},"license":"MIT","_id":"swarpc@0.15.0","maintainers":[{"name":"gwennlbh","email":"gwenn.lebihan7@gmail.com"}],"homepage":"https://github.com/gwennlbh/swarpc#readme","bugs":{"url":"https://github.com/gwennlbh/swarpc/issues"},"dist":{"shasum":"e6e6cbc6cc04d24f6b1a747f7acca30c3dc8dd8f","tarball":"https://registry.npmjs.org/swarpc/-/swarpc-0.15.0.tgz","fileCount":46,"integrity":"sha512-4a1DpIU9CydRwKru5bzRi2R489mOpPLGxNND2Mlhnlgg/E63UuC+pqIIECVUfn60EOqqFTl897s48elxlHuYOQ==","signatures":[{"sig":"MEUCIQDbm/lKegOaIKVXyP3M5idf2RYFJnHA6Uf2iBgvtHflCwIgEEMIP/jIM/WRBarsVaAkqKcwjj8OdyuFNuax2jJA2j0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/swarpc@0.15.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":119919},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","volta":{"npm":"11.6.2","node":"24.11.0"},"gitHead":"7a7cbb3e8794023d5980ef6e34ce0bc8a383a90c","scripts":{"dev":"tsc --watch","test":"vitest","build":"tsc","check":"oxlint","prepare":"husky","typedoc":"typedoc","version":"kacl release && prettier -w CHANGELOG.md && git add CHANGELOG.md","typecheck":"tsc --noEmit","typedoc:dev":"nodemon --watch src --watch README.md --watch typedoc.json --watch typedoc.css --exec npm run typedoc:withplugins","typedoc:serve":"npx sirv-cli --dev docs","typedoc:plugins":"node -e \"const fs=require('fs');const p=JSON.parse(fs.readFileSync('typedoc.json')).plugin||[];if(p.length)require('child_process').execSync('npm add --legacy-peer-deps -D '+p.join(' '),{stdio:'inherit'});else console.log('No plugins found');\"","typedoc:withplugins":"npm run typedoc:plugins && npm run typedoc"},"_npmUser":{"name":"gwennlbh","email":"gwenn.lebihan7@gmail.com"},"repository":{"url":"git+https://github.com/gwennlbh/swarpc.git","type":"git"},"_npmVersion":"11.6.1","description":"Full type-safe RPC library for service worker -- move things off of the UI thread with ease!","directories":{},"lint-staged":{"*.{ts,js,md,json,yaml,yml}":["oxlint --fix","prettier --write"]},"_nodeVersion":"24.11.0","dependencies":{"arktype":"^2.1.25"},"_hasShrinkwrap":false,"devDependencies":{"kacl":"^1.1.1","knip":"^5.67.0","vite":"^7.1.12","husky":"^9.1.7","oxlint":"^1.25.0","vitest":"^4.0.6","nodemon":"^3.1.10","typedoc":"^0.28.14","date-fns":"^4.1.0","prettier":"^3.6.2","sirv-cli":"^3.0.1","pkg-pr-new":"^0.0.60","typescript":"^5.9.3","lint-staged":"^16.2.6","@playwright/test":"^1.56.1","@vitest/web-worker":"^4.0.6","typedoc-plugin-extras":"^4.0.1","typedoc-material-theme":"^1.4.1","typedoc-plugin-dt-links":"^2.0.27","typedoc-plugin-redirect":"^1.2.1","typedoc-plugin-mdn-links":"^5.0.10","typedoc-plugin-inline-sources":"^1.3.0","@8hobbies/typedoc-plugin-plausible":"^2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/swarpc_0.15.0_1762262219792_0.8829283489782804","host":"s3://npm-registry-packages-npm-production"}},"0.15.1":{"name":"swarpc","version":"0.15.1","keywords":["service-workers","sw","rpc","trpc","typesafe"],"author":{"name":"Gwenn Le Bihan","email":"gwenn.lebihan7@gmail.com"},"license":"MIT","_id":"swarpc@0.15.1","maintainers":[{"name":"gwennlbh","email":"gwenn.lebihan7@gmail.com"}],"homepage":"https://github.com/gwennlbh/swarpc#readme","bugs":{"url":"https://github.com/gwennlbh/swarpc/issues"},"dist":{"shasum":"552b176312f2aa1f2c18e05838987f39c940c8f4","tarball":"https://registry.npmjs.org/swarpc/-/swarpc-0.15.1.tgz","fileCount":46,"integrity":"sha512-zAtf4n9uxEzHssH15fO+HEHFrz2YAPMVzjtfpd4w7pUKAgIa6Z+gKPDwugQHgjhzUphmoMxq1eYyZ/6gudNLVg==","signatures":[{"sig":"MEUCIQCHj2MPxvbR1GnIfjT2JegxWnHXPV4zdtEeS8mFofjYFgIgKWPxa0MoHbBOcudSEbFb5RHKXOL9V46uu/f0/jDLhfE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/swarpc@0.15.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":120247},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","volta":{"npm":"11.6.2","node":"24.11.0"},"gitHead":"08ed9f32601f8aded2007530f0e8ef685ec4821b","scripts":{"dev":"tsc --watch","test":"vitest","build":"tsc","check":"oxlint","prepare":"husky","typedoc":"typedoc","version":"kacl release && prettier -w CHANGELOG.md && git add CHANGELOG.md","typecheck":"tsc --noEmit","typedoc:dev":"nodemon --watch src --watch README.md --watch typedoc.json --watch typedoc.css --exec npm run typedoc:withplugins","typedoc:serve":"npx sirv-cli --dev docs","typedoc:plugins":"node -e \"const fs=require('fs');const p=JSON.parse(fs.readFileSync('typedoc.json')).plugin||[];if(p.length)require('child_process').execSync('npm add --legacy-peer-deps -D '+p.join(' '),{stdio:'inherit'});else console.log('No plugins found');\"","typedoc:withplugins":"npm run typedoc:plugins && npm run typedoc"},"_npmUser":{"name":"gwennlbh","email":"gwenn.lebihan7@gmail.com"},"repository":{"url":"git+https://github.com/gwennlbh/swarpc.git","type":"git"},"_npmVersion":"11.6.1","description":"Full type-safe RPC library for service worker -- move things off of the UI thread with ease!","directories":{},"lint-staged":{"*.{ts,js,md,json,yaml,yml}":["oxlint --fix","prettier --write"]},"_nodeVersion":"24.11.0","dependencies":{"arktype":"^2.1.25"},"_hasShrinkwrap":false,"devDependencies":{"kacl":"^1.1.1","knip":"^5.67.0","vite":"^7.1.12","husky":"^9.1.7","oxlint":"^1.25.0","vitest":"^4.0.6","nodemon":"^3.1.10","typedoc":"^0.28.14","date-fns":"^4.1.0","prettier":"^3.6.2","sirv-cli":"^3.0.1","pkg-pr-new":"^0.0.60","typescript":"^5.9.3","lint-staged":"^16.2.6","@playwright/test":"^1.56.1","@vitest/web-worker":"^4.0.6","typedoc-plugin-extras":"^4.0.1","typedoc-material-theme":"^1.4.1","typedoc-plugin-dt-links":"^2.0.27","typedoc-plugin-redirect":"^1.2.1","typedoc-plugin-mdn-links":"^5.0.10","typedoc-plugin-inline-sources":"^1.3.0","@8hobbies/typedoc-plugin-plausible":"^2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/swarpc_0.15.1_1762264034580_0.6844944364615009","host":"s3://npm-registry-packages-npm-production"}},"0.16.0":{"name":"swarpc","version":"0.16.0","keywords":["service-workers","sw","rpc","trpc","typesafe"],"author":{"name":"Gwenn Le Bihan","email":"gwenn.lebihan7@gmail.com"},"license":"MIT","_id":"swarpc@0.16.0","maintainers":[{"name":"gwennlbh","email":"gwenn.lebihan7@gmail.com"}],"homepage":"https://github.com/gwennlbh/swarpc#readme","bugs":{"url":"https://github.com/gwennlbh/swarpc/issues"},"dist":{"shasum":"3d76f32ecc32be2f4a338f5104270c4373245f95","tarball":"https://registry.npmjs.org/swarpc/-/swarpc-0.16.0.tgz","fileCount":24,"integrity":"sha512-op4NgkMZj/BKAue3JEVL11pRmezYw80SWbfXfZmdroqac/GVmfUqllE5u4Dr4pDIXuludhEflJeuvNT/ZGwchw==","signatures":[{"sig":"MEYCIQDEzNexcdypD1zvdQr4Hf22NoZ2eo9c5bMF/sWQXUn9zgIhALtda6Ttv00JYrs6NBZYWGcNz1qC6dHd/Hil873xknGE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/swarpc@0.16.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":49293},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","volta":{"npm":"11.6.2","node":"24.11.0"},"gitHead":"f889fe601f79c3e8a43092ab0289960d55119ee3","scripts":{"dev":"tsc --watch","test":"vitest","build":"tsc --removeComments --declaration false && tsc --emitDeclarationOnly","check":"oxlint","prepare":"husky","typedoc":"typedoc","version":"kacl release && prettier -w CHANGELOG.md && git add CHANGELOG.md","typecheck":"tsc --noEmit","typedoc:dev":"nodemon --watch src --watch README.md --watch typedoc.json --watch typedoc.css --exec npm run typedoc:withplugins","typedoc:serve":"npx sirv-cli --dev docs","typedoc:plugins":"node -e \"const fs=require('fs');const p=JSON.parse(fs.readFileSync('typedoc.json')).plugin||[];if(p.length)require('child_process').execSync('npm add --legacy-peer-deps -D '+p.join(' '),{stdio:'inherit'});else console.log('No plugins found');\"","typedoc:withplugins":"npm run typedoc:plugins && npm run typedoc"},"_npmUser":{"name":"gwennlbh","email":"gwenn.lebihan7@gmail.com"},"repository":{"url":"git+https://github.com/gwennlbh/swarpc.git","type":"git"},"size-limit":[{"path":"dist/index.js","limit":"5 kB"}],"_npmVersion":"11.6.1","description":"Full type-safe RPC library for service worker -- move things off of the UI thread with ease!","directories":{},"lint-staged":{"*.{ts,js,md,json,yaml,yml}":["oxlint --fix","prettier --write"]},"_nodeVersion":"24.11.0","_hasShrinkwrap":false,"devDependencies":{"kacl":"^1.1.1","knip":"^5.67.0","vite":"^7.1.12","husky":"^9.1.7","oxlint":"^1.25.0","vitest":"^4.0.6","arktype":"^2.1.25","nodemon":"^3.1.10","typedoc":"^0.28.14","date-fns":"^4.1.0","prettier":"^3.6.2","sirv-cli":"^3.0.1","pkg-pr-new":"^0.0.60","size-limit":"^11.2.0","typescript":"^5.9.3","lint-staged":"^16.2.6","@playwright/test":"^1.56.1","@vitest/web-worker":"^4.0.6","typedoc-plugin-extras":"^4.0.1","typedoc-material-theme":"^1.4.1","@size-limit/esbuild-why":"^11.2.0","typedoc-plugin-dt-links":"^2.0.27","typedoc-plugin-redirect":"^1.2.1","typedoc-plugin-mdn-links":"^5.0.10","@size-limit/preset-small-lib":"^11.2.0","typedoc-plugin-inline-sources":"^1.3.0","@8hobbies/typedoc-plugin-plausible":"^2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/swarpc_0.16.0_1762686344540_0.24075913641928803","host":"s3://npm-registry-packages-npm-production"}},"0.16.1":{"name":"swarpc","version":"0.16.1","keywords":["service-workers","sw","rpc","trpc","typesafe"],"author":{"name":"Gwenn Le Bihan","email":"gwenn.lebihan7@gmail.com"},"license":"MIT","_id":"swarpc@0.16.1","maintainers":[{"name":"gwennlbh","email":"gwenn.lebihan7@gmail.com"}],"homepage":"https://github.com/gwennlbh/swarpc#readme","bugs":{"url":"https://github.com/gwennlbh/swarpc/issues"},"dist":{"shasum":"a5e5f877bbcb8aa1103cb0210df597e0b76b0dd3","tarball":"https://registry.npmjs.org/swarpc/-/swarpc-0.16.1.tgz","fileCount":24,"integrity":"sha512-DdvgFsCWWyM+A/KZshnNnA1GQZjZopz8/UHxQR+pu3VodMlcc5Cghlkvv2vS7PZGX0wCRSRKkW0uXOehjjqrXw==","signatures":[{"sig":"MEQCIHdchchbFQb09TLqxyKgpf0FMCqSrxfFXS9gmkvSf5UAAiAeY1m1Y3Efrd6Yhtfw4OtmsqxeXUPAabCweYjDbCWfDw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/swarpc@0.16.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":49293},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","volta":{"npm":"11.6.2","node":"24.11.0"},"gitHead":"2608edfba7c187f1f787074fc46468c6c2a46694","scripts":{"dev":"tsc --watch","test":"vitest","build":"tsc --removeComments --declaration false && tsc --emitDeclarationOnly","check":"oxlint","prepare":"husky","typedoc":"typedoc","version":"kacl release && prettier -w CHANGELOG.md && git add CHANGELOG.md","typecheck":"tsc --noEmit","typedoc:dev":"nodemon --watch src --watch README.md --watch typedoc.json --watch typedoc.css --exec npm run typedoc:withplugins","typedoc:serve":"npx sirv-cli --dev docs","typedoc:plugins":"node -e \"const fs=require('fs');const p=JSON.parse(fs.readFileSync('typedoc.json')).plugin||[];if(p.length)require('child_process').execSync('npm add --legacy-peer-deps -D '+p.join(' '),{stdio:'inherit'});else console.log('No plugins found');\"","typedoc:withplugins":"npm run typedoc:plugins && npm run typedoc"},"_npmUser":{"name":"gwennlbh","email":"gwenn.lebihan7@gmail.com"},"repository":{"url":"git+https://github.com/gwennlbh/swarpc.git","type":"git"},"size-limit":[{"path":"dist/index.js","limit":"5 kB"}],"_npmVersion":"11.6.1","description":"Full type-safe RPC library for service worker -- move things off of the UI thread with ease!","directories":{},"lint-staged":{"*.{ts,js,md,json,yaml,yml}":["oxlint --fix","prettier --write"]},"_nodeVersion":"24.11.0","_hasShrinkwrap":false,"devDependencies":{"kacl":"^1.1.1","knip":"^5.68.0","vite":"^7.2.2","husky":"^9.1.7","oxlint":"^1.27.0","vitest":"^4.0.8","arktype":"^2.1.25","nodemon":"^3.1.10","typedoc":"^0.28.14","date-fns":"^4.1.0","prettier":"^3.6.2","sirv-cli":"^3.0.1","pkg-pr-new":"^0.0.60","size-limit":"^11.2.0","typescript":"^5.9.3","lint-staged":"^16.2.6","@playwright/test":"^1.56.1","@vitest/web-worker":"^4.0.8","typedoc-plugin-extras":"^4.0.1","typedoc-material-theme":"^1.4.1","@size-limit/esbuild-why":"^11.2.0","typedoc-plugin-dt-links":"^2.0.28","typedoc-plugin-redirect":"^1.2.1","typedoc-plugin-mdn-links":"^5.0.10","@size-limit/preset-small-lib":"^11.2.0","typedoc-plugin-inline-sources":"^1.3.0","@8hobbies/typedoc-plugin-plausible":"^2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/swarpc_0.16.1_1762966913243_0.03008155676912283","host":"s3://npm-registry-packages-npm-production"}},"0.17.0":{"name":"swarpc","version":"0.17.0","keywords":["service-workers","sw","rpc","trpc","typesafe"],"author":{"name":"Gwenn Le Bihan","email":"gwenn.lebihan7@gmail.com"},"license":"MIT","_id":"swarpc@0.17.0","maintainers":[{"name":"gwennlbh","email":"gwenn.lebihan7@gmail.com"}],"homepage":"https://swarpc.js.org","bugs":{"url":"https://github.com/gwennlbh/swarpc/issues"},"dist":{"shasum":"c7ae87dd5fac54b27295f28f7939ac3237dfff06","tarball":"https://registry.npmjs.org/swarpc/-/swarpc-0.17.0.tgz","fileCount":24,"integrity":"sha512-QzJ3sOKirDMN+EGklaMxS+yQ4DISBW3WrKFF7BeRhlbb11yxxzanoT/dEshWijhVMGPIsXkykmYVDMkGiRrVtQ==","signatures":[{"sig":"MEUCIQCbgvrDJ2vWSZlUjutyPvSggqoQkBfJlbYLVzwptciaZwIgRv6cAya9llJf5HbQwzFypFTwt0jD+GpY+1hj0rm2S9A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/swarpc@0.17.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":49765},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","volta":{"npm":"11.6.4","node":"24.11.1"},"gitHead":"92a2b1ecab070fa8162be4004de3df082c497edf","scripts":{"dev":"tsc --watch","test":"vitest","build":"tsc --removeComments --declaration false && tsc --emitDeclarationOnly","check":"oxlint","prepare":"husky","typedoc":"typedoc","version":"kacl release && prettier -w CHANGELOG.md && git add CHANGELOG.md","typecheck":"tsc --noEmit","typedoc:dev":"nodemon --watch src --watch README.md --watch typedoc.json --watch typedoc.css --exec npm run typedoc:withplugins","typedoc:serve":"npx sirv-cli --dev docs","typedoc:plugins":"node -e \"const fs=require('fs');const p=JSON.parse(fs.readFileSync('typedoc.json')).plugin||[];if(p.length)require('child_process').execSync('npm add --legacy-peer-deps -D '+p.join(' '),{stdio:'inherit'});else console.log('No plugins found');\"","typedoc:withplugins":"npm run typedoc:plugins && npm run typedoc"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:814dabcb-7a23-4bf8-a877-2cb78ddde1e6"}},"repository":{"url":"git+https://github.com/gwennlbh/swarpc.git","type":"git"},"size-limit":[{"path":"dist/index.js","limit":"5 kB"}],"_npmVersion":"11.6.2","description":"Full type-safe RPC library for service worker -- move things off of the UI thread with ease!","directories":{},"lint-staged":{"*.{ts,js,md,json,yaml,yml}":["oxlint --fix","prettier --write"]},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"kacl":"^1.1.1","knip":"^5.72.0","vite":"^7.2.7","husky":"^9.1.7","oxlint":"^1.32.0","vitest":"^4.0.15","arktype":"^2.1.28","nodemon":"^3.1.11","typedoc":"^0.28.15","date-fns":"^4.1.0","prettier":"^3.7.4","sirv-cli":"^3.0.1","pkg-pr-new":"^0.0.62","size-limit":"^12.0.0","typescript":"^5.9.3","lint-staged":"^16.2.7","@playwright/test":"^1.57.0","@vitest/web-worker":"^4.0.15","typedoc-plugin-extras":"^4.0.1","typedoc-material-theme":"^1.4.1","@size-limit/esbuild-why":"^12.0.0","typedoc-plugin-dt-links":"^2.0.32","typedoc-plugin-redirect":"^1.2.1","typedoc-plugin-mdn-links":"^5.0.10","@size-limit/preset-small-lib":"^12.0.0","typedoc-plugin-inline-sources":"^1.3.0","@8hobbies/typedoc-plugin-plausible":"^2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/swarpc_0.17.0_1765563230592_0.02751415350051767","host":"s3://npm-registry-packages-npm-production"}},"0.17.1":{"name":"swarpc","version":"0.17.1","keywords":["service-workers","sw","rpc","trpc","typesafe"],"author":{"name":"Gwenn Le Bihan","email":"gwenn.lebihan7@gmail.com"},"license":"MIT","_id":"swarpc@0.17.1","maintainers":[{"name":"gwennlbh","email":"gwenn.lebihan7@gmail.com"}],"homepage":"https://swarpc.js.org","bugs":{"url":"https://github.com/gwennlbh/swarpc/issues"},"dist":{"shasum":"674a9b9ae537f77578ddc07e0b3aec9d8e5d5ad0","tarball":"https://registry.npmjs.org/swarpc/-/swarpc-0.17.1.tgz","fileCount":24,"integrity":"sha512-KlxZ7ql+MUsRx+0RSlISps/Bd6I9nkkr2lII7dS93KsaHx1p1uG/voMniKZ2sBmB9EGrGvZ1aFzCczwry9Z0RA==","signatures":[{"sig":"MEUCIFwK7BLxFL8sYcnAbs/SCplak8GoRhZTvs0uN2KVZXwoAiEA6uA3YIFl7yoTdte/XawZVoQGDIOdA6TvOIxYzXPDy+w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/swarpc@0.17.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":49765},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","volta":{"npm":"11.6.4","node":"24.11.1"},"gitHead":"2f80e1f5b4411cee7fe2f2b45aaa4f44fb845b3a","scripts":{"dev":"tsc --watch","test":"vitest","build":"tsc --removeComments --declaration false && tsc --emitDeclarationOnly","check":"oxlint","prepare":"husky","typedoc":"typedoc","version":"kacl release && prettier -w CHANGELOG.md && git add CHANGELOG.md","typecheck":"tsc --noEmit","typedoc:dev":"nodemon --watch src --watch README.md --watch typedoc.json --watch typedoc.css --exec npm run typedoc:withplugins","typedoc:serve":"npx sirv-cli --dev docs","typedoc:plugins":"node -e \"const fs=require('fs');const p=JSON.parse(fs.readFileSync('typedoc.json')).plugin||[];if(p.length)require('child_process').execSync('npm add --legacy-peer-deps -D '+p.join(' '),{stdio:'inherit'});else console.log('No plugins found');\"","typedoc:withplugins":"npm run typedoc:plugins && npm run typedoc"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:814dabcb-7a23-4bf8-a877-2cb78ddde1e6"}},"repository":{"url":"git+https://github.com/gwennlbh/swarpc.git","type":"git"},"size-limit":[{"path":"dist/index.js","limit":"5 kB"}],"_npmVersion":"11.6.2","description":"Full type-safe RPC library for service worker -- move things off of the UI thread with ease!","directories":{},"lint-staged":{"*.{ts,js,md,json,yaml,yml}":["oxlint --fix","prettier --write"]},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"kacl":"^1.1.1","knip":"^5.72.0","vite":"^7.2.7","husky":"^9.1.7","oxlint":"^1.32.0","vitest":"^4.0.15","arktype":"^2.1.28","nodemon":"^3.1.11","typedoc":"^0.28.15","date-fns":"^4.1.0","prettier":"^3.7.4","sirv-cli":"^3.0.1","pkg-pr-new":"^0.0.62","size-limit":"^12.0.0","typescript":"^5.9.3","lint-staged":"^16.2.7","@playwright/test":"^1.57.0","@vitest/web-worker":"^4.0.15","typedoc-plugin-extras":"^4.0.1","typedoc-material-theme":"^1.4.1","@size-limit/esbuild-why":"^12.0.0","typedoc-plugin-dt-links":"^2.0.32","typedoc-plugin-redirect":"^1.2.1","typedoc-plugin-mdn-links":"^5.0.10","@size-limit/preset-small-lib":"^12.0.0","typedoc-plugin-inline-sources":"^1.3.0","@8hobbies/typedoc-plugin-plausible":"^2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/swarpc_0.17.1_1765563853031_0.40167507711141903","host":"s3://npm-registry-packages-npm-production"}},"0.17.2":{"name":"swarpc","version":"0.17.2","keywords":["service-workers","sw","rpc","trpc","typesafe"],"author":{"name":"Gwenn Le Bihan","email":"gwenn.lebihan7@gmail.com"},"license":"MIT","_id":"swarpc@0.17.2","maintainers":[{"name":"gwennlbh","email":"gwenn.lebihan7@gmail.com"}],"homepage":"https://swarpc.js.org","bugs":{"url":"https://github.com/gwennlbh/swarpc/issues"},"dist":{"shasum":"5254d6bdd60d1a29714e3b84e7078c69baaf181c","tarball":"https://registry.npmjs.org/swarpc/-/swarpc-0.17.2.tgz","fileCount":24,"integrity":"sha512-5Jj0kCiKTaJ2FMB8tQ4cN39VrIpd/HzmvaZl2O7IlPko3EoCpcukBqqAIrFFJ5obqnuo9JgV6mrwGd6PGuH/UA==","signatures":[{"sig":"MEUCIEfCQmGNmaOSGh4IkKT8fscZQOxZ6E/EqBnOJOuus66+AiEAnDcyKQdY65LFhL08xuL8f+CF3S7nchU9xYyg+ljP85c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/swarpc@0.17.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":49773},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","volta":{"npm":"11.6.4","node":"24.11.1"},"gitHead":"69d0ec99096d2b94fe917800b77a3e3b87ef29e5","scripts":{"dev":"tsc --watch","test":"vitest","build":"tsc --removeComments --declaration false && tsc --emitDeclarationOnly","check":"oxlint","prepare":"husky","typedoc":"typedoc","version":"kacl release && prettier -w CHANGELOG.md && git add CHANGELOG.md","typecheck":"tsc --noEmit","typedoc:dev":"nodemon --watch src --watch README.md --watch typedoc.json --watch typedoc.css --exec npm run typedoc:withplugins","typedoc:serve":"npx sirv-cli --dev docs","typedoc:plugins":"node -e \"const fs=require('fs');const p=JSON.parse(fs.readFileSync('typedoc.json')).plugin||[];if(p.length)require('child_process').execSync('npm add --legacy-peer-deps -D '+p.join(' '),{stdio:'inherit'});else console.log('No plugins found');\"","typedoc:withplugins":"npm run typedoc:plugins && npm run typedoc"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:814dabcb-7a23-4bf8-a877-2cb78ddde1e6"}},"repository":{"url":"git+https://github.com/gwennlbh/swarpc.git","type":"git"},"size-limit":[{"path":"dist/index.js","limit":"5 kB"}],"_npmVersion":"11.6.2","description":"Full type-safe RPC library for service worker -- move things off of the UI thread with ease!","directories":{},"lint-staged":{"*.{ts,js,md,json,yaml,yml}":["oxlint --fix","prettier --write"]},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"kacl":"^1.1.1","knip":"^5.72.0","vite":"^7.2.7","husky":"^9.1.7","oxlint":"^1.32.0","vitest":"^4.0.15","arktype":"^2.1.28","nodemon":"^3.1.11","typedoc":"^0.28.15","date-fns":"^4.1.0","prettier":"^3.7.4","sirv-cli":"^3.0.1","pkg-pr-new":"^0.0.62","size-limit":"^12.0.0","typescript":"^5.9.3","lint-staged":"^16.2.7","@playwright/test":"^1.57.0","@vitest/web-worker":"^4.0.15","typedoc-plugin-extras":"^4.0.1","typedoc-material-theme":"^1.4.1","@size-limit/esbuild-why":"^12.0.0","typedoc-plugin-dt-links":"^2.0.32","typedoc-plugin-redirect":"^1.2.1","typedoc-plugin-mdn-links":"^5.0.10","@size-limit/preset-small-lib":"^12.0.0","typedoc-plugin-inline-sources":"^1.3.0","@8hobbies/typedoc-plugin-plausible":"^2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/swarpc_0.17.2_1765564164356_0.48667399171603454","host":"s3://npm-registry-packages-npm-production"}},"0.18.0":{"name":"swarpc","version":"0.18.0","keywords":["service-workers","sw","rpc","trpc","typesafe"],"author":{"name":"Gwenn Le Bihan","email":"gwenn.lebihan7@gmail.com"},"license":"MIT","_id":"swarpc@0.18.0","maintainers":[{"name":"gwennlbh","email":"gwenn.lebihan7@gmail.com"}],"homepage":"https://swarpc.js.org","bugs":{"url":"https://github.com/gwennlbh/swarpc/issues"},"dist":{"shasum":"e1859e3eb4047c6ed2203e7e1d9496e6c4f8a0a2","tarball":"https://registry.npmjs.org/swarpc/-/swarpc-0.18.0.tgz","fileCount":24,"integrity":"sha512-ItCaEDVmWRJMFTWEl4UUI9Pw+07MvTn7Ws3btm5z2IJxR6HTFOwCYqaIfnyLA5cA5iXASAsJeKJbtEZrmWCAkA==","signatures":[{"sig":"MEQCIEHyias1BPMeNepP5YDjsGtBfRBQ8BAW47ldm4grZ8TuAiA2/Bz+GeVYPHmGy2yUYyBi5o57IdiDeweGBFnxCtl58A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/swarpc@0.18.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":56173},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","volta":{"npm":"11.7.0","node":"24.12.0"},"gitHead":"b538f50c31e740f05c91f18fe17170573069896b","scripts":{"dev":"tsc --watch","test":"vitest","build":"tsc --removeComments --declaration false && tsc --emitDeclarationOnly","check":"oxlint","prepare":"husky","typedoc":"typedoc","version":"kacl release && prettier -w CHANGELOG.md && git add CHANGELOG.md","typecheck":"tsc --noEmit","typedoc:dev":"nodemon --watch src --watch README.md --watch typedoc.json --watch typedoc.css --exec npm run typedoc:withplugins","typedoc:serve":"npx sirv-cli --dev docs","typedoc:plugins":"node -e \"const fs=require('fs');const p=JSON.parse(fs.readFileSync('typedoc.json')).plugin||[];if(p.length)require('child_process').execSync('npm add --legacy-peer-deps -D '+p.join(' '),{stdio:'inherit'});else console.log('No plugins found');\"","typedoc:withplugins":"npm run typedoc:plugins && npm run typedoc"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:814dabcb-7a23-4bf8-a877-2cb78ddde1e6"}},"repository":{"url":"git+https://github.com/gwennlbh/swarpc.git","type":"git"},"size-limit":[{"path":"dist/index.js","limit":"5 kB"}],"_npmVersion":"11.6.2","description":"Full type-safe RPC library for service worker -- move things off of the UI thread with ease!","directories":{},"lint-staged":{"*.{ts,js,md,json,yaml,yml}":["oxlint --fix","prettier --write"]},"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"kacl":"^1.1.1","knip":"^5.80.0","vite":"^7.3.0","husky":"^9.1.7","oxlint":"^1.37.0","vitest":"^4.0.16","arktype":"^2.1.29","nodemon":"^3.1.11","typedoc":"^0.28.15","date-fns":"^4.1.0","prettier":"^3.7.4","sirv-cli":"^3.0.1","pkg-pr-new":"^0.0.62","size-limit":"^12.0.0","typescript":"^5.9.3","lint-staged":"^16.2.7","@playwright/test":"^1.57.0","@vitest/web-worker":"^4.0.16","typedoc-plugin-extras":"^4.0.1","typedoc-material-theme":"^1.4.1","@size-limit/esbuild-why":"^12.0.0","typedoc-plugin-dt-links":"^2.0.36","typedoc-plugin-redirect":"^1.2.1","typedoc-plugin-mdn-links":"^5.0.10","@size-limit/preset-small-lib":"^12.0.0","typedoc-plugin-inline-sources":"^1.3.0","@8hobbies/typedoc-plugin-plausible":"^2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/swarpc_0.18.0_1767886638981_0.7342783520281069","host":"s3://npm-registry-packages-npm-production"}},"0.19.0":{"name":"swarpc","version":"0.19.0","keywords":["service-workers","sw","rpc","trpc","typesafe"],"author":{"name":"Gwenn Le Bihan","email":"gwenn.lebihan7@gmail.com"},"license":"MIT","_id":"swarpc@0.19.0","maintainers":[{"name":"gwennlbh","email":"gwenn.lebihan7@gmail.com"}],"homepage":"https://swarpc.js.org","bugs":{"url":"https://github.com/gwennlbh/swarpc/issues"},"dist":{"shasum":"cccabcf3520e603dcf064cd2ca941cf11f8d9723","tarball":"https://registry.npmjs.org/swarpc/-/swarpc-0.19.0.tgz","fileCount":24,"integrity":"sha512-oSNWTfJWBUyb1DPQANboWtinKvQfV9WtI4UGzTJUR+o/o4bd+CMcRFgiMCl1MtkfFUusUUuL5Cuh9Et2mEKQ8g==","signatures":[{"sig":"MEYCIQDFwwrjeHlNj+Va7uoqZ2cvI3qP77vpl9uM9yGeg4/yGwIhAJDw9HP2NfFMZnSYNzR5eHh6omB4c1ekCFpdtQfr8boZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/swarpc@0.19.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":68076},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","volta":{"npm":"11.7.0","node":"24.13.0"},"gitHead":"e25787a468f9ab798538f4f5fb24a653b8fe5668","scripts":{"dev":"tsc --watch","test":"vitest","build":"tsc --removeComments --declaration false && tsc --emitDeclarationOnly","check":"oxlint","prepare":"husky","typedoc":"typedoc","version":"kacl release && prettier -w CHANGELOG.md && git add CHANGELOG.md","typecheck":"tsc --noEmit","typedoc:dev":"nodemon --watch src --watch README.md --watch typedoc.json --watch typedoc.css --exec npm run typedoc:withplugins","typedoc:serve":"npx sirv-cli --dev docs","typedoc:plugins":"node -e \"const fs=require('fs');const p=JSON.parse(fs.readFileSync('typedoc.json')).plugin||[];if(p.length)require('child_process').execSync('npm add --legacy-peer-deps -D '+p.join(' '),{stdio:'inherit'});else console.log('No plugins found');\"","typedoc:withplugins":"npm run typedoc:plugins && npm run typedoc"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:814dabcb-7a23-4bf8-a877-2cb78ddde1e6"}},"repository":{"url":"git+https://github.com/gwennlbh/swarpc.git","type":"git"},"size-limit":[{"path":"dist/index.js","limit":"5 kB"}],"_npmVersion":"11.6.2","description":"Full type-safe RPC library for service worker -- move things off of the UI thread with ease!","directories":{},"lint-staged":{"*.{ts,js,md,json,yaml,yml}":["oxlint --fix","prettier --write"]},"_nodeVersion":"24.13.0","_hasShrinkwrap":false,"devDependencies":{"kacl":"^1.1.1","knip":"^5.82.1","vite":"^7.3.1","husky":"^9.1.7","oxlint":"^1.40.0","vitest":"^4.0.17","arktype":"^2.1.29","nodemon":"^3.1.11","typedoc":"^0.28.16","date-fns":"^4.1.0","prettier":"^3.8.0","sirv-cli":"^3.0.1","pkg-pr-new":"^0.0.62","size-limit":"^12.0.0","typescript":"^5.9.3","lint-staged":"^16.2.7","@playwright/test":"^1.57.0","@vitest/web-worker":"^4.0.17","typedoc-plugin-extras":"^4.0.1","typedoc-material-theme":"^1.4.1","@size-limit/esbuild-why":"^12.0.0","typedoc-plugin-dt-links":"^2.0.38","typedoc-plugin-redirect":"^1.2.1","typedoc-plugin-mdn-links":"^5.1.0","@size-limit/preset-small-lib":"^12.0.0","typedoc-plugin-inline-sources":"^1.3.0","@8hobbies/typedoc-plugin-plausible":"^2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/swarpc_0.19.0_1768960465616_0.8665461079874544","host":"s3://npm-registry-packages-npm-production"}},"0.20.0":{"name":"swarpc","version":"0.20.0","keywords":["service-workers","sw","rpc","trpc","typesafe"],"author":{"name":"Gwenn Le Bihan","email":"gwenn.lebihan7@gmail.com"},"license":"MIT","_id":"swarpc@0.20.0","maintainers":[{"name":"gwennlbh","email":"gwenn.lebihan7@gmail.com"}],"homepage":"https://swarpc.js.org","bugs":{"url":"https://github.com/gwennlbh/swarpc/issues"},"dist":{"shasum":"335f6dca6c7f0ca789e77312fdcdce6915c21b81","tarball":"https://registry.npmjs.org/swarpc/-/swarpc-0.20.0.tgz","fileCount":24,"integrity":"sha512-jLN5yrpwBU+y2OYShN1Vy48oXKkCQ7LipmDlt7EzhfU0Qxhh6BuTXtI5tPjoD+yqncmHw+pZKjqAMgRQ/hbc0Q==","signatures":[{"sig":"MEQCIC3p0yY313n/VmRp6jaAv8vK8rvGceC6p2/9FCayJfQLAiB9ozZg0Az7oPAcJT6CxUemNNBeNRf7Acza3zaRGoCnjg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/swarpc@0.20.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":68479},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","volta":{"npm":"11.10.1","node":"24.13.1"},"gitHead":"58fcfc4b74735a6d2bfad5a83dab106e3cfe27ed","scripts":{"dev":"tsc --watch","test":"vitest","build":"tsc --removeComments --declaration false && tsc --emitDeclarationOnly","check":"oxlint","prepare":"husky","typedoc":"typedoc","version":"kacl release && prettier -w CHANGELOG.md && git add CHANGELOG.md","typecheck":"tsc --noEmit","typedoc:dev":"nodemon --watch src --watch README.md --watch typedoc.json --watch typedoc.css --exec npm run typedoc:withplugins","typedoc:serve":"npx sirv-cli --dev docs","typedoc:plugins":"node -e \"const fs=require('fs');const p=JSON.parse(fs.readFileSync('typedoc.json')).plugin||[];if(p.length)require('child_process').execSync('npm add --legacy-peer-deps -D '+p.join(' '),{stdio:'inherit'});else console.log('No plugins found');\"","typedoc:withplugins":"npm run typedoc:plugins && npm run typedoc"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:814dabcb-7a23-4bf8-a877-2cb78ddde1e6"}},"repository":{"url":"git+https://github.com/gwennlbh/swarpc.git","type":"git"},"size-limit":[{"path":"dist/index.js","limit":"5 kB"}],"_npmVersion":"11.8.0","description":"Full type-safe RPC library for service worker -- move things off of the UI thread with ease!","directories":{},"lint-staged":{"*.{ts,js,md,json,yaml,yml}":["oxlint --fix","prettier --write"]},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"devDependencies":{"kacl":"^1.1.1","knip":"^5.85.0","vite":"^7.3.1","husky":"^9.1.7","oxlint":"^1.50.0","vitest":"^4.0.18","arktype":"^2.1.29","nodemon":"^3.1.14","typedoc":"^0.28.17","date-fns":"^4.1.0","prettier":"^3.8.1","sirv-cli":"^3.0.1","pkg-pr-new":"^0.0.63","size-limit":"^12.0.0","typescript":"^5.9.3","lint-staged":"^16.2.7","@playwright/test":"^1.58.2","@vitest/web-worker":"^4.0.18","typedoc-plugin-extras":"^4.0.1","typedoc-material-theme":"^1.4.1","@size-limit/esbuild-why":"^12.0.0","typedoc-plugin-dt-links":"^2.0.43","typedoc-plugin-redirect":"^1.3.0","typedoc-plugin-mdn-links":"^5.1.1","@size-limit/preset-small-lib":"^12.0.0","typedoc-plugin-inline-sources":"^1.3.0","@8hobbies/typedoc-plugin-plausible":"^2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/swarpc_0.20.0_1772105055469_0.7437620120278594","host":"s3://npm-registry-packages-npm-production"}},"0.20.1":{"name":"swarpc","version":"0.20.1","keywords":["service-workers","sw","rpc","trpc","typesafe"],"author":{"name":"Gwenn Le Bihan","email":"gwenn.lebihan7@gmail.com"},"license":"MIT","_id":"swarpc@0.20.1","maintainers":[{"name":"gwennlbh","email":"gwenn.lebihan7@gmail.com"}],"homepage":"https://swarpc.js.org","bugs":{"url":"https://github.com/gwennlbh/swarpc/issues"},"dist":{"shasum":"0a1a48b0fe39c1695e29f09a8c1f060d48cf8117","tarball":"https://registry.npmjs.org/swarpc/-/swarpc-0.20.1.tgz","fileCount":28,"integrity":"sha512-FGmUmm72CH4e3KH8pUSPIGldlcTQy6Z3vLnp2fqEOMSBRdKJ8SAkoi0O/XsQdypIT4sNVleyOEM5Cdo8tk0bNQ==","signatures":[{"sig":"MEYCIQDGovoHgEl5tP07lktZq25/2SvJMC1e83B2tE1muZfJSwIhANmi6/Wg9UymLNbQkRzkV7PR9qe1HXPjLam2dSIdzy+m","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/swarpc@0.20.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":71151},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","volta":{"npm":"11.12.1","node":"24.15.0"},"gitHead":"9266e5e9e23702867007069b1ef8022275e077b2","scripts":{"dev":"tsc --watch","test":"vitest","build":"tsc --removeComments --declaration false && tsc --emitDeclarationOnly","check":"oxlint","prepare":"husky","typedoc":"typedoc","version":"kacl release && prettier -w CHANGELOG.md && git add CHANGELOG.md","typecheck":"tsc --noEmit","typedoc:dev":"nodemon --watch src --watch README.md --watch typedoc.json --watch typedoc.css --exec npm run typedoc:withplugins","typedoc:serve":"npx sirv-cli --dev docs","typedoc:plugins":"node -e \"const fs=require('fs');const p=JSON.parse(fs.readFileSync('typedoc.json')).plugin||[];if(p.length)require('child_process').execSync('npm add --legacy-peer-deps -D '+p.join(' '),{stdio:'inherit'});else console.log('No plugins found');\"","typedoc:withplugins":"npm run typedoc:plugins && npm run typedoc"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:814dabcb-7a23-4bf8-a877-2cb78ddde1e6"}},"repository":{"url":"git+https://github.com/gwennlbh/swarpc.git","type":"git"},"size-limit":[{"path":"dist/index.js","limit":"5 kB"}],"_npmVersion":"11.12.1","description":"Full type-safe RPC library for service worker -- move things off of the UI thread with ease!","directories":{},"lint-staged":{".prettierrc":["prettier --write"],"*.{ts,js,md,json,yaml,yml}":["oxlint --fix","prettier --write"]},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"kacl":"^1.1.1","knip":"^6.5.0","vite":"^8.0.9","husky":"^9.1.7","oxlint":"^1.60.0","vitest":"^4.1.4","arktype":"^2.2.0","nodemon":"^3.1.14","typedoc":"^0.28.19","date-fns":"^4.1.0","prettier":"^3.8.3","sirv-cli":"^3.0.1","pkg-pr-new":"^0.0.66","size-limit":"^12.1.0","typescript":"^6.0.3","lint-staged":"^16.4.0","@playwright/test":"^1.59.1","@vitest/web-worker":"^4.1.4","typedoc-plugin-extras":"^4.0.1","typedoc-material-theme":"^1.4.1","@size-limit/esbuild-why":"^12.1.0","typedoc-plugin-dt-links":"^2.0.51","typedoc-plugin-redirect":"^1.3.0","typedoc-plugin-mdn-links":"^5.1.1","@size-limit/preset-small-lib":"^12.1.0","typedoc-plugin-inline-sources":"^1.3.0","@8hobbies/typedoc-plugin-plausible":"^2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/swarpc_0.20.1_1777227997613_0.10009671964873146","host":"s3://npm-registry-packages-npm-production"}},"0.20.2":{"name":"swarpc","version":"0.20.2","description":"Full type-safe RPC library for service worker -- move things off of the UI thread with ease!","keywords":["service-workers","sw","rpc","trpc","typesafe"],"homepage":"https://swarpc.js.org","bugs":{"url":"https://github.com/gwennlbh/swarpc/issues"},"repository":{"type":"git","url":"git+https://github.com/gwennlbh/swarpc.git"},"license":"MIT","author":{"name":"Gwenn Le Bihan","email":"gwenn.lebihan7@gmail.com"},"type":"module","main":"dist/index.js","types":"dist/index.d.ts","size-limit":[{"path":"dist/index.js","limit":"5 kB"}],"scripts":{"build":"tsc --removeComments --declaration false && tsc --emitDeclarationOnly","dev":"tsc --watch","typecheck":"tsc --noEmit","test":"vitest","check":"oxlint","typedoc":"typedoc","version":"kacl release && prettier -w CHANGELOG.md && git add CHANGELOG.md","typedoc:dev":"nodemon --watch src --watch README.md --watch typedoc.json --watch typedoc.css --exec npm run typedoc:withplugins","typedoc:serve":"npx sirv-cli --dev docs","typedoc:plugins":"node -e \"const fs=require('fs');const p=JSON.parse(fs.readFileSync('typedoc.json')).plugin||[];if(p.length)require('child_process').execSync('npm add --legacy-peer-deps -D '+p.join(' '),{stdio:'inherit'});else console.log('No plugins found');\"","typedoc:withplugins":"npm run typedoc:plugins && npm run typedoc","prepare":"husky"},"devDependencies":{"@8hobbies/typedoc-plugin-plausible":"^2.2.0","@playwright/test":"^1.59.1","@size-limit/esbuild-why":"^12.1.0","@size-limit/preset-small-lib":"^12.1.0","@vitest/web-worker":"^4.1.4","arktype":"^2.2.0","date-fns":"^4.1.0","husky":"^9.1.7","kacl":"^1.1.1","knip":"^6.5.0","lint-staged":"^16.4.0","nodemon":"^3.1.14","oxlint":"^1.60.0","pkg-pr-new":"^0.0.66","prettier":"^3.8.3","sirv-cli":"^3.0.1","size-limit":"^12.1.0","typedoc":"^0.28.19","typedoc-material-theme":"^1.4.1","typedoc-plugin-dt-links":"^2.0.51","typedoc-plugin-extras":"^4.0.1","typedoc-plugin-inline-sources":"^1.3.0","typedoc-plugin-mdn-links":"^5.1.1","typedoc-plugin-redirect":"^1.3.0","typescript":"^6.0.3","vite":"^8.0.9","vitest":"^4.1.4"},"volta":{"node":"24.15.0","npm":"11.12.1"},"lint-staged":{".prettierrc":["prettier --write"],"*.{ts,js,md,json,yaml,yml}":["oxlint --fix --no-error-on-unmatched-pattern","prettier --write"]},"gitHead":"752851eea04457d2e1224a7d6cdacfbb3faf204b","_id":"swarpc@0.20.2","_nodeVersion":"24.15.0","_npmVersion":"11.12.1","dist":{"integrity":"sha512-1CrjoEd74EMATI5pUW0+RJxM9s3gA5nLVMI4UUTNpzmFMhrHotg6Ur3lxDavsPZM6QhmvOxEPnVaP/Tdz5YR1w==","shasum":"b07f8caea49b4fbcf3cb2f56603ca24bb03a20ec","tarball":"https://registry.npmjs.org/swarpc/-/swarpc-0.20.2.tgz","fileCount":28,"unpackedSize":71209,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/swarpc@0.20.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIF9J9zwtKSukvvY02D27/wm/oFy3hEDUta+a6Ml/gaSlAiEAwp4t8uBEEERBcNBichmj2n7mGQcEzVy7ugTGvYgjEHY="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:814dabcb-7a23-4bf8-a877-2cb78ddde1e6"}},"directories":{},"maintainers":[{"name":"gwennlbh","email":"gwenn.lebihan7@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/swarpc_0.20.2_1777229840044_0.08118235610393287"},"_hasShrinkwrap":false}},"time":{"created":"2025-07-02T15:25:14.605Z","modified":"2026-04-26T18:57:20.465Z","0.1.0":"2025-07-02T15:25:14.789Z","0.1.1":"2025-07-02T15:54:05.040Z","0.1.2":"2025-07-02T16:31:57.710Z","0.2.0":"2025-07-11T18:38:53.052Z","0.2.1":"2025-07-11T19:17:11.465Z","0.2.2":"2025-07-11T19:26:01.522Z","0.2.3":"2025-07-11T20:11:23.195Z","0.2.4":"2025-07-11T20:24:59.265Z","0.3.0":"2025-07-12T21:32:18.372Z","0.4.0":"2025-07-12T21:55:16.532Z","0.5.0":"2025-07-19T13:43:24.014Z","0.6.0":"2025-07-19T14:34:40.926Z","0.6.1":"2025-07-19T17:12:12.571Z","0.7.0":"2025-08-02T15:47:39.278Z","0.7.1":"2025-08-02T18:07:36.270Z","0.8.0":"2025-08-03T00:07:56.184Z","0.9.0":"2025-08-03T01:16:14.319Z","0.10.0":"2025-08-03T11:45:40.686Z","0.11.0":"2025-09-07T19:12:49.442Z","0.12.0":"2025-09-10T14:14:33.977Z","0.13.0":"2025-09-13T13:13:43.875Z","0.14.0":"2025-09-13T14:01:54.120Z","0.15.0":"2025-11-04T13:16:59.970Z","0.15.1":"2025-11-04T13:47:14.766Z","0.16.0":"2025-11-09T11:05:44.729Z","0.16.1":"2025-11-12T17:01:53.443Z","0.17.0":"2025-12-12T18:13:50.724Z","0.17.1":"2025-12-12T18:24:13.179Z","0.17.2":"2025-12-12T18:29:24.514Z","0.18.0":"2026-01-08T15:37:19.123Z","0.19.0":"2026-01-21T01:54:25.853Z","0.20.0":"2026-02-26T11:24:15.626Z","0.20.1":"2026-04-26T18:26:37.742Z","0.20.2":"2026-04-26T18:57:20.181Z"},"bugs":{"url":"https://github.com/gwennlbh/swarpc/issues"},"author":{"name":"Gwenn Le Bihan","email":"gwenn.lebihan7@gmail.com"},"license":"MIT","homepage":"https://swarpc.js.org","keywords":["service-workers","sw","rpc","trpc","typesafe"],"repository":{"type":"git","url":"git+https://github.com/gwennlbh/swarpc.git"},"description":"Full type-safe RPC library for service worker -- move things off of the UI thread with ease!","maintainers":[{"name":"gwennlbh","email":"gwenn.lebihan7@gmail.com"}],"readme":"<div align=center>\n<h1>\n  <img src=\"./logo.svg\" alt=\"sw&rpc\" />\n</h1>\n\nRPC for Service (and other types of) Workers -- move that heavy computation off of your UI thread!\n\n![npm bundle size](https://img.shields.io/bundlephobia/minzip/swarpc)\n![NPM Version](https://img.shields.io/npm/v/swarpc)\n![GitHub branch check runs](https://img.shields.io/github/check-runs/gwennlbh/swarpc/main)\n\n</div>\n \n* * *\n\n## Features\n\n- Fully typesafe\n- Lightweight: no dependencies, less than 5 kB (minified+gzipped)\n- Supports any [Standard Schema](https://standardschema.dev)-compliant validation library (ArkType, Zod, Valibot, etc.)\n- Cancelable requests\n- Parallelization with multiple worker instances\n- Automatic [transfer](https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Transferable_objects) of transferable values from- and to- worker code\n- A way to polyfill a pre-filled `localStorage` to be accessed within the worker code\n- First-class support for signaling progress updates (and e.g. display a progress bar)\n- Supports [Service workers](https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorker), [Shared workers](https://developer.mozilla.org/en-US/docs/Web/API/SharedWorker) and [Dedicated workers](https://developer.mozilla.org/en-US/docs/Web/API/Worker)\n\n## Installation\n\n```bash\nnpm add swarpc\n```\n\nAlso add a [Standard-Schema-compliant validation library](https://standardschema.dev/#what-schema-libraries-implement-the-spec) of your choosing\n\n```bash\n# For example\nnpm add arktype\n```\n\n<details>\n<summary>\nBleeding edge\n</summary>\n\nIf you want to use the latest commit instead of a published version, you can, either by using the Git URL:\n\n```bash\nnpm add git+https://github.com/gwennlbh/swarpc.git\n```\n\nOr by straight up cloning the repository and pointing to the local directory (very useful to hack on sw&rpc while testing out your changes on a more substantial project):\n\n```bash\nmkdir -p vendored\ngit clone https://github.com/gwennlbh/swarpc.git vendored/swarpc\nnpm add file:vendored/swarpc\n```\n\nThis works thanks to the fact that `dist/` is published on the repository (and kept up to date with a CI workflow).\n\n</details>\n\n## Usage\n\n> [!NOTE]\n> We use [ArkType](https://arktype.io) in the following examples, but, as stated above, any validation library\n> is a-okay (provided that it is [Standard Schema v1](https://standardschema.dev)-compliant)\n\n### 1. Declare your procedures in a shared file\n\n```typescript\nimport type { ProceduresMap } from \"swarpc\";\nimport { type } from \"arktype\";\n\nexport const procedures = {\n  searchIMDb: {\n    // Input for the procedure\n    input: type({ query: \"string\", \"pageSize?\": \"number\" }),\n    // Function to be called whenever you can update progress while the procedure is running -- long computations are a first-class concern here. Examples include using the fetch-progress NPM package.\n    progress: type({ transferred: \"number\", total: \"number\" }),\n    // Output of a successful procedure call\n    success: type({\n      id: \"string\",\n      primary_title: \"string\",\n      genres: \"string[]\",\n    }).array(),\n  },\n} as const satisfies ProceduresMap;\n```\n\n### 2. Register your procedures in worker\n\nIn your worker file:\n\n```javascript\nimport fetchProgress from \"fetch-progress\"\nimport { Server } from \"swarpc\"\nimport { procedures } from \"./procedures.js\"\n\n// 1. Give yourself a server instance\nconst swarpc = Server(procedures)\n\n// 2. Implement your procedures\nswarpc.searchIMDb(async ({ query, pageSize = 10 }, onProgress) => {\n  const queryParams = new URLSearchParams({\n    page_size: pageSize.toString(),\n    query,\n  })\n\n  return fetch(`https://rest.imdbapi.dev/v2/search/titles?${queryParams}`)\n    .then(fetchProgress({ onProgress }))\n    .then((response) => response.json())\n    .then(({ titles } => titles)\n})\n\n// ...\n\n// 3. Start the event listener\nswarpc.start(self)\n```\n\n### 3. Call your procedures from the client\n\nHere's a Svelte example!\n\n```svelte\n<script>\n    import { Client } from \"swarpc\"\n    import { procedures } from \"./procedures.js\"\n\n    const swarpc = Client(procedures)\n\n    let query = $state(\"\")\n    let results = $state([])\n    let progress = $state(0)\n</script>\n\n<search>\n    <input type=\"text\" bind:value={query} placeholder=\"Search IMDb\" />\n    <button onclick={async () => {\n        results = await swarpc.searchIMDb({ query }, (p) => {\n            progress = p.transferred / p.total\n        })\n    }}>\n        Search\n    </button>\n</search>\n\n{#if progress > 0 && progress < 1}\n    <progress value={progress} max=\"1\" />\n{/if}\n\n<ul>\n    {#each results as { id, primary_title, genres } (id)}\n        <li>{primary_title} - {genres.join(\", \")}</li>\n    {/each}\n</ul>\n```\n\n### 4. Registering your worker\n\n#### Service Workers\n\nIf you use SvelteKit, [just name your service worker file `src/service-worker.ts`](https://svelte.dev/docs/kit/service-workers)\n\n_If you use any other (meta) framework, please contribute usage documentation here :)_\n\n#### Dedicated or Shared Workers\n\nPreferred over service workers for heavy computations, since you can run multiple instances of them (see [Configure parallelism](#configure-parallelism))\n\nIf you use Vite, you can [import files as Web Worker classes](https://vite.dev/guide/features.html#web-workers):\n\n```ts\nimport { Client } from \"swarpc\";\nimport { procedures } from \"$lib/off-thread/procedures.ts\";\nimport OffThreadWorker from \"$lib/off-thread/worker.ts?worker\";\n\nconst client = Client(procedures, {\n  worker: OffThreadWorker, // don't instanciate the class, sw&rpc does it\n});\n```\n\n### Configure parallelism\n\nBy default, when a `worker` is passed to the `Client`'s options, the client will automatically spin up `navigator.hardwareConcurrency` worker instances and distribute requests among them. You can customize this behavior by setting the `Client:options.nodes` option to control the number of _nodes_ (worker instances).\n\nWhen `Client:options.worker` is not set, the client will use the Service worker (and thus only a single instance).\n\n#### Send to multiple nodes\n\nUse `Client#(method name).broadcast` to send the same request to all nodes at once. This method returns a Promise that resolves to an array of `PromiseSettledResult` (with an additional property, `node`, the ID of the node the request was sent to), one per node the request was sent to.\n\nFor example:\n\n```ts\nconst client = Client(procedures, {\n  worker: MyWorker,\n  nodes: 4,\n});\n\nfor (const result of await client.initDB.broadcast(\"localhost:5432\")) {\n  if (result.status === \"rejected\") {\n    console.error(\n      `Could not initialize database on node ${result.node}`,\n      result.reason,\n    );\n  }\n}\n```\n\nYou also have a very convenient way to aggregate the results of all nodes, if you don't need to handle errors in a fine-grained way:\n\n```ts\nconst userbase = await client.tableSize.broadcast\n  .orThrow(\"users\")\n  .then((counts) => sum(counts))\n  .catch((e) => {\n    // e is an AggregateError with every failing node's error\n    console.error(\"Could not get total user count:\", e);\n  });\n```\n\nOtherwise, you have access to a handful of convenience properties on the returned array, to help you narrow down what happened on each node:\n\n```ts\nasync function userbase() {\n  const counts = await client.tableSize.broadcast(\"users\");\n\n  if (counts.ko) {\n    throw new Error(\n      `All nodes failed to get table size: ${counts.failureSummary}`,\n    );\n  }\n\n  return {\n    exact: counts.ok,\n    count:\n      sum(counts.successes) +\n      average(counts.successes) * counts.failures.length,\n  };\n}\n```\n\n### Make cancelable requests\n\n#### Implementation\n\nTo make your procedures meaningfully cancelable, you have to make use of the [`AbortSignal`](https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal) API. This is passed as a third argument when implementing your procedures:\n\n```js\nserver.searchIMDb(async ({ query }, onProgress, { abortSignal }) => {\n  // If you're doing heavy computation without fetch:\n  // Use `abortSignal?.throwIfAborted()` within hot loops and at key points\n  for (...) {\n    abortSignal?.throwIfAborted();\n    ...\n  }\n\n  // When using fetch:\n  await fetch(..., { signal: abortSignal })\n})\n```\n\n#### Call sites\n\nInstead of calling `await client.myProcedure()` directly, call `client.myProcedure.cancelable()`. You'll get back an object with\n\n- `async cancel(reason)`: a function to cancel the request\n- `request`: a Promise that resolves to the result of the procedure call. `await` it to wait for the request to finish.\n\nExample:\n\n```js\n// Normal call:\nconst result = await swarpc.searchIMDb({ query });\n\n// Cancelable call:\nconst { request, cancel } = swarpc.searchIMDb.cancelable({ query });\nsetTimeout(() => cancel().then(() => console.warn(\"Took too long!!\")), 5_000);\nawait request;\n```\n\n### Call in \"once\" mode\n\nThe \"once\" mode allows you to automatically cancel any previous ongoing call before running a new one. This is useful for scenarios like search-as-you-type, where you only care about the latest request.\n\n#### Method-scoped once mode\n\nCancel any previous call of the same method:\n\n```js\n// If any previous call of searchIMDb is ongoing, it gets cancelled beforehand\nconst result = await swarpc.searchIMDb.once({ query });\n```\n\n#### Method-scoped once mode with key\n\nCancel any previous call of the same method with the same key:\n\n```js\n// If any previous call of searchIMDb with \"foo\" as the key is ongoing,\n// it gets cancelled beforehand\nconst result = await swarpc.searchIMDb.onceBy(\"foo\", { query });\n```\n\nThis allows multiple concurrent calls with different keys:\n\n```js\n// These two calls can run concurrently\nconst result1 = await swarpc.searchIMDb.onceBy(\"search-bar\", {\n  query: \"action\",\n});\nconst result2 = await swarpc.searchIMDb.onceBy(\"sidebar\", { query: \"comedy\" });\n```\n\n#### Global once mode\n\nCancel any ongoing call with the same global key, across all methods:\n\n```js\n// Any call from ANY procedure with \"global-search\" key gets cancelled beforehand\nconst result = await swarpc.onceBy(\"global-search\").searchIMDb({ query });\n```\n\nThis is useful when you want to ensure only one operation of a certain type is running at a time, regardless of which procedure is being called.\n\n#### With broadcasting\n\nYou can combine \"once\" mode with broadcasting as well, just use `.broadcast.once` or `.broadcast.onceBy` instead of `.once` or `.onceBy`:\n\n```js\n// Load the inference model on all nodes. If we call this again before the previous model finishes loading,\n// the previous load requests get cancelled.\nawait swarpc.loadInferenceModel.broadcast.once({ url });\n```\n\n### Polyfill a `localStorage` for the Server to access\n\nYou might call third-party code that accesses on `localStorage` from within your procedures.\n\nSome workers don't have access to the browser's `localStorage`, so you'll get an error.\n\nYou can work around this by specifying to swarpc localStorage items to define on the Server, and it'll create a polyfilled `localStorage` with your data.\n\nAn example use case is using Paraglide, a i18n library, with [the `localStorage` strategy](https://inlang.com/m/gerre34r/library-inlang-paraglideJs/strategy#localstorage):\n\n```js\n// In the client\nimport { getLocale } from \"./paraglide/runtime.js\";\n\nconst swarpc = Client(procedures, {\n  localStorage: {\n    PARAGLIDE_LOCALE: getLocale(),\n  },\n});\n\nawait swarpc.myProcedure(1, 0);\n\n// In the server\nimport { m } from \"./paraglide/runtime.js\";\nconst swarpc = Server(procedures);\n\nswarpc.myProcedure(async (a, b) => {\n  if (b === 0) throw new Error(m.cannot_divide_by_zero());\n  return a / b;\n});\n```\n","readmeFilename":"README.md"}