{"_id":"typescript-rpc","_rev":"29-a37d2deef71e9b37325318cbcca880b1","name":"typescript-rpc","dist-tags":{"latest":"0.1.1"},"versions":{"0.0.0":{"name":"typescript-rpc","version":"0.0.0","description":"Another attempt to a TypeScript end-to-end type safe framework.","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/cplepage/ts-rpc.git"},"author":{"name":"cplepage"},"license":"MIT","bugs":{"url":"https://github.com/cplepage/ts-rpc/issues"},"homepage":"https://github.com/cplepage/ts-rpc#readme","gitHead":"b64220fe2684a654f8a522b966a91b63a59792a9","_id":"typescript-rpc@0.0.0","_nodeVersion":"18.12.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-kkoHz+Xf5COr/Oll3WtUYO7YWHnqcejSt+AUzDCUNUT/GvSU/pQwxKnnPTZ6QrBffvCi0skqjbNgVAHjd8+axg==","shasum":"cc78e50fda6cdd62f6f17702849c638fccc86607","tarball":"https://registry.npmjs.org/typescript-rpc/-/typescript-rpc-0.0.0.tgz","fileCount":5,"unpackedSize":2465,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDr1+g0t/1GRIJAQJ61gLpvs7Uinhozsc/NtE5KngpURgIhANySwml+onmW9b0Zrob69kSW/fPV/+EuwBzCyt0fD8ri"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjygbUACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqpeQ//d8mySeyfFFIn7K5cTNSIlcAKcKohwENxYNPgiXnqkjBRYGBZ\r\nYcqUPlwzQVFyljwRyCpp73K/lzdFgSrHwMnOAhA3x3FPD6I4gw3Iu/VVpG0x\r\n/ZktCfBmAPSfkfKwc31FDyHhOLHjso83QsGazI1rS5FFZmb/bKSh2nkDDorv\r\nEBpF9UlzYzJvfrIR+APn7XvTA35AZC94Gm+4XMX2XuBpcAPhEidNIoILHEMZ\r\njsUBXc/B/eBQp+aunwySLj8c1aQFz5W8eJoGW9bZ1CRKCgRZzDNmSin14qku\r\n/lW1EFUxbPkJ71FBjIm6T00ij+bdXbHrsGmM0mMW9wn/eP5jR2Pz2YeoM/v1\r\np61QHKb60MVZlUabWUwPzNETGlry+AwRSMknYsoN0QY9QtRz7z3UoUtq7fJp\r\nrJpK7ZLK9Z7QgQE3MXIQI7GOpYjuLUh4cTOGz6ZK53+9IlF00aSGAfUP363l\r\nOzl5K+aV0huG+ZTl7brYntFYtR8qR91gcKAWA5hw1/QTJfnA/mmyUgB/caSn\r\nkkILNuLu6S+c5vVRPvFSurAAEotnXw5Go24fIo6zO1AjxFHqCLyA7i+SvcHj\r\n+MPKFMVHVqWALU98FSMJXTs9khZ83MOEYrwwKT4TOOMluJsrN3RyFnXxa+Q+\r\nl327fx3KY7mpORyRQRd6Bq5oJATUrQtEHVo=\r\n=NLy9\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"cplepage","email":"lepage.charlesphilippe@gmail.com"},"directories":{},"maintainers":[{"name":"cplepage","email":"lepage.charlesphilippe@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typescript-rpc_0.0.0_1674184404160_0.34093485671842516"},"_hasShrinkwrap":false},"0.0.1":{"name":"typescript-rpc","version":"0.0.1","description":"Another attempt to a TypeScript end-to-end type safe framework.","scripts":{"prebuild":"esbuild --format=cjs --outfile=build.js build.ts","build":"node build && tsc","prepare":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/cplepage/typescript-rpc.git"},"author":{"name":"cplepage"},"license":"MIT","bugs":{"url":"https://github.com/cplepage/typescript-rpc/issues"},"homepage":"https://github.com/cplepage/typescript-rpc#readme","devDependencies":{"@types/node":"^18.11.18","esbuild":"^0.17.3","typescript":"^4.9.4"},"exports":{"./createClient":{"require":"./createClient.cjs","import":"./createClient.mjs"},"./createHandler":{"require":"./createHandler.cjs","import":"./createHandler.mjs"}},"gitHead":"b53bdb5feb45510ead988bde9f044c863fad2a17","_id":"typescript-rpc@0.0.1","_nodeVersion":"18.12.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-sC43OPCqFsDgFBKvQ+SlIRI1unIjq+SPxmjvYK/VL91qPXgavw9fiiOcqKFmFahK2NU2jM0uwhF9cM7cP1kbsA==","shasum":"8325576598897729a6bb2556ac3087288d619dbf","tarball":"https://registry.npmjs.org/typescript-rpc/-/typescript-rpc-0.0.1.tgz","fileCount":9,"unpackedSize":11720,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF8JyXkQFQ66FRzLReA2/3CZgdR9ZYG0SC6MjpBg3geVAiB+KQg6Q7LL1/dTgjh4u7mF5CcLHCrmakZptd1iQqvDwg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjy2qHACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqcng/8C7Zezx5/x1aZHhAu1N0TBa9LKgtBdFpaKyR58EuJMNCynLWh\r\nhHQkFjAXQqo63dR4G4iWNlxUcc1xALRJFLWgZ853g99jVc4R5iozWWDQ6kHY\r\nfuKczyFk9vMuXhD9IHl9GLBhlBTKppBGxMuKBr8P0RViO/yQwTNACK0psOfM\r\nk7Wr5cXpCbJbQ7/0p7pdfA1l8EFD9k1uc2mS6zJfb243MwmTu+G1RyavWcd1\r\ndVNV4HMjaw4hmp1j8cgQ4lp5pPGrRyzRqwmJK3grziXq6gmvUMKQ8H66mouG\r\nf7v3VHOzL8YdXIo+soRWcVit0SuqJEq2Wd8JGcruurq9Wiqtp78Rz682O8+i\r\nF4ELYlLGaYYO6bokT7+zFwRWHAhU8ikal7deqXE07dcMgY/9+ggZL49KmS1a\r\n1YVfCgjJ/sroIWyLaKkm9tWGdQNWH2LQmykGpRDOg2llm/zzB1tHljU9NVJZ\r\n3tKCKfYWX0oDdK24NhSrySc40N9ved0eor6BUuhWLMWp/+BTL8RUlTmEnxeL\r\nxq3SGcM87l9xz+mgi14fek/8lngdi4zc3XCkXXE3AA/bSpzquTd0iWnFmaUe\r\nbrR6ZXLnRRLcumeiWW+kxyEiEmKyDkAx/e9QcrpNKmfUYzthHsMO7mZptpar\r\nMHEzlvE5uuMKkukPKqDRn55D/tizvhQx/YU=\r\n=XqXu\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"cplepage","email":"lepage.charlesphilippe@gmail.com"},"directories":{},"maintainers":[{"name":"cplepage","email":"lepage.charlesphilippe@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typescript-rpc_0.0.1_1674275463326_0.08674565102530396"},"_hasShrinkwrap":false},"0.0.2":{"name":"typescript-rpc","version":"0.0.2","description":"Another attempt to a TypeScript end-to-end type safe framework.","scripts":{"prebuild":"esbuild --format=cjs --outfile=build.js build.ts","build":"node build && tsc","prepare":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/cplepage/typescript-rpc.git"},"author":{"name":"cplepage"},"license":"MIT","bugs":{"url":"https://github.com/cplepage/typescript-rpc/issues"},"homepage":"https://github.com/cplepage/typescript-rpc#readme","devDependencies":{"@types/node":"^18.11.18","esbuild":"^0.17.3","typescript":"^4.9.4"},"exports":{"./createClient":{"require":"./createClient.cjs","import":"./createClient.mjs"},"./createHandler":{"require":"./createHandler.cjs","import":"./createHandler.mjs"}},"gitHead":"38455982383943871a3bdacaf7457e709fedca2a","_id":"typescript-rpc@0.0.2","_nodeVersion":"18.12.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-TB7p7q+9849jDZN/fa9gNhzEuJm7i1tXS73NHdRJ2sgDOLg/BYznzkcCnedsdOGbifWX7M65PufOpS3+naqzfA==","shasum":"928d19e4b192d45e4493a8bcb0ca4b8a3b649374","tarball":"https://registry.npmjs.org/typescript-rpc/-/typescript-rpc-0.0.2.tgz","fileCount":9,"unpackedSize":13686,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDQbgTdntMyuG2j0BqaVaX0iJ/Wm+Sv97bxmNshQWM1GQIgVOdNPIZsOBdCmVnGZFPBBtVNJGyfWwJvruNYlZ+OQak="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjy38HACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo38w//QD0aPElm9cOnGtHNh+0/dYIiVuLzlqZGpHqgR3oy9OxSDLB/\r\nYVfSqgw+p01mBnATAiar0eK8iygfeFAYg1G+P549VGmnl9pLG9REoVm42uyN\r\nq+O1y41kNOLUH9MVnfvMlEildfEaVhut1A8tpcHrVr3DoQxoU32TneS8yJFe\r\n8UhIgO5ygPpSLtJJX9urvdHrT/BP/4Yw6ySR7BQYHo0/DZRRpcNsoKSBCAnF\r\n0vw7hpCan9w0TuPqw6/+ccSNzl0Os0xljnMUTY62qQgA5Ha9jq7SLRYBzR9U\r\nI63pmDuSq006GYZkK6Mm0Zc+7beQqMWym9IbT/CVLbf7zUcgCUxTCY3q889i\r\nK05gJidGnxjPWolv+Y8qAUgegKF5vX21SL9jMAMgXRcI52SaoCcrXWOwRWrp\r\nMSRR2Og/0arND/5uFcIMIxLx2PYLbwxznm/Zgdfdk3S8xX2H3lH7dlVJgyEW\r\n5BDSbafk8GfrIXh/uXoa8shaMVversi1cC56QPuluUahftjWH0HIP7YKm9Yi\r\nNz22lrFyh1fbAw8rvs+4SX/fpdUDamcne8vs052Jg2n+C78yUyA01HhRhPFJ\r\n+yfW/4NJx4XaIQFN9rNx76C5XSLbFau0ODo6lodlzdVngVYFqPzolfYghP1p\r\nRFpsC2SIHJiUGNFQKBvs5ftf+D3sCp5XB2E=\r\n=uY0M\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"cplepage","email":"lepage.charlesphilippe@gmail.com"},"directories":{},"maintainers":[{"name":"cplepage","email":"lepage.charlesphilippe@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typescript-rpc_0.0.2_1674280711286_0.8236712250311284"},"_hasShrinkwrap":false},"0.0.3":{"name":"typescript-rpc","version":"0.0.3","description":"Another attempt to a TypeScript end-to-end type safe framework.","scripts":{"prebuild":"esbuild --format=cjs --outfile=build.js build.ts","build":"node build && tsc","prepare":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/cplepage/typescript-rpc.git"},"author":{"name":"cplepage"},"license":"MIT","bugs":{"url":"https://github.com/cplepage/typescript-rpc/issues"},"homepage":"https://github.com/cplepage/typescript-rpc#readme","devDependencies":{"@types/node":"^18.11.18","esbuild":"^0.17.3","typescript":"^4.9.4"},"exports":{"./createClient":{"require":"./createClient.cjs","import":"./createClient.mjs"},"./createHandler":{"require":"./createHandler.cjs","import":"./createHandler.mjs"}},"gitHead":"fe62b7011085445c94cf0c5c98a421f5690a0b6e","_id":"typescript-rpc@0.0.3","_nodeVersion":"18.12.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-iSWQFVvCekBMe3emZ2Ua90DgnVyc6pn32O5OTNOBT6xbdOhqedoXd4yj5lBmIYz+BUftYA8cJghvSAOk7Czfxw==","shasum":"4c60aa1255336283bab957fdb09e6ffb19993581","tarball":"https://registry.npmjs.org/typescript-rpc/-/typescript-rpc-0.0.3.tgz","fileCount":9,"unpackedSize":20382,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFDZmAfZ6SuuXl9+O7QCh1xcx46nVMDU4/njG9yCGWNfAiEA/Fqdsq1RIIJkI5NZCSD758ov63O2zJOEUsMGrjyea90="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj0DWiACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmptwA/9FlZzPzjbRrg0ERcqgL0JdowmMlQfcH5I3/ugtpzP9HZ9v6dz\r\nciEMaxeyHrT8T+fZ0rVO4Yy232TsX4LfCC2Z5Cxz4ZoveDoQrYeXJB+o3Fn5\r\nKx5PCiMCBUwV4rbObcrOQAaIIojw3mYF3zYHb4vaG8NFRSt2Ur+g86NyCYA8\r\nyor/aIE9MvepKMPge0htAGz7XPoNzPwfbKW/lrZrD5T0uJq2uKw/evuDfucZ\r\ncb3vFra8cvmUgu5mZ7Orx0dRjMM5NnPLTgxzfHyt0dpqaDM0mkPICQOV8Fcx\r\nqeEYDvo8OWzigECnakGUEPukwLHVuShIsyEWVDWKHMZwTWDirBQpFiBrwo09\r\nhU4nPPwuvOvpeAx+cxPhjolEnoDX/3BxG8ABCqfKGpah/Vcb2CZjJbowkhmf\r\nWl8I/p3e8KhM67upbVBne7ycB81dqg41HTCHR8najG3PTchlSp+wZqM/1XZj\r\n7jszHLbomYnuXkr3DtFQqbp6aD6fyGS4TKhGNIHUZgge1B8nraayNHqdu06g\r\nQUy91a8/siH+4A3yvVlsK8fGtj9Hd2r3pzcdq1lorZ6U9zP1Kja3OptiDNQc\r\n24YrMzQOa7EmnZZL18iW5/2zSI4tp5ztPHklaEWmYudzoiKhGdovm0yolxfv\r\nepnxOPEr5HuHmYO+1ijCe3I5h1drurXt3aM=\r\n=SAaf\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"cplepage","email":"lepage.charlesphilippe@gmail.com"},"directories":{},"maintainers":[{"name":"cplepage","email":"lepage.charlesphilippe@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typescript-rpc_0.0.3_1674589601954_0.7743891720971192"},"_hasShrinkwrap":false},"0.0.4":{"name":"typescript-rpc","version":"0.0.4","description":"Another attempt to a TypeScript end-to-end type safe framework.","scripts":{"prebuild":"esbuild --format=cjs --outfile=build.js build.ts","build":"node build && tsc","prepare":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/cplepage/typescript-rpc.git"},"author":{"name":"cplepage"},"license":"MIT","bugs":{"url":"https://github.com/cplepage/typescript-rpc/issues"},"homepage":"https://github.com/cplepage/typescript-rpc#readme","devDependencies":{"@types/node":"^18.11.18","esbuild":"^0.17.3","typescript":"^4.9.4"},"exports":{"./createClient":{"require":"./createClient.cjs","import":"./createClient.mjs"},"./createHandler":{"require":"./createHandler.cjs","import":"./createHandler.mjs"}},"gitHead":"42e812d1d6f4278632688991c122ba04f1f4d81a","_id":"typescript-rpc@0.0.4","_nodeVersion":"18.12.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-zk8v7VtczChJpmYruO4fgD8LSLYcW7ZKIn7wzSv7/Z989vor5O7CVYParDTgv2z3zItHQSRU4GuByhp4rYoRDA==","shasum":"9fd774fa53825706357acd3e6784648a967176b8","tarball":"https://registry.npmjs.org/typescript-rpc/-/typescript-rpc-0.0.4.tgz","fileCount":9,"unpackedSize":20746,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCVfZ1Y3MBzJRCqg496zAiDoYFMlGxwlZp37TM/dvpw7QIhAJpihfvJMjSJDHnAIJ9KmBRqw4jQtvxydMtp6DzLYTVw"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj0K8IACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqyHg/7BW03TB0s0nTDSAasSYG6eUzaDzJbp6feUiBJU7vSIGTuAGk2\r\nnrpWThQpWYMw3wucB74Bk3TALTNR7kwii0npY/RmJs12TV7nq3Q0STgdegOv\r\n8T3y6Q7CoAFBD7ghd94LVeW1KXtxvSQ0KWkvseXxr0PBUWfySYX8K8g7mDCo\r\ngTRuypBTl12ZVOYd0nvJA5eFqk/71oPli/ClwOV37teZDhabVUaM1j/icht2\r\n41dG4VcRTsNRHa1De/jsnlV2kmV78bMUljkRwjIMoyUHr/DIdrL8Dy3BF254\r\n61YPVpFVSDekUoqbLxTRMMsYZFXxPb6xXPD2fV+K/9EW+hApg4xx9W38gHHF\r\nJwXndxjwrYs7LFalOrdvOmksV4OY+cHamPgsn3/bO42fkejmEXFHz4SaqH7e\r\nbTNHnXY//xgricd7ngj98twl/K1Hl9Z0mQCsBS7XpLoWoGlZIc93bmCDh/RI\r\nI2+AjW2I9+IdmDxXPVPZggiOexQgXBUYiCnKXaOs1fx00p8Aeen3IJBLjYcU\r\nNk8/led7JxC6QMdt6+BEnVUOEZZk1arEb++rBVduKendioZWpCaVDYUXZ2Yj\r\nyjwWdE0sE9PfX+qq7BzyaFtRGt/bzmiGIF+CDca8oBnNRqu9YxTlWVlDfDUS\r\ndgEaedxCpWgTqgJZfezfhB7jQ/qfuLb1Cvs=\r\n=Z3A+\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"cplepage","email":"lepage.charlesphilippe@gmail.com"},"directories":{},"maintainers":[{"name":"cplepage","email":"lepage.charlesphilippe@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typescript-rpc_0.0.4_1674620680483_0.5762599291646107"},"_hasShrinkwrap":false},"0.0.5-test":{"name":"typescript-rpc","version":"0.0.5-test","description":"Another attempt to a TypeScript end-to-end type safe framework.","scripts":{"prebuild":"esbuild --format=cjs --outfile=build.js build.ts","build":"node build && tsc","prepare":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/cplepage/typescript-rpc.git"},"author":{"name":"cplepage"},"license":"MIT","bugs":{"url":"https://github.com/cplepage/typescript-rpc/issues"},"homepage":"https://github.com/cplepage/typescript-rpc#readme","devDependencies":{"@types/node":"^18.11.18","esbuild":"^0.17.5","typescript":"^4.9.5"},"exports":{"./createClient":{"require":"./createClient.cjs","import":"./createClient.mjs"},"./createHandler":{"require":"./createHandler.cjs","import":"./createHandler.mjs"}},"dependencies":{"fast-querystring":"^1.1.0"},"readme":"# TypeScript RPC\n\nAnother attempt to a TypeScript end-to-end type safe framework.\n\n[![Npm package version](https://badgen.net/npm/v/typescript-rpc)](https://npmjs.com/package/typescript-rpc)\n```\nnpm i typescript-rpc\n```\n\n## Autocompletion Heaven\n\n![Autocomplete in webstorm](https://files.cplepage.com/typescript-rpc/typescript-rpc-autocomplete.png)\n![Autocomplete in StackBlitz](https://files.cplepage.com/typescript-rpc/autocomplete.gif)\n\n## Usage\n\n```ts\n// server.ts\nimport createHandler from \"typescript-rpc/createHandler\";\nimport {randomUUID} from \"crypto\";\nimport * as http from \"http\";\n\n// define your api\nconst api = {\n    async hello(greeting: string) {\n        return greeting + \" World\";\n    },\n    // you can nest and regroup methods\n    foo: {\n        bar: {\n            baz: {\n                async create(item: Item) {\n                    const id = randomUUID();\n                    items.set(id, item);\n                    return id;\n                },\n                async read(id: string) {\n                    return items.get(id);\n                },\n                async update(id: string, item: Item) {\n                    items.set(id, item);\n                },\n                async delete(id: string) {\n                    items.delete(id);\n                }\n            }\n        }\n    }\n}\n\ntype Item = { attr: string }\nconst items = new Map<string, Item>();\n\n// make sure to export your api\nexport default api;\n\n// create your request handler\nconst handler = createHandler(api);\n\n// pass it to your server\nhttp.createServer(handler).listen(8000);\n```\n\n```ts\n// client.ts\n\n// import type from your api definition\nimport type api from \"./server\";\nimport createClient from \"typescript-rpc/createClient\";\n\n// create your client with \n// typeof <YOUR API DEFINITION>\nconst client = createClient<typeof api>();\n\n(async () => {\n    // wait for the client to be ready\n    await client.ready();\n\n    // make some calls!\n    const helloWorld = await client.hello(\"Hello\");\n})()\n\n// make sure to export your client and access it from anywhere!\nexport default client;\n```\n\n## Example\n\nCheckout the `examples` directory to see how to build and bundle your files into\na functional web application.\n\nor try on StackBlitz\n\n**webpack-tsc-express**\n\n[![Open in StackBlitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/edit/typescript-rpc-webpack-tsc-express)\n\n**ts-node-esbuild**\n\n[![Open in StackBlitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/edit/typescript-rpc-ts-node-esbuild)\n\n**react-todo-app**\n\n[![Open in StackBlitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/edit/typescript-rpc-react-todo-app)\n\n**auth-app**\n\n[![Open in StackBlitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/edit/typescript-rpc-auth-app)\n","readmeFilename":"README.md","gitHead":"becb6a27bd469ae3fbd5cfbb8370cfdc87073ec5","_id":"typescript-rpc@0.0.5-test","_nodeVersion":"18.13.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-uiy6xKHr38eg6tMMILRLqVnLIEvzrE/c1272nYRer6U5+yJBGp1C/olJrWCz8eZgZuTCMsx0NMYM5kZKJAjJfg==","shasum":"898d49b9ee1a6b559620b257c063af6099b6277d","tarball":"https://registry.npmjs.org/typescript-rpc/-/typescript-rpc-0.0.5-test.tgz","fileCount":9,"unpackedSize":2503437,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDb/6q7+yeV3lgb9XbrU6mghdhCZQZS/TnjfuHU+qudVwIhANUoSV4d6Y4L0upNa1jLTJUiOcYawsqq/lY2JZQ3AemY"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj2DMQACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrDtxAAm5Ld1a2Fkr///Ii74qEqwieqoowh0Lok0NrD2BkKfM/eOkzo\r\nAP1wm57BQCC6FlpflwRhXKaltjtU/dVakjMlwE+unIPLD0FqJADiRSEuRvRb\r\n/BhBEwHBU5JxC3PcaTmbUNbCoWx2bTrgTunH2i7TNDf442/7TEJpYJqxz7CE\r\n0tUFB96z7eYS/Is46ZqJN8/wdhRD7zG65dMt1NXsLstSQdrhM1tPr48lz6q3\r\nJ8/+Lu2NW/TGjpD6bfszgW6X1TLsk7yao3n1maVW9UoeaYA2jC0aWGaJnjQk\r\n26+S6EwW/+F4ct2IGNO1FVWDU9ML5IIb90L/7xaloPk6ZE8+ZaN90RWL1Cnu\r\nsHMDL48kvI4nDE6qOpojtYEccbuTyq2EBiOa5KdzpyVj2N0gAnRt7/Xgq6kw\r\n/4+tE7DdiN4A3dmDDDq/lIdvc3Z8mh6AjmUF3BfSsN93CQqN6h8cw4/FfOoV\r\nyGQmufUVVFWbjCCfldqbzhjff+JcHL83TIqwjUxYQ3TEE7nwABrUIS/0Aisi\r\naHGGZMy3TzN2jhiNx9r5Gg7I+eMUBNscdjfiQ2vpBH+ckbI2IoUn+bT7XSQf\r\nIbmsovPcy1BcDqilm1Rn4oNKzKUww0sOz6N3jg35xtpT2owAzaEXn2w9G39d\r\n/J/HLC1PIbxd9m4tk/256xILIxa37t5f08g=\r\n=GUk5\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"cplepage","email":"lepage.charlesphilippe@gmail.com"},"directories":{},"maintainers":[{"name":"cplepage","email":"lepage.charlesphilippe@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typescript-rpc_0.0.5-test_1675113232445_0.6729122534879675"},"_hasShrinkwrap":false,"deprecated":"this package has been deprecated"},"0.0.5":{"name":"typescript-rpc","version":"0.0.5","description":"Another attempt to a TypeScript end-to-end type safe framework.","scripts":{"prebuild":"esbuild --format=cjs --outfile=build.js build.ts","build":"node build && tsc","prepare":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/cplepage/typescript-rpc.git"},"author":{"name":"cplepage"},"license":"MIT","bugs":{"url":"https://github.com/cplepage/typescript-rpc/issues"},"homepage":"https://github.com/cplepage/typescript-rpc#readme","devDependencies":{"@types/node":"^18.11.18","esbuild":"^0.17.5","typescript":"^4.9.5"},"exports":{"./createClient":{"require":"./createClient.cjs","import":"./createClient.mjs"},"./createHandler":{"require":"./createHandler.cjs","import":"./createHandler.mjs"}},"dependencies":{"fast-querystring":"^1.1.0"},"readme":"# TypeScript RPC\n\nAnother attempt to a TypeScript end-to-end type safe framework.\n\n[![Npm package version](https://badgen.net/npm/v/typescript-rpc)](https://npmjs.com/package/typescript-rpc)\n```\nnpm i typescript-rpc\n```\n\n## Autocompletion Heaven\n\n![Autocomplete in webstorm](https://files.cplepage.com/typescript-rpc/typescript-rpc-autocomplete.png)\n![Autocomplete in StackBlitz](https://files.cplepage.com/typescript-rpc/autocomplete.gif)\n\n## Usage\n\n```ts\n// server.ts\nimport createHandler from \"typescript-rpc/createHandler\";\nimport {randomUUID} from \"crypto\";\nimport * as http from \"http\";\n\n// define your api\nconst api = {\n    async hello(greeting: string) {\n        return greeting + \" World\";\n    },\n    // you can nest and regroup methods\n    foo: {\n        bar: {\n            baz: {\n                async create(item: Item) {\n                    const id = randomUUID();\n                    items.set(id, item);\n                    return id;\n                },\n                async read(id: string) {\n                    return items.get(id);\n                },\n                async update(id: string, item: Item) {\n                    items.set(id, item);\n                },\n                async delete(id: string) {\n                    items.delete(id);\n                }\n            }\n        }\n    }\n}\n\ntype Item = { attr: string }\nconst items = new Map<string, Item>();\n\n// make sure to export your api\nexport default api;\n\n// create your request handler\nconst handler = createHandler(api);\n\n// pass it to your server\nhttp.createServer(handler).listen(8000);\n```\n\n```ts\n// client.ts\n\n// import type from your api definition\nimport type api from \"./server\";\nimport createClient from \"typescript-rpc/createClient\";\n\n// create your client with \n// typeof <YOUR API DEFINITION>\nconst client = createClient<typeof api>();\n\n(async () => {\n    // wait for the client to be ready\n    await client.ready();\n\n    // make some calls!\n    const helloWorld = await client.hello(\"Hello\");\n})()\n\n// make sure to export your client and access it from anywhere!\nexport default client;\n```\n\n## Example\n\nCheckout the `examples` directory to see how to build and bundle your files into\na functional web application.\n\nor try on StackBlitz\n\n**webpack-tsc-express**\n\n[![Open in StackBlitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/edit/typescript-rpc-webpack-tsc-express)\n\n**ts-node-esbuild**\n\n[![Open in StackBlitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/edit/typescript-rpc-ts-node-esbuild)\n\n**react-todo-app**\n\n[![Open in StackBlitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/edit/typescript-rpc-react-todo-app)\n\n**auth-app**\n\n[![Open in StackBlitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/edit/typescript-rpc-auth-app)\n","readmeFilename":"README.md","gitHead":"becb6a27bd469ae3fbd5cfbb8370cfdc87073ec5","_id":"typescript-rpc@0.0.5","_nodeVersion":"18.13.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-5atQz0pBiGK40/jEMl7KYJJ7Ka32r9nq/QhBDN3nxyZ5Ys0NtUxRqAGXSaco0AMNhIfcHHorzjouKGivmCP21Q==","shasum":"29e0c03d1ad344a71dfede1a0d2a3cb34feffa11","tarball":"https://registry.npmjs.org/typescript-rpc/-/typescript-rpc-0.0.5.tgz","fileCount":9,"unpackedSize":2503432,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD8uLA9sntEaGfEcteo/qZYga3LGQ8qq9wUf3Du8RTwNAIhAKZGrKmqXrD3/cA7RlLNJUd2A2+kHxkduu7MvqUXWedK"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj2DQoACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmotBxAAk3CwmoJmVQf0dGNXsMT2VqTizkrDWxzPlg1OHSRy1ohGea2R\r\nxi2lOPtCiq2iaYaxBGc5XaKugR2nSaCZPu6U/7pI4zzR24wgT+/RsmrdCMVU\r\nqfwDiDqT5mZs21wB8W/0QmmFNkhS3ezGr6SuLrXnIbZQLB90XVMKNoHY7qW6\r\nuuAlGeCZUcEs5okJoXLuT3MCH+b0sN/o1YDtbT204A57p/4C6ewDAwdBIdbd\r\nu0FlP9RqugRExZi1bX4OqOB12KbyURvz7+oT4jaJQ04ZcCwnMIyso75YOl5b\r\nmyPMsN7tTzNxtKMAJ1XByDd86+NsMi+9oKa6yJErDhF5NQhM49qqfW7FR7z2\r\nKx8TMeBRUM3zmBqPPKyvTLZUW1rU+wACG//YEiDoQVmKC75JurOmY6QXgJa8\r\nJnu+4KnFMymqorYxzzNACrIzOjrTcsHw2sTKRo1pXsvzgAlap+sPz5mHqaUr\r\nHJJXrgP/NC5+X6JPLsJ0dqBWTdgH4z4jR2UYxqfiA3FO3XAPV0msdthvNFcY\r\nNp/o3rnhb0CgFV5j3iV1OMpB/q5ln2EYY9p3t0OJbPnJwIkihfYMw2kbwdMP\r\nCu6CaoDsIpdmsxbHU+TGCH+H7PqII57/FfhuuqwjTyeoy1HOgScVRNqBJjs9\r\nJ3pzk/ENqW1APrfDzijCvGGJA47WMPYuvZw=\r\n=nvjL\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"cplepage","email":"lepage.charlesphilippe@gmail.com"},"directories":{},"maintainers":[{"name":"cplepage","email":"lepage.charlesphilippe@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typescript-rpc_0.0.5_1675113512060_0.6369060911243145"},"_hasShrinkwrap":false},"0.0.6":{"name":"typescript-rpc","version":"0.0.6","description":"Another attempt to a TypeScript end-to-end type safe framework.","scripts":{"prebuild":"esbuild --format=cjs --outfile=build.js build.ts","build":"node build && tsc","prepack":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/cplepage/typescript-rpc.git"},"author":{"name":"cplepage"},"license":"MIT","bugs":{"url":"https://github.com/cplepage/typescript-rpc/issues"},"homepage":"https://github.com/cplepage/typescript-rpc#readme","devDependencies":{"@types/node":"^18.11.18","esbuild":"^0.17.5","typescript":"^4.9.5"},"exports":{"./createClient":{"require":"./createClient.cjs","import":"./createClient.mjs"},"./createHandler":{"require":"./createHandler.cjs","import":"./createHandler.mjs"}},"dependencies":{"fast-querystring":"^1.1.0"},"gitHead":"f6cedc7ce294159e3d41b8b86f4830fb59a6364c","_id":"typescript-rpc@0.0.6","_nodeVersion":"18.13.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-06UU6Kf6EuiFeFwzUtBoyS/h0yMoIxL8My+sacFnufpiEFcSzJDjsEyvwCDIYbGhYiUW6ZFV7WbAnPtkhOe5sQ==","shasum":"aeab9db9b9d8e27c469ac31f2ea7db38f07a08e8","tarball":"https://registry.npmjs.org/typescript-rpc/-/typescript-rpc-0.0.6.tgz","fileCount":9,"unpackedSize":2504434,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCRZUb0Y8H9stAmaDasHiaCGEjEsU2985tf0pxEkUlsZgIhAPB0gewSnOhzqtEUQYp4OEReYP/lI4K1LdKO2IFcva9S"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj4rRWACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmravg//VHFNMSWJiINJrxfG23gPWq13VUDRhATZScsJ90HZFzAhRR0A\r\n6Je29C1plSGN6jrRTNRVPMJsBPr4yR4gmIgqT7ieU6NuYa6456ygu20KN75M\r\n11XPIivbs7O6iZaMqxd1w/wxBWkLK9NRliU/N66BvCiIkyBPM2tUpagv8nGc\r\nljq0j3rApB/oivTsfoZBieG01usZ3lZB/OvYgTw08llDNLT+Gidmfht+/xUp\r\nBvD6xQLrvvPVtytY6OxQjmwws6862Q61IU77AuXOz2JLuAfvXwr9FZuPmrTU\r\nabrAjWZiETrgQI0Wyjwl14elhaDr17wfUeV3gUaGzupLhTp7J7AEHdek/Vsj\r\nfc6gBcxtbD4YB54neh8/YoBtcsRQLJpAPw9GWrSNqoCQISDG6E18AYzIkvNt\r\nvJaaxAdNVyYCXL1ANuoRpQ98dCjjY+deViJWOdTgLrQ1gl6YmhJFne/xM7wg\r\nX9zVXSuwr1lYJzVIwPlTTuv6xWK8DuC91Ym8Gsnh21aaClQyldCfyv37RaKO\r\nMN4cuE5+SnedcaZIva0iMNNV1JnQobfJltD7WEsKiqHTWvgEcOfN1c0A2MlA\r\nYt/GHYDbJxHuzkM05393tAQBCqUj7u01hyN+zFhWP0ezMrD803OVOJCdZlr4\r\nKgKQlNnZ4WRwojE+km9D76It+izTB4QVvcA=\r\n=rTA0\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"cplepage","email":"lepage.charlesphilippe@gmail.com"},"directories":{},"maintainers":[{"name":"cplepage","email":"lepage.charlesphilippe@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typescript-rpc_0.0.6_1675801686440_0.5017807456355203"},"_hasShrinkwrap":false,"deprecated":"misfit"},"0.0.7":{"name":"typescript-rpc","version":"0.0.7","description":"Another attempt to a TypeScript end-to-end type safe framework.","scripts":{"prebuild":"esbuild --format=cjs --outfile=build.js build.ts","build":"node build && tsc","prepack":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/cplepage/typescript-rpc.git"},"author":{"name":"cplepage"},"license":"MIT","bugs":{"url":"https://github.com/cplepage/typescript-rpc/issues"},"homepage":"https://github.com/cplepage/typescript-rpc#readme","devDependencies":{"@types/node":"^18.11.18","esbuild":"^0.17.5","typescript":"^4.9.5"},"exports":{"./createClient":{"require":"./createClient.cjs","import":"./createClient.mjs"},"./createHandler":{"require":"./createHandler.cjs","import":"./createHandler.mjs"}},"dependencies":{"fast-querystring":"^1.1.0"},"gitHead":"7803d0e1249273eaafc438f0c660c10ff873224b","_id":"typescript-rpc@0.0.7","_nodeVersion":"18.13.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-h25x4+DBtC3DKDCWKzqD+Qi5jIym46ZXOASKkQQ082QFSAhgEPS6KxVnBWFdD1eZXw7IUifk/Y/ba/7y/PFo9w==","shasum":"574ad2e79b6d1b1a4eb3f5807f054fa9ea67ded1","tarball":"https://registry.npmjs.org/typescript-rpc/-/typescript-rpc-0.0.7.tgz","fileCount":9,"unpackedSize":2504194,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGNAPmAwStAlpgLE8rEgp+uO8ox7NxSBLVnClTf+f6+pAiB3cnIITkDR2pI4rM4zHtzMoxeUOq/xksS36mW5QiGgaQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj4vQoACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoNTRAAoRNarMT8pew6ee66+MyeRQXIivjjdhM0ERRsPXVLy76/Sd3Y\r\nafOG2JoDXupOr6fhjZKde11Yp8ojq/6EClWz9iqpAl1TA3YfbXQ5ZLD3RLfa\r\napRfEcxawh7ymeZE0Do7UX2BJ/Lm0AC0oMWX1u9VR4vlUQNhn0xixeGUTnUG\r\no87JkqnL6Ia5p7+sD/U1dlDAVzwk9Iitld5duYcE9C+VuiwKUcgkkJ7SKvHt\r\n3WB9mO52BTz1h2e/L17mDJ2NR3wojelPz7JxIY5AY7VK54MyGjkJ6c53aNkl\r\nrxubFm24PaoPrvGZ5IUGDl0IckT2ioWrquESXDuF5SGg9Zp+HXw9JADD/rx8\r\npYwq/WawasHHiT6h8UKWWWl72EvLt4XsbUu8m/0240VHMF+zDkOApEnAWxZM\r\nq2LliFwVY9Bek8C8hLAYXTMb+shroZ1sq4VDzH4KrIVLZ3adevulSvIRHyy8\r\nbYyKm2TaE/3NcJdShtRarRk9L9LSbGAZojwQEkMgtxK2bUeaFqVycZMPMDgD\r\n/lNYQyeO4UGoDJK773hAMSyBrYbkkZDCy4MLpHUcmqz7gRHFj9G+AVEKtl0/\r\n3XcK/wu6kjV5AOeNv7U75jYgDPYXzOW2J/7mj7psvPWWIYNtGFwsvOQ+g/wN\r\neSELHrmRisCZ0jxa7ePaOudbFNeiZNqAMl8=\r\n=4FaG\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"cplepage","email":"lepage.charlesphilippe@gmail.com"},"directories":{},"maintainers":[{"name":"cplepage","email":"lepage.charlesphilippe@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typescript-rpc_0.0.7_1675818024577_0.8491417716326264"},"_hasShrinkwrap":false},"0.0.10":{"name":"typescript-rpc","version":"0.0.10","description":"Another attempt to a TypeScript end-to-end type safe framework.","scripts":{"prebuild":"esbuild --format=cjs --outfile=build.js build.ts","build":"node build && tsc","prepack":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/cplepage/typescript-rpc.git"},"author":{"name":"cplepage"},"license":"MIT","bugs":{"url":"https://github.com/cplepage/typescript-rpc/issues"},"homepage":"https://github.com/cplepage/typescript-rpc#readme","devDependencies":{"@types/node":"^18.11.18","esbuild":"^0.17.5","typescript":"^4.9.5"},"exports":{"./createClient":{"require":"./createClient.cjs","import":"./createClient.mjs"},"./createHandler":{"require":"./createHandler.cjs","import":"./createHandler.mjs"}},"dependencies":{"fast-querystring":"^1.1.0"},"gitHead":"760e1b0c137eab3fe3165fdc4d3034fb3735fbd9","_id":"typescript-rpc@0.0.10","_nodeVersion":"18.13.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-UfXOBzRgpEVTXt66hn/MoB/hXp4cpSjTuA/kOwPcgSJaXNOBXQoCSQSCOTeMR+UYQr7Gb/izfmBfXMW7t3A4UA==","shasum":"92a167d73ffc6a3b131a2c8a55b40adcf5bb814f","tarball":"https://registry.npmjs.org/typescript-rpc/-/typescript-rpc-0.0.10.tgz","fileCount":9,"unpackedSize":27332,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE6aJZ1zMKNZaCVhGMEY146ies6Jw9zBnrAS+GUvLgGqAiEA3/N0quN3XajABWgznm4tKGJbI7rb4pyX5avOFoD5/4Y="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj+NAPACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoXzxAAmuGEWDgKIJxGIbjcPslq/gAbARWO80e8JqEpGnbSJBq6zhb8\r\nvG5TEgKcTP+k/F/+SL6chdAImiH4SynT0Hvwr5k6J/2upeyKzv1qku5H1yyj\r\nOAY+iRoSzydvn/dy/zvSLWftH/bV3eV8SSNnqKRFbwvcmQfOaIWixFxRYPOt\r\nWrgMuqpRoQibegydtbF7mMcuLCkDbkkXAczKdoAR0loErnuGWWsZs1tCCRPQ\r\nuCQ4ug37OupueA8NlDSAbbRthACRlPR05k7P4JMk5p6Ej9LgfFjy5dmR5hzQ\r\nCSWTH8UPPNENMQcW1xKrA4pjY8pBuGcaqomkflsw/JutFe8bVVOmwPNXjw8g\r\n/3D5RDLs/aOvain0FT4YFTnrXbKK7oZmQSSn4Idb03Gtp4iYQMBVRel4I/Rk\r\n3+Q2oR80sjj4dgYmANFaR++ex2M7XcXmzLdCrJRW3bSTodAl6mzkpRp/Erro\r\nVn94R5NHIRfUWLU2PjMLLKnLJYIbxaZBNVKyH6WNlZn1eSOxKpFpIuVx5joG\r\nUEk07GzbgIeRzUOF/4l9Ys0tHSkQNHzkHEP7CHMWpJYOnY4Pcf85o9Yv64bi\r\nataIFiu7eDfY2gTko/F2VkammLHKdYg87kdIZsInatfPdwf9OuVNiicV7IfI\r\nTBLGs7BrITWzori4RQgdVZb9JV6TLjajHlM=\r\n=jeaU\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"cplepage","email":"lepage.charlesphilippe@gmail.com"},"directories":{},"maintainers":[{"name":"cplepage","email":"lepage.charlesphilippe@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typescript-rpc_0.0.10_1677250574903_0.10015463164272131"},"_hasShrinkwrap":false},"0.0.11":{"name":"typescript-rpc","version":"0.0.11","description":"Another attempt to a TypeScript end-to-end type safe framework.","scripts":{"prebuild":"esbuild --format=cjs --outfile=build.js build.ts","build":"node build && tsc","prepack":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/cplepage/typescript-rpc.git"},"author":{"name":"cplepage"},"license":"MIT","bugs":{"url":"https://github.com/cplepage/typescript-rpc/issues"},"homepage":"https://github.com/cplepage/typescript-rpc#readme","devDependencies":{"@types/node":"^18.11.18","esbuild":"^0.17.5","typescript":"^4.9.5"},"exports":{"./createClient":{"require":"./createClient.cjs","import":"./createClient.mjs"},"./createHandler":{"require":"./createHandler.cjs","import":"./createHandler.mjs"}},"dependencies":{"fast-querystring":"^1.1.0"},"gitHead":"29d99862521359a4e934915707f5a58eb8cc0b00","_id":"typescript-rpc@0.0.11","_nodeVersion":"18.13.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-ZvHXGEd1VwiMRLsStd26EepXaOJB7OUdap2QgD2QO9A6zainS7c9MdFea/wJvXGZtTobmEdBoXWg3TZSd9Q/fw==","shasum":"f102971bc3c136b400bad3654a48280829610d74","tarball":"https://registry.npmjs.org/typescript-rpc/-/typescript-rpc-0.0.11.tgz","fileCount":9,"unpackedSize":27446,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIACL4DPjrqQLrSZO8j6EDVQPVD2DMiqOf49Lvlt3yKHRAiEA2Sjgm2Tyua7WyasSbiovvW4PscyqsYoee+4ahaqc6gI="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj/3PiACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrOSQ//fF1QVyylfMWeNz3HT/FM+u2qQpJ2DimvI55fDxp3kgRru4/I\r\nhtslumVLil0g5LKyL/kf9cB1iLrBnjxe3UPZ4482Prwp3lrlTRzvHh9kWvCz\r\nxdoAvgCqIkPSOeVbSwBTERbgaLgC5L+L2Zigw2hKwvt/Meacc09sml3kQMY3\r\nnS0iYqEfD4sDgNOJ+1ijs/7xHjawXtacwggDSHkLJWMcN32/VTdXZt9+sW7J\r\n0CNdVyqCplcWyURN0w215uAIBq3zXqChR94C+c3VCAxafOYvYlZCG/EGcsKH\r\nxKj7tTo2WaiWGrNRsiBNVgQJEu43gtHM80AKajwjNW56Yq7jBR2U2v8TwZY8\r\nHREsR+76flF04XG+O9bRwcT4+XoDjeMRCZPhH4rMuUPENX4z8GkXlPP9VN1X\r\nL4Ub21bVqFqM4xnjOwgvpHgx6rUCMLrOsY0XsV/i7+j4fDRUsSwuzCZXNonZ\r\nKFpGOpWB2B3s+MBgfqRuZtyt48+hM2vddJ221ObCBULnwFWgK98s8g7alNaX\r\nWyZXhcRfnljrAtTFPKw4UUmWiELtdrDylQzrFzce8eDfXYhu2cusqfsH4dvj\r\n3Sgl8Oh19MWYaw5wwxNyEKTqEC8sFHtgtedaoWt189GMWQUWGU21Ctux67Ua\r\nbYsdeTfSkD+hIj2T+zgNj6oDaQ7iuWyFaag=\r\n=y4l9\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"cplepage","email":"lepage.charlesphilippe@gmail.com"},"directories":{},"maintainers":[{"name":"cplepage","email":"lepage.charlesphilippe@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typescript-rpc_0.0.11_1677685730731_0.37296532958404116"},"_hasShrinkwrap":false},"0.0.12":{"name":"typescript-rpc","version":"0.0.12","description":"Another attempt to a TypeScript end-to-end type safe framework.","scripts":{"prebuild":"esbuild --format=cjs --outfile=build.js build.ts","build":"node build && tsc","prepack":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/cplepage/typescript-rpc.git"},"author":{"name":"cplepage"},"license":"MIT","bugs":{"url":"https://github.com/cplepage/typescript-rpc/issues"},"homepage":"https://github.com/cplepage/typescript-rpc#readme","devDependencies":{"@types/node":"^18.11.18","esbuild":"^0.17.5","typescript":"^4.9.5"},"exports":{"./createClient":{"require":"./createClient.cjs","import":"./createClient.mjs"},"./createHandler":{"require":"./createHandler.cjs","import":"./createHandler.mjs"}},"dependencies":{"fast-querystring":"^1.1.0"},"gitHead":"e6a0f665b575751ac9c56e4b2d2bbab96b48959f","_id":"typescript-rpc@0.0.12","_nodeVersion":"18.13.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-3cBVApGDCfcHUbyENTnb5q1euDngEHlKi0kqM+Yubl7L5R9f8v6Mhhl1pvjWR81UZ/+5CkuuDjJsfk/MascgXg==","shasum":"0856006208cca8a3cb0d93c88459307c02482f08","tarball":"https://registry.npmjs.org/typescript-rpc/-/typescript-rpc-0.0.12.tgz","fileCount":9,"unpackedSize":27478,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC0A4XBP11P0KpX7+QOLW9hsdnVLsa6ADpq4Hv/vSMJNwIhAOpkXag3vTFrcl3nXjK9bNQKo0lwbg0YGktL80ufaxAJ"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj/8qJACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoQHg//Yu8+srA5+hBEqrW+2bneETLdtTDbgOL8kvnY2m2CJhv2r2de\r\nBn6FdHEnD/wVQKWdrDNf77mn8/DQKkZHJ3aWqS6XYeUyqTTec+UzZfputVbb\r\nmkpPFOrMnPrjnauQd+xKhCbq+IVa8qJspQJvqn+UVxua5m3zEL1QrAI7Xvee\r\nbnDrxXPOuOIf/Mcy0rMdvZ9kbQ1nxJKWWKcc1LBvgzZP7vnOU+lkUHcfXi1/\r\n/19y5e2NBIJE2x/7zkyW0+4n0HPza09zVym7IUSFdiX6EZrjsWp0rOmnYXPx\r\nes9b8YQ2f+FJSlkHgN7hvDNfRLBoOtG5pepOdqFR30IJZkdoK3NOMkQF6XRw\r\niv0HxuG0uPxjZxYxoyHYveY9G71aGYQPi68JM7diNXdX5K3HwhWL2tI+wXzm\r\nFQG9JGLcxy6kWu6TqeQOonb4iTG7S4Sf69dqKpkrfiA+3b/XvjGM3h6GwemZ\r\nHLfP8UYwmfOI0S9R1zYRr8NP8wMsqWDPj5Cz++mdHMdGBmlGlmUiAzEOKaV5\r\n5R7P/xOv3Z2MUXBk6GnMo3UjGFxCIxP51UgUdnPZW2vWSMCzg8qiWcNVpmO3\r\nDZZnvkV8sNmGXE175n/3K0lCPQ3IFKEYCIy25oTXuGpo+ODP7RmjmS4ulSOo\r\nHVeehIvkVvtuouraOZnwFu0/WiP3BWdDsxc=\r\n=u0Ke\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"cplepage","email":"lepage.charlesphilippe@gmail.com"},"directories":{},"maintainers":[{"name":"cplepage","email":"lepage.charlesphilippe@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typescript-rpc_0.0.12_1677707912884_0.9574662596420647"},"_hasShrinkwrap":false},"0.0.14":{"name":"typescript-rpc","version":"0.0.14","description":"Another attempt to a TypeScript end-to-end type safe framework.","scripts":{"prebuild":"esbuild --format=cjs --outfile=build.js build.ts","build":"node build && tsc","prepack":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/cplepage/typescript-rpc.git"},"author":{"name":"cplepage"},"license":"MIT","bugs":{"url":"https://github.com/cplepage/typescript-rpc/issues"},"homepage":"https://github.com/cplepage/typescript-rpc#readme","devDependencies":{"@types/node":"^18.11.18","esbuild":"^0.17.5","typescript":"^4.9.5"},"exports":{"./createClient":{"require":"./createClient.cjs","import":"./createClient.mjs"},"./createHandler":{"require":"./createHandler.cjs","import":"./createHandler.mjs"}},"dependencies":{"fast-querystring":"^1.1.0"},"gitHead":"3525710b43a9ed20ddb32763e3145729e61d3559","_id":"typescript-rpc@0.0.14","_nodeVersion":"18.13.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-Xv0SnSL2OjLgeUCG3r6hmx58wHSPA2xGCyby334d+mL9CRhA8ZQrz+2h+G+KfSqsxh1iomeG9nzZ5f4qyErCLA==","shasum":"edeb5a21da03c4ff6c116e282dd4811d33549e26","tarball":"https://registry.npmjs.org/typescript-rpc/-/typescript-rpc-0.0.14.tgz","fileCount":9,"unpackedSize":27552,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCmwGiutBkahrvqb3X0BJ0YFrLcC5yfmJNuVj5Act4mFAIgdkZ8+cuMM9ezpPgHY/uvtumnujDLJN/vyv5TP8217/4="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkCMxzACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrg7g//T5cVigWXHetKSQhdcIoeIwDdvdZLF334CHc8psg5UDfo74Dx\r\nV6Px1teirv6aXaZfiBfBz5+QE3V8IlfDc1Cj1mXAz2VFapnrAMXNTDqiHsUm\r\n5suf/aoJ1kVXPsfy8nTKXWQbya9k83CvQdgeP6PuoEeYR9Hm0G58ki65h34l\r\n+DDx6/5GjbHY7T+foJ2U7wrAMQzB4w2diS16X4trIeIaDyY/XA7a5OrB5dS4\r\niT68//k5LHWNe6MaPncIvSLQpLjSaZfcQ2gAmnGcauQ1tgrfflKG4V4EpFR8\r\n9sCopudcOkxeOEqZ1pB6evgviTWr73fWu92oqXXFwgv8881x8fvNvm+GdyB0\r\ntPCeTziQj3eGEDt6rJcEiVHGTgHC7FR+mfKufoIW8JNwoZwPO1idqE/PDejX\r\n3Ck8bqsEvZ9VKr6uhQgq20auYEvG9k+wl7bGtmrnJ3+151F7xVsrigh10Vcq\r\nT4LpxrzRg2OKXpwG8S+1NhAiiZ6sCbSYOd61WhSAu8zKusbcwuMVN6SZakPZ\r\ndjCZOQ5pOQDBV1aSqgG6KrhKJpMpLiNSxEnHRGGlkv2CxoW04sQBNUQHnmG0\r\nUav0Cj9IuDZv+My8QJwIhxYV4Blzrtcoy+l8PwiGzkfLqC6/ApCcdsEe8PDV\r\nzwRelw84K/X0rOVF7Txt4Wy6GDwBY7glOOQ=\r\n=oNM/\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"cplepage","email":"lepage.charlesphilippe@gmail.com"},"directories":{},"maintainers":[{"name":"cplepage","email":"lepage.charlesphilippe@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typescript-rpc_0.0.14_1678298227652_0.02765561558288998"},"_hasShrinkwrap":false},"0.0.15":{"name":"typescript-rpc","version":"0.0.15","description":"Another attempt to a TypeScript end-to-end type safe framework.","scripts":{"prebuild":"esbuild --format=cjs --outfile=build.js build.ts","build":"node build && tsc","prepack":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/cplepage/typescript-rpc.git"},"author":{"name":"cplepage"},"license":"MIT","bugs":{"url":"https://github.com/cplepage/typescript-rpc/issues"},"homepage":"https://github.com/cplepage/typescript-rpc#readme","devDependencies":{"@types/node":"^18.11.18","esbuild":"^0.17.5","typescript":"^4.9.5"},"exports":{"./createClient":{"require":"./createClient.cjs","import":"./createClient.mjs"},"./createHandler":{"require":"./createHandler.cjs","import":"./createHandler.mjs"}},"dependencies":{"fast-querystring":"^1.1.0"},"gitHead":"700b8015867e57022eaeb7eaa172bf40edffde46","_id":"typescript-rpc@0.0.15","_nodeVersion":"18.13.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-rIljHuAocySX54yX2NxE4clYtEHytUtNJUlGJoiX047OkiYbvdk3ifiCmuDclNr8ygyg0DfZrMTyg2Afm9snlQ==","shasum":"0c1a2b9f33650213c20610b8aa7cdbd620761aa6","tarball":"https://registry.npmjs.org/typescript-rpc/-/typescript-rpc-0.0.15.tgz","fileCount":9,"unpackedSize":27778,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBppEs0hdz0wRCKI0Uhlv23CCjMvzwYPOPhs6ZBRIgDLAiA3s+pMnDAR3t/ucF/9RSaHNx69n5gkJvceQvgcG4nbNg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkCp6dACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoqMw//XutO0wXhn+by908puEJURr95MvLNPcldXl6SwwWMx9OTnsmx\r\nYmck6e8c2E0UL8j8QwKCUs313wLEhDL6MgrbjAKAtXnnShaO74SRxZhi03fJ\r\nQNXyEFWYJXkA/Er0T2y34lMSj4ZQkoX+2riXGucuhh2OmIghDpaoGQMbbwD2\r\nk9pOIHBt38yj/Z/Kzcgf+LLdyaaE727VA/d9Y6I8iTHs+XpaU8FtIcLel2U3\r\nkGD30mAV7dbCJzEK9XlqgCGdmdaQnqbUSikSdmkJkfx5qc5MBqBmvVY6KCbb\r\n1nCv7Ud8f3UG1z/Jf9Os4QCkypyviDtd3BM6YOu/xMHoOqyE8w3LZWf3C+0u\r\nzOrnHaVnEyB6nEdx0/gIrYQdGbBQrMgNmTuy0l4YPPJ/1hJmEkCB5wlHfC4e\r\nq80DpPyjMPXBr/0aGXa+dIHFQ+At+fp+3QqzZh5EJlmSPh++MohLFFH3YIii\r\nclygrBCvDnneowAoO4exxmVm2l9GVnTUj7oGwXjq+iN6AbPnG8yYfT5NtScb\r\nPw2xu4hda0efSu2RGPivzqZwOpXlY2J4yPJ2HJ6D0hQ0xe4l59w3I0nQVk0e\r\nXFcdh4L60I4/TFKchL7riLoZpTg8nu0pUFwFcX1RZXQ+aqbilbiH5j/TFQT4\r\ndkOcta6PjQ/oyLbu9f6bTxJn6YKLMb0Bpwg=\r\n=fEGA\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"cplepage","email":"lepage.charlesphilippe@gmail.com"},"directories":{},"maintainers":[{"name":"cplepage","email":"lepage.charlesphilippe@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typescript-rpc_0.0.15_1678417565069_0.029278838864435164"},"_hasShrinkwrap":false},"0.0.16":{"name":"typescript-rpc","version":"0.0.16","description":"Another attempt to a TypeScript end-to-end type safe framework.","scripts":{"prebuild":"esbuild --format=cjs --outfile=build.js build.ts","build":"node build && tsc","prepack":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/cplepage/typescript-rpc.git"},"author":{"name":"cplepage"},"license":"MIT","bugs":{"url":"https://github.com/cplepage/typescript-rpc/issues"},"homepage":"https://github.com/cplepage/typescript-rpc#readme","devDependencies":{"@types/node":"^18.11.18","esbuild":"^0.17.5","typescript":"^4.9.5"},"exports":{"./createClient":{"require":"./createClient.cjs","import":"./createClient.mjs"},"./createHandler":{"require":"./createHandler.cjs","import":"./createHandler.mjs"}},"dependencies":{"fast-querystring":"^1.1.0"},"gitHead":"7d580347e4212ba27d67c6fd4c0ba27b1cbae59e","_id":"typescript-rpc@0.0.16","_nodeVersion":"18.15.0","_npmVersion":"9.5.0","dist":{"integrity":"sha512-EQhQGnn4WrprHShpduqb4nQnTIIucaJzxU8juESBTA2xkpeWoWFPUkpPWprWkmAk9X9rLLdjXiNzY3IQ47RjiQ==","shasum":"1dbe081111b57c53d16d55c776f9d8963c1da7b2","tarball":"https://registry.npmjs.org/typescript-rpc/-/typescript-rpc-0.0.16.tgz","fileCount":9,"unpackedSize":28024,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDJdzN05uDzEPqIvpp2pzvCZWJh7CMVfKwKkmMcaWAH0AiEA9HLpjzRiybWdfc7QetFYUQJLcIV6JT4NddqvxuDsG/k="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkIe9uACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrZ8hAAmZ3EymCAF2fx96pl4qvz/bH4w2OULZ4aDwz8steQFXarca5K\r\nGr9dK0x3XwWAorcWnEOSxn/VxcJHYMoib7M87T/zwwI9uzr6zd6g5oAxUQTx\r\n2W8PnjlmK+bYxr6E3rD6LNaRIb1UfEyDzDtswEtTG3RGlmLpkMK0/9zNYevz\r\njgga4lOo93+45FGWa5vsJZXTEICCdS3ss3Cf6DygiDGufEyeS8AH6eDz31wI\r\n8/0uwAvKMYVcyRc8/cTizcIWr3Z08+aol8f2HVr+LFVy5vpe3nnZg2ORWzVJ\r\n7FHPVxdMAqOY7CQoISKQNY61RObkRLop/FR/BsfgM/3xGq5Bx/L0sXzk0bY7\r\nss6pRODn+dZa6Jv9aR5YVeXJIuBk158oLQ6+Kz2RDrI7AJHyWJvz4BIleBed\r\nIodrZjd7HfZF0+VD+MeBTqLHFW6hoZKmz2eUoJXaIO9HUYimX4fa7mVv5U2w\r\nx6qoGVDwkUgwdkuY56hlaUH9WBTnUH7hgWAbHvIuGIpNtmLzPAx1Mto5EqF7\r\nUAjXRmnXr8ymCIiNFYvvSELxKSy2nurgeDNf6sz5GbIY+kMGxSXtsRrHUJ1x\r\nczam8k4aTY0zhGg4wxVpbVYlyVlGMrOYzpH/f+umaV9q91/IY+CJYgXyszSb\r\nzbgHxkzuO0NqxYoA4dkl7YygYvaIobyl1xQ=\r\n=t0LX\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"cplepage","email":"lepage.charlesphilippe@gmail.com"},"directories":{},"maintainers":[{"name":"cplepage","email":"lepage.charlesphilippe@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typescript-rpc_0.0.16_1679945581923_0.7672027395717256"},"_hasShrinkwrap":false},"0.1.1":{"name":"typescript-rpc","version":"0.1.1","description":"Another attempt to a TypeScript end-to-end type safe framework.","scripts":{"prebuild":"esbuild --format=cjs --outfile=build.js build.ts","build":"node build && tsc","prepack":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/cplepage/typescript-rpc.git"},"author":{"name":"cplepage"},"license":"MIT","bugs":{"url":"https://github.com/cplepage/typescript-rpc/issues"},"homepage":"https://github.com/cplepage/typescript-rpc#readme","devDependencies":{"@types/node":"^18.11.18","esbuild":"^0.17.5","typescript":"^4.9.5"},"exports":{"./createClient":{"require":"./createClient.cjs","import":"./createClient.mjs"},"./createHandler":{"require":"./createHandler.cjs","import":"./createHandler.mjs"}},"dependencies":{"fast-querystring":"^1.1.0"},"gitHead":"73ad0749f9cf9f6f7b53ab19eb3788327522e399","_id":"typescript-rpc@0.1.1","_nodeVersion":"18.15.0","_npmVersion":"9.5.0","dist":{"integrity":"sha512-lj8+XKVXwmGKJ9tar5SiaubtxECIJXb+9icc3B5j6zPs7lNsqu79phbjBN4ZM+0hquEhvCfenghtdaOXyZWCfg==","shasum":"383b8c38fd9dc702aa49c6bca439999bb6609feb","tarball":"https://registry.npmjs.org/typescript-rpc/-/typescript-rpc-0.1.1.tgz","fileCount":9,"unpackedSize":24466,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC7bMVzHHabBjim+wQxiYcXsiWWaPqrqd1V8SvzAhMjSQIgDEkw1zdWLMhEIPiOIEVRSYUSmoJOI84rg6tIgFZ8Q1Y="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkLhY0ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpSDA/8Dk1r7MOATl0ZOjrUNhWTa2pDJh5+d2gRBZOdvKYXQUgJsLXx\r\n8YMBshlowukMSP18neJBdL3vSRSmFYCQfLTLnK7nRJqqE7aLaQhP7w4bMuxa\r\nM57b0w06+SEoWWyjnMBds8Dj6qdWSiqJENIECbsvUKZe3GvPCGObjCDcUF5M\r\nQxFiH7vPmnQfVm1un9nnNX40KVbxwIYju9K4gsko6Rj0WuUNv3HJZQJrSri3\r\nSTaXFdMW/vZTqq2dg8D5id9v0zFxELAc87kU9W9UTE2+rDArcR5ReDUFkXr+\r\nirs7XnRa1g0zdkNJPfd48AWhfBQSbgdpSbCA1ejTmROD4oLMqalbo/p+tshg\r\nXvarHr5hv1iOH2z5PqW66gtID/dPMynXN6dypj4R1VL8Qup0lOI1rPRYfpkQ\r\nJj6ucUTuKWQvq9B2cy4eyKbeYs/JiPp/vBuuVQ4bQEzCOBTSZ4aFlI7sF2zp\r\nJgV2aFTnhhr7cGZEd4jURluKbzFLBFgUBvjtzaVc3ADbLtvuHeX0D/moTPHC\r\nYgam3c3Hm3txUH3TtLDLg+p32MFg0MvYV+sX26ykLpsOr9tbauPrJQ/+/T/x\r\nx6lJ2OFaHUw4sSi3VuVlPvooGOZCYeeTE9dO6/n3IJKMM34Bkiu5K+D+yo4s\r\nLu3ultp7BNJLZ9v+z+i2sD3xC/rw/Y4ahjM=\r\n=nb4v\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"cplepage","email":"lepage.charlesphilippe@gmail.com"},"directories":{},"maintainers":[{"name":"cplepage","email":"lepage.charlesphilippe@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typescript-rpc_0.1.1_1680741940729_0.3145754119176998"},"_hasShrinkwrap":false}},"time":{"created":"2023-01-20T03:13:24.160Z","0.0.0":"2023-01-20T03:13:24.446Z","modified":"2023-04-06T00:45:54.961Z","0.0.1":"2023-01-21T04:31:03.491Z","0.0.2":"2023-01-21T05:58:31.465Z","0.0.3":"2023-01-24T19:46:42.139Z","0.0.4":"2023-01-25T04:24:40.629Z","0.0.5-test":"2023-01-30T21:13:52.845Z","0.0.5":"2023-01-30T21:18:32.308Z","0.0.6":"2023-02-07T20:28:06.813Z","0.0.7":"2023-02-08T01:00:24.861Z","0.0.8":"2023-02-24T14:09:32.065Z","0.0.9":"2023-02-24T14:42:14.675Z","0.0.10":"2023-02-24T14:56:15.031Z","0.0.11":"2023-03-01T15:48:50.870Z","0.0.12":"2023-03-01T21:58:33.065Z","0.0.14":"2023-03-08T17:57:07.914Z","0.0.15":"2023-03-10T03:06:05.220Z","0.0.16":"2023-03-27T19:33:02.127Z","0.1.0":"2023-04-05T16:07:09.626Z","0.1.1":"2023-04-06T00:45:40.924Z"},"maintainers":[{"name":"cplepage","email":"lepage.charlesphilippe@gmail.com"}],"description":"Another attempt to a TypeScript end-to-end type safe framework.","homepage":"https://github.com/cplepage/typescript-rpc#readme","repository":{"type":"git","url":"git+https://github.com/cplepage/typescript-rpc.git"},"author":{"name":"cplepage"},"bugs":{"url":"https://github.com/cplepage/typescript-rpc/issues"},"license":"MIT","readme":"","readmeFilename":""}